实验:用双线性变换法设计IIR数字滤波器

合集下载

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

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

用双线性变换法设计IIR数字滤波器一.实验目的:1)熟悉用双线性变换法设计IIR数字滤波器的原理和方法。

2)掌握数字滤波器设计的计算机仿真方法。

3)观察对心电图信号的实际滤波作用,获得数字滤波的感性认识。

二.实验内容:1)用双线性变换法设计巴特沃斯IIR数字滤波器。

设计指标为:通带内频率低于0.3πrad时,最大衰减小于2dB;在阻带[0.6π,π]频率区间上,最大衰减大于20dB。

2)绘出数字滤波器的幅频响应特性曲线、相频特性曲线和零极图。

三.实验程序:wp=0.3*pi;ws=0.6*pi;Rp=2;As=20;Fs=100;T=1/Fs;Omgp=(2/T)*tan(wp/2);%原型通带频率预修正Omgs=(2/T)*tan(ws/2);%原型阻带频率预修正[n,Omgc]=buttord(Omgp,Omgs,Rp,As,'s');%计算阶数n和截至频率[ba1,aa1]=butter(n,Omgc,'s');%求模拟滤波器系数[bd,ad]=bilinear(ba1,aa1,Fs)%用双线性变换法求数字滤波器系数b,a[sos,g]=tf2sos(bd,ad);%由直接型变换为级联型[H,w]=freqz(bd,ad);%求数字系统的频率特性subplot(2,2,1);plot(w/pi,abs(H));title('幅度响应');axis([0,1,0,1.1]);subplot(2,2,2);plot(w/pi,angle(H)/pi);title('相位响应');axis([0,1,-1,1]);subplot(2,2,3);zplane(bd,ad);title('零极图');axis([-1.1,1.1,-1.1,1.1]);四.实验结果:程序运行结果:bd =0.0780 0.2339 0.2339 0.0780ad =1.0000 -0.7958 0.5020 -0.0824五.总结:通过这个实验,对设计数字滤波器的整个过程有了比较好的掌握。

数字信号处理实验三 ——用双线性变换法设计IIR数字滤波器

数字信号处理实验三 ——用双线性变换法设计IIR数字滤波器
直接运行程序直接运行程序结果输出滤波器幅频特性曲线图结果输出滤波器幅频特性曲线图有噪声的心电图采有噪声的心电图采集信号波形图和经过三级二阶滤波器后的心电图信号波形图集信号波形图和经过三级二阶滤波器后的心电图信号波形图可以看可以看出低通滤波器除信号中高频噪声的滤波效果出低通滤波器除信号中高频噪声的滤波效果
1 T j T
z

2
1 T

j
2 T
1
2
2
1 j T
z
2 1
1 j T
2
1 T j T
z

2
1 T

j
2 T
1
2
2
j
j Im[z]

-1
1 Re[z]
0
0
s平面
z平面
(2)整个左半平面映射成单 位圆的内部,因此这是一个 稳定的变换。 (3)虚轴以一一对应的方式 映射成单位圆,因此在频域 中不会出现混叠。
实验原理及方法
由于幅度为1,把ω 看做Ω 的函数求解,得到:
1 j T
0 z
2 e j
1 j T
2


2 tan1

T 2



2 T
tan

2

这说明Ω和ω的关系是非线性的,但是没出现混叠。在把Ω变换为
ω时产生了非线性畸变。为了克服它带来的问题,通常要使Ω按上式预
把给出的数字滤波器的性能指标转换为模拟滤波器的 性能指标
根据转换后的性能指标,通过滤波器阶数选择函数, 来确定滤波器的最小阶数N和固有频率Wn
由最小阶数N得到低通滤波器原型 由固有频率Wn把模拟低通滤波器原型转换为低通、高

实验三用双线性变换法设计iir数字滤波器

实验三用双线性变换法设计iir数字滤波器

实验_三_题目_用双线性变换法设计IIR 数字滤波器 第16周星期_3_第6,7节一. 实验目的(1)熟悉用双线性变换法设计IIR 数字滤波器的原理与方法。

(2)掌握数字滤波器的计算机仿真方法。

(3)通过观察对实际心电图信号的滤波作用,获得数字滤波的感性知识。

二、实验内容、方法、设计程序及实验结果(1)复习有关巴特沃斯模拟滤波器设计和用双线性变换法设计IIR 数字滤波器的内容,用双线性变换法设计数字滤波器系统函数()z H 。

其中满足本实验要求的数字滤波器系统函数为:()()()()()212121612155.09044.013583.00106.117051.02686.1110007378.0-------+-+-+-+=zz z z z zz z H ()z H k k ∏==31()式中: ()()3211212121,,,k z C z B z z A z H k k k =--++=----()2155.09044.03583.00106.17051.02686.109036.0332211-==-==-===C B C B C B A ,,,根据设计指标,调用MATLAB 信号处理工具箱buttord 和butter ,也可以得到()z H 。

由公式()和()可见,滤波器()z H 由三个二阶滤波器()z H 1、()z H 2和()z H 3级联而成,如图3-1所示。

