This preview shows page 1. Sign up to view the full content.
Unformatted text preview: s reached.
The paths are said to have diverge d at some state, and some depth j, if at depth j+1, their
information bit disagree. Later, paths can remerge after (K–1) consecutive identical
information bits. The maximum-likelihood sequence estimation problem is formally identical
to the problem of finding the shortest route through a certain graph. The Viterbi algorithm
then arises as a natural recursive solution. Consider a rate 1/n convolutional code. Let
u0 … ut–1utut+1… denote the information bits input to the encoder. At time t define the
encoder state as
st = ut … ut – K + 1
Given a sequence of observations y1, y1, … yL, where y1 = (yi1 … yin), every path may be
assigned a ‘length’ proportional to metric –log p(y|s), where p(y|s) is the likelihood function
and s = (s0, …, sL) is the state sequence associated with that path.
The Viterbi algorithm solves the problem of finding the state sequence for which p(y|s) is
maximum, or equivalently of finding the path whose length –log p(y|s) is minimum. Note that
to every possible state sequence s there corresponds a unique path through the trellis, and
vice versa. If the channel is memoryless, then
–log p(y|s) = L= λ(st, st–1)
λ(st , st–1) = –log p(yt|st,st–1) = –log p(yt|st)
is the branch ‘length’ or metric. Tt(st,st–1) denotes the transition from state st–1 to st associated
with branch symbols xt = (xt1 … xtn), which correspond to the information sequence
ut … ut–K CCSDS 130.1-G-1 Page 4-5 June 2006 TM SYNCHRONIZATION AND CHANNEL CODING —SUMMARY OF CONCEPT AND RATIONALE Therefore, we can define the state transition as Tt(st,st–1) = ut…ut–K. We denote by s(st) a
segment (s0, s1, …, st) consisting of the states up to time t of the state sequence s. In the
trellis, s(st) corresponds to a path segment starting at the state s0 and terminating at state st.
For any particular time t and state st , there will in general be several such path segments,
each with some length
λ(s(st)) = t = λ(si, si–1)
∑ The shortest such path segment is called the survivor, corresponding to the state st , and is
denoted ŝ(st). For any time t>0, there are 2m survivors in all, one for each st .
Thus at any time t we need remember only the 2m survivors ŝ(st) and their lengths
Γ(st)=λ(s(st)). To get to time t+1 , we need only extend all time t survivors by one time unit,
compute the lengths of the extended path segments, and for each state st+1 select the shortest
extended path segment terminating in st+1 as the corresponding time t+1 survivor. Recursion
proceeds indefinitely without the number of survivors ever exceeding 2m.
The great advantage of the Viterbi maximum-likelihood decoder is that the number of
decoder operations performed in decoding L bits is only L2m, which is linear in L. Of course,
Viterbi decoding as a practical technique is limited to relatively short constraint-length codes
due to the exponential dependence of decoder operations, per decoder operations, per
decided bit, on K. Recent convolutional codes for deep space communications have used
constraint lengths up to 15. Constraint lengths of 24, 32 and even 40 have been used in the
past for sequential decoders which have suboptimal performance with respect to maximumlikelihood decoders. CCSDS 130.1-G-1 Page 4-6 June 2006 TM SYNCHRONIZATION AND CHANNEL CODING —SUMMARY OF CONCEPT AND RATIONALE 4.5 PERFORMANCE OF THE RECOMMENDED (7,1/2) CONVOLUTIONAL
CODE Figure 4-5 shows the simulated bit error rate performance of the CCSDS rate-1/2
convolutional code. Different quantization strategies have been considered, from
unquantized soft decision to hard decision (corresponding to 1-bit quantization). It is shown
that 8-bit quantization provides nearly ideal performance (less than 0.2 dB penalty with
respect to unquantized curves), while hard decision suffers a loss greater than 2 dB. Figure 4-5: Bit Error Rate Performance of the CCSDS Rate 1/2 Convolutional Code
with Different Quantizers
In principle, the Viterbi decoder should operate on the entire received sequence. This,
however, would result in unacceptably long decoding delays (latency) and excessive memory
storage for the survivor sequences. In fact, since all survivor paths tend to merge into one
single path when exploring the trellis at sufficient depth, practical implementations use a
truncated Viterbi algorithm that forces the decision on the oldest symbol of the minimum
metric path after a fixed and sufficiently long delay or truncation length D. Computer
simulations show that using a delay on the order of 5 times the constraint length (i.e., D=5K)
is enough to obtain negligible degradations.
For the CCSDS rate-1/2 convolutional code, the dependence of the bit error rate on the
decoding delay is shown in figure 4-6. Using a delay of only D=30 bits, i.e., 5 times the
memory m, the performance exhibits a very small degradation. Using D=60 bits nearly
optimum performance is obtained. (All the curves have been obtained with unquantized soft
decision.) CCSDS 130.1-G-1 Page 4-7 June 2006 TM SYNCHRONIZATION AND CHANNEL CODING...
View Full Document
- Spring '14