Received March 24, 2018, accepted May 2, 2018, date of publication May 8, 2018, date of current version June 5, 2018. Digital Object Identifier 10.1109/ACCESS.2018.2834465
Simplified Successive Cancellation Decoding of Polar Codes With Medium-Dimensional Binary Kernels ZHILIANG HUANG 1 , (Member, IEEE), SHIYI ZHANG1 , FEIYAN ZHANG CHUNJIANG DUANMU1 , (Member, IEEE), FARONG ZHONG1 , AND MING CHEN2 , (Member, IEEE)
1 School
1,
of Mathematics, Physics and Information Engineering, Zhejiang Normal University, Jinhua 321004, China Mobile Communications Research Laboratory, School of Information Science and Engineering, Southeast University, Nanjing 210096, China
2 National
Corresponding author: Zhiliang Huang (
[email protected]) This work was supported in part by the National Nature Science Foundation of China under Grant 61401399, Grant 61402418, Grant 61503342, and Grant 61502431, in part by the Research Fund of the National Mobile Communications Research Laboratory, Southeast University, under Grant 2016D05, and in part by the Zhejiang Provincial Nature Science Foundation of China under Grant LY18F010017 and Grant LY17F010003.
ABSTRACT A method is proposed, called l-formula, to design efficient successive cancellation (SC) decoding of polar codes with medium-dimensional binary kernels (dimensions up to 16). Our l-formula method obtains the simplified recursive formulas of the SC decoder in the likelihood ratio domain for any binary kernel. We confirm that the complexity of the SC decoder based on l-formulas achieves considerable advantages over the straightforward SC decoder for polar codes with medium-dimensional binary kernels. INDEX TERMS exponent.
Polar codes, successive cancellation decoding, high-dimensional kernel, l-formula,
I. INTRODUCTION
Polar codes were introduced by Arıkan [1] as the first family of capacity-achieving codes with an explicit construction method and low encoding/decoding complexities for the class of binary input discrete memoryless channels (B-DMCs). Arıkan’s polar codes are based on the kernel matrix original 10 G2 = and its nth Kronecker power G⊗n 2 corresponds 11 n to a linear code with code length N = 2 . It was shown in [2] that the block error probability of G2 polar codes n(β−) under successive cancellation (SC) decoding is o(2−2 ) for any > 0 with β = 0.5. β is called exponent of the kernel and can exceed 0.5 for large kernel matrix Gm of size m × m [2]. A larger exponent means a faster asymptotic speed of polarization and generally implies a lower decoding error probability for polar codes in the same block length. Many researchers have constructed high-dimensional kernels with large exponents. Based on Bose–Chaudhuri– Hocquenghem (BCH) codes, Korada et al. [2] provided a construction of binary kernels with a large exponent. Mori and Tanaka [3] proposed a construction of non-binary kernels with a large exponent based on Reed–Solomon codes. VOLUME 6, 2018
In [4], Presman et al. used code decompositions to obtain linear and nonlinear binary kernels with larger exponents. In [5], Lin et al. proposed linear and nonlinear binary kernels attaining the maximum possible exponent of dimension m for 2 ≤ m ≤ 16. Although many useful methods were proposed to construct high-dimensional kernels with large exponents [2]–[5], it was pointed out in [2] that the complexity of a straightforward SC decoder for Gm polar codes behaved as O(2m N logm N ). Thus, the straightforward SC decoder is not practical for large kernels. In [1], to reduce the complexity of the SC decoder, the recursive formulas were transformed from the transition probability domain (i.e., transition probabilities connected by × and +) to the likelihood ratio domain (i.e., likelihood ratios connected by 1 and ×). For G2 , the recursive formulas in the (1) (2) likelihood ratio domain are l2 = l1 l2 , l2 = l11−2u1 l2 [1], which are called the l-formulas in this study. Bonik et al. [6] intended to obtain l-formulas for high-dimensional binary kernels. However, only l-formulas for a G3 kernel were given. In [7], Wang et al. tried to generalise the ideas of [6], but 1 l l = (l l + 1)/(l + l ), l and l are real values 1 2 1 2 1 2 1 2
2169-3536 2018 IEEE. Translations and content mining are permitted for academic research only. Personal use is also permitted, but republication/redistribution requires IEEE permission. See http://www.ieee.org/publications_standards/publications/rights/index.html for more information.
26707
Z. Huang et al.: Simplified SC Decoding of Polar Codes With Medium-Dimensional Binary Kernels
provided l-formulas of kernels up to dimension 4. In fact, their methods cannot be generalised to high-dimensional kernels because they require a tree structure for the given kernels. This is not true even for a small kernel G6 . In this study, we propose a systematic method to obtain l-formulas for any high-dimensional binary linear kernel. Using the l-formula method, our study’s main contributions are as follows. • We devise an l-formula method to obtain simplified recursive formulas of the SC decoder in the likelihood ratio domain for arbitrary binary linear kernels. • We show that the complexity of the SC decoder based on l-formulas offers considerable advantages over the straightforward SC decoder for polar codes with medium-dimensional binary kernels (size up to 16). • We demonstrate the comparison of error performance for polar codes with medium-dimensional binary kernels under SC decoding. The rest of the paper is organised as follows. In Section II, we introduce the basic definitions, our basic task, the definition of the l-formula, and the motivation of this study. In Section III, we describe in details how to obtain l-formulas for an arbitrary binary kernel matrix. In Section IV, we present complexity analysis of SC decoder based on the l-formula. In Section V, we demonstrate the error performance of polar codes with medium-dimensional binary kernels. We conclude the paper in Section VI. II. PRELIMINARIES A. NOTATIONS
We write W : {0, 1} → Y to denote a B-DMC channel with input alphabet {0, 1}, output alphabet Y, and transition probabilities W (y|x), x ∈ {0, 1}, y ∈ Y. We use the notation aN 1 to denote a row vector (a1 , · · · , aN ). For a general m × m kernel matrix Gm (all kernels used in this paper are linear optimal kernels given in [5]), WGm : {0, 1}m → Y m is defined by m WGm (ym 1 |u1 ) ,
m Y
W (yi |(um 1 Gm )i ).
(1)
i=1 (i)
Then, bit-channels WGm : {0, 1} → Y m × {0, 1}i−1 , 1 ≤ i ≤ m are defined by (i)
i−1 WGm (ym 1 , u1 |ui ) ,
1 2m−1
X
m WGm (ym 1 |u1 ).
26708
(i)
i−1 WGm (ym 1 , u1 |ui = 1) P m W (y1 |(um um 1,ui =0 Gm )1 ) · · · W (ym |(u1,ui =0 Gm )m ) i+1 = P m m um W (y1 |(u1,ui =1 Gm )1 ) · · · W (ym |(u1,ui =1 Gm )m ) i+1
(4) i−1 m where um 1,ui =0 means (u1 , ui = 0, ui+1 ). We use the simple notation that follows instead of (4) P um W (y1 |u1 ) · · · W (yi |ui ) · · · W (ym |um ) lm(i) = P i+1 (5) um W (y1 |u1 ) · · · W (yi |ui ) · · · W (ym |um ) i+1
where uk = (um 1,ui =0 Gm )k , k = 1, · · · , m, uk = uk + 1. Let gik denote the element of Gm in the ith row and kth column. In the denominator of (5), if gik = 1, (um 1,ui =1 Gm )k = uk ; otherwise (um G ) = u . k 1,ui =1 m k Let si denote the set of variables contained in ui . ui ∩uj = ∅ means si ∩ sj = ∅. ui ⊂ uj means si ⊂ sj . All operations will be over GF(2). If u1 = u4 + u5 and u2 = u5 + u6 , then u1 + u2 = u4 + u6 . We write 1u1 =0 to denote the indicator function of equation u1 = 0; thus, 1u1 =0 equals 1 if u1 = 0 and 0 otherwise. B. BASIC TASK
We call the calculation of the recursive formulas of SC decoding inside kernel calculation. The complexity of computing the inside kernel calculation using (4) is O(m2m ). A polar n code defined by G⊗n m with code length N = m must be recursively implemented by N logm N /m times the inside kernel calculation for the SC decoder. Therefore, the complexity of SC decoding behaves as O(2m N logm N ) for a general kernel matrix Gm . It grows exponentially with the kernel size. Thus, our basic purpose is to reduce the computational cost of (4). C. l -FORMULA
For G2 , a straightforward calculation using the recursive (1) (2) (1−2u1 ) formulas (4) results in l2 = l1 l2 , l2 = l1 l2 . In this (i) study, we show that lm , 1 ≤ i ≤ m can also be computed by a formula of l1 , · · · , lm connected by and × for an arbitrary m. We call these l-formulas. In [6], l-formulas are given for a G3 as follows. l3 = l1 l2 l3 (2)
(3) l3
(i)
where ui ∈ {0, 1}, i = 1, · · · , m.
i−1 WGm (ym 1 , u1 |ui = 0)
(1−2u1 )
l3 = l1
For SC decoding, the basic recursive formulas are
ui+1
(i)
lm(i) ,
(1)
(2)
um i+1
i−1 WGm (ym 1 , u1 |ui ) 1 X m = m−1 W (y1 |(um 1 Gm )1 ) · · · W (ym |(u1 Gm )m ) 2 m
Define the channel likelihood ratio li , W (yi |0)/W (yi |1) and the bit-channel likelihood ratio as
(3)
=
l3 l2 (1−2(u1 +u2 )) l1 l3 .
li lj means li × lj . The priority for two operators is × < . (1−2u1 ) (1−2u1 ) Thus, l1 l3 l2 = (l1 l3 ) × l2 . The kernel matrix G3 is 1 0 0 G3 = 1 1 0 . 1 0 1 VOLUME 6, 2018
Z. Huang et al.: Simplified SC Decoding of Polar Codes With Medium-Dimensional Binary Kernels
D. MOTIVATION
III. l -FORMULAS FOR Gm
A unit of l-formulas is called the simplest l-formulas if it contains l1 , · · · , lm no more than once in each formula. The l-formulas of G2 and G3 are the simplest l-formulas. Obviously, if a kernel Gm always has the simplest l-formulas, the complexity of the inside kernel calculation grows linearly with the kernel size m. Thus, based on this observation, we design an algorithm to obtain the l-formulas for any binary kernel in hopes of reducing the complexity of the SC decoder. However, only small kernels with dimension m ≤ 5 have the simplest l-formulas, whereas large kernels have no simplest l-formulas. Although the l-formulas method does not have the simplest l-formulas for a general large kernel, it still achieves a considerable reduction in complexity compared to the straightforward recursive formulas.
In this section, we propose our method to generate l-formulas (i) of lm , i = 1, · · · , m for an arbitrary kernel Gm . We begin with an example to illustrate the method and denote some functions in the description of the example. Next, a high-level description of the l-formula generating algorithm is proposed according to these functions. Finally, we give the details and proofs of these functions in a general case.
E. A NON-TRIVIAL EXAMPLE
Example 1 (l-Formulas for an Optimal G6 Kernel): (1)
l6 = l1 l2 l3 l4 l5 l6 (2)
l6 = (l1 l3 l4 )(l2 l5 l6 ) (3)
l6 = (l1 l4 l3 ) (l2 l6 l5 ) (4)
l6 = l1 (l2 (l3 l5 ) (l4 l6 )) l4 ((l1−1 l2 ) (l3 l5 )l6 ) (5)
l6 = (l1 l2 ) (l4 l6 )(l3 l5 ) (6)
l6 = l1 l2 l4 l6 (i) Here, for each l6 , the known values ui−1 1 are omitted and are explained by the hide known values function described in Section III. The kernel matrix in Example 1 is 1 0 0 0 0 0 1 1 0 0 0 0 1 0 1 0 0 0 . G6 = 1 0 0 1 0 0 1 1 1 0 1 0 1 1 0 1 0 1 Optimal means the kernel G6 has the maximum exponent among all 6 × 6 binary kernels [5]. The effect of is the same as ×. But its priority is lower than ×. The priority for three operators is < × < . A sub-formula is a formula that contains l1 , · · · , lm no more than once when connected by and ×. The length of a l-formula is the number of sub-formulas contained therein. (4) In Example 1, l6 is connected by two sub-formulas with and is specifically used to separate sub-formulas. Thus, (4) the length of l6 is 2. The lengths of other l-formulas are all 1. Therefore, the total length is 7 for this example. The complexity of the straightforward G6 SC decoder is O(26 N log6 N ). With l-formulas, we reduce the complexity to O(7N log6 N ), where 7 is the total length of the l-formulas. Section IV provides the details on the complexity analysis. Note that the notation O(·) is a slight abuse of the notation. VOLUME 6, 2018
A. ILLUSTRATIVE EXAMPLE (4)
In Example 2, we use l6 to illustrate the l-formula generating algorithm. First, we provide some notations. The right part of (6), as shown at the bottom of the next page, is called the expression. Each term in the summation of the numerator or denominator in (6) such as W (y1 |u5 + u6 ) or W (y1 |u5 + u6 ) is called the channel expression. (7) and (8), as shown at the bottom of the next page, are called sub-expressions. Ignoring l1 in (9), as shown at the bottom of the next page, the remaining parts are two sub-expressions. Denote a1 = u1 + u2 + u3 , a2 = u2 , a3 = u3 , which are (4) known values for l6 . We can omit these values during the first step, as in (6), and add them to the final step, as in (12), as shown at the bottom of the next page, in the algorithm. The function that omits known values during the first step and adds them to the final step is called hide known values. Then, (6) is obtained based on definition (4) and the hide known values. Denote W (y3 , y5 |u5 ) = W (y3 |u5 )W (y5 |u5 ) in (7) and (8). (y3 ,y5 |0) We then have ly3 ,y5 , W W (y3 ,y5 |1) = l3 l5 . This function is called zero-variable combine. The zero-variable combine assumes three other forms: W (yi , yj |uk ) = W (yi |uk )W (yj |uk ), W (yi , yj |uk ) = W (yi |uk )W (yj |uk ), and W (yi , yj |uk ) = W (yi |uk )W (yj |uk ). In addition, we have lyi ,yj = li lj−1 , lyi ,yj = li−1 lj , and lyi ,yj = li−1 lj−1 , lyi ,yj = li−1 lj−1 , respectively. In (6), we can see that W (y1 |u5 + u6 ) and W (y4 |u6 ) in the numerator are different from W (y1 |u5 + u6 ) and W (y4 |u6 ) in the denominator, respectively. This is referred (4) to P as two differences for l6 . By multiplying the same term u65 W (y1 |u5 + u6 ) · · · W (y4 |u6 ) · · · W (y6 |u6 ) in the numerator and denominator of (6), we obtain (7) and (8). Obviously, (6) = (7) (8). (7) and (8) are sub-expressions. is specifically used to separate sub-expressions. It follows that only one difference exists in both (7) and (8). The function that induces (7) (8) from (6) and results in only one difference is called the extend method. With only one difference in (7), we can implement the fundamental step on (7) and obtain the left part of (9). This is the key step of the algorithm. First, W (y21 |u5 + u6 ) = W (y1 |u5 + u6 )W (y2 |u5 + u6 ) in (8) is denoted. This is the zero-variable combine. We then obtain the right part of (9) by denoting W (y21 , y3 , y5 |u6 ) = P 2 u5 W (y1 |u5 + u6 )W (y3 , y5 |u5 ). In addition, we have ly2 ,y3 ,y5 = ly2 ly3 ,y5 = l1−1 l2 l3 l5 . We call this function 1
1
26709
Z. Huang et al.: Simplified SC Decoding of Polar Codes With Medium-Dimensional Binary Kernels
one-variable combine. The one-variable combine P assumes another form: W (yi , yj |ul ) = uk W (yi |uk + ul ) W (yj |uk ). Moreover, lyi ,yj = li−1 lj . The left part of (10) is obtained by executing u5 = u6 and u5 = u6 + 1 for each channel expression in the numerator and denominator for the left part of (9), respectively. The right part of (10) is obtained by executing the zerovariable combine while denoting W (y21 , y3 , y5 , y6 |u6 ) = W (y21 , y3 , y5 |u6 )W (y6 |u6 ) and the fundamental step in the right part of (9). Equation (11) is obtained by implementing the fundamental step in the left part of (10) and executing u6 = 0 and u6 = 1 in both the left and right portions of (10). We get (12) by executing l1 = l11−2a1 , l2 = l21−2a2 , 1−2a l3 = l3 3 in (11). B. HIGH-LEVEL DESCRIPTION OF THE ALGORITHM
For a complete description of the l-formula generating algorithm, we require two more functions: the standard expression transform and symmetric expression transform. The two functions are not necessary, but they can simplify the final l-formulas. In addition, we use two simplifications to denote zero-variable combine and one-variable combine. Based on these functions, a high-level description is given in Algorithm 1 of the l-formula generating procedure. In Algorithm 1, each step works on the results from the previous step. When a while loop finishes, the start values of summation reduce at least 1 (such as (9) to (10), u65 to u6 ).
Algorithm 1 l-Formula Generating Procedure input: A kernel matrix Gm , index i, and channel likelihood ratios l1 , · · · , lm (i) output: lm as a function of l1 , · · · , lm P (i)
//Starts from lm =
P
um i+1 um i+1
W (y1 |u1 )···W (yi |ui )···W (ym |um )
W (y1 |u1 )···W (yi |ui )···W (ym |um )
early processing: implement hide known values and (i) standard expression transform on lm while i + 1 ≤ m do for each sub-expression do two simplifications as much as possible symmetric expression transform extend method for each sub-expression do two simplifications as much as possible fundamental step end for end for end while
Thus, the algorithm will stop after at most m − i while loops. C. DETAILS OF FUNCTIONS 1) HIDE KNOWN VALUES
Given a kernel Gm , let GA and GB be the submatrices of Gm consisting of the first i − 1 rows and last m − i + 1 rows, respectively.
Example 2: P (4) l6
= P P = P P P
u65
W (y1 |u5 + u6 )W (y2 |u5 + u6 )W (y3 |u5 )W (y4 |u6 )W (y5 |u5 )W (y6 |u6 )
u65
W (y1 |u5 + u6 )W (y2 |u5 + u6 )W (y3 |u5 )W (y4 |u6 )W (y5 |u5 )W (y6 |u6 )
u65
W (y1 |u5 + u6 )W (y2 |u5 + u6 )W (y3 , y5 |u5 )W (y4 |u6 )W (y6 |u6 )
u65
W (y1 |u5 + u6 )W (y2 |u5 + u6 )W (y3 , y5 |u5 )W (y4 |u6 )W (y6 |u6 )
u65
W (y1 |u5 + u6 )W (y2 |u5 + u6 )W (y3 , y5 |u5 )W (y4 |u6 )W (y6 |u6 )
∼ expression
(6)
∼ sub-expression
(7)
∼ sub-expression W (y1 |u5 + u6 )W (y2 |u5 + u6 )W (y3 , y5 |u5 )W (y4 |u6 )W (y6 |u6 ) P P 2 u65 W (y2 |u5 + u6 )W (y3 , y5 |u5 )W (y4 , y6 |u6 )1u5 +u6 =0 u W (y1 , y3 , y5 |u6 )W (y4 |u6 )W (y6 |u6 ) = l1 P P 6 2 u65 W (y2 |u5 + u6 )W (y3 , y5 |u5 )W (y4 , y6 |u6 )1u5 +u6 =1 u6 W (y1 , y3 , y5 |u6 )W (y4 |u6 )W (y6 |u6 ) | {z } | {z }
P P 2 W (y3 , y5 |u6 )W (y4 , y6 |u6 ) u u6 W (y1 , y3 , y5 , y6 |u6 )1u6 =0 6 P = l1 l l P 4 2 2 u W (y3 , y5 |u6 )W (y4 , y6 |u6 ) u W (y1 , y3 , y5 , y6 |u6 )1u6 =1 | 6 {z } | 6 {z } sub-expression
= 26710
(9)
sub-expression
sub-expression
=
(8)
u65
l1 (l2 (l3 l5 ) (l4 l6 )) l4 ((l1−1 l2 ) (l3 l5 )l6 ) (1−2(u1 +u2 +u3 )) (1−2u2 ) (1−2u3 ) l1 (l2 (l3 l5 ) (l4 l6 )) l4
(10)
sub-expression
(11) −(1−2(u1 +u2 +u3 )) (1−2u2 ) (1−2u3 ) l2 ) (l3 l5 )l6 )
((l1
(12) VOLUME 6, 2018
Z. Huang et al.: Simplified SC Decoding of Polar Codes With Medium-Dimensional Binary Kernels
Let aj = (ui−1 1 GA )j , j = 1, · · · , m, and we have m W (yj |(um 1 Gm )j ) = W (yj |aj + (ui GB )j ).
Because aj are known values, we can replace (4) by the following expression P m m um W (y1 |(ui,ui =0 GB )1 ) · · · W (ym |(ui,ui =0 GB )m ) (i) lm = P i+1 m m um W (y1 |(ui,ui =1 GB )1 ) · · · W (ym |(ui,ui =1 GB )m ) i+1
(13) Proposition 1 (Hide Known Values): Assume we obtain (i) the l-formula lm,(13) = fi (l1 , · · · , lm ) using (13) by (i) Algorithm 1. Then, the real l-formula of lm,(4) using (4) is (i) (1−2a1 ) (1−2am ) lm,(4) = fi (l1 , · · · , lm ). Proof: For an arbitrary j ∈ 1, · · · , m, lj,(4) =
W (yj |aj + (um i,ui =0 GB )j )
W (yj |aj + (um i,ui =1 GB )j ) W (yj |(um i,ui =0 GB )j ) 1−2aj =( ) = (lj,(13) )1−2aj W (yj |(um i,ui =1 GB )j )
where lj,(4) and lj,(13) mean lj using (4) and (13), respectively. Based on Proposition 1, we implement the algorithm on (13) instead of (4). After we obtain the final l-formula, we replace lj,(13) by (lj,(4) )1−2aj for each j = 1, · · · , m. 2) STANDARD EXPRESSION TRANSFORM
Definition 1 (Standard Expression): A standard expres(i) sion lm has the following form: P · · ·1 W (yi+1 |ui+1 ) · · · W (ym |um ) um i+1 (i) ; (14) lm = P 2 um · · · W (yi+1 |ui+1 ) · · · W (ym |um ) i+1
that is uj = uj , j = i + 1, · · · , m. Note that · · ·1 and · · ·2 denote other channel expressions of the numerator and (i) denominator of lm and they are not equal in general. Lemma 1 (Standard Expression Transform): Given an (i) expression lm defined by a lower triangular matrix Gm , it can be transformed to a standard expression. Proof: First, we provide an example of a standard expression transform. Given a lower triangular matrix G5 1 0 0 0 0 1 1 0 0 0 G5 = u3 1 0 1 0 0. u4 1 0 0 1 0 u5 1 1 1 0 1 By performing a linear row transform in rows 3 and 5 of G5 , we find 1 0 0 0 0 1 1 0 0 0 ´ 5 = t3 1 0 1 0 0 . G t4 1 0 0 1 0 t5 0 1 0 0 1 VOLUME 6, 2018
(2) (2) Let l5 and l´5 be the likelihood ratio expressions defined by ´ G5 and G5 , respectively. Then, P 1 u5 · · · W (y3 |u3 + u5 )W (y4 |u4 )W (y5 |u5 ) (2) l5 = P 3 2 u5 · · · W (y3 |u3 + u5 )W (y4 |u4 )W (y5 |u5 ) P3 1 t 5 · · · W (y3 |t3 )W (y4 |t4 )W (y5 |t5 ) (2) l´5 = P 3 2 t 5 · · · W (y3 |t3 )W (y4 |t4 )W (y5 |t5 ) 3
(2)
Notice l´5 is in a standard expression. Therefore, we only (2) (2) need to show l5 = l´5 . (2) (2) We first consider the numerator of l5 and l´5 . Using the notation of (5), (u1 , · · · , u5 ) and (t 1 , · · · , t 5 ) correspond to (2) (2) l5 and l´5 , respectively. Because the known values u21 are the (2) (2) same for l5 and and l´5 , we ignore them. Let (g3 , g4 , g5 ) and ´ 5 , respectively. (´g3 , g´ 4 , g´ 5 ) denote rows 3, 4, and 5 of G5 and G Then, (u1 , · · · , u5 ) = u3 g3 +u4 g4 +u5 g5 and (t 1 , · · · , t 5 ) = t3 g´ 3 + t4 g´ 4 + t5 g´ 5 = (t3 + t5 )g3 + t4 g4 + t5 g5 . Then, there is a one-to-one correspondence between (u1 , · · · , u5 ) and (t 1 , · · · , t 5 ). For example, (u1 , · · · , u5 ) = (t 1 , · · · , t 5 ) when u53 = (0, 0, 1) and t35 = (1, 0, 1). Hence, terms · · ·1 W (y3 |u3 + u5 )W (y4 |u4 )W (y5 |u5 ) and · · ·1 W (y3 |t3 )W (y4 |t4 )W (y5 |t5 ) in (2) (2) l5 and l´5 have a one-to-one correspondence because they are only depend on (u1 , · · · , u5 ) and (t1 , · · · , t5 ), respec(2) tively. Therefore, the terms in the numerator of l5 are the (2) same in the numerator of l´5 with a different order. Then, (2) (2) the numerators of l5 and l´5 are equal. (2) (2) For the same reason, the denominators of l5 and l´5 are (2) (2) also equal. Thus, l5 and l´5 are equal. The above method can be easily generalised to any (i) lm of a lower triangular matrix Gm . Furthermore, it provides a procedure to implement the standard expression transform. In Lemma 1, we suppose the kernel Gm is a lower triangular matrix because a general kernel matrix Gm can be transformed into a lower triangular matrix without changing its exponent [5]. 3) FUNDAMENTAL STEP
Lemma 2 (Fundamental Step): Given an expression with one difference between the numerator and denominator such as P um W (y1 |u1 )W (y2 |u2 ) · · · W (ym |um ) lm(i) = P i+1 um W (y1 |u1 )W (y2 |u2 ) · · · W (ym |um ) i+1
and assuming that u1 and um contain ui+1 , then we have P um W (y2 |x2 ) · · · W (ym |xm ) (i) lm = l1 P i+2 (15) um W (y2 |x2 ) · · · W (ym |xm ) i+2
where xk = uk + u1 if uk contains ui+1 ; otherwise xk = uk , k = 2, · · · , m in the numerator of (15). In the denominator of (15), if uk contains ui+1 , it becomes xk = uk + u1 ; otherwise it becomes xk = uk , k = 2, · · · , m. 26711
Z. Huang et al.: Simplified SC Decoding of Polar Codes With Medium-Dimensional Binary Kernels
Proof: Let M = W (y2 |u2 ) · · · W (ym |um ) and define X m M · 1u1 =0 , W (ym 2 |0) , W (y2 |u1 = 0) , um i+1 m W (ym 2 |1) , W (y2 |u1 = 1) ,
X
M · 1u1 =1 .
um i+1
Then P lm(i) = P
P
W (y1 |u1 )M 1u1 =1 um i+1
P
W (y1 |u1 )M 1u1 =1
W (y1 |u1 )M 1u1 =0 + um i+1
W (y1 |u1 )M 1u1 =0 + um i+1
um i+1
(16) = =
m W (y1 |0)W (ym 2 |0) + W (y1 |1)W (y2 |1) m W (y1 |1)W (y2 |0) + W (y1 |0)W (ym 2 |1) m W (y2 |u1 = 0) l1 W (ym 2 |u1 = 1)
P = l1 P P = l1 P
um i+1
W (y2 |u2 ) · · · W (ym |um )1u1 =0
um i+1
W (y2 |u2 ) · · · W (ym |um )1u1 =1
um i+2
W (y2 |x2 ) · · · W (ym |xm )
um i+2
W (y2 |x2 ) · · · W (ym |xm )
.
(17) (18)
i+1
we have P lm(i) = P P
(19) (20)
Because of 1u1 =0 in the numerator of (19), we just need to consider u1 = 0. u1 = 0. Then ui+1 = ui+1 + u1 . Let u´ m = ui+1 + um . We then have xm = um = ui+1 + u´ m = ui+1 + u1 + u´ m = um + u1 . Thus, similar to xm , (20) is obtained by doing the substitution ui+1 = ui+1 + u1 and ui+1 = ui+1 + u1 + 1 for each channel expression in the numerator and denominator of (19), respectively. In Lemma 2, we assume u1 contains ui+1 . Hence, xk = uk + u1 if uk contains ui+1 ; otherwise xk = uk , k = 2, · · · , m in the numerator of (15). In fact, this assumption is unnecessary. Assume u1 = {ui1 + ui2 + · · · + uit }, 1 ≤ i1 < i2 < · · · < it ≤ m. We can choose any uij , j ∈ {1, 2, · · · , t}. This results in xk = uk + u1 if uk contains uij ; otherwise xk = uk , k = 2, · · · , m in the numerator of (15). However, we always choose ui1 in the algorithm and this has been found to be a good choice in our experiments. (1) Example 3 (Fundamental Step for l3 ): P u3 W (y1 |u2 + u3 )W (y2 |u2 )W (y3 |u3 ) (1) l3 = P 2 u32 W (y1 |u2 + u3 )W (y2 |u2 )W (y3 |u3 ) P u3 W (y2 |u2 )W (y3 |u3 )1u2 +u3 =0 = l1 P 2 u3 W (y2 |u2 )W (y3 |u3 )1u2 +u3 =1 P2 u W (y2 |u3 )W (y3 |u3 ) = l1 P 3 u3 W (y2 |u3 )W (y3 |u3 ) = l1 l2 l3 . 4) EXTEND METHOD m By Lemma 2, we reduce one variable from um i+1 to ui+2 . Therefore, if there is still only one difference in the reduced expression, we can continue to implement Lemma 1. 26712
Thus, we obtain the final l-formula after implementing Lemma 2 m − i times. If there is more than one difference in an expression, the following proposition provides a way to extend the expression and make each extending expression have only one difference. Proposition 2 (Extend Method): Given a likelihood ratio expression with two differences between the numerator and denominator such as P um W (y1 |u1 )W (y2 |u2 ) · · · W (ym |um ) lm(i) = P i+1 um W (y1 |u1 )W (y2 |u2 ) · · · W (ym |um )
um i+1
W (y1 |u1 )W (y2 |u2 ) · · · W (ym |um )
um i+1
W (y1 |u1 )W (y2 |u2 ) · · · W (ym |um )
um i+1
W (y1 |u1 )W (y2 |u2 ) · · · W (ym |um )
(21)
. (22) W (y1 |u1 )W (y2 |u2 ) · · · W (ym |um ) The proof is immediate and omitted. (i) In proposition 2, we extend the given lm into two parts by the operator and each has only one difference in (21) and (22), respectively. is specifically used in separating sub-expressions and its effect is the same as ×. Obviously, the extend method can be easily generalised to any number of differences. However, the cost is an increase in the length of the final l-formula. (∗) Example 4 (Extend Method for lN ): P W (y1 |u1 )W (y2 |u2 )W (y3 |u3 ) · · · (∗) lN = P W (y1 |u1 )W (y2 |u2 )W (y3 |u3 ) · · · P W (y1 |u1 )W (y2 |u2 )W (y3 |u3 ) · · · = P ∼ part1 W (y1 |u1 )W (y2 |u2 )W (y3 |u3 ) · · · P W (y1 |u1 )W (y2 |u2 )W (y3 |u3 ) · · · P ∼ part2 W (y1 |u1 )W (y2 |u2 )W (y3 |u3 ) · · · P W (y1 |u1 )W (y2 |u2 )W (y3 |u3 ) · · · P ∼ part3 W (y1 |u1 )W (y2 |u2 )W (y3 |u3 ) · · · P
um i+1
(∗)
It can be seen that the original lN has three differences. P By adding two mid terms W (y |u 1 1 )W (y2 |u2 )W (y3 |u3 ) · · · P and W (y1 |u1 )W (y2 |u2 )W (y3 |u3 ) · · · , we obtain (∗)
lN = part1 part2 part3 Then, part1, part2 and part3 have only one difference, respectively. 5) SYMMETRIC EXPRESSION TRANSFORM (i)
The length of the l-formula of an lm depends on the number (i) of differences in lm . Using the symmetric property of the bit(i) channel, the number of differences can be reduced for an lm . Proposition 3 (Symmetric Property of Bit-Channel): Given a bit-channel expression X S= W (y1 |u1 ) · · · W (yi |ui ) · · · W (ym |um ), (23) um i+1 VOLUME 6, 2018
Z. Huang et al.: Simplified SC Decoding of Polar Codes With Medium-Dimensional Binary Kernels
and assuming that only u1 and ui contain ui+1 , we have X W (y1 |u1 ) · · · W (yi |ui ) · · · W (ym |um ), S= (24) um i+1
u5 → u5 in the denominator of (25). It can be seen that one difference is reduced in (25). 6) TWO SIMPLIFICATIONS
where we change ui+1 to ui+1 . Then, if ui contains ui+1 , it becomes its complement such as u1 → u1 and ui → ui . Proof: (u1 , ui ) and (u1 , ui ) have a one-to-one correspondence with ui+1 . For example, fixed um i+2 , (u1 , ui ) with ui+1 = 0 is the same as the same as (u1 , ui ) m with ui+1 = 1. Hence, for each given um i+2 , ui+2 , (u1 , · · · , ui , · · · , um ) with ui+1 = 0 is the same as as (u1 , · · · , ui , · · · , um ) with ui+1 = 1 and vice versa. Because terms Because terms W (y1 |u1 ) · · · W (yi |ui ) · · · W (ym |um ) and W (y1 |u1 ) · · · W (yi |ui ) · · · W (ym |um ) are only depend on are only depend on (u1 , · · · , ui , · · · , um ) and and (u1 , · · · , ui , · · · , um ), respectively. Therefore, the terms in (23) are the same in (24) with a different order. Thus they are equal. In proposition 3, we change ui+1 to ui+1 . It is possible to change all the possible subsets of um i+1 . Let (ui1 , · · · , uij ) denote a subset of um . We change it to (ui1 , · · · , uij ). For any i+1 uk , k ∈ 1, · · · , m, if it contains an odd number of variables in (ui1 , · · · , uij ), then uk becomes uk ; otherwise, it does not change. Symmetric expression transform: Given an expression P um W (y1 |u1 ) · · · W (yi |ui ) · · · W (ym |um ) lm(i) = P i+1 , um W (y1 |u1 ) · · · W (y1 |ui ) · · · W (ym |um )
We propose two ways to simplify the expressions. Proposition 4 (Zero-Variable Combination): Given an expression as follows: P um W (y1 |u1 )W (y2 |u1 ) · · · W (ym |um ) (i) , lm = P i+1 um W (y1 |u1 )W (y2 |u1 ) · · · W (ym |um ) i+1
we have P lm(i)
=P
um i+1
W (y21 |u1 ) · · · W (ym |um )
um i+1
W (y21 |u1 ) · · · W (ym |um )
,
where W (y21 |u1 ) , W (y1 |u1 )W (y2 |u1 ). Furthermore, we have ly2 = l1 l2 in the final l-formula. 1 The proof is immediate and omitted. (∗) Example 6 (Zero-Variable Combination for l3 ): P u W (y1 |u3 )W (y2 |u3 )W (y3 |u3 ) (∗) l3 = P 3 u W (y1 |u3 )W (y2 |u3 )W (y3 |u3 ) P3 2 u W (y1 |u3 )W (y3 |u3 ) = P3 2 u3 W (y1 |u3 )W (y3 |u3 ) = ly2 l3 1
= (l1 l2 ) l3
i+1
we use the symmetric property of the bit-channel to all subsets (i) m−i equivalent of um i+1 for the denominator of lm and obtain 2 (i) expressions. Assume that l´m has the least number of differ(i) (i) ences among these expressions. We then replace lm with l´m . The Symmetric expression transform function describes (i) a procedure to assure that lm has the least number of differences. To do that, it needs 2m−i−1 times tests. This method is not practical for large kernel sizes. In fact, it is only necessary to test one- and two- elements subsets of um i+1 to acquire the (i) ´ best lm up to m = 16 in our experiments. (3) Example 5 (Symmetric Expression Transform for l5 ): The optimal G5 kernel is given in the proof of Lemma 1. (3) Based on definition (4), we obtain the l5 as follows: P u5 W (y1 |u4 +u5 )W (y2 |u5 )W (y3 |u5 )W (y4 |u4 )W (y5 |u5 ) P4 u5 W (y1 |u4 +u5 )W (y2 |u5 )W (y3 |u5 )W (y4 |u4 )W (y5 |u5 ) 4
Then P (3) (a) l5 =
P
u54
W (y1 |u4 +u5 )W (y2 , y5 |u5 )W (y3 |u5 )W (y4 |u4 )
u5
W (y1 |u4 +u5 )W (y2 , y5 |u5 )W (y3 |u5 )W (y4 |u4 )
u54
W (y1 |u4 + u5 )W (y2 , y5 |u5 )W (y3 |u5 )W (y4 |u4 )
u54
W (y1 |u4 + u5 )W (y2 , y5 |u5 )W (y3 |u5 )W (y4 |u4 )
P4 (b)
= P
(25) where (a) follows by zero-variable combine function with W (y2 , y5 |u5 ) = W (y2 |u5 )W (y5 |u5 ) and (b) follows by doing VOLUME 6, 2018
where W (y21 |u3 ) = W (y1 |u3 )W (y2 |u3 ) and W (y21 |u3 = 0)
W (y1 |0)W (y2 |0) = l1 l2 . W (y1 |1)W (y2 |1) = 1) Proposition 5 (One-Variable Combination): Given expression as follows: P um W (y1 |u1 + u2 )W (y2 |u2 ) · · · W (ym |um ) (i) lm = P i+1 um W (y1 |u1 + u2 )W (y2 |u2 ) · · · W (ym |um ) l y2 = 1
W (y21 |u3
=
an
i+1
and assuming u2 = ui+1 , ui+1 ∈ u1 + u2 and u2 ∩ uk = ∅, k = 3, · · · , m, we have P 2 um W (y1 |u1 ) · · · W (ym |um ) (i) lm = P i+2 2 um W (y1 |u1 ) · · · W (ym |um ) i+2
W (y21 |u1 )
P where , u2 W (y1 |u1 + u2 )W (y2 |u2 ). Furthermore, we have ly2 = l1 l2 in the final l-formula. 1 Proof: P um W (y1 |u1 + u2 )W (y2 |u2 ) · · · (i) lm = P i+1 (26) W (y1 |u1 + u2 )W (y2 |u2 ) · · · um i+1 P P W (y1 |u1 + u2 )W (y2 |u2 ) · · · um u (a) 2 = P i+2 P (27) um u2 W (y1 |u1 + u2 )W (y2 |u2 ) · · · i+2 P W (y21 |u1 ) · · · um (b) i+2 = P (28) 2 um W (y1 |u1 ) · · · i+2
26713
Z. Huang et al.: Simplified SC Decoding of Polar Codes With Medium-Dimensional Binary Kernels
where (a) follows from the fact that only u2 and u1 + u P2 contain ui+1 . Obviously, ui+1 . Obviously, the value of on the value of u2 W (y1 |u1 + u2 )W (y2 |u2 ) is only dependP u1 . Therefore, we can define W (y21 |u1 ) , u2 W (y1 |u1 + u2 )W (y2 |u2 ). Furthermore, we have X W (y21 |u1 ) = W (y1 |u1 + u2 )W (y2 |u2 ) =
(1)
l7 = l1 l2 l3 l4 l5 l6 l7 (2)
l7 = (l1 l3 l4 l7 )(l2 l5 l6 ) (3)
l7 = (l1 l4 l3 l7 ) (l2 l6 l5 ) (6)
l7 = (l1 l4 ) (l3 l7 )(l2 l6 ) (7)
u2
X
Example 9 (l-Formulas for an Optimal G7 Kernel):
W (y1 |u1 + u2 )W (y2 |u2 )
u2
Thus, (b) is followed. (1) Example 7 (One-Variable Combination for l3 ): P u3 W (y1 |u2 + u3 )W (y2 |u2 )W (y3 |u3 ) (1) l3 = P 2 u3 W (y1 |u2 + u3 )W (y2 |u2 )W (y3 |u3 ) P2 2 u W (y1 |u3 )W (y3 |u3 ) = P3 2 u3 W (y1 |u3 )W (y3 |u3 ) = ly2 l3 1
= l1 l2 l3 P 2 where W (y1 |u3 ) = u2 W (y1 |u2 + u3 )W (y2 |u2 ) and P W (y21 |u3 = 0) u W (y1 |u2 )W (y2 |u2 ) = l1 l2 . =P 2 l y2 = 2 1 W (y1 |u3 = 1) u2 W (y1 |u2 )W (y2 |u2 ) Note that Example 3 and Example 7 obtain the same (1) l-formula of l3 by using the fundamental step and one-variable combination, respectively. The fundamental step is more general than the one-variable combination. The Algorithm 1 first implements zero-variable combination and one-variable combination as much as possible, and then implements fundamental step if necessary.
l7 = l1 l3 l4 l7 (4)
(5)
Note that l7 and l7 are at the bottom of this page. IV. COMPLEXITY ANALYSIS OF l -FORMULA
Let Cl (m) denote the average length of the l-formulas for a kernel Gm . In fact, Cl (m) is the average number of subformulas. For a kernel Gm , the complexity of calculating a sub-formula is O(m) because a sub-formula contains no more than one l1 , · · · , lm . The number of mCl (m) sub-formulas should be calculated for the inside kernel calculation. Therefore, the calculation cost of the inside kernel calculation is O(m2 · Cl (m)). A polar code defined by G⊗n m must be implemented N logm N /m times in the inside kernel calculation. Therefore, the complexity of the SC decoder based on l-formulas behaves as O(Cl (m) · mN logm N ) for a general kernel matrix Gm . m TABLE 1. Cl (m) vs. 2m for different kernels.
D. EXAMPLE OF l -FORMULAS
We present l-formulas for optimal kernels up to m = 7 in this subsection. l-formulas of G2 , G3 and G6 are given in section II. C and Example 1. Because G4 is G⊗2 2 , the l-formulas of G4 are the same as those of G2 . l-formulas of G5 and G7 are described in Example 8 and 9. The total length of l-formulas for G5 and G7 are 5 and 14, respectively. Example 8 (l-Formulas for an Optimal G5 Kernel): (1)
l5 = l1 l2 l3 l4 l5 (2)
l5 = (l1 l3 l4 )(l2 l5 ) (3)
l5 = (l1 l4 l3 ) (l2 l5 ) (4)
l5 = l1 (l2 l3 l5 )l4 (5)
l5 = l1 l2 l3 l5
Table 1 shows the results of Cl (m) (obtained by implementing Algorithm 1) for kernels up to m = 16. Recall that the complexity of the straightforward SC decoder behaves as m O( 2m · mN logm N ) for a general kernel matrix Gm . It follows that the complexity of the SC decoder based on l-formulas is considerably advantageous over the straightforward SC m decoder (Cl (m) vs. 2m ). It is evident that the best Cl (m) that we can achieve is 1. We can see that the complexity of the l-formulas method is nearly the best for small kernels such
(4)
l7 = l1 (l3 ((l2 l7 ) (l4 l5 )l6 ) l4 ((l2 l7 ) (l3−1 l6 )l5 ) l7 ((l3−1 l6 ) (l4−1 l5 )l2 )) l4 (l1−1 ((l2 l3 ) (l6 l7 )l5 ) l3 ((l1 l5 ) (l6 l7 )l2 ) l7 ((l2 l3−1 ) (l1 l5 )l6 )) (5)
l7 = l5 (l1 (l4 (l3 l7 ) (l2 l6 )) l2 (l6 (l1−1 l4 ) (l3 l7 )) l3 (l7 (l1−1 l4 ) (l2−1 l6 ))) 26714
VOLUME 6, 2018
Z. Huang et al.: Simplified SC Decoding of Polar Codes With Medium-Dimensional Binary Kernels
FIGURE 1. FER vs. Eb /N0 for polar codes constructed by the GA method under the SC decoder. The code rate is 0.5. All codes were optimized at SNR = 2.0 dB.
FIGURE 2. FER vs. Eb /N0 for polar codes constructed by the GA method under the SC decoder. The code rate is 0.5. All codes were optimized at SNR = 2.0 dB.
as m ≤ 6. The l-formula method is acceptable for kernels of 7 ≤ m ≤ 16. However, Cl (m) increases very quickly with respect to kernel size m. It seems that Cl (m) still grows exponentially with kernel size for large kernels of m ≥ 11. V. PERFORMANCE OF MEDIUM-DIMENSIONAL BINARY KERNELS
We demonstrate the frame error rate (FER) for optimal medium-dimensional binary kernels in this section. The l-formulas are described in the likelihood ratio domain in previous Section. The transformation of the l-formulas to the log-likelihood ratio domain is straightforward. With l-formulas in the log-likelihood ratio domain, constructing polar codes using Gaussian Approximate (GA) method [8], [9] is simple. Considering binary phase-shift keying (BPSK) modulation and an additive white Gaussian noise (AWGN) channel, the binary codeword (x0 , · · · , xN −1 ) was mapped to a transmitted sequence (s0 , · · · , sN −1 ) by sn = 1 − 2xn . At the receiver, we obtained the received vector (y0 , · · · , yN −1 ) where yn = sn +zn and (z0 , · · · , zN −1 ) is an i.i.d. set of Gaussian random variables with mean zero and variance N0 /2. ⊗8 ⊗5 ⊗3 ⊗3 Figure 1 depicts the FERs of G⊗7 2 , G2 , G3 , G5 , G6 , ⊗3 ⊗2 ⊗2 ⊗2 G7 , G9 , G10 , and G11 , respectively. The code lengths are 128, 256, 243, 216, 343, 81, 100, and 121. The code rate is 0.5 for all codes. The exponents of kernels G3 , G5 , G6 , G7 , G9 , G10 , and G11 are much smaller than 0.5. The FERs of G⊗3 5 , ⊗2 ⊗2 ⊗7 G⊗2 , G , and G are worse than G about the same code 9 10 11 2 ⊗3 ⊗7 length. The FERs of G⊗5 3 and G6 are worse than G2 , even ⊗3 with longer code lengths. The FER of G7 is worse than G⊗8 2 with the longer code length. ⊗8 ⊗2 ⊗2 Figure 2 depicts the FERs of G⊗7 2 , G2 , G12 , and G13 . The code lengths are 128, 256, 144, and 169, respectively. The code rate is 0.5 for all codes. The exponents of kernels ⊗2 G12 and G13 are close to 0.5. The FERs of G⊗2 12 and G13 are ⊗7 ⊗8 better than G2 and worse than G2 . ⊗2 ⊗2 ⊗2 Figure 3 depicts the FERs of G⊗8 2 , G14 , G15 , and G16 . The code lengths are 256, 196, 225, and 256, respectively. VOLUME 6, 2018
FIGURE 3. FER vs. Eb /N0 for polar codes constructed by the GA method under the SC decoder. The code rate is 0.5. All codes were optimized at SNR = 2.0 dB.
The code rates are 0.5 for all codes. The exponent of kernel G14 is somewhat less than 0.5. The exponents of kernels G15 ⊗2 ⊗2 and G16 are larger than 0.5. The FERs of G⊗2 14 , G15 , and G16 ⊗7 are better than G2 , even with shorter code lengths. ⊗2 ⊗9 ⊗3 Figure 4 depicts the FERs of G⊗6 2 , G8 , G2 , and G8 . The code lengths are 64, 64, 512, and 512, respectively. The code rate is 0.5 for all codes. The exponent of kernel G8 ⊗3 is the same as that of G2 . The FERs of G⊗2 8 and G8 are ⊗6 ⊗9 somewhat better than those of G2 and G2 , respectively. It should be noted that the G8 kernel given in [5] is different from G⊗3 2 . In fact, Fazeli and Vardy [10] provided another criterion scaling exponent µ to evaluate the kernels. They have constructed the same 8 × 8 kernel as G8 with µ = 3.577, which is better than Arıkan’s G2 kernel with µ = 3.627 [10]. In summary, the simulation results confirmed the following in terms of error performance: • kernels with exponents much smaller than 0.5 are worse than the G2 kernel, such as m = 3, 5, 6, 7, 9, 10, 11. 26715
Z. Huang et al.: Simplified SC Decoding of Polar Codes With Medium-Dimensional Binary Kernels
FIGURE 4. FER vs. Eb /N0 for polar codes constructed by the GA method under the SC decoder. The code rate is 0.5. All codes were optimized at SNR = 2.0 dB.
• •
kernels with exponents somewhat smaller than 0.5 are comparable with the G2 kernel, such as m = 12, 13. kernels with exponents close to or greater than 0.5 are better than the G2 kernel, such as m = 8, 14, 15, 16.
VI. CONCLUSION
In this paper, we devised an l-formula method to obtain recursive formulas of the SC decoder in the likelihood ratio domain for any binary kernel. We showed that the SC decoder based on l-formulas obtains considerable advantages in terms of complexity for polar codes with medium-dimensional binary kernels (dimension up to 16). Specifically, the l-formula method achieves the best complexity for small kernels of m ≤ 5. The l-formula method is acceptable for kernels of 6 ≤ m ≤ 16. However, the complexity of the l-formula method increases quickly with kernel size m. It seems that the complexity of the l-formula method still grows exponentially with respect to kernel size for large kernels (dimension greater than 11). Comprehensive research of this issue is a topic for further study. Based on the l-formula method, we demonstrate the error performances of optimal kernels up to size 16. The G16 kernel showed a significant improvement in terms of FER compared with the G2 kernel. It is interesting to mention that the G14 and G15 kernels showed a better FER compared with the G2 kernel even with a smaller exponent and shorter code length.
[4] N. Presman, O. Shapira, S. Litsyn, T. Etzion, and A. Vardy, ‘‘Binary polarization kernels from code decompositions,’’ IEEE Trans. Inf. Theory, vol. 61, no. 5, pp. 2227–2239, May 2015. [5] H. Lin, S. Lin, and K. A. S. Abdel-Ghaffar, ‘‘Linear and nonlinear binary kernels of polar codes of small dimensions with maximum exponents,’’ IEEE Trans. Inf. Theory, vol. 61, no. 10, pp. 5253–5270, Oct. 2015. [6] G. Bonik, S. Goreinov, and N. Zamarashkin. (Jul. 2012). ‘‘Construction and analysis of polar and concatenated polar codes: Practical approach.’’ [Online]. Available: http://arxiv.org/abs/1207.4343 [7] X. Wang, Z. Zhang, and L. Zhang, ‘‘On the SC decoder for any polar code of length N=In ,’’ in Proc. IEEE Wireless Commun. Netw. Conf. (WCNC), Istanbul, Turkey, Apr. 2014, pp. 485–489. [8] S.-Y. Chung, T. J. Richardson, and R. L. Urbanke, ‘‘Analysis of sumproduct decoding of low-density parity-check codes using a Gaussian approximation,’’ IEEE Trans. Inf. Theory, vol. 47, no. 2, pp. 657–670, Feb. 2001. [9] P. Trifonov, ‘‘Efficient design and decoding of polar codes,’’ IEEE Trans. Commun., vol. 60, no. 11, pp. 3221–3227, Nov. 2012. [10] A. Fazeli and A. Vardy, ‘‘On the scaling exponent of binary polarization kernels,’’ in Proc. 52nd Annu. Allerton Conf. Commun., Control, Comput. (Allerton), Sep. 2014, pp. 797–804.
ZHILIANG HUANG received the B.S. degree from the School of Materials Science and Engineering, Wuhan Institute of Technology, in 2004, the M.S. degree from the School of Mathematics, Physical and Information Engineering, Zhejiang Normal University, in 2009, and the Ph.D. degree from the School of Information Science and Engineering, Southeast University, in 2013. In 2015, he was a Visiting Researcher with Bilkent University, Ankara, Turkey. He is currently a Lecturer with the School of Mathematics, Physical and Information Engineering, Zhejiang Normal University. His current research interests include modern coding theory and signal processing for digital communications. SHIYI ZHANG received the B.S. degree from the School of Computer Science and Technology, Anhui University of Finance and Economics, in 2016. She is currently pursuing the master’s degree with the School of Mathematics, Physical and Information Engineering, Zhejiang Normal University. Her current research interests include modern coding theory and signal processing for digital communications.
FEIYAN ZHANG received the bachelor’s and Ph.D. degrees in signal processing from Wuhan University, China, in 2006 and 2012, respectively. She is currently a Lecturer with the School of Mathematics, Physical and Information Engineering, Zhejiang Normal University. She has published over 10 papers in the signal and image processing areas. Her current research interests include digital image processing, pattern recognition, and deeping learning.
ACKNOWLEDGMENT
The authors would like to thank E. Arıkan for helpful discussions and valuable suggestions. REFERENCES [1] E. Arıkan, ‘‘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, Jul. 2009. [2] S. Korada, E. Şaşoğlu, and R. Urbanke, ‘‘Polar codes: Characterization of exponent, bounds, and constructions,’’ IEEE Trans. Inf. Theory, vol. 56, no. 12, pp. 6253–6264, Dec. 2010. [3] R. Mori and T. Tanaka, ‘‘Source and channel polarization over finite fields and Reed-Solomon matrices,’’ IEEE Trans. Inf. Theory, vol. 60, no. 5, pp. 2720–2736, May 2014. 26716
CHUNJIANG DUANMU received the bachelor’s and master’s degrees in electrical engineering from Southeast University, China, in 1992 and 1996, respectively, and the Ph.D. degree from Concordia University, Canada, in 2005. He is currently an Associate Professor with the School of Mathematics, Physical and Information Engineering, Zhejiang Normal University. He has published over 10 papers in the signal processing areas and one in the IEEE TRANSACTIONS IN THE CIRCUITS AND SYSTEMS FOR VIDEO TECHNOLOGY. He has finished several projects sponsored by the Zhejiang Province. His current research interests include digital image processing and key techniques in the 5G communications. VOLUME 6, 2018
Z. Huang et al.: Simplified SC Decoding of Polar Codes With Medium-Dimensional Binary Kernels
FARONG ZHONG received the B.S. degree from the Department of Computer Science and Technology, Shandong University, in 1986, and the M.S. and Ph.D. degrees from the School of Computer Science and Technology, Shanghai Jiao Tong University, in 1994 and 2005, respectively. He is currently a Professor with the School of Mathematics, Physical and Information Engineering, Zhejiang Normal University. His current research interests include process calculus and graph searching.
VOLUME 6, 2018
MING CHEN received the B.Sc., M.Sc., and Ph.D. degrees from the Mathematics Department, Nanjing University, Nanjing, China, in 1990, 1993, and 1996, respectively. In 1996, he joined the National Mobile Communications Research Laboratory, Southeast University, Nanjing, as a Lecturer. From 1998 to 2003, he was an Associate Professor and he has been a Professor with the National Mobile Communications Research Laboratory, Southeast University, since 2003. His research interests include signal processing and radio resource management of mobile communication systems.
26717