BER Comparison Between Turbo, LDPC, and Polar Codes

Download as pdf or txt
Download as pdf or txt
You are on page 1of 7
At a glance
Powered by AI
The document discusses and compares the performance of convolutional codes, turbo codes, LDPC codes and polar codes in terms of bit-error-ratio for different block lengths and code rates.

The four coding schemes discussed are convolutional codes, turbo codes, LDPC (low-density parity-check) codes, and polar codes.

Convolutional codes encode input bits in a bit-by-bit fashion using predefined polynomials, while turbo codes use two recursive convolutional encoders with the input stream passed through in a permuted way between encoders. Turbo codes can perform very close to the channel capacity limit.

BER Comparison Between Convolutional, Turbo,

LDPC, and Polar Codes


Bashar Tahir∗ , Stefan Schwarz† , and Markus Rupp‡
Institute of Telecommunications
Technische Universität (TU) Wien
Vienna, Austria
Email: {∗ bashar.tahir, † stefan.schwarz, ‡ markus.rupp}@tuwien.ac.at

Abstract—Channel coding is a fundamental building block in A major breakthrough happened in 1993 when turbo codes
any communications system. High performance codes, with low were introduced [5]. They represent a class of codes that
complexity encoding and decoding are a must-have for future can perform very close to the capacity limit. In its common
wireless systems, with requirements ranging from the operation
in highly reliable scenarios, utilizing short information messages form, turbo encoding is done using two recursive convolutional
and low code rates, to high throughput scenarios, working with encoders. The input stream is passed to the first encoder, and a
long messages, and high code rates. permuted version is passed to the second one. At the receiving
We investigate in this paper the performance of Convolutional, side, two decoders are used, each one decodes the streams
Turbo, Low-Density Parity-Check (LDPC), and Polar codes, in of the corresponding encoder. By exchanging probabilistic
terms of the Bit-Error-Ratio (BER) for different information
block lengths and code rates, spanning the multiple scenarios information, the two decoders can iteratively help each other
of reliability and high throughput. We further investigate their in a manner similar to a turbo engine.
convergence behavior with respect to the number of iterations Another class of capacity-approaching codes, are the LDPC
(turbo and LDPC), and list size (polar), as well as how their per- codes. They were first proposed by Gallager in 1960 [6].
formance is impacted by the approximate decoding algorithms.
At that time, they were considered too complex for practical
implementation. In 1996 [7], LDPC codes were rediscovered,
I. I NTRODUCTION and obtained a steady interest further on. As the name implies,
In 1948, Shannon [1] showed that an error-free commu- LDPC codes are block codes with a sparse parity check matrix.
nication over a noisy channel is possible, if the information Such sparsity allows for low complexity decoding using the
transmission rate is below or equal to a specific bound; the iterative Belief Propagation algorithm [8], also called Sum-
Channel Capacity bound. Since then, enormous efforts were Product Algorithm (SPA), and when designed with a specific
put into finding new transmission techniques with the aim to structure, low-complexity encoding can also be performed.
get closer and closer to the channel capacity. A fairly recent type of codes, called polar codes, were
Channel coding is one of the fundamental techniques that introduced by Arıkan in 2008 [9]. They are constructed using
make such near-capacity operation possible. By introducing the channel polarization transform. Aside from their great
a structured redundancy at the transmitter (encoding), and ex- performance, they are the first practical codes that are proven
ploiting it at the receiver (decoding), wide possibilities of error to achieve the channel capacity at infinite length. Arıkan also
detection and correction can be achieved. We consider four showed that a polar code of length N , can be encoded and
coding schemes: convolutional, turbo, Low-Density Partiy- decoded with a complexity of O(N log N ) each. The encoding
Check (LDPC), and polar codes. These schemes were selected is performed using the Generator matrix obtained from the
as candidates for 5th generation wireless communications polarization transform, and the decoding can be achieved by
(5G), due to their good performance, and low complexity state- a Successive Cancellation (SC) technique [9].
of-the-art implementation. Similar partial comparisons between those schemes have
Convolutional codes were introduced by Elias in 1955 [2]. been carried out in previous publications, such as [10]–[16],
They are a class of linear codes in which the input information but they provided only a limited set of results. We present
bits are encoded in a bit-by-bit (stream) fashion, in such here, a Bit-Error-Ratio (BER) comparison between the afore-
way that the input bits are convolved with (or slided against) mentioned coding schemes for different block lengths and code
predefined polynomials, hence the name “convolutional”. The rates, representing the multiple scenarios of reliability and high
common decoding algorithms for convolutional codes, are the throughput. We also examine their convergence behavior, and
Viterbi algorithm [3], and the BCJR algorithm [4]. the effect of using the approximate decoding algorithms.
The financial support by the Austrian Federal Ministry of Science, Research In Section II to V, we present an overview of the encoding,
and Economy and the National Foundation for Research, Technology and and decoding process of those schemes. In Section VI, we
Development is gratefully acknowledged.
† Stefan Schwarz is with the Christian Doppler Laboratory for Dependable explain our methodology for the comparison and present our
Wireless Connectivity for the Society in Motion. results. In Section VII, we provide concluding remarks.

