1. Internal Model Principle - Moudgalyamoudgalya.org/digital-slides/structure-1.pdf · 1. Internal...

Post on 16-Oct-2019

2 views 0 download

Transcript of 1. Internal Model Principle - Moudgalyamoudgalya.org/digital-slides/structure-1.pdf · 1. Internal...

1. Internal Model Principle

1. Internal Model Principle

r

−G(z) =

B

AGc(z) =

Sc

Rc

ue y

v

1. Internal Model Principle

r

−G(z) =

B

AGc(z) =

Sc

Rc

ue y

v

• α(z) = least common multiple of the unstable poles ofRc(z) and of V (z),

1. Internal Model Principle

r

−G(z) =

B

AGc(z) =

Sc

Rc

ue y

v

• α(z) = least common multiple of the unstable poles ofRc(z) and of V (z), all polynomials in z−1

1. Internal Model Principle

r

−G(z) =

B

AGc(z) =

Sc

Rc

ue y

v

• α(z) = least common multiple of the unstable poles ofRc(z) and of V (z), all polynomials in z−1

• Let there be no common factors between α(z) and B(z)

1. Internal Model Principle

r

−G(z) =

B

AGc(z) =

Sc

Rc

ue y

v

• α(z) = least common multiple of the unstable poles ofRc(z) and of V (z), all polynomials in z−1

• Let there be no common factors between α(z) and B(z)

• Can find a controller Gc(z) for servo/tracking (followingRc)

1. Internal Model Principle

r

−G(z) =

B

AGc(z) =

Sc

Rc

ue y

v

• α(z) = least common multiple of the unstable poles ofRc(z) and of V (z), all polynomials in z−1

• Let there be no common factors between α(z) and B(z)

• Can find a controller Gc(z) for servo/tracking (followingRc) and regulation (rejection of disturbance V )

1. Internal Model Principle

r

−G(z) =

B

AGc(z) =

Sc

Rc

ue y

v

• α(z) = least common multiple of the unstable poles ofRc(z) and of V (z), all polynomials in z−1

• Let there be no common factors between α(z) and B(z)

• Can find a controller Gc(z) for servo/tracking (followingRc) and regulation (rejection of disturbance V ) if Rc con-tains α,

1. Internal Model Principle

r

−G(z) =

B

AGc(z) =

Sc

Rc

ue y

v

• α(z) = least common multiple of the unstable poles ofRc(z) and of V (z), all polynomials in z−1

• Let there be no common factors between α(z) and B(z)

• Can find a controller Gc(z) for servo/tracking (followingRc) and regulation (rejection of disturbance V ) if Rc con-tains α, say, Rc = αR1:

1. Internal Model Principle

r

−G(z) =

B

AGc(z) =

Sc

Rc

ue y

v

• α(z) = least common multiple of the unstable poles ofRc(z) and of V (z), all polynomials in z−1

• Let there be no common factors between α(z) and B(z)

• Can find a controller Gc(z) for servo/tracking (followingRc) and regulation (rejection of disturbance V ) if Rc con-tains α, say, Rc = αR1:

e(n)

y(n)G =

B

A

r(n)Gc =

Sc

αR1

u(n)

v(n)

Digital Control 1 Kannan M. Moudgalya, Autumn 2007

2. Internal Model Principle - Regulation

2. Internal Model Principle - Regulation

e(n)

y(n)G =

B

A

r(n)Gc =

Sc

αR1

u(n)

v(n)

2. Internal Model Principle - Regulation

e(n)

y(n)G =

B

A

r(n)Gc =

Sc

αR1

u(n)

v(n)

Y (z) =

Sc

R1

1

α

B

A

1 +Sc

R1

1

α

B

A

R

2. Internal Model Principle - Regulation

e(n)

y(n)G =

B

A

r(n)Gc =

Sc

αR1

u(n)

v(n)

Y (z) =

Sc

R1

1

α

B

A

1 +Sc

R1

1

α

B

A

R+1

1 +Sc

R1

1

α

B

A

V

2. Internal Model Principle - Regulation

e(n)

y(n)G =

B

A

r(n)Gc =

Sc

αR1

u(n)

v(n)

Y (z) =

Sc

R1

1

α

B

A

1 +Sc

R1

1

α

B

A

R+1

1 +Sc

R1

1

α

B

A

V

=ScB

R1Aα+ ScBR

2. Internal Model Principle - Regulation

e(n)

y(n)G =

B

A

r(n)Gc =

Sc

αR1

u(n)

v(n)

Y (z) =

Sc

R1

1

α

B

A

1 +Sc

R1

1

α

B

A

R+1

1 +Sc

R1

1

α

B

A

V

=ScB

R1Aα+ ScBR+

R1Aα

R1Aα+ ScB

bV

αaV

2. Internal Model Principle - Regulation

e(n)

y(n)G =

B

A

r(n)Gc =

Sc

αR1

u(n)

v(n)

Y (z) =

Sc

R1

1

α

B

A

1 +Sc

R1

1

α

B

A

R+1

1 +Sc

R1

1

α

B

A

V

=ScB

R1Aα+ ScBR+

R1Aα

R1Aα+ ScB

bV

αaV• Unstable pole present in α gets cancelled

2. Internal Model Principle - Regulation

e(n)

y(n)G =

B

A

r(n)Gc =

Sc

αR1

u(n)

v(n)

Y (z) =

Sc

R1

1

α

B

A

1 +Sc

R1

1

α

B

A

R+1

1 +Sc

R1

1

α

B

A

V

=ScB

R1Aα+ ScBR+

R1Aα

R1Aα+ ScB

bV

αaV• Unstable pole present in α gets cancelled

• Regulation problem verifiedDigital Control 2 Kannan M. Moudgalya, Autumn 2007

3. Internal Model Principle - Servo

3. Internal Model Principle - Servo

e(n)

y(n)G =

B

A

r(n)Gc =

Sc

αR1

u(n)

v(n)

3. Internal Model Principle - Servo

e(n)

y(n)G =

B

A

r(n)Gc =

Sc

αR1

u(n)

v(n)

Y (z) =ScB

R1Aα+ ScBR+

R1Aα

R1Aα+ ScBV

3. Internal Model Principle - Servo

e(n)

y(n)G =

B

A

r(n)Gc =

Sc

αR1

u(n)

v(n)

Y (z) =ScB

R1Aα+ ScBR+

R1Aα

R1Aα+ ScBV

Servo problem: assume V = 0:

3. Internal Model Principle - Servo

e(n)

y(n)G =

B

A

r(n)Gc =

Sc

αR1

u(n)

v(n)

Y (z) =ScB

R1Aα+ ScBR+

R1Aα

R1Aα+ ScBV

Servo problem: assume V = 0:

E(z) = R(z)− Y (z)

3. Internal Model Principle - Servo

e(n)

y(n)G =

B

A

r(n)Gc =

Sc

αR1

u(n)

v(n)

Y (z) =ScB

R1Aα+ ScBR+

R1Aα

R1Aα+ ScBV

Servo problem: assume V = 0:

E(z) = R(z)− Y (z)

=

(1− ScB

R1Aα+ ScB

)R

3. Internal Model Principle - Servo

e(n)

y(n)G =

B

A

r(n)Gc =

Sc

αR1

u(n)

v(n)

Y (z) =ScB

R1Aα+ ScBR+

R1Aα

R1Aα+ ScBV

Servo problem: assume V = 0:

E(z) = R(z)− Y (z)

=

