十大滤波算法的实现文档格式.docx

上传人:b****6 文档编号:21803526 上传时间:2023-02-01 格式:DOCX 页数:62 大小:30.71KB
下载 相关 举报
十大滤波算法的实现文档格式.docx_第1页
第1页 / 共62页
十大滤波算法的实现文档格式.docx_第2页
第2页 / 共62页
十大滤波算法的实现文档格式.docx_第3页
第3页 / 共62页
十大滤波算法的实现文档格式.docx_第4页
第4页 / 共62页
十大滤波算法的实现文档格式.docx_第5页
第5页 / 共62页
点击查看更多>>
下载资源
资源描述

十大滤波算法的实现文档格式.docx

《十大滤波算法的实现文档格式.docx》由会员分享,可在线阅读,更多相关《十大滤波算法的实现文档格式.docx(62页珍藏版)》请在冰豆网上搜索。

十大滤波算法的实现文档格式.docx

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.

3.A、名称:

4.

5.B、方法:

6.

7.根据经验判断,确定两次采样允许的最大偏差值(设为A),

8.

9.每次检测到新值时判断:

10.

11.如果本次值与上次值之差<

12.

13.如果本次值与上次值之差>

14.

15.C、优点:

16.

17.能有效克服因偶然因素引起的脉冲干扰。

18.

19.D、缺点:

20.

21.无法抑制那种周期性的干扰。

22.

23.平滑度差。

24.

25.E、整理:

26.

27.*/

28.

29.

30.

31.intFilter_Value;

32.

33.intValue;

34.

35.

36.

37.voidsetup(){

38.

39.Serial.begin(9600);

40.

41.randomSeed(analogRead(0));

42.

43.Value=300;

44.

45.}

46.

47.

48.

49.voidloop(){

50.

51.Filter_Value=Filter();

52.

53.Value=Filter_Value;

54.

55.Serial.println(Filter_Value);

56.

57.delay(50);

58.

59.}

60.

61.

62.

63.//用于随机产生一个300左右的当前值

64.

65.intGet_AD(){

66.

67.returnrandom(295,305);

68.

69.}

70.

71.

72.

73.//限幅滤波法(又称程序判断滤波法)

74.

75.#defineFILTER_A1

76.

77.intFilter(){

78.

79.intNewValue;

80.

81.NewValue=Get_AD();

82.

83.if(((NewValue-Value)>

84.

85.returnValue;

86.

87.else

88.

89.returnNewValue;

90.

91.}

92.

 

中位值滤波法

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.}

7.连续采样N次(N取奇数),把N次采样值按大小排列,

9.取中间值为本次有效值。

11.C、优点:

13.能有效克服因偶然因素引起的波动干扰;

15.对温度、液位的变化缓慢的被测参数有良好的滤波效果。

17.D、缺点:

19.对流量、速度等快速变化的参数不宜。

21.E、整理:

23.*/

25.

27.intFilter_Value;

31.voidsetup(){

33.Serial.begin(9600);

35.randomSeed(analogRead(0));

37.}

39.

41.voidloop(){

43.Filter_Value=Filter();

45.Serial.println(Filter_Value);

47.delay(50);

49.}

51.

53.//用于随机产生一个300左右的当前值

55.intGet_AD(){

57.returnrandom(295,305);

63.//中位值滤波法

65.#defineFILTER_N101

67.intFilter(){

69.intfilter_buf[FILTER_N];

71.inti,j;

73.intfilter_temp;

75.for(i=0;

77.filter_buf[i]=Get_AD();

79.delay

(1);

81.}

83.//采样值从小到大排列(冒泡法)

85.for(j=0;

87.for(i=0;

89.if(filter_buf[i]>

91.filter_temp=filter_buf[i];

93.filter_buf[i]=filter_buf[i+1];

94.

95.filter_buf[i+1]=filter_temp;

96.

97.}

98.

99.}

100.

101.}

102.

103.returnfilter_buf[(FILTER_N-1)/2];

104.

105.}

106.

算术平均滤波法

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.}

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);

7.连续取N个采样值进行算术平均运算:

9.N值较大时:

11.N值较小时:

13.N值的选取:

17.适用于对一般具有随机干扰的信号进行滤波;

19.这种信号的特点是有一个平均值,信号在某一数值范围附近上下波动。

21.D、缺点:

23.对于测量速度较慢或要求数据计算速度较快的实时控制不适用;

25.比较浪费RAM。

27.E、整理:

29.*/

33.intFilter_Value;

43.}

45.

47.voidloop(){

49.Filter_Value=Filter();

51.Serial.println(Filter_Value);

53.delay(50);

55.}

57.

59.//用于随机产生一个300左右的当前值

61.intGet_AD(){

63.returnrandom(295,305);

65.}

67.

69.//算术平均滤波法

71.#defineFILTER_N12

73.intFilter(){

75.inti;

77.intfilter_sum=0;

79.for(i=0;

81.filter_sum+=Get_AD();

83.delay

(1);

85.}

87.return(int)(filter_sum/FILTER_N);

89.}

递推平均滤波法(又称滑动平均滤波法)

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.}

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();

45.filter_buf[i]=filter_buf[i+1];

//所有数据左移,低位仍掉

46.filter_sum+=filter_buf[i];

47.}

48.return(int)(filter_sum/FILTER_N);

7.把连续取得的N个采样值看成一个队列,队列的长度固定为N,

9.每次采样到一个新数据放入队尾,并扔掉原来队首的一次数据(先进先出原则),

11.把队列中的N个数据进行算术平均运算,获得新的滤波结果。

17.对周期性干扰有良好的抑制作用,平滑度高;

19.适用于高频振荡的系统。

23.灵敏度低,对偶然出现的脉冲性干扰的抑制作用较差;

25.不易消除由于脉冲干扰所引起的采样值偏差;

27.不适用于脉冲干扰比较严重的场合;

29.比较浪费RAM。

31.E、整理:

33.*/

37.intFilter_Value;

41.voidsetup(){

43.Serial.begin(9600);

45.randomSeed(analogRead(0));

47.}

49.

51.voidloop(){

53.Filter_Value=Filter();

73.//递推平均滤波法(又称滑动平均滤波法)

75.#defineFILTER_N12

77.intfilter_buf[FILTER_N+1];

79.intFilter(){

81.inti;

82.

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > IT计算机 > 计算机软件及应用

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1