16.10.2014 Views

CH 4: Open Loop Discrete Time Systems

CH 4: Open Loop Discrete Time Systems

CH 4: Open Loop Discrete Time Systems

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

<strong>CH</strong> 4: <strong>Open</strong> <strong>Loop</strong> <strong>Discrete</strong> <strong>Time</strong> <strong>Systems</strong><br />

covered to this point<br />

• review of continuous systems<br />

• z-transforms<br />

• recovery of sampled data<br />

• discrete systems<br />

this chapter: derive analysis methods for open loop discrete sysems<br />

4.2: Relationshiip between E(z) & E * (s)<br />

• Z{e(k)} = E(z) = ∑ ∞ e ( k )z<br />

k = 0<br />

−k<br />

= e(0) + e(1)z -1 +e(2)z -2 …<br />

−nTs<br />

• L{e * (t) }= E * (s) = ∑ ∞ e(<br />

n ) ε e(0) + e(1)ε -Ts +e(2)ε -2Ts +…<br />

n=<br />

0<br />

• E(z) =<br />

*<br />

E ( s )<br />

ε − Ts<br />

= z<br />

• in this case, z-transform can be considered special case of Laplace transform<br />

• for analyzing discrete systems ! use z-transform instead of *transform<br />

example 4.1<br />

1<br />

E(s) =<br />

(s + 1)(s + 2)<br />

−T<br />

−2T<br />

z( ε − e )<br />

E( z ) =<br />

−T<br />

−2T<br />

( z − ε )( z − ε )<br />

sT −T<br />

−2T<br />

* ε ( ε − e )<br />

E ( s ) =<br />

sT −T<br />

sT −<br />

( ε − ε )( ε − ε<br />

2T<br />

)<br />

• E * (s) has infinite number of poles & zeros in the s-plane<br />

• E(z) has a 1zeroat z=0 and 2 poles at ε -2T and ε -T<br />

• analysis using pole-zero locations greatly simplified using z-transform<br />

determine E(z) =<br />

∑ residues of<br />

at poles of E( λ )<br />

1<br />

E( κ )<br />

−1<br />

1−<br />

z ε<br />

Tλ<br />

- useful for generating z-transform tables<br />

- tables can be applied to *transform<br />

1


4.3 Pulse Transfer Function<br />

- this section develops z-transform for output of open-loop sampled data systems<br />

- expression used to form closed loop system<br />

• plant transfer function: G p (s)<br />

−Ts<br />

1− ε<br />

• ZOH transfer function:<br />

s<br />

−Ts<br />

1− ε<br />

pulse transfer function, G(s) =<br />

s<br />

G p (s)<br />

1-ε -Ts<br />

T<br />

G<br />

E(s) E * (s) s<br />

p (s)<br />

C(s)<br />

G(s)<br />

T<br />

G(s)<br />

E(s) E * (s) C(s)<br />

C(s) = G(s)E * (s) (4-5)<br />

if c(t) is continuous at all sampling instants<br />

since E * 1<br />

(s) = ∑ ∞ E( s + jnw s ) for e(t) continuous at all sampling instants,<br />

T<br />

= −∞<br />

n<br />

we have C * (s) =<br />

1<br />

T<br />

∑ ∞<br />

n=<br />

−∞<br />

C( s<br />

+<br />

c( 0 )<br />

*<br />

jnws ) + = [G( s )E ( s )]<br />

2<br />

*<br />

and C * 1 ∞<br />

*<br />

(s) = ∑ G( s + jnw )E ( s +<br />

T n=−∞<br />

s jnws<br />

)<br />

because E * (s+jnw s ) =E * (s) ! C * ∞<br />

* 1<br />

(s) = E ( s ) ∑ G( s + jnws<br />

)<br />

T n=−∞<br />

and C * (s) =E * (s)G * (s) (4-8)<br />

and C(z) = E(z) G(z) (4-9)<br />

pulse transfer function: G(z) = C(z)/E(z)<br />

• TF between sampled input, e * (t) and output c(t) at sampling instants<br />

• doesn’t indicate nature of output c(t) between sampling instants<br />

• generally choose sampling frequency, w s such that response at sampling instants ~<br />

between sampling instants<br />

(4-8) (4-9) are general derivations: for any F * (s) = f 0 +f 1 ε -Ts +f 2 ε -2Ts<br />

if<br />

A(s) = B(s)F * (s)<br />

! A * (s) = B * (s)F * (s)<br />

! A(z) = B(z)F(z)<br />

deriving B(z) & F(z)<br />

B(z) = Z{B(s)}<br />

F(z)=<br />

F<br />

*<br />

(<br />

s )<br />

ε − Ts<br />

= z<br />

2


ie:<br />

1 − ε 1<br />

A(s) = = 1 − ε<br />

s( s + 1) s( s + 1)<br />

B(s) =<br />

F<br />

*<br />

A( z )<br />

1<br />

s( s<br />

( s ) = 1 − ε<br />

=<br />

( z<br />

−Ts<br />

→<br />

+ 1)<br />

−Ts<br />

z(1 − ε<br />

B( z )<br />

→<br />

−T<br />

− 1)( z − ε<br />

F( z ) = 1 − z<br />

)<br />

−T<br />

=<br />

( z<br />

−Ts<br />

z(1 − ε<br />

− 1)( z − ε<br />

−1<br />

−T<br />

z − 1 (1 − ε<br />

=<br />

) z ( z − ε<br />

)<br />

−T<br />

−T<br />

−T<br />

)<br />

)<br />

)<br />

1-ε -Ts<br />

T<br />

1/(s+1)<br />

E(s) E * (s) s<br />

C(s)<br />

