413Presentation2

43
EECE 413, Fall, 2006 1 Prob. 3.6 b s a s k s D ) ( read arm on a computer disk drive has the transfer function Design a digital controller that has a bandwidth of 100 Hz and a phase margin of 50. Use a sample rate of 6 kHz. Method 1: Simplest approach is single lead with 10:1 lead ratio (b/a = 10) for PM = 50. For wbw = 2*pi*100, pick a = wbw/sqrt(10) & b = wbw*sqrt(10). Then adjust k so that crossover is at max. phase. k = 1300. 2 1000 ) ( s s G -20 -10 0 10 20 M agnitude (dB) 10 1 10 2 -181 -180.5 -180 -179.5 -179 Phase (deg) Bode Diagram G m = 0 dB (at31.6 rad/sec), Pm = 0 deg (at31.6 rad/sec) Frequency (rad/sec) -100 -50 0 50 100 M agnitude (dB) 10 5 -180 -150 -120 Phase (deg) Bode Diagram G m = InfdB (atInfrad/sec), Pm = 54.9 deg (at650 rad/sec Frequency (rad/sec) % Prob_3_6.m % G = tf(1000,[1 0 0]); w = 2*pi*100; a = w/sqrt(10); b = w*sqrt(10); k = 1300; D = tf(k*[1 a],[1 b]); figure(1) subplot(2,2,[1 3]) margin(G),grid on subplot(2,2,[2 4]) margin(G),grid on,hold on margin(D*G),grid on,hold off figure(2) sysCL = feedback(D*G,1); margin(sysCL),grid on

description

Phase (deg) Phase (deg) Magnitude (dB) 100 Magnitude (dB) -100 -180 -150 -120 -181 -180 -179 50 10 -180.5 -179.5 10 20 10 10 -20 -10 -50 0 0 2 2 1 5

Transcript of 413Presentation2

Page 1: 413Presentation2

EECE 413, Fall, 2006

1

Prob. 3.6

bsasksD

)(

The read arm on a computer disk drive has the transfer function

Design a digital controller that has a bandwidth of 100 Hz and a phase margin of 50. Use a sample rate of 6 kHz.

Method 1: Simplest approach is single lead with 10:1 lead ratio (b/a = 10) for PM = 50. For wbw = 2*pi*100, pick a = wbw/sqrt(10) & b = wbw*sqrt(10). Then adjust k so that crossover is at max. phase. k = 1300.

2

1000)(s

sG

-20

-10

0

10

20

Mag

nitu

de (d

B)

101

102

-181

-180.5

-180

-179.5

-179

Phas

e (d

eg)

Bode DiagramGm = 0 dB (at 31.6 rad/sec) , Pm = 0 deg (at 31.6 rad/sec)

Frequency (rad/sec)

-100

-50

0

50

100

Mag

nitu

de (d

B)

105

-180

-150

-120

Phas

e (d

eg)

Bode DiagramGm = Inf dB (at Inf rad/sec) , Pm = 54.9 deg (at 650 rad/sec)

Frequency (rad/sec)

% Prob_3_6.m%G = tf(1000,[1 0 0]);w = 2*pi*100;a = w/sqrt(10);b = w*sqrt(10);k = 1300;D = tf(k*[1 a],[1 b]);figure(1)subplot(2,2,[1 3])margin(G),grid onsubplot(2,2,[2 4])margin(G),grid on,hold onmargin(D*G),grid on,hold off figure(2)sysCL = feedback(D*G,1);margin(sysCL),grid on

Page 2: 413Presentation2

EECE 413, Fall, 2006

2

Prob. 3.6 - cont

aeeKbuusEasKsUbsbsasK

sEsUsD ooo

)()()()()(

)1(11)(

1)(

11)1(

kebTaTKke

bTKku

bTku o

o

Starting with

Plug in an approximation for each derivative

)()1()()()1()( kaeTkekeKkbu

Tkuku

o

Or change k->k+1 & k-1->k to solve for u(k+1)

)1()(1)(1)1( keKkeaTKkubTku ooOr from eq. 3.7, the equation is:

1.3

2600013.57*650

2

TPhase decrease due to sampling is (p. 63, eqn. 3.10)

Digital PM = 54.7 – 3.1 = 51.6 degrees

[1-bT] = [1 – 1987/6000] = 0.6688a*T-1 = 198.7/6000 – 1 = -0.9667k*(a*T-1) = -1257

Page 3: 413Presentation2

EECE 413, Fall, 2006

3

Prob. 3.6 - cont

101

102

103

104

105

-180

-135

-90

-45

0

Phas

e (d

eg)

Bode DiagramGm = Inf dB (at Inf rad/sec) , Pm = 109 deg (at 737 rad/sec)

Frequency (rad/sec)

-80

-60

-40

-20

0

20

Mag

nitu

de (d

B) System: sysCLFrequency (rad/sec): 1.05e+003

Magnitude (dB): -2.98

% Prob_3_6.m%G = tf(1000,[1 0 0]);w = 2*pi*100;a = w/sqrt(10);b = w*sqrt(10);k = 1300;D = tf(k*[1 a],[1 b]);figure(1)subplot(2,2,[1 3])margin(G),grid onsubplot(2,2,[2 4])margin(G),grid on,hold onmargin(D*G),grid on,hold off figure(2)sysCL = feedback(D*G,1);% [mag,phase,w] = bode(sysCL);% loglog(w,mag(:)),grid onmargin(sysCL),grid on

Bandwidth check: wbw ~ 1050 Hz = 167 rad/s @ -3dB, which is high.

Page 4: 413Presentation2

EECE 413, Fall, 2006

4

Prob. 3.6 - contNote, if bandwidth is important should lower crossover frequency by factor of 1/1.67, ie., a2 = a/1.67 ~ 125 & b2 = b/1.67 = 1250. May find k=500 by iteration to get wbw ~ 630 rad/s.

-100

-50

0

50

100

150

Mag

nitu

de (d

B)

100

101

102

103

104

105

-180

-150

-120

Phas

e (d

eg)

Bode DiagramGm = Inf dB (at Inf rad/sec) , Pm = 54.9 deg (at 399 rad/sec)

Frequency (rad/sec)

% Prob_3_6.m%G = tf(1000,[1 0 0]);w = 2*pi*100;a = w/sqrt(10);b = w*sqrt(10);k = 1300;D = tf(k*[1 a],[1 b]);figure(1)figure(3)margin(D*G),grid on,hold ona = 125;b = 1250;k = 500;D = tf(k*[1 a],[1 b]);margin(D*G),grid on,hold off

Page 5: 413Presentation2

EECE 413, Fall, 2006

5

Prob 3.6 – Optimization Methodfunction cf = optim_3_6(xin);% Prob_3_6 optimization%G = tf(1000,[1 0 0]);k = xin(1);a = xin(2);b = xin(3);D = tf(k*[1 a],[1 b]);[Gm,Pm,Wcg,Wcp] = margin(D*G);[mag,phase,w] = bode(D*G);i = find(mag >= 0.7);[y,i] = min(mag(i));wbw = 2*pi*100;Pm = Pm - w(i)/6000/2;cf = abs(Pm - 50) + abs(wbw - w(i))/2;[xin, cf]save 3_6_param xin

PM = 50 check: PM ~ 50.1 – 3 ~ 47Is a little low.

Lead gainsbsasksD

)(

-100

-50

0

50

100

Mag

nitu

de (d

B)

101

102

103

104

105

-180

-150

-120

Phas

e (d

eg)

Bode DiagramGm = Inf dB (at Inf rad/sec) , Pm = 50.1 deg (at 481 rad/sec)

k,a,b = [803.20696 222.20451 1776.6704], frequency (rad/sec)

Key points are that: 1) must start at good initialization other methods may be used for initialization, 2) needs to restart occasionally to avoid local minimums or getting stuck, 3) won’t converge for wrong structure.

