## 2 Signal Processing Principles
### Construction of LDPC and RS Codes  
Both Reed-Solomon (RS) codes and Low-Density Parity-Check (LDPC) codes are designed to add redundant information to the original message sequence. Specifically, these redundancies are mathematically correlated with the original data through pre-defined algebraic rules. Upon signal transmission to the receiver, these redundant bits enable systematic error detection and correction operations. The construction of LDPC codes and RS codes is introduced in this subsection.  
The encoding of (n,k) LDPC codes (n is the code length and k is the length of the information bits) can be equated to the construction of the checksum matrix \(H\). In this paper, a simpler way of construction is the approximate lower triangular method proposed by [PERSON] [24]. This method obtains the matrix \(H^{*}\) by performing a simple row-column substitution on the checksum matrix \(H\).  
\[H^{*}=\left[\begin{array}{cc}A&B&T\\ C&D&E\end{array}\right] \tag{16}\]  
where \(A\), \(B\), \(C\), \(D\), \(E\) are \((m-g)\times(n-m)\) dimensional, \((m-g)\times g\) dimensional, \(g\times(n-m)\) dimensional, \(g\times g\) dimensional, \(g\times(m-g)\) dimensional sparse lower triangular matrices, respectively. \(T\) is \((m-g)\times(m-g)\) dimensional sparse lower triangular matrix. Multiply the matrix \(H^{*}\) on the left by the following matrix \(L\) to obtain \(H_{\text{L}}\).  
\[L=\left[\begin{array}{cc}I&O\\ -ET^{-1}&I\end{array}\right] \tag{17}\]  
\[H_{L}=L\cdot H^{*}=\left[\begin{array}{cc}A&B&T\\ -ET^{-1}A+C&-ET^{-1}B+D&O\end{array}\right] \tag{18}\]The LDPC code of length \(n\) corresponding to the checksum matrix \(H\) is denoted as \(c=(s,p_{1},p_{2})\), where \(s\) is the information bit part with length \((n-m)\), \(p_{1}\), \(p_{2}\) is the checksum part with lengths \(g\) and \(m-g\), respectively. According to \(H\times c^{T}=0\), we obtain \(H_{L}\times c^{T}=0\), which is obtained by expansion.  
\[As^{T}+{B{p_{1}}^{T}}+{T{p_{2}}^{T}}=0 \tag{19}\]  
\[\Big{(}-ET^{-1}A+C\Big{)}s^{T}+\Big{(}-ET^{-1}B+D\Big{)}{p_{1}}^{T}=0 \tag{20}\]  
Let \(\beta=-ET^{-1}B+D\), and \(\beta\) is an invertible matrix. Thus, the following occurs:  
\[{p_{1}}^{T}=-\beta^{-1}\Big{(}-ET^{-1}A+C\Big{)}s^{T} \tag{21}\]  
\[{p_{2}}^{T}=-T^{-1}\Big{(}As^{T}+{B{p_{1}}^{T}}\Big{)} \tag{22}\]  
If \(\beta\) is not invertible, the column transformation of \(H_{L}\) is performed until it stops when \(\beta\) is invertible. In this way, the checksum part of the checksum matrix can be found.  
(n,k) RS codes can be determined using either the generator matrix or the parity-check matrix, and the encoding and decoding computations are performed on the \(GF(2^{m})\) domain.  
Determining an instanton \(\alpha\) in the \(GF(2^{m})\) domain, the generating polynomial can be expressed as follows:  
\[g(x)=(x-\alpha^{m_{0}})\Big{(}x-\alpha^{m_{0}+1}\Big{)}\cdot\cdot\cdot\Big{(}x -\alpha^{m_{0}+2t}\Big{)}=\prod_{j=m_{0}}^{m_{0}+2t}\Big{(}x-\alpha^{j}\Big{)} \tag{23}\]  
Assuming that the sequence of messages over the \(GF(2^{m})\) domain is \(s=(s_{0},s_{1},\cdots,s_{k-1})\), its corresponding message polynomial is as follows:  
\[s(x)=s_{0}+s_{1}x+s_{2}x^{2}+\cdots+s_{k-1}x^{k-1}=\sum_{i=0}^{k-1}s_{i}x^{i} \tag{24}\]  
Defining bits \(0\) through \(\mathrm{k}-1\) in each symbol as information bits and the rest as check bits, the system code polynomial can be written as follows:  
\[C(x)=s_{0}x^{n-k}+s_{1}x^{n-k+1}+\cdots+s_{k-1}x^{n-1}+r_{n-k-1}+\cdots+r_{0} =s(x)x^{n-k}+r(x) \tag{25}\]  
The calibration polynomial can be found by the following equation:  
\[r(x)=s(x)x^{n-k}\mathrm{mod}(g(x)) \tag{26}\]