实验三-FFT算法的应用实验报告

上传人:汽*** 文档编号:498756692 上传时间:2023-12-05 格式:DOCX 页数:6 大小:90KB
返回 下载 相关 举报
实验三-FFT算法的应用实验报告_第1页
第1页 / 共6页
实验三-FFT算法的应用实验报告_第2页
第2页 / 共6页
实验三-FFT算法的应用实验报告_第3页
第3页 / 共6页
实验三-FFT算法的应用实验报告_第4页
第4页 / 共6页
实验三-FFT算法的应用实验报告_第5页
第5页 / 共6页
点击查看更多>>
资源描述

《实验三-FFT算法的应用实验报告》由会员分享,可在线阅读,更多相关《实验三-FFT算法的应用实验报告(6页珍藏版)》请在金锄头文库上搜索。

1、成绩数字信号处理实验报告实验名称:FFT算法的应用实验班级:姓 名:学号(后两位):指导教师:实验日期:2010.11.23实验3 FFT算法的应用一、实验目的1、加深对离散信号的DFT的理解;2、在MATLAB中实现FFT算法。二、实验原理N点序列的DFT和IDFT变换定义式如下:工引=2工町股#,= XkWyN A-=0 ,利用旋转因子 =-具有周期性,可以得到快速算法(FFT)。在MATLAB中,可以用函数x=fft(x,N)和x=ifft(x,N)计算N点序列的DFT正、反变换。三、预习要求1、在MATLAB中,熟悉函数fft、ifft的使用;2、阅读扩展练习中的实例,学习在MATLA

2、B中的实现FFT算法的实现;3、利用MATLAB编程完成计算,绘出相应图形。并与理论计算相比较,说明实验结果 的原因。例:对连续的单一频率周期信号按采样频率上二采样,截取长度N分别选N =20 和N =16,观察其DFT结果的幅度谱。解:此时离散序列二%】:】,;_ .J: 二 %二1二 手,即k=8。用MATLAB计算并 作图,函数fft用于计算离散傅里叶变换DFT,程序如下: 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)

3、;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)xlabel(t/T);ylabel(x(n);xk2=fft(xa2);xk2=abs(xk2);subplot(2,2,4)stem(n2,xk2)xlabel(k);ylabel(X(k);106浸4(b)821015图1不同的截取长度的正弦信号及其DFT结果计算结果示于图1, (a)和(b)分别是N=20时的截取信号和DFT结果,由于截取了两个 半周期,频谱出现泄漏;(c)和(d)

4、分别是N=16时的截取信号和DFT结果,由于截取 了两个整周期,得到单一谱线的频谱。上述频谱的误差主要是由于时域中对信号的非 整周期截断产生的频谱泄漏。四、实验内容1、2N点实数序列,cos(7?i) + cos(19?i n = 0J2应W l;工伽)=N 2 NQ其他冷N=64。用一个64点的复数FFT程序,一次算出,,并绘出IjL, :1的图形。(按照基于2的蝶型结构的递推公式编程)编程如下:N=64;n=0:1:N-1;n1=2*n;n2=2*n+1;k=0:1:N-1;xn1二cos(2*pi/N*7*n1)+1/2*cos(2*pi/N*19*n1);xn2二cos(2*pi/N*

5、7*n2)+1/2*cos(2*pi/N*19*n2);XK1=fft(xn1);XK2=fft(xn2);X1=XK1+exp(-j*pi*k/N).*XK2;X2=XK1-exp(-j*pi*k/N).*XK2;X1=X1 zeros(1,N);X2=zeros(1,N) X2;XK=X1+X2;k=0:1:2*N-1;XK=abs(XK); stem(k,XK);xlabel(k);ylabel(|X(k)|);title(X(k)=DFTx(n)2N)X(k)=DFTx(n)2N0204060 SO100120140k2、已知某序列在单位圆上的N=64等分样点的Z变换为:= X伏)=7

6、危-牛 一=0心,63用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.41.210.80.60.40.20010203040506070kxn序列:1.0000 - 0.0000i0.4096 + 0.0000i0.1678 + 0.0000i0.0687 - 0.0000i0.0281 - 0.0000i0.0115 - 0.0000i0.

7、0047 - 0.0000i0.8000 + 0.0000i0.3277 + 0.0000i0.1342 + 0.0000i0.0550 - 0.0000i0.0225 - 0.0000i0.0092 - 0.0000i0.0038 - 0.0000i0.6400 + 0.0000i0.2621 + 0.0000i0.1074 + 0.0000i0.0440 - 0.0000i0.0180 - 0.0000i0.0074 - 0.0000i0.0030 - 0.0000i0.5120 + 0.0000i0.2097 + 0.0000i0.0859 + 0.0000i0.0352 - 0.000

8、0i0.0144 - 0.0000i0.0059 - 0.0000i0.0024 - 0.0000i0.0019 - 0.0000i0.0008 + 0.0000i0.0003 + 0.0000i0.0001 + 0.0000i0.0001 + 0.0000i0.0000 + 0.0000i0.0000 + 0.0000i0.0000 - 0.0000i0.0000 - 0.0000i0.0015 - 0.0000i0.0006 + 0.0000i0.0003 + 0.0000i0.0001 + 0.0000i0.0000 + 0.0000i0.0000 + 0.0000i0.0000 - 0

9、.0000i0.0000 - 0.0000i0.0000 - 0.0000i0.0012 - 0.0000i0.0005 + 0.0000i0.0002 + 0.0000i0.0001 + 0.0000i0.0000 + 0.0000i0.0000 + 0.0000i0.0000 - 0.0000i0.0000 - 0.0000i0.0000 - 0.0000i0.0010 + 0.0000i0.0004 + 0.0000i0.0002 + 0.0000i0.0001 + 0.0000i0.0000 - 0.0000i0.0000 - 0.0000i0.0000 - 0.0000i0.0000 - 0.0000i0.0000 - 0.0000i五、结果分析理论值计算:1X (k)=因1 0.8eE小,k=0,1,63。1X (z)=所以 1-.8z -1 ,其中|z|0.8,所以 x(n) = 0.8nu(n), n=0,1,2, 63。当 n=0 时,x (n) =1.0,当 n=1 时,x(n)=0.8,华华等等,六、心得体会这次试验加深了离散信号的DFT的理解,了解和掌握了利用MATLAB进行FFT算法,经 过前几次的试验,感觉比前几次试验做的稍微好了点,但是还是依然出现些问题,还 是需要在课下多加练习。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 学术论文 > 其它学术论文

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号