DSP

IIR peaking filter 探秘

2019-07-13 14:44发布

IIR peaking filter 探秘

引言

一阶滤波器虽好,但是只能压一头,如果需要带通/带阻/peaking/notch一类的IIR滤波器,多需要高阶来帮忙了,本文先介绍一下peaking 滤波器的基本概念,peaking 滤波器是audio音频的parametric equalizer的基本单元,了解了它,我们就是可以一窥神奇和parametric equalizer了。

带通变peaking

首先我们还是给出前文得到的带通滤波器传递函数:
H(s)=BWss2+Ωm2+BWs H(s) = frac{BWs}{s^2+Omega_m ^2+BWs}
带宽和通带中频如下定义
BW=ΩhΩl BW= Omega_h- Omega_l
Ωm=ΩhΩl Omega_m=sqrt{ Omega_h* Omega_l}
实际当中客户会提出品质因数Q来限定ΩmOmega_mΩhΩlOmega_h Omega_l的关系:
Q=ΩmΩhΩl=ΩmBW Q=frac{Omega_m}{ Omega_h- Omega_l}=frac{Omega_m}{ BW}
按照两步走的方法导出一个peaking 滤波器:

第一步:给带通增加一个增益控制旋钮(系数)

我们定义一个系数B0B_0,令带通滤波器的通带增益可调。
H(s)=B0BWss2+Ωm2+BWs H(s) = frac{ B_0*BWs}{s^2+Omega_m ^2+BWs}

第二步:并联一个直通信号 y(n)= x(n)

并联直通信号的结果是传递函数,当s=0时, H(s)=1+B0|H(s)|=1+B_0;当s=infty,|H(s)|=1。截止频率ΩcOmega_c。下面是传递函数的数学表达:H(s)=1+B0BWss2+Ωm2+BWs=s2+Ωm2+(1+B0)BWss2+Ωm2+BWs H(s) =1+frac{ B_0*BWs}{s^2+Omega_m ^2+BWs} =frac{ s^2+Omega_m ^2+(1+B_0)*BWs}{s^2+Omega_m ^2+BWs}
peaking滤波器也可以理解为带有增益的带通滤波器和直联信号的并联形式。那么notch 滤波器可以通过带阻并联直通来实现吗?答案是否定的,其实notch 滤波器和peaking滤波器可以根据B0B_0调整增益来实现。

双线性变换到数字域

数字滤波器的通带中心频率:ωm=2πfmfs omega_m =frac{2pi f_m}{f_s}
预设Q值,我们可以得到带宽:
BW=ΩmQ BW=frac{Omega_m}{Q}
代入先整理一下我们的传递函数:H(s)=s2+Ωm2+(1+B0)ΩmQss2+Ωm2+ΩmQs H(s) =frac{ s^2+Omega_m ^2+(1+B_0)*frac{Omega_m}{Q}s}{s^2+Omega_m ^2+frac{Omega_m}{Q}s}
H(s)=s2+Ωm2+(1+B0)ΩmQss2+Ωm2+ΩmQs H(s) =frac{ s^2+Omega_m ^2+(1+B_0)*frac{Omega_m}{Q}s}{s^2+Omega_m ^2+frac{Omega_m}{Q}s}
数字和模拟频率的转换关系:Ωm=ωmT