System and method for multi-track environmental fault monitoring for aerial platforms

A method for multi-track environmental fault monitoring for aerial platforms includes estimating a normalized squared residual error (NSRE) for each of one or more satellite-receiver tracks over time. The method also includes determining an averaged NSRE for each satellite-receiver track by averaging the NSRE over multiple time windows. The method further includes performing a threshold test on the averaged NSRE to determine a filter state. In addition, the method includes determining whether to apply a scale factor for each satellite-receiver track based on the filter state.

TECHNICAL FIELD

This disclosure is directed in general to navigation systems. More specifically, this disclosure relates to a system and method for multi-track environmental fault monitoring for aerial platforms.

BACKGROUND

The use of the Global Positioning System (GPS) or other Global Navigation Satellite System (GNSS) for safety-critical, high-availability air navigation missions can be challenging due to the potential presence of increased multipath caused by blockage. Multipath occurs when GNSS satellite signals reflect off different surfaces before reaching the GNSS receiver. Since GNSS positioning is based on the relative timing between when the signal was sent from the satellite to when it was received by the receiver, signals that travel indirect routes to the receiver result in additional time spent to get to the receiver, which ultimately manifests as positioning error.

SUMMARY

This disclosure provides embodiments of a system and method for multi-track environmental fault monitoring for aerial platforms.

In a first embodiment, a method includes estimating a normalized squared residual error (NSRE) for each of one or more satellite-receiver tracks over time. The method also includes determining an averaged NSRE for each satellite-receiver track by averaging the NSRE over multiple time windows. The method further includes performing a threshold test on the averaged NSRE to determine a filter state. In addition, the method includes determining whether to apply a scale factor for each satellite-receiver track based on the filter state threshold test.

In a second embodiment, a device includes at least one processor configured to estimate a NSRE for each of one or more satellite-receiver tracks over time. The at least one processor is also configured to determine an averaged NSRE for each satellite-receiver track by averaging the NSRE over multiple time windows. The at least one processor is further configured to perform a threshold test on the averaged NSRE to determine a filter state. In addition, the at least one processor is configured to determine whether to apply a scale factor for each satellite-receiver track based on the filter state threshold test.

In a third embodiment, a non-transitory computer readable medium contains instructions that when executed cause at least one processor to estimate a NSRE for each of one or more satellite-receiver tracks over time. The medium also contains instructions that when executed cause the at least one processor to determine an averaged NSRE for each satellite-receiver track by averaging the NSRE over multiple time windows. The medium further contains instructions that when executed cause the at least one processor to perform a threshold test on the averaged NSRE to determine a filter state. In addition, the medium includes instructions that when executed cause the at least one processor to determine whether to apply a scale factor for each satellite-receiver track based on the filter state threshold test.

DETAILED DESCRIPTION

For simplicity and clarity, some features and components are not explicitly shown in every figure, including those illustrated in connection with other figures. It will be understood that all features illustrated in the figures may be employed in any of the embodiments described. Omission of a feature or component from a particular figure is for purposes of simplicity and clarity and is not meant to imply that the feature or component cannot be employed in the embodiments described in connection with that figure. It will be understood that embodiments of this disclosure may include any one, more than one, or all of the features described here. Also, embodiments of this disclosure may additionally or alternatively include other features not listed here.

As discussed above, the use of GPS or GNSS for safety-critical, high-availability air navigation missions can be challenging due to the potential presence of increased multipath caused by blockage. Multipath occurs when GNSS satellite signals reflect off different surfaces before reaching the GNSS receiver. Since GNSS positioning is based on the relative timing between when the signal was sent from the satellite to when it was received by the receiver, signals that travel indirect routes to the receiver result in additional time spent to get to the receiver, which ultimately manifests as positioning error.

