A Novel Approach For FEC Decoding Based On The BP Algorithm in LTE and Wimax Systems
A Novel Approach For FEC Decoding Based On The BP Algorithm in LTE and Wimax Systems
Abstract:- Many wireless communication systems such as IS54, enhanced data rates for the GSM evolution
(EDGE), worldwide interoperability for microwave access (WiMAX) and long term evolution (LTE) have
adopted low-density parity-check (LDPC), tail-biting convolutional, and turbo codes as the forward error
correcting codes (FEC) scheme for data and overhead channels. Therefore, many efficient algorithms have been
proposed for decoding these codes. However, the different decoding approaches for these two families of codes
usually lead to different ardware architectures. Since these codes work side by side in these new wireless systems,
it is a good idea to introduce a universal decoder to handle these two families of codes. The present work exploits
the parity-check matrix (H) representation of tailbiting convolutional and turbo codes, thus enabling decoding via
a unified belief propagation (BP) algorithm. Indeed, the BP algorithm provides a highly effective general
methodology for devising low-complexity iterative decoding algorithms for all convolutional code classes as well
as turbo codes. While a small performance loss is observed when decoding turbo codes with BP instead of MAP,
this is offset by the lower complexity of the BP algorithm and the inherent advantage of a unified decoding
architecture.
I. INTRODUCTION
Until recently, most known decoding algorithms for convolutional codes were based on either algebraically
calculating the error pattern or on trellis graphical representations such as in the MAP and Viterbi algorithms. With the
advent of turbo coding [1], a third decoding principle has appeared: iterative decoding. Iterative decoding was also
introduced in Tanner’s pioneering work [2], which is a general framework based on bipartite graphs for the description of
LDPC codes and their decoding via the belief propagation (BP) algorithm.
In many respects, convolutional codes are similar to block codes. For example, if we truncate the trellis by which a
convolutional code is represented, a block code whose codewords correspond to all trellis paths to the truncation depth is
created. However, this truncation causes a problem in error performance, since the last bits lack error protection. The
conventional solution to this problem is to encode a fixed number of message blocks L followed by m additional all-zero
blocks, where m is the constraint length of the convolutional code [4]. This method provides uniform error protection for all
information digits, but causes a rate reduction for the block code as compared to the convolutional code by the multiplicative
factor 𝐿 (𝐿 + 𝑚). In the tail-biting convolutional code, zero-tail bits are not needed and replaced by payload bits resulting in
no rate loss due to the tails. Therefore, the spectral efficiency of the channel code is improved. Due to the advantages of the
tail-biting method over the zero-tail, it has been adopted as the FEC in addition to the turbo code for data and overhead
channels in many wireless communications systems such as IS-54, EDGE, WiMAX and LTE [5, 6, 7].
Both turbo and LDPC codes have been extensively studied for more than fifteen years. However, the formal
relationship between these two classes of codes remained unclear until Mackay in [8] claimed that turbo codes are LDPC
codes. Also, Wiberg in [9] marked another attempt to relate these two classes of codes together by developing a unified
factor graph representation for these two families of codes. In [10], McEliece showed that their decoding algorithms fall into
the same category as BP on the Bayesian belief network. Finally, Colavolpe [11] was able to demonstrate the use of the BP
algorithm to decode convolutional and turbo codes. The operation in [11] is limited to specific classes of convolutional
codes, such as convolutional self orthogonal codes (CSOCs). Also, the turbo codes therein are based on the serial structure
while the parallel structure is more prevalent in practical applications.
In LTE and WiMAX systems, the proposed decoders for the tail-biting convolutional codes and turbo codes are
based on the Viterbi and MAP algorithms, respectively. However, many other efficient algorithms have been proposed to
decode tail-biting convolutional codes as well as turbo codes. For example, in [3], the reduced complexity wrap-around
Viterbi algorithm was proposed to decode tail-biting convolutional codes in the WiMAX system to reduce the average
number of decoding iterations and memory usage. In addition, other decoding algorithms such as double traceback and
bidirectional Viterbi algorithms were also proposed for tail-biting convolutional codes in LTE [4]. Finally in [5], the design
and optimization of low-complexity high performance rate-matching algorithms based on circular buffers for LTE turbo
codes was investigated.
In this paper, we focus on the direct application of the BP algorithm used for LDPC codes to decode the tail-biting
convolutional codes and turbo codes in WiMAX and LTE systems, respectively. Based on that, we propose a decoder with
drastically lower implementation complexity than that proposed in the latest releases for these systems [5-7]. The rest of this
paper is organized as follows. In Section II and III, the graphical representation of the tail-biting convolutional and turbo
codes with the necessary notations and definitions used throughout this paper are introduced, followed by an investigation of
6
A Novel Approach for FEC Decoding Based On the BP Algorithm…
the coding structures in WiMAX and LTE systems in Section IV. In Section V, simulation results for the performance of
tail-biting convolutional and turbo codes using the proposed algorithm are introduced followed in Section VI by a
complexity comparison between the proposed algorithm and the traditional ones. Finally, the paper is concluded in Section
Example 1: Consider the convolutional code with rate 𝑅 = 𝑛 𝑘 = 1/2, where k represents the number of input bits and n the
output bits. Assume that the information sequence is x = (𝑥0 , 𝑥1 , 𝑥2 , … ). The encoder will convert this to the sequences
0 0 0 1 1 1
𝒚(𝟎) = (𝑦0 , 𝑦1 , 𝑦2 , … ) and 𝑦 (1) = (𝑦0 , 𝑦1 , 𝑦2 , … ).
0 1
Note that if there are multiple input streams, we can refer to a single interleaved input x = (𝑥0 , 𝑥1 , … ) Also, the
0 1 0 1
output streams are multiplexed to create a single coded data stream y= (𝑦0 , 𝑦0 , 𝑦1 𝑦1 , … ) where y is the convolutional
codeword. In addition, each element in the interleaved output stream y is a linear combination of the elements in the input
0 1 𝑘−1 0 1 1 𝑘−1
stream x = (𝑥0 , 𝑥0 , … , 𝑥0 , 𝑥1 , 𝑥1 , 𝑥1 , … , 𝑥1 , … ).
(𝑗 )
An impulse response 𝑔 is obtained from the encoder output by applying a single 1 at the input followed by a
string of zeros, then strings of zeros are applied to all the other inputs (in the case of multiple inputs). The impulse responses
for the encoder in our example are
𝑔 0 = 1011 ,
𝑔 1 = 1101 .
The impulse responses are often referred to as generator sequences, because their relationship to the codewords
generated by the corresponding convolutional encoder is similar to that between generator polynomials and codewords in a
cyclic code. The generator sequences can be expressed in the following general form:
𝑚 −1
𝑗 𝑗
𝑦𝑡 = 𝑥𝑡−1 𝑔𝑙 . (1)
𝑙=0
Each coded output sequence 𝑦 (𝑗 ) in a rate 1 𝑛 code is the convolution of the input sequence x and the impulse response
𝑔(𝑗 ) ,
𝑦 (𝑗 ) = 𝑥 ∗ 𝑔(𝑗 ) . (2)
In vector form, this is expressed
𝑘−1
(𝑗 )
𝑦 (𝑗 ) = 𝑥 (𝑖) ∗ 𝑔𝑖 , (3)
𝑖=0
which can be developed thus
𝑘−1 𝑚 𝑖 −1
𝑗 (𝑖) (𝑗 )
𝑦𝑡 = 𝑥𝑡−1 𝑔𝑖,𝑙 . (4)
𝑖=0 𝑙=0
We can express these forms as a matrix multiplication operation, thus providing a generator matrix similar to that
developed for block codes. In fact, the primary difference arises from the fact that the input sequence is not necessarily
bounded in length, and thus the generator and parity check matrices for convolutional codes are semi infinite. However,
herein we introduce the G and H matrices as equivalent to a tail-biting convolutional code having finite length. Therefore,
the generator and parity-check matrices will be as follows [4]:
7
A Novel Approach for FEC Decoding Based On the BP Algorithm…
where
(1) (2) (𝑛)
𝑔1,𝑙 𝑔1,𝑙 ⋯ 𝑔1,𝑙
(1) (2) (𝑛)
𝐺𝑙 = 𝑔2,𝑙 𝑔2,𝑙 ⋯ 𝑔2,𝑙 (6)
⋮ ⋮ ⋮ ⋮
(1)
𝑔𝑘,𝑙
(2)
𝑔𝑘,𝑙 … 𝑔(𝑛)
𝑘,𝑙
Note that each block of k rows in the G matrix is a circular shift by n positions of the previous such block. In
general, the parity-check matrix of a rate k/n tail-biting convolutional code with constraint length m is
where I is the k × k identity matrix, 0 is the k × k all zero matrix, and 𝑃𝑖 , i = 0, 1, ..., m, is a k ×(n -k) matrix whose
entries are
Here, 𝑔𝑝,𝑖 is equal to 1 or 0 coresponding to whether or not the 𝑖𝑡 stage of the shift register for the input
contributes to output j(i = 0, 1, ..., m; j = (k + 1), (k + 2), ..., n; p =1, 2, ..., k). Since the last m bits serve as the starting state
and are also fed into the encoder, there is an end-round-shift phenomenon for the last m columns of H.
Example 2: Consider the previous encoder shown in Example 1, assume that a block of k = 6 information bits are encoded.
Then the tail-biting construction gives a binary (12, 6) code with generator and parity check matrices,
11 01 10 11 00 00
00 11 01 10 11 00
00 00 11 01 10 11
𝐺 = 11 00 00 11 01 10 (9)
10 11 00 00 11 01
01 10 11 00 00 11
and
11 00 00 11 01 10
10 11 00 00 11 01
01 10 11 00 00 11
𝐻 = 11 01 10 11 00 00 (10)
00 11 01 10 11 00
00 00 11 01 10 11
𝜆 𝑥 = 𝜆1 𝑥 + 𝜆2 𝑥 2 + ⋯ + 𝜆𝑖 𝑥 𝑖−1 + ⋯ (11)
𝜌 𝑥 = 𝜌1 𝑥 + 𝜌2 𝑥 2 + ⋯ + 𝜌𝑖 𝑥 𝑖−1 + ⋯ (12)
are defined to describe the degree distributions.
8
A Novel Approach for FEC Decoding Based On the BP Algorithm…
𝐻2 𝐻1 0
𝐻𝑡𝑢𝑟𝑏𝑜 = . 13
𝐻2 𝑀𝑇 0 𝐻1
Example 3: Let us now consider the special case of a RSC code 𝐶0 of rate 𝑅 = 1/2 whose input u(X) has a finite degree
N−1 (i.e. the input vector has size N). Its parity-check matrix H can now be written as an N ×2N matrix over GF(2) whose
coefficients are fixed by its generator. The first (respectively second) N ×N part of H consists of shifted rows representing
the coefficients of 𝑔2 (𝑋) (respectively 𝑔1 (𝑋)). For example, choosing 𝑔1 = 101, 𝑔2 = 111, and N = 8, we have:
Note that the number of non-zero elements per row and
per column in the “diagonal” sub-matrices 𝐇𝟏 and 𝐇𝟐 is upper bounded by L = v + 1, the constraint length of the constituent
codes, which is always very small in comparison to the length of the interleaver. Also, the interleaver does not change the
weights of the sub-matrix 𝐻2 𝑀𝑇 . As with the tailbiting convolutional code, the H
11100000 | 10100000
01110000 | 01010000
00111000 | 00101000
00011100 | 00010100
𝐇=
00001110 | 00001010
00000111 | 00000101
00000011 | 00000010
00000001 | 00000001
matrix for a turbo code can also be seen as the H matrix of an irregular LDPC code, since the weight of non-zero
elements per row and column is not strictly constant, but always very small compared to the size of the parity-check matrix.
Then, the parity-check matrix for the mentioned turbo code in our example will be as follows:
Following (9) and (10) provided in the previous section, the degree distribution of this turbo code is given by
9
A Novel Approach for FEC Decoding Based On the BP Algorithm…
payloads which is used for both frame control header (FCH) and data channels. In fact, we will focus here on the FCH which
has much shorter payload sizes (12 and 24 bits) as shown in the next subsection.
𝑔1 𝐷 = 1 + 𝐷 + 𝐷3 . (18)
The initial value of the shift registers of the 8-state con- stituent encoders will be all zeros when starting to encode
(0) (1) (2)
the input bits. The output from the turbo encoder is 𝑑𝑘 = 𝑥𝑘 , 𝑑𝑘 = 𝑧𝑘 , and 𝑑𝑘 = 𝑧𝑘′ for k = 0, 1, 2, . . . , K-1. If the
code block to be encoded is the 0-th code block and the number of filler bits is greater than zero, i.e., F > 0, then the encoder
(0) (0)
will set 𝑐𝑘 = 0, k = 0,. . . , (F-1) at its input and will set 𝑑𝑘 =< 𝑁𝑈𝐿𝐿 > , k = 0,. . . , (F-1) and 𝑑𝑘 =< 𝑁𝑈𝐿𝐿 > ,, k = 0,. .
. , (F-1) at its output [5]. The bits input to the turbo encoder are denoted by 𝑐0 , 𝑐1 , 𝑐2 , 𝑐3 , … , 𝑐𝑘−1 ,, and the bits output from
′
the first and second 8-state constituent encoders are denoted by 𝑧0 , 𝑧1 , 𝑧2 , 𝑧3 , … , 𝑧𝑘−1 and 𝑧0′ , 𝑧1′ , 𝑧2′ , 𝑧3′ , … , 𝑧𝑘−1 ,respectively.
′ ′ ′
The bits output from the turbo code internal interleaver are denoted by 𝐶0 , 𝐶1 , … . , 𝐶𝐾−1 , and these bits are to be the input to
the second 8-state constituent encoder.
V. SIMULATION RESULTS
Considering the previous example of the tail-biting convolu-tional code in WiMAX systems and binary
transmission over an AWGN channel, the BP algorithm as in [4] is compared with the maximum-likelihood (ML) Viterbi
type algorithm to decode the same tail-biting convolutional code [9, 12] To determine by simulation the maximum decoding
performance capability of each algorithm, at least 300 codeword errors are detected at each SNR value. Figure 1 shows a
performance comparison between the two mentioned decoding algorithms for a payload size of 24 bits. Note that the
maximum number of iterations for the BP algorithm is 30 iterations. The imulation results show that the proposed BP
algorithm exhibits a slight performance penalty with respect to the ML Viterbtype algorithm. However, ince the BP decoder
is less complex than this traditional decoder and enables a unified decoding approach, this loss in BER performance is
deemed acceptable
In addition, a comparison between the same short length code using the BP and ML Viterbi algorithms has been
performed in Figure 2. In this case, a loss of 1.85 dB or less in FER compared with the traditional decoder is observed.
10
A Novel Approach for FEC Decoding Based On the BP Algorithm…
In Figure 3, we report simulation results for the AWGN channel for the LTE turbo code that was studied in the
previous section. When compared to the traditional MAP and SOVA decoders [11, 12], the BP algorithm is about 1.7 dB
worse at a BER value of 10−2 . Also, as we obtained a general form for the parity-check matrices of tail-biting convolutional
and turbo codes, then we can enhance the performance by investigating other decoding algorithms which are also applicable
for LDPC codes.
For further research, we propose exploring alternatives to the flooding schedule usually adopted for LDPC codes to
enhance the BER performance.
𝑑 𝑣𝑚𝑎𝑥 𝑑 𝑐𝑚𝑎𝑥
𝑛𝑖
Following the notations of Luby et al. [13], consider a Tanner graph with n left nodes, where 𝑣𝑖 = represents
𝑛
𝑟𝑗
the fraction of left nodes of degree i > 0 and 𝑑𝑣 (resp. 𝑑𝑐 ) isthe variable node degree (res. check node degree). Also, 𝐶𝑗 =
𝑟
is defined to be the fraction of right nodes of degree j > 1.
The complexity comparisons of the various decoding algorithms are shown in Table I where k is the number of
systematic bits and v is the memory order of the encoder. The table gives the operations per iteration for MAP, SOVA, and
BP decoding for the horizontal (H) and vertical (V) step. Note that, for the BP algorithm, the complexity per information bit
is [20]
11
A Novel Approach for FEC Decoding Based On the BP Algorithm…
𝑝0
1 𝑑𝑝
𝐾= , (20)
𝜆𝑖 𝜌𝑖 𝑝
𝑖− 𝑝 log
𝑝𝑡
𝑖 𝑖 𝑖 𝑖 𝜆𝑖 𝑓𝑖 (𝑝)
Considering example 3, Figure 4 shows a comparison between these mentioned algorithms in terms of the number
of operations required in the implementations. In comparison with MAP and SOVA decoders, BP exhibits the lowest
implementation complexity over all the required operations.
VII. CONCLUSION
In this paper, the feasibility of decoding arbitrary tailbiting convolutional and turbo codes using the BP algorithm
was demonstrated. Using this algorithm to decode the tailbiting convolutional code in WiMAX systems speeds up the error
correction convergence and reduces the decoding computational complexity with respect to the ML-Viterbi-based algorithm.
In addition, the BP algorithm performs a non-trellis based forward-only algorithm and has only an initial decoding delay,
thus avoiding intermediate decoding delays that usually accompany the traditional MAP and SOVA components in LTE
turbo decoders. However, with respect to the traditional decoders for turbo codes, the BP algorithm is about 1.7 dB worse at
a BER value of 10−2. This is because the nonzero element distribution in the parity-check matrix is not random enough.
Also, there are a number of short cycles in the corresponding Tanner graphs. Finally, as an extended work, we propose the
BP decoder for these codes in a combined architecture which is advantageous over a solution based on two separate decoders
due to efficient reuse of computational hardware and memory resources for both decoders. In fact, since the traditional turbo
decoders (based on MAP and SOVA components) have a higher complexity, the observed loss in performance with BP is
more than compensated by a drastically lower implementation complexity. Moreover, the low decoding complexity of the
BP decoder brings about endto- end efficiency since both encoding and decoding can be performed with relatively low
hardware complexity.
REFERENCES
[1]. C. Berrou, A. Glavieux, and P. Thitimajshima, “Near Shannon limit error-correcting coding and decoding: Turbo
codes,” IEEE Intl. Conf. on Commun., vol. 2, Geneva, Switzerland, pp. 1064-1070, 1993.
[2]. R. M. Tanner, “A recursive approach to low complexity codes,” IEEE Trans. Inform. Theory, vol. 27, no. 5, pp.
533-547, 1981.
[3]. G. D. Forney, Jr., “Codes on graphs: normal realizations,” IEEE Trans. Inform. Theory, vol. 47, no. 2, pp. 520–
548, 2001.
[4]. H. H. Ma and J. K. Wolf, “On Tail Biting Convolutional Codes,” IEEE Trans. On Commun., vol. 34, no. 2, pp.
104-111, 1986.
[5]. 3GPP TS 45.003, “3rd Generation Partnership Project; Technical Specification Group GSM/EDGE Radio Access
Network; Channel Coding (Release 7),” February, 2007. [6] IEEE Std 802.16-2004, “IEEE Standard for Local and
12
A Novel Approach for FEC Decoding Based On the BP Algorithm…
Metropolitan Area Networks – Part 16: Air Interface for Fixed Broadband Wireless Access Systems,” October,
2004.
[6]. IEEE Std P802.16e/D10, “IEEE Standard for Local and Metropolitan Area Networks – Part 16: Air Interface for
Fixed and Mobile Broadband Wireless Access Systems,” August, 2005.
[7]. D. J. C. MacKay, “Good error-correcting codes based on very sparse matrices,” IEEE Trans. Inform. Theory, vol.
45, no. 2, pp. 399-431, 1999.
[8]. N. Wiberg, “Codes and Decoding on General Graphs,” Linkoping Studies in Science and Technology, Dissertation
No. 440, Linkoping University, -Linkoping, Sweden, 1996.
[9]. R. J. McEliece, D. MacKay, and J.-Fu Cheng, “Turbo Decoding as an Instance of Pearl’s "Belief Propagation"
Algorithm,” IEEE Trans. On Commun., vol. 16, no. 2, pp. 140-152, 1998.
[10]. G. Colavolpe, “Design and performance of turbo Gallager codes,” IEEE Trans. On Commun., vol. 52, no. 11, pp.
1901-1908, 2004.
[11]. T. T. Chen, and S-He Tsai, “Reduced-Complexity Wrap-Around Viterbi Algorithms for Decoding Tail-Biting
Convolutional Codes,” 14th European Wireless Conference, Jun. 2008.
[12]. M. G. Luby, M. Mitzenmacher, M. A. Shokrollahi, and D. A. Spielman, “Improved LDPC Codes Using Irregular
Graphs,” IEEE Trans. Inform. Theory, vol. 47, no. 2, pp. 585-598, 2001.
[13]. Giulietti A., “Turbo Codes: Desirable and Designable,” IKluwer Academic Publishers, ISBN: 1-4020-7660-6,
2004.
[14]. P. Elias, “Coding for Noisy Channels,” IRE Conv. Rec., vol. 3, pt. 4, pp. 37–46, 1955.
[15]. A. J. Viterbi, “Convolutional Codes and their Performance in Communication Systems,” IEEE Trans. On
Commun., vol. 19, no. 15, pp. 751-772, 1971.
[16]. C. Poulliat, D. Declercq, and T. Lestable, “Efficient Decoding of Turbo Codes with Nonbinary Belief
Propagation,” EURASIP Journal on Wireless Communications and Networking, vol. 2008, no. 473613,
[17]. 2008.
[18]. A. Refaey, S. Roy, and P. Fortier, “On the Application of BP Decoding to Convolutiona and Turbo Codes,”
Asilomar Conference on Signals, Systems, and Computers, Nov. 2009.
[19]. P. Stahl, J. B. Anderson, and R. Johannesson, “Optimal and near-optimal encoders for short and moderate-length
tail-biting trellises,” IEEE Trans. Inform. Theory, vol. 45, no. 7, pp. 2562-2571, 1999.
[20]. W. Yu, M. Ardakani, B. Smith, and F. FKschischang, “Complexityoptimized low-density parity-check codes for
Gallager decoding algorithm B,” IEEE International Symposium on Information Theory (ISIT)s, Sep. 2005.
[21]. Ahmed Refaey, Sébastien Roy, and Paul Fortier, “A New Approach for FEC Decoding Based on the
[22]. BP Algorithm in LTE and WiMAX Systems”, IEEE Transaction,2011.
13