Você está na página 1de 6

Shift Operators

Lecture 7: Input-Output Models

Operators on time series

[IFAC PB pg 24-33]

Assume h = 1 (the sampling-time convention)


Time series are doubly infinite sequences:
Shift operators

f ( k) : k = . . . 1, 0, 1, . . .

Pulse transfer operator


Z-transform

Forward shift operator:

Pulse transfer function

denoted q

Poles and zeros

q f ( k) = f ( k + 1)

Transformations between system representations

qn f ( k) = f ( k + n)

1
2

Shift Operators

Pulse Transfer Operator


Rewrite the state-space model using the forward shift operator:

Backward shift operator:

x( k + 1) = qx( k) = x( k) + u( k)

denoted q1

y( k) = Cx( k) + Du( k)

q1 f ( k) = f ( k 1)

qn f ( k) = f ( k n)

Eliminate x( k):
x( k) = ( qI )1 u( k)

y( k) = Cx( k) + Du( k) = C( qI )1 u( k) + Du( k)




= C( qI )1 + D u( k) = H ( q)u( k)

H ( q) is the pulse transfer operator of the system

Describes how the input and output are related.

Poles and Zeros

Disk Drive Example

The pulse transfer function can be written as a rational function


H ( q) =

Recall the double integrator from the previous lecture:

B ( q)
A( q)


0
dx
=
dt
0

x+

y = [1

deg A = n = the number of states


deg B = nb n

0] x

 
0
u
1

Sample with h = 1:

A( q) is the characteristic polynomial of , i.e.

= eAh =

A( q) = det( qI )

The poles of the system are given by A( q) = 0

As

e B ds =

0.5
1

The zeros of the system are given by B ( q) = 0


5

Disk Drive Example cont.

From Pulse Transfer Operator to Difference


Equation

Pulse transfer operator:


H ( q) = C( qI )1 + D

= [1 0]

q1

1
q1

 1 

0.5
1

[1 0]
=
( q 1)2

q1
0

1
q1



0.5
1

y( k) = H ( q)u( k)

A( q) y( k) = B ( q)u( k)

( qn + a1 qn1 + + an ) y( k) = (b0 qnb + + bnb )u( k)

0.5( q + 1)
=
( q 1)2

which means
y( k + n) + a1 y( k + n 1) + + an y( k)

Two poles in 1 and one zero in 1.

= b0 u( k + nb) + + bnb u( k)

This form is also known as the input-output form

Input-Output Form with Backward Shift

The reciprocal polynomial


A ( q) = 1 + a1 q + + an qn = qn A( q1 )

y( k + n) + a1 y( k + n 1) + + an y( k)

is obtained from the polynomial A by reversing the order of the


coefficients.

= b0 u( k + nb) + + bnb u( k)

can be written as
y( k) + a1 y( k 1) + + an y( k n)

Now the system can instead be written as

= b0 u( k d) + + bnb u( k d nb)

A ( q1 ) y( k) = B ( q1 )u( k d)

where d = n nb is the pole excess of the system (the number


of pure time delays in the system)

10

Input-Output Example

Input-Output Example, continued

Using forward shift

Using backward shift

y( k + 2) + 2y( k + 1) + 3y( k) = 2u( k + 1) + u( k)

y( k) + 2y( k 1) + 3y( k 2) = 2u( k 1) + u( k 2)

can be written (d = 1)

can be written

(1 + 2q1 + 3q2 ) y( k) = (2 + q1 )u( k 1)

( q + 2q + 3) y( k) = (2q + 1)u( k)

Hence,

Hence,
A ( q1 ) = 1 + 2q1 + 3q2

A( q) = q + 2q + 3

B ( q1 ) = 2 + q1

B ( q) = 2q + 1

11

12

Z-transform

Example Discrete-Time Step Signal


Let y( k) = 1 for k 0. Then

The discrete-time counterpart to the Laplace transform


Defined on semi-infinite time series f ( k) : k = 0, 1, . . .
Z { f ( k)} = F ( z) =

X
k=0

Y ( z) = 1 + z1 + z2 + =

f ( k) z k

z
z1

Application of the following result for power series

z is a complex variable

k=0

xk =

1
for p xp < 1
1x

13

14

Example Discrete-Time Ramp Signal


Let y( k) = k for k 0. Then
Y ( z) = 0 + z1 + 2z2 + 3z3 =

Z-transform Table

z
( z 1)2

Application of the following result for power series

X
k=0

x
kx k =
for p xp < 1
(1 x )2

f ( k)

Z f ( k)

( k) (pulse)

(step)

(ramp)

ak

z
z1
z
( z 1)2
z
z a

15

Some Properties of the Z-transform

From State Space to Pulse Transfer Function

Z ( qn f ) = zn F ( z)
Z ( q f ) = z( F ( z) f (0))

k
X

Z ( f ) = Z

j =0

f ( j )( k j )

16

= (Z f ) (Z )

x( k + 1) = x( k) + u( k)

z( X ( z) x(0)) = X ( z) + U ( z)

y( k) = Cx( k) + Du( k)

Y ( z) = C X ( z) + DU ( z)

Y ( z) = C( zI )1 z x(0) + [ C( zI )1 + D ] U ( z)

The rational function H ( z) = C( zI )1 + D is called the


pulse transfer function from u to y.
It is the Z-transform of the pulse response.
17

18

H ( q) vs H ( z)

Calculating System Response Using the


Z-transform

The pulse transfer operator H ( q) and the pulse transfer


function H ( z) are the same rational functions

1. Find the pulse transfer function H ( z) = C( zI )1 + D

They have the same poles and zeros

2. Compute the Z-transform of the input: U ( z) = Z {u( k)}

H ( q) is used in the time domain ( q = shift operator)

