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