exponenta event banner

Использование FEEDBACK для закрытия контуров обратной связи

В этом примере показано, почему для замыкания петель обратной связи всегда следует использовать FEEDBACK.

Два способа закрытия петель обратной связи

Рассмотрим следующий цикл обратной связи

где

K = 2;
G = tf([1 2],[1 .5 3])
G =
 
       s + 2
  ---------------
  s^2 + 0.5 s + 3
 
Continuous-time transfer function.

Можно вычислить функцию переноса с замкнутым контуром H от r до y по меньшей мере двумя способами:

  • Использование feedback команда

  • Использование формулы

H = G1 + GK

Вычислить H использование feedback, тип

H = feedback(G,K)
H =
 
       s + 2
  ---------------
  s^2 + 2.5 s + 7
 
Continuous-time transfer function.

Вычислить H из формулы, введите

H2 = G/(1+G*K)
H2 =
 
        s^3 + 2.5 s^2 + 4 s + 6
  -----------------------------------
  s^4 + 3 s^3 + 11.25 s^2 + 11 s + 21
 
Continuous-time transfer function.

Почему лучше использовать ОБРАТНУЮ СВЯЗЬ

Серьезная проблема с вычислениями H из формулы состоит в том, что она раздувает порядок передаточной функции замкнутого цикла. В приведенном выше примере: H2 имеет двойной порядок H. Это происходит потому, что выражение G/(1+G*K) оценивается как отношение двух передаточных функций G и 1+G*K. Если

G (s) = N (s) D (s)

тогда G/(1+G*K) оценивается как:

ND (D + KND) -1 = NDD (D + KN).

В результате полюса G добавляются как к числителю, так и к знаменателю H. Это можно подтвердить, просмотрев представление ZPK:

zpk(H2)
ans =
 
       (s+2) (s^2 + 0.5s + 3)
  ---------------------------------
  (s^2 + 0.5s + 3) (s^2 + 2.5s + 7)
 
Continuous-time zero/pole/gain model.

Это превышение полюсов и нулей может негативно повлиять на точность результатов при работе с функциями переноса высокого порядка, как показано в следующем примере. В этом примере используется функция переноса 17-го заказа. G. Как и ранее, используйте оба подхода для вычисления функции передачи с замкнутым контуром для K=1:

load numdemo G
H1 = feedback(G,1);          % good
H2 = G/(1+G);                % bad

Чтобы иметь точку отсчета, также вычислите модель FRD, содержащую частотную характеристику G, и примените feedback непосредственно к данным частотной характеристики:

w = logspace(2,5.1,100);
H0 = feedback(frd(G,w),1);

Затем сравните величины откликов с замкнутым контуром:

h = sigmaplot(H0,'b',H1,'g--',H2,'r');
legend('Reference H0','H1=feedback(G,1)','H2=G/(1+G)','location','southwest')
setoptions(h,'YlimMode','manual','Ylim',{[-60 0]})

Figure contains an axes. The axes contains 3 objects of type line. These objects represent Reference H0, H1=feedback(G,1), H2=G/(1+G).

Частотная характеристика H2 является неточным для частот ниже 2e4 рад/с. Эту неточность можно проследить по дополнительной (отменяющей) динамике, введенной около z = 1. В частности,H2 имеет примерно в два раза больше полюсов и нулей около z = 1, чемH1. В результате, H2(z) имеет гораздо более низкую точность вблизи z = 1, что искажает отклик на низких частотах. Дополнительные сведения см. в примере Использование правого представления модели.

См. также

Связанные темы