hardware implementation issues on viterbi decoder

32
NTU Confidential Hardware Implementation Issues Hardware Implementation Issues on Viterbi Decoder on Viterbi Decoder Speaker : Meng-Ha u Wu Advisor : Tzi-Dar Chiueh Date : May 31, 20 04

Upload: halee-mcdowell

Post on 02-Jan-2016

75 views

Category:

Documents


1 download

DESCRIPTION

Hardware Implementation Issues on Viterbi Decoder. Speaker : Meng-Hau Wu Advisor : Tzi-Dar Chiueh Date : May 31, 2004. Outline. Review of Viterbi algorithm Hardware implementation issues Branch Metric Computation (BMC) Add-Compare-Select (ACS) - PowerPoint PPT Presentation

TRANSCRIPT

NTU Confidential

Hardware Implementation Issues on Hardware Implementation Issues on Viterbi DecoderViterbi Decoder

Speaker : Meng-Hau Wu Advisor : Tzi-Dar Chiueh Date : May 31, 2004

2NTU Confidential

OutlineOutline

• Review of Viterbi algorithm• Hardware implementation issues

– Branch Metric Computation (BMC)– Add-Compare-Select (ACS)– Survivor Memory Management (SMM)

• Conclusion• Reference

NTU Confidential

Review of Viterbi algorithmReview of Viterbi algorithm

4NTU Confidential

Encoding ProcessEncoding Process

• Take convolutional code as an example n=2

k=1

m=2

5NTU Confidential

Decoding ProcessDecoding Process

• Maximum Likelihood Sequence Estimator (MLSE)

K

k

ik

K

k

ikk

K

k

ikk

i

BM

srP

srPPM

1

)(

1

)(

1

)()(

)|(log

)|(

(Euclidian distance, Hamming distance)

6NTU Confidential

Viterbi AlgorithmViterbi Algorithm

K

k

ik

i BMPM1

)()(

1. There are only 2mk paths will survive

2. All survivor paths will merge at the same state about 5m stages ago

7NTU Confidential

Implementation of Viterbi Implementation of Viterbi DecoderDecoder

Branch Metric Computation

(BMC)

Add-Compare-Select (ACS)

Survivor Memory

Management (SMM)

Buff

er

Decoder Input

Decoder Output

K

k

ik

i BMPM1

)()(

NTU Confidential

Hardware implementation issuesHardware implementation issues

-Branch Metric Computation (BMC) -Add-Compare-Select (ACS) -Survivor Memory Management (SMM)

9NTU Confidential

Hard-DecisionHard-Decision

• Branch metric is irrelative to modulation and architecture used• Use Hamming distance as branch metric

K

k

ik

i BMPM1

)()(

10NTU Confidential

Soft-Decision (1/3)Soft-Decision (1/3)

• Branch metric depends on modulation and architecture

11NTU Confidential

Soft-Decision (2/3)Soft-Decision (2/3)

12NTU Confidential

Soft-Decision (3/3)Soft-Decision (3/3)

[1]

13NTU Confidential

ComparisonComparison

• Hard decision– Branch metric is irrelative to modulation

and architecture used– Use Hamming distance as branch metric

• Soft decision– Branch metric depends on modulation

and architecture– By definition

NTU Confidential

Hardware implementation issuesHardware implementation issues

-Branch Metric Computation (BMC) -Add-Compare-Select (ACS) -Survivor Memory Management (SMM)

15NTU Confidential

Basic ConceptBasic Concept

Overflow problem!!

16NTU Confidential

Overflow PreventionOverflow Prevention• Modulo normalization

– The output of Viterbi decoder only depends on difference of metrics

– The difference between metrics is bounded– Two’s complement arithmetic [2]

17NTU Confidential

Bounded Difference Between Bounded Difference Between MetricsMetrics

decisionhardfornB

decisionsoftfornBtPMtPM

qq

qntPMqntPMtPMtPM

qntPMtPM

ordermemoryencoderisntPMtPMBBMAssume

ss

ssss

ss

ssik

,

,2|)()(|

])([)()()(0

)()(

),()(,||

12

12

1212

22

21)(

[2]

0 tt-n

s1

s2

q1

q2

s

18NTU Confidential

Modulo normalization (1/2)Modulo normalization (1/2)

Modular arithmeticmj = (mj+C/2)(mod C)-C/2We allow overflow and transform PM from one domain (straight line) to another domain (circle), such that we can use finite-length register

Given |m1-m2|<C/2, then m1<m2 if and only if

Concept :

[3]

=>This keeps the relative relationship between m1 and m2, though loses the absolute information of them

19NTU Confidential

Modulo normalization (1/2)Modulo normalization (1/2)Implementation :

We use “2’s complement arithmetic” to replace unsigned arithmetic and comparison=> Given |m1-m2|<C/2, then m1<m2 if and only if m1-m2<0 (in 2’s complement sense) 0001 (1)-) 1111 (-1) 0010 (2)

1001 (-7)-) 0111 (7) 0010 (2)