ie: determine output C(z) if input, e(t) = unit step<br />

G( z )<br />

E( z )<br />

C( z )<br />

( z<br />

Ts<br />

1 − ε *<br />

*<br />

C(s) = E ( s ) = G( s )E ( s )<br />

s( s + 1)<br />

1 − ε<br />

=<br />

z − ε<br />

=<br />

−T<br />

−T<br />

z<br />

Z{u( t )} =<br />

z − 1<br />

=<br />

z( 1 − ε<br />

−T<br />

− 1)z − ε<br />

and c(nT) = 1-ε -nT<br />

)<br />

−T<br />

z z<br />

= −<br />

z − 1 z − ε<br />

−T<br />

c(kT)<br />

1<br />

0 T 2T 3T 4T 5T<br />

(i) z-transform analysis yields response only at sampling instants<br />

• output, c(kT) rises to final value of unity at sampling instants<br />

• nothing known about response between sampling instants<br />

• normally this information is needed ! find complete response by simulation<br />

(ii) if input, e(t) to sampler/ZOH is unit step, u(t), ! output of sampler/ZOH is also unit step<br />

• ZOH reconstructs sampled unit-step exactly<br />

• response of c(kT) is step response of continuous time system w/<br />

• G(s) = s/s+1<br />

• c(t) = 1-ε -T<br />

z-transform analysis in example is correct: given c(t) ! c(nT) = c(t)| t=nT<br />

converse is not true: c(t) ≠ c(nT)| nT=t<br />

3


(iii) often, Steady State (SS) Gain<br />

with constant input (dc gain) is important:<br />

input E(z) = z/z-1 (unit step)<br />

lim (<br />

steady state output: c ss (k) = z − 1)C( z )<br />

z→1<br />

lim (<br />

= z − 1)G( z )E( z )<br />

z→1<br />

z<br />

= lim ( z − 1) G( z ) = G(1)<br />

z − 1<br />

z→1<br />

dc gain = G(z)| z=1 =G(1)<br />

with constant input ! gain of sampler/ZOH =1<br />

dc gain of system also given by continuous analysis: dc gain = lim G ( s )<br />

thus dc gain = limG(<br />

z ) = lim G ( s )<br />

z→1 s→0<br />

can be used to check calculation of G(z)<br />

example<br />

−T<br />

1−<br />

ε<br />

limG( z ) = lim = 1<br />

−T<br />

z→1<br />

z→1<br />

z − ε<br />

lim G<br />

s→0<br />

p<br />

1<br />

( s ) = lim = 1<br />

s→0<br />

s + 1<br />

p<br />

s→0<br />

p<br />

4


<strong>Open</strong> <strong>Loop</strong> Transfer Functions with 2 plants : 3 cases<br />

(1) 2 plants, both with data holds<br />

C(s) = G 2 (s)A * (s)<br />

C(z) = G 2 (z)A(z)<br />

A(s) = G 1 (s)E * (s)<br />

A(z) = G 1 (z)E(z)<br />

E(s) E * (s) A(s) A * (s) C(s)<br />

G 1 (s)<br />

G 2 (s)<br />

T<br />

T<br />

! C(z) = G 2 (z)G 1 (z)E(z), total transfer function is product of pulse transfer functions<br />

(2) 2 plants, 1 st with data hold<br />

C(s) = G 1 (s) G 2 (s)E * (s)<br />

C(z) = Z{G 1 (s)G 2 (s)}E(z)<br />

C(z) = G 1 G 2 (z) E(z)<br />

E(s) E * (s) C(s)<br />

G 1 (s)<br />

G 2 (s)<br />

T<br />

G 1 G 2 (z) ≠ G 1 (z)G 2 (z)!<br />

• perform product in s-domain: G 1 (s)G 2 (s)<br />

• determine z-transform Z{G 1 (s)G 2 (s)}<br />

(3) 2 plants with intermediate data hold<br />

C(s) = G 2 (s)A * (s) = G 2 (s) G 1 E * (s)<br />

C(z) = G 2 (z)G 1 E(z)<br />

transfer function can’t be written:<br />

- cannot factor E(z) from G 1 E(z)<br />

- E(z) contains values of e(t) only at t=kT<br />

-signala(t) is a function of all previous values of e(t) (not just at sampling instants)<br />

generally:<br />

E(s) G 1 (s)<br />

A(s) A * (s) G 2 (s)<br />

C(s)<br />

T<br />

A(s) = G 1 (s)E(s) ! from convolution: a(t) = ∫ g ( t −τ<br />

)e( τ ) dτ<br />

• if a sampled-data system’s input applied directly to continuous part before sampling<br />

! Z{system’s output }can’t be expressed as function of the Z{system’s input}<br />

• not a significant issue in analysis & design<br />

t<br />

0<br />

1<br />

5


4.4 <strong>Open</strong> <strong>Loop</strong> System with Digital Filters<br />

- extend 4.3 for open loop systems that contain digital filters<br />

(1) A/D converts continuous signal e(t) into discrete sequence {e(kT)}<br />

(2) digital filter processes each e(kT) and generates output sequence {m(kT)}<br />

• solves linear difference equation w/ constant coefficients<br />

•<br />

M( z )<br />

transfer function represented by D(z) =<br />

E( z )<br />

then:<br />

M(z) = D(z)E(z)<br />

M * (s) = D * (s)E * (s) (by substiting z=ε sT )<br />

(3) D/A converts to continuous time signal m( t )<br />

• usually has output hold register that gives ZOH and<br />

−Ts<br />

1−<br />

ε *<br />

• M ( s ) = M ( s )<br />

s<br />

E(s) digital<br />

