matplotlib.mlab#

Fonctions Python numériques écrites pour la compatibilité avec les commandes MATLAB portant le même nom. La plupart des fonctions Python numériques se trouvent dans les bibliothèques NumPy et SciPy . Ce qui reste ici est le code pour effectuer des calculs spectraux et des estimations de densité de noyau.

Fonctions spectrales #

cohere

Cohérence (densité spectrale croisée normalisée)

csd

Densité spectrale croisée utilisant le périodogramme moyen de Welch

detrend

Supprimer la ligne moyenne ou la meilleure ligne d'ajustement d'un tableau

psd

Densité spectrale de puissance utilisant le périodogramme moyen de Welch

specgram

Spectrogramme (spectre sur des segments de temps)

complex_spectrum

Renvoie le spectre de fréquence à valeur complexe d'un signal

magnitude_spectrum

Renvoie l'amplitude du spectre de fréquence d'un signal

angle_spectrum

Renvoie l'angle (phase enveloppée) du spectre de fréquence d'un signal

phase_spectrum

Renvoie la phase (angle déballé) du spectre de fréquence d'un signal

detrend_mean

Supprimer la moyenne d'une ligne.

detrend_linear

Supprimer la ligne la mieux ajustée d'une ligne.

detrend_none

Renvoie la ligne d'origine.

stride_windows

Obtenez toutes les fenêtres d'un tableau d'une manière économe en mémoire

classe matplotlib.mlab. GaussianKDE ( dataset , bw_method = None ) [source] #

Socles :object

Représentation d'une estimation de densité de noyau à l'aide de noyaux gaussiens.

Paramètres :
jeu de données semblable à un tableau

Points de données à partir desquels estimer. Dans le cas de données univariées, il s'agit d'un tableau 1-D, sinon d'un tableau 2D avec forme (# de dims, # de données).

bw_method str, scalaire ou appelable, facultatif

Méthode utilisée pour calculer la bande passante de l'estimateur. Cela peut être 'scott', 'silverman', une constante scalaire ou un callable. S'il s'agit d'un scalaire, il sera utilisé directement comme kde.factor. S'il s'agit d'un appelable, il doit prendre une GaussianKDEinstance comme seul paramètre et renvoyer un scalaire. Si aucun (par défaut), 'scott' est utilisé.

Attributs :
jeu de données ndarray

L'ensemble de données transmis au constructeur.

estomper entier

Nombre de cotes.

num_dp entier

Nombre de points de données.

facteur flottant

Le facteur de bande passante, obtenu à partir de kde.covariance_factor, avec lequel la matrice de covariance est multipliée.

covariance ndarray

La matrice de covariance de l'ensemble de données , mise à l'échelle par la bande passante calculée ( kde.factor).

inv_cov ndarray

L'inverse de la covariance .

Méthodes

kde.evaluate(points)

(ndarray) Évaluez le pdf estimé sur un ensemble de points fourni.

kde(points)

(ndarray) Identique à kde.evaluate(points)

covariance_factor ( ) [source] #
évaluer ( points ) [source] #

Evaluer le pdf estimé sur un ensemble de points.

