# Later paths can remerge after k1 consecutive

This preview shows page 1. Sign up to view the full content.

This is the end of the preview. Sign up to access the rest of the document.

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 (2) 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) t=1 ∑ where λ(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) i=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

{[ snackBarMessage ]}

Ask a homework question - tutors are online