matplotlib.mlab
#
Funciones numéricas de Python escritas para compatibilidad con comandos de MATLAB con los mismos nombres. La mayoría de las funciones numéricas de Python se pueden encontrar en las bibliotecas NumPy y SciPy . Lo que queda aquí es código para realizar cálculos espectrales y estimaciones de densidad del núcleo.
Funciones espectrales #
cohere
Coherencia (densidad espectral cruzada normalizada)
csd
Densidad espectral cruzada usando el periodograma promedio de Welch
detrend
Eliminar la línea media o de mejor ajuste de una matriz
psd
Densidad espectral de potencia usando el periodograma promedio de Welch
specgram
Espectrograma (espectro sobre segmentos de tiempo)
complex_spectrum
Devuelve el espectro de frecuencia de valor complejo de una señal
magnitude_spectrum
Devolver la magnitud del espectro de frecuencia de una señal
angle_spectrum
Devuelve el ángulo (fase envuelta) del espectro de frecuencia de una señal
phase_spectrum
Devuelve la fase (ángulo no envuelto) del espectro de frecuencia de una señal
detrend_mean
Eliminar la media de una línea.
detrend_linear
Eliminar la línea de mejor ajuste de una línea.
detrend_none
Devolver la línea original.
stride_windows
Obtenga todas las ventanas en una matriz de una manera eficiente en memoria
- clase matplotlib.mlab. GaussianKDE ( conjunto de datos , bw_method = Ninguno ) [fuente] #
Bases:
object
Representación de una estimación de densidad de kernel utilizando kernels gaussianos.
- Parámetros :
- conjunto de datos similar a una matriz
Puntos de datos a partir de los cuales estimar. En el caso de datos univariados, se trata de una matriz 1-D; de lo contrario, una matriz 2D con forma (n.º de dimensiones, n.º de datos).
- bw_method str, escalar o invocable, opcional
El método utilizado para calcular el ancho de banda del estimador. Puede ser 'scott', 'silverman', una constante escalar o un invocable. Si es un escalar, se usará directamente como
kde.factor
. Si es invocable, debe tomar unaGaussianKDE
instancia como único parámetro y devolver un escalar. Si Ninguno (predeterminado), se utiliza 'scott'.
- Atributos :
- conjunto de datos ndarray
El conjunto de datos pasado al constructor.
- tenue int
Número de dimensiones.
- num_dp int
Número de puntos de datos.
- factor flotante
El factor de ancho de banda, obtenido de
kde.covariance_factor
, con el que se multiplica la matriz de covarianza.- ndarray de covarianza
La matriz de covarianza del conjunto de datos , escalada por el ancho de banda calculado (
kde.factor
).- inv_cov ndarray
El inverso de la covarianza .
Métodos
kde.evaluate(puntos)
(ndarray) Evalúe el pdf estimado en un conjunto de puntos proporcionado.
kde(puntos)
(ndarray) Igual que kde.evaluate(puntos)
- evaluar ( puntos ) [fuente] #
Evalúe el pdf estimado en un conjunto de puntos.
- Parámetros :
- puntos (# de dimensiones, # de puntos)-matriz
Alternativamente, se puede pasar un vector (# de dimensiones) y tratarlo como un solo punto.
- Devoluciones :
- (# de puntos,)-matriz
Los valores en cada punto.
- aumenta :
- ValueError si la dimensionalidad de los puntos de entrada es diferente
que la dimensionalidad del KDE.
- matplotlib.mlab. angle_spectrum ( x , Fs = Ninguno , ventana = Ninguno , pad_to = Ninguno , lados = Ninguno ) #
Calcule el ángulo del espectro de frecuencia (espectro de fase envuelto) de x . Los datos se rellenan hasta una longitud de pad_to y la ventana de función de ventana se aplica a la señal.
- Parámetros :
- matriz o secuencia x 1-D
Matriz o secuencia que contiene los datos
- Fs flotante, por defecto: 2
La frecuencia de muestreo (muestras por unidad de tiempo). Se utiliza para calcular las frecuencias de Fourier, freqs , en ciclos por unidad de tiempo.
- ventana invocable o ndarray, por defecto:
window_hanning
Una función o un vector de longitud NFFT . Para crear vectores de ventana, consulte
window_hanning
,window_none
,numpy.blackman
,numpy.hamming
,numpy.bartlett
,scipy.signal
,scipy.signal.get_window
, etc. Si se pasa una función como argumento, debe tomar un segmento de datos como argumento y devolver la versión de ventana del segmento.- lados {'predeterminado', 'de un solo lado', 'de dos lados'}, opcional
A qué lados del espectro volver. 'predeterminado' es unilateral para datos reales y bilateral para datos complejos. 'oneside' fuerza el regreso de un espectro de un solo lado, mientras que 'twosided' fuerza dos lados.
- pad_to int, opcional
El número de puntos a los que se rellena el segmento de datos al realizar la FFT. Si bien no aumenta la resolución real del espectro (la distancia mínima entre los picos resolubles), esto puede brindar más puntos en el gráfico, lo que permite obtener más detalles. Esto corresponde al parámetro n
fft
en la llamada a . El valor predeterminado es Ninguno, lo que establece pad_to igual a la longitud de la señal de entrada (es decir, sin relleno).
- Devoluciones :
- matriz de espectro 1-D
El ángulo del espectro de frecuencia (espectro de fase envuelto).
- matriz 1-D de frecuencias
Las frecuencias correspondientes a los elementos del espectro .
Ver también
psd
Devuelve la densidad espectral de potencia.
complex_spectrum
Devuelve el espectro de frecuencia de valor complejo.
magnitude_spectrum
Devuelve el valor absoluto de
complex_spectrum
.angle_spectrum
Devuelve el ángulo del
complex_spectrum
.phase_spectrum
Devuelve la fase (ángulo no ajustado) del
complex_spectrum
.specgram
Puede devolver el espectro complejo de segmentos dentro de la señal.
- matplotlib.mlab. cohere ( x , y , NFFT=256 , Fs=2 , detrend=<function detrend_none> , window=<function window_hanning> , noverlap=0 , pad_to=None , Sides ='default' , scale_by_freq=None ) [fuente] #
La coherencia entre x e y . La coherencia es la densidad espectral cruzada normalizada:
\[C_{xy} = \frac{|P_{xy}|^2}{P_{xx}P_{yy}}\]- Parámetros :
- x, y
Matriz o secuencia que contiene los datos
- Fs flotante, por defecto: 2
La frecuencia de muestreo (muestras por unidad de tiempo). Se utiliza para calcular las frecuencias de Fourier, freqs , en ciclos por unidad de tiempo.
- ventana invocable o ndarray, por defecto:
window_hanning
Una función o un vector de longitud NFFT . Para crear vectores de ventana, consulte
window_hanning
,window_none
,numpy.blackman
,numpy.hamming
,numpy.bartlett
,scipy.signal
,scipy.signal.get_window
, etc. Si se pasa una función como argumento, debe tomar un segmento de datos como argumento y devolver la versión de ventana del segmento.- lados {'predeterminado', 'de un solo lado', 'de dos lados'}, opcional
A qué lados del espectro volver. 'predeterminado' es unilateral para datos reales y bilateral para datos complejos. 'oneside' fuerza el regreso de un espectro de un solo lado, mientras que 'twosided' fuerza dos lados.
- pad_to int, opcional
El número de puntos a los que se rellena el segmento de datos al realizar la FFT. Esto puede ser diferente de NFFT , que especifica la cantidad de puntos de datos utilizados. Si bien no aumenta la resolución real del espectro (la distancia mínima entre los picos resolubles), esto puede brindar más puntos en el gráfico, lo que permite obtener más detalles. Esto corresponde al parámetro n
fft
en la llamada a . El valor predeterminado es Ninguno, lo que establece pad_to igual a NFFT- NFFT int, predeterminado: 256
El número de puntos de datos utilizados en cada bloque para la FFT. Una potencia 2 es más eficiente. Esto NO debe usarse para obtener relleno cero, o la escala del resultado será incorrecta; use pad_to para esto en su lugar.
- detrend {'ninguno', 'media', 'lineal'} o invocable, predeterminado: 'ninguno'
La función aplicada a cada segmento antes de fft-ing, diseñada para eliminar la tendencia media o lineal. A diferencia de MATLAB, donde el parámetro de tendencia es un vector, en Matplotlib es una función. El
mlab
módulo definedetrend_none
,detrend_mean
ydetrend_linear
, pero también puede usar una función personalizada. También puede usar una cadena para elegir una de las funciones: llamadas 'ninguna'detrend_none
. llamadas 'malas'detrend_mean
. llamadas 'lineales'detrend_linear
.- scale_by_freq bool, por defecto: Verdadero
Si los valores de densidad resultantes deben escalarse según la frecuencia de escalado, que da la densidad en unidades de 1/Hz. Esto permite la integración sobre los valores de frecuencia devueltos. El valor predeterminado es True para la compatibilidad con MATLAB.
- noverlap int, predeterminado: 0 (sin superposición)
El número de puntos de superposición entre segmentos.
- Devoluciones :
- matriz Cxy 1-D
El vector de coherencia.
- matriz 1-D de frecuencias
Las frecuencias de los elementos en Cxy .
- matplotlib.mlab. complex_spectrum ( x , Fs = Ninguno , ventana = Ninguno , pad_to = Ninguno , lados = Ninguno ) #
Calcule el espectro de frecuencia de valor complejo de x . Los datos se rellenan hasta una longitud de pad_to y la ventana de función de ventana se aplica a la señal.
- Parámetros :
- matriz o secuencia x 1-D
Matriz o secuencia que contiene los datos
- Fs flotante, por defecto: 2
La frecuencia de muestreo (muestras por unidad de tiempo). Se utiliza para calcular las frecuencias de Fourier, freqs , en ciclos por unidad de tiempo.
- ventana invocable o ndarray, por defecto:
window_hanning
Una función o un vector de longitud NFFT . Para crear vectores de ventana, consulte
window_hanning
,window_none
,numpy.blackman
,numpy.hamming
,numpy.bartlett
,scipy.signal
,scipy.signal.get_window
, etc. Si se pasa una función como argumento, debe tomar un segmento de datos como argumento y devolver la versión de ventana del segmento.- lados {'predeterminado', 'de un solo lado', 'de dos lados'}, opcional
A qué lados del espectro volver. 'predeterminado' es unilateral para datos reales y bilateral para datos complejos. 'oneside' fuerza el regreso de un espectro de un solo lado, mientras que 'twosided' fuerza dos lados.
- pad_to int, opcional
El número de puntos a los que se rellena el segmento de datos al realizar la FFT. Si bien no aumenta la resolución real del espectro (la distancia mínima entre los picos resolubles), esto puede brindar más puntos en el gráfico, lo que permite obtener más detalles. Esto corresponde al parámetro n
fft
en la llamada a . El valor predeterminado es Ninguno, lo que establece pad_to igual a la longitud de la señal de entrada (es decir, sin relleno).
- Devoluciones :
- matriz de espectro 1-D
El espectro de frecuencia de valor complejo.
- matriz 1-D de frecuencias
Las frecuencias correspondientes a los elementos del espectro .
Ver también
psd
Devuelve la densidad espectral de potencia.
complex_spectrum
Devuelve el espectro de frecuencia de valor complejo.
magnitude_spectrum
Devuelve el valor absoluto de
complex_spectrum
.angle_spectrum
Devuelve el ángulo del
complex_spectrum
.phase_spectrum
Devuelve la fase (ángulo no ajustado) del
complex_spectrum
.specgram
Puede devolver el espectro complejo de segmentos dentro de la señal.
- matplotlib.mlab. csd ( x , y , NFFT = Ninguno , Fs = Ninguno , detrend = Ninguno , ventana = Ninguno , noverlap = Ninguno , pad_to = Ninguno , lados = Ninguno , scale_by_freq = Ninguno ) [fuente] #
Calcule la densidad espectral cruzada.
La densidad espectral cruzada\(P_{xy}\)por el método del periodograma medio de Welch. Los vectores x e y se dividen en segmentos de longitud NFFT . A cada segmento se le elimina la tendencia mediante la función de tendencia y se le asigna una ventana mediante la ventana de la función . noverlap da la longitud de la superposición entre segmentos. El producto de las FFT directas de x e y se promedian sobre cada segmento para calcular\(P_{xy}\), con una escala para corregir la pérdida de energía debido a la ventana.
Si len( x ) < NFFT o len( y ) < NFFT , se rellenarán con ceros hasta NFFT .
- Parámetros :
- x, y matrices o secuencias 1-D
Matrices o secuencias que contienen los datos.
- Fs flotante, por defecto: 2
La frecuencia de muestreo (muestras por unidad de tiempo). Se utiliza para calcular las frecuencias de Fourier, freqs , en ciclos por unidad de tiempo.
- ventana invocable o ndarray, por defecto:
window_hanning
Una función o un vector de longitud NFFT . Para crear vectores de ventana, consulte
window_hanning
,window_none
,numpy.blackman
,numpy.hamming
,numpy.bartlett
,scipy.signal
,scipy.signal.get_window
, etc. Si se pasa una función como argumento, debe tomar un segmento de datos como argumento y devolver la versión de ventana del segmento.- lados {'predeterminado', 'de un solo lado', 'de dos lados'}, opcional
A qué lados del espectro volver. 'predeterminado' es unilateral para datos reales y bilateral para datos complejos. 'oneside' fuerza el regreso de un espectro de un solo lado, mientras que 'twosided' fuerza dos lados.
- pad_to int, opcional
El número de puntos a los que se rellena el segmento de datos al realizar la FFT. Esto puede ser diferente de NFFT , que especifica la cantidad de puntos de datos utilizados. Si bien no aumenta la resolución real del espectro (la distancia mínima entre los picos resolubles), esto puede brindar más puntos en el gráfico, lo que permite obtener más detalles. Esto corresponde al parámetro n
fft
en la llamada a . El valor predeterminado es Ninguno, lo que establece pad_to igual a NFFT- NFFT int, predeterminado: 256
El número de puntos de datos utilizados en cada bloque para la FFT. Una potencia 2 es más eficiente. Esto NO debe usarse para obtener relleno cero, o la escala del resultado será incorrecta; use pad_to para esto en su lugar.
- detrend {'ninguno', 'media', 'lineal'} o invocable, predeterminado: 'ninguno'
La función aplicada a cada segmento antes de fft-ing, diseñada para eliminar la tendencia media o lineal. A diferencia de MATLAB, donde el parámetro de tendencia es un vector, en Matplotlib es una función. El
mlab
módulo definedetrend_none
,detrend_mean
ydetrend_linear
, pero también puede usar una función personalizada. También puede usar una cadena para elegir una de las funciones: llamadas 'ninguna'detrend_none
. llamadas 'malas'detrend_mean
. llamadas 'lineales'detrend_linear
.- scale_by_freq bool, por defecto: Verdadero
Si los valores de densidad resultantes deben escalarse según la frecuencia de escalado, que da la densidad en unidades de 1/Hz. Esto permite la integración sobre los valores de frecuencia devueltos. El valor predeterminado es True para la compatibilidad con MATLAB.
- noverlap int, predeterminado: 0 (sin superposición)
El número de puntos de superposición entre segmentos.
- Devoluciones :
- matriz Pxy 1-D
Los valores para el espectro cruzado\(P_{xy}\)antes de escalar (valor real)
- matriz 1-D de frecuencias
Las frecuencias correspondientes a los elementos en Pxy
Ver también
psd
equivalente al ajuste .
y = x
Referencias
Bendat & Piersol -- Datos aleatorios: análisis y procedimientos de medición, John Wiley & Sons (1986)
- matplotlib.mlab. detrend ( x , clave = Ninguno , eje = Ninguno ) [fuente] #
Devuelve x con su tendencia eliminada.
- Parámetros :
- matriz o secuencia x
Matriz o secuencia que contiene los datos.
- tecla {'predeterminada', 'constante', 'media', 'lineal', 'ninguna'} o función
El algoritmo de eliminación de tendencia a utilizar. 'predeterminado', 'media' y 'constante' son lo mismo que
detrend_mean
. 'lineal' es lo mismo quedetrend_linear
. 'ninguno' es lo mismo quedetrend_none
. El valor predeterminado es 'media'. Consulte las funciones correspondientes para obtener más detalles sobre los algoritmos. También puede ser una función que lleva a cabo la operación de tendencia.- eje int
El eje a lo largo del cual hacer la eliminación de tendencia.
Ver también
detrend_mean
Implementación del algoritmo 'media'.
detrend_linear
Implementación del algoritmo 'lineal'.
detrend_none
Implementación del algoritmo 'ninguno'.
- matplotlib.mlab. detrend_linear ( y ) [fuente] #
Devuelve x menos la línea de mejor ajuste; eliminación de tendencia 'lineal'.
- Parámetros :
- y Secuencia o matriz 0-D o 1-D
Matriz o secuencia que contiene los datos
Ver también
detrend_mean
Otro algoritmo de tendencia.
detrend_none
Otro algoritmo de tendencia.
detrend
Una envoltura alrededor de todos los algoritmos de tendencia.
- matplotlib.mlab. detrend_mean ( x , eje = Ninguno ) [fuente] #
Devuelve x menos la media ( x ).
- Parámetros :
- matriz o secuencia x
Array o secuencia que contiene los datos Puede tener cualquier dimensionalidad
- eje int
El eje a lo largo del cual tomar la media. Ver
numpy.mean
para una descripción de este argumento.
Ver también
detrend_linear
Otro algoritmo de tendencia.
detrend_none
Otro algoritmo de tendencia.
detrend
Una envoltura alrededor de todos los algoritmos de tendencia.
- matplotlib.mlab. detrend_none ( x , eje = Ninguno ) [fuente] #
Retorno x : sin tendencia.
- Parámetros :
- x cualquier objeto
Un objeto que contiene los datos.
- eje int
Este parámetro se ignora. Se incluye por compatibilidad con detrend_mean
Ver también
detrend_mean
Otro algoritmo de tendencia.
detrend_linear
Otro algoritmo de tendencia.
detrend
Una envoltura alrededor de todos los algoritmos de tendencia.
- matplotlib.mlab. magnitud_spectrum ( x , Fs = Ninguno , ventana = Ninguno , pad_to = Ninguno , lados = Ninguno ) #
Calcule la magnitud (valor absoluto) del espectro de frecuencia de x . Los datos se rellenan hasta una longitud de pad_to y la ventana de función de ventana se aplica a la señal.
- Parámetros :
- matriz o secuencia x 1-D
Matriz o secuencia que contiene los datos
- Fs flotante, por defecto: 2
La frecuencia de muestreo (muestras por unidad de tiempo). Se utiliza para calcular las frecuencias de Fourier, freqs , en ciclos por unidad de tiempo.
- ventana invocable o ndarray, por defecto:
window_hanning
Una función o un vector de longitud NFFT . Para crear vectores de ventana, consulte
window_hanning
,window_none
,numpy.blackman
,numpy.hamming
,numpy.bartlett
,scipy.signal
,scipy.signal.get_window
, etc. Si se pasa una función como argumento, debe tomar un segmento de datos como argumento y devolver la versión de ventana del segmento.- lados {'predeterminado', 'de un solo lado', 'de dos lados'}, opcional
A qué lados del espectro volver. 'predeterminado' es unilateral para datos reales y bilateral para datos complejos. 'oneside' fuerza el regreso de un espectro de un solo lado, mientras que 'twosided' fuerza dos lados.
- pad_to int, opcional
El número de puntos a los que se rellena el segmento de datos al realizar la FFT. Si bien no aumenta la resolución real del espectro (la distancia mínima entre los picos resolubles), esto puede brindar más puntos en el gráfico, lo que permite obtener más detalles. Esto corresponde al parámetro n
fft
en la llamada a . El valor predeterminado es Ninguno, lo que establece pad_to igual a la longitud de la señal de entrada (es decir, sin relleno).
- Devoluciones :
- matriz de espectro 1-D
La magnitud (valor absoluto) del espectro de frecuencia.
- matriz 1-D de frecuencias
Las frecuencias correspondientes a los elementos del espectro .
Ver también
psd
Devuelve la densidad espectral de potencia.
complex_spectrum
Devuelve el espectro de frecuencia de valor complejo.
magnitude_spectrum
Devuelve el valor absoluto de
complex_spectrum
.angle_spectrum
Devuelve el ángulo del
complex_spectrum
.phase_spectrum
Devuelve la fase (ángulo no ajustado) del
complex_spectrum
.specgram
Puede devolver el espectro complejo de segmentos dentro de la señal.
- matplotlib.mlab. phase_spectrum ( x , Fs = Ninguno , ventana = Ninguno , pad_to = Ninguno , lados = Ninguno ) #
Calcule la fase del espectro de frecuencia (espectro de fase no envuelto) de x . Los datos se rellenan hasta una longitud de pad_to y la ventana de función de ventana se aplica a la señal.
- Parámetros :
- matriz o secuencia x 1-D
Matriz o secuencia que contiene los datos
- Fs flotante, por defecto: 2
La frecuencia de muestreo (muestras por unidad de tiempo). Se utiliza para calcular las frecuencias de Fourier, freqs , en ciclos por unidad de tiempo.
- ventana invocable o ndarray, por defecto:
window_hanning
Una función o un vector de longitud NFFT . Para crear vectores de ventana, consulte
window_hanning
,window_none
,numpy.blackman
,numpy.hamming
,numpy.bartlett
,scipy.signal
,scipy.signal.get_window
, etc. Si se pasa una función como argumento, debe tomar un segmento de datos como argumento y devolver la versión de ventana del segmento.- lados {'predeterminado', 'de un solo lado', 'de dos lados'}, opcional
A qué lados del espectro volver. 'predeterminado' es unilateral para datos reales y bilateral para datos complejos. 'oneside' fuerza el regreso de un espectro de un solo lado, mientras que 'twosided' fuerza dos lados.
- pad_to int, opcional
El número de puntos a los que se rellena el segmento de datos al realizar la FFT. Si bien no aumenta la resolución real del espectro (la distancia mínima entre los picos resolubles), esto puede brindar más puntos en el gráfico, lo que permite obtener más detalles. Esto corresponde al parámetro n
fft
en la llamada a . El valor predeterminado es Ninguno, lo que establece pad_to igual a la longitud de la señal de entrada (es decir, sin relleno).
- Devoluciones :
- matriz de espectro 1-D
La fase del espectro de frecuencia (espectro de fase no envuelto).
- matriz 1-D de frecuencias
Las frecuencias correspondientes a los elementos del espectro .
Ver también
psd
Devuelve la densidad espectral de potencia.
complex_spectrum
Devuelve el espectro de frecuencia de valor complejo.
magnitude_spectrum
Devuelve el valor absoluto de
complex_spectrum
.angle_spectrum
Devuelve el ángulo del
complex_spectrum
.phase_spectrum
Devuelve la fase (ángulo no ajustado) del
complex_spectrum
.specgram
Puede devolver el espectro complejo de segmentos dentro de la señal.
- matplotlib.mlab. psd ( x , NFFT = Ninguno , Fs = Ninguno , detrend = Ninguno , ventana = Ninguno , noverlap = Ninguno , pad_to = Ninguno , lados = Ninguno , scale_by_freq = Ninguno ) [fuente] #
Calcule la densidad espectral de potencia.
La densidad espectral de potencia\(P_{xx}\)por el método del periodograma medio de Welch. El vector x se divide en segmentos de longitud NFFT . A cada segmento se le elimina la tendencia mediante la función de tendencia y se le asigna una ventana mediante la ventana de la función . noverlap da la longitud de la superposición entre segmentos. los\(|\mathrm{fft}(i)|^2\) de cada segmento\(i\)se promedian para calcular\(P_{xx}\).
Si len( x ) < NFFT , se rellenará con ceros hasta NFFT .
- Parámetros :
- matriz o secuencia x 1-D
Matriz o secuencia que contiene los datos
- Fs flotante, por defecto: 2
La frecuencia de muestreo (muestras por unidad de tiempo). Se utiliza para calcular las frecuencias de Fourier, freqs , en ciclos por unidad de tiempo.
- ventana invocable o ndarray, por defecto:
window_hanning
Una función o un vector de longitud NFFT . Para crear vectores de ventana, consulte
window_hanning
,window_none
,numpy.blackman
,numpy.hamming
,numpy.bartlett
,scipy.signal
,scipy.signal.get_window
, etc. Si se pasa una función como argumento, debe tomar un segmento de datos como argumento y devolver la versión de ventana del segmento.- lados {'predeterminado', 'de un solo lado', 'de dos lados'}, opcional
A qué lados del espectro volver. 'predeterminado' es unilateral para datos reales y bilateral para datos complejos. 'oneside' fuerza el regreso de un espectro de un solo lado, mientras que 'twosided' fuerza dos lados.
- pad_to int, opcional
El número de puntos a los que se rellena el segmento de datos al realizar la FFT. Esto puede ser diferente de NFFT , que especifica la cantidad de puntos de datos utilizados. Si bien no aumenta la resolución real del espectro (la distancia mínima entre los picos resolubles), esto puede brindar más puntos en el gráfico, lo que permite obtener más detalles. Esto corresponde al parámetro n
fft
en la llamada a . El valor predeterminado es Ninguno, lo que establece pad_to igual a NFFT- NFFT int, predeterminado: 256
El número de puntos de datos utilizados en cada bloque para la FFT. Una potencia 2 es más eficiente. Esto NO debe usarse para obtener relleno cero, o la escala del resultado será incorrecta; use pad_to para esto en su lugar.
- detrend {'ninguno', 'media', 'lineal'} o invocable, predeterminado: 'ninguno'
La función aplicada a cada segmento antes de fft-ing, diseñada para eliminar la tendencia media o lineal. A diferencia de MATLAB, donde el parámetro de tendencia es un vector, en Matplotlib es una función. El
mlab
módulo definedetrend_none
,detrend_mean
ydetrend_linear
, pero también puede usar una función personalizada. También puede usar una cadena para elegir una de las funciones: llamadas 'ninguna'detrend_none
. llamadas 'malas'detrend_mean
. llamadas 'lineales'detrend_linear
.- scale_by_freq bool, por defecto: Verdadero
Si los valores de densidad resultantes deben escalarse según la frecuencia de escalado, que da la densidad en unidades de 1/Hz. Esto permite la integración sobre los valores de frecuencia devueltos. El valor predeterminado es True para la compatibilidad con MATLAB.
- noverlap int, predeterminado: 0 (sin superposición)
El número de puntos de superposición entre segmentos.
- Devoluciones :
- Matriz Pxx 1-D
Los valores para el espectro de potencia\(P_{xx}\)(valor real)
- matriz 1-D de frecuencias
Las frecuencias correspondientes a los elementos en Pxx
Ver también
specgram
specgram
difiere en la superposición predeterminada; en no devolver la media de los periodogramas del segmento; y en la devolución de los tiempos de los segmentos.magnitude_spectrum
devuelve el espectro de magnitud.
csd
devuelve la densidad espectral entre dos señales.
Referencias
Bendat & Piersol -- Datos aleatorios: análisis y procedimientos de medición, John Wiley & Sons (1986)
- matplotlib.mlab. specgram ( x , NFFT = Ninguno , Fs = Ninguno , detrend = Ninguno , ventana = Ninguno , noverlap = Ninguno , pad_to = Ninguno , lados = Ninguno , scale_by_freq = Ninguno , modo = Ninguno ) [fuente] #
Calcular un espectrograma.
Calcule y trace un espectrograma de datos en x . Los datos se dividen en segmentos de longitud NFFT y se calcula el espectro de cada sección. La función de ventana window se aplica a cada segmento y la cantidad de superposición de cada segmento se especifica con noverlap .
- Parámetros :
- x tipo matriz
Matriz o secuencia 1-D.
- Fs flotante, por defecto: 2
La frecuencia de muestreo (muestras por unidad de tiempo). Se utiliza para calcular las frecuencias de Fourier, freqs , en ciclos por unidad de tiempo.
- ventana invocable o ndarray, por defecto:
window_hanning
Una función o un vector de longitud NFFT . Para crear vectores de ventana, consulte
window_hanning
,window_none
,numpy.blackman
,numpy.hamming
,numpy.bartlett
,scipy.signal
,scipy.signal.get_window
, etc. Si se pasa una función como argumento, debe tomar un segmento de datos como argumento y devolver la versión de ventana del segmento.- lados {'predeterminado', 'de un solo lado', 'de dos lados'}, opcional
A qué lados del espectro volver. 'predeterminado' es unilateral para datos reales y bilateral para datos complejos. 'oneside' fuerza el regreso de un espectro de un solo lado, mientras que 'twosided' fuerza dos lados.
- pad_to int, opcional
El número de puntos a los que se rellena el segmento de datos al realizar la FFT. Esto puede ser diferente de NFFT , que especifica la cantidad de puntos de datos utilizados. Si bien no aumenta la resolución real del espectro (la distancia mínima entre los picos resolubles), esto puede brindar más puntos en el gráfico, lo que permite obtener más detalles. Esto corresponde al parámetro n
fft
en la llamada a . El valor predeterminado es Ninguno, lo que establece pad_to igual a NFFT- NFFT int, predeterminado: 256
El número de puntos de datos utilizados en cada bloque para la FFT. Una potencia 2 es más eficiente. Esto NO debe usarse para obtener relleno cero, o la escala del resultado será incorrecta; use pad_to para esto en su lugar.
- detrend {'ninguno', 'media', 'lineal'} o invocable, predeterminado: 'ninguno'
La función aplicada a cada segmento antes de fft-ing, diseñada para eliminar la tendencia media o lineal. A diferencia de MATLAB, donde el parámetro de tendencia es un vector, en Matplotlib es una función. El
mlab
módulo definedetrend_none
,detrend_mean
ydetrend_linear
, pero también puede usar una función personalizada. También puede usar una cadena para elegir una de las funciones: llamadas 'ninguna'detrend_none
. llamadas 'malas'detrend_mean
. llamadas 'lineales'detrend_linear
.- scale_by_freq bool, por defecto: Verdadero
Si los valores de densidad resultantes deben escalarse según la frecuencia de escalado, que da la densidad en unidades de 1/Hz. Esto permite la integración sobre los valores de frecuencia devueltos. El valor predeterminado es True para la compatibilidad con MATLAB.
- noverlap int, por defecto: 128
El número de puntos de superposición entre bloques.
- modo str, por defecto: 'psd'
- Qué tipo de espectro utilizar:
- 'psd'
Devuelve la densidad espectral de potencia.
- 'complejo'
Devuelve el espectro de frecuencia de valor complejo.
- 'magnitud'
Devuelve el espectro de magnitud.
- 'ángulo'
Devuelve el espectro de fase sin desenvolver.
- 'fase'
Devuelve el espectro de fase con desenvolvimiento.
- Devoluciones :
- tipo matriz de espectro
Matriz 2D, las columnas son los periodogramas de segmentos sucesivos.
- tipo matriz de frecuencias
Matriz 1-D, frecuencias correspondientes a las filas en el espectro .
- t tipo matriz
Matriz 1-D, los tiempos correspondientes a los puntos medios de los segmentos (es decir, las columnas en el espectro ).
Ver también
psd
difiere en la superposición y en los valores de retorno.
complex_spectrum
similares, pero con frecuencias de valores complejos.
magnitude_spectrum
segmento único similar cuando el modo es 'magnitud'.
angle_spectrum
similar al segmento único cuando el modo es 'ángulo'.
phase_spectrum
similar al segmento único cuando el modo es 'fase'.
notas
detrend y scale_by_freq solo se aplican cuando el modo se establece en 'psd'.
- matplotlib.mlab. stride_windows ( x , n , sin superposición = Ninguno , eje = 0 ) [fuente] #
[ Obsoleto ] Obtener todas las ventanas de x con longitud n como una sola matriz, utilizando zancadas para evitar la duplicación de datos.
Advertencia
No es seguro escribir en la matriz de salida. Múltiples elementos pueden apuntar a la misma parte de la memoria, por lo que modificar un valor puede cambiar otros.
- Parámetros :
- matriz o secuencia x 1D
Matriz o secuencia que contiene los datos.
- n entero
El número de puntos de datos en cada ventana.
- noverlap int, predeterminado: 0 (sin superposición)
La superposición entre ventanas adyacentes.
- eje int
El eje a lo largo del cual se ejecutarán las ventanas.
notas
En desuso desde la versión 3.6.
Referencias
stackoverflow: ventana móvil para matrices 1D en Numpy? stackoverflow: uso de zancadas para un filtro de promedio móvil eficiente
- matplotlib.mlab. window_hanning ( x ) [fuente] #
Devuelve x veces la ventana Hanning (o Hann) de len( x ).
Ver también
window_none
Otro algoritmo de ventana.
- matplotlib.mlab. window_none ( x ) [fuente] #
Sin función de ventana; simplemente devuelva x .
Ver también
window_hanning
Otro algoritmo de ventana.