Next Article in Journal
Spatial Retrieval of Broadband Dielectric Spectra
Previous Article in Journal
Creating and Exploring Semantic Annotation for Behaviour Analysis
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

Comparison of L1 and L5 Bands GNSS Signals Acquisition

by
Jérôme Leclère
1,*,
René Landry, Jr.
1 and
Cyril Botteron
2
1
LASSENA, École de Technologie Supérieure (ÉTS), 1100 Notre-Dame Street West, Montreal, QC H3C 1K3, Canada
2
Syderal, Neuenburgstrasse 7, 3238 Gals, Switzerland
*
Author to whom correspondence should be addressed.
Sensors 2018, 18(9), 2779; https://doi.org/10.3390/s18092779
Submission received: 7 June 2018 / Revised: 20 August 2018 / Accepted: 20 August 2018 / Published: 23 August 2018
(This article belongs to the Section Physical Sensors)

Abstract

:
Nowadays, civil Global Navigation Satellite System (GNSS) signals are available in both L1 and L5 bands. A receiver does not need to acquire independently the signals in both bands coming from a same satellite, since their carrier Doppler and code delay are closely related. Therefore, the question of which one to acquire first rises naturally. Although the common thought would tell the L1 band signals which are narrowband, an accurate comparison has never been done, and the decision is not as easy as it seems. Indeed, L5 band signals have several advantages such as stronger power, lower carrier Doppler, or a pilot channel, unlike the Global Positioning System (GPS) L1 C/A signal. The goal of this paper is therefore to compare the acquisition of L1 and L5 bands signals (GPS L1 C/A and L5, Galileo E1 and E5a/b) to determine which one is more complex and by which factor, in terms of processing time and memory, considering hardware receivers and the parallel code search. The results show that overall the L5 band signals are more complex to acquire, but it depends strongly on the conditions. The E5 signal is always more complex to acquire than E1, while the L5 signal can have a complexity close to the L1 C/A in some cases. Moreover, precise assistance providing accurate Doppler could significantly reduce the L5 complexity below the L1 complexity.

1. Introduction

The first stage of a Global Navigation Satellite System (GNSS) receiver is the acquisition, whose aim is to detect the signal and roughly estimate the code delay and the carrier frequency [1]. This is a computationally demanding operation since there are numerous possibilities to test, and today’s receivers are targeting higher and higher sensitivities and the ability to process more and more signals. Nowadays, Fast Fourier Transforms (FFT) are omnipresent in acquisition architectures to accelerate the acquisition, and the amount of memory needed is a major factor in a design [2].
There are now several signals available per constellation, and it is not necessary to acquire the different signals coming from one satellite independently. Indeed, considering two signals coming from the same satellite (for example Global Positioning System (GPS) L1 C/A and L5 signals): They are synchronized (the primary codes start at the same time, and the data and secondary code transitions are synchronized) [3]. The path traveled is the same, therefore the code delay is about the same (there is a slight difference due to the ionosphere that affects them differently [4]. However, knowing one gives precious information on the second); the relative speed being the same, the Doppler are proportional with a known factor (even with the offset due to the local oscillator). Therefore, the main question is: “Which signal should be acquired first?”, to then help the acquisition of the other(s) signal(s). This paper aims to answer this question, and quantify it with application examples.
The answer to this question is not so simple, because each signal has its own advantages and drawbacks. For example, L5 band signals, such as the GPS L5 and Galileo E5 signals, have a high chipping rate (10 times higher than L1 frequency signals). This high chipping rate implies a high sampling frequency, which implies itself a significant amount of samples to store and process, and a lower ratio between the clock frequency of the acquisition process and the sampling frequency leading to a longer processing time [5]. Therefore, L1 band signals, such as the GPS L1 C/A and Galileo E1 signals, are much more interesting on this side, since there is potentially a factor five or ten in the number of samples to process and in the processing speed, thanks to the ratio of the processing and sampling frequencies. Moreover, the L5 and E5 signals have longer primary codes than the L1 C/A and E1 signals, which a priori implies the testing of more code delays, larger FFTs for the correlations, and a bigger amount of memory to store correlation results.
However, the L5 band signals also have advantages: (1) They have a higher power (1.5 dB for the pilot channel of the L5 signal compared to the L1 C/A signal, and 2 dB for the E5a/b signals compared to the E1 signal for the pilot channels), which means that similar detection performance can be obtained with lower integration times; (2) They have a pilot channel, whereas the GPS L1 C/A signal does not have one, therefore this lasts one must limit its coherent integration time, which can lead to a longer total integration time; (3) They have a lower carrier Doppler and Doppler rate (115/154 ≈ 75%), which can reduce the search space and some constraints for the acquisition architecture; and (4) They have a secondary code, which on one side complicates the acquisition, but on another side makes the data synchronization much easier, simplifying the transition to the tracking.
The goal of this paper is therefore to compare in detail the acquisition of the L1 and L5 bands signals, in terms of processing time and memory requirements. More specifically, the GPS L1 C/A and L5 signals, and the Galileo E1 and E5 signals will be considered since these are the only signals in these two bands defined in an official interface specification and broadcasted currently. Two cases will be considered, one where there is no assistance at all (equivalent to a cold start), and one there is enough assistance to determine the secondary code delay, such that the receiver does not need to search it (kind of warm start). Indeed, it is relatively easy to have an estimate of the current secondary code chip. One chip of the L5 or E5 secondary codes lasts 1 ms, which is equivalent to 300 km. Therefore, if the receiver has an estimate of the current time better than 1 ms and an estimate of its position and of the satellites position better than 300 km (achievable with almanac), it is possible to estimate the current secondary code chip, and thus there is no need to search it via a correlation. If an estimate is available but not so accurate, the number of possibilities can still be reduced, e.g., to three or four, instead of 20 or 100.
The remainder of the paper is organized as follows. Section 2 describes briefly the GNSS signals considered, summarizes their characteristics, and introduces the acquisition search method chosen (parallel code search) and the elements of interest. Section 3 provides mathematical expressions of the processing time and the memory requirements for all the possible implementations: Data channel verses pilot channel, assistance verses no assistance, coherent integration only verses use of non-coherent integration, parallel verses semi-parallel verses serial implementation. Then, Section 4 describes the methodology used for the comparison, details all the parameters selected, and compares the acquisition of the GPS L1 C/A and L5 signals, and the acquisition of the Galileo E1 and E5 signals by evaluating the expressions given in Section 3. Finally, Section 5 summarizes the outcomes.

2. GNSS Signals and Acquisition

2.1. GNSS Signals

GNSS signals contain three essential components, namely navigation data, a pseudorandom code (also called primary code with the advent of modern signals) and a carrier. Modern signals may also contain other optional elements, such as a pilot channel where there is no random data; a secondary code, helping the data synchronization, reducing cross-correlation, and mitigating interference; and a sub-carrier, for multipath mitigation [6,7]. Table 1 summarizes the characteristics of the GNSS signals considered.
The signal after the front-end of a receiver is a combination of several GNSS signals and noise:
s b ( n T S ) = u = 1 U s b u ( n T S ) + η b ( n T S ) ,
where s b u is the discrete baseband signal from satellite u , n is the discrete time index, T S is the sampling period equal to 1 / f S with f S the sampling frequency, and η b is a white Gaussian noise.
The signal from one satellite can be expressed in a generic way as
s b u ( n T S ) = a d u c 2 , d u ( n T S τ u ) c 1 , d u ( n T S τ u ) s c d u ( n T S τ u ) d u ( n T S τ u ) cos ( 2 π ( f IF + f D u + f OSC ) n T S + φ d u ) + a p u c 2 , p u ( n T S τ u ) c 1 , p u ( n T S τ u ) s c p u ( n T S τ u ) sin ( 2 π ( f IF + f D u + f OSC ) n T S + φ p u ) ,
where the subscript d and p denotes the data and pilot channels respectively, a u is the amplitude, c 1 u is the primary code, c 2 u is the secondary code, s c u is the subcarrier, d u is the navigation data, τ u is the unknown code delay, f D u is the unknown Doppler frequency, f OSC is the oscillator offset (not known in a cold start, but may be known or have a good estimation in warm and hot starts [8]), f IF is the intermediate frequency, and φ u is the carrier phase. Note that in Equation (2), the data channel is denoted with a cos and the pilot channel is denoted with a sin, however it does not mean that they are necessary in quadrature, as shown in Table 1; it depends on the value of φ d and φ p [9]. Furthermore, the code Doppler is not considered in this model to keep it simple. Next, it is assumed that the code Doppler is compensated in the receiver. Since it is proportional to the carrier Doppler, it is relatively simple to adapt the local code chipping rate or to shift the correlation results during their accumulation.
Next, only the pilot channels are considered for the acquisition (except for the GPS L1 C/A signal that has only a data channel), because they allow longer coherent integration time, and it is known that the longer the coherent integration time the better the sensitivity [8,10]. However, it is not always possible to extend the coherent integration time to very long duration, due to the instability of the local oscillator [11,12,13] or the unknown dynamics of the receiver [8,14]. Therefore, to be as general as possible, two cases will be considered for the signal: The first with coherent integration only, without any limit; and the second with a coherent integration of one secondary code period, i.e., 20 ms for the L5 signal and 100 ms for Galileo signals, followed by further non-coherent integration.

2.2. Acquisition of GNSS Signals

There are several methods to perform the acquisition of GNSS signals, namely the serial search [1]; the Parallel Frequency Search (PFS), which uses an FFT to search simultaneously all or a part of the Doppler frequency bins [15,16]; the Parallel Code Search (PCS), which uses FFTs to compute the code correlation in order to search simultaneously all the code delay bins [1,17]; and two-dimensional search where FFTs are used for both frequency and code domains [9,16,18,19].
The method considered in this paper is the PCS that computes the correlation over the primary code correlation using FFTs, because [5]: (1) It is an efficient method providing a high level of parallelism; (2) the parallelism is still exploited in presence of a basic assistance, unlike the parallel frequency search (because it is much easier to reduce the frequency search space than the code delay search space from any assistance [8]); (3) the code Doppler can easily be compensated; and (4) it requires less memory than two-dimensional searches. To emphasize this, one can note that this is the method implemented in today’s mass market receivers [2], and considered or already implemented in spaceborne GNSS receivers [20,21,22].
An overview of the PCS architecture considered is shown in Figure 1. The incoming signal is stored into a memory, to be processed at a higher frequency in order to reduce the processing time [5]. Then, during the processing, the signal is multiplied by a local carrier, followed by an FFT-based correlation performed over one primary code period (in fact, two primary code periods are used to manage the possible transition and the zero-padding possibly needed, but this is repeated for every period [23,24]). At this stage, if the Doppler is completely removed, the i th primary code correlation result can be expressed as
r i = a   c 2 , i m S   r P + η i ,
for a pilot channel signal, or as
r i = a   d i   r P + η i ,
for a data channel signal, where c 2 , i m S is the ( i m S ) th chip of the secondary code (the subscript is modulo N S , with N S the length of the secondary code in chip), m S is the unknown delay of the incoming secondary code, r P is the primary code autocorrelation of length N P ( N P being the number of samples in one primary code period), and η i is the noise [23].
Then, further coherent integration can be performed. If there is data, the data transition should be managed; if there is a secondary code, the secondary code should be removed with another correlation. This is described in detail in Section 3. Finally, non-coherent integration can be performed. The number of accumulators used for the coherent and non-coherent integrations can vary depending if the accumulations are performed in serial (one accumulator testing one delay at once), parallel (many accumulators testing all delays at once), or semi-parallel (several accumulators testing several delays at once).
For the comparisons in this paper, the implementations will be based on Figure 1 and inspired from [23], which compares many ways to implement the acquisition (e.g., the accumulation can be done before or after the FFTs, a temporary memory can be used or not, and the accumulation can be done serially or in parallel). The next section will detail the specific cases that interest us, i.e., using coherent integration only or using non-coherent integrations, and considering parallel, serial and semi-parallel accumulations. It is considered that the accumulations are performed after the FFT-based primary code correlation, and that there is no temporary memory since it is useless for coherent integration only and with non-coherent accumulations the structure would become different than the one of the implementations of the L1 C/A signal.
To assess the performance of the different implementations, the processing time and the amount of memory will be evaluated and compared. Therefore, in Figure 1, our focus is on the main memory storing the incoming signal, and on the accumulators after the FFT-based primary code correlation. The primary code correlation is considered traditional, because any method to make it faster such as those proposed in Reference [24,25,26] could be applied to any of the following implementations, and thus would not affect the comparison. Likewise for the secondary code correlation, where there are known methods to reduce the complexity by a factor two at least [27,28,29]. Thus, these methods are not considered in the evaluation of the memory and processing time in Section 3.

