A Simplified Belief Propagation Decoder for Polar Codes - IEEE Xplore

0 downloads 0 Views 493KB Size Report
Abstract—In this paper, we propose a simplified belief prop- agation(SBP) decoder for the polar codes, where the update calculation for the messages of the ...
A Simplified Belief Propagation Decoder for Polar Codes Yingxian Zhang, Qingshuang Zhang, Xiaofei Pan, Zhan Ye and Chao Gong Key Laboratory of Military Satellite Communications Institute of Communications Engineering, PLA University of Science and Technology Nanjing 210007, China Email: [email protected]

Abstract—In this paper, we propose a simplified belief propagation(SBP) decoder for the polar codes, where the update calculation for the messages of the so-called frozen nodes is replaced by setting these nodes’ messages by prior probabilities during the BP procedure. Numerical results show that the derived SBP yields almost the same performance as the BP decoders in the literature, while the computational complexity is reduced significantly, which make our SBP more suitable for practical application as compared to the existing BP decoders. Index Terms—simplified belief propagation(SBP); polar codes;

I. I NTRODUCTION As the first provable capacity achieving family of error correction code — polar codes have drawn a lot of attention, since their introduction [1]. However, the capacity achieving property of polar codes is based on the condition that the code length is going to infinity, performance of the codes in the finite length regime is still in the constant research. To show the performance of polar codes, Arikan had given the first decoding algorithm — successive-cancelation(SC), in [1], although its performance significantly degraded with respect to that of Maximum Likelihood(ML) decoding. After that, some improved versions of SC decoding algorithms were introduced. In [2], a successive-cancelation list(SCL) decoder was proposed, results of which had shown that, with list number increasing, performance of SCL decoder was very close to that of the ML decoder. In [3], the authors showed that, with CRC aided, performance of SCL decoder even outperformed that of turbo codes. And in [4], another improved decoding algorithm called stack successive-cancelation (SCS) was proposed, which decreased time complexity of the SCL at cost of space complexity. However, due to the serial processing nature of the SC decoding algorithm, all above algorithms have a high decoding latency and low throughput, which would affect their practical applications correspondingly. As a fully parallel decoding algorithm, belief propagation(BP) decoding had drawn lots of attention since advent of the polar codes. Based on the factor graph representation of the codes[5], authors in [6][7] had investigated the performance of the BP decoding. Results showed that BP decoding had particular advantages with respect to the decoding latency and throughput, where the performance was better than that of SC decoding.

In this paper, a simplified belief propagation(SBP) decoder is proposed to reduce the computational complexity of current BP ones. As it shown in [8], basic messages update calculation unit in BP decoder of polar codes is so-called processing element(PE), each of which has two input and output nodes. Refer to the work of [9], the nodes of PE in the SBP decoder are divided into two groups. Nodes in the first group are called frozen nodes, whose value are determined, and nodes of another group are called information nodes, values of which depend on the input bits of the encoder. In the SBP decoder, messages of the frozen nodes are set by prior probabilities instead of update calculation during the procedure of the BP decoding, which will reduce the computational complexity of the BP decoding. In the paper, the PEs in the SBP decoder are first classified into four types depended on the number of frozen and information nodes. Then, messages update equations for different type of PEs are investigated. After that, we analyze the complexity and performance of our method. The numerical results show that performance of our proposed decoder is almost the same as that of current BP decoder, with an remarkable reduction of computing complexity. The remainder of this paper is organized as follows. In Section II, we provide a short background on the polar codes and introduce the belief propagation (BP) decoder for polar codes. In Section III, the simplified BP decoder is introduced with analysis of structure of the encoder and decoder. And then, we compare the computing complexity of the proposed and current BP decoder in Section IV, where we also present simulation results of bit error performance. Finally, this paper is concluded in Section V. II. P RELIMINARY A. Polar Codes The advent of polar codes is based on channel combination and polarization theory in Arikan’s work [10]. After that, in [1], the author had introduced polar codes further. Results of the two works shown that, by exploting channel combination and polarization, polar codes approach the capacity of a symmetric channel, when the code length, N , goes [to infinity. ] 1 0 The kernel of construction of polar codes is F = . 1 1 n As for a polar code with code length N = 2 , code word of a input bits which consists of information bits and frozen bits

978-1-4799-3403-4/14/$31.00 ©2014 IEEE

Stage 0

Stage 1

Stage 2

Stage 3

v1

x1

W

y1

x2

W

y2

x3

W

y3

x4

W

y4

x5

W

y5

x6