(1− ScB

R1Aα+ ScB

)R =

R1Aα

R1Aα+ ScB

bR

αaR

3. Internal Model Principle - Servo

e(n)

y(n)G =

B

A

r(n)Gc =

Sc

αR1

u(n)

v(n)

Y (z) =ScB

R1Aα+ ScBR+

R1Aα

R1Aα+ ScBV

Servo problem: assume V = 0:

E(z) = R(z)− Y (z)

=

(1− ScB

R1Aα+ ScB

)R =

R1Aα

R1Aα+ ScB

bR

αaR• Unstable poles of Rc are cancelled by zeros of α.

3. Internal Model Principle - Servo

e(n)

y(n)G =

B

A

r(n)Gc =

Sc

αR1

u(n)

v(n)

Y (z) =ScB

R1Aα+ ScBR+

R1Aα

R1Aα+ ScBV

Servo problem: assume V = 0:

E(z) = R(z)− Y (z)

=

(1− ScB

R1Aα+ ScB

)R =

R1Aα

R1Aα+ ScB

bR

αaR• Unstable poles of Rc are cancelled by zeros of α.

• Can choose Rc and Sc such that R1Aα+ ScB has rootswithin the unit circle

3. Internal Model Principle - Servo

e(n)

y(n)G =

B

A

r(n)Gc =

Sc

αR1

u(n)

v(n)

Y (z) =ScB

R1Aα+ ScBR+

R1Aα

R1Aα+ ScBV

Servo problem: assume V = 0:

E(z) = R(z)− Y (z)

=

(1− ScB

R1Aα+ ScB

)R =

R1Aα

R1Aα+ ScB

bR

αaR• Unstable poles of Rc are cancelled by zeros of α.

• Can choose Rc and Sc such that R1Aα+ ScB has rootswithin the unit circle (pole placement)

3. Internal Model Principle - Servo

e(n)

y(n)G =

B

A

r(n)Gc =

Sc

αR1

u(n)

v(n)

Y (z) =ScB

R1Aα+ ScBR+

R1Aα

R1Aα+ ScBV

Servo problem: assume V = 0:

E(z) = R(z)− Y (z)

=

(1− ScB

R1Aα+ ScB

)R =

R1Aα

R1Aα+ ScB

bR

αaR• Unstable poles of Rc are cancelled by zeros of α.

• Can choose Rc and Sc such that R1Aα+ ScB has rootswithin the unit circle (pole placement)

• IM Principle:

3. Internal Model Principle - Servo

e(n)

y(n)G =

B

A

r(n)Gc =

Sc

αR1

u(n)

v(n)

Y (z) =ScB

R1Aα+ ScBR+

R1Aα

R1Aα+ ScBV

Servo problem: assume V = 0:

E(z) = R(z)− Y (z)

=

(1− ScB

R1Aα+ ScB

)R =

R1Aα

R1Aα+ ScB

bR

αaR• Unstable poles of Rc are cancelled by zeros of α.

• Can choose Rc and Sc such that R1Aα+ ScB has rootswithin the unit circle (pole placement)

• IM Principle: unstable poles of V , Rc appear in loop

3. Internal Model Principle - Servo

e(n)

y(n)G =

B

A

r(n)Gc =

Sc

αR1

u(n)

v(n)

Y (z) =ScB

R1Aα+ ScBR+

R1Aα

R1Aα+ ScBV

Servo problem: assume V = 0:

E(z) = R(z)− Y (z)

=

(1− ScB

R1Aα+ ScB

)R =

R1Aα

R1Aα+ ScB

bR

αaR• Unstable poles of Rc are cancelled by zeros of α.

• Can choose Rc and Sc such that R1Aα+ ScB has rootswithin the unit circle (pole placement)

• IM Principle: unstable poles of V , Rc appear in loop thro’α

Digital Control 3 Kannan M. Moudgalya, Autumn 2007

4. Internal Stability

4. Internal Stability

u(n)e(n)

y(n)+

r(n)gc(n) g(n)

4. Internal Stability

u(n)e(n)

y(n)+

r(n)gc(n) g(n)

• Notion in UG classes: output has to be stable

4. Internal Stability

u(n)e(n)

y(n)+

r(n)gc(n) g(n)

• Notion in UG classes: output has to be stable

• Output being stable is not sufficient

4. Internal Stability

u(n)e(n)

y(n)+

r(n)gc(n) g(n)

• Notion in UG classes: output has to be stable

• Output being stable is not sufficient

• Every signal in the loop should be bounded

4. Internal Stability

u(n)e(n)

y(n)+

r(n)gc(n) g(n)

• Notion in UG classes: output has to be stable

• Output being stable is not sufficient

• Every signal in the loop should be bounded

• If any signal is unbounded, will result in saturation / overflow/ explosion

4. Internal Stability

u(n)e(n)

y(n)+

r(n)gc(n) g(n)

• Notion in UG classes: output has to be stable

• Output being stable is not sufficient

• Every signal in the loop should be bounded

• If any signal is unbounded, will result in saturation / overflow/ explosion

• When every signal is bounded, called internal stability

4. Internal Stability

u(n)e(n)

y(n)+

r(n)gc(n) g(n)

• Notion in UG classes: output has to be stable

• Output being stable is not sufficient

• Every signal in the loop should be bounded

• If any signal is unbounded, will result in saturation / overflow/ explosion

• When every signal is bounded, called internal stability

• If output is stable and if there is no unstable pole-zero can-cellation, internal stability

Digital Control 4 Kannan M. Moudgalya, Autumn 2007

5. Unstb. Pole-Zero Cancel. = No Int. Stability

5. Unstb. Pole-Zero Cancel. = No Int. Stability

+−

+r1

Gc =n2

d2

r2

G =n1

d1

e1 e2 y+

5. Unstb. Pole-Zero Cancel. = No Int. Stability

+−

+r1

Gc =n2

d2

r2

G =n1

d1

e1 e2 y+

[E1

E2

]=

1

1 +GGc

− G

1 +GGcGc

1 +GcG

1

1 +GcG

[R1

R2

]

5. Unstb. Pole-Zero Cancel. = No Int. Stability

+−

+r1

Gc =n2

d2

r2

G =n1

d1

e1 e2 y+

[E1

E2

]=

1

1 +GGc

− G

1 +GGcGc

1 +GcG

1

1 +GcG

[R1

R2

]

=

d1d2

n1n2 + d1d2

− n1d2

n1n2 + d1d2n2d1

n1n2 + d1d2

d1d2

n1n2 + d1d2

[R1

R2

]

5. Unstb. Pole-Zero Cancel. = No Int. Stability

+−

+r1

Gc =n2

d2

r2

G =n1

d1

e1 e2 y+

[E1

E2

]=

1

1 +GGc

− G

1 +GGcGc

1 +GcG

1

1 +GcG

[R1

R2

]

=

d1d2

n1n2 + d1d2

− n1d2

n1n2 + d1d2n2d1

n1n2 + d1d2

d1d2

n1n2 + d1d2

[R1

R2

]Suppose d1, n2 have a common factor:

5. Unstb. Pole-Zero Cancel. = No Int. Stability

+−

+r1

Gc =n2

d2

r2

G =n1

d1

e1 e2 y+

[E1

E2

]=

1

1 +GGc

− G

1 +GGcGc

1 +GcG

1

1 +GcG

[R1

R2

]

=

d1d2

n1n2 + d1d2

− n1d2

n1n2 + d1d2n2d1

n1n2 + d1d2