M(s) C(s)<br />

A/D filter D/A G p (s)<br />

e(t) e(kT) m(kT) m(t) c(t)<br />

Thus<br />

−Ts<br />

1−<br />

ε *<br />

(i) C(s) = G p(<br />

s )M ( s ) = G p(<br />

s ) M ( s )<br />

s<br />

−Ts<br />

1− ε<br />

*<br />

= G p(<br />

s ) D( z )| Ts E ( s )<br />

z=<br />

ε<br />

s<br />

⎡<br />

−Ts<br />

1 − ε ⎤<br />

(ii) C(z) = Z ⎢G<br />

p ( s ) ⎥D(<br />

z )| Ts E( z )<br />

z=<br />

ε<br />

⎣ s ⎦<br />

= G(z)D(z)E(z)<br />

• CPU (digital filter) processes each e(kT)<br />

• A/D - digital filter - D/A model only processes impulse function of weight e(kT)<br />

• complete model combines with ideal-sampler/ZOH for accurate model<br />

E(s) E(z) M(z) M(s) C(s)<br />

T D(z) 1-ε -Ts<br />

G p (s)<br />

e(t) e(kT) m(kT)<br />

s<br />

m(t) c(t)<br />

G(s)<br />

6


ie:<br />

if m(kT) = 2e(kT) - e(k-1)T then M(z) = (2 - z -1 )E(z)<br />

M(z) −1 2z − 1<br />

thus D(z) = = 2 − z =<br />

E(z)<br />

z<br />

1 z<br />

⎪⎧<br />

−Ts<br />

1 − ε 1 ⎪⎫<br />

⎧ 1<br />

if G p (s) = → then G(z) = Z<br />

=<br />

s + 1<br />

−T<br />

⎨<br />

⎬ Z ⎨ 1 − ε<br />

z − ε<br />

⎪⎩ s s + 1⎪⎭<br />

⎩s(<br />

s + 1)<br />

−T<br />

−T<br />

z − 1 ( 1 − ε )z 1 − ε<br />

G(z )=<br />

=<br />

z<br />

−T<br />

−T<br />

( z − 1)z − ε z − ε<br />

z<br />

if e(t) = u(t) then E(z) =<br />

z − 1<br />

and C(z) = D(z)G(z)E(z)<br />

⎛ −T<br />

⎛ 2z − 1⎞<br />

⎞⎛<br />

⎞<br />

C(z) = ⎜<br />

1 − ε<br />

⎟<br />

z<br />

⎜ ⎟<br />

⎜ ⎟<br />

−<br />

⎝ z<br />

T<br />

⎠⎝<br />

z − ε ⎠⎝<br />

z − 1 ⎠<br />

−Ts<br />

⎫<br />

⎬<br />

⎭<br />

−T<br />

C(z) (1 − ε )( 2z − 1) 1 − ε<br />

=<br />

=<br />

z<br />

−T<br />

z( z − 1)( z − ε ) z<br />

T<br />

+<br />

1<br />

+<br />

z − 1<br />

T<br />

ε − 2<br />

z − ε<br />

−T<br />

C( z ) = 1 − ε<br />

T<br />

+<br />

T<br />

z ( ε − 2 )z<br />

+<br />

z − 1<br />

−T<br />

z − ε<br />

recall that Z -1 {k i z -i } =<br />

⎧k i , n = i ⎫<br />

⎨ ⎬<br />

⎩0,<br />

n ≠ 0⎭<br />

! Z -1 {1-ε T } is non-zero only if n=0,<br />

for n=0! c(0) = 1-ε T +1+ ε T -2 = 0<br />

c(0) = lim C( z ) = 0<br />

z→∞<br />

* also by inspection since for C(z) order of numerator < order of denominator<br />

c(∞) = lim( z −1)C(<br />

z ) = 1<br />

z→1<br />

dc gain = D(z)|| z=1 G p (s)| s=0 = (2z-1)/z | z=1 1/(s+1) | s=0 =1<br />

if steady state input = constant value of unity! steady state output, c(∞) = dc gain⋅ input =1<br />

if e(t) = u(t) & M(z) = 2(1-z -1 )E(z) ! m(kT) = 2u(kT) – 2u(kT-T)<br />

7


4.5 Modified z-transform consider systems containing ideal time delays<br />

let a time function e(t) be delayed by ∆T, 0 < ∆≤1 ! e(t-∆T)u(t-∆T)<br />

delayed z- transform, E(z,∆):<br />

• E(z,∆) = Z{ e(t-∆T)u(t-∆T)} = Z{E(s)ε -∆Ts } = ∑ e(<br />

nT − ∆ T )z (4-25)<br />

∞<br />

n = 1<br />

• sampling instants are not delayed = 0, T, 2T, 3T, …<br />

−n<br />

example 4.5<br />

E( z, ∆ ), ∆ = 0.4, e(t) = ε<br />

∞<br />

∑ε<br />

n=<br />

1<br />

= ε<br />

= ε<br />

= ε<br />

-(anT -0.4T)<br />

-0.6-aT<br />

-0.6-aT<br />

-0.6-aT<br />

z<br />

z<br />

z<br />

−1<br />

−1<br />

−1<br />

z<br />

−n<br />

−aT<br />

−1<br />

−2aT<br />

−2<br />

[ 1+<br />

ε z + ε z + ...]<br />

∞<br />

∑ e<br />

n=<br />

0<br />

1−<br />

ε<br />

= ε<br />

−anT<br />

1<br />

−aT<br />

-0.6-aT<br />

z<br />

z<br />

−n<br />

−1<br />

-at<br />

z<br />

−1<br />

+ ε<br />

-0.6-aT<br />

