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

已锁定

锋言锋语

西门子1847工业学习平台

  • 帖子

    4107
  • 精华

    54
  • 被关注

    136

论坛等级:至圣

注册时间:2011-07-31

钻石 钻石 如何晋级?

发布于 2022-10-09 08:16:10

9楼

    Hvar:=rCycle /( 2.0 * rTmLag);

            Hvar:= (INV - RueckAlt) * Hvar / (1.0 + Hvar);

            OutvNew:=Hvar+RueckAlt;



可以这么理解。  

一阶系统的时间常数, 可以理解为任意点的切线, 经过T以后, 会到达稳态值。

那么Hvar:= (INV - RueckAlt) * Hvar Hvar:= (INV - RueckAlt) * Hvar / (1.0 + Hvar);

当运行周期和时间常熟比较很小时, 上式等价于

Hvar:= (INV - RueckAlt) * Hvar;

这个就是增量形式;


但是你这里有个问题,  Hvar:=rCycle /( 2.0 * rTmLag); 

这里计算的Hvar相当于换元后的 0.5t; 当rCycle和T相比很小是, 忽略1/ (1.0 + Hvar);

计算出的相当于 实际是2*T的惯性系统。



当运行周期和时间常数可比较时, 用一阶微分增量法,误差明显; 

因此作者加了一个1/ (1.0 + Hvar)的修正;

为什么是这个形式, 这个得问作者了。


假设运行时间= 0.5 T. 那么  第一次Hvar = 0.25;

那么修正了就是1/ (1.0 + Hvar) = 0.2;


实际上, 经过0.5T, 衰减60%左右。 可见,这个修正值是很粗糙的。 很可能是作者为了应付极小的时间常数凑出来的。



不忘初心
评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-1500系列

共有11204条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

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

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

  • 分享

  • 只看
    楼主

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