EXIT Chart Analysis of Puncturing for Non-binary LDPC Codes
5.2 Background
5.2.1 Rate-compatible Puncturing Scheme for Binary LDPC Codes
The concept of the recoverability of a punctured VN is an important concept [32]. A punctured VNvj does not receive any signal from the channel, i.e., yj = 0. From (2.9), the channel LLR is given by Lchj = 2yσ2j
n. Asyj = 0, we have Lchj = 0. In other words, the decoder is initially unbiased about the value of a punctured VN. From (2.12), the a posteriori LLR for such a VN can be written as
Lj = X
i∈N(j)
Uij. (5.1)
ThusLj would become non-zero if any of theUij values is non-zero. A punctured VN is said to be recovered if it receives a non-zero message from at least one neighboring CN. Note that the recovery of a VN does not necessarily imply that the corresponding non-zero message is of correct sign.
Now consider the processing for a CNci in (2.10) which is reproduced below:
Uij = log
1 + Q
j′∈M(i)\{j}
tanhVj2′i
1− Q
j′∈M(i)\{j}
tanhVj2′i. (5.2)
Observe that a CNci is capable of sending some non-zero message to a VN vj if all the messages from the neighboring VNs in M(i)\ {j} towards ci are non-zero. Such a CN is called a survived CN with respect tovj. If at least one VN in M(i)\ {j}sends a zero-valued message, thenci is considered
TH -1443_08610205
5.2 Background
dead with respect to vj.
A punctured VN vj is said to be one-step recoverable (1-SR) if it is connected to at least one CN ci such that all the neighboring VNs inM(i)\ {j}are unpunctured. In general, a punctured VNvj is calledk-step recoverable (k-SR) if vj has at least one neighboring CNci such that the set M(i)\ {j} contains at least one (k−1)-SR node and the others are m-SR, where 0 ≤m ≤k−1 [32]. A k-SR VN will get a non-zero message exactly afterk iterations.
vj
Unpunctured VN Punctured VN level 0
level 2 level 1
level 3
Survived CN 3-SR
cs
2-SR 1-SR
1-SR
1-SR
Figure 5.1: Recovery tree of the VN vj
The concept of recoverability can be visualized through a graph known as the recovery tree [32].
Figure 5.1 shows the recovery tree for a VNvj. The level 0 of the tree includes the lone VNvj as the root node. In order to grow the recovery tree,vj is first joined to the neighboring guaranteed survived CN cs. Then all the other neighboring VNs of cs are included in the level 1 of the tree. The same procedure is carried out for all the punctured VNs in level 1. The unpunctured VNs are not joined to any CN in the subsequent levels. Only the punctured VNs are linked with the survived CN in the next level. Moreover, the dead CNs are not considered as they do not contribute to the recovery of the punctured VNs. This process of expanding the tree is continued until every branch terminates with an unpuntured VN. The resultant tree reflects the recovery ofvj through the propagation of various
TH -1443_08610205
non-zero messages and thus named as the recovery tree ofvj. It can be observed from Figure 5.1 that vj will receive some non-zero message via cs after 3 iterations of the SPA and thus it is a 3-SR node.
Figure 5.1 shows some 1-SR and 2-SR nodes, too.
In [32], the authors have devised a grouping algorithm to partition the setV of the VNs according to their recoverability. V is partitioned into the groups G0,G1,· · · ,GK, where G0 is the set of unpunctured nodes, Gi is the set of the VNs guaranteed to recover exactly afteriiterations andK is the maximum number of iterations required to recover all the punctured VNs. The VNs in Gi with a lower i(i6= 0) are expected to recover faster. Therefore, the partitioning starts with the objective of maximizing the number of VNs inG1, thenG2 and so on. The VNs inG0 should not be punctured.
The maximum rate rmax that can be achieved by puncturing nodes in the other groups is given by
rmax= r0N
|G0|, (5.3)
where r0 is the rate of the mother code andN is the total number of VNs.
The number of VNs required to be punctured to attain a raterl is given by
Nlp =
N×(rl−r0) rl
,
where [·] is the nearest integer function.
While selectingNlp number of VNs for puncturing, the aim is to include those VNs which can be recovered after a small number of iterations. For that, initially the VNs from G1 are considered. If all the VNs in G1 are included for puncturing, then the VNs in G2 are considered. The process is repeated until Nlp VNs are selected.
In order to fix the selection of the VNs within a particular group Gi, the authors in [32] have proposed a sorting algorithm. This sorting algorithm helps to distinguish different VNs of the same recoverability. It sorts the VNs of Gi in the decreasing order of preference for puncturing. The selection of a VN for puncturing is done mainly in two sequential steps:
Step 1
This step is driven by the idea of the survived CNs. The VNs which are connected to a larger number of survived CNs, are expected to sustain better in puncturing. A subsetG of Gi is formed such that each VN in G is connected to the same maximum number sm of survived CNs. If G contains only
TH -1443_08610205
5.2 Background
one VN, then that VN is selected for puncturing, otherwise, Step 2 is performed.
Step 2
This step is based on the concept of the dead CNs. The motive is to select the VNs which are connected to the minimum number of dead CNs. Each VNvk inG is connected tosm survived CNs.
Therefore, dvk−sm is the number of dead CNs connected tovk, where dvk is the degree ofvk. Thus the degreedvk alone reflects the relative number of dead CNs linked tovk. A subsetG′ ofG is formed such that each VN inG′ has the same minimum degree. IfG′ contains only one VN, then it is selected for puncturing, otherwise a VN is selected randomly fromG′.
The details of the grouping and the sorting algorithms can be found out in the reference [32].