• 沒有找到結果。

In order to distinguish the ACE property of LDPC codes, in [17], given a variable node sj, G(H) and L , a variable node ACE spectrum associated with the variable node sj in the Tanner graph G(H) is a L-tuple vector: ηsj(G(H)) = (ηs2j, η4sj,· · · , ηs2Lj), where η2isj denotes the minimum ACE metric over the set of cycles which length are 2i and pass through variable node sj.

Since the shortest cycles with small ACE metric are of greater harmful than those longer cycles for the performance of iterative decoding, in this thesis, we simplify a variable node ACE spectrum. For a variable node sj, we only consider the minimum ACE metric of the shortest cycles. i.e.,

¯

ηsj(G(H)) = ηsgjsj

, where gsj denotes the local girth of variable node sj.

We then modify the variable node ACE spectrum (VN-ACES) by

¯

η(G(H)) = (ηgss11 , ηgs2

s2,· · · , ηgssnn ) for a careful inspection, where ηsgjsj is the minimum ACE over the set of the shortest cycles pass through sj.

Also, we define ¯ηi

as the average ACE of degree-i variable nodes. With this measurement, we can generally evaluate the good or bad in connectivity for certain degree variable nodes. With the girth histogram, the modified VN-ACES and ηi’s can be useful to evaluate the goodness of a code.

The larger values in the modified VN-ACES, the cycles generally have better connectivity in the Tanner graph, and the performance of the code more likely is better. In Chapter 4, we will make use of it to compare the ACE property of LDPC codes.

2.5 The Other Factor That Influence on The BER Per-formance

Here, we give an example to explain that girth histograms are not enough to compare the performance of LDPC codes. In Fig. 2.4, there are three different LDPC codes of length n=1008, Rate=1/2, and all with the same variable node degree distribution which is given by λ(x) = 0.47532x2 + 0.279537x3 + 0.0348672x4 + 0.108891x5 + 0.101385x15. Code I is constructed by randomly establishing edges and avoiding cycles of length four. Code II is constructed by connecting all degree-2 variable nodes in a zigzag manner to avoid cycles between degree-2 variable nodes. The other edges are selected randomly by avoiding cycles of length four. Code III is constructed with the original PEG algorithm.

These three codes have the same girth histogram, i.e, the local girth for all variable nodes are 6 in these three codes. However, the difference in the code construction procedure lead to the large gap in the performances of these three codes. It can be seen that the performance of the second code is better than that of the first code, because the first code exists short cycles between degree-2 variable nodes, but the second code has no cycle between degree-2 variable nodes. The performance of the third code is even better than that of the second code, since the third code has mostly longer cycles between low-degree variable nodes compare to the second code.

From the ACE perspective, while short cycles are formed between low-degree variable nodes, these short cycles will have small ACE metric. Therefore, the performance of LDPC codes will degrade seriously. Based on this observation, we can find that it is important to avoid short cycles being formed between low-degree variable nodes. Even through the girth histogram is important for the performance of the LDPC codes in most case, but it is not absolute. Except for the girth histogram, we should also pay attention to those low-degree variable nodes; such like find out how short are the cycle lengths exist between

0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2 10−4

10−3 10−2 10−1 100

Eb/N0(dB)

FER

Code I Code II Code III

Figure 2.4: The performances are sensitive to the connecting of low-degree variable nodes.

FERs over the AWGN channel, (n=1008 and rate=1/2)

low-degree variable nodes. In the beginning of the next chapter, a method for gathering such information will be presented. Later, we will also propose algorithms which can increase the cycle lengths exist between low-degree variable nodes.

Chapter 3

The Cycle Length-on-Edge Sequence and The Cycle Length-Boosting

Strategies

From Fig. 3.1, we can image that here having a space, and in which are variable nodes and check nodes. Now giving us the number of edges, how should we put this edges between variable nodes and check nodes for obtaining the largest girth and the best connectivity simultaneously in this graph? Is PEG really a good way for achieving such a purpose? Or how to do? Thus, we proposed several algorithms for solving such a problem in this chapter.

