关于IIR滤波器的一点思考
关于IIR滤波器的一点思考
\[H(z) = \frac{a0+a1*z^{-1}+a2*z^{-2}}{1+b1*z^{-1}+b2*z^{-2}}
\]
- 一直有一个自然有一个想法是使用deep Learning在非凸问题上的优化方法,表示一个IIR滤波器,从而达到对于IIR系数的估计
- 一个理想的情况,我们往往希望滤波器幅频特性符合要求的同时,满足相位线性性
- 如果能实现IIR的校准去估计,可以用低阶的IIR去近似很长的FIR滤波器,可以提高效率
- 使用 Padé_approximant直接逼近多项式是一个方法,但是它们没有很好的处理到相位
- 这里讨论了一些IIR近似FIR的问题Convert a FIR to an equivalent IIR
- 一些估计方法目标着眼于设计的特定形式iir组合,然后由DL估计滤波器参数,比如:
- Deep Optimization of Parametric IIR Filters for
Audio Equalization - Direct design of biquad filter cascades with deep
learning by sampling random polynomials - IIR滤波器可以用 RNN 表达,类似:
\[y(n) + b1*y(n-1) + b2*y(n-2) \\
= a0*x(n) + a1*x(n-1) + a2*x(n-2)
\]
- 找到一个相关的工作DIFFERENTIABLE IIR FILTERS FOR MACHINE LEARNING APPLICATIONS
- 如果从\(H(z)\)这个式子的角度考虑,滤波时分子和信号直接卷积,而分子需要做多项式展开,得到一个无限长的多项式,仔细分析分析这个多项式。
- 首先我们可以将分母拆分成多个极点乘积的形式,我们要求系统稳定,因此要求极点落在单位圆内,我们来集火一下单个极点
\[H'(z) = \frac{1}{a-z^{-1}}
\]
那么展开后
\[H'(z) = \frac{z^{-0}}{a^0} + \frac{z^{-1}}{a^1} + \frac{z^{-2}}{a^2} + ...
\]
- 当\(|a|<1\)时,随着阶数的提高,它的模值会快速衰减下去,最终收敛到0处,所以他对于很久之前的输入不敏感
- 当\(|a|=1\)时,即位于单位圆上,可以表示成\(a=e^{2 \pi f j}\),这类极点会周期性的变化,这种类型的极点就与时间长短无关,一直产生影响
- 所以\(|a|\)越大的项越会产生远距离的影响
- 如果我们试图用一个FIR滤波器逼近IIR,那么\(|a|\)越大,可能会导致滤波器越长
看了一些资料,发现是一个深坑啊