双线性变换法设计数字滤波器
- 格式:doc
- 大小:168.00 KB
- 文档页数:10
实验九 双线性变换法设计Butterworth 低通数字滤波器一、 实验目的1. 熟悉利用模拟滤波器设计数字滤波器的基本过程;2. 熟悉双线性变换法设计数字滤波器的基本原理;3. 熟悉基于matlab 的实现双线性变换法设计Butterworth 低通数字滤波器。
二、 实验原理1. 利用模拟滤波器设计数字滤波器利用模拟滤波器设计数字滤波器是数字滤波器设计的间接方法。
其基本原理是先设计出模拟滤波器,然后通过频带变换和数字化的方法把模拟低通滤波器变换成数字滤波器。
主要方法有冲激响应不变法,阶跃响应不变法和双线性变换法。
其中双线性变换法由于没有频率响应的混叠失真,可适用于低通、带通、高通和带阻各种滤波器设计,比其它两种方法适用范围更广。
2. 双线性变换法(1)基本思路模拟滤波器数字化成数字滤波器的方法,就是要把s 平面映射到z 平面,使模拟系统函数Ha(s)变换成所需数字滤波器的系统函数H(z)。
双线性变换是使数字滤波器的频率响应与模拟滤波器的频率响应相似的一种变换,它使得Ω和ω之间是单值映射关系可以避免频率响应的混叠失真。
(2)变换关系使用双线性变换法,模拟滤波器的s 域系统函数与数字滤波器的z 域系统函数存在如下变换关系(1) T 为抽样间隔,f s =1/T 。
模拟滤波器的频率响应与数字滤波器的频率响应存在如下变换关系(2)模拟滤波器的频率Ω到数字滤波器的频率ω是非线性频率变换关系(3)双线性变换法主要用于分段常数的频率响应滤波器中,例如低通、高通、带通、带阻等,这是大多数滤波器都具有的幅度特性。
分段常数的模拟滤波器AF ,经变换后仍然为分段常数的数字滤波器DF ,但是各分段的临界频率点由于非线性频率变换而产生变化,这种变化可以用频率“预畸”来加以克服。
频率预畸即若给定数字滤波器的截止频率为ωi ,则根据1211()()z a s T zH z H s --=+=2tan()22()()tan()2j a a T H e H j H j T ωωωΩ=⎡⎤=Ω=⎢⎥⎣⎦2tan()2T ωΩ=上面公式(3)将它预畸为 ,以此Ωi 来设计“样本”AF ,将设计好的“样本”AF 经双线性变换后,就得到所需的DF ,它的截止频率正是原先要求的ωi ,预畸是双线性变换法设计必须要去的一步。
燕山大学课程设计说明书题目:双线性变换法设计数字低通滤波器学院(系):电气工程学院年级专业:检测学号:学生姓名:沫沫指导教师:王娜教师职称:讲师电气工程学院《课程设计》任务书课程名称:数字信号处理课程设计说明:1、此表一式四份,系、指导教师、学生各一份,报送院教务科一份。
2、学生那份任务书要求装订到课程设计报告前面。
电气工程学院教务科目录第一章绪论 (4)第二章用双线性变换法设计低通滤波器的主要原理 (5)2.1 双线性变换法 (5)2.1.1 双线性变换法的基本原理 (5)2.1.2 转换关系分析 (6)2.2 巴特沃斯低通滤波器原理 (9)第三章用双线性变换法设计低通滤波器步骤 (11)第四章 MATLAB程序 (11)第五章程序中命令介绍 (13)第六章运行结果及波形 (14)第七章结果分析 (16)第八章心得体会 (17)参考文献 (18)第一章 绪论数字滤波器是对数字信号实现滤波的线性时不变系统。
数字滤波实质上是一种运算过程,实现对信号的运算处理。
输入数字信号(数字序列)通过特定的运算转变为输出的数字序列,因此,数字滤波器本质上是一个完成特定运算的数字计算过程,也可以理解为是一台计算机。
描述离散系统输出与输入关系的卷积和差分方程只是给数字信号滤波器提供运算规则,使其按照这个规则完成对输入数据的处理。
时域离散系统的频域特性:)()()(ωωωj j j e H e X e Y =,其中)(ωj e Y 、)(ωj e X 分别是数字滤波器的输出序列和输入序列的频域特性(或称为频谱特性),)(ωj e H 是数字滤波器的单位取样响应的频谱,又称为数字滤波器的频域响应。
输入序列的频谱)(ωj e X 经过滤波后)()(ωωj j e H e X ,因此,只要按照输入信号频谱的特点和处理信号的目的, 适当选择)(ωj e H ,使得滤波后的)()(ωωj j e H e X 满足设计的要求,这就是数字滤波器的滤波原理。
实验_三_题目_用双线性变换法设计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数字滤波器。
用双线性变换法设计滤波器双线性变换法(bilinear transformation)是一种在频率域中设计数字滤波器的方法。
它将连续时间域的滤波器设计问题转换为离散时间域中的滤波器设计问题,通过对非线性的差分方程进行线性变换,从而得到数字滤波器的解。
这种方法的基本思想是利用双线性变换将连续时间域的滤波器转换为离散时间域的滤波器。
为了理解双线性变换法的原理和过程,我们需要从一些基本概念开始。
1. 连续时间域滤波器设计:连续时间域的滤波器常用传递函数或者差分方程进行描述。
传递函数形式是s域(Laplace变换域)的函数,差分方程形式是z域(Z变换域)的函数。
2.离散时间域滤波器设计:离散时间域的滤波器常用差分方程进行描述,形式是z域(Z变换域)的函数。
在滤波器设计中,我们希望将连续时间域的滤波器转换为离散时间域的滤波器,以在实际中应用。
双线性变换法就是一种实现这一转换的方法。
具体来说,双线性变换法通过将s域中的传递函数或者差分方程进行线性变换,得到z域中对应的离散时间域的传递函数或者差分方程。
这一变换可以通过以下步骤实现:1.预变换:将连续时间域的传递函数或者差分方程转换为z域的表达式。
在预变换中,我们通常将s域中的传递函数或者差分方程进行预处理,以适应z域中变换的需求。
2.双线性变换:将预处理后的s域表达式进行双线性变换,得到z域中的离散时间域传递函数或者差分方程。
在双线性变换中,我们通过将s域中的变量s替换为z域的变量z来实现。
这样一来,我们就得到了离散时间域的滤波器表达式。
3.后处理:对双线性变换得到的离散时间域表达式进行后处理,以满足具体的滤波器设计需求。
后处理可能包括对滤波器进行归一化、进行频率响应调整等操作。
通过以上步骤,我们可以将连续时间域的滤波器设计转换为离散时间域的滤波器设计,从而实现在实际中应用滤波器的目的。
需要注意的是,双线性变换法虽然是一种常用的滤波器设计方法,但也存在一些限制和问题。
语音信号的数字滤波—IIR数字滤波器的双线性变换法设计设计题目:语音信号的数字滤波—IIR数字滤波器的双线性变换法设计一、课程设计的目的通过对常用数字滤波器的设计和实现,掌握数字信号处理的工作原理及设计方法;掌握利用数字滤波器对信号进行滤波的方法。
并能够对设计结果加以分析。
二、设计步骤2.1数字滤波器的介绍数字滤波器(digital filter)是由数字乘法器、加法器和延时单元组成的一种装置。
其功能是对输入离散信号的数字代码进行运算处理,以达到改变信号频谱的目的。
由于电子计算机技术和大规模集成电路的发展,数字滤波器已可用计算机软件实现,也可用大规模集成数字硬件实时实现。
数字滤波器广泛用于数字信号处理中,如电视、VCD、音响等。
数字滤波器是一个离散时间系统(按预定的算法,将输入离散时间信号转换为所要求的输出离散时间信号的特定功能装置)。
应用数字滤波器处理模拟信号时,首先须对输入模拟信号进行限带、抽样和模数转换。
数字滤波器输入信号的抽样率应大于被处理信号带宽的两倍,其频率响应具有以抽样频率为间隔的周期重复特性,且以折叠频率即1/2抽样频率点呈镜像对称。
为得到模拟信号,数字滤波器处理的输出数字信号须经数模转换、平滑。
数字滤波器具有高精度、高可靠性、可程控改变特性或复用、便于集成等优点。
2.2课程设计的总体思路滤波器的设计过程首先从确定滤波器技术指标开始,即给出对频率响应的幅度和相位的要求,或对滤波器单位采样响应或阶跃响应的要求,以及滤波器类型(FIR和IIR)指标及阶数。
确定了这些技术指标以后,下一步就是求一组系数,这些系数就生成了可接受的滤波器。
MATLAB的信号处理工具箱提供了支持实现FIR滤波器和IIR滤波器设计方法的函数,使繁琐的程序设计简化为函数的调用,同时还简化了滤波器的表达方式和滤波器形式之间的相互转换。
利用双线性变换法,把模拟低通原型数字化成数字低通滤波器,然后利用数字频带变换法,将它变成所需要的各型数字滤波器。
双线性变换法在数字滤波器上应用冲击响应不变法是使数字滤波器在时域上模仿模拟滤波器的冲击响应,但是它的缺点是产生频响的混叠失真,这是因为从s平面到z平面不是一一映射关系。
为了克服这个缺点,可以采用双线性变换法。
既然冲击响应不变法是将一条横带变换到整个z平面上去,可以将s平面压缩变换到某一中介s1平面的一条横带里,再通过标准变换关系z=exp(s1*T)将此带变换到整个z平面上去,这样就使s平面与z平面之间建立一一对应的单值关系,消除了多值变换性。
为了将s平面的jΩ轴压缩到s1平面的jΩ1轴上的-pi/T到pi/T一段上,可以通过以下的正切变换来实现:Ω=c*tan(Ω1*T/2)这里c是任意常数。
这样当Ω1由-pi/T经0变化到pi/T时,Ω由-∞经过0变化到+∞,也映射到了整个jΩ轴。
将这个关系延拓到整个s平面和s1平面,则可以得到s=c*tanh(s1*T/2)=c*[1-exp(-s1*T)] /[1+exp(-s1*T)]再将s1平面通过标准变换关系映射到z平面,即令z=exp(s1*T),并且,通常取c=2/T,得到s=(2/T) * [1-z^(-1)] / [1+z^(-1)]同样对z求解,得到z=[1+((2/T)*s] / [1-((2/T)*s]这样的变换叫做双线性变换。
为了验证这种映射具有s平面的虚轴映射到z平面单位圆上的特性,考虑z=exp(j*ω),得s=(2/T) * [1-exp(-j*ω)] / [1+exp(-j*ω)]=(2/T) * j*[sin(ω/2)]/ cos(ω/2)]=(2/T) * j * tan(ω/2)=jΩ除了使s平面的虚轴映射到单位圆上之外,s平面的左半部分映射到单位圆的内部,s平面的右半部分映射到单位圆的外部。
观察式子z=[1+((2/T)*s] / [1-((2/T)*s],发现s的实部为负时,因子[1+((2/T)*s] / [1-((2/T)*s]的幅度小于1,相当于单位圆的内部。
用双线性变换法设计低通数字滤波器设计目的:利用双线性变换法实现模拟和数字滤波器幅度特性设计内容: 设计低通数字滤波器,要求在通带内频率低于0.2πrad 时,容许幅度误差在1dB 以内;在频率0.3π到π之间的阻带衰减大于15dB 。
指定模拟滤波器采用巴特沃斯低通滤波器。
试分别用双线性变换法设计数字低通滤波器。
设计原理:一、通过模拟滤波器设计IIR 数字滤波器IIR 数字滤波器在Z 域中的传递函数为一有理分式,即()()()1011111,11MMrrr r r N Nkk kk k c z b zH z Aa z d z --==--==-==--∑∑而模拟滤波器在S 域中的传递函数为()()()101101111MMrrr r r N Nkk kk k c s b sH s Aa s d s -==-==-==+-∑∑ 。
可见H(z)与H(s)具有相同的形式,利用线性映照的方法,可以把S 平面上的模拟滤波器映照成Z 平面上的IIR 数字滤波器。
按技术要求设计一个模拟滤波器()s a H ,然后按一定的映照关系将()s a H 中成数字滤波器的要求,必须对由复变量S 到复变量Z 直接的映照提出如下要求: ⑴因果温度的模拟滤波器转换成数字滤波器后仍是因果温度的,因此,映射应使S 平面的左半平面[]Re 0s <映射为Z 平面的单位圆内部,1z <。
⑵数字滤波器的幅频特性应与模拟滤波器的幅频特性一致,故S 平面的虚轴j Ω线性映射到Z 平面的单位圆j e ω上,即频率轴要对应。
下图表明了上述映照关系模拟滤波器到数字滤波器的转换可以在时域实现,也可以在频域实现。
时域转换法是使数字滤波器的时域响应与模拟滤波器的时域采样值相等,具体方法有:冲激不变法、阶跃不变法和匹配Z 变换法。
频域变换法是使数字滤波器在/T ππ-≤Ω<范围内的幅度特性与模拟滤波器在//T T ππ-≤Ω<范围内的幅度特性一致,具体方法有:双线性变换法,微分映照法。
利用双线性变换法设计以下数字滤波器:① 巴特沃斯类型数字低通滤波器,要求通带πω2.0≤,通带波纹dB 11≤δ;阻带为πωπ≤≤3.0,阻带波纹dB 302≥δ,T 取0.5ms 。
用切比雪夫类型重新设计。
T 取0.1ms ,用两种类型重新设计: 巴特沃斯类型低通滤波器:wp=2*2000*tan(0.2*pi/2); ws=2*2000*tan(0.3*pi/2); rp=1; rs=30; fs=2000;[n,wn]=buttord(wp,ws,rp,rs,'s'); [b,a]=butter(n,wn,'s'); [B,A]=bilinear(b,a,2000); [h,w]=freqz(B,A); subplot(2,1,1)plot(w/pi,20*log10(abs(h))) gridsubplot(2,1,2) plot(w/pi,angle(h)) grid切比雪肤类型低通滤波器:wp=2*10000*tan(0.2*pi/2); ws=2*10000*tan(0.3*pi/2); rp=1; rs=30; fs=10000;[n,wn]=cheb1ord(wp,ws,rp,rs,'s');[b1,a1]=cheby1(n,rp,wn,'s'); [b2,a2]=cheby2(Nn,rp,wNn,'s'); [B1,A1]=bilinear(b1,a1,2000); [B2,A2]=bilinear(b2,a2,2000); [h1,w1]=freqz(B1,A1); [h2,w2]=freqz(B2,A2); subplot(2,2,1)plot(w/pi,20*log10(abs(h1))) title('cheb1') gridsubplot(2,2,2)plot(w/pi,20*log10(abs(h2))) title('cheb2') gridsubplot(2,2,3) plot(w/pi,angle(h1)) gridsubplot(2,2,4) plot(w/pi,angle(h2)) grid② 巴特沃斯类型数字带通滤波器,通带πωπ4.02.0≤≤,通带波纹dB 21≤δ,阻带为πωπω6.0,1.0≥≤,阻带波纹dB 202≥δ。
实验六用双线性变换法设计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 。
双线性变换法设计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 平面之间的单值映射关系,这种变换都是两个线性函数之比,因此成为双线性变换。
依靠双线性变换是建立起来s 平面和z 平面的单值映射关系,由上式我们可以得到模拟频率Ω和数字频率ω之间的关系:2tan()2T ωΩ= (1-7)从上式可知,当Ω→∞时,ω终止在折叠频率ω=π处,整个j Ω轴是单值地对应于单位元的一周。
因此双线性变换法不同于脉冲响应不变法,它不存在频率混淆问题。
由于S 平面的左半平面映射到Z 平面的单位圆内,S 平面的右半平面映射到Z 平面的单位圆外,S 平面的虚轴映射到Z 平面的单位圆上。
因此,稳定的模拟滤波器经双线性变换后所得到的数字滤波器也一定是稳定的。
但是,它的频率变换关系是非线性畸变。
这种非线性即便可以通过预畸变来校正。
用双线性变换设计数字滤波器时,一般总是先将数字滤波器的各临界频率经式(1-7)的频率预畸变,求得相应参考模拟滤波器的各临界频率,然后设计参考模拟滤波器的传递函数,最后通过双线性变换公式球的数字滤波器的传递函数。
这样通过双线性变换,正好将这些频率点映射到我们所需要的位置上。
下面我们走即利用模拟滤波器设计IIR 数字低通滤波器的步骤。
a)确定数字低通滤波器的技术指标:同代截止频率p ω、同代衰减p α、阻带截止频率ω、阻带衰减s α。
b)将数字低通滤波器的技术指标转换成模拟低通滤波器的技术指标。
采用双线性变换法,便捷频率的转换关系为2tan()2T ωΩ=c)按照模拟低通滤波器的技术指标设计模拟低通滤波器。
d )将模拟滤波器系统函数Ha(S)从s 平面转换到z 平面,得到数字低通滤波器系统反函数Ha(z)。
H(z)=Ha (S )|1111Z S Z ---=+三:实验内容: 1)用双线性变换法设计巴特沃斯IIR 数字滤波器。
设计指标为:通带内频率低于0.2π时,最大衰减小于1dB ;在阻带[0.3π,π]频带区间上,最小衰减小于15dB 。
2)以0.02π为采样间隔,绘出数字滤波器在频率区间[0,π/2]上的幅度响应特性曲线。
3)用所设计的滤波器对实际心电图信号采样序列进行仿真滤波处理,并分别会出滤波前后的波形图,观察总结滤波作用与效果。
实际心电图信号采样样本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,0,0,0,-2,-4,0,0,0,-2,-2,0,0,-2,-2,-2,-2,0,0]四:试验步骤1)复习有关巴特沃斯模拟滤波器内容和用双线性变换法设计IIR数字滤波器内容。
2)编制滤波器仿真程序,计算H(z)对心电图采样序列的相应序列y(n).3)运行程序,并绘出图形,完成实验内容2)和3)。
五:实验程序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,0];k=1;close all;figure(1)subplot(3,3,1)n=0:56;stem(n,x,'.');axis([0 56 -100 50]);hold on;n=0:60;m=zeros(61);ylabel('x(n)');title('心电图信号采样序列x(n)');B=[0.09036 2*0.09036 0.09036];A=[1.2686 -0.7051];plot(n,m);xlabel('n');A1=[1.0106 -0.3583];A2=[0.9044 -0.2155];while(k<=3)y=filter(B,A,x);x=y;if k==2A=A1;endif k==3A=A2;endk=k+1;endsubplot(3,3,2)n=0:56;stem(n,y,'.');axis([0 56 -15 5]);hold on;n=0:60;m=zeros(61);plot(n,m);xlabel('n');ylabel('y(n)');title('双线性变换法设计IIR滤波后的心电图信号');%双线性变换法设计ButterWorth数字滤波器幅频特性A=[0.09036,0.1872,0.09036];B1=[1,-1.2686,0.7051];B2=[1,-1.0106,0.3583];B3=[1,-0.9044,0.2155];[H1,w]=freqz(A,B1,100);%数字滤波器频率响应[H2,w]=freqz(A,B2,100);[H3,w]=freqz(A,B3,100);H4=H1.*(H2);H=H4.*(H3);mag=abs(H);db=20*log10((mag+eps)/max(mag));subplot(3,3,5)plot(w/pi,db);axis([0,0.5,-50,10]);xla bel('w/π');ylabel('20lg|H(ejw|');title('双线性变换法设计IIR滤波器的幅频响应曲线');%脉冲响应不变法设计ButterWorth数字滤波器幅频特性C1=[0.2871 -0.4466];C2=[-2.1428 1.1454];C3=[1.8558 -0.6304];D1=[1 -0.1297 0.6949];D2=[1 -1.0691 0.3699];D3=[1 -0.9972 0.2570];[E1,w]=freqz(C1,D1,100);[E2,w]=freqz(C2,D2,100);[E3,w]=freqz(C3,D3,100);E4=E1+E2;E=E4+E3;mag=abs(E);db=20*log10((mag+eps)/max(mag));subplot(3,3,6)plot(w/pi,db);axis([0,0.5,-50,10]);xlabel('w/π');ylabel('20lg|H(ejw|');title('脉冲响应不变法滤波器的幅频响应曲线');1)确定滤波阶段函数buttord格式:[N,Wn]=buttord(Wp,Ws,Rp,Rs)其中N:满足指标的最低滤波器阶数Wn:巴特沃斯自然频率Rp:同代最大衰减Rs:阻带最小衰减Wp、Ws归一化的通带和阻带边缘频率。
一如:低通:Wp=.1, Ws=.2高通:Wp=.2 Ws=.1带通:Wp=[.2.7],Ws=[.1.8]带阻:Wp=[.1.8],Ws=[.2.7]2)确定地同模拟滤波器原函数buttap格式:[Z,P,K]=buttap(N)其中N:满足指标的最低滤波器阶数Z:N 阶归一化原型巴特沃斯模拟低通滤波器的零点 P:N 阶归一化原型巴特沃斯模拟低通滤波器的极点 K:N 阶归一化原型巴特沃斯模拟低通滤波器的增益 3)双线性变换函数billinear格式:[NUMd,DENd]=bilinear(NUM,DEN,Fs)其中NUM:s 域转移函数分子系数按幂递减方式排列的行向列 DEN: s 域转移函数分母系数按幂递减方式排列的行向列 Fs:采样频率NUMd:z 域转移函数分子系数按幂递减方式排列的行向列 DENd:z 域转移函数分母系数按幂递减方式排列的行向列 4)滤波函数filter 格式y=filter(b,a,x)参数:a=[012a ...M a a a ]:滤波器系数 b=[012...N b b b b ]:滤波器系数 x=输入序列矢量 y=为滤波器后的输出 及滤波器的洗漱函数: H(z)=标准形式中0a =1,若输入滤波器系数a 中0a 0,系数给出出错是信息。
4) 绘制幅频特性曲线函数freqz六:思考题1.双线性变换法和脉冲响应相比较,有哪些优点和缺点?为什么?答:双线性变换法的优点是不同于脉冲响应不变法,s平面z平面是单值的一一对应关系,不存在频谱混淆的问题,数字频域和模拟频域的频率不是线性关系。
这种非线性关系式的通带截止频率、过渡带的边缘频率的相对应位置都发生了非线性畸变。