ε<br />

=<br />

z − ε<br />

1.6-aT<br />

−aT<br />

z<br />

−2<br />

+ ...<br />

e(t), e(t-∆T)u(t-∆T)<br />

ε -0.6aT ε -2.6aT<br />

0.4T T 2T 3T<br />

E(z,m): modified z-transform is defined from delayed z-transform: replace∆ by 1-m<br />

E(z,m) = E(z,∆)| ∆=1-m =Z{E(s)ε -∆Ts })| ∆=1-m (4-27)<br />

E(z,m) =e(mT)z -1 + e((1+m)T)z -2 +e((2+m)T)z -3 +…<br />

m=1 ! no delay: E(z,1) = E(z) – e(0)<br />

m=0 ! delay = T: E(z,0) = z -1 E(z)<br />

*special tables used for modified z-transform<br />

property of modified z-transsform: Z m {e(t)} ! z-transform of e(t) time shifted by 1-m<br />

• theorms of E(z) f/ chapter 2 apply to E(z,m)<br />

shifting theorm: Z m {E(s)} = Z{ε -∆Ts E(s)}| ∆ =1-m<br />

for integer, k: Z m {ε -kTs E(s)} = z -k Z m {E(s)} =z -k E(z,m)<br />

example 4.6<br />

find Z<br />

m<br />

{ ε<br />

−t<br />

}<br />

E(z,m) = ε<br />

= ε<br />

= ε<br />

-mT<br />

-mT<br />

z<br />

z<br />

−1<br />

−1<br />

-mT<br />

z<br />

−T<br />

−1<br />

−2T<br />

−2<br />

[ 1+<br />

ε z + ε z + ...]<br />

∞<br />

∑ε<br />

n=<br />

0<br />

−1<br />

−nT<br />

+ ε<br />

z<br />

-(1+<br />

m)T<br />

−n<br />

= ε<br />

z<br />

-mT<br />

−2<br />

z<br />

+ ε<br />

−1<br />

-(2+<br />

m)T<br />

1−<br />

ε<br />

1<br />

−T<br />

z<br />

z<br />

−3<br />

−1<br />

+ ...<br />

=<br />

ε<br />

-mT<br />

z − ε<br />

−T<br />

8


4.6 <strong>Systems</strong> with time delays: Use Z m {}<br />

(1) determine pulse transfer function of discrete time systems w/ ideal time delays<br />

T<br />

G(s)<br />

E(s) E * ε -t 0s<br />

(s) C(s)<br />

• C(s) = G(s) ε<br />

−t0s<br />

• C(z) = Z{G(s) ε<br />

s E * (s)<br />

−t0s<br />

}E(z)<br />

• let t 0 = kT + ∆T, 0 < ∆≤1<br />

! C(z) =z -k Z{G(s)ε -∆Ts }E(z) = z -k G(z,m)E(z)| ∆=1-m<br />

(2) determine pulse transfer function where computation time cannot be neglected<br />

controller & compute time<br />

data hold & plant<br />

T D(z) ε -t 0s<br />

G(s)<br />

E(s) E * (s) C(s)<br />

• n th order digital controller solves difference equation every T seconds:<br />

! m(k) = b n e(k) + b n-1 e(k-1) + … + b 0 e(k-n) - a n-1 m(k) - a n-2 m(k-1)-…- a 0 m(k-n)<br />

• let t 0 be the computation time: input at t=T! ouput at t=T+t 0<br />

• model as digital controller without time delay followed by ideal time delay = t 0<br />

−t0s<br />

C(z) =Z{G(s) ε }D(z)E(z) (4.42)<br />

let t 0 =kT+∆T, 0 < ∆≤1! C(z) = z -k G(z,m)| m=1-∆ D(z)E(z) (4.44)<br />

9


− Ts<br />

1 − ε<br />

ie: t 0 =0.2T,G(s)=<br />

s( s + 1)<br />

G(z,m) = Z<br />

m<br />

-Ts<br />

⎪⎧<br />

1 - ε ⎪⎫<br />

⎨ ⎬ = ( 1 − z<br />

⎪⎩ s( s + 1) ⎪⎭<br />

0.2Ts<br />

z − 1 ⎪⎧<br />

ε ⎪⎫<br />

⎡ z − 1⎤<br />

( z − ε<br />

= Z⎨<br />

⎬ =<br />

z s( s 1) ⎢ z ⎥<br />

⎪⎩ + ⎪⎭ ⎣ ⎦ ( z<br />

⎡ z − 1⎤<br />

z − ε<br />

= ⎢<br />

z<br />

⎥<br />

⎣ ⎦<br />

−T<br />

( z<br />

− zε<br />

−1<br />

−0.8T<br />

− 1)( z − ε<br />

)Z<br />

−T<br />

m<br />

+ ε<br />

)<br />

⎧ 1 ⎫<br />

⎨ ⎬<br />

⎩s(<br />

s + 1) ⎭<br />

−0.8T<br />

−T<br />

) − ε<br />

−0.8T<br />

− 1)( z − ε<br />

( z − 1)<br />

−T<br />

)<br />

z<br />

C( z ) = G( z,m )E( z ) = G( z,m )<br />

z − 1<br />

z − ε<br />

=<br />

−T<br />

( z<br />

− zε<br />

−0.8T<br />

− 1)( z − ε<br />

+ ε<br />

−T<br />

−0.8T<br />

)<br />

• C(z) =(1-ε -0.8T )z -1 + (1 - ε -1.8T )z -2 + (1 -ε -2.8T )z -3 + … (power series)<br />

• with no delay: c(nT) =(1-ε -nT )<br />