Blockage induced multipath error occurs when blockage on the receiver's direct line of sight to a satellite prevents the receiver from receiving signals directly; instead, some or all signals from the satellite are received indirectly through multipath. Such blockages can occur through obstacles such as the aircraft's wings and tail. This type of fault poses a significant threat to integrity and sigma bounding, causes safety concerns to precision navigation and landing, and must be properly mitigated. Without such mitigation, the risk of using Hazardously Misleading Information (HMI) in the position solution may be elevated, causing a threat to navigational safety and integrity. Mitigation is especially important during the automatic landing phase of flight, where clearances and tolerances are low, and chances for responding to unexpected events are limited. Vertical Integrity Alert Limits (VAL) for a land-based CAT-III or equivalent automatic landing are as low as ˜4.0 meters for landing, 10 meters at one-half nautical mile for CAT-I Precision Approach (PA), 20 meters for APV-II, 35 meters for LPV 200, and 50 meters for LPV/APV-I.

This disclosure provides embodiments of a system and method for multi-track environmental fault monitoring for aerial platforms. Among other things, the disclosed embodiments mitigate the integrity threat caused by excessive airborne blockage induced multipath error, thereby maintaining integrity and navigation safety. In some embodiments, the disclosed systems and methods can be used for a number of commercial or defense-related applications, such as commercial or defense-related helicopters, drones, or other aerial vehicles. While not specifically listed here, any other suitable applications are within the scope of this disclosure.

FIG.1illustrates an example system100for processing geospatial positioning data according to this disclosure. In some embodiments, the system100can include or be part of a Local Area Augmentation System (LAAS), a Ground Based Augmentation System (GBAS), or a sea-based Precision Approach and Landing System (PALS). However, the system100can include or be a part of any other suitable system(s). As shown inFIG.1, the system100includes a plurality of GNSS receivers116-122, which may be located in an area around an airport or another suitable location. The GNSS receivers116-122are configured to receive geospatial positioning data from GNSS satellites104-112, which are configured to generate or otherwise provide geospatial positioning data.

The GNSS receivers116-122send measurements to a processing facility114, which uses these measurements to formulate differential corrections and error bounds for the GNSS satellites104-112, which are tracked by the GNSS receivers116-122. Each of the GNSS receivers116-122may be precisely surveyed, enabling the processing facility114to determine errors in geospatial positioning signals being received from the GNSS satellites104-112by the GNSS receivers116-122. Satellite and receiver measurements can be monitored for potential faults, and measurements with detected faults can be removed from the differential corrections. The processing facility114transmits these differential corrections, error bounds, ranging measurements, and other approach guidance information to a rover, such as an aircraft128, via any suitable technique. In some cases, the information can be transmitted using a VHF Data Broadcast (VDB) or UHF Data Broadcast (UDB)126transmitted by a VDB/UDB station124.

In some embodiments, the aircraft128can include an environmental fault monitor (EFM)130. The EFM130is a type of integrity monitor provided for detecting and mitigating integrity threats to maintaining end-to-end navigation safety. In some embodiments, the EFM130can be a part of or include the airborne sigma monitor, which is responsible for ensuring the overbound of the modeled sigma for the receiver pseudorange code noise, carrier phase, and multipath measurement errors. The values of these modeled sigmas are based on an integrity allocation such that integrity is maintained by default. The sigma monitor ensures that significantly faulted receivers or receivers with significant potential for causing HMI are detected within the exposure time used to determine the a priori fault probability that the integrity allocation is based on. Lesser receiver faults are also detected (that only impose a minor increased probability of HMI), but have a longer exposure time.

As discussed in greater detail below, the EFM130uses squared differences between essential observables to detect tracks that have inflated error levels. By modelling the error as a sum of Gaussian and Gauss-Markov processes, the EFM130uses novel threshold equations that indicate when the squared differences are larger than expected, thus triggering scale factor generation. Short term averaging time windows allow a fast response time to the onset of a fault event, which then transitions to a long term time window that provides an estimate that is more sensitive to subtle errors.

