經典濾波算法C語言程序_第1頁
經典濾波算法C語言程序_第2頁
經典濾波算法C語言程序_第3頁
經典濾波算法C語言程序_第4頁
經典濾波算法C語言程序_第5頁
已閱讀5頁,還剩4頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、經典濾波算法及C語言程序經典濾波算法及C語言程序經典濾波算法及C語言程序【電子設計吧】DEMOK_DEVICE經典的濾波算法(轉)1、限幅濾波法(又稱程序判斷濾波法)A、方法:依據經驗判斷,確立兩次采樣同意的最大誤差值(設為每次檢測到新值時判斷:假如本次值與上一次值之差A,則本次值無效,放棄本次值B、長處:A),用上一次值取代本次值能有效戰(zhàn)勝因有時要素惹起的脈沖攪亂C、弊端沒法克制那種周期性的攪亂光滑度差2、中位值濾波法、方法:連續(xù)采樣N次(N取奇數)把N次采樣值按大小擺列取中間值為本次有效值B、長處:能有效戰(zhàn)勝因有時要素惹起的顛簸攪亂對溫度、液位的變化緩慢的被測參數有優(yōu)異的濾波成效C、弊端:

2、對流量、速度等迅速變化的參數不宜3、算術均勻濾波法、方法:連續(xù)取N個采樣值進行算術均勻運算值較大時:信號光滑度較高,但敏捷度較低N值較小時:信號光滑度較低,但敏捷度較高N值的采納:一般流量,N=12;壓力:N=4B、長處:合用于對一般擁有隨機攪亂的信號進行濾波這樣信號的特色是有一個均勻值,信號在某一數值范圍周邊上下顛簸C、弊端:對于丈量速度較慢或要求數據計算速度較快的及時控制不合用比較浪費RAM【電子設計吧】DEMOK_DEVICE遞推均勻濾波法對有時出現(xiàn)的脈沖性攪亂的克制作用較差4、遞推均勻濾波法(又稱滑動均勻濾波法)、方法:把連續(xù)取N個采樣值看作一個隊列隊列的長度固定為N每次采樣到一個新數

3、據放入隊尾,并拋棄本來隊首的一次數據.(先進先出原則)把隊列中的N個數據進行算術均勻運算,即可獲取新的濾波結果N值的采納:流量,N=12;壓力:N=4;液面,N=412;溫度,N=14B、長處:對周期性攪亂有優(yōu)異的克制作用,光滑度高合用于高頻振蕩的系統(tǒng)C、弊端:敏捷度低對有時出現(xiàn)的脈沖性攪亂的克制作用較差不易除掉因為脈沖攪亂所惹起的采樣值誤差不合用于脈沖攪亂比較嚴重的場合比較浪費RAM5、中位值均勻濾波法(又稱防脈沖攪亂均勻濾波法)、方法:相當于“中位值濾波法”+算“術均勻濾波法”連續(xù)采樣N個數據,去掉一個最大值和一個最小值而后計算N-2個數據的算術均勻值N值的采納:314B、長處:交融了兩種

4、濾波法的長處對于有時出現(xiàn)的脈沖性攪亂,可除掉因為脈沖攪亂所惹起的采樣值誤差C、弊端:丈量速度較慢,和算術均勻濾波法相同比較浪費RAM6、限幅均勻濾波法、方法:相當于“限幅濾波法”+遞“推均勻濾波法”每次采樣到的新數據先進行限幅辦理,再送入隊列進行遞推均勻濾波辦理B、長處:交融了兩種濾波法的長處對于有時出現(xiàn)的脈沖性攪亂,可除掉因為脈沖攪亂所惹起的采樣值誤差C、弊端:比較浪費RAM【電子設計吧】DEMOK_DEVICE7、一階滯后濾波法A、方法:取a=01本次濾波結果=(1-a)*本次采樣值+a*上一次濾波結果B、長處:對周期性攪亂擁有優(yōu)異的克制作用合用于顛簸頻率較高的場合C、弊端:相位滯后,敏捷

5、度低滯后程度取決于a值大小不可以除掉濾波頻率高于采樣頻率的1/2的攪亂信號8、加權遞推均勻濾波法、方法:是對遞推均勻濾波法的改進,即不一樣時刻的數據加以不一樣的權平時是,越湊近現(xiàn)時刻的數據,權獲得越大。恩賜新采樣值的權系數越大,則敏捷度越高,但信號光滑度越低B、長處:合用于有較大純滯后時間常數的對象和采樣周期較短的系統(tǒng)C、弊端:對于純滯后時間常數較小,采樣周期較長,變化緩慢的信號不可以迅速反應系統(tǒng)當前所受攪亂的嚴重程度,濾波成效差9、消抖濾波法、方法:設置一個濾波計數器將每次采樣值與當前有效值比較:假如采樣值當前有效值,則計數器清零假如采樣值當前有效值,則計數器+1,并判斷計數器能否=上限N(

6、溢出)假如計數器溢出,則將本次值替代當前有效值,并清計數器B、長處:對于變化緩慢的被測參數有較好的濾波成效,可防備在臨界值周邊控制器的頻頻開/關跳動或顯示器上數值抖動C、弊端:對于迅速變化的參數不宜假如在計數器溢出的那一次采樣到的值恰好是攪亂值,則會將攪亂值看作有效值導入系統(tǒng)10、限幅消抖濾波法、方法:【電子設計吧】DEMOK_DEVICE相當于“限幅濾波法”+消“抖濾波法”先限幅,后消抖B、長處:繼承了“限幅”和“消抖”的長處改進了“消抖濾波法”中的某些缺點,防備將攪亂值導入系統(tǒng)C、弊端:對于迅速變化的參數不宜11、IIR數字濾波器方法:確立信號帶寬,濾之。Y(n)=a1*Y(n-1)+a2

