• 沒有找到結果。

Applications of Distributed Arithmetic to Digital Signal Processing: A Tutorial Review

N/A
N/A
Protected

Academic year: 2021

Share "Applications of Distributed Arithmetic to Digital Signal Processing: A Tutorial Review"

Copied!
27
0
0

加載中.... (立即查看全文)

全文

(1)

Applications of Distributed

Arithmetic to Digital Signal

Processing:

A Tutorial Review

Ref: Stanley A. White, “Applications of

Distributed Arithmetic to Digital Signal

Processing: A Tutorial Review,” IEEE ASSP Magazine, July, 1989

(2)

Outline:

Outline:

• Distributed Arithmetic (DA) Introduction • Technical overview of DA

• Increasing the speed of DA multiplication

• Application of DA to a biquadratic digital filter

(3)

Introduction

Introduction

• The most-often encountered form of computation in DSP:

– Sum of product – Dot-product – Inner-product

– Executed most efficiently by DA

• By careful design one may reduce gate count in a signal processing arithmetic unit by a number

(4)

Technical overview of DA

Technical overview of DA

• Advantage of DA: efficiency of mechanization • A frequently argued:

– slowness because of its inherent bit-serial nature (not true)

• Some modifications to increase the speed by employing techniques:

– Plus more arithmetic operations

(5)

Technique overview

Technique overview

-continued I-continued I

• The sum of product:

– where xk is a 2’s-complement binary number scale

d such that | xk |<1 Ak is fixed coefficients

• xk : {bk0, bk1, bk2……, bk(N-1) } , word length=N

– where bk0 is the sign bit

– Express each xk as:

• (2) 代入 (1) =>    K k k kx A y 1 (1)

      1 1 0 2 N n n kn k k b b x (2)          K N n kn k k b b A y 0 1 2 (3)

(6)

Technique overview

Technique overview

-continued II-continued II

• Critical step

