Jaki efekt ma opóźnienie w dziedzinie czasu w dziedzinie częstotliwości?


21

Jeśli mam sygnał, który jest ograniczony czasowo, powiedzmy sinusoidę, która trwa tylko sekund, i biorę FFT tego sygnału, widzę odpowiedź częstotliwościową. W tym przykładzie byłby to skok przy głównej częstotliwości sinusoidy.T

Teraz powiedzmy, że biorę ten sam sygnał czasu i opóźniam go o stałą czasową, a następnie biorę FFT, jak to się zmienia? Czy FFT jest w stanie przedstawić to opóźnienie?

Rozumiem, że opóźnienie czasowe reprezentuje zmianę w dziedzinie częstotliwości, ale trudno mi określić, co to właściwie oznacza .exp(jωt)

W praktyce, czy dziedzina częstotliwości jest odpowiednim miejscem do określenia opóźnienia czasowego między różnymi sygnałami?


1
To zależy od tego, co masz na myśli przez FFT. Powiedz, że twój oryginalny sygnał miał próbek czasu. Załóżmy, że opóźnienie wynosi 100 próbek. Więc teraz masz N + 100 próbek, przy czym pierwsze 100 to 0 . Czy obliczasz FFT pierwszych N próbek (tak samo jak poprzednio)? z N + 100 próbek? z ostatnich N z N + 100 próbek? Odpowiedź będzie zależeć od tego, co masz na myśli przez FFT ...N100N+1001000NN+100NN+100
Dilip Sarwate,

1
@Dipip Szukam bardziej ogólnej odpowiedzi. Być może pomocne byłoby wyjaśnienie, co zmieniłoby się w tych scenariuszach?
galamina

1
Jeśli przekażesz ostatnie z N + 100 próbek do podprogramu FFT N- punktowego, otrzymasz taką samą FFT, jak wcześniej. Bez różnicy. Jeśli przekażesz pierwszą N z N + 100 próbek (przy pierwszych 100 próbkach równych 0 ) do podprogramu FFT z punktami N , otrzymasz rzeczy, które są trudne do interpretacji. Przeczytaj uważnie odpowiedź @JasonR, która mówi ci, że jeśli pierwsze 100 przesunięć, zobaczysz opóźnienie odzwierciedlone w fazie próbek. NN+100NNN+1001000N100 próbek zostanie wypełnionych z twoich danych cyklicznie lub cyklicznie
Dilip Sarwate

Odpowiedzi:


21

Dyskretnej transformaty Fouriera (DFT) , powszechnie realizowane przez szybkiej transformaty Fouriera (FFT) , mapy sekwencji skończonej długości dyskretnych próbek w dziedzinie czasu w sekwencji równa długości próbek w dziedzinie częstotliwości. Próbki w dziedzinie częstotliwości są ogólnie liczbami zespolonymi; reprezentują współczynniki, które można zastosować w ważonej sumie złożonych funkcji wykładniczych w dziedzinie czasu do odtworzenia oryginalnego sygnału w dziedzinie czasu.

Te liczby zespolone reprezentują amplitudę i fazę związane z każdą funkcją wykładniczą. Zatem każdą liczbę w sekwencji wyjściowej FFT można interpretować jako:

X[k]=n=0N1x[n]ej2πnkN=Akejϕk

Możesz to zinterpretować w następujący sposób: jeśli chcesz zrekonstruować x [n], sygnał, od którego zacząłeś, możesz wziąć szereg złożonych funkcji wykładniczych , waż każdyX x[k]=Akejϕki zsumuj je. Wynik jest dokładnie równy (z dokładnością liczbową)x[n]ej2πnkN,k=0,1,,N1X[k]=Akejϕkx[n] . To tylko oparta na słowach definicja odwrotnego DFT.

Tak więc, mówiąc na twoje pytanie, różne smaki transformaty Fouriera mają tę właściwość, że opóźnienie w dziedzinie czasu odwzorowuje przesunięcie fazowe w dziedzinie częstotliwości. W przypadku DFT ta właściwość to:

x [ n - D ] e - j 2 π k D

x[n]X[k]
x[nD]ej2πkDNX[k]

To znaczy, jeśli opóźnisz sygnał wejściowy o próbki , wówczas każda wartość zespolona w FFT sygnału jest mnożona przez stałą e - j 2 π k DDej2πkDN . Często zdarza się, że ludzie nie zdają sobie sprawy, że wyniki DFT / FFT są wartościami złożonymi, ponieważ często są one wizualizowane tylko jako wielkości (lub czasami jako wielkość i faza).

x[n]DDx[n]x[n]D


1

Galamina,

Oznacza to po prostu, że w wektorze FFT będzie przesunięcie fazowe. Kiedy FFT (prawdziwy) sygnał, twoja odpowiedź będzie złożona, będziesz miał prawdziwą i wymyśloną część. Jeśli wziąłeś ich fazę (inverse_tangent (imag / real)), to wyświetli wszystkie fazy częstotliwości. Sposób, w jaki różnią się ich fazy, jeśli nie miałeś opóźnienia, jest bezpośrednio związany z opóźnieniem, które masz w czasie.

(W Matlabie możesz również uzyskać fazę po prostu „kąt (fft_result)”).

Nawiasem mówiąc, jeśli wykonasz korelację sygnału z opóźnieniem i bez opóźnienia i wybierzesz szczyt, możesz uzyskać opóźnienie w ten sposób. W domenie freq odejmuje wszystkie fazy twojego sygnału bez opóźnienia, od całego sygnału z opóźnieniem i przyjmuje średnią.


2
W tej odpowiedzi jest zbyt wiele rzeczy, które nie zostały powiedziane i nie zostały określone. Mohammad zasadniczo zakłada cykliczne przesunięcie danych, nie mówiąc o tym. Zobacz odpowiedź (zredagowaną) @ JasonR, aby dokładnie zapoznać się z tym punktem, a mój komentarz do głównego pytania mówi, że istnieje wiele sposobów korzystania z FFT i wszystkie dają różne wyniki
Dilip Sarwate

@DilipSarwate ma rację, zakłada to cykliczne przesunięcie danych. Jak zauważył, w FFT są subtelności oparte na wektorze wejściowym.
Spacey,

@gallamine, mogę zapytać, co się wektory danych wygląda, exmaple: - SIGNAL 1: [someZeros, sygnał, someZeros] - SIGNAL2: [someDifferentNumberOfZeros, sygnał, someDifferentNumberOfZeros]
Spacey

1

sin(ωt)ω


Cześć Aman. Witamy w Signals.SE. Czy możesz poświęcić trochę czasu i sformatować swoją odpowiedź? Mamy włączoną funkcję MathJax , co zwykle preferujemy do równań. Zrobiłem szybką częściową edycję, która zawiera kilka przykładów, jeśli wcześniej go nie używałeś. Dziękujemy za Twój wkład i jeszcze raz witamy na stronie!
Datageist
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.