FFT-Bin-Problem mit externem 24-Bit-ADC (FFT-Bins ändern sich mit der Zeit)

Derzeit arbeite ich an einem Projekt, das externe 24-Bit-ADCs MCP3919 und MCP3914 sowie eine 32-Bit-MCU der Tiva C-Serie umfasst. Ich versuche, harmonische Werte des Eingangssignals zu berechnen.

Ich verwende die CMSIS DSP-Bibliothek in Code Composer Studio. FFT-Funktionen funktionieren hervorragend. Ich habe kein Problem mit der Implementierung dieser Funktionen. Ich habe sie mit einem intern generierten Sin-Signal getestet und moduliert. Ergebnisse werden erwartet.

  • ADC_Ausgang: 3255 Hz
  • FFT_Size: 64 Punkt
  • Window_Size: 2*FFT_Size

Ich habe ein Problem, dass sich meine FFT-Bins mit der Zeit in n * 50-Hz-Signalen ändern, wenn ich ein reales Signal vom Signalgenerator lese. Wenn ich das Eingangssignal auf 50,9 Hz erhöhe, gibt es kein Problem. Dasselbe gilt für 150 Hz, 250 Hz, 350 Hz. Es scheint, als ob es einen festen Frequenzfehler im Zusammenhang mit 50 Hz gibt.

Zum Beispiel: FFT-Funktionen funktionieren hervorragend mit 50,9-Hz-Signal statt 50 Hz (1*0,9 Hz) 152,7-Hz-Signal statt 150 Hz (3*0,9 Hz) 254,5-Hz-Signal statt 250 Hz (5*0,9 Hz)

Ich teile meine FFT-Bin-DiagrammeGeben Sie hier die Bildbeschreibung ein

                       **Fig1 : 50.0 Hz and 250.0Hz**

Geben Sie hier die Bildbeschreibung ein

                    **Fig2 : 50.9 Hz and 254.5Hz**

Als Ergebnis sind bei Frequenzänderung FFT-Bins wahr. Ich brauche eure Erfahrungen mit diesem Problem.

Vielen Dank im Voraus

Bagger

50-Hz-Vielfache klingen verdächtig nach Stromleitungsdurchführung - wird Ihr Signalgenerator mit Netzstrom versorgt? (Ich gehe davon aus, dass Sie sich in einem Land mit einer 50-Hz-Stromleitung befinden). Das spezifische Signalgeneratormodell könnte uns beim Verständnis helfen.
Hallo Peter. Ich denke nicht, dass es damit zusammenhängt. Weil es eine isolierte Stromversorgung ist. Und ich habe auch vom Oszilloskop aus beobachtet.

Antworten (1)

Verwenden Sie eine andere Fensterform .

Dies passiert, wenn das Eingangssignal nicht genau periodisch mit der Eingangssignallänge ist, zB weil der erzeugte Sinus und der ADC-Takt von unterschiedlichen Taktquellen stammen. Betrachtet man ein Signal, das wir in Bin 2 erwarten ( e 2 ich X ) und das Ergebnis für Bin 1:

  • Wenn die Abtastperiode genau zwei Signalperioden enthält: 0 2 π e 2 ich X e ich X   D X = 0

  • Wenn das Signal etwas niedriger in der Frequenz ist: 0 2 π e 1,99 ich X e ich X   D X = 0,063 + 0,002 ich , also wird in diesem Behälter ziemlich viel Energie angezeigt.

Wenn Sie eine Fensterfunktion verwenden, die das Gewicht von Beginn und Ende des Abtastzeitraums reduziert, können Sie diesen Effekt verringern.

Hallo Simon. Danke für deine Antwort. Ich bin etwas verwirrt. Wie kann ich es tun ? Könnten Sie mich in diesem Fall anleiten? Grüße
Entscheiden Sie sich für eine Fensterfunktion, die für Ihren Anwendungsfall geeignet ist. Wenn Sie sich nur die Daten ansehen möchten, ist Hamming normalerweise eine gute Wahl, und multiplizieren Sie dann die Zeitbereichsdaten mit der Ausgabe der Fensterfunktion, bevor Sie die FFT ausführen.