## 4 Combined with NB-LDPC Codes over GF(7)  
The new 7-QAM constellation is combined with NB-LDPC codes over GF(7) in this paper. Generally, the NB-LDPC code defined over GF(\(q\)) can be represented using an \(M\times N\) parity check matrix, whose elements are defined over GF(\(q\)). We construct the parity check matrix \(\mathbf{H}\) of NB-LDPC codes over GF(7) by replacing nonzero elements in the parity check matrix of LDPC codes over GF(2) with the nonzero elements of GF(7). In addition, the binary parity check matrix is formed from a binary base matrix using the matrix expansion. Construction begins with an \(mb\times nb\) binary base matrix after degree distribution optimization [33], denoted as \(\mathbf{H}_{\rm bm}\), which can be written as  
\[\mathbf{H}_{\rm bm}=\left[ \begin{array}{cccc}b_{(0,0)}&b_{(0,1)}&\cdots&b_{ (0,nb-1)}\\ b_{(1,0)}&b_{(1,1)}&\cdots&b_{(1,nb-1)}\\ \vdots&\vdots&\ddots&\vdots\\ b_{(mb-1,0)}&b_{(mb-1,1)}&\cdots&b_{(mb-1,nb-1)}\end{array} \right], \tag{22}\]  
where \(b_{(i,j)}\in\) GF(2). The next specific steps of construction are as follows:  
1. Replace the elements '0' and '1' in \(\mathbf{H}_{\rm bm}\) with '-1' and the number of the set \(\{0,1,2\ldots,u-1\}\), where \(u\) is the expansion ratio. The resulting matrix can be written as \[\mathbf{H}_{\rm r}=\left[ \begin{array}{cccc}p_{(0,0)}&p_{(0,1)}&\cdots&p_{(0,nb-1)}\\ p_{(1,0)}&p_{(1,1)}&\cdots&p_{(1,nb-1)}\\ \vdots&\vdots&\ddots&\vdots\\ p_{(mb-1,0)}&p_{(mb-1,1)}&\cdots&p_{(mb-1,nb-1)}\end{array} \right],\] (23) where \(p_{(i,j)}\in\{-1,0,1,\ldots,u-1\}\). 2. Extend the element in \(\mathbf{H}_{\rm r}\) into a \(u\times u\) matrix for the \(M\times N\) binary parity check matrix \(\mathbf{H}_{\rm b}\), which can be expressed as \[\mathbf{H}_{\rm b}=\left[ \begin{array}{cccc}\mathbf{P}_{p_{(0,0)}}&\mathbf{ P}_{p_{(0,1)}}&\cdots&\mathbf{P}_{p_{(0,nb-1)}}\\ \mathbf{P}_{p_{(1,0)}}&\mathbf{P}_{p_{(1,1)}}&\cdots&\mathbf{P}_{p_{(1,nb-1)}} \\ \vdots&\vdots&\ddots&\vdots\\ \mathbf{P}_{p_{(mb-1,0)}}&\mathbf{P}_{p_{(mb-1,1)}}&\cdots&\mathbf{P}_{p_{(mb- 1,nb-1)}}\end{array} \right],\] (24) where \(M=mb\times u\), \(N=nb\times u\) and \(\mathbf{P}_{p_{(i,j)}}\) is a \(u\times u\) zero matrix as \(p_{(i,j)}=-1\) or a \(u\times u\) matrix obtained by right cyclically shifting the identity matrix according to the value of \(p_{(i,j)}\). * Replace the nonzero element in \(\mathbf{H_{b}}\) with the nonzero element of GF(7). The obtained matrix can be written as \[\mathbf{H}=\left[ \begin{array}{cccc}q_{(0,0)}&q_{(0,1)}&\cdots&q_{(0,N-1)}\\ q_{(1,0)}&q_{(1,1)}&\cdots&q_{(1,N-1)}\\ \vdots&\vdots&\ddots&\vdots\\ q_{(M-1,0)}&q_{(M-1,1)}&\cdots&q_{(M-1,N-1)}\\ \end{array} \right],\] (25) where \(q_{(i,j)}\in\) GF(7). That is, the obtained matrix \(\mathbf{H}\) is a parity check matrix of NB-LDPC codes over GF(7). At the transmitter, the information symbols defined over GF(7) are first encoded using the encoding method with the obtained parity check matrix in the encoder. Then, the codewords are mapped to the 7-QAM constellation. At the receiver, the received signal \(y(t)\) is processed using the soft demapping method for the calculation of likelihood information of each symbol. The probability distribution for the AWGN channel can be expressed as  
\[P(y_{l}\left|x_{a}\right.)=\frac{1}{\sqrt{2\pi\sigma^{2}}}\exp\left[-\frac{(y_ {l}-x_{a})^{2}}{2\sigma^{2}}\right], \tag{26}\]  
where \(a=0,1,\cdots,6\), \(x_{a}\) is the \(a\)-th point on the 7-QAM constellation, and \(y_{l}\) is the \(l\)-th received symbol. Then, we use the belief propagation (BP) algorithm over GF(7) in the probability domain to recover the original information symbols in the LDPC decoder [34].