Wie wirkt sich eine Verzögerung im Zeitbereich im Frequenzbereich aus?


21

Wenn ich ein zeitlich begrenztes Signal habe, sagen wir eine Sinuskurve, die nur Sekunden dauert , und ich nehme die FFT dieses Signals, sehe ich den Frequenzgang. Im Beispiel wäre dies eine Spitze bei der Hauptfrequenz der Sinuskurve.T

Sagen wir jetzt, ich nehme das gleiche Zeitsignal und verzögere es um eine Zeitkonstante und nehme dann die FFT. Wie ändern sich die Dinge? Kann die FFT diese Zeitverzögerung darstellen?

Ich erkenne, dass eine Zeitverzögerung eine -Änderung im Frequenzbereich darstellt, aber es fällt mir schwer zu bestimmen, was das eigentlich bedeutet .exp(jωt)

Ist der Frequenzbereich praktisch ein geeigneter Ort, um die Zeitverzögerung zwischen verschiedenen Signalen zu bestimmen?


1
Es kommt darauf an, was Sie mit FFT meinen. Angenommen, Ihr ursprüngliches Signal hatte Zeitabtastwerte. Angenommen, die Verzögerung beträgt Abtastwerte. So , jetzt haben Sie Proben mit den ersten ist . Berechnen Sie die FFT der ersten Abtastwerte (wie zuvor)? der Proben? der letzten der Proben? Die Antwort hängt davon ab, was Sie mit FFT meinen ...N100N+1001000NN+100NN+100
Dilip Sarwate

1
@ Dilip Ich suche nach einer allgemeineren Antwort. Vielleicht wäre eine Erklärung hilfreich, was sich in diesen Szenarien ändern würde?
Gallamine

1
Wenn Sie die letzten der Abtastwerte an Ihre Punkt-FFT-Subroutine übergeben, erhalten Sie dieselbe FFT wie zuvor. Kein Unterschied. Wenn Sie die ersten der Abtastwerte (wobei die ersten Abtastwerte ) an Ihre Punkt-FFT-Subroutine übergeben, erhalten Sie Dinge, die schwierig zu interpretieren sind. Lesen Sie die Antwort von @JasonR sorgfältig durch. Sie erfahren, dass sich die Verzögerung in der Phase der Abtastungen widerspiegelt , wenn die ersten Abtastungen zirkular oder zyklisch aus Ihren Daten gefüllt werden . NN+100NNN+1001000N100
Dilip Sarwate

Antworten:


21

Die diskrete Fouriertransformation (DFT) , die üblicherweise durch die schnelle Fouriertransformation (FFT) implementiert wird , bildet eine Sequenz endlicher Länge von diskreten Zeitdomänenabtastwerten in eine Sequenz gleicher Länge von Frequenzdomänenabtastwerten ab. Die Abtastwerte im Frequenzbereich sind im Allgemeinen komplexe Zahlen; Sie stellen Koeffizienten dar, die in einer gewichteten Summe komplexer Exponentialfunktionen im Zeitbereich verwendet werden können, um das ursprüngliche Zeitbereichssignal zu rekonstruieren.

Diese komplexen Zahlen stellen eine Amplitude und Phase dar , die jeder Exponentialfunktion zugeordnet sind. Somit kann jede Zahl in der FFT-Ausgabesequenz wie folgt interpretiert werden:

X[k]=n=0N-1x[n]e-j2πnkN=EINkejϕk

Sie können dies folgendermaßen interpretieren: Wenn Sie x [n], das Signal, mit dem Sie begonnen haben, rekonstruieren möchten, können Sie eine Reihe komplexer Exponentialfunktionen , gewichte jedes mitX[k]=Akejϕkund summiere sie. Das Ergebnis ist genau gleich (mit numerischer Genauigkeit) zux[n]. Dies ist nur eine wortbasierte Definition der inversen DFT.ej2πnkN,k=0,1,,N-1X[k]=EINkejϕkx[n]

In Bezug auf Ihre Frage haben die verschiedenen Aromen der Fourier-Transformation die Eigenschaft, dass eine Verzögerung im Zeitbereich einer Phasenverschiebung im Frequenzbereich zugeordnet wird. Für die DFT ist diese Eigenschaft:

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

x[n]X[k]
x[n-D]e-j2πkDNX[k]

Das heißt, wenn Sie Ihr Eingangssignal um Abtastwerte verzögern , wird jeder komplexe Wert in der FFT des Signals mit der Konstanten e - j 2 π k D multipliziertD . Es ist üblich, dass Menschen nicht erkennen, dass die Ausgaben der DFT / FFT komplexe Werte sind, da sie oft nur als Größen (oder manchmal als Größen und Phasen) dargestellt werden.e-j2πkDN

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


1

Gallamin,

Dies bedeutet einfach, dass es in Ihrem FFT-Vektor einen Phasenversatz gibt. Wenn Sie Ihr (reales) Signal weiterleiten, ist Ihre Antwort komplex, sodass Sie einen Real- und einen Imaginärteil haben. Wenn Sie ihre Phase genommen haben (inverse_tangent (imag / real)), werden alle Phasen der Frequenzen angezeigt. Die Art und Weise, wie sich ihre Phasen unterscheiden, wenn Sie keine Verzögerung hatten, hängt direkt von der Verzögerung ab, die Sie in der Zeit haben.

(In matlab können Sie die Phase auch einfach durch "angle (fft_result)" ermitteln.)

Übrigens, wenn Sie eine Korrelation Ihres Signals mit Verzögerung und ohne Verzögerung durchführen und die Spitze auswählen, können Sie die Verzögerung auf diese Weise erhalten. Im Frequenzbereich werden alle Phasen Ihres Signals ohne Verzögerung von allen Signalen mit Verzögerung subtrahiert und der Durchschnitt gebildet.


2
In dieser Antwort sind zu viele Dinge ungesagt und nicht spezifiziert. Mohammad geht im Wesentlichen von einer zirkulären Verschiebung der Daten aus, ohne es zu sagen. Eine sorgfältige Beschreibung dieses Punktes finden Sie in der (bearbeiteten) Antwort von @ JasonR. Mein Kommentar zur Hauptfrage besagt, dass es viele Möglichkeiten gibt, die FFT zu verwenden, und dass alle unterschiedliche Ergebnisse liefern
Dilip Sarwate,

@DilipSarwate ist richtig, dies setzt eine zirkuläre Verschiebung der Daten voraus. Wie er betonte, gibt es Feinheiten in der FFT, die auf dem Eingabevektor basieren.
Spacey

@gallamine, darf ich fragen, wie Ihre Datenvektoren aussehen, Beispiel: - Signal1: [someZeros, signal, someZeros] - Signal2: [someDifferentNumberOfZeros, signal, someDifferentNumberOfZeros]
Spacey

1

Sünde(ωt)ω


Hi aman. Willkommen bei Signals.SE. Könnten Sie sich etwas Zeit nehmen und Ihre Antwort ein wenig formatieren? Wir haben MathJax aktiviert, was wir im Allgemeinen für Gleichungen bevorzugen. Ich habe eine schnelle Teilbearbeitung durchgeführt, die einige Beispiele enthält, wenn Sie sie noch nicht verwendet haben. Vielen Dank für Ihren Beitrag und nochmals herzlich willkommen auf der Seite!
Datageist
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.