亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? 常用軟件濾波方法及其示例程序.c

?? 單片機常用的AD后濾波算法
?? C
字號:
常用軟件濾波方法及其示例程序

1、限幅濾波法(又稱程序判斷濾波法)

A、方法:
根據經驗判斷,確定兩次采樣允許的最大偏差值(設為A)
每次檢測到新值時判斷:
如果本次值與上次值之差<=A,則本次值有效
如果本次值與上次值之差>A,則本次值無效,放棄本次值,用上次值代替本次值

B、優點:
能有效克服因偶然因素引起的脈沖干擾

C、缺點
無法抑制那種周期性的干擾
平滑度差 

示例:
/*
A值可根據實際情況調整
value為有效值,new_value為當前采樣值 
濾波程序返回有效的實際值 */

#define A 10
char value;
char filter()
{
char new_value;
new_value = get_ad();
if ( ( new_value - value > A ) || ( value - new_value > A ) ) return value;
else return new_value;
}

2、中位值濾波法

A、方法:
連續采樣N次(N取奇數)
把N次采樣值按大小排列
取中間值為本次有效值

B、優點:
能有效克服因偶然因素引起的波動干擾
對溫度、液位的變化緩慢的被測參數有良好的濾波效果

C、缺點:
對流量、速度等快速變化的參數不宜

示例:
/*
N值可根據實際情況調整
排序采用冒泡法*/