• with delay = 0.2: c(nT)| n=n-0.2 = (1- ε -(n-0.2)T ), n≥ 1<br />

filter & compute time data hold & plant<br />

E(s)=1/s<br />

T=0.05s<br />

2z-1<br />

z<br />

ε -0.001s<br />

1-ε-Ts<br />

s<br />

1<br />

(s+1)<br />

C(s)<br />

ie: t o =1ms,T=50ms, since m=1-∆ then mT = T-∆T = (50ms-1ms ) = 49ms<br />

G(z,m) = Z<br />

m<br />

⎪⎧<br />

−Ts<br />

1 − ε ⎪⎫<br />

⎨ ⎬ =<br />

⎪⎩ s( s + 1) ⎪⎭<br />

z − 1<br />

Z<br />

z<br />

m<br />

⎧ 1 ⎫<br />

⎨ ⎬<br />

⎩s(<br />

s + 1) ⎭<br />

⎛ −0.049<br />

−0.049<br />

−0.05<br />

z − 1<br />

⎞<br />

⎜<br />

z( 1 − ε ) + ( ε − ε )<br />

=<br />

⎟<br />

z<br />

−0.05<br />

⎝ ( z − 1)( z − ε ) ⎠<br />

− ⎛ −0.049<br />

−<br />

z 1<br />

⎜<br />

z( 1 − ε ) + ( ε<br />

C(z) = G(z)D(z)E(z) =<br />

z<br />

−<br />

⎝ ( z − 1)( z − ε<br />

0.049<br />

0.05<br />

− ε<br />

)<br />

−0.05<br />

) ⎞<br />

⎟⎛<br />

2z − 1⎞⎛<br />

z ⎞<br />

⎜ ⎟⎜<br />

⎟<br />

⎠⎝<br />

z ⎠⎝<br />

z − 1⎠<br />

⎛<br />

⎜<br />

z( 1 − ε<br />

=<br />

⎝<br />

−0.049<br />

−0.049<br />

) + ( ε − ε<br />

−<br />

z( z − 1)( z − ε<br />

−0.05<br />

0.05<br />

)<br />

)( 2z − 1) ⎞<br />

⎟<br />

⎠<br />

10


4.7: Non-Synchronous Sampling<br />

system with multiple samplers that sample at the same rate but are not synchronized<br />

-outofphasebysomevalue,h<br />

- can use the modified z-transform to compensate for sampling phase difference<br />

4.8 State Variable Models (as opposed to transfer functions)<br />

x(k+1) = Ax(k) + Bu(k)<br />

y(k) = Cx(k) + Du(k)<br />

state vector = x(k)<br />

input vector = u(k)<br />

output vector = y(k)<br />

Transfer Function approach to obtain state variable model of open loop sampled data systems<br />

(1) draw simulation diagram from z-transform TF<br />

(2) assign state variables to output of each time delay<br />

(3) write state equations from simulation diagram<br />

E(s)<br />

T<br />

2z-1<br />

z<br />

1-ε -Ts<br />

s<br />

1<br />

s+1<br />

Y(s)<br />

D(z)<br />

G(s)<br />

ie:<br />

G( z )<br />

D( z )<br />

−Ts<br />

⎪⎧<br />

1 − ε ⎪⎫<br />

1 − ε<br />

= Z ⎨ ⎬ =<br />

⎪⎩ s( s + 1) ⎪⎭ z − ε<br />

2z − 1 −1<br />

= = 2 − z<br />

z<br />

−T<br />

−T<br />

= ( 1 − ε<br />

−T<br />

⎛ z<br />

) ⎜<br />

⎝ 1 − ε<br />

−1<br />

−T<br />

z<br />

−1<br />

⎞<br />

⎟<br />

⎠<br />

e(k)<br />

+<br />

+<br />

2<br />

1-ε -T<br />

z -1<br />

z -1 ε<br />

x 2 (k)<br />

-T<br />

x 1 (k) =y(k)<br />

x 1 (k) = [2e(k-1) – x 2 (k-1) ](1-ε -T )+ε -T x 1 (k-1)<br />

x 2 (k) = e(k-1)<br />

x 1 (k+1) =(2e(k)–x 2 (k) )(1-ε -T )+ε -T x 1 (k)<br />

x 2 (k+1) =e(k)<br />

⎡<br />

T<br />

T<br />

T<br />

ε −1+<br />

ε ⎤ ⎡2(<br />

1−<br />

ε ) ⎤<br />

x 1 (k+1) ⎢<br />

⎥x(<br />

k ) + ⎢ ⎥e(<br />

k )<br />

⎣ 0 0 ⎦ ⎣ 1 ⎦<br />

11


4.9 Review of Continuous State Variables<br />

2 main disadvantages of using transfer function to obtain state equations for discrete system<br />

(1) difficult to derive pulse transfer function for higher order systems<br />

(2) lose natural system states as state variables<br />

ie: motion of mass without friction:<br />

2<br />

d x( t )<br />

=<br />

2<br />

dt<br />

state variables: (natural, physical variables)<br />

v 1 (t) = x(t) (position)<br />

v 2 (t) = v& 1 ( t ) = x&<br />

1 (t ) (velocity)<br />

f ( t<br />

)<br />

(applied<br />

force)<br />

state equations<br />

⎡v'<br />

1 ( t)<br />

⎤ ⎡0<br />

⎢ =<br />

v'<br />

2 ( t)<br />

⎥ ⎢<br />

⎣ ⎦ ⎣0<br />

1⎤⎡v<br />

( t)<br />

⎤ 0<br />

1<br />

⎡ ⎤<br />

f ( t)<br />

0<br />

⎥⎢<br />

