### con1 - DCC

```An Overview of Control Theory and
Digital Signal Processing
Luca Matone
Columbia Experimental Gravity group (GECo)
LHO Jul 18-22, 2011
LLO Aug 8-12, 2011
LIGO-G1100863
Syllabus (tentative)
Day Topic
Textbooks
1
Control theory: Physical systems, models, linear systems, block
diagrams, differential equations, feedback loops, cruise control
example, MATLAB implementation.
2
Control theory: Laplace transform and its inverse , transfer
functions, partial fraction expansion, first-order and secondorder systems, dynamic response, bode plots, stability criteria,
MATLAB implementation.
3
Control theory: robustness, typical compensators, noise
suppression, one arm cavity lock example, MATLAB
implementation and time-domain simulations with SIMULINK.
4
DSP: Discrete-time signals and systems, impulse response,
system stability, convolution and correlation, differential to
difference equations, the Z transform, the Discrete-time Fourier
Transform (DTFT), the Discrete Fourier Transform (DFT), MATLAB
implementation.
5
DSP: The Fast-Fourier Transform (FFT), power spectral density,
sampling theorem, aliasing, analog-to-digital transformations,
digital filtering, FIR filters, IIR filters, moving average filter, filter
design, ADC and DACs, MATLAB implementation.
LIGO-G1100863
Chau, Pao C. Process Control:
A First Course with MATLAB®.
Cambridge University Press,
2002. ISBN 0-521-00255-9.
Ingle, Vinay K. and John G.
Proakis. Digital Signal
Processing using Matlab®.
Brooks/Cole 2000. ISBN 0534-37174-4.
Smith, Steven W. The Scientist
and Engineer’s Guide to
Digital Signal Processing.
California Technical
Publishing 1999.
http://www.dspguide.com/
Matone: An Overview of Control Theory and Digital Signal Processing (1)
2
Objective
Control System
• Manages and regulates a set
of variables in a system
– SISO – single-input-singleoutput
– MIMO – multiple-inputmultiple-output
• A quantity is measured then
controlled
• Requirements
–
–
–
–
–
LIGO-G1100863
Bandwidth
Rise time
Overshoot
…
Matone: An Overview of Control Theory and Digital Signal Processing (1)
3
Objective
Digital Signal Processing
• Measure and filter an analog signal
• Digital signal
– Created by sampling an analog signal
– Can be stored
• Analog filters
– Cheap, fast and have a large dynamic
range in both amplitude and frequency
• Digital filters
– Can be designed and implemented “onthe-fly”
– Superior level of performance.
• Example: a low pass digital filter can have a
gain of 1 ± 0.0002, a frequency cutoff at
1000 Hz, and a gain of less than 0.0002
for frequencies above 1001 Hz. A
transition of 1 Hz!
LIGO-G1100863
Matone: An Overview of Control Theory and Digital Signal Processing (1)
4
Control Theory 1
• Given a physical system
– Objective: sense and control a variable in the
system
• Examples
– As basic as
• a car’s cruise control (SISO) or
– Not so basic as
• Locking the full LIGO interferometer (MIMO)
LIGO-G1100863
Matone: An Overview of Control Theory and Digital Signal Processing (1)
5
Example: Cruise Control
Direction
of motion
Normal
force (n)
Friction
force (ffr)
• Objective
Force from
engine (f)
– Car needs to maintain
a given speed
• Physical system
includes
Weight
(mg)
– car’s inertia
– friction
Force or free body diagram: allows to
analyze the forces at play
LIGO-G1100863
Matone: An Overview of Control Theory and Digital Signal Processing (1)
6
Physical model
Direction
of motion
Normal
force (n)
Friction
force (ffr)
Weight
(mg)
LIGO-G1100863
• Physical system described
by the following equation
of motion
Force from
=  −  =
engine (f) ∥
• Simplifying and assuming
friction force  is
proportional to speed
=

=
=  −

Matone: An Overview of Control Theory and Digital Signal Processing (1)
7
First-order differential equation
Direction
of motion
• Solving for first-order
differential equation
(assuming  is a constant)
Engine
Friction
force (ffr)
force (f)
Time
constant
= /
LIGO-G1100863
Speed at
regime
= /

=  −

yields the solution
=  1 −  −/
Matone: An Overview of Control Theory and Digital Signal Processing (1)
8
MATLAB implementation
Direction
of motion
Friction
force (ffr)
The linear differential equation describing the
dynamics of the system

=  −

Engine
force (f)
Using MATLAB’s Symbolic Math Toolbox
>> dsolve('m*Dy=f-b*y','y(0)=0')
ans =
(f - f/exp((b*t)/m))/b
LIGO-G1100863
Matone: An Overview of Control Theory and Digital Signal Processing (1)
9
= 1000
= 50
= 500
Results:  =  ∙ 1 −  −/
τ = 63% ∙
cruise_timedomain.m

= = 10

τ = = 20

LIGO-G1100863
Matone: An Overview of Control Theory and Digital Signal Processing (1)
10
Block diagram: representing the
physical system
• To illustrate a cause-and-effect relationship
• A single block represents a physical system
• Blocks are connected by lines
– Lines represent how signals flow in the system
• In general, a physical system G has signal x(t)
as input and signal y(t) as output
• G is the transfer function of the system
x(t)
LIGO-G1100863
G
y(t)
Matone: An Overview of Control Theory and Digital Signal Processing (1)
11
Car’s body
Transfer function G represents the car’s body
– G converts the force from the engine  (input
signal, ) to the car’s actual speed  (output
signal, /)
=∙
with G =
1
(1

– Units:
LIGO-G1100863

−
−
)
f(t)
G
Matone: An Overview of Control Theory and Digital Signal Processing (1)
v(t)
12
Setting the desired speed
• Second transfer function H (the controller)
– Converts the desired speed (or reference)  to a
required force
– Sets the throttle
– For simplicity, H is set to a constant
=  ∙
→  =  ∙  ∙
=∙
–  ∙  must be dimensionless
vr
f
H
G
LIGO-G1100863
Matone: An Overview of Control Theory and Digital Signal Processing (1)
v
13
Plotting results
Generated force
by controller H
Resulting speed v
cruisefeedback_timedomain.m
• With  =  the actual speed
is the reference:  =
• Simulate: setting desired
speed to 25 m/s (55 mph)
Desired speed vr
LIGO-G1100863
Matone: An Overview of Control Theory and Digital Signal Processing (1)
14
Introducing a disturbance – a hill
• In the presence of a hill the
equation of motion needs
to be re-visited
Force from
engine (f) • Assuming a small angle θ

=  −  −  ∙ θ

Direction
of motion
Friction
force (ffr)
LIGO-G1100863
θ
Weight
(mg)
Matone: An Overview of Control Theory and Digital Signal Processing (1)
15
Introducing a disturbance – a hill
Assuming  and  are constants

=  −  −  ∙ θ

Direction
of motion
Force from
engine (f)
=  ∙  −  ∙ θ
Friction
force (ffr)
LIGO-G1100863
ϑ
Weight
(mg)
Matone: An Overview of Control Theory and Digital Signal Processing (1)
16
Modifying the block diagram
=∙
θ
=∙ −∙
K
vr
H
f +
=
G
v
Summation junction
LIGO-G1100863
Matone: An Overview of Control Theory and Digital Signal Processing (1)
17
Modifying the block diagram
=∙
θ
=∙ −∙
K
vr
H
f +
=
G
v
Summation junction
LIGO-G1100863
Matone: An Overview of Control Theory and Digital Signal Processing (1)
18
Plotting results
Setting desired speed to 25
m/s and slope of  = 5°
Resulting speed v
cruisefeedback_timedomain.m
Generated force
by controller H
Desired speed
LIGO-G1100863
Matone: An Overview of Control Theory and Digital Signal Processing (1)
19
Negative Feedback
1. Let’s measure the car’s speed and
2. Correct for it by feeding back into the system
a measure of the actual speed
θ
K
Error signal
vre
+
-
H
f +
G
v
c
Correction signal
LIGO-G1100863
Matone: An Overview of Control Theory and Digital Signal Processing (1)
20
Negative Feedback
1. Let’s measure the car’s speed and
2. Correct for it by feeding back into the system
a measure of the actual speed
θ
Error signal e: the difference
between the desired speed and
K
the measured speed. If null, then
=
f + + e
H
vr
-
G
v
c
LIGO-G1100863
Correction signal c: in this case it is
just a measure of the actual speed
Matone: An Overview of Control Theory and Digital Signal Processing (1)
21
Negative feedback
– Faster response with
feedback (compare blue
against red curves)
– Speed at regime:
23 / (error of
~10%)
LIGO-G1100863
Matone: An Overview of Control Theory and Digital Signal Processing (1)
cruisefeedback_timedomain2.m
• Plot of force vs. time
and speed vs. time with
negative feedback
• Setting  = 103 /
• Result:
22
Negative feedback
• Increasing the
controller’s gain (H)
• Setting  = 104 /
• Result:
– Even faster response
– Speed at regime:
24.8 / (error of
~1%)
LIGO-G1100863
Matone: An Overview of Control Theory and Digital Signal Processing (1)
cruisefeedback_timedomain3.m
– decreases the rise time
– while decreasing the
23
Signal flow and block diagrams
=  −
=  ∙ ( −  ∙ )
=∙
θ
K
vr +
-
e
H
f +
G
v
c
LIGO-G1100863
= Matone: An Overview of Control Theory and Digital Signal Processing (1)
24
=  −
=  −
System’s open
loop gain
(dimensionless)
=  −  ∙  −  ∙
=  −  ∙  ∙  −  ∙
θ
1
∙
=
∙  +
∙
1+∙
1+∙
vr + e
H
-
LIGO-G1100863
K
f +
c
-
Matone: An Overview of Control Theory and Digital Signal Processing (1)
G
v
25
1
∙
=
∙  +
∙
1+∙
1+∙
∙  ≫ 1 (high gain,
closed loop, with feedback)
∙

≈ 0 ∙  +
∙ ≈
∙  ≪ 1(low
∙

gain, open loop, or no
θ Error signal in closed loop: close to
feedback)
zero, proportional to angle
K
≈ 1 ∙  +  ∙  ∙
vr +
-
LIGO-G1100863
e
H
f +
c

The higher the controller’s gain, the
lower e
=
-
G
v
Matone: An Overview of Control Theory and Digital Signal Processing (1)
26
=∙∙−∙∙
=  ∙  ∙ ( − ) −  ∙ G ∙
=  ∙  ∙  −  ∙  ∙  −  ∙  ∙
With no feedback
=  ∙  ∙  −  ∙  ∙
θ
∙
∙
=
∙  − (
)∙
1+∙
1+∙
K
vr +
-
LIGO-G1100863
e
H
f +
c
-
Matone: An Overview of Control Theory and Digital Signal Processing (1)
G
v
27
∙
∙
=
−

1+∙
1+∙
∙  ≪ 1 (low gain,   ∙  ≫ 1 (high gain, closed
loop, with feedback)
open loop or no
∙

feedback)
≈ 1 ∙  −
∙  ≈  −
≈  ∙  ∙  −  ∙  ∙
∙

θ
Actual speed : close to  with an error proportional
to  when in closed loop. The higher the controller’s
gain, the lower the speed error.
vr +
-
LIGO-G1100863
e
H
K
f +
c
-
Matone: An Overview of Control Theory and Digital Signal Processing (1)
G
v
28
=∙
1
∙
=∙(
+
)
1+∙
1+∙
θ

∙∙
=
∙  +
∙
1+∙
1+∙
vr +
-
LIGO-G1100863
e
H
K
f +
c
-
Matone: An Overview of Control Theory and Digital Signal Processing (1)
G
v
29

∙∙
=
∙  +
∙
1+∙
1+∙
∙  ≫ 1 (high gain,
∙  ≪ 1 (low gain,
closed loop, with feedback)
open loop, or no feedback)
1
≈  ∙  +  ∙  ∙  ∙
≈  +  ∙

θ
Force : at regime, it does not
depend on the gain in  while
proportional to angle
vr +
-
LIGO-G1100863
e
K
H
f +
c
-
Matone: An Overview of Control Theory and Digital Signal Processing (1)
G
v
30
Plotting  and  1 +
LIGO-G1100863
Matone: An Overview of Control Theory and Digital Signal Processing (1)
cruisefeedback_timedomain2.m
• Open loop
=  ∙  ∙
• Closed loop
∙
=
∙
1+∙
• Setting  = 103 /
• Plotting the open loop
transfer function vs. time
and the closed loop
transfer function vs. time
• Notice the rapid rise time
for the closed loop case
31
The error signal e
LIGO-G1100863
Matone: An Overview of Control Theory and Digital Signal Processing (1)
cruisefeedback_timedomain2.m
• Plot of error signal e vs
time
• Error signal decreases
to 3 m/s.
state error
32
Open and closed loop TF with
= 104 /
LIGO-G1100863
Matone: An Overview of Control Theory and Digital Signal Processing (1)
33
Error signal e with
= 104 /
LIGO-G1100863
Matone: An Overview of Control Theory and Digital Signal Processing (1)
34
Cruise control example
• First-order differential
equation
• Simplest controller:
simply a gain with no
time constants involved
• How to handle more
complicated problems?
LIGO-G1100863
Matone: An Overview of Control Theory and Digital Signal Processing (1)
35
Block diagram reduction
x
x
y
P2
P1
P1
+
±
x
P1P2
y
x
P1 ±P2
y
x
1
1 ± 1 2
y
P2
x
+
∓
P1
y
y
P2
LIGO-G1100863
Matone: An Overview of Control Theory and Digital Signal Processing (1)
36
Practice
Determine the output C in terms of inputs U and R.
U
R +
-
LIGO-G1100863
1
+
+
2
Matone: An Overview of Control Theory and Digital Signal Processing (1)
C
37
Practice
Determine the output  in terms of inputs
1 , 2 and .
U1
R +
+
1
1
+
+
+
+
2
C
2
U2
LIGO-G1100863
Matone: An Overview of Control Theory and Digital Signal Processing (1)
38
More practice
Determine C/R for the
following systems.
(c)
1
1
LIGO-G1100863
R+
+
+C
+
2
1
+
+
C
1
(b)
2
+
R +
(a)
R+
+
2
1
+
+
C
1
Matone: An Overview of Control Theory and Digital Signal Processing (1)
39
How do we MEASURE the OL TF of
a system when the loop is closed?
1. Add an injection point in a closed loop
system
2. Inject signal  and read signal 1 (just before
the injection) and 2 (right after the
injection)
1

3. Solve for the ratio
2
+
+
1
LIGO-G1100863
Matone: An Overview of Control Theory and Digital Signal Processing (1)
2
40
So far…
• Control theory builds on differential equations
• Block diagrams help visualize the signal flow in a
physical system
• The cause-and-effect relationship between
variables is referred to as a transfer function (TF)
• The system’s open-loop TF is the product of
transfer functions
– cruise control example:  ∙
– Two cases:  ∙  ≪ 1 and  ∙  ≫ 1
• MATLAB implementation
– Functions used: dsolve
LIGO-G1100863
Matone: An Overview of Control Theory and Digital Signal Processing (1)
41
Laplace Transforms
• The technique of Laplace transform (and its
inverse) facilitates the solution of ordinary
differential equations (ODE).
• Transformation from the time-domain to the
frequency-domain.
• Functions are complex, often described in
terms of magnitude and phase
LIGO-G1100863
Matone: An Overview of Control Theory and Digital Signal Processing (1)
42
Linear systems
• To map a model to frequency space
– System must be linear
– Output proportional to input
• Given system P
x
– Input signals: 1 and 2
– Output signals (response): 1 and 2
P
y
• System P is linear
– If input signal:  1 +  2
– Then output signal:  1 +  2
– Superposition principle
LIGO-G1100863
Matone: An Overview of Control Theory and Digital Signal Processing (1)
43
Example
• Is  =

a linear system?
Knowing that 1 =
1

and 2 =
2

If input is 1 1 + 2 2 , output is

1 1 + 2 2 =

1 1 + 2 2 =

1 1 + 2 2
System is linear
LIGO-G1100863
Matone: An Overview of Control Theory and Digital Signal Processing (1)
44
Example
• Is  =  2 a linear system?
Knowing that 1 = 1 2 and2 = 2
If input is 1 1 + 2 2 , output is
1 1 + 2 2
2
2
≠ 1 1 + 2 2
System is not linear
LIGO-G1100863
Matone: An Overview of Control Theory and Digital Signal Processing (1)
45
In general
Output

−1
+ −1 −1 + ⋯ + 0

−1
=   + −1 −1 + ⋯ + 0

Input

=
=0
LIGO-G1100863

=0
Matone: An Overview of Control Theory and Digital Signal Processing (1)
≥
For a stable system
46
Laplace Transform L
• Transforms a linear differential equation into an
algebraic equation
• Tool in solving differential equations
• Laplace transform of function f
= L ()
• Laplace inverse transform of function F
−1
() = L ()
where  =  is the transform variable
Imaginary unit
LIGO-G1100863
2
Matone: An Overview of Control Theory and Digital Signal Processing (1)
47
Time domain ↔ Laplace domain
=

f()

Input
Output
y()
()
LIGO-G1100863
()
F()
Matone: An Overview of Control Theory and Digital Signal Processing (1)
48
Laplace Transform L
∞
() −
= L () =
0
=L
LIGO-G1100863
−1
1
() =
2
+
()
−
Matone: An Overview of Control Theory and Digital Signal Processing (1)
49
(Some) Laplace transform pairs
()
()
Unit step
()
1
Unit ramp

1
sin(0 )
Sinusoid
1/ 1 −  −
SHO
0
−0  ×
1 − 2
× sin( 1 −  2 0 )
LIGO-G1100863
1

Exponential

1

2
−
2 + 0 2
+
0 2
2 + 20  + 0 2
Matone: An Overview of Control Theory and Digital Signal Processing (1)
50
Laplace transform properties
• Linearity
L 1 1  + 2 2
• Derivatives
– First-order: L
()

– Second-order: L
• Integral
= 1 1  + 2 2
= ()
2 ()
2
=  2 ()

1
L
= ()

0
LIGO-G1100863
Matone: An Overview of Control Theory and Digital Signal Processing (1)
51
Solution to ODEs
1. Laplace transform the system’s ODE
2. Solve the algebraic equation in s
3. Inverse transform back to the time domain
LIGO-G1100863
Matone: An Overview of Control Theory and Digital Signal Processing (1)
52
Transfer Function

=
=0

=0

=
=0
()
=
=
()

Using
derivative
property
=0
Algebraic equation

in s, the ratio of 2
=0   polynomials in s

=0
Transfer function   relates input   to output   .53
LIGO-G1100863
Matone: An Overview of Control Theory and Digital Signal Processing (1)
Transfer Function
The roots of the numerator are referred to as zeros.
Transfer function   can
()
be defined by
=
=
• The coefficients of s or
()
• Its poles and zeros

=0

=0
The roots of the denominator are referred to as poles.
54
LIGO-G1100863
Matone: An Overview of Control Theory and Digital Signal Processing (1)
Let’s apply it to the cruise control example:
transfer function  (the car’s body)
Direction
of motion
Engine
force (f)
Friction
force (ffr)
f(t)
F(s)
LIGO-G1100863
G(t)
v(t)
()

= () − ()

=   −  ()

V(s)
=     where
G(s)
1
= at −
Pole
+Signal
/
Matone: An Overview of Control Theory and Digital
Processing (1)
55
Dynamic response: using lookup
tables to inverse transform
Laplace inverse
transform using
lookup tables
1
+
1
1 −  −

LIGO-G1100863
Input: step function, amplitude 0
= 0 ()

= L () = 0
The response (in frequency space) is
1/
0
=  ∙  =
∙
+ /
The time-domain response is
= L−1 () =
1
−1 0
=L
∙
( +  )
Matone: An Overview of Control Theory and Digital Signal Processing (1)
56
Dynamic response: using lookup
tables to inverse transform
Laplace inverse
transform using
lookup tables
1
+
1
1 −  −

LIGO-G1100863
0
1
=L
∙
( +  )
0 −1
1
= ∙L

( +  )
−1

0
−
=
1−

1
Pole  =

Matone: An Overview of Control Theory and Digital Signal Processing (1)
57
First-order system step response
63 %

=
+
firstorder.m
= 5 /,  = 0.2
LIGO-G1100863
Pole p
Matone: An Overview of Control Theory and Digital Signal Processing (1)
58
MATLAB implementation
The step response of transfer function
5
=
+5
>> G=tf(5, [1 5]);
>> step(G);
LIGO-G1100863
Matone: An Overview of Control Theory and Digital Signal Processing (1)
59
Partial fraction expansion
1. Reduce a complex function to a collection of
simpler ones
2. Then use lookup table Order m
()

≤
=
=
()
+
Order n

1

−1
=L
+ ⋯+ L
+ 1
+
= 1  −1  + ⋯ +   −

=
−
=0
−1
LIGO-G1100863
Matone: An Overview of Control Theory and Digital Signal Processing (1)
60
=

+

−
=
=0
1. Poles of F(s) determine the time evolution of
f(t)
2. Zeros of F(s) affect coefficients
3. Poles closer to origin → larger time constants
LIGO-G1100863
Matone: An Overview of Control Theory and Digital Signal Processing (1)
61
Example
Find () of the Laplace transform
6 2 − 12
= 3
+  2 − 4 − 4
Sol: Using MATLAB
>> [R,P,K]=residue([6 0 -12],[1 1 -4 -4])
R =
3.0000
3
1
2
1.0000
=
+
+
+2 −2 +1
2.0000
P =
-2.0000
2.0000
-1.0000
K =
= 3  −2 +  2 + 2  −
[]
LIGO-G1100863
Matone: An Overview of Control Theory and Digital Signal Processing (1)
62
Example: LRC circuit

()

=   +   +
()

1
=  () +  () +

0
11
=  +  +
()

LIGO-G1100863
Matone: An Overview of Control Theory and Digital Signal Processing (1)
63
Example: LRC circuit

()

()
11
() =     +    +
()

=    =

=   2 +    + 1  ()
LIGO-G1100863
Matone: An Overview of Control Theory and Digital Signal Processing (1)
64
Example: LRC circuit

()

()
=   2 +    + 1  ()
L
=    2 +    + 1  ()
LIGO-G1100863
Matone: An Overview of Control Theory and Digital Signal Processing (1)
65
LRC circuit: transfer function

1
=
∙
2
++1
Setting L = 1 H, C = 1 F and R = 1 Ω

LIGO-G1100863
1
= 2
∙
+ +1
Matone: An Overview of Control Theory and Digital Signal Processing (1)
66
LRC circuit: dynamic response to step
Setting the input to a step of amplitude 1 V
1
=

The unit step response is
1
1
1
= 2
∙ = 3
+  + 1   + 2 +
LIGO-G1100863
Matone: An Overview of Control Theory and Digital Signal Processing (1)
67
LRC circuit: dynamic
response to step
1
() = 3
=
2
+ +

+
Using MATLAB for the solution
Coefficient vector for
polynomial at numerator
Coefficient vector for
>> n = [1];
polynomial at denominator
>> d = [1 1 1 0];
>> [α, a, k] = residue(n, d);
= 1  1 + 2  2 + 3  3
LIGO-G1100863
Matone: An Overview of Control Theory and Digital Signal Processing (1)
68
Plotting results of two methods
>> y=α.'*exp(a*t);
>> plot(t, y, 'bo');
>> y2=step(1,[1 1 1],t);
>> plot(t, y2, ‘r.’);
LIGO-G1100863
Matone: An Overview of Control Theory and Digital Signal Processing (1)
69
Second-order system step
response
secondorder.m
Overshoot
LIGO-G1100863
Period of
oscillation
Settling time: time to
settle to ±5% of final
value (determined by
the  − term)
Note: often the
response of a highorder system is
similar to the
second-order one
Matone: An Overview of Control Theory and Digital Signal Processing (1)
70
Verify the following
6 2 − 12
= 3
+  2 − 4 − 4
= 2 − + 3 −2 +  2
6
= 3
+  2 − 4 − 4
= 3 − − 6 −2 + 3 −3
+5
= 2
+ 4 + 13
= 2 − − 3 −2 +  2
LIGO-G1100863
Matone: An Overview of Control Theory and Digital Signal Processing (1)
71
Back to cruise control: system’s
step response
∙
() =
∙  ()
1+∙
1
where   =
and   =
+ /
θ
K
e
+
vr
-
H
f + -
G
v
c
LIGO-G1100863
Matone: An Overview of Control Theory and Digital Signal Processing (1)
72
Step response
∙
1
=
∙ =
1+∙

(
+

)

2 +

−/
=
1−
with τ =
+
+
LIGO-G1100863
Matone: An Overview of Control Theory and Digital Signal Processing (1)
73
Back to cruise control
>>
>>
>>
>>
>>
LIGO-G1100863
n = [k/m];
d = [1 (b+k)/m 0];
[α, a, k] = residue(n, d);
y=α.'*exp(a*t);
plot(t, y, 'bo');
Matone: An Overview of Control Theory and Digital Signal Processing (1)
74
Back to cruise control
>>
>>
>>
>>
>>
LIGO-G1100863
G = tf([1/m],[1 b/m]);
H = k;
CL = G * H / (1 + G * H);
[y, t] = step(CL);
plot(t, y, 'b.');
Matone: An Overview of Control Theory and Digital Signal Processing (1)
75
Transfer function, poles and zeros
• It is convenient to express a transfer function
G(s) in terms of its poles and zeros:
()
=
()
− 1 ∙  − 2 …  −
=∙
− 1 ∙  − 2 …  −
• k is the gain of the transfer function
LIGO-G1100863
Matone: An Overview of Control Theory and Digital Signal Processing (1)
76
Summary of pole characteristics
• Real distinct poles (often negative)

↔
−
• Real poles, repeated m times (often negative)
,1
,2
+
− ,1
− ,2
2
+ ⋯+
,3
− ,3
3
+
,
− ,

↕
1
,
2
,1 + ,2  + ,3  + ⋯ +
−1 ∙
2!
−1 !
LIGO-G1100863
Matone: An Overview of Control Theory and Digital Signal Processing (1)
77
Summary of pole characteristics
• Complex-conjugate poles

∗

∗
+
↔

+

∗
−   −
often re-written as a second-order term
2

↔
~

∙ sin  +
2
2
+ 2  +
• Poles on imaginary axis
∗
– Sinusoid
– Pole at zero: step function
• Poles with a positive real part
– Unstable time-domain solution
LIGO-G1100863
Matone: An Overview of Control Theory and Digital Signal Processing (1)
78
Summary
• The Laplace transform is a tool to facilitate solving for ODEs.
• Systems need to be linear
• No need to do the transform (integral)
– Use transform pairs, transform tables
– Laplace transform properties: linearity, derivatives and integrals.
• Once in the Laplace domain, a TF is simply the ratio of two polynomials
in s. Carry out algebra to solve the problem.
• No need to do the inverse transform
– Use transform pairs, transform tables
– For high-order TFs, use the partial-fraction expansion to reduce the
problem to simpler parts
• IMPORTANT:
– Poles of a transfer function determine the time evolution of the system
– Poles with a real positive part correspond to unstable and unphysical
systems
– The system TF needs to have poles with a negative real part
• MATLAB implementation
– Functions used: step, residue, tf
LIGO-G1100863
Matone: An Overview of Control Theory and Digital Signal Processing (1)
79
Solutions
LIGO-G1100863
Matone: An Overview of Control Theory and Digital Signal Processing (1)
80
Practice
Determine the output C in terms of inputs U and R.
Sol:
2
=
∙ 1  +
1 + 1 2
U
R +
-
LIGO-G1100863
1
+
+
2
Matone: An Overview of Control Theory and Digital Signal Processing (1)
C
81
Practice
Determine the output  in terms of inputs 1 , 2
and .
Sol:
1
=
∙ 1 2  + 2 1 + 1 2 1 2
1 − 1 2 1 2
U
1
R +
+
1
1
LIGO-G1100863
+
+
+
+
U2
2
C
2
Matone: An Overview of Control Theory and Digital Signal Processing (1)
82
More practice
Determine C/R for the following
systems. Sol:
a)

=
1 +2
1−1 1 −2 2
b)

=
1 +2
1−1 1
c)

=
1 +2 1−1 1
1−1 1
1
(b)
2
1
1
LIGO-G1100863
R+
+
2
+
+
C
1
(c)
+
R +
(a)
+C
+
R+
+
2
1
+
+
C
1
Matone: An Overview of Control Theory and Digital Signal Processing (1)
83
How do we MEASURE the OL TF of
a system when the loop is closed?
1. Add an injection point in a closed loop
system
2. Inject signal  and read signal 1 (just before
the injection) and 2 (right after the
injection)
1

3. Solve for the ratio
2
Sol:
LIGO-G1100863
1
2
= −
+
+
1
Matone: An Overview of Control Theory and Digital Signal Processing (1)
2
84
Partial-fraction examples
• Denominator: has distinct, real roots
– Example 2.4, 2.5, 2.6
• Denominator: complex roots
– Example 2.7, 2.8
• Denominator: repeated roots
– Example 2.9
LIGO-G1100863
Matone: An Overview of Control Theory and Digital Signal Processing (1)
85
Practice: verify the following
6
=
( + 1)( + 2)( + 3)
= 3 − − 6 −2 + 3 −3
+5
= 2
+ 4 + 13

−2
= 2
sin(3 + )
4
=
=2
LIGO-G1100863
2
+1 3 +2
2 −
1−+
−  −2
2
Matone: An Overview of Control Theory and Digital Signal Processing (1)
86
```