PSD and Pwelch

I used the function psd.
nfft=round(length(P)/2);
[p,f]=psd(P,nfft,2,nfft,round(nfft/2),'mean');
% [p,f] = cpsd(x,y,window,noverlap,nfft,fs);
[m,peak]=max(p);
area=cumtrapz(f,p);
Find50=find(area>=.50*area(end));
Find80=find(area>=.80*area(end));
Fmean=trapz(f,f.*p)/trapz(f,p);
Fpeak=f(peak);
F50=f(Find50(1));
F80=f(Find80(1));
I tried to calculate two signal cross power spectrum
[p,f] = cpsd(x,y,window,noverlap,nfft,fs);
[m,peak]=max(p);
area=cumtrapz(f,p);
Find50=find(area>=.50*area(end));
Find80=find(area>=.80*area(end));
Fmean=trapz(f,f.*p)/trapz(f,p);
Fpeak=f(peak);
F50=f(Find50(1));
F80=f(Find80(1));
But it is fail to get answer.
What is wrong?

1 件のコメント

Wayne King
Wayne King 2011 年 12 月 8 日
Can you please format your code?

サインインしてコメントする。

回答 (1 件)

bym
bym 2011 年 12 月 20 日

0 投票

ummm...because your line calculating the cross power spectrum is commented out?

カテゴリ

質問済み:

2011 年 12 月 8 日

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by