双线性变换法设计数字滤波器
双线性变换法设计一巴特沃什数字低通滤波器

(2)将输入信号分别改变成50 Hz与80 Hz、50 Hz与150 Hz、50 Hz与200 Hz两正弦信号的迭加,再观察滤波器的输入输出波形,体会和评价滤波结果。
w3(n)= y2(n)+0.94592w3(n–1)–0.23422w3(n–2)
y(n)=0.08338 w3(n )+0.16676w3(n–1)+0.08338w3(n–2)
初始条件为n < 0时,x(n)=w1(n) =w2(n) =w3(n)=0。
3.计算机实现
在理解和掌握以上设计过程的基础上,根据系统的输入输出方程,编制程序实现滤波器的计算,并验证其滤波性能。滤波器的输入仍采用正弦抽样信号,方法同实验一和实验二。其频率f、取样间隔T、取样点数N仍通过人机对话方式输入,以便调整。
由上述结构,写出系统的输入输出方程:
w1(n)=x(n)+1.31432w1(n–1)–0.71489w1(n–2)
y1(n)=0.08338 w1(n )+0.16676w1(n–1)+0.08338w1(n–2)
w2(n)= y1(n)+1.0541w2(n–1)–0.37534w2(n–2)
y2(n)=0.08338 w2(n )+0.16676w2(n–1)+0.08338w2(n–2)
/*画输入输出波形*/
draw(N,x,y);
getch();
closegraph();
}
void draw(int N,float xx[],float yy[])
实验9 双线性法设计巴特沃思低通数字滤波器

实验九 双线性变换法设计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 ,预畸是双线性变换法设计必须要去的一步。
双线性变换法设计IIR数字滤波器

双线性变换法设计IIR数字滤波器实验四双线性变换法设计IIR数字滤波器(实验学时:2学时)⼀、实验⽬的1、掌握IIR数字滤波器设计的⼀般⽅法和步骤;2、学会利⽤给定的技术指标,设计满⾜设计要求的IIR模拟原型滤波器;3、掌握⽤双线性变换法设计IIR数字滤波器的原理与⽅法;4、掌握数字滤波器的计算机仿真⽅法;5、学会⽤所设计的滤波器对实际信号进⾏滤波处理,获得对数字滤波的感性认识。
⼆、实验基本原理与⽅法⽬前,IIR数字滤波器设计的最通⽤的⽅法是借助于模拟滤波器的设计⽅法。
模拟滤波器的设计已经有了⼀套相当成熟的⽅法,它不但有完整的设计公式,⽽且还有较为完整的图表供查询,因此,充分利⽤这些已有的资源将会给数字滤波器的设计带来很⼤的⽅便。
IIR数字滤波器的设计步骤如下:1、按⼀定规则将给出的数字滤波器的技术指标转换成模拟低通滤波器的技术指标;2、根据转换后的技术指标设计模拟低通滤波器()G s。
常⽤的模拟低通滤波器主要有巴特沃什模拟滤波器、切⽐雪夫模拟滤波器、椭圆滤波器等。
各种模拟滤波器的特点及设计⽅法参看教材第三章内容,在Matlab中,各种模拟滤波器的设计都有相应的函数来实现。
3、将设计出的模拟滤波器按⼀定规则转换成数字滤波器()H z。
常⽤的转换⽅法有两种:冲激响应不变法和双线性映射法。
这两种⽅法的特点及转换公式可参考教材第三章的内容,在Matlab中,⼆者分别由impinvar函数和bilinear函数实现。
若设计的数字滤波器是低通的,那么上述设计⼯作可以结束,若所设计的是⾼通、带通或带阻滤波器,那么还有步骤(4);(4)将⾼通、带通或带阻数字滤波器的技术指标先转化为模拟低通滤波器的技术指标,然后按上述步骤(2)设计出模拟低通数字滤波器,再将其转换为所需的数字滤波器。
三、实验内容及步骤本实验主要包括以下三个⽅⾯的内容:1、设计⼀巴特沃什模拟低通滤波器,技术指标参数如下:在通频带内频率低于10Hz 时,最⼤衰减⼩于1dB ;在阻带内频率⼤于15Hz 时,最⼩衰减⼤于15dB 。
实验三用双线性变换法设计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数字滤波器matlab