7、*Y(n-2)+.+ak*Y(n-k)+b0*X(n)+b1*X(n-1)+b2*X(n-2)+.+bk*X(n-k)B.長處:高通,低通,帶通,帶阻任意。設計簡單(用matlab)弊端:運算量大。-【電子設計吧】DEMOK_DEVICE軟件濾波的C程序樣例種軟件濾波方法的示例程序假定從8位AD中讀取數據(假如是更高位的AD可定義數據種類為int),子程序為get_ad();1、限副濾波/*A值可依據實質狀況調整value為有效值,new_value為當前采樣值濾波程序返回有效的實質值*/#defineA10charvalue;charfilter()charnew_value;new_val

8、ue=get_ad();if(new_value-valueA)|(value-new_valueA)returnvalue;elsereturnnew_value;2、中位值濾波法/*N值可依據實質狀況調整排序采納冒泡法*/#defineN11charfilter()charvalue_bufN;charcount,i,j,temp;for(count=0;countvalue_bufcount=get_ad();delay();for(j=0;jN-1;j+)/冒泡法for(i=0;ivalue_bufi+1)temp=value_bufi;value_bufi=value_bufi+1;

9、value_bufi+1=temp;【電子設計吧】DEMOK_DEVICEreturnvalue_buf(N-1)/2;3、算術均勻濾波法/*/#defineN12charfilter()intsum=0;for(count=0;countN;count+)sum+=get_ad();delay();return(char)(sum/N);4、遞推均勻濾波法(又稱滑動均勻濾波法)/*/#defineN12charvalue_bufN;chari=0;charfilter()charcount;intsum=0;value_bufi+=get_ad();if(i=N)i=0;for(count=

10、0;countN;count+)return(char)(sum/N);sum=value_bufcount;5、中位值均勻濾波法(又稱防脈沖攪亂均勻濾波法)/*/#defineN12charfilter()charcount,i,j;charvalue_bufN;【電子設計吧】DEMOK_DEVICEintsum=0;for(count=0;countvalue_bufcount=get_ad();delay();for(j=0;jN-1;j+)/冒泡法for(i=0;ivalue_bufi+1)temp=value_bufi;value_bufi=value_bufi+1;value_bu

11、fi+1=temp;for(count=0;countN;count+)sum=value_bufcount;return(char)(sum/(N-2);6、限幅均勻濾波法/*/略參照子程序1、37、一階滯后濾波法/*為加速程序辦理速度假定基數為100,a=0100*/#definea50charvalue;charfilter()charnew_value;new_value=get_ad();return(100-a)*value+a*new_value;8、加權遞推均勻濾波法/*coe數組為加權系數表,存在程序儲存區(qū)。*/#defineN12charcodecoeN=1,2,3,4,5

12、,6,7,8,9,10,11,12;【電子設計吧】DEMOK_DEVICEcharcodesum_coe=1+2+3+4+5+6+7+8+9+10+11+12;charfilter()charcount;charvalue_bufN;intsum=0;for(count=0,countvalue_bufcount=get_ad();delay();for(count=0;count=N)returnnew_value;delay();new_value=get_ad();returnvalue;10、限幅消抖濾波法/*/略參照子程序1、911、IIR濾波例子intBandpassFilter4

13、(intInputAD4)intReturnValue;intii;RESLO=0;RESHI=0;MACS=*PdelIn;【電子設計吧】DEMOK_DEVICEOP2=1068;/FilterCoeff44;MACS=*(PdelIn+1);OP2=8;/FilterCoeff43;MACS=*(PdelIn+2);OP2=-2001;/FilterCoeff42;MACS=*(PdelIn+3);OP2=8;/FilterCoeff41;MACS=InputAD4;OP2=1068;/FilterCoeff40;MACS=*PdelOu;OP2=-7190;/FilterCoeff48;MACS=*(PdelOu+1);OP2=-1973;/FilterCoeff47;MACS=*(PdelOu+2);OP2=-19578;/FilterCoeff46;MACS=*(PdelOu+3);OP2=-3047;/FilterCoeff45;*p=RESLO;*(p+1)=RESHI;mytestmul=2;ReturnValue=*(p+1);for(ii=0;ii3;ii+)De

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論