Download as pdf or txt
Download as pdf or txt
You are on page 1of 7

See discussions, stats, and author profiles for this publication at: https://www.researchgate.

net/publication/325494086

Fast list decoding of polar codes: Decoders for additional nodes

Conference Paper · April 2018


DOI: 10.1109/WCNCW.2018.8369002

CITATIONS READS
17 266

3 authors, including:

Maryam Haghighi Ardakani Masoud Ardakani


University of Alberta University of Alberta
12 PUBLICATIONS 128 CITATIONS 195 PUBLICATIONS 2,419 CITATIONS

SEE PROFILE SEE PROFILE

Some of the authors of this publication are also working on these related projects:

Nonlinear Dynamic Causality Inference in Time Series View project

Locally repairable codes with the optimum average locality View project

All content following this page was uploaded by Masoud Ardakani on 11 July 2018.

The user has requested enhancement of the downloaded file.


2018 IEEE Wireless Communications and Networking Conference Workshops (WCNCW): Polar Coding for Future Networks: Theory and Practice

Fast List Decoding of Polar Codes: Decoders for


Additional Nodes
Muhammad Hanif, Maryam H. Ardakani, Masoud Ardakani
Email: mhanif@ualberta.ca, maryam3@ualberta.ca, ardakani@ualberta.ca

Abstract—This work focuses on fast successive-cancellation list special nodes can increase the decoder throughput significantly
decoding of polar codes. We propose list decoders for five newly- without sacrificing the bit-error-rate performance.
identified types of nodes in the decoding tree of a polar code. The
proposed list decoders significantly improve the decoding speed II. BACKGROUND
by determining the best paths and calculating their corresponding
path metrics without computing bit log-likelihood ratios.
A binary polar code, P (N, k), of length N = 2n , where
n is a positive integer, and rate k/N maps the input vec-
I. I NTRODUCTION tor u = {u0 , u1 , · · · , uN −1 } to the output vector x =
Polar codes, discovered by Arıkan, asymptotically achieve {x0 , x1 , · · · , xN −1 } such that1
the capacity of a memoryless channel with low-complexity x = uF⊗n , (1)
successive-cancellation (SC) decoding [1]. For short and
medium code lengths, however, the performance of the SC where F⊗n is the nth tensor power of F defined as
decoder is significantly degraded with respect to maximum-  ⊗(n−1) 
⊗n F O
likelihood (ML) performance [2]. Unfortunately, the ML F = , (2)
F⊗(n−1) F⊗(n−1)
decoding has very high computational complexity, even
for moderate-length polar codes. As such, [2] introduced with F⊗0 = 1.
successive-cancellation list (SCL) decoding for polar codes. The matrix F⊗n synthesizes N polarized channels from
Despite having significantly less computational complexity N independent copies of a given channel. Amongst the N
than the ML decoder, the SCL decoder can achieve near ML synthesized channels, the k most reliable ones are used to
performance even with moderate list sizes [2]. carry the information. We use F to denote the index set of
The SCL decoder works in a similar manner to the SC N − k least reliable synthesized channels. Then for every
decoder. In particular, both decoders estimate one bit at a time. i ∈ F, ui = 0, whereas the remaining input bits contain the
However, the SC decode keeps only a single path, whereas the information bits. We denote the index set of k most reliable
SCL decoder maintains a list of L most probable paths while synthesized channels by I.
decoding each bit [2]. After receiving the encoded vector x from the channel, the
The serial decoding nature of both the SC and SCL decoders receiver provides the LLR vector of received bits, denoted
results in high decoding latencies. Thus, researches have by y = {y0 , y1 , · · · , yN −1 }, to the polar-code decoder. After
proposed multiple schemes to reduce the decoding time of both receiving the LLRs, a polar-code decoder estimates the input
decoders [3]–[11]. The underlying idea behind these schemes and output vectors. We use û and x̂ to denote the estimated
is to implement some operations in parallel to increase the input and output vectors, respectively.
decoder throughput. For example, [4] identifies and proposes A. SC and SCL Decoding
low-complexity parallel decoders for rate-0 and rate-1 nodes
for the SC decoder. Similarly, [5] proposes fast decoders for The SC and SCL decoding can be understood using a
single-parity-check (SPC) and repetition (REP) nodes in the binary-tree representation of the polar code. Fig. 1 depicts
decoding tree of a polar code. Recently, [8] presented fast low- a P (16, 10) code in its binary-tree representation. In order
complexity decoders of five nodes (Type-I, Type-II, Type-III, to understand the decoding operation of the SC and SCL
Type-IV, and Type-V nodes) to further increase the decoding decoders, we define the following notations.
We use {{N}} to denote the set {0, 1, · · · , N − 1}. For any
speed of the SC decoder.
The fast SCL decoders follow a similar strategy used to given R = 2t , we can represent i ∈ {{N}} as i = ψR + [[i]]t ,
reduce the decoding latency of the SC decoder. However, where ψ and [[i]]t ∈ {{R}} are the quotient and remainder after
unlike the fast SC decoders that output only the most-probable division of i by R, respectively. Observe that each node in the
output sequence, the fast SCL decoders maintain and output a code tree of a polar code has a bijective relationship with (ψ, t)
list of most-probable paths. In particular, [9]–[11] propose list pair. For example, the root node corresponds to (0, n), whereas
decoders for rate-0, rate-1, REP and SPC nodes to improve the ith leaf node can be represented as (i, 0). Further, with the
the decoding speed of the SCL decoder. exception of leaf nodes, each node (φ, t) has two children: the
This paper presents fast list decoders for five recently- left child (2φ, t − 1) and the right child (2φ + 1, t − 1).
identified nodes [8] in the decoder tree of a polar code. 1 For the sake of exposition, we consider only non-permuted polar codes as
Implementing them along with the existing list decoders of similar conclusions can be drawn for permuted-polar codes.

