matplotlib.mlab#

Funções numéricas Python escritas para compatibilidade com comandos MATLAB com os mesmos nomes. A maioria das funções numéricas do Python pode ser encontrada nas bibliotecas NumPy e SciPy . O que resta aqui é o código para realizar cálculos espectrais e estimativas de densidade do kernel.

Funções espectrais #

cohere

Coerência (densidade espectral cruzada normalizada)

csd

Densidade espectral cruzada usando o periodograma médio de Welch

detrend

Remova a linha média ou de melhor ajuste de uma matriz

psd

Densidade espectral de potência usando o periodograma médio de Welch

specgram

Espectrograma (espectro sobre segmentos de tempo)

complex_spectrum

Retorna o espectro de frequência de valor complexo de um sinal

magnitude_spectrum

Retorna a magnitude do espectro de frequência de um sinal

angle_spectrum

Retorna o ângulo (fase envolvida) do espectro de frequência de um sinal

phase_spectrum

Retorna a fase (ângulo não enrolado) do espectro de frequência de um sinal

detrend_mean

Remova a média de uma linha.

detrend_linear

Remova a linha de melhor ajuste de uma linha.

detrend_none

Retorne a linha original.

stride_windows

Obtenha todas as janelas em uma matriz de maneira eficiente em termos de memória

classe matplotlib.mlab. GaussianKDE ( conjunto de dados , bw_method = Nenhum ) [fonte] #

Bases:object

Representação de uma estimativa de densidade de kernel usando kernels gaussianos.

Parâmetros :
tipo array de conjunto de dados

