一阶低通滤波器
前言
在电机控制中,许多物理量都需要经过 A/D 转换,由模拟量变成数字量后,才能输入数字控制器。对于这些数字信号,一方面需要尽可能保留物理量的真实低频分量,另一方面需要滤除采样噪声、开关纹波等高频干扰,因此经常使用一阶低通数字滤波器。
例如,在滑模观测器中,需要对估计得到的扩展反电动势进行低通滤波,详见 无感控制之滑模观测器 | 子默的小屋。
因此,有必要了解一阶低通滤波器的基本原理、截止频率、离散化方法及其相位特性。
一阶 RC 低通滤波电路
一阶低通数字滤波器对应的物理电路模型是一阶 RC 低通滤波电路,电路如下图所示。
该电路的频率响应为:
其中:
为滤波器的时间常数,截止角频率为:
对应的截止频率为:
由式(1)可得一阶低通滤波器的幅频特性和相频特性:
当输入信号频率等于截止频率时:
换算为分贝为:
因此,
根据式(2)可以绘制一阶 RC 低通滤波器的 Bode 图,如下图所示。
由 Bode 图可以看出:
- 当
时,信号幅值基本不衰减,相位滞后接近 ; - 当
时,幅值衰减约为 ,相位滞后为 ; - 当
时,幅频曲线以约 的斜率下降,相位滞后逐渐接近 。
一阶低通滤波器的连续模型
一阶 RC 低通滤波器的连续域传递函数为:
在零初始条件下,有:
对应的时域微分方程为:
由于:
所以可以将微分方程写为:
下面分别使用前向欧拉法、后向欧拉法和梯形法对式(4)进行离散化。
前向欧拉法离散化
前向欧拉法使用第
整理得:
定义前向欧拉系数:
则式(5)可以写为:
将下标整体向后移动一位,可得适合程序实现的差分方程:
可以看到,前向欧拉法使用上一采样时刻的输入
前向欧拉法的 域传递函数
在零初始条件下,对式(7)进行
因此:
对应的滤波器系数为:
在 Simulink 的 Discrete Filter 模块中,可以设置为:
1 | Numerator = [0 alpha_F] |
前向欧拉法得到的离散极点为:
为了保证稳定,需要满足:
即:
如果希望输出无振荡地单调收敛,一般还应满足:
后向欧拉法离散化
后向欧拉法使用第
整理得:
因此:
定义后向欧拉系数:
由于:
所以式(9)可以写成:
将下标整体向后移动一位,得到:
后向欧拉法使用当前输入
在数字控制器中,第
后向欧拉法的 域传递函数
在零初始条件下,对式(11)进行
因此:
对应的滤波器系数为:
在 Simulink 的 Discrete Filter 模块中,可以设置为:
1 | Numerator = [alpha_B] |
后向欧拉法得到的离散极点为:
当 (_c>0) 且 (T_s>0) 时,有:
因此,后向欧拉法离散得到的一阶低通滤波器始终稳定。
梯形法离散化
梯形法同时使用前后两个采样时刻的微分值,并取两者的平均值:
根据式(4):
代入可得:
整理得:
定义梯形法系数:
则有:
因此,梯形法的差分方程可以写为:
梯形法也称为双线性变换法或 Tustin 法。
梯形法的 域传递函数
对式(14)进行
因此:
对应的滤波器系数为:
在 Simulink 的 Discrete Filter 模块中,可以设置为:
1 | Numerator = [alpha_T alpha_T] |
梯形法得到的离散极点为:
连续系统左半平面的稳定极点经过双线性变换后,会映射到离散系统单位圆内部,因此梯形法可以保持连续系统的稳定性。
三种离散化方法对比
三种离散化方法可以总结如下:
| 离散方法 | 系数定义 | 差分方程 |
|---|---|---|
| 前向欧拉 | ||
| 后向欧拉 | ||
| 梯形法 |
对应的 Simulink Discrete Filter 参数为:
| 离散方法 | Numerator | Denominator |
|---|---|---|
| 前向欧拉 | [0 alpha_F] |
[1 -(1-alpha_F)] |
| 后向欧拉 | [alpha_B] |
[1 -(1-alpha_B)] |
| 梯形法 | [alpha_T alpha_T] |
[1 -(1-2*alpha_T)] |
一般来说:
- 前向欧拉法结构简单,但稳定性受到采样周期限制,并且包含一拍输入延迟;
- 后向欧拉法稳定性较好,但会引入一定的数值阻尼;
- 梯形法可以更准确地保持连续滤波器的频率特性,通常适合控制系统中的数字滤波器设计。
一阶低通滤波器为什么属于 IIR
前向欧拉、后向欧拉和梯形法得到的差分方程中都含有上一时刻的输出 (y[k-1])。
数字滤波器的一般差分方程为:
只要输出依赖过去的输出,就存在递归反馈。单位脉冲输入产生的响应会不断衰减,但理论上不会在有限采样点后严格变为零,因此称为无限冲激响应滤波器,即 IIR(Infinite Impulse Response)滤波器。
如果滤波器只使用当前和过去的输入,而不使用过去的输出:
则称为有限冲激响应滤波器,即 FIR(Finite Impulse Response)滤波器。
一阶 RC 低通滤波器包含一个极点和递归状态,因此其常见数字离散形式属于 IIR 滤波器。
相位滞后与相位补偿
由一阶低通滤波器的相频特性可知,对于角频率为 () 的正弦信号,滤波器产生的相位滞后为:
需要注意,相位角和时间延迟并不是同一个物理量。
如果希望将相位角换算成该频率下的等效时间延迟,则有:
因此,不能将 ((/_c)) 直接称为时间延迟,它表示的是相位滞后角。
相位补偿并不是所有一阶低通滤波器都必须加入,而应根据被滤波信号及后续算法决定。
对于直流信号:
因此:
理想稳态直流量不会产生幅值衰减和相位滞后,因此不需要相位补偿。
但是,当被滤波信号随时间变化时,它仍然包含一定的低频动态分量。这些动态分量会受到低通滤波器的幅值衰减和相位滞后影响。
例如,在滑模观测器中,低通滤波后的扩展反电动势仍然是一个以电角频率旋转的正弦量。其相位滞后会直接转化为估计转子位置角的误差,因此通常需要根据运行频率进行相位补偿,详见 无感控制之滑模观测器 | 子默的小屋。
而对于同步解调后提取的稳态直流幅值,通常不需要进行固定相角补偿。但如果该直流幅值实际上是随控制对象状态变化的低频包络,则仍需在闭环设计中考虑滤波器带来的动态滞后。