Paramètres :
points (# de dimensions, # de points)-tableau

Alternativement, un (# de dimensions,) vecteur peut être transmis et traité comme un point unique.

Retours :
(# de points,)-tableau

Les valeurs à chaque point.

Augmente :
ValueError si la dimensionnalité des points d'entrée est différente

que la dimensionnalité de KDE.

facteur_scotts ( ) [source] #
silverman_factor ( ) [source] #
matplotlib.mlab. angle_spectrum ( x , Fs = Aucun , fenêtre = Aucun , pad_to = Aucun , côtés = Aucun ) #

Calculer l'angle du spectre de fréquence (spectre de phase enveloppé) de x . Les données sont remplies à une longueur de pad_to et la fenêtre de fonction de fenêtrage est appliquée au signal.

Paramètres :
x Tableau ou séquence 1-D

Tableau ou séquence contenant les données

Fs flottant, par défaut : 2

La fréquence d'échantillonnage (échantillons par unité de temps). Il est utilisé pour calculer les fréquences de Fourier, freqs , en cycles par unité de temps.

window callable ou ndarray, par défaut :window_hanning

Une fonction ou un vecteur de longueur NFFT . Pour créer des vecteurs de fenêtre, voir window_hanning, window_none, numpy.blackman, numpy.hamming, numpy.bartlett, scipy.signal, scipy.signal.get_window, etc. Si une fonction est passée en argument, elle doit prendre un segment de données en argument et renvoyer la version fenêtrée du segment.

côtés {'default', 'unilatéral', 'bilatéral'}, facultatif

Quels côtés du spectre revenir. 'default' est unilatéral pour les données réelles et bilatéral pour les données complexes. 'unilatéral' force le retour d'un spectre unilatéral, tandis que 'bilatéral' force bilatéral.

pad_to entier , facultatif

Le nombre de points auxquels le segment de données est complété lors de l'exécution de la FFT. Sans augmenter la résolution réelle du spectre (la distance minimale entre les pics résolubles), cela peut donner plus de points dans le tracé, permettant plus de détails. Cela correspond au paramètre nfft dans l'appel à . La valeur par défaut est None, ce qui définit pad_to égal à la longueur du signal d'entrée (c'est-à-dire sans remplissage).

Retours :
matrice de spectre 1-D

L'angle du spectre de fréquence (spectre de phase enveloppé).

freqs tableau 1-D

Les fréquences correspondant aux éléments du spectre .

Voir également

psd

Renvoie la densité spectrale de puissance.

complex_spectrum

Renvoie le spectre de fréquences à valeurs complexes.

magnitude_spectrum

Renvoie la valeur absolue de complex_spectrum.

angle_spectrum

Renvoie l'angle du complex_spectrum.

phase_spectrum

Renvoie la phase (angle non enveloppé) du complex_spectrum.

specgram

Peut renvoyer le spectre complexe des segments dans le signal.

matplotlib.mlab. cohere ( x , y , NFFT=256 , Fs=2 , detrend=<function detrend_none> , window=<function window_hanning> , noverlap=0 , pad_to=None , sides='default' , scale_by_freq=None ) [source] #

La cohérence entre x et y . La cohérence est la densité spectrale croisée normalisée :

\[C_{xy} = \frac{|P_{xy}|^2}{P_{xx}P_{yy}}\]
Paramètres :
x, y

Tableau ou séquence contenant les données

Fs flottant, par défaut : 2

La fréquence d'échantillonnage (échantillons par unité de temps). Il est utilisé pour calculer les fréquences de Fourier, freqs , en cycles par unité de temps.

window callable ou ndarray, par défaut :window_hanning

Une fonction ou un vecteur de longueur NFFT . Pour créer des vecteurs de fenêtre, voir window_hanning, window_none, numpy.blackman, numpy.hamming, numpy.bartlett, scipy.signal, scipy.signal.get_window, etc. Si une fonction est passée en argument, elle doit prendre un segment de données en argument et renvoyer la version fenêtrée du segment.

côtés {'default', 'unilatéral', 'bilatéral'}, facultatif

Quels côtés du spectre revenir. 'default' est unilatéral pour les données réelles et bilatéral pour les données complexes. 'unilatéral' force le retour d'un spectre unilatéral, tandis que 'bilatéral' force bilatéral.

pad_to entier , facultatif

Le nombre de points auxquels le segment de données est complété lors de l'exécution de la FFT. Cela peut être différent de NFFT , qui spécifie le nombre de points de données utilisés. Sans augmenter la résolution réelle du spectre (la distance minimale entre les pics résolubles), cela peut donner plus de points dans le tracé, permettant plus de détails. Cela correspond au paramètre nfft dans l'appel à . La valeur par défaut est None, ce qui définit pad_to égal à NFFT

NFFT entier , par défaut : 256

Le nombre de points de données utilisés dans chaque bloc pour la FFT. Une puissance 2 est la plus efficace. Cela ne doit PAS être utilisé pour obtenir un remplissage à zéro, sinon la mise à l'échelle du résultat sera incorrecte ; utilisez pad_to pour cela à la place.

detrend {'none', 'mean', 'linear'} ou appelable, par défaut : 'none'

La fonction appliquée à chaque segment avant fft-ing, conçue pour supprimer la tendance moyenne ou linéaire. Contrairement à MATLAB, où le paramètre detrend est un vecteur, dans Matplotlib, il s'agit d'une fonction. Le mlab module définit detrend_none, detrend_meanet detrend_linear, mais vous pouvez également utiliser une fonction personnalisée. Vous pouvez également utiliser une chaîne pour choisir l'une des fonctions : 'none' calls detrend_none. appels "méchants" detrend_mean. appels "linéaires" detrend_linear.

scale_by_freq booléen , par défaut : Vrai

Indique si les valeurs de densité résultantes doivent être mises à l'échelle par la fréquence de mise à l'échelle, qui donne la densité en unités de 1/Hz. Cela permet une intégration sur les valeurs de fréquence renvoyées. La valeur par défaut est True pour la compatibilité MATLAB.

noverlap int, par défaut : 0 (pas de chevauchement)

Le nombre de points de chevauchement entre les segments.

Retours :
Tableau Cxy 1-D

Le vecteur de cohérence.

freqs tableau 1-D

Les fréquences des éléments dans Cxy .

Voir également

psd(),csd()

Pour plus d'informations sur les méthodes utilisées pour calculer\(P_{xy}\),\(P_{xx}\)et\(P_{yy}\).

matplotlib.mlab. complex_spectrum ( x , Fs = Aucun , window = Aucun , pad_to = Aucun , côtés = Aucun ) #

Calculer le spectre de fréquence à valeurs complexes de x . Les données sont remplies à une longueur de pad_to et la fenêtre de fonction de fenêtrage est appliquée au signal.

Paramètres :
x Tableau ou séquence 1-D

Tableau ou séquence contenant les données

Fs flottant, par défaut : 2

La fréquence d'échantillonnage (échantillons par unité de temps). Il est utilisé pour calculer les fréquences de Fourier, freqs , en cycles par unité de temps.

window callable ou ndarray, par défaut :window_hanning

Une fonction ou un vecteur de longueur NFFT . Pour créer des vecteurs de fenêtre, voir window_hanning, window_none, numpy.blackman, numpy.hamming, numpy.bartlett, scipy.signal, scipy.signal.get_window, etc. Si une fonction est passée en argument, elle doit prendre un segment de données en argument et renvoyer la version fenêtrée du segment.

côtés {'default', 'unilatéral', 'bilatéral'}, facultatif

Quels côtés du spectre revenir. 'default' est unilatéral pour les données réelles et bilatéral pour les données complexes. 'unilatéral' force le retour d'un spectre unilatéral, tandis que 'bilatéral' force bilatéral.

pad_to entier , facultatif

Le nombre de points auxquels le segment de données est complété lors de l'exécution de la FFT. Sans augmenter la résolution réelle du spectre (la distance minimale entre les pics résolubles), cela peut donner plus de points dans le tracé, permettant plus de détails. Cela correspond au paramètre nfft dans l'appel à . La valeur par défaut est None, ce qui définit pad_to égal à la longueur du signal d'entrée (c'est-à-dire sans remplissage).

Retours :
matrice de spectre 1-D

Le spectre de fréquences à valeurs complexes.

freqs tableau 1-D

Les fréquences correspondant aux éléments du spectre .

Voir également

psd

Renvoie la densité spectrale de puissance.

complex_spectrum

Renvoie le spectre de fréquences à valeurs complexes.

magnitude_spectrum

Renvoie la valeur absolue de complex_spectrum.

angle_spectrum

Renvoie l'angle du complex_spectrum.

phase_spectrum

Renvoie la phase (angle non enveloppé) du complex_spectrum.

specgram

Peut renvoyer le spectre complexe des segments dans le signal.

matplotlib.mlab. csd ( x , y , NFFT = Aucun , Fs = Aucun , detrend = Aucun , window = Aucun , noverlap = Aucun , pad_to = Aucun , côtés = Aucun , scale_by_freq = Aucun ) [source] #

Calculer la densité spectrale croisée.

La densité spectrale croisée\(P_{xy}\)par la méthode du périodogramme moyen de Welch. Les vecteurs x et y sont divisés en segments de longueur NFFT . Chaque segment est redressé par la fonction detrend et fenêtré par la fonction window . noverlap donne la longueur du chevauchement entre les segments. Le produit des FFT directes de x et y est moyenné sur chaque segment pour calculer\(P_{xy}\), avec une mise à l'échelle pour corriger la perte de puissance due au fenêtrage.

Si len( x ) < NFFT ou len( y ) < NFFT , ils seront remplis de zéros à NFFT .

Paramètres :
x, y tableaux ou séquences 1-D

Tableaux ou séquences contenant les données

Fs flottant, par défaut : 2

La fréquence d'échantillonnage (échantillons par unité de temps). Il est utilisé pour calculer les fréquences de Fourier, freqs , en cycles par unité de temps.

window callable ou ndarray, par défaut :window_hanning

Une fonction ou un vecteur de longueur NFFT . Pour créer des vecteurs de fenêtre, voir window_hanning, window_none, numpy.blackman, numpy.hamming, numpy.bartlett, scipy.signal, scipy.signal.get_window, etc. Si une fonction est passée en argument, elle doit prendre un segment de données en argument et renvoyer la version fenêtrée du segment.

côtés {'default', 'unilatéral', 'bilatéral'}, facultatif

Quels côtés du spectre revenir. 'default' est unilatéral pour les données réelles et bilatéral pour les données complexes. 'unilatéral' force le retour d'un spectre unilatéral, tandis que 'bilatéral' force bilatéral.

pad_to entier , facultatif

Le nombre de points auxquels le segment de données est complété lors de l'exécution de la FFT. Cela peut être différent de NFFT , qui spécifie le nombre de points de données utilisés. Sans augmenter la résolution réelle du spectre (la distance minimale entre les pics résolubles), cela peut donner plus de points dans le tracé, permettant plus de détails. Cela correspond au paramètre nfft dans l'appel à . La valeur par défaut est None, ce qui définit pad_to égal à NFFT

NFFT entier , par défaut : 256

Le nombre de points de données utilisés dans chaque bloc pour la FFT. Une puissance 2 est la plus efficace. Cela ne doit PAS être utilisé pour obtenir un remplissage à zéro, sinon la mise à l'échelle du résultat sera incorrecte ; utilisez pad_to pour cela à la place.

detrend {'none', 'mean', 'linear'} ou appelable, par défaut : 'none'

La fonction appliquée à chaque segment avant fft-ing, conçue pour supprimer la tendance moyenne ou linéaire. Contrairement à MATLAB, où le paramètre detrend est un vecteur, dans Matplotlib, il s'agit d'une fonction. Le mlab module définit detrend_none, detrend_meanet detrend_linear, mais vous pouvez également utiliser une fonction personnalisée. Vous pouvez également utiliser une chaîne pour choisir l'une des fonctions : 'none' calls detrend_none. appels "méchants" detrend_mean. appels "linéaires" detrend_linear.

scale_by_freq booléen , par défaut : Vrai

Indique si les valeurs de densité résultantes doivent être mises à l'échelle par la fréquence de mise à l'échelle, qui donne la densité en unités de 1/Hz. Cela permet une intégration sur les valeurs de fréquence renvoyées. La valeur par défaut est True pour la compatibilité MATLAB.

noverlap int, par défaut : 0 (pas de chevauchement)

Le nombre de points de chevauchement entre les segments.

Retours :
Tableau Pxy 1-D

Les valeurs du spectre croisé\(P_{xy}\)avant mise à l'échelle (valeur réelle)

freqs tableau 1-D

Les fréquences correspondant aux éléments de Pxy

Voir également

psd

équivalent au réglage .y = x

Références

Bendat & Piersol -- Données aléatoires : Procédures d'analyse et de mesure, John Wiley & Sons (1986)

matplotlib.mlab. detrend ( x , key = None , axis = None ) [source] #

Renvoie x avec sa tendance supprimée.

Paramètres :
x tableau ou séquence

Tableau ou séquence contenant les données.

clé {'default', 'constant', 'mean', 'linear', 'none'} ou fonction

Algorithme de suppression de tendance à utiliser. 'default', 'mean' et 'constant' sont les mêmes que detrend_mean. 'linéaire' est identique à detrend_linear. 'aucun' est identique à detrend_none. La valeur par défaut est 'moyenne'. Voir les fonctions correspondantes pour plus de détails concernant les algorithmes. Peut également être une fonction qui effectue l'opération de suppression de tendance.

axe entier

L'axe le long duquel effectuer la suppression de tendance.

Voir également

detrend_mean

Implémentation de l'algorithme 'mean'.

detrend_linear

Implémentation de l'algorithme 'linéaire'.

detrend_none

Implémentation de l'algorithme 'none'.

matplotlib.mlab. detrend_linear ( y ) [source] #

Renvoie x moins la ligne de meilleur ajustement ; suppression de tendance "linéaire".

Paramètres :
y Tableau ou séquence 0-D ou 1-D

Tableau ou séquence contenant les données

Voir également

detrend_mean

Un autre algorithme de tendance.

detrend_none

Un autre algorithme de tendance.

detrend

Un wrapper autour de tous les algorithmes de suppression de tendance.

matplotlib.mlab. detrend_mean ( x , axe = Aucun ) [source] #

Renvoie x moins la moyenne ( x ).

Paramètres :
x tableau ou séquence

Tableau ou séquence contenant les données Peut avoir n'importe quelle dimensionnalité

axe entier

L'axe le long duquel prendre la moyenne. Voir numpy.meanpour une description de cet argument.

Voir également

detrend_linear

Un autre algorithme de tendance.

detrend_none

Un autre algorithme de tendance.

detrend

Un wrapper autour de tous les algorithmes de suppression de tendance.

matplotlib.mlab. detrend_none ( x , axe = Aucun ) [source] #

Retour x : pas de suppression de tendance.

Paramètres :
x n'importe quel objet

Un objet contenant les données

axe entier

Ce paramètre est ignoré. Il est inclus pour la compatibilité avec detrend_mean

Voir également

detrend_mean

Un autre algorithme de tendance.

detrend_linear

Un autre algorithme de tendance.

detrend

Un wrapper autour de tous les algorithmes de suppression de tendance.

matplotlib.mlab. magnitude_spectrum ( x , Fs = Aucun , window = Aucun , pad_to = Aucun , côtés = Aucun ) #

Calculer l'amplitude (valeur absolue) du spectre de fréquence de x . Les données sont remplies à une longueur de pad_to et la fenêtre de fonction de fenêtrage est appliquée au signal.

Paramètres :
x Tableau ou séquence 1-D

Tableau ou séquence contenant les données

Fs flottant, par défaut : 2

La fréquence d'échantillonnage (échantillons par unité de temps). Il est utilisé pour calculer les fréquences de Fourier, freqs , en cycles par unité de temps.

window callable ou ndarray, par défaut :window_hanning

Une fonction ou un vecteur de longueur NFFT . Pour créer des vecteurs de fenêtre, voir window_hanning, window_none, numpy.blackman, numpy.hamming, numpy.bartlett, scipy.signal, scipy.signal.get_window, etc. Si une fonction est passée en argument, elle doit prendre un segment de données en argument et renvoyer la version fenêtrée du segment.

côtés {'default', 'unilatéral', 'bilatéral'}, facultatif

Quels côtés du spectre revenir. 'default' est unilatéral pour les données réelles et bilatéral pour les données complexes. 'unilatéral' force le retour d'un spectre unilatéral, tandis que 'bilatéral' force bilatéral.

pad_to entier , facultatif

Le nombre de points auxquels le segment de données est complété lors de l'exécution de la FFT. Sans augmenter la résolution réelle du spectre (la distance minimale entre les pics résolubles), cela peut donner plus de points dans le tracé, permettant plus de détails. Cela correspond au paramètre nfft dans l'appel à . La valeur par défaut est None, ce qui définit pad_to égal à la longueur du signal d'entrée (c'est-à-dire sans remplissage).

