数字滤波器的技术指标要求——过渡模拟低通滤波器的技术指标——设计过渡模拟低通滤波器的Ha(s)——数字低通滤波器的H(z)
模拟滤波器有许多成熟的方法可以用来进行设计,比如巴特沃斯、切比雪夫I/II型 椭圆 贝塞尔
设模拟滤波器的系统函数为Ha(S),模拟滤波器的单位脉冲响应是ha(t),LT[ha(t)]=Ha(S)
数字滤波器的系统函数H(z),数字滤波器的单位脉冲响应是h(n),ZT[h(n)]=H(z)
设模拟滤波器Ha(s)只有单阶极点Si,且分母多项式的阶次高于分子多项式的阶次,将Ha(s)用部分分式表示:
(Ha(s)的极点Si映射到z平面的极点为e^siT,系数Ai不变。)
为保证转换后的H(z)稳定且满足技术指标要求,对转换关系提出两点要求:
A:为保证因果稳定的模拟滤波器转换成数字滤波器后仍是因果稳定的,要求转换关系应使s平面的左半平面映射到z平面的单位圆内。
B:数字滤波器的频率响应模仿模拟滤波器的频响特性,s平面的虚轴映射为z平面的单位圆,S平面的左半平面映射为单位圆内,响应的频率之间呈线性关系。
将系统函数Ha(s)从s平面转换到z平面的方法有多种,但工程上常用的是脉冲响应不变法和双线性变换法。
脉冲响应不变法的优缺点:
优点: (1)频率变换关系是线性的,即ω=ΩT,如果不存在频谱混叠现象,该方法设计的数字滤波器能很好地重现原模拟滤波器的频响特性; (2)数字滤波器的单位脉冲响应完全模仿模拟滤波器的单位冲激响应波形,时域特性逼近好。
缺点: 会产生不同程度的频谱混叠失真。原因:模拟低通滤波器的最高截止频率超过折叠频率π/T,只适合低通、带通滤波器的设计;如果原ha(t)的频带不是限于±π/T之间,则会在π/T附近产生频谱混叠,对应数字频率在w=±π附近产生频率混叠。这种频率混叠现象会使设计出的的数字滤波器在w=±π附近的频率响应特性程度不同程度地偏离模拟滤波在π/T附近的频率特性,严重时使数字滤波器不满足给定的技术指标。为此,希望设计的模拟滤波器是带限滤波器,高通、带阻滤波器不适合用这种方法设计。
克服方法:采用非线性频率压缩方法,将整个频率轴上的频率范围压缩到 之间
(1)确定数字低通滤波器的技术指标: 通带边界频率ωp、通带最大衰减a p、阻带截止频率ωs、阻带最小衰减a s。
(2)将数字低通滤波器的技术指标转换成相应的模拟低通滤波器的技术指标。这里主要是边界频率ωp和ωs的转换,a p和as指标不变。
A:如果采用脉冲响应不变法,边界频率的转换关系为:
B.如果采用双线性变换法,边界频率的转换关系为 :
(3.) 设计过渡模拟低通滤波器的Ha(s)
巴特沃斯低通滤波器—调用buttord和butter
A求出滤波器阶数N和3dB截止频率:
[N, wc] = buttord(wp, ws, Rp, As, 's') %模拟滤波器;若直接设计数字滤波器,后面用'z' wc为归一化为[0, 1]的特征频率
[B,A] = butter(N, Wn,‘high’, ‘s’)%设计高通的模拟滤波器
[B,A] = butter(N, Wn, ‘stop’,‘s’)%设计带阻的模拟滤波器
B.计算滤波器系统函数分子分母多项式系数 :
[B, A]=butter(N, wc, 's')
C.绘制Ha(s)的频响特性曲线:
采样频率范围:wk=0:ws/512:ws;
系统函数:Hk=freqs(B, A, wk);%freqs用来求模拟信号的系统函数
用损耗函数绘图:plot( wk/(2*pi),20*log10(abs(Hk)) )
切比雪夫I型低通滤波器—调用cheb1ord和cheby1
A求出滤波器阶数N和通带边界频率:
[N, wp0] = cheb1ord(wp, ws, Rp, As,'s')
B计算滤波器系统函数分子分母多项式系数
[B, A]=cheby1(N, Rp, wp0, 's')
C.绘制Ha(s)的频响特性曲线:
采样频率范围:wk=0:ws/512:ws;
系统函数:Hk=freqs(B, A, wk);
用损耗函数绘图:plot( wk/(2*pi),20*log10( abs(Hk) ) )
(4) 将模拟滤波器Ha(s),从s平面转换到z平面,得到数字低通滤波器系统函数H(z)。
脉冲响应不变法
用脉冲响应不变法将模拟滤波器转换成数字滤波器:
[Bz, Az] = impinvar(B, A, 1/T)
z=e^sT
双线性变换法
用双线性变换法将模拟滤波器转换成数字滤波器:
[Bz, Az] = bilinear(B, A, 1/T)
wk=0:ws/512:ws
系统函数:Hk=freqz(Bz, Az, wk);% freqz用来求数字信号的系统函数
用损耗函数绘图:plot( wk/(2*pi),20*log10( abs(Hk) ) )
s=(2/T)*[(1-1/z)/(1+1/z)] z=(2/T+s)/(2/T-s)
注意事项:在设计过程中,要用到采样间隔T:
采用脉冲响应不变法,为避免产生频率混叠现象
当给定模拟滤波器Ha(s),要求单向转换成数字滤波器H(z), 且a s足够大时,选择T满足|Ωs|<π/T,可使频谱混叠足够小,满足数字滤波器指标要求。
如果先给定数字低通的技术指标时,T可任选。一般选T=1 s。
对双线性变换法不存在频谱混叠现象,T可以任选。为了简化计算,一般取T=2 s。
【说明】ωp=0.2π rad, αp=1dB, ωs=0.3π rad, αs=15dB,为了简单,取T为2s。
巴特沃斯滤波器(脉冲响应不变法)
%% 1、给定数字滤波器的设计指标
wp=0.2*pi; % rad,
Ap=1; %dB,
ws=0.3*pi; % rad;
As=15; % dB
%% 2、将数字滤波器的设计指标转换成为模拟滤波器的设计指标
T1=1;
wp1=wp/T1;
ws1=ws/T1;
%% 3、利用模拟滤波器的设计指标设计模拟滤波器
[N1,wc]= buttord(wp1, ws1, Ap, As, 's');
[B1, A1]=butter(N1, wc, 's');
%% 4.、将模拟滤波器系统函数转换成数字滤波器系统函数
wk=0:ws/512:ws;
[Bz, Az] = impinvar(B1, A1, 1/T1) ;
Hk=freqz(Bz,Az,wk);
plot(wk/(2*pi),20*log10(abs(Hk)))
巴特沃斯滤波器(双线性变换法)
%% 1、给定数字滤波器的设计指标
wp=0.2*pi; % rad,
Ap=1; %dB,
ws=0.3*pi; % rad;
As=15; % dB
%% 2、将数字滤波器的设计指标转换成为模拟滤波器的设计指标
T=2;
wp2=(2/T)*tan(wp/2);
ws2=(2/T)*tan(ws/2);
%% 3、利用模拟滤波器的设计指标设计模拟滤波器
[N1,wc]= buttord(wp2, ws2, Ap, As, 's');
[B1, A1]=butter(N1, wc, 's');
%% 4.将模拟滤波器系统函数转换成数字滤波器系统函数
wk=0:ws/512:ws;
[Bz, Az] = bilinear(B1, A1, 1/T) ;
Hk=freqz(Bz,Az,wk);
plot(wk/(2*pi),20*log10(abs(Hk)))
切比雪夫I型滤波器(脉冲响应不变法)
%% 1、给定数字滤波器的设计指标
wp=0.2*pi; % rad,
Ap=1; %dB,
ws=0.3*pi; % rad;
As=15; % dB
%% 2.脉冲响应不变法转换成模拟滤波器的技术指标
T1=1;
wp1=wp/T1;
ws1=ws/T1;
%% 3、利用模拟滤波器的设计指标设计模拟滤波器
[N2,wp0]= cheb1ord(wp1, ws1, Ap, As, 's');
[B2, A2]=cheby1(N2, Ap,wp0, 's');
%% 4、将模拟滤波器系统函数转换成数字滤波器系统函数
wk=0:ws/512:ws;
[Bz, Az] = impinvar(B2, A2, 1/T1) ;
Hk=freqz(Bz,Az,wk); plot(wk/(2*pi),20*log10(abs(Hk)))
切比雪夫I型滤波器(双线性变换法)
%% 1、给定数字滤波器的设计指标
wp=0.2*pi; % rad,
Ap=1; %dB,
ws=0.3*pi; % rad;
As=15; % dB
%% 2、将数字滤波器的设计指标转换成为模拟滤波器的设计指标
T2=2;
wp2=(2/T2)*tan(wp/2);
ws2=(2/T2)*tan(ws/2);
%% 3、利用模拟滤波器的设计指标设计模拟滤波器
[N2,wp0]= cheb1ord(wp2, ws2, Ap, As, 's');
[B2, A2]=cheby1(N2, Ap,wp0, 's');
%% 4.将模拟滤波器系统函数转换成数字滤波器系统函数
wk=0:ws/512:ws;
[Bz, Az] = bilinear(B2, A2, 1/T1) ;
Hk=freqz(Bz,Az,wk);plot(wk/(2*pi),20*log10(abs(Hk)))