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

上传人:飞****2 文档编号:78735998 上传时间:2023-03-19 格式:DOC 页数:14 大小:229.50KB
返回 下载 相关 举报
基于DSP的FIR滤波器课程设计.doc_第1页
第1页 / 共14页
基于DSP的FIR滤波器课程设计.doc_第2页
第2页 / 共14页
点击查看更多>>
资源描述

《基于DSP的FIR滤波器课程设计.doc》由会员分享,可在线阅读,更多相关《基于DSP的FIR滤波器课程设计.doc(14页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、第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课程设计(论文)目的通过课程设计,加深对DSP芯片TMS320C54

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

3、用CCS进行滤波处理。将模拟信号的采样频率设定为32000Hz,设计一个FIR低通滤波器,其参数为:滤波器名称: FIR低通滤波器采样频率: Fs=40000Hz通带: 4000Hz4500Hz过渡带: 2500Hz3000Hz,3500Hz4000Hz带内波动: 0.5dB阻带衰减: 50dB滤波器级数: N=154滤波器系数: 由MATLAB根据前述参数求得。2.2系统方案设计流程图(如图2.1)使用MATLAB编写程序产生待滤波数据使用MATLAB滤波器的设计分析工具FDATOOL设计FIR滤波器使用CCS编写程序实现滤波功能查看程序运行后的输入输出波形并比较滤波效果 图2.1 系统方案

4、设计流程图2.3设计主要内容及步骤2.3.1滤波器的原理对于任何一个FIR滤波器系统,它的冲击响应总是有限长的,其系统函数可记为:其中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”,

5、8PA0 .set 0PA1 .set 1 .dataCOEF:.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 PA

6、1,*AR2+0 .end 用循环缓冲区来实现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,A

7、R1 RPT #6 MVPD table,*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 2.3.3具体的操作步骤(1)打开FDATOOL,根据滤波要求设置滤波器的类型、通带截止频率、指定阶数、采样频率等。设置完设计参数后再单击Design Filter按钮,生成滤波器系数。(2)把生成的滤波器系数传到目标DSP

8、。选择菜单Targets-Export to Code Composer Studio(tm)IDE,打开Export to C Header File对话框,选择C header file,然后指定变量名(滤波器阶数和系数向量),输出数据类型可以选择浮点型或32 b,16 b整型等,再根据自己安装选择目标板板号和处理器号,单击OK,保存该头文件,同时需指定文件名(filtercoeffh)和路径(保存在c:timyprojectsfir工程中)。(3)修改CCS汇编程序,删除掉数据前的所有文字,在其开头加上.data,第二行加上coeff .word,在每行的前面都加上.word,并且把每行

9、的最后的逗号去除掉。(4)编译汇编程序,若有错误,则根据错误提示进行修改;若没有错误,则继续往下执行。(5)加载初始化DATA数据。运行程序,查看输入输出的波形,修改相应的参数进行调试第3章 详细设计在本设计中首先使用MATLAB进行模拟仿真产生信号,观察滤波前的时域波形和频域波形。通过MATLAB仿真后,使用其得到的滤波器参数,再进行DSP编程处理,在DSP中实现带通滤波,然后使用CCS的频谱分析功能,查看DSP的滤波效果。3.1MATLAB程序流程图(如图3.1) 初始化 产生需要虑波信号 画出原始信号频谱图 生成fir滤波器 进行滤波 画出滤波后信号频谱图图3.1 MATLAB程序流程图

10、3.2CCS汇编程序流程图(如图3.2) 初始化 输入原始信号 定义滤波器系数为原始信号和系数指定寄存器 做滤波算法 本次滤波结束待滤波系数减一是否有待滤波数据 是 滤波结束 图3.2 CCS汇编程序流程图第4章 实验过程4.1 实验步骤与内容MATLAB辅助DSP 实现FIR ,其总体过程为在DSP 中编写处理程序,在MATLAB中利用滤波器设计、分析工具( FDATOOL) ,根据指定的滤波器性能快速设计一个FIR ,再把滤波器系数以头文件形式导入CCS 中,头文件中MATLAB 辅助DSP 实现FIR 数字滤波器含滤波器阶数和系数数组,在MATLAB中调试、运行DSP 程序并显示、分析处

11、理后的数据。使用该方法,便于采用汇编语言来实现程序。头文件名不变,当MATLAB中设计的滤波器系数改变时,相应头文件中系数也改变,方便程序调试、仿真。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.4 EXPORT设置已滤波的信号的时域和频域波形,如

12、图4.1.5和图4.1.6所示。图4.1.5 已滤波的信号的时域波形 图4.1.6 已滤波的信号的频域波形MATLAB滤波器设计工具在完成FIR设计后,如图4.1.7所示,在Export as中选择16bit符号整数输出,然后单击OK按钮。生成fir.h C语言头文件。将系数稍作修改,调整后拷贝到程序的系数初始化空间即可。图4.1.7 MATLAB输出数值类型转换2.在CCS中编写汇编程序,进行调试,实现带通滤波功能。在CCS IDE 中建立LHM.pjt工程,用汇编语言编写处理主程序fir.asm。另根据板上的存储器配置方式,编写存储器配置文件fir.cmd文件,将MATLAB生成的LHM.

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

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

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

16、器的算法,掌握了CCS环境下的程序开发方法、调试工具的使用及优化级别的选择等。研究了MATLAB环境下FIR数字滤波器的设计方法,利用MATLAB软件编程实现FIR滤波器设计。利用DSP来快速设计FIR数字滤波器的方法,寻找系数的快速传递,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.

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 教案示例

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