Sliding DFT
Dieses Beispiel implementiert exemplarisch die Verwendungsmöglichkeiten des Funktionsbausteins FB_CMA_SlidingDFT. Hierin wird der Baustein so konfiguriert, dass alle Spektralwerte berechnet und die Ergebnisse werden denen aus der Berechnung mittels des Bausteins FB_CMA_RealFFT gegenübergestellt. Ferner wird zur Verbesserung des Berechneten Spektrums ein Hanning-Fenster im Spektralbereich angewendet.
Den Quellcode für dieses Beispiel können Sie hier herunterladen: SlidingDFT_Sample.zip
Blockdiagramm
Programmparameter
Die Tabelle unten zeigt eine Liste mit den wichtigen Parametern für die Konfiguration der Funktionsbausteine.
FFT-Länge | 512 / 512 |
Puffergröße | 10 / 512 |
FFT Ergebnislänge | 257 / 257 |
Erläuterungen
Das im Sample enthaltene Scope Projekt visualisiert die berechneten Spektren über ihren Betrag im Bereich von 0 bis 1 kHz. Hierbei fällt zum einen der Einfluss der Sidelobes im Spektrum des Bausteins FB_CMA_SlidingDFT (blaue Linie) auf. Die Abweichungen sind wesentlich von dem gewählten Dämpfungsparameter fDampingFactor
abhängig. Die Abweichungen werden mit Werten oberhalb von 0.995
kleiner, jedoch wird die Berechnung bei einer zu geringen Dämpfung (>0.999)
instabil. Auf Grund der Definition der Rekursionsvorschrift für die Spektrallinie k = 0
, ist die Berechnung für den DC Anteil hingegen genauer. Eine Verbesserung der der Berechneten Werte kann durch die Anwendung des Hanning Fensters im Spektralbereich erreicht werden (Bild unten).
Ein wesentlicher Unterschied zwischen den beiden Bausteinen ist die Auslastung in der jeweiligen Task. Dies wird in der folgenden Grafik verdeutlicht.
Im Gegensatz zu den Auslastungspeaks der RealFFT (Bild unten) ist die Auslastung der SDFT (Bild oben) konstanter. Letzterer Wert liegt im Mittel zwar deutlich höher, unterliegt aber geringeren Schwankungen.
Voraussetzungen
Entwicklungsumgebung | Zielplattform | Einzubindende SPS-Bibliotheken |
---|---|---|
TwinCAT v3.1.4022.25 | PC or CX (x86, x64) | Tc3_CM, Tc3_CM_Base |