The EFM130is capable of mitigating blockage induced excessive multipath error across all satellites, including blockage induced per-track multipath error. Per-track monitoring is more sensitive and responds faster to the onset of a fault event than a traditional spatial bin approach. In some embodiments, the EFM130can be configured to operate with platforms having different numbers of GNSS receivers116-122. For example, the EFM130can operate with platforms having a single GNSS receiver116-122, or with platforms having two or more GNSS receivers116-122. In some embodiments, the EFM130uses time difference to enable environmental fault monitoring with a single GNSS receiver116-122.

The EFM130considers excessive multipath errors that can occur on a GNSS receiver116-122. For example, excessive multipath can be caused by blockages from external obstacles located around the receiver. The EFM130is able to deweight some faulty measurements, if the measurement degradation is not too severe, such that these degraded measurements are still used in the final navigation solution, instead of discarding them altogether. In some embodiments, the EFM130mitigates the blockages and maintains integrity by monitoring the multipath error and increasing the scale factor to ensure that the measurement error sigma overbounds, or if the error is extremely excessive, by excluding the single measurement. The EFM130includes any suitable hardware or hardware and firmware/software instructions to maintain integrity and protect a navigation system against environmental faults.

AlthoughFIG.1illustrates one example of a system100for processing geospatial positioning data, various changes may be made toFIG.1. For example, the system100may include any number of satellites104-112or GNSS receivers116-122. Also, various components in the system100may be combined, further subdivided, replicated, rearranged, or omitted and additional components may be added according to particular needs. In addition, whileFIG.1illustrates one example operational environment in which geospatial positioning data can be processed, this functionality may be used in any other suitable system.

FIG.2illustrates an example process200for multi-track environmental fault monitoring for aerial platforms according to this disclosure. For ease of explanation, the process200is described as being performed using the EFM130in the system100ofFIG.1. However, the process200may involve the use of any suitable device(s) in any suitable system(s).

Using the process200, the EFM130can detect and mitigate blockage induced excessive divergence free smoothed pseudorange error in the aircraft for each individual GNSS receiver116-122. The EFM130looks for satellite tracks on each GNSS receiver116-122encountering increased noise or multipath due to environmental conditions, e.g., blockages. The EFM130then applies a scale factor greater than one to the sigma to ensure high integrity in the final navigation solution. There are two variants of the process200: one for air platforms with a single GNSS receiver116-122, and another for air platforms with two or more GNSS receivers116-122. The variants differ in that, for the single receiver, the EFM130estimates the excessive multipath error through a time difference in measurements, while for two or more receivers, the EFM130estimates the excessive multipath error through a single difference between two GNSS receivers116-122. This is described in greater detail below.

As shown inFIG.2, both variants of the process200share multiple common operations. First, at step210, the EFM130uses satellite track measurements202obtained over time to estimate a normalized squared residual error (NSRE)212. This operation is described in greater detail below for each of the two EFM variants. At step220, the EFM130performs NSRE averaging, in which the NSRE212is passed through several window averaging filters in parallel, which are used to find the averaged NSRE222over defined sample time windows (sample time=τw). At step230, the EFM130performs a threshold test against the averaged NSRE222to determine one of the following filter states232: no data, good, pass, degraded, and fail. At step240, the EFM130uses the resulting filter state232from the threshold test to determine whether to apply a scale factor242, and to determine the magnitude of the scale factor242to apply in order to maintain the ranging measurement error sigma bound if necessary.

In some embodiments, the EFM130can include flight dynamics screening, which places the window averaging filters on hold during periods of high flight dynamics that do not represent typical approach conditions. This mechanism is based on a screening flag that is generated at the input interface of the EFM130based on aircraft attitude and passed to the window averaging filters.

