1、摘要:数字滤波器在数字信号处理的各种应用中有着广泛的应用,其具有精度高,可靠性好,灵活性大等优点,可以分为有限长脉冲响应(FIR)滤波器和无限长脉冲响应(IIR)滤波器,本文简述了这两种数字滤波器的基本设计原理,并分别通过MATLAB软件进行实例仿真。Abstract: The digital filter in digital signal processing applications in a broad range of applications, its high accuracy, reliability, flexibility and other advantages of l
2、arge, can be divided into finite impulse response (FIR) filters and infinite impulseresponse (IIR) filter, the paper outlines the two basic design principles of digital filter, and were simulated by MATLAB software关键词:FIR;IIR;MATLAB;数字滤波器引言:在数字通信系统中,信号经常混有各种复杂成分,大多数信号的处理和分析都是基于数字滤波器而进行的,数字滤波器根据其冲击响应
3、函数的时域特性又可以分为有限长冲击响应(FIR)和无线长冲击响应(IIR),FIR优点在于具有良好的相位特性,可以根据不同的系统性能要求选择不同的滤波器。IIR滤波器以较少的阶数即可完成FIR滤波器需较多阶数的幅频特性,在对线性相位不做特别的要求情况下,IIR滤波器在相同门级和同频率速度下可得到更好的带外衰减特性,FIR滤波器单位脉冲响应是有限长的,系统必须稳定,可以做成严格的线性相位,在图像处理,数据传输等需要信道具有线性相位特性的场合应用广泛 。利用MATLAB软件可以快速有效的设计各种FIR和IIR数字滤波器,设计简单方便 , 以下分别阐述这两种滤波器的基本理论和设计方法,并配以MATL
4、AB仿真。 1 FIR数字滤波器的基本理论和设计方法FIR数字滤波器是一个有限精度的线性非时变系统,其滤波功能实际上是同过一系列的加法和乘法用算来实现的。描述FIR滤波器的差分方程: (1)其中x(n)是FIR滤波器的输入序列,y(n)是输出序列,h(k)长度为N的滤波器的单位脉冲响应。对上式两边进行Z变换,即可得到滤波器的系统函数H(z) (2)从(1)式可看出:由于系统的单位脉冲响应序列为有限长序列,当输入x(n)有限时,滤波器的输出y(n)也有限。即FIR滤波器系统是绝对稳定的,同时,由于FIR滤波过程是两个有限长序列x(n)和h(n)的线性卷积运算,所以可以采用DFT的快速算法FFT来
5、实现,从而提高了算法效率。1.2 FIR滤波器的常用设计方法FIR滤波器的设计方法是建立在对期望滤波器特性的某种近似基础之上的,目前他的设计方法常用的有,窗函数法,频率采样法等。其中窗函数法是从时域进行设计的,频率采用法是从频域进行设计的。而窗函数法由于其简单,物理意义清晰,因而得到了较为广泛的应用,常见的窗函数有:矩形窗、三角形窗、布莱克曼窗,切比学夫窗等。表一列举了常用窗函数的性能窗函数过渡带宽度(rad) /N阻带衰减(db)矩形窗1.821三角窗6.125汉宁窗6.244哈明窗6.653布莱克曼窗1174表1再设计时一般根据阻带衰减指标选取合适的窗函数,再更具过渡带的宽带确定样值响应长
6、度N。当仿真不符合要求时,须调整N重新计算。1.1FIR窗函数设计步骤1确定待求滤波器的单位取样响应,若待求滤波器的频率响应为则单位取样响应=对从w=0到w=2采样m点,采样值为,k=0,1,2,m-1,用代替中的dw,所以公式可近似写成,根据采样定理,与应满足如下关系:。因此,如果m选的较大,可以保证在窗口内有效逼近。单位取样响应的近似式是由的m点的IDFT(IFFT)得到。如果给出通带阻带衰减和边界频率的要求,可选用理想滤波器作为逼近函数。2根据对过渡带及阻带衰减的要求,选择窗函数形式,并估计窗口的长度N。设待求滤波器的长度用来表示,它近似等于窗函数主瓣宽带。3计算滤波器的单位取样响应,=
7、w(n)*。式中w(n)是上面选好的窗函数。4验算技术指标是否满足要求。设计出的滤波器频率响应用下式计算,计算上式时可用FFT算法。当设计不满足时,和重复上面步骤的计算。1.2 FIR滤波器设计举例:要求设计一个线性相位的FIR低通滤波器,要求通带的截止频率是600Hz,阻带截止频率是-180Hz,阻带最小衰减不小于-50db,采样频率=4kHz。分析:根据题目要求,阻带的最小衰减不小于-50db,根据表1可选择哈明窗和布莱克曼窗,我们选择了哈明窗,其次根据滤波器的过渡宽度,确定窗的长度;最后通过调用fir1函数,得到线性相位FIR的系数。程序如下:Wp=600;Ws=800;Fs=4000;
8、wp=2*pi*Wp/Fs;ws=2*pi*Ws/Fs;wc=(wp+ws)/2;wn=wc/pi;tri_width=ws-wp;N=ceil(6.6*pi/tri_width);w=hamming(N);h=fir1(N-1,wn,w);freqz(h);仿真结果如图1 图1从图1可见,结果满足设计要求。以下例子设计了个实际的线性相位的FIR滤波器将10Hz和250Hz的混合信号经过Hanning窗函数进行滤波后只剩下了10Hz的信号。将高于10Hz的信号进行了衰减,其性能要求:通带边界频率,阻带边界频率,阻带衰减不小于40db,通带纹波不大于3db,然后对信号x=sin(2*pi*10*
9、t)+sin(2*pi*250*t)滤波,画出了滤波器的输出。程序如下:N=1000;Fs=1000;n=0:N-1;t=n/Fs;x=sin(2*pi*10*t)+sin(2*pi*250*t);wp=0.5*pi;ws=0.66*pi;wdelta=ws-wp;A=ceil(8*pi/wdelta);if rem(A,2)=0 A=A+1;endAw=A;wc=(wp+ws)/2;a=0:A-1;alpha=(A-1)/2;m=a-alpha+0.00001;hd=sin(wc*m)./(pi*m);win=hanning(Aw);h=hd.*win;b=h;freqz(b,1,512);
10、yfft=fftfilt(b,x,256);n1=81:241;t1=t(n1);x1=x(n1);y1=yfft(n1);subplot(221);plot(t1,x1);title(Original Sinal)subplot(222);plot(t1,y1);title(Signal after the filter)仿真图如图2图2结果分析:说明10Hz和250Hz和混合信号经过Hanning设计的滤波器之后只剩下10Hz的信号了,将高于10Hz的信号进行了衰减。2.1IIR滤波器的设计以上分析并举例仿真了FIR滤波器,在对线性相位不作特别要求的情况下,IIR数字滤波器与FIR数字滤波
11、器相比,可用较低的阶数获得较高的选择性,在相同门级规模和相同时钟速度下课提供更好的带外衰减特性,也具有广泛的应用。2.2 IIR数字滤波器的基本结构IIR滤波器的传输函数及对应的差分方程如下式传输函数:差分方程:对于IIR滤波器的实现有多种方法,其包括直接型、级联型和并联型等。IIR滤波器主要包括巴特沃斯滤波器、切比雪夫滤波器、椭圆函数滤波器,下表给出了以上三种滤波器实现同样性能所需要的阶数及阻带衰减的比较。类型阶数阻带衰减 db巴特沃斯615切比雪夫 I型425椭圆函数3272.3IIR滤波器的设计方法:在实际工程中, 主要有用模拟滤波器设计IIR 数字滤波器和直接在数字域设计IIR 数字滤
12、波器两种方法。本文讨论用模拟滤波器设计IIR 数字滤波器的方法。利用模拟滤波器设计IIR 数字滤波器的步骤如下:(1) 将给定的数字滤波器的性能指标, 按某一变换(映射) 规则转换成相应的模拟滤波器性能指标。(2) 如果要设计的不是数字滤波器, 则还需要将步骤(1) 中变换所得到相应的(高通, 带通, 带阻) 模拟滤波器性能指标变换成模拟低通滤波器的性能指标。这是因为模拟低通滤波器才有图形和表格可以利用。(3) 用所得到的模拟低通滤波器的性能指标, 利用某种模拟滤波器逼近方法, 设计并查表求得此模拟低通滤波器的系统函数, 以它作为设计数字滤波器的“样本”。(4) 利用与步骤(1) , (2)
13、中的同一变换规则, 将此作为“样本”的模拟原型低通滤波器的系统函数最终变换成所需的数字各型滤波器的系统函数H (z)。步骤(1) 中的变换规则就是从模拟滤波器数字化成为数字滤波器的方法, 也就是要把s 平面映射到z 平面, 使模拟系统函数Ha (s) 变换成所需的数字滤波器的系统函数H (z)。这种由复变量s 到复变量z 之间的映射(变换) 关系, 必须满足以下两条基本要求: 第一, H (z) 的频率响应必须有可能模仿Ha ( s) 的频率响应, 即s 平面的虚轴J8 必须映射到z 平面的单位圆eJX上, 也就是频率轴要对应。第二, 因果稳定的Ha (s) 应能映射成因果稳定的H (z)。也
14、就是s 平面的左半平面Re s 0 必须映射到z 平面单位圆的内部。利用MA TLAB 进行IIR 数字低通滤波器设计, 首先是在给定滤波器性能情况下, 确定通带和阻带的截止频率, 还有通带和阻带区的波纹系数。然后通过But terworth 滤波器buttord 函数计算出满足指定性能的模拟Butterworth 滤波器的阶和截止频率。有了上述的前提和基础, 我们可利用MA TLAB 语言中But ter 函数设计出模拟域的Butterworth 滤波器。然后用impinvar 函数, 用脉冲响应不变法实现模拟到数字滤波器的转换。设计举例:给定抽样频率fS=10KHz, 要求在频率小于1KH
15、z 的通带内, 幅度特性下降小于1dB; 在频率大于1. 5KHz 的阻带内, 衰减大于15dB。利用模拟频率与数字频率之间的关系: X= 其程序如下:wp=0.2*pi;ws=0.3*pi;n,wn=buttord(wp,ws,1,15,s);%b,a=butter(n,wn,s);bz,az=impinVar(b,a);%freqz(bz,az,4096,10000);运行结果:通过以上设计举例, 我们总结利用模拟滤波器设计 数IIR字低通滤波器的步骤。(1) 确定数字低通滤波器的技术指标: 通带截止频率, 通带衰减, 阻带截止频率, 阻带衰减。(2) 将数字低通滤波器的技术指标转换成模拟
16、低通滤波器的技术指标。(3) 按照模拟低通滤波器的技术指标设计模拟低通滤波器。(4) 将模拟滤波器从 平面转换到 平面, 得到数字低通滤波器的系统函数。3两种滤波器的比较1. 在相同的技术条件下,IIR滤波器由于存在着输出对输入的反馈,所以可以用笔FIR滤波器较少的阶数来满足指标的要求。2. RIR滤波器可得到严格的线性相位而IIR做不到,IIR滤波器的选择性越好,其相位的失真越大。3. FIR滤波器主要采用非递归结构,而IIR必须采用递归结构,极点必须在z平面内的单位园内才能稳定。4. 对应FIR滤波器,由于冲激响应是有限长的,因而可以用快速傅里叶变换算法,这样的用算速度可以快许多,IIR滤
17、波器则不能这样用算。5. IIR滤波器可以用模拟滤波器设计的现成的闭合公式,数据和表格,计算工作量小,FIR一般没有现成的公式,窗函数法只给出窗函数的计算公式,计算通带、阻带无显示表达式,可利用计算机程序来计算。6. IIR滤波器设计是规格化的、频率特性为风段常数的标准低通、高通、带通、带阻和全通滤波器。FIR设计要灵活的多,目前已有很多FIR计算机程序可以利用从上可以看出,FIR和IIR滤波器的设计各有其特点,在设计时可根据实际的应用要求出发,从多方面加以考虑。结束语数字滤波器的应用十分广泛, 运用MA TLAB 语言, 能很容易地设计出适合各种要求的滤波器。我们可以看到, 运用MA TLA
18、B 语言进行数字滤波器设计, 省去了许多常规步骤所带来的麻烦, 如用所得到的模拟低通滤波器的性能指标等,用MA TLAB 语言能够简易地实现, 从而大大地提高了设计效率。FIR和IIR滤波器的设计各有其特点,在设计时可根据实际的应用要求出发,从多方面考虑加以选择。参考文献:1程佩青.数字信号处理教程.清华大学出版社,20072刘卫国.MATLAB程序设计与应用.高等教育出版社,20063周伟林.FIR滤波器的软件仿真与硬件实现.湖南商学院, 20094李雪.基于MATLAB的FIR数字滤波器的研究.华东师范大学信息科学技术学院,20025李彬.基于MATLAB的IIR和FIR滤波器的滤波仿真教学体会.安阳师范学院,20099
版权声明:以上文章中所选用的图片及文字来源于网络以及用户投稿,由于未联系到知识产权人或未发现有关知识产权的登记,如有知识产权人并不愿意我们使用,如有侵权请立即联系:2622162128@qq.com ,我们立即下架或删除。
Copyright© 2022-2024 www.wodocx.com ,All Rights Reserved |陕ICP备19002583号-1
陕公网安备 61072602000132号 违法和不良信息举报:0916-4228922