978-1-5386-0643-8/17/$31.00 ©2017 IEEE


II. C ONVOLUTIONAL C ODES III. T URBO C ODES
A. Encoding Turbo codes are usually constructed by a parallel concate-
Convolving the inputs bits with the code polynomials can nation of two recursive convolutional encoders separated by an
be done efficiently using a simple combination of memory Interleaver. The task is then to design the code polynomials for
elements and XOR operations. Fig. 1 shows the rate 1/3 the individual encoders, and to use an appropriate interleaver.
convolutional encoder used in LTE [17], where the polyno- A. Encoding
mials (Gi ) are described in Octal form. Understanding the
Since the individual encoders are basically convolutional,
states’ transitions, is important later on for the decoding. Also,
the same discussion we had in the previous section carries
knowing the starting and ending states of the encoder is needed
on to here. The only new element is the interleaver. Fig.
at the decoder, otherwise performance loss might exist.
2 shows the turbo encoder used in LTE [17] [20], where a
ul
Quadratic Permutation Polynomials (QPP) interleaver is used.
D D D D D D The outputs of the first encoder are a systematic stream ul ,
(1)
G0= 133 pl(1) and a parity stream pl , while the second encoder generates
(2)
G1= 171 pl(2) a parity stream pl only. This makes it a rate 1/3 turbo code.

G2= 165 pl(3)


ul

Fig. 1. LTE rate 1/3 convolutional encoder [17]. pl(1)

Due to the simple structure, convolutional codes enjoy low ul


D D D
complexity encoding, and combined with the fast clock speeds
of the state-of-the-art systems, encoding latency is not an issue.
Turbo
B. Decoding Interleaver pl(2)
We consider the Bit-wise Maximum A Posteriori (MAP)
decoder, which is utilized using the BCJR algorithm [4]. For D D D
information bit ul at time l, received codeword y, and decoded
bit ûl , the Log-Likelihood Ratio (LLR) of ul is given by
 
