前言
本文还是前置知识
双线性变换法
双线性变换法(Bilinear Transform)是一种用于将模拟滤波器转换为数字滤波器的方法。它通过将模拟域中的s平面上的传递函数映射到数字域中的z平面上的传递函数来实现这一转换。双线性变换法保证了频率响应在转换过程中不会产生混叠,并且在设计IIR滤波器时非常常用。
双线性变换的基本原理
双线性变换通过以下关系将s平面的传递函数转换为z平面的传递函数:
s = 2 T ⋅ 1 − z − 1 1 + z − 1 s = \frac{2}{T} \cdot \frac{1 - z^{-1}}{1 + z^{-1}} s=T2⋅1+z−11−z−1
其中:
- s s s 是模拟域的复数频率变量。
- z z z 是数字域的复数频率变量。
- T T T 是采样周期。
这个公式将s平面的每一点双线性映射到z平面的一个点上,并且这种映射是保角的,即保持了角度关系。
双线性变换是一种用于将连续时间系统的频域表示(通常用拉普拉斯变换表示)转换为离散时间系统频域表示(通常用Z变换表示)的方法。这种转换特别有用,因为它允许我们将连续时间滤波器的设计(模拟滤波器)转化为离散时间滤波器的设计(数字滤波器),以便在数字信号处理(DSP)系统中实现。
作用:
双线性变换是将连续时间系统(模拟信号)的频域表示转换为离散时间系统(数字信号)频域表示的一种方法。通过这种变换,我们可以设计数字滤波器,使其频率响应与对应的模拟滤波器尽可能匹配。
转换过程
-
模拟传递函数:
首先,从模拟滤波器的设计得到其传递函数 H ( s ) H(s) H(s)。 -
应用双线性变换:
使用双线性变换公式,将 s s s 替换为 2 T ⋅ 1 − z − 1 1 + z − 1 \frac{2}{T} \cdot \frac{1 - z^{-1}}{1 + z^{-1}} T2⋅1+z−11−z−1,得到数字域的传递函数 H ( z ) H(z) H(z)。 -
化简传递函数:
将得到的 H ( z ) H(z) H(z) 化简为标准形式,通常表示为两个多项式的比值。
例子
假设我们有一个一阶低通模拟滤波器,其传递函数为:
H ( s ) = ω c s + ω c H(s) = \frac{\omega_c}{s + \omega_c} H(s)=s+ωcωc
其中, ω c \omega_c ωc 是截止角频率。
步骤1:应用双线性变换
使用双线性变换公式,将 s s s 替换为 2 T ⋅ 1 − z − 1 1 + z − 1 \frac{2}{T} \cdot \frac{1 - z^{-1}}{1 + z^{-1}} T2⋅1+z−11−z−1:
H ( z ) = ω c 2 T ⋅ 1 − z − 1 1 + z − 1 + ω c H(z) = \frac{\omega_c}{\frac{2}{T} \cdot \frac{1 - z^{-1}}{1 + z^{-1}} + \omega_c} H(z)=T2⋅1+z−11−z−1+ωcωc
步骤2:化简传递函数
进行化简:
H ( z ) = ω c ( 1 + z − 1 ) 2 T ( 1 − z − 1 ) + ω c ( 1 + z − 1 ) H(z) = \frac{\omega_c (1 + z^{-1})}{\frac{2}{T} (1 - z^{-1}) + \omega_c (1 + z^{-1})} H(z)=T2(1−z−1)+ωc(1+z−1)ωc(1+z−1)
H ( z ) = ω c ( 1 + z − 1 ) 2 T − 2 T z − 1 + ω c + ω c z − 1 H(z) = \frac{\omega_c (1 + z^{-1})}{\frac{2}{T} - \frac{2}{T} z^{-1} + \omega_c + \omega_c z^{-1}} H(z)=T2−T2z−1+ωc+ωcz−1ωc(1+z−1)
H ( z ) = ω c ( 1 + z − 1 ) ( 2 T + ω c ) + ( ω c − 2 T ) z − 1 H(z) = \frac{\omega_c (1 + z^{-1})}{\left( \frac{2}{T} + \omega_c \right) + \left( \omega_c - \frac{2}{T} \right) z^{-1}} H(z)=(T2+ωc)+(ωc−T2)z−1ωc(1+z−1)
最后将分子和分母乘以 T / 2 T/2 T/2 进行化简:
H ( z ) = ω c T 2 ( 1 + z − 1 ) 1 + ( ω c T − 2 ω c T + 2 ) z − 1 H(z) = \frac{\frac{\omega_c T}{2} (1 + z^{-1})}{1 + \left( \frac{\omega_c T - 2}{\omega_c T + 2} \right) z^{-1}} H(z)=1+(ωcT+2ωcT−2)z−12ωcT(1+z−1)
这就是数字滤波器的传递函数。