Next Article in Journal
Tracking Architecture Based on Dual-Filter with State Feedback and Its Application in Ultra-Tight GPS/INS Integration
Next Article in Special Issue
Computer-Aided Sensor Development Focused on Security Issues
Previous Article in Journal
A Rapid In Situ Colorimetric Assay for Cobalt Detection by the Naked Eye
Previous Article in Special Issue
Robust Stability of Scaled-Four-Channel Teleoperation with Internet Time-Varying Delays
Open AccessArticle

Implementation Strategies for a Universal Acquisition and Tracking Channel Applied to Real GNSS Signals

Electrical Department, École de Technologie Supérieure (ÉTS), Montréal, QC H3C 1K3, Canada
*
Author to whom correspondence should be addressed.
Academic Editor: Luis Javier Garcia Villalba
Sensors 2016, 16(5), 624; https://doi.org/10.3390/s16050624
Received: 23 February 2016 / Revised: 17 April 2016 / Accepted: 20 April 2016 / Published: 2 May 2016
(This article belongs to the Special Issue Advances on Resources Management for Multi-Platform Infrastructures)

Abstract

This paper presents a universal GNSS receiver channel capable of tracking any civil GNSS signal. This fundamentally differs from dedicated channels, each customized for a given signal. A mobile device could integrate fewer universal channels to harvest all available signals. This would allow securing signal availability, while minimizing power consumption and chip size, thus maximizing battery lifetime. In fact, the universal channel allows sequential acquisition and tracking of any chipping rate, carrier frequency, FDMA channel, modulation, or constellation, and is totally configurable (any integration time, any discriminator, etc.). It can switch from one signal to another in 1.07 ms, making it possible for the receiver to rapidly adapt to its sensed environment. All this would consume 3.5 mW/channel in an ASIC implementation, i.e., with a slight overhead compared to the original GPS L1 C/A dedicated channel from which it was derived. After extensive surveys on GNSS signals and tracking channels, this paper details the implementation strategies that led to the proposed universal channel architecture. Validation is achieved using GNSS signals issued from different constellations, frequency bands, modulations and spreading code schemes. A discussion on acquisition approaches and conclusive remarks follow, which open up a new signal selection challenge, rather than satellite selection.
Keywords: GNSS; acquisition; tracking; modulation GNSS; acquisition; tracking; modulation

1. Introduction

