# An IMM Filter Defined in the Linear-Circular Domain, Application to Maneuver Detection with Heading Only

Authors: Karim El mokhtari; Serge Reboul; Georges Stienne; Jean Bernard Choquel; Benaissa Amami; Mohammed Benjelloun
Journal: Mathematical Problems in Engineering
 (2018)

---

## Abstract

In this article, we propose a multimodel filter for circular data. The so-called Circular Interacting Multimodel filter is derived in a Bayesian framework with the circular normal von Mises distribution. The aim of the proposed filter is to obtain the same performance in the circular domain as the classical IMM filter in the linear domain. In our approach, the mixing and fusion stages of the Circular Interacting Multimodel filter are, respectively, defined from the a priori and from the a posteriori circular distributions of the state angle knowing the measurements and according to a set of models. We propose in this article a set of circular models that will be used in order to detect the vehicle maneuvers from heading measurements. The Circular Interacting Multimodel filter performances are assessed on synthetic data and we show on real data a vehicle maneuver detection application.


---

## Body

## 1. Introduction

Heading or direction is an important information for target tracking [1], navigation [2–5], flight control [6], and wind monitoring [7]. In these applications, it is necessary to have an accurate estimation of the direction and its change. However, these parameters are angular and defined on a circular domain. They must be processed with specific nonlinear tools that take the 2π-periodic nature of the data into account. The linear domain often fails at interpreting the transition between the beginning and the end of a 2π-period. Linear stands for variables defined on the real line while circular stands for variables defined on the unit circle [8]. The aim of this article is to propose an IMM filter able to process data of circular nature.According to the works of [9–11], the multimodel approach is the best way to solve the change point detection problem in a dynamic estimation case. Three generations of Multiple-Model (MM) algorithms have been developed over the last decades. The first generation, Autonomous MM estimation (AMM) [12, 13], uses several filters evolving independently. The second generation, the cooperative MM (CMM), improves the estimation by applying effective cooperation strategies between filters. The Interactive Multimodel (IMM) filter [14] belongs to this category. The third generation is the Variable Structure MM (VSMM) [15], in which the model set is time varying. The basic functional component of VSMM is model set adaptation that aims to determine the model set at each time. Multitarget tracking applications often need the use of nonlinear models that require extended versions of the IMM filter [16]. The Gaussian Mixture Filter such as the one described in [17] is another way to handle multimodel estimation in nonlinear filtering problems. In this case the estimation problem is considered but not the model detection. We can find in [18] a complete discussion on IMM filters with modified Kalman filter and particle filter implementations for the bearing-only maneuvering target tracking problem. One of the difficulties of this application is that the observations are angular. In this case, the measurement model is circular, so nonlinear, and the noise is non-Gaussian. The aim of this article is to address the same kind of problem with an IMM filter. We want to process the circular data in order to detect the maneuvers of the target with heading only observations. For one target and several models it is shown in the linear case that the Interactive Multimodel (IMM) filter is the most effective algorithm for change detection [14, 19, 20]. In this article we derive a Circular Interacting Multimodel (CIMM) filter for the linear-circular case and we show that the proposed filter is the most effective algorithm for change detection and model identification in the circular domain.There has always been an interest for circular data processing since such periodic observations are involved in many applications [5, 21, 22]. In the circular case, we can distinguish different linear models. These models change whether the abscissa and the ordinate are circular. They are classified into a linear-circular model, a circular-linear model, and a circular-circular model. We can find in the published works several contributions about circular data estimation for systems described by a state and a measurement equations in the linear-circular domain. These contributions differ by the distribution used to model the state and measurement noise. In [23, 24], it is proposed to model the state and measurement noise with a Wrapped Normal distribution. A Kalman like circular filter is then derived in the monodimensional case. In [4], the Bingham distribution is used to model periodic data with 180 degree of symmetry. A recursive implementation of the filter is proposed for quaternion data. In [25], a recursive filter with a Kalman like structure is derived in a Bayesian framework with the circular normal von Mises distribution. The proposed two-dimensional filter with a constant-velocity model is applied to the estimation of the direction and rotation rate of a mobile. When the a posteriori distribution of the state is multimodal, it is proposed in [26] to use a mixture of von Mises distributions. A circular particle filter is proposed in [22] for nonlinear measurement equation and an adaptive filter in combination with a change point detector is proposed in [2, 11] for piecewise constant and linear evolution of angular data. Reference [3] considers a vehicle localization problem close to the classical nonlinear “Ship Azimuth Problem” [27]. For this application, the angular estimation problem was due to a nonlinear link between the vehicle direction and its position. In [3] a particle filter is defined in both linear and circular domains in order to fuse the observations of direction and localization and to estimate a vehicle position. However, in the literature, to the best knowledge of the author, there is no contribution about Multiple-Model filter design and evaluation in the linear-circular domain.In this article, we propose a circular version of the Interacting Multiple-Model filter that fuses different models of rotation with the direction observations. The proposed filter is derived in a Bayesian framework based on the circular normal von Mises distribution. The von Mises distribution is the model of choice for circular data in most applied problems [28]. We show in [25] that this distribution can accurately model the noises on azimuth measurements that are processed with data provided by a magnetometer and an accelerometer. Furthermore, the circular normal distribution has been extensively studied and inference techniques have been well developed [28]. For example, it has been shown in [22] that a Circular General Likelihood Ratio change point estimator can be derived using this distribution in order to detect outliers in the measurements and thus improve the estimation robustness. The application of the proposed circular IMM filter aims at detecting a vehicle maneuvers through the use of models probabilities. The output of the filter is used to provide the best estimate of the vehicle direction.A preliminary study of the proposed IMM filter was presented in [29]. In this article, a complete and corrected version of the filter is proposed.(i)
We correct the mixing and the fusion steps of the CIMM filter. We derive in Appendix the statistic parameters of the weighted sum of von Mises distributions. These parameters are used to redefine the mixing and fusion steps of the proposed filter.(ii)
We complete the characterization of the filter. We indeed show the equivalence between the reference IMM filter in the linear domain and the proposed CIMM filter in the linear-circular domain. We show that the CIMM filter is optimal in the linear-circular domain similarly to the IMM filter in the linear domain.(iii)
A complete assessment of the method in terms of direction estimation and model detection with synthetic and real data is provided.This article is organized as follows: The second section is dedicated to the definition of the circular Bayesian tools used in the article. The circular IMM filter is described in the third section. The fourth and last section present the experimental assessment on synthetic and real data.


## 2. Circular Bayesian Estimation

