Por que existem montanhas em pente em um periodograma?


8

Estou brincando com o periodogramMATLAB. Eu criei um script simples para observar como ele se comporta:

rng(1);  %# initialize the random number generator

Fs = 1000;  %# Sampling frequency
duration = 0.1; %# seconds

A = 1; %# Sinusoid amplitude
f = 150; %# Sinusoid frequency
eps = 0.01;

t = 0:1/Fs:duration;
x = A * sin(2*pi*f*t) + eps * randn(size(t));

periodogram(x,[],1024,Fs);

insira a descrição da imagem aqui

Não tenho nenhum problema com o código e posso escrever minha própria periodogramfunção usando os algoritmos fornecidos na documentação, mas me pergunto a razão teórica por trás das colinas em forma de pente que não são 150 Hz. O que eu recebo em vez de obter um único pico acima de 150 Hz? Existe algo de especial nas distâncias dos picos dessas colinas?

Respostas:


5

Não estou totalmente satisfeito com a resposta de Itamar Katz, então aqui está minha explicação.

O DFT de um sinal complexo de comprimento , x [ n ] = e ı 2 π f n / N éNx[n]=eEu2πfn/N

X[k]=F{x[n]}=eEu2π(f-k)-1 1eEu2π(f-k)/N-1 1

Portanto, a potência ou a resposta ao quadrado da magnitude é dada por

|X[k]|2=(pecado(π(f-k))pecado(π(f-k)/N))2

f-kN2

euog10(0 0)-

Aqui está uma pequena ilustração no Mathematica:

Clear@X
X[f_, n_] := (Sin[π (f - #)]/Sin[π (f - #)/n])^2 &
Plot[X[3, 10][k], {k, -5, 5}, PlotRange -> All]

insira a descrição da imagem aqui

euog10

insira a descrição da imagem aqui

N

insira a descrição da imagem aqui


12

Um único pico (como você chama) aparece teoricamente apenas para um sinusóide de comprimento infinito. Como seu sinal tem 100 amostras de comprimento, ele não é infinito. Na verdade, você multiplicou seu sinal infinito por uma janela com um valor de 1 a 100 amostras e 0 em outro lugar. Como a multiplicação no domínio do tempo equivale à convolução no domínio da frequência, seu espectro é uma convolução do pico único e a resposta de frequência da janela (btw é chamada de janela retangular). Esta é a função que você tem.

Eu sugiro que você leia sobre janelas: http://en.wikipedia.org/wiki/Window_function


+1 Ah, eu sabia sobre a janela, mas não conseguia fazer o link. Obrigado!
Petrichor

11
Um único pico aparece independentemente da janela usada, se a frequência for um ajuste exato para o comprimento da janela. gist.github.com/236567
endolith

11
Isso não está correto. Para uma janela retangular, isso é verdade, já que você experimenta a função da janela no domínio da frequência exatamente em seus zeros, portanto, fica "cego" para os lobos laterais. No entanto, isso não é verdade para uma função geral da janela.
Itamar Katz

veja o exemplo git: //gist.github.com/1403819.git
Itamar Katz

@ItamarKatz: Sim, você está certo. Eu quis dizer "sem janela".
endolith
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.