How does one compute the noise power to simulate real and complex GNSS signals?
"GNSS Solutions” is a regular column featuring questions and answers about technical aspects of GNSS. Readers are invited to send their questions to the columnist, Dr. Mark Petovello, Department of Geomatics Engineering, University of Calgary, who will find experts to answer them. email@example.com
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.
Sr(t) = aIxI(t) cos(2πfrt + ϕr) + aQxQ(t) sin(2πfrt + ϕr), (1)
where t is the time; aI and aQ are amplitudes of the in-phase (I) and quadrature-phase (Q) components; xI(t) and xQ(t) 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; fr includes the carrier and Doppler frequencies; and φr is the carrier phase.
It is also possible to have only one component, e.g., aQ = 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 sr(t) — denoted sr(f)— is given in 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:
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 fi = fr – fLO is the intermediate frequency and φi = φr – φLO, with fLO and φLO the frequency and phase of the local oscillator. 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 fmin ≥ 0 or, equivalently, fi ≥ B/2.
After the ADC, the signal is sampled and becomes
where Ts is the sampling period equal to 1/fs, with fs being the sampling frequency. The spectrum of the sampled signal is the spectrum of the continuous-time signal duplicated around each multiple of fs, as shown in Figure 3. To avoid aliasing, we require fs ≥ 2fmax, or fs ≥ 2fi + 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
(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 fi can take any value, whatever the signal bandpass bandwidth B.
After sampling, the signal is
The bottom portion of Figure 4 shows the signal spectrum at this point, and, to avoid aliasing, we should have
fs + fmin ≥ fmax ⇔ fs ≥ fmax − fmin ⇔ fs ≥ B. (8)
Therefore, the sampling frequency now depends only on the signal bandpass bandwidth.
Noise Power Computation
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 N0/2, where N0 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 BF, 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 = N0BF.
The autocorrelation function of this band-limited white noise is
This can also be seen using the PSD. After the sampling, the noise spectrum is duplicated around each multiple of fs. Figure 7 (top) shows the spectrum of the band-limited white noise sampled with a sampling frequency higher than 2BF, 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 2BF and BF, 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
On the other side, to respect the Nyquist-Shannon theorem, we should have fs ≥ 2BF. Therefore, the only possibility to satisfy both conditions is fs ≥ 2BF, and thus the noise power must be σ2 = N0fs/2.
Similar developments can be done for the case of complex sampling. The difference is that the sampling frequency must be equal to fs = BF/k to get a discrete white noise, and the Nyquist-Shannon theorem imposes fs ≥ BF. Therefore, the only possibility to satisfy both conditions is fs = BF, and thus the noise power on each branch must be σ2 = N0fs, i.e., twice the noise power that exists with real sampling.
Application to GNSS signals
sb(nTs) = aIxI(nTs) cos(2πfinTs + ϕi) + aQxQ(nTs) sin(2πfinTs + ϕi) + w(nTs), (10)
and a complex GNSS signal can be modeled as
sb(nTs) = (aIxI(nTs) − jaQxQ(nTs)) ej(2πfinTs+ϕi) + wI(nTs) + jwQ(nTs), (11)
where w, wI and wQ are white Gaussian noises of power σ2 (the value of σ2 for wI and wQ is twice the one for w, as mentioned previously). The values for aI and aQ can correspond to the amplitudes after the antenna, and σ 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 xI(t) and xQ(t) is equal to 1 because they are based on binary waveforms of amplitude ±1. Therefore, the power of an I/Q component is
The carrier-to-noise ratio is simply the ratio between the signal power and the noise power density, i.e., C/N0 = P/N0, thus
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 N0 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/N0 = 25 dBHz, sampled at fs = 5 MHz with real sampling. With normalized values, the noise std will be 1, and the signal amplitude will be
Second, we want to simulate a GPS L5 signal with a power of –174 dBW, sampled at fs = 524 MHz with complex sampling, and N0 = –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
To conclude, Table 2 provides a concise summary with all the parameters discussed in the article.
For information about GNSS receivers, including real and complex front-end designs, refer to:
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 SBAS, Artech House, 2009.
For details about quadrature signals, please see:
Copyright © 2017 Gibbons Media & Research LLC, all rights reserved.