Korrelationsfunktion

Dieses Beispiel implementiert exemplarisch die Verwendungsmöglichkeiten des Funktionsbausteins FB_CMA_Correlation. Hierbei werden die Korrelationskoeffizienten für einen zeitlichen Versatz von +/- 100 Samples bezüglich eines Referenzsignals berechnet.

Den Quellcode für dieses Beispiel können Sie hier herunterladen: Correlation_Sample.zip

Blockdiagramm

Korrelationsfunktion 1:

Programmparameter

Die Tabelle unten zeigt eine Liste mit den wichtigen Parametern für die Konfiguration der Funktionsbausteine.

nWindowLength

1000

nNegativeShift

100

nPositiveShift

100

nStepsize

5

eCorrelationMode

eCM_Pearson

eWindowMode

eCM_Fixed

Erläuterungen

In diesem Beispiel werden die Korrelationsparameter zwischen einem Sinus mit Amplitude 1 (rot) sowie einem verstärkten um +5ms (50 Samples bei 10 kHz Abtastrate) Sinus (blau) und einem Dreiecksimpuls (grün) mit identischer Frequenz (50 Hz) und einer Verzögerung von -5ms berechnet. Die Testsignale sind mit einem Normalverteiten Rauschen überlagert. Die nachfolgende Grafik zeigt die Ausgangssignale (oben) und die verrauschten Signale (unten)

Korrelationsfunktion 2:

Das Rauschen ist so stark gewählt, dass die Ausgangs im Zeitbereich nicht mehr identifiziert werden können. Die Berechnung der Korrelationskoeffizienten ermöglich jedoch die Einordnung in Bezug auf das Referenzsignal:

Korrelationsfunktion 3:

Die höchste Korrelation des verstärkten Sinus (blau) liegt bei einer Verschiebung von 50 Samples zur Referenz, d.h. das Signal ist um 5ms verzögert. Analog hierzu ist der Dreiecksimpuls (grün) um 50 Samples verschoben, d.h. es geht der Referenz 5ms voraus.

Voraussetzungen

Entwicklungsumgebung

Zielplattform

Einzubindende SPS-Bibliotheken

TwinCAT v3.1.4022.25

PC or CX (x86, x64)

Tc3_CM, Tc3_CM_Base