W

y6

v7

x7

W

y7

v8

x8

W

y8

v2 v3 v4 v5 v6

Fig. 1.

jth PE in stage i, where t is the iteration number. ptIR (i, 2j) and ptIR (i, 2j + 1) are the left-to-right probability messages passed from the input nodes. ptOL (i, 2j) and ptOL (i, 2j + 1) are the right-to-left probability messages passed from the output nodes, ptOR (i, 2j) and ptOR (i, 2j + 1) are the left-toright probability messages passed to the output nodes. During the belief propagation procedure, messages update will be calculated with the following equations as

Code construction of polar codes with N=8

[1], could be recursively constructed by N/2 numbers of F , and n is the recursive stage number. As shown in Fig.1, the processing of construction of polar codes with N = 2n = 8 (n = 3) could split into n = 3 stages. In each stage, there has number of N/2 = 4 processing element(PE) whose generation matrix is equal to F , and each PE has two input and two output nodes. We denote input nodes of jth PE in stage i by variables vI (i, 2j), vI (i, 2j + 1) for 0 ≤ i ≤ n − 1 and 0 ≤ j ≤ N/2 − 1, and output nodes are vO (i, 2j), vO (i, 2j + 1) respectively, and there has vO (i, 2j) = vI (i, 2j) ⊕ vI (i, 2j + 1) vO (i, 2j + 1) = vI (i, 2j + 1)

(1)

where 0 ⊕ 0 = 0, 1 ⊕ 1 = 0, 1 ⊕ 0 = 1, 0 ⊕ 1 = 1. The vector u = [u0 , u1 , . . . , ui , . . .],0 ≤ i ≤ N − 1 is input sequence of the encoder, ui = vI (0, i), 0 ≤ i ≤ N − 1. And x = [x0 , x1 , . . . , xi , . . .] is the output code word, xi = vO (n − 1, i), 0 ≤ i ≤ N − 1. B. Belief Propagation Decoding The belief propagation(BP) decoding algorithm for polar codes is based on the factor graph representation of the code [6]. Each node vI (i, j) or vO (i, j) is associated two types of messages: left-to-right messages and right-to-left messages. During the BP decoding procedure, two types of messages are propagated and update iteratively between adjacent nodes. In each iteration, the messages update will start from the leftmost column to rightmost column, then from the rightmost to leftmost. vI !i,2 j "

vI i,2 j

pILt !i, 2 j "

t pOL i,2 j !

t pIR i,2 j !

t pOR i,2 j !

pILt i,2 j

1!

t pIR !i,2 j

1"

t pOL !i,2 j

vO i,2 j ! 1"

vO !i, 2 j

1!

Fig. 2.

t pOR !i,2 j

1"

1"

Processing element of BP decoder

The basic processing element(PE) of the BP decoder is shown in Fig.2. ptIL (i, 2j) and ptIL (i, 2j + 1) are the rightto-left probability messages passed to the input nodes of the

ptIL (i, 2j) = ptOL (i, 2j) ⊗ [ptOL (i, 2j + 1) ⊙ ptIR (i, 2j + 1)] ptIL (i, 2j + 1) = [ptIR (i, 2j) ⊗ ptOL (i, 2j)] ⊙ ptOL (i, 2j + 1) ptOR (i, 2j) = ptIR (i, 2j) ⊗ [ptIR (i, 2j + 1) ⊙ ptOL (i, 2j + 1)] ptOR (i, 2j + 1) = [ptIR (i, 2j) ⊗ ptOL (i, 2j)] ⊙ ptIR (i, 2j + 1) (2) To explain the equations(2), we further define equations as px ⊗ py = p(x⊕y) and px ⊙ py = p(x=y) . And p(x⊕y) , p(x=y) satisfy the following equations as p(x⊕y) (0) = px (0) ∗ py (0) + px (1) ∗ py (1) p(x⊕y) (1) = px (0) ∗ py (1) + px (1) ∗ py (0) p(x=y) (0) = px (0) ∗ py (0) p(x=y) (1) = px (1) ∗ py (1)

(3)

