hardware implementation issues on viterbi decoder
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 PresentationTRANSCRIPT
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
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
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)
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
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]
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)
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
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