An Iterative Soft-Decision Decoding Algorithm For Reed-Solomon Codes

You might also like

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

2017 IEEE International Symposium on Information Theory (ISIT)

An Iterative Soft-decision Decoding Algorithm for


Reed-Solomon Codes
Huang-Chang Lee†‡ , Jyun-Han Wu∗ , Chung-Hsuan Wang§ , and Yeong-Luh Ueng∗¶ , Senior Member, IEEE
∗ Dept. of Electrical Engineering, National Tsing Hua University, Hsinchu, Taiwan, R.O.C.
† Dept. of Electrical Engineering, Chang Gung University, Taoyuan City, Taiwan, R.O.C.
‡ Dept. of Neurological Surgery of Chang Gung Memorial Hospital, Taoyuan, 33302, Taiwan.
§ Dept. of Electrical and Computer Engineering, National Chiao Tung University, Hsinchu, Taiwan, R.O.C.
¶ Institute of Communications Engineering, National Chiao Tung University, Hsinchu, Taiwan, R.O.C.

Abstract—This paper proposes an iterative soft-decision de- matrix. In order to limit the accumulation of decoding message
coding algorithm for Reed-Solomon (RS) codes. The proposed correlations, the magnitude of the decoding message is scaled
decoding algorithm combines the concepts of adapting the down using a damping coefficient, and the ADP algorithm
parity-check matrix and informed dynamic scheduling decoding.
The parity-check matrix is re-arranged before each iteration, is adopted to modify the parity-check matrices using row
where the systematic part is mapped to the least reliable bits, operations before the next iteration.
consequently reducing their influence on the other bits. Using Using the ADP algorithm, the received code bits are sorted
dynamic scheduling, the more important decoding messages are according to their reliability, and the least reliable bits are
updated to these least reliable bits, meaning that the majority mapped to the systematic part of the binary image matrix. This
of the error bits with low reliability can be corrected. When the
proposed integrated decoding is applied to (255, 239) RS code, means that in the corresponding bipartite graph, the variable
the difference between its frame error rate performance (FER) nodes representing these least reliable bits are connected to
and the maximum-likelihood (ML) bound can be reduced to 0.8 only one check node, and the influence of the unreliable
dB, and a gain of about 0.1 dB is achieved compared to all the messages from these least reliable variable nodes (LRVNs) can
previously recorded soft-decision decoding for RS codes. be minimized. The decoding messages to be used by the ABP
Index Terms—error-control codes, Reed-Solomon codes, soft- algorithm are propagated by following a flooding schedule,
decision decoding, belief propagation, informed-dynamic schedul- meaning that the number of messages updated to each variable
ing. node is equal to the number of neighboring check nodes,
and the degree-1 LRVNs are only updated once in a single
I. I NTRODUCTION iteration. It can be expected that if these LRVNs are updated
more often, the received vectors can be correctly decoded with
Among linear block codes with the same code length and a higher probability.
code rate, Reed-Solomon (RS) codes are able to achieve the In order to update the degree-1 LRVNs more than once in
largest possible minimum distance, and have become one each iteration, a double-polling residual BP (DP-RBP) decoder
of the most popular error-correcting codes used for many is proposed in this paper, where the selection of updated
applications [1]-[3]. Although the algebraic hard-decision de- decoding messages is based on the idea of informed dynamic
coding (HDD) algorithm can provide practical performance, scheduling (IDS) [4]. A variety of IDS decoders have been ap-
the potential of the error-correcting capabilities of RS codes plied to LDPC codes [4]-[6], and a significant improvement in
without the need to introduce soft information has not yet been error-rate performance has been achieved. Since the DP-RBP
thoroughly explored, and several researches focus to the soft is applied to the high-density binary image matrices rather than
decision decoding algorithms of RS codes [7]-[10]. the sparse parity check matrices for LDPC codes, the ADP
Iterative belief propagation (BP) is one of the most pop- algorithm is still adopted in order to sort the reliability of the
ular soft decision decoding schemes for low-density parity- variable nodes. By using the DP-RBP decoder, the opportunity
check (LDPC) codes, but cannot be directly applied to RS for each decoding message to be updated is different, and
codes because of the high-density parity-check matrices. The the important messages can be propagated more often. The
correlation between the decoding messages increases rapidly importance can be measured according to a metric known as
after a few iterations and restrict the convergence abilities. In the “residual”[4], and the number of decoding messages that
order to mitigate the correlation, adaptive belief-propagation are updated to the LRVNs is no longer limited by the degree.
(ABP) decoder [8] combines iterative BP with the adaptive Besides the introduction of the dynamic scheduling, DP-
parity check matrix (ADP) algorithm. The non-binary parity- RBP also removes the damping coefficient from the ABP.
check matrix of RS code is first transferred to the binary image The decoding messages processed in a single iteration no
longer need to be scaled down, and the log-likelihood ratio
This work is supported in part by the Ministry of Science and Technology
of the R.O.C. under grants MOST 103-2221-E-007-025-MY3, MOST 103- (LLR) values accumulated on the variable nodes are reset to
2221-E-009-046-MY3 and MOST 105-2218-E-182-002 their channel values before the next iteration. In other words,

978-1-5090-4096-4/17/$31.00 ©2017 IEEE 2775


2017 IEEE International Symposium on Information Theory (ISIT)
2

the accumulated LLR values are only used by the ADP for    
sorting only, and will not be maintained for the next iteration.    
   

The effect of the correlations between the decoding messages ௟
is limited in a single iteration. Simulation results show that, ‫ݒ‬ଵ௟ ‫ݒ‬ଶ௟ ௟
‫ݒ‬௡ି௞ ௟
‫ݒ‬௡ି௞ାଵ ௟
‫ݒ‬௡ି௞ାଶ ‫ݒ‬௡ିଵ ‫ݒ‬௡௟
with the more fair assignment of decoding resources and the
reset operation, a significant improvement in the error-rate
performance is achieved using the DP-RBP decoder. When
the proposed DP-RBP decoder is applied to (255, 239) RS
code, the difference between the maximum-likelihood (ML)
bound and the frame error rate (FER) can be narrowed to
about 0.8dB. Compared to the best soft-decision decoding for
RS codes proposed in previous work, an improvement of about
0.1 dB can be achieved. ܿଵ ܿଶ ܿ௡ି௞

II. P RELIMINARY
Fig. 1. The bipartite graph corresponding to the parity check matrix modified
A. RS Codes and their Binary Image using the ADP algorithm.
Let a primitive element in a GF(2m ) be denoted as β, for
an (N, K) RS code over GF(2m ). Its parity-check matrix can
form an identity matrix, i.e., the systematic part of the binary
be expressed as:
⎛ ⎞ image matrix, the corresponding LRVNs are then connected
1 β ... β N −1 to only one check node.
⎜1 β2 ... β 2(N −1) ⎟ Fig. 1 shows an example of the Hlb matrix after the l-th
⎜ ⎟
Hs = ⎜ . . .. .. ⎟, (1) iteration, and the corresponding v l is a reordered version of
⎝ .. .. . . ⎠
v. The components vjl in v l for j ∈ {1, 2, · · · , n} are sorted
1 β δ−1 ... β (δ−1)(N −1)
according to their reliability. In Fig. 1, |Ll (v1l )| ≤ |Ll (v2l )| ≤
and the minimum distance for this (N, K) RS code is δ = · · · ≤ |Ll (vnl )|, where Ll (vjl ), is the LLR value of the j-th
N − K + 1. If a symbol for an RS code over a GF(2m ) is variable node after the l-th iteration, and j ∈ {1, 2, · · · , n}.
made up of m bits, then the parity-check matrix Hs for the The first (n − k) variable nodes are mapped to the systematic
(N, K) RS code can be transferred to the binary image [8]. part of Hlb . The sum-product algorithm (SPA) is used to
The size of Hb is (n − k)-by-n, where n = N × m and generate the decoding messages from:
k = K × m. The binary image parity-check matrix Hb can be 
expressed using a bipartite graph that has n − k check nodes Lvj →ci = mca →vj + Lvj , (2)
ca ∈N (vj )
and n variable nodes.
A codeword of an (N, K) RS code contains n = N × m Lvb →ci
bits and can be represented as v = [v1 , v2 , . . . , vn ], where mci →vj = 2tanh−1 ( tanh( )), (3)
2
j = 1, 2, . . . n and vj ∈ {0, 1}. Assume that the codeword bits vb ∈N (ci )\vj

are transmitted using BPSK modulation through the AWGN where vb ∈ N (ci ) \ vj denotes all the variable nodes
channel, then the received vector can be represented as y = neighboring to ci , except for vj . The variable-to-check node
(−2v+1)+w, where w = [w1 , w2 , . . . , wn ] is the noise vector, (V2C) messages and check-to-variable (C2V) messages are
and wj is a Gaussian random variable with a zero mean and respectively generated according to (2) and (3). The initial
a variance σ 2 , yj denotes the j-th component of the received values of the V2C messages from the j-th variable node is
vector y. In the initial state, the LLR of the j-th variable node equal to the LLR value, i.e., Lvj →ci = L0 (vj0 ).
P (v =0|y )
is evaluated as L0 (vj ) = log P (vjj =1|yjj ) , and is also called the After l iterations, the LLR value
of the i-th variable node
channel value of the j-th variable node. is denoted as Ll (vil ) = Lvj + α ca ∈N (vj ) mca →vj , where
0 < α < 1 is a damping coefficient [8]. After the maximum
B. The ABP algorithm number of iterations is reached, the binary decoding results can
be derived by applying a hard decision to the LLR values.
The binary image matrix Hb contains high density non-zero
If the hard-decision result is unable to satisfy all the check
elements, its corresponding bipartite graph contains a large
nodes in the binary image matrix, then conventional non-
number of short cycles, and the correlation between messages
binary algebraic decoding can be used to obtain the final
increases rapidly after a small number of iterations. The
decoding results for the RS codes.
ADP algorithm is embedded in the ABP decoder [8] used to
modify the binary image matrix, as well as the corresponding
bipartite graph, meaning that the correlation between decoding III. P ROPOSED D OUBLE - POLLING RBP SELECTION
messages can be mitigated after each iteration. The variable When the received vector is decoded using the iterative
nodes are first sorted based on their reliability according to the BP algorithm, it is more likely to be correctly decoded if
magnitude of the LLR values. Using elementary row operation, sufficient decoding messages that have a high reliability are
the first (n − k) columns of the modified parity check matrix collected by all variable nodes. Based on this concept, any

2776
2017 IEEE International Symposium on Information Theory (ISIT)
3

variable nodes that have a low reliability should be updated Suppose that when using the ADP algorithm, the binary
more often. In contrast, any decoding messages from these image matrix Hlb illustrated in Fig. 1 is obtained prior to
low-reliability variable nodes should be considered suspicious, the (l + 1)-th iteration. The selection of the variable nodes
and their propagation should be limited, or the convergence of begins from the node with the lowest reliability. Since the
the decoding process may be inhibited. LRVNs are mapped to the systematic part, then all check
The ABP decoder successfully constrains the propagation of nodes update a single C2V message once the LRVNs have
unreliable decoding messages by mapping the LRVNs to the been selected during each cycle. In contrast, those check nodes
systematic part of the binary image matrix, where only one neighboring the MRVNs update the C2V message alternately.
check node can be used to generate the decoding message Each updated message is selected as the messages with the
for each LRVN. However, since the decoding messages from maximum C2V residual among the connected check nodes,
the ABP are propagated by following a flooding schedule, and the high-degree check nodes, i.e., those with a large
each LRVN can be received using only a single C2V message number of neighboring variable nodes, have more opportunity
in each iteration. In other words, when the influence of the to propagate their C2V messages.
LRVNs on the other MRVNs is minimized, the possibility that Suppose that the j-th variable node received the updated
their reliability can be increased is also reduced. C2V message, the V2C messages for the i-th check node can
In order to enable the LRVNs to receive more updates then be generated as:
while simultaneously limiting their unreliable influence, the 
schedule of the decoding message update can be completed Lvj →ci = mca →vj + Lvj . (4)
using an IDS decoder, where the update sequence are arranged ca ∈N (vj )\ci

according to a predetermined metric, and only the important It is worth noting that equations (2) and (4) are different in
messages are selected to be updated. Since the reliability of the that C2V message from the i-th check node is excluded when
variable nodes is related to the C2V messages, the C2V resid- the V2C message is generated in the DP-RBP decoder using
ual can be considered as a suitable metric for decoding the RS (4).
codes. The C2V residual was first included in the RBP decoder A posteriori probability (APP) values
are evaluated by
described in [4], which is defined as the absolute value of the DP-RBP decoder as Ll (vil ) = Lvj + ca ∈N (vj ) mca →vj .
difference between the current C2V value and the C2V value where the C2V messages are directly updated to the variable
about to be updated, i.e., rC2V (i, j) = |mpre ci →vj − mci →vj |, node without the need for scaling down using the damping
where mpreci →vj is the pre-computation of the next update. The coefficient. Once the number of updated C2V messages is
pre-computation can be generated by using (3). equal to the number of edges in the bipartite graph, the (l +1)-
In this work, the comparison of the C2V residual will take th iteration is complete, the ADP algorithm resorts the order
place between the C2V messages generated on a single check of the variable nodes based on their APP values, and a new
node only. Since according to (3), the messages generated on binary image matrix Hl+1 b is constructed for the next iteration.
the same check node use the same set of variable nodes, The reliability for all variable nodes is reset to the initial LLR
the comparison between them can be fairer. In addition, values before the next iteration begins. In other words, the
the C2V messages generated on different check nodes may APP values accumulated in the previous iterations are used to
be correlated since the high-density binary image matrix is modify the binary image matrix, and the correlation between
derived from the parity-check matrix for the RS codes. This the decoding messages is limited within a single iteration.
comparison can be misleading when considering a scheduling
arrangement.
The arrangement of the schedule must be focused on those IV. P ERFORMANCE E VALUATION
variable nodes that directly affect the final decoding results. The FER performance when the DP-RBP decoder is applied
In a single iteration, the variable nodes are selected following to (31, 25) and (63, 55) RS code is shown in Figs. 2 and
the sort order that was generated using several cycles of the 3, respectively. The ADP algorithm is processed by the ABP
ADP algorithm. In the p-th cycle, when the j-th variable (20,3) 20 times in order to modify the binary image matrix
node is identified, the comparison of the C2V residual with modification, and 3 iterations are completed before the matrix
its p-th neighboring check node take place. After the C2V is changed again. This means that total of 60 iterations are
message with the maximum residual from the p-th check node performed by the ABP (20,3) decoder. When using the same
neighboring to the j-th variable node is updated, the decoding number of iterations for both codes, the DP-RBP decoder can
operation switches to the p-th check node neighboring to the provide a gain of about 0.2 dB at an FER of 10−4 compared
j + 1-th variable node. Only a single message is updated from to the ABP (20,3) decoder, the DP-RBP decoder. Moreover,
each check node in each C2V residual comparison operation. a near ML performance can be achieved when using the
This process can be regarded as a form of polling between proposed DP-RBP decoding based on 60 and 480 iterations
the check nodes that is inserted in a polling operation that is for (31, 25) and (63, 55) RS codes, respectively.
performed between the variable nodes, which, consequently, Fig. 4 shows that, when the DP-RBP decoder is applied to
inspires the name “double-polling” RBP (DP-RBP). A more (255, 239) RS code, the ML bound cannot be approached
detailed description of the DP-RBP decoder is presented in using the DP-RBP decoder alone, even if 4000 iterations
Algorithm 1, , where the “double-polling” operation can be are available, and the gain is marginal compared to the
observed in Step 4. ABP (80,50) decoder, which performs the same number of

2777
2017 IEEE International Symposium on Information Theory (ISIT)
4

Algorithm 1 Iterative Decoding Algorithm by DP-RBP


Step 1 : Initialization: Set the size of the binary image Hb
to be (n − k) × n, set the iteration index l = 0 and the LLR
values from the channel observation: L0 = σ22 y
Step 2 : Adapt the parity check matrix by using the ADP
algorithm, and obtain Hlb for the next iteration.
Step 3 : Set the cycle index p = 1, and set the variable
node index j = 1, j = 1, 2, . . . n.
Step 4 : Begin the polling of the DP-RBP decoding:
a) For the i-th check node, compute all rC2V (i, j) values,
and record the index of the node with the maximum
value. i = |N (vj )| mod p.
b) Update the C2V value for the node with the maximum
value and then update the related V2C values.
c) j = (j + 1). if j > n, p = p + 1 and j = 1, begins
the next cycle.
Step 5 : Repeat Step 4 until the total number of updated Fig. 3. The FER performance for (63,55) RS code.
C2V messages is equal to the number of 1s in Hlb .
Step 6 : Perform a hard decision and apply conventional 10 0 Algebraic HDD
non-binary algebraic hard decision decoding. KV(100) [9]

