ImageVerifierCode 换一换
格式:DOC , 页数:15 ,大小:1.72MB ,
资源ID:710076      下载积分:15 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bingdoc.com/d-710076.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(基于TMS320F2812-DSP处理器的FIR滤波器的设计与实现.doc)为本站会员(聆听****声音)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

基于TMS320F2812-DSP处理器的FIR滤波器的设计与实现.doc

1、郑州航空工业管理学院电子通信工程系DSP原理及应用课程设计报告设计题目:基于TMS320F2812 DSP处理器的FIR滤波器的设计与实现学 号: 姓 名: 专 业: 物联网工程 设计日期: 指导老师:赵成 刘亚 王超梁 目 录一、 引言 在当今信息时代数字信号处理已成为一门极其重要的学科。数字信号处理在通信、语音、图像等众多相关领域得到了广泛的应用。数字信号处理(DSP)包括两重含义:数字信号处理技术(DigitalSignalProcessing)和数字信号处理器(DigitalSignalProcessor)。数字信号处理(DSP)是利用计算机或专用处理设备,以数值计算的方法、对信号进行

2、采集、滤波、增强、压缩、估值和识别等加工处理,借以达到提取信息和便于应用的目的,其应用范围涉及几乎所有的工程技术领域。二、 在数字信号处理的应用中,数字滤波器很重要而且得到了广泛的应用。按照数字滤波器的特性,它可以被分为线性与非线性、因果与非因果、无限长冲击响应(IIR)与有限长冲击响应(FIR)等等。其中,线性时不变的数字滤波器是最基本的类型;IIR滤波器的特征是具有无限持续时间冲激响应,而FIR滤波器的冲激响应只能延续一定时间,在工程实际中可以采用递归的方式实现也可以采用非递归的方式实现。三、 目前FIR滤波器的实现方法大致可分为三种:利用单片通用数字滤波器集成电路、DSP器件或者可编程逻

3、辑器件实现。其中以使用通用DSP芯片实现方式较为简单,是一种实时、快速、特别适合于实现各种数字信号处理运算的微处理器,借助于通用数字计算机按滤波器的设计算法编出程序进行数字滤波计算。由于它具有丰富的硬件资源、改进的哈佛结构、高速数据处理能力和强大的指令系统而在通信、航空、航天、雷达、工业控制、网络及家用电器等各个领域得到广泛应用。二、 设计目的(1)掌握用窗函数法设计FIR滤波器的原理及方法,熟悉线性纤维FIR滤波器的幅频特性和相频特性,熟悉不同的窗函数对滤波器性能的影响。(2)掌握使用matlab编程的基本方法,学会利用fdatool工具来快速设计满足需要的滤波器。(3)掌握TMS320F2

4、812DSP处理器开发的程序框架结构,学习驱动TMS320F2812DSP处理器程序编写并能使其正常工作。实习驱动ADC模块实现信号的实时采集与模数转换。(4)掌握使用TMS320F2812DSP处理器实现FIR数字低通滤波器的设计方法,并能够实时采集输入信号并滤除高频信号再通过SCI串口传输到计算机显示。三、设计要求1、利用Matlab软件的FDATool工具设计FIR滤波器,并提取滤波器参数;2、在CCS集成开发环境下,利用第1步得到的滤波器参数,利用窗函数法设计FIR滤波器程序,观察输入信号及滤波后得到的输出信号的时域波形及FFTMagnitude波形;3、利用TMS320F2812的A

5、DC片内外设的外围电路实时采集的混频信号数据,使用1个51阶的FIR低通滤波器,在CCS中设计FIR滤波器程序实现滤波,观察相关波形及滤波效果,通过SCI接口将数据传送到计算机上;4、(选做)利用TI公司的TLV320AIC23高性能立体声音频Codec芯片,通过MIC或音频接口采样音频信号,对采样的音频信号做滤波运算,进行低音加重处理,再将运算过的音频数据通过扬声器播放出来四、总体设计 4.1利用Matlab软件的FDATool工具设计FIR滤波器4.1.1有限冲击响应数字滤波器的基础理论滤波器就是在时间域或频域内,对已知激励产生规定响应的网络,使其能够从信号中提取有用的信号,抑制并衰减不需