d1d2

n1n2 + d1d2

[R1

R2

]Suppose d1, n2 have a common factor:

d1 = (z + a)d′1n2 = (z + a)n′2

Digital Control 5 Kannan M. Moudgalya, Autumn 2007

6. Unstable Pole-Zero Cancellation = No InternalStability

6. Unstable Pole-Zero Cancellation = No InternalStability

Assume the cancellation of z + a,

G(z) =n1(z)

(z + a)d′1(z), Gc(z) =

(z + a)n′2(z)

d2(z)

6. Unstable Pole-Zero Cancellation = No InternalStability

Assume the cancellation of z + a,

G(z) =n1(z)

(z + a)d′1(z), Gc(z) =

(z + a)n′2(z)

d2(z)

with |a| > 1.

6. Unstable Pole-Zero Cancellation = No InternalStability

Assume the cancellation of z + a,

G(z) =n1(z)

(z + a)d′1(z), Gc(z) =

(z + a)n′2(z)

d2(z)

with |a| > 1. Assume stability of

TE

6. Unstable Pole-Zero Cancellation = No InternalStability

Assume the cancellation of z + a,

G(z) =n1(z)

(z + a)d′1(z), Gc(z) =

(z + a)n′2(z)

d2(z)

with |a| > 1. Assume stability of

TE =1

1 +GGc

6. Unstable Pole-Zero Cancellation = No InternalStability

Assume the cancellation of z + a,

G(z) =n1(z)

(z + a)d′1(z), Gc(z) =

(z + a)n′2(z)

d2(z)

with |a| > 1. Assume stability of

TE =1

1 +GGc

=d′1d2

d′1d2 + n1n′2

6. Unstable Pole-Zero Cancellation = No InternalStability

Assume the cancellation of z + a,

G(z) =n1(z)

(z + a)d′1(z), Gc(z) =

(z + a)n′2(z)

d2(z)

with |a| > 1. Assume stability of

TE =1

1 +GGc

=d′1d2

d′1d2 + n1n′2

T.F. between R2 and Y can be shown to be unstable.

6. Unstable Pole-Zero Cancellation = No InternalStability

Assume the cancellation of z + a,

G(z) =n1(z)

(z + a)d′1(z), Gc(z) =

(z + a)n′2(z)

d2(z)

with |a| > 1. Assume stability of

TE =1

1 +GGc

=d′1d2

d′1d2 + n1n′2

T.F. between R2 and Y can be shown to be unstable. LetR1 = 0.

6. Unstable Pole-Zero Cancellation = No InternalStability

Assume the cancellation of z + a,

G(z) =n1(z)

(z + a)d′1(z), Gc(z) =

(z + a)n′2(z)

d2(z)

with |a| > 1. Assume stability of

TE =1

1 +GGc

=d′1d2

d′1d2 + n1n′2

T.F. between R2 and Y can be shown to be unstable. LetR1 = 0.

Y

R2

=G

1 +GGc

=n1d2

(d′1d2 + n1n′2)(z + a)

6. Unstable Pole-Zero Cancellation = No InternalStability

Assume the cancellation of z + a,

G(z) =n1(z)

(z + a)d′1(z), Gc(z) =

(z + a)n′2(z)

d2(z)

with |a| > 1. Assume stability of

TE =1

1 +GGc

=d′1d2

d′1d2 + n1n′2

T.F. between R2 and Y can be shown to be unstable. LetR1 = 0.

Y

R2

=G

1 +GGc

=n1d2

(d′1d2 + n1n′2)(z + a)

It is unstable

6. Unstable Pole-Zero Cancellation = No InternalStability

Assume the cancellation of z + a,

G(z) =n1(z)

(z + a)d′1(z), Gc(z) =

(z + a)n′2(z)

d2(z)

with |a| > 1. Assume stability of

TE =1

1 +GGc

=d′1d2

d′1d2 + n1n′2

T.F. between R2 and Y can be shown to be unstable. LetR1 = 0.

Y

R2

=G

1 +GGc

=n1d2

(d′1d2 + n1n′2)(z + a)

It is unstable and a bounded signal injected at R2 will producean unbounded signal at YDigital Control 6 Kannan M. Moudgalya, Autumn 2007

7. Forbid Unstable Pole-Zero Cancellation: LoopVariable

7. Forbid Unstable Pole-Zero Cancellation: LoopVariable

• Internal stability = all variables in loop are bounded for boundedexternal inputs at all locations

7. Forbid Unstable Pole-Zero Cancellation: LoopVariable

• Internal stability = all variables in loop are bounded for boundedexternal inputs at all locations

• Can be checked by the following closed loop diagram

7. Forbid Unstable Pole-Zero Cancellation: LoopVariable

• Internal stability = all variables in loop are bounded for boundedexternal inputs at all locations

• Can be checked by the following closed loop diagram

+−

+r1

Gc=

n2

d2

r2

G =n1

d1

e1 e2 y+

7. Forbid Unstable Pole-Zero Cancellation: LoopVariable

• Internal stability = all variables in loop are bounded for boundedexternal inputs at all locations

• Can be checked by the following closed loop diagram

+−

+r1

Gc=

n2

d2

r2

G =n1

d1

e1 e2 y+

• Can show that Output is stable + no pole-zero cancellation= internal stability

Digital Control 7 Kannan M. Moudgalya, Autumn 2007

8. Forbid Unstable Pole-Zero Cancellation ⇒ GetCausality

8. Forbid Unstable Pole-Zero Cancellation ⇒ GetCausality

Not possible to realize this controller:

Gc =1 + z−1

z−1

8. Forbid Unstable Pole-Zero Cancellation ⇒ GetCausality

Not possible to realize this controller:

Gc =1 + z−1

z−1

All sampled systems have at least one delay:

8. Forbid Unstable Pole-Zero Cancellation ⇒ GetCausality

Not possible to realize this controller:

Gc =1 + z−1

z−1

All sampled systems have at least one delay:

G(z−1) = z−kB(z−1)

A(z−1)= z−k

b0 + b1z−1 + b2z

−2 + · · ·1 + a1z−1 + a2z−2 + · · ·

8. Forbid Unstable Pole-Zero Cancellation ⇒ GetCausality

Not possible to realize this controller:

Gc =1 + z−1

z−1

All sampled systems have at least one delay:

G(z−1) = z−kB(z−1)

A(z−1)= z−k

b0 + b1z−1 + b2z

−2 + · · ·1 + a1z−1 + a2z−2 + · · ·

• Controller not realizable ⇒

8. Forbid Unstable Pole-Zero Cancellation ⇒ GetCausality

Not possible to realize this controller:

Gc =1 + z−1

z−1

All sampled systems have at least one delay:

G(z−1) = z−kB(z−1)

A(z−1)= z−k

b0 + b1z−1 + b2z

−2 + · · ·1 + a1z−1 + a2z−2 + · · ·

• Controller not realizable ⇒ there is a common factor z−1

between plant and controller

8. Forbid Unstable Pole-Zero Cancellation ⇒ GetCausality

Not possible to realize this controller:

Gc =1 + z−1

z−1

All sampled systems have at least one delay:

G(z−1) = z−kB(z−1)

A(z−1)= z−k

b0 + b1z−1 + b2z

−2 + · · ·1 + a1z−1 + a2z−2 + · · ·

• Controller not realizable ⇒ there is a common factor z−1

between plant and controller

• z−1 = 0⇒

8. Forbid Unstable Pole-Zero Cancellation ⇒ GetCausality

