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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

基于TMS320C5402的数字滤波器设计.docx

1、基于TMS320C5402的数字滤波器设计基于TMS320C5402的数字滤波器设计学生姓名:xxxx 指导老师:XXXX摘 要 DSP系统是不同于模拟电路和数字逻辑电路的电路系统,它所需要的信号必须是数字信号,并且强调运算过程。本课程设计在MATLAB软件上设计一个FIR滤波器,并在CCS仿真软件上应用汇编语言和C语言编写一些简单的DSP程序,选用TMS320C5402芯片作为DSP处理芯片,通过对其编程来实现数字滤波器的设计与仿真。关键词 DSP;MATLAB软件;CCS仿真;TMS320C5402芯片Abstract DSP system is different from analog

2、 or digital logic circuit system.The signal it needs must be a digital signal, and emphasizes computation process. This course is to use the MATLAB software to design a FIR filter, and write some simple DSP program in CCS simulation software by assembly language and C language. Choose the TMS320C540

3、2 chip as the DSP processing chip, and through its programming to digital filter design and simulation.Keywords DSP; MATLAB software; CCS simulation; TMS320C5402 chip1引言DSP有两种解释:其一是Digital Signal Processing的缩写,即数字信号处理,是指数字信号处理是利用计算机或专用处理设备,以数字的形式对信号进行采集、变换、滤波、估值、增强、压缩、识别等处理,以得到符合人们需要的信号形式;其二是Digital

4、 Signal Processor即数字信号处理器的意思,是指数字信号处理器是用来完成数字信号处理要求的具有特殊结构的一种微处理器,即我们经常所说的DSP器件。20世纪60年代以来,随着计算机和信息技术的飞速发展,数字信号处理技术应运而生并得到迅速的发展。数字信号处理是一种通过使用数学技巧执行转换或提取信息,来处理现实信号的方法,这些信号由数字序列表示。2系统功能介绍及总体设计方案2.1、系统功能介绍一个实际的应用系统中,总存在各种干扰。数字滤波器在语音信号处理、信号频谱估计、信号去噪、无线通信中的数字变频以及图像信号等各种信号处理中都有广泛的应用,数字滤波器也是使用最为广泛的信号处理算法之一

5、。在本设计中,使用MATLAB模拟产生合成信号,然后利用CCS进行滤波。设定模拟信号的采样频率为32000Hz,。设计一个FIR低通滤波器,其参数为:滤波器名称: FIR低通滤波器采样频率: Fs=40000Hz通带: 4000Hz4500Hz过渡带: 2500Hz3000Hz,3500Hz4000Hz带内波动: 0.5dB阻带衰减: 50dB滤波器级数: N=154滤波器系数: 由MATLAB根据前述参数求得。2.2 总体设计方案流程图图2.1 总体设计方案2.3、CCS开发环境CCS提供了配置、建立、调试、跟踪和分析程序的工具,它便于实时、嵌入式信号处理程序的编制和测试,它能够加速开发进程

6、,提高工作效率。CCS提供了基本的代码生成工具,它们具有一系列的调试、分析能力。CCS支持如下图1.1所示的开发周期的所有阶段。图 2.2 CCS开发功能和流程3 主要内容和步骤3.1、滤波器原理对于一个FIR滤波器系统,它的冲击响应总是又限长的,其系统函数可记为1:其中N-1是FIR的滤波器的阶数,为延时结, h(n)为端口信号函数。最基本的FIR滤波器可用下式表示:其中x(n-k)输入采样序列,h(k)是滤波器系数,N是滤波器的阶数Y(n)表示滤波器的输出序列,也可用卷积来表示输出序列y(n)与x(n)、h(n)的关系,即:y(n)=x(n)*h(n)。3.2、DSP 实现FIR滤波的关键

