Bayes Filters Library
WhiteNoiseAcceleration.h
Go to the documentation of this file.
1 /*
2  * Copyright (C) 2016-2019 Istituto Italiano di Tecnologia (IIT)
3  *
4  * This software may be modified and distributed under the terms of the
5  * BSD 3-Clause license. See the accompanying LICENSE file for details.
6  */
7 
8 #ifndef WHITENOISEACCELERATION_H
9 #define WHITENOISEACCELERATION_H
10 
13 
14 #include <functional>
15 #include <random>
16 
17 namespace bfl {
18  class WhiteNoiseAcceleration;
19 }
20 
21 
23 {
24 public:
25  enum class Dim
26  {
27  OneD,
28  TwoD,
29  ThreeD
30  };
31 
32  WhiteNoiseAcceleration(const Dim dim, const double sampling_interval, const double tilde_q) noexcept;
33 
34  WhiteNoiseAcceleration(const Dim dim, const double sampling_interval, const double tilde_q, const unsigned int seed) noexcept;
35 
36  WhiteNoiseAcceleration(const WhiteNoiseAcceleration& state_model) noexcept = delete;
37 
38  WhiteNoiseAcceleration& operator=(const WhiteNoiseAcceleration& state_model) noexcept = delete;
39 
40  WhiteNoiseAcceleration(WhiteNoiseAcceleration&& state_model) noexcept;
41 
43 
44  virtual ~WhiteNoiseAcceleration() noexcept;
45 
46  bool setProperty(const std::string& property) override;
47 
49 
50  Eigen::MatrixXd getNoiseSample(const std::size_t num) override;
51 
52  Eigen::MatrixXd getNoiseCovarianceMatrix() override;
53 
54  Eigen::MatrixXd getStateTransitionMatrix() override;
55 
56  Eigen::VectorXd getTransitionProbability(const Eigen::Ref<const Eigen::MatrixXd>& prev_states, const Eigen::Ref<const Eigen::MatrixXd>& cur_states) override;
57 
58 
59 private:
63  struct ImplData;
64 
65  std::unique_ptr<ImplData> pimpl_;
66 };
67 
68 #endif /* WHITENOISEACCELERATION_H */
bfl::WhiteNoiseAcceleration::~WhiteNoiseAcceleration
virtual ~WhiteNoiseAcceleration() noexcept
bfl::WhiteNoiseAcceleration::operator=
WhiteNoiseAcceleration & operator=(const WhiteNoiseAcceleration &state_model) noexcept=delete
bfl::WhiteNoiseAcceleration::ImplData
Definition: WhiteNoiseAcceleration.cpp:20
bfl
Port of boost::any for C++11 compilers.
Definition: AdditiveMeasurementModel.h:13
bfl::WhiteNoiseAcceleration
Definition: WhiteNoiseAcceleration.h:22
bfl::WhiteNoiseAcceleration::getStateDescription
VectorDescription getStateDescription() override
Returns the vector description of the output of the state equation.
Definition: WhiteNoiseAcceleration.cpp:188
bfl::WhiteNoiseAcceleration::Dim::TwoD
@ TwoD
bfl::WhiteNoiseAcceleration::getTransitionProbability
Eigen::VectorXd getTransitionProbability(const Eigen::Ref< const Eigen::MatrixXd > &prev_states, const Eigen::Ref< const Eigen::MatrixXd > &cur_states) override
Definition: WhiteNoiseAcceleration.cpp:216
bfl::WhiteNoiseAcceleration::getNoiseCovarianceMatrix
Eigen::MatrixXd getNoiseCovarianceMatrix() override
Definition: WhiteNoiseAcceleration.cpp:204
VectorDescription.h
bfl::WhiteNoiseAcceleration::Dim::OneD
@ OneD
bfl::WhiteNoiseAcceleration::setProperty
bool setProperty(const std::string &property) override
Definition: WhiteNoiseAcceleration.cpp:182
bfl::WhiteNoiseAcceleration::getNoiseSample
Eigen::MatrixXd getNoiseSample(const std::size_t num) override
Definition: WhiteNoiseAcceleration.cpp:194
LinearStateModel.h
bfl::WhiteNoiseAcceleration::Dim::ThreeD
@ ThreeD
bfl::LinearStateModel
Definition: LinearStateModel.h:18
bfl::WhiteNoiseAcceleration::getStateTransitionMatrix
Eigen::MatrixXd getStateTransitionMatrix() override
Definition: WhiteNoiseAcceleration.cpp:210
bfl::WhiteNoiseAcceleration::pimpl_
std::unique_ptr< ImplData > pimpl_
Definition: WhiteNoiseAcceleration.h:63
bfl::VectorDescription
Definition: VectorDescription.h:18
bfl::WhiteNoiseAcceleration::WhiteNoiseAcceleration
WhiteNoiseAcceleration(const Dim dim, const double sampling_interval, const double tilde_q) noexcept
Definition: WhiteNoiseAcceleration.cpp:153
bfl::WhiteNoiseAcceleration::Dim
Dim
Definition: WhiteNoiseAcceleration.h:25