P {ul = 0|y}
Lul = log . (1) Fig. 2. LTE rate 1/3 turbo encoder [17].
P {ul = 1|y}
Due to the Trellis structure of convolutional codes, these Similarly here, knowing the starting and ending states of the
probabilities can be written as [18] of the encoder at the decoder is important to avoid performance
P 0
! loss. This is handled via trellis termination.
U0 P {sl−1 = s , sl = s, y}
Lul = log P , (2)
0
U1 P {sl−1 = s , sl = s, y}
B. Decoding
The turbo decoder consists of two Soft-Input Soft-Ouput
where sl is the state at time l, U0 is the set of pairs (s0 , s) for
(SISO) decoders. Those decoders are similar to the convolu-
the state transition s0 → s when ul = 0, and U1 is the set of
tional decoder, except of some modifications. The systematic
pairs (s0 , s) for the transition when ul = 1. Using the BCJR
stream and the first parity stream are fed to the first decoder,
algorithm, these probabilities can be factorized as
while an interleaved version of the systematic stream, and
P {sl−1 = s0 , sl = s, y} = αl−1 (s0 )γl (s0 , s)βl (s). (3) the second parity stream are fed to the second one. The
first decoder starts, and instead of generating a final LLR,
where γl (s0 , s) is the Branch Metric. The probabilities αl , and it generates a cleared up version, called extrinsic information.
βl are calculated recursively [4]. Processing this in the log- This is interleaved, and sent to the second decoder. It performs
domain, the final expression for the LLR is given by [18] decoding, which is more reliable compared to the case where
Lul = max∗ [αl−1 (s0 ) + γl (s0 , s) + βl (s)] it does not have the additional information from the first
U0 decoder. In a similar manner, it generates extrinsic information
−max∗ [αl−1 (s0 ) + γl (s0 , s) + βl (s)], (4) for the first decoder, and instead of interleaving, it performs
U1
deinterleaving, and at this point, an iteration is completed.
The max∗ function is given by On the next iteration, the first decoder starts the same as
max∗ (a, b) = max(a, b) + log(1 + e−|a−b| ). (5) before, but now it has extrinsic information from the second
decoder, and therefore a more reliable output is calculated.
An approximation can be made by neglecting the log term, The decoding continues until a stopping criterion is satisfied,
yielding the Max-Log-MAP algorithm [19]. or the maximum number of iterations has been reached.
After any iteration, the total LLR is calculated as [18] The second problem can be mitigated by utilizing a structure
similar to Repeat-Accumulate (RA) codes [23], which allows
Lul (total) = Lul (channel) + Le(2→1) e(1→2)
uDeint(l) + Lul , (6)
direct encoding from the parity check matrix through back-
where Lul (channel) is the channel LLR, Lul
e(1→2)
is the ex- substitution [24].
trinsic information sent from first decoder to the second one. B. Decoding
Deint(l) is the deinterleaved position of ul .
If the interleaver is designed appropriately, then it would ap- Decoding of LDPC codes is performed with the Sum-
pear as if the original and interleaved streams are uncorrelated. Product Algorithm (SPA) [8]. This is based on message
This is essential for the turbo gain, since it will be unlikely passing between the CNs, and VNs in the Tanner graph.
that the original stream and its interleaved counterpart undergo At the start, the VNs send the channel LLRs Lj to the
the same encoding, transmission, and/or decoding conditions. connected CNs. The CNs then perform their calculation, and
pass new messages to their connected VNs according to [18]
IV. LDPC C ODES
An LDPC code is characterized by its sparse parity check
 Y 
−1
matrix. Such sparsity facilitates low complexity encoding and Li→j = 2 tanh tanh(L
j 0 →i /2) , (9)
decoding. An example code is the following j 0 ∈N (i)−{j}

1 1 0 0 1 0 where Li→j is the message passed from the ith CN to jth


 
1 0 1 1 0 0 VN, Lj→i is the message passed from the jth VN to the ith
H= , (7)
0 0 1 0 1 1 CN, and N (i) is the set of VNs connected to the ith CN. The
0 1 0 1 0 1 VNs receive these messages, process them, and then pass new
which is given here just for demonstration. LDPC codes can be messages to the connected CNs according to
represented by a Tanner graph [21]. Each row is represented X
by a Check Node (CN), and each column is represented by Lj→i = Lj + Li0 →j , (10)
a Variable Node (VN). The “1”s in the matrix represent the i0 ∈N (j)−{i}

connections between the CNs and VNs. Fig. 3 shows the where N (j) is the set of CNs connected to the jth VN. At
Tanner graph of the example code. this point, one iteration is finished, and the total LLR can be
CN 1 CN 2 CN 3 CN 4 calculated as
X
Lj(total) = Lj + Li→j . (11)
i∈N (j)

The sequence in which the nodes are scheduled can affect