Step 7 :If all check nodes are satisfied, output the results. ABP(60,1) [8]
BMA [7]
Else if l = lmax , declare a decoding failure. 10 -1
ABP,(80,50) [8]
DP-RBP,iter=4000
Else set l = l + 1 and return to Step 2 to begin another ML lower bound
iteration.
10 -2
FER

10 -3

10 -4

4 4.5 5 5.5 6 6.5 7 7.5 8 8.5


Eb/N0(dB)

Fig. 4. The FER performance for (255,239) RS code.

10 0
(127,107)ABP (80,50)
(127,107)DP-RBP,iter=60
(127,107)DP-RBP,iter=4000
(127,121)ABP (80,50)
10 -1
(127,121)DP-RBP,iter=60
(127,121)DP-RBP,iter=4000
Fig. 2. The FER performance for (31,25) RS code.
10 -2
FER

iterations. This implies that improvement in the error-rate


performance is negligible when using additional iterations. 10 -3
Fig. 5 is used to illustrate the performance of DP-RBP
decoder when it is applied to (127, 121) and (127, 107) RS
codes. A total of 42 and 120 check nodes are respectively 10 -4

contained in the binary image matrices of the same length


(127, 121) and (127, 107) RS codes at different rates. 10 -5

3 4 5 6 7 8 9
V. C ONCLUSION Eb/N0 (dB)

In this work, a DP-RBP decoder has been devised. The


dynamic scheduling DP-RBP decoder is able to efficiently Fig. 5. The FER performance for (127,121) and (127,107) RS codes.
correct any erroneous bits that have a low reliability. When
the DP-RBP decoder decoder is applied to RS codes, a gain

2778
2017 IEEE International Symposium on Information Theory (ISIT)
5

in FER performance of more than 0.1 dB can be provided


compared to the best results achieved by the RS decoders
reported in the prior literature. For the popular (255, 239)
RS code, an FER performance that approaches to only 0.8 dB
away from the ML bound has been achieved.

R EFERENCES
[1] E. R. Berlekamp, R. E. peile, and S. P. Pope, “The application of error
control to communications,” IEEE Commun. Mag., vol.25, pp. 44-57,
1987.
[2] E. R. Berlekamp, J. Shifman, and W. Toms, “An application of Reed-
Solomon codes to a satellite TDMA system,” MILCOM’86, Monterey,
CA.
[3] B. C. Mortimer, M. J. Moore, and M. Sablatash, “The design of a high-
performance error-correcting coding scheme for the Canadian broadcast
telidon system based on Reed-Solomon codes,” IEEE Trans. Commun.,
vol. COM-35, pp. 1113-1138, 1987.
[4] A. V. Casado, M. Griot, and R. Wesel, “LDPC decoders with informed
dynamic scheduling,” IEEE Trans. on Commun., vol. 58, no. 12,
pp. 3470-3479, Dec. 2010.
[5] H.-C. Lee, Y.-L. Ueng, S.-M. Yeh, and W.-Y. Weng, “Two informed
dynamic scheduling strategies for iterative LDPC decoders,” IEEE Trans.
on Commun., vol. 61, no. 3, pp. 886-896, Mar. 2013.
[6] H.-C. Lee and Y.-L. Ueng, “LDPC decoding scheduling for faster
convergence and lower error floor,” IEEE Trans. on Commun., vol. 62,
no. 9, pp. 3104-3113, Sept. 2014.
[7] M. P. C. Fossorier and A. Valembois, “Reliability-based decoding of
Reed-Solomon codes using their binary image,” IEEE Commun. Lett.,
vol. 7, pp. 452454, Jul. 2004.
[8] J. Jiang, K. R. Narayanan, “Iterative soft-input soft-output decoding of
Reed-Solomon codes by adapting the parity-check matrix,” IEEE Trasn.
Inf. Theory, vol. 52, no. 8, 2006.
[9] W. J. Gross, F. R. Kschischang R. Koetter, and P. G. Gulak, “Applications
of algebraic soft-decision decoding of Reed-Solomon codes,” IEEE
Trans. Communi., vol. 54, no. 7, pp. 1224-1234, Jul. 2006.
[10] H. Tang, Y. Liu, M. P. C. Fossorier, and S. Lin, “Combining Chase-2 and
GMD decoding algorithms for nonbinary block codes,” IEEE Commun.
Lett., vol. 5, no. 5, pp. 209-211, May 2000.

2779

You might also like