天才教育網(wǎng)合作機(jī)構(gòu) > 程序開發(fā)培訓(xùn)機(jī)構(gòu) > 嵌入式開發(fā)培訓(xùn)機(jī)構(gòu) >

東莞電工培訓(xùn)網(wǎng)

歡迎您!
朋友圈

400-850-8622

全國(guó)統(tǒng)一學(xué)習(xí)專線 9:00-21:00

位置:程序開發(fā)培訓(xùn)資訊 > 嵌入式開發(fā)培訓(xùn)資訊 > 嵌入式測(cè)控系統(tǒng)中數(shù)字濾波算法的實(shí)現(xiàn)

嵌入式測(cè)控系統(tǒng)中數(shù)字濾波算法的實(shí)現(xiàn)

日期:2021-07-09 09:43:55     瀏覽:234    來源:東莞電工培訓(xùn)網(wǎng)
模擬信號(hào)都必須經(jīng)過A/D轉(zhuǎn)換才能被嵌入式控制器接收。但在干擾作用于模擬信號(hào)之后,其A/D轉(zhuǎn)換結(jié)果往往會(huì)偏離真實(shí)值。因此,僅采樣一次是無法確定該結(jié)果是否可信的,而必須多次采樣,才能得到一個(gè)A/D轉(zhuǎn)換的數(shù)據(jù)系列,然后通過某種處理,才能得到一個(gè)可信度較高的結(jié)果。這種從數(shù)據(jù)系列中提取逼近真值的軟件算法,通常稱為數(shù)字濾波算法。相對(duì)于硬件濾波,數(shù)字濾波的優(yōu)越性在于其無需硬件且可靠性高,尤其對(duì)頻率很高或很低的信號(hào)進(jìn)行濾波。此外,由于對(duì)多輸入通道可共用一個(gè)濾波程序,故可大大降低產(chǎn)品成本。

1  嵌入式測(cè)控系統(tǒng)中常見的數(shù)字濾波算法

1.1  限幅濾波

首先根據(jù)被測(cè)對(duì)象確定相鄰兩次采樣所允許的*差值△Y,然后在每次采樣后和上次有效采樣值進(jìn)行比較,如果變化幅度不超過△Y,則本次采樣有效;否則,本次采樣值被視為干擾而放棄,而以上次采樣值為準(zhǔn)。其原理可用如下公式表示:


其中,yn為第n次采樣值,yn-1為第(n-1)次采樣值。

實(shí)現(xiàn)上述過程的參考程序(返回有效的采樣值)如下:

限幅濾波主要用于處理變化比較緩慢的數(shù)據(jù),如溫度、濕度、液位等。該方法使用的關(guān)鍵是要選取合適的門限△Y?!鱕通??筛鶕?jù)經(jīng)驗(yàn)數(shù)據(jù)獲得,必要時(shí)也可由實(shí)驗(yàn)得到。

1.2中值濾波

這種濾波方式一般對(duì)目標(biāo)參數(shù)連續(xù)采樣N次(N一般為奇數(shù)),然后把N次采樣值進(jìn)行排序,再取中間值作為有效值。對(duì)于變化很慢的參數(shù),也可以增加采樣次數(shù)。而對(duì)于變化較為劇烈的參數(shù),此法不宜采用。其參考程序如下:


1.3算術(shù)平均濾波

該算法對(duì)目標(biāo)參數(shù)先進(jìn)行連續(xù)采樣,然后求其算術(shù)平均值作為有效采樣值。該算法適用于對(duì)具有隨機(jī)干擾的信號(hào)進(jìn)行濾波。這種信號(hào)的特點(diǎn)是有一個(gè)平均值。信號(hào)在某一數(shù)值附近上下波動(dòng)。信號(hào)的平滑程度完全取決于采樣次數(shù)N,采樣次數(shù)越多,平滑效果越好,但系統(tǒng)的靈敏度也會(huì)下降。為方便求平均值,N一般取4、8、16之類的2的整數(shù)次冪,以便系統(tǒng)用移位法來代替除法。其參考程序如下:


1.4去極值平均濾波