Not possible to realize this controller:

Gc =1 + z−1

z−1

All sampled systems have at least one delay:

G(z−1) = z−kB(z−1)

A(z−1)= z−k

b0 + b1z−1 + b2z

−2 + · · ·1 + a1z−1 + a2z−2 + · · ·

• Controller not realizable ⇒ there is a common factor z−1

between plant and controller

• z−1 = 0⇒ z =∞, an unstable pole

8. Forbid Unstable Pole-Zero Cancellation ⇒ GetCausality

Not possible to realize this controller:

Gc =1 + z−1

z−1

All sampled systems have at least one delay:

G(z−1) = z−kB(z−1)

A(z−1)= z−k

b0 + b1z−1 + b2z

−2 + · · ·1 + a1z−1 + a2z−2 + · · ·

• Controller not realizable ⇒ there is a common factor z−1

between plant and controller

• z−1 = 0⇒ z =∞, an unstable pole

• If unstable pole-zero cancellation is forbidden while designingcontrollers,

8. Forbid Unstable Pole-Zero Cancellation ⇒ GetCausality

Not possible to realize this controller:

Gc =1 + z−1

z−1

All sampled systems have at least one delay:

G(z−1) = z−kB(z−1)

A(z−1)= z−k

b0 + b1z−1 + b2z

−2 + · · ·1 + a1z−1 + a2z−2 + · · ·

• Controller not realizable ⇒ there is a common factor z−1

between plant and controller

• z−1 = 0⇒ z =∞, an unstable pole

• If unstable pole-zero cancellation is forbidden while designingcontrollers, z−1 cannot appear in the denominator of thecontroller

8. Forbid Unstable Pole-Zero Cancellation ⇒ GetCausality

Not possible to realize this controller:

Gc =1 + z−1

z−1

All sampled systems have at least one delay:

G(z−1) = z−kB(z−1)

A(z−1)= z−k

b0 + b1z−1 + b2z

−2 + · · ·1 + a1z−1 + a2z−2 + · · ·

• Controller not realizable ⇒ there is a common factor z−1

between plant and controller

• z−1 = 0⇒ z =∞, an unstable pole

• If unstable pole-zero cancellation is forbidden while designingcontrollers, z−1 cannot appear in the denominator of thecontroller - i.e., controller is realizable

Digital Control 8 Kannan M. Moudgalya, Autumn 2007

9. Delay Specification for Realizability

9. Delay Specification for Realizability

Closed loop delay has to be ≥ open loop delay:

9. Delay Specification for Realizability

Closed loop delay has to be ≥ open loop delay:

G(z) = z−kB(z)

A(z)

9. Delay Specification for Realizability

Closed loop delay has to be ≥ open loop delay:

G(z) = z−kB(z)

A(z)= z−k

b0 + b1z−1 + · · ·

1 + a1z−1 + · · ·

9. Delay Specification for Realizability

Closed loop delay has to be ≥ open loop delay:

G(z) = z−kB(z)

A(z)= z−k

b0 + b1z−1 + · · ·

1 + a1z−1 + · · ·b0 6= 0.

9. Delay Specification for Realizability

Closed loop delay has to be ≥ open loop delay:

G(z) = z−kB(z)

A(z)= z−k

b0 + b1z−1 + · · ·

1 + a1z−1 + · · ·b0 6= 0. Suppose that we use a feedback controller of the form

Gc(z) = z−dSc(z)

Rc(z)

9. Delay Specification for Realizability

Closed loop delay has to be ≥ open loop delay:

G(z) = z−kB(z)

A(z)= z−k

b0 + b1z−1 + · · ·

1 + a1z−1 + · · ·b0 6= 0. Suppose that we use a feedback controller of the form

Gc(z) = z−dSc(z)

Rc(z)= z−d

s0 + s1z−1 + · · ·

1 + r1z−1 + · · ·

9. Delay Specification for Realizability

Closed loop delay has to be ≥ open loop delay:

G(z) = z−kB(z)

A(z)= z−k

b0 + b1z−1 + · · ·

1 + a1z−1 + · · ·b0 6= 0. Suppose that we use a feedback controller of the form

Gc(z) = z−dSc(z)

Rc(z)= z−d

s0 + s1z−1 + · · ·

1 + r1z−1 + · · ·with s0 6= 0

9. Delay Specification for Realizability

Closed loop delay has to be ≥ open loop delay:

G(z) = z−kB(z)

A(z)= z−k

b0 + b1z−1 + · · ·

1 + a1z−1 + · · ·b0 6= 0. Suppose that we use a feedback controller of the form

Gc(z) = z−dSc(z)

Rc(z)= z−d

s0 + s1z−1 + · · ·

1 + r1z−1 + · · ·with s0 6= 0 and d ≥ 0.

9. Delay Specification for Realizability

Closed loop delay has to be ≥ open loop delay:

G(z) = z−kB(z)

A(z)= z−k

b0 + b1z−1 + · · ·

1 + a1z−1 + · · ·b0 6= 0. Suppose that we use a feedback controller of the form

Gc(z) = z−dSc(z)

Rc(z)= z−d

s0 + s1z−1 + · · ·

1 + r1z−1 + · · ·with s0 6= 0 and d ≥ 0. Closed loop transfer function:

9. Delay Specification for Realizability

Closed loop delay has to be ≥ open loop delay:

G(z) = z−kB(z)

A(z)= z−k

b0 + b1z−1 + · · ·

1 + a1z−1 + · · ·b0 6= 0. Suppose that we use a feedback controller of the form

Gc(z) = z−dSc(z)

Rc(z)= z−d

s0 + s1z−1 + · · ·

1 + r1z−1 + · · ·with s0 6= 0 and d ≥ 0. Closed loop transfer function:

T =GGc

1 +GGc

9. Delay Specification for Realizability

Closed loop delay has to be ≥ open loop delay:

G(z) = z−kB(z)

A(z)= z−k

b0 + b1z−1 + · · ·

1 + a1z−1 + · · ·b0 6= 0. Suppose that we use a feedback controller of the form

Gc(z) = z−dSc(z)

Rc(z)= z−d

s0 + s1z−1 + · · ·

1 + r1z−1 + · · ·with s0 6= 0 and d ≥ 0. Closed loop transfer function:

T =GGc

1 +GGc

= z−k−db0s0 + (b0s1 + b1s0)z

−1 + · · ·1 + (s1 + r1)z−1 + · · ·+ z−k−d(b0s0 + · · · )

Digital Control 9 Kannan M. Moudgalya, Autumn 2007

10. Delay Specification for Realizability

10. Delay Specification for Realizability

T = z−k−db0s0 + (b0s1 + b1s0)z

−1 + · · ·1 + (s1 + r1)z−1 + · · ·+ z−k−d(b0s0 + · · · )

• Closed loop delay = k + d

10. Delay Specification for Realizability

T = z−k−db0s0 + (b0s1 + b1s0)z

−1 + · · ·1 + (s1 + r1)z−1 + · · ·+ z−k−d(b0s0 + · · · )

• Closed loop delay = k + d ≥ k

10. Delay Specification for Realizability

T = z−k−db0s0 + (b0s1 + b1s0)z

−1 + · · ·1 + (s1 + r1)z−1 + · · ·+ z−k−d(b0s0 + · · · )

• Closed loop delay = k + d ≥ k = open loop delay.

10. Delay Specification for Realizability

T = z−k−db0s0 + (b0s1 + b1s0)z