3. Compute the Z-transform of the output:


Y ( z) = C( zI )1 z x(0) + H ( z) U ( z)

H ( z) is used in the Z-domain ( z = complex variable)

4. Apply the inverse Z-transform (table) to find the output:


y( k) = Z 1 { Y ( z)}

19

20

Frequency Response in Continuous Time

Frequency Response in Discrete Time

0.1
0
0

10

0.5

0.5

15

0.5

0.5

1
0

10

20

30

40

10

20

30

40

1
0

10

15

Given a stable system G (s), the input u(t) = sin t will, after a
transient, give the output


y(t) = p G (i )p sin t + arg G (i )

The amplitude and phase shift for different frequencies are


given by the value of G (s) along the imaginary axes, i.e.
G (i )

Plotted in Bode and Nyquist diagrams.

Given a stable system H ( z), the input u( k) = sin( k) will,


after a transient, give the output


y( k) = p H ( ei )p sin k + arg H ( ei )

G (s) and the imaginary axis are replaced by H ( z) and the


unit circle.
Only describes what happens at the sampling instants
The inter-sample behavior is not studied in this course

21

Bode diagram for continuous transfer function 1/(s2 +1.4s+1) (solid)


and for ZOH-sampled counterpart (dashed, plotted for h [0, ])

22

Nyquist diagram for cont. transfer function 1/(s2 + 1.4s + 1) (solid)


and for ZOH-sampled counterpart (dashed, plotted for h [0, ])
Nyquist Diagram

Bode Diagram
1

10

0.5

10

Imaginary Axis

Magnitude (abs)

10

10

Phase (deg)

0
45
90

0.5

135
180
225
1
10

10
Frequency (rad/sec)

1
1

10

For slow signals, the hold circuit is approximately a h/2 delay.


For fast signals, the hold circuit destroys the sinusoidal shape.

23

0.5

0
Real Axis

0.5

24

Transformation of Poles: zi = esi h

Interpretation of Poles and Zeros

Poles:

A pole z = a is associated with the time function f ( k) = a k


N

Zeros:
A zero z = a implies that the transmission of the input
u( k) = a k is blocked by the system

Related to how inputs and outputs are coupled to the


states
1

0.8

0.5

0.6
0

0.4

0.5

0.2
0

1
0

10

20

30

40

10

25

New Evidence of the Alias Problem

26

Sampling of a Second Order System

Several points in the s-plane is mapped into the same point in


the z-plane. The map is not bijective

G ( s) =

02
s2 + 2 0 s + 02

3 / h

Im

p2 x

/h

p1 x

px

Re

S0

p1 x

/h

p2 x

3 / h

Larger 0 [ faster system response

27

Sampling of a Second Order System

Smaller [ better damping (relative damping = cos ).


(Common choice: = cos 45 = 0.7)

28

Transformation of Zeros

The poles of the sampled system are given by

More complicated than for poles

z2 + a1 z + a2 = 0

Extra zeros may appear in the sampled system


For short sampling periods

where
a1 = 2e 0 h cos
2 0 h

a2 = e

p

Imaginary axis

1 2 0h

zi ( esi h

= 0
= 0.2
= 0.4

0.5

= 0.6
= 0.8

= 1.0

29

0.5

0
Real axis

0.5

30

Calculation of H ( z) Given G (s)

3. Use Table 2 (pg 28) in IFAC PB


With care: The table gives the pulse transfer function
for the ZOH-sampled transfer function G (s). It does
not give you the Z-transform for the signal with the
Laplcace transform G (s).

Three approaches:
1. Make state realization of G (s). Sample to get and .
Then H ( z) = C( zI )1 + D .

2. Directly using the formula

G ( s)
+i

H zoh ( z) =

1
s2

sh

G ( s)
z1 1
e
ds
z 2 i i z esh s


X
1
esh 1
=
G ( s)
Res
sh
z

e
s
s=s

(1)

H ( z)

h2 ( z + 1)
2( z 1)2

For example, the Laplace transform of a ramp is 1/s2 . However, the Ztransform of a ramp is not

h2 ( z + 1)
2( z 1)2

si are the poles of G (s) and Res denotes the residue.


outside the scope of the course

31

Calculation of H ( z) Given G (s)

Calculation of H ( z) Given G (s)


Example 2. For G (s) = e s /s2 , the previous lecture gave

Example 1. For G (s) = 1/s , the previous lecture gave

1
=

With h = 1, this gives

2
h

=
2

H ( z) = C( zI )1 = 1

= 1

( z 1)1

C = 1

x( kh + h) = x( kh) + 1 u( kh h) + 0 u( kh)


1 h

1 =
=

0 1

With h = 1 and = 0.5, this gives

1
h2

2
z1
h

h2
2
h( z 1)2

= h ( z + 1)

1
2
2( z 1)2
( z 1)
h

z 1

H ( z) = C( zI )1 ( 0 + 1 z1 ) =

Examples in Matlab
Phi = [0.5 -0.2; 0 0];
Gamma = [2; 1];
C = [1 0];
D = 0;
h = 1;
H = ss(Phi, Gamma, C, D, h);
zpk(H)

>>
>>
>>
>>
>>

%
%
s
G
H

>>
>>
>>
>>
>>

% Another way
G = tf([1],[1 3 2 0]);
G = ss(G);
H = c2d(G,h);
tf(H)

( h )2

0 =
2

0.125( z2 + 6z + 1)
z( z2 2z + 1)

Order: 3
Poles: 0, 1, and
1
Zeros: 3 8

33

>>
>>
>>
>>
>>
>>
>>

32

From cont-time transfer function to discrete-time


pulse transfer function
= zpk(s);
= 1/s^3;
= c2d(G,h)

35

34

Você também pode gostar