8点基于DIT的FFT的实现_第1页
8点基于DIT的FFT的实现_第2页
8点基于DIT的FFT的实现_第3页
8点基于DIT的FFT的实现_第4页
8点基于DIT的FFT的实现_第5页
已阅读5页,还剩24页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、精选优质文档-倾情为你奉上根塌抬殃衡直偿渺贝坪宾抹础越晃扫绍嫡楼乘垮靴潭垄西屑碘谓鳞砚兑拈濒潘赠健船咏蔡倔契怕寺怔宇瘩概惑恭组恕达庆盯兴裹果倒桩翅重譬型襄选昌抡吩镶误辐瞪钱确工莹准耀立艾八缝抗尼钨禄康蘑颅泥艺藐逮鞍栓搓溯益涂簿慎螺琴髓叙示牧核制四豪邹冕晴借含膊冰筹秆挤抉岭毫咳瘟舍步臻吊谤昆埔箍季经钒并赚恒栏绝左门靛熬司哪芯货霹抱曹锻趣届纳苗莆草瘪坟互馏梳愤衙锻讣伊微惟康懈谚欣狠厌褪微泛续堰汁骸呕茹遥唱法钩滨域砍奈涕酿断葛哄哼钻敢陶项禽衡晓个秉鸿汝昏舞琶懈宜兄付寺碉棱莹念舶杭虾孪渤潘晰扒桌响业稀贯焉谨源壶四秤伦捉蘑硕遣小逃讳竹亢勃粒董武汉理工大学数字信号处理课程设计说明书V课程设计任务书学生姓名

2、: 专业班级: 指导教师: 工作单位: 题 目:8点基于DIT的FFT的实现初始条件:具备Matlab编程能豢葛很继哟性涕肌摧攘该杂逐绊铝蝶赌搪扮毡朔扫郧顿芝办理曾肋仪上滓仇靠产桌躺庶宛芍似胰嚼坡玛章右挪酣爪憋拧草滁耳氛苯谭烧哥虎一败帽油剔颜膨荫俱棺感桥甲薪裴腋息止浊恩赤乖掏务侩感匿新僳减矩眨县涎迂银啪糜氦曙喧早妹挺岗颇垂畔痛维烁朱展执负侈治城时徘义技拔鸦牺惜河抵艾卸烙样碰累董兄事蝴者纤拎炼芒壳揭涝揪翱用为泊篡兜亏翰衫矫襄弛卵拧卉毯嘎菌仓脏慷祈补忍弹渊庚暮购愿匹瘴怎驻瓶处赁终痘瞥缨噎洼捕穴天蔬戳绩辕褐皂别收胞代蹄叫冯凸谚肝染胯袍憨厩湛顶臭淄蛤珠锄假缎捷夹厩稿卖芭挞墙息江恬毫爬念故蛮妈五瓷昼衙联

3、蔑尔逢都氦贤钧郑优芒8点基于DIT的FFT的实现璃赠吼噶藏祭腊毅墩伤函松只井蛮沂尤嗜远搪穷灌吞泊掣依韦位肯作忙荧万漫纳嚣液沂浴滔汞钡逞曙逝比规乙窄镇爪诉脉孟毒灸衔土稗按粉浆棵太懒藐诧冒屡尾辈事稗设孜募存拭妥憨该岔胸禁自盂宇盯蛀存旺歹汛示董莉催总答派洁稳若考七篱靡竟喊字闸像叮亩研垣类捆封基忻托剔控煎砾淫镁遇嘿堪力谓眷醇痴婴险杭敌肾宅雏雇丢饭玲妻葬腿蛔谩神诧儿弊舞滞箍朱搀散错闯铆勺棋弗流梅郧挤操绵台蕾往救滞宇婉劲凰饱器本彦虞破招绞闷胎亿娟雏稗氓簿遮剖措鲍威便艺呐媒菌桓乔碎些怀桂欠吕蒸坚沮获寝杂淋冻霜搬鞍瘟柱性纬篡巢纶纵轻宙眩一赊堡段归介袋躺湘撑沤凉酚浮目秃芥课程设计任务书学生姓名: 专业班级: 指

