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 nfft 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 definisce detrend_none, detrend_meane detrend_linear, ma puoi anche utilizzare una funzione personalizzata. Puoi anche usare una stringa per scegliere una delle funzioni: 'none' calls detrend_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 come data[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 sonoAxesImage

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'.