According to the development and derivation described in [30], an Interactive Multimodel filter is defined in the Bayesian framework by the following equation: (1)pθk∣Φk=∑j=1rpθk∣Mkj,ϕk,Φk-1pMkj∣Φkwhere θk is the circular state to estimate at instant k. {Mkj} is a set of r models and Φk is the measurements between 1 and k. ϕk is an observation at instant k. This weighted sum of the state distributions knowing the model and its probability to fit the observations describes the fusion operator in Figure 2. This operator fuses the state estimate obtained for each model. We can indeed derive the following expression that defines the state filter for each model: (2)pθk∣Mkj,ϕk,Φk-1=pϕk∣Mkj,θkpϕk∣Mkj,Φk-1pθk∣Mkj,Φk-1The circular state filter associated with each model and described by the a posteriori law of expression (2) is derived for a von Mises distribution in [25]. In an IMM filter, the a priori law of the state is obtained with the following weighted sum of distributions:(3)pθk∣Mkj,Φk-1=∑j=1rpθk∣Mkj,Mk-1j,Φk-1pMk-1j∣Mkj,Φk-1This weighted sum describes the statistic of the output of the mixing operator in Figure 2. In order to complete the implementation of the filter in the circular domain with von Mises distributions, we derive in what follows the statistical property of a circular random variable distributed according to a weighted sum of von Mises distributions. The IMM filter redefined in the circular domain is denoted as CIMM.Let us consider a set of noisy observations of an angleθ following the circular distribution of von Mises. This distribution of the variable θ is defined by(4)fCNθ;μ,κ=12πI0κeκcosθ-μμ is the mean of the distribution and κ its concentration parameter. I0 is the modified Bessel function of the first kind and order zero. Figure 1 clearly shows that when the mean is not centered on the considered measurement interval, in this case [0,2π[, the distribution does not have a unique maximum. This requires the use of statistical tools defined in the circular domain in order to take into account the periodic nature of this distribution.Figure 1
The von Mises distribution takes into account the periodic nature of angular observations.Figure 2
CIMM filter structure: similar to the IMM filter where circular filters are used instead of Kalman filters and the weighted sums in mixing and fusion are redefined in the circular domain.The maximum likelihood estimator of the mean of several angles following a von Mises distribution is defined in [28] by the equation(5)μ^=arctan∗∑k=1nsinϕk,∑k=1ncosϕk=arg∑k=1nejϕkwherej is the complex number such that j2=-1. arctan∗ is the four-quadrant inverse tangent that is also known as atan2.In the case of heteroscedastic measurementsϕ(1),…,ϕ(N), we assume that the observations are independent and follow a von Mises distribution of mean θ and respective concentration parameters κR(1),…,κR(N). It is shown in [25] that the maximum likelihood estimator of the mean value is defined by(6)ϕf=arctan∗S,C=arg∑i=1NejκRiϕiwhere(7)S=∑i=1NκRisinϕi(8)C=∑i=1NκRicosϕiThe concentration parameter κf of the estimated mean is defined by [25](9)κf=S2+C2=∑i=1NejκRiϕiIt is shown in [25] that the circular variance of the mean estimate is in this case always less than the circular variance of each measurement. We can conclude that expression (6) defines the weighted sum in the circular domain.In the case of a weighted sum ofr independent circular von Mises distribution we derive in Appendix the following statistic parameters:(10)∑i=1rωi12πI0κieκicosθ-μi=12πI0κPeκPcosθ-μPwith(11)μP=arctan∗∑i=1rωisinμi,∑i=1rωicosμi(12)κP=A-1∏i=1rAκiωi∏i=1rexp-μi-μP22ωiwhere the expressions of μP and κP are obtained using the approximation of a von Mises distribution by a Wrapped Normal distribution. In this expression,  A(…)=I1(κ)/I0(κ) where  I1(…)  is the modified Bessel function of the first kind and order 1.  A-1(…)  is computed by the approximation provided in [28].


## 3. The Circular IMM Filter (CIMM)

### 3.1. Definition of the Circular Models

In our implementation, we consider several models of vehicle rotation. We use the CIMM filter to estimate the vehicle direction during maneuvers. We also use the models probabilities provided by the CIMM filter to detect the vehicle behavior.As we are only interested in the direction, the models we consider can be described by the following general equation:(13)θk=(θk-1+ξmod2π-π+νk-1θk∈[-π,π] and θk-1∈[-π,π] are the vehicle directions at the respective instants k and k-1. νk-1 is the noise contribution. This additive noise is distributed according to a zero centered von Mises distribution with concentration parameter κQ. Let us consider the following models: (i)
Movement with no maneuver: where the direction angle is constant and the angular velocity null. This movement is modeled by ξ=0.(ii)
Movement with a rotation maneuver: to the left or to the right. This movement is modeled by a rotation rate assumed to be constant and defined by the command ξ>0 for a right turn and ξ<0 for a left turn.


### 3.2. Implementation of the Circular IMM Filter (CIMM)

#### 3.2.1. Principle of the CIMM Filter

Let us consider a system and its model defined fromr models {M1,…,Mr}. We assume that the initial probability μ0j=P{M0j} of each model Mj is known. The transition probability pij=PMkj∣Mk-1i of model Mi at time k-1 to model Mj at time k is also assumed to be known.Like the IMM, the CIMM filter is executed in three stages:interaction/mixing,filtering andcombination/fusion. At each time step k, the previous states are mixed then used by the circular filters defined in [25]. A circular filter is associated with each model to create r estimates. These estimates are combined to produce a single final estimate. The weights in the combination/fusion are the probabilities of each model. The architecture of the CIMM filter is illustrated in Figure 2.Each model of the CIMM filter is described by a state and a measurement equation.State Equation.The direction θk represents the state at time k: (14)θk=(θk-1+ξmod2π-π+νk-1ν k - 1 is the noise on the state model. As explained earlier in Section 3.1, ξ=0 stands for a movement without maneuver, and ξ≠0 for a movement with a turn maneuver.Measurement Equation.The measurements ϕk of the angle θk are obtained by a compass. The measurement equation is given by(15)ϕk=θk+wkw k is the measurement noise. It is distributed according to a centered von Mises distribution with concentration parameter κR. In the following, we describe each component of the CIMM architecture shown in Figure 2. The CIMM algorithm steps are further explained in Algorithm 1 and Figure 3.Algorithm 1:CIMM algorithm.
1foreach  timestep  k  do //  ∗∗  Mixing  ∗∗ 2foreach  model  i  and model  j  do  Conditional probability:   μk-1i∣j←COND_PROB(μk-1i,pij); 3foreach  modelj  do 4Intermediate angle  θ^k-10j←INT_ANGLEμk-1i∣j,θk-1i; 5Intermediate concentration parameter  Pk-10j←INT_CP(Pk-1i,μk-1i∣j,θk-10j,{θk-1i}) ; 6end 11//  ∗∗  Filtering  ∗∗ 7foreach  model  j  do 8Filter prediction  (θ^k∣k-1j,Pk∣k-1j)←FILTER_PRED(θk-10j,Pk-10j,ξj,κQj); 9Filter correction  (θ^kj,Pkj)←FILTER_CORR(θ^k∣k-1j,Pk∣k-1j,ϕk,κR); 10Model likelihood  Λkj←LIKELIHOOD(θ^k∣k-1j,Pk∣k-1j,ϕk,κR); 11end 12 foreach  model  j  do Model probability  μkj←MODEL_PROBΛkj,Λki; 11//  ∗∗  Fusion  ∗∗ 13Estimated angle  θ^k←ESTIM_ANGLE(θ^kj,{μkj}); 14Concentration parameter  Pk←ESTIM_CPθ^k,θ^kj,Pkj,μkj; 15endFigure 3
CIMM flowchart.


#### 3.2.2. Step 1: Interaction/Mixing

Substep  1a: Computation of the Conditional Model Probability. Let us define the conditional model probability μi∣j which is the probability of model Mi at time k-1 knowing Mj the model at time k:(16)μk-1i∣j=1c¯jpijμk-1i(17)c¯j=∑i=1rpijμk-1iwith(i)
μk-1i: probability of model Mi at time k-1;(ii)
c¯j: normalizing factor;(iii)
pij: probability of transition from model Mi to model Mj.Substep  1b: Mixing. In this step, the estimates delivered by each filter at time k-1 are combined. The weights are the conditional model probability μk-1i∣j. (18)θ^k-10j=arctan∗∑i=1rμk-1i∣jsinθ^k-1i,∑i=1rμk-1i∣jcosθ^k-1i(19)Pk-10j=A-1∏i=1rAPk-1iμk-1i∣j∏i=1rexp-θ^k-1i-θ^k-10j22μk-1i∣jwith θ^k-10j, Pk-10j, respectively, being the intermediate angle (after mixing) and the concentration parameter provided to filter j and θ^k-1i, Pk-1i respectively, being the estimated state and the state concentration parameter associated with the circular filter with model i.


#### 3.2.3. Step 2: Filtering

Substep  2a: Filter Associated with Each Model. Each model Mj is associated with a circular recursive filter described by a prediction step and a correction step.Prediction (20) θ ^ k ∣ k - 1 j = θ ^ k - 1 0 j + ξ j (21) P k ∣ k - 1 j = A - 1 A P k - 1 0 j A κ Q jwith (i)
θ^k∣k-1j, Pk∣k-1j: angle and concentration parameter predicted by model Mj;(ii)
κQj: concentration parameter of the state noise for Mj;(iii)
ξj: defines the circular motion for model Mj.Correction (22) θ ^ k j = a r c t a n ∗ S k j , C k j (23) P k j = C k j 2 + S k j 2with(24)Ckj=Pk∣k-1jcosθ^k∣k-1j+κRcosϕk(25)Skj=Pk∣k-1jsinθ^k∣k-1j+κRsinϕk(i)
ϕk: measurement obtained at time k;(ii)
κR: concentration parameter of the measurement noise.Substep  2b: Processing of the Likelihood of Each Model. The innovation is given for each model Mj by(26)vkj=ϕk-θ^k∣k-1jIts concentration parameter is(27)Svkj=A-1APk∣k-1jAκRThe likelihood function in the circular domain is defined with a von Mises distribution as(28)Λkj=fCNvkj;0,SvkjThe valueΛkj is higher when the measurement ϕk is close to the estimate θ^k∣k-1j obtained with model Mj.Substep  2c: Derivation of the Model Probability. The probability of each model is determined with the likelihood function defined in Substep 2b.(29)μkj=1c.Λkjc¯jwith(i)
c¯j: given by (17);(ii)
c: normalizing factor defined by(30)c=∑j=1rΛkjc¯j


#### 3.2.4. Step 3: Fusion

The estimates provided by each filter are combined using a weighted sum in the circular domain. The weights are the models probabilities. They are used to increase the contribution of the most probable model in the processing of the final estimate:(31)θ^k=arctan∗∑j=1rμkjsinθ^kj,∑j=1rμkjcosθ^kjThe concentration parameter of the final estimate is given by(32)Pk=A-1∏j=1rAPkjμkj∏j=1rexp-θ^kj-θ^k22μkjIn the following section, we assess the CIMM algorithm with experimental data.


## 3.1. Definition of the Circular Models

In our implementation, we consider several models of vehicle rotation. We use the CIMM filter to estimate the vehicle direction during maneuvers. We also use the models probabilities provided by the CIMM filter to detect the vehicle behavior.As we are only interested in the direction, the models we consider can be described by the following general equation:(13)θk=(θk-1+ξmod2π-π+νk-1θk∈[-π,π] and θk-1∈[-π,π] are the vehicle directions at the respective instants k and k-1. νk-1 is the noise contribution. This additive noise is distributed according to a zero centered von Mises distribution with concentration parameter κQ. Let us consider the following models: (i)
Movement with no maneuver: where the direction angle is constant and the angular velocity null. This movement is modeled by ξ=0.(ii)
Movement with a rotation maneuver: to the left or to the right. This movement is modeled by a rotation rate assumed to be constant and defined by the command ξ>0 for a right turn and ξ<0 for a left turn.


## 3.2. Implementation of the Circular IMM Filter (CIMM)

### 3.2.1. Principle of the CIMM Filter

Let us consider a system and its model defined fromr models {M1,…,Mr}. We assume that the initial probability μ0j=P{M0j} of each model Mj is known. The transition probability pij=PMkj∣Mk-1i of model Mi at time k-1 to model Mj at time k is also assumed to be known.Like the IMM, the CIMM filter is executed in three stages:interaction/mixing,filtering andcombination/fusion. At each time step k, the previous states are mixed then used by the circular filters defined in [25]. A circular filter is associated with each model to create r estimates. These estimates are combined to produce a single final estimate. The weights in the combination/fusion are the probabilities of each model. The architecture of the CIMM filter is illustrated in Figure 2.Each model of the CIMM filter is described by a state and a measurement equation.State Equation.The direction θk represents the state at time k: (14)θk=(θk-1+ξmod2π-π+νk-1ν k - 1 is the noise on the state model. As explained earlier in Section 3.1, ξ=0 stands for a movement without maneuver, and ξ≠0 for a movement with a turn maneuver.Measurement Equation.The measurements ϕk of the angle θk are obtained by a compass. The measurement equation is given by(15)ϕk=θk+wkw k is the measurement noise. It is distributed according to a centered von Mises distribution with concentration parameter κR. In the following, we describe each component of the CIMM architecture shown in Figure 2. The CIMM algorithm steps are further explained in Algorithm 1 and Figure 3.Algorithm 1:CIMM algorithm.
1foreach  timestep  k  do //  ∗∗  Mixing  ∗∗ 2foreach  model  i  and model  j  do  Conditional probability:   μk-1i∣j←COND_PROB(μk-1i,pij); 3foreach  modelj  do 4Intermediate angle  θ^k-10j←INT_ANGLEμk-1i∣j,θk-1i; 5Intermediate concentration parameter  Pk-10j←INT_CP(Pk-1i,μk-1i∣j,θk-10j,{θk-1i}) ; 6end 11//  ∗∗  Filtering  ∗∗ 7foreach  model  j  do 8Filter prediction  (θ^k∣k-1j,Pk∣k-1j)←FILTER_PRED(θk-10j,Pk-10j,ξj,κQj); 9Filter correction  (θ^kj,Pkj)←FILTER_CORR(θ^k∣k-1j,Pk∣k-1j,ϕk,κR); 10Model likelihood  Λkj←LIKELIHOOD(θ^k∣k-1j,Pk∣k-1j,ϕk,κR); 11end 12 foreach  model  j  do Model probability  μkj←MODEL_PROBΛkj,Λki; 11//  ∗∗  Fusion  ∗∗ 13Estimated angle  θ^k←ESTIM_ANGLE(θ^kj,{μkj}); 14Concentration parameter  Pk←ESTIM_CPθ^k,θ^kj,Pkj,μkj; 15endFigure 3
CIMM flowchart.


### 3.2.2. Step 1: Interaction/Mixing

Substep  1a: Computation of the Conditional Model Probability. Let us define the conditional model probability μi∣j which is the probability of model Mi at time k-1 knowing Mj the model at time k:(16)μk-1i∣j=1c¯jpijμk-1i(17)c¯j=∑i=1rpijμk-1iwith(i)
μk-1i: probability of model Mi at time k-1;(ii)
c¯j: normalizing factor;(iii)
pij: probability of transition from model Mi to model Mj.Substep  1b: Mixing. In this step, the estimates delivered by each filter at time k-1 are combined. The weights are the conditional model probability μk-1i∣j. (18)θ^k-10j=arctan∗∑i=1rμk-1i∣jsinθ^k-1i,∑i=1rμk-1i∣jcosθ^k-1i(19)Pk-10j=A-1∏i=1rAPk-1iμk-1i∣j∏i=1rexp-θ^k-1i-θ^k-10j22μk-1i∣jwith θ^k-10j, Pk-10j, respectively, being the intermediate angle (after mixing) and the concentration parameter provided to filter j and θ^k-1i, Pk-1i respectively, being the estimated state and the state concentration parameter associated with the circular filter with model i.


### 3.2.3. Step 2: Filtering

Substep  2a: Filter Associated with Each Model. Each model Mj is associated with a circular recursive filter described by a prediction step and a correction step.Prediction (20) θ ^ k ∣ k - 1 j = θ ^ k - 1 0 j + ξ j (21) P k ∣ k - 1 j = A - 1 A P k - 1 0 j A κ Q jwith (i)
θ^k∣k-1j, Pk∣k-1j: angle and concentration parameter predicted by model Mj;(ii)
κQj: concentration parameter of the state noise for Mj;(iii)
ξj: defines the circular motion for model Mj.Correction (22) θ ^ k j = a r c t a n ∗ S k j , C k j (23) P k j = C k j 2 + S k j 2with(24)Ckj=Pk∣k-1jcosθ^k∣k-1j+κRcosϕk(25)Skj=Pk∣k-1jsinθ^k∣k-1j+κRsinϕk(i)
ϕk: measurement obtained at time k;(ii)
κR: concentration parameter of the measurement noise.Substep  2b: Processing of the Likelihood of Each Model. The innovation is given for each model Mj by(26)vkj=ϕk-θ^k∣k-1jIts concentration parameter is(27)Svkj=A-1APk∣k-1jAκRThe likelihood function in the circular domain is defined with a von Mises distribution as(28)Λkj=fCNvkj;0,SvkjThe valueΛkj is higher when the measurement ϕk is close to the estimate θ^k∣k-1j obtained with model Mj.Substep  2c: Derivation of the Model Probability. The probability of each model is determined with the likelihood function defined in Substep 2b.(29)μkj=1c.Λkjc¯jwith(i)
c¯j: given by (17);(ii)
c: normalizing factor defined by(30)c=∑j=1rΛkjc¯j


### 3.2.4. Step 3: Fusion

The estimates provided by each filter are combined using a weighted sum in the circular domain. The weights are the models probabilities. They are used to increase the contribution of the most probable model in the processing of the final estimate:(31)θ^k=arctan∗∑j=1rμkjsinθ^kj,∑j=1rμkjcosθ^kjThe concentration parameter of the final estimate is given by(32)Pk=A-1∏j=1rAPkjμkj∏j=1rexp-θ^kj-θ^k22μkjIn the following section, we assess the CIMM algorithm with experimental data.


## 3.2.1. Principle of the CIMM Filter

Let us consider a system and its model defined fromr models {M1,…,Mr}. We assume that the initial probability μ0j=P{M0j} of each model Mj is known. The transition probability pij=PMkj∣Mk-1i of model Mi at time k-1 to model Mj at time k is also assumed to be known.Like the IMM, the CIMM filter is executed in three stages:interaction/mixing,filtering andcombination/fusion. At each time step k, the previous states are mixed then used by the circular filters defined in [25]. A circular filter is associated with each model to create r estimates. These estimates are combined to produce a single final estimate. The weights in the combination/fusion are the probabilities of each model. The architecture of the CIMM filter is illustrated in Figure 2.Each model of the CIMM filter is described by a state and a measurement equation.State Equation.The direction θk represents the state at time k: (14)θk=(θk-1+ξmod2π-π+νk-1ν k - 1 is the noise on the state model. As explained earlier in Section 3.1, ξ=0 stands for a movement without maneuver, and ξ≠0 for a movement with a turn maneuver.Measurement Equation.The measurements ϕk of the angle θk are obtained by a compass. The measurement equation is given by(15)ϕk=θk+wkw k is the measurement noise. It is distributed according to a centered von Mises distribution with concentration parameter κR. In the following, we describe each component of the CIMM architecture shown in Figure 2. The CIMM algorithm steps are further explained in Algorithm 1 and Figure 3.Algorithm 1:CIMM algorithm.
1foreach  timestep  k  do //  ∗∗  Mixing  ∗∗ 2foreach  model  i  and model  j  do  Conditional probability:   μk-1i∣j←COND_PROB(μk-1i,pij); 3foreach  modelj  do 4Intermediate angle  θ^k-10j←INT_ANGLEμk-1i∣j,θk-1i; 5Intermediate concentration parameter  Pk-10j←INT_CP(Pk-1i,μk-1i∣j,θk-10j,{θk-1i}) ; 6end 11//  ∗∗  Filtering  ∗∗ 7foreach  model  j  do 8Filter prediction  (θ^k∣k-1j,Pk∣k-1j)←FILTER_PRED(θk-10j,Pk-10j,ξj,κQj); 9Filter correction  (θ^kj,Pkj)←FILTER_CORR(θ^k∣k-1j,Pk∣k-1j,ϕk,κR); 10Model likelihood  Λkj←LIKELIHOOD(θ^k∣k-1j,Pk∣k-1j,ϕk,κR); 11end 12 foreach  model  j  do Model probability  μkj←MODEL_PROBΛkj,Λki; 11//  ∗∗  Fusion  ∗∗ 13Estimated angle  θ^k←ESTIM_ANGLE(θ^kj,{μkj}); 14Concentration parameter  Pk←ESTIM_CPθ^k,θ^kj,Pkj,μkj; 15endFigure 3
CIMM flowchart.


## 3.2.2. Step 1: Interaction/Mixing

Substep  1a: Computation of the Conditional Model Probability. Let us define the conditional model probability μi∣j which is the probability of model Mi at time k-1 knowing Mj the model at time k:(16)μk-1i∣j=1c¯jpijμk-1i(17)c¯j=∑i=1rpijμk-1iwith(i)
μk-1i: probability of model Mi at time k-1;(ii)
c¯j: normalizing factor;(iii)
pij: probability of transition from model Mi to model Mj.Substep  1b: Mixing. In this step, the estimates delivered by each filter at time k-1 are combined. The weights are the conditional model probability μk-1i∣j. (18)θ^k-10j=arctan∗∑i=1rμk-1i∣jsinθ^k-1i,∑i=1rμk-1i∣jcosθ^k-1i(19)Pk-10j=A-1∏i=1rAPk-1iμk-1i∣j∏i=1rexp-θ^k-1i-θ^k-10j22μk-1i∣jwith θ^k-10j, Pk-10j, respectively, being the intermediate angle (after mixing) and the concentration parameter provided to filter j and θ^k-1i, Pk-1i respectively, being the estimated state and the state concentration parameter associated with the circular filter with model i.


## 3.2.3. Step 2: Filtering

Substep  2a: Filter Associated with Each Model. Each model Mj is associated with a circular recursive filter described by a prediction step and a correction step.Prediction (20) θ ^ k ∣ k - 1 j = θ ^ k - 1 0 j + ξ j (21) P k ∣ k - 1 j = A - 1 A P k - 1 0 j A κ Q jwith (i)
θ^k∣k-1j, Pk∣k-1j: angle and concentration parameter predicted by model Mj;(ii)
κQj: concentration parameter of the state noise for Mj;(iii)
ξj: defines the circular motion for model Mj.Correction (22) θ ^ k j = a r c t a n ∗ S k j , C k j (23) P k j = C k j 2 + S k j 2with(24)Ckj=Pk∣k-1jcosθ^k∣k-1j+κRcosϕk(25)Skj=Pk∣k-1jsinθ^k∣k-1j+κRsinϕk(i)
ϕk: measurement obtained at time k;(ii)
κR: concentration parameter of the measurement noise.Substep  2b: Processing of the Likelihood of Each Model. The innovation is given for each model Mj by(26)vkj=ϕk-θ^k∣k-1jIts concentration parameter is(27)Svkj=A-1APk∣k-1jAκRThe likelihood function in the circular domain is defined with a von Mises distribution as(28)Λkj=fCNvkj;0,SvkjThe valueΛkj is higher when the measurement ϕk is close to the estimate θ^k∣k-1j obtained with model Mj.Substep  2c: Derivation of the Model Probability. The probability of each model is determined with the likelihood function defined in Substep 2b.(29)μkj=1c.Λkjc¯jwith(i)
c¯j: given by (17);(ii)
c: normalizing factor defined by(30)c=∑j=1rΛkjc¯j


## 3.2.4. Step 3: Fusion

The estimates provided by each filter are combined using a weighted sum in the circular domain. The weights are the models probabilities. They are used to increase the contribution of the most probable model in the processing of the final estimate:(31)θ^k=arctan∗∑j=1rμkjsinθ^kj,∑j=1rμkjcosθ^kjThe concentration parameter of the final estimate is given by(32)Pk=A-1∏j=1rAPkjμkj∏j=1rexp-θ^kj-θ^k22μkjIn the following section, we assess the CIMM algorithm with experimental data.


## 4. Experimentation

The aim of this experimentation is first to assess the method with synthetic data and second to show the interest of the proposed approach with real data. In the synthetic case, we evaluate the proposed CIMM filter in terms of heading estimation accuracy and maneuvers detection. In the real case, we use the proposed approach to detect the maneuvers of a vehicle.


### 4.1. Assessment on Synthetic Data

In this experimentation, we consider the mobile trajectory presented in Figure4(a). The mobile carries a sensor that provides observations of its heading. The real heading and an example of the observations are presented Figure 4(b). During the trajectory, the mobile makes several maneuvers. For this application, we use three models associated with three different motions: the first model assumes that the heading is constant (ξ=0), the second assumes that the mobile turns to its left relatively to its current direction (ξ<0), and the third assumes that the mobile turns to its right relatively to its current direction (ξ>0). We show in Figure 4(c) the probability of each model as a function of time.Figure 4
The experiment with synthetic data considers a mobile with a heading sensor. Three models are studied: no turn (ξ=0), left turn (ξ<0), and right turn (ξ>0). In area 2, a -π/π transition is observed. (a) Synthetic trajectory. (b) Mobile heading during the trajectory. (c) Models probabilities.
(a) (b) (c)We assess the proposed CIMM filter in terms of heading estimation accuracy and maneuver detection robustness. In the linear case, IMM filtering is the best way to solve a dynamic estimation problem when several models can be observed. We want to show through this experimentation that the CIMM filter is an extension of the IMM filter to the linear-circular case. In this context, we consider two areas of study in Figure4(b). Area 1 has no transitions between π and -π neither in the real direction nor in the noisy observations, whereas in area 2, such transitions can be observed. Thus, observations in area 1 can be considered as linear.For this experimentation, we define in Table1 the filters parameters. Q and R are, respectively, the covariance of the process noise and the covariance of the observation noise for the IMM filter. For the CIMM filter, κQ and κR are, respectively, the concentration parameter of the process noise and the concentration parameter of the observation noise. For both filters, pi,i is the probability to stay in the same model and pi,j≠i the probability of transition from one model to another. ξ is the absolute value of the decrement in model 2 and of the increment in model 3.Table 1
Filters parameters.
CIMM IMM κ Q κ R p i , i p i , j ≠ i ξ Q R p i , i p i , j ≠ i ξ 500000 34 0.99 0.005 0.007 0.000001 0.04 0.99 0.005 0.007To assess the estimation accuracy, we process the circular distance between the true and the estimated directions. This distance is defined by the following expression:(33)dk=1-cosθ^k-θkwhere θk is the true direction of the mobile and θ^k its estimate. The circular distance can take values between zero and two. We show in Figures 5(a) and 5(c) the estimated direction as a function of time for both filters (IMM and CIMM) in the two studied areas. We show in Figures 5(b) and 5(d) the circular distance for both filters.Figure 5
(a) Estimated direction in area 1. (b) Circular distance between the estimated and true direction in area 1. (c) Estimated direction in area 2. (d) Circular distance between the estimated and true directions in area 2. The difference between the IMM and the CIMM heading estimation is shown in (d) at the-π/π transition (t=250s).
(a) (b) (c) (d)In Figures5(a) and 5(b), we note that the accuracies of the IMM and the CIMM filters are very close. The circular distances are indeed almost the same for the two filters. This result concerns area 1 that can be considered as a linear case given the angle observations. We can conclude that the CIMM filter acts as an IMM in this linear-circular case. In Figures 5(c) and 5(d), we observe that the accuracy of the CIMM filter is higher than that of the IMM. The circular distances are indeed higher for the latter. This result concerns area 2, a linear-circular case, where a transition between π and -π occurs at time t=250(s). Unlike the CIMM, this transition is seen by the IMM filter as an abrupt change and the related estimation is wrong. We observe that, in this linear-circular case, the CIMM is not affected by the direction transition and acts as the IMM filter in the linear case.We show in Figure6 the models probabilities in both areas as a function of time. With Figures 6(a) and 6(b), we observe that the probabilities of the IMM and the CIMM filters are close in area 1. However, Figures 6(c) and 6(d) show that the probabilities are different for the two filters at the transition instant t=250(s). By comparison of Figures 6(c) and 6(d) with the true models probabilities of Figure 4(c), we can conclude that the estimated CIMM probabilities are not affected by the transition between π and -π unlike the IMM.Figure 6
(a) IMM models probabilities in area 1. (b) CIMM models probabilities in area 1. (c) IMM models probabilities in area 2. (d) CIMM models probabilities in area 2. Unlike the IMM in (c), the CIMM models probabilities in (d) are not affected by the-π/π transition at t=250s.
(a) (b) (c) (d)To assess the accuracy of both filters in the two areas, we calculate the circular dispersion which is the sum of the circular distances. We report in Table2 the circular dispersions in the two areas for different noise powers defined by κ, the concentration parameter of the von Mises distribution of the noise.Table 2
Circular dispersion of the estimated heading.
Area 1 Area 2 κ IMM CIMM IMM CIMM 50 0.7 0.7 47.32 0.69 10 3.58 3.57 146.22 3.92 1 74.54 74.47 1494.16 77.41We observe from Table2 that the circular dispersions for both filters in area 1 are very close. This result confirms that the CIMM is as accurate as the IMM filter when the linear-circular domain is similar to the linear domain. However, the circular dispersion in area 2 is different for the two filters. For κ=50, this difference is due to a transition in the true heading at time t=250s. For κ=10 and 1, this difference is not only due to this transition but also to the important variations in the noisy observations. Given the results shown in Table 2 in area 2, we can conclude that the CIMM filter is more accurate than the IMM in the linear-circular domain. Furthermore, the circular dispersions in areas 1 and 2 are similar for the CIMM filter; we conclude that the CIMM filter acts in the linear-circular domain as the IMM filter in the linear domain.To evaluate the proposed filter in terms of maneuver detection, we calculate the probability to detect the model of a maneuver. A maneuver is detected when its estimated model probability is greater than1/2. We show in Figure 4(c) the true models probabilities as a function of time. In this context, the probability of detection is defined as follows: we sum the number of detections obtained when the true model probability is equal to 1 with the number of nondetection when the true probability is equal to 0. We report in Table 3 the probability of detection of each model in the different areas and for different values of κ.Table 3
Models probabilities of detection for the two areas.
IMM Area 1 Area2 κ model 1 model 2 model 3 model 1 model 2 model 3 50 0.89 0.98 0.92 0.94 0.97 0.92 10 0.77 0.90 0.84 0.52 0.71 0.68 1 0.47 0.63 0.52 0.37 0.57 0.53  CIMM Area 1 Area2 κ model 1 model 2 model 3 model 1 model 2 model 3  50 0.90 0.98 0.93 0.94 1.00 0.95 10 0.77 0.90 0.84 0.81 0.94 0.85 1 0.47 0.58 0.53 0.33 0.56 0.51We observe in Table3 that, for area 1, like for the circular dispersion case of Table 2, the probability to detect a model with the IMM and the CIMM filters is close. In area 2, for κ=50 we observe in Table 3 a small difference for the two filters and for models 2 and 3. In this case, the smaller probability of detection of the IMM filter is due to the heading transition at t=250s. When κ=10 the probability of detection of the CIMM filter is higher. In this case the IMM filter fails because of the transitions in the noisy observations. When κ=1, the detection fails for both filters due to the high noise power. Finally, we can observe that, in Table 3 for the CIMM filter, the probabilities of detection are close in areas 1 and 2 for all models. These results confirm the ones already obtained by analysing the circular dispersion, thus allowing to conclude again that the CIMM filter acts in the linear-circular domain as the IMM filter in the linear domain.


### 4.2. Application to Maneuver Detection

The proposed filter is applied to maneuver detection with real data obtained from a vehicle trajectory. Sensors observations are provided by Xsens device MTi-G-710 [31]. This device provides measurements of acceleration (accelerometers), rotation rate (Rate Gyro), magnetic field (magnetometer), and position (GNSS receiver). In this context, we process the heading directions with the measurements of acceleration and magnetic field. These noisy observations are applied to the IMM and CIMM filters to estimate the heading directions and to detect the maneuvers. The Xsens device MTi-G-710 also provides an estimate of the heading direction through an integrated Kalman filter that fuses the measurements provided by the accelerometers, Rate Gyro, magnetometer, and the GNSS receiver. This estimated heading direction is considered as the reference in this experimentation. In this context, the reference trajectory can be considered as a smoothed trajectory. In our approach, the data provided by the sensors were stored during the experimentation. The algorithm was not implemented in real time, but it processed the data on line.We show in Figure7(a) the reference heading direction as a function of time. We show in Figure 7(b) the trajectory of the vehicle. We define in Figure 7(a) the different areas of study that will be used to compare the two filters. These areas focus on the turns where most of the difference between the two filters is observed. We define in Figure 7(b) the various maneuvers of the vehicle on the trajectory. We show in Figure 8 the direction of reference and the observations in area 1.Figure 7
Experiment with real data showing the trajectory and the direction of a vehicle equipped with a heading sensor. The trajectory starts from the left side in (b). In area 1, transitions between-π and π are observed. (a) Direction of reference. (b) Trajectory of the vehicle.
(a) (b)Figure 8
Heading observations in area 1 showing the transitions between-π and π.The maneuvers detected by the IMM and CIMM filters are, respectively, presented in Figures9(a) and 9(b). In this experiment, a maneuver is detected when its model probability is greater than 1/2. We can observe that the detected maneuvers are different for the IMM and CIMM filter when there is a transition between π and -π. This effect is observed in area 1. The differences in detection are indicated by arrows in Figure 9. As in the synthetic case, the IMM filter fails in the presence of transitions in the observations of direction.Figure 9
Comparison between the maneuvers detected by the IMM and the CIMM. The-π/π transitions are mishandled by the IMM in the areas pointed by the arrows. (a) Detected maneuvers with the IMM filter. (b) Detected maneuvers with the CIMM filter.
(a) (b)In order to evaluate the filters with the direction of reference, we compute the circular distance and the probabilities of detection for the different areas of study. We report in Table4 the circular dispersion between the direction of reference and the estimated directions obtained with the IMM and CIMM filters. The circular dispersion is processed in all areas.Table 4
Circular dispersion of the estimated heading.
IMM CIMM Area 1 355.19 28.20 Area 2 39.23 27.67We report in Table5 the probabilities of detection processed with the models probabilities provided by the IMM and CIMM filter and the models probabilities of reference defined with the direction of reference presented in Figure 7(b).Table 5
Models probabilities of detection.
IMM CIMM model 1 model 2 model 3 model 1 model 2 model 3 Area 1 0.82 0.86 0.84 0.94 0.98 0.96 Area 2 0.84 0.87 0.90 0.90 0.94 0.96As in the synthetic case, we observe that the proposed CIMM filter is more accurate in terms of estimation and detection than the classical IMM filter. In area 2 where there are turns with no transitions betweenπ and -π the two filters have a more similar accuracy compared to area 1. In area 1, when a transition appears in the observations, the CIMM filter does not fail due to its circular nature and provides more accurate results.


### 4.3. Analysis of Complexity

This theoretical analysis considers the scalar case that is studied in this article for both the linear IMM filter and the Circular CIMM filter. The two filters have the same structure and their complexity differs in terms of the complexity of the computational operators but not in terms of the memory space. The implementation of the CIMM filter is more complex. In the scalar case, the IMM filter uses only multiplications, divisions, and additions. However, the CIMM filter uses more complex operators like the trigonometric functionssin(), cos(), and arctan∗() and the exponential function exp() as well as an approximation of the Bessel functions I0() and I1(). The computation of the Bessel function is indeed 17 times longer than the computation of an addition.Let us compare the implementations of the filters step by step:(i)
Interaction/Mixing, Section3.2.2, Substep 1a. The processing complexity is the same for the two filters.(ii)
Interaction/Mixing, Section3.2.2, Substep 1b. The CIMM filter is more complex because it uses the trigonometric functions sin(), cos(), and arctan∗(), the exponential function exp(), and approximations of the Bessel functions I0() and I1().(iii)
Filtering, Section3.2.3, Substep 2a. The CIMM filter is more complex because it uses the trigonometric functions sin(), cos(), and arctan∗() and approximations of the Bessel functions I0(), I1().(iv)
Filtering Section3.2.3, Substep 2b. The CIMM filter is more complex because it uses the trigonometric function cos() and an approximation of the Bessel function I0() to process the likelihood.(v)
Filtering Section3.2.3, Substep 2c. The processing complexity is the same for the two filters.(vi)
Fusion, Section3.2.4. The CIMM filter is more complex because it uses the trigonometric functions sin(), cos(), and arctan∗(), the exponential function exp(), and approximations of the Bessel functions I0(), I1().In order to assess the difference of complexity between the IMM filter and the CIMM filter, we compare the processing time of the experimentation on synthetic and real data. We report in Table6 the time of execution measured for each filter. In the synthetic case, the experimentation lasts 350(s) and the sampling frequency is 10(Hz) so the filter processes 3500 observations. The filters are implemented with Matlab and run on an Intel(R) Xeon(R) CPU E3-1505M @ 2.80(GHz).Table 6
Processing time.
IMM CIMM 1.277(s) 1.637   ( s )In conclusion, regarding the analysis of complexity and the results shown in Table6, the CIMM filter is more complex than the IMM filter. However, this increase in complexity does not prevent the CIMM filter implementation in real time.


## 4.1. Assessment on Synthetic Data

In this experimentation, we consider the mobile trajectory presented in Figure4(a). The mobile carries a sensor that provides observations of its heading. The real heading and an example of the observations are presented Figure 4(b). During the trajectory, the mobile makes several maneuvers. For this application, we use three models associated with three different motions: the first model assumes that the heading is constant (ξ=0), the second assumes that the mobile turns to its left relatively to its current direction (ξ<0), and the third assumes that the mobile turns to its right relatively to its current direction (ξ>0). We show in Figure 4(c) the probability of each model as a function of time.Figure 4
The experiment with synthetic data considers a mobile with a heading sensor. Three models are studied: no turn (ξ=0), left turn (ξ<0), and right turn (ξ>0). In area 2, a -π/π transition is observed. (a) Synthetic trajectory. (b) Mobile heading during the trajectory. (c) Models probabilities.
(a) (b) (c)We assess the proposed CIMM filter in terms of heading estimation accuracy and maneuver detection robustness. In the linear case, IMM filtering is the best way to solve a dynamic estimation problem when several models can be observed. We want to show through this experimentation that the CIMM filter is an extension of the IMM filter to the linear-circular case. In this context, we consider two areas of study in Figure4(b). Area 1 has no transitions between π and -π neither in the real direction nor in the noisy observations, whereas in area 2, such transitions can be observed. Thus, observations in area 1 can be considered as linear.For this experimentation, we define in Table1 the filters parameters. Q and R are, respectively, the covariance of the process noise and the covariance of the observation noise for the IMM filter. For the CIMM filter, κQ and κR are, respectively, the concentration parameter of the process noise and the concentration parameter of the observation noise. For both filters, pi,i is the probability to stay in the same model and pi,j≠i the probability of transition from one model to another. ξ is the absolute value of the decrement in model 2 and of the increment in model 3.Table 1
Filters parameters.
CIMM IMM κ Q κ R p i , i p i , j ≠ i ξ Q R p i , i p i , j ≠ i ξ 500000 34 0.99 0.005 0.007 0.000001 0.04 0.99 0.005 0.007To assess the estimation accuracy, we process the circular distance between the true and the estimated directions. This distance is defined by the following expression:(33)dk=1-cosθ^k-θkwhere θk is the true direction of the mobile and θ^k its estimate. The circular distance can take values between zero and two. We show in Figures 5(a) and 5(c) the estimated direction as a function of time for both filters (IMM and CIMM) in the two studied areas. We show in Figures 5(b) and 5(d) the circular distance for both filters.Figure 5
(a) Estimated direction in area 1. (b) Circular distance between the estimated and true direction in area 1. (c) Estimated direction in area 2. (d) Circular distance between the estimated and true directions in area 2. The difference between the IMM and the CIMM heading estimation is shown in (d) at the-π/π transition (t=250s).
(a) (b) (c) (d)In Figures5(a) and 5(b), we note that the accuracies of the IMM and the CIMM filters are very close. The circular distances are indeed almost the same for the two filters. This result concerns area 1 that can be considered as a linear case given the angle observations. We can conclude that the CIMM filter acts as an IMM in this linear-circular case. In Figures 5(c) and 5(d), we observe that the accuracy of the CIMM filter is higher than that of the IMM. The circular distances are indeed higher for the latter. This result concerns area 2, a linear-circular case, where a transition between π and -π occurs at time t=250(s). Unlike the CIMM, this transition is seen by the IMM filter as an abrupt change and the related estimation is wrong. We observe that, in this linear-circular case, the CIMM is not affected by the direction transition and acts as the IMM filter in the linear case.We show in Figure6 the models probabilities in both areas as a function of time. With Figures 6(a) and 6(b), we observe that the probabilities of the IMM and the CIMM filters are close in area 1. However, Figures 6(c) and 6(d) show that the probabilities are different for the two filters at the transition instant t=250(s). By comparison of Figures 6(c) and 6(d) with the true models probabilities of Figure 4(c), we can conclude that the estimated CIMM probabilities are not affected by the transition between π and -π unlike the IMM.Figure 6
(a) IMM models probabilities in area 1. (b) CIMM models probabilities in area 1. (c) IMM models probabilities in area 2. (d) CIMM models probabilities in area 2. Unlike the IMM in (c), the CIMM models probabilities in (d) are not affected by the-π/π transition at t=250s.
(a) (b) (c) (d)To assess the accuracy of both filters in the two areas, we calculate the circular dispersion which is the sum of the circular distances. We report in Table2 the circular dispersions in the two areas for different noise powers defined by κ, the concentration parameter of the von Mises distribution of the noise.Table 2
Circular dispersion of the estimated heading.
Area 1 Area 2 κ IMM CIMM IMM CIMM 50 0.7 0.7 47.32 0.69 10 3.58 3.57 146.22 3.92 1 74.54 74.47 1494.16 77.41We observe from Table2 that the circular dispersions for both filters in area 1 are very close. This result confirms that the CIMM is as accurate as the IMM filter when the linear-circular domain is similar to the linear domain. However, the circular dispersion in area 2 is different for the two filters. For κ=50, this difference is due to a transition in the true heading at time t=250s. For κ=10 and 1, this difference is not only due to this transition but also to the important variations in the noisy observations. Given the results shown in Table 2 in area 2, we can conclude that the CIMM filter is more accurate than the IMM in the linear-circular domain. Furthermore, the circular dispersions in areas 1 and 2 are similar for the CIMM filter; we conclude that the CIMM filter acts in the linear-circular domain as the IMM filter in the linear domain.To evaluate the proposed filter in terms of maneuver detection, we calculate the probability to detect the model of a maneuver. A maneuver is detected when its estimated model probability is greater than1/2. We show in Figure 4(c) the true models probabilities as a function of time. In this context, the probability of detection is defined as follows: we sum the number of detections obtained when the true model probability is equal to 1 with the number of nondetection when the true probability is equal to 0. We report in Table 3 the probability of detection of each model in the different areas and for different values of κ.Table 3
Models probabilities of detection for the two areas.
IMM Area 1 Area2 κ model 1 model 2 model 3 model 1 model 2 model 3 50 0.89 0.98 0.92 0.94 0.97 0.92 10 0.77 0.90 0.84 0.52 0.71 0.68 1 0.47 0.63 0.52 0.37 0.57 0.53  CIMM Area 1 Area2 κ model 1 model 2 model 3 model 1 model 2 model 3  50 0.90 0.98 0.93 0.94 1.00 0.95 10 0.77 0.90 0.84 0.81 0.94 0.85 1 0.47 0.58 0.53 0.33 0.56 0.51We observe in Table3 that, for area 1, like for the circular dispersion case of Table 2, the probability to detect a model with the IMM and the CIMM filters is close. In area 2, for κ=50 we observe in Table 3 a small difference for the two filters and for models 2 and 3. In this case, the smaller probability of detection of the IMM filter is due to the heading transition at t=250s. When κ=10 the probability of detection of the CIMM filter is higher. In this case the IMM filter fails because of the transitions in the noisy observations. When κ=1, the detection fails for both filters due to the high noise power. Finally, we can observe that, in Table 3 for the CIMM filter, the probabilities of detection are close in areas 1 and 2 for all models. These results confirm the ones already obtained by analysing the circular dispersion, thus allowing to conclude again that the CIMM filter acts in the linear-circular domain as the IMM filter in the linear domain.


## 4.2. Application to Maneuver Detection

The proposed filter is applied to maneuver detection with real data obtained from a vehicle trajectory. Sensors observations are provided by Xsens device MTi-G-710 [31]. This device provides measurements of acceleration (accelerometers), rotation rate (Rate Gyro), magnetic field (magnetometer), and position (GNSS receiver). In this context, we process the heading directions with the measurements of acceleration and magnetic field. These noisy observations are applied to the IMM and CIMM filters to estimate the heading directions and to detect the maneuvers. The Xsens device MTi-G-710 also provides an estimate of the heading direction through an integrated Kalman filter that fuses the measurements provided by the accelerometers, Rate Gyro, magnetometer, and the GNSS receiver. This estimated heading direction is considered as the reference in this experimentation. In this context, the reference trajectory can be considered as a smoothed trajectory. In our approach, the data provided by the sensors were stored during the experimentation. The algorithm was not implemented in real time, but it processed the data on line.We show in Figure7(a) the reference heading direction as a function of time. We show in Figure 7(b) the trajectory of the vehicle. We define in Figure 7(a) the different areas of study that will be used to compare the two filters. These areas focus on the turns where most of the difference between the two filters is observed. We define in Figure 7(b) the various maneuvers of the vehicle on the trajectory. We show in Figure 8 the direction of reference and the observations in area 1.Figure 7
Experiment with real data showing the trajectory and the direction of a vehicle equipped with a heading sensor. The trajectory starts from the left side in (b). In area 1, transitions between-π and π are observed. (a) Direction of reference. (b) Trajectory of the vehicle.
(a) (b)Figure 8
Heading observations in area 1 showing the transitions between-π and π.The maneuvers detected by the IMM and CIMM filters are, respectively, presented in Figures9(a) and 9(b). In this experiment, a maneuver is detected when its model probability is greater than 1/2. We can observe that the detected maneuvers are different for the IMM and CIMM filter when there is a transition between π and -π. This effect is observed in area 1. The differences in detection are indicated by arrows in Figure 9. As in the synthetic case, the IMM filter fails in the presence of transitions in the observations of direction.Figure 9
Comparison between the maneuvers detected by the IMM and the CIMM. The-π/π transitions are mishandled by the IMM in the areas pointed by the arrows. (a) Detected maneuvers with the IMM filter. (b) Detected maneuvers with the CIMM filter.
(a) (b)In order to evaluate the filters with the direction of reference, we compute the circular distance and the probabilities of detection for the different areas of study. We report in Table4 the circular dispersion between the direction of reference and the estimated directions obtained with the IMM and CIMM filters. The circular dispersion is processed in all areas.Table 4
Circular dispersion of the estimated heading.
IMM CIMM Area 1 355.19 28.20 Area 2 39.23 27.67We report in Table5 the probabilities of detection processed with the models probabilities provided by the IMM and CIMM filter and the models probabilities of reference defined with the direction of reference presented in Figure 7(b).Table 5
Models probabilities of detection.
IMM CIMM model 1 model 2 model 3 model 1 model 2 model 3 Area 1 0.82 0.86 0.84 0.94 0.98 0.96 Area 2 0.84 0.87 0.90 0.90 0.94 0.96As in the synthetic case, we observe that the proposed CIMM filter is more accurate in terms of estimation and detection than the classical IMM filter. In area 2 where there are turns with no transitions betweenπ and -π the two filters have a more similar accuracy compared to area 1. In area 1, when a transition appears in the observations, the CIMM filter does not fail due to its circular nature and provides more accurate results.


## 4.3. Analysis of Complexity

This theoretical analysis considers the scalar case that is studied in this article for both the linear IMM filter and the Circular CIMM filter. The two filters have the same structure and their complexity differs in terms of the complexity of the computational operators but not in terms of the memory space. The implementation of the CIMM filter is more complex. In the scalar case, the IMM filter uses only multiplications, divisions, and additions. However, the CIMM filter uses more complex operators like the trigonometric functionssin(), cos(), and arctan∗() and the exponential function exp() as well as an approximation of the Bessel functions I0() and I1(). The computation of the Bessel function is indeed 17 times longer than the computation of an addition.Let us compare the implementations of the filters step by step:(i)
Interaction/Mixing, Section3.2.2, Substep 1a. The processing complexity is the same for the two filters.(ii)
Interaction/Mixing, Section3.2.2, Substep 1b. The CIMM filter is more complex because it uses the trigonometric functions sin(), cos(), and arctan∗(), the exponential function exp(), and approximations of the Bessel functions I0() and I1().(iii)
Filtering, Section3.2.3, Substep 2a. The CIMM filter is more complex because it uses the trigonometric functions sin(), cos(), and arctan∗() and approximations of the Bessel functions I0(), I1().(iv)
Filtering Section3.2.3, Substep 2b. The CIMM filter is more complex because it uses the trigonometric function cos() and an approximation of the Bessel function I0() to process the likelihood.(v)
Filtering Section3.2.3, Substep 2c. The processing complexity is the same for the two filters.(vi)
Fusion, Section3.2.4. The CIMM filter is more complex because it uses the trigonometric functions sin(), cos(), and arctan∗(), the exponential function exp(), and approximations of the Bessel functions I0(), I1().In order to assess the difference of complexity between the IMM filter and the CIMM filter, we compare the processing time of the experimentation on synthetic and real data. We report in Table6 the time of execution measured for each filter. In the synthetic case, the experimentation lasts 350(s) and the sampling frequency is 10(Hz) so the filter processes 3500 observations. The filters are implemented with Matlab and run on an Intel(R) Xeon(R) CPU E3-1505M @ 2.80(GHz).Table 6
Processing time.
IMM CIMM 1.277(s) 1.637   ( s )In conclusion, regarding the analysis of complexity and the results shown in Table6, the CIMM filter is more complex than the IMM filter. However, this increase in complexity does not prevent the CIMM filter implementation in real time.


## 5. Conclusion

In this article we propose an Interacting Multimodel filter for circular data. The aim of the proposed filter is to detect rotations of a mobile in the linear-circular domain where observations of angles between-π and π are defined as a function of time. In our application, we detect maneuvers of the mobile with heading observations. We consider three models: no-turn, turn to the right, and turn to the left. The aim of the filter is to provide an estimate of the mobile direction and to detect its different maneuvers.The proposed filter is defined in a Bayesian framework with the circular normal distribution of von Mises. In this article, we derive an approximation of the statistic parameters of a weighted sum of von Mises distributions. This approximation is used in the definition of the fusion and mixing steps of the Circular IMM filter.The experimentation on synthetic data shows that the proposed CIMM filter acts in the linear-circular domain as the IMM filter in the linear domain. The interest of the proposed filter is that the transitions betweenπ and -π of the direction and the noisy observations do not affect the estimation process unlike the IMM filter. An experimentation on real data confirms that the proposed CIMM filter, compared to the IMM filter, improves the heading direction estimation and the maneuver detection.The prospects of this work are about drone attitude heading estimation with multimodel approaches. In this context, several states and measurements will have to be considered for the pitch, roll, and yaw angles. The research will focus on the correlation between the state components in the filtering process in order to model the dependence between these three circular states.



---

*Source: 3531075-2018-11-06.xml*