单片机开发中传感器数据常用算法总结

发布时间:2022-12-15  

滑动均值滤波算法

嵌入式开发过程中会用到各种各样的传感器,比如压力传感器、光敏传感器、加速度传感器、温湿度传感器、角速率传感器等等。在这些传感器数据采集过程中掺杂着噪声,使得传感器测量精度误差过大【传感器数据数据波动很大】,传感器数据输出噪声来源可能是由于震动、温度的变化、电磁干扰等很多因素引起的,常常我们用数字信号处理的方法来消除或者抑制这种噪声。常用的数学方法有FFT滤波算法、DFT滤波算法、kalman算法、中值滤波算法、平均值滤波算法、滑动均值滤波、最小二乘法、排序算法、限幅滤波算法、高通滤波、低通滤波等。每种算法都有各自的特点和的应用场景,用好这些数学工具可以让你的产品或作品更加富有灵魂。


本系列文章主要讲解以上各类算法和应用场景。文本首先介绍滑动均值滤波算法。


以STM32软件项目入门实战中多路电压采集系统这个项目为例,讲述滑动均值滤波。在此之前我们必须清除ADC采集为什么要用到滑动均值滤波,首先采集口的模拟量可能夹杂着不同频段,不同峰值的干扰信号,那么ADC采集的数据量就会偏移原有的真实结果。那么通过硬件与数字滤波两种手段可大大减少采集误差,提高精度。软件方法有算数平均值(是将N个数值作和,之后除以数值个数。)、滑动平均值滤波、卡尔曼、FFT等。


滑动均值滤波算法实现步骤如下:首先是传感器数据的获取,采用的ADC+循环DMA的方式采集电压数据,以5个数据为1组,并将这些数据依次入队,也就是下面数组,最开始进入到队列的数据不停地冲刷,依次能达到数据滑动的目的。

代码实现

图是对5路ADC采样值进行的滑动均值滤波,每五个为一次做依次均值处理,因为ADC_ConvertedValue[]里面的数据由DMA不断进行刷新,因此实现了数据的滑动。

下图是利用matlab将采集的数据用滑动均值滤波做的处理,蓝色为带噪声的原始信号,红色为处理后的信号,可以看出滑动均值滤波可以滤除大量的噪声【毛刺】。

仿真效果图

滑动均值滤波使用时特性如下:对周期性干扰信号有良好的抑制作用,平滑度高,适用于高速率信号采集,算法简单便于计算。因为ADC采集在100KHz以上,所以本算法适合用该应用场景。


N值较大的情况下会导致灵敏度低,对于干扰信号较大的情况下也就是信噪比小的情况不适用该算法。


文章来源于:电子工程世界    原文链接
本站所有转载文章系出于传递更多信息之目的,且明确注明来源,不希望被转载的媒体或个人可与我们联系,我们将立即进行删除处理。

相关文章

    主机处理器性能。另外,数采系统在采集数据的同时需要提供数据分流通道,将传感器数据分流给控制器,在数据采集的同时不影响传感器和控制器之间的通讯。采集系统的数据......
    FAMOS,“从传感器到测试报告”—— imc ARGUSfit提供一整套涵盖硬软件的完整解决方案。 值得一提的是,此次新产品发布,全新imc ARGUSfit数据采集平台与传感器数据库imc......
    到测试报告”—— imc ARGUSfit提供一整套涵盖硬软件的完整解决方案。值得一提的是,此次新产品发布,全新imc ARGUSfit数据采集平台与传感器数据库imc SIMPLEX一起推出。该数据......
    2数据包的差距较大,在加上车身和障碍物都在移动,这样误差会比较大。 图2:传感器时间戳 为了缓解查找时间戳造成的误差现象,主要采用的方式有硬件同步和软件同步。 三、硬件同步 硬件同步是一种通过物理信号来确保不同传感器数据采集......
    决方案将 NI CompactDAQ 硬件与新推出的 FlexLogger Lite 软件组合使用,无需额外付费。新方案旨在增强传感器的测量功能,并加快测量速度,为工程师提供更有效的传感器数据采集......
    单片机开发中传感器数据常用算法总结;滑动均值滤波算法 在嵌入式开发过程中会用到各种各样的传感器,比如压力传感器、光敏传感器、加速度传感器、温湿度传感器、角速率传感器等等。在这些传感器数据采集......
    一整套涵盖硬软件的完整解决方案。 值得一提的是,此次新产品发布,全新imc ARGUSfit数据采集平台与传感器数据库imc SIMPLEX一起推出。该数据......
    流形式,实时检测传感器的观测结果并进行落盘存储。 为了解决上述问题,ADTF提供了一个强大的Streaming Service,它专门针对自动驾驶多传感器数据采集的需求设计。ADTF......
    传感器数据融合技术与策略解析;在汽车行业迈向智能化、自动化的今天,自动驾驶技术也在快速发展。为了进一步让自动驾驶更加“智能化”,像老师傅一样进行开车,离不开对车辆周围环境的全面认识。 面对......
    泛应用在医院临床检验中。本文引用地址: 图片来源网络 硬件系统主要分三条线,首先是数据线,以FPGA处理器为主,主要用于原始数据的高速采集和获取;其次是控制线,以MCU处理器为主,主要实现对各个外设部件的驱动控制及传感器数据......

我们与500+贴片厂合作,完美满足客户的定制需求。为品牌提供定制化的推广方案、专属产品特色页,多渠道推广,SEM/SEO精准营销以及与公众号的联合推广...详细>>

利用葫芦芯平台的卓越技术服务和新产品推广能力,原厂代理能轻松打入消费物联网(IOT)、信息与通信(ICT)、汽车及新能源汽车、工业自动化及工业物联网、装备及功率电子...详细>>

充分利用其强大的电子元器件采购流量,创新性地为这些物料提供了一个全新的窗口。我们的高效数字营销技术,不仅可以助你轻松识别与连接到需求方,更能够极大地提高“闲置物料”的处理能力,通过葫芦芯平台...详细>>

我们的目标很明确:构建一个全方位的半导体产业生态系统。成为一家全球领先的半导体互联网生态公司。目前,我们已成功打造了智能汽车、智能家居、大健康医疗、机器人和材料等五大生态领域。更为重要的是...详细>>

我们深知加工与定制类服务商的价值和重要性,因此,我们倾力为您提供最顶尖的营销资源。在我们的平台上,您可以直接接触到100万的研发工程师和采购工程师,以及10万的活跃客户群体...详细>>

凭借我们强大的专业流量和尖端的互联网数字营销技术,我们承诺为原厂提供免费的产品资料推广服务。无论是最新的资讯、技术动态还是创新产品,都可以通过我们的平台迅速传达给目标客户...详细>>

我们不止于将线索转化为潜在客户。葫芦芯平台致力于形成业务闭环,从引流、宣传到最终销售,全程跟进,确保每一个potential lead都得到妥善处理,从而大幅提高转化率。不仅如此...详细>>