Refactoring of the prediction of Gaussian filters.
It moves the performPrediction() from SampleBasedGaussianFilter to GaussianFilter. This also includes setUseAnalyticSystemModel() and getUseAnalyticSystemModel(). Subclasses of GaussianFilter now have to implement the predictedMoments*() methods. The SampleBasedGaussianFilter class is removed and the class SampleBasedJointlyGaussianPrediction is introduced to implement the prediction using samples and assuming a jointly Gaussian distribution of state and noise (like it is done, e.g., by the LRKFs). LRKF and PGF now inherit from this class, while GPF inherits from GaussianFilter. All affected filters and interfaces are updated according to all these changes. In doing so, this allows for a much better understanding of the code, code reuse is improved, and also the EKF (that did not inherit from SampleBasedGaussianFilter) can now use analytic moment computation for the prediction.
Loading
Please sign in to comment