# Performance Characterization of GNSS/IMU/DVL Integration under Real Maritime Jamming Conditions
## 3 Methods
Further, GNSS clock offsets can be added to the estimated state if a multi-constellation GNSS scenario is considered. Effective and accurate attitude estimation can be considered as a key component of almost any higher performance navigation system. Within our implementation, we have explicitly addressed a challenge of attitude estimation by separating the attitude part (quaternion) and the vector part of the estimated kinematic state. In the present work, we chose a unit quaternion as the attitude parametrization due to its computational efficiency, low redundancy, and absence of singularity. The unit quaternion, although consisting of four numbers, is deprived of one degree of freedom due to its unit norm constraint and, therefore, requires a special treatment within the framework of the UKF [37]. Except for the interesting part of quaternion handling, the rest of the process model follows a classical strapdown inertial mechanization approach for higher performance systems [23] and is formulated in the ECEF frame. There are several options to construct the measurement models depending on the configuration of the filter. For a _loosely coupled_ approach, a snapshot least-square adjustment is applied to estimate the position and velocity of the vessel. In the case of a classical code-based GNSS positioning, a time-of-arrival concept is employed to determine the receiver position from the measured code pseudoranges of the satellites in view. The positioning principle is based on solving a geometric problem from the measured ranges to the set of visible satellites with known coordinates [38]. The ionosphere corrections are estimated using the Klobuchar empirical model, while the Saastamonien model is applied for estimating the tropospheric corrections. Similarly, the Doppler shift of the GNSS signals can be used to compute the velocity and the clock offset rate of the receiver. Note that at least four satellites have to be visible in order to solve explicitly for both the position and the velocity in loosely coupled architecture. If there are fewer than four satellites visible at a given epoch, no solution can be found and the GNSS measurement step of the loosely coupled filter has to be skipped. An alternative approach, also known as _tightly coupled_ integration, avoids the intermediate snapshot position and velocity solutions by applying the code or Doppler measurements directly in the measurement models of the filter. This strategy puts no inherent restrictions on the number of satellites available and even fewer than four available measurements could still be employed to constrain, at least partially, the possible drift of the estimated position. The same holds for the Doppler GNSS measurements, which can be combined with the GNSS code-ranges to enforce a radial velocity measurement over each available link. The mathematical model to relate the pseudorange \(\rho\) and the pseudorange rate \(\dot{\rho}\) to the state estimate is as follows:  
\[\rho^{j} = u^{j^{T}}\left(p+q\otimes l_{GNSS}\otimes q^{*}\right)+c\left(dt- dj^{j}\right)+Tr^{j}+l^{j}+\epsilon_{\rho^{j}} \tag{4}\] \[\dot{\rho}^{j} = u^{j^{T}}\left(v^{j}-v+q\otimes\left(\omega\times l_{GNSS} \right)\otimes q^{*}\right)+cdt+\epsilon_{\rho^{j}} \tag{5}\]  
where the superscript \(j\) refers to the \(j\)th GNSS tracked satellite, \(u^{j}\) is the unit line-of-sight vector between the satellite and the receiver, \(l_{GNSS}\) represents the baseline between the IMU and the GNSS antenna expressed in the vessel body frame, \(c\) stands for the speed of light, \(Tr\) and \(I\) gather the tropospheric and ionospheric effects, respectively, and \(\omega\) is the angular rate of the vehicle expressed in the vessel body frame. The operation \(\otimes\) refers to quaternion multiplication. For more details on quaternion conventions and a comprehensive explanation on quaternion algebra, the authors recommend consulting [39].