ST_CM_PowerCepstrum_InitPars
Baustein-spezifische Struktur mit Initialisierungsparametern, die bei der Initialisierung des Bausteins ausgewertet werden.
TYPE ST_CM_PowerCepstrum_InitPars EXTENDS ST_CM_Object_InitPars :
STRUCT
nFFT_Length : UDINT := 512; (* Length of FFT. *)
nWindowLength : UDINT := 400; (* Length of analysis window. *)
eWindowType : E_CM_WindowType := eCM_HannWindow; (* Window type. *)
aWindowParameters : T_CM_WindowParameters := [2.5,1,1,1,1]; (* Window parameters for specific windows, e.g. FlatTop. *)
nOverlap : UDINT := -1; (* Size of overlap in samples. *)
fLogThreshold : LREAL := cCM_MinArgLogN; (* Minimum argument of decadic logarithm for 64- bit IEEE 754 arithmetic eScalingType : E_CM_ScalingType := eCM_DiracScaling; (* Scaling type. *)
nChannels : UDINT := 1; (* Number of channels. *)
*)
END_STRUCT
END_TYPEnFFT_Lengthist die Länge der FFT. Sie muss größer als Eins und eine ganzzahlige Potenz von Zwei sein.nWindowLengthist die Länge des Analysefensters in Samples. Die Länge muss größer als Eins und eine gerade Zahl sein.eWindowTypedefiniert die verwendete Fensterfunktion (vom Typ E_CM_WindowType). Ein guter Standardwert ist der FenstertypeCM_HannWindow.aWindowParametersbeinhaltet die freien Parameter ausgewählter Fensterfunktionen. Bei der Verwendung voneCM_KaiserWindowdefiniert der erste Eintrag den Parameter beta; wird daseCM_FlatTopWindowverwendet, werden alle Parameter genutzt. Siehe Abschnitt Fensterfunktionen.nOverlapdefiniert die Anzahl der überlappenden Samples. Diese muss größer oder gleich Null sein. Wird der WertcCM_OverlapRecommendedgewählt, so wird eine empfohlene Überlappung intern berechnet (siehe F_CM_CalculateRecommendedOverlap); der WertcCM_OverlapInactivedeaktiviert den intern verwendeten Puffer und setzt den Wert Null.fLogThresholdist ein sehr kleiner Fließkommawert größer als Null. Der kleinste mögliche Wert ist 3.75e-324, dies entspricht der KonstantencCM_MinArgLogN.
Spektralwerte, deren Absolutbetrag kleiner als diese Zahl ist, werden vor der Logarithmierung des Spektrums durch diesen Wert ersetzt. Zweck ist die Vermeidung von Wertbereichsfehlern. Der Logarithmus von Null ist nicht definiert und strebt für den Grenzwert kleiner Argumente gegen minus unendlich. Entsprechendes gilt für das Argument der Zahl Null, arg(0).eScalingTypeermöglicht eine Auswahl der verwendeten Skalierung (vom Typ E_CM_ScalingType), falls eine absolute Skalierung benötigt wird. Standardwert isteCM_DiracScaling. Bei der Auswahl der Skalierung sollte die Art des Signals, entweder deterministische Signale oder breitbandige Signale mit stochastischen Anteil, berücksichtigt werden; Beide Arten erfordern unterschiedliche Skalierungen.nChannelsdefiniert die Anzahl von unabhängigen Kanälen. Diese muss größer als Null sein.
![]() | Fensterlänge beachten Der Wert von |
Wenn nFFT_Length größer ist als nWindowLength, wird die Frequenzauflösung der FFT (und damit auch die Länge des Vektors der Rückgabewerte) vergrößert. Die Differenz der Länge wird vor der Fouriertransformation mit Nullen aufgefüllt. Dies kann sinnvoll sein, um eine höhere Frequenzauflösung zu erreichen oder, z.B. bei der Berechnung mit Rücktransformation in den Zeitbereich, zirkuläres Aliasing zu vermeiden. Das Ergebnis enthält trotz der höheren Frequenzauflösung allerdings nicht mehr Information.
Voraussetzungen
Entwicklungsumgebung | Zielplattform | Einzubindende SPS-Bibliotheken |
|---|---|---|
TwinCAT v3.1.4022.25 | PC or CX (x86, x64) | Tc3_CM_Base |
