diff --git a/include/sot/core/causal-filter.hh b/include/sot/core/causal-filter.hh index 99d82eef8447acb6f074045d6ee5d85535653d6e..511439972a2e5261af719b4f56ff5ecbbd740821 100644 --- a/include/sot/core/causal-filter.hh +++ b/include/sot/core/causal-filter.hh @@ -1,3 +1,5 @@ +#ifndef _SOT_CORE_CAUSAL_FILTER_H_ +#define _SOT_CORE_CAUSAL_FILTER_H_ /* * Copyright 2017-, Rohan Budhirja, LAAS-CNRS * @@ -39,48 +41,54 @@ */ -class CausalFilter -{ -public: - EIGEN_MAKE_ALIGNED_OPERATOR_NEW - - /** --- CONSTRUCTOR ---- - \param[in] timestep - \param[in] xSize - \param[in] filter_numerator - \param[in] filter_denominator +namespace dynamicgraph { + namespace sot { + + class CausalFilter + { + public: + EIGEN_MAKE_ALIGNED_OPERATOR_NEW - xSize is - */ - CausalFilter(const double ×tep, - const int& xSize, - const Eigen::VectorXd& filter_numerator, - const Eigen::VectorXd& filter_denominator); - - void get_x_dx_ddx(const Eigen::VectorXd& base_x, - Eigen::VectorXd& x_output_dx_ddx); - - void switch_filter(const Eigen::VectorXd& filter_numerator, - const Eigen::VectorXd& filter_denominator); - -private: - /// sampling timestep of the input signal - double m_dt; - /// Size - int m_x_size; - /// Size of the numerator \f$m\f$ - Eigen::Index m_filter_order_m; - /// Size of the denominator \f$n\f$ - Eigen::Index m_filter_order_n; - - /// Coefficients of the numerator \f$b\f$ - Eigen::VectorXd m_filter_numerator; - /// Coefficients of the denominator \f$a\f$ - Eigen::VectorXd m_filter_denominator; - bool m_first_sample; - /// - int m_pt_numerator; - int m_pt_denominator; - Eigen::MatrixXd m_input_buffer; - Eigen::MatrixXd m_output_buffer; -}; // class CausalFilter + /** --- CONSTRUCTOR ---- + \param[in] timestep + \param[in] xSize + \param[in] filter_numerator + \param[in] filter_denominator + + xSize is + */ + CausalFilter(const double ×tep, + const int& xSize, + const Eigen::VectorXd& filter_numerator, + const Eigen::VectorXd& filter_denominator); + + void get_x_dx_ddx(const Eigen::VectorXd& base_x, + Eigen::VectorXd& x_output_dx_ddx); + + void switch_filter(const Eigen::VectorXd& filter_numerator, + const Eigen::VectorXd& filter_denominator); + + private: + /// sampling timestep of the input signal + double m_dt; + /// Size + int m_x_size; + /// Size of the numerator \f$m\f$ + Eigen::Index m_filter_order_m; + /// Size of the denominator \f$n\f$ + Eigen::Index m_filter_order_n; + + /// Coefficients of the numerator \f$b\f$ + Eigen::VectorXd m_filter_numerator; + /// Coefficients of the denominator \f$a\f$ + Eigen::VectorXd m_filter_denominator; + bool m_first_sample; + /// + int m_pt_numerator; + int m_pt_denominator; + Eigen::MatrixXd m_input_buffer; + Eigen::MatrixXd m_output_buffer; + }; // class CausalFilter + } /// core +} /// sot +#endif /* _SOT_CORE_CAUSAL_FILTER_H_ */ diff --git a/src/filters/causal-filter.cpp b/src/filters/causal-filter.cpp index 3e46b15501635e608dfd3ebc69b4575f4b8427a7..d8a4d20477f5a85a24be996bce7e4ae5b43dabc0 100644 --- a/src/filters/causal-filter.cpp +++ b/src/filters/causal-filter.cpp @@ -19,7 +19,7 @@ #include <sot/core/causal-filter.hh> - +using namespace dynamicgraph::sot; /* Filter data with an IIR or FIR filter.