回复:一阶低通滤波SCL编程

已锁定

宁超

  • 帖子

    1009
  • 精华

    39
  • 被关注

    372

论坛等级:至圣

注册时间:2012-12-11

普通 普通 如何晋级?

发布于 2022-10-10 10:30:15

19楼

数学水平比较差,综合你们的内容我理解:

输出 Out = In + (Out-In).e^(-sampletime/Lagtime) 

其中sampletime = 采样时间

lagtime = 延迟时间 

公式中e^(-sampletime/Lagtime) 是线性外插的系数,代码中的浮点精度误差“sRest”同样也是外插系数,被用作了截距。

代码中

Hvar:=(INV - RueckAlt) * H / (1.0 + H);   H/(1.0+H)即e^(-sampletime/Lagtime) 的近似表达,采取了双线性替代,但我们之前推断了,这个地方少了一个*2.0,我认为这个少的2.0跟代码中

RueckDiff:=2.0 * Hvar + sRest;

这个2.0,有点关系

-----------------------------------

为保证系数在0-1之间,程序做了Lag time的下限设置

IF rTmLag < rCycle * 0.5 THEN rTmLag:=rCycle * 0.5; END_IF;



评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-1500系列

共有11049条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

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

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

  • 分享

  • 只看
    楼主

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