Technical Article • May/June 2013
MUSTERA Collaborative GNSS Receiver Architecture for Weak Signal ProcessingMany research efforts have proposed ways to enhance singlereceiver GNSS navigation performance. However, methods that combine data from multiple receivers remain relatively unexplored. In this article, the authors introduce a receiver design and operational methodology that take advantage of the largely yet untapped potential for collaborative approaches to achieve more robust positioning capability, particularly in weak signal environments.
Share via: Slashdot Technorati Twitter Facebook Existing methods for improving the GNSS performance commonly attempt to enhance the signal processing and navigation estimation parts of a single receiver. Such approaches, however, leave unexplored the potential benefits inherent to the integration of data from multiple receivers. This article introduces the concept of a MUltiplatform Signal and Trajectory Estimation Receiver (MUSTER) and demonstrates its technical feasibility using experimental data. MUSTER uses collaborative GNSS where individual (noncollocated and asynchronous) receivers/nodes exchange their signal and measurement data in order to enhance GNSS navigation capabilities in degraded signal environments, such as urban canyons and indoors. In the article, we will specifically address the use of collaborative receiver architecture for tracking of weak signals and describe algorithmic approaches that are validated with experimental data.
MUSTERing Cooperation 1) integration at the signal processing level, including:
2) integration at the measurement level, including:
To exclude a single point of failure, the receiver network is implemented in a decentralized fashion. Each receiver obtains GNSS signals and signal measurements (code phase, Doppler shift, and carrier phase) from other receivers via a communication link. A receiver then uses these data to operate in a MUSTER mode (i.e., to implement a multiplatform signal fusion and navigation solution). At the same time, each receiver supplies other receivers in the network with its signal and measurement data. The efforts described here focus on the use of MUSTER for multiplatform tracking of weak GPS signals. The tracking architecture was developed to integrate signals from multiple independently operating GPS receivers (including independent clock operations) in order to improve the signaltonoise ratio (SNR) and enable processing of weak signals. This technological approach is specifically tailored towards extending the GPS navigation envelope into extremely challenging environments. We can envision many applications of the MUSTER, for example, indoor localization for search and rescue purposes and collaborative signal recovery with cellular phone users in order to enable locationbased services (LBS) for indoor areas as shown in Figure 1. The key benefit of the technology is that the SNR can always be improved by increasing the number of receiver nodes. In other words, GPS navigation can always be brought further indoors by adding new users to the collaborative network. The MUSTER signal processing approach extends to networked GPS receivers an openloop tracking concept previously researched for single receivers (see the article by van Graas et alia listed in the Additional Resources section near the end of this article). This method combines signals from multiple platforms to construct a joint threedimensional (3D) signal image (signal energy versus code phase and Doppler shift). Signal parameters (code phase, Doppler shift, carrier phase) are then estimated directly from this image without employing tracking loops. As compared to traditional closedloop tracking, the use of openloop estimation optimizes the robustness of GPS signal processing, which is especially beneficial in adverse environments, such as urban (indoor and outdoor) and interference scenarios. For instance, in dense urban canyons, signals drop in and out constantly and a traditional tracking loop generally fails to lock onto a signal that is only available for several seconds or less. In contrast, an open loop receiver detects the signal as soon as it (re)appears (by identifying the energy peak in the 3D signal function) and immediately estimates signal parameters (from the peak identified). To support the functionality of the receiver network at the signal processing level while satisfying bandwidth limitations of existing data link standards, individual receivers exchange preprocessed signal functions rather than exchanging raw GPS signal samples. Before sending its data to others, each receiver processes the incoming GPS signal with a correlation engine. This engine computes a onemillisecond–accumulated complex amplitude of the GPS signal as a function of code phase and Doppler frequency shift form a specified code/ carrier search space. Networked receivers then broadcast portions of their onemillisecond correlation functions around expected energy peaks the locations of which are derived from some initial navigation and clock knowledge. Figure 2 illustrates the approach, which is scalable for an increased number of networked receivers and/or increased sampling rate of the ranging code, such as P(Y)code versus CAcode. The link bandwidth is accommodated by tightening the uncertainty in the location of the energy peak. As a result, the choice of the data link becomes a tradeoff between the number of collaborative receivers and MUSTER coldstart capabilities (i.e., maximum initial uncertainties in the navigation and clock solution).
Overall Architecture As stated earlier, MUSTER implements a decentralized signal processing approach. Each receiver operates in a MUSTER mode when it combines signals from other platforms (wherein data from two or more supplemental receivers can be used) and in a supplemental mode when it broadcasts its data to other receivers in the network. Prior to sending out data, each receiver executes a preprocessing step in order to reduce the data rate without losing the benefits of multiplatform signal integration. Specifically, each receiver constructs its own onemillisecond 3D threedimensional signal function, which is a complex signal amplitude accumulated over one millisecond as a function of code shift and Doppler shift. Receivers then exchange onemillisecond signal functions (or portions of these functions around the expected energy peak) rather than raw signal samples. Functions from multiple receivers are a) adjusted for differences in signal parameters that are due to nonzero relative position, velocity, and clock states; b) accumulated beyond the initial onemillisecond interval (e.g., over 20 milliseconds), and, c) added together (coherently or noncoherently). Multiplatform signal accumulation results are then used to estimate code phase, Doppler shift, and carrier phase. As shown in Figure 3, main architectural components include:
Main Architectural Components Each 3D signal function represents a one millisecond–accumulated complex signal as a function of Doppler frequency and code phase from the signal search space. Real and imaginary parts of each complex amplitude correspond to onemillisecond inphase (i) and quadrature (q) signals, accordingly. For realtime implementation, the preprocessing part is the only component of the MUSTER signal processing and navigation solution that needs to be implemented in firmware (using a field programmable gate array or FPGA). The rest of the architecture can operate on a software basis. Note that for each receiver, the functionality of its firmware part (i.e., preprocessing engine) is independent of other receivers’ tracking and navigation states. This greatly simplifies the logical and bookkeeping components of the multiplatform signal implementation. Prior to combining multiplatform signals, onemillisecond functions of supplemental receivers must be adjusted for differences in MUSTER/supplemental navigation and clock states. For the initial consideration we assume that estimates of these differences are accurate enough to adjust and subsequently combine multiplatform signals. This assumption is then revisited by considering cases with uncertain relative navigation and clock states for which we implement algorithmic modifications in order to adequately adjust parameters of multiplatform signals prior to their combination. Adjustments of supplemental onemillisecond functions include compensation for relative differences in code and carrier dimensions. The code dimension is adjusted by shifting onemillisecond autocorrelation functions to compensate for differences in MUSTER/supplemental code phases. This procedure implements a coarse shift followed by a fine adjustment. The coarse step shifts a supplemental autocorrelation function by an integer number of samples. Fine adjustment then compensates for any code phase differences that are beyond the resolution of autocorrelation sampling. Figure 4 illustrates the coarse shift. The adjustment procedure first computes the integer number of samples that corresponds to the relative MUSTER/supplemental code phase and then shifts the supplemental autocorrelation accordingly. The integer number of samples is determined as follows: Equation 1 (see insest photo, above right, for all equations in this article) where: [] is the whole part; Δt is the autocorrelation sampling interval; ΔR_{M/s} is the estimate of the relative MUSTER/supplemental position vector; e is the satellitereceiver lineofsight (LOS) vector that can be computed based on satellite ephemeris (or almanac) and approximate knowledge of the receiver position. Note that for cases where spatial separation of networked receivers stays within 100 meters, a position estimate applied to compute the LOS unit vector need only be known within 200 kilometers to support a onemeter accurate computation of relative code phase; (,) is the vector dot product; c is the speed of light; and, δτ_{M/s} is the estimate of the relative MUSTER/supplemental clock state. The coarse shift allows adjustment of autocorrelation functions, but only within the resolution of their sampling interval. Remaining autocorrelation offsets can still degrade the codetracking performance. To illustrate, for the 0.2microsecond sampling interval (i.e., when the GPS signal is sampled at five megasamplespersecond), the remaining offset is 0.1 microsecond (or 30 meters, equivalently) in the worstcase scenario. Combining two autocorrelation functions with a 30meter offset can significantly degrade the codetracking performance. Therefore, a fine adjustment step is implemented. To derive fine adjustment, a normalized code autocorrelation, r(t), is first expressed as: Equation 2 where T_{chip} is the code chip duration and τ_{0} is the true offset of the received code. Next, Equation (3) is applied to relate the values of the autocorrelation function at τ and τ+δt: Equation 3 Alternatively, an iterative procedure can be applied. In this case, the MUSTER code phase is first estimated using the coarse shift only. This estimate, along with estimates of relative position and clock states, is then used to compute the estimate of the supplemental code phase in Equation (3). Finally, the fine shift is implemented and the code phase estimation is refined. Note that the autocorrelation adjustment procedure is applied for every Doppler frequency shift from the frequency search space. We perform carrier adjustment by adjusting phases of one millisecond accumulated is and qs. Particularly, it can be shown that one millisecond–accumulated complex signal amplitude is expressed as follows: Equation 4 where: φ_{0} and f_{0} are the initial phase and carrier frequency of the incoming signal; f_{k} is the frequency that corresponds to the kth Doppler shift from a onemillisecond Doppler search space; T_{1} and T_{2} are the beginning and end time of a onemillisecond interval, respectively. Correspondingly, onemillisecond is and qs of supplemental receivers are adjusted as follows: Equation 5 where δφ_{M/s} is the difference in initial phase between MUSTER and supplemental receiver, and, δf_{M/s} is the difference in MUSTER/ supplemental Doppler shifts computed as: Equation 6 In (6), ΔV_{M/s} is the relative velocity vector and λ is the carrier wavelength. Equation (7) formulates the phase difference: Equation 7 The third term in Equation (7) compensates for the satellite/ platform LOS motion that occurs between asynchronous sampling of onemillisecond functions at MUSTER and supplemental receivers. When clock synchronization offsets between different platforms exceed 10 milliseconds, the contribution of the third term can exceed a centimeter level, which is critical for maintaining the carrier coherency. Hence, the third term is used to ensure robust operations for a general nonsynchronous clock scenario. Also note that, if networked receivers stay within 100 meters of each other, then for LOS unit vector computations the MUSTER receiver location must be known within one kilometer in order to maintain carrier phase and enable coherent combination of signals from multiple platforms. If such information is not available, then we can still apply a noncoherent combination. Following the adjustment of supplemental onemillisecond functions, MUSTER accumulates them (as well as its own onemillisecond function) beyond the onemillisecond interval. A combined coherent/noncoherent accumulation approach is used. A 20millisecond coherent accumulation is implemented first, which is followed by the optional noncoherent accumulation over an extended interval such as 0.1 second or one second. The advantage of using noncoherent accumulation is the addition of highsensitivity receiver capabilities to MUSTER (without the need to add inertial sensors for accumulation aiding). The apparent drawback is the loss of carrier phase tracking. Note, however, that most prospective applications of MUSTER aim at positioning accuracies on the order of a few meters; so, precise positioning capabilities are not required, and disabling carrier phase tracking does not represent a critical issue. We now add multiplatform accumulation results together (coherently or noncoherently). The result is the combined multiplatform signal image, which is directly applied for the estimation of signal parameters (code and carrier) using the openloop tracking approach.
MultiPlatform Signal Tracking for Uncertain Relative States In exploring such cases, we make the following assumptions: 1) relative position between networked receivers is known only within 100 meters 2) relative receivers’ velocity is known within two meters per second 3) relative clock states are calibrated with an accuracy of 100 nanoseconds or, equivalently, 30 meters accuracy. Note that we do not assume relative clock synchronization at this level of accuracy. Our assumption means that estimates of relative clock biases are accurate within 100 nanoseconds, while biases themselves can stay at a much higher level (for example, at a submillisecond level), and different receiver platforms essentially operate in the asynchronous mode. The foregoing assumptions for relative position and velocity accuracies are supported for the majority of MUSTER applications such as pedestrians (for example, a group of cell phone users), a swarm of unmanned aerial vehicles (UAVs), or a team of unmanned ground vehicles (UGVs). For such cases, users normally stay within 100 meters of each other and their velocity values do not differ by more than two meters per second. Hence, zero relative position and velocity can be simply assumed. We can maintain the 100nanosecond relative clock accuracy by using a communication data link in order to estimate relative clock biases (via twoway ranging). In this case, the “ballpark” calibration accuracy is 10 percent of the data rate. For example, for a onemegahertz link, this results in 100nanosecond accurate estimates of relative clock delays. Alternatively, receivers can incorporate inexpensive but relatively stable clock oscillators (such as ovencontrolled crystal oscillators or OCXOs) that are precalibrated at the beginning of the mission (in benign signal environments) and then maintain the required relative clock accuracy in difficult environments over long periods of time (a few hours). For practical purposes, let’s assume the following scenario: Reasonably spaced networked receivers have unknown relative positions and velocities and lack any external aids. Relative clock biases are estimated using the communication data link or based on precalibrated receiver clocks. For this scenario, a modified MUSTER architecture can efficiently combine weak GPS signals (coherently or noncoherently), mitigate the influence of relative state uncertainty on the tracking accuracy, and enable the overall position estimation that is accurate at a level of a few meters (as test results will show later). We enable carrier phase tracking by adjusting phases of supplemental receivers in order to maximize the combined multiplatform signal energy. Possible phase adjustments are searched through and the maximumenergy adjustment combination is chosen. This is implemented as follows. For a specific set of phase adjustments, the multiplatform signal energy is computed as: Equation 8 where: Y_{MUSTER} is the 20millisecond accumulated complex amplitude of the MUSTER receiver that corresponds to code phase and carrier frequency of the maximumenergy point in the multiplatform signal image constructed using noncoherent accumulation: i.e., 20millisecond MUSTER and supplemental signal images that are added noncoherently, and selected code and frequency values that correspond to the maximum energy point; Y_{sn} is the 20millisecond accumulated complex amplitude of the s_{n}th supplemental receiver (again using complex amplitude for code phase and carrier frequency of the maximum energy point of the noncoherent multiplatform signal image); is the phase adjustment applied to the s_{n}th supplemental receiver; N is the total number of supplemental receivers; and,   is the absolute value. The maximum energy value is searched extensively through all possible combinations of phase adjustments. Due to the cyclic nature of the carrier phase, the adjustments only need to be searched in the range from 0 to 2π. The search is implemented based on matrix multiplication: Equation 9 where M is the number of phase combinations to search through and matrix H contains all possible combinations of phase adjustments, i.e.: Equation 10 In Equation (10), Δφ is the resolution of the phase adjustment search. We determined empirically that the phase search resolution of π/2 is sufficient for consistent carrier phase tracking. After computing the signal energy for all possible phase adjustments, the maximum energy is defined as Equation 11 Its associated signal amplitude, Y_{k*}, is then applied to track the carrier phase (using the openloop tracking method). The apparent drawback of the phaseadjustment approach is that its complexity grows exponentially with the increased number of networked receivers. The carrier phase can still be tracked for relatively small receiver networks, for example those including three or five nodes. For a large number of cooperative receivers, however, the computational burden will prevent the phase tracking capability: i.e., centimeteraccurate ranging ability will be lost. However, in this case, signals from multiple platforms can still be combined noncoherently. As a result, code and carrier frequency can still be tracked efficiently even without compensating for the relative phase difference between networked receivers. For code tracking, the assumed uncertainties in networked receivers’ navigation states do not lead to severe energy losses and still enable accumulation of weak GPS signals from multiple platforms. For instance, a maximum energy loss due to a 100meter position offset is about 3 decibels. Therefore, we do not need to compensate for relative state offsets to maintain efficient accumulation of multiplatform signal energy and support the code and frequency tracking status. Unknown relative states, however, can significantly degrade codetracking quality. For example, the addition of two autocorrelation functions with a 100meter offset between them distorts the autocorrelation shape and introduces significant ranging errors. To illustrate the influence of relative state errors, a simulation scenario was implemented for a threeplatform network as shown in Figure 5. In Figure 5, e_{SV} is the unit vector pointed toward the satellite. Projections of relative MUSTER/supplemental positions on the satellite LOS are 39.2 meters and 33.0 meters for supplemental receivers 1 and 2, respectively. Stationary receivers were simulated. C/A code tracking was implemented with a 20millisecond signal accumulation interval. The carriertonoise ratio (C/N_{0}) was 28 dBHz. The signal processing part assumed zero relative position states. Relative clock calibration errors for both supplemental receivers were set at 20 meters. Figure 6 shows the results of this simulation: MUSTER signal processing still enables consistent code tracking for a 28 dBHz GPS signal, which a single unaided GPS receiver cannot track. However, uncompensated uncertainties in relative position states introduce a ranging bias of 39.5 meters. This simulation example clearly demonstrates that the signal tracking quality is significantly degraded if relative navigation errors are not accounted for. Hence, we developed an algorithm to compensate for uncertainties in relative receivers’ states and enable unbiased tracking of the code phase. This algorithm first estimates unknown relative ranges that are a combined effect of a) projections of relative position uncertainties on the satellite/receiver LOS and b) clock calibration errors. Relative range estimates are then applied to shift supplemental autocorrelation functions before they are added to the MUSTER GPS signal image. Figure 7 illustrates the algorithm that estimates unknown multiplatform ranges. The algorithm finds a shift that needs to be applied to each supplemental autocorrelation in order to maximize the energy in the combined MUSTER/ supplemental signal image. For each range adjustment from the relative range search space, supplemental autocorrelation is shifted correspondingly and then added (noncoherently) to the MUSTER autocorrelation. An energy peak of this combined autocorrelation is defined and stored by the MUSTER software module. As a result, the MUSTER/supplemental signal energy is constructed as a function of the relative range. The maximum of this function corresponds to the correct value of relative range. Theoretically, this function has a triangular shape, wherein the base of the triangle is equal to the double duration of the code chip converted into the units of meters. So, the relative range is estimated by fitting a triangle through the energy function constructed by shifting the supplemental autocorrelation though the relative range search space.
Note that the search space herein is defined by the position uncertainty (100 meters, maximum value) and clock calibration errors (30 meters, one sigma value). Currently a ± 200 meter search is applied with the search resolution grid being equal to 20 meters. In principle, a combined search could be used similar to the carrier phase adjustment search described earlier. However, such an approach requires the use of a multidimensional curve fit, which was found to be unreliable, especially for large receiver networks. Moreover, the computational load of the combined search grows exponentially with the increased number of receiver nodes. Therefore, our approach estimates the relative range for each individual supplemental receiver. In this case, the curve fitting is onedimensional and works reliably; the computational complexity grows only linearly when additional receivers are included. The relative range estimation approach is based on using signals from only two receivers. This obviously increases relative range estimation noise as GPS signals weaken and, consequently, increases the level of noise in code phase measurements. However, code phase measurements are unbiased. To illustrate this latter point, Figure 8 exemplifies simulation results for the threeplatform simulation scenario shown earlier in Figure 5. The noise level increases considerably as compared to the case where relative range differences are not compensated for (see Figure 6): 46.4 meters standard deviation versus 23.2 meters standard deviation, respectively. However, estimation of relative ranges removes the measurement bias: 0.3 meter versus 39.5 meters mean error for compensated and uncompensated cases, respectively. The examples of simulation results shown in Figures 6 and 8 clearly demonstrate the complementary nature of code phase tracking with and without relative range compensation: biased, lower noise versus unbiased, higher noise. Noisy but unbiased measurements can be combined with (relatively) lownoise but biased measurements that occur when relative position errors are not compensated for. The result is a lownoise, unbiased measurement of the code phase. It is also worth mentioning that, as the C/N_{0} level drops, relative range estimates for some receivers can become unreliable, that is, they can have measurement outliers. Such outliers are detected by identifying the estimates that are outside of the relative range search space. Supplemental functions with unreliable relative range estimates are then simply excluded from the overall signal accumulation process. For low C/N_{0} levels, the increased number of outliers (and increased number of associated supplemental functions excluded from signal accumulation from time to time) is balanced by the fact that more receivers are added to the network and a temporary exclusion of one or even several of them does not significantly compromise the overall accumulated signal power. Figure 9 illustrates the overall tracking approach. A difference between biased and unbiased measurements is computed and then smoothed by a Kalman filter. The method also monitors unbiased measurements for possible noise spikes by detecting outliers in the filter innovation sequence. The Kalman filter outputs the estimated bias value, which is then subtracted from biased measurements to produce the final measurement of the code phase. Note that when the relative position and clock states are constant (i.e., for stationary receivers and zero relative clock drifts) the bias in code phase measurements is quasistationary and changes very slowly with changing satellite geometry. For a general case of nonstationary receivers and nonzero relative clock drifts, the bias is kept quasistationary by propagating relative ranges based on Doppler measurements from MUSTER and supplemental receivers. Note also that when Doppler estimates are applied to propagate the relative range, the system noise matrix of the Kalman filter (generally referred to as the Qmatrix) is defined by the covariance of the noise in the Doppler measurements. Figure 10 shows example results for the combined (bias/unbiased) codetracking scheme. For completeness, we modified the threeplatform simulation scenario described previously into a nonstationary case. The network configuration started as shown in Figure 5. Receivers then moved with nonzero velocities respectively set as [2; 1; 0], [3; 2; 0], and [4; 2; 0] meters per second for the MUSTER and two supplemental receivers. The scenario implemented the MUSTER tracking functionality on all three platforms and used Doppler estimates obtained by all three receivers to propagate the relative range estimate from its initial state. Simulation results presented show that the combined tracking approach enables unbiased measurements of the code phase while maintaining a level of noise that is identical to the performance of biased estimation (23.4 meters versus 23.2 meters for two example cases). The approach developed to estimate relative Doppler frequencies is similar to the estimation of the code phase. Figure 11 summarizes the MUSTER tracking architecture developed to incorporate cases of uncertain relative states. Relative navigation states are initialized based on clock calibration results only: zero relative position and velocity are assumed. These initial states are then propagated over time based on MUSTER/supplemental tracking results (Doppler frequency estimates and higher order Doppler terms). We compute code and frequency tracking states by combining biased and unbiased measurements. Biased measurements are obtained by adjusting supplemental signal images for approximately known relative states only. Unbiased measurements are determined by using relative range/Doppler correction algorithms that estimate range and frequency adjustments for each supplemental receiver. The Kalman filter that supports the optimal combination of biased and unbiased tracking measurements also includes codecarrier smoothing to mitigate noise in measured code phase. For those cases that coherently combine multiplatform signals, MUSTER uses a standard carrier phase smoothing approach When noncoherent signal combinations are involved, a “pseudo”–carrier phase is first derived by integrating Doppler estimates over time and then applied to smooth the code phase.
Experimental Results As shown in the upper image in Figure 12, the setup established three receiver nodes at roof, rack, and cart locations. The roof and rack nodes remained stationary for all test scenarios, while the cart has the ability to move in order to test dynamic cases. Each node in the data collection setup includes a pinwheel GPS antenna, a radiofrequency (RF) frontend, an external clock for the frontend stabilization, and a data collection computer. The lower image in Figure 12 shows this equipment in the cart node. Figure 13 portrays the data collection environment for our tests. We performed two scenarios that included static and dynamic (Lshape motion trajectory) tests. As shown in the figure, the tests established a significant separation (on the order of 100 meters) between individual nodes. GPS signal sampling for individual nodes was performed completely independently from each other, thus implementing a truly asynchronous receiver network in order to test the most generic case of MUSTER functionality. For data collection, we focused on selection and implementation of a lowcost frontend option, using a networkable software radio board containing an FPGA, dual analog/digital and digital/analog converters, and gigabit Ethernet connectivity. Analysis of signal tracking results for individual nodes indicated that the board’s native clock was not stable enough for MUSTER purposes. (It exhibited clock drift variations on the order of five meters per second, which prevents reliable multiplatform signal accumulation.) Consequently, we augmented data collection with a clockstabilization option, initially using atomic clocks. However, lowercost OCXOs would also be sufficient to enable reliable clock stabilization for multiplatform tracking purposes. Prior to multinode signal processing, receiver clock states of individual nodes were initialized using a singlenode tracking of open sky GPS signals. These clock estimates were then applied to initialize relative clock state for MUSTER tracking. The test system collected raw GPS signal samples for all three nodes and stored them in the laptop computer for postprocessing. We considered two options for GPS signal attenuation: software injection of broadband noise and natural signal attenuation by surrounding trees and buildings at the test location. Figure 14 illustrates the approach applied for the evaluation of MUSTER tracking performance using the first option. Here, softwaregenerated broadband noise was injected into raw GPS signal samples to demonstrate performance in a controlled signal attenuation environment. In this option, after using software to inject noise into opensky GPS satellite transmissions, the multiplatform tracking architecture processed the attenuated signals. We also conducted singlenode tracking of opensky signals in order to generate reference tracking measurements (code and carrier phase). Multiplatform tracking errors were computed as differences between MUSTER tracking results and reference tracking data. Figures 15 and 16 provide results for static and dynamic test cases, respectively, in which coherent signal integration was applied. For both test cases the GPS signal was attenuated to a level below the tracking threshold of a single node GPS receiver (which corresponds to the C/value of 32 dBHz). Multiplatform tracking was performed with a 28 dBHz signal for the static case and 29 dBHz for the dynamic case. The results demonstrated reliable multinode code and carrier phase tracking of attenuated GPS signals. The results further show carrier phase accuracy at the subcentimeter level. Specifically, carrier phase errors are estimated as 0.3 millimeter (mean) and 8.4 millimeters (sigma) for the static case and 0.1 millimeter (mean) and 8.1 millimeters (sigma), for the dynamic case. Errors in carriersmoothed code measurements generally stay at a level of a few meters with steadystate errors not exceeding six meters. Figures 17 through 20 show example test results for the case where we applied a combined coherent/noncoherent signal accumulation scheme. In these examples, single node signals are first accumulated coherently over 20 milliseconds, followed by noncoherent accumulation over 0.1 second. Single node– accumulation results are then noncoherently added to enable MUSTER signal tracking. The use of extended noncoherent accumulation enables tracking of much weaker GPS signals (as compared to the 20millisecond coherent accumulation). This combines MUSTER and highsensitivity receiver capabilities but leads to the loss of the carrier phase tracking status. However, as mentioned previously, for many applications of MUSTER (such as indoor LBS), precise positioning is not required and loss of the carrier phase is not critical. For the test examples presented here, GPS signals were attenuated to the level of 1518 dBHz, which is generally experienced in very difficult environments, such as urban canyons and indoors. (See the articles by A. Soloviev et alia and G. Lachapelle et alia in Additional Resources for more details on these difficult environments). All test scenario results (including static and dynamic cases) demonstrate reliable multiplatform code tracking. Note that the carriersmoothed code for cases of very weak GPS signals generally required a longer convergence period (60 seconds or longer). Once the convergence was achieved, code phase errors stayed at a level of a few meters. Figure 21 shows test results for the second signalattenuation option where natural signal propagation obstacles were present. In this case, a complete position solution was derived from the five highestelevation satellites for a loop test trajectory. We chose a trajectory in which selected portions were close to trees, buildings, and a metal container — thus creating a GPSdegraded test. Figure 21 compares trajectory reconstruction results (shown in Google Earth) for cases of singlenode and multinode signal processing. For both cases, we implemented a 20millisecond signal accumulation and estimated the position solution from carriersmoothed code measurements. As shown in Figure 21, discontinuities are present in the singlenode solution, while MUSTER signal tracking maintains consistent position estimates. Using Google Earth tools, we determined that worstcase singlenode position errors are in the range of 10–20 meters, while multinode signal processing supports meterlevel positioning accuracy. The test results validate the MUSTER tracking functionality with experimental data and show the efficacy of the approach for the processing of weak GPS signals.
Conclusions The discussion introduced algorithmic approaches of multiplatform signal tracking and a methodology that specifically addresses cases where relative navigation states (i.e., position, velocity, and clock) between individual receiver nodes contain large uncertainties (e.g., 100meter position uncertainty). Test results demonstrate multiplatform tracking (including code and carrier phase) of weak signals for individual satellite channels applying softwarebased signal attenuation. Future work will further evaluate multinode signal tracking for challenging GPS signal scenarios such as indoors. The MUSTER tracking functionality (currently being evaluated in postprocessing) will also be implemented and demonstrated in a realtime operational mode.
Acknowledgment
Additional Resources ManufacturersThe MUSTER frontend used a USRP (Universal Software Radio Peripheral) N200 board from Ettus Research, Mountain View, California. The GPS antenna was a GPS701GG from NovAtel Inc., Calgary, Alberta, Canada. Matlab software from The Mathworks, Inc., Natick, Massachusetts, USA, was used to process the results.Copyright © 2017 Gibbons Media & Research LLC, all rights reserved. 
