ST_PMA_Spectrum_Quantiles_InitPars
Lefeld Bausteinspezifische Struktur mit Initialisierungsparametern, die bei der Initialisierung der Bausteine FB_PMA_Spectrum_Quantiles_1Ph und FB_PMA_Spectrum_Quantiles_3Ph ausgewertet wird.
Syntax
Definition:
TYPE ST_PMA_Spectrum_Quantiles_InitPars :
STRUCT
nFFT_Length : UDINT := 512; // Length of FFT
nWindowLength : UDINT := 400; // Length of FFT window
fSampleRate : LREAL := 1000; // in Hz
eScalingType : E_PMA_ScalingType := E_PMA_ScalingType.NoScaling; // Scaling type used
eWindowType : E_PMA_WindowType := E_PMA_WindowType.HannWindow; // Window function used
bTransformToDecibel : BOOL := TRUE; // Transform result to decibel
fDecibelThreshold : LREAL := 1.3E-308; // Log threshold for decibel transformation
fMinBinnedVoltage : LREAL; // Minimum binned voltage
fMaxBinnedVoltage : LREAL; // Maximum binned voltage
fMinBinnedCurrent : LREAL; // Minimum binned current
fMaxBinnedCurrent : LREAL; // Maximum binned current
nBins : UDINT := 1; // Number of bins in interval
nNumQuantiles : UDINT := 1; // Maximum number of quantile values
aQuantiles : ARRAY[0..GVL_PMA.cMaxQuantiles-1] OF LREAL; // 0.0 < aQuantiles[x] <1.0
END_STRUCT
END_TYPE
Parameter
Name | Typ | Parameter |
---|---|---|
nFFT_Length | UDINT | Länge der FFT. Sie muss größer als Eins und eine ganzzahlige Potenz von Zwei sein. |
nWindowLength | UDINT | Länge des Analysefensters in Samples. Die Länge muss größer als eins und eine gerade Zahl sein. Sie darf nicht größer als nFFT_Length sein. |
fSampleRate | LREAL | Gibt die Abtastrate (Samples pro Sekunde) des Eingangssignals an. |
eScalingType | Ermöglicht eine Auswahl der verwendeten Skalierung, falls eine absolute Skalierung benötigt wird. | |
eWindowType | Definiert die verwendete Fensterfunktion. Ein guter Standardwert ist der Fenstertyp „HannWindow“. Die Fensterung kann durch die Verwendung des Fenstertyps „RectangularWindow“ abgeschaltet werden. Weitere Erläuterungen und die Liste von möglichen Fensterfunktionen finden sich im einleitenden Teil im Abschnitt „Fensterfunktionen“. | |
bTransformToDecibel | BOOL | Boolescher Wert, der angibt, ob das Ergebnis der FFT in die Dezibel-Skala transformiert werden soll, entsprechend der Transformation x → 20 * log10(x). |
fDecibelThreshold | LREAL | Sehr kleiner Fließkommawert größer als Null. Werte, die kleiner als diese Zahl sind, werden vor einer Transformation in die Dezibel-Skala durch diesen Wert ersetzt, da der Logarithmus von Null mathematisch nicht definiert ist. Der kleinste mögliche Wert ist 3.75e-324. |
fMinBinnedVoltage | LREAL | Unterer Grenzwert, für den die Ausgangsdaten der Spektrumsberechnung der Spannung in den regulären Histogramm-Bins gezählt werden. |
fMaxBinnedVoltage | LREAL | Oberer Grenzwert, für den die Ausgangsdaten der Spektrumsberechnung der Spannung in den regulären Histogramm-Bins gezählt werden. fMaxBinnedVoltage muss größer sein als fMinBinnedVoltage. |
fMinBinnedCurrent | LREAL | Unterer Grenzwert, für den die Ausgangsdaten der Spektrumsberechnung des Stroms in den regulären Histogramm-Bins gezählt werden. |
fMaxBinnedCurrent | LREAL | Oberer Grenzwert, für den die Ausgangsdaten der Spektrumsberechnung des Stroms in den regulären Histogramm-Bins gezählt werden. fMaxBinnedCurrent muss größer sein als fMinBinnedCurrent. |
nBins | UDINT | Anzahl der Bins eines Histogramms. Sie muss mindestens eins sein. In vielen Fällen sind Werte zwischen zehn und zwanzig eine sinnvolle Wahl. Die beiden speziellen Bins für Werte, die unterhalb von fMinBinned bzw. oberhalb von fMaxBinned liegen sind in diesem Wert nicht mit enthalten. |
nNumQuantiles | UDINT | Zahl der zu berechnenden Quantile für jeden Kanal. Dies muss eine ganze Zahl größer als Null sein. |
aQuantiles | ARRAY[0..GVL_PMA.cMaxQuantiles-1] OF LREAL | Gibt die Quantilgrenze an. Sie muss zwischen 0.0 und 1.0 liegen. Beispielsweise entspricht 0.2 dem 20%-Quantil. |
Fensterlänge Der Wert von nWindowLength muss kleiner oder gleich dem Wert von nFFT_Length sein. Die Länge der FFT kann sich an der benötigten Frequenzauflösung orientieren. Typischerweise wird ein Wert von ca. 3/4 der FFT-Länge als Fensterlänge verwendet. |
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 Fourier-Transformation mit Nullen aufgefüllt. Dies kann sinnvoll sein, um eine höhere Frequenzauflösung zu erreichen oder um, 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 Informationen.
Voraussetzungen
Entwicklungsumgebung | Zielplattform | Einzubindende SPS-Bibliotheken |
---|---|---|
TwinCAT v3.1.4024.0 | PC oder CX (x86, x64) | Tc3_PowerMonitoring |