7、技术用线性缓冲区实现FIR滤波器(程序清单见附录)。3.3.操作步骤(1)打开FDATOOL,根据滤波要求设置滤波器的类型、通带截止频率、指定阶数、采样频率等。指定完设计参数后单击按钮Design Filter,即生成滤波器系数。(2)把生成的滤波器系数传到目标DSP。选择菜单Targets-Export to Code Composer Studio(tm)IDE,打开Export to C Header File对话框,选择C header file,指定变量名(滤波器阶数和系数向量),输出数据类型可选浮点型或32 b,16 b整型等,根据自己安装选择目标板板号和处理器号,单击OK,保存该

8、头文件,需指定文件名(filtercoeffh)和路径(保存在c:timyprojectsfir工程中)。(3)修改CCS汇编程序,删掉数据前的所有文字,在开头加上.data,第二行加coeff .word,在每行的前面加上.word,并且把每行的最后面的逗号去掉。(4)编译汇编程序,如果有错误,按错误进行修改;如没错误,则往下执行。(5)加载初始化DATA数据。运行程序,查看输入输出波形,设置参数进行调试。4 详细设计在本实验中使用MATLAB模拟产生信号,观察滤波前的时域波形和频域波形。MATLAB仿真后,使用得到的滤波器参数,进行DSP编程,在DSP中实现带通滤波,并使用CCS的频谱分析

9、功能,查看DSP的滤波效果。4.1、MATLAB程序流程图如图4.1所示 初始化 产生需要虑波信号 画出原始信号频谱图 生成fir滤波器 进行滤波 画出滤波后信号频谱图图4.1 MATLAB程序流程图4.2、CCS汇编程序流程图如图4.2所示 本次滤波结束待滤波系数减一为原始信号和系数指定寄存器 定义滤波器系数 输入原始信号 初始化 做滤波算法 是 滤波结束 是否还有待滤波数据图4.2 CCS汇编程序流程图5 实验过程5.1、MATLAB结合汇编语言过程(1)、实验步骤与内容MATLAB辅助DSP 实现FIR ,其总体过程为在DSP 中编写处理程序,在MATLAB中利用滤波器设计、分析工具(

10、FDATOOL) ,根据指定的滤波器性能快速设计一个FIR ,然后把滤波器系数以头文件形式导入CCS 中,头文件中MATLAB 辅助DSP 实现FIR 数字滤波器含滤波器阶数和系数数组,在MATLAB中调试、运行DSP 程序并显示、分析处理后的数据。使用该方法,便于采用汇编语言来实现程序。头文件名不变,当MATLAB中设计的滤波器系数改变时,相应头文件中系数也改变,方便了程序调试、仿真。1)在MATLAB中先编写程序2,查看待滤波信号的时域和频域波形,如下图所示。图5.1 待滤波信号的时域波形图5.2 待滤波信号的频率波形利用FDA TOOL 设计FIR 滤波器的参数,操作步骤如图5.3所示。

11、图5.3 FIR 滤波器的参数设置打开Export,把Numerator改为B,如图5.4所示。已滤波的信号的时域和频域波形,如图5.5和图5.6所示。图5.5已滤波的信号的时域波形图5.6 已滤波的信号的频率波形MATLAB滤波器设计工具在完成FIR设计后,如图7所示,在Export as中选择16bit。再生成fir.h C语言头文件。将系数稍作修改,调整后拷贝到程序的系数初始化空间即可。 2)在CCS中编写汇编语言程序,进行调试,实现带通滤波的功能。在CCS IDE 中建立LHM.pjt工程,用汇编语言编写处理主程序fir.asm。另外根据板上的存储器配置方式,编写存储器配置文件fir.

12、cmd文件,将MATLAB生成的LHM.h和input1.dat文件拷贝到LHM.pjt工程文件夹下,进行编译、链接,生成可执行文件LHM.out。 3)加载初始化data数据,图5.8所示。运行程序,查看输入输出波形,修改相应参数进行调试。(2)、实验过程中出现的错误及解决的办法1)在MATLAB程序设计中,采样频率设置的过小,截止频率大于采样频率的一半,运行的时候图形出现错误。2)FIR.m中的采样频率要和开始设置时的采样频率一致,否则结果会出现偏差。3)在CCS中未定义标号,程序运行错误。4)在.h文件中未把coeff顶格写,编译时出现错误。5)未将fir.h和input.dat文件考入

