GPS and Navigation Products
Navigational System Design & Development Products:
System Applications
The goal of this suite of products is fast and efficient development of advanced GPS. All of these products seamlessly integrate into a reliable, user-friendly platform. The software components act as individual chip-sets, giving the user the power to develop new architectures or modify existing ones. The user can also visualize and monitor signals from each component for more informed decision-making.
Users can configure, modify, test, and evaluate the software GPS receiver in minutes. The image shows a typical setup.

Test and Evaluation
The test and evaluation can be performed using:
- Simulated data from the GPS signal simulator. Here, the user creates different situations to evaluate a design by performance. The software simulator gives unmatched flexibility.
- Offline data stored in RAM. Stored samples can come from the GPS signal simulator or RF front ends. The host PC can act as the storage medium. However, limitations of host PCs restrict the continuous storage to 4 GB that corresponds to about an hour of C/A code data sampled at 5 MSPS (@2 bits/sample) or only about 30 seconds of L1 and L2 data at 60 MSPS (@8 bits/sample).
- Larger storage requires the hard disk-based storage system. RF front ends can interface with the software GPS receiver for real-time or semi-real-time operations. For 60 MSPS sampling using multiple correlators, real-time processing requires pre-processors (such as the FPGA correlator).

Modes of Operation:
- Offline (storage)
- Real-Time (operating)
GPS Offline Processing Applications
- Snaptrack and E-911 type processing
- Post-processing operations, mission analysis
- Monitoring special events (scintillation, interference, jamming, high dynamics)
- Geodetic applications
- Developmental efforts using repeatable conditions
GPS Real-Time Processing Applications
- Multipath monitoring and mitigation
- High dynamics
- Anti-interference, anti-jam
- FFT acquisition
- Anti-scintillation
- Multiple antenna and STAP/SFAP-type processing
- Covert operation
- Code and codeless operation
- New frequencies and codes
- Degraded S/N and obscured condition
- Direct Y-code acquisition
- Joint detection and tracking with smoother processing
- Space-borne applications
- Formation flying, attitude determination
- Networking
- GPS & INS integration
Dual-Frequency Receiver
There are three major receiver configurations for this type of application: coded, codeless, and semicodeless. A coded dual-frequency receiver assumes knowledge of the classified W-code. Y-code (the modular sum of P-code and W-code) correlators and tracking loops for both frequencies have the same structure as the basic C/A code receiver. The aiding between C/A and Y-codes can vary: for example, through C/A code, users can track signal dynamics, and this information can aid L1, L2, and Y-code-tracking loops.
The application can acquire signals through C/A code or through Y-code directly. Without access to W-code this configuration can test simulated signals that only have P-code modulation on L1 and L2.
For codeless and semicodeless receivers, the user relies on C/A code to acquire and track initial GPS signals. A codeless receiver squares the signals on L1 and L2 to remove unknown classified W-code. Several variations on this squaring affect the SNR penalty compared with that of a coded receiver. One possible solution to this discrepancy is to perform the correlation with P-code and then integrate for a short time interval, proportional to W-code chip length. A low-pass filter removes the excess noise. After filtering, square and integrate these signals again.
A semicodeless receiver uses the fact that W-code on both L1 and L2 frequencies is the same. The structure of this type of receiver is shown in the image on the right. A semicodeless technique tracks the signal on L2. This technique first strips the P-code on both L1 and L2 signals, then passes the outputs through a low-pass filter with a bandwidth equal to W-code rate to eliminate as much noise as possible. Then the signals on L1 and L2 are multiplied to remove W-code that results in less squaring loss SNR penalty than that of a pure codeless technique. P-code correlators on both frequencies find aid in a C/A code-tracking loop output. This way the system tracks carrier and code dynamics using the stronger C/A code, despite the severe SNR penalty of semicodeless tracking. P-code correlators track only very low dynamics introduced by the ionosphere. A scaling factor for the L2 P-code correlator adjusts the Doppler shift from the L1 to the L2 frequency. Navigation receives navigation data and timing information from correlators. We have constructed several kinds of dual-frequency receivers.
Multipath Reduction and Monitoring
After selective availability, multipath remains the largest source of error in a GPS. Multipath reduction has been an object of extensive research throughout the world for many years. In wireless communication systems, it degrades signals and increases bit-error rates. In GPS systems, it compromises pseudorange measurement, resulting in a wrong calculated position. Several methods combat multipath effectively. They include installation of narrow correlators with reduced spacing, or estimation of the multipath structure and its removal from the line-of-sight signal. The sofware GPS receiver makes these methods easy to implement. The images compare the performances of conventional 0.5-chip early-prompt-late correlator spacing and a narrow correlator configuration of 0.1-chip correlator spacing. The upper plots show the early, prompt and late I, and early and prompt Q correlator outputs for both cases. Note that both the blue and green traces, which correspond to early and late I signals, respectively are slightly above half the amplitude of the red trace (prompt I signal) for 0.5-chip spacing. (Without multipath, they should be at half the amplitude of the red trace.) Their amplitude is much higher for 0.1-chip spacing. The lower plots show the correlation function shape where 0 on the x-axis represents the prompt correlator. The multipath signal was half a chip delayed with respect to the direct path. It was in phase with the direct spacing, the peak that corresponds to the prompt signal shifted to the right, since the code tracking loop attempts to negate the difference between early and late signals. For 0.1-chip correlator spacing, this shift is much less, resulting in much smaller pseudorange measurement error.
Space-Time Adaptive Processing
Multipath mitigation techniques described above estimate the location of the direct signal peak in the correlation function. This improves pseudorange measurements from the code-tracking loop. More accurate positioning requires measurement of the carrier phase. However, those techniques do not remove multipath-induced errors from the carrier phase measurement. That requires some form of space-time processing.
Line-of-sight and multipath signals usually arrive at the antenna from different angles. In an antenna array, different antennas will receive different carrier phases of the incoming signals. By adding these signals, one can place the maximum array gain in the direction of the line-of-sight signal and a null in the direction of the multipath. That null will completely remove the multipath signal. You can see an example of this type of processing in the image below. This represents a snapshot of the software and shows one C/A code-tracking channel. The test simulated the line-of-sight signal from 90 degrees with respect to the x-axis, and delayed the multipath signal by half a chip, with half the amplitude of the direct signal, coming from 60 degrees. The antenna array had a null in the direction of multipath and maximum gain in the direction of the line-of-sight signal. The upper multipath monitor window shows the signal from one of the antennas in the array. The multipath distorts the shape of the correlation. The lower multipath monitor window shows the signal processed with the beamformer. The multipath is now completely gone. This type of system can eliminate more than one multipath or jamming signal. Generally speaking for N element antenna array, a user can set weights to place one maximum in the direction of the line-of-sight signal, and up to N-2 nulls in the direction of multipath signals or jammers. The software receiver can easily use adaptive algorithms.
Interferrometry, Altitude Determination, Direction of Arrival:
The basics of all these techniques involve phase measurements at multiple points in space. Their accuracies depend on the accuracies of phase measurements.
- Precise phase measurement is central to altitude determination and direction finding.
- Accuracy to 1 degree for an integration period of 10 ms
- Accuracy to 1 degree for an altitude determination in 10 ms
Array Structure
- Linear Arrays
- Planar Arrays
Hardware Phase Stability
- From antenna phase centers to digitization point
Processing Techniques
- Interferrometry
- Beamforming
- Subspace-based methods (such as MUSIC)
- Adaptive processing
You can see the principles behind interferrometry and examples of interferrometric results in the figure.
- Process pairs of antennas using phase difference to detect the direction of arrival.

- Azimuth search only
- Complexity grows exponentially with number of antenna elements
- Symmetrical ambiguity
Beamforming
- Measures signal power by steering the beam in every direction.
- Low computational complexity, since steering vectors are computed only once.
- Azimuth and elevation search.
A more accurate position localization can come from a subspace-based method such as MUSIC.
MUSIC
- Processes the signal-covariance matrix to compute the signal direction
- Computational complexity grows exponentially with number of antenna elements
Anti-Jamming
Narrow-band jammers are no match for FFT filters. For broadband jammers, an adaptive beamforming works best. Beamforming produces a null in the direction of the jammer and the operation resembles multipath elimination. See examples of anti-jamming for M-code operation in the figures.





M-Code
CRS has developed the first M-code signal simulator and M-code receiver (Jovancevic et al, 2001; "Software Pseudo-Lm GPS receiver"). Implemented in hardware, the software systems are available as development platforms or working systems (simulators and receivers). See example of M-code signal structure in figure.
Glonass
All Glonass waveforms are implemented and available.
Galileo
CRS follows and implements Galileo signal structures as they evolve in the open-architecture software and hardware. These developmental systems are available.









