G3 FACSIMILE COMMUNICATIONS
5–58
output data at that moment in time. In addition to Fig. 5-50, this nature of a
convolutional coder can also be expressed by the figure of a trellis shape in
Fig. 5-51. This figure is called a trellis diagram. As the nature of convolu-
tional coding is expressed by this trellis diagram, convolutional coding is
generally referred to as “trellis coding.”
Fig. 5-51 Trellis Diagram
(2) Vitterbi decoding
The sequence of states in trellis coding is expressed by a simple repetitive
structure. In information logic, this simple repetitive structure of this state
sequences is generally expressed as the shift register processor, and that
nature is a probability process called the Markov process. The “Markov
process” is the process where the probability of generating output data of
time K+1 is dependent only on states in time K when the state of time K+1
is predicted in a state up to time K that is the information source. Vitterbi
decoding is a means of solving the state sequences in the Markov process,
and can be applied as a decoding scheme for trellis coding. Before we dis-
cuss the Vitterbi algorithm, let’s discuss maximum likelihood decoding on
which the Vitterbi algorithm is based.
Maximum likelihood decoding is a decoding scheme, when a coded data
string output from the coder passes along the communications path and is
received, where the most reliable-looking coded data is judged and
decoded by calculating all of the
Hamming distances
between those
received data strings and each of the possible coded data strings of all of
these. Let’s try applying this maximum likelihood decoding to a communi-
cations system that uses the trellis coder in Fig. 5-49.
Assuming that the initial state of the shift register is A (=00), the coded
data string becomes 110101 ...... when the data string whose initial three
bits starts with 110 is input to the coder. If we assume that the 1st and 4th
bits are in error while this coded data string passes along the communica-
tions path and is transmitted, then the receive data string becomes 010001.
In this case, the Hamming distances between the receive data string
01
01
10
10
00
11
00
11
00
00
11
11
11
11
00
00
10
10
01
01
01
10
State B
State A
State C
State D
Step 1
Step 2
Step 3
Step 4
Step 5
A
A
A
A
A
B
B
B
B
C
C
C
D
D
D