An Online Decoding Schedule Generating Algorithm for Successive Cancellation Decoder of Polar Codes
aa r X i v : . [ c s . I T ] M a y An Online Decoding Schedule GeneratingAlgorithm for Successive Cancellation Decoderof Polar Codes
Dan Le, Xiamu Niu ∗ The School of Computer Science and Technology, Harbin Institute ofTechnology, Harbin, 150001 China.
Abstract
Successive cancellation (SC) is the first and widely known decoder of polar codes, which hasreceived a lot of attentions recently. However, its decoding schedule generating algorithms are stillprimitive, which are not only complex but also offline. This paper proposes a simple and online algorithmto generate the decoding schedule of SC decoder. Firstly, the dependencies among likelihood ratios (LR)are explored, which lead to the discovery of a sharing factor. Secondly, based on the online calculationof the sharing factor, the proposed algorithm is presented, which is neither based on the depth-firsttraversal of the scheduling tree nor based on the recursive construction. As shown by the comparisonsamong the proposed algorithm and existed algorithms, the proposed algorithm has advantages of theonline feature and the far less memory taken by the decoding schedule.
Index Terms
Polar codes, successive cancellation decoder, decoding schedule, sharing factor
I. I
NTRODUCTION
Since Shannon presented the noisy channel coding theorem [1], polar code, introduced byArikan [2], is the first class of codes achieving channel capacity with explicit construction. Withthe successive cancellation (SC) decoder, the channel capacity is asymptotically achieved bycodelength N . Hence, polar codes have attracted many attentions recently[3], [4], [5], [6], [7],[8], [9], [10], [11], [12], [13], [14], [15], [16]. As the first and widely known decoder of polar codes, a lot of research efforts have beenmade on SC decoder[6], [7], [8], [9], [10], [11], [12], [13], [14], [15]. Some references focuson the simplified successive cancellation (SSC)[6], [8], [12], [13], [15], which simplifies theconstituent code with rate zero in SC decoder. SSC can significantly reduce the decodinglatency and implementation complexity of SC decoder, but its performance depends stronglyon the underlying channel and it requires that all frozen bits must be zeros. However, in somescenarios, the frozen bits can not be zeros, for instance, the error reconciliation in the quantumkey distribution[17], [18]. Since SC decoder asks no restrictions on the frozen bits and itsperformance does not rely on the underlying channel, lots of works[7], [10], [11], [14] are stilldone on the SC decoder. [7] presented an efficient hardware implementation of SC decoder with O ( N ) processing elements and memory elements. [10] proposed a semi-parallel SC decoderfor resource sharing and processor sharing at the cost of a small increase in decoding latency.[11] showed a look-ahead and overlapped architectures to decrease the decoding latency of SCdecoder. [14] proposed an efficient partial sum network architecture to reduce the decodinglatency and implementation complexity for semi-parallel SC decoder. Although so many workshave been done on SC decoder, its decoding schedule generating algorithms are still primitive.As far as we know, there are just two existed decoding schedule generating algorithms. One isbased on the depth-first traversal of the scheduling tree[6], [9], [12], [14], [15]. The other is basedon the recursive construction[8]. However, the problems are that they not only are too complex,but also generate decoding schedule offline and store it in the ROM. To overcome the problems,based on the newly found factor z i , this paper proposes a new algorithm to generate the decodingschedule of SC decoder. The presented algorithm is more simple, obtains the decoding scheduleon the fly without introducing any extra delay, and decreases the memory storing the decodingschedule significantly. These advantages reduce the implementation complexity of SC decoder.The remainder of this paper is organized as follows. In Section II we briefly review the SCdecoder and introduce some notations. Section III explores the dependencies among likelihoodratios (LR), which lead to the discovery of the sharing factor z i . Based on z i , Section IV presentsthe proposed decoding schedule generating algorithm. Section V shows the comparisons amongthe proposed algorithm and existed algorithms. Finally, some conclusions are drawn in SectionVI. II. SC D
ECODER AND S OME N OTATIONS
First of all, let us list some notations used in this paper, • N = 2 n is the code length of polar code, and n = log N • u N is a shorthand for a row vector ( u , · · · , u N ) , and u ji , ≤ i, j ≤ N , represents itssubvector ( u i , · · · , u j ) • { a, · · · , b } represents the set of the integers ranging from a to b • & is bitwise logical AND operator.Polar codes take advantage of the polarization effect to achieve the channel capacity I ( W ) ,whose channel model is illustrated as Figure 1, where u N is the input vector, W N is a com-bined channel by N independent copies of channel W , and y N is the output vector withconditional probability W N (cid:0) y N | u N (cid:1) . For the coordinate channels W ( i ) N of W N , the size ofthe set n W ( i ) N (cid:12)(cid:12)(cid:12) I (cid:16) W ( i ) N (cid:17) ≈ , ≤ i ≤ N o approaches N · I ( W ) , while the size of the set n W ( i ) N (cid:12)(cid:12)(cid:12) I (cid:16) W ( i ) N (cid:17) ≈ , ≤ i ≤ N o approaches N · (1 − I ( W )) . When sending data, only thegood coordinate channels are employed, which are called information bits. The indices set ofinformation bits are denoted as A , whose size is denoted as K . The set of other indices isnamed as A c , on which the values are called frozen bits, denoted as u A c = ( u i | i ∈ A c ) . Thefrozen bits u A c are known by both sender and receiver. Hence polar codes are usually denotedas ( N, K, A , u A c ) . N W N u N y Fig. 1. The illustration of the channel model of polar codes.
When decoding, SC decoder successively estimates the transmitted bits b u N as follows, b u i = u i , if i ∈ A c , if i / ∈ A c and L ( i ) N (cid:0) y N , b u i − (cid:1) ≥ , if i / ∈ A c and L ( i ) N (cid:0) y N , b u i − (cid:1) < (1), where L ( i ) N (cid:0) y N , b u i − (cid:1) = W ( i ) N (cid:0) y N , b u i − (cid:12)(cid:12) (cid:1) W ( i ) N (cid:0) y N , b u i − (cid:12)(cid:12) (cid:1) . (2) (2) can be straightforwardly calculated using the recursive formula L ( i ) N (cid:0) y N , ˆ u i − (cid:1) = f (cid:16) L ( ⌈ i/ ⌉ ) N/ (cid:16) y N/ , ˆ u i − ,o ⊕ ˆ u i − ,e (cid:17) , L ( ⌈ i/ ⌉ ) N/ (cid:16) y NN/ , ˆ u i − ,e (cid:17)(cid:17) , when i is odd (3a) g (cid:16) L ( ⌈ i/ ⌉ ) N/ (cid:16) y N/ , ˆ u i − ,o ⊕ ˆ u i − ,e (cid:17) , L ( ⌈ i/ ⌉ ) N/ (cid:16) y NN/ , ˆ u i − ,e (cid:17) , ˆ u i − (cid:17) , when i is even (3b) , where f ( a, b ) = a · b +1 a + b and g ( a, b, s ) = a − s · b . We name L ( i ) N (cid:0) y N , ˆ u i − (cid:1) as the i th LR atlength N . Its calculation is recursively converted into the calculations of the two LRs at length N/ , and the recursion is continued down to the calculations of the N LRs at length 1, i.e. L (1)1 ( y i ) = W ( y i | W ( y i | , ≤ i ≤ N, (4)which can be computed immediately according to the output vector y N .Another two recursive formulas similar to (3) are shown in (5) and (6), where F ( a, b ) =2arctanh (tanh ( a/ · tanh ( b/ , G ( a, b, s ) = ( − s a + b , and F ( a, b ) = sgn ( a ) · sgn ( b ) · min {| a | , | b |} . These two recursive formulas are both based on logarithm likelihood ratio (LLR),which is employed frequently by kinds of decoders, because it is always superior to the LR interms of hardware utilization, computational complexity, and numerical stability[11]. (6) is alsoknown as min-sum update rule, which further simplifies the implementations of the hyperbolictangent function and its inverse function in (5). Although the recursive formulas (3), (5) and (6)are different, the dependencies among nodes are the same if we regard a LR or LLR as a node.Without loss of generality, we employ the recursive formula (3) to depict our idea. L ( i ) N (cid:0) y N , ˆ u i − (cid:1) = F (cid:16) L ( ⌈ i/ ⌉ ) N/ (cid:16) y N/ , ˆ u i − ,o ⊕ ˆ u i − ,e (cid:17) , L ( ⌈ i/ ⌉ ) N/ (cid:16) y NN/ , ˆ u i − ,e (cid:17)(cid:17) , when i is odd (5a) G (cid:16) L ( ⌈ i/ ⌉ ) N/ (cid:16) y N/ , ˆ u i − ,o ⊕ ˆ u i − ,e (cid:17) , L ( ⌈ i/ ⌉ ) N/ (cid:16) y NN/ , ˆ u i − ,e (cid:17) , ˆ u i − (cid:17) , when i is even (5b) L ( i ) N (cid:0) y N , ˆ u i − (cid:1) = F (cid:16) L ( ⌈ i/ ⌉ ) N/ (cid:16) y N/ , ˆ u i − ,o ⊕ ˆ u i − ,e (cid:17) , L ( ⌈ i/ ⌉ ) N/ (cid:16) y NN/ , ˆ u i − ,e (cid:17)(cid:17) , when i is odd (6a) G (cid:16) L ( ⌈ i/ ⌉ ) N/ (cid:16) y N/ , ˆ u i − ,o ⊕ ˆ u i − ,e (cid:17) , L ( ⌈ i/ ⌉ ) N/ (cid:16) y NN/ , ˆ u i − ,e (cid:17) , ˆ u i − (cid:17) , when i is even (6b) According to (1) and (3), in order to estimate ˆ u i , the computation of the i th LR at length N is firstly activated, which in turn activates the two LRs at length N/ . The two LRs at length N/ then activate the four LRs at length N/ , which activate the eight LRs at length N/ .The process continues till the LRs at certain length, assumed as N/ k , have been estimated.Then the computation is sequentially performed back from length N/ k − to length N , and ˆ u i is determined according to (1). In other words, SC decoder achieves the maximized sharing onthe calculations of LRs by a recursive way. We name the recursive way as implicitly maximizedsharing, because it can not immediately recognize which of LRs could be shared. To achieve anexplicitly maximized sharing, the existed implementations firstly calculate the decoding scheduleoffline by certain algorithm, then store it in the ROM. Different from them, the proposedalgorithm obtains the decoding schedule on the fly without introducing any extra delay, whichowes to a new-found factor z i .III. D EPENDENCIES AMONG LR S To achieve an explicitly maximized sharing on the calculations of LRs, we firstly probe intothe recursive formula (3) to explore the dependencies among LRs. It is obvious that there arethree operations performing on the decoded bits b u i − in (3). They are the XOR between thesubvectors with odd indices and even indices, the EXTRACTION of the subvector with evenindices, and the EXTRACTION of the last element , i.e. p (cid:0) ˆ u i − (cid:1) = ˆ u i − ,o ⊕ ˆ u i − ,e = ˆ u ⌊ i − ⌋ ,o ⊕ ˆ u ⌊ i − ⌋ ,e q (cid:0) ˆ u i − (cid:1) = ˆ u i − ,e = ˆ u ⌊ i − ⌋ ,e r (cid:0) ˆ u i − (cid:1) = ˆ u i − . (7)By these three operations, we deduce which of LRs are used during the calculation of the i th LR at length N . Lemma 1
For any given ≤ k ≤ n , the calculation of the i th LR at length N , L ( i ) N (cid:0) y N , ˆ u i − (cid:1) ,depends on the calculations of k LRs at length N (cid:14) k , L ( ⌈ i / k ⌉ ) N / k (cid:18) y j · N / k ( j − · N / k +1 , h j,k (cid:0) ˆ u i − (cid:1)(cid:19) , j k , (8) where h j,k is a composite function of functions p and q . Specifically, h j,k = θ k ◦ θ k − ◦ · · · ◦ θ ◦ θ ,where θ a = p, when b k − a +1 = 0 q, when b k − a +1 = 1 , ≤ a ≤ k, (9) and b k b k − · · · b b is the binary expansion of the integer j − . Proof
Please refer to Appendix I. (cid:3) (8) indicates that the LRs at length N/ k depended by two diverse LRs at length N aredifferent in two items. One is (cid:6) i/ k (cid:7) , and the other is h j,k (cid:0) ˆ u i − (cid:1) . It is obvious that (cid:6) i/ k (cid:7) ≡ m, for ∀ ( m −
1) 2 k + 1 ≤ i ≤ m k . (10)Then how about h j,k (cid:0) ˆ u i − (cid:1) ? Lemma 2
For any given ≤ k ≤ n and j k , h j,k (ˆ u i ) is a vector with the length of (cid:4) i (cid:14) k (cid:5) , denoted as (cid:16) v , v , · · · , v ⌊ i / k ⌋ (cid:17) . Any element v a is estimated as follows, v a = ⊕ d ∈ D j,k,a ˆ u d , ≤ a ≤ (cid:4) i/ k (cid:5) , where D j,k,a = (cid:8) d (cid:12)(cid:12) d = ( a − · k + 1 + c k c k − · · · c (cid:9) , (11) c t = ? , when b k − t +1 = 01 , when b k − t +1 = 1 , ≤ t ≤ k (12) c t =? indicates that c t can be 0 and 1, and b k b k − · · · b b is the binary expansion of the integer j − . Proof
Please refer to Appendix II. (cid:3)
Lema 2 shows that the vector h j,k (cid:0) ˆ u i − (cid:1) is determined by the values of j , k and (cid:4) ( i − / k (cid:5) .Since (cid:4) ( i − / k (cid:5) ≡ m − for all ( m −
1) 2 k + 1 ≤ i ≤ m k , we have h j,k (cid:0) ˆ u i − (cid:1) ≡ h j,k (cid:16) ˆ u ( m − · k (cid:17) , for ∀ ( m −
1) 2 k + 1 ≤ i ≤ m k . (13)Combining (10), (13) and Lema 1, it can be concluded that the k LRs at length N , L ( i ) N (cid:0) y N , ˆ u i − (cid:1) , ( m −
1) 2 k + 1 ≤ i ≤ m k , share the same k LRs at length N /2 k L ( m ) N / k (cid:18) y j · N / k ( j − · N / k +1 , h j,k (cid:16) ˆ u ( m − · k (cid:17)(cid:19) , j k . (14)According to the conclusion, we find a factor defined as Definition 1. It is the key to achieve anexplicitly maximized sharing on the calculations of LRs, as shown in the following Theorem 1. Definition 1 ( Sharing Factor ) For any given ≤ i ≤ N , its sharing factor is denoted as z i ,which is the number of the consecutive zeros in the end of the binary expansion of the integer i − . It is noted that z i = n when i = 1 . In the view of the sharing factor z i , i − can be rewritten as follows, i − , if i = 1 m o · z i , otherwise (15)where m o is odd. Theorem 1 details the function of z i on the explicitly maximized sharing onthe calculations of LRs. Theorem 1
In SC decoder, when ˆ u i is estimated, only the LRs at length N, N /2 , · · · , N /2 z i should be calculated, while the LRs at length N/ z i +1 , N/ z i +2 , · · · , can be shared, where z i is the sharing factor of i . Specifically, the calculations can be performed beginning with the LRsat length N /2 z i , and in sequence till ending with the LR at length N . Proof
Please refer to Appendix III. (cid:3)
IV. P
ROPOSED D ECODING S CHEDULE G ENERATING A LGORITHM
For the estimation of ˆ u i , all required LRs at length N/ k are listed in (14). Hence we justneed to determine which of formula f and g is employed to calculate these LRs. If the formula f is used, these calculations are denoted as f N/ k , otherwise denoted as g N/ k . For the sake ofbrevity, f N/ k and g N/ k are both represented by γ N/ k , then γ N/ k = f N/ k , when (cid:6) i/ k (cid:7) is odd g N/ k , when (cid:6) i/ k (cid:7) is even . (16)According to Theorem 1, the decoding schedule for the estimation of ˆ u i is γ N/ zi , γ N/ zi − , · · · , γ N .By employing the sharing factor z i , we can further simplify the selection of γ N/ k between f N/ k and g N/ k . According to (15), we have (cid:6) i (cid:14) k (cid:7) = (cid:6) (cid:14) k (cid:7) , if i = 1 (cid:6) m o · z i − k + 1 (cid:14) k (cid:7) , otherwise , where m o is odd. Obviously, if i = 1 , then (cid:6) i/ k (cid:7) is always equal to 1 for all the k , otherwiseit is even for k = z i and odd for k < z i . Here the case of k > z i are not considered, because Theorem 1 shows that the LRs at length N/ k , k > z i , can be shared and need not be calculated.Hence the parity of (cid:6) i/ k (cid:7) can be determined as follows, (cid:6) i/ k (cid:7) = even, if i = 1 and k = z i odd, otherwise , (17)and the selection of γ N/ k can be rewritten as follows, γ N/ k = g N/ k , if i = 1 and k = z i f N/ k , otherwise . (18)Another method to determine the selection of γ N/ k was also presented in [10], [15], i.e. γ N/ k = g N/ k , when ( i −
1) &2 k == 1 f N/ k , when ( i −
1) &2 k == 0 . (19)In their method, for each ≤ i ≤ N , the selections should be performed for all k . While ourmethod shows that, for ≤ i ≤ N , the formula g is just employed one time, i.e. k = z i , andfor i = 1 , the formula g does not be employed.In a word, the proposed decoding schedule algorithm is summarized as follows. The SCdecoder successively estimates the transmitted bits ˆ u N : for the estimation of ˆ u , f , f , f , · · · , f N are performed in sequence, and for the estimation of ˆ u i ( i > ), g N/ zi , f N/ zi − , · · · , f N areperformed in sequence. An example of N = 8 is shown in Table I. The first line is clock cycle,the second line is the entries of the decoding schedule, and the third line is the output of ˆ u i . TABLE IT
HE DECODING SCHEDULE OF SC DECODER FOR POLAR CODES WITH N = 8 .CC 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15Entry f f f f g g f g g f f g g f g ˆ u i N/A N/A N/A ˆ u ˆ u N/A ˆ u ˆ u N/A N/A ˆ u ˆ u N/A ˆ u ˆ u In order to generate the decoding schedule online, we would like to calculate z i on the fly.According to Bit Twiddling Hacks , the online calculation of z i is feasible. An illustration witha multiply and a lookup table is shown in Algorithm 1. The algorithm works for any input ≤ i ≤ . For the case i = 1 , z is set to n . The codelength N = 2 is enough for almost http://graphics.stanford.edu/ ∼ seander/bithacks.html. all practical polar codes, whose codelengths usually are about bits. Since the calculationof z i is so simple, its delay can be easily eliminated by packing it into the estimations of ˆ u j ,( j < i ). Hence z i can be calculated on the fly without introducing any extra delay. The proposedalgorithm thereby generates decoding schedule online without introducing any extra delay. Algorithm 1
An illustration of calculating z i Input: i ; Output: z i ; static const int LT[32] = {
0, 1, 28, 2, 29, 14, 24, 3, 30, 22, 20, 15, 25, 17, 4, 8, 31, 27,13, 23, 21, 19, 16, 7, 26, 12, 18, 6, 11, 5, 10, 9 } ; int v = i − ; z i = LT[((uint32 t)(( v & - v ) ∗ >> OMPARISONS
To the best of our knowledge, there are two algorithms generating the decoding schedule ofSC decoder, both of which calculate the decoding schedule offline and store it in the ROM.One is based on the depth-first traversal of the scheduling tree[6], [9], [12], [14], [15], as shownin Figure 2. The other is based on the recursive construction[8], as shown in Algorithm 2.Obviously, the proposed algorithm based on the sharing factor z i is more simple. Algorithm 2
Recursive-construction based decoding schedule generating algorithm[8]
Input:
Codelength N ; Output:
Decoding schedule DS ; DS = N U LL ; for i = n , i − − , 1 do DS = [ f i , DS ]; DS = [ g i , DS ]; DS = [ DS , DS ]; end for DS = [ f , DS ] ; Output DS ; f /2 N f N f N g /2 N f N f N g /2 N g N f N g (cid:35) (cid:35) (cid:35) (cid:35) (cid:34) f g (cid:34) f f g g ˆ u ˆ u ˆ u ˆ u ˆ N u (cid:16) ˆ N u node f node g (a) f f f g f g g f g g f f g g f ˆ u ˆ u ˆ u ˆ u ˆ u ˆ u ˆ u ˆ u (b) Fig. 2. Scheduling tree of the SC decoder for polar codes, whose depth-first traversal generates the decoding scheduling. (a)General scheduling tree. (b) Example of N = 8 . We compare the three algorithms in terms of online (No/Yes), extra delay(No/Yes), andmemory. The indicator of online measures whether the decoding schedule is generated on thefly or not. The indicator of extra delay measures whether the generation of decoding scheduleintroduces extra delay into the decoding process. The indicator of memory shows the numberof the storage taken by the decoding schedule. The comparison results are listed in Table II.
TABLE IIC
OMPARISONS AMONG DIFFERENT DECODING SCHEDULE GENERATING ALGORITHMS .Online Extra Delay Memory (bit)Scheduling Tree[6], [9], [12], [14], [15] No No (2 N −
1) log (2 n + 1) Recursive Construction[8] No No (2 N −
1) log (2 n + 1) Proposed
Yes No Since the algorithms based on the scheduling tree and recursive construction both generatethe decoding schedule offline and store it in the ROM, they are not online and do not introduceany extra delay. For the two existed algorithms, the required memory is equal to the product ofthe number of the entries of decoding schedule and the number of bits to represent each entry.It is obvious that the number of the entries of decoding schedule is the total nodes of scheduletree, i.e. P nk =0 k = 2 N − . Each entry of decoding schedule can be represented at least by log (2 n + 1) , because there are n + 1 different entries, i.e. f , · · · , f N/ , f N , g , · · · , g N/ , g N .Hence the memory taken by the two existed algorithms are both (2 N −
1) log (2 n + 1) . IfAlgorithm 1 is employed to calculate z i , as mentioned above, the proposed algorithm can generatethe decoding schedule on the fly without introducing any extra delay. Since only a lookup tableneeds to be stored during the running of the proposed algorithm, its required memory is constant,i.e. 160bits, which is far less than the memory taken by the two existed algorithms, especiallyfor a large N . Usually, in order to achieve the channel capacity, the codelength of polar codesshould be at least bits[10], [16], i.e. N ≥ .VI. C ONCLUSIONS
Thanks to the new-found factor z i , we have proposed a new decoding schedule generatingalgorithm, which is superior to the existed algorithms in two aspects. The first is that the existedalgorithms are too complex, which are either based on the depth-first traversal of the schedulingtree or based on the recursive construction. While the proposed algorithm skillfully computesdecoding schedule by the sharing factor z i , which can be calculated easily with Bit TwiddlingHacks. The second is that the existed algorithms obtain decoding schedule offline and consumeat least (2 N −
1) log (2 n + 1) bits to store it. While the proposed algorithm generates decodingschedule on the fly, and just requires 160 bits during the generation of the decoding schedule.These advantages are helpful to decrease the implementation complexity of SC decoder.A CKNOWLEDGMENT
The authors gratefully acknowledge Wu Xianyan, Sang Jianzhi and Mao Haokun from HarbinInstitute of Technology for many useful discussions on this paper. This work is supported bythe National Natural Science Foundation of China (Grant Number: 61471141, 61361166006,61301099) and the Fundamental Research Funds for the Central Universities (Grant Number:HIT. KISTP. 201416, HIT. KISTP. 201414).A
PPENDIX IP ROOF OF L EMA Proof Basis Step:
We start with the case k = 1 . According to (3), the calculation of the i th LR atlength N , L ( i ) N (cid:0) y N , ˆ u i − (cid:1) , depends on the calculations of two LRs at length N /2 as follows, L ( ⌈ i /2 ⌉ ) N /2 (cid:16) y N /21 , p (cid:0) ˆ u i − (cid:1)(cid:17) , L ( ⌈ i /2 ⌉ ) N /2 (cid:0) y NN /2+1 , q (cid:0) ˆ u i − (cid:1)(cid:1) . Let h , = p and h , = q , then the lema for the case k = 1 is true. Inductive Step:
Now we assume the truth of the case k = m . That is that the calculation ofthe i th LR at length N depends on the calculations of m LRs at length N /2 m as follows, L ( ⌈ i /2 m ⌉ ) N /2 m (cid:16) y j · N /2 m ( j − · N /2 m +1 , h j,m (cid:0) ˆ u i − (cid:1)(cid:17) , j m , (20)where h j,m = θ m ◦ θ m − ◦ · · · ◦ θ ◦ θ (21)and θ a = p, when b m − a +1 = 0 q, when b m − a +1 = 1 , ≤ a ≤ m. (22)Here b m b m − · · · b b is the binary expansion of the integer j − . According to (3), if ⌈ i /2 m ⌉ isodd, then each item in (20) is calculated as (23a), otherwise it is calculated as (23b). L ( ⌈ i/ m ⌉ ) N/ m (cid:16) y j · N/ m ( j − · N/ m +1 , h j,m (cid:0) ˆ u i − (cid:1)(cid:17) = f ( α, β ) , when ⌈ i/ m ⌉ is odd (23a) g (cid:0) α, β, r (cid:0) h j,m (cid:0) ˆ u i − (cid:1)(cid:1)(cid:1) , when ⌈ i/ m ⌉ is even (23b) where α = L ( ⌈ i/ m +1 ⌉ ) N/ m +1 (cid:16) y (2 j − · N/ m +1 (2 j − · N/ m +1 +1 , p (cid:0) h j,m (cid:0) ˆ u i − (cid:1)(cid:1)(cid:17) , β = L ( ⌈ i/ m +1 ⌉ ) N/ m +1 (cid:16) y j · N/ m +1 (2 j − · N/ m +1 +1 , q (cid:0) h j,m (cid:0) ˆ u i − (cid:1)(cid:1)(cid:17) . According to (23), It is obvious that the calculation of a LR at length N /2 m , L ( ⌈ i /2 m ⌉ ) N /2 m (cid:16) y j · N /2 m ( j − · N /2 m +1 , h j,m (cid:0) ˆ u i − (cid:1)(cid:17) , depends on the calculations of two LRs at length N /2 m +1 as follows, L ( ⌈ i / m +1 ⌉ ) N / m +1 (cid:18) y l · N / m +1 ( l − · N / m +1 +1 , h l,m +1 (cid:0) ˆ u i − (cid:1)(cid:19) , l ∈ { j − , j } , where h l,m +1 (cid:0) ˆ u i − (cid:1) = p (cid:0) h j,m (cid:0) ˆ u i − (cid:1)(cid:1) , when l = 2 j − q (cid:0) h j,m (cid:0) ˆ u i − (cid:1)(cid:1) , when l = 2 j . (24) That is h l,m +1 = p ◦ f m ◦ · · · ◦ f ◦ f , when l = 2 j − q ◦ f m ◦ · · · ◦ f ◦ f , when l = 2 j Since j ∈ { , , · · · , m } , it can be inferred that l ∈ { , , · · · , m +1 } and l − b m b m − · · · b , when l = 2 j − b m b m − · · · b , when l = 2 j . (25)Hence the lema for the case k = m + 1 is true.Consequently, by the Principle of Finite Induction, the lema is proved. (cid:3) A PPENDIX
IIP
ROOF OF L EMA Proof
Basis Step:
We start with the case k = 1 . In this case j ∈ { , } , so we only need to consider h , (ˆ u i ) and h , (ˆ u i ) . Since h , (cid:0) ˆ u i (cid:1) = p (cid:0) ˆ u i (cid:1) = ˆ u ⌊ i /2 ⌋ ,o ⊕ ˆ u ⌊ i /2 ⌋ ,e h , (cid:0) ˆ u i (cid:1) = q (cid:0) ˆ u i (cid:1) = ˆ u ⌊ i /2 ⌋ ,e , (26)it is obvious that their lengths are both ⌊ i /2 ⌋ . For any given ≤ a ≤ ⌊ i/ ⌋ , we have D , ,a = { a − , a } = { d | d = ( a − · } D , ,a = { a } = { d | d = ( a − · } . Hence the lema for the case k = 1 is true. Inductive Step:
Now we assume the truth of the case k = m . Then we have h j,m (cid:0) ˆ u i (cid:1) = ( v , v , · · · , v n ) , n = ⌊ i /2 m ⌋ , where v a = ⊕ d ∈ D j,m,a ˆ u d ,D j,m,a = { d | d = ( a − · m + 1 + c m c m − · · · c } , c t = ? , when b m − t +1 = 01 , when b m − t +1 = 1 , ≤ t ≤ m, and b m b m − · · · b b is the binary expansion of the integer j − . (a) For any given l m +1 , when it is odd, according to (24) we have h l,m +1 (cid:0) ˆ u i (cid:1) = p ( v n ) = w n . Then n = ⌊ n /2 ⌋ = ⌊ i /2 m +1 ⌋ . For any element w a , ≤ a ≤ n , we have w a = v a − ⊕ v a = ⊕ d ∈ D j,m, a − ∪ D j,m, a ˆ u d ∆ = ⊕ d ∈ D l,m +1 ,a ˆ u d and D l,m +1 ,a = D j,m, a − ∪ D j,m, a = { d | d = (2 a − · m + 1 + c m c m − · · · c } ∪ { d | d = (2 a − · m + 1 + c m c m − · · · c } = (cid:8) d (cid:12)(cid:12) d = ( a − · m +1 + 1 + 0 c m c m − · · · c (cid:9) ∪ (cid:8) d (cid:12)(cid:12) d = ( a − · m +1 + 1 + 1 c m c m − · · · c (cid:9) = (cid:8) d (cid:12)(cid:12) d = ( a − · m +1 + 1+? c m c m − · · · c (cid:9) . Hence the lema for the case that k = m + 1 and l is odd is true. (b) In a similar way, the case that k = m + 1 and l is even can also be proved.Hence, combining (a) and (b) , the lema is inferred to be true for the case k = m + 1 .Consequently, by the Principle of Finite Induction, the lema is proved. (cid:3) A PPENDIX
IIIP
ROOF OF T HEOREM Proof
According to (1), to estimate ˆ u i is to calculate the i th LRs at length N , L ( i ) N (cid:0) y N , ˆ u i − (cid:1) .We firstly prove the proposition that the i th and ( i − th LR at length N can not share the same k LRs at length N /2 k if and only if there exists an integer m satisfying that i − m · k . (i)If there exists an integer m satisfying that i − m · k , then i − ∈ (cid:8) ( m − · k + 1 , · · · , m · k (cid:9) i ∈ (cid:8) m · k + 1 , · · · , ( m + 1) · k (cid:9) , which means the ( i − th and i th LR at length N depend on two different groups of the k LRs at length N/ k . (ii) If there does not exists an integer m satisfying that i − m · k , then i − is expressed as i − a · k + b where a and b are both integers and ≤ b ≤ k − . So i − , i ∈ (cid:8) a · k + 1 , · · · , ( a + 1) · k (cid:9) , which means the ( i − th and i th LR at length N depend on the same k LRs at length N/ k .Now we employ the newly proved proposition to show the truth of the theorem. (a) If i = 1 , then for all ≤ k ≤ n = z there exists the integer 0 satisfying that i − · k ,which means in this case all the LRs at all the lengths should be estimated. Since the z LRsat length 1 are channel LRs, (4) indicates that they can be estimated immediately. Afterwardsthe LRs at length , , · · · , N can be calculated in sequence according to (3). (b) Otherwise, for any given integer k > z i , it does not exist any integer m satisfying that i − m · k , which means that the i th and ( i − th LR at length N share the same k LRsat length N /2 k when k > z i . On the other hand, for any given integer k ≤ z i , there exists theinteger m i = 2 z i − k m o satisfying that i − m i · k , which means that the i th and ( i − th LRat length N can not share the same k LRs at length N /2 k when k ≤ z i . Therefore only theLRs at length N, N /2 , · · · , N /2 z i should be calculated. Since the shared z i +1 LRs at length N /2 z i +1 have been calculated during the estimation of ˆ u i − , the z i LRs at length N /2 z i canbe directly computed according to (3). Afterwards the LRs at length N /2 z i − , N /2 z i − · · · , N can be calculated in sequence according to (3).Combining (a) and (b) , the theorem is proved. (cid:3) R EFERENCES [1] C. E. Shannon, “A mathematical theory of communication,”
The Bell Technical Journal , vol. 27, no. 4, pp. 379–423, 1948.[2] E. Arikan, “Channel polarization: A method for constructing capacity-achieving codes for symmetric binary-inputmemoryless channels,”
Information Theory, IEEE Transactions on , vol. 55, no. 7, pp. 3051–3073, 2009.[3] N. Hussami, S. B. Korada, and R. Urbanke, “Performance of polar codes for channel and source coding,” in
InformationTheory, 2009. ISIT 2009. IEEE International Symposium on . IEEE, 2009, pp. 1488–1492.[4] I. Tal and A. Vardy, “List decoding of polar codes,” in
Information Theory Proceedings (ISIT), 2011 IEEE InternationalSymposium on . IEEE, 2011, pp. 1–5.[5] K. Niu and K. Chen, “Stack decoding of polar codes,”
Electronics letters , vol. 48, no. 12, pp. 695–697, 2012.[6] A. Alamdar-Yazdi and F. R. Kschischang, “A simplified successive-cancellation decoder for polar codes,”
IEEE commu-nications letters , vol. 15, no. 12, pp. 1378–1380, 2011. More precisely, the shared z i +1 LRs at length N /2 z i +1 are either calculated during the estimation of ˆ u i − , or also sharedby ˆ u i − and ˆ u i − . In any case, the shared z i +1 LRs have already been calculated. [7] C. Leroux, I. Tal, A. Vardy, and W. J. Gross, “Hardware architectures for successive cancellation decoding of polarcodes,” in Acoustics, Speech and Signal Processing (ICASSP), 2011 IEEE International Conference on . IEEE, 2011, pp.1665–1668.[8] Z. Chuan, Y. Bo, and K. K. Parhi, “Reduced-latency sc polar decoder architectures,” in
Communications (ICC), 2012 IEEEInternational Conference on , pp. 3471–3475.[9] Z. Huang, C. Diao, and M. Chen, “Latency reduced method for modified successive cancellation decoding of polar codes,”
Electronics letters , vol. 48, no. 23, pp. 1505–1506, 2012.[10] C. Leroux, A. J. Raymond, G. Sarkis, and W. J. Gross, “A semi-parallel successive-cancellation decoder for polar codes,”
Signal Processing, IEEE Transactions on , vol. 61, no. 2, pp. 289–299, 2013.[11] C. Zhang and K. K. Parhi, “Low-latency sequential and overlapped architectures for successive cancellation polar decoder,”
Signal Processing, IEEE Transactions on , vol. 61, no. 10, pp. 2429–2441, 2013.[12] G. Sarkis and W. J. Gross, “Increasing the throughput of polar decoders,”
Communications Letters, IEEE , vol. 17, no. 4,pp. 725–728, 2013.[13] G. Sarkis, P. Giard, A. Vardy, C. Thibeault, and W. J. Gross, “Fast polar decoders: Algorithm and implementation,”
SelectedAreas in Communications, IEEE Journal on , vol. 32, no. 5, pp. 946–957, 2014.[14] Y. Fan and C.-Y. Tsui, “An efficient partial-sum network architecture for semi-parallel polar codes decoder implementation,”
Signal Processing, IEEE Transactions on , vol. 62, no. 12, pp. 3165–3179, June 2014.[15] B. Le Gal, C. Leroux, and C. Jego, “Multi-gb/s software decoding of polar codes,”
Signal Processing, IEEE Transactionson , vol. 63, no. 2, pp. 349–359, 2015.[16] H. Yoo and I.-C. Park, “Partially parallel encoder architecture for long polar codes,”
Circuits and Systems II: ExpressBriefs, IEEE Transactions on , vol. 62, no. 3, pp. 306–310, 2015.[17] J. Martinez-Mateo, D. Elkouss, and V. Martin, “Key reconciliation for high performance quantum key distribution,”
Scientificreports , vol. 3, 2013.[18] L. Qiong, L. Dan, M. Haokun, N. Xiamu, L. Tian, and G. Hong, “Study on error reconciliation in quantum key distribution,”