In literature, the girth histogram and the VN-ACES are two primary measurements for a Tanner graph. Except for their formal definitions, they also offer some additional information to the decoding by the SPA. For example, the girth histogram can indicate how many iterations a variable node will receive dependent messages, and the VN-ACES can reflect how many opportunities the messages passed in a cycle can be improved with the extrinsic information from the check nodes outside the cycle. However, if we are asked how are the connections between the variable nodes with different degree in a Tanner graph, there will be no answer to this important question based on the above two measurements.

Hence, in Section 3.1, we introduce a sequence to provide such knowledge for PEG-based

Figure 3.1: What is the best way to connect edge between variable node and check node? Is it really a good way for PEG to achieve that?

algorithms.

In addition, we present two strategies to enlarge cycle lengths from the new knowledge perspective in the Section 3.2 and Section 3.3 respectively. In Section 3.4, we modify the original PEG algorithm by using our two strategies. An algorithm modified from the im-proved PEG algorithm is proposed in Section 3.5. Furthermore, the other research contents will be mentioned in Section 3.6.

3.1 The Cycle Length-on-Edge Sequence (CLoES)

Owing to the progressive-edge-growth nature of PEG-based algorithms, the length of the shortest cycle that passes through a newly grown edge under the current Tanner graph is known. This length is of great interest because it shows the shortest cycle length between the current growing variable node and the other nodes that have grown edges. If no cycle is formed, the shortest cycle length associated with the newly grown edge is defined as infinity.

By this definition, the first edge of each variable node has an infinite cycle length. Therefore,

only the shortest cycle lengths on all edges other than the first edge of a node are informative.

During the process of growing the edges of all degree-d variable nodes, except for the first edge of each node, we let E(d) , [E1(d), E2(d),· · · , Ei(d),· · · , Ez(d)d ], where Ei(d) denotes the shortest cycle length corresponding to the ith edge growth, and zd stands for the step index of the last edge growth of the degree-d variable nodes. The cycle length-on-edge sequence (CLoES) is then defined as E = [E(dmin), E(dmin+1),· · · , E(dmax)]. The values of E can be obtained during the construction.

For the CLoES, the most significant feature is that it can be used to inspect the con-nections between some variable nodes. For example, the values in E(d) shows that how an edge of a degree-d variable node constitutes a cycle with the other nodes that have smaller or the same degree. Since the cycle length between variable nodes is critical to the BER performance, it is thus desired to enlarge the values in E, especially the values in E(d)’s with small d’s due to the fatal defects of the cycles that comprises only low-degree variable nodes.

For convenient comparison between different E, we also define Ωd, {i : Ei(d) ̸= ∞, ∀ 1 ≤ i ≤ zd} and let ¯E(d) = ∑

i∈ΩdEi(d)/|Ωd|, in which |Ωd| is the cardinalities of set Ωd. ¯E(d) is the average cycle length of E(d) and ¯E is the average of ¯E(d)’s. ¯E(d) can generally reflect the connection between the variable node with degree no more than d. In addition, the larger the ¯E is, the average cycle length is relatively longer in graph. Thus, we prefer to construct a graph with larger ¯E(d) and ¯E. After we modify an algorithm, we expect that the most values in E may increase respect to the original version algorithm. To confirm such expectation, we calculate the amount of the increased values and the decreased values in E, then the ratio is defined as the first amount to the second amount. The larger the ratio is, the larger probability the modified algorithm works well. To increase the cycle length between variable nodes, or equivalently to enlarge the values in E, in the following section, we propose two novel strategies for PEG-based algorithms. One strategy is to refine the first edge connection

of a variable node, while the other one is to grow edges with respect to a group of nodes.

3.2 The First Strategy for Cycle Length-Boosting: First Edge Selection Refinement

To explain our idea, we firstly define temporary local girth as the local girth of a variable node under the current graph. For PEG-based algorithms, the first edge selection for any variable node is connect with a check node, which has the lowest check node degree under the current graph. Fig. 3.2 illustrates the way the PEG-based algorithms select the first edge for each variables. However, for a variable node, the different choices for its first edge may

Figure 3.2: Original PEG (S3 choose the first edge): Direct select minimum degree survivor.

