matplotlib.pyplot.psd #
- matplotlib.pyplot. psd ( x , NFFT = Nenhum , Fs = Nenhum , Fc = Nenhum , detrend = Nenhum , janela = Nenhum , noverlap = Nenhum , pad_to = Nenhum , lados = Nenhum , scale_by_freq = Nenhum , return_line = Nenhum , * , data = Nenhum , **kwargs ) [fonte] #
Plote 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}\), com uma escala para corrigir a perda de energia devido ao janelamento.
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_window
etc. 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
fft
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 definedetrend_none
,detrend_mean
edetrend_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.
- Fc int, padrão: 0
A frequência central de x , que compensa as extensões x do gráfico para refletir a faixa de frequência usada quando um sinal é adquirido e, em seguida, filtrado e reduzido para a banda base.
- return_line bool, padrão: Falso
Se deve incluir o objeto de linha plotado nos valores retornados.
- Devoluções :
- Matriz Pxx 1-D
Os valores para o espectro de potência\(P_{xx}\)antes da escala (valor real).
- matriz 1-D de frequências
As frequências correspondentes aos elementos em Pxx .
- linha
Line2D
A linha criada por esta função. Retornado apenas se return_line for True.
- Outros Parâmetros :
- objeto indexável de dados , opcional
Se fornecidos, os seguintes parâmetros também aceitam uma string
s
, que é interpretada comodata[s]
(a menos que isso gere uma exceção):x
- ** kwargs
Os argumentos de palavra-chave controlam as
Line2D
propriedades:Propriedade
Descrição
uma função de filtro, que usa uma matriz flutuante (m, n, 3) e um valor de dpi e retorna uma matriz (m, n, 3) e dois deslocamentos do canto inferior esquerdo da imagem
escalar ou nenhum
bool
antialiased
ou aabool
bool
Patch ou (Caminho, Transformação) ou Nenhum
color
ou ccor
CapStyle
ou {'bunda', 'projetando', 'redondo'}JoinStyle
ou {'esquadria', 'redondo', 'chanfrado'}sequência de flutuações (on/off ink em pontos) ou (None, None)
(2, N) array ou dois arrays 1D
drawstyle
ou ds{'default', 'steps', 'steps-pre', 'steps-mid', 'steps-post'}, default: 'default'
{'completo', 'esquerda', 'direita', 'inferior', 'superior', 'nenhum'}
cor ou nenhum
str
bool
objeto
linestyle
ou ls{'-', '--', '-.', ':', '', (offset, on-off-seq), ...}
linewidth
ou lwflutuador
string de estilo de marcador,
Path
ouMarkerStyle
markeredgecolor
ou meccor
markeredgewidth
ou miarflutuador
markerfacecolor
ou mfccor
markerfacecoloralt
ou mfcaltcor
markersize
ou senhoraflutuador
None ou int ou (int, int) ou slice ou list[int] ou float ou (float, float) ou list[bool]
bool
float ou callable[[Artist, Event], tuple[bool, dict]]
desconhecido
bool
(escala: flutuante, comprimento: flutuante, aleatoriedade: flutuante)
bool ou nenhum
CapStyle
ou {'bunda', 'projetando', 'redondo'}JoinStyle
ou {'esquadria', 'redondo', 'chanfrado'}desconhecido
str
bool
matriz 1D
matriz 1D
flutuador
Veja também
specgram
Difere na sobreposição padrão; em não retornar a média dos periodogramas dos segmentos; em retornar os tempos dos segmentos; e na plotagem de um mapa de cores em vez de uma linha.
magnitude_spectrum
Traça o espectro de magnitude.
csd
Traça a densidade espectral entre dois sinais.
Notas
Para plotagem, a potência é plotada como \(10\log_{10}(P_{xx})\)para decibéis, embora o próprio Pxx seja retornado.
Referências
Bendat & Piersol -- Random Data: Analysis and Measurement Procedures, John Wiley & Sons (1986)