您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 信息化管理 > 基于DSP的FIR数字滤波器设计
DSP结课大作业设计课题:基于DSP的FIR数字滤波器设计与实现学院名称:电气工程学院专业班级:自动化F1203学生姓名:张云学号:2012239106262015年06月17日基于DSP的FIR数字滤波器设计与实现摘要:分析了FIR数字滤波器的基本原理,在MATLAB环境下利用窗函数设计FIR低通滤波器,实现了FIR低通滤波器的设计仿真。将设计的符合要求的滤波器在TI公司DSPTMS320LF2407A上实现。通过实验结果表明FIR滤波器准确度高、稳定性好,可以有效的滤除干扰信号,设计结果满足性能指标要求。关键词:FIR数字滤波器;MATLAB;仿真;DSP在数字信号处理过程中,经常需对信号进行过滤、检测、预测等处理,这些任务的完成都要用到滤波器。数字滤波器是数字信号处理的基本方法。根据其单位冲激响应函数的时域特性可分为两类:无限冲激响应(IIR)滤波器和有限冲激响应(FIR)滤波器。FIR滤波器是有限长单位冲激响应滤波器,在结构上是非递归型的。它可以在幅度特性随意设计的同时,保证精确严格的线性相位。所以FIR数字滤波器广泛地应用于数字信号处理领域。1FIR数字滤波器的基本原理设h(n)(n=0,1,2⋯N-1)为滤波器的冲激响应,输入信号为x(n),则FIR滤波器就是要实现下列差分方程:式(1)就是FIR滤波器的差分方程。FIR滤波器的最主要的特点是没有反馈回路,因此它是无条件稳定系统。它的单位脉冲响应h(n)是一个有限长序列。由上面的方程可见,FIR滤波算法实际上是一种乘法累加运算,它不断地输入样本x(n),经延时(Z3/1)做乘法累加,再输出滤波结果y(n)[1,2,3]。对式(1)进行Z变换,整理后可得FIR滤波器的传递函数为:由式(2)可以看出,FIR滤波器的一般结构如图1所示。图1FIR滤波器的结构图2窗函数设计法及MATLAB仿真窗函数设计滤波器的基本思想,就是根据给定的滤波器技术指标,选择滤波器的阶数N和合适的窗函数ω(n)。即用一个有限长度的窗口函数序列ω(n)来截取一个无限长的序列hd(n)获得一个有限长序列h(n),即h(n)=w(n)*hd(n),并且要满足以下两个条件:(1)窗谱主瓣尽可能地窄,以获得较陡的过渡带;(2)尽量减少窗谱的最大旁瓣的相对幅度,也就是能量尽量集中于主瓣,使峰肩和纹波减小,就可增多阻带的衰减。这就给窗函数序列的形状和长度选择。Matlab为用户提供了一种综合、简便的图形用户工具—FDATool滤波器设计分析工具箱和SPTool信号处理工具箱。利用这两个工具可以使复杂的滤波器最佳设计方法变得简单,用户只需在FDATool或SPTool图形工具里选择相应的滤波器设计方法,并填入滤波器设计指标,即可为用户生成所需的滤波器频率响应特性。因为在SPTool工具里可以看到根据设计指标得到的实际滤波特性的数字显示,所以可以更准确地通过拖动特性曲线或改变指标使实际滤波器更满足要求,所以设计时,可先在SPTool里预设计,然后再将实际特性指标移到FDATool中,利用其提供的定点分析工具将滤波系数变为定点系数,并观察系数截断后的频率响应。最后通过FDATool工具提供的可将数据以C头文件方式导出功能,将滤波系数以Q15格式输出,供DSP处理用。针对设计要求,采用Kaiser窗函数法进行设计,代入相应的参数,求得FIR滤波器系数。仿真结果如图2所示。图2MATLAB仿真实验图3利用DSP实现FIR数字滤波器算法程序3.1DSP芯片介绍及C程序TMS320LF2407A是TI公司最新推出的高性能16位数字信号处理器,是24X家族中的新成员,是定点DSPC2000平台系列专门为电机控制与运动控制数字化优化实现而设计,特别适合于三相异步电动机的高性能控制。它集C2xx内核增强型TMS320设计结构及适用于电机控制的低功耗、高性能、优化外围电路于一体,CPU内部采用增强型哈佛结构,四级流水线作业,几乎每条指令可25ns完成,构成控制系统的体积大大减小。程序中FIR滤波器的实现主要是以下程序:#definePI3.1415926#defineNUM100constintlength=NUM;#defineCOUNT50staticlongh[COUNT]={8198,1514682,-60393,-2029236,-3538944,-3147075,64013,5242001,9437183,8323675,-64824,-12844636,-22216704,-19005731,65197,27590460,46727167,39518335-65393,-57606065,-99811328,-88211505,65482,156041185,337117183,481951767};staticlongx1[NUM+COUNT];voidfilter(intxin[],floatxout[],intn,longh[]){inti,j;longsum;for(i=0;ilength;i++)X1[n+i-1]=xin[i];for(i=0;ilength;i++){sum=0;,for(j=0;jn;j++)sum+=(long)h[j]*x1[i-j+n-1];xout[i]=sum15;xout[i]=(float)xout[i]/32768;}for(i=0;i(n-1);i++)x1[n-i-2]=xin[length-i-1];}3.2CCS简介及实验结果CCS(CodeComposerStudio)是TI推出的用于开发其DSP芯片的继承开发调试工具,它采用Windows风格的界面,集编辑、编译、链接、软件仿真、硬件调试及实时跟踪等功能于一体,极大地方便了DSP程序的设计与开发。以上程序在TMS320LF2407A的开发板上调试通过,实验波形由DSP编译软件CCS提供显示时频图显示。CCS提供的图形显示包括时频分析、星座图、眼图和图像显示。用户准备好需要显示的数据后,选择命令View→Graph,设置相应的参数,即可按所选图形类型显示数据。从图3输入波形图和图4输出波形图中可以看出通过FIR数字滤波可以有效的滤掉信号杂波,提高信号质量。4结论FIR滤波器以它优越的性能,在数字信号处理领域中占有很重要的地位。采用DSP芯片实现FIR数字滤波,不仅具有准确度高、执行速度快等特点,而且程序可移植性好,实用性强,可以十分方便地改变滤波器特性。图3FIR数字滤波器输入波形图4经过FIR数字滤波器的输出波形创新点:依据FIR数字滤波器的基本原理,在MATLAB环境下利用窗函数设计法实现了FIR低通滤波器的设计仿真。并通过实验验证了FIR滤波器准确度高、稳定性好,可以有效的滤除干扰信号,设计结果满足性能指标要求。参考文献[1]刘虹;黄涛,徐成。基于FPGA的音频处理芯片的设计[J]。微计算机信息,2005年第一期[2]何苏勤,王忠勇。TMS320C2000系列DSP原理及实用技术。电子工业出版社,2003。[3]刘和平,王维俊,江渝,邓力。TMS320LF240xDSPC语言开发应用。北京:北京航空航天大学出版社,2003。[4]王潞刚,陈林康,曾岳南。DSPC2000程序员高手进阶。机械工业出版社,。[5]薛年喜。MATLAB在数字信号处理中的应用。清华大学出版社,2003。[6]尹勇,欧光军。DSP集成开发环境CCS开发指南。北京航空航天大学出版社,2003。[7]丁玉美。数字信号处理(第二版)[M]。西安:西安电子科技大学出版社,2000。[8]程佩青.数字信号处理教程.北京:清华大学出版社,1997。
本文标题:基于DSP的FIR数字滤波器设计
链接地址:https://www.777doc.com/doc-2569248 .html