使用反馈来关闭反馈循环
这个例子说明了为什么你应该总是使用FEEDBACK来关闭反馈循环。
关闭反馈循环的两种方法
考虑下面的反馈循环
在哪里
K = 2;G = tf([1 2],[1 .5 3])
G = s + 2 --------------- s ^ 2 + 0.5 + 3连续时间传递函数。
你可以计算闭环传递函数H
从r到y至少有两种方式:
使用
反馈
命令使用公式
来计算H
使用反馈
、类型
H =反馈(G,K)
H = s + 2 --------------- s ^ 2 + 2.5 + 7连续时间传递函数。
来计算H
从公式,键入
H2 = g /(1+ g * k)
H2 = s ^ 3 + 2.5 s ^ 2 + 4 + 6 ----------------------------------- s ^ 4 + 3 ^ 3 + 11.25年代^ 2 + 11 + 21连续时间传递函数。
为什么使用反馈更好
计算方面的一个主要问题H
从公式可以看出,它增大了闭环传递函数的阶数。在上面的例子中,H2
有两倍的订单H
.这是因为表达式G / (1 + G * K)
是两个传递函数的比值吗G
而且1 + G * K
.如果
然后G / (1 + G * K)
被评估为:
结果,极点G
的分子和分母都加H
.你可以通过查看ZPK表示来确认这一点:
zpk (H2)
ans = (s + 2) (s ^ 2 + 0.5 + 3 ) --------------------------------- ( s ^ 2 + 0.5 + 3) (s ^ 2 + 2.5 + 7)连续时间零/钢管/增益模型。
在处理高阶传递函数时,过多的极点和零可能会对结果的准确性产生负面影响,如下一个示例所示。这个例子涉及一个17阶传递函数G
.和前面一样,使用这两种方法来计算闭环传递函数K = 1
:
负载numdemoGH1 =反馈(G,1);%的好H2 = g /(1+ g);%坏
为了得到一个参考点,还计算一个包含G频响的FRD模型,并应用反馈
直接对频响数据:
W = logspace(2, 5.1100);H0 =反馈(frd(G,w),1);
然后比较闭环响应的大小:
h = sigmapplot (H0,“b”H1,“g——”, H2,“r”);传奇(“参考H0”,“H1 =反馈(G, 1)”,“H2 = G / (1 + G) ',“位置”,“西南”) setoption (h,“YlimMode”,“手动”,“Ylim”, {[-60 0]})
的频率响应H2
对于低于2e4 rad/s的频率是不准确的。这种不精确性可以追溯到z=1附近引入的附加(抵消)动力学。具体地说,H2
在z=1附近有两倍的极点和零点H1
.因此,H2 (z)
在z=1附近的精度要差得多,这使低频时的响应失真。参见示例使用正确的模型表示了解更多细节。