⎥ + ⎢<br />

v ( t)<br />

1<br />

⎥<br />

⎦<br />

⎣ 2<br />

⎦ ⎣ ⎦<br />

if system were part of sampled data system<br />

(i) choose position as a state in discrete-state model by letting position be system<br />

output<br />

(ii) if TF approach used for discrete-state modelling –choosingvelocity as 2 nd state<br />

would be difficult – state variables are outputs of delays<br />

12


Alternate Approach for Obtaining <strong>Discrete</strong> State Model<br />

- based on use of continuous state variables<br />

v& (t) = A c v(t) + B c u(t)<br />

y(t) = C c v(t) + D c u(t)<br />

• system states: v(t)<br />

• system inputs: u(t)<br />

• system outputs: y(t)<br />

• “ c ” used to indicate continuous matrices<br />

example 4.12<br />

M = mass, B = damping factor, K = spring constant<br />

&& y ( t ) + B y&<br />

( t ) + Ky ( t ) + B [ y&<br />

( t ) − y&<br />

( t )] = 0<br />

1<br />

&& y ( t ) + B [ y&<br />

( t ) − y&<br />

( t )] = u( t )<br />

2<br />

1<br />

2<br />

1<br />

2<br />

1<br />

1<br />

2<br />

1<br />

2<br />

B 1<br />

B 2<br />

K<br />

M 1 =1<br />

M 2 =1<br />

y 1<br />

y 2<br />

state variables<br />

v (t) = y (t)<br />

1<br />

v (t) = y&<br />

(t)<br />

2<br />

v (t) = y<br />

3<br />

(t)<br />

v (t) = y&<br />

( t )<br />

4<br />

v&<br />

( t ) = v (t ) = y&<br />

( t )<br />

1<br />

v&<br />

( t ) = && y ( t ) = B y&<br />

( t ) − ( B + B<br />

2<br />

v&<br />

( t) = v (t ) = y&<br />

( t )<br />

3<br />

+ K )y&<br />

( t )<br />

v&<br />

( t ) = && y ( t ) = −B<br />

y&<br />

( t ) + B y&<br />

( t ) + u( t )<br />

4<br />

1<br />

1<br />

2<br />

2<br />

2<br />

4<br />

1<br />

2<br />

1<br />

2<br />

2<br />

2<br />

2<br />

2<br />

1<br />

2<br />

1<br />

2<br />

1<br />

u(t)<br />

force<br />

-(B 2 +B 1 ) -K<br />

s -1 s -1<br />

y” 1 (t) y’ 1 (t) y 1 (t)<br />

B 2 B 2<br />

u(t) 1 s -1 s -1<br />

y” 2 (t) y’ 2 (t) y 2 (t)<br />

-B 2<br />

⎡0<br />

⎢<br />

0<br />

v(t) & = ⎢<br />

⎢0<br />

⎢<br />

⎣0<br />

− ( B<br />

1<br />

1<br />

+ B<br />

0<br />

B<br />

2<br />

2<br />

+ K )<br />

0<br />

0<br />

0<br />

0<br />

0 ⎤ ⎡0⎤<br />

B<br />

⎥ ⎢<br />

0<br />

⎥<br />

2 ⎥v( t ) + ⎢ ⎥u( t )<br />

1 ⎥ ⎢0⎥<br />

⎥ ⎢ ⎥<br />

− B2<br />

⎦ ⎣1⎦<br />

⎡1<br />

y( t ) = ⎢<br />

⎣0<br />

0<br />

0<br />

0<br />

1<br />

0⎤<br />

⎥v( t )<br />

0⎦<br />

13


State Equations for Single Input-Output <strong>Systems</strong><br />

v& (t) = A c v(t) + B c u(t) (4-57)<br />

y(t) = C c v(t) + D c u(t)<br />

(1) Use Laplace Transform ! Solve for V(s)<br />

sV(s)- v(0) = A c V(s) + B c U(s) (4-58)<br />

Y(s) = C c V(s) + D c U(s)<br />

(sI-A c )V(s) = v(0) + B c U(s)<br />

V(s) = [sI-A c ] -1 v(0) + [sI-A c ] -1 B c U(s) (4-59)<br />

define Φ c (t) =L -1 {[sI-A c ] -1 } (4-60)<br />

t<br />

! v(t) = Φ c (t)v(0) + ∫ Φ c (t-τ) B c u(τ)dτ (4-61)<br />

0<br />

(2) Alternate derivation of Φ c (t) - useful when deriving discrete state model<br />

if Φ c (t) is assumed to be an infinite series:<br />

Φ c (t) = K 0 + K 1 t+K 2 t 2 + K 3 t 3 +… (4-62)<br />

K i are constant, nonsingular matrices<br />

by selecting u(t) = 0 and substituting (4-61) into (4-57) w/ Φ c (t) = ∑ ∞ i=0<br />

v(t) = ∑ ∞ i<br />

K<br />

i=0<br />

it v(0) = (K 0 + K 1 t+K 2 t 2 + K 3 t 3 + …)v(0)<br />

v’(t) = (K 1 +2K 2 t+3K 3 t 2 +4K 3 t 3 +…)v(0)<br />

K i t<br />

i<br />

and v'(t) = A c ∑ ∞ i=0<br />

K<br />

i<br />

it<br />

v(0) = A c K 0 t 0 +A c K 1 t 1 +A c K 2 t 2 + A c K 3 t 3 4 +…<br />

thus (K 1 +2K 2 t+3K 3 t 2 +4K 3 t 3 +…) = A c K 0 t 0 +A c K 1 t 1 +A c K 2 t 2 + A c K 3 t 3 4 +…<br />

