您好,欢迎访问三七文档
当前位置:首页 > 临时分类 > 双音多频数字信号处理综合性实验
计算机与信息工程学院综合性、设计性实验报告专业:通信工程专业年级/班级:2013级2015—2016学年第一学期课程名称数字信号处理指导教师范海菊学号姓名13082240XXXXX实验地点计算机楼216实验时间第7-15周项目名称基2-FFT算法编程实验实验类型综合性一、实验目的1.掌握基2-FFT的原理及具体实现方法。2.编程实现基2-FFT算法。3.深刻理解FFT算法的特点。二、试验设备与环境计算机一台、MATLAB软件环境三、实验原理FFT是EDF的一种快速算法,能使DFT的计算大大简化,运算时间缩短。FFT利用了WNnk的三个固有特性。即对称性,周期性和可约性,将长序列的DFT分解为短序列的DFT,合并了DFT运算中的某些项,从而减少了DFT的运算量。FFT算法基本上可分为两大类,即按时间抽取法和按频率抽取法。在实现FFT算法时,要重点考虑两个问题,注意数据的读取和存储:(1)输入输出的排序;(2)蝶形运算的实现。按时间抽取算法中输入反序输出顺序,按频率抽取算法中输入顺序输出反序;运算过程中的每一级都有N/2个蝶形运算构成,每一个蝶形运算单元中,两个节点变量运算后得到的结果为下一列相同位置的节点变量,而和其他节点变量无关,可以采用原位运算,节省存储单元。另外,蝶形运算中的复系数WNnk可以存储为能及时查阅的系数表,这样可以借阅运算量,但是需要N/2个复数存储器。MATLAB中提供了用于计算FFT的函数fft,可将实验中所得到的结果与利用MATLAB中fft函数计算的结果相比较,以此验证结果的正确性。四、实验内容1.编程实现序列长度为N=8的按时间抽取的基2-FFT算法。给定一个8点序列,采用编写的程序计算其DFT,并与MATLAB中fft函数计算的结果相比较,以验证结果的正确性。2.程序代码及注释%基2DIT—FFT运算的程序clc;closeall;clear;formatcompact;%输入数据并计算常量xn=[0,1,2,3,4,5,6,7];%可取任意序列M=nextpow2(length(xn)),N=2^Mform=0:N/2-1;%旋转因子指数范围WN(m+1)=exp(-j*2*pi/N)^m;%计算旋转因子endA=[xn,zeros(1,N-length(xn))];%数据输入disp('输入到个存储单元的数据:'),disp(A)%数据倒序操作J=0;%给倒序数赋初值forI=0:N-1;%按序交换数据和算倒序数ifIJ;%条件判断及数据交换T=A(I+1);A(I+1)=A(J+1);A(J+1)=T;end%算下一个倒序数K=N/2;whileJ=K;J=J-K;K=K/2;endJ=J+K;enddisp('倒序后各存储单元的数据:'),disp(A)%分级按序依次进行碟形运算forL=1:M;%分级计算disp('运算级次:'),disp(L);B=2^(L-1);forR=0:B-1;%各级按序蝶算P=2^(M-L)*R;forK=R:2^L:N-2;%每序依次计算T=A(K+1)+A(K+B+1)*WN(P+1);A(K+B+1)=A(K+1)-A(K+B+1)*WN(P+1);A(K+1)=T;endenddisp('本级运算后各存储单元的数据:'),disp(A)enddisp('输出各存储单元的数据:'),Xk=Adisp('调用fft函数运算的结果:'),fftxn=fft(xn,N)3.程序结果显示M=3N=8输入到个存储单元的数据:01234567倒序后各存储单元的数据:04261537运算级次:1本级运算后各存储单元的数据:4-48-46-410-4运算级次:2本级运算后各存储单元的数据:Columns1through512.0000-4.0000+4.0000i-4.0000-4.0000-4.0000i16.0000Columns6through8-4.0000+4.0000i-4.0000-4.0000-4.0000i运算级次:3本级运算后各存储单元的数据:Columns1through528.0000-4.0000+9.6569i-4.0000+4.0000i-4.0000+1.6569i-4.0000Columns6through8-4.0000-1.6569i-4.0000-4.0000i-4.0000-9.6569i输出各存储单元的数据:Xk=Columns1through528.0000-4.0000+9.6569i-4.0000+4.0000i-4.0000+1.6569i-4.0000Columns6through8-4.0000-1.6569i-4.0000-4.0000i-4.0000-9.6569i调用fft函数运算的结果:fftxn=Columns1through528.0000-4.0000+9.6569i-4.0000+4.0000i-4.0000+1.6569i-4.0000Columns6through8-4.0000-1.6569i-4.0000-4.0000i-4.0000-9.6569i3.MATLAB自带的fft函数程序及结果如图显示五、实验总结。教师签名年月日
本文标题:双音多频数字信号处理综合性实验
链接地址:https://www.777doc.com/doc-2565403 .html