Professional Documents
Culture Documents
Wireless Communications
Ingrid Verbauwhede
Department of Electrical Engineering
University of California Los Angeles
ingrid@ee.ucla.edu
Chris Nicol
Bell Laboratories Australia
Lucent Technologies
chrisn@lucent.com
1
ISSCC 2000, DSP Tutorial. Ingrid Verbauwhede, Chris Nicol
1 ,4 0 0,0 00
1 ,0 0 0,0 00
Subscribers (000)
8 0 0,0 00
6 0 0,0 00
4 0 0,0 00
W irele ss C A G R 21 %
G lo b a l P en etra tio n (20 10 ) - 21 %
2 0 0,0 00
(C e llu lar+P C S + W L A S + O the r)
G lob a l P op - 7 bill
C AG R 1 9 95 -20 10 - 1 .4 %
0
1995
1996
1997
1998
1999
2000
2001
2002
2003
2004
2005
2006
2007
2008
2009
2010
1
DSP Evolution and Markets
Disk
DSP Market $270 M Cellular
Infrastructure
Other
$2B market, 30% growth rate
Wireless Mobile Handsets
$1.01B Cordless
Modem
GPS
V.34 $727 M
Source: Forward Concepts 1996
V.90
xDSL Consumer &
Automotive
M68000 ($200)
10K
Power Power
80286 ($200)
(mw/MIP) 1K 80386 ($300)
DSP-1 ($150) (mw/MIP)
Pentium ($300)
DSP-32C ($250)
100
Pentium (MMX)
($700)
DSP16210
1
1980 1985 1990 1995 2000
3
ISSCC 2000, DSP Tutorial. Ingrid Verbauwhede, Chris Nicol
Ingrid Todays
general purpose Chris Nicol
Verbauwhede
assembly coded
Mobile Terminals DSP
Infrastructure
100 MOPS
Low cost, High
250 mW
low power $40 Performance
DSPs DSPs
4
ISSCC 2000, DSP Tutorial. Ingrid Verbauwhede, Chris Nicol
2
Overview
Introduction
Low Power DSP Architectures for Handsets
Domain Specific Processors
DSP Processor Fundamentals
Datapath Design, Instruction Set Design
Pipeline Control, Memory Architecture, Low Power Design
for FIR - Viterbi - speech codec
High performance DSP Processors for BTS
2G and 3G Wireless Standards
Mobile Wireless Basestation Systems
Receiver Algorithms, Smart Antennas
Wideband TRX Architectures
Convolutional and Turbo coding
High Performance DSP Architectures for 3G Wireless
LU DSP16210, TI C6x, Starcore SC140
Future Trends - MIMD DSP
5
ISSCC 2000, DSP Tutorial. Ingrid Verbauwhede, Chris Nicol
Performance / Power:
high
high low
Programmability:
none
none parameters very high
6
ISSCC 2000, DSP Tutorial. Ingrid Verbauwhede, Chris Nicol
3
Domain Specific Processors
Domain specific processors: to combine
High performance
Low Power
PA
Baseband board
Memories
External
Receiver Micro
Transmit
Processor
Synthesize
8
ISSCC 2000, DSP Tutorial. Ingrid Verbauwhede, Chris Nicol
4
Performance requirements: digital cellular phone
Communication Application
RF Channel Speech
Demodulation
Receive decoder decoder
RF Channel Speech
Send Modulation
encoder encoder
9
ISSCC 2000, DSP Tutorial. Ingrid Verbauwhede, Chris Nicol
10
ISSCC 2000, DSP Tutorial. Ingrid Verbauwhede, Chris Nicol
5
Application Domain: compute intensive functions
Viterbi acceleration
Square distance
12
ISSCC 2000, DSP Tutorial. Ingrid Verbauwhede, Chris Nicol
6
Evolution of DSP processors
Generation Features Examples
Instruction Memory
Processing Management
Unit Unit
14
ISSCC 2000, DSP Tutorial. Ingrid Verbauwhede, Chris Nicol
7
Basic Harvard Architecture
Separate data memory from program memory!
Program Data
Memory Memory
Instruction
Multiply 16 x 16 mpy
Processing
Unit Accumulate
ALU
15
ISSCC 2000, DSP Tutorial. Ingrid Verbauwhede, Chris Nicol
8
Compute Intensive function 1: FIR
x(n-1)
x(n) -1 -1 -1
Z Z Z
x(n-(N-1))
N-1 (50 TAPS)
y(n) =
c(i) x(n-i) c(0) X X X c(N-1) X
i=0
y(n)
+ + +
TMS320C10 TMS320C25
LT LTD RPTK 49 LT
DMOV MPY MACD DMOV
APAC LTD APAC
MPY 53 Cycles MPY
LTD 3 Words Prog Memory
..
. 100 Cycles
MPY
100 Words Prog Memory
17
ISSCC 2000, DSP Tutorial. Ingrid Verbauwhede, Chris Nicol
9
Compute Intensive function 1: FIR (cont.)
x(n-1)
x(n) -1 -1 -1
Z Z Z
x(n-(N-1))
(50 TAPS)
N-1 c(0) c(N-1) X
c(i)
X X X
y(n) = x(n-i)
i=0
y(n)
+ + +
FIR speed-up
FIR filtering: two outputs in parallel
10
Example 3: Lucent DSP16210
XDB(32)
Inner loop of 32-tap FIR Filter IDB(32)
FIR on Lode
FIR filter: two outputs in parallel with delay register
y(0) = c(0)x(0) + c(1)x(-1) + c(2)x(-2) + . . . + c(N-1)x(1-N);
y(1) = c(0)x(1) + c(1)x(0) + c(2)x(-1) + . . . + c(N-1)x(2-N);
y(2) = c(0)x(2) + c(1)x(1) + c(2)x(0) + . . . + c(N-1)x(3-N);
. . .
y(n) = c(0)x(n) + c(1)x(n-1) + c(2)x(n-2)+ . . + c(N-1)x(n-(N-1));
No of Memory reads 2N 2N N
22
ISSCC 2000, DSP Tutorial. Ingrid Verbauwhede, Chris Nicol
11
FIR on Lode
Two MAC units with dedicated bus network
DB1(16)
DB0(16)
x(n-i+1) x(n-i)
LREG c(i)
DB0 fetches coefficient c(i)
DB1 fetches data
X X
LREG delays input data
MAC1 MAC0
A0 stores y(n) output + +
A1 stores y(n+1) output
y(n+1) A0 y(n) A1
23
ISSCC 2000, DSP Tutorial. Ingrid Verbauwhede, Chris Nicol
+a
12
Viterbi on Lode
Two MAC units & ALU: Add-Compare-Select
DB1(16)
DB0(16)
= min [(1 + 1), (2 + 2)]
1 2
MAC1 MAC0
DMAC operates as dual + +
add/subtract unit
1 2
ALU finds minimum A0 A1
Shortest distance saved
ALU decision bit
Path indicator saved Min()
4 cycles / butterfly
to memory
A3 A2
25
ISSCC 2000, DSP Tutorial. Ingrid Verbauwhede, Chris Nicol
Viterbi on TIC54x
ALU and CSSU: Add-Compare-Select
DB1(16)
DB0(16)
= min [(1 + 1), (2 + 2)]
1 2
TREG
26
ISSCC 2000, DSP Tutorial. Ingrid Verbauwhede, Chris Nicol
13
Viterbi on LU DSP16210
...
...
ACS calculations are efficient
Minimal overhead
AR0 a2=cmp1(a3,a2)
4 cycles per butterfly
32 cycles per GSM timeslot.
Results written
to memory
Courtesy: Gareth Hughes, Bell Labs Australia
27
ISSCC 2000, DSP Tutorial. Ingrid Verbauwhede, Chris Nicol
28
ISSCC 2000, DSP Tutorial. Ingrid Verbauwhede, Chris Nicol
14
Lode Core Architecture
29
ISSCC 2000, DSP Tutorial. Ingrid Verbauwhede, Chris Nicol
N-1
D= || x(i) - y(i) ||2
i=0
15
Control & Pipeline for DSPs
RISC: load/store machine
memory access with load/store instructions (DLX, MIPS, D10V)
Memory Write
Fetch Decode Execute Access Back
Memory access / branch
Execution/ address generation
Excellent for complex decision making!
Execution
Memory access
16
Other control features
Hardware looping:
Because software branch is expensive
Zero overhead hardware loops (for tight FIR loops)
hardware supported
33
ISSCC 2000, DSP Tutorial. Ingrid Verbauwhede, Chris Nicol
17
BUT: DSP Software Development
Complex DSP architecture not amenable to compiler technology
Algorithms are modeled in high level language (e.g. C++)
Solutions are implemented and debugged in hand-optimized
assembler - large development effort with minimal tool support
NMT GSM
WCDMA Year 2010?
TACS IS-54/ 136 TDMA
IS-95/ cdmaOne UWC-136 TDMA
Analog AMPS cdma2000
PDC
DECT
Global roaming
18
Mobile Data Services
Carriers invest >$500 per subscriber but subscriber voice calls (and
therefore revenues) are reducing.
3G - IMT2000 Proposals
144 Kbps Automobile, 384 Kbps Pedestrian, 2 Mbps stationary.
Several Proposals - UWC 136 (200Khz, TDMA, 8-PSK = EDGE).
UMTS, CDMA-2000 are both CDMA proposals.
37
ISSCC 2000, DSP Tutorial. Ingrid Verbauwhede, Chris Nicol
Base
Stations Packet Connectivity (ATM / IP)
Radio
Clients
19
Mobile Wireless Infrastructure
Tx I/O I/O
Rx AFE DSP DSP RAM DSP DSP DSP RISC
Tx Micro T1/E1
Rx AFE DSP DSP RAM DSP DSP DSP Controller I/O I/O ASIC
20
3G Basestation Baseband Processing
Increased DSP performance needed in next-generation basestation
Increased Receiver Algorithm Sensitivity
Antenna Arrays - Smart Antennas
Multi-Standard Basestations using Software Radio Architecture
3G - constraint length 9, rate 1/2 convolutional coding for voice.
3G - constraint length 4, Turbo codes for data
Existing Receiver
Estimating Equalizing Channel Speech
Wireless Multi-path Decoding Decoding
Channel Effects
21
Smart Antennas
A multiple antenna element system
Combined with a base station architecture and signal processing
techniques designed to dynamically select or form the optimum
beam pattern per user
Direct Ray
Reflected Rays
Mobile 2
Interferer
Reflected Ray Mobile 2
22
Digital Radio Trends - Software Radio
Antennas
Linear amplification
Combining
multi-standard
A/D basestation
AMP
RF/IF
DSPs - higher speed, more powerful
Higher dynamic range
Filtering Modulation
Smaller Demodulation Equalization
Amplifiers
Rake receiver Correlator
Mixers
Channel coding Encryption
Filters . . .
Diversity . . . 45
ISSCC 2000, DSP Tutorial. Ingrid Verbauwhede, Chris Nicol
C C C C C C C C C
H H H ... H H H H ... H H
1 2 3 M 1 2 3 M 1
CH1 CH1
High
RF-IF & Digital . Baseband
Speed . .
.
Filter Channeliser . Processing .
A/D
CHM CHM
C C C
H H H
1 2 3
...
C
H Increased DSP performance C
H
M
f IF freq
needed for Software Radio M
freq
46
ISSCC 2000, DSP Tutorial. Ingrid Verbauwhede, Chris Nicol
23
Turbo Codes
For 3G Wireless (UMTS and CDMA2000)
Voice service: BER requirement 10-3
Data service: BER requirement 10-5
Parity
Output
Encoder
#2
47
ISSCC 2000, DSP Tutorial. Ingrid Verbauwhede, Chris Nicol
Turbo Decoding
Deinterleaver
APP
APP
Interleaver
systematic Decoder Decoder
data
#1 #2 hard bit
parity decisions
data DeMUX
Interleaver
48
ISSCC 2000, DSP Tutorial. Ingrid Verbauwhede, Chris Nicol
24
Soft-Output Decoding Algorithms
Requirements for Turbo: Trellis-Based
Estimation Algorithms
Accept Soft-Inputs in the form of a
priori probabilities (APP)
Produce APP estimates of the data.
Viterbi MAP
Soft-Input Soft-Output
Algorithm Algorithm
1) uk is the kth bit of the desired data sequence, 2) y be the observed sequence, 3)
the state transitions from state s at time k-1 to state s at time k, 4) We want to
evaluate this LLR for every k
25
Gamma, Alpha and Beta Calculations
Gamma: Calculated from known bits up to k, needs to be stored
k (s, s ) = p(s, y k s) = P(s s ') p(y k s, s) = P(uk ) p(y k uk )
where P (uk ) is calculated from the a priori information and p(y k uk ) is calculated
from the received bits
Dummy
Betas
Window algorithm 51
ISSCC 2000, DSP Tutorial. Ingrid Verbauwhede, Chris Nicol
(
ln e 1 + e 2 )
Log-MAP: ( )
ln e 1 + e 2 max ( 1 , 2 ) + f c ( 1 2 )
-1
10
MaxlogAPP
LogAPP MAX-log MAP suffers approx 0.5dB
-2
10 from log MAP.
-3
10
For log-MAP, small correction table
BER
-4
needed (approx 6 non-zero values).
10
Absolute difference used as table
-5
10
look-up. We need the difference!
-6
10 Courtesy: Bing Xu: Bell Labs Australia
2.2 2.3 2.4 2.5 2.6 2.7 2.8 2.9 52
ISSCC 2000, DSP Tutorial. Ingrid Verbauwhede, Chris Nicol
26
High Performance DSP Requirements
Very high levels of DSP integer performance
Data memory
Register
Array
Interconnect
27
Explicitly Parallel Instruction Computing
Execution Clusters
Data memory
Register Register
Array Array
Interconnect Interconnect
Execution Sets
fetch set
1 1 1 0 1 0 1 0
exec. set
55
ISSCC 2000, DSP Tutorial. Ingrid Verbauwhede, Chris Nicol
28
Texas Instruments C6201
Program Memory
(16K x 32)
256
Instruction Dispatch & Decode
Register Bank A Register Bank B
(16 x 32) (16 x 32)
Data Memory
(32K x 16)
loop:
||
ldw
ldw
.d1t1
.d2t2
*a4++,a5
*b4++,b5
Outer Loop: 23 cycles, 180 bytes
||[b0] sub .s2 b0,1,b0 1 cycle in inner loop
||[b0]
||
b
mpy
.s1
.m1x
loop
a5,b5,a6 All 8 exec units used in inner
|| mpyh .m2x a5,b5,b6
|| add .l1 a7,a6,a7
loop - maximum efficiency
|| add .l2 b7,b6,b7 2 MACs per cycle
29
Viterbi on TI C6x
3-cycle 2-ACS Inner-Loop 16-state Viterbi decoder for GSM
from TI WWW site: ftp://ftp.ti.com/pub/tms320bbs/c62xfiles/vitgsm.asm
LOOP:
[b1] b .s1 LOOP
3 cycles per butterfly
||[b1] sub .s2 b1,1,b1
||[!a2] sth .d1 b12,*+a6[8] 32 cycles per GSM timeslot (8 butterflies)
||[!a2] add .d2 b0,b14,b14 x8 MPY instructions used to move data
|| cmpgt .l1 a11,a10,a1
|| cmpgt .l2 b11,b10,b0
|| mpy .m1x 1,b5,a4
Cycle 0 2 4 6 8 10 12 14 16 18 20 22 24 26 28 30
[a2] sub .s1 a2,1,a2
.D1 STH new 8 LDH old0 STH new 0 STH new 8 LDH old0 STH new 0 STH new 8 LDH old0 STH new 0 STH new 8 LDH old0 STH new 0 STH new 8 LDH sd1 STH m[2] STH m[3]
||[!a2] sth .d1 a12,*a6++
.D2 ADD tr LDH old1 LDH mj ADD tr LDH old1 LDH mj ADD tr LDH old1 LDH mj ADD tr LDH old1 LDH mj SUB m LDH sd0 STH m[5] STH m[4]
||[a1] add .s2 2,b0,b0
.M1 MPY mj *MPY b0 MPY a0 MPY mj *MPY b0 MPY a0 MPY mj *MPY b0 MPY a0 MPY mj *MPY b0 MPY a0
||[b0] mpy .m2 1,b11,b12
|| mpy .m1 1,a10,a12 .M2 MPY a8 *MPY b8 MPY a8 *MPY b8 MPY a8 *MPY b8 MPY a8 *MPY b8
|| sub .l2x a7,b5,b10 .L1 CMPGT t0 SUB b0 CMPGT t0 SUB b0 CMPGT t0 SUB b0 CMPGT t0 SUB b0 ADD m0 SUB -m0
|| ldh .d2 *++b9,b5 .L2 CMPGT t8 ADD b8 SUB a8 CMPGT t8 ADD b8 SUB a8 CMPGT t8 ADD b8 SUB a8 CMPGT t8 ADD b8 SUB a8 SUB old SUB -m1 SUB m1 SUB I
.S1 B JLOOP ADD a0 SUB k B JLOOP ADD a0 SUB k B JLOOP ADD a0 SUB k B JLOOP ADD a0 SUB k
shl .s2 b14,2,b14 .S2 SUB j SHL tr *ADD t0,t8 SUB j SHL tr *ADD t0,t8 SUB j SHL tr *ADD t0,t8 SUB j SHL tr *ADD t0,t8 ADD tr B JLOOP MVK j
||[a1] mpy .m1 1,a11,a12
|| add .s1 a7,a4,a10 Cycle 1 3 5 7 9 11 13 15 17 19 21 23 25 27 29 31
|| sub .l1x b13,a4,a11
.D1 STH new 0 STH new 8 LDH old0 STH new 0 STH new 8 LDH old0 STH new 0 STH new 8 LDH old0 STH new 0 STH new 8 LDH old0 STH new 0 STH m[0] STH m[1] LDH old1
|| add .l2 b13,b5,b11
.D2 LDH mj ADD tr LDH old1 LDH mj ADD tr LDH old1 LDH mj ADD tr LDH old1 LDH mj ADD tr LDH old1 STH trans STH m[1] STH m[6] LDH old0
|| mpy .m2 1,b10,b12
.M1 MPY a0 MPY mj *MPY b0 MPY a0 MPY mj *MPY b0 MPY a0 MPY mj *MPY b0 MPY a0 MPY mj *MPY b0
|| ldh .d2 *b4++[2],a7
|| ldh .d1 *a5++[2],b13 .M2 *MPY b8 MPY a8 *MPY b8 MPY a8 *MPY b8 MPY a8 *MPY b8 MPY a8 MPY mj
; end of LOOP .L1 CMPGT t0 SUB b0 CMPGT t0 SUB b0 CMPGT t0 SUB b0 CMPGT t0 SUB b0 SUB new ADD old ADD SP
.L2 SUB a8 CMPGT t8 ADD b8 SUB a8 CMPGT t8 ADD b8 SUB a8 CMPGT t8 ADD b8 SUB a8 CMPGT t8 ADD b8
.S1 SUB k B JLOOP ADD a0 SUB k B JLOOP ADD a0 SUB k B JLOOP ADD a0 SUB k B JLOOP ADD a0 MVK k
.S2 *ADD t0,t8 SUB j SHL tr *ADD t0,t8 SUB j SHL tr *ADD t0,t8 SUB j SHL tr *ADD t0,t8 SUB j SHL tr B JLOOP
30
Viterbi on Star*Core
GSM (K=5, 16 states)
[ move.2l (r0)+,d0:d1 move.2l (r1)+,d1:d2
[ add2 d0,d4 sub2 d6,d2
] Decision bits are manually stored
sub2 d4,d0
[ max2vit d4,d2
add2 d2,d6
max2vit d0,d6
]
] x4
using the Viterbi Shift Left (VSL)
[ vsl.4w d2:d6:d1:d3,(r2)+n0
vsl.4f d2:d6:d1:d3,(r3)+n0 ]
instruction:
SR
Hardware support for Viterbi
algorithm: vsl.4w d2:d6:d1:d3,(r2)+n0
max2vit instruction.
D1 decisions
vsl instruction
D3 decisions
1 cycle per butterfly through
software-pipelining D2 path metrics Results written
D6 path metrics to memory
Log-MAP on Star*Core
Star*Core code for log-MAP Butterfly
d0: a d1: b d6: x
Cycle 1 move.w (r0)+,d0 move.w (r1)+,d1
31
Parallel DSP Architectures
Chip
Buffered Arbitration I/O Subsystem
I/O Synchronization
Programmable Programmable
Processing Hardware
Processing
Element Accelerator
Element
(PE) (PE)
32
Split Transaction Bus
Separate Address and Data busses - each with pipelined protocol
Multiple outstanding transactions - varying size/priority
Bus (100MHz)
ID ID ID
Arbiter
(round-robin)
Data data data data
Bus (128 bits 100MHz)
Memory ID addr
Controller ID addr
PE
65
ISSCC 2000, DSP Tutorial. Ingrid Verbauwhede, Chris Nicol
Inefficient
DRAM
SRAM SRAM
Cache Cache
DSP DSP DSP DSP
2 copies of software 1 copy of software
33
Shared Memory Multiprocessing
Coherent Transaction
Memory
Controller
34
Photomicrograph of Daytona Test Chip
Arbiter
Vector Unit ( RVU)
)
Semph
PE
t(
en
DLL
HDS
LRU
BUS
INT
em
SPARC
El
ng
si
Split Transaction Bus
es
8KB Re-configurable Memory
oc
Pr
)
)
PE
PE
t(
t(
en
en
em
em
El
El
ng
ng
si
si
es
es
oc
oc
Pr
Pr
I/O
Subsystem
Acknowledgements
The following people contributed to the work in this tutorial:
70
ISSCC 2000, DSP Tutorial. Ingrid Verbauwhede, Chris Nicol
35
References
[1] P. Lapsley, J. Bier, A. Shoham, E. Lee, DSP Processor Fundamentals, IEEE Press, New York, 1997.
[2] D. Skillikorn, A Taxonomy for Computer Architectures, Computer Magazine, Nov. 1988.
[3] H. Kabuo, M. Okamoto, I. Tanaka, H. Yasoshima, S. Marui, M. Yamasaki, T. Sugimura, K. Ueda, T. Ishikawa, H.
Suzuki, R. Asahi, An 80 MOPS-Peak High-Speed and Low-Power-Consumption 16-b Digital Signal Processor, IEEE
Journal of Solid-State Circuits, Vol. 31, No. 4, April 1996, pg. 494-503.
[4] E. A. Lee, D. G. Messerschmitt, Digital communication, Boston: Kluwer Academic Publishers, 1988.
[5] W. Lee et al., A 1V DSP for Wireless Communications, Proceedings IEEE International Solid-State Circuits
Conference, pp. 92-93, February 1997.
[6] S. Lin, and J. Costello Jr., Error Control Coding: Fundamentals and applications, Prentice Hall, New Jersey, 1983
[7] Lucent 16000, http://www.lucent.com/micro/ or http://www.lucent.dk/micro/dsp16000/
[8] Thomas Parsons, Voice and Speech Processing, McGraw-Hill Book Company, New York, 1987.
[9] TMS320C54x Users Guide, available from the Texas Instruments Literature Response Center.
[10] I. Verbauwhede, M. Touriguian, A Low Power DSP Engine for Wireless Communications, Journal of VLSI Signal
Processing 18, pg. 177-186, 1998, Kluwer Academic Publishers.
[11] I. Verbauwhede, M. Touriguian, Wireless digital signal processors, Chapter in Digital Signal Processing for
Multimedia Systems, Edited by K.K. Parhi, T. Nishitani, Publisher: Marcel Dekker, New York, 1999.
[12] M. Okamoto, K. Stone, T. Sawai, H. Kabuo, S. Marui, M. Yamasaki, Y. Uto, Y. Sugisawa, Y. Sasagawa, T.
Ishikawa, H. Suzuki, N. Minamida, R. Yamanaka, K. Ueda, A High Performance DSP Architecture for Next Generation
Mobile Phone Systems, 1998 IEEE DSP Workshop.
[13] Lode specifications, available from www.atmel.com
[14] M.W. Oliphant, The Mobile Phone meets the Internet, IEEE Spectrum pp. 20-28, Aug. 1999.
[15] L. C. Godara, Application of Antenna Arrays to Mobile Communications: Part 1, Proc. IEEE, Vol 85, No. 7. pp
1031-1060, July 97
71
ISSCC 2000, DSP Tutorial. Ingrid Verbauwhede, Chris Nicol
References (cont)
[16] G. D. Forney, Jr., Maximum Likelihood Sequence Estimation of Digital Sequences in the Presence of Intersymbol
Interference, IEEE Trans. Inform. Theory, V IT-18, pp. 363-378, May 1972.
[17] C. Berrou, A. Glavieux, P. Thitimajshima, Near Shannon Limit Error-Correcting Coding and Decoding: Turbo-Codes
(1), Proc. ICC93, May 1993.
[18] J. Hagenauer, P. Hoeher, A Viterbi Algorithm with Soft-Decision Outputs and its Applications, Proc. Globecom 89,
Nov. 1989, pp.47.1.1-47.1.7
[19] L. Bahl, J. Cocke, F. Jelinek, J. Raviv, Optimal Decoding of Linear Codes for Minimizing Symbol Error Rate, IEEE
Trans. Inform. Theory, V IT-20, pp. 284-287, Mar. 1974.
[20] J. Turley, H. Hakkaraainen, TIs new C6x DSP Screams at 1600 MIPS, Microprocessor Report, Vol 11, No. 2, pp
14, Feb 1997
[21] Starcore Launched First Architecture, Microprocessor Report, V12, No. 14. pp 22, Oct 1998
[22] B. Ackland & P. DArcy, A New Generation of DSP Architectures, Proc. IEEE CICC99, Paper 25.1.1
[23] J. Williams, K.J. Singh, C.J. Nicol, B. Ackland, A 3.2 GOPs Multiprocessor DSP for Communication Applications,
Proc. IEEE ISSCC2000, Paper 4.2
72
ISSCC 2000, DSP Tutorial. Ingrid Verbauwhede, Chris Nicol
36