Professional Documents
Culture Documents
Paper - 2011 - A Simplified Successive-Cancellation Decoder for Polar Codes - Amin Alamdar-Yazdi
Paper - 2011 - A Simplified Successive-Cancellation Decoder for Polar Codes - Amin Alamdar-Yazdi
Abstract—A modification is introduced of the successive- information set 𝐴 ⊂ [𝑁 ] of cardinality 𝐾. Given these three
cancellation decoder for polar codes, in which local decoders parameters, a polar codeword x may be obtained by mapping
for rate-one constituent codes are simplified. This modification a binary 𝑁 -tuple b whose 𝑖th component is set (“frozen”)
reduces the decoding latency and algorithmic complexity of the
conventional decoder, while preserving the bit and block error to zero for all 𝑖 ∈ [𝑁 ] ∖ 𝐴, forming x = b𝐺𝑛 , where 𝐺𝑛
rate. Significant latency and complexity reductions are achieved denotes the generator matrix for polar codes of block-length
over a wide range of code rates. 2𝑛 (as defined in [1]). We refer to bit 𝑏𝑖 as an information bit
Index Terms—Polar codes, successive-cancellation decoding. (resp., as a frozen bit) with respect to 𝐴 if 𝑖 ∈ 𝐴 (resp., if
𝑖∈/ 𝐴). The codeword x is then passed through the channel
and the received vector y = (𝑦0 , . . . , 𝑦𝑁 −1 ) is processed by
I. I NTRODUCTION the decoder. ∪
P OLAR CODES, introduced in [1], are the first provably
capacity-achieving family of codes with low encoding
and decoding complexity and have recently attracted much
We let ℝ := ℝ {+∞, −∞} denote the extended reals.
We denote by ℎ(𝑥) the binary quantizer that takes on value
0 if 𝑥 > 0, takes on value 1 if 𝑥 < 0, and takes on 1 and 0
attention [2]–[6]. Although theoretically very interesting, polar each with probability 1/2 if 𝑥 = 0. If x is a vector or a tuple,
codes have certain drawbacks in practice. To achieve error then x[𝑖] represents the 𝑖th component of x and y = ℎ(x)
rates suitable for practical applications, the block-length has means y[𝑖] = ℎ(x[𝑖]) for all 𝑖. We define the binary operator
to be very large. The traditional successive-cancellation (SC) ⊞ which combines two extended real numbers 𝑥 and 𝑦 to form
decoder suffers from a very high latency, particularly at these 𝑥⊞ 𝑦 := 2atanh(tanh(𝑥/2)tanh(𝑦/2)). This operator has the
long block-lengths, and the corresponding decoder algorithm useful property that
has high complexity.
The SC decoder operates according to a recursive divide- ℎ(𝑥 ⊞ 𝑦) = ℎ(𝑥) ⊕ ℎ(𝑦) if 𝑥𝑦 ∕= 0, (1)
and-conquer approach, reducing the problem of decoding a
where ‘⊕’ denotes the modulo-two sum.
length 𝑁 polar code into two (coupled) decodings of length
𝑁/2 constituent codes. These decodings are not independent,
as the input to the second decoder relies on the output of III. SC D ECODING AS M ESSAGE -PASSING
the first one, thus introducing significant latency. Further- In this section, we set up a general framework for decoding
more, providing the input to the first decoder requires many polar codes recursively. Conventional SC decoding can be
computationally-intensive ‘⊞’ function evaluations. thought of as a special case of this general set-up.
It is well known that the recursion can be simplified when For 𝑛 > 0, let 𝑇𝑛 denote the full binary tree of depth 𝑛, i.e.,
the constituent code has rate zero (corresponding to the case the binary tree with 2𝑛 leaves, each having depth 𝑛. Given a
when all involved bits are so-called “frozen bits”), since in node 𝑣, we refer to its depth, parent node, and left and right
this case the recursive decoder can be replaced with a trivial child nodes by 𝑑𝑣 , 𝑝𝑣 , 𝑣𝑙 and 𝑣𝑟 , respectively; see Fig. 1(a).
one, avoiding latency and computation. The main observation We use 𝑉𝑣 to denote the set of nodes of the subtree rooted
in this paper is that the recursion can also be simplified at node 𝑣. The leaves of the tree are indexed in the set [2𝑛 ]
when the constituent code has rate one (corresponding to the in the usual way, as illustrated in Fig. 1(b) for 𝑛 = 3. We let
case when all involved bits are so-called “information bits”). ℓ(𝑣) denote the index of a leaf node 𝑣. Furthermore, to each
Latency and computation are reduced with no sacrifice in error node 𝑣 we associate the set
performance. For a polar code of length 218 and rate 0.7, the
new algorithm reduces the number of ‘⊞’ function evaluations ℐ𝑣 = {ℓ(𝑢) : 𝑢 ∈ 𝑉𝑣 and 𝑢 is a leaf node},
by more than 33% and reduces the decoding latency by more
than 88%. containing the indices of all leaf nodes that are descendents
of node 𝑣.
II. BACKGROUND Let 𝐴 ⊂ [2𝑛 ] be the information set of a given polar code.
We say that a node 𝑣 in 𝑇𝑛 is a rate one node with respect
A polar coding scheme is uniquely defined by three pa- to 𝐴 if ℐ𝑣 ⊆ 𝐴, i.e., if the leaf nodes that are descendents of
rameters: block-length 𝑁 = 2𝑛 , rate 𝑅 = 𝐾/𝑁 and an node 𝑣 all are information bits. Similarly, we say that 𝑣 is a
Manuscript received July 8, 2011. The associate editor coordinating the rate zero node with respect to 𝐴 if ℐ𝑣 ⊆ [2𝑛 ] ∖ 𝐴, i.e., if the
review of this letter and approving it for publication was V. Stankovic. leaf nodes that are descendents of node 𝑣 all are frozen bits.
The authors are with the Dept. of Electrical and Computer Engineering, For example, in Fig. 1(b), 𝐴 = {5, 6, 7}, rate zero nodes are
University of Toronto, 10 King’s College Road, Toronto, Ontario M5S 3G4,
Canada (e-mail: {ayazdi, frank}@comm.utoronto.ca). shown as white circles, and rate one nodes are shown as black
Digital Object Identifier 10.1109/LCOMM.2011.101811.111480 circles.
1089-7798/11$26.00 ⃝
c 2011 IEEE
ALAMDAR-YAZDI and KSCHISCHANG: A SIMPLIFIED SUCCESSIVE-CANCELLATION DECODER FOR POLAR CODES 1379
Relative Latency and Complexity Reductions method, once a non-leaf rate one node 𝑣 is activated, it uses
100 one clock cycle to calculate 𝛼𝑣𝑙 using 2𝑛−𝑑𝑣 −1 processors in
90 parallel. Then node 𝑣 waits a certain time 𝜏𝑙 until it receives
80 𝛽𝑣𝑙 , after which it uses one clock cycle to calculate 𝛼𝑣𝑟 .
𝐿(18)
70 𝐿(16)
Then node 𝑣 again has to wait another period of time 𝜏𝑟
Rel. Gain (%)