STFTSpectrum (FPScript)

21.09.2021

Calcule le spectre temps-fréquence avec une transformée de Fourier à court terme (STFT).

Syntaxe

STFTSpectrum(Signal, [ SpectrumType = SPECTRUM_DBNORM ], [ Window = WIN_HANNING ], [ Adjustment ], [ SegmentLength = 0 ], [ OverlapOrGap = 50 ], [ FFTLength = 0 ], [ dBLimit = 0 ] [ , MaxFrequencies = 0 ])

 

La syntaxe de la fonction STFTSpectrum se compose des éléments suivants :

Section

Description

Signal

Les données à analyser. Les données doivent avoir un taux d'échantillonnage constant et ne doivent pas contenir de valeurs invalides (void).

Les structures de données autorisées sont Séries de données et Signal. Tous les types de données réels sont autorisés, sauf Temps calendaire et Période de temps.

Les valeurs invalides ne sont pas autorisées dans cet argument.

Des restrictions supplémentaires s'appliquent à la composante X.Les valeurs doivent avoir un espacement positif constant. Les valeurs invalides ne sont pas autorisées dans cet argument.

Si l'argument est une liste, alors la fonction est exécutée pour chaque élément de la liste et le résultat est également une liste.

SpectrumType

Le format spectral à calculer.

L'argument SpectrumType peut avoir les valeurs suivantes :

Constante

Signification

SPECTRUM_AMPLITUDE

Amplitude

SPECTRUM_RMSAMPLITUDE

Amplitude RMS

SPECTRUM_AMPLITUDE2

Amplitude2

SPECTRUM_DB O

Amplitude en dB (décibels)

O Cette constante n'est disponible que si une licence pour l'option Analyse d'ordre ou l'option Analyse spectrale est présente.

SPECTRUM_DBNORM O

dB (décibels) crête normalisée à zéro

O Cette constante n'est disponible que si une licence pour l'option Analyse d'ordre ou l'option Analyse spectrale est présente.

SPECTRUM_PSD O

DSP (Densité Spectrale de Puissance)

O Cette constante n'est disponible que si une licence pour l'option Analyse d'ordre ou l'option Analyse spectrale est présente.

SPECTRUM_TISA O

TISA (Time Integral Amplitude2)

O Cette constante n'est disponible que si une licence pour l'option Analyse d'ordre ou l'option Analyse spectrale est présente.

SPECTRUM_MSA

MSA (Amplitude moyenne2)

SPECTRUM_SSA O

SSA (Somme des Amplitudes2)

O Cette constante n'est disponible que si une licence pour l'option Analyse d'ordre ou l'option Analyse spectrale est présente.

SPECTRUM_VARIANCE O

Normalisation de la variance de puissance

O Cette constante n'est disponible que si une licence pour l'option Analyse d'ordre ou l'option Analyse spectrale est présente.

SPECTRUM_MAGNITUDE2 O

Magnitude2

O Cette constante n'est disponible que si une licence pour l'option Analyse d'ordre ou l'option Analyse spectrale est présente.

SPECTRUM_MAGNITUDE O

Magnitude

O Cette constante n'est disponible que si une licence pour l'option Analyse d'ordre ou l'option Analyse spectrale est présente.

+ SPECTRUM_NORMDATALENGTH O

Si cette constante est ajoutée à l'un des types de spectre ci-dessus, alors, comme dans le cas d'un périodogramme, les spectres sont normalisés à la longueur des données plutôt qu'à la longueur du segment.

O Cette constante n'est disponible que si une licence pour l'option Analyse d'ordre ou l'option Analyse spectrale est présente.

Si l'argument n'est pas spécifié, il est défini à la valeur par défaut SPECTRUM_DBNORM .

Window

La fenêtre de données fixe ou ajustable à appliquer aux données.

L'argument Window peut avoir les valeurs suivantes :

Constante

Signification

WIN_RECTANGULAR

