Abstract
The GPS C/A-code is the most widely utilized GNSS signal today. The C/A-code design includes (1) a short (length-1023) spreading code that repeats every 1 ms and (2) a low (50 bps) data rate. These two characteristics can lead to undesired interactions between received C/A-code signals within user equipment. In this paper, a simple model is derived for predicting the impact of C/A-code self-interference on receiver performance. The accuracy of the model in predicting C/A-code self-interference is assessed through the use of a high-fidelity GPS receiver software simulation.
1 INTRODUCTION
The GPS C/A-code is the most widely utilized GNSS signal today. The C/A-code design includes (1) a short (length-1023) spreading code that repeats every one millisecond and (2) a low (50-bps) navigation data rate. These two characteristics can lead to undesired interactions between received C/A-code signals within user equipment. This topic has been the subject of much prior research.1–10
In this paper, a simple model is derived for predicting the impact of C/A-code self-interference on GPS receiver functions that are dependent solely on prompt 20-ms correlation sums (eg, carrier phase tracking and data demodulation). The model is based upon the use of a two-parameter autocorrelation function to characterize a C/A-code signal either with or without navigation data. The paper additionally provides an assessment of the accuracy of the model in predicting C/A-code self-interference. This assessment is accomplished through the use of a high-fidelity GPS receiver software simulation.
The model described in the paper is intended for system-level interference assessments, and the paper describes two current applications: (1) development of interference requirements for next-generation GNSS avionics and (2) US bilateral and multilateral radiofrequency compatibility assessments for emerging or evolving GNSS constellations.
2 RECEIVER AND SIGNAL MODEL
Figure 1 shows a model for a correlator within a GPS C/A-code receiver when presented with interference from a single C/A-code signal. The interfering C/A-code signal, s1(t − Δ), with Doppler frequency difference, ω (rad/s), is correlated against a C/A-code replica, s2(t). For steady-state tracking, the correlator output is integrated over a navigation data bit period, Tb = 20 ms.
The interfering C/A-code signal without Doppler or time delay is modeled as
1
where dk ∈ {+1,−1} are the navigation data bits, cm ∈ {+1,−1} are the C/A-code spreading code chips, Tc = 1/(1.023 MHz) is the spreading code chip period, and pTc(t) is a rectangular pulse of width Tc, that is,
2
For the purposes of the model developed in this paper, the C/A-code spreading code is treated as a random periodic sequence of length-1023 chips, with each chip value cm independent from another. As with the true pseudorandom C/A-code sequences, in Equation (1), the length-1023 spreading code repeats 20 times over each 20-ms data bit interval. A single repetition occurs over period T = 1023Tc = 1 ms, and there are a total of 20 460 chips in one 20-ms data bit period so Tb = 20 460Tc. This structure is illustrated in Figure 2.
The receiver spreading code replica is modeled similarly but without navigation data:
3
Although the same notation is used in Equations (1) and (3) for the spreading code chips, importantly, the chip values for the replica are assumed to be statistically independent of the chip values for the interfering C/A-code signal. The replica and interfering signals have a differential delay of Δ seconds. The differential delay is typically within the range of ±25 ms for GPS users on or near the surface of Earth. Both of these signals are cyclostationary, not wide-sense stationary (WSS), and thus, their statistics are properly characterized using their two-parameter autocorrelation functions. Since the period of the cyclostationarity is 20 ms, without any loss of generality, the model introduced in this paper will only consider differential delays ranging from 0 to 20 ms, that is, 0 ≤ Δ < 20 ms, which is set equal to the absolute differential delay modulo 20 ms.
Although in a real receiver both the incoming interfering signal and replica would have Doppler frequencies, for simplicity within this paper, the replica is assumed to be generated with zero Doppler and the interfering signal with differential Doppler ω in rad/s or f = ω/(2π) in hertz. This frequency represents the difference in Doppler between the interfering C/A-code signal and the desired C/A-code signal when the receiver is in tracking mode.
3 INTERFERENCE STATISTICS
The kth correlator output, yk, is a random variable. Its mean value (with respect to the random chip and data bit values) is
4
and its variance is
5
To proceed further, the two-parameter autocorrelation functions of the interfering C/A-code signal and receiver replica, R1(α,β) and R2(α,β), respectively, are needed. These are derived in Appendix A. The results are
6
for the replica signal autocorrelation where the integer l is given by
7
and for the interfering signal autocorrelation
8
where the integers k and m are given by
9
Figure 3 shows an example of the autocorrelation function of the receiver C/A-code replica, R2(α,β), for α ∈ [0,Tc). Once the first time value, α, is fixed, this two-parameter autocorrelation function consists of 20 pulses of width Tc with unity amplitude over any 20-ms correlation interval. For instance, as shown in the figure, if α falls within the time duration of the first repetition of the first chip in the spreading sequence, then the autocorrelation function takes on a value of unity for the duration of every repetition of this chip and is 0 for all other values of β. The same autocorrelation function would result if α fell within any other repetition of the first C/A-code chip, for example, α ∈ [13 T,13 T + Tc).
3.1 Data bits aligned
The simplest scenario to evaluate is when the interfering C/A-code signal’s data bits are aligned with the desired C/A-code signal, that is, Δ = 0 (see Figure 4). With Δ = 0, the autocorrelation functions of both the interfering C/A-code signal (Equation (8)) and the receiver replica (Equation (6)) become identical over each correlator integration interval. Further, since a unit amplitude pulse train is unchanged by self-multiplication, Equation (5) becomes
10
As derived in Appendix B, substituting Equation (6) into Equation (10) yields:
11
If the receiver correlator shown in Figure 1 was driven by additive white Gaussian noise with power spectral density I0, rather than by an interfering C/A-code signal, its output would have zero mean and variance:
12
Comparing 12 with 11, an equivalent white noise interference density I0 can be defined as the level of white noise that causes the same correlator variance as the true C/A-code interference. This level is
13
for the assumed unit-power interfering C/A-code signal and
14
for the more general case where the interfering C/A-code signal is set to PR watts. The spectral separation coefficient (SSC) (see, eg, Betz and Goldstein11) is defined by the comparison of the first and second line of Equation (14).
For most users at or near the surface of Earth, the differential Doppler between received C/A-code signals is dominated by the motion of the GPS satellites and within the range −10 kHz < f < 10 kHz. With this restriction on f, the SSC can be well approximated as
15
This SSC approximation is plotted in units of dB/Hz in Figure 5.
3.2 Data bits misaligned
Consider next the case when the interfering C/A-code signal’s data bits are not aligned with the desired C/A-code signal, that is, Δ 6 ¼ 0 (see Figure 6). In this case,
16
with m as defined in Equation (9).
As derived in Appendix B, if the data bit misalignment is an integer multiple of 1 ms, that is, Δ = KT for integer K, with 0 ≤ K < 20, then,
17
For typical differential Dopplers that are less than 10 kHz in magnitude (see earlier discussion), the SSC for this case is well approximated as
18
For the more general case where Δ = KT + CTc where both K and C are integers, with 0 ≤ K < 20, and 0 ≤ C < 1023, the SSC becomes
19
where SSCK is the SSC that arises when Δ = KT (ie, the SSC in Equation (17) for arbitrary differential Doppler or Equation (18) for typical near-Earth user differential Dopplers).
3.3 Effect of small changes in data bit alignment
The previous subsection presented an expression for SSC that is valid when the data bit misalignment between interfering and desired C/A-code signals is constrained to an integer multiple of a C/A-code chip period. With this constraint, the product of the two-parameter autocorrelation functions of the desired and interfering signal becomes a pulse train where each pulse has width of Tc:
20
which is the same as Equation (16).
Small changes in data bit alignment on the order of a single C/A-code spreading code chip (Tc ≈ 978 ns) can significantly alter the correlator output variance. For instance, if the interfering signal’s navigation data bits start out perfectly aligned with the victim signal’s navigation data bits, the SSC shown in Equation (15) results. If the data bit misalignment Δ increases from 0, then the situation illustrated in Figure 7 arises. The product of R1(α − Δ,β − Δ) and R2(α,β) is no longer a train of pulses of width Tc. For fixed α, the product of R1(α − Δ,β − Δ) and R2(α,β) for 0 ≤ Δ < Tc is either a train of pulses of width Δ or width Tc − Δ (only the first pulse in the train is shown in the figure). By the time that Δ has reached just one-half a chip (Tc/2), then it is straightforward to show (as outlined below) that the SSC will be given by Equation (15) divided by two.
For an arbitrary Δ, let Δc = mod (Δ,Tc). Then, the product of R1(α − Δ,β − Δ) and R2(α,β) will consist of a train of pulses of width Δc for a fraction of Δc/Tc values of α and pulses of width (Tc − Δc) for a fraction of (Tc − Δc)/Tc values of α. The net result, for typical differential Dopplers, is that a factor of Tc in the SSC expressions in the previous subsection is replaced by a factor of
21
Note that, per Equation (21), C/A-code self-interference effects are maximized when the interfering C/A-code signal’s chips are perfectly aligned with the desired C/A-code signal’s chips (Δc = 0). The effects are minimized when the interfering and desired signals’ chips are perfectly staggered (Δc = Tc/2).
Due to user-satellite motion, most interfering satellites are expected to have their bit alignment with respect to the desired signal undergo changes greater than one-half a chip over small time intervals. For instance, with a differential Doppler of 1 kHz, the differential bitphase between a desired and interfering signal will change by 1000/1540 ≈ 0.65 chips per second. With this rationale, the model within this paper is implemented using an averaging over the “fast” fluctuations in SSC that are expected to arise due to small changes in differential bitphase. Replacing an original factor of Tc in Equation (18) with 2Tc/3, which is the average of Equation (21) over Δc, yields
22
The SSC predicted from Equation (22) is shown in Figure 8 for various values of Δ from 0 to 10 ms. The SSCs for values of Δ > 10 ms can be inferred from the figure since, due to symmetry, the same SSC results for bit misalignments of 20 ms − Δ as for Δ.
As implemented, for an arbitrary Δ = KT + CTc + Δc, Equations (19) and (22) are utilized with a rounded value of C. The rounded value of C is simply C itself for Δc ≤ Tc/2 or C + 1 for Δc > Tc/2. If the rounded value of C is 1023, then C is set to 0 and K is incremented.
4 COMPARISON WITH EARLIER RESULTS
If the cyclostationarity of the C/A-code signal is ignored, and this signal is instead treated as a WSS random process, then considerable simplification results. In this case and with differential Doppler ω = 0, as derived by Hegarty et al,12 Equation (5) reduces to
23
for a coherent integration interval of 20 ms. Using an arbitrary coherent integration interval of Ti seconds and scaling the correlator output variance to yield an equivalent white noise level yields
24
In Equations (23) and (24), single-parameter autocorrelation functions are used as appropriate for WSS random processes. Each single-parameter autocorrelation is related to the previously defined two-parameter autocorrelation function by
25
Oftentimes, it is more convenient to work in the frequency domain, using the power spectrum of both desired and interfering signals. For WSS signals, Equation (24) can alternatively be expressed as12
26
where Si(f) is the Fourier transform of Ri(τ) (for i = 1,2). As Ti is steadily increased, Equation (26) approaches13
27
Although the C/A-code signal is more accurately modeled as being cyclostationary, the WSS assumption was made in past efforts to model C/A-code self-interference effects. The remainder of this section describes these earlier models in increasing order of sophistication.
The simplest model for C/A-code self-interference is to ignore the fact that the pseudorandom noise (PRN) code repeats every 1023 chips and treats the PRN as an infinitely long coin-flip sequence. Furthermore, utilizing a time average allows the use of the simple, single-valued autocorrelation function:
28
and corresponding power spectrum
29
Utilizing Equation (29) with (27) yields
30
for a unit-power interfering C/A-code signal, or
31
more generally for an interfering C/A-code signal with received power of PR watts. In decibel units, the SSC in Equation (31) is approximately −61.9 dB/Hz and is not a function of either differential Doppler or differential bitphase. This assumption was made in some early C/A-code interference treatments.14
More complicated WSS models have been proposed7–9, 15, 16 to predict C/A-code self-interference by taking into account the true C/A-code structure with 20 repetitions of the PRN code per navigation data bit. These references all provide SSC equations that are equivalent in value (but not necessarily in form) to
32
where P = 1, 2, or 3 depending on whether the model assumes navigation data on both the interfering signal and receiver replica,15, 16 on only the interfering signal,8 or on neither.7 The P value also depends on whether the model takes into account a finite (eg, 20 ms) coherent correlation period (Equation (24) or (26)) or used the long coherent period approximation (Equation (27)). With P = 1, Equation (32) can be shown to be equal to Equation (22) evaluated with K =0.
Of the previously proposed WSS C/A-code interference models, those that rely on Equation (32) with P = 2, as in O’Driscoll and Fortuny-Guasch8 or Van Dierendonck and Hegarty15 (but for the wrong reasons within the latter), are the most accurate for general use as will be demonstrated later within this paper. However, as will be shown, the new cyclostationary model introduced in this paper is more accurate still albeit slightly more complicated. The increased accuracy and increased complexity both arise due to the dependence of the proposed model on knowledge of differential bitphase in addition to differential Doppler.
It is important to note that no random model will ever be as accurate as assessments of C/A-code self-interference based upon use of the true deterministic C/A-code PRNs.4 However, random models are much simpler to utilize in practice, which was the main motivation for this study.
5 MODEL UTILIZATION
The model derived in this paper may be used with a simple orbit propagator to predict levels of C/A-code interference that may arise at any time and any arbitrary location on/near Earth. Using a satellite effective isotropic radiated power (EIRP) that is a function of off-boresight angle, the orbit propagator can provide estimates of (1) received power levels, (2) received Doppler frequencies, and (3) true range for the C/A-code signals received from each visible satellite. These three parameters are utilized along with Equations (19) and (22) to predict the equivalent white noise interference level presented to the user.
Table 1 shows a simple example of the computations involved with four visible satellites. The first column is the satellite PRN identifier. For this example, PRN 1 is the desired satellite. The second column is the received power level, which can be calculated using standard methods involving the true range, EIRP in the direction of signal propagation, and user antenna gain model.17 The transit time is simply the true range divided by the speed of light. The Doppler frequency can be computed using a finite time difference within the orbital propagator.
Equations (19) and (22) are used to compute the fifth column of Table 1. The differential frequency parameter, f, used within Equation (22) is found by differencing the desired signal’s Doppler from each interfering signal’s Doppler. Similarly, the data bit misalignment parameter, Δ, is found by differencing the desired signal’s transit time from each interfering signal’s transit time. So, for instance, the SSC for PRN 2 is found using Equation (19) with f = −1069.4 Hz and Δ = 8 T + 307Tc = 8.3 ms (note the rounding of Δ as discussed earlier). The total level of equivalent white noise interference seen by the receiver channel tracking PRN 1 is −215.9 dBW/Hz (which is much lower than a typical receiver noise floor of around −201.5 dBW/Hz and would not be of concern for most applications).
The model proposed in this paper has been adopted for use by Special Committee 159 of RTCA, Inc. (formerly the Radio Technical Commission for Aeronautics) for their update of a report (RTCA document DO-235B) assessing the interference environment in the 1559- to 1610-MHz band. This report update is being undertaken to support the development of interference requirements for next-generation GNSS avionics. The proposed model has also been adopted for use in US bilateral and multilateral radiofrequency compatibility assessment activities, which are being conducted under the auspices of the International Telecommunication Union. Previously, C/A-code self-interference was underestimated using an SSC of −60 dB/Hz by both RTCA and within US bilateral/multilateral activities based loosely upon Equation (31) along with a recognition that C/A-code SSCs can be worse than this value but were previously difficult to quantify.
6 VALIDATION
To validate the model derived in this paper, a GPS receiver simulation tool was utilized. The GPS C/A-code signals were emulated using the true, deterministic PRN codes with a 4-MHz sample rate, random 50-bps navigation data, and using an orbital simulator to emulate the satellite positions for a 36-satellite GPS constellation from Cerruti et al.10 Thermal noise and broadband interference were emulated as additive white Gaussian noise with spectral density of −198 dBW/Hz. For further details on the scenario, see Cerruti et al.10
PRN 6 was selected as the desired satellite for a user in Illinois over a 20-min simulation time. Over this 20-min period, up to 14 interfering C/A-code signals were visible above the local horizon. With the receiver in a steady-state tracking mode (e.g., with the code and carrier tracking loops locked), each interfering satellite’s contributions to the 20-ms correlation sums driving the tracking loops were recorded. The results are shown in Figure 9. Each contribution exhibited a mean value very close to 0. Vertical biases were added to each within Figure 9 to facilitate viewing. The colored curves in the figure are the raw 20-ms correlation sum contributions from each interfering signal.
Although not easily discerned in Figure 9, there are also two other sets of curves. The first set of curves are running estimates of ±one-sigma values (using a moving window of 400 data points = 8 s in time for the 50 Hz correlation sums). The second set of curves are predicted ±one-sigma values using the model proposed within this paper. The predicted ±one-sigma values are found using Equations (22) and (19) to determine an equivalent white noise level and then Equation (12) to relate these to the predicted variance. The predicted one-sigma is simply the square root of the predicted variance. Excellent agreement was found in all cases between the observed one-sigma values and the predicted one-sigma values. As just one example, Figure 10 shows an expanded view of the PRN 16 result from Figure 9 (as noted earlier, an artificial vertical bias was added to facilitate viewing).
The interfering signals’ contributions to the correlation sums were observed to exhibit a dependence on both differential Doppler and differential bitphase. This dependence is illustrated in Figure 11, which plots SSC estimates that were formed by scaling the running one-sigma estimates for each interfering signal over the 20-min simulation time. The appropriate scaling is found combining Equations (12) and (14):
33
In Figure 11, the horizontal axis is differential Doppler modulo 1 kHz. Excellent agreement is found between these observed results and those predicted in Figure 8. Earlier proposed WSS C/A-code interference models are far less accurate primarily because they predict equivalent white noise levels that are not a function of differential bitphase. Equation (32) with P = 2 provides the best match of any previously proposed WSS model to the observed simulation results if they are averaged over differential bitphase, but the prediction accuracy using Equations (19) and (22) as proposed within this paper is far superior.
Figure 12 illustrates the accuracy of the model in predicting the overall PRN 6 correlation sum statistics over the 20-min simulation time. The figure shows the overall thermal noise plus interference level (N0 + I0) experienced by the receiver in tracking PRN 6 as inferred from the simulation results using Equation (12) and as predicted by the model proposed in this paper using Equations (19) and (22).
Additional validation is ongoing within RTCA’s Special Committee 159. Thus far, the model has been found to be far more accurate than previous models in predicting C/A-code self-interference.
7 SUMMARY
This paper has proposed a simple model for predicting the impact of C/A-code self-interference on GPS receiver functions that are dependent solely on prompt 20-mscorrelation sums (e.g., carrier phase tracking and data demodulation). The model treats the C/A-code signal as a cyclostationary random process and is more accurate albeit slightly more complex than previously proposed models, which treat the C/A-code signal as a WSS random process. The increased accuracy and increased complexity both arise due to the dependence of the proposed model on differential bitphase in addition to differential Doppler.
The accuracy assessments in this paper focused on the ability of the model to predict the level of white noise that when injected into the victim receiver would produce the same second-order statistics (mean and variance) of a GPS receiver’s 20-ms correlation sums as the C/A-code self-interference. Importantly, this paper did not directly assess the performance of the receiver’s tracking loops in the presence of the C/A-code self-interference versus in the presence of this equivalent level of white noise. This topic is outside the scope of this paper, and the interested reader is referred to Golshan et al.18
HOW TO CITE THIS ARTICLE
Hegarty CJ. A simple model for GPS C/A-code self-interference. NAVIGATION-US. 2020;67:319–331. https://doi.org/10.1002/navi.359
APPENDIX A: AUTOCORRELATION FUNCTION DERIVATIONS
This appendix derives the autocorrelation functions of both the interfering C/A-code signal and the receiver C/A-code replica.
A.1. Interfering signal autocorrelation
The two-parameter autocorrelation function, R1(α,β), is defined by
A1
Substituting Equation (1) into Equation (A1) yields
A2
where, in the last line, the integers k and m are restricted to their unique values such that
A3
or equivalently,
A4
The fact that there are unique values for the integers k and m follows directly from Euclid’s division lemma (see, e.g., Andrews19). Note that the values of k and m are independent of the value of l.
APPENDIX B: CORRELATOR OUTPUT VARIANCE DERIVATIONS
This appendix derives correlator output variance using Equations (5), (6), and (8) for various scenarios.
B.1. Data bits aligned
Substituting Equation (6) into Equation (10) yields
B1
The inner integration is the Fourier transform (FT) of a pulse train. Using
B2
and the time-shift property of the FT, Equation (B1) can be rewritten as
B3
The summation that appears in Equation (B3) can be expressed as
B4
Substituting Equation (7), and focusing on the zeroth correlation sum (with no loss of generality), the integral on the right-hand side of Equation (B3) can be progressed as
B5
The progression from the second to the third line of B5 is obtained by dividing the integral of α over 1023 subintervals of width Tc and noting that the integrals of each subinterval are equal (since the argument of the integral is periodic with period Tc). Equation (B5) also relies in several instances on the identity for the floor operator that ⌊x+r⌋ = ⌊x⌋+r for real x and integer r.
Substituting Equations (B4) and (B5) into (B3) yields
B6
B.2. Data bits misaligned by an integer multiple of a C/A-code chip period
Substituting Equation (20) into Equation (5) and focusing on the zeroth correlation sum (with no loss of generality) yields
B7
To proceed further, it is useful to define the following disjoint sets:
B8
Then,
B9
The integrals with respect to β are simple FTs. Taking these FTs yields
B10
Substituting Equation (9) and considerable algebra results in
B11
If C = 0, then Equation (B11) reduces to
B12
- Received May 22, 2019.
- Revision received November 6, 2019.
- Accepted January 30, 2020.
- © 2020 Institute of Navigation
This is an open access article under the terms of the Creative Commons Attribution License, which permits use, distribution and reproduction in any medium, provided the original work is properly cited.