2022年2022年經典濾波算法及C語言程序_第1頁
2022年2022年經典濾波算法及C語言程序_第2頁
2022年2022年經典濾波算法及C語言程序_第3頁
2022年2022年經典濾波算法及C語言程序_第4頁
2022年2022年經典濾波算法及C語言程序_第5頁
已閱讀5頁,還剩6頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

1、精選學習資料 - - - 歡迎下載【電子設計吧】 demok_device經典的濾波算法 轉1.限幅濾波法(又稱程序判定濾波法)a .方法:依據體會判定,確定兩次采樣答應的最大偏差值(設為a )每次檢測到新值時判定:假如本次值與上次值之差<=a、 就本次值有效假如本次值與上次值之差>a、 就本次值無效、舍棄本次值 、用上次值代替本次值b.優點:能有效克服因偶然因素引起的脈沖干擾c.缺點無法抑制那種周期性的干擾平滑度差2.中位值濾波法a .方法:連續采樣 n 次( n 取奇數)把 n 次采樣值按大小排列取中間值為本次有效值b.優點:能有效克服因偶然因素引起的波動干擾對溫度.液位的變化

2、緩慢的被測參數有良好的濾波成效c.缺點:對流量.速度等快速變化的參數不宜3.算術平均濾波法a .方法:連續取 n 個采樣值進行算術平均運算n 值較大時:信號平滑度較高,但靈敏度較低n 值較小時:信號平滑度較低,但靈敏度較高n 值的選取:一般流量,n=12 ;壓力: n=4b.優點:適用于對一般具有隨機干擾的信號進行濾波這樣信號的特點為有一個平均值,信號在某一數值范疇鄰近上下波動c.缺點:對于測量速度較慢或要求數據運算速度較快的實時掌握不適用比較鋪張 ram精品學習資料精選學習資料 - - - 歡迎下載【電子設計吧】 demok_device遞推平均濾波法對偶然顯現的脈沖性干擾的抑制作用較差4.

3、遞推平均濾波法(又稱滑動平均濾波法)a .方法:把連續取 n 個采樣值看成一個隊列隊列的長度固定為n每次采樣到一個新數據放入隊尾、并扔掉原先隊首的一次數據.先進先出原就把隊列中的n 個數據進行算術平均運算、就可獲得新的濾波結果n 值的選取:流量,n=12 ;壓力: n=4 ;液面, n=412 ;溫度, n=14 b.優點:對周期性干擾有良好的抑制作用,平滑度高適用于高頻振蕩的系統c.缺點:靈敏度低對偶然顯現的脈沖性干擾的抑制作用較差 不易排除由于脈沖干擾所引起的采樣值偏差不適用于脈沖干擾比較嚴峻的場合比較鋪張 ram5.中位值平均濾波法(又稱防脈沖干擾平均濾波法)a .方法:相當于 “中位值

4、濾波法 ” +算“術平均濾波法” 連續采樣 n 個數據,去掉一個最大值和一個最小值然后運算 n-2 個數據的算術平均值n 值的選取: 314b.優點:融合了兩種濾波法的優點對于偶然顯現的脈沖性干擾,可排除由于脈沖干擾所引起的采樣值偏差c.缺點:測量速度較慢,和算術平均濾波法一樣比較鋪張 ram6.限幅平均濾波法a .方法:相當于 “限幅濾波法 ” +遞“推平均濾波法”每次采樣到的新數據先進行限幅處理,再送入隊列進行遞推平均濾波處理b.優點:融合了兩種濾波法的優點對于偶然顯現的脈沖性干擾,可排除由于脈沖干擾所引起的采樣值偏差c.缺點:比較鋪張 ram精品學習資料精選學習資料 - - - 歡迎下載

5、【電子設計吧】 demok_device7.一階滯后濾波法a .方法:取 a=01本次濾波結果 =( 1-a) * 本次采樣值 +a* 上次濾波結果b.優點:對周期性干擾具有良好的抑制作用適用于波動頻率較高的場合c.缺點:相位滯后,靈敏度低滯后程度取決于a 值大小不能排除濾波頻率高于采樣頻率的1/2 的干擾信號8.加權遞推平均濾波法a .方法:為對遞推平均濾波法的改進,即不同時刻的數據加以不同的權通常為,越接近現時刻的數據,權取得越大;賜予新采樣值的權系數越大,就靈敏度越高,但信號平滑度越低b.優點:適用于有較大純滯后時間常數的對象和采樣周期較短的系統c.缺點:對于純滯后時間常數較小,采樣周期