Retours :
matrice de spectre 1-D

L'amplitude (valeur absolue) du spectre de fréquence.

freqs tableau 1-D

Les fréquences correspondant aux éléments du spectre .

Voir également

psd

Renvoie la densité spectrale de puissance.

complex_spectrum

Renvoie le spectre de fréquences à valeurs complexes.

magnitude_spectrum

Renvoie la valeur absolue de complex_spectrum.

angle_spectrum

Renvoie l'angle du complex_spectrum.

phase_spectrum

Renvoie la phase (angle non enveloppé) du complex_spectrum.

specgram

Peut renvoyer le spectre complexe des segments dans le signal.

matplotlib.mlab. phase_spectrum ( x , Fs = Aucun , window = Aucun , pad_to = Aucun , côtés = Aucun ) #

Calculer la phase du spectre de fréquence (spectre de phase non enveloppé) de x . Les données sont remplies à une longueur de pad_to et la fenêtre de fonction de fenêtrage est appliquée au signal.

Paramètres :
x Tableau ou séquence 1-D

Tableau ou séquence contenant les données

Fs flottant, par défaut : 2

La fréquence d'échantillonnage (échantillons par unité de temps). Il est utilisé pour calculer les fréquences de Fourier, freqs , en cycles par unité de temps.

window callable ou ndarray, par défaut :window_hanning