3. Assessment of Processing Time and Memory Requirements

This section aims to determine the expression of the processing time and of the amount of memory for the different implementations. For this, it discusses first the acquisition of a data channel, and then the acquisition of a pilot channel, without assistance (where the correlation over the secondary code should be performed) and with assistance (where the delay of the secondary code is known, allowing a simple secondary code removal). For each implementation, the timing diagram is provided and the processing time is directly deduced from it, as done in Reference [17,23]. Note that these expressions are fully deterministic and exact since the processing time for one frequency bin is given, not the mean acquisition time [30], which is sufficient to compare the implementations.

3.1. Acquisition of a Data Channel

This section discusses the acquisition of a data channel. This mainly concerns the GPS L1 C/A signal, since all the modern signals have a pilot channel.
There are different methods to manage the data transition during the acquisition. Since high sensitivity is considered, the longest coherent integration time is desired. Therefore, the method that computes many accumulations in parallel starting at different times to test all the possibilities, called full-bits method with estimation of bit transition times in Reference [31], is considered. The highest accumulated value should be the one where the accumulation starts with the data bit. Consequently, the implementation would be the one of Figure 2. The size of the memory-based accumulators is N P = f S   T P , with T P the period of the PRN code, e.g., 1 ms for the L1 C/A signal.
The size of the FFT can be N FFT = N P or nextpow2(2 N P ), where nextpow2(n) means the power of two equal to or higher than n, i.e., 2 log ( n ) . To preserve the periodicity of the code, either the sampling frequency should give a length N P that is a power of two, or the length should be doubled by zero-padding. To avoid the loss due to the data transition within the correlation, the length should be doubled by zero-padding. Therefore, to be as general as possible and consider a flexible choice on the sampling frequency, it will not be assumed that N P is a power of two, and therefore N FFT = nextpow2(2 N P ) = 2 log ( 2 N P ) .
The corresponding timing diagram is shown in Figure 3, from which we can deduce the processing time in clock cycle for one frequency bin:
T FB = K N FFT N D + 2 ( N FFT + L ) + N FFT ( N D 2 ) + N P = K N D ( 2 N P + N Z ) + N P ( 2 N D 1 ) + N Z N D + 2 L = N P [ ( K + 1 ) 2 N D + 1 ] + N Z [ ( K + 1 ) N D ] + 2 L ,
where K is the number of data bits accumulated non-coherently (i.e., the number of non-coherent accumulations here: K = N NC ), N FFT = 2 N P + N Z with N Z the number of zeros padded, N D is the number of primary code periods in one data bit ( N D = 20 for the GPS L1 C/A signal), and L the latency of the FFT (i.e., the number of clock cycles between the first output sample and the last input sample).
Regarding the amount of memory necessary, the memory-based accumulators require
M = N D 2 N P B C + N D N P B NC   bits = N D N P ( 2 B C + B NC )   bits = N D N P [ 3 B R + 3 log   2 ( N D ) + log 2 ( K ) ]   bits ,
where B C is the number of bits used to quantize the output of the coherent accumulators ( y i ) and B NC is the number of bits used to quantize the output of the non-coherent accumulators ( z i ), with
B C = B R + log   2 ( N D ) ,
and
B NC = B C + log 2 ( K ) = B R + log   2 ( N D ) + log 2 ( K ) ,
where B R is the number of bits used to quantize the output of the correlation ( r i ). Note that these last two equations assume that there is no truncation during the accumulations.

3.2. Acquisition of a Pilot Channel without Assistance

3.2.1. Coherent Integration Only with Parallel Implementation

As mentioned previously, in the case where there is no non-coherent accumulation, there is only one stage of accumulator-based memory, and therefore there is no interest in having a temporary memory between the Inverse FFT (IFFT) output and the coherent accumulator(s).
The parallel implementation is already given in Reference [23], and shown in Figure 4 (where it is assumed that the coherent integration time is a multiple of the secondary code period), and the corresponding timing diagram is shown in Figure 5. The processing time for one frequency bin is thus
T FB = K N FFT N S + 2 ( N FFT + L ) ( N P + N Z ) = K N S ( 2 N P + N Z ) + 3 N P + N Z + 2 L = N P ( 2 K N S + 3 ) + N Z ( K N S + 1 ) + 2 L ,
where K is the number of secondary code periods accumulated coherently. Thus, K C = K N S correlation results are coherently accumulated (or written in another way, the coherent integration time is T C = K C T P = K N S T P ).
Regarding the amount of memory necessary, the memory-based accumulators require
M = N S 2 N P B C   bits = N S 2 N P ( B R + log   2 ( K N S ) )   bits ,
where B C = B R + log 2 ( K N S ) is the number of bits used to quantize the output of the coherent accumulators ( y i ).

3.2.2. Coherent Integration Only with Serial Implementation

The serial implementation is already given in Reference [23], and shown in Figure 6, with its corresponding timing diagram in Figure 7. However, the timing diagram in Reference [23] is not totally correct because it shows that the coherent integration for different secondary code delay is computed first and then non-coherent accumulations can be done, which is not correct or would require additional storage. In Figure 7, the correlations and further coherent accumulations are computed first, and then the operation is repeated for different delays of the secondary code. Note, however, that the processing time in Reference [23] is correct and identical to the one given below.
The processing time for one frequency bin is thus,
T FB = K N FFT N S 2 + 2 ( N FFT + L ) ( N P + N Z ) = K N S 2 ( 2 N P + N Z ) + 3 N P + N Z + 2 L = N P ( 2 K N S 2 + 3 ) + N Z ( K N S 2 + 1 ) + 2 L .
Regarding the amount of memory necessary, the memory-based accumulator requires
M = 2 N P B C   bits , = 2 N P ( B R + log   2 ( K N S ) )   bits ,
where B C = B R + log 2 ( K N S ) as previously.

3.2.3. Coherent Integration only with Semi-Parallel Implementation

From the previous cases, it is easy to generalize to the case where N A accumulators tests N A delays in parallel. The processing time for one frequency bin is
T FB = K N FFT N S N S N A + 2 ( N FFT + L ) ( N P + N Z ) = K N S N S N A ( 2 N P + N Z ) + 3 N P + N Z + 2 L = K N S N S N A ( 2 N P + N Z ) + 3 N P + N Z + 2 L = N P ( 2 K N S N S N A + 3 ) + N Z ( K N S N S N A + 1 ) + 2 L .
It can be checked that Equation (13) becomes Equation (9), with N A = N S , and becomes Equation (11) with N A = 1 .
Regarding the amount of memory necessary, the memory-based accumulators require
M = N A 2 N P B C   bits , = N A 2 N P ( B R + log   2 ( K N S ) )   bits ,
where B C = B R + log 2 ( K N S ) as previously. In the same way, Equation (14) becomes Equation (10), with N A = N S , and becomes Equation (12) with N A = 1 .

3.2.4. Use of Non-Coherent Accumulation with Parallel Implementation

This implementation is very similar to the one of the data channel acquisition; there are only two differences:
  • The number of branches is N S instead of N D .
  • For a pilot channel, the coherent accumulations for the different delays start and finish at the same time, therefore the latency and the length of data needed is slightly reduced.
The implementation is shown in Figure 8. Since the accumulations start and finish at the same time, the timing diagram is the same as for the case of coherent integration only, shown in Figure 5, except that the portion repeated is for further coherent and non-coherent accumulations (and the number of repetition is still K ).
Regarding the memory, the memory-based accumulators require
M = N S 2 N P B C + N S N P B NC   bits = N S N P ( 2 B C + B NC )   bits = N S N P [ 3 B R + 3 log   2 ( K N S / N NC ) + log 2 ( N NC ) ]   bits ,
with
B C = B R + log   2 ( K N S / N NC ) ,
and
B NC = B C + log 2 ( N NC ) = B R + log   2 ( K N S / N NC ) + log 2 ( N NC ) .

3.2.5. Use of Non-Coherent Accumulation with Serial Implementation

This implementation is shown in Figure 9. The processing time is the same as the serial implementation with coherent integration only (Figure 6), because the timing diagram (Figure 7) is similar. Indeed, the number of secondary code periods processed is still K / N NC × N NC = K , even if it is spread between coherent and non-coherent accumulations.
Regarding the memory, the memory-based accumulators require
M = 2 N P B C + N P B NC   bits = N P ( 2 B C + B NC )   bits = N P [ 3 B R + 3 log   2 ( K N S / N NC ) + log 2 ( N NC ) ]   bits ,
where B C and B NC are the same as previously (Equations (16) and (17)).

3.2.6. Use of Non-Coherent Accumulation with Semi-Parallel Implementation

It is again easy to generalize to the case where N A accumulators tests N A delays in parallel. The processing time is the same as the semi-parallel implementation with coherent integration only. Regarding the amount of memory necessary, the memory-based accumulators require
M = N A 2 N P B C + N A N P B NC   bits = N A N P ( 2 B C + B NC )   bits = N A N P [ 3 B R + 3 log   2 ( K N S / N NC ) + log 2 ( N NC ) ]   bits ,
where B C and B NC are the same as previously (Equations (16) and (17)).

3.3. Acquisition of a Pilot Channel with Assistance

This section presents the serial and semi-parallel implementation when N SCB delays of the secondary code should be tested instead of N S , with 1 N SCB < N S (for the case N SCB = 1 , only the serial implementation is considered). Note that since only the number of delays is reduced, the processing time will be reduced, but the amount of memory will not change.

3.3.1. Coherent Integration Only with Serial Implementation

The implementation is exactly the same as when there is no assistance, shown in Figure 6. The timing diagram is also the same, shown in Figure 7, the only difference is that the part that repeats is repeated N SCB times instead of N S times. The processing time for one frequency bin is thus,
T FB = K N FFT N S N SCB + 2 ( N FFT + L ) ( N P + N Z ) = K N S N SCB ( 2 N P + N Z ) + 3 N P + N Z + 2 L = N P ( 2 K N S N SCB + 3 ) + N Z ( K N S N SCB + 1 ) + 2 L .
Therefore, the processing time is approximately divided by N S / N SCB compared to the case without assistance, as expected. Note that if the assistance is perfect, i.e., N SCB = 1 , the processing time becomes the same as the one for the parallel implementation without assistance (Equation (9)), as expected.

