Sie sind auf Seite 1von 41

1 Dynamical Systems

Dynamical systems are ubiquituous. Some examples are given below


1. Heating water : Input is the amount of heater power and the output is the water temperature
2. Movement of a robotic arm : The input is again power to the motors and the output would be the
final position of the robotic arm
3. Economics : Inputs are the market factors and output is the stock price
4. Autopilot, Cruise Control : For cruise control in cars the fuel is the input and the speed of the car is
the output
5. Body Temperature, Heart rate: Inputs can be external factors or internal factors (for e.g. the temper-
ature rises during infections). Note that the human body regulates these through complex mechanisms
It is important to note that in all these systems, it is not only the current input that affects the current
output but all the previous inputs have influence over the current output.

1.1 Modelling of Dynamical Systems


Consider modelling the temperature in a room. Clearly, the temperature T is a function of the spatial co-
ordinates as well as time, i.e., T (x, y, z, t). If all the heat sources are modelled accurately then the complete
dependence on all these variables can be considered. For simpler analysis, we can however, used a lumped
model i.e., consider only the dependence on t. This sort of simplification gives an ordinary differential
equation for T (we will see examples of this kind later). In general these differential equation look like the
following :
dn y dn−1 y dm v dm−1 v
n
+ an−1 n−1 + · · · + a0 y = bm m + bm−1 m−1 + · · · + b1 v
dt dt dt dt
In this equation, v is the input, y is the output and the terms an−1 , an−2 , · · · , bm , · · · , b1 are constants, i.e.,
i
independent of t. For simplicity in notation, we will use y i = ddtyi .
   
y v
 y1   v1 
 2   2
Let x =  y  , u =  v  ,. Then using simple algebra, it can be shown that
   
 ..   .. 
 .   . 
y n−1 vm
dx
= Ax + Bu
dt
where
y1
     
0 1 0 ··· 0 0 0 0 ··· 0
 y2   0 0 1 ··· 0  0 0 0 ··· 0
dx   3
    
=  y  , A =  ... .. .. ..  .. .. .. ..
, B =
  
dt  ..   . . . 0   .
 . . . 0
.  0 0 0 ··· 1  0 0 0 ··· 0
n
y −a1 −a2 −a3 ··· −an−1 b1 b2 b3 ··· bm
wtih A begin an n × n matrix an B is an n × m matrix. We can make this equation more general and write
dx
= f (x, u, t)
dt
where f : Rn × Rm × R. For the ODE example, we have f (x, u, t) = Ax + Bu. Note that in this case, f does
not explicilty depend on t. Such systems are called time invariant. If f is linear in the variables, x, u, we
say the system is linear. Hence, the system governed by the ODE given previously is Linear Time Invariant
(LTI).

1
2 Convservation Equations
For modelling dynamic chemcial processes, we need the following conservation equations.

1. Mass Balance : d(ρV ) P P


dt = i:inlet ρi Fi − j:outlet ρj Fj , where Fi , Fj are volumetric flow rates, ρ, ρi , ρj
are respectively, the densities inside the control volume, inlet flow and the outlet flow, and V is the
volume.
2. Component Mass Balance on A : d(cdt AV )
P P
= i:inlet cAi Fi − j:outlet cAj Fj + rA V where cA is the
mol mol
concentration of A ( m3 ) and rA is the rate of generation of A (in m 3s )

3. Energy Balance (with flow work) : d(U +K+P ) P P


dt = i:inlet ρi Fi hi − j:outlet ρj Fj hj + δQ − δW where U
is the internal energy and K, P are the bulk kinetic and potential energies, δQ is the heat added to
the system and δW is the work done by the system.
 
1 ∂H 1 ∂Q

4. Enthalpy and Heat Capacities : H = U + P V, dH = dU + P dV + V dP , cp = m ∂T p = m ∂T ,
  p
1 ∂U 1 ∂Q 1 ∂H
 
cv = m ∂T v = m ∂T . Using this we can bet cp = m ∂T p , ∆H = mcp ∆T
v

5. Heat Capacity and Enthalpy For Liquids : For liquids, calculating cv is practically difficult since, one
needs to maintain constant volume during the processs. However, it is relatively easy to obtain cp
(why?). For liquids, the change in volume and pressure are negiligble compared to the changes in its
internal energy and hence we make the following approximation, dH = dU + P dV + V dP ≈ dU

2.1 Examples
2.1.1 Continuous Stirred Tank Reactor (CSTR)
d(ρV )
1. Mass Balance : dt = ρi Fi − ρF .

2. Component Balance : d(cdt AV )


= cAi Fi − cA F − rV . Now use the product rule to simplify and obtain,
E
V dcdtA = Fi (cAi − cA ) − ke− RT cA

3. Energy Balance : dU dH
dt ≈ dt = ρi Fi hi (Ti ) − ρF h(T ) − Q. The l.h.s. can be computed using the chain
∂H dnA ∂H dnB
rule, dH ∂H dT ∂H dP ∂H dV
dt = ∂T dt + ∂nA dt + ∂nB dt + ∂P dt + ∂V dt . Again, we assume that the variations of H
∂H dnA ∂H dnB
w.r.t. V, P are negligible when compared to the other terms. Hence, dH ∂H dT
dt ≈ ∂T dt + ∂nA dt + ∂nB dt .
Now, dn dcA V dnB dcB V
dt = dt = cAi Fi − cA F − rV, dt = dt = −cB F + rV . Therefore,
A

dH dT
= ρV cp + HA (T )(cAi Fi − cA F − rV ) + HB (T )(−cB F + rV )
dt dt
= ρi Fi hi (Ti ) − ρF h(T ) − Q

Assuming an ideal mixture ρh(T ) = cA HA (T )+cB HB (T ), negligible changes in density and specific heat,
the final equations become,
dV
1. Mass Balance dt = Fi − F
dcA E
2. Component Balance V dt = Fi (cAi − cA ) − k0 e− RT cA
dT (−∆Hr )rV Q
3. Energy Balance : V dt = Fi (Ti − T ) + rcp − ρcp
 
Fi − F

V E
dx  1 (F (c − c ) − k e− RT cA )
Note that this is a system in the form = f (x, u, t) where x = cA and f (x, u, t) =  V i Ai

dt
  A 0 
(−∆Hr )rV
T 1
V (Fi (Ti − T ) + rcp
− ρcQ
p
)

2
2.1.2 Inverted Pendulum on a Cart

m
x1

F
M

Let N represent the normal force in the x direction on the pendulum, then, force balances on the cart
and the pendulum give
d2 x dx
M =F −N −µ
dt2 dt
d2 (x + x1 )
m =N
dt2
The second equation can be further expanded using the geometrical constraints to give
d2 x d2 sin θ
N =m + ml
dt2 dt2
d2 x

d dθ
= m 2 + ml cos θ
dt dt dt
d2 x  
= m 2 + ml −θ̇2 sin θ + θ̈ cos θ
dt
Substituting this into the first equation above,
 
M ẍ = F − mẍ − mlθ̇2 sin θ + mlθ̈ cos θ − µẋ

(M + m)ẍ + µẋ − mlθ̇2 sin θ + mlθ̈ cos θ = F


Now, let the moment of inertia of the rod about its center of mass to be equal to J. By the parallel axis
theorem, the moment of inertia about the axis passing through the point attached to the cart (through which
the pendulum rotates) is given by Jt = J + ml2 . Now, a torque balance on the rod w.r.t. this axis is given
by,
mgl sin θ − mlẍ cos θ − γ θ̇ = Jt θ̈
where γ θ̇ is the frictional torque.
Putting the two equations of motion together after some algebra and denoting Mt = M + m, we get
  ẋ
 
x
ml sin(θ)θ̇ 2 −mg(ml2 /Jt ) sin(θ) cos(θ)−µẋ+(γ/Jt )lm cos(θ)θ̇+F
d  ẋ  = 
  Mt −m(ml2 /Jt ) cos2 (θ)


dt  θ   θ̇
 

2 2 2
θ̇ −m l sin(θ) cos(θ)θ̇ +Mt mgl sin(θ)+µml cos(θ)ẋ−γMt θ̇−F ml cos(θ)
Jt Mt −(ml cos(θ)) 2

3
3 Simulation of Dynamical Systems
Since a dynamical system is an ODE driven by the input functions, it can be simualted using ODE solvers.
However, the input needs to be specified at each time point. For general nonlinear ODES, MATLAB tools
such as ode45, ode23, ode23s etc. can be used. For LTI systems, we ill use the graphical interface MATLAB
Simulink.

3.1 Simulating using ODE solvers


For using this approach, you a function that will output the value of dxdt given the values (x, u, t). This
is straight-forward since dx
dt = f (x, u, t). For example, in the CSTR case (assuming constant volume for
simplicity), this would be

function dxdt = derivfun (t,x)


% let x = (cA, T)’ and let u = (Fi, cAi, Ti, Q)’

% now define the constants


k = 7.2e10; %1/min
EbyR = 10^4; %K
cp = 1; % cal/g/K
delHr = -2*10^5; %cal/mol
r = k*exp(-EbyR/x(2))*x(1);
rho = 10^3; % g/l
dxdt = zeros(2,1);
V = 100; % litres

% define u (note u is the input and should be defined here)


% in control u will be a function of x and t
% if you want to simulate the system for a step input in Ti
% given at t = 3 secs,
% we shall have the following
u = zeros(4,1);
if (t <= 3)
u(3) = 350;
else
u(3) = 450;
end
u(1) = 100; % l/min
u(2) = 1; % mol/l
u(4) = 2*10^7; % cal /min

dxdt(1) = (1/V)*(u(1)*(u(2) - x(1)) - r*V);


dxdt(2) = (1/V)*(u(1)*(u(3) - x(2)) + (-delHr*r*V/(rho*cp)) -u(4)/(rho*cp));

