CS61A Lecture 8 Data Abstraction Tom Magrino and Jon Kotker UC Berkeley EECS June 28, 2012.
Introduction to the Viterbi Algorithmnewton/Classes/EE290sp99/... · Introduction to the Viterbi...
Click here to load reader
Transcript of Introduction to the Viterbi Algorithmnewton/Classes/EE290sp99/... · Introduction to the Viterbi...
Introduction to the ViterbiAlgorithm
Rhett Davis
EECS 290A
February 16, 1999
Problem Statement:
νi=f(yi)
Estimate the state of a system given a noisy observation, optimally
a
b
c
d
0/ya0
1/ya1
0/yc0
1/yb1
0/yb0
0/yd01/yc1
1/yd1
observations
estimates
ν0 ν1 ν2 ν3 ν4
a c b cd
...
...
Build a Trellis
ν0 ν1 ν2 ν3 ν4a
b
d
c
...
...
Trellis - a graphical representation of possible state evolution
Branch - a transition from one point in the trellis to another
Path - a group of connected branches through the trellis
Maximum Likelihood SequenceDetection (MLSD)
ν0 ν1 ν2 ν3 ν4a
b
d
c
...
...
P(a|ν0, ν1, ν2, ν3, ν4)P(b|ν0, ν1, ν2, ν3, ν4)P(c|ν0, ν1, ν2, ν3, ν4)P(d|ν0, ν1, ν2, ν3, ν4)
Path Metric: PM=f(ν0, ν1, ν2, ν3, ν4)
Viterbi Algorithm
ν1 ν2 ν3ν0a
b
d
c
ν4PM = Σ BM (Branch metrics)
Each state has one survivor path which is the most likely path
See http://www.alantro.com/html/viterbi.html
Application toConvolutional Coding
uncodedword
(length=k=1)
constraint length=K=3
1 2
code word (length=n=2)
00
01
10
11
0/00
1/11
0/10
1/00
0/11
0/011/01
1/10
00
10
11
01No. of states = 2(K-1)
Branch Metric Calculation
0 1
fν(ν|y=0)N(0,σ2)
fν(ν|y=1)N(1,σ2)
0 1
0
1
y1
y2
BM00-00 = BM00 = (0-ν1)2 + (0-ν2)2
BM00-10 = BM11 = (1-ν1)2 + (1-ν2)2
BM10-01 = BM10 = (1-ν1)2 + (0-ν2)2
......
...
Application toTrellis Coded Modulation
Source: V.32 modem for Motorola DSP, Dion D. Messer
real
imag
Convolutionally code somebits to choose a sub-constellation,use the remaining bits to choosebetween the points in a sub-constell.
Example:32-QAM3 bits used in coder(8 sub-constellations,4 bits per sub-constellation)
TCM Trellis