Top Banner
1 DSP-CIS Chapter-5: Filter Realization Marc Moonen Dept. E.E./ESAT-STADIUS, KU Leuven [email protected] www.esat.kuleuven.be/stadius/ DSP-CIS / Chapter-5: Filter Realization / Version 2014-2015 p. 2 PART-II : Filter Design/Realization Ste p-1 : Define filter specs (pass-band, stop-band, optimization criterion,) Ste p-2 : Derive optimal transfer function FIR or IIR design Ste p-3 : Filter realization (block scheme/flow graph) direct form realizations, lattice realizations,Ste p-4 : Filter implementation (software/hardware) finite word-length issues, question: implemented filter = designed filter ? ‘You can’t always get what you want’ -Jagger/Richards (?) Chapter-4 Chapter-5 Chapter-6
25

DSP-CIS - homes.esat.kuleuven.behomes.esat.kuleuven.be/~dspuser/DSP-CIS/2014-2015/material/chapte… · 1 DSP-CIS Chapter-5: Filter Realization Marc Moonen Dept. E.E./ESAT-STADIUS,

Aug 08, 2018

Download

Documents

nguyendang
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: DSP-CIS - homes.esat.kuleuven.behomes.esat.kuleuven.be/~dspuser/DSP-CIS/2014-2015/material/chapte… · 1 DSP-CIS Chapter-5: Filter Realization Marc Moonen Dept. E.E./ESAT-STADIUS,

1

DSP-CIS

Chapter-5: Filter Realization

Marc Moonen Dept. E.E./ESAT-STADIUS, KU Leuven

[email protected] www.esat.kuleuven.be/stadius/

DSP-CIS / Chapter-5: Filter Realization / Version 2014-2015 p. 2

PART-II : Filter Design/Realization

•  Step-1 : Define filter specs (pass-band, stop-band, optimization criterion,…)

•  Step-2 : Derive optimal transfer function FIR or IIR design

•  Step-3 : Filter realization (block scheme/flow graph) direct form realizations, lattice realizations,… •  Step-4 : Filter implementation (software/hardware)

finite word-length issues, …

question: implemented filter = designed filter ? ‘You can’t always get what you want’ -Jagger/Richards (?)

Chapter-4

Chapter-5

Chapter-6

Page 2: DSP-CIS - homes.esat.kuleuven.behomes.esat.kuleuven.be/~dspuser/DSP-CIS/2014-2015/material/chapte… · 1 DSP-CIS Chapter-5: Filter Realization Marc Moonen Dept. E.E./ESAT-STADIUS,

2

DSP-CIS / Chapter-5: Filter Realization / Version 2014-2015 p. 3

Chapter-5 : Filter Realizations

•  FIR Filter Realizations

•  IIR Filter Realizations PS: Will always assume real-valued filter coefficients

DSP-CIS / Chapter-5: Filter Realization / Version 2014-2015 p. 4

Q:Why bother about many different realizations for one and the same filter?

Chapter-5 : Filter Realizations

A: See Chapter-6 !

Page 3: DSP-CIS - homes.esat.kuleuven.behomes.esat.kuleuven.be/~dspuser/DSP-CIS/2014-2015/material/chapte… · 1 DSP-CIS Chapter-5: Filter Realization Marc Moonen Dept. E.E./ESAT-STADIUS,

3

DSP-CIS / Chapter-5: Filter Realization / Version 2014-2015 p. 5

FIR Filter Realizations

FIR Filter Realization =Construct (realize) LTI system (with delay elements,

adders and multipliers), such that I/O behavior is given by.. Several possibilities exist…

1. Direct form 2. Transposed direct form 3. Lattice (LPC lattice) 4. Lossless lattice

PS: Frequency-domain realization: see Part-III

y[k]= b0.u[k]+ b1.u[k −1]+...+ bL.u[k − L]

DSP-CIS / Chapter-5: Filter Realization / Version 2014-2015 p. 6

FIR Filter Realizations

1. Direct form

u[k] Δ Δ Δ Δ

u[k-4] u[k-3] u[k-2] u[k-1]

x bo

+

x b4

x b3

+

x b2

+

x b1

+ y[k]

y[k]= b0.u[k]+ b1.u[k −1]+...+ bL.u[k − L]

Page 4: DSP-CIS - homes.esat.kuleuven.behomes.esat.kuleuven.be/~dspuser/DSP-CIS/2014-2015/material/chapte… · 1 DSP-CIS Chapter-5: Filter Realization Marc Moonen Dept. E.E./ESAT-STADIUS,

4

DSP-CIS / Chapter-5: Filter Realization / Version 2014-2015 p. 7

FIR Filter Realizations

2. Transposed direct form Starting point is direct form : `Retiming’ = select subgraph (shaded) remove one delay element on all inbound arrows add one delay element on all outbound arrows

u[k] Δ Δ Δ Δ

u[k-4] u[k-3] u[k-2] u[k-1]

x bo

+

x b4

x b3

+

x b2

+

x b1

+ y[k]

DSP-CIS / Chapter-5: Filter Realization / Version 2014-2015 p. 8

FIR Filter Realizations

`Retiming’ : results in...

(=different software/hardware, same i/o-behavior)

u[k] Δ

Δ

u[k-1]

x bo

+

x b1

+ y[k]

Δ Δu[k-4] u[k-3]

x b4

x b3

+

x b2

+

Page 5: DSP-CIS - homes.esat.kuleuven.behomes.esat.kuleuven.be/~dspuser/DSP-CIS/2014-2015/material/chapte… · 1 DSP-CIS Chapter-5: Filter Realization Marc Moonen Dept. E.E./ESAT-STADIUS,

5

DSP-CIS / Chapter-5: Filter Realization / Version 2014-2015 p. 9

FIR Filter Realizations

`Retiming’ : repeated application results in... i.e. `transposed direct form’

u[k]

x bo

+ y[k]

Δ Δ

x b1

+

x b2

+ Δ

x b3

+ Δ

x b4

(=different software/hardware (`pipeline delays’), same i/o-behavior)

DSP-CIS / Chapter-5: Filter Realization / Version 2014-2015 p. 10

FIR Filter Realizations

3. Lattice form Derived from combined realization of with `flipped’ version of H(z)

Reversed (real-valued) coefficient vector results in... i.e. - same magnitude response - different phase response

H (z) = z−L.H (z−1) : y[k]= bL.u[k]+ bL−1.u[k −1]+...+ b0.u[k − L]

212)(...)(~).(~)(~ ωωω jjj ezezezzHzHzHzH

==

====

H (z) : y[k]= b0.u[k]+ b1.u[k −1]+...+ bL.u[k − L]

Page 6: DSP-CIS - homes.esat.kuleuven.behomes.esat.kuleuven.be/~dspuser/DSP-CIS/2014-2015/material/chapte… · 1 DSP-CIS Chapter-5: Filter Realization Marc Moonen Dept. E.E./ESAT-STADIUS,

6

DSP-CIS / Chapter-5: Filter Realization / Version 2014-2015 p. 11

FIR Filter Realizations

Starting point is direct form realization…

b4

u[k] u[k-1] Δ

u[k-2]

x b3

+

x b2

+

x

+

x

+

b1

u[k-3] Δ

x b1

+

b2 x

+

x b4

+

Δ

y[k]

bo x

+

u[k-4] Δ

x bo b3 x

y[k] ~

Now 1 page of maths…

DSP-CIS / Chapter-5: Filter Realization / Version 2014-2015 p. 12

FIR Filter Realizations

With this can be rewritten as

Y (z)Y (z)

!

"##

$

%&&=

b4 b3 b2 b1 b0

b0 b1 b2 b3 b4

!

"##

$

%&&. 1 z−1 ... z−4!" $%

T.U(z)

κ0 =b4

b0

if (b0 ≠ 0) and ( κ0 ≠1)

Y (z)Y (z)

!

"##

$

%&&=

1 κ0

κ0 1

!

"##

$

%&&

0 b '3 b '2 b '1 b '0b '0 b '1 b '2 b '3 0

!

"

##

$

%

&&. 1 z−1 ... z−4!" $%

T.U(z)

=1 κ0

κ0 1

!

"##

$

%&&. z−1 0

0 1

!

"##

$

%&&.

b '3 b '2 b '1 b '0b '0 b '1 b '2 b '3

!

"##

$

%&&. 1 z−1 ... z−3!" $%

T.U(z)

b '0 = b0, b '1 =b1 −κ0b3

1−κ02 , b '2 =

b2 −κ0b2

1−κ02 , b '3 =

b3 −κ0b1

1−κ02

order reduction

PS: if |ko|=1, then transformation matrix is rank-deficient PS: find fix for case bo=0 1 κ0κ0 1

!

"##

$

%&&

Page 7: DSP-CIS - homes.esat.kuleuven.behomes.esat.kuleuven.be/~dspuser/DSP-CIS/2014-2015/material/chapte… · 1 DSP-CIS Chapter-5: Filter Realization Marc Moonen Dept. E.E./ESAT-STADIUS,

7

DSP-CIS / Chapter-5: Filter Realization / Version 2014-2015 p. 13

FIR Filter Realizations

This is equivalent to...

…Now repeat procedure for shaded graph (=same structure as the one we started from)

u[k] u[k-3] Δ

u[k-2]

x b’3

+

x b’2

+

x

+

x

+

b’o

u[k-2] Δ

x b’1

+

b’1 x

+

b’o

Δ

x b’2 x b’3

y[k]

+

+

x

x ko

y[k] ~Δ

DSP-CIS / Chapter-5: Filter Realization / Version 2014-2015 p. 14

FIR Filter Realizations

Repeated application results in `lattice form’

u[k]

y[k]

+

+

x

x ko

+

+

x

x k1

Δ +

+

x

x k2

+

+

x

x k3

x bo y[k] ~

(= different software/hardware, same i/o-behavior)

explain

ΔΔΔ

Page 8: DSP-CIS - homes.esat.kuleuven.behomes.esat.kuleuven.be/~dspuser/DSP-CIS/2014-2015/material/chapte… · 1 DSP-CIS Chapter-5: Filter Realization Marc Moonen Dept. E.E./ESAT-STADIUS,

8

DSP-CIS / Chapter-5: Filter Realization / Version 2014-2015 p. 15

FIR Filter Realizations •  Also known as `LPC Lattice’ (`linear predictive coding

lattice’) Ki’s are so-called `reflection coefficients’ Every set of bi’s corresponds to a set of Ki’s, and vice versa. •  Procedure for computing Ki’s from bi’s corresponds to the

well-known `Schur-Cohn’ stability test (from control theory): problem = for a given polynomial B(z), how do we find out if all the zeros of B(z) are stable (i.e. lie inside unit circle) ? solution = from bi’s, compute reflection coefficients Ki’s (following procedure on previous slides). Zeros are (proved to be)

stable if and only if all reflection coefficients statisfy |Ki|<1 !

DSP-CIS / Chapter-5: Filter Realization / Version 2014-2015 p. 16

FIR Filter Realizations

•  Procedure (page 12) breaks down if |Ki|=1 is encountered. Means at least one root of B(z) lies on or outside the unit circle (cfr Schur-Cohn). Then have to select other realization (direct form, lossless lattice, …) for B(z).

•  Lattice form is often applied to `minimum phase’ filters, i.e. filters with only stable zeros (roots of B(z) strictly inside unit circle). Then design procedure never breaks down.

•  Lattice form not overly relevant at this point, but sets stage for similar derivations that lead to more relevant realizations (read on…)

Page 9: DSP-CIS - homes.esat.kuleuven.behomes.esat.kuleuven.be/~dspuser/DSP-CIS/2014-2015/material/chapte… · 1 DSP-CIS Chapter-5: Filter Realization Marc Moonen Dept. E.E./ESAT-STADIUS,

9

DSP-CIS / Chapter-5: Filter Realization / Version 2014-2015 p. 17

FIR Filter Realizations

4. Lossless lattice : Derived from combined realization of H(z) with which is such that (*) PS : Interpretation ?… (see next slide)

PS : May have to scale H(z) to achieve this (why?) (scaling omitted here)

H (z) : y[k]= b0.u[k]+ b1.u[k −1]+...+ bL.u[k − L]

H (z) : y[k]= b0.u[k]+ b1.u[k −1]+...+ bL.u[k − L]

1)(~~).(

~~)().( 11 =+ −− zHzHzHzH

DSP-CIS / Chapter-5: Filter Realization / Version 2014-2015 p. 18

FIR Filter Realizations

PS : Interpretation ? When evaluated on the unit circle, formula (*) is equivalent to (for filters with real-valued coefficients)

i.e. and are `power complementary’ (= form a 1-input/2-output `lossless’ system, see also below)

1)(~~)(

22

=+=

= ωω

jj

ezez

zHzH

)(~~ zH)(zH

ππ−

2

)(~~ ωjeH

2)( ωjeH

1

Page 10: DSP-CIS - homes.esat.kuleuven.behomes.esat.kuleuven.be/~dspuser/DSP-CIS/2014-2015/material/chapte… · 1 DSP-CIS Chapter-5: Filter Realization Marc Moonen Dept. E.E./ESAT-STADIUS,

10

DSP-CIS / Chapter-5: Filter Realization / Version 2014-2015 p. 19

FIR Filter Realizations

PS : How is computed ? Note that if zi (and zi*) is a root of R(z), then 1/zi (and 1/zi*) is also a root of R(z). Hence can factorize R(z) as… Note that zi’s can be selected such that all roots of lie inside the unit circle, i.e. is a minimum-phase FIR filter. This is referred to as spectral factorization, =spectral factor.

)(~~ zH

!! "!! #$)(

11 )().(1)(~~).(

~~

zR

zHzHzHzH −− −=

H (z). H (z−1) = (z−1 − zi )(z− zi )i∏ H (z) = (z−1 − zi )

i∏

)(~~ zH

)(~~ zH

)(~~ zH

DSP-CIS / Chapter-5: Filter Realization / Version 2014-2015 p. 20

FIR Filter Realizations

Starting point is direct form realization…

u[k] u[k-1] Δ

u[k-2]

x

+

x

+

x

+

x

+

u[k-3] Δ

x

+

x

+

x

+

Δ

y[k]

x

+

u[k-4] Δ

x b1 b2 b3 bo b4 x

4

~~b0

~~b 1

~~b 2

~~b 3

~~b

y[k] ~~

Now 1 page of maths…

Page 11: DSP-CIS - homes.esat.kuleuven.behomes.esat.kuleuven.be/~dspuser/DSP-CIS/2014-2015/material/chapte… · 1 DSP-CIS Chapter-5: Filter Realization Marc Moonen Dept. E.E./ESAT-STADIUS,

11

DSP-CIS / Chapter-5: Filter Realization / Version 2014-2015 p. 21

FIR Filter Realizations

From (*) (page 17), it follows that (**) Hence there exists a rotation angle θo such that Y (z)Y (z)

!

"

##

$

%

&&=

cosθ0 −sinθ0

sinθ0 cosθ0

!

"##

$

%&&

0 b '0 b '1 b '2 b '3b '0 b '1 b '2 b '3 0

!

"

##

$

%

&&. 1 z−1 ... z−4!" $%

T.U(z)

=cosθ0 −sinθ0

sinθ0 cosθ0

!

"##

$

%&&. z−1 0

0 1

!

"##

$

%&&.b '0 b '1 b '2 b '3b '0 b '1 b '2 b '3

!

"

##

$

%

&&

1 z−1 ... z−3!" $%T.U(z)

b0.b4 + b0. b4 = 0 ⇒ b0 b0

"

#$

%

&' .

b4

b4

"

#

$$

%

&

''= 0 ⇒

b0

b0

"

#

$$

%

&

''⊥b4

b4

"

#

$$

%

&

''

Y (z)Y (z)

!

"

##

$

%

&&=b0b1b2b3b4

b0 b1 b2 b3 b4

!

"

##

$

%

&&. 1 z−1 ... z−4!" $%

T.U(z)

(**) 1= H (z).H (z−1)+ H (z). H (z−1) = (b0.b4 + b0. b4 )

0 .(z4 + z−4 )+ (..)

0.(z3 + z3)+...+ (..)

1.z0

= orthogonal vectors

order reduction

DSP-CIS / Chapter-5: Filter Realization / Version 2014-2015 p. 22

FIR Filter Realizations

This is equivalent to...

Now shaded graph can again be proven(***) to be power complementary system (Intuition? Hint: p.24).

Hence can repeat procedure…

u[k] u[k-3] Δ

u[k-2]

x

+

x

+

x

+

x

+

u[k-2] Δ

x

+

x

+

b’o b’1 b’2 b’3

Δ

x x

y[k]

0cosθ

+

+

x Δx

x x

0sinθ

0cosθ

y[k] ~~

0sinθ−

(***) 1= H (z−1) H (z−1)"

#$

%

&'.H (z)H (z)

"

#

$$

%

&

''= H⊗ (z−1) H⊗ (z−1)"

#$

%

&'.

z 00 1

"

#$

%

&'.

cosθ0 sinθ0

−sinθ0 cosθ0

"

#$$

%

&''.

cosθ0 −sinθ0

sinθ0 cosθ0

"

#$$

%

&''. z−1 0

0 1

"

#$$

%

&''.H⊗ (z)H⊗ (z)

"

#

$$

%

&

''= H⊗ (z−1) H⊗ (z−1)"

#$

%

&'.H⊗ (z)H⊗ (z)

"

#

$$

%

&

''

Page 12: DSP-CIS - homes.esat.kuleuven.behomes.esat.kuleuven.be/~dspuser/DSP-CIS/2014-2015/material/chapte… · 1 DSP-CIS Chapter-5: Filter Realization Marc Moonen Dept. E.E./ESAT-STADIUS,

12

DSP-CIS / Chapter-5: Filter Realization / Version 2014-2015 p. 23

FIR Filter Realizations

Repeated application results in `lossless lattice’

explain

2cosθ

+

+

x x

x x

2sinθ

2cosθ

2sinθ−

y[k]

0cosθ

+

+

x x

x x

0sinθ

0cosθ

y[k] ~~

0sinθ−

Δ

u[k]

4sinθ

4cosθ

x

x 1cosθ

+

+

x x

x x

1sinθ

1cosθ

1sinθ−

ΔΔ

3cosθ

+

+

x x

x x

3sinθ

3cosθ

3sinθ−

Δ

DSP-CIS / Chapter-5: Filter Realization / Version 2014-2015 p. 24

22

21

22

21

2

1

2

1 )()()()(.cossinsincos

OUTOUTININININ

OUTOUT

+=+⇒⎥⎦

⎤⎢⎣

⎡⎥⎦

⎤⎢⎣

⎡ −=⎥

⎤⎢⎣

θθ

θθ

Lossless lattice : •  Also known as `paraunitary lattice’ (see also Chapter-8)

•  Each 2-input/2-output section is based on an orthogonal transformation, which preserves norm/energy/power

i.e. forms a 2-input/2-output `lossless’ system (=time-domain

view).

Overall system is realized as cascade of lossless sections (+delays), hence is itself also `lossless’ (see p.18, =freq-domain view)

FIR Filter Realizations

Page 13: DSP-CIS - homes.esat.kuleuven.behomes.esat.kuleuven.be/~dspuser/DSP-CIS/2014-2015/material/chapte… · 1 DSP-CIS Chapter-5: Filter Realization Marc Moonen Dept. E.E./ESAT-STADIUS,

13

DSP-CIS / Chapter-5: Filter Realization / Version 2014-2015 p. 25

FIR Filter Realizations

PS : Can be generalized to 1-input N-output lossless systems (will be used in Part III on filter banks) (compare to p.23 !)

21,θθ u[k]

explain/derive!

x

x

x

y[k]

Δ

2cosθ

+

+

x x

x x

2sinθ

2cosθ

2sinθ−1cosθ

+

+

x x

x x

1cosθ

1sinθ−

1sinθ

43,θθ 65 ,θθ

Δ

y[k] ~

y[k] ~~

Δ

1)(~~).(

~~)(~).(~)().( 111 =++ −−− zHzHzHzHzHzH

N=3

DSP-CIS / Chapter-5: Filter Realization / Version 2014-2015 p. 26

IIR Filter Realizations

Construct LTI system such that I/O behavior is given by.. Several possibilities exist… 1. Direct form 2. Transposed direct form PS: Parallel and cascade realization 3. Lattice-ladder form 4. Lossless lattice

H (z) = B(z)A(z)

=b0 + b1z

−1 +...+ bLz−L

1+ a1z−1 +...+ aLz

−L

Page 14: DSP-CIS - homes.esat.kuleuven.behomes.esat.kuleuven.be/~dspuser/DSP-CIS/2014-2015/material/chapte… · 1 DSP-CIS Chapter-5: Filter Realization Marc Moonen Dept. E.E./ESAT-STADIUS,

14

DSP-CIS / Chapter-5: Filter Realization / Version 2014-2015 p. 27

IIR Filter Realizations

1. Direct form Starting point is… u[k]

Δ Δ Δ Δ

x bo

x b4

x b3

x b2

x b1

+ + + + y[k]

Δ Δ Δ Δ

+ + + +

x -a4

x -a3

x -a2

x -a1

)(1zA

)(zB

H (z) = B(z)A(z)

=b0 + b1z

−1 +...+ bLz−L

1+ a1z−1 +...+ aLz

−L

DSP-CIS / Chapter-5: Filter Realization / Version 2014-2015 p. 28

IIR Filter Realizations

which is equivalent to...

PS : If all ai=0 (i.e. H(z) is FIR), then this reduces to a direct form FIR

Δ Δ Δ Δ

x bo

x b4

x b3

x b2

x b1

+ + + + y[k]

u[k] + + + +

x -a4

x -a3

x -a2

x -a1

direct form B(z)

)(1zA

)(zB

Page 15: DSP-CIS - homes.esat.kuleuven.behomes.esat.kuleuven.be/~dspuser/DSP-CIS/2014-2015/material/chapte… · 1 DSP-CIS Chapter-5: Filter Realization Marc Moonen Dept. E.E./ESAT-STADIUS,

15

DSP-CIS / Chapter-5: Filter Realization / Version 2014-2015 p. 29

IIR Filter Realizations

2. Transposed direct form Starting point is…

)(1zA

)(zB

+ + + +

Δ Δ Δ Δ

x -a4

x -a3

x -a2

x -a1

y[k]

u[k] Δ Δ Δ Δ

x bo

x b4

x b3

x b2

x b1

+ + + +

H (z) = B(z)A(z)

=b0 + b1z

−1 +...+ bLz−L

1+ a1z−1 +...+ aLz

−L

DSP-CIS / Chapter-5: Filter Realization / Version 2014-2015 p. 30

IIR Filter Realizations

which is equivalent to...

)(1zA

)(zB

Δ Δ Δ Δ

x -a4

x -a3

x -a2

x -a1

y[k]

u[k] Δ Δ Δ Δ

x bo

x b4

x b3

x b2

x b1

+ + + +

Page 16: DSP-CIS - homes.esat.kuleuven.behomes.esat.kuleuven.be/~dspuser/DSP-CIS/2014-2015/material/chapte… · 1 DSP-CIS Chapter-5: Filter Realization Marc Moonen Dept. E.E./ESAT-STADIUS,

16

DSP-CIS / Chapter-5: Filter Realization / Version 2014-2015 p. 31

IIR Filter Realizations

Transposed direct form is obtained after retiming ... PS : If all ai=0 (i.e. H(z) is FIR), then this reduces to a transposed direct form FIR

transposed direct form B(z)

Δ Δ Δ Δ

x -a4

x -a3

x -a2

x -a1

y[k]

u[k]

x bo

x b4

x b3

x b2

x b1

+ + + +

)(zB

)(1zA

DSP-CIS / Chapter-5: Filter Realization / Version 2014-2015 p. 32

IIR Filter Realizations

PS: Parallel & Cascade Realization Parallel real. obtained from partial fraction decomposition, e.g. for simple poles:

–  similar for the case of multiple poles –  each term realized in, e.g., direct form –  transmission zeros are realized iff signals from different sections

exactly cancel out. =Problem in finite word-length implementation

H (z) = B(z)A(z)

= c0 +αi

1+βiz−1

i=1

L1

∑ +γ1 +δiz

−1

1+ε1z−1 +ϕNz

−2i=1

L2

u[k]

y[k]

+

+

Page 17: DSP-CIS - homes.esat.kuleuven.behomes.esat.kuleuven.be/~dspuser/DSP-CIS/2014-2015/material/chapte… · 1 DSP-CIS Chapter-5: Filter Realization Marc Moonen Dept. E.E./ESAT-STADIUS,

17

DSP-CIS / Chapter-5: Filter Realization / Version 2014-2015 p. 33

IIR Filter Realizations

PS: Parallel & Cascade Realization Cascade realization obtained from pole-zero factorization of H(z) e.g. for L even:

–  similar for L odd –  each section realized in, e.g., direct form –  second-order sections are called `bi-quads’

H (z) = B(z)A(z)

= b0.1+αi.z

−1 +βi.z−2

1+γ i.z−1 +δi.z

−2i=1

L/2

u[k]

y[k]

DSP-CIS / Chapter-5: Filter Realization / Version 2014-2015 p. 34

IIR Filter Realizations

•  Cascade realization is not unique: - multiple ways of pairing poles and zeros - multiple ways of ordering sections in cascade •  ``Pairing procedure’’ : - pairing of little importance in high-precision (e.g. floating point implementation), but important in fixed-point implementation (with short word-lengths) - principle = pair poles and zeros to produce a frequency response for each section that is as flat as possible (i.e. ratio of max. to min. magnitude response close to unity) - obtained by pairing each pole to a zero as close to it as possible - procedure : start with pole pair nearest to the unit circle, and pair this to nearest complex zeros. remove pole-zero pair, and repeat, etc….

u[k]

y[k]

Skip this part

Page 18: DSP-CIS - homes.esat.kuleuven.behomes.esat.kuleuven.be/~dspuser/DSP-CIS/2014-2015/material/chapte… · 1 DSP-CIS Chapter-5: Filter Realization Marc Moonen Dept. E.E./ESAT-STADIUS,

18

DSP-CIS / Chapter-5: Filter Realization / Version 2014-2015 p. 35

IIR Filter Realizations

3. Lattice-ladder form Derived from combined realization of with… - numerator polynomial is denominator polynomial with reversed coefficient vector (see also p.10)

- hence is an `all-pass’ (=`SISO lossless’) filter :

H (z) = B(z)A(z)

=b0 + b1z

−1 +...+ bLz−L

1+ a1z−1 +...+ aLz

−L

H (z) =A(z)A(z)

=aL + aL−1z

−1 +...+1.z−L

1+ a1z−1 +...+ aLz

−L

H (z). H (z−1) =1 H (z)z=e jω

2=A(z)

z=e jω

2

A(z)z=e jω2 =1

)(~ zH

DSP-CIS / Chapter-5: Filter Realization / Version 2014-2015 p. 36

IIR Filter Realizations

Starting point is direct form realization…

u[k]

+ +

x x b1

+

b2 x

+

b0 x b3 x b4 x x a3 x a2 x a1 x 1

Δ ΔΔ Δ

x a1 x a2 x a3 x a4

+ + + +

+ + + +

y[k] y[k] ~

a4

x[k]

-

now 2 pages of maths…

will

use

‘s

tate

vec

tor’

Page 19: DSP-CIS - homes.esat.kuleuven.behomes.esat.kuleuven.be/~dspuser/DSP-CIS/2014-2015/material/chapte… · 1 DSP-CIS Chapter-5: Filter Realization Marc Moonen Dept. E.E./ESAT-STADIUS,

19

DSP-CIS / Chapter-5: Filter Realization / Version 2014-2015 p. 37

FIR Filter Realizations

U(z)Y (z)Y (z)

!

"

####

$

%

&&&&

=

1 a1 a2 a3 a4

a4 a3 a2 a1 1b0 b1 b2 b3 b4

!

"

####

$

%

&&&&

. 1 z−1 ... z−4!" $%T.X(z)

1 0 00 1 00 −b4 1

!

"

###

$

%

&&&.U(z)Y (z)Y (z)

!

"

####

$

%

&&&&

=

1 a1 a2 a3 a4

a4 a3 a2 a1 1b '0 b '1 b '2 b '3 0

!

"

####

$

%

&&&&

. 1 z−1 ... z−4!" $%T.X(z)

with b '0 = b0 − b4a4, b '1 = b1 − b4a3, b '2 = b2 − b4a2, b '3 = b3 − b4a1

Now proceed as on page 11 (FIR lattice)

κ0 =a4

a0

=a4

1 (a0 =1≠ 0) if κ0 ≠1 (see also next page) :

1 0 00 1 00 −b4 1

!

"

###

$

%

&&&.U(z)Y (z)Y (z)

!

"

####

$

%

&&&&

=

1 κ0 0κ0 1 00 0 1

!

"

####

$

%

&&&&

.1 a '1 a '2 a '3 00 a '3 a '2 a '1 1b '0 b '1 b '2 b '3 0

!

"

####

$

%

&&&&

. 1 z−1 ... z−4!" $%T.X(z)

1 0 00 1 00 −b4 1

!

"

###

$

%

&&&.U(z)Y (z)Y (z)

!

"

####

$

%

&&&&

=

1 κ0 0κ0 1 00 0 1

!

"

####

$

%

&&&&

.1 0 00 z−1 00 0 1

!

"

###

$

%

&&&.

1 a '1 a '2 a '3a '3 a '2 a '1 1b '0 b '1 b '2 b '3

!

"

####

$

%

&&&&

1 z−1 ... z−3!" $%T.X(z)

a '0 = a0 =1, a '1 =a1 − a4a3

1− a42 , a '2 =

a2 − a4a2

1− a42 , a '3 =

a3 − a4a1

1− a42

order reduction

DSP-CIS / Chapter-5: Filter Realization / Version 2014-2015 p. 38

IIR Filter Realizations

If A(z) = stable polynomial (should be!), then the Schur-Cohn test guarantees that |Ko|<1. Hence define

sinθ0 =κ0, cosθ0 = 1− (κ0 )2 ( ≠ 0)

1 0 00 1 00 −b4 1

"

#

$$$

%

&

'''.U(z)Y (z)Y (z)

"

#

$$$$

%

&

''''

=

1 sinθ0 0sinθ0 1 0

0 0 1

"

#

$$$$

%

&

''''

.1 0 00 z−1 00 0 1

"

#

$$$

%

&

'''.

1 a '1 a '2 a '3a '3 a '2 a '1 1b '0 b '1 b '2 b '3

"

#

$$$$

%

&

''''

1 z−1 ... z−3"# %&T.X(z)

=

1cosθ0

sinθ0

cosθ0

0

sinθ0

cosθ0

1cosθ0

0

0 0 1

"

#

$$$$$$$$

%

&

''''''''

.1 0 00 z−1 00 0 1

"

#

$$$

%

&

'''.

1 a '1 a '2 a '3a '3 a '2 a '1 1b '0

cosθ0

b '2cosθ0

b '2cosθ0

b '3cosθ0

"

#

$$$$$$

%

&

''''''

1 z−1 ... z−3"# %&T.cosθ0.X(z)=Δ

X⊗ (z)

U⊗ (z)Y⊗ (z)Y⊗ (z)

"

#

$$$$

%

&

''''

Rearrange the first 2 rows U(z)Y (z)

!

"##

$

%&&=

1cosθ0

sinθ0

cosθ0

sinθ0

cosθ0

1cosθ0

!

"

#####

$

%

&&&&&

.U⊗ (z)

z−1. Y⊗ (z)

!

"

##

$

%

&& into

U⊗ (z)Y (z)

!

"

##

$

%

&&=

cosθ0 −sinθ0

sinθ0 cosθ0

!

"##

$

%&&.

U(z)z−1. Y⊗ (z)

!

"

##

$

%

&&

Page 20: DSP-CIS - homes.esat.kuleuven.behomes.esat.kuleuven.be/~dspuser/DSP-CIS/2014-2015/material/chapte… · 1 DSP-CIS Chapter-5: Filter Realization Marc Moonen Dept. E.E./ESAT-STADIUS,

20

DSP-CIS / Chapter-5: Filter Realization / Version 2014-2015 p. 39

IIR Filter Realizations

Then this is equivalent to…

+ +

x x

+

x x x x x x

Δ Δ

Δ

Δ

+ + +

u[k]

y[k]

y[k] ~

b4 x

4.411.43

aaaaa

−4.412.42

aaaaa

−4.413.41

aaaaa

− 1

b0− b4.a41− a4.a4

b1− b4.a31− a4.a4

b2− b4.a21− a4.a4

b3− b4.a11− a4.a4

x x x

+ + + -

4.413.41

aaaaa

4.412.42

aaaaa

4.411.43

aaaaa

x

x

x

+

0cosθ

+

x 0sinθ−

0sinθ

0cosθ

+

u⊗[k]

y⊗[k]

y⊗[k]

x⊗[k]

DSP-CIS / Chapter-5: Filter Realization / Version 2014-2015 p. 40

IIR Filter Realizations

Procedure can be repeated (explain), leads to `lattice-ladder form’

y[k]

b4 x

+

b3’ x

+

b2’’ x

+

b1’’’ x

+

x

‘ladd

er p

art’

u[k]

y[k] ~ Δx

x

x

+

0cosθ

+

x 0sinθ−

0sinθ

0cosθ

Δx

x

x

+

cosθ1

+

x −sinθ1

sinθ1

cosθ1

Δx

x

x

+

cosθ2

+

x −sinθ2

sinθ2

cosθ2

Δx

x

x

+

cosθ3

+

x −sinθ3

sinθ3

cosθ3

‘latti

ce p

art’

Page 21: DSP-CIS - homes.esat.kuleuven.behomes.esat.kuleuven.be/~dspuser/DSP-CIS/2014-2015/material/chapte… · 1 DSP-CIS Chapter-5: Filter Realization Marc Moonen Dept. E.E./ESAT-STADIUS,

21

DSP-CIS / Chapter-5: Filter Realization / Version 2014-2015 p. 41

IIR Filter Realizations

PS: Similar derivation leads to 2nd ‘lattice-ladder’ form

y[k]

b0 x

+

b1’ x

+

b2’’ x

+

b3’’’ x

+

x

‘ladd

er p

art’

u[k]

y[k] ~

Δ

x

x

x

+

0cosθ

+

x 0sinθ−

0sinθ

0cosθ

Δ

x

x

x

+

cosθ1

+

x −sinθ1

sinθ1

cosθ1

Δ

x

x

x

+

cosθ2

+

x −sinθ2

sinθ2

cosθ2

Δ

x

x

x

+

cosθ3

+

x −sinθ3

sinθ3

cosθ3

‘latti

ce p

art’

DSP-CIS / Chapter-5: Filter Realization / Version 2014-2015 p. 42

IIR Filter Realizations

•  Ki’s (=sin(thetai) !) are `reflection coefficients’

•  Procedure for computing Ki’s from ai’s again corresponds to `Schur-Cohn’ stability test

•  Orthogonal transformations correspond to 2-input/2-output `lossless’ sections (=time-domain view).

Cascade of lossless sections (+delays) is also `lossless’, i.e. `all-pass’ (see p.35, =freq-domain view)

22

21

22

21

2

1

2

1 )()()()(.cossinsincos

OUTOUTININININ

OUTOUT

+=+⇒⎥⎦

⎤⎢⎣

⎡⎥⎦

⎤⎢⎣

−=⎥

⎤⎢⎣

θθ

θθ

Page 22: DSP-CIS - homes.esat.kuleuven.behomes.esat.kuleuven.be/~dspuser/DSP-CIS/2014-2015/material/chapte… · 1 DSP-CIS Chapter-5: Filter Realization Marc Moonen Dept. E.E./ESAT-STADIUS,

22

DSP-CIS / Chapter-5: Filter Realization / Version 2014-2015 p. 43

IIR Filter Realizations

PS : Note that the all-pass part corresponds to A(z) (i.e. L angles θi correspond to L coeffs

ai) while the ladder part corresponds to B(z). If all ai=0 (i.e. H(z) is FIR), then all θi=0, hence the all-pass part reduces to a delay line, and the lattice-ladder form reduces to a direct-form FIR.

PS : `All-pass’ part (SISO u[k]->y[k]) is known as `Gray-Markel’ structure

u[k]

y[k] ~ Δx

x

x

+

0cosθ

+

x 0sinθ−

0sinθ

0cosθ

Δx

x

x

+

cosθ1

+

x −sinθ1

sinθ1

cosθ1

Δx

x

x

+

cosθ2

+

x −sinθ2

sinθ2

cosθ2

Δx

x

x

+

cosθ3

+

x −sinθ3

sinθ3

cosθ3

~

DSP-CIS / Chapter-5: Filter Realization / Version 2014-2015 p. 44

IIR Filter Realizations

4. Lossless-lattice : Derived from combined realization of (possibly rescaled, as on p.17)

with...

such that… (**) i.e. and are `power complementary’ (p.18-19)

H (z) = B(z)A(z)

=b0 + b1z

−1 +...+ bLz−L

1+ a1z−1 +...+ aLz

−L

H (z) =B(z)A(z)

=b0 + b1.z

−1 +...+ bL.z−L

1+ a1z−1 +...+ aLz

−L

)(~~ zH )(zH

H (z).H (z−1)+ H (z). H (z−1) =1

⇒ B(z).B(z−1)+ B(z). B(z−1) = A(z).A(z−1)

Page 23: DSP-CIS - homes.esat.kuleuven.behomes.esat.kuleuven.be/~dspuser/DSP-CIS/2014-2015/material/chapte… · 1 DSP-CIS Chapter-5: Filter Realization Marc Moonen Dept. E.E./ESAT-STADIUS,

23

DSP-CIS / Chapter-5: Filter Realization / Version 2014-2015 p. 45

IIR Filter Realizations

Starting point is direct form realization…

u[k]

+ +

x x b1

+

b2 x

+

b0 x b3 x b4 x x x x x

Δ ΔΔ Δ

x a1 x a2 x a3 x a4

+ + + +

+ + + +

y[k] y[k] ~

x[k]

-

now 2 pages of maths…

will

use

‘s

tate

vec

tor’

4

~~b0

~~b 1

~~b 2

~~b 3

~~b

DSP-CIS / Chapter-5: Filter Realization / Version 2014-2015 p. 46

IIR Filter Realizations PS: right-hand side of (o) has modulus <1 (hence |sinθo|≠1, cosθo≠0) , which follows from ‘modulus property’ for (**) p.44:

U(z)Y (z)Y (z)

!

"

####

$

%

&&&&

=

a0 a1 a2 a3 a4

b0b1b2b3b4

b0 b1 b2 b3 b4

!

"

####

$

%

&&&&

. 1 z−1 ... z−4!" $%T.X(z)

=1 0 00 cosψ0 −sinψ0

0 sinψ0 cosψ0

!

"

###

$

%

&&&.

a0 a1 a2 a3 a4

b '0 b '1 b '2 b '3 b '4b '0 b '1 b '2 b '3 0

!

"

####

$

%

&&&&

. 1 z−1 ... z−4!" $%T.X(z)

for sinψ0

cosψ0

=b4

b4

and b '4 = ( b4 )2 + (b4 )2

=1 0 00 cosψ0 −sinψ0

0 sinψ0 cosψ0

!

"

###

$

%

&&&.

1cosθ0

sinθ0

cosθ0

0

sinθ0

cosθ0

1cosθ0

0

0 0 1

!

"

########

$

%

&&&&&&&&

.

a '0 a '1 a '2 a '3 0

b"0b"1

b"2b"3

b"4

b '0 b '1 b '2 b '3 0

!

"

#####

$

%

&&&&&

. 1 z−1 ... z−4!" $%T.X(z)

for sinθ0 =a4

b '4=

a4

( b4 )2 + (b4 )2 (o) and b"4 = ... = ( b4 )2 + (b4 )2 − (a4 )2

if (**) for H(z) H(z)!

"#

$

%& non-constant (i.e. order ≥1) and for A(z) stable, then:

H (z = 0) 2+ H (z = 0)

2

>1 ⇒ (b4

a4

)2 +(b4

a4

)2 >1 ⇒ a4

( b4 )2 + (b4 )2<1

(should not try to prove this…)

Page 24: DSP-CIS - homes.esat.kuleuven.behomes.esat.kuleuven.be/~dspuser/DSP-CIS/2014-2015/material/chapte… · 1 DSP-CIS Chapter-5: Filter Realization Marc Moonen Dept. E.E./ESAT-STADIUS,

24

DSP-CIS / Chapter-5: Filter Realization / Version 2014-2015 p. 47

IIR Filter Realizations Now it is proved that From (**) p.44 it follows that (compare to p.21)

This leads to

b"0 = 0

b0.b4 + b0. b4 = a0.a4 ⇒ a0

b0 b0

"

#$

%

&'

−1 0 00 1 00 0 1

"

#

$$$

%

&

''' .

a4

b4

b4

"

#

$$$$

%

&

''''

= 0

⇒ ... plug in transformations with θ0 and ψ0...

⇒ a '0 b"0 b '0"

#$

%

&'

−1 0 00 1 00 0 1

"

#

$$$

%

&

''' .

0b"4

0

"

#

$$$$

%

&

''''

= 0

⇒ b"0 = 0 (cfr. b"4 ≠ 0)

U(z)Y (z)Y (z)

!

"

####

$

%

&&&&

=1 0 00 cosψ0 −sinψ0

0 sinψ0 cosψ0

!

"

###

$

%

&&&.

1cosθ0

sinθ0

cosθ0

0

sinθ0

cosθ0

1cosθ0

0

0 0 1

!

"

########

$

%

&&&&&&&&

.1 0 00 z−1 00 0 1

!

"

###

$

%

&&&.

a '0 a '1 a '2 a '3b"1

b"2b"3

b"4

b '0 b '1 b '2 b '3

!

"

####

$

%

&&&&

. 1 z−1 ... z−3!" $%T.X(z)

order reduction

= ‘orthogonal’ vectors

DSP-CIS / Chapter-5: Filter Realization / Version 2014-2015 p. 48

IIR Filter Realizations Rearranging rows as on p.38, etc.., and repeating the order-reduction process, leads to…

Δ Δ Δ

x

u[k]

y[k] y[k] ~

x Nψsin

Nψcos

0cosψ

+

+

x x

x x

0cosψ

0sinψ−

0sinψ

x

x

x

+

x

0cosθ

0cosθ

sinθ0

0sinθ−

+

Page 25: DSP-CIS - homes.esat.kuleuven.behomes.esat.kuleuven.be/~dspuser/DSP-CIS/2014-2015/material/chapte… · 1 DSP-CIS Chapter-5: Filter Realization Marc Moonen Dept. E.E./ESAT-STADIUS,

25

DSP-CIS / Chapter-5: Filter Realization / Version 2014-2015 p. 49

IIR Filter Realizations

•  Orthogonal transformations correspond to (3-input 3-output) `lossless sections‘

Overall system is realized as cascade of lossless sections

(+delays), hence is itself also `lossless’ (see p.44)

•  PS : If all ai=0 (i.e. H(z) is FIR), then all θi=0 and then this reduces to FIR lossless lattice

•  PS : If all φi=0, then this reduces to Gray-Markel structure

23

22

21

23

22

21

3

2

1

3

2

1

)()()()()()(

..........

OUTOUTOUTINININ

INININ

OUTOUTOUT

++=++⇒

⎥⎥⎥

⎢⎢⎢

⎥⎥⎥

⎢⎢⎢

=

⎥⎥⎥

⎢⎢⎢

! !

DSP-CIS / Chapter-5: Filter Realization / Version 2014-2015 p. 50

IIR Filter Realizations

PS : Can be generalized to 1-input N-output lossless systems (=combine p.25 & p.48 !)

x

x

x

y[k]

Δ

2cosθ

+

+

x x

x x

2sinθ

2cosθ

2sinθ−1cosθ

+

+

x x

x x

1cosθ

1sinθ−

1sinθ

Δ

y[k] ~

y[k] ~~

x

x

x

+

x

0cosθ

0cosθ

00 sinθ=k

0sinθ−

+

u[k]