|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?注册
x
在matlab中尝试对离散序列做FFT,并想得到它的振幅谱与PSD;
目前振幅谱的频率与幅度通过整周期采样都是对的;
但是在输出功率谱密度的时候,发现纵坐标的值与输入信号对不上;
其中一信号PSD的对数值有21.1dB,但是我输入信号才0.5v,这个功率值该如何转换到正确的值?
Fs=8*10^6;
N=2048;
m=0:N-1;t=m/Fs;f1=3906.25;f2=3906.25*10^3;
xn=sin(2*pi*f1*t)+0.5*sin(2*pi*f2*t);
yn=abs(fft(xn,N));
zn=(2/N)*yn(1:length(yn)/2);
f=(0 N-1)/2)*Fs/N;
f_full=(0 N-1))*Fs/N;
subplot(1,2,1),plot(f,zn);
pn=10*log10((1/N)*abs((fft(xn,N)).*(fft(xn,N))));
sn=pn(1:length(pn)/2);
subplot(1,2,2),plot(f_full,pn);
|
|