Concatenated Coding for GNSS Signals in Urban Environments

: This work investigated concatenated coding schemes for Global Navigation Satellite System (GNSS) signals in order to increase their error correction capability in urban environments. In particular, a serial concatenated code that combines an outer Reed–Solomon (RS) code with an inner low-density parity-check (LDPC) code was designed


Introduction
GNSS message coding schemes play an integral role in navigation system design, because they can enhance the robustness of the navigation data and therefore improve the positioning accuracy [1]. Historically, GNSS signals were designed for open-air scenarios in which the propagation channel model can be assumed as an AWGN channel. Hence, typical channel codes such as the Hamming code, the Bose-Chaudhuri-Hocquenghem (BCH) code, and the convolutional code are employed in GNSS signals for data message error correction [2][3][4]. As the demand for GNSS in urban environments continues to grow, the error correction capability of the GNSS coding schemes in urban channels has to be increased [5][6][7]. As a result, advanced channel codes are being introduced to modernized GNSS messages [8][9][10]. For example, LDPC codes are applied in GPS CNAV-2 messages [11], and non-binary LDPC codes are adopted in BDS-3 B-CNAV1 messages to achieve better performance than their binary counterparts [12]. However, the performance of the powerful LDPC codes dedicated to an AWGN channel is still limited in urban channels, and the high decoding complexity of the non-binary LDPC codes remains to be addressed [13]. Therefore, GNSS message coding schemes with better trade-off between error correction performance and decoding complexity are required to match the characteristics of urban channels. The concatenation of a binary inner code with a non-binary outer code, 2 of 9 which leads to a more robust code to correct burst errors induced by fading channels, is a well-known process and is widely used in satellite communication systems [14]. For instance, a concatenation of an Reed-Solomon (RS) code and a rate-1/2 convolutional code (CC), called RS-CC concatenation hereafter, is recommended by the Consultative Committee for Space Data Systems (CCSDS) as a standard for telemetry channel coding. Concatenation schemes involving BCH codes, LDPC codes, Turbo codes, and polar codes are also implemented as the component codes [15][16][17]. Recently, several concatenation coding schemes have been introduced to GNSS messages. For example, the RS, LDPC, and lowest-density maximum-distance separable (LDMDS) codes are added as the outer codes to the rate-1/2 convolutional code for the optimization of Galileo I/NAV messages [18,19]. Compared with the current I/NAV messages, these concatenated coding structures provide improvement of decoding performance under degraded channel conditions, as well as a reduction in the time-to-first-fix (TTFF). Moreover, other coding schemes to address struggling urban environments, along with the reduction in the TTFF, have been proposed for GNSS messages [20]. The purpose of this study was to investigate the use of concatenated codes as a good alternative to non-binary LDPC code for GNSS application in urban environments with relatively lower computational complexity and negligible degradation in decoding performance. Specifically, a serially concatenated coding scheme employing an RS outer code and an LDPC inner code, called RS-LDPC concatenation hereafter, is proposed to correct both random errors and burst errors, and hence, to improve the reliability of GNSS messages in urban environments. In particular, a two-state LMS channel was used to model the propagation properties of urban environments between the satellite and mobile terminals because of the low complexity and the good fitting effect [21]. Although RS-LDPC concatenation has been considered in some previous works [22][23][24], a detailed performance analysis targeted at GNSS messages over an urban channel has not been provided. The results of the comparison among various channel codes in this work could offer some useful indications for the optimization of GNSS message design.
The organization of this paper is as follows: In Section 2, the GNSS message concatenated coding system model is briefly described; in Section 3, the proposed RS-LDPC concatenation scheme is introduced in detail and the computational complexity is listed; in Section 4, the Monte Carlo simulation results of the RS-LDPC concatenation in both the LMS and AWGN channels are provided, as well as two interleaved 64-ary LDPC codes in the B-CNAV1 messages and RS-CC concatenation code being evaluated for comparison. Finally, some concluding remarks are given in Section 5.