For the single-receiver variant of the process200, the EFM130first forms a multipath error observable by subtracting the divergence-free carrier phase from its corresponding pseudorange combination, e.g., L1 divergence free carrier phase and L1 pseudorange, or wide lane carrier phase and narrow lane pseudorange. Next, the difference is subtracted from its time-delayed version, forming the multipath error observable. The first difference cancels the time-of-flight term in the ranging measurement while keeping the phase ambiguity term. The time difference, while keeping the bulk of the pseudorange error (partial error cancellation can happen due to time correlation of measurement errors), removes the carrier phase ambiguity, forming a proper multipath error observable. This multipath error observable is then normalized by its associated nominal error sigma, leading to a normalized residual error (NRE). The NSRE212is the square of the NRE. In some embodiments, the NSRE212can be determined according to the following:

NSREk=[(PRk+d-CPk+d)-(PRk-CPk)]2σPR,k+d2-2*cov⁡(PRk+d,PRk)+σPR,k2+σCP,k+d2-2*cov⁢(CPk+d,CPk)+σCP,k2-2*cov⁢(PRk+d-PRk,CPk+d-CPk)
where PR is the pseudorange forming a divergence-free smoothing conjugate pair with CP; CP is the carrier phase, forming a divergence-free smoothing conjugate pair with PR; σPRand σCPare the PR and CP measurement sigmas, respectively; k is the current epoch index; and d is the time delay index offset.FIG.3Aillustrates a graphical representation of the NSRE estimation in step210for the single-receiver variant according to this disclosure.

As described previously, the NSRE212is the normalized squared residual error, which is an indicator of any excessive amount of error above its nominal behavior. Note that the carrier phase variances can be excluded in the normalizing denominator, which allows a slightly conservative overestimation of the NSRE212. The pseudorange and carrier phase are divergence-free smoothing (DFS) conjugate pairs, for example narrow-lane pseudorange and wide-lane phase. The σPRin this context refer to the corresponding DFS conjugate pseudorange sigma based on its thermal noise, multipath, and antenna bias error components, which are dependent on time and smoothing maturity.

For the two-or-more-receiver variant of the process200, the EFM130first extracts the smoothed pseudorange error by differencing the smoothed pseudorange between the receiver track pair for a given satellite. Next, the EFM130subtracts the receiver bias from the smoothed pseudorange error to ensure that only the unmodelled error remains. The denominator contains the expected nominal variance corresponding to the smoothed pseudorange observable in the numerator, in order to normalize it. A cross-correlation term accounts for the correlation between the two receiver tracks, multiplied by an elevation-dependent correlation coefficient. The cross-correlation between receiver tracks in different clusters, as well as cycle slip missed detection errors on the smoothed pseudorange, are also accounted for by their corresponding terms. For a receiver track pair m and n, and with frequencies y, using inputs from all satellites i in view, the NSRE212can be determined according to the following:

NSR⁢Emn,y,i=(y,mi-y,ni-Δ⁢R⁢By,mn)2(σ,y,mi)2-ρσ,y,mi⁢σ,y,ni+(σ,y,ni)2+(σatt,mni)2+min⁢(σdf⁢_⁢cs,mi,σdf⁢_⁢cs,ni)2
whereis the smoothed pseudorange; ΔRB is the receiver clock bias, which is the frequency clock differential on y from receiver m to n estimated at time t;is the smoothed pseudorange sigma; ρ is an elevation-dependent correlation coefficient based on the average elevation of satellites m and n; σattaccounts for the aircraft attitude estimation error; σdf_csis the error sigma overbound of the smoothed pseudorange error due to cycle slip missed detection for a receiver track; mn is the receiver pair of interest; y is the frequency (e.g., L1/L2 for GPS measurements); and i is the satellite SVID (e.g., 1-32 for the GPS constellation) or set of active satellites.FIG.3Billustrates a graphical representation of the NSRE estimation in step210for the two-or-more-receiver variant according to this disclosure.
Step220: NSRE Averaging

After the NSRE212is calculated, the EFM130enters the window averaging filters that are used to find the averaged NSRE222over defined sample time windows, where the sample time=τw. Several of these filters process in parallel, with each filter corresponding to a different sample time corresponding to long and short term time windows. In some embodiments, the filter weights the average according to the number of independent samples input and averages over time until τwis reached. The EFM130then smoothly transitions to a lag filter with a time constant equal to the sample window time. The outputs include the averaged NSRE222(also represented herein asNSRE), the average number of samples used (N), and the estimated number of independent samples over time (Nsamp) using the correlation time of the residuals.

