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 prendereGaussianKDE
un'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)
- 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.
- 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 n
fft
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 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.
- 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 .
- 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 n
fft
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 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.
- 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 didetrend_linear
. 'nessuno' equivale adetrend_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.mean
per 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 n
fft
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 n
fft
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 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.
- 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
specgram
differisce 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 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.
- 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.