−1 + · · ·1 + (s1 + r1)z−1 + · · ·+ z−k−d(b0s0 + · · · )

• Closed loop delay = k + d ≥ k = open loop delay.

• Can make it less only by d < 0,

10. Delay Specification for Realizability

T = z−k−db0s0 + (b0s1 + b1s0)z

−1 + · · ·1 + (s1 + r1)z−1 + · · ·+ z−k−d(b0s0 + · · · )

• Closed loop delay = k + d ≥ k = open loop delay.

• Can make it less only by d < 0, but controller is unrealizable.

Digital Control 10 Kannan M. Moudgalya, Autumn 2007

11. Example: What if Wrong Delay is Specified?

11. Example: What if Wrong Delay is Specified?

Design a controller for the plant

G = z−2 1

1− 0.5z−1

11. Example: What if Wrong Delay is Specified?

Design a controller for the plant

G = z−2 1

1− 0.5z−1

so that the overall system has smaller delay:

11. Example: What if Wrong Delay is Specified?

Design a controller for the plant

G = z−2 1

1− 0.5z−1

so that the overall system has smaller delay:

T = z−1 1

1− az−1

11. Example: What if Wrong Delay is Specified?

Design a controller for the plant

G = z−2 1

1− 0.5z−1

so that the overall system has smaller delay:

T = z−1 1

1− az−1

Recall the standard closed loop transfer function:

11. Example: What if Wrong Delay is Specified?

Design a controller for the plant

G = z−2 1

1− 0.5z−1

so that the overall system has smaller delay:

T = z−1 1

1− az−1

Recall the standard closed loop transfer function: T = GGc/(1+GGc).

11. Example: What if Wrong Delay is Specified?

Design a controller for the plant

G = z−2 1

1− 0.5z−1

so that the overall system has smaller delay:

T = z−1 1

1− az−1

Recall the standard closed loop transfer function: T = GGc/(1+GGc). Solving for Gc,

11. Example: What if Wrong Delay is Specified?

Design a controller for the plant

G = z−2 1

1− 0.5z−1

so that the overall system has smaller delay:

T = z−1 1

1− az−1

Recall the standard closed loop transfer function: T = GGc/(1+GGc). Solving for Gc, and substituting for T , G

11. Example: What if Wrong Delay is Specified?

Design a controller for the plant

G = z−2 1

1− 0.5z−1

so that the overall system has smaller delay:

T = z−1 1

1− az−1

Recall the standard closed loop transfer function: T = GGc/(1+GGc). Solving for Gc, and substituting for T , G

Gc =1

G

T

1− T

11. Example: What if Wrong Delay is Specified?

Design a controller for the plant

G = z−2 1

1− 0.5z−1

so that the overall system has smaller delay:

T = z−1 1

1− az−1

Recall the standard closed loop transfer function: T = GGc/(1+GGc). Solving for Gc, and substituting for T , G

Gc =1

G

T

1− T =1

z−1

1− 0.5z−1

1− (a+ 1)z−1

11. Example: What if Wrong Delay is Specified?

Design a controller for the plant

G = z−2 1

1− 0.5z−1

so that the overall system has smaller delay:

T = z−1 1

1− az−1

Recall the standard closed loop transfer function: T = GGc/(1+GGc). Solving for Gc, and substituting for T , G

Gc =1

G

T

1− T =1

z−1

1− 0.5z−1

1− (a+ 1)z−1

This controller is unrealizable,

11. Example: What if Wrong Delay is Specified?

Design a controller for the plant

G = z−2 1

1− 0.5z−1

so that the overall system has smaller delay:

T = z−1 1

1− az−1

Recall the standard closed loop transfer function: T = GGc/(1+GGc). Solving for Gc, and substituting for T , G

Gc =1

G

T

1− T =1

z−1

1− 0.5z−1

1− (a+ 1)z−1

This controller is unrealizable, no matter what a is.Digital Control 11 Kannan M. Moudgalya, Autumn 2007

12. Specifications - Step Response

12. Specifications - Step Response

Give unit step input in r. Output yshould have

12. Specifications - Step Response

Give unit step input in r. Output yshould have

1. small rise time

12. Specifications - Step Response

Give unit step input in r. Output yshould have

1. small rise time

2. small overshoot

12. Specifications - Step Response

Give unit step input in r. Output yshould have

1. small rise time

2. small overshoot

3. small settling time

12. Specifications - Step Response

Give unit step input in r. Output yshould have

1. small rise time

2. small overshoot

3. small settling time

4. small steady state error

12. Specifications - Step Response

Give unit step input in r. Output yshould have

1. small rise time

2. small overshoot

3. small settling time

4. small steady state error

n

e(n)

n

y(n)

12. Specifications - Step Response

Give unit step input in r. Output yshould have

1. small rise time

2. small overshoot

3. small settling time

4. small steady state error

n

e(n)

n

y(n)

Error e(n) of the following form sat-isfies the requirements:

12. Specifications - Step Response

Give unit step input in r. Output yshould have

1. small rise time

2. small overshoot

3. small settling time

4. small steady state error

n

e(n)

n

y(n)

Error e(n) of the following form sat-isfies the requirements:

e(n) = ρn cosωn, 0 < ρ < 1

12. Specifications - Step Response

Give unit step input in r. Output yshould have

1. small rise time

2. small overshoot

3. small settling time

4. small steady state error

n

e(n)

n

y(n)

Error e(n) of the following form sat-isfies the requirements:

e(n) = ρn cosωn, 0 < ρ < 1

×

×

ωρ

Im(z)

Re(z)

Digital Control 12 Kannan M. Moudgalya, Autumn 2007

13. Specifications - Step Response

13. Specifications - Step Response

n

e(n)

n

y(n)

×

×

ωρ

Im(z)

Re(z)

e(n) = ρn cosωn

0 < ρ < 1

13. Specifications - Step Response

n

e(n)

n

y(n)

×

×

ωρ

Im(z)

Re(z)

e(n) = ρn cosωn

0 < ρ < 1

1. initial error is one

13. Specifications - Step Response

n

e(n)

n

y(n)

×

×

ωρ

Im(z)

Re(z)

e(n) = ρn cosωn

0 < ρ < 1

1. initial error is one

2. decaying oscillations about zero

13. Specifications - Step Response

n

e(n)

n

y(n)

×

×

ωρ

Im(z)

Re(z)

e(n) = ρn cosωn

0 < ρ < 1

1. initial error is one

2. decaying oscillations about zero

3. steady state error is zero

13. Specifications - Step Response

n

e(n)

n

y(n)

×

×

ωρ

Im(z)

Re(z)

e(n) = ρn cosωn

0 < ρ < 1

1. initial error is one

2. decaying oscillations about zero

3. steady state error is zero

Procedure:

13. Specifications - Step Response

n

e(n)

n

y(n)

×

×

ωρ

Im(z)

Re(z)

e(n) = ρn cosωn

0 < ρ < 1

1. initial error is one

2. decaying oscillations about zero

3. steady state error is zero

Procedure: User will specify the following:

13. Specifications - Step Response

n

e(n)

n

y(n)

×

×

ωρ

Im(z)

Re(z)

e(n) = ρn cosωn

0 < ρ < 1

1. initial error is one

2. decaying oscillations about zero

3. steady state error is zero

Procedure: User will specify the following:

1. a maximum allowable fall time < Nr

13. Specifications - Step Response

n

e(n)

n

y(n)

×

×

ωρ

Im(z)

Re(z)