without loss of generality, let K 0 =I,thenwehave<br />

K 1 =A c K 0 =A c<br />

K 2 =A c K 1 /2 = A 2 c K 0 /2= A 2 c /2<br />

K 3 =A c K 2 /3 = A 3 c K 0 /3! = A 3 c /3!<br />

=A c K i-1 /i = A i c K 0 /i! = A i c /i!<br />

K i<br />

without loss of generality, let K 0 =I,thenwehave<br />

i<br />

2<br />

3<br />

t<br />

2 t 3 t<br />

Φ c (t) = ∑ ∞ A i = I + A ct<br />

+ A c + A c ...<br />

c i!<br />

2! 3!<br />

+<br />

(4-63)<br />

i=<br />

0<br />

14


(3) state models of physical system when x’(t) appears in right sideofx’(t) and y(t)<br />

• x’(t)=-x(t)+u(t)–x’(t)<br />

• y(t) = x’(t)<br />

x’(t) appears in right side of both eqns !<br />

solve x’(t): x’(t) = -0.5x(t) + 0.5u(t)<br />

then y(t) = -0.5x(t) + 0.5u(t)<br />

u(t)<br />

+<br />

+<br />

x’(t)<br />

∫<br />

x(t)<br />

y(t)<br />

method for obtaining state equations in standard format for this type of system<br />

(i) redraw simulation diagram with integrator omitted<br />

(ii) write x’(t) and y(t) in terms of inputs (x(t) and u(t) in this case)<br />

(iii) redrawing with integrator omitted is not required<br />

x’(t)<br />

u(t) + +<br />

applying Mason’s Gain Formula:<br />

−1<br />

1<br />

x’(t) = x( t ) + u( t ) = -0.5x(t) + 0.5u(t)<br />

1+<br />

1 1+<br />

1<br />

−1<br />

1<br />

y(t) = x( t ) + u( t ) = -0.5x(t) + 0.5u(t)<br />

1+<br />

1 1+<br />

1<br />

x(t)<br />

y(t)<br />

method for obtaining state equations in standard format for algebraic loops<br />

algebraic loop: loop without integrator in figure<br />

x’(t) = A 1 x’(t) + A 2 x(t) + B 1 u(t)<br />

y(t) = C 1 x’(t) + C 2 x(t) + D 1 u(t)<br />

(i) solve 1 st equation: x’(t) = [I-A 1 ] -1 A 2 x(t) + [I-A 1 ] -1 B 1 u(t)<br />

(ii) substitute into 2 nd equation: y(t) = C 1 [I -A 1 ] -1 A 2<br />

+ C 2 ]x(t) + D 1 u(t)<br />

4.10 <strong>Discrete</strong> State Equations<br />

• determine discrete state equations of sampled data system from continuous state eqns<br />

• preserve natural system states<br />

consider state equations for continuous system<br />

v’(t) = A c v(t) + B c u(t) (4-64)<br />

y(t) = C c v(t) + D c u(t)<br />

t<br />

! solution is v(t) = Φ c (t)v(0) + ∫ Φ c (t-τ) B c u(τ)dτ (4-65)<br />

t 0<br />

i<br />

i ( t − t )<br />

( t − t )<br />

where Φ c (t-t 0 ) = ∑ ∞ 0<br />

2 0<br />

Ac = I + Ac<br />

( t − t0<br />

) + Ac<br />

+ ...<br />

i= 0 i!<br />

2!<br />

and t 0 is intial time<br />

2<br />

(4-66)<br />

15


<strong>Discrete</strong> State Model:<br />

• obtained by evaluating (4-65) at t 0 =kT and t=kT+T<br />

