# Blind Estimation of GPS M-Code Signals under Noncooperative Conditions

Authors: Zixuan Rui; Xiaofeng Ouyang; Fangling Zeng; Xu Xu
Journal: Wireless Communications and Mobile Computing
 (2022)

---

## Abstract

In the process of Global Positioning System (GPS) modernization, M-code signals with better immunity to interference have been proposed and used in place of P(Y) signals as new authorization signals. A typical positioning, navigation, and timing (PNT) service is based on the local interrelation operation between the reference signal and the received signal. To obtain a PNT, the receiver should generate replicas of the pseudorandom code for acquisition and tracking. However, due to the use of an encryption algorithm, the receiver cannot use the M-code signal under noncooperative conditions. This paper presents an algorithm for estimating M-code sequences without prior knowledge. This algorithm adopts a waveform matching technique and a time domain filtering method to extract M-code from the in-phase channel and quadrature channel of the GPS L1 band. A high-gain antenna is used to receive GPS signals to keep the signal from being drowned out by noise. The experimental results show the feasibility of the method. Therefore, it is helpful for studying and evaluating the performance achieved without prior knowledge of the GPS signals.


---

## Body

## 1. Introduction

Although the Global Positioning System (GPS) has been widely used in military and civilian applications over the past three decades, its accuracy, continuity, and antijamming capabilities still need further improvement [1]. To establish effective warfare navigation capabilities while further improving system performance for both authorized and unauthorized users, the GPS modernization program has been implemented. The first phase of the GPS modernization program was the launch of the Block IIR-M satellites, which added a civilian L2C signal in the L2 band and broadcast a new military M-code signal in both the L1 and L2 bands [2]. The first GPS IIR-M satellite was launched on September 2, 2005. The second phase was the launch of the Block IIF satellites, which further enhanced the transmission power of the M-code signal and added a new civil signal in the L5 band [3]. The third phase is the launch of the Galileo-compatible Block III satellites, which will eventually replace all Block II satellites, thereby significantly improving GPS performance. As the next generation of military signals, M-code signals are the most critical content of the GPS modernization program and the primary means of achieving future warfare navigation objectives.As the military signals currently in use, P(Y) signals have provided high-accuracy navigation and positioning services for military users. The length of their pseudocode sequences, with a cycle time of up to seven days, and their complex encryption methods makes them almost impossible to decipher, but P(Y) signals also have the following inherent defects [4]. First, in the signal acquisition process, the long pseudocode sequences are challenging to capture directly, so the P(Y) signals are typically captured with the aid of the C/A code. The C/A code has shorter code sequences but poorer anti-interference capabilities. Therefore, this approach weakens the anti-interference and antispoofing capabilities of P(Y) signals. Second, the P(Y) signals use binary phase shift keying (BPSK) modulation. Their spectrum significantly overlaps with that of the C/A code, which means that C/A-code and P(Y) signals may interfere with each other, thus limiting the ability to improve anti-interference capabilities through power enhancement. To overcome these flaws of P(Y) signals, Betz proposed a new signal modulation scheme, binary offset carrier (BOC) modulation [5]. This modulation scheme is specifically designed for the characteristics of satellite navigation signals. It allows a new signal to be added to the current band without causing interference with the original signal components. M-code signals are gradually replacing P(Y) signals to provide more secure, accurate, and highly robust military navigation and positioning services.Because M-code signals are the next generation of military navigation signals, their pseudocode sequences and generation mechanism are highly classified [3]. This presents significant difficulties in estimating pseudocode sequences. Satellite selection and the pseudorange calculation depend on the replication of the pseudocode sequence. When the signal generation mechanism is unknown, the ranging performance and sequence characteristics cannot be accurately evaluated.For this reason, research institutions in Germany and Austria have carried out monitoring projects on GPS M-code signals. These projects focus on receiving GPS signals and separating the M codes from the composite signals to achieve the blind estimation of GPS M-code sequences [6]. Research teams from Austria and Ireland have developed a blind sequence generator for this purpose, using a 1.8-meter antenna to extract the code sequences of GPS M-code signals on the ground for tracking and measurement. To perform code sequence estimation for signals with unknown signal properties, the modulation of signals, code rate, center frequency, and phase of the auxiliary signal are used as features to determine the unknown signal. Similar to the GPS M-code signal, the ranging code of the Galileo Public Regulated Service (PRS) signal is also an authorized signal, and unauthorized users are prohibited from capturing and tracking PRS signals. In [7], the code sequences of PRS signals are extracted using a blind demodulation method which provides the code chips with the navigation data. In this paper, the GPS satellite signal is acquired by a 7.3-meter-diameter turntable antenna. In [8, 9], the authorized signals transmitted by the satellite are considered signals of opportunity (SOO) and are used to obtain a position solution. The M-code sequence is separated from the GPS L1-band multisignal component after being captured and tracked with the aid of the C/A code. Unlike P-code signals, the M code has no repetition period, so it is difficult to obtain the sequences from the perspective of blind identification of spread spectrum signals. In [10, 11], a similarity reconstruction estimation method is proposed to estimate the spreading code of nonperiodic code. Then, the eigenvalue decomposition (EVD) is used to estimate the spreading sequence.This paper is structured as follows. The first part establishes the GPS signal model. Here, we mainly refer to the mathematical model of a BOC signal that is used for the M-code signals. The second part presents an overview of the proposed method, giving a flowchart of the processes of GPS signal acquisition and M-code signal estimation using a high-gain antenna and a software receiver to acquire and track the demodulated GPS signal. The third part describes the process of analyzing the acquired signal in the L1 band. The signal waveforms, power spectra, and level histograms of the in-phase and quadrature channels are all considered comprehensively, in combination with official GPS documents to estimate the signal components and further determine the power relationships between the signal components. The fourth part demonstrates how to recover the M-code signals of the in-phase and quadrature channels and verifies the correctness of the recovered M-code signal sequences.


