匝镌电潦技】-: 2014年7月25日第31卷第4期 Telecom PowerTechnology July 25,2014,Vo1.31 No.4 文章编号:100%3664(2014)04-0056- IIR数字滤波器的仿真实现研究 韩大伟 (河南工程学院,河南郑州451191) 摘要:作为改变信号频谱的算法装置,数字滤波器及其设计受到人们广泛地关注,其分为有限长冲激响应(F )数字滤 波器和无限长冲激响应(IIR)数字滤波器。文中探究具有无限持续时间的冲击响应的IIR数字滤波器系统,并提出如何利用 M灯 软件实现仿真设计。 关键词:IIR数字滤波器;MATI,AB;仿真 中图分类号:TM464 文献标识码:A Simulation Research of IIR Digital Filter HAN Da-wei (Henan Institute of Engineering,Zhenzhou 451191,China) Abstract:Digital filter,consisting of FIR digital filter and IIR digital filter,and its design attract people's attention widely as an algorithm device to change signal spectrum.The article explores the IIR digitla filter with unlimited duration and impact re— sponse,then puts forward the methods of simulation desing by IVlATLAB software. Key words:IIR digital filter;MATLAB;shnulation 数字滤波器能通过关系运算转变数字信号的频率, 而IIR数字滤波器具有无限持续时问的冲击响应, 从而进行信号输入输出,它是一种能改变信号频谱的算 伴有非线性相位特征,对此本文将探究如何利用MAT— 法装置,是处理信号的利器。人类生活中普遍地出现了 LAB软件实现IIR数字滤波器的仿真设计。 数字信号系统,使得数字滤波器设计受到广泛地关注。 如今能通过计算机运行MAT 软件实现IIR数字滤 2 IIR数字滤波器 波器的仿真设计。 一般地,由于IIR数字滤波器的系统传递函数包括 1数字滤波器和MATLAB软件 有两组可调因素,即零点和极点,同时极点能够处在单 位圆内的所有位置。因此与FIR数字滤波器相比,它拥 (1)数字滤波器 有更高的选频特性、更低的通带群延迟,在实现相同频 数字滤波器按照结构的划分,有FIR数字滤波器和 率特性的情况下占据更少的乘法单元,能广泛地应用于 IIR数字滤波器。前者非常稳定且具有严格的线性相 高选频、低延迟以及快速处理等领域;但是必须基于相 位,不会造成线条及其边缘部分出现失真现象,广泛应 位的非线性之上,往往选择性越好,其相位非线性就越 用于通过波传递信息的领域,例如图像传输和数字通信 严重,而IIR数字滤波器不具备内禀稳定性及其线性相 等;而后者的特征则是非线性相位,但较前者而言不但 位不精确,造成其设计的数学模型时常是非线性约束、 更易实现,且具有较高的经济效益,因此在相位要求不 非凸规划的,从而就必须采用递归结构来配置极点,使 高的领域具有非同寻常的用处,比如说语音通信。 之处在单位圆之中。在N阶IIR数字滤波器中,它的传 (2)MATLAB软件 递函数表示如下: MATLAB(rnatrix ̄laboratory)其原意是矩阵实验 室,是美国MathW0rks公司推出的面向于科学计算、可 一 一 ㈣ 视化以及交互式程序设计的高科技计算环境,集数值分 析、信号处理、矩阵运算以及非线性动态系统的建模与 为满足实际需求,大多数情况下M与N取自然数 仿真等功能于一体的高度集成系统,它的用户界面极其 且N>M;函数A( )与B( )是关于 一1的多项式,其中 友好且具有良好的帮助功能,其编辑模式不同于传统的 前者是分母多项式,后者是分子多项式;同时M与N分 非交互式程序设计语言(如Fortran、C语言等),标志着 别是分子阶数和分母阶数。 国际最先进的科学计算软件水平。 与式(1)相符合的差分方程如下: 收稿日期:2014—05—08 ( )一三 ( —r)+ aky( 一是) (2) 作者简介:韩大伟(1.982一),男,汉族,河南泌阳人,助教。研究方 向:信号与信息处理。 由式(2)可知, ( )是由 ( 一r)和三a Y( 一是)两 通往电潦 】-: 2014年7月25日第31卷第4期 韩大伟:IIR数字 滤波器的仿真实现研究 Telecom Power Tedmology July 25,2014,Vo1.31 No.4 部分构成,其中前者是关于输入z( )的M节延时链结 构,每节延时抽头后加权相加;而后者是关于 ( )的延 时抽头后加权相加进行反馈的网络。一般地,IIR数字 滤波器是在直接型、并联型、级联型以及格型等结构的 基础上,实现相应的仿真。不同的结构决定不同的IIR 在式(5)中,60表示增益系数;B、A分别表示包含因 子系数 、ak的K行3列矩阵; 、b分别表示直线型分 子、分母的多项式阶数。于是: ao—a(1);以一a/ao; b0—6(1);6一b/bo; bo—bo/以o; M===length(b);N—length(a); 数字滤波器特性,而通过N级延迟单元能形成级联型 和并联型结构的基本单元——直接Ⅱ型结构,其滤波器 方框图如图1所示。 图1直接Ⅱ型结构IIR数字滤波器 3 MATLAB与IIR数字滤波器系数设计 MATLAB软件提供了包括有butter、ellip、chebyl、 cheby2以及bessel等专用函数,在进行IIR滤波器设计 时直接调用函数就可以设计出相应的低通、高通、带通 或者带阻的滤波器。倘若设计保留2()0 Hz低频信号并 滤除800 Hz高频信号的IIR滤波器,须先假设存在着 混频信号S,则 S sin(2 ̄r×200× +sin(2rr×800× ) (7z=Eo:6:2391) 一般地,可在MATLAB软件中直接调用butter与 buttord函数,就能实现巴特沃斯IIR滤波器的设计。在 给定滤波器性能的基础上,通过buttord函数能求出相 应的最小阶数 ,并得到截止频率w 。其中buttord函 数式表示如下: [ ,Wn]一buttord(W ̄, ,R ,R ) (3) 式(3)中,Wb、w 与R 、R 分别表示通带和阻带的 截止频率与波纹系数,其w。、w ∈[(),1],若值为1则表 示为采样频率的{。对混频信号进行滤波时,二 = 20(}/5 000=0.04;Ws=8OO/5OO0=0.16;R =3 dB;R = 40 dB。而butter的函数式用法如下: [6,口]一butter(n,w ) (4) 式(4)中, 和 分别表示滤波器的阶数和截止频 率,它们均是由buttord函数的式(3)所决定;butter函 数所得到的系数是直接型滤波器系数,因此要运用 dir2cas.m将其转换为级联型结构,其实现代码如下: >> ,wn]一buttord(0.04,0.16,3,40); >>【6, ]一butter(n,wn); >>[ ,B,A]一dir2cas(b,口) 而在dir2cas文件中,其代码为: FunctionEb0,B,A2一dir2cas(b,口) (5) ifM>N a—L1 zeros(1,M—N)]; else if M<N b一_6 zeros(1,N-M)1; else N一0 end K—floor(N/2);A—zeros(K,3);B—zeros(K,3); if K*2一一N a一[以01; b— o]; end broots==cplxpair(roots(以)); broots—cplxpair(roots(b)); for i一1:2:2*K Brow—broots(i;i+1,:); Brow—real(poly(Brow)); B(fix(/+1)/2,:)一Brow; Arow=:=aroots(i:i+1,:); Arow—real(poly(Arow)); A(fix(/+1)/2,:)一Arow; end 4 IIR数字滤波器的仿真实现 运用MATLAB软件的工具m文件,能实现IIR 滤波器,其IIR .m源码如下: function Y=IIR(S,coefs)//s表示录入的混频 信号,coefs表示系数矩阵,其排列方式为[n。,a。,a:, b(),b1,b2,…] a=length(in); b=(1ength(coefs))/6; S=E0.0,0,01; for i=1:a ,27=in(i); f=coefs: for k=1:b t= +f(6*(是一1)+2)*S(2*(七一1)+1)+f (6*( 一1)+3)*S(6*(忌一1)+2); =c(6*(志一1)+4)* +c(6*( 一1)+5)*s(2* (是一1)+1)+c(6*(走一1)+6)*s(2*(是一1)+2); s(2*(是一1)+2)=s(2*(尼一1)+1); ・ 7・