一:实验目的:加深对离散信号的DFT的理解及其FFT算法的运用。
二:实验原理:N点序列的DFT和IDFT变换定义式如下:
利用旋转因子具有周期性,可以得到快速算法(FFT)。
在MATLAB中,可以用函数X=fft(x,N)和x=ifft(X,N)计算N点序列的DFT正、反变换。
三:实验要求:
利用MATLAB编程完成计算,绘出相应图形。并与理论计算相比较,说明实验结果的原因。
四:实验内容:
实验源代码:
N=64;
n=0:2*N-1;
k=0:N-1;
n1=2*k;
n2=2*k+1;
x1=cos(2*pi*7*n1/64)+0.5*cos(2*pi*19*n1/64);
x2=cos(2*pi*7*n2/64)+0.5*cos(2*pi*19*n2/64);
x=cos(2*pi*7*n/64)+0.5*cos(2*pi*19*n/64);
X1=fft(x1,N);
X2=fft(x2,N);
A=X1+exp(-j*2*pi*k/N).*X2;
B=X1-exp(-j*2*pi*k/N).*X2;
X=fft(x,128);
subplot(211)
title('|X(k)|');
stem(n,[abs(A),abs(B)],'k','.');grid on;
xlabel('64点计算'),ylabel('|X(K)|');
subplot(212)
stem(n,abs(X),'g','.');grid on;
xlabel('理论计算')
实验结果:
①实验源代码:
N=64;
n=0:63;
k=0:N-1;
Xk=1./(1-0.8*exp(-1i*2*pi*k/N));
x=ifft(Xk,N);
stem(k,abs(x)),grid on;
xlabel('n'),ylabel('x(n)');
title('64的IFFT');
②实验结果:
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END
暂无评论内容