13、工程文件中。6)间接寻址过程中,程序中丢失。7) 在View的Graph中单击Time/frequency出现graph property dialog框,未修改抽样点数。显示的图形出现差异(3)、CCS程序运行后的各种输出结果在View的Graph中单击Time/frequency出现graph property dialog框。将显示类型,图形名称,起始地址,抽样点数,数据类型等分别进行设置3,输出各种波形。输出滤波前的信号时域波形。首先,设置如图5.9所示,输出滤波前的信号时域波形。图5.9 graph property dialog设置单击OK后生成如下图5.10波形。图5.10 滤波

14、前的信号时域波形图5.10为滤波前的信号,波形很杂乱,从时域上很难看出信号的周期性。修改相应设置,输出如图5.11所示滤波前信号频谱。图5.11 滤波前信号频谱 经过滤波后,波形如图5.12和5.13所示。图5.12 滤波后时域波形图5.13 滤波后信号频谱5.2、MATLAB与C语言过程(1)实验步骤与内容MATLAB辅助DSP 实现FIR ,其总体过程为在DSP 中编写处理程序,在MATLAB中利用滤波器设计、分析工具( FDATOOL) ,根据指定的滤波器性能快速设计一个FIR ,然后把滤波器系数以头文件形式导入CCS 中,头文件中MATLAB 辅助DSP 实现FIR 数字滤波器含滤波器

15、阶数和系数数组,在MATLAB中调试、运行DSP 程序并显示、分析处理后的数据。使用该方法,便于采用C语言来实现程序。头文件名不变,当MATLAB中设计的滤波器系数改变时,相应头文件中系数也改变,方便了程序调试、仿真。1)在MATLAB中先编写程序,查看待滤波和已滤波的信号的时域和频域波形,如图5.14和图5.15所示。图5.14 MATLAB中待滤波信号的时域波形图5.15 MATLAB中待滤波信号的频域波形利用FDA TOOL 设计FIR 滤波器的参数,操作步骤如图5.16所示。图5.16利用FDA TOOL 设计FIR 滤波器的参数打开Export,把Numerator改为B,如图5.1

16、7所示。图5.17 export设置已滤波的信号的时域和频域波形,如图5.18和图5.19所示。图5.18 已滤波的信号的时域波形图5.19已滤波的信号的频率波形MATLAB滤波器设计工具在完成FIR设计后,在Export as中选择16bit符号整数输出,再生成fir.h C语言头文件。修改系数,调整后拷贝到程序的系数初始化空间即可。 图5.20 完成FIR滤波器设计2)在CCS中编写C语言程序,进行调试,实现带通滤波的功能。在CCS IDE 中建立LHM.pjt工程,用汇编语言编写处理主程序fir.asm。另外根据板上的存储器配置方式,编写存储器配置文件fir.cmd文件,将MATLAB生

17、成的LHM.h和input1.dat文件拷贝到LHM.pjt工程文件夹下,进行编译、链接,生成可执行文件LHM.out。 3)加载初始化data数据,图5.21所示。图5.21 初始化data数据运行程序,查看输入输出波形,修改相应参数进行调试。(2)、实验过程中出现的错误及解决的办法1)在MATLAB程序设计中4,采样频率设置的过小,截止频率大于采样频率的一半,运行的时候图形出现错误。2)FIR.m中的采样频率要和开始设置时的采样频率一致否则结果会出现偏差。3)在CCS中未定义标号,程序运行错误。4)在.h文件中未把coeff顶格写,编译时出现错误。5)未将fir.h和input.dat文件