% script to invoke the ode45 routine


% first provide the inital conditions to solve the ODE
x0 = [1,350];
% solve the ODE for 20 seconds with the inital condition x0
[ts,xs] = ode45(@derivfun, [0,100], x0);
% plot the resulting xs (note xs will be a matrix with each column
% corresponding to one time instant
plot(xs(:,1));

4
figure; plot(xs(:,2));

3.2 Simulation with S-functions


This is an example for simulating the inverted pendulum model.

function xvecdot = invpendmodel(xvec, F)

M = 0.5;
m = 0.2;
mu = 0.1;
l = 0.3;
J = 0.006;
gamma = 0.01;
g = 9.8;
Jt = J + m*l^2;
Mt = M+m;

x = xvec(1);
xdot = xvec(2);
theta = xvec(3);
thetadot = xvec(4);

xvecdot = zeros(4,1);
den = Mt - ((m*l*cos(theta))^2/Jt);

xvecdot(1) = xdot;
xvecdot(2) = (m*l*sin(theta)*thetadot^2) - ...
((m^2*g*l^2)/Jt)*sin(theta)*cos(theta) - ...
mu*xdot + ...
(gamma/Jt)*l*m*cos(theta)*thetadot + F;
xvecdot(2) = xvecdot(2)/den;
xvecdot(3) = thetadot;
xvecdot(4) = -m^2*l^2*sin(theta)*cos(theta)*thetadot^2 + ...
Mt*m*g*l*sin(theta) + ...
mu*m*l*cos(theta)*xdot - ...
gamma*Mt*thetadot - ...
F*m*l*cos(theta);
xvecdot(4) = xvecdot(4)/(den*Jt);

function invpend(block)
setup(block);

function setup(block)
% Register number of ports
block.NumInputPorts = 1;
block.NumOutputPorts = 1;

% Setup port properties to be inherited or dynamic


block.SetPreCompInpPortInfoToDynamic;
block.SetPreCompOutPortInfoToDynamic;

% Override input port properties

5
block.InputPort(1).Dimensions = 1;
block.InputPort(1).DatatypeID = 0; % double
block.InputPort(1).Complexity = ’Real’;
block.InputPort(1).DirectFeedthrough = true;

% Override output port properties


block.OutputPort(1).Dimensions = 4;
block.OutputPort(1).DatatypeID = 0; % double
block.OutputPort(1).Complexity = ’Real’;

% Set up the continuous states.


block.NumContStates = 4;

% Register parameters
block.NumDialogPrms = 0;

% Continuous Sample time


block.SampleTimes = [0 0];

%
block.SimStateCompliance = ’DefaultSimState’;
block.RegBlockMethod(’PostPropagationSetup’, @DoPostPropSetup);
block.RegBlockMethod(’InitializeConditions’, @InitializeConditions);
block.RegBlockMethod(’Start’, @Start);
block.RegBlockMethod(’Outputs’, @Outputs);
block.RegBlockMethod(’Update’, @Update);
block.RegBlockMethod(’Derivatives’, @Derivatives);
block.RegBlockMethod(’Terminate’, @Terminate);
function DoPostPropSetup(block)
function InitializeConditions(block)

% initialize your states here


function Start(block)
block.ContStates.Data(1) = 0;
block.ContStates.Data(2) = 0;
block.ContStates.Data(3) = 0;
block.ContStates.Data(4) = 0;

% the outputs should be given here


function Outputs(block)
block.OutputPort(1).Data = block.ContStates.Data;

function Update(block)

% the derivatives should be given here


function Derivatives(block)
block.Derivatives.Data = invpendmodel(block.ContStates.Data, ...
block.InputPort(1).Data);

function Terminate(block)

3.3 Steady State


Consider the system ẋ = f (x, u). System states and inputs x∗ , u∗ for which f (x∗ , u∗ ) = 0 are known as
steady states. If f (x∗ , u∗ ) = 0 and x(0) = x∗ , u(t) = u∗ , then x = x∗ is a solution to the ODE.

6
3.3.1 Example: CSTR
To find the steady state in the CSTR example, one needs to put f (x, u) = 0 where
E
!
1 − RT
V (Fi (cAi − cA ) − k0 e cA )
f (x, u) = 1 (−∆Hr )rV −T c)
V (Fi (Ti − T ) + rcp − U At (T
ρcp )

and x = (cA , T ), u = (cAi , Ti , Tc ). To simplify, we will consider cAi and Ti to be fixed. Then, we need to
solve for cA , T, Tc which satisfy the above equation. We will further fix Tc and plot the resulting surface for
cA , T . We note the presence of an unstable steady state.

10 9

1.8

1.6

1.4

1.2

0.8

0.6

0.4

0.2

0
300 350 400 450 500 550 600 650 700

Figure 1: Steady States of CSTR

0.9

0.8

0.7

0.6

0.5

0.4

0.3

0.2

0.1

0
250 300 350 400 450 500 550 600 650 700

Figure 2: Concentration variation with Temperature

4 Lyapunov Stability
1. Lyapunov Stability Let x∗ be a steady state for ẋ = f (x). The steady state is said to be stable if
other solutions that start near x∗ stay close to x∗ .
∀ > 0, ∃δ > 0, kx(0) − x∗ k < δ =⇒ kx(t) − x∗ k <  ∀t > 0

7
2. Asymptotic Stability : The steady state is said to Asymptotically stable, if it is Lyapunov Stable
and other solutions that start near x∗ reach x∗ eventually,
∃ > 0, kx(0) − x∗ k <  =⇒ kx(t) − x∗ k → 0 as t → ∞

3. Marignally Stable : If the equilibrium is Stable but not Asymptotically stable.

4.1 Stability of Linear Systems


Consider the system, dx
dt = Ax. Note that x∗ = 0 is an equilibrium point. Consider the case where A is a
diagonal matrix,  
λ1 0 0 ··· 0

 0 λ2 0 ··· 0 

A=
 0 0 λ3 ··· 0 

 .. .. .. .. .. 
 . . . . . 
0 0 0 0 λn
λj t
The solution is given by xj (t) = e x(0).
Theorem 4.1. The system dx dt = Ax is asymptotically stable at xe = 0 if and only if all eigenvalues of A
have negative real part. If atleast one eigenvalue has a positive real part then the system is unstable.

4.2 Stability of Nonlinear Systems


Theorem 4.2. Let x∗ = 0 be an equilibrium point for the nonlinear system ẋ = f (x) where f : D → Rn is
continuously differentiable and D is a neighborhood of the origin. Let
∂f
A= (0)
∂x
Then,
• Origin is asymptotically stable if Re λi < 0 for all eigenvalues of A.
• Origin is unstable if Re λi > 0 for atleast one eigenvalue of A.

5 Controllability and Observability


Consider the system
ẋt = Axt + But
(1)
yt = Cxt + Dut
Definition 5.1 (Controllability). The system (1) is said to be controllable if there exists an input ut , t ∈ [0, T ]
such that it can take the system from any initial state ζ0 to any final state ζ1 , i.e., x0 = ζ0 , xT = ζ1 .
Theorem 5.2. The system (1) is controllable if and only if
rank [B AB A2 B · · · An−1 B] = n
Definition 5.3 (Observability). The system (1) is said to be observable if for any unknown initial state
x0 , there exists a finite time T > 0 such that the x0 can be uniquely determined from the knowledge of
ut , yt , t ∈ [0, T ]
Theorem 5.4. The system (1) is observable if and only if
rank [C CA CA2 · · · CAn−1 ]T = n

8
6 Negative State Feedback
Consider the system in Eq. 1. We want problem to bring the states to 0 as t → ∞ using some input. The
first question that arises is, is this always possible for all A, B, C, D.

7 Linearization Around a Steady State


The basic idea of linearization can be illustrated using the Taylor Series in the single variable case, f (x0 +h) ≈
f (x0 ) + f 0 (x0 )h. For the multivariable case, consider the following example.

dx1
= f1 (x1 , x2 , x3 )
dt
dx2
= f2 (x1 , x2 , x3 )
dt
dx3
= f3 (x1 , x2 , x3 )
dt
f (x0 + h) ≈ f (x0 ) + Df (x0 )h
Df (x0 ) is the Jacobian of f at x0 . The Jacobian is similar to the derivatives in the single variable case. The
definition of the Jacobian is based on the similar definition of derivative in the scalar case.
kf (x + h) − f (x) − Df (x0 )hk
lim =0
h→0 khk

It can be shown that for continuously differentiable functions, the Jacobian can be obtained as a matrix of
partial derivatives.  ∂f 
∂f1 ∂f1
∂x1 (x0 )
1
∂x2 (x0 ) ∂x3 (x0 )
 ∂f2 ∂f1 ∂f1
Df (x0 ) =  ∂x (x0 ) ∂x (x0 ) ∂x (x0 ) 

1 2 3
∂f2 ∂f1 ∂f1
∂x1 (x0 ) ∂x2 (x0 ) ∂x3 (x0 )

7.1 CSTR Example


In the CSTR example, for simplicity assume that Fi , V are constant and let Fi /V = τ . The two functions
that need to be linearized are,
dcA 1
= (cAi − cA ) − k0 e−E/RT cA := f1
dt τ
dT 1
= (Ti − T ) + Jk0 e−E/RT cA − U At (T − Tc )/ρcp V := f2
dt τ

9
Now, the partial derivatives with respect states (cA , T ) and the inputs (cAi , Ti , Tc ) are computed. Using
linearization we have,
!
∂f1 ∂f1  
cA − cA0

∂cA ∂T
f (cA , T, cAi , Ti , Tc ) = f (cA0 , T0 , cAi 0 , Ti0 , Tc0 ) +

∂f2 ∂f2
T − T0

∂cA ∂T

cA0 ,T0 ,cAi 0 ,Ti0 ,Tc0
 
∂f1 ∂f1 ∂f1
!
cAi − cAi0
∂cAi ∂Ti ∂Tc  Ti − Ti0 
+

∂f2 ∂f2 ∂f2
∂cAi ∂Ti ∂Tc Tc − Tc0

cA0 ,T0 ,cAi 0 ,Ti0 ,Tc0

The linearization point should be chosen to be an equilibrium point, i.e., a point where f (cA0 , T0 , cAi 0 , Ti0 , Tc0 ) =
0, so that the Laplace transform theory is useful. Since, at a steady state the value f (cA0 , T0 , cAi 0 , Ti0 , Tc0 ) =
0, nonlinear systems are Linearized at those values.

7.1.1 Linearizing Using Matlab


Use the function linmod to linearize the model. After creating the S-function, make a simulink file containing
the model and then run the linmod function on this file. After this we can obtain an LTI system which is
an approximation of the true system around an equilibrium point.

7.2 Impulse and Step Responses


Consider the system ẋ = Ax + Bu. Let all elements of u be equal to zero except one. In that case, we will
have ẋ = Ax + bi ui .

1 if t ≥ 0
1. Step Response : The step response in the input ui is obtained by making ui =
0 if t < 0
2. Impulse Reponse : An  impulse response is obtained if the input is very large during a very short
1
if t ≤ c
duration. For e.g. uci = c
0 if t > 0
Rt
Consider the scalar system, ẋ = ax + bu. The solution is given by x(t) = eat x(0) + 0 ea(t−τ ) bu(τ )dτ .
For the impulse response, as c → 0, we can show that ximpulse (t) = eat . The step response of the system is
dx (t)
given by xstep (t) = a1 (eat − 1). It can be observed that step dt = ximpulse (t). Even though this relation is
derived for the scalar case, it is true even for higher orders.

8 Linear Time Invariant Systems


As given before, for an LTI system, we have ẋ = Ax + Bu. Here, we will look at the formal definition of an
LTI system.
1. Linear : F(au1 + bu2 ) = aF(u1 ) + bF(u2 )

2. Time Invariance: If F(u) = y then F(u0 ) = y 0 , where u0 , y 0 are shifted by the same amount
It can be shown that ẋ = Ax + Bu is an LTI system. It is easy to see the linearity property and the time
invariance can also be shown by writing the general solution to the state space equation (which we will not
do here).
In the general case, the impulse response will be a matrix, hi,j (t) where hi,j (t) represents the ith state
response to an impulse in the jth input. Similarly, we define the step response Hi,j (t).

10
u2

u1

$u_0$

y(t) = H(t − t0 )u(t0 ) + H(t − t1 )(u(t1 ) − u(t0 )) + · · ·


tX
n <t

= (H(t − tn ) − H(t − tn+1 ))u(tn )


n=0
tX
n <t
H(t − tn ) − H(t − tn+1 )
= u(tn )(tn+1 − tn )
n=0
tn+1 − tn
Z t
= H 0 (t − τ )u(τ )dτ
0
Z t
= h(t − τ )u(τ )dτ
0

Therefore, if a system is linear time invariant, its behaviour is completely described by its impulse response.

9 Bounded Input Bounded Output (BIBO) Stability


The previous notions of stability are for a fixed value of u. Suppose we know that the input is Bounded, i.e.
ku(t)k ≤ M for all t > 0. Can we expect the output to be also bounded? If it is then we say that the system
is BIBO stable.
We have the following relations between Lyapunov Stability and BIBO stability.
1. If the system ẋ = Ax + Bu is asymptotically stable, i.e., if all the eigen values have real part less than
zero then the system is BIBO stable.
2. If some of the eigenvalues are on the
 imaginary
 axis then
  the system may not be BIBO stable. Here,
−1 −2 1
consider the system for which A = ,B = , u(t) = sin(t). The eigenvlaues are ±j and
1 1 1
the input is Bounded but the output will be unbounded. We will also call such systems marginally
stable systems.

10 Laplace Transforms
Laplace Transform is a tool that converts Linear differential equations to Linear algebraic equations.

f : [0, ∞) → R

A transform is a functional i.e., a mapping of functions to functions


Z ∞
L(f ) = f (t)e−st dt
0

where s is a complex number.


An important question is when the Laplace Transform will exist.

11
Definition 10.1. Exponential order |f (t)| ≤ M eαt , ∀t ≥ t0
Theorem 10.2. If f is piecewise continuous on [0, ∞) and of exponential order α, then the Laplace transform
L(f ) exists for Re{s} > α and converges absolutely.
Definition 10.3. Region of Convergence The region of convergence is defined as those points of s for which
the Laplace transform exists. This is always of the form Re{s} > a or Re{s} ≥ a for some a.
a
• f (t) = at, L(f ) = s2 , Re{s} >0
w
• f (t) = sin(wt), L(f ) = s2 +w2 , Re{s} >0
s
• f (t) = cos(wt), L(f ) = s2 +w2 , Re{s} >0

• f (t) = e−at , L(f ) = 1


s−a , Re{s} >a

Some properties of the Laplace transforms are enumerated below.


R∞ R∞ R∞
1. Linearity L(a1 f1 + a2 f2 ) = 0 (a1 f1 + a2 f2 )(t)e−st dt = a1 0 f1 (t)e−st dt + a2 0 f2 (t)e−st dt =
a1 L(f1 ) + a2 L(f2 )
2. Translated Functions or Dead Time

f (t − t0 ) if t ≥ t0
g(t) =
0 if t < t0
Z ∞
L(g) = g(t)e−st dt
0
Z ∞
= f (t − t0 )e−s(t−t0 ) e−st0 dt
t0
Z ∞
−st0
=e f (t − t0 )e−s(t−t0 ) dt
t
Z 0∞
−st0
=e f (t)e−st dt = e−st0 L(f )
0

1 2 n−1
Theorem 10.4. Suppose f (t), f (t), f (t), · · · , f (t) are continuous on [0, ∞) and of exponential order
and f n (t) is piecewise continuous on [0, ∞), then

L(f n (t)) = sn L(f (t)) − sn−1 f (0+ ) − sn−2 f 1 (0+ ) · · · − f n−1 (0+ )

where
f (0+ ) = lim f (t)
t→0

(note two side limits do not exist at t = 0).


Theorem 10.5. Lerch’s Theorem : Distinct continuous functions on [0, ∞) have distinct Laplace transforms
Therefore, for discontinuous functions it should be borne in mind that there might exist other functions
with the same Laplace transform! A simple example is given next.

1 if t ≥ a
ua (t) =
0 if t < a

1 if t > a
va (t) =
0 if t ≤ a
L(ua ) = L(va ) = e−as /s, Re{s} > 0

12
Rt
Theorem 10.6. If f is piecewise continuous on [0, ∞) of exponential order α ≥ 0 and g(t) = 0
f (u)du
then
1
L(g) = L(f ), Re{s} > α
s
Theorem 10.7. Initial Value Theorem : Suppose that f, f 1 are such that f is continuous on [0, ∞) of
exponential order α and f 1 is piecewise continuous on [0, ∞). Let F (s) = L(f ). Then

f (0+ ) = lim+ f (t) = lim sF (s)


t→0 s→∞

Theorem 10.8. Final Value Theorem : Suppose f is continuous on [0, ∞) of exponential order α and
limt→∞ f (t) exists. Let F (s) = L(f ). Then

lim f (t) = lim sF (s), s real


t→∞ s→0

As mentioned before, Laplace transform is used to solve Linear ODEs. An example is given below.

d2 y
+ y = 1, y(0) = y 0 (0) = 0
dt2
L(y 2 ) + L(y) = L(1)
1
s2 L(y) + L(y) =
s
1 s
L(y) = −
s s2 + 1
 
1 s
y(t) = L−1 − 2
s s +1
y(t) = 1 − cos t

10.1 Examples
10.1.1 Level Dynamics in a Tank
dh √
A = Fi − β h
dt
dh0 β
A + √ h0 = Fi0
dt 2 hs
β
Ash0 (s) + √ h0 (s) = Fi (s)
2 hs
(Note: we used the fact that h0 (0) = 0 due to the linearization near the steady state)

Fi (s)
h0 (s) =
As + 2√βh
s

10.1.2 CSTR
After linearization, we obtain a linear system, ẋ = Ax + Bu. Now apply the Laplace transform to obtain,
sx(s) = Ax(s) + Bu(s). Rewriting this, we get

x(s) = (sI − A)−1 Bu(s)

13
  
  G11 (s) G13 (s) G13 (s) cAi (s)
cA (s)
=  G21 (s) G22 (s) G23 (s)   Ti (s) 
T (s)
G31 (s) G32 (s) G33 (s) Tc (s)
Now, we already know that the system is BIBO stable if all the eigenvalues of A have negative real parts.
adj(sI−A)
Now, (sI − A)−1 = det(sI−A) . Hence, we can see that the denominator is the characteristic polynomial of A
(in s). The roots of this polynomial are the eigenvalues of A.
Recollect that in the beginnning, we have represented an input/output ODE using the state space form,
i.e.,
dn y dn−1 y dm v dm−1 v
+ an−1 + · · · + a0 y = b m + b m−1 + · · · + b1 v
dtn dtn−1 dtm dtm−1
was represented as
dx
= Ax + Bu
dt
where  1    
y 0 1 0 ··· 0 0 0 0 ··· 0
 y2   0 0 1 ··· 0  0 0 0 ··· 0
dx   y3 
 
 .. . . ..
 
. . .

=  ,A =  . .. .. . 0  , B =  ..
  .. .. . . . 0 
dt

 ..     
.  0 0 0 ··· 1  0 0 0 ··· 0
yn −a1 −a2 −a3 · · · −an−1 b1 b2 b3 · · · bm
   
y v
 y1   v1 
 2   2
x =  y ,u = v ,
   
 ..   .. 
 .   . 
y n−1 vm
I can be checked that the characteristic polynomial of A, i.e., det(sI − A) equals sn + an−1 sn−1 + · · · + a0 .
Therefore, the system is BIBO stable if all the roots of sn + an−1 sn−1 + · · · + a0 have negative real parts.

11 First and Second Order Systems


11.1 First Order Systems
Simple examples of first order systems are i) Level in a Tank, ii) Glass Bulb Thermometer, iii) Jacketed Cooler
etc. The importance of first order systems also arises from the fact that higher order systems containing a
dominant mode can be approximated using a first order system.
dy
a0 + a1 y = bu(t)
dt
(a0 /a1 )sy(s) + y(s) = (b/a1 )u(s)
Kp
G(s) = y(s)/u(s) =
τp s + 1
The system is stable if τp > 0.
For step input u(s) = 1/s, therefore
1 Kp
y(s) =
s τp s + 1
1 τp
= Kp ( − )
s τp s + 1