()n y图3-1 滤波器()z H 的组成此参数下的程序如下:%实验三,用双线性变换法设计 IIR数字滤波器x=[-4,-2,0,-4,-6,-4,-2,-4,-6,-6,-4,-4,-6,-6,-2,6,12,8,0,-16,... -38,-60,-84,-90,-66,-32,-4,-2,-4,8,12,12,10,6,6,6,4,... 0,0,0,0,0,-2,-4,0,0,0,-2,-2,0,0,-2,-2,-2,-2,0];k=1; %控制滤波循环变量close all; %关闭全部绘图窗口figure(1); %创建绘图窗口subplot(2,2,1); %定位子图 1n=0:55; %横坐标stem(n,x,'.'); %画出枝干图axis([0,56,-100,50]); %调整坐标xlabel('n'); %标注横坐标ylabel('x(n)'); %标注纵坐标title('心电图信号采集序列x(n)');%命名该子图B=[,2*,];%H1 滤波器的分子系数矩阵A=[,]; %H1滤波器的分母系数矩阵A1=[,]; %H2滤波器的分母系数矩阵A2=[,]; %H3滤波器的分母系数矩阵while(k<=3)y=filter(B,A,x); %进行滤波x=y; %重新赋值X 进行下一次滤波k=k+1; %控制循环变量if k==2A=A1;else A=A2;endendsubplot(2,2,3); %定位子图3stem(n,y,'.');axis([0,56,-100,50]);xlabel('n');ylabel('y(n)');title('三级滤波后的心电图信号(原坐标)');subplot(2,2,2)stem(n,y,'.');axis([0,56,-15,5]);xlabel('n');ylabel('y(n)');title('调整坐标后的心电图信号');%求数字滤波器的幅频特性A=[,2*,];%滤波器的分子系数矩阵B1=[1,,]; %H1滤波器的分母系数矩阵B2=[1,,]; %H2滤波器的分母系数矩阵B3=[1,,]; %H3滤波器的分母系数矩阵[H1,w]=freqz(A,B1,100); %进行滤波器幅频特性分析[H2,w]=freqz(A,B2,100);[H3,w]=freqz(A,B3,100);H4=H1.*(H2); %点积H=H4.*(H3);db=20*log10(abs(H)+eps);subplot(2,2,4)plot(w/pi,db);axis([0,,-50,10]);xlabel('w');ylabel('|H(e^j^w)|');grid on; %显示方格title('滤波器的幅频响应曲线');(2)用双线性变换法设计一个巴特沃斯低通IIR数字滤波器。

实验三-用双线性变换法设计IIR数字滤波器

实验三-用双线性变换法设计IIR数字滤波器

实验三用双线性变换法设计IIR数字滤波器实验项目名称:用双线性变换法设计IIR数字滤波器实验项目性质:验证性实验所属课程名称:数字信号处理实验计划学时:2一.实验目的(1)熟悉用双线性变换法设计IIR数字滤波器的原理与方法。

(2)掌握数字滤波器的计算机仿真方法。

(3)通过观察对实际心电图信号的滤波作用,获得数字滤波的感性知识。

二.实验内容和要求(1)用双线性变换法设计一个巴特沃斯低通IIR数字滤波器。

设计指标参数为:在通带内频率低于π时,最大衰减小于1dB;在阻带内[π,π]频率区间上,最小衰减大与15dB。

(2)以π为采样间隔,打印出数字滤波器在频率区间[0,π/2]的幅频响应特性曲线。

(3)用所设计的滤波器对实际心电图信号采样序列(在本实验后面给出)进行仿真滤波处理,并打印出滤波前后的心电图信号波形图,观察总结滤波作用与效果。

三.实验主要仪器设备和材料计算机,或以上版本四. 实验方法、步骤及结果测试(1)复习有关巴特沃斯模拟滤波器设计和用双线性变换法设计IIR 数字滤波器的内容,用双线性变换法设计数字滤波器系统函数()z H 。

其中满足本实验要求的数字滤波器系统函数为:()()()()()212121612155.09044.013583.00106.117051.02686.1110007378.0-------+-+-+-+=zz z z z zz z H ()z H k k ∏==31()式中: ()()3211212121,,,k z C z B z z A z H k k k =--++=----()2155.09044.03583.00106.17051.02686.109036.0332211-==-==-===C B C B C B A ,,,根据设计指标,调用MATLAB 信号处理工具箱buttord 和butter ,也可以得到()z H 。

由公式()和()可见,滤波器()z H 由三个二阶滤波器()z H 1、()z H 2和()z H 3级联而成,如图3-1所示。

实验三 用双线性变换法设计IIR滤波器

实验三    用双线性变换法设计IIR滤波器

1实验三 用双线性变换法设计IIR 滤波器一、实验目的1、了解两种工程上最常用的变换方法:脉冲响应不变法和双线性变换法。

2、掌握双线性不变法设计IIR 滤波器的原理及具体设计方法,熟悉双线性设计法设计低通、带通和高通IIR 滤波器的计算机程序。

3、观察用双线性变换法设计的滤波器的频域特性,并与脉冲响应不变法相比较,了解双线性变换法的特点。

4、熟悉用双线性变换法设计数字Butterworth 和Chebyshev 滤波器的全过程。

5、了解多项式乘积和多项式乘方运算的计算机编程方法。

二、实验原理与方法从模拟滤波器设计IIR 数字滤波器具有四种方法:微分—差分变换法、脉冲响应不变法、双线性变换法、匹配Z 变换法;在工程上常用的是其中两种:脉冲响应不变法、双线性变换法。

脉冲响应不变法需要经历如下步骤:由已知系统传输函数H (s )计算系统冲击响应h(t);对h(t)进行等间隔取样得到h(n)=h(nT);由h(n)活的数字滤波器的系统响应H (z )。

这种方法非常直观,其算法宗旨是保证所设计的IIR 滤波器的脉冲响应和响应模拟滤波器的冲击响应在采样点上完全一致。

而双线性变换法的设计准则是使数字滤波器的频率响应与参考模拟滤波器的频率响应相似。

脉冲响应不变法的优点是频率坐标的变换是线性的,缺点是有频谱的周期延拓效应,存在频谱混淆的现象。

