作业帮 > 综合 > 作业

希望做一个累加信号的福利叶变换……用MATLAB做

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/05/22 08:49:03
希望做一个累加信号的福利叶变换……用MATLAB做
关于原始问题已经放在图片里了,我在matlab里面是这样
恩这个累加信号的表述是这样的:
N=600;fs=1;
n=1:N;a2=0.30;T=600/fs/14;t=n/fs;
v=sin(pi*t/T)./(pi*t/T).*cos(a2*pi*t/T)./(1-4*(a2*t/T).^2);
s=0.*t;
for ii=1:10
s=s+a(ii)*sin(pi*(t-ii*T)/T)./(pi*(t-ii*T)/T).*cos(a2*pi*(t-ii*T)/T)./(1-4*(a2*(t-ii*T)/T).^2);
end
subplot(2,2,3),plot(t,s);title('累加信号s(t)');grid on;
做到这一步没问题,但是后面相对s做fft变换的时候,S=fft(s)的结果却全部都是NaN + NaN i,请教一下这个情况是什么原因造成的呢?
你的a(ii)是多少啊
再问: 那个是个随机数序列,先验等概,a(ii)=±1. 关键就是累加之后fft为啥是全部都不是有效值呢?
再答: 分母不能等于零,你在分母上加个eps(matlab所能表示的最小正数)试一下 s=s+a(ii)*sin(pi*(t-ii*T)/T)./(pi*(t-ii*T)/T+eps).*cos(a2*pi*(t-ii*T)/T)./(1-4*(a2*(t-ii*T)/T).^2); 还有n=1:N,也可换成n=0:N-1,刚才写成n=1:N就是为了分母不为零