数字信号处理课程设计-FFT快速傅里叶变换程序设计.docVIP

数字信号处理课程设计-FFT快速傅里叶变换程序设计.doc

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
中文摘要 数字信号处理 (Digital Signal Processing,DSP)是一门应用十分广泛的学科。数字信号处理是指利用计算机技术,以数字形式对信号进行采样、变换、滤波、估值、增强、压缩、识别等处理,以得到人们需要的信号形式。数字信号处理器也称DSP芯片,是一种用于进行数字信号处理运算的微处理器,其突出特点是采用多组总线技术实现并行机制,有独立的家发起和乘法器,灵活的寻址方式,实时快速地实现各种数字信号处理算法及各种复杂运算。 傅里叶变换是一种将时域信号变换为频域信号的变换形式。在频域分析中,信号的频率及对应的幅值、相位(统称为频谱)反映了系统的性能。快速傅里叶变换(Fast Fourier Transform)是实现离散傅里叶变换(DFT)的一种快速高效的运算方法,是数字信号处理中最为重要的算法之一。FFT算法的关键在于利用了蝶形因子的内在对称性和周期性,从而加快了运算的速度,使运算时间缩短1至2个数量级。 此次快速傅里叶变换的DSP程序设计,根据书上提供的C编程序在相对应的DSP工作环境下进行调试、图形分析、输入比较,来加深对程序的理解以及对所学内容的融合和巩固。程序设计所选择的头文件为 math.h ,完成的是采样次数N为128的FFT运算。为了更好的观察到快速傅里叶运算的结果,还另外设计了一组为方波的输入,从而得到设计要求的FFT运算结果图形。 关键词: 数字信号处理,DSP芯片,快速傅里叶变换FFT,C语言程序 1 设计任务描述 1.1 设计题目:快速傅里叶变换程序设计 1.2 设计要求 1.2.1 设计目的 1)理解FFT的算法以及利用DSP实现的方法。 2)能熟练的调试程序并能观察其结果。 3)熟悉TMS320C54x系列DSP芯片的软件设计方法。 1.3 基本要求 1)研究FFT原理以及利用DSP实现的方法。 2)编写FFT程序。 3)调试程序,观察结果。 2 设计思路 根据此次课程设计的要求,采用的是C语言程序。本次快速傅里叶变换程序设计主要包括三大部分:初始化定义部分,主函数部分,子程序部分。其中调用的子程序由四个功能函数组成:FFT初始化函数、计算功率谱函数、波形发生函数、倒序运算函数。这四个调用函数在主函数运行到相应位置时进入操作中,实现一个完整的快速傅里叶变换。 由于在程序代码中调用了pow、log、cos、sin函数,该函数所在的C文件应包含头文件math.h。初始化定义部分主要是对程序需要用到的函数或者数据进行定义,这就需要我们熟悉前面知识所学到的各种基本数据类型的格式,如数组、结构、联合等构造类型数据。主函数部分就需要对FFT变换的整体过程有熟悉的了解,这样才能够知道应该调用的子程序的顺序。因为一旦程序开始运行,除了一开始的初始化阶段,直接进入的就是主函数部分。函数调用部分是整个程序的重点部分,在这里实现了波形的输入、FFT变换,可以通过CCS软件调试该程序,并用其中View→Graph→Time/Frequency菜单功能,显示变量INPUT与DATA图形,观察FFT的效果。 在此次的程序设计中,我设计了正弦波和方波两种输入情况。对于不同的输入,经过FFT变换之后就会得到不同的频谱图,在整个程序中,FFT的变换过程是最大的难点,完成这部分需要对数字信号处理课程中的快速傅里叶变换的知识有很大程度的掌握,这样才能知道函数中倒序产生的原理与方法,,并且对蝶形图中的运算也能相当了解,这样才能理清思路,利用C语言的字符语句达到倒序处理的目的。 3.设计方框图 设计方框图显现的是在设计时主要实现的功能和流程,简单易懂,能清晰的体现整个设计的思路。 图 3-1 主程序流程 4 快速傅里叶变换的的算法实现 4.1变换原理 若给定由个信号样本{(0),(1),…,(-1)}(),DFT可用式2-1给出: =0,1,…,-1 (2-1) 称为旋转因子或蝶形因子,=。从中可以看出:当信号样本为复数时,计算单个需经过次复数乘法和-1次复数加法运算,相当于4次实数乘法和2(2-1)次实数加法。完成全部点DFT共需次复数乘法和(-1)复数加法运算。可见,随着不断增加,整个DFT运算量是相当庞大的,而FFT算法通过对计算过程的深入分析,利用旋转因子具有的周期性与对称性,实现了降低运算复杂度的目的。 当序列长度为偶数时,信号序列()可被分解为奇、偶两个子序列,相应的点DFT被分解为两个/2点的DFT: =0,1, …,/2-1 (2-2) =0,1, …,/2-1 (2-3) 和分别表示()分解后得到的/2点偶序列点奇序列的DFT。式(2-2)和式(2-3)表明,只要求出和,(

文档评论(0)

***** + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档