Ältere Kommentare anzeigen
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 Kommentar
Wayne King
am 8 Dez. 2011
Can you please format your code?
Antworten (1)
bym
am 20 Dez. 2011
0 Stimmen
ummm...because your line calculating the cross power spectrum is commented out?
Kategorien
Mehr zu Spectral Measurements finden Sie in Hilfe-Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!