Filter processing follows a standard window averaging filter to compute the averaged NSRE222based on different values of τw. A typical implementation includes initialization logic that prevents corruption of the filter before data arrives, along with flight dynamics screening to place the filters on hold during periods of high dynamics that do not represent typical approach conditions. The filter is designed to run each epoch (Δt seconds) with or without residual data input. Each satellite track (i.e., receiver/satellite pair) is treated independently in order to determine the problem track later in processing. Filter processing occurs frequency×windows×receivers×satellites number of times.

Step230: Threshold Testing

Following filter processing, the EFM130performs the threshold test to determine the filter state232. A typical implementation involves comparing each averaged NSRE222from the window filters to a series of increasing threshold values to assign the filter state232according to where the NSRE222falls in the series of threshold values. In some embodiments, the following conditions can apply:No data: No data has been processed; this condition can occur during track initialization before data arrives.Good:NSRE<thgood, measurements are nominal and no excessive multipath errors have been detected. The Good condition can be used for hysteresis reasons (e.g., once a track is degraded, the average NSRE needs to fall below thgoodto be declared nominal again).Pass: thgood≤NSRE<thpass, measurements are nominal, and tolerable amounts of excessive multipath errors have been detected that do not require a scale factor242.Degraded: thpass≤NSRE<thfail, excessive multipath errors have been detected that require a scale factor242to maintain high integrity.Fail:NSRE≥thfail, multipath errors detected are extreme and the track should be excluded from being used in the navigation solution.

The thresholds may be set based onNand Nsamp. The thresholds increase in magnitude in order of severity, thus thgood<thpass<thfail. In some embodiments, original equations based on the first-order Gauss-Markov error process are used to determine the thresholds.FIG.3Cillustrates an example process300for derivation and tuning of the thresholds used in the threshold testing of step230according to this disclosure.

After the threshold test but before the averaging filter states232are actually assigned, isolation and elimination logic is carried out for the two-or-more-receiver case. In some embodiments, the EFM130includes logic that attempts to determine the faulted track if possible, and remove it from (or inflate the measurement sigma for use in) the subsequent navigation solution. The EFM130can perform isolation logic first to determine the residual error statistics for the individual tracks from the pairwise receiver track errors. This can be achieved by setting up an over-determined set of equations, and solving the least squares problem for the averaged NSRE222for each track, given the averaged NSRE222of receiver track pair mn, and weighted based on the product ofNand Nsamp. Note that the isolation logic is performed on measurements merged between individual frequencies (e.g., L1 and L2 for GPS measurements).

After performing isolation logic, the EFM130performs elimination logic to check the filter states232from the threshold test. In some embodiments, if the threshold tests result in degraded or failed filter states, then the receiver track with the worst error statistics is identified. Receiver tracks with failed filter states are removed, tracks with degraded filter states get a scale factor, and the rest of the pairs are put through this same process until all remaining receiver track pairs are good, or only two remain, in which both must be assumed to be degraded. The filter state232for an individual receiver track is the most conservative filter state that occurs among all receiver track pairs of which the GNSS receiver116-122is a member.

Step240: Scale Factor Determination

The EFM130calculates the scale factor242to ensure that the error sigma inflated by the scale factor242conservatively overbounds the actual track measurement error. This is typically determined based on the filter states232. Using the filter states232, the EFM130sets the scale factor242(SF) to, for example:SF=1 (no inflation) if there is no data in the filter;

S⁢F=1⁢or⁢S⁢F=N⁢S⁢R⁢E_,whichever is less

