• 沒有找到結果。

Design of PEG-Based Structured LDPC Codes

4.1 Proposed Structured LDPC Codes

Here, we add a more strict constraint, called circulant permutation (CP) constraint, to original PEG algorithm. The parity check matrix H generated by the proposed CP-PEG algorithm is also structured as shown in equation (3.12). We write it again in equation (4.1). However, the submatrix Hi,j of the proposed parity check matrices is either a p× p circulant permutation or all-zero matrix. A circulant permutation matrix is a special case of the circulant matrix, it contains exactly one 1 for each row vector, i.e. it is a right cyclic version of a p× p identity matrix Ip×p. Thus, we can denote each submatrix Hi,j

of the proposed parity check matrices more concise as it in IEEE 802.11n.

H =

Using the same notations and definitions as in Section 3.2, we further give several definitions and notations. Assume there are N variable nodes and M check nodes in the Tanner graph. We partition the N variable nodes and M check nodes into subgroups where each group has p nodes. After partition, it forms n variable node subgroups and m check node subgroups. We also partition edges E, in term of variable node subgroup vsg, as E = Evsg0 ∪ Evsg1 ∪ · · · ∪ Evsgn−1, with Evsgj containing all edges emanate from jth variable node subgroup vsgj. Check node subgroup csgi is said to be connected to variable node subgroup vsgj if there is an edge e(cip+r, vjp+r)∈ Evsgj, where cip+r ∈ csgi, vjp+r ∈ vsgj, 0≤ i ≤ (m−1), 0 ≤ j ≤ (n−1), and 0 ≤ r ≤ (p−1). Moreover, if check node subgroup csgi is connected to variable node subgroup vsgj under current graph setting, check nodes contained in csgi form the set Nvsgj. In the proposed algorithm, we won’t connect the proceeding variable node to the check nodes in Nvsgj. The complementary set of Nvsgj, Nvsgj, is defined as the check-node set Vc\ Nvsgj, i.e. Vc excludes Nvsgj. Nlvjp+r is the complement of Nvljp+r which is set of all check nodes reached by a tree spreading from variable node vjp+r within depth l. A complementary set Rlvjp+r is defined as Rlvjp+r = Nvsgj∩Nlvjp+r, where vjp+r ∈ vsgj. Finally, a variable-subgroup degree sequence is defined as Dvsg = {dvsg0, dvsg1,· · · , dvsgn−1}, where dvsg0 ≤ dvsg1 ≤ · · · ≤ dvsgn−1. In a variable-subgroup degree sequence, dvsgj denotes the degree of vjp+r, where vjp+r ∈ vsgj and

0≤ r ≤ (p − 1).

Then, we describe how to design a Tanner graph using the proposed CP-PEG algo-rithm. First, we specify the number of variable node subgroups n and the number of check node subgroups m, with each subgroup has p nodes. For the specified variable-subgroup degree sequence Dvsg, construction of the Tanner graph is described by the following Al-gorithm 3 which adds edges to Tanner graph group by group instead of node by node.

Algorithm 3 CP-PEG Algorithm for j = 0 to n− 1 do

for k = 0 to dvsgj− 1 do if k = 0 then

Ev0jp ← e(ci, vjp), where ci is a check node with lowest check-node degree under the current sub-graph setting Evsg0 ∪ Evsg1∪ · · · ∪ Evsgj−1 (randomly pick one if such check nodes are more than one).

else

Expand a tree from variable node vjp up to depth l under the current graph setting such that the cardinality of Nvljp stops increasing but is less than M , or Rlvjp 6= ∅ but Rl+1vjp = ∅, then Evkjp ← e(ci, vjp), where ci is a check node picked from Rlvjp having the lowest check-node degree (randomly pick one if such check nodes are more than one).

end if

for r = 1 to p− 1 do

Evkjp+r ← e(c⌊i/p⌋·p+mod(i+r,p), vjp+r), where Evkjp+r is the k-th edge incident to vjp+r, and c⌊i/p⌋·p+mod(i+r,p) is the check node which cyclic shifts r positions of ci

in H⌊i/p⌋,j. end for end for end for

In Algorithm 3, Evkjp is the k-th edge incident on vjp and we call this depicted else-statement as tree spreading procedure for convenience. Due to the circulant permu-tation form of Hi,j, the proposed LDPC codes are suitable for layered decoding mentioned

Table 4.1: Occurrence probabilities of codes with various girth constructed by the pro-posed CP-PEG and PEG-QC algorithms

Index Algorithm Prob. of girth=4 Prob. of girth=6

I PEG-QC 36% 64%

CP-PEG 0% 100%

II PEG-QC 55% 45%

CP-PEG 0% 100%

III PEG-QC 73% 27%

CP-PEG 16% 84%

IV PEG-QC 100% 0%

CP-PEG 0% 100%

in Section 2.3.4.

We construct a small graph, as previously done in Section 3.3, by the proposed CP-PEG algorithm. It contains 3 variable node subgroups and 3 check node subgroups with Dvsg={dvsg0, dvsg1, dvsg2} = {2, 2, 3}. Before adding the 3rd edge of variable node v8 into graph, the graph is the same as shown in Fig. 3.6(a), in which we always choose the check node with smallest index when there are more than one candidate. For the 3rd edge of variable node v8, by using CP-PEG algorithm, we expand a tree from v8 as shown in Fig. 3.7. Instead of selecting the check node c6, we pick up the node c2. It is because of R4v8 6= ∅ but R4+1v8 =∅. The resulting Tanner graph and parity check matrix are given in Fig. 4.1. It doesn’t contain 4-cycles anymore.

We further use the sets of code parameters specified in Table 3.1 to construct 100 codes for each ensemble by the proposed CP-PEG algorithm. The resulting occurrence probabilities of codes with various girth are presented in Table 4.1. For the purpose of comparison, the results had been shown in Table 3.2 are also listed in Table 4.1. It is obvious that Tanner graphs constructed by the proposed CP-PEG algorithm have lower probabilities to contain short cycles than those by PEG-QC algorithm.

0 1 2 3 4 5 6 7 8 9 10 11

0 1 2 3 4 5 6 7 8 9 10 11

(a) Tanner graph constructed by CP-PEG algorithm

0 0 0 0 0 0 1 0 0 0 1

(b) The resulting parity check matrix H

Figure 4.1: (a) The Tanner graph constructed by CP-PEG algorithm, (b) and its corre-sponding parity check matrix

相關文件