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

Fensterfunktionen 1:

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

eCM_RectangularWindow / eCM_HannWindow / eCM_FlatTopWindow

Dezibel-Transformation

False

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!

Fensterfunktionen 2:

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