实验四双线性变换法设计IIR数字滤波器一、实验目的1.掌握利用双线性变换法设计IIR数字滤波器的原理和具体方法。
2.深入理解利用双线性变换法设计IIR数字滤波器的优缺点及使用范围。
二、实验内容1.利用巴特沃思模拟滤波器,通过双线性变换法设计巴特沃思数字滤波器,数字滤波器的技术指标为采样周期为T=1。
程序代码T=2; %设置采样周期为2fs=1/T; %采样频率为周期倒数Wp=0.25*pi/T;Ws=0.35*pi/T; %设置归一化通带和阻带截止频率Ap=20*log10(1/0.9);As=20*log10(1/0.18); %设置通带最大和最小衰减[N,Wc]=buttord(Wp,Ws,Ap,As,'s'); %调用butter函数确定巴特沃斯滤波器阶数[B,A]=butter(N,Wc,'s'); %调用butter函数设计巴特沃斯滤波器W=linspace(0,pi,400*pi); %指定一段频率值hf=freqs(B,A,W); %计算模拟滤波器的幅频响应subplot(2,1,1);plot(W/pi,abs(hf)/abs(hf(1))); %绘出巴特沃斯模拟滤波器的幅频特性曲线grid on;title('巴特沃斯模拟滤波器');xlabel('Frequency/Hz');ylabel('Magnitude');[D,C]= bilinear (B,A,fs); %调用双线性变换法Hz=freqz(D,C,W); %返回频率响应subplot(2,1,2);plot(W/pi,abs(Hz)/abs(Hz(1))); %绘出巴特沃斯数字低通滤波器的幅频特性曲线grid on;title('巴特沃斯数字滤波器');xlabel('Frequency/Hz');ylabel('Magnitude');进行试验输出图像:实验分析通过查workspace 可以得出脉冲响应为:滤波器幅度响应: 滤波器相位响应:2. 利用巴特沃思模拟滤波器,通过双线性变换法设计数字带阻滤波器,数字滤波器的技术指标为00.10.20.30.40.50.60.70.80.910.51巴特沃斯模拟滤波器Frequency/HzM a g n i t u d e00.10.20.30.40.50.60.70.80.910.511.5巴特沃斯数字滤波器Frequency/HzM a g n i t u d e采样周期为T=1。
用双线性变换法设计滤波器

用双线性变换法设计滤波器双线性变换法(bilinear transformation)是一种在频率域中设计数字滤波器的方法。
它将连续时间域的滤波器设计问题转换为离散时间域中的滤波器设计问题,通过对非线性的差分方程进行线性变换,从而得到数字滤波器的解。
这种方法的基本思想是利用双线性变换将连续时间域的滤波器转换为离散时间域的滤波器。
为了理解双线性变换法的原理和过程,我们需要从一些基本概念开始。
1. 连续时间域滤波器设计:连续时间域的滤波器常用传递函数或者差分方程进行描述。
传递函数形式是s域(Laplace变换域)的函数,差分方程形式是z域(Z变换域)的函数。
2.离散时间域滤波器设计:离散时间域的滤波器常用差分方程进行描述,形式是z域(Z变换域)的函数。
在滤波器设计中,我们希望将连续时间域的滤波器转换为离散时间域的滤波器,以在实际中应用。
双线性变换法就是一种实现这一转换的方法。
具体来说,双线性变换法通过将s域中的传递函数或者差分方程进行线性变换,得到z域中对应的离散时间域的传递函数或者差分方程。
这一变换可以通过以下步骤实现:1.预变换:将连续时间域的传递函数或者差分方程转换为z域的表达式。
在预变换中,我们通常将s域中的传递函数或者差分方程进行预处理,以适应z域中变换的需求。
2.双线性变换:将预处理后的s域表达式进行双线性变换,得到z域中的离散时间域传递函数或者差分方程。
在双线性变换中,我们通过将s域中的变量s替换为z域的变量z来实现。
这样一来,我们就得到了离散时间域的滤波器表达式。
3.后处理:对双线性变换得到的离散时间域表达式进行后处理,以满足具体的滤波器设计需求。
后处理可能包括对滤波器进行归一化、进行频率响应调整等操作。
通过以上步骤,我们可以将连续时间域的滤波器设计转换为离散时间域的滤波器设计,从而实现在实际中应用滤波器的目的。
需要注意的是,双线性变换法虽然是一种常用的滤波器设计方法,但也存在一些限制和问题。
双线性变换法设计数字滤波器

双线性变换法在数字滤波器上应用冲击响应不变法是使数字滤波器在时域上模仿模拟滤波器的冲击响应,但是它的缺点是产生频响的混叠失真,这是因为从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 ππ-≤Ω<范围内的幅度特性一致,具体方法有:双线性变换法,微分映照法。
实验三:用双线性变换设计IIR数字滤波器

实验三:用双线性变换设计IIR数字滤波器pb03023058 甘小华一、实验目的1、熟悉用双线性变换法设计IIR数字滤波器的原理与方法。
2、掌握数字滤波器的计算机方针方法。
3、通过观察对实际心电图信号的滤波作用,获得数字滤波器的感性知识。
二、实验原理冲激响应不变法设计IIR数字滤波器会引起频域的混叠,因此有了双线性变换设计IIR 数字滤波器。
双线性变换所采用的由s平面到z平面的映射为s=(z-1) / (z+1)即z=(1+s) / (1-s)三、实验内容1、用双线性变换法设计一个巴特沃斯低通IIR数字滤波器。
设计参数:在通带内频率低于0.2*pi时,最大衰减小于1dB;在阻带内[0.3*pi,pi]频率区间上,最小衰减大于15dB。
2、以0.02*pi为采样间隔,打印出数字滤波器在频率区间[0,pi/2]上的幅频响应特性曲线。
3、用所设计的滤波器对实际心电图信号序列进行仿真滤波处理,可采用filter函数。
4、求得满足本实验要求的数字滤波器系统函数H(z)=H1(z)+H2(z)+H3(z)Hi(z)=A(1+2/z+1/zz) / (1-Bi/z-Ci/zz)式中A=0.09036B1=1.2686 C1=-0.7051B2=1.0106 C2=-0.3583B3=0.9044 C3=-0.21555、实验所用的matlab程序为: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);n=1:56;stem(n,x,'.');axis([0 56 -100 50]);hold on;n=0:60;m=zeros(61);plot(n,m);xlabel('n');ylabel('x(n)');title('心电图信号采样序列x(n)');B=[0.09036 2*0.09036 0.09036];A=[1.2686 -0.7051];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(2,2,3);n=1:56;stem(n,y,'.');axis([0 56 -15 5]);hold on;n=0:60m=zeros(61);plot(n,m);xlabel('n');ylabel('y(n)');title('三级滤波后的心电图信号');A=[0.09036,0.1872,0.09036];B1=[1,-1.2688,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(2,2,2);plot(w/pi,db);axis([0,0.6,-50,10]);xlabel('w/pi');ylabel('20log10|H(jw)|');title('滤波器的幅频响应曲线');6、 运行该程序,得到下面三幅图n x (n )(b)ny (n )(c)w/pi20l o g 10|H (j w )|(a)图(a) 滤波器的幅频衰减曲线(b) 心电图信号采样序列 (c) 三级滤波后的心电图信号7、 实验总结:(1) 双线性变换的特点:双线性变换采用的是非线性频率映射,消除了冲激响应不变法中的频域混叠现象,并且幅频响应的衰减比较快,这正是我们所希望的。
利用双线性变换法设计以下数字滤波器

利用双线性变换法设计以下数字滤波器:① 巴特沃斯类型数字低通滤波器,要求通带πω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数字滤波器

实验六用双线性变换法设计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数字滤波器设计

双线性变换法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数字滤波器一、实验目的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数字滤波器

实验内容及步骤
5、设计一个CB型带通DF,满足:通带边界频率为100Hz~500Hz, 通带衰耗小于3dB,过渡带宽20Hz,阻带衰耗大于15dB,取样频率 fs=2000Hz。写出其模拟滤波器方程及数字滤波器方程。
6、人体心电图信号在测量过程中往往受到工业高频干扰,所以必须 经过低通滤波处理后,才能作为判断心脏功能的有用信息。下面程序 中给出一实际心电图信号采样序列样本x(n),其中存在高频干扰。在 实验中,以x(n)作为输入序列,滤除其中的干扰成分。我们用双线性 变换法设计一个巴特沃斯低通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)虚轴以一一对应的方式 映射成单位圆,因此在频域 中不会出现混叠。
[bz,az]=bilinear(bt,at,FS); %双线性变换为数字滤波器
[H,W] = freqz(bz,az); %求解数字滤波[器z,的p,频k率]=响b应uttap(n); plot(W*FS/(2*pi),abs(H));grid; [b,a] = zp2tf(z,p,k); % 零极点增益模型到传递 xlabel('频率/Hz');ylabel('幅值'); 函数模型的转换
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
双线性变换法设计IIR数字滤波器一:实验目的1) 熟悉用双线性变换法设计IIR数字滤波器的原理和方法。
2) 掌握数字滤波器设计的计算机仿真方法。
3) 观察对心电图信号的实际滤波作用,获得数字滤波器的感性认识。
二:实验原理在滤波器的设计过程中,毕竟那是一个重要环节,所谓逼进就是根据性能指标的要求,对理想特性进行逼进,以求得一个因果、稳定且客户实现的传递函数。
目前模拟滤波器的频域设计理论已经发展的相当成熟,它不仅具有简单而严格的设计公式,而且设计参数已经表格化了。
借助模拟滤波器的逼进方法,用模拟与大树自语的某种变换,完成数字滤波器的逼进,这是一类简单而又行之有效的方法。
双线性变换法采用非线性频率压缩方法,将整个频域轴上的频率范围压缩到-/T〜/T之间,再用z=e sT转换到z平面上。
也就是说,第一步现将整个S平面压缩映射到S i平面的-/T〜/T 一条横带里;第二步再通过标准变换关系e S1T将此横带变换到整个z平面上去。
这样就使S平面与Z平面建立了一一对应的胆汁关系,消除了多只变换性,也就消除了频谱混跌现象,映射关系如图所示。
2为了将S 平面的整个虚轴j 压缩到S i 平面轴上的-/T 到/T 段上, 可以通过以上的正切的变换实现=2/Ttan ( “T/2)( 1-1)式中,T 仍是采样间隔。
当i 由-/T 经过0变化到/T 时, 由-经过0变化到+ ,也 即映射了整个j 轴。
将上式(1-1)写成.2。
e jJ2 e j 1T2j T ? J J 備(1_2)将此关系解析延拓到整个S 平面和S 平面,令j =s, j 1=S 1,则得2 1 e'TqT ?1 e ®T (1-3)再将S 1平面通过以下标准变换关系映射到 Z 平面:Z= e S1T ( 1-4) 从而得到S 平面和Z 平面的单值映射关系为2 1 Z 1T 1 Z1 (1-5)tan TT S (1-6)式(1-5)和式(1-6)是S平面与Z平面之间的单值映射关系,这种变换都是两个线性函数之比,因此成为双线性变换。
依靠双线性变换是建立起来s平面和z平面的单值映射关系,由上式我们可以得到模拟频率和数字频率之间的关系:(1-7)从上式可知,当时,终止在折叠频率二处,整个j轴是单值地对应于单位元的一周。
因此双线性变换法不同于脉冲响应不变法,它不存在频率混淆问题。
由于S平面的左半平面映射到Z平面的单位圆内,S平面的右半平面映射到Z平面的单位圆外,S平面的虚轴映射到Z平面的单位圆上。
因此,稳定的模拟滤波器经双线性变换后所得到的数字滤波器也一定是稳定的。
但是,它的频率变换关系是非线性畸变。
这种非线性即便可以通过预畸变来校正。
用双线性变换设计数字滤波器时,一般总是先将数字滤波器的各临界频率经式(1-7)的频率预畸变,求得相应参考模拟滤波器的各临界频率,然后设计参考模拟滤波器的传递函数,最后通过双线性变换公式球的数字滤波器的传递函数。
这样通下面我们走即利用模拟滤波器设计IIR 数字低通滤波器的步骤。
a) 确定数字低通滤波器的技术指标:同代截止频率p、同代衰减p、阻带截止频率、阻带衰减s 。
b) 将数字低通滤波器的技术指标转换成模拟低通滤波器的技术指标。
采用双线性变换法,便捷频率的转换关系为2 tan (_) T 2c) 按照模拟低通滤波器的技术指标设计模拟低通滤波器。
d) 将模拟滤波器系统函数 Ha(S)从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]四:试验步骤字低通滤波器系统反函数 Ha ⑵。
H(z)=Ha (S )|S:实验内容: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');A仁[1.0106 -0.3583];A2=[0.9044 -0.2155];while(k<=3)y=filter(B,A,x);x=y;if k==2A=A1;if k==3A=A2;endk=k+1;endsubplot(3,3,2)n=0:56;stem( n, y,'.');axis([O 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];B仁[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]);xlabel('w/ n ');ylabel('20lg|H(ejw|');title('双线性变换法设计IIR滤波器的幅频响应曲线’);%脉冲响应不变法设计ButterWorth数字滤波器幅频特性C仁[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/ n ');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 = [ a0a1a2 ...a M ]:滤波器系数b=[b0bb2…X]:滤波器系数x= 输入序列矢量y= 为滤波器后的输出及滤波器的洗漱函数:H(z)=标准形式中a0 = 1,若输入滤波器系数a中a。
0,系数给出出错是信息。
4) 绘制幅频特性曲线函数freqz双线性变换法设计限幌波器的幅频恂应曲线10 --------------- - ------------■ ------------- ■ ------------- - ------------心电图信号采样序列対叫- llllntt 一 一庐■屮 ■屮《屮.*4 |■ i1 J1 ------------------------------- ■■ •# ■■1 1 L600 -50-100 010 29 3040 50n双线性变换祛设计职滤液后的心电图信号SrW'亘-5 A10 20 30 40 5013工一竺昌六:思考题1. 双线性变换法和脉冲响应相比较,有哪些优点和缺点?为什么?答:双线性变换法的优点是不同于脉冲响应不变法,s平面z平面是单值的一一对应关系,不存在频谱混淆的问题,数字频域和模拟频域的频率不是线性关系。