## 2. Establishment and Analysis of the Signal Model

GPS uses BOC modulation for the new class of military signals, the M-code signals. The BOC modulation scheme is denoted by BOC(fs, fc), where fs is the subcarrier rate and fc is the spreading code rate, defined in multiples of 1.023 MHz [12]. The signal model is
(1)SBOCfs,fct=e−iθ∑kakqnTst−knTs−t0CTst−t0,where ak is the spreading code of the modulated data; qnTs is a square wave with a period of nTs, and n is a positive integer representing the number of half-cycles of the subcarrier within a spreading symbol duration period. θ denotes the phase offset, and t0 denotes the time offset. CTst−t0 is the subcarrier, with a period of 2Ts. Ts is the half-period of the subcarrier, and the pulse width of the spreading symbol is nTs; the subcarrier, original sequence and BOC signal relationships are shown in Figure 1; thus, we can obtain the relationship between the subcarrier rate fs and the spreading code rate fc as follows:
(2)fs=12Ts,(3)fc=1nTs=2nfs.Figure 1
BOC-modulated signal waveform BOC-modulated signal waveform. The waveform in the first row represents the data code after spreading. The waveform in the second row represents the subcarrier. The third line of the waveform represents the data code using BOC modulation. These waveforms are rectangular pulses with amplitudes of +1 and −1.The power spectral density of a BOC-modulated signal is(4)GBOCfsfcf==fctanπf/2fssinπf/fcπf2,2fsfc=neven,(5)GBOCfsfcf==fctanπf/2fscosπf/fcπf2,2fsfc=nodd,wherefc is the spreading code rate, which takes a value of 10, and fs is the subcarrier rate. The spectrum of the M-code signal with BOC modulation is split into two parts so that the spectrum separation from the civil code signal is achieved [13]. The signal spectrum on the GPS L1 band is shown in Figure 2. Figure 3 shows the difference in the autocorrelation function between the BOC signal and the BPSK signal.Figure 2
Spectra of the GPS L1 signals. The L1-band signal contains three kinds of signals: C/A-code, P(Y)-code, and M-code signals. These signals use different types of modulation. The bandwidth of the M code reaches 30 MHz, which is larger than the 20 MHz bandwidth of the P code.Figure 3
Autocorrelation functions for different signals. The autocorrelation functions of BPSK signals and BOC signals with different code rates are compared.Figure3 plots the autocorrelation functions of BPSK signals and different BOC signals for comparison. This figure shows that the peaks of the autocorrelation functions of BOC signals are relatively narrow compared to those of BPSK signals. Multiple secondary peaks are present simultaneously, which can enable highly accurate code tracking and good multipath resolution due to the narrow prominent peaks of the autocorrelation functions of BOC-modulated signals. In the case of Gaussian white noise, the pseudorange measurement error of M codes is approximately 1/2.6 that of P(Y) codes; thus, the former has the potential to provide better navigation performance [14]. Figure 4 plots the autocorrelation function of BOC signal at different bandwidths, and it can be seen that the peak change of the autocorrelation function tends to flatten out as the bandwidth increases. Additionally, as the order of the BOC signal increases, the slope of the central peak of the autocorrelation function increases, and the signal becomes more sensitive to the time offset.Figure 4
M-code autocorrelation function at different bandwidths.