Currently, most Commercially Off The Shelf (COTS) receivers available in North America only support GPS L1 C/A, while some also support GLONASS L1OF and WAAS L1 augmentation, thanks to their integration onto a single chip [1]. As new Global Navigation Satellite Systems (GNSS) are becoming available, this trend may change. Indeed, both the Chinese and Russian governments have passed laws mandating that all receivers sold in their territories be compatible with their national systems, i.e., BeiDou and GLONASS, respectively [2,3]. In parallel, mobile devices (e.g., smart phones and now wearables) have also known an exponential growth.
On the other hand, higher-end receivers also support differential correction and semi-codeless tracking of the encrypted GPS P(Y) code available on L1 and L2 for improved accuracy, such as in precision farming and land-surveying [4]. Over the last decade, dedicated resources for signal-customized channels have led to receivers with more than 200 tracking channels—not to be confused with effective acquisition channels obtained through FFT-based approaches or “fast acquisition channels”—such as Javad’s [5]. These two trending markets (namely low vs. high end) have conflicting development paradigms: affordable battery operated vs. expensive and power-greedy devices.
Thanks to the modernization of GPS and GLONASS as well as the advent of Galileo and BeiDou, new signals are being broadcasted, or at least should start being transmitted shortly. These signals aim the answer the traditional GPS limitations. Indeed, higher bandwidths will help resist interferences by diluting the impact of a narrowband interference over a larger bandwidth [6]. This should also provide better positioning accuracy and resistance to multipath with a faster chipping rate [7], thus requiring a smaller correlator spacing and a higher sampling rate. Longer codes will increase signals’ cross-correlation protection and their robustness in weak signal environments. The multiplication of active satellites will increase availability, while integrity should be improved through more detailed navigation messages and deployment of new control stations, as well as new generation satellites with improved on-board clocks. This context calls for implementing new robust acquisition and tracking architectures, in a compact design, that are capable of harvesting all the potential of these new signals. Indeed, considering over 530 civil GNSS RF signal components (namely data and pilot) available worldwide, half of which being visible to any ground-based user, the importance of reducing the total complexity while maximizing global robustness and precision becomes more than desirable.
This paper novelty relies on a GNSS receiver system based on a multiplicity of the proposed universal GNSS acquisition and tracking channel based on the optimal correlator approach (i.e., matched filter ([8] (Chapter 10), whose aspects are further discussed herein:
  • A dual-component (AltBOC-ready) apparatus;
  • An improved Dual Estimator code discriminator;
  • A time-multiplexing code module;
  • A secondary chip wipe-off (for longer coherent integration);
  • A configurable sub-carriers and code clocks combination module derived from a single Numerically Controlled Oscillator (NCO) master clock and
  • A sub-carrier time-multiplexing with weighted sub-carriers combination module.

1.1. Survey of GNSS Signals and Receiver Architectures

This section is split into three: GNSS signals, their modulation and the resulting receiver tracking channels.

1.1.1. GNSS Signal Description

GNSS signals have undergone a noticeable evolution, multiplying constellations and signal definitions using new frequency bands, modulations as well as primary/secondary spreading code types, rates and periods. Global satellite-based navigation signals, with both open and restricted access on all frequency bands, are summarized in Table 1, where modulation families (detailed below) can be described as Binary or Quadrature Phase Shift Keying BPSK ( q ) or QPSK ( q ) , Binary Offset Carrier BOC ( p , q ) , Composite BOC CBOC ( r ,   p ,   P r , ± ) and Time-Multiplexed BOC TMBOC ( r ,   p ,   w r ) , where:
f ref
is the reference chipping rate, i.e., 1.023 Mchip/s,
f c
is the current chipping rate, defined as   q f ref ,
f s 1
is the first sub-carrier rate, defined as p f ref and
f s 2
is the second sub-carrier rate, defined as r f ref ,
P r
is the second sub-carrier power ratio, i.e., 1 / 11 ,
w r
is the second sub-carrier weight, in terms of an occurrence ratio, i.e., 4 / 33 .
The last parameter of CBOC refers to the sign of the second sub-carrier compared to that of the first; in CBOC, data and pilot components are in phase opposition. From Table 1, one notices that GLONASS current signals are based on Frequency Division Multiplexing Access (FDMA), while modern ones will rely on Code Division Multiplexing Access (CDMA). New GLONASS and BeiDou signals are yet to be fully publically disclosed to fill out missing details. Also, GPS L2C TMBPSK modulation is based on two alternating 511.5 kchip/s spreading codes, i.e., 20 ms long CM and 1.5 s long CL, resulting in a merged stream of 1.023 Mchip/s.
Current signals and those to come have different colors; yellow cells identify memory codes.
The Mean Time To Acquire (MTTA) in Table 1 is computed per the worst case scenario represented by Equation (1) [9]:
M T T A = ( 2 P D ) ( 1 + K P F A ) 2 P D b M T P
where:
P D
is the detection probability (assumed at 0.995)
P F A
is the false alarm probability, i.e., a false positive (assumed at 0.001)
K
is the false alarm weight (assumed at 2)
b
is the number of search cells (combining code with 0.5 chip resolution and ±5 kHz Doppler span)
M
is the non-coherent integration count (assumed at 1)
T P
is the pre-integration time (assumed to match primary code period)
In the case of the GPS L1 C/A signal, there could be 2046 code bins and 15 frequency bins, each spaced by 667 Hz assuming 1 ms integration and covering a ±5 kHz Doppler span. This sequential acquisition scheme would result in a total of b = 30 , 690 search cells. In Table 1, MTTA is applied to both primary and secondary spreading codes, although secondary code could be extrapolated from the message time stamp instead of being searched. To sum up the review of GNSS signals, there are 291 civil GNSS RF signal components (i.e., considering both data and pilot components) currently available worldwide: six signal components on 32 GPS satellites + 2 × 24 for GLONASS + 6 × 6 for Galileo + 3 × 5 for BeiDou, as listed in Table 1, half of those could be visible to any ground user. Hence, in order to harvest this signal power to maximize global robustness and precision, reducing receivers’ total complexity and reusing as many resources as possible becomes more than desirable. The number of signal components available will increase to more than 530 as the new satellite constellations are deployed, on top of the local and augmentation signals...

1.1.2. GNSS Signals Modulations

One of the most complex modulations involves two sub-carriers—namely SC1 & SC2—in the Multiplexed BOC (MBOC) scheme, which is defined as a spectrum (G) involving BOC ( 1 , 1 ) and BOC ( 6 , 1 ) in a 10 to 1 power ratio:
G MBOC ( f ) = 10 11 G BOC ( 1 ,   1 ) ( f ) + 1 11 G BOC ( 6 ,   1 ) ( f )
This power ratio allows for a smaller bandwidth to be processed in low-end receivers, while still achieving lock. MBOC is found in two different implementations. In Galileo, the Composite BOC (CBOC) data and pilot signal components first sub-carriers end up in counter-phase, while their second carriers remain in phase, after being combined s E 1 = s E 1 B s E 1 C [10], with:
s E 1 B ( t ) =   P C E 1 B ( t )   d ( t ) CBOC ( 6 , 1 , 1 / 11 , + ) ( t ) s E 1 C ( t ) =   P C E 1 C ( t )   S C E 1 C ( t ) CBOC ( 6 , 1 , 1 / 11 , ) ( t )
with the Primary Code (PC), Secondary Code (SC), navigation data (d), and:
CBOC ( 6 , 1 , 1 / 11 , ± ) ( t ) = 10 11 BOC ( 1 , 1 ) ( t ) ± 1 11 BOC ( 6 , 1 ) ( t )
In GPS, the Time-Multiplexed BOC (TMBOC) only involves the second sub-carrier in the pilot signal component, enabled four times within a 33-chip long pre-determined sequence [11]:
s L 1 C D ( t ) =   P C L 1 C D ( t )   d ( t ) BOC ( 1 , 1 ) ( t ) s L 1 C P ( t ) =   3 P C L 1 C P ( t )   S C L 1 C P ( t ) TMBOC ( 6 , 1 ,   4 / 33 ) ( t )
with:
TMBOC ( 6 , 1 ,   4 / 33 ) ( t ) = α ( t ) BOC ( 1 , 1 ) ( t ) + β ( t ) BOC ( 6 , 1 ) ( t ) α ( t ) = { 1 ,   t 29 / 33 0 ,   t 4 / 33   a n d   β ( t ) = { 0 ,   t 29 / 33 1 ,   t 4 / 33
For all open signals, sub-carriers are in phase with the chip transitions, i.e., sine BOC (sBOC). The only signals using cosine BOC (cBOC), with chip and sub-carriers in quadraphase, are Galileo E1A and E6A, which are respectively regulated and commercial services.
For Galileo E5, the Alternate BOC (AltBOC) modulation offers two QPSK channels symmetrically offset from a common center frequency, resulting in a 51.150 MHz wide receiver reference bandwidth encompassing the 20.460 MHz large main lobe of both open E5-A and Safety of Life (SoL) E5-B signals [10]. Processing this signal as a whole would require an even higher sampling rate (as per Nyquist), especially if secondary lobes are considered. In fact, the combination of these two signals into a single transmission primarily serves the goal of optimizing the usage of the on-board satellite power amplifier through the constant complex power envelope of a PSK-8 signal, yet with improved receiver multipath performances [12]. Anyhow, each signal component requires independent correlators. In the context of this paper, E5A and E5B are processed independently as QPSK (10) signals.

1.1.3. BOC-Ready Tracking Channels

The main complication introduced by the new signals is the ambiguous BOC Auto-Correlation Function (ACF). Indeed, the squared ACF introduces the possibility of tracking any 2 n 1 peaks separated by the sub-carrier half period T s , with the sub-carrier to chipping rates doubled ratio n = 2 f s / f c   . In the simplest case of BOC(1,1), there are two side peaks, whose tracking would induce a Pseudo-Range (PR) error of ~150 m. Hence, BOC ACF ambiguous tracking [13], requires adapted tracking approaches, some of which are categorized in Table 2.

2. Materials and Methods

2.1. Universal GNSS Channel Design Decisions

For a universal channel [32,33] to successfully address any signal particularity identified above, some design decisions had to be made to achieve the lowest possible design complexity. The following paragraphs detail different channel architecture aspects (cf. Figure 1), i.e.,:
  • IF to Baseband Down-conversion and Carrier (including FDMA) Wipe-off module
  • Sub-carriers and Spreading Codes Wipe-off module
  • Spreading Codes (including Time Multiplexing) Generation module
  • Correlation module
  • Data & Pilot components merging
  • Discriminator and Filters
An overall resource and power assessment is then presented.

2.1.1. Carrier

Assuming that all RF signals are taken down to a common Intermediate Frequency (IF), it then becomes possible to track any GNSS signal with the proposed universal channel. In order to accommodate most GNSS signals, a 30 MHz processed bandwidth appears to be a good compromise. This imposes a 60 MHz real sampling frequency and a 15 MHz Intermediate Frequency (IF), common to all RF bands. This architecture is thus compliant with all open signals.
A local carrier complex oscillator (namely a pair of sinusoidal 64-point waveforms in phase quadrature and encoded on 4 bits) is used to convert the IF signal down to baseband. Furthermore, in order to preserve a low architecture complexity, a signed multiplication optimization is proposed: Y  bits × Z  bits = ( Y + Z 1 )  bits . This is true only if the minimal twos complement value is never used on both operands, e.g., 0 b 0000 × 0 b 0000 would not be permitted in such 4-bit multiplications.
The flexibility offered by this frequency down-conversion allows simplifying the RF front-end. Indeed, a common RF front-end could be used to manage signals on carriers nearby one another, such as:
  • Galileo E5B and Beidou B2-I (and eventually B2b) on 1207.14 MHz, as well as 1202.025 MHz for GLONASS L3 signals.
  • Beidou B3 on 1268.52 MHz as well as Galileo (and QZSS) E6 signal on 1278.75 MHz:
    In order to preserve both signals bandwidth integrity, the RF front-end would take 1273,635 MHz down to IF. Assuming IF = 15 MHz, Beidou B3 would manage 20 MHz for its QPSK (10) signal as well as 10 MHz for the Galileo E6B/C BPSK (5) signals.
    This simplified approach could only process half of Galileo E6A BOC(10,5) and Beidou B3-Ad/Ap BOC(15,2.5) signals, considering the current 30 MHz bandwidth.
  • Beidou B1-1 on 1561.098 and B1-2 on 1589.74 MHz around GPS L1 (and others) on 1575.42 MHz:
    An alternate approach would be to implement a 14.322 MHz sub-carrier, thus dealing with both Beidou signals as sBOC ( 14 , 2 ) , just as with Galileo E1A cBOC ( 15 , 2.5 ) , but with a slight sensitivity loss caused by superposing these two signals, each having their spreading code providing >20 dB isolation.
More importantly, dealing with the several frequency channels of the GLONASS FDMA scheme requires a Numerically Controlled Oscillator (NCO) frequency span over several MHz, i.e., [ 7 ,   6 ] 0.5625 = 7.3125 MHz for L1OF and equivalently 5.6875 MHz for L2OF:
f L 1 O F = 1602 + 0.5625 [ 7 ,   + 6 ]  MHz  f L 2 O F = 1246 + 0.4375 [ 7 ,   + 6 ]  MHz
This NCO span represents a large increase compared to the traditional ±10 kHz required for Doppler removal for a high-dynamics receiver.

2.1.2. Sub-Carriers

As seen in Table 1, signal modulations involve up to two sub-carriers combined in different phase relations. In fact, a phase-controlled sub-carriers generation module based on a single NCO makes up a universal channel. This NCO is used to derive up to two slower periodic signals from a third one (i.e., SC2); the slowest signal being used to dictate the chipping rate of the primary spreading code. By doing so, an NCO phase ambiguity issue arose, which was overcome with the introduction of a SC2 period counter used in the navigation solution algorithm.
To properly deal with signals characterized by a quarter of a cycle phase shift between chip transition and carrier rising edge (i.e., cBOC), a minimalistic approach requires a source clock with twice the required rate and a dual-edge register, as depicted in Figure 2. This approach would equally apply to Galileo E1A signal with cBOC ( 15 , 2.5 ) , where a sub-carrier six times that of the spreading code rate, both clock signals being in phase quadrature.
Another requirement brought up by the sub-carriers is their respective weight in time. Indeed, the TMBOC pilot component requires the ability to null (i.e., switch off) sub-carriers in time. To be future-compliant with any periodicity length, applied on any sub-carrier, a single 16 kbit RAM block is used, achieving a maximum periodicity of 512 addresses × 32 bits/(2 components × 2 sub-carriers) = 4096. To use it efficiently, the RAM block is configured as a dual port RAM, written from the 32-bit data bus until the RAM is filled up, but only four bits are read per address to accommodate data and pilot components at once.
Furthermore, CBOC and TMBOC impose different sub-carrier amplitudes. Pursuing a matched filter approach, the replica should mimic the targeted signal as much as possible. The resulting weighing factors α for sub-carrier SC1 and β for SC2 must carry the following values: α [ 1 ,   0.95 ,   0 ] and β [ 1 ,   ± 0.30 ,   0 ] . The signed resolution requires a total of 6 signed bits to induce a representative ratio between one another: β α = 0.30 0.95 = 6 / 32 19 / 32 with α + β = 25 / 32 , introducing a potential scaling loss. These 6-bit coefficients may be updated at every chip in this simple TMBOC implementation, as depicted in Figure 3. For example, during the sequential acquisition process, four steps are followed:
  • For each component, both 1-bit square sub-carriers are delayed to obtain Early (E), Prompt (P) and Late (L) replicas; the correlator spacing is set to ±   T s / 4 with the fastest sub-carrier period T s .
  • Prompt and Differential (D = E − L) are obtained on 2 bits for each sub-carrier.
  • P & D replicas are scaled to their pre-defined constant weight through a mapping function or Look-Up Table (LUT).
  • For each component, the two scaled sub-carriers are summed.

2.1.3. Spreading Codes

As seen in Table 1, codes have different lengths and generation methods. Since all signals have their own primary (and secondary) code generation method, a universal channel would need to support them all. Linear Feedback Shift Register (LFSR) logic is definitely the best approach in the case of a dedicated signal channel. However, duplicating such resources customized for every signal becomes a burden: one channel can only track one signal at a time, resulting in many idle resources. Furthermore, considering this highly dynamic field, one may want to plan ahead. Indeed, a pre-computed memory code approach not only applies to all currently defined signals, but also allows for an easy, over-the-air, update link whenever a new Signal In Space (SIS) Interface Specification (IS) is released.
In recent GNSS signals, longer code periods also reduce the transit time integer ambiguity; the transit time for GPS satellites on L1 varies from about 66 ms (at zenith) to 80 ms (at horizon) [34]. Hence, the longer the code duration, the smaller the resulting ambiguity becomes. To further improve on this, secondary codes are laid over the primary ones, artificially making them longer (while improving the inter-correlation protection). To account for the secondary code, whose length may vary from 4 to 1800 chips, the memory codes approach is once again adopted. Another side effect of these secondary codes is the basic integration time period: they constrain the coherent integration time to the primary code period, which in turn, limits the correlation gain achieved during acquisition (at early acquisition stages, while the secondary code is still unknown).
The only civil code for which the memory code approach is not suited is GPS L2CL. Indeed, CL is 767,250-chip long, which would impose a much too high upper bound on the size of the memory dedicated to each channel, especially if we consider two such memory blocks (one for each component). A more realistic memory block size is 16 kbit (a standard size for the Virtex4 [35], on which the proposed universal channel is implemented), which is greater than 10,230—the second longest code, found on the L5, E5 and B3 signals. Hence, this requirement imposes two 16 kbit RAM blocks and a 27-register long LFSR as the minimum resources for each universal channel.
More importantly, the GPS L2C signal introduces an additional particularity, i.e., the time multiplexing of two spreading codes of different lengths. The resulting merged code has twice the chipping rate compared to that of their individual sequences L2CM and L2CL, as seen in Figure 4.
The 1.5 s long L2CL code cannot be acquired directly at cold start. Nevertheless, its chip offset can be predicted from the satellite clock timestamp decoded through L2CM or inferred from another signal from the same satellite. A full (L2CM & L2CL) integration may then occur, harvesting twice as much signal power compared to only L2CM during the acquisition phase.

2.1.4. Correlation

In order to provide the feedback to the carrier and code NCOs, several feedback signals are required to compute the error to be compensated for. For the code, a Non-coherent Early Minus Late (NEML) discriminator requires three correlators, i.e., E, P and L code replicas on both the phase (I) and quadrature (Q) branches as illustrated in Figure 5. With the current implementation based on 4 16-bit addressable registers (as opposed to dedicated RAM blocks with improved delay resolution), the different code replica offsets may belong to P ± 32 / f S samples, thus achieving a correlator spacing Δ = ± δ slightly larger than ±½ chip for a 1.023 Mchip/s spreading code. The resulting 6 correlators are deployed for both components of a signal.
To reduce the correlator number, the Delay Lock Loop (DLL) discriminator could only involve in-phase (carrier and eventually sub-carrier phases) measurements, thus requiring a lock on the Phase Lock Loop (PLL) (and eventually Sub-carrier Lock Loop or SLL). Such a coherent approach may not be as robust as its non-coherent equivalent [36].
Hodgart, Blunt and Unwin [37] specify that an SLL provides more precise (due to higher rate), but ambiguous (periodic clock signal) measurements compared to the DLL based on the primary code Pseudo-Random Noise (PRN). Both these estimates may be combined as:
τ ^ + = τ ^ * + r o u n d ( τ ^ τ ^ * T s ) T s
where:
τ ^ +
is the combined delay estimate;
τ ^ *
is the sub-carrier delay estimate;
τ ^
is the code delay estimate;
T s
is the sub-carrier half-period.
To keep the correlator count as low as possible, the sub-carriers are weighted ( α , β ) and summed, i.e., SC2 + SC1, prior correlation, avoiding an extra loop. Also, only Prompt (P) and Differential (D = E − L) instances are used to implement the NEML sub-carriers discriminator. Note that combining the sub-carriers also simplifies the discriminator, which then becomes identical as the Dual Estimator (DE), rather than the Triple Estimator (TE) extension for MBOC [25], with the same performances.
Having higher chipping rates requires greater accumulation registers. Multiplication and accumulation are performed through a DSP48 slices available in the Xilinx XC4VSX55-10FF1148 Field Programmable Gate Array (FPGA). Hence, the number of bits for these operations is not critical, as long as it remains below 48 log 2 ( 60 , 000 ) 32 , assuming the integration of 60,000 samples in 1 ms.
Coherent integration provides better post-correlation Signal to Noise Ratios (SNR) than non-coherent ones, where navigation bit (or secondary chip) removal introduces squaring losses [38]. The navigation data period limits the coherent integration time, thus imposing a lower limit on the sensitivity of an unaided, stand-alone receiver.

2.1.5. Data & Pilot Components Merging

Most new and modernized signals have two components combined in (counter-) phase or in phase quadrature, such as Galileo E1 B&C and GPS L5 I&Q, respectively. In order to deal with them, a special design choice has to be made: either (1) each component is dealt with in a separate channel, whose correlation products are properly dealt with through a common (or distinct) discriminator; or (2) both components are integrated into one dual-component universal channel. Although more flexible, the first case would not allow for the HW reduction of the following shared resources (in the authors’ opinion, when applied to the proposed architecture):
  • Memory codes address and control logic.
  • Carrier and sub-carrier NCOs direct and derived clock signals.
  • Sub-Carrier generation of Prompt (P) and Differential (D) shared by both signal components as the data and pilot chipping rates are always equal in the publically disclosed signals.
  • Sine and cosine LUTs and carrier multipliers leading to the I and Q branches.
  • 27-stage LFSR L2CL code generation implemented only once per dual component channel (i.e., implementing more than 32 universal channels would waste even more resources as there should not be more than 32 L2CL codes being broadcast by the current GPS constellation).
Thus, several architectures are possible, depending on the receiver performance vs. cost desired ratio. Dual-component channels allow maximizing the harvested signal power, whereas single-component architectures only allow one of the following:
  • Acquire and track the data component only, ignoring the pilot component available power.
  • Acquire pilot component with a longer integration time for greater sensitivity and then transfer to data component tracking to extract the navigation message.
  • Acquire and track both pilot and data components in independent channels.
With the dual-component channel resources available, a faster sequential acquisition also becomes possible by splitting the search space into two sets of chip offsets:
  • Dual-code delay search makes primary code acquisition two times faster and;
  • Once synchronized onto the primary code, a dual secondary chip estimation (i.e., either the secondary chip changes or not) allows for an integration time over twice the primary code period by using the best of these two integration outputs.
In order to minimize power consumption in mobile devices, the pilot-related components may become idle during single-component signal tracking.

2.1.6. Discriminator and Filter

In a multi-signal receiver, the phase relationship from one signal to another may not be cancelled out as part of a common timing error and must thus be specifically accounted for. Similarly, dual-component signals are bound by their phase relationship. With a standard definition where the quadra-phase component leads the in-phase one, we have:
s = sin ( x ) + j cos ( x )
That is to say, an in-phase (e.g., sin) signal (such as GPS L1CI) may use the I and Q correlator values, while a signal in phase quadrature (e.g., cos) with its RF carrier (such as GPS L1 C/A) should use Q and I . In the current implementation, the discriminators are programmed into the embedded MicroBlaze controller, thus allowing for great flexibility. Basically, any coherent and/or non-coherent discriminator could be used based on the signal characteristics; this is simpler than generating sinusoidal waveforms with different phases.
More precisely, considering the infinite bandwidth signal auto-correlation function, Figure 6 shows that the BOC main peak has a slope of ± 1.5 n and a correlation main peak width of ± 1 n chip, with the BOC modulation ratio n = 2 f s f c = 2 p q . However, the squaring involved in non-coherent correlation steepens the peak slopes: which can be approximated by ± 2 n between the correlation peak and the zero-amplitude level, separated by approximately ± 1 2 n chip. The coherent correlator spacing should not extend beyond ± 1 n chip, above which an inversion of the EML discriminator S-curve in Figure 7 could compromise the DLL behavior (i.e., it would amplify the error) [39]. Each one of the 2 ( n 1 ) side peaks in the squared BOC correlation function leads to a potential false-lock (i.e., a biased discriminator output) as a result of as many side S-curves.
Also, a rule of thumb imposes, neglecting dynamic stress error ([8] (Chapter 5):
3 σ τ E M L P < δ
The normalized correlation function R ( τ ± δ ) is estimated by its main peak positive and negative slopes: { 1 + m ( τ δ ) } and { 1 m ( τ δ ) } with EML correlators spaced by ± δ chip and a chip code delay error | τ | < 1 2 n δ . The EML tracking architectures for BOC, should offer a code tracking improvement of m over BPSK.
In non-coherent discriminators, C / N 0 squaring losses are due to doubled random noise, while the ±1 data is wiped off. Non-coherent processing would typically be 3 dB less sensitive than coherent processing for a given duration, although it allows for much longer integration periods, thus achieving a better overall sensitivity. This squaring loss was isolated in square brackets in the code noise jitter equations below. Hence, in non-coherent discriminators, the associated code noise may have a larger variance while preserving the same null mean. It is well known that code phase jitter performances depend on the slope of the discriminator curve (i.e., better performances for steeper slopes). In fact, the code phase 1 - σ error (m) derived from the non-coherent Early Minus Late Power (EMLP) code discriminator closed loop noise variance (squared chip periods) are defined as (extended from [12,40] to BOC derived modulations):
σ τ c T c σ τ E M L P 2
σ τ E M L P 2 { B L ( 1 0.5 B L T P ) 2 C N 0 [ 1 +   4 C N 0 T P ( 2 m Δ ) ] { Δ m } ,   π Δ b B L ( 1 0.5 B L T P ) 2 C N 0 [ 1 +   4 C N 0 T P ( 2 m Δ ) ] { 1 b + b π 1 ( Δ m 1 b ) 2 } ,   1 < Δ b < π B L ( 1 0.5 B L T P ) 2 C N 0 [ 1 +   2 C N 0 T P ] { 1 b } ,   Δ b 1
where:
c
is the speed of light (m/s);
T c
is the chip period, the inverse of the chipping rate f c ;
B L
is the unilateral noise equivalent bandwidth of the code tracking loop, a.k.a. one-sided equivalent rectangular bandwidth, with the time frame of interest ϵ   [ 1 / B L , T o b s ] ;
T P
is the pre-integration time (s);
τ
is the signal vs. replica misalignment (chip);
Δ
is the early-late correlator spacing (chip), i.e, 2 δ ;
δ
is the early to prompt and prompt to late correlator spacing (chip);
C N 0
is the Carrier power to Noise density ratio (dB-Hz);
m
is the slope of the correlation function;
b
is the normalized receiver front-end complex bandwidth ( β r T c / n ) ;
β r
is the ideal front-end complex bandwidth (with a brick-wall filter (Hz)).
In Equation (12), the term in square brackets reflects the squaring losses attributed to the non-coherent discriminator computations, while the term in braces results from approximations depending on the value of Δ b . Given a fix front-end bandwidth and an equivalent chip spacing during tracking, the approximation mainly involves the signal modulation represented by T c / n . The Cramer-Rao Lower band is reported by Betz et al. [40] to be:
σ τ L B 2 { B L ( 1 0.5 B L T P ) 2 C N 0 b 2 , b 1 B L ( 1 0.5 B L T P ) 2 C N 0 b , b > 1
It thus becomes interesting to determine what DLL noise variance can be expected for each GNSS signal when tracked with the proposed channel. Analysis in [40] reports that for limited front-end bandwidths, the discriminator gain diminishes as the early-late correlator spacing Δ decreases, while increasing the loop bandwidth and thus the loop variance. Three discriminator regions are identified as: Spacing-Limited, Transition and Bandwidth-Limited, in accordance with Equation (12). Looking at MBOC, while assuming β r = 22.3 MHz and T c / n = 1 / ( 12 1.023 × 10 6 ) , b 2 for the BOC(6,1) signal component, which rapidly falls under the Bandwidth-Limited during tracking area with Δ 0.5 chip. One should bear in mind that the relative power ratio of BOC(6,1) is one tenth that of BOC(1,1), for which b 12 , well within the Spacing-Limiting function. Looking at other GNSS signals, it appears that in the presented configuration, b ranges from 2 to 47, as depicted in Figure 8. For signals where b is high, it still is beneficial to reduce δ , also mitigating multipath errors. Nevertheless, unless dedicated RAM blocks are available for all the code phases used, a 60 MHz sampling frequency poses a 1 sample limit on δ based on delayed code phases based on the shift registers approach described above, the impact of which will vary with the GNSS signal chipping rates.

2.1.7. Power Consumption and Resource Usage

Table 3 summarizes both the power consumption, as obtained with the Xilinx ISE XPower software, and the FPGA resource usage for different tracking channel complexities, leading to the proposed universal channel. The power consumption percentages presented herein are taken relatively to the “BPSK with FDMA” reference implementation, assessing the overhead associated with the implementations derived with added feature sets.
It can be seen that the quiescent power is relatively constant across all implementations, and may be attributed to the chip itself, leaving the dynamic power as a more meaningful comparison metric. The single-component MBOC implementation consumes 33% more power, while the dual-component (data and pilot) requires twice as much, i.e., 66% increase compared to the reference BPSK implementation.
For each implementation, the absolute number of resources and associated percentage (vs. available) are presented. As a result, the proposed optimizations led to a dual-component MBOC universal channel of complexity comparable to that of two traditional BPSK reference channels, but with a lot more flexibility. For flexibility and maintainability, the universal channel has been implemented with VHDL configurations that can easy be changed to enable or not several feature sets.

2.2. Universal GNSS Channel Validation

The resulting architecture of the proposed GNSS Universal Channel is presented in Figure 9, where different colors help highlight added feature sets:
  • red dotted and dashed lines for L2C TMBPSK of a L2CM memory code with a locally generated L2CL code,
  • blue dashed lines for MBOC sub-carriers replicas generation and feedback,
  • green dotted lines for dual-component overhead (extra correlators and sub-carriers combining not shown),
  • purple solid lines for the optional Variable Spacing Correlator (VSC) used to plot Auto-Correlation Function (ACF) plots.
The following sections present the different test scenarios conducted to validate the proposed architecture in terms of constellations and signals on different frequency bands, with different spreading codes and modulations. The reader should be advised that this paper focuses on available civil signals, although its architecture also applies to restricted access signals.

2.2.1. Constellation Compatibility

As summarized in Table 1, the four GNSS constellations provide similar (for GNSS compatibility), yet distinctive (for GNSS interoperability) modulation characteristics. On top of that, most signals have their own navigation message definition, including preamble synchronization, parity checking, framing, interleaving and encoding, all of which are defined in their respective Interface Control Documents (ICD), or Interface Specification (IS) [10,11,41,42,43,44]. All four constellations have their own geodetic and timing systems, but provide (now or in a near future) information to relate with other GNSS. Such navigation message data fusion into a common solution add to the complexity of a universal receiver is outside the scope of this paper, rather focused on signal processing. In order to demonstrate the proposed universal channel compatibility with all constellations, at least one signal of each is acquired and tracked.

2.2.2. Frequency Bands Compatibility

Although this is not a feature related to the universal channel per se, being able to acquire and track signals on all bands has a net advantage in terms of both frequency diversity for improved ionosphere error correction in an autonomous receiver, as well as enhanced resistance to interference. In the current implementation, a super-heterodyne RF front-end approach is used, where a configurable Local Oscillator (LO) takes the Radio-Frequency (RF) signal down to 70 MHz, which is then processed by a 24 MHz wide band-pass filter and down-converted to IF with a common 55 MHz LO. All LOs and clock are synchronized through an external 10 MHz reference clock.

2.2.3. Spreading Code Schemes Compatibility

Spreading codes are probably the greatest source of variation among all signals. Indeed, different types are currently broadcast: Gold, Weil, Maximal Length, short cycled linear patterns, etc. Rather than deploying dedicated logic to support all signals, a universal memory code approach is used. The remaining signal-specific configuration parameters are the code length and its chipping rate; the only exception being the GPS L2CL code generated with LFSR logic.

2.2.4. Modulations Compatibility

For compatibility sake, GNSS signals are based on a few modulation types, all derived from PSK and BOC.

2.2.5. GNSS Test Scenarios

To cover all the above signal particularities and to demonstrate the proposed universal channel, the resulting test scenarios are summarized in Table 4.
One should bear in mind that GPS L2CM is first acquired without L2CL. Because of their continuous time multiplexing, the L2CM spreading code (i.e., transmitted at 511.5 kchip/s) correlator spacing is limited to ±0.24 chip in order to avoid being polluted by L2CL. Also, with GLONASS being transmitted at 511 kchip/s, the 60 Msample/s channel design does not allow for a correlator spacing greater than ±31 samples, i.e., ±0.26 chip. On the other hand, GPS L5 at 10.23 Mchip/s suffers from the opposite problem: the channel sampling rate cannot achieve better than ±1 sample, i.e., ±0.17 chip.
Unfortunately, cBOC modulation could not be formally tested without the publically undisclosed Galileo E1A and E6 spreading codes. The same applies to modernized signals that are not yet available in space, such as GPS L1C TMBOC. The test scenarios are further described in the following paragraphs.

Galileo E1 B&C

CBOC is an implementation of the MBOC spectrum, involving the two ( 6 × and 1 × ) sub-carriers as in GPS L1Cp, but with different, yet constant amplitudes. The current implementation being based on integrations over multiples of 1 ms, a total of four partial integrations are accumulated (coherently or not) to match the full 4 ms long primary spreading code before proceeding to the next cell of the acquisition span, encompassing 4092 chips and 16 Doppler 667 Hz bins.
During acquisition, only the BOC(1,1) sub-carrier is used, with a ±28 samples correlator spacing. This early simplification can be used since the second sub-carrier only bears a tenth of the signal power, which can be neglected. Once synchronized with a BOC(1,1) modulation, the full CBOC replica signal may be generated locally with a reduced correlator spacing of ±3 samples.
The 12-bit un-encoded preamble may be used to synchronize onto the message frame of the data component. On the other hand, the pilot component bears a 25-bit secondary code.

GPS L1C

GPS L1C modernized signal involves BOC on the data component and TMBOC on the pilot. Although BOC(1,1) provides a similar effect than the Manchester code, TMBOC requires further thoughts. In the specific case of GPS L1Cp, BOC(1,1) and BOC(6,1) are alternatively enabled over a pre-determined 33-chip long sequence; 33 being an integer factor of the 10,230 chip long primary code length. Considering a dual-component channel (processing a total of four sub-carriers), at most 4096 chips can be saved in a 16 kbit RAM. This is insufficient to match the longest primary codes. Hence, a shorten pattern is repeatedly applied based on lower bits of the primary chip address bus, i.e., modulo the shorter length. This memory is thus written via a 32-bit data bus, but read four bits at a time. A minimal set is pre-computed prior being repeated to fill out the RAM for future compliance (with the modulo operator %):
33   chips   × 4   sub - carriers × 8   repeats 32   bits = 33   memory addresses of pre - computed pattern
addr TMBOC = addr primary code % 33
The resulting enable bits are applied at step 3 of the acquisition process, defined in Section 2.1.2. Other signals are always enabled; the memory being filled with ‘1’.
In terms of the navigation message, CNAV-2 [11] requires a different approach than for CNAV used in both GPS L2C and L5. In fact, synchronization can be achieved on the Bose, Chaudhuri, and Hocquenghem (BCH) encoded 52-symbol Time of Interval (TOI), provided the receiver knows what to expect for the next frame. This prerequisite knowledge can be extrapolated from other signals tracked from the same broadcasted satellite. This approach is preferred over looking for “non-variable” data from sub-frame 2 that is both encoded with Low Density Parity Check (LDPC), and interleaved with sub-frame 3 using a 38 rows and 46 columns matrix.
Since GPS block III satellites (i.e., the first intended to broadcast the modernized GPS L1C signal) scheduled for 2014 [45] have not been launched yet, chronograms were used to show sub-carrier weights in time for the pilot component.

GPS L2C

In the case of GPS L2C, the 10,230 chip-long L2CM code is to be generated in (nominally) 20 ms, i.e., 511.5 chips per ms. To avoid partial chip every other ms, a 2 ms coherent integration approach is used. During acquisition (solely based on L2CM), 10 such 1023 chip long partial correlations are required to parse the full L2CM code. This acquisition is performed with a correlator spacing of ±28 samples (based on 60 Msample/s), avoiding any effect from the L2CL spreading code.
The resulting search span, involving 20 ms iterations being repeated over the 10,230 different chip alignments and the 31 Doppler bins (each separated by 2 / 3 × T c = 333  Hz ), could reach up to 6342.6 s, i.e., almost 2 h. To avoid this unacceptable worst case unaided sequential acquisition time, the satellite L1 C/A signal information can be extrapolated, provided its prior acquisition ( the navigation bit transition being aligned with the L2CM code start), leading to the following set of Equations:
Doppler L 2 C = L 2 L 1 Doppler L 1   C / A
c L 1   C / A 2 = c L 1 C M % 1   ms
c L 2 C M = c L 2 C L %   20   ms
c L 1   C / A = c L 2 C M = 0   whenever a   L 1   C / A   navigation bit transition occurs
c L 1   C / A = c L 2 C M = c L 2 C L = 0   whenever a   L 1   C / A   or   L 2 C   navigation frame starts
In fact, the universal channels are synchronized with a global 1 ms pulse, allowing for a triggering mechanism to initialize the code generation at any given chip, at a given time stamp. Equation (20) is a simplification as the 1.5 s L2CL code period starts more often than at the 6 s NAV or 12 s CNAV frames.
The CNAV navigation symbols being transmitted at 50 symbol/s, a full L2CM period must be accumulated to obtain one symbol. In order to synchronize onto the frame and to overcome its Forward Error Correction (FEC) encoding with a ½ ratio, a pattern composed of the common 8-bit preamble followed by the satellite-specific 6-bit PRN is used: Of the resulting 28 encoded symbols, the last 16 are not affected by the unknown data from the previously broadcasted frame [44]. These are then used to locate the beginning of a frame at an offset of 12 symbols. Once, the navigation data is obtained, the L2CL offset can be assessed prior to merging it with the L2CM stream, achieving a 3 dB gain with a TMBPSK match filter approach. This multiplexing requires a clock with twice the rate, i.e., 1.023 Mchip/s, which is then divided down to 511.5 kchip/s for the codes generation. The same 2 ms integration time is preserved in order to keep integrating over an integer number of chips for each of L2CM and L2CL codes.

GPS L5

GPS L5 shares the same CNAV navigation data than L2C, although it is broadcasted twice as fast, allowing for the same frame synchronization scheme to be applied [41]. GPS L5 transmits 10,230 chips every 1 ms period; the chipping rate must be 10 times faster than for GPS L1 C/A, i.e., 10.23 Mchip/s. Considering a 60 MHz sampling frequency, the acquisition is performed with a ±3 samples correlator spacing.

GLONASS L1OF

The RF front-end must support the 1602 MHz frequency, while the IF to baseband frequency down-conversion stage must also support the several FDMA channels, allowing them to be seamlessly tracked, independently from their different frequency offset. In fact, this frequency offset is pre-determined and associated with each PRN, relieving the universal channel from this signal type management.
Because of HW design limitations, a correlator spacing of ±31 samples is used during acquisition, which roughly corresponds to ±¼ chip. In cold acquisition, because two satellites share the same RF offset, the navigation data must be decoded (no encryption) to corroborate that the expected satellite is effectively being tracked. This information is not available in every 2 s long string, and may thus require longer decoding to find out.

BeiDou B1-I

This last signal, from the BeiDou Phase II constellation requires an RF front-end capable of processing 1561.098 MHz, with a 2046 Mchip/s. The initial correlator spacing is set to ±14 samples during acquisition. The 11-bit un-encoded preamble may be used to synchronize onto the message frame, once the 10-bit secondary code has been wiped out.

3. Results

The proposed dual-component universal channel ends up using twice the resources of a traditional GPS L1 C/A tracking channel, in exchange for the flexibility of tracking any GNSS signal (including both pilot and data, whenever applicable). Furthermore, it has a low worst-case 42 mW/channel dynamic power consumption. This corresponds to a 66% increase compared to the reference BPSK single-component channel. Keeping in mind that a FPGA, such as the one used in the current implementation, reaches consumption as much as 12 times that of a comparable size Application Specific Integrated Circuit (ASIC) [46], an equivalent ASIC implementation power consumption would 3.5 mW/channel, or 2.1 mW/channel for the simplest BPSK implementation. These values are comparable to the consumption of the u-blox GPS L1 C/A with SBAS receiver chip specified to be 67 mW for 50 channels (1.34 mW/channel) [47].
Furthermore, the current processing bottleneck is the discriminators computation through the 1 kHz interrupt sub-routine/channel in the embedded MicroBlaze 5.0 processor, which could be resolved with a newer, more powerful, chip. Alternatively, the navigation message decoding could be performed in an external processor. Note that in all cases, except for GPS L2C, a 10 non- coherent integrations of 1 ms is performed prior to computing the DLL feedback. The resulting commands lead to a trend represented in Figure 10, where Low Significant Bit (LSB) oscillations may be observed between commands reaching up to 0.06   × 10 9 s/ms. These equivalent 18 m/ms jumps are smoothed out in the PVT solution, computed at up to 100 Hz.
Another performance assessment is the instantaneous channel update mean time of 1.07 ms, allowing the receiver to rapidly adapt to its sensed environment. Finally, the 530+ civil signal components occupy a total memory codes size of ~5 MB (exception made of the L2CL code). Hence, pre-computed spreading codes may easily be stored in external memory and used on demand.
A metric to consider when seeking for the best signals to track is their pseudo-range noise. The pseudo-range being proportional to the propagation time (cf. Equation (21)), it should behave approximately as a parabola for a static observer, from horizon to zenith and horizon again. Its second derivative should thus tend towards a constant value. The DLL feedback can be approximated as the first derivative of the propagation time (cf. Equation (22)), as shown in Figure 10.
The pseudo-range noise—a random process with an order greater than 2—may then be approximated as the remaining variations of the second derivative of the pseudo-range (cf. Equation (23)) [48], which is generalized to a partial code within 1 ms (in Equation (24)) for the particular case for L2C (outlined in Equation (25)). At that level, only the chip index and the phase of the chipping rate clock signal, taken at 1 kHz, need to be considered ([49] (p. 264). This simplification is useful in analyzing signals, as the associated navigation message does not need to be accounted for. Moreover, multi-frequency signals being characterized by different paths, the extra time offset may then be neglected [50]. Noise is then quantified as the standard deviation of the second derivative of the pseudo-range σ η P R :
T p r o p . = N c o d e T c o d e + N c h i p + Θ c h i p f c h i p
ε P R T ˙ p r o p . = t { N c h i p + Θ c h i p } f c h i p [ s s ]
η P R T ¨ p r o p . = 2 t 2 { N c h i p + Θ c h i p } f c h i p [ s s 2 ]
η P R | partial code 2 t 2 { N c h i p | 1   ms % ( f c h i p 1   ms ) + Θ c h i p | 1   ms } f c h i p [ s s 2 ]
η P R | L 2 C M 2 t 2 { N c h i p | 2   ms % 1023 + Θ c h i p | 2   ms } 511 , 500 [ s s 2 ]
where:
T p r o p .
is the propagation time;
N c o d e
is the number of complete code;
T c o d e
is a complete code period;
N c h i p
is the chip index of the primary code;
Θ c h i p
is the phase of the chipping rate clock;
f c h i p
is the chipping rate;
η P R
is the pseudo-range noise.
Such a snapshot analysis is displayed in Figure 11, where the legend indicates the signal type, its average C / N 0 and its pseudo-range noise standard deviation σ η P R ).
Different signals pseudo-range noise is further compared vs. signal strength in Figure 12, where it can be seen that WAAS L1 quality is in line with that of GPS L1 C/A (as they have the same chipping rate), while GPS L5 appears 10 times better for a given C/N0 (with 10 times the chipping rate). Signals intrinsic phase noise can be a dominant contributor to carrier and pseudo-range measurement performance, resulting in measurement errors.
In Figure 13, a 5 Hz static GPS L1 C/A WAAS augmented solution is presented with a 15° elevation mask with 4-bit quantization. Note that the pre-computed 0-baseline reference position used has a 2 mm (95%) error.

4. Conclusions

It has been shown that with their longer codes modernized signals take longer to acquire. In order to minimize that impact, a preliminary solution based on GPS L1 C/A signals can be leveraged to reduce the search span of other signals from tracked satellites. This transition from old to new signals of any given satellite, emphasizes the need for a universal channel approach, avoiding many idle dedicated-channels. This power reduction strategy is especially critical for portable devices whose battery optimization is the challenge of the century. Moreover, a commercial application based on such a universal channel could easily introduce a pricing scheme based on available constellation and signal types. Its future compatibility would thus make it a great option for expandable design based on SW only upgrades, easily deployable into already released products.
In this paper, the GNSS signals characteristics have been identified and addressed by a universal acquisition and tracking channel, while maintaining power consumption as low as possible (by avoiding idle channels and sharing resources) and maintaining a high level of robust tracking and flexibility. As shown, the proposed architecture allows sequential acquisition and tracking of any chipping rate, carrier frequency, FDMA channel, modulation—i.e., BPSK ( q ) , QPSK ( q ) , sin / cos BOC ( p , q ) , CBOC ( r ,   p ,   P r ,   ± ) and TMBOC ( r ,   p ,   w r ) —or constellation, and is totally configurable (any integration time, discriminator, etc.) within a fast turn-around time.
Also, its dual-component architecture allows for two sequential acquisition options: (1) dual secondary chip estimation and (2) dual primary code delay (twice as fast) estimation for a single-component acquisition. Moreover, its upgradable memory codes and sub-carriers configurability (co/sine phase and α and β weights in time) make it future-compliant for any variation that could be proposed for GLONASS modernization and BeiDou phase III signals, the final description of which are yet to come.
These benefits came at the cost of increasing the tracking channel correlators number from six (NEML reference BPSK architecture) to eight for a single-component (or equivalently 16 for a dual-component) GNSS channel, thanks to the proposed resources reduction. All these GNSS signal tracking features result in a 66% power consumption increase compared to those used in a reference BPSK channel. Nevertheless, a dual-component channel requires twice the resources of a reference BPSK channel, but with twice the throughput, thus achieving an equivalent resource per channel ratio. Also, the proposed TMBOC combined with the 2 phase-controlled sub-carriers approach could be reused to implement the AltBOC sub-carrier weights with a periodicity of eight sub-chips, provided the RF front-end and sampling frequency could process a bandwidth of least 51 MHz.

Opening on Satellite Selection

The satellite selection problem has been addressed through many different approaches, leading to computationally (sub-)optimized algorithms [51]. Nevertheless, in the context of a universal channel, the challenge becomes selecting the next best signal, not only the next best satellite. Not only the number of option increases, but also does the selection algorithm complexity, thus requiring a re-spin of the existing selection algorithms. Indeed, the satellites geometry may not be sufficient anymore: frequency diversity targeting ionosphere corrections, signal effective (Gabor) bandwidth for precise pseudo-ranging measurements, signal availability in case of jamming as well as measurement ambiguity are all contributing factors to be accounted for, i.e., a new research topic in itself that could address the traditional satellite navigation limitations at once.
Some thoughts on such a signal selection strategy go as follows. On cold start, all GPS L1 C/A signals are searched for in parallel to reduce as much as possible the Time To First Fix (TTFF). Once ephemerides are downloaded, known visible satellite orbits allow channels to be progressively assigned to modernized signals (most of which have dual-components, as seen in Table 1) from the same constellation, eventually on different frequency bands if the RF front-end allows, with a reduced search grid (i.e., known Doppler and estimated chip alignment). Furthermore, this initial Position Velocity and Time (PVT) solution would help reducing the search span of signals on other constellations. A key factor in resolving this signal selection challenge consists in maintaining the ideal pool of next best signals based on an adapted version of the FRIG algorithm [51]. Hence, the proposed universal channel combined with a new signal selection algorithm and a navigation data fusion strategy could become a powerful tool in cognitive receivers.

Author Contributions

Marc-Antoine Fortin conceived, designed and performed the experiments and analyzed the data; René Landry Jr. contributed the laboratory and the initial GPS L1 CA only receiver platform. Marc-Antoine Fortin wrote the paper.

Conflicts of Interest

The authors declare no conflict of interest.

References

  1. U-blox AG. Standalone GNSS Chips. Available online: https://www.u-blox.com/en/gps-chips.html (assessed on 14 April 2014).
  2. Sheridan, J. Russia Sticks With Glonass Mandate. 2013. Available online: http://www.ainonline.com/aviation-news/aviation-international-news/2013-01-02/russia-sticks-glonass-mandate (assessed on 11 January 2015).
  3. Government Mandates Compass (Beidou) Navigation Devices on Certain Commercial Vehicles. 2013. Available online: http://www.chinaautoweb.com/2013/01/government-mandates-compass-beidou-navigation-devices-on-certain-commercial-vehicles/ (assessed on 22 May 2015).
  4. Hamilton, J. GPS World Receiver Survey. 2014. Available online: http://gpsworld.com/resources/gps-world-receiver-survey/ (assessed on 7 December 2014).
  5. Javad GNSS Inc. OEM Boards Compare. Available online: http://www.javad.com/jgnss/products/oem/compare.html (assessed on 13 Novembre 2014).
  6. Leveson, I. Benefits of the New GPS Civil Signal—The L2C Study. Insid. GNSS Mag. 2006, 1, 42–56. [Google Scholar]
  7. Thölert, S.; Erker, S.; Langley, R.; Montenbruck, O.; Meurer, M.; Temple, M.A.; Hauschild, A. A Preliminary Analysis of SVN49‘s Demonstration Signal. Available online: http://www.gpsworld.com/gnss-system/gps-modernization/innovation-l5-signal-first-light-8661 (accessed on 22 Februar 2010).
  8. Kaplan, E.D.; Hegarty, C. Understanding GPS Principles and Applications, 2nd ed.; Artech House: Boston, MA, USA, 2006. [Google Scholar]
  9. Julien, O.; Macabiau, C.; Cannon, M.E.; Lachapelle, G. ASPeCT: Unambiguous sine-BOC(n,n) acquisition/tracking technique for navigation applications. IEEE Trans. Aerosp. Electron. Syst. 2007, 43, 150–162. [Google Scholar] [CrossRef]
  10. European Union. European GNSS (Galileo) Open Service Signal In Space Interface Control Document; Galileo Joint Undertaking: Brussels, Belgium, 2010. [Google Scholar]
  11. ARINC Engineering Services. Navstar GPS Space Segment/User Segment L1C Interfaces; En ligne IS-GPS-800; ARINC Engineering Services: Panama City, FL, USA, 2006. [Google Scholar]
  12. Ries, L.; Lestarquit, L.; Armengou-Miret, E.; Legrand, F.; Vigneau, W.; Bourga, C.; Erhard, P.; Issler, J.L. A Software Simulation Tool for GNSS2 BOC Signals Analysis. In Proceedings of the 15th International Technical Meeting of the Satellite Division of The Institute of Navigation (ION GNSS 2002), Portland, OR, USA, 24–27 September 2002; pp. 2225–2239.
  13. Betz, J.W. Binary Offset Carrier Modulations for Radionavigation. J. Inst. Navig. 2001, 48, 227–246. [Google Scholar] [CrossRef]
  14. Morrissey, T.N.; Shallberg, K.W.; Townsend, B. Code tracking errors for double delta discriminators with narrow correlator spacings and bandlimited receivers. In Proceedings of the 2006 National Technical Meeting of The Institute of Navigation, Monterey, CA, USA, 18–20 January 2006; pp. 914–926.
  15. Burian, A.; Lohan, E.S.; Renfors, M.K. Efficient delay tracking methods with sidelobes cancellation for BOC-modulated signals. Eurasip J. Wirel. Commun. Netw. 2007, 2007. [Google Scholar] [CrossRef]
  16. Sauriol, B. Mise en Oeuvre en Temps Réel d‘un Récepteur Hybride GPS-Galileo; École de Technologie Supérieurel: Montréale, QC, Canada, 2008. [Google Scholar]
  17. 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.
  18. Martin, N.; Leblond, V.; Guillotel, G.; Heiries, V. BOC(x,y) Signal Acquisition Techniques and Performances. 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. 188–198.
  19. Fine, P.; Wilson, W. Tracking Algorithm for GPS Offset Carrier Signals. In Proceedings of the 1999 National Technical Meeting of The Institute of Navigation, San Diego, CA, USA, 25–27 January 1999; pp. 671–676.
  20. Julien, O. Future GNSS Signal Processing I-II; GNSS Solutions Ltd: Fort Worth, TX, USA, 2007. [Google Scholar]
  21. Kim, S.; Yoon, S.; Kim, S.Y. A novel multipath mitigated side-peak cancellation scheme for BOC(kn, n) in GNSS. In Proceedings of the 9th International Conference on Advanced Communication Technology (ICACT 2007), Phoenix Park, Korea, 12–14 February 2007; pp. 1258–1262.
  22. Paonni, M.; Avila-Rodriguez, J.A.; Pany, T.; Hein, G.W.; Eissfeller, B. Looking for an Optimum S-Curve Shaping of the Different MBOC Implementations. Navigation 2008, 55, 255–266. [Google Scholar] [CrossRef]
  23. Avellone, G.; Frazzetto, M.; Messina, E. A new waveform family for secondary peaks rejection in code tracking discriminators for Galileo BOC(n,n) modulated signals. In Proceedings of the 2007 National Technical Meeting of The Institute of Navigation, San Diego, CA, USA, 22–24 January 2007; pp. 246–251.
  24. Sousa, F.M.G.; Nunes, F.D.; Leitao, J.M.N. Code Correlation Reference Waveforms for Multipath Mitigation in MBOC GNSS Receivers. In Proceedings of the European Navigation Conference ENC-GNSS 2008, Toulouse, France, 23–25 April 2008; Volume 1, pp. 1–10.
  25. Hodgart, M.S.; Weiller, R.M.; Unwin, M. A Triple Estimating Receiver of Multiplexed Binary Offset Carrier (MBOC) Modulated Signals. 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. 877–886.
  26. Yang, C.; Miller, M. Novel GNSS receiver design based on satellite signal channel transfer function/impulse response. In Proceedings of the 18th International Technical Meeting of the Satellite Division of The Institute of Navigation (ION GNSS 2005), Long Beach, CA, USA, 13–16 September 2005; pp. 1103–1115.
  27. Miller, M.; Nguyen, T.; Yang, C. Symmetric Phase-Only Matched Filter (SPOMF) for frequency-domain software GNSS receivers. In Proceedings of the 2006 IEEE/ION Position, Location, And Navigation Symposium, San Diego, CA, USA, 25–27 April 2006; pp. 187–197.
  28. Pany, T.; Eissfeller, B. Use of a vector delay lock loop receiver for GNSS signal power analysis in bad signal conditions. In Proceedings of the 2006 IEEE/ION Position, Location, And Navigation Symposium, San Diego, CA, USA, 25–27 April 2006; pp. 893–903.
  29. Lashley, M.; Bevly, D.M. Analysis of Discriminator Based Vector Tracking Algorithms. In Proceedings of the 2007 National Technical Meeting of the Institute of Navigation, San Diego, CA, USA, 22–24 January 2007; pp. 570–576.
  30. Macchi-Gernot, F.; Petovello, M.G.; Lachapelle, G. Combined Acquisition and Tracking Methods for GPS L1 C/A and L1C Signals. Int. J. Navig. Obs. 2010, 2010. [Google Scholar] [CrossRef]
  31. Fenton, P.C.; Jones, J. The theory and performance of NovAtel Inc.‘s Vision Correlator. In Proceedings of the 19 th International Technical Meeting of the Satellite Division of the Institute of Navigation (ION GNSS-2006), Long Beach, CA, USA, 26–29 September 2006; pp. 2178–2186.
  32. Fortin, M.-A.; Guay, J.-C.; Landry, R.J. Development of a Universal GNSS Tracking Channel. In Proceedings of the 22nd International Technical Meeting of the Satellite Division of the Institute of Navigation (ION GNSS 2009), Savannah, GA, USA, 22–25 September 2009; pp. 259–272.
  33. Landry, R.J.; Fortin, M.-A.; Guay, J.-C. Universal Acquisition and Tracking Apparatus for Global Navigation Satellite System (GNSS). Canada Patent US 8401546 B2, 2010. [Google Scholar]
  34. Tsui, J.B.-Y. Fundamentals of Global Positioning System Receivers: A Software Approach, 2nd ed.; John Wiley & Sons Inc.: Hoboken, NJ, USA, 2005. [Google Scholar]
  35. IP Processor Block RAM (BRAM) Block (v1.00a). 2011. Available online: http://www.xilinx.com/support/documentation/ip_documentation/bram_block.pdf (assessed on 3 March 2012).
  36. Mao, W.L.; Lin, W.H.; Tsao, H.W.; Chang, F.R.; Huang, W.H. Acquisition of GPS Software Receiver Using Split-Radix FFT. In Proceedings of the 2006 IEEE International Conference on Systems, Man and Cybernetics, Taipei, Taiwan, 8–11 October 2006; Volume 6, pp. 4608–4613.
  37. Hodgart, M.S.; Blunt, P.D.; Unwin, M. The optimal dual estimate solution for robust tracking of Binary Offset Carrier (BOC) modulation. In Proceedings of the 20th International Technical Meeting of the Satellite Division of The Institute of Navigation (ION GNSS 2007), Fort Worth, TX, USA, 25–28 September 2007; pp. 1017–1027.
  38. Misra, P.; Enge, P. Global Positioning System: Signals, Measurements, and Performance, 2nd ed.; Ganga-Jamuna Press: Lincoln, MA, USA, 2006. [Google Scholar]
  39. Betz, J.W. Design and Performance of Code Tracking for the GPS M Code Signal. In Proceedings of the 13th International Technical Meeting of the Satellite Division of The Institute of Navigation (ION GPS 2000), Salt Lake City, UT, USA, 19–22 September 2000; pp. 2140–2150.
  40. Betz, J.W.; Kolodziejski, K.R. Extended Theory of Early-Late Code Tracking for a Bandlimited GPS Receiver. J. Inst. Navig. 2000, 47, 211–226. [Google Scholar] [CrossRef]
  41. ARINC Engineering Services. Navstar GPS Space Segment/User Segment L5 Interfaces. In Interface Specification; Navstar GPS Joint Program Office: El Segundo, CA, USA, 2005.
  42. China Satellite Navigation Office. BeiDou Navigation Satellite System Signal in Space Interface Control Document Open Signal Service; China Satellite Navigation Office: Beijing, China, 2013. [Google Scholar]
  43. Russian Institute of Space Device Engineering. GLONASS Interface Control Document Navigational radiosignal in Bands L1, L2; Russian Institute of Space Device Engineering: Moscow, Russia, 2008. [Google Scholar]
  44. Global Positioning System Wing (GPSW) Systems Engineering & Integration. Navstar GPS Space Segment/Navigation User Interfaces; Global Positioning System Wing (GPSW) Systems Engineering & Integration: El Segundo, CA, USA, 2012. [Google Scholar]
  45. Lockheed Martin Corporation. News Releases. 2012. Available online: http://www.lockheedmartin.com/us/news/press-releases/2012/january/0112_ss_gps.html (assessed on 28 June 2014).
  46. Kuon, I.; Rose, J. Measuring the gap between FPGAs and ASICs. IEEE Trans.Comput. Aided Des. Integr. Circuits Syst. 2007, 26, 203–215. [Google Scholar] [CrossRef]
  47. U-blox AG. UBX-G6010-ST Low-Cost u-blox 6 GPS Chip. 2011. Available online: http://u-blox.com/images/downloads/Product_Docs/UBX-G6010-ST_ProductSummary_%28GPS.G6-HW-09001%29.pdf (assessed on 2 August 2012).
  48. Julien, O.; Macabiau, C.; Issler, J.-L.; Nouvel, O.; Vigneau, W. Analysis and Quality Study of GNSS Monitoring Ground Stations‘ Pseudorange and Carrier-Phase Measurements. In Proceedings of the 19th International Technical Meeting of the Satellite Division of The Institute of Navigation (ION GNSS 2006), Fort Worth, TX, USA, 26–29 September 2006; pp. 971–980.
  49. Guay, J.-C. Récepteur SBAS-GNSS Logiciel Pour des Applications Temps-Réel; École de Technologie Supérieure: Montréal, QC, Canada, 2010. [Google Scholar]
  50. Fortin, M.-A.; Guay, J.-C.; Landry, R., Jr. Single-Frequency WAAS L1 vs. L5 Augmenta-tion Observations on a Ground-Based GPS L1 C/A Solution. Positioning 2014, 5, 70–83. [Google Scholar] [CrossRef]
  51. Liu, M.; Fortin, M.-A.; Landry, R.J. A Recursive Quasi-optimal Fast Satellite Selection Method for GNSS Receivers. In Proceedings of the 22nd International Technical Meeting of the Satellite Division of the Institute of Navigation (ION GNSS 2009), Savannah, GA, USA, 22–25 September 2009; pp. 2061–2071.
Figure 1. Tracking Channel Simplified Architecture.
Figure 1. Tracking Channel Simplified Architecture.
Sensors 16 00624 g001
Figure 2. Sub-Carriers and Spreading Codes Module (BPSK vs. MBOC).
Figure 2. Sub-Carriers and Spreading Codes Module (BPSK vs. MBOC).
Sensors 16 00624 g002
Figure 3. MBOC Sub-Carriers Multi-Bit Simplification and Combination of both Data and Pilot Components (Differential = Early − Late; Prompt)
Figure 3. MBOC Sub-Carriers Multi-Bit Simplification and Combination of both Data and Pilot Components (Differential = Early − Late; Prompt)
Sensors 16 00624 g003
Figure 4. Spreading Codes Module (BPSK vs. TMBPSK Overhead).
Figure 4. Spreading Codes Module (BPSK vs. TMBPSK Overhead).
Sensors 16 00624 g004
Figure 5. Single-Component Products and Correlation (BPSK vs. MBOC Overhead).
Figure 5. Single-Component Products and Correlation (BPSK vs. MBOC Overhead).
Sensors 16 00624 g005
Figure 6. Infinite Bandwidth BPSK (1) and BOC(1,1) − n = 2 − Coherent and Non-Coherent Normalized Correlation Functions.
Figure 6. Infinite Bandwidth BPSK (1) and BOC(1,1) − n = 2 − Coherent and Non-Coherent Normalized Correlation Functions.
Sensors 16 00624 g006
Figure 7. Effect of Correlator Spacing ( Δ (chip)) on a BOC(1,1) Coherent EML Discriminator (assuming an infinite front-end bandwidth).
Figure 7. Effect of Correlator Spacing ( Δ (chip)) on a BOC(1,1) Coherent EML Discriminator (assuming an infinite front-end bandwidth).
Sensors 16 00624 g007
Figure 8. b and δ m i n vs. 1 / T s with a 22.3 MHz Front-end Bandwidth at 60 MHz.
Figure 8. b and δ m i n vs. 1 / T s with a 22.3 MHz Front-end Bandwidth at 60 MHz.
Sensors 16 00624 g008
Figure 9. Proposed Universal Channel High Level Architecture.
Figure 9. Proposed Universal Channel High Level Architecture.
Sensors 16 00624 g009
Figure 10. GPS L1 C/A LoS Variation (s) Observed every 1 ms Epoch, Based on 10 ms Non-Coherent Integration Time DLL Feedback Commands.
Figure 10. GPS L1 C/A LoS Variation (s) Observed every 1 ms Epoch, Based on 10 ms Non-Coherent Integration Time DLL Feedback Commands.
Sensors 16 00624 g010
Figure 11. Propagation Time Noise During 40 sLegend: (signal type) ( C / N 0 ) : (pseudo-range noise standard deviation).
Figure 11. Propagation Time Noise During 40 sLegend: (signal type) ( C / N 0 ) : (pseudo-range noise standard deviation).
Sensors 16 00624 g011
Figure 12. Different Correlator Spacing (Through Different Signals) Impact on DLL Noise vs. C / N 0 .
Figure 12. Different Correlator Spacing (Through Different Signals) Impact on DLL Noise vs. C / N 0 .
Sensors 16 00624 g012
Figure 13. Relative 2D error of a GPS L1 C/A WAAS Augmented Solution.
Figure 13. Relative 2D error of a GPS L1 C/A WAAS Augmented Solution.
Sensors 16 00624 g013
Table 1. GNSS Signals Survey.
Table 1. GNSS Signals Survey.
System# SVCenter Freq. (MHz)Broadcast BW (MHz)Signal ComponentModulation Type (fr = 1023 kHz)Phase (°)Gabor (MHz)Code Length (chip)Code Period (ms)MTTA (s)Symbol Rate (symbol/s)Data ambiguityForward Error CorrectionEarth Power (dBW)
PrimarySecondaryPrimarySecondaryPrimarySecondary
GPS / WAAS32/24 + 3/3L1: 1575.4224L1C/ABPSK(1)902.04610230101605020none−158.50
L1P(Y)BPSK(10)020.4606.187E+1206.05E+0803.4E+280500none−161.50
L1MsBOC(10,5)9030.690undisclosed undisclosed FEC(½)−158.00
L1C-IsBOC(1,1)04.09210,23001001563401001BCH/LDPC (½)−163.00
L1C-QTMsBOC(6,1,4/33)014.32210,23018001018000156344.427E+09---------−158.25
WAAS-L1BPSK(1)902.04610230101605002171o; +133o−161.00
L2: 1227.6024L2CMBPSK(½)TMBPSK (½,½)902.04610,2300200623280501171o; +133o−160.00
L2CLBPSK(½)90 767,2500150002.6E+100---------
L2P(Y)BPSK(10)020.4606.187E+1206.05E+0803E+280500none−161.50
L2MsBOC(10,5)9030.690undisclosed undisclosed FEC(½)−158.00
L5: 1176.4524L5-IQPSK(10)020.46010,2301011015581001171o; +133o−157.90
L5-Q9020.46010,2302012015561---------−157.90
WAAS-L5BPSK(10)020.46010,23001015505001171o; +133o−154.00
Galileo / EGNOS(2+4+2)/30 + 3/3L1: 1575.4240.92E1BCsBOC(6,1,1/11,+)014.3224092040101002501171o; −133o−160.00
E1CCsBOC(6,1,1/11,−)18014.322409225410010101899---------−160.00
EGNOSBPSK(1)902.04610230101605002171o; +133o−161.00
E1AcBOC(15,2.5) 35.805undisclosed undisclosed 100
E6: 1278.7540.92E6AcBOC(10,5) 30.690undisclosed undisclosed 100
E6BBPSK(5)010.230511501078010001171o; −133o−158.00
E6CBPSK(5)18010.23051151001100787596---------−158.00
E5a:1176.4520.46E5a-IQPSK(10) AltBOC(15,10)020.46010,2302012015561501171o; −133o−158.00
E5a-Q9020.46010,23010011001557596---------−158.00
E5: 1191.79592.07 8-PSK51.150 00 −152.00
E5b:1207.1420.46E5b-IQPSK(10)020.46010,23041415502501171o; −133o−158.00
E5b-Q9020.46010,23010011001557596---------−158.00
GLONASS / SDCM28/24 + 2/3L1g: 1602.0017.5275L1OFBPSK(~½) - FDMA908.3355110108010010none−161.00
L1SFBPSK(~5) - FDMA017.533undisclosed 50
L1: 1575.42 L1OCBOC(n,n)0 undisclosed
L1SC undisclosed
SDCM undisclosed −158.00
L2g: 1246.0015.9075L2OFBPSK(~½) - FDMA906.7105110108010010none−167.00
L2SFBPSK(~5) - FDMA015.908undisclosed 250
L2: 1227.60 L2OC 13.683undisclosed
L2SC 13.683undisclosed
L3: 1202.025 L3OC-DQPSK(x)020.46010,23051515512001171o; +133o
L3OC-P9020.46010,230101101558--- ---
L3: 1208.088 L3SC 00
L5: 1176.45 L5OC 016.368undisclosed
BeiDou / SNAS(5/27 + 5/3 + 6/5) + 1/3B1-1: 1561.0984.092B1-I: C/AQPSK(2)AltBOC(14,2)02.0462046201203161501 −163.00
B1-Q: military902.046 >400
L1: 1575.42 2.04620460103105002 −163.00
B1-2: 1589.744.092B1-2: militaryQPSK(2)02.046filed at ITU, although nothing is being broadcast
902.046
E5b:1207.1420.46B2-I: C/ABPSK(2)02.0462046201203161501
B2-Q: militaryBPSK(10) 20.460 >160
B3: 1268.5220.46B3-I: C/AQPSK(10)020.46010,2302012015561501
B3-Q: military9020.460 >160
L1: 1575.42 B1-CdMBOC(6,1,1/11) 14.322 OS 100 ½
B1-Cp ---
B1dsBOC(14,2) 32.736 AS 100 ½
B1p ---
B2: 1191.795 B2adQPSK(10)AltBOC(15,10)020.460 50 ½
B2ap9020.460 ---
8-PSK51.150 OS
B2bdQPSK(10)020.460 100 ½
B2bp9020.460 ---
B3: 1268.52 B3QPSK(10)020.460 AS 500 none
90
B3-AdsBOC(15,2.5) 35.805 AS 100 ½
B3-ApsBOC(15,2.5) ---
Table 2. BOC Tracking Channel Architectures Classification.
Table 2. BOC Tracking Channel Architectures Classification.
CategoryMain MethodsApproach
Narrow CorrelatorsDouble-Delta (DD) [14]; High Resolution Correlator (HRC) [15]; BOC universel [16]Narrow tracking once aligned with the main peak of the correlation curve. Weak performances in presence of noise and multipath. A complex combination of absolute values of correlators approaches the BPSK triangular ACF shape during initial alignment.
Single Lobe (~BPSK)Single Side Lobe (SSL) [17]; Dual Sideband (DS) [18]Independently process main lobe(s), achieving BPSK-like correlation curve.
Extra-CorrelatorsBump and Jump (BJ) aka Very Early Very Late (VE-VL) [19]Extra correlators allow monitoring secondary peaks of the correlation curve. Their location depends on the targeted modulation scheme.
Replica Spreading Code CombinationTime-Multiplexed BOC(6,1) (TM61(a)) [20]; Shaping Correlator Receiver (SCR) [21]; S-Curve Shaping [22]; Code Composite Ranging Waveform (CCRW) [23]; Strobe Correlator [24]; Autocorrelation Side-Peak Cancellation Technique (ASPeCT) [9]Minimize secondary peaks of the correlation curve by combining different spreading codes into the local replicate signal. Despite good multipath performances, these approaches suffer from higher noise levels as they are not based on the Maximum Likelihood “Matched Filter”-like Correlator, targeting the Cramer-Rao lower bound. Furthermore, S-Curve Shaping would require a minimum sampling frequency reaching 200 MHz to track MBOC signals. ASPeCT only applies to BOC(p,p).
Extra-LoopsSub Carrier Phase Cancellation (SCPC) [17]; Triple-Loop Dual-Estimator (TLDE) [25]Tracking of sub-carrier on top of carrier and code, avoiding periodic signal integer uncertainty.
Frequency ResponseChannel Transfer Function H(f) [26]; Symmetric Phase-Only Matched Filter (SPOMF) [27]Frequency-domain analysis is more flexible and precise, no matter what the signal modulation is; at the extra cost (e.g., hardware resources) of direct and inverse Fourier transforms.
Loop filtersA shared Extended Kalman Filter (EKF) is used to compute the channels feedback [28,29]. VDLL could also be considered to distinguish main peak from secondary ones by eliminating solutions with larger positioning residues. EKF can also be used as individual tracking channel loop filter [30]Vectorial DLL (VDLL) allows for inter-channel assistance, minimizing satellite loss and reacquisition occurrences by replacing independent loop filters by integrated EKF. Was successfully applied to BPSK tracking. Independent Extended Kalman Filtering (EKF) could also be used to compute the loop feedback in every channel. Both approaches could be adapted to BOC.
Time-Domain AnalysisVision correlator [31]Extra complex integrator measurements are taken at slightly different time offsets in order to assess the chip transition in the time-domain. This method could be applied to sub-carrier transitions as well.
Signal assistanceCombined Signals [30]GPS L1 C/A combined with GPS L1C for enhanced tracking
Table 3. Universal Channel Resources for Different Feature Sets.
Table 3. Universal Channel Resources for Different Feature Sets.
Resources in xc4vsx55-10ff1148AvailableBPSK w/FDMAL2CBOCSingle MBOCDual MBOC
Dynamic Power (mW) 25.1100%25.1100%29.6118%33.4133%41.8166%
Quiescent Power (mW) 860100%860100%860100%861100%861100%
Total Power (mW) 885100%885100%890101%894101%903102%
Slices245766512.6%7653.1%9433.8%10184.1%14105.7%
Slice Flip Flops491527751.6%9181.9%11182.3%11862.4%14763.0%
4 input LUTs491529081.8%11272.3%14563.0%15543.2%21234.3%
as logic 894 1113 1436 1528 2091
as shift registers 14 14 20 26 32
FIFO16/RAMB16s32020.6%20.6%20.6%30.9%41.3%
DSP48s512112.1%112.1%173.3%173.3%295.7%
Max. number of single channels 37 32 26 24 17
Max. number of dual channels 18 16 13 12 17
Legend: Dynamic Power identifies 66% power consumption increase of dual MBOC compared to BPSK feature set. Each Feature Set column and Max. number of channels row are color scaled to highlight best to worst.
Table 4. Proposed Universal Channel Test Scenarios.
Table 4. Proposed Universal Channel Test Scenarios.
GNSSRF (MHz)SignalPrimary CodeModulation± δ (Chip)Particularity
1GPS1575.42L1C10 ms; 10,230 chipsI: sBOC(1,1); Q: TM-sBOC (6, 1, 4/33)0.48→0.05; 0.48→0.05L1 band; GPS; MBOC
2GPS1227.60L2CL2CM: 20 ms; 10,230 chips; L2CL: 1.5 s; 767,250 chipsTMBPSK (½, ½, ½)0.24→0.05; off→same as L2CML2 band; LFSR logic; TMBPSK
3GPS1176.45L51 ms; 10,230 chipsQPSK (10)0.50→0.17; 0.50→0.17L5 band; QPSK; Code rate
4Galileo1575.42E1 B&C4 ms; 4092 chipsCsBOC (6, 1, 1/11, ±)0.48→0.05; 0.48→0.05Galileo; MBOC; Code period
5GLONASS1602.00L1OF1 ms; 511 chipsBPSK(~½)0.26→0.05Δ RF in L1; GLONASS; FDMA
6BeiDou1561.098B1-I1 ms; 2046 chipsBPSK(2)0.48→0.03Δ RF in L1; BeiDou; Code length
Back to TopTop