Ich habe verschiedene Fourier-Transformations-Codes für einzelne Sinuswellen ausprobiert, und alle erzeugen ein verteiltes Spektrum mit einer Resonanz bei der Signalfrequenz, wenn sie theoretisch einen einzelnen Balken anzeigen sollten.
Die Abtastfrequenz hat nur geringen Einfluss (hier 10 kHz), die Anzahl der Zyklen jedoch:
Ein Zyklus:
100 Zyklen:
100000 Zyklen:
Es sieht so aus, als ob die Fouriertransformation nur für eine unendliche Anzahl von Zyklen konvergiert. Warum ist das so? Sollte ein Zeitfenster von genau einem Zyklus nicht die gleichen Ergebnisse bringen wie das von N Zyklen?
Anwendung: Dies ist sowohl aus Neugier als auch, weil ich erfahren möchte, wie sehr die Sprungantwort eines Systems erster Ordnung die Resonanz einer mechanischen Baugruppe erregt. Deshalb brauche ich eine genaue Fourier-Transformation der Antwort ... der ich nicht mehr vertraue. Was könnte ich dann tun, um die Genauigkeit basierend auf dem "Sinuswellen" -Fall zu verbessern?
PS: Diese Screenshots basieren auf dem Code hier .
quelle
Antworten:
Dies ist ein Fensterartefakt.
Der verknüpfte Code füllt ein 10.000-Samplesignal mit Nullen auf, sodass die Länge eine Zweierpotenz ist.
Beachten Sie, dass im obigen Code die FFT mit der FFT-Größe genommen wird,
NFFT
die die nächste Zweierpotenzfft()
ist, die größer ist als die Signallänge (in diesem Fall 16.384). Aus der Mathworks- Dokumentation :Dies bedeutet, dass Sie keine FFT einer "reinen Sinuswelle" nehmen - Sie nehmen die FFT einer Sinuswelle mit einem flachen Signal danach.
Dies entspricht der FFT einer Sinuswelle multipliziert mit einer Rechteckfensterfunktion. Das FFT-Spektrum ist dann die Faltung des Sinusfrequenzspektrums (eine Impulsfunktion) mit dem Rechteckfrequenzspektrum (sinc (f).)
Wenn Sie
L = 16,384
so ändern , dass das Signal nicht mit Nullen aufgefüllt wird, beobachten Sie eineperfect
FFT.Weitere Suchbegriffe: "Spectral Leakage", "Window Function", "Hamming Window".
Bearbeiten: Ich habe einiges Material, das ich zu diesem Thema geschrieben habe, an der Universität aufgeräumt, was wesentlich detaillierter ist. Ich habe das auf meinem Blog gepostet .
quelle