# Minimum Distance Optimization with Chord Edge Growth for High Girth Non-Binary LDPC Codes
## 3 Minimum Distance Optimization Using Progressive Chord Edge Growth
### Proposed Progressive Chord Edge Growth (PCEG) Method  
Assume that, in the Hamiltonian graph \(G\) that is composed of \(m\) vertices and \(n\) edges, the associated parity-check matrix is expressed as \(\mathbf{H}=[\mathbf{H}_{I},\mathbf{H}_{P}]\).Let the sets of vertices and edges composing the Hamiltonian graph be \(V\!\!=\!\{v_{1},v_{2},\cdots v_{m}\}\) and \(E\!\!=\!\{e_{1},e_{2},\cdots e_{n}\}\) respectively, where \(v_{i}(i=1,  
in the Hamiltonian graph in turn. The process of progressive chord edge growth of a 26-vertex Hamiltonian graph is illustrated in Figure 3, where \(M_{a}^{27},M_{a}^{28},\cdots,M_{a}^{52}\) represent the total number of cycles, and \(M_{c}^{27},M_{c}^{28},\cdots,M_{c}^{52}\) represent the number of the cycles associated with the newly added chord edge. Although the cycles included in the Hamiltonian graph are complex globally, the cycles related to the newly added chord edge are limited from the perspective of the progressive chord edge growth. As mentioned before, this paper considers cycles with a length \(l\) having the value from girth \(g\) to a given length \(l_{max}\). In the process of progressive chord edge growth, the number of cycles that do not satisfy the FRC in the cycles introduced by the newly added chord edge is denoted as \(N_{j}^{l\leq l_{\max}}\). The proposed non-zero element configuration method for making the cycles meet the FRC will be described in detail in the following. According to the order of growing chord edges, the allocation of non-zero elements is divided into two main steps. One is the selection of non-zero elements in set \(E_{C}\), and the other is the selection of non-zero elements that correspond to each chord edge. Figure 4 shows the specific process of configuring non-zero entries with progressive chord edge growth. During the initialization process, the non-zero elements on the Hamiltonian cycle are determined. Because there is no short cycle in \(E_{C}\), the non-zero elements chosen from set \(R\) of optimal row entries [15] can be randomly configured. Specifically, two randomly selected elements from \(R\) are assigned to two non-zero positions that correspond to vertex \(v_{i}\) on the Hamiltonian cycle. The set of unselected non-zero elements corresponding to vertex \(v_{i}\) is denoted as \(R(v_{i})\), and the number of elements in \(R(v_{i})\) is denoted as \(n(v_{i})\). After selecting the corresponding non-zero elements on the Hamiltonian cycle, the non-zero elements of each chord edge are determined, in turn, according to the remaining optional non-zero elements set \(R(v_{i})\) for each vertex. Starting from edge \(e_{m+1}\), the two vertices that are connected by edge \(e_{m+1}\) are denoted as \(v_{e_{m+1}}^{(1)}\) and \(v_{e_{m+1}}^{(2)}\), where \(v_{e_{m+1}}^{(1)}\) is the vertex where edge \(e_{m}\) and edge \(e_{m+1}\) intersect, and \(v_{e_{m+1}}^{(2)}\) represents the vertex where edge \(e_{m+1}\) and edge \(e_{m+2}\) intersect. First, all combinations of the optional non-zero elements of chord edge \(e_{m+1}\) are recorded by traversing the elements in \(R(v_{e_{m+1}}^{(1)})\) and \(R(v_{e_{m+1}}^{(2)})\). Subsequently, the number \(N_{m+1}^{l\leq l_{\max}}\) of cycles not satisfying the FRC among all of the cycles related to edge \(e_{m+1}\) are determined. Finally, the configurations that satisfy \(N_{m+1}^{l\leq l_{\max}}=0\) are retained, and the configuration of non-zero entries that correspond to the next chord edge \(e_{m+2}\) is performed. This process continues until the configuration of the non-zero entries of the last chord edge is completed. Based on the Hamiltonian graph consisting of \(m\) vertices and \(n\) edges, the design process of the NB-LDPC codes in the proposed progressive chord edge growth manner is summarized, as follows. _Initialization:_ randomly select non-zero elements from the optimized row set \(R\), assign them to the non-zero positions corresponding to the Hamiltonian cycle, and initialize the index of the chord edge \(j=m+1\).