# Concatenated Coding for GNSS Signals in Urban Environments
## 4 Numerical Results  
In this section, we will determine the effect of the proposed RS-LDPC concatenation coding scheme on GNSS messages. The outer RS(127,117) code was decoded by the B-M algorithm, and the inner rate-1/2 LDPC code with parameters (\(d_{v}=2\), \(d_{c}=5\)) was decoded by the LLR-BP algorithm with a maximum of 30 iterations. The RS-CC concatenation code and the two interleaved 64-ary LDPC codes with parameters (\(d_{v}=2\), \(d_{c}=4\), \(n_{m}=16\)) in B-CNAV1 were also included for comparison. The convolutional encoder was flushed by 6 zero tail bits and the decoder implemented the Viterbi algorithm with soft decision. The 64-ary LDPC code was decoded by the EMS algorithm with a maximum of 50 iterations. The performance results were measured in terms of the frame error ratio (FER). Since the scope of this work was to investigate the performance among different coding schemes in the LMS channel, it is fair to provide the results under the assumption that the channel state information (CSI) is known at the receiver. The performance of different coding schemes in the LMS channel for an urban environment at a 60\({}^{\circ}\) elevation angle with a constant terminal velocity of 50 km/h is shown in Figure 4. It can be seen that the proposed RS-LDPC concatenation code exhibits similar performance to the two interleaved 64-ary LDPC codes. In addition, it can also be seen that the RS-LDPC concatenation outperforms the RS-CC concatenation. Compared with the RS-CC concatenation, a 12 dB gain can be achieved by the RS-LDPC concatenation at a FER threshold of \(10^{-2}\). This is because the error-correcting capability of the inner LDPC code is superior to that of the inner convolutional code, and thus results in the corresponding concatenated code performing better. Figure 4: Performance comparison of the RS-LDPC, RS-CC, and two interleaved 64-ary LDPC codes in the LMS channel. In Figure 5, the FER performance of the above coding schemes in the AWGN channel is investigated. Again, for the RS-LDPC concatenation code and the two interleaved 64-ary LDPC codes, the same conclusion as in the LMS channel still holds that the performance of the two coding schemes are almost the same. It can also be seen that the RS-LDPC concatenation has an approximately 1.8 dB gain over the RS-CC concatenation. These results verify the effectiveness of the concatenated coding scheme for GNSS over both the LMS and the AWGN channels. The numerical version of the complexity of the proposed RS-LDPC concatenation code and the two interleaved 64-ary LDPC codes in B-CNAV1 messages is depicted in Table 3 by summing up the number of the operations listed in Tables 1 and 2. It can be seen that the computational cost of the two interleaved 64-ary LDPC codes is significant, and a great computational reduction can be obtained by the proposed RS-LDPC concatenation. The computational complexity can also be compared by the execution time of the algorithms, which were implemented in MATLAB R2014a in this work. The MATLAB codes were run on Windows 10 with an Intel Core i7-8565U 1.80 GHz processor and a 16 GB RAM computer. The simulation results show that the runtime of the RS-LDPC decoding process for one iteration was approximately 0.1331 s, whereas the runtime of the two 64-ary LDPC decoding process for one iteration was approximately 5.6014 s. These results also verify that the execution time of the RS-LDPC concatenation is much lower than that of the two 64-ary LDPC codes. Figure 5: Performance comparison of the RS-LDPC, RS-CC, and two interleaved 64-ary LDPC codes in the AWGN channel. \begin{table}
\begin{tabular}{c c c c c} \hline \hline  & \multicolumn{2}{c}{**RS-LDPC**} & \multicolumn{2}{c}{**64-ary LDPC(200,100)**} & \multicolumn{2}{c}{**64-ary LDPC(88,44)**} \\ \cline{2-5}  & **LLR-BP** & **B–M** & & **EMS** \\ \hline Additions & 26,670 & 189 & 32,000 & 14,080 \\ Comparisons & 19,558 & – & 102,400 & 45,056 \\ Multiplications & – & 121 & – & – \\ \hline \hline \end{tabular}
\end{table}