matplotlib.mlab#

Funzioni Python numeriche scritte per la compatibilità con i comandi MATLAB con gli stessi nomi. La maggior parte delle funzioni Python numeriche può essere trovata nelle librerie NumPy e SciPy . Ciò che rimane qui è il codice per eseguire calcoli spettrali e stime della densità del kernel.

Funzioni spettrali #

cohere

Coerenza (densità spettrale incrociata normalizzata)

csd

Densità spettrale incrociata utilizzando il periodogramma medio di Welch

detrend

Rimuovi la linea media o migliore da un array

psd

Densità spettrale di potenza utilizzando il periodogramma medio di Welch

specgram

Spettrogramma (spettro su segmenti di tempo)

complex_spectrum

Restituisce lo spettro di frequenza a valori complessi di un segnale

magnitude_spectrum

Restituisce l'ampiezza dello spettro di frequenza di un segnale

angle_spectrum

Restituisce l'angolo (fase avvolta) dello spettro di frequenza di un segnale

phase_spectrum

Restituisce la fase (angolo non avvolto) dello spettro di frequenza di un segnale

detrend_mean

Rimuovi la media da una linea.

detrend_linear

Rimuovi la linea più adatta da una linea.

detrend_none

Restituisce la riga originale.

stride_windows

Ottenere tutte le finestre in un array in modo efficiente in termini di memoria

classe matplotlib.mlab. GaussianKDE ( set di dati , bw_method = None ) [fonte] #

Basi:object

Rappresentazione di una stima della densità del kernel utilizzando kernel gaussiani.

Parametri :
simile a un array di set di dati

