0% found this document useful (1 vote)
775 views113 pages

Keshab K Parhi VLSI Digital Signal Processing

This document provides an overview and summary of the book "VLSI Digital Signal Processing Systems: Design and Implementation" by Keshab K. Parhi. The book covers key topics in the design and implementation of digital signal processing (DSP) systems using VLSI technologies. It discusses representations of DSP algorithms, techniques for optimizing algorithms such as retiming, pipelining, parallel processing, folding, and unfolding. It also covers architectures for fast convolution, systolic array design, algorithmic strength reduction, and scaling and roundoff noise analysis. The book provides insights into mapping DSP algorithms to VLSI implementations in an efficient manner.

Uploaded by

Pranjal Rastogi
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (1 vote)
775 views113 pages

Keshab K Parhi VLSI Digital Signal Processing

This document provides an overview and summary of the book "VLSI Digital Signal Processing Systems: Design and Implementation" by Keshab K. Parhi. The book covers key topics in the design and implementation of digital signal processing (DSP) systems using VLSI technologies. It discusses representations of DSP algorithms, techniques for optimizing algorithms such as retiming, pipelining, parallel processing, folding, and unfolding. It also covers architectures for fast convolution, systolic array design, algorithmic strength reduction, and scaling and roundoff noise analysis. The book provides insights into mapping DSP algorithms to VLSI implementations in an efficient manner.

Uploaded by

Pranjal Rastogi
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 113

VLSI Digital

Signal Processing Systems


