想請問版上大大有關畫頻譜的問題
先上程式碼
Fs = 100;
t = 0:1/Fs:10;
x=10*cos(2*pi*t*20)+3*cos(2*pi*t*9)+4*cos(2*pi*t*4)+1*randn(size(t));
Hs=spectrum.welch;
psd(Hs,x,'Fs',Fs);
temp=psd(Hs,x,'Fs',Fs);
figure(4);
plot(temp.Frequencies,temp.Data);
y=fft(x,Fs)/Fs;
f=Fs*t;
figure(2);
plot(f(1:Fs/2),2*abs(y(1:Fs/2));
最初用psd畫出頻譜,但是y軸不想取db值,已爬文,可把f跟data取出
但畫出的figure(4) 又跟 第二段以fft為參考的figure(2)
在振幅上有著相當的誤差... 20Hz處差兩倍
這是什麼原因呢?? 若是因psd是多次計算得到,但兩倍的誤差實在有點大...
這樣在往後更複雜的資料分析很讓人擔心
希望板上先進能指導一下
感激不盡...