lxk999 发表于 2017-8-24 16:04

即需要反应快,又需要过滤外界的干扰,个人觉得滑动率波的缺点跟降低采样率的缺点是一样的,都会降低反应速度,使信号失真。可以试着在频域上进行滤波,但是算法上会复杂很多,而且需要有足够多的采样点,保持信号的完整性,这样才能更好的还原原始信号。

wzx2088 发表于 2017-8-24 16:28

《匠人手记》里有专门一章讲软件滤波的

飞舸house 发表于 2017-8-24 16:30

wzx2088 发表于 2017-8-24 16:28
《匠人手记》里有专门一章讲软件滤波的

《匠人手记》里面的滤波方法都不太适合。

飞舸house 发表于 2017-8-24 16:35

mytempid 发表于 2017-8-24 15:36
测试输入信号为0或者Vref时的数据,跳动量还是大的话需要检查硬件设计,包括电源品质、基准滤波参数、PCB布 ...

应该不是硬件上的问题,因为在外界环境非常安静,没有风的情况下,采集的数据是非常稳定的。由于我们的传感器上有一个头很大的料斗,料斗又比较高,所以受环境的影响非常大,但是我们的应用环境非常复杂,所以需要程序上进行有效的滤波。

wangyy608 发表于 2017-8-24 18:29

最大称多重,你所谓的快速反应是要多快。。。。
选择的传感器是什么规格
电源等元件条件能不能满足
能不能排除振动,风,气流等外部的因素

不是滤波就能解决一切问题

飞舸house 发表于 2017-8-24 21:08

wangyy608 发表于 2017-8-24 18:29
最大称多重,你所谓的快速反应是要多快。。。。
选择的传感器是什么规格
电源等元件条件能不能满足


1s内出结果,外界环境不能排除

jszy1987 发表于 2017-8-25 11:49

飞舸house 发表于 2017-8-24 21:08
1s内出结果,外界环境不能排除

飞舸house 发表于 2017-8-25 16:10

大神都去哪了?

飞舸house 发表于 2017-8-27 09:48

momososo 发表于 2017-8-27 11:51

把数据从串口印出来
再来看要怎么滤波

飞舸house 发表于 2017-8-27 22:29

momososo 发表于 2017-8-27 11:51
把数据从串口印出来
再来看要怎么滤波

飞舸house 发表于 2017-8-28 08:31

这就是采集到的AD原始数据。大家瞧一瞧,看一看。

飞舸house 发表于 2017-8-28 19:56

无力的回复

momososo 发表于 2017-8-29 13:30

5点滑动平均试过了吗

飞舸house 发表于 2017-8-29 13:36

momososo 发表于 2017-8-29 13:30
5点滑动平均试过了吗

32个点滑动滤波三次都试过了

mage心寒 发表于 2017-8-30 09:33

AD的范围可知道??中间一些点对应的AD值应该也能测出来,然后插值,这种晃动误差很大的,什么平均值啥的都是扯淡的。
说下我的思路:
1s内AD最大变化率是多少?1s内的滑动平均值如果变化率大于最大变化率用最大变化率,一般采集的点肯定不在线上,通过插值比对算出显示值,这种应该能简单的符合要求,至于后续怎么做,再优化

jszy1987 发表于 2017-8-30 11:32

飞舸house 发表于 2017-8-29 13:36
32个点滑动滤波三次都试过了

不知道卡尔曼滤波有没有效果,楼主可以试试

jszy1987 发表于 2017-8-30 11:36

飞舸house 发表于 2017-8-29 13:36
32个点滑动滤波三次都试过了

看这个波形感觉有周期性,这个有点像阻尼振荡

飞舸house 发表于 2017-8-31 10:11

有对卡尔曼滤波算法有研究的吗?公式中的两个误差在实际应用中是如何确定的?

wangyy608 发表于 2017-8-31 15:23

2个方法可以考虑
连续采样峰谷值,
1.通过峰谷值的平均值来滤波
2.通过峰谷值的差值作为稳定条件
页: 1 [2] 3 4
查看完整版本: CS5532在100SPS状态下采集的数据跳动太大,如何通过软件滤波平滑???