天天看點

互補濾波器

互補濾波器

從 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

本文簡單介紹了一階互補濾波的理論和實作,以期望對剛開始接觸數字濾波的朋友有所幫助。

繼續閱讀