where px (0) is the probability of variable x = 0, and px (1) is the probability of x = 1. Based on the factor graph [6] and equations(2), after the decoder reaches maximum iteration number, BP decoder will output the decoded bits, which is hard decision of the ptIL (0, i). It is noted that, in each iteration, pOL (n − 1, i) is equal to pyi which is the ith received symbol(yi )’s probability, and pIR (0, i) is equal to pf or 0.5 depended on whether the ith input bit is frozen bit or not. III. S IMPLIFIED BP D ECODER As mentioned in section I.A, the input sequence of the encoder consists of information bits and frozen bits which is a determined vector [1]. Therefore, with the code structure of Fig.1, we will notice some intermediate nodes in the construction of the codes will be also determined, which are called as frozen nodes. As shown in Fig.6, construction structure of code length N = 16 is given. The red circle nodes are frozen nodes, leftmost of which are input frozen bits [1]. And the white circle nodes are called as information nodes. The simplified BP(SBP) decoder is based on above analysis and observation, in which messages of frozen nodes are set with prior probabilities during the BP procedure, instead of update calculation by equations(2). For insight on the computational complexity of SBP decoder, depending on different numbers of frozen and information nodes, all the PEs of SBP decoder are classify into four types, which are shown in Fig.4.(a), Fig.4.(b), Fig.4.(c) and Fig.4.(d) respectively. The message update equations for type of PEs shown in Fig.4.(d) are the same as the equations(2). As for the type of PEs shown in Fig.4.(a), the message update equations will be ptIL (i, 2j) = ptOL (i, 2j) = pf ptIL (i, 2j + 1) = ptOL (i, 2j + 1) = pf ptOR (i, 2j) = ptIR (i, 2j) = pf ptOR (i, 2j + 1) = ptIR (i, 2j + 1) = pf

(4)

978-1-4799-3403-4/14/$31.00 ©2014 IEEE

TABLE I N UMBER

OF OPERATORS WITH DIFFERENT TYPE

Type of PEs (a) (b) (c) (d)

Operator ’*’ 0 6 9 12

PE IN SBP

DECODER

Operator ’+’ 0 2 3 4

addition(’+’) will be reduce in different types of PEs correspondingly. Based on equations(4-6), Table I gives the number of operators ’*’ and ’+’ for different types of PEs. It is obvious that all the number of operator in the first three type of PEs are less than that of PEs shown in Fig.4.(d). And the more of the first three type of PEs, the less number of ’*’ and ’+’, which will lead to reduction of the computational complexity. IV. N UMERICAL R ESULTS In this section, we will show the performance from computational complexity and bit error performance aspects. A. Complexity Fig. 3.

Code construction of polar codes with length N=16

where pf is prior probability of the frozen bits or nodes. In general, if the value of frozen node is zero, there will have pf (0) = 1, pf (1) = 0. And for the type of PEs shown in Fig.4.(b), the messages update equations will be ptIL (i, 2j) = ptOL (i, 2j) ⊗ pf ptIL (i, 2j + 1) = ptOL (i, 2j + 1) = pf ptOR (i, 2j) = ptIR (i, 2j) ⊗ pf ptOR (i, 2j + 1) = ptIR (i, 2j + 1) = pf

(5)

The equations for type shown in Fig.4.(c) will be get as the same way, which are ptIL (i, 2j) = ptIR (i, 2j) = pf ptIL (i, 2j + 1) = [pf ⊗ ptOL (i, 2j)] ⊙ ptOL (i, 2j + 1) ptOR (i, 2j) = pf ⊗ [ptIR (i, 2j + 1) ⊙ ptOL (i, 2j + 1)] ptOR (i, 2j + 1) = [pf ⊗ ptOL (i, 2j)] ⊙ ptIR (i, 2j + 1)

TABLE II

(6)

As mentioned above, the frozen nodes’ message will be set by prior probabilities, operator of multiplication(’*’) and

(a)

As shown in Table I, with the number of PEs of type(a), type(b) and type (c) increasing, the operation of multiplication(’*’) and addition(’+’) will decrease, which will result in the reduction of computational complexity of the BP decoder. Table II gives the total numbers of operation ’*’ and ’+’ in one iteration of messages update of BP and SBP decoder, with different code length N , in which the index of information bits are same as that in [1]. It is noticed that, compared with BP decoder, the operation number of the SBP decoder decrease remarkably. The last two columns of table II show the operator number ratio of SBP and BP decoder. We could find that the operator number could be reduced by 19.9%25%, with increasing of N , the reduction ratio will increase correspondingly. And in next section, we will show the bit error performance of the SBP decoder. C OMPLEXITY N 128 256 512 1024 2048 4096 8192 16384 32768

OF

BP

AND

BP ’*’ 5376 12288 27648 61440 135168 297072 566976 1384896 2949120

SBP

’+’ 1792 4096 9216 20480 45056 99024 188992 461632 983040

DECODER WITH DIFFERENT CODE LENGTH

