Академический Документы
Профессиональный Документы
Культура Документы
Research Article
ISSN 1751-8628
Received on 13th May 2015
Accepted on 27th October 2015
doi: 10.1049/iet-com.2015.0881
www.ietdl.org
Abstract: Successive cancellation (SC) is the first and widely known decoder of polar codes, which has received a lot of
attentions. However, its decoding schedule generating methods are still primitive. Based on a newly found factor, this
study proposes an online method to generate the decoding schedule of SC decoder by a non-recursive way. The
decoding schedule of SC decoder includes two parts. One is to determine which of likelihood ratios (LRs) can be
shared and which of LRs need to be calculated. The other is to select a calculation formula for a LR to be computed.
As shown by the comparisons among the proposed method and existing methods, the proposed method solves the
first part of the decoding schedule with constant critical path delay and lower space complexity, and solves the second
part of the decoding schedule with less calculations. Besides, experimental results show that the proposed method
does not affect the error performance of polar codes.
Introduction
Polar code is the rst class of codes achieving the channel capacity
[1] and has attracted many attentions [215]. Successive cancellation
(SC) is its rst and widely known decoder, and a lot of research
efforts have been made on the decoder [514].
Although so many works have been done on SC decoder, its
decoding schedule generating methods are still primitive. The
decoding schedule aims to schedule the updates of likelihood
ratios (LRs), which consists of two parts. One part is to maximise
the sharing of the calculations of LRs. That is, it is to determine
which of LRs should be calculated and which of LRs can be
shared. The other part is to determine the calculation formula of a
LR to be calculated. For the rst part, existing methods are mainly
grouped into two classes. One is to achieve the maximised sharing
by a recursive way [1, 6, 9, 10, 13]. We name the recursive way
as an implicitly maximised sharing, because it cannot immediately
recognise which of LRs could be shared. The other class is to
achieve the maximised sharing by pre-storing the decoding
schedule generated off-line by an algorithm, such as the algorithm
based on the depth-rst traversal of the scheduling tree [14], the
algorithm based on the recursive construction [7]. The methods of
the second class can achieve an explicitly maximised sharing, i.e.
they can immediately recognise which of LRs could be shared.
However, their space complexity is O(N log2 log2 N ), where N is
the code length. On the other hand, the critical path delay of the
methods in the rst class scales with log2 N .
For the second part, most of existing methods directly compute the
parity of i/2k , i/2k or (i1) & 2k to select calculation formulas
[9, 14]. For each i, these methods all need as many calculations as
the number of different k.
To overcome these problems, this paper proposes a new decoding
schedule generating method based on the newly found factor zi. For
the rst part of the decoding schedule, the critical path delay of the
proposed method is constant and the space complexity of the
proposed method is O(1). For the second part of the decoding
schedule, the proposed method needs no calculation.
The remainder of this paper is organised as follows. In Section 2,
we briey review SC decoder and introduce some notations. Section
3 presents the proposed method. Section 4 shows the comparisons
among the proposed method and existing methods. Finally, some
conclusions are drawn in Section 5.
Review of SC decoder
ui
ui = 0
if i [ Ac
if i Ac and L(Ni) yN1 , u i1
1
1
(i) N
c
i1
if i A and LN y1 , u1 , 1
(1)
where
L(Ni) ( yN1 ,
0
WN(i) yN1 , u i1
1
i1
u]1 ) = (i) N i1 .
WN y1 , u 1 1
(2)
u i1
1
=
f (a, b),
g(a, b, u i1 ),
when i is odd
when i is even
(3a, 3b)
462
enough for almost all practical polar codes, whose code lengths
usually are about 220 bits.
The following theorem solves Part 1, which indicates ki = zi (1
i N). Since the run time of the calculation of zi in Algorithm 1
(Fig. 2) is constant, the proposed method solves Part 1 with
constant critical path delay. Besides, the storage required by
Algorithm 1 (Fig. 2) is constant, about 32 log2 32 = 160 bits, so
the space complexity of the proposed method is O(1).
where
ab+1
, g(a, b, s) = a12s b,
a+b
(i/2) N/2 i1 i1
(i/2) N
y1 , u1,o u1,e , b = LN/2
yN /2+1 , u i1
a = LN /2
1,e .
f (a, b) =
N
i1
We name L(i)
1 ) as the ith LR at length N. Its calculation is
N (y1 , u
recursively converted into the calculations of the two LRs at
length N/2, and the recursion is continued down to the calculations
of the N LRs at length 1, i.e.
W (yi |0)
,
L(1)
1 (yi ) =
W (yi |1)
1 i N,
(4)
Proposed method
1,
mo 2zi + 1,
when i = 1
when 2 i N
(5)
1/2k ,
mo 2zi k + 1/2k ,
when i = 1
when 2 i N .
Fig. 2 Calculation of zi
463
10
11
12
13
14
f2
N/A
f4
N/A
f8
u 1
g8
u 2
g4
N/A
f8
u 3
g8
u 4
g2
N/A
f4
N/A
f8
u 5
g8
u 6
g4
N/A
f8
u 7
g8
u 8
Fig. 3 Schedule tree of SC decoder for polar codes, whose depth-rst traversal (excludes the root node f1) generates the decoding schedule
a General schedule tree
b Example of N = 8
the decoding schedule, and the third line is outputs of u i , where N/A
means no output.
Comparisons
(ki + 2) =
i=1
N
(zi + 2) = 2N + n 1 +
i=1
n1
j 2n(j+1)
j=0
= 3N 2.
For
the EMSPDS and the proposed method, their time complexities
are Ni=1 O(1) = O(N ). The third row is the indicator of the space
complexity. For IMSRW, it needs to store a state indicating
whether a LR has been calculated. In SC decoder, there are in
total N log2 N different LRs. Since 2k LRs at length N/2k are
calculated together and
share the same state, the number of the
n
k
states to be stored is
k=0 N /2 = 2N 1. For EMSPDS, it
needs to store the decoding schedule, i.e. all ki (1 i N), and
Table 2 Comparisons among different decoding schedule generating
algorithms
Method
Fig. 4 Recursive-construction-based
algorithm [7]
decoding
schedule
generating
Proposed
O( log2 N)
O(N )
O(N )
O(1)
O(N )
O(N log2 log2 N)
O(1)
O(N )
O(1)
464
Table 3 FERs of the original SC decoder [1] and the proposed method,
where the code-length N is 210, and the employed channel is a BEC
whose erasure probability is 0.5
Rate
R = 0.45
R = 0.40
R = 0.35
R = 0.30
[1]
proposed
0.8475
0.8475
0.2370
0.2370
0.0163
0.0163
0.0004
0.0004
each ki requires log2 log2 N bits storage. Hence the space complexity
of EMSPDS is N log2 log2 N . For the proposed method, it proves ki
= zi and presents an algorithm to calculate zi on-line. The algorithm
requires about 160 bits storage. Hence the space complexity of the
proposed method is O(1). In summary, the proposed method has
the best performance to solve Part 1.
For Part 2, most of the existing methods compute the parity of
i/2k , i/2k or (i 1) & 2k (0 k zi) [9, 14]. If i/2k is odd,
then the formula f is employed, otherwise the formula g is used.
During the estimation of each u i , these methods need zi + 1
calculations. The proposed method nds that when i = 1, the
formula f is employed for all 0 k z1, and when 2 i N, the
formula g is used for k = zi and the formula f is used for all 0 k
< zi. By viewing i = 1 and k = zi as special cases, as mentioned
above, the proposed method solves Part 2 without any calculation.
Hence the proposed method has a better performance to solve Part 2.
Besides, since the proposed method just focuses on how to
efciently generate the decoding schedule, it does not affect the
error performance of SC decoder. Table 3 shows the frame error
rates (FERs) of the proposed method and the original SC decoder
presented in [1], where the code-length N is 210, and the employed
channel is a binary erasure channel (BEC) whose erasure
probability is 0.5. Each result is obtained using as many frames as
needed till the number of error frames comes to 50. It can be seen
that the FERs of the proposed method are always the same as
those of the original SC decoder [1]. That is, the proposed method
does not affect the error performance.
Conclusions
Based on the newly found factor zi, this paper proposes a new
decoding schedule generating method for SC decoder. The
decoding schedule of SC decoder consists of two parts. One is to
determine which of LRs can be shared and which of LRs should
be calculated (i.e. determine the value of ki) when u i (1 i N) is
estimated. The other is to determine which of the formulas ( f or g)
is employed for the LRs at length N/2k (0 k ki) when u i is
estimated. For the rst part, we prove that ki = zi and present an
algorithm to calculate zi on-line, whose critical path delay is
constant and space complexity is O(1), while most of existing
methods either have the critical path delay of O( log2 N ) or have
the space complexity of O(N log2 log2 N ). For the second part, the
proposed method does not need any calculation for each u i , while
most of existing methods need ki + 1 calculations for each u i .
Besides, the proposed method does not affect the error
performance of polar codes.
Although LR is employed to depict the proposed method, it can
also apply to the cases of logarithm LR and min-sum update rule.
Acknowledgments
References
8
8.1
Appendices
Appendix 1: Proof of Theorem 1
(6)
i/2
1
,
LN /2k
y jN/2
k +1 , h j,k u
j1
N/2
( )
1 j 2k ,
(7)
ua =
p,
q,
when bka+1 = 0
, 1 a k,
when bka+1 = 1
(8)
465
Proof: Basis step: We start with the case k = 1. According to (3), the
N
i1
calculation of the ith LR at length N, L(i)
1 ), depends on the
N (y1 , u
calculations of two LRs at length N/2 as follows
(i/2) N/2 i1
y 1 , p u1
,
LN /2
(i/2) N
yN/2+1 , q u i1
LN /2
.
1
l1=
Let h1,1 = p and h2,1 = q, then the lemma for the case k = 1 is true.
(i/2m )
and
h j,m u i1
,
1
m
y(jN/2
,
j1)N/2m +1
1j2 ,
m
k
i/2 ; m, for (m 1)2k + 1 i m2k .
(15)
(10)
i
k
Lemma 2: For any given
1k k n and 1 j 2 , h j,k u 1 is avector
with the length of i/2 , denoted as v1 , v2 , . . . , vi/2k . Any
element va is estimated as follows
and
va =
when bma+1 = 0
, 1 a m.
when bma+1 = 1
p,
q,
(14)
?
Then how about h j,k u i1
1
h j,m = um um1 u2 u1
when l = 2j 1
.
when l = 2j
(9)
where
ua =
bm bm1 b1 0,
bm bm1 b1 1,
d[D j,k,a
u d , 1 a i/2k ,
(11)
where
D j,k,a = d d = (a 1) 2k + 1 + ck ck1 c1 ,
ct =
?,
1,
when bkt+1 = 0
, 1tk
when bkt+1 = 1
(16)
(17)
i/2m+1
LN/2m+1
) jN/2
y( j1)N/2m +1 , h j,m u i1
,
1
m
m+1
ylN/2
,
(l1)N/2m+1 +1
hl,m+1 u i1
1
m+1
as follows
2i/2
2i/2
h1,1 u i1 = p u i1 = u 1,o
u 1,e ,
2i/2
h2,1 u i1 = q u i1 = u 1,e .
, l [ 2j 1, 2j
j,m
(18)
Their lengths are both i/2 . For any given 1 a i/2, we have
where
i1
,
i1 p h j,m u 1
hl,m+1 u 1 =
q h u i1 ,
Proof: Basis step: We start with the case k = 1. In this case j {1, 2},
so we only need to consider h1,1 (u i1 ) and h2,1 (u i1 ). Since
when l = 2j 1
when l = 2j
(13)
That is
hl,m+1 =
p fm f2 f1 ,
q fm f2 f1 ,
when l = 2j 1
when l = 2j
m+1
(i/2m )
LN/2m
m
y(jN/2
,
j1)N/2m +1
h j,m u i1 = v1 , v2 , . . . , vn1 , n1 = i/2m ,
f a, b ,
i1
h j,m u 1
=
g a, b, r(h j,m (u i1
1 )) ,
when i/2m is odd
when i/2m is even
(12a, 12b)
m+1
m+1
i/2
i/2
(2j1)N /2m+1
/2m+1
a = LN/2m+1
y 2j2 N /2m+1 +1 , p h j,m u i1
,
b
=
L
y2jN
, q h j,m u i1
.
1
1
N/2m+1
( )
(2j1)N /2m+1 +1
466
where
va =
d[D j,m,a
u d ,
i 1 [ (m 1) 2k + 1, . . . , m 2k
i [ m 2k + 1, . . . , (m + 1) 2k ,
D j,m,a = d d = (a 1) 2m + 1 + cm cm1 c1 ,
?, when bmt+1 = 0
, 1 t m,
ct =
1, when bmt+1 = 1
u d W
d[Dl,m+1,a
u d
Lemma 3: The ith and (i 1)th LR at length N cannot share the same
2k LRs at length N/2k if and only if there exists an integer m
satisfying that i 1 = m 2k.
Proof: According to Lemma
h j,k u i1
is determined
1
2, the kvector
by the values of j, k and (i 1)/2 . Since (i 1)/2k ; m 1
for all (m 1)2k + 1 i m2k, we have
k
; h j,k u (1m1)2 , for (m 1)2k + 1 i
h j,k u i1
1
m2k .
(19)
k
k
L(Nm/2) k y jN/2
, h u (m1)2 , 1 j 2k .
( j1)N/2k +1 j,k 1
(20)
467