Abstract
This paper presents a particle filter, called LogPF, based on particle weights represented on a logarithmic scale. In practical systems, particle weights may approach numbers close to zero which can cause numerical problems. Therefore, calculations using particle weights and probability densities in the logarithmic domain provide more accurate results. Additionally, calculations in logarithmic domain improve the computational efficiency for distributions containing exponentials or products of functions. To provide efficient calculations, the LogPF exploits the Jacobian logarithm that is used to compute sums of exponentials. We introduce the weight calculation, weight normalization, resampling, and point estimations in logarithmic domain. For point estimations, we derive the calculation of the minimum mean square error (MMSE) and maximum a posteriori (MAP) estimate. In particular, in situations where sensors are very accurate the LogPF achieves a substantial performance gain. We show the performance of the derived LogPF by three simulations, where the LogPF is more robust than its standard particle filter counterpart. Particularly, we show the benefits of computing all steps in logarithmic domain by an example based on RaoBlackwellization.
1. Introduction
Many scientific problems involve dynamic systems, for example, in navigation applications. Dynamic systems can be described by statespace models where the state is only observable by noisy measurements. Recursive Bayesian filters are algorithms to estimate an unknown probability density function (PDF) of the state recursively by measurements over time. Such a filter consists of two steps: prediction and update. In the prediction step, the PDF of the state is calculated based on the system model. During the update step, the current measurement is used to correct the prediction based on the measurement model. In this way, the posterior PDF of the state is estimated recursively over time. Particle filters (PFs) are implementations of recursive Bayesian filters which approximate the posterior PDF by a set of random samples, called particles, with associated weights. Several types of PFs have been developed over the last few years [1–8]. They differ in their choice of the importance sampling density and the resampling step.
A common way is to choose the importance sampling density to be equal to the prior, for example, the bootstrap filtering algorithm [1]. However, if the width of the likelihood distribution is too small in comparison to the width of the prior distribution or if measurements are located in the tail of the prior distribution, this choice may fail; see [4]. These situations may arise when sensors are very accurate or measurements rapidly change over time such that the particle states after the prediction step might be located in the tail of the likelihood. Additionally, numerical representation of numbers may limit the computational accuracy by floating point errors. In these situations, a common way is to use the likelihood particle filter (LPF) [3, 5]. The LPF uses the likelihood distribution for the importance sampling density and the prior for the weight update. The LPF is recommended when the width of the likelihood distribution is much smaller compared to the one of the prior and accordingly, the posterior density function is more similar to the likelihood than to the prior. However, in many situations, it is impossible to draw samples from the likelihood distribution. Furthermore, the LPF is not suitable for an underdetermined system where the number of measurements is lower than the number of states per time instant. Additionally, using the likelihood as proposal distribution might increase the variance of the simulated samples according to [5].
In this paper, we derive a PF that operates in logarithmic domain (logdomain), called LogPF. The LogPF represents the weights in logdomain which enables a more accurate representation of low weights with a limited number of bits. Particularly, when the involved distributions contain exponentials or products of functions, the logdomain representation is computationally more efficient [9]. The derived LogPF uses the Jacobian logarithm [10–12] to describe all steps of the PF, including weight update, weight normalization, resampling, and point estimations in logdomain. In this paper, we derive the minimum mean square error (MMSE) and the maximum a posteriori (MAP) point estimators.
The paper is structured as follows: First, we describe in Section 2 standard PFs; thereafter we derive the proposed LogPF in Section 2. Afterwards, we derive in Section 4 two point estimators in logdomain: Section 4.1 describes the MMSE estimator and Section 4.2 the MAP estimator. We evaluate the LogPF by simulations and compare the results to standard PF implementations and Kalman filters (KFs) in Section 5. Particularly, we show by an example based on RaoBlackwellization the benefits by computing all steps in logdomain. For distributed particle filters like [13] similar results are expected. Finally, Section 6 concludes the paper. Throughout the paper, we will use the following notations:(i)All vectors are interpreted as column vectors.(ii) denotes an identity matrix.(iii)Matrices are denoted by bold capital letters and vectors by bold small letters.(iv) denotes the th element of vector .(v) denotes a Gaussian distributed or multivariate random variable with mean and variance .(vi) stands for expectation or sample mean of .(vii) stands for all integer numbers starting from to , thus .(viii) denotes the estimate of .(ix) defines the set for with .
2. Particle Filtering
PFs represent the probability density of the state vector at time step by particles. According to [1–3, 5] and assuming a firstorder hidden Markov model, the posterior filtered density is approximated as where defines the measurement vector for the time steps , stands for the Dirac distribution, denotes particle state, and denotes the normalized weight with The unnormalized weight is denoted by , while the weight update is calculated aswith the importance density , the likelihood distribution , and the transition prior distribution ; see [1–3, 5]. For , the approximation used in (33) approaches . By (33), (2), and (3), the sequential importance sampling (SIS) PF can be described which is the basis of most PFs [2].
For numerical stability reasons, weights are often computed and stored in the logdomain, which is also computationally efficient when the distributions involved contain exponentials or products. Thus, we obtain from (3) the update equation in logdomain, with where we define with the logdomain weight (logweight) for particle . After calculating the weights in logdomain, the weights are transferred for further processing to the linear domain (lindomain) with for , where the numerical accuracy is lost due to floating point representation. In order to obtain a more stable PF implementation, the weights can be transferred to the lindomain by such that ; see, for example, [9].
In the following we investigate a different approach, where the transformation from the logdomain to the lindomain is not necessary. Hence, we show that all steps of the PF can be computed in logdomain.
3. Algorithm Derivation
To compute all steps of the PF in logdomain, we obtain for the approximation of the posterior filtered density from (33) using (5). The normalization of the logweight can be calculated directly in logdomain as a simple subtraction, withwhere denotes the normalization factor with To compute the normalization factor of (9) without transferring the logweights to the lindomain, the Jacobian logarithm [10, 11] can be used. The Jacobian logarithm computes the logarithm of a sum of two exponentials using the operator and adding a correction term; that is, With (10) and as derived in [12], the expression can be calculated iteratively aswhere and . Hence, using the Jacobian logarithm allows computing operations such as summations like in (9) efficiently in the logdomain. For later conveniences, we express (11) by an iterative algorithm shown in Algorithm 1 by a pseudocode; that is, where defines the set for with . Thus, the normalization factor of (9) can be calculated iteratively by Hence, we obtain for the logweight normalization of (8), Please note that a complexity reduction can be obtained if the term of Algorithm 1 is read from a hardcoded lookup table as a function of .