SBP ’*’ ’+’ 4308 1436 9588 3196 21420 7140 47628 15876 105696 35232 228444 76148 414516 138172 1044564 348188 2211480 737160

Ratio ’*’ ’+’ 0.801 0.8013 0.780 0.7803 0.775 0.7747 0.775 0.7752 0.782 0.7820 0.769 0.7690 0.731 0.7311 0.754 0.7543 0.750 0.7499

(b)

B. Performance (c) Fig. 4.

(d) Different type PE of proposed BP decoder

To show the bit error performance of the proposed BP decoder, we set up Monte Carlo simulation with BPSK modulation and additive white Gaussian noise(AWGN) channel. In the simulation, code construction is same as that in [1],

978-1-4799-3403-4/14/$31.00 ©2014 IEEE

code rate R is 0.5, simulation frame length is equal to the code length, the maximum simulation frame number is 106 , maximum iteration number is 60. The simulation results are shown in Fig.5. −1

10

BP,N=256 BP,N=512 BP,N=1024 BP,N=2048 SBP,N=256 SBP,N=512 SBP,N=1024 SBP,N=2048

−2

Bit error rate

10

−3

10

−4

10

[2] I. Tal and A. Vardy, ”List decoding of polar codes,” in Proc. 2011 IEEE Int. Symp. Inform. Theory, pp. 1-5, 2011. [3] I. Tal and A. Vardy, ”List decoding of polar codes,” arXiv:1206.0050v1, May 2012. [4] K. Chen, K. Niu, and J. R. Lin, ”Improved Successive Cancellation Decoding of Polar Codes,” IEEE Trans. Comm., vol. 61, no. 8, pp. 31003107, August 2013. [5] E. Arikan, ”A performance comparison of polar codes and reed-muller codes,” IEEE Commun. Lett., vol. 12, no. 6, pp. 447-449, June 2008. [6] E. Arikan, ”Polar codes: A pipelined implementation,” in Proc. 4th Int. Symp. on Broad. Commun.ISBC 2010, pp. 11-14, July 2010. [7] N. Hussami, S. Korada, and R. Urbanke, ”Performance of polar codes for channel and source coding,” in IEEE International Sympousiom on Information Theory (ISIT), 2009. [8] B. Yuan and K. K. Parhi, ”Architecture optimizations for bp polar decoders,” in Proc. 38th Int. Conf. on Acous., Speech, and Sig. Proc.(ICASSP), pp. 2654-2658, 2013. [9] A. Alamdar-Yazdi and F. R. Kschischang, ”A simplified successivecancellation decoder for polar codes,” IEEE Commun. Lett., vol. 15, no. 12, pp. 1378-1380, December 2011. [10] E. Arikan, ”Channel combining and splitting for cutoff rate improvement,” IEEE Trans. Inf. Theory, vol. 52, no. 2, pp. 628-639, February 2006.

−5

10

1.5

2

Fig. 5.

2.5

3 Eb/N0(dB)

3.5

4

4.5

Performance of BP and SBP decoder

In the Fig.5, bit error rates of BP and SBP decoders with different code length, N = 256, 512, 1024, 2048, are shown. We could find that there is no remarkable performance loss between SBP decoder and BP decoder. That is to say, SBP yields the same performance as the BP decoders, while the computational complexity is reduced significantly. Therefore, we can conclude that SBP is more suitable for practical application. V. C ONCLUSION In this paper, a simplified belief propagation(SBP) decoder for polar codes is proposed to reduce the computational complexity of current BP decoder. In the SBP decoder, messages of the frozen nodes are set by prior probabilities, during the belief propagation procedure, instead of messages update calculation. The PEs in the SBP decoder are first classified into four types depended on the number of frozen and information nodes. Then, messages update equations for different type of PEs are introduced. After that, we analyze the complexity and performance of our method. Numerical results shows that, the SBP decoder could improve a significant computational complexity while keep same the error performance as that of the current BP decoder. Therefore, it is concluded that SBP decoder is more suitable for practical application. It is important to note that the choose of frozen and information bits will affect the performance of the code, our simulation is just show the performance and complexity of different BP decoders with the same code construction. Researching of code construction is out of range of this paper. R EFERENCES [1] E. Arikan, ”Channel polarization: a method for constructing capacityachieving codes for symmetric binary-input memoryless channels,” IEEE Trans. Inf. Theory, vol. 55, no. 7, pp. 3051-3073, July 2009.

978-1-4799-3403-4/14/$31.00 ©2014 IEEE