the performance. The one described above, in which all the
VN1 VN2 VN3 VN4 VN5 VN6 CNs, and then all the VNs update their messages in parallel,
Fig. 3. Tanner graph of the example code. is called the Flood schedule. An improved performance can
be achieved if serial scheduling is performed. This is called
A. Encoding Layered Belief Propagation (LBP) [25], [26], and it offers
almost double the convergence speed (in terms of iterations)
The encoding can be described in the following form
to that of the flood schedule.
c = uG, (8) An approximation can be made to (9) in the form
 
where c is the output codeword, u is the input block, and G Y
Li→j = αj 0 →i · 0 min βj 0 →i , (12)
is the generator matrix. j ∈N (i)−{j}
j 0 ∈N (i)−{j}
For LDPC codes, the parity check matrix H is the design
parameter, and not the generator matrix G. However, the where αj 0 →i and βj 0 →i are the sign and magnitude of Lj 0 →i ,
generator matrix can still be obtained from a given parity check respectively. This is the Min-Sum approximation [27], and
matrix. This is usually done by putting H into systematic form offers lower complexity decoding at the cost of some perfor-
using Gauss-Jordan Elimination, and then the generator matrix mance loss.
is found directly [18].
Two problems exist, first, the parity check matrix is de- V. P OLAR C ODES
signed for a specific input block length, and therefore using Polar codes are those constructed as a result of the channel
other lengths is not possible. The second problem lies in the polarization transform [9]. The idea is that by channel com-
transformation of H into systematic form, since it can get bining and splitting, and at infinite length, the channels (bits’
too complicated for long block lengths. The first problem positions) will polarize in the sense that some of channels
is handled using Quasi-Cyclic (QC) LDPC codes, and those will be highly reliable, and the rest will be unreliable. If
can easily support variable input sizes through Lifting [22]. the information bits are put only into the reliable channels,
and foreknown bits (usually zeros) are put into the unreliable sum is equal to u1 . If u1 is frozen, then the decoder already
channels, then the channel capacity can be achieved. knows its value, and can directly set it to 0. Therefore, the
The task of polar code construction is to find this set of the channel LLRs and u1 are used to decode u2 , leading to a
most unreliable channels, which is usually called the Frozen higher decoding reliability of u2 . The decoding continues until
Set. There exist multiple construction algorithms [28], with all the nodes are processed.
varying complexity, and due to the non-universal behavior The performance can be improved, if a List Decoder [30] is
of polar codes, those algorithms require a parameter called used, yielding the List-SC decoder. For each decoded bit, the
Design-SNR. However, universal constructions also exist. two possibilities of being decoded as 1 or 0 are considered.
This is achieved by splitting the current decoding path into
A. Encoding
two new paths, one for each possibility. The total number of
The encoder is basically the polarization transform, which possibilities across the decoding tree is limited by the List
is given by the kernel [9] size. After the decoding is finished, the path with the smallest
1 0 Path Metric is chosen [29]. A further improvement can be
h i
F= . (13)
1 1 achieved by performing a Cyclic Redundancy Check (CRC)
The transform for a larger input size is obtained via the on the surviving paths, and the one satisfying it, is the correct
Kronecker product of this kernel with itself, causing polar one.
codes to have lengths that are powers of 2. For a code of
VI. P ERFORMANCE C OMPARISON
length N , and n = log2 (N ), the encoder is given by
In this section, we compare the coding schemes in terms
G = F⊗n , (14) of the BER for different information block lengths, and code
where F⊗n is the Kronecker product of F with itself n times. rates. We check their convergence behavior, and the impact of
The encoding is then carried out as in (8), which is shown in using the approximate decoding algorithms described above.
Fig. 4 for a code of length 4. A. Setup and Code Construction
u1 c1 We transmit using Binary Phase Shift Keying (BPSK) over
the Additive White Gaussian Noise (AWGN) channel. For con-
u2 c2 volutional and turbo codes, we chose those of LTE [17]. The
interleaver parameters for information length of K = 8192
u3 c3
were obtained from [31]. For LDPC, we used the IEEE 802.16
codes [32], and since it does not support codes of rate 1/3,
u4
an extension method has been applied to the rate 1/2 code
c4
in a fashion similar to [33]. As for polar codes, they were
Fig. 4. Polar encoder of length 4. constructed using the Bhattacharya bounds algorithm [28], and
B. Decoding by searching for a suitable Design-SNR. The constructed codes
are available from the author on request.
Although polar codes can be decoded through Belief Propa- The rate adaption for convolutional and turbo codes was
gation, the standard decoding algorithm is Successive Cancel- obviously done by puncturing. For polar codes, since the
lation (SC). The SC decoder can be found directly from the encoder size is limited to powers of 2, the extra positions were
encoder, where the XOR, and connection nodes are represented handled by applying zeros to the encoder bottom positions, and
by the probabilistic nodes f and g, respectively. In the LLR since their corresponding outputs do not depend on the upper
domain, the f and g nodes perform the following calculations positions, then they are also equal to zero and can be removed
for given input LLRs a and b [29] from the output codeword. At the decoder, the LLRs of these
 a+b 