y(t) = Kp (1 − e−t/τp )

14
11.1.1 Step Response of First Order System

dy 1
(0) =
dt τp
1
t = τp , y(t) = (1 − ) ∗ Kp = 0.632 ∗ Kp
e

12 Second order systems


d2 dy
a0 t + a1 + a2 y = bu(t)
dy dt
d2 dy
(a0 /a2 ) t + (a1 /a2 ) + y = (b/a2 )u(t)
dy dt
d2 dy
τ2 t + 2ητ + y = Kp u(t)
dy dt
Y (s) Kp
= 2 2
U (s) τ s + 2ητ s + 1

12.0.1 Examples

Fi

h1
F1

h2

F2

dh1
τp1 + h1 = Kp1 Fi (t)
dt
dh2
τp2 + h2 = Kp2 h1 (t)
dt

15
K p1
G1 (s) = h1 (s)/Fi (s) =
τp1 s + 1
Kp2
G2 (s) = h2 (s)/h1 (s) =
τp2 s + 1
Kp1 Kp2
h2 (s)/Fi (s) =
(τp1 s + 1)(τps s + 1)
The poles have negative real parts so the system is stable.

Fi(t)

h1(t) h2(t)

F1(t) F2(t)

dh1
A1 = Fi − F1
dt
dh2
= F1 − F2
A2
dt
dh1 h1 − h2 dh2 h1 − h2 h2
A1 = Fi − , A2 = −
dt R1 dt R1 R2
h1,s − h2,s
Fi,s − =0
R1
h1,s − h2,s h2,s
− =0
R1 R2
d(h1 − h1,s ) (h1 − h1,s ) − (h2 − h2,s )
A1 = (Fi − Fi,s ) −
dt R1
d(h2 − h2,s ) (h1 − h1,s ) − (h2 − h2,s ) h2 − h2,s
A2 = −
dt R1 R2
h1 − h1,s = h01 , h2 − h2,s = h02 , Fi0 = Fi − Fi,s

