日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

数字滤波算法——中值滤波

發(fā)布時間:2024/8/1 编程问答 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 数字滤波算法——中值滤波 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

??程序判斷濾波有一個潛在的隱患,在連續(xù)兩個以上采樣周期收到干擾后,系統(tǒng)可能會不穩(wěn)定。因此,程序判斷濾波只能在基本上沒有干擾的場合下采用,它只能濾除極個別偶發(fā)的毛刺型干擾。
??在干擾頻繁的情況下,可以采用中值濾波算法來處理,該算法的描述是:連續(xù)進行奇數(shù)次采樣,然后將采樣得到的數(shù)據(jù)樣本進行排序,取中間的數(shù)據(jù)樣本作為有效采樣值。由于收到干擾的采樣值偏離有效采樣值,排序后必然處于兩端的位置,只要收到干擾的采樣數(shù)據(jù)樣本個數(shù)小于總采樣數(shù)據(jù)樣本數(shù)目的一半,就可以確保中值采樣樣本的有效性。
??假設采集系統(tǒng)采用uCOS-II操作系統(tǒng),則程序可有:

int Samp[60]; //保存有效樣本數(shù)據(jù)的數(shù)組 void TaskSamp(void * pdata) //采樣任務函數(shù) {char i,j,k,n;int R[6]; //連續(xù)采樣的數(shù)據(jù)數(shù)組for(n=0;n<60;n++) //完成60個有效數(shù)據(jù)的采樣{for(i=1;i<=5;i++) //每個有效樣本需要進行5次連續(xù)采樣{R[i]=SampAdc();OSTimeDly(2); //延時40ms,系統(tǒng)節(jié)拍周期為20ms }for(i=1;i<=3;i++) //進行選擇排序,只需排除前3名即可{k=i;for(j=i+1;j<=5;j++)if(R[j]<R[k])k=j;if(k!=i){R[0]=R[i];R[i]=R[k];R[k]=R[0];}}Samp[n]=R[3]; //取中值作為有效樣本OSTimeDly(2990);}OSTaskCreat(TaskSend,(void*)0,&TaskSendSTK[TaskStk-1],6);//創(chuàng)建發(fā)送任務OSTaskDel(OS_PRIO_SELF); }

??中值濾波本質(zhì)上也是低通濾波,由于毛刺型突發(fā)干擾為高頻干擾,故可以被很好地濾除。由于中值濾波進行N次采樣才輸出一次有效值(即采樣輸出比N:1),抗突發(fā)干擾能力比程序判斷濾波要提高很多,能夠在干擾比較頻繁的場合正常使用。

總結(jié)

以上是生活随笔為你收集整理的数字滤波算法——中值滤波的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。