e(n) = ρn cosωn

0 < ρ < 1

1. initial error is one

2. decaying oscillations about zero

3. steady state error is zero

Procedure: User will specify the following:

1. a maximum allowable fall time < Nr

2. a maximum allowable undershoot < ε

13. Specifications - Step Response

n

e(n)

n

y(n)

×

×

ωρ

Im(z)

Re(z)

e(n) = ρn cosωn

0 < ρ < 1

1. initial error is one

2. decaying oscillations about zero

3. steady state error is zero

Procedure: User will specify the following:

1. a maximum allowable fall time < Nr

2. a maximum allowable undershoot < ε

3. a minimum required decay ratio < δ

13. Specifications - Step Response

n

e(n)

n

y(n)

×

×

ωρ

Im(z)

Re(z)

e(n) = ρn cosωn

0 < ρ < 1

1. initial error is one

2. decaying oscillations about zero

3. steady state error is zero

Procedure: User will specify the following:

1. a maximum allowable fall time < Nr

2. a maximum allowable undershoot < ε

3. a minimum required decay ratio < δ

• We will develop a method to determine ρ andω satisfying the above requirements

13. Specifications - Step Response

n

e(n)

n

y(n)

×

×

ωρ

Im(z)

Re(z)

e(n) = ρn cosωn

0 < ρ < 1

1. initial error is one

2. decaying oscillations about zero

3. steady state error is zero

Procedure: User will specify the following:

1. a maximum allowable fall time < Nr

2. a maximum allowable undershoot < ε

3. a minimum required decay ratio < δ

• We will develop a method to determine ρ andω satisfying the above requirements

• Calculate trans. fn. between e(n) - r(n)

13. Specifications - Step Response

n

e(n)

n

y(n)

×

×

ωρ

Im(z)

Re(z)

e(n) = ρn cosωn

0 < ρ < 1

1. initial error is one

2. decaying oscillations about zero

3. steady state error is zero

Procedure: User will specify the following:

1. a maximum allowable fall time < Nr

2. a maximum allowable undershoot < ε

3. a minimum required decay ratio < δ

• We will develop a method to determine ρ andω satisfying the above requirements

• Calculate trans. fn. between e(n) - r(n)

• Back calculate the controller Gc(z)Digital Control 13 Kannan M. Moudgalya, Autumn 2007

14. Small Fall Time in Error

14. Small Fall Time in Error

e(n) = ρn cosωn, 0 < ρ < 1

14. Small Fall Time in Error

e(n) = ρn cosωn, 0 < ρ < 1

Error becomes zero, i.e.,

14. Small Fall Time in Error

e(n) = ρn cosωn, 0 < ρ < 1

Error becomes zero, i.e.,

e(n) = 0.

14. Small Fall Time in Error

e(n) = ρn cosωn, 0 < ρ < 1

Error becomes zero, i.e.,

e(n) = 0.

for the first time when

14. Small Fall Time in Error

e(n) = ρn cosωn, 0 < ρ < 1

Error becomes zero, i.e.,

e(n) = 0.

for the first time when

ωn =π

2

14. Small Fall Time in Error

e(n) = ρn cosωn, 0 < ρ < 1

Error becomes zero, i.e.,

e(n) = 0.

for the first time when

ωn =π

2

⇒ n =π

14. Small Fall Time in Error

e(n) = ρn cosωn, 0 < ρ < 1

Error becomes zero, i.e.,

e(n) = 0.

for the first time when

ωn =π

2

⇒ n =π

As want n < Nr, some given value, we get

14. Small Fall Time in Error

e(n) = ρn cosωn, 0 < ρ < 1

Error becomes zero, i.e.,

e(n) = 0.

for the first time when

ωn =π

2

⇒ n =π

As want n < Nr, some given value, we get

π

2ω< Nr

14. Small Fall Time in Error

e(n) = ρn cosωn, 0 < ρ < 1

Error becomes zero, i.e.,

e(n) = 0.

for the first time when

ωn =π

2

⇒ n =π

As want n < Nr, some given value, we get

π

2ω< Nr ⇒ ω >

π

2Nr

14. Small Fall Time in Error

e(n) = ρn cosωn, 0 < ρ < 1

Error becomes zero, i.e.,

e(n) = 0.

for the first time when

ωn =π

2

⇒ n =π

As want n < Nr, some given value, we get

π

2ω< Nr ⇒ ω >

π

2Nr

n

e(n)

n

y(n)

Desired region:Im(z)

Re(z)

Digital Control 14 Kannan M. Moudgalya, Autumn 2007

15. Small Undershoot

15. Small Undershoot

e(n) = ρn cosωn

15. Small Undershoot

e(n) = ρn cosωn

When does it reach first min.?

15. Small Undershoot

e(n) = ρn cosωn

When does it reach first min.? de/dn = 0

15. Small Undershoot

e(n) = ρn cosωn

When does it reach first min.? de/dn = 0

• Not applicable, because n is an integer

• Look for a simpler expression

15. Small Undershoot

e(n) = ρn cosωn

When does it reach first min.? de/dn = 0

• Not applicable, because n is an integer

• Look for a simpler expression

• Reaches min. approx.

15. Small Undershoot

e(n) = ρn cosωn

When does it reach first min.? de/dn = 0

• Not applicable, because n is an integer

• Look for a simpler expression

• Reaches min. approx. when ωn = π

15. Small Undershoot

e(n) = ρn cosωn

When does it reach first min.? de/dn = 0

• Not applicable, because n is an integer

• Look for a simpler expression

• Reaches min. approx. when ωn = π

e(n)|ωn=π = ρn cosωn|ωn=π

15. Small Undershoot

e(n) = ρn cosωn

When does it reach first min.? de/dn = 0

• Not applicable, because n is an integer

• Look for a simpler expression

• Reaches min. approx. when ωn = π

e(n)|ωn=π = ρn cosωn|ωn=π

= −ρn|ωn=π

15. Small Undershoot

e(n) = ρn cosωn

When does it reach first min.? de/dn = 0

• Not applicable, because n is an integer

• Look for a simpler expression

• Reaches min. approx. when ωn = π

e(n)|ωn=π = ρn cosωn|ωn=π

= −ρn|ωn=π = −ρπ/ω

15. Small Undershoot

e(n) = ρn cosωn

When does it reach first min.? de/dn = 0

• Not applicable, because n is an integer

• Look for a simpler expression

• Reaches min. approx. when ωn = π

e(n)|ωn=π = ρn cosωn|ωn=π

= −ρn|ωn=π = −ρπ/ω

User specified maximum deviation = ε:

15. Small Undershoot

e(n) = ρn cosωn

When does it reach first min.? de/dn = 0

• Not applicable, because n is an integer

• Look for a simpler expression

• Reaches min. approx. when ωn = π

e(n)|ωn=π = ρn cosωn|ωn=π

= −ρn|ωn=π = −ρπ/ω

User specified maximum deviation = ε:

ρπ/ω < ε

15. Small Undershoot

e(n) = ρn cosωn

When does it reach first min.? de/dn = 0

• Not applicable, because n is an integer

• Look for a simpler expression

• Reaches min. approx. when ωn = π

e(n)|ωn=π = ρn cosωn|ωn=π

= −ρn|ωn=π = −ρπ/ω

User specified maximum deviation = ε:

ρπ/ω < ε, ρ < εω/π

15. Small Undershoot

e(n) = ρn cosωn

When does it reach first min.? de/dn = 0

• Not applicable, because n is an integer

