一阶滤波算法公式推导
文章的標題起的有點大了,其實也沒有太高深的理論,就是一些簡單的轉化。事情的起因是這樣的,一位同事在網上看到了程序匠人寫的一份關于一階濾波算法的文章(文章鏈接:http://www.docin.com/p-745334438.html),對里面的一個推導過程不太理解,我就一時熱心幫忙看了一下,順便把推導過程記錄在這里,和大家分享一下,也許會有人需要吧。公式如下圖藍色字體。
在推導之前我們先做一些符號定義:
N-----> 新采樣值
O-----> 上次濾波結果
R-----> 本次濾波結果
A-----> (一級濾波系數÷256)
按照以上定義,公式原型為:R = N*A+O*(256-濾波系數)÷256
將上面的括號打開:?R = N*A+O*256÷256?-O* 濾波系數÷256
進一步化簡得到:?R = N*A+O -O*?A ?
將上式提公因式:R =O +(N-O)*A
分類討論:
當N > O 時:R =O +(N-O)*A
當N < O 時:R =O-(O-N)*A
將討論結果中的符號替換成文字,就得到了圖片中化簡后的公式。
其實這一化簡過程并沒有什么難度,但是經過化簡以后可以減輕CPU的計算負擔,尤其是對做嵌入式系統來說,就想程序匠人說的可大大提高效率。
其實我覺得作為程序開發者不單單要只盯著編程語言,還要掌握一些數學的方法,數學可以幫之我們提高邏輯思維用于解決問題的能力,尤其是當我們遇到較為復雜的邏輯時除了在紙上畫一畫流程圖縷清思路以外,也可是嘗試一下數學的方法,幫我們把問題簡化。
總結
以上是生活随笔為你收集整理的一阶滤波算法公式推导的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: SketchUp Pro 2021 v2
- 下一篇: (附源码)计算机毕业设计ssm基于JAV