By using (14), the SIS PF can be described in logdomain as shown in Algorithm 2 by a pseudocode. Algorithm 2 is evaluated at each time step , where denotes the set for the particle states and logweights with for time step .

One of the crucial problems of the SIS PF is degeneracy (another problem which is not discussed in this paper is the selection of the importance density of (4); see e.g., [2]).
After a few time steps all particles except for one have low weights and do not contribute anymore to the computation of the posterior PDF; that is, the distribution estimation degenerates. A suitable measure of degeneracy is the effective sample size [1–3, 5]. A widely used approximation for the effective sample size is with and . A small value of indicates a severe degeneracy. By using the Jacobian logarithm of (12), we obtain from (15) the effective sample size in logdomain, with
Alternative effective sample size approximations as introduced in [14] can also be represented in logdomain. Table 1 summarizes four generalized alternative effective sample size approximations in lindomain and logdomain which depend on the parameter . Please note as in (15) is obtained from with .
The Generic PF extends the SIS PF by a resampling step to prevent degeneration as shown in Algorithm 3 by a pseudocode. The basic idea of resampling is to eliminate particles with low weights and reproduce particles with high weights. Whenever a significant degeneracy is observed in the Generic PF, that is, is less than a threshold , the particles are resampled. Algorithm 4 shows a pseudocode of the systematic resampling algorithm [15] transferred into logdomain. In Algorithm 4, denotes the uniform distribution on the interval (cf. Algorithm 4 Line 5). Similarly to the descriptions before, the Jacobian logarithm is used to construct the estimated sampled cumulative distribution function in logdomain (logCDF); see Algorithm 4 Line 3. The estimated sampled logCDF is presented by a vector with length and element with . By , we denote the th element of the vector . According to the estimated sampled logCDF, particles with high weights are reproduced and particles with low weights are eliminated.