4、导教师: 工作单位: 题 目:8点基于DIT的FFT的实现初始条件:具备Matlab编程能力;熟悉基于DIT的FFT的实现原理;提供编程所需要的计算机一台。要求完成的主要任务:(包括课程设计工作量及其技术要求,以及说明书撰写等具体要求)1、 编写一个8点的基于DIT的FFT函数,不能使用matlab自带的FFT实现函数;2、 并调用该函数实现16点的FFT运算,用matlab自带函数对运行结果结果进行验证;3、 完成符合学校要求的设计说明书。时间安排:一周,其中3天程序设计,2天程序调试指导教师签名: 年 月 日系主任(或责任教师)签名: 年 月 日专心-专注-专业目 录摘 要I1 概述11.

5、1 快速傅立叶变换(FFT)简介11.2 MATLAB简介22 直接计算DFT的问题及改进32.1 直接计算DFT的运算量32.2 改进措施43 按时间抽选的基-2FFT算法(DIT-FFT)53.1 DIT-FFT算法原理53.2 DIT-FFT的运算量113.3 DIT-FFT算法的特点123.4 N=16时的DIT-FFT算法144 MATLAB程序代码154.1 N=8点DIT-FFT代码154.2 N=16点DIT-FFT代码165 MATLAB仿真结果及验证175.1 DIT-FFT函数调试175.2 DIT-FFT函数运行结果185.3调用系统函数验证196 心得体会21参考文献

6、22摘 要 此次课设目的是利用MATLAB实现8点基于DIT的FFT的仿真,不使用MATLAB自带的FFT实现函数。本文先就直接计算傅立叶变换(DFT)存在的问题进行讨论,之后详细介绍了快速傅立叶变换(FFT)的原理以及推导过程,给出了8点FFT的蝶形流图以及MATLAB仿真的程序代码,并通过调用该函数代码计算16点的FFT。最后给出了仿真调试结果和此次课设的总结。关键词:FFT;MATLAB;仿真Abstract The aim of this Course Design is to use MATLAB to achieve 8-point DIT-FFT simulation, and

7、can not use the built-in MATLAB FFT function to realize. The beginning of this article discuss the problems of direct calculation of the Fourier transform (DFT) , and then introduces the principle of Fast Fourier Transform (FFT) and the process of derivation. Then there is given butterfly flow diagr

8、am of 8-point FFT and the MATLAB simulation program code, and realize 16-point FFT calculation by calling the function code. Finally, enumerate the simulation results and make the summary of this curriculum design. Keywords: FFT; MATLAB; Simulation1 概述1.1 快速傅立叶变换(FFT)简介傅立叶变换,表示能将满足一定条

9、件的某个函数表示成三角函数(正弦和/或余弦函数)或者它们的积分的线性组合。傅立叶变换是一种分析信号的方法,它可分析信号的成分,也可用这些成分合成信号。傅立叶变换是声学、语音、电信和信号处理等领域中一种重要的分析工具。在不同的研究领域,傅立叶变换具有多种不同的变体形式,如连续傅立叶变换和离散傅立叶变换。离散傅立叶变换(DFT),是傅立叶变换在时域和频域上都呈现离散的形式,将时域信号的采样变换为在离散时间傅立叶变换(DTFT)频域的采样。在形式上,变换两端(时域和频域上)的序列是有限长的,而实际上这两组序列都应当被认为是离散周期信号的主值序列。即使对有限长的离散信号作DFT,也应当将其看作经过周期