为了克服频谱混淆提出了双线性变换法,它依靠双线性变换公式:1111--+-=zz s ,z=s s -+11 其中,s=Ω+j σ,z=ωj re 建立起S 平面和Z 平面的单值映射关系,数字频域和模拟频域之间的关系:)2/(ωtg =Ω,Ω=arctg 2ω (3-1)由上面的关系式可知,当-〉∞Ω时,ω中止在折叠频率πω=处,整个Ωj 轴单值的对应于单位圆的一周。

因此双线性变换法不同于脉冲响应不变法,不存在频谱混淆的问题。

从式(3-1) 还可以看出,两者的频率不是线性关系。

实验六 用双线性变换法设计IIR数字滤波器

实验六 用双线性变换法设计IIR数字滤波器

实验六用双线性变换法设计IIR数字滤波器一、实验目的学会运用MATLAB设计数字低通、带通、高通、带阻滤波器的设计方法。

二、实验涉及的matlab子函数bilinear功能:双线性变换——将s域映射到z域。

调用格式:[numd,dend]= bilinear (num,den,Fs),将模拟域系统函数转换为数字域的系统函数,Fs为采样频率。

三、实验原理下面举例说明用双线性变换法设计各种数字滤波器的过程。

例1、采用双线性变换法设计一个巴特沃斯数字低通滤波器,要求:wp=0.25*pi,rp=1db,ws=0.4*pi,as=15db,滤波器采样频率Fs=100hz。

MATLAB源程序为:%数字滤波器指标wpd=0.25*pi; %滤波器的通带截止频率wsd=0.4*pi; %滤波器的阻带截止频率Rp=1;As=15; %输入滤波器的通阻带衰减指标%转换为模拟原型滤波器指标Fs=100;T=1/Fs;wp=(2/T)*tan(wpd/2);ws=(2/T)*tan(wsd/2);%模拟原型滤波器计算[n,wc]=buttord(wp,ws,Rp,As,'s') %计算阶数n和截止频率[z0,p0,k0]=buttap(n); %归一化切比雪夫1型原型设计ba=k0*poly(z0); %求原型滤波器系数baa=poly(p0); %求原型滤波器系数a[ba1,aa1]=lp2lp(ba,aa,wc);%变换为模拟低通滤波器%用双线性变换法计算数字滤波器系数[bd,ad]=bilinear(ba1,aa1,Fs) %双线性变换%求数字系统的频率特性[H,w]=freqz(bd,ad);dbH=20*log10(abs(H)/max(abs(H))); %化为分贝值subplot(2,2,1),plot(w,abs(H));ylabel('|H|');title('幅度响应');axis([0,pi,0,1.1]);grid subplot(2,2,2),plot(w,angle(H));ylabel('\phi');title('相位响应');axis([0,pi,-4,4]);grid subplot(2,2,3),plot(w,dbH);title('幅度响应(dB)'); ylabel('dB');xlabel('频率');axis([0,pi,-40,5]);grid subplot(2,2,4),zplane(bd,ad); axis([-1.1,1.1,-1.1,1.1]);title('零极图');运行结果为: n = 5wc = 103.2016bd = 0.0072 0.0362 0.0725 0.0725 0.0362 0.0072 ad = 1.0000 -1.9434 1.9680 -1.0702 0.3166 -0.0392 则所求滤波器的系统函数为54321-5432-10.0392z 166z 3.01.0702z z 68.911.9434z 1z 072.00z 362.00z 725.00z 725.000.0362z 0.0072H(z)---------+-+-+++++=|H |幅度响应φ相位响应幅度响应(dB)d B频率-1-0.500.51Real PartI m a g i n a r y P a r t零极图例2、采用双线性变换法设计一个椭圆数字高通滤波器,要求通带250hz ,1db ,阻带150hz ,20db ,滤波器采样频率为Fs=1000hz 。

数字信号处理实验matlab版用双线性变换法设计IIR数字滤波器

数字信号处理实验matlab版用双线性变换法设计IIR数字滤波器

数字信号处理实验matlab版⽤双线性变换法设计IIR数字滤波器实验21⽤双线性变换法设计IIR 数字滤波器(完美格式版,本⼈⾃⼰完成,所有语句正确,不排除极个别错误,特别适⽤于⼭⼤,勿⽤冰点等⼯具下载,否则下载之后的word 格式会让很多部分格式错误,)XXXX 学号处XXXX⼀、实验⽬的1. 加深对双线性变换法设计IIR 数字滤波器基本⽅法的了解。

2. 掌握⽤双线性变换法设计数字低通、⾼通、带通、带阻滤波器的⽅法。

3. 了解MATLAB 有关双线性变换法的⼦函数。

⼆、实验容1. 双线性变换法的基本知识。

2. ⽤双线性变换法设计IIR 数字低通滤波器。

3. ⽤双线性变换法设计IIR 数字⾼通滤波器。

4. ⽤双线性变换法设计IIR 数字带通滤波器。

5. ⽤双线性变换法设计IIR 数字带阻滤波器。

三、实验环境MATLAB7.0四、实验原理1.实验涉及的MATLAB ⼦函数Bilinear 功能:双线性变换——将s 域(模拟域)映射到z 域(数字域)的标准⽅法,将模拟滤波器变换成离散等效滤波器。

调⽤格式:[numd,dend]=bilinear(num,den,Fs);将模拟域传递函数变换为数字域传递函数,Fs 为取样频率。

[numd,dend]=bilinear(num,den,Fs,Fp);将模拟域传递函数变换为数字域传递函数,Fs 为取样频率,Fp 为通带截⽌频率。

[zd,pd,kd]=bilinear(z,p,k,Fs);将模拟域零极点增益系数变换到数字域,Fs 为取样频率。

[zd,pd,kd]=bilinear(z,p,k,Fs,Fp);将模拟域零极点增益系数变换到数字域,Fs 为取样频率,Fp 为通带截⽌频率。

[Ad,Bd,Cd,Dd]=bilinear(A,B,C,D,Fs);将模拟域状态变量系数变换到数字域,Fs 为取样频率。

2. 双线性变换法的基本知识双线性变换法是将整个s 平⾯映射到整个z 平⾯,其映射关系为11z 1z 1T 2s --+-=或2sT/12sT/1z -+=双线性变换法克服了脉冲响应不变法从s 平⾯到z 平⾯的多值映射的缺点,消除了频谱混叠现象。

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

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

双线性变换法设计IIR数字滤波器一:实验目的1)熟悉用双线性变换法设计IIR数字滤波器的原理和方法。

