机械荟萃山庄

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 活动 交友 discuz
查看: 1874|回复: 3

一个数据处理的问题

[复制链接]
发表于 2017-8-15 15:56:00 | 显示全部楼层 |阅读模式



某系统,等待上位机传过来的检测数据,但是每次检测结果比实际情况大很多。
系统工作是要连续的收上位机检测数据,并且找出检测数据最大值对应的伺服位置,准确定在那个位置。
程序是别人写的,我只是帮忙调试。调试过程中发现问题根源在于每次上位机传过来的数据中会出现野值,这个值会比正常数据大很多。
该野值依然在最大范围,但是明显看出有不是正常数据,由上位机是黑盒系统,不知道具体检测原理,不能定位产生这个噪声的原因,噪声随机出现无规律。
最开始想到的办法就是加滤波器,但实际效果上很难设计滤波方案。
常见的噪声滤波器有几种吧
高斯滤波器,这东西属于平滑滤波,可以处理信号的毛刺。但这货对信号输入形式有要求啊,根本不满足实时性的条件。
基于频率响应设计的滤波器滤波是根据频段进行滤波的,比如巴特沃斯滤波器只能处理高频部分。随机出现的信号显然不是周期信号也谈不上什么频率问题。


基于协方差的卡尔曼滤波器,这东西是基于概率处理问题,采用了微分方程。但是也有问题。所有采用微分方程的滤波都是要求需要周期进行收敛的。如果数据量很小,在收敛过程结束以前就停了,其实跟本没法滤波。
目前的办法是直接忽略大于某个范围的值。
其实最好的办法就是上位机搞清楚这个值是怎么来的,然后直接在上位机处理。

做从未做过的事情,做一个酷炫的仔
回复

使用道具 举报

1万

主题

4万

帖子

26万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
265498
发表于 2017-8-15 16:23:53 | 显示全部楼层
你可以试试看‘绕过去’黑盒子,先找到这个差值为什么产生的,

检测与原值差距很大的,要先找到问题,为什么,滞后问题,还是系统漂移,漂移的,必须先找到补偿措施,而滞后的,必须进行系统完整处理,不是随意弄一下就好了的,要整体改动了,
回复 支持 反对

使用道具 举报

41

主题

809

帖子

1万

积分

论坛元老

Rank: 8Rank: 8

积分
12881
发表于 2017-8-15 23:27:08 | 显示全部楼层
楼主试卡尔曼了没??我感觉卡尔曼应该是有用的,不过卡尔曼有个不好,曲线平滑了,滞后就特别大。。。。要求反应灵敏的话还是别用了。。。。。。

点评

说过卡尔曼的问题,收敛不够快  发表于 2017-8-16 07:07
回复 支持 反对

使用道具 举报

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

本版积分规则

QQ|小黑屋|手机版|Archiver|机械荟萃山庄 ( 辽ICP备16011317号-1 )

GMT+8, 2024-11-19 14:36 , Processed in 0.092488 second(s), 21 queries , Gzip On.

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2021, Tencent Cloud.

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