h01 (s) − h02 (s)


A1 sh01 (s) = Fi0 (s) −
R1
h01 (s) − h02 (s) h02 (S)
A2 sh02 (s) = −
R1 R2
τp2 R1 s + R1 + R2
h01 (s) = F 0 (s)
τp1 τp2 s2 + (τp1 + τp2 + A1 R2 )s + 1 i
R2
h02 (s) = F 0 (s)
τp1 τp2 s2 + (τp1 + τp2 + A1 R2 )s + 1 i
∆ = (τp1 + τp2 + A1 R2 )2 − 4τp1 τp2
∆ = (τp1 − τp2 )2 + (x) > 0
Hence, the poles have negative real parts and distinct. Therefore, the system is stable.

16
12.0.2 General second order systems
y(s) Kp
= 2 2
u(s) τ s + 2ητ s + 1
• τ is the period of oscillation
• η damping factor
• Kp gain

• η > 1 : distinct real poles - overdamped


• η = 1 : equal real poles - critically damped
• η < 1 : distinct complex poles - underdamped
 
• Decay Ratio : exp − √2πη 2
1−η
 
• Overshoot : exp √−πη 2
1−η

13 Higher Order Systems


Higher order systems can occur when many lower order systems are connected in series. For example,
consider the arrangement of multiple tanks in series as given before. Similarly, consider a jaceketed cooler
where the heat capacity of the wall cannot be ignored.

13.1 Examples
13.1.1 Jacketed Cooler

The heat balances give,


dT
mcp = −Q1
dt

17
dT1
Q1 − Q2 = m1 cP1
dt
Q2 = U A(T1 − Tc )
Q1 ∝ T − T1
Combining all these results in second order system. The idea is that when we have capacities or first order
systems in series, we get a higher order system.

13.1.2 Distillation Column

Cooling Water

Feed Distillate
FD , xD
Ff , cf

Steam

Bottoms
FB , xB

yi /xi
α=
yj /xj
αxi
yi =
1 + (α − 1)xi
Assumption: One mole of condensing vapor releases enough heat to vaporize one mole of liquid
dMN
= FR + VN −1 − LN − VN = FR − LN
dt
dMN xN
= FR xD + VN −1 yN −1 − LN xN − VN yN
dt
dM1
= L2 − L1 + V − V1 = L2 − L1
dt
dM1 x1
= V yB − V1 y1 − L1 x1 + L2 x2
dt

18
VN

VN
FR
LN
VN−1
MRD

Top tray

L2
V1

L1
V

MB

FB
V

Bottom Tray

dMi
= Li+1 − Li + Vi−1 − Vi = Li+1 − Li
dt

19
Li+1 Vi

Li

Vi−1

ith tray

dMi xi
= Li+1 xi+1 + Vi−1 yi−1 − Li xi + Li+1 xi+1
dt

Lf −1

Vf
Lf
Vf −1

Feed Tray
dMf
= Ff + Lf +1 − Lf + Vf −1 − Vf = Ff + Lf +1 − Lf
dt
dMf xf
= Ff cf + Lf +1 xf +1 + Vf −1 yf −1 − Lf xf + Lf +1 xf +1
dt
Refulx Drum:
dMRD
= VN − FR − FD
dt
dMRD xD
= VN yN − (FR + FD )xD
dt
Column Base:
dMB
= L1 − V − FB
dt
dMB xB
= L1 x1 − V yB − FB xB
dt
Hydraulic Relationships:
Li = f (Mi )
2N + 4 nonlinear differential equations (state equations)
2N + 1 algebraic equations (equilibrium and hydraulic relationships)

14 Feedback Loop
The feedback loop is shown in Figure.

20
d

ysp ǫ u y
Σ Controller Control Valve
Process

Measuring
Device

14.1 Measuring and Actuating Devices


The basic ideas of these devices are given in this section.

14.1.1 Orifice Plate


An orifice plate is used to measure flow rate by measuring the pressure drop across a small orifice. The
relation between flow rate and pressure drop can be computed using the bernouli’s principle,

q ∝ ∆P

14.1.2 Resistance Temperature Detector (RTD)


The resistance of metals changes with temperature. For metals such as platinum, copper and nickel, the
relationship is almost linear.
• Sensitivity (α0 ) is defined as the fractional change of resistance per degree change in temperature,
R(T ) = R(T0 )(1 + α0 ∆T ). For platinum, this values is α0 = 0.004/C.

• Response Time : The response time of RTDs, i.e., the time taken to reach steady state. This can
range from 0.5 − 5 seconds or more.

14.1.3 Differential Pressure Cells


They can be used to convert the flow rate measurements from the Orifice plate into electrical signals or
directly used for measuring pressure differences.
A pressure trasnducer consists of a sensing diaphragm which can deform based on the applied pressure.
This deformation results into a change of capacitance which is used to generate an output in the form a
current (typically in the range 4 − 20 mA). The dynamic model can be dervied.
We will wirte a force balance on the capillary liquid
• p1 A is the force applied due to the process on one side of the capillary

• Let p2 A be the force applied on the other side of the capillary. Assuming, the mass of the membrane
to be small, we have p2 A = kx + c dx
dt if the liquid in the capillary gets displaced by x. The sensing
diaphragm acts as a spring and hence results in a force kx. As the oil moves displacing the sensing
diaphragm a force in the opposite direction (i.e., in the same direction as kx) acts on the second
isolating diaphragm. This force is due to drag and is given by c dx
dt .

21
Figure 3: From [?]

• Combining the two, we obtain

d2 x d2 x
m 2
= p1 A − p2 A = ρAL 2
dt dt
dx d2 x
p1 A = kx + c + ρAL 2
dt dt
p1 (s)A = kx(s) + Csx(s) + ρALs2 x(s)
x(s) A
= 2
p1 (s) ρALs + cs + K

14.1.4 Pneumatic Valves


d2 x dx
M 2
= pA − kx − c
dt dt
M s2 x(s) + kx(s) + csx(s) = Ap(s)
x(s) A
=
p(s) M s2 + cs + k
q
The pressure acroos a valve in terms of the flow rate is given by F = Kf (x) ∆p ρ where K is a constant
which depends on the valve size, the function f (x) is dependent on the type of plugs used in the valve and
ρ is the density of the fluid.

14.1.5 Pumps
There are two main types, i) Centrifugal Pump (commonly used) and ii) Positive Displacement pumps. In
a centrifugal pump, the water is drawn into the eye of the impeller due to creation of low pressure. The
volute casing steadily increases in area and therefore inside the volute casing, the fluid pressure increases
while the velocity decreases according to the Bernoulli’s principle.

22
Figure 4: From [?]

Figure 5: From [?]

23
Figure 6: From [?]

