Professional Documents
Culture Documents
ADC22 04 02 Viterbi
ADC22 04 02 Viterbi
ADC22 04 02 Viterbi
Lecture Four:
EQUALIZATION
Viterbi Algorithm
Education
Massachusetts Institute of Technology (BS, MS)
University of Southern California (PhD)
Significant advance
Code Division Multiple Access standard for cell phone
networks
Awards
IEEE Alexander Graham Bell Medal (1984)
Marconi Prize (1990)
Claude E. Shannon Award (1991)
National Medal of Science (2007)
IEEE/RSE Wolfson James Clerk Maxwell Award
IEEE Medal of Honor (2010)
John Fritz Medal (2011)
-1 1
Input
-1/-2 -1/-2
…-1 1 1 -1…
-2 0 2
-1,-1 -1/0 1,-1 …0 2 0… Output
1/0 -1/0
1/0 -2 0 2
Input / Output
-1,1 1,1 Noisy
Output
1/2 1/2
Less Euclidian distance = More Likelihood
-1/-2
-1,-1 -1,-1
-1/-2 1/0
-1/-2
-1/-2
-1,-1 -1/0 1,-1 -1, 1 -1, 1
1/0
-1 1
Input
-1/-1.5 -1/-1.5
…-1 1 1 -1…
-1.5 -1 -0.5 0.5 1 1.5
1/0.5 -1/-0.5
1/0.5 -1.5 -1 -0.5 0.5 1 1.5
Input / Output
-1,1 1,1 Noisy
Output
1/1.5 1/1.5
Less Euclidian distance = More Likelihood
-1/-1.5
-1/-1.5 -1/-1.5 -1,-1 -1,-1
1/0.5
-1/-1.5
-1/-0.5
-1,-1 1,-1
-1, 1 -1, 1
1/0.5
1/0.5 -1/-0.5
-1/-0.5
1/0.5
1/1.5
1,1 1,1
-0.3
1 1 ck 01
0/0
1/1 01
XOR 0/1
1/0 10
10
0/1
Input: 1, 0, 1, 0, 1, 1, 0, 0, 0, 1, 0, 1, 1, 0, 1, 0 1/0
11 11
Output: 1, 1, 1, 1, 1, 0, 1, 0, 0, 1, 1, 1, 0, 1, 1, 1
Trellis Diagram
Matlab Code:
a = [1, 0, 1, 0, 1, 1, 0, 0, 0, 1, 0, 1, 1, 0, 1, 0];
trellis = poly2trellis([2], [3]); %(11)b=3
b1 = convenc(a, trellis);
1 1 0 1 ck
XOR
Input: 1, 0, 1, 0, 1, 1, 0, 0, 0, 1, 0, 1, 1, 0, 1, 0
Output: 1, 0, 0, 1, 0, 0, 1, 0, 1, 1, 0, 0, 0, 1, 1, 1
Matlab Code:
a = [1, 0, 1, 0, 1, 1, 0, 0, 0, 1, 0, 1, 1, 0, 1, 0];
trellis = poly2trellis([4], [13]); %(1101)b =13
b1 = convenc(a, trellis);
River 2
River 1
1.2 N .2
.7
1.3
.5 N
Faculty
1.2 Club
.5
01
10
11
010011
a0
a1
a2
a3
a3 a2 a0 a3 a1
After observing the received noisy signal zk, we can assign a number to
each branch (branch metric) that is low if zk is close to the expected value
on that transition, sk.
Branch metric = |zk-sk|2
The path metric is the sum of branch metrics, and the preferred path is
the one with lowest path metric (shortest path).
Digital Communications - M.J. Omidi 15
Using VA to find the shortest path
Isfahan University
of Technology
An exhaustive method is to find all the branch metrics and all the
possible path metrics. This method grows exponentially with time (T).
At each stage of the trellis we do not know which node the optimal path
passes through, so we must retain one survivor path for each node.
Practical problems:
To find the optimal path we need to wait to get to the terminal point of the trellis.
The memory required to store the survivor paths grows linearly with time.
If the survivor paths at time k merge up to some time k-d, we say they
merged at depth d.
22
Isfahan University
of Technology
Noisy output: 0.7 -0.3 0.7 -0.7 0.5 1.4 -0.3 -0.9 -1.8 0.4 -0.2 0.5 1.7
Convolutional encoder contains delay lines and modulo-2 adders such that
at each encoding cycle
k information bits flow in, in parallel
Each output bit depends on the corresponding input bits and the
previous input bits of maximum
Usually n > k and it adds redundancy to the data
k bits . . n bits
Code rate k/n
. .
poly2trellis([7], [121])
-1/-2