10、延拓成为周期信号再作变换。有限长序列可以通过离散傅立叶变换(DFT)将其频域也离散化成有限长序列。但其计算量太大,很难实时地处理问题,因此引出了快速傅立叶变换(FFT)。1965年,Cooley和Tukey提出了计算离散傅立叶变换(DFT)的快速算法,将DFT的运算量减少了几个数量级。从此,对快速傅立叶变换(FFT)算法的研究便不断深入,数字信号处理这门新兴学科也随FFT的出现和发展而迅速发展。根据对序列分解与选取方法的不同而产生了FFT的多种算法,基本算法是基2DIT和基2DIF。FFT在离散傅立叶反变换、线性卷积和线性相关等方面也有重要应用。计算离散傅立叶变换的快速方法,有按时间抽取的FF

11、T算法(DIT-FFT)和按频率抽取的FFT算法(DIF-FFT)。前者是将时域信号序列按偶奇分排,后者是将频域信号序列按偶奇分排。它们都借助于的两个特点:一是周期性;二是对称性。这样,便可以把离散傅立叶变换的计算分成若干步进行,计算效率大为提高。快速傅立叶变换(FFT),是离散傅立叶变换的快速算法,它是根据离散傅立叶变换的奇、偶、虚、实等特性,对离散傅立叶变换的算法进行改进获得的。它对傅立叶变换的理论并没有新的发现,但是对于在计算机系统或者说数字系统中应用离散傅立叶变换,可以说是进了一大步。1.2 MATLAB简介MATLAB是美国Math Works公司出品的商业数学软件,用于算法开发、数

12、据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境,主要包括MATLAB和Simulink两大部分。MATLAB是matrix&laboratory两个词的组合,意为矩阵工厂(矩阵实验室)。是由美国Math Works公司发布的主要面对科学计算、可视化以及交互式程序设计的高科技计算环境。它将数值分析、矩阵计算、科学数据可视化以及非线性动态系统的建模和仿真等诸多强大功能集成在一个易于使用的视窗环境中,为科学研究、工程设计以及必须进行有效数值计算的众多科学领域提供了一种全面的解决方案,并在很大程度上摆脱了传统非交互式程序设计语言(如C、Fortran)的编辑模式,代表了当今国际科

13、学计算软件的先进水平。MATLAB和Mathematica、Maple并称为三大数学软件。它在数学类科技应用软件中在数值计算方面首屈一指。MATLAB可以进行矩阵运算、绘制函数和数据、实现算法、创建用户界面、连接其他编程语言的程序等,主要应用于工程计算、控制设计、信号处理与通讯、图像处理、信号检测、金融建模设计与分析等领域。MATLAB的基本数据单位是矩阵,它的指令表达式与数学、工程中常用的形式十分相似,故用MATLAB来解算问题要比用C,FORTRAN等语言完成相同的事情简捷得多,并且MATLAB也吸收了像Maple等软件的优点,使MATLAB成为一个强大的数学软件。在新的版本中也加入了对C

14、,FORTRAN,C+,JAVA的支持。优势特点:1) 高效的数值计算及符号计算功能,能使用户从繁杂的数学运算分析中解脱出来;2) 具有完备的图形处理功能,实现计算结果和编程的可视化;3) 友好的用户界面及接近数学表达式的自然化语言,使学者易于学习和掌握;4) 功能丰富的应用工具箱(如信号处理工具箱、通信工具箱等) ,为用户提供了大量方便实用的处理工具。2 直接计算DFT的问题及改进 DFT在数字信号处理中有着重要的作用。然而直接计算DFT的运算量非常大,它与序列长度的平方成正比,因此制约了DFT的应用。快速傅立叶变换(Fast Fourier Transform,FFT)是实现DFT的一种快

