matplotlib.pyplot.specgram #
- matplotlib.pyplot. specgram ( x , NFFT = Nessuno , Fs = Nessuno , Fc = Nessuno , detrend = Nessuno , window = Nessuno , noverlap = Nessuno , cmap = Nessuno , xextent = Nessuno , pad_to = Nessuno , lati = Nessuno , scale_by_freq = Nessuno , mode = Nessuno, scale = Nessuno , vmin = Nessuno , vmax = Nessuno , * , data = Nessuno , ** kwargs ) [fonte] #
Traccia uno spettrogramma.
Calcolare e tracciare uno spettrogramma di dati in x . I dati vengono suddivisi in segmenti di lunghezza NFFT e viene calcolato lo spettro di ciascuna sezione. La funzione windowing window viene applicata a ciascun segmento e la quantità di sovrapposizione di ciascun segmento viene specificata con noverlap . Lo spettrogramma viene tracciato come una mappa dei colori (usando imshow).
- Parametri :
- x Array o sequenza 1-D
Matrice o sequenza contenente i dati.
- Fs float, predefinito: 2
La frequenza di campionamento (campioni per unità di tempo). Viene utilizzato per calcolare le frequenze di Fourier, freqs , in cicli per unità di tempo.
- finestra chiamabile o ndarray, default:
window_hanning
Una funzione o un vettore di lunghezza NFFT . Per creare vettori finestra vedere
window_hanning
,window_none
,numpy.blackman
,numpy.hamming
,numpy.bartlett
,scipy.signal
,scipy.signal.get_window
, ecc. Se una funzione viene passata come argomento, deve prendere un segmento di dati come argomento e restituire la versione con finestra del segmento.- lati {'default', 'onesided', 'twosided'}, facoltativo
Quali lati dello spettro tornare. 'default' è unilaterale per i dati reali e bilaterale per i dati complessi. "unilaterale" forza il ritorno di uno spettro unilaterale, mentre "twosided" forza bilaterale.
- pad_to int, facoltativo
Il numero di punti in cui viene riempito il segmento di dati durante l'esecuzione della FFT. Questo può essere diverso da NFFT , che specifica il numero di punti dati utilizzati. Pur non aumentando la risoluzione effettiva dello spettro (la distanza minima tra i picchi risolvibili), ciò può fornire più punti nel grafico, consentendo maggiori dettagli. Questo corrisponde al parametro n
fft
nella chiamata a . L'impostazione predefinita è None, che imposta pad_to uguale a NFFT- NFFT int, predefinito: 256
Il numero di punti dati utilizzati in ogni blocco per la FFT. Una potenza 2 è più efficiente. Questo NON dovrebbe essere usato per ottenere zero padding, o il ridimensionamento del risultato non sarà corretto; usa invece pad_to per questo.
- detrend {'none', 'mean', 'linear'} o richiamabile, default: 'none'
La funzione applicata a ciascun segmento prima di fft-ing, progettata per rimuovere la tendenza media o lineare. A differenza di MATLAB, dove il parametro detrend è un vettore, in Matplotlib è una funzione. Il
mlab
modulo definiscedetrend_none
,detrend_mean
edetrend_linear
, ma puoi anche utilizzare una funzione personalizzata. Puoi anche usare una stringa per scegliere una delle funzioni: 'none' callsdetrend_none
. chiamate "cattive"detrend_mean
. chiamate 'lineari'detrend_linear
.- scale_by_freq bool, predefinito: vero
Indica se i valori di densità risultanti devono essere ridimensionati in base alla frequenza di ridimensionamento, che fornisce la densità in unità di 1/Hz. Ciò consente l'integrazione sui valori di frequenza restituiti. Il valore predefinito è True per la compatibilità MATLAB.
- modalità {'default', 'psd', 'magnitudine', 'angolo', 'fase'}
Che tipo di spettro usare. L'impostazione predefinita è 'psd', che prende la densità spettrale di potenza. 'magnitudine' restituisce lo spettro della magnitudine. 'angle' restituisce lo spettro di fase senza scartare. 'phase' restituisce lo spettro di fase con unwrapping.
- noverlap int, predefinito: 128
Il numero di punti di sovrapposizione tra i blocchi.
- scala {'default', 'linear', 'dB'}
Il ridimensionamento dei valori nel file spec . 'lineare' non è ridimensionamento. 'dB' restituisce i valori in scala dB. Quando la modalità è 'psd', questa è la potenza in dB (10 * log10). Altrimenti questa è l'ampiezza in dB (20 * log10). 'default' è 'dB' se mode è 'psd' o 'magnitude' e 'linear' altrimenti. Deve essere 'lineare' se la modalità è 'angolo' o 'fase'.
- Fc int, predefinito: 0
La frequenza centrale di x , che compensa le estensioni x del grafico per riflettere l'intervallo di frequenza utilizzato quando un segnale viene acquisito e quindi filtrato e sottoposto a downsampling in banda base.
- cmap
Colormap
, predefinito:rcParams["image.cmap"]
(predefinito:'viridis'
) - xextent Nessuno o (xmin, xmax)
L'estensione dell'immagine lungo l'asse x. L'impostazione predefinita imposta xmin sul bordo sinistro del primo bin ( colonna dello spettro ) e xmax sul bordo destro dell'ultimo bin. Si noti che per noverlap>0 la larghezza dei bin è minore di quella dei segmenti.
- oggetto indicizzabile dei dati , facoltativo
Se forniti, i seguenti parametri accettano anche una stringa
s
, che viene interpretata comedata[s]
(a meno che ciò non sollevi un'eccezione):X
- **kwargs
Ulteriori argomenti di parole chiave vengono passati a
imshow
cui crea l'immagine dello specgramma. L'argomento della parola chiave origin non è supportato.
- Resi :
- schiera di spettro 2D
Le colonne sono i periodogrammi di segmenti successivi.
- freqs matrice 1-D
Le frequenze corrispondenti alle righe nello spettro .
- t Matrice 1-D
I tempi corrispondenti ai punti medi dei segmenti (ovvero le colonne in spectrum ).
- io sono
AxesImage
L'immagine creata da imshow contenente lo spettrogramma.
Guarda anche
psd
Differisce nella sovrapposizione predefinita; nel restituire la media dei periodogrammi del segmento; nei tempi di non ritorno; e nel generare un grafico a linee invece di una mappa di colori.
magnitude_spectrum
Un singolo spettro, simile ad avere un singolo segmento quando la modalità è "magnitudo". Traccia una linea invece di una mappa di colori.
angle_spectrum
Un singolo spettro, simile ad avere un singolo segmento quando la modalità è 'angolo'. Traccia una linea invece di una mappa di colori.
phase_spectrum
Un singolo spettro, simile ad avere un singolo segmento quando la modalità è "fase". Traccia una linea invece di una mappa di colori.
Appunti
I parametri detrend e scale_by_freq si applicano solo quando mode è impostato su 'psd'.