978-1-5386-1154-8/18/$31.00 ©2018 IEEE 37


2018 IEEE Wireless Communications and Networking Conference Workshops (WCNCW): Polar Coding for Future Networks: Theory and Practice

ψ=0
t=4 them, only those L paths are maintained that have the lowest
ψ=0 ψ=1 PMs.
t=3
ψ=0 ψ=1 ψ=2 ψ=3
t=2
B. Fast SC and SCL Decoding
t=1 Some of the nodes in the decoding tree can output xφ,t
directly without traversing the decoding tree further. Imple-
t=0
menting fast decoders of these nodes can significantly improve
Fig. 1. Binary-tree representation of a polar code P (16, 10). the decoding speed [3]–[11]. For example, a rate-0 node
(shown by unfilled circles in Fig. 1) can be decoded without
computing the LLR values of its children by noting that all
In the SC decoder [1], a node (φ, t) receives yφ,t , an LLR the leaf nodes of a rate-0 node correspond to frozen bits.
vector, and outputs hard bit estimates xφ,t . In particular, with Therefore, xφ,t k = 0. Likewise, fast decoders for rate-1, REP,
the exception of the leaf nodes, each node upon receiving yφ,t SPC, Type-I, Type-II, Type-III, Type-IV, and Type-V nodes
generates LLR vectors for its children as improve the SC decoder throughput [4], [5], [8].
 y φ,t +y φ,t t−1
 The decoders proposed in [4], [5], [8] only output a single
2φ,t−1 1+e k k+2
yk =ln , (3) codeword. The SCL decoder, on the other hand, maintains a
φ,t y φ,t
eyk + e k+2t−1 list of L codewords for each bit. As such, the SC decoders of
yk2φ+1,t−1 =yk+2
φ,t
t−1 + (1 − 2xk
2φ,t−1 φ,t
)yk , (4) the above mentioned nodes require modifications to be used
for the SCL decoder. Amongst the afore-mentioned nodes,
where 0 ≤ k < 2t−1 is used to denote the kth entry of a the SCL decoders for only rate-0, rate-1, REP and SPC
vector. On the other hand, xφ,t is computed as nodes have been proposed in [9]–[11]. To the best of authors’

knowledge, the SCL decoders for the remaining five nodes are
φ,t x2φ,t−1
i ⊕ x2φ+1,t−1
i , if i < 2t−1 ;
xi = 2φ+1,t−1 (5) not available in the literature. Hence, we present list decoders
xi−2t−1 , otherwise,
for the remaining nodes to improve the decoding speed of
where ⊕ denotes binary XOR operation, and 0 ≤ i < 2t . the SCL decoder. To this end, we find the following notations
The decoding process starts by setting y0,n = y. Each quite useful.
node, upon receiving its LLR vector, computes and passes For a node (ψ, t), we define Ãψ,t = {[[i]]t : i ∈ I, and i =
LLR vectors to its children until the leaf nodes receive their 2t ψ + [[i]]t }, and Ãcψ,t = {[[i]]t : i ∈ F, and i = 2t ψ + [[i]]t }.
LLR values. At the ith leaf node, i.e. node (i, 0), the ith input With the defined notation, a rate-0 node corresponds to Ãψ,t =
bit ui is estimated as {}; rate-1 node, to Ãψ,t = {{R}}; REP node, to Ãψ,t = {R−1};
 SPC node, to Ãcψ,t = {0}; Type-I node, to Ãψ,t = {R−2, R−
0, if i ∈ F;
ûi = xi,0 = (6) 1}; Type-II node, to Ãψ,t = {R − 3, R − 2, R − 1}; Type-III
H(yi,0 ), otherwise,
node, to Ãcψ,t = {0, 1}; Type-IV node, to Ãcψ,t = {0, 1, 2};
where and Type-V node, to Ãψ,t = {R − 5, R − 3, R − 2, R − 1}.