Rectangulaire -13 dB (pas de fenêtrage, largeur=1)

WIN_WELCH

Welch -21 dB (largeur fixe=1,4)

WIN_SINE

Sinus -23 dB (largeur fixe=1,5)

WIN_BISQUARE

Bi-Square ou Connes -28 dB (largeur fixe=1,8)

WIN_BARTLETT

Bartlett -27 dB (largeur fixe=2)

WIN_HANNING

Hanning Max. Rolloff -31 dB (cosinus, ordre 2, largeur fixe=2)

WIN_TUKEYHANN O

Tukey-Hann -37 dB (largeur fixe=2)

O Cette constante n'est disponible que si une licence pour l'option Analyse d'ordre ou l'option Analyse spectrale est présente.

WIN_BARTLETTMOD O

Bartlett modifié -39 dB (largeur fixe=2,3)

O Cette constante n'est disponible que si une licence pour l'option Analyse d'ordre ou l'option Analyse spectrale est présente.

WIN_HAMMING

Hamming Min. Sidelobe -43 dB (cosinus, ordre 2, largeur fixe=2)

WIN_COS3MAXROLLOFF O

C3 Max. Rolloff -47 dB (cosinus, ordre 3, largeur fixe=3)

O Cette constante n'est disponible que si une licence pour l'option Analyse d'ordre ou l'option Analyse spectrale est présente.

WIN_COS3BLACKMAN

Blackman -58 dB (cosinus, ordre 3, largeur fixe=3)

WIN_COS3BHARRIS62 O

Blackman-Harris -62 dB (cosinus, ordre 3, largeur fixe=3)

O Cette constante n'est disponible que si une licence pour l'option Analyse d'ordre ou l'option Analyse spectrale est présente.

WIN_COS3NUTALL O

C1 Nutall -64 dB (cosinus, ordre 3, largeur fixe=3)

O Cette constante n'est disponible que si une licence pour l'option Analyse d'ordre ou l'option Analyse spectrale est présente.

WIN_COS3BLACKMANEXACT O

Blackman Exact -68 dB (cosinus, ordre 3, largeur fixe=3)

O Cette constante n'est disponible que si une licence pour l'option Analyse d'ordre ou l'option Analyse spectrale est présente.

WIN_COS3BHARRIS68 O

Blackman-Harris -68 dB (cosinus, ordre 3, largeur fixe=3)

O Cette constante n'est disponible que si une licence pour l'option Analyse d'ordre ou l'option Analyse spectrale est présente.

WIN_COS3MINSIDELOBE O

Nutall -71 dB (cosinus, ordre 3, largeur fixe=3)

O Cette constante n'est disponible que si une licence pour l'option Analyse d'ordre ou l'option Analyse spectrale est présente.

WIN_COS4MAXROLLOFF O

C5 Max. Rolloff -61 dB (cosinus, ordre 4, largeur fixe=4)

O Cette constante n'est disponible que si une licence pour l'option Analyse d'ordre ou l'option Analyse spectrale est présente.

WIN_COS4BHARRIS74 O

Blackman-Harris -74 dB (cosinus, ordre 4, largeur fixe=4)

O Cette constante n'est disponible que si une licence pour l'option Analyse d'ordre ou l'option Analyse spectrale est présente.

WIN_COS4NUTALL83 O

C3 Nutall -83 dB (cosinus, ordre 4, largeur fixe=4)

O Cette constante n'est disponible que si une licence pour l'option Analyse d'ordre ou l'option Analyse spectrale est présente.

WIN_COS4BHARRIS92 O

Blackman-Harris -92 dB (cosinus, ordre 4, largeur fixe=4)

O Cette constante n'est disponible que si une licence pour l'option Analyse d'ordre ou l'option Analyse spectrale est présente.

WIN_COS4NUTALL93 O

C1 Nutall -93 dB (cosinus, ordre 4, largeur fixe=4)