Une fonction ou un vecteur de longueur NFFT . Pour créer des vecteurs de fenêtre, voir window_hanning, window_none, numpy.blackman, numpy.hamming, numpy.bartlett, scipy.signal, scipy.signal.get_window, etc. Si une fonction est passée en argument, elle doit prendre un segment de données en argument et renvoyer la version fenêtrée du segment.

côtés {'default', 'unilatéral', 'bilatéral'}, facultatif

Quels côtés du spectre revenir. 'default' est unilatéral pour les données réelles et bilatéral pour les données complexes. 'unilatéral' force le retour d'un spectre unilatéral, tandis que 'bilatéral' force bilatéral.

pad_to entier , facultatif

Le nombre de points auxquels le segment de données est complété lors de l'exécution de la FFT. Sans augmenter la résolution réelle du spectre (la distance minimale entre les pics résolubles), cela peut donner plus de points dans le tracé, permettant plus de détails. Cela correspond au paramètre nfft dans l'appel à . La valeur par défaut est None, ce qui définit pad_to égal à la longueur du signal d'entrée (c'est-à-dire sans remplissage).

Retours :
matrice de spectre 1-D

La phase du spectre de fréquence (spectre de phase non enveloppé).

freqs tableau 1-D

Les fréquences correspondant aux éléments du spectre .

