Лабораторная работа № 2
Проектирование регулятора для линейной системы
(краткие теоретические сведения)
Модели соединений систем
Для построения моделей соединений систем в Matlab используются знаки арифметических действий. Эти операции перегружены, то есть, переопределены специальным образом для объектов классов tf, ss и zpk. Введем исходные модели, с которыми будем выполнять все операции:
>> f = tf(1, [1 1]);
>> g = tf(1, [2 1]);
· параллельное соединение
>> w = f + g
Transfer function:
3 s + 2
---------------
2 s^2 + 3 s + 1
· последовательное соединение
>> w = f * g
Transfer function:
---------------
2 s^2 + 3 s + 1
· контур с отрицательной обратной связью
>> w = feedback(f, g)
Transfer function:
2 s + 1
---------------
2 s^2 + 3 s + 2
Можно вычислить эту передаточную функцию и так:
>> w = f / (1 + g*f)
Transfer function:
2 s^2 + 3 s + 1
-----------------------
2 s^3 + 5 s^2 + 5 s + 2
Этот результат может показаться неожиданным. Дело в том, что обе передаточных функции имеют первый порядок, то есть, описываются дифференциальным уравнением (ДУ) первого порядка. Поэтому вся система должны описываться второго порядка, а мы получили третий. Чтобы разобраться в этом, преобразуем модель к форме «нули-полюса»:
>> w_zpk = zpk(w)
Zero/pole/gain:
(s+1) (s+0.5)
-----------------------
(s+1) (s^2 + 1.5s + 1)
Видно, что числитель и знаменатель передаточной функции содержат общий множитель s+1, который можно сократить, и остается система второго порядка. Для этого надо построить минимальную реализацию, сократив общие множители:
>> w = minreal (w)
Transfer function:
s + 0.5
---------------
s^2 + 1.5 s + 1
Эта передаточная функция совпадает с той, что выдает функция feedback.
· контур с положительной обратной связью
>> w = feedback(f, -g)
или
>> w = feedback(f, g, 1)
или
>> w = minreal (f/(1 - g*f))
Transfer function:
2 s + 1
-----------
2 s^2 + 3 s