标题: 单片机软件滤波程序数据跳动很厉害,十位甚至百位都在跳动 [打印本页]

作者: 这一生只为你    时间: 2019-4-21 15:21
标题: 单片机软件滤波程序数据跳动很厉害,十位甚至百位都在跳动
小弟做了一个小东西,使用STC单片机的PCA捕获功能测量脉冲宽度,用的是STC官方代码改的,但是下载到单片机里测试发现数据跳动很厉害,十位甚至百位都在跳动。我程序里每隔一毫秒采集一次数据,然后5个数据相加以后求得平均值,这样效果不明显。请问各位大佬,还有没有其他更好的软件滤波算法,能让我的数据跳动小一些?(信号端加了1K+0.1uF的LC滤波)
在此先谢过各位了!

作者: snni00    时间: 2019-4-22 07:36
1检查源波形是否稳定  2.检查捕获定时是否有溢出  3.多一些次数滤波比如16 32 64  4.跟据源波形分析改进滤波算法
作者: Y_G_G    时间: 2019-4-22 10:19
为什么是5次呢?如果脉冲的频率不是很快,那就陛样64次,然后再平均,或者是256次
如果还可以的话,258次再平均,然后减去一个最大值和减去一个最小值,这样的效果会好一点
作者: yzwzfyz    时间: 2019-4-22 12:18
你需要补控制理论的课,这不是一时半会说得清的。
作者: yaoji123    时间: 2019-4-22 14:25
取10次测量值,去除最小和最大各一个,将余下8个值取平均就好些。
作者: YJGG    时间: 2019-4-22 15:02
首先看你检测的信号源稳定不,如果不稳,用再好的滤波程序也不行
作者: kj153348533    时间: 2019-4-22 19:50
可以考虑加数字滤波
作者: lxbhcy    时间: 2020-7-28 15:18
可以试试一阶滤波,或者剔除坏值




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1