Voir également

psd

Renvoie la densité spectrale de puissance.

complex_spectrum

Renvoie le spectre de fréquences à valeurs complexes.

magnitude_spectrum

Renvoie la valeur absolue de complex_spectrum.

angle_spectrum

Renvoie l'angle du complex_spectrum.

phase_spectrum

Renvoie la phase (angle non enveloppé) du complex_spectrum.

specgram

Peut renvoyer le spectre complexe des segments dans le signal.

matplotlib.mlab. psd ( x , NFFT = Aucun , Fs = Aucun , detrend = Aucun , window = Aucun , noverlap = Aucun , pad_to = Aucun , côtés = Aucun , scale_by_freq = Aucun ) [source] #

Calculer la densité spectrale de puissance.

La densité spectrale de puissance\(P_{xx}\)par la méthode du périodogramme moyen de Welch. Le vecteur x est divisé en segments de longueur NFFT . Chaque segment est redressé par la fonction detrend et fenêtré par la fonction window . noverlap donne la longueur du chevauchement entre les segments. La\(|\mathrm{fft}(i)|^2\) de chaque segment\(i\)sont moyennés pour calculer\(P_{xx}\).

Si len( x ) < NFFT , il sera rempli de zéros à NFFT .

Paramètres :
x Tableau ou séquence 1-D