System Model
A block diagram of the concatenated coding and decoding system for the GNSS messages in urban environments considered in this work is shown in Figure 1.
Appl. Sci. 2020, 10, x FOR PEER REVIEW 2 of 10 of a binary inner code with a non-binary outer code, which leads to a more robust code to correct burst errors induced by fading channels, is a well-known process and is widely used in satellite communication systems [14]. For instance, a concatenation of an Reed-Solomon (RS) code and a rate-1/2 convolutional code (CC), called RS-CC concatenation hereafter, is recommended by the Consultative Committee for Space Data Systems (CCSDS) as a standard for telemetry channel coding. Concatenation schemes involving BCH codes, LDPC codes, Turbo codes, and polar codes are also implemented as the component codes [15][16][17]. Recently, several concatenation coding schemes have been introduced to GNSS messages. For example, the RS, LDPC, and lowest-density maximum-distance separable (LDMDS) codes are added as the outer codes to the rate-1/2 convolutional code for the optimization of Galileo I/NAV messages [18,19]. Compared with the current I/NAV messages, these concatenated coding structures provide improvement of decoding performance under degraded channel conditions, as well as a reduction in the time-to-first-fix (TTFF). Moreover, other coding schemes to address struggling urban environments, along with the reduction in the TTFF, have been proposed for GNSS messages [20]. The purpose of this study was to investigate the use of concatenated codes as a good alternative to non-binary LDPC code for GNSS application in urban environments with relatively lower computational complexity and negligible degradation in decoding performance. Specifically, a serially concatenated coding scheme employing an RS outer code and an LDPC inner code, called RS-LDPC concatenation hereafter, is proposed to correct both random errors and burst errors, and hence, to improve the reliability of GNSS messages in urban environments. In particular, a two-state LMS channel was used to model the propagation properties of urban environments between the satellite and mobile terminals because of the low complexity and the good fitting effect [21]. Although RS-LDPC concatenation has been considered in some previous works [22][23][24], a detailed performance analysis targeted at GNSS messages over an urban channel has not been provided. The results of the comparison among various channel codes in this work could offer some useful indications for the optimization of GNSS message design. The organization of this paper is as follows: In Section 2, the GNSS message concatenated coding system model is briefly described; in Section 3, the proposed RS-LDPC concatenation scheme is introduced in detail and the computational complexity is listed; in Section 4, the Monte Carlo simulation results of the RS-LDPC concatenation in both the LMS and AWGN channels are provided, as well as two interleaved 64-ary LDPC codes in the B-CNAV1 messages and RS-CC concatenation code being evaluated for comparison. Finally, some concluding remarks are given in Section 5.

System Model
A block diagram of the concatenated coding and decoding system for the GNSS messages in urban environments considered in this work is shown in Figure 1.   The channel code is a concatenation of a non-binary outer encoder (n1, k1) over GF(2 m ) and a binary inner encoder (n2, k2). Encoding is performed in two steps. First, a k-bit binary message a = (a 0 , a 1 , · · · , a k−1 ) is grouped into a k1-symbol message sequence u=(u 0 ,u 1 , . . . ,u k1−1 ), where u j ∈ GF(2 m ), u j = (u j,0 , u j,1 , · · · , u j,m−1 ). Then, the k1 symbols are sent to the outer encoder to generate an n1-symbol codeword c1 = (c1 0 , c1 1 , · · · , c1 n1−1 ), which is subsequently converted into a k2-bit binary sequence, where k2 = n1 × m. Second, the output k2-bit binary sequence is encoded by the inner encoder to obtain an n2-bit codeword c2 = (c2 0 , c2 1 , · · · , c2 n2−1 ). Between the two encoders, an interleaver is implemented to distribute the transmitted RS symbols so that the errors are randomized [25]. After the symbol mapper, the symbols are transmitted through a fading channel. The output of the channel is given by: where y, h, s, and n are the received symbols, the fading channel coefficients, the transmitted symbols, and the independent and identically distributed (i.i.d.) ambient additive noise, respectively. In this paper, the two-state LMS model was used to model the fading features in urban environments. This model is a state-oriented channel model based on a Markov chain that defines the reception conditions as good and bad states, where a good state represents a line-of-sight to a moderate shadow condition, and a bad state represents a moderate-to-deep shadow condition. Within each state, the signal variation h is assumed to follow the Loo distribution: The Loo distribution assumes that the received signal consists of the direct signal and the multipath signal, and the probability density function is given by: where z is the amplitude of the direct signal, M and Σ are the mean and standard deviation of the log-normal distribution for the direct signal's amplitude in dB, respectively, and 2σ L 2 (2σ L 2 = 10 MP/10 ) is the average power of the multipath signal. The parameters of the Loo distribution are constant when the environment scenario and satellite elevation are fixed, and the durations of each state are associated with the terminal speed.
Additive noise n is assumed to follow a complex Gaussian distribution with mean zero and standard deviation σ N :

Concatenated Coding Scheme for GNSS Messages
In this section, an RS-LDPC concatenation code is proposed for GNSS messages, and the computational complexity of the proposed code is provided.

