**Q: How does one compute the noise power to simulate real and complex GNSS signals?**

**Q: How does one compute the noise power to simulate real and complex GNSS signals?**

**A: **Simulation of GNSS signals is very important to test and validate algorithms. With some algorithms, such as acquisition or tracking, we do not need to simulate a realistic constellation with actual ranges, Doppler or navigation data. We can simply simulate the signal after reception at a receiver’s front-end and only take into account and fix to desired values certain parameters, such as the intermediate and the sampling frequencies, the Doppler and Doppler rate, or the signal and the noise power. This last parameter requires some caution, because the noise power depends on the type of sampling (real or complex).

In this article we show how to simulate noisy GNSS signals after a front-end. We will first present the model considered for the received signal and review the constraints on the intermediate and sampling frequencies for real and complex sampling. Then, we will introduce the noise, review the properties of a white noise, and discuss the sampling of a band-limited white noise to determine the expression of the noise power.

**Signal model**

The GNSS signal received at the antenna can be modeled as

*S _{r}(t)* =

*a*cos(2

_{I}x_{I}(t)*πf*+

_{r}t*ϕ*) +

_{r}*a*sin(2

_{Q}x_{Q}(t)*πf*+

_{r}t*ϕ*),

_{r}**(1)**

where *t* is the time; *a _{I}* and

*a*are amplitudes of the in-phase (I) and quadrature-phase (Q) components;

_{Q}*x*and

_{I}(t)*x*are the baseband signals of the I and Q components consisting of a spreading code and possibly a secondary code, a sub-carrier or data;

_{Q}(t)*f*includes the carrier and Doppler frequencies; and

_{r}*φ*is the carrier phase.

_{r}
It is also possible to have only one component, e.g., *a _{Q}* = 0 for the GPS L1 C/A signal. The model could be more complete and include the Doppler effect on the code or the Doppler rate, but that would not change the following discussion and is thus omitted. An example of the spectrum for

*s*— denoted

_{r}(t)*s*— is given in

_{r}(f)**Figure 1**

*(see photo at the top of this article for Figures 1, 2 and 3)*, where

*B*is the bandpass bandwidth of the signal.

Let us first consider the front-end depicted in **Figure 2** (top), which performs real sampling. This is a very simplified representation, but enough for our discussion. This front-end is composed of:

- a bandpass filter (BPF) for image-rejection
- a mixer to bring the signal to a lower frequency
- a low pass filter (LPF) for anti-aliasing (aliasing is explained next); this filter can also be a bandpass filter
- an analog-to-digital converter (ADC)

Of course, there are also a few amplifiers in a front-end, not shown in Figure 2. See the Additional Resources section for details about real and complex front-end designs.

After the mixer and the low pass filter, the signal is

Equation (2) *(see inset photo, above right, for equations)*

where *f _{i}* =

*f*–

_{r}*f*is the intermediate frequency and

_{LO}*φ*=

_{i}*φ*–

_{r}*φ*, with

_{LO}*f*and

_{LO}*φ*the frequency and phase of the local oscillator.

_{LO}**Figure 3**shows the spectrum of this baseband signal. To avoid aliasing, i.e., an overlapping of the positive and negative sides of the spectrum, we require

*f*≥ 0 or, equivalently,

_{min}*f*≥

_{i}*B*/2.

After the ADC, the signal is sampled and becomes

*Equation (3)*

where *T _{s}* is the sampling period equal to 1/

*f*, with

_{s}*f*being the sampling frequency. The spectrum of the sampled signal is the spectrum of the continuous-time signal duplicated around each multiple of

_{s}*f*, as shown in Figure 3. To avoid aliasing, we require

_{s}*f*≥ 2

_{s}*f*, or

_{max}*f*≥ 2

_{s}*f*+

_{i}*B*. This is the well-known Nyquist-Shannon sampling criterion.

Now, let us consider the front-end depicted in Figure 2 (bottom), which performs a complex sampling. After the mixer and the low pass filter, the baseband signals are

*Equation (4)
Equation (5)
Equation (6)*

