Можно ли найти блок для мульти-входной передаточной функции с одним выходом в Matlab Simulink? - PullRequest
0 голосов
/ 23 октября 2019

У меня есть система с двумя входами и одним общим выходом.

Пусть входы будут in1, in2 и output-out.

Итак, у меня есть две передаточные функции: out / in1, out/ in2.

Используя simulink, я могу использовать блок переноса fcn для каждой передаточной функции, а затем суммировать их выходы, чтобы получить желаемый выход.

Но возможно ли объединить передаточные функции out / in1,out / in2 как-нибудь вместе и использовать какой-то блок simulink, чтобы избежать суммирования выходов функций передачи?

Спасибо за ваше время и помощь заранее!

% in symbolic

syms Ht s D K Hg

TF1 = tf([D K],[4*Hg*Ht (2*Hg*D+2*Ht*D) (2*Hg*K+2*Ht*K) 0]);

TF2 = tf([-2*Ht -D -K],[4*Hg*Ht (2*Hg*D+2*Ht*D) (2*Hg*K+2*Ht*K) 0]);

% or in numerical way

Ht = 2.2667;
Hg = 0.92952;
D = 2.29;
K = 1.0216;

TF1 = tf([D K],[4*Hg*Ht (2*Hg*D+2*Ht*D) (2*Hg*K+2*Ht*K) 0]);

TF2 = tf([-2*Ht -D -K],[4*Hg*Ht (2*Hg*D+2*Ht*D) (2*Hg*K+2*Ht*K) 0]);

1 Ответ

0 голосов
/ 13 ноября 2019

Существует действительно простое решение для этого. Учитывая две передаточные функции TF1=tf(num1,den1) и TF2=tf(num2,den2), сумма TF1+TF2 может быть выражена как одна передаточная функция tf(num1*den2+num2*den1,den1*den2).

. Для фактической реализации вы захотите использовать conv для вычисления полиномов числителя и знаменателя из векторов коэффициентов полинома из передаточных функций компонентов.

num = polyadd(conv(num1,den2),conv(num2,den1));
den = conv(den1,den2);

Примечание polyadd не является встроенной функцией Matlab, но вы можете написать своювладеть или использовать https://stackoverflow.com/a/55085308.

Если у вас уже есть объекты функции передачи с одним входом и одним выходом (SISO) tf1 и tf2 в Matlab, вы также можете получить сумму, используя tf1+tf2или с помощью parallel(tf1,tf2,1,1,1,1) (см. https://www.mathworks.com/help/control/ref/parallel.html).

Почему это работает?

У вас есть две функции передачи:

Y_1=\frac{N_1(s)}{D_1(s)}\cdot U
Y_2=\frac{N_2(s)}{D_2(s)}\cdot U

и вас интересует комбинированная система:
Y=Y_1+Y_2=\bigg(\frac{N_1(s)}{D_1(s)}+\frac{N_2(s)}{D_2(s)}\bigg)\cdot U

с функцией передачи:

\frac{N_1(s)}{D_1(s)}+\frac{N_2(s)}{D_2(s)}=\frac{N_1(s) \cdot D_2(s) + N_2(s) \cdot D_1(s)}{D_1(s) \cdot D_2(s)}

...