# Minimum Distance Optimization with Chord Edge Growth for High Girth Non-Binary LDPC Codes
## 2 Non-Binary LDPC Codes Based on High Girth Hamiltonian Graphs
### Optimization Method of Minimum Distance Based on the Binary Image  
A method of selecting and configuring non-zero elements that is based on binary images for optimizing NB-LDPC codes with the column weight of two was proposed by [PERSON] et al. [15]. Based on the minimum distance of the equivalent binary code, the non-zero entries in each row were carefully selected, which proved to improve the performance in the waterfall region. Furthermore,  
Figure 2: (**a**) The Hamiltonian graph with 26 vertices. (**b**) A cycle in the graph and its full rank condition (FRC).  
the structure of the relevant Tanner graph was considered to lower the error floor. For the parity-check matrix of a code, the columns defining the minimum distance are located on symbols belonging to the shortest cycles and the associated stopping sets. Therefore, a method using the algebraic properties of cycles and stopping sets was given for improving the minimum distance of the binary image of the code.  
Specifically, an iterative and row-wise optimization procedure was performed for the purpose of the cycle cancellation and the stopping set mitigation. Assume that \(R\) and \(S\) denote the set of optimized non-zero entries for a row and the set of the smallest stopping sets with good minimum distance, respectively. The length of the cycle was assumed to lie in the range from the girth \(g\) to a given length \(l_{max}\). The cycle optimization process is as follows.  
_Initialization:_ randomly select elements from set \(R\) and its permutations as the rows of the check matrix, and define \(A\) as the row label set of the parity-check matrix \(\mathbf{H}\) to be optimized.  
_Step 1:_ initialize \(A\) as all row labels of matrix \(\mathbf{H}\).  
_Step 2:_ randomly select a row label \(a\) in \(A\).  
_Step 3:_ select the element from \(R\) and its permutation for \(a\)th row that maximizes the number of cancelled cycles of length \(l\), where \(l\) indicates the length of the shortest cycles that have not been cancelled.  
_Step 4:_ remove \(a\) from \(A\). If all cycles of length \(l\) satisfy the FRC, then \(l=l+2\), and go to Step 1; otherwise, judge whether there are elements in set \(A\); and, if there are some of them, go to Step 1; otherwise, go to Step 2.  
_End of cycle optimization:_ when no more cycles can be cancelled, the cycle optimization process ends.  
After the cycle cancellation process, the process that is described above was used to optimize the cycles with length greater than \(l_{max}\) continuously from the perspective of the stopping set. In order to optimize the stopping set, the selection criterion of non-zero elements for a row was to maximize the number of cancelled loops and the minimum distance of the stopping set.  
In the cycle optimization method that was proposed by [PERSON] et al. [15], a row of non-zero elements are temporarily determined based on the number of cycles associated with the row that do not meet the FRC. The idea of iterative optimization can cancel cycles to a large extent. However, all cycles related to the selected row need to perform the FRC check, which means that a large number of cycles should be checked repeatedly, increasing the complexity. According to the characteristics of ultra-sparse graphs, a method for configuring non-zero entries with the progressive chord edge growth is proposed in this paper, which can effectively reduce the number of FRC checks.