Pump curves plot two important pump characteristics, i.e. Head vs Flow. Head is the height to which
the pump can raise water. It can also represent the downstream pressure drop. It is important to understand
that the flow rate decreases as the head increases. For very low flow rates pumps can operate at high heads
and vice versa.
The combination of a pump and a pneumatic valve is a common occurance in process control. Note that
when we derived the model for the pneumatic valve, we only modelled the stem position x. We will try to
understand why the flow rate changes when the stem position is changed.
When the stem position is changed a new steady state will be established. Let P1 , P0 = 1 atm be the
upstream and downstream pressures across the valve (i.e., ∆P = P1 − P0 ) and F be the steady state flow
rate. In the new steady state, K, P1 have to satisfy both the the valve equation and the pump curves. When
the valve is closed the flow rate decreases but the pressure P1 will increase.

14.1.6 Pressure Regulators


Pneumatic control valves operate at 3−15 psig. The pressure sources such as a compressor may be delivering
at a higher pressure. Therefore, there is a need to regulate the incoming pressure to the desired range. This
is done using pressure regulators.
The regulators contain a diaphragm that is connected to the inlet valve. When the outlet pressure is
small, the gas is allowed to pass through the inlet valve and as the outlet pressure increases, the diaphragm
is also pushed back which in turn closes the inlet valve.

14.2 Controllers
We focus of three widely prevalent types of controllers.
• Proportional :-
c(t) = Kc (t) + cs
0
c (t) = c(t) − cs = Kc (t)
c0 (s)
Gc (s) = = Kc
(s)
Kc is called the proportional gain. P B = 100/Kc is called the proportional band. Typically, 1 ≤
P B ≤ 500.

24
Figure 7: From [?]

• Proportional-Integral :-  Z t 
0 1
c (t) = c(t) − cs = Kc (t) + (t)dt
τI 0
 
1
Gc (s) = Kc 1 +
τI
τI is called the reset time and 1/τI is called the reset rate. Typically, 0.1 ≤ τI ≤ 50 min. Suppose,
there is a step change in the error to a value . Then, the initial controller output is Kc  since the
contribution of the integral term is zero. However, after a period of τI minutes, the contribution of the
integral term would be exactly Kc .
Integral wind up occurs when the error stays high for a significant amount of time. The integral term
adds up these errors and results in a very large control output. However, as all actuators have limits
on the operability, the actuators saturate.
• Proportional Integral Derivative :-

1 t
 Z 
d
c(t) = Kc (t) + (t) + τD + cs
τI 0 dt
 
1
Gc (s) = Kc 1 + + τD s
τI s
The derivative term calculates the rate of change of error and hence can take anticipatory action.

14.2.1 Causality
N (s)
G(s) =
D(s)
If the degree of the numerator is less than or equal to the degree of the denominator then the system is
said to be causal. What is the inverse Laplace Transform of s, i.e. what is the function f (t) such that

25
R∞ R∞
0
f (t)e−st dt = s? The equation 0 f (t)e−st dt = s has meaning only in the sense of distributions, which
are generalized functions. In this set up, the solution is the derivative of the Dirac delta function!
Z t
y(t) = h(t − τ )u(τ )dτ
0

h(s) = y(s)/u(s)
If y(s)/u(s) is non-causal, then there are problems with obtaining its inverse transform: which implies
that the impulse response is not a well defined function.
Therefore, we require that the transfer function be proper. The transfer function for PID is non-causal :-
 
1
Gc (s) = Kc 1 + + τD s
τI s
• Therefore, PID is not realizable as an LTI system.
• An example form of PID which is realizable is
 
1 τD s
Gc (s) = Kc 1 + +
τI s ατD s + 1

14.3 Complete Example

F0
hsp ǫ c h
Σ Controller Control Valve

DP Cell
hm

Suppose that at time zero the entire system is in steady state i.e. none of the flows are changing with
time.
• Process :
dh
A = Fi − F0
dt
0 = Fi,s − Fo,s
Fi0 (s) Fo0 (s)
h − hs = h0 (s) = −
As As
• Sensor (Measuring device) :

2 d2 hm dhm t
τm + 2ηm τm + hm = Km ∆P (t)
dt dt
t
hm,s = Km ∆Ps
d2 h0m dh0
2
τm + 2ηm τm m + hm = Km h0
dt dt
h0m (s) Km
0
= 2 2
h (s) τm s + 2ηm τm s + 1

26
• Comparator :-
(t) = hsp − hm
0 = s = hsp,s − hm,s
(t) = h0sp − h0m
(s) = h0sp (s) − h0m (s)

• Controller :-  
1
Gc (s) = Kc 1+
τI s

• Pneumatic Valve :-
d2 F0 (t) dF0
τv2 + 2ηv τv + F0 = Kv c0 (t)
dt2 dt
F0,s = 0
d2 F00 (t) dF00
τv2 + 2η v τv + F0 = Kv c0 (t)
dt2 dt
The general equations can be written as,

• Process : y(s) = Gd (s)d(s) + Gp (s)m(s)


• Valve : m(s) = Gv (s)c(s)
• Controller : c(s) = Gc (s) (ysp (s) − ym (s))
• Sensor : ym = Gm (s)y(s)

y(s) = Gp (s)Gv (s)Gc (s) (ysp (s) − Gm (s)y(s)) + Gd (s)d(s)


Gp Gc Gv Gd
y(s) = ysp (s) + d(s)
1 + Gp Gc Gv Gm 1 + Gp Gc Gv Gm

14.4 Usage of the Controllers


14.4.1 Proportional Control
,
Kp
Gp (s) =
τp s + 1
Gc (s) = Kc
Kp Kc Kd
1+Kp Kc 1+Kp Kc
y(s) = τ ysp (s) + τ
1 + 1+Kpp Kc s 1 + 1+Kpp Kc s
With d(s) = 0 and ysp (s) = 1, we have

Kp Kc
lim y(t) = lim sy(s) =
t→∞ s→0 1 + Kp Kc
1
Offset : 1 − y(∞) = 1+Kp Kc

• Proportional Controllers can be used for level control, since perfect level control is seldom necessary.
For example, liquid level in storage tanks can be controlled using a proportional controller.

27
Figure 8: [?]

Figure 9: [?]

• Proportional controllers give no offset when the process has an integrator, i.e. a term 1/s in its transfer
function. Consider the example in the figure below.

• Boiler level control : If the level in the drum is too low, this causes damage to the tubes and the drum.
If the level is too high then water escapes into the steam.
• Condenser Level Control in a Distillation column

14.4.2 Integral Action


 
1
Gc (s) = Kc 1 +
τI
Kc Kp
τI s τp s+1
y(s) = Kp
ysp (s)
1 + τKI cs τp s+1

y(∞) = lim sy(s) = 1


s→0

Hence, offset is removed with Integral action. The PI controller increases the order of the process and
hence makes the closed-loop respond slower. PI controllers should be used when only small steady state
errors are allowed. For example, in flow control. Since flow systems are typically fast, the PI does not create
very slow loops.

28
14.4.3 Derivative Action
The PI controller removes offset but the closed-loop can become slow since the order is increased. When
the process to be controlled is itself slow, this causes the closed-loop response to be very sluggish. In these
cases, it is better to add derivative action.

15 Routh-Hurwitz Criterion
After forming the closed loop system, the roots of the denominator needs to be checked for stability. However,
the denominator polynomial in a closed loop might have higher degrees. Since there is no general rule, for
higher degree polynomials, we use a test to count the number of roots lying in the R.H.P.
1
Consider the system Gp (s) = s2 +2s+2 and a PI controller. Gc (s) = Kc (1 + 1/τI s). Using the Routh
Array we can find whent the system becomes unstable.

16 Root Locus
p K
Suppose Gp (s) = (τ1 s+1)(τ 2 s+1)
and Gc = Kc . We want to know what happens when Kc is varied. The
Routh-Hurwitz criterion only gives whether the system is stable or not. To get a better picture we use the
root locus method.
For this example, the root locus can be computed by hand. In the general case we note the following
points.
1. The roots start at poles and end at zeros
2. A point s on the real axis will lie on the root locus if an odd number of real poles and zeros lie towards
the right of s
3. The root locus is symmetrical about the real axis
4. Breakaway points : Points of departure of the root locus from the real axis. Suppose the closed loop
G(s)H(s)
transfer function is given by 1+K c G(s)H(s)
, then the breakaway points can be found from dG(s)H(s)
ds =0
Theorem 16.1. Let p(s) = sm + p1 sm−1 + p2 sm−2 + · + pm and q(s) = sn + p1 sn−1 + p2 sn−2 + · + qn . The
asymptotes of the root locus of
kp(s) + q(s) = 0
are the n − m lines
q1 − p1
     
kπ kπ
x+ sin − y cos =0
n−m n−m n−m
1 −p1
where k = 0, 1, · · · , n − m − 1. All the asymptotes pass through the point (− qn−m , 0) and the branches of the
(2k+1)π
locus are asymptotic to the lines in the n − m directions given by n−m
Examples,
2(s+1)
1. s(s−4)
s+3
2. s2 (s+2)(s+4)(s2 +2s+9)(s3 +5)
In MATLAB to find root locus use the command rlocus. For example, if the system transfer function is
G, the root locus can be found via rlocus(G). Below is a code listing.

% example of root locus


s=tf(’s’);
Gp = (s+3)/(s^2*(s+2)*(s+4)*(s^2+2*s+9)*(s^3+5));
rlocus(Gp);

