Symbol-Based Successive Cancellation List Decoder for Polar Codes
SSymbol-Based Successive Cancellation ListDecoder for Polar Codes
Chenrong Xiong, Jun Lin and Zhiyuan Yan
Department of Electrical and Computer Engineering, Lehigh University, Bethlehem, PA 18015 USAEmail: { chx310, jul311, zhy6 } @lehigh.edu Abstract —Polar codes is promising because they can provablyachieve the channel capacity while having an explicit construc-tion method. Lots of work have been done for the bit-baseddecoding algorithm for polar codes. In this paper, generalizedsymbol-based successive cancellation (SC) and SC list decodingalgorithms are discussed. A symbol-based recursive channelcombination relationship is proposed to calculate the symbol-based channel transition probability. This proposed method needsless additions than the maximum-likelihood decoder used by theexisting symbol-based polar decoding algorithm. In addition,a two-stage list pruning network is proposed to simplify thelist pruning network for the symbol-based SC list decodingalgorithm.
Index Terms —Error control codes, polar codes, successivecancellation decoding, list decoding
I. I
NTRODUCTION
Since polar codes were introduced by Arikan [1], they haveattracted lots of interest in the fields of communication andcoding theory, because they can provably achieve the channelcapacity not only for arbitrary discrete memoryless channels,but also for any continuous memoryless channel [2]. However,their capacity approaching can be achieved only when the codelength is large enough (
N > [3]) under the SC decodingalgorithm. For short or moderate code length, in terms of theerror performance, polar codes with the SC decoding algorithmis worse than turbo codes or low-density parity-check codes[4], [5].To improve the error performance of polar codes, lots ofwork have been done. Systematic polar codes [6] was proposedto reduce the bit error rate while guaranteeing the sameframe error rate (FER) compared with their non-systematiccounterparts. An SC list decoding algorithm for polar codeswas proposed in [7]. The SC list decoding algorithm out-performs the SC decoding algorithm and achieves the errorperformance close to that of the ML decoding algorithm atthe cost of complexity of O ( LN log N ) , where L is the listsize. Moreover, the concatenation of polar codes with cyclicredundancy check (CRC) codes was introduced in [4], [8]. Todecode the CRC-concatenated polar codes, a CRC detectoris used in the SCL decoding algorithm to help the codeworddetermination. The combination of an SCL decoding algorithmand a CRC detector is called CRC-aided SCL (CA-SCL)decoding algorithm. [8] shows that with the CA-SCL decodingalgorithm, the error performance of a (2048, 1024) CRC-concatenated polar code is better that of a (2304, 1152) LDPC code, which is used in the WiMax standard [9].To implement decoders for polar codes, several works havebeen done for the SC decoding algorithm. Arikan [1] showedthat a fully parallel SC decoder has a latency of N − clock cycles. This decoder has complexity of O ( N log N ) .A tree SC decoder and a line SC decoder with complexityof O ( N ) were proposed in [10]. These two decoders havethe same latency as the fully parallel SC decoder. To reducecomplexity further, Leroux [3] proposed a semi-parallel SCdecoder for polar codes by taking advantage of the recursivestructure of polar codes to reuse processing resources. Toreduce the latency, a simplified SC (SSC) polar decoder wasintroduced in [11] and it was further analyzed in [12]. Inthe SSC polar decoder, a polar code is converted to a binarytree including three types of nodes: rate-one, rate-zero andrate- R nodes. Based on the SSC polar decoder, the ML SSCdecoder makes use of the ML decoding algorithm to dealwith rate- R nodes in [13], [14]. However, SSC and ML-SSCpolar decoders depend on positions of information bits andfrozen bits, and are code-specific consequently. In [15], apre-computation look-ahead technique was proposed to helpthe tree SC decoder shorten the latency by half. An efficientSCL decoder architecture was proposed in [16]. Recently,parallel decoders of polar codes were proposed in [17]. Toavoid ambiguity between the aforementioned fully parallelSC decoder in [1] and parallel decoders in [17], we call thelatter as symbol-based polar decoders in this paper becausean M -bit symbol-based polar decoder decodes M bits at atime instead of only one bit. However, [17] is focused onsome specific case and does not provide a general discussion.Meanwhile, it uses the ML decoder to calculate the symbol-based channel transition probability, which is not complexity-efficient enough.The main contributions of this paper are: • Generalized symbol-based polar decoding algorithms arediscussed. Furthermore, a symbol-based recursive chan-nel combination relationship is derived to calculate thesymbol-based channel transition probability. The pro-posed method needs less additions than the ML detectorused in [17]. • An M -bit symbol-based SCL polar decoder needs to find L most-reliable lists among M L list candidates. A two-stage list pruning network are proposed to perform thislist pruning function. M L list candidates are divided a r X i v : . [ c s . I T ] O c t nto L groups. Each group has M list candidates. Inthe first stage, q most-reliable lists for each group arefound. Then, L most-reliable list candidates are sortedout from qL list candidates generated by the first stage.If q < L , the two-stage list pruning network can achievelower complexity and a shorter critical path delay thanthe list pruning network with q = L .The rest of our paper is organized as follows. Section IIbriefly reviews polar codes and existing decoding algorithms.In Section III, the generalized M -bit symbol-based SC andSCL decoding algorithms for polar codes are discussed. Basedon the Arikan’s recursive channel transformations, we derivethe symbol-based recursive channel combination relationshipto calculate the symbol-based channel transition probability.To simplify the selection of the list candidates, a two-stage listpruning network is proposed in Section IV. Some conclusionsare given in Section V.II. P OLAR C ODES AND E XISTING D ECODING A LGORITHMS
A. Polar Codes
Polar codes are linear block codes. The block length ofpolar codes is restricted to a power of two, N = 2 n for n ≥ . We follow the notation for vectors in [1], namely u ba = ( u a , u a +1 , · · · , u b − , u b ) = ( u b − a , u b ) . Assume u = u N − = ( u , u , · · · , u N − ) is the encoding bit sequence.Let F = (cid:20) (cid:21) . The corresponding encoded bit sequence x = x N − = ( x , x , · · · , x N − ) is generated by x = u B N F ⊗ n , (1)where B N is an N × N bit-reversal permutation matrix and F ⊗ n denotes the n -th Kronecker power of F .For any index set A ⊂ I = { , , · · · , N − } , let u A denote the sub-sequence of u defined by u A = ( u i : i ∈ A ) .Denote the complement of A in I as A c . Let u A c = ( u i :0 ≤ i < N, i / ∈ A ) . For an ( N, K ) polar code, the encodingbit sequence is grouped into two parts: a K -element part u A which carries information bits, and u A c whose elements arepredefined frozen bits. For the sake of convenience, frozen bitsare set to be zero. B. SC Decoding Algorithm for Polar Codes
Given a transmitted codeword x and the correspondingreceived word y , the SC decoding algorithm for an ( N, K ) polar code decodes the encoding bit sequence u from u to u N − successively one by one as shown in Alg. 1. Here, ˆ u = (ˆ u , ˆ u , · · · , ˆ u N − ) represents the estimated value for u . P( y , ˆ u j − | u j ) is the probability that y is received and thepreviously decoded bits are ˆ u j − given u j is zero or one.To calculate P( y , ˆ u j − | u j ) , the following Arikan’s recursive Algorithm 1:
SC Decoding Algorithm [1] for j = 0 : N − do if j ∈ A c then ˆ u j = 0 else if P( y , ˆ u j − | y , ˆ u j − | ≥ then ˆ u j = 1 else ˆ u j = 0 channel transformations [1] are used: P( y Γ − , u i − | u i )= 12 (cid:88) u i +1 (cid:104) P( y Γ / − , u i − ,e ⊕ u i − ,o | u i ⊕ u i +1 ) · P( y Γ − / , u i − ,o | u i +1 ) (cid:105) , (2)and P( y Γ − , u i | u i +1 )= 12 P( y Γ / − , u i − ,e ⊕ u i − ,o | u i ⊕ u i +1 ) · P( y Γ − / , u i − ,o | u i +1 ) , (3)where ≤ Γ = 2 γ ≤ N , and ≤ i < N . C. SCL Decoding Algorithm for Polar Codes
Instead of making decision for each information bit of u inan SC decoding algorithm, the SCL decoding algorithm [7]creates two paths in which the bit is assumed to be 0 and 1,respectively. If the number of paths is greater than the list size L , the L most-reliable paths are selected out. At the end ofthe decoding procedure, the most reliable path is chosen as ˆ u .The SCL decoding algorithm is described in Alg. 2. Withoutloss of generality, assume L to be a power of two, i.e. L = 2 l .Let L i = (( L i ) , ( L i ) , · · · , ( L i ) N − ) represent the i -th listvector, where ≤ i < L .Here, S is a structure type array with the size of L . Eachelement of S has three members: P , L , and U . The function sortPDecrement sorts the array S by the decreasing orderof P . D. CA-SCL Decoding Algorithm for Polar Codes
The CA-SCL decoding algorithm is used for the CRC-concatenated polar codes. The difference between the CA-SCL [8] and the SCL decoding algorithms is how to make thefinal decision for ˆ u . If there is at least one path satisfying theCRC constraint, the most-reliable CRC-valid path is chosenfor ˆ u . Otherwise, the decision rule of the SCL decodingalgorithm is used for the CA-SCL decoding algorithm. Sincenow, without being specified, polar codes mentioned in thefollowing sections are CRC-concatenated polar codes.III. M - BIT S YMBOL - BASED D ECODING A LGORITHM FOR P OLAR C ODES
A. Generalized Symbol-based SC Decoding Algorithm forPolar Codes
In [17], only two-bit, four-bit, eight-bit symbol-based de-coding algorithm for polar codes are discussed. Here, a lgorithm 2:
SCL Decoding Algorithm [7] α = 1 ; for j = 0 : N − do if j ∈ A c then for i = 0 : α − do ( L i ) j = 0 ; else if α ≤ L then for i = 0 : α − do ( L i ) j = (( L i ) j − , ; ( L i + α ) j = (( L i ) j − , ; α = 2 α ; else for i = 0 : L − do S [ i ] . P = P( y , ( L i ) j − | ; S [ i ] . L = ( L i ) j − ; S [ i ] . U = 0 ; S [ i + L ] . P = P( y , ( L i ) j − | ; S [ i + L ] . L = ( L i ) j − ; S [ i + L ] . U = 1 ; sortPDecrement ( S ); for i = 0 : L − do ( L i ) j = ( S [ i ] . L , S [ i ] . U) ; α = L ; ˆ u = L ;generalized M -bit symbol-based decoding algorithm for polarcodes is discussed. Without loss of generality, assume M is a power of two, i.e. M = 2 m (0 ≤ m ≤ n ) . Define IM j def = { jM, jM + 1 , · · · , jM + M − } ⊂ I , for ≤ j < NM . AM j and AM cj are defined as: AM j def = IM j ∩ A and AM cj def = IM j ∩ A c . (4)Then the decision rule of the M -bit symbol-based SCdecoding algorithm can be described as, ˆ u jM + M − jM = arg max u AM j ∈{ , } |AM j | u AM jc ∈{ } |AM cj | P( y , ˆ u jM − | u jM + M − jM ) , (5)where |AM j | represents the cardinality of AM j . If M = N ,this decoding algorithm is a maximum-likelihood sequencedecoding algorithm.If all bits of u are independent and each bit has anequal probability of being a 0 or 1, the following symbol-based recursive channel combination relationship can be usedto calculate the symbol-based channel transition probability P( y , u jM − | u jM + M − jM ) : Proposition 1.
For any ≤ m ≤ n , N = 2 n , M = 2 m , ≤ j < NM , assume v N − def = u N − ,e ⊕ u N − ,o and v N − N def = u N − ,o , then P( y N − ,u jM − | u jM +2 M − jM ) =P( y N − , v jM − | v jM + M − jM ) · P( y N − N , v N + jM − N | v N + jM + M − N + jM ) (6) Proof:
According to Bayes’ theorem, P( y N − ,u jM − | u jM +2 M − jM )= P( y N − , u jM +2 M − | u jM +2 M − )P( u jM +2 M − jM | u jM +2 M − ) . (7)Because all bits of u are independent and each bit has an equalprobability of being a 0 or 1, P( u jM +2 M − jM | u jM +2 M − ) = P( u jM +2 M − jM )= P( u jM )P( u jM ) · · · P( u jM +2 M − ) = 2 − (2 M − . Therefore, P( y N − , u jM − | u jM +2 M − jM )= 2 (2 M − P( y N − , u jM +2 M − | u jM +2 M − ) . (8)According to Eq. (3), P( y N − ,u jM +2 M − | u jM +2 M − )= 12 P( y N − , v jM + M − | v jM + M − ) · P( y N − N , v N + jM + M − N | v N + jM + M − ) . (9)According to the definition of v N − , all bits of v N − areindependent and P( v j = 0) = P( v j = 1) = for ≤ j < N .Then we have P( y N − ,v jM + M − | v jM + M − )= 2 − ( M − P( y N − , v jM − | v jM + M − jM ) . (10)Similarly, P( y N − N , v N + jM + M − N | v N + jM + M − )= 2 − ( M − P( y N − N , v N + jM − N | v N + jM + M − N + jM ) . (11)Then, by equations (8) ∼ (11), Eq. (6) is obtained.Similar to the SC decoding algorithm, an M -bit symbol-based SC decoding algorithm can be represented by using amessage flow graph (MFG) as well, where a channel transitionprobability is referred as a message for the sake of conve-nience. If the code length of a polar code is N , the MFG canbe divided into ( n + 1) stages S , S , · · · , S n : one initial stage S and n calculation stages. For the SC decoding algorithm, allcalculation stages carry out the calculation of Eq. (2) and (3).However, for the M -bit symbol-based SC decoding algorithm,the Arikan’s recursive transformations are performed in thefirst ( n − m ) calculation stages, called channel transformationstages. In the last m calculation stages, called channel combi-nation stages, Eq. (6) is used to compute messages. Therefore,an M -bit symbol-based SC decoding algorithm contains twoparts. The first part contains calculations of the first n − m stages and consists of M SC decoders for polar codes of length NM . These SC decoders are called as component decoders.here are no message exchange between these componentdecoders. Channel combination stages use outputs of channeltransformation stages to calculate symbol-based messages andfeed the estimated symbol back to component decoders toupdate partial-sums.For example, as shown inFig. 1, the MFG of a four-bitsymbol-based SC decoding algorithm for a polar code with L = 8 has four stages. Messages of the initial stage (S0) comefrom the channel directly. Messages of the first stage (S1) arecalculated with Arikan’s recursive transformations. Messagesof the second and third stages (S2 and S3) are calculatedwith Eq. (6). The four small gray boxes on the right are fourcomponent SC decoders. And stages in the big gray box onthe left are channel combination stages. Here, v = u ,e ⊕ u ,o , v = u ,o ,w = v ⊕ v = u ⊕ u ⊕ u ⊕ u ,w = v ⊕ v = u ⊕ u ⊕ u ⊕ u ,w = v = u ⊕ u ,w = v = u ⊕ u ,w = v ⊕ v = u ⊕ u ,w = v ⊕ v = u ⊕ u ,w = v = u ,w = v = u . Fig. 1. The message flow graph of a four-bit symbol-based SC decodingalgorithm for a polar code with a length of eight.
We can take advantage of the symbol-based channel com-bination to reduce complexity of calculating the symbol-basedchannel transition probability. In [17], an ML decoder is use tocalculate the symbol-based message of stage S n from output ofcomponent decoders directly. There are M possible values foran M -bit symbol. [13] shows that ( M − additions are neededto calculate the log-likelihood (LL) message correspondingto each value. Therefore, an ML decoder needs M ( M − additions in total. In channel combination stages, there are n − i nodes in the i -th stage and each node contains M + i − n messages. One addition is needed to compute each LL mes-sage according to Eq. (6). Hence, channel combination stagesneed (cid:80) m − i =0 i M i additions in total. For the example shown in Fig. 1, the ML decoder needs (4 −
1) = 48 additions.The channel combination stages need only + 2 × = 24 additions, which is only a half of those needed by the MLdecoder.In terms of the error performance, simulations of [17]show that there is no observed performance loss for the the M -bit symbol-based SC decoding algorithm using the MLdecoder to calculate the symbol-based message, comparedwith the SC polar decoding algorithm. Since our channelcombination relationship can be used to provide the samecalculation results as the ML decoder used in [17] does,the M -bit symbol-based SC decoding algorithm using thesymbol-based channel combination relationship does not haveany observed performance degradation compared with the SCdecoding algorithm. B. Generalized Symbol-based SCL Decoding Algorithm forPolar Codes
The symbol-based SCL decoding algorithm is more com-plex than the SCL algorithm, since the path expansion coef-ficient is not a constant any more. In the SCL algorithm, foreach information bit, the path expansion coefficient is two.But for the M -bit symbol-based SCL decoding algorithm, thepath expansion coefficient is |AM j | , which depends on thenumber of information bits in an M -bit symbol. The M -bitsymbol-based SCL decoding algorithm is described in Alg. 3.Here, without any ambiguity, represents a zero vectorwhose bit-width is determined by the left-hand operator. Thefunction dec2bin ( d, b ) converts a decimal number d to a b -bit binary vector. Eq. (6) can also be used to calculate thesymbol-based channel transition probability corresponding toeach list, i.e. P( y , ( L i ) jM − | u jM + M − jM ) . −6 −5 −4 −3 −2 E b /N (dB) FER
SCLSSCL−2SSCL−4SSCL−8
Fig. 2. FERs of symbol-based SCL decoding algorithms for a (1024, 512)polar code with L = 4 . Fig. 2 shows FERs of symbol-based SCL decoding algo-rithms for a (1024,512) polar code with L = 4 . Performancedifferences between these curves are very minor. Therefore,by applying Eq. (6) the symbol-based SCL algorithm doesnot introduce the obvious performance loss compared withthe SCL decoding algorithm. Even with different M s, these lgorithm 3: M -bit Symbol-based SCL Decoding Algo-rithm [17] α = 1 ; for j = 0 : NM − do β = 2 |AM j | ; if β == 1 then for i = 0 : α − do ( L i ) jM + M − jM = ; else if αβ ≤ L then u AM cj = ; for k = 0 : β − do u AM j = dec2bin ( k, |AM j | ) ; for i = 0 : α − do t = i + kα ; ( L t ) jM + M − = (( L i ) jM − , u jM + M − jM ) ; α = αβ ; else u AM cj = ; for k = 0 : β − do u AM j = dec2bin ( k, |AM j | ) ; for i = 0 : L − do t = i + kL ; S [ t ] . P = P( y , ( L i ) jM − | u jM + M − jM ) ; S [ t ] . L = ( L i ) jM − ; S [ t ] . U = u jM + M − jM ; sortPDecrement ( S ); for i = 0 : L − do ( L i ) jM + M − = ( S [ i ] . L , S [ i ] . U) ; α = L ;performance curves are very close. Here, SSCL- i denotes the i -bit symbol-based SCL decoding algorithm.IV. T WO -S TAGE L IST P RUNING N ETWORK
For the M -bit symbol-based SCL decoding algorithm, themaximum path expansion coefficient is M , i.e. each existinglist generates M list candidates. Therefore, in the worst-casescenario, L most-reliable lists should be sorted out of M L list candidates. To facilitate this sorting network, we proposea two-stage list pruning network. In the first stage, q most-reliable lists are found out among M list candidates of eachexisting list. Therefore, there are qL list candidates left. Inthe second stage, the L most-reliable lists are sorted out fromthe qL list candidates generate by the first stage. The messageflow of a two-stage list pruning network is illustrated in Fig. 3.It is easy to prove that if q ≥ L and M > L , the L lists found by the two-stage list pruning network are exactlythe L most-reliable lists among the M L list candidates.Therefore, we only consider q ≤ L . In terms of complexity, asmaller q leads to a two-stage list pruning network with lower M -path Sorting Function2 M -path Sorting Function2 M -path Sorting Function qL -path Sorting Function L L M M M qqq Fig. 3. Message flow for a two-stage list pruning network. complexity but the probability that the L lists found by thetwo-stage list pruning network are exactly the L most-reliablelists among the M L list candidates decreases as well. Thismay cause some performance loss.Fig. 4 and 5 show how different q s affect FERs of an SSCL-8 decoding algorithm for a (1024, 512) polar code with L = 4 and L = 16 , respectively. When L = 4 and q = 2 , the SSCL-8decoding algorithm shows an FER performance loss of about0.2 dB. When L = 16 , compared with the FER performancewith q = 16 , there is no observed performance degradationwhen q = 8 . The performance loss due to q = 4 is about0.08 dB. Therefore, for L = 16 , to reduce complexity and thelatency of the two-stage list pruning network, q can be . Ifthe 0.08 dB performance loss is tolerated, q can be reducedfurther to four. −5 −4 −3 −2 −1 E b /N (dB) FER
SCL, L=4SSCL−8, L=4, q=256SSCL−8, L=4, q=4SSCL−8, L=4, q=2
Fig. 4. FERs of SSCL-8 decoder for a (1024, 512) polar code with L = 4 . Similarly, as shown in Fig. 6, for a (2048,1433) polarcode, the two stage list-pruning network of q = 4 helps toreduce the complexity of SSCL-8 decoder without the obviousperformance loss.Fig. 7 shows FERs of an SSCL-4 decoder for a (1024,512)polar code with L = 8 while different q s are used. Comparedwith the case of q = 8 , there is no obvious FER performanceloss when q = 4 . However, q = 2 incurs an FER performanceloss of about 0.3 dB when the FER is − .To illustrate advantages of two-stage list pruning network,two tree sorting networks are designed to find the 8 maximal .3 1.4 1.5 1.6 1.7 1.8 1.9 210 −4 −3 −2 −1 E b /N (dB) FER
SSCL−8, L=16, q=4SSCL−8, L=16, q=8SSCL−8, L=16, q=16
Fig. 5. FERs of SSCL-8 decoder for a (1024, 512) polar code with L = 16 . −5 −4 −3 −2 −1 E B /N (dB) FER
SSCL−8, L=8, q=8SSCL−8, L=8, q=4SSCL−8, L=8, q=2
Fig. 6. FERs of SSCL-8 decoding algorithm for a (2048, 1433) polar codewith L = 8 . −5 −4 −3 −2 −1 E b /N (dB) FER
SSCL−4, L=8, q=8SSCL−4, L=8, q=4SSCL−4, L=8, q=2
Fig. 7. FERs of SSCL-4 decoder for a (1024, 512) polar code with L = 8 . values out of 128 values which can be used in the SSCL-4 decoder with L = 8 . One is a conventional tree sortingnetwork, shown in Fig. 8, refered to as CTSN. The other is atwo-stage tree sorting network with q = 4 , shown in Fig. 9,refered to as TSTSN. Here, the ”ps16to8” block is a bitonicsorter which finds the maximal 8 values out of 16 values. Thebitonic sorter, ”ps8to4”, finds the maximal 4 values out of 8values. ps16to8 ps16to8 ps16to8 ps16to8 ps16to8 ps16to8 ps16to8 ps16to8ps16to8 ps16to8 ps16to8 ps16to8ps16to8 ps16to8ps16to8 Fig. 8. A conventional tree sorting network to find the 8 maximal valuesout of 128 values. ps16to4 ps16to4 ps16to4 ps16to4 ps16to4 ps16to4 ps16to4 ps16to4ps16to8 ps16to8ps16to8 ps8to4 ps8to4ps8to4 ps16to4
Fig. 9. A two-stage tree sorting network to find the 8 maximal values outof 128 values.
We implement these two sorting networks and use the RTLcompiler to synthesize them with a TSMC 90-nm CMOStechnology. The TSTSN has a smaller area and a shortercritical path than the CTSN, as shown in Table I. Besides,the TSTSN does not introduce any obvious performancedegradation as shown in Fig. 7.
TABLE IS
YNTHESIZING RESULTS FOR
CTSN
AND
TSTSN.Design area (mm ) Critical Path Delay (ns)CTSN 0.206 7.463TSTSN 0.134 5.861 V. C
ONCLUSION
In this paper, we discuss the generalized symbol-based SCand SCL decoding algorithm for polar codes and derive therecursive procedure to calculate the symbol-based channeltransition probability. This recursive procedure needs lessadditions than the ML scheme used in [17]. A two-stage listpruning network is also proposed to simplify the L -list findingnetwork. R EFERENCES[1] E. Arikan, “Channel polarization: A method for constructing capacity-achieving codes for symmetric binary-input memoryless channels,”
IEEETrans. Inf. Theory , vol. 55, no. 7, pp. 3051–3073, July 2009.2] E. Sasoglu, I. Telatar, and E. Arikan, “Polarization for arbitrary discretememoryless channels,” in
ITW , Oct 2009, pp. 144–148.[3] C. Leroux, A. Raymond, G. Sarkis, and W. Gross, “A semi-parallelsuccessive-cancellation decoder for polar codes,”
IEEE Trans. SignalProcess. , vol. 61, no. 2, pp. 289–299, Jan 2013.[4] K. Niu and K. Chen, “CRC-aided decoding of polar codes,”
IEEECommun. Lett. , vol. 16, no. 10, pp. 1668–1671, October 2012.[5] A. Eslami and H. Pishro-Nik, “A practical approach to polar codes,” in
ISIT , Jul. 2011, pp. 16–20.[6] E. Arikan, “Systematic polar coding,”
IEEE Commun. Lett. , vol. 15,no. 8, pp. 860–862, August 2011.[7] I. Tal and A. Vardy, “List decoding of polar codes,” in
ISIT , July 2011,pp. 1–5.[8] ——, “List decoding of polar codes,” arXiv:1206.0050, Jun. 2012.[9]
IEEE Standard for Local and Metropolitan Area Networks Part 16:Air Interface for Fixed and Mobile Broadband Wireless Access SystemsAmendment 2: Physical and Medium Access Control Layers for Com-bined Fixed and Mobile Operation in Licensed Bands and Corrigendum1 , IEEE Std. 802.16e-2005, Mar. 2006.[10] C. Leroux, I. Tal, A. Vardy, and W. Gross, “Hardware architectures forsuccessive cancellation decoding of polar codes,” in
ICASSP , May 2011,pp. 1665–1668.[11] A. Alamdar-Yazdi and F. Kschischang, “A simplified successive-cancellation decoder for polar codes,”
IEEE Commun. Lett. , vol. 15,no. 12, pp. 1378–1380, Dec. 2011.[12] C. Zhang and K. Parhi, “Latency analysis and architecture design ofsimplified sc polar decoders,”
IEEE Trans. Circuits Syst. II , vol. 61,no. 2, pp. 115–119, Feb. 2014.[13] G. Sarkis and W. Gross, “Increasing the throughput of polar decoders,”
IEEE Commun. Lett. , vol. 17, no. 4, pp. 725–728, Apr. 2013.[14] G. Sarkis, P. Giard, A. Vardy, C. Thibeault, and W. Gross, “Fast polardecoders: Algorithm and implementation,”
IEEE Journal on SelectedAreas in Communications , vol. 32, no. 5, pp. 946–957, May 2014.[15] C. Zhang and K. Parhi, “Low-latency sequential and overlapped archi-tectures for successive cancellation polar decoder,”
IEEE Trans. SignalProcess. , vol. 61, no. 10, pp. 2429–2441, May 2013.[16] J. Lin and Z. Yan, “Efficient list decoder architecture for polar codes,”in