1. Trang chủ
  2. » Kỹ Thuật - Công Nghệ

Lecture VLSI Digital signal processing systems: Chapter 9 - Keshab K. Parhi

50 52 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 50
Dung lượng 372,23 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Strength reduction leads to a reduction in hardware complexity by exploiting substructure sharing and leads to less silicon area or power consumption in a VLSI ASIC implementation or less iteration period in a programmable DSP implementation. Strength reduction enables design of parallel FIR filters with a lessthan-linear increase in hardware.

Trang 1

Chapter 9: Algorithmic Strength

Reduction in Filters and

Transforms

Keshab K Parhi

Trang 2

• Introduction

• Parallel FIR Filters

– Formulation of Parallel FIR Filter Using Polyphase

Decomposition

– Fast FIR Filter Algorithms

• Discrete Cosine Transform and Inverse DCT

– Algorithm-Architecture Transformation

– Decimation-in-Frequency Fast DCT for 2M-point DCT

Trang 3

• Strength reduction leads to a reduction in hardware complexity by

exploiting substructure sharing and leads to less silicon area or powerconsumption in a VLSI ASIC implementation or less iteration period

in a programmable DSP implementation

• Strength reduction enables design of parallel FIR filters with a than-linear increase in hardware

less-• DCT is widely used in video compression Algorithm-architecture

transformations and the decimation-in-frequency approach are used todesign fast DCT architectures with significantly less number of

multiplication operations

Trang 4

Parallel FIR Filters

• An N-tap FIR filter can be expressed in time-domain as

– where {x(n)} is an infinite length input sequence and the sequence

contains the FIR filter coefficients of length N – In Z-domain, it can be written as

) (

) ( )

( ) ( )

(

1

0

n i

n x i h n

x n h n

)()

()

()()

(

n

n N

n

n

z n x z

n h z

X z H z

Y

Formulation of Parallel FIR Filters Using

Polyphase Decomposition

Trang 5

• The Z-transform of the sequence x(n) can be expressed as:

– where X0(z 2 ) and X1(z 2 ), the two polyphase components, are the

z-transforms of the even time series {x(2k)} and the odd time-series

{x(2k+1)}, for {0≤ k< ∞ }, respectively

• Similarly, the length-N filter coefficients H(z) can be decomposed as:

– where H0(z 2 ) and H1(z 2 ) are of length N/2 and are referred as even and odd sub-filters, respectively

• The even-numbered output sequence {y(2k)} and the odd-numberedoutput sequence {y(2k+1)} for {0≤k<∞} can be computed as

)()

(

)5()

3()1()

4()

2()0(

)3()

2()

1()0()

(

2 1

1 2

0

4 2

1 4

2

3 2

1

z X z z

X

z x z

x x

z z

x z

x x

z x z

x z

x x

z X

++

⋅⋅

⋅++

+

=

⋅⋅

⋅++

++

=

) ( )

( )

(z H0 z2 z 1H1 z2

(continued on the next page)

Trang 6

• (cont’d)

– i.e.,

– where Y0(z 2 ) and Y1(z 2 ) correspond to y(2k) and y(2k+1) in time domain, respectively This 2-parallel filter processes 2 inputs x(2k) and x(2k+1) and generates 2 outputs y(2k) and y(2k+1) every iteration It can be

written in matrix-form as:

[ ( ) ( )]

) ( ) ( )

( ) ( )

( ) (

) ( )

( )

( )

(

) ( )

( )

(

2 1

2 1 2

2 0

2 1

2 1

2 0 1 2

0

2 0

2 1 1 2

0

2 1 1 2

0

2 1 1 2

0

z H z X z

z H z X z

H z X z z

H z X

z H z z

H z

X z z

X

z Y z z

Y z

=

+

⋅ +

=

+

=

) ( ) ( )

( ) ( )

(

) ( ) ( )

( ) ( )

(

2 0

2 1

2 1

2 0

2 1

2 1

2 1 2 2

0

2 0

2 0

z H z X z

H z X z

Y

z H z X z z

H z X z

1

2 0

1

0

X

X H

H

H z H

Y

Y

X H

Trang 7

– The following figure shows the traditional 2-parallel FIR filter structure, which requires 2N multiplications and 2(N-1) additions

• For 3-phase poly-phase decomposition, the input sequence X(z) andthe filter coefficients H(z) can be decomposed as follows

– where {X0(z 3 ), X1(z 3 ), X2(z 3 )} correspond to x(3k),x(3k+1) and x(3k+2)

in time domain, respectively; and {H0(z 3 ), H1(z 3 ), H2(z 3 )} are the three sub-filters of H(z) with length N/3.

H0 H1 H0

()

()

(

),()

()

()

(

3 2

2 3

1

1 3

0

3 2

2 3

1

1 3

0

z H z z

H z z

H z

H

z X z z

X z z

X z

=

++

=

Trang 8

– The output can be computed as:

– In every iteration, this 3-parallel FIR filter processes 3 input samples x(3k), x(3k+1) and x(3k+2), and generates 3 outputs y(3k), y(3k+1) and y(3k+2), and can be expressed in matrix form as:

3 0

1 1

0

1 1

2 2

1

3 0

0

2

2 1

1 0

2

2 1

1 0

3 2 2 3

1 1 3

0 ( ) ( ) ( ) )

(

H X H

X H

X z

H X z H

X H

X z H

X H

X z

H X

H z H

z H

X z X

z X

z Y z z

Y z z

Y z

Y

+ +

+

+ +

+ +

+

=

+ +

⋅ +

+

=

+ +

0 1

2

2

3 0

1

1

3 2

3 0

2 1 0

X X X

H H

H

H z H

H

H z H

z H

Y Y Y

(9.2)

Trang 9

– The following figure shows the traditional 3-parallel FIR filter structure, which requires 3N multiplications and 3(N-1) additions

H1 x(3k)

H0

H2

H1 x(3k+1)

H0

H2

H1 x(3k+2)

H0

H2

D

D D

y(3k+2) y(3k+1) y(3k)

D 3

: z

Trang 10

Generalization:

– The outputs of an L-Parallel FIR filter can be computed as:

– This can also be expressed in Matrix form as

1 1

0

1 1

20

,

L i

i L i L

k i

i k i L

k i

i k L i

L k

X H Y

L k x

H X

H z

0 2

1

2 0

1

1 1

0

1

1 0

L L

L

L

L L

L

X X

H H

H

H z

H H

H z

H z

H

Y

Y Y

X H

Trang 11

Two-parallel and Three-parallel Low-Complexity FIR Filters

Two-parallel Fast FIR Filter

– The 2-parallel FIR filter can be rewritten as

– This 2-parallel fast FIR filter contains 3 filters The 2

sub-filters H0X0 and H1X1 are shared for the computation of Y0 and Y1

( 0 1) ( 0 1) 0 0 1 1 1

1 1

2 0

0 0

X H X

H X

X H

H Y

X H z X

H Y

−+

⋅+

=

+

H0 x(2k)

Trang 12

-– This 2-parallel filter requires 3 distinct sub-filters of length N/2

and 4 pre/post-processing additions It requires 3N/2 = 1.5N

multiplications and 3(N/2-1)+4=1.5N+1 additions [The traditional2-parallel filter requires 2N multiplications and 2(N-1) additions]– Example-1: when N=8 and , the 3 sub-filtersare

– The subfilter can be precomputed

– The 2-parallel filter can also be written in matrix form as

7 5 3 1 1

6 4 2 0 0

,,

,

,,,

,,,

h h

h h

h h

h h

H H

h h h h H

h h h h H

++

++

=+

2 2

Trang 13

– (matrix form)

– where diag(h*) represents an NXN diagonal matrix H2 with diagonal

elements h*.

– Note: the application of FFA diagonalizes the original

pseudo-circulant matrix H The entries on the diagonal of H2 are the filters required in this parallel FIR filter

sub-– Many different equivalent parallel FIR filter structures can be

obtained For example, this 2-parallel filter can be implementedusing sub-filters {H0, H0 -H1, H1} which may be more attractive innarrow-band low-pass filters since the sub-filter H0 -H1 requiresfewer non-zero bits than H0 +H1 The parallel structure containing

H0 +H1 is more attractive for narrow-band high-pass filters

1

1 0

0 2

1

0

1 0

1 1

0 1

1 1

1

0 1

X

X H

H H

H diag

z Y

Y

(9.7)

Trang 14

3-Parallel Fast FIR Filter

– A fast 3-parallel FIR algorithm can be derived by recursively

applying a 2-parallel fast FIR algorithm and is given by

0 1

0

2 1

0 2

1 0

2

2 2

3 0

0 1

1 1

0 1

0 1

1 1 2

1 2

1

3 2

2

3 0

0 0

X H X

X H

H

X H X

X H H

X X

X H

H H

Y

X H z X

H X

H X

X H H

Y

X H X

X H

H z

X H z X

H Y

− +

+

− +

+

+ +

+ +

=

− +

+

=

− +

+ +

(H0 +H1)(X0 + X1) (H1 +H2)(X1+ X2)and ( H0+ H1+ H2)( X0+ X1+ X2)

Trang 15

– The 3-parallel filter can be expressed in matrix form as

3 3

3 3

00

0100

10

0010

10

0000

1

111

0

00

11

00

1,

3 3

3 2

1

0 3

z z

Q Y

Y

Y Y

+

+

=

2 1

0

3 3

2 1

0

2 1

1 0

2 1 0

111

110

011

100

010

001

,

X X

X X

P

H H

H

H H

H H

H H H

diag H

(9.9)

Trang 16

– Reduced-complexity 3-parallel FIR filter structure

Trang 17

Parallel FIR Filters (cont’d)

Parallel Filters by Transposition

• Any parallel FIR filter structure can be used to derive another parallelequivalent structure by transpose operation (or transposition)

Generally, the transposed architecture has the same hardware

complexity, but different finite word-length performance

• Consider the L-parallel filter in matrix form Y=HX (9.4), where H is

an LXL matrix An equivalent realization of this parallel filter can begenerated by taking the transpose of the H matrix and flipping the

L F

T L

L F

Y Y

Y Y

X X

X X

0 2

1

0 2

1

(9.10)

Trang 18

1 0

0

1

X

X H

H z

H H

Y Y

2 2 2 2

2 Q H P X

F

F F

X Q

H P

X P

H Q

Y

T T

T

T

2 2

2 2

2 2

2 2

1 0

1 1

1 1 0

0 1 1

X

X z

H

H H

H diag

Y Y

(9.11)

Trang 19

Signal-flow graph of the 2-parallel FIR filter

Transposed signal-flow graph

x0

x1

y0 y1 H0

Trang 20

(c) Block diagram of the transposed

reduced-complexity 2-parallel FIR filter

D

H0H0+H1H1

x0

x1

y1

y0-

-Fig (c)

Trang 21

Parallel FIR Filters (cont’d)

Parallel Filter Algorithms from Linear Convolutions

• Any LXL convolution algorithm can be used to derive an L-parallelfast filter structure

• Example: the transpose of the matrix in a 2X2 linear convolution

algorithm (9.12) can be used to obtain the 2-parallel filter (9.13):

0

1 0

h h

h s

1 2

0 1

0 1

X z H

H

H H

Y Y

(9 12)

Trang 22

• Example: To generate a 2-parallel filter using 2X2 fast convolution, consider the following optimal 2X2 linear convolution:

– Note: Flipping the samples in the sequences {s}, {h}, and {x} preserves the convolution formulation (i.e., the same C and A matrices can be used

with the flipped sequences)

– Taking the transpose of this algorithm, we can get the matrix form of the reduced-complexity 2-parallel filtering structure:

0

1 0

1

0 1 2

1 0

1 1

0 1

1 0

0

1 1

1

0 0

1

x

x h

h h

h diag

s s s

X A H C s

( C H A ) X Q H P X

(9.14)

Trang 23

– The matrix form of the reduced-complexity 2-parallel filtering structure

– The 2-parallel architecture resulting from the matrix form is shown as

follows

– Conclusion: this method leads to the same architecture that was obtained

using the direct transposition of the 2-parallel FFA

1 2

0

1 0

1

1

0

1 1 0

0 1

0

0 1 1

1 1 0

0 1 1

X X

X z

H

H H

H diag

Y

Y

(9.15)

x(2k) x(2k+1)

y(2k)

y(2k+1) H0

D

-H0+H1 H1 -

Trang 24

Parallel FIR Filters (cont’d)

Fast Parallel FIR Algorithms for Large Block Sizes

• Parallel FIR filters with long block sizes can be designed by cascadingsmaller length fast parallel filters

• Example: an m-parallel FFA can be cascaded with an n-parallel FFA

to produce an -parallel filtering structure The set of FIR filtersresulting from the application of the m-parallel FFA can be further

decomposed, one at a time, by the application of the n-parallel FFA.The resulting set of filters will be of length

• When cascading the FFAs, it is important to keep track of both the

number of multiplications and the number of additions required for thefiltering structure

(m×n)

(m n)

N ×

Trang 25

– The number of required multiplications for an L-parallel filter with

is given by:

• where r is the number of levels of FFAs used, is the block size of the FFA at level-i, is the number of filters that result from the applications of the i-th FFA and N is the length of the filter

– The number of required additions can be calculated as follows:

r

L L

i i

M L

N M

1 1

=

=

11

1

2

1

1 1

i j

j i

r

i

i i

L

N M

M L

A L

A A

(9.17)

Trang 26

• where is the number of pre/post-processing adders required by the i-th FFA

– For example: consider the case of cascading two 2-parallel complexity FFAs, the resulting 4-parallel filtering structure wouldrequire a total of 9N/4 multiplications and 20+9(N/4-1) additions.Compared with the traditional 4-parallel filter which requires 4Nmultiplications This results in a 44% hardware (area) savings

reduce-• Example: (Example 9.2.1, p.268) Calculating the hardware complexity

– Calculate the number of multiplications and additions required toimplement a 24-tap filter with block size of L=6 for both the cases

246

33

103

4,

726

33

×+

6,

4,

M

Trang 27

• For the case :

• How are the FFAs cascaded?

– Consider the design of a parallel FIR filter with a block size of 4,using (9.3), we have

– The reduced-complexity 4-parallel filtering structure is obtained byfirst applying the 2-parallel FFA to (9.18), then applying the FFA asecond time to each of the filtering operations that result from thefirst application of the FFA

– From (9.18), we have (see the next page):

{L1 = 3,L2 = 2}

( ) ( ) ( ) ( ) ( ) ( ) 1 98

2 3

24 3

6 6

4 2

10 ,

72 3

6 2

× +

3,

10,

2 1

1 0

3

3 2

2 1

1 0

3

3 2

2 1

1 0

H z H

z H z H

X z X

z X

z X

Y z Y z Y z Y Y

+

⋅+

++

=

++

+

=

(9.18)

Trang 28

– Application-2

• Filtering Operation

1 0

=

+

= +

1 ,

2

2 0

0

3

2 1

1 ,

2

2 0

0

' '

' '

H z H H

H z H

H

X z X

X X

z X

2 '

1

' 1

' 0

' 0

' 1

' 0

' 1

' 0

1 '

2 0

0 2

0 2

0

2 0

0

2

2 0

2

2 0

' 0

' 0

H X z H

X H

X H

H X

X z

H X

H z H X

z X

H X

⋅ +

+

=

+ +

=

Trang 29

3 1

1 3

1 3

1

2 1

1

3

2 1

3

2 1

' 1

' 1

H X z H

X H

X H

H X

X z

H X

H z H X

z X H

⋅ +

+

=

+ +

− +

+

+ +

+ +

+

+ +

+ +

+ +

+

=

+ +

+

⋅ +

+ +

= +

3 2

1 0

1 0

3 2

1 0

3 2

1 0

2

3 2

3 2

4 1

0 1 0

3 2

2 1

0 3

2

2 1

0 1

0 1

'

H H

X X

H H

X X

H H

H H

X X

X

X z

H H

X X

z H

H X

X

H H

z H

H X

X z

X X

H H

X X

Trang 30

Reduced-complexity 4-parallel FIR filter (cascaded 2 by 2)

Trang 31

Discrete Cosine Transform and

Inverse DCT

• The discrete cosine transform (DCT) is a frequency transform used instill or moving video compression We discuss the fast

implementations of DCT based on algorithm-architecture

transformations and the decimation-in-frequency approach

• Denote the DCT of the data sequence x(n), n=0, 1,…, N-1, by X(k),k=0, 1, …, N-1 The DCT and inverse DCT (IDCT) are described bythe following equations:

– DCT:

– IDCT:

1,

,1,0

,2

1

2cos)()

()

k

n n

x k

e k

X

N n

π

1,

,1,0

,2

1

2cos)()(

2)

k

n k

X k

e N

n x

N k

π

(9.20)

(9.21)

Trang 32

• where

• Note: DCT is an orthogonal transform, i.e., the transformation matrixfor IDCT is a scaled version of the transpose of that for the DCT andvice versa Therefore, the DCT architecture can be obtained by

“transposing” the IDCT, i.e., reversing the direction of the arrows inthe flow graph of IDCT, and the IDCT can be obtained by

e

,1

0,

21)

(

Trang 33

• Example (Example 9.3.1, p.277) Consider the 8-point DCT

– It can be written in matrix form as follows: (where )

)6(

)5(

)4(

)3(

)2(

)1(

)0(

)7(

)6(

)5(

)4(

)3(

)2(

)1(

)0(

9 27

13 31

17 3

21 7

26 14

2 22

10 30

18 6

11 1

23 13

3 25

15 5

28 20

12 4

28 20

12 4

13 7

1 27

21 15

9 3

30 26

22 18

14 10

6 2

15 13

11 9

7 5

3 1

4 4

4 4

4 4

4 4

x x x x x x x x

c c

c c

c c

c c

c c

c c

c c

c c

c c

c c

c c

c c

c c

c c

c c

c c

c c

c c

c c

c c

c c

c c

c c

c c

c c

c c

c c

c c

c c

c c

c c

c c

e where

k k

n n

x k

e k

X

n

,1

0,

21)

(

7,,1,0

,16

12

cos)()

()

(

7 0

π

16cosi π

c i =

Trang 34

– The algorithm-architecture mapping for the 8-point DCT can becarried out in three steps

• First Step: Using trigonometric properties, the 8-point DCT can be

rewritten as in next page

)6(

)5(

)4(

)3(

)2(

)1(

)0(

3 1

1 3

5 7

6 2

2 6

6 2

2 6

5 1

7 3

3 7

1 5

4 4

4 4

4 4

4 4

3 7

1 5

5 1

7 3

2 6

6 2

2 6

6 2

1 3

5 7

7 5

3 1

4 4

4 4

4 4

4 4

x x x x x x x x

c c

c c

c c

c c

c c

c c

c c

c c

c c

c c

c c

c c

c c

c c

c c

c c

c c

c c

c c

c c

c c

c c

c c

c c

c c

c c

c c

c c

c c

c c

c c

c c

Trang 35

– (continued)

– where

– The following figure (on the next page) shows the DCT

architecture according to (9.23) and (9.24) with 22 multiplications.

4 100 7

3 1

2 3

1 5

0

4 100 1

3 7

2 5

1 3

0

2 11 6

10 3

3 5

2 1

1 7

0

6 11 2

10 5

3 3

2 7

1 1

0

)0(,

)5

(

)4(,

)3

(

)6(,

)7

(

)2(,

)1

(

c P

X c

M c

M c

M c

M X

c M

X c

M c

M c

M c

M X

c M c

M X

c M c

M c

M c

M X

c M c

M X

c M c

M c

M c

M X

=+

−+

++

=

,,

,,

,,

,,

,,

,,

3 2

11 1

0 10

3 2

11 1

0 10

5 2

3 6

1 2

4 3

1 7

0 0

5 2

3 6

1 2

4 3

1 7

0 0

P P

P P

P P

P P

M P

P M

x x

P x

x P

x x

P x

x P

x x

M x

x M

x x

M x

x M

+

=+

=+

=+

100 11

10

100 P P , P P P

(9.24)

Trang 36

Figure: The implementation of 8-point DCT structure

in the first step (also see Fig 9.10, p.279)

Trang 37

• Second step, the DCT structure (see Fig 9.10, p.279) is grouped into

different functional units represented by blocks and then the whole DCT structure is transformed into a block diagram

– Two major blocks are defined as shown in the following figure

– The transformed block diagram for an 8-point DCT is shown in the next page (also see Fig 9.12 in p.280 of text book)

x(0) x(1)

x(0)+x(1)

x(0)-x(1) -

x(0) x(1)

ax(0)+bx(1)

bx(0)-ax(1) -

a a b b

X ±

XC ±

a b

Trang 38

Figure: The implementation of 8-point DCT structure

in the second step (also see Fig 9.12, p.280)

Trang 39

• Third step: Reduced-complexity implementations of various blocks

are exploited (see Fig 9.13, p.281) – The block can be realized using 3 multiplications and 3 additions instead of using 4 multiplications and 2 additions, as shown in follows

– Define the block with and reversed outputs as a rotator block that performs the following computation:

XC ±

x y

ax+by bx-ay -

x y

ax+by

bx-ay -

b

a-a+

b

a a

b b

b

XC ± {a = sinθ, b = cosθ}

θ rot

x

θ θ

θ

θ

cossin

sincos

''

Ngày đăng: 12/02/2020, 20:14

TỪ KHÓA LIÊN QUAN