算術(shù)平均濾波不能消除明顯的脈沖干擾,而只是將其影響削弱。由于明顯干擾會(huì)使采樣值遠(yuǎn)離其真實(shí)值,因此可以比較容易地將其剔除,而不參加平均值計(jì)算,從而使平均濾波的輸出值更接近真實(shí)值,這就是去極值算法,又稱為防脈沖干擾平均值濾波算法。該方法的原理是連續(xù)采樣N次,并將其累加求和,同時(shí)找出其中的*值和最小值,再?gòu)睦奂雍椭袦p去*值和最小值,再按N-2個(gè)采樣值求平均,即可獲得有效采樣值。為方便求平均值,N-2應(yīng)為2、4、8、16,故N常取4、6、10、18。其參考程序如下:

1.5加權(quán)平均濾波

算術(shù)平均濾波和去極值平均濾波均存在平滑性和靈敏性的矛盾。因?yàn)?,采樣次?shù)太少,平滑效果差;采樣次數(shù)太多,靈敏度下降,對(duì)參數(shù)的變化趨勢(shì)不敏感。為協(xié)調(diào)兩者的關(guān)系,可采用加權(quán)平均濾波。即對(duì)連續(xù)N次采樣值分別乘上不同的加權(quán)系數(shù)之后再求累加和。加權(quán)系數(shù)一般先小后大,以突出后面若干采樣的效果,來加強(qiáng)系統(tǒng)對(duì)參數(shù)變化趨勢(shì)的辨識(shí)。各個(gè)加權(quán)系數(shù)均應(yīng)是小于1的小數(shù),且應(yīng)滿足總和等于1的約束條件。這樣,加權(quán)運(yùn)算之后的累加和即為有效采樣值。為方便計(jì)算,可取各加權(quán)系數(shù)均為整數(shù),且總和為256,加權(quán)運(yùn)算之后的累加和再除以256后便是有效采樣值。其參考程序如下:


1.6滑動(dòng)平均濾波

以上介紹的各種平均濾波算法具有一個(gè)共同點(diǎn),即每取得一個(gè)有效采樣值都必須連續(xù)進(jìn)行若干次采樣,這些方法在采樣速度較慢(如雙積分型A/D轉(zhuǎn)換)或目標(biāo)參數(shù)變化較快時(shí),系統(tǒng)的實(shí)時(shí)性往往不能得到保證。而滑動(dòng)平均濾波算法只采樣一次,它將這一次采樣值和過去的若干次采樣值一起求平均,然后所得到的有效采樣值即可投入使用。這樣,如果取N個(gè)采樣值求平均,則RAM中必須開辟N個(gè)數(shù)據(jù)的暫存區(qū)。每新采集一個(gè)數(shù)據(jù)便存入暫存區(qū),同時(shí)去掉一個(gè)最老的數(shù)據(jù),以保持這N個(gè)數(shù)據(jù)始終是最近的數(shù)據(jù)。這種數(shù)據(jù)存放方式可以用環(huán)形隊(duì)列數(shù)據(jù)結(jié)構(gòu)來實(shí)現(xiàn)。其參考程序如下:

1.7低通濾波

將普通硬件RC低通濾波器的微分方程用差分方程來表示,便可用軟件算法來模擬硬件濾波功能。經(jīng)推導(dǎo),對(duì)于低通濾波算法有:

式中Xn為本次采樣值;Yn-1為上次的濾波輸出值;α為濾波系數(shù),其值<<1;Yn為本次濾波輸出值。這種算法對(duì)變化緩慢的物理量是很有效的。但應(yīng)注意一點(diǎn),它不能濾除高于二分之一采樣頻率的干擾信號(hào)。比如采樣頻率為2 Hz,則對(duì)1 Hz以上的干擾信號(hào)通常應(yīng)配合硬件濾波電路來濾除。該方法的參考程序如下:


2各種數(shù)字濾波方法對(duì)比

數(shù)字濾波的方法多種多樣,表1給出了幾種數(shù)字濾波算法的優(yōu)缺點(diǎn)和適用對(duì)象。


3  結(jié)束語

基于嵌入式測(cè)控系統(tǒng)的數(shù)字濾波方法多種多樣,因此,在選擇濾波方法時(shí),首先要考慮微控制器的存儲(chǔ)量、運(yùn)算時(shí)間、運(yùn)算能力以及實(shí)時(shí)性是否滿足實(shí)際要求。然后再根據(jù)主要的干擾源(對(duì)系統(tǒng)的測(cè)試精度影響*的干擾源)和測(cè)試對(duì)象
如果本頁(yè)不是您要找的課程,您也可以百度查找一下: