Fensterfunktionen
Dieses Beispiel implementiert exemplarisch mehrere Einzelkanal-Magnitudenspektren und vergleicht die Verwendung verschiedener Fensterfunktionen. Dabei werden drei Varianten vorgestellt: Eine mit deaktiviertem Overlap-Mechanismus, eine automatische Berechnung der empfohlenen Überlappung und eine manuelle Konfiguration unter Verwendung einer geeigneten Firmware-Funktion.
Den Quellcode für das Beispiel können Sie hier herunterladen: WindowFunctions_Sample.zip
Blockdiagramm
Programmparameter
Die Tabelle unten zeigt eine Liste mit wichtigen Parametern für die Konfiguration der Magnitudenspektrum-Funktionsbausteine.
FFT Länge | 4096 |
Fenstergröße | 3200 |
Puffergröße | 3200 / 1600 / 767 |
Fenster Typ |
|
Dezibel-Transformation |
|
Berechnung/Festlegen der Überlappung
Variante 1: Verwendung der Funktion F_CM_CalculateRecommendedOverlap
Mittels der genannten Funktion kann die empfohlene Überlappung zur Laufzeit ausgerechnet werden. Nach Download/Login, werden die benötigten Werte in der MAIN_CM
im ersten Zyklus aufgerufen.
IF bCalculateOverlap THEN
// recommended overlap for window 1
nOverlap1 := F_CM_CalculateRecommendedOverlap(eWindowType := cWindowType1, aWindowParameters := cWindowParameters1, nWindowLength := cWindowLength);
// recommended overlap for window 2
nOverlap2 := F_CM_CalculateRecommendedOverlap(eWindowType := cWindowType2, aWindowParameters := cWindowParameters2, nWindowLength := cWindowLength);
// recommended overlap for window 3
nOverlap3 := F_CM_CalculateRecommendedOverlap(eWindowType := cWindowType3, aWindowParameters := cWindowParameters3, nWindowLength := cWindowLength);
bCalculateOverlap := FALSE;
END_IF
Die so erhaltenen Längen können anschließend in der Konfiguration der Analyseketten eingepflegt werden (Prameter cOverlap1
, cOverlap2
, cOverlap3
in der GVL_Constants
.). Zu beachten sind hierbei die Abhängigkeiten in der Pufferlänge! Nach einem erneuten Download/Login ist die Applikation hinsichtlich der Überlappung konfiguriert.
Variante 2: Auslesen der Initialparameter im Online View
Wird bei der Initialisierungs-Struktur für die Überlappung der Wert nOverlap := cCM_OverlapRecommended
verwendet, so wird in der Init-Phase des Funktionsbausteins die optimale Überlappung in Abhängigkeit der Fensterparameter berechnet. Dieser Wert kann nach dem Download und Login im Online View des Bausteins in dem Knoten stInitPars
ausgelesen werden. Bei dieser Variante ist kein Starten der Applikation nötig!
Online View zu Spektrum 2 (Hann-Fenster)
Voraussetzungen
Entwicklungsumgebung | Zielplattform | Einzubindende SPS-Bibliotheken |
---|---|---|
TwinCAT v3.1.4022.25 | PC or CX (x86, x64) | Tc3_CM, Tc3_CM_Base, Tc3_MultiArray |