3.3.2. Coherent Integration Only with Semi-Parallel Implementation

From the previous cases, it is easy to generalize to the case where N A accumulators test N A delays in parallel among the N SCB possible. The processing time for one frequency bin is
T FB = K N FFT N S N SCB N A + 2 ( N FFT + L ) ( N P + N Z ) = K N S N SCB N A ( 2 N P + N Z ) + 3 N P + N Z + 2 L = N P ( 2 K N S N SCB N A + 3 ) + N Z ( K N S N SCB N A + 1 ) + 2 L .

3.3.3. Use of Non-Coherent Accumulation with Serial Implementation

The implementation is exactly the same as when there is no assistance, shown in Figure 9. The timing diagram is also the same, shown in Figure 7, the only difference is that the part that repeats is repeated N SCB times instead of N S times, as in Section 3.3.1. Therefore, the processing time for one frequency bin is given in Equation (20).

3.3.4. Use of Non-Coherent Accumulation with Semi-Parallel Implementation

In the same way, is exactly the same as when there is no assistance, and the processing time is the same as the semi-parallel coherent only implementation—therefore the processing time is given in Equation (21).

3.4. Summary

To have a better overview of the previous expressions, Table 2 summarizes the processing time and the memory requirements for the different implementations.

4. Application to GPS and Galileo Signals

4.1. Determination of the Integration Time

Now, let us compare the different implementations with actual parameters. To have a good overview of the performance, several sensitivities are selected, from −140 dBm to −160 dBm with a step of 5 dBm to cover moderate to high sensitivities. However, as mentioned in the introduction and shown in Table 1, the expected power is not the same for the different signals. Therefore, to perform a fair comparison, the sensitivities should be adapted for each signal, and the values above would be for one signal only. Here the GPS L1 C/A has been chosen as reference. Since the GPS L5 signal has an expected power 1.5 dB above the L1 C/A signal power, the sensitivities considered for the L5 signal are −138.5 dBm, −143.5 dBm, −148.5 dBm, −153.5 dBm, and −158.5 dBm. This allows us to do a fair comparison representative of the reality. The same will apply for the Galileo signals.
Then, again to have a fair comparison, some elements must be considered specifically for each signal: The number of frequency bins and code bins, which influence the size of the search space and consequently influence the required Signal-to-Noise Ratio (SNR), probability of false alarm and probability of detection. This is illustrated in Figure 10, with N FB the number of frequency bins, N PCB the number of primary code bins, N SCB the number of secondary code bins, N CB = N PCB N SCB the number of code bins, N CELL = N FB N CB the number of cells of the search space, P FA , G and P FA , C the global and cell probabilities of false alarm respectively, related by P FA , G = 1 ( 1 P FA , C ) N CELL or P FA , C = 1 ( 1 P FA , C ) 1 / N CELL , and P D the probability of detection [8].
Finally, once the required SNR is estimated, the coherent integration time and the number of non-coherent accumulations can be evaluated, as shown in Figure 11. The implementation losses depend on the quantization, frequency step, code step, and potential sign transition. Following the outcomes of [32], a 3-bit quantization, a frequency step δ f of 2 / ( 3 T C ) , and a code step of 1/2 chip is considered, and since the full bit method and secondary code correlation is used there is no transition loss. Regarding the case of coherent integration only, Figure 11b shows that this is an iterative process. There is even a second iteration not shown in Figure 10 and Figure 11, because increasing the coherent integration will decrease the frequency step (since δ f = 2 / ( 3 / T C ) ). This will increase the number of frequency bins N FB (since N FB = f SS / δ f = 3 f SS T C / 2 with f SS the search space), which itself increases the required SNR after Figure 10, which consequently may change the coherent integration time after Figure 11b. Therefore, for a very accurate estimation in the case of coherent integration only, these iterations should be performed.

4.2. Comparison of GPS L1 C/A and L5 Signals Acquisition

4.2.1. Determination of Acquisition Parameters

The general parameters independent of the integration time that have been selected are summarized in Table 3 (the spreadsheets used to obtain the further tables are available in supplementary materials). The sampling frequencies are chosen to be as low as possible, because it is desired that the acquisition be as fast as possible, i.e., slightly above twice the chipping rate since these are BPSK signals (it is not exactly twice the chipping rate because the sampling frequency should never be a multiple of the chipping rate, else it would lead to a very bad accuracy in the estimation of the pseudo-ranges and position [33]).
Starting with the L1 C/A signal, a typical search space of ±5 kHz is considered [8], and since the coherent integration time is fixed to 20 ms, the frequency step is 2 / ( 3 T C ) = 33.3 Hz, implying 2 × 5000/33.3 ≈ 300 frequency bins. The code step is one sample, giving 2048 code bins. The number of cells is thus 300 × 2048 = 614,400. A global probability of false alarm of 10 3 is chosen to avoid false alarms, which gives P FA , C = 1.63 × 10 9 , and finally a typical probability of detection of 0.9 is chosen following [8], which gives a required final SNR of 17.15 dB.
Since a case of assistance will be considered for the L5 signal, this same assistance should be considered for the L1 C/A signal to make a fair comparison. As mentioned previously, the assistance indicates the current chip of the secondary code (or a small range), and the information needed for this information (time, and receiver and satellites position) can also be used to reduce the frequency search space. Therefore, with assistance, counting an error of 60 Hz due to almanac inaccuracy and an uncertainty of 180 Hz for the receiver velocity (Doppler added by a receiver at 130 km/h in the direction of a satellite) [8], it will be assumed that the search space is reduced to 16 bins, corresponding to ±266.7 Hz.
The same is done for the L5 signal, considering four cases, coherent integration limited to 20 ms or unlimited, and with or without assistance. One difference in the assumptions is that since the L5 frequency is about 75% the one of the L1 frequency, the expected Doppler and the search space for an L5 signal should be reduced. This gives 225 frequency bins without assistance (±3750 Hz), and 12 frequency bins with assistance (±200 Hz). For the L5 signal, the assistance reduces the number of secondary code bin N SCB and consequently the number of code bins N CB . For the application here, the best assistance is assumed, i.e., the current secondary code chip is known and N SCB = 1 and N CB = N PCB .
Table 4 summarizes all this information. Note that to be very accurate, the number of frequency bins for the unlimited T C case should be higher since N FB = 3 f SS T C / 2 , and an iterative calculation should be performed as mentioned previously. However, this would lead to a different required SNR for each sensitivity, which would be hard to synthesize. Consequently, the same number of frequency bins is considered as simplification, keeping in mind that for these two cases the performance will be a little bit optimistic compared to the real one. Note also that another approximation is made, namely that a Gaussian variable is considered for the detection test. This is the case when the number of non-coherent accumulations is high, however, when there is not or a just few non-coherent accumulations, the variable is not Gaussian, which would affect the way the probabilities of false alarm and detection are calculated [8].
Now that the required SNR is determined, the coherent and total integration times can be estimated following Figure 11, and the values are summarized in Table 5 and Table 6, considering the average and worst case regarding the implementation losses (quantization, frequency step, and code step), namely 0.55 + 0.53 + 1.16 = 2.24 dB and 0.55 + 1.65 + 2.50 = 4.70 dB respectively.
Before going on the evaluation of the different implementations, Table 7 shows the ratio of the total integration time between several cases to quantify the impact of using the L5 signal, unlimited coherent integration time, and assistance. From Table 7, it is clear that the main way to reduce the total integration time is to increase the coherent integration time, especially for very weak signals. Then, the use of L5 brings an interesting reduction, thanks to its higher power, even if the required SNR after correlation is higher due to the bigger search space. Finally, the assistance has the lowest effect on the total integration time, but the reduction is still appreciable (and remember that the assistance reduces the frequency search space, which will have a significant positive impact on the acquisition time).

4.2.2. Determination of Ratio of Complexity for One Frequency Bin

Using the total integration time of Table 5 and Table 6, the parameters that depend on the integration, i.e., the processing time and the memory requirements, can be determined for the different cases. Table 8 illustrates this in detail for a sensitivity of −150 dBm, where the ratio of processing time and memory between the L5 signal and the L1 C/A signal is given. The final metric of performance is the product of ratios. If nothing is specified, there is no assistance. Then, Table 9 complements it by adding the input memory that stores the input signal. Finally, Table 10 and Figure 12 summarize the product of ratios for all the sensitivities, considering or not the input memory.
First, it can be seen that when the coherent integration time is limited to 20 ms for the L5 signal (non-coherent (NC) case), the L5 signal implementations are much more complex, with products of ratios higher than 100 without assistance.
It can also be noted in Table 8 and Table 9 that without taking into account the input memory, using a parallel, semi-parallel or serial implementation provides about the same performance (except for some semi-parallel that are not efficient, such as the one with nine accumulators because it requires more memory than with seven accumulators for the same processing time since 20 / 9 = 20 / 7 = 3 ). When considering the input memory, the parallel implementation becomes more efficient, because such implementation uses a lot of memory, and therefore the input memory represents a smaller portion of it. This is more and more true as the sensitivity decreases. This is why only the parallel implementation is considered in Table 10 and Figure 12 when there is no assistance.
Now, let us focus on the interesting implementations, i.e., when the coherent integration time is not limited. Without assistance, for moderate sensitivities, the L5 implementations are much more complex with products of ratios up to 50. For very high sensitivity, the product of ratios becomes much smaller, even lower than 1 for a sensitivity of −160 dBm. This is mainly because the L1 C/A signal needs a very long integration time, and the input memory can even be larger for the L1 C/A signal than for the L5 signal. With assistance, the products of ratios are much smaller, between 0.1 and 4.6. Therefore, the L5 implementation can be more efficient for the computation of one frequency bin, or if it is less efficient it is by a relatively small ratio.
However, remember that the number of frequency bins for unlimited T C is not the actual one, and it should be much higher with very long coherent integration time (except if the assistance is very accurate, which is possible in some applications [22]).

4.2.3. Determination of Ratio of Complexity for Multiple Frequency Bins

Now that the complexity considering only one frequency bin has been studied, let us consider the real case where it is the acquisition time that matters. For this, the relation between the processing time of one frequency bin and the acquisition time should be determined, i.e., how many frequency bins are searched until the detection of the signal. Of course, this depends on the Doppler frequency of the received signal; however, assuming a uniform distribution of the Doppler frequency over the search space, in average N FB / 2 frequency bins are searched. Therefore, to include this in the evaluation of the complexity, the ratio of number of frequency bins searched between the different signals should be estimated, and since the number of frequency bins searched is directly proportional to the total number of bins, the ratio of total number of bins could be used. Two elements will thus be involved: (1) The width of the search space; and (2) the frequency step to browse the search space, which is inversely proportional to coherent integration time. Therefore, compared to the previous results, for the L5 signal with a coherent integration limited to 20 ms (as the L1 C/A signal), it is expected that the final ratio of complexity will be lower since the width of the search space is lower. However, for the L5 signal with longer coherent integration time, the frequency step will decrease, the number of frequency bins will increase and thus the final complexity will increase.
This is shown in Table 11, where the ratio of number of frequency bins is around 0.8 when non-coherent integration is used regardless the assistance, and where the ratio increases with the sensitivity when coherent integration only is used. Applying these ratios to Table 10 gives Table 12 that shows the final complexity ratio, considering the processing time of one frequency bin, the number of frequency bins searched and the memory requirements. It can then be seen that without assistance, the L5 signal is much more complex to acquire. With assistance, the ratios of complexity are lower, but the L5 signal is still more complex to acquire, except for a few cases.