0, when y ≥ 0;
H(y) = (7) III. P ROPOSED D ECODERS
1, otherwise.
Before presenting the list decoders for the five nodes, we
The leaf nodes then sends xi,0 to their parents. Each node first examine the contribution of a node (φ, t) on the PM of
(φ, t) upon receiving x2φ,t−1 and x2φ+1,t−1 from its children, a codeword. Observe that the leaf nodes corresponding to the
computes xφ,t using (5). Finally, the hard decision estimate of node (φ, t) are the nodes (2t φ + k, 0), where 0 ≤ k < 2t .
x is computed as x̂ = x0,t . Consequently, using (8), the contribution of the node (φ, t) to
The SCL decoder [2] operates in a similar fashion. Instead the PM, denoted by PMφ,t , is given by
of outputting only one codeword estimate, the SCL decoder 2t (φ+1)−1
maintains a list of L codeword candidates with their cor-  k,0
φ,t
PM = ln 1 + e−(1−2ûk )y . (9)
responding path metrics (PM) while decoding each bit. In
k=2t φ
particular, the PM associated with the lth candidate codeword,
PMli , after estimating the ith bit is computed as [12] Our proposed decoders, similar to the list decoders of the
rate-0, rate-1, REP and SPC nodes [10], compute PMφ,t
i−1
 kl ,0 without traversing the whole subtree corresponding to a node.
PMli = ln 1 + e−(1−2ûkl )y , (8) To this end, we use an important result introduced in [10,
k=0
Theorem 1] for the PM computation2 . Specifically, [10] proves
where ûkl is the estimate of the (k + 1)-th bit, and ykl ,0 is that
the LLR received by the (k + 1)-th leaf node in the path l. t
2 −1
φ,t φ,t
φ,t
If the (i + 1)-th bit is a frozen bit then ûil = 0 for each PM = ln 1 + e−(1−2xk )yk
. (10)
list, and the PMs are updated accordingly. But if the (i + 1)-th k=0
bit is an information bit, then each path generates two paths 2 Although [10] presented the equivalence of PMs for a rate-1 node, the
corresponding to ûil = 0 and ûil = 1. The PMs are updated result is valid for any node as other nodes can be considered as special cases
accordingly, and a total of 2L paths are generated. Amongst of the rate-1 node.

38
2018 IEEE Wireless Communications and Networking Conference Workshops (WCNCW): Polar Coding for Future Networks: Theory and Practice

Another result, that will be used extensively in our proposed Following the approach used in the Type-I list decoder, we
decoders to simplify the calculations is the following identity. compute
R−1

ln 1 + ea − ln 1 + e−a = a. (11) l
PMl000 =PMl + ln 1 + e−yk , (20)
k=0
In the following, we present fast decoders for the Type-
I, Type-II, Type-III, Type-IV and Type-V nodes. For better PMl001 =PMl000 + η0 + η3 , (21)
readability, we use R = 2t and drop the indexes φ and t from PMl010 =PMl000 + η0 + η2 , (22)
the notations. Further, we add l, where 0 ≤ l < L, in the PMl011 =PMl000 + η2 + η3 , (23)
notations to indicate that the calculations pertain to the path l. PMl100 =PMl000 + η0 + η1 , (24)
PMl101 =PMl000 + η1 + η3 , (25)
A. Type-I Node
PMl110 =PMl000 + η1 + η2 , (26)
For a Type-I node, xl = {xR -2 , xR -1 , · · · , xR -2 , xR -1 }
[8]. As such, xl equals only one of the four codewords: PMl111 =PMl000 + η0 + η1 + η2 + η3 . (27)
C00 = {0, 0, · · · , 0, 0}, C01 = {0, 1, · · · , 0, 1}, C10 = {1, 0, R/4−1
where ηi = k=0 y4k+i l
for 0 ≤ i < 4.
· · · , 1, 0}, and C11 = {1, 1, · · · , 1, 1}. Afterwards, L PMs are retained amongst the 8L computed
In the proposed decoder, we compute the PM contribution PMs, and the corresponding codewords are assigned to xl .
of the Type-I node corresponding to each codeword for each
list. In particular, the PMs corresponding to the four codewords C. Type-III Node
for the list l, 0 ≤ l < L, are A Type-III node corresponds to Âc = {0, 1}; i.e., there are
only two frozen bits in the node [8]. Therefore, xl can be one
R/2−1
 l l
