4.2.12 Particle Filters and Non-Gaussian Fusion
The Particle Filter (PF) is a nonlinear Bayesian state-estimation method designed for situations where the state probability distribution cannot be represented adequately by a single Gaussian mean and covariance.
The Kalman Filter, EKF, ESKF, MEKF, and UKF all fundamentally summarize uncertainty using quantities such as
\[ \boxed{ \hat{\mathbf x} } \]
and
\[ \boxed{ \mathbf P. } \]
Even when the system dynamics are nonlinear, these filters still approximate the posterior distribution mainly through its mean and covariance.
This works extremely well when the state uncertainty is approximately Gaussian and unimodal.
But some navigation problems produce distributions that are
- strongly nonlinear,
- skewed,
- heavy-tailed,
- bounded,
- multimodal,
- discontinuous,
- ambiguous.
For example, a vision-based relative-navigation system may initially admit two or more possible spacecraft poses.
A bearing-only measurement may produce several geometrically plausible target locations.
A sensor may occasionally generate outliers.
A spacecraft may lose track of the target and later reacquire it with significant ambiguity.
In such situations, forcing the posterior into a single Gaussian distribution may discard important information.
The Particle Filter addresses this by representing the posterior distribution using a set of weighted samples called particles.
Conceptually,
\[ \boxed{ p(\mathbf x_k|\mathbf z_{1:k}) \approx \sum_{i=1}^{N_p} w_k^{(i)} \delta \left( \mathbf x_k-\mathbf x_k^{(i)} \right) } \]
where
-
N_pis the number of particles, -
\mathbf x_k^{(i)}is particlei, -
w_k^{(i)}is its normalized weight, -
\delta(\cdot)denotes a Dirac delta distribution.
Thus, instead of
\[ \boxed{ \text{One Mean + One Covariance} } \]
the Particle Filter maintains
\[ \boxed{ \text{Many Possible States + Their Probabilities}. } \]
This makes Particle Filters especially useful for nonlinear and non-Gaussian sensor fusion.
4.2.12.1 Why Particle Filters Are Needed
Suppose the posterior state distribution is approximately Gaussian:
\[ p(x) = \mathcal N(\mu,\sigma^2). \]
Then
\[ \mu \]
and
\[ \sigma^2 \]
describe the distribution well.
A Kalman-family estimator is appropriate.
Now suppose instead that
\[ p(x) \]
has two strong peaks.
For example,
\[ \boxed{ p(x) = 0.5\,\mathcal N(-10,1) + 0.5\,\mathcal N(10,1). } \]
The mean is
\[ \mu=0. \]
But
\[ x=0 \]
is actually one of the least likely states.
Therefore,
\[ \boxed{ \text{Mean Alone Can Be Physically Misleading in a Multimodal Distribution}. } \]
A Particle Filter can preserve both hypotheses around
\[ x=-10 \]
and
\[ x=10. \]
4.2.12.2 Core Particle-Filter Idea
The Particle Filter approximates the posterior using particles:
\[ \boxed{ \left\{ \mathbf x_k^{(i)}, w_k^{(i)} \right\}_{i=1}^{N_p}. } \]
Each particle is a possible system state.
The associated weight indicates how plausible that state is given the measurements.
The algorithm repeatedly performs:
\[ \boxed{ \text{Propagate} \rightarrow \text{Weight} \rightarrow \text{Normalize} \rightarrow \text{Resample}. } \]
This process approximates recursive Bayesian estimation without requiring the posterior to remain Gaussian.
4.2.12.3 Connection to Bayesian Estimation
Recall the Bayesian recursion:
\[ \boxed{ p(\mathbf x_k|\mathbf z_{1:k}) \propto p(\mathbf z_k|\mathbf x_k) p(\mathbf x_k|\mathbf z_{1:k-1}). } \]
The prediction step is
\[ \boxed{ p(\mathbf x_k|\mathbf z_{1:k-1}) = \int p(\mathbf x_k|\mathbf x_{k-1}) p(\mathbf x_{k-1}|\mathbf z_{1:k-1}) d\mathbf x_{k-1}. } \]
The correction step is
\[ \boxed{ p(\mathbf x_k|\mathbf z_{1:k}) \propto p(\mathbf z_k|\mathbf x_k) p(\mathbf x_k|\mathbf z_{1:k-1}). } \]
The Particle Filter approximates these probability distributions numerically using particles.
4.2.12.4 Particle Representation of a Distribution
Suppose we have
\[ N_p \]
particles.
Then the posterior is approximated as
\[ \boxed{ p(\mathbf x) \approx \sum_{i=1}^{N_p} w^{(i)} \delta \left( \mathbf x-\mathbf x^{(i)} \right). } \]
Each particle contributes probability mass at
\[ \mathbf x^{(i)}. \]
If all particles initially have equal weight,
\[ \boxed{ w^{(i)} = \frac{1}{N_p}. } \]
After incorporating measurements, the weights generally become unequal.
4.2.12.5 Particle Interpretation
Each particle can be interpreted as a hypothesis:
\[ \boxed{ \mathbf x^{(i)} = \text{One Possible True State}. } \]
The weight
\[ w^{(i)} \]
represents
\[ \boxed{ \text{How Plausible That Hypothesis Is Given the Measurements}. } \]
Thus a Particle Filter naturally maintains multiple competing possibilities.
4.2.12.6 Particle Filter State Model
Consider the nonlinear process model
\[ \boxed{ \mathbf x_k = f( \mathbf x_{k-1}, \mathbf u_{k-1}, \mathbf w_{k-1} ). } \]
The process noise
\[ \mathbf w_{k-1} \]
may be non-Gaussian.
Each particle is propagated independently:
\[ \boxed{ \mathbf x_k^{(i)} \sim p( \mathbf x_k| \mathbf x_{k-1}^{(i)} ). } \]
Thus the particle cloud moves according to the physical system dynamics.
4.2.12.7 Measurement Model
Suppose the measurement model is
\[ \boxed{ \mathbf z_k = h( \mathbf x_k, \mathbf v_k ). } \]
The likelihood of a measurement given a particle is
\[ \boxed{ p( \mathbf z_k| \mathbf x_k^{(i)} ). } \]
Particles that predict measurements close to the actual sensor observation receive high weight.
Particles inconsistent with the measurement receive low weight.
4.2.12.8 The Measurement Likelihood
Suppose measurement noise is Gaussian:
\[ \mathbf v_k \sim \mathcal N( 0,\mathbf R ). \]
Then for particle i,
\[ \hat{\mathbf z}_k^{(i)} = h( \mathbf x_k^{(i)} ) \]
and residual
\[ \boxed{ \mathbf r_k^{(i)} = \mathbf z_k - \hat{\mathbf z}_k^{(i)}. } \]
The measurement likelihood is proportional to
\[ \boxed{ p( \mathbf z_k| \mathbf x_k^{(i)} ) \propto \exp \left[ -\frac12 \mathbf r_k^{(i)T} \mathbf R^{-1} \mathbf r_k^{(i)} \right]. } \]
Thus measurement likelihood plays a role analogous to the innovation in a Kalman Filter.
4.2.12.9 Weight Update
A general importance-weight update is
\[ \boxed{ \tilde w_k^{(i)} = w_{k-1}^{(i)} \frac{ p( \mathbf z_k| \mathbf x_k^{(i)} ) p( \mathbf x_k^{(i)}| \mathbf x_{k-1}^{(i)} ) }{ q( \mathbf x_k^{(i)}| \mathbf x_{0:k-1}^{(i)}, \mathbf z_{1:k} ) } } \]
where
\[ q(\cdot) \]
is the proposal distribution.
For the common bootstrap Particle Filter, the proposal is chosen as the process transition density:
\[ q( \mathbf x_k| \mathbf x_{k-1}, \mathbf z_k ) = p( \mathbf x_k| \mathbf x_{k-1} ). \]
Then the weight update simplifies to
\[ \boxed{ \tilde w_k^{(i)} = w_{k-1}^{(i)} p( \mathbf z_k| \mathbf x_k^{(i)} ). } \]
Why this matters
The importance-weight equation corrects for the fact that particles may be sampled from a proposal distribution different from the true transition density. The numerator represents how plausible the particle is under the physical model and current measurement, while the denominator compensates for how it was actually sampled.
4.2.12.10 Weight Normalization
The unnormalized weights are
\[ \tilde w_k^{(i)}. \]
Normalize them using
\[ \boxed{ w_k^{(i)} = \frac{ \tilde w_k^{(i)} }{ \sum_{j=1}^{N_p} \tilde w_k^{(j)} }. } \]
Then
\[ \boxed{ \sum_{i=1}^{N_p} w_k^{(i)} = 1. } \]
These normalized weights represent the posterior particle probabilities.
4.2.12.11 Estimated State Mean
If a single state estimate is required, compute the weighted mean:
\[ \boxed{ \hat{\mathbf x}_k = \sum_{i=1}^{N_p} w_k^{(i)} \mathbf x_k^{(i)}. } \]
However, one must remember:
\[ \boxed{ \text{The Mean Does Not Fully Describe a Non-Gaussian Particle Distribution}. } \]
The complete particle cloud often contains important information that the mean alone hides.
4.2.12.12 Estimated Covariance
A weighted covariance can be computed as
\[ \boxed{ \mathbf P_k = \sum_{i=1}^{N_p} w_k^{(i)} \left( \mathbf x_k^{(i)} - \hat{\mathbf x}_k \right) \left( \mathbf x_k^{(i)} - \hat{\mathbf x}_k \right)^T. } \]
This provides a familiar covariance summary.
But again,
\[ \boxed{ \hat x,\;P } \]
may not fully represent the actual posterior if it is multimodal or strongly skewed.
4.2.12.13 Sequential Importance Sampling
The basic algorithm without resampling is called Sequential Importance Sampling (SIS).
The steps are
\[ \boxed{ \text{Sample / Propagate Particles} } \]
\[ \downarrow \]
\[ \boxed{ \text{Calculate Measurement Likelihood} } \]
\[ \downarrow \]
\[ \boxed{ \text{Update Weights} } \]
\[ \downarrow \]
\[ \boxed{ \text{Normalize Weights}. } \]
However, SIS suffers from an important problem called weight degeneracy.
4.2.12.14 What Is Particle Degeneracy?
After repeated measurement updates, most particles may receive extremely small weights.
Eventually,
\[ \boxed{ w^{(i)} \approx0 } \]
for almost all particles except a few.
For example,
\[ w_1=0.95 \]
while the remaining 999 particles share only
\[ 0.05. \]
Then most computational effort is spent propagating particles that contribute almost nothing to the posterior.
This is called particle degeneracy.
Practical interpretation
Degeneracy means the nominal particle count can be misleading: although thousands of particles may exist in memory, only a small number may carry meaningful probability mass. The effective sample size introduced later is therefore a better indicator of the useful particle population.
4.2.12.15 Why Degeneracy Occurs
Particles are sampled from a proposal distribution.
If many sampled particles lie in regions that are inconsistent with the measurement, they receive tiny weights.
Over repeated updates, the mismatch accumulates.
Therefore:
\[ \boxed{ \text{Repeated Importance Weighting} \rightarrow \text{Increasing Weight Imbalance}. } \]
Resampling is introduced to address this problem.
4.2.12.16 Effective Sample Size
A common measure of degeneracy is the effective sample size:
\[ \boxed{ N_{\text{eff}} = \frac{ 1 }{ \sum_{i=1}^{N_p} \left( w_k^{(i)} \right)^2 }. } \]
If all particles have equal weights,
\[ w^{(i)}=\frac1{N_p}, \]
then
\[ \boxed{ N_{\text{eff}} = N_p. } \]
If one particle dominates,
\[ N_{\text{eff}} \rightarrow1. \]
Interpretation of effective sample size
The effective sample size is not the literal number of stored particles. It is an equivalent number of equally weighted particles that would provide approximately the same weight concentration. A rapid fall in this quantity is a strong warning that the proposal or measurement model is causing weight collapse.
4.2.12.17 Resampling Trigger
A common strategy is to resample when
\[ \boxed{ N_{\text{eff}} < N_{\text{threshold}}. } \]
For example,
\[ N_{\text{threshold}} = 0.5N_p. \]
Thus resampling occurs only when the particle population becomes sufficiently degenerate.
This avoids unnecessary resampling at every time step.
4.2.12.18 What Is Resampling?
Resampling generates a new particle set by drawing particles according to their current weights.
Particles with high weights are likely to be copied.
Particles with low weights are likely to disappear.
Conceptually,
\[ \boxed{ \text{Many Low-Probability Particles} \rightarrow \text{Discarded} } \]
while
\[ \boxed{ \text{High-Probability Particles} \rightarrow \text{Replicated}. } \]
After resampling, weights are usually reset to
\[ \boxed{ w^{(i)} = \frac1{N_p}. } \]
Why resampling works
Resampling reallocates computational effort toward regions of high posterior probability. It does not create new information; it redistributes the existing particle population according to the current posterior weights.
4.2.12.19 Resampling Example
Suppose there are five particles:
\[ x_1,\dots,x_5 \]
with weights
\[ [0.05,\;0.10,\;0.10,\;0.65,\;0.10]. \]
Particle 4 carries most posterior probability.
After resampling, a possible new set could be
\[ [x_2,x_4,x_4,x_4,x_5]. \]
All new particles then receive equal weight.
Thus the particle population concentrates around the likely region.
4.2.12.20 Common Resampling Methods
Common methods include
- multinomial resampling,
- systematic resampling,
- stratified resampling,
- residual resampling.
They differ in
- computational cost,
- variance,
- implementation complexity.
Systematic resampling is commonly used because it is efficient and simple.
4.2.12.21 Multinomial Resampling
Multinomial resampling independently draws
\[ N_p \]
particles according to the discrete probability distribution defined by
\[ w^{(i)}. \]
It is conceptually simple but can have relatively high sampling variance.
4.2.12.22 Systematic Resampling
Systematic resampling uses a single random offset and then samples at uniformly spaced cumulative-probability intervals.
It has complexity approximately
\[ \boxed{ O(N_p) } \]
and usually lower resampling variance than multinomial resampling.
4.2.12.23 Stratified Resampling
Stratified resampling divides the unit interval into
\[ N_p \]
segments.
A random sample is drawn inside each segment.
This reduces sampling variance compared with unrestricted multinomial resampling.
4.2.12.24 Residual Resampling
Residual resampling first deterministically assigns copies according to the integer part of
\[ N_pw_i. \]
The remaining particles are selected probabilistically.
This can reduce resampling noise.
4.2.12.25 Particle Impoverishment
Resampling solves degeneracy but creates another problem.
If one particle has high weight, resampling may generate many identical copies.
Then particle diversity decreases.
This is called sample impoverishment or particle impoverishment.
Thus:
\[ \boxed{ \text{Resampling} \rightarrow \text{Less Degeneracy} + \text{Potential Loss of Diversity}. } \]
Design trade-off
Degeneracy and impoverishment are competing problems. Resampling too rarely wastes computation on negligible particles, while resampling too aggressively destroys diversity. A practical design therefore combines an effective-sample-size trigger with diversity-preserving methods such as roughening or better proposal distributions.
4.2.12.26 Why Particle Diversity Matters
Particles must explore the plausible state space.
If too many particles become identical, the filter may become unable to recover when the true state moves outside the concentrated particle region.
This is particularly dangerous during
- manoeuvres,
- sensor reacquisition,
- abrupt model changes,
- ambiguous measurements.
4.2.12.27 Regularization and Roughening
One strategy for maintaining diversity is to add small perturbations after resampling.
For example,
\[ \boxed{ \mathbf x_k^{(i)} \leftarrow \mathbf x_k^{(i)} + \boldsymbol\epsilon^{(i)} } \]
where
\[ \boldsymbol\epsilon^{(i)} \]
is small random noise.
This is sometimes called roughening.
It must be applied carefully so that artificial noise does not distort the physical posterior excessively.
4.2.12.28 Proposal Distribution
The proposal distribution is
\[ \boxed{ q( \mathbf x_k| \mathbf x_{0:k-1}, \mathbf z_{1:k} ). } \]
It determines where new particles are generated.
A good proposal places particles in regions with high posterior probability.
A poor proposal wastes particles in unlikely regions.
Why the proposal is central
The proposal distribution determines where computational effort is spent. A proposal that uses current measurement information can place particles directly in high-likelihood regions and dramatically reduce the number of particles required for a given estimation quality.
4.2.12.29 Bootstrap Particle Filter
The most common simple Particle Filter chooses
\[ \boxed{ q( x_k|x_{k-1},z_k ) = p( x_k|x_{k-1} ). } \]
This means particles are propagated only using the process model before measurement weighting.
The algorithm is often called
- bootstrap Particle Filter,
- condensation algorithm,
- sampling importance resampling filter.
4.2.12.30 Limitation of the Bootstrap Proposal
If the measurement is very informative but the process model is broad, most particles may be propagated far from the measurement-consistent region.
Then nearly all receive negligible weight.
Thus:
\[ \boxed{ \text{Very Informative Measurement} + \text{Poor Proposal} \rightarrow \text{Severe Degeneracy}. } \]
More advanced proposals can use the current measurement when generating particles.
4.2.12.31 Optimal Proposal Concept
An ideal proposal would be
\[ \boxed{ q( x_k|x_{k-1},z_k ) = p( x_k|x_{k-1},z_k ). } \]
This incorporates the new measurement before sampling.
In many nonlinear systems this distribution cannot be calculated analytically.
Approximate techniques are therefore used.
4.2.12.32 EKF-Based Proposal
One possibility is to construct a local EKF for each particle.
The EKF uses
\[ z_k \]
to define a proposal around the measurement-consistent region.
This can improve particle efficiency but substantially increases computation.
4.2.12.33 UKF-Based Proposal
Similarly, a UKF may generate a proposal distribution for each particle.
This creates a Unscented Particle Filter.
It can handle nonlinear proposal shaping better than an EKF-based proposal in some systems.
However, computational cost increases significantly.
4.2.12.34 Complete Bootstrap Particle Filter Algorithm
A basic algorithm is:
4.2.12.34.1 Initialization
Generate
\[ \boxed{ x_0^{(i)} \sim p(x_0) } \]
for
\[ i=1,\dots,N_p. \]
Set
\[ \boxed{ w_0^{(i)} = \frac1{N_p}. } \]
4.2.12.34.2 Prediction
For each particle,
\[ \boxed{ x_k^{(i)} \sim p( x_k| x_{k-1}^{(i)} ). } \]
4.2.12.34.3 Measurement Prediction
Compute
\[ \boxed{ \hat z_k^{(i)} = h( x_k^{(i)} ). } \]
4.2.12.34.4 Measurement Likelihood
Evaluate
\[ \boxed{ L_k^{(i)} = p( z_k| x_k^{(i)} ). } \]
4.2.12.34.5 Weight Update
\[ \boxed{ \tilde w_k^{(i)} = w_{k-1}^{(i)} L_k^{(i)}. } \]
4.2.12.34.6 Normalize
\[ \boxed{ w_k^{(i)} = \frac{ \tilde w_k^{(i)} }{ \sum_j \tilde w_k^{(j)} }. } \]
4.2.12.34.7 Effective Sample Size
\[ \boxed{ N_{\text{eff}} = \frac1{ \sum_i (w_k^{(i)})^2 }. } \]
4.2.12.34.8 Resample if Required
If
\[ N_{\text{eff}} < N_{\text{threshold}}, \]
resample the particles.
4.2.12.34.9 Estimate State
Compute required outputs such as
\[ \boxed{ \hat x_k = \sum_i w_k^{(i)} x_k^{(i)}. } \]
4.2.12.35 Particle Filter Conceptual Flow
The complete cycle is
\[ \boxed{ \text{Previous Particle Cloud} } \]
\[ \downarrow \]
\[ \boxed{ \text{Propagate Each Particle Through Dynamics} } \]
\[ \downarrow \]
\[ \boxed{ \text{Predicted Particle Cloud} } \]
\[ \downarrow \]
\[ \boxed{ \text{Compare Each Particle With Measurement} } \]
\[ \downarrow \]
\[ \boxed{ \text{Assign Likelihood Weights} } \]
\[ \downarrow \]
\[ \boxed{ \text{Normalize Weights} } \]
\[ \downarrow \]
\[ \boxed{ \text{Check Degeneracy} } \]
\[ \downarrow \]
\[ \boxed{ \text{Resample if Necessary} } \]
\[ \downarrow \]
\[ \boxed{ \text{Posterior Particle Cloud}. } \]
4.2.12.36 Particle Filter vs Kalman Filter
The Kalman Filter assumes linear Gaussian dynamics and maintains
\[ \hat x, P. \]
The Particle Filter makes much weaker assumptions about posterior shape.
A comparison is:
| Feature | Kalman Filter | Particle Filter |
|---|---|---|
| Linear systems | Excellent | Possible |
| Nonlinear systems | Requires extension | Natural |
| Gaussian uncertainty | Excellent | Natural |
| Non-Gaussian uncertainty | Limited | Strong |
| Multimodal distributions | No | Yes |
| State representation | Mean + covariance | Weighted particles |
| Computational cost | Low | High |
| High-dimensional scaling | Good | Difficult |
4.2.12.37 Particle Filter vs EKF
The EKF approximates nonlinear dynamics locally.
The Particle Filter instead approximates the complete posterior numerically.
Thus:
\[ \boxed{ \text{EKF} = \text{Local Gaussian Approximation} } \]
while
\[ \boxed{ \text{PF} = \text{Weighted Sample Approximation}. } \]
Particle Filters avoid Jacobians but require many state propagations.
4.2.12.38 Particle Filter vs UKF
The UKF represents uncertainty with
\[ 2n+1 \]
deterministic sigma points.
These points reconstruct one approximate mean and covariance.
The Particle Filter may use hundreds or thousands of particles with independent weights.
Therefore:
\[ \boxed{ \text{UKF Sigma Points} \neq \text{Particle-Filter Particles}. } \]
Sigma points are deterministic quadrature points.
Particle-filter particles approximate the probability density itself.
4.2.12.39 Particle Filter vs Monte Carlo Simulation
Both use random sampling, but their goals differ.
Monte Carlo analysis often runs many independent simulation realizations to assess system performance.
A Particle Filter uses a particle population inside the estimator itself to represent the current posterior state distribution.
Thus:
\[ \boxed{ \text{Monte Carlo} = \text{Analysis / Verification} } \]
while
\[ \boxed{ \text{Particle Filter} = \text{Online State Estimation}. } \]
4.2.12.40 Why Particle Filters Handle Multimodal Distributions
Suppose the posterior contains two possible target locations.
Half the particles may cluster around hypothesis A.
The other half may cluster around hypothesis B.
Thus the Particle Filter can represent
\[ \boxed{ \text{Hypothesis A} + \text{Hypothesis B} } \]
simultaneously.
A Gaussian filter tends to collapse both into one mean and covariance.
4.2.12.41 Example: Bearing-Only Navigation
Suppose a camera measures only bearing to a target.
The measurement provides direction but limited range information.
Many target ranges may initially be consistent with the same bearing.
Particles can be distributed along the line of sight:
\[ \boxed{ \text{Near} ,\; \text{Medium} ,\; \text{Far} } \]
hypotheses.
As the spacecraft moves and geometry changes, incorrect range hypotheses receive lower likelihood.
The particle cloud gradually concentrates around the true range.
4.2.12.42 Example: Ambiguous Optical Pose
A visual pose algorithm may return several plausible orientations.
For example,
\[ \boxed{ q_A } \]
and
\[ \boxed{ q_B. } \]
A Gaussian attitude estimator must generally select one local mode.
A particle-based estimator can preserve both hypotheses until later measurements resolve the ambiguity.
4.2.12.43 Example: Non-Gaussian Sensor Noise
Suppose a range sensor usually has small Gaussian noise but occasionally produces large outliers.
A realistic noise distribution may resemble a mixture:
\[ \boxed{ p(v) = (1-\epsilon) \mathcal N(0,\sigma_1^2) + \epsilon \mathcal N(0,\sigma_2^2) } \]
with
\[ \sigma_2 \gg \sigma_1. \]
The Particle Filter can directly evaluate this non-Gaussian likelihood.
A standard Kalman Filter cannot represent it exactly through a single R.
4.2.12.44 Heavy-Tailed Measurement Models
Outlier-prone measurements can be modeled using heavy-tailed distributions such as Student's t.
Particle weights can use
\[ \boxed{ p(z|x) = t_\nu( z-h(x) ). } \]
This reduces the influence of extreme residuals compared with a Gaussian likelihood.
4.2.12.45 Bounded Measurement Models
Suppose measurement error is known to lie inside a bounded interval.
A uniform likelihood may be appropriate:
\[ p(z|x) = \begin{cases} c, & |z-h(x)|<\Delta \\ 0, & \text{otherwise}. \end{cases} \]
Particle Filters can use such likelihoods directly.
4.2.12.46 Nonlinear Process Models
Particle Filters do not require process-model linearization.
Each particle may be propagated using the full nonlinear dynamics:
\[ \boxed{ \dot x^{(i)} = f( x^{(i)},u,w^{(i)} ). } \]
This is useful for
- nonlinear orbit propagation,
- attitude dynamics,
- RPO dynamics,
- aerodynamic entry,
- terrain-relative navigation.
4.2.12.47 Particle Filters for Spacecraft Orbit Estimation
A particle state may contain
\[ \boxed{ x = \begin{bmatrix} r\\ v \end{bmatrix}. } \]
Each particle represents a possible spacecraft orbit.
Particles can be propagated with
- central gravity,
-
J_2, - drag,
- solar radiation pressure,
- third-body gravity,
- manoeuvres.
Tracking measurements then update particle weights.
4.2.12.48 Particle Filters for Ballistic Coefficient Estimation
The state may be augmented with ballistic coefficient:
\[ \boxed{ x = \begin{bmatrix} r\\ v\\ B \end{bmatrix}. } \]
Different particles can represent different plausible ballistic coefficients.
As tracking data arrives, particles associated with better trajectory predictions gain weight.
This is useful when atmospheric drag uncertainty creates non-Gaussian uncertainty.
4.2.12.49 Particle Filters for Re-Entry Prediction
Re-entry prediction may involve large uncertainty in
- atmospheric density,
- ballistic coefficient,
- attitude,
- drag coefficient,
- fragmentation state.
The resulting predicted re-entry time or location can become strongly non-Gaussian.
A particle approach can maintain an ensemble of plausible trajectories.
Thus:
\[ \boxed{ \text{Particle Cloud} \rightarrow \text{Distribution of Re-entry Outcomes}. } \]
4.2.12.50 Particle Filters for RPO
An RPO state may be
\[ \boxed{ x_{rel} = \begin{bmatrix} r_{rel}\\ v_{rel} \end{bmatrix}. } \]
or may include
\[ \boxed{ q_{rel}, \omega_{rel}, b_g, b_a. } \]
Each particle represents a possible relative state.
Measurements from
- camera,
- LiDAR,
- relative GNSS,
- radar,
- pose estimation
determine particle likelihood.
4.2.12.51 Camera-Based RPO
Suppose the camera measurement is
\[ z = \begin{bmatrix} u\\ v \end{bmatrix}. \]
Each relative-position particle predicts
\[ u_i, \qquad v_i. \]
Then
\[ r_i = z- \hat z_i. \]
Particle weight is computed from the image-plane likelihood.
This avoids deriving camera Jacobians.
4.2.12.52 LiDAR-Based RPO
For a LiDAR range measurement,
\[ \boxed{ \rho = \|r_{rel}\|. } \]
Each particle predicts
\[ \boxed{ \rho_i = \|r_{rel}^{(i)}\|. } \]
Particles whose predicted range agrees with measurement receive higher weights.
LiDAR bearing or pose measurements can be incorporated similarly.
4.2.12.53 Relative GNSS Update
Relative GNSS may provide
\[ r_{rel,m} \]
and
\[ v_{rel,m}. \]
The likelihood for each particle may use
\[ \boxed{ r_i = \begin{bmatrix} r_{rel,m}-r_{rel}^{(i)}\\ v_{rel,m}-v_{rel}^{(i)} \end{bmatrix}. } \]
A Gaussian likelihood can then be evaluated using the GNSS covariance.
4.2.12.54 Multi-Sensor Particle Filter
Different sensors can contribute to the same particle weight.
For conditionally independent measurements,
\[ \boxed{ p( z_1,z_2,\dots,z_m|x ) = \prod_{j=1}^{m} p( z_j|x ). } \]
Therefore,
\[ \boxed{ w_i \propto w_i^- \prod_j p( z_j|x_i ). } \]
This enables fusion of
- GNSS,
- camera,
- LiDAR,
- IMU-derived information,
- star tracker,
- radar.
4.2.12.55 Log-Likelihood Computation
Multiplying many small likelihoods can cause numerical underflow.
Instead compute log likelihood:
\[ \boxed{ \log\tilde w_i = \log w_i^- + \sum_j \log p( z_j|x_i ). } \]
Then subtract the maximum log weight before exponentiation:
\[ \boxed{ \bar l_i = l_i-\max_j l_j. } \]
Then
\[ w_i = \frac{ e^{\bar l_i} }{ \sum_j e^{\bar l_j} }. \]
This is a highly recommended numerical practice.
Numerical note
For realistic sensor dimensions, likelihood values may become smaller than machine precision even when the model is correct. Log-domain computation avoids this underflow and is therefore strongly preferred in software implementations.
4.2.12.56 Sensor Dropout
If a sensor becomes unavailable, simply omit its likelihood contribution.
Thus:
\[ \boxed{ \text{No Measurement} \rightarrow \text{Prediction Only}. } \]
The particle cloud usually spreads because process uncertainty accumulates.
4.2.12.57 Sensor Reacquisition
When a sensor returns, measurement likelihood can reconcentrate the particle distribution.
However, if resampling previously destroyed all particles near the true state, recovery may be impossible.
This highlights the importance of maintaining adequate diversity.
4.2.12.58 Particle Injection During Reacquisition
Some tracking systems inject new particles after loss of lock.
For example,
\[ \boxed{ \text{Existing Particles} + \text{Broad Reacquisition Particles}. } \]
This allows the estimator to recover from large state uncertainty or track loss.
4.2.12.59 Global Localization
Particle Filters are particularly useful when the initial state is highly uncertain.
Instead of starting near one assumed state, particles can cover a broad state region.
Measurements progressively eliminate inconsistent hypotheses.
This is often called global localization in other navigation fields.
A similar concept can apply to ambiguous spacecraft relative pose.
4.2.12.60 Particle Filter for Attitude Estimation
Particle Filters can also represent attitude uncertainty.
However, quaternion states require careful treatment because
\[ \boxed{ \|q\|=1 } \]
and
\[ \boxed{ q\equiv -q. } \]
Particles may contain normalized quaternions.
But averaging attitude particles requires manifold-aware methods.
4.2.12.61 Quaternion Particle Propagation
For particle i,
\[ \boxed{ q_{k+1}^{(i)} = \delta q^{(i)} \otimes q_k^{(i)}. } \]
Each quaternion should remain normalized.
Gyro noise and bias uncertainty may be sampled independently for each particle.
4.2.12.62 Attitude Likelihood
If a star tracker measures
\[ q_m, \]
compute relative quaternion error for particle i:
\[ \boxed{ \delta q_i = q_m \otimes (q_i)^{-1}. } \]
Convert this into a small-angle or rotation-angle error and evaluate the likelihood.
Quaternion component subtraction should generally be avoided.
4.2.12.63 Particle Mean for Euclidean States
For ordinary Euclidean states,
\[ \boxed{ \hat x = \sum_iw_ix_i. } \]
This is straightforward.
But angular and manifold variables require specialized averaging.
4.2.12.64 Circular Mean for Angles
For heading particles
\[ \theta_i, \]
compute
\[ \boxed{ \bar\theta = \operatorname{atan2} \left( \sum_iw_i\sin\theta_i, \sum_iw_i\cos\theta_i \right). } \]
Ordinary arithmetic averaging may fail near angle wrap boundaries.
4.2.12.65 Quaternion Mean
A quaternion mean can be calculated using methods based on weighted rotation matrices, eigenvectors, or tangent-space averaging.
A naive calculation
\[ \boxed{ \bar q = \sum_iw_iq_i } \]
followed by normalization may work only under limited conditions and does not correctly handle all quaternion distributions.
4.2.12.66 Curse of Dimensionality
The major limitation of Particle Filters is the curse of dimensionality.
As state dimension increases, the required number of particles may grow dramatically.
For a low-dimensional state,
\[ N_p=500 \]
may be adequate.
For a high-dimensional spacecraft navigation problem, thousands or millions of particles may still poorly cover the state space.
Therefore:
\[ \boxed{ \text{Particle Filters Scale Poorly With State Dimension}. } \]
Why dimensionality is the main limitation
As the state dimension grows, a finite particle set becomes exponentially sparse relative to the available state-space volume. This is why fully particle-based estimation is usually reserved for a small number of strongly non-Gaussian states or for acquisition and recovery phases.
4.2.12.67 Why High-Dimensional Particle Filters Are Difficult
The volume of state space grows rapidly with dimension.
A finite number of particles becomes sparse.
Measurements then give significant likelihood to only a tiny fraction of particles.
Degeneracy becomes severe.
This is one reason Kalman-family methods remain dominant for many high-dimensional navigation problems.
4.2.12.68 Rao-Blackwellized Particle Filters
Some states may be conditionally Gaussian given other states.
Then only the strongly nonlinear/non-Gaussian states need to be represented by particles.
The remaining states can be estimated analytically using Kalman filters.
This leads to a Rao-Blackwellized Particle Filter (RBPF).
Conceptually:
\[ \boxed{ \text{Particles for Difficult States} + \text{Kalman Filter for Conditional Gaussian States}. } \]
This can greatly reduce computational cost.
Why Rao-Blackwellization helps
Rao-Blackwellization uses particles only where sampling is genuinely needed and solves the remaining conditional subproblem analytically. This often gives much lower variance and computational cost than representing every state dimension with particles.
4.2.12.69 Example of Rao-Blackwellization
Suppose target mode or discrete ambiguity is non-Gaussian, while continuous kinematics are approximately linear-Gaussian.
Particles may represent the mode:
\[ m^{(i)} \]
while each particle carries a Kalman Filter for
\[ r,v. \]
Thus one can maintain multiple hypotheses efficiently.
4.2.12.70 Auxiliary Particle Filter
An Auxiliary Particle Filter attempts to favor particles that are likely to perform well under the upcoming measurement.
Instead of resampling only using current weights, it also considers predicted measurement likelihood.
This can reduce degeneracy when measurements are informative.
4.2.12.71 Regularized Particle Filter
A regularized Particle Filter replaces repeated point masses after resampling with samples drawn from a smooth kernel approximation.
This helps maintain diversity and reduces particle impoverishment.
4.2.12.72 Gaussian-Sum Particle Approaches
Some estimators approximate the posterior using multiple Gaussian components:
\[ \boxed{ p(x) = \sum_{j=1}^{M} \pi_j \mathcal N( \mu_j,P_j ). } \]
This lies conceptually between a single-Gaussian Kalman Filter and a fully sample-based Particle Filter.
Such approaches can represent multimodality with fewer components than raw particles in some problems.
4.2.12.73 Particle Filter and Data Association
Tracking systems may have uncertain measurement association.
Suppose several image detections could correspond to the target.
Particles can carry different association hypotheses.
This can be useful in cluttered or ambiguous optical-navigation environments.
4.2.12.74 Particle Filter and Multiple Hypothesis Tracking
Particle Filters can naturally support multiple hypotheses.
For example:
\[ \boxed{ \text{Target Hypothesis A} } \]
\[ \boxed{ \text{Target Hypothesis B} } \]
\[ \boxed{ \text{Target Hypothesis C}. } \]
Each group of particles can represent one hypothesis.
Measurement evidence gradually changes their relative probability.
4.2.12.75 Outlier Robustness
A Particle Filter can incorporate robust or mixture measurement models.
For example:
\[ p(z|x) = (1-\epsilon) \mathcal N( h(x),R ) + \epsilon p_{\text{outlier}}(z). \]
Thus the filter need not assume every measurement comes from the nominal sensor-noise model.
4.2.12.76 Fault Detection
The total measurement likelihood can be used as a health indicator.
If
\[ p(z_k|x_k^{(i)}) \]
is tiny for nearly all particles, the measurement may be inconsistent with the entire predicted state distribution.
Possible causes include
- sensor fault,
- incorrect frame,
- incorrect timestamp,
- target mismatch,
- poor dynamics,
- filter divergence.
4.2.12.77 Weight Collapse as Diagnostic
If one update causes
\[ N_{\text{eff}} \rightarrow1, \]
this may indicate
- very informative measurement,
- inadequate particle count,
- proposal mismatch,
- underestimated measurement noise,
- measurement outlier.
Thus effective sample size is not just a resampling trigger; it is also a useful diagnostic quantity.
4.2.12.78 Initialization
Particles should represent the true prior uncertainty.
If the initial state is
\[ p(x_0), \]
then sample
\[ \boxed{ x_0^{(i)} \sim p(x_0). } \]
If prior uncertainty is Gaussian:
\[ x_0^{(i)} \sim \mathcal N( \hat x_0,P_0 ). \]
If prior uncertainty is multimodal, particles should represent all relevant modes.
4.2.12.79 Poor Initialization
If no particles are placed near the true state, the Particle Filter may fail completely.
Unlike a Gaussian estimator, it cannot estimate a region containing no particles.
Thus:
\[ \boxed{ \text{No Particles Near Truth} \rightarrow \text{No Posterior Recovery Without Rejuvenation or Injection}. } \]
4.2.12.80 Particle Count Selection
The number of particles
\[ N_p \]
is one of the major design choices.
Too few particles cause
- poor distribution approximation,
- high Monte Carlo noise,
- missed modes,
- severe degeneracy.
Too many particles cause
- high CPU load,
- memory usage,
- increased latency.
There is no universal particle count.
It depends on
- state dimension,
- nonlinearity,
- measurement informativeness,
- posterior complexity,
- onboard computing resources.
4.2.12.81 Computational Cost
For each update, the estimator may need to evaluate
\[ f(x_i) \]
and
\[ h(x_i) \]
for every particle.
Thus computational cost is approximately proportional to
\[ \boxed{ N_p. } \]
For
\[ N_p=10^4, \]
the system may require 10,000 process and measurement model evaluations per step.
This can be expensive for onboard spacecraft computers.
4.2.12.82 Parallel Processing
Particles are mostly independent during propagation and likelihood evaluation.
Therefore Particle Filters are highly parallelizable.
Particles can potentially be distributed across
- CPU cores,
- GPUs,
- FPGAs,
- distributed processors.
This can make Particle Filters practical for otherwise demanding applications.
4.2.12.83 Memory Requirements
Each particle stores a state vector.
For state dimension
\[ n \]
and
\[ N_p \]
particles, approximately
\[ \boxed{ N_pn } \]
state values must be stored, plus weights and auxiliary data.
If each particle also carries a local covariance or Kalman Filter, memory grows substantially.
4.2.12.84 Deterministic Execution Time
Flight software often requires bounded execution time.
A Particle Filter with fixed particle count has relatively predictable per-step workload.
However,
- adaptive particle count,
- complex resampling,
- local EKF proposals,
- particle branching
can create variable computational load.
This must be considered in real-time design.
4.2.12.85 Adaptive Particle Count
Some algorithms change
\[ N_p \]
according to posterior complexity.
More particles may be used when uncertainty is large or multimodal.
Fewer particles may be used when the posterior becomes concentrated.
This can improve computational efficiency.
4.2.12.86 Particle Filter During Sensor Handover
Suppose RPO transitions from
\[ \boxed{ \text{GNSS} } \]
to
\[ \boxed{ \text{Camera} } \]
to
\[ \boxed{ \text{LiDAR}. } \]
The same particle population can be maintained.
Only the active measurement likelihood changes.
Thus:
\[ \boxed{ \text{Posterior Particle Cloud} \rightarrow \text{Prior for Next Sensor Regime}. } \]
4.2.12.87 Multi-Rate Sensors
Different sensors update at different rates.
Particle propagation can occur at the high-rate process-model frequency.
Whenever a sensor arrives, its likelihood is applied.
For example:
\[ f_{IMU} \gg f_{camera} \]
and
\[ f_{camera} \neq f_{LiDAR}. \]
Thus Particle Filters naturally support asynchronous measurements.
4.2.12.88 Delayed Measurements
If a measurement belongs to an earlier time,
\[ t_k-\tau, \]
but particles represent
\[ t_k, \]
direct weighting is inconsistent.
Possible strategies include
- storing particle histories,
- delayed-state particles,
- backward correction,
- repropagation.
The computational cost can be large.
4.2.12.89 Frame Consistency
Each particle state and measurement prediction must use consistent coordinate frames.
For example, if
\[ r_{rel}^{(i)} \]
is in the Hill frame but the camera model requires the camera frame,
\[ \boxed{ r_C^{(i)} = C_{CH} r_H^{(i)}. } \]
Every particle requires the transformation.
Frame errors can cause all particle likelihoods to collapse incorrectly.
4.2.12.90 Unit Consistency
Particle states may contain quantities such as
- meters,
- meters per second,
- radians,
- kilograms,
- bias parameters.
The process and likelihood models must use consistent units.
Because Particle Filters rely directly on probability likelihoods, unit mistakes can severely distort weights.
4.2.12.91 Log-Weight Numerical Stability
Likelihoods can be extremely small.
For a large measurement dimension,
\[ p(z|x_i) \]
may underflow numerically to zero.
Therefore log weights should often be used:
\[ \boxed{ \ell_i = \log w_i. } \]
Weight normalization can then use the log-sum-exp technique.
4.2.12.92 Weight Normalization Failure
If all unnormalized weights become numerically zero,
\[ \sum_i\tilde w_i=0, \]
normalization fails.
This may indicate
- numerical underflow,
- measurement too far from every particle,
- wrong measurement covariance,
- wrong coordinate frame,
- filter divergence.
A fallback strategy is required.
4.2.12.93 Reinitialization Strategy
If the filter loses the target completely, a broad reinitialization may be needed.
For example:
\[ \boxed{ \text{Detection Region} \rightarrow \text{New Particle Distribution}. } \]
This is particularly relevant for optical target reacquisition.
4.2.12.94 Convergence
Particle-filter convergence should not be judged only by the weighted mean.
Useful diagnostics include
- particle spread,
- effective sample size,
- posterior mode structure,
- weight entropy,
- RMSE,
- measurement likelihood.
A mean estimate may appear accurate while the posterior remains highly ambiguous.
4.2.12.95 Posterior Mode
For multimodal distributions, the posterior mode may be more meaningful than the mean.
The approximate MAP estimate is
\[ \boxed{ \hat x_{\text{MAP}} \approx x^{(i^\star)} } \]
where
\[ \boxed{ i^\star = \arg\max_i w_i. } \]
However, individual-particle MAP estimates can be noisy.
Cluster-based mode estimation may be preferable.
4.2.12.96 Clustering the Particle Cloud
Particles may be grouped into clusters representing different hypotheses.
For example:
\[ \boxed{ \text{Cluster A} \rightarrow 60\% } \]
\[ \boxed{ \text{Cluster B} \rightarrow 35\% } \]
\[ \boxed{ \text{Other} \rightarrow 5\%. } \]
This is useful for ambiguous relative-pose or target-tracking problems.
4.2.12.97 Entropy of Particle Weights
Weight entropy can be defined as
\[ \boxed{ H = - \sum_i w_i \log w_i. } \]
High entropy means weights are distributed broadly.
Low entropy means a few particles dominate.
This can provide another measure of degeneracy or information concentration.
4.2.12.98 Particle Filter Consistency
NIS and NEES are less straightforward for arbitrary non-Gaussian particle distributions than for Kalman filters.
One can still compare
- posterior credible regions,
- coverage probability,
- Monte Carlo error distributions,
- weighted covariance.
But a full non-Gaussian posterior should not be judged only by Gaussian consistency metrics.
Consistency beyond covariance
For a non-Gaussian posterior, an ellipse based on one covariance matrix may hide multiple modes or asymmetric probability. Coverage tests and posterior credible regions therefore provide a more faithful consistency check than Gaussian metrics alone.
4.2.12.99 Credible Regions
A Particle Filter can construct probability regions directly.
For example:
\[ \boxed{ P( x\in\mathcal C ) = 0.95. } \]
This 95% credible region may be highly non-elliptical.
This is an important advantage over covariance ellipsoids.
4.2.12.100 Non-Elliptical Uncertainty
A covariance matrix represents ellipsoidal uncertainty.
A particle cloud can represent shapes such as
- curved manifolds,
- rings,
- multiple clusters,
- truncated distributions.
This is especially useful for geometric sensor ambiguities.
4.2.12.101 Range-Only Localization Example
Suppose one measurement provides
\[ \boxed{ \rho = \|r\|. } \]
A single range measurement defines a spherical shell of possible positions.
The posterior may therefore be distributed around a sphere rather than a Gaussian ellipsoid.
A Particle Filter can represent this naturally.
4.2.12.102 Bearing-Only Geometry Example
A bearing measurement defines a ray from the observer.
Uncertainty may therefore form a long narrow distribution along that ray.
This may be strongly non-Gaussian in Cartesian coordinates.
Particles can directly represent the geometry.
4.2.12.103 Camera Ambiguity During Far-Range RPO
At far range, small image-plane errors can correspond to very large range uncertainty.
Thus the posterior may be highly stretched and nonlinear.
A Particle Filter may capture this better than a single covariance ellipse.
However, computational cost must be weighed against mission requirements.
4.2.12.104 Close-Range RPO
At close range, high-quality LiDAR or pose estimates may produce a nearly Gaussian posterior.
In such a regime, EKF/ESKF/UKF may be much more computationally efficient.
Therefore a Particle Filter need not be used throughout the mission.
4.2.12.105 Hybrid Estimator Architecture
A mission could use
\[ \boxed{ \text{Particle Filter During Ambiguous Acquisition} } \]
then switch to
\[ \boxed{ \text{EKF / UKF During Precise Tracking}. } \]
This combines global hypothesis handling with efficient local estimation.
4.2.12.106 Particle Filter for Target Acquisition
During target acquisition, the relative state may be poorly known.
Particles can cover the expected search region.
Optical detections update their weights.
Once one mode becomes dominant, the system may initialize a local Gaussian estimator.
Thus:
\[ \boxed{ \text{PF Acquisition} \rightarrow \text{Gaussian Tracking Filter}. } \]
4.2.12.107 Particle Filter for Fault Recovery
If a Kalman Filter diverges or loses lock, a Particle Filter may be used as a recovery estimator over a larger state region.
Once uncertainty collapses again, the system can transfer back to a local filter.
This can improve robustness in demanding autonomous missions.
4.2.12.108 Particle Filter for Discrete Modes
Particle Filters can estimate not only continuous states but also discrete operating modes.
For example:
\[ m_k \in \{ \text{Nominal}, \text{Thruster Fault}, \text{Sensor Bias}, \text{Target Manoeuvre} \}. \]
Particles can carry both
\[ x_k^{(i)} \]
and
\[ m_k^{(i)}. \]
This enables joint state-and-mode estimation.
4.2.12.109 Multiple-Model Particle Filtering
Different particles may use different dynamic models.
For example:
\[ \boxed{ \text{Particle Group 1} \rightarrow \text{No Target Manoeuvre} } \]
\[ \boxed{ \text{Particle Group 2} \rightarrow \text{Target Manoeuvre} } \]
\[ \boxed{ \text{Particle Group 3} \rightarrow \text{Different Ballistic Coefficient}. } \]
The measurements determine which models remain probable.
4.2.12.110 Particle Filters and Fault Diagnosis
A particle state may include unknown fault parameters.
For example:
\[ \boxed{ x = \begin{bmatrix} x_{\text{physical}}\\ b_{\text{sensor}}\\ \eta_{\text{thruster}} \end{bmatrix}. } \]
Particles can represent different sensor biases or actuator efficiencies.
Measurements then update probability over both navigation state and fault parameters.
4.2.12.111 Particle Filter Software Architecture
A clean implementation should separate:
\[ \boxed{ \text{Particle Initialization} } \]
\[ \downarrow \]
\[ \boxed{ \text{Particle Propagation} } \]
\[ \downarrow \]
\[ \boxed{ \text{Measurement Prediction} } \]
\[ \downarrow \]
\[ \boxed{ \text{Likelihood Calculation} } \]
\[ \downarrow \]
\[ \boxed{ \text{Log-Weight Update} } \]
\[ \downarrow \]
\[ \boxed{ \text{Weight Normalization} } \]
\[ \downarrow \]
\[ \boxed{ \text{Effective Sample Size} } \]
\[ \downarrow \]
\[ \boxed{ \text{Resampling} } \]
\[ \downarrow \]
\[ \boxed{ \text{State / Distribution Outputs}. } \]
4.2.12.112 Recommended Particle-Filter Outputs
A useful implementation should provide
\[ \boxed{ \hat x } \]
\[ \boxed{ P } \]
\[ \boxed{ N_{\text{eff}} } \]
\[ \boxed{ \max_iw_i } \]
\[ \boxed{ \text{Posterior Mode} } \]
\[ \boxed{ \text{Particle Spread} } \]
\[ \boxed{ \text{Resampling Flag} } \]
\[ \boxed{ \text{Measurement Likelihood / Health}. } \]
For multimodal cases, cluster probabilities are also useful.
4.2.12.113 Verification Strategy
The Particle Filter should be tested progressively.
4.2.12.113.1 Static Distribution Test
Sample a known distribution and verify that particles reproduce its statistics.
4.2.12.113.2 Linear-Gaussian Test
Use a simple linear Gaussian model.
Compare the Particle Filter against a standard Kalman Filter.
With enough particles, results should be consistent.
4.2.12.113.3 Nonlinear Scalar Test
Use a strongly nonlinear function.
Compare posterior against numerical integration or Monte Carlo truth.
4.2.12.113.4 Multimodal Test
Construct two distinct state hypotheses and verify both are preserved.
4.2.12.113.5 Degeneracy Test
Track
\[ N_{\text{eff}}. \]
4.2.12.113.6 Resampling Test
Verify high-weight particles are replicated with correct statistics.
4.2.12.113.7 Particle-Impoverishment Test
Evaluate diversity after repeated resampling.
4.2.12.113.8 Sensor-Dropout Test
Verify particle spread grows appropriately.
4.2.12.113.9 Reacquisition Test
Verify the filter can reconcentrate after measurements return.
4.2.12.113.10 Outlier Test
Use heavy-tailed or mixture likelihoods.
4.2.12.114 Monte Carlo Validation
Although the Particle Filter itself uses random samples, it should still be validated through independent Monte Carlo runs.
Randomize
- initial state,
- particle realization,
- process noise,
- measurement noise,
- outlier occurrence,
- sensor dropout,
- timing errors,
- target manoeuvres.
Evaluate
\[ \boxed{ RMSE } \]
\[ \boxed{ \text{Coverage Probability} } \]
\[ \boxed{ N_{\text{eff}} } \]
\[ \boxed{ \text{Mode Recovery Rate} } \]
\[ \boxed{ \text{Track-Loss Rate} } \]
\[ \boxed{ \text{Reacquisition Time} } \]
\[ \boxed{ \text{CPU Time}. } \]
4.2.12.115 Reproducibility
Because Particle Filters use random sampling, verification should use controlled random seeds.
For example:
\[ \boxed{ \text{Seed} \rightarrow \text{Repeatable Particle Sequence}. } \]
This allows software changes to be compared consistently.
4.2.12.116 Resampling Randomness
Even with identical measurements, different random resampling realizations can produce slightly different estimates.
Therefore one simulation run is not sufficient for validation.
Performance should be assessed statistically.
4.2.12.117 Real-Time Flight Considerations
For onboard use, practical questions include
- maximum particle count,
- update frequency,
- memory,
- processor utilization,
- deterministic timing,
- numerical precision,
- resampling implementation,
- fault recovery.
Estimator design must satisfy flight-computer constraints.
4.2.12.118 Fixed-Point and Reduced Precision
Embedded hardware may use reduced numerical precision.
Particle weights can span many orders of magnitude, making them sensitive to quantization.
Log-domain weight computation becomes even more valuable under reduced precision.
4.2.12.119 GPU / FPGA Acceleration
Particle propagation and likelihood calculation are highly parallel.
Therefore hardware acceleration may significantly improve performance.
This is especially relevant for
- image-based likelihoods,
- high particle counts,
- computationally expensive nonlinear dynamics.
4.2.12.120 When a Particle Filter Is Worth the Cost
A Particle Filter is most justified when the posterior contains features a Gaussian estimator cannot represent adequately.
Examples include:
- multiple possible target states,
- severe nonlinear ambiguity,
- non-Gaussian noise,
- target acquisition,
- track reacquisition,
- unknown discrete modes,
- strong data-association ambiguity.
If uncertainty remains approximately Gaussian, an EKF, ESKF, MEKF, or UKF is usually much more efficient.
4.2.12.121 When Not to Use a Particle Filter
A Particle Filter may be unnecessary when
- the posterior remains unimodal and near-Gaussian,
- state dimension is high,
- CPU resources are limited,
- an EKF/UKF already performs well,
- strict flight heritage is required,
- the measurement model is simple.
Thus:
\[ \boxed{ \text{More General} \neq \text{Always Better}. } \]
4.2.12.122 Practical Estimator Selection
A useful conceptual hierarchy is:
\[ \boxed{ \text{Linear + Gaussian} \rightarrow \text{Kalman Filter} } \]
\[ \boxed{ \text{Mild Nonlinearity} \rightarrow \text{EKF} } \]
\[ \boxed{ \text{Attitude / Error-State Geometry} \rightarrow \text{ESKF / MEKF} } \]
\[ \boxed{ \text{Stronger Nonlinearity with Near-Gaussian Posterior} \rightarrow \text{UKF} } \]
\[ \boxed{ \text{Strong Non-Gaussianity / Multimodality} \rightarrow \text{Particle Filter}. } \]
This is not a rigid rule, but it is a useful engineering guide.
4.2.12.123 Particle Filter During RPO Mission Phases
4.2.12.123.1 Far-Range Acquisition
Particles may represent large uncertainty in relative range.
Optical bearings update the distribution.
4.2.12.123.2 Mid-Range Tracking
Once relative GNSS or optical geometry improves, particle uncertainty contracts.
4.2.12.123.3 Close Range
High-quality LiDAR or pose measurements may make the posterior nearly Gaussian.
A transition to a local EKF/UKF may become efficient.
4.2.12.123.4 Capture
Precision state estimates are required.
A Gaussian filter may provide lower-noise real-time control input after ambiguity has been resolved.
Thus a hybrid architecture can be advantageous.
4.2.12.124 Capture Readiness
A Particle Filter can calculate probability of satisfying capture conditions.
Instead of evaluating only
\[ \|\hat r_{rel}\| < r_c, \]
one may approximate
\[
\boxed{ P( \|r_{rel}\|
using the particle weights.
Similarly,
\[
\boxed{ P( \|v_{rel}\|
can be estimated.
This provides a direct probabilistic interpretation of capture readiness.
A particle representation allows capture readiness to be expressed as probability mass inside the admissible capture region rather than only as a threshold applied to one point estimate. This can be particularly valuable when the posterior remains asymmetric or multimodal.RPO interpretation
4.2.12.125 Probability of a Safe Region
Let
\[ \mathcal S \]
be a safe navigation region.
Then
\[ \boxed{ P( x\in\mathcal S ) \approx \sum_{i: x_i\in\mathcal S} w_i. } \]
This is very natural with particle representations.
4.2.12.126 Collision Probability
Similarly, if
\[ \mathcal C \]
is a collision region,
\[ \boxed{ P_{\text{collision}} \approx \sum_{i: x_i\in\mathcal C} w_i. } \]
Particle Filters therefore provide a direct mechanism for estimating nonlinear event probabilities.
Risk interpretation
Collision probability is obtained directly by summing the weights of particles that fall inside the collision set. This avoids forcing a nonlinear keep-out-zone geometry into a Gaussian ellipsoid approximation.
4.2.12.127 Particle Filter and Guidance
Guidance may use more than a single state estimate.
For example, guidance could consider
- posterior mean,
- most probable mode,
- collision probability,
- state uncertainty distribution.
Thus Particle Filters can support risk-aware decision making.
4.2.12.128 Guidance Must Not Chase Particle Noise
Individual particles are noisy samples.
The controller should not use one arbitrary particle directly.
Control inputs should usually be based on
- filtered summary states,
- MAP/cluster estimates,
- posterior mean where meaningful.
Otherwise particle sampling noise can enter the control loop.
4.2.12.129 Particle Filter and Closed-Loop GNC
The complete loop becomes
\[ \boxed{ \text{Sensors} } \]
\[ \downarrow \]
\[ \boxed{ \text{Particle Filter} } \]
\[ \downarrow \]
\[ \boxed{ \text{Posterior Distribution} } \]
\[ \downarrow \]
\[ \boxed{ \text{Navigation Summary / Risk Metrics} } \]
\[ \downarrow \]
\[ \boxed{ \text{Guidance} } \]
\[ \downarrow \]
\[ \boxed{ \text{Control} } \]
\[ \downarrow \]
\[ \boxed{ \text{Vehicle Dynamics}. } \]
4.2.12.130 Key Equations at a Glance
Posterior Approximation
\[ \boxed{ p(x_k|z_{1:k}) \approx \sum_{i=1}^{N_p} w_k^{(i)} \delta( x_k-x_k^{(i)} ). } \]
Particle Prediction
\[ \boxed{ x_k^{(i)} \sim p( x_k| x_{k-1}^{(i)} ). } \]
Measurement Likelihood
\[ \boxed{ L_k^{(i)} = p( z_k| x_k^{(i)} ). } \]
Bootstrap Weight Update
\[ \boxed{ \tilde w_k^{(i)} = w_{k-1}^{(i)} L_k^{(i)}. } \]
Weight Normalization
\[ \boxed{ w_k^{(i)} = \frac{ \tilde w_k^{(i)} }{ \sum_j \tilde w_k^{(j)} }. } \]
Effective Sample Size
\[ \boxed{ N_{\text{eff}} = \frac1{ \sum_i (w_k^{(i)})^2 }. } \]
Weighted Mean
\[ \boxed{ \hat x_k = \sum_i w_k^{(i)} x_k^{(i)}. } \]
Weighted Covariance
\[ \boxed{ P_k = \sum_i w_i ( x_i-\hat x ) ( x_i-\hat x )^T. } \]
MAP Approximation
\[ \boxed{ \hat x_{\text{MAP}} \approx x^{(\arg\max_iw_i)}. } \]
4.2.12.131 Particle Filter in One Diagram
The Particle Filter can be summarized as
\[ \boxed{ \text{Prior Particle Cloud} } \]
\[ \downarrow \]
\[ \boxed{ \text{Propagate Every Particle} } \]
\[ \downarrow \]
\[ \boxed{ \text{Predicted Particle Cloud} } \]
\[ \downarrow \]
\[ \boxed{ \text{Evaluate Measurement Likelihood} } \]
\[ \downarrow \]
\[ \boxed{ \text{Update + Normalize Weights} } \]
\[ \downarrow \]
\[ \boxed{ \text{Compute Effective Sample Size} } \]
\[ \downarrow \]
\[ \boxed{ \text{Resample if Degenerate} } \]
\[ \downarrow \]
\[ \boxed{ \text{Posterior Particle Distribution}. } \]
The key idea is
\[ \boxed{ \text{Represent Probability With Samples Rather Than Forcing It Into One Gaussian}. } \]
4.2.12.132 Key Takeaways
The Particle Filter and non-Gaussian fusion concepts should be understood through the following points:
- A Particle Filter is a recursive Bayesian estimator.
- It approximates the posterior using weighted particles.
- Each particle represents one possible system state.
- Particle weights represent relative posterior probability.
- Particle Filters naturally support nonlinear process and measurement models.
- They do not require Jacobians.
- They can represent skewed, heavy-tailed, bounded, and multimodal distributions.
- This distinguishes them fundamentally from Gaussian Kalman-family filters.
- A bootstrap Particle Filter samples from the process transition density.
- Measurement likelihood determines particle weights.
- Weights must be normalized.
- Repeated weighting causes particle degeneracy.
- Effective sample size provides a practical degeneracy measure.
- Resampling removes low-weight particles and replicates high-weight particles.
- Resampling can cause particle impoverishment.
- Roughening, regularization, and improved proposal distributions can preserve diversity.
- The proposal distribution strongly influences efficiency.
- Log-domain weights are important for numerical stability.
- A Particle Filter can naturally fuse multiple sensor likelihoods.
- Multi-rate and asynchronous sensor updates are straightforward conceptually.
- Sensor dropout causes the particle cloud to spread.
- Reacquisition can reconcentrate the particle cloud if sufficient diversity remains.
- Particle injection may be needed after severe track loss.
- Quaternion and angle states require manifold-aware averaging.
- Particle Filters scale poorly with state dimension.
- This curse of dimensionality is their principal limitation.
- Rao-Blackwellized Particle Filters can reduce computation by estimating only difficult states with particles.
- Particle Filters can represent target ambiguity and multiple hypotheses.
- They are useful for acquisition, reacquisition, and nonlinear data-association problems.
- Non-Gaussian measurement likelihoods can be modeled directly.
- Particle Filters can estimate probabilities of collision, safe-region occupancy, and capture readiness directly.
- They are computationally expensive relative to EKF/UKF methods.
- Particle propagation and likelihood evaluation are highly parallelizable.
- GPU or FPGA acceleration may make demanding implementations practical.
- The correct particle count depends on dimension, nonlinearity, ambiguity, and computation.
- A Particle Filter should not be selected merely because it is more general.
- When the posterior is approximately Gaussian, EKF/ESKF/MEKF/UKF approaches are often much more efficient.
- Hybrid PF-to-Gaussian-filter architectures can be attractive for spacecraft RPO.
- Monte Carlo validation remains necessary even though the estimator itself is sample-based.
The most important Particle Filter idea is
\[ \boxed{ \text{Posterior Probability} \approx \text{Weighted Population of Possible States}. } \]
The most important operational cycle is
\[ \boxed{ \text{Propagate} \rightarrow \text{Weight} \rightarrow \text{Normalize} \rightarrow \text{Resample}. } \]
And the most important reason for using a Particle Filter is
\[ \boxed{ \text{The State Uncertainty Cannot Be Represented Reliably by One Gaussian Distribution}. } \]
Next: 4.2.13 Multi-Rate and Asynchronous Sensor Fusion
The filters developed so far explain how measurements should be fused probabilistically.
In practical spacecraft systems, another difficulty appears:
the sensors do not arrive at the same time or at the same rate.
For example,
\[ \boxed{ f_{\text{gyro}} \gg f_{\text{star tracker}} } \]
and
\[ \boxed{ f_{\text{IMU}} \gg f_{\text{GNSS}} } \]
while a camera or LiDAR may generate measurements only when processing is complete or when the target is visible.
Therefore a practical navigation filter must handle
\[ \boxed{ \text{Different Sensor Rates} + \text{Different Sensor Clocks} + \text{Asynchronous Measurement Arrival} + \text{Measurement Latency}. } \]
This leads naturally to 4.2.13 Multi-Rate and Asynchronous Sensor Fusion, including high-rate propagation, event-driven measurement updates, independent sensor clocks, timestamp alignment, delayed measurements, buffering, interpolation, out-of-sequence measurements, sensor latency, dropout, and practical spacecraft multi-rate implementation.
4.2.13 Multi-Rate and Asynchronous Sensor Fusion
High-rate propagation, lower-rate measurement updates, independent sensor clocks, event-driven fusion, timestamp alignment, latency, delayed and out-of-sequence measurements, buffering, interpolation, dropout handling, and practical spacecraft multi-rate implementation.
Continue to Multi-Rate and Asynchronous Sensor Fusion →