4.2.4. Validation

To validate the previous developments, Matlab simulations have been performed for several sensitivities. GPS L1 C/A and L5 signals have been simulated with a random Doppler frequency within the search space and a random code delay, and acquired following the serial implementations of Section 2. This has been repeated 100 times, and the average of the measurements has been extracted.
Figure 13 illustrates this for a sensitivity of −145 dBm without assistance, where the ratio measured is relatively constant (the fluctuations are due to the fact that the detection may happen on a bin around the exact one). Then, Table 13 shows the theoretical and measured number of frequency bins and the ratio between L5 and L1. It can be seen that the number of frequency bins searched until detection is around half the total number of frequency bins, as expected. More importantly, it is seen that the measured ratio of the number of frequency bins searched matches the theoretical one, which validates the previous developments.

4.3. Comparison of Galileo E1 and E5 Signals Acquisition

The general parameters independent of the integration time that have been selected for Galileo signals are summarized in Table 14. For the Galileo signals, three cases are compared. E1 with a sampling frequency slightly higher 6 times the chipping rate in order to have a code step small enough to give the same losses as in the BPSK case [24]. However, this leads to long sequences (longer than the E5a or E5b). Therefore, E1 with a sampling frequency slightly higher than four times the chipping rate to cover the main lobes of the signals is then considered, but this requires some additional techniques to compensate the correlation shape [34,35]. Finally, for E5a or E5b, a sampling frequency slightly higher than twice the chipping rate is considered, like the L5 signal.
The E1 and E5 secondary codes are both 100 ms long even if the number of chips is different, therefore this value will be considered as coherent integration time when using non-coherent integration.
Starting with the E1 signal, to be fair compared to the parameters selected for the GPS signals, a typical search space of ±4 kHz is considered (since the Galileo satellites have a lower speed and a maximum range rate around 20% lower); and since the coherent integration time is fixed to 100 ms, the frequency step is 2 / ( 3 T C ) = 6.67 Hz, implying 2 × 4000/6.67 ≈ 1200 frequency bins. The code step is one sample, giving 16,384 primary code bins for a sampling frequency of 4.096 MHz and 24,576 primary code bins for a sampling frequency of 6.144 MHz. Since the E1 secondary code is 25 chips long, the number of cells is 1200 × 16,384 × 25 = 491,520,000 and 1200 × 24,576 × 25 = 737,280,000 respectively. A global probability of false alarm of 10 3 gives P FA , C = 2.04 × 10 12 and P FA , C = 1.36 × 10 12 respectively, and finally a typical probability of detection of 0.9 gives a required final SNR of 18.30 dB and 18.35 dB respectively.
Then, as for the GPS, a case with assistance is also considered, where the current chip of the secondary code is known, and where the frequency search space is reduced to 213.3 Hz (80% of the 266.7 Hz of the GPS L1 C/A), giving 32 frequency bins.
The same is done for the E5 signal, considering four cases, coherent integration limited to 100 ms or unlimited, and with or without assistance. As for GPS, the only difference in the assumptions is that the frequency search space is about 75% the one of the E1 signal, which gives 900 frequency bins without assistance (±3000 Hz), and 24 frequency bins with assistance (±160 Hz).
Table 15 summarizes all this information. The values for the unlimited T C case are considered the same, although the number of frequency bins should be adapted, as already mentioned in Section 4.2.
Next, the coherent and total integration times can be estimated following Figure 11, and the values are summarized in Table 16 and Table 17, considering the average and worst case regarding the implementation losses (same losses as for GPS signals). It can be seen that the integration times are very similar for the both sampling frequencies with the E1 signals. However, the integration time with the E5 signal is much lower in general, thanks to its power that is 2 dB higher.
Then, Table 18 then shows the ratio of the total integration time between several cases to quantify the impact of using unlimited coherent integration time and assistance with Galileo signals. It confirms the outcomes of Table 7 that the best way to reduce the total integration time is to increase the coherent integration time, especially for weak signals, but that having assistance still helps to reduce the integration time in a non-negligible way.
Then, Table 19 and Table 20 and Figure 14 summarize the product of ratios for all the sensitivities, both taking into account the input memory and not consider this factor—comparing E1 with itself for different sampling frequencies, and comparing E5 with E1, respectively.
Table 19 shows that using a sampling frequency of 6.144 MHz instead of 4.096 MHz for the E1 signal triples the complexity most of the time. Therefore, it can be concluded it is certainly more efficient to use a sampling frequency of 4.096 MHz and a technique that modifies the local code to get rid of the side peak [34,35], rather than using a sampling frequency of 6.144 MHz.
Then, Table 20 and Figure 14 show that when there is no assistance, the E5 acquisition is approximately 25 to 45 times more complex. This is due to the very long secondary code to synchronize with (100 chips), which dramatically impacts the complexity.
When there is assistance, without considering the input memory, the E5 acquisition is still more complex, but by a lower ratio, around 6 for coherent only implementation and around 11 when non-coherent accumulation is used. One may note that if the ratio between E5 and E1 with a sampling frequency of 6.144 MHz was calculated (by simply diving the ratio of Table 20 by those of Table 19), the E5 could be only twice more complex than E1 for coherent only implementation. This is impressive, noting that the sampling frequency of the E5 is more than three times higher and the primary code is more than twice longer.
Finally, still with assistance, if the input memory is considered, the complexity increases and increases with the sensitivity, because at this time the sampling frequency of 20.48 MHz of the E5 signal becomes a huge burden.
Now, we can take into account the average number of frequency bins searched until detection to obtain the final ratios of complexity. Table 21 shows the ratio of number of frequency bins between the signals. As for the GPS, when there is non-coherent integration and that the coherent integration time is the same for both signals, the ratio depends only on the width of the search space, hence the ratio of 0.8. Then, with coherent integration only, since both signals are not limited in the coherent integration time (unlike the comparison of GPS L1 C/A and L5), the ratio is in favor of the E5 signal because it requires a smaller integration time thanks to its higher power.
Finally, applying these ratios to Table 20 gives Table 22 that shows the final complexity ratio, and it can be seen that even if the ratios are lower than Table 20, the E5 signal is still more complex than the E1.

5. Conclusions

This paper performed a very detailed comparison of the complexity of the acquisition of L1 and L5 bands signals, to determine which signal should be acquired first to then help the other, to verify the common thought that L5 band signals acquisition is more complex, and especially to quantify this ratio.
Such detailed comparison is needed because many parameters influence positively or negatively each band and each signal, such as the chipping rate, the sampling frequency, the carrier frequency, the length of the primary and secondary codes, the signal power, or the availability of a pilot channel; it is therefore difficult to make accurate estimation.
In a first part, general expressions of the processing time and memory requirements have been presented and are summarized in Table 2. Such expressions are applicable for any GNSS signal, and depend on several parameters. Some parameters depend on the signal considered, such as the number of samples in one code period (which depends on the code length and sampling frequency), or the length of the secondary code; and some parameters do not depend on the signal considered but depend on the context and design, such as the number of non-coherent integrations or the number of bits used for the quantization.
In a second part, the comparisons have been performed by evaluating the aforementioned expressions. An accurate estimation of the processing time and memory requirements has thus been done, providing all the details of the methodology, and considering many details (such as the search space that influences the probability of false alarm at the cell level and the signal-to-noise ratio required). In order to have a general view and not just one example, the following has been considered: Five sensitivities (from −140 dBm to −160 dBm with a step of 5 dBm); both unassisted and assisted case; and both coherent only integration (when applicable) and the use of non-coherent integration. Studies have been included to evaluate the impact of each element (Table 7 and Table 18).
For GPS, the L1 C/A and L5 signals have been compared. Table 10 and Figure 12 provide the ratio between the complexity of each of them considering the processing time of one frequency bin and the memory requirements, and Table 12 provides the final ratio of complexity which takes also into account the average number of frequency bins browsed until the signal detection. The developments have been validated by Matlab simulations (Table 13). The acquisition of the L5 signal is most of the time more complex. Without assistance, if the sensitivity or the coherent integration time is moderate, acquiring the L5 signal is much more complex (ratios higher than 50 most often, i.e., it may require 50 times more memory, or have a processing time that is 50 times longer, or e.g., 10 times more memory, with a 5 times longer processing time). For very high sensitivity with long coherent integration time, the complexity ratio for one frequency bin is smaller, but still to the detriment of the L5 signal, except at −160 dBm. With assistance, the complexity ratios are smaller for any sensitivity, but only those for unlimited coherent integration time are of interests, since the ratios for one frequency bin become between 0.1 and 4.6. i.e., the GPS L5 signal acquisition may be significantly less complex than the GPS L1 C/A signal one in some high sensitivity cases if only one or few frequency bins that have to be tested (which would require very accurate Doppler assistance). When considering more frequency bins, the L5 signal is more complex to acquire, except few cases.
For Galileo, the E1 signal has been compared with itself first, considering two different sampling frequencies, 4.096 MHz and 6.144 MHz, the first one being close to the minimum and the second one offering the same code loss as a BPSK signals sampled at about twice the chipping rate. Table 19 provides the ratios of complexity, and shows using a sampling frequency of 6.144 triples the complexity most of the time. It is therefore recommended to use the minimum sampling frequency of 4.096 MHz and use techniques to remove the side peaks of the main correlation peak.
Then, the E1 and E5 signals have been compared. Table 20 and Figure 14 provide the ratios of complexity for one frequency bin, and shows that the acquisition of the E5 signal is always more complex. Without assistance, acquiring the E5 signal is much more complex (ratios higher between 25 and 45). With assistance, the complexity ratios are smaller for any sensitivity, the lowest ratios being for unlimited coherent integration times; but the minimum ratio is still around 6 (without considering the input memory, else the ratios increase with the sensitivity), which makes the Galileo E5 signal acquisition significantly more complex than the Galileo E1 one even in the best case. Considering more frequency bins reduces these ratios (Table 22), however the E5 signal is still more complex to acquire.
In conclusion, the GPS and Galileo L5 band signals are overall more complex to acquire than the GPS and Galileo L1 band signals, although in some particular cases the difference may be negligible or limited. In particular, the L5 signal could show better performance in presence of very accurate assistance to avoid a significant increase of the number of frequency bins when using very long coherent integration times.
The methodology and the expressions and developments provided in this paper can be easily used to compare the complexity of current or future GNSS signals in specific cases for a wide variety of hardware implementations.

Supplementary Materials

Author Contributions

C.B. initiated the idea of making this comparison; J.L. carried out the derivations and comparisons, and wrote the paper; and R.L.J. supervised the work. All of the authors contributed to discussions and revisions of the manuscript. Formal analysis, J.L.; Investigation, C.B.; Methodology, J.L.; Supervision, R.L.J.; Writing-original draft, J.L.; Writing-review & editing, R.L.J. and C.B.