#define N 11
char filter()
{
char value_buf[N];
char count,i,j,temp;
for ( count=0;count {
value_buf[count] = get_ad();
delay();
}
for (j=0;j {
for (i=0;i {
if ( value_buf[i]>value_buf[i+1] )
{
temp = value_buf[i];
value_buf[i] = value_buf[i+1]; 
value_buf[i+1] = temp;
}
}
}
return value_buf[(N-1)/2];
} 


3、算術平均濾波法

A、方法:
連續取N個采樣值進行算術平均運算
N值較大時:信號平滑度較高,但靈敏度較低
N值較小時:信號平滑度較低,但靈敏度較高
N值的選取:一般流量,N=12;壓力:N=4

B、優點:
適用于對一般具有隨機干擾的信號進行濾波
這樣信號的特點是有一個平均值,信號在某一數值范圍附近上下波動

C、缺點:
對于測量速度較慢或要求數據計算速度較快的實時控制不適用
比較浪費RAM

示例:

#define N 12
char filter()
{
int sum = 0;
char count;
for ( count=0;count {
sum+=get_ad();
delay();
}
return (char)(sum/N);
}

4、遞推平均濾波法(又稱滑動平均濾波法)

A、方法:
把連續取N個采樣值看成一個隊列
隊列的長度固定為N
每次采樣到一個新數據放入隊尾,并扔掉原來隊首的一次數據.(先進先出原則)
把隊列中的N個數據進行算術平均運算,就可獲得新的濾波結果
N值的選取:流量,N=12;壓力:N=4;液面,N=4~12;溫度,N=1~4


B、優點:
對周期性干擾有良好的抑制作用,平滑度高
適用于高頻振蕩的系統 

C、缺點:
靈敏度低
對偶然出現的脈沖性干擾的抑制作用較差
不易消除由于脈沖干擾所引起的采樣值偏差
不適用于脈沖干擾比較嚴重的場合
比較浪費RAM

示例:

#define N 12 
char value_buf[N];
char i=0;
char filter()
{
char count;
int sum=0;
value_buf[i++]=get_ad();
if (i == N) i=0;
for ( count=0;count sum = value_buf[count];
return (char)(sum/N);
}

5、中位值平均濾波法(又稱防脈沖干擾平均濾波法)

A、方法:
相當于“中位值濾波法”+“算術平均濾波法”
連續采樣N個數據,去掉一個最大值和一個最小值
然后計算N-2個數據的算術平均值
N值的選取:3~14

B、優點:
融合了兩種濾波法的優點
對于偶然出現的脈沖性干擾,可消除由于脈沖干擾所引起的采樣值偏差

C、缺點:
測量速度較慢,和算術平均濾波法一樣
比較浪費RAM

示例:

#define N 12
char filter()
{
char count,i,j,temp;
char value_buf[N];
int sum=0;
for (count=0;count {
value_buf[count] = get_ad();
delay();
}
for (j=0;j {
for (i=0;i {
if ( value_buf[i]>value_buf[i+1] )
{
temp = value_buf[i];
value_buf[i] = value_buf[i+1]; 
value_buf[i+1] = temp;
}
}
}
for(count=1;count sum += value_buf[count];
return (char)(sum/(N-2));
}


6、限幅平均濾波法

A、方法:
相當于“限幅濾波法”+“遞推平均濾波法”
每次采樣到的新數據先進行限幅處理,
再送入隊列進行遞推平均濾波處理

B、優點:
融合了兩種濾波法的優點
對于偶然出現的脈沖性干擾,可消除由于脈沖干擾所引起的采樣值偏差

C、缺點:
比較浪費RAM


略 參考子程序1、3





7、一階滯后濾波法

A、方法:
取a=0~1
本次濾波結果=(1-a)*本次采樣值+a*上次濾波結果

B、優點:
對周期性干擾具有良好的抑制作用
適用于波動頻率較高的場合

C、缺點:
相位滯后,靈敏度低
滯后程度取決于a值大小
不能消除濾波頻率高于采樣頻率的1/2的干擾信號

示例:
/*為加快程序處理速度假定基數為100,a=0~100 */

#define a 50
char value;
char filter()
{
char new_value;
new_value = get_ad();
return (100-a)*value + a*new_value; 
}

 

8、加權遞推平均濾波法

A、方法:
是對遞推平均濾波法的改進,即不同時刻的數據加以不同的權
通常是,越接近現時刻的數據,權取得越大。
給予新采樣值的權系數越大,則靈敏度越高,但信號平滑度越低

B、優點:
適用于有較大純滯后時間常數的對象
和采樣周期較短的系統

C、缺點:
對于純滯后時間常數較小,采樣周期較長,變化緩慢的信號
不能迅速反應系統當前所受干擾的嚴重程度,濾波效果差


示例:
/*coe數組為加權系數表,存在程序存儲區。*/

#define N 12
char coe[N] = {1,2,3,4,5,6,7,8,9,10,11,12};
char sum_coe = 1+2+3+4+5+6+7+8+9+10+11+12;
char filter()
{
char count;
char value_buf[N];
int sum=0;
for (count=0;count {
value_buf[count] = get_ad();
delay();
}
for (count=0;count sum += value_buf[count]*coe[count];
return (char)(sum/sum_coe);
}


9、消抖濾波法

A、方法:
設置一個濾波計數器
將每次采樣值與當前有效值比較:
如果采樣值=當前有效值,則計數器清零
如果采樣值<>當前有效值,則計數器+1,并判斷計數器是否>=上限N(溢出)
如果計數器溢出,則將本次值替換當前有效值,并清計數器

B、優點:
對于變化緩慢的被測參數有較好的濾波效果,
可避免在臨界值附近控制器的反復開/關跳動或顯示器上數值抖動

C、缺點:
對于快速變化的參數不宜
如果在計數器溢出的那一次采樣到的值恰好是干擾值,則會將干擾值當作有效值導
入系統

示例:

char value;
#define N 12
char filter()
{
char count=0;
char new_value;
new_value = get_ad();
while (value !=new_value);
{
count++;
if (count>=N) return new_value;
delay();
new_value = get_ad();
}
return value; 
}


10、限幅消抖濾波法

A、方法:
相當于“限幅濾波法”+“消抖濾波法”
先限幅,后消抖

B、優點:
繼承了“限幅”和“消抖”的優點
改進了“消抖濾波法”中的某些缺陷,避免將干擾值導入系統

C、缺點:
對于快速變化的參數不宜

參考子程序1、9
 






#define get_ad() 10
extern void delay(void);
/*1、限副濾波
 A值可根據實際情況調整
value為有效值,new_value為當前采樣值 
濾波程序返回有效的實際值 */

#define A 10
char value;
char filter()
{
	char new_value;
	new_value = get_ad();
	if ( ( new_value - value > A ) || ( value - new_value > A ) ) return value;
	else return new_value;

}

/*2、中位值濾波法
 N值可根據實際情況調整
排序采用冒泡法*/

#define N 11
char filter()
{
	char value_buf[N];
	char count,i,j,temp;
	for ( count=0;count<N;count++)
	{
		value_buf[count] = get_ad();
		delay();
	}
	for (j=0;j<N-1;j++)
	{
		for (i=0;i<N-j;i++)
		{
			if ( value_buf[i]>value_buf[i+1] )
			{
				temp = value_buf[i];
				value_buf[i] = value_buf[i+1]; 
				value_buf[i+1] = temp;
			}
		}
	}
return value_buf[(N-1)/2];
} 

/*3、算術平均濾波法*/

#define N 12
char filter()
{
	int sum = 0;
	char count;
	for ( count=0;count<N;count++)
	{
		sum+=get_ad();
		delay();
	}
	return (char)(sum/N);
}

/*4、遞推平均濾波法(又稱滑動平均濾波法)*/

#define N 12 
char value_buf[N];
char i=0;
char filter()
{
	char count;
	int sum=0;
	value_buf[i++]=get_ad();
	if (i == N) i=0;
	for ( count=0;count<N;count++)
	sum = value_buf[count];
	return (char)(sum/N);
}

/*5、中位值平均濾波法(又稱防脈沖干擾平均濾波法)*/

#define N 12
char filter()
{
	char count,i,j,temp;
	char value_buf[N];
	int sum=0;
	for (count=0;count<N;count++)
	{
		value_buf[count] = get_ad();
		delay();
	}
	for (j=0;j<N-1;j++)
	{
		for (i=0;i<N-j;i++)
		{
			if ( value_buf[i]>value_buf[i+1] )
			{
				temp = value_buf[i];
				value_buf[i] = value_buf[i+1]; 
				value_buf[i+1] = temp;
			}
		}
	}
	for(count=1;count<N-1;count++)
	sum += value_buf[count];
	return (char)(sum/(N-2));
}

/*6、限幅平均濾波法

 
略 參考子程序1、3


7、一階滯后濾波法
為加快程序處理速度假定基數為100,a=0~100 */

#define a 50
char value;
char filter()
{
	char new_value;
	new_value = get_ad();
	return (100-a)*value + a*new_value; 
}

/*
8、加權遞推平均濾波法
 coe數組為加權系數表,存在程序存儲區。*/

#define N 12
char coe[N] = {1,2,3,4,5,6,7,8,9,10,11,12};
char sum_coe = 1+2+3+4+5+6+7+8+9+10+11+12;
char filter()
{
	char count;
	char value_buf[N];
	int sum=0;
	for (count=0;count<N;count++)
	{
		value_buf[count] = get_ad();
		delay();
	}
	for (count=0;count<N;count++)
	sum += value_buf[count]*coe[count];
	return (char)(sum/sum_coe);
}


/*9、消抖濾波法*/
char value;
#define N 12
char filter()
{
	char count=0;
	char new_value;
	new_value = get_ad();
	while (value !=new_value);
	{
		count++;
		if (count>=N) return new_value;
		delay();
		new_value = get_ad();
	}
	return value; 
}

/*10、限幅消抖濾波法


略 參考子程序1、9 */


?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
岛国av在线一区| 日韩午夜电影av| 精品国产在天天线2019| 中文字幕一区二区三区在线播放 | 欧美激情一区二区在线| 亚洲午夜羞羞片| 成人免费视频网站在线观看| 日韩免费高清av| 亚洲va韩国va欧美va| 成人动漫一区二区| 久久色.com| 久久99精品国产麻豆不卡| 欧美日韩高清影院| 亚洲欧美区自拍先锋| 成人精品视频一区二区三区| 精品粉嫩超白一线天av| 天天色图综合网| 欧美群妇大交群中文字幕| 亚洲伦理在线精品| 91亚洲精华国产精华精华液| 久久精品亚洲一区二区三区浴池| 青青草原综合久久大伊人精品 | 国产欧美日本一区视频| 日本欧美一区二区三区| 欧美日韩夫妻久久| 亚洲高清免费视频| 欧美亚洲愉拍一区二区| 一区二区三区欧美| 欧洲av一区二区嗯嗯嗯啊| 最新国产成人在线观看| 99久久综合精品| 亚洲欧美电影院| 91网站视频在线观看| 亚洲色图欧美偷拍| 91国偷自产一区二区三区观看| 国产精品久久久久久户外露出| 粉嫩嫩av羞羞动漫久久久| 国产欧美日韩精品一区| 99久久99久久精品免费看蜜桃| 国产精品乱人伦| 91网站视频在线观看| 一区二区三区资源| 欧美人妖巨大在线| 九九国产精品视频| 欧美国产97人人爽人人喊| www.日韩大片| 一区二区成人在线| 日韩欧美一区电影| 成人精品国产福利| 亚洲福利视频一区二区| 欧美电影免费提供在线观看| 国产激情精品久久久第一区二区| 欧美激情在线免费观看| 欧美在线一二三四区| 日韩**一区毛片| 国产日韩欧美在线一区| 91蜜桃视频在线| 五月天视频一区| 久久亚洲精品国产精品紫薇| 99久久久久久| 麻豆精品精品国产自在97香蕉| 欧美国产丝袜视频| 欧美在线不卡视频| 国产精品综合视频| 亚洲福利一区二区| 欧美激情一区二区三区全黄| 欧美三级资源在线| 国产一区二区剧情av在线| 亚洲欧美激情视频在线观看一区二区三区 | 亚洲国产岛国毛片在线| 色婷婷精品久久二区二区蜜臀av | 日本伊人午夜精品| 欧美激情一区二区三区四区| 欧美区视频在线观看| 丰满放荡岳乱妇91ww| 五月婷婷综合激情| 1区2区3区精品视频| 日韩视频在线观看一区二区| 97久久精品人人爽人人爽蜜臀| 天堂va蜜桃一区二区三区漫画版| 亚洲国产精品av| 精品三级av在线| 欧美色爱综合网| 色综合网站在线| 国产精品一级在线| 丝袜诱惑制服诱惑色一区在线观看 | 日韩欧美黄色影院| 色综合色综合色综合色综合色综合 | 蜜臀av在线播放一区二区三区 | 欧美中文字幕不卡| 成人美女视频在线观看18| 日韩福利电影在线| 亚洲综合色噜噜狠狠| 欧美国产精品一区二区| 欧美一卡二卡在线| 91成人看片片| 91视频精品在这里| 成人综合婷婷国产精品久久免费| 午夜私人影院久久久久| 一区二区三区在线免费视频| 国产精品国产精品国产专区不片| 精品国产人成亚洲区| 在线不卡一区二区| 欧美日韩一区小说| 欧美性xxxxxx少妇| 色综合中文字幕国产 | 国产精品网站在线播放| 精品久久人人做人人爱| 91精品一区二区三区久久久久久| 色婷婷av一区二区三区软件 | www.欧美色图| 成人精品免费看| 国产.欧美.日韩| 成人免费高清视频在线观看| 成人av高清在线| 不卡在线观看av| 日本精品免费观看高清观看| 日本高清不卡aⅴ免费网站| 91小宝寻花一区二区三区| 99久久国产综合精品麻豆| 色狠狠桃花综合| 欧美无砖专区一中文字| 7777精品伊人久久久大香线蕉的 | 久久精品视频一区二区三区| 久久老女人爱爱| 国产农村妇女精品| 一区在线中文字幕| 亚洲青青青在线视频| 亚洲永久免费视频| 午夜激情久久久| 麻豆精品一二三| 国产不卡在线播放| 色视频欧美一区二区三区| 欧美视频一区二| 欧美电影精品一区二区| 国产视频一区二区在线| |精品福利一区二区三区| 亚洲伦理在线精品| 日韩影视精彩在线| 国产成人自拍网| 一本大道久久a久久精二百| 在线成人av影院| 国产欧美日韩不卡免费| 亚洲一区二区中文在线| 另类的小说在线视频另类成人小视频在线| 精品亚洲免费视频| 91免费版pro下载短视频| 欧美老人xxxx18| 久久久久久久免费视频了| 亚洲免费观看高清完整版在线观看熊 | 麻豆成人av在线| 不卡高清视频专区| 91精品国产色综合久久ai换脸| 国产无人区一区二区三区| 一区二区久久久久久| 久久激情五月激情| 91麻豆6部合集magnet| 日韩一区二区在线免费观看| 国产欧美一区二区三区鸳鸯浴| 亚洲一区二三区| 成人污污视频在线观看| 欧美精品 国产精品| 欧美国产精品一区| 美女视频免费一区| 99精品国产99久久久久久白柏| 欧美高清你懂得| 17c精品麻豆一区二区免费| 国产在线视频一区二区| 欧美三区免费完整视频在线观看| 国产精品视频第一区| 免费观看30秒视频久久| 91国偷自产一区二区三区成为亚洲经典 | 欧美在线视频你懂得| 精品三级在线看| 日韩电影在线免费看| 91电影在线观看| 18成人在线视频| 波多野结衣亚洲| 久久精品男人天堂av| 日本视频在线一区| 欧美日韩一卡二卡三卡| 亚洲欧美日本韩国| 色综合久久天天| 国产精品久久久久久久久免费丝袜| 老色鬼精品视频在线观看播放| 欧美日韩三级在线| 亚洲靠逼com| 成人一道本在线| 中文成人综合网| 国产999精品久久| 国产视频911| 国产精品自拍av| 国产日韩欧美麻豆| 国产精品1区2区3区| 精品久久久久久久久久久院品网| 日韩av电影免费观看高清完整版 | 欧美日韩一区精品| 亚洲图片欧美色图| 精品国产一区二区三区久久久蜜月| 亚洲一级二级在线|