6、要的信号。滤波器的设计实质上就是对提出的要求给出相应的性能指标,再通过计算,使物理可实现的实际滤波器频率响应特性逼近给出的频率响应特性。FIR数字滤波器系统的传递函数为:-=-=10)()()(H(z)NnnznbzXzY(1)由此得到系统的差分方程:)1()1()1()1()()0()(-*-+-*+*=NnxNbnxbnxbny(2)若FIR数字滤波器的单位冲激响应序列为h(n),它就是滤波器系数向量b(n)。传统的滤波器分析与设计均使用繁琐的公式计算,改变参数后需要重新运算,从而在分析与设计滤波器尤其是高阶滤波器时工作量特别大。这里应用MATLAB设计FIR滤波器,根据给定的性能指标设计

7、一个H(z),使其逼近这一指标,进而计算并确定滤波器的系数b(n),再将所设计滤波器的幅频响应、相频响应曲线作为输出,与设计要求进行比较,对设计的滤波器进行优化。设计完成之后将得到FIR滤波器的单位冲激响应序列h(n)的各个参数值。4.1.2 利用Matlab软件的FDATool设计FIR滤波器() 首先在命令窗口键入FDAtool命令,启动滤波器设计分析器,调出FDAtool界面,如下图所示。 FDATool界面()在FilterType选项中选Lowpass,在DesignMethod中选择FIR滤波器,接着在FIR中选择Window(窗函数)法。()然后在FilterOrder中选择Sp

8、ecifyOrder(为指定阶数),输入数值为“24”;在Opitions框中选中“ScalePassband”;在窗类型(Window:)下拉框选择“Blackman”。()在FrenquencySpecification选项中,将fs(为采样频率)、fc(为通带截止频率)中分别键入30000Hz和9600Hz。()点击“DesignFilter”按钮,完成滤波器的设计。具体参数及设计成功后的结果如下图所示。 FIR低通滤波器设计 ()通过菜单选项Analysis来分析滤波器的幅频响应和相频响应特性。点击Analysis中的MagnitudeResponse和PhaseResponse对幅频

9、和相频响应进行分析。如下图所示 幅频和相频响应进行分析()在FDATool中,选择Targets-GenerateCHeader.,单击Generate按钮,选择路径,即可输出前一步设计出的FIR滤波器的系数表。(默认的系数表文件为fdacoefs.h。如下图所示。 导出滤波器系数() 在Matlab中打开得到的fdacoefs.h的文件,如下图所示 从Matlab中打开的fdacoefs.h文件4.1.3提取滤波器参数取系数表中的数据小数点后3位有效值,得到如下内容:ConstfloatB25=0.0,0.0,0.001,-0.002,-0.002,0.01,-0.009,-0.018,0.

10、049,-0.02,-0.11,0.28,0.64,0.28,-0.11,-0.02,0.049,-0.018,-0.009,0.01,-0.002,-0.002,0.001,0.0,0.04.2 CCS环境下FIR滤波器的设计及软件仿真4.2.1 程序流程图 4.2.2 在CCS集成开发环境下新建FIR滤波器工程() 实验准备设置软件仿真模式,启动CCS。() 建立工程建立一个文件夹,存放在D:FIR,将D:课程设计FIR滤波器Fir源程序文件夹下的工程全部复制到D:FIR,在CCS中打开D:FIRfirfir.pjt工程,打开的CCS集成开发环境如下图所示。 在CCS集成开发环境中打开工程

11、4.2.3观察滤波前后的信号的时域波形及FFT Magnitude波形(1)编译工程文件生成fir.out文件,并通过File-LoadProgram装载该文件。(2)设置波形时域观察窗口。选择菜单ViewGraphTime/Frequency,分别进行如下图所示进行设置以便观察输入/输出时域波形。输入数据频域波形观察输出数据频域波形观察(3)设置断点。在程序fir.c中,有注释断点的语句上设置软件断点。(4)运行并观察结果。选择Debug菜单的Run项,或按F5键运行程序。观察到的图形如下图所示。 滤波前后的数据波形及FFT分析的对比图4.2.4 程序清单fir.c程序/#includeDS

12、P281x_Device.h/DSP281xHeaderfileIncludeFile/#includeDSP281x_Examples.h/DSP281xExamplesIncludeFile/#includef2812a.h#includemath.h#defineFIRNUMBER25/#defineSIGNAL1F1000/#defineSIGNAL2F4500/#defineSAMPLEF10000#definePI3.1415926floatInputWave();floatFIR();floatfHnFIRNUMBER=0.0,0.0,0.001,-0.002,-0.002,0.

13、01,-0.009,-0.018,0.049,-0.02,-0.11,0.28,0.64,0.28,-0.11,-0.02,0.049,-0.018,-0.009,0.01,-0.002,-0.002,0.001,0.0,0.0;floatfXnFIRNUMBER=0.0;floatfInput,fOutput;floatfSignal1,fSignal2;floatfStepSignal1,fStepSignal2;floatf2PI;inti;floatfIn256,fOut256;intnIn,nOut;main(void)nIn=0;nOut=0;f2PI=2*PI;fSignal1=

14、0.0;fSignal2=PI*0.1;fStepSignal1=2*PI/30;fStepSignal2=2*PI*1.4;WhilefInput=InputWave();fInnIn=fInput;nIn+;nIn%=256;fOutput=FIR();fOutnOut=fOutput;nOut+;if(nOut=256)nOut=0;/*请在此句上设置软件断点*/floatInputWave()for(i=FIRNUMBER-1;i0;i-)fXni=fXni-1;fXn0=sin(fSignal1)+cos(fSignal2)/6.0;fSignal1+=fStepSignal1;if

15、(fSignal1=f2PI)fSignal1-=f2PI;fSignal2+=fStepSignal2;if(fSignal2=f2PI)fSignal2-=f2PI;return(fXn0);floatFIR()floatfSum;fSum=0;for(i=0;iRESET,PAGE=0/*vectors:VECTORS,PAGE=0*/.pinit:PROG,PAGE=0.cinit:PROG,PAGE=0.text:PROG,PAGE=0/*16-Bitdatasections*/.const:L0L1RAM,PAGE=1.bss:L0L1RAM,PAGE=1.stack:M1RAM,

16、PAGE=1.sysmem:M0RAM,PAGE=1/*32-bitdatasections*/.ebss:H0RAM,PAGE=1.econst:H0RAM,PAGE=1.esysmem:H0RAM,PAGE=14.3 对实时采样信号进行滤波的FIR滤波器的实现4.3.1 程序清单#includeDSP281x_Device.h/DSP281xHeaderfileIncludeFile#includeDSP281x_Examples.h/DSP281xExamplesIncludeFile#include#definepi3.1415927intpx256;intpy256;doublenp

17、ass,h51,x,y,xmid51;intm=50;intn=256;/Prototypestatementsforfunctionsfoundwithinthisfile.interruptvoidadc_isr(void);/Globalvariablesusedinthisexample:Uint16LoopCount;Uint16ConversionCount;voidfirdes(intm,doublenpass)intt;for(t=0;t=m;t+)ht=sin(t-m/2.0)*npass*pi)/(pi*(t-m/2.0);if(t=m/2)ht=npass;voidmai

18、n(void)intxm,ym;doublefs,fstop,r,rm;inti,j,p,k;/PLL,WatchDog,enablePeripheralClocks/ThisexamplefunctionisfoundintheDSP281x_SysCtrl.cfile.InitSysCtrl();/Forthisexample,setHSPCLKtoSYSCLKOUT/6(25Mhzassuming150MhzSYSCLKOUT)EALLOW;for(t=0;t=m;t+)ht=sin(t-m/2.0)*npass*pi)/(pi*(t-m/2.0);if(t=m/2)ht=npass;v

19、oidmain(void)intxm,ym;doublefs,fstop,r,rm;inti,j,p,k;/PLL,WatchDog,enablePeripheralClocks/ThisexamplefunctionisfoundintheDSP281x_SysCtrl.cfile.InitSysCtrl();/Forthisexample,setHSPCLKtoSYSCLKOUT/6(25Mhzassuming150MhzSYSCLKOUT)EALLOW;4.3.2 测试效果如上图所示,可以发现使用DSP芯片实现的的FIR滤波器已经成功的将设定的混合频率信号中的高频部分五、 总结 DSP技

20、术一般指将DSP处理器用于完成数字信号处理的方法与技术。目前的DSP芯片以其强大的数据处理功能在通信和其他信号处理领域得到广泛注意并已成为开发应用的热点技术。许多领域对于数字信号处理器的应用都是围绕美国TI公司所开发的DSP处理器进行的。DSP芯片是一种特别适合于进行数字信号处理运算的微处理器。主要应用是实时快速的实现各种数字信号处理算法,如卷积及各种变换等。这次我们所做的利用DSP芯片来实现数字滤波器就是一项很重要的应用,这一次的课程设计主要讨论基于TI公司TMS320F2812DSP芯片的滤波器系统软件实现方法,用Blackman窗函数设计实现FIR滤波器,利用MATLAB中的FDAtool滤波器设计分析器设计符合要求的FIR滤波器并生成fdacoefs.h文件提取相关参数。并在以TITMS320F2812为微处理器的EXPIV型实验箱上实现,实验仿真结果、实时数据采集及ADC转换滤波滤波均表明滤波后能够得到比较光滑时域/频域波形,滤波结果效果良好达到了预期的性能指标要求。六、 参考文献1. DSP原理与应用技术王忠勇陈恩庆编著电子工业出版社2.基于DSP的FIR滤波器的设计与实现长沙理工大学3.数字信号处理教程程佩清编著清华大学出版社4.Matlab/Simulink通信系统建模与仿真实例分析清华大学出版社

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2