Funding

This research received no external funding.

Conflicts of Interest

The authors declare no conflict of interest.

References

  1. Borre, K.; Akos, D.M.; Bertelsen, N.; Rinder, P.; Jensen, S.H. A Software-Defined GPS and Galileo Receiver: A Single-Frequency Approach; Birkhäuser: Basel, Switzerland, 2007; ISBN 978-0817643904. [Google Scholar]
  2. Van Diggelen, F. Who’s your daddy? Why GPS will continue to dominate consumer GNSS. Inside GNSS 2014, 9, 30–41. [Google Scholar]
  3. Navstar GPS Space Segment—User Segment L5 Interfaces, Interface Specification (IS-GPS-705); National Coordination Office for Space-Based Positioning, Navigation, and Timing: Washington, DC, USA, 2003.
  4. Misra, P.; Enge, P. Global Positioning System: Signals, Measurements, and Performance, 2nd ed.; Ganga-Jamuna Press: Lincoln, MA, USA, 2010; ISBN 978-0970954428. [Google Scholar]
  5. Leclère, J.; Botteron, C.; Farine, P.-A. Comparison framework of FPGA-based GNSS signals acquisition architectures. IEEE Trans. Aeros. Electron. Syst. 2013, 49, 1497–1518. [Google Scholar] [CrossRef]
  6. Kaplan, E.D.; Hegarty, C.J. Understanding GPS/GNSS: Principles and Applications, 3rd ed.; Artech House: Norwood, MA, USA, 2017; ISBN 978-1630810580. [Google Scholar]
  7. Betz, J.W. Engineering Satellite-Based Navigation and Timing: Global Navigation Satellite Systems, Signals, and Receivers; Wiley-IEEE Press: New York, NY, USA, 2015; ISBN 978-1118615973. [Google Scholar]
  8. Van Diggelen, F. A-GPS: Assisted GPS, GNSS, and SBAS; Artech House: Norwood, MA, USA, 2009; ISBN 978-1596933743. [Google Scholar]
  9. Foucras, M. Performance Analysis of Modernized GNSS Signal Acquisition. Ph.D. Thesis, INP Toulouse, Toulouse, France, 2015. [Google Scholar]
  10. Pany, T.; Riedl, B.; Winkel, J.; Wörz, T.; Schweikert, R.; Niedermeier, H.; Lagraste, S.; López-Risueño, G.; Jiménez-Baños, D.F. Coherent integration time: The longer, the better. Inside GNSS 2009, 4, 52–61. [Google Scholar]
  11. Gaggero, P.O. Effect of Oscillator Instability on GNSS Signal Integration Time. Master’s Thesis, University of Neuchâtel, Neuchâtel, Switzerland, 2008. [Google Scholar]
  12. Gaggero, P.O.; Borio, D. Ultra-stable oscillators: Limits of GNSS coherent integration. In Proceedings of the 21st International Technical Meeting of The Satellite Division of the Institute of Navigation (ION GNSS 2008), Savannah, GA, USA, 16–19 September 2008; pp. 565–575. [Google Scholar]
  13. Gowdayyanadoddi, N.S.; Broumandan, A.; Curran, J.T.; Lachapelle, G. Benefits of an ultra stable oscillator for long coherent integration. In Proceedings of the 27th International Technical Meeting of The Satellite Division of the Institute of Navigation (ION GNSS+ 2014), Tampa, FL, USA, 8–12 September 2014; pp. 1578–1594. [Google Scholar]
  14. Broumandan, A.; Nielsen, J.; Lachapelle, G. Coherent integration time limit for a mobile GNSS receiver for indoor GNSS applications. GPS Solut. 2012, 16, 157–167. [Google Scholar] [CrossRef]
  15. Mathis, H.; Flammant, P.; Thiel, A. An analytic way to optimize the detector of a post-correlation FFT acquisition algorithm. In Proceedings of the 16th International Technical Meeting of the Satellite Division of the Institute of Navigation (ION GPS/GNSS 2003), Portland, OR, USA, 9–12 September 2003; pp. 689–699. [Google Scholar]
  16. Leclère, J.; Foucras, M.; Landry, R., Jr.; Ekambi, B. Efficient DBZP acquisition of GNSS signals using the radix-3 FFT algorithm. IEEE Aerosp. Electron. Syst. Mag. 2018. to be submitted. [Google Scholar]
  17. Leclère, J. Resource-Efficient Parallel Acquisition Architectures for Modernized GNSS Signals. Ph.D. Thesis, EPFL, Neuchâtel, Switzerland, 2014. [Google Scholar] [CrossRef]
  18. Akopian, D. Fast FFT based GPS satellite acquisition methods. IEE Proc. Radar Sonar Navig. 2005, 152, 277–286. [Google Scholar] [CrossRef]
  19. Ziedan, N.I.; Garrison, J.L. Unaided acquisition of weak GPS signals using circular correlation or double-block zero padding. In Proceedings of the IEEE Position Location and Navigation Symposium (PLANS), Monterey, CA, USA, 26–29 April 2004; pp. 461–470. [Google Scholar] [CrossRef]
  20. Winternitz, L.M.; Bamford, W.A.; Heckler, G.W. A GPS receiver for high-altitude satellite navigation. IEEE J. Sel. Top. Signal Process. 2009, 3, 541–556. [Google Scholar] [CrossRef]
  21. Capuano, V.; Blunt, P.; Botteron, C.; Tian, J.; Leclère, J.; Wang, Y.; Basile, F.; Farine, P.-A. Standalone GPS L1 C/A Receiver for Lunar Missions. Sensors 2016, 16, 347. [Google Scholar] [CrossRef] [PubMed]
  22. Musumeci, L.; Dovis, F.; Silva, J.S.; da Silva, P.F.; Lopes, H.D. Design of a High Sensitivity GNSS receiver for Lunar missions. Adv. Space Res. 2016, 57, 2285–2313. [Google Scholar] [CrossRef]
  23. Leclère, J.; Botteron, C.; Farine, P.-A. High sensitivity acquisition of GNSS signals with secondary code on FPGAs. IEEE Aerosp. Electron. Syst. Mag. 2017, 32, 46–63. [Google Scholar] [CrossRef]
  24. Leclère, J.; Botteron, C.; Farine, P.-A. Acquisition of modern GNSS signals using a modified parallel code-phase search architecture. Signal Process. 2014, 95, 177–191. [Google Scholar] [CrossRef] [Green Version]
  25. Leclère, J.; Botteron, C.; Farine, P.-A. Improving the performance of the FFT-based parallel code-phase search acquisition of GNSS signals by decomposition of the circular correlation. In Proceedings of the 25th International Technical Meeting of the Satellite Division of the Institute of Navigation (ION GNSS 2012), Nashville, TN, USA, 17–21 September 2012; pp. 1406–1416. [Google Scholar]
  26. Leclère, J.; Botteron, C.; Landry, R., Jr.; Farine, P.-A. FFT splitting for improved FPGA-based acquisition of GNSS. Int. J. Navig. Obs. 2015, 2015. [Google Scholar] [CrossRef]
  27. Leclère, J.; Landry, R., Jr. Complexity reduction for high sensitivity acquisition of GNSS signals with a secondary code. In Proceedings of the 29th International Technical Meeting of the Satellite Division of the Institute of Navigation (ION GNSS+ 2016), Portland, OR, USA, 12–16 September 2016; pp. 436–443. [Google Scholar]
  28. Leclère, J.; Andrianarison, M.; Landry, R., Jr. Efficient GNSS secondary code correlations for high sensitivity acquisition. In Proceedings of the European Navigation Conference, Lausanne, Switzerland, 9–12 May 2017. [Google Scholar]
  29. Leclère, J.; Landry, R., Jr. Combining secondary code correlations for fast GNSS signal acquisition. In Proceedings of the IEEE/ION Position Location and Navigation Symposium (PLANS), Monterey, CA, USA, 23–26 April 2018; pp. 46–55. [Google Scholar] [CrossRef]
  30. Couronneau, N. Performance Analysis of Assisted-GNSS Receivers. Ph.D. Thesis, University of Cambridge, Cambridge, UK, 2013. [Google Scholar] [CrossRef]
  31. Psiaki, M.L. Block acquisition of weak GPS signals in a software receiver. In Proceedings of the 14th International Technical Meeting of The Satellite Division of the Institute of Navigation (ION GPS 2001), Salt Lake City, UT, USA, 11–14 September 2001; pp. 2838–2850. [Google Scholar]
  32. Leclère, J.; Landry, R., Jr.; Botteron, C. A review of GNSS signals acquisition in space. IEEE Trans. Aerosp. Electron. Syst. 2018. under review. [Google Scholar]
  33. Akos, D.M.; Pini, M. Effect of sampling frequency on GNSS receiver performance. Navigation 2006, 53, 85–95. [Google Scholar] [CrossRef]
  34. Ward, P.W. A design technique to remove the correlation ambiguity in binary offset carrier (BOC) spread spectrum signals. In Proceedings of the 59th Annual Meeting of the Institute of Navigation and CIGTF 22nd Guidance Test Symposium, Albuquerque, NM, USA, 23–25 June 2003; pp. 146–155. [Google Scholar]
  35. Heiries, V.; Roviras, D.; Ries, L.; Calmettes, V. Analysis of non ambiguous BOC signal acquisition performance. In Proceedings of the 17th International Technical Meeting of the Satellite Division of the Institute of Navigation (ION GNSS 2004), Long beach, CA, USA, 21–24 September 2004; pp. 2611–2622. [Google Scholar]
