Transfer function Root loci

648 Views Asked by At

Hi I was given a closed system as:

$$T(s) = \frac{G(s)}{1+G(s)H(s)}$$

Where

$$H(s) = \frac{s}{s+1}$$ $$G(s) = \frac{k(s+4)}{(s+2)(s^2+s+6)}$$

This is where I'm unsure of. When I calculated the centroid It was 0, which MATLAB doesn't seem to agree with. What I did to get the poles and zeros was just put G(s) and H(s) into the characteristic equation.

$$1+ G(s)H(s) = 0$$

I feel like this is where I'm messing up. To get the poles and zeros should I plug G(s) and H(s) in to T(s) and simplify from there?

EDIT: Ok so I think my problem was entering the transfer function in MATLAB. Correct me if I'm wrong but I can obtain the poles and zeros of the system using the characteristic equation.

Poles resulting In: -1, -2, -0.5 + 2.4j, -0.5 - 2.4j

Zeros resulting In: 0, -4

centroid = (-1 + -2 + -0.5 + 2.4j + -0.5 - 2.4j + 4) /2 = 0

1

There are 1 best solutions below

4
On

The root locus gives the closed loop poles trajectories as a function of a system parameter, often the feedback gain $k$.

Now your open-loop transfer function is given by: $OL(s) = G(s)H(s)$. The closed loop transfer function you tell me is given by: $CL(s) = \frac{G(s)}{1 + OL(s)}$. However, I will assume $CL(s) = \frac{OL(s)}{1 + OL(s)}$. The result boils down to the same.

enter image description here

$CL(s) = \frac{G(s)}{1 + OL(s)}$

enter image description here

$CL(s) = \frac{OL(s)}{1 + OL(s)}$

Now the stability of the closed loop is governed by $1 + OL(s)$. Assume that $OL(s) = \frac{a(s)}{b(s)}$. Then $1 + OL(s) = 1 + \frac{a(s)}{b(s)} = \frac{a(s) + b(s)}{b(s)}$. As a result, the poles of the open-loop are given by $b(s) = 0$. But the zeros of $1 + OL(s)$, which are given by $a(s) + b(s) = 0$, contains the closed-loop poles.

As a result your characteristic loci is given by: $a(s) + b(s) = 0$

For your equations $1 + OL(s) = \frac{s^4 + 4\, s^3 + \left(k + 11\right)\, s^2 + \left(4\, k + 20\right)\, s + 12}{s^4 + 4\, s^3 + 11\, s^2 + 20\, s + 12}$. Your closed loop poles are thus goverend by $s^4 + 4\, s^3 + \left(k + 11\right)\, s^2 + \left(4\, k + 20\right)\, s + 12$. The result is fairly complex so therefor I just simply plot them in Matlab...

%% Symbolic computation
clear all;
close all;
clc;

s = sym('s');
k = sym('k');

H = s/(s + 1);
G = k*(s+4)/((s + 2)*(s^2 + s + 6));

% Open-loop
OL = G*H;

% Closed loop denominator
L = (1 + G*H);

% Closed loop
CL = G/L;

% Fetch numerator and denominator of L
% num contains the closed loop poles
% den contains the open loop poles
[num,den] = numden(L);

% Try to solve...
poles = solve(num == 0,s);

%% Transfer function
clear all;
close all;
clc;

s = tf('s');

H = s/(s + 1);
G = (s+4)/((s + 2)*(s^2 + s + 6));

% Open-loop
OL = G*H;

% Closed loop denominator
L = (1 + G*H);

% Closed loop
CL = G/L;

% Compute rlocus
rlocus(OL);

In case you need to draw the root locus by yourself, you can use the procedure described here: https://en.wikibooks.org/wiki/Control_Systems/Root_Locus#The_Root-Locus_Procedure.

enter image description here