文档介绍:DSP
课
程
设
计
学院:昆仑学院
班级:10级电气(2)班
姓名:柴智博
FIR数字滤波器的MATLAB设计与DSP实现
摘要:针对有限长冲激响应(FIR)数字滤波器的原理,讨论了窗函数法设计线性相位FIR数字滤波器的基本思路,介绍了用MATLAB工具来设计数字滤波器的方法及在定点DSP上的实现。
S5000开发工具和在DES3200实验箱上运行,实现了达到目标要求的滤波器。
关键词: matlab;fir;s开发环境
1、引言
随着信息和数字技术的发展,数字信号处理已成为当今极其重要的学科和技术领域之一通信语音、图像、自动控制、雷达、军事、航空航天、医疗和家用电器等众多领域得到了广泛的应用。在数字信号处理的基本方法中,通常会涉及到变换、滤波、频谱分析、调制解调和编码解码等处理。其中,滤波是应用非常广泛的一个环节,数字滤波器的理论与相关设计也一直都是人们研究的重点之一。数字滤波器根据其冲激响应函数的时域特性,可分为无限长冲激响应(IIR)滤波器和有限长冲激响应(FIR)滤波器。其中FIR滤波器具有严格的相位特性,同时系统函数的极点固定在原点上,因而该类型的滤波器是稳定的。滤波器的设计方法主要有窗函数法、频率取样法和最优线性相位设计法。其中窗函数设计方法由于其运算简便、物理意义直观,已成为工程实际中应用最广泛的方法,本文从FIR数字滤波器的原理与基本设计步骤出发,对FIR数字滤波器在MATLAB中的仿真与设计的基本思路做了阐述,并在定点DSP上实现了满足要求的FIR滤波器。
目录
1、滤波器基本原理 3
数字滤波器的基本概念 3
FIR滤波器的基本结构 3
FIR滤波器的主要特点 4
4
2、数字滤波器的设计 6
6
FIR数字滤波器的DSP实现 8
9
10
10
参考文献 16
1、滤波器基本原理
数字滤波器的设计问题就是寻找一组系数和,使得其性能在某种意义上逼近所要求的特性。如果在s平面上去逼近,就得到模拟滤波器,如果在z平面上去逼近,则得到数字滤波器。
数字滤波是将输入的信号序列,按规定的算法进行处理,从而得到所期望的输出序列。一个线性位移不变系统的输出序列y(n)和输入序列x(n)之间的关系,应满足常系数线性差分方程:
其中x(n)为输入序列,y(n)为输出序列, 和为滤波器系数,N为滤波器的阶数。
FIR滤波器的基本结构
在式(1)中,若所有的均为0,则得FIR滤波器的差分方程:
对(2)式是滤波器的差分方程,其一般形式为
对(3)式进行变换,整理后可得FIR滤波器的传递函数
FIR数字滤波器的设计方法主要有窗函数法和频率抽样设计法,其中窗函数法是基本而有效的计方法。
由此可得到FIR滤波器的结构如图1所示。
FIR滤波器的单位冲击响应h(n)是一个有限长序列。若h(n)为实数,且满足偶对称或奇对称的条件,即h(n)=h(N-1-n)或h(n)=-h(N-1-n),则FIR滤波器具有线性相位特性。
、FIR滤波器的主要特点
1)单位冲击响应只有有限项;
2)FIR滤波器无反馈回路,是一种无条件稳定系统;
3)FIR滤波器可以设计成具有线性相位特性。
、S简介
CCS是TI公司推出的为开发TMS320系列DSP软件的集成开发环境(IDE)。CCS工作在Windows操作系统下类似于vc++S开发流程图如图所示
图2 开发流程
S的使用先应建立工程文件*.mak根据需要添加C语言源程序*.c汇编源程序*.asm链配置件文件*.cmd等可能需要的文件完成整个工程的建立然后对源文件编辑修改后进行汇编连接以生成目标文件*.out。对源文件每作一次修改都必须全部重新建立生成新的目标文件*.S调试先让系统复位再载入*.out。调试的方式是多种多样的有单步执行多步执行单步跳出单步进入等还有断点设置和探测点设置
在CCS环境下实现FIR滤波器的程序框图如图所示
保存滤波结果到输出单元
待滤波的样本点数
(256点)处理完成?
结束
读入数据并存放到栈顶
滤波处理
产生输入数据
初始化DSP
否
是
图3 用循环寻址的方法FIR实现滤波器的程序框图
从图3可知FIR滤波器DS实现包括4个部分: