找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2557|回复: 7
收起左侧

单片机软件滤波程序数据跳动很厉害,十位甚至百位都在跳动

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

使用道具 举报

ID:434390 发表于 2019-4-22 07:36 | 显示全部楼层
1检查源波形是否稳定  2.检查捕获定时是否有溢出  3.多一些次数滤波比如16 32 64  4.跟据源波形分析改进滤波算法
回复

使用道具 举报

ID:401564 发表于 2019-4-22 10:19 | 显示全部楼层
为什么是5次呢?如果脉冲的频率不是很快,那就陛样64次,然后再平均,或者是256次
如果还可以的话,258次再平均,然后减去一个最大值和减去一个最小值,这样的效果会好一点
回复

使用道具 举报

ID:123289 发表于 2019-4-22 12:18 | 显示全部楼层
你需要补控制理论的课,这不是一时半会说得清的。
回复

使用道具 举报

ID:432823 发表于 2019-4-22 14:25 | 显示全部楼层
取10次测量值,去除最小和最大各一个,将余下8个值取平均就好些。
回复

使用道具 举报

ID:23606 发表于 2019-4-22 15:02 | 显示全部楼层
首先看你检测的信号源稳定不,如果不稳,用再好的滤波程序也不行
回复

使用道具 举报

ID:518912 发表于 2019-4-22 19:50 | 显示全部楼层
可以考虑加数字滤波
回复

使用道具 举报

ID:808700 发表于 2020-7-28 15:18 | 显示全部楼层
可以试试一阶滤波,或者剔除坏值
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

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