Page 6: 413Presentation2

EECE 413, Fall, 2006

6

Prob 3.6 – Optimization Method - cont% Prob_3_6_main_optim.m%if 0 clear * w = 2*pi*100; a = w/sqrt(10); b = w*sqrt(10); k = 1300; xin = [k,a,b]; load 3_6_param xin = fminsearch('optim_3_6',xin);endif 1 clear * load 3_6_param k = xin(1); a = xin(2); b = xin(3); D = tf(k*[1 a],[1 b]); G = tf(1000,[1 0 0]); figure(1) margin(G),grid on,hold on margin(D*G),grid on,hold off xlabel(['freq rad/s, k,a,b = ',num2str(xin)]) figure(2) sysCL = feedback(D*G,1); % [mag,phase,w] = bode(sysCL); % loglog(w,mag(:)),grid on margin(sysCL),grid onend

101

102

103

104

105

-180

-135

-90

-45

0

Phas

e (d

eg)

Bode DiagramGm = Inf dB (at Inf rad/sec) , Pm = 102 deg (at 580 rad/sec)

Frequency (rad/sec)

-80

-60

-40

-20

0

20

System: sysCLFrequency (rad/sec): 783

Magnitude (dB): -3.02

Mag

nitu

de (d

B)

Bandwidth check: 783 > 630, a bit highAlthough, fminsearch based optimization is very fast, sometimes a number of revisits are necessary while adjusting cost function weights.

Page 7: 413Presentation2

EECE 413, Fall, 2006

7

Problem 3.7 - cont2

