回复:滤波程序的一些参数怎么确定好?

已锁定

芳季

西门子1847工业学习平台

  • 帖子

    15507
  • 精华

    101
  • 被关注

    960

论坛等级:至圣

注册时间:2007-08-03

钻石 钻石 如何晋级?

发布于 2020-08-12 21:19:00

32楼

展开查看
以下是引用Zaxife在2020-08-12 17:20:02的发言 >

emmmmmm......

根据我发出来的一阶滤波各种系数计算出来的滤波数据,你就没觉得哪一列滤波后的值符合你想要的?哪方面不符合要求?单纯只使用一种滤波不理想,那你何不在前级加一个限幅?就你给出的数据,我是不清楚是仪表本身精度内的误差还算是测量本身误差引起的数据不一致,不清楚哪个数据是干扰?哪个数据是真实值。对于讨论,必须知道真实值,干扰值才能讨论出可行方案。

至于你总是说采样时间多少合适?我没弄过你的那种设备,不太清除采样周期设多长时间。我只能说,我们做楼宇空调的,温度采集周期就是100ms,PID计算周期是100ms,因为温度不会在100ms发生很大的波动,如果持续好几个周期温度突变滤波后不至于导致PID输出突变。

滤波的效果上,比如正常温度是25.0度,干扰导致温度会在24.5~25.5 之间来回波动,那么经过系数0.5的滤波后输出温度是在24.75~25.25间波动,这就是滤波的作用,减少50%的干扰。如果温度经常突变到50.0度,那么建议从硬件上找原因,如果只考虑滤波,系数降到0.1滤波后是30.0,这也是难为一阶滤波了。

嗯,还有看到过网上的四轴飞行器PID,大多数都是1~5ms的采样PID计算周期。如果周期太长?姿态很难回到正常姿态,周期太短?单片机计算能力、外设传感器速度跟不上。

所以,对于没做过的系统,滤波采样周期这玩意要实事求是花时间分析的,考虑控制对象的响应能力。看到楼主你这么焦虑,干嘛不花时间测试滤波周期10ms/20ms/50ms/100ms测试一下呢?指不定45ms周期刚好比干扰信号周期长了就得到想要的数据了呢?

至于你说"既保留有原始数据的特征,又能了过滤波动"?你这说得很流氓了,波动本身就叠加在原始数据上的,滤波并不能完全还原原始数据。比如原始数据是25.0,波动是5.0,那么采样得到的是30.0,PLC是不知道原始值、波动值是多少是不可能还原出25.0的啊,只能说通过改变系数权衡得失给你一个预期值。


ps:头晕,不扯淡了。以上纯粹扯淡。

很感谢楼上的支持。你较早前做的那个表是用我的表的数值的吧。我看了一下,有点象。这是我用手,努力匀速滑动这把尺而产生的当前值的1毫秒的增量。也就是每一毫秒产生这样的增量,也叫速度吧。我是无论怎么滤波也无法还原这匀速的外观平滑曲线。当然了,我手上的软件滤波器有限。

最大的问题是有些值是累积了近两个周期的增量,在一次采样中反映出来。假设模块0.9毫秒更新一次扫描就1毫秒采样一次。这样下去某一毫秒采样的时候模块好像更新了两次,产生了一个较大的增量。这个较大值基本是旁边较小值的两倍。这种波动怎么消除?我是运动控制,要尽可能的快。

评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-200 SMART

共有8936条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

快扫描右侧二维码晒一晒吧!

再发帖或跟帖交流2条,就能晋升VIP啦!开启更多专属权限!

  • 分享

  • 只看
    楼主

top
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。