




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、精選優(yōu)質(zhì)文檔-傾情為你奉上十大濾波算法程序大全(精心整理版)1、限幅濾波法*函數(shù)名稱:AmplitudeLimiterFilter()-限幅濾波法*優(yōu)點(diǎn):能有效克服因偶然因素引起的脈沖干擾*缺點(diǎn):無(wú)法抑制那種周期性的干擾,且平滑度差*說明: 1、調(diào)用函數(shù) GetAD(),該函數(shù)用來取得當(dāng)前值 2、變量說明 Value:最近一次有效采樣的值,該變量為全局變量 NewValue:當(dāng)前采樣的值
2、60; ReturnValue:返回值 3、常量說明 A:兩次采樣的最大誤差值,該值需要使用者根據(jù)實(shí)際情況設(shè)置*入口:Value,上一次有效的采樣值,在主程序里賦值*出口:ReturnValue,返回值,本次濾波結(jié)果*/#define A 10unsigned char Valueunsigned char AmplitudeLimiterFilter() unsigned char NewValue; unsigned char ReturnValu
3、e; NewValue=GatAD(); if(NewValue-Value)>A)|(Value-NewValue)>A) ReturnValue=Value; else ReturnValue=NewValue; return(ReturnValue); 2、中位值濾波法/*函數(shù)名稱:MiddlevalueFilter()-中位值濾波法*優(yōu)點(diǎn):能有效克服因偶然因素引起的波動(dòng)干擾;對(duì)溫度、液
4、 位等變化緩慢的被測(cè)參數(shù)有良好的濾波效果*缺點(diǎn):對(duì)流量,速度等快速變化的參數(shù)不宜*說明: 1、調(diào)用函數(shù) GetAD(),該函數(shù)用來取得當(dāng)前值 Delay(),基本延時(shí)函數(shù) 2、變量說明 ArrDataBufferN:用來存放一次性采集的N組數(shù)據(jù) Temp:完成冒泡法試用的臨時(shí)寄存器 i,j,k:循環(huán)試用的參數(shù)值 3、常量說
5、明 N:數(shù)組長(zhǎng)度*入口:*出口:value_buf(N-1)/2,返回值,本次濾波結(jié)果*/#define N 11unsigned char MiddlevalueFilter() unsigned char value_bufN; unsigned char i,j,k,temp; for(i=0;i<N;i+) value_bufi = get_ad(); delay(); for (j=0
6、;j<N-1;j+) for (k=0;k<N-j;k+) if(value_bufk>value_bufk+1) temp = value_bufk; value_bufk = value_bufk+1; valu
7、e_bufk+1 = temp; return value_buf(N-1)/2;3、算術(shù)平均濾波法 /*說明:連續(xù)取N個(gè)采樣值進(jìn)行算術(shù)平均運(yùn)算優(yōu)點(diǎn):試用于對(duì)一般具有隨機(jī)干擾的信號(hào)進(jìn)行濾波。這種信號(hào)的特點(diǎn)是 有一個(gè)平均值,信號(hào)在某一數(shù)值范圍附近上下波動(dòng)。缺點(diǎn):對(duì)于測(cè)量速度較慢或要求數(shù)據(jù)計(jì)算較快的實(shí)時(shí)控制不適用。*/#define N 12char filter() unsigned int sum = 0; u
8、nsigned char i; for (i=0;i<N;i+) sum + = get_ad(); delay(); return(char)(sum/N);4、遞推平均濾波法(又稱滑動(dòng)平均濾波法) /*說明:把連續(xù)N個(gè)采樣值看成一個(gè)隊(duì)列,隊(duì)列長(zhǎng)度固定為N。 每次采樣到一個(gè)新數(shù)據(jù)放入隊(duì)尾,并扔掉隊(duì)首的一 次數(shù)據(jù)。把隊(duì)列中的N各數(shù)據(jù)進(jìn)行平均運(yùn)算,既
9、獲得 新的濾波結(jié)果。優(yōu)點(diǎn):對(duì)周期性干擾有良好的抑制作用,平滑度高;試用于高頻振蕩的系統(tǒng)缺點(diǎn):靈敏度低;對(duì)偶然出現(xiàn)的脈沖性干擾的抑制作用較差,不適于脈沖干 擾較嚴(yán)重的場(chǎng)合*/#define N 12unsigned char value_bufN;unsigned char filter() unsigned char i; unsigned char value; int sum=0; value_bufi+ = get_ad(
10、); /采集到的數(shù)據(jù)放入最高位 for(i=0;i<N;i+) value_bufi=value_bufi+1; /所有數(shù)據(jù)左移,低位扔掉 sum += value_bufi; value = sum/N; return(value);5、中位值平均濾波法(又稱防脈沖干擾平均濾波法) /* 說明:采一組隊(duì)列去掉最大值和最小值 優(yōu)點(diǎn):融合了兩
11、種濾波的優(yōu)點(diǎn)。對(duì)于偶然出現(xiàn)的脈沖性干擾,可消 除有其引起的采樣值偏差。對(duì)周期干擾有良好的抑制作用, 平滑度高,適于高頻振蕩的系統(tǒng)。 缺點(diǎn):測(cè)量速度慢*/#define N 12uchar filter() unsigned char i,j,k,l; unsigned char temp,sum=0,value; unsigned char value_bufN,; for(i=0;i<N
12、;i+) value_bufi = get_ad(); delay(); /采樣值從小到大排列(冒泡法) for(j=0;j<N-1;j+) for(i=0;i<N-j;i+) if(value_bufi>value_bufi+1)
13、160; temp = value_bufi; value_bufi = value_bufi+1; value_bufi+1 = temp; for(i=1;i<N-1;i+) sum += value_bufi;
14、 value = sum/(N-2); return(value);6、遞推中位值濾波法/* 優(yōu)點(diǎn):對(duì)于偶然出現(xiàn)的脈沖性干擾,可消除由其引起的采樣值偏差。 對(duì)周期性干擾有良好的抑制作用,平滑度高;試用于高頻振蕩 的系統(tǒng) 缺點(diǎn):測(cè)量速度慢*/char filter(char new_data,char queue,char n) char max,min; char sum; char
15、i; queue0=new_data; max=queue0; min=queue0; sum=queue0; for(i=n-1;i>0;i-) if(queuei>max) max=queuei; else if (queuei<min) min=queuei; sum=sum+queuei;
16、60; queuei=queuei-1; i=n-2; sum=sum-max-min+i/2; /說明:+i/2的目的是為了四舍五入 sum=sum/i; return(sum);7、限幅平均濾波法/* 優(yōu)點(diǎn):對(duì)于偶然出現(xiàn)的脈沖性干擾,可消除有其引起的采樣值偏差。*/#define A 10#define N 12unsigned char data;unsigned char filter(data) unsigned char i; unsign
17、ed char value,sum; dataN=GetAD(); if(dataN-dataN-1)>A|(dataN-1-dataN)>A) dataN=dataN-1; /else dataN=NewValue; for(i=0;i<N;i+) datai=datai+1; sum+=datai; value=sum/N; return(value);8、一階滯后濾波法/*函數(shù)名稱:fil
18、ter()-一階滯后濾波法*說明: 1、調(diào)用函數(shù) GetAD(),該函數(shù)用來取得當(dāng)前值 Delay(),基本延時(shí)函數(shù) 2、變量說明 Or_dataN:采集的數(shù)據(jù) Dr0_flag、Dr1_flag:前一次比較與當(dāng)前比較的方向位 coeff:濾波系數(shù) F_count:濾波計(jì)數(shù)器
19、 3、常量說明 N:數(shù)組長(zhǎng)度 Thre_value:比較門檻值*入口:*出口:*/#define Thre_value 10#define N 50float Or_dataN;unsigned char Dr0_flag=0,Dr1_flag=0;void abs(float first,float second) float abs; if(first>second) abs=first
20、-second; Dr1_flag=0; else abs=second-first; Dr1_flag=1; return(abs); void filter(void) uchar i=0,F_count=0,coeff=0; float Abs=0.00; /確定一階濾波系數(shù) for(i=1;i<N;i+)
21、60; Abs=abs(Or_datai-1,Or_datai); if(!(Dr1_flagDr0_flag) /前后數(shù)據(jù)變化方向一致 F_count
22、+; if(Abs>=Thre_value) F_count+; F_count+;
23、 if(F_count>=12) F_count=12; coeff=20*F_count; else
24、0; /去抖動(dòng) coeff=5; /一階濾波算法 if(Dr1_flag=0)
25、60; /當(dāng)前值小于前一個(gè)值 Or_datai=Or_datai-1-coeff*(Or_datai-1-Or_datai)/256; else
26、 Or_datai=Or_datai-1+coeff*(Or_datai-Or_datai-1)/256; F_count=0; /濾波計(jì)數(shù)器清零 Dr0_flag=Dr1_flag; 9、加權(quán)遞推平均濾波法/* coe:數(shù)組為加權(quán)系數(shù)表,存在程序存儲(chǔ)區(qū)。 sum_coe:加權(quán)系數(shù)和 */#
溫馨提示
- 1. 本站所有資源如無(wú)特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 內(nèi)蒙古自治區(qū)赤峰市松山區(qū)松山外國(guó)語(yǔ)學(xué)校2023-2024學(xué)年八年級(jí)上學(xué)期第一次月考物理試卷(含答案)
- 周期性肢體運(yùn)動(dòng)障礙-洞察及研究
- 2021年國(guó)家開放大學(xué)電大《公共管理學(xué)》形考一、二、三、答案
- 人文經(jīng)典閱讀推廣課程高中語(yǔ)文新課教案設(shè)計(jì)
- 構(gòu)圖心理測(cè)試題及答案解析
- 公考心理素質(zhì)測(cè)試題及答案
- 等保中級(jí)測(cè)評(píng)師考試試題及答案
- 地鐵維修員筆試題目及答案
- 地府公務(wù)員面試題及答案
- 德陽(yáng)郵政考試試題及答案
- 國(guó)開期末考試《城市管理學(xué)》機(jī)考試題及答案(第11套)
- 新疆維吾爾自治區(qū)建筑工程補(bǔ)充預(yù)算定額說明
- 學(xué)前兒童語(yǔ)言教育課件精品ppt
- 機(jī)械原理課程設(shè)計(jì)--自動(dòng)打印機(jī)
- 蒸發(fā)設(shè)備操作講解
- (完整版)電大法律專業(yè)??飘厴I(yè)論文
- 東風(fēng)汽車零部件編碼規(guī)則
- CATIA在汽車底盤設(shè)計(jì)中的應(yīng)用
- 【簡(jiǎn)譜】親愛的旅人啊簡(jiǎn)譜
- 電感氣隙計(jì)算方法
- 關(guān)于進(jìn)一步理順市區(qū)行政管理體制的調(diào)研報(bào)告5
評(píng)論
0/150
提交評(píng)論