1)(s

sG

bsask

Design feedback with lead compensation for the open-loop system:

R(t)2

1s

The rise time should be <= 1 sec & the overshoot should be <= 15% @ 5 Hz sampling rate. Do continuous 1st, then discrete. Find difference equations.

D(s) G(s)

-100

-50

0

50

100

150

Mag

nitu

de (d

B)

10-2

10-1

100

101

102

103

-180

-150

-120

-90

Phas

e (d

eg)

Bode DiagramGm = Inf dB (at Inf rad/sec) , Pm = 75.2 deg (at 2.54 rad/sec)

Frequency (rad/sec)

% Prob_3_7.m%G = tf(1,[1 0 0]);a = 0.5;b = 40;k = 100;D = tf(k*[1 a],[1 b]);figure(1)margin(G),grid on,hold onmargin(D*G),grid on,hold offfigure(2)sysCL = feedback(D*G,1);step(sysCL,5),grid onxlabel(['time in, k,a,b = ',…num2str([k,a,b]),' time in'])

PM frequency near peak of phase plot.

D(s) found by trial & error.

Page 8: 413Presentation2

EECE 413, Fall, 2006

8

Step Response

time in, k,a,b = 100 0.5 40 time in (sec)

Ampl

itude

0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 50

0.2

0.4

0.6

0.8

1

1.2

1.4

System: sysCLTime (sec): 1.52Amplitude: 1.12

System: sysCLTime (sec): 0.0644Amplitude: 0.102

System: sysCLTime (sec): 0.642Amplitude: 0.901

Problem 3.7 - cont

1010

51/2

51/2

/2/2)(

ssTsTsGh

All the specifications are met in continuous time: the rise time is <= 1 sec & the overshoot is <= 15%. Next step is sample at 5 Hz.

Design now using zero order hold approximation:

22 10101

1010)(

sssssG

With new plant model repeat design

Page 9: 413Presentation2

EECE 413, Fall, 2006

9

Step Response

Time (sec)

Ampl

itude

0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 50

0.2

0.4

0.6

0.8

1

1.2

1.4System: sysCLTime (sec): 1.32Amplitude: 1.16

System: sysCLTime (sec): 0.128Amplitude: 0.103

System: sysCLTime (sec): 0.602Amplitude: 0.903

Problem 3.7 - cont

Design now using zero order hold approximation:

22 10101

1010)(

sssssG

New plant model

Slightly > 15% overshoot

% Prob_3_7.m%G = tf(1,[1 0 0]);a = 0.5;b = 40;k = 100;D = tf(k*[1 a],[1 b]);figure(1)margin(G),grid on,hold onmargin(D*G),grid on,hold off figure(2)sysCL = feedback(D*G,1);step(sysCL,5),grid onxlabel(['time in, k,a,b = ',…num2str([k,a,b]),' time in'])G = tf(10,[1 10 0 0]);figure(3)sysCL = feedback(D*G,1);step(sysCL,5),grid on

Page 10: 413Presentation2

EECE 413, Fall, 2006

10

Prob 3.7 - cont

Step Response

Time (sec)

Ampl

itude

0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 50

0.2

0.4

0.6

0.8

1

1.2

1.4System: sysCLTime (sec): 1.05Amplitude: 1.14

System: sysCLTime (sec): 0.105Amplitude: 0.103

System: sysCLTime (sec): 0.502Amplitude: 0.904

% Prob_3_7.mG = tf(10,[1 10 0 0]);a = 0.5;b = 80;k = 250;D = tf(k*[1 a],[1 b]);figure(1)sysCL = feedback(D*G,1);step(sysCL,5),grid on

Overshoot now less than 15%. Gains found by trial & error.

Page 11: 413Presentation2

EECE 413, Fall, 2006

11

Determine parameters to satisfy requirements. Step 1: Find new open-loop crossover frequency from desired ωn=ωmax, the point the phase lead is added.Step 2: Evaluate the PM of KG(ω) at the desired cross over frequency ωn.Step 3: Allow for some extra PM (5 to 12 degrees), and determine the needed phase lead φmax

Step 4: Compute

Step 5: Verify the design using matlab. Redo if needed.

Prob. 3.7 – lead compensator approach

505.0

8.118.18.18.1

max

PM

tt

rn

nr

1,11)(

ssKsD

2

1)(s

sG

maxmax

max 1,sin1sin1

The rise time should be <= 1 sec & the overshoot should be <= 15% @ 5 Hz sampling rate. Do continuous 1st, then discrete. Find difference equations.

Here parameters K, φmax and ωmax are to be determined from design specifications. x

1005.0 PM

Page 12: 413Presentation2

EECE 413, Fall, 2006

12

-100

-50

0

50

100

150

Mag

nitu

de (d

B)

10-2

10-1

100

101

102

-180

-150

-120

Phas

e (d

eg)

Bode DiagramGm = Inf dB (at Inf rad/sec) , Pm = 55 deg (at 1.77 rad/sec)

Frequency (rad/sec)

-40

-20

0

20

40

Mag

nitu

de (d

B)

10-1

100

101

-181

-180.5

-180

-179.5

-179

Pha

se (

deg)

Bode DiagramGm = 0 dB (at 1 rad/sec) , Pm = 0 deg (at 1 rad/sec)

Frequency (rad/sec)

Prob. 3.7 – lead compensator approach - cont

maxmax

max 1,sin1sin1

1.7620994.08.111

0994.0

18055sin1

18055sin1

max

From the margin plot φmax = PMdes + allowance – PM = 50+5-0 = 55

1,11)(

ssKsD

G = tf(1,[1 0 0]);figure(1)margin(G),grid on,hold onfigure(2)margin(G),grid on,hold onalph = 0.0994;tau = 1.762;k = 1;D = tf(k*[tau 1],[alph*tau 1]);margin(D*G),grid on,hold on

Page 13: 413Presentation2

EECE 413, Fall, 2006

13

Prob. 3.7 – lead compensator approach - contThe rise time should be <= 1 sec & the overshoot should be <= 15% @ 5 Hz sampling rate. Overshoot is exceeded.

Step Response

k,alph,tau = 1 0.0994 1.7621 time in (sec)

Ampl

itude

0 1 2 3 4 5 6 7 8 9 100

0.2

0.4

0.6

0.8

1

1.2

1.4 System: sysCLTime (sec): 1.74Amplitude: 1.23

System: sysCLTime (sec): 0.163Amplitude: 0.106

System: sysCLTime (sec): 0.799Amplitude: 0.897

Page 14: 413Presentation2

EECE 413, Fall, 2006

14

G = tf(1,[1 0 0]);figure(1)margin(G),grid on,hold onfigure(2)margin(G),grid on,hold onalph = 0.0994;w = 1.8;tau = 1/sqrt(alph)/w;k = 1;D = tf(k*[tau 1],[alph*tau 1]);margin(D*G),grid on,hold onk = 1;D = tf(k*[tau 1],[alph*tau 1]);margin(D*G),grid on,hold offfigure(3)sysCL = feedback(D*G,1);step(sysCL,10),grid on,hold onxlabel(['k,alph,tau = ',…num2str([k,alph,tau]),' time in'])G = tf(10,[1 10 0 0]);sysCL = feedback(D*G,1);step(sysCL,10),grid on,hold off

Prob. 3.7 – lead compensator approach - contThe rise time should be <= 1 sec & the overshoot should be <= 15% @ 5 Hz sampling rate. Overshoot is exceeded. This time see the effects of sampling at 5 Hz (~ 32%). For solution must iterate on lead parameters. Remember that overshoot related to damping coefficient can increase damping coefficient to reduce overshoot.

Step Response

k,alph,tau = 1 0.0994 1.7621 time in (sec)

Ampl

itude

0 1 2 3 4 5 6 7 8 9 100

0.2

0.4

0.6

0.8

1

1.2

1.4

System: sysCLTime (sec): 1.62Amplitude: 1.32

System: sysCLTime (sec): 1.72Amplitude: 1.23

22 10101

1010)(

sssssG

Digital plant approximation. Since is linear may be applied to lead or plant.

Page 15: 413Presentation2

EECE 413, Fall, 2006

15

Step Response

k,alph,tau = 1 0.017332 2.5319 time in (sec)

Ampl

itude

0 1 2 3 4 5 6 7 8 9 100

0.2

0.4

0.6

0.8

1

1.2

1.4

System: sysCLTime (sec): 1.72Amplitude: 1.12

System: sysCLTime (sec): 1.29Amplitude: 1.14

Prob. 3.7 – lead compensator approach - contThe rise time should be <= 1 sec & the overshoot should be <= 15% @ 5 Hz sampling rate. Specs are now met at 5 Hz.

figure(4)alph = (1-sin(75*pi/180))/(1+sin(75*pi/180));w = 3;tau = 1/sqrt(alph)/w;k = 1;D = tf(k*[tau 1],[alph*tau 1]);G = tf(1,[1 0 0]);sysCL = feedback(D*G,1);step(sysCL,10),grid on,hold onxlabel(['k,alph,tau = ',…num2str([k,alph,tau]),' time in'])G = tf(10,[1 10 0 0]);sysCL = feedback(D*G,1);step(sysCL,10),grid on,hold off

5 Hz sampling rate

continuous

Page 16: 413Presentation2

EECE 413, Fall, 2006

16

Approximate Analysis of Sampling Effect

Example 3.2: Check using sample rates of 20 Hz & 40 Hz. 10

270)(,1

1)(

sssD

sssG

sys1 = tf(70*[1 2],[1 10]);sysCL = feedback(sys1,1);damp(sysCL)T = 1/20;sys2 = tf(2/T,[1 2/T])*sys1;sysCL = feedback(sys2,1);damp(sysCL)

‘damp’ generates eigenvalues & damping coefficients. PM ~ 100*ζ, therefore the PM may be estimated from ‘damp’. Also, ζ is related to overshoot as discussed before. We may determine how close digital performance is to continuous.

Eigenvalue Damping Freq. (rad/s) -2.11e+000 1.00e+000 2.11e+000 Eigenvalue Damping Freq. (rad/s) -2.11e+000 1.00e+000 2.11e+000 -2.85e+003 1.00e+000 2.85e+003

outputs

Page 17: 413Presentation2

EECE 413, Fall, 2006

17

Controller Tuning Guides

100100

PMPM

bsasksD

)(

nrt

8.1

nst

6.4

10,21 eM p

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 10

10

20

30

40

50

60

70

80

90

100

Mp,

%

Relation of overshoot to ζ.

Relation of settling time to ζ & ωn.

Relation of rise time to ωn.

Relation of phase margin to ζ.

maxmax

max 1,sin1sin1

1,11)(

ssKsD

10,10 bwbw ba

Adjust k so that ωmax is at crossover Adjust k so that ωbw is at crossover.

Use the above relationships to adjust the parameters below. If bandwidth is off, adjust ωmax or ωbw accordingly below. If settling time or rise time excessive increase ωmax or ωbw or PM. Note, that PM may be increased by changing from 10 to a larger number below.

Page 18: 413Presentation2

EECE 413, Fall, 2006

18

Another max phase lead method

290tan

290tan

tan290

max2

max1

1max

ba

ba

ba

abba

max

1max tan290

6224)(

ssssG

Lead compensation is used to:1. Increase gain2. Increase phase margin3. Increase bandwidth

Lead exists when a < b.

Governing equationsLead compensator

bsasksD

)(

Get lead ratio from governing equation.

Example: Design lead to produce PM = 45 & tr < 1 sec

-150

-100

-50

0

50

100

Mag

nitu

de (d

B)

10-2

10-1

100

101

102

103

-270

-225

-180

-135

-90

Phas

e (d

eg)

Bode DiagramGm = 12 dB (at 3.46 rad/sec) , Pm = 38.1 deg (at 1.54 rad/sec)

Frequency (rad/sec)

G = zpk([],[0 -2 -6],24);margin(G)

Note: PM = 38 < 45 + 5 & wn = 1.54 < 1.8*1;Must increase PM & wn φmax = 50 – 38 = 12

6558.039tan21290tan

290tan 22max2

ba

nrt

8.1

Page 19: 413Presentation2

EECE 413, Fall, 2006

19

Lead example - cont

6558.0ba

2max b

baab

φmax = 12

Since wn > 1.8 to meet tr, try wmax = 2.145.1746.1*6558.0,746.1

6558.02

6558.02 22max

ab

bbba

-150

-100

-50

0

50

100

Mag

nitu

de (d

B)

10-2

10-1

100

101

102

103

-270

-180

-90

0

90

Phas

e (d

eg)

Bode DiagramGm = 15.2 dB (at 4.04 rad/sec) , Pm = 56.6 deg (at 1.3 rad/sec)

Frequency (rad/sec)

G = zpk([],[0 -2 -6],24);a = 1.145;b = 1.746;k = 1;D = tf([1 a],[1 b]);figure(2)margin(G),hold onmargin(D),hold onmargin(D*G),hold off

PM OK, but tr/bandwidth too low, so increase k.

Page 20: 413Presentation2

EECE 413, Fall, 2006

20

Lead example - cont

Step Response

Time (sec)

Ampl

itude

0 1 2 3 4 5 6 70

0.2

0.4

0.6

0.8

1

1.2

1.4

System: untitled2Time (sec): 1.15Amplitude: 0.906

System: untitled2Time (sec): 0.353Amplitude: 0.106

System: untitled1Time (sec): 1.32Amplitude: 0.907

Rise time check: increase gain makes tr very close & it may be close enough.

k = 1

k = 1.2;D1 = tf(k*[1 a],[1 b]);step(feedback(D*G,1)),hold onstep(feedback(D1*G,1)),hold off

k = 1.2

Page 21: 413Presentation2

EECE 413, Fall, 2006

21

PID Control Discretization

)()(

)()(

)()(

0

teKTtu

deTKtu

tKetu

d

t

i

)1()()(

)()1()(

)()(

kekeTKTku

kTeTKkuku

kKeku

d

i

eTeT

eKu

sTsT

KsesusD

di

di

1

11)()()(

)2()1(21)(1)1()( ke

TTke

TTke

TT

TTKkuku ddd

i

continuous discrete

ProportionalIntegralderivative

Combined transfer function

Using Euler’s method we have:

Page 22: 413Presentation2

EECE 413, Fall, 2006

22

Chapter 3 Summary

Tkxkxkx )()1()(

TsTsGh/2/2)(

2T

Euler approximation for derivative

Digitization permits designer to convert continuous equations to a programmable form.

If sampling rate => 30xbandwidth the digital system approximates continuous. Therefore, continuous analyses will be applicable.

If sampling rate [10 – 30]xbandwidth the digital system deviates from continuous. Therefore, approximations are needed in this bandwidth. A 1st order analysis may be used by introducing a delay of T/2 into the system. The zero-pole linear transfer function Gh(s) is an approximation of a T/2 delay.

The effects of sampling rate may be more accurately analyzed in the frequency response where the phase may be decreased by the equation.

sT

sTK

sesusD d

i

11)()()( A continuous PID transfer function

)2()1(21)(1)1()( ke

TTke

TTke

TT

TTKkuku ddd

i

A digital PID transfer function implementation

For digital control systems with sampling rates < 30xbandwidth the design is often carried out in the discrete domain, eliminating approximation errors.

Page 23: 413Presentation2

EECE 413, Fall, 2006

23

Discrete StabilityDiscrete stability requires that the closed-loop system characteristic equation roots be in the unit circle, i.e.., they be < 1.

Examples: check for stability

u(k) = 0.9u(k-1) – 0.2u(k-2) is the characteristic equation, let u(k) = zk

zk = 0.9zk-1 – 0.2zk-2 then multiply by z-k

1 = 0.9z-1 – 0.2z-2 then multiply by z2

z2 = 0.9z – 0.2 z2 – 0.9z + 0.2 = 0 is the characteristic equation.roots([1 -0.9 0.2]) ans = [ 0.5000 0.4000] stable

u(k) = 0.5u(k-1) – 0.3u(k-2) is the characteristic equation, let u(k) = zk

zk = 0.5zk-1 – 0.3zk-2 then multiply by z-k

1 = 0.5z-1 – 0.3z-2 then multiply by z2

z2 = 0.5z – 0.3 z2 – 0.5z + 0.3 = 0 is the characteristic equation.roots([1 -0.5 0.3]) ans = [ 0.2500 + 0.4873i, 0.2500 - 0.4873i]abs(roots([1 -0.5 0.3])) ans = [ 0.5477 0.5477] stable

u(k) = 1.6u(k-1) – u(k-2) is the characteristic equation, let u(k) = zk

zk = 1.6zk-1 – zk-2 then multiply by z-k

1 = 1.6z-1 – z-2 then multiply by z2

z2 = 1.6z – 1 z2 – 1.6z + 1 = 0 is the characteristic equation.roots([1 -1.6 1]) ans = [ 0.8000 + 0.6000i, 0.8000 - 0.6000i]abs(roots([1 -1.6 1])) ans = [ 1.0000 1.0000] unstable

u(k) = 0.8u(k-1) + 0.4u(k-2) is the characteristic equation, let u(k) = zk

zk = 0.8zk-1 + 0.4zk-2 then multiply by z-k

1 = 0.8z-1 + 0.4z-2 then multiply by z2

z2 = 0.8z + 0.4 z2 – 0.8z - 0.4 = 0 is the characteristic equation.roots([1 -0.8 -0.4]) ans = [1.1483 -0.3483]] unstable

