【通用滤波算法】
玛丽奥ZJY
这个作者很懒,什么都没留下…
展开
-
学习:通用软件滤波算法-算术平均滤波法
一、处理思想 连续采集N组数据,进行算术平均值计算,作为本次数据有效值 二、算法实现 #define TARGET_tYPE int #define N 10 TARGET_tYPE ADDER = 0; TARGET_tYPE Arithmetic_mean_FILTER() { for(int i = 0; i < N; i++) { ADDER = ADDER + get_data(); } return (ADDER/N); }原创 2020-10-20 18:41:01 · 756 阅读 · 0 评论 -
学习:通用软件滤波算法-中值滤波
一、处理思想 采集N个数据(N为奇数),排序后取中值,作为本次采集的有效值。 排序算法此处采用快速排序。 二、C实现 #include<stdio.h> #include<stdlib.h> #include <time.h> #define TARGET_tYPE int //数据采集函数 TARGET_tYPE get_data() { //随机数 srand(time(NULL)); return rand()%31;原创 2020-10-20 18:38:59 · 371 阅读 · 0 评论 -
学习:通用软件滤波算法-限幅滤波法
一、处理思想 设置前后两次数据可允许的最大偏差VARIATION_RANGE,每当有新数据到来时和上一个数据进行比较,若在允许偏差范围内,则本次数据有效,反之则无效,使用上一次数据值代替本次数据。 函数设计 输入参数:上一个数据,当前采集数据 函数输出:当前有效数据 二、C语言实现 /* * 文件名:Filtering_algorithm.c * 作者:JYU_hsy * 描述:前10种为常见滤波算法,较为基础;11为论文<基于无线传感网的弱势群体身体信息监测系统的设计>提到.原创 2020-10-20 18:37:41 · 562 阅读 · 0 评论 -
学习:通用软件滤波算法-前序
一、前言 之前使用DS18B20采集温度数据,查看后台数据突然发现了下图的结果 由上图得,采集到得温度产生了大于10°C的跳变,而且是到零下,这在室内环境下不可能发生。也就是说,传感器受到了某些干扰,使得采集数据有误。为此,采用软件滤波得方法减少出错得概论。 二、常见滤波算法 1、限幅滤波法(又称程序判断滤波法) 2、中位值滤波法 3、算术平均滤波法 4、递推平均滤波法(又称滑动平均滤波法) 5、中位值平均滤波法(又称防脉冲干扰平均滤波法) 6、限幅平均滤波法 7、一阶滞后滤波法原创 2020-10-20 18:36:09 · 235 阅读 · 0 评论 -
学习:通用软件滤波算法-递推平均滤波法
一、处理思想 回顾一下算术平均滤波法的处理思想:采集N组数据求算术平均值作为单次数据的有效值。 假设N为10,采集某组数据时,若第2次采集时环境已发生较大变化,而我们需要再采集8次数据,才能将数据变化反映到有效值上。可以看出改算法的实时性较差。 而当N取不同值时,大致有一下规律:N↑ 实时性↓ 滤波平滑度↑ 为了解决实时性问题,有一种改进算法:递推平均滤波法 其处理思想是:设置一个长度为N的队列,将采集到的数据放到队尾,同时丢弃队首数据;以保证队列中的N个数据都为最新数据。再...原创 2020-10-20 18:35:14 · 895 阅读 · 0 评论