29
17 Frequency Response
Using frequency response, we can check the stability of the model even if the transfer function is not rational.
Classical control design techniques also rely on the frequency response. Frequency response techniques also
allow us to answer questions such as how much of uncertainity we can handle if the model does not match
the plant perfectly etc.
The fundamental question what is the output of an LTI system when the input is a sine (or cosine) wave?
(If u(t) = a sin(ωt) what is y(t)). It can be shown that the solution is y(t) ≈ a|G(ejω )| sin(ωt + arg(G(ejω ))
for large time t. Therefore, the output is also a sine (or cosine) with the same frequency but with a phase
shift and an amplitude ratio that depends on the transfer function.
Next, we show a brief derivation of the frequency response.

y(s) = G(s)u(s)

y(s) = G(s) 2
s + ω2
C1 C2 Cn b1 b2
y(s) = + + ··· + +
s − p1 s − p2 s − pn s + jω s − jω
If the system is stable all the first n terms approach zero asymptotically. Therefore,

yss (t) = b1 exp(−jωt) + b2 exp(jωt)


aG(−jω) aG(jω)
b1 = , b2 =
−2j 2j
G(jω) = |G(jω)| exp(jφ)
G(−jω) = |G(jω)| exp(−jφ)
−a|G(jω)| a|G(jω)|
yss (t) = exp(−j(ωt + φ)) + exp(j(ωt + φ))
2j 2j
yss (t) = a|G(jω)| sin(ωt + φ)|

17.1 Bode Diagrams


A compact way of representing frequency response characteristics of a system.
A Bode diagram consists of plots of
• 20 ∗ log10 (|G(exp(jω))|) vs ω (on log scale).
• arg(G(jω)) vs ω (on log scale)
1
An example Bode plot of G(s) = 2s+1 is given below. In Matlab, you can get the Bode plot by using

Bode Diagram

−10
Magnitude (dB)

−20

−30
0
Phase (deg)

−45

−90 −2 −1 0 1
10 10 10 10
Frequency (rad/sec)

bode(sys). It can be seen from the example that the higher frequencies are attenuated by this system.

30
Consider the example of a tank with a leak. As we know this is a first order system and is similar to the
example considered. What happens if we send a flow rate which is varying very fast (i.e., has high frequency)?
It can be seen that this system will allow the high frequency signals to pass only after a significant amount
of attentuation.

17.2 Bode Stability


Consider the following thought experiment. A set point of sin(ω0 t) is sent to a feedback loop which is
disconnected at the comparator. Assume that the system Gp (s) is such that |Gp (jω0 )| = 1 and arg(Gp (ω0 )) =
−π. The steady state response of the system will be y(t) = − sin(ω0 t). After reaching the steady state,
imagine that the set point is made zero while simultaneously the feedback loop is connected back. Then,
since the error signal now becomes (t) = sin(ω0 t) the response of the closed loop system remains the same,
i.e. y(t) = − sin(ω0 t).
Now, suppose |Gp (jω0 )| > 1, then the reponse grows exponentially with time, whereas if |Gp (jω0 )| < 1
the response dies down to zero. We note that since no input is given to the closed loop system, no energy
is added. The zero input is always bounded but in the first case above, the output is unbounded. Therfore,
the closed loop system is BIBO stable if and only if the amplitude ratio of the open-loop transfer function
is less than one at the cross-over frequency. In chemical process control dead time is a principal source of
destabilizing effects.

17.3 Gain and Phase margins and Examples


From the Bode stability criterion above, the importance of the frequency for which the phase becomes −180o
is clear. This is called the Crossover Frequency and denoted as ωco . The following definitions of Gain and
Phase margins are frequently used.
• Gain Margin = −20 log10 |G(jωco )|

• Phase Margin = 180o − φ(1), where φ(1) is the phase corresponding to 0dB
In Matlab, the Gain and Phase margins can be found via margin(sys)

17.3.1 Examples
exp(−0.1s)
• Consider, the example Gp (s) = 0.5s+1 . Suppose we want to use a proportional controller and want
a gain margin of 5dB.
• Now, say the true dead time is 0.15 instead of 0.1. Is the closed loop process still stable?
• Tune the proportional controller for a phase margin of 30o .

• If the dead time is 0.15, is the closed loop stable? What phase margin is sufficient?
• Using the previous controller, what happens if the time constant is 0.25? Is closed loop still stable?

17.4 Nyquist Stability


Even though Bode stability is applicable to transfer functions containing time delays, it is not applicable in
all cases. For example, the bode plots should have a decreasing trend (as a function of frequency) for the
Bode stability criteria to be applicable.

31
17.4.1 Winding Number
Assume F (s) = s − c and consider the closed curve Cs = c + exp(iθ) where θ ∈ [0, 2π].

• If c is contained inside the closed curve Cs , as s moves clockwise, the image F (s) will encircle the origin
once in the clockwise direction
• If c is contained outside the closed curve Cs , as s moves clockwise, the image F (s) will not encircle the
origin
1
Let F (s) = s−p and consider the closed curve Cs = p + exp(iθ) where θ ∈ [0, 2π].

• If p is contained inside the closed curve Cs , as p moves clockwise, the image F (s) will encircle the origin
once in the counterclockwise direction

• If p is contained outside the closed curve Cs , as p moves clockwise, the image F (s) will not encircle the
origin
Theorem 17.1. If f is a meromorphic function inside some closed contour C and has no zeros or poles on
C, then I
1 f (s)
winding number of f around origin = ds = N − P
2πi f 0 (s)
where N, P are the number of zeros and poles of f inside the contour respectively.

How to use this theorem for understanding stability? The idea is to use the Cauchy’s Principle of
Argument to f (s) = 1 + Gp (s)C(s). The winding number of f (s) around the origin is the same as the
winding number of f (s) − 1 around (−1, 0). To use this theorem for stability analysis, we need to first the
contour.

17.4.2 Nyquist Contour


Imagine a semicircle or radius r passing through the imaginary axis and lying to its right. The Nyquist
contour is this semicircle in the limit r → ∞.
If f (s) = 1 + Gp (s)C(s) is strictly proper, then

lim f (s) = 1
|s|→∞

Therefore, the curved portion of the contour maps to (0, 0) in the Nyquist plot of f (s) − 1 (alternately,
it maps to (1, 0) in the Nyquist plot of f (s)).

• For open-loop stable systems P = 0 the closed loop system is stable if and only if there are no
encirclements of the critical point (−1, 0)
• For open-loop unstable systems the closed loop system is stable if and only if there are P encirclements
of the critical point (−1, 0) in the counterclockwise direction

Using the Nyquist plot it is also possible to find out the Gain and Phase margins. Even though the gain
and phase margins provide robustness to model errors, a better indicator is the sensitivity peak. This is
defined as the distance between (−1, 0) and the closest point on the Nyquist curve. It can be shown that the
distance between (−1, 0) and any point in the Nyquist curve is given by 1/|S(jω)|, where S is the sensitivity
function (defined in the next section). The shortest such distance is therefore equal to the reciprocal of the
sensitivity peak. Hence, a large sensitivity peak implies that the closed loop is at the brink of instability.

32
18 Internal Stability
GC
In the feedback control loop, we have only looked at the relation between ysp and y, i.e., y = 1+GC ysp .
However, there are many other transfer functions relating the various signals in the feedback loop. Let
G = B/A, C = P/L.
1 A(s)L(s)
1. Sensitivity : Transfer Function between output distrubance to output S(s) = 1+G(s)C(s) = A(s)L(s)+B(s)P (s)

G(s)C(s)
2. Complementary Sensitivity: : Transfer Function between reference to output T (s) = 1+G(s)C(s) =
B(s)P (s)
A(s)L(s)+B(s)P (s)

G(s) B(s)L(s)
3. Input Sensitivity: Transfer Function between inpu distrubance to output Si (s) = 1+G(s)C(s) = A(s)L(s)+B(s)P (s)
Input Disturbance
C(s)
4. Control Sensitivity : Transfer Function between output disturbance to control output Su (s) = 1+G(s)C(s) =
A(s)P (s)
A(s)L(s)+B(s)P (s) Control
A closed loop system is said to be internally stable if all the four sensitivity functions given above are
stable. Consider the following example,
3 s−4
G(s) = , C(s) =
(s + 4)(s − 4) s
It is clear that the complimentary sensitivity is stable. However, the system is not internally stable. This is
because the input sensitivity is unstable.

19 Classic PID tuning


19.1 Ziegler-Nichols Tuning Method
The ZN method is an empirical method for tuning PID controllers. The controller is designed for systems
Kp
of the form Gp (s) = τp s+1 exp(−τd s).
The ZN method consists of the following two steps,
1. Use a step change in the set point and set the plant under proportional control with a very small gain
2. Increase the gain until the closed loop starts oscillating.
Once the output starts oscillating, note down the following,
• K is the control gain when loop starts oscillating
• P is the oscillation period of the controller output
The Ziegler-Nichols technique aims to achieve an under-damped response to a step for plants which can
be satisfactorily modelled using
Kp e−sτd
Gp (s) =
τp s + 1
The controller transfer of the ZN method is given by
 
1 Td s
G(s) = Kc 1 + +
τI s τD s + 1
where the parameters are obtained from the table above.
Gp (s)K 1
Consider the closed loop response to a step input with a proportional controller, y(s) = 1+G p (s)K s
.
When does y(s) have an oscillatory behaviour? This will happen if at least one root is on the imaginary
axis. Therefore, we need ω which satisfies 1 + Gp (jω) = 0. However, this is exactly the cross-over frequency
that was already introduced.

33
Kc τI Td
P 0.5K
P
PI 0.45K 1.2
P
PID 0.6K 0.5P 8

Kc τI Td
τp τd
P K p τd (1 + 3τ p
)
τp τd τd (30τp +3τd )
PI Kp τd (0.9 + 12τp ) 9τp +20τd
τp 4 τd τd (32τp +6τd ) 4τp τd
PID Kp τd ( 3 + 4τp ) 13τp +8τd 11τp +2τd

19.1.1 ZN - Example
1
Gp (s) =
(s + 1)3

• Using a Bode plot find out ωco , Kc


• Use the tuning rules to find out PID parameters

Matlab :  [gm, pm, wgm, wpm] = margin(sys) wgm is the cross-over frequency ωco .
Alternately, solve arg(Gp (jω)) = −180o and then solve for Kc |Gp (jωco )| = 1. We get Pc = ω2πco
and
Kc = 8. Use the tuning rules with τD = 0.1 ∗ Td (Note: the smaller τD the larger the frequency range over
which approximation is better)

19.2 Cohen-Coon Method


p K
When the ZN method was applied to systems of the form Gp (s) = τp s+1 exp(−τd s), it was observed that
τd
the closed-loop response was very sensitive to the ratio τp . Cohen and Coon tried to find controller settings
which lead to a weaker dependence on this ratio.
The Cohen-Coon method relies on the process reaction curve. The process reaction curve is an identi-
fication method, i.e., using the plant input/output data, the model of the the plant is first obtained. This
Kp
method works if the response is in the form Gp (s) = τp s+1 exp(−τd s). The PRC method consists of the
following steps.
• With the plant in open loop, take the plant to a steady state

• At an initial time t0 apply a step change to the plant input from u0 to uf


• Record the plant output until it reaches new steady state
The parameters of an approximate FOPTD system are:
yf − yo
Kp = , τd = t1 − to , τp = t2 − t1
uf − uo
Kp e−sτd
Gp (s) =
τp s + 1
Using the parameters of the identified system, the Cohen-Coon settings can be applied as mentioned in the
table.

34
19.2.1 Loop Interactions for MIMO systems
Let y1 , u1 , y2 , u2 be respectively, the mole fraction of ethanol in D, the reflux flow L, the bottom plate
temperature, reboiler steam flow. The bottom plate temperature is a measure of the composition. The
objective is to use the reflux flow and reboiler steam flow to control the product purities in the distillate and
bottoms. The dynamic model relating these variables is,
    
y1 (s) G11 (s) G12 (s) U1 (s)
=
y2 (s) G21 (s) G22 (s) U2 (s)

0.66e−2.6s
G11 (s) =
6.7s + 1
−0.0049e−s
G12 (s) =
9.06s + 1
−34.7e−9.2s
G21 (s) =
8.15s + 1
0.87(11.6s + 1)e−s
G22 (s) =
(3.89s + 1)(18.8s + 1)
A change in input u1 affects not just y1 but also y2 . Hence, it is more difficult to design the controllers.

20 Relative Gain Array


In the Distillation Example, it is clear that both the outputs depend on both the inputs. The RGA technique
is a simple technique by which we can pair inputs with outputs. For example the pairings could be 1) u1 , y1
and u2 , y2 2) u1 , y2 and u2 , y1 .
Consider the two input, two output system given by

