Testing GNSS Receivers with Record and Playback Techniques
By David A. Hall
Is there a way to perform repeatable tests on GNSS receivers using real signals? This month’s column looks at how to use an RF vector signal analyzer to digitize and record live signals, and then play them back to a GNSS receiver with an RF vector signal generator.
AS A PROFESSOR, I’m quite familiar with testing — of students, that is. It’s how we check their performance — how well they have mastered the course material. Outside academia, testing is also quite common. We have to pass a driving test before we can get a license. We might have to pass a physical fitness test before starting a job. And manufacturers have to test or stress their products to make sure they are fit for purpose. As David Ogilvy, the father of advertising once quipped, “Never stop testing, and your advertising will never stop improving.” But it’s not just manufacturers who should test products. Consumers, or their representatives, should test products on offer — not only to corroborate (or dispute) manufacturers’ claims but also to compare one manufacturer’s product against another. There’s a whole slew of magazines, television programs, and web resources devoted to testing and comparing everything from laundry detergent to automobiles. And GNSS receivers are no exception.
When we conduct tests, we are usually trying to get answers to certain questions — just like those posed to students on their exams. In testing GNSS receivers, what are some appropriate questions? When a receiver is turned on, how long does it take until the position of the receiver is determined? When a weak signal area is encountered, can the receiver still determine its position? If the signal is interrupted and then restored, how long does it take for the receiver to recover and resume calculating its position? And what is the position accuracy under different situations?
While we can certainly hook up an antenna to a receiver to get answers to these questions in a certain environment on a certain day at a certain time with certain signals, the scenario cannot be repeated — not exactly. If we tweak a receiver operating parameter, for example, we don’t know for certain whether any observed change is due to the tweaking or a change in the scenario. We could use a radio-frequency (RF) simulator — a device for mimicking the radio signals generated by the satellites. This would allow us to define scenarios, including receiver trajectories, and to replay them as many times as necessary while varying the operating parameters of the receiver. Or we could modify the scenario from run to run. Such test scenarios could include those difficult to carry out with live signals such as determining how a receiver would perform in low Earth orbit. While extremely useful, these are tests with simulated signals.
Is there a way to perform repeatable tests on GNSS receivers using real signals? In this month’s column, we learn how to use an RF vector signal analyzer to digitize and record live signals, and then play them back to a GNSS receiver with an RF vector signal generator — a procedure we can repeat as often as we like.
While GNSS simulators have long provided the de facto technique for testing GPS receivers, radio frequency (RF) record and playback has emerged as an innovative method to introduce real-world impairments to GNSS receivers. In this article, we will provide a hands-on tutorial on how to test a navigation device using the record and playback technique.
The premise of RF record and playback is to capture GNSS signals off the air with a vector signal analyzer (VSA) and then replay them to a receiver with an RF vector signal generator (VSG). With recorded GNSS signals, one is able to introduce a signal that contains natural impairments — instead of an ideal signal — to the GNSS receiver. As a result, one can observe how a receiver will behave in a real-world environment where interference, multipath fading, and other impairments are present.
A VSA combines traditional superheterodyne radio receiver technology with high-speed analog-to-digital converters and digital signal processors to perform a variety of measurements on complex modulated signals. It is widely used in the telecommunications industry as a test instrument. Digitized signals can be recorded for future analysis. A VSG reverses the process, taking a digital representation of a complex waveform and, using digital-to-analog converters, generating an appropriately modulated RF signal.
Recording GPS or GLONASS signals off the air can be done in a fairly straightforward manner. An RF recording system combines appropriate antennas, amplifiers, and an RF signal recorder (usually a VSA) to capture many hours of continuous RF signal. In such a system, the basic components include the RF front end, the RF signal-acquisition device, and high-volume storage media. A block diagram of a typical recording system is shown in Figure 1.
In the figure, the RF front end is designed to condition the GNSS signal in such a way that it can be captured — with maximum dynamic range — by the recording device. The recording device digitizes a given signal bandwidth, and then stores in-phase and quadrature (IQ) waveforms to disk.
In general, RF recording devices are designed to tune to a broad range of frequencies and can thereby record many different types of signals. Thus, selecting the signal to record is as simple as setting the center frequency and bandwidth of the recording device. For example, to record the GPS C/A-code L1 signal, the center frequency should be set to 1575.42 MHz. Because each satellite generates the same carrier frequency, one can capture C/A-code signals from all satellites simply by capturing all signals within a 2.046 MHz (twice the code chipping rate) band around the carrier frequency.
By contrast, recording GLONASS signals requires slightly different settings. Because the GLONASS constellation uses frequency division multiplexing, every satellite generates the same code, but each pair of antipodal satellites transmits at a unique center frequency. Thus, recording L1 signal information for the entire GLONASS constellation requires a recorder to capture signals that range from 1598.0625 MHz (channel -7) to 1605.375 MHz (channel 6). In order to capture the entire bandwidth of each satellite, a recorder is actually required to capture 1.022 MHz of signal for each carrier (again, twice the code chipping rate). Therefore, the total recording bandwidth is actually 1597.5515 MHz to 1605.886 MHz, a span of 10.3345 MHz. On the RF signal analyzer, one can record GLONASS signals simply by setting the center frequency to 1601.71875 MHz, and the bandwidth to ≥ 10.3345 MHz.
Modern RF signal recorders are capable of recording both GPS and GLONASS C/A-code signals on a single wideband recording channel. For example, one of our RF signal analyzers is capable of recording up to 50 MHz of signal bandwidth. With this instrument, one can simultaneously record both GPS and GLONASS by setting the center frequency to 1590.1415 MHz and the bandwidth to ≥ 31.489 MHz. However, while RF recording systems can be used to capture a wide range of GNSS signals including GPS L1/L2/L5, GLONASS L1/L2, Galileo, and others, this article focuses primarily on the GPS C/A-code signal.
Setting up the RF Front End
The trickiest aspect of recording GPS signals is the selection and configuration of the appropriate antenna and low noise amplifier (LNA). When connecting a typical off-the-shelf GPS passive patch antenna to a signal analyzer, the peak power in the GPS L1 band ranges from -120 to -110 dBm. Because the power level of GPS signals is small, significant amplification is required to ensure that the VSA can capture the full dynamic range of the signal.
The simplest method to amplify an off-the-air GPS signal so that it can be captured by an RF signal recorder is the combination of an active GPS antenna and one or more external LNAs. Note that many professional GPS antennas offer the best performance because they combine high element gain with an LNA and even pre-selection filtering, which improves the dynamic range of the RF recorder.
With the RF front end appropriately configured, one can verify system performance using a simple spectrum analyzer demonstration panel. The demo panel allows one to visualize the RF spectrum in the GPS L1 band. If all is set up correctly, the C/A-code GPS signal should be visually present on the display. Figure 2 illustrates a screenshot of the spectrum on a virtual spectrum analyzer display.
Note that visualizing the GPS signal in the frequency domain with an RF signal recorder (or spectrum analyzer) requires careful attention to settings such as resolution bandwidth and averaging. Because the signal-to-noise ratio (SNR) of the GPS signal is so small, the settings shown in Figure 2 require a narrow resolution bandwidth (10 Hz) and significant averaging (20 averages per measurement record, so a 20-second interval for 1 Hz data). With these settings applied, one can easily visualize a modulated signal above the noise floor with approximately 1 MHz of bandwidth and centered at 1575.42 MHz. This signal is the GPS C/A-code. In Figure 2, the reference level of the signal analyzer was set to -50 dBm to reduce the noise floor of the instrument to the lowest possible level. Note that setting the signal analyzer’s reference level provides a simple mechanism to adjust the front-end attenuation or amplification. In general, RF signal analyzers provide the greatest dynamic range when the reference level of the instrument matches closely with the average power of the signal connected to the front end. In this case, setting the reference level of our signal analyzer to -50 dBm removes all front-end attenuation, giving the analyzer a more optimal noise figure for signal recording.
With the reference level appropriately set, it is important to properly configure the RF front end of the recording device. As previously mentioned, one can achieve the best RF recording results by using an active GPS antenna. The active antenna used in our experiment utilized a built-in LNA to provide up to 30 dB of gain with a 1.5 dB noise figure. (Recall that the noise figure is the difference in dB between the noise output of a device and the noise output of an “ideal” device with the same gain and bandwidth when it is connected to sources at the standard noise temperature — usually 290 K.) However, the LNA must be powered by supplying a DC bias to the RF connection. While there are several methods to supply the DC bias, we will look at two of the easiest methods.
Method 1: Active Antenna Powered by GPS Receiver. The first method to power an active antenna is with a bias tee or DC power injector. Using this three-port component, a DC voltage (3.3 V in this case) is fed to its DC port, which applies the appropriate DC offset to the active antenna connected to the RF-in port while blocking it on the RF-out port. The device gets its name from the fact that the three ports are often arranged in the shape of a “T.” Note that the precise DC voltage one should apply depends on the DC power requirements of the active antenna. A diagram illustrating the connections is shown in Figure 3.
Observe in Figure 3 that one can use off-the-shelf hardware such as a programmable DC power supply to supply the DC bias signal. Also, one can use a generic off-the-shelf bias tee as long as it has bandwidth up to 1.58 GHz.
Method 2: Active GPS Antenna Powered by Receiver. A second method of powering the active GPS antenna is with the receiver itself. Most off-the-shelf GPS receivers use a single port to power and receive signals from an active GPS antenna, and this port is already biased with an appropriate DC voltage. Combining an active GPS receiver, a power splitter, and a DC blocker, one can power an active LNA and simply record essentially the same signal as that observed by the GPS receiver. A diagram of the appropriate connections is shown in Figure 4. Some splitters incorporate a DC block on all but one of the output ports.
As Figure 4 illustrates, the DC bias from the GPS receiver is used to power the LNA. This method is particularly useful for drive tests because one can observe the receiver’s characteristics, such as velocity and dilution of precision, while recording.
Selecting the Right LNA
Recording GPS signals with generic RF signal recorders is possible largely because external LNAs can be used to reduce the effective noise floor of the receiver. Today, one can find off-the-shelf spectrum analyzers with noise figures ranging from 15 dB to 20 dB. One of our analyzers, for example, has a 15 dB noise figure while applying up to 60 dB of gain. By applying external amplification to the front of an RF signal analyzer, however, one can substantially reduce the noise figure of the RF recording system.
To calculate the total noise that will be added to the recorded GPS signal, one must calculate the noise figure for the entire RF front end. As a matter of principle, the noise figure of the entire system is always dominated by the first amplifier in the system. Thus, careful selection of the first and second stage LNAs is crucial for a successful signal recording.
We can calculate the noise figure of the RF recording system by using the Friis formula for noise figure, named for engineer Harald Friis, a Danish-American radio engineer who worked at Bell Telephone Laboratories. To use this formula, first convert the gain and noise figure of each component to its linear equivalent; the latter is called the “noise factor.” For cascaded systems such as our RF recording system, the Friis formula provides us with the noise factor of the entire system:
Note that both noise factor (nf) and gain (g) are shown in lowercase to distinguish them as linear measures rather than logarithmic measures. The conversion from linear to logarithmic gain and noise figure (and vice v
ersa) is shown in the following equations:
An active GPS antenna using a built-in LNA typically provides 30 dB of gain while introducing a noise figure that is typically on the order of 1.5 dB. The second part of the recording instrumentation provides 30 dB of additional gain as well. Though its noise figure is higher (5 dB), the second amplifier actually introduces very little noise into the system. As an academic exercise, one can use the Friis formula to calculate the noise factor for the entire RF front end of the recording instrumentation. Gain and noise figure values are shown in Table 1.
According to the calculations above, one can determine the overall noise factor for the receiver:
To convert noise factor into a noise figure (in dB), apply Equation 2, which yields the following results:
As Equation 7 illustrates, the noise figure of the first LNA (1.5 dB) dominates the noise figure of the entire RF recording system. Thus, with the VSA configured such that the noise floor of the instrument is less than that of the input stimulus, one’s recording introduces only 1.507 dB of noise to the off-the-air signal.
Saving Data to Disk
Each GNSS produces slightly varying requirements for an RF recorder’s signal bandwidth and center frequency. For the GPS C/A-codes, the essential requirement is to record 2.046 MHz of RF bandwidth at a center frequency of 1575.42 MHz.
In the tests described here, we set the IQ sample rate of our RF recorder at 5 megasamples per second (Ms/s). Since each 16-bit I and Q sample is 32 bits (or 4 bytes each), the actual recording data rate is 20 megabytes per second (MB/s) to ensure the entire bandwidth was captured. Capturing more than 4 MHz of bandwidth is sufficient to record the 2.046 MHz C/A-code signals.
Because one can achieve data rates of 20 MB/s or more with standard PXI controller hard drives (PXI is the open, PC-based platform for test, measurement, and control), one does not need to use an external redundant array of independent disks (RAID) volume to stream GPS signals to disk when using a PXI recording system. In general, data rates exceeding 20 MB/s require the use of an external RAID volume. External RAID systems are capable of storing more than 600 MB/s of data and can be used to support wide bandwidth channels or even multi-channel recording applications. For example, the recording system shown in Figure 5 uses an external RAID volume for high-speed signal recording. This system combines PXI RF signal generators and analyzers with external amplifiers and filter banks for a ready-to-use GNSS record and playback solution.
In our tests, we decided to use a 320 GB USB drive for better portability. With a disk speed of 5400 revolutions per minute, we were able to benchmark it ahead of time and observed that we were able to achieve read and write speeds exceeding 25 MB/s. Thus, we were easily able to use this disk drive and still record IQ samples at 5 MS/s (20 MB/s) when recording off-the-air signals. With the existing hard-drive setup, we could record more than 4 hours of continuous IQ signal. Note that capturing longer recordings simply requires a larger hard disk. By using a 2 terabyte RAID volume (the largest addressable disk size in the Windows XP operating system), we can extend our recording time to 25 hours. With this setup, we could also reduce the IQ sample rate to 2.5 MS/s (still sufficient to capture the GPS C/A-code signals) and extend the recording time to 50 hours.
Once the off-the-air signal of a GNSS band is recorded to disk, it can be re-generated and fed to a receiver using an RF signal generator. With an RF signal generator that is able to reproduce the real-world GNSS signal, engineers are able to test a wide range of receiver characteristics. Because recorded signals contain a rich set of channel impairments such as ionosphere distortion and interference from other transmitters, design engineers often use recorded signals to prototype the baseband processing algorithms on a GNSS receiver.
In our case, we used a VSG directly connected to a GPS evaluation board. In the experiments described below, the receiver’s latitude, longitude, and velocity were tracked over time. Data was read from the receiver using a serial port, which read NMEA 0183 sentences at a rate of one per second. NMEA 0183 is a standard protocol developed by the National Marine Electronics Association for communications between marine electronic devices. NMEA 0183 has been adopted by virtually all GPS receiver manufacturers. In our LabVIEW graphical development environment, one can parse all sentences to return satellite and position-fix information.
For practical testing purposes, GPS dilution of precision and active satellites (GSA), GPS satellites in view (GSV), course over ground and ground speed (VTG), and GPS fix data (GGA) sentences are the most useful. More specifically, one can use information from the GSA sentence to determine whether the receiver has achieved a position fix and is used in time-to-first-fix measurements. When performing sensitivity measurements in this example, the GSV sentence was used to return carrier-to-noise-density ratios (C/N0) for each satellite being tracked. In addition, the VTG sentence allows us to observe the velocity of the receiver. Finally, the GGA sentence provides the receiver’s precise position by returning latitude and longitude information. See the references in Further Reading for in-depth information on the NMEA 0183 protocol.
Using the receiver’s reported latitude and longitude information, we are able to test its ability to report a repeatable position when the recorded signal is played back to the receiver. In this experiment, we tracked the receiver position over 10 minutes. For the best results, the command interface of the receiver should be tightly synchronized with the start trigger of the RF signal generator. The results in Figure 6 show that the RF vector signal generator in this experiment was synchronized with the GPS receiver by using the data line of the serial communications (COM) port (RxD, pin 2) as a start trigger. Using this synchronization method, the vector signal generator and GPS receiver were synchronized to within one clock cycle of the VSG’s arbitrary waveform generator (100 MS/s). Thus, the maximum skew should be limited to 10 microseconds. Given our receiver’s maximum velocity of 15 meters per second (our maximum speed on the drive test), we can determine that the maximum error induced by clock offset of the signal generator is 10 microseconds x 15 meters per second, or 0.15 millimeters.
Using the configuration described above, one is able to report the receiver’s latitude and longitude over time, as shown in Figure 6.
As the data from Figure 6 illustrate, a recorded test-drive signal reports static, position, and velocity information. In addition, one can observe that this information is relatively repeatable from one trial to the next, as evidenced by the difficulty in graphically observing each individual trace. To better characterize the deviation between each trace, one can also compute the standard deviation between each sample in the waveforms. Figure 7 illustrates the standard deviation between each of the 10 trials, calculated for every one-second interval, versus time.
When observing the horizontal standard deviation, it is interesting to note that the standard deviation appears to rapidly increase at time = 120 seconds. To investigate this phenomenon further, we can plot the total horizontal standard deviation against the receiver’s velocity and a proxy for C/N0. In this case, we simply averaged the C/N0 values for the four highest satellites reported by the receiver. Since four satellites are required to achieve a three-dimensional position fix, our assumption was that position accuracy would closely correlate with the signal strength of these important satellite signals.
One simple method to evaluate the horizontal repeatability of the receiver position versus time is to calculate the standard deviation on a per-sample basis of each recorded latitude and longitude (in degrees). Once the standard deviation is measured in degrees, we can roughly convert this to meters with the following equation:
Note that Equation 8 represents a highly simplified error calculation method, which assumes that the Earth is a perfect sphere. For a more precise calculation of repeatability, the geodesic formula (which presumes that the Earth is ellipsoidal) should be used. In our simple experiment, the goal is merely to correlate repeatability with other factors that we can measure from the receiver. Figure 8 illustrates the standard deviation of horizontal position repeatability over 10 trials and at one-second time intervals.
As one can observe in Figure 8, the peak horizontal error (measured by standard deviation) occurring at time = 120 seconds is directly correlated with satellite C/N0 and not correlated with receiver velocity. At this sample, the standard deviation is nearly 2 meters while it is less than 1 meter during most other times. Concurrently, the top four C/N0 averages drop from nearly 45 dB-Hz to 41 dB-Hz.
The exercise above illustrates not only the effect of C/N0 on position accuracy but also the types of analysis that one can conduct using recorded GPS data. For this experiment, the drive recording of the GPS signal was conducted in Huizhou, China (a city north of Shenzhen), but the actual receiver was tested at a later date in Austin, Texas.
In this article, we’ve illustrated how to use commercially available off-the-shelf products to record GPS signals with an RF recorder, and then play the signal back to a receiver. As the results illustrate, recorded GPS signals can be used to measure a wide range of receiver characteristics. Not only can receiver designers use these test techniques to better prototype a receiver baseband processor, but also to measure system-level performance such as position repeatability.
The tests discussed in this article used a National Instruments PXIe-5663E, 6.6 GHz, RF signal analyzer; a National Instruments PXI-5690, 100 kHz to 3 GHz, two-channel programmable amplifier and attenuator; a National Instruments PXIe-5672, 2.7 GHz, RF vector signal generator with quadrature digital upconversion; a 320 GB USB Passport hard drive from Western Digital Corp.; a National Instruments PXI-4110 programmable, triple-output, precision DC power supply; and a ZX85-12G-S+ bias tee manufactured by Mini-Circuits. The article also mentioned the RP-3200 2-channel record and playback system manufactured by Averna, which incorporates National Instruments modules.
David Hall is an RF product manager for National Instruments. He holds a bachelor’s of science with honors in computer engineering from Pennsylvania State University.
More on GNSS Receiver Record and Playback Testing
GPS Receiver Testing, tutorial published by National Instruments, Austin, Texas.
Friis Formula and Receiver Performance
RF System Design of Transceivers for Wireless Communications by Q. Gu, published by Springer, New York, 2005.
Global Positioning System: Signals, Measurements, and Performance, 2nd edition, by P. Misra and P. Enge, published by Ganga-Jamuna Press, Lincoln, Massachusetts, 2006.
“Measuring GPS Receiver Performance: A New Approach” by S. Gourevitch in GPS World, Vol. 7, No. 10, October 1997, pp. 56-62.
“GPS Receiver System Noise” by R.B. Langley in GPS World, Vol. 8, No. 6, June 1997, pp. 40–45.
Global Positioning System: Theory and Applications, Vol. I, edited by B.W. Parkinson and J.J. Spliker Jr., published by the American Institute of Aeronautics and Astronautics, Inc., Washington, D.C., 1996.
GNSS Receiver Testing Using Simulators
“Testing Multi-GNSS Equipment: Systems, Simulators, and the Production Pyramid” by I. Petrovski, B. Townsend, and T. Ebinuma in Inside GNSS, Vol. 5, No. 5, July/August 2010, pp. 52–61.
“GPS Simulation” by M.B. May in GPS World, Vol. 5, No. 10, October 1994, pp. 51–56.
GNSS Receiver Testing Using Software
“GPS MATLAB Toolbox Review” by A.K. Tetewsky and A. Soltz in GPS World, Vol. 9, No. 10, October 1998, pp. 50–56.
GNSS L1 Signal Descriptions
Navstar GPS Space Segment / Navigation User Interfaces, Interface Specification, IS-GPS-200 Revision E, prepared by Science Applications International Corporation, El Segundo, California, for Global Positioning System Wing, June 2010.
Global Navigation Satellite System GLONASS, Interface Control Document, Navigational Radio Signal in Bands L1, L2 (Edition 5.1), prepared by Russian Institute of Space Device Engineering, Moscow, 2008.
NMEA 0183, The Standard for Interfacing Marine Electronic Devices, Ver. 4.00, published by the National Marine Electronics Association, Severna Park, Maryland, November 2008.
“NMEA 0183: A GPS Receiver Interface Standard” by R.B. Langley in GPS World, Vol. 6, No. 7, July 1995, pp. 54–57.
Unofficial online NMEA 0183 descriptions: NMEA data; NMEA Revealed by E.S. Raymond, Ver. 2.3, March 2010.