请教程序问题
N=500t=0:0.001:0.6
x=sin(2*pi*50*t)+sin(2*pi*120*t)
a=x+2*randn(size(t))
r=fft(a,N)
k=0:1:round(N/2)
p(k)=r(k)*conj(r(k))
f=1000*(0:round(N/2))/N)
plot(f,p(1:(round(N/2)+1)))
运行之后出错,请指教。谢谢!
回复 楼主 zhangyong315315 的帖子
N不是2的整数次幂,r=fft(a,N)结果正确吗?用round()判断纵坐标,个数一定与横坐标一样吗? p(k)=r(k)*conj(r(k));应该是k+1我觉得数组是从p(1)开始的 把以下2语句p(k)=r(k)*conj(r(k))
f=1000*(0:round(N/2))/N)
改为
p=r.*conj(r);
f=1000*(0:round(N/2))/N;
页:
[1]