t
of the 2R−2 = 22 −2 valid Type-III node codewords. Since
PMl00 =PMl + ln 1 + e−y2k + ln 1 + e−y2k+1 , (12) the size of a Type-III node can be large, it is impractical to
k=0
compute a total of 2R−2 L path metrics and choose the best L
R/2−1
 l l ones amongst them. Hence, we follow the approach used in
PMl01 =PMl + ln 1 + e−y2k + ln 1 + e+y2k+1 , (13) [9]–[11] of generating candidate codewords.
k=0
For each path l, we first find the ML codeword and compute
R/2−1
 l l its corresponding PM. Since the even-indexed and odd-indexed
PMl10 =PMl + ln 1 + e+y2k + ln 1 + e−y2k+1 , (14)
bits of a Type-III codeword constitute two separate SPC codes
k=0
[8], we compute the ML codeword by using Wagner decoding
R/2−1
 l l [13]. In particular, we set xlk = H(ykl ), where H(y) is defined
PMl11 =PMl + ln 1 + e+y2k + ln 1 + e+y2k+1 . (15)
in (7), and 0 ≤ k < R. We then find the location of the least-
k=0
reliable even-indexed and odd-indexed LLR values as
Using (11), the calculations can be simplified as l l
(el , ol ) = ( argmin |y2k |, argmin |y2k+1 |) (28)
R−1 0≤k<R/2 0≤k<R/2
 l
PMl00 =PMl + ln 1 + e−yk , (16) and compute the parities of both SPC codes as
k=0  R/2−1 R/2−1

 
PMl01 =PMl00 + ς1 , (17) l l
(γe , γo ) = l
x2k , l
x2k+1 . (29)
PMl10 =PMl00 + ς0 , (18) k=0 k=0

PMl11 =PMl00 + ς0 + ς1 , (19) Further, we set xl2el = xl2el ⊕ γel and xl2ol +1 = xl2ol +1 ⊕ γol to
R/2−1
satisfy the even-parity constraint. Lastly, we compute the PM
l
where ςi = k=0 y2k+i for i = 0, 1. corresponding to the ML codeword as
As a result of these calculations, a total of 4L path metrics
are computed. Amongst them, only the least L ones are PMlML = Δl + γel |y2e
l
l
| + γol |y2o
l
l +1
|, (30)
retained, and the corresponding codewords are assigned to xl . R−1
where Δl = PMl + k=0 ln 1 + e−|yk | .
l

We then define modified LLRs, αil ’s, as α2k l


= |y2kl
|+
B. Type-II Node l l l l l l
(1 − 2γe )|y2el |, and α2k+1 = |y2k+1 | + (1 − 2γo )|y2ol +1 | for
For a Type-II node, xl = {xR -4 , xR -3 , xR -2 , xR -1 , · · · , xR -4 , 0 ≤ k < R/2. Next, we sort the modified LLRs (excluding
l l
xR -3 , xR -2 , xR -1 }, where xR -4 = xR -3 ⊕ xR -2 ⊕ xR -1 [8]. α2e l
and α2o l +1
) in an ascending order and denote the sorted
l
Hence, xl can only be one of the eight codewords: C000 = indexes by (i)l , where 0 ≤ i < R−2. Mathematically, α(k) l

l
{0, 0, 0, 0 · · · , 0, 0, 0, 0}, C001 = {1, 0, 0, 1, · · · , 1, 0, 0, 1}, α(k+1)l for 0 ≤ k < R − 3.
C010 = {1, 0, 1, 0, · · · , 1, 0, 1, 0}, C011 = {0, 0, 1, 1, · · · , After computing the sorted indexes for each path, we start
0, 0, 1, 1}, C100 = {1, 1, 0, 0, · · · , 1, 1, 0, 0}, C101 = {0, 1, generating candidate codewords by flipping bits of the ML
0, 1, · · · , 0, 1, 0, 1}, C110 = {0, 1, 1, 0 · · · , 0, 1, 1, 0}, and codeword. In particular, starting from k = 1, we generate two
C111 = {1, 1, 1, 1 · · · , 1, 1, 1, 1}. codewords corresponding to the bit (k)l being 0 or 1. In order

39
2018 IEEE Wireless Communications and Networking Conference Workshops (WCNCW): Polar Coding for Future Networks: Theory and Practice

to satisfy the even parity condition, the bits with indexes 2el D. Type-IV Node
and 2ol + 1 are modified accordingly. The PM corresponding The codeword in a Type-IV node satisfies the following
to the generated codewords are calculated as relationship [8].