Tableau ou séquence contenant les données

Fs flottant, par défaut : 2

La fréquence d'échantillonnage (échantillons par unité de temps). Il est utilisé pour calculer les fréquences de Fourier, freqs , en cycles par unité de temps.

window callable ou ndarray, par défaut :window_hanning

Une fonction ou un vecteur de longueur NFFT . Pour créer des vecteurs de fenêtre, voir window_hanning, window_none, numpy.blackman, numpy.hamming, numpy.bartlett, scipy.signal, scipy.signal.get_window, etc. Si une fonction est passée en argument, elle doit prendre un segment de données en argument et renvoyer la version fenêtrée du segment.

côtés {'default', 'unilatéral', 'bilatéral'}, facultatif

Quels côtés du spectre revenir. 'default' est unilatéral pour les données réelles et bilatéral pour les données complexes. 'unilatéral' force le retour d'un spectre unilatéral, tandis que 'bilatéral' force bilatéral.

pad_to entier , facultatif

Le nombre de points auxquels le segment de données est complété lors de l'exécution de la FFT. Cela peut être différent de NFFT , qui spécifie le nombre de points de données utilisés. Sans augmenter la résolution réelle du spectre (la distance minimale entre les pics résolubles), cela peut donner plus de points dans le tracé, permettant plus de détails. Cela correspond au paramètre nfft dans l'appel à . La valeur par défaut est None, ce qui définit pad_to égal à NFFT