Figure 1. Overview of the considered parallel code search with long integration. Dashed blocks are optional.
Figure 1. Overview of the considered parallel code search with long integration. Dashed blocks are optional.
Sensors 18 02779 g001
Figure 2. Implementation of a data channel acquisition (timing diagram available in Figure 3).
Figure 2. Implementation of a data channel acquisition (timing diagram available in Figure 3).
Sensors 18 02779 g002
Figure 3. Timing diagram of a data channel acquisition shown in Figure 2, with N D = 4 for the illustration (in reality N D = 20 for the GPS L1 C/A signal). Colors indicate different portions corresponding to the length of one data bit. Grey color indicates intermediate results (i.e., the value is not yet the final one).
Figure 3. Timing diagram of a data channel acquisition shown in Figure 2, with N D = 4 for the illustration (in reality N D = 20 for the GPS L1 C/A signal). Colors indicate different portions corresponding to the length of one data bit. Grey color indicates intermediate results (i.e., the value is not yet the final one).
Sensors 18 02779 g003
Figure 4. Implementation of a pilot channel acquisition, with coherent integration only, in a parallel way (timing diagram available in Figure 5).
Figure 4. Implementation of a pilot channel acquisition, with coherent integration only, in a parallel way (timing diagram available in Figure 5).
Sensors 18 02779 g004
Figure 5. Timing diagram of the pilot channel acquisition shown in Figure 4, with N S = 4 for the illustration.
Figure 5. Timing diagram of the pilot channel acquisition shown in Figure 4, with N S = 4 for the illustration.
Sensors 18 02779 g005
Figure 6. Implementation of a pilot channel acquisition, without non-coherent accumulation, in a serial way (timing diagram available in Figure 7).
Figure 6. Implementation of a pilot channel acquisition, without non-coherent accumulation, in a serial way (timing diagram available in Figure 7).
Sensors 18 02779 g006
Figure 7. Timing diagram of the pilot channel acquisition shown in Figure 6, with N S = 4 and K = 3 .
Figure 7. Timing diagram of the pilot channel acquisition shown in Figure 6, with N S = 4 and K = 3 .
Sensors 18 02779 g007
Figure 8. Implementation of a pilot channel acquisition, with non-coherent accumulation, in a parallel way (timing diagram available in Figure 5).
Figure 8. Implementation of a pilot channel acquisition, with non-coherent accumulation, in a parallel way (timing diagram available in Figure 5).
Sensors 18 02779 g008
Figure 9. Implementation of a pilot channel acquisition, with non-coherent accumulation, in a serial way (timing diagram available in Figure 7).
Figure 9. Implementation of a pilot channel acquisition, with non-coherent accumulation, in a serial way (timing diagram available in Figure 7).
Sensors 18 02779 g009
Figure 10. Parameters influencing the Signal-to-Noise Ratio (SNR) required.
Figure 10. Parameters influencing the Signal-to-Noise Ratio (SNR) required.
Sensors 18 02779 g010
Figure 11. Evaluation of the coherent integration time and number of non-coherent accumulations: (a) When the coherent integration time is fixed, and the number of non-coherent accumulations is estimated; (b) When there is coherent integration only, and the coherent integration time is estimated.
Figure 11. Evaluation of the coherent integration time and number of non-coherent accumulations: (a) When the coherent integration time is fixed, and the number of non-coherent accumulations is estimated; (b) When there is coherent integration only, and the coherent integration time is estimated.
Sensors 18 02779 g011
Figure 12. Ratio of complexity (product of processing time ratio and memory ratio) between the L5 and L1 C/A signals. (Left) without assistance, (right) with assistance. Solid curves do not consider the input memory, while dashed curves consider the input memory.
Figure 12. Ratio of complexity (product of processing time ratio and memory ratio) between the L5 and L1 C/A signals. (Left) without assistance, (right) with assistance. Solid curves do not consider the input memory, while dashed curves consider the input memory.
Sensors 18 02779 g012
Figure 13. Number of frequency bins browsed (top) and ratio (bottom) of this over 100 simulations, for a sensitivity of −145 dBm without assistance.
Figure 13. Number of frequency bins browsed (top) and ratio (bottom) of this over 100 simulations, for a sensitivity of −145 dBm without assistance.
Sensors 18 02779 g013
Figure 14. Ratio of complexity (product of processing time ratio and memory ratio) between the E5 signal and the E1 signal with a sampling frequency of 4.096 MHz. (Left) without assistance, (right) with assistance. Solid curves do not consider the input memory, while dashed curves consider the input memory.
Figure 14. Ratio of complexity (product of processing time ratio and memory ratio) between the E5 signal and the E1 signal with a sampling frequency of 4.096 MHz. (Left) without assistance, (right) with assistance. Solid curves do not consider the input memory, while dashed curves consider the input memory.
Sensors 18 02779 g014
Table 1. Summary of the characteristics of the considered Global Navigation Satellite System (GNSS) signals. BPSK stand for Binary Phase Shift Keying, CBOC stands for Code Binary Offset Carrier.
Table 1. Summary of the characteristics of the considered Global Navigation Satellite System (GNSS) signals. BPSK stand for Binary Phase Shift Keying, CBOC stands for Code Binary Offset Carrier.
SystemL1 C/AL5E1E5aE5b
Center frequency (MHz)1575.421176.451575.421176.451176.45
Channel combination-QuadratureCode multiplexingQuadratureQuadrature
ChannelDataDataPilotDataPilotDataPilotDataPilot
Bandwidth2.04620.4620.4614.32214.32220.4620.4620.4620.46
Minimum bandwidth2.04620.4620.464.0924.09220.4620.4620.4620.46
ModulationBPSK (1)BPSK (10)BPSK (10)CBOC (6,1)BPSK (10)BPSK (10)BPSK (10)BPSK (10)
Sub-carrier frequency (MHz)---1.023 & 6.1381.023 & 6.138----
Primary codeChipping rate (Mchip/s)1.02310.2310.231.0231.02310.2310.2310.2310.23
Length (chip)102310,23010,2304092409210,23010,23010,23010,230
Length (ms)111441111
Secondary codeChipping rate (chip/s)-10001000-2501000100010001000
Length (chip)-1020-25201004100
Length (ms)-1020-100201004100
Data rate(symbol/s)50100-250-50-250-
(bit/s)5050-125-25-125-
Minimum power received on Earth(dBW)−158.5−157−157−160−160−158−158−158−158
(dBm)−128.5−127−127−130−130−128−128−128−128
Table 2. Summary of the processing time and memory requirements of the different implementations.
Table 2. Summary of the processing time and memory requirements of the different implementations.
ImplementationProcessing Time of One Frequency Bin T F B (Clock Cycle)Memory (bit)Figure
DataParallel NC N P [ ( K + 1 ) 2 N D + 1 ] + N Z [ ( K + 1 ) N D ] + 2 L N D N P [ 3 B R + 3 log 2 ( N D ) + log 2 ( K ) ] 2, 3
PilotParallel C N P ( 2 K N S + 3 ) + N Z ( K N S + 1 ) + 2 L N S 2 N P ( B R + log 2 ( K N S ) ) 4, 5
Parallel NC N P ( 2 K N S + 3 ) + N Z ( K N S + 1 ) + 2 L N S N P [ 3 B R + 3 log 2 ( K N S / N NC ) + log 2 ( N NC ) ] 5, 8
Serial C N P ( 2 K N S 2 + 3 ) + N Z ( K N S 2 + 1 ) + 2 L 2 N P ( B R + log 2 ( K N S ) ) 6, 7 *
Serial C with assistance N P ( 2 K N S N SCB + 3 ) + N Z ( K N S N SCB + 1 ) + 2 L 2 N P ( B R + log 2 ( K N S ) ) 6, 7 *
Serial NC N P ( 2 K N S 2 + 3 ) + N Z ( K N S 2 + 1 ) + 2 L N P [ 3 B R + 3 log 2 ( K N S / N NC ) + log 2 ( N NC ) ] 7 *, 9
Serial NC with assistance N P ( 2 K N S N SCB + 3 ) + N Z ( K N S N SCB + 1 ) + 2 L N P [ 3 B R + 3 log 2 ( K N S / N NC ) + log 2 ( N NC ) ] 7 *, 9
Semi-parallel C N P ( 2 K N S N S N A + 3 ) + N Z ( K N S N S N A + 1 ) + 2 L N A 2 N P ( B R + log 2 ( K N S ) )
Semi-parallel C with assistance N P ( 2 K N S N S N SCB N A + 3 ) + N Z ( K N S N S N SCB N A + 1 ) + 2 L N A 2 N P ( B R + log 2 ( K N S ) )
Semi-parallel NC N P ( 2 K N S N S N A + 3 ) + N Z ( K N S N S N A + 1 ) + 2 L N A N P [ 3 B R + 3 log 2 ( K N S / N NC ) + log 2 ( N NC ) ]
Semi-parallel NC with assistance N P ( 2 K N S N S N SCB N A + 3 ) + N Z ( K N S N S N SCB N A + 1 ) + 2 L N A N P [ 3 B R + 3 log 2 ( K N S / N NC ) + log 2 ( N NC ) ]
* not exactly the same, but similar.
Table 3. Parameters independent of the integration time selected for Global Positioning System (GPS) signals.
Table 3. Parameters independent of the integration time selected for Global Positioning System (GPS) signals.
Signal f S N P N FFT N Z N D N S B R
L1 C/A2.048 MHz20484096020-16
L520.48 MHz20,48065,53624,576-2016
Table 4. Search space and statistical parameters for P FA , G = 10 3 and P D = 0.9 for different contexts with GPS signals.
Table 4. Search space and statistical parameters for P FA , G = 10 3 and P D = 0.9 for different contexts with GPS signals.
ContextSignal T C N FB N CB N CELL P FA , C S N R
no assistanceL1 C/A20 ms3002048614,4001.63 × 10−917.15 dB
L520 ms225409,60092,160,0001.09 × 10−1118.04 dB
L5unlimited225409,60092,160,0001.09 × 10−1118.04 dB
assistanceL1 C/A20 ms16204832,7683.05 × 10−816.52 dB
L520 ms1220,480245,7604.07 × 10−916.96 dB
L5unlimited1220,480245,7604.07 × 10−916.96 dB
Table 5. Total integration time T IT = T C × N NC as function of the sensitivity and context with GPS signals, for average losses. Note that the sensitivities given are for the L1 C/A signal; those of L5 are 1.5 dB higher.
Table 5. Total integration time T IT = T C × N NC as function of the sensitivity and context with GPS signals, for average losses. Note that the sensitivities given are for the L1 C/A signal; those of L5 are 1.5 dB higher.
ContextSignal T C −140 dBm−145 dBm−150 dBm−155 dBm−160 dBm
no assistanceL1 C/A20 ms20 × 1 = 2020 × 4 = 8020 × 23 = 46020 × 170 = 340020 × 1536 = 30,720
L520 ms20 × 1 = 2020 × 3 = 6020 × 16 = 32020 × 111 = 222020 × 963 = 19,260
L5unlimited15 × 1 = 1547 × 1 = 47146 × 1 = 146462 × 1 = 4621460 × 1 = 1460
assistanceL1 C/A20 ms20 × 1 = 2020 × 4 = 8020 × 20 = 40020 × 147 = 294020 × 1328 = 26,560
L520 ms20 × 1 = 2020 × 3 = 6020 × 13 = 26020 × 86 = 172020 × 751 = 15,020
L5unlimited12 × 1 = 1238 × 1 = 38120 × 1 = 120377 × 1 = 3771191 × 1 = 1191
Table 6. Total integration time T IT = T C × N NC as function of the sensitivity and context with GPS signals, for worst losses. Note that the sensitivities given are for the L1 C/A signal; those of L5 are 1.5 dB higher.
Table 6. Total integration time T IT = T C × N NC as function of the sensitivity and context with GPS signals, for worst losses. Note that the sensitivities given are for the L1 C/A signal; those of L5 are 1.5 dB higher.
ContextSignal T C −140 dBm−145 dBm−150 dBm−155 dBm−160 dBm
no assistanceL1 C/A20 ms20 × 2 = 4020 × 9 = 18020 × 59 = 118020 × 495 = 990020 × 4670 = 93,400
L520 ms20 × 2 = 4020 × 7 = 14020 × 40 = 80020 × 315 = 630020 × 2906 = 58,120
L5unlimited26 × 1 = 2682 × 1 = 82258 × 1 = 258814 × 1 = 8142573 × 1 = 2573
assistanceL1 C/A20 ms20 × 2 = 4020 × 8 = 16020 × 51 = 102020 × 428 = 856020 × 4040 = 80,800
L520 ms20 × 2 = 4020 × 5 = 10020 × 31 = 62020 × 246 = 492020 × 2266 = 45,320
L5unlimited21 × 1 = 2167 × 1 = 67210 × 1 = 210664 × 1 = 6642099 × 1 = 2099
Table 7. Ratio of total integration time (%) for different comparisons with GPS signals. Top value is for average losses, and bottom value is for worst losses. Note that the sensitivities given are for the L1 C/A signal; those of L5 are 1.5 dB higher.
Table 7. Ratio of total integration time (%) for different comparisons with GPS signals. Top value is for average losses, and bottom value is for worst losses. Note that the sensitivities given are for the L1 C/A signal; those of L5 are 1.5 dB higher.
ComparisonFixed Element−140 dBm−145 dBm−150 dBm−155 dBm−160 dBm
Impact of using L5: L5 verses L1 C/A with T C = 20 msno assistance10075706563
10078686462
assistance10065655957
10061615756
Impact of T C : Unlimited verses 20 ms with L5 signalno assistance757846218
655932134
assistance606346228
536734135
Impact of assistance: Assistance verses no assistanceL1 signal100100878686
10089868687
L5 signal ( T C = 20 ms)100100817778
10071787878
L5 signal ( T C unlimited)8081828282
8182818282
Table 8. Processing time (clock cycle) and memory requirements (bit) of the different implementations for a sensitivity of −150 dBm with average losses. Ratios are computed with the values of the L1 C/A signal.
Table 8. Processing time (clock cycle) and memory requirements (bit) of the different implementations for a sensitivity of −150 dBm with average losses. Ratios are computed with the values of the L1 C/A signal.
Implementation K N NC N A B C B NC T FB Ratio of T FB M Ratio of M Product of Ratios
L1 C/A Parallel NC23232021261,968,128 2,785,280
L5 Parallel NC161620212521,057,53610.727,443,2009.9105.4
L5 Semi-parallel NC161610212542,029,05621.413,751,6004.9105.2
L5 Semi-parallel NC16169212563,000,57632.012,349,4404.4141.9
L5 Semi-parallel NC16168212563,000,57632.010,977,2803.9126.2
L5 Semi-parallel NC16167212563,000,57632.09,605,1203.4110.4
L5 Semi-parallel NC16166212583,972,09642.78,232,9603.0126.1
L5 Semi-parallel NC16165212583,972,09642.76,860,8002.5105.1
L5 Semi-parallel NC161642125104,943,61653.35,488,6402.0105.1
L5 Semi-parallel NC161632125146,886,65674.64,116,4801.5110.3
L5 Semi-parallel NC161622125209,801,216106.62,744,3201.0105.0
L5 Serial NC161612125419,516,416213.21,372,1600.5105.0
L5 Parallel C7.3012024-9,654,2724.919,660,8007.134.6
L5 Semi-parallel C7.3011024-19,222,5289.89,830,4003.534.5
L5 Semi-parallel C7.301924-28,790,78414.68,847,3603.246.5
L5 Semi-parallel C7.301824-28,790,78414.67,864,3202.841.3
L5 Semi-parallel C7.301724-28,790,78414.66,881,2802.536.1
L5 Semi-parallel C7.301624-38,359,04019.55,898,2402.141.3
L5 Semi-parallel C7.301524-38,359,04019.54,915,2001.834.4
L5 Semi-parallel C7.301424-47,927,29624.43,932,1601.434.4
L5 Semi-parallel C7.301324-67,063,80834.12,949,1201.136.1
L5 Semi-parallel C7.301224-95,768,57648.71,966,0800.734.3
L5 Serial C7.301124-191,451,13697.3983,0400.434.3
L1 C/A Parallel + assist.20202021261,722,368 2,785,2801.0
L5 Serial NC + assist.13131212521,057,53612.21,372,1600.56.0
L5 Serial C + assist.6.001123-7,950,3364.6942,0800.31.6
Table 9. Memory requirements (bit) of the different implementations for a sensitivity of −150 dBm with average losses, considering the input memory. Ratios are computed with the values of the L1 C/A signal.
Table 9. Memory requirements (bit) of the different implementations for a sensitivity of −150 dBm with average losses, considering the input memory. Ratios are computed with the values of the L1 C/A signal.
Implementation T IT Input Memory (bit)Total Memory (bit)Memory RatioProduct of Ratios
L1 C/A Parallel NC460942,0803,727,360
L5 Parallel NC3206,553,60033,996,8009.197.6
L5 Semi-parallel NC3206,553,60020,275,2005.4116.2
L5 Semi-parallel NC3206,553,60018,903,0405.1162.3
L5 Semi-parallel NC3206,553,60017,530,8804.7150.6
L5 Semi-parallel NC3206,553,60016,158,7204.3138.8
L5 Semi-parallel NC3206,553,60014,786,5604.0169.3
L5 Semi-parallel NC3206,553,60013,414,4003.6153.6
L5 Semi-parallel NC3206,553,60012,042,2403.2172.3
L5 Semi-parallel NC3206,553,60010,670,0802.9213.6
L5 Semi-parallel NC3206,553,6009,297,9202.5265.9
L5 Serial NC3206,553,6007,925,7602.1453.2
L5 Parallel C1462,990,08022,650,8806.129.8
L5 Semi-parallel C1462,990,08012,820,4803.433.6
L5 Semi-parallel C1462,990,08011,837,4403.246.5
L5 Semi-parallel C1462,990,08010,854,4002.942.6
L5 Semi-parallel C1462,990,0809,871,3602.638.7
L5 Semi-parallel C1462,990,0808,888,3202.446.5
L5 Semi-parallel C1462,990,0807,905,2802.141.3
L5 Semi-parallel C1462,990,0806,922,2401.945.2
L5 Semi-parallel C1462,990,0805,939,2001.654.3
L5 Semi-parallel C1462,990,0804,956,1601.364.7
L5 Serial C1462,990,0803,973,1201.1103.7
L1 C/A Parallel + assist.400819,2003,604,480
L5 Serial NC + assist.2605,324,8006,696,9601.922.7
L5 Serial C + assist.1202,457,6003,399,6800.94.4
Table 10. Ratio of complexity (product of processing time ratio and memory ratio) between the L5 and L1 C/A signals. Top rows do not consider the input memory, while bottom rows consider the input memory.
Table 10. Ratio of complexity (product of processing time ratio and memory ratio) between the L5 and L1 C/A signals. Top rows do not consider the input memory, while bottom rows consider the input memory.
SensitivityParallel without AssistanceSerial with Assistance
Non-CoherentCoherent OnlyNon-CoherentCoherent Only
AverageWorstAverageWorstAverageWorstAverageWorst
−140 dBm84.2109.340.947.44.25.51.71.9
−145 dBm97.6111.152.145.64.96.32.12.1
−150 dBm105.4106.834.625.06.06.21.61.1
−155 dBm102.4101.615.39.55.95.90.70.4
−160 dBm98.998.25.63.25.75.80.30.2
−140 dBm84.2109.341.047.45.58.62.12.8
−145 dBm96.2108.351.743.88.814.03.74.6
−150 dBm97.690.929.817.022.735.44.43.5
−155 dBm78.069.46.62.149.358.72.00.9
−160 dBm64.562.50.60.262.463.50.30.1
Table 11. Ratio of number of frequency bins between the L5 and L1 C/A signals.
Table 11. Ratio of number of frequency bins between the L5 and L1 C/A signals.
SensitivityParallel without AssistanceSerial with Assistance
Non-CoherentCoherent OnlyNon-CoherentCoherent Only
AverageWorstAverageWorstAverageWorstAverageWorst
−140 dBm0.80.80.61.00.80.80.50.8
−145 dBm0.80.81.83.10.80.81.42.5
−150 dBm0.80.85.59.70.80.84.57.9
−155 dBm0.80.817.330.50.80.814.124.9
−160 dBm0.80.854.896.50.80.844.778.7
Table 12. Final ratio of complexity (product of processing time ratio, memory ratio and frequency bins ratio) between the L5 and L1 C/A signals obtained as the product of Table 10 and Table 11. Top rows do not consider the input memory, while bottom rows consider the input memory.
Table 12. Final ratio of complexity (product of processing time ratio, memory ratio and frequency bins ratio) between the L5 and L1 C/A signals obtained as the product of Table 10 and Table 11. Top rows do not consider the input memory, while bottom rows consider the input memory.
SensitivityParallel without AssistanceSerial with Assistance
Non-CoherentCoherent OnlyNon-CoherentCoherent Only
AverageWorstAverageWorstAverageWorstAverageWorst
−140 dBm63.181.923.046.23.24.10.81.5
−145 dBm73.283.391.8140.43.74.73.05.3
−150 dBm79.180.1189.6242.34.54.67.08.9
−155 dBm76.876.2264.4289.94.44.410.211.2
−160 dBm74.273.7303.9313.54.34.311.712.2
−140 dBm63.181.923.146.24.16.51.02.2
−145 dBm72.181.291.1134.86.610.55.311.6
−150 dBm73.268.2163.2164.317.026.519.627.5
−155 dBm58.552.0113.965.637.044.028.322.1
−160 dBm48.446.932.816.646.847.614.28.6
Table 13. Theoretical and average of the measured number of frequency bins and their ratio between L5 and L1.
Table 13. Theoretical and average of the measured number of frequency bins and their ratio between L5 and L1.
SignalsNo AssistanceAssistance
−140 dBm−145 dBm−150 dBm−140 dBm−145 dBm−150 dBm
Number of frequency bins in the search spaceL1 C/A301301301171717
L5 NC225225225131313
L5 C169529164372373
Number of frequency bins searched until detectionL1 C/A135.5146.9139.97.37.07.9
L5 NC100.5109.4104.35.14.95.6
L5 C75.4256.6711.03.210.135.7
Ratio of number of frequency bin in the search spaceL5 NC verses L1 C/A0.750.750.750.760.760.76
L5 C verses L1 C/A0.561.765.460.411.354.29
Ratio of number of frequency bins searched until detectionL5 NC verses L1 C/A0.740.740.750.700.710.71
L5 C verses L1 C/A0.561.755.080.431.444.52
Table 14. Parameters independent of the integration time selected for Galileo signals.
Table 14. Parameters independent of the integration time selected for Galileo signals.
Signal f S N P N FFT N Z N D N S B R
E14.096 MHz16,38432,7680-2516
E16.144 MHz24,57665,53616,384-2516
E5a20.48 MHz20,48065,53624,576-10016
Table 15. Search space and statistical parameters for P FA , G = 10 3 and P D = 0.9 for different contexts with Galileo signals. The same values are considered for unlimited T C .
Table 15. Search space and statistical parameters for P FA , G = 10 3 and P D = 0.9 for different contexts with Galileo signals. The same values are considered for unlimited T C .
ContextSignal T C N FB N CB N CELL P FA , C S N R
no assistanceE1 (4.096)100 ms1200409,600491,520,0002.04 × 10−1218.30 dB
E1 (6.144)100 ms1200614,400737,280,0001.36 × 10−1218.35 dB
E5100 ms9002,048,0001,843,200,0005.40 × 10−1318.49 dB
assistanceE1 (4.096)100 ms3216,384524,2881.91 × 10−917.12 dB
E1 (6.144)100 ms3224,576786,4321.27 × 10−917.20 dB
E5100 ms2420,480491,5202.04 × 10−917.10 dB
Table 16. Total integration time T IT = T C × N NC as function of the sensitivity and context with Galileo signals, for average losses. Note that the sensitivities given are for the L1 C/A signal; those of E1 are 1.5 dB lower and those of E5 are 0.5 dB higher.
Table 16. Total integration time T IT = T C × N NC as function of the sensitivity and context with Galileo signals, for average losses. Note that the sensitivities given are for the L1 C/A signal; those of E1 are 1.5 dB lower and those of E5 are 0.5 dB higher.
ContextSignal T C −140 dBm−145 dBm−150 dBm−155 dBm−160 dBm
no assistanceE1 (4.096)100 ms100 × 1 = 100100 × 1 = 100100 × 5 = 500100 × 24 = 2400100 × 179 = 17,900
E1 (6.144)100 ms100 × 1 = 100100 × 1 = 100100 × 5 = 500100 × 25 = 2500100 × 182 = 18,200
E5100 ms100 × 1 = 100100 × 1 = 100100 × 3 = 300100 × 13 = 1300100 × 82 = 8200
E1 (4.096)unlimited100 × 1 = 100100 × 1 = 100400 × 1 = 4001000 × 1 = 10003100 × 1 = 3100
E1 (6.144)unlimited100 × 1 = 100100 × 1 = 100400 × 1 = 4001000 × 1 = 10003100 × 1 = 3100
E5unlimited100 × 1 = 100100 × 1 = 100300 × 1 = 300700 × 1 = 7002100 × 1 = 2100
assistanceE1 (4.096)100 ms100 × 1 = 100100 × 1 = 100100 × 4 = 400100 × 19 = 1900100 × 137 = 13,700
E1 (6.144)100 ms100 × 1 = 100100 × 1 = 100100 × 4 = 400100 × 19 = 1900100 × 139 = 13,900
E5100 ms100 × 1 = 100100 × 1 = 100100 × 2 = 200100 × 9 = 900100 × 59 = 5900
E1 (4.096)unlimited28 × 1 = 2880 × 1 = 80248 × 1 = 248776 × 1 = 7762452 × 1 = 2452
E1 (6.144)unlimited28 × 1 = 2880 × 1 = 80252 × 1 = 252788 × 1 = 7882488 × 1 = 2488
E5unlimited16 × 1 = 1649 × 1 = 49154 × 1 = 154487 × 1 = 4871540 × 1 = 1540
Table 17. Total integration time T IT = T C × N NC as function of the sensitivity and context with Galileo signals, for worst losses. Note that the sensitivities given are for the L1 C/A signal; those of E1 are 1.5 dB lower and those of E5 are 0.5 dB higher.
Table 17. Total integration time T IT = T C × N NC as function of the sensitivity and context with Galileo signals, for worst losses. Note that the sensitivities given are for the L1 C/A signal; those of E1 are 1.5 dB lower and those of E5 are 0.5 dB higher.
ContextSignal T C −140 dBm−145 dBm−150 dBm−155 dBm−160 dBm
no assistanceE1 (4.096)100 ms100 × 1 = 100100 × 2 = 200100 × 10 = 1000100 × 63 = 6300100 × 520 = 52,000
E1 (6.144)100 ms100 × 1 = 100100 × 2 = 200100 × 10 = 1000100 × 64 = 6400100 × 526 = 52,600
E5100 ms100 × 1 = 100100 × 2 = 200100 × 6 = 600100 × 30 = 3000100 × 228 = 22,800
E1 (4.096)unlimited100 × 1 = 100200 × 1 = 200600 × 1 = 6001800 × 1 = 18005400 × 1 = 5400
E1 (6.144)unlimited100 × 1 = 100200 × 1 = 200600 × 1 = 6001800 × 1 = 18005500 × 1 = 5500
E5unlimited100 × 1 = 100200 × 1 = 200400 × 1 = 4001200 × 1 = 12003600 × 1 = 3600
assistanceE1 (4.096)100 ms100 × 1 = 100100 × 2 = 200100 × 8 = 800100 × 48 = 4800100 × 396 = 39,600
E1 (6.144)100 ms100 × 1 = 100100 × 2 = 200100 × 8 = 800100 × 49 = 4900100 × 404 = 40,400
E5100 ms100 × 1 = 100100 × 1 = 100100 × 4 = 400100 × 22 = 2200100 × 166 = 16,600
E1 (4.096)unlimited44 × 1 = 44140 × 1 = 140432 × 1 = 4321368 × 1 = 13684316 × 1 = 4316
E1 (6.144)unlimited44 × 1 = 44140 × 1 = 140440 × 1 = 4401388 × 1 = 13884384 × 1 = 4384
E5unlimited28 × 1 = 2886 × 1 = 86272 × 1 = 272858 × 1 = 8582713 × 1 = 2713
Table 18. Ratio of total integration time (%) for different comparisons with Galileo signals. Top value is for average losses, and bottom value is for worst losses. Note that the sensitivities given are for the L1 C/A signal; those of E1 are 1.5 dB lower and those of E5 are 0.5 dB higher.
Table 18. Ratio of total integration time (%) for different comparisons with Galileo signals. Top value is for average losses, and bottom value is for worst losses. Note that the sensitivities given are for the L1 C/A signal; those of E1 are 1.5 dB lower and those of E5 are 0.5 dB higher.
ComparisonFixed Element−140 dBm−145 dBm−150 dBm−155 dBm−160 dBm
Impact of using E5: E5 verses E1 4.096 T C = 100 ms (no assistance)100100605446
100100604844
T C unlimited (no assistance)100100757068
100100676767
T C = 100 ms (assistance)100100504743
10050504642
T C unlimited(assistance)5761626363
6461636363
Impact of T C : Unlimited verses 100 msE1 signal 4.096 (no assistance)100100804217
100100602910
E1 signal 6.144 (no assistance)100100804017
100100602810
E5 signal (no assistance)1001001005426
100100674016
E1 signal 4.096 (assistance)2880624118
4470542911
E1 signal 6.144 (assistance)2880634118
4470552811
E5 signal (assistance)1649775426
2886683916
Impact of assistance: Assistance verses no assistanceE1 signal 4.096 ( T C = 100 ms)100100807977
100100807676
E1 signal 6.144 ( T C = 100 ms)100100807676
100100807777
E5 signal ( T C = 100 ms)100100676972
10050677373
E1 signal 4.096 ( T C unlimited)2880627879
4470727680
E1 signal 6.144 ( T C unlimited)2880637980
4470737780
E5 signal ( T C unlimited)1649517073
2843687275
Table 19. Ratio of complexity (product of processing time ratio and memory ratio) between the E1 signal with a sampling frequency of 6.144 MHz and the E1 signal with a sampling frequency of 4.096 MHz. Top rows do not consider the input memory, while bottom rows consider the input memory.
Table 19. Ratio of complexity (product of processing time ratio and memory ratio) between the E1 signal with a sampling frequency of 6.144 MHz and the E1 signal with a sampling frequency of 4.096 MHz. Top rows do not consider the input memory, while bottom rows consider the input memory.
SensitivityParallel without AssistanceSerial with Assistance
Non-CoherentCoherent OnlyNon-CoherentCoherent Only
AverageWorstAverageWorstAverageWorstAverageWorst
−140 dBm3.03.03.03.03.03.03.03.0
−145 dBm3.03.03.03.03.03.03.03.0
−150 dBm3.03.03.03.03.03.03.03.1
−155 dBm2.83.03.03.03.03.03.03.0
−160 dBm3.03.03.03.13.02.83.03.0
−140 dBm3.03.03.03.03.03.03.03.4
−145 dBm3.02.93.03.23.03.83.03.8
−150 dBm3.03.13.03.23.04.83.14.5
−155 dBm2.94.33.03.53.07.23.15.0
−160 dBm3.07.53.04.03.08.73.15.3
Table 20. Ratio of complexity (product of processing time ratio and memory ratio) between the E5 signal and the E1 signal with a sampling frequency of 4.096 MHz. Top rows do not consider the input memory, while bottom rows consider the input memory.
Table 20. Ratio of complexity (product of processing time ratio and memory ratio) between the E5 signal and the E1 signal with a sampling frequency of 4.096 MHz. Top rows do not consider the input memory, while bottom rows consider the input memory.
SensitivityParallel without AssistanceSerial with Assistance
Non-CoherentCoherent OnlyNon-CoherentCoherent Only
AverageWorstAverageWorstAverageWorstAverageWorst
−140 dBm41.941.941.941.910.510.55.46.2
−145 dBm41.942.041.942.610.510.86.16.3
−150 dBm43.343.532.327.610.910.96.76.8
−155 dBm41.644.230.228.710.911.06.56.5
−160 dBm44.344.029.127.610.911.26.56.5
−140 dBm41.841.841.841.818.418.46.39.1
−145 dBm41.841.241.245.518.418.48.812.7
−150 dBm41.842.331.528.616.028.011.719.0
−155 dBm35.442.528.430.317.440.713.923.5
−160 dBm23.446.925.129.516.445.815.026.2
Table 21. Ratio of number of frequency bins between the E5 and E1 signals.
Table 21. Ratio of number of frequency bins between the E5 and E1 signals.
SensitivityParallel without AssistanceSerial with Assistance
Non-CoherentCoherent OnlyNon-CoherentCoherent Only
AverageWorstAverageWorstAverageWorstAverageWorst
−140 dBm0.80.80.80.80.80.80.40.5
−145 dBm0.80.80.80.80.80.80.50.5
−150 dBm0.80.80.60.50.80.80.50.5
−155 dBm0.80.80.50.50.80.80.50.5
−160 dBm0.80.80.50.50.80.80.50.5
Table 22. Final ratio of complexity (product of processing time ratio, memory ratio and frequency bins ratio) between the E5 and E1 signals obtained as the product of Table 10 and Table 11. Top rows do not consider the input memory, while bottom rows consider the input memory.
Table 22. Final ratio of complexity (product of processing time ratio, memory ratio and frequency bins ratio) between the E5 and E1 signals obtained as the product of Table 10 and Table 11. Top rows do not consider the input memory, while bottom rows consider the input memory.
SensitivityParallel without AssistanceSerial with Assistance
Non-CoherentCoherent OnlyNon-CoherentCoherent Only
AverageWorstAverageWorstAverageWorstAverageWorst
−140 dBm31.431.431.431.47.97.92.32.9
−145 dBm31.431.531.432.07.98.12.82.9
−150 dBm32.532.618.213.88.18.23.13.2
−155 dBm31.233.215.914.48.28.23.13.1
−160 dBm33.333.014.813.88.28.43.13.1
−140 dBm31.431.431.331.313.813.82.74.4
−145 dBm31.430.931.334.113.813.84.05.9
−150 dBm31.331.817.714.312.021.05.49.0
−155 dBm26.531.914.915.113.030.56.511.1
−160 dBm17.535.212.814.812.334.47.112.3

Share and Cite

MDPI and ACS Style

Leclère, J.; Landry, R., Jr.; Botteron, C. Comparison of L1 and L5 Bands GNSS Signals Acquisition. Sensors 2018, 18, 2779. https://doi.org/10.3390/s18092779

AMA Style

Leclère J, Landry R Jr., Botteron C. Comparison of L1 and L5 Bands GNSS Signals Acquisition. Sensors. 2018; 18(9):2779. https://doi.org/10.3390/s18092779

Chicago/Turabian Style

Leclère, Jérôme, René Landry, Jr., and Cyril Botteron. 2018. "Comparison of L1 and L5 Bands GNSS Signals Acquisition" Sensors 18, no. 9: 2779. https://doi.org/10.3390/s18092779

Note that from the first issue of 2016, this journal uses article numbers instead of page numbers. See further details here.

Article Metrics

Back to TopTop