A method for compensating for faulty satellite navigation measurements, comprising the operations of: receiving a plurality of measurements in a system for a measurement epoch; using a Kalman filter to calculate a state of the system for the measurement epoch based on the plurality of measurements, wherein the state of the system for the measurement epoch is calculated using a first closed-form update equation; detecting a faulty measurement in the plurality of measurements for the measurement epoch including, for each measurement in the plurality of measurements, calculating an outlier bias for the measurement; determining whether the outlier bias for the measurement is greater than a first threshold; and if the outlier bias for the measurement is greater than the first threshold, determining that the measurement is a faulty measurement; calculating a revised state of the system for the measurement epoch that compensates for the faulty measurement, using the calculated state of the system for the measurement epoch as an input to the revised state calculation, and using a revised closed-form update equation comprising the first closed-form update equation modified with respect to the faulty measurement, characterized in that calculating the revised state of the system for the measurement epoch that compensates for the faulty measurement includes determining whether the outlier bias for the faulty measurement is above a second threshold, wherein the second threshold is greater than the first threshold; if the outlier bias is greater than the second threshold, removing the effect of the faulty measurement from the state of the system by calculating a revised Kalman gain corresponding to the faulty measurement using the measurement variance of the faulty measurement set to the negative of its original value, wherein the covariance for the faulty measurement is determined from a covariance matrix corresponding to the calculated state of the system; revising the first closed-form update equation based on the revised Kalman gain to produce a revised first closed-form update equation; and calculating the revised state of the system by applying the revised first closed-form update equation to the calculated state of the system for the measurement epoch to remove the effect of the faulty measurement from the state of the system, and if the outlier bias is between the first threshold and the second threshold, reducing the weighting of the faulty measurement as applied to the state and covariance matrices. receiving a plurality of measurements in a system for a measurement epoch; using a Kalman filter to calculate a state of the system for the measurement epoch based on the plurality of measurements, wherein the state of the system for the measurement epoch is calculated using a first closed-form update equation; detecting a faulty measurement in the plurality of measurements for the measurement epoch including, for each measurement in the plurality of measurements, calculating an outlier bias for the measurement; determining whether the outlier bias for the measurement is greater than a first threshold; and if the outlier bias for the measurement is greater than the first threshold, determining that the measurement is a faulty measurement; calculating a revised state of the system for the measurement epoch that compensates for the faulty measurement, using the calculated state of the system for the measurement epoch as an input to the revised state calculation, and using a revised closed-form update equation comprising the first closed-form update equation modified with respect to the faulty measurement, characterized in that calculating the revised state of the system for the measurement epoch that compensates for the faulty measurement includes determining whether the outlier bias for the faulty measurement is above a second threshold, wherein the second threshold is greater than the first threshold; if the outlier bias is greater than the second threshold, removing the effect of the faulty measurement from the state of the system by calculating a revised Kalman gain corresponding to the faulty measurement using the measurement variance of the faulty measurement set to the negative of its original value, wherein the covariance for the faulty measurement is determined from a covariance matrix corresponding to the calculated state of the system; revising the first closed-form update equation based on the revised Kalman gain to produce a revised first closed-form update equation; and calculating the revised state of the system by applying the revised first closed-form update equation to the calculated state of the system for the measurement epoch to remove the effect of the faulty measurement from the state of the system, and if the outlier bias is between the first threshold and the second threshold, reducing the weighting of the faulty measurement as applied to the state and covariance matrices.