2)掌握数字滤波器设计的计算机仿真方法。

3)观察对心电图信号的实际滤波作用,获得数字滤波器的感性认识。

二:实验原理在滤波器的设计过程中,毕竟那是一个重要环节,所谓逼进就是根据性能指标的要求,对理想特性进行逼进,以求得一个因果、稳定且客户实现的传递函数。

目前模拟滤波器的频域设计理论已经发展的相当成熟,它不仅具有简单而严格的设计公式,而且设计参数已经表格化了。

借助模拟滤波器的逼进方法,用模拟与大树自语的某种变换,完成数字滤波器的逼进,这是一类简单而又行之有效的方法。

双线性变换法采用非线性频率压缩方法,将整个频域轴上的频率范围压缩到-π/T~π/T之间,再用z=e sT转换到z平面上。

也就是说,第一步现将整个S平面压缩映射到S1平面的-π/T~π/T一条横带里;第二步再通过标准变换关系1e S T将此横带变换到整个z平面上去。

这样就使S平面与Z平面建立了一一对应的胆汁关系,消除了多只变换性,也就消除了频谱混跌现象,映射关系如图所示。

] 为了将S 平面的整个虚轴j Ω压缩到1S 平面轴上的-π/T 到π/T 段上,可以通过以上的正切的变换实现Ω=2/Ttan(1ΩT/2)(1-1)式中,T 仍是采样间隔。

当1Ω由-π/T 经过0变化到π/T 时,Ω由-∞经过0变化到+∞,也即映射了整个j Ω轴。

将上式(1-1)写成111122222T Tj j T T j j e e j T e e ΩΩΩΩ--Ω=•+ (1-2)将此关系解析延拓到整个S 平面和1S 平面,令j Ω=s, 1j Ω=S 1,则得111221tan()21e s Ts TS T e T T --==•+(1-3)再将S 1平面通过以下标准变换关系映射到Z 平面:z=S1T e (1-4) 从而得到S 平面和Z 平面的单值映射关系为;11211ZS T Z ---=+(1-5) 122122T T S S Z T TS S ++==--(1-6)式(1-5)和式(1-6)是S 平面与Z 平面之间的单值映射关系,这种变换都是两个线性函数之比,因此成为双线性变换。

DSP实验七 用双线性变换法设IIR滤波器

DSP实验七  用双线性变换法设IIR滤波器

数学与软件科学学院实验报告学期:_2016_至_2017_ 第_一_ 学期2016年10月26日课程名称:_数字信号处理_ 专业:_信息与计算科学_ 实验编号:07实验项目:用双线性变换法设IIR滤波器实验成绩:_____实验七用双线性变换法设IIR滤波器一、实验目的及要求(1) 熟悉用双线性变换法设计IIR滤波器的原理和方法;(2) 掌握数字滤波器的计算机仿真算法;(3) 通过观察对实际心电图信号的滤波作用。

二、实验内容(1) 用双线性变换法设计一个巴特沃斯低通IIR数字滤波器,设计的指标参数为:在通内频率低于0.2π时,最大衰减度小于1dB,在阻带内[0.3π,π]频率区间上,最小衰减度大于15dB;(2) 以0.02π为采样间隔,打印出数字滤波器在频率区间[0,π/2]上的幅频响应特性曲线;(3) 用所设计的滤波器对实际心电图信号采样序列进行仿真滤波处理,并分别打印出滤波前后的心电图信号波形图,观察总结滤波作用和效果。

x n为:输入序列()()x n=[-4,-2,0,-4,-6,-4,-2,-4,-6,-6,-4,-4,-6,-6,-2,6,12,8,0,-16-38,-60,-84,-90,-66,-32,-4,-2,-4,8,12,12,10,6,6,6,4,0,0,00,0,-2,-4,0,0,0,-2,-2,0,0,-2,-2,-2,-2,0]三、实验准备安装MATLAB的计算机系统。

