LabVIEWForum.de - FFT auf 0.1 Hz genau

LabVIEWForum.de

Normale Version: FFT auf 0.1 Hz genau
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo Zusammen
ich benötige von einem Signal die Hauptfrequenz auf 0.1Hz genau. Zu diesem Zweck habe ich ein Testprogramm geschrieben (siehe Anhang), mit welchem 3 Sinusverläufe aufaddiert werden, um danach via FFT die Frequenz zu ermitteln. Leider erreiche ich mit diesem Vi nur eine Auflösung von einem Hz. Ich habe auch verschiedene andere Vis ausprobiert, konnte aber mit keinem die geforderte Genauigkeit erreichen.
(Die Buneman-Formel funktioniert bei Offsets leider nicht mehr, ansonsten ist sie sehr genau. => kein Wunder)

Allgemeine Angaben:
1000 Samples/Sekunde
Abtasttheorem=> Frequenzen bis 500Hz
Effektiv benötige ich Frequenzen zwischen 0-100Hz

Besten Dank für eure Vorschläge.
Um eine Genauigkeit von 0.1Hz zu bekommen muss das zu messende Signal für 10s aufgezeichnet werden.
Die Genauigkeit richten sich ausschließlich nach der Aufnahmedauer.
deltaf=1/T

Du zeichnest im Moment pro Sekunde 1000 Werte auf. Das bedeutet eine Auflösung von 1Hz im Frequenzspektrum.
(03.10.2013 11:03 )panduci schrieb: [ -> ]Du zeichnest im Moment pro Sekunde 1000 Werte auf. Das bedeutet eine Auflösung von 1Hz im Frequenzspektrum.
Das ist aber jetzt nicht mehr ganz kompatibel zur richtigen Antwort des ersten Absatzes. Die Aufnahmerate (1000 Werte/s) legt das Oberen Ende des Frequenzsprekrumg fest (Nyquist-Frequenz, hier 5000 Hz) und hat mit der Auflösung df nichts zu tun.

Klarer wir die Aussage so: Du zeichnest jetzt nur 1 Sekunde lang auf (1000 Werte mit Rate 1000/s) Das bedeutet eine Auflösung von 1 Hz. Für 0.1 Hz Auflösung muß bei gleicher Rate die Samplezahl auf 10000 erhöht werden.
Danke für die Tipps. Das hat mir sehr geholfen. Ich habe unterdessen eine praktikable Lösung gefunden:

Das Sinussignal zuerst mit einer Hanning-Fensterfunktion bearbeiten, von dem Ergebnis die FFT berechnen. Damit ergeben sich bei 1000S/s und 1 Sekunde Messdauer bereits sehr gute Resultate. Das Ton-Analyse-vi macht im Wesentlichen genau das. Es hat leider zwei Schwachstellen:

1. Die Amplitude der Frequenz 0 ist sehr instabil und oft völlig falsch. => Ansatz: 0. Frequenz nicht beachten, da für mich unwichtig.
2. Alle Frequenzen werden 1000fach zu klein angezeigt. => Ansatz: Mit 1000 multiplizieren. (Mir ist völlig unklar, wieso das passiert)

Ihr findet mein neues Testprogramm im Anhang. Falls Ihr eine Ahnung habt, woher die Schwachstellen kommen, wäre ich natürlich um weitere Tipps dankbar.

Besten Dank
Patrik
Zitat:1. Die Amplitude der Frequenz 0 ist sehr instabil und oft völlig falsch. => Ansatz: 0. Frequenz nicht beachten, da für mich unwichtig.
Dadurch das du 3 Signale mit unterschiedlicher Phasenlage, Frequenz und Offset addierst ergibt sich bei der Frequenz 0 ein Wert.
Ist im Prinzip der Gleichanteil des Signals. Den könntest z.B.: durch Abziehen des Mittelwerts von den 3 Signale entfernen.

Zitat:2. Alle Frequenzen werden 1000fach zu klein angezeigt. => Ansatz: Mit 1000 multiplizieren. (Mir ist völlig unklar, wieso das passiert)
Dadurch dass du direkt mit dem Array in die Auswertung gehst und nicht mit einem Signalverlauf wird automatisch 1Hz als Abtastfrequenz interpretiert(obwohl du ja 1000Hz hast) und dadurch kommt der Faktor 1000 zu stande und die Frequenzen dürften dann natürlich auch nicht stimmen.

Lg panduci
(03.10.2013 14:58 )Patrik schrieb: [ -> ]... Damit ergeben sich bei 1000S/s und 1 Sekunde Messdauer bereits sehr gute Resultate...
Häh? Dir ging es doch darum, das Spektrum auf 0.1 Hz genau aufzulösen. Und jetzt erziehlst Du auf einmal "sehr gute Resultate" mit einer Messdauer von nur 1s. Was immer du mit "sehr gut" meinst, die Auflösung von 0.1 Hz kann es jedenfalls nicht sein, denn das ist physikalisch unmöglich.
Referenz-URLs