Forum: Digitale Signalverarbeitung / DSP / Machine Learning Konstanten Phasenoffset in FFT ermitteln


von fftphase (Gast)


Lesenswert?

Hallo,

ich habe die FFT-Werte eines abgetastetet Signals vorliegen. Jetzt ist 
es so, dass diese komplexen FFT-Werte einen konstanten Phasenoffset 
enthalten, also alle FFT-Werte noch einmal mit e^(j*phi) multipliziert 
sind (Anmerkung: hat was mit dem Verschiebungssatz zu tun).

Hat jemand eine Idee, wie ich dieses phi extrahieren könnte? Das phi 
ändert sich auch relativ langsam (steigt langsam an, kann daher nur pro 
Block als konstant angenommen werden), mir würde es auch schon reichen, 
die Phasenoffsetdifferenz zwischen zwei aufeinander folgenden Blöcken zu 
ermitteln.

Wenn FFT_fd(t0) das komplexe FFT-Sample bei der diskreten Frequenz fd 
zur Zeit t0 bezeichnet, könnte man z.B. mit angle(FFT_fd(t0)) - 
angle(FFT_fd(t1)) die Phasendifferenz zwischen zwei zeitlich aufeinander 
folgenden FFT-Blöcken bei der Frequenz fd berechnen und hoffen, dass 
sich die sonstige Phase des Signals an der Stelle fd nicht allzu sehr 
verändert hat, so dass nur die Differenz phi(t0)-phi(t1) verbleibt.

Dann hätte man zumindest näherungsweise die Phasenoffsetdifferenz, aber 
so eine tolle Lösung ist das noch nicht. Man kann das dann noch über 
alle Werte eines FFT-Blocks mitteln, um so robuster gegen die Änderung 
des Signals zu werden (von dem Signal können sich auch die 
Phaseneigenschaften ändern, allerdings auch relativ langsam).

Keine Ahnung, ob das jetzt nicht geht oder ich da eine einfache Lösung 
übersehe, falls jemand da einen Vorschlag hat, bin ich sehr interessiert 
daran.

von Mar V. (marvol)


Lesenswert?

Hallo,

ich habe die Problematik nur im Ansatz verstanden, da mir nicht klar ist 
auf welcher Basis die FFT durchgeführt wird.

Aber vielleicht hilft dies weiter:
http://www.adv-radio-sci.net/6/95/2008/ars-6-95-2008.pdf

Gruß
Marvol

von Frank (Gast)


Lesenswert?

fftphase schrieb:
> Man kann das dann noch über
> alle Werte eines FFT-Blocks mitteln,

Kurve durchlegen und selektiv abziehen?

von Fitzebutze (Gast)


Lesenswert?

Klingt irgendwie nach Wellenpropagation und klassischem Radarproblem, 
aber dein Problem habe ich noch nicht ganz verstanden.
Du nimmst also eine Sequenz von FFTs auf und willst quasi eine (oder 
mehrere) Gruppengeschwindigkeit(en) rechnerisch ermitteln?
Wenn Du das Signal kennst, oder es einen "starken Träger" gibt, kannst 
Du ja die Phasendifferenzen, so wie Du sie oben rechnest, entsprechend 
gewichten und mitteln.
Aber was anderes fällt mir nun auch nicht ein.
Stellt sich auch die Frage nach der Fensterung, also Frequenzauflösung 
versus Zeitauflösung, und wie sich dein Signal (ev. gegenüber einem 
Referenzsignal?) ändert.

Gruss,
- Butze

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
Noch kein Account? Hier anmelden.