Pipelining and Parallel Processing in IIR Digital Filtersmbolic/elg6163/lee.pdfDigital Filters •...
Transcript of Pipelining and Parallel Processing in IIR Digital Filtersmbolic/elg6163/lee.pdfDigital Filters •...
Pipelining and Parallel Processing in
IIR Digital Filters•
Juo Yu Lee
Department of Electrical Engineering, Stanford University
Outline
• Introduction• Pipelining in 1st-Order IIR Digital Filters• Pipelining in Higher-Order IIR Digital Filters• Parallel Processing for IIR Filters• Combined Pipelining and Parallel
Processing for IIR Filters
Introductionconsider a 1st-order LTI IIR Filter
)()()1( nunayny +=+
iteration period: Tm + Ta
Tm: multiplication time
Ta: addition time
Interleaved Time Series• a naïve try:
inefficient interleaving and slow sample rate
Time(n)
0 1 2 3 4 5 6 7 8 9 10
Statex(n)
y(1)(0) y(2)(0) y(3)(0) y(4)(0) y(5)(0) y(1)(1) y(2)(1) y(3)(1) y(4)(1) y(5)(1) y(1)(2)
Look-Ahead Computation
• more iterated recursion
iteration bound: 2 (Tm + Ta)/2
the same as the previous version
Look-Ahead Computation
• another equivalent recursion
iteration bound: (Tm + Ta)/2
Look-Ahead Computation
• general case: applying M-1 steps of look-ahead
iteration bound: (Tm + Ta)/Mlinear increase in complexity
Interleaved Time Series• pipelined interleaving M = 5
Time(n) 0 1 2 3 4 5 6 7 8 9
Statex(n) y(-4) y(-3) y(-2) y(-1) y(0) y(1) y(2) y(3) y(4) y(5)
Pipelining in 1st-Order IIR Digital Filters
• revisit the 1st-order IIR filter
)()()1( nunayny +=+
• Example: 3-stage pipelining
adding poles and zeros at
Look-Ahead Pipelining with Power-of-2 Decomposition
consider a 1st-order LTI IIR Filter
applying the decomposition technique
sets of transformation
logarithmic increase in hardware complexity
pipelinedIIR
( M = 8 )
originalIIR
pipelinedIIR
withDecomposition
( M = 8 )
Finite Precision Problems• pole position sensitivity to filter coefficients
more sensitive for small value of a
• inexact pole/zero cancellation
Look-Ahead Pipelining with General Decomposition
• the 1st-order IIR filter again
• 12-stage pipelined: 2x3x2 decomposition
pipelinedIIR
( M = 12 )
pipelinedIIR
withDecomposition
( M = 12 )
Look-Ahead Pipelining with General Decomposition
• 2x2x3 decomposition
• 3x2x2 decomposition
Pipelining in Higher-order IIR Digital Filters
• Clustered Look-Ahead Pipeliningconsider a 2nd-order IIR filter:
with poles at1/2 and 3/4
using 2-stage pipelining
Pipelining in Higher-order IIR Digital Filters
• Clustered Look-Ahead Pipelining
if using higher value of M (ex. M = 3): multiplying
linear increase hardware complexity
Instability Problems
pipelinedIIR
( M = 3 )
pipelinedIIR
( M = 2 )original
IIR
numerical method to find M for stability
Pipelining in Higher-order IIR Digital Filters
• Scattered Look-Ahead Pipeliningrevisit the 2nd-order IIR filter:
guaranteed stability if the original filter is stable
using decomposition to obtain area efficiency
Parallel Processing in IIR Filters
• consider a 1st – order IIR filter
1
1
1 −
−
−=
azzH(z) )()()1( nunayny +=+
)34()24()14()4()4()44( 234
+++++++=+
kukaukuakuakyaky
L = 4
A Straightforward Structure
L = 4
Hardware complexity : Multiply-add operation2L
Incremental Block Processing
L = 4
Hardware complexity : 12 −L multiply-add operation
Round-off Noise Robustness• pole movement
4az=az = V.S.
211a−
∝Round-off noise
for one pole IIR filter
Parallel Processing in IIR Filters
• consider a 2nd – order IIR filter
( )21
21
83
451
1−−
−
+−
+=
zz
zH(z)
)2()1(2)()(
)()2(83)1(
45)(
−+−+=
+−−−=
nunununf
nfnynyny
Round-off Noise Robustness• pole movement
33
43,
21
⎟⎠⎞
⎜⎝⎛
⎟⎠⎞
⎜⎝⎛=z
43,
21
=z V.S.
Combined Pipelining and ParallelProcessing For IIR Filters
• revisit the 1st – order IIR filterwith L = 4 and M = 3
)()()1( nunayny +=+
)3()123( 12 kyaky =+
)123()93()63()3()123()113()103()93()83()73()63()53()43()33()23()13(
113
2612
2
345
678
91011
++++++=
++++++
++++++
++++++
++++++
kfkfakfakyakukaukuakuakuakuakuakuakuakuakuakua
⇒== 1&4 NMQ
4 poles : 3333 ,,, jajaaa −−
⇒= 3LQ
pole distance :3a
The multiplication complexity :
Combined Pipelining and ParallelProcessing For IIR Filters
( )21
21
83
451
1−−
−
+−
+=
zz
zH(z)• revisit the 2nd – order IIR filter
loop update L = 3 and M = 2
( ) ( )( ) FkYAFkYAAFkYAkY +=+••=++•=+ )3()3()33()63( 212
( )TkykykY )13()3()3( +=where
66
43,
21
⎟⎠⎞
⎜⎝⎛
⎟⎠⎞
⎜⎝⎛:2AThe eigenvalues of
3333
43,
43,
21,
21
⎟⎠⎞
⎜⎝⎛−⎟
⎠⎞
⎜⎝⎛
⎟⎠⎞
⎜⎝⎛−⎟
⎠⎞
⎜⎝⎛⇒ Take the square root :
Case Analysis• Example: 4-th order Chebyshev low-pass filter
with M =4
)1)(1()1()( 2121
41
−−−−
−
+++++
=EzDzCzBz
zAzH
simple model:
fVCtotalPVthVk
eCchVT
••=
−••
=
2
2)(arg
result (if using V=5 and Vth=1): V’ = 2.38power ratio = 58.91%
Case Analysis• Example: 2nd order IIR filter with L =3
( )21
21
83
451
1−−
−
+−
+=
zz
zH(z)
result (if using V=5 and Vth=1): V’ = 2.3365power ratio = 29.116%