• Look for a simpler expression

• Reaches min. approx. when ωn = π

e(n)|ωn=π = ρn cosωn|ωn=π

= −ρn|ωn=π = −ρπ/ω

User specified maximum deviation = ε:

ρπ/ω < ε, ρ < εω/π

n

e(n)

n

y(n)

Desired region:Im(z)

Re(z)

Digital Control 15 Kannan M. Moudgalya, Autumn 2007

16. Small Decay Ratio

16. Small Decay Ratio

e(n) = ρn cosωn

16. Small Decay Ratio

e(n) = ρn cosωn

Ratio of two successive peak/trough to be small

16. Small Decay Ratio

e(n) = ρn cosωn

Ratio of two successive peak/trough to be small

• First undershoot in e(n) occurs at ωn ' π

16. Small Decay Ratio

e(n) = ρn cosωn

Ratio of two successive peak/trough to be small

• First undershoot in e(n) occurs at ωn ' π• First overshoot occurs at ωn ' 2π

16. Small Decay Ratio

e(n) = ρn cosωn

Ratio of two successive peak/trough to be small

• First undershoot in e(n) occurs at ωn ' π• First overshoot occurs at ωn ' 2π

Want this ratio to be less than user specified δ:

16. Small Decay Ratio

e(n) = ρn cosωn

Ratio of two successive peak/trough to be small

• First undershoot in e(n) occurs at ωn ' π• First overshoot occurs at ωn ' 2π

Want this ratio to be less than user specified δ:∣∣∣∣e(n)|ωn=2π

e(n)|ωn=π

∣∣∣∣ < δ

16. Small Decay Ratio

e(n) = ρn cosωn

Ratio of two successive peak/trough to be small

• First undershoot in e(n) occurs at ωn ' π• First overshoot occurs at ωn ' 2π

Want this ratio to be less than user specified δ:∣∣∣∣e(n)|ωn=2π

e(n)|ωn=π

∣∣∣∣ < δ ⇒ ρn|ωn=2π

ρn|ωn=π

< δ

16. Small Decay Ratio

e(n) = ρn cosωn

Ratio of two successive peak/trough to be small

• First undershoot in e(n) occurs at ωn ' π• First overshoot occurs at ωn ' 2π

Want this ratio to be less than user specified δ:∣∣∣∣e(n)|ωn=2π

e(n)|ωn=π

∣∣∣∣ < δ ⇒ ρn|ωn=2π

ρn|ωn=π

< δ

δ = 0.5 ' 1/4 decay.

16. Small Decay Ratio

e(n) = ρn cosωn

Ratio of two successive peak/trough to be small

• First undershoot in e(n) occurs at ωn ' π• First overshoot occurs at ωn ' 2π

Want this ratio to be less than user specified δ:∣∣∣∣e(n)|ωn=2π

e(n)|ωn=π

∣∣∣∣ < δ ⇒ ρn|ωn=2π

ρn|ωn=π

< δ

δ = 0.5 ' 1/4 decay. δ = 0.25 ' 1/8 decay.

16. Small Decay Ratio

e(n) = ρn cosωn

Ratio of two successive peak/trough to be small

• First undershoot in e(n) occurs at ωn ' π• First overshoot occurs at ωn ' 2π

Want this ratio to be less than user specified δ:∣∣∣∣e(n)|ωn=2π

e(n)|ωn=π

∣∣∣∣ < δ ⇒ ρn|ωn=2π

ρn|ωn=π

< δ

δ = 0.5 ' 1/4 decay. δ = 0.25 ' 1/8 decay.

ρ2π/ω

ρπ/ω< δ

16. Small Decay Ratio

e(n) = ρn cosωn

Ratio of two successive peak/trough to be small

• First undershoot in e(n) occurs at ωn ' π• First overshoot occurs at ωn ' 2π

Want this ratio to be less than user specified δ:∣∣∣∣e(n)|ωn=2π

e(n)|ωn=π

∣∣∣∣ < δ ⇒ ρn|ωn=2π

ρn|ωn=π

< δ

δ = 0.5 ' 1/4 decay. δ = 0.25 ' 1/8 decay.

ρ2π/ω

ρπ/ω< δ ⇒ ρπ/ω < δ

16. Small Decay Ratio

e(n) = ρn cosωn

Ratio of two successive peak/trough to be small

• First undershoot in e(n) occurs at ωn ' π• First overshoot occurs at ωn ' 2π

Want this ratio to be less than user specified δ:∣∣∣∣e(n)|ωn=2π

e(n)|ωn=π

∣∣∣∣ < δ ⇒ ρn|ωn=2π

ρn|ωn=π

< δ

δ = 0.5 ' 1/4 decay. δ = 0.25 ' 1/8 decay.

ρ2π/ω

ρπ/ω< δ ⇒ ρπ/ω < δ ⇒ ρ < δω/π

16. Small Decay Ratio

e(n) = ρn cosωn

Ratio of two successive peak/trough to be small

• First undershoot in e(n) occurs at ωn ' π• First overshoot occurs at ωn ' 2π

Want this ratio to be less than user specified δ:∣∣∣∣e(n)|ωn=2π

e(n)|ωn=π

∣∣∣∣ < δ ⇒ ρn|ωn=2π

ρn|ωn=π

< δ

δ = 0.5 ' 1/4 decay. δ = 0.25 ' 1/8 decay.

ρ2π/ω

ρπ/ω< δ ⇒ ρπ/ω < δ ⇒ ρ < δω/π

• Small undershoot: ρ < εω/π.

16. Small Decay Ratio

e(n) = ρn cosωn

Ratio of two successive peak/trough to be small

• First undershoot in e(n) occurs at ωn ' π• First overshoot occurs at ωn ' 2π

Want this ratio to be less than user specified δ:∣∣∣∣e(n)|ωn=2π

e(n)|ωn=π

∣∣∣∣ < δ ⇒ ρn|ωn=2π

ρn|ωn=π

< δ

δ = 0.5 ' 1/4 decay. δ = 0.25 ' 1/8 decay.

ρ2π/ω

ρπ/ω< δ ⇒ ρπ/ω < δ ⇒ ρ < δω/π

• Small undershoot: ρ < εω/π. Usually ε < δ

16. Small Decay Ratio

e(n) = ρn cosωn

Ratio of two successive peak/trough to be small

• First undershoot in e(n) occurs at ωn ' π• First overshoot occurs at ωn ' 2π

Want this ratio to be less than user specified δ:∣∣∣∣e(n)|ωn=2π

e(n)|ωn=π

∣∣∣∣ < δ ⇒ ρn|ωn=2π

ρn|ωn=π

< δ

δ = 0.5 ' 1/4 decay. δ = 0.25 ' 1/8 decay.

ρ2π/ω

ρπ/ω< δ ⇒ ρπ/ω < δ ⇒ ρ < δω/π

• Small undershoot: ρ < εω/π. Usually ε < δ

• Small undershoot satisfies fast decay

n

e(n)

n

y(n)

Desired region:Im(z)

Re(z)

Digital Control 16 Kannan M. Moudgalya, Autumn 2007

17. Overall Requirements

17. Overall Requirements

Im(z)

Re(z)

17. Overall Requirements

Im(z)

Re(z)

Im(z)

Re(z)

17. Overall Requirements

Im(z)

Re(z)

Im(z)

Re(z) Re(z)

Im(z)

Desired region by the current approach

17. Overall Requirements

Im(z)

Re(z)

Im(z)