Page 24: 413Presentation2

EECE 413, Fall, 2006

24

Discrete StabilityDiscrete stability requires that the closed-loop system characteristic equation roots be in the unit circle, i.e.., they be < 1.

Problem 4.8Use matlab to determine how many roots of the following are outside the unit circle.(a) z2 + 0.25 = 0(b) z3 – 1.1z2 + 0.01z + 0.405 = 0(c) z3 – 3.6z2 + 4z – 1.6 = 0

(a) pa = [1 0 0.25];abs(roots(pa))ans = [0.5000 0.5000]All roots are inside the unit circle(b) pb = [1 -1.1 .01 .405];abs(roots(pb))ans = [0.9 0.9 0.5]All roots are inside the unit circle(c) pc = [1 -3.6 4 -1.6];abs(roots(pc))ans = [2 0.8944 0.8944]One root is outside the unit circle

Page 25: 413Presentation2

EECE 413, Fall, 2006

25

Discrete Example4.6 Show that the characteristic equation z2 – 2r cos(θ)z + r2 has the roots z1,2 = rexp(+_jθ)

Roots = [2r cos(θ) +- sqrt[(2r cos(θ))* (2r cos(θ)) – 4r2]]/2] = r cos(θ) +- r sqrt(cos2(θ) – 1)= r cos(θ) +- r sqrt(sin2(θ))= r cos(θ) +- jr sin(θ) = r (cos(θ) +- j sin(θ)) = rexp(+_jθ)

