已阅读5页,还剩28页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
DSP原理及其应用实验设计报告实验题目:FFT算法及滤波器的设计30 摘要随着信息科学的迅猛发展,数据采集与处理是计算机应用的一门关键技术,它主要研究信息数据的采集、存储和处理。而数字信号处理器 (DSP)芯片的出现为实现数字信号处理算法提供了可能。数字信号处理器(DSP)以其特有的硬件体系结构和指令体系成为快速精确实现数字信号处理的首选工具。DSP芯片采用了哈佛结构,以其强大的数据处理功能在通信和信号处理等领域得到了广泛应用,并成为研究的热点。本文主要研究基于 TI的 DSP芯片 TMS320c54x的FFT算法、FIR滤波器和IIR滤波器的实现。首先大概介绍了DSP和 TMS320c54x的结构和特点并详细分析了本系统的FFT变换和滤波器的实现方法。关键词:DSP、TMS320c54x、FFT、FIR、IIR AbstractWith the rapid development of information science, data acquisition and processing is a key technology of computer applications, the main research of it is collection, storage and processing of information data. The emergence of the digital signal processor (DSP) chip offers the potential for the realization of the digital signal processing algorithm. Digital signal processor (DSP), with its unique hardware system structure and instruction system become the first tool of quickly and accurately realize the digital signal processing.DSP chip adopted harvard structure, with its powerful data processing functions in the communication and signal processing, and other fields has been widely applied, and become the research hot spot.This paper mainly studies the FFT algorithm based on TMS320c54x DSP chip of TI, the realization of FIR filter and IIR filter. First introduced the DSP and TMS320c54x briefly, then analyzed in detail the structure and characteristics of the system of the realization of FFT transform and filter method.Keyword: DSP、TMS320c54x、FFT、FIR、IIR 1.绪论1.1课题研究的目的和意义数字信号处理器(DSP)已经发展了多20多年,最初仅在信号处理领域内应用,近年来随着半导体技术的发展,其高速运算能力使很多复杂的控制算法和功能得以实现,同时将实时处理能力和控制器的外设功能集于一身,在控制领域内也得到很好的应用。随着信息时代和数字世界的到来,数字信号处理己成为一门极其重要的学科和技术领域,它在通信、语音、图像、自动控制、雷达、军事、航空航天、医疗和家用电器等众多领域得到了广泛的应用。作为信号处理,和频谱分析最直接相关的是傅立叶傅立叶变换即FFT。人们已经熟知,离散傅立叶变换即(DFT)和数字滤波是数字信号处理器的基本内容。数字滤波在数字信号处理中占有重要的地位,数字滤波器又分为有限冲激响应滤波器(FIR)和无限冲激响应滤波器(IIR)。数字滤波作为数字信号处理的重要组成部分有着十分广泛的应用前景,可作为应用系统对信号的前置处理。同时用DSP芯片实现数字滤波除了具有稳定性好、精确度高、不受外界影响等优点外,还具有灵活性好的特点,可对DSP芯片编程来实现数字滤波的参数修改,进而十分方便地修改滤波器的特性。因此基于DSP的数字滤波被广泛应用于语音、图像、软件无线电等领域,具有广阔的发展空间。1.2本课题研究的现状自 20世纪 70年代末 80年代初,DSP芯片诞生以来 DSP芯片得到了飞速的发展。在 20多年时间里,DSP芯片已经在信号处理、通信、雷达等许多领域到广泛的应用。目前,DSP 芯片的价格越来越低,性能价格比日益提高,具有巨大的应用潜力,经过十几年的发展,DSP器件在高速度、可编程、小型化、低功耗等方面都有了长足的发展,单片 DSP芯片最快每秒可完成 16亿次 (1600MIPS,每秒 1600兆次指令)的运算,生产 DSP器件的公司也不断壮大,目前,市场占有率前四名依次为:Texas Instruments、Lucent、Analog Device 、Motorola。在TI的DSP产品中C1X 、C2X 、C2XX 、C5XX 、C54X 、C62X等系列是定点运算指令系统的DSPs ; C3X 、C4X 、C67X等系列是浮点运算指令系统的 DSPs ; C8X等系列是多 DSPs集成系统;AV7100、AV711等系列是用于视频、音频领域的专用数字压缩产品 2. DSP及CCS平台简介2.1 DSP 系统构成一个典型的 DSP系统如图 2.1所示:图2.1从上图中可以看出,用 DSP进行信号处理的流程如下:先进行信号的数字化,一般的信号都是模拟信号,但是 DSP只接收数字化的信息,故要先进行这一步操作将模拟信号经过 A/D转化成数字信号,然后根据实际的应该过程,进行相对应的卷积、FTT变化等处理,接着将这些处理后的数字信号用 D/A进行转化,形成模拟的采样值,最后将得到的不平滑的滤波通过滤波器等设备进行处理,从而得到最终的模拟连续的信号。2.2 DSP 芯片的基本结构可编程 DSP芯片是一种特殊结构的微处理器,为了快速进行数字信号处理,一般都采用特殊的软硬件结构 例如 TMS320系列 DSP处理器的基本结构包括(1)哈佛结构 ;(2)流水线操作;(3)专用的硬件乘法器;(4)特殊的 DSP指令;(5)快速的指令周期。这些特点 使得 TMS320系列 DSP处理器可以实现快速的 DSP运算,并使大部分运算,如乘法 能在一个指令周期内完成 TMS320系列处理器是软件可编程器件 所以具有通用微处理器的方便灵活的特点。2.3 TMS320C54x 系列芯片TMS320C54x是为实现低功耗,高性能而设计的定点 DSP芯片 主要应用在通信系统方面,该芯片的内部结构及指令系统都是全新设计的,它的主要特点是 :(1) 运算速度快,(2) 优化的 CPU结构,(3) 低功耗方式,(4) 智能外设。本文采用的 TMS320C5416处理器在本系列中处于先进水平。2.4 CCS 开发环境 CCS全称是 Code Composer Studio,它包括:1.CCS 代码生成工具;2.CCS 集成开发环境 IDE ;3.DSP/BIOS插件程序和 API ;4.RTDX 插件 主机接口和 API 等。它提供了配置、建立、调试、跟踪和分析程序的工具,便于实时嵌入式信号处理程序的编制和测试,能够加速开发进程,提高工作效率。在 CCS环境下的程序开发过程如下图2.2所示 :图2.2CCS基本的编辑界面如图2.3,通过它可以编辑、编译调试 DSP目标程序。它主要由几个主要的窗口组成:工程组显示窗口、程序内容显示窗口、编辑信息提示窗口和主要工具栏。另外,在编辑过程中 还可以显示诸如存储器观察窗口、变量监视框、图形显示框等调试界面。他们为程序编写调试提供多种手段,为软件开发提供了极大的方便。图2.3 CCS基本编辑界面3.FFT算法程序及应用3.1 FFT简介FFT是一种DFT的高效算法,称为快速傅立叶变换(fast Fourier transform),它根据离散傅氏变换的奇、偶、虚、实等特性,对离散傅立叶变换的算法进行改进获得的。在通信系统中, FFT 的应用主要是两个方面:1.它可以直接用来分析信号的频谱。频谱分析在信号处理中的应用极广,如语音通讯的频带压缩需要对语音信号进行频谱分析,在军事中,声纳系统对目标的分析以及雷达系统对运动目标的测定等都需要特定的频谱分析。在各种测量仪器中,频谱分析有着更多的应用。2.利用快速卷积求解 FIR 滤波器的输出。3.2FFT设计方法FFT 是 DFT 的一个快速算法,只是将 DFT 分解开来进行运算,来达到减少运算量的目的。FFT 算法将长序列的 DFT分解为短序列 DFT,N 点的 DFT 先分解为 2 个 N/2 点的 DFT ,每个 N/2 点的 DFT又分解为 N/4 点的 DFT,如此这般。这里最小的变换点数即所谓的“ 基数”(radix)因此,基数为 2 的 FFT 算法的最小变换(或称蝶形变换)就是 2 点DFT,是最基本的运算单位。一般 N 点 FFT 对应于 N 个输入样值,有 N个 频域样值与之对应。对 DFT 分解的算法可以分为两种:时间抽取法和频率抽取法。本文采用的是时间抽取法。在时间抽取 FFT 算法过程中,FFT算法由两部分组成:码位倒置和 2 点的 DFT 运算。所以,FFT 算法的基本流程如图 3.1: 图 3.13.3 FFT的仿真结果本课题所研究的输入函数是一个谐波为200Hz和500Hz的周期信号。在CCS平台上直接编写原函数,观察波形;然后经过FFT后,再次观察波形。前后两个波形大致如下:图3.2 输入函数波形图3.3 输出函数的波形4.FIR滤波器的实现 4.1FIR滤波器的特点在数字信号处理应用中往往需要设计线性相位的滤波器,FTR滤波器在保证幅度特性满足技术要求的同时,很容易做到严格的线性相位特性。FTR滤波器不断地对输入样本x(n)延时后,再作乘法累加算法,将滤波结果y(n)输出,因此,FIR实际上是一种乘法累加运算。在数字滤波器中,FIR滤波器的最主要的特点是没有反馈回路,故不存在不稳定的问题同时,可以在幅度特性是随意设置的同时,保证精确的线性相位。稳定和线性相位特性是FIR滤波器的突出优点。另外,它还有以下特点设计方式是线性的硬件容易实现滤波器过渡过程具有有限区间相对IIR滤波器而言,阶次较高,其延迟也要比同样性能的IIR滤波器大得多。4.2 FIR滤波器的实现方法采用DSP处理器来实现,DSP处理器是专为数字信号处理而设计的,如TI公司的TMS320c54x系列,AD公司的,ADSP21X,ADSP210X系列等。它的主要数字运算单元是一个乘累加器,能够在一个机器周期内完成一次乘累加运算,配有适合于信号处理的指令,具备独特的循环寻址和倒序寻址能力。这些特点都非常适合数字信号处理中的滤波器设计的有效实现,并且它速度快,成本低,在过去的20多年的时间里,软件可编程的DSP器件几乎统治了商用数字信号处理硬件的市场。用DSP芯片实现数字滤波除了具有稳定性好、精确度高、不受环境影响外,还具有灵活性好的特点。用DSP可编程芯片实现数字滤波可通过修改滤波器的参数十分方便的改变滤波器的特性。FIR滤波器的DSP的实现将数据进行滤波的过程就是将一个待处理的数据按照一定的算法进行处理的过程,从而来得到自己期望的值。在这个满足线性关系的差分方程中,保持着线性不变的特定,其输出序列 y(n)和输入 x(n)之间存在着如式(1)所示的关系:其中,x(n)为输入序列,y(n)为输出序列,ak和 bk为滤波器系数, N是滤波器的阶数。若上式中所有的 bk均为零,则有 FIR滤波器的差分方程为:对上式进行 Z变换得到 FIR滤波器的传递函数为:从上面的三个公式中可以看出,H(z)是 Z的N-1次多项式,故在 Z的范围内存在着 N-1的原点和重级点,故 N阶滤波器一般存在着的单元包括 N个延迟单元、N个加法器与 N+1个乘法器,能够组成如图 4.1所示的两种结构。 图4.1从图 2中可以看到,无论是哪一种结构,FIR滤波器的单位时间响应是等长的,故稳定性强,不易被噪声等所影响。在本文中采用的TI公司生产的TMS320C54X作为 DSP处理芯片,根据如图 4.2所示的流程图的过程,设计了一系列的转变和编程最终实现了 FIR滤波器。图 4.2具体的过程如下,针对一个 FIR滤波器,具有 N阶,故可以在数据存储器中开辟一个缓冲区,在这个滑窗中存放 N个最新的输入样本,且在这个区域内输入新的样本时,只需要将想对应的数据进行覆盖即可。最后利用片内 BK(循环缓冲区长度)寄存器对滑窗进行间接寻址,循环缓冲区地址首尾相邻。FIR滤波器的核心算法是计算输入信号与滤波器系数的卷积。设 x(n)为输入信号, h(n)为 FIR滤波器的冲击响应, n=0, N-1,则 FIR滤波器的输出 y(n)就是 x(n)与 h(n)的卷积,即:从而利用了 DSP芯片就可以进行编程,实现 FIR所需要的数字滤波器的功能。4.3 FIR滤波器的调试与仿真汇编程序调试先在 CCS中建立新的工程 fir.pjt,再将汇编语言源文件 (.asm或.c)文件及中断向量文件(.asm)、位文件(.cmd),添加到工程中。若为 C语言程序则还需添加“stdio.h”、“math.h”, “rts.lib”。编译后生成.out文件,设置断点,并将.out文件加载进来,最后对view中的Graph进行设置,设置完就可以看到经过FIR滤波器的波形了。输入同样是谐波为200Hz和500Hz的周期信号。输入、输出波形大致如下:图4.3 输入函数波形图4.4 输出函数波形5.IIR 滤波器的实现5.1 IIR滤波器的特点1.IIR数字滤波器的系统函数可以写成封闭函数的形式。2.IIR数字滤波器采用递归型结构,即结构上带有反馈环路。IIR滤波器运算结构通常由延时、乘以系数和相加等基本运算组成,可以组合成直接型、正准型、级联型、并联型四种结构形式,都具有反馈回路。由于运算中的舍入处理,使误差不断累积,有时会产生微弱的寄生振荡。3.IIR 数字滤波器在设计上可以借助成熟的模拟滤波器的成果,如巴特沃斯、契比雪夫和椭圆滤波器等,有现成的设计数据或图表可查,其设计工作量比较小,对计算工具的要求不高。 在设计一个IIR数字滤波器时,我们根据指标先写出模拟滤波器的公式,然后通过一定的变换,将模拟滤波器的公式转换成数字滤波器的公式。4. IIR数字滤波器的相位特性不好控制,对相位要求较高时,需加相位校准网络。IIR滤波器具有无限长的单位脉冲响应。在结构上存在反馈回路,即是递归型的。也就是说,IIR滤波器的输出不仅与输入有关,而且与过去的输出有关。滤波器输出 y(n)不仅依赖于当前输入 x(n)及过去输入 x(n1).x(n2), ,x(nN+1),而且依赖于过去的输出y(n1)、y(n2), ,y(nN+1)。IIR滤波器由于具有结构简单、运算量小的特点,因而得到了较广泛的应用。IIR滤波器结构具有多种形式,归纳起来主要有以下几种。(1)直接I型(也称直接型),(2)直接H型(也称正推型),(3)级联型,(4)并联型,(5)格型(lattice)。直接 I型结构需要 2N级延迟单元,直接 II型结构与直接 I型结构相比节省了一半延迟,即需要N级延迟单元,是最常用的IIR滤波器之一。5.2 IIR滤波器的实现方法N阶滤波器的脉冲传递函数表达式为:它的差分方程表达式为:系统中所设计的输入信号是由频率分别为f1= 200Hz,f2= 500 Hz,的 2个正弦信号所合成的。系统采用了C语言进行编程实现,滤波程序流程如图 5.1所示。图 5.15.3 IIR滤波器的调试与仿真从而利用了DSP芯片就可以进行编程,实现IIR所需要的数字滤波器的功能。输入函数同样是谐波为200Hz和500Hz的周期信号。使用 CCS平台的图形显示功能观察滤波前后信号的波形图,波形大致如下:图 5.2 输入函数波形图 5.3 输出函数波形6.总结本课题主要是通过TMS320c54x和CCS平台来实现FIR和IIR滤波器设计和仿真。通过对本课题的研究,关于数字信号处理方面的理论知识得到了丰富和提高,理解了FFT算法的原理,及FIR和IIR滤波器的设计原理,学习了CCS的波形观察窗口观察输入/输出信号波形和频谱变化情况。熟悉了课题研究的整体思路和方法,认识到进行课题研究应具备的素质。此外,自己还得出一个结论:知识必须通过应用才能实现其价值!有些东西以为学会了,但真正到用的时候才发现是两回事,所以我认为只有到真正会用的时候才是真的学会了。致谢通过本次课题设计,我受益颇多,首先要感谢李老师的悉心指导。由于我之前都没接触过这门课,学起来比较吃力。李老师在我遇到问题时,总是耐心地讲解,给了我极大启发性的指导。李老师更加丰富了我的专业知识,并教会了如何去剖析一个整体的设计方案,给我创造实际动手的锻炼机会。在此向李老师致以我最诚挚的感激之情! 我还要感谢同学们对我的帮助与支持,感谢在课题期间积极地与我探讨解决方案,并且互相学习,共同勉励的同学们。参考文献【1】 戴明桢,周建江编著.TMS320C54x DSP结构、原理及应用.北京航空航天大学出版社,2007【2】 汪安民. TMS320C54XX DSP实用技术.清华大学出版社. 2002:5-15【3】 彭启宗. TMS320C54X实用教程.电子科技大学出版社 2000:3-7【4】 程佩清数字信号处理教程(第二版).北京清华大学出版社, 2001【5】 申敏, 邓矣兵, 郑建宏, 刘栋. DSP原理及其在移动通信中的应用. 人民邮电出版社. 2001:3-12附录1 产生原函数及FFT的代码:#include math.h#include tms320.h#include dsplib.h#include t4_SCALE.h#define SIGNAL1F 20 #define SAMPLEF 64 #define PI 3.1415926 #define SAMPLENUMBER 128short scale = 1;short noscale = 0;short INPUTSAMPLENUMBER,xSAMPLENUMBER; float OUTPUTSAMPLENUMBER; void MakeWave();void MakeWave() int i; float sample_step=1.0/SAMPLEF; float j=0.0; for ( i=0;iSAMPLENUMBER/2;i+ ) INPUTi=2*sin(PI*2*j*200)*1024+sin(PI*2*j*500)*1024; j=j+sample_step; void main() int i; MakeWave(); for(i=0;iSAMPLENUMBER;i=i+2) xi=INPUTi/2; for(i=1;iSAMPLENUMBER;i=i+2) xi=0.0; cbrev(x,x,SAMPLENUMBER/2); cfft512(x,scale); for (i=0;iSAMPLENUMBER;i+) OUTPUTi=xi; while (1);附录2产生原函数及实现IIR和FIR的代码:/测试FIR及CPUTIMER0,1,2#include DSP5416_Device.h / DSP5416 Headerfile Include File#include DSP5416_Examples.h / DSP5416x Examples Include File#include IQmathLib.h#include filter.h#include #include #define FIR_ORDER 50#pragma DATA_SECTION(lpf, firfilt);FIR16 lpf=FIR16_DEFAULTS;#pragma DATA_SECTION(dbuffer,firldb);long dbuffer(FIR_ORDER+2)/2;const long coeff(FIR_ORDER+2)/2=FIR16_LPF50; int xn100;intindex,in,in1,input,output;float yn100;float out;/ Prototype statements for functions found within this errupt void cpu_timer0_isr(void);interrupt void cpu_timer1_isr(void);interrupt void cpu_timer2_isr(void);void main(void) InitSysCtrl(); DINT; InitPieCtrl(); IER = 0x0000; IFR = 0x0000; InitPieVectTable(); EALLOW; / This is needed to write to EALLOW protected registers GpioMuxRegs.GPFMUX.bit.SPISTEA_GPIOF3 = 0; GpioMuxRegs.GPFDIR.bit.GPIOF3 = 1; PieVectTable.TINT0 = &cpu_timer0_isr; PieVectTable.XINT13= &cpu_timer1_isr; PieVectTable.TINT2 = &cpu_timer2_isr; GpioMuxRegs.GPEMUX.bit.XNMI_XINT13_GPIOE2=1; XIntruptRegs.XNMICR.bit.ENABLE=0; XIntruptRegs.XNMICR.bit.SELECT=0; EDIS; / This is needed to disable write to EALLOW protected registers InitCpuTimers(); / For this examp
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026-2031中国古玩产业深度调研与投资前景预测报告
- 突发事件应急处理预案和措施方案
- 2025全国普法知识考试题库及答案
- 2025年装维规范培训试题及答案
- 2025年全民国家安全教育日知识竞赛考试试题库及答案
- 2025年机械检查工职业技能考试题库及答案完整版
- 2025年药房管理员药物溶液配置模拟考核试题及答案解析
- 手术室2025年夏秋季常见传染病培训试题及答案
- 2026-2031中国钕铁硼行业分析报告
- 火灾爆炸事故专项应急预案
- 风电场防汛课件
- 工业阀门知识培训课件
- 湖南省十五五风电项目规划
- 活动策划服务合同标准范文
- 新式茶饮基础知识培训课件
- 环保检修措施方案(3篇)
- 从0到1开播指导抖音本地生活商家直播培训
- 2025年临港人才面试题目及答案
- Q-JJJ 9002-2025 铁路建设项目安全穿透式管理实施指南
- 消防员涉赌涉贷课件
- 《中国银行业文明服务公约》及实施细则2
评论
0/150
提交评论