____________________2014 XIV INTERNATIONAL SYMPOSIUM ON PROBLEMS OF REDUNDANCY IN INFORMATION AND CONTROL SYSTEMS
Improved List Decoding of Tail-biting Convolutional Codes Sergei V. Fedorenko, Mikhail Trefilov, Yuejun Wei Huawei Russian Research Centre Moscow, Russia {Sergei.Fedorenko,Trefilov.Mikhail,Weiyuejun}@huawei.com other cases is straightforward. Let u = (u0 , u1 , . . . , uk−1 ) and v = (v0 , v1 , . . . , vk−1 ) be information and code sequences where vi = (vi1 , vi2 , . . . , vic ) and let m be the overall constraint length of the code [7]. This code has a circular trellis representation [3], which consists of k sections. Each codeword corresponds to the circular path on this trellis.
Abstract—The novel decoding algorithm for the list decoding of tail-biting convolutional codes is described. The main idea is first to estimate the most reliable state from all state spaces for transmitted codeword by using a Soft Input Soft Output decoder, and then to perform the list Viterbi decoding algorithm from this state around the circular tail-biting trellis. For the LTE standard concatenated coding scheme this algorithm provides block error rate performance that is almost the same as for the optimal bruteforce list decoding algorithm with significantly less complexity (about 11 times) for list size L=4.
I.
finish state for LVA
start state for LVA
I NTRODUCTION
Concatenated coding systems are popular in many communication standards. In particular, in the LTE standard [5] the concatenated coding system consisting of an outer error detecting and an inner error correcting tail-biting convolutional code is used for transmitting short data blocks in the control and broadcasting channels. Tail-biting technique is used in convolutional codes to eliminate the rate loss caused by the known tail bits [1], that can be significant for short data blocks.
Sk −1
Conventionally for concatenated coding systems, the inner code is decoded first, followed by the outer code detection. Considerable improvement in performance is obtained over this conventional decoding approach when the knowledge of the L best candidates to be the transmitted codeword after inner decoder is utilized during the subsequent detection [2].
S2
Si
Fig. 1. Representation of Algorithm 1 on factor graph of tail-biting convolutional code.
The paper is organized as follows. Section II introduces the necessary background. A novel algorithm for the list decoding of tail-biting convolutional codes is introduced in section III. A comparison of this algorithm with the brute-force algorithm and other algorithms is presented in section IV. Finally, some conclusions are given.
Existing list decoding algorithms for tail-biting convolutional codes [6], [8] are based on Algorithm 1. Predecoding process can be based on circular Viterbi algorithm [9] like it is described in QUALCOMM patent [8] or can be performed by exhaustive search for all states from S0 [6].
S OME NOTIONS AND ALGORITHMS
Simplified representation of Algorithm 1 on factor graph of tail-biting convolutional code is given in Fig. 1, where state spaces are denoted as Si , i ∈ [0, k], and each state space consists of |S| = |Sj | = 2m states.
In this section we present well-known decoding algorithms that produce a rank ordered list of the L best paths through tailbiting trellis. For simplicity we consider the case of tail-biting convolutional codes with rate R = 1/c. Generalization to the
----------------------------------------------------------------------------
S1
Sk −2
Let (n, k) code be a linear block code with a codelength n, and k information symbols. The tail-biting code is a linear block code, but on the other hand it can be considered as a special (tail-biting) truncation of the convolutional code [1]. As the initial and finish state of tail-biting code is unknown in the decoder, we can not straightforwardly use the list Viterbi algorithm for decoding [2], [11] and some predecoding processing for estimating the initial state is needed.
II.
Sk = S0
35
----------------------------------------------------------------------------
____________________2014 XIV INTERNATIONAL SYMPOSIUM ON PROBLEMS OF REDUNDANCY IN INFORMATION AND CONTROL SYSTEMS
Algorithm 1 The list decoding algorithm for tail-biting convolutional codes. 1: Perform some predecoding process to determine the Ls best candidates to be the initial state at state space S0 . 2: For each candidate state si0 , i ∈ [1, Ls ], apply the list Viterbi decoding algorithm (LVA) for circular trellis with fixed initial and the same finish state si0 and get the list of Lc codewords. 3: The final list is the best L out of Ls Lc codewords. III.
Algorithm 2 is applicable for recursive systematic convolutional tail-biting codes, too. In this case we first do conversion procedure [10] from recursive systematic code to non-recursive code, then perform Algorithm 2, and then do inverse conversion from non-recursive code to recursive systematic code.
Sk = S0
N OVEL DECODING ALGORITHM
Sk −1
The main idea of the novel decoding algorithm is to choose an initial state in some appropriate state space Si by using the Soft Input Soft Output (SISO) decoder, and apply list decoding for circular trellis with fixed initial and the same finish state from this state space Si . It should be noticed that we can do it since the trellis of tail-biting convolutional code is circular. Let us first describe the novel decoding algorithm for non-recursive convolutional tail-biting codes. For non-recursive tail-biting convolutional codes the state at the moment i is determined by si = (ui−1 mod k , ui−2 mod k , . . . , ui−m mod k ),
S1
Sk −2
S2
Sp
where si ∈ Si . Determine reliability of all information symbols by using some maximum-a-posteriori (MAP) decoding algorithm for tail-biting convolutional codes [4] or another algorithm for computation of reliabilities: Liapp =
Probability(ui = 0 | r) , Probability(ui = 1 | r)
start state for LVA
where i ∈ [0, k − 1] and r is received word. Estimated hard decisions of information symbols are computed as: 0, Liapp ≥ 0 u ˆi = 1, Liapp < 0.
Fig. 2. Representation of Algorithm 2 on factor graph of tail-biting convolutional code.
For consecutive m modulo k information symbols determine the measure of reliability by: mod k i−2 mod k mod k Σi = f (Li−1 , Lapp , . . . , Li−m ). (1) app app
IV.
(2)
sˆp = (ˆ up−1 mod k , u ˆp−2 mod k , . . . , u ˆp−m mod k ) .
(3)
and
i−1 i−m mod k t mod k mod k Lapp . (4) , . . . , L ) = f (Li−1 app app
The novel decoding algorithm is given in Algorithm 2.
t=i−m
Algorithm 2 The novel decoding algorithm for the list decoding of tail-biting convolutional codes. 1: Apply some algorithm for computation of reliability Liapp for all information symbols. 2: Calculate the state space index p according to (2) and (1). 3: Apply the list Viterbi decoding algorithm for the circular trellis with fixed initial and the same finish state sˆp ∈ Sp , and get the list of L codewords.
In Algorithm 3 we give the application of Algorithm 2 in the LTE concatenated coding scheme. For comparison, in Algorithms 4 and 5 we describe the Chen–Sundberg (CS) algorithm [6] and the modification of the Handlery–Johannesson–Zyablov (HJZ) algorithm [12], respectively. The CS algorithm is the optimal brute-force algorithm for calculation of the L best codewords. Let now compute the complexity of the novel algorithm CN ovel (L) and the CS algorithm CCS (L) in terms of the number of additions and comparisons as functions of list size L. Firstly it should be noticed that the complexity of these algorithms is independent
One possible way to choose function f (·) is given in the next section. Representation of Algorithm 2 on the factor graph of tail-biting convolutional code is given in Fig. 2.
----------------------------------------------------------------------------
E XAMPLES
The LTE standard [5] contains the concatenated coding scheme consisting of outer Cyclic Redundancy Check (CRC) code with length 8 (CRC-8) and inner tail-biting convolutional code with code rate R = 1/3, the overall constraint length m = 6, and code generators (133,171,165) in octal format. Algorithm 2 can be used in that system. Let us define function f (·) as follows:
Let us define the state space index p = arg maxi∈[0,k−1] Σi
finish state for LVA
36
----------------------------------------------------------------------------
____________________2014 XIV INTERNATIONAL SYMPOSIUM ON PROBLEMS OF REDUNDANCY IN INFORMATION AND CONTROL SYSTEMS
Algorithm 3 The example of the novel decoding algorithm. 1: Apply the Max-Log-MAP algorithm for the tail-biting convolutional code [4] for computation of reliability of all information symbols Liapp . 2: Calculate p and s ˆp according to (4), (1), (2) and (3). 3: Apply the parallel list Viterbi algorithm (PLVA) [2] for the circular trellis with fixed initial and the same finish state sˆp in the state space Sp , and get the list of L = 4 codewords. 4: Choose the codeword from the list that satisfies the outer error detecting code. If there are more than one such codewords then choose the nearest to the received vector by the path metric. If there are not any codewords from the list that satisfy outer error detecting code then detect an error.
Algorithm 4 The Chen–Sundberg list decoding algorithm for tail-biting codes [6]. 1: 2:
3: 4:
5: 6:
7: 8:
from signal-to-noise ratio (Eb /N0 ). Define CV A as the complexity required for the Viterbi decoding algorithm with fixed initial and the same finish state. Also define CLV A (L) as the complexity of the List Viterbi decoding algorithm with list size L and CM LM as the complexity of Max-Log-MAP decoding algorithm for tail-biting codes [4].
9:
Thus, CCS (L) = |S| · CV A + L · CLV A (L),
Algorithm 5 The modification of the Handlery–Johannesson– Zyablov decoding algorithm for the list decoding of tail-biting codes [12]. 1: Choose the most reliable window WR according to the sum of received symbols reliabilities taken from the channel. 2: Perform the BCJR algorithm (with the probabilistic forward and backward recursion initialized according to the uniform distribution) in the window WR to determine the most probable initial state sp at state space Sp in the middle of the window WR . 3: Apply the list Viterbi decoding algorithm for circular trellis with fixed initial state and the same finish state sp ∈ Sp , and get the list of codewords. 4: Choose the codeword from the list that satisfies the outer error detecting code. If there are more than one such codewords then choose the nearest to the received vector by the path metric. If there are not any codewords from the list that satisfy outer error detecting code then detect an error.
CN ovel (L) = CM LM + CLV A (L), and CM LM can be approximated as 3 · CV A , and in the case of using the PLVA as the List Viterbi decoding algorithm CLV A (L) = L · CV A . For the LTE tail-biting convolutional code |S| = 64, then CCS (L) = 64 · CV A + L2 · CV A , and CN ovel (L) = 3 · CV A + L · CV A . It is easy to see that for list size L = 4 CCS (4) 64 · CV A + 16 · CV A ≈ 11.4. = CN ovel (4) 3 · CV A + 4 · C V A This means that the complexity of the CS algorithm with L = 4 is about 11 times more than the complexity of the novel algorithm 3 for the LTE tail-biting convolutional code. The HJZ algorithm has less complexity than the novel decoding algorithm but provides less Block error rate (BLER) performance. Block error rate (BLER) performance dependence on signal-to-noise ratio (Eb /N0 ) for additive white Gaussian noise (AWGN) channel and QPSK modulation of the novel decoding algorithm, CS algorithm [6], HJZ algorithm [12], and the QUALCOMM algorithm [8] with almost the same complexity as the novel decoding algorithm are given in Fig. 3, 4. The concatenated codes are (120,32) and (180,52) codes, respectively. List size of all compared algorithms is chosen as L = 4.
outperforms HJZ and QUALCOMM algorithms by 0.5 dB and 0.2 dB respectively at level of 10−2 of BLER. There are also a few decoding algorithms of tail-biting codes [13], [14], [15] that also could be applied to list decoding. But their complexities strongly depend on signalto-noise ratio in the channel. V.
From Fig. 3 we see that the difference between the novel algorithm and the CS algorithm is about 0.1 dB, and the novel algorithm outperforms HJZ and QUALCOMM algorithms by 0.5 dB and 0.2 dB respectively at level of 10−2 of BLER. From Fig. 4 we see that there is no difference between the novel algorithm and the CS algorithm, and the novel algorithm
----------------------------------------------------------------------------
for each state sj0 in state space S0 do Apply the Viterbi decoding algorithm for conventional trellis with fixed initial state sj0 ∈ S0 and the same finish state, get the codeword. Store the codeword, the initial state, and the path metric in the list LA . end for Calculate the L best (nearest to the received vector by the path metric) codewords from the list LA . Store the initial states for this L codewords in the list LB . for each state sl0 from the list LB do Apply the PLVA for circular trellis with fixed initial state sl0 and the same finish state, get the list of L codewords. Store the list of codewords in the list LC . end for Calculate the L best (nearest to the received vector by the path metric) codewords from the list LC in the list LD . Choose the codeword from the list LD that satisfies the outer error detecting code. If there are more than one such codewords then choose the nearest to the received vector by the path metric. If there are not any codewords from the list LD that satisfy outer error detecting code then detect an error.
C ONCLUSION
In this paper the novel decoding algorithm for the list decoding of tail-biting convolutional codes was proposed. The main idea is first to estimate the most reliable state from all state spaces for transmitted codeword by using the SISO decoder, and then to perform the list Viterbi decoding
37
----------------------------------------------------------------------------
____________________2014 XIV INTERNATIONAL SYMPOSIUM ON PROBLEMS OF REDUNDANCY IN INFORMATION AND CONTROL SYSTEMS
codelengths over AWGN channel and QPSK modulation. It was shown that performance of the novel decoder is almost the same as performance of optimal brute force decoder with significantly less complexity (about 11 times). Complexity of novel algorithm is independent of signal-to-noise ratio in the channel.
0
10
Novel CS Qualcomm HJZ −1
BLER
10
R EFERENCES
−2
10
[1] −3
10
[2]
[3]
−4
10
0
0.5
1
1.5 2 Eb/No (dB)
2.5
3
3.5
[4] Fig. 3. Performance evaluation for the novel decoding algorithm and algorithms [6], [12], [8] for the LTE concatenated CRC-8 code and tail-biting convolutional (120,40) code with list size L = 4.
[5] [6]
0
10
Novel CS Qualcomm HJZ
[7] [8]
−1
10
BLER
[9] −2
10
[10]
−3
10
[11] −4
10
0
0.5
1
1.5 2 Eb/No (dB)
2.5
3
3.5
[12]
[13]
Fig. 4. Performance evaluation for the novel decoding algorithm and algorithms [6], [12], [8] for the LTE concatenated CRC-8 code and tail-biting convolutional (180,60) code with list size L = 4.
[14]
algorithm from this state around circular tail-biting trellis. Concatenated coding system consisting of CRC and tailbiting convolutional code from the LTE standard is used for simulation. Block error rate performance of the novel decoder was compared with other decoders for short and medium
----------------------------------------------------------------------------
[15]
38
H. Ma and J.K. Wolf, “On Tail Biting Convolutional Codes,” IEEE Transactions on Communications, vol. 34, no. 2, pp. 104–111, Feb. 1986. N. Seshadri and C.-E.W. Sundberg, “List Viterbi decoding algorithms with applications,” IEEE Transactions on Communications, vol. 42, no. 2/3/4, pp. 313–323, 1994. A.R. Calderbank, G.D. Forney, and A. Vardy, “Minimal tail-biting trellises: the Golay code and more,” IEEE Transactions on Information Theory, vol. 45. no. 5, pp. 1435–1455, 1999. J.B. Anderson and S.M. Hladik, “Tailbiting MAP decoders,” IEEE Journal on Selected Areas in Communications, vol. 16, no. 2, pp. 297– 302, 1998. ETSI TS 136 212, “LTE; Evolved Universal Terrestrial Radio Access (E-UTRA); Multiplexing and channel coding,” Release 11, Jul. 2013. B. Chen and C.-E.W. Sundberg. “List Viterbi algorithms for tailbiting convolutional codes,” U.S. Patent 6 161 210, Dec. 12, 2000. R. Johannesson and K. Zigangirov, Fundamentals of convolutional coding. New York: IEEE Press, 1999. R. Wang, H. Xu, Y. Wei, and D.N. Doan. “List Viterbi decoding of tail biting convolutional codes,” U.S. Patent 8 543 895, Sep. 24, 2013. J.B. Anderson and S.M. Hladik, “An optimal circular Viterbi decoder for the bounded distance criterion,” IEEE Transactions on Communications, vol. 50, no. 11, pp. 1736–1742, 2002. E. Bolinth, “On the equivalence of rate R = k/n non-systematic feed-forward convolutional codes and recursive systematic convolutional codes,” in Proc. 11th European Wireless Conference 2005 — Next Generation Wireless and Mobile Communications and Services (European Wireless), 2005, pp. 1–7. M. R¨oder and R. Hamzaoui, “Fast tree-trellis list Viterbi decoding,” IEEE Transactions on Communications, vol. 54, no. 3, pp. 453–461, 2006. M. Handlery, R. Johannesson, and V.V. Zyablov, “Boosting the error performance of suboptimal tailbiting decoders,” IEEE Transactions on Communications, vol. 51, no. 9, pp. 1485–1491, 2003. R.Y. Shao, S. Lin, and M.P.C. Fossorier, “Two decoding algorithms for tailbiting codes,” IEEE Transactions on Communications, vol. 51, no. 10, pp. 1658–1665, 2003. I.E. Bocharova, M. Handlery, R. Johannesson, and B.D. Kudryashov, “BEAST decoding of block codes obtained via convolutional codes,” IEEE Transactions on Information Theory, vol. 51, no. 5, pp. 1880– 1891, 2003. H.-T. Pai, Y.S. Han, T.-Y. Wu, P.-N. Chen, and S.-L. Shieh, “Lowcomplexity ML decoding for convolutional tail-biting codes”, IEEE Communications Letters, vol. 12, no. 12, pp. 883–885, 2008.
----------------------------------------------------------------------------