Pontos de dados para estimar. No caso de dados univariados, trata-se de um array 1-D, caso contrário, um array 2D com forma (# of dims, # of data).

bw_method str, escalar ou callable, opcional

O método usado para calcular a largura de banda do estimador. Isso pode ser 'scott', 'silverman', uma constante escalar ou um callable. Se for escalar, será usado diretamente como kde.factor. Se for callable, deve ter uma GaussianKDEinstância como único parâmetro e retornar um escalar. Se Nenhum (padrão), 'scott' é usado.

Atributos :
conjunto de dados ndarray

O conjunto de dados passado para o construtor.

dim int

Número de dimensões.

num_dp int

Número de pontos de dados.

flutuação do fator

O fator de largura de banda, obtido de kde.covariance_factor, com o qual a matriz de covariância é multiplicada.

matriz de covariância

A matriz de covariância do conjunto de dados , dimensionada pela largura de banda calculada ( kde.factor).

inv_cov ndarray

O inverso da covariância .

Métodos

kde.evaluate(pontos)

(ndarray) Avalie o pdf estimado em um conjunto de pontos fornecido.

kde(pontos)

(ndarray) O mesmo que kde.evaluate(pontos)

covariance_factor ( ) [fonte] #
avaliar ( pontos ) [fonte] #

Avalie a pdf estimada em um conjunto de pontos.

Parâmetros :
pontos (# de dimensões, # de pontos)-array

Como alternativa, um vetor (nº de dimensões) pode ser passado e tratado como um único ponto.

Devoluções :
(# de pontos,)-array

Os valores em cada ponto.

Aumentos :
ValueError se a dimensionalidade dos pontos de entrada for diferente

do que a dimensionalidade do KDE.

scotts_factor ( ) [fonte] #
fator_prata ( ) [fonte] #
matplotlib.mlab. angle_spectrum ( x , Fs = Nenhum , janela = Nenhum , pad_to = Nenhum , lados = Nenhum ) #

Calcule o ângulo do espectro de frequência (espectro de fase enrolado) de x . Os dados são preenchidos com um comprimento de pad_to e a janela da função de janelamento é aplicada ao sinal.

Parâmetros :
x matriz 1-D ou sequência

Array ou sequência contendo os dados

Fs flutuante, padrão: 2

A frequência de amostragem (amostras por unidade de tempo). É usado para calcular as frequências de Fourier, freqs , em ciclos por unidade de tempo.

janela chamável ou ndarray, padrão:window_hanning

Uma função ou um vetor de comprimento NFFT . Para criar vetores de janela, consulte window_hanning, window_none, numpy.blackman, numpy.hamming, numpy.bartlett, scipy.signal, scipy.signal.get_windowetc. Se uma função for passada como argumento, ela deve receber um segmento de dados como argumento e retornar a versão em janela do segmento.

lados {'padrão', 'onesided', 'twosided'}, opcional

De quais lados do espectro retornar. 'padrão' é unilateral para dados reais e bilateral para dados complexos. 'onesided' força o retorno de um espectro unilateral, enquanto 'twosided' força bilateral.

pad_to int, opcional

O número de pontos para os quais o segmento de dados é preenchido ao executar a FFT. Embora não aumente a resolução real do espectro (a distância mínima entre picos resolvíveis), isso pode dar mais pontos no gráfico, permitindo mais detalhes. Isso corresponde ao parâmetro nfft na chamada para . O padrão é None, que define pad_to igual ao comprimento do sinal de entrada (ou seja, sem preenchimento).

Devoluções :
matriz 1-D de espectro

O ângulo do espectro de frequência (espectro de fase enrolado).

matriz 1-D de frequências

As frequências correspondentes aos elementos do espectro .

Veja também

psd

Retorna a densidade espectral de potência.

complex_spectrum

Retorna o espectro de frequência de valor complexo.

magnitude_spectrum

Retorna o valor absoluto do complex_spectrum.

angle_spectrum

Retorna o ângulo do complex_spectrum.

phase_spectrum

Retorna a fase (ângulo desdobrado) do complex_spectrum.

specgram

Pode retornar o espectro complexo de segmentos dentro do sinal.

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 ) [source] #

A coerência entre x e y . Coerência é a densidade espectral cruzada normalizada:

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

Array ou sequência contendo os dados

Fs flutuante, padrão: 2

A frequência de amostragem (amostras por unidade de tempo). É usado para calcular as frequências de Fourier, freqs , em ciclos por unidade de tempo.

janela chamável ou ndarray, padrão:window_hanning

Uma função ou um vetor de comprimento NFFT . Para criar vetores de janela, consulte window_hanning, window_none, numpy.blackman, numpy.hamming, numpy.bartlett, scipy.signal, scipy.signal.get_windowetc. Se uma função for passada como argumento, ela deve receber um segmento de dados como argumento e retornar a versão em janela do segmento.

lados {'padrão', 'onesided', 'twosided'}, opcional

De quais lados do espectro retornar. 'padrão' é unilateral para dados reais e bilateral para dados complexos. 'onesided' força o retorno de um espectro unilateral, enquanto 'twosided' força bilateral.

pad_to int, opcional

O número de pontos para os quais o segmento de dados é preenchido ao executar a FFT. Isso pode ser diferente do NFFT , que especifica o número de pontos de dados usados. Embora não aumente a resolução real do espectro (a distância mínima entre picos resolvíveis), isso pode dar mais pontos no gráfico, permitindo mais detalhes. Isso corresponde ao parâmetro nfft na chamada para . O padrão é None, que define pad_to igual a NFFT

NFFT int, padrão: 256

O número de pontos de dados usados ​​em cada bloco para a FFT. A potência 2 é mais eficiente. Isso NÃO deve ser usado para obter preenchimento zero, ou a escala do resultado ficará incorreta; use pad_to para isso.

detrend {'none', 'mean', 'linear'} ou callable, padrão: 'none'

A função aplicada a cada segmento antes do fft-ing, projetada para remover a média ou tendência linear. Ao contrário do MATLAB, onde o parâmetro de tendência é um vetor, no Matplotlib é uma função. O mlab módulo define detrend_none, detrend_meane detrend_linear, mas você também pode usar uma função personalizada. Você também pode usar uma string para escolher uma das funções: 'none' calls detrend_none. chamadas 'más' detrend_mean. chamadas 'lineares' detrend_linear.

scale_by_freq bool, padrão: True

Se os valores de densidade resultantes devem ser dimensionados pela frequência de escala, que fornece a densidade em unidades de 1/Hz. Isso permite a integração sobre os valores de frequência retornados. O padrão é True para compatibilidade com MATLAB.

noverlap int, padrão: 0 (sem sobreposição)

O número de pontos de sobreposição entre os segmentos.

Devoluções :
Matriz Cxy 1-D

O vetor de coerência.

matriz 1-D de frequências

As frequências para os elementos em Cxy .

Veja também

psd(),csd()

Para obter informações sobre os métodos usados ​​para calcular\(P_{xy}\),\(P_{xx}\)e\(P_{yy}\).

matplotlib.mlab. complex_spectrum ( x , Fs = Nenhum , janela = Nenhum , pad_to = Nenhum , lados = Nenhum ) #

Calcule o espectro de frequência de valor complexo de x . Os dados são preenchidos com um comprimento de pad_to e a janela da função de janelamento é aplicada ao sinal.

Parâmetros :
x matriz 1-D ou sequência

Array ou sequência contendo os dados

Fs flutuante, padrão: 2

A frequência de amostragem (amostras por unidade de tempo). É usado para calcular as frequências de Fourier, freqs , em ciclos por unidade de tempo.

janela chamável ou ndarray, padrão:window_hanning

Uma função ou um vetor de comprimento NFFT . Para criar vetores de janela, consulte window_hanning, window_none, numpy.blackman, numpy.hamming, numpy.bartlett, scipy.signal, scipy.signal.get_windowetc. Se uma função for passada como argumento, ela deve receber um segmento de dados como argumento e retornar a versão em janela do segmento.

lados {'padrão', 'onesided', 'twosided'}, opcional

De quais lados do espectro retornar. 'padrão' é unilateral para dados reais e bilateral para dados complexos. 'onesided' força o retorno de um espectro unilateral, enquanto 'twosided' força bilateral.

pad_to int, opcional

O número de pontos para os quais o segmento de dados é preenchido ao executar a FFT. Embora não aumente a resolução real do espectro (a distância mínima entre picos resolvíveis), isso pode dar mais pontos no gráfico, permitindo mais detalhes. Isso corresponde ao parâmetro nfft na chamada para . O padrão é None, que define pad_to igual ao comprimento do sinal de entrada (ou seja, sem preenchimento).

Devoluções :
matriz 1-D de espectro

O espectro de frequência de valor complexo.

matriz 1-D de frequências

As frequências correspondentes aos elementos do espectro .

Veja também

psd

Retorna a densidade espectral de potência.

complex_spectrum

Retorna o espectro de frequência de valor complexo.

magnitude_spectrum

Retorna o valor absoluto do complex_spectrum.

angle_spectrum

Retorna o ângulo do complex_spectrum.

phase_spectrum

Retorna a fase (ângulo desdobrado) do complex_spectrum.

specgram

Pode retornar o espectro complexo de segmentos dentro do sinal.

matplotlib.mlab. csd ( x , y , NFFT = Nenhum , Fs = Nenhum , detrend = Nenhum , janela = Nenhum , noverlap = Nenhum , pad_to = Nenhum , lados = Nenhum , scale_by_freq = Nenhum ) [fonte] #

Calcule a densidade espectral cruzada.

A densidade espectral cruzada\(P_{xy}\)pelo método do periodograma médio de Welch. Os vetores x e y são divididos em segmentos de comprimento NFFT . Cada segmento é desatendido pela função detrend e janelado pela função window . noverlap dá o comprimento da sobreposição entre os segmentos. O produto das FFTs diretas de x e y são calculados em média sobre cada segmento para calcular\(P_{xy}\), com uma escala para corrigir a perda de energia devido ao janelamento.

Se len( x ) < NFFT ou len( y ) < NFFT , eles serão preenchidos com zeros para NFFT .

Parâmetros :
matrizes ou sequências x, y 1-D

Arrays ou sequências contendo os dados

Fs flutuante, padrão: 2

A frequência de amostragem (amostras por unidade de tempo). É usado para calcular as frequências de Fourier, freqs , em ciclos por unidade de tempo.

janela chamável ou ndarray, padrão:window_hanning

Uma função ou um vetor de comprimento NFFT . Para criar vetores de janela, consulte window_hanning, window_none, numpy.blackman, numpy.hamming, numpy.bartlett, scipy.signal, scipy.signal.get_windowetc. Se uma função for passada como argumento, ela deve receber um segmento de dados como argumento e retornar a versão em janela do segmento.

lados {'padrão', 'onesided', 'twosided'}, opcional

De quais lados do espectro retornar. 'padrão' é unilateral para dados reais e bilateral para dados complexos. 'onesided' força o retorno de um espectro unilateral, enquanto 'twosided' força bilateral.

pad_to int, opcional

O número de pontos para os quais o segmento de dados é preenchido ao executar a FFT. Isso pode ser diferente do NFFT , que especifica o número de pontos de dados usados. Embora não aumente a resolução real do espectro (a distância mínima entre picos resolvíveis), isso pode dar mais pontos no gráfico, permitindo mais detalhes. Isso corresponde ao parâmetro nfft na chamada para . O padrão é None, que define pad_to igual a NFFT

NFFT int, padrão: 256

O número de pontos de dados usados ​​em cada bloco para a FFT. A potência 2 é mais eficiente. Isso NÃO deve ser usado para obter preenchimento zero, ou a escala do resultado ficará incorreta; use pad_to para isso.

detrend {'none', 'mean', 'linear'} ou callable, padrão: 'none'

A função aplicada a cada segmento antes do fft-ing, projetada para remover a média ou tendência linear. Ao contrário do MATLAB, onde o parâmetro de tendência é um vetor, no Matplotlib é uma função. O mlab módulo define detrend_none, detrend_meane detrend_linear, mas você também pode usar uma função personalizada. Você também pode usar uma string para escolher uma das funções: 'none' calls detrend_none. chamadas 'más' detrend_mean. chamadas 'lineares' detrend_linear.

scale_by_freq bool, padrão: True

Se os valores de densidade resultantes devem ser dimensionados pela frequência de escala, que fornece a densidade em unidades de 1/Hz. Isso permite a integração sobre os valores de frequência retornados. O padrão é True para compatibilidade com MATLAB.

noverlap int, padrão: 0 (sem sobreposição)

O número de pontos de sobreposição entre os segmentos.

Devoluções :
Matriz Pxy 1-D

Os valores para o espectro cruzado\(P_{xy}\)antes da escala (valor real)

matriz 1-D de frequências

As frequências correspondentes aos elementos em Pxy

Veja também

psd

equivalente a configuração .y = x

Referências

Bendat & Piersol -- Random Data: Analysis and Measurement Procedures, John Wiley & Sons (1986)

matplotlib.mlab. detrend ( x , chave = Nenhum , eixo = Nenhum ) [fonte] #

Retorne x com sua tendência removida.

Parâmetros :
matriz ou sequência x

Array ou sequência contendo os dados.

chave {'padrão', 'constante', 'média', 'linear', 'nenhum'} ou função

O algoritmo de eliminação de tendências a ser usado. 'padrão', 'média' e 'constante' são os mesmos que detrend_mean. 'linear' é o mesmo que detrend_linear. 'nenhum' é o mesmo que detrend_none. O padrão é 'média'. Consulte as funções correspondentes para obter mais detalhes sobre os algoritmos. Também pode ser uma função que realiza a operação de eliminação de tendências.

eixo int

O eixo ao longo do qual fazer a remoção de tendências.

Veja também

detrend_mean

Implementação do algoritmo 'mean'.

detrend_linear

Implementação do algoritmo 'linear'.

detrend_none

Implementação do algoritmo 'none'.

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

Retorno x menos linha de melhor ajuste; tendência 'linear'.

Parâmetros :
y Matriz ou sequência 0-D ou 1-D

Array ou sequência contendo os dados

Veja também

detrend_mean

Outro algoritmo de tendência.

detrend_none

Outro algoritmo de tendência.

detrend

Um wrapper em torno de todos os algoritmos de tendência.

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

Retorne x menos a média ( x ).

Parâmetros :
matriz ou sequência x

Array ou sequência contendo os dados Pode ter qualquer dimensionalidade

eixo int

O eixo ao longo do qual obter a média. Consulte numpy.meanpara obter uma descrição desse argumento.

Veja também

detrend_linear

Outro algoritmo de tendência.

detrend_none

Outro algoritmo de tendência.

detrend

Um wrapper em torno de todos os algoritmos de tendência.

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

Retorno x : sem retirada de tendência.

Parâmetros :
x qualquer objeto

Um objeto contendo os dados

eixo int

Este parâmetro é ignorado. Está incluído para compatibilidade com detrend_mean

Veja também

detrend_mean

Outro algoritmo de tendência.

detrend_linear

Outro algoritmo de tendência.

detrend

Um wrapper em torno de todos os algoritmos de tendência.

matplotlib.mlab. magnitude_spectrum ( x , Fs = Nenhum , janela = Nenhum , pad_to = Nenhum , lados = Nenhum ) #

Calcule a magnitude (valor absoluto) do espectro de frequência de x . Os dados são preenchidos com um comprimento de pad_to e a janela da função de janelamento é aplicada ao sinal.

Parâmetros :
x matriz 1-D ou sequência

Array ou sequência contendo os dados

Fs flutuante, padrão: 2

A frequência de amostragem (amostras por unidade de tempo). É usado para calcular as frequências de Fourier, freqs , em ciclos por unidade de tempo.

janela chamável ou ndarray, padrão:window_hanning

Uma função ou um vetor de comprimento NFFT . Para criar vetores de janela, consulte window_hanning, window_none, numpy.blackman, numpy.hamming, numpy.bartlett, scipy.signal, scipy.signal.get_windowetc. Se uma função for passada como argumento, ela deve receber um segmento de dados como argumento e retornar a versão em janela do segmento.

lados {'padrão', 'onesided', 'twosided'}, opcional

De quais lados do espectro retornar. 'padrão' é unilateral para dados reais e bilateral para dados complexos. 'onesided' força o retorno de um espectro unilateral, enquanto 'twosided' força bilateral.

pad_to int, opcional

O número de pontos para os quais o segmento de dados é preenchido ao executar a FFT. Embora não aumente a resolução real do espectro (a distância mínima entre picos resolvíveis), isso pode dar mais pontos no gráfico, permitindo mais detalhes. Isso corresponde ao parâmetro nfft na chamada para . O padrão é None, que define pad_to igual ao comprimento do sinal de entrada (ou seja, sem preenchimento).

Devoluções :
matriz 1-D de espectro

A magnitude (valor absoluto) do espectro de frequência.

matriz 1-D de frequências

As frequências correspondentes aos elementos do espectro .

Veja também

psd

Retorna a densidade espectral de potência.

complex_spectrum

Retorna o espectro de frequência de valor complexo.

magnitude_spectrum

Retorna o valor absoluto do complex_spectrum.

angle_spectrum

Retorna o ângulo do complex_spectrum.

phase_spectrum

Retorna a fase (ângulo desdobrado) do complex_spectrum.

specgram

Pode retornar o espectro complexo de segmentos dentro do sinal.

matplotlib.mlab. phase_spectrum ( x , Fs = Nenhum , janela = Nenhum , pad_to = Nenhum , lados = Nenhum ) #

Calcule a fase do espectro de frequência (espectro de fase não envolvido) de x . Os dados são preenchidos com um comprimento de pad_to e a janela da função de janelamento é aplicada ao sinal.

Parâmetros :
x matriz 1-D ou sequência

Array ou sequência contendo os dados

Fs flutuante, padrão: 2

A frequência de amostragem (amostras por unidade de tempo). É usado para calcular as frequências de Fourier, freqs , em ciclos por unidade de tempo.

janela chamável ou ndarray, padrão:window_hanning

Uma função ou um vetor de comprimento NFFT . Para criar vetores de janela, consulte window_hanning, window_none, numpy.blackman, numpy.hamming, numpy.bartlett, scipy.signal, scipy.signal.get_windowetc. Se uma função for passada como argumento, ela deve receber um segmento de dados como argumento e retornar a versão em janela do segmento.

lados {'padrão', 'onesided', 'twosided'}, opcional

De quais lados do espectro retornar. 'padrão' é unilateral para dados reais e bilateral para dados complexos. 'onesided' força o retorno de um espectro unilateral, enquanto 'twosided' força bilateral.

pad_to int, opcional

O número de pontos para os quais o segmento de dados é preenchido ao executar a FFT. Embora não aumente a resolução real do espectro (a distância mínima entre picos resolvíveis), isso pode dar mais pontos no gráfico, permitindo mais detalhes. Isso corresponde ao parâmetro nfft na chamada para . O padrão é None, que define pad_to igual ao comprimento do sinal de entrada (ou seja, sem preenchimento).

Devoluções :
matriz 1-D de espectro

A fase do espectro de frequência (espectro de fase desembrulhado).

matriz 1-D de frequências

As frequências correspondentes aos elementos do espectro .

Veja também

psd

Retorna a densidade espectral de potência.

complex_spectrum

Retorna o espectro de frequência de valor complexo.

magnitude_spectrum

Retorna o valor absoluto do complex_spectrum.

angle_spectrum

Retorna o ângulo do complex_spectrum.

phase_spectrum

Retorna a fase (ângulo desdobrado) do complex_spectrum.

specgram

Pode retornar o espectro complexo de segmentos dentro do sinal.

matplotlib.mlab. psd ( x , NFFT = Nenhum , Fs = Nenhum , detrend = Nenhum , janela = Nenhum , noverlap = Nenhum , pad_to = Nenhum , lados = Nenhum , scale_by_freq = Nenhum ) [source] #

Calcule a densidade espectral de potência.

A densidade espectral de energia\(P_{xx}\)pelo método do periodograma médio de Welch. O vetor x é dividido em segmentos de comprimento NFFT . Cada segmento é desatendido pela função detrend e janelado pela função window . noverlap dá o comprimento da sobreposição entre os segmentos. o\(|\mathrm{fft}(i)|^2\) de cada segmento\(i\)são calculadas a média para calcular\(P_{xx}\).

Se len( x ) < NFFT , será preenchido com zeros para NFFT .

Parâmetros :
x matriz 1-D ou sequência

Array ou sequência contendo os dados

Fs flutuante, padrão: 2

A frequência de amostragem (amostras por unidade de tempo). É usado para calcular as frequências de Fourier, freqs , em ciclos por unidade de tempo.

janela chamável ou ndarray, padrão:window_hanning

Uma função ou um vetor de comprimento NFFT . Para criar vetores de janela, consulte window_hanning, window_none, numpy.blackman, numpy.hamming, numpy.bartlett, scipy.signal, scipy.signal.get_windowetc. Se uma função for passada como argumento, ela deve receber um segmento de dados como argumento e retornar a versão em janela do segmento.

lados {'padrão', 'onesided', 'twosided'}, opcional

De quais lados do espectro retornar. 'padrão' é unilateral para dados reais e bilateral para dados complexos. 'onesided' força o retorno de um espectro unilateral, enquanto 'twosided' força bilateral.

pad_to int, opcional

O número de pontos para os quais o segmento de dados é preenchido ao executar a FFT. Isso pode ser diferente do NFFT , que especifica o número de pontos de dados usados. Embora não aumente a resolução real do espectro (a distância mínima entre picos resolvíveis), isso pode dar mais pontos no gráfico, permitindo mais detalhes. Isso corresponde ao parâmetro nfft na chamada para . O padrão é None, que define pad_to igual a NFFT

NFFT int, padrão: 256

O número de pontos de dados usados ​​em cada bloco para a FFT. A potência 2 é mais eficiente. Isso NÃO deve ser usado para obter preenchimento zero, ou a escala do resultado ficará incorreta; use pad_to para isso.

detrend {'none', 'mean', 'linear'} ou callable, padrão: 'none'

A função aplicada a cada segmento antes do fft-ing, projetada para remover a média ou tendência linear. Ao contrário do MATLAB, onde o parâmetro de tendência é um vetor, no Matplotlib é uma função. O mlab módulo define detrend_none, detrend_meane detrend_linear, mas você também pode usar uma função personalizada. Você também pode usar uma string para escolher uma das funções: 'none' calls detrend_none. chamadas 'más' detrend_mean. chamadas 'lineares' detrend_linear.

scale_by_freq bool, padrão: True

Se os valores de densidade resultantes devem ser dimensionados pela frequência de escala, que fornece a densidade em unidades de 1/Hz. Isso permite a integração sobre os valores de frequência retornados. O padrão é True para compatibilidade com MATLAB.

noverlap int, padrão: 0 (sem sobreposição)

O número de pontos de sobreposição entre os segmentos.

Devoluções :
Matriz Pxx 1-D

Os valores para o espectro de potência\(P_{xx}\)(valor real)

matriz 1-D de frequências

As frequências correspondentes aos elementos em Pxx

Veja também

specgram

specgramdifere na sobreposição padrão; em não retornar a média dos periodogramas dos segmentos; e no retorno dos tempos dos segmentos.

magnitude_spectrum

retorna o espectro de magnitude.

csd

retorna a densidade espectral entre dois sinais.

Referências

Bendat & Piersol -- Random Data: Analysis and Measurement Procedures, John Wiley & Sons (1986)

matplotlib.mlab. specgram ( x , NFFT = Nenhum , Fs = Nenhum , detrend = Nenhum , janela = Nenhum , noverlap = Nenhum , pad_to = Nenhum , lados = Nenhum , scale_by_freq = Nenhum , modo = Nenhum ) [source] #

Calcular um espectrograma.

Calcule e plote um espectrograma de dados em x . Os dados são divididos em segmentos de comprimento NFFT e o espectro de cada seção é calculado. A janela de função de janelamento é aplicada a cada segmento e a quantidade de sobreposição de cada segmento é especificada com noverlap .

Parâmetros :
x tipo array

Matriz ou sequência 1-D.

Fs flutuante, padrão: 2

A frequência de amostragem (amostras por unidade de tempo). É usado para calcular as frequências de Fourier, freqs , em ciclos por unidade de tempo.

janela chamável ou ndarray, padrão:window_hanning

Uma função ou um vetor de comprimento NFFT . Para criar vetores de janela, consulte window_hanning, window_none, numpy.blackman, numpy.hamming, numpy.bartlett, scipy.signal, scipy.signal.get_windowetc. Se uma função for passada como argumento, ela deve receber um segmento de dados como argumento e retornar a versão em janela do segmento.

lados {'padrão', 'onesided', 'twosided'}, opcional

De quais lados do espectro retornar. 'padrão' é unilateral para dados reais e bilateral para dados complexos. 'onesided' força o retorno de um espectro unilateral, enquanto 'twosided' força bilateral.

pad_to int, opcional

O número de pontos para os quais o segmento de dados é preenchido ao executar a FFT. Isso pode ser diferente do NFFT , que especifica o número de pontos de dados usados. Embora não aumente a resolução real do espectro (a distância mínima entre picos resolvíveis), isso pode dar mais pontos no gráfico, permitindo mais detalhes. Isso corresponde ao parâmetro nfft na chamada para . O padrão é None, que define pad_to igual a NFFT

NFFT int, padrão: 256

O número de pontos de dados usados ​​em cada bloco para a FFT. A potência 2 é mais eficiente. Isso NÃO deve ser usado para obter preenchimento zero, ou a escala do resultado ficará incorreta; use pad_to para isso.

detrend {'none', 'mean', 'linear'} ou callable, padrão: 'none'

A função aplicada a cada segmento antes do fft-ing, projetada para remover a média ou tendência linear. Ao contrário do MATLAB, onde o parâmetro de tendência é um vetor, no Matplotlib é uma função. O mlab módulo define detrend_none, detrend_meane detrend_linear, mas você também pode usar uma função personalizada. Você também pode usar uma string para escolher uma das funções: 'none' calls detrend_none. chamadas 'más' detrend_mean. chamadas 'lineares' detrend_linear.

scale_by_freq bool, padrão: True

Se os valores de densidade resultantes devem ser dimensionados pela frequência de escala, que fornece a densidade em unidades de 1/Hz. Isso permite a integração sobre os valores de frequência retornados. O padrão é True para compatibilidade com MATLAB.

noverlap int, padrão: 128

O número de pontos de sobreposição entre os blocos.

modo str, padrão: 'psd'
Que tipo de espectro usar:
'psd'

Retorna a densidade espectral de potência.

'complexo'

Retorna o espectro de frequência de valor complexo.

'magnitude'

Retorna o espectro de magnitude.

'ângulo'

Retorna o espectro de fase sem desempacotar.

'Estágio'

Retorna o espectro de fase com desdobramento.

Devoluções :
semelhante a uma matriz de espectro

Matriz 2D, as colunas são os periodogramas de segmentos sucessivos.

tipo matriz de frequências

Matriz 1-D, frequências correspondentes às linhas no espectro .

tipo array

Matriz 1-D, os tempos correspondentes aos pontos médios dos segmentos (ou seja, as colunas no espectro ).

Veja também

psd

difere na sobreposição e nos valores de retorno.

complex_spectrum

semelhantes, mas com frequências de valores complexos.

magnitude_spectrum

segmento único semelhante quando o modo é 'magnitude'.

angle_spectrum

semelhante ao segmento único quando o modo é 'ângulo'.

phase_spectrum

semelhante ao segmento único quando o modo é 'fase'.

Notas

detrend e scale_by_freq só se aplicam quando o modo é definido como 'psd'.

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

[ Obsoleto ] Obtenha todas as janelas de x com comprimento n como uma única matriz, usando passos para evitar a duplicação de dados.

Aviso

Não é seguro gravar no array de saída. Vários elementos podem apontar para o mesmo pedaço de memória, portanto, modificar um valor pode alterar outros.

Parâmetros :
x matriz 1D ou sequência

Array ou sequência contendo os dados.

n int

O número de pontos de dados em cada janela.

noverlap int, padrão: 0 (sem sobreposição)

A sobreposição entre janelas adjacentes.

eixo int

O eixo ao longo do qual as janelas serão executadas.

Notas

Obsoleto desde a versão 3.6.

Referências

stackoverflow: Janela rolante para matrizes 1D no Numpy? stackoverflow: Usando strides para um filtro de média móvel eficiente

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

Retorne x vezes a janela Hanning (ou Hann) de len( x ).

Veja também

window_none

Outro algoritmo de janela.

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

Nenhuma função de janela; simplesmente retorne x .

Veja também

window_hanning

Outro algoritmo de janela.