# Improving Data Communication of Enhanced Loran Systems Using 128-_ary_ Polar Codes
## 2 Materials and Methods
### The Proposed 128-ary Polar Coding Scheme for eLoran
#### 2.2.1 Polar Codes for 128-_ary_ PPM  
When adapting polar codes for a 128-_ary_ PPM system, two principal architectural choices are possible: (1) a binary polar code with the bit-interleaved coded modulation (BICM) [21] scheme; and (2) a 128-_ary_ polar code with 128-_ary_ modulation scheme (non-binary \(q\)-_ary_ polar codes have been discussed in [22; 23; 24]). Directly employing a 128-_ary_ polar code with 128-_ary_ modulation can potentially offer superior error performance compared to a binary polar code with BICM. While this non-binary approach typically entails higher computational complexity, the inherent low data rate of the eLoran system mitigates this concern, rendering the complexity of a 128-ary polar code acceptable for this application. Consequently, this work primarily focuses on the design and evaluation of a 128-_ary_ polar code. For comparative analysis, a binary polar code with BICM is also implemented and assessed in Section 3. The input to the proposed polar coding scheme, as depicted in Figure 1b, originates from \(K^{\prime\prime}=56\) message bits. These are first encoded using a 14-bit CRC encoder, yielding a \(K^{\prime}=70\) bit sequence (comprising the original message and CRC parity bits). This 70-bit sequence is then converted into \(K=10\) information symbols, each belonging to GF(128). The 128-_ary_ polar encoder operates on these \(K\) symbols. In this work, we consider a \(q\)_-ary_ polar code with \(q=128\). The mother code length is chosen as \(N=32\), which is the power of 2 (\(N=2^{n}\), where \(n=5\)) closest to the target transmitted block length of \(M=30\) symbols. The input vector to the polar encoder, \(u_{1}^{N}=(u_{1},u_{2},u_{3},\ldots,u_{N})\), consists of \(K=10\) information symbols and \(N-K\) frozen symbols. These symbols are placed on the \(K\) most reliable subchannels, which are indexed by the information set \(A(A\subseteq\{1,2,\ldots,N\})\), with \(|A|=K\). The method of obtaining \(A\) will be explained in Section 2.2.3. The remaining \(N-K\) subchannels are indexed by the frozen set \(A^{c}\) carrying frozen symbols, which are set to zero. The polar codeword \(c_{1}^{N}=(c_{1},c_{2},c_{3},\ldots,c_{N})\) is given by the following:  
\[c_{1}^{N}=mod(u_{1}^{N}\cdot F^{\otimes n},q)\cdot B_{N}, \tag{4}\]  
where \(B_{N}\) is a bit-reversal permutation matrix and \(F^{\otimes n}\) is the \(n\)-th Kronecker power of \(F\) over GF(\(q\)), where \(F\) is the kernel. In this paper, a \(2\times 2\) non-binary kernel based on [24] is chosen, which is described as  
\[F= \begin{bmatrix}1&0\\ \alpha&\beta\end{bmatrix} ,\quad\alpha,\beta\in\text{GF}(q), \tag{5}\]  
For this implementation, as introduced in [24], we select \(\alpha=57\) and \(\beta=1\), with \(q=128\). Since the length of the mother codeword \(c_{1}^{N}\) (\(N=32\)) differs from the desired transmission length (\(M=30\)), rate matching is achieved via puncturing. In this work, the Quasi-Uniform Puncturing (QUP) algorithm [25] is employed. The QUP process follows the bit-reversal order. By applying bit-reversal to the codeword indices \([1,2,3,\ldots,N]\), we obtain the sequence \([1,17,9,25,\ldots,16,32]\). In this work, since two coded symbols need to be punctured, the coded symbols with the first two indices in this sequence (index 1 and index 17) from the mother codeword \(c_{1}^{N}\) are selected for puncturing. This results in a shortened codeword \(\widetilde{c_{1}}^{M}\) of length \(M=30\) symbols. Each symbol in \(\widetilde{c_{1}}^{M}\) is then modulated using the 128-_ary_ PPM scheme detailed in Section 2.1, resulting in 30 GRIs for transmission. At the receiver, the demodulation process (detailed in Section 2.2.2) for the received sample sequences yields a demodulation output \(\widetilde{\boldsymbol{y}}_{1}^{M}=\left(\widetilde{\boldsymbol{y}}_{1}, \widetilde{\boldsymbol{y}}_{2},\ldots,\widetilde{\boldsymbol{y}}_{M}\right)\) of \(M\) symbols.