l PMl(k−1)l , if xl(k)l = H(y(k)
l
); R/4−1 R/4−1 R/4−1 R/4−1
PM(k)l = l l
l
(31)    
PM(k−1)l+|y(k)l |+β(k)l , otherwise, x4i = x4i+1 = x4i+2 = x4i+3 = z, (34)
i=0 i=0 i=0 i=0
where PMl(−1)l = PMlML , l
β(k)l = (1 − 2γe,k−1 l
)|y2e l
| if (k)l
is even, and β(k)l = l l
(1 − 2γo,k−1 )|y2ol +1 | otherwise. The bit where z can be 0 or 1.
l
γe,k l
equals γe,k−1 when (k)l is odd. When (k)l is even then In the proposed list decoder of a Type-IV node, we first
 l compute the ML codewords for each list corresponding to z =
l γe,k−1 , if xl(k)l = H(y(k)
l
); 0 and z = 1 using Wagner decoder. In particular, we compute
γe,k = l
l
(32)
1 − γe,k−1 , otherwise. the i∗0 , i∗1 , i∗2 , and i∗3 as
l l
Likewise, γo,k = γo,k−1 when (k)l is even. When (k)l is odd, i∗j = argmin |y4k+j
l
|, (35)
l
γo,k is updated as 0≤k<R/4
 l where j = 0, 1, 2, 3.
l γo,k−1 , if xl(k)l = H(y(k)
l
);
γo,k = l
l
(33) Then we set xlk = H(ykl ) and compute γjl as
1 − γo,k−1 , otherwise.
R/4−1
l
Here, γe,−1 = γel , and γo,−1
l
= γol . 
As a result of afore-mentioned operations, a total of 2L γjl = xl4k+j , (36)
PMs are computed for each k. Amongst them, only the lowest k=0

L ones are retained. We continue this process of creating 2L where j = 0, 1, 2, 3. Afterwards, we generate two ML
codewords from the existing L ones and retaining only L best codewords corresponding to z = 0 and z = 1 by setting
ones in a successive manner as k varies form 0 to min{L − xl4i∗j +j = xl4i∗j +j ⊕ γjl ⊕ z. Their corresponding PMs are
2, R −3}. After that, we return the L surviving paths and their 3

PMs. We do not consider all the codewords; i.e., we do not PMlML,z = Δl + (γjl ⊕ z)|y4i
l
∗ +j |,
j
(37)
vary k from 0 to R − 3 when L < R − 1, because Theorem j=0
1 asserts that the extra codewords created after k = L − 2 are R−1 l
not included in the surviving paths. where Δl = PMl + k=0 ln 1 + e−|yk | .
As a result, we compute 2L codewords and their cor-
Theorem 1. In the proposed list decoder of the Type-III node, responding PMs. Amongst them, we only retain those L
the codewords that have xl(k)l = H(y(k)
l
l
) for k ≥ L − 1 are codewords that have the least PM values. Afterwards, using z
not amongst the surviving codewords. of the retained codewords, we update γjl as γjl = γjl ⊕ z l .
Proof: We prove this theorem by contradiction. Suppose Similar to the Type-III node decoder, we then define αi ’s
l l
the codeword with xl(L−1)l = H(y(L−1) l
) is among the as α4k+j = |y4k+j | + (1 − 2γjl )|y4i l
∗ +j | for 0 ≤ k < R/4,
j
l
l l
surviving codewords. Consequently, the PM corresponding and 0 ≤ j ≤ 3. Next, excluding α4i ∗ +j , we sort αi ’s in an
j
to such a codeword is one of the least L ones. Note that ascending order and denote the sorted indexes by (i)l , where
l l
the minimum possible value of the corresponding PM is 0 ≤ i < R − 4. Thus, α(k) ≤ α(k+1) for 0 ≤ k < R − 5.
PMlML +α(L−1)
l l l
l
, which represents the case that all the bits of Starting from k = 0, we then compute different codewords
the generated codeword and the ML codewords are the same and their corresponding PMs by considering x(k)l = 0 and
except the bit (L − 1)l and the corresponding parity bit. x(k)l = 1 and setting appropriate values to the xl4i∗j +j , where
Now consider the codewords corresponding to xl(k)l = j = [[(k)l ]]2 is the remainder after division of (k)l by 22 = 4.
l
H(y(k) l
) and xl(k)l = 1 − H(y(k) l
l
) for 0 ≤ k < L − 1. The PMs are computed as
Amongst them, we consider the following L codewords. 
One of them is the ML codeword with the path metric of l PMl(k−1)l , if xl(k)l = H(y(k)
l
);
PM(k)l= l
(38)
PMlML . The other L − 1 codewords are the ones that differ l
PM(k−1)l+|y(k)l
l
|+β (k)l , otherwise,
the ML codeword only in two locations: the (k)l bit and
the corresponding (even/odd) parity bit. The path metric of where PMl(−1)l = PMlML,z , β(k)l = (1 − 2γj,k−1 l l
)|y4i ∗ +j |,
j
such codewords are PMlML + α(k) l
l
for 0 ≤ k < L − 1. l
and j = [[(k)l ]]2 . Here, γj,k is computed recursively as
l l l  l
Using the fact that αi ≥ 0 and α(k)l ≤ α(L−1) , the PMs
of the considered L codewords is less than or equal to
l
l γj,k−1 , if x(k)l = H(y(k)l );
γj,k = l (39)
PMlML + α(L−1)L
. Consequently, the PM of the codeword 1 − γj,k−1 , otherwise,
l
corresponding to xl(L−1)l = H(y(L−1) l
l
) is not amongst the l
with γj,−1 = γjl . Also, γi,k
l l
= γi,k−1 for 0 ≤ i < 4 and i = j,
best L ones. Therefore, we do not need to consider multiple l
and γi,−1 = γi l
codewords corresponding to xl(L−1)l being equal to 0 or 1. The afore-mentioned procedure results in a total of 2L
Rather, we just set xl(L−1)l = H(y(L−1) l
l
). codewords for each k. We then save only those codewords
l
Similar assertions can be made for x(k)l for k ≥ L. and their corresponding PMs that have the lowest PM values.

