A Hybrid OSD-SC Decoding Algorithm for Polar
Codes
Yusheng Xing
∗
, Guofang Tu
∗
∗
School of Electronic, Electrical and Communication Engineering,
University of Chinese Academy of Sciences, P.R.China
Email: yushengjsman@gmail.com
Abstract—In this paper, we propose a low complexity hybrid
ordered statistics decoding (OSD) successive cancellation (SC)
decoding algorithm for the polar codes. By replacing smaller
size SC decoder with OSD decoder, we can improve the error
correcting performance of the SC algorithm. The size of the
OSD decoder can be changed to control the trade-off between
the decoding complexity and the error correcting performance
of the proposed algorithm. We also provide a method to further
simplify the proposed algorithm. Simulation results show that
the proposed algorithm offers about 0.3 dB gain comparing to
the SC at target bit error rate (BER) 10
−5
with code length
N = 1024, 512, 256 and code rate R = 1/3. The impact of the
OSD size is also simulated and analyzed.
Keywords—polar codes, ordered statistics decoding, successive
cancellation, low complexity
I. INTRODUCTION
Polar codes were developed by Arikan in 2009 [1]. And they
are the first channel coding class which provides the capacity-
achieving ability with deterministic construction method in
binary memoryless symmetric channels. Successive cancella-
tion (SC) algorithm is the first decoding algorithm for polar
codes provided by Arikan [1] and is used by him to prove the
capacity-achieving ability of polar codes. The SC algorithm
has a complexity O(N log N) where N is the codeword
length. The SC algorithm is a sub-optimum decoding algo-
rithm since it discards the information provided by the frozen
bits with indices larger than the index of the current informa-
tion bit [2]. To improve the error correcting performance of
polar codes, various decoding algorithms have been proposed.
In [1], belief propagation (BP) algorithm is considered to
decoding polar codes. BP has a complexity O(I
max
N log N )
where I
max
is the max iteration number. BP is also a sub-
optimum algorithm which shows slight lower block error rate
(BLER) comparing to SC.In [3], The successive cancellation
list (SCL) decoding algorithm is proposed. The SC algorithm
can be viewed as the SCL algorithm with L = 1. The
SCL algorithm is similar to the SC with the difference that
the SCL with list size L keeps L paths with the largest
probability. This difference is the cause of error correcting
performance improvement. The successive cancellation stack
(SCS) algorithm proposed in [4] is similar to SCL. Both SCL
and SCS have complexity O(LN log N) where L is the list
size. In [5], the authors proposed to use cyclic redundancy
check (CRC) bits to aid the decoding which substantially
improves the performance of polar codes. In order to show
performance advantage, the SCL needs larger list size which
causes larger decoding complexity. So, to lower the BLER
while maintain low decoding complexity, we propose a hybrid
ordered statistics decoding (OSD)-SC decoding algorithm with
complexity O(LN) in this paper, where L is the size of the
OSD decoder. This paper is organized as follows. Section
II introduces some backgrounds of polar code construction
and OSD algorithm. In Section III, the proposed algorithm is
described and we analyse its complexity. we also propose a
simplification of the proposed algorithm in this section. We
put the numerical results in Section IV. Section V concludes
the paper.
II. PRELIMINARY
In this section, we give some brief introduction of polar code
construction and the OSD decoding algorithm. Hereafter, y
N
1
denotes the received sequence {y
1
, y
2
, ..., y
N
}, G
N
denotes
the generator matrix of polar codes with codeword length
N, u
N
1
denotes the message vector {u
1
, u
2
, ..., u
N
} which
includes the frozen bits, x
N
1
denotes the codeword vector
{x
1
, x
2
, ..., x
N
}. We will explain these symbols later.
A. Polar code construction and the SC decoding algorithm
The polar codes are linear block codes with codeword length
N = 2
n
. The main idea of polar codes is to construct N bit-
channels with different channel capacity from N identical uses
of the original channel. The construction of the polar codes is
to select the bit positions corresponding to the so-called bit-
channels with the highest capacity. We put information bits in
these positions and put known values (frozen bits, usually 0)
in the remaining positions to form a message vector . Arikan
used the Bhattacharyya parameter to evaluate the bit-channels
which is not computational efficient for most channels. The
Gaussian approximation method proposed in [6] is efficient
and practical for the evaluation purpose. Once the bit-channel
selection is done and the message vector u
N
1
is formed, we can
get the codeword vector x
N
1
using the recursive structure of
the polar codes with O(N log N ) complexity. The generator
matrix G can be obtained by choosing the corresponding rows
from the linear transformation matrix G
N
= B
N
F
(⊗n)
, where
B
N
is the bit-reversal matrix and F
(⊗n)
is the n-th Kronecker
power of F =
1 0
1 1
.