Konfigurationsstrukturen

Allgemeine Beschreibung

Für jeden Funktionsbaustein FB_FTR_<type> existiert eine individuelle Konfigurationsstruktur ST_FTR_<type>. In der Konfigurationsstruktur werden alle Parameter definiert, die zur Berechnung der Übertragungsfunktion, der Ein- und Ausgangsgrößen (Größe und Form der Arrays) sowie der internen Zustände benötigt werden.

Gemeinsame Parameter

Alle Konfigurationsstrukturen ST_FTR_<type> enthalten folgende Parameter:

Parameter

Typ

Beschreibung

nOversamples

UDINT

Anzahl der Oversamples > 0

nChannels

UDINT

Anzahl der Kanäle > 0 & < 101

pInitialValues

POINTER TO LREAL

Pointer auf Array mit Initialwerten (optional)

nInitialValuesSize

UDINT

Größe des Array mit Initialwerten in BYTE (optional)

nOversamples und nChannles

Die Parameter nOversamples und nChannels beschreiben die Größe der Ein- und Ausgangsarrays, die beim Aufruf der Methode Call() übergeben werden. Wenn z. B. mit 10 Oversamples und 3 Kanälen gearbeitet wird, erwartet die Methode Call() ein Array mit 30 Elementen am Eingang und am Ausgang (siehe OverSampling und Kanäle).

Während der Parameter nChannels die Anzahl der mit einem Aufruf zu verarbeitenden parallelen Signalkanäle beschreibt, beschreibt der Parameter nOversamples die für jeden einzelnen Kanal auftretende Anzahl von Abtastwerten pro Aufruf der Methode Call().

Inital Values

Die optionalen Parameter pInitialValues und nInitialValuesSize werden verwendet, um den internen Zustand des Filters nach dessen Konfiguration zu definieren. Praktisch dienen die Parameter dazu, die Einschwingzeit des konfigurierten Filters durch das Einbringen von Vorwissen zu reduzieren. Dazu müssen die Vergangenheitswerte y[n-k] und x[n-k] mit k > 0 in der Differenzengleichung gezielt gesetzt werden.

Für die Funktionsbausteine FB_FTR_IIRCoeff, FB_FTR_MovAvg, FB_FTR_PT1, FB_FTR_PT2 und FB_FTR_PT3 gilt die folgende Struktur der Differenzengleichung:

Konfigurationsstrukturen 1:

Zur kompakteren Darstellung werden folgende Schreibweisen für die Vergangenheitswerte verwendet: xi,k und yi,k mit Kanal i und zeitlicher Verzögerung k > 0. Beispiel: Kanal i=2 und Verzögerung k=3 entspricht y2,3 = y2[n-3].

Verwendungsmöglichkeiten:

Für die Funktionsbausteine FB_FTR_IIRSos und FB_FTR_IIRSpec wird intern die Übertragungsfunktion in second-order sections (SOS) berechnet:

Konfigurationsstrukturen 2:

Die kompakte Darstellung wird entsprechend um m erweitert, welche den Biquad angibt: x(m)i,k und y(m)i,k. Beispiel: Kanal i=2 und Verzögerung k=1 des vierten Biquad (m=4) entspricht
y(4)2,1 = y(4)2[n-1]. Jeder Biquad kann hier nur 2 Vergangenheitswerte nutzen, entsprechend ist k = 1,2.

Daher ist dort die Strukturierung für die Ein- und Ausgangswerte anders.

Verwendungsmöglichkeiten:

Der Funktionsbaustein FB_FTR_PTn wird ebenfalls als kaskadierter Filter beschrieben, jedoch als kaskadierter Filter erster Ordnung. Entsprechend gilt hier die Betrachtung wie für die SOS Bausteine, jedoch mit k = 1. Für einen PTn Filter mit n = M gilt dann: