navdata (gnss_lib_py.navdata.navdata.NavData) – NavData of GNSS measurements which must include the satellite
positions: x_sv_m, y_sv_m, z_sv_m and residuals
residuals_m.
receiver_state (gnss_lib_py.navdata.navdata.NavData) – Reciever state that must include the receiver’s state of:
x_rx_wls_m, y_rx_wls_m, and z_rx_wls_m.
navdata (gnss_lib_py.navdata.navdata.NavData) – NavData of GNSS measurements which must include the satellite
positions: x_sv_m, y_sv_m, z_sv_m and residuals
residuals_m.
receiver_state (gnss_lib_py.navdata.navdata.NavData) – Reciever state that must include the receiver’s state of:
x_rx_wls_m, y_rx_wls_m, and z_rx_wls_m.
Returns:
normalized_residual – Array of the normalized residual for each satellite.
The row designated in the fault_truth_row variable must indicate
ground truth faults according to the following convention.
A value of 1 indicates a fault and 0 indicates no fault. 2 indicates
an unknown fault status usually due to lack of necessary columns or
information.
Measurements that are returned as “unknown” (fault=2) by the fault
detection method are excluded from all accuracy scores.
navdata (gnss_lib_py.navdata.navdata.NavData) – NavData of GNSS measurements which must include the satellite
positions: x_sv_m, y_sv_m, z_sv_m, b_sv_m as
well as the time row gps_millis and the corrected
pseudorange corr_pr_m.
Additionally, the ground truth fault row must exist as indicated
by the fault the fault_truth_row variable.
method (string) – Method for fault detection and exclusion either “residual” for
residual-based or “edm” for Euclidean Distance Matrix-based.
fault_truth_row (string) – Row that indicates the ground truth for the fault status. This
row is used to provide results on how well each method performs
at fault detection and exclusion.
time_fde (bool) – Additional debugging info added like timing.
verbose (bool) – Prints extra debugging print statements if true.
Returns:
metrics (dict) – Combined metrics that were computed.
navdata (gnss_lib_py.navdata.navdata.NavData) – Resulting NavData from solve_fde().
Euclidean distance matrix-based fault detection and exclusion.
See [1] for more detailed explanation of algorithm.
Parameters:
navdata (gnss_lib_py.navdata.navdata.NavData) – NavData of GNSS measurements which must include the satellite
positions: x_sv_m, y_sv_m, z_sv_m, b_sv_m as
well as the time row gps_millis and the corrected
pseudorange corr_pr_m.
max_faults (int) – Maximum number of faults to detect and/or exclude.
threshold (float) – Detection threshold.
time_fde (bool) – If true, will time the fault detection and exclusion steps and
return that info.
verbose (bool) – Prints extra debugging print statements if true.
Returns:
navdata (gnss_lib_py.navdata.navdata.NavData) – Result includes a new row of fault_edm where a
value of 1 indicates a detected fault and 0 indicates that
no fault was detected, and 2 indicates an unknown fault status
usually due to lack of necessary columns or information.
timing_info (dict) – If time_fde is true, also returns a dictionary of the compute
times in seconds for each iteration.
navdata (gnss_lib_py.navdata.navdata.NavData) – NavData of GNSS measurements which must include the satellite
positions: x_sv_m, y_sv_m, z_sv_m, b_sv_m as
well as the time row gps_millis and the corrected
pseudorange corr_pr_m.
max_faults (int) – Maximum number of faults to detect and/or exclude.
threshold (float) – Detection threshold.
time_fde (bool) – If true, will time the fault detection and exclusion steps and
return that info.
verbose (bool) – Prints extra debugging print statements if true.
Returns:
navdata (gnss_lib_py.navdata.navdata.NavData) – Result includes a new row of fault_residual where a
value of 1 indicates a detected fault and 0 indicates that
no fault was detected, and 2 indicates an unknown fault status
usually due to lack of necessary columns or information.
timing_info (dict) – If time_fde is true, also returns a dictionary of the compute
times in seconds for each iteration.
Detects and optionally removes GNSS measurement faults.
Individual fault detection and exclusion (fde) methods are
documented in their individual functions.
Parameters:
navdata (gnss_lib_py.navdata.navdata.NavData) – NavData of GNSS measurements which must include the satellite
positions: x_sv_m, y_sv_m, z_sv_m, b_sv_m as
well as the time row gps_millis and the corrected
pseudorange corr_pr_m.
method (string) – Method for fault detection and exclusion either “residual” for
residual-based or “edm” for Euclidean Distance Matrix-based.
remove_outliers (bool) – If True, removes measurements with detected faults (fault status 1)
and measurements with unknown fault status (fault status 2)
from the returned NavData instance.
If false, will detect but not exclude faults or unknowns.
max_faults (int) – Maximum number of faults to detect and/or exclude.
threshold (float) – Detection threshold.
verbose (bool) – If true, prints extra debugging statements.
Returns:
navdata – Result includes a new row of fault_<method> where a
value of 1 indicates a detected fault, 0 indicates that
no fault was detected, and 2 indicates an unknown fault status
which is usually due to lack of necessary columns or information.