恭喜,你发布的帖子
发布于 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%左右。 可见,这个修正值是很粗糙的。 很可能是作者为了应付极小的时间常数凑出来的。
请填写推广理由:
分享
只看
楼主