Tag: receiver design

  • Higher Timing Accuracy, Lower Cost

    Higher Timing Accuracy, Lower Cost

    AURORA BOREALIS seen from Churchill, Manitoba, Canada. Ionospheric scintillation research can benefit from this new method.
    AURORA BOREALIS seen from Churchill, Manitoba, Canada. Ionospheric scintillation research can benefit from this new method. (Photo: Aiden Morrison)
    tank
    Photo: Canadian Armed Forces

    By Aiden Morrison, University of Calgary

    Two broad user groups will find important consequences in this article:
    • Time synchronization and test equipment manufacturers, whose GPS-disciplined oscillators have excellent long-term performance but short- to medium-term behavior limited by the quality, and therefore cost, of the integrated quartz device. This article portends a family of devices delivering oven-controlled crystal oscillator (OCXO) performance down to the 10-millisecond level, with an oscillator costing pennies, rather than tens or hundreds of dollars. Applications include ionospheric scintillation research (above).
    • High-performance receiver manufacturers who design products for high-dynamic or high-vibration environments (see cover) where the contribution of phase noise from the local oscillator to velocity error cannot be ignored. In these areas, the strategy outlined here would produce equipment that can perform to higher specifications with the same or a lower-cost oscillator.
    The trade-off requires two tracking channels per satellite signal, but this should not pose a problem. At ION GNSS 2009, manufacturers showed receivers with 226 tracking channels. There are currently only 75 live signals in the sky, including all of GPSL1/L2/L5 and GLONASS L1/L2. — Gérard Lachapelle

    If the channel data within a GNSS receiver is handled in an effective manner, it is possible to form meaningful estimates of the local-oscillator phase deviations on timescales of 10 milliseconds (ms) or less. Moreover, if certain criteria are met, these estimates will be available with related uncertainties similar to the deviations produced by a typical oven-controlled crystal oscillator (OCXO). The processing delay required to form this estimate is limited to between 10 and 20 ms. In short, it becomes possible in near-real-time to remove the majority of the phase noise of a local oscillator that possesses short-term instability worse than an OCXO, using standalone GNSS. This represents both a new method to accurately determine the Allan deviation of a local oscillator at time scales previously impractical to assess using a conventional GNSS receiver, and the potential for the reduction in observable Doppler uncertainty at the output of the receiver, as well as ionospheric scintillation detection not reliant on an expensive local OCXO.

    Concept. Inside a typical GNSS receiver, the estimate of the error in the local oscillator is formed as a component of the navigation solution, which is in turn based on the output of each satellite-tracking channel propagating its estimate of carrier and code measurements to a common future point. While this method of ensuring simultaneous measurements is necessary, it regrettably limits the resolution with which the noise of the local oscillator can be quantified, due to the scaling of non-simultaneous samples of local oscillator noise through the measurement propagation process. To bypass these shortcomings requires a method of coherently gathering information about the phase change in the local oscillator across all available satellite signals: to use the same samples simultaneously for all satellites in view to estimate the center-point phase error common across the visible constellation.

    To explain how this is feasible, we must first understand the limitations imposed by the conventional receiver architecture, with respect to accurately estimating short-term oscillator behavior, and subsequently to determine the potential pitfalls of the proposed modifications, including processing delays needed for bit wipe-off, expected observation noise, and user dynamics effects.

    Typical Receiver Shortfalls

    In a typical receiver, while information about local time offset and local oscillator frequency bias may be recovered, information about phase noise in the local oscillator is distorted and discarded, as a consequence of scaling non-simultaneous observations to a common epoch.

    As shown in FIGURE 1, coherent summation intervals in a receiver are used to approximate values of the phase error, including oscillator phase, measured at the non-simultaneous interval centrers in each channel, which are then propagated to a common navigation solution epoch. Each channel will intrinsically contain a partially overlapping midpoint estimate of oscillator noise over the coherent summation interval that will then be scaled by the process of extrapolation. As these estimates are scaled and partially overlapping, they do not make optimal use of the information known about the effects of the local oscillator, and form a poor basis for estimating the contributions of this device to the uncertainty in the channel measurements. As shown in Figure 1, the phase error measured in each channel will be distorted by an over unity scaling factor.

    FIGURE 1. Propagation and scaling of phase estimates within a typical receiver.
    FIGURE 1. Propagation and scaling of phase estimates within
    a typical receiver.

    Depending on implementation decisions made by the designers of a given GNSS system, the average value of the propagation interval relative to the bit period will have different expected values. Assuming the destination epoch is the immediate end of the furthest advanced (most delayed) satellite bitstream, and that integration is carried out over full bit periods, the minimum propagation interval for this satellite would be ½-bit period.

    For the average satellite however, the propagation delay would be this ½-bit period plus the mean skew between the furthest satellite and the bitstreams of other space vehicles. Ignoring further skew effects due to the clock errors within the satellites, which are typically limited well below the ms level, the skew between highest and lowest elevation GPS satellites for a user on the surface of earth would be approximately 10 ms. The average value of this skew due to ranging change over orbit, assuming an even distribution of satellites in the sky at different elevation angles, would therefore be 5 ms.

    Combining the minimum value of the skew interval with the minimum propagation interval of the most delayed satellite yields a total average propagation interval of 15 ms. In turn, this gives a typical scaling factor of 1.75, used from this point forward when referring to the effects of scaling this quantity.

    Proposed Implementation

    Overcoming limitations of a typical receiver requires recording the approximate bit-timing and history of each tracked satellite as well as a short segment of past samples. This retained data guarantees that the bit-period boundaries of the satellites will not pose an obstacle to forming common N-ms coherent periods between all visible satellites, over which simultaneous integration may proceed by wiping off bit transitions. Using this approach as shown in FIGURE 2, all available constellation signal power is used to estimate a single parameter, namely the epoch-to-epoch phase change in the local oscillator.

     FIGURE 2. Common intervals over which to accurately estimate local oscillator phase changes.
    FIGURE 2. Common intervals over which to accurately estimate local oscillator phase changes.

    Having viewed the existence of these common periods, it becomes evident that it is conceptually possible to form time-synchronized estimates of the phase contribution of the common system oscillator alternately across one N-ms time slice, then the next, in turn forming an unb
    roken time series of estimates of the phase change of the system oscillator. Forming the difference between the adjacent discriminator outputs will provide the following information:

    • The ΔEps (change in the noise term in the local loop)
    • The ΔOsc (change in the phase of the local oscillator, the parameter of interest)
    • The ΔDyn (change in the untracked/residual of real and apparent dynamics of the local loop/estimator)

    Noticing that term 1 may be considered entirely independent across independent PRNs (GPS, Galileo, Compass) or frequency channels (GLONASS), and that the value of term 3 over a 10-ms period is expected to be small over these short intervals, it becomes obvious that term 2 can be recovered from the available information. To determine the weighting for each satellite channel, the variance of the output of the discriminator is needed.

    Performance Determination

    To allow the realistic weighting of discriminator output deltas, it becomes desirable to estimate at very short time intervals the variance of the output of the phase discriminator. In the case of a 2-quadrant arctangent discriminator, this means one wishes to quantify the variance

    E-1

    Letting Q/I 5 Z, recall that if Y 5 aX then

    E-2

    Applying this to the variance of the input to the arctangent discriminator in terms of the in phase and quadrature accumulators, this would give

    E-3

    Rather than proceed with a direct evaluation from this point onward to determine the expression for the variance at the output of the discriminator, it is convenient to recognize that simpler alternatives exist since

    E-4

    The implication is that since the slope of the arctangent transfer function is very nearly equal to 1 in the central, typical operating region, and universally less than 1 outside of this region, it is easy to recognize that the variance at the output of the arctangent discriminator is universally less than that at the input, and can be pessimistically quantified as the variance of the input, or  σ2(Z). This assumption has been verified by simulation, its result shown in FIGURE 3, where the response has been shown after taking into account the effect of operating at a point anywhere in the range ±45 degrees. While the consequence of the simplification of the variance expression is an exaggeration of discriminator output variance, FIGURE 4 shows output variance is well bounded by the estimate, and within a small margin of error for strong signals.

    FIGURE 3. Predicted variances at the output of the ATAN2 discriminator versus C/N0.
    FIGURE 3. Predicted variances at the output of the ATAN2
    discriminator versus C/N0.
     FIGURE 4. Difference between actual and predicted variance at output of discriminator.
    FIGURE 4. Difference between actual and predicted variance at output of discriminator.

    The gap between real and predicted output variance may also be narrowed in cases where Q>I by using a type of discriminator which interchanges Q and I in this case and adds an appropriate angular offset to the output as

    E-5

    Proceeding in this vein, the next required parameter is the normalized variance of the in-phase and quadrature arms.

    The carrier amplitude A can be roughly approximated as

    E-6

    Resulting in a carrier power C

    E-7

    Further, the noise power is given as

    E-8

    Expressing bandwidth B as the inverse of the coherent integration time, and rearranging now gives noise density N0 as

    E-9

    Combining this expression, and the one previously given for the carrier power C results in the following expression for the carrier to noise density ratio:

    E-10

    This latest expression can be rearranged to find the desired variance term. Assuming the 10-ms coherent integration time discussed earlier is used, this yields

    E-11

    Normalizing for the carrier amplitude gives the normalized variance in terms of radians squared:

    E-12

    In any situation where the carrier is sufficiently strong to be tracked, it is likely that the carrier power term employed above can be gathered from the immediate I and Q values, ignoring the contribution of the noise term to its magnitude.

    Oscillator Phase Effect. Determining the expected magnitude of the local oscillator phase deviation requires only three steps, assuming that certain criteria can be met. The first requirement is that the averaging times in question must be short relative to the duration, at which processes other than white phase and flicker phase modulation begin to dominate the noise characteristics of the oscillator. Typically the crossover point between the dominance of these processes and others is above 1 s in averaging interval length, when quartz oscillators are concerned. Since this article discusses a specific implementation interval of 10 ms within systems expected to be using quartz oscillators, it is reasonable to assume that this constraint will be met.

    The second requirement is that the Allan deviation of the given system oscillator must be known for at least one averaging interval within the region of interest. Since the Allan deviation follows a linear slope of -1 with respect to averaging interval on a log-log scale within the white-phase noise region, this single value will allow an accurate prediction of the Allan deviation at any other point on the interval and, in turn, of the phase uncertainty at the 10 ms averaging interval level.

    Letting σΔ(τ) represent the Allan deviation at a specific averaging interval, recall that this quantity is the midpoint average of the standard deviation of fractional frequency error over the averaging interval τ. Scaling this quantity by a frequency of interest results in the standard deviation of the absolute frequency error on the averaging interval:

    E-13

    By integrating this average difference in frequency deviations over the coherent period of interest, one obtains a measure of the standard deviation in degrees, of a signal generated by this reference:

    E-14

    Note that the averaging interval τ must be identical to the coherent integration time.

    Turning to a practical example, if the oscillator in question has a 1 s Allan Deviation of 1 part per hundred billion (1 in 1011), a stability value between that of an OCXO and microcomputer compensated crystal oscillator (MCXO) standard, and shown to be somewhat pessimistic, this would scale linearly to be 1e-9 at a 10-ms averaging interval, under the previous assumption that the oscillator uncertainty is dominated by the white phase-noise term at these intervals. Also, for illustration purposes, if one assumes the carrier of interest to be the nominal GPS L1 carrier, the uncertainty in the local carrier replica due to the local oscillator over a 10-ms coherent integration time becomes

    E-15

    When stated in a more readily digested format, this represents roughly 15 centimeter/second in the line-of-sight velocity uncertainty. In an operating receiver, two additional factors modify this effect. The first is the previously discussed scaling effect that will tend to exaggerate this effect by a typical factor of 1.75, as previously discussed. The second factor is that this noise contribution is filtered by the bandwidth-limiting effects of the local loop filter, producing a modification to the noise affecting velocity estimates, as well as reduced information about the behaviour of the local oscillator.

    Impact of Apparent Dynamics. When considering the error sources within the system, it is important to realize which individual sources of error will contribute to estimation errors, and which will not. One area of potential concern would appear to be the errors in the satellite ephemerides, encompassing both the satellite-orbit trajectory misrepresentation and the satellite clock error. While the errors in the satellite ephemerides are of concern for point positioning, they are not of consequence to this application, as the apparent error introduced by a deviation of the true orbit from that expressed in the broadcast orbital parameters does not affect the tracking of that satellite at the loop level.

    Additionally, while the satellite clock will add uncertainty to the epoch-to-epoch phase change within each channel independently, the magnitude of this change is minimal relative to the contribution of uncertainty due to the variance at the output of the discriminator guaranteed by the low carrier-to-noise density ratio of a received GNSS signal. Since this contribution is uncorrelated between satellites and relatively small compared to other noise contributions affecting these measurements, even when compared to the soon-to-be-discontinued Uragan GLONASS satellites that had generally less stable onboard clocks, it is likely safe to ignore. When compared to the more stable oscillators aboard GPS or GLONASS-M satellites, it is a reasonable assumption that this will be a dismissible contribution to received signal-phase uncertainty change.

    While atmospheric effects present an obstacle which will directly affect the epoch-to-epoch output of the discriminators, it is believed that under conditions that do not include the effects of ionospheric scintillation the majority of the contribution of apparent dynamics due to atmospheric changes will have a power spectral density (PSD) heavily concentrated below a fraction of 1 Hz. The consequence of this concentration is that the tracking loops will remove the vast majority of this contribution, and that the difference operator that will be applied between adjacent phase measurements, as in the case of dynamics, will nullify the majority of the remaining influence.

    Impact of Real Dynamics. Real dynamics present constraints on performance, as do any tracking loop transients. For example, a low-bandwidth loop-tracking dynamics will have long-lasting transients of a magnitude significant relative to levels of local oscillator noise. For this reason it is necessary to adopt a strategy of using the epoch-to-epoch change in the discriminator as the figure of interest, as opposed to the absolute error-value output at each epoch. This can reasonably be expected to remove the vast majority of the effects of dynamics of the user on the solution.

    To validate this assumption under typical conditions calls for a short verification example. Assuming the use of a second-order phase-locked loop (PLL) for carrier tracking, with a 10-Hz loop bandwidth the effects of dynamics on the loop are given by these equations:

    Letting Bn be 10 Hz, one can write

    E-16

    Recall that the dynamic tracking error in a second-order tracking loop is given by

    E-17

    Given the choices above, this would result in a constant offset of 0.00281 cycles, or 1.011 degrees of constant tracking error due to dynamics, following from the relation between line-of-sight acceleration and loop bandwidth to tracking error. Since this constant bias will be eliminated by the difference operator discussed earlier, it is necessary to examine higher order dynamics.

    Further, if one used a coherent integration interval of 10 ms as assumed earlier, and let the dynamics of interest be a jerk of 1 g/s, this results in a midpoint average of 0.005 g on this interval:

    Eq-18

    Substituting this result into equation 16 produces the associated change in dynamic error over the integration interval, which is in this case:

    E-19

    This value will be kept in mind when evaluating capabilities of the estimation approach to determine when it will be of consequence. As the estimation process will be run after a short delay, an existing estimate of platform dynamics could form the basis of a smoothing strategy to reduce this dynamic contribution further.

    Estimated Capabilities

    In the absence of the influence of any unmodeled effects, the expected performance of this method is dependent on only the number of satellite observables and their respective C/N0 ratios. Across each of these scenarios we assume for simplicity’s sake that each satellite in view is received at a common C/N0 ratio and over a common integration period of 10 ms.

    If the assumption of minimal dynamic influences is met, the situation at hand becomes one in which multiple measures of a single quantity are present, each containing independent (due to CDMA or FDMA channel separation) noise influences with a nearly zero mean. When one can express the available data form:

    x[n] = R + w[n]

    where x[n] is the nth channel discriminator delta which includes the desired measure of the local oscillator delta (R), as well as w[n], a strong, nearly white-noise component, there are multiple approaches for the estimation of R.

    The straightforward solution to estimate R in this case is to use the predicted variances of each measure to serve as an inverse weighting to the contribution of each individual term, followed by normalization by the total variance, as expressed by

    E-20

    Now, since it is desired to bound the uncertainty of the estimate of R, the variance of this quantity should also be noted. This uncertainty can be determined as

    E-21

    To determine the performance of the estimation method for a given constellation configuration, with specific power levels and available carrier signals, it is necessary to utilize the predicted variances plotted in Figure 3 as inputs to equations 20 and 21. To provide numerical examples of the performance of this method, three scenarios span the expected range of performance.

    Scenario 1 is intended to be char-acteristic of that visible to a single-freq-uency GPS user under slight attenuation. It is assumed that 12 single-frequency satellites are visible at a common C/N0 of 36 dB-Hz, yielding from the simulation curves a value for each channel of 0.0265 rad2. When substituted into equation 24, this predicts an estimation uncertainty of

    E-22

    This is a level of estimation uncertainty similar to that assumed to be intrinsic to the local oscillator in the previous section. The result implies that with this minimally powerful set of satellites, it becomes possible to quantify the behavior of the local oscillator with a level of uncertainty commensurate with the actual uncertainty in the oscillator over the 10 ms averaging interval.

    Consequentially, this indicates that the Allan deviation of this system oscillator could be wholly evaluated under these conditions at any interval of 10 ms or longer. Further, if the system oscillator were in fact the less stable MCXO from the resource above, this estimate uncertainty would be significantly lower than the actual uncertainty intrinsic to the oscillator, providing an opportunity to “clean” the velocity measurements.

    Scenario 2 is intended to be characteristic of a near future multi-constellation single-frequency receiver. It is assumed that eight satellites from three constellations are visible on a single frequency each, with a common C/N0 of 42 dB-Hz, yielding a value for each channel of 6.4e-3 rad2, leading to an estimation uncertainty of

    E-23

    Scenario 3 is intended to serve as an optimistic scenario involving a future multi-frequency, multi-constellation receiver. It is assumed that nine future satellites are available from each of three constellations, each with four independent carriers, all received at 45 dB-Hz, yielding a value for each channel of 3.2e-3 rad2, leading to an estimation uncertainty of

    E-24

    Application to Observations

    The theoretical benefit of subtracting these phase changes from the measurements of an individual loop prior to propagating that measurement to the common position solution epoch ranges from moderate to very high depending on the satellite timing skew relative to the solution point. The most beneficial scenario is total elimination of oscillator noise effects (within the uncertainty of the estimate), which is experienced in the special case (Case A, FIGURE 5), where the bit period of a given satellite falls entirely over two of the 10-ms subsections. The uncertainty would increase to 2x the level of uncertainty in the estimate in the special case (Case B) where the satellite bit period straddles one full 10-ms period and two 5-ms halves of adjacent periods, and would lie somewhere between 1 and 2 times the level of uncertainty for the general case where three subintervals are covered, yet the bit period is not centered (Case C).

    FIGURE 5. Special cases of oscillator estimate versus bit-period alignment.
    FIGURE 5. Special cases of oscillator estimate versus bit-period alignment.

    While the application to observations of the predicted oscillator phase changes between integration intervals does not appear immediately useful for high-end receiver users with the exception of those in high-vibration or scintillation-detection applications, it could be applied to consumer-grade receivers to facilitate the use of inexpensive system clocks while providing observables with error levels as low as those provided by much more expensive receivers incorporating ovenized frequency references.

    Further Points

    While the chosen coherent integration period may be lengthened to increase the certainty of the measurement from a noise averaging perspective, this modification risks degrading the usefulness of said measurement due to dynamics sensitivities. Additionally, as the coherent integration time is increased, the granularity with which the pre-propagation oscillator contribution may be removed from an individual loop will be reduced. While this may be useful in cases of very low dynamics where the system is intended to estimate phase errors in a local oscillator with high certainty, it would be of little use if one desires to provide low-noise observables at the output.

    For this reason, it is recommended that increases in coherent integration time be approached with caution, and extra thought be given to use of dynamics estimation techniques such as smoothing, via use of the subsequent n-ms segment in the formation of the estimate of dynamics for the “current” segment. This carries the penalty of increased processing latency, but could greatly reduce dynamics effects by enabling their more reliable excision from the desired phase-delta measurements.

    Acknowledgments

    The author thanks his supervisors, Gerard Lachapelle and Elizabeth Cannon, and the Natural Sciences and Engineering Research Council of Canada, the Alberta Informatics Circle of Research Excellence, the Canadian Northern Studies Trust, the Association of Canadian Universities for Northern Studies, and Environment Canada for financial and logistical support.


    AIDEN MORRISON is a Ph.D. candidate in the Position, Location, and Navigation (PLAN) Group, Department of Geomatics Engineering, Schulich School of Engineering at the University of Calgary, where he has developed a software-defined GPS/GLONASS receiver for his research.
  • Septentrio Launches Inertially Aided Receiver, Plus New AsteRx2eH

    Septentrio has launched two new products.

    The AsteRxi is the company’s first multi-sensor GNSS receiver. AsteRxi processes high-quality GNSS measurements with IMU-measurements to generate an enhanced integrated position.

    “Traditionally, professional receivers have been integrated with expensive fiber-optic gyroscopes or similar inertial sensors, making solutions prohibitively expensive for many applications,” said Peter Grognard, managing director of Septentrio. “With the integration of the high-quality MEMS Inertial Measurement Units (IMUs) such as the MTi from Xsens with the high-precision AsteRx receivers, the benefits of integrated inertial/GNSS systems become available for a host of new industrial applications.”

    Besides tracking GPS and GLONASS satellites, resulting in improved availability, the integration with IMU measurements allows AsteRxi to deliver precise position data in places where conventional GNSS receivers can’t. Additionally, the integrated solution provides position data at up to 50 Hz as well as attitude measurements, making it the ideal product for high-dynamic applications, delivering robust performance under obstructions, continuous operation under tree foliage, superior accuracy in urban canyons and much higher multipath rejection, the company said.

    To optimally address technical and economical requirements of a variety of applications, AsteRxi is designed with an interface that facilitates integration by Septentrio of different IMU-sensors, depending on the application requirements. AsteRxi is delivered standard with Xsens IMUs.

    AsteRx2eH Introduced. Septentrio also released the AsteRx2eH, a single-board dual-frequency GPS/GLONASS dual-antenna heading and position receiver designed for machine control, marine survey, photogrammetry, antenna pointing, and other demanding multi-antenna applications.

    Asterx2eH provides reliable heading measurements without being susceptible to magnetic interference, or requiring constant recalibration to maintain its accuracy, the company said, adding that its single-board multi-antenna architecture provides unequalled performance and robustness for GNSS-based heading applications.

    As member of the AsteRx-family of compact OEM and packaged GNSS receivers, AsteRx2eH is built around the same GNSS chipset and GPS and GLONASS tracking, and advanced signal processing and positioning algorithms for robust tracking and high-precision positioning, especially in challenging environments. Moreover, the electrical and communication interfaces are identical to those of other AsteRx series products, making integration of AsteRx2eH receivers easy, the company said.

    “With the evolution of GPS and GLONASS systems and the proliferation of our heading technology into increasingly demanding applications, the added navigation signals offered by the different GNSS systems increase our product’s reliability and accuracy in any application,” Grognard said. “AsteRx2eH is the successor to our popular PolaRx2eH receiver. The more compact form-factor, which requires less power to operate, incorporates the superior performance capabilities of our latest ASIC technology, and all the other innovations that our AsteRx2e product family brings.”

  • Real-Time Software Receivers: Challenges, Status, Perspectives

    By Marcel Baracchi-Frei,
    Grégoire Waelchli, Cyril Botteron,
    and Pierre-André Farine

    The idea of a software receiver is to replace the data processing implemented in hardware with software and to sample the analog input signal as close as possible to the antenna. Thus, the hardware is reduced to the minimum — antenna and analog-to-digital converters (ADCs) — while all the signal processing is done in software. As current mobile devices (such as personal digital assistants and smartphones) include more and more computing power and system features, it becomes possible to integrate a complete GNSS receiver with very few external components.

    One advantage of a software receiver clearly lies in the low-cost opportunity, as the system resources such as the calculation power and system memory can be shared. Another advantage resides in the flexibility for adapting to new signals and frequencies. Indeed, an update can easily be performed by changing some parameters and algorithms in software, while it would require a new redevelopment for a standard hardware receiver.

    Updating capabilities may become even more important in the future, as the world of satellite navigation is in complete effervescence: Europe is developing its own solution, Galileo, foreseen to be operational in 2013; China has undertaken a fundamental redevelopment of its current Compass navigation system; Russia is investing huge sums of money in GLONASS to bring it back to full operation; and the U.S. GPS system will see some fundamental improvements during the next few years, with new frequencies and new modulation techniques. At the same time, augmentation systems (either space-based or land-based) will develop all over the world.

    These future developments will increase the number of accessible satellites available to every user — with the advantage of better coverage and higher accuracy. However, to take full advantage of the new satellite constellations and signals, new GNSS receivers and algorithms must be developed.

    Definition and Types

    The definition of a software receiver (SR) always brings some confusion among researchers and engineers in the field of communications and GNSS. For example, a receiver containing multiple hardware parts which can be reconfigured by setting a software flag or hardware pins of a chipset are regarded by some communication engineers to be a SR. In this article, however, we will consider the widely accepted SR definition in the field of GNSS; that is, a receiver in which all the baseband signal processing is performed in software by a programmable microprocessor.

    Nowadays, software receivers can be grouped in three main categories:

    • field programmable gate arrays (FPGAs), which are sometimes also referred to the domain of SR. These receivers can be reconfigured in the field by software.
    • post-processing receivers include, among others, countless software tools or lines of code for testing new algorithms and for analyzing the GNSS signal, for example, to investigate GPS satellite failure or to decrypt unpublished codes.
    • real-time-capable software receivers group that will be further considered here.

    A modern GNSS receiver normally contains a RF front-end, a signal acquisition, a tracking, and a navigation block. A hardware-based receiver accomplishes the residual carrier removal, PRN code-despreading, and integration at the system sampling rate. Until the late 1990s, due to the limited processing power of microprocessors, these signal functions could only be practically implemented in hardware.

    The GNSS SR boom really started with the development of real-time processing capability. This was first accomplished on a digital signal processor (DSP) and later on a commercial conventional personal computer (PC). Today, DSPs are increasingly replaced by specialized processors for embedded applications.

    Challenges

    Data rate. The ideal software receiver would place the ADC as close as possible to the antenna to reduce hardware parts to a minimum. In that sense, the most straightforward approach consists of digitizing the data directly at the antenna, without pre-filtering or pre-processing. But as the Nyquist theorem must be fulfilled (that is, sampling with at least twice the highest signal frequency), this translates into a data rate that is, for the time being, too high to be processed by a microcontroller.

    Considering the GPS L1 signal and assuming 1 quantization bit per sample, this leads to the following values:

    FGPSL1 5 1.57542 GHz
    FSampling > 2 3 FGPSL1 5 3.15 GHz
    Data rate > 3.15 GBit/s 5 393 MB/s

    In order to reduce the data throughput, a solution such as a low intermediate frequency (IF) or a sub-sampling analog front-end must be chosen. In a low IF front-end, the incoming signal is down-converted to a lower intermediate frequency of several megahertz. This allows working with a sampling (and data) rate that can be more easily handled by a microcontroller. With the new BOC signal modulations (used for the Galileo E1 and the modernized GPS L1 signals) that have no energy at and near DC, a zero-IF or homodyne architecture is also possible without SNR degredation due to DC offset, flicker noise, or even-order distortions.

    The sub-sampling technique exploits the fact that the effective signal bandwidth in a GNSS signal is much lower than the carrier frequency. Therefore, not the carrier frequency but the signal bandwidth must be respected by the Nyquist theorem (assuming appropriate band-pass filtering). In this case, the modulated signal is under-sampled to achieve frequency translation via intentional aliasing. Again, if the GPS L1 signal is taken as an example with assuming 1 quantization bit per sample, this leads to the following values:

    Bandwidth GPS L1 5 2 MHz
    FSampling > 2 3 Bandwidth 5 4 MHz
    Data rate > 4 MBit/s 5 500 kB/s

    However, as the sub-sampling approach is still difficult to implement due to current hardware and resources limitations, a more classical solution based on an analog IF down-conversion is often chosen. That means that the signal is first down-converted to an intermediate frequency and afterwards digitized.
    Baseband Processing. Considering an IF-based architecture, the ADC provides a data stream (real or complex), which is first shifted into baseband by at least one complex mixer. The signal is then multiplied with several code replicas (generally early, prompt, and late) and finally accumulated. Figure 1 shows an example of a real data IF architecture.

    Source: Marcel Baracchi-Frei, Grégoire Waelchli, Cyril Botteron, and Pierre-André Farine
    FIGURE 1. Real IF architecture

    In hardware receivers, the local code and carrier are generally generated in real-time by means of a numerically controlled oscillator (NCO) that performs the role of a digital waveform generator by incrementing an accumulator by a per-sample phase increment. The resulting value is then converted to the corresponding amplitude value to recreate the waveform at any desired phase offset. The frequency resolution is typically in the range of a few millihertz with a 32-bit accumulator, and a sampling frequency in the range of a few megahertz.

    Assuming that a look-up table (LUT) address can be obtained with two logical operations (one shift and one mask), and the corresponding LUT value reads with 1 memory access — which is quite optimistic — the amount of operations needed to generate the complex waveforms per channel is given in Table 1.

    Source: Marcel Baracchi-Frei, Grégoire Waelchli, Cyril Botteron, and Pierre-André Farine
    Source: Marcel Baracchi-Frei, Grégoire Waelchli, Cyril Botteron, and Pierre-André Farine

    The real-time carrier generation is computationally expensive and is consequently not suitable for a one-to-one software implementation. Earlier studies [Heckler, 2004] demonstrated that, assuming that an integer operation and a multiplication take one and 14 CPU cycles, respectively (for an Intel Pentium 4 processor), the baseband operations (without carrier and code generation or navigation solution) would require at least a 3 GHz Intel Pentium 4 processor with 100 percent CPU load. Therefore, under these conditions, real-time operations are not suitable for embedded processors. Therefore standard hardware receiver architectures cannot be translated directly into software, and consequently new strategies must be developed to lower the processing load.

    Status

    A major problem with the software architecture is the important computing resources required for baseband processing, especially for the accumulation process. As a straightforward transposition of traditional hardware-based architectures into software would lead to an amount of operations which is not suitable for today’s fastest computers, two main alternate strategies have been proposed in the literature: the first relies on single-instruction multiple-data (SIMD) operations, which provide the capability of processing vectors of data. Since they operate on multiple integer values at the same time, SIMD can produce significant gains in execution speed for repetitive tasks such as baseband processing. However, SIMD operations are tied to specific processors and therefore severely limit the portability of the code.

    The second alternative consists in the bitwise parallel operations (sometimes also referred to as vector processing in the literature), which exploit the native bitwise representation of the signal. The data bits are stored in separate vectors, one sign and one or several magnitude vectors, on which bitwise parallel operations can be performed. The objective is to take advantage of the universality, high parallelism, and speed of the bitwise operations for which a single integer operation is translated into a few simple parallel logical relations. While SIMD operations use advanced and specific optimization schemes, the latter methodology exploits universal CPU instructions set. The drawback of the bitwise operations is the different representation of the values. To be able to perform integer operations, a time consuming conversion is needed.

    Single-Instruction Multiple-Data

    In 1995, Intel introduced the first instance of SIMD under the name of Multi Media Extension (MMX). The SIMD are mathematical instructions that operate on vectors of data and perform integer arithmetic on eight 8-bit, four 16-bit, or two 32-bit integers packed into a MMX register (see Figure 2).

    Source: Marcel Baracchi-Frei, Grégoire Waelchli, Cyril Botteron, and Pierre-André Farine
    FIGURE 2. Single-instruction single-data versus single-instruction multiple-data.

    On average, the SIMD operations take more clock cycles to execute than a traditional x86 operation. Anyhow, since they operate on multiple integers at the same time, MMX code can produce significant gains in execution speed for appropriately structured algorithms. Later SIMD extensions (SSE, SSE2, and SSE3) added eight 128-bit registers to the x86 instruction set. Additionally, SSE operations include SIMD floating point operations, and expand the type of integer operations available to the programmer.

    SIMD operations are well suited to parallelize the operations of the baseband processing (BBP) stage. In particular, they can be used to allow the PRN code mixing and the accumulation to be performed concurrently for all the code replicas. With the help of further optimizations such as instruction pipelining, more than 600 percent performance improvement with the SIMD operations compared to the standard integer operations can be observed [Heckler, 2006].For this reason, most of the software receivers with real-time processing capabilities use SIMD operations [Heckler; Pany 2003; Charkhandeh, 2006 ].

    Bitwise Operations. Bitwise operation (or vector processing) was first introduced into the SR domain in 2002 [Ledvina]. The method exploits the bit representation of the incoming signal, where the data bits are stored in separate vectors on which bitwise parallel operations can be performed. Figure 3 shows a typical data storage scheme for vector processing.

    Source: Marcel Baracchi-Frei, Grégoire Waelchli, Cyril Botteron, and Pierre-André Farine
    Source: Marcel Baracchi-Frei, Grégoire Waelchli, Cyril Botteron, and Pierre-André Farine

    The sign information is stored in the sign word while the remaining bit(s) representing the magnitude is (are) stored in the magn word(s). The objective is to take advantage of the high parallelism and speed of the bitwise operations for which a single integer addition or multiplication is translated into simple parallel logical operations. The carrier mixing stage is reduced to one or a few simple logical operations which can be performed concurrently on several bits. In the same way, the PRN code removal only affects the sign word.

    In a U.S. patent by Ledvina and colleagues, the complete code and carrier removal process requires two operations for each code replica (early, prompt, and late). The complexity can be even further reduced by more than 30 percent by considering one single combination of early and late code replicas (typically early-minus-late). This way, the authors claim an improvement of a factor of 2 for the bitwise method compared to the standard integer operations.

    The inherent drawback of this approach is the lack of flexibility: the complexity of the process becomes bit-depth dependent and the signal quantification cannot be easily changed (while performing BBP with integers allows the signal structure to change significantly without code modification).

    To overcome this limitation, a combination of bitwise processing and distributed arithmetic can be used [described in Waelchli, 2009]. The power-consuming operations are performed with bitwise operations, and to be able to keep the flexibility of the calculations, standard integer operations are used after the code and carrier removal. The conversion between the two methods is performed with distributed arithmetic that offers an extremely efficient way to switch between the two representations.

    Another important aspect in a software receiver is the code and carrier generation. As these tasks represent a huge processing load, new solutions must be developed in this domain.

    Code Generation

    The pseudorandom noise (PRN) codes transmitted by the satellites are deterministic sequences with noise-like properties that are typically generated with tapped linear feedback shift registers (for GPS L1 C/A) or saved in memory (for Galileo E1). But in order to save processing power, it is preferable for software applications to compute off-line the 32 codes and store them in memory.

    One method stores the different PRN codes in their oversampled representation (the code are pre-generated) [Ledvina, 2002]. As the incoming signal code phase is random, the beginning of the first code chip is in general not aligned with the beginning of a word and may occur anywhere within it. To overcome this issue, either all the possible phases can be stored in memory, or the code can be shifted appropriately during the tracking. While the first approach increases the memory requirements, the second requires further data processing in function of the phase mismatch. Regarding the Doppler compensation, all the PRN codes in the table are assumed to have a zero Doppler shift. The code phase errors due to this hypothesis are eliminated by choosing a replica code from the table whose midpoint occurs at the desired midpoint time. The only other effect of the zero Doppler shift assumption is a small correlation power loss which is not more than 0.014 dB if the magnitude of the true Doppler shift is less than 10 kHz [Ledvina patent]. This approach is very popular in the SR domain and can be found in several solutions.

    Carrier Generation

    The generation of a local carrier frequency is necessary to perform the Doppler removal. The standard trigonometric functions or the Taylor decompositions for the sines and cosines computation are too heavy for a software implementation and are seldom considered.

    However, several other techniques exist to reduce the computational load for the carrier generation: the values for the carrier can be pre-generated and then stored in lookup tables. As this would require several gigabytes of memory to store all the possible frequencies, the values are recorded on a coarse frequency grid with zero phases and at the RF front-end sampling frequency. The carrier will thus be available in a sampled version. The limited number of available carrier frequencies introduces a supplementary mismatch in the Doppler removal process. This error can be compensated with a simple phase rotation of the accumulation results. This method is very popular in the SR domain, and many solutions take advantage of it to avoid the power-hungry real-time carrier generation.

    Based on the same principle as above, Normark (2004) proposed a method that pre-computes a set of carrier frequency candidates to be stored in memory. The grid spacing is selected so as to minimize the loss due to Doppler frequency offset. Furthermore, to provide phase alignement capabilities of the carriers, a set of initial phases is also provided for each possible Doppler frequency, as illustrated in Figure 4.

    Source: Marcel Baracchi-Frei, Grégoire Waelchli, Cyril Botteron, and Pierre-André Farine
    FIGURE 4. Set of carrier frequency candidates.

    Contrarily to the Ledvina approach and thanks to the phase alignement capabilities, the number of sampling points must not obligatorily correspond to an entire acquisition period. Therefore, the length of the frequency candidate vectors can be chosen with respect to the available memory space and becomes quasi independent of the sampling frequency.

    Another approach consists in removing concurrently the Doppler from all received satellite signals [Petovello, 2006]. The algorithm is implemented as a look-up table containing one single frequency, and the carrier removal is performed for all channels with the same frequency, but the frequency error results normally in an unacceptable loss. To overcome this problem, the integration interval is split into sub-intervals for which a partial accumulation is computed.

    The result is rotated proportionally to the frequency mismatch in the same way as in the method described above. The algorithm can be applied recursively and with an appropriate selection of the sub-intervals, and the total attenuation factor can be limited to a reasonable value. The author claims an improvement of up to 30 percent compared to the standard look-up table method with respect to the total complexity for both Doppler removal and correlation stages. Regarding the computational complexity, the Doppler removal stage remains unchanged, with the difference that it is only performed once for all satellites. But the rotation needs to be done for each of the sub-intervals. However, this algorithm remains difficult to implement (number of samples varies in one or more full C/A code chip, and the data alignment is different than the sub-interval boundaries).

    Available Receivers

    Today, software receivers can be found at university and commercial levels. The development not only includes programming solution but also the realization of dedicated RF front-ends. As these RF front-ends are able to capture more and more frequencies with increasing bit-rates and band-widths, the PC-based software receivers require a comparably complex interface to transfer the digitized IF samples into the computer’s memory.

    Two classes of PC-based GNSS SR front-end solutions can be found. The first one uses commercially available ADCs that are either connected directly to the PC (for example, via the PCI bus) or that are working as stand-alone devices. The ADC directly digitizes the received IF signal, which is taken from a pure analog front-end. This solution is often found at the university and research institute level, where a high amount of flexibility is required; for example, at the Department of Geomatics Engineering of the University of Calgary, Cornell University, and the University FAF Munich’s Institute of Geodesy and Navigation.

    The second solution is based on front-ends that integrate an ADC plus a USB 2.0 interface. Currently, an impressive number of commercial and R&D front-ends are available for the GNSS market. NordNav (acquired by CSR) and Accord were among the first to provide USB-based solutions. Another interesting development comes from the University of Colorado, which in an OpenGPS forum published all details on the RF and USB sections. More companies announced and continue to announce front-ends that are not only capable of capturing a single frequency, but several different bands. To be able to deal with this increasing bandwidth, the USB port is very well suited for SR development, and its maximum theoretical transfer rate of 480 MBit/s allows realizing GPS/Galileo multi-frequency high bandwidth front-ends.

    Embedded Market. As mentioned in the introduction, the embedded market will gain increasing importance during the next few years. A growing number of receivers are developed for this market, supporting different embedded platforms (for example, Intel XScale, ARM-based, and DSP-based). Several companies offer commercial software receivers for the embedded market, among others NordNav and SiRF (acquired by CSR), ALK Technologies Inc., and CellGuide.

    Commercial PC-Based Receivers. The first commercial GPS/Galileo receiver for a PC platform was presented in 2001 by NordNav. This SR can be compared to a normal GPS receiver, although the CPU load of this solution is still quite impressive. Several other solutions have been presented more recently. One of the first (car) navigation solutions was presented by ALK Technologies under the name CoPilot. The CPU load was drastically reduced, and this solution works on a standard commercial personal computer. The client does not really see a difference compared to a solution that is based on a hardware receiver.

    Research Activities. Use in teaching and training is one of the most valuable and obvious application for software GNSS receivers. Receivers, for which the source code is available, allow the observation and inspection of almost every signal data by the researcher.

    Several textbooks have been published related to software GNSS receivers. The pioneer in this area is James Bao-yen Tsui, who in 2000 wrote the first book on software receivers, Fundamentals of Global Positioning System Receivers: A Software Approach (Wiley-Interscience, updated in 2004). Kai Borre and co-authors published in 2006 a book that comes with a complete (post-processing) software receiver written in Matlab: A Software-Defined GPS and Galileo Receiver: A Single-Frequency Approach (Birkhäuser Boston, 1st edition).

    The European Union is financing development of receivers for Galileo. One project was the Galileo Receiver Analysis and Design Application (GRANADA) simulation tool. Running under Matlab, GRANADA is realized as a modular and configurable tool with a dual role: test-bench for integration and evaluation of receiver technologies, and SR as asset for GNSS application developers.

    Other companies provide toolboxes (in Matlab or C) that allow testing of new algorithms in a working environment and inspecting almost all data signals; for example, Data Fusion Corporation and NavSys.

    Outlook

    Software receivers have found their place in the field of algorithm prototyping and testing. They also play a key role for certain special applications. What remains unclear today is if they will enter and drastically change the embedded market, or succeed as generic high-end receivers.

    A software GNSS receiver offers advantages including design flexibility, faster adaptability, faster time-to-market, higher portability, and easy optimization at any algorithm stage. However, a major drawback persists in the slow throughput and the high CPU load.

    Many different companies and universities have projects running that seek to optimize and develop new algorithms and methods for a software implementation. The developments not only consider the software levels, but also extend in the direction of using additional hardware that is already available on a standard PC; for example, using the high performance graphic processing unit (GPU) for calculating the local carrier [Petovello, 2008].

    On the opposite end of the spectrum from the mass market, the following factors seem to ensure that, sooner or later, high-end software receivers will be available:

    • High bandwidth signals (GPS and Galileo) can already be transferred into the PC in real time and processed.
    • The processing power is increasing, allowing real-time processing with a limited amount of multi-correlators. The introduction of new multi-core processors will be advantageous for software receivers.
    • Post-processing is one of the most important benefits of a software receiver, as it enables a re-analysis of the signal several times with all possible processing options. Increasing hard disk capacity facilitates storage of several long data sequences.
    • Some signal-processing algorithms such as frequency-domain tracking or maximum-likelihood tracking are much easier to implement in software than in hardware, as they require complex operations at the signal level.

    History

    During the 1990s, a U.S. Department of Defense (DoD) project named Speakeasy was undertaken with the objective of showing and proving the concept of a programmable waveform, multiband, multimode radio [Lackey, 1995]. The Speakeasy project demonstrated the approach that underlies most software receivers: the analog to digital converter (ADC) is placed as near as possible to the antenna front-end, and all baseband functions that receive digitized intermediate frequency (IF) data input are processed in a programmable microprocessor using software techniques rather than hardware elements, such as correlators. The programmable implementation of all baseband functions offers a great flexibility that allows rapid changes and modifications. This property is an advantage in the fast-changing environment of GNSS receivers as new radio frequency (RF) bands, modulation types, bandwidths, and spreading/dispreading and baseband algorithms are regularly introduced.

    In 1990, researchers at the NASA/Caltech Jet Propulsion Laboratory introduced a signal acquisition technique for code division multiple access (CDMA) systems that was based on the Fast Fourier Transform (FFT) [van Nee, 1991]. Since then, this method has been widely adopted in GNSS SR because of its simplicity and efficiency of processing load.

    In 1996, researchers at Ohio University provided a direct digitization technique — called the bandpass sampling technique — that allowed the placing of ADCs closer to the RF portions of GNSS SRs. Until this time, the implemented SRs in university laboratories post-processed the data due to the lack of processing power mentioned earlier.

    Finally, in 2001, researchers at Stanford University implemented a real-time processing-capable SR for the GPS L1 C/A signal [Akos, 2001].

    However, the GNSS SR boom really started with the development of real-time processing capability. This was first accomplished on a digital signal processor (DSP) and later on a commercial conventional personal computer (PC). Today, the DSPs are increasingly replaced by specialized processors for embedded applications.

     

    Marcel Baracchi-Frei received a physics-electronics degree from the University of Neuchâtel, Switzerland, and is working as a project leader and Ph.D. candidate in the Electronics and Signal Processing Laboratory at the Swiss Federal Institute of Technology (EPFL).

    GRÉGOIRE WAELCHLI received his degree of physics-electronics from the University of Neuchâtel and is now at EPFL for a Ph.D.
    thesis in the field of GNSS software receivers.

    CYRIL BOTTERON received a Ph.D. with specialization in wireless communications from the University of Calgary, Canada, and now leads the EPFL GNSS and UWB research subgroups.

    PIERRE-ANDRÉ FARINE is professor and head of the Electronics and Signal Processing Laboratory at EPFL, and associate professor at the University of Neuchâtel.

  • Antenna-Induced Biases in GNSS Receivers

    By Inder Jeet Gupta

    It is well known that the phase center of a GNSS antenna can vary with the satellite direction. This phase center movement leads to aspect dependent carrier phase and code phase biases in the satellite signal. For precise geo-location, one needs to characterize the antenna-induced carrier and code phase biases over the upper hemisphere. In the case of fixed pattern antennas (the antenna pattern does not vary with the incident signal environment) one can characterize the antenna induced biases a priori and use the data for corrections in the field. This is a standard practice in the surveying community.

    For antennas used with AJ (Anti-Jam) systems, however, a priori characterization of the antenna induced biases may not be of much value. These antennas consist of multiple elements. The signals received by various antenna elements are weighted and then summed together to form the composite output signal. The element weights depend on the incident signal (mainly interfering signal) scenario. As the incident signal scenario changes so do the individual antenna element weights which in turn will lead to different values for antenna induced carrier phase and code phase biases.

    As illustration, Figure 1 shows the antenna induced code phase bias of an AJ antenna over the upper hemisphere in the absence of all interfering signals as well as in the presence of two interfering signals.

    Figure 1. Antenna induced code phase bias (in meters) over the upper hemisphere. Left: no interfering signal; right: two interfering signals.

    In the figure, the center of the circle corresponds to the zenith and the outer ring corresponds to the horizon. The antenna induced code phase bias is plotted using a color scale in meters. Note that even in the absence of interfering signals, the antenna induced bias varies with the aspect angle. The presence of the interfering signals affects the antenna induced biases. This is true in the angular region surrounding the interfering signals as well as in the angular region away from the interfering signals.

    One can observe this more clearly in Figure 2 where the difference between the antenna induced code phase biases in the absence of interfering signals and in the presence of interfering signals is plotted using a color scale in centimeters. Note that the difference in the antenna induced code phase bias is quite significant, and one may not be able to obtain precise location without proper corrections.

    Figure 2. Difference (in cm) between the antenna-induced code phase bias in the presence of two interfering signals and in the absence of the interfering signals.

    The question is what could be done to minimize the effects of adaptive antenna induced biases in GNSS receivers. In my opinion, one can take the following two approaches. In the first approach (see reference), one predicts the antenna-induced biases on the fly. This approach requires knowledge of in situ volumetric patterns of individual elements of an AJ antenna over the bandwidth of GNSS signals as well as access to the antenna element weights. With a perfect knowledge of these quantities, one can come up with a very good prediction and can correct for the antenna induced biases. The sensitivity of the prediction to various parameters, however, needs to be studied.

    The second approach would be to develop novel weighting algorithms for GPS receiver adaptive antennas. Note that the current algorithms are mostly designed to either steer nulls in the interfering signal directions or maximize carrier to noise ratio in some sense. These novel algorithms should not only lead to improved carrier to noise ratio in the presence of interfering signals but should also make sure that the antenna-induced biases do not vary from their values in the absence of all interfering signals.

    Further, these algorithms should not use many degrees of freedom to meet the various constraints in that GNSS AJ antennas do not have many degrees of freedom. If most of the degrees of freedom are consumed to meet the above constraints then one will not have enough degrees of freedom left to null the interfering signals. This is a very challenging task, but leads to a good research problem!

    Inder J. Gupta

    Ohio State University

    References

    I.J. Gupta, et. al., Prediction of antenna and antenna electronics induced biases in GNSS receivers, Proceedings of ION 2007 National Technical Meeting, San Diego, CA, January 2007.

  • Innovation: GNSS Radio (PDF)

    Innovation: GNSS Radio: A System Analysis and Algorithm Development Research Tool for PCs (PDF)

    By J.K. Ray, S.M. Deshpande, R.A. Nayak, and M.E. Cannon

    Published: May 2006 GPS World

    In this month’s column, a team of researchers from India and Canada describe a GNSS radio and how they have used it to develop and test algorithms for processing both legacy L1 GPS signals and the new L2C signal.—Richard Langley

  • Innovation: Satellite Navigation Evolution: The Software GNSS Receiver (PDF)

    Innovation: Satellite Navigation Evolution: The Software GNSS Receiver (PDF)

    By Glenn MacGougan, Peter Ludvig Normark, and Christian Stahlberg

    Published: January 2005 GPS World

    In this month’s Innovation, we look at a further evolution of the GNSS receiver which offers the promise of flexibility, adaptability, and cost-effectiveness.—Richard Langley