ȳ1 (s) = G11 (s)ū1 (s) + G12 (s)ū2 (s)


ȳ2 (s) = G21 (s)ū1 (s) + G22 (s)ū2 (s)

1. Assume that the input u2 remains constant and introduce a step change in the input u1 . Therefore,
ȳ1 (s) = G11 (s) 1s . The ratio of the steady
  state change in y1 to that of u1 is equal to G11 (0) using final
∆y1
value theorem. We denote this as ∆u1 = G11 (0).
u2

2. Now, suppose
 u2 is used to control y2 perfectly, i.e., ȳ2 (s) = 0. Then, y¯1 (s) = G11 (s)ū1 (s) +
−G21 (s)
G12 (s) G22 (s) ū1 (s). Now, introduce a step change in the input u1 and note the ratio of steady
   
state change in y1 to that of u1 as done previously. ∆u ∆y1
1
= G11 (0) − G12 (0) −G 21 (0)
G22 (0)
y2
         
∆y2 ∆y2 −G12 (0) ∆y1 ∆y1
3. Similarly, ∆u2 = G22 (0), ∆u 2
= G 22 (0) − G 21 (0) G11 (0) , ∆u 2
= G 12 (0), ∆u 2
=
u1    y1   u1  y2
G12 (0) − G11 (0) −G 22 (0)
G21 (0) ,
∆y2
∆u1 = G21 (0), ∆u∆y2
1
= G21 (0) − G22 (0) −G 11 (0)
G12 (0)
u2 y2
               
∆y1 ∆y1 ∆y1 ∆y1 ∆y2 ∆y2 ∆y2 ∆y2
Let λ11 = ∆u1 / ∆u1 , λ12 = ∆u2 / ∆u2 , λ21 = ∆u1 / ∆u1 , λ22 = ∆u2 / ∆u2
u2 y2 u1 y2 u2 y1 u1 y1
The relative gain array is defined as  
λ11 λ12
λ21 λ21
1. If λ11 = 0 then the input u1 does not affect the output y1 and hence this pairing should not be used.

35
2. If λ12 = 0 then the input u2 does not affect the output y1 and hence this pairing should not be used.
3. If 0 < λ12 < 1 then there exists an interaction between the the outputs and the inputs. A small value
of λ11 suggests that the input u1 does not affect y1 significantly.
4. If λ11 < 0, there is a negative dependence between u1 and y1 . This pairing should not be used.

21 Control Design by Pole Placement


Theorem 21.1. Sylvesters Theorem : Consider the polynomials A(s) = an sn + an−1 sn−1 + · · · + a0 , B(s) =
bn sn + bn−1 sn−1 + · · · + b0 . Let

0 ··· 0 ···

an 0 bn 0
an−1 an · · · 0 bn−1 bn · · · 0 
 .. .. . . .. .. .. . . .. 
 
 .
 . . . . . . . 

Φ =  a0
 a1 · · · an b0 b1 · · · bn  
 0
 a0 · · · an−1 0 b0 · · · bn−1  
 . .. . . .. .. .. . . .. 
 .. . . . . . . . 
0 0 ··· a0 0 0 ··· b0
Then, A, B are relatively prime if and only if Φ is non-singular.
Proof. Assume that A, B are not relatively prime. Then, there is a common root to A and B, let it be r.
Then, A(s) = (s − r)(a0n−1 sn−1 + a0n−2 sn−2 + · · · + a00 ), B(s) = (s − r)(b0n−1 sn−1 + b0n−2 sn−2 + · · · + b00 ). This
gives, A(s)(b0n−1 sn−1 +b0n−2 sn−2 +· · ·+b00 )−B(s)(a0n−1 sn−1 +a0n−2 sn−2 +· · ·+a00 ) = 0. After collecting terms,
we get a linear system of equations Φθ = 0 where θ = (a0n−1 , a0n−2 , · · · , a00 , b0n−1 , b0n−2 , · · · , b00 ). If atleast one
component of θ is non-zero, we get that Φ is singular. The other direction can be proved similarly.
The above result is used to design controllers based on pole placement. Let C(s) = L(s)/P (s), G(s) =
B(s)/A(s),
P (s) = pnp snp + pnp−1 snp −1 + · · · + p0
L(s) = lnl snl + lnl−1 snl −1 + · · · + l0
B(s) = bn−1 sn−1 + bn−2 sn−2 + · · · + b0
A(s) = an sn + an−1 sn−1 + · · · + b0
D(s) = dnd snd + dnd−1 snd −1 + · · · + d0
Lemma 21.1. If A(s), B(s) are relatively prime and nd = 2n − 1, then there exist polynomials P (s) and
L(s) with degrees np = nl = n − 1 such that
A(s)L(s) + B(s)P (s) = D(s)
Proof. After collecting terms, we get Φθ = y where θ = (ln−1 , ln−2 , · · · , l0 , pn−1 , pn−2 , · · · , p0 )0 , y =
(d2n−1 , d2n−2 , · · · , d0 )0 and

··· ···

an 0 0 0 0 0
an−1 an ··· 0 bn−1 bn ··· 0 
 .. .. .. .. .. ..
 
.. .. 
 .
 . . . . . . . 

 a0
Φ= a1 ··· an b0 b1 ··· 0 
 0
 a0 ··· an−1 0 b0 ··· bn−1 

 . .. .. .. .. .. .. .. 
 .. . . . . . . . 
0 0 ··· a0 0 0 ··· b0

36
Since Φ is non-singular when A, B are relatively prime, we have a solution to the above linear system.
2 3(s+41)
Example : For G(s) = (s+1)(s+2) and D(s) = (s2 + 5s + 16)(s + 40) the solution is C(s) = 49s+517 . Is
this a PID controller?

21.1 Smith Predictor


In this control structure the delay is cancelled by using the model so that the delay is taken out of the
feedback loop.

21.2 Discrete Fourier Transform


Firstly, note that if U (s) is the Laplace Transform of U , then by subsituting s = jω, we obtain the Fourier
transform of U with the assumption that u = 0 for t < 0. Therefore, |U (jω)| measures the frequency content
of u, i.e., a higher value of |U (jω)| implies that that the frequency ω is significant in u(t).
Given a sampled version of the signal u(t), how do we find the frequency content of the signal. We do
this using the Discrete Fourier Transform. Define the Discrete Fourier Transform of the signal u sampled
with a spacing of ∆ as
N
1 X
UN (ω) = √ u[k] exp(−iωk∆)
N k=1
where ω = 2πk
N ∆ , k1 = 1, 2, · · · N . Then, u[k] can be obtained from the UN (ω) using the following inverse
1

transform:
N    
1 X 2πk1 2πk1
u[k] = √ UN exp i k∆
N k1 =1 N∆ N∆

From the inverse transform, we see that the input is a linear combination of the exponentials ek1 [k] =
exp i 2πk

N
1
k , k 1 = 1, 2, · · · , N . The weight of each of the exponentials is given by UN (ω).

22 Fundamental Limitations in Feedback Control


