lattice ladder structure for iir filter
TRANSCRIPT
ELEG–305: Digital Signal ProcessingLecture 20: Lattice Filters & Implementation Structures for IIR Filters
Kenneth E. Barner
Department of Electrical and Computer EngineeringUniversity of Delaware
Fall 2008
K. E. Barner (Univ. of Delaware) ELEG–305: Digital Signal Processing Fall 2008 1 / 24
Outline
1 Review of Previous Lecture
2 Lecture Objectives
3 Implementation of Discrete-Time SystemsDirect–Form to Lattice TranslationStructures for IIR Filters – Direct–Form StructuresStructures for IIR Filters – Transpose StructuresStructures for IIR Filters – Cascade–Form StructuresStructures for IIR Filters – Parallel–Form StructuresStructures for IIR Filters – Lattice & Lattice–Ladder Structures
K. E. Barner (Univ. of Delaware) ELEG–305: Digital Signal Processing Fall 2008 2 / 24
Review of Previous Lecture
Review of Previous Lecture
Lattice Filters – general recursion
f0(n) = g0(n) = x(n)
fm(n) = fm−1(n) + Kmgm−1(n − 1)
gm(n) = Kmfm−1(n) + gm−1(n − 1),
Lattice to Direct–Form Translation – utilize recursion on
A0(z) = B0(z) = 1
Am(z) = Am−1(z) + Kmz−1Bm−1(z), m = 1,2, . . . ,M − 1
Bm(z) = z−mAm(z−1), m = 1,2, . . . ,M − 1
K. E. Barner (Univ. of Delaware) ELEG–305: Digital Signal Processing Fall 2008 3 / 24
Lecture Objectives
Lecture Objectives
Objective Develop a method for converting direct–form (FIR)coefficients to lattice filter coefficients; Deriveimplementation structures for IIR filters
Reading Chapters 9 (9.2–9.3); Next lecture, filter design (Chapter10.1–10.3)
K. E. Barner (Univ. of Delaware) ELEG–305: Digital Signal Processing Fall 2008 4 / 24
Implementation of Discrete-Time Systems Direct–Form to Lattice Translation
Lattice Filter Representation Summary
Case 1: FIR filter representations (time domain)
fm(n) =m∑
k=0
αm(k)x(n − k) and gm(n) =m∑
k=0
βm(k)x(n − k)
Case 2: FIR filter representations (z–domain)
Fm(z) = Am(z)X (z) or Am(z) =Fm(z)
X (z)
Gm(z) = Bm(z)X (z) or Bm(z) =Gm(z)
X (z)
Also, Bm(z) = z−mAm(z−1), m = 1,2, . . . ,M − 1K. E. Barner (Univ. of Delaware) ELEG–305: Digital Signal Processing Fall 2008 5 / 24
Implementation of Discrete-Time Systems Direct–Form to Lattice Translation
Case 3: Lattice representations (time domain)
f0(n) = g0(n) = x(n)
fm(n) = fm−1(n) + Kmgm−1(n − 1), m = 1,2, . . . ,M − 1gm(n) = Kmfm−1(n) + gm−1(n − 1), m = 1,2, . . . ,M − 1
Case 4: Lattice representations (z–domain)
A0(z) = B0(z) = 1
Am(z) = Am−1(z) + Kmz−1Bm−1(z), m = 1,2, . . . ,M − 1
Bm(z) = KmAm−1(z) + z−1Bm−1(z), m = 1,2, . . . ,M − 1
K. E. Barner (Univ. of Delaware) ELEG–305: Digital Signal Processing Fall 2008 6 / 24
Implementation of Discrete-Time Systems Direct–Form to Lattice Translation
Design Questions:How do we convert lattice coefficients (K terms) to direct-formfilter coefficients (α terms)? Solved last lecture.How do we convert direct–form coefficients to lattice coefficients,i.e., Given αm(1), αm(2), . . . , αm(m), how do we determineK1,K2, . . . ,Km?
Case 2: Direct–Form to Lattice Translation
Approach: Utilize relations
Am(z) = Am−1(z) + Kmz−1Bm−1(z), m = 1,2, . . . ,M − 1
Bm(z) = KmAm−1(z) + z−1Bm−1(z), m = 1,2, . . . ,M − 1
Note that Km = αm(m) [why? z−1Bm−1(z) has z−m term]To get Km−1, we need αm−1(m − 1) or entire Am−1(z) polynomialRecursively generate Am(z) for m = M − 1,M − 2, . . . ,1
K. E. Barner (Univ. of Delaware) ELEG–305: Digital Signal Processing Fall 2008 7 / 24
Implementation of Discrete-Time Systems Direct–Form to Lattice Translation
Rearrange the Am(z) and Bm(z) recursions
Bm(z) = KmAm−1(z) + z−1Bm−1(z)
⇒ z−1Bm−1 = Bm(z)− KmAm−1(z)
Substituting this into the Am(z) recursion
Am(z) = Am−1(z) + Kmz−1Bm−1(z)
= Am−1(z) + Km[Bm(z)− KmAm−1(z)]
Finally, solving for Am−1(z) gives
Am−1(z) =Am(z)− KmBm(z)
1− K 2m
, m = M − 1,M − 2, . . . ,1 (∗)
Note: The RHS contains higher order (known) terms
Result: Solve (∗) recursively, setting Km−1 = αm−1(m − 1)
K. E. Barner (Univ. of Delaware) ELEG–305: Digital Signal Processing Fall 2008 8 / 24
Implementation of Discrete-Time Systems Direct–Form to Lattice Translation
ExampleDetermine the lattice representation for:
H(z) = A3(z) = 1 +78
z−1 +1116
z−2 +14
z−3
First step, set m = 3. Then directly from A3(z)
K3 = α3(3) =14
Also, B3(z) is the reverse polynomial of A3(z)
⇒ B3(z) =14
+1116
z−1 +78
z−2 + z−3
Next, evaluate Am−1(z) = Am(z)−KmBm(z)
1−K 2m
A2(z) =A3(z)− K3B3(z)
1− K 23
K. E. Barner (Univ. of Delaware) ELEG–305: Digital Signal Processing Fall 2008 9 / 24
Implementation of Discrete-Time Systems Direct–Form to Lattice Translation
A2(z) =A3(z)− K3B3(z)
1− K 23
=1 + 7
8z−1 + 1116z−2 + 1
4z−3 − 14
[14 + 11
16z−1 + 78z−2 + z−3]
1− (14)2
= 1 +34
z−1 +12
z−2
Thus for m = 2K2 = α2(2) =
12
and reversing A2(z) gives
B2(z) =12
+34
z−1 + z−2
K. E. Barner (Univ. of Delaware) ELEG–305: Digital Signal Processing Fall 2008 10 / 24
Implementation of Discrete-Time Systems Direct–Form to Lattice Translation
For m = 1,
A1(z) =A2(z)− K2B2(z)
1− K 22
=1 + 3
4z−1 + 12z−1 − 1
2
[12 + 3
4z−1 + z2]1− (1
2)2
= 1 +12
z−1
Thus K1 = α1(1) = 12
Final Result:
K1 =12, K2 =
12, K3 =
14
K. E. Barner (Univ. of Delaware) ELEG–305: Digital Signal Processing Fall 2008 11 / 24
Implementation of Discrete-Time Systems Direct–Form to Lattice Translation
Summary: Direct–Form to Lattice Translation
The translation recursion can be rearranged to yield the following steps
1 Set m = M − 12 Set Km = αm(m) and αm−1(0) = 13 If m = 1 stop; otherwise continue4 Evaluate
αm−1(k) =αm(k)− Kmβm(k)
1− K 2m
=αm(k)− αm(m)αm(m − k)
1− α2m(m)
, 1 ≤ k ≤ m − 1
5 Decrement m and go to 2Note: Procedure fails if some |Km| = 1⇒ Am−1(z) has a root on theunit circle; Solution – factor this root out
K. E. Barner (Univ. of Delaware) ELEG–305: Digital Signal Processing Fall 2008 12 / 24
Implementation of Discrete-Time Systems Structures for IIR Filters – Direct–Form Structures
Structures for IIR Filters – Direct-form Structures
Consider the IIR system H(z) = H1(z)H2(z), where
H1(z) =M∑
k=0
bkz−k [All–zero]; H2(z) =1
1 +∑M
k=1 akz−k[All–pole]
Direct Form I Realization Direct Form II Realization (N = M)K. E. Barner (Univ. of Delaware) ELEG–305: Digital Signal Processing Fall 2008 13 / 24
Implementation of Discrete-Time Systems Structures for IIR Filters – Transpose Structures
Transpose Structures
Objective: Represent a filter as a flow graphDirected branches connect nodesGains and delays are listed along branchesNodes sum (are adders) or are branching (splitting) pointsInputs are source nodes, outputs are sink nodes
Theorem (Flow–Graph Reversal)Given a flow graph, if we perform the following:
Reverse flow on all branchesInterchange inputs/outputs
then the resulting system, known as the transposed structure, isfunctionally equivalent to the original system, i.e., they produce thesame input/output function.
K. E. Barner (Univ. of Delaware) ELEG–305: Digital Signal Processing Fall 2008 14 / 24
Implementation of Discrete-Time Systems Structures for IIR Filters – Transpose Structures
Example: Generate the transposed form of
Direct Form II Realization Transposed Direct Form II Realization
Signal Flow Graph Transposed Signal Flow Graph
K. E. Barner (Univ. of Delaware) ELEG–305: Digital Signal Processing Fall 2008 15 / 24
Implementation of Discrete-Time Systems Structures for IIR Filters – Transpose Structures
Note: The flow–graph reversal operations can be applied directly to adirect form realization, i.e., (1) reverse flow on all branches and(2) interchange inputs/outputs
Direct Form II Realization Transposed Direct Form II Realization
K. E. Barner (Univ. of Delaware) ELEG–305: Digital Signal Processing Fall 2008 16 / 24
Implementation of Discrete-Time Systems Structures for IIR Filters – Transpose Structures
The transposed direct form II realization can be redrawn (flipped) toyield a more conventional left–to–right signal flow
Transposed Direct Form II
Transposed Direct Form II Realization Realization (L–R signal flow)
K. E. Barner (Univ. of Delaware) ELEG–305: Digital Signal Processing Fall 2008 17 / 24
Implementation of Discrete-Time Systems Structures for IIR Filters – Cascade–Form Structures
Cascade Form Structures
Objective: Represent a filter as a cascade of subsystems
Approach: Factor H(z) into a product of Second-order subsystems
H(z) =K∏
k=1
Hk (z)
where Hk (z) =bk0 + bk1z−1 + bk2z−2
1 + ak1z−1 + ak2z−2
Each Hk (z) can, for instance, be realizedin direct form II (Right)
Note: Pair complex–conjugate poles toensure real–valued coefficients
K. E. Barner (Univ. of Delaware) ELEG–305: Digital Signal Processing Fall 2008 18 / 24
Implementation of Discrete-Time Systems Structures for IIR Filters – Parallel–Form Structures
Parallel–Form StructuresObjective: Represent a filter as asum of subsystems
Approach: Expand H(z) throughpartial-fractions
H(z) = C +N∑
k=1
Ak
1− pkz−1
Combine (complex–conjugate)poles to form real–valued two–polesubsystems
Hk (z) =bk0 + bk1z−1
1 + ak1z−1 + ak2z−2
IIR System Parallel Realization
Second order Hk (z) of Parallel RealizationK. E. Barner (Univ. of Delaware) ELEG–305: Digital Signal Processing Fall 2008 19 / 24
Implementation of Discrete-Time Systems Structures for IIR Filters – Parallel–Form Structures
ExampleDetermine cascade and parallel realizations of
H(z) =10(1− 1
2z−1)(1− 23z−1)(1 + 2z−1)
(1− 34z−1)(1− 1
8z−1)[1− (12 + j 1
2)z−1][1− (12 − j 1
2)z−1]
For the cascade case, grouppoles (complex–conjugates),e.g.,
H(z) = 10H1(z)H2(z)
where
H1(z) =1− 2
3z−1
1− 78z−1 + 3
32z−2
H2(z) =1 + 3
2z−1 − z−2
1− z−1 + 12z−2
(a)
10
y(n)
x(n) y(n)
Cascade Realization of H(z)
K. E. Barner (Univ. of Delaware) ELEG–305: Digital Signal Processing Fall 2008 20 / 24
Implementation of Discrete-Time Systems Structures for IIR Filters – Parallel–Form Structures
For the parallel realization, use partial fractions to obtain
H(z) =2.93
1− 34z−1
+−17.68
1− 18z−1
+12.25− j14.571− (1
2 + j 12)z−1
+12.25 + j14.571− (1
2 − j 12)z−1
Then combine pairs of poles(complex–conjugates, whenpossible)
H(z) =−14.75− 12.90z−1
1− 78z−1 + 3
32z−2
+24.50 + 26.82z−1
1− z−1 + 12z−2
(a)
10
y(n)
x(n) y(n)
Parallel Realization of H(z)
K. E. Barner (Univ. of Delaware) ELEG–305: Digital Signal Processing Fall 2008 21 / 24
Implementation of Discrete-Time Systems Structures for IIR Filters – Lattice & Lattice–Ladder Structures
Lattice & Lattice–Ladder Form Structures
Objective: Represent an IIR filter as a lattice
Approach: Introduce feedback to the previously developed structure
Case 1: All–pole systems
The resulting filter structure in this case is
Lattice structure for an all–pole IIR systemNote:
All–pole lattice structures are used to model physical systems,e.g., the human vocal tract, layers in the stratified earth, etc.The Ki values correspond to physical reflection phenomena andcan often be physically measured, e.g., seismically
K. E. Barner (Univ. of Delaware) ELEG–305: Digital Signal Processing Fall 2008 22 / 24
Implementation of Discrete-Time Systems Structures for IIR Filters – Lattice & Lattice–Ladder Structures
Also of note:The system is BIBO stable iff |Ki | < 1 for i = 1,2, . . . ,NA set of recursive governing equations can be derived similarly tothe FIR caseThe system has feed forward (fi(·)) and feedback (gi(·) paths
Case 2: Pole–zero systems
Including zero–terms results in a lattice–ladder structure:
foCn)
... ~8f-------""'''--' +
Lattice–ladder structure for a pole–zero IIR systemK. E. Barner (Univ. of Delaware) ELEG–305: Digital Signal Processing Fall 2008 23 / 24
Lecture Summary
Lecture Summary
Direct–Form to Lattice Translation – Initialize m = M − 11 Set Km = αm(m) and αm−1(0) = 1; If m = 1 stop; otherwise cont.2 Evaluate
αm−1(k) =αm(k)− αm(m)αm(m − k)
1− α2m(m)
, 1 ≤ k ≤ m − 1
3 Decrement m and go to 1Implementation Structures for IIR filters –
Direct–Form Structures – Direct–Form I and IITranspose Structures – Reversing the flow on all branches andinterchange inputs/outputs leaves function unchangedCascade–Form Structures – Use factored form H(z) =
∏Kk=1 Hk (z)
Parallel–Form Structures – Use PF form H(z) = C +∑N
k=1Ak
1−pk z−1
Lattice & Lattice–Ladder Structures – model physical phenomenawith reflection coefficients (|Ki | < 1 for i = 1,2, . . . ,N)
Next lecture – Filter design (Chapter 10.1–10.3)
K. E. Barner (Univ. of Delaware) ELEG–305: Digital Signal Processing Fall 2008 24 / 24