Design and Implementation
KESHAB K. PARRI
University of Minnesota
A W.tleyInterscience Publication
JH! WI"E# $S!S% I!&.
!e' #or( ) &*ic*ester ) Wein*ei+ ) Brisbane ) Sin,a-ore ) .oronto
To Jugu, Megha and Rahul
.*is te/t is -rinte0 on aci01free -a-er. 2
&o-yri,*t 3 4555 by Jo*n Wiley & Sons% Inc. All ri,*ts reserve0.
Publis*e0 si+ultaneously in &ana0a.
!o -art of t*is -ublication +ay be re-ro0uce0% store0 in a retrieval
syste+ or trans+itte0 in any for+ or by any +eans% electronic%
+ec*anical% -*otoco-yin,% recor0in,% scannin, or ot*er'ise% e/ce-t
as -er+itte0 un0er Sections 467 or 468 of t*e 4579 Unite0 States
&o-yri,*t Act% 'it*out eit*er t*e -rior 'ritten -er+ission of t*e
Publis*er% or aut*ori:ation t*rou,* -ay+ent of t*e a--ro-riate
-er1co-y fee to t*e &o-yri,*t &learance &enter% ;;; Rose'oo0
<rive% <anvers% MA 645;=% >578? 7@618A66% fa/ >578? 7@61A7AA.
ReBuests to t*e Publis*er for -er+ission s*oul0 be a00resse0 to
t*e Per+issions <e-art+ent% Jo*n Wiley & Sons% Inc.% 96@
.*ir0 Avenue% !e' #or(% NY 464@81664;% >;4;? 8@619644% fa/
>;4;?
8@619668% E1MailC PERMRED2WI"E#.&M.
Library of Congress Cataloging-In-Publication Data
Par*i% Kes*ab K.% 45@51
E"SI 0i,ital si,nal -rocessin, syste+sC 0esi,n an0 i+-le+entation
F Kes*ab K. Par*i.
-. e+%
UA Wiley1Interscience -ublication.G
Inclu0es biblio,ra-*ical references an0 in0e/.
ISB! 61A741;A4891@ >clot*C al(% -a-er?
I. Inte,rate0 circuits1Eery lar,e scale inte,ration. I. .itle.
[email protected]=7 4555
9;4.=5H@ 0c;4 581=9A9;
Printe0 in t*e Unite0 States of A+erica
46 5 8 7 9 @ A = ; I
Iteration Bound 43
2.1 Introduction 43
2.2 Data-Flow Graph Representations 43
2.3 Loop Bound and Iteration Bound 45
2.4 Algoriths !or "oputing Iteration Bound 47
2.5 Iteration Bound o! #ultirate Data-Flow Graphs 55
2.6 "onclusions 57
2.7 $ro%les 58
Re!erences 61
!ii
Contents
1
$re!ace
Introduction to Digital &ignal $rocessing &'stes
xv
1
1.1 Introduction 1
1.2 ('pical D&$ Algoriths 2
1.3 D&$ Application Deands and &caled "#)&
(echnologies 27
4.A Representations o! D&$ Algoriths =4
1.5 Boo* )utline 40
Re!erences 41
2
Retiing 91
4.1 Introduction 91
4.2 De!initions and $roperties 93
4.3 &ol+ing &'stes o! Ine,ualities 95
4.4 Retiing (echni,ues 97
4.5 "onclusions 112
4.6 $ro%les 112
Re!erences 118
Folding 149
6.1 Introduction 149
6.2 Folding (rans!oration 151
6.3 Register #inii-ation (echni,ues 157
!iii CONTENTS
3 $ipelining and $arallel $rocessing 63
3.1 Introduction 63
3.2 $ipelining o! FIR Digital Filters 64
3.3. $arallel $rocessing 69
3.4 $ipelining and $arallel $rocessing !or Low $ower 74
3.5 "onclusions 82
3.6 $ro%les 83
Re!erences 88
4
@ Un!olding 119
5.1 Introd uction 119
5.2 An Algorith !or Un!olding 121
5.3 $roperties o! Un!olding 124
5.4 "ritical $ath. Un!olding. and Retiing 127
5.5 Applications o! Un!olding 128
@.9 &onclusions 140
5.7 $ro%les 140
Re!erences 147
6
6.4 Register #inii-ation in Folded Architectures 163
6.5 Folding o! #ultirate &'stes 170
6.6 "onclusions 174
6.7 $ro%les 174
Re!erences 186
7 &'stolic Architecture Design 189
Fast "on+olution //0
1.2 Introduction //0
1./ "oo*-(oo Algorith //1
1.3 4inograd Algorith /30
1.5 Iterated "on+olution /55
1.6 "'clic "on+olution /57
1.7 Design o! Fast "on+olution Algorith %' Inspection /68
1.0 "onclusions /62
1.1 $ro%les /62
Re!erences /63
0.2 Introduction
CONTENTS i"
219
0./ &'stolic Arra' Design #ethodolog' 298
0.3 FIR &'stolic Arra's 29/
0.5 &election o! &cheduling :ector
/82
0.6 #atri;-#atri; #ultiplication and /D &'stolic Arra' Design /86
0.7 &'stolic Design !or
Dela's
&pace Representations "ontaining
/28
0.0 "onclusions /23
0.1 $ro%les /23
Re!erences //3
1
9 Algorithic &trength Reduction in Filters and (rans!ors /66
9.2 Introduction /66
9./ $arallel FIR Filters /67
9.3 Discrete "osine (rans!or and In+erse )"( ;7@
9.5 $arallel Architectures !or Ran*-)rder Filters /16
9.6 "onclusions
9.7 $ro%les
Re!erences
/90
/90
328
28 $ipelined and $arallel Recursi+e and Adapti+e Filters 323
28.2 Introduction 323
28./ $ipeline Interlea+ing in Digital Filters 325
28.3 $ipelining in 2st-)rder IIR Digital Filters 3/8
28.5 $ipelining in <igher-)rder IIR Digital Filters 3/6
28.6 $arallel $rocessing !or IIR !ilters 339
28.7 "o%ined $ipelining and $arallel $rocessing !or IIR Filters 356
" CONTENTS
28.0 Low-$ower IIR Filter Design Using $ipelining and $arallel
$rocessing 351
28.1 $ipelined Adapti+e Digital Filters 362
28.9 "onclusions 370
28.28 $ro%les 370
Re!erences 305
22 &caling and Roundo!! Noise 300
22.2 Introduction 300
22./ &caling and Roundo!! Noise 301
22.3 &tate :aria%le Description o! Digital Filters 31/
22.5 &caling and Roundo!! Noise "oputation 317
22.6 Roundo!! Noise in $ipelined IIR Filters 392
22.7 Roundo!! Noise "oputation Using &tate
Description
:aria%le
583
22.0 &low-Down. Retiing. and $ipelining 586
22.1 "onclusions 528
22.9 $ro%les 528
Re!erences 529
2/ Digital Lattice Filter &tructures 5/2
2/.2 Introduction 5/2
2/./ &chur Algorith 5//
2/.3 Digital Basic Lattice Filters 5/9
2/.5 Deri+ation o! )ne-#ultiplier Lattice Filter 530
2/.6 Deri+ation o! Norali-ed Lattice Filter 555
2/.7 Deri+ation o! &caled-Norali-ed Lattice Filter 550
2/.0 Roundo!! Noise "alculation in Lattice Filters 565
2/.1 $ipelining o! Lattice IIR Digital Filters 561
2/.9 Design =;aples o! $ipelined Lattice Filters 575
2/.28 Low-$ower "#)& Lattice IIR Filters 579
2/.22 "onclusions 508
2/.2/ $ro%les 508
Re!erences 505
23 Bit-Le+el Arithetic Architectures 500
23.2 Introduction 500
23./ $arallel #ultipliers 501
23.3 Interlea+ed Floor-plan and Bit-$lane-Based Digital Filters 519
Redundant Arithetic 6/9
25.2 Introd uction 6/9
25./ Redundant Nu%er Representations 638
25.3 "arr'-Free Radi;-/ Addition and &u%traction 632
25.5 <'%rid Radi;-5 Addition 637
25.6 Radi;-/ <'%rid Redundant #ultiplication Architectures 658
25.7 Data Forat "on+ersion 656
25.0 Redundant to Nonredundant "on+erter 650
25.1 "onclusions 662
25.9 $ro%les 66/
Re!erences 666
&'nchronous. 4a+e. and As'nchronous $ipelines 692
27.2 I ntrod uction 692
27./ &'nchronous $ipelining and "loc*ing &t'les 693
$ipelining 72/
725
729
CONTENTS xi
23.5 Bit-&erial #ultipliers
23.6 Bit-&erial Filter Design and Ipleentation
23.7 "anonic &igned Digit Arithetic
23.0 Distri%uted Arithetic
23.1 "onclusions
23.9 $ro%les
Re!erences
598
599
686
622
621
621
6/0
25
26 Nuerical &trength Reduction
669
26.2 I ntrod uction 669
26./ &u%e;pression =liination 678
26.3 #ultiple "onstant #ultiplication 678
26.5 &u%e;pression &haring in Digital Filters 677
26.6 Additi+e and #ultiplicati+e Nu%er &plitting 605
26.7 "onclusions 613
26.0 $ro%les 613
Re!erences 619
27
27.3 "loc* &*ew and "loc* Distri%ution in Bit-Le+el $ipelined
:L&I Designs 782
27.5 4a+e $ipelining 787
27.6 "onstraint &pace Diagra and Degree o! 4a+e
27.7 Ipleentation o! 4a+e-$ipelined &'stes
27.0 As'nchronous $ipelining
B.2 Introduction 0/3
B./ Iterati+e>"onstructi+e &cheduling Algoriths 0/6
B.3 (rans!orational &cheduling Algoriths 0/9
B.5 Integer Linear $rograing #odels 031
xil CONTENTS
27.1 &ignal (ransition Graphs 7//
27.9 Use o! &(G to Design Interconnection "ircuits 7/7
27.28 Ipleentation o! "oputational Units 732
27.22 "onclusions 758
27.2/ $ro%les 758
Re!erences 753
20 Low-$ower Design 756
20.2 Introduction 756
20./ (heoretical Bac*ground 751
20.3 &caling :ersus $ower "onsuption 768
20.5 $ower Anal'sis 76/
20.6 $ower Reduction (echni,ues 77/
20.7 $ower =stiation Approaches 702
20.0 "onclusions 711
20.1 $ro%les 711
Re!erences 79/
21 $rograa%le Digital &ignal $rocessors 796
21.2 Introduction 796
21./ =+olution o! $rograa%le Digital &ignal $rocessors 797
21.3 Iportant Features o! D&$ $rocessors 790
21.5 D&$ $rocessors!or #o%ile and 4ireless "ounications 083
21.6 $rocessors!or #ultiedia &ignal $rocessing 085
48.9 "onclusions 025
Re!erences 025
Appendi; A? &hortest $ath Algoriths 020
A.2 Introduction 020
A./ (he Bellan-Ford Algorith 021
A.3 (he Flo'd-4arshall Algorith 0/8
A.5 "oputational "ople;ities 0/2
Re!erences 0//
Appendi; B? &cheduling and Allocation (echni,ues 0/3
Re!erences
CONTENTS xiii
052
Appendi; "? =uclidean G"D Algorith
053
@.2 introduction
053
@./ =uclidean G"D Algorith !or Integers 053
@.3 =uclidean G"D Algorith !or $ol'noials
056
Appendi; D? )rthonoralit' o! &chur $ol'noials 050
D.2 )rthogonalit' o! &chur $ol'noials
050
D./ )rthonoralit' o! &chur $ol'noials 059
Appendi; =? Fast Binar' Adders and #ultipliers 063
=.2 Introduction 063
=./ #ultiple;er-Based Fast Binar' Adders 063
=.3 4allace (ree and Dadda #ultiplier 061
Re!erences 072
Appendi; F? &cheduling in Bit-&erial &'stes 073
F.2 Introd uction 073
F./ )utline o! the &cheduling Algorith 075
F.3 #iniu "ost &olution 077
F.5 &cheduling o! =dges with Dela's 071
Re!erences 079
Appendi; G? "oe!!icient Auanti-ation in FIR Filters 002
G.2 Introduction 002
G./ NU& Auanti-ation Algorith
002
Re!erences 005
Inde; 006
Preface
<i,ital si,nal -rocessin, ><SP? is use0 in nu+erous a--lications suc* as vi0eo
co+-ression% 0i,ital set1to- bo/% cable +o0e+s% 0i,ital versatile 0is(% -ortable
vi0eo syste+sFco+-uters% 0i,ital au0io% +ulti+e0ia an0 'ireless co++uni1
cations% 0i,ital ra0io% 0i,ital still an0 net'or( ca+eras% s-eec* -rocessin,%
trans+ission syste+s% ra0ar i+a,in,% acoustic bea+for+ers% ,lobal -osition1
in, syste+s% an0 bio+e0ical si,nal -rocessin,. .*e fiel0 of <SP *as al'ays
been 0riven by t*e a0vances in <SP a--lications an0 in scale0 very1lar,e1
scale1inte,rate0 >E"SI? tec*nolo,ies .. .*erefore% at any ,iven ti+e% <SP
a--lications i+-ose several c*allen,es n t*e i+-le+entations of t*e <SP
syste+s. .*ese i+-le+entations +ust satisfy t*e enforce0 sa+-lin, rate con1
straints of t*e real1ti+e <SP a--lications an0 +ust reBuire less s-ace an0
-o'er consu+-tion.
.*is boo( a00resses t*e +et*o0olo,ies nee0e0 to 0esi,n custo+ or se+i1
custo+ E"SI circuits for t*ese a--lications. Many of t*e tec*niBues -resente0
in t*e boo( are also a--licable for faster i+-le+entations usin, off1t*e1s*elf
-ro,ra++able 0i,ital si,nal -rocessors. .*is boo( is inten0e0 to be use0 as
a te/tboo( for first1year ,ra0uate or senior &urseson E"SI <SP arc*itec1
tures% or <SP structures for E"SI or Hi,*1Perfor+ance E"SI syste+ 0esi,n.
.*is boo( is also an e/cellent reference for t*ose involve0 in al,orit*+ or
arc*itecture or circuit 0esi,n for <SP a--lications.
.*is boo( brin,s to,et*er t*e 0istinct fiel0s of co+-uter arc*itecture t*e1
ory an0 <SP. <SP co+-utation is 0ifferent fro+ ,eneral1-ur-ose co+-utation
in t*e sense t*at t*e <SP -ro,ra+s are nonter+inatin, -ro,ra+s. In <SP
"!
"!i PREFACE
co+-utation% t*e sa+e -ro,ra+ is e/ecute0 re-etitively on an infinite ti+e
series .. .*e nonter+inatin, nature can be e/-loite0 to 0esi,n +ore efficient
<SP syste+s by e/-loitin, t*e 0e-en0ency of tas(s bot* 'it*in an iteration
an0 a+on, +ulti-le iterations. Iurt*er+ore% lon, critical -at*s in <SP al1
,orit*+s li+it t*e -erfor+ance of <SP syste+s. .*ese al,orit*+s nee0 to
be transfor+e0 for 0esi,n of *i,*1s-ee0 or lo'1area or lo'1-o'er i+-le+en1
tations. .*e e+-*asis of t*is boo( is on 0esi,n of efficient arc*itectures%
al,orit*+s% an0 circuits% '*ic* can be o-erate0 'it* eit*er less area or -o'er
consu+-tion or 'it* *i,*er s-ee0 or lo'er roun0off noise. .*e actual E"SI
0esi,n of t*e circuits is not covere0 in t*is boo(.
<SP al,orit*+s are use0 in various real1ti+e a--lications 'it* 0ifferent
sa+-lin, rate reBuire+ents t*at can vary fro+ about ;6 KH: in s-eec* ap-
-lications to over @66 MH: in ra0ar an0 *i,*10efinition television a--lica1
tions. .*e co+-utation reBuire+ent of a vi0eo co+-ression syste+ for *i,*1
0efinition .E >H<.E? can ran,e fro+ 46 to 466 ,i,ao-erations -er secon0.
.*e 0ra+atically 0ifferent sa+-le rate an0 co+-utation reBuire+ents neces1
sitate 0ifferent arc*itecture consi0erations for i+-le+entations of <SP al,o1
rit*+s. Ior e/a+-le% in a s-eec* a--lication a ti+e1+ulti-le/e0 arc*itecture
+ay be -referre0 '*ere +any al,orit*+ o-erations are +a--e0 to t*e sa+e
*ar0'are. Ho'ever% t*e *i,*1s-ee0 reBuire+ent in vi0eo a--lications can
be +et by one1to1one +a--in, of al,orit*+ o-erations to -rocessors. .*us
it is i+-ortant to stu0y tec*niBues to 0esi,n not Just a sin,le arc*itecture
but a fa+ily of arc*itectures out of '*ic* an a--ro-riate arc*itecture can be
selecte0 for a s-ecifie0 a--lication.
.*e first -art of t*e boo( >c*a-ters ; to 7? a00resses several *i,*1level ar1
c*itectural transfor+ations t*at can be use0 to 0esi,n fa+ilies of arc*itectures
for a ,iven al,orit*+. .*ese transfor+ations inclu0e -i-elinin,% reti+in,% un1
fol0in,% fol0in,% an0 systolic array 0esi,n +et*o0olo,y. .*e secon0 -art of
t*e boo( >c*a-ters 8 to 4;? 0eals 'it* *i,*1level al,orit*+ transfor+ations
suc* as stren,t* re0uction% loo(1a*ea0 an0 rela/e0 loo(1a*ea0. Stren,t* re1
0uction transfor+ations are a--lie0 to re0uce t*e nu+ber of +ulti-lications
in convolution% -arallel finite i+-ulse res-onse >IIR? 0i,ital filters% 0iscrete
cosine transfor+s ><&.s?% an0 -arallel ran(1or0er filters. "oo(1a*ea0 an0 re1
la/e0 loo(1a*ea0 transfor+ations are a--lie0 to 0esi,n -i-eline0 0irect1for+
an0 lattice recursive 0i,ital filters an0 a0a-tive 0i,ital filters% an0 -arallel
recursive 0i,ital filters. .*is -art of t*e boo( e/-loits t*e inter-lay bet'een
al,orit*+ 0esi,n an0 inte,rate0 circuit i+-le+entations. .*e t*ir0 -art of
t*e boo( >c*a-ters 4= to 48? a00resses arc*itectures for E"SI a00ition% +ul1
ti-lication% an0 0i,ital filters% an0 issues relate0 to *i,*1-erfor+ance E"SI
syste+ 0esi,n suc* as -i-elinin, styles% lo'1-o'er 0esi,n% an0 arc*itectures
for -ro,ra++able 0i,ital si,nal -rocessors.
&*a-ter 4 of t*e boo( revie's various <SP al,orit*+s an0 a00resses t*eir
re-resentation usin, bloc( 0ia,ra+s% si,nal flo' ,ra-*s% an0 0ata1flo' ,ra-*s.
&*a-ter ; a00resses t*e iteration boun0% '*ic* is a fun0a+ental lo'er boun0
PREFACE "!##
on t*e iteration -erio0 of any recursive si,nal -rocessin, al,orit*+. .'o al,o1
rit*+s are 0escribe0 for 0eter+inin, t*is boun0. .*e ne/t @ c*a-ters a00ress
various transfor+ations for i+-rovin, -erfor+ance of 0i,ital si,nal -rocessin,
i+-le+entations. In &*a-ter =% t*e basic conce-ts of -i-elinin, an0 -arallel
-rocessin, are revie'e0 an0 t*e use of t*ese tec*niBues in 0esi,n of *i,*1s-ee0
or lo'1-o'er a--lications is 0e+onstrate0. &*a-ter A a00resses t*e reti+in,
transfor+ation% '*ic* is a ,enerali:ation of t*e -i-elinin, a--roac*. &*a-1
ter @ a00resses unfol0in,% '*ic* can be use0 to 0esi,n -arallel arc*itectures.
&*a-ters 9 an0 7 a00ress fol0in, tec*niBues use0 to 0esi,n ti+e1+ulti-le/e0
arc*itectures '*ere area re0uction is i+-ortant. W*ile &*a-ter 9 a00resses
fol0in, of arbitrary 0ata1flo' ,ra-*s% &*a-ter 7 a00resses fol0in, of re,ular
0ata1flo' ,ra-*s base0 on systolic 0esi,n +et*o0olo,y.
&*a-ters 8 to 4; a00ress 0esi,n of al,orit*+ structures for various <SP
al,orit*+s base0 on al,orit*+ transfor+ations suc* as stren,t* re0uction%
loo(1a*ea0 an0 rela/e0 loo(1a*ea0% an0 scalin, an0 roun0off noise in 0i,ital
filters. &*a-ter 8 a00resses fast convolution base0 on &oo(1 .oo+ an0 Wino1
,ra0 convolution al,orit*+s. In &*a-ter 5% al,orit*+ic stren,t* re0uction is
e/-loite0 to re0uce t*e nu+ber of +ulti-lication o-erations in -arallel IIR
filters% 0iscrete cosine transfor+s% an0 -arallel ran(1or0er filters. <esi,n of
fast Iourier transfor+ >II.? structures is also base0 on stren,t* re0uction
transfor+ations but is not covere0 in t*is boo( since it is covere0 in +any
intro0uctory <SP te/tboo(s. W*ile it is easy to ac*ieve -i-elinin, an0 -ar1
allel -rocessin, in nonrecursive co+-utations% recursive an0 a0a-tive 0i,ital
filters cannot be easily -i-eline0 or -rocesse0 in -arallel 0ue to t*e -resence
of fee0bac( loo-s. In &*a-ter 46% t*e loo(1a*ea0 tec*niBue is 0iscusse0 an0 is
use0 to -i-eline first1or0er infinite i+-ulse res-onse >IrR? 0i,ital filters. Ior
*i,*er or0er filters% t'o ty-es of loo(1a*ea0 tec*niBues% clustere0 an0 scat1
tere0 loo(1a*ea0% are 0iscusse0. It is s*o'n t*at t*e scattere0 loo(1a*ea0
tec*niBue ,uarantees stability in -i-eline0 IIR filters. .*e -arallel i+-le1
+entations of IIR 0i,ital filters an0 *o' to co+bine -i-elinin, an0 -arallel
-rocessin, in t*ese 0i,ital filters are also a00resse0. A0a-tive 0i,ital filters
are -i-eline0 base0 on rela/e0 loo(1a*ea0% '*ic* are base0 on certain a-1
-ro/i+ations or rela/ations of loo(1a*ea0. &*a-ter 44 a00resses scalin, an0
roun0off noise% '*ic* are i+-ortant for E"SI i+-le+entations of <SP sys1
te+s usin, fi/e01-oint arit*+etic. Roun0off noise co+-utation tec*niBues
cannot be a--lie0 to +any 0i,ital filters. .*ese filters are -re-rocesse0 usin,
slo'0o'n% -i-elinin, an0For reti+in, so t*at every roun0off noise no0e can
be e/-resse0 as a state variable. .*e 0irect1for+ IrR 0i,ital filters cannot
+eet t*e filter reBuire+ents in certain a--lications. "attice 0i,ital filters +ay
be better suite0 for t*ese a--lications 0ue to t*eir e/cellent roun0off noise
-ro-erty. &*a-ter 4; -resents Sc*ur -olyno+ials% ort*onor+ality of Sc*ur
-olyno+ials% an0 use of t*ese -olyno+ials to 0esi,n basic >t'o +ulti-lier
an0 one +ulti-lier?% nor+ali:e0% an0 scale01nor+ali:e0 lattice 0i,ital filters.
Pi-eline0 i+-le+entation of t*ese lattice 0i,ital filters is also 0iscusse0.
&*a-ters 4= to 48 a00ress E"SI i+-le+entations of arit*+etic o-erations
"!iii PREFACE
suc* as a00ition an0 +ulti-lication an0 0i,ital filters% *i,*1-erfor+ance E"SI
syste+ 0esi,n issues suc* as -i-elinin, styles an0 lo'1-o'er 0esi,n% an0 -ro1
,ra++able 0i,ital si,nal -rocessors. <esi,n of a00ers an0 +ulti-liers usin,
various i+-le+entation styles% suc* as bit1-arallel% bit1serial% an0 0i,it1serial%
an0 various nu+ber syste+s suc* as t'oHs co+-le+ent% canonic si,ne0 0i,it%
an0 carry1save are 0iscusse0 in &*a-ter 4=. .*is c*a-ter also a00resses 0is1
tribute0 arit*+etic. &*a-ter 4A a00resses arit*+etic arc*itectures base0 on
re0un0ant or si,ne010i,it i+-le+entations. .*e +ain a0vanta,e of re0un0ant
arit*+etic lies in its carry1free -ro-erty% '*ic* enables co+-utation in bot*
least si,nificant bit an0 +ost si,nificant bit first +o0es. &onversion fro+ re1
0un0ant to nonre0un0ant an0 vice versa is also a00resse0. In t*ese c*a-ters%
bit1serial +ulti-liers are 0erive0 fro+ bit1-arallel 0esi,ns by systolic 0esi,n
+et*o0olo,y. Resi0ue arit*+etic% '*ic* can be use0 for i+-le+entation of
IIR 0i,ital filters an0 transfor+s% is not stu0ie0 in t*is boo(. &*a-ter 4@
-resents stren,t* re0uction at nu+erical level to re0uce t*e area an0 -o'er
consu+-tion of t'oHs co+-le+ent an0 canonic si,ne0 0i,it nu+ber1base0 0i,i1
tal filters. &*a-ter 49 0iscusses various -i-elinin, styles% suc* as sync*ronous%
'ave% an0 async*ronous -i-elinin,. A--roac*es to re0uction of cloc( s(e'
in sync*ronous syste+s an0 synt*esis of interface circuits in async*ronous
syste+s are also a00resse0. &*a-ter 47 on lo'1-o'er 0esi,n -resents various
a--roac*es for re0uction of -o'er consu+-tion at arc*itectural an0 tec*nol1
o,y levels an0 for esti+ation of -o'er consu+-tion. &*a-ter 48 a00resses
various arc*itectures use0 in -ro,ra++able 0i,ital si,nal -rocessors.
Seven a--en0i/es in t*e boo( cover s*ortest -at* al,orit*+s use0 for 0e1
ter+inin, t*e iteration boun0 an0 for reti+in,% sc*e0ulin,% an0 allocation
tec*niBues use0 for 0eter+inin, t*e fol0in, sets for 0esi,n of fol0e0 arc*i1
tecturesK Eucli0Hs L&< al,orit*+% '*ic* is use0 for Wino,ra0Hs convolutionK
ort*onor+ality of Sc*ur -olyno+ials use0 for 0esi,n of lattice 0i,ital filtersK
fast bit1-arallel a00ition an0 +ulti-licationK sc*e0ulin, tec*niBues for bit1
serial syste+sK an0 coefficient Buanti:ation in IIR filters.
.*e conce-ts in t*is boo( *ave been 0escribe0 in a tec*nolo,y1in0e-en0ent
+anner. .*e e/a+-les in t*is boo( are base0 on 0i,ital filters an0 trans1
for+s. Many real1ti+e <SP syste+s +a(e use of control flo' constructs suc*
as con0itionals% interru-ts% an0 Ju+-. <esi,n of control10o+inate0 <SP sys1
te+s is beyon0 t*e sco-e of t*is boo(. .*e e/ercises can be co+-lete0 usin,
any -ro,ra++in, lan,ua,e suc* as MA. "AB or &. Many a--lication10riven
-roble+s *ave been inclu0e0 at t*e en0 of t*e c*a-ters. Ior e/a+-le% t*e
-roble+s at t*e en0 of t*e al,orit*+ic stren,t* re0uction c*a-ter a00ress t*e
use of fast filters in 0esi,n of eBuali:ers in co++unications syste+s% 'avelets%
t'o10i+ensional IIR 0i,ital filters% an0 +otion esti+ation. .*ese -roble+s
intro0uce t*e rea0er to 0ifferent a--lications '*ere t*e conce-ts covere0 in
t*e c*a-ter can be a--lie0.
.*is boo( is base0 on t*e +aterial tau,*t at t*e University of Minnesota
in t'o current se+ester coursesC EE @=;5C E"SI <i,ital Si,nal Processin,
F4M
4;
PREFACE "i"
= ; 8
//~l
49 48 A 5
47 @ 9 46
\/ 1
7 22
4
)
=
2
FN
4A 4@
Fig. 0.1 Prece0ence constraints a+on, 0ifferent c*a-ters.
Syste+s an0 EE @@A5C <i,ital Si,nal Processin, Structures for E"SI. EE @=;5
>'it* a basic course on E"SI <esi,n as -rereBuisite? covers c*a-ters ; t*rou,*
7 an0 -arts of c*a-ters 4= t*rou,* 48 >in t*at or0er?. EE @@A5 >'it* a basic
course on 0i,ital si,nal -rocessin, as -rereBuisite? covers -arts of c*a-ters ;%
=% an0 A% c*a-ters 8 t*rou,* 4;% an0 so+e arc*itectures for vi0eo co+-ression
base0 on Journal an0 conference -a-ers. .*ese t'o se+ester courses 'ere
tau,*t as t*ree1Buarter courses in t*e -ast. Ior a sin,le se+ester course on
E"SI <i,ital Si,nal Processin,% c*a-ters ; t*rou,* 7% -arts of c*a-ters 5% 46%
4= an0 4@% an0 an overvie' of to-ics in c*a-ters 47 an0 48 are reco++en0e0.
Ho'ever% t*e instructors can select t*e c*a-ters t*at suit t*eir nee0s.
.*e c*a-ters nee0 not be follo'e0 in t*e or0er t*ey are -resente0. Many
c*a-ters can be tau,*t in0e-en0ently. .*e -rece0ence ,ra-* in Ii,. 6.4 s*o's
t*e 0e-en0encies a+on, c*a-ters. .*e 0as*e0 lines re-resent 'ea( 0e-en1
0encies '*ere a section of t*e current c*a-ter is 0e-en0ent on t*e -rece0in,
c*a-ter.
.*e aut*or *as been fortunate to receive valuable *el-% su--ort% an0 an0
su,,estions fro+ nu+erous collea,ues% stu0ents% an0 frien0s. .*e aut*or
is ,rateful to "eilei Son, for *er constant an0 ent*usiastic *el- 0urin, t*e
'ritin, of t*is boo(. He is also ,rateful to Jin1Lyun &*un,% .racy <en(%
<avi0 Par(er% Janar0*an Satyanarayana% an0 &*in,1#i Wan, for t*eir *el-
0urin, t*e early -art of t*e 'ritin, of t*is boo(. .*e aut*or is t*an(ful to
Wayne Burleson% Iranc(y &att*oor% E0 I. <e-rettere% Lra*a+ Jullien% an0
!ares* R. S*anb*a, for t*eir t*orou,* an0 constructive revie's of t*e first
0raftK t*eir co++ents *ave resulte0 in reor,ani:ation of several c*a-ters in
t*e boo(. E0 I. <e-rettere an0 Scott <ou,las use0 t*e -reli+inary versions
"" PREFACE
of t*e boo( at <elft University of .ec*nolo,y an0 at t*e University of Uta*%
res-ectively% an0 -rovi0e0 nu+erous su,,estions.
.*e aut*or a--reciates t*e constant su--ort an0 encoura,e+ent *e *as
receive0 fro+ <avi0 L. Messersc*+itt an0 Mos Kave*. .*e aut*orHs researc*
inclu0e0 in t*is boo( *as been su--orte0 by t*e !ational Science Ioun0ation%
t*e Ar+y Researc* ffice% t*e ffice of !aval Researc*% t*e <efense A0vance0
Researc* ProJects A,ency% .e/as Instru+ents% "ucent .ec*nolo,ies% an0 !E&
&or-oration. .*e aut*or is t*an(ful to Jo*n &o::ens% Wan0a Lass% Aru-
Lu-ta% &liffor0 "au% Jose Muno:% .a(ao !is*itani% an0 Bill San0er for t*eir
encoura,e+ent.
Several c*a-ters in t*e boo( are base0 on t*e Joint researc* 'or( of t*e
aut*or 'it* *is collea,ues Jin1Lyun &*un,% .racy <en(% Ka:u*ito Ito% "ori
"uc(e% <avi0 L. Messersc*+itt% "uis Montalvo% <avi0 Par(er% Janar0*an
Satyanarayana% !ares* S*anb*a,% H. R. Srinivas% an0 &*in,1#i Wan,. .*e
aut*or also t*an(s +any of *is collea,uesC Bryan Ac(lan0% Jonat*an Allen%
Ma,0y Bayou+i% <on Bou0lin% Robert W. Bro0ersen% Peter &a--ello% Anan1
t*a &*an0ra(asan% "ian,1Lee &*en% Ler*ar0 Iett'eis% Eby Irie0+an% Ric*ar0
Hartley% Me*0i Hata+ian% Sonia Hee+stra% #u Hen Hu% M. K. Ibra*i+%
Mary Ir'in% RaJeev Jain% "ea* Ja+ieson% &*ein1Wei Jen% S.#. Kun,% Ic*iro
Kuro0a% E0'ar0 "ee% K. J. R. "iu% EiJay Ma0isetti% Jo*n Mc&anny% .eresa
Men,% .a(ao !is*itani% .obias !oll% Robert 'ens% Peter Pirsc*% Mio0ra,
Pot(onJa(% Jan Rabaey% .a(ayasu Sa(urai% E0'in S*a% Bin, S*eu% Mic*ael
So0erstran0% Mani Srivastava% .*anos Stouraitis% Earl S'art:lan0er%H P. P.
Eai0yanat*an% In,ri0 Eerbau'*e0e% an0 Kun, #ao. He *as enJoye0 nu+erous
interactions 'it* t*e+. .*is boo( *as been 0irectly or in0irectly influence0
by t*ese interactions. .*an(s are also 0ue to &arl Harris of Klu'er Aca0e+ic
Publis*ers for *is -er+ittin, t*e aut*or to re-rint several -arts of c*a-ters
44 an0 4; fro+ an earlier +ono,ra-*.
.*e aut*or t*an(s An0re' S+it* of Jo*n Wiley & Sons for *is -ersonal
interest in t*is to-ic an0 for *avin, invite0 t*e aut*or to 'rite t*is boo(.
He also t*an(s An,ioline "ore0o% associate +ana,in, e0itor at Wiley% for *er
*el- in -ro0uction of t*is boo(. It 'as truly a -leasure to 'or( 'it* t*e+.
KESHAB K. P ARHI
Minneapolis, M$
%L&I Digital &ignal Processing &ystems
2
.
Introduction to Digital
Signal Processing
Systems
1.1 INTRODUCTION
<i,ital si,nal -rocessin, ><SP? *as +any a0vanta,es over analo, si,nal -ro1
cessin,. <i,ital si,nals are +ore robust t*an analo, si,nals 'it* res-ect to
te+-erature an0 -rocess variations. .*e accuracy in 0i,ital re-resentations
can be controlle0 better by c*an,in, t*e 'or0len,t* of t*e si,nal. Iurt*er1
+ore% <SP tec*niBues can cancel t*e noise an0 interference '*ile a+-lifyin,
t*e si,nal. In contrast% bot* si,nal an0 noise are a+-lifie0 in analo, si,1
nal -rocessin,. <i,ital si,nals can be store0 an0 recovere0% trans+itte0 an0
receive0% -rocesse0 an0 +ani-ulate0% all virtually 'it*out error. W*ile ana1
lo, si,nal -rocessin, is in0is-ensable for syste+s t*at reBuire e/tre+ely *i,*
freBuencies suc* as t*e ra0io freBuency transceiver in 'ireless co++unica1
tions% or e/tre+ely lo' area an0 lo' -o'er suc* as +icro +ac*ine sensors
use0 to 0etect crac(s an0 ot*er stress1relate0 +aterial 0efects% +any co+-le/
syste+s are reali:e0 0i,itally 'it* *i,* -recision% *i,* si,nal to noise ratio
>S!R?% re-eatability% an0 fle/ibility.
<SP syste+s can be reali:e0 usin, -ro,ra++able -rocessors or custo+ 0e1
si,ne0 *ar0'are circuits fabricate0 usin, very1lar,e1scale1inte,rate0 >E"SI?
circuit tec*nolo,y. .*e ,oal of 0i,ital 0esi,n is to +a/i+i:e t*e -erfor+ance
'*ile (ee-in, t*e cost 0o'n. In t*e conte/t of ,eneral 0i,ital 0esi,n% -erfor1
+ance is +easure0 in ter+s of t*e a+ount of *ar0'are circuitry an0 resources
reBuire0 >i.e.% s-ace or area?K t*e s-ee0 of e/ecution% '*ic* 0e-en0s on bot*
t*rou,*-ut an0 cloc( rateK an0 t*e a+ount of -o'er 0issi-ation or total en1
er,y reBuire0 to -erfor+ a ,iven tas(. Ior fi/e01-oint <SP syste+s% t*e finite
'or0len,t* -erfor+ance >i.e.% Buanti:ation an0 roun0off noise? is t*e fourt*
'
2 INTRODUCTION TO DIGITAL SIGNAL PROCESSING SYSTEMS
+easure+ent of -erfor+ance% es-ecially for 0i,ital filters% as a 0i,ital filter
'it* lar,e roun0off noise is of no use even if it *as better -erfor+ance in
ter+s of area% s-ee0% an0 -o'er consu+-tion.
.'o i+-ortant features t*at 0istin,uis* <SP fro+ ot*er ,eneral -ur-ose
co+-utations are t*e real-time throughput re(uirement an0 t*e data dri!en
property) .*e *ar0'are s*oul0 be 0esi,ne0 to +eet t*e ti,*t t*rou,*-ut
constraint of t*e real-time processing '*ere ne' in-ut sa+-les nee0 to be
-rocesse0 as t*ey are receive0 -erio0ically fro+ t*e si,nal source as o--ose0
to first storin, t*e+ in buffers an0 t*en -rocessin, t*e+ in batc* +o0e.
I! t*e t*rou,*-ut of a syste+ is less t*an t*e reBuire0 sa+-le rate% t*e ne'
in-uts nee0 to be stalle0 >or buffere0?% '*ic* reBuires an infinite len,t* buffer.
Ho'ever% once t*e sa+-le rate is +et by t*e *ar0'are% t*ere is no a0vanta,e
in +a(in, t*e co+-utation any faster. .*e secon0 i+-ortant attribute of
si,nal -rocessin, syste+s is its data-dri!en property, i+-lie0 by t*e fact t*at
any subtas(s or co+-utations in a <SP syste+ can be -erfor+e0 once all t*e
in-ut 0ata are available. In t*is sense% t*ese syste+s are sync*roni:e0 by t*e
flo' of 0ata% instea0 of t*e syste+ cloc(. .*is enables t*e use of async*ronous
circuits for <SP syste+s '*ere no ,lobal cloc( is reBuire0.
.*is intro0uctory c*a-ter -resents an overvie' of ty-ical <SP al,orit*+s%
t*e current 0esi,n c*allen,es in +ulti+e0ia si,nal -rocessin,% an0 t*e re-re1
sentations of <SP al,orit*+s. Several ty-ical <SP al,orit*+s are revie'e0
in Section 4.;. Section 4.= a00resses t*e co+-utation 0e+an0s of a fe' +ul1
ti+e0ia <SP functions an0 t*e <SP syste+ i+-le+entation o--ortunities
-resente0 by t*e scale0 E"SI tec*nolo,ies. Section 4.A a00resses four 0if1
ferent re-resentations of <SP al,orit*+C bloc( 0ia,ra+% si,nal1flo' ,ra-*%
0ata1flo' ,ra-*% an0 0e-en0ence ,ra-* re-resentations. Section 4.@ -resents
an outline of various c*a-ters in t*e boo(.
1.2 TYPICAL DSP ALGORITHMS
So+e <SP al,orit*+s an0 t*eir ty-ical a--lications are liste0 in .able 4.4
O4P. .*is section revie's several i+-ortant <SP co+-utations% inclu0in, cor1
relation% convolution% an0 0i,ital filtersK t*e stoc*astic1,ra0ient an0 least1
+ean1sBuare >"MS? a0a-tive filtersK bloc( +atc*in, al,orit*+ for +otion
esti+ation >ME?% 0iscrete cosine transfor+ ><&.? an0 vector Buanti:ation
>ED? for i+a,e -rocessin, an0 co+-ressionK Eiterbi al,orit*+ an0 0yna+ic
-ro,ra++in,K 0eci+ator an0 inter-olator% an0 'avelets an0 filter ban(s for
+ultirate si,nal -rocessin,.
66
TYPICAL DSP ALGORITHMS 3
Tal! 4.4 E/a+-les of &o++on <SP Al,orit*+s an0 .*eir A--lications
DSP Algorithms II Syste+ Applications
S-eec* co0in, <i,ital cellular -*ones% -ersonal co++unication
an0 0eco0in, syste+s% 0i,ital cor0less -*ones% +ulti+e0ia
co+-uters% secure co++unications
S-eec* encry-tion <i,ital cellular -*ones% -ersonal co++unication
an0 0ecry-tion syste+s% 0i,ital cor0less -*ones%
secure co++unications
S-eec* reco,nition A0vance0 user interfaces% +ulti+e0ia 'or(stations%
robotics an0 auto+otive a--lications% 0i,ital
cellular -*ones% -ersonal co++unication syste+s%
0i,ital cor0less -*ones
S-eec* synt*esis Multi+e0ia P&s% a0vance0 user interfaces% robotics
Mo0e+ al,orit*+s <i,ital cellular -*ones% -ersonal co++unication
syste+s% 0i,ital cor0less -*ones% 0i,ital au0io
broa0cast% +ulti+e0ia co+-uters% 'ireless
co+-utin,% navi,ation% 0ataFfacsi+ile +o0e+s%
secure co++unications
!oise cancellation Professional au0io% a0vance0 ve*icular au0io
Au0io eBuali:ation &onsu+er au0io% -rofessional au0io% a0vance0
ve*icular au0io
I+a,e co+-ression <i,ital ca+eras% 0i,ital vi0eo% +ulti+e0ia
an0 0eco+-ression co+-uters% consu+er vi0eo
Bea+for+in, !avi,ation% ra0arFsonar% si,nals intelli,ence
Ec*o cancellation S-ea(er-*ones% +o0e+s% tele-*one s'itc*es
1.2.1 Convolution
.*e convolution of ; 0iscrete seBuences "!#$ an0 x%#$ is 0efine0 as
&!#$ Q x%#$ B "!#$ Q I? x%'$"%# (
'$.
(Q1oo
>4.4?
.*e out-ut at ti+e instance #) &!#$) can be vie'e0 as t*e inner -ro0uct
bet'een x%'$ an0 "%('*#$ >su++e0 over 166 R ' R >6?.
&onvolution is use0 to 0escribe an0 analy:e linear ti+e1invariant >".I?
syste+s% '*ic* are co+-letely c*aracteri:e0 by t*eir unit1sa+-le >or i+-ulse?
res-onse "!#$ O;P. .*e out-ut seBuence of an LTI syste+ is co+-ute0 as t*e
convolution of t*e in-ut seBuence x%#$ an0 its unit1sa+-le res-onse "!#$.
W*en t*e unit1sa+-le res-onse of a syste+ contains a finite nu+ber of non:ero
sa+-les% i.e.% "!#$ is of finite 0uration% t*e syste+ is calle0 finite impulse
MIL
n
C
L
L
L
+ INTRODUCTION TO DIGITAL SIGNAL PROCESSING SYSTEMS
response >IIR?K ot*er'ise '*en h* n+ is of infinite 0uration% t*e syste+ is
calle0 infinite impulse response >IIR?. Ior e/a+-le% t*e +ovin,1avera,e syste+
'it* i+-ulse res-onse
. 4 M,
"% #$ Q M ,%# ( '$
4 D ; D (Ml
is an IIR syste+K t*e accu+ulator 'it* unit1sa+-le res-onse
"%#$ Q L ,%'$)
-.-oo
is an IIR syste+. It is a ste- function% an0 eBuals 4 for # ~ Can0 Cfor # R 6.
A syste+ is causal if t*e co+-utation of y*no+ 0e-en0s only on t*e -ast
in-ut sa+-les x%'$) ' .C@ no) .*e unit1sa+-le res-onse of a causal ".I syste+
satisfies "%#$ Q for # R 6. nly causal 0i,ital filters are of interest since
non causal syste+s cannot be i+-le+ente0 in *ar0'are or soft'are.
4.;.; Correlation
&orrelation is a 'i0ely use0 co+-utation in 0i,ital co++unications an0 ot*er
ran0o+ si,nal -rocessin, syste+s. .*e correlation of ; seBuences a*n+ an0
"*n+ is 0efine0 as
88
y*n+ Q a*-+"*n D
-+)
-.-oo
>4.;?
.*e correlation o-eration in >4.;? can be 0escribe0 as a convolution as follo'sC
88
y*n+.
-.-oo
a*--+"*n--++.a*-n+/"*n+) >4.=?
If a*0'+ an0 "*n+ *ave finite len,t* !% "e.% t*ese are non:ero for n .
6%4%H .. %! 1 4% t*e 0i,ital correlation o-eration is ,iven as follo'sC
N-l
y*n+ Q a*-+"*n D -+
-.1
>4.A?
for # Q 1! S 1)(N S;GG %14%6% 4GG% ! 1;% ! 14. .*e 0i,ital correlation
a%2$ )
L L
L
TYPICAL DSP ALGORITHMS -
o-eration in >4.A? can also be 'ritten in +atri/1vector +ulti-lication for+ as
&%(3$ 6 6 6 .%O$
&%(2$ 6 6 .%O$ x%l$
&% (1$ 6 x%O$ x%l$
x%2$ O 6>6?
2
for $ Q A.
&%O$
Q
x%O$ x%l$ x%2$ x%3$
a%l$
>4.@?
&%l$ x%l$ x%2$ x%3$ 6
a%3$
&%2$ x%2$ x%3$ 6 6
&%3$ x%3$ 6 6 6
1.2.3 Digital Filters
<i,ital filters are an i+-ortant class of ".I syste+s 0esi,ne0 to +o0ify t*e
freBuency -ro-erties of t*e in-ut si,nal x%#$ to +eet certain s-ecific 0esi,n
reBuire+ents. .*e -ro-erties of a causal 0i,ital filter can be co+-letely c*ar1
acteri:e0 by its unit1sa+-le res-onse "%#$) or its freBuency res-onse H%!
i2
+
>or transfer function 3*45, or by 0ifference eBuations. W*ile unit1sa+-le re1
s-onse an0 freBuency res-onse ca-ture its ti+e an0 freBuency 0o+ain -ro-1
erties% 0ifference eBuation re-resentations e/-licitly s*o' t*e co+-utations
reBuire0 to i+-le+ent t*e filter.
A linear% ti+e1invariant% an0 causal filter is 0escribe0 by t*e 0ifference
eBuation
N M(l
&%#$ Q 1 a/%# ( '$ D l!x%# ( '$. 0
IeEl k~O
If a' Q 6 for 4 M - 6 $, >4.9? re0uces to
M(l
&%#$ EE 'x%# ( '$)
k=O
>4.9?
>4.7?
'*ic* is an M1ta- finite i+-ulse res-onse >IIR? filter 'it* unit1sa+-le re1
s-onse "%'$ Q ' for 6 M ' ~ M ( 4% an0 "%'$ Q 6 ot*er'ise. .*is is a
nonrecursive co+-utation. I! at least one a' .7 6 for 4 M - 6 $, >4.9? re-1
resents a recursive co+-utation '*ere t*e co+-utation of &%#$ reBuires t*e
values of t*e -ast out-ut sa+-les% an0 is calle0 a recursive filter. Its corre1
s-on0in, unit1sa+-le res-onse *as infinite 0uration% *ence% it is also referre0?
to as an infinite i+-ulse res-onse >IIR? filter. .*e c*oice bet'een an IIR
filter an0 an IIR filter 0e-en0s on t*e a--lication reBuire+ents.
In 0esi,nin, freBuency1selective 0i,ital filters% it is usually 0esirable to *ave
a--ro/i+ately constant freBuency1res-onse +a,nitu0e an0 +ini+u+ -*ase
0istortion in t*e -ass ban0 O;P. A linear -*ase 'it* inte,er slo-e corres-on0s
1 INTRODUCTION TO DIGITAL SIGNAL PROCESSING SYSTEMS
to a si+-le 0elay in t*e ti+e 0o+ain% an0 it re0uces t*e -*ase 0istortion to a
+ini+u+ in t*e freBuency 0o+ain. .*erefore% it is 0esirable to 0esi,n 0i,ital
filters 'it* e/actly or a--ro/i+ately linear -*ase. "inear -*ase IIR filters
are -articularly attractive as t*eir unit1sa+-le res-onses are sy++etric an0
reBuire only *alf t*e nu+ber of +ulti-lications. Ior e/a+-le% t*e unit1sa+-le
res-onse of aM1ta- linear -*ase IIR filter satisfies
"%#$ 2222"%M ( #$.
.*erefore% a 71ta- linear -*ase IIR filter 'it* i+-ulse res-onse
"%O$ E "%1$ E
o
, "%l$ Q "%-$ Q i) "%2$ Q "%+$ Q 3) "%3$ Q 8
can be 'ritten as
y*n+ Q bo"*n+ D b'"*n - 4? D b,"*n - ;? D b
8
"*n -
=?
9bo"*n - 9? D b'"*n - @? D b,"*n - A?
>4.8?
an0 can be i+-le+ente0 as s*o'n in Ii,. 4.4>a? or in Ii,. 4.4>b? usin, A
+ulti-liers% 9 a00ers% an0 9 stora,e ele+ents. Ii,. 4.4>b? re-resents a 0ata1
broa0cast structure since t*e in-ut 0ata is broa0cast to all +ulti-liers at t*e
sa+e ti+e.
1.2.4 Adaptive Filters
Ii/e01coefficient 0i,ital filters are i0eal for freBuency s*a-in, in 0eter+inistic
environ+ents. A0a-tive 0i,ital filters are use0 for a--lications suc* as ec*o
cancellation% c*annel eBuali:ation% voiceban0 +o0e+s% 0i,ital +obile ra0io%
syste+ i0entification an0 control% acoustic bea+for+in,% an0 s-eec* an0 i+1
a,e -rocessin, O=P. A0a-tive filters -re0ict one ran0o+ -rocess :y*n+; fro+
observations of anot*er ran0o+ -rocess :"*n+; usin, linear +o0els suc* as
0i,ital filters. Unli(e t*e fi/e01coefficient filters >suc* as IIR an0 IIR?% t*e
coefficients in a0a-tive 0i,ital filters are u-0ate0 at eac* iteration in or0er
to +ini+i:e t*e difference bet'een t*e filter out-ut an0 t*e 0esire0 si,nal.
.*is u-0atin, -rocess continues until t*e coefficients conver,e. Hence% a0a-1
tive 0i,ital filters usually consist of a ,eneral filter bloc( an0 a coefficient
u-0ate bloc(. Earious a0a-tation -rocesses can be 0erive0 base0 on 0ifferent
0ifference +ini+i:ation criteria. .*is subsection a00resses t*e 0erivation of
t*e "MS a0a-tive filters >'it* IIR filter bloc(? an0 t*e stoc*astic1,ra0ient
a0a-tive lattice filters.
TYPICAL DSP ALGORITHMS 4
'@nF
>a?
'@nF ---G
>b?
Fig. 4.4 Bloc( 0ia,ra+s of a 71ta- linear1-*ase IIR filter.
'),)<)' LMS =dapti!e 7ilters In t*e "MS a0a-tive al,orit*+% a 'ei,*te0
su+ of all t*e observations
5%#$ Q 6T%# 14?U>n? >4.5?
is use0 as an esti+ate of t*e 0esire0 si,nal 5%#$) '*ere
is t*e 'ei,*t vector an0
UT%#$ Q 78%#$)8%# -2F..?. )8%# ( N D 2FH
contains t*e current an0 -ast in-ut sa+-les. .*e esti+ation error% 0enote0
by !%#$) is t*e 0ifference bet'een t*e 0esire0 si,nal an0 t*e esti+ate0 si,nal%
"e.%
!%#$ Q 5%#$ ( 5%#$ Q 5%#$ ( 6T%# 14?U>n?. >4.46?
.
, INTRODUCTION TO DIGITAL SIGNAL PROCESSING SYSTEMS
d@nF
u@nF
e@nF
>- error??
, feedbac-@?
(. 100
P
9$
..... ""
Fig. 4.; Syste+ 0ia,ra+ of t*e "MS a0a-tive filter.
In t*e n1t* iteration% t*e "MS al,orit*+ selects A
T
%#$) '*ic* +ini+i:es t*e
sBuare error e
,
*n+) .*erefore% t*e "MS a0a-tive filters consist of an IIR filter
bloc( >I1bloc(? 'it* coefficient vector 6T%#$ an0 in-ut seBuence 8%#$) an0
a 'ei,*t >coefficient? u-0ate @4UDF bloc(.
.o 0erive t*e 'ei,*t u-0ate al,orit*+% t*e 0erivative of e
,
*n+ 'it* re1
s-ect to 6T %# ( 4? is calculate0 as follo's >t*e ti+e in0e/ # is 0ro--e0 for
si+-licity? C
,!
,
,6T
Q 1;0U D ;W
.
U . U
. (2%5 ( W.U?U Q 1;eU. >4.44?
.*e u-0ate of t*e 'ei,*t vector is t*us 'ritten as
>4.4;?
Iinally% 'e obtain
6%#$ Q 6%# ( 2F D :.;!%#$U%#$. >4.4=?
.*e syste+ level 0ia,ra+ of t*is "MS filter is s*o'n in Ii,.4.;% '*ere in every
iteration t*e error !%#$ >4.46? is co+-ute0 by t*e filter bloc( >I1bloc(? an0
t*e 'ei,*t vector >4.4=? is u-0ate0 by t*e 4UD bloc(. Ii,. 4.= s*o's t*e
0etaile0 "MS filter bloc( 0ia,ra+.
'),)<), &tochastic-Bradient =dapti!e Lattice 7ilter .*e basic conce-ts an0
0erivation of lattice filter structures are assu+e0% as t*ese are covere0 in ,reat
0etail in OAP%O;P >see also &*a-ter 4;?.
!<%#l=$ Q !<%#l= ( 2F - '=%#$!%# ( 22 - 2F
!%#l=$ E !%# ( 22 - 4? 1
'=%#$!<%#l=
( 2F.
WU<1B"&K
u@nF
TYPICAL DSP ALGORITHMS >
.- - I1.... - - T. 1 1 - 11 1 1 1 1 1 1 1 - 1 1 - - 1 11 1 1 1 1 J .. J .. 11 1 1T - 1T .. J .. 1 J .. 1T .. J .. 1 1%
C I1B"&K C
. H
0en?
NT -- - ..T .. 1 - 11 J .. - T .. 1T .. - 1 - - 1T .. T .. 1 11 1 - 1T .. - - ..- 11 11 - -- - 1 1 .. J .. - J .. 1 1 T .. 11 - .. 1 1T .. - T .. T1
Fig. 4.= .*e "MS a0a-tive 0i,ital filter.
"et # 0enote t*e ti+e instance% an0 + Q 4%;% ... % N 0enote t*e lattice sta,e
nu+ber %N is t*e total nu+ber of sta,es or t*e or0er of t*e filter?. .*en t*e
or0er u-0ate eBuations for t*e for'ar0 an0 bac('ar0 -re0iction errors can
be 'ritten as follo's% res-ectivelyC
>4.4A?
'*ere '
m
is t*e -artial correlation coefficient >also calle0 PAR&R or re1
flection coefficient? O@P >see Section 4;.=.=?. In Ii,. 4.A% t*e s*a0e0 re,ion
re-resents a for'ar0 lattice sta,e an0 -erfor+s t*e co+-utation in >4.4A?.
.*e stoc*astic1,ra0ient a0a-tive al,orit*+ a0a-ts '
m
to +ini+i:e
:%#$ Q !?%#l=$ D !~%#l=$) >4.4@?
'*ic* re-resents t*e sBuare su+ of t*e for'ar0 an0 bac('ar0 -re0iction er1
rors. E/-ressin, :%#$ in ter+s of !<%#l= ( 4?% !%# ( 22 - 2F. an0
'=%#$ an0 ta(in, t*e 0erivative of :%#$ 'it* res-ect to '=0 'e *ave
,:%#$ .
,' %#$ Q (27!<%#l= -2F - '=%#$!%# -22 (1$@!%# -22 - 2F
=
(27!%# ( 22 - 2F - '=%#$!<%#l= ( 1$@!<%#l= ( 2F.
10 INTRODUCTION TO DIGITAL SIGNAL PROCESSING SYSTEMS
ef>nl+1l?
Fig. 4.A .*e stoc*astic1,ra0ient a0a-tive lattice filter arc*itecture.
.*is 0erivative% calculate0 usin, t*e current esti+ate for -m*n+, is 'ei,*te0
an0 subtracte0 fro+ t*e current esti+ate to yiel0 t*e ne' esti+ate -m*n+)
.*e u-0ate eBuation is 'ritten as
-m*n D 4? Q -m*n+ C ,Dm#n+ 8MC? >4.49?
. -
m
*n+E' - ,Dm*n+*eJ*nlm - 4? 9e6*n - 44+ 1 4??P
9,,Dm*n+ef*nlm - l+eb*n - 44+ 1 4?%
'*ere ,Dm*n+ is t*e a0a-tation constant. Ior t*e s-ee0 of a0a-tation to be
relatively in0e-en0ent of t*e in-ut si,nal levels% t*e ste-1si:e ,Dm*n+ nee0s to
be nor+ali:e0 by an esti+ate of t*e su+ of t*e >+ 1 4?1t* or0er -re0iction
error variance. Hence% 'e can 'rite H
,Dm*n+ .
4
>4.47?
&*nlm -'+
TYPICAL DSP ALGORITHMS 11
'*ere S%#l= ( 4? is esti+ate0 recursively as
S%# D 11= ( 4? Q >4 1 ),$S%#l= ( 4?
*!:%#l= 14? D !~%# ( 44+ 14?%
>4.48?
'*ere %8 is a constant '*ic*% in conJuction 'it* t*e initial value of S%Ol= (1$)
controls t*e s-ee0 of a0a-tation.
.*e stoc*astic1,ra0ient a0a-tive al,orit*+ is co+-letely 0escribe0 by t*e
follo'in, eBuationsC
'=%# D 4? Q O4 1 ),=%!?%#l= ( 4? D !~%# ( 44+ (1$$@'
=
A#$
*2),=!<%#l= ( l$!%# ( 44+ 1 4? >4.45?
S%# D 44+ 1 4? Q >4 1 ),$S%#l= ( 4? >4.;6?
*!?%#l= ( 4? D !~%# ( 44+ 1 4?
4
%8+ E S%#l= 9 4? >4.;4?
!<%#l=$ Q !<%#l= ( 4? 1 '=%#$!%# ( 44+ 14? >4.;;?
!%#l=$ Q !%# ( 44+ 1 4? 1 '=%#$!<%#l= ( 4?. >4.;=?
EBuations >4.45?1>4.;4? an0 >4.;;?1>4.;=? are referre0 to as t*e a0a-tation
an0 or0er1u-0ate eBuations% res-ectively. .*is stoc*astic1,ra0ient lattice fil1
ter bloc( 0ia,ra+ is s*o'n in Ii,. 4.A% '*ere t*e for'ar0 an0 bac('ar0
-re0iction errors% !< an0 !) are co+-ute0 usin, for'ar0 lattice sta,es >in
s*a0e0 re,ion?.
1.2. !otion "stimation
Motion esti+ation is use0 in interfra+e -re0ictive co0in, an0 is t*e +ost
co+-utation1intensive -art in vi0eo co0in,. In +otion esti+ation% successive
fra+es of a vi0eo seBuence are analy:e0 to esti+ate t*e +otion >or 0is-lace1
+ent? vectors of -i/els or bloc(s of -i/els. .*e +otion vectors are trans+itte0
instea0 of t*e corres-on0in, bloc(s of t*e current fra+e. .*e best co+-res1
sion is obtaine0 by +otion1co+-ensate0 -re0iction usin, bloc(s fro+ -revi1
ous co0e0 fra+e. Bloc(1+atc*in, al,orit*+s >BMAs? are t*e +ost -referre0
sc*e+es for +otion esti+ation 0ue to t*eir relative si+-licity. In BMAs% eac*
fra+e is -artitione0 into $-by-$ +acro reference bloc(s an0 it is assu+e0
t*at all t*e -i/els in 4 bloc( *ave t*e sa+e +otion. Eac* reference bloc( in
t*e current fra+e is co+-are0 'it* 0is-lace0 can0i0ate bloc(s in t*e -revious
fra+e an0 t*e offset bet'een t*e best fittin, can0i0ate bloc( an0 t*e reference
bloc( is 0efine0 as its +otion vector. .*e searc* ran,e in t*e -revious fra+e
??.
KLMYr?iNO.?.??
L L
12 INTRODUCTION TO DIGITAL SIGNAL PROCESSING SYSTEMS
Previous fra+e
..? >M-.)-?.% C %. C >!H.-1t1..M?
.
&urrent fra+e
. .. D I I .? .. ?. .
C
%MMMMM..MMMMTMMM'iMM..MM.
M...
.... H ...% IH
....
?
MNM . PQM
BC~CC
P ?
C?A..BCD
??
.PiMr . ...
.... btst ....M..
+a(*e0 C
....IM..
@P (
. CCH >6%6?C >4i414%6?CC
..L.?.L.LL....K.. ".GCCC G.CCC
C %>.!1i? >FUK.I.!1IJ C
..... bJM.(.
...... M
CC
iH
?
.. MHG
? CCC
. HCH.. M.. M M
L I I .. L .. J
.Ip.NDpN...l.F. ........ ?..%N2;EF)l.N).EF)l$
......
.........-J...N. D/I--?--
. P? I. I. ...1. C.. ... I..... I.
Fig. 4.@ Bloc(1+atc*in, al,orit*+ for +otion esti+ation.
is calle0 search 2indo2 an0 is constraine0 to D> - p -i/els in bot* *ori:ontal
an0 vertical 0irections relative to t*e -osition of t*e reference bloc(. .*us%
t*e searc* 'in0o' contains %N D ,p+, -i/els. .*e bloc(1+atc*in, al,orit*+
is illustrate0 in Ii,. 4.@.
Several searc* criteria can be use0 to 0efine t*e best +atc*% inclu0in,
cross1correlation function >&&I?% +ean1sBuare error >MSE?% an0 +ean abso1
lute 0ifference >MA<?. .*e MA< function is +ost 'i0ely use0 in -ractical
i+-le+entations 0ue to its si+-licity an0 satisfactory -erfor+ance. .*e 0is1
-lace0 bloc( 0ifference s*m, n+ 'it* 0is-lace+ent *m, n+ usin, MA< is 0efine0
as
N-2N-l
s*m,n+ E I"*i,F+-y*i9m,F9n+l,
iGO JQ
Eor - P RN6. +% n RN6. p, >4.;A?
'*ere "*i,F+ an0 y*i9m,F 9n+ corres-on0 to t*e -i/el values in t*e reference
bloc( in current fra+e an0 t*e can0i0ate bloc( in t*e searc* 'in0o' in -re1
vious fra+e% res-ectively. !ote t*at >4.;A? reBuires 8$, co+-utations >one
subtraction% one absolute value% an0 one accu+ulation are nee0e0 for eac*
absolute 0ifference co+-utation?. Several strate,ies can be use0 to 0eter+ine
t*e best +atc*e0 bloc(% out of '*ic* lull search is t*e +ost strai,*tfor'ar0
+et*o0. It searc*es all t*e *,p D 4?; -ositions in t*e searc* 'in0o' an0
co+-utes t*e +otion vector v as
u Q min*m)n+:s*m,n+;, Eor -p6m, nG#H,p,
v >+%n?lu.
Hence% for a NH / NI fra+e *$h -i/els -er line% $! lines -er fra+e?% t*e
C C
L
L
>4.;7?
CI
L
TYPICAL DSP ALGORITHMS 13
full1searc* BMA involves
co+-utations -er fra+e. Assu+e a fra+e rate of 7 fra+esFsec% t*e co+-u1
tation loa0 of full1searc* BMA is 8*,p D 4?;$h$!7 o-erationsFsec.
1.2.# Discrete Cosine Trans$orm
.*e 0iscrete cosine transfor+ ><&.? as a freBuency transfor+ 'as first in1
tro0uce0 for -attern reco,nition in i+a,e -rocessin, an0 Wiener filterin, O9P.
It is currently e/tensively use0 as a transfor+ co0er for still an0 +ovin, i+1
a,e an0 vi0eo co+-ression. .*is section intro0uces t*e 0erivation of even
sy++etrical one10i+ensional <&. >I<1<&.?.
&onsi0er a !1-oint seBuence "*n+, "e.% "*n+ Q for n R an0 n S $ (1.
.*e N 1-oint <&. an0 inverse <&. >I<&.? -air for t*is seBuence is 0efine0
asC
N(l *,n D 4?(7r
I*-+ Q e*-+ "*n+ cosO ,$ J, - Q 6%4%. ,$ - 4
n=O
; N(l *,n D l?(7r
"*n+ Q $ e*-+I*-+ cost ,$ J, n Q 6% 4% .H .. ,$ - 4%
k=O
>4.;@?
>4.;9?
'*ere
e*-+ E G I. i< - E 6%
', other2ise)
.*e $ 1-oint <&. an0 I<&. -air can be 0erive0 usin, a ,$ 1-oint 0iscrete
Iourier transfor+ ><I.? -airC &onstruct a ;!1-oint seBuence y*n+ usin, "*n+
an0 its +irror i+a,e as follo'sC
y*n+ Q "*n+ D "*,$ - n - 2F Q
:
"*n+, n 6 $ (1
"*,$ C n C 2F. $ 6 n 6 ,$ C 4. >4.;8?
Hence y*n+ is sy++etric 'it* res-ect to t*e +i0-oint at n Q $ 14F;. Ii,. 4.9
s*o's an e/a+-le for N Q @.
.*e ;!1-oint <I. of y*n+ is ,iven by
2N(l
KD*-+ Q y*n+e-F6-n
n=O
L L
,$
" .
1+ INTRODUCTION TO DIGITAL SIGNAL PROCESSING SYSTEMS
;@nF
o 1 2 345 6 7 8
9
II 4. n
o 1 2 345 6 7 8 9
>a? >b?
7ig) 4.9 Relation bet'een !1-oint seBuence ":n+ an0 ;!1-oint seBuence y:n+ .
"*n+ D "*,$ - n - 4?.
N-l /N-l
Q
0
M
C0
"*n+e-J,$
0A:B..'
n
D
0
I
C0
"*,$ - n -'+cJ,$
0A:B..'
?, *'),L+
n.1 n.$
for 6 M - 6 ,$ - 4. Substitutin, n Q ,$ - n@ - 4 into t*e ;n0 su++ation in
>4.;5?% 'e obtain
o
L "*n@+e-
if$-
*,$-n@-'+
n@.$-l
N-l
E I
HGH
[email protected]
"*n
G;
+e
%%
Jm
'#
n
0
eJ
0
,
+
$
'
)
>4.=6?
Wit* >4.=6?% >4.;5? can be re'ritten as
N-l N-l
KD*-+ Q "*n+e-
Ff$-n
D "*n+eFf$-neF6-
n.1 n.1
N-l N-l
,n
. ei/@*L "*n+e-
i
*
,n
;:$CC D L
"*n+e
i
*
n.1 n.1
;:$CC$
<efine
Fh ?M; >?
e L...: n
n.1
**,n9'+-'r+
cos 2N .
>4.=4?
I*-+ E :KD*-+e-
i
*/+, 6 M - 6 $-'
M, other2ise)
.*en t*e !1-oint <&. can be e/-resse0 as I*-+ Q e*-+I*-+>,)
>4.=;?
.*e inverse <&. is 0erive0 by relatin, KD*-+ to I*-+, co+-utin, y*n+
fro+ KD*-+ usin, t*e inverse <I.% an0 reconstructin, "*n+ fro+ y*n+) Al1
t*ou,* KD*-+ is a ;!1-oint seBuence an0 I*-+ is a !1-oint seBuence% t*e
C
:
; "..J
e-
:
*+
. -e
:
'101r ....
TYPICAL DSP ALGORITHMS 1-
re0un0ancy >sy++etry? in y*n+ enables KD*-+ to be e/-resse0 usin, I*-+)
Ior s - 6 $ 14% KD*-+ Q e
i
/ I*-+# KD*$+ Q 6. Ior $ D 4 M - s ,$ -',
4 M ,$ - - 6 $ 14. .*erefore%
KD*,$ - -+
Q
e ,$ I*,$ - -+
Q
-e-
:
I*,$ - -+) *')88+
.%2N('$C ~ * M
:
@,$
Ho'ever% fro+ >4.=4?%
K
D
*,$ - -+ Q e
)*,$
i
/$C ~
n.1
*,n D '+*,$ - (?7r
,"*n+ cos> ,$ +
$-l *+
. -e
)2NC Ph MM ,n D 4 (7r
:TN
@,$ "..J ,"*n+ cos> ,$ +
n.1
. e
(:0
/
~
N e
OP h
2N
$
L
-l
;
"
>?
n cos
*,
1H
n
11 T
D
T
4
C
(7r?
n.1
,$
. e-
:
%M
,$ KD*-+) *')8<+
Hence%
KD*-+ Q ei6KD*,$ - -+
T .alQUt T 100f ...
. -e
:
,$ e-
:
@,$ I*,$ - -+
@,$ I*,$ - -+, >4.=@?
for $ D 4 M - 6 ,$ - 4. .*erefore% 'e *ave
ei/ I*-+, C I- 6 $ - 4
KD*-+.@ 6% -.$
:
-ei6 I*,$ - -+, $ D 4 M - 6 ,$-
')
>4.=9?
.a(in, t*e inverse <I. of KD*-+, 'e *ave
,$-l
y*n+ G
J2J MM 2P? *-+eilf,-n
,$ "..J D
-.1
$-l ,$-l
. ,6*L I*-+ei*,nt6+h D L *-ei6 I*,$ - -++eilf,-n+)
-.1 -.$9l
>4.=7?
After c*an,e of variable in t*e ;n0 ter+ an0 so+e al,ebraic +ani-ulation%
an0 usin, l>e*1+ Q ,e*M+ an0 l>e*-+ Q e*-+ for -f) 6% >4.=7? can be re'ritten
$
2N
I?
.
:
11 INTRODUCTION TO DIGITAL SIGNAL PROCESSING SYSTEMS
as
&%#$
4 M M> ? .@/MDOl
h
2N >"...J U ' e ;
D
I
"...J U
I@F
' e-
:
T@/MtOl
h
'GGO *El
G 229%.%O$ D ; I?l.%'$ cos> *,n KK?(7r??
2N *EEl
Q 1
;
> !%O$.%O$ D
N
I
(
?
l
.%'$!%'$ cos>
*,n D 4?(7r
$$) >4.=8?
N *El
for 8??N # 22I ,$ 14. .*e inverse <&.% obtaine0 by retainin, t*e 4st $ -oints
of &%#$) is ,iven by
; N(l *,n D 4?(7r
x%#$ Q &%#$ E $ !%'$.%'$ cos> ),$+@ *')8L+
. J 'GO
for 6 CCK n #N ( 4.
E/-ress t*e !1-oint seBuences x%#$ an0 .%'$ in vector for+ as
/ Q x%
O
l$0
$ 2
.;
Q
7
7.%O$
V>l?
2
%
>4.A6?
"*$ - 2F I*$ - 2F
an0 t*e <&. transfor+ in >4.;@? in +atri/ for+ as
4F..F;
A E cos>ifv?
O
4F..F;
cosa$+
>4.A4?
cosN$,6+'T+ cos> 8*6$l+'T+
.*e <&. an0 +&. coefficients can be co+-ute0 usin,
V Q A/% / Q 'AT.. >4.A;?
.*is lea0s to AAT Q lOI$"$, '*ere I$"$ is t*e i0entity +atri/ of 0i+ension
N / N. .*erefore% <&. is an ort*o,onal transfor+.
.*e !1-oint 4<1<&. in >4.;@? reBuires N
2
+ulti-lications an0 a00itions.
Ior i+a,e co+-ression% t*e i+a,e fra+e is 0ivi0e0 into N / N bloc(s% an0 a
N / N t'o10i+ensional <&. >;<1<&.? is co+-ute0 for eac* bloc(. <irect
co+-utation of ;<1<&. of len,t* N reBuires N
<
+ulti-lications an0 a00i1
tions. n t*e ot*er *an0% by utili:in, t*e se-arability of ;<1<&.% it can be
co+-ute0 by -erfor+in, N 4<1<&.s on t*e ro's of t*e i+a,e bloc( follo'e0
by $ 4<1<&.s on t*e resultin, colu+ns O7P. Wit* t*is si+-lification% $ / $
TYPICAL DSP ALGORITHMS 14
ED
vectors
<istortion
&alculation
81bitin0e/
Fig. 4.7 Eector Duanti:ation1base0 vector co+-ression an0 0eco+-ression.
;<1<&. reBuires ,$
8
+ulti-ly1a00 o-erations% or <$8 arit*+etic o-erations.
1.2.% &ector 'uanti(ation
Eector Buanti:ation >ED?% '*ic* ori,inate0 as a -attern +atc*in, sc*e+e% is
no' co++only use0 for 0ata co+-ression in s-eec*% i+a,e an0 vi0eo co0in,%
an0 s-eec* reco,nition. It is a lossy co+-ression tec*niBue t*at e/-loits t*e
s-atial correlation t*at e/ists bet'een nei,*borin, si,nal sa+-les. In ED% a
,rou- of sa+-les are Buanti:e0 to,et*er rat*er t*an in0ivi0ually. A vector
Buanti:er can o-erate 0irectly on i+a,e bloc(s to ac*ieve s-atial infor+ation
co+-ression an0 Buanti:ation at t*e sa+e ti+e. In a ED syste+% i0entical
co0eboo(s containin, co0e'or0 vectors are available bot* in t*e trans+it1
ter an0 t*e receiver si0e. .*e vector Buanti:er trans+its t*e in0e/ of t*e
co0e'or0 rat*er t*an t*e co0e'or0 itself.
Ii,. 4.7 illustrates t*e ED enco0in, an0 0eco0in, -rocess. n t*e enco0er
si0e% t*e vector Buanti:er ta(es a ,rou- of in-ut sa+-les >-i/els in t*e case of
i+a,e co+-ression in Ii,. 4.7?% co+-ares t*is in-ut vector to t*e co0e'or0s
in t*e co0eboo( an0 selects t*e co0e'or0 'it* +ini+u+ distortion) Assu+e
t*at vectors are (10i+ensional an0 t*e co0eboo( si:e is N. I! t*e 'or0len,t*
of t*e vector ele+ents is A an0 $ Q ,
m
, t*en t*e rn1bit a00ress of t*e
co0eboo( is trans+itte0 as o--ose0 to -A-bit) .*is lea0s to a co+-ression
factor of m>-A) .*e 0eco0er si+-ly receives t*e +1bit in0e/ as t*e a00ress
of t*e co0e boo( an0 retrieves t*e best co0e'or0 to reconstruct t*e in-ut
vector. In Ii,. 4.7% eac* vector contains ' Q 49 -i/els of 'or0len,t* 6 Q 8.
.*e co0eboo( contains N Q ;@9 co0e'or0s% *ence + Q 8. .*erefore% t*e
vector Buanti:er in Ii,. 4.7 ac*ieves a co+-ression factor of 4F49.
.*e enco0in, al,orit*+ in vector Buanti:er can be vie'e0 as an e/*austive
searc* al,orit*+% '*ere t*e co+-utation of 0istortion is -erfor+e0 seBuen1
tially on every co0e'or0 vector in t*e co0eboo(% (ee-in, trac( of t*e +ini+u+
0istortion so far% an0 continuin, until every co0e'or0 vector *as been teste0.
.
i
.
L
1, INTRODUCTION TO DIGITAL SIGNAL PROCESSING SYSTEMS
Usually% t*e Eucli0ean 0istance bet'een t'o vectors >also calle0 sBuare error?
*-l
d@;.'F Q II; - 'll/ Q @L*Ii - Ki+,
iQ
>4.A=?
is use0 as 0istortion +easure+ent. In -ractical i+-le+entations% t*e 0istor1
tion bet'een t*e in-ut vector / an0 t*e J1t* co0e'or0 vector &J >6 M J M
N ( 4? is co+-ute0 base0 on t*eir inner -ro0uct% instea0 of 0irect sBuarin,
o-erations O84. By e/-an0in, >4.A=?% 'e ,et
>4.AA?
'*ere
>4.A@?
an0 t*e inner -ro0uct is ,iven by
*-l
V &J QQ IiCFi)
iQ
>4.A9?
Since !K 0e-en0s only on t*e co0e'or0 vector &J an0 is a constant% it can
be -reco+-ute0 an0 treate0 as an a00itional co+-onent of t*e vector &J.
.*erefore% for a fi/e0 in-ut vector /% +ini+i:in, t*e 0istortion in >4.AA? a+on,
t*e N co0e'or0 vectors is eBuivalent to +a/i+i:in, t*e Buantity V &J D !K)
'*ere 6 M J M N ( 4. .*erefore% t*e searc* -rocess in ED can be 0escribe0
as follo'sC
>4.A7?
'*ere t*e inverse +eans Gout-ut t*e in0e/ ind
n
'*ic* ac*ieves t*e +ini+u+
or +a/i+u+G an0 # re-resents t*e ti+e instance. .*e searc* -rocess can
also be 0escribe0 eBuivalently in a +atri/1vector +ulti-lication for+ulation
follo'e0 by co+-arisons as follo's O5PC
< Q O0o 0
l
... 5N95
T
Q &/ D e
ind
n Q >Ma/U0iW?1l%
>4.A8?
'*ere & Q :CFi; is $ / - +atri/ 'it* t*e J1t* co0e'or0 vector CFT as its
J1t* ro'% / is t*e in-ut vector of 0i+ension ') an0 e E 7!L el ... !N(IKT.
.*e above searc*in, al,orit*+ is a bruteforce a--roac* '*ere t*e 0istor1
tion bet'een t*e in-ut vector an0 every entry in t*e co0e boo( is co+-ute0%
an0 is calle0 full-search !ector (uanti4ation) Every full1searc* o-eration re1
Buires $ 0istortion co+-utations an0 eac* 0istortion co+-utation involves -
TYPICAL DSP ALGORITHMS 1>
=
o o 6
o 6 o 0
o 0 o
o o o
o 0 o 0
o 0 o 0
"D "D
o o o
WW
Fig. 4.8 .ree1structure0 vector Buanti:ation.
+ulti-ly1a00 o-erations. Hence% co+-utin, t*e in0e/ for one (10i+ensional
in-ut vector reBuires $- +ulti-ly1a00 o-erations an0 $ - 4 co+-arisons%
'it*out inclu0in, +e+ory access o-erations. .*is al,orit*+ +ay be a bot1
tlenec( for *i,* -erfor+ance for lar,e $) Ior t*ese cases% a tree-structured
!ector (uanti4ation sc*e+e can be use0 '*ose co+-le/ity is -ro-ortional to
lo,; N. .*e basic i0ea is to -erfor+ a seBuence of binary searc* instea0 of an
e/*austive searc*% as s*o'n in Ii,. 4.8. At eac* level of t*e tree% t*e in-ut
vector is co+-are0 'it* t*e / co0e'or0 vectors an0 / 0istortion co+-utations
are carrie0 out. .*is -rocess is re-reate0 until t*e leaf of t*e tree is reac*e0.
Ior t*e e/a+-le in Ii,. 4.7% t*e tree searc* reBuires 49 0istortion calculations%
as co+-are0 to /67 in full searc*. .*e tree searc* ED is a subo-ti+al Buan1
ti:er t*at ty-ically results in -erfor+ance 0e,ra0ation. Ho'ever% for carefully
0esi,n co0eboo(% t*e 0e,ra0ation can be +ini+i:e0.
1.2.) &iter*i Algorithm and D+namic Programming
.*is section revie's t*e Eiterbi al,orit*+% '*ic* is base0 on 0yna+ic -ro1
,ra++in, O46P. .*e Eiterbi al,orit*+ is 'i0ely use0 to 0etect seBuential
error1control co0es suc* as convolutional co0es% an0 to 0etect sy+bols in
c*annels 'it* +e+ory. It is o-ti+u+ in t*e +a/i+u+ li(eli*oo0 sense for
fin0in, t*e +ost li(ely noiseless seBuence ,iven a noise corru-te0 finite1state
seBuence. .*e finite1state si,nals are si,nals ,enerate0 fro+ finite1state tran1
sition 0ia,ra+. Ior e/a+-le% Ii,. 4.5>a? is a state transition 0ia,ra+ 'it* A
states SOO) SOl) S10 an0 Sl1. .*ere are t'o -ossible out,oin, e0,es fro+
eac* state assu+in, in-ut of 6 an0 4. .*e note on eac* e0,e 0enotes t*e
current in-ut bit an0 t*e corres-on0in, out-ut sy+bol. Ior e/a+-le% t*e
out,oin, e0,e fro+ state SOO 'it* note 4F44 +eans t*at t*e current in-ut
is 4 an0 t*e out-ut sy+bol is 44. .*is state transition 0ia,ra+ can be use0
to 0escribe a convolutional enco0in, al,orit*+ 'it* co0e rate 4F;% +e+ory
.M len,t* ; an0 ,enerator -olyno+ials gl *4+ Q '94-
,
an0 g,*P+ Q '94-
1
9P-,)
o6
m
8 46
--
20 INTRODUCTION TO DIGITAL SIGNAL PROCESSING SYSTEMS
ti+e instance ti+e instance
n nSl
8>88
P-PI
S
''M'
C 6F46
S
>22
S
L
GHDFll
Sl
6%6F64%H 6
Sl
. .
S46
6G GH6
S46
,~
>a?
Sl4
6F >
4F64
>b?
M
Sl4
Fig. 4.5 .rellis 0escri-tion of a finite1state +ac*ine. >a? A A1state +ac*ine. >b? .*e
trellis 0escri-tion.
.*e state transition 0ia,ra+ in Ii,. 4.5>a? can also be 0escribe0 usin, a ti+e1
in0e/e0 eBuivalent trellis diagram in Ii,. 4.5>b?% '*ic* 0escribes all t*e state
transitions fro+ ti+e instance # to # D 4. I! a seBuence of sy+bols% ,enerate0
fro+ a trellis% is corru-te0 by a00itive '*ite Laussian noise% t*e Eiterbi al,o1
rit*+ can fin0 t*e closest seBuence of sy+bols in t*e ,iven trellis% usin, eit*er
t*e Eucli0ean 0istance >o-ti+al? or t*e Ha++in, 0istance >subo-ti+al? as
0istance +easure+ent. .*e resultin, seBuence is calle0 t*e global most-li-ely
se(uence)
Ior a receive0 !1state seBuence v containin, L sy+bols
v Q {v(O),v(
.
),,v(L- 2FV.
'*ere t*e first sy+bol v(O) is receive0 at ti+e instance 6 an0 t*e last one
!*L - 4? is receive0 at ti+e instance L - 4% t*e Eiterbi al,orit*+ iteratively
co+-utes t*e sur!i!or path enterin, eac* state at ti+e instances 4% ... % L(1.
.*e survivor -at* for a ,iven state at ti+e instance # is t*e seBuence of
sy+bols closest in 0istance to t*e receive0 seBuence u- to ti+e n# a path metric
"i*n+ is assi,ne0 to eac* state 0enotin, t*e 0istance bet'een t*e survivor -at*
for state i an0 t*e receive0 seBuence u- to ti+e n) Iro+ ti+e instance n to
# D 4 >for 6 M # ~ L$) t*e Eiterbi al,orit*+ u-0ates t*e survivor -at*s an0
t*e -at* +etric values ";*n D 4?% for 4 M J M $, fro+ t*e survivor -at*
+etrics at ti+e instance # an0 t*e branc* +etrics in t*e ,iven trellis usin,
dynamic programming @D$F K22H as follo'sC
";*n D 4? E m
.
6nE"i*n+ D ai;*n+J, i)K E 4%;%%
$,
>4.A5?
'*ere ai;*n+ is t*e branc* +etric for t*e transition fro+ t*e i1t* state at ti+e
instance # to t*e J1t* state at ti+e instance # D 4 in t*e 0eco0in, trellis an0
TYPICAL DSP ALGORITHMS 21
is t*e 0ifference in 0istance bet'een t*e current receive0 sy+bol M%#$ an0 t*e
out-ut sy+bol in t*e enco0in, trellis. &onsi0er a seBuence ,enerate0 by t*e
A1state enco0in, trellis in Ii,. 4.5>b?. Assu+e t*at at ti+e instance n, t*e
-at* +etrics for t*e A states are
Il*n+ Q ;% ",*n+ Q 6% "8*n+ Q 4% "<*n+ Q ; >4.@6?
an0 t*e receive0 sy+bol is M%#$ Q 44. Usin, t*e Ha++in, 0istance% t*e
branc* +etrics for all t*e transitions in t*e trellis can t*en be co+-ute0 as
au*n+ Q 2eight*lll- 664? Q ;% a', E 2eight*ill-lll+ Q 6%
a,8*n+ Q 2eight*lll- 644? Q 4% a,< Q 2eight*lll- 464? Q 4%
a8'*n+ Q 2eight*I''- 444? Q 6% a8, Q 2eight*I''- 664? Q ;%
a<8*n+ Q 2eight*l'' - 464? Q 4% a<< Q 2eight*l'' - 644? Q
4.
.*e survivor -at* an0 t*e -at* +etric for eac* state fro+ ti+e # to # D 4 can
t*en be u-0ate0 as s*o'n in Ii,. 4.46. .*ere are ; -ossible -at*s enterin,
eac* state. .*e one 'it* lar,er +etric is 0iscar0e0% an0 t*at 'it* s+aller
+etric is retaine0 an0 a00e0 to t*e survivor -at*% as s*o'n in 0ar(er lines
in Ii,. 4.46. .*is u-0ate -rocess is carrie0 out iteratively fro+ # Q 4 to
# Q L) .*e ,lobal +ost1li(ely seBuence is t*e survivor -at* of t*e state 'it*
+ini+u+ -at* +etric at ti+e # Q L) i.e.% t*e survivor -at* of t*e state
>4.@4?
'*ere i#5(
i
+eans Gta(e t*e in0e/ of t*e corres-on0in, stateG. <yna+ic
-ro,ra++in, al,orit*+s *ave t*e -ro-erty t*at t*e o-ti+u+ solution fro+
an initial iteration to t*e iteration n9m +ust consist of t*e o-ti+u+ solution
fro+ initial iteration to iteration n, an0 fro+ iteration n to iteration n D +.
Hence% t*is iterative al,orit*+ is o-ti+u+ fro+ t*is -oint of vie'.
Ii,. 4.44 is an e/a+-le run of Eiterbi 0eco0in, al,orit*+. .*e in-ut
seBuence 4 4 66 4 6 6 6 is enco0e0 usin, t*e A1state trellis in Ii,. 4.5>b? an0
t*e trans+itte0 sy+bol seBuence is 44 46 46 44 44 64 44 66. .*e receive0
seBuence is corru-te0 by noise an0 0eviates fro+ t*e trans+itte0 seBuence
by = sy+bols. Ii,. 4.44 s*o's t*e 0eco0in, trellis fro+ ti+e instance 6 to
8% '*ere t*e branc*es 'it* an G/G are t*e 0iscar0e0 branc*es. .*e ,lobal
+ost1li(ely seBuence is t*e survivor -at* of t*e first state at ti+e instance
# Q L E 8. It can be seen t*at t*e ,lobal +ost1li(ely seBuence% 0ra'n in
0ar(er lines in t*e 0eco0in, trellis% is e/actly t*e sa+e as t*e trans+itte0
seBuence.
.*e Eiterbi al,orit*+ inclu0es co+-utin, of branc* +etrics aiF*n+, u-0at1
in, t*e -at* +etrics% selectin, t*e final state% an0 tracin, bac( its survivor
-at*% out of '*ic* t*e -at* +etric u-0ate reBuires a00ition% co+-arison% an0
selection >A&S? for every state at eac* ti+e instance. .*e s-ee0 of t*e Eiterbi
0eco0er is li+ite0 by t*e recursive A&S o-erations.
22 INTRODUCTION TO DIGITAL SIGNAL PROCESSING SYSTEMS
timen timen,l
Fig. 1.10 U-0ate0 survivor -at*s for eac* state fro+ ti+e instance n to n D
4.
tie
in-uts 6 6 6 6 6
.rans+it 44 46 46 44 44 64 44 66
Receive 44
.u
46 JA.Q. 44 66 44 66
soo
Sl
SI
Sl4
Fig. 4.44 An e/a+-le of Eiterbi 0eco0in,for a finite1state seBuence,enerate0 by
t*e
state 0ia,ra+ in Ii,. 4.5.
1.2.- Decimator and ".pander
.*e sa+-lin, rate in a <SP syste+ can be c*an,e0 internally by 0o'nsa+1
-lin, or u-sa+-lin, o-erations. .*e resultin, syste+ is referre0 to as a
+ultirate syste+. A--lications of +ultirate si,nal -rocessin, inclu0e s-eec*
an0 i+a,e co+-ression% 0i,ital au0io syste+s% statistical an0 a0a-tive si,nal
-rocessin,% etc. <eci+ators an0 e/-an0ers are t*e t'o basic buil0in, bloc(s
in +ultirate syste+s.
A 0eci+ator -rocesses an in-ut x%#$ an0 -ro0uces an out-ut seBuence
YD%#$ Q x%M#$) >4.@;?
'*ere M is a -ositive inte,er. .*e 0eci+ator is also referre0 to as co+-ressor
or 0o'nsa+-ler. .*e notation of a 0eci+ator an0 its functionality are illus1
* +
TYPICAL DSP ALGORITHMS 23
;@nF --KK#O-
y. @nF
D
MG2
11/1/
o tIt A
;@nF
#o @nF
_'1-7~2~3-I~5-6~7~---n-
Fig. 4.4; .*e 0eci+ator an0 its functionality.
trate0 in Ii,. 4.4;. .*e 0eci+ator ,enerates one out-ut for every M in-ut
sa+-les% an0 t*e out-ut rate is t*us M ti+es slo'er t*an t*at of t*e in-ut
seBuence.
E/-ansion is an u-sa+-lin, -rocess. It ta(es an in-ut "*n+ an0 -ro0uces
an out-ut seBuence
C :"*n>L+, if n is integer - multiple of L,
KQ n - 6% other2ise, )
>4.@=?
'*ere L is an inte,er. .*e notation of an e/-an0er an0 its functionality are
illustrate0 in Ii,. 4.4=. .*e e/-an0er is also referre0 to as inter-olator or
u-sa+-ler. An e/-an0er ,enerates L out-ut sa+-les for every in-ut sa+-le
by insertin, L - 4 :eros. Hence% t*e sa+-lin, rate of t*e out-ut seBuence is
L ti+es faster t*an t*at of t*e in-ut seBuence.
<eci+ation an0 inter-olation are nonlinear o-erations. &asca0e of an M1
fol0 0eci+ator follo'e0 by an "1fol0 inter-olator is ,enerally not eBuivalent to
t*e casca0e of an "1fol0 inter-olator follo'e0 by an M 1fol0 0eci+ator. Several
i0entities are are use0 for analysis of +ultirate syste+s .C .*e noble identities
are use0 to transfer 0elay ele+ents fro+ t*e in-ut of a 0eci+atorFe/-an0er
to its out-ut% as illustrate0 in Ii,. 4.4A. !ote t*at # 0elay ele+ents are
eBuivalent to n>M 0elay ele+ents after 0o'nsa+-lin, or nL 0elay ele+ents
after u-sa+-lin,.
L
L
2+ INTRODUCTION TO DIGITAL SIGNAL PROCESSING SYSTEMS
;@nF 1lliJ111
y. @nF
=
"Q;
WXXI
;@nF
I @nF
Fig. 4.4= .*e e/-an0er an0 its functionality.
Fig. 4.4A .*e noble i0entities for +ultirate syste+s.
1.2.1/ 0avelets and Filter 1an2s
Wavelet transfor+ is use0 in s-eec* an0 i+a,e co+-ression O4;P%O4=P. In
'avelet analysis% si,nals are re-resente0 usin, a set of basis functions >'avelets?
0erive0 by s*iftin, an0 scalin, a sin,le -rototy-e function% referre0 to as
G+ot*er 'aveletG% in ti+e. .*e 'avelet transfor+ can be vie'e0 as a 0eco+1
-osition of a si,nal in t*e ti+e1scale >freBuency? -lane.
ne 0i+ensional 0iscrete 'avelet transfor+ ><W.? of "*n+ is 0efine0 as
66
Ki*n+ E "*-+hi*,i9ln - -+, for 6 M i I -
;%
-.-oo
66
#+1I *n+ E "*-+h
m
C
1
>;
+
1
I
n 1 -+, for i Q + 1 4% >4.@A?
-.-oo
'*ere t*e s*ifte0 an0 scale0 versions of t*e +ot*er 'avelet h*n+, :h
i
*,
i
*
I
n-
'$) for 6 M i I+ -2. 166 R ' R ooW are t*e basis functions% an0 Ki*n+
are
L
L
T
T
TYPICAL DSP ALGORITHMS 2-
T
T T
T T T
T
T T T
I r1111l #+1I >n?
I
; J @nF .----. t
I
>a? >b?
Fig. 4.4@ >a? Analysis filter ban(. >b? Synt*esis filter ban(.
t*e 2a!elet coefficients) .*e inverse transfor+ is co+-ute0 as follo'sC
m-, 66
"*n+ Q L L Ki*-+Ri*n - ,
i
*
1
-+
iQ -.-oo
66
* #+1l *-+Rm-l *n - ;
+
1
4
-+, *')HH+
-.-oo
'*ere :Ri*n - ,
i
*
1
-+; are 0esi,ne0 suc* t*at >4.@@? -erfectly reconstructs t*e
ori,inal si,nal "*n+) !ote t*at t*e co+-utations in <W. an0 inverse <W.
>I<W.? are si+ilar to convolution o-erations. In fact% t*e <W. an0 I<W.
can be calculate0 recursively as a series of convolutions an0 0eci+ations an0
can be i+-le+ente0 usin, filter ban(s.
A 0i,ital Filter ban- is a collection of filters 'it* a co++on in-ut >referre0
to as t*e analysis filter ban(? or a co++on out-ut >referre0 to as t*e synt*esis
filter ban(?. Ii,. 4.4@ s*o's bloc( 0ia,ra+s of an analysis filter ban( >-art
>a?? an0 a synt*esis filter ban( >-art >b??. Iilter ban(s are ,enerally use0 for
subban0 co0in,% '*ere a sin,le si,nal "*n+ is s-lit into + subban0 si,nals in
t*e analysis filter ban(K in t*e synt*esis filter ban(% + in-ut subban0 si,nals
are co+bine0 to reconstruct t*e si,nal &% #$.
&onsi0er t*e co+-utation of t*e 0iscrete 'avelet transfor+ for + Q A usin,
filter ban(s. .*e 'avelet coefficients
66
yo*n+ Q "*-+ho*,n - -+,
-.-oo
&F-l*-+g*,n - -+ E Lg*-+sF-l*,n - -+
k k
21 INTRODUCTION TO DIGITAL SIGNAL PROCESSING SYSTEMS
;@nF
;@nF
@aF @%F
Fig. 4.49 Analysis >a? an0 synt*esis >b? filter ban(s for <W. an0 I<W..
66
#l *n+
Q
L
"*-+h
1
*<n - -+,
*E-oo
66
K,*n+
Q
L "*-+h,*Sn - -+,
-.-oo
66
K8*n+
Q
L "*-+h8*Sn - -+ >4.@9?
-.-oo
can be co+-ute0 usin, t*e analysis filter ban( 'it* 0eci+ators in Ii,. 4.49>a?.
.*e si,nal "*n+ can t*en be reconstructe0 t*rou,* inverse 'avelet transfor+
usin, inter-olators an0 synt*esis filter ban(% as s*o'n in Ii,. 4.49>b?.
In -ractice% t*e 0iscrete 'avelet transfor+ -erio0ically -rocesses M in1
-ut sa+-les every ti+e an0 ,enerates M out-ut sa+-les at various freBuency
ban0s% '*ere M Q ;

an0 + is t*e nu+ber of ban0s or levels of t*e 'avelet. It
is often i+-le+ente0 usin, a tree-structured filter ban(% '*ere t*e M 'avelet
coefficients are co+-ute0 t*rou,* lo,; M octave levels an0 eac* octave -er1
for+s one lo'1-ass an0 one *i,*1-ass filterin, o-erations. At eac* octave
level K) an in-ut seBuence &F-l *n+ is fe0 into lo'1-ass an0 *i,*1-ass filters
g*n+ an0 h*n+, res-ectively. .*e out-ut fro+ t*e *i,*1-ass filter h*n+ re-re1
sents t*e 0etail infor+ation in t*e ori,inal si,nal at t*e ,iven level K) '*ic*
is 0enote0 by 2F*n+, an0 t*e out-ut fro+ t*e lo'1-ass filter g*n+ re-resents
t*e re+ainin, >coarse? infor+ation in t*e ori,inal si,nal% '*ic* is 0enote0 as
sF*n+) .*e co+-utation in octave K can be e/-resse0 as follo'sC
&F*n+ Q L
DSP APPLICATION DEMANDS AND SCALED CMOS TECHNOLOGIES 24
6K%#$ E L SK(l %'$"%2# ( '$ Q L "%'$SK9l %2# ( '$) %1.-4$
' '
'*ere # is t*e sa+-le in0e/ an0 K is t*e octave in0e/. Initially% NL%#$ Q x%#$.
Ii,. 4.47 s*o's t*e bloc( 0ia,ra+ of a =1octave tree1structure0 <W.. It is
'ort* -ointin, out t*at since eac* filtere0 out-ut is 0eci+ate0 by a factor of
;% only si,nals t*at are not t*ro'n a'ay nee0 to be co+-ute0. Ior e/a+-le%
consi0er an + Q lo,; M 1level 'avelet 'it* an in-ut seBuence containin, M
sa+-les >assu+e M is -o'er of ;?. .*e total nu+ber of sa+-les ,enerate0 at
t*e out-ut of t*e 4st octave is M *M F; out-uts fro+ *i,*1-ass filter an0 M >,
fro+ lo'1-ass filter?K t*e total nu+ber of sa+-les ,enerate0 at ;n0 octave is
M>,# t*e =r0 octave is M><, etc. Hence in t*is rn1level 'avelet% t*e total
nu+ber of sa+-les t*at nee0s to be co+-ute0 for every M in-uts eBuals
M D M>, D M>< D ... D ; Q ,*M - 4?.
>4.@8? Ior t*is -erio0ic 'avelet co+-utation 'it* M in-ut sa+-les% t*e
nu+ber of
sa+-les co+-ute0 every sa+-le -erio0 is ,*M - l+>M or ;>4 1 l>M+ *'<J)
.*e t'o analysis filter ban(s in Ii,. 4.49>a? an0 Ii,. 4.47>a? carry out t*e
sa+e functions. Usin, noble i0entities% t*e transfer function of t*e analysis
filters in Ii,. 4.47>a? can be e/-resse0 in ter+s of "%#$ an0 g%#$ as follo'sC
3o*4+ Q 3*4+, 3'*4+ Q B*P+3*P,+,
3
,
*4+ E B*4+B*4,+3*4<+, 38*P+ E B*P+B*P,+B*4<+, %1.->$
'*ere 3o*4+ is a *i,*1-ass filter% 3'*4+ an0 3
,
*4+ are ban0-ass filters% an0
38*P+ is a lo'1-ass filter. .*e 'i0t* of t*e -assban0 of t*ese filters 0ecreases
fro+ 3o*4+ to 38*P+, an0 *ence 'avelet transfor+ can also be vie'e0 as
nonunifor+ subban0 co0in,.
1.3 DSP APPLICATION DMANDS AND SCALD CMOS
TCHNOLOGIS
.*e fiel0 of E"SI <SP continues to be 0riven by t*e increasin, 0e+an0 of
<SP a--lications% -articularly in +ulti+e0ia an0 'ireless co++unications%
an0 by a0vances in scale0 &MS tec*nolo,ies. .*is section -resents t*e
co+-utation reBuire+ents nee0e0 in 0i,ital vi0eo -rocessin, a--lications an0
in scale0 &MS E"SI tec*nolo,ies. It is s*o'n t*at vi0eo -rocessin, syste+s
reBuire co+-utation rates in t*e ran,e of 461466 LPsFsec >,i,ao-erations
-er secon0? an0% t*erefore% 0esi,n of t*ese syste+s is Buite c*allen,in,X
A color 0i,ital i+a,e consists of -icture ele+ents >-i/els?% '*ic* are re-re1
sente0 usin, t*ree -ri+ary color ele+ents% re0 >R?% ,reen >L? an0 blue >B?.
.*e RLB re-resentation is converte0 to YUO re-resentation base0 on *u+an
2, INTRODUCTION TO DIGITAL SIGNAL PROCESSING SYSTEMS
octave 4 octave ; octave =
>a?
'I >6?
'
;
@nF
' @nF
=
S = >6?
>b?
Fig. 4.47 Bloc( 0ia,ra+s of tree1structure0 analysis >a? an0 synt*esis filter ban(s >b?
D4(.
visual syste+s% '*ere Y stan0s for t*e lu+inance infor+ation an0 U an0 O
are t*e color 0ifferences bet'een K an0 blue% K an0 re0% res-ectively% an0
are calle0 c*ro+inances. A full1sa+-lin, of YUO is re-resente0 as A C A C A
sa+-lin, an0 t*e resultin, -i/el is re-resente0 usin, ;A bits% 8 bits for eac*
variable. Wit* AC A C A sa+-lin,% a elI >co++on inter+e0iate for+at? fra+e
'it* a fra+e si:e of ;88 / =@; -i/els an0 a fra+e rate of =6 fra+eFsec reBuires
stora,e of si:e ;.A== +e,abits >Mb? an0 t*e vi0eo source 0ata rate is 7;.55
MbFsec for a sin,le fra+e. Ior *i,*10efinition .E >H<.E? vi0eo 'it* a fra+e
si:e of 45;6 / 4;@6 -i/els an0 a fra+e rate of @6 fra+eFsec% one fra+e reBuires
stora,e si:e of @7.9 Mb an0 t*e vi0eo source 0ata rate of ;.88 ,i,abits -er
sec >LbFsec?. Wit* a seBuence of vi0eo containin, *un0re0s an0 t*ousan0s
of fra+es% stora,e an0 trans+ission in real1ti+e is i+-ossible 'it* to0ayHs
tec*nolo,y. In reality% vi0eo -i/els are 0o'nsa+-le0 an0 vi0eo fra+es are
co+-resse0 before t*ese are store0 or trans+itte0.
Hu+an eyes *ave fe'er rece-tors 'it* less s-atial resolution for color t*an
DSP APPLICATION DEMANDS AND SCALED CMOS TECHNOLOGIES 2>
Motion co+-ensator Q
3econstructed
Image
J
Fig. 4.48 Bloc( 0ia,ra+ of MPEL1; enco0er.
t*ose for lu+inance. Hence t*e c*ro+inance can be 0o'nsa+-le0 to re0uce
t*e source 0ata rate an0 fra+e stora,e si:e. .y-ically% a A C ; C ; or A C ; C 6
sa+-lin, is use0. In A C ; C ;% t*e lu+inance K is sa+-le0 for every -i/el%
'*ile t*e c*ro+inances U an0 O are sa+-le0 every ot*er -i/el *ori:ontally
resultin, in ==Y savin,s. In A C ; C 6% U an0 O are 0o'nsa+-le0 by *alf bot*
*ori:ontally an0 vertically% resultin, in @6Y savin,s.
Besi0es 0o'nsa+-lin,% vi0eo co+-ression is t*e (ey for re0uction in ban01
'i0t* reBuire+ent of source 0ata strea+s. Lenerally s-ea(in,% vi0eo se1
Buences contain si,nificant a+ount of s-atial an0 te+-oral re0un0ancy 'it*in
a sin,le fra+e an0 bet'een consecutive fra+es. MPEL% a vi0eo co++unica1
tion stan0ar0 0evelo-e0 by t*e Movin, Picture E/-erts Lrou-% re0uces t*e
bit1rate by e/-loitin, bot* t*e s-atial an0 te+-oral re0un0ancies t*rou,*
intra1 an0 interfra+e co0in, tec*niBues. .*e ulti+ate ,oal of MPEL stan1
0ar0 is to o-ti+i:e i+a,e or vi0eo Buality. for a s-ecifie0 bit rate subJect
to GobJectiveG or GsubJectiveG o-ti+i:ation criteria O4@P. Ii,. 4.48 s*o's t*e
bloc( 0ia,ra+ of t*e MPEL1; enco0in, -rocess% '*ere a te+-oral +otion1
co+-ensate0 -re0iction is follo'e0 by transfor+ co0in, of t*e re+ainin, s-a1
tial infor+ation an0 entro-y co0in, of t*e trans+itte0 seBuences are use0 toH
ac*ieve *i,* 0ata co+-ression rate O49P.
Usin, +otion1co+-ensate0 vi0eo co+-ression tec*niBue% 0i,ital vi0eo se1
Buences can be store0 an0 trans+itte0 in real ti+e. Ho'ever% t*ese so-*isti1
cate0 co+-ression tec*niBues involve substantial a+ount of co+-utations at
*i,* s-ee0. Ior e/a+-le% t*e co+-le/ity of a full1searc* bloc(1+atc*in, al,o1
rit*+ is -ro-ortional to 4 ?;$h$!7 o-erationsFsec% '*ere $h / $# is
t*e
fra+e si:e% D> - p is t*e searc* area an0 7 is t*e fra+e rate in fra+esFsec.
30 INTRODUCTION TO DIGITAL SIGNAL PROCESSING SYSTEMS
Ior a &II fra+e 'it* a fra+e si:e of ;88 / =@; -i/els% a fra+e rate of =6
fra+esFsec an0 a searc* ran,e of *l 2 7 -i/els% t*e full1searc* BMA reBuires
about ; LPsFsec. .*e reBuire0 nu+ber of o-erations ,ets even lar,er for
*i,*er resolution -ictures 'it* *i,*er fra+e rates an0 lar,er searc* ran,e.
Ior H<.E vi0eo 'it* a fra+e si:e of 45;6 / 4;@6 -i/els% a fra+e rate of
@6 fra+esFsec an0 a searc* ran,e of D49F 1 4@ -i/els% t*e full1searc* BMA
0e+an0s a co+-utation rate of about =98.9A LPsFsec. .*e <e. in vi0eo
co++unications is also very 0e+an0in,. .*e $ / $ ;<1<&. reBuires ,$8
+ulti-ly1a00 o-erations% or <$8 arit*+etic o-erations. Ior a &II fra+e 'it*
i+a,e bloc(s of si:e 8 / 8% t*e co+-utation reBuire+ent for ;<1<&. is 57.=;
MPsFsec >+e,ao-erations -er secon0?. Ior H<.E vi0eo 'it* i+a,e bloc(s
of. si:e 8 / 8% t*e co+-utation reBuire+ent for ;<1<&. is =.8A LPsFsec.
.*ese *i,* -rocessin, reBuire+ents can only be +et usin, -arallel -rocessin,
tec*niBues 'it* carefully 0esi,ne0 *ar0'are an0 soft'are. <esi,n an0 i+-le1
+entation of vi0eo co+-ression an0 +ulti+e0ia si,nal -rocessin, syste+s is
a +aJor c*allen,e.
&o+-le/ity of 0i,ital si,nal -rocessin, *as not only been 0riven by t*eo1
retical a0vances% but also by t*e ra-i0 a0vances in t*e scale0 &MS E"SI
tec*nolo,ies. .*e 0ra+atic increase in t*e inte,ration levels in recent years
*as le0 to an increase in t*e nu+ber of -ossible <SP a--lications t*at can be
inte,rate0 onto sin,le c*i-s. In -revious years t*e focus of t*e increase0 in1
te,ration levels 'as to 0esi,n 0e0icate0 >or a--lication1s-ecific? arc*itectures
for *i,*1-erfor+ance <SP a--lications. .*is tren0 still continues to0ay as
+ore co+-le/ <SP an0 i+a,eFvi0eo -rocessin, al,orit*+s are i+-le+ente0
on sin,le c*i-s. Ior e/a+-le% current sub+icron tec*nolo,y allo's a sin,le
c*i- to be 0esi,ne0 t*at can -erfor+ real1ti+e MPEL1; +otion esti+ation
>'*ic* reBuires a--ro/i+ately 461=6 LPsFsec?. An e/a+-le is a c*i- fro+
!E& O47P t*at contains =.7M transistors an0 *as a -ea( -erfor+ance of 4;
LPsFsec. "ately a secon0 tren0 *as been ,ainin, +ore +o+entu+ '*ere
<SP syste+s are i+-le+ente0 usin, -ro,ra++able <SPs an0 +icro-roces1
sors s-eciali:e0 for +e0ia -rocessin,. .*is tren0 is -ri+arily 0riven by t*e
0e+an0 for 0ecrease0 ti+e1to1+ar(et an0 +ore -ortabilityF+obility.
.*e 0esi,n of co+-le/ +ulti+e0ia syste+s *as beco+e -ossible 0ue to t*e
a0vances in scale0 E"SI tec*nolo,ies. It is -re0icte0 t*at t*e &MS tec*1
nolo,y 'ill scale 0o'n to 6.67J.t+10evices 'it* corres-on0in, i+-rove+ents
in 0ensity% s-ee0% an0 cost as s*o'n in .able 4.; O48?. !ote t*at t*e nu+ber
of transistors on sin,le c*i-s is e/-ecte0 to increase fro+ t*e current to
LMM by year ;646. .*e +ain c*allen,e to +aintainin, t*e -ace of scalin,
is t*e availability of a lar,e1fiel0 lit*o,ra-*ic tec*nolo,y. I! t*is is not avail1
able% +anufacturin, at *i,* yiel0s an0 lo' costs +i,*t be 0ifficult. -tical
lit*o,ra-*y +i,*t *ave to be use0 for tec*nolo,ies belo' M),HJ)tm) Ior tec*1
nolo,ies belo' M)'SJ)tm, even +ore 0ra+atic c*an,es in lit*o,ra-*ic syste+s
is reBuire0. .*e li+its of -ractical 0evice feasibility be,in to be seriously
c*allen,e0 at 0i+ensions of M)MHJ)tm 0ue to contact resistance an0 statistically
si,nificant 0o-ant 0istribution fluctuations.
RQPRQ&Q$T=TI1$& 17 D&P =LB1RIT3M& 8'
Table 4.; &*aracteristics of Scale0 &MS .ec*nolo,ies
#ear of first <RAM s*i-+ent 4558 ;664 ;66A ;646
Mini+u+ feature si:e %:.;=$ 6.;@ 6.48 6.4= 6.67
Me+ory
BitsFc*i- ><RAMFIlas*? ;@9M 4L AL 9AL
&ostFbit2volu+e >+illicents? 6.667 6.66= 6.664 6.666;
"o,ic >*i,*1volu+eC +icro-rocessor?
"o,ic translstorsFcnrH >-ac(e0? 7M 4=M ;@M 56M
BitsFc+
/
>cac*e SRAM?
&ost Ftransistor2volu+e >+illicents?
9M
6.@
;6M
6.;
@6M
6.4
=66M
6.6;
"o,ic >lo'1volu+e ASI&?
.ransistorsFc+
/
>auto layout?
!on1recurrin, en,ineerin,
costFtransistor >+illicents?
AM
6.4
7M
6.6@
4;M
6.6=
A6M
6.64
It is also interestin, to observe t*e evolution of a--lications as s*o'n in
Ii,. 4.45 >45P. .*is fi,ure s*o's t*at t*e a--lications li(e 0es(to- vi0eo
t*at 'ere -ri+arily i+-le+ente0 usin, a--lication1s-ecific inte,rate0 circuits
>ASI&s? are no' bein, e/ecute0 by -ro,ra++able <SPs >P<SPs?. .*erefore%
t*ere is a ,eneral s*ift in t*e nature of a--lications fro+ ASI& to P<SP to
+icro-rocessors to fiel01-ro,ra++able ,ate arrays >IPLAs?. Anot*er 'ay to
loo( at it is t*at as tec*nolo,y i+-roves t*e GbestG i+-le+entation of a ,iven
function 'ill +ove fro+ ASI& to <SP to +icro-rocessor to IPLA 'it* ti+e.
1.! RPRSNTATIONS OF DSP ALGORITHMS
<SP al,orit*+s are 0escribe0 by nonterminating programs '*ic* e/ecute t*e
sa+e co0e re-etitively. Ior e/a+-le% a =1ta- IIR 0i,ital filter 0escribe0 by
t*e non1ter+inatin, -ro,ra+
y*n+ QQ a"*n+ D b"*n - 4? D c"*n - ;? for n Q 4 to n QQ 66.
>4.96? E/ecution of all t*e co+-utations in t*e al,orit*+ once ifZ referre0
to as
an iteration) .*e iteration period is t*e ti+e reBuire0 for e/ecution of one
iteration of t*e al,orit*+. .*e iteration rate is t*e reci-rocal of t*e iteration
-erio0. <urin, eac* iteration% t*e =1ta- IIR filter in >4.96? -rocesses one in-ut
si,nal% co+-letes = +ulti-lication an0 ; a00ition o-erations >in serial or in
-arallel?% an0 ,enerates 4 out-ut sa+-le. <SP syste+s are also c*aracteri:e0
by t*e sampling rate >also referre0 to as throughput+ in ter+s of nu+ber of
sa+ -les -rocesse0 -er secon0. .*e critical path of a co+binational lo,ic circuit
32 INTRODUCTION TO DIGITAL SIGNAL PROCESSING SYSTEMS
ReBuire0
MIPS
1985 1990 1995 ;666 ;66@
Fig. 4.45 Evolution of a--lications.
is 0efine0 as t*e lon,est -at* bet'een in-uts an0 out-uts% '*ere t*e len,t*
of a -at* is -ro-ortional to its co+-utation ti+e. <SP syste+s ,enerally
are i+-le+ente0 usin, seBuential circuits% '*ere t*e critical -at* is 0efine0
as t*e lon,est -at* bet'een any t'o stora,e ele+ents >or 0elay ele+ents?.
.*e critical -at* co+-utation ti+e 0eter+ines t*e +ini+u+ feasible cloc-
period of a <SP syste+. .*e latency is 0efine0 as t*e 0ifference bet'een t*e
ti+e an out-ut is ,enerate0 an0 t*e ti+e at '*ic* its corres-on0in, in-ut
'as receive0 by t*e syste+. Ior syste+s containin, co+binational lo,ic only%
latency is usually re-resente0 in ter+s of absolute ti+e units% or t*e nu+ber
of ,ate 0elaysK for seBuential syste+s% latency is usually re-resente0 in ter+s
of nu+ber of cloc( cycles. Lenerally% t*e cloc( rate of a <SP syste+ is not
t*e sa+e as its sa+-lin, rate.
<SP al,orit*+s are 0escribe0 usin, +at*e+atical for+ulations at a *i,*er
level '*ere it is +ore i+-ortant to s-ecify t*e functionality of t*e syste+
t*an t*e or0er an0 structure of t*e internal o-erations. Ior arc*itectural
0esi,n% t*ese +at*e+atical for+ulations nee0 to be converte0 to be*avioral
0escri-tion lan,ua,es or ,ra-*ical re-resentations.
.*e be*avioral 0escri-tion lan,ua,es inclu0e a--licative lan,ua,es% -re1
scri-tive lan,ua,es% an0 0escri-tive lan,ua,es. .*e applicati!e languages re-1
resent a set of eBuations t*at are satisfie0 by t*e variables in t*e al,orit*+%
rat*er t*an a seBuence of actions >assi,n+ents to be carrie0 out% i.e.% t*e or1
0er of t*e assi,n+ent state+ents is not i+-ortant?. A--licative lan,ua,es are
-o-ular for t*e 0escri-tion of <SP syste+s. Ior e/a+-le% t*e Sila,e lan,ua,e
O;6? use0 in t*e &at*e0ral synt*esis tool O;4? is a--licative. .*e prescripti!e
languages e/-licitly s-ecify t*e or0er of t*e assi,n+ent state+ents. So+e e/1
a+-les of t*ese ty-es of lan,ua,es inclu0e *i,*1level -ro,ra++in, lan,ua,es
REPRESENTATIONS OF DSP ALGORITHMS 33
suc* as Pascal% &% or Iortran. More recently% +any a--lications are bein, 0e1
fine0 usin, descripti!e languages t*at re-resent t*e structure of a <SP syste+.
E/a+-les of t*ese are t*e *ar0'are 0escri-tion lan,ua,es suc* as Eerilo, or
EH<" O;;P%O;=P.
Lra-*ical re-resentations are efficient for investi,atin, an0 analy:in, 0ata
flo' -ro-erties of <SP al,orit*+s an0 for e/-loitin, t*e in*erent -arallelis+
a+on, 0ifferent subtas(s. More i+-ortantly% ,ra-*ical re-resentations can be
use0 to +a- <SP al,orit*+s to *ar0'are i+-le+entations. Hence% t*ese re-1
resentations can bri0,e t*e ,a- bet'een al,orit*+ic 0escri-tions an0 struc1
tural i+-le+entations. .*e absolute +easures of t*e -erfor+ance +etrics
of <SP syste+s% area% s-ee0% -o'er% an0 roun0off noise cannot be obtaine0
'it*out t*e (no'le0,e of t*e su--ortin, tec*nolo,y in '*ic* t*e syste+ is
i+-le+ente0. Ho'ever% t*e ,ra-*ical re-resentations e/*ibit all t*e -aral1
lelis+ an0 0ata10riven -ro-erties of t*e syste+% an0 -rovi0e insi,*t into s-ace
an0 ti+e tra0eoffs. Wit* ,ra-*ical re-resentations% t*e arc*itectural 0esi,nH
s-ace can be e/-lore0 an0 an a--ro-riate arc*itecture can be selecte0 in a
tec*nolo,y1in0e-en0ent +anner.
.*is section a00resses four ty-es of ,ra-*ical re-resentations of <SP al,o1
rit*+sK t*ese inclu0e bloc( 0ia,ra+% si,nal1flo' ,ra-* >SIL?% 0ata1flo' ,ra-*
><IL? an0 0e-en0ence ,ra-* ><L? re-resentations% all of '*ic* are 0escribe0
by 0irecte0 ,ra-*s. .*ese re-resentations 0escribe t*e al,orit*+s at various
levels of abstraction. In ,eneral% t*e <L e/*ibits t*e in*erent -arallelis+
an0 0ata1flo' constraints in an al,orit*+ to t*e +a/i+u+ e/ten0 an0 *as
t*e least structural biasK t*e -arallelis+ in a <L can be e/-loite0 in various
'ays by +a--in, it to SIL or <IL. In -ractice% <L is use0 for systolic array
0esi,n. SIL an0 <IL are use0 for analy:in, structural -ro-erties an0 to
e/-lore arc*itectural alternatives usin, *i,*1level transfor+ations >;AP.
1.4.1 1loc2 Diagrams
Bloc( 0ia,ra+s are +ost freBuently use0 to ,ra-*ically re-resent <SP sys1
te+s. All t*e <SP al,orit*+s in Section 4.; are illustrate0 usin, bloc( 0ia1
,ra+s. A bloc( 0ia,ra+ consists of functional bloc(s connecte0 'it* 0irecte0
e0,es% '*ic* re-resent t*e 0ata flo' fro+ its in-ut bloc( to its out-ut bloc(.
.*ese e0,es +ayor +ay not contain 0elay ele+ents. Bloc( 0ia,ra+s can be
constructe0 for all syste+s 'it* 0ifferent levels of abstraction.
Ior e/a+-le% t*e =1ta- IIR filter
y*n+ E bo"*n+ D b'"*n - 4? D b4"*n - ;?
>4.94?
can be 0escribe0 usin, t*e bloc( 0ia,ra+ in Ii,. 4.;6% '*ic* consists of t'o
ty-es of functional bloc(s% I a00er I an0 I+ulti-lier %. .*e% unit10elay ele+ents
can also be treate0 as functional bloc(s as t*ey are i+-le+ente0 usin, re,isters
in reality. .*e unit10elay ele+ent is 0enote0 as IY-l I >or KAHF in Ii,. 4.;6.
3+ INTRODUCTION TO DIGITAL SIGNAL PROCESSING SYSTEMS
;@nF
y>n?
O unit 0elay?
iVE>nl?%
% -Z
U
-- %;@nF
> +ulti-lier O
/l>n?
;/@nF
-5-
/l>n? D /;>n?
@
a00er
J
) Fig. 1.20 Bloc( 0ia,ra+ of a =1ta- IIR filter.
A syste+ can be re-resente0 usin, various bloc( 0ia,ra+s% eac* of '*ic*
re-resents a 0ifferent i+-le+entation of t*e sa+e functionality. Ior e/a+-le%
t*e =1ta- IIR filter in >4.94? can also be re-resente0 usin, t*e bloc( 0ia,ra+
in Ii,. 4.;4% '*ic* is referre0 to as a data-broadcast structure.
A bloc( 0ia,ra+ is a concrete +o0el t*at ca-tures t*e e/act functionality
of a syste+. Eac* si,nal an0 functional unit are e/-resse0 e/-licitly in t*e
0ia,ra+. Earious bloc( 0ia,ra+s can be 0erive0 for t*e sa+e syste+ 'it*
0ifferent arran,e+ents lea0in, to 0ifferent 0istinct reali:ations.
1.!.2 Sig"al#Fl$% Gra&'
A si,nal1flo' ,ra-* >SIL? is a collection of no0es an0 0irecte0 e0,es O;@J. .*e
no0es re-resent co+-utations or tas(s. A 0irecte0 e0,e >J% '$ 0enotes a branc*
ori,inatin, fro+ no0e W an0 ter+inatin, at no0e -, Wit* in-ut si,nal at no0e
J an0 out-ut si,nal at no0e ') t*e e0,e >J% '$ 0enotes a linear transfor+ation
fro+ t*e si,nal at no0e F)to t*e si,nal at no0e '. SILs *ave been use0 for t*e
analysis% re-resentation% an0 evaluation of linear 0i,ital net'or(s% es-ecially
0i,ital filter structures. In 0i,ital net'or(s% t*e e0,es are usually restricte0 to
REPRESENTATIONS OF DSP ALGORITHMS 3-
;@nF
yen?
Fig. 4.;4 Bloc( 0ia,ra+ of a =1ta- 0ata1broa0cast IIR filter.
constant ,ain +ulti-liers >t*e out-ut of t*e e0,e is a constant +ulti-le of t*e
in-ut si,nal?% or 0elay ele+ents >t*e out-ut of t*e e0,e is a 0elaye0 version
of t*e in-ut si,nal?. A00ers an0 +ulti-liers can be 0escribe0 by a no0e 'it*
+ulti-le inco+in, e0,es an0 one out,oin, e0,e. .*ere are ; s-ecial ty-es of
no0es in an SIL% source no0es an0 sin( no0es. A source node is a no0e 'it*
no enterin, e0,es% an0 is use0 to re-resent t*e inJection of e/ternal in-uts
into a ,ra-*. A sin- node is a no0e 'it* only enterin, e0,es% an0 is use0 to
e/tract out-uts fro+ a ,ra-*. .*e SIL of t*e 0irect1for+ =1ta- IIR filter
>corres-on0in, to t*e bloc( 0ia,ra+ in Ii,. 4.;6? is s*o'n in Ii,. 4.;;>a?%
'*ere an e0,e 'it* no e/-licit in0ication of o-eration in0icates an e0,e 'it*
unit1,ain >i0entity transfor+ation?. !ote t*at t*e source an0 sin( no0es in
t*is SIL are connecte0 to t*e rest of t*e ,ra-* t*rou,* unit1,ain e0,es in
or0er to c.learly%s*o' t*e in-ut an0 out-ut of t*e syste+.
"inear SILs can be transfor+e0 into 0ifferent for+s 'it*out c*an,in,
t*e syste+ functions. 7lo2 graph re!ersal or transposition is one of t*ese
transfor+ations an0 is a--licable to sin,le1in-ut1sin,le1out-ut syste+s to
obtain eBuivalent trans-ose0 structures. .rans-osition of an SIL is carrie0
out by reversin, t*e 0irections of all t*e e0,es% e/c*an,in, t*e in-ut an0
out-ut no0es '*ile (ee-in, t*e e0,e ,ain or e0,e 0elay unc*an,e0. .*e
resultin, SIL +aintains t*e sa+e syste+ functionality. Ii,. 4.;;>b? s*o's
t*e 0erivation of t*e trans-ose IIR filter SIL >corres-on0in, to t*e 0ata1
broa0cast bloc( 0ia,ra+ in Ii,. 4.;4? fro+ t*e 0irect1for+ SIL. .*e rea0er
can verify t*at t*e 0ata1broa0cast sy++etric IIR filter in Ii,. 4.4>b? can
be 0erive0 fro+ Ii,. 4.4>a? by trans-osition. .rans-ose o-erations are also
a--licable to +ulti-le1in-ut +ulti-le1out-ut >MIM? syste+s 0escribe0 by
sy++etric transfor+ation +atrices >see &*a-ter 5?.
SILs -rovi0e an abstract flo',ra-* re-resentation of linear net'or(s an0
*ave been e/tensively use0 in 0i,ital filter structure 0esi,n an0 analysis of
finite 'or0len,t* effects. In ,eneral% SILs are only a--licable to linear net1
'or(sK t*ey cannot be use0 to 0escribe +ultirate <SP syste+s.
36 INTRODUCTION TO DIGITAL SIGNAL PROCESSING SYSTEMS
x(n)
-1 -1
: :
source
8----RP
node
bO bl b2
>a?
y(n)
-1 -1
:
.-..
:
y(n)
HGH
sin- node
PIMP
bO bl b2
x(n)
-8
x(n)
b2 bl bO
-1 -1
: :
>b?
y(n)
7ig) 4.;; An SIL of a =1ta- IIR filter. >a? <irect1for+ IIR filter SILK >b? trans-ose0
IIR filter SIL.
1.4.4 Data5Flo6 7raph
In 0ata1flo' ,ra-* ><IL? re-resentations% t*e no0es re-resent co+-utations
>or functions or subtas(s? an0 t*e 0irecte0 e0,es re-resent 0ata -at*s >co+1
+unications bet'een no0es? an0 eac* e0,e *as a nonne,ative nu+ber of 0e1
lays associate0 'it* it. Ior e/a+-le% Ii,. 4.;=>b? is a 0ata1flo' ,ra-* of t*e
co+-utation y*n+ Q ay*n - 4? D "*n+, '*ere no0e A re-resents a00ition an0
no0e D re-resents +ulti-lication% t*e e0,e fro+ = to D >0enote0 as = 1t D+
contains one 0elay an0 t*e e0,e fro+ P to A %P 1t A$ contains no 0elay.
Associate0 'it* eac* no0e is its e/ecution ti+e in ter+s of nor+ali:e0 ti+e
units >u.t.K units of ti+e?. Ior e/a+-le% t*e e/ecution ti+e of no0e A is ;
u.t. an0 t*e e/ecution ti+e of no0e D is A u.t.% as s*o'n in Ii,. 4.;=>b?. .*e
iteration -erio0 of t*is <IL eBuals 9 u.t.
.*e 0ata1flo' ,ra-* ca-tures t*e data-dri!en -ro-erty of <SP al,orit*+s
REPRESENTATIONS OF DSP ALGORITHMS
37
'@nF
>;?
D
I I
B
>A? >A?
a
>a? >b? @cF
7ig)4.;= >a? Bloc( 0ia,ra+ 0escri-tion of t*e co+-utation y*n+ Q ay*n -2F 9"*n+)
>b? &onventional <IL re-resentation. >c? Sync*ronous<IL re-resentation.
'*ere any no0e can fire >-erfor+ its co+-utation? '*enever all t*e in-ut 0ata
are available. .*is i+-lies t*at a no0e 'it* no in-ut e0,es can fire at any
ti+eK t*us +any no0es can be fire0 si+ultaneously% lea0in, to concurrency.
&onversely% a no0e 'it* +ulti-le in-ut e0,es can only fire after all its -rece1
0ent no0es *ave fire0. .*e latter case i+-oses t*e -rece0ence constraints
on a <IL% '*ere eac* e0,e 0escribes a -rece0ence constraint bet'een t'o
no0es. .*is -rece0ence constraint is an intra-iteration precedence constraint
if t*e e0,e *as :ero 0elays or an inter-iteration precedence constraint if t*e
e0,e *as one or +ore 0elays. .o,et*er% t*e intra1iteration an0 inter1iteration
-rece0ence constraints s-ecify t*e or0er in '*ic* t*e no0es in t*e <IL can
be e/ecute0. Ior e/a+-le% t*e e0,e fro+ no0e = to no0e D in Ii,. 4.;=>b?
enforces t*e inter1iteration -rece0ence constraint% '*ic* states t*at t*e e/1
ecution of t*e (1t* iteration of A +ust be co+-lete0 before t*e %' D 4?1t*
iteration of P. .*e e0,e fro+ P to A enforces t*e intra1iteration -rece0ence
constraint% '*ic* states t*at t*e (1t* iteration of D +ust be e/ecute0 before
t*e (1t* iteration of A.
<ILs% as 'ell as bloc( 0ia,ra+s% can be use0 to 0escribe bot* linear sin,le1
rate an0 nonlinear +ultirate <SP syste+s. .*e bloc( 0ia,ra+ 0escri-tion is
closer to actual *ar0'are arc*itectures '*ere t*e si,nal -rocessin, functions
are re-resente0 usin, functional units >bloc(s?. .*e <IL% on t*e ot*er *an0%
0escribes t*e 0ata flo' a+on, subtas(s >or ele+entary co+-utations +o0ele0
as no0es? in a si,nal -rocessin, al,orit*+. Earious <ILs 0erive0 for one
al,orit*+ can be obtaine0 fro+ eac* ot*er t*rou,* *i,*1level transfor+ations
>;A?. Ii,. 4.;A s*o's t*e <ILs for t*e =1ta- IIR filter in >4.94?. Ii,. 4.;A>a?
is obtaine0 fro+ t*e 0irect1for+ bloc( 0ia,ra+ in Ii,. 4.;6 an0 Ii,. 4.;A>b?
is obtaine0 fro+ t*e trans-ose for+ bloc( 0ia,ra+ in Ii,. 4.;4. <ILs are
,enerally use0 for *i,*1level synt*esis to 0erive concurrent i+-le+entations
of <SP a--lications onto -arallel *ar0'are% '*ere subtas( sc*e0ulin, an0
resource allocation are of +aJor concerns >a schedule 0eter+ines '*en an0 in
'*ic* *ar0'are units no0es can be e/ecute0?.
.*e no0es in a <IL can be as si+-le as ele+entary in0ivisible o-erations
suc* as a00ition or basic lo,ic o-erations. Suc* <ILs are sai0 to be atomic)
I! t*e ,ranularity is at t*e level of si,nal -rocessin, subtas(s suc* as filterin,%
3, INTRODUCTION TO DIGITAL SIGNAL PROCESSING SYSTEMS
;@nF D
'@nF
>a?
(4)
D
'@nF
@%F
Fig. 4.;A >a? <IL of a 0irect1for+ =1ta- IIR filter. >b? <IL for trans-ose0 =1ta-
IIR filter.
t*e <IL is a coarse-grain 0ata1flo' ,ra-*.
A synchronous 0ata1flo' ,ra-* >S<IL? is a s-ecial case of 0ata1flo' ,ra-*
>eit*er ato+ic or coarse1,rain? '*ere t*e nu+ber of 0ata sa+-les -ro0uce0
or consu+e0 by eac* no0e in eac* e/ecution is s-ecifie0 a priori O;9?. Ior
e/a+-le% Ii,. 4.;=>c? is a sync*ronous 0ata1flo' ,ra-* for t*e co+-utation
y*n+ Q ay*n -2F 9"*n+, '*ic* e/-licitly s-ecifies t*at one e/ecution of bot*
no0es = an0 D consu+es one 0ata sa+-le an0 -ro0uces one out-ut. .*is
0escribes a sin,le1rate syste+. .*e S<IL can 0escribe +ultirate syste+s
in a si+-le 'ay. Ior e/a+-le% Ii,. 4.;@>a? s*o's an S<IL re-resentation
of a +ultirate syste+% '*ere no0es =, D, an0 C are o-erate0 at 0ifferent
freBuencies f=, fD, an0 Eo, res-ectively. !ote t*at A -rocesses f= in-ut
sa+-les -er ti+e unit an0 -ro0uces 8f = out-ut sa+-les -er ti+e unit. !o0e
D consu+es @ in-ut sa+-les 0urin, eac* e/ecution% *ence consu+es HfD in-ut
sa+-les -er ti+e unit. Usin, t*e eBuality 8f= Q HfD, 'e *ave fD Q 8f=>H)
Si+ilarly% t*e o-eratin, rate of no0e C can be co+-ute0 as 7Q Q ,fD>8 .
,f =>H) Ior a s-ecifie0 in-ut sa+-lin, rate% t*e o-eratin, freBuencies for no0es
=, D, an0 C can be co+-ute0. Ho'ever% as 0escribe0 in Section ;.@% sin,le1
rate <ILs >SR<ILs? can also be use0 to re-resent +ultirate syste+s by
REPRESENTATIONS OF DSP ALGORITHMS 3>
;
@aF
>b?
Fig. 4.;@ Multirate <IL >in >a?? can be converte0 into sin,le1rate <IL >in >b??%
'*ic* can t*en be re-resente0 usin, linear SIL.
first unfol0in, >unrollin,? t*e +ultirate syste+s to sin,le rate. An eBuivalent
sin,le1rate <IL for t*e +ultirate <IL >MR<IL? in Ii,. 4.;@>a? is s*o'n in
Ii,. 4.;@>b?. Ho'ever% t*is sin,le1rate <IL contains 46 no0es an0 =6 e0,es%
as co+-are0 'it* = no0es an0 A e0,es in t*e S<IL re-resentation.
4.A.A De&e"(e")e Gra&'
A 0e-en0ence ,ra-* ><L? is a 0irecte0 ,ra-* t*at s*o's t*e 0e-en0ence of
t*e co+-utations in an al,orit*+. .*e no0es in a <L re-resent co+-utations
>0esi,nate0 as no0es? an0 t*e e0,es re-resent -rece0ence constraints a+on,
no0es. In a <L% a ne' no0e is create0 '*enever a ne' co+-utation is calle0
for in t*e al,orit*+ >-ro,ra+? an0 no no0e in a <L is ever reuse0 on a sin,le
co+-utation basis O;7P. <L re-resentation is si+ilar to <IL re-resentation
as it e/-licitly e/*ibits t*e 0e-en0ence of no0es on ot*er no0es in t*e ,ra-*.
.*e 0ifference is t*at t*e no0es in <IL only cover t*e co+-utations in one
iteration of t*e corres-on0in, al,orit*+ an0 t*ey are e/ecute0 re-etitively
fro+ iteration to iteration% '*ereas <L contains co+-utations for all itera1
tions in an al,orit*+. <ILs contain 0elay ele+ents t*at store an0 -ass 0ata
fro+ current iteration to subseBuent iterations '*ile <L 0oes not contain
0elay ele+ents. .*e =1ta- IIR filter in >4.94? is 0escribe0 usin, a ;<1<L in
Ii,. 4.;9.
?I.
+0 INTRODUCTION TO DIGITAL SIGNAL PROCESSING SYSTEMS
Vl
Yo
Y
2
Y/ Y3 Y5
6 ; A @
%P E%
/H *+
YP E 'D % /
'P
Fig. 4.;9 <ata 0e-en0ence ,ra-* for a =1ta- IIR filter &%#$ Q Lx%#$ D lx%# -2F D
3x%# ( ;?.
<e-en0ence ,ra-*s are use0 for systolic array 0esi,n% '*ere various i+1
-le+entations ><ILs or bloc( 0ia,ra+s? can be 0erive0 fro+ a sin,le <L by
e/-loitin, t*e -arallelis+ -resente0 in <L in 0ifferent 'ays >see &*a-ter 7?.
1., -OO. OUTLIN
.*e c*a-ters in t*is boo( -resent various a--roac*es to i+-rove t*e -erfor1
+ance c*aracteristics of <SP syste+s in ter+s of area% s-ee0% -o'er% an0
roun0off noise. &*a-ter 4 revie's various <SP al,orit*+s% -resents t*e co+1
-utation reBuire+ents of current <SP syste+s% an0 0escribes various re-re1
sentations of <SP al,orit*+s usin, bloc( 0ia,ra+s% si,nal flo' ,ra-*s% an0
0ata1flo' ,ra-*s. .*e re+ainin, c*a-ters can be ,rou-e0 into t*ree -arts.
.*e first -art of t*e boo( >c*a-ters ; to 7? a00resses several *i,*1level ar1
c*itectural transfor+ations t*at can be use0 to 0esi,n fa+ilies of arc*itectures
for a ,iven al,orit*+. .*ese transfor+ations inclu0e -i-elinin,% reti+in,% un1
fol0in,% fol0in,% an0 systolic array 0esi,n +et*o0olo,y. .*e secon0 -art of
t*e boo( >c*a-ters 8 to 4;? 0eals 'it* *i,*1level al,orit*+ transfor+ations
suc* as stren,t* re0uction% loo(1a*ea0 an0 rela/e0 loo(1a*ea0. Stren,t* re1
0uction transfor+ations are a--lie0 to re0uce t*e nu+ber of +ulti-lications
in convolution% -arallel finite i+-ulse res-onse >IIR? 0i,ital filters% 0iscrete
cosine transfor+s ><&.s?% an0 -arallel ran(1or0er filters. "oo(1a*ea0 an0 re1
la/e0 loo(1a*ea0 transfor+ations are a--lie0 to 0esi,n -i-eline0 0irect1for+
REFERENCES +1
an0 lattice recursive 0i,ital filters an0 a0a-tive 0i,ital filters% an0 -arallel
recursive 0i,ital filters. .*is -art of t*e boo( e/-loits t*e inter-lay bet'een
al,orit*+ 0esi,n an0 inte,rate0 circuit i+-le+entations. .*e t*ir0 -art of
t*e boo( >c*a-ters 4= to 48? a00resses arc*itectures for E"SI a00ition% +ul1
ti-lication% an0 0i,ital filters% an0 issues relate0 to *i,*1-erfor+ance E"SI
syste+ 0esi,n suc* as -i-elinin, styles% lo'1-o'er 0esi,n% an0 arc*itectures
for -ro,ra++able 0i,ital si,nal -rocessors.
Seven a--en0i/es in t*e boo( cover s*ortest -at* al,orit*+s t*at are use0
for 0eter+inin, t*e iteration boun0 an0 for reti+in,% sc*e0ulin, an0 allo1
cation tec*niBues use0 for 0eter+inin, t*e fol0in, sets for 0esi,n of fol0e0
arc*itecturesK Eucli0Hs ,reatest co++on 0ivisor >L&<? al,orit*+% '*ic* is
use0 for Wino,ra0Hs convolutionK ort*onor+ality of Sc*ur -olyno+ials% '*ic*
are use0 for 0esi,n of lattice 0i,ital filtersK fast bit1-arallel a00ition an0 +ul1
ti-licationK sc*e0ulin, for bit1serial syste+sK an0 coefficient Buanti:ation inF
IIR filters.
.*e tec*niBues use0 in t*is boo( can be use0 for *i,*1s-ee0% lo'1area an0
lo'1-o'er i+-le+entations of <SP syste+s for various a--lications suc* as
+ulti+e0ia O;8J% 'ire0 an0 'ireless co++unications.
RFRNCS
4. P. "a-sley% J. Bier% A. S*o*a+% an0 E. A. "ee% D&P Processor 7undamentals
=rchitectures and 7eatures) Elsevier% 455=.
;. A. E. --en*ei+ an0 R. W. Sc*afer% Discrete-Time &ignal Processing) Prentice
Hall% 4585.
=. S. Hay(in% =dapti!e 7ilter Theory) Prentice Hall% 4554.
A. J. L &*un, an0 [. [. Par*i% Pipelined Lattice and Aa!e Digital Recursi!e
7ilters) Klu'er% 4559.
@. M. ". Honi, an0 <. L. Messersc*+itt% =dapti!e 7ilters &tructures, =lgorithms
and =pplications) Klu'er% 458A.
9. !. A*+e0% .. !ataraJan% an0 K. R. Rao% G<iscrete cosine transfor+%G IQQQ
TI-ans) on Computers, --. 5615=% Jan. 457A.
7. P. Pirsc*% !. <e+assieu/% an0 W. &e*r(e% GE"SI arc*itectures for vi0eo co+1
-ression 1 a survey%G Proc) IQQQ, no. ;% --. ;;61;A@% Ieb. 455@.
8. L. A. <avison% P. R. &a--ello% an0 A. Lers*o% GSystolic arc*itectures for vec1
tor Buanti:ation%G IQQQ 'rans) on =coustics, &peech, and &ignal Processing,
vol. =9% --. 49@41499A% ct. 4588.
5. S. #. Kun,% %L&I =rray Processors) Prentice Hall% 4588.
46. L. <. Iorney% G.*e Eiterbi al,orit*+%G Proc) IQQQ, --. ;981;78% Marc* 457=.
44. R. Bell+an an0 S. <reyfus% =pplied Dynamic Programming) Princeton Univer1
sity Press% 459;.
+2 INTRODUCTION TO DIGITAL SIGNAL PROCESSING SYSTEMS
4;. P. P. Eai0yanat*an% Multirate Digital &ignal Processing) Prentice Hall% 455=.
4=. R. E. &roc*iere an0 ". R. Rabiner% Multirate Digital &ignal Processing) Prentice
Hall% 458=.
4A. . Rioul an0 M. Eetterli% GWavelets an0 si,nal -rocessin,%G IQQQ &ignal Pro-
cessing Maga4ine, --. 4A1=8% ct. 4554.
4@. .. Si(ora% GMPEL 0i,ital vi0eo1co0in, stan0ar0s%G IQQQ &ignal Processing
Maga4ine, --. 8;1466% Se-t. 4557.
49. B. B*att% <. Bir(s% an0 <. Her+rec(% G<i,ital televisionC +a(in, it 'or(%G
IQQQ &pectrum, --. 451;8% ct. 4557.
47. M. Mi:uno et al.% GA 4.@W sin,le1c*i- MPEL; MP2M" enco0er 'it* lo'1
-o'er +otion esti+ation an0 cloc(in,%G in Proc) of IQQQ International &olid
&tate Circuits Conference *I&&CCL0+, --. ;@91;@7% Ieb. 4557.
48. W. I. Brin(+an% G.*e transistorC @6 ,lorious years an0 '*ere 'e are ,o1
in,%G in Proc) of IQQQ International &olid &tate Circuits Conference *I&&CC+,
--. ;;1;9% Ieb. 4557.
45. B. Ac(lan0% GPro,ra++able +ulti+e0ia si,nal -rocessors%G in Circuits and &ys-
tems in the Information =ge >#.1I. Huan, an0 &.1H. Wei% e0s.?% --. ;=1=6%
IEEE Press% 4557.
;6. P. Hilfin,er% GA *i,*1level lan,ua,e an0 silicon co+-iler for 0i,ital si,nal -ro1
cessin,%G in Proc) of IQQQ Custom Integrated Circuits Conference, --. ;4=1;49%
458@.
;4. H. <e Man% J. Rabaey% P. Si/% an0 ". J. &laesen% G&at*e0ral1IIC a silicon
co+-iler for 0i,ital si,nal -rocessin,%G IQQQ Design and Test, vol. =% no. 9%
--. 4=1;@% <ec. 4589.
;;. A. Stoll an0 P. <u:y% GHi,*1level synt*esis fro+ EH<" 'it* e/act ti+in, con1
straints%G in Proc) of ,Lth =CM>IQQQ Design =utomation Conference, June
455;.
;=. S. A+ellal an0 B. Ka+ins(a% GIunctional synt*esis of 0i,ital syste+s 'it* tass%G
IQQQ 'rans) on Computer-=ided Design, vol. 4=% no. H@% --. @=71@@;% May 455A.
;A. [. [. Par*i% GAl,orit*+ transfor+ation tec*niBues for concurrent -rocessors%G
Proc) IQQQ, --. 48751485@% <ec. 4585.
;@. R. E. &roc*iere an0 A. E. --en*ei+% GAnalysis of linear 0i,ital net'or(s%G
Proc) IQQQ, no. A% --. @841@5@% A-r. 457@.
;9. E. A. "ee an0 <. L. Messersc*+itt% GSync*ronous 0ata flo'%G Proc) IQQQ, spe-
cial issue on hard2are and soft2are for digital signal processing, --. 4;=@14;A@%
Se-t. 4587.
;7. J. Allen% G&o+-uter arc*itecture for 0i,ital si,nal -rocessin,%G Proc) IQQQ,
no. @% --. 8@;187=% May 458@.
;8. [. [. Par*i an0 .. !is*itani% e0s.% Digital &ignal Processing for Multimedia
&ystems) Marcel <e((er% 4555.
/
Iteration Bound
2.1 INTRODUCTION
Many <SP al,orit*+s suc* as recursive an0 a0a-tive 0i,ital filters contain
fee0bac( loo-s% '*ic* i+-ose an in*erent fun0a+ental lo'er boun0 on t*e
ac*ievable iteration or sa+-le -erio0. .*is boun0 is referre0 to as t*e iter1
ation -erio0 boun0% or si+-ly t*e iteration boun0. .*e iteration boun0 is
a c*aracteristic of t*e re-resentation of an al,orit*+ in t*e for+ of a 0ata1
flo' ,ra-* ><IL?K 0ifferent re-resentations of t*e sa+e al,orit*+ +ay lea0
to 0ifferent iteration boun0s. It is not -ossible to ac*ieve an iteration -erio0
less t*an t*e iteration boun0 even '*en infinite -rocessors are available. .*is
c*a-ter 0efines t*e iteration boun0 an0 -resents t'o tec*niBues to co+-ute
t*e iteration boun0K t*ese inclu0e t*e lon,est -at* +atri/ >"PM? an0 t*e
+ini+u+ cycle +ean >M&M? +et*o0s. .*e iteration boun0 of +ultirate
<ILs is also a00resse0.
2.2 DATA#FLO/ GRAPH RPRSNTATIONS
<SP -ro,ra+s are consi0ere0 to be nonter+inatin, -ro,ra+s t*at run fro+
ti+e in0e/ n E 6 to ti+e n E 66. Ior e/a+-le% a <SP -ro,ra+ t*at co+-utes
y*n+ E ay*n - 4? D "*n+ re-resents t*e follo'in, -ro,ra+C
for n E 8 to 66
y*n+ E ay*n - 2F D "*n+
43
++ ITERATION POUND
yen?
;@nF a
D D
@aF >b?
Fig. ;.4 >a? A ,ra-*ical re-resentation of &%#$ Q a&%# ( 4? D x%#$. >b? A <IL for
t*is -ro,ra+. .*e nu+bers in -arent*eses are t*e e/ecution ti+es for t*e no0es.
.*e in-ut to t*is <SP -ro,ra+ is t*e seBuence x%#$ for # Q 6%4%;% ... % an0
t*e initial con0ition y* 14?. .*e out-ut is t*e seBuence y* n+ for n E 6% 4%;% ....
A <SP -ro,ra+ is often re-resente0 usin, a <IL% '*ic* is a 0irecte0
,ra-* >i.e.% eac* e0,e *as a 0istinct 0irection? t*at 0escribes t*e -ro,ra+
>see also Section 4.A.=?. Ior e/a+-le% t*e -ro,ra+ &%#$ E a&%# ( 4? D x%#$
is ,ra-*icallXH re-resente0 in Ii,. ;.I>a?. A si+-lifie0 version of t*is -ro,ra+
is s*o'n in Ii,. ;.I>b?. .*e structure in Ii,. ;.I>b? is a <IL% '*ic* consists
of a set of no0es an0 e0,es. .*e no0es re-resent tas(s or co+-utations >t*e
no0e = re-resents a00ition an0 t*e no0e D re-resents +ulti-lication?% an0
eac* no0e *as an e/ecution ti+e associate0 'it* it. .*e e0,es re-resent
co++unication bet'een t*e no0es% an0 eac* e0,e *as a nonne,ative nu+ber
of 0elays associate0 'it* it. In our e/a+-le% t*e e0,e = -D D *as :ero 0elays
an0 t*e e0,e D -D = *as one 0elay. An iteration of a no0e is t*e e/ecution of
t*e no0e e/actly once% an0 an iteration of t*e <IL is t*e e/ecution of eac*
no0e in t*e <IL e/actly once.
Eac* e0,e in a <IL 0escribes a -rece0ence constraint bet'een t'o no0es.
.*is -rece0ence constraint is an intra-iteration precedence constraint if t*e
e0,e *as :ero 0elays or an inter-iteration precedence constraint if t*e e0,e *as
one or +ore 0elays. .o,et*er% t*e intra1iteration an0 inter1iteration -rece1
0ence constraints s-ecify t*e or0er in '*ic* t*e no0es in t*e <IL can be
e/ecute0. .*e e0,e fro+ = to D in Ii,. ;.I>b? enforces t*e intra1iteration
-rece0ence constraint% '*ic* states t*at t*e (1t* iteration of A +ust be e/1
ecute0 before t*e (1t* iteration of D) .*e e0,e fro+ D to = enforces t*e
inter1iteration -rece0ence constraint% '*ic* states t*at t*e (1t* iteration of
D +ust be e/ecute0 before t*e *- D I?1t* iteration of A. "et I- 0enote t*e
(1t* iteration of t*e no0e V. W*en it is i+-ortant to 0istin,uis* bet'een
intra1iteration an0 inter1iteration -rece0ence constraints% an intra1iteration
-rece0ence constraint is 0enote0 usin, a sin,le arro' suc* as A' -D P') an0
an inter1iteration -rece0ence constraint is 0enote0 usin, a 0ouble arro' suc*
as P' 222? A'*l0 t*er'ise% all -rece0ence constraints are 0enote0 usin, sin,le
arro's.
LOOP POUND AND ITERATION POUND 45
(1)
d
l
d2
(1)
d
=
(1)
Fig. ;.; A <IL 'it* t*ree loo-s t*at *ave loo- boun0s of AF; u.t.% @F= u.t.% an0 @FA
u.t. .*e iteration boun0 for t*is <IL is Too #; u.t.
.*e critical path of a <IL is 0efine0 to be t*e -at* 'it* t*e lon,est
co+-utation ti+e a+on, all -at*s t*at contain :ero 0elays. .*e critical -at*
in t*e <IL in Ii,. ;.4>b? is t*e -at* = -D D, '*ic* reBuires 9 u.t. .*e <IL
in Ii,. ;.; contains several -at*s 'it* no 0elays. .*e +a/i+u+ co+-utation
ti+e a+on, t*ese -at*s is @ u.t. >t*e t'o -at*s 9 -D = -D ; -D 4 an0
@ -D = -D ; -D 4 are bot* critical -at*s?% so t*e critical -at* co+-utation
reBuires @ u. t. .*e critical -at* is t*e lon,est -at* for co+binational ri--lin,
in t*e <IL% so t*e co+-utation ti+e of t*e critical -at* is t*e +ini+u+
co+-utation ti+e for one iteration of t*e <IL.
A <IL can be classifie0 as nonrecursive or recursive. A nonrecursive <IL
contains no loo-s% '*ile a recursive <IL contains at least one loo-. Ior e/1
a+-le% an IIR filter is nonrecursive% '*ile t*e <IL in Ii,. ;.4>b? is recursive
because it contains t*e loo- A -D P -D A. A recursive <IL *as a fun0a1
+ental li+it on *o' fast t*e un0erlyin, <SP -ro,ra+ can be i+-le+ente0 in
*ar0'are. .*is li+it% calle0 t*e iteration bound, Too O4P%O;P%*ol0s re,ar0less of
t*e co+-utin, -o'er available for t*e i+-le+entation of t*e <SP -ro,ra+.
2.3 lOOP -OUND AND ITRATION -OUND
A loop is a 0irecte0 -at* t*at be,ins an0 en0s at t*e sa+e no0e% suc* as t*e
-at* A -D P -D A in Ii,. ;.4>b?. .*e ter+s Gloo-G an0 GcycleG are use0
interc*an,eably to 0escribe a 0irecte0 cycle in a 0irecte0 ,ra-*. .*e a+ount
of ti+e reBuire0 to e/ecute a loo- can be 0eter+ine0 fro+ t*e -rece0ence
relations 0escribe0 by t*e e0,es of t*e <IL. Ior t*e <IL in Ii,. ;.4>b?% t*e
+1 ITERATION POUND
;<
>a?
;<
>b?
Fig. ;.= >a? A <IL 'it* one loo- t*at *as a loo- boun0 of 9F; Q = u. t. .*e iteration
boun0 for t*is <IL is = u.t. >b? A <IL 'it* iteration boun0 .oo Q +a/U9F;% 44F4W Q
44 u.t.
e0,es 0escribe t*e -rece0ence constraints
'*ere sin,le arro's >1S? re-resent intra1iteration -rece0ence constraints an0
0ouble arro's >CCCW?re-resent inter1iteration -rece0ence constraints. Accor0in,
to t*ese -rece0ence constraints% iteration - of t*e loo- consists of t*e seBuen1
tial e/ecution of =- an0 Di, Liven t*at t*e e/ecution ti+es of no0es = an0 D
are ; an0 A u.t.% res-ectively% one iteration of t*e loo- reBuires 9 u.t. .*is
is t*e loop bound, '*ic* re-resents t*e lo'er boun0 on t*e loo- co+-utation
ti+e. Ior+ally% t*e loo- boun0 of t*e l-th loo- is 0efine0 as ;56I0 '*ere ;l
is t*e loo- co+-utation ti+e an0 6I is t*e nu+ber of 0elays in t*e loo-. We
can verify t*at t*e loo- boun0 for t*e loo- in Ii,. ;.4>b? is 9F4 E 9 u.t.
.*e loo- in Ii,. ;.=>a? *as t'o 0elays% reBuires 9 U.t. to co+-ute% an0 *as
a loo- boun0 of 9F; E = u.t. .o see *o' one iteration of t*is loo- can be
e/ecute0 in = u.t.% 'e nee0 to e/a+ine t*e -rece0ence constraints
=o 1S Do ;=4 1S D
4
;=< 1S D< ;A;R 1S .
=l 1S Dl ;=8 1S D8 ;=H 1S DH ;=T 1S .
.*is s*o's t'o in0e-en0ent sets of -rece0ence constraints% one set for t*e
even iterations an0 one set for t*e o00 iterations. In t*is case% t'o iterations
can be co+-ute0 in 9 u.t.% resultin, in a loo- boun0 of 9F; Q =.
.*e <IL in Ii,. ;.=>b? contains t'o loo-s% na+ely% t*e loo-s II E A 1S
D 1S = an0 l4 E = 1S D 1S C 1S =) .*e loo- boun0s for *an0 l4 are
9F; Q = u.t. an0 44F4 Q 44 u.t.% res-ectively. .*e critical loop is t*e loo-
'it* t*e +a/i+u+ loo- boun0% so t*e loo- l4 is t*e critical loo- in t*is
e/a+-le. .*e loo- boun0 of t*e critical loo- is t*e iteration bound of t*e
<SP -ro,ra+% '*ic* is t*e lo'er boun0 on t*e iteration or sa+-le -erio0 of
t*e <SP -ro,ra+ re,ar0less of t*e a+ount of co+-utin, resources available.
ALGORITHMS FOR COMPUTING ITERATION POUND +4
Ior+ally% t*e iteration boun0 is 0efine0 as
Too E +a/ UMW%
IEL 6I
>;.4?
'*ere L is t*e set ofloo-s in t*e <IL% tl is t*e co+-utation ti+e of t*e loo- l)
an0 6I is t*e nu+ber of 0elays in t*e loo- l, Ior t*e <IL in Ii,. ;.=>b? 'e
*ave
Too E +a/
U
9
/P
T
44W
Q 44 u.t.
A strai,*tfor'ar0 tec*niBue for fin0in, t*e iteration boun0 of a <IL is to
locate all loo-s an0 0irectly co+-ute Too usin, >;.4?K *o'ever% t*e nu+ber
of loo-s in a <IL can be e/-onential 'it* res-ect to t*e nu+ber of no0es%
so t*is tec*niBue can reBuire lon, e/ecution ti+es. .*ree tec*niBues *ave
been 0evelo-e0 for co+-utin, Too in -olyno+ial ti+e% na+ely t*e lon,est
-at* +atri/ al,orit*+ O=P% t*e +ini+u+ cycle +ean al,orit*+ >AP% an0 t*e
ne,ative cycle 0etection al,orit*+ O@P. .*e first t'o tec*niBues are 0escribe0
in Section ;.A.
2.! ALGORITHMS FOR COMPUTING ITRATION -OUND
.*e t'o iteration1boun0 al,orit*+s 0escribe0 in t*is section are 0e+onstrate0
usin, t*e <IL in Ii,. ;.;. .*is <IL *as t*ree loo-sC loo- II Q 4 -t A 1S
; -t 4 'it* loo- boun0 AF; u.t.% loo- l, Q 4 -t @ -t = -t ; -t 4 'it* loo-
boun0 @F= u.t.% an0 loo- l8 Q 4 -t 9 -t = -t ; -t 4 'it* loo- boun0 @FA u.t.
.*erefore% t*e iteration boun0 of t*is <IL is
Too Q +a/ U K% M% MW Q ; u.t.
2.!.1 L$"gest Pat' Matri0 Alg$rit'1
In t*e lon,est -at* +atri/ >"PM? al,orit*+ O=P% a series of +atrices is con1
structe0% an0 t*e iteration boun0 is foun0 by e/a+inin, t*e 0ia,onal ele+ents
of t*e +atrices. "et 5 be t*e nu+ber of 0elays in t*e <IL. .*ese +atrices%
">+?% + Q 4%;% ... % 5) are constructe0 suc* t*at t*e value of t*e ele+ent
l6J+ is t*e lon,est co+-utation ti+e of all -at*s fro+ 0elay ele+ent d# to
0elay ele+ent d
K
t*at -ass t*rou,* e/actly + 1 4 0elays >not inclu0in, di an0
5K$. I! no suc* -at* e/ists% t*en l6J+ Q 14. !ote t*at lon,est -at* bet'een
any t'o no0es can be co+-ute0 usin, any -at* al,orit*+ in A--en0i/ A.
Ior e/a+-le% to 0eter+ine l~l~for t*e <IL in Ii,. ;.;% all -at*s fro+ t*e
0elay ele+ent 5
8
to t*e 0elayH ele+ent 04 t*at -ass t*rou,* e/actly :ero 0e1
lay ele+ents +ust be consi0ere0. .*ere is one suc* -at*% na+ely% t*e -at*
@ 14 14 .
@ 14 14 .
C(EUIW % %
Q +a/>1I%@ S 6? Q @.
3%3$ =
+, ITERATION POUND
5
3
1t #- 1t #3 1t #2 1t #? 1t 0l. .*is -at* *as co+-utation ti+e @% so
l~~lQ @. .o 0eter+ine li~~)'e note t*at t*ere are no -at*s fro+ t*e 0elay
ele+ent 5
<
to t*e 0elay ele+ent 5
8
t*at -ass t*rou,* :ero 0elay ele+ents% so
l~
.
l~Q 14. After 0eter+inin, t*e rest of t*e ele+ents of ">l?% 'e fin0
14 6 14 14P
L
>I? T 5 -2 8-2
1
O
@ 14 14 6 .
@ 14 14 14
.*e *i,*er or0er +atrices% ">+?% + Q ;%=% ... % 5) 0o not nee0 to be 0e1
ter+ine0 0irectly fro+ t*e <IL. Rat*er% t*ey can be recursively co+-ute0
accor0in, to t*e rule
'*ere T is t*e set of inte,ers - in t*e interval O4% 0P suc* t*at neit*er l~~2Q 14
nor I;I$ Q 14 *ol0s. Ior e/a+-le% to co+-ute l~2l)t*e first ste- is to fin0 t*e
set S fro+ t*e -ossible set UI%;%=%AW. .*e value = is in S because l~~:Q
6 an0 lI11 Q @% an0 t*e values - Q 1222! are not in T because at least one of
l~~'orH li~~is eBual to 14 for eac* of t*ese. Usin, T Q U=W% t*e value of
l~2l can be co+-ute0 as
l*,+ .
;%4
+a/
%
14%
l
%l$
-
S
l%I$$
; - 4
(EU=W % %
Q +a/>1I%6S@? Q@.
&o+-utin, t*e re+ainin, values of l~~ results in
A 14 6 14P
"
>;? T
O
@ A 14 6
1 @
14
W*ile ">;? is co+-ute0 usin, only ">I?% t*e +atri/ ">=? is co+-ute0 usin,
bot* ">I? an0 ">;?. .o co+-ute lI~:)S Q UIW because lI~l Q @ an0 l~2:Q
6% an0 for t*e values of - Q ;%=%A% at least one of l~~'or li~~is eBual to 14.
.*e value of l~~:is
=%=
+a/>1I%lMl( 9li,6+
I
9
6 6 -2
9 -2 6 -2
28 9 6
6
28 9 -2 6
1 8 8
A
ALGORITHMS FOR COMPUTING ITERATION POUND +>
@2F
Fig. ;.A A filter 'it* iteration boun0 .oo Q 8.
&o+-utin, t*e rest of ">=? an0 ">A? results in
L@PF
-
K
A -2
6 A
-I 2
an0
">A? Q
O
9
8
1
@
6
1X 4
.
nce t*e +atrices ">+? *ave been co+-ute0% t*e iteration boun0 can be
0eter+ine0 as
Too Q +a/
l~0T$ ?
A
M%
'*ic* for t*is e/a+-le is
i%+EUI%;% ... 0W
Too Q +a/ UM%M%M%M%M%M%M%M% MW E ;.
As anot*er e/a+-le% consi0er t*e <IL in Ii,. ;.A. .*e +atrices t@F.
+ Q 4%;% are
">l? T OA AP
-0 ITERATION POUND
an0
an0 t*e iteration boun0 is
">;? Q O4; 4;P
49 49 H
.*e "PM al,orit*+ 'or(s because t*e value l;~$ re-resents t*e lon,est
co+-utation ti+e of all loo-s t*at *ave + 0elays an0 contain t*e 0elay ele1
+ent 5
i
J By ta(in, t*e +a/i+u+ of l~4$Em for all -ossible values of i an0
+% 'e fin0 t*e +a/i+u+ loo- boun0 Mf all loo-s in t*e <IL% '*ic* is t*e
iteration boun0.
.*e ti+e co+-le/ity of co+-utin, ">(Sl? fro+ ">l? an0 ">(? is 1*d
8
+ since
t*ere are M ele+ents in ">(Sl? an0 eac* co+-utation *as ti+e co+-le/ity
1*d+) .*erefore% co+-utin, ">0? fro+ ">l? *as ti+e co+-le/ity 1*d
<
+) Al1
t*ou,* 'e 0eter+ine0 ">l? by ins-ection% an al,orit*+ 'it* ti+e co+-le/ity
1*de+ is ,iven in O=P for fin0in, ">l?% '*ere d an0 e are t*e nu+ber of 0elays
an0 e0,es in t*e <IL% res-ectively. Hence% t*e ti+e co+-le/ity of t*e "PM
al,orit*+ of co+-utin, t*e iteration boun0 is 1*d
<
D de+) Ior t*e intereste0
rea0er% i+-rove+ents *ave been su,,este0 in O=P to i+-rove t*is co+-le/ity
to 1*d
8
Iogd9de+) !ote t*at ">0? can be co+-ute0 in >0
=
Io,0? co+-le/ity
by co+-utin, ">;? fro+ ">l?% ">A? fro+ ">;?% ">8? fro+ ">A?% etc.
;.A.; The !i89imum C+cle !ean Algorithm
.*e +ini+u+ cycle +ean >M&M? al,orit*+ OAP re0uces t*e -roble+ of 0e1
ter+inin, t*e iteration boun0 to t*e -roble+ of fin0in, t*e M&M of a ,ra-*.
.*e tec*niBue in O9P is t*en use0 to efficiently co+-ute t*e M&M. Recall t*at
t*e ter+s GcycleG an0 Gloo-G can be use0 interc*an,eably.
.*e al,orit*+ 0escribe0 in t*is section uses t*e conce-ts of a cycle +ean%
t*e +a/i+u+ cycle +ean% an0 t*e M&M. .*e cycle +ean =%Q$ of a cycle c
is t*e avera,e len,t* of t*e e0,es in c% '*ic* can be foun0 by si+-ly ta(in,
t*e su+ of t*e e0,e len,t*s an0 0ivi0in, by t*e nu+ber of e0,es in t*e cycle.
.*e M&M =min is si+-ly t*e +ini+u+ value of all of t*e cycle +eans% i.e.%
=min E +in+>c?.
c
Si+ilarly% t*e +a/i+u+ cycle +ean =ma" is
=ma" Q +a/+>c?.
c
.*e cycle +eans of a ne' ,ra-* Cd are use0 to co+-ute t*e iteration
boun0% '*ere Cd can be foun0 fro+ t*e <IL for '*ic* 'e are co+-utin,
ALGORITHMS FOR COMPUTING ITERATION POUND -1
o o
@
o
-6
o
o o
@ -6
>a? >b?
Fig. ;.@ .*e ,ra-*s >a? G
5
an0 >b? C5 for t*e <IL in Ii,. ;.;.
t*e iteration boun0 >call t*is <IL G$. I! 5 is t*e nu+ber of 0elay ele+ents
in G) t*en t*e ,ra-* G5 *as 5 no0es '*ere eac* no0e corres-on0s to one of
t*e 0elays in G. .*e 'ei,*t 2*i,F+ of t*e e0,e fro+ t*e no0e i to t*e no0e
J in B 5 is t*e lon,est -at* len,t* a+on, all -at*s in B fro+ t*e 0elay di
to t*e 0elay 5
K
t*at 0o not -ass t*rou,* any 0elays. If no :ero10elay -at*
e/ists fro+ t*e 0elay 5
i
to t*e 0elay 5
K
) t*en t*e e0,e i -t J 0oes not e/ist in
G50 .*e ,ra-* G
5
for t*e <IL in Ii,. ;.; is s*o'n in Ii,. ;.@>a?. !ote t*at
constructin, B
5
is essentially t*e sa+e as constructin, t*e +atri/ ">l? in t*e
"PM al,orit*+ 0escribe0 in Section ;.A.l.
.*e su+ of t*e e0,e 'ei,*ts in a cycle c in B
5
is t*e +a/i+u+ co+-uta1
tion ti+e of all cycles in B t*at contain t*e 0elays re-resente0 by t*e no0es
in t*e cycle c. .*is is because t*e e0,e 'ei,*ts in B
5
are t*e +a/i+u+ co+1
-utation ti+es bet'een t*e 0elays in G. Ior e/a+-le t*ere are t'o cycles
t*at contain t*e 0elays DcU an0 D:8 in t*e ,ra-* B in Ii,. ;.9>a?% an0 t*ese
cycles *ave co+-utation ti+es of 9 U.t. an0 A U.t. .*e corres-on0in, ,ra-*
B
5
in Ii,. ;.9>b? *as one cycle t*at -asses t*rou,* t*e no0es corres-on0in,
to DcU an0 D:8) .*e su+ of t*e e0,e 'ei,*ts in t*is cycle is 9% '*ic* is t*e
+a/i+u+ co+-utation ti+e of t*e t'o cycles in B in Ii,. ;.9>a?. In B
5
) t*e
nu+ber of e0,es in a cycle eBuals t*e nu+ber of no0es in t*e cycle% an0 t*is
eBuals t*e nu+ber of 0elays in t*e cycle in B) .*erefore% t*e cycle +ean of a
cycle c in B
5
is
+a/ co+-utation ti+e of all cycles in B t*at contain t*e 0elays in c
t*e nu+ber of 0elays in t*ese cycles in B
.*is is t*e +a/i+u+ cycle boun0 of t*e cycles in B t*at contain t*e 0elays
I I iL
52 ITERATION POUND
@2F
aQC
4
'
@/F
@2F
@
@/F
>a? >b?
Fig.2.1 >a? A ,ra-* G 'it* t'o cycles t*at contain t*e 0elays D1l an0 D:8) >b? .*e
corres-on0in, ,ra-* BN)
in t*e cycle c. .*e +a/i+u+ cycle +ean of B 5 is t*e +a/i+u+ cycle
boun0 of all cycles in G) '*ic* is t*e iteration boun0 of G.
.o co+-ute t*e +a/i+u+ cycle +ean of B
5
) t*e ,ra-* c, is constructe0
fro+ B
d
by si+-ly +ulti-lyin, t*e 'ei,*ts of t*e e0,es by 14% i.e.% c, *as t*e
sa+e to-olo,y as B
d
an0 t*e 'ei,*ts /%i)K$ of t*e e0,e i 1t W in Cd are
,iven by /%i)K$ Q (/%i)K$) '*ere /%i)K$ is t*e 'ei,*t of t*e e0,e i 1t W
in G
5
J
.*e ,ra-* Cd for t*e <IL in Ii,. ;.; is ,iven in Ii,. ;.@>b?. .*e +a/i+u+
cycle +ean of Bd is si+-ly t*e M&M of Cd +ulti-lie0 by 14. So t*e iteration
boun0 of B can be foun0 by fin0in, t*e M&M of Cd an0 +ulti-lyin, it by
14.
.*e M&M of c, is foun0 by first constructin, t*e series of 5 D 4 vectors%
r>+?% + Q 6%4% ... )5) '*ic* are eac* of 0i+ension 5x 4. An arbitrary reference
no0e is c*osen in Cd >call t*is no0e 8?. .*e initial vector r>? is for+e0 by
settin, F>6?>8? QQ 6 an0 settin, t*e re+ainin, entries of r>? to 66. I! no0e 4
is c*osen as t*e reference no0e for t*e ,ra-* Cd in Ii,. ;.@ >b?% t*en
.*e re+ainin, vectors% r>+?% + E 4%;% ... % 5) are recursively co+-ute0 ac1
cor0in, to
/%=$%K$ QQ +in>f>+1l? >i? D
/%i)K$$
iEI
>;.;?
'*ere /%i) F+ is t*e 'ei,*t of t*e e0,e i 1t W in Cd an0 I is t*e set of no0es in
Cd suc* t*at t*ere e/ists an e0,e fro+ no0e i to no0e J >i 1t F+) .*is series
+
ALGORITHMS FOR COMPUTING ITERATION POUND -3
Table ;.4 Ealues of 1%+$%i$(/%C0$%i$ for 4 R i R A an0 6 R + R =
<-m - - --
iQl 1; 166 -2 1= 1;
iQ; 166 1@F= 166 14 14
iQ= 166 166 1; 166 1;
iQA 66166 66 1 66 66166 66 66
of vectors foun0 fro+ c, in Ii,. ;.@>b? is
Ior e/a+-le% F*<+*'+ is co+-ute0 as
f*<+*'+ Q +in>f>=? >;? -2*,,'+,f*8+*8+ -2*8,'+,J*8+*<+ -2*<,'++
Q +in> 1A 1 A%66 1 @%6 1 @? Q 18.
Iro+ t*e vectors r>+?% + Q 6%4% ... % 5) t*e iteration boun0 can be co+1
-ute0 as
) * *f*d+*i+ - f*m+*i+++
Too E -
=U#
iEAI)2) ... )5? A a;V d )
= O)I)...)5(l (
In our e/a+-le% 5 Q A. .able ;.4 s*o's t*e values of
f*<+*i+ - f*m+ >i?
<-m
for 4 M i M A an0 6 M + M =. In so+e cases 'e +ay encounter F*d+ %i$ (
f*m+*i+ Q 66 1 66. In t*is case% 66 1 66 s*oul0 be treate0 as :ero. Ior
e/a+-le% K%+$%+$ ( K%l$ >A? Q 66 1 66% so t*e value >66 1 66?F= CKCC6C F= CKCC6C
is ,iven for i Q A an0 + Q 4 in .able ;.4.
Usin, t*e ri,*t colu+n of .able ;.4% 'e can 0eter+ine
Too Q 1+inU1;%14%1;%66W Q ;%
as 0esire0.
As anot*er e/a+-le% consi0er t*e <IL in Ii,. ;.A. .*e ,ra-*s Cd an0 o,
r
54 ITERATION POUND
A
8
8
>a?
1A
1A 18
18
>b?
Fig. ;.7 .*e ,ra-*s >a? G5 an0 >b? Bi5 for t*e <IL in Ii,. ;.A.
Table ;.; Ealues of /%2$%i$9/%=$%i$ for 4 R i R ; an0 6 R + R 4
;+ 11 11
=GO +Q 4
+a/
CCCK+C5
U flM?>i?1fN+?>i? W
,-m
i Q 4 14;F; 18F4 -6
iQ; -00 18F4 18
are s*o'n in Ii,. ;.7. .*e set of vectors r@F. m Q 6%4%;% is
>;? T O 14; P
1 14; .
.able ;.; s*o's t*e values of
f*,+*i+ - f*m+ >i?
,-m
for 4 M i I; an0 6 M + M 4.
Usin, t*e ri,*t colu+n of .able ;.;% 'e can 0eter+ine
Too E - +ini 18% 19W E 8.
.*e ti+e co+-le/ity of constructin, Cd an0 Cd fro+ t*e ori,inal <IL is
1*de+) !ote t*at t*is is t*e sa+e as t*e co+-le/ity of co+-utin, ">l? in t*e
"PM al,orit*+ because t*ese are eBuivalent -roble+s. .*e M&M of Cd is
ITERATION POUND OF MUL TlRATE DATA(FLO6 GRAPHS --
O
uv
Iuv
:
Fig. ;.8 An e0,e U 1S O in an +ultirate <IL.
co+-ute0 in 1*ded+ ti+e% '*ere ed is t*e nu+ber of e0,es in Cd) .*e total
ti+e co+-le/ity for co+-utin, t*e iteration boun0 usin, t*e M&M al,orit*+
is 1*de D ded+@
2., ITRATION -OUND OF MULTIRAT DATA#FLO/ GRAPHS
U- to t*is -oint% 'e *ave only consi0ere0 sin,le1rate <ILs >SR<ILs?% i.e.%
<ILs '*ere eac* no0e is e/ecute0 e/actly once -er iteration. Anot*er class of
<ILs% calle0 +ultirate <ILs >MR<ILs? O7?% allo's eac* no0e to be e/ecute0
+ore t*an once -er iteration% an0 ; no0es are not reBuire0 to e/ecute t*e sa+e
nu+ber of ti+es in an iteration >see Section 4.A.=?. A ;1ste- -rocess can be
use0 to co+-ute t*e iteration boun0 of a +ultirate <IL. .*is ;1ste- -rocess
is
4. &onstruct a SR<IL t*at is eBuivalent to t*e MR<IL.
;. &o+-ute t*e iteration boun0 of t*e eBuivalent SR<IL usin, t*e "PM
al,orit*+% or t*e M&M al,orit*+.
.*e iteration boun0 of t*e MR<IL is t*e sa+e as t*e iteration boun0 of t*e
eBuivalent SR<IL. In t*is section% MR<ILs are. 0efine0 an0 an al,orit*+ is
-resente0 for constructin, an eBuivalent SR<IL fro+ an MR<IL >Ste- 4?
so t*at 4 of t*e ; al,orit*+s 0escribe0 in t*is c*a-ter can be use0 to co+-ute
t*e iteration boun0 of t*e eBuivalent SR<IL >ste- ;?.
An e0,e fro+ t*e no0e U to t*e no0e O in an MR<IL is s*o'n in Ii,. ;.8.
.*e value 1u! is t*e nu+ber of sa+-les -ro0uce0 on t*e e0,e by an invo1
cation of t*e no0e V, an0 t*e value Iu! is t*e nu+ber of sa+-les consu+e0
fro+ t*e e0,e by an invocation of t*e no0e O. .*e value iu! is t*e nu+ber
of 0elays on t*e e0,e.
I. t*e no0es V an0 % are invo(e0 -u ti+es an0 -! ti+es% res-ectively%
in an iteration% t*en t*e nu+ber of sa+-les -ro0uce0 on t*e e0,e fro+ t*e
no0e U to t*e no0e O in 4 iteration is OLM'L) an0 t*en nu+ber of sa+-les
consu+e0 fro+ t*e e0,e by t*e no0e % in 4 iteration is Iu!-!) .o avoi0 a
buil0u- or 0eficiency of sa+-les on t*e e0,e% t*e nu+ber of sa+-les -ro0uce0
in 4 iteration +ust eBual t*e nu+ber of sa+-les consu+e0 in one iteration.
.*is relations*i- can be 0escribe0 +at*e+atically as
1u!-u Q Iu!-!)
>;.=?
i
J%
-1 ITERATION POUND
D
Fig. ;.5 An +ultirate <IL.
4. Ior eac* no0e U in t*e MR<IL
;. Ior - E 6 to -u-
'
=. <ra' a no0e LV in t*e SR<IL 'it* t*e sa+e co+-utation
ti+e as U in t*e MR<IL.
A. Ior eac* e0,e U i[f O in t*e MR<IL
@. Ior W Q 6 to 1u! -u - 4
9. <ra' an e0,e Vi>1u! -t %NF9iu!+>Iu!+W-! in t*e SR<IL
'it* >J D iu! + > %Iu! -!+ 0elays H
Fig.2.10 Al,orit*+ for constructin, an eBuivalent SR<IL fro+ an MR<IL.
.o 0eter+ine *o' +any ti+es eac* no0e +ust be e/ecute0 in an iteration% t*e
set of eBuations foun0 by 'ritin, >;.=? for eac* e0,e in t*e MR<IL +ust be
solve0 so t*e nu+ber of invocations of t*e no0es are co-ri+e. Ior e/a+-le%
t*e set of eBuations for t*e MR<IL in Ii,. ;.5 is
<-a
Q
8-b
-b
Q
,-c
-c
Q
-c
8-c ,-
a
,
'*ic* *as a solution -a Q =% -b Q A% -c Q ;. nce t*e nu+bers of invocations
of t*e no0es *as been 0eter+ine0% an eBuivalent SR<IL can be constructe0
for t*e MR<IL.
.o si+-lify notation% let alb 0enote t*e inte,er -art of 0ivision% an0 let aWb
0enote t*e re+ain0er. Ior e/a+-le% 46F= Q = an0 46Y= Q 4. Mat*e+atically%
'e can 'rite alb E lYJ an0 aWb E a1liJ b, '*ere L;O is t*e floor of ", '*ic*
is t*e lar,est inte,er less t*an or eBual to ") An al,orit*+ for constructin,
an eBuivalent SR<IL fro+ an MR<IL is ,iven in Ii,. ;.46 ..
Ior t*e <IL in Ii,. ;.5% t*e al,orit*+ in Ii,. ;.46 can be use0 to construct
t*e <IL in Ii,. ;.44. .*e iteration boun0 of t*e SR<IL in Ii,. ;.44 is t*e
CONCLUSIONS -4
<
Fig. ;.44 An eBuivalent SR<IL for t*e MR<IL in Ii,. ;.5.
sa+e as t*e iteration boun0 of t*e MR<IL in Ii,. ;.5.
Earious tec*niBues *ave been su,,este0 to re0uce t*e nu+ber of no0es an0
e0,es in an eBuivalent SR<IL 'it*out affectin, t*e iteration boun0 of t*e
,ra-*. .*ese re0uctions can be use0 to re0uce t*e co+-le/ity of 0eter+inin,
t*e iteration boun0 of t*e eBuivalent SR<IL% '*ic* 0irectly lea0s to re0uce0
co+-le/ity for 0eter+inin, t*e iteration boun0 of t*e MR<IL. .*e inter1
este0 rea0er can fin0 al,orit*+s for re0ucin, t*e co+-le/ity of t*e eBuivalent
SR<IL in OAP.
2.3 CONCLUSIONS
<SP -ro,ra+s *ave t*e -ro-erty t*at t*ey are e/ecute0 fro+ n Q 6 to n E 66.
.*ese -ro,ra+s are often re-resente0 usin, <ILs% '*ic* can be recursive or
nonrecursive. W*en t*e <IL is recursive% t*e iteration boun0 is t*e fun0 a1
+ental li+it on t*e +ini+u+ sa+-le -erio0 of a *ar0'are i+-le+entation of
t*e <SP -ro,ra+. .'o al,orit*+s for co+-utin, t*e iteration boun0 'ere
-, ITERATION POUND
>;?
Fig.2.12 .*e <IL use0 in Proble+ 4.
A=
Fig. ;.4= A A1level-i-eline0 all1-ass 8t*1or0er IIR 0i,ital filter.
0iscusse0. .*e "PM al,orit*+ fin0s t*e iteration boun0 'it* ti+e co+-le/1 K
ity 1*d
<
D de+, an0 t*e M&M al,orit*+ fin0s t*e iteration boun0 'it* ti+eH
co+-le/ity o*de D ded+) .*e M&M al,orit*+ is usually faster t*an t*e "PM
al,orit*+ because ed I cP *ol0s for +ost cases. .
.*e iteration boun0 of a +ultirate <IL can be 0eter+ine0 by first con1 C
structin, an eBuivalent sin,le1rate <IL an0 t*en co+-utin, t*e iterationCK
boun0 of t*e sin,le1rate <IL usin, 4 of t*e ; al,orit*+s 0escribe0 in t*is%
c*a-ter. .*e al,orit*+ in Ii,. ;.46 can be use0 to construct an eBuivalent
sin,le1rate <IL fro+ t*e +ultirate <IL.
2.4 PRO-LMS
4. Ior t*e <IL s*o'n in Ii,. ;.4;% t*e co+-utation ti+es of t*e no0es are
s*o'n in -arent*eses. &o+-ute t*e iteration boun0 of t*is <IL usin,.
>a? t*e "PM al,orit*+% an0
>b? t*e M&M al,orit*+.
;. Re-eat Proble+ 4 for t*e <IL s*o'n in Ii,. ;.4= assu+in, t*at a00i1
tion an0 +ulti-lication reBuire 4 u.t. an0 ; u.t.% res-ectively.
PROPLEMS ->
Fig. ;.4A .*e *iBua0 filter.
I! )U(
Fig. ;.4@ <irect1for+. =r01or0er IIR filter.
=. Re-eat Proble+ 4 for t*e <IL s*o'n in Ii,. ;.4A assu+in, t*at a00i1
tion an0 +ulti-lication reBuire 4 U.t. an0 ; u.t.% res-ectively.
A. Re-eat Proble+ 4 for t*e <IL s*o'n in Ii,. ;.4@ assu+in, t*at a00i1
tion an0 +ulti-lication reBuire 4 an0 ; u.t.% res-ectively.
@. Re-eat Proble+ 4 for t*e <IL s*o'n in Ii,. ;.49 assu+in, t*at a00i1
tion an0 +ulti-lication reBuire 4 an0 ; u.t.% res-ectively.
9. Re-eat Proble+ 4 for t*e <IL s*o'n in Ii,. ;.47 assu+in, t*at a00i1
tion an0 +ulti-lication reBuire 4 an0 ; u.t.% res-ectively.
7. Re-eat Proble+ 4 for t*e <IL s*o'n in Ii,. ;.48 assu+in, t*at a00i1
tion an0 +ulti-lication reBuire 4 an0 ; u.t.% res-ectively.
8. Re-eat Proble+ 4 for t*e <IL in Ii,. ;.44 assu+in, t*at t*e e/ecution
ti+e of eac* no0e is 4 u.t.
5. <eter+ine t*e iteration boun0 of t*e MR<IL in Ii,. ;.45. Assu+e t*e
e/ecution ti+e of eac* no0e to be 4 u.t. .*e follo'in, ste-s s*oul0 be
use0C
10 ITERATION POUND
)U(
Fig. ;.49 Iift*1or0er 'ave 0i,ital elli-tic filter.
A0 A1
Fig. ;.47 .*e lattice filter use0 in Proble+ 9.
O!"
O!"
IN
I&
Fig. ;.48 .*e nor+ali:e0 lattice filter use0 in Proble+ 7.
REFERENCES 61
; ;< =
b J1..TC4
TK=cKCK<%11TK;M
D
Fig.2.1> .*e <IL use0 in Proble+ 5.
>a? construct t*e eBuivalent SR<IL% an0
>b? use any al,orit*+ in t*is c*a-ter to 0eter+ine t*e iteration boun0
of t*e eBuivalent SR<IL.
REFERENCES
4. M. Renfors an0 #. !euvo% G.*e +a/i+u+ sa+-lin, rate of 0i,ital filters un0er
*ar0'are s-ee0 constraints%G IQQQ 0rans) on Circuits and &ystems, vol. &AS1
;8% no. =% --. 4591;6;% Marc* 4584.
;. K. K. Par*i an0 <. L. Messersc*+itt% GStatic rate1o-ti+al sc*e0ulin, of itera1
tive 0ata1flo' -ro,ra+s via o-ti+u+ unfol0in,%G IQQQ 0rans) on Computers,
vol. A6% no. ;% --. 478145@% Ieb. 4554.
=. S. H. Lere:% S. M. Hee+stra 0e Lroot% an0 . E. Herr+ann% GA -olyno+ial1ti+e
al,orit*+ for t*e co+-utation of t*e iteration1-erio0 boun0 in recursive 0ata1
flo' ,ra-*s%G IQQQ 0rans) on Circuits and &ystems- I 7Vndamental Theory
and =pplications, vol. =5% no. 4% --. A51@;% Jan. 455;.
A. K. Ito an0 K. K. Par*i% G<eter+inin, t*e +ini+u+ iteration -erio0 of an
al,orit*+%G Journal of %L&I &ignal Processing, vol. 44% --. ;;51;AA% 455@.
@. <. #. &*ao an0 <. .. Wan,% GIteration boun0s of sin,le1rate 0ata flo' ,ra-*s for
concurrent -rocessin,%G IQQQ 0rans) on Circuits and &ystems- I 7Vndamental
Theory and =pplications, vol. A6% no. 5% --. 9;519=A% Se-t. 455=.
9. R. M. Kar-% GA c*aracteri:ation of t*e +ini+u+ cycle +ean in a 0i,ra-*%G
Discrete Mathematics, vol. ;=% --. =651=44% 4578.
7. E. A. "ee an0 <. L. Messersc*+itt% GStatic sc*e0ulin, of sync*ronous 0ata flo'
-ro,ra+s for 0i,ital si,nal -rocessin,%G IQQQ 0rans) on Computers, vol. &1=9%
no. 4% --. ;A1=@% Jan. 4587.
8. <. A. Sc*'art: an0 .. P. Barn'ell% III% G&yclo1static solutionsC o-ti+al +ul1
ti-rocessor reali:ations of recursive al,orit*+s%G in Proc) of IQQQ %L&I &ignal
Processing Aor-shop, 'LSX)
10 ITERATION POUND
U.
Fig. ;.49 Iift*1or0er 'ave 0i,ital elli-tic filter.
A0 AS
Fig. ;.47 .*e lattice filter use0 in Proble+ 9.
O!"
)U(
IN
48
Fig. ;.48 .*e nor+ali:e0 lattice filter use0 in Proble+ 7.
3
Pipelining and Parallel
Processing
3.1 INTRODUCTION
Pi-elinin, transfor+ation lea0s to a re0uction in t*e critical -at*% '*ic* can
be e/-loite0 to eit*er increase t*e cloc( s-ee0 or sa+-le s-ee0 or to re0uce
-o'er consu+-tion at sa+e s-ee0. In -arallel -rocessin,% +ulti-le out-uts
are co+-ute0 in -arallel in a cloc( -erio0. .*erefore% t*e effective sa+-lin,
s-ee0 is increase0 by t*e level of -arallelis+. Si+ilar to t*e -i-elinin,% -arallel
-rocessin, can also be use0 for re0uction of -o'er consu+-tion.
&onsi0er t*e t*ree1ta- f*Mite i+-ulse res-onse >IIR? 0i,ital filter
&%#$ Q ax%#$ D x%# -2F D Qx%# ( /F.
>=.4?
.*e bloc( 0ia,ra+ i+-le+entation of t*is filter is s*o'n in Ii,. =.4. .*e
Fig. =.4 A =1ta- IIR filter.
critical -at* or t*e +ini+u+ ti+e reBuire0 for -rocessin, a ne' sa+-le is
63
-
1+ PIPELINING AND PARALLEL PROCESSING
li+ite0 by 4 +ulti-ly an0 ; a00 ti+es% i.e.% if TM is t*e ti+e ta(en for +ul1
ti-lication an0 T= is ti+e nee0e0 for a00ition o-eration t*en t*e Gsa+-le
-erio0G *Tsample+ is ,iven by%
>=.;?
.*erefore% t*e sa+-lin, freBuency *Jsample+ >also referre0 to as t*e t*rou,*1
-ut or t*e iteration rate? is ,iven by
<
sample
R
TM D
2
,T=@
>=.=?
!ote t*at t*e direct-form structure s*o'n in Ii,. =.4 can only be use0 '*en
>=.;? is satisfie0. But if so+e real1ti+e a--lication 0e+an0s a faster in-ut rate
>sa+-le rate?% t*en t*is structure cannot be use0X In t*at case% t*e effecti!e
critical path can be re0uce0 by usin, eit*er -i-elinin, or -arallel -rocessin,.
Pi-elinin, re0uces t*e effecti!e critical path by intro0ucin, -i-elinin, latc*es
alon, t*e 0ata-at*. Pi-elinin, *as been use0 in t*e conte/t of arc*itecture
0esi,n OIP 1OAP% an0 co+-iler synt*esis O@P 1O46P% etc. Parallel -rocessin, in1
creases t*e sa+-lin, rate by re-licatin, *ar0'are so t*at several in-uts can
be -rocesse0 in -arallel an0 several out-uts can be -ro0uce0 at t*e sa+e ti+e
O44P 1O4=P. &onsi0er t*e si+-le structure in Ii,. =.;>a?% '*ere t*e co+-uta1
tion ti+e of t*e critical -at* is ,T=) Ii,. =.;>b? s*o's t*e ;1level -i-eline0
structure% '*ere 4 latc* is -lace0 bet'een t*e ; a00ers an0 *ence t*e criti1
cal -at* is re0uce0 by *alf. Its ;1level -arallel -rocessin, structure is s*o'n
in Ii,. =.;>c?% '*ere t*e sa+e *ar0'are is 0u-licate0 so t*at ; in-uts can
be -rocesse0 at t*e sa+e ti+e an0 ; out-uts are -ro0uce0 si+ultaneously.
.*erefore% t*e sa+-le rate is increase0 by t'o.
.*is c*a-ter is or,ani:e0 as follo's. Sections =.; an0 =.=% res-ectively%
-resent -i-elinin, an0 -arallel -rocessin, a--roac*es in t*e conte/t of non1
recursive co+-utations suc* as IIR 0i,ital filters. Section =.A -resents use
of -i-elinin, an0 -arallel -rocessin, for re0uction of -o'er consu+-tion at
sa+e sa+-le s-ee0 usin, lo'er su--ly volta,e.
=.; PIPLINING OF FIR DIGITAL FILTRS
&onsi0er t*e -i-eline0 i+-le+entation of t*e =1ta- IIR filter of >=.4? obtaine0
by intro0ucin, ; a00itional latc*es as s*o'n in Ii,. =.=.
.*e critical -at* is no' re0uce0 fro+ TM9,T= to TM9T=) In t*is arran,e1
+ent '*ile t*e left a00er initiates t*e co+-utation of t*e current iteration
t*e ri,*t a00er is co+-letin, t*e co+-utation of t*e -revious iteration result.
.*e sc*e0ule of events for t*is pipelined syste+ is s*o'n in .able =.4. In t*is
syste+% at any ti+e% ; consecutive out-uts are co+-ute0 in an interleave0
+anner.
a@/*F %@/*F
PIPELININGOF FIR DIGITAL FILTERS 1-
a@nF %@nF
;@nF ---5----5-- '@nF
@aF
a@nF %@n-lF
;@nFI '@n.lF
>b?
;@/*F ---5----5-- '@/*F
a@/*DlF %@/*DlF
;@/*DlF ---5----5-- '@/*DlF
@cF
Fig. =.; >a? A 0ata-at*. >b? .*e ;14evel -i-eline0 structure of >a?. >c? .*e ;1
4evel -arallel -rocessin, structure of >a?.
.
%T
.
Fig. =.= Pi-eline0 IIR filter. .*e 0as*e0 vertical line re-resents a fee01for'ar0 cut1
set.
Tal! =.4 Sc*e0ule of Events in t*e Pi-eline0 IIR Iilter in Ii,. =.=
&loc( In-ut !o0e 4 !o0e ; !o0e = ut-ut
6 x%O$ ax%O$ D x% (1$ 1
- -
4 x%1$ a.%1$ D x%O$ ax%O$ D x%(1$ Qx%(2$ &%O$
; x%2$ a.%2$ D x%1$ a.%1$ D x%O$ Qx% (1$ &%1$
= x%3$ ax%3$ D x%2$ a.%2$ D x%1$ Qx%O$ &%2$
11 PIPELINING AND PARALLEL PROCESSING
ne +ust note t*at in an M1level -i-eline0 syste+% t*e nu+ber of 0elay
ele+ents in any -at* fro+ in-ut to out-ut is %M ( I? ,reater t*an t*at in
t*e sa+e -at* in t*e ori,inal seBuential circuit. W*ile -i-elinin, re0uces t*e
critical -at*% it lea0s to a -enalty in ter+s of an increase in latency) "atency
essentially is t*e 0ifference in t*e availability of t*e first out-ut 0ata in t*e
-i-eline0 syste+ an0 t*e seBuential syste+. Ior e/a+-le if latency is I cloc(
cycle t*en t*e (1t* out-ut is available in %' D I?1t* cloc( cycle in a I1sta,e
-i-eline0 syste+. .*e t'o +ain 0ra'bac(s of t*e -i-elinin, are increase in
t*e nu+ber of latc*es an0 in syste+ latency.
.*e follo'in, -oints +ay be note0C
4. .*e s-ee0 of an arc*itecture >or t*e cloc( -erio0? is li+ite0 by t*e
lon,est -at* bet'een any ; latc*es or bet'een an in-ut an0 a latc* or
bet'een a latc* an0 an out-ut or bet'een t*e in-ut an0 t*e out-ut.
;. .*is lon,est -at* or t*e Gcritical -at*G can be re0uce0 by suitably
-lacin, t*e -i-elinin, latc*es in t*e arc*itecture.
=. .*e -i-elinin, latc*es can only be -lace0 across any feed-for2ard cutset
of t*e ,ra-*.
In or0er to e/-lain ite+ =% 'e nee0 to intro0uce ; 0efinitions.
) &utset A cutset is a set of e0,es of a ,ra-* suc* t*at if t*ese e0,es are
re+ove0 fro+ t*e ,ra-*% t*e ,ra-* beco+es 0isJoint .
) Iee01for'ar0 &utset A cutset is calle0 a fee01for'ar0 cutset if t*e
0ata +ove in t*e for'ar0 0irection on all t*e e0,es of t*e cutset. Ior
e/a+-le% t*e cutset use0 to -i-eline t*e IIR filter in Ii,. =.= is a fee01
for'ar0 cutset.
We can arbitrarily -lace latc*es on a fee01for'ar0 cutset of any IIR filter
structure 'it*out affectin, t*e functionality of t*e al,orit*+.
E/a+-le =.;.4 In the signal-flo2 graph *&7B+ sho2n in 7ig) C4.A *a+, the
computation time for each node is assumed to be 4 u)t,
*a+ Calculate the critical path computation time)
*b+ The critical path has been reduced to ; u)t) by inserting C4 e"tra delay
elements as sho2n in 7ig) C4.A *b+) Is this a !alid pipeliningY If not, obtain an
appropriate pipelined circuit 2ith critical path of ; u)t)
Solution
*a+ The critical path *the longest path bet2een any t2o latches+ is =8 -D
=H -t =< -D =X and its computation time is A u) t)
*b+ This is not a !alid pipelining) Let the dashed line in 7ig) ')<*b+ denote
' feed-for2ard cutset) Ae can see that only C4 latches are placed across the
PIPELINING OF FIR DIGITAL FILTERS 14
>a?
#l
#6
#3 AS
>b?
#2
D
-
D
#l
#6
#3 #$
>c?
Fig. 3.5 Si,nal1flo' ,ra-* for E/a+-le =.;.4.
1, PIPELINING AND PARALLEL PROCESSING
cutset) =lthough the critical path has been reduced to one-half of the orig-
inal system, the functionality has been changedR To obtain an appropriate
pipelining circuit, pipelining latches should be inserted on all the edges in the
feed-for2ard cutset) 7ig) 8)<:c; sho2s a !alid pipelined circuit that has critical
path of ; u)t)
Comments =dding delay elements at the feed-for2ard cutset in 7ig) 8)<:c;
leads to a ,-stage pipeline) In the ,-le!el pipelined system, the number of delay
elements in any path from the input to the output is increased by 4. )
=.;.4 Data51roadcast Structures
.*e critical -at* of t*e ori,inal =1ta- IIR filter can be re0uce0 'it*out intro1
0ucin, any -i-elinin, latc*es by trans-osin, t*e structure. .*e transposition
theorem states t*at
GReversin, t*e 0irection1 of all t*e e0,es in a ,iven SIL an0 interc*an,in,
t*e in-ut an0 out-ut -orts -reserves t*e functionality of t*e syste+.G
A =1ta- IIR filter is re-resente0 in SIL for+ in Ii,. =.@.
a % c
'@nF
---------~---------~~~
Fig. =.@ Si,nal1flo' ,ra-* re-resentation of t*e IIR filter.
.*e SIL of t*e trans-ose0 filter is s*o'n in Ii,. =.9 an0 its eBuivalent
bloc( 0ia,ra+ is s*o'n in Ii,. =.7.
'@nF -2 -2
\
E
Y
a % c
;@nF
=
Fig. =.9 .rans-ose0 SIL re-resentation of t*e IIR filter.
.*is lea0s to t*e data-broadcast structure '*ere 0ata are not store0 but
PARALLEL PROCESSING 1>
are broa0cast to all t*e +ulti-liers si+ultaneously. !otice t*at no' 'e *ave
a critical -at* of TM D T=, t*e sa+e as in Ii,. =.=.
;@nFJ----...-----I----- .
c
I-----'@nF
Fig. =.7 <ata1broa0cast structure of t*e IIR filter.
4.2.2 Fine57rain Pipelining
"et TM Q 46 units an0 TA Q ; units% an0 t*e 0esire0 cloc( -erio0 be %TM *
T=+>,, i.e.% 9 units. In t*is case t*e +ulti-lier is bro(en into ; s+aller units
'it* -rocessin, ti+es of 9 units an0 A units% res-ectively. !o' by -lacin, t*e
latc*es on t*e *ori:ontal cutset across t*e +ulti-lier% t*e 0esire0 cloc( s-ee0
can be ac*ieve0. .*is is referre0 to as fine-grain pipelining) A fine1,rain
-i-eline0 version of t*e =1ta- 0ata1broa0cast IIR filter is s*o'n in Ii,. =.8.
;@nF
A
I----
; ;
'@nF
Fig. 3.P Iine1,rain -i-elinin, of t*e IIR filter.
3.3 PARALLL PROCSSING
It is of interest to note t*at -arallel -rocessin, an0 -i-elinin, tec*niBues are
0uals of eac* ot*er% an0 if a co+-utation can be -i- eline0 % it can also be
-rocesse0 in -arallel. Bot* tec*niBues e/-loit concurrency available in t*e
co+-utation in 0ifferent 'ays. W*ile in0e-en0ent sets of co+-utations are
co+-ute0 in an interleave0 +anner in a -i-eline0 syste+% t*ey are co+-ute0
40 PIPELINING AND PARALLEL PROCESSING
usin, 0u-licate *ar0'are in -arallel -rocessin, +o0e.
4.4.1 Designing a Parallel FI3 S+stem
&onsi0er t*e =1ta- IIR filter 0escribe0 by >=.4?. .*is syste+ is a sin,le1in-ut
sin,le1out-ut >SIS? syste+ an0 is 0escribe0 by
y*n+ Q a"*n+ D b"*n - 4? D c"*n - ;?.
>=.A? .o obtain a -arallel -rocessin, structure% t*e SIS syste+ +ust be
converte0
into a MIM >+ulti-le1in-ut +ulti-le1out-ut? syste+. Ior e/a+-le% t*e fol1
lo'in, set of eBuations 0escribe a -arallel syste+ 'it* = in-uts -er cloc( cycle
>l.e.% level of -arallel -rocessin, L Q =?.
y*8-+
y*8- D 2F
y*8- D ;?
a"*8-+ D b"*8- - 4? D c"*8- -
;?
. a"*8- D 2F D b"*8-+ D c"*8- - 2F
. a"*8- D ;? D b"*8- D 4? D
c"*8-+)
>=.@?
Here - 0enotes t*e cloc( cycle. As can be seen% at t*e (1t* cloc( cycle t*e
= in-uts "*8-+, "*8- D 4? an0 "*8- D ;? are -rocesse0 an0 = sa+-les are
,enerate0 at t*e out-ut. Parallel -rocessin, syste+s are also referre0 to as
bloc- processing syste+s an0 t*e nu+ber of in-uts -rocesse0 in a cloc( cycle
is referre0 to as t*e bloc- si4e) Because of t*e MIM structure% -lacin, a
latc* at any line -ro0uces an effective 0elay of L cloc( cycles at t*e sa+-le
rate. Eac* 0elay ele+ent is referre0 to as a bloc- delay >also referre0 to as
"1slo'?. Ior e/a+-le% 0elayin, t*e si,nal "*8-+ by 4 cloc( cycle 'oul0 result
in "*8- - =? instea0 of "*8- - 4?% '*ic* *as been in-ut in anot*er in-ut line.
.*e bloc( arc*itecture for a =1-arallel IIR filter is s*o'n in Ii,. =.5 an0 its
0etails are s*o'n in Ii,. =.46.
MIM
SeBuential Syste+
=1Parallel Syste+
Fig. =.5 A bloc( -rocessin, e/a+-le.
!ote t*at t*e critical -at* of t*e bloc( or -arallel -rocessin, syste+ *as
re+aine0 unc*an,e0 an0 t*e cloc( -erio0 %T
cl-
+ +ust satisfyC
PARALLEL PROCESSING 41
;@3*D/F ;@3*D 2F ;@3*F
'@3*D/F
D
'@3*D2F
'@3*F
Fig. 3.10 Parallel -rocessin, arc*itecture for a =1ta- IIR filter 'it* bloc( si:e =.
@3.7F
But since = sa+-les are -rocesse0 in 4 cloc( cycle instea0 of =% t*e iteration
-erio0 is ,iven by
>=.7?
It is i+-ortant to un0erstan0 t*at in a -arallel syste+ Tcl- 22<2. TDample
'*ereas in a -i-eline0 syste+ Tcl- Q TDample) Ii,. =.44 s*o's a co+-lete -ar1
allel -rocessin, syste+ inclu0in, serial1to1-arallel an0 -arallel1to1serial con1
verters% s*o'n in 0etail in Ii,. =.4; an0 Ii,. =.4=% res-ectively.
!o' t*e Buestion arises '*y use -arallel -rocessin, '*en 'e can use
-i-elinin, eBually 'ell. W*y 0o 'e 'ant to 0u-licate so +any co-ies of
t*e *ar0'areZ .*e ans'er lies in t*e fact t*at t*ere is a fun0a+ental li+it
to -i-elinin, i+-ose0 by t*e in-utFout-ut >IF? bottlenec(s.
&onsi0er t*e c*i- set s*o'n in Ii,. =.4A. H) for e/a+-le% out-ut1-a0 0elay
-lus in-ut1-a0 0elay an0 t*e 'ire 0elay bet'een t*e t'o c*i-s is 8 nsec t*en
Tcl- *as to be ,reater t*an or eBual to 8 nsec. H t*e critical -at* co+-utation
ti+e is less t*an 8 nsec% t*en t*e IF6 boun0 0o+inates an0 t*is syste+ is
communication bounded) .*is essentially +eans t*at -i-elinin, can be use0
only to t*e e/tent suc* t*at t*e critical -at* co+-utation ti+e is li+ite0 by
t*e co++unication or IF6 boun0% an0 once t*is *as been reac*e0% -i-elinin,
can no lon,er increase t*e s-ee0. At t*is -oint% -i-elinin, can be co+bine0
'it* -arallel -rocessin, to furt*er increase t*e s-ee0 of t*e arc*itecture. As
i
--------lIS
42 PIPELINING AND PARALLEL PROCESSING
/>n?
Serial1to1 Parallel
&loc( Perio0Q.FA
&a -ie Perio0 &onverter
~-----------------,
I
I
T>< I
I
I
I
/>A(S />A( ;? /> (Sl? />A(?
I
I
I
I
I
I
y>A(?
&loc (Perio0Q.
MIM
y>A(Sl?
Parallel1to1Serial y>n?
Syste+
y>A(S;?
&onverter
y>A(S=?
Fig. =.44 &o+-lete -arallel -rocessin, syste+ 'it* bloc( si:e A.
/>n?
T>< T>< T><
&aple $erIod
T><
/>A(S=? />A(S;? />A(Sl? />A(?
Fig. =.4; A serial1to1-arallel converter.
an e/a+-le% consi0er t*e -arallel filter in Ii,. =.46. Assu+e t*e co+-utation
ti+e for 4 +ulti-lication *TM+ to be 46 u.t. an0 t*e co+-utation ti+e for 4
a00er *T=+ to be ; u.t. Iine ,rain -i-elinin, can be a--lie0 to t*e -arallel
filter to furt*er re0uce t*e critical -at*. In t*is case% t*e +ulti-lier is bro(en
u- into t'o s+aller units% +l an0 =2) 'it* co+-utation ti+e 7 u.t. an0 = u.t.%
res-ectively% an0 -i-elinin, latc*es are -lace0 on t*e *ori:ontal cutsets across
t*e +ulti-liers as s*o'n in Ii,. =.4@. Alt*ou,* t*ese *ori:ontal cutsets +ay
a--ear to be invali0% t*ey are% *o'ever% vali0 since cuttin, t*e e0,es of t*ese
cutsets 'ill lea0 to 0isJoint co+-onents. .*erefore% by co+binin, -arallel
-rocessin, an0 -i-elinin,% t*e sa+-le -erio0 *as been re0uce0 to
2 P2
Titer Q Tsample Q LMTcl- Q X*TM S ,T=+)
>=.8?
Parallel -rocessin, is also use0 for re0uction of -o'er consu+-tion '*ileH
usin, slo' cloc(s. .*is re0uces t*e -o'er consu+-tion 0ue to t*e cloc( lines
as co+-are0 'it* a -i-eline0 syste+% '*ic* nee0s to be o-erate0 usin, a
PARALLEL PROCESSING 43
T>< .FA .FA
Fig. =.4= A -arallel1to1serial converter.
&*i-X
1
-a0 a0
&*i-;
L/E 2 (.JcJoJJuJnJicJatJioJnJ--l i>p
(coputation
Fig. =.4A A c*i- set.
/>=(S;? />=(Sl? />=(?
%2
D
x(3&-l)
%l
%2
y>=(S;?
y>=(Sl?
%l
%2
y>=(?
Fig. =.4@ &o+bine0 fine1,rain -i-elinin, an0 -arallel -rocessin, for =1ta- IIR filter.
>=.5?
Q
4+ PIPELINING AND PARALLEL PROCESSING
faster cloc( for eBuivalent t*rou,*-ut or sa+-le s-ee0. Iurt*er+ore% use of
fine1,rain -i-elinin, suc* as bit1level -i-elinin, +ay not be 0esirable% since t*e
*ar0'are over*ea0 an0 t*e latency increase 0ue to latc*es +ay be si,nificant.
3.! PIPLlNING AND PARALLL PROCSSING FOR LO/ PO/R
.*ere are t'o +ain a0vanta,es of usin, -i-elinin, an0 -arallel -rocessin,C
) Hi,*er s-ee0
) "o'er -o'er
It *as alrea0y been s*o'n t*at -i-elinin, an0 -arallel -rocessin, can in1
crease t*e sa+-le s-ee0. !o' consi0er use of t*ese tec*niBues for lo'erin,
t*e -o'er consu+-tion '*ere sa+-le s-ee0 0oes not nee0 to be increase0
O4AP.
Before +ovin, on% t'o for+ulas are revie'e0C one for co+-utin, t*e -ro-1
a,ation 0elay of &MS circuits an0 t*e ot*er for co+-utin, t*e -o'er con1
su+-tion. .*e -ro-a,ation 0elay Tpd is associate0 'it* c*ar,in, an0 0is1
c*ar,in, of t*e various ,ate an0 stray ca-acitances in t*e critical -at*. Ior
&MS circuits% t*e -ro-a,ation 0elay can be 'ritten asC
T - Ccharge %o
pd - -*%o - @IIt+, @
'*ere Ccharge 0enotes t*e ca-acitance to be c*ar,e0F0isc*ar,e0 in a sin,le
cloc( cycle% i.e.% t*e ca-acitance alon, t*e critical -at*% %o is t*e su--ly
volta,e an0 Plit is t*e t*res*ol0 volta,e. Para+eter - is a function of tec*nolo,y
-ara+eters tt, I!. an0 C
o4
Z .*e -o'er consu+-tion of a &MS circuit can
be esti+ate0 usin, t*e follo'in, eBuation%
>=.46? .
'*ere C
;L;+
' 0enotes t*e total ca-acitance of t*e circuit% %o is t*e su--ly
volta,e% an0 < is t*e cloc( freBuency of t*e circuit. !ote t*at >=.5? an0 >=.46?
are base0 on si+-le a--ro/i+ations an0 are a--ro-riate only for a Ist1or0er
analysis.
3.!.1 Pi&eli"i"g 5$r L$% P$%er
As +entione0 earlier% -i-elinin, can be use0 to re0uce t*e -o'er consu+-tion
of a IIR filter. "et
>=.44?
re-resent t*e -o'er consu+e0 in t*e ori,inal filter. It s*oul0 be note0 t*at
< .l %'*ere Tse( is t*e cloc( -erio0 of t*e ori,inal seBuential filter. !o'
ZZ (
PIPELINING AND PARALLEL PROCESSING FOR LO6 PO6ER 4-
consi0er an M1Ievel -i-eline0 syste+% '*ere t*e critical -at* is re0uce0 to
2of its ori,inal len,t* an0 t*e ca-acitance to be c*ar,e0F0isc*ar,e0 in a
sin,le cloc( cycle is re0uce0 to CC@M6gZ) !otice t*at t*e total ca-acitance 0oes
not c*an,e. I! t*e sa+e cloc( s-ee0 is +aintaine0% i.e.% t*e cloc( freBuency
< is +aintaine0% only a fraction of t*e ori,inal ca-acitance% Cc@M6)@, is bein,
c*ar,e0F 0isc*ar,e0 in t*e sa+e a+ount of ti+e t*at 'as -reviously nee0e0 to
c*ar,eF0isc*ar,e t*e ca-acitance% Ccharge >see Ii,. =.49?. .*is i+-lies% t*en%
t*at t*e su--ly volta,e can be re0uce0 to ,S%
o
, '*ere%8 is a -ositive constant
less t*an 4. Hence% t*e -o'er consu+-tion of t*e -i-eline0 filter 'ill be
>=.4;?
.*erefore% t*e -o'er consu+-tion of t*e -i-eline0 syste+ *as been re0uce0
by a factor of %8; as co+-are0 'it* t*e ori,inal syste+.
SeBC
>Eo?
#E3?
.seB
Fig. =.49 &ritical -at* len,t*s for ori,inal an0 =1level -i-eline0 syste+s.
.*e -o'er consu+-tion re0uction factor% %8% can be 0eter+ine0 by e/a+1
inin, t*e relations*i- bet'een t*e -ro-a,ation 0elay of t*e ori,inal filter an0
t*e -i-eline0 filter. .*e -ro-a,ation 0elay of t*e ori,inal filter is ,iven by
Ccharge%1
Tse( Q -*%o - M;$20
.*e -ro-a,ation 0elay of t*e -i-eline0 filter is ,iven by
>=.4=?
6,S%o
T
piP
E -*,S%o - %t+, Z
>=.4A?
It s*oul0 be note0 t*at t*e cloc( -erio0% T
cl-
, is usually set eBual to t*e
+a/i+u+ -ro-a,ation 0elay% TE5) in a circuit. Since t*e sa+e cloc( s-ee0
is +aintaine0 for bot* filters% fro+ >=.4=? an0 >=.4A?% t*e follo'in, Bua0ratic
eBuation can be obtaine0 to solve for U=%
>=.4@?
nce %8 is obtaine0% t*e re0uce0 -o'er consu+-tion of t*e -i-eline0 filter can
be co+-ute0 usin, >=.4;?.
E/a+-le =.A.4 Consider the L-tap 7IR filter sho2n in 7ig) =.@' and its fine-
grain pipelined !ersion sho2n in 7ig) =.8. =ssume that the multiplication
operation ta-es 'M u)t) and the addition operation ta-es ; u)t) 7or po2er
41 PIPELINING AND PARALLEL PROCESSING
estimation purposes, assume that the capacitance of the multiplier is @ times
that of an adder) In the fine-grain pipelined filter, the multiplier is bro-en into
, paris, +l and m,, 2ith computation time of 9 u)t) and A u)t) respecti!ely,
2ith capacitance 1 times and / times that of an adder, respecti!ely) =ssume
the de!ice threshold !oltage to be 0.1 O. =lso assume the nonpipelined filter
to be operated at the supply !oltage @. a O.
*a+ Ahat is the supply !oltage of the pipelined filter if the cloc- period
remains unchangedY
*b+ Ahat is the po2er consumption of the pipelined filter as a percentage
of the original filterY
Solution
*a+ Let BM be the capacitance of 4 multiplier and B= be the capacitance
of 4 adder) 7or the original filter, the charging capacitance along the critical
path is
>=.49?
7or the pipelined filter, the charging capacitance along the critical path is
>=.47?
2here B
=
F and B
=2
are capacitances for parts +l and +; of 4 multiplier
respecti!ely) $otice the pipelining le!el M Q / and the charging capacitance
of the pipelined filter is one-half of that of the original filter) =ssume the
pipelined filter is operated at supply !oltage ,S%o) &ubstitute M QQ ;% %o Q @.6%
!t Q 6.9 into >8.4@?C
&ol!e >8.48? to get
@6%8; 1 =4.=9%8 S 6.7; Q . >=.48?
%8 Q 6.96==% or %8 Q 6.6;=5 >=.45?
$ote that %8 Q 6.6;=5 iN infeasible since the supply !oltage for this case *M)''LH
%+ is less than the threshold !oltage and the de!ice is off all the time) There-
fore, the supply !oltage of the pipelined filter should be
OEiE Q ),OL E =.649@ O. >=.;6?
*b+ &ince the total capacitance of the pipelined filter is the same as the
original filter and the ; filters are operated at the same cloc- period, from
>5.4;?%
Ratio Q %8; Q =9.AY .) >=.;4?
4.4.2 Parallel Processing $or Lo6 Po6er
Parallel -rocessin,% li(e -i-elinin,% can re0uce t*e -o'er consu+-tion of a
syste+ by allo'in, t*e su--ly volta,e to be re0uce0. In an "1-arallel syste+%
t*e c*ar,in, ca-acitance 0oes not usually c*an,e '*ile t*e total ca-acitance
LT
PIPELINING AND PARALLEL PROCESSING FOR LO6 PO6ER 44
is increase0 by L ti+es. In or0er to +aintain t*e sa+e sa+-le rate% t*e cloc(
-erio0 of t*e "1-arallel circuit +ust be increase0 to LT
De(
, '*ere T
De(
is t*e
-ro-a,ation 0elay of t*e seBuential circuit ,iven by >=.4=?. .*is +eans t*at
Ccharge is c*ar,e0 in ti+e LTse( rat*er t*an in ti+e Tse() In ot*er 'or0s%
t*ere is +ore ti+e to c*ar,e t*e sa+e ca-acitance >see Ii,. =.47?. .*is +eans
t*at t*e su--ly volta,e can be re0uce0 to ,S%o)
SeBC @:oF
=.seB
"Q=C
=.se,
=.se,
Fig. =.47 &ritical -at* len,t*s for seBuential an0 =1-arallel syste+s.
.*e -ro-a,ation 0elay consi0erations can a,ain be use0 to co+-ute t*e
su--ly volta,e of t*e "1-arallel syste+. .*e -ro-a,ation 0elay of t*e ori,inal
syste+ is ,iven by >=.4=?% '*ile t*e -ro-a,ation 0elay of t*e "1-arallel syste+
is ,iven by
Ccharge,S%o
se( Q -*,S%o - !t+,@
>=.;;?
Iro+ >=.4=? an0 >=.;;?% t*e follo'in, Bua0ratic eBuation can be obtaine0 to
co+-ute %8C
L*,S%o - !tY Q ,S*%o - !t+,)
>=.;=?
nce %8 is co+-ute0% t*e -o'er consu+-tion of t*e "1-arallel syste+ can be
calculate0 as
P
par
Q
*LCcharge+ *,S%1+, ! >=.;A?
1 ,S,Ccharge %o
2
<
Q
,S,P
De(
,
'*ere P
se(
is -o'er consu+-tion of t*e seBuential syste+ ,iven by >=.44?.
.*erefore% as in t*e -i-eline0 syste+% t*e -o'er consu+-tion of t*e "1-arallel
syste+ *as been re0uce0 by a factor of %8; as co+-are0 'it* t*e ori,inal
seBuential syste+.
E/a+-le =.A.; Consider a <-tap 7IR filter sho2n in 7ig) a)'S:a+ and its
,-parallel !ersion in =. 'S*b+) The parallel filter lias e"actly ; copies of the
original filter) The dashed lines in 7ig) =.48 denote the critical path) =ssume
that the multiplication operation ta-es 8 u)t) and addition operation ta-es
' 8.;) 7or po2er calculation purposes, assume that the capacitance of the
multiplier is 8 times that of an adder) The t2o architectures are operated at
4, PIPELINING AND PARALLEL PROCESSING
;@nF
-----------------------------------~-I
.
.
.
I I
'@nF
@aF
/>;(? 1111111111111111111111%
/>;(Sl?
W1111 y>;(Sl?
I
-----------------~
W1111111 ..... y>;(?
/>;(?
######1
>b?
A
y>;(Sl?
/>;(Sl?
c
>c?
Fig.3.1, >a? A A1ta- IIR filter. >b? A ;1-arallel filter. >c? An area1efficient ;1-ara4lel
filter.
PIPELINING AND PARALLEL PROCESSING FOR LO6 PO6ER 4>
the sample period g u)i) =ssume the de!ice threshold !oltage to be M)<H %)
=lso assume the se(uential filter to be operated at an initial supply !oltage of
8)8 %)
*a+ Ahat is the supply !oltage of the ,-parallel filterY
*b+ Ahat is the po2er consumption of the ,-parallel filter as a percentage
of the original filterY
Solution
*a+ Let CM be the capacitance of 4 multiplier and C= be the capacitance of
1 adder) 7or the se(uential filter, the charging capacitance along the critical
path is
Ccharge Q CM D C= Q LC=) *8),H+
7or the ,-parallel filter, the charging capacitance along the critical path is
>=.;9?
=ssume the parallel filter is operated at the supply !oltage ,S%o) $otice that
the charging capacitances for the se(uential filter and the ,-parallel filter are
not e(ual) Ae cannot use >=.;=? directly) 7rom >=.4=?% the propagation delays
of the / filters are gi!en by
Tse(
Q
LC=%
O
>=.;7?
-*%o - O;$20
'MC=,S%
o
Tpar
Q
-*,S%o - O;$20
The critical path for se(uential filter is 4 multiply and 4 add, i)e), g
u)t), 2hich implies that the sample period Tsample E Tse() Combining the
fact
Tpar Q ,Tsample Q ,Tse( 2ith >=.;7?% 2e ha!e
H,S*%o - O;$2 Q L*,S%o - O;$2.
&ubstitute %o Q =.= %, O; Q 6.A@ % into >=.;8? to get
58.64%8; 1 97.=A;@%8 D 4.8;;@ Q .
>=.;8?
>=.;5?
&ol!ing >=.;5?% 2e obtain
%8 Q 6.9@85% or %8 Q 6.6;8;. >=.=6?
The only feasible supply !oltage for the ,-parallel filter is ,S%o Q ;.47A=7 %)
*The other root %8 Q 6.6;8; is discarded since ,S%o Q 6.65=69 % is less than
the threshold !oltage)+
*b+ 7rom *8),<+,
Ratio Q %8; Q A=.A4Y .)
>=.=4?
,0 PIPELINING AND PARALLEL PROCESSING
".ample 4.4.4 Consider the <-tap 7IR filter in 7ig) 8)'S*a; and its ,-
parallel !ersion in 7ig) =. 'S*c;) The ,-parallel filter in 7ig) 8)'S*c+ is more
efficient than the parallel filter in 7ig) 8)'S*b; in the sense that it re(uires
X multipliers as opposed to 8 re(uired by the parallel filter in 7ig) =.
'S*b;)
Vse the same assumptions as in e"ample =.A.;. 1ur obFecti!e is to compare
the po2er consumption of the se(uential filter and its ,-parallel !ersion for a
sample period of 5 u) t) The ,-parallel filter can be operated at a lo2er supply
!oltage such that it achie!es an effecti!e sample period of 9 u) t) but this supply
!oltage must be greater than or e(ual to M)L %)
*a+ Tracing the computation paths, !erify that the ,-parallel structure cor-
rectly computes the outputs y*,-+ and y*,- D 4?.
*b+ Calculate the supply !oltage at 2hich the ,-parallel filter should be op-
erated)
*c+ Vsing the result of *b+, calculate the po2er consumption of the ,-parallel
) filter as a percentage of the se(uential filter)
Solution
*a+ The system e(uation for the gi!en <-tap 7IR filter is as follo2s
y*n+ Q ho"*n+ D h'"*n - 4? D h,"*n - ;? D h8"*n - =?. >=.=;?
Defining the outputs at node A) P) and Cas K=, KD, and Ko, respecti!ely, 2e
ha!e
K= Q h
o
"*,-+ D h,"*,- - ;?% >=.==?
KD Q *ho D hI+*"*,-+ D "*,- D 4?? D *h, D h8+*"*,- - ;? D "*,- - 4??%
Ko Q hlI*,- D 4? D h8"*,- - 4?.
Then
y*,-+ K= D Ey1 after 4 bloc- delayJ %3.3+$
. h
o
"*,-+ D hlI*,- - 4? D h,"*,- - ;? D h8"*,- - =?%
y*,- D 2F Q KD - K= - yo
G ho"*,- D 4? D hlI*,-+ D h,"*,- 14? D h8"*,- - ;?.
It is easy to !erify that the proceeding e(uations satisfy the system e(uation
>=. =;W.
*b+) Let !M denote the capacitance of 4 multiplier and &= denote the
capacitance of 4 adder) @7or the se(uential filter, the charging capacitance
along
the critical path is gi!en by >=. ;@W. 7or its ,-parallel !ersion, the charging
capacitance along the critical path is
>=.=@?
7rom Q"ample =.A.;% 2e already -no2 that Tsample Q Tse( Q 5 u)t) In order to
PIPELINING AND PARALLEL PROCESSING FOR LO6 PO6ER ,1
operate the ,-parallel filter at the sample period of 5 u)t), Tpar Q ,Tsample .
,Tse( must be satisfied) This leads to
; . 5&=%1 ',C=,S%
1
-*%o - !t+, Q -*,S%o - !t+, )
>=.=9?
&ubstituting %o.8)8 %, !t.1)<H % into >=.=9?% 2e get
=;.97%8; 1 ;@.4@@%8 D 6.967@ Q . >=.=7?
&ol!ing >=.=7?% 2e get
%8 Q 6.7A@% or %8 Q 6.6;@. >=.=8?
The ,-parallel filter should be operated at the supply !oltage ,S%o E ;.A@8@ %)
*The other root is not !alid because ,S%oE 6.68;@ % is less than the threshold
!oltage+)
*c+ Let cI#i be the total capacitance for the <-tap 7IR filter) Let ciY
be the total capacitance for the ,-parallel filter) 7rom *8)'M+, the po2er con-
sumption for <-tap 7IR filter and that for ,-parallel filter are as follo2s
P
se( Q
C
*se(+!#,' p
par Q
c*par+!, <
par,
>=.=5?
total 6 se(, total par
2here ci#i Q <CM D 8C= Q 8HC=, ciY Q XCM D TC= Q HHC=) 7rom
part *b+, 2e -no2 that Ipar Q RIse( Q RIs, 2here Is is the sample fre(uency)
Therefore, 2e ha!e
r)#
>=.A6?
Ppar
Therefore,
R
a
ti
to-
P
par
-
6.@@@%8;
-
1
)
A= 9Y))
-
r
-
)# 8H
6
>=.A4?
!ote t*at t*e structures in Ii,. =.48>b? an0 Ii,. =.48>c? consu+e si+ilar
-o'er but t*e structure in Ii,. =.48>c? consu+es +uc* less area.
4.4.4 Com*ining Pipelining and Parallel Processing
.*e tec*niBues of -i-elinin, an0 -arallel -rocessin, can be co+bine0 for lo'er
-o'er consu+-tion. .*e -rinci-les re+ain t*e sa+e% "e.% -i-elinin, re0uces
. t*e ca-acitance to be c*ar,e0F0isc*ar,e0 in 4 cloc( -erio0 an0 -arallel -ro1
cessin, increases t*e cloc( -erio0 for c*ar,in,F0isc*ar,in, t*e ori,inal ca-ac1
itance >see Ii,. =.45?. .*e -ro-a,ation 0elay of t*e -arallel1-i-eline0 filter is
,2 PIPELINING AND PARALLEL PROCESSING
4T 4T
.
>a?
4T 4T
>b?
Fig.3.1> >a? &*ar,in,F0isc*ar,in, of entire ca-acitance in cloc( -erio0 .. >b? &*ar,1
in,F0isc*ar,in, of ca-acitance in cloc( -erio0 =. usin, a =1-arallel filter an0 ; sta,es
of -i-elinin,.
obtaine0 as follo's
LTpd Q *Ccharge>
M
+*8%o Q LCcharge%o)
-*,S%o - Oi$2 -*%o - Oi$2
>=.A;?
Usin, t*is eBuation% t*e follo'in, Bua0ratic eBuation is obtaine0
M L*,S%o - Oi$2 Q *8*%o - Oi$2 >=.A=?
'*ic* can be use0 to solve for %8. As an e/a+-le% consi0er t*e case '*en L .
M E ;% %o E @ E an0 Oi E 6.9 E. Usin, >=.A=?%%8 is foun0 to be a--ro/i+ately
6.A% '*ic* +eans t*at t*e -o'er consu+-tion can be re0uce0 by a factor of
6.49. It s*oul0 be note0 t*at t*e su--ly volta,e cannot be lo'ere0 in0efinitely
by a--lyin, +ore an0 +ore levels of -i-elinin, an0 -arallelis+. .*ere is a
lo'er boun0 on t*e su--ly volta,e t*at is 0ictate0 by t*e -rocess -ara+eters
an0 noise +ar,ins.
3., CONCLUSIONS
.*is c*a-ter *as a00resse0 t*e +et*o0olo,ies of -i-elinin, an0 -arallel -ro1
cessin, in t*e conte/t of nonrecursive 0i,ital filters. Bot* a--roac*es can be
use0 to increase t*e sa+-lin, freBuency of a filter. In -i-e linin,% -i-elinin,
latc*es are -lace0 across t*e fee01for'ar0 cutsets in t*e SIL an0 t*e co+-u1
tation ti+e of t*e critical -at* is re0uce0. As a result% t*e cloc( freBuency can
be increase0 an0 *ence t*e sa+-lin, rate is increase0. In -arallel -rocessin,%
t*e *ar0'are for t*e ori,inal serial syste+ is 0u-licate0 an0 t*e resultin, sys1
te+ is an MIM -arallel syste+. In t*is case% t*e cloc( freBuency stays t*e
sa+e% an0 t*e sa+-lin, freBuency is increase0. Use of -i-elinin, an0 -arallel
-rocessin, for lo'1-o'er 0esi,n *as been illustrate0. .*e basic i0ea is to
tra0e t*e increase0 sa+-lin, s-ee0 for re0uction of -o'er consu+-tion usin,
lo'er su--ly volta,e. Parallel IIR filters can be i+-le+ente0 usin, less t*an
PROPLEMS ,3
linear increase in *ar0'are 'it* res-ect to t*e level of -arallelis+ usin, fast
al,orit*+s >see &*a-ter 5?. Pi-elinin, an0 -arallel -rocessin, of recursive
0i,ital filters usin, loo(1a*ea0 tec*niBues are a00resse0 in &*a-ter 46.
3.3 PRO-LMS
4. &onsi0er t*e <IL s*o'n in Ii,. =.;6. Assu+e t*e ti+e reBuire0 for
eac* o-eration is T.
Fig. 3.20 <ata1flo' ,ra-* for Proble+ 4.
>a? W*at is t*e +a/i+u+ ac*ievable sa+-le rate in t*is syste+Z
>b? Place -i-elinin, re,isters at a--ro-riate fee01for'ar0 cutsets suc*
t*at t*e sa+-le rate of t*is syste+ can be a--ro/i+ately eBual to
liT. &learly i0entify t*e fee01for'ar0 cutsets an0 count t*e total
nu+ber of -i-elinin, re,isters reBuire0.
;. &onsi0er t*e II3 0i,ital filter bloc( 0ia,ra+ s*o'n in Ii,. =.;4. Assu+e
t*at t*e +ulti-lication o-eration ta(es ; u.t. an0 t*e a00ition o-eration
ta(es 4 u.t.
'@nF
Fig. =.;4 <i,ital II3 filter for Proble+ ;.
>a? &alculate t*e critical -at* of t*e 11 filter.
L
,+ PIPELINING AND PARALLEL PROCESSING
.
>b? Pi-eline t*e IIR filter by -lacin, latc*es at a--ro-riate fee01for'ar0
cutsets to re0uce t*e critical -at* to = u.t.
=. &onsi0er t*e nonrecursive si,nal -rocessin, structure s*o'n in Ii,. =.;;.
Iin0 an eBuivalent 0ata1broa0cast i+-le+entation of t*is al,orit*+ to
Fig. =.;; <ata1flo' ,ra-* for Proble+ =.
i+-rove t*e s-ee0 of t*e syste+. <o not use any a00itional latc*es.
&alculate t*e t*rou,*-ut or sa+-le s-ee0 of t*e broa0cast arc*itecture.
>HintC .rans-ose o-eration is not a--licable to t*e ;1in-ut l1out-ut
syste+ in Ii,. =.;;.?
A. &onsi0er t*e ;< IIR 0i,ital filter of si:e = / =
2 2
y*nl@ n,+ Q 6UiF"*nl - i, n, - J?
iGO KGO
s*o'n in Ii,. =.;=.
btain an eBuivalent 0ata1broa0cast IIR filter structure.
@. &onsi0er a 0irect1for+ i+-le+entation of t*e IIR filter
y*n+ Q a"*n+ D b"*n - ;? D c"*n - =?. >=.AA?
Assu+e t*at t*e ti+e reBuire0 for 4 +ulti-ly1a00 o-eration is T.
>a? Pi-eline t*is filter suc* t*at t*e cloc( -erio0 is a--ro/i+ately T.
>b? <ra' a bloc( filter arc*itecture for a bloc( si:e of t*ree. Pi-eline
t*is bloc( filter suc* t*at t*e cloc( -erio0 is about T. W*at is t*e
syste+ sa+-le rateZ
>c? Pi-eline t*e bloc( filter in -art >b? suc* t*at t*e cloc( -erio0 is
about TF;. S*o' t*e a--ro-riate cutsets an0 label t*e out-uts
clearly. W*at is t*e syste+ sa+-le rate no'Z
9. Re-eat Proble+ @ usin, t*e broa0cast filter arc*itecture. In eac* case%
*o' +any latc*es can you saveZ
PROPLEMS ,-
/>nl%n;14?
/>nl%n;1;?
Fig. =.;= .'o10i+ensional IIR filter for Proble+ A.
7. &onsi0er t*e 9t*1or0er IIR filter
y*n+ Q a"*n+ D b"*n - A? D c"*n - 9?.
>=.A@? >a? <ra' a to-olo,y for t*is filter suc* t*at t*e cloc( -erio0 is
li+ite0
by 4 +ulti-ly1a00 ti+e. <o t*is 'it*out a00in, any ne' latc*es.
>b? <ra' a bloc( arc*itecture for t*e structure in >a? for bloc( si:e of
=. Rearran,e t*is bloc( structure suc* t*at t*e cloc( -erio0 of t*is
bloc( structure is one1fourt* of a +ulti-ly1a00 ti+e. Assu+e t*at
t*e +ulti-ly co+-utation ti+e is t*ree ti+es t*e a00 co+-utation
ti+e.
8. &onsi0er t*e recursive filter
"*n+ Q a"*n - ;? D u*n+) >=.A9?
>a? Pi-eline t*is +ulti-ly1a00 o-erator by ; sta,es% by first brea(in,
u- t*e +ulti-ly1a00 o-eration into ; co+-onents an0 by re0is1
tributin, t*e 0elay ele+ents in t*e loo-.
>b? Interleave t*e co+-utation in >=.A9? 'it* >=.A7?
y*n+ EE by*n - ;? D !*n+) >=.A7?
usin, t*e sa+e *ar0'are. !o' -i-eline t*e +ulti-ly1a00 o-eration
by A sta,es. S*o' all t*e circuits nee0e0 for t*is i+-le+entation.
5. It is necessary to re0uce t*e -o'er consu+-tion of a syste+ by at least
@ ti+es usin, -i-elinin,. Ior t*e t*res*ol0 volta,e of 6.A E an0 initial
SX PIPELlNlNG AND PARALLEL PROCESSING
su--ly volta,e of @ E% at '*at level s*oul0 t*e syste+ be -i-eline0Z
W*at is t*e su--ly volta,e of t*e -i-eline0 syste+Z
46. .'o i+-le+entations of an 81ta- IIR filter are s*o'n in Ii,. =.;A.
Assu+e t*e critical -at* >or t*e -ro-a,ation 0elay? of a +ulti-lier to
yen?
@aF
>b?
Fig. =.;A .'o i+-le+entations of an 81ta- IIR filter in Proble+ 46.
be t'ice t*at of an a00er% i.e.% Tm Q ,T
a
) .*erefore% t*e c*ar,in, ca1
-acitance of a +ulti-lier is t'ice t*at of an a00er. Iurt*er assu+e t*at
t*e total ca-acitance of a +ulti-lier is 46 ti+es t*at of an a00er% i.e.%
C
=
Q IOCa. .*e critical -at* of t*e 0irect1for+ structure in Ii,. =.;A>a?
is Tm D 0Ta Q LT
a
) .*e structure in Ii,. =.;A>b? can be o-erate0 'it*
a lo'er su--ly volta,e to +eet t*e cloc( -erio0 or sa+-lin, -erio0 con1
straint of LT
a
Z .*us% t*e structure in Ii,. =.;A>b? can be use0 to re0uce
t*e -o'er consu+-tion. Assu+e t*at t*e structure in Ii,. =.;A>a? is
o-erate0 'it* a su--ly volta,e of A E. Assu+e t*e tec*nolo,y t*res*1
ol0 volta,e to be 6.@ E. .*e su--ly volta,e +ust be ,reater t*an 4.; E
to ac*ieve t*e acce-table noise +ar,in.
W*at is t*e +ini+u+ su--ly volta,e at '*ic* t*e structure s*o'n in
Ii,. =.;A>b? can be o-erate0 to ac*ieve t*e 0esire0 sa+-lin, -erio0
of LTaY &alculate t*e -ercenta,e of re0uction in -o'er consu+-tion
for t*e structure in Ii,. =.;A>b? as co+-are0 'it* t*at in Ii,. =.;A>a?.
!e,lect t*e -ro-a,ation 0elay an0 ca-acitance of 0elay ele+ents in cal1
culation of critical -at* or -o'er consu+-tion.
PROPLEMS ,4
11. &onsi0er a 0ata-at* 'it* a total ca-acitance of Ctotal) .*is 0ata-at*
is -i-eline0 by M levels. "et Clatch re-resent t*e total ca-acitance of
t*e latc*es use0 for 4 -i-elinin, sta,e. .*e -i-eline0 syste+ is o-erate0
'it* lo'er su--ly volta,e to re0uce t*e -o'er consu+-tion. Assu+e
bot* syste+s are o-erate0 at sa+e s-ee0 an0 assu+e t*e -ro-a,ation
0elay of t*e latc* to be ne,li,ible. "et Ctotal Q 'MClatch, %dd Q A E an0
M; Q 6.9 E. &alculate t*e -o'er consu+-tion of t*e -i-eline0 syste+
as a -ercenta,e of t*at of t*e seBuential syste+ for 0ifferent values of
M. W*at is t*e o-ti+al M for least -o'er consu+-tionZ
4;. &alculate t*e -o'er re0uction of a co+-utation if it is -i-eline0 by A
sta,es an0 -rocesse0 usin, a bloc( structure 'it* bloc( si:e A% but is
o-erate0 'it* t*e sa+e sa+-le rate as t*e ori,inal syste+. Assu+e t*at
t*e ori,inal syste+ 'as o-erate0 at a su--ly volta,e of @ E% an0 assu+e
t*e t*res*ol0 volta,e M; of t*e &MS -rocess to be 6.A E. &alculate
t*e -o'er consu+-tion of t*e -arallel1-i-eline0 syste+ as co+-are0
'it* t*e ori,inal syste+. W*at is t*e o-eratin, su--ly volta,e of t*e
-arallel1-i-eline0 syste+Z
4=. &onsi0er an FI3 0i,ital filter o-erate0 'it* a cloc( or sa+-le -erio0 T.
.*is -roble+ can be solve0 'it*out (no'in, t*e or0er of t*e filter. .*e
filter circuit is o-erate0 'it* a su--ly volta,e of @ E usin, a tec*nolo,y
'it* t*res*ol0 volta,e of 6.A E. .*e consu+er 0e+an0 i+-oses t*e
constraint t*at t*e sa+-le s-ee0 of t*e filter be increase0 by A ti+es%
i.e.% t*e ne' syste+ s*oul0 ac*ieve a sa+-le -erio0 of TF<) In a00ition%
t*e -o'er s*oul0 also be re0uce0% -ossibly at t*e e/-ense of increasin,
t*e area. .o re0uce t*e -o'er consu+-tion% a lo'er su--ly volta,e can
be use0. Assu+e t*e availability of a variable volta,e su--ly t*at can
,enerate volta,es fro+ 4.6 to @ E. .*e su--ly volta,e cannot be less
t*an 4.6 E.
.*e si+ultaneous s-ee0 increase an0 -o'er re0uction can be ac*ieve0
by usin, bloc( -rocessin, usin, bloc( si:e t*at is a +ulti-le of A. Ior
e/a+-le% 'e can use a -arallel FI3 filter 'it* bloc( si:e 8 an0 o-er1
ate t*is syste+ 'it* cloc( -erio0 ,T to ac*ieve a sa+-le -erio0 T ><)
Si+ilarly% 'e can use -arallel filters 'it* bloc( si:e <p an0 o-erate t*e
filter 'it* cloc( -erio0 pT to ac*ieve sa+-le -erio0 T>< '*ere p is any
-ositive inte,er. .*ese filters can t*en be o-erate0 'it* lo'er su--ly
volta,e to re0uce -o'er consu+-tion.
>a? W*at value of p or bloc( si:e s*oul0 be c*osen to obtain a circuit
'it* t*e least -o'er consu+-tionZ &alculate t*e su--ly volta,e
an0 -o'er consu+-tion for t*is E.
>b? I! t*e ,oal is not to re0uce t*e -o'er% but to re0uce t*e area1-o'er
-ro0uct% '*at value of p or bloc( si:e s*oul0 be c*osenZ &alculate
t*e su--ly volta,e% -o'er consu+-tion% an0 area1-o'er -ro0uct
,, PIPELINING AND PARALLEL PROCESSING
for t*is E. Ior area calculation% assu+e t*at t*e cost of a00ers is
ne,li,ible co+-are0 to t*e cost of +ulti-liers.
4A. Pi-eline t*e circuit s*o'n in Ii,. =.48>c? by -lacin, latc*es at a--ro1
-riate fee01for'ar0 locations suc* t*at t*e critical -at* is re0uce0 by a
factor of ; to 9 U.t. &onsi0er t*e ca-acitance of a circuit ele+ent to be
-ro-ortional to its -at* len,t*. &alculate t*e -o'er consu+-tion of t*e
circuit as a -ercenta,e of t*e ori,inal seBuential circuit in Ii,. =.48>a?.
>Use t*e sa+e -ara+eters as in E/a+-les =.A.; an0 =.A.=?.
4@. &onsi0er -o'er consu+-tion re0uction of a circuit at sa+e s-ee0 by
use of -i-elinin, an0 -arallel -rocessin,. "et %o be t*e ori,inal su--ly
volta,e of t*e seBuential syste+. "et >= re-resent t*e su--ly volta,e
re0uction factor of an "1-arallel M1Ievel -i-eline0 syste+% i.e.% t*is sys1
te+ is o-erate0 'it* su--ly volta,e *8%
o
) "et >=4 be t*e su--ly volta,e
re0uction factor for an M 1level -i-eline0 syste+ o-erate0 at t*e sa+e
s-ee0% i.e.% t*is syste+ is o-erate0 'it* su--ly volta,e >=4 %o) "et >84 be
t*e su--ly volta,e re0uction factor of an "1-arallel syste+ o-eratin, at
t*e sa+e s-ee0 as seBuential circuit o-erate0 'it* su--ly volta,e >=4%o)
S*o' t*at >= Q *8'>84)
REFERENCES
4. J. Hennessy an0 <. Patterson% Computer =rchitecture = [uantitati!e =pproach,
,nd ed)) Mor,an Kauf+ann Publis*ers% 4559.
;. [. H'an, an0 I. A. Bri,,s% Computer =rchitecture and Parallel Processing)
McLra'1Hill% 458A.
=. P. M. Ko,,e% The =rchitecture of Pipe lined Computers) McLra'1Hill% 4584.
A. H. .. Kun,% GW*y systolic arc*itecturesZG IQQQ Computers Maga4ine, vol. 4@%
--. =71A@% Jan. 458;.
@. U. BanerJee et al.% G.i+e an0 -arallel -rocessor boun0s for fortran li(e loo-s%G
IQQQ 'rans) on Computers, vol. ;8% --. 9961976% 4575.
9. !. Jou--i an0 <. Wall% GAvailable instruction level -arallelis+ for su-erscalar
an0 su-er1-i-eline0 +ac*ines%G in Proc) of Lrd International Conference on =r-
chitectural &upport for Programming Languages and 1perating &ystems, >Boston?%
--. ;7;1;8;% May 4585.
7. M. "a+% GSoft'are -i-elinin,C an effective sc*e0ulin, tec*niBue for E"IW +a1
c*ines%G in Proc) of the =CM &IBPL=$ Conference on Programming Language
Design and Implementation, >Atlanta?% --. =481=;8% June 4588.
8. <. A. Pa0ua an0 M. J. Wolfe% GA0vance0 co+-iler or,ani:ations for su-erco+1
-uters%G Communications of the = CM, vol. ;5% --. 448A14;64% 4589.
5. B. R. Rau et al.% GEfficient co0e ,eneration for *ori:ontal arc*itecturesC co+-iler
tec*niBues an0 arc*itectural su--ort%G in Proc) of Lth International &ymposium
on Computer =rchitecture, 'LS,)
RQ7QRQ$CQ& SL
46. M. E. Wolf an0 M. S. "a+% GA loo- transfor+ation t*eory an0 an al,orit*+
to +a/i+i:e -arallelis+%G IQQQ Trans) on Parallel and Distributed &ysteffl8,
vol. ;% --. A@;1A74% 4554.
44. K. K. Par*i an0 <. L. Messersc*+itt% GPi-eline interleavin, an0 -arallelis+ in
recursive 0i,ital filters1-art IC -i-elinin, usin, scattere0 loo(1a*ea0 an0 0eco+1
-osition%G IQQQ Trans) on =coustics, &peech, and &ignal Processing, vol. =7%
no. 7% --. 465514447% July 4585.
4;. [. [. Par*i an0 <. L. Messersc*+itt% GPi-eline interleavin, an0 -arallelis+
in recursive 0i,ital filters1-art IIC -i-eline0 incre+ental bloc( filterin,%G IQQQ
Trans) on =coustics, &peech, and &ignal Processing, vol. =7% no. 7% --. 4448144=@%
July 4585.
4=. &. W. Wu an0 P. R. &a--ello% GA--lication1s-ecific &A< ofE"SI secon01or0er
sections%G IQQQ Trans) on =coustics, &peech, and &ignal Processing, vol. =9%
--. 84=18;@% 4588.
4A. A. P. &*an0ra(asan% S. S*en,% an0 R. W. Bro0ersen% G"o'1-o'er &MS 0i,ital
0esi,n%G IQQQ Journal of &olid-&tate Circuits, vol. ;7% no. A% --. A7=1A8=% A-ril
455;.
5
Retiming
!.1 INTRODUCTION
Reti+in, O4J is a transfor+ation tec*niBue use0 to c*an,e t*e locations of
0elay ele+ents in a circuit 'it*out affectin, t*e in-utFout-ut c*aracteristics
of t*e circuit. Ior e/a+-le% consi0er t*e IIR filter in Ii,. A.4>a?. .*is filter
is 0escribe0 by
2*n+ Q ay*n - 4? D by*n - ;?
) y*n+ Q 2*n - 2F D "*n+
. ay*n - ;? D by*n - =? D "*n+)
.*e filter in Ii,. A.4>b? is 0escribe0 by
2l*n+
Q
ay*n - 2F
2,*n+
Q
by*n - ;?
y*n+
Q
Wl *n - 2F D 2,*n - 2F D "*n+
Q
ay*n - ;? D by*n - =? D "*n+)
Alt*ou,* t*e filters in Ii,. A.4>a? an0 Ii,. A.4>b? *avM 0elays at 0ifferent
locations% t*ese filters *ave t*e sa+e in-utFout-ut c*aracteristics. .*ese ;
filters can be 0erive0 fro+ one anot*er usin, reti+in,.
Reti+in, *as +any a--lications in sync*ronous circuit 0esi,n. .*ese a--li1
cations inclu0e re0ucin, t*e cloc( -erio0 of t*e circuit% re0ucin, t*e nu+ber
of re,isters in t*e circuit% re0ucin, t*e -o'er consu+-tion of t*e circuit% an0
54
>2 RETIMING
;@nF ;@nF
>a? @%F
Fig.+.1 .'o versionsof an IIR filter. .*e co+-utation ti+es of t*e no0es are
s*o'n in -arent*eses.
lo,ic synt*esis. .*e to-ics of reti+in, to re0uce t*e cloc( -erio0 an0 to re1
0uce t*e nu+ber of re,isters are 0iscusse0 in 0etail in t*is c*a-ter. Reti+in,
for lo,ic synt*esis is beyon0 t*e sco-e of t*is boo(.
Reti+in, can be use0 to increase t*e cloc( rate of a circuit by re0ucin,
t*e co+-utation ti+e of t*e critical -at*. Recall t*at t*e critical -at* is
0efine0 to be t*e -at* 'it* t*e lon,est co+-utation ti+e a+on, all -at*s
t*at contain :ero 0elays% an0 t*e co+-utation ti+e of t*e critical -at* is t*e
lo'er boun0 on t*e cloc( -erio0 of t*e circuit. .*e critical -at* of t*e filter
in Ii,. A.4>a? -asses t*rou,* 4 +ulti-lier an0 4 a00er an0 *as a co+-utation
ti+e of = u.t.% so t*is filter cannot be cloc(e0 'it* a cloc( -erio0 of less t*an
= u.t. .*e reti+e0 filter in Ii,. A.4>b? *as a critical -at* t*at -asses t*rou,*
; a00ers an0 *as a co+-utation ti+e of ; u.t.% so t*is filter can be cloc(e0
'it* a cloc( -erio0 of ; U.t. By reti+in, t*e filter in Ii,. A.4>a? to obtain
t*e filter in Ii,. A.4>b?% t*e cloc( -erio0 *as been re0uce0 fro+ = u.t. to ;
u.t.% or by ==Y. A -olyno+ial1ti+e al,orit*+ for reti+in, for cloc( -erio0
+ini+i:ation is 0escribe0 in Section A.A.;.
Reti+in, can be use0 to 0ecrease t*e nu+ber of re,isters in a circuit. .*e
filter in Ii,. A.4>a? uses A re,isters '*ile t*e filter in Ii,. A.4>b? uses @ re,isters.
Since reti+in, can affect t*e cloc( -erio0 and t*e nu+ber of re,isters% it
is so+eti+es 0esirable to ta(e bot* of t*ese -ara+eters into account. A
-olyno+ial ti+e al,orit*+ for reti+in, to +ini+i:e t*e nu+ber of re,isters
for a ,iven cloc( -erio0 is 0escribe0 in Section A.A.=.
Reti+in, can be use0 to re0uce t*e -o'er consu+-tion of a circuit by
re0ucin, s'itc*in,% '*ic* can lea0 to 0yna+ic -o'er 0issi-ation in static
&MS circuits O;J. Placin, re,isters at t*e in-uts of no0es 'it* lar,e ca-ac1
itances can re0uce t*e s'itc*in, activities at t*ese no0es% '*ic* can lea0 to
lo'1-o'er solutions >see Section [email protected]?.
In Section A.;% a +at*e+atical 0escri-tion of reti+in, is a00resse0 an0
can C
DEFINITIONS AND PROPERTIES >3
@IF @2F
<
>a? >b?
Fig. A.; >a? A <IL. >b? .*e reti+e0 <IL obtaine0 usin, B%l$ E 6% B%2$ Q 4%
B%3$ Q 6% an0 r> A? E 6.
so+e -ro-erties of reti+in, are 0iscusse0. .ec*niBues for solvin, syste+s of
ineBualities are 0escribe0 in Section A.=. .*ese tec*niBues are use0 in Sec1
tion A.A% '*ere al,orit*+s for reti+in, a circuit to ac*ieve various obJectives%
suc* as cloc( -erio0 +ini+i:ation% are 0escribe0.
!.2 DFINITIONS AND PROPRTIS
!.2.1 67a"titati8e Des)ri&ti$" $5 Reti1i"g
Reti+in, +a-s a circuit B to a reti+e0 circuit Br) In t*e conte/t of reti+in,%
t*e ter+s circuit an0 ,ra-* an0 DFG are often use0 interc*an,eably% as t*ey
are in t*is c*a-ter. A reti+in, solution is c*aracteri:e0 by a value B%O$ for
eac* no0e % in t*e ,ra-*. "et 2*e+ 0enote t*e 'ei,*t of t*e e0,e e in t*e
ori,inal ,ra-* G) an0 let ui# %!$ 0enote t*e 'ei,*t of t*e e0,e ! in t*e reti+e0
,ra-* Br) .*e 'ei,*t of t*e e0,e V A1 % in t*e reti+e0 ,ra-* is co+-ute0
fro+ t*e 'ei,*t of t*e e0,e in t*e ori,inal ,ra-* usin,
Ar*e+ Q 2*e+ D B%O$ ( B%U$. >A.4?
.o 0e+onstrate so+e for+al reti+in, conce-ts% t*e filter in Ii,. A.4>a?
is re0ra'n in Ii,. A.;>a?% an0 t*e reti+e0 filter in Ii,. A.4>b? is re0ra'n in
Ii,. A.;>b?. .*e reti+in, values B%1$ Q 6% B%2$ Q 4% B%3$ Q 6% an0 B%+$ Q
be use0 to obtain t*e reti+e0 <IL in Ii,. A.;>b? fro+ t*e <IL in Ii,. A.;>a?.
Ior e/a+-le% t*e e0,e = A1 ; in t*e reti+e0 <IL contains
/
r
%3+( ;? Q /%3+( ;? D B%2$ ( B%3$
'( -t -t
>+ RETIMING
Q 6S416Q4
0elay% an0 t*e e0,e ; A 4 contains
2
r
*,< 2F Q 2*,< 2F D r*l+ -
r*,+
Q 4S614Q6
0elays.
A reti+in, solution is feasible if 2r*e+ 6 6 *ol0s for all e0,es. W*ile t*e
solution t*at +a-s Ii,. A.;>a? to Ii,. A.;>b? is feasible because all of t*e e0,es
in Ii,. A.;>b? *ave nonne,ative 'ei,*ts% t*e solution r*'+ Q 6% r*,+ Q 14%
r*8+ Q 6% an0 r*<+ Q 6 is infeasible because% for e/a+-le% t*e e0,e = A ; in
t*e reti+e0 syste+ contains
2
r
*8<,+ E 2*8< ;? D r*,+ - r*8+
Q 6S>14?16Q14
0elays.
4.2.2 Properties o$ 3etiming
Several -ro-erties ofreti+in, can be 0erive0 fro+ t*e reti+in, eBuation >A.4?.
Before consi0erin, t*ese% t*e conce-ts of -at*s an0 cycles are revie'e0. A
-at
*
I
.
S a seBuence 6
f
e
0
,es an
0
no
0
es %o
eD
%I
el
...
!
-
'
--
(
D
2
:i
--l
eF
-

--
1
D
l :i
.*e 'ei,*t of t*e -at* p is 2*P+ Q EMMM2*ei+ an0 t*e co+-utation ti+e
of t*e -at* is t*p+ Q EMQot*%i+) A cycle is a close0 -at* %o 6 %I 6 ),)
eI/
%
-
-
1
eMl %o) .*e 'ei,*t of t*e cycle c is 2*c+ Q EMMM2*ei+ an0 t*e
0elay
of t*e cycle is t*c+ Q EMMMt*%i+)
Propert+ 4.2.1 The 2eight of the retimed path p Q %o 6 %I 6 ))) eMl %
-
is gi!en by 2r*P+ Q 2*p+ D r*%-+ - r*%o+)
.*e reti+e0 -at* 'ei,*t is
--l
2r*P+ Q L 2r*ei+
iQ
--l
G L *2*ei+ D r*%i9l+ - r*%i++
iQ
E I 2*ei+ D *6r*%i9l+ - 6 r*%i++
. 2*P+ D r*%-+ - r*%o+)
C-
C
SOLOING SYSTEMS OF INEWUALITIES >-
Ior e/a+-le% t*e -at* ; ---D 4 ---D = in Ii,. A.;>a? *as ; 0elays% an0 t*is -at*
in t*e reti+e0 <IL in Ii,. A.;>b? *as ; D r*8+ - r*,+ Q ; D 4 E 4 0elay.
Propert+ 4.2.2 Retiming does not change the number of delays in a cycle)
.*is is a s-ecial case of Pro-erty A.;.4 '*ere %- Q %o) .*e 'ei,*t of t*e
reti+e0 cycle c is 2r*c+ Q 2*c+ D r>Eo? 1 r*%
o
+ Q 2*c+) In Ii,. A.;% t*e cycle
4 ---D = ---D ; ---D 4 contains ; 0elays in t*e unreti+e0 an0 reti+e0 <ILs% an0
t*e cycle 4 ---D A ---D ; ---D 4 contains = 0elays in t*e unreti+e0 an0 reti+e0
<ILs.
Propert+ 4.2.4 Retiming does not alter the iteration bound in a D7B)
Propert+ 4.2.4 =dding the constant !alue J to the retiming !alue of
each node does not change the mapping from B to Br)
After re-lacin, re%+ 'it* re%+ DJ for eac* no0e% t*e 'ei,*t of t*e reti+e0
e0,e U -5 O in G
r
is
2r*e+ Q 2ee+ D *r*%+ D J? 1 *r*V+ D J? Q 2ee+ D r*%+ -
r*V+,
'*ic* is t*e sa+e for any value of W >inclu0in, W Q 6?. Recall t*at t*e
reti+in, values r*l+ Q 6% r*,+ E 4% r*8+ E 6% an0 r*<+ E 'ere use0 to obtain
t*e reti+e0 <IL in Ii,. A.;>b? fro+ t*e unreti+e0 <IL in Ii,. A.;>a?. By
a00in,% for e/a+-le% t*e constant 1=8 to t*ese reti+in, values% t*e reti+in,
values r*l+ Q 1=8% r*,+ Q 1=7% r*8+ Q 1=8% an0 r*<+ Q 1=8 can be use0 to
obtain t*e reti+e0 <IL in Ii,. A.;>b? fro+ t*e <IL in Ii,. A.;>a?.
!.3 SOL9ING SYSTMS OF IN6UALITIS
Liven a set of M ineBualities in N variables% '*ere eac* ineBuality *as t*e
for+ ri - BK S ' for inte,er values of ') one of t*e s*ortest -at* al,orit*+s
in A--en0i/ A can be use0 to 0eter+ine if a solution e/ists an0 to fin0 a
solution if one 0oes in0ee0 e/ist. .*is is 0one usin, t*e follo'in, -roce0ure.
4. <ra' a constraint ,ra-*.
>a? <ra' t*e no0e i for eac* of t*e N variables ri, i Q 1)2) ... )N.
>b? <ra' t*e no0e N D 4.
>c? Ior eac* ineBuality BI ( BK & ') 0ra' t*e e0,e W ---D i fro+ no0e W
to no0e i 'it* len,t* '.
>0? Ior eac* no0e i, i E 4%;% ... % n, 0ra' t*e e0,e N D 4 ---D i fro+
t*e no0e N D 4 to t*e no0e i Wit* len,t* 6.
C
>1 RETIMING
o
o
Fig. A.= .*e constraint ,ra-* for E/a+-le A.=.4.
;. Solve usin, a s*ortest -at* al,orit*+.
>a? .*e syste+ of ineBualities *as a solution if an0 only if t*e constraint
,ra-* contains no ne,ative cycles.
>b? I! a solution e/ists% one solution is '*ere ri is t*e +ini+u+1len,t*
-at* fro+ t*e no0e $ D 4 to t*e no0e i,
".ample 4.4.1 In this e"ample 2e demonstrate ho2 shortest path algorithms
can be used to sol!e a system of M Q @ ine(ualities
rW 1 r; R
r= 1 rW R @
rA 1 rW R A
rA 1 r= R 14
r= 1 r; R ;.
in $ E A !ariables) The 'st step is to dra2 the constraint graph, 2hich is
sho2n in 7ig) +.>.
Vsing the Dellman-7ord algorithm *described in &ection =), of =ppendi"
=+, 2here the origin V is the node @% 2e find that there are no negati!e
cycles, so the solution can be found by e"amining r*<+*%+) 7rom r*<+>4? Q 6%
r*<+*,+ Q 6% r*<+*8+ Q 6% r*<+*<+ Q 14% and r*<+*H+ Q 6% a solution to the
system of ine(ualities is determined to be rW Q 6% r; Q 6% r= Q 6% and rA Q 14.
C C C
RETIMING TECHNIWUES >4
Vsing the 7loyd- Aarshall algorithm *described in &ection =)& of =ppendi"
=+, 2e find that there are no cycles, so the solution can be found by e"amining
66
666
@
;
A
466
4
R>9? Q 66 66 66 14 66 %
O
66 66 66 66 66
14 66
2here the element V, % in the matri" R>9? is r*X+*V, %+) The bottom ro2
of R>9? gi!es r*X+ >@% O$ for O Q 4%;%=%A%@. The solution to the system of
ine(ualities, gi!en by r*X+*H, O$ for O Q 4%;%=%A% is rl Q 6% r; Q 6% r= Q 6%
and rA Q 14. )
W*en solvin, syste+s of ineBualities% t*ere +ay be +ulti-le ineBualities
'it* i0entical left1*an0 si0es% '*ic* can lea0 to -arallel e0,es in Ste- l*c+)
Ior e/a+-le% t*e ; ineBualities r*'+ - r*,+ #5 an0 r*'+ - r*,+ S 7 'oul0 lea0
to ; e0,es fro+ no0e ; to no0e 4 'it* 'ei,*ts 5 an0 7. W*en t*is *a--ens%
t*e +ost restrictive of t*ese ineBualities s*oul0 be selecte0 to avoi0 0ra'in,
-arallel e0,es in Ste- '*c+) Ior e/a+-le% t*e ; ineBualities r*'+ - r*,+ S 5 an0
r*'+ - r*,+ S 7 can be re-resente0 by si+-ly usin, r*'+ - r*,+ S 7 because
t*is is t*e +ost restrictive of t*e t'o% an0 Ste- '*c+ results in only 4 e0,e
fro+ no0e ; to no0e 4 'it* 'ei,*t 7.
!.! RTIMING TCHNI6US
.*is section consi0ers so+e tec*niBues use0 for reti+in,. Iirst% t'o s-ecial
cases of reti+in,% na+ely% cutset @T@etiming an0 pipe lining, are consi0ere0. .'o
al,orit*+s are t*en consi0ere0 for reti+in, to +ini+i:e t*e cloc( -erio0 an0
reti+in, to +ini+i:e t*e nu+ber of re,isters t*at are reBuire0 to i+-le+ent
t*e circuit.
A.A.4 Cutset 3etiming and Pipelining
&utset reti+in, is a useful tec*niBue t*at is a s-ecial case of reti+in,. A cutset
is a set of e0,es t*at can be re+ove0 fro+ t*e ,ra-* to create ; 0isconnecte0
sub,ra-*s. &utset reti+in, only affects t*e 'ei,*ts of t*e e0,es in t*e cutset.
If t*e ; 0isconnecte0 sub,ra-*s are labele0 L
4
an0 B
,
, t*en cutset reti+in,
consists of a00in, - 0elays to eac* e0,e fro+ L4 to B
,
an0 re+ovin, - 0elays
fro+ eac* e0,e fro+ B
,
to L
4
) Ior e/a+-le% a cutset is s*o'n 'it* a 0as*e0
line in Ii,. A.A>a?. .*e = e0,es in t*e cutset are ; 111S 4% = 111S ;% an0 4 111S A.
.*e ; sub,ra-*s L
4
an0 B, foun0 by re+ovin, t*e = e0,es in t*e cutset are
s*o'n in Ii,. A.A>b?. Ior - Q 4% t*e result of cutset reti+in, is s*o'n in
Ii,. A.A>c?. .*e e0,es fro+ L4 to B
,
are = 111S ; an0 4 111S A% an0 one 0elay

You might also like