# An Algorithm to Assist the Robust Filter for Tightly Coupled RTK/INS Navigation System
## 2 Materials and Methods
### Modified RKF  
This section introduces our proposed algorithm that assists RKF. We use the Modified RKF (MRKF) to denote our algorithm to distinguish the traditional IGG-based RKF. The measurements, along with much noise or multipath error, usually provide low CNR. As the multipath effect generally depends on the environment around the receiver, the fault caused by the multipath effect can persist for some epochs. Excessive robustness can happen when RKF incorrectly excludes the measurements that should be retained. We use CNR to decide whether the detected potential outliers can be maintained for a while or not. Specifically, we set two thresholds, \(\xi_{\text{CNR,0}}\) and \(\xi_{\text{CNR,1}}\), to classify measurements with different CNR. If a detected outlier's CNR is smaller than \(\xi_{\text{CNR,0}}\), we discard the measurements immediately as RKF does. If a detected outlier's CNR is between \(\xi_{\text{CNR,0}}\) and \(\xi_{\text{CNR,1}}\), we maintain the measurements for a epoch. The corresponding measurement will be discarded if it is identified as an outlier at the next epoch. If a detected outlier's CNR exceeds \(\xi_{\text{CNR,1}}\), we maintain the measurements for two epochs. Notably, the corresponding components in \(R\) will be inflated during the maintaining epochs to downweight the measurements. \(\xi_{\text{CNR,0}}\) can be set in a range from 35 decibels-Hz (dBHz) to 40 dBHz, whereas \(\xi_{\text{CNR,1}}\) can be set as 45 dBHz. \(\xi_{\text{CNR,0}}\) and \(\xi_{\text{CNR,1}}\) are set based on our experience. Ref. [79] points out that the dynamic condition and signal strength can determine the true tracking performance. This literature analyzes the relationship between the tracking threshold and the dominant error sources. This literature has carried out many simulations with ideal conditions and concluded that if a measurement's CNR is lower than 32 dBHz, the Phase-Locked Loop (PLL) error will exceed the 1-sigma tracking threshold, degrading the tracking performance. We set \(\xi_{\text{CNR,0}}\) to be bigger than 32 dBHz for two reasons. On the one hand, the simulation condition in [79] is ideal. On the other hand, we want to minimize the probability and impact of the wrong retention. When it comes to \(\xi_{\text{CNR,1}}\), a measurement with 45 dBHz CNR can be considered a strong signal of good quality. As \(\xi_{\text{CNR,1}}\) decides whether a potential outlier can be maintained for two epochs, we set it as a high value to reduce the wrong retention. Notably, maintaining a measurement for one or two epochs can also be considered thresholds for our algorithm. The epoch here means the time interval between two update steps in the TC RTK/INS integration. We choose a short time for maintenance because the wrong maintenance for a long time can degrade the positioning performance significantly.  
Considering that some high-CNR signals can also be superimposed with gross errors, we add some constraints to decide when CNR assistance should be used. If all the DD pseudo-range measurements are identified as outliers, we think the effects of gross errors are significant, and the quality of the signals is poor. In this case, we will not use the CNR-based classification to assist RKF. The DD measurements are calculated separately for the different constellations in our implementation. If all the DD pseudo-range measurements in one constellation are identified as outliers, while no DD pseudo-range measurements in the other constellation are identified as outliers, we believe that one of the constellations provides a very poor quality signal. In this case, we will not use the CNR-based classification to assist RKF. We use these constraints to reduce the probability of incorrectly retaining true outliers. The CNR-based classification and the constraints form MRKF. Figure 3 shows the MRKF architecture.