psd vs pwelch in matlab
古いコメントを表示
hi there,
I have a problem,
I compare the result of psd and pwelch, but they showed the different result, why this happened? My matlab version is R2009, unfortunately the matlab delete the description of psd, so would someone tell me why the result of psd and pwelch differs even use the same window? here is my code: ----------------
clear;
Fs=1000;
n=0:1/Fs:1;
y=cos(2*pi*40*n)+3*cos(2*pi*100*n)+randn(size(n));
Nfft=1000;
window=hanning(100);
noverlap=20;
dflag='none';
[Pxx,f]=psd(y,Nfft,Fs,window,noverlap);
figure
plot(f,10*log10(Pxx));
xlabel('frequency/Hz');ylabel('PSD/dB');
title('PSD-Welch method')
hold on;
[Pxx1,f1]=pwelch(y,window,noverlap,Nfft,Fs);
plot(f1,10*log10(Pxx1),'r');

回答 (2 件)
Honglei Chen
2015 年 5 月 27 日
0 投票
You should use pwelch. In R2009b, psd is deprecated because the resulting power spectral density is not properly normalized. The shape is correct though.
カテゴリ
ヘルプ センター および File Exchange で Parametric Spectral Estimation についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!