NFFT entier , par défaut : 256

Le nombre de points de données utilisés dans chaque bloc pour la FFT. Une puissance 2 est la plus efficace. Cela ne doit PAS être utilisé pour obtenir un remplissage à zéro, sinon la mise à l'échelle du résultat sera incorrecte ; utilisez pad_to pour cela à la place.

detrend {'none', 'mean', 'linear'} ou appelable, par défaut : 'none'

La fonction appliquée à chaque segment avant fft-ing, conçue pour supprimer la tendance moyenne ou linéaire. Contrairement à MATLAB, où le paramètre detrend est un vecteur, dans Matplotlib, il s'agit d'une fonction. Le mlab module définit detrend_none, detrend_meanet detrend_linear, mais vous pouvez également utiliser une fonction personnalisée. Vous pouvez également utiliser une chaîne pour choisir l'une des fonctions : 'none' calls detrend_none. appels "méchants" detrend_mean. appels "linéaires" detrend_linear.

scale_by_freq booléen , par défaut : Vrai

Indique si les valeurs de densité résultantes doivent être mises à l'échelle par la fréquence de mise à l'échelle, qui donne la densité en unités de 1/Hz. Cela permet une intégration sur les valeurs de fréquence renvoyées. La valeur par défaut est True pour la compatibilité MATLAB.

noverlap int, par défaut : 0 (pas de chevauchement)

Le nombre de points de chevauchement entre les segments.

Retours :
Baie Pxx 1-D

Les valeurs du spectre de puissance\(P_{xx}\)(valeur réelle)

freqs tableau 1-D

Les fréquences correspondant aux éléments dans Pxx

Voir également

specgram

specgramdiffère par le chevauchement par défaut ; à ne pas retourner la moyenne des périodogrammes de segments ; et en renvoyant les temps des segments.

magnitude_spectrum

renvoie le spectre de magnitude.

csd

renvoie la densité spectrale entre deux signaux.

Références

Bendat & Piersol -- Données aléatoires : Procédures d'analyse et de mesure, John Wiley & Sons (1986)

matplotlib.mlab. specgram ( x , NFFT = Aucun , Fs = Aucun , detrend = Aucun , window = Aucun , noverlap = Aucun , pad_to = Aucun , côtés = Aucun , scale_by_freq = Aucun , mode = Aucun ) [source] #

Calculer un spectrogramme.

Calculer et tracer un spectrogramme de données en x . Les données sont divisées en segments de longueur NFFT et le spectre de chaque section est calculé. La fonction de fenêtrage window est appliquée à chaque segment et la quantité de chevauchement de chaque segment est spécifiée avec noverlap .

Paramètres :
x de type tableau

Tableau ou séquence 1-D.

Fs flottant, par défaut : 2

La fréquence d'échantillonnage (échantillons par unité de temps). Il est utilisé pour calculer les fréquences de Fourier, freqs , en cycles par unité de temps.

window callable ou ndarray, par défaut :window_hanning

Une fonction ou un vecteur de longueur NFFT . Pour créer des vecteurs de fenêtre, voir window_hanning, window_none, numpy.blackman, numpy.hamming, numpy.bartlett, scipy.signal, scipy.signal.get_window, etc. Si une fonction est passée en argument, elle doit prendre un segment de données en argument et renvoyer la version fenêtrée du segment.

côtés {'default', 'unilatéral', 'bilatéral'}, facultatif

Quels côtés du spectre revenir. 'default' est unilatéral pour les données réelles et bilatéral pour les données complexes. 'unilatéral' force le retour d'un spectre unilatéral, tandis que 'bilatéral' force bilatéral.

pad_to entier , facultatif

Le nombre de points auxquels le segment de données est complété lors de l'exécution de la FFT. Cela peut être différent de NFFT , qui spécifie le nombre de points de données utilisés. Sans augmenter la résolution réelle du spectre (la distance minimale entre les pics résolubles), cela peut donner plus de points dans le tracé, permettant plus de détails. Cela correspond au paramètre nfft dans l'appel à . La valeur par défaut est None, ce qui définit pad_to égal à NFFT

