# High Efficiency Continuous-Variable Quantum Key Distribution Based on ATSC 3.0 LDPC Codes
## 3 Proposed LDPC Codes for Information Reconciliation
### Construction Method of QC-LDPC Codes for Information Reconciliation  
The parity-check matrix of the QC-LDPC code is composed of the zero matrices and the cyclic permutation matrices (CPMs). All submatrices are square matrices of the lifting size \(L\times L\)[27]. Therefore, the QC-LDPC code is easy to implement by hardware and has low encoding/decogging complexity. Generally, we set parameter \(p\) as the number of cyclic shifts; the CPMs are matrices that shift the positions of 1s in the identity matrices to the right by \(p\) times. For example, if \(p=1\), the CPM can be expressed as:  
\[H_{\text{CPM}}= \begin{bmatrix}0&1&0&0&\cdots&0\\ 0&0&1&0&\cdots&0\\ 0&0&0&1&\cdots&0\\ \vdots&\vdots&\vdots&\vdots&\ddots&\vdots\\ 0&0&0&0&\cdots&1\\ 1&0&0&0&\cdots&0\end{bmatrix} _{L\times L}. \tag{11}\]  
The structure of the parity-check matrix in ATSC LDPC code can be regarded as the special case of the base matrix for QC-LDPC code. We can construct QC-LDPC code based on ATSC LDPC code by replacing 0 s and 1 s in the base matrix with zero matrices and corresponding CPMs, respectively. The size of each submatrix is \(L\times L\). Furthermore, the \(p\) is set to a random number from 0 to \(L-1\). For a given parity-check matrix of ATSC LDPC code, the structure of QC-LDPC code can expand the base matrix of size \(M_{b}\times N_{b}\) to a size of \(M_{b}L\times N_{b}L\). According to the cycle free features, the girths of the constructed QC-LDPC codes are no less than those of the original LDPC codes [28]. For convenience of presentation, we divide the parity-check matrix of MET-structured LDPC code into three parts, namely, an IRA structure which is embedded in the MET structure, a \([B\ C\ I]\) part which is cascaded with the IRA structure and the all-zero part \(Z\). Each element in the \(Z\) part will be replaced by the \(L\times L\) all-zero matrix. The construction of QC-LDPC code based on IRA-structured LDPC code is shown in Figure 6.  
Since the IRA structure is embedded in MET structure, the \([B\ C\ I]\) part can be extended to QC-LDPC code in a same manner as shown in Figure 7.  
For a simple example, we consider constructing the base matrix as shown in Equation (12),  
\[H_{b^{\prime}}= \begin{bmatrix}1&1&1&0&0&0\\ 1&1&0&1&0&0\\ 0&0&0&1&1&1\end{bmatrix} \, \tag{12}\]  
into the form of a QC-LDPC code. Assume that the number of lifting size \(L\) is 3; the parameter \(p\) is set to a random integer from 0 to 2. Each 0 and 1 of the base matrix will be replaced by all-zero  
Figure 6: The construction of quasi-cyclic (QC)-LDPC code based on IRA-structured LDPC code. matrix and random CPM of size \(L\times L\), respectively. The corresponding CPMs are \(H_{p=0}= \begin{bmatrix}1&0&0\\ 0&1&0\\ 0&0&1\end{bmatrix} \), \(H_{p=1}= \begin{bmatrix}0&1&0\\ 0&0&1\\ 1&0&0\end{bmatrix} \) and \(H_{p=2}= \begin{bmatrix}0&0&1\\ 1&0&0\\ 0&1&0\end{bmatrix} \). Then, the base matrix can be expanded as follows:  
\[H_{\text{QC}}=\left[ \begin{array}{cccccccccccccccccccc}1&0&0&0&1&0&1&0&0&0&0&0 &0&0&0&0&0&0\\ 0&1&0&0&0&1&0&1&0&0&0&0&0&0&0&0&0\\ 0&0&1&1&0&0&0&0&1&0&0&0&0&0&0&0\\ 1&0&0&1&0&0&0&0&0&1&0&0&0&0&0&0\\ 0&1&0&0&1&0&0&0&0&0&1&0&0&0&0&0&0\\ 0&0&1&0&0&1&0&0&0&1&0&0&0&0&0&0\\ 0&0&0&0&0&0&0&0&0&0&1&0&0&1&1&0&0\\ 0&0&0&0&0&0&0&0&1&0&0&1&0&0&0&1&0\\ 0&0&0&0&0&0&0&0&0&1&0&0&1&0&0&0&1\\ \end{array} \right]\quad. \tag{13}\]  
It is easy to see that the girth of base matrix in Equation (12) is only four, which results in slowing down the decoding speed or even failing to decode successfully since it gets less information from the external cycle. However, as shown in Equation (13), we eliminate the limitation that the girth is only four by constructing QC-LDPC code based on Equation (12), which means that the constructed LDPC code has better performance than the original one. For a given FER, our proposed LDPC codes require lower SNR than original LDPC codes, which results that our proposed LDPC codes can achieve lower channel capacity \(c(s)\) and higher reconciliation efficiency \(\beta\).