e +1 positions are set to a very high positive value, reflecting a
f (a, b) = log , (15) positive infinity LLR.
ea + eb
g(a, b, s) = (−1)s a + b, B. Convergence
where s is the Partial Sum, which is the sum of the previously We examine here how the performance is affected with
decoded bits that are participating in the current g node. An respect to the number of iterations (turbo and LDPC), and
approximation can be applied to f , yielding list size (polar). The decoding algorithms used are Max-
Log-MAP, Layered Min-Sum, List-SC with approximation for
f (a, b) = sign(a)sign(b) min (|a|, |b|). (16)
turbo, LDPC, and polar codes, respectively. The results are
The LLRs are propagated from the right to the left in Fig. 4. given for a rate R of 1/2, with information block length K of
The first bit u1 can be decoded directly by passing the LLRs 2048 (2052 for LDPC). These are shown in Figs. 5, 6 and 7,
through the appropriate f nodes. Once it is decoded, u2 can for iterations (list sizes) of 32, 16, 8, 4, 2, and 1.
be decoded using a g node, which requires the corresponding Given the results, it is apparent that going for more than
partial sum. Since only u1 is participating, then the partial eight iterations for turbo codes, does not provide that much
100 100

10−1 10−1

10−2 10−2
BER

BER
10−3 10−3

10−4 10−4

10−5 10−5
Uncoded Uncoded
Turbo Polar
10 −6
10 −6
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5 0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
SNR (dB) SNR (dB)
Fig. 5. Turbo code convergence, K = 2048, R = 1/2, Iterations = 32, 16, 8, Fig. 7. Polar code convergence, K = 2048, R = 1/2, List size = 32, 16, 8,
4, 2, 1 from left to right. 4, 2, 1 from left to right.

100 100

10−1 10−1

10−2 10−2
BER

BER
10−3 10−3