Proposed RS-LDPC Code
In the following, we used the payload information of BDS-3 B-CNAV1 messages as an example, of which each frame was divided into three subframes [26]. Subframe 1 contains 14-bit pseudo-random noise (PRN) code number and time data, which have to be encoded with a low code rate, i.e., BCH codes in this case, in order to obtain a low error rate. Therefore, only the contents of subframes 2 and 3 were considered for a concatenated coding scheme in the following. In B-CNAV1, subframe 2-which contains 569 information bits, 7 reserved bits, and a 24-bit cyclic redundancy check (CRC)-is encoded by a 64-ary LDPC(200,100); subframe 3 contains 213/210/226/193 information bits corresponding to different page types, 27/30/14/47 reserved bits accordingly, and a 24-bit CRC, all of which are encoded by a 64-ary LDPC(88,44). Then, the encoded 1728 symbols from subframes 2 and 3 are interleaved to combat burst errors. The coding scheme of subframes 2 and 3 is shown in Figure 2.
In our approach, the message structure is modified and some reserved bits are deleted. Specifically, the information bits of subframes 2 and 3 are combined into one subframe, and the overall bits are encoded by the proposed concatenated code; thus, one 24-bit CRC set can be deleted. Moreover, the reserved bits in subframe 2 and the 14 reserved bits in subframe 3 can also be discarded. Therefore, the information bits are reduced from 864 to 819 bits. The modified structure and proposed concatenated code, which consists of an RS(127,117) outer code and an LDPC(1778,889) inner code, are shown in Figure 3.
Appl. Sci. 2020, 10, x FOR PEER REVIEW 4 of 10 subframes 2 and 3 are interleaved to combat burst errors. The coding scheme of subframes 2 and 3 is shown in Figure 2.  In our approach, the message structure is modified and some reserved bits are deleted. Specifically, the information bits of subframes 2 and 3 are combined into one subframe, and the overall bits are encoded by the proposed concatenated code; thus, one 24-bit CRC set can be deleted. Moreover, the 7 reserved bits in subframe 2 and the 14 reserved bits in subframe 3 can also be discarded. Therefore, the information bits are reduced from 864 to 819 bits. The modified structure and proposed concatenated code, which consists of an RS(127,117) outer code and an LDPC(1778,889) inner code, are shown in Figure 3.  For the outer code, a systematic RS(127,117) code based on Galois fields GF(2 7 ) of a similar length to the input bits of the B-CNAV1 messages was chosen. Each RS symbol is made up of 7 bits, and this code can correct up to t = 5 RS symbol errors in an RS codeword regardless of how many error bits appear in each error symbol, which render the code able of overcome burst errors. The input 819 information bits are divided into 117 RS symbols, which are encoded to 127 RS symbols. Then, the randomly interleaved 127 RS symbols are converted to 127 × 7 = 889 bits; therefore, a 1/2-rate LDPC(1778,889) is constructed as the inner code.
In this work, the LDPC code was designed based on the progressive edge-growth (PEG) algorithm with symbol-node-degree distribution optimized by the density evolution technique [27]. Furthermore, the parity-check matrix of this irregular PEG LDPC code was transformed into a   In our approach, the message structure is modified and some reserved bits are deleted. Specifically, the information bits of subframes 2 and 3 are combined into one subframe, and the overall bits are encoded by the proposed concatenated code; thus, one 24-bit CRC set can be deleted. Moreover, the 7 reserved bits in subframe 2 and the 14 reserved bits in subframe 3 can also be discarded. Therefore, the information bits are reduced from 864 to 819 bits. The modified structure and proposed concatenated code, which consists of an RS(127,117) outer code and an LDPC(1778,889) inner code, are shown in Figure 3.  For the outer code, a systematic RS(127,117) code based on Galois fields GF(2 7 ) of a similar length to the input bits of the B-CNAV1 messages was chosen. Each RS symbol is made up of 7 bits, and this code can correct up to t = 5 RS symbol errors in an RS codeword regardless of how many error bits appear in each error symbol, which render the code able of overcome burst errors. The input 819 information bits are divided into 117 RS symbols, which are encoded to 127 RS symbols. Then, the randomly interleaved 127 RS symbols are converted to 127 × 7 = 889 bits; therefore, a 1/2-rate LDPC(1778,889) is constructed as the inner code.
In this work, the LDPC code was designed based on the progressive edge-growth (PEG) algorithm with symbol-node-degree distribution optimized by the density evolution technique [27]. Furthermore, the parity-check matrix of this irregular PEG LDPC code was transformed into a For the outer code, a systematic RS(127,117) code based on Galois fields GF(2 7 ) of a similar length to the input bits of the B-CNAV1 messages was chosen. Each RS symbol is made up of 7 bits, and this code can correct up to t = 5 RS symbol errors in an RS codeword regardless of how many error bits appear in each error symbol, which render the code able of overcome burst errors. The input 819 information bits are divided into 117 RS symbols, which are encoded to 127 RS symbols. Then, the randomly interleaved 127 RS symbols are converted to 127 × 7 = 889 bits; therefore, a 1/2-rate LDPC(1778,889) is constructed as the inner code.
In this work, the LDPC code was designed based on the progressive edge-growth (PEG) algorithm with symbol-node-degree distribution optimized by the density evolution technique [27]. Furthermore, the parity-check matrix of this irregular PEG LDPC code was transformed into a lower triangular format by the Richardson-Urbanke (RU) method to obtain linear-time encoding [28]. It should be noted that the modified frame structure is only an example for providing a similar code length to that of B-CNAV1 messages for a fair bit error rate (BER) comparison. However, the message structure should be further improved by the optimization of data parameters. This extension is obviously of great interest and will be considered in future work.
Decoding is performed in the reverse order of encoding. For the inner LDPC code, the log-likelihood ratio belief propagation (LLR-BP) algorithm is used to iteratively estimate the bit probabilities. The LLR Appl. Sci. 2020, 10, 6397 5 of 9 of the binary symbols s i from the LMS channel is used as the soft input to the LDPC decoder, and is given by: where: Assuming that all of the symbols are equally likely, the LLR can be calculated as: where σ n is the standard deviation of the additive Gaussian noise. The outer RS code is decoded by the Berlekamp-Massey (B-M) algorithm. The final 889-bit hard decisions obtained in the output of the iterative LDPC decoder are first converted into 127 RS symbols, and then the symbols are fed into the RS decoder, which tries to correct the failed codewords in the earlier LDPC decoding. Finally, the recovered 117 RS symbols from the RS decoder are transformed into the 819-bit estimated message data.

