MATLAB,时域正弦信号,做FFT后频谱问题。

2025-02-22 12:25:39
推荐回答(1个)
回答1:

你这个程序之所以没有出来主要是赋值语句有问题。
gl=Ak(1)*sin(2*pi*16*t+fik(1))+Ak(2)*sin(2*pi*32*t+fik(2))
+Ak(3)*sin(2*pi*48*t+fik(3))+Ak(4)*sin(2*pi*64*t+fik(4))
+Ak(5)*sin(2*pi*80*t+fik(5))+Ak(6)*sin(2*pi*96*t+fik(6))
+Ak(7)*sin(2*pi*350*t+fik(7))+Ak(8)*sin(2*pi*500*t+fik(8))
+Ak(9)*sin(2*pi*850*t+fik(9))+Ak(10)*sin(2*pi*900*t+fik(10));%时域正弦信号

不能直接回车,matlab认为程序结束不执行下面的加号。要么在后面加...(三个点也可以)
gl=Ak(1)*sin(2*pi*16*t+fik(1))+Ak(2)*sin(2*pi*32*t+fik(2))...
+Ak(3)*sin(2*pi*48*t+fik(3))+Ak(4)*sin(2*pi*64*t+fik(4))...
+Ak(5)*sin(2*pi*80*t+fik(5))+Ak(6)*sin(2*pi*96*t+fik(6))...
+Ak(7)*sin(2*pi*350*t+fik(7))+Ak(8)*sin(2*pi*500*t+fik(8))...
+Ak(9)*sin(2*pi*850*t+fik(9))+Ak(10)*sin(2*pi*900*t+fik(10));%时域正弦信号

或者写成循环语句
gl=zeros(1,4000);
for i=1:1:length(fk)
gl=Ak(i)*sin(2*pi*fk(i)*t+fik(i))+gl;
end