18、考入工程文件中。6)间接寻址过程中,程序中丢失。7) 在View的Graph中单击Time/frequency出现graph property dialog框,未修改抽样点数。显示的图形出现差异(3)、CCS程序运行后的各种输出结果在View的Graph中单击Time/frequency出现graph property dialog框。将显示类型,图形名称,起始地址,抽样点数,数据类型等分别进行设置,输出各种波形。输出滤波前的信号时域波形,设置如图所示,输出滤波前的信号时域波形。图5.22 graph property dialog出错重置单击OK后生成如下图波形。图5.23 更正设置后的滤波

19、前输出波形图5.23为滤波前的信号,波形很杂乱,从时域上很难看出信号的周期性。修改相应设置,输出如图5.24所示滤波前信号频谱。图5.24 更正设置后的滤波前信号频谱 经过滤波后,时域波形如图5.25所示。图5.25更正设置后的滤波后时域波形图5.26更正设置后的滤波后信号频谱6 结束语通过本次课程设计,让我了解了数字滤波是信号处理技术中的重要部分,研究了数字滤波器的基本理论知识以及它实现方法。学习了数字滤波器的结构、设计理论,掌握了各种数字滤波器的原理和特性。并且复习了MATLAB的相关知识,并且利用MATLAB与CCS设计了低通滤波器以及高通滤波器,还研究了如何在定点DSP中实现数字滤波器

20、的算法,学到了16位定点DSP芯片TMS320C5402的硬件、软件结构和特性,掌握了CCS环境下的程序开发方法、调试工具的使用及优化级别的选择等。. .研究了MATLAB环境下FIR数字滤波器的设计方法,利用MATLAB软件编程实现FIR滤波器设计。利用DSP来快速设计FIR数字滤波器的方法,寻找系数的快速传递,MATLAB中调试仿真DSP程序。DSP作为一门新兴学科,越来越引起人们的关注,目前已广泛应用在各个领域。20世纪60年代以来,随着计算机和信息技术的飞速发展,数字信号处理技术应运而生并得到迅速的发展。数字信号处理(DSP)是围绕着数字信号处理的理论、实现和应用等几个方面发展起来的。

21、数字信号处理是(DSP)利用计算机或专用处理设备,以数字形式对信号进行采集、变换、滤波、估值、增强、压缩、识别等处理,以得到符合们需要的信号形式。数字信号处理在理论上的发展推动了数字信号处理应用的发展。反过来,数字信号处理的应用又促进了数字信号处理理论的提高。而数字信号处理的实现则是理论和应用之间的桥梁。数字信号处理DSP是以众多学科为理论基础的,它所涉及的范围极其广泛。不仅要完善以上的MATLAB设计方法,更要学会利用多种途径设计各种DSP最小系统,熟练C语言编程。所以在今后的工作和学习生活中,综合运用模拟电子、数字电子和DSP基本原理等课程中所学的理论知识去独立完成一个项目的设计。7 参考

22、文献1 程佩青. 数字信号处理教程.北京:清华大学出版社, 2007-022 楼顺天,李博函.基于MATLAB的系统分析与设计一信号处理M.西安:西安电子科技大学出版社,19983 王秀芳,关凌涛.基于MatLab与DSP的滤波器的快速设计方法期刊文章.现代计算机,2008,总第二七七期:9799 4 罗军辉,罗勇江等.MATLAB在数字信号处理中的应用M.北京:机械工业出版社,2005.63一128.附件:源程序清单附录一:用线性缓冲区实现FIR滤波器 .title “FIR1.ASM” .mmregs .def start x .usect “x”,8 PA0 .set 0 PA1 .se

23、t 1 .data COEF: .word 1*32768/10 .word 2*32768/10 .word -4*32768/10 .word 3*32768/10 .word -4*32768/10 .word 2*32768/10 .word 1*32768/10 .textstart: SSBX FRCT STM #x+7,AR2 STM #6,AR0 LD #x+1,DP PORTR PA1,x+1FIR1: RPTZ A,#6 MACD *AR2-,COEF,A STH A,*AR2 PORTW *AR2+,PA0 BD FIR1 PORTR PA1,*AR2+0 .end 附录

