clear all
N=512;Nfft=1024;Fs=2*pi;
n=0:N-1;
xn=cos(0.3*pi*n)+cos(0.32*pi*n)+randn(size(n));
%由周期图法原理采用fft计算
XF=fft(xn,Nfft);
pxx1=abs(XF).^2/length(n);
index=0:round(Nfft/2-1);
f=index*Fs/Nfft;
figure(1)
plot(f,10*log(pxx1(index+1)))
axis([0 pi -60 60])
xlabel('Frenquency');
ylabel('Power Spectral(db)');
title('PSD estimation :Periodogram')
%%采用matlab周期图法periodogram计算
figure(2)
[pxx1,f]=periodogram(xn,[],'twosided',Nfft,Fs)
plot(f,10*log(pxx1))
axis([0 pi -60 60])
xlabel('Frenquency');
ylabel('Power Spectral(db)');
title('periodogram estimation')
%采用matlab Welch-bartlett周期图法 psd计算
L=200
window=boxcar(L);
noverlap=L/2;
[pxx2 f]=psd(xn,Nfft,Fs,window,noverlap);
本内容试读结束,登录后可阅读更多
下载后可阅读完整内容,剩余2页未读,立即下载