对于单位负反馈,设其开环传函为
G
G
G,则闭环传函为
G
c
=
G
/
(
1
+
G
)
G_c=G/(1+G)
Gc=G/(1+G),也可以用 feedback()
函数计算,即 G=feedback(G,1)
,这两种算法是等效的,但得到的结果可能不相同,因为得到的系统阶次可能高于实际系统阶次,也即分子分母可以约分,所以还需要通过 minreal()
函数进一步计算一下最小实现,此时得到的两种结果是相同的。
minreal()
函数内部参数是系统的状态空间模型。
minreal(state space model)
消除了状态空间模型中不可控或不可观察的状态,或者说消除了传递函数或零极增益模型中的极点-零对。输出系统具有最小阶数和与原始模型系统相同的响应特性,因此又称为系统的最小实现。
例如使用 matlab 构建如下系统模型
g = zpk([],1,1);
h = tf([2 1],[1 0]);
cloopnonmin = inv(1+g*h) * g
cloopnonmin =
s (s-1)
-------------------
(s-1) (s^2 + s + 1)
Continuous-time zero/pole/gain model.
可以看到在 nonmincloop 系统中分子和分母中存在可相消项 (s-1),因此我们再使用 minreal()
函数看下效果
cloopmin = minreal(cloopnonmin)
cloopmin =
s
-------------
(s^2 + s + 1)
Continuous-time zero/pole/gain model.
可以看到通过 minreal()
函数后模型是实现了零极点相消后的简化模型。