# LDPC Codes on Balanced Incomplete Block Designs: Construction, Girth, and Cycle Structure Analysis
## 3 Girth and Cycle Structure Analysis of BIBD-LDPC Codes
### Girth of BIBD-LDPC Codes  
Based on the above analysis, we observe that BIBD-LDPC codes are constructed from the BIBD\((\kappa,1;v)\) incidence structure, which is \((\mathbf{X},\mathbf{B})\), that is, \(\lambda=1\). Hence, the parity-check matrices of these BIBD-LDPC codes satisfy the row-column (RC) constraint. This ensures that the constructed BIBD-LDPC codes are free of cycles of length 4 and, consequently, have a girth of at least 6. In fact, the girth of these BIBD-LDPC codes is exactly 6. To further determine the girth of BIBD-LDPC codes, we aim to identify a cycle of length 6 in the Tanner graph of a BIBD-LDPC code, and such a cycle corresponds to the point-and-block sequence described in (1). This sequence represents a closed path of length 6 in the Tanner graph, confirming the presence of cycles of length 6 in the BIBD-LDPC code.  
Consider two distinct points \((x_{1},x_{2}\in\mathbf{X})\). According to the definition of BIBD\((\kappa,1;v)\), there exists a unique block \((B_{1,2}\subset\mathbf{B})\) that contains both \(x_{1}\) and \(x_{2}\). Since \(B_{1,2}\) is a proper subset of \(\mathbf{X}\), there exists a point \((x_{3}\in\mathbf{X})\) such that \(x_{3}\
otin B_{1,2}\). Consequently, \(x_{3}\) is distinct from \(x_{1}\) and \(x_{2}\). According to the properties of BIBD\((\kappa,1;v)\), there exists a unique block \((B_{2,3}\subset\mathbf{B})\) that contains both \(x_{2}\) and \(x_{3}\). It is clear that \(B_{1,2}\) and \(B_{2,3}\) are distinct blocks because \(x_{3}\
otin B_{1,2}\) but \(x_{3}\in B_{2,3}\). Similarly, based on points \(x_{1}\) and \(x_{3}\), there exists a unique block \((B_{1,3}\subset\mathbf{B})\) that contains both \(x_{1}\) and \(x_{3}\). Since \(x_{2}\
otin B_{1,3}\) (while \(x_{2}\in B_{1,2}\)) and \(x_{1}\in B_{1,3}\) (while \(x_{1}\
otin B_{2,3}\)), \(B_{1,3}\) is distinct from both \(B_{1,2}\) and \(B_{2,3}\). Thus, blocks \(B_{1,2},B_{2,3}\), and \(B_{1,3}\) are all distinct. This leads to the following point-and-block sequence:  
\[x_{1},B_{1,2},x_{2},B_{2,3},x_{3},B_{1,3},x_{1},B_{1,2},\]  
which forms a cycle of length 6 in the Tanner graph of the BIBD-LDPC code. This sequence satisfies the conditions for a cycle, as each consecutive pair of points and blocks corresponds to a nonzero entry in the incidence matrix, and the sequence is closed. Hence, this point-and-block sequence represents a closed path of length 6 in the Tanner graph, confirming the presence of cycles of length 6 in the BIBD-LDPC code. In the following, we explore methods to systematically identify and count such cycles.  
It is evident that the point-and-block sequence described above can be simplified to the point sequence expressed as \(x_{1},x_{2},x_{3}\). Without loss of generality, any three distinct points selected from the point set (\(\mathbf{X}\)) can form a similar point-and-block sequence as in (1). Consequently, there exist numerous cycles of length 6 in the Tanner graphs of BIBD-LDPC codes. This confirms that the girth of BIBD-LDPC codes constructed from BIBD\((\kappa,1;v)\) is 6.