– where K=No. of taps (inputs), N: Wordlength of Data             K k N n n kn k k b b A y 1 1 1 0 2 (3)                 1 1 1 0 1 ) ( 2 N n K k k k n K k kn kb A b A y (4)

(7)

Technique overview

Technique overview

-continued III-continued III

• Consider the equation (4)

– has only 2K possible values

– has only 2K possible values

– We can store it in a lookup-table(ROM): size=2*2K

                1 1 1 0 1 ) ( 2 N n K k k k n K k kn kb A b A y       K k kn kb A 1    K k k k b A 1 0) (

(8)

Technique overview

Technique overview

-continued IV-continued IV

• Example

– Let no. of taps K=4

– and the fixed coefficients are A1=0.72, A2=-0.3,

A3=0.95, A4=0.11

– We need 22K = 32-word ROM (k=4)

                1 1 1 0 1 ) ( 2 N n K k k k n K k kn kb A b A y

(9)

Example

Example

• Unfolding n n n n k kn kb Ab A b A b A b A 1 1 2 2 3 3 4 4 4 1             ) ( ) ( ) ( ) ( ) ( 0 , 4 4 0 , 3 3 0 , 2 2 0 , 1 1 4 1 0 b A b A b A b A b A k k k           

(10)

Example

Example

-continued I-continued I

(11)

Example

Example

-continued II-continued II

• Shorten the table

– eq. (4) n n n n k kn kb Ab A b A b A b A 1 1 2 2 3 3 4 4 4 1                          4 1 0 4 1 0) ( ) ( k k k k k k b A b A                1 1 1 0 1 ) ( 2 N n K k k k n K k kn kb A b A y (5)

(12)

Example

Example

-continued II-continued II

Hardware architecture

Only 16 words of ROM are required,now.

(13)

Technique overview

Technique overview

-advanced-advanced

• Input          1 1 ) 1 ( 0 2 2 N n N n kn k k b b x

      1 1 0 2 N n n kn k k b b x 2‘s-complement

    1  ( 1) 0 0 2 2 1 N N n kn kn k k k b b b b x (7) (6) } ,... , { )] ( [ 2 1 ) 1 ( 1 0      k k k k k n k x x b b b x

(14)

Technique overview

Technique overview

-advanced I-advanced I

           1 1 ) 1 ( 0 0 2 2 2 1 N n N n kn kn k k k b b b b x           1 0 ) 1 ( 2 2 2 1 N n N n kn k c x    K k k kx A y 1 代入                            1 0 ) 1 ( 1 ) 1 ( 1 0 0 2 2 2 2 2 1 N n N n n K k N n kn N n k c Q b Q A y Where   and K k c A b Q( )  { 1,1} 0 , 0 , ) (         kn kn kn kn kn kn where c n n b b b b c    K Ak Q(0)

(15)

Technique overview

Technique overview

-advanced II-advanced II

(16)

multiplication

multiplication

• The way I:

– Plus more arithmetic operations

          1 0 ) 1 ( 0 2 2 N n N n n Q b Q y Initial condition                      1 0 ) 1 ( 1 ) 2 ( 2 1 1 0 0 2 2 .... 2 2 2 N n N N N N n n Q b Q b Q b Q b b Q

(17)

multiplication

multiplication

• Hardware architecture of way I

-at the expense of linearly

increased memory & arithmetic operation

Initial Condition 1/2*Q(0)          N 1Q b 2 n 2 (N 1)Q 0 y Odd part(sign} Even part

(18)

multiplication

multiplication

• The way II:

- at the expense of exponentially

increased memory

• ROM : 2*7 words => 1*128 words

(19)

digital filter

digital filter

• Transfer function of a typical biquadratic digital filter:

• The time-domain description:

2 2 1 1 2 2 1 1 0 1 ) ( ) (          z B z B z A z A A z X z Y T n n n n nx x y y x B B A A A z Y( )  [ 0 1 212][ 1 2 1 2]

(20)

digital filter

digital filter

(21)

digital filter

digital filter

• The vector matrix equation

• The relationships between two equations                                   1 1 1 2 1 0 2 2 2 1 1 1 n n n n n n v u x d d a b c a c b a y v u 2 1 1 2 1 1 1 2 1 2 2 2 1 2 1 2 1 0 2 2 1 0 2 2 1 1 1 0 0 ) ( ) ( ) ( ) ( b b B d b d c a d b d c a c c b b a A b b a d a d a A a A             

(22)

digital filter

digital filter

• Normal form biquadratic filter

b 1 z- 1 c 1 a1  d 1 z- 1 d 2 a 0  c 2 z- 1 a2  xn yn vn un

(23)

digital filter

digital filter

(24)

digital filter

digital filter

(25)

digital filter

digital filter

• Increase speed II – 2048 word/ROM – require 4 ROM – 4 operations

(26)

digital filter

digital filter

• Increase speed III

– 32 word/ROM – require 8 ROM – 8 operations

(27)

Conclusions

Conclusions

• DA is a very efficient means to

mechanize computations that are dominated by inner products

• If performance/cost ratio is critical, DA should be seriously considered as a contender

• When a many computing methods are compared, DA should be considered. It is not always (but often) best, and never poorly.

參考文獻

相關文件

Then, we recast the signal recovery problem as a smoothing penalized least squares optimization problem, and apply the nonlinear conjugate gradient method to solve the smoothing

Then, we recast the signal recovery problem as a smoothing penalized least squares optimization problem, and apply the nonlinear conjugate gradient method to solve the smoothing

Levine, Transfer function analysis of dynamic cerebral autoregulation humans, American Physi- ological Society, 1998. [8] St´ ephane Mallat, A Wavelet Tour of Signal Processing,

Associate Professor of Department of Mathematics and Center of Teacher Education at National Central

An OFDM signal offers an advantage in a channel that has a frequency selective fading response.. As we can see, when we lay an OFDM signal spectrum against the

In the development of data acquisition interface, matlab, a scientific computing software, was applied to acquire ECG data with real-time signal processing.. The developed

Research on Analog and Mixed-Signal Processing Integrated Circuit Design for ISFET-Based Linear Sensor Array

Developing a signal logic to protect pedestrian who is crossing an intersection is the first purpose of this study.. In addition, to improve the reliability and reduce delay of