A fault detection system for an aircraft attitude measurement system, the fault detection system comprising: a first sensor monitor (115, 125, 135) coupled to a first inertial measurement unit (110, 120, 130), the first sensor monitor (115, 125, 135) comprising: a first navigation error model for the first inertial measurement unit (110, 120, 130), the first navigation error model configured to model a plurality of error states including at least an attitude error state vector, a velocity error state vector, and a position error state vector determined from data generated by the first inertial measurement unit (110, 120, 130); and a first propagator-estimator configured to propagate and iteratively update the plurality of error states from the first navigation error model based on GNSS data; a second sensor monitor (115, 125, 135) coupled to a second inertial measurement unit (110, 120, 130), the second sensor monitor (115, 125, 135) comprising: a second navigation error model for the second inertial measurement unit (110, 120, 130), the second navigation error model configured to model a plurality of error states including at least an attitude error state vector, a velocity error state vector, and a position error state vector determined from data generated by the second inertial measurement unit (110, 120, 130); and a second propagator-estimator configured to propagate and iteratively update the plurality of error states from the second navigation error model based on GNSS data; a residual evaluator configured to receive measurement error residual values generated by the first propagator-estimator and the second propagator-estimator, and compare first measurement error residual values generated by the first propagator-estimator and second measurement error residual values generated by the second propagator-estimator against a predetermined statistical threshold; characterized in that: the residual evaluator outputs an alert signal configured to identify which inertial measurement unit is at fault when: only one of the first or second inertial measurement units (110, 120, 130), but not both, experiences an increase in residual errors beyond a predetermined statistical threshold. a first sensor monitor (115, 125, 135) coupled to a first inertial measurement unit (110, 120, 130), the first sensor monitor (115, 125, 135) comprising: a first navigation error model for the first inertial measurement unit (110, 120, 130), the first navigation error model configured to model a plurality of error states including at least an attitude error state vector, a velocity error state vector, and a position error state vector determined from data generated by the first inertial measurement unit (110, 120, 130); and a first propagator-estimator configured to propagate and iteratively update the plurality of error states from the first navigation error model based on GNSS data; a first navigation error model for the first inertial measurement unit (110, 120, 130), the first navigation error model configured to model a plurality of error states including at least an attitude error state vector, a velocity error state vector, and a position error state vector determined from data generated by the first inertial measurement unit (110, 120, 130); and a first propagator-estimator configured to propagate and iteratively update the plurality of error states from the first navigation error model based on GNSS data; a second sensor monitor (115, 125, 135) coupled to a second inertial measurement unit (110, 120, 130), the second sensor monitor (115, 125, 135) comprising: a second navigation error model for the second inertial measurement unit (110, 120, 130), the second navigation error model configured to model a plurality of error states including at least an attitude error state vector, a velocity error state vector, and a position error state vector determined from data generated by the second inertial measurement unit (110, 120, 130); and a second propagator-estimator configured to propagate and iteratively update the plurality of error states from the second navigation error model based on GNSS data; a second navigation error model for the second inertial measurement unit (110, 120, 130), the second navigation error model configured to model a plurality of error states including at least an attitude error state vector, a velocity error state vector, and a position error state vector determined from data generated by the second inertial measurement unit (110, 120, 130); and a second propagator-estimator configured to propagate and iteratively update the plurality of error states from the second navigation error model based on GNSS data; a residual evaluator configured to receive measurement error residual values generated by the first propagator-estimator and the second propagator-estimator, and compare first measurement error residual values generated by the first propagator-estimator and second measurement error residual values generated by the second propagator-estimator against a predetermined statistical threshold; characterized in that: the residual evaluator outputs an alert signal configured to identify which inertial measurement unit is at fault when: only one of the first or second inertial measurement units (110, 120, 130), but not both, experiences an increase in residual errors beyond a predetermined statistical threshold.