资源描述
wordFIR数字滤波器设计指导教师:赵春雨教师专 业:测控技术与仪器某某:X志斌1301190048X凤媛1301190049X开放1301190047摘 要21世纪是数字化的时代,纵观当代通信的开展趋势,已成为引领通信变革的主潮流。通信是在数字化浪潮的背景下,在计算机技术的应用和信息技术的开展的结果。数字信号滤波器在各种数字信号处理中发挥着重要的作用,数字信号设计一直是数字信号处理领域的重要研究课题。近年来,数字信号技术在我国也得到迅速开展,不论是在科学技术研究,还是在开发等发面,其应用越来越广泛,并取得了丰硕的成果。本文主要介绍如何用窗函数法设计FIR滤波器的的具体步骤与方法,以与相关数字信号处理的一些具体算法,并在MATLAB环境下进展仿真。根据仿真运行的结果来说明各项运行指标均达到设计要求。关键词:FIR数字滤波器线性相位 MATLAB仿真窗函数 16 / 18绪 论随着信息时代和数字世界的到来,数字信号处理己成为当今一门极其重要的学科和技术领域,数字信号处理在通信、雷达、军事、航空航天、语音、图像、自动控制、医疗和家用电器等众多领域得到了广泛的应用。数字滤波器是数字信号处理的重要根底,在对信号的滤波、检测与参数的估计等信号应用中,数字滤波器是使用最为广泛的一种线性系统,在研究信号的时候,首先必须考虑噪声的干扰对信号的传输影响,噪声是一切干扰信号的泛指,有的仅希望最大限度地去除噪声而已,有的希望在去除噪声时能让滤波器具有线形相位,有的如此是强调滤波的实时性,在设计时针对一些情况,制定有针对性的滤波器,来改善信号的质量。数字滤波器从功能上分为低通滤波器(LPF)、高通滤波器(HPF)、带通滤波器(BPF)、带阻滤波器(BSF)。我们可以得出第一类线性相位滤波器可以用于实现低通、高通、带通和带阻等各种滤波特性;通过数据和图形分析得出在一样的滤波器抽样响应长度下,如果在一个频带内赋予了大的加权,那么这个频带内将获得大的衰减。因此,通过调整加权值,可得到不同的衰减,在通带和阻带都具有较好的性能。1.数字滤波器的简介数字滤波器的介绍数字滤波器根据其冲激响应函数的时域特性,可分为两种,即无限长冲激响应IIR滤波器和有限长冲激响应FIR滤波器。IIR系统易取得较好的通带和阻带衰减特性,一般要求Hz阶次要高,即M要大。FIR系统有自己突出的优点:系统总是稳定的,易实现线性相位,允许设计多通带或多阻带滤波器,后两项都是IIR系统不易实现的。FIR数字滤波器的设计方法有多种,如窗函数设计法、频率采样法和Chebyshev逼近法等。随着MATLAB软件尤其是MATLAB的信号处理工作箱的不断完善,不仅数字滤波器的计算机辅助设计有了可能,而且还可以使设计实现最优化。数字滤波器的原理数字滤波器可分为FIR有限脉冲响应和IIR无限脉冲响应两种。IIR滤波器的系统函数是两个Z的多项式的有理分式,而FIR滤波器的分母为1,即只有一个分子多项式。数字滤波器的理想幅频特性如图1所示。在0到的全部频段上,其幅值为1的区域为通带,其余为阻带,即其幅值为0。根据wc1和wc2取值不同可分为4种类型:1低通滤波器,当wc1=0时;2高通滤波器,当wc2=时;3带通滤波器,当wc1与wc2如图1所示时;3带阻滤波器,当0,wc1与wc2,1区间幅度为1,wc1,wc2区间幅度为0时。图1理想幅频特性有些情况下,还对滤波器的相位特性提出要求,理想的是线性相位特性,即相移与频率成线性关系。实际的滤波器不可能完全实现理想幅频特性,必有一定误差,因此要规定适当的指标。低通滤波器在0,的通带区,幅频特性会在1附近波动;在1的阻带区,幅频特性不会真等于零是一个大于零的值;在,之间,为过渡区;这三个与理想特性的不同点就构成了滤波器的指标体系。即通带频率和通带波动,阻带频率和阻带衰减。在许多情况下,人们习惯用分贝为单位,定义通带波动为分贝阻带衰减为分贝。 (1-1) 1.1对于带通滤波器,X围为,;对于带阻滤波器,应表为。其他复杂形状的预期特性通常也可由假如干理想的幅频特性叠合构成。FIR数字滤波器最大的优点是容易设计成线性相位特性,并且具有稳定性。数字滤波器的设计(1) 确定技术指标 在设计一个滤波器之前,必须首先根据工程实际的需要确定滤波器的技术指标。在很多实际应用中,数字滤波器常被用来实现选频操作。因此指标的形式一般在频域中给出幅度和相位响应。幅度指标主要以两种方式给出。第一种是绝对指标。他提供对幅度响应函数的要求,一般应用于FIR滤波器的设计。第二种指标是相对指标。他以分贝值的形式给出要求。(2) 逼近 确定了技术指标后,就可以建立一个目标的数字滤波器模型通常采用理想的数字滤波器模型。之后,利用数字滤波器的设计方法窗函数法、频率采样法等,设计出一个实际滤波器模型来逼近给定的目标。 (3) 性能分析和计算机仿真 上两步的结果是得到以误差或系统函数或冲激响应描述的滤波器。根据这个描述就可以分析其频率特性和相位特性,以验证设计结果是否满足指标要求;或者利用计算机仿真实现设计的滤波器,再分析滤波结果。.1数字滤波器的设计过程1按照实际需要,确定滤波器的性能要求。通常是在频域中给定数字滤波器的性能要求。通带截止频率在通带内幅度响应以的误差接近于1,即1.2为阻带起始频率,在阻带内幅度响应小于的误差接近于零,即 1.3为了使逼近理想低通滤波器的方法成为可能,还必须提供一宽度为的不为零的过滤频带。在这个频带内,幅度响应从通带平滑地下落到阻带。这里指的是数字域频率,或者说是沿单位圆周的相角变化。相位特性受到稳定性和因果性要求的限制即要求系统函数的极点必须位于单位圆内部。2寻找满足预定性能要求的离散时间线性系统。IIR函数是的有理函数。FIR滤波器的系统函数是的多项式。这样,滤波器的设计问题,变成了一个数字逼近问题,即用一个因果稳定系统函数去逼近给定的性能要求,以确定滤波器系数。3用有限精度的运算来实现设计的系统。包括选择运算结构,滤波器的系数,输入变量,中间变量,和输出变量。4通过模拟,验证所设计的系统是否符合给定性能要求。根据这步的结果断定是否对第二步和第三步作修改,以满足技术的要求。数字滤波器的设计方法设计FIR数字滤波器的根本方法有窗函数法、频率取样法和等波动最优逼近法,这些方法主要是针对选频型滤波器低通、高通、带通和带阻滤波器的设计,这种滤波器的设计指标是类似的,典型的指标为通带波动和阻带衰减。数字滤波器的设计方法很多,大多数方法都在计算的复杂性和满足设计滤波器的指标两个问题间取得折衷。FIR滤波器的设计法方法可以分为以下几种:1频率采样法,2窗函数法。 2.线性相位FIR数字滤波器2.1线性相位的概念数字滤波器的频率响应可以由幅值表示。如果数字滤波器的相位响应满足条件,那么称该数字滤波器是线性相位。式中是一个常量。如果是正数,那么该系统延迟信号;否如此就是一个超前系统,此时相位是频率的线性方程,可以归为的形式,其中斜率为,截距。假设正弦曲线的频率为,即周期为,其中 因为一个周期对应于,所以相位改变对应于延迟。同样 , 如果,那么对应的延迟时间为 ,可见延迟时间和频率无关。因此如果数字滤波器满足线性相位条件,那么所有频率分成的延迟量是一样的。这意味着滤波后的输出只是输入信号的一个简单的延迟信号。从另一方面来讲,如果滤波器不具有线性相位,那么输入信号的不同频率成分延迟量是不同的,这将会导致输出信号的失真,在实际设计中通常要回避这种情况。如果系统的频率响应为.那么其幅值响应是1,相位响应是,明确是线性相位的。假设,那么它只是起到延迟的作用,其相位响应只画出了区间内的相位,这也导致了原本是线性的相位出现了弯折。下面考虑给出了频率响应的情况,给定2.1式中是实数。既然是实数,所以它只会影响输入信号的幅值大小,而仅仅使输入信号产生相移。如果。相位,那么系统是一个线性想一系统。如果,相位,那么这种情况下,延迟时间和频率是有关的。从上面给出的线性相位的定义的角度来说,该系统不是严格意义上的线性相位系统。但是可以将上面的式子写成。这样一来中括号里的函数就变成了线性相位,此时波纹不再失真,负号只要将波纹沿纵轴反转即可。但是如果会改变符号,那么波纹就可能失真。只改变水平轴附近的符号,即阻带内的符号,此时阻带内的信号极大地衰减。所以信号通过一个频率响应系统时,通带内信号没有产生任何失真。这样的系统也常常称为线性相位系统。这里顺便要指出的是模拟滤波器不可能有线性相位特性,只可能在很小的一个频带内近似地认为是线性相位。2.2线性相位FIR数字滤波器的设计方法最优设计就是充分利用技术指标来进展设计。误差容限设计低通滤波器,要求在频带内以最大误差逼近1,在频带内以最大误差逼近零位。我们将一要求表示为加权逼近误差函数的形式。并且使用最大误差最小化准如此将其描述为切比雪夫逼近问题。最优线性相位FIR数字滤波器的设计就是要设法求得切比雪夫逼近的最优解的滤波器的系数。人们在寻求最优化设计上做了大量的工作。1970年发表了非线性方程的方法求解切比雪夫逼近的最优解。1971年出现了更好的拉格朗日内插多项式求解法。到了1973年又找到了雷米兹算法求解加权误差的方法。非线性方程解法与多项式内插法,之适用于设计那些误差极值点数目为最大可能性的滤波器,也即最多波纹滤波器。同时由于N,是固定的,所以滤波器的频带边缘不能预先规定,需在最后的解求得以后,才能计算出来。它可用来设计任何最优最大误差最小化线性相位FIR滤波器。此外,目前还有线性规划技术设计方法,下面对雷米兹算法与线性规划技术设计法分别加以介绍。雷米兹交换法设计FIR数字滤波器雷米兹交换算法是为了在N固定时,能控制和的需要而产生的。前面已将最优线性相位FIR滤波器的设计问题描述为切比雪夫逼近问题,逼近函数是r个独立的余弦函数之和。交替定理给出了加权逼近误差函数的一组必要充分条件,使逼近成为所需频率响应的唯一最好逼近。基于交替定理的最优FIR滤波器的设计程序的主要步骤:1输入局部:规定所需要的频率响应为,加权函数和滤波器的长度N。2用公式表示逼近问题,即形成。3用雷米兹屡次交换算法,求逼近问题的解。4计算滤波器的单位取样响应。第一步设计滤波器算法,表达所要求设计的滤波器的类型和必须满足的性能要求。第二步在前面切比雪夫加权逼近已提与。第三步用雷米兹算法求逼近问题的解。需要指出的是,在整个程序中,雷米兹算法是作为一个子程序出现的,在调用该子程序以前,主程序已完成了以下几点。读输入数据滤波器的技术规格 根据滤波器的类型和长度确定了逼近函数cos的个数r 用密集的格点代替了频率区间。确定了两格点间的距离为因而总格点数等于N+1格点密度/2,并给所有下标格点赋上了标称频率值。调用了子程序EFF和WATE计算各格点频率上所要求的函数值和加权函数值。根据四种情况统一的公式将、,变成了。根据交替定理,建立了一组等间隔的极值频率初始值。等波纹的误差曲线是在屡次迭代中形成的。雷米兹迭代计算是从r+1个极值频率的初始假设值开始的。第一次迭代的r+1个极值频率是按等间隔假设的,这些频率位于区间内,并且由于和是固定的,所以中的某一频率,即。假定这些频率点上的误差函数的数值为,其符号为正负交替。这就是说根据问题的原始要求,对于给定的一组极值频率,需要求以下方程式中计算出以后,确定出r个极值频率上的值利用拉格朗日内插公式得出式中 要注意也可以内插到求出的内插值以后,在根据公式在密集的频率组上计算值。假如在改频率组的某些频率上,如此选择r+1个新的频率作为可能的极值点,新的频率就选所得误差曲线上那些峰值点频率,然后重新计算这些点上的误差函数值。作为这次迭代寻找新的r+1个误差最大点的比拟标准,看在这些频率上计算值。为求那些峰值点,应在通带和阻带上把频率分点取得更密一些,以便在这些细分点上搜索出峰值点。如果在任一次迭代中的极值点多于r+1个,就保存值最大的r+1个频率作为下一次迭代的假设极值点。随着迭代次数的增加,极值频率的位置逐次向最优位置上调整,一直重复到与其前一个值一样为止,最后一次迭代的结果对应于问题的解。此时误差曲线上每个格点频率处的误差值都满足,r+1个极值频率处的,并且具有正负交替的符号,这标志着加权切比雪夫等波纹逼近误差已经形成,最优逼近找到了。在每次迭代中都是将,定位极点频率中的两个频率。假如最后得到的,并且规定加权函数为如此在通带内值逼近,在阻带内值逼近于。由雷米兹迭代算法最后所求得值是要求的最小值。如果要求的和值是的,如此计算滤波器时可以固定,改变,重复进展以上迭代计算,直至得出要求的和值。过度区宽度出现的局部极小值,曲线上的这些点相当于超波纹滤波器。极小值之间的所有点对应于按交替定理为最优的滤波器。第四步求滤波器的单位取样响应。在区间的个等间隔的频率点上计算值,利用IDFT求得,最后,根据四种线性相位滤波器的不同情况,求出于a(n)相应的单位取样响应h(n)。于是满足预定要求的最优线性相位FIR滤波器被唯一确定。3.线性相位FIR滤波器的仿真设计 线性相位FIR滤波器的窗函数法的仿真设计这种方法也称为傅立叶级数法。其设计是在时域进展的,先用傅氏反变换求出理想数字滤波器的单位抽样响应hd(n),然后时域移位并加时间窗w(n)对其截断,从而求得FIR 滤波器的单位抽样响应h(n);在设计过程中,将无限长序列变为有限长是通过时域加矩形窗乘积实现数据的截断的。时域乘积对应了频域卷积,从而对频响特征发生的改变。常见的窗函数有:矩形窗、三角形(Bartlertt)窗、汉宁(Hanning)窗。海明(Hamming)窗、布拉克曼(Blackman)窗、凯泽(kaiser)窗等利用窗函数法设计低通滤波器设计要求:海明窗,采样频率2000Hz通带衰减小于等于0.1dB,阻带衰减大于等于50dB程序如下f1=100;f2=200;%待滤波正弦信号频率fs=2000;%采样频率m=(0.3*f1)/(fs/2);%定义过度带宽M=round(8/m);%定义窗函数的长度N=M-1;%定义滤波器的阶数b=fir1(N,0.5*f2/(fs/2);%使用fir1函数设计滤波器%输入的参数分别是滤波器的阶数和截止频率figure(1)h,f=freqz(b,1,512);%滤波器的幅频特性图%H,W=freqz(B,A,N)当N是一个整数时函数返回N点的频率向量和幅频响应向量plot(f*fs/(2*pi),20*log10(abs(h)%参数分别是频率与幅值xlabel(频率/赫兹);ylabel(增益/分贝);title(滤波器的增益响应);figure(2)subplot(211)t=0:1/fs:0.5;%定义时间X围和步长s=sin(2*pi*f1*t)+sin(2*pi*f2*t);%滤波前信号plot(t,s);%滤波前的信号图像xlabel(时间/秒);ylabel(幅度);title(信号滤波前时域图);subplot(212)Fs=fft(s,512);%将信号变换到频域AFs=abs(Fs);%信号频域图的幅值f=(0:255)*fs/512;%频率采样plot(f,AFs(1:256);%滤波前的信号频域图xlabel(频率/赫兹);ylabel(幅度);title(信号滤波前频域图);figure(3)sf=filter(b,1,s);%使用filter函数对信号进展滤波%参数分别为滤波器系统函数的分子和分母多项式系数向量和待滤波信号输入subplot(211)plot(t,sf)%滤波后的信号图像xlabel(时间/秒);ylabel(幅度);title(信号滤波后时域图);axis(0.2 0.5 -2 2);%限定图像坐标X围subplot(212)Fsf=fft(sf,512);%滤波后的信号频域图AFsf=abs(Fsf);%信号频域图的幅值f=(0:255)*fs/512;%频率采样plot(f,AFsf(1:256)%滤波后的信号频域图xlabel(频率/赫兹);ylabel(幅度);title(信号滤波后频域图);图2 窗函数法设计低通滤波器的增益响应从参考程序与图2可以得到所设计出滤波器的参数如下:滤波器的采样频率为2000Hz,滤波器的阶数为266通带衰减为0.019dB,阻带衰减为53dB 比照设计要求与所设计出滤波器的参数可知,其各项参数均满足设计指标,所设计出的滤波器即为设计所要求的滤波器。图3 信号滤波前的时域图和频域图图4 信号滤波后的时域图和频域图从图3和图4的图像中可以看到:输入信号是由两个不同频率的正弦信号叠加而成,信号频域图中位于滤波器通带内的频率分量保存了下来,位于滤波器阻带内的频率分量被滤除,滤波器的效果符合设计要求。结 论综上可得窗函数法简单,物理意义清晰,可以方便的设计滤波器,因此比雷米兹算法应用更为广泛,雷米兹算法运算较为复杂,实现较为困难。我们在初期遇到了很大困难,主要是软件的安装和使用问题,但随着设计的深入,这些问题已得到初步解决,到目前为止,我们已经能运用MATLAB进展滤波器的仿真。本文由四个局部组成,由数字滤波器,数字滤波器准如此,线性相位FIR数字滤波器,软件设计组成。这四个局部都是严密相连的,每一个局部都是为下一个局部做铺垫,正是这样一环接一环的理论加实践的设计理念,才使得我顺利完成设计。虽然自己完成了本次论文,但我们发现我还有很多东西没有掌握,特别是MATLAB软件的使用,它以矩阵和向量的运算以与运算结果的可视化为根底,广泛应用于各个学科领域的数值分析,矩阵计算、函数生成、信号处理、图形与图象处理。其用途极其广泛,对数字领域的帮助很大,只有熟练运用才能为自己的设计发挥出最大的潜力,我们希望以后自己好好抓紧练习。还有虽然自己运用最大误差最小化准如此设计了最优的滤波器,但是其优化的参数还需大量实践去证明,所以要在以后的日子里付出更大的努力,期待自己能有更大更好的发现。
展开阅读全文