Dlaczego DFT zakłada, że ​​transformowany sygnał ma charakter okresowy?


10

W wielu książkach o przetwarzaniu sygnałów twierdzi się, że DFT zakłada, że ​​transformowany sygnał ma charakter okresowy (i że z tego powodu może wystąpić na przykład wyciek widmowy).

Teraz, jeśli spojrzysz na definicję DFT, po prostu nie ma takiego założenia. Jednak w artykule Wikipedii o dyskretnej transformacie Fouriera (DTFT) stwierdzono, że

Gdy wejściowa sekwencja danych ma wartość -okresową, równanie 2 można zredukować obliczeniowo do dyskretnej transformaty Fouriera (DFT)x[n]N

  • Czy to założenie wynika z DTFT?
  • W rzeczywistości, obliczając DFT, czy faktycznie obliczam DTFT przy założeniu, że sygnał jest okresowy?

Ponieważ DFT X [k] z x [n] jest pierwszym okresem z dyskretnej serii Fouriera (DFS) sygnału okresowego xp [n], którego pierwszy okres jest przyjmowany jako x [n]
Fat32

1
wygląda na to, że będę musiał napisać odmienną odpowiedź na to pytanie. DFT zakłada, że ​​transformowany sygnał jest okresowy, ponieważ dopasowuje zestaw funkcji podstawowych do transformowanego sygnału, z których wszystkie są okresowe.
Robert Bristol-Johnnson

1
DFT jest po prostu uproszczonym wyrażeniem DFS, dlatego też z założenia istnieje okresowe założenie.
lxg

Odpowiedzi:


12

Istnieje już kilka dobrych odpowiedzi, ale nadal mam ochotę dodać jeszcze jedno wyjaśnienie, ponieważ uważam ten temat za niezwykle ważny dla zrozumienia wielu aspektów cyfrowego przetwarzania sygnałów.

Przede wszystkim należy zrozumieć, że DFT nie „zakłada” okresowości przetwarzanego sygnału. DFT jest po prostu stosowane do skończonego sygnału o długości a odpowiednie współczynniki DFT są zdefiniowane przezN

(1)X[k]=n=0N1x[n]ej2πnk/N,k=0,1,,N1

Z (1) jest oczywiste, że brane są pod uwagę tylko próbki w przedziale , więc nie zakłada się okresowości. Z drugiej strony współczynniki można interpretować jako współczynniki Fouriera okresowej kontynuacji sygnału . Można to zobaczyć z odwrotnej transformacjix[n][0,N1]X[k]x[n]

(2)x[n]=k=0N1X[k]ej2πnk/N

który oblicza prawidłowo w przedziale , ale także oblicza swoje okresowe kontynuację poza tym przedziałem, ponieważ po prawej stronie (2) jest okresowa o okresie . Ta właściwość jest nieodłączną częścią definicji DFT, ale nie musi nam przeszkadzać, ponieważ zwykle interesuje nas tylko przedział .x[n][0,N1]N[0,N1]

Biorąc pod uwagę DTFT z x[n]

(3)X(ω)=n=x[n]ejnω

możemy zobaczyć porównując (3) z (1), że jeśli x[n]jest skończoną sekwencją w przedziale[0,N1], współczynniki DFT X[k] są próbkami DTFT X(ω):

(4)X[k]=X(2πk/N)

Tak więc jednym zastosowaniem DFT (ale z pewnością nie jedynym) jest obliczenie próbek DTFT. Ale działa to tylko wtedy, gdy analizowany sygnał ma skończoną długość . Zwykle ten sygnał o skończonej długości jest konstruowany przez okienkowanie dłuższego sygnału. I to właśnie okienkowanie powoduje wyciek widmowy.

Jako ostatnią uwagę należy zauważyć, że DTFT okresowej kontynuacji x~[n] skończonej sekwencji x[n] można wyrazić jako współczynniki DFT wynoszące x[n]:

(5)x~[n]=k=x[nkN]
(6)X~(ω)=2πNk=X[k]δ(ω2πk/N)

EDYCJA: Fakt, żex~[n] i X~(ω)podane powyżej są pary transformacji DTFT, które można przedstawić w następujący sposób. Pierwsza uwaga, że ​​DTFT grzebienia impulsowego z czasem jest grzebieniem Diraca:

(7)k=δ[nkN]2πNk=δ(ω2πk/N)

Sekwencja x~[n] można zapisać jako splot x[n] z grzebieniem impulsowym:

(8)x~[n]=x[n]k=δ[nkN]

Ponieważ splot odpowiada zwielokrotnieniu w domenie DTFT, DTFT X~(ω) z x~[n] jest mnożony przez X(ω) z grzebieniem Dirac:

(9)X~(ω)=X(ω)2πNk=δ(ω2πk/N)=2πNk=X(2πk/N)δ(ω2πk/N)

Łączenie (9) z (4) ustanawia wynik (6).


strzałka w dół tej odpowiedzi z tego samego powodu, dla którego mam najnowszą odpowiedź @ hotpaw2. w tym stwierdzeniu: „Z (1) jest oczywiste, że tylko próbkix[n] w przedziale czasowym [0,N1]są brane pod uwagę, więc nie zakłada się okresowości. ” wniosek nie wynika z przesłanki.
Robert Bristol-Johnson

4
@ robertbristow-johnson: Tak. Daj miNkolejne próbki, a ja dam wam DFT. Nie muszę zakładać niczego o sygnale spoza zakresu[0,N1], nawet jego istnienie. To jedyna rzecz, o której twierdzę w tym zdaniu i jest to oczywiście prawda. Do obliczenia DFT nie muszę nic wiedzieć oprócz wartości w interwale[0,N1]. Nie jestem pewien, jak mógłbyś źle zrozumieć lub źle odczytać moje oświadczenie. Jeśli jest to kwestia sformułowania, chętnie wyjaśnię moje zdanie, ale pod względem treści jest to tak naprawdę banalne.
Matt L.

4
przeczytaj drugą odpowiedź poniżej i moją odpowiedź w drugim wątku. nie chodzi o to , co zakładaszx[n] na zewnątrz 0nN1. chodzi o to, co „zakłada” transformacja (jeśli wolno nam trochę antropomorfizować)x[n] na zewnątrz 0nN1. możemy dowiedzieć się, co zakłada transformacja, gdy wywołujemy operację w jednej domenie, która przesuwa drugą domenę o liczbę całkowitą.
Robert Bristol-Johnson

@MattL. (9) powinien przeczytać
=2πNk=X[k]δ(ω2πk/N)
zamiast
=2πNk=X(2πk/N)δ(ω2πk/N)
jomegaA

@jomegaA: Nie w obu przypadkach. Jak stwierdzono w ostatnim zdaniu mojej odpowiedzi, końcowy wynik (6) kończy się na połączeniu (9) z (4), więc oczywiścieX[k]=X(2πk/N), ale w (9) jest pochodną DTFT X(ω). I dotyczące współczynnika skalowania2π/N, zdecydowanie musi tam być. Nie myl wyrażeń za pomocąω i f, mają różne współczynniki skalowania.
Matt L.

8

Wywodzi się z definicji sygnału w dziedzinie czasu:

x[n]=k=0N1X[k]e2πinkN

Z definicji widać to x[n]=x[n+N].
Z drugiej strony DFT doskonale rekonstruuje N próbek sygnału.
Można zatem stwierdzić, że zakłada on okresową kontynuację tego.

Innym punktem widzenia byłoby spojrzenie na DFT jako skończoną dyskretną serię Fouriera (tak naprawdę, spójrz na dyskretną serię Fouriera - DFS ), która oczywiście wskazuje, że sygnał jest okresowy (skończone sumowanie sygnałów z kropkąT jest sygnałem, który ma kropkę T).


2
Nie rozumiem, skąd pochodzi definicja.
user10839,

1
@ user10839: Po prostu oceń x[n+N] i zobaczysz, że to się równa x[n]. Jak wskazano w odpowiedzi, DFT jest tylko serią Fouriera sygnału w dziedzinie czasu. Skończona długość sygnału w dziedzinie czasu jest uważana za okres podstawowy.
Matt L.,

