互补滤波器
从 RC 电路 到 数字滤波器 。
参考:wikiPedia
by luoshi006
欢迎交流~ 个人 Gitter 交流平台,点击直达:
介绍
原理
低通滤波器
一阶低通滤波器
传递函数
常见的 RC 电路构成的一阶低通滤波器的输入(U) 输出(Y)关系如下:
YU =11+RC⋅S
其中,滤波器的截止频率为: w c =1RC 。
将传函转换为微分形式:
y(t)+RCdy(t)dt =x(t)
dy(t)dt =差分=y(k)−y(k−1)Δt ,代入得到差分形式:
y(k)=RCΔt+RC y(k−1)+ΔtΔt+RC x(k)
由近似公式:
11+Δt/RC = ˙ 1−ΔtRC
可得:
y(k)=(1−ΔtRC )y(k−1)+ΔtRC x(k)
即,一阶低通滤波的差分形式。
二阶低通滤波
过程略;
y(k)=2(1+σΔt)1+2σΔt+ω 2 0 Δt 2 y(k−1)−11+2σΔt+ω 2 0 Δt 2 y(k−2)+ω 2 0 Δt 2 1+2σΔt+ω 2 0 Δt 2 x(k)
其中, σ=R2L ,ω 2 0 =1LC 。
高通滤波器
依然使用RC电路为模型。
传递函数为:
G(s)=11+1RC⋅S
=RC⋅SRC⋅S+1
******************* 内容仅作参考 *******************************
由 $s=\frac {Z-1}{T}$变换:
$$U\cdot RC \cdot Z - U\cdot RC=Y\cdot RC \cdot Z- Y\cdot RC+Y\cdot T$$
Z反变换:
$$Y(k+1)=U(k+1)-U(k)+(1-\frac{T}{RC}) Y(k)$$
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
将传函转化为微分形式:
RC⋅dy(t)dt +y(t)=RC⋅dx(t)dt
转换为差分形式:
y(k)=RCRC+T y(k−1)+RCRC+T (x(k)−x(k−1))
互补滤波器
综上,可知:
低通滤波器:
y(k)=RCRC+T y(k−1)+TRC+T x(k)
高通滤波器:
y(k)=RCRC+T [y(k−1)+Δx(k)]
故,互补滤波器:
y(k)=RCRC+T [y(k−1)+Δx gyro (k)]+TT+RC x acc (k)
angle = (factor) * (angle + gyro * dt ) + (1 - factor) * (x_acc);
其中,factor 为互补滤波因子,定义域:( 0 , 1 )。
the end
本文简单介绍了一阶互补滤波的理论和实现,以期望对刚开始接触数字滤波的朋友有所帮助。
互补滤波使用较多的 mahony 滤波,限于篇幅,另外介绍。