




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、微機控制系統(tǒng)的數(shù)字濾波算法字體: 小 中 大 | 打印 發(fā)布: 2007-7-24 17:25 作者: 網(wǎng)絡(luò)轉(zhuǎn)載 來源: 網(wǎng)絡(luò) 查看: 11次摘 要:分析了采用數(shù)字濾波消除隨機干擾的優(yōu)點,詳細論述了微機控制系統(tǒng)中常用的8種數(shù)字濾波算法,并討論了各種數(shù)字濾波算法的適用范圍。 關(guān)鍵詞:數(shù)字濾波;控制系統(tǒng);隨機干擾;數(shù)字濾波算法 1引言在微機控制系統(tǒng)的模擬輸入信號中,一般均含有各種噪聲和干擾,他們來自被測信號源本身、傳感器、外界干擾等。為了進行準確測量和控制,必須消除被測信號中的噪聲和干
2、擾。噪聲有2大類:一類為周期性的,其典型代表為50 Hz的工頻干擾,對于這類信號,采用積分時間等于20 ms整倍數(shù)的雙積分A/D轉(zhuǎn)換器,可有效地消除其影響;另一類為非周期的不規(guī)則隨機信號,對于隨機干擾,可以用數(shù)字濾波方法予以削弱或濾除。所謂數(shù)字濾波,就是通過一定的計算或判斷程序減少干擾信號在有用信號中的比重,因此他實際上是一個程序濾波。數(shù)字濾波器克服了模擬濾波器的許多不足,他與模擬濾波器相比有以下優(yōu)點:(1)數(shù)字濾波器是用軟件實現(xiàn)的,不需要增加硬設(shè)備,因而可靠性高、穩(wěn)定性好,不存在阻抗匹配問題。(2)模擬濾波器通常是各通道專用,而數(shù)字濾波器則可多通道共享,從而降低了成本。(3)數(shù)字濾波器可以對
3、頻率很低(如0.01 Hz)的信號進行濾波,而模擬濾波器由于受電容容量的限制,頻率不可能太低。 (4)數(shù)字濾波器可以根據(jù)信號的不同,采用不同的濾波方法或濾波參數(shù),具有靈活、方便、功能強的特點。2常用數(shù)字濾波算法數(shù)字濾波器是將一組輸入數(shù)字序列進行一定的運算而轉(zhuǎn)換成另一組輸出數(shù)字序列的裝置。設(shè)數(shù)字濾波器的輸入為X(n),輸出為Y(n),則輸入序列和輸出序列之間的關(guān)系可用差分方程式表示為:其中:輸入信號X(n)可以是模擬信號經(jīng)采樣和A/D變換后得到的數(shù)字序列,也可以是計算機的輸出信號。具有上述關(guān)系的數(shù)字濾波器的當前輸出與現(xiàn)在的和過去的輸入、過去的輸出有關(guān)。由這樣的差
4、分方程式組成的濾波器稱為遞歸型數(shù)字濾波器。如果將上述差分方程式中bK取0,則可得:說明輸出只和現(xiàn)在的輸入和過去的輸入有關(guān)。這種類型的濾波器稱為非遞歸型數(shù)字濾波器。參數(shù)aK、bK的選擇不同,可以實現(xiàn)低通、高通、帶通、帶阻等不同的數(shù)字濾波器。2.1算術(shù)平均值濾波算術(shù)平均值濾波是要尋找一個Y,使該值與各采樣值X(K)(K=1N)之間誤差的平方和為最小,即:這時,可滿足式(3)。式(4)便是算術(shù)平均值濾波的算法。設(shè)第二次測量的測量值包含信號成分Si和噪聲成分Ci,則進行N次測量的信號成分之和為: 噪聲的強度是用均方根來衡量的,當噪聲為隨機信號時,進行N次測量的噪聲強度
5、之和為:式(5)和式(6)中,S、C分別表示進行N次測量后信號和噪聲的平均幅度。這樣對N次測量進行算術(shù)平均后的信噪比為:其中,SC是求算術(shù)平均值前的信噪比。因此采用算術(shù)平均值后,使信噪比提高了倍。算術(shù)平均值法適用于對一般具有隨機干擾的信號進行濾波,這種信號的特點是有一個平均值,信號在某一數(shù)值范圍附近作上下波動,此時僅取一個采樣值作依據(jù)顯然是不準確的,如壓力、流量、液平面等信號的測量。但對脈沖性干擾的平滑作用尚不理想,因此他不適用于脈沖性干擾比較嚴重的場合。由式(7)可知,算術(shù)平均值法對信號的平滑濾波程度完全取決于N。當N較大時,平滑度高,但靈敏度低,即外界信號的變化對測量計算結(jié)果Y的影響??;當
6、N較小時,平滑度低,但靈敏度高。應(yīng)視具體情況選取N,以便既少占用計算時間,又達到最好的效果,如對一般流量測量,可取N=816,對壓力等測量,可取N=4。2.2加權(quán)平均值濾波算術(shù)平均值法對每次采樣值給出相同的加權(quán)系數(shù),即1N。但有些場合為了改進濾波效果,提高系統(tǒng)對當前所受干擾的靈敏度,需要增加新采樣值在平均值中的比重,即將各采樣值取不同的比例,然后再相加,此方法稱為加權(quán)平均值法。一個N項加權(quán)平均式為: 常數(shù)C1,C2,CN的選取是多種多樣的,其中常用的是加權(quán)系數(shù)法,即:加權(quán)平均值法適用于系統(tǒng)純滯后時間常數(shù)較大、采樣周期較短的過程,他給不同的相對采樣時間得到的采樣
7、值以不同的權(quán)系數(shù),以便能迅速反應(yīng)系統(tǒng)當前所受干擾的嚴重程度。但采用加權(quán)平均值法需要測試不同過程的純滯后時間,同時要不斷計算各權(quán)系數(shù),增加了計算量,降低了控制速度,因而他的實際應(yīng)用不如算術(shù)平均值法廣泛。2.3滑動平均值濾波以上平均濾波算法有一個共同點,即每計算1次有效采樣值必須連續(xù)采樣N次。對于采樣速度較慢或要求數(shù)據(jù)計算速率較高的實時系統(tǒng),這些方法是無法使用的。例如AD數(shù)據(jù),數(shù)據(jù)采樣速率為每秒10次,而要求每秒輸入4次數(shù)據(jù)時,則N不能大于2?;瑒悠骄捣ㄖ徊蓸?次,將本次采樣值和以前的N1次采樣值一起求平均,得到當前的有效采樣值?;瑒悠骄捣ò袾個采樣數(shù)據(jù)看成一個隊列,對列的長度固定為N,每進行
8、一次新的采樣,把采樣結(jié)果放入隊尾,而扔掉原來隊首的一個數(shù)據(jù),這樣在隊列中始終有N個“最新”的數(shù)據(jù)。計算濾波值時,只要把隊列中的N個數(shù)據(jù)進行平均,就可得到新的濾波值?;瑒悠骄捣▽χ芷谛愿蓴_有良好的抑制作用,平滑度高,靈敏度低;但對偶然出現(xiàn)的脈沖性干擾的抑制作用差,不易消除由于脈沖干擾引起的采樣值的偏差。因此他不適用于脈沖干擾比較嚴重的場合,而適用于高頻振蕩系統(tǒng)。通過觀察不同N值下滑動平均的輸出響應(yīng)來選取N值,以便既少占用時間,又能達到最好的濾波效果。其工程經(jīng)驗值為:流量N取12,壓力N取4,液面N取412,溫度N取14。2.4中值濾波中值濾波是對某一被測參數(shù)連續(xù)采樣N次(一般N取奇數(shù)),然后把
9、N次采樣值從小到大,或從大到小排隊,再取其中間值作為本次采樣值。中值濾波對于去掉偶然因素引起的波動或采樣器不穩(wěn)定而造成的誤差所引起的脈沖干擾比較有效,對溫度、液位等變化緩慢的被測參數(shù)采用此法能收到良好的濾波效果,但對流量、速度等快速變化的參數(shù)一般不易采用。2.5防脈沖干擾平均值濾波在脈沖干擾比較嚴重的場合,若采用一般的平均值法,則干擾將“平均”到計算結(jié)果中去,故平均值法不易消除由于脈沖干擾而引起的采樣值偏差。防脈沖干擾平均值法先對N個數(shù)據(jù)進行比較,去掉其中的最大值和最小值,然后計算余下的N-2個數(shù)據(jù)的算術(shù)平均值。即:在實際應(yīng)用中,N可取任何值,但為了加快測量計算速度,N一般不能太大,常取為4,
10、即為四取二再取平均值法。他具有計算方便、速度快、存儲量小等特點,故得到了廣泛應(yīng)用。 2.6程序判斷濾波工程實踐表明,許多物理量的變化都需要一定的時間,相鄰兩次采樣值之間的變化有一定的限度。程序判斷濾波就是根據(jù)實踐經(jīng)驗確定出相鄰兩次采樣信號之間可能出現(xiàn)的最大偏差Y,若超出此偏差值,則表明該輸入信號是干擾信號,應(yīng)該去掉;若小于此偏差值,可將信號作為本次采樣值。當采樣信號由于隨機干擾,如大功率用電設(shè)備的啟動或停止,造成電流的尖峰干擾或誤檢測,以及變送器不穩(wěn)定而引起的嚴重失真等,可采用程序判斷法進行濾波。程序判斷濾波根據(jù)濾波方法的不同,可分為限幅濾波和限速濾波2種。 限幅濾波限幅濾波把兩次相鄰的采樣值
11、相減,求出其增量(以絕對值表示),然后與兩次采樣允許的最大差值(由被控對象的實際情況決定)Y進行比較,若小于或等于Y,則取本次采樣值;若大于Y,則仍取上次采樣值作為本次采樣值。即: 限幅濾波主要用于變化比較緩慢的參數(shù),如溫度、物理位置等測量系統(tǒng)。具體應(yīng)用時,關(guān)鍵的問題是最大允差Y的選取,Y太大,各種干擾信號將“乘虛而入”,使系統(tǒng)誤差增大;Y太小,又會使某些有用信號被“拒之門外”,使計算機采樣效率變低。因此,門限值Y的選取是非常重要的。通??筛鶕?jù)經(jīng)驗數(shù)據(jù)獲得,必要時也可由實驗得出。限速濾波限速濾波最多可用3次采樣值來決定采樣結(jié)果,設(shè)順序采樣時刻t1,t2,t3的
12、采樣值分別為Y(1),Y(2),Y(3),則限速濾波較為折中,既照顧了采樣的實時性,又顧及了采樣值變化的連續(xù)性。但這種方法也有明顯的缺點: (1)Y的確定不夠靈活,必須根據(jù)現(xiàn)場的情況不斷更換新值; (2)不能反映采樣點數(shù)N3時各采樣值受干擾的情況,因而其應(yīng)用受到一定的限制。具體應(yīng)用時,可用(|Y(1)-Y(2)|+|Y(2)-Y(3)|)/2作為Y,這樣也可基本保持限速濾波的特性,雖增加計算量,但靈活性提高了。2.7低通濾波將普通硬件RC低通濾波器的微分方程用差分方程來表示,便可以用軟件算法來模擬硬件濾波的功能。經(jīng)推導(dǎo),
13、低通濾波算法如下:其中,X(K)為本次采樣值;Y(K-1)為上次的濾波輸出值;為濾波系數(shù),其值通常遠小于1;Y(K)為本次濾波的輸出值。由式(13)可以看出,本次濾波的輸出值主要取決于上次濾波的輸出值(注意不是上次的采樣值,這和加權(quán)平均濾波是有本質(zhì)區(qū)別的),本次采樣值對濾波輸出的影響是比較小的,但多少有些修正作用。這種算法模擬了具有較大慣性的低通濾波功能,當目標參數(shù)為變化很慢的物理量時,效果很好,但他不能濾除高于12采樣頻率的干擾信號。除低通濾波外,同樣可用軟件來模擬高通濾波和帶通濾波。2.8復(fù)合數(shù)字濾波為了進一步提高濾波效果,有時可以把2種或2種以上不同濾波功能的數(shù)字濾波器組合起來,組成復(fù)合
14、數(shù)字濾波器,或稱多級數(shù)字濾波器。例如防脈沖干擾平均值濾波就是一種應(yīng)用實例,由于這種濾波方法兼顧了中值濾波和算術(shù)平均值濾波的優(yōu)點,所以無論對緩慢變化的信號,還是對快速變化的信號,都能獲得較好的濾波效果。此外,也可采用雙重濾波的方法,即把采樣值經(jīng)過低通濾波后,再經(jīng)過一次高通濾波。這樣,結(jié)果更接近理想值,這實際上相當于多級RC濾波器。3結(jié)語本文討論了8種數(shù)字濾波算法,每種濾波算法都有其各自的特點,在實際應(yīng)用中,究竟選取哪一種數(shù)字濾波算法,應(yīng)根據(jù)具體的測量參數(shù)合理的選用。不適當?shù)貞?yīng)用數(shù)字濾波,不僅達不到濾波效果,反而會降低控制品質(zhì),甚至失控,這點必須予以注意。 /在許多的數(shù)據(jù)采集系統(tǒng)中,現(xiàn)場的強電設(shè)備
15、較多,不可避免 地會產(chǎn)生尖脈沖干擾,這種干擾一般持續(xù)時間短,峰值大,對這樣 的數(shù)據(jù)進行數(shù)字濾波處理時,僅僅采用算術(shù)平均或移動平均濾波 時,盡管對脈沖干擾進行了1/n的處理,但,其剩余值仍然較大。 這種場合最好的策略是:將被認為是受干擾的信號數(shù)據(jù)去掉,這 就是防脈沖干擾平均值濾波法的原理。 防脈沖干擾平均值濾波法的算法是:對連續(xù)的n個數(shù)據(jù)進行排序, 去掉其中最大和最小的2個數(shù)據(jù),將剩余數(shù)據(jù)示平均值。 在一般8051單片機的應(yīng)用中為了加快數(shù)據(jù)處理速度,n可以取值6。
16、而對于具有較快速度的處理器,則n值可以適當取大一些。但最好是 n=2k+2, k為整數(shù),因為這樣在求平均值average=SUM/(n-2)=SUM/2k時, 可以寫成average=SUM>>k,用移位的方法,可以加快處理速度。 上述算法顯然還存在一個不足之處,就是每采集一個數(shù)據(jù)就要進行一次排序, 這樣會大量占用系統(tǒng)寶貴的時間。這可以通過存儲當前數(shù)據(jù)中的最大值和最小值來改進。具體做法是: 系統(tǒng)中用兩個變量來存儲當前n個數(shù)據(jù)的最大值和最小值在這個數(shù)組
17、中的 偏移量(也就是數(shù)組下標,存儲數(shù)組下標而直接不存儲數(shù)據(jù)本身是因為:在一般的系統(tǒng)中,n不會超無符號短整形的表示范圍,因此用一個char形變量就可以存儲了,而如果直接存儲數(shù)據(jù)本身,則許多情況下要用int形變量,甚至更長的類型)。這樣只要在當前輸入的數(shù)據(jù)將要覆蓋的數(shù)據(jù)正好是當前的最大值或最小值時才在下個數(shù)組中查找最大值或最小值,而其他情況下則只要將輸入的數(shù)據(jù)與最大值和最小值比較就可以修改下最大值和最小值了,而且不用進行數(shù)據(jù)排序。 這個算法很簡單,下面是對應(yīng)的C語言代碼實現(xiàn),可以很方便的應(yīng)用的具體的51單片機,或其他處理器上,只須做少量的修改。i nclude"s
18、tdio.h"#define dtype unsigned int / 采集數(shù)據(jù)的數(shù)據(jù)類型#define uint8 char#define LEN 6 /移動算術(shù)平均的個數(shù)+2=SHIFT<<2+2#define SHIFT 2 /2SHIFTuint8 pdata; /移動指針uint8 pmax,pmin; /記錄數(shù)據(jù)表中最大值和最小值的位置,
19、60; /在一般的數(shù)據(jù)采集系統(tǒng)中,數(shù)據(jù)的長度>=8, /因此用指針記錄而不是直接記錄最大值和最小值dtype datasLEN;dtype szlb(dtype _data) /*/* 在調(diào)用此子程序前必須對 */* pdata,datas數(shù)組, */* pmax,pmin進行初始化 */*/ uint8 i; dtype
20、average=0; /清零,用來計算平均值 pdata=(pdata+1)%LEN; /指針下標在0到LEN-1上滑動 dataspdata=_data; /采樣所得數(shù)據(jù)存入數(shù)據(jù)表中 for(i=0;i<LEN;i+) average+=datasi; /求所有數(shù)據(jù)總和/*去除被認為是脈沖的數(shù)據(jù)*/ if(_data>dataspmax)
21、0; pmax=pdata; /得到最大值的指針 else if(_data<dataspmin) pmin=pdata; /得到最小值的指針 if(pdata=pmax) /如果當前輸入值將存入當前最大值的位置時 /由以上方法將不可行,必須從其他位置中查找極值 for
22、(i=0;i<LEN;i+) if(datasi>dataspmax) pmax=i; else if(pdata=pmin)/如果當前輸入值將存入當前最大值的位置時 /由以上方法將不可行,必須從其他位置中查找極值 for(i=0
23、;i<LEN;i+) if(datasi<dataspmin) pmin=i; average=average-dataspmax-dataspmin;/減去脈沖 return (average>>SHIFT); /求算術(shù)平均值/*以下是在VC6.0環(huán)境下運行的測試程序*/*通過
24、手動輸入來模擬數(shù)據(jù)采集過程*/void main() uint8 i; dtype _data; pdata=0; pmax=0; pmin=0; for(i=0;i<LEN;i+) datasi=0; printf("數(shù)據(jù):
25、 最大 最小n"); while(1) scanf("%u",&_data); szlb(_data); for(i=0;i<LEN;i+) printf("%-3u
26、; ",datasi); printf(" %-3u %-3u",dataspmax,dataspmin); printf("n"); uchar ReadADCVal() / static uchar num=0; static ucha
27、r cVin7=0,0,0,0,0,0,0;/220,220,220,220,220,220,220;/設(shè)輸入電壓緩沖區(qū) /uchar i,j,v,t; uchar i,j,v,t; if(bAdcVOk) iVtmp=iAdcVal;/從ADC中讀出數(shù)據(jù) iVtmp/=(5000/220); if(iVtmp>255) v=255; &
28、#160; else v=(char)iVtmp; for(i=0;i<7;i+) if(v<=cVini) break; if(i<=3) /小于中值
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 中西醫(yī)結(jié)合臨床科研思維與方法知到課后答案智慧樹章節(jié)測試答案2025年春中國中醫(yī)科學(xué)院西苑醫(yī)院
- 2018-2019學(xué)年高中一輪復(fù)習(xí)語文練習(xí)版塊三專題十五論述類文本閱讀
- 高中化學(xué)選修五導(dǎo)學(xué)案第一章認識有機化合物第四節(jié)第1課時有機化合物的分離提純
- 江蘇省蘇州市2017-2018學(xué)年高二學(xué)業(yè)質(zhì)量陽光指標調(diào)研生物(必修)試題
- 2017-2018學(xué)年人教課標高一英語必修3輔導(dǎo)Unit2HealthyeatingGRAMMAR
- 2025年多晶硅磁控濺射靶材合作協(xié)議書
- 2025年新疆烏魯木齊市高考地理模擬試卷(2月份)
- 剪切設(shè)備維修合同范例
- 光亮帶訂購合同范本
- 東莞日產(chǎn)購車合同范例
- 2025年上半年宜賓江安縣人社局招考易考易錯模擬試題(共500題)試卷后附參考答案
- 2024年批次杭州市教育局所屬事業(yè)單位招聘筆試真題
- 2024年天翼云認證運維工程師考試復(fù)習(xí)題庫(含答案)
- 浙江省杭州市2024年中考英語真題(含答案)
- 中國水資源與水環(huán)境-王浩
- 生豬屠宰獸醫(yī)衛(wèi)生檢驗人員理論考試題庫及答案
- 《陸上風(fēng)電場工程設(shè)計概算編制規(guī)定及費用標準》(NB-T 31011-2019)
- (完整版)質(zhì)量目標細化分解方案-橋梁工程
- 用戶水表(水費)過戶協(xié)議
- 勾股定理求最短路徑問題
- 高等院校應(yīng)屆畢業(yè)生就業(yè)推薦表
評論
0/150
提交評論