四、实验步骤(该部分不够填写.请填写附页)>> T=1;Fs=1/T;>>wpz=0.2;wsz=0.3;>>wp=2*tan(wpz*pi/2);ws=2*tan(wsz*pi/2);rp=1;rs=15;>> [N,wc]=buttord(wp,ws,rp,rs,'s');>> [B,A]=butter(N,wc,'s');>>fk=0:1/512:1;wk=2*pi*fk;>>Hk=freqs(B,A,wk);>>subplot(2,2,1);>>plot(fk,20*log10(abs(Hk)));grid on;>>xlabel('\omega/\pi');ylabel('幅度(dB)');>>axis([0,1,-100,5]);title('(b)');>> [N,wc]=buttord(wpz,wsz,rp,rs);>> [Bz,Az]=butter(N,wc);>>wk=0:pi/512:pi;>> Hz=freqz(Bz,Az,wk);>>subplot(2,2,4);>>plot(wk/pi,20*log10(abs(Hz)));grid on;>>xlabel('\omega/\pi');ylabel('幅度(dB)');>>axis([0,1,-100,5]);title('(b)');>>wp =0.2*pi;%通带边缘频率>>ws =0.3*pi; %阻带边缘频率>>Rp =1; %通带最大衰减>> As=15; %阻带最小衰减>> T=1; %采样周期>>Fs=1/T;>>Omgp=(2/T)*tan(wp/2);%原型通带频率预修正>>Omgs=(2/T)*tan(ws/2);%原型阻带频率预修正>> [m,Omgc]=buttord(Omgp,Omgs,Rp,As,'s'); %计算阶数和截止频率>> [ba1,aa1]=butter(m,Omgc,'s'); %求模拟滤波器系数>> [bd,ad]=bilinear(ba1,aa1,Fs); %用双线性变换法求数字滤波器系数b,a >> [H,w]=freqz(bd,ad); %求数字系统的频率特性>> x=[-4,-2,0,-4,-6,-4,-2,-4,-6,-6,-4,-4,-6,-6,-2,6,12,8,0,...-16,-38,-60,-84,-90,-66,-32,-4,-2,-4,8,12,12,10,6,6,...6,4,0,0,0,0,0,-2,-4,0,0,0,-2,-2,0,0,-2,-2,-2,-2,0];>> figure(1); %绘制滤波器的频率响应>>subplot(211);>>plot(w/pi,abs(H));>> title('幅频响应');>>axis([0,1,0,1]);>>subplot(212);>>plot(w/pi,angle(H)/pi);>> title('相位响应');>>axis([0,1,-1,1]);>> figure(2); %绘制滤波前后的心电图时域特性>>subplot(211);>>stem(x,'.');>>title('心电图信号采样序列x(n)');>>xlabel('n');>>ylabel('x(n)');>>axis([0,56,-100,50]);>> y=filter(bd,ad,x);>>subplot(212);>>stem(y,'.');>> title('滤波后的心电图信号');>>ylabel('y(n)');>>axis([0,56,-100,50]);>> figure(3);%绘制滤波前后的心电图频谱>> N =1024;>> n =0:N/2-1;>>Xk=fft(x,N);>>AXk=abs(Xk(1:N/2));>> f=(0:N/2-1)*Fs/N;>> f=f/Fs;>>subplot(211);>>plot(f,AXk);>> title('x(n)的频谱');>>xlabel('f');>>ylabel('|X(k)|');>>axis([0,0.5,0,400]);>>Yk = fft(y,N);>>AYk = abs(Yk(1:N/2));>>subplot(212);>>plot(f,AYk);>> title('y(n) 的频谱');>>ylabel('|Y(k)|');>>axis([0,0.5,0,400]);由图比较可知,该滤波器的作用:滤除高频,使得波形更加光滑。

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

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

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

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

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

二、实验原理与计算方法1、双线性变换法设计IIR 低通数字滤波器的基本原理和算法双线性变换法设计数字滤波器,采用了二次映射的方法,就是先将整个s 平面压缩到s 1平面的一个Tj Tj ππ~-的横形条带范围内,然后再将这个条带映射到z 平面上,就能建立s 平面到z 平面的一一对应关系。

对于低通数字滤波器,映射关系为zzT z z T s ++-=+-=--11211211 (1) 其中T 为抽样周期。