NFFT entier , par défaut : 256

Le nombre de points de données utilisés dans chaque bloc pour la FFT. Une puissance 2 est la plus efficace. Cela ne doit PAS être utilisé pour obtenir un remplissage à zéro, sinon la mise à l'échelle du résultat sera incorrecte ; utilisez pad_to pour cela à la place.

detrend {'none', 'mean', 'linear'} ou appelable, par défaut : 'none'

La fonction appliquée à chaque segment avant fft-ing, conçue pour supprimer la tendance moyenne ou linéaire. Contrairement à MATLAB, où le paramètre detrend est un vecteur, dans Matplotlib, il s'agit d'une fonction. Le mlab module définit detrend_none, detrend_meanet detrend_linear, mais vous pouvez également utiliser une fonction personnalisée. Vous pouvez également utiliser une chaîne pour choisir l'une des fonctions : 'none' calls detrend_none. appels "méchants" detrend_mean. appels "linéaires" detrend_linear.

scale_by_freq booléen , par défaut : Vrai

Indique si les valeurs de densité résultantes doivent être mises à l'échelle par la fréquence de mise à l'échelle, qui donne la densité en unités de 1/Hz. Cela permet une intégration sur les valeurs de fréquence renvoyées. La valeur par défaut est True pour la compatibilité MATLAB.

noverlap int, par défaut : 128

Le nombre de points de chevauchement entre les blocs.

mode str, par défaut : 'psd'
Quel type de spectre utiliser :
'psd'

Renvoie la densité spectrale de puissance.

'complexe'

Renvoie le spectre de fréquences à valeurs complexes.

'ordre de grandeur'

Renvoie le spectre de magnitude.

'angle'

Renvoie le spectre de phase sans dépliage.

'phase'

Renvoie le spectre de phase avec déroulement.

Retours :
en forme de tableau de spectre

Tableau 2D, les colonnes sont les périodogrammes des segments successifs.

freqs comme un tableau

Tableau 1-D, fréquences correspondant aux lignes du spectre .

t comme un tableau

Tableau 1-D, les temps correspondant aux points médians des segments (c'est-à-dire les colonnes du spectre ).

Voir également

psd

diffère dans le chevauchement et dans les valeurs de retour.

complex_spectrum

similaires, mais avec des fréquences valuées complexes.

magnitude_spectrum

segment unique similaire lorsque le mode est 'magnitude'.

angle_spectrum

similaire à un seul segment lorsque le mode est 'angle'.

phase_spectrum

similaire à un seul segment lorsque le mode est 'phase'.

Remarques

detrend et scale_by_freq ne s'appliquent que lorsque mode est défini sur 'psd'.

matplotlib.mlab. stride_windows ( x , n , noverlap = None , axis = 0 ) [source] #

[ Obsolète ] Récupère toutes les fenêtres de x avec une longueur n dans un tableau unique, en utilisant des foulées pour éviter la duplication des données.

Avertissement

Il n'est pas sûr d'écrire dans le tableau de sortie. Plusieurs éléments peuvent pointer vers le même morceau de mémoire, donc la modification d'une valeur peut en changer d'autres.

Paramètres :
x Tableau ou séquence 1D

Tableau ou séquence contenant les données.

n entier

Le nombre de points de données dans chaque fenêtre.

noverlap int, par défaut : 0 (pas de chevauchement)

Le chevauchement entre les fenêtres adjacentes.

axe entier

L'axe le long duquel les fenêtres s'exécuteront.

Remarques

Obsolète depuis la version 3.6.

Références

stackoverflow : fenêtre glissante pour les tableaux 1D dans Numpy ? stackoverflow : Utilisation de strides pour un filtre de moyenne mobile efficace

matplotlib.mlab. window_hanning ( x ) [source] #

Renvoie x fois la fenêtre de Hanning (ou Hann) de len( x ).

Voir également

window_none

Un autre algorithme de fenêtre.

matplotlib.mlab. window_none ( x ) [source] #

Pas de fonction fenêtre ; renvoyez simplement x .

Voir également

window_hanning

Un autre algorithme de fenêtre.