# A Novel FECAM-iTransformer Algorithm for Assisting INS/GNSS Navigation System during GNSS Outages
## 2 Theory of INS/GNSS Integrated Navigation System
The reason for using the FECAM-iTransformer to predict GNSS position increments is to establish a more interpretable relationship with IMU measurements, which reflect changes in the vehicle's state over time, corresponding to the vehicle's position change during this period. The training process is conducted periodically, and the training data are taken from the past few minutes, so as to ensure that the latest model is used to output GNSS position increments in the GNSS outage. The predicting mode of the system is shown in Figure 3b. During a GNSS outage, the FECAM-iTransformer provides the GNSS location information to the EKF. First, the IMU measurement data from the recent period are retrieved from the data memory. Then, these data will be fed to the FECAM-iTransformer to predict the GNSS increment \(\delta p_{GNSS}\) for the next time step. \(\delta p_{GNSS}\) will be added to the \(p_{GNSS}(t-1)\) (GNSS position at time \(t-1\)) to determine the \(p_{GNSS}(t)\) (GNSS position at time \(t\)). Finally, the GNSS positions will be saved and fed to the EKF. The total process is shown in Algorithm 2. Figure 3: INS/FECAM-iTransformer integrated navigation system: (**a**) The training mode of the system. \(\delta p_{GNSS}(t)\) and \(\delta p_{GNSS}(t-1)\) are the increments of GNSS position at time \(t\) and \(t-1\). \(f_{ib}^{b}\), \(\omega_{ib}^{b}\) is IMU measured value. (**b**) The predicting mode of the system. At this moment, the real GNSS signal is missed. \(p_{GNSS}(t)\) is the pseudo GNSS position at time \(t\). \(L\) is the length of lookback window; \(t\) is present moment. All of data at each moment are saved in data memory. ```
while(1) if GNSS works: (During GNSS outage, stop and switch to predicting mode)  Integrated navigation using GNSS and INS measured value; ift = (time to train the model) Training mode: (Concurrent with integrated navigation)  Obtain \(f_{\text{lp}}^{\text{b}}\), \(\omega_{\text{lp}}^{\text{b}}\) and \(\delta p_{GNSS}\) of past few minutes from data memory;  Train FECAM-iTransformer;  Save model and all variables; endif endif if GNSS outage: Predicting mode:  Obtain \(f_{\text{lp}}^{\text{b}}\), \(\omega_{\text{lp}}^{\text{b}}\) from the past L seconds from data memory;  Predicting \(\delta p_{GNSS}(t)\) by feeding \(f_{\text{lp}}^{\text{b}},\omega_{\text{lp}}^{\text{b}}\) into FECAM-iTransformer;  Obtain \(p_{GNSS}(t-1)\) from data memory; \(p_{GNSS}(t)=p_{GNSS}(t-1)+\delta p_{GNSS}(t)\);  Feeding \(p_{GNSS}(t)\) into EKF;  Save all variables: \(p_{GNSS}(t)\), \(\delta p_{GNSS}(t)\), \(f_{\text{lp}}^{\text{b}}\), \(\omega_{\text{lp}}^{\text{b}}\) to data memory; endif endwhile
```

**Algorithm 2** INS/FECAM-iTransformer integrated navigation system. ### FECAM-iTransformer

#### 3.3.1 The Framework of FECAM-iTransformer

The positions of the FECAM within the FECAM-iTransformer and their respective internal structures are shown in Figure 4. After passing through the iTransformer encoder, each token undergoes a discrete cosine transform (DCT) via FECAM to obtain its corresponding frequency-domain representation. This representation is then selectively enhanced within the FECAM by focusing on channels that contain effective frequency bands, a process achieved through a Squeeze and Excitation Block (SE-Block). Finally, the enhanced multi-channel frequency-domain information is combined back into the time-domain channel. #### 3.3.2 iTransformer

We introduce iTransformer [25], a high-performing model in time-series prediction, to output the GNSS pseudo-location information. The network structure of this deep learning model is illustrated in Figure 5.

Figure 4: The framework of FECAM-iTransformer and FECAM. Unlike the traditional Transformer, iTransformer introduces a new approach to processing time-series data. Instead of treating the multivariate representation of a single time step as a token, iTransformer considers the entire input sequence of each variable as a token.