用双线性变换法设计低通IIR 数字滤波器的基本步骤,首先根据设计要求确定相应的模拟滤波器的传递函数)(s H a ,再应用(1)式得数字滤波器的传递函数)(z Hzz 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 之前,应作预畸变处理22tan 22tan 21T f TT TπΩΩ== (3)模拟滤波器的阶数N 、极点s i 和传递函数)(s H a 的计算方法与冲激响应不变法相同,可以采用Butterworth 逼近或Chebyshev 逼近。

2、双线性变换法设计IIR 高通、带通、带阻数字滤波器的基本原理和算法由于双线性变换法获得的数字滤波器频率响应特性中不会出现混叠现象,因此可以适用于高通、带通和带阻滤波器的设计。

IIR 数字滤波器的设计通常要借助于模拟低通滤波器的设计,由原型低通滤波器到其他形式(高通、带通、带阻)IIR 数字滤波器的频带变换有模拟频带变换法和数字频带变换法。

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

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

双线性变换法设计IIR数字滤波器一、实验目的1. 掌握利用双线性变换法设计IIR数字滤波器的原理和具体方法。

2. 深理解利用双线性变换法设计IIR数字滤波器的优缺点及使用范围。

二、实验内容1. 利用巴特沃思模拟滤波器,通过双线性变换法设计巴特沃思数字滤波器,数字滤波器的技术指标为通带临界频率fp=0.2πrad ,通带内衰减小于rp=1dB;阻带临界频率fs=0.3πrad,阻带内衰减大于rs=10dB;采样频率为FS=π/64.程序代码T=64/pi; %设置采样周期为π/64fs=1/T; %采样频率为周期倒数wpz=0.2;wsz=0.3;%设置归一化通带和阻带截止频率Wp=2*tan(wpz*pi/2);Ws=2*tan(wsz*pi/2);Ap=1;As=10; %设置通带最大和最小衰减[N,Wc]=buttord(Wp,Ws,Ap,As,'s'); %调用butter函数确定巴特沃斯滤波器阶数[B,A]=butter(N,Wc,'s'); %调用butter函数设计巴特沃斯滤波器W=linspace(0,pi,400*pi); %指定一段频率值[D,C]=bilinear (B,A,fs); %调用双线性变换法[Hz,W]=freqz(D,C,W);%返回频率响应sys=tf(D,C,T) % 给出传输函数H(z)subplot(3,1,1);plot(W,abs(Hz)/abs(Hz(1))); %绘出巴特沃斯数字低通滤波器的幅频特性曲线grid on;title('巴特沃斯数字滤波器1');xlabel('Frequency/Hz');ylabel('Magnitude');subplot(3,1,2);plot(W,20*log10(abs(Hz)));grid on;title('巴特沃斯数字滤波器1');xlabel('Frequency/Hz');ylabel('dB');[Nd,wdc]=buttord(wpz,wsz,Ap,As);[Bdz,Adz]=butter(Nd,wdc);[Hzz,W]=freqz(Bdz,Adz,W);subplot(3,1,3);plot(W,abs(Hzz)/abs(Hzz(1)));grid on;title('巴特沃斯数字滤波器2');xlabel('Frequency/Hz');ylabel('Magnitude');总结与体会在课设之前,我对滤波器设计中的函数基本上处于一种模糊状态。

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

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

实验三:用双线性变换法设计IIR 数字滤波器(设计性 4学时)一.实验目的:(1)熟悉用双线性变换法设计IIR 数字滤波器的原理与方法。

(2)掌握数字滤波器的计算机仿真方法。

(3)通过观察对实际心电图信号的滤波作用,获得数字滤波的感性知识。

二.实验内容及步骤:(1) 用双线性变换法设计一个巴特沃斯低通IIR 数字滤波器,设计指标参数为:在通带内频率低于0.2pi 时,最大衰减小于1dB;在阻带内[0.3pi , pi] 频率区间上,,最小衰减大于15dB ;(2) 以 0.02pi 为采样间隔,打印出数字滤波器在频率区间[ 0, 0.5pi]上的幅频响应特性曲线;(3) 用所设计的滤波器对实际心电图信号采样序列(在本实验后面给出)进行仿真滤波处理,并分别打印出滤波前后的心电图波形图,观察总结滤波作用与效果。

(4)采用不同阶数的Butterworth 低通滤波器,比较滤波效果。

三.实验步骤:(1)复习有关巴特沃斯模拟滤波器设计和用双线性变换法设计IIR 数字滤波器的内容,按照教材例6.4.2,用双线性变换法设计数字滤波器系统函数H (z )。

方法一:教材例6.4.2种已求出满足本实验要求的数字滤波器系统函数:方法二:根据设计指标,调用MATLAB 信号处理工具箱函数buttord 和butter ,也可得到H (z )。

(2)编写滤波器仿真程序,计算H(z)对心电图信号采样序列x(n)的相应序列y(n)。

(3)在通过计算机上运行仿真滤波程序,并调用通用绘图子程序,完成实验内容(2)和(3)。

本实验要用的MATLAB 绘图函数参阅教材。

四.,思考题:用双线性变换法设计数字滤波器过程中,变换公式: s=11z1z 1T 2--+-中T 的取值,对设计结果有无影响? 为什么? 五.实验报告要求(1)简述实验目的及原理;(2)由所打印的特性曲线及设计过程简述双线性变换法的特点;(3)对比滤波前后的心电图信号波形,说明数字滤波器的滤波过程与滤波作用;(4) 简要回答思考题.六:心电图信号采样序列 x(n):人体心电图信号在测量过程中往往受到工业高频干扰,所以必须经过低通滤波处理后,才能作为判断心脏功能的有用信息。

实验二 IIR数字滤波器设计

实验二  IIR数字滤波器设计

实验二 IIR 数字滤波器设计一.实验目的1.掌握双线性变换法设计IIR 数字滤波器的原理及具体设计方法,熟悉用双线性变换法设计低通、带通和高通IIR 数字滤波器的计算机编程。

2.观察用双线性变换法设计的数字滤波器的频域特性,了解双线性变换法的特点。

3.熟悉用双线性变换法设计数字Butterworth 和Chebyshev 滤波器的全过程。

4. 通过观察对实际心电图信号的滤波作用,获得数字滤波工程应用的认识。

二.实验原理与方法1. IIR 数字滤波器可以借助于模拟滤波器设计,即先设计一个适于技术要求的原型模拟滤波器,再按一定的准则用映射的方法将模拟原型的传递函数Ha(s)变换为数字滤波器的系统函数H(z),从而完成数字滤波器的设计任务。

这是一类简单而有效的方法,因为模拟滤波器理论已经相当成熟,有大量公式图表可以利用。

2. 双线性变换法的设计准则是使数字滤波器的频率响应与参考模拟滤波器的频率响应相似。

由双线性变换式 1111z s z ---=+ 建立s 平面与z 平面的单值映射关系,频率变换关系为()2tg ωΩ=。

s 平面的频率轴j Ω单值对应于z 平面上的单位圆j z e ω=,因此不存在频率混叠问题。

由于Ω与ω间的非线性关系,使各个临界频率位置发生非线性畸变,可以通过预畸变校正。

用双线性变换法设计数字滤波器时,先将数字滤波器的各临界频率经过频率预畸变求得模拟原型滤波器的各临界频率,设计模拟原型传递函数,通过双线性变换,正好将这些频率点映射到所需位置上。

双线性变换法设计数字低通滤波器步骤如下:(1)确定数字滤波器的性能指标,包括:通带、阻带临界频率,通带内最大衰减,阻带内最小衰减,采样周期 T 。

(2)确定相应的数字频率。

(3)计算预畸的模拟低通原型临界频率。

(4)计算低通原型阶数N 和3dB 频率ΩC ,求得传递函数Ha(s)。

(5)用低通变换公式1111z s z---=+代入Ha(s),求得数字滤波器系统函数H(z)。

(完整word版)用双线性变换法设计IIR数字低通滤波器课程设计

(完整word版)用双线性变换法设计IIR数字低通滤波器课程设计

V=课程设计报告书姓名:班级:学号:时间:设计题目用双线性变换法设计IIR数字低通滤波器设计要求1. 通过实验加深对双线性变换法设计IIR滤波器基本方法的了解.2. 了解MATLAB有关双线性变换法的子函数。

3.掌握用双线性变换法设计数字低通滤波器的方法。

本次课程设计是采用双线性变换法基于MATLAB设计一个IIR数字低通滤波器, 其中要求通带截止频率为ωp=0.25π;通带最大衰减Rp=1dB;阻带最小衰减As=15dB;阻带截止频率ωs=0.4π;滤波器采样频率Fs=100Hz.设计过程摘要: 根据IIR滤波器的特点, 在MATLAB坏境下用双线性变换法设计IIR数字滤波器。

利用MATLAB设计滤波器, 可以随时对比设计要求和滤波器特性调整参数, 直观简便, 极大的减轻了工作量, 有利于滤波器设计的最优化。

1.关键词:双线性变换法 , 数字滤波器 , MATLAB , IIR2.设计原理与步骤1.1设计原理滤波器的种类很多, 从功能上可分为低通、高通、带通和带阻滤波器, 每一种又有模拟滤波器和数字滤波器两种形式。

如果滤波器的输人和输出都是离散时间信号, 则该滤波器的冲击响应也必然是离散的, 这种滤波器称之为数字滤波器。

数字滤波器是一种用来过滤时间离散信号的数字系统, 通过对抽样数据进行数学处理来达到频域滤波的目的。

数字滤波器也是具有一定传输选择特性的数字信号处理装置, 其输入、输出均为数字信号, 实质上是一个由有限精度算法实现的线性时不变离散系统。

IIR数字滤波器采用递归型结构, 即结构上带有反馈环路。

IIR滤波器运算结构通常由延时、乘以系数和相加等基本运算组成, 可以组合成直接型、正准型、级联型、并联型四种结构形式, 都具有反馈回路。

数字滤波器根据其冲激响应函数的时域特性, 可分为两种, 即无限长冲激响应(IIR)数字滤波器和有限长冲激响应(FIR)数字滤波器。

IIR 数字滤波器的特征是, 具有无限持续时间冲激响应, 需要用递归模型来实现, 其差分方程为:(1-1)(1-2)设计IIR滤波器的任务就是寻求一个物理上可实现的系统函数H(z), 使其频率响应H(z)满足所希望得到的频域指标, 即符合给定的通带截止频率、阻带截止频率、通带衰减系数和阻带衰减系数。

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

实验三:用双线性变换法设计IIR 数字滤波器(设计性 4学时)一.实验目的:(1)熟悉用双线性变换法设计IIR 数字滤波器的原理与方法。

(2)掌握数字滤波器的计算机仿真方法。

(3)通过观察对实际心电图信号的滤波作用,获得数字滤波的感性知识。

二.实验内容及步骤:(1) 用双线性变换法设计一个巴特沃斯低通IIR 数字滤波器,设计指标参数为:在通带内频率低于0.2pi 时,最大衰减小于1dB;在阻带内[0.3pi , pi] 频率区间上,,最小衰减大于15dB ;(2) 以 0.02pi 为采样间隔,打印出数字滤波器在频率区间[ 0, 0.5pi]上的幅频响应特性曲线;(3) 用所设计的滤波器对实际心电图信号采样序列(在本实验后面给出)进行仿真滤波处理,并分别打印出滤波前后的心电图波形图,观察总结滤波作用与效果。

(4)采用不同阶数的Butterworth 低通滤波器,比较滤波效果。

三.实验步骤:(1)复习有关巴特沃斯模拟滤波器设计和用双线性变换法设计IIR 数字滤波器的内容,按照教材例6.4.2,用双线性变换法设计数字滤波器系统函数H (z )。

方法一:教材例6.4.2种已求出满足本实验要求的数字滤波器系统函数:方法二:根据设计指标,调用MATLAB 信号处理工具箱函数buttord 和butter ,也可得到H (z )。

(2)编写滤波器仿真程序,计算H(z)对心电图信号采样序列x(n)的相应序列y(n)。

(3)在通过计算机上运行仿真滤波程序,并调用通用绘图子程序,完成实验内容(2)和(3)。

本实验要用的MATLAB 绘图函数参阅教材。

四.,思考题:用双线性变换法设计数字滤波器过程中,变换公式: s=11z1z 1T 2--+-中T 的取值,对设计结果有无影响? 为什么? 五.实验报告要求(1)简述实验目的及原理;(2)由所打印的特性曲线及设计过程简述双线性变换法的特点;(3)对比滤波前后的心电图信号波形,说明数字滤波器的滤波过程与滤波作用;(4) 简要回答思考题.六:心电图信号采样序列 x(n):人体心电图信号在测量过程中往往受到工业高频干扰,所以必须经过低通滤波处理后,才能作为判断心脏功能的有用信息。

下面给出一实际心电图信号采样序列样式本x(n),其中存在高频干扰,在实验中,以x(n)作为输入序列,滤除其中的干扰成分。

{ x(n) } = { -4 , -2, 0, -4, -6, -4, -2, -4, -6, -6, -4, -4, -6, -6, -2, 6, 12, 8, 0, -16-38, -60, -84, -90, -66, -32, -4, -2, -4, 8,12, 12 , 10, 6, 6, 6, 4, 0, 0, 00, 0, -2, -4, 0, 0, 0, -2, -2, 0,0 , -2,, -2, -2, -2, 0}参考程序:一;T=1;Fs=1/T;wpz=0.2;wsz=0.3;wp=2*tan(wpz*pi/2);ws=2*tan(wsz*pi/2);rp=1;rs=15; [N,wc]=buttord(wp,ws,rp,rs,'s');[B,A]=butter(N,wc,'s');fk=0:1/512:1;wk=2*pi*fk;Hk=freqs(B,A,wk);subplot(2,2,1);plot(fk,20*log10(abs(Hk)));grid on;xlabel('\omega/\pi');ylabel('幅度(dB)');axis([0,1,-100,5]);title('(b)');[N,wc]=buttord(wpz,wsz,rp,rs);[Bz,Az]=butter(N,wc);wk=0:pi/512:pi;Hz=freqz(Bz,Az,wk);subplot(2,2,4);plot(wk/pi,20*log10(abs(Hz)));grid on;xlabel('\omega/\pi');ylabel('幅度(dB)');axis([0,1,-100,5]);title('(b)');二;x=[-4,-2,0,-4,-6,-4,-2,-4,-6,-6,-4,-4,-6,-6,-2,6,12,8,0,-16,-38,-60,-84,-90,-66,-32,-4,-2,-4,8,12,12,10 ,6,6,6,4,0,0,0,0,0,-2,-4,0,0,0,-2,-2,0,0,-2,-2,-2,-2,0];subplot(2,2,1);n=0:55;stem(n,x,'.');xlabel('n');ylabel('x(n)');title('x(n)的脉冲响应');A=0.09036;b1=[A,2*A,A];a1=[1,-1.2686,0.7051];h1=filter(b1,a1,x);[H1,w]=freqz(b1,a1,100);b2=[A,2*A,A];a2=[1,-1.0106,0.3583];h2=filter(b2,a2,h1);[H2,w]=freqz(b2,a2,100);b3=[A,2*A,A];a3=[1,-0.9044,0.2155];h3=filter(b3,a3,h2);[H3,w]=freqz(b3,a3,100);subplot(2,2,2);stem(n,h3,'.');xlabel('n');ylabel('y(n)');title('通过滤波器H1(z),H2(z),H3(z)后的y3(n)函数');subplot(2,2,3);H4=H1.*(H2);H=H4.*(H3);mag=abs(H);db=20*log10((mag+eps)/max(mag));plot(w/pi,db);xlabel('ω/π');ylabel('20log[Ha3(ejw)]');title('通过滤波器H1(z),H2(z),H3(z)后的对数频率响应20log[Ha3(ejw)]函数');grid;figure(2);N=1024;n=0:N/2-1;Xk=fft(x,N);AXk=abs(Xk(1:N/2));f=(0:N/2-1)*Fs/N;f=f/Fs;subplot(211);plot(f,AXk);title('x(n)的频谱');xlabel('f');ylabel('| X(k) |');axis([0,0.5,0,400]);Yk=fft(y,N);AYk=abs(Yk(1:N/2));subplot(212);plot(f,AYk);title('y(n)的频谱');xlabel('f');ylabel('| Y(k) |');axis([0,0.5,0,400])x=[-4,-2,0,-4,-6,-4,-2,-4,-6,-6,-4,-4,-6,-6,-2,6,12,8,0,-16,-38,-60,-84,-90,-66,-32,-4,-2,-4,8,12,12,10 ,6,6,6,4,0,0,0,0,0,-2,-4,0,0,0,-2,-2,0,0,-2,-2,-2,-2,0];subplot(2,2,1);n=0:55;stem(n,x,'.');xlabel('n');ylabel('x(n)');title('x(n)的脉冲响应');A=0.09036;b1=[A,2*A,A];a1=[1,-1.2686,0.7051];h1=filter(b1,a1,x);[H1,w]=freqz(b1,a1,100);b2=[A,2*A,A];a2=[1,-1.0106,0.3583];h2=filter(b2,a2,h1);[H2,w]=freqz(b2,a2,100);b3=[A,2*A,A];a3=[1,-0.9044,0.2155];h3=filter(b3,a3,h2);[H3,w]=freqz(b3,a3,100);subplot(2,2,2);stem(n,h3,'.');xlabel('n');ylabel('y(n)');title('通过滤波器H1(z),H2(z),H3(z)后的y3(n)函数');subplot(2,2,3);H4=H1.*(H2);H=H4.*(H3);mag=abs(H);db=20*log10((mag+eps)/max(mag));plot(w/pi,db);xlabel('ω/π');ylabel('20log[Ha3(ejw)]');title('通过滤波器H1(z),H2(z),H3(z)后的对数频率响应20log[Ha3(ejw)]函数'); grid;%x(n)的心电脉冲函数x=[-4,-2,0,-4,-6,-4,-2,-4,-6,-6,-4,-4,-6,-6,-2,6,12,8,0,-16,-38,-60,-84,-90,-66,-32,-4,-2,-4,8,12,12,10,6,6,6,4,0,0,0,0,0,-2,-4,0,0,0,-2,-2,0,0,-2,-2,-2,-2,0] subplot(2,2,1);n=0:55;stem(n,x,'.');xlabel('n');ylabel('x(n)');title('x(n)的心电脉冲函数');%通过滤波器H1(z)后的y1(n)函数A=0.09036;b1=[A,2*A,A];a1=[1,-1.2686,0.7051];h1=filter(b1,a1,x);[H1,w]=freqz(b1,a1,100);%通过滤波器H1(z),H2(Z)后的y2(n)函数b2=[A,2*A,A];a2=[1,-1.0106,0.3583];h2=filter(b2,a2,h1);[H2,w]=freqz(b2,a2,100);%通过滤波器H1(z),H2(Z),H3(Z)后的y3(n)函数b3=[A,2*A,A];a3=[1,-0.9044,0.2155];h3=filter(b3,a3,h2);[H3,w]=freqz(b3,a3,100);subplot(2,2,2);stem(n,h3,'.');xlabel('n');ylabel('y(n)');title('通过滤波器H1(Z),H2(Z),H3(Z)后的y3(n)函数');subplot(2,2,3);H4=H1.*(H2);H=H4.*(H3);mag=abs(H);db=20*log10((mag+eps)/max(mag));plot(w/pi,db);xlabel('w/pi');ylabel('20log[Ha3(ejw)]');title('通过滤波器H1(z)、H2(z)、H3(z)后的对数频率响应20log[Ha3(ejw)]函数'); grid;。

相关文档
最新文档