6、較長,變化緩慢的信號不能快速反應系統當前所受干擾的嚴峻程度,濾波成效差9.消抖濾波法a .方法:設置一個濾波計數器將每次采樣值與當前有效值比較:假如采樣值當前有效值,就計數器清零假如采樣值 <> 當前有效值,就計數器+1,并判定計數器為否>= 上限 n 溢出 假如計數器溢出、就將本次值替換當前有效值、并清計數器b.優點:對于變化緩慢的被測參數有較好的濾波成效、可防止在臨界值鄰近掌握器的反復開/關跳動或顯示器上數值抖動c.缺點:對于快速變化的參數不宜假如在計數器溢出的那一次采樣到的值恰好為干擾值、就會將干擾值當作有效值導入系統10.限幅消抖濾波法a .方法:精品學習資料精選學習

7、資料 - - - 歡迎下載【電子設計吧】 demok_device相當于 “限幅濾波法 ” +消“抖濾波法 ”先限幅 、后消抖b.優點:繼承了 “限幅 ”和“消抖 ”的優點改進了 “消抖濾波法 ”中的某些缺陷 、防止將干擾值導入系統 c.缺點:對于快速變化的參數不宜11.iir數字濾波器a. 方法:確定信號帶寬,濾之;yn = a1*yn-1 + a2*yn-2 + . + ak*yn-k + b0*xn + b1*xn-1 + b2*xn-2 + . +bk*xn-kb. 優點:高通,低通,帶通,帶阻任意;設計簡潔 用 matlab)c. 缺點:運算量大;-精品學習資料精選學習資料 - -

8、- 歡迎下載【電子設計吧】 demok_device軟件濾波的 c 程序樣例11 種軟件濾波方法的示例程序假定從 8 位 ad 中讀取數據(假如為更高位的ad 可定義數據類型為int、 子程序為get_ad;1.限副濾波/*a 值可依據實際情形調整 value 為有效值, new_value 為當前采樣值濾波程序返回有效的實際值*/#define a 10char value; char filtercharnew_value; new_value = get_ad;if new_value - value > a | value - new_value > a return va

9、lue;elsereturn new_value;2.中位值濾波法/*n 值可依據實際情形調整排序采納冒泡法*/#define n11char filterchar value_bufn; char count、i、j、temp;for count=0;countvalue_bufcount = get_ad; delay;for j=0;j<n-1;j+/ 冒泡法for i=0;i<n-1-j;i+if value_bufi>value_bufi+1 temp = value_bufi; value_buf i= value_bufi+1; value_bufi+1 = t

10、emp;精品學習資料精選學習資料 - - - 歡迎下載【電子設計吧】 demok_devicereturn value_bufn-1/2;3.算術平均濾波法/*/#define n 12 char filterintsum = 0;for count=0;count<n;count+sum + = get_ad; delay;return charsum/n;4.遞推平均濾波法(又稱滑動平均濾波法)/*/#define n 12char value_bufn; char i=0;char filterchar count; intsum=0;value_bufi+ = get_ad; i

11、f i = n i = 0;for count=0;count<n;count+sum = value_bufcount; return charsum/n;5.中位值平均濾波法(又稱防脈沖干擾平均濾波法)/*/#define n 12char filterchar count、i、j; char value_bufn;精品學習資料精選學習資料 - - - 歡迎下載【電子設計吧】 demok_deviceintsum=0;forcount=0;count value_bufcount = get_ad; delay;for j=0;j<n-1;j+/冒泡法for i=0;i<

12、n-1-j;i+if value_bufi>value_bufi+1 temp = value_bufi; value_buf i= value_bufi+1; value_bufi+1 = temp;for count=0;count<n;count+sum = value_bufcount; return charsum/n-2;6.限幅平均濾波法/*/略 參考子程序1.37.一階滯后濾波法/*為加快程序處理速度假定基數為100, a=0100 */#define a 50 char value; char filtercharnew_value; new_value = ge

13、t_ad;return 100-a*value + a*new_value;8.加權遞推平均濾波法/* coe 數組為加權系數表,存在程序儲備區;*/#define n 12char code coen = 1、2、3、4、5、6、7、8、9、10、11、12;精品學習資料精選學習資料 - - - 歡迎下載【電子設計吧】 demok_devicechar code sum_coe = 1+2+3+4+5+6+7+8+9+10+11+12; char filterchar count;char value_bufn; intsum=0;for count=0、count value_bufcou

14、nt = get_ad; delay;for count=0;count<n;count+sum = value_bufcount; return charsum/sum_coe;9.消抖濾波法#define n 12 char filterchar count=0; char new_value;new_value = get_ad;while value .=new_value;count+;if count>=nreturn new_value; delay;new_value = get_ad;return value;10.限幅消抖濾波法/*/略 參考子程序1.911.i

15、ir 濾波例子intbandpassfilter4int inputad4intreturnvalue; 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;*

溫馨提示

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

評論

0/150

提交評論