资源描述:
《实验6-FFT算法的应用讲课稿.doc》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、实验6-FFT算法的应用精品文档实验6FFT算法的应用实验目的:加深对离散信号的DFT的理解及其FFT算法的运用。实验原理:N点序列的DFT和IDFT变换定义式如下:,利用旋转因子具有周期性,可以得到快速算法(FFT)。在MATLAB中,可以用函数X=fft(x,N)和x=ifft(X,N)计算N点序列的DFT正、反变换。例1对连续的单一频率周期信号按采样频率采样,截取长度N分别选N=20和N=16,观察其DFT结果的幅度谱。解此时离散序列,即k=8。用MATLAB计算并作图,函数fft用于计算离散傅里叶变换DF
2、T,程序如下:k=8;n1=[0:1:19];xa1=sin(2*pi*n1/k);subplot(2,2,1)plot(n1,xa1)xlabel('t/T');ylabel('x(n)');xk1=fft(xa1);xk1=abs(xk1);subplot(2,2,2)stem(n1,xk1)xlabel('k');ylabel('X(k)');n2=[0:1:15];xa2=sin(2*pi*n2/k);subplot(2,2,3)plot(n2,xa2)收集于网络,如有侵权请联系管理员删除精品文档xlab
3、el('t/T');ylabel('x(n)');xk2=fft(xa2);xk2=abs(xk2);subplot(2,2,4)stem(n2,xk2)xlabel('k');ylabel('X(k)'); 计算结果示于图2.1,(a)和(b)分别是N=20时的截取信号和DFT结果,由于截取了两个半周期,频谱出现泄漏;(c)和(d)分别是N=16时的截取信号和DFT结果,由于截取了两个整周期,得到单一谱线的频谱。上述频谱的误差主要是由于时域中对信号的非整周期截断产生的频谱泄漏。实验内容:(1)2N
4、点实数序列N=64。用一个64点的复数FFT程序,一次算出,并绘出。收集于网络,如有侵权请联系管理员删除精品文档(1)已知某序列在单位圆上的N=64等分样点的Z变换为。用N点IFFT程序计算,绘出和。实验要求:利用MATLAB编程完成计算,绘出相应图形。并与理论计算相比较,说明实验结果的原因。(1)用以下代码实现可得图6-1所示的DFT图。>>N=64;>>n=0:2*N-1;>>x=cos(2*pi*7*n/N)+1/2*cos(2*pi*19*n/N);>>X=fft(x,128);>>k=n;>>stem(
5、k,abs(X))>>grid>>xlabel('k');ylabel('
6、X[k]
7、');图6-1收集于网络,如有侵权请联系管理员删除精品文档理论分析如下:由欧拉公式得:对,其2N点的DFT变换为:当时,=0当时,即由此可得当k=14,38,90,114时有值,其余为0),与图6-1有相同的结论。(2)用以下代码可得图6-2>>N=64;>>k=0:N-1;>>X=1./(1-0.8*exp(-j*2*pi*k/N));>>x=ifft(X,64);>>n=k;>>stem(n,abs(x))>>grid收集于
8、网络,如有侵权请联系管理员删除精品文档图6-2>>xlabel('n');ylabel('x[n]');理论分析如下:由,其Z变换为可得,其N=64点的DFT为:=得其IDFT为:比较用IFFT函数时,得其结果是复数求其模值与理论值进行比较得:>>x1=1/(1-0.8^N)*0.8.^n;>>delta=x1-abs(x)delta=收集于网络,如有侵权请联系管理员删除精品文档1.0e-015*Columns1through900.11100.22200.11100.22200.16650.11100.0278
9、-0.0555Columns10through18-0.1110-0.0416-0.0833-0.0833-0.0625-0.0278-0.0347-0.01390.0035Columns19through270.00350.01730.0087-0.0347-0.0755-0.0668-0.0572-0.01000.0507Columns28through360.06940.09820.12120.15940.12320.12310.13170.12760.0911Columns37through450.039
10、50.05380.00980.0245-0.0054-0.0737-0.0950-0.1385-0.1163Columns46through54-0.0917-0.0359-0.0523-0.0418-0.0133-0.0745-0.0846-0.0455-0.0836Columns55through63-0.0689-0.0843-0.1010-0.0895-0.040