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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

基于DSP的FIR滤波器课程设计.docx

1、基于DSP的FIR滤波器课程设计第1章 绪论 21.1课程设计(论文)目的 2第2章 系统方案设计 22.1系统功能介绍 22.2系统方案设计流程图(如图2.1) 32.3设计主要内容及步骤 32.3.1滤波器的原理 32.3.2DSP 实现FIR滤波的关键技术 42.3.3具体的操作步骤 6第3章 详细设计 63.1MATLAB程序流程图(如图3.1) 63.2CCS汇编程序流程图(如图3.2) 7第4章 实验过程 84.1 实验步骤与内容 84.2 实验过程中出现的错误及解决的办法 114.3 CCS程序运行后的各种输出结果 11第5章 结束语 13第6章 参考文献 14第1章 绪论1.1

2、课程设计(论文)目的通过课程设计,加深对DSP芯片TMS320C54x的结构、工作原理的理解,获得DSP应用技术的实际训练,掌握设计较复杂DSP系统的基本方法。通过使用汇编语言编写具有完整功能的图形处理程序或信息系统,使学生加深对所学知识的理解,进一步巩固汇编语言讲法规则。学会编制结构清晰、风格良好、数据结构适当的汇编语言程序,从而具备解决综合性实际问题的能力。 第2章 系统方案设计2.1系统功能介绍任何一个实际的应用系统中,都存在着各种各样的干扰。数字滤波器是使用最为广泛的信号处理算法之一。数字滤波器在语音信号处理、信号频谱估计、信号去噪、无线通信中的数字变频以及图像信号等各种信号处理中都有

3、广泛的应用。在本设计中,先使用MATLAB模拟产生合成信号,然后再利用CCS进行滤波处理。将模拟信号的采样频率设定为32000Hz,设计一个FIR低通滤波器,其参数为:滤波器名称: FIR低通滤波器采样频率: Fs=40000Hz通带: 4000Hz4500Hz过渡带: 2500Hz3000Hz,3500Hz4000Hz带内波动: 0.5dB阻带衰减: 50dB滤波器级数: N=154滤波器系数: 由MATLAB根据前述参数求得。2.2系统方案设计流程图(如图2.1)图2.1 系统方案设计流程图2.3设计主要内容及步骤2.3.1滤波器的原理对于任何一个FIR滤波器系统,它的冲击响应总是有限长的

4、,其系统函数可记为:其中N-1是FIR滤波器的阶数,为延时结,为端口信号函数。下式为最基本的FIR滤波器表示: 其中表示输入采样序列,表示滤波器系数,N表示滤波器的阶数,Y(n)表示滤波器的输出序列,也可以用下式利用卷积来表示输出序列y(n)与x(n)、h(n)的关系: y(n)=x(n)*h(n)2.3.2DSP 实现FIR滤波的关键技术用线性缓冲区来实现FIR滤波器 其程序清单如下: .title “FIR1.ASM” .mmregs .def startx .usect “x”,8PA0 .set 0PA1 .set 1 .dataCOEF:.word 1*32768/10 .word

5、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 用循环缓冲区来实现FIR滤波器 其程序清单如下: .title “FIR2.ASM

6、” .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,*AR1+ STM #xn+6,AR2 STM #b0+6,AR3

7、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 2.3.3具体的操作步骤(1)打开FDATOOL,根据滤波要求设置滤波器的类型、通带截止频率、指定阶数、采样频率等。设置完设计参数后再单击Design Filter按钮,生成滤波器系数。(2)把生成的滤波器系数传到目标DSP。选择菜单Targets-Export to Code Composer Studio(tm)IDE,打开Ex

8、port to C Header File对话框,选择C header file,然后指定变量名(滤波器阶数和系数向量),输出数据类型可以选择浮点型或32 b,16 b整型等,再根据自己安装选择目标板板号和处理器号,单击OK,保存该头文件,同时需指定文件名(filtercoeffh)和路径(保存在c:timyprojectsfir工程中)。(3)修改CCS汇编程序,删除掉数据前的所有文字,在其开头加上.data,第二行加上coeff .word,在每行的前面都加上.word,并且把每行的最后的逗号去除掉。(4)编译汇编程序,若有错误,则根据错误提示进行修改;若没有错误,则继续往下执行。(5)加

9、载初始化DATA数据。运行程序,查看输入输出的波形,修改相应的参数进行调试第3章 详细设计在本设计中首先使用MATLAB进行模拟仿真产生信号,观察滤波前的时域波形和频域波形。通过MATLAB仿真后,使用其得到的滤波器参数,再进行DSP编程处理,在DSP中实现带通滤波,然后使用CCS的频谱分析功能,查看DSP的滤波效果。3.1MATLAB程序流程图(如图3.1) 初始化 产生需要虑波信号 画出原始信号频谱图 生成fir滤波器 进行滤波 画出滤波后信号频谱图图3.1 MATLAB程序流程图3.2CCS汇编程序流程图(如图3.2) 初始化 输入原始信号 定义滤波器系数为原始信号和系数指定寄存器 做滤