(see Additional Resources section for a reference about this). In this case, even if there can be an aliasing in each branch, when considering the signal as complex, aliasing is not possible because the negative side of the spectrum is canceled as shown in** Figure 4** (second from bottom). Therefore *f _{i}* can take any value, whatever the signal bandpass bandwidth

*B*.

After sampling, the signal is

*Equation (7)*

The bottom portion of Figure 4 shows the signal spectrum at this point, and, to avoid aliasing, we should have

*f _{s}* +

*f*≥

_{min}*f*⇔

_{max}*f*≥

_{s}*f*−

_{max}*f*⇔

_{min}*f*≥

_{s}*B*.

**(8)**

Therefore, the sampling frequency now depends only on the signal bandpass bandwidth.

**Noise Power Computation**

In reality, an element of noise is present in addition to the received signal. This noise, called thermal noise, is induced by the antenna and the front-end themselves and is assumed to be an additive white Gaussian noise (AWGN). So, we next explain how to compute the power of this noise at the output of the front-end.

A white noise is a noise whose power spectral density (PSD) is equal at all frequencies, as shown in **Figure 5**, top. As the PSD is the Fourier transform of the autocorrelation (Wiener-Khinchin theorem), the autocorrelation of a white noise is null everywhere except at zero, as shown in lower plot in Figure 5. This implies that the values of a white noise at different instants are uncorrelated, and, therefore, the mean of a white noise is zero. This is true whatever the probability density function of the noise, which can be Gaussian, Laplace, uniform, and so forth (as long as the mean is zero).

The two-sided PSD of the thermal noise is equal to *N*_{0}/2, where *N*_{0} is the noise power density and depends on the effective temperature of the front-end. However, the front-end filters the incoming signal; therefore, the thermal noise is filtered, too, and the noise just before the ADC is not white. We will thus see the conditions to obtain a white noise after the ADC.

With a real sampling, assuming an ideal brick wall filter of baseband bandwidth *B _{F}*, the noise just before the ADC will be a band-limited white noise, as shown in

**Figure 6**, and the noise power (which is equal to the integral of the noise PSD) will be

*σ*

_{2}=

*N*

_{0}

*B*.

_{F}The autocorrelation function of this band-limited white noise is

*Equation (9)*

This can also be seen using the PSD. After the sampling, the noise spectrum is duplicated around each multiple of *f _{s}*.

**Figure 7**(top) shows the spectrum of the band-limited white noise sampled with a sampling frequency higher than 2

*B*, and the noise is clearly not white. Figure 7 (middle and bottom) shows the spectrum of the band-limited white noise sampled with sampling frequencies of 2

_{F}*B*and

_{F}*B*, respectively. In both cases, the noise is white and the noise power (which is equal to the integral of the noise PSD in the interval

_{F}
*Equation (a)*

On the other side, to respect the Nyquist-Shannon theorem, we should have *f _{s}* ≥ 2

*B*. Therefore, the only possibility to satisfy both conditions is

_{F}*f*≥ 2

_{s}*B*, and thus the noise power must be

_{F}*σ*

_{2}=

*N*

_{0}

*f*/2.

_{s}
Similar developments can be done for the case of complex sampling. The difference is that the sampling frequency must be equal to *f _{s}* =

*B*/

_{F}*k*to get a discrete white noise, and the Nyquist-Shannon theorem imposes

*f*≥

_{s}*B*. Therefore, the only possibility to satisfy both conditions is

_{F}*f*=

_{s}*B*, and thus the noise power on each branch must be

_{F}*σ*

_{2}=

*N*

_{0}

*f*, i.e., twice the noise power that exists with real sampling.

_{s}
**Application to GNSS signals**

Using the previous models, at the output of the front-end, a real GNSS signal can be modeled as

*s _{b}*(

*nT*) =

_{s}*a*(

_{I}x_{I}*nT*) cos(2

_{s}*πf*+

_{i}nT_{s}*ϕ*) +

_{i}*a*(

_{Q}x_{Q}*nT*) sin(2

_{s}*πf*+

_{i}nT_{s}*ϕ*) +

_{i}*w*(

*nT*),

_{s}**(10)**

and a complex GNSS signal can be modeled as

*s _{b}*(

*nT*) = (

_{s}*a*(

_{I}x_{I}*nT*) −

_{s}*ja*(

_{Q}x_{Q}*nT*))

_{s}*e*

^{j}^{(2πfinTs+ϕi)}+

*w*(

_{I}*nT*) +

_{s}*jw*(

_{Q}*nT*),

_{s}**(11)**

where* w*, *w _{I}* and

*w*are white Gaussian noises of power

_{Q}*σ*2 (the value of

*σ*2 for

*w*and

_{I}*w*is twice the one for

_{Q}*w*, as mentioned previously). The values for

*a*and

_{I}*a*can correspond to the amplitudes after the antenna, and

_{Q}*σ*can be computed using the expressions of the previous section. However, a normalization is usually performed because only the ratio between the signal power and the noise power matters, not their absolute value.

To describe the level of a received GNSS signal, two parameters can be used: the signal power, or the carrier power to noise power density ratio (or carrier-to-noise ratio). The power of the baseband signals *x _{I}(t)* and

*x*is equal to 1 because they are based on binary waveforms of amplitude ±1. Therefore, the power of an I/Q component is

_{Q}(t)
*Equation (b)*

The carrier-to-noise ratio is simply the ratio between the signal power and the noise power density, i.e., *C/N*_{0} = *P/N*_{0}, thus

*Equation (c)*

Both signal amplitude and noise standard deviation (*σ*) have very low values. Consequently, in simulation, it is convenient to perform a normalization, usually to have a noise standard deviation (std) of 1. For that, it is sufficient to divide both signal amplitude and noise std by the noise std.

Previously we have seen that the noise power is not the same depending on the type of sampling. With the normalization, the noise std is the same for both real and complex sampling; so, it is the signal amplitude that will be different according to the type of sampling. **Table 1** summarizes the expressions to compute the noise std and the component amplitude from the component power and noise power density, without and with normalization. Note that in the normalized case, the signal amplitude can be determined directly from the carrier-to-noise ratio and the sampling frequency, thus the computation of the noise power density *N*_{0} is not required.

Let’s consider two examples to illustrate all this. First, we want to simulate a GPS L1 C/A signal of *C/N*_{0} = 25 dBHz, sampled at *f _{s}* = 5 MHz with real sampling. With normalized values, the noise std will be 1, and the signal amplitude will be

*Equation (d)*

Second, we want to simulate a GPS L5 signal with a power of –174 dBW, sampled at *f _{s}* = 524 MHz with complex sampling, and

*N*

_{0}= –204 dBW/Hz. Thus, the power of each I/Q component is –177 dBW since both components have the same power. With normalized values, the noise std will be 1, and the signal amplitude will be

*Equation (e)*

To conclude, **Table 2** provides a concise summary with all the parameters discussed in the article.

**Acknowledgments**

The authors thank Myriam Foucras, Marc-Antoine Fortin, and Miguel Angel Ribot for their help, and Jia Tian whose question initiated this article.

**Additional Resources**

*For more information about parallel acquisition architectures, refer to:*

Leclère, J., “Resource-efficient parallel acquisition architectures for modernized GNSS signals,” Ph.D. thesis, EPFL, Switzerland, 2014.

*For information about GNSS receivers, including real and complex front-end designs, refer to:*

Borre, K., et al., *A Software-Defined GPS and Galileo Receiver: A Single-Frequency Approach*, Birkhäuser Boston, 2007

Chastellain, F., and C. Botteron, and P.-A. Farine, “Looking Inside Modern Receivers,” *IEEE Microwave Magazine*, vol. 12, no. 2, pp. 87–98, 2011

van Diggelen, F., *A-GPS: Assisted GPS, GNSS, and SBA*S, Artech House, 2009.

*For details about quadrature signals, please see:*

Lyons, R., *Understanding Digital Signal Processing*, Prentice Hall, 2010.