O Cette constante n'est disponible que si une licence pour l'option Analyse d'ordre ou l'option Analyse spectrale est présente.

WIN_COS4NUTALL96 O

Nutall -96 dB (cosinus, ordre 4, largeur fixe=4)

O Cette constante n'est disponible que si une licence pour l'option Analyse d'ordre ou l'option Analyse spectrale est présente.

WIN_FLATTOP

Flattop -68 dB (cosinus, ordre 5, largeur fixe=5)

WIN_BETA O

Beta, Max. Rolloff (largeur réglable = 1,5-6)

O Cette constante n'est disponible que si une licence pour l'option Analyse d'ordre ou l'option Analyse spectrale est présente.

WIN_COSMAXROLLOFF O

Cosinus Max. Rolloff (largeur réglable = 1,5-6)

O Cette constante n'est disponible que si une licence pour l'option Analyse d'ordre ou l'option Analyse spectrale est présente.

WIN_KAISERBESSEL

Kaiser-Bessel (largeur fixe = 3, largeur réglable = 1,5-6 avec l'option d'analyse spectrale installée)

WIN_VANDERMAAS O

VanderMaas (largeur réglable = 1,5-6)

O Cette constante n'est disponible que si une licence pour l'option Analyse d'ordre ou l'option Analyse spectrale est présente.

WIN_CHEBYSHEV O

Tchebyshev (largeur réglable = 1,75-5,75)

O Cette constante n'est disponible que si une licence pour l'option Analyse d'ordre ou l'option Analyse spectrale est présente.

WIN_CHEBYSHEVAPPROX O

Tchebychev Environ (largeur réglable = 2,1-5)

O Cette constante n'est disponible que si une licence pour l'option Analyse d'ordre ou l'option Analyse spectrale est présente.

WIN_SLEPIAN O

Slepian DPSS-1 (largeur réglable=2-5)

O Cette constante n'est disponible que si une licence pour l'option Analyse d'ordre ou l'option Analyse spectrale est présente.

WIN_GAUSS O

Gaussian (largeur réglable = 2-6)

O Cette constante n'est disponible que si une licence pour l'option Analyse d'ordre ou l'option Analyse spectrale est présente.

WIN_COSTAPER O

Tapered Cosine (largeur réglable = 1 à 2)

O Cette constante n'est disponible que si une licence pour l'option Analyse d'ordre ou l'option Analyse spectrale est présente.

+ WIN_NORMALIZEAMPLITUDE

Si cette constante est ajoutée à l'une des constantes de la fenêtre ci-dessus, une normalisation de l'amplitude est effectuée après l'application de la fenêtre. Dans ce cas, le gain de la fonction de fenêtre utilisée est utilisé pour la normalisation qui est la somme de toutes les valeurs de la fenêtre divisée par leur nombre. Cela permet de compenser l'amortissement des amplitudes provoquées par la fenêtre. Il est donc particulièrement utile pour mesurer les pics dans le spectre.

+ WIN_NORMALIZEPOWER O

Si cette constante est ajoutée à l'une des constantes de fenêtre ci-dessus, une normalisation de la puissance est effectuée après l'application de la fenêtre. Ainsi, la perte de puissance est compensée. Le rapport entre la somme des données au carré avant et après l'application de la fenêtre est utilisé comme facteur de normalisation.

O Cette constante n'est disponible que si une licence pour l'option Analyse d'ordre ou l'option Analyse spectrale est présente.

Si l'argument n'est pas spécifié, il est défini à la valeur par défaut WIN_HANNING .

Adjustment

La largeur de Fourier unilatérale comme un multiple de l'intervalle de fréquence. La plage de validité est spécifique à la fenêtre entre 1,0 et 6,0. La valeur par défaut est de 1,5 pour une fenêtre d'observation cosinus et de 3,0 pour toutes les autres fenêtres de données ajustables.

Les structures de données autorisées sont Scalaire. Tous les types de données réels sont autorisés.

SegmentLength