-1 10 0-7 7

[3]

20NTU Confidential

Modulo Normalized ACSModulo Normalized ACS

[3]

21NTU Confidential

Other Overflow Prevention Other Overflow Prevention MethodsMethods

• Reset• Variable shift• Fixed shift

[3]

NTU Confidential

Hardware implementation issuesHardware implementation issues

-Branch Metric Computation (BMC) -Add-Compare-Select (ACS) -Survivor Memory Management (SMM)

23NTU Confidential

Register ExchangeRegister Exchange

[4]

24NTU Confidential

Trace-back Basic ConceptTrace-back Basic Concept

[4]

25NTU Confidential

Trace-back Algorithm (1/3)Trace-back Algorithm (1/3)

• K-pointer even

[4]2k memory block

26NTU Confidential

Trace-back Algorithm (2/3)Trace-back Algorithm (2/3)

• K-pointer odd

[4]2k-1 memory block

27NTU Confidential

Trace-back Algorithm (3/3)Trace-back Algorithm (3/3)

• One-pointer

[4]s+1 memory block

28NTU Confidential

Comparison (1/2)Comparison (1/2)

• Exchange register– Simple (advantage)– Large interconnection area (disadvantage)

• Trace-back– Smaller area when storage element are many– More complicated– Large RAM access power

29NTU Confidential

Comparison (2/2)Comparison (2/2)• K-pointer

– Harmonic clock rate– Larger area

• One-pointer– Smaller area– Different clock rate

NTU Confidential

Conclusion & ReferenceConclusion & Reference

31NTU Confidential

ConclusionConclusion

• Viterbi decoder can be divided into three parts– Branch Metric Computation (BMC)

• Hard decision• Soft decision

– Add-Compare-Select (ACS)• Modulo normalized

– Survivor Memory Management (SMM)• Register exchange• Trace back

– K-pointer even– K-pointer odd– One-pointer

32NTU Confidential

ReferenceReference• [1] Modified Viterbi Algorithm and 802.11a Codec Design

Te-Wei Chang, MS thesis, 2002• [2] An alternative to metric rescaling in Viterbi decoders

Hekstra, A.P.;Communications, IEEE Transactions on , Volume: 37 , Issue: 11 , Nov. 1989 Pages:1220 – 1222

• [3] VLSI architectures for metric normalization in the Viterbi algorithmShung, C.B.; Siegel, P.H.; Ungerboeck, G.; Thapar, H.K.;Communications, 1990. ICC 90, Including Supercomm Technical Sessions. SUPERCOMM/ICC '90. Conference Record., IEEE International Conference on , 16-19 April 1990 Pages:1723 - 1728 vol.4

• [4] FPGA Realization of the Viterbi Decoder for HDSL2 SystemsFeng Lo, MS thesis, 2000