Załóżmy, że chcemy interpolować sygnał okresowy z parzystą liczbą próbek (np. N = 8) poprzez wypełnianie zerami w dziedzinie częstotliwości.
Niech DFT X=[A,B,C,D,E,F,G,H]
teraz dopiszmy go do 16 próbek, aby dać Y
. Każdy przykład podręcznika i samouczek online, który widziałem, wstawia zera przy dawaniu .
(Następnie jest interpolowany sygnał).[Y4...Y11]
Y=[2A,2B,2C,2D,0,0,0,0,0,0,0,0,2E,2F,2G,2H]
y = idft(Y)
Dlaczego nie zamiast tego użyć
Y=[2A,2B,2C,2D,E,0,0,0,0,0,0,0,E,2F,2G,2H]
?
O ile mogę powiedzieć (moja wiedza matematyczna jest ograniczona):
- Minimalizuje całkowitą moc
- Zapewnia, że jeśli
x
jest wyceniony, to tak samo jesty
y
nadal przecina sięx
we wszystkich punktach próbki, zgodnie z wymaganiami (myślę, że dotyczy to dowolnegop
miejscaY=[2A,2B,2C,2D,pE,0,0,0,0,0,0,0,(2-p)E,2F,2G,2H]
)
Dlaczego więc nigdy tak się nie dzieje?
Edycja : x
niekoniecznie jest wyceniana w wartościach rzeczywistych lub ograniczona w paśmie.
dft
interpolation
zero-padding
finnw
źródło
źródło
Odpowiedzi:
Spójrzmy na częstotliwości pojemników w twoim 8-punktowym DFT:
Na pierwszy rzut oka nie widzę problemu z twoim podejściem, ponieważ nie jest jasne, czy należy umieścić w koszu skojarzonym z czy .E π −π
Na stronie Juliusza O. Smitha III stwierdza warunek:
A jego przykład dotyczy nieparzystego , co pozwala uniknąć problemu.N
Nie jestem pewien, czy jest to wymagane, ale oto pełne odniesienie do pracy Juliusa:
Smith, JO Mathematics of Discrete Fourier Transform (DFT) with Audio Applications, drugie wydanie, http://ccrma.stanford.edu/~jos/mdft/ , 2007, książka online, dostęp 28 września 2011 r.
źródło
Istnieje wiele sposobów interpolacji danych. Moim zdaniem interpolacja oznacza, że „rysujesz” linie między niektórymi punktami danych. Można to zrobić na wiele sposobów. Jednym typem interpolacji, który jest przydatny w DSP (szczególnie w wielorakim DSP), jest „interpolacja pasmowa”. Jeśli google, otrzymasz wiele interesujących i przydatnych trafień. To, co proponujesz, nie jest interpolacją bez ograniczeń. W „upsamplowanym” x masz komponenty częstotliwości nieobecne w oryginalnym x.
Edycja (za długa, aby zmieściła się w komentarzu):
Istnieje dość znacząca różnica między twoją konstrukcją, zaczynając od a przykładem w podanym przez ciebie odnośniku.X=[A,B,C,D,E,F,G,H]
Biorąc pod uwagę prawdziwy wkład
Próbkowanie w górę o współczynnik 2 dla wejścia pełnopasmowego. W takim przypadku próbkowanie w górę można wykonać, umieszczając najpierw zera w przeplatanym wejściu (to znaczyx0,0,x1,0,... 0−π/2 π/2−π
W praktyce jednak wystąpią pewne zniekształcenia, ponieważ filtr ceglany nie jest realistyczny. Praktyczny filtr może tłumić / usuwać częstotliwości na wejściu lub pozostawić niektóre komponenty częstotliwości na obrazie w sygnale o podwyższonej częstotliwości próbkowania. Lub filtr może kompromis między nimi. Myślę, że twoja konstrukcja w dziedzinie częstotliwości również odzwierciedla ten kompromis. Te dwa przykłady reprezentują dwie różne opcje:
Jeśli sygnał wejściowy jest ograniczony pasmem poniżej częstotliwości nyquista, jak w twoim dokumencie, problem znika.
źródło