ADC 采样数据乱跳?分享我用了多年的滤波函数
简介ADC采集数据我们项目开发中经常用到那么你是如何处理采集到的数据的呢说实话我看到有部分同学直接拿来使用的这样数据一旦飘逸那就是不稳定因素有很大的潜在风险下面介绍一下我用过的处理方式欢迎各位坛友交流相互学习。一、中位值平均滤波首先采集一定量的数据我一般设置数据个数为10个采集到的10个数据存在数组中每个采集数据间隔要有延时无阻塞式的延时如果一直采集速度太快的话下一个周期的数据还没准备好就有可能重复了。算法的逻辑是采集的10个数据中掐头去尾中间的值求平均完美的过滤掉了不稳定因素。具体算法如下图1这个我用了很多年存在了我的软件库中需要的时候直接拿来使用。二、两维数组处理数据之前项目中用到过ADI的片外ADC采集数据24位的采集速率很快我们当时采集的数据量比较大需要采集100个数据然后发给算法做分析但是因为采集数据太快导致这100个还没处理完就被新采集的数据覆盖了。于是当时采用了二维数组把采集好的数据放到一个数组里面正在实时采集的数据放到另一个数组里面这样算法处理时就不会出现覆盖问题了。