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 uneGaussianKDE
instance 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)
- é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.
- 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 n
fft
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 n
fft
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éfinitdetrend_none
,detrend_mean
etdetrend_linear
, mais vous pouvez également utiliser une fonction personnalisée. Vous pouvez également utiliser une chaîne pour choisir l'une des fonctions : 'none' callsdetrend_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 .
- 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 n
fft
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 n
fft
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éfinitdetrend_none
,detrend_mean
etdetrend_linear
, mais vous pouvez également utiliser une fonction personnalisée. Vous pouvez également utiliser une chaîne pour choisir l'une des fonctions : 'none' callsdetrend_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.mean
pour 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 n
fft
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 n
fft
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 n
fft
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éfinitdetrend_none
,detrend_mean
etdetrend_linear
, mais vous pouvez également utiliser une fonction personnalisée. Vous pouvez également utiliser une chaîne pour choisir l'une des fonctions : 'none' callsdetrend_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
specgram
diffè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 n
fft
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éfinitdetrend_none
,detrend_mean
etdetrend_linear
, mais vous pouvez également utiliser une fonction personnalisée. Vous pouvez également utiliser une chaîne pour choisir l'une des fonctions : 'none' callsdetrend_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.