切比雪夫滤波器的振幅平方特性如图所示: N为偶数,cos2(
,
N为奇数,cos2(
,得到max,
(1-7)
(1-6)
)=1,得到min,
图1-2 切比雪夫滤波器的振幅平方特性
有关参数的确定: a、通带截止频率:
预先给定;
b、与通带波纹有关的参数,通带波纹表示成
(1-8)
所以,
给定通带波纹值
,
分贝数后,可求得
。
c、阶数N:由阻带的边界条件确定。 阻带中的频率点处
、A2为事先给定的边界条件,即在
,要求滤波器频响衰减到1/A2以上。
(1-9)
(1-10)
(1-11)
(1-12)
给
因此,要求阻带边界频率处衰减越大,要求N也越大,参数N,定后,查阅有关模拟滤波器手册,就可求得系统函数Ha(s)。
双线性变换法
目的:将模拟带通滤波器转换成数字高通滤波器
为了克服冲激响应法可能产生的频率响应的混叠失真,这是因为从S平面到Z平面是多值的映射关系所造成的。为了克服这一缺点,可以采用非线性频率压缩方法,将整个频率轴上的频率范围压缩到-π/T~π/T之间,再用z=esT转换到Z平面上。也就是说,第一步先将整个S平面压缩映射到S1平面的-π/T~π/T一条横带里;第二步再通过标准变换关系z=es1T将此横带变换到整个Z平面上去。这样就使S平面与Z平面建立了一一对应的单值关系,消除了多值变换性,也就消
除了频谱混叠现象,映射关系如图1-3
oj?j?1jIm[z]??/ T-11oRe[z]?o-??/ T?1 S平面 S1平面Z平面图1-3双线性变换的映射关系
为了将S平面的整个虚轴jΩ压缩到S1平面jΩ1轴上的-π/T到π/T段上,可以通过以下的正切变换实现
??式中,T仍是采样间隔。
2??T?tan?1?T?2?(1-13)
当Ω1由-π/T经过0变化到π/T时,Ω由-∞经过0变化到+∞,也即映射了整个jΩ轴。将式(1-9)写成
2ej?1T/2?ej?1T/2j???j?1T/2?j?1T/2Te?e(1-14)
将此关系解析延拓到整个S平面和S1平面,令jΩ=s,jΩ1=s1,则得
?sT2es1T/2?e?s1T/22?s1T?21?e1s??s1T/2?s1T/2?tanh?????sTTe?eT?2?T1?e1(1-15)
再将S1平面通过以下标准变换关系映射到Z平面
z=es1T
从而得到S平面和Z平面的单值映射关系为:
(1-16)
21?z?1s?T1?z?1T2s?s2?Tz?T21?s?s2T1?(1-17)
式(1-10)与式(1-11)是S平面与Z平面之间的单值映射关系,这种变换都是两个线性函数之比,因此称为双线性变换
式(1-9)与式(1-10)的双线性变换符合映射变换应满足的两点要求。 首先,把z=ejω,可得
21?e?j?2???s??jtan???j??j?T1?eT?2?
(1-18)
即S平面的虚轴映射到Z平面的单位圆。 其次,将s=σ+jΩ代入式(1-12),得 因此
2???j?Tz?2???j?T|z|??2?2???????T??2?2???????T?22(1-19)
由此看出,当σ<0时,|z|<1;当σ>0时,|z|>1。也就是说,S平面的左半平面映射到Z平面的单位圆内,S平面的右半平面映射到Z平面的单位圆外,S平面的虚轴映射到Z平面的单位圆上。因此,稳定的模拟滤波器经双线性变换后所得的数字滤波器也一定是稳定的。
双线性变换法优缺点:双线性变换法与脉冲响应不变法相比,其主要的优点是避免了频率响应的混叠现象。这是因为S平面与Z平面是单值的一一对应关系。S平面整个jΩ轴单值地对应于Z平面单位圆一周,即频率轴是单值变换关系。这个关系如式(1-12)所示,重写如下: 2?????tan??T ?2?(1-20)
上式表明,S平面上Ω与Z平面的ω成非线性的正切关系,如图1-4所示。
由图1-4看出,在零频率附近,模拟角频率Ω与数字频率ω之间的变换关系接
近于线性关系;但当Ω进一步增加时,ω增长得越来越慢,最后当Ω→∞时,ω终止在折叠频率ω=π处,因而双线性变换就不会出现由于高频部分超过折叠频率而混淆到低频部分去的现象,从而消除了频率混叠现象。
图1-4双线性变换法的频率变换关系
但是双线性变换的这个特点是靠频率的严重非线性关系而得到的,如式(1-12)及图1-4所示。由于这种频率之间的非线性变换关系,就产生了新的问题。首先,一个线性相位的模拟滤波器经双线性变换后得到非线性相位的数字滤波器,不再保持原有的线性相位了;其次,这种非线性关系要求模拟滤波器的幅频响应必须是分段常数型的,即某一频率段的幅频响应近似等于某一常数(这正是一般典型的低通、高通、带通、带阻型滤波器的响应特性),不然变换所产生的数字滤波器幅频响应相对于原模拟滤波器的幅频响应会有畸变,如图1-5所示。
Ha(jΩ)oo?=2tan?2T??-?o???????oarg[Ha(jΩ)]ooH(ej?)o???arg[H(ej?)]