Course Placement of Poles
Course Placement of Poles
Perturbation
d(t)
instruction Entry of
+ Exit
or reference error order
yc(t) + e(t) u(t) + y(t)
R p B p
C p = G p=
S p A p
- corrector Process
you regulator
R p
where C p = is the transfer function of the controller,
Sp
B p
G p is the transfer function of the system,
A p
Calculation of a regulator by pole placement, page 2/8
R p p , B p A p are polynomials in p.
The equations of the closed loop can be written as:
[ ] [ ]
B p .R p A p .S p
Y p= . Y cp+ .D p
A p.S p+ B p.R p A p .S p+ B p.R p
A p .R p A p . R p
U p =
[ ]
.Y p−
[
A p . S pB p . R c p A p . S pB p R p
A p . S p A p . S p
.D p
]
E p =
[ ]
. Y c −
[
A p .S pB p .R p A p . S pB p .R p
Closed-loop transfer functions all have the same denominator:
.D p
]
DBF p =A p .S p B p .R p , called 'closed-loop denominator'
R p
Find a proofreader C p = therefore allowing to set the poles of the closed loop comes down to
S p
1- to choose the zeros z I of DBF p (poles of all closed-loop transfer functions)
2- to deduce the coefficients d i correspondents of the polynomial D BF p :
D BF p = p−z 1 . p− z2 . . p−z nd =d 0 d 1p 1 d ndpand
3 - to calculate the coefficients of the polynomials R p andS p for which the following equality is verified:
DBF p =A p . S p B p .
R p
known: set by the poles ziknown to be determined known to be determined
this equation is known as Bézout's equation
1.2.2 - Constraints on the degrees of polynomials
We will show in this paragraph that problem 1.2.1 reduces to a system of linear equations.
unknowns, whose solution is classically found by inverting an nxn matrix (Algebra course
Linear: DUT or first year of university institute)
Let's ask:
A p =a0 a1p ...a napna , where na is the degree of A p [1]
B p =b 0 b 1p...bnbp nb, nb is the degree of B p [2]
where
R p =r 0r 1p...r nrpnr , where
r is the degree of R p [3]
S p =s 0s1p ...s nsp ns , where ns is the degree of S p [4]
DBF p=d
0 nd
d 1p... dndp , nd is the degree of DBF p
where [5]
Note: Any physical system is inertial, meaning it never responds instantaneously to the step.
B p
For a linear system of transfer function G p = this implies that the degree of A p is
A p
strictly greater than the degree of the numerator B p :
B p
G p = is the transfer function of an inertial system⇒ oA po B p
A p
The demonstration is very simple: it is enough to apply the initial value theorem to the response to
the level of G p , saying that the exit y t must be equal to 0 at time t 0s It is left as
exercise for students.
R p
Moreover, to be feasible, the transfer function corrector C p = must respect the same
Sp
condition.
It is concluded that the degrees of the polynomials must comply with the following two conditions:
and thus the degreend of the polynomial DBF p = A p .S pB pis.R
equalp
to the degree of the polynomial
A p . S p
o
[ B p .R] p[ A p .S
o
, since ] . p
and therefore the degreend the denominator of the closed loop is derived from those of A p , S by
p:
d = a ns [9]
1.2.3- Normalization of the highest degree coefficients
As the highest degree coefficient s ns of S p must be different from zero (by its very definition of the
degree of a polynomial), we will normalize the polynomials in equation [9], by arbitrarily fixing the terms of
highest degree to 1, that is to say that we set:
s ns=1 normalization of the corrector [10]
a no=1 normalization of the system [11]
d nd =1 normalization of the closed-loop denominator [12]
In order for the system to have exactly one solution, there must be as many equations as there are unknowns.
- on a nd equations to solve: one for each coefficient p0,⋯,pnd−1 of DBF p )
on a s n r1 unknowns
To have the same number of equations as unknowns, it is necessary that
nd =nr ns 1 [13]
It is also known (equation [9]), that nd =na n s, from which we deduce the value ofnr, by reinjecting this expression
in [13], let
nr na 1 [14]
The choice of degreen s of S p is arbitrary.
However, for the corrector to be feasible, it must be that ns n r .
To obtain a minimum degree corrector, one chooses the smallest value of n sn r
s =n r 1=n a [15]
Knowing the value of n s , we deduce that of nd (equation [9]):
nd =na =2.na [16]
1.2.4- Matrix system to be solved
Now knowing the degrees, Bézout's equation is expressed in the form of a matrix equation with as many
of equations than unknowns: ( we recall that the coefficientnaof higher degree of S pis normalized to
1, and is therefore not an unknown, hence its presence in the right member of the equation)
Calculation of a regulator by pole placement, page 4/8
[ ∣ ][ ] [ ]
s0
a0 0 0 . 0 b0 0 0. 0 s1 p0
a1 a0 0 . 0 b1b 00. 0 s2 p1
a2 a 1a0 . 0 . . . . . . p2
. . . . 0. . . . . na−1 .
anaa na−1 . . a00bna−1 . . b0 . = pna−1 ¿
0 ana . . a1 . . . . . r0 pna− na. a 0
0 0 . . a2 . . . . . r1 p na1−s na. a 1
. . . . . . . . .bno−1 . .
0 0 0 .ana 0 0 . . 0 . p2.na−1−sna. a no−1
r na−1
M:matrix2.naX2.na VCONNU
UNKNOWN
C p a
[18]
s0 1 .p... sn 1 1 p n a a
a
Without detailing the successive calculation steps, (the same approach as in 1), we finally obtain the constraints.
following on the degrees of different polynomials
2 . n anrfnsf [20]
s =n an rf [22]
nr' , n 's r f s f are the respective degrees of the polynomialsR ' p , S ' p ,Rf p , S f p
where
In this case, we have
2.na nr ns
f f Poles to choose
a degree denominator f
a nr ns
f
2.3- Normalization
For the same reasons as in 1, we normalize the highest degree coefficients of S p , A p , andDBF p
1. This amounts to normalizing the highest degree coefficients of the polynomials to 1. s 'tI p ,
A p = A pf .S , p
andDBF p
Calculation of a regulator by pole placement, page 6/8
Phase 1 - Specification 2 implies that the controller C(p) must contain at least 2 integrators (final value theorem)
Phase 2 - As specification 1 of the specifications document focuses on the poles of the closed loop, we will orient ourselves.
towards a synthesis method of the pole placement type.
1- determination of degrees
The corrector C p must contain two integrations, from which we write
R' p .Rf p R f p =1, because no zero of C p is not imposed
C p =
S
' p .Sf p
, with
{
S f p = p,
2
we want 2 integrations in the corrector
B p
The process is writtenG p = or again, by normalizing to 1 the coefficient of the highest degree of A p
A p
B p 10 b0
A p=
p 2 2
11p10= pa1pa0
Equations [20] to [22] now provide the degrees of the different polynomials.
degree of the closed-loop denominator DBF p: nd =2 . n a nsfnrf=6
degree of R p : r =na
' '
n sf−1=3
degree of S ' p : n s=n a
'
n rf=2
To write the matrix equation corresponding to the Bezout equation, we set
R' p =r 0 r 1p r 2p2 r 3p 3
S' p =s0 s 1p s 2p 2 = 0 s1p p2( since the highest degree coefficient of S' pis normalized to 1)
For the problem to have a unique solution, the closed-loop denominator DBF p must be from
degree nd=2 . n
a nn=6 rf
sf .
As we are asked for a dominant pole of 2thorder, we will choose DBF p in the form:
DBF p [= p 2
2. n .p
2
] [ w 1 ] , with w 1 large enough in front
.p 4
n
In practice, we take (arbitrary choice, and actually not very smart)
1 =10 n≈250th/ s
,
where one can write
DBF p =d 0 d1p d 2p 2 d 3p3 d 4p 4 d 5 .p5p 6
{
1
4 2
d 0= n
{
4 3 2
n n ≈25th/
d 2=8 3
1 n 6
2 2
1 n 4
1 =10. n ≈250 rad/ s
with: , and 1
1 n 4 1 n4 1
2 2 3
d 3=12 1
≈
4
d=8 1
n
2
6 12
2
d 5=2 n 41
Calculation of a regulator by pole placement, page 7/8
The unknowns r 0' ,r 1' , r 2' , r '3, s '0, s 1' ( it is reminded that ' =1
2 , by normalization )
can be determined successively, which avoids having to calculate the inverse of a matrix 6X6 We have
effect
d0
[1] r ' 0=
b0
d 1
r 1' =
b0
[6] s 1=d5 −a f3. s '
'
2=d 5−a f3
1
d −a . s ' −a .s'
[5] s 0' = 4 f3 1 f2 2=d 4 −a f3. s 1' −a f2
af4
' d 3−a f3. s 0' −a f2. s 1'
[4] r 3=
b0
'
d −a s
[3] r 2' = 2 f2 0
b0
Of course, an open loop trace FTBO p =C p .Gin pthe Bode and Black plan
Nichols is essential for verifying the unit gain crossover, as well as the gain and phase margins...
Calculation of a regulator by pole placement, page 8/8
obtained coefficient
The denominators have the same coefficients: up to a factor, verify with division term by term.
DBF_obtained./DBF;
verification=verification/max(abs(verification))
%---------------------------------------------------------
trace gain
%---------------------------------------------------------
[mgFTBO,dgFTBO]=bode(FTBO_p,w);mgFTBO=mgFTBO(:);dgFTBO=dgFTBO(:);dbFTBO=20*log10(mgFTBO);
S_p=1/(1+FTBO_p);[mgS,dgS]=bode(S_p,w);mgS=mgS(:);dgS=dgS(:);dbS=20*log10(mgS);
T_p=FTBO_p/(1+FTBO_p);[mgT,dgT]=bode(T_p,w);mgT=mgT(:);dgT=dgT(:);dbT=20*log10(mgT);
subplot(2,1,1);
semilogx(w, dbS, 'r'); hold on;
semilogx(w, dbT, 'b'); hold on;
semilogx(w, dbFTBO, 'g'); hold on; grid on;
title('S in red, T in blue, FTBO in green');
ylabel('gain in dB = 20*log10(gain)');
xlabel('pulsation in rd/s');
subplot(2,1,2);
semilogx(w, dgFTBO, 'g'); hold on; grid on;
FTBO in green
ylabel('FTBO argument in degrees');
xlabel('pulsation in rad/s');
figure
step(S_p);grid on;hold on
response at the level of the sensitivity function