IEEE TRANSACTIONS ON COMMUNICATIONS, VOL. 60, NO. 1, JANUARY 2012 9
Low Complexity X-EMS Algorithms for Nonbinary LDPC Codes
Xiao Ma, Kai Zhang, Haiqiang Chen, and Baoming Bai
Abstract—The extended min-sum (EMS) algorithm is re-
described as a reduced-search trellis algorithm (called 𝑀 -EMS
algorithm). Two variants of the 𝑀-EMS algorithm, called 𝑇 -
EMS algorithm and 𝐷-EMS algorithm, are presented. Simulation
results show that, these three algorithms (referr ed to as 𝑋-EMS
algorithms for convenience), combined with factor correction
techniques, perform almost as well as the Q-ary sum-product
algorithm (QSPA) but with a much lower complexity.
Index Terms—EMS algorithms, nonbinary low-density parity-
check (LDPC) codes, Q-ary sum-product algorithm (QSPA),
reduced-search trellis algorithm.
I. INT RODUCTION
N
ONBINARY low-density parity-check (LDPC) codes
were first introduced by Gallager [1] using modulo
arithmetic. In [2], Davey and MacKay presented a class
of nonbinary LDPC codes defined over the finite field 𝔽
𝑞
,
referred to as 𝑄-ary LDPC codes here. They also introduced
a sum-product algorithm for decoding 𝑄-ary LDPC codes,
which is known as QSPA. A straightforward implementation
of the QSPA has a very high computational complexity, which
makes the nonbinary LDPC codes limited in certain applica-
tions. To reduce the decoding complexity, a more efficient
decoding algorithm based on fast Fourier transform (FFT),
known as FFT-QSPA [3], [4], can be implemented for the
nonbinary codes over finite fields with characteristic 2. In
2007, Declercq et al proposed an extended min-sum (EMS)
algorithm [5], [6] for nonbinary LDPC codes, which can be
viewed as a generalized min-sum algorithm for binary LDPC
codes.
In this letter, we first redescribe the original EMS algorithm
as a reduced-search trellis algorithm that retains only those
states/branches at each trellis section with the 𝑀 largest met-
rics, thus called 𝑀-EMS algorithm here. We then present two
variants of the 𝑀-EMS algorithm, called 𝑇 -EMS algorithm
and 𝐷-EMS algorithm, respectively. The 𝑇 -EMS algorithm
retains only those states/branches at each trellis section who se
metrics exceed a designated threshold T; while the 𝐷-EMS
algorithm retains only those states/branches at each trellis
Paper approved by T. M. Duman, the Editor for Coding Theory and
Applications of the IEEE Communications Society. Manuscript received April
28, 2011; re vised July 23, 2011.
This work was supported by NSFs of China (No.61172082, No.61102090
and No.U0635003), and the Guangdong Provincial Program for High-Level
Talents in University.
X. Ma, K. Zhang, and H. Chen are with the Department of
Electronics and Communication Engineering, Sun Yat-sen University ,
Guangzhou 510275, China. H. Chen is also with the School of Com-
puter, Electronics and Information, Guangxi University, Nanning 530004,
China (e-mail: maxiao@mail.sysu.edu.cn, zhangkai_sysu@163.com, chen-
haiq@mail2.sysu.edu.cn).
B. Bai is with the State Ke y Lab of ISN, Xidian University, Xi’an 710071,
China (e-mail: bmbai@mail.xidian.edu.cn).
Digital Object Identifier 10.1109/TCOMM.2011.092011.110082
section whose metrics deviate from the maximum one within
a designated parameter 𝐷.
II. D
ECODING NONBINARY LDPC CODES USING
SUM-PRODUCT AL GORITHMS
A. Normal Graphical Realizations of Nonbinary LDPC Codes
Let 𝔽
𝑞
be the finite field with 𝑞 elements, which is simply
denoted by 𝔽
𝑞
= {0, 1, 2, ⋅⋅⋅,𝑞 − 1}. A nonbinary LDPC
code C
𝑞
[𝑛, 𝑘] over 𝔽
𝑞
can be defined as the null space of a
sparse parity-check matrix H =[ℎ
𝑖,𝑗
]
𝑚×𝑛
with ℎ
𝑖,𝑗
∈ 𝔽
𝑞
.A
vector 𝑣
=(𝑣
0
,𝑣
1
, ⋅⋅⋅ ,𝑣
𝑛−1
) ∈ 𝔽
𝑛
𝑞
is a codeword if and only
if H𝑣
T
=0. For convenience, we define the following two
index sets
𝒩
𝑖
= {𝑗 :0≤ 𝑗 ≤ 𝑛 − 1,ℎ
𝑖,𝑗
∕=0}
for each row 𝑖 of H and
ℳ
𝑗
= {𝑖 :0≤ 𝑖 ≤ 𝑚 −1,ℎ
𝑖,𝑗
∕=0}
for each column 𝑗 of H.
Given the parity-check matrix H, we can realize the code
by a normal graph as shown in Fig. 1(a). In a general
normal graph [7], edges represent variables, while vertices
represent constraints. Similar to [8], we have the following
specifications in the scenario of nonbinary LDPC codes: 1) a
left vertex (represented by
=
) is called a v-node,which
corresponds to a column of H; 2) a right vertex (represented
by
+
) is called a c-node, which corresponds to a row of
H;3)ifℎ
𝑖𝑗
∕=0, we introduce a middle vertex (represented
by
H
), called an h-node (denoted by ℋ
𝑖𝑗
). The h-node
corresponding to ℎ
𝑖𝑗
∕=0bridges the 𝑗-th v-node with the 𝑖-th
c-node. The degree of any h-node is exactly two, where the
edge from the 𝑗-th v-node is denoted by 𝑋
𝑖𝑗
and the edge to
the 𝑖-th c-node is denoted by 𝑌
𝑖𝑗
; and 4) all edges (variables)
connecting to the 𝑗-th v -node must take identical values and
all edges (variables) connecting to the 𝑖-th c-node must add
up to zero.
B. Iterative Message Processing/Passing Algorithms
A message associated with a discrete variable is defined
as its pro bability mass function (pmf) here. For example, a
message associated with a random variable 𝑋 over 𝔽
𝑞
can
be represented by a real vector 𝑃
𝑋
(𝑥),𝑥 ∈ 𝔽
𝑞
.Let𝑋 be
a random variable corresponding to the edge connecting two
vertices 𝒜 and ℬ. We use the notation 𝑃
(𝒜→ℬ)
𝑋
(𝑥),𝑥∈ 𝔽
𝑞
to
indicate the direction of the message flow.
To describe the algorithm more clearly, we introduce a basic
rule for message processing at an arbitrary node. Let 𝒜 be a
node connecting to ℬ
𝑗
with random variables 𝑍
𝑗
defined over
𝔽
𝑞
(0 ≤ 𝑗 ≤ 𝑑 − 1), as shown in Fig. 1(b). Assume that
0090-6778/12$31.00
c
2012 IEEE