Re(z) Re(z)

Im(z)

Desired region by the current approach

Im(z)

Re(z)

Obtained by discretization of continuous domain result(Astrom and Wittenmark)

Digital Control 17 Kannan M. Moudgalya, Autumn 2007

18. Desired Transfer Function

18. Desired Transfer Function

Desired error to a step input is e:

e(n) = rn cosωn

18. Desired Transfer Function

Desired error to a step input is e:

e(n) = rn cosωn

Taking Z-transform,

18. Desired Transfer Function

Desired error to a step input is e:

e(n) = rn cosωn

Taking Z-transform,

E(z) =z(z − r cosω)

z2 − 2zr cosω + r2

18. Desired Transfer Function

Desired error to a step input is e:

e(n) = rn cosωn

Taking Z-transform,

E(z) =z(z − r cosω)

z2 − 2zr cosω + r2

For step input R(z).

18. Desired Transfer Function

Desired error to a step input is e:

e(n) = rn cosωn

Taking Z-transform,

E(z) =z(z − r cosω)

z2 − 2zr cosω + r2

For step input R(z). Transfer function between R(z)-E(z):

18. Desired Transfer Function

Desired error to a step input is e:

e(n) = rn cosωn

Taking Z-transform,

E(z) =z(z − r cosω)

z2 − 2zr cosω + r2

For step input R(z). Transfer function between R(z)-E(z):

TE(z) =E(z)

R(z)

18. Desired Transfer Function

Desired error to a step input is e:

e(n) = rn cosωn

Taking Z-transform,

E(z) =z(z − r cosω)

z2 − 2zr cosω + r2

For step input R(z). Transfer function between R(z)-E(z):

TE(z) =E(z)

R(z)=

z(z − r cosω)

z2 − 2zr cosω + r2

z − 1

z

18. Desired Transfer Function

Desired error to a step input is e:

e(n) = rn cosωn

Taking Z-transform,

E(z) =z(z − r cosω)

z2 − 2zr cosω + r2

For step input R(z). Transfer function between R(z)-E(z):

TE(z) =E(z)

R(z)=

z(z − r cosω)

z2 − 2zr cosω + r2

z − 1

z

=(z − 1)(z − r cosω)

z2 − 2zr cosω + r2

18. Desired Transfer Function

Desired error to a step input is e:

e(n) = rn cosωn

Taking Z-transform,

E(z) =z(z − r cosω)

z2 − 2zr cosω + r2

For step input R(z). Transfer function between R(z)-E(z):

TE(z) =E(z)

R(z)=

z(z − r cosω)

z2 − 2zr cosω + r2

z − 1

z

=(z − 1)(z − r cosω)

z2 − 2zr cosω + r2

One approach: equate this to 1/(1 +GGc)

18. Desired Transfer Function

Desired error to a step input is e:

e(n) = rn cosωn

Taking Z-transform,

E(z) =z(z − r cosω)

z2 − 2zr cosω + r2

For step input R(z). Transfer function between R(z)-E(z):

TE(z) =E(z)

R(z)=

z(z − r cosω)

z2 − 2zr cosω + r2

z − 1

z

=(z − 1)(z − r cosω)

z2 − 2zr cosω + r2

One approach: equate this to 1/(1 +GGc) and calculate GcDigital Control 18 Kannan M. Moudgalya, Autumn 2007

19. Desired Transfer Function

19. Desired Transfer Function

Transfer function between setpointR(z) and actual output Y (z):

19. Desired Transfer Function

Transfer function between setpointR(z) and actual output Y (z):

TY (z) = 1− TE(z)

19. Desired Transfer Function

Transfer function between setpointR(z) and actual output Y (z):

TY (z) = 1− TE(z)

= 1− z2 − zr cosω − z + r cosω

z2 − 2zr cosω + r2

19. Desired Transfer Function

Transfer function between setpointR(z) and actual output Y (z):

TY (z) = 1− TE(z)

= 1− z2 − zr cosω − z + r cosω

z2 − 2zr cosω + r2

=z(1− r cosω) + (r2 − r cosω)

z2 − 2zr cosω + r2

19. Desired Transfer Function

Transfer function between setpointR(z) and actual output Y (z):

TY (z) = 1− TE(z)

= 1− z2 − zr cosω − z + r cosω

z2 − 2zr cosω + r2

=z(1− r cosω) + (r2 − r cosω)

z2 − 2zr cosω + r2

4= z−1 ψ(z−1)

φcl(z−1)

19. Desired Transfer Function

Transfer function between setpointR(z) and actual output Y (z):

TY (z) = 1− TE(z)

= 1− z2 − zr cosω − z + r cosω

z2 − 2zr cosω + r2

=z(1− r cosω) + (r2 − r cosω)

z2 − 2zr cosω + r2

4= z−1 ψ(z−1)

φcl(z−1)

• One approach: equate this to GGc/(1 +GGc),

19. Desired Transfer Function

Transfer function between setpointR(z) and actual output Y (z):

TY (z) = 1− TE(z)

= 1− z2 − zr cosω − z + r cosω

z2 − 2zr cosω + r2

=z(1− r cosω) + (r2 − r cosω)

z2 − 2zr cosω + r2

4= z−1 ψ(z−1)

φcl(z−1)

• One approach: equate this to GGc/(1 +GGc), find Gc

19. Desired Transfer Function

Transfer function between setpointR(z) and actual output Y (z):

TY (z) = 1− TE(z)

= 1− z2 − zr cosω − z + r cosω

z2 − 2zr cosω + r2

=z(1− r cosω) + (r2 − r cosω)

z2 − 2zr cosω + r2

4= z−1 ψ(z−1)

φcl(z−1)

• One approach: equate this to GGc/(1 +GGc), find Gc

• Can’t do it exactly - will use part of this approach

19. Desired Transfer Function

Transfer function between setpointR(z) and actual output Y (z):

TY (z) = 1− TE(z)

= 1− z2 − zr cosω − z + r cosω

z2 − 2zr cosω + r2

=z(1− r cosω) + (r2 − r cosω)

z2 − 2zr cosω + r2

4= z−1 ψ(z−1)

φcl(z−1)

• One approach: equate this to GGc/(1 +GGc), find Gc

• Can’t do it exactly - will use part of this approach

• We will mainly make use of φcl and not ψ

19. Desired Transfer Function

Transfer function between setpointR(z) and actual output Y (z):

TY (z) = 1− TE(z)

= 1− z2 − zr cosω − z + r cosω

z2 − 2zr cosω + r2

=z(1− r cosω) + (r2 − r cosω)

z2 − 2zr cosω + r2

4= z−1 ψ(z−1)

φcl(z−1)

• One approach: equate this to GGc/(1 +GGc), find Gc

• Can’t do it exactly - will use part of this approach

• We will mainly make use of φcl and not ψ

• TY (1) = 1

19. Desired Transfer Function

Transfer function between setpointR(z) and actual output Y (z):

TY (z) = 1− TE(z)

= 1− z2 − zr cosω − z + r cosω

z2 − 2zr cosω + r2

=z(1− r cosω) + (r2 − r cosω)

z2 − 2zr cosω + r2

4= z−1 ψ(z−1)

φcl(z−1)

• One approach: equate this to GGc/(1 +GGc), find Gc

• Can’t do it exactly - will use part of this approach

• We will mainly make use of φcl and not ψ

• TY (1) = 1⇒ No steady state offset between Y and RDigital Control 19 Kannan M. Moudgalya, Autumn 2007