For this case, C0 and C2 are candidates.

lead to different temporary local girths after growing its second edge. More importantly, such manner of connection may lower the maximum achievable cycle length on the other edges of the variable node. This is owing to the subsequent selection of edges will depend on the current selection of an edge. Thus, we prefer to make the temporary local girth which is formed initially for a variable node as large as possible. This way is more likely to make the subsequent temporary local girth large.

Based on this observation, we modify the selection of the first edge for all the variable nodes. The purpose here is to enlarge the values in E. We achieve the purpose by maximizing temporary local girth which is formed initially for a variable node. In this refinement, the modification firstly finds a subset C of check node, which has the lowest check node degree under the current graph. Among the check nodes in this subset, a check node which can result the largest temporary local girth for this variable node is chosen.

Based on the PEG-based algorithm, the procedure of the first edge selection is revised in the above. Note that the step to find the subset C is important. If we omit this step, the output tanner graph might have a non-concentrated check node degree distribution, and the performance of the code will degrade seriously.

3.3 The Second Strategy for Cycle Length-Boosting:

Node-grouping for Selection of The Other Edges

It is easy to figure out that the values in E tend to decrease when the number of edge become larger. The purpose of this strategy is aiming at slowing down the speed of decay in the sequence E. Except for the first edge selection of any variable node, this modification will be applied to the selection of any other edge.

On the other hand, for given code parameters, constructing a parity-check matrix that has the largest girth is a well-known difficult problem. Conventional PEG-based algorithms build up a Tanner graph in a node-by-node manner, that is, all edges incident to a variable node are established before moving to the next variable node. However, such a manner limits the edge growing in a stiff way. This may not be an effective way to maximize the local girth of variable nodes. Here, we provide another possible alternative. Our main idea is to build a Tanner graph in an edge-by-edge manner, i.e., growing edges in a non-deterministic way. The way we establish an edge is to take more variable nodes into consideration simultaneously,

and these variable nodes are regarded as one group. Then, an edge of a node in this group that can maximize the shortest cycle length under the current graph is grown. It is likely to increase the cycle length due to more candidate edges.

Since we take more variable nodes simultaneously into consideration while establishing an edge, so there are some questions, which variable nodes should be taken into consider-ation while an edge is established? Should we take all variable nodes into considerconsider-ation simultaneously? We observe that if high-degree variable nodes growing edges earlier than low-degree variable nodes, these high-degree variable nodes will form longer cycles with larger ACE metric easily. Above behaviour will make those low-degree variable nodes form shorter cycles with smaller ACE metric. To avoid the above observation happens, we propose a Node-grouping approach. Before growing an edge of a tanner graph, we divide all variable nodes into several groups, and variable nodes in the same group are restricted to have the same degree. Every group will have maximal size t. For example, if the number of degree-2 and degree-3 variable nodes are 25 and 15 respectively, and t is 10, then we will have 10 variable nodes in the first and the second group respectively, but only 5 variable nodes are in the third group. The fourth group has 10 variable nodes, and 5 variable nodes are in the fifth group. Note that, this approach also comprises the conventional PEG-based algorithms as a sub-case, i.e, when every group only has one variable node.

After finishing node-grouping, the approach will establish edges group-by-group, the order is from the group with the lowest variable node degree to the group with the highest variable node degree. For a group, before establishing an edge, any variable node vj in this group will firstly expand their tree to depth l, under the current graph such that Nlv

j ̸= ∅ but Nl+1v

j = ∅, or the cardinality of Nvlj stops increasing but is less than m. Then find a variable node which has the largest depth l from this group. After that, we grow an edge from this variable node. The procedure repeats growing an edge in such a manner, until all

variable nodes in this group reach their required variable node degree. Fig. 3.3 describes the procedure of the second strategy by using an example.

Figure 3.3: The procedure of the second strategy for a group (t = 3 in this case).

3.4 The Modified PEG Algorithm

To make the speed of decay in E get slower, or say, to enlarge the values in E. Thus, we proposed two strategies above. The first strategy can increase the values in E by modifying the procedure of the first edge selection in the PEG-based algorithm. The second strategy achieves the purpose by modifying the order of edge growing in the PEG-based algorithm.

