基于MATLAB的FIR数字滤波器的设计

摘要: 在满足幅度特性的要求下,FIR系统可以保证严格的线性相位特性,合理设计滤波器各参数以逼近理想滤波器,从而满足设计性能指标。反之,在某种准则下设计滤波器各参数,可获取最优结果。这里借助MATLAB 软件工具箱,采用三种不同的方法设计FIR数字滤波器,并进行对比。
关键词:FIR; 数字滤波器; MATLAB

0 引言

数字滤波器已广泛应用于信息处理过程,其中的FIR 数字滤波器因为具有严格的线性相位特性,且系统不存在因果稳定问题,同时还显现出了IIR 系统所不具备的一些特点,而得到了越来越多研究者的关注和重视。设计FIR 滤波器时,各参数的取值直接影响滤波器的性能,为此,滤波器的最优化即已成为设计滤波器的关键,合理的取值不仅可减少计算量,并且易于实现,同时还能显著提高运行速度。作为强大的数学分析以及仿真工具,MATLAB 在数学、通信、信号处理、神经网络、图形处理等各类学科的研究领域已获得了大量应用。还需指出的是,MATLAB 提供了相应滤波器的功能函数,使得滤波器的设计更加便利。

1 FIR 数字滤波器的设计

1. 1 窗函数设计

以理想滤波器的特性为基准,使得待设计的实际滤波器的特性逼近理想滤波器。低通滤波器的频率响应则如式( 1)所示:

其中,wd 为截止频率,相位对应为零。理想冲击响应是时间上的无限长序列,用窗函数对hd
截短,保留最高能力部分,由此而达到有限长序列逼近理想冲击响应的目的。
MATLAB 工具箱提供了基于加窗线性相位的FIR 数字滤波器设计函数fir1 和fir2,通过调用fir1 和fir2 函数的不同格式,可设计不同类型的滤波器。
例1: 用窗函数法设计线性相位FIR 低通数字滤波器,通带截止频率wp = 0. 5 * pi,ws = 0. 6 * pi,阻带衰减不小于40dB,通带衰减不大于3dB。采用汉宁( 布莱克曼) 窗设计滤波器。结果是汉宁窗的主瓣适中,具有较小的旁瓣和较大的衰减速度,如图1 所示。

基于MATLAB的FIR数字滤波器的设计_第1张图片

在如图2 所示的布莱克曼窗中,有最大的旁瓣衰减,但有最宽的主瓣宽度。不同窗函数的特点也是不一样的,因此可根据相应的实际情况选择窗函数,并使滤波器达到最优化的同时,计算量也大为减少,而且也提高了运行速度。

基于MATLAB的FIR数字滤波器的设计_第2张图片

1. 2 频率抽样法设计

利用频率抽样法设计FIR 数字滤波器,是直接从频域入手,物理概念清楚,且直观明了,此方法主要适合于频率响应只有较少非零取样值的窄带选频滤波器。设计思路如下:

基于MATLAB的FIR数字滤波器的设计_第3张图片

基于MATLAB的FIR数字滤波器的设计_第4张图片

3 结束语

在设计FIR 数字滤波器时进行了三种方法的比较。由此可知,这三种方法虽然都可逼近理想滤波器,但也各有特点。其中,窗函数设计方法简单,过渡带和阻带衰减应折中考虑; 而频率抽样法则是从频域的角度出发,通过增加过渡点,即可改进方法,实现对理想滤波器的逼近; 三种方法中的切比雪夫最佳一致逼近方法逼近理想滤波器的效果最好,但却需考虑阶数问题。因此,在实际设计FIR 数字滤波器中,应合理选择设计方法,从而满足其性能指标。
 

你可能感兴趣的:(毕业设计,matlab,算法,开发语言)