十大滤波算法完整版Word文件下载.docx
- 文档编号:13736973
- 上传时间:2022-10-13
- 格式:DOCX
- 页数:20
- 大小:20.74KB
十大滤波算法完整版Word文件下载.docx
《十大滤波算法完整版Word文件下载.docx》由会员分享,可在线阅读,更多相关《十大滤波算法完整版Word文件下载.docx(20页珍藏版)》请在冰豆网上搜索。
14.*/
15.?
16.intFilter_Value;
17.intValue;
18.?
19.voidsetup(){
20.Serial.begin(9600);
//初始化串口通信
21.randomSeed(analogRead(0));
//产生随机种子
22.Value=300;
23.}
24.?
25.voidloop(){
26.Filter_Value=Filter();
//获得滤波器输出值
27.Value=Filter_Value;
//最近一次有效采样的值,该变量为全局变量
28.Serial.println(Filter_Value);
//串口输出
29.delay(50);
30.}
31.?
32.//用于随机产生一个300左右的当前值
33.intGet_AD(){
34.returnrandom(295,305);
35.}
36.?
37.//限幅滤波法(又称程序判断滤波法)
38.#defineFILTER_A1
39.intFilter(){
40.intNewValue;
41.NewValue=Get_AD();
42.if(((NewValue-Value)>
FILTER_A)||((Value-NewValue)>
FILTER_A))
43.returnValue;
44.else
45.returnNewValue;
46.}
2、中位值滤波法
中位值滤波法
4.连续采样N次(N取奇数),把N次采样值按大小排列,
5.取中间值为本次有效值。
6.C、优点:
7.能有效克服因偶然因素引起的波动干扰;
8.对温度、液位的变化缓慢的被测参数有良好的滤波效果。
9.D、缺点:
10.对流量、速度等快速变化的参数不宜。
11.E、整理:
12.*/
13.?
14.intFilter_Value;
16.voidsetup(){
17.Serial.begin(9600);
18.randomSeed(analogRead(0));
19.}
20.?
21.voidloop(){
22.Filter_Value=Filter();
23.Serial.println(Filter_Value);
24.delay(50);
25.}
26.?
27.//用于随机产生一个300左右的当前值
28.intGet_AD(){
29.returnrandom(295,305);
32.//中位值滤波法
33.#defineFILTER_N101
34.intFilter(){
35.intfilter_buf[FILTER_N];
36.inti,j;
37.intfilter_temp;
38.for(i=0;
i<
FILTER_N;
i++){
39.filter_buf[i]=Get_AD();
40.delay
(1);
41.}
42.//采样值从小到大排列(冒泡法)
43.for(j=0;
j<
FILTER_N-1;
j++){
44.for(i=0;
FILTER_N-1-j;
45.if(filter_buf[i]>
filter_buf[i+1]){
46.filter_temp=filter_buf[i];
47.filter_buf[i]=filter_buf[i+1];
48.filter_buf[i+1]=filter_temp;
49.}
50.}
51.}
52.returnfilter_buf[(FILTER_N-1)/2];
53.}
3、算术平均滤波法
算术平均滤波法
4.连续取N个采样值进行算术平均运算:
5.N值较大时:
信号平滑度较高,但灵敏度较低;
6.N值较小时:
信号平滑度较低,但灵敏度较高;
7.N值的选取:
一般流量,N=12;
压力:
N=4。
9.适用于对一般具有随机干扰的信号进行滤波;
10.这种信号的特点是有一个平均值,信号在某一数值范围附近上下波动。
11.D、缺点:
12.对于测量速度较慢或要求数据计算速度较快的实时控制不适用;
13.比较浪费RAM。
14.E、整理:
15.*/
16.?
17.intFilter_Value;
22.}
23.?
24.voidloop(){
25.Filter_Value=Filter();
26.Serial.println(Filter_Value);
27.delay(50);
28.}
29.?
30.//用于随机产生一个300左右的当前值
31.intGet_AD(){
32.returnrandom(295,305);
33.}
34.?
35.//算术平均滤波法
36.#defineFILTER_N12
37.intFilter(){
38.inti;
39.intfilter_sum=0;
40.for(i=0;
41.filter_sum+=Get_AD();
42.delay
(1);
43.}
44.return(int)(filter_sum/FILTER_N);
45.}
4、递推平均滤波法(又称滑动平均滤波法)
递推平均滤波法(又称滑动平均滤波法)
4.把连续取得的N个采样值看成一个队列,队列的长度固定为N,
5.每次采样到一个新数据放入队尾,并扔掉原来队首的一次数据(先进先出原则),
6.把队列中的N个数据进行算术平均运算,获得新的滤波结果。
流量,N=12;
压力,N=4;
液面,N=4-12;
温度,N=1-4。
9.对周期性干扰有良好的抑制作用,平滑度高;
10.适用于高频振荡的系统。
12.灵敏度低,对偶然出现的脉冲性干扰的抑制作用较差;
13.不易消除由于脉冲干扰所引起的采样值偏差;
14.不适用于脉冲干扰比较严重的场合;
15.比较浪费RAM。
16.E、整理:
17.*/
19.intFilter_Value;
21.voidsetup(){
22.Serial.begin(9600);
23.randomSeed(analogRead(0));
24.}
25.?
26.voidloop(){
27.Filter_Value=Filter();
37.//递推平均滤波法(又称滑动平均滤波法)
38.#defineFILTER_N12
39.intfilter_buf[FILTER_N+1];
40.intFilter(){
41.inti;
42.intfilter_sum=0;
43.filter_buf[FILTER_N]=Get_AD();
44.for(i=0;
45.filter_buf[i]=filter_buf[i+1];
//所有数据左移,低位仍掉
46.filter_sum+=filter_buf[i];
47.}
48.return(int)(filter_sum/FILTER_N);
49.}
5、中位值平均滤波法(又称防脉冲干扰平均滤波法)
中位值平均滤波法(又称防脉冲干扰平均滤波法)
4.采一组队列去掉最大值和最小值后取平均值,
5.相当于“中位值滤波法”+“算术平均滤波法”。
6.连续采样N个数据,去掉一个最大值和一个最小值,
7.然后计算N-2个数据的算术平均值。
8.N值的选取:
3-14。
9.C、优点:
10.融合了“中位值滤波法”+“算术平均滤波法”两种滤波法的优点。
11.对于偶然出现的脉冲性干扰,可消除由其所引起的采样值偏差。
12.对周期干扰有良好的抑制作用。
13.平滑度高,适于高频振荡的系统。
14.D、缺点:
15.计算速度较慢,和算术平均滤波法一样。
16.比较浪费RAM。
17.E、整理:
18.*/
19.?
20.intFilter_Value;
21.?
22.voidsetup(){
23.Serial.begin(9600);
24.randomSeed(analogRead(0));
27.voidloop(){
28.Filter_Value=Filter();
29.Serial.println(Filter_Value);
30.delay(50);
31.}
32.?
33.//用于随机产生一个300左右的当前值
34.intGet_AD(){
35.returnrandom(295,305);
36.}
37.?
38.//中位值平均滤波法(又称防脉冲干扰平均滤波法)(算法1)
39.#defineFIL
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 滤波 算法 完整版