47 [[nodiscard]] std::string
type()
const override;
50 [[nodiscard]]
static std::string
category();
57 [[nodiscard]]
json save()
const override;
82 static void acf_function(Eigen::VectorXd& y,
int p, Eigen::VectorXd& acf);
90 static void pacf_function(Eigen::VectorXd& y, Eigen::VectorXd& acf,
int p, Eigen::VectorXd& pacf, Eigen::VectorXd& e_hat_initial);
101 static void hannan_rissanen(Eigen::VectorXd& y,
int p,
int q,
int m,
int deque_size, Eigen::VectorXd& x, Eigen::VectorXd& emp_sig, Eigen::VectorXd& y_hat);
110 static void matrix_function(Eigen::VectorXd& y, Eigen::VectorXd& e_hat,
int p,
int q,
int m, Eigen::MatrixXd& A);
113 std::deque<std::shared_ptr<const ImuObs>>
_buffer;
nlohmann::json json
json namespace
Parent Class for all IMU Observations.
Node(std::string name)
Constructor.
~ARMA() override
Destructor.
Eigen::MatrixXd _y
measurement data
void deinitialize() override
Deinitialize the node.
static std::string category()
String representation of the Class Category.
std::deque< std::shared_ptr< const ImuObs > > _buffer
Buffer used to store Imu observations.
int _m
value of superior order (p or q)
static void pacf_function(Eigen::VectorXd &y, Eigen::VectorXd &acf, int p, Eigen::VectorXd &pacf, Eigen::VectorXd &e_hat_initial)
calculate partial autocorrelation function (PACF) via Durbin-Levinson
static void hannan_rissanen(Eigen::VectorXd &y, int p, int q, int m, int deque_size, Eigen::VectorXd &x, Eigen::VectorXd &emp_sig, Eigen::VectorXd &y_hat)
Calculate ARMA parameters through Hannan-Rissanen.
Eigen::VectorXd _y_hat
ARMA estimates for y_rbm.
int _deque_size
modelling size
void guiConfig() override
ImGui config window which is shown on double click.
Eigen::VectorXd _x
ARMA slope parameters.
static constexpr size_t OUTPUT_PORT_INDEX_IMU_OBS
Flow (ImuObs)
bool initialize() override
Initialize the node.
Eigen::VectorXd _y_hat_t
output container
int _q_mem
q memory to reset for each observation
ARMA(const ARMA &)=delete
Copy constructor.
static void acf_function(Eigen::VectorXd &y, int p, Eigen::VectorXd &acf)
calculate autocorrelation function (ACF)
ARMA & operator=(ARMA &&)=delete
Move assignment operator.
static std::string typeStatic()
String representation of the Class Type.
Eigen::VectorXd _y_rbm
y (reduced by mean)
std::string type() const override
String representation of the Class Type.
ARMA(ARMA &&)=delete
Move constructor.
static void matrix_function(Eigen::VectorXd &y, Eigen::VectorXd &e_hat, int p, int q, int m, Eigen::MatrixXd &A)
fill A matrix for least squares
int _num_obs
number of observations (3-axis accelerometer / 3-axis gyro)
void receiveImuObs(InputPin::NodeDataQueue &queue, size_t pinIdx)
Receive Sensor Data.
ARMA & operator=(const ARMA &)=delete
Copy assignment operator.
bool INITIALIZE
parameter initialization indicator
Eigen::VectorXd _emp_sig
empirical significance (p-Value) of parameters
void restore(const json &j) override
Restores the node from a json object.
static constexpr size_t INPUT_PORT_INDEX_IMU_OBS
Flow (ImuObs)
ARMA()
Default constructor.
json save() const override
Saves the node into a json object.
int _p_mem
p memory to reset for each observation