10−4 10−4
Uncoded
Convolutional
10 −5
10−5 Turbo
Uncoded LDPC
LDPC Polar
10−6 10−6
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5 -0.5 0 0.5 1 1.5 2 2.5 3 3.5 4
SNR (dB) SNR (dB)
Fig. 6. LDPC code convergence, K = 2052, R = 1/2, Iterations = 32, 16, 8, Fig. 8. Exact (dashed) vs. Approximate (solid) decoding algorithms, K =
4, 2, 1 from left to right. 2048 (2052 for LDPC), R = 1/2, 8 iterations turbo, 16 iterations LDPC,
list size 8 polar.
gain, especially if we consider the relatively high cost of a
single turbo iteration. For the LDPC code, 16 iterations appear D. Results for different block lengths and code rates
to be sufficient, and there is very little gain if we go for In Figs. 9 to 14, the performance of the coding schemes
32 iterations. An integral part of this fast convergence is due for information block lengths of K = 256, 512, 1024, 2048,
to the usage of layered decoding. As for polar codes, better 4096, and 8192, and code rates of R = 1/3, 1/2, 2/3, and
performance is obtained for larger list sizes, and at the list 5/6 are given. For LDPC, the information length is slightly
size of 32, the limitation in the low BER region due to the different, since the dimensions of the used base matrices do
Maximum Likelihood (ML) bound [30], starts to appear. not allow such extension. The number of iterations (list size)
For the rest of simulations, we choose 8 iterations for turbo, and decoding algorithms follow the previous two subsections.
16 iterations for LDPC, and a list size of 8 for polar codes. Turbo, LDPC, and polar codes perform somehow close to
C. Decoding Algorithms each other, especially at long block lengths. The convolutional
code, as expected, performs the worst. But, it still provides a
Fig. 8 shows the performance of the exact algorithms
low complexity alternative. The results for polar codes are
(dashed) against their approximations (solid) in (5), (12), and
quite interesting, considering that we used only a list size
(16). For convolutional and polar codes, the difference is
of 8, and without CRC. This shows how good a polar code
almost nonexistent. However, for turbo and LDPC, there is
can perform when it is constructed appropriately. Nonetheless,
a considerable difference of approximately 0.37 to 0.47 dB.
some of the polar code curves exhibited a relative saturation in
There are modified algorithms that help close the gap to the
the low BER region. However, potential improvement through
exact ones, some of them use look-up tables, offsetting, or
better construction should be possible.
low complexity functions, which might require some extra
processing, or additional memory usage.
For the simulations in the next section, MAX-Log-MAP is
used for convolutional and turbo codes, Layered Min-Sum for
LDPC codes, and List-SC with approximation for polar codes.
100 100
1/3 1/2 2/3 5/6 Uncoded 1/3 1/2 2/3 5/6 Uncoded
Conv. Conv.
10−1 Turbo 10−1 Turbo
LDPC LDPC
Polar Polar
10−2 10−2
BER

BER
10−3 10−3

10−4 10−4

10−5 10−5

10−6 10−6
-2 -1 0 1 2 3 4 5 6 7 8 9 -2 -1 0 1 2 3 4 5 6 7 8 9
SNR (dB) SNR (dB)
Fig. 9. BER comparison for different code rates, K = 256 (For LDPC, Fig. 12. BER comparison for different code rates, K = 2048 (For LDPC,
K = 252 for R = 1/2, and 1/3, and K = 260 for R = 5/6.) K = 2052 for R = 1/2, and 1/3, and K = 2040 for R = 5/6.)

100 100
1/3 1/2 2/3 5/6 Uncoded 1/3 1/2 2/3 5/6 Uncoded
Conv. Conv.
10 −1 Turbo 10 −1 Turbo
LDPC LDPC
Polar Polar
10−2 10−2
BER

BER

10−3 10−3

10−4 10−4

10−5 10−5

10−6 10−6
-2 -1 0 1 2 3 4 5 6 7 8 9 -2 -1 0 1 2 3 4 5 6 7 8 9
SNR (dB) SNR (dB)
Fig. 10. BER comparison for different code rates, K = 512 (For LDPC, Fig. 13. BER comparison for different code rates, K = 4096 (For LDPC,
K = 516 for R = 1/2, and 1/3, and K = 520 for R = 5/6.) K = 4092 for R = 1/2, and 1/3, and K = 4100 for R = 5/6.)

100 100
1/3 1/2 2/3 5/6 Uncoded 1/3 1/2 2/3 5/6 Uncoded
Conv. Conv.
10 −1 Turbo 10 −1 Turbo
LDPC LDPC
Polar Polar
10−2 10−2
BER

BER

10−3 10−3

10−4 10−4

10−5 10−5

