FFT auf 0.1 Hz genau - Druckversion +- LabVIEWForum.de (https://www.labviewforum.de) +-- Forum: LabVIEW (/Forum-LabVIEW) +--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein) +---- Forum: Signaldarstellung (/Forum-Signaldarstellung) +---- Thema: FFT auf 0.1 Hz genau (/Thread-FFT-auf-0-1-Hz-genau) |
FFT auf 0.1 Hz genau - Patrik - 03.10.2013 08:40 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. RE: FFT auf 0.1 Hz genau - panduci - 03.10.2013 11:03 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. RE: FFT auf 0.1 Hz genau - Lucki - 03.10.2013 14:04 (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. RE: FFT auf 0.1 Hz genau - Patrik - 03.10.2013 14:58 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 RE: FFT auf 0.1 Hz genau - panduci - 03.10.2013 15:31 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 RE: FFT auf 0.1 Hz genau - Lucki - 03.10.2013 18:54 (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. |