@ user10839, wystarczy podłączyć go do równania. Wykładnik można zdefiniować za pomocą funkcji Cosinus i Sinus, które jak widać mają okresnkN.
Royi

1
DFT nie jest DFS. Jest to pedantyczne, ale DFT daje współczynniki serii Fouriera. Należy zauważyć, że DFT jest jak każda inna transformacja liniowa. To mnożenie macierzy. Matryca jest ortonormalna, co czyni ją ładną. Można również wykazać, że wyjściowe równe współczynniki odpowiadającego rozszerzenia danych szeregu Fouriera, ale transformata Fouriera nie jest szeregiem Fouriera (niedopasowanie typu: p).
thang

@thang, nie mam pojęcia, co masz na myśli. DFT to DFS. Oni są tacy sami. Łatwo to zauważyć. Zwróć uwagę, to jest dyskretna seria Fouriera, a nie seria Fouriera (z całkami). Zajrzyj tutaj en.wikipedia.org/wiki/Discrete_Fourier_series i zobacz, że to DFT.
Royi

5

To niepotrzebne (i często fałszywe) założenie. DFT jest tylko podstawową transformacją skończonego wektora.

Wektory podstawowe DFT są po prostu fragmentami nieskończenie rozszerzalnych funkcji okresowych. Ale nie ma nic z natury okresowego w danych wejściowych lub wynikach DFT, chyba że rozszerzysz wektory podstawowe poza otwór DFT. Wiele form analizy sygnału nie wymaga żadnego rozszerzenia ani założeń poza próbkowanym oknem lub skończonym wektorem danych.

Można przyjąć, że wszelkie artefakty „wycieku” pochodzą ze splotu domyślnego prostokątnego okna z sygnałem, który nie jest okresowy lub ma nieznaną okresowość lub stacjonarność. Ma to o wiele większy sens przy analizie nakładających się okien FFT, gdzie każde założenie okresowości poza jednym oknem DFT lub FFT może być niezgodne z danymi w innych oknach.

Okresowość może sprawić, że matematyka odnosząca się do DFT do DTFT będzie bardziej zrozumiała. Ale jakikolwiek związek z DTFT może, ale nie musi być konieczny, kiedy faktycznie używa się FFT do przetwarzania sygnału (w zależności od tego, jakie dokładnie właściwości transformaty Fouriera są potrzebne do dalszej analizy metody przetwarzania).


strzałka w dół z tego samego powodu, co strzałka w dół Twojej najnowszej odpowiedzi na ten temat.
Robert Bristol-Johnnson

5

Ok, moja odpowiedź będzie nieco inna niż inne odpowiedzi. moja odpowiedź akceptuje przesłankę pytania, a nie zaprzecza przesłance pytania.

powodem, dla którego DFT „przyjmuje” sygnał wejściowy (sygnał do transformacji, co, jak zakładam, OP oznacza „sygnał transformowany”), jest okresowy, ponieważ DFT dopasowuje zbiór podstawowych funkcji do tego sygnału wejściowego, z których wszystkie są okresowe.

rozważ inny zestaw podstawowych funkcji:

gk(u)uk0k<N

i dane N próbki wejściowe:

x[n]0n<N

możemy dopasować liniową sumę tych podstawowych funkcji gk(n) do sekwencji wejściowej

x[n]=k=0N1X[k]gk(n)=k=0N1X[k]nk

z rozsądnym wyborem współczynników X[k]. obliczanie wszystkichX[k] wymaga rozwiązania N równania liniowe z Nnieznane. możesz użyć do tego eliminacji Gaussa .

z N prawidłowe wartości dla X[k] dla 0kN1, możemy upewnić się, że suma tych funkcji mocy (która jest an (N1)wielomian rzędu trzeciego) oceni dokładnie x[n] dla każdego n takie, że 0nN1.

