hering 发表于 2008-7-8 15:54

请大家看看这个fft的结果是什么问题?!

clear
fs=1;
N=1000;
t=0:fs:(N-1)*fs;
x1=sin(3*2*pi*t);
x2=cos(0.5*2*pi*t+cos(0.05*t));
x3=sin(0.06*2*pi*t);
z=x1+x2+x3;%%z包括一个调频信号和另外两个正弦信号
fhz=abs(fft(z));%快速傅里叶变换
ff=(0:N/2-1)*1/N;%用ff=(0:length(z)-1)*fs/length(z)
plot(ff,fhz);

如下图,其中一个正弦信号和调频信号的应该没有错,频率为3hz的怎么不对,请指教!

erdgzw 发表于 2008-7-8 16:22

你的fs才1hz当然不行了。

zhwang554 发表于 2008-7-8 16:25

3赫正弦波显示不出来

取样频率fs为1赫,只能上显示最高频率为fs/2=0.5赫的正弦波,3赫正弦波显示不出来

另外t=0:fs:(N-1)*fs;应为t=0:1/fs:(N-1)/fs;

plot(ff,fhz)   应为 plot(ff,fhz(1:N/2));

hering 发表于 2008-7-8 20:22

学习了,谢谢,忽略了耐奎斯特定理,用下面的程序就很好了

clear
fs=100;
N=1000;
t=0:1/fs:(N-1)*1/fs;
x1=sin(30*2*pi*t);
x2=cos(10*2*pi*t+90*cos(0.05*t));
x3=sin(5*2*pi*t);
z=x1+x2+x3;%%z包括一个调频信号和另外两个正弦信号
fhz=abs(fft(z));%快速傅里叶变换
ff=(0:N/2-1)*fs/N;%用ff=(0:length(z)-1)*fs/length(z)
plot(ff,fhz(1:N/2))
页: [1]
查看完整版本: 请大家看看这个fft的结果是什么问题?!