matplotlib.axes.Axes.specgram #
- Haches. specgram ( x , NFFT = Aucun , Fs = Aucun , Fc = Aucun , detrend = Aucun , window = Aucun , noverlap = Aucun , cmap = Aucun , xextent = Aucun , pad_to = Aucun , côtés = Aucun , scale_by_freq = Aucun , mode = Aucun ,échelle = Aucun , vmin = Aucun , vmax = Aucun , * , données = Aucun , ** kwargs ) [source] #
Tracez 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 . Le spectrogramme est tracé sous forme de palette de couleurs (en utilisant imshow).
- 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.
- mode {'default', 'psd', 'magnitude', 'angle', 'phase'}
Quel type de spectre utiliser. La valeur par défaut est 'psd', qui prend la densité spectrale de puissance. 'magnitude' renvoie le spectre de magnitude. 'angle' renvoie le spectre de phase sans dépliage. 'phase' renvoie le spectre de phase avec déroulement.
- noverlap int, par défaut : 128
Le nombre de points de chevauchement entre les blocs.
- échelle {'défaut', 'linéaire', 'dB'}
La mise à l'échelle des valeurs dans la spécification . 'linéaire' n'est pas mis à l'échelle. 'dB' renvoie les valeurs en échelle de dB. Lorsque le mode est 'psd', il s'agit de la puissance dB (10 * log10). Sinon, c'est l'amplitude en dB (20 * log10). 'default' est 'dB' si le mode est 'psd' ou 'magnitude' et 'linear' sinon. Cela doit être 'linéaire' si le mode est 'angle' ou 'phase'.
- Fc entier, par défaut : 0
La fréquence centrale de x , qui compense les étendues x du tracé pour refléter la plage de fréquences utilisée lorsqu'un signal est acquis, puis filtré et sous-échantillonné en bande de base.
- cmap
Colormap
, par défaut :rcParams["image.cmap"]
(par défaut :'viridis'
) - xextent Aucun ou (xmin, xmax)
L'étendue de l'image le long de l'axe des x. La valeur par défaut définit xmin sur le bord gauche du premier bin ( colonne du spectre ) et xmax sur le bord droit du dernier bin. Notez que pour noverlap>0 la largeur des cases est inférieure à celle des segments.
- objet de données indexable, facultatif
S'ils sont fournis, les paramètres suivants acceptent également une chaîne
s
, qui est interprétée commedata[s]
(sauf si cela déclenche une exception) :X
- **kwargs
Des arguments de mots-clés supplémentaires sont transmis à
imshow
ce qui crée l'image du specgram. L'argument du mot clé d'origine n'est pas pris en charge.
- Retours :
- matrice de spectre 2D
Les colonnes sont les périodogrammes des segments successifs.
- freqs tableau 1-D
Les fréquences correspondant aux rangées du spectre .
- t Tableau 1-D
Les temps correspondant aux points médians des segments (c'est-à-dire les colonnes du spectre ).
- je suis
AxesImage
L'image créée par imshow contenant le spectrogramme.
Voir également
psd
Diffère dans le chevauchement par défaut ; à restituer la moyenne des périodogrammes de segments ; en ne revenant pas; et en générant un tracé linéaire au lieu d'une palette de couleurs.
magnitude_spectrum
Un seul spectre, similaire à un seul segment lorsque le mode est "magnitude". Trace une ligne au lieu d'une palette de couleurs.
angle_spectrum
Un seul spectre, similaire à un seul segment lorsque le mode est 'angle'. Trace une ligne au lieu d'une palette de couleurs.
phase_spectrum
Un seul spectre, similaire à un seul segment lorsque le mode est 'phase'. Trace une ligne au lieu d'une palette de couleurs.
Remarques
Les paramètres detrend et scale_by_freq ne s'appliquent que lorsque mode est défini sur 'psd'.
Exemples utilisant matplotlib.axes.Axes.specgram
#
Démonstration du spectrogramme