[示例代码] 单片机开发中,传感器的数据处理算法

[复制链接]
 楼主| uytyu 发表于 2022-10-28 17:00 | 显示全部楼层 |阅读模式
在传感器使用中,我们常常需要对传感器数据进行各种整理,让应用获得更好的效果,以下介绍几种常用的简单处理方法:
  • 加权平滑:平滑和均衡传感器数据,减小偶然数据突变的影响。
  • 抽取突变:去除静态和缓慢变化的数据背景,强调瞬间变化。
  • 简单移动平均线:保留数据流最近的K个数据,取平均值。
下面,具体介绍一下这3种处理方法。
加权平滑
使用算法如下:
(新值) = (旧值)*(1 - a) + X * a其中a为设置的权值,X为最新数据,程序实现如下:

v2-ec19f06256f5fb4e2a74affc7bb573d6_720w.jpg
抽取突变
此算法采用上面加权平滑的逆算法,实现代码如下:

v2-c3187da9630b5d84c289bd8b79b8b8ec_720w.jpg
简单移动平均线
这个算法,保留传感器数据流中最近的K个数据,返回它们的平均值。k表示平均“窗口”的大小,实现代码如下:

v2-41523d4b8bb3f836ff0876706ee8a6ef_720w.jpg

v2-ba50bc733d50d3d950625eb54991afc8_720w.jpg
您需要登录后才可以回帖 登录 | 注册

本版积分规则

37

主题

3516

帖子

1

粉丝
快速回复 返回顶部 返回列表