双线性变换法IIR数字滤波器设计

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

双线性变换法IIR 数字滤波器设计

一、实验目的

1、掌握用双线性变换法设计低通IIR 数字滤波器的基本原理和算法。

2、掌握用双线性变换法设计高通和带通IIR 数字滤波器的基本原理和算法。

3、进一步了解数字滤波器和模拟滤波器的频率响应特性。

二、实验原理与计算方法

1、双线性变换法设计IIR 低通数字滤波器的基本原理和算法

双线性变换法设计数字滤波器,采用了二次映射的方法,就是先将整个s 平面压缩到

s 1平面的一个T

j T

j π

π~-的横形条带范围内,然后再将这个条带映射到z 平面上,就能建

立s 平面到z 平面的一一对应关系。对于低通数字滤波器,映射关系为

z

z

T z z T s ++-=

+-=--11211211 (1) 其中T 为抽样周期。

用双线性变换法设计低通IIR 数字滤波器的基本步骤,首先根据设计要求确定相应的模拟滤波器的传递函数)(s H a ,再应用(1)式得数字滤波器的传递函数)(z H

z

z T s a s H z H ++-==112)()( (2)

通常可以给定的参数为:低通数字滤波器通带边界频率p p f πΩ21=、阻带边界频率

s s f πΩ21=和对应的通带衰减函数p α、阻带衰减函数s α。s 1平面中的模拟角频率1Ω与数字角频率ω的关系为线性关系T 1Ωω=,在计算模拟滤波器的阶数N 、极点s i 和传递函数)(s H a 之前,应作预畸变处理

2

2tan 22

tan 2

1T f T

T T

πΩΩ== (3)

模拟滤波器的阶数N 、极点s i 和传递函数)(s H a 的计算方法与冲激响应不变法相同,可以采用Butterworth 逼近或Chebyshev 逼近。

2、双线性变换法设计IIR 高通、带通、带阻数字滤波器的基本原理和算法

由于双线性变换法获得的数字滤波器频率响应特性中不会出现混叠现象,因此可以适用于高通、带通和带阻滤波器的设计。IIR 数字滤波器的设计通常要借助于模拟低通滤波器的设计,由原型低通滤波器到其他形式(高通、带通、带阻)IIR 数字滤波器的频带变换有模拟频带变换法和数字频带变换法。 (1)模拟频带变换法

首先将给定的对数字滤波器(DF)的技术要求转换为一个低通模拟滤波器(AF)的技术要求,根据这种要求用某种逼近设计出原型的低通模拟滤波器(LP AF),计算出模拟滤波器的阶数N 、极点s i 和传递函数)(s H a ,再按照双线性变换的变换关系,将模拟滤波器的传递函数)(s H a 转换为数字滤波器的传递函数)(z H 。

表8-1中列出了将给定的对数字滤波器(DF)的技术要求直接转换为对一个低通模拟滤波器(AF)的技术要求的频率预畸变校正关系和转换公式。

例:数字高通滤波器的设计

首先将给定的数字高通滤波器的技术指标根据公式转换为模拟低通滤波器的技术指标,利用cheb1ord(Wp,Ws,ap,as,'s')函数求出chebyshev模拟低通滤波器的阶数N,再利用cheb1ap(N,ap)函数求出模拟低通滤波器系统函数)

(s

H

a

的零极点,zp2tf(z,p,k)函数将零极点转换为系统函数系数;然后利用lp2hp由模拟低通滤波器的系统函数得到模拟带通滤波器的系统函数,bilinear函数则用于实现双线性变换法由模拟带通滤波器系统函

数)

(s

H

a 计算数字数字带通滤波器系统函数)

(z

H的系数。

(2)数字频带变换法

首先将给定的对数字滤波器(DF)的技术要求转换为一个低通模拟滤波器(AF)的技术要求,用双线性变换法将原型的低通模拟滤波器(LP AF)映射为低通数字滤波器,再将数字低通滤波器根据相应的变换公式经频带变换到各型数字滤波器。

例:数字高通滤波器的设计

函数[bhp,ahp]=zmapping(blp,alp,Nz,Dz)用来实现从数字低通滤波器得到数字高通滤波器的有理函数。

%数字滤波器技术指标

>>wp=0.2*pi;ws=0.3*pi;Rp=1;As=15;

%对应的模拟滤波器技术指标

>>T=1;Fs=1/T;Wp=(2/T)*tan(wp/2); =(2/T)*tan(ws/2);

>>[cs,cd]=afd_chb1(Wp,Ws,Rp,As); %Chebyshev模拟滤波器

>> [blp,alp]=bilinear(cs,cd,Fs) %双线性变换

>>wphp=0.6*pi; %数字高通滤波器截止频率

%低通-高通频带变换

>>alpha=-(cos((wplp+wphp)/2))/(cos((wplp+wphp)/2))

>>Nz=-[alpha,1];Dz=[1,alpha];

>> [bhp,ahp]=zmapping(blp,alp,Nz,Dz) %数字高通滤波器的系统函数系数

(3)IIR数字滤波器的设计

可利用MATLAB提供的函数直接设计相应的数字滤波器。

函数buttord 和cheb1ord 用来根据给定的技术指标求出滤波器的阶数N 和边界频率wn ,butter 和cheby1则根据阶数和边界频率设计相应的数字滤波器。输入的参数不同则所设计的滤波器类型不同。

[N,wn]=buttord(wp,ws,Rp,As); [N,wn]=cheb1ord(wp,ws,Rp,As); [b,a]=butter(N,wn); [b,a]=cheby1(N,Rp,wp);

三、实验内容

(1)Chebyshev IIR 数字带通滤波器满足如下技术指标

低阻带边界频率Hz 1001=s f ,高阻带边界频率Hz 6001=s f ,阻带衰减函数dB 18=s α 低通带边界频率Hz 2001=p f ,高通带边界频率Hz 4002=p f ,通带波动dB 2=δ 抽样频率Hz f 2000=,记录所得的模拟滤波器的阶数N ,画出模拟滤波器和数字滤波器的频率响应的幅频和相频特性曲线。

A. 实验代码:

fs1=100; fs2=600; fp1=200; fp2=400; fsa=2000; As=18; Rp=2;

T=1./fsa %对应的模拟滤波器技术指 w1=2.*pi.*(fp1./fsa) %Chebyshev 模拟滤波器 w2=2.*pi.*(fp2./fsa)

wp1=2*pi*fp1*T;wp2=2*pi*fp2*T ws2=2.*pi.*(fs2./fsa)

cosw0=(sin(w1+w2))./(sin(w2)+sin(w1)) w0=acos(cosw0);bw=wp2-wp1 Wp=(cosw0-cos(w2))./sin(w2) Ws=(cosw0-cos(ws2))./sin(ws2)

[N,omgn]=cheb1ord(Wp,Ws,Rp,As,'s') %返回模拟低通滤波器阶数N 和边界频率 [z,p,k]=cheb1ap(N,Rp) %得系统函数零极点 [blp,alp]=zp2tf(z,p,k); %由零极点得系数

[bhp,ahp]=lp2bp(blp,alp,w0,bw) %模拟低通到模拟带通

[bdf,adf]=bilinear(bhp,ahp,1) %双线性变换将模拟带通滤波器转换成数字带通滤波器

[BPA,wa]=freqs(bhp,alp,fsa); [BPD,wd]=freqz(bdf,adf,fsa); subplot(2,2,1); plot(abs(BPA));

相关文档
最新文档