Block Diagrams

Parallel blocks

H1(z)

H2(z)

H(z) = H1(z) + H2(z)

H1(z) H2(z)Series blocks H(z) = H1(z) * H2(z)

H1(z)

H2(z)

Feedback TransferFunction

H(z) = H1(z) / [1 - H1(z) H2(z)]

H1(z) H2(z) H(z) = H1(z)H2(z) / [1 - H1(z) H2(z)]

Page 26: 413Presentation2

EECE 413, Fall, 2006

26

Block Diagrams

11

2112

)()()(

)(112

)(

)(

1

1

1

1

zzT

zzTzH

zEzU

zEzzTzU

zuzUk

kk

nn

mm

zazazazbzbbzH

2

21

1

110

1)(

)()()( 2

21

1

110

zazb

azazazzbzbzbzH

nnnn

mnm

nn

Recurrence or difference equation:uk = -a1uk-1 – a2uk-2 - … - anuk-n + b0ek + b1ek-1 + … bmek-m

Taking the z-transform we have:

If n>m we can write:

11 2 kkkk eeTuu

Trapezoidal rule

Z-1 T/2

Z-1

ek ek-1

uk

uk-1

Trapezoidal rule block diagram

Page 27: 413Presentation2

EECE 413, Fall, 2006

27

Canonical Forms & Block Diagrams

)()(,)()(

,)()()()()()()(

zEzazazE

zbzEzazbzEzHzU

)(12)(3,

,

321

322

13

322

13

kakakakekazazaez

azazaze

2k

Control canonical formIn the 3rd order case below u, e, & ζ are time variables and z is an advance operator.

Z-1 1k 3k

Z-1 Z-1

k

33 kz

Delay operators

Step 1: create state variables from above equation(s)

See figure 4.8 b & c, p. 86, for completion. In these figures the internal variables are x1, x2, & x3. These variables comprise the state of the system. Note that they are related: x3(k+1) = x2(k), etc. The sum at the far left of the figure is:

)()1()()1(

)()()()()1(

)()()()()1(

23

12

3322111

3322111

kxkxkxkx

kekxakxakxakx

kekxakxakxakx

Page 28: 413Presentation2

EECE 413, Fall, 2006

28

Vector Matrix Notation for Control Canonical Form

)()1()()1(

)()()()()1(

23

12

3322111

kxkxkxkx

kekxakxakxakx

)()()1( keBkxAkx cc

001

,010001,321

3

2

1

cc Baaa

Axxx

x

State equations Vector-Matrix form

where

The output equation is:

ebxbabxbabxbabu 0303320221011 )()()( Vector-Matrix form

eDxCu cc

0

033022011 ,bD

babbabbabC

c

c

where

Observer canonical form

ebzebezbezbuazuauzauz 322

13

0322

13 Note that e(k) is the external input and u(k) is the output.

We rewrite the above as

zebezbezbuazuauzauzuaeb 22

13

0322

13

33 This is used to build the block diagrams of figure 4.9 on p. 88.

Page 29: 413Presentation2

EECE 413, Fall, 2006

29

Observer Canonical Form

0

303

202

101

3

2

1

001

001001

)()()()()()1(

bDC

abbabbabb

B

aaa

A

keDkxCkukeBkxAkx

o

o

o

o

oo

oo

8.06.1

25.05.018.04.26.225.025.05.0

22

2

234

23

zzzzzzz

zzzzzzzzH

Constructing the Vector-Matrix form we have:

Control & observer canonical forms are ‘direct’ canonical forms because the gains of the realizations are coefficients in the block diagrams.

A very useful form is the cascade canonical form which is constructed by placing multiple 1st or 2nd order transfer functions in series. See the following example.

zzz2

181.06.125.05.0

2

2

zzzze(k) u(k)

Page 30: 413Presentation2

EECE 413, Fall, 2006

30

Discrete Models of Sampled Data Systems

ssGe Ts )(1

ssGeZ

ssGZ

ssGeZzG TsTs )()()(1)(

D/A G(s) A/Du(kT) y(t) y(kT)

The unit impulse response of a plant is:

Taking the z-transform we have:

Since the exponential term is exactly the delay of one period we have:

ssGZz

ssGZezG Ts )(1)(1)( 1

The D/A converter shown above is called a zero-order hold (ZOH). It accepts a sample at t = kT & holds its output constant at this value until the next sample is sent at t = kT + T. The output of the D/A is applied to the plant.

Which is the unit impulse transfer function of a ZOH.

Page 31: 413Presentation2

EECE 413, Fall, 2006

31

ZOH examples

ssGZzzG )(1)( 1

assassa

ssG

11)(

aT

aT

aT ezzez

ezz

zz

ssGZ

11

1)(

What is the discrete transfer function of G(s) = a/(s+a) preceded by a ZOH?

Using table look-ups we have:

aT

aT

aT

aT

aT

aT

eze

ezzez

zz

ezzezzzG

1

111

111)( 1

ssGZzzG )(1)( 1

3

1)(ss

sG

3

2

11

2)(

zzzT

ssGZ

What is the discrete transfer function of G(s) = 1/s/s preceded by a ZOH?

Using table look-ups we have:

2

2

3

21

11

211

21)(1)(

zzT

zzzT

zz

ssGZzzG

Page 32: 413Presentation2

EECE 413, Fall, 2006

32

ZOH examples

2115.0)(

zzzG

ssGZ

zzzG l

)(1)( 1 asasH

)(

ssGZzzG )(1)( 1 3

1)(ss

sG

What is the discrete transfer function of G(s) = 1/s/s preceded by a ZOH, using the sample period T = 1?

T = 1;numC = 1;denC = [1 0 0];sysc = tf(numC,denC);sysd = c2d(sysc,T);[numd,dend,T] = tfdata(sysd);

numd = [0 0.5 0.5], dend = [1 -2 1]G(z) =

0.5 z + 0.5----------------z^2 - 2 z + 1

ssGZzzG )(1)( 1

ssHee

ssHe

ssGsHesG

mTslTs

smTlTs )()()(),()(

What is the discrete transfer function of G(s) = 1/s/s preceded by a ZOH, using the sample period T = 1?

λ = lT-mT and l, m are integers. If

amT

amT

l

mTsmTs

l ezze

zz

zzz

ase

seZ

zzzG

1111)( 1

Page 33: 413Presentation2

EECE 413, Fall, 2006

33

ZOH Examples

amT

amT

l

mTsmTs

l ezze

zz

zzz

ase

seZ

zzzG

1111)( 1

amT

aTamT

aTlamT

eee

ezzzezG

1

1)(

aT

amTaT

l ezzezezz

zzzG

111)(

Zero position

For a = 1, T = 1, & λ = 1.5, we have: l = 2 & m = 0.5 & 3679.06025.0)( 2

zzzzG

Td = 1.5; a = 1; T = 1;Sysc = tf(a,[1 a],’td’,Td);Sysd = c2d(Sysc,T);

Matlab code that generates the transfer functions:

G(s) = 1exp(-1.5*s) * ----- s + 1

G(z) =

0.3935 z + 0.2387z^(-1) * ----------------------- z^2 - 0.3679 z

Page 34: 413Presentation2

EECE 413, Fall, 2006

34

ZOH Examples – 4.9 h

sK

313,1,,1,

313,

33,

5.1

22

2/

2

sse

ss

se

ss

sssssK TssT

Compute using matlab the discrete transfer function for the sampling period T = [0.05,0.5], if the G(s) is:

T = 0.05 G(z) = 0.05K -------- z - 1

ssGZzzG )(1)( 1

D/A G(s) A/Du(kT) y(t) y(kT)

T = 0.5 G(z) = 0.5K -------- z - 1

33ss

T = 0.05 G(z) = 0.003569 z + 0.003395 ------------------------------ z^2 - 1.861 z + 0.8607

T = 0.5 G(z) = 0.241 z + 0.1474 ------------------------z^2 - 1.223 z + 0.2231

-1 0 1-1

-0.8

-0.6

-0.4

-0.2

0

0.2

0.4

0.6

0.8

1Pole-Zero Map

Real Axis

Imag

inar

y A

xis

0 5 10 150

0.01

0.02

0.03

0.04

0.05

0.06Impulse Response

Time (sec)

Ampl

itude

0 5 10 150

2

4

6

8

10

12

14

16Step Response

Time (sec)

Ampl

itude

-1 0 1-1

-0.8

-0.6

-0.4

-0.2

0

0.2

0.4

0.6

0.8

1Pole-Zero Map

Real Axis

Imag

inar

y Ax

is

0 5 10 150

0.05

0.1

0.15

0.2

0.25

0.3

0.35

0.4

0.45

0.5Impulse Response

Time (sec)

Ampl

itude

0 5 10 150

5

10

15Step Response

Time (sec)

Ampl

itude

-1 0 1-1

-0.8

-0.6

-0.4

-0.2

0

0.2

0.4

0.6

0.8

1Pole-Zero Map

Real Axis

Imag

inar

y Ax

is

0 5 10 150

0.01

0.02

0.03

0.04

0.05

0.06Impulse Response

Time (sec)

Ampl

itude

0 5 10 150

5

10

15Step Response

Time (sec)

Ampl

itude

-1 0 1-1

-0.8

-0.6

-0.4

-0.2

0

0.2

0.4

0.6

0.8

1Pole-Zero Map

Real Axis

Imag

inar

y A

xis

0 5 10 150

0.1

0.2

0.3

0.4

0.5

0.6

0.7Impulse Response

Time (sec)

Ampl

itude

0 5 10 150

5

10

15Step Response

Time (sec)

Ampl

itude

Page 35: 413Presentation2

EECE 413, Fall, 2006

35

T = 0.05 G(z) = 0.00125 z + 0.00125 --------------------------- z^2 - 2 z + 1

T = 0.5 G(z) = 0.125 z + 0.125 ---------------------- z^2 - 2 z + 1

2

2/

sesT

ZOH Examples – 4.9 h

313 ss

2

1ss

-1 0 1-1

-0.8

-0.6

-0.4

-0.2

0

0.2

0.4

0.6

0.8

1Pole-Zero Map

Real Axis

Imag

inar

y A

xis

0 5 10 150

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8Impulse Response

Time (sec)

Ampl

itude

0 5 10 150

20

40

60

80

100

120Step Response

Time (sec)

Am

plitu

de

T = 0.05 G(z) = 0.00351 z + 0.003284 ------------------------------ z^2 - 1.812 z + 0.8187

T = 0.5 G(z) = 0.2018 z + 0.1039-------------------------------z^2 - 0.8297 z + 0.1353

T = 0.05 G(z) = 0.05125 z - 0.04875 --------------------------- z^2 - 2 z + 1

T = 0.5 G(z) = 0.625 z - 0.375 ---------------------- z^2 - 2 z + 1

-1 0 1-1

-0.8

-0.6

-0.4

-0.2

0

0.2

0.4

0.6

0.8

1Pole-Zero Map

Real Axis

Imag

inar

y Ax

is

0 5 10 150

0.005

0.01

0.015

0.02

0.025

0.03Impulse Response

Time (sec)

Ampl

itude

0 5 10 150

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1Step Response

Time (sec)

Ampl

itude

-1 0 1-1

-0.8

-0.6

-0.4

-0.2

0

0.2

0.4

0.6

0.8

1Pole-Zero Map

Real Axis

Imag

inar

y Ax

is

0 5 10 150

0.05

0.1

0.15

0.2

0.25

0.3

0.35Impulse Response

Time (sec)

Ampl

itude

0 5 10 150

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1Step Response

Time (sec)

Ampl

itude

-1 0 1-1

-0.8

-0.6

-0.4

-0.2

0

0.2

0.4

0.6

0.8

1Pole-Zero Map

Real Axis

Imag

inar

y Ax

is

0 5 10 150

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8Impulse Response

Time (sec)

Ampl

itude

0 5 10 150

20

40

60

80

100

120

140Step Response

Time (sec)Am

plitu

de

-1 0 1-1

-0.8

-0.6

-0.4

-0.2

0

0.2

0.4

0.6

0.8

1Pole-Zero Map

Real Axis

Imag

inar

y Ax

is

0 5 10 150

1

2

3

4

5

6

7

8Impulse Response

Time (sec)

Ampl

itude

0 5 10 150

20

40

60

80

100

120

140Step Response

Time (sec)

Ampl

itude

-1 0 1-1

-0.8

-0.6

-0.4

-0.2

0

0.2

0.4

0.6

0.8

1Pole-Zero Map

Real AxisIm

agin

ary

Axi

s0 5 10 15

0

1

2

3

4

5

6

7

8Impulse Response

Time (sec)

Ampl

itude

0 5 10 150

20

40

60

80

100

120Step Response

Time (sec)

Ampl

itude

Page 36: 413Presentation2

EECE 413, Fall, 2006

36

ZOH Examples – 4.9 h

313 5.1

sse Ts

2

1ss

T = 0.05 G(z) = -0.04875 z + 0.05125 ---------------------------- z^2 - 2 z + 1

T = 0.5 G(z) = 0.2018 z + 0.1039 -------------------------

z^2 - 2 z + 1

T = 0.05 G(z) = 0.00351 z + 0.003284 ---------------------------- z^2 - 1.812 z + 0.8187

T = 0.5 G(z) = 0.2018 z + 0.1039------ ----------------------

z^2 - 0.8297 z + 0.1353

-2 0 2-1

-0.8

-0.6

-0.4

-0.2

0

0.2

0.4

0.6

0.8

1Pole-Zero Map

Real Axis

Imag

inar

y A

xis

0 5 10 15-0.1

0

0.1

0.2

0.3

0.4

0.5

0.6

0.7Impulse Response

Time (sec)

Ampl

itude

0 5 10 15-20

0

20

40

60

80

100Step Response

Time (sec)

Ampl

itude

-2 0 2-1

-0.8

-0.6

-0.4

-0.2

0

0.2

0.4

0.6

0.8

1Pole-Zero Map

Real Axis

Imag

inar

y Ax

is

0 5 10 15-1

0

1

2

3

4

5

6

7Impulse Response

Time (sec)

Ampl

itude

0 5 10 15-20

0

20

40

60

80

100Step Response

Time (sec)

Ampl

itude

-1 0 1-1

-0.8

-0.6

-0.4

-0.2

0

0.2

0.4

0.6

0.8

1Pole-Zero Map

Real Axis

Imag

inar

y Ax

is

0 5 10 150

0.005

0.01

0.015

0.02

0.025

0.03Impulse Response

Time (sec)

Ampl

itude

0 5 10 150

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1Step Response

Time (sec)

Ampl

itude

-1 0 1-1

-0.8

-0.6

-0.4

-0.2

0

0.2

0.4

0.6

0.8

1Pole-Zero Map

Real Axis

Imag

inar

y Ax

is

0 5 10 150

0.05

0.1

0.15

0.2

0.25

0.3

0.35Impulse Response

Time (sec)

Ampl

itude

0 5 10 150

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1Step Response

Time (sec)

Ampl

itude

Page 37: 413Presentation2

EECE 413, Fall, 2006

37

ZOH Examples – 4.9 h% Prob_4_9h.m%clear *i = 14;if i == 1,num = 1;den = [1 0];T = 0.05;endif i == 2,num = 1;den = [1 0];T = 0.5;endif i == 3,num = 3;den = [1 3 0];T = 0.05;endif i == 4,num = 3;den = [1 3 0];T = 0.5;endif i == 5,num = 3;den = [1 4 3];T = 0.05;endif i == 6,num = 3;den = [1 4 3];T = 0.5;endif i == 7,num = [1 1];den = [1 0 0];T = 0.05;endif i == 8,num = [1 1];den = [1 0 0];T = 0.5;endif i == 9,num = 1;den = [1 0 0];T = 0.05;sys = tf(num,den,'InputDelay',T/2);sysd = c2d(sys,T);endif i == 10,num = 1;den = [1 0 0];T = 0.5;sys = tf(num,den,'InputDelay',T/2);sysd = c2d(sys,T);endif i == 11,num = [-1 1];den = [1 0 0];T = 0.05;endif i == 12,num = [-1 1];den = [1 0 0];T = 0.5;endif i == 13,num = 3;den = [1 4 3];T = 0.05;sys = tf(num,den,'InputDelay',1.5*T);sysd = c2d(sys,T);endif i == 14,num = 3;den = [1 4 3];T = 0.5;sys = tf(num,den,'InputDelay',1.5*T);sysd = c2d(sys,T);endif i~=(9|10|13|14),[numd,dend] = tfc2tfd(num,den,T);sysd = tf(numd,dend,T),endfigure(1)subplot(131)pzmap(sysd)subplot(132)impulse(sysd,'*:',0:T:15)subplot(133)step(sysd,'*:',0:T:15)

Matlab code:Note that 9, 10, 13, & 14 handle transport delays in addition to the sampling intervals. All the rest deal only with sampling intervals.

eig(sys) may be used to calculate the system poles.

Page 38: 413Presentation2

EECE 413, Fall, 2006

38

Discrete Models of State Space Systems

JuHxywGGuFxx

1

)()()()()1( 1

kHxykwkukxkx

NFTI

NFTFTIFTI

TGTGkTFGde

FTTFTFFTIe

k

kkTF

FT

132

!1

!3!2

00

3322

D/A F,G,H A/Du(kT) y(t) y(kT)

1

)()(

);()(

),()(

zIHzUzY

zHXzY

zUzXzI

Z-transform gives us (with w = 0):

Example Φ & Γ calculation.

NFTI

NFTFTIFTI

TGFT

132

01,10

,0010

HGF

T

TT

TTG

TTTFTI

TTTFFTI

210

102

1

101

102

10010

1001

102

1200

101001

!3!2

2

22

Sysc = ss(F,G,H,J);Sysd = c2d(Sysc,T);[phi,gam,h,J] = ssdata(Sysd);

Page 39: 413Presentation2

EECE 413, Fall, 2006

39

Algorithm for State Space Discretization

TGFTI

endkFTI

kforIInitialize

,

11:1_,

)()()(),()()1(

,

,,,,,,,,,,,,

),(),,(

0000

0000

kJukHxkykukxkx

thenJuHxyGuFxx

whereuxhJuxhHuxfGuxfF

uxhyuxfx

ux

ux

Sysc = ss(F,G,H,J);Sysd = c2d(Sysc,T);[phi,gam,h,J] = ssdata(Sysd);

System poles & zerosSystem poles may be obtained from lam = eig(phi). System zeros (transmission zeros) may be computed by zer = tzeros(sysD).

Nonlinear ModelsMost systems are nonlinear. To use the linear techniques one must linearize the models by partial differentiation as shown below. For a system described below we have:

uhh

xhh

uff

xff

ux

ux

,,,

,,,,

Page 40: 413Presentation2

EECE 413, Fall, 2006

40

Dynamic Response7.0z

z

45,7.0,cos2cos

22

r

rzrzrzz

1zz

-1 0 1-1

-0.8

-0.6

-0.4

-0.2

0

0.2

0.4

0.6

0.8

1Pole-Zero Map

Real Axis

Imag

inar

y A

xis

0 5 100

0.2

0.4

0.6

0.8

1

1.2

1.4

1.6

1.8

2Impulse Response

Time (sec)

Am

plitu

de

0 5 101

2

3

4

5

6

7

8

9

10

11Step Response

Time (sec)

Am

plitu

de

-1 0 1-1

-0.8

-0.6

-0.4

-0.2

0

0.2

0.4

0.6

0.8

1Pole-Zero Map

Real Axis

Imag

inar

y Ax

is

0 5 100

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1Impulse Response

Time (sec)

Ampl

itude

0 5 101

1.5

2

2.5

3

3.5Step Response

Time (sec)

Ampl

itude

-1 0 1-1

-0.8

-0.6

-0.4

-0.2

0

0.2

0.4

0.6

0.8

1Pole-Zero Map

Real Axis

Imag

inar

y Ax

is

0 5 10 15-0.4

-0.2

0

0.2

0.4

0.6

0.8

1Impulse Response

Time (sec)

Ampl

itude

0 5 10 150.8

0.9

1

1.1

1.2

1.3

1.4

1.5Step Response

Time (sec)

Ampl

itude

45,98.0,cos2cos

22

r

rzrzrzz

-1 0 1-1

-0.8

-0.6

-0.4

-0.2

0

0.2

0.4

0.6

0.8

1Pole-Zero Map

Real Axis

Imag

inar

y Ax

is

0 5 10 15-1

-0.8

-0.6

-0.4

-0.2

0

0.2

0.4

0.6

0.8

1Impulse Response

Time (sec)

Ampl

itude

0 5 10 15-1

-0.5

0

0.5

1

1.5

2Step Response

Time (sec)

Ampl

itude

0,8.0,cos2cos

22

r

rzrzrzz

-1 0 1-1

-0.8

-0.6

-0.4

-0.2

0

0.2

0.4

0.6

0.8

1Pole-Zero Map

Real Axis

Imag

inar

y A

xis

0 5 10 150

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1Impulse Response

Time (sec)

Ampl

itude

0 5 10 151

1.5

2

2.5

3

3.5

4

4.5

5Step Response

Time (sec)

Ampl

itude

T = 0.5;for i = 1:5 if i==1,sysd = tf([1 0],[1 -1],T);end if i==2,sysd = tf([1 0],[1 -0.7],T);end if i==3, r=0.7;th=pi/180*45; sysd=tf([1 -r*cos(th) 0],[1 -2*r*cos(th) r*r],T); end if i==4, r=0.98;th=pi/180*45; sysd=tf([1 -r*cos(th) 0],[1 -2*r*cos(th) r*r],T); end if i==5, r=0.8;th=pi/180*0; sysd=tf([1 -r*cos(th) 0],[1 -2*r*cos(th) r*r],T); end figure(i) subplot(131) pzmap(sysd) subplot(132) impulse(sysd,'*:',0:T:15) subplot(133) step(sysd,'*:',0:T:15)end

Page 41: 413Presentation2

EECE 413, Fall, 2006

41

Dynamic Response

180,8.0,cos2cos

22

r

rzrzrzz

-1 0 1-1

-0.8

-0.6

-0.4

-0.2

0

0.2

0.4

0.6

0.8

1Pole-Zero Map

Real Axis

Imag

inar

y A

xis

0 5 10 15-0.8

-0.6

-0.4

-0.2

0

0.2

0.4

0.6

0.8

1Impulse Response

Time (sec)

Am

plitu

de

0 5 10 150.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1Step Response

Time (sec)

Ampl

itude

90,8.0,cos2cos

22

r

rzrzrzz

135,8.0,

cos2cos

22

r

rzrzrzz

-1 0 1-1

-0.8

-0.6

-0.4

-0.2

0

0.2

0.4

0.6

0.8

1Pole-Zero Map

Real AxisIm

agin

ary

Axi

s

0 5 10 15-0.8

-0.6

-0.4

-0.2

0

0.2

0.4

0.6

0.8

1Impulse Response

Time (sec)

Am

plitu

de

0 5 10 15

0.4

0.5

0.6

0.7

0.8

0.9

1Step Response

Time (sec)

Am

plitu

de

-1 0 1-1

-0.8

-0.6

-0.4

-0.2

0

0.2

0.4

0.6

0.8

1Pole-Zero Map

Real Axis

Imag

inar

y Ax

is

0 5 10 15-0.6

-0.4

-0.2

0

0.2

0.4

0.6

0.8

1Impulse Response

Time (sec)

Ampl

itude

0 5 10 15

0.4

0.5

0.6

0.7

0.8

0.9

1Step Response

Time (sec)

Ampl

itude

if i==6, r=0.8;th=pi/180*180; sysd=tf([1 -r*cos(th) 0],[1 -2*r*cos(th) r*r],T); end if i==7, r=0.8;th=pi/180*90; sysd=tf([1 -r*cos(th) 0],[1 -2*r*cos(th) r*r],T); end if i==8, r=0.8;th=pi/180*135; sysd=tf([1 -r*cos(th) 0],[1 -2*r*cos(th) r*r],T); end

Page 42: 413Presentation2

EECE 413, Fall, 2006

42

-1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 10

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1

0.9

0.8

0.7

0.6

0.5

0.4

0.3

0.2

0.1

0.9/T

0.8/T

0.7/T

0.6/T0.5/T

0.4/T

0.3/T

0.2/T

0.1/T

Time Domain Link

jbasjs nn

21

bTT

eer

whererez

n

aTT

j

n

21

,

,

s-planez-plane

Θ - Normalized signal frequency in radians/secondaxis([-1 1 0 1]),zgrid('new')

Page 43: 413Presentation2

EECE 413, Fall, 2006

43

Prob 4.19For a 2nd order system with damping ratio 0.5 and poles at an angle in the z-plane of 30 degrees,

what % overshoot to a step would you expect if the system had a zero at z2 = 0.6?

bTT

eer

whererez

n

aTT

j

n

21

,

,

2

2

1

,cos6.0

6.0cos

T

eer

r

rz

n

aTTn