matplotlib.axes.Axes.specgram #
- Machados. specgram ( x , NFFT = Nenhum , Fs = Nenhum , Fc = Nenhum , detrend = Nenhum , janela = Nenhum , noverlap = Nenhum , cmap = Nenhum , xextent = Nenhum , pad_to = Nenhum , lados = Nenhum , scale_by_freq = Nenhum , modo = nenhum ,scale = None , vmin = None , vmax = None , * , data = None , ** kwargs ) [source] #
Traçar 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 . O espectrograma é plotado como um mapa de cores (usando imshow).
- 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.
- modo {'padrão', 'psd', 'magnitude', 'ângulo', 'fase'}
Que tipo de espectro usar. O padrão é 'psd', que usa a densidade espectral de potência. 'magnitude' retorna o espectro de magnitude. 'ângulo' retorna o espectro de fase sem desembrulhar. 'phase' retorna o espectro de fase com desempacotamento.
- noverlap int, padrão: 128
O número de pontos de sobreposição entre os blocos.
- escala {'padrão', 'linear', 'dB'}
A escala dos valores no arquivo spec . 'linear' não é escala. 'dB' retorna os valores na escala dB. Quando o modo é 'psd', esta é a potência dB (10 * log10). Caso contrário, esta é a amplitude dB (20 * log10). 'padrão' é 'dB' se o modo for 'psd' ou 'magnitude' e 'linear' caso contrário. Deve ser 'linear' se o modo for 'ângulo' ou 'fase'.
- 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.
- cmap
Colormap
, padrão:rcParams["image.cmap"]
(padrão:'viridis'
) - xextent Nenhum ou (xmin, xmax)
A extensão da imagem ao longo do eixo x. O padrão define xmin para a borda esquerda do primeiro bin ( coluna do espectro ) e xmax para a borda direita do último bin. Note que para noverlap>0 a largura dos bins é menor que a dos segmentos.
- 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
Argumentos de palavra-chave adicionais são passados para
imshow
o que cria a imagem do specgram. O argumento da palavra-chave origin não é suportado.
- Devoluções :
- matriz 2D de espectro
As colunas são os periodogramas de segmentos sucessivos.
- matriz 1-D de frequências
As frequências correspondentes às linhas no espectro .
- t matriz 1-D
Os tempos correspondentes aos pontos médios dos segmentos (ou seja, as colunas no espectro ).
- Eu estou
AxesImage
A imagem criada por imshow contendo o espectrograma.
Veja também
psd
Difere na sobreposição padrão; ao retornar a média dos periodogramas do segmento; em tempos de não retorno; e na geração de um gráfico de linha em vez de um mapa de cores.
magnitude_spectrum
Um único espectro, semelhante a ter um único segmento quando o modo é 'magnitude'. Traça uma linha em vez de um mapa de cores.
angle_spectrum
Um único espectro, semelhante a ter um único segmento quando o modo é 'ângulo'. Traça uma linha em vez de um mapa de cores.
phase_spectrum
Um único espectro, semelhante a ter um único segmento quando o modo é 'fase'. Traça uma linha em vez de um mapa de cores.
Notas
Os parâmetros detrend e scale_by_freq só se aplicam quando o modo é definido como 'psd'.