数字信号处理 - FFT算法的应用 下载本文

用N点IFFT程序计算出和。

MATLAB编程如下: N=64;

k=[0:1:63];

xk=1./(1-0.8*exp(-j*2*pi*k/N)); xn=ifft(xk,64); stem(k,xn)

xlabel('k');ylabel('x(n)'); disp('xn序列');disp(xn); xn的图像为:

1.4 1.2

1

0.8)n( x0.6

0.4

0.2 0 010203040506070k

xn序列:

1.0000 - 0.0000i 0.8000 + 0.0000i 0.6400 + 0.0000i 0.5120 + 0.0000i 0.4096 + 0.0000i 0.3277 + 0.0000i 0.2621 + 0.0000i 0.2097 + 0.0000i 0.1678 + 0.0000i 0.1342 + 0.0000i 0.1074 + 0.0000i 0.0859 + 0.0000i 0.0687 - 0.0000i 0.0550 - 0.0000i 0.0440 - 0.0000i 0.0352 - 0.0000i 0.0281 - 0.0000i 0.0225 - 0.0000i 0.0180 - 0.0000i 0.0144 - 0.0000i 0.0115 - 0.0000i 0.0092 - 0.0000i 0.0074 - 0.0000i 0.0059 - 0.0000i 0.0047 - 0.0000i 0.0038 - 0.0000i 0.0030 - 0.0000i 0.0024 - 0.0000i 0.0019 - 0.0000i 0.0015 - 0.0000i 0.0012 - 0.0000i 0.0010 + 0.0000i 0.0008 + 0.0000i 0.0006 + 0.0000i 0.0005 + 0.0000i 0.0004 + 0.0000i 0.0003 + 0.0000i 0.0003 + 0.0000i 0.0002 + 0.0000i 0.0002 + 0.0000i 0.0001 + 0.0000i 0.0001 + 0.0000i 0.0001 + 0.0000i 0.0001 + 0.0000i 0.0001 + 0.0000i 0.0000 + 0.0000i 0.0000 + 0.0000i 0.0000 - 0.0000i 0.0000 + 0.0000i 0.0000 + 0.0000i 0.0000 + 0.0000i 0.0000 - 0.0000i 0.0000 + 0.0000i 0.0000 - 0.0000i 0.0000 - 0.0000i 0.0000 - 0.0000i 0.0000 - 0.0000i 0.0000 - 0.0000i 0.0000 - 0.0000i 0.0000 - 0.0000i 0.0000 - 0.0000i 0.0000 - 0.0000i 0.0000 - 0.0000i 0.0000 - 0.0000i

4

五、结果分析

理论值计算: 因

X(k)?11X(z)?1?0.8e?j2?k/N,k=0,1,……,63。所以1?0.8z?1,其中|z|>0.8,所

nx(n)?0.8u(n),n=0,1,2,……63。当n=0时,x(n)=1.0,当n=1时,x(n)=0.8,以

等等,由于手工计算只计实部,从实部看,理论值与ifft计算值相同。

六、心得体会

5