Since the above two mentioned modified strategies all can increase the values in E, and they are applied to the different types of edges, in other words, these two strategies do not conflict with each other. Therefore, we combine them into an algorithm in order to get better performance of the LDPC codes. The initial conditions and the proposed algorithm

is summarized as following:

We set a parameter t as the maximum number of variable nodes in a group. The variable nodes in a group are restricted to have the same degree. We also assume that there are totally w groups without loss of generality. Denoted by Su the uth group. The degree of the variable node in Siare assumed to be larger or equal to the degree of the nodes in Sk,∀ i ≥ k.

Cycle Length-Boosting PEG algorithm:

• for u = 1 → w

– for each sj ∈ Su (First Edge Connection)

∗ Find the subset C of check nodes, which has the lowest check node degree under the current graph setting. Among the subset C, the check node candi-date of the first edge which can create the largest cycle length on its second edge is chosen.

– end for

– while at least one variable node not reaches its degree

∗ For each sj ∈ Su whose degree is smaller than dsj, expand a tree from sj up to depth l under the current graph setting such that Nlsj ̸= ∅ but Nl+1sj = ∅, or the cardinality of Nslj stops increasing but is less than m.

∗ Let V be a set of comprising the variable nodes that have the largest depth lmax among all tree expansions.

∗ Let Ωj be a subset of check nodes that consists of the check nodes in Nlsmaxj and has the lowest degree.

∗ Randomly choose a variable node si ∈ V , then randomly select a check node in Ωi as a new edge.

– end

• end

3.5 The Modified Improved PEG Algorithm

In [14], it shows that the improved PEG algorithm is a PEG-based algorithm, which con-siderably enhances the performance at high-SNR region without any degradation in the low SNR performance compare to the original PEG algorithm. In addition, this algorithm is simple and quietly effective in design complexity. Generally speaking, the modification is based on creating a higher degree of connectivity in the tanner graph of the code without sacrificing the girth distribution.

In Section 3.4, a modified version of the original PEG algorithm is presented. From our simulation results, it can be found that considerable improvements in the error floor region relative to the original PEG algorithm. We are also interested in what will the performance be if the strategies are applied to the improved PEG algorithm. Hence, we proposed the algorithm in this section. In this algorithm, the basic structure is similar to the algorithm proposed in Section 3.4, but the complexity is a little higher. The main difference is that the ACE metric is joined in considering in the algorithm. Recall that in our second strategy, we firstly aggregate certain number of variable nodes with the same degree into a group.

Then, an edge of a node in this group that can maximize the shortest cycle length under the current graph is grown. However, in this algorithm, we revise the second strategy as stated in the following. After grouping, we expect that, an edge of a variable node in a group that can maximize not only the shortest cycle length, but also the smallest cycle ACE under the current graph is grown. The details of the algorithm is summarized as follow:

We set a parameter t as the maximum number of variable nodes in a group. The variable

nodes in a group are restricted to have the same degree. We also assume that there are totally w groups without loss of generality. Denoted by Su the uth group. The degree of the variable node in Siare assumed to be larger or equal to the degree of the nodes in Sk,∀ i ≥ k.

Cycle Length-Boosting Improved PEG algorithm:

• for u = 1 → w

– for each sj ∈ Su (First Edge Connection)

∗ Find the subset C of check nodes, which has the lowest check node degree under the current graph setting. Among the subset C, the check node candi-date of the first edge which can create the largest cycle length on its second edge is chosen.

– end for

– while at least one variable node not reaches its degree

∗ For each sj ∈ Su whose degree is smaller than dsj, expand a tree from sj up to depth l under the current graph setting such that Nls

j ̸= ∅ but Nl+1sj = ∅, or the cardinality of Nslj stops increasing but is less than m.

∗ Let V be a set of comprising the variable nodes that have the largest depth lmax among all tree expansions.

∗ Let R be a subset of V , which can form cycles with the largest cycle ACE.

∗ Let R be a subset of V , which can form cycles with the largest cycle ACE.

相關文件