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 #
cohereCoerência (densidade espectral cruzada normalizada)
csdDensidade espectral cruzada usando o periodograma médio de Welch
detrendRemova a linha média ou de melhor ajuste de uma matriz
psdDensidade espectral de potência usando o periodograma médio de Welch
specgramEspectrograma (espectro sobre segmentos de tempo)
complex_spectrumRetorna o espectro de frequência de valor complexo de um sinal
magnitude_spectrumRetorna a magnitude do espectro de frequência de um sinal
angle_spectrumRetorna o ângulo (fase envolvida) do espectro de frequência de um sinal
phase_spectrumRetorna a fase (ângulo não enrolado) do espectro de frequência de um sinal
detrend_meanRemova a média de uma linha.
detrend_linearRemova a linha de melhor ajuste de uma linha.
detrend_noneRetorne a linha original.
stride_windowsObtenha 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:
objectRepresentaçã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 umaGaussianKDEinstâ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)
- 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.
- 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 n
fftna 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
psdRetorna a densidade espectral de potência.
complex_spectrumRetorna o espectro de frequência de valor complexo.
magnitude_spectrumRetorna o valor absoluto do
complex_spectrum.angle_spectrumRetorna o ângulo do
complex_spectrum.phase_spectrumRetorna a fase (ângulo desdobrado) do
complex_spectrum.specgramPode 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 n
fftna 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
mlabmódulo definedetrend_none,detrend_meanedetrend_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' callsdetrend_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 .
- 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 n
fftna 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
psdRetorna a densidade espectral de potência.
complex_spectrumRetorna o espectro de frequência de valor complexo.
magnitude_spectrumRetorna o valor absoluto do
complex_spectrum.angle_spectrumRetorna o ângulo do
complex_spectrum.phase_spectrumRetorna a fase (ângulo desdobrado) do
complex_spectrum.specgramPode 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 n
fftna 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
mlabmódulo definedetrend_none,detrend_meanedetrend_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' callsdetrend_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
psdequivalente 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 quedetrend_linear. 'nenhum' é o mesmo quedetrend_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_meanImplementação do algoritmo 'mean'.
detrend_linearImplementação do algoritmo 'linear'.
detrend_noneImplementaçã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_meanOutro algoritmo de tendência.
detrend_noneOutro algoritmo de tendência.
detrendUm 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_linearOutro algoritmo de tendência.
detrend_noneOutro algoritmo de tendência.
detrendUm 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_meanOutro algoritmo de tendência.
detrend_linearOutro algoritmo de tendência.
detrendUm 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 n
fftna 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
psdRetorna a densidade espectral de potência.
complex_spectrumRetorna o espectro de frequência de valor complexo.
magnitude_spectrumRetorna o valor absoluto do
complex_spectrum.angle_spectrumRetorna o ângulo do
complex_spectrum.phase_spectrumRetorna a fase (ângulo desdobrado) do
complex_spectrum.specgramPode 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 n
fftna 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
psdRetorna a densidade espectral de potência.
complex_spectrumRetorna o espectro de frequência de valor complexo.
magnitude_spectrumRetorna o valor absoluto do
complex_spectrum.angle_spectrumRetorna o ângulo do
complex_spectrum.phase_spectrumRetorna a fase (ângulo desdobrado) do
complex_spectrum.specgramPode 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 n
fftna 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
mlabmódulo definedetrend_none,detrend_meanedetrend_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' callsdetrend_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
specgramspecgramdifere na sobreposição padrão; em não retornar a média dos periodogramas dos segmentos; e no retorno dos tempos dos segmentos.magnitude_spectrumretorna o espectro de magnitude.
csdretorna 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 n
fftna 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
mlabmódulo definedetrend_none,detrend_meanedetrend_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' callsdetrend_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
psddifere na sobreposição e nos valores de retorno.
complex_spectrumsemelhantes, mas com frequências de valores complexos.
magnitude_spectrumsegmento único semelhante quando o modo é 'magnitude'.
angle_spectrumsemelhante ao segmento único quando o modo é 'ângulo'.
phase_spectrumsemelhante 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_noneOutro algoritmo de janela.
- matplotlib.mlab. window_none ( x ) [fonte] #
Nenhuma função de janela; simplesmente retorne x .
Veja também
window_hanningOutro algoritmo de janela.