Skip to main content

Binomial Gaussian mixture filter

Abstract

In this work, we present a novel method for approximating a normal distribution with a weighted sum of normal distributions. The approximation is used for splitting normally distributed components in a Gaussian mixture filter, such that components have smaller covariances and cause smaller linearization errors when nonlinear measurements are used for the state update. Our splitting method uses weights from the binomial distribution as component weights. The method preserves the mean and covariance of the original normal distribution, and in addition, the resulting probability density and cumulative distribution functions converge to the original normal distribution when the number of components is increased. Furthermore, an algorithm is presented to do the splitting such as to keep the linearization error below a given threshold with a minimum number of components. The accuracy of the estimate provided by the proposed method is evaluated in four simulated single-update cases and one time series tracking case. In these tests, it is found that the proposed method is more accurate than other Gaussian mixture filters found in the literature when the same number of components is used and that the proposed method is faster and more accurate than particle filters.

1 Introduction

Estimation of a state from noisy nonlinear measurements is a problem arising in many different technical applications including object tracking, navigation, economics, and computer vision. In this work, we focus on Bayesian update of a state with a measurement when the measurement function is nonlinear. The measurement value y is assumed to be a d-dimensional vector whose dependence on the n-dimensional state x is given by

$$ \text{y} = h (\text{x}) + \varepsilon, $$
((1))

where h(x) is a nonlinear measurement function and ε is the additive measurement error, assumed to be zero mean Gaussian and independent of the prior, with nonsingular covariance matrix R. When a Kalman filter extension that linearizes the measurement function is used for the update, the linearization error involved is dependent on the measurement function and also the covariance of the prior: generally, larger prior covariances give larger linearization errors. In some cases, e.g., when the posterior is multimodal, no Kalman filter extension that uses a single normal distribution as the state estimate can estimate the posterior well.

In this paper, we use Gaussian mixtures (GMs) [1] to handle situations where the measurement nonlinearity is high. A GM is a weighted sum of normal distributions

$$ p(\text{x}) = \sum\limits_{k=1}^{m} w_{k} p_{\mathrm{N}}(\text{x} | {\mu}_{k}, P_{k}), $$
((2))

where m is the number of components in the mixture, w k is the component weight \(\left (\sum w_{k} = 1, w_{k}\geq 0\right)\), and p N(x|μ k ,P k ) is the probability density function (pdf) of a multivariate normal distribution with mean μ k and covariance P k . The mean of a GM is

$$ \mu = \sum\limits_{k=1}^{m} w_{k}\mu_{k} $$
((3))

and the covariance is

$$ P = \sum\limits_{k=1}^{m} w_{k} \left[P_{k} + (\mu_{k} - \mu)(\mu_{k}-\mu)^{T} \right]. $$
((4))

Gaussian mixture filters (GMFs) work in such a manner that the prior components are split, if necessary, into smaller components to reduce the linearization error within a component. In splitting, it is desirable that the mixture generated is similar to the original prior. Usually, the mean and covariance of the generated mixture are matched to the mean and covariance of the original component. Convergence properties are more rarely discussed, but, for example, in [2] a GM splitting that converges weakly to the prior component is presented.

We propose in this paper a way of splitting a prior component called Binomial Gaussian mixture (BinoGM) and show that when the number of components is increased, the pdf and cumulative distribution function (cdf) of the resulting mixture converge to the pdf and cdf of the prior component. Furthermore, we propose the Binomial Gaussian mixture filter (BinoGMF) for time series filtering. BinoGMF uses BinoGM in component splitting and optimizes the component covariance so that the measurement nonlinearity is kept small, while minimizing the required number of components needed to have a good approximation of the prior.

In our GMF implementation, we use the unscented Kalman filter (UKF) [3,4] for computing the measurement update. The UKF is used because the proposed splitting algorithm uses measurement evaluations that can be reused in the UKF update. To reduce the number of components in the GMF, we use the algorithm proposed in [5].

The rest of the paper is organized as follows. In Section 2, related work is discussed. Binomial GM is presented in Section 3, and BinoGMF algorithms are given in Section 4. Tests and results are presented in Section 5, and Section 6 concludes the article.

2 Related work

In this section, we present first the UKF algorithm that is used for updating the GM components and then five different GM generating methods that we use also in our tests section for comparison.

2.1 UKF

The UKF update is based on the evaluation of the measurement function at the so-called sigma points. The computation of the sigma points requires the computation of a matrix square root of the covariance matrix P, that is, a matrix L(P) such that

$$ P = {L(P)}{L(P)}^{T}. $$
((5))

This can be done using, for example, the Cholesky decomposition. The extended symmetric sigma point set is

$$ \mathcal{X}_{i} =\left\{ \begin{array}{ll} \mu & i=0 \\ \mu + \boldsymbol{\Delta}_{i} & 1\leq i \leq n \\ \mu - \boldsymbol{\Delta}_{i-n} &n < i \leq 2n \\ \end{array} \right., $$
((6))

where n is the dimension of the state, \(\boldsymbol {\Delta }_{i} = \sqrt {n+\xi } {L(P)}_{[:,i]}\) (L(P)[:,i] is the ith column of L(P)), and ξ is a configuration parameter. The images of the sigma points transformed with the measurement function are

$$ \mathcal{Y}_{i} = h(\mathcal{X}_{i}). $$
((7))

The prior mean μ and covariance P are updated using

$$ \begin{aligned} \mathbf{z} = & \sum\limits_{i=0}^{2n} \Omega_{i,m}\mathcal{Y}_{i} \\ {S} = & {R} + \sum\limits_{i=0}^{2n} \Omega_{i,c} \left(\mathcal{Y}_{i} - \mathbf{z} \right)\left(\mathcal{Y}_{i} - \mathbf{z} \right)^{T} \\ {C} = & \sum\limits_{i=0}^{2n} \Omega_{i,c} \left(\mathcal{X}_{i} - \mu \right)\left(\mathcal{Y}_{i}- \mathbf{z} \right)^{T}, \\ K = & CS^{-1} \\ \mu^{+} = & \mu + K(\mathbf{y}-\mathbf{z}) \\ P^{+} = & P- KSK^{T} \end{aligned} $$
((8))

where μ + is the posterior mean, P + is the posterior covariance, \(\Omega _{0,m} = \frac {\xi }{n+\xi }\), \(\Omega _{0,c} = \frac {\xi }{n+\xi } + (1 - \alpha _{\text {UKF}}^{2}+\beta _{\text {UKF}})\), \(\Omega _{i,c} = \Omega _{i,m} = \frac {1}{2n+2\xi }, (i>0)\) and \(\xi =\alpha _{\text {UKF}}^{2}(n+\kappa _{\text {UKF}})-n\). The variables with subscript UKF are configuration parameters [3,4].

When UKF is used to update a GM, update (8) is computed separately for each component. Each component’s weight is updated with the innovation likelihood

$$ w_{k}^{+} = w_{k} p_{N}(\mathbf{y} | \mathbf{z}_{k},S_{k}), $$
((9))

where k is the index of kth mixture component. Weights are normalized so that \(\sum _{k=1}^{m} w_{k}^{+} = 1\).

2.2 Havlak and Campbell (H&C)

In H&C [6], a GM is used to improve the estimation in the case of the nonlinear state transition model, but the method can be applied also to the case of the nonlinear measurement model by using measurement function in place of state transition function.

In H&C, a linear model is fitted to the transformed sigma points using least squares fitting

$$ \arg\min \sum\left(A\mathcal{X}_{i} + \mathbf{b} - \mathcal{Y}_{i} \right)^{2}. $$
((10))

For computing the direction of maximum nonlinearity, the sigma points \(\mathcal {X}_{i}\) are weighted by the norm of their associated residual \(||A\mathcal {X}_{i} + \mathbf {b} - \mathcal {Y}_{i} ||\) and the direction of nonlinearity is the eigenvector corresponding to the largest eigenvalue of the second moment of this set of weighted sigma points.

In the prior splitting, the first dimension of a standard multivariate normal distribution is replaced with a precomputed mixture. An affine transformation is then applied to this mixture. The affine transformation is chosen to be such that after transformation the split dimension is aligned with the direction of the maximum nonlinearity and such that the resulting mixture is a good approximation of the prior component.

2.3 Faubel and Klakow (F&K)

In [7], the nonlinearity corresponding to ith pair of sigma points is

$$ \eta_{i} = \frac{1}{2} || \mathcal{Y}_{i} + \mathcal{Y}_{i+n} - 2\mathcal{Y}_{0} ||. $$
((11))

If there is more than one component, the component next to be split is chosen to be the one that maximizes

$$ \sqrt{w_{i}\eta_{i}}. $$
((12))

In the paper, there are two alternatives for choosing the direction of maximum nonlinearity. Better results with fewer components were obtained in [7] by using the eigenvector corresponding of the largest eigenvalue of matrix

$$ \sum\limits_{i=1}^{n} \eta_{i} \frac{\left(\mathcal{X}_{i} - \mathcal{X}_{i+n}\right)\left(\mathcal{X}_{i} - \mathcal{X}_{i+n}\right)^{T}}{|| \mathcal{X}_{i} - \mathcal{X}_{i+n}||^{2}}. $$
((13))

The splitting direction is chosen to be the eigenvector of the prior covariance closest to this direction, and the prior components are split into two or three components that preserve the mean and covariance of the original component.

2.4 Split and merge (S&M)

In the split and merge unscented Gaussian mixture filter, the component to be split is chosen to be the one that would have the highest posterior probability (9) with nonlinearity

$$ \eta = \sum \frac{|| \mathcal{Y}_{i} + \mathcal{Y}_{i+n} - 2\mathcal{Y}_{0} ||^{2}}{|| \mathcal{Y}_{i} - \mathcal{Y}_{i+n}||^{2}} $$
((14))

higher than some predefined value [8]. The splitting direction is chosen to be the eigenvector corresponding to the maximum eigenvalue of the prior covariance. Components are split into two components with equal covariances.

2.5 Box GMF (BGMF)

The Box GMF [2] uses the nonlinearity criterion

$$ \frac{\sqrt{\text{tr} {PH}_{i}{PH}_{i}}}{\sqrt{R_{[i,i]}}} > 1, \text{for some}\,\, i, $$
((15))

where H i is the Hessian of the ith component of the measurement equation. This criterion is only used to assess whether or not the splitting should be done.

If a measurement is considered highly nonlinear, the prior is split into a grid along all dimensions. Each grid cell is replaced with a normal distribution having the mean and covariance of the pdf inside the cell and having as weight the amount of probability inside the cell. It is shown that the resulting mixture converges weakly to the prior component.

2.6 Adaptive splitting (AS)

In [9], the splitting direction is computed by finding the direction of maximum nonlinearity of the following transformed version of criterion (15) for one-dimensional measurements:

$$ \text{tr}\,\, PHPH>{R}. $$
((16))

It is shown that the direction of the maximum nonlinearity is aligned with the eigenvector corresponding to the largest absolute eigenvalue of PH. In [9], a numerical method for approximating the splitting direction that is exact for second-order polynomial measurements is also presented.

3 Binomial Gaussian mixture

The BinoGM is based on splitting a normal distributed prior component into smaller ones using weights and transformed locations from the binomial distribution.

The binomial distribution is a discrete probability distribution for the number of successes in a sequence of independent Bernoulli trials with probability of success p. The probability mass function for having k s successes in m s trials is

$$ \begin{aligned} p_{B,m_{s}}(k_{s}) = {m_{s} \choose k_{s}} p^{k_{s}}(1-p)^{m_{s}-k_{s}}. \end{aligned} $$
((17))

A standardized binomial distribution is a binomial distribution scaled and translated so that it has zero mean and unit variance. The pdf of a standardized binomial distribution can be written using Dirac delta notation as

$$ \begin{aligned} p_{B,m}(x)=&\; \sum\limits_{k=1}^{m} {m -1 \choose k - 1} p^{k-1}(1-p)^{m-k} \delta\\ &\times\left(x- \frac{k-1-(m-1)p}{\sqrt{(m-1)p(1-p)}} \right), \end{aligned} $$
((18))

where, for later convenience we have used m=m s +1, the number of possible outcomes, and k=k s +1. By the Berry-Esseen theorem [10], the sequence of cdfs of (18) converges uniformly to the cdf of the standard normal distribution as m increases with fixed p. In other words, the sequence of standardized binomial distributions converges weakly to a standard normal distribution as the number of trials is increased. The error of (18) as an approximation of a standard normal distribution is of order \(\mathcal {O}\left (\frac {1}{\sqrt {m(1-p)p}}\right)\) [11]. This error is smallest when p=0.5, in which case (18) simplifies to

$$ p_{B,m}(x)=\sum\limits_{k=1}^{m} {m-1 \choose k-1} \left(\frac{1}{2}\right)^{m-1} \delta\left(x- \frac{2k-m-1}{\sqrt{m-1}} \right). $$
((19))

If a random variable having a standardized binomial distribution is scaled by σ, then its variance is σ 2.

The BinoGM is constructed using a mixture of standard normal distributions along the main axes, with mixture component means and weights selected using a scaled binomial distribution. The mixture product is then transformed with an affine transformation to have the desired mean and covariance.

To illustrate, the construction of a two-dimensional GM is shown in Figure 1. On the left, there are two binomial distributions having variances \({\sigma ^{2}_{1}}=1\) and \({\sigma ^{2}_{2}}=8\) with probability mass distributed in m 1=5 and m 2=3 points. One-dimensional GMs are generated by taking point mass locations and weights from the discrete distributions as the means and weights of standard normal distributions. The product of the two one-dimensional GMs is a two-dimensional GM, to which the affine transformation (multiplication with an invertible matrix T and addition of a mean μ) is applied.

Figure 1
figure 1

Construction of a BinoGM.

A BinoGM consisting of \(m_{\text {tot}}=\prod _{i=1}^{n} m_{i}\) components has a pdf of the form

$$ p_{\text{BinoGM}}(\mathbf{x})=\sum\limits_{l=1}^{m_{\text{tot}}} w_{l} p_{N}(\mathbf{x} | \mu_{l}, P), $$
((20))

where

$$\begin{array}{@{}rcl@{}} w_{l} = \prod\limits_{i=1}^{n}{ {m_{i}-1 \choose C_{l,i}-1} \left(\frac{1}{2} \right)^{m_{i}-1}} \end{array} $$
((21a))
$$\begin{array}{@{}rcl@{}} \mu_{l} = T\left[ \begin{array}{c} \sigma_{1} \frac{2 C_{l,1} - m_{1} - 1}{\sqrt{m_{1}-1}} \\ \sigma_{2}\frac{2 C_{l,2} - m_{2} - 1}{\sqrt{m_{2}-1}} \\ \vdots \\ \sigma_{n}\frac{2 C_{l,n} - m_{n} - 1}{\sqrt{m_{n}-1}} \end{array} \right]+ \mu \end{array} $$
((21b))
$$\begin{array}{@{}rcl@{}} P = TT^{T} \end{array} $$
((21c))

and C is the Cartesian product

$$ C = \{1,\ldots,m_{1}\} \times \{1,\ldots,m_{2}\} \times \ldots \times \{1,\ldots,m_{n}\}, $$
((22))

which contains sets of indices to binomial distributions of all mixture components. Notation C l,i is used to denote the ith component of the lth combination. If m k =1, the term \(\frac {2 C_{l,k} - m_{k} - 1}{\sqrt {m_{k}-1}}\) in (21b) is replaced with 0.

We use the notation

$$ \mathbf{x}_{\text{BinoGM}} \sim \text{BinoGM}(\mu, T, \Sigma, m_{1}, \ldots, m_{n}), $$
((23))

where \(\Sigma =\text {diag}\left ({\sigma _{1}^{2}}, \ldots, {\sigma _{n}^{2}}\right)\), to denote a random variable distributed according to a BinoGM. Parameters of the distribution are \(\mu \in \mathbb {R}^{n}\), \(T \in \mathbb {R}^{n \times n} \wedge \text {det}\,{T} \neq 0\) and \(\forall i; 1\leq i \leq n: m_{i} \in \mathbb {N}^{+} \wedge \sigma _{i} \in \mathbb {R}^{+}\).

Matrix T is a square root (5) of a component covariance P. We use notation T instead of L(P) here, because the matrix square root L(P) is not unique and the choice of T affects the covariance of the mixture (25). BinoGM could also be parameterized using prior covariance P 0 instead of T. In such case, T should be replaced with \(T=L(P_{0})(\Sigma +I)^{-\frac {1}{2}}\). In this case, the component covariance is affected by the choice of L(P 0).

We will next show that

$$\begin{array}{@{}rcl@{}} \mathrm{E}(\mathbf{x}_{\text{BinoGM}}) &=& \mu \end{array} $$
((24))
$$\begin{array}{@{}rcl@{}} \text{cov}(\mathbf{x}_{\text{BinoGM}}) &=& P_{0} = T(\Sigma +I) T^{T} \end{array} $$
((25))
$$ \begin{aligned} {\lim}_{m_{1},\ldots,m_{n} \rightarrow \infty}&\text{BinoGM}(\mu,T,\Sigma,m_{1},\ldots,m_{n})\\ &= \mathrm{N}\left(\mu,T(\Sigma + I) T^{T}\right). \end{aligned} $$
((26))

The limit (26) for BinoGM is in the sense of the weak convergence and convergence of the pdf.

First, we consider a sum of a scaled standardized binomial random variable x B,m and a standard normal random variable x N that are independent,

$$ \sigma x_{B,m} + x_{N}. $$
((27))

Because x B,m converges weakly to standard normal distribution, then by the continuous mapping theorem, σ x B,m converges weakly to normal distribution with variance σ 2 [12].

The pdf of a sum of independent random variables is the convolution of the pdfs, and the cdf is the convolution of the cdfs [13]. For (27), the pdf is

$$ \begin{aligned} g_{m}(x)&=\int_{-\infty}^{\infty} p_{B,m}(y) p_{N}(x-y, 0,1) \mathrm{d}y\\ &=\sum\limits_{i=1}^{m} w_{i} p_{N}\left(x | \mu_{i},1 \right), \end{aligned} $$
((28))

where \(w_{i}={m-1 \choose i-1} \) and \(\mu _{i}=\sigma \frac {2i -m -1}{\sqrt {m-1}}\). This is a pdf of a GM whose variance is σ 2+1. For the weak convergence, we use the following result (Theorem 105 of [13]):

Theorem 1.

If cdf Φ m (x) converges weakly to Φ(x) and cdf B m (x) converges weakly to B(x) and Φ m and B m are independent, then the convolution of Φ m (x) and B m (x) converges to the convolution of Φ(x) and B(x).

Because the cdf of σ x B,m converges weakly to the cdf of a normal distribution with variance σ 2 and the sum of two independent normally distributed random variables is normally distributed, the cdf of the sum (27) converges to the cdf of a normal distribution.

Convergence of the pdf means that

$$ \sup\limits_{x\in\mathbb{R}} | g_{m}(x) - p_{N}\left(x | 0, \sigma^{2}+1\right) | \rightarrow 0, \text{as} m\rightarrow \infty. $$
((29))

For this, we consider the requirements given in [14] (Lemma 1).

  1. 1.

    The pdf g m exists

  2. 2.

    Weak convergence

  3. 3.

    \(\sup _{m} | g_{m}(x)|\leq M(x) < \infty \), for all \(x\in \mathbb {R}\)

  4. 4.

    For every x and ε>0, there exist δ(ε) and m(ε) such that |xy|<δ(ε) implies that |g m (x)−g m (y)|<ε for all mm(ε).

The pdf (28) exists and the weak convergence was already shown. The third item is satisfied because the maximum value of the pdf is bounded:

$$ \begin{aligned} g_{m}(x) &= \sum\limits_{i=1}^{m} w_{i} p_{N}(x, \mu_{i},1) \leq \max(p_{N}(x|0,1))\\ &= \frac{1}{\sqrt{2\pi}} < \infty. \end{aligned} $$
((30))

Then from

$$ \begin{aligned} |g_{m}(x)-g_{m}(y)| &\leq \sum\limits_{i=1}^{m} w_{i} |p_{N,i}(x)-p_{N,i}(y)| \\ & \stackrel{\exists c \in \mathbb{R}}{\leq} \sum\limits_{i=1}^{m} w_{i} |p_{N,i}^{\prime}(c)||x-y| \\ &<\delta \max \left(| p_{N}^{\prime}(c)|+1\right), \end{aligned} $$
((31))

we see that by choosing \(\delta = \frac {\varepsilon }{\max |p_{N}^{\prime }(c)|+1}\), the requirements of the fourth item are fulfilled and the pdf converges.

For convergence of a multidimensional mixture, consider a random vector x whose ith component is given by

$$ \mathbf{x}_{[i]} = \sigma_{i}x_{B,m_{i}} + x_{N,i}, $$
((32))

where \(x_{B,m_{i}}\) has the standardized binomial distribution (19) and x N,i has the standard normal distribution. Let the components x [i] be independent. The variance of x is

$$ \text{var}\,\mathbf{x} = \Sigma+I, $$
((33))

where \(\Sigma _{[i,i]} ={\sigma _{i}^{2}} \), and the multidimensional cdf and pdf are products of cdfs and pdfs of each component. As we showed, the approximation error in the one-dimensional case approaches 0 when the number of components is increased. Now the multidimensional pdf and cdf converge also because

$$ \prod\limits_{i=1}^{n} {\lim}_{\varepsilon_{i} \rightarrow 0} f_{i}(x)+\varepsilon_{i} =\prod\limits_{i=1}^{n} f_{i}(x), $$
((34))

where ε i is an error term.

Let random variable x be multiplied with a nonsingular matrix T and be added to a constant μ

$$ \mathbf{x}_{\text{BinoGM}} = T \mathbf{x} + \mu. $$
((35))

As a consequence of continuous mapping theorem [12], the cdf of T x+μ approaches the cdf of a normal distribution with mean μ and covariance T(Σ+I)T T. The transformed variable has pdf

$$ {} p_{\mathbf{x}_{\text{BinoGM}}}\left(\mathbf{x}_{\text{BinoGM}}\right) = p_{\mathbf{x}}\left(T^{-1} \left(\mathbf{x}_{\text{BinoGM}} - \mu\right)\right) | \text{det}\, {T^{-1}} |. $$
((36))

Because p x converges to a normal distribution, p xBinoGM converges also and as such the pdf of the multidimensional mixture (35), which is BinoGM (21), converges to a normal distribution.

4 Binomial Gaussian mixture filter

In this section, we present BinoGMF, which uses BinoGM for splitting prior components when nonlinear measurements occur. In Section 4.1, we propose algorithms for choosing parameters for BinoGM in the case of one-dimensional measurements. After the treatment of one-dimensional measurements, we extend the proposed method for multidimensional possibly dependent measurements in Section 4.2, and finally, we present the algorithm for time series filtering in Section 4.3.

4.1 Choosing the parameters for a BinoGM

The BinoGM can be constructed using (21), when numbers of components m 1,…,m n , binomial variances σ 1,…,σ n , and parameters of the affine transformation T and μ are given. Now the goal is to find parameters for the BinoGM such that it is a good approximation of the prior, the nonlinearity is below a desired threshold η limit, and the number of components is minimized. In this subsection, we concentrate on the case of a one-dimensional measurement. Treatment of multidimensional measurements is presented in Section 4.2.

In splitting a prior component, the parameters are chosen such that the mean and covariance are preserved. The mean is preserved by choosing μ in (21b) to be the mean of the prior component. If the prior covariance matrix is P 0 and it is split into smaller components that have covariance P (i.e., P 0P is positive semi-definite), matrices T and Σ have to be chosen so that

$$\begin{array}{@{}rcl@{}} TT^{T} & =&P \end{array} $$
((37a))
$$\begin{array}{@{}rcl@{}} T \Sigma T^{T} + P &=& P_{0}. \end{array} $$
((37b))

It was shown in Section 3 that the BinoGM converges to a normal distribution when the number of components is increased. In practical use cases, the number of components has to be specified. We propose a heuristic rule to choose the number of components such that two equally weighted components that are next to each other produce a unimodal pdf. In Appendix Appendix 1: Determining the component distance, it is shown that unimodality is preserved if

$$ m \geq \sigma^{2} + 1. $$
((38))

Because we want to minimize the number of components and we can choose σ so that σ 2 is an integer, we will use the following relationship

$$ m = \sigma^{2} + 1. $$
((39))

In Figure 2, this rule is illustrated in the situation where a mixture consisting of unit variance components is used to approximate a Gaussian prior having variance σ 0=3. In this case, (27) gives σ 2=2. According to (39), the proposed number of components is three. The figure shows how the mixture with two components has clearly distinct peaks and that the approximation improvement when using four components instead of three is insignificant.

Figure 2
figure 2

Effect of the number of components on the prior approximation.

For the multidimensional case, the component number rule generalizes in a straightforward way to

$$ m_{i} = \Sigma_{[i,i]} + 1. $$
((40))

Using this relationship, matrix Σ in (67) is linked to the total number of components by the formula \(m_{\text {tot}}=\prod m_{i} = \prod \left (\Sigma _{[i,i]}+1 \right)\).

To approximate the amount of linearization error in the update, we use

$$ \eta = \frac{\text{tr}\, PHPH}{R} $$
((41))

as the nonlinearity measure, which is similar to the ones used in [2,9]. The Hessian H of the measurement function is evaluated at the mean of a component and treated as a constant. Analytical evaluation of this measure requires that the second derivative of the measurement function (1) exists. The optimal component size is such that the total number of components is minimized while (40) is satisfied and the nonlinearity (41) is below η limit. Nonlinearity measure (41) is defined for one-dimensional measurements only. We present a method for handling multidimensional measurements in Section 4.2.

We show in Appendix Appendix 2: Optimization of mixture parameters that if we neglect the integer nature of m i , the optimal values for m i are 1 or satisfy the equation

$$\begin{array}{@{}rcl@{}} \frac{{\lambda_{i}^{2}}}{{m_{i}^{2}}} & =&\frac{{\lambda_{j}^{2}}}{{m_{j}^{2}}} \end{array} $$
((42))

with the conditions that m i ≥1 and \(\frac {1}{R}\sum \frac {{\lambda _{i}^{2}}}{{m_{i}^{2}}} = \eta _{\text {limit}}\), where λ i is the ith eigenvalue in the eigendecomposition

$$ V\Lambda V^{T} = L(P_{0})^{T}HL(P_{0}). $$
((43))

The optimal T matrix is

$$ T=L(P_{0})V\text{diag}\left(\frac{1}{\sqrt{m_{1}}}, \ldots, \frac{1}{\sqrt{m_{n}}} \right) $$
((44))

and the component covariance is

$$ P=L(P_{0})V\text{diag}\left(\frac{1}{m_{1}}, \ldots, \frac{1}{m_{n}} \right) V^{T}L(P_{0})^{T}. $$
((45))

Using (44) and (40), the component mean becomes

$$ {\fontsize{8.9}{6}\begin{aligned} \mu_{l} = L(P_{0})V\text{diag}\left(\frac{1}{\sqrt{m_{1}}}, \ldots, \frac{1}{\sqrt{m_{n}}} \right) \left[ \begin{array}{c} 2 C_{l,1} - m_{1} - 1 \\ 2 C_{l,2} - m_{2} - 1\\ \vdots \\ 2 C_{l,n} - m_{n} - 1 \end{array} \right] + \mu. \end{aligned}} $$
((46))

In (43), L(P 0)T H L(P 0) can be replaced with \(\frac {1}{\gamma ^{2}}Q\), where

$$ {Q}_{[i,j]}= \left\{ \begin{array}{ll} h(\mathbf{x}+\boldsymbol{\Delta}_{i}) + h(\mathbf{x}-\boldsymbol{\Delta}_{i}) - 2h(\mathbf{x}) &, i=j \\ \frac{1}{2}[ h(\mathbf{x}+\boldsymbol{\Delta}_{i}+\boldsymbol{\Delta}_{j}) + h(\mathbf{x}-\boldsymbol{\Delta}_{i}-\boldsymbol{\Delta}_{j}) - & \\ 2h(\mathbf{x}) - Q_{[i,i]}-Q_{[j,j]}]&, i \neq j \end{array} \right. $$
((47))

and Δ i =γ L(P 0)[:,i]. If γ is chosen as \(\gamma =\sqrt {n+\xi }\), then the computed values of the measurement function in (47) may also be used in the UKF [9]. The Q matrix can also be used for computing the amount of nonlinearity (41), because \(\text {tr} PHPH \approx \frac {QQ}{\gamma ^{4}}\) [9]. Using the Q matrix instead of the analytically computed H takes measurement function values from a larger area into account, analytical differentiation of the measurement function is not needed, and the numerical approximation can be done for any measurement function (1) that is defined everywhere. Because the approximation is based on second-order polynomials, it is possible that when the measurement function is not differentiable, the computed nonlinearity value does not represent the nonlinearity well.

Figure 3 shows three different situations where second-order polynomials are fitted to a function either using Taylor expansion or sigma points. The analytical nonlinearity measure (43) can be interpreted as the use of the Taylor expansion for nonlinearity computation and (47) as a second-order polynomial interpolation at sigma points for nonlinearity computation. The figure shows how the analytical fit is more accurate close to the mean point, but the second-order approximation gives a more uniform fit in the whole region covered by sigma points. The two first functions in Figure 3 are smooth, but the third is piecewise linear, i.e., its Hessian is zero everywhere except at points where the slope changes, where it is undefined. The analytical fit of this function is linear, but the fit to the sigma points detects nonlinearity.

Figure 3
figure 3

Second-order polynomials fitted to three nonlinear measurement functions using Taylor expansion and sigma points.

Our proposed algorithm for choosing the integer number of components is presented in Algorithm 1. At the start of the algorithm, the nonlinearity is reduced to η limit, but if this reduction produces more than m limit components, the component covariance is chosen such that nonlinearity is minimized while having at most m limit components. The algorithm for splitting a Gaussian with component weight w 0 is summarized in Algorithm 2.

Figure 4 shows the result of splitting a prior in a highly nonlinear case. To verify the relationship between m and σ 2 (40) and determine which η limit should be used, we tested the splitting with different parameters (·× tells how much was the number of components increased). In the figure captions, m is the total number of components and KL is the Kullback-Leibler divergence [15]

$$ \int \ln\left(\frac{p(\mathbf{x})}{q(\mathbf{x})} \right) p(\mathbf{x}) \mathrm{d}\mathbf{x}, $$
((48))
Figure 4
figure 4

Effect of parameters on posterior approximation. Green dots are located at posterior component means, and red lines show where the measurement likelihood is highest. In subfigure captions, η limit is the nonlinearity threshold for each component, ·× is the number of components compared to proposed, m is the total number of components, and KL is the Kullback-Leibler divergence of the GM posterior approximation with respect to the true posterior.

where p(x) is the true posterior and q(x) is the approximated posterior estimate.

From the figure, we can see that if the number of components is quadrupled from (40), the KL divergence does not improve significantly. If the subfigures with the same numbers of components are compared, it is evident that subfigures with (η limit=4) have clearly the worst KL divergence. Subfigures with η limit=0.25 have slightly better KL divergence than whose with η limit=1 but are by visual inspection more peaky. The KL divergence reduces towards the bottom right corner, which indicates convergence.

4.2 Multidimensional measurements

To be able to use BinoGMF with possibly correlated multidimensional measurements, the nonlinearity measure (41) for scalar measurements cannot be applied directly. However, because we assume that the measurement noise is additive and nondegenerate Gaussian, the measurement can be decorrelated with a linear invertible transformation

$$ \hat{\mathbf{y}} = L(R)^{-1} \mathbf{y} = L(R)^{-1} h(\mathbf{x}) + L(R)^{-1}\varepsilon. $$
((49))

The covariance of the transformed measurements is L(R)−1 R L(R)−I=I. This kind of transformation does not change the posterior, which is shown for the UKF in Appendix Appendix 3: UKF update after a linear transformation is applied to measurement function.

The UKF update is an approximation of a Bayesian update of a prior, which can be written as

$$ p(\mathbf{x}|\mathbf{y}) \propto p(\mathbf{x})p(\mathbf{y}|\mathbf{x}), $$
((50))

where p(x|y) is the posterior, p(x) is the prior, and p(y|x) is the measurement likelihood. If two measurements are conditionally independent, the combined measurement likelihood is the product of likelihoods

$$ p(\mathbf{y}_{1}, \mathbf{y}_{2}|\mathbf{x}) = p(\mathbf{y}_{1}|\mathbf{x}) p(\mathbf{y}_{2}|\mathbf{x}). $$
((51))

Thus, the update of prior with two conditionally independent measurements is \(p(\mathbf {x}|\mathbf {y}_{1}, \mathbf {y}_{2}) \propto p(\mathbf {x})p(\mathbf {y}_{1}|\mathbf {x})p(\mathbf {y}_{2}|\mathbf {x})\), which can be done with two separate updates, first \(p(\mathbf {x}|\mathbf {y}_{1}) \propto p(\mathbf {x})p(\mathbf {}y_{1}|\mathbf {x})\) and then, using this as the prior for the next update, \(p(\mathbf {x}|\mathbf {y}_{1},\mathbf {y}_{2}) \propto p(\mathbf {x}|\mathbf {y}_{1}) p(\mathbf {y}_{2}|\mathbf {x})\). Thus, the measurements can be applied one at a time. Of course, when using an approximate update method, such as the UKF, the result is not exactly the same because there are approximation errors involved. Processing measurements separately can improve the accuracy, e.g., when y 1 is a linear measurement, then the prior for the second measurement becomes smaller and thus the effect of its nonlinearity is reduced.

4.3 Time series filtering

So far, we have discussed the update of a prior component with a measurement at a single time step. For the time series estimation, the filter requires in addition to Algorithms 1 and 2 a prediction step and a component reduction step.

If the state model is linear, the predicted mean of a component is \(\mu _{(t)} = F \mu _{(t-1)}^{+}\), where F is the state transition matrix and \(\mu _{(t-1)}^{+}\) is the posterior mean of the previous time step. The predicted covariance is \(P_{(t)} = {FP}_{(t-1)}^{+}F^{T} + W\), where W is the covariance of the state transition error. The weights of components do not change in the prediction step. If the state model is nonlinear, a sigma point approach can be also used for the prediction [3].

For component reduction, we use the measure proposed in [5]

$$ {\fontsize{8.5}{6}\begin{aligned} B_{i,j} = \!\frac{1}{2}\!\left[\!(w_{i} +w_{j})\log\det{P_{i,j}\! - \!w_{i} \log \text{det}\, P_{i} - w_{j} \log \text{det}\, P_{j} }\right]\!, \end{aligned}} $$
((52))

where \(P_{i,j} = \frac {w_{i}P_{i} + w_{j}P_{j}}{w_{i}+w_{j}}+(\mu _{i}-\mu _{j})(\mu _{i}-\mu _{j})^{T}\). Whenever the number of components is larger than m reduce or B i,j<B limit, the component pair that has the smallest B i,j is merged so that the mean and covariance of the mixture is preserved. The test for B limit is our own addition to the algorithm to allow the number of components to be reduced below m reduce if there are very similar components.

When the prior consists of multiple components, the value of m limit for each component is chosen proportional to the prior weight so that they sum up to the total limit of components. Algorithm 3 shows the BinoGMF algorithm. A MATLAB implementation of BinoGMF is also available [see Additional file 1].

5 Tests

We evaluate the performance of the proposed BinoGMF method in two simulation settings. First, the splitting method is compared with other GM splitting algorithms in single prior component single measurement cases, and then BinoGMF is compared with a particle filter in a time series scenario. In all cases, a single-component UKF is used as a reference.

5.1 Comparison of GM splitting methods

To compare the accuracy of the proposed BinoGMF with other GM splitting methods presented in Section 2, we update a one-component prior with a nonlinear measurement. The accuracy of the estimate is evaluated with two measures: mean residual and the Kullback-Leibler divergence (48). The mean residual is the absolute value of the difference of the mean of the posterior estimate and the mean of the true posterior. The integrals involved in computing results were computed using Monte Carlo integration. Each simulation case was repeated 100 times. Cases are as follows:

  • 2D range - a range measurement in two-dimensional positioning

  • 2D second order - the measurement consists of a second-order polynomial term aligned with a random direction and a linear measurement term aligned with another random direction

  • 4D speed - a speedometer measurement with a highly uncertain prior

  • 10D third order - a third-order polynomial measurement along a random direction in a ten-dimensional space

For computation of sigma points and UKF updates, we used the parameter values α UKF=0.5, κ UKF=0, and β UKF=2. Detailed parameters of different cases are presented in Appendix Appendix 4: Simulation parameters.

For comparison, we use a UKF that estimates the posterior with only one component and the GMFs presented in Section 2. In our implementation, there are some minor differences with the original methods:

  • For H&C, the one-dimensional mixture is optimized with a different method. This should not have a significant effect on results.

  • For F&K, [7] gives two alternatives for choosing the number of components and for computing the direction of nonlinearity. We chose to use split into three components, and the direction of nonlinearity was computed using the eigendecomposition.

  • In AS, splitting is not done recursively; instead, every split is done to the component with highest nonlinearity. This is done to get the desired number of components. This probably makes the estimate more accurate than with the original method.

Our implementation of UKF, H&C, F&K, and S&M might have some other inadvertent differences from the original implementations.

The nonlinearity-based stopping criterion is not tested in this paper. Splitting is done with a fixed upper limit on the number of components. We chose to test the methods with at most 3, 9, and 81 components for consistency with the number of components in BGMF. The number of components in BGMF is (2N 2+1)n, where \(N \in \mathbb {N}\) is a parameter that adjusts the number of components. Since BinoGMF does the splitting into multiple directions at once, the number of components of BinoGMF is usually less than the maximum limit.

Figure 5 shows the 25%, 50%, and 75% quantiles for each tested method in different cases. The figure shows how the proposed method has the best posterior approximation accuracy with a given number of components, except in the 4D speed case where AS has slightly better accuracy. This is due to large variations of the Hessian H within the region where the prior pdf is significant. In the 2D range case, the posterior accuracy of AS and S&M does not improve when the number of components is increased from 9 to 81. This is caused by prior approximation error as the AS and S&M splitting does not converge to the prior.

Figure 5
figure 5

Mean residuals and estimated mean and corresponding Kullback-Leibler divergences.

In Table 1, the estimation of direction nonlinearity is tested in a two-dimensional case where the prior has identity covariance matrix and the measurement function is

$$ \mathbf{y} = e^{\mathbf{a}^{T} \mathbf{x}}. $$
((53))
Table 1 Average error on estimation of the splitting direction in degrees

The true direction of nonlinearity is a. AS and BinoGMF use the same algorithm for computing the direction of maximum nonlinearity. S&M uses the maximum eigenvalue of the prior component as the split direction, and in this case, it gives the same results as choosing the direction randomly. In the table, Δ θ is the average error of the direction of maximum nonlinearity.

In two dimensions, choosing a random direction for splitting has a mean error of 45 degrees. The good performances of the proposed method and AS in Figure 5 are partly due to the algorithm for estimating the direction of maximum nonlinearity, because they have clearly the most accurate nonlinearity direction estimates. The 0.8 degree error of AS and BinoGMF could be reduced by choosing sigma points closer to the mean, but this would make the estimate more local. The BinoGMF was also tested with α UKF=10−3. This resulted in splitting direction estimates closer than 10−5 degrees, but there was significant accuracy drop in the 4D speed case. With a small value of α UKF, the computation of Q does not take variations of the Hessian into account. This causes fewer problems with AS, because AS splits only in the direction of maximum nonlinearity and then re-evaluates the nonlinearity for the resulting components.

Table 2 shows the number of measurement function evaluations of each method assuming that the update is done with UKF using a symmetric set of sigma points. BinoGMF does fewer measurement function evaluations than AS; it does significantly more than other methods only if nm. Because BinoGMF evaluates the nonlinearity and does the splitting all at once, the computationally most expensive part of the algorithm is done only once and the update of the mixture can be done with UKF. Also, because the resulting components of a split have equal covariance matrix P=T T T, T(44) can be used as the matrix square root for UKF for all components.

Table 2 Number of measurement function evaluations

5.2 Time series filtering

In the time series evaluation, we simulate the navigation of an aircraft. The route does circular loops with a radius of 90 m if seen from above. In the vertical dimension, the aircraft first ascends until it reaches 100 m, flies at constant altitude for a while, and finally descends. In the simulation, there are five ground stations that emit signals that the aircraft receives.

There are two kinds of measurements available:

  • Time of arrival (TOA) [16]

    $$ \mathbf{y} = \| \mathbf{r}_{\text{receiver}} - \mathbf{r}_{\text{emitter}} \| + \delta_{\text{receiver}} + \varepsilon_{\text{receiver}}+\varepsilon, $$
    ((54))

    where r receiver is the aircraft location, r emitter is the location of a ground station, δ receiver is the receiver clock bias, ε receiver is an error caused by receiver clock jitter that is the same for all measurements, and ε is the independent error. The covariance of a set of TOA measurements is

    $$ R_{\text{TOA}}=I + 5^{2}\mathbf{1}, $$
    ((55))

    where 1 is a matrix of ones.

  • Doppler [17]

    $$ \mathbf{y} = \frac{\mathbf{v}_{\text{receiver}}^{T} (\mathbf{r}_{\text{receiver}} - \mathbf{r}_{\text{emitter}})}{\| \mathbf{r}_{\text{receiver}} - \mathbf{r}_{\text{emitter}} \| }+ {\gamma}_{\text{receiver}} + \varepsilon_{\text{receiver}}+\varepsilon, $$
    ((56))

    where v receiver is the velocity of the aircraft and γ receiver is the clock drift. The Doppler measurement error covariance used is

    $$ R_{\text{Doppler}} = I + \mathbf{1}. $$
    ((57))

The probability of receiving a measurement is dependent on the distance from a ground station, and a TOA measurement is available with 50% probability when a Doppler measurement is available. The estimated state contains eight variables, three for position, three for velocity, and one for each clock bias and drift. The state model used with all filters is linear. State model, true track, and ground station parameters can be found in Appendix Appendix 4: Simulation parameters.

We compare BinoGMF with three different parameter sets with UKF, a bootstrap particle filter (PF) that uses systematic resampling [18,19] with different numbers of particles, and a Rao-Blackwellized particle filter (RBPF) that is implemented according to [20]. The Rao-Blackwellized particle filter exploits the fact that when conditioned with position variables, the measurement functions become linear-Gaussian with respect to the remaining state variables. Consequently, position variables are estimated with particles, and for the remaining variables, there is a normal distribution attached to every particle. BinoGMF parameters are presented in Table 3.

Table 3 Parameters used in filtering test for BinoGMF

Figure 6 shows 5%, 25%, 50%, 75%, and 95% quantiles of mean position errors of 1,000 runs. Because some errors are large, on the left, there are plots that show a maximum error of 200 m, and on the right, the maximum error shown is 20 m. In some test cases, all particles end up having zero weights due to finite precision in computation. In these cases, the particle filters are considered to have failed. This causes lines in the plot to end at some point, e.g., with 100 particles, the RBPF fails in more than in 50% of cases.

Figure 6
figure 6

Position estimate error comparison between BinoGMF, PF, RBPF, and UKF.

The UKF and BinoGMF results are located according to their time usage compared to the time usage of PFs. The figure shows how BinoGMF achieves better positioning accuracy with smaller time usage than the PFs. The 95% quantile of UKF and BinoGMF4 is more than 150 m, which is caused by multimodality of the posterior. In these cases, UKF and BinoGMF4 follow only wrong modes. The RBPF has better accuracy than the PF with a similar number of particles, but is slower. In our implementation, updating of one Rao-Blackwellized particle is 6 to 10 times faster than the UKF update depending on how many particles are updated. The RBPF requires much more particles than BinoGMF requires components. The bootstrap PF is faster than the RBPF, because our MATLAB implementation of the bootstrap PF is highly optimized.

The locations of the ground stations are almost coplanar, which causes the geometry of the test situation to be such that most of the position error is in the altitude dimension. Figure 7 shows an example of the altitude estimates given by BinoGMF16, bootstrap PF with 104 particles, RBPF with 100 particles, and UKF. Both PFs are slower than the BinoGMF16.

Figure 7
figure 7

Altitude estimates of BinoGMF16, PF, RBPF, and UKF.

The figure shows how the PF and BinoGMF16 estimates are multimodal at several time steps, but most of the time, BinoGMF16 has more weight on the correct mode. The RBPF starts in the beginning to follow a wrong mode and does not recover during the whole test. The UKF estimate starts out somewhere between the modes, and it takes a while to converge to the correct mode. UKF could also converge to a wrong node. In multimodal situations as in Figure 7, the comparison of the accuracy of the mean to the true route is not necessarily so relevant, e.g., in PF at time step 70, the mean is located in a low probability area of the posterior.

This simulated test showed that there are situations where the BinoGMF can outperform PFs. We found also that if the state transition model noise (87) was made smaller without changing the true track, then the number of required particles increased fast, while the effect on BinoGMF was small.

6 Conclusions

In this paper, we have presented the BinoGMF. BinoGMF uses a binomial distribution in the generation of a GM from a normal distribution. It was shown that the pdf and cdf of the resulting mixture converge to the prior when the number of components is increased. Furthermore, we presented an algorithm for choosing the component size so that the nonlinearity is not too high, the resulting mixture is a good approximation of the prior, and the number of required components is minimized.

We compared the proposed method with UKF and five different GMFs in several single-step estimation simulation cases and with UKF and PF in a time series estimation scenario. In these tests, the proposed method outperforms other GM-based methods in accuracy, while using a similar amount or fewer measurement function evaluations. In filtering, BinoGMF provided more accurate estimates faster than bootstrap PF or Rao-Blackwellized PF. BinoGMF can be used in suitable situations instead of PFs to get better estimation accuracy, if the measurement error can be modeled as additive and normally distributed.

Because BinoGMF performed well in all tests, we recommend it to be used instead of other GM splitting methods to get better estimation accuracy. It performs especially well in situations where there is more than a few dimensions and in cases where it is essential to have an accurate estimate of the posterior pdf.

7 Appendices

7.1 Appendix 1: Determining the component distance

Consider two equally weighted unit variance one-dimensional components located at an equal distance Δ μ from the origin, with pdf

$$ f(x) = \frac{w}{\sqrt{2\pi}} e^{- \frac{(x-\Delta\mu)^{2} }{2}} + \frac{w}{\sqrt{2\pi}} e^{- \frac{(x + \Delta\mu)^{2} }{2}}. $$
((58))

Due to symmetry, this function has zero slope at the origin and so there is either a local minimum or maximum at the origin. Function (58) is unimodal when the origin is a maximum and bimodal if it is a local minimum. The function has a local minimum at the origin if \(f^{\prime \prime }(0) > 0\). The second derivative of (58) is

$$ \begin{aligned} f^{\prime\prime}(x)=\frac{w}{\sqrt{2\pi}}& \left[ \left((\Delta\mu-x)^{2}-1\right) e^{- \frac{\left(x-\Delta\mu\right)^{2} }{2}}\right. \\&\left.+ \left(\left(\Delta\mu+x\right)^{2}-1\right) e^{- \frac{\left(x+\Delta\mu\right)^{2} }{2}}\right]. \end{aligned} $$
((59))

Evaluating this, we get the rule for having a local maximum at origin as

$$ \begin{aligned}[lrl] f^{\prime\prime}(0) & \leq 0\Leftrightarrow \\ \frac{w}{\sqrt{2\pi}} \left[(\Delta\mu^{2} -1) e^{- \frac{\Delta\mu^{2} }{2}} + (\Delta\mu^{2} - 1) e^{- \frac{\Delta\mu^{2} }{2}}\right] & \leq 0 \Leftrightarrow\\ \Delta\mu^{2} - 1 & \leq 0 \Leftrightarrow\\ \Delta\mu & \leq 1 \end{aligned} $$
((60))

Consider the mean of the kth component of a mixture generated using the standardized binomial distribution scaled with σ

$$ \mu_{\mathbf{x}_{k}} = \sigma \frac {2k-m - 1}{\sqrt{m-1}} $$
((61))

The distance between two components is

$$ 2\Delta\mu = \sigma \frac {2(k+1)-m - 1}{\sqrt{m - 1 }}-\sigma \frac {2k-m -1 }{\sqrt{m-1}} = \frac{2\sigma}{\sqrt{m-1}}. $$
((62))

Using (60), we get

$$ m \geq \sigma^{2} + 1. $$
((63))

7.2 Appendix 2: Optimization of mixture parameters

In [9], it was shown that if a component covariance P is computed as

$$ {P} = {P_{0}} - \beta {L}({P_{0}}) {V} e_{i} {e_{i}^{T}} {V}^{T} {L}({P_{0}})^{T}, $$
((64))

where e i is the ith column of the identity matrix and V and Λ are computed from the eigendecomposition

$$ V\Lambda V^{T} = L(P_{0})^{T} H L(P_{0})^{T}, $$
((65))

where H is the Hessian of the measurement function, then the nonlinearity associated with direction L(P 0)V e i changes from \({\lambda _{i}^{2}}\) to \((1-\beta)^{2}{\lambda _{i}^{2}}\).

It was also shown that the eigenvectors of (65) do not change in this reduction. Due to this, we can also do multiple reductions simultaneously

$$\begin{array}{@{}rcl@{}} {P} & =& {P_{0}} - {L}({P_{0}}) {V} B {V}^{T} {L}({P_{0}})^{T}\\ &=& L(P_{0})V(I-B)V^{T}L(P_{0})^{T}, \end{array} $$
((66))

where B is a diagonal matrix having β 1,…,β n on its diagonal.

A solution to (37) is to compute an eigendecomposition

$$ U^{T} \Sigma U = L(P)^{-1}(P_{0}-P)L(P)^{-T} $$
((67))

and choose

$$ T=L(P)U. $$
((68))

We use the following matrix square root

$$ L(P) = L(P_{0})V\text{diag}\left(\sqrt{1-\beta_{1}},\ldots,\sqrt{1-\beta_{n}}\right). $$
((69))

Using (66) and (69) in (67) produces

$$ \begin{aligned} &L(P)^{-1}(P_{0}-P)L(P)^{-T}\\ &\quad=\sqrt{I-B}^{-1}V^{T}L(P_{0})^{-1}L(P_{0})VBV^{T}L(P_{0})^{T}\\&\qquad L(P_{0})^{-T}V\sqrt{I-B}^{-1} \\ &\quad=\sqrt{I-B}^{-1}B\sqrt{I-B}^{-1} = (I-B)^{-1}B=I\Sigma I. \end{aligned} $$
((70))

From this, we get

$$ {\sigma_{i}^{2}} = \frac{\beta_{i}}{1-\beta_{i}} $$
((71))

and using relationship (40)

$$\begin{array}{@{}rcl@{}} m_{i} = {\sigma_{i}^{2}}+1 & = & \frac{1}{1-\beta_{i}} \Leftrightarrow 1-\beta_{i} = \frac{1}{m_{i}}. \end{array} $$
((72))

Now T (37) can be written using (69) and (72) as

$$ T=L(P_{0})V\text{diag}\left(\frac{1}{\sqrt{m_{1}}},\ldots,\frac{1}{\sqrt{m_{n}}}\right). $$
((73))

The nonlinearity (41) after multiple reductions can be written as

$$ \eta=\frac{\text{tr}\, PHPH}{R} = \frac{\sum (1-\beta_{i})^{2}{\lambda_{i}^{2}}}{R} $$
((74))

The problem is to find B so that the nonlinearity decreases below a given threshold, i.e.,

$$ \frac{\sum (1-\beta_{i})^{2} {\lambda_{i}^{2}}}{R} \leq \eta_{\text{limit}} $$
((75))

while the total number of components is as low as possible. Substituting (72) into (75), the nonlinearity becomes

$$ \eta=\sum \frac{(1-\beta_{i})^{2} {\lambda_{i}^{2}}}{R}= \frac{1}{R}\sum\frac{{\lambda_{i}^{2}}}{{m_{i}^{2}}}. $$
((76))

The optimization problem is to minimize

$$ \prod\limits_{i=1}^{n} m_{i} $$
((77))

with constraints

$$\begin{array}{@{}rcl@{}} \sum\limits_{i=1}^{n}\frac{{\lambda_{i}^{2}}}{{m_{i}^{2}}} & \leq R \eta_{\text{limit}} \end{array} $$
((78a))
$$\begin{array}{@{}rcl@{}} m_{i} & \geq 1, \forall i: 1 \leq i \leq n. \end{array} $$
((78b))

The Karush-Kuhn-Tucker conditions [21] for this problem are

$$ \begin{aligned} 0 =&\; \nabla \prod{m_{i}} + \xi_{0} \nabla \left(\sum\frac{{\lambda_{i}^{2}}}{{m_{i}^{2}}} - R \eta_{\text{limit}} \right) \\ &+ \sum \nabla \xi_{i} (1-m_{i}). \end{aligned} $$
((79))

The jth partial derivative is

$$ 0 = \prod\limits_{i\neq j}{m_{i}} - 2 \xi_{0} \frac{{\lambda_{j}^{2}}}{{m_{j}^{3}}} - \xi_{j} \Leftrightarrow \prod m_{i} = 2\xi_{0} \frac{{\lambda_{j}^{2}}}{{m_{j}^{2}}} + \xi_{j} m_{j}. $$
((80))

Due to the complementary slackness requirement, either m j =1 or ξ j =0. For all m j ≠1≠m i

$$ \frac{{\lambda_{i}^{2}}}{{m_{i}^{2}}} = \frac{{\lambda_{j}^{2}}}{{m_{j}^{2}}}. $$
((81))

This means that if the integer nature of m i is neglected, the optimum m i is either 1 or proportional to |λ i |.

7.3 Appendix 3: UKF update after a linear transformation is applied to measurement function

Let A be an invertible matrix and \(\mathcal {X}_{i}\) UKF sigma points computed as explained in Section 2.1. The measurement transformed with A is

$$ \hat{\mathbf{y}} = A \mathbf{y} = Ah(\mathbf{x})+A\varepsilon. $$
((82))

If the original measurement error covariance is R, then the transformed measurement error covariance is \(\hat {R}=ARA^{T}\).

The transformed sigma points are:

$$ \hat{\mathcal{Y}}_{i} = Ah(\mathcal{X}_{i}). $$
((83))

The update becomes

$$ {\fontsize{9}{6} \begin{aligned} \hat {\mathbf{z}} &= \sum\limits_{i=0}^{2n} \Omega_{i,m}A\mathcal{Y}_{i} = A\sum\limits_{i=0}^{2n} \Omega_{i,m}\mathcal{Y}_{i} = A{\mathbf{z}} \\ \hat{{S}} &= ARA^{T} + \sum\limits_{i=0}^{2n} \Omega_{i,c} \left(A\mathcal{Y}_{i} - A{\mathbf{z}} \right)\left(A\mathcal{Y}_{i} - A\mathbf{z} \right)^{T} = ASA^{T}\\ \hat{{C}} &= \sum\limits_{i=0}^{2n} \Omega_{i,c} \left(\mathcal{X}_{i} - {\mu} \right)\left(A\mathcal{Y}_{i}- A{\mathbf{z}} \right)^{T}=CA^{T}, \\ \hat{K} &= \hat C \hat S^{-1} = CA^{T}A^{-T}S^{-1}A^{-1}=KA^{-1} \\ \hat{\mu}^{+} &= \mu + \hat K(A{\mathbf{y}}-A{\mathbf{z}}) = \mu + K({\mathbf{y}}-{\mathbf{z}}) = \mu^{+}\\ \hat{P}^{+} &= P- \hat K \hat S \hat K^{T} = P- KA^{-1}ASA^{-T}K^{T} = P - KSK^{T}=P^{+} \end{aligned}} $$
((84))

and the posterior estimate is identical to the estimate computed with nontransformed measurement function.

7.4 Appendix 4: Simulation parameters

7.4.1 GMF comparison

The simulation parameters used to evaluate different methods for Figure 5 are below. The measurement variance was 1 in every case.

  • 2D range

    • Prior mean: [5 0]T

    • Prior covariance: \(\left [\begin {array}{cc}\cos \theta & \sin \theta \\ -\sin \theta & \cos \theta \end {array}\right ]\left [\begin {array}{cc}10 & 0 \\ 0 & 1\end {array}\right ]\left [\begin {array}{lc}\cos \theta & -\sin \theta \\ \sin \theta & \cos \theta \end {array}\right ]\), where θU(0,2π)

    • Measurement function: \(\sqrt {\mathbf {x}_{[1]}^{2} + \mathbf {x}_{[2]}^{2}}\)

  • 2D second order

    • Prior mean: N(0,I)

    • Prior covariance: \(\left [\begin {array}{ll}5 & 2 \\ 2 & 5\end {array}\right ]\)

    • Measurement function: \(\left (\mathbf {a}_{1}^{T}\mathbf {x}\right)^{2}+\mathbf {a}_{2}^{T}\mathbf {x}\), where a 1N(0,I) and a 2N(0,I)

  • 4D speed

    • Prior mean: \(\sim N\left (0, \left [ \begin {array}{ll} \frac {100^{3}}{3}I & \frac {100^{2}}{2} I \\ \frac {100^{2}}{2}I & \frac {100^{2}}{2} I \end {array} \right ]\right)\)

    • Prior covariance: \(\left [\begin {array}{ll} \frac {100^{3}}{3}I & \frac {100^{2}}{2} I \\ \frac {100^{2}}{2}I & \frac {100^{2}}{2} I \end {array} \right ]\)

    • Measurement function: \(\sqrt {\mathbf {x}_{[3]}^{2}+\mathbf {x}_{[4]}^{2}}\)

  • 10D third order

    • Prior mean: N(0,I)

    • Prior covariance: I

    • Measurement function: \(\left (k_{4}\mathbf {a}^{T}\mathbf {x}\right)^{3}+ \left (k_{3}\mathbf {a}^{T}\mathbf {x}\right)^{2}+k_{2}\mathbf {a}^{T}\mathbf {x}+k_{1}\), where \({k_{i}\sim N(0,1)} \left (i=1,\ldots,4\right)\) and aN(0,I)

7.4.2 Filtering example

State model used in filters:

$$ \mathbf{x}_{t+1} = F\mathbf{x}_{t} + \mathbf{\varepsilon}_{W}, $$
((85))

where

$$ F =\left[ \begin{array}{lll} I_{3\times3} & I_{3\times3} & 0_{3\times2} \\ 0_{3\times3} & I_{3\times3} & 0_{3\times2} \\ 0_{2\times3} & 0_{2\times3} & \begin{array}{cc} 1 & 1 \\ 0 & 1 \end{array} \end{array} \right] $$
((86))

and

$$ \varepsilon_{W} =\left[ \begin{array}{llc} I_{3\times3} & \frac{1}{2}I_{3\times3} & 0_{3\times2} \\ \frac{1}{2}I_{3\times3} & \frac{1}{3}I_{3\times3} & 0_{3\times2} \\ 0_{2\times3} & 0_{2\times3} & \begin{array}{cc} \frac{1}{100} & \frac{1}{200} \\ \frac{1}{200} & \frac{1}{300} \end{array} \end{array} \right]. $$
((87))

The track is simulated on time indices from 1 to 400 and the true track is:

  • Position:

    $$ \mathbf{r}_{i}^{\text{true}} =\left[ \begin{array}{c} 90 \sin{\theta_{i}} \\ 90 \cos{\theta_{i}} \\ h_{i} \end{array} \right], $$
    ((88))

    where \(\theta _{i}= \frac {2i\pi }{100}\) and

    $$ h_{i}= \left\{ \begin{array}{ll} 50+50\cos \frac{\theta_{i}+2\pi}{2}&, i \leq 100 \\ 100 &, 100< i \leq 300 \\ 50+50\cos \frac{\theta_{i}-2\pi}{2}&, 300< i \end{array} \right. $$
    ((89))
  • Velocity: \(\mathbf {v}^{\text {true}}_{i} = r_{i+1}^{\text {true}} - r_{i}^{\text {true}}\)

  • Bias: \(\delta _{i}= 10\cos \frac {\theta _{i}}{3}\)

  • Drift: γ i =δ i+1δ i

Ground station locations:

$$ \left[ \begin{array}{c} -100\\0\\-10 \end{array} \right], \left[ \begin{array}{c} 100\\0\\20 \end{array} \right], \left[ \begin{array}{c} 0\\-100\\-20 \end{array} \right], \left[ \begin{array}{c} 0\\100\\10 \end{array} \right], \left[ \begin{array}{l} 0\\0\\0 \end{array} \right] $$
((90))

References

  1. HW Sorenson, DL Alspach, Recursive Bayesian estimation using Gaussian sums. Automatica. 7(4), 465–479 (1971).

    Article  MATH  MathSciNet  Google Scholar 

  2. S Ali-Löytty, Box Gaussian mixture filter. IEEE Trans. Autom. Control. 55(9), 2165–2169 (2010). doi:10.1109/TAC.2010.2051486.

    Article  Google Scholar 

  3. SJ Julier, JK Uhlmann, HF Durrant-Whyte, in American Control Conference, 3. A new approach for filtering nonlinear systems (Seattle, WA, USA,21–23 June 1995), pp. 1628–1632.

  4. EA Wan, R Van Der Merwe, in Adaptive Systems for Signal Processing, Communications, and Control Symposium 2000. AS-SPCC. The unscented Kalman filter for nonlinear estimation (Lake Louise, AB, Canada, 1–4 October 2000), pp. 153–158. doi:10.1109/ASSPCC.2000.882463.

  5. AR Runnalls, Kullback-Leibler approach to Gaussian mixture reduction. IEEE Trans. Aerospace Electron. Syst. 43(3), 989–999 (2007). doi:10.1109/TAES.2007.4383588.

    Article  Google Scholar 

  6. F Havlak, M Campbell, Discrete and continuous, probabilistic anticipation for autonomous robots in urban environments. IEEE Trans. Rob.PP(99), 1–14 (2013). doi:10.1109/TRO.2013.2291620.

    Article  Google Scholar 

  7. F Faubel, D Klakow, in Proc. Europ. Sig. Process. Conf. (EUSIPCO). Further improvement of the adaptive level of detail transform: splitting in direction of the nonlinearity (Aalborg, Denmark, 23).

  8. F Faubel, J McDonough, D Klakow, The split and merge unscented Gaussian mixture filter. Signal Process. Lett., IEEE. 16(9), 786–789 (2009). doi:10.1109/LSP.2009.2024859.

    Article  Google Scholar 

  9. M Raitoharju, S Ali-Löytty, An adaptive derivative free method for Bayesian posterior approximation. Signal Process. Lett., IEEE. 19(2), 87–90 (2012). doi:10.1109/LSP.2011.2179800.

    Article  Google Scholar 

  10. AC Berry, The accuracy of the Gaussian approximation to the sum of independent variates. Trans. Am. Math. Soc. 49(1), 122–136 (1941).

    Article  Google Scholar 

  11. W Feller, On the normal approximation to the binomial distribution. Ann. Math. Stat. 16(4), 319–329 (1945). doi:10.1214/aoms/1177731058.

    Article  MATH  MathSciNet  Google Scholar 

  12. P Billingsley, Convergence of Probability Measures. Wiley Series in Probability and Statistics (Wiley, New York, 2009).

    Google Scholar 

  13. D McLeish, STAT 901: Probability. Lecture Notes (University of Waterloo, Waterloo, ON, Canada, 2005).

    Google Scholar 

  14. DD Boos, A converse to Scheffe’s theorem. Ann. Stat, 423–427 (1985).

  15. S Kullback, RA Leibler, On information and sufficiency. Ann. Math. Stat. 22(1), 79–86 (1951).

    Article  MATH  MathSciNet  Google Scholar 

  16. F Gustafsson, F Gunnarsson, Mobile positioning using wireless networks: possibilities and fundamental limitations based on available wireless network measurements. Signal Process. Mag., IEEE. 22(4), 41–53 (2005). doi:10.1109/MSP.2005.1458284.

    Article  Google Scholar 

  17. D Borio, N Sokolova, G Lachapelle, in Proc., ION/GNSS, 9. Doppler measurements and velocity estimation: a theoretical framework with software receiver implementation (Savannah, GA, USA, 22), pp. 304–316.

  18. NJ Gordon, DJ Salmond, AFM Smith, Novel approach to nonlinear/non-Gaussian Bayesian state estimation. Radar Signal Process. IEE Proc. F. 140(2), 107–113 (1993).

    Article  Google Scholar 

  19. B Ristic, S Arulampalam, N Gordon, Beyond the Kalman Filter: Particle Filters for Tracking Applications (Artech House, Boston, 2004).

    Google Scholar 

  20. G Hendeby, R Karlsson, F Gustafsson, The Rao-Blackwellized particle filter: a filter bank implementation. EURASIP J Adv. Signal Process. 2010, 724087 (2010). doi:10.1155/2010/724087.

    Article  Google Scholar 

  21. HW Kuhn, AW Tucker, in Second Berkeley Symposium on Mathematical Statistics and Probability, 1. Nonlinear programming (Berkeley, CA, USA, 12 August 1951 31 July), pp. 481–492.

Download references

Acknowledgements

This work was supported by Tampere Doctoral Programme in Information Science and Engineering, Nokia Corporation, Nokia Foundation, and Jenny and Antti Wihuri Foundation. The funding sources were not involved in the preparation of this article. The simulations were carried out using the computing resources of CSC - IT Center for Science.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Matti Raitoharju.

Additional information

Competing interests

The authors declare that they have no competing interests.

Additional file

Additional file 1

binogmf.m–a MATLAB implementation of the BinoGMF algorithm.

Rights and permissions

Open Access This article is distributed under the terms of the Creative Commons Attribution 4.0 International License (https://creativecommons.org/licenses/by/4.0), which permits use, duplication, adaptation, distribution, and reproduction in any medium or format, as long as you give appropriate credit to the original author(s) and the source, provide a link to the Creative Commons license, and indicate if changes were made.

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Raitoharju, M., Ali-Löytty, S. & Piché, R. Binomial Gaussian mixture filter. EURASIP J. Adv. Signal Process. 2015, 36 (2015). https://doi.org/10.1186/s13634-015-0221-2

Download citation

  • Received:

  • Accepted:

  • Published:

  • DOI: https://doi.org/10.1186/s13634-015-0221-2

Keywords