找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2854|回复: 7
打印 上一主题 下一主题
收起左侧

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

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

使用道具 举报

沙发
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 | 只看该作者
你需要补控制理论的课,这不是一时半会说得清的。
回复

使用道具 举报

5#
ID:432823 发表于 2019-4-22 14:25 | 只看该作者
取10次测量值,去除最小和最大各一个,将余下8个值取平均就好些。
回复

使用道具 举报

6#
ID:23606 发表于 2019-4-22 15:02 | 只看该作者
首先看你检测的信号源稳定不,如果不稳,用再好的滤波程序也不行
回复

使用道具 举报

7#
ID:518912 发表于 2019-4-22 19:50 | 只看该作者
可以考虑加数字滤波
回复

使用道具 举报

8#
ID:808700 发表于 2020-7-28 15:18 | 只看该作者
可以试试一阶滤波,或者剔除坏值
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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