La durée de chaque FFT. La plage valable est de 2 à la longueur des données / 2. La valeur par défaut est 0, ce qui fixe la longueur du segment au double de la racine carrée de la longueur des données, arrondie à la puissance deux supérieure.

Les structures de données autorisées sont Scalaire. Tous les types de données entiers sont autorisés.

Si l'argument n'est pas spécifié, il est défini à la valeur par défaut 0 .

OverlapOrGap

Si cet argument est spécifié comme un nombre positif, alors il spécifie le pourcentage de chevauchement des segments de données individuels. S'il est spécifié comme un nombre négatif, alors son montant spécifie l'écart entre les segments de données individuels en échantillons.

Les structures de données autorisées sont Scalaire. Tous les types de données réels sont autorisés.

La valeur doit être inférieure ou égale à 95.

Si l'argument n'est pas spécifié, il est défini à la valeur par défaut 50 .

FFTLength

La longueur de la transformée de Fourier. Si la longueur FFT spécifiée est supérieure à la longueur du segment, des zéros sont ajoutés. La plage valable se situe entre la longueur du segment et la longueur maximale de la FFT. La valeur par défaut est 0, ce qui définit la longueur de la FFT égale à la longueur du segment.

Les structures de données autorisées sont Scalaire. Tous les types de données entiers sont autorisés.

La valeur doit être supérieure ou égale à 0 et inférieure ou égale à 2147483648.

Si l'argument n'est pas spécifié, il est défini à la valeur par défaut 0 .

dBLimit

La ligne de base en dB à appliquer à un spectre en dB. La plage est comprise entre 1,0 dB et 120,0 dB, ou 0 pour aucune ligne de base.

Les structures de données autorisées sont Scalaire. Tous les types de données réels sont autorisés. L'argument est transformé dans l'unité dB.

La valeur doit être supérieure ou égale à 0.0 dB et inférieure ou égale à 120.0 dB.

Si l'argument n'est pas spécifié, il est défini à la valeur par défaut 0 .

MaxFrequencies

Le nombre maximum de valeurs de fréquence dans la STFT (spectre PSD normalisé en puissance uniquement). La plage est de 10 à 10000, ou 0 pour aucune limite.

Les structures de données autorisées sont Scalaire. Tous les types de données réels sont autorisés.

Si l'argument n'est pas spécifié, il est défini à la valeur par défaut 0 .

Remarques

Le résultat a toujours la structure de données Série de signaux avec composante Z.

La composante X contient les fréquences et la composante Z contient les temps de départ des segments. Si l'argument Signal est une série de données, alors la composante X du résultat contient les fréquences normalisées de Nyquist et la composante Z contient les valeurs d'indice des débuts de segments.

Le graphique suivant visualise les réglages de la longueur des segments, du recouvrement et de la longueur de la FFT :

Disponible dans

FlexPro Professional, Developer Suite

Exemples

TransposeMatrix(STFTSpectrum(Signal, SPECTRUM_DBNORM, WIN_HANNING + WIN_NORMALIZEPOWER, 2, 256, 50, 0, 20, 0))

Calcule le spectre STFT d'un signal et transpose ensuite le résultat afin que des fréquences soient attribuées à la composante Z. Le type de spectre choisi est le dB normalisé. La fenêtre appliquée est Cos2 Hanning -31 dB W=2. La longueur de la FFT est fixée à la longueur du segment avec une valeur de 256. Il s'agit d'un exemple tiré du Tutoriel Analyse Spectrale Temps-fréquence.

Voir aussi

Fonction CWTSpectrum

Fonction FFTn

Fonction FourierSpectrum

Fonction Periodogram

Option Analyse Spectrale

Objet d'analyse Spectre temps-fréquence

Short-Time Fourier Transform (STFT)

Fenêtre d'observation des données

Tutoriel Analyse Spectrale Temps-fréquence

Partager l’article ou envoyer par mail :

Vous serez probablement intéressé par les articles suivants :