Punti dati da cui effettuare la stima. In caso di dati univariati questo è un array 1-D, altrimenti un array 2D con forma (# di dims, # di dati).

bw_method str, scalare o richiamabile, facoltativo

Il metodo utilizzato per calcolare la larghezza di banda dello stimatore. Questo può essere 'scott', 'silverman', una costante scalare o un callable. Se uno scalare, questo verrà utilizzato direttamente come kde.factor. Se un callable, dovrebbe prendere GaussianKDEun'istanza come unico parametro e restituire uno scalare. Se None (predefinito), viene utilizzato 'scott'.

Attributi :
set di dati ndarray

Il set di dati passato al costruttore.

dim int

Numero di dimensioni.

num_dp int

Numero di punti dati.

fattore flottante

Il fattore di larghezza di banda, ottenuto da kde.covariance_factor, con il quale viene moltiplicata la matrice di covarianza.

covarianza narray

La matrice di covarianza del set di dati , ridimensionata in base alla larghezza di banda calcolata ( kde.factor).

inv_cov ndarray

L'inverso della covarianza .

Metodi

kde.evaluate(punti)

(ndarray) Valuta il pdf stimato su un insieme di punti fornito.

kde(punti)

(ndarray) Uguale a kde.evaluate(punti)

fattore_covarianza ( ) [fonte] #
valutare ( punti ) [fonte] #

Valutare il pdf stimato su una serie di punti.

Parametri :
points (# di dimensioni, # di punti)-array

In alternativa, un (numero di dimensioni) vettore può essere passato e trattato come un singolo punto.

Resi :
(# di punti,)-array

I valori in ogni punto.

Rialzi :
ValueError se la dimensionalità dei punti di input è diversa

rispetto alla dimensionalità di KDE.

fattore_scott ( ) [fonte] #
silverman_factor ( ) [fonte] #
matplotlib.mlab. angolo_spettro ( x , Fs = Nessuno , finestra = Nessuno , pad_to = Nessuno , lati = Nessuno ) #

Calcola l'angolo dello spettro di frequenza (spettro di fase avvolto) di x . I dati vengono riempiti fino a una lunghezza di pad_to e la finestra della funzione window viene applicata al segnale.

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. 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 alla lunghezza del segnale di ingresso (cioè nessuna spaziatura interna).

Resi :
matrice 1-D dello spettro

L'angolo dello spettro di frequenza (spettro di fase avvolto).

freqs matrice 1-D

Le frequenze corrispondenti agli elementi nello spettro .

Guarda anche

psd

Restituisce la densità spettrale di potenza.

complex_spectrum

Restituisce lo spettro di frequenza a valori complessi.

magnitude_spectrum

Restituisce il valore assoluto di complex_spectrum.

angle_spectrum

Restituisce l'angolo di complex_spectrum.

phase_spectrum

Restituisce la fase (angolo non avvolto) di complex_spectrum.

specgram

Può restituire il complesso spettro di segmenti all'interno del segnale.

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

La coerenza tra x e y . La coerenza è la densità spettrale incrociata normalizzata:

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

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.

noverlap int, predefinito: 0 (nessuna sovrapposizione)

Il numero di punti di sovrapposizione tra i segmenti.

Resi :
Matrice 1D Cxy

Il vettore di coerenza.

freqs matrice 1-D

Le frequenze per gli elementi in Cxy .

Guarda anche

psd(),csd()

Per informazioni sui metodi utilizzati per calcolare\(P_{xy}\),\(P_{xx}\)e\(P_{yy}\).

matplotlib.mlab. spettro_complesso ( x , Fs = Nessuno , finestra = Nessuno , pad_to = Nessuno , lati = Nessuno ) #

Calcola lo spettro di frequenza a valori complessi di x . I dati vengono riempiti fino a una lunghezza di pad_to e la finestra della funzione window viene applicata al segnale.

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. 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 alla lunghezza del segnale di ingresso (cioè nessuna spaziatura interna).

Resi :
matrice 1-D dello spettro

Lo spettro di frequenza a valori complessi.

freqs matrice 1-D

Le frequenze corrispondenti agli elementi nello spettro .

Guarda anche

psd

Restituisce la densità spettrale di potenza.

complex_spectrum

Restituisce lo spettro di frequenza a valori complessi.

magnitude_spectrum

Restituisce il valore assoluto di complex_spectrum.

angle_spectrum

Restituisce l'angolo di complex_spectrum.

phase_spectrum

Restituisce la fase (angolo non avvolto) di complex_spectrum.

specgram

Può restituire il complesso spettro di segmenti all'interno del segnale.

matplotlib.mlab. csd ( x , y , NFFT = Nessuno , Fs = Nessuno , detrend = Nessuno , window = Nessuno , noverlap = Nessuno , pad_to = Nessuno , lati = Nessuno , scale_by_freq = Nessuno ) [fonte] #

Calcolare la densità cross-spettrale.

La densità spettrale incrociata\(P_{xy}\)con il metodo del periodogramma medio di Welch. I vettori x e y sono divisi in segmenti di lunghezza NFFT . Ogni segmento è detrend dalla funzione detrend e finestrato dalla funzione window . noverlap fornisce la lunghezza della sovrapposizione tra i segmenti. Il prodotto delle FFT dirette di x e y viene calcolato in media su ogni segmento da calcolare\(P_{xy}\), con un ridimensionamento per correggere la perdita di potenza dovuta al windowing.

Se len( x ) < NFFT o len( y ) < NFFT , verranno riempiti con zero in NFFT .

Parametri :
x, y matrici o sequenze 1-D

Matrici o sequenze contenenti 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.

noverlap int, predefinito: 0 (nessuna sovrapposizione)

Il numero di punti di sovrapposizione tra i segmenti.

Resi :
Matrice Pxy 1-D

I valori per lo spettro incrociato\(P_{xy}\)prima del ridimensionamento (valori reali)

freqs matrice 1-D

Le frequenze corrispondenti agli elementi in Pxy

Guarda anche

psd

equivalente all'impostazione .y = x

Riferimenti

Bendat & Piersol - Dati casuali: procedure di analisi e misurazione, John Wiley & Sons (1986)

matplotlib.mlab. detrend ( x , chiave = Nessuno , asse = Nessuno ) [fonte] #

Restituisci x con la sua tendenza rimossa.

Parametri :
matrice o sequenza x

Matrice o sequenza contenente i dati.

chiave {'default', 'constant', 'mean', 'linear', 'none'} o funzione

L'algoritmo di detrending da utilizzare. 'default', 'mean' e 'constant' sono gli stessi di detrend_mean. 'lineare' è lo stesso di detrend_linear. 'nessuno' equivale a detrend_none. L'impostazione predefinita è 'media'. Vedere le funzioni corrispondenti per maggiori dettagli riguardanti gli algoritmi. Può anche essere una funzione che esegue l'operazione di detrend.

asse int

L'asse lungo il quale eseguire il detrending.

Guarda anche

detrend_mean

Implementazione dell'algoritmo 'mean'.

detrend_linear

Implementazione dell'algoritmo 'lineare'.

detrend_none

Implementazione dell'algoritmo 'none'.

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

Restituisce x meno la linea di miglior adattamento; detrend 'lineare'.

Parametri :
y Matrice o sequenza 0-D o ​​1-D

Matrice o sequenza contenente i dati

Guarda anche

detrend_mean

Un altro algoritmo di detrend.

detrend_none

Un altro algoritmo di detrend.

detrend

Un involucro attorno a tutti gli algoritmi di detrend.

matplotlib.mlab. detrend_mean ( x , axis = None ) [fonte] #

Restituisci x meno la media ( x ).

Parametri :
matrice o sequenza x

Matrice o sequenza contenente i dati Può avere qualsiasi dimensionalità

asse int

L'asse lungo il quale prendere la media. Vedere numpy.meanper una descrizione di questo argomento.

Guarda anche

detrend_linear

Un altro algoritmo di detrend.

detrend_none

Un altro algoritmo di detrend.

detrend

Un involucro attorno a tutti gli algoritmi di detrend.

matplotlib.mlab. detrend_none ( x , axis = Nessuno ) [fonte] #

Ritorno x : nessun detrending.

Parametri :
x qualsiasi oggetto

Un oggetto contenente i dati

asse int

Questo parametro viene ignorato. È incluso per compatibilità con detrend_mean

Guarda anche

detrend_mean

Un altro algoritmo di detrend.

detrend_linear

Un altro algoritmo di detrend.

detrend

Un involucro attorno a tutti gli algoritmi di detrend.

matplotlib.mlab. magnitudo_spettro ( x , Fs = Nessuno , finestra = Nessuno , pad_to = Nessuno , lati = Nessuno ) #

Calcolare l'ampiezza (valore assoluto) dello spettro di frequenza di x . I dati vengono riempiti fino a una lunghezza di pad_to e la finestra della funzione window viene applicata al segnale.

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. 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 alla lunghezza del segnale di ingresso (cioè nessuna spaziatura interna).

Resi :
matrice 1-D dello spettro

L'ampiezza (valore assoluto) dello spettro di frequenza.

freqs matrice 1-D

Le frequenze corrispondenti agli elementi nello spettro .

Guarda anche

psd

Restituisce la densità spettrale di potenza.

complex_spectrum

Restituisce lo spettro di frequenza a valori complessi.

magnitude_spectrum

Restituisce il valore assoluto di complex_spectrum.

angle_spectrum

Restituisce l'angolo di complex_spectrum.

phase_spectrum

Restituisce la fase (angolo non avvolto) di complex_spectrum.

specgram

Può restituire il complesso spettro di segmenti all'interno del segnale.

matplotlib.mlab. phase_spectrum ( x , Fs = Nessuno , window = Nessuno , pad_to = Nessuno , sides = Nessuno ) #

Calcolare la fase dello spettro di frequenza (spettro di fase non avvolto) di x . I dati vengono riempiti fino a una lunghezza di pad_to e la finestra della funzione window viene applicata al segnale.

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. 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 alla lunghezza del segnale di ingresso (cioè nessuna spaziatura interna).

Resi :
matrice 1-D dello spettro

La fase dello spettro di frequenza (spettro di fase non avvolto).

freqs matrice 1-D

Le frequenze corrispondenti agli elementi nello spettro .

Guarda anche

psd

Restituisce la densità spettrale di potenza.

complex_spectrum

Restituisce lo spettro di frequenza a valori complessi.

magnitude_spectrum

Restituisce il valore assoluto di complex_spectrum.

angle_spectrum

Restituisce l'angolo di complex_spectrum.

phase_spectrum

Restituisce la fase (angolo non avvolto) di complex_spectrum.

specgram

Può restituire il complesso spettro di segmenti all'interno del segnale.

matplotlib.mlab. psd ( x , NFFT = Nessuno , Fs = Nessuno , detrend = Nessuno , finestra = Nessuno , noverlap = Nessuno , pad_to = Nessuno , lati = Nessuno , scale_by_freq = Nessuno ) [fonte] #

Calcolare la densità spettrale di potenza.

La densità spettrale di potenza\(P_{xx}\)con il metodo del periodogramma medio di Welch. Il vettore x è diviso in segmenti di lunghezza NFFT . Ogni segmento è detrend dalla funzione detrend e finestrato dalla funzione window . noverlap fornisce la lunghezza della sovrapposizione tra i segmenti. Il\(|\mathrm{fft}(i)|^2\) di ogni segmento\(i\)sono mediati per il calcolo\(P_{xx}\).

Se len( x ) < NFFT , verrà aggiunto zero a NFFT .

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.

noverlap int, predefinito: 0 (nessuna sovrapposizione)

Il numero di punti di sovrapposizione tra i segmenti.

Resi :
Matrice Pxx 1-D

I valori per lo spettro di potenza\(P_{xx}\)(valore reale)

freqs matrice 1-D

Le frequenze corrispondenti agli elementi in Pxx

Guarda anche

specgram

specgramdifferisce nella sovrapposizione predefinita; nel non restituire la media dei periodogrammi del segmento; e nel restituire i tempi dei segmenti.

magnitude_spectrum

restituisce lo spettro di grandezza.

csd

restituisce la densità spettrale tra due segnali.

Riferimenti

Bendat & Piersol - Dati casuali: procedure di analisi e misurazione, John Wiley & Sons (1986)

matplotlib.mlab. specgram ( x , NFFT = None , Fs = None , detrend = None , window = None , noverlap = None , pad_to = None , sides = None , scale_by_freq = None , mode = None ) [fonte] #

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

Parametri :
x simile a un array

Array o sequenza 1-D.

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.

noverlap int, predefinito: 128

Il numero di punti di sovrapposizione tra i blocchi.

modalità str, predefinito: 'psd'
Che tipo di spettro utilizzare:
'psd'

Restituisce la densità spettrale di potenza.

'complesso'

Restituisce lo spettro di frequenza a valori complessi.

'magnitudine'

Restituisce lo spettro di grandezza.

'angolo'

Restituisce lo spettro di fase senza scartare.

'fase'

Restituisce lo spettro di fase con unwrapping.

Resi :
simile a un array di spettro

Array 2D, le colonne sono i periodogrammi di segmenti successivi.

freqs simile a un array

Array 1-D, frequenze corrispondenti alle righe nello spettro .

t simile a un array

Array 1-D, i tempi corrispondenti ai punti medi dei segmenti (ovvero le colonne in spectrum ).

Guarda anche

psd

differisce nella sovrapposizione e nei valori restituiti.

complex_spectrum

simili, ma con frequenze valutate complesse.

magnitude_spectrum

segmento singolo simile quando la modalità è 'magnitudo'.

angle_spectrum

simile al segmento singolo quando la modalità è 'angolo'.

phase_spectrum

simile al segmento singolo quando la modalità è 'fase'.

Appunti

detrend e scale_by_freq si applicano solo quando mode è impostato su 'psd'.

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

[ Deprecato ] Ottieni tutte le finestre di x con lunghezza n come un singolo array, usando passi per evitare la duplicazione dei dati.

Avvertimento

Non è sicuro scrivere nell'array di output. Più elementi possono puntare alla stessa porzione di memoria, quindi la modifica di un valore può cambiarne altri.

Parametri :
x Array o sequenza 1D

Matrice o sequenza contenente i dati.

int _

Il numero di punti dati in ogni finestra.

noverlap int, predefinito: 0 (nessuna sovrapposizione)

La sovrapposizione tra finestre adiacenti.

asse int

L'asse lungo il quale scorreranno le finestre.

Appunti

Deprecato dalla versione 3.6.

Riferimenti

stackoverflow: finestra scorrevole per array 1D in Numpy? stackoverflow: utilizzo di falcate per un filtro a media mobile efficiente

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

Restituisce x volte la finestra Hanning (o Hann) di len( x ).

Guarda anche

window_none

Un altro algoritmo di finestra.

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

Nessuna funzione finestra; restituisci semplicemente x .

Guarda anche

window_hanning

Un altro algoritmo di finestra.