10−6 10−6
-2 -1 0 1 2 3 4 5 6 7 8 9 -2 -1 0 1 2 3 4 5 6 7 8 9
SNR (dB) SNR (dB)
Fig. 11. BER comparison for different code rates, K = 1024 (For LDPC, Fig. 14. BER comparison for different code rates, K = 8192 (For LDPC,
K = 1020 for R = 1/2, 1/3, and 5/6.) K = 8196 for R = 1/2, and 1/3, and K = 8200 for R = 5/6.)
VII. C ONCLUSION [20] J. C. Ikuno, S. Schwarz, and M. Simko, “LTE Rate Matching Perfor-
mance with Code Block Balancing,” in 17th European Wireless 2011 -
In this paper, we provide a BER comparison between the Sustainable Wireless Technologies, April 2011, pp. 1–3.
coding schemes: convolutional, turbo, LDPC and polar codes [21] R. Tanner, “A recursive approach to low complexity codes,” IEEE
for different scenarios. We consider the current state-of-the- Transactions on Information Theory, vol. 27, no. 5, pp. 533–547, Sep.
1981.
art practical codes, except of polar codes, where a custom [22] S. Myung, K. Yang, and Y. Kim, “Lifting methods for quasi-cyclic LDPC
construction as described in Section VI.A was applied. codes,” IEEE Communications Letters, vol. 10, no. 6, pp. 489–491, June
With exception of the convolutional code, the other schemes 2006.
[23] D. Divsalar, H. Jin, and R. McEliece, “Coding theorems for turbo-like
perform close to each other, which is the more true the larger codes,” Proc. 36th Annual Allerton Conf. on Communication, Control,
the information block length is. and Computing, pp. 201–210, Sep. 1998.
[24] T. J. Richardson and R. L. Urbanke, “Efficient encoding of low-density
R EFERENCES parity-check codes,” IEEE Transactions on Information Theory, vol. 47,
no. 2, pp. 638–656, Feb. 2001.
[1] C. E. Shannon, “A mathematical theory of communication,” The Bell [25] H. Kfir and I. Kanter, “Parallel versus sequential updating for belief
System Technical Journal, vol. 27, no. 3, pp. 379–423, July 1948. propagation decoding,” Physica A Statistical Mechanics and its Appli-
[2] P. Elias, “Coding for noisy channels,” IRE Convention Record, pp. 37– cations, vol. 330, pp. 259–270, Dec. 2003.
46, 1955. [26] M. M. Mansour and N. R. Shanbhag, “Turbo decoder architectures
[3] A. Viterbi, “Error bounds for convolutional codes and an asymptoti- for low-density parity-check codes,” in Global Telecommunications
cally optimum decoding algorithm,” IEEE Transactions on Information Conference, 2002. GLOBECOM ’02. IEEE, vol. 2, Nov. 2002, pp. 1383–
Theory, vol. 13, no. 2, pp. 260–269, April 1967. 1388 vol.2.
[4] L. Bahl, J. Cocke, F. Jelinek, and J. Raviv, “Optimal decoding of linear [27] M. P. C. Fossorier, M. Mihaljevic, and H. Imai, “Reduced complexity
codes for minimizing symbol error rate (corresp.),” IEEE Transactions iterative decoding of low-density parity check codes based on belief
on Information Theory, vol. 20, no. 2, pp. 284–287, Mar. 1974. propagation,” IEEE Transactions on Communications, vol. 47, no. 5,
[5] C. Berrou, A. Glavieux, and P. Thitimajshima, “Near shannon limit error- pp. 673–680, May 1999.
correcting coding and decoding: Turbo-codes. 1,” in IEEE International [28] H. Vangala, E. Viterbo, and Y. Hong, “A comparative study of polar
Conference on Communications, 1993. ICC ’93 Geneva. Technical code constructions for the AWGN channel,” July 2015. [Online].
Program, Conference Record, vol. 2, May 1993, pp. 1064–1070 vol.2. Available: https://arxiv.org/abs/1501.02473v1
[6] R. G. Gallager, Low Density Parity Check Codes,. Sc.D. thesis, MIT, [29] A. Balatsoukas-Stimming, M. B. Parizi, and A. Burg, “LLR-based
Cambridge, 1960. successive cancellation list decoding of polar codes,” IEEE Transactions
[7] D. J. C. MacKay and R. M. Neal, “Near shannon limit performance of on Signal Processing, vol. 63, no. 19, pp. 5165–5179, Oct. 2015.
low density parity check codes,” Electronics Letters, vol. 33, no. 6, pp. [30] I. Tal and A. Vardy, “List decoding of polar codes,” in 2011 IEEE
457–458, Mar. 1997. International Symposium on Information Theory Proceedings (ISIT),
[8] D. J. C. MacKay, “Good error-correcting codes based on very sparse July 2011, pp. 1–5.
matrices,” IEEE Transactions on Information Theory, vol. 45, no. 2, pp. [31] “Contention-free Interleaver designs for LTE Turbo Codes,” Motorola,
399–431, Mar. 1999. R1- 070054, 2007.
[9] E. Arikan, “Channel polarization: A method for constructing capacity- [32] “IEEE Standard for Air Interface for Broadband Wireless Access Sys-
achieving codes for symmetric binary-input memoryless channels,” IEEE tems,” Institute of Electrical and Electronics Engineers (IEEE), IEEE
Transactions on Information Theory, vol. 55, no. 7, pp. 3051–3073, July Std 802.16, 2012.
2009. [33] H. J. Joo, S. N. Hong, and D. J. Shin, “Design of rate-compatible ra-type
[10] J. V. Wonterghem, A. Alloum, J. J. Boutros, and M. Moeneclaey, low-density parity-check codes using splitting,” IEEE Transactions on
“Performance comparison of short-length error-correcting codes,” CoRR, Communications, vol. 57, no. 12, pp. 3524–3528, Dec. 2009.
2016. [Online]. Available: http://arxiv.org/abs/1609.07907
[11] T. Hehn and J. B. Huber, “LDPC codes and convolutional codes with
equal structural delay: a comparison,” IEEE Transactions on Communi-
cations, vol. 57, no. 6, pp. 1683–1692, June 2009.
[12] S. V. Maiya, D. J. Costello, T. E. Fuja, and W. Fong, “Coding with a
latency constraint: The benefits of sequential decoding,” in 2010 48th
Annual Allerton Conference on Communication, Control, and Computing
(Allerton), Sep 2010, pp. 201–207.
[13] K. Fagervik and A. S. Larssen, “Performance and complexity compar-
ison of low density parity check codes and turbo codes,” Norwegian
Signal Processing Symposium, 2003.
[14] Üstün Özgür, “A Performance Comparison of Polar Codes with Convo-
lutional Turbo Codes,” Master’s thesis, Bilkent University, Turkey, 2009.
[15] N. Andreadou, F. N. Pavlidou, S. Papaharalabos, and P. T. Mathiopoulos,
“Quasi-Cyclic Low-Density Parity-Check (QC-LDPC) codes for deep
space and high data rate applications,” in Satellite and Space Communi-
cations, 2009. IWSSC 2009. International Workshop on, Sep. 2009, pp.
225–229.
[16] E. Arikan, N. ul Hassan, M. Lentmaier, G. Montorsi, and J. Sayir,
“Challenges and some new directions in channel coding,” Journal of
Communications and Networks, vol. 17, no. 4, pp. 328–338, Aug. 2015.
[17] “Evolved Universal Terrestrial Radio Access (E-UTRA); Multiplexing
and channel coding,” 3rd Generation Partnership Project (3GPP), TS
36.212, 2016.
[18] W. E. Ryan and S. Lin, Channel Codes: Classical and Modern. Cam-
bridge University Press, 2009.
[19] W. Koch and A. Baier, “Optimum and sub-optimum detection of coded
data disturbed by time-varying intersymbol interference [applicable to
digital mobile radio receivers],” in Global Telecommunications Confer-
ence, 1990, and Exhibition. ’Communications: Connecting the Future’,
GLOBECOM ’90., IEEE, Dec. 1990, pp. 1679–1684 vol.3.

You might also like