## 3. Algorithm Description

The first GPS III satellite, SVN-74, was built by Lockheed Martin Space and launched on December 23, 2018, from Cape Canaveral, Florida. It started transmitting signals in 2019 [15]. To acquire the latest M-code signal, this satellite is selected as the signal source. Satellite orbit data provided by the International GNSS Service (IGS) global monitoring network are used to control the high-gain antenna to maintain continuous tracking and signal locking on the dynamic satellite signal.The optimal detector at the GPS signal receiving end samples the received GPS signal after matching the filter at the receiving end to make a judgment. Taking a BPSK signal as an example, the input signalst is defined as
(6)st=A×∑n=−∞∞anμt−nTb,where an is a pseudorandom noise (PRN) sequence with values of ±1; μt is the modulation pulse of the signal; Tb is the chip period; nt is additive Gaussian white noise with variance δn2, and A is the amplitude of the received signal. The impulse response of the matched filter is
(7)ht=sTb−t.The outputyt after passing through the matched filter is
(8)yt=∫0tst+ntht−τdτ=∫0tsτ+nτsTb−t+τdτ.yt is sampled with a sampling interval Tb.(9)yTb=∫0Tbsτ+nτsτdτ=Eb+Z,where Eb is the bit energy, and Z is the noise energy. yTb obeys a Gaussian distribution with mean Eb and variance δn2. The bit error rate (BER) of the signal is
(10)pe=12erfcEbδn2.The carrier-to-noise ratio is often used as a measure of signal quality in satellite communication systems. It is independent of the noise bandwidth of the receiver, thus allowing a more intuitive comparison of the performance of different receivers. With this concept, the BER can be written as(11)pe=12erfcCN0×Rc.Figure5 shows that the higher the code rate of the PRN code is, the greater the carrier-to-noise ratio that is needed to reach the same level of chip error rate (CER). This is because the higher the code rate is, the less energy is available for estimation, which reduces the CER. In the worst case of the carrier-to-noise ratio, the CER reaches 50% because only random guesses can be made on the PRN code. To guarantee the correct verdict for a code sequence, it is necessary to ensure that the CER is better than 10% so that the carrier-to-noise ratio is greater than 59 dB Hz for L1 C/A signals and greater than 69 dB Hz for P(Y) signals [16].Figure 5
CERs for BPSK signals at different code rates. Differently colored curves represent the CERs for different code rates.Considering the effect of noise on M-code sequence identification, the receiver antenna needs to have a significant signal gain to ensure that the M-code sequence is not obscured by noise. Under the conditions that the temperature is 290 K, and the receiver bandwidth is 20 MHz, the noise powerN within this bandwidth is
(12)N=kTBN=1.38×10−23×290×20×106=−131dBW,where k is the Boltzmann constant; T is the noise temperature, and BN is the noise bandwidth. Based on the minimum received power of -158 dBW when the M code reaches the ground, the ambient thermal noise is higher than the M-code signal by 27 dB [17]. At the same time, no spreading gain can be obtained through correlation if the M code cannot be generated locally. Therefore, a high gain of the antenna system is needed to improve the signal-to-noise ratio of the received signal. In this study, the high-gain antenna system has a 37 dB gain and a low-noise amplifier with a 50 dB gain, which is sufficient to separate the GPS signal from the noise. Table 1 shows the characteristics of GPS III L1 signal components, including signal modulation, minimum received power, signal multiplexing mode, chipping rate, and other parameters. It can be seen that there are M-code signals on both signal channels.Table 1
GPS III L1 signal components.
ComponentModulationChipping rate (MHz)Phase I/QMinimum received power (dBW)L1C dataBOC (1, 1)1.023I-163.0L1C pilotTMBOC (6, 1, 4/33)1.023I-158.25C/ABPSK (1)1.023Q-158.5P(Y)BPSK (10)10.23I-161.5MBOC (10, 5)5.115I and Q-158The GPS signal is sampled at a sampling rate of 125 MHz after downconversion. Since the receiver cannot generate a replica of the M code, it cannot carry out M-code signal acquisition and tracking by searching for the code in two dimensions [18]. However, the M-code signal is broadcast with a C/A-code signal and a P(Y)-code signal in the L1 and L2 bands, respectively; accordingly, it has the same Doppler offset as the accompanying signal in the same band. Thus, M-code acquisition can be achieved with the help of the C/A code. The M-code signal is moved to the baseband together with the other signals. Then, the auxiliary signal is filtered out in accordance with the different characteristics of the M-code signal and other signals in different signal taps to obtain the baseband M-code sequence. The complete signal recording and processing process is shown in Figure 6.Figure 6
Process of signal recording and processing. This figure shows the whole process of signal acquisition, signal processing, and code sequence estimation.Figures7 and 8 show the results of the acquisition and tracking using the GPS software receiver. The results show that the receiver successfully acquired the signal, and the tracking loop runs normally; the navigation message is demodulated, and the baseband satellite signal is obtained.Figure 7
Acquisition of satellite signals. Different colours represent different satellite capture states, and the height of each histogram bar represents the peak of the acquired signal.Figure 8
Tracking and demodulation of navigation messages. This figure contains the delay-locked loop (DLL) and phase-locked loop (PLL) parameters and shows that the signal loop gradually converges.


## 4. L1-Band GPS Signal Analysis

To improve spectrum utilization, GPS adopts quadrature modulation to modulate the signals in the in-phase and quadrature channels separately. In addition, GPS satellites generate pseudorandom sequences with the asymmetric rise and fall times of the code elements, which is considered one of the primary sources of positioning errors. To overcome the problem of digital distortion, the GPS Block IIF and GPS Block IIR satellites adopt coherent adaptive subcarrier modulation (CASM), which splits the multiple signals on the carrier in either the time or phase domain such that the synthesized signals have constant envelope characteristics. In the Block III satellites, the P(Y)-code signals are combined with the L1CP and L1CD signals in the in-phase channel using weighted voting modulation. Analysis of the spectrograms of the in-phase and quadrature channels shows that in the L1 band, the M code is modulated together with the C/A code in the quadrature channel, whereas the M code is modulated together with the P code in the in-phase channel. In the in-phase channel, two narrow peaks appear in the signal at the center frequency of the spectrum, which can be distinguished as the L1C signal with BOC (1, 1) modulation. The M-code signal with BOC (10, 5) modulation appears at a distance of 10 MHz from the center frequency. The M-code signal and the C/A-code signal in the quadrature channel can also be observed at the center frequency. Figures9 and 10 show the spectrum of the in-phase and quadrature channel of the GPSL1 band received by the high gain antenna, respectively.Figure 9
Spectrogram of the SV4 in-phase channel. The waveform in the middle represents the C/A code, and the waveforms on both sides represent the M code.Figure 10
Spectrogram of the SV4 quadrature channel. The middle waveform represents the M code, and there is no C/A code in this channel.In the following, the M-code sequences will be identified from the in-phase (I) channel and the quadrature channel individually. In the I channel, the P(Y)-code and M-code signals are linearly combined; the P(Y) code is modulated by BPSK (10) with a code rate of 10.23 MHz, and the M-code signal is modulated by BOC (10, 5), so the spreading code rate is 5.115 MHz, and the length of each chip period is4Ts. Each spreading code chip contains four subcarriers. After subcarrier modulation, the square-wave rate becomes 20.46 MHz, corresponding to two M-code chips within the width of one P-code chip. The P-code and M-code signals are linearly superimposed and modulated to the same phase channel, and the signal SIt is expressed as follows:
(13)SIt=PPdptcpt+PMdMtcMtcos2πfct+θ+nt.Here,PP and PM denote the signal power levels of the P(Y)-code and M-code signals, respectively, in the I channel. dpt and dMt are the modulated navigation data. cpt is the PRN sequence of the P-code signal. cMt is the square-wave signal obtained by multiplying the PRN sequence of the M-code signal by the square-wave subcarrier. fc is the carrier frequency of the GPS satellite signal; θ is the carrier phase, and nt is Gaussian white noise. Under the assumptions that the amplitude of the P-code signal is 1 and the amplitude ratio of the M-code signal to the P-code signal is m, the linear combination of the baseband signals of the P-code and M-code signals can be expressed as
(14)SIt=SPt±m⋅SMt+nt.When the P-code is 1, the corresponding M code can be1,−1 or −1,1; when the P code is -1, the corresponding M code can be −1,1 or −1,1. Thus, there are four possible cases for the amplitude of the superimposed code: 1,m−1,1, 1,m1,−1, −1,m1,−1, or −1,m−1,1. Figure 11 shows the time domain waveform of the L1 signal.Figure 11
SV4 L1-band signal. The presence of code elements can be observed in the time-domain waveform of the signal.Table1 shows that the M-code signal reaches the ground with a minimum power of -158 dBW, whereas the minimum received power of the P-code signal at the ground is -161.5 dBW, meaning that the power of the M-code signal is greater than that of the P-code signal. Theoretically, it should be 2.24 times the P-code power. In a histogram of the received signal levels from Figures 12 and 13, it can be seen that the ratio between the maximum- and minimum-level amplitudes is approximately 4 : 1; from this, it is possible to calculate that the actual amplitude ratio. m between the M-code and P-code signals is approximately 1.66. The amplitude relationship between the P-code and M-code signals can be used for the blind identification of the M-code signal.Figure 12
Histogram of I-channel signals. The amplitude ratio of the I-channel signal component can be visualized from the histogram. The horizontal band represents the level of the superimposed I-channel signal, and the vertical band represents the frequency of the level.Figure 13
Histogram of Q-channel signals. The amplitude ratio of the Q channel signal component can be visualized from the histogram. The horizontal band represents the level of the superimposed Q-channel signal, and the vertical band represents the frequency of the level.


