# Spoofing Detection Using GNSS/INS/Odometer Coupling for Vehicular Navigation
## 2 GNSS Spoofing Detection Using IMU and Odometer
Considering this, a possible approach to detect the spoofing attack and enhance the performance of the authenticity verification procedure is to use a closed loop configuration with a shorter error feedback update rate. In such a case, the receiver will operate under normal conditionsand an additional loop will monitor the integrity of the solution. The integrity monitoring loop takes raw IMU measurements and provides navigation solutions without the error correction from GNSS measurements. In this case, the integrity monitoring loop error correction update rate is much smaller than that of the KF integration update rate. The update rate of the integrity monitoring is based on the IMU grade and specific application requirements. To avoid false spoofing detection due to IMU drift, it is important to characterize the performance of the authenticity verification loop during the observation interval and set a proper detection threshold. A spoofing detection approach based on a consistency check of GNSS and INS/odometer (odo) mechanization is now proposed. To detect a spoofing attack, the method analyzes GNSS and IMU/odo measurements during an observation window and compares the solution provided by GNSS and INS mechanizations. The two trajectories are compared and the Detection Statistic (_DS_) is calculated as:  
\[DS=\|\mathbf{p}_{k}^{GPS}-\mathbf{p}_{k}^{IMU/odo}\|,\ \ \ \ \ \mathbf{p}=\left[ \begin{array}{c}p_{E}\\ p_{N}\\ p_{U}\end{array} \right] \tag{1}\]  
where \(\mathbf{p}_{k}^{GPS}\) and \(\mathbf{p}_{k}^{IMU/odo}\) are GPS and IMU/odo position vectors at time \(k\) in the East-North-Up (ENU) frame and \(\|\ \|\) is the norm operator. GNSS signal authenticity is verified if _DS_ is below a predefined threshold. The detection threshold is based on the INS/odo characteristics and the specific application and should be determined based on a desired probability of false alarm under authentic signal operation condition. If the signal authenticity is verified, a GNSS/INS/odometer loose coupling solution is performed to remove IMU errors. Figure 1 shows the operation flowchart of the proposed spoofing detection method. The IMU/odo mechanization process is initialized with the GPS measurements. Then the consistency of a new set of GPS and IMU/odo measurements is analysed. If the detection statistics (_DS_) is above the threshold, a spoofing attack is detected. Otherwise, the detection process checks the length of IMU/odo data (_i_) processed without correction by GPS measurements. If \(i\) is less than the length of the observation window (_N_) then consistency of a new GPS and IMU/odo data is processed. When \(i\) = \(N\) and no spoofing is edetected, the monitoring loop updates the IMU and odo errors with GPS measurements. Figure 1: Operational flowchart of the proposed method. Reduced IMU and odometer (RIO) mechanization, which is suitable for any wheel-based platform, is considered for GNSS navigation solution authenticity verification. RIO mechanization eliminates several error sources that exist when using a full IMU, especially low-cost Micro-Electro-Mechanical Systems (MEMS) grade sensors, and consequently reduces navigation solution divergence during GNSS outages and enhances the performance of the authenticity verification procedure. The significance and the importance of the RIO solution over the full IMU is discussed in [27]. Figure 2 shows the authenticity verification loop considering RIO mechanization with loosely coupled RIO/GNSS integration. The forward velocity information along with raw accelerometer and gyroscope measurements are fed to the RIO mechanization to provide relative position, velocity and heading information. The authenticity verification unit compares the navigation solution of the GNSS with that of RIO during the observation interval. If the solution authenticity is verified. RIO solutions will be corrected by GNSS solutions and accelerometer and gyro errors will be corrected by the navigation KF.