Модели соединений систем
Для построения моделей соединений систем в 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
|