Complexity Evaluation
Since the decoding process is more computationally complex than the encoding process, only decoding complexity was considered in this work for simplicity. The complexity comparison results of the proposed RS-LDPC concatenation code and the non-binary LDPC code are provided in terms of the number of addition, multiplication, and comparison operations.
For the RS-LDPC concatenation code, the complexity was evaluated by two main operations, as is shown in Table 1: (1) Operations involved in the check node update (CNU) and variable node update (VNU) processes of the inner LLR-BP algorithm per iteration, and (2) the maximum number of additions and multiplications in the step of error-locator polynomial computation for outer B-M algorithm. For the non-binary LDPC code, complexity was provided by the operations in the CNU and VNU processes of the extended min-sum (EMS) decoding algorithm, as is shown in Table 2 [29]. Table 1. Decoding complexity of RS-LDPC with the log-likelihood ratio belief propagation (LLR-BP) algorithm for the inner binary LDPC code, and the Berlekamp-Massey (B-M) algorithm for the outer RS code.

Error-Locator Polynomial Computation
Additions Table 2. Decoding complexity of the non-binary LDPC code with the extended min-sum (EMS) algorithm.

CNU VNU
Additions It can be seen from Tables 1 and 2 that the complexity is a function of the code parameters, where d c and d v represent the average check node degree and average variable node degree of the binary and non-binary LDPC codes, N and M represent the codeword length and the number of check nodes of the binary and non-binary LDPC codes, n m represents the truncated message size in the EMS algorithm, and n and k are the codeword and information lengths of the RS code, respectively.
It can be observed from Table 1 that the complexity of the LLR-BP algorithm for the binary LDPC code is linear per codeword per iteration, and the overall complexity of the B-M algorithm for the RS code is O((n−k) 2 ). The complexity of the EMS algorithm for the non-binary LDPC code is O(Mn m log 2 n m ) per codeword per iteration, as shown in Table 2. The numerical computational complexity results associated with the code parameters employed in this work will be given in the next section.

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 • 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.  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 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. 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 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.

Conclusions
In this work, a concatenated code consisting of an RS outer code and an LDPC inner code for the application in GNSS data message coding for urban environments was presented. Performance comparisons were conducted between the RS-CC concatenation and two interleaved 64-ary LDPC codes in BDS-3 B-CNAV1 data messages over the LMS and AWGN channels. The simulation results showed that the proposed RS-LDPC concatenation can provide similar decoding performance to the interleaved 64-ary LDPC codes in both the AWGN and the LMS channels, but with a lower decoding complexity. The benefit of the inner LDPC code was shown by comparing it to the RS-CC concatenation, indicating gains of 12 dB and 1.8 dB in the LMS and AWGN channels, respectively.