Hallo, ich habe eine FFT genommen und sie in sehr kleinen Schritten über ein „sauberes" Sinussignal gleiten lassen. Die FFT hat dabei immer mehrere Perioden des Sinus angeboten bekommen. Natürlich immer mit einem wechselnden Startwinkel des Sinus für das Betrachtungsfenster der FFT. Je nach Position des Betrachungsfensters bekomme ich nun urplötzlich eine negative Phase. So wird aus z.B. 1.31 im nächsten Betrachtungsfenster -1.32 obwohl ich das Betrachtungsfenster nur minimal verschoben habe. Ändert nun das Sinussignal innerhalb des Betrachtungsfensters noch seine Periodendauer so tritt dieser Effekt besonders oft auf. Weis irgend jemand woran das nun liegt??? Beste Grüße Gregor
Könnte eine Erklärung dafür sein das der arctan() der für die Phasenberechnung genutzt wird nicht eindeutig ist? Ich hab mal einen Plot angehängt mit N=16 und der Sinus als Eingang zur FFT wird bei 0, 1, 2, 3 und 4 gestartet. In dem Plot sind das die Spalten 1-5. Die Zeilen zeigen: - Sinus, der Eingang zur FFT - Reales FFT-Ergebnis - Imaginäres FFT-Ergebnis - arctan() vom FFT-Ergebnis - arctan2() vom FFT-Ergebnis Der Unterschied zwischen arctan() und arctan2() ist das die Funktion arctan2 nicht den Quotienten imag/real bekommt, sondern beide Vektoren extra und somit weiß welcher Wert welches Vorzeichen mitbrachte und damit den Quadranten korrigieren kann. Das sieht man ganz gut wenn man die beiden Phasen für k=2 in der 2. Spalte vergleicht. Für den arctan() ist das Ergebnis 1,5, für arctan2() -1,5. Vergleicht man das mit der 1. Spalte, dann hat für arctan() das Vorzeichen gewechselt, für arctan2() nicht.
@Günter atan zu verwenden ist falsch, atan2 bzw angle sollte man nehmen. Man will ja schliesslich den Winkel einer komplexen Zahl z haben. Und der ist zu jedem z eindeutig. @Gregor vielleicht hat Günter insofern recht, dass du vielleicht die Phase mit atan berechnest. Generell gilt x(t-t0) o-x exp(-j2pi*f*t0)*X(f) der Spektrum der verschobenen Zeitfunktion ergibt sich aus dem "gedrehtem" Spektrum der unverschobenen Zeitfunktion. Dies ist eine Uhrzeigerdrehung. Genaudiese Drehung sollte auch sich in der Phase niederschlagen. Beträge von transformierten x(t) und x(t-t0) sind identisch. -- daniel
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.