co teraz, jeśli użyjesz tego podsumowania, aby wyjść poza przedział 0nN1? możesz to ocenić dla każdego n. zauważysz, że zachowanie tej funkcji będzie takie jak(N1)wielomian rzędu, ponieważ taki jest. dlan wystarczająco duża, tylko najwyższa moc o niezerowym współczynniku wyznaczy trend ekstrapolacji x[n].

więc teraz z DFT dopasowujemy inny zestaw podstawowych funkcji do naszej sekwencji wejściowej:

gk(u)1Ne+j2πku/N0k<N

x[n]=k=0N1X[k]gk(n)=1Nk=0N1X[k]e+j2πnk/N

i współczynniki, X[k], można rozwiązać i są to:

X[k]=n=0N1x[n] ej2πnk/N

umieszczenie tego 1Njest kwestią konwencji. umieszczam to tam, gdzie większość literatury mówi1Nczynnik. można go usunąć zx[n] równanie i wstawić do X[k]zamiast tego równanie. lub „połowa” (1N) można umieścić za pomocą obu równań. to tylko kwestia konwencji.

ale tutaj dopasowujemy zestaw funkcji bazowych, które są okresowe z kropką N do oryginału x[n]. więc nawet jeślix[n] pochodzi z dłuższej sekwencji nie był okresowy, DFT bierze to pod uwagę x[n]jest sumą szeregu funkcji bazowych, z których każda jest okresowa z kropkąN. jeśli dodasz kilka funkcji okresowych, wszystkie z tym samym okresem, suma musi być również okresowa z tym samym okresem.


dla nieco większej polemiki, gdzie kwestionuję pogląd, że DFT niekoniecznie okresowo rozszerza przekazywane do niego dane, proszę spojrzeć na poprzednią odpowiedź ode mnie . wolałbym tego tutaj nie powtarzać.
Robert Bristol-Johnnson

1

DFT jest dyskretne. DTFT jest ciągły. Możemy uzyskać DFT z DTFT, próbkując go z ciągiem impulsów we właściwym okresie, co w rzeczywistości jest równe pomnożeniu go z ciągiem impulsów. Mnożenie w dziedzinie transformacji jest równe splotowi w dziedzinie czasu dyskretnego, co implikuje okresowość sygnału.


DTFT jest ciągły? Dlaczego?
jojek

2
Wynik DTFT jest ciągły (w częstotliwości).
Deve

Rzeczywiście - dlatego należy wyraźnie to stwierdzić, aby uniknąć nieporozumień i podać odpowiednie równania.
jojek

@jojek To prawda, myślę też, że odpowiedź ta mogłaby zostać poprawiona przez niektóre równania
Deve

1
Wkrótce dodam więcej szczegółów.
uczeń

0

Tylko DFT jest praktyczny w dyskretnym świecie cyfrowym ze względu na okresowe założenia w obu domenach. (Jeśli tak to nazwiesz.) Ponieważ nieokresowy sygnał w jednej domenie powoduje ciągły sygnał w drugiej, a dyskretny sygnał można przechowywać tylko w pamięci cyfrowej. Musisz więc założyć, że sygnały są okresowe w obu domenach, aby były dyskretne w obu domenach.

Podczas obliczania DTFT otrzymujesz ciągły sygnał w dziedzinie częstotliwości jako sygnał wyjściowy.
Nie sądzę, abyś zastosował tę samą procedurę, gdy obliczasz DFT w praktyce. Kiedy faktycznie obliczysz zarówno DTFT, jak i DFT, zrozumiesz, że oba obliczenia transformacji to różne historie.


0

Ponieważ sygnał jest okresowy, przesunięty w czasie sygnał nie zmienia bezwzględnej wielkości w dziedzinie częstotliwości.

X[k]=k=0N.-1x[n]mi2)πjankN.

mi-2)πjarekN.X[k]=k=0N.-1x[n-re]mi2)πjankN.mi-2)πjarekN.

Nawiasem mówiąc, nic nie stoi na przeszkodzie, aby wziąć FFT sygnału nieokresowego, ale nie ma praktycznego zastosowania, jeśli żadna z transformacji nie działa.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.