堕落小星 发表于 2009-8-2 14:48

为什么所做的频谱不对呢

clear all;
N = 10000;
f1 = 0.1;
f2 = 0.2;
fs = 2;
a1 = 5; a2 = 3;
w = 2*pi/fs;
x = a1*sin(w*f1*(0:N-1))+a2*sin(2*f2*(0:N-1));
% 应用FFT求频谱
subplot(311)
plot(x(1:N/4));
ylabel('原始信号');
f = -1:2/N:1-2/N;size(f)
X = fft(x);size(X)
subplot(312)
plot(f,fftshift(abs(X))/N);
ylabel('FFT频谱');
% 应用IFFT求原信号
y = ifft(X);
subplot(313)
plot(real(y(1:N/4)));
ylabel('IFFT信号');


以上是程序!

为什么做出来的频谱幅值和频率点不对呢?

misslfx 发表于 2009-8-2 17:22

本帖最后由 wdhd 于 2016-9-19 11:17 编辑

原帖由 堕落小星 于 2009-8-2 14:48 发表
x = a1*sin(w*f1*(0:N-1))+a2*sin(2*f2*(0:N-1));
...
楼主是信号X的公式没写清吧:
是这样的吗?x = a1*sin(w*f1*(0:N-1))+a2*sin(w*f2*(0:N-1));

堕落小星 发表于 2009-8-3 16:23

回复 沙发 misslfx 的帖子

谢谢!谢谢!

misslfx 发表于 2009-8-3 20:33

回复 板凳 堕落小星 的帖子

不客气,以后这类问题,多注意点就可以避免了。
页: [1]
查看完整版本: 为什么所做的频谱不对呢