Designing a decoupling controller

I have two control loops in simulink that need a decoupler to fix the inverse effect they have on each other.
I have the two transfer functions g(s) to plug between the two loops, but MATLAB 2020b doesn’t have an option for transfer functions in the form Aexp(-Bs), and I can’t find a work around.
If someone can give me any ideas it’d be of great help, thanks!

댓글 수: 3

exp() is supported for negative constant time s -- exp(-Bs) would be valid for B being a positive constant. It translates into a delay.
s = tf('s');
f = (s^2 - 1)/(s^3 + s - 1)
f = s^2 - 1 ----------- s^3 + s - 1 Continuous-time transfer function.
g = (s^2 + 1)/(s^3 + s + 1)
g = s^2 + 1 ----------- s^3 + s + 1 Continuous-time transfer function.
step(f)
step(g)
h = f * exp(-5*s) + g * exp(-10*s)
h = A = x1 x2 x3 x4 x5 x6 x1 0 -1 1 0 0 0 x2 1 0 0 0 0 0 x3 0 1 0 0 0 0 x4 0 0 0 0 -1 -1 x5 0 0 0 1 0 0 x6 0 0 0 0 1 0 B = u1 x1 2 x2 0 x3 0 x4 2 x5 0 x6 0 C = x1 x2 x3 x4 x5 x6 y1 0.5 0 -0.5 0.5 0 0.5 D = u1 y1 0 (values computed with all internal delays set to zero) Input delays (seconds): 5 Internal delays (seconds): 5 Continuous-time state-space model.
step(h)
mehul kishan
mehul kishan 2021년 3월 14일
Hi, thanks for the response. What do you think should I do if B is negative so that I get a positive final output? I’m using the LTI System block i.e. tf(2.2,[1,0],’InputDelay’,-4.3) but it doesn’t work because InputDelay can’t be negative.
Would it perhaps be the same if I use OutputDelay and +4.3?

댓글을 달려면 로그인하십시오.

답변 (0개)

카테고리

제품

릴리스

R2020b

질문:

2021년 3월 13일

댓글:

2021년 3월 14일

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by