40
2018 IEEE Wireless Communications and Networking Conference Workshops (WCNCW): Polar Coding for Future Networks: Theory and Practice

We continue this process till k reaches min{L − 2, R − 5}. If decoding, involves only bit operations, which can be carried
L < R − 3, we set xl(k)l = H(y(k) l
l
) as the codeword with out expeditiously with very few hardware resources.
l l
x(k)l = H(y(k)l ) has a larger PM and is not amongst the For the Type-I, Type-II and Type-V nodes, we can further
surviving codewords3 . reduce the hardware complexity and decoding latency by using
the special structure of xφ,t and the frozen-bit pattern. For
E. Type-V Node example, for a Type-I node, û can be calculated as follows:
The list decoder for a Type-V node is quite similar to that ûk = 0 for 2t φ ≤ k < 2t (φ + 1) − 2, û2t (φ+1)−2 = xφ,t
2t −2 ⊕
φ,t φ,t
of the Type-I and Type-II nodes. In particular, x2t −1 , and û2t (φ+1)−1 = x2t −1 .
  Remark 2. The computational and hardware complexity of
x l = m G 0 · · · G0 , (40)
PM calculations can be reduced using [12]
where m is a binary row vector of length 4, and 
a, if a > 0;
⎡ ⎤ ln(1 + ea ) ≈ (58)
1 1 1 1 0 0 0 0 0, otherwise.
⎢1 1 0 0 1 1 0 0⎥
G0 = ⎢ ⎣1 0
⎥. (41) For example, using (58), we can compute PMl00 for a Type-I
1 0 1 0 1 0⎦
node as
0 1 1 0 1 0 0 1 
PMl00 ≈ PMl + ykl . (59)
Similar to the proposed decoders for Type-I and Type-II l <0
k:yk
nodes, we compute 16 PMs corresponding to different values
of m as IV. D ECODING L ATENCY
R−1
 In this section, we compare the decoding latency of the
l
PMl0000 =PMl + ln 1 + e−yk , (42) proposed decoders with that of the existing fast SCL decoders
k=0 [11] (referred to as FSCL decoders hereafter). Presuming no
PMl0001 =PMl000 + σ1 + σ2 + σ4 + σ7 , (43) hardware resource limitations, the FSCL decoder takes 1, 2,
min{L, R} + 1, and min{L − 1, R} time steps to decode a
PMl0010 =PMl000 + σ0 + σ2 + σ4 + σ6 , (44)
rate-0, a REP, an SPC and a rate-1 node [11].
PMl0011 =PMl000 + σ0 + σ1 + σ6 + σ7 , (45) The proposed decoders of Type-I, Type-II and Type-V nodes
PMl0100 =PMl000 + σ0 + σ1 + σ4 + σ5 , (46) consume one time step to compute PMs corresponding to all
PMl0101 =PMl000 + σ0 + σ2 + σ5 + σ7 , (47) codewords. In the second time step, those paths are selected
that have the lowest PMs. As such, the decoding latency of
PMl0110 =PMl000 + σ1 + σ2 + σ5 + σ6 , (48)
these decoders is 2 time steps only.
PMl0111 =PMl000 + σ4 + σ5 + σ6 + σ7 , (49) On the other hand, if the FSCL decoders are used to decode
PMl1000 =PMl000 + σ0 + σ1 + σ2 + σ3 , (50) these nodes then the decoding tree of these node correspond
PMl1001 =PMl000 + σ0 + σ3 + σ4 + σ7 , (51) to the decoding tree of Fig. 2a. In particular, the left child of
each node is a rate-0 node, whereas the node B is a rate-1
PMl1010 =PMl000 + σ1 + σ3 + σ4 + σ6 , (52)
node of size 2 for Type-I node, an SPC node of size 4 for
PMl1011 =PMl000 + σ2 + σ3 + σ6 + σ7 , (53) Type-II and a REP-SPC node of size 8 for Type-V node [8].
PMl1100 =PMl000 + σ2 + σ3 + σ4 + σ5 , (54)
B
PMl1101 =PMl000 + σ1 + σ3 + σ5 + σ7 , (55)
PMl1110 =PMl000 + σ0 + σ3 + σ5 + σ6 , (56) B
(a) (b)
7
PMl1111 =PMl000 + σi , (57) Fig. 2. Decoding trees of the proposed nodes correspond to either decoding
i=1 tree (a) or decoding tree (b).
R/8−1
l
where σi = k=0 y8k+i for 0 ≤ i < 8. Amongst the 16L Since the left children are rate-0 nodes, the LLRs of the
computed path metrics, only the smallest L ones are kept, and both children can be calculated simultaneously in one time
their corresponding codewords are assigned to xl . step. That results in a decoding latency of log2 (R/RB ) time
steps to traverse to the node B, where RB is the size of node
Remark 1. In the afore-mentioned list decoders, we did not
B. Using afore-mentioned decoding delay expressions, node
provide calculations for ûlk , where 2t φ ≤ k < 2t (φ + 1) for
B can be decoded in 2, min {L, 4} + 1, and min {L, 4} + 5
a node (φ, t). For systematic polar codes, we do not compute
time steps for Type-I, Type-II and Type-V nodes, respectively.
ûl as the information bits appear transparently in x [14]. For
Using these calculations, the decoding latencies of these nodes
non-systematic polar codes, we can use ûφ,t = xφ,t F⊗t to find
can be computed and are given in Table I.
the information bits corresponding to the codeword xφ,t . Note
The proposed decoder of a Type-III node first computes the
that the above operation, in contrast to the conventional list
ML codeword and its corresponding PM in one time step.
3 The proof of this assertion is quite similar to that of Theorem 1. We skip Afterwards, it generates 2L codewords and select the best L
the proof due to the space limitation and repetition of ideas. ones for min{L − 1, R − 2} bits, which results in a decoding

41
2018 IEEE Wireless Communications and Networking Conference Workshops (WCNCW): Polar Coding for Future Networks: Theory and Practice

0
TABLE I 10
D ECODING LATENCIES OF THE FSCL AND PROPOSED SCL DECODERS .

Node FSCL Proposed SCL -1


10
Type-I t+1 2
Type-II t + 1 + min{L, 4} 2
t−1
 -2
10
Type-III 2t − 1 + min{L − 1, 2i } 1 + min{L − 1, R − 2}

BER and BLER


i=1
t−1

min{L − 1, 2i }
-3
Type-IV 2t − 2 + 1 + min{L − 1, R − 4} 10
i=2
Type-V t + 2 + min{L, 4} 2
-4
10

Conventional:BLER
delay of 1 + min{L − 1, R − 2} time steps. Likewise, the -5
Proposed:BLER
10 Conventional:BER (Non-Systematic)
decoding latency of the proposed Type-IV decoder can be Proposed:BER (Non-Systematic)
shown to be 1 + min{L − 1, R − 4} time steps. Conventional:BER (Systematic)
Proposed:BER (Systematic)
With the FSCL decoders, the decoding tree of a Type-III 10
-6

1 1.2 1.4 1.6 1.8 2 2.2 2.4 2.6 2.8 3


