Phasendifferenz mittels FFT

OP #418767
Hallo, ich habe da mal eine Frage zur FFT und der Möglichkeit durch die
FFT die Phasendifferenz zwischen zwei Signalen genau zu ermitteln.
Ich habe einen PLL Regler der einen Aktor auf Resonanz (10-100 khZ)
regelt. Hierzu hole ich mir aus einem Meßsignal die Grundfrequenz raus,
die der anregenden Signalfrequenz entspricht und vergleiche die Phase
der beiden Signale. Anhand dieses Phasenunterschiedes wird dann die
Frequenz nachgeführt (kleinster Schritt 0.2 hz).
Bisher geschieht die Phasenbestimmung über eine phasenempfindliche
Demodulation, also Multiplikation mit 2 orthogonalen Referenzsignalen,
Mittelwertbildung und dann Abtastung und rechnerische Bestimmung von
Amplitude und Phase. Im Prinzip also nur die Bestimmung von Real und
Imaginärteil.
Da durch die analogen Multiplizierer und den Tiefpaß zur
Mittelwertbildung einige Meßfehler mitreinkommen, muss ich meine
Meßsignale noch durch eine Interpolation jagen um die Fehler
rauszurechnen.

Nun habe ich mir überlegt ob es nicht besser wäre die Signale (Bereich
10-100kHz) gleich abzutasten und eine FFT drüberlaufen zu lassen.
Irgendwo habe ich mal gelesen, daß man mit der FFT eine Abweichung von
+/- 0.1 Grad erreichen kann.
Dabei ist mir aufgefallen, daß wenn ich eine hohe spektrale Auflösung
erreichen möchte von sagen wir mal 0.5Hz, ich ganz schön viele Punkte
bräuchte. Nun würde ich gerne wissen, ob es Möglichkeiten gibt den
Aufwand durch Fensterfunktionen oder andere Tricks zu begrenzen, die
gesuchten Frequenzen sind mir ja bekannt.
Oder brauche ich eine so hohe Auflösung überhaupt nicht, im
Wesentlichen geht es mir ja um die Phase. Ich muss hier gestehen, daß
mir der Zusammenhang zwischen Phase und Frequenz bei der FFT noch nicht
ganz klar ist. Wie z.B. die Frage, wie groß der Phasenfehler ist wenn
meine Signalfrequenzen zwischen die Abtastwerte der FFT fallen.

Die einzige Möglichkeit, die mir momentan in den Sinn kommt, ist die
Abtastfrequenz so zu legen, daß die gesuchten Frequenzen ein Vielfaches
davon bilden und so genau auf einen der Indexwerte fallen. Also z.B.
94.5 kHz Resonanzfreq., 189 khz Abtastfreq., 128er FFT dann habe ich
bei Index 64 mein gesuchtes Signal.
Da ich aber wie gesagt nicht ganz so fit im Thema FFT bin ich mir nicht
sicher, ob das der beste Weg ist und möchte ich auf diesem Wege einfach
mal fragen, welche Möglichkeiten es da gibt (und ob die FFT hier
überhaupt Sinn macht).
>>Die einzige Möglichkeit, die mir momentan in den Sinn kommt, ist die
Abtastfrequenz so zu legen, daß die gesuchten Frequenzen ein
Vielfaches
davon bilden und so genau auf einen der Indexwerte fallen. Also z.B.
94.5 kHz Resonanzfreq., 189 khz Abtastfreq., 128er FFT dann habe ich
bei Index 64 mein gesuchtes Signal.  <<

Ja, genauso machen. Du regelst Deine Abtastfrequenz so, daß die Phase,
die Du siehst, 'steht', dh. Deine Abtastfrequenz ist nen ganzzahliges
Vielfaches Deiner Signalfrequenz. Damit is Deine PLL schon fertich. Die
ganze FFT brauchst Du garnicht, nur Betrag/Phase bei 'Index 64'. Dazu
reicht der 'Goertzel Algorithmus', der liefert Dir Betrag und Phase
für diese eine Frequenz.

>> daß man mit der FFT eine Abweichung von +/- 0.1 Grad erreichen <<

Nen Phasenwinkel hab ich mit ner FFT schon mal 6 Zehnerpotenzen besser
gemessen, das ist ne Frage der Fensterlänge und des SNR.

Cheers
Detlef

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 20 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.