## 5. Implementation and Testing

A GPS software-defined receiver is used for signal acquisition and tracking. Figures6 and 7 show that the signal from GPS PRN4 is acquired successfully, and that the code-tracking loop and the carrier-tracking loop converge. The signal can be used to properly demodulate the navigation message. Figure 14 shows the algorithm of blind M-code estimation.Figure 14
Flowchart of blind M-code estimation. The algorithm is designed based on signal tracking loops.Each chip periodTp of the Q-channel baseband signal contains a combination of P-code chips and M-code chips. In accordance with the relationship between the sampling rate and the P-code rate and the numerical size of the sampling point, the position of the starting point of the code can be found. Then, the sampled data are chunked in accordance with the P-code and M-code sampling rates. In this paper, the sampling rate of the GPS PRN4 satellite signal is 125 MHz; the P-code chipping rate is 10.23 MHz, and the M-code chipping rate is equivalent to 20 MHz; thus, every 12 sampling points correspond to one P-code chip, and every six sampling points correspond to one M-code chip.The analysis of four cases shows that two M-code chips corresponding to the value of a sampling point must have opposite (positive and negative) signs. If the first M-code chip corresponding to the value of the sampling point is negative, this means that the P code and M code take values of1,m−1,1 and −1,m−1,1. Then, the absolute values of the first M-code chip and the second M-code chip should be compared. If the absolute value of the first chip is smaller than that of the second one, this means that the P code takes a value of 1, and the two M codes take values of (−1, 1). The same is true for the case in which the first M-code chip has a negative value. Therefore, the M-code and P-code values can be identified simultaneously by using the different positive and negative signs of the corresponding sampling points due to the power of the P code and M code. The identified M-code and P-code signals are shown in Figure 15.Figure 15
The estimated M code and P code. Since the M code is superimposed with the P code, the sequences of the two codes are extracted simultaneously.To verify whether the separated P-code and M-code signals are correct, the waveform distribution is used to check the code sequence. The obtained P-code and M-code sequences are superimposed in accordance with the power ratiom=1.6 and compared with the original sampled Q-channel signal to observe whether the signal waveforms are consistent with the original signal. From the results for the time-domain waveform of the original signal and the signal waveform of the recovered signal after superposition in accordance with the power ratio, it is seen that the signal waveform matches. Figure 16 shows the waveforms of the original signal and the recovered signal.Figure 16
Raw signal and recovered signal. The extracted code sequences are superimposed in proportion to the original power and compared with the original waveform to verify correct extraction.At the same time, the M-code signal is modulated in both the I and Q channels, so the M-code sequence recovered from the Q-channel can also be used to perform correlation operations with the signal from the I channel. If there is a correlation peak, the M-code sequence recovered from the Q-channel is consistent with the M-code sequence in the I channel, indicating that the recovered sequence is correct. The correlation peaks are shown in Figure17.Figure 17
Cross-correlation function for the M-code and I-channel signal.In the I-channel, the M code and C/A code are modulated together in a linear combination; however, the two pseudorandom codes correspond to different code rates, so the blind M-code identification algorithm above cannot be applied in this situation. It can be seen from the figure that the frequencies occupied by the C/A-code and M-code signals are different; therefore, a filtering method can be considered to filter the C/A code, and then, the sign function can be applied to achieve blind identification of the M-code sequence. The expression for the Q-channel signal is(15)SQt=PCAdCAtcCAtcos2πfct+θ+PMdMtcMtcos2πfct+θ′+nt,where PCA is the C/A-code power in the quadrature channel; dCAt is the navigation message; cCAt is the C/A-code sequence, and θ and θ′ denote the initial phases of the C/A code and M code, respectively. Blind estimation of the M-code sequence in the orthogonal branch also requires capturing and tracking the C/A-code signal to remove the Doppler frequency in order to obtain the baseband signal. The baseband signal is passed through a bandpass filter with a passband frequency designed to filter out the C/A code signal; then, the filtered signal from the same-phase branch no longer contains the C/A code signal at the frequency of 1.023 MHz. Finally, the sign of the filtered signal is taken. Blind identification of the M-code sequence can be realized by applying the sign function to the filtered signal. Through this filtering method, the C/A code signal can be obtained simultaneously with the M-code sequence so that the local C/A code can be used to check the M-code sequence. A comparison of the time domain waveforms of the identified signal and the I-channel signal is shown in Figure 18.Figure 18
I-channel signal and identified signal. The horizontal coordinate indicates the number of code pieces of M code. The identified M-code waveform is aligned with the I branch signal and then compared, and the M code corresponds well to the waveform of the I channel signal.It can be seen from Figures19 and 20 that the C/A-code signal extracted via the filtering method is the same as the local C/A-code signal generated in accordance with IS-GPS-200 J, indicating that the C/A-code and M-code signals have been successfully separated.Figure 19
M-code and C/A-code signals recovered from the raw signal. Since the M and C/A codes have different code rates, one C/A code will correspond to multiple M-code chips.Figure 20
Recovered C/A code and local C/A code. The C/A-code and M-code sequences are extracted at the same time; the correctness of the C/A code will verify the correctness of the M code.


## 6. Conclusion

This paper has presented a method for the blind estimation of M-code sequences based on the amplitudes of different signal components and spectral distribution characteristics. A ground-based high-gain antenna receives the GPS III satellite signal as the data source. After downsampling, the M-code signal is captured with the aid of the C/A-code signal to obtain the offset of carrier frequency and code phase. The blind identification of M-code sequences requires different approaches depending on the signal components. For the Q channel, the P-code and M-code signals are separated chips by chips using the waveform matching technique. In the I channel, the two signals are separated by means of a filtering method using the different spectral distributions of the M-code and C/A-code signals. The results show that the blind estimation of M-code sequences under noncooperative conditions is achieved. This paper provides a new idea for the study of noncooperative signals in GNSS systems. Authorized sequences extracted from GPS signals can be used to study and conduct performance assessments under the condition that the encryption algorithm is unknown.In future work, the internal characteristics of the identified M-code sequences can be further studied, and the possibility of using M-code signals for localization under noncooperative conditions can be considered.



---

*Source: 6597297-2022-10-12.xml*