(i.e.,S⁢F=min⁡(1,N⁢S⁢R⁢E_)),if the filter state232is better than degraded;SF=1 or SF=K*NSRE, where K is an adjustment factor based on continuity requirements, whichever is more (i.e., SF=max(1, K*NSRE)), if the filter state232is degraded or worse. The real time scale factor inflation bounds any ranging measurement error with high integrity.

AlthoughFIG.2illustrates one example of a process200for multi-track environmental fault monitoring for aerial platforms, various changes may be made toFIG.2. For example, while shown as a series of steps, various steps inFIG.2may overlap, occur in parallel, occur in a different order, or occur any number of times.

FIG.4illustrates an example device400for multi-track environmental fault monitoring for aerial platforms according to this disclosure. One or more instances of the device400may, for example, be used to at least partially implement the functionality of the EFM130ofFIG.1. However, the functionality of the EFM130may be implemented in any other suitable manner.

As shown inFIG.4, the device400denotes a computing device or system that includes at least one processing device402, at least one storage device404, at least one communications unit406, and at least one input/output (I/O) unit408. The processing device402may execute instructions that can be loaded into a memory410. The processing device402includes any suitable number(s) and type(s) of processors or other devices in any suitable arrangement. Example types of processing devices402include one or more microprocessors, microcontrollers, digital signal processors (DSPs), application specific integrated circuits (ASICs), field programmable gate arrays (FPGAs), or discrete circuitry.

The memory410and a persistent storage412are examples of storage devices404, which represent any structure(s) capable of storing and facilitating retrieval of information (such as data, program code, and/or other suitable information on a temporary or permanent basis). The memory410may represent a random access memory or any other suitable volatile or non-volatile storage device(s). The persistent storage412may contain one or more components or devices supporting longer-term storage of data, such as a read only memory, hard drive, Flash memory, or optical disc.

The communications unit406supports communications with other systems or devices. For example, the communications unit406can include a network interface card or a wireless transceiver facilitating communications over a wired or wireless network. The communications unit406may support communications through any suitable physical or wireless communication link(s).

The I/O unit408allows for input and output of data. For example, the I/O unit408may provide a connection for user input through a keyboard, mouse, keypad, touchscreen, or other suitable input device. The I/O unit408may also send output to a display or other suitable output device. Note, however, that the I/O unit408may be omitted if the device400does not require local I/O, such as when the device400can be accessed remotely.

In some embodiments, the instructions executed by the processing device402can include instructions that implement the functionality of the EFM130. For example, the instructions executed by the processing device402can include instructions for multi-track environmental fault monitoring for aerial platforms as described above.

AlthoughFIG.4illustrates one example of a device400for multi-track environmental fault monitoring for aerial platforms, various changes may be made toFIG.4. For example, computing devices and systems come in a wide variety of configurations, andFIG.4does not limit this disclosure to any particular computing device or system.

FIG.5illustrates an example method500for multi-track environmental fault monitoring for aerial platforms according to this disclosure. For ease of explanation, the method500is described as involving the process200ofFIG.2and being performed using the EFM130in the system100ofFIG.1. However, the method500may be used with any other suitable device or system.

As shown inFIG.5, a NSRE for each of one or more satellite receivers is estimated over time using multiple satellite track measurements at step502. This may include, for example, the EFM130performing step210ofFIG.2to estimate the NSRE212for one or more GNSS receivers116-122over time using multiple satellite track measurements202. An averaged NSRE for each satellite-receiver track is determined at step504by averaging the NSRE over multiple time windows. This may include, for example, the EFM130performing step220ofFIG.2to determine the averaged NSRE222by averaging the NSRE212over multiple time windows.

A threshold test is performed on the averaged NSRE to determine a filter state at step506. This may include, for example, the EFM130performing step230ofFIG.2on the averaged NSRE222to determine a filter state232. It is determined whether to apply a scale factor for each satellite-receiver track based on the filter state at step508. This may include, for example, the EFM130performing step240ofFIG.2to determine whether to apply a scale factor242based on the filter state232. The scale factor is calculated at step510. This may include, for example, the EFM130performing step240ofFIG.2to calculate the scale factor242.

