Comparison of L1 and L5 Bands GNSS Signals Acquisition

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.


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 signal after the front-end of a receiver is a combination of several GNSS signals and noise: where s u b 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 where the subscript d and p denotes the data and pilot channels respectively, a u is the amplitude, c u 1 is the primary code, c u 2 is the secondary code, sc u is the subcarrier, d u is the navigation data, τ u is the unknown code delay, f u D 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 Sensors 2018, 18, 2779 4 of 27 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.

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.
Sensors 2018, 18, x FOR PEER REVIEW 5 of 28 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.

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.

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 = , with the period of the PRN code, e.g., 1 ms for the L1 C/A signal. The size of the FFT can be = or nextpow2 (2 ), where nextpow2(n) means the power of two equal to or higher than n, i.e., 2 ( ) . To preserve the periodicity of the code, either the sampling frequency should give a length 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 is a power of two, and therefore = nextpow2(2 )= 2 ( ) .
The corresponding timing diagram is shown in Figure 3, from which we can deduce the processing time in clock cycle for one frequency bin:

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.

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(2N 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(2N P )= 2 log (2N 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: 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 = 2N 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 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 and 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. where is the number of data bits accumulated non-coherently (i.e., the number of non-coherent accumulations here: = ), = 2 + with the number of zeros padded, is the number of primary code periods in one data bit ( = 20 for the GPS L1 C/A signal), and 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 where is the number of bits used to quantize the output of the coherent accumulators ( ) and is the number of bits used to quantize the output of the non-coherent accumulators ( ), with and where is the number of bits used to quantize the output of the correlation ( ). Note that these last two equations assume that there is no truncation during the accumulations.   Figure 3). Figure 2. Implementation of a data channel acquisition (timing diagram available in Figure 3).

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 where K is the number of secondary code periods accumulated coherently. Thus, K C = KN S correlation results are coherently accumulated (or written in another way, the coherent integration time is

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 = + 2( + ) − ( + ) = (2 + ) + 3 + + 2 = (2 + 3) + ( + 1) + 2 , where is the number of secondary code periods accumulated coherently. Thus, = correlation results are coherently accumulated (or written in another way, the coherent integration time is = = ). Regarding the amount of memory necessary, the memory-based accumulators require = 2 bits = 2 ( + log ( ) ) bits, where = + log ( ) is the number of bits used to quantize the output of the coherent accumulators ( ).

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.
Regarding the amount of memory necessary, the memory-based accumulator requires = 2 bits, = 2 ( + log ( ) ) bits, where = + log ( ) as previously. Figure 6. Implementation of a pilot channel acquisition, without non-coherent accumulation, in a serial way (timing diagram available in Figure 7). Regarding the amount of memory necessary, the memory-based accumulators require where B C = B R + log 2 (KN S ) is the number of bits used to quantize the output of the coherent accumulators (y i ).

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, Regarding the amount of memory necessary, the memory-based accumulator requires where B C = B R + log 2 (KN S ) as previously. Regarding the amount of memory necessary, the memory-based accumulator requires = 2 bits, = 2 ( + log ( ) ) bits, where = + log ( ) as previously. Figure 6. Implementation of a pilot channel acquisition, without non-coherent accumulation, in a serial way (timing diagram available in Figure 7).

Coherent Integration only with Semi-Parallel Implementation
From the previous cases, it is easy to generalize to the case where accumulators tests delays in parallel. The processing time for one frequency bin is It can be checked that Equation (13) becomes Equation (9), with = , and becomes Equation (11) with = 1.
Regarding the amount of memory necessary, the memory-based accumulators require where = + log ( ) as previously. In the same way, Equation (14) becomes Equation (10), with = , and becomes Equation (12) with = 1.

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 instead of .

•
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 ).
Regarding the memory, the memory-based accumulators require

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 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 where B C = B R + log 2 (KN 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.

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).  Figure 8. Implementation of a pilot channel acquisition, with non-coherent accumulation, in a parallel way (timing diagram available in Figure 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 / × = , even if it is spread between coherent and non-coherent accumulations.
Regarding the memory, the memory-based accumulators require where and are the same as previously (Equations (16) and (17)). Figure 9. Implementation of a pilot channel acquisition, with non-coherent accumulation, in a serial way (timing diagram available in Figure 7).

Use of Non-Coherent Accumulation with Semi-Parallel Implementation
It is again easy to generalize to the case where accumulators tests 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 where and are the same as previously (Equations (16) and (17)).

Figure 8.
Implementation of a pilot channel acquisition, with non-coherent accumulation, in a parallel way (timing diagram available in Figure 5).
Regarding the memory, the memory-based accumulators require with and

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.  Figure 8. Implementation of a pilot channel acquisition, with non-coherent accumulation, in a parallel way (timing diagram available in Figure 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 / × = , even if it is spread between coherent and non-coherent accumulations.
Regarding the memory, the memory-based accumulators require where and are the same as previously (Equations (16) and (17)). Figure 9. Implementation of a pilot channel acquisition, with non-coherent accumulation, in a serial way (timing diagram available in Figure 7).

Use of Non-Coherent Accumulation with Semi-Parallel Implementation
It is again easy to generalize to the case where accumulators tests 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 where and are the same as previously (Equations (16) and (17)). . Implementation of a pilot channel acquisition, with non-coherent accumulation, in a serial way (timing diagram available in Figure 7).
Regarding the memory, the memory-based accumulators require where B C and B NC are the same as previously (Equations (16) and (17)).

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 where B C and B NC are the same as previously (Equations (16) and (17)).

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.

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, 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.

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

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).

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).

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

Implementation
Processing Time of One Frequency Bin T FB (Clock Cycle) Memory (bit) Figure   Data Parallel NC Semi-parallel C with assistance Semi-parallel NC with assistance * not exactly the same, but similar.

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].
Sensors 2018, 18, x FOR PEER REVIEW 12 of 28 Semi-parallel C 2 Semi-parallel C with assistance

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 , and 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 of 2/(3 ), 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 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/(3T 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 Figures 10 and 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. 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 Figures 10 and 11, because increasing the coherent integration will decrease the frequency step (since = 2/(3/ )). This will increase the number of frequency bins (since = / = 3 /2 with 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.

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 ) = 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 is chosen to avoid false alarms, which gives , = 1.63 × 10 , 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

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/(3T 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]. Table 4. Search space and statistical parameters for P FA,G = 10 −3 and P D = 0.9 for different contexts with GPS signals.

Context
Signal 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 Tables 5 and 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).

Determination of Ratio of Complexity for One Frequency Bin
Using the total integration time of Tables 5 and 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 Tables 8 and 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]).

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.  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 Tables 10 and 11. Top rows do not consider the input memory, while bottom rows consider the input memory.

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.

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.

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/(3T 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. 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 .

Context
Signal Next, the coherent and total integration times can be estimated following Figure 11, and the values are summarized in Tables 16 and 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, Tables 19 and 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. 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.  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. 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 Tables 10 and 11. Top rows do not consider the input memory, while bottom rows consider the input memory.

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 (Tables 7 and 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.