24、二:用循环缓冲区实现FIR滤波器 .title “FIR2.ASM” .mmregs .def start .bss y,1xn .usect “xn”,7b0 .usect “b0”,7PA0 .set 0PA1 .set 1 .datatable: .word 1*32768/10 .word 2*32768/10 .word 3*32768/10 .word 4*32768/10 .word 5*32768/10 .word 6*32768/10 .word 7*32768/10 .text start: SSBX FRCT STM #b0,AR1 RPT #6 MVPD table,*

25、AR1+ STM #xn+6,AR2 STM #b0+6,AR3 STM #7,BK STM #-1,AR0 LD #xn,DP PORTR PA1,xnFIR2: RPTZ A,#6 MAC *AR2+0%,*AR3+0%,A STH A,y PORTW y,PA0 BD FIR2 PORTR PA1,*AR2+0% .end 附录三:汇编程序清单lhm.h文件内容: .datacoeff .word -85, -64, -61, -36, 8, 62, 110, 136, 131 .word 96, 42, -11, -44, -44, -11, 39, 85, 106 .word 88,

26、 37, -29, -83, -101, -73, -7, 70, 124 .word 131, 82, -5, -96, -151, -144, -72, 37, 140 .word 191, 162, 61, -76, -191, -231, -174, -35, 132 .word 256, 278, 180, -7, -208, -337, -330, -176, 72 .wor 316, 445, 392, 156, -178, -475, -599, -470, -108 .word 361, 745, 857, 594, -6, -748, -1336, -1456, -893

27、.word 386, 2192, 4154, 5816, 6768, 6768, 5816, 4154, 2192 .word 386, -893, -1456, -1336, -748, -6, 594, 857, 745 .word 361, -108, -470, -599, -475, -178, 156, 392, 445 .word 316, 72, -176, -330, -337, -208, -7, 180, 278 .word 256, 132, -35, -174, -231, -191, -76, 61, 162 .word 191, 140, 37, -72, -14

28、4, -151, -96, -5, 82 .word 131, 124, 70, -7, -73, -101, -83, -29, 37 .word 88, 106, 85, 39, -11, -44, -44, -11, 42 .word 96, 131, 136, 110, 62, 8, -36, -61, -64 .word -85Fir.asm内容: .title fir.asm .mmregs .global _c_int00ORDER .set 154 D_LEN .set 1024 ; The Length of Input Dataxn .usect xn, (ORDER-1)

29、a0 .usect a0, (ORDER-1)input .usect input, D_LEN output .usect output, D_LEN .copy HM.h ; Get coefs from coef.h .text .asg AR0, FIR_INDEX .asg AR2, FIR_DATA .asg AR3, FIR_COEF .asg AR5, DATA_IN .asg AR6, DATA_OUT_c_int00: SSBX FRCT STM #a0,FIR_COEF ; Copy a0(coefs) to FIR_COEF(AR3) RPT #ORDER-1 MVPD

30、 #coeff,*FIR_COEF+ STM #1, FIR_INDEX STM #xn, FIR_DATA ; Copy xn(data) to FIR_DATA(AR2) RPTZ A,#ORDER-1 STL A, *FIR_DATA+ STM #(xn+ORDER-1), FIR_DATA STM #(a0+ORDER-1), FIR_COEF STM #input, DATA_IN ; Get data from input STM #output, DATA_OUT ; Write data to output STM #D_LEN-1, BRC RPTBD next-1 STM #ORDER, BK LD *DATA_IN+, AFIR: STL A, *FIR_DATA+% RPTZ A, (ORDER-1) MAC *FIR_DATA+0%, *FIR_COEF+0%, A ; FIRS STH A, *DATA_OUT+nextFIR_END: B FIR_END .endFIR.m的程序如下:fs=

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1