# A Comprehensive Review of GNSS/INS Integration Techniques for Land and Air Vehicle Applications
## 2 GNSS/INS Integration Techniques
After that, update the matrix \(\mathbf{H}_{k+1}\) and calculate the coefficient matrix:  
\[\mathbf{K}_{k+1/k+1}=\left(\mathbf{P}_{k+1/k}\mathbf{H}_{k+1}^{T}\right)\left(\mathbf{R}_{k}+ \mathbf{H}_{k+1}\mathbf{P}_{k+1/k}\mathbf{H}_{k+1}^{T}\right)^{-1} \tag{3}\]  
where the matrix \(\mathbf{H}_{k+1}\) depends on the type of SNS and INS measurements, \(\mathbf{R}_{k}\) is the covariance matrix built on the basis of knowledge of the measurement error of the SNS. After that, it is possible to correct the estimation of the INS measurement error vector and the covariance matrix:  
\[\delta\mathbf{\hat{x}}_{k+1/k+1}=\mathbf{K}_{k+1/k+1}\delta\mathbf{z}_{k+1} \tag{4}\]  
\[\mathbf{P}_{k+1/k+1}=[\mathbf{I}-\mathbf{K}_{k+1/k+1}\mathbf{H}_{k+1}]\mathbf{P}_{k+1/k}. \tag{5}\]  
The considered algorithm is common for most integration schemes. The vector of the difference between the measurements of INS and SNS will differ. In particular, for a loosely coupled integration scheme, the vector is formed based on the difference between the position and velocity measurements obtained by GNSS and INS [8]:  
\[\delta\mathbf{\hat{z}}_{k+1}=\delta\mathbf{\hat{z}}_{k+1}^{\text{GNSS}}-\delta\mathbf{z}_ {k+1}^{\text{INS}}= \begin{bmatrix}1&0&0\\ 0&1&0\\ 0&0&1\end{bmatrix}\begin{bmatrix}\delta n\\ \delta e\\ \delta d\end{bmatrix} +\mathbf{\eta} \tag{6}\]  
where \(\delta\mathbf{p}=[\delta n,\delta e,\delta d]\) is the error vector of the object position in the local coordinate system NED (North, East, Down) or ENU (East, Nort, Up), \(\mathbf{\eta}\) is the noise. In the case of a tightly coupled integration scheme, this vector has the form [8]:  
\[\delta\mathbf{\hat{z}}_{k+1}= \begin{bmatrix}h_{1}C_{n}^{\prime},&1\\ h_{2}C_{n}^{\prime},&1\\ \ldots&\\ h_{m}C_{n}^{\prime}\\ 1\end{bmatrix}\begin{bmatrix}\delta n\\ \delta e\\ \delta d\\ b_{u}\end{bmatrix}  \tag{7}\]  
where \(\mathbf{h}_{i}\) is the vector in the direction from the satellite to the object (line of sight vector); \(b_{u}\) is the clock bias in GNSS measurements. Accordingly, depending on the type of vector, \(\delta\mathbf{\hat{z}}_{k+1}\) the matrix \(\mathbf{H}_{k+1}\) will differ. The measurement error vector \(\delta\mathbf{x}\) usually includes the error in determining the position of the object \(\delta\mathbf{p}=[\delta n,\delta e,\delta d]\) in the local coordinate system NED/ENU, the error in determining the velocity of the object \(\delta\mathbf{v}=[\delta v_{n},\delta v_{e},\delta v_{d}]\) in the local coordinate system ENU, the error in determining the angular position of the object \(\delta\mathbf{e}=[\delta\mathbf{\phi},\delta\mathbf{\theta},\delta\mathbf{\psi}]\), the static bias of the accelerometer \(\mathbf{b}_{a}\) and the static bias of the gyro sensor \(\mathbf{b}_{g}\). Accordingly, for a given measurement error vector \(\delta\mathbf{x}=[\delta\mathbf{p},\delta\mathbf{v},\delta\mathbf{e},\mathbf{b}_{a},\mathbf{b}_{g}]\), there is its own measurement error model described by differential equations and the corresponding matrix \(F\), for example, given in equation 3.68 in [8], in equation 6.97 [10], in equation 12.28 in [60]. A similar model was used in most of the available papers [2; 4; 5; 6; 11]. In [48], the error due to the lever arm effect is included in the measurement error model for its subsequent evaluation in the Kalman filter. Some authors include additional parameters for evaluation in the Kalman filter; for example, in [61; 62], in addition to static bias for the accelerometer and gyro sensor, dynamic biases \(\sigma\mathbf{b}_{a},~{}\sigma\mathbf{b}_{g}\) are also introduced into the measurement error model, respectively; the state vector of the Kalman filter takes the form \(\delta\mathbf{x}=\left[\delta\mathbf{p},\delta\mathbf{v},\delta\mathbf{e},\mathbf{b}_{a},\mathbf{b}_{g}, \sigma\mathbf{b}_{a},\sigma\mathbf{b}_{g}\right]\). It contributes to obtaining the most complete model but greatly complicates the algorithm.