• during interval [kT ≤ t


(4) evaluate A and B either by<br />

(i) Laplace Transform (difficult)<br />

(ii) convergent power series:<br />

A = Φ c (t) = ∑<br />

∞ i<br />

i t<br />

Ac<br />

i=0<br />

i!<br />

T<br />

let τ = T-σ ! ∫<br />

0<br />

0<br />

Φ c (T-σ) dσ = ∫<br />

T<br />

T<br />

Φ c (τ)-dτ = ∫<br />

0<br />

Φ c (τ) dτ<br />

T ⎛<br />

2 3<br />

2 τ 3 τ ⎞<br />

= ∫ ⎜ I Acτ<br />

Ac<br />

Ac<br />

... ⎟<br />

+ + + + dτ<br />

! !<br />

0 ⎝<br />

2 3 ⎠<br />

⎛<br />

2 3 4<br />

T 2 T 3 T ⎞<br />

= ⎜<br />

⎟<br />

IT + Ac<br />

+ Ac<br />

+ Ac<br />

+ ...<br />

⎝ 2!<br />

3!<br />

4!<br />

⎠<br />

then B<br />

T<br />

= ∫ Φ c (T-σ) B c dσ<br />

0<br />

T<br />

= B c ∫ Φ c (τ) dτ<br />

0<br />

=<br />

⎛<br />

2 3 4<br />

T 2 T 3 T ⎞<br />

⎜<br />

⎟<br />

IT + Ac<br />

+ Ac<br />

+ Ac<br />

+ ...<br />

⎝ 2!<br />

3!<br />

4!<br />

⎠<br />

⎛ ∞ k+<br />

1<br />

k T ⎞<br />

= ⎜<br />

⎟<br />

∑ Ac<br />

⎝ k = 0 ( k + 1)!<br />

⎠<br />

B c<br />

B c<br />

for multiple input & outputs<br />

- D, D c are matrices<br />

- each input must be output of ZOH or errors can result, especially if inputs change rapidly<br />

17


example 4.13 :<br />

T = 0.1s<br />

10 Y( s )<br />

G p(<br />

s ) = → =<br />

s( s + 1)<br />

U( s ) ( s<br />

X ( s ) = Y( s ) = 10E(<br />

s )<br />

X<br />

1<br />

2<br />

( s ) = sX<br />

sX 2(<br />

s )<br />

U(s) = +<br />

10<br />

sX<br />

2<br />

1<br />

( s )<br />

X 2(<br />

s )<br />

10<br />

( s ) = 10U(<br />

s ) − X<br />

2<br />

( s )<br />

10E(<br />

s )<br />

2<br />

+<br />

s )E( s )<br />

M(s) U(s) Y(s)<br />

T 1-ε -Ts<br />

G p (s)<br />

m(t) s u(t) y(t)<br />

U(s) X 2 (s) X 1 (s) = Y(s)<br />

10 + s -1 s -1<br />

-<br />

⎡0<br />

x( & t ) = ⎢<br />

⎣0<br />

1 ⎤ ⎡ 0 ⎤<br />

⎥x( t ) +<br />

−<br />

⎢ ⎥u( t )<br />

1⎦<br />

⎣10⎦<br />

Φ ( t ) = L<br />

/ T<br />

0<br />

∫<br />

c<br />

A = Φ (T )|<br />

B =<br />

−1<br />

[ sI − A ]<br />

⎡τ<br />

Φ c(<br />

τ )dτ<br />

= ⎢<br />

⎣0<br />

c<br />

T = 0.<br />

1<br />

⎡1<br />

= ⎢<br />

⎣0<br />

/ T<br />

[ ∫ Φ ( τ )dτ<br />

]<br />

0<br />

c<br />

B<br />

⎡1<br />

−1<br />

−1<br />

⎢<br />

−1<br />

⎡s<br />

−1<br />

⎤ −1<br />

= L ⎢ ⎥ = L<br />

s<br />

⎢<br />

⎣0<br />

s + 1⎦<br />

⎢0<br />

⎢⎣<br />

T<br />

−τ<br />

+ ⎤ ⎡<br />

−T<br />

τ ε T T + ε −1⎤<br />

⎥ =<br />

−τ<br />

⎢<br />

−τ<br />

⎥<br />

− ε ⎦ ⎣0<br />

1−<br />

ε ⎦<br />

c<br />

c<br />

0.<br />

095⎤<br />

0.<br />

905<br />

⎥<br />

⎦<br />

⎡0.<br />

1<br />

= ⎢<br />

⎣ 0<br />

0<br />

0.<br />

005⎤⎡<br />

0 ⎤<br />

0.<br />

095<br />

⎥⎢<br />

⎥<br />

⎦⎣10⎦<br />

1 ⎤<br />

s( s + 1)<br />

⎥ ⎡1<br />

⎥ = ⎢<br />

1 ⎥ ⎣0<br />

s + 1 ⎥⎦<br />

−t<br />

1−<br />

ε ⎤<br />

−t<br />

⎥<br />

ε ⎦<br />

⎡x<br />

⎢<br />

⎣x<br />

1<br />

2<br />

(k + 1) ⎤ ⎡1<br />

⎥ =<br />

(k + 1)<br />

⎢<br />

⎦ ⎣0<br />

0.<br />

095⎤⎡x<br />

0.<br />

905<br />

⎥⎢<br />

⎦⎣x<br />

1<br />

2<br />

(k) ⎤ ⎡0.<br />

048⎤<br />

⎥ + ⎢ ⎥u( t )<br />

(k) ⎦ ⎣0.<br />

952⎦<br />

y(k) =<br />

x (k)<br />

⎢<br />

⎣x2(k)<br />

⎡ 1 ⎤<br />

[ 1 0] ⎥ ⎦<br />

can also use power series: 3 significant figures of accuracy requires 3terms<br />

m(k)<br />

0.048<br />

0.952 + T<br />

x 2 (k)<br />

0.095<br />

+<br />

T<br />

y(k)<br />

x 1 (k)<br />

0.905<br />

18


4.11 Practical Calculations by Computer<br />

• required for higher order systems.<br />

• preferred for lower order systems<br />

(1) Derive State Model for Analog Part of a System<br />

v’(t) = A c v(t) + B c u(t)<br />

y(t) = C c v(t) + D c u(t)<br />

(2) If Transfer Function of Analog Part of System Required, then determine<br />

sV(s) = A c V(s) + B c U(s)<br />

V(s) = [sI-A c ] -1 BU(s)<br />

Y(s) = C c V(s) + D c U(s)<br />

Y(s) = C c [sI-A c ] -1 BU(s) + D c U(s)<br />

Y(s) =[C c [sI-A c ] -1 B + D c ]U(s)<br />

then G p (s) = C c [sI-A c ] -1 B c + D c<br />

(3) Calculate <strong>Discrete</strong> Matrices of Analog Part of System from A c ,B c ,C c ,D c<br />

i<br />

i t<br />

t t<br />

A = Φ c (t) = ∑ ∞ 2 3<br />

Ac = I + Ac<br />

t + Ac<br />

+ Ac<br />

+ ...<br />

i= 0 i!<br />

2!<br />

3!<br />

⎛<br />

2 3 4<br />

T 2 T 3 T ⎞<br />

B = ⎜<br />

⎟<br />

IT + Ac<br />

+ Ac<br />

+ Ac<br />

+ ...<br />

B c<br />

⎝ 2!<br />

3!<br />

4!<br />

⎠<br />

C = C c<br />

D = D c<br />

(4) Calculate Pulse Transfer Function<br />

G(z) = C[zI-A] -1 B + D<br />

2<br />

3<br />

19

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!