互補濾波器
從 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
本文簡單介紹了一階互補濾波的理論和實作,以期望對剛開始接觸數字濾波的朋友有所幫助。