Let G(s) be a transfer function and ωc be the frequency for which G(|jωc |) = G|j0| √ . The bandwidth is
2
also defined to be equal to ωc . The Bandwidth of the system is roughly the band of frequencies which pass
through the system unattenuated. If a closed-loop system has a high bandwidth then it can track a fast
varying reference signal better. Othwerise, the fast varying signal would be attenuated. However, designing
a controller so that the closed-loop has a high bandwidth results in other issues. These issues crop up due
to the nature of i) sensors ii) actuators, iii) disturbances and iv) model plant mismatches.

Figure 10: Feedback Schematic

37
22.1 Sensors
1. Y (s) = −D1+C(s)G(s)
m (s)C(s)G(s)
= −T (s)Dm (s). |T (jω)| should be small for high frequencies where |Dm (jω)|
is usually high.
2. Therefore, an upper limit on the closed loop bandwitdth is required

22.2 Actuators
T (s)
1. Su (s) = G(s) , if the closed loop bandwidth is much greater than the model G(s), then Su (jω) will be
high for higher frequencies
2. U (s) = Su (s)(R(s) − Do (s)). Therefore, if the output disturbance or the reference has high frequency
components, the controller ouput will have large amplitude oscillations at these high frequencies.
3. Therefore to avoid, actuator saturation, the closed loop bandwidth needs to be limited.

Actuator Example
10 100
• Go (s) = (s+10)∗(s+1) , To (s) = s2 +12s+100

• From Bode plots it can be seen that the plant and closed loop bandwidhts are approximately 1 : 10

• Assume that R(s) = 0 and Do (s) = 1/s. Then lims→∞ sU (S) = − lims→∞ Su (s) = −10 and
lims→0 sU (S) = lims→0 Su (s) = −1. Therefore, we see that there is a large initial control action.
Hence, it can be expected ratio of initial to final control action will be equal to the ratio of the
bandwidhts.
• In the presence of high frequencies in R(s) or D0 (s), there will be sustained high amplitude oscillations
for sinusoidal changes.

22.3 Disturbances
We consider the case where the disturbances only contain slowly varying fluctuations. For example, in a
disitillation column the feed concentration may contain low frequency oscillations depending on the upstream
processes.
1. Y (s) = Si (s)Di (s)+S(s)Do (s), therefore, we need S(jω) ≈ 0 in the low frequency region where Do (jω)
is high which implies that T (jω) ≈ 1 in this band
2. Therefore, we need the closed loop bandwidth to be lower bounded, in contrast to the previous cases.

22.4 Model-Plant Mismatch



Let G (s) be the true plant and G(s) be the model. The additive modelling error is defined as G (s) =

G∗ (s) − G(s) and the multiplicative error is defined as G∆ (s) = G (s)−G(s)
G(s) . The error sensitivity is defined

as S∆ (s) = SS = 1+T (s)G
1
∆ (s)
. For robustness to modelling errors, we require that S∆ ≈ 1. Hence T G∆ = 0
which implies that T has to be small where G∆ is large. Since modelling errors are typically more significant
for higher frequencies, an upper limit on the closed-loop bandwidth is required.

38
22.5 Delays
When there is a delay in the system, any disturbance takes at least that much time to pass through the
feedback loop. For example if do is the output disturbance, then for t < τ , y(t) = do . The disturbance
can only be cancelled after this delay. Therefore, the prefect sensitivity is 1 − exp(−sτ ). However, for this
sensitivity we have T (s) = exp(−sτ ). Since, |T (jω)| = 1 for all ω. In the presence of modelling errors and
other issues discussed large bandwidhts should be avoided. Hence, there is a trade-off between cancelling
the delay in the fastest manner and robustness, performance issues.

22.6 Effect of Zeros on Dynamics


Lemma 22.1. Let z = c with Re(z) > 0 be a nonminimum phase zero. If the unit step response 1 − δ ≤
|y(t)| ≤ 1 + δ, ∀t > ts . Then, y(t) exhibits undershoot Mu which satisfies

1−δ
Mu ≥
ects − 1
Proof. Since, the unit step response stabilizes, it is clear that the region of convergence of y(s) is Re(s) > 0.
Let v(t) = 1 − y(t), so that V (s) = (1 − H(s)) 1s .
Z ∞
1 − H(c) 1
V (c) = = = v(t)e−ct
c c 0
Z ts Z ∞
1
v(t)e−ct dt + |v(t)|e−ct dt ≥
0 ts c
Vmax = 1 + Mu > 0
ts Z ∞
1 − e−cts e−cts
Z
1 −ct
≤ Vmax e dt + δe−ct dt = Vmax +δ
c 0 ts c c
1
If cts  1 then Mu > cts . There is a trade off between, speed of response and the undershoot. Example
s2 −3s+2
G(s) = (s+1)4 .

Lemma 22.2. Let z = c with Re(z) < 0 be a LHP zero. Assume that the dominant pole is −p, p > 0,
η := |c/p|  1, |v(t)| = |1 − y(t)| < Ke−pt ∀t ≥ ts , then
 
1 Kη
Mo ≥ −cts 1−
e −1 1−η

Proof. V (s) = (1 − H(s)) 1s , the region of convergence is Re(s) > −p.


Z ∞
1 − H(c) 1
V (c) = = = v(t)e−ct
c c 0

Vmin = −Mo
Z ts Z ∞
1
≥ (−Mo )e−ct dt − K e−(p+c)t dt
c 0 ts
Z ts Z ∞
1
− ≤ (Mo )e−ct dt + K e−(p+c)t dt
c 0 ts

Lemma 22.3. Assume all closed loop poles are to left of −α, α > 0, controller has atleast one pole at origin,
then for uncancelled plant zero z0 or plant pole η0 to the right of −α, we have

39
1. For positive unit reference or negative output disturbance step
Z ∞
1
e(t)e−z0 t dt =
0 z 0
Z ∞
e(t)e−η0 t dt = 0
0

2. For positive unit step reference and z0 in RHP,


Z ∞
y(t)e−z0 t dt = 0
0

3. For negative unit step input disturbance,


Z ∞
e(t)e−z0 t dt = 0
0
Z ∞
L(η0 )
e(t)e−η0 t dt =
0 η0 P (η0 )

Proof. Since, the region of convergence of T (s) is Re(s) > −α and Re(z0 ) > −α, we see that e(t)e−z0 t de-
creases down to zero even though e−z0 t can increase exponentially. Now, as E(s) = S(s)(R(s)−D(s)), R(s) =
1 1 1
s or Do (s) = s , S(z0 ) = 1, S(η0 ) = 0. Similarly, since Y (s) = T (s)R(s), R(s) = s and the ROC of Y (s) is
1 L(η0 )
Re(s) > 0. Finally, E(s) = −Si (s)Di (s), −Di (s) = s , Si (z0 ) = 0, Si (η0 ) = P (η0 ) .

Important observations regarding closed loop behaviour can be made from the previous result. From the
first relation we see that if z0 < 0 or η0 > −α then y(t) has an overshoot as e(t) is initially positive. From
the second equation, we note that if z0 > 0, then y(t) have an undershoot. From the last relations, it can be
seen that input disturbances will lead to an overshoot if z0 > −α.
If the controller is designed properly, for a unit step reference, y(t) will eventually reach unity. The speed
depends on the magintude of the dominant pole. If this magnitude is very large then y(t) reaches unity very
quickly. The response will reach the steady state value roughly in time 1/p, where −p with p > 0 is the
dominant pole. To see this, consider the step response of a first order system, y(t) = K(1 − exp−t/τ ). It is
clear that y(t) reaches 63% of its steady state value by time t = τ (note that the pole here is −1/τ ).
As discussed above y(t) reaches close to its steady state value (i.e., unity) Rin time 1/p. Similarly, e−z0 t

reaches zero in time approximately equal to 1/z0 . Now, consider the relation 0 y(t)e−z0 t dt = 0. For this
to be true withouth large undershoots, it is necessary that 1/p > 1/z0 , i.e., p < z0 . Since this relation is true
for every RHP zero, it can be inferred that if the magnitude of the dominant pole is less than the smallest
RHP zero then the undershoot will be small. Therefore, the magnitude of the dominant pole should be less
than the smallest RHP zero.
R ∞ Let −p where p > 0 be the dominant pole and η0 > 0 be an unstable pole. Since, e(t) is initially positive,
0
e(t)e−η0 t dt = 0 implies that the error has a rapid sign change in the beginning of the transient or has a
large negative value later on for a sustained period of time. Using the same argumentation as above, e(t)
becomes zero in time approximately equal to 1/p. Similarly, e−η0 t becomes zero in time approximately equal
to 1/η0 . If 1/η0 < 1/p then the fluctuations of the error will be larger (within the time span 1/η0 ). Therefore,
it is desired that η0 < p, i.e., the magnitude of the dominant pole is greater than the largest unstable pole.
Based on the reasoning above, better performance can be achieved if magnitude of the dominant closed
loop pole is less than the smallest RHP zero and greater than the largest unstable pole. Hence, it can be
seen that if the smallest RHP zero is less than the largest unstable pole, then the performance of the closed
loop might be bad.

40
22.7 Bode’s Integral Theorem
Theorem 22.1. Bode’s Theorem Let G(s)C(s) = e−sτ H(s), τ ≥ 0, k := lims→∞ sH(s). Assuming the
closed loop is stable, H(s) is proper and has no poles in the open RHP. Then,
Z ∞ (
0 τ >0
ln |S(jω)|dω = π
0 −k 2 τ =0

A proof is based on using the Cauchy’s Integral Theorem on a contour that encloses RHP and bounding
terms on the part of contour at infinity. The main point is that the result is applicable independent of the
1 1
contoller used. Examples: Take G(s)C(s) = s(s+4) , GC = s+4 , S = 1/(1 + GC). Use bode command to get
the magnitude data and compute the integral using trapz.

41

Das könnte Ihnen auch gefallen