主要内容

使用反馈来关闭反馈循环

这个例子说明了为什么你应该总是使用FEEDBACK来关闭反馈循环。

关闭反馈循环的两种方法

考虑下面的反馈循环

在哪里

K = 2;G = tf([1 2],[1 .5 3])
G = s + 2  --------------- s ^ 2 + 0.5 + 3连续时间传递函数。

你可以计算闭环传递函数H从r到y至少有两种方式:

  • 使用反馈命令

  • 使用公式

H G 1 + G K

来计算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 年代 N 年代 D 年代

然后G / (1 + G * K)被评估为:

N D D + K N D - 1 N D D D + K N

结果,极点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]})

图中包含一个axes对象。坐标轴对象包含3个line类型的对象。这些对象表示参考H0, H1=反馈(G,1), H2=G/(1+G)。

的频率响应H2对于低于2e4 rad/s的频率是不准确的。这种不精确性可以追溯到z=1附近引入的附加(抵消)动力学。具体地说,H2在z=1附近有两倍的极点和零点H1.因此,H2 (z)在z=1附近的精度要差得多,这使低频时的响应失真。参见示例使用正确的模型表示了解更多细节。

另请参阅

相关的话题