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 Comment

Wayne King
Wayne King on 8 Dec 2011
Can you please format your code?

Sign in to comment.

Answers (1)

bym
bym on 20 Dec 2011

0 votes

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

Asked:

on 8 Dec 2011

Community Treasure Hunt

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

Start Hunting!