In Section 5, we use the sequential importance resampling (SIR) PF; see [1], as an example for comparing the performance of the linear domain PF (LinPF) and LogPF. Therefore, Algorithm 5 shows a pseudocode of the SIR PF in logdomain, which is derived from the Generic PF by setting the importance density to be equal to the transitional prior distribution, with and using , that is, performing resampling at each time step [2].

Additionally, we compare in Section 5 the proposed LogPF to the PF implementation which computes the weights in logdomain and uses (6) to obtain the weights in lindomain, called LinLogPF in the following. A pseudocode of the Generic LinLogPF is shown in Algorithm 6: the weights are calculated in logdomain according to (4) and normalized and transferred to the lindomain according to as mentioned in Section 3 and, for example, [9]. Please note further improvements can be obtained if the weights are directly propagated in logdomain if resampling is not necessary.
4. LogPF Point Estimators
In many applications, we are interested in a point estimate of the state instead of its a posteriori PDF. In this section we derive the MMSE and MAP point estimators based on the a posteriori density estimated by the LogPF.
4.1. Minimum Mean Square Error Estimate
The MMSE point estimate using the approximated a posteriori density, see, for example, [16], is defined by where the th element of the vector can expressed asIn order to use the Jacobian logarithm to compute (18) in logdomain, we separate the positive and negative values of with
and the corresponding logweight accordingly. Please note is not considered in (19) because . Thus, we obtain from (18) for the MMSE estimate, where we introduced with
4.2. Maximum A Posteriori Estimate
The MAP point estimate is defined aswhich can be approximated, see [17], by for . The corresponding MAP state estimator using weights in logdomain can be calculated using the Jacobian logarithm of (12) with
5. Simulations
In this section, we demonstrate the performance of the LogPF using floating point 64bit number accuracy according to IEEE Standard 754 for double precision with three simulations.
5.1. Linear Processes
First, we simulate a linear Gaussian model. The KF introduced in [18] is an optimal recursive Bayesian filter which can be used if the considered system is linear and the probabilistic model is Gaussian. Hence, we compare the LogPF and the LinPF to the KF as benchmark. The simulation considers the linear transition modelwith the transition matrix , the state vector , and the zeromean multivariate Gaussian distributed process noise with standard deviation and the identity matrix . The measurement model is defined by with the measurement matrix and the zeromean Gaussian distributed measurement noise with standard deviation . Based on the measurements , the state sequence for is estimated using a KF, the LinPF and the LogPF with particles and known initial state . For the LinPF, we use the standard PF implementation as well as the LinLogPF.
First, we compare the KF to the SIR LinPF, SIR LinLogPF, and the SIR LogPF. In order to see the robustness of the SIR LogPF, we variate the measurement noise standard deviation from down to . We simulate 1000 different realizations with known initial state for each run. Figure 1 shows the root mean square error (RMSE) averaged over all time steps and simulations versus the decreasing measurement noise standard deviation . The abbreviation SIR LogPF MAP stands for the MAP point estimate and SIR LogPF MMSE for the MMSE point estimate of the SIR LogPF. Respectively, the abbreviations SIR LinPF MAP, SIR LinLogPF MAP, SIR LinPF MMSE, and SIR LinLogPF MMSE stand for the SIR LinPF and SIR LinLogPF point estimates. We see that the KF obtains the best estimation results followed by the SIR LogPF and SIR LinLogPF. Figure 1 shows additionally an enlarged subfigure of the region for . For , all SIR PFs obtain equivalent performance. As soon as decreases, the RMSE decreases for the SIR PFs until . For lower measurement noise standard deviations, the RMSE of the SIR LinPF and increases up to a limit of whereas the accuracy of the SIR LogPF and SIR LinLogPF are limited by the number of particles. This effect is caused by the number representation of the particle weights of the SIR LinPF. For , the particle weights of the SIR LinPF are small and at similar order as numerical errors due to number representation. Therefore, numerical errors dominate the resampling step such that the resampling algorithm draws particles based on numerical inaccuracies. Thus, the update step of the SIR LinPF loses its effect and we obtain as the expected error of the process model in (25). For lower standard deviations, the accuracy of the SIR LogPF and LinLogPF is limited by the number of particles. The RMSE of the SIR LogPF and LinLogPF stay constant around for the standard deviations between . The KF is the optimal filter for this simulation; hence, the RMSE of the KF is limited by the process noise; hence, the RMSE is constant around .
To summarize, we obtain for all considered standard deviations equal or better estimation results using the SIR LogPF compared to the SIR LinPF. However, the LinLogPF which computes the weights in logdomain using (6) obtains similar simulation results compared to the SIR LogPF. Hence, in the following we show the benefits of the LogPF by using SIS PFs, where no resampling is preformed. The resampling step is a key point for the success of a PF which is applied to avoid the degeneracy. However, resampling yields to a loss of diversity in the propagation of particles and entails an additional computational cost [14]. Similar to the SIR PF, we set the importance density to be equal to the transitional prior distribution, with .
Figure 2 shows the RMSE averaged over all time steps and simulations versus the decreasing measurement noise standard deviation . The curve looks similar to Figure 1. For , the SIS PFs obtain equivalent performance. As soon as decreases, the RMSE decreases for the SIS PFs until . For lower measurement noise standard deviations, the RMSE of the SIS LinPF and LinLogPF increase up to the limit of . The RMSE of the SIS LogPF stays constant around for the standard deviations between .
However, since the SIS PF uses no resampling step, the transformation of the weights from the logdomain to the lindomain is not essential. Hence, if the weights of the SIS LinLogPF are not transferred to the lindomain and the weights are normalized with and propagated to the next time instant, the LinLogPF obtains equivalent estimation results than the SIS LogPF. Therefore, the transformation to the lindomain in Line 6 in Algorithm 6 may introduce numerical inaccuracies. As long as no normalization is needed, the LinLogPF can be computed completely in the logdomain.
5.2. Nonlinear Processes: Generic Particle Filter
In this section, we use the Generic PF which decides adaptively when the resampling step is performed. Similar to the SIR PF, we set the importance density to be equal to the transitional prior distribution, with . We compare the Generic LogPF to the Generic LinPF and Generic LinLogPF. As mentioned before, a pseudocode of the Generic LinLogPF is shown in Algorithm 6. In all algorithms, resampling is performed whenever the effective sample size falls below a threshold . We use the approximation for the effective sample size in the lindomain and respectively in the logdomain. Similar to [14], we consider a stochastic volatility model with and the zeromean Gaussian distributed process and measurement noise and , where is a multiplicative noise. Based on the measurements , the state sequence for is estimated using the Generic PFs with particles. We set the measurement noise standard deviation to and the process noise standard deviation to . For performance evaluation, we try to recreate situations with rapidly changing measurements, that is, a certain model mismatch between the true likelihood of the process and the likelihood representation inside the PF. Inside the Generic PFs, we use the measurement noise standard deviation . Hence, taking the model mismatch into account it is more likely that particle states are located in the tail of the PF’s likelihood after the prediction step. For the simulations, we variate the normalized resampling bound from 0 to 1 using a grid of resolution (equivalently for the logdomain). We simulate 1000 different realizations with known initial state and count the number of performed resampling for each run. The resampling rate is afterwards calculated as , where stands for the sample mean of .
Figure 3 shows the resampling rate averaged over all time steps and simulations versus the normalized resampling bound . For , the Generic LogPF has a lower resampling rate than the Generic LinPF and the Generic LinLogPF. Figure 4 shows the RMSE versus the resampling rate , where the RMSE decreases with increasing resampling rate for all Generic PFs. However, we can observe that, for a resampling rate of , we obtain a slightly lower RMSE with the Generic LogPF than using the Generic LinPF or Generic LinLogPF.
5.3. RaoBlackwellization
In this section we consider a simultaneous localization and mapping (SLAM) example with radio signals indicated in Figure 5 according to the system model in [19] (similar results are expected in, e.g., belief propagation [20] or distributed PFs [13]). A receiver which is moving along an arbitrary trajectory is measuring the distances with between the receiver at location and transmitters at location with the distance offset and zeromean Gaussian distributed measurement noise with standard deviation . The receiver uses the control input to move from state to state . In order to use the distance measurements for positioning, the positioning algorithm estimates the receiver and transmitter states simultaneously. The state vector describing the complete system at time instant iswith the receiver and the transmitter states which are also unknown. The receiver state includes the receiver position and the receiver velocity , while the transmitter states are defined by with for transmitters. We consider a static environment with a fixed number of transmitters and a receiver moving along an arbitrary trajectory. However, for notational convenience, a time dependence on is introduced here for the transmitter positions . Additionally, we assume based on [19] that the distance offset is constant.
The state space is estimated by an algorithm according to [19, 21] based on RaoBlackwellization [22], where the states space of is partitioned into subspaces. Hence, we use PFs to estimate the subspaces representing the transmitters inside a PF. The reason to use a PF instead of a low complexity extended Kalman filter (EKF) is the nonlinearity of the measurements in (29). The algorithm of [19, 21] is based on a superordinate particle filter (superPF) and subordinate particle filters (subPFs). Each particle of the superPF with the state vector holds subPFs. Each subPF is represented by the particles with where stands for the number of particles in the th subPF with , estimating .
Similar to [19, 21], the posterior distribution can be approximated by importance samples, as where defines the weight for the th particle at time instant with and the weight of the th particle of the th subPF for the th particle of the superPF at time instant with Resampling is performed at each time instant to prevent degeneration; hence, (34) and (35) do not depend on the weights and , respectively.
In the following we compare the position accuracy of three different implementations:
(i) LinPFSLAM. SLAM algorithm which calculates the posterior distribution according to (33), (34), and (35) in the lindomain as proposed in [19, 21].
(ii) LogPFSLAM. SLAM algorithm which calculates the posterior distribution in the logdomain. By transferring (33), (34), and (35) to the logdomain, we obtain
(iii) LinLogPFSLAM. SLAM algorithm which calculates the weights in the logdomain and transfers the weights afterwards to the lindomain using (6). Hence, using (6) for (34), we obtain where
We evaluate the performance of the different algorithms using a two dimensional scenario with three static transmitters and a moving receiver indicated in Figure 6. The transmitters are located at constant locations summarized in Table 2. The receiver is moving on a random pathway for 60 s with a system sampling interval of 1 s.
The transition model of the receiver states uses a standard discrete white noise acceleration model [23], withwith in a twodimensional Cartesian coordinate system with the zeromean multivariate Gaussian distributed process noise with standard deviation . The receiver state vector consists of the  positions and the velocities where are the corresponding velocities in  direction. The transition matrix in (40) includes a rotation matrix with the heading changes , which are used as control input . The transmitter states are timeinvariant; hence, we obtain for the transition prior of the th transmitter .
The simulations are performed using and particles for all transmitters . For the initialization, we use prior information which is the knowledge on the starting position and velocity. Please note that an unknown starting position and direction or larger initial uncertainties may result in a biased and rotated coordinate system for the estimation. For simplicity, we use also prior information on the transmitter states (please see [19, 21], e.g., on unknown transmitter states). The prior information includes a Gaussian distribution with standard deviation of 0.5 m centered around the true transmitter states, that is, position and distance offset. For computing the position estimate , we use the MMSE estimate as introduced in [19, 21].
Figure 7 shows the RMSE versus the receiver traveled time for the different implementations with and 200 independent evaluations. At the starting time, the RMSE for all algorithms are similar because of the identical initialization. Afterwards, the RMSE increases caused by the dilution of precision (DOP). However, we can clearly see that we obtain a higher accuracy using the LogPF compared to the LinPF and the LinLogPF.
6. Conclusion
In this paper we derived a particle filter representation in logarithmic domain, called LogPF. The derivations show that the weight calculation, weight normalization, resampling, and point estimations can be expressed in logarithmic domain using the Jacobian logarithm. Representing the weight of each particle in logarithmic domain allows reducing the effect of numerical issues. Furthermore, the algorithm derived in this paper can be generalized to multidimensional nonparametric marginalization.
Conflicts of Interest
The authors declare that there are no conflicts of interest regarding the publication of this paper.
Acknowledgments
The authors would like to thank Patrick Robertson and Luigi Bruno for many interesting discussions on this problem. This work has been performed in the framework of the DLR project Navigation 4.0 and the European Union Horizon 2020 research and innovation programme under Grant Agreement no. 636537 HIGHTS (High precision positioning for CooperativeITS applications).