10、波算法 本次滤波结束待滤波系数减一 是 滤波结束 图3.2 CCS汇编程序流程图第4章 实验过程4.1 实验步骤与内容MATLAB辅助DSP 实现FIR ,其总体过程为在DSP 中编写处理程序,在MATLAB中利用滤波器设计、分析工具( FDATOOL) ,根据指定的滤波器性能快速设计一个FIR ,再把滤波器系数以头文件形式导入CCS 中,头文件中MATLAB 辅助DSP 实现FIR 数字滤波器含滤波器阶数和系数数组,在MATLAB中调试、运行DSP 程序并显示、分析处理后的数据。使用该方法,便于采用汇编语言来实现程序。头文件名不变,当MATLAB中设计的滤波器系数改变时,相应头文件中系数也改

11、变,方便程序调试、仿真。1.在MATLAB中先编写程序,查看待滤波和已滤波的信号的时域和频域波形,如图4.1.1和图4.1.2所示。图4.1.1 待滤波的时域和频域波形 图4.1.2 已滤波的时域和频域波形利用FDA TOOL 设计FIR 滤波器的参数,操作步骤如图4.1.3所示。图4.1.3 FDA TOOL设计FIR 滤波器的参数操作步骤图打开Export,把Numerator改为B,如图4.1.4所示。已滤波的信号的时域和频域波形,如图4.1.5和图4.1.6所示。图4.1.5 已滤波的信号的时域波形 图4.1.6 已滤波的信号的频域波形MATLAB滤波器设计工具在完成FIR设计后,如图

12、4.1.7所示,在Export as中选择16bit符号整数输出,然后单击OK按钮。生成fir.h C语言头文件。将系数稍作修改,调整后拷贝到程序的系数初始化空间即可。2.在CCS中编写汇编程序,进行调试,实现带通滤波功能。在CCS IDE 中建立LHM.pjt工程,用汇编语言编写处理主程序fir.asm。另根据板上的存储器配置方式,编写存储器配置文件fir.cmd文件,将MATLAB生成的LHM.h和input1.dat文件拷贝到LHM.pjt工程文件夹下,进行编译、链接,生成可执行文件LHM.out。 3.加载初始化data数据,图4.1.8所示。运行程序,查看输入输出波形,修改相应参数进

13、行调试。4.2 实验过程中出现的错误及解决的办法1.在MATLAB程序设计中,采样频率设置的过小,截止频率大于采样频率的一半,运行的时候图形出现错误。2. FIR.m中的采样频率要和开始设置时的采样频率一致,否则结果会出现偏差。3.在CCS中未定义标号,程序运行错误。4.在.h文件中未把coeff顶格写,编译时出现错误。5.未将fir.h和input.dat文件考入工程文件中。6.间接寻址过程中,程序中丢失。7.在View的Graph中单击Time/frequency出现graph property dialog框,未修改抽样点数。显示的图形出现差异4.3 CCS程序运行后的各种输出结果在Vi

14、ew的Graph中单击Time/frequency出现graph property dialog框。将显示类型,图形名称,起始地址,抽样点数,数据类型等分别进行设置,输出各种波形。输出滤波前的信号时域波形。首先,设置如图4.1.9所示,输出滤波前的信号时域波形。图4.1.9 滤波前数据类型设置单击OK后生成如下图4.1.10波形。图4.1.10为滤波前的信号,波形很杂乱,从时域上很难看出信号的周期性。修改相应设置,输出如图4.1.11所示滤波前信号频谱。经过滤波后,时域波形和信号频谱分别如图4.1.12和图4.1.13所示。图4.1.10 滤波前时域波形图4.1.11 滤波前信号频谱图4.1.

15、12 滤波后时域波形图4.1.13 滤波后信号频谱第5章 结束语在这次课程设计中,我了解到了数字滤波是信号处理技术中的重要部分,研究了数字滤波器的基本理论知识以及它实现方法。学习了数字滤波器的结构、设计理论,掌握了各种数字滤波器的原理和特性。并且复习了MATLAB的相关知识,并且利用MATLAB与CCS设计了低通滤波器以及高通滤波器,还研究了如何在定点DSP中实现数字滤波器的算法,掌握了CCS环境下的程序开发方法、调试工具的使用及优化级别的选择等。研究了MATLAB环境下FIR数字滤波器的设计方法,利用MATLAB软件编程实现FIR滤波器设计。利用DSP来快速设计FIR数字滤波器的方法,寻找系

16、数的快速传递,MATLAB中调试仿真DSP程序。在今后的工作和学习生活中,综合运用模拟电子、数字电子和DSP基本原理等课程中所学的理论知识去独立完成一个项目的设计。不仅要完善以上的MATLAB设计方法,更要学会利用多种途径设计各种DSP最小系统,熟练C语言编程。第6章 参考文献1 李真芳、苏涛等.DSP程序开发一MATLAB调试及直接目标代码生成M.西安:西安电子科技大学出版社,2003.87一163.2 楼顺天、李博函.基于MATLAB的系统分析与设计一信号处理M.西安:西安电子科技大学出版社,1998.81一88.3王秀芳、关凌涛.基于MatLab与DSP的滤波器的快速设计方法期刊文章.现代计算机,2008,总第二七七期:9799.4赵秀玲、基于定点DSP的FIR数字滤波器的研究与设计硕士论文.曲阜师范大学,2007.1532.5罗军辉、罗勇江等.MATLAB在数字信号处理中的应用M.北京:机械工业出版社,2005.63一128.

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

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