一階濾波器

2021-09-26 15:30:07 字數 1263 閱讀 8987

一階濾波,又叫一階慣性濾波,或一階低通濾波。是使用軟體程式設計實現普通硬體rc低通濾波器的功能。 

一階低通濾波的演算法公式為:

y(n)=αx(n) (1-α)y(n-1) 

式中:α=濾波係數;x(n)=本次取樣值;y(n-1)=上次濾波輸出值;y(n)=本次濾波輸出值。

一階低通濾波法採用本次取樣值與上次濾波輸出值進行加權,得到有效濾波值,使得輸出對輸入有反饋作用。

#define a   0.01        //濾波係數a(0-1)

char value; //濾波後的值

char new_value; //新的取樣值

char filter()

1.關於靈敏度和平穩度的矛盾 

濾波係數越小,濾波結果越平穩,但是靈敏度越低;

濾波係數越大,靈敏度越高,但是濾波結果越不穩定。

一階濾波無法完美地兼顧靈敏度和平穩度。有時,我們只能尋找乙個平衡,在可接受的靈敏度範圍內取得盡可能好的平穩度。而在一些場合,我們希望擁有這樣一種接近理想狀態的濾波演算法。即:

當資料快速變化時,濾波結果能及時跟進(靈敏度優先);

當資料趨於穩定,在乙個固定的點上下振盪時,濾波結果能趨於平穩(平穩度優先)。

2.關於小數捨棄帶來的誤差 

一階濾波演算法有乙個鮮為人知的問題:小數捨棄帶來的誤差。 比如: 本次取樣值=25,上次濾波結果=24,濾波係數=10, 根據濾波演算法:

本次濾波結果=(25*10+24*(256-10))/256=24.0390625 

但是,我們在微控制器運算中,很少採用浮點數。因此運算後的小數部分要麼捨棄,要麼進行四捨五入運算。這樣一來,本例中的結果24.0390625就變成了24。假如每次取樣值都=25,那麼濾波結果永遠=24。也就是說濾波結果和實際資料一直存在無法消除的誤差。

thr_lpf+=(1 / (1 + 1/(2.0f * 3.14f * t )))*(height_thr - thr_lpf)
看這個變數名這應該是對油門進行低通濾波,於是我就注釋上低通濾波

整理一下上式可以得到

RC一階低通濾波器

由於工作原因一直在接觸濾波器,但是對其詳細概念和原理一知半解,所以一直想好好學習一下。最近終於抽出時間搜遍各種資料,但總覺得知識點太散,不太方便系統的理解,所以自己整理了一下,希望有所幫助。第一次編輯發部落格,實在不易,word編輯好了,想直接拷貝上來還不行,公式無法複製,只好乙個個截圖,實在尷尬!...

一階低通濾波器方程 一階低通濾波原理詳解

在汽車標定中,使用最多的濾波演算法即低通濾波,很多朋友可能知道怎麼標定,但是不清楚具體的原理,因此本文將介紹一階低通濾波的原理 演算法建模 和優缺點 一階濾波演算法的原理 一階濾波,又叫一階慣性濾波,或一階低通濾波。一階低通濾波的演算法公式為 y n x n 1 y n 1 式中 濾波係數 x n ...

一階低通濾波器 一階系統數學模型

敘述 所謂數學模型,就是根據系統運動過程規律,描述系統規律和特性,輸入和輸出關係的表示式。實際的系統比較複雜,甚至不清楚其內部機理。寫出實際工程系統的數學模型是很困難的。下面介紹些簡單系統,基於系統機理分析建立數學模型的基本方法。系統穩定性,時域分析法 穩定性是討論系統沒有輸入和輸入作用下的狀態,故...