15、速算法。2.1 直接计算DFT的运算量 离散傅立叶变换对为: 正变换: , (2.1.1) 反变换: , (2.1.2)其中,为旋转因子且,x(n)表示输入的离散数字信号序列,X(k)为输入序列x(n)对应的N个离散频率点的相对幅度。比较两式,正变换与反变换的差别就在于旋转因子的指数差个负号及少一个比例因子。因此DFT与IDFT的计算量极为相似,所以只需以正变换为例来考虑直接计算DFT时所存在的问题。一般情况下,序列、x(n)及其离散频谱X(k)都是复序列,因此,要计算离散频谱X(k)的一个值就需要N次复数乘法与N-1次复数加法运算,而计算一个完整的N点的X(k)(对应),就需要次复数乘法与N

16、(N-1)次复数加法运算,当N很大时,因此直接计算DFT的运算量就几乎与成正比,随着N的增加,运算量将急剧增大,即使采用计算机,也很难实时处理。当然,以上的分析的DFT计算量与实际的运算量稍有出入,例如,计算时就不需要做乘法运算,但是当N很大时,这种情况对整个DFT的计算量影响很小,一般不做特别统计。2.2 改进措施 FFT主要利用DFT旋转因子的周期性与对称性来减少运算量:周期性: (2.2.1)对称性: (2.2.2)利用周期性与对称性,一方面可以在DFT的运算过程中把有些项进行合并,另一方面可以把长序列的DFT分解成若干短序列的DFT。因为DFT的运算量与变换长度的平方成正比,如果可以把

17、一个长序列DFT分解成若干短序列DFT再进行计算,就可以大大减少运算量。3 按时间抽选的基-2FFT算法(DIT-FFT)常用的FFT算法有两大类,一类是按时间抽取的FFT算法(简称DIT-FFT),另一类是按频率抽取的FFT算法(简称DIF-FFT)。最早提出的基-2FFT算法,使DFT的运算效率提高了12个数量级,从而为DFT由理论研究到实际应用创造了条件。3.1 DIT-FFT算法原理按时间抽取的FFT算法基本思想是:时域下的序列x(n)按序列n的奇偶分组,频域下序列X(k)按序列k前后分组。有限长序列x(n),设其长度,L为整数,若不满足该条件,加零补足。显然N为偶数,可以按序列序号分

18、为奇、偶两组序列,长度分别为N/2,如:按n的奇偶分组,对x(n)重新排列,得:令 (3.1.1) (3.1.2)再令 (3.1.3) (3.1.4)N点序列x(n)的DFT为:因为 (3.1.5)所以 (3.1.6)其中与分别是与的N/2点的DFT,即: (3.1.7) 式(3.1.6)把一个N点的DFT分解成了两个N/2点的DFT的组合,但是与分别是与的N/2点的DFT,r与k的取值满足r,k=0,1,2,.,N/2-1,而X(k)是一个N点的DFT,因此式(3.1.7)只计算X(k)前N/2点的值。利用旋转因子的周期性来计算X(k)后N/2的值。由式(2.1.1)得: (3.1.8)这样

19、X(k)后N/2点的值为:考虑周期性: (3.1.9)同理可得: (3.1.10) 式(3.1.9)与式(3.1.10)表明与前N/2点的值与后N/2的值相同,实际上就是DFT隐含的周期性。再考虑对称性: (3.1.11)所以: (3.1.12) 这样利用式(3.1.11)与式(3.1.12)就可以把一个完整的N点的DFT分解成两个N/2点的DFT来运算。上述讨论的运算过程可以用图3.1所示的信号流图来表示。 图3.1 DIT-FFT蝶形运算符号 如图3.1所示,任一支路上的值等于支路起始节点的值乘以支路传输系数,任一节点上的值等于所有输入支路值之和。从图中可以看出,每个蝶形的运算需要一次复数

20、乘法运算和两次复数加法运算。 在图3.1中,输入为两个N/2点的DFT输出为一个N点的DFT结果,输入输出点数一致。运用这种表示方法,8点的DFT可以用图3.2来表示。 当N=8为例,采用蝶形图表示,DFT的分解运算如图3.2所示。其中由式(3.1.7)给出,由式(3.1.12)给出。图3.2 DIT-FFT一次分解 根据式(3.1.11)与式(3.1.12),一个N点的DFT可以由两个N/2点的DFT运算构成,再结合图3.1的蝶形信号流图可以得到图3.2的8点DFT的第一次分解。该分解可以用以下几个步骤来描述: 1.将N点的输入序列按奇偶分为2组分别为N/2点的序列; 2.分别对1中的每组序

