Table Of ContentIterative LDPC decoding using neighborhood
reliabilities
Valentin Savin
CEA-LETI, MINATEC, 17 rue des Martyrs, 38054 Grenoble, France
[email protected]
Abstract—Inthispaperwestudytheimpactoftheprocessing • βm,n, is the check-to-variable message from m to n.
order of nodes of a bipartite graph, on the performance of an
7 Theanalysisofiterativedecodersisgenerallyachallenging
iterative message-passing decoding. To this end, we introduce
0 task. This is mainly due to cycles appearing in the Tanner
the concept of neighborhood reliabilitiesof graph’s nodes. Nodes
0 reliabilities are calculated at each iteration and then are used graph, which depreciate the extrinsic nature of the exchanged
2
to obtain a processing order within a serial or serial/parallel information. One approach that is less sensitive to graph’s
n scheduling. The basic idea is that by processing first the most cycles is the use of computation trees associated with the
a reliable data, the decoder is reinforced before processing the
decoding process [4]. Fix some variable node n and consider
J less reliable one. Using neighborhood reliabilities, the Min-Sum
5 decoderofLDPCcodesapproachestheperformanceoftheSum- the a posteriori information γ˜n. By examining the updates
1 Product decoder. that have occurred, one may recursively trace back through
time the computation of γ˜n. This trace back will form a tree
] I. INTRODUCTION graph rooted at n and consisting of interconnected variable
T
and check nodes in the same way as in the original graph,
I Low density parity check codes can be iteratively decoded
. but the same variable or check nodes may appear at several
s using a parallel, serial or mixed (serial/parallel) scheduling.
places in the tree. The fundamental observation is that the
c Theparallelschedulingconsistsin processingall checknodes
[ computationtreedoesnotdependonlyontheTannergraphor
oftheassociatedTannergraphandthenupdateallvariable-to-
theschedulingtypebutalsoontheupdatingorder.Thesuccess
1 check messages. The serial scheduling may apply to variable
v or check nodes. Applied to check nodes, it consists in pro- of decoding the variable node n depends on the reliability of
1 the information conveyed through the computation tree.
gressively processing each check node and updating outgoing
9 Let us be more specific. Thereafter we assume that the
variable-to-checkmessages from all variable nodes connected
0
all-zero codeword is transmitted through the channel (for
1 to the processed check node. Equivalently, each check node
symmetric channels this assumption does not induce any loss
0 processingisprecededbytheupdateoftheincomingvariable-
7 to-check messages. The mixed scheduling can be described of generality). We also assume that the 0 bit corresponds to
0 a positive information. Let T denote the computation tree
as a serial scheduling applied to groups of check or variable
/ of γ˜ – the variable node n will remain fixed through this
s nodes,whichperformsaparallelschedulinginsideeachgroup n
c section. We also note by P and Q the sets of variable and
of nodes. Several serial or mixed schedules where proposed
:
v in the literature [1], [2], [3], [5]. The only advantage of respectively check nodes of T. The set P has a distinguished
i element,namelythetree’sroot,whichwillbestilldenotedby
X the serial scheduling reported in the literature is that the
n.AT-codewordisavector(x ) satisfyingallconstraints
decoding algorithm converges about twice faster as when the p p∈P
r
a parallel schedulingis used [3], [5]. Due to this fact, the serial correspondingto check nodesq ∈Q. Its multiplicity vector is
an integer-valuedvector ([x] ) , where [x] is the number
scheduling also performs better than the parallel scheduling k k∈N k
of variable nodes p ∈ P, corresponding to the variable node
when a very small number of iterations, e.g. 10 iterations, is
k ∈N, such that x =1.
used [1], [5]. p
We recall (see [4]) that a T-codeword (x ) such that
Inthispaper,wefocusontheimpactofdifferentscheduling p p∈P
x = 1 is called a minimal deviation if it does not cover
schemesonthedecoderperformance,assumingalargenumber n
any other nonzero T-codeword. In [4], theorem 4.2, it is
of iterations. By concern of brevity, the paper addresses only
provedthatwhen the Min-Sum decodingisused, a necessary
the case of binary LDPC codes, but the presented results also
condition for a decoding error (on bit n) to occur is that for
apply to non-binary codes. We fix the following notations:
some minimal deviation x we have:
• H is a Tanner graph comprising N variable nodes and M
check nodes,
[x] γ ≤0 (1)
• N ={n|1≤n≤N} is the set of variable nodes, X k k
k∈N
• M={m|1≤n≤M} is the set of check nodes,
• γ and γ˜ are the a priori, respectively a posteriori, infor- Obviously, the probability that such an inequality holds
n n
mation available at the variable node n, increaseswhenthe computationtree containsseveralcopiesp
• α is the variable-to-check message from n to m, of some unreliable variable nodes k; that is, when there exist
m,n
minimal deviations x having large [x] for variable nodes k nextiteration,unverifiedchecknodesareprocessedfirst,many
k
with γ ≤0. copies of such minimal deviations will appear as subtrees of
k
For a serial or mixed scheduling, check nodes that are differentaposterioriinformationcomputationtrees.Therefore,
processed first and consequently, variable nodes connected such a processing order would increase the probability of
to them, have a large number of copies appearing in the minimal deviations satisfying (1) to appear in computation
computation tree. From the above discussion, we conclude trees at iteration l +1. Here, we also use the fact that any
that the decoder should process first the most reliable check minimaldeviationofa subtreeextendstoa minimaldeviation
nodes.Forthis,wehavetospecifywhatareliablechecknode oftheglobaltree(thiscanbeeasilyderivedusingtherecursive
shouldbe.Intuitively,thereliabilityofachecknodeshouldbe construction of minimal deviations described in section III).
a measure of the reliabilities of variable nodes connected to
it or, more involved, a measure of the reliabilities of variable A. Examples
nodeslocatedinsomeneighborhoodofaspecifieddepth.This
We restrict ourself only to reliability functions for check
willbeformalizedinthefollowingsectionwhereweintroduce
nodes. In order to obtain better reliability functions, we have
neighborhood reliabilities. However, it should be clear that
to consider deeper neighborhoods. Obviously, increasing the
anyhow we will define the reliability of a check node, its
neighborhoodsdepth,resultsinanincreasedcomplexityofre-
estimation should be updated at each iteration, rather than be
liabilities computationand can create problemswith handling
computed only once before starting decoding.
the cycles of the Tanner graph. In practice, depth-2 reliability
II. NEIGHBORHOOD RELIABILITIES functions seem to be a good compromise. We define a real-
valued, depth-2, check nodes reliability function, f(m), as
The depth-d neighborhood of a node π of H, denoted by
V(d), isthesetofnodeswhosedistancetoπ islowerorequal follows. First, we define f′(m) to be the sum of reliabilities
π ofthe softinformationavailable atthe unverifiedchecknodes
to d.
m′ ∈V(2)\{m}; so, assuming the graph is 4-cycle free, we
Whenamessagepassingiterativedecodingexchangesmes- m
have:
sages along the edges of the Tanner graph, we consider that
the following soft information is available at graph’s nodes:
• theinformationavailableatvariablenodes,whichconsists f′(m)= |β |
of the a priori information, the a posteriori information and X X m′,n
the variable-to-checkmessages, n∈H(m)m′∈σHm(′n=)\1{m}
• the information available at check nodes consisting of
Asdiscussedabove,theonlycircumstancewhenwecandetect
check-to-variable messages.
an unreliable information conveyed through a check node is
Moreover,ateachiterationandforeachvariablenoden,ahard
when the check node is unverified. That explains why we
bit s is computed according to the a posteriori information
n consider only unverified check nodes in the above definition.
γ˜n. For each check nodem we also consider the parity check Thus, the function f′(m) gives an extrinsic measure of the
value σ = s ∈ {0,1} (sum mod 2). This value
m M n unreliability, rather than the reliability, of a check node m.
n∈H(m) Thismeansthatachecknodem ismorereliablethanacheck
constitutes the hard information available at the check node 1
node m if f′(m ) < f′(m ). To prevent that an unverified
m. The check node m is said to be verified if σ =0. 2 1 2
m check node m be more reliable than a verified check node
Definition 1: We call neighborhood reliability of depth d, 1
m ,wedefinethefunctionf(m)takingintoaccountbothσ
or simply reliability of depth d, a function associating to any 2 m
and f′(m), as follows:
node π a real value depending on the information available
at nodes τ ∈Vπ(d) and that is used to determine a processing f(m)=(σm,f′(m))
order during a message passing iterative decoding.
When nodes π from the above definition are only either of Consequently, we say that a check node m1 is more reliable
check or variable type, we speak about reliability functions than a check node m if σ < σ (thus, m is verified
2 m1 m2 1
for check, respectively variable, nodes. while m is not) or if σ = σ and f′(m ) < f′(m ).
2 m1 m2 1 2
Wenoticethattheamplitudeofasoftinformationrepresents This correspondsto the lexicographicalorder between f(m )
1
a measure of its reliability. The hard information σ can be and f(m ). In this case, check nodes can be processed using
m 2
usedtodetectwhenevernonaccurateinformationisconveyed a serial (or mixed) scheduling, starting with the most reliable
through the graph. Let us detail this point. Let m be an check node(s) and ending with the less reliable one(s).
unverified check node; meaning that σ = 1 after a certain As we will explain shortly, integer-valued functions con-
m
number, say l, of iterations of the Min-Sum decoding. Using siderable reduce the use cost of neighborhood reliabilities.
the all-zero codeword assumption, it follows that there is a Therefore, we propose an integer-valued reliability function
variablenoden∈H(m)suchthatγ˜ <0(weassumethatthe f¯(m), as an alternative to the real-valued function defined
n
0bitcorrespondstoapositiveinformation).Fromthetheorem above. First, for each check node m and variable node n ∈
4.2 in [4], it follows that, at iteration l, the computation tree H(m) we define σ as a flag indicating whenever there
m,n
of γ˜ contains a minimal deviation satisfying (1). If, at the are or not unverified check nodes m′ ∈ H(n)\{m}. That is
n
σ =0 if σ =0 for all m′ ∈H(n)\{m} and σ =1
m,n m′ m,n
otherwise. Then, we define f(m) as follows:
f¯(m)=σ (dc +1)+ σ
m max X m,n
n∈H(m)
where dc is the maximum check degree. We note that the
max
sum σ incrementsthevalueoff¯(m)by1foreach
X m,n
n∈H(m)
variable node n ∈ H(m) that is connected to at least one
unverified check node, other than m. The minimum of this
sum is 0 and it is obtained if all check nodes (except m)
located in the depth-2 neighborhood of m are verified. Its
maximum is equal to dc and it is obtained if all variable
max
nodesn∈H(m)areconnectedtoatleastoneunverifiedcheck
Fig.1:Iterative decodingusingareal-valued reliability function
node, other than m. Thus, we declare a check node m more
1
reliable than a check node m if f¯(m ) ≤ f¯(m ). The role 2) Integer-valued function: Let f¯ be an integer-valued
2 1 2
of the term σ (dc +1) is to make sure that a verified check reliability function. Obviously, the principle described in the
m max
node will always be declaredmore reliable than an unverified abovesectionalsoappliesinthissituation.Nonetheless,using
one. Precisely, we have f¯(m)∈{0,...,dc } if m is verified integer-valuedfunctions,onecanavoidsortingthesetofcheck
max
and f¯(m)∈{dc +1,...,2dc +1} if it is not. nodes and, thus, eliminate the additional complexity of this
max max
operation. Precisely, that is done by partitioning the set of
B. Use of neighborhood reliabilities
checknodesaccordingtotheirreliabilities.We denotebyf
min
As in the above section, we consider only reliability func-
and f the minimum, respectively the maximum, of check
max
tions for check nodes. The description below also applies
nodereliabilities.Foreachf ∈{f ,...,f }wedefineC
min max f
to reliability functions for variable nodes, by reversing the
tobethe setofchecknodesofreliabilityf.Then,wecanrun
roles of variable and check nodes. We distinguish two cases,
the iterative decoding using:
accordingtowhetherthe reliabilityfunctionis realor integer-
• A serial scheduling. In this case, check nodes are ordered
valued.
according to their reliabilities and the order of check nodes
1) Real-valuedreliabilityfunctions: Theprincipleofames-
inside each subset C is random.
sage passing decoding using a real-valued reliability function f
• A mixed scheduling, with fixed decoding parallelism p,
f, is represented at figure 1. As usually, it consists in an
by partitioning the ordered set of check nodes in groups of p
initializationstepfollowedbyseveraliterationsteps,eachone
check nodes
of which includes:
• A mixed scheduling, with variable decoding parallelism.
• Amodulethatcomputesthereliabilityf(m)ofeachcheck
In this case the subsets C are serially scheduled and inside
f
nodem.Thesetofchecknodesissortedaccordingtothecom-
each subset C the check nodes are processed in parallel.
f
puted reliabilities, starting with the most reliable check node
More details can be found in section IV, where an integer-
and endingwith the less reliable one.This may correspondto
valued reliability function is integrated to the Min-Sum de-
decreasing(asinfigure1)orincreasinginequalitiesaccording
coding of LDPC codes.
towhetherthereliabilityfunctionmesuresthereliabilityorthe
unreliability of a check node. III. CUTTING BACK THECOMPUTATION TREE
• A processing loop of variable and check nodes. The or-
InsectionIweexplainedhowtheprocessingorderofcheck
deredsetofchecknodesisprocessedusingaserialscheduling.
nodes affects minimal deviations of computation trees and
Therefore, each check node processing is preceded by the
therefore impacts the decoding performance. That motivated
update of the incoming variable-to-check messages.
the introduction of neighborhood reliabilities in section II.
Obviously, appropriate changes can be brought to the above
In this section we show that it is possible to force minimal
description,dependingonthe implementationofthe decoding
deviations to pass through reliable nodes of the computation
algorithm and the reliability function:
tree.
• Thecomputationoftheaposterioriinformationcanalsobe
Let T be the computation tree of some a posteriori infor-
integrated into the processing loop. This is actually desirable
mation, after L iterations of the decoding algorithm. Each
when variable-to-check messages can be easily derived from
edge of the tree corresponds to a message sent from the
the a posteriori information.
incident bottom node to the incident top node during one
• Theorderedsetofchecknodescanbepartitionedingroups
of the iterations 1,...,L. We denote by T the subgraph
l
ofpchecknodesandamixedschedulingmaybeused,starting
comprisingalledges(andincidentnodes)correspondingtothe
withthefirstgroupofpmostreliablechecknodesandending lth iteration. Then T is a subtree of T while, for l<L, T is
L l
withthegroupofplessreliableones.Inthiscase,wesaythat
asubgraphcomprisingseveraldisjointsubtrees.Leafnodesof
the decoding parallelism is equal to p.
T, which will be also called iteration leaf nodes, correspond
l
the one transmitted during the (l−1)th iteration at the time
whenchecknodemhasbeenprocessed.Wecallthisoperation
cuttingback.Now,weremarkthatpisaniterationleafnodeif
and only if m is the first processed check node(at iteration l)
between all the check nodes in H(n). Therefore, when the
iteration starts, each variable node n may potentially have
iteration leaf copies p in differentcomputation trees in which
it appears. During the iteration, each time a check node m
has been processed, variable nodes in H(m) cannot anymore
haveiterationleafcopiesinanycomputationtree.Thiscanbe
easily implemented as explained in the next section.
Summarizing the above discussion, we can derive the fol-
lowing proposition. A check node of T is called a final
Fig.2:Computation tree
check node if all its child variable nodes are leaf nodes of
necessarily to variable nodes. Root nodes of subtrees of Tl−1 T (consequently, it has no descendent check nodes).
correspond to variable nodes that are both in Tl and Tl−1, as Proposition 2: Let T be the computation tree of some a
illustrated in figure 2. posteriori information computed using a reliability function
Reconsidering notations from section I, let (xp)p∈P be a and the cutting back operation. Let X be a minimal subtree
minimal deviation of T. The support of (xp)p∈P, denoted by of T and q a check node of X. If q is not a final check node
X, is by definition the subtree of T constituted of variable of T, then it has at least one more reliable descendent check
nodes p such that xp =1 and check nodes q connected to at node in X.
least one such a variable node. In fact, du to the minimality
IV. MIN-SUMDECODERIMPLEMENTATIONUSING
of the deviation(x ) , it is quite simple to provethat each
p p∈P
NEIGHBORHOOD RELIABILITIES
checknodeq ∈X hasa uniquechildvariablenodeinX (and
of course a unique variable parent node). Such a subtree will The reliability functions from section II-A were integrated
be called minimal subtree of T. Obviously, there is a one-to- totheMin-SumdecoderofLDPCcodes.Inpractice,theMin-
onecorrespondancebetweenthesetofminimaldeviationsand Sum decoder using any one of these functions performs very
the set of minimal subtrees. Minimal subtrees, thus minimal closetotheSPAdecoder.Wealsoobservedthatthereal-valued
deviations of T, can be recursively constructed as follows: function f induces only a slight performance improvement
with respect to the integer-valued function f¯. Therefore, in
Step 0. Add the root variable node of T to X.
this section we focus on the implementation of the Min-Sum
Step i, (i>0). For each variable node added to X at step
decoding using the integer-valued function f¯, which has a
i−1, add all its child check nodes to X. For each such a
lower complexity. Nonetheless, we present simulation results
check node, choose a variable child node and add it to X.
for both integer and real-valued functions.
Let q be a check node of X and assume that q ∈ T for
l
Initialization step. We initialize the a posteriori information
some iteration l ∈ {0,...,L}. Let p be the unique child
γ˜ =γ and the check-to-variable messages β =0.
variablenodeofq inX, thuspisalsoinT .We denotebym, n n m,n
l
Iteration loop. Its implementation is represented at figure 3.
respectivelyn, the correspondingcheckand variablenodesof
Weuseamixedschedulingwithvariabledecodingparallelism,
the original graph. The set of child nodes of p, denoted by
as explained in section II.
T , is constituted of copies of check nodes in H(n)\{m}.
↓p
Check nodesin T can belongeither to T or T , therefore • On top of the iteration loop we placed the hard bits
↓p l l−1
we canwriteT =T(l)∪T(l−1), withself-evidentnotations. computation and check nodes verification modules. This is
If p is not a↓pleaf n↓opde of↓pT , then T(l) 6= ∅ and all check justified by the fact that the reliability function f¯makes use
l ↓p of parity check values σ .
nodes q′ ∈ T↓(pl) are also in X and they are copies of check • They are followed bymthe reliabilities computation module.
nodesm′ ∈H(n) thatwere processedatiterationl beforethe It computes check nodes reliabilities and, accordingly, places
check node m. Consequently, check node q has at least one checknodesinreliabilitysetsC .Besides,italsosetleafflags
f
more reliable descendent1 check node in X. Unfortunately, of variable nodes (Leaf ) to 1: at this moment any variable
n
this does not happen if p is a leaf node of Tl, as in this case node can potentially have iteration leaf copies in different
T↓(pl) =∅. computation trees in which it appears.
In order to force that minimal subtrees always contain • The processing loop is placed at the bottom of the of the
morereliabledescendentchecknodeswemodifythedecoding iteration loop. Subsets C are serially scheduled and check
f
algorithm as follows: if p is a leaf node of the lth iteration, it nodesinside onesuch a subsetare processedin parallel.Each
retransmits to its parent check q the same message αm,n as time that a new check node m is processed we update the
a posteriori information of variable nodes n ∈ H(m). This
1Hereandtroughtheendofthissectionweusedescendent nodewiththe
followingrestrictive meaning:ifq andq′ arenodesofatree,wesaythatq′ is done by withdrawing the old check-to-variable message,
isdescendent fromq iftheparentnodeofq′ isachildnodeofq. then computing the new one and finally adding the new
Fig.4:PerformanceofSum-Product,Min-SumandMin-SumwithNeighbor-
hood Reliabilities decodings with binary LDPC codes (AWGN, QPSK, rate
1/2,K isthenumberofinformationbits,200decoding iterations)
Fig.3:Min-Sumdecoding usinganinteger-valued reliability function
message to the a posteriori information, as it is shown in the
check nodes processing and a posteriori information module.
Furthermore, each time a check node m is processed we set
leaf flags of variable nodes n ∈ H(m) to 0, as they cannot
anymorehaveiterationleafcopiesinanycomputationtree.On
Fig.5:PerformanceofSum-Product,Min-SumandMin-SumwithNeighbor-
top of this module we placed the variable nodes processing
hoodReliabilities decodings withLDPCcodes overGF(8)(AWGN,QPSK,
module. Thus, any variable-to-check message can be updated rate1/2,K isthenumberofinformation bits,200decoding iterations)
by withdrawing the corresponding check-to-variable message
will be presented in a forthcoming paper.
fromtheaposterioriinformationofthevariablenode.Wenote
that this module concerns only messages sent to check nodes V. CONCLUSIONS
thatareprocessedbythenextmoduleandthatthesemessages
We showedthattheprocessingorderofnodesofabipartite
areupdatedonlyiftheycomefromvariablenodesthatarenot
graphaffectsminimaldeviationsofdifferentcomputationtrees
leaf nodes with respect to the current iteration.
and therefore impacts the Min-Sum decoding performance.
Figure 4 presents simulation results for irregular, rate 1/2, This motivated the introduction of neighborhood reliabilities
binary LDPC codes. We observe that for high signal-to-noise and we developed a method that force minimal deviations
ratios the Min-Sum decoding with neighborhood reliabilities to pass through reliable nodes of computation trees. We
reaches the performance of the Sum-Product decoding. proposed an integer-valued reliability function that can be
Neighborhood reliabilities can easily be generalized to the easily integrated to the Min-Sum decoding while preserving
case of non-binary LDPC codes and the integer-valued re- lowcomplexityandindependenceonnoisevarianceestimation
liability function f¯ can be used without any modification. errors. At our best knowledgethis is the first exempleof self-
Figure 5 presents simulation results for irregular, rate 1/2, correction method for the Min-Sum decoding, which applies
LDPC codesoverGF(8). Using neighborhoodreliabilitiesthe to both binary and non-binary LDPC codes.
Min-Sum decoding performs very close to the Sum-Product
REFERENCES
decoding at high signal-to-noise ratios.
[1] E. Boutillon, J. Tousch, and F. Guilloud. Ldpc decoder, corresponding
Remark 3: Wenotethattheorems4.1and4.2andcorollary method,systemandcomputerprogram. US2005/0138519 patent.
3.1 of [4] also apply for the Min-Sum with neighborhood [2] Y.MaoandA.H.banihashemi.Anewschedulefordecodinglow-density
reliabilities decoding. By using neighborhood reliabilities we parity-check codes. In Proc. IEEE GLOBECOM ’01, volume 2, pages
1007–1010,2001.
onlymodifycomputationtreesoftheaposterioriinformation.
[3] E. Sharon, S. Litsyn, and J. Goldberger. An efficient message-passing
Remark 4: Incaseofnon-binarycodes,minimaldeviations schedule for ldpc decoding. In IEEE Proc. Conv. of Eletrical and
Electronics Engeneers,pages 223–226,2004.
ofcomputationtreescanbeexploitedinacompletelydifferent
[4] N.Wiberg.Codesanddecodingongeneralgraphs.PhDthesis,Likoping
manner, leading to a self-contained decoding algorithm. This University, 1996. Sweden.
[5] J. Zhangand M.P. Fossorier. Shuffled iterative decoding. IEEETrans.
onComm.,53(2):209–213, 2005.