# IMM Filtering Algorithms for a Highly Maneuvering Fighter Aircraft: An Overview
## 7 IMM Algorithm Based on CKF  
In order to estimate the state of a maneuvering target in a nonlinear filtering problem, the IMM-EKF [29; 30; 31; 53; 54; 55], IMM-UKF [55; 32; 54; 56], IMM-CKF [2; 3; 58], and IMM-cubature quadrature Kalman filter (IMM-CQKF) [4] are commonly used. The IMM filtering algorithm maintains a common structure across its variations, such as the IMM-EKF, IMM-UKF, and IMM-CKF, with only minor distinctions. In order to conserve space, this section focuses on detailing the IMM-CKF filter. The IMM filter is designed to leverage a collection of kinematic models, encompassing all potential aircraft maneuvers across any trajectory segment [8; 20; 25; 27]. By incorporating a parallel execution of three distinct CKFs, the IMM filter adeptly manages the NCV, NCT+, and NCT- motion models. Suppose at time \(t_{k-1}\), the state estimates \(\hat{\textbf{x}}_{k-1|k-1}^{i}\), the covariance matrices \(\textbf{P}_{k-1|k-1}^{i}\), and the model probabilities \(\mu_{k-1}^{i}\) are available, where \(i=1,2,\ldots,3\). We define the TPM as \(\textbf{\Pi}\in\mathcal{R}^{3\times 3}\) with elements \(\{\pi_{ij}\}\) and the probability of the \(i\)th model as \(\mu_{k}^{i}\). Next, we summarize the various steps of the IMM filter [8; 20; 25; 27] to compute the model probabilities, state estimates, and covariances of all three filters at time \(t_{k}\). Step 1: Compute the Mixing Probabilities  
Given the model probabilities at time \(t_{k-1}\) and transition probabilities, compute the mixing probabilities  
\[\mu_{k-1|k-1}^{i|j}=\frac{1}{\varepsilon_{j}}\pi_{ij}\mu_{k-1}^{i},\ \ i,j=1,2,3, \tag{78}\]  
\[\varepsilon_{j}=\sum_{i=1}^{3}\pi_{ij}\mu_{k-1}^{i},\ \ j=1,2,3. \tag{79}\]  
Step 2: Compute the Mixed Initial States and Covariances  
Compute the mixed initial states and covariances,  
\[\xi_{k-1|k-1}^{0,j}=\sum_{i=1}^{3}\mu_{k-1|k-1}^{ij}\hat{\textbf{x}}_{k-1|k-1}^ {i},\ j=1,2,3, \tag{80}\]  
\[\textbf{P}_{k-1|k-1}^{0,j}=\sum_{i=1}^{3}\mu_{k-1|k-1}^{ij}\Big{[}\textbf{P}_{ k-1|k-1}^{i} \tag{81}\]  
\[+\big{(}\hat{\textbf{x}}_{k-1|k-1}^{i}-\hat{\textbf{x}}_{k-1|k-1}^{0,j}\big{)} (\hat{\textbf{x}}_{k-1|k-1}^{i}-\hat{\textbf{x}}_{k-1|k-1}^{0,j})^{\prime}\Big{]},\ \ j=1,2,3.\]  
Step 3: Compute the Predicted State Estimates and Covariances  
The predicted state estimate and covariance for the NCV model are given, respectively, by  
\[\hat{\textbf{x}}_{k|k-1}^{1}=\textbf{F}_{k-1}^{(1)}\hat{\textbf{x}}_{k-1|k-1}^ {0,1}, \tag{82}\]\[\mathbf{P}^{1}_{k|k-1}=\mathbf{F}^{(1)}_{k-1}\mathbf{P}^{0,1}_{k-1|k-1}(\mathbf{F} ^{(1)}_{k-1})^{\prime}+\mathbf{Q}^{(1)}_{k-1}. \tag{83}\]  
Since the NCT+ and NCT- models are nonlinear, the predicted state estimates and covariances are calculated by using cubature points. Thus, the predicted state estimates are given by  
\[\mathbf{\hat{x}}^{j}_{k|k-1}=\sum_{i=1}^{m}w_{i}\mathbf{X}^{*,j}_{i,k|k-1},\ \ j=2,3. \tag{84}\]  
where the \(i\)th predicted cubature point \(\mathbf{X}^{*}_{i,k|k-1}\) is calculated using (65)-(71). Then, the predicted covariances are calculated by  
\[\mathbf{P}^{j}_{k|k-1}=\sum_{i=1}^{m}w_{i}\mathbf{X}^{*,j}_{i,k|k-1}(\mathbf{ X}^{*,j}_{i,k|k-1})^{\prime}-\mathbf{\hat{x}}^{j}_{k|k-1}\Big{(}\mathbf{\hat{x}}^{ j}_{k|k-1}\Big{)}^{\prime}+\mathbf{Q}^{(j)}_{k-1},\ j=2,3. \tag{85}\]  
Step 4: Compute the Innovation Covariance and Cross-covariance  
For all three models, the predicted measurement and innovation covariance are given, respectively, by  
\[\mathbf{\hat{z}}^{j}_{k|k-1}=\sum_{i=1}^{m}w_{i}\mathbf{Z}^{j}_{i,k|k-1},\ \ j=1,2,3. \tag{86}\]  
\[\varepsilon_{j}=\sum_{i=1}^{3}\pi_{ij}\mu_{k-1}^{i},\ \ j=1,2,3. \tag{79}\]0  
where \(\mathbf{Z}^{j}_{i,k|k-1}\) is calculated using (72)-(74).