or Type-IV node corresponds to the decoding tree Fig. 2b. Eb /N0 (dB)
In particular, the right child of each node is a rate-1 node.
The node B is a rate-0 node of size 2, and a REP node of Fig. 3. BER and BLER performance of the proposed and conventional
LLR-based list decoding in AWGN channels for a polar code P (1024, 512)
size 4 for Type-III and Type-IV nodes, respectively. The LLR designed for Eb /N0 = 3 dB and L = 4.
computation for each child takes one time step, which results
in a decoding delay of 2 log2 (R/RB ) time steps to traverse
to the level of node B. Using the decoding delay expression [3] G. Sarkis, I. Tal, P. Giard, A. Vardy, C. Thibeault, and W. J. Gross,
“Flexible and low-complexity encoding and decoding of systematic polar
of rate-0, REP and rate-1 nodes, the decoding latency of the codes,” IEEE Trans. Commun., vol. 64, no. 7, pp. 2732–2745, Jul. 2016.
fast SCL decoder can be computed and are given in Table I. [4] A. Alamdar-Yazdi and F. R. Kschischang, “A simplified successive-
Observe that the decoding latencies of the proposed de- cancellation decoder for polar codes,” IEEE Commun. Lett., vol. 15,
no. 12, pp. 1378–1380, Dec. 2011.
coders are always less than that of the FSCL decoders. [5] G. Sarkis, P. Giard, A. Vardy, C. Thibeault, and W. J. Gross, “Fast polar
The latency improvement is more pronounced for Type-III decoders: Algorithm and implementation,” IEEE J. Sel. Areas Commun.,
and Type-IV nodes. For example, the proposed decoder will vol. 32, no. 5, pp. 946–957, May 2014.
[6] K. Niu, K. Chen, J. Lin, and Q. T. Zhang, “Polar codes: Primary concepts
require 4 time steps to decode a Type-III node, whereas the and practical decoding algorithms,” IEEE Commun. Mag., vol. 52, no. 7,
FSCL decoder will consume a total of 20 time steps to decode pp. 192–203, Jul. 2014.
the node when L = 4 and R = 2t = 25 . [7] P. Giard, G. Sarkis, C. Thibeault, and W. J. Gross, “237 Gbit/s unrolled
hardware polar decoder,” Electron. Lett., vol. 51, no. 10, pp. 762–763,
May 2015.
V. S IMULATION R ESULTS [8] M. Hanif and M. Ardakani, “Fast successive-cancellation decoding of
polar codes: Identification and decoding of new nodes,” IEEE Commun.
Fig. 3 compares the block-error-rate (BLER) and bit-error- Lett., vol. 21, no. 11, pp. 2360–2363, Nov. 2017.
rate (BER) performances of the proposed list decoder with the [9] G. Sarkis, P. Giard, A. Vardy, C. Thibeault, and W. J. Gross, “Fast list
conventional LLR-based polar code list decoder [12]. Note that decoders for polar codes,” IEEE J. Sel. Areas Commun., vol. 34, no. 2,
pp. 318–328, Feb. 2016.
the proposed decoder, while achieving the performance of the [10] S. A. Hashemi, C. Condo, and W. J. Gross, “A fast polar code list
conventional list decoder, decreases the latency by almost 35% decoder architecture based on sphere decoding,” IEEE Trans. Circuits
by consuming a total of 267 time steps instead of 408 time Syst. I, vol. 63, no. 12, pp. 2368–2380, Dec. 2016.
[11] ——, “Fast simplified successive-cancellation list decoding of polar
steps taken by the FSCL decoder. codes,” in IEEE Wireless Commun. Netw. Conf. Workshops (WCNCW),
Mar. 2017, pp. 1–6.
VI. C ONCLUSION [12] A. Balatsoukas-Stimming, M. B. Parizi, and A. Burg, “LLR-based
successive cancellation list decoding of polar codes,” IEEE Trans. Signal
In this work, we presented fast list decoders for Type-I, Process., vol. 63, no. 19, pp. 5165–5179, Oct. 2015.
Type-II, Type-III, Type-IV and Type-V nodes. The proposed [13] R. Silverman and M. Balser, “Coding for constant-data-rate systems,”
IRE Trans. Prof. Group Inform. Theory, vol. 4, no. 4, pp. 50–63, Sep.
decoders do not deteriorate the error performance of the list 1954.
decoding by accurately computing the path metrics associated [14] E. Arıkan, “Systematic polar coding,” IEEE Commun. Lett., vol. 15,
with the output lists of codewords. Implementing the proposed no. 8, pp. 860–862, Aug. 2011.
decoders result in improved decoding speed of the successive-
cancellation list decoder.

R EFERENCES
[1] E. Arıkan, “Channel polarization: A method for constructing capacity-
achieving codes for symmetric binary-input memoryless channels,” IEEE
Trans. Inf. Theory, vol. 55, no. 7, pp. 3051–3073, Jul. 2009.
[2] I. Tal and A. Vardy, “List decoding of polar codes,” IEEE Trans. Inf.
Theory, vol. 61, no. 5, pp. 2213–2226, May 2015.

View publication stats


42

You might also like