AlthoughFIG.5illustrates one example of a method500for multi-track environmental fault monitoring for aerial platforms, various changes may be made toFIG.5. For example, while shown as a series of steps, various steps shown inFIG.5may overlap, occur in parallel, occur in a different order, or occur multiple times. Also, some steps may be combined or removed and additional steps may be added according to particular needs.

As discussed herein, the EFM130addresses one of the four major integrity failure modes (i.e., receiver faults, ephemeris faults, severe ionospheric gradients, and environmental faults) in sea-based approach and landing systems, land-based (fixed site or mobile) approach and landing of Unmanned Aerial Vehicles (UAVs), or civil CAT-III operations. The EFM130can also address a major failure mode for land-based approach and landing systems when operating a base station remote from runways.

The EFM130can be implemented in a wide range of applications, including but not limited to, landing an aircraft (e.g., a jet, helicopter, UAVs, and the like) on a moving platform (e.g., an aircraft carrier, an LH amphibious ship, an oil drilling platform, and the like); precision approach and landing for manned aircraft and drones at vertiports; fixed site or expeditionary/tactical approach and landing systems; foreign military GBAS; and civil GBAS automatic landing operations (CAT-III).

The following describes example embodiments of this disclosure that implement or relate to multi-track environmental fault monitoring for aerial platforms. However, other embodiments may be used in accordance with the teachings of this disclosure.

In a first embodiment, a method includes estimating a NSRE for one or more satellite receivers over time using multiple satellite track measurements. The method also includes determining an averaged NSRE by averaging the NSRE over multiple time windows. The method further includes performing a threshold test on the averaged NSRE to determine a filter state. In addition, the method includes determining whether to apply a scale factor based on the filter state.

In a second embodiment, a device includes at least one processor configured to estimate a NSRE for one or more satellite receivers over time using multiple satellite track measurements. The at least one processor is also configured to determine an averaged NSRE by averaging the NSRE over multiple time windows. The at least one processor is further configured to perform a threshold test on the averaged NSRE to determine a filter state. In addition, the at least one processor is configured to determine whether to apply a scale factor based on the filter state.

In a third embodiment, a non-transitory computer readable medium contains instructions that when executed cause at least one processor to estimate a NSRE for one or more satellite receivers over time using multiple satellite track measurements. The medium also contains instructions that when executed cause the at least one processor to determine an averaged NSRE by averaging the NSRE over multiple time windows. The medium further contains instructions that when executed cause the at least one processor to perform a threshold test on the averaged NSRE to determine a filter state. In addition, the medium includes instructions that when executed cause the at least one processor to determine whether to apply a scale factor based on the filter state.

Any single one or any suitable combination of the following features may be used with the first, second, or third embodiment. The scale factor may be calculated after determining to apply the scale factor. Estimating the NSRE for one satellite receiver may include forming a multipath error observable by subtracting a divergence-free carrier phase from its corresponding pseudorange combination, e.g., L1 divergence free carrier phase and L1 pseudorange, or wide lane carrier phase and narrow lane pseudorange to form a difference and subtracting the difference from a time-delayed version; normalizing the multipath error observable by an associated nominal error sigma to form a normalized residual error (NRE); and estimating the NSRE as a square of the NRE. Estimating the NSRE for multiple satellite receivers may include determining a smoothed pseudorange error by differencing a smoothed pseudorange between a receiver track pair for a given satellite; and subtracting a receiver bias from the smoothed pseudorange error. Determining the averaged NSRE may include using multiple window averaging filters to determine the averaged NSRE. Each of the window averaging filters may correspond to a different time window. Performing the threshold test on the averaged NSRE to determine the filter state may include comparing the averaged NSRE to a series of increasing threshold values; and selecting the filter state based on where the averaged NSRE falls in the series of increasing threshold values. The filter state may be selected from a group consisting of: no data, good, pass, degraded, and fail.