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

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

ID:16460314

大小:357.50 KB

页数:21页

时间:2018-08-10

数字信号处理课程设计-fft快速傅里叶变换程序设计_第1页
数字信号处理课程设计-fft快速傅里叶变换程序设计_第2页
数字信号处理课程设计-fft快速傅里叶变换程序设计_第3页
数字信号处理课程设计-fft快速傅里叶变换程序设计_第4页
数字信号处理课程设计-fft快速傅里叶变换程序设计_第5页
资源描述:

《数字信号处理课程设计-fft快速傅里叶变换程序设计》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、快速傅里叶变换程序设计中文摘要数字信号处理(DigitalSignalProcessing,DSP)是一门应用十分广泛的学科。数字信号处理是指利用计算机技术,以数字形式对信号进行采样、变换、滤波、估值、增强、压缩、识别等处理,以得到人们需要的信号形式。数字信号处理器也称DSP芯片,是一种用于进行数字信号处理运算的微处理器,其突出特点是采用多组总线技术实现并行机制,有独立的家发起和乘法器,灵活的寻址方式,实时快速地实现各种数字信号处理算法及各种复杂运算。傅里叶变换是一种将时域信号变换为频域信号的变换形式。在频域分析中,信号的频率及对应的幅值、相位(统称为频谱)反映了系统的性能。快速傅里叶

2、变换(FastFourierTransform)是实现离散傅里叶变换(DFT)的一种快速高效的运算方法,是数字信号处理中最为重要的算法之一。FFT算法的关键在于利用了蝶形因子的内在对称性和周期性,从而加快了运算的速度,使运算时间缩短1至2个数量级。此次快速傅里叶变换的DSP程序设计,根据书上提供的C编程序在相对应的DSP工作环境下进行调试、图形分析、输入比较,来加深对程序的理解以及对所学内容的融合和巩固。程序设计所选择的头文件为,完成的是采样次数N为128的FFT运算。为了更好的观察到快速傅里叶运算的结果,还另外设计了一组为方波的输入,从而得到设计要求的FFT运算结果图

3、形。关键词:数字信号处理,DSP芯片,快速傅里叶变换FFT,C语言程序1快速傅里叶变换程序设计1设计任务描述1.1设计题目:快速傅里叶变换程序设计1.2设计要求1.2.1设计目的1)理解FFT的算法以及利用DSP实现的方法。2)能熟练的调试程序并能观察其结果。3)熟悉TMS320C54x系列DSP芯片的软件设计方法。1.3基本要求1)研究FFT原理以及利用DSP实现的方法。2)编写FFT程序。3)调试程序,观察结果。1快速傅里叶变换程序设计2设计思路根据此次课程设计的要求,采用的是C语言程序。本次快速傅里叶变换程序设计主要包括三大部分:初始化定义部分,主函数部分,子程序部分。其中调用的

4、子程序由四个功能函数组成:FFT初始化函数、计算功率谱函数、波形发生函数、倒序运算函数。这四个调用函数在主函数运行到相应位置时进入操作中,实现一个完整的快速傅里叶变换。由于在程序代码中调用了pow、log、cos、sin函数,该函数所在的C文件应包含头文件math.h。初始化定义部分主要是对程序需要用到的函数或者数据进行定义,这就需要我们熟悉前面知识所学到的各种基本数据类型的格式,如数组、结构、联合等构造类型数据。主函数部分就需要对FFT变换的整体过程有熟悉的了解,这样才能够知道应该调用的子程序的顺序。因为一旦程序开始运行,除了一开始的初始化阶段,直接进入的就是主函数部分。函数调用部分

5、是整个程序的重点部分,在这里实现了波形的输入、FFT变换,可以通过CCS软件调试该程序,并用其中View→Graph→Time/Frequency菜单功能,显示变量INPUT与DATA图形,观察FFT的效果。在此次的程序设计中,我设计了正弦波和方波两种输入情况。对于不同的输入,经过FFT变换之后就会得到不同的频谱图,在整个程序中,FFT的变换过程是最大的难点,完成这部分需要对数字信号处理课程中的快速傅里叶变换的知识有很大程度的掌握,这样才能知道函数中倒序产生的原理与方法,,并且对蝶形图中的运算也能相当了解,这样才能理清思路,利用C语言的字符语句达到倒序处理的目的。1快速傅里叶变换程序设

6、计3.设计方框图设计方框图显现的是在设计时主要实现的功能和流程,简单易懂,能清晰的体现整个设计的思路。结束程序初始化开始运行main()主函数调用InitForFFT初始化函数调用波形发生函数跳转到FFT程序在128个采样值内否输入波形是否在取点值范围内频谱值输出YNYN图3-1主程序流程1快速傅里叶变换程序设计4快速傅里叶变换的的算法实现4.1变换原理若给定由个信号样本{(0),(1),…,(-1)}组成的信号序列(),DFT可用式2-1给出:=0,1,…,-1(2-1)式2-1中,称为旋转因子或蝶形因子,=。从中可以看出:当信号样本为复数时,计算单个需经过次复数乘法和-1次复数加法

7、运算,相当于4次实数乘法和2(2-1)次实数加法。完成全部点DFT共需次复数乘法和(-1)复数加法运算。可见,随着不断增加,整个DFT运算量是相当庞大的,而FFT算法通过对计算过程的深入分析,利用旋转因子具有的周期性与对称性,实现了降低运算复杂度的目的。当序列长度为偶数时,信号序列()可被分解为奇、偶两个子序列,相应的点DFT被分解为两个/2点的DFT:=0,1,…,/2-1(2-2)=0,1,…,/2-1(2-3)式(2-2)和(2-3)中,

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。