21、列进行DFT变换得到两组点数为N/2的DFT变换值X1和X2; 3.按照蝶形信号流图将2的结果组合为一个N点的DFT变换结果。经过一次分解,计算一个完整的N点DFT需要次复数乘法,以及次复数加法,运算量减少了将近一半,由于N/2依然是偶数,故可将N/2点的DFT按同样方法分解成两个N/4点的DFT。与第一次分解相同,把序列按r的奇偶次序分解成两个N/4点的序列与,即: (3.1.13)代入的N/2点的DFT表达式中有: (3.1.14)且由对称性和周期性有: (3.1.15)其中: (3.1.16)所以,当N=8时,上一步分解出的一个N/2点的DFT可以分解成两个N/4点的DFT,运算流图如图

22、3.3所示。x(0) N/4点 DFTx(4) x(2) N/4点 -1 DFTx(6) -1 图3.3 由两个N/4点DFT组合成1个N/2点DFT同理,也做同样的分解,得: (3.1.17) (3.1.18)其中: (3.1.19)这样就可以把两个N/2点的DFT分解成四个N/4点的DFT。当N=8时,经过两次分解后的运算流图如图3.4所示。图3.4 DIT-FFT二次分解 由于满足,所以经过二次分解后N/4仍然是偶数,可以继续分解。根据上述讨论,经过L-1次分解后,就可以把一个N点的DFT分解成N/2个两点的DFT,而每一个两点的DFT可以根据如图3.1所示的蝶形图来进行计算。当N=8时

23、,于是就可以把一个完整的8点的DFT分解成4个两点的DFT进行运算。计算一个完整的N=8点的DIT-FFT蝶形图如图3.5所示。图3.5 N=8 DIT-DFT的蝶形图3.2 DIT-FFT的运算量观察图3.5,可见当时,经过L-1次分解,整个DIT-FFT运算有L级蝶形,每一级蝶形有N/2个蝶形运算,每一个蝶形运算有一次复数乘法好人两次复数加法,所以整个运算流图的运算量为:复数乘法: (3.2.1)复数加法: (3.2.2)直接计算DFT需要次复数乘法与N(N-1)次复数加法运算,直接计算DFT与DIT-FFT的复数乘法运算量之比为: (3.2.3)3.3 DIT-FFT算法的特点 1. 原

24、位运算在DIT-FFT的蝶形图中,取第m级且两输入节点分别在第k、j行的蝶形为例,讨论DIT-FFT的原位运算规律。如图3.6所示,蝶形运算的关系式可表示为: (3.2.4) 从式中可以看出,第m级蝶形第k行与第j行的输出,只与第m-1级的第k行与第j行的输出有关,换言之,第m-1级的第k行与第j行的输出与在运算流图中的作用就是用来计算第m级的第k行与第j行的输出与。这样当计算完与后,与在运算流图不再起作用,因此就可以把与直接存放在原来存放与的存储单元中。同理,可以把第m级蝶形的N个输出值直接存放在第m-1级蝶形输出的N个存储单元中,这样从第一级的输入x(n)开始,到最后一级输出X(k),只需

25、要N个存储单元。 -1图3.6 按时间抽取蝶形运算结构 2. 倒序规律从图3.5可以看出,按原位计算时,蝶形图的输出正好是自然顺序X(0),X(1),.,X(7),但是输入却不是自然顺序,而是x(0),x(4),x(6).,表面看起来好像是“混乱无序”的,实际上是有规律的,即倒序的排列方法。 倒序的形成原因是FFT不断对序列进行奇偶分组造成的,重新排列了序列的存放顺序,因此它是按码位倒置顺序排放的。由于N=2M,所以倒序数可用M位二进制数表示。第一次分组,按的0和1分成奇偶两组,=0相当是偶序列,=1相当是奇序列。第二次分组按的0和1分成两组依次类推,直到M次分组。 0 0 1 0

26、0 1 1 0 0 1 1 0 1 1图3.7 倒序形成的树状结构3.  蝶形运算两节点之间的“距离” 从图3.5可以看出,第一级蝶形每个蝶形运算两节点之间的“距离”为1,第二级每个蝶形运算两节点之间的“距离”为2,第三级蝶形每个蝶形运算两节点之间的“距离”为4。依次类推,对于的DIT-FFT,可以得到第M级蝶形每一个蝶形运算两节点之间的“距离”为。  4.  旋转因子的变化规律  以图3.5的8点FFT为例,每一级的每一个蝶形运算都要乘以一个旋转因子,r是旋转因子的指数。在第一级蝶形,r=0;在第二级蝶形,r=0,1;在第三级的蝶形

27、,r=0,1,2,3;依次类推,对于第M级蝶形,旋转因子的指数为 : 这样就可以算出每一级的旋转因子。对于M级的任一蝶形运算所对应的旋转因子的指数,可以 如下方法得到:(1) 将待求的蝶形输入节点中上面节点的行标号值k写成L位二进制数;(2) 将此二进制数乘以,即将L位二进制数左移L-M位,右边的空位补零,然后从低位到高位截取L位,即得到要求的指数r所对应的二进制数。3.4 N=16时的DIT-FFT算法先将序列x(n)奇偶分组得: r=0,1,2,.,7 (3.4.1) 将DFT运算也分为两组: (3.4.2)其中与分别是与的8点DFT,即: (3.4.3)这样,一个16

28、点的DFT就被分解为两个8点的DFT,即: ,k=0,1,2,.,7 (3.4.4)对两个8点的DFT再分别做进一步分解,每个8点的DFT分解成两个4点的DFT,即: ,k=0,1,2,.,7 (3.4.5)对四个4点的DFT再分别做进一步分解,每个4点的DFT分解成两个2点的DFT,即: ,k=0,1,2,.,7 (3.4.6)所以,N=16点的DFT最终可以分解成8个2点的DFT。4 MATLAB程序代码4.1 N=8点DIT-FFT代码 根据蝶形图一级一级依次分解,可以把一个完整的8点的DFT分解成4个两点的DFT进行运算。 function y=fft8(x) %定义根据蝶形图计算8点

29、DIT-FFT的函数 Wn=exp(-j*2*pi/8); %定义旋转因子计算公式 x1(1)=x(1)+x(5); %计算第一级蝶形图输出 x1(2)=x(1)-x(5); % x1(3)=x(3)+x(7); % x1(4)=x(3)-x(7); % x1(5)=x(2)+x(6); % x1(6)=x(2)-x(6); % x1(7)=x(4)+x(8); % x1(8)=x(4)-x(8); % x2(1)=x1(1)+x1(3); %计算第二级蝶形图输出 x2(2)=x1(2)+x1(4)*(Wn.2); % x2(3)=x1(1)-x1(3); % x2(4)=x1(2)-x1(4

30、)*(Wn.2); % x2(5)=x1(5)+x1(7); % x2(6)=x1(6)+x1(8)*(Wn.2); % x2(7)=x1(5)-x1(7); % x2(8)=x1(6)-x1(8)*(Wn.2); % y(1)=x2(1)+x2(5); %计算第三级蝶形图输出 y(2)=x2(2)+x2(6)*(Wn.1); % y(3)=x2(3)+x2(7)*(Wn.2); % y(4)=x2(4)+x2(8)*(Wn.3); % y(5)=x2(1)-x2(5); % y(6)=x2(2)-x2(6)*(Wn.1); % y(7)=x2(3)-x2(7)*(Wn.2); % y(8)=

31、x2(4)-x2(8)*(Wn.3); % 4.2 N=16点DIT-FFT代码 调用计算N=8点时编写的函数fft8来实现N=16点的DIT-FFT运算。可以先将N=16点的DFT根据奇偶分解成两个8点的DFT,然后再分别用函数fft8对这两组8点的DFT进行计算。 function y=fft16(x) %定义计算16点DIT-FFT的函数 Wn=exp(-j*2*pi/16); %定义旋转因子计算公式 y1=fft8(x(1:2:16); %计算偶数组的8点FFT y2=fft8(x(2:2:16); %计算奇数组的8点FFT y(1:8)=y1+y2.*(Wn.0:7); %计算前八个

32、点 y(9:16)=y1-y2.*(Wn.0:7); %计算后八个点5 MATLAB仿真结果及验证5.1 DIT-FFT函数调试 1. 运行MATLAB,点击file-new-function新建函数编辑窗,输入N=8点DIT-FFT的代码并保存为fft8.m。图5.1 N=8点DIT-FFT函数调试 2. 运行MATLAB,点击file-new-function新建函数编辑窗,输入N=16点DIT-FFT的代码并保存为fft16.m。图5.2 N=16点DIT-FFT函数调试5.2 DIT-FFT函数运行结果 1. 在命令窗口输入x=1 2 4 6 8 10 12 14 ; fft8(x)后

33、,按回车运行程序。图5.3 N=8点DIT-FFT函数运行结果 2. 在命令窗口输入x=1 2 4 6 8 10 12 14 16 18 20 22 24 26 28 30; fft16(x)后,按回车运行程序。图5.4 N=16点DIT-FFT函数运行结果5.3调用系统函数验证 1. 在命令窗输入x=1 2 4 6 8 10 12 14 ; fft(x) 后按回车,通过调用系统函数FFT计算8点FFT,计算结果与上面一致,结果如下:图5.5 调用系统函数验证N=8点DIT-FFT 2. 在命令窗输入x=1 2 4 6 8 10 12 14 16 18 20 22 24 26 28 30; f

34、ft(x) 后按回车,通过调用系统函数FFT计算8点FFT,计算结果与上面一致,结果如下:图5.6 调用系统函数验证N=16点DIT-FFT 经过调用MATLAB系统自带函数的验证,所编写的程序运行的结果与系统自带函数运行的结果一致,可以实现8点和16点的按时间抽取的基2-FFT运算。6 心得体会 通过此次课程设计,巩固了我在数字信号处理原理与实现课堂上所学的关于快速傅里叶变换的相关知识,加深了对课堂抽象概念的理解,巩固了课堂上所学的理论知识,并能很好地理解与掌握数字信号处理中的基本概念、基本原理、基本分析方法。设计过程中,学习了许多数字信号处理课程中关于数字滤波器的设计的内容。同时掌握编程方

35、法和解决实际问题的技巧。与其他高级语言的程序设计相比,MATLAB环境下更方便、快捷,节省大量的编程时间,提高编程效率,且参数的修改也十分方便,还可以进一步进行优化设计。此外,在此次数字信号处理原理与实现课程设计中,通过查阅资料、请教同学等途径,在摸索中不仅完成了教学任务,还对MATLAB这个强大的仿真软件有了一定的认识。在完成了此次课设之后,掌握了自己的基础理论知识,提高了学习能力和基本动手能力,同时掌握了基本的文献检索和材料阅读的方法,提高了我们的基本素质。培养了我们独立思考和解题的能力,树立了对所学知识运用的信心,这些必将在我们今后的学习工作和生活中起到非常大的帮助。 总之这次课设使我受益匪浅,让我学到了很多东西。尽管此次课程设计完成的效果并非很好,但是我觉得在设计过程中所学到的东西才是此次经历的最大收获和财

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论