/* * DiscreteSecondOrderTransferFunction.hh * * Created on: 16 сент. 2020 г. * Author: LeonidTitov */ #ifndef UMLIBRARY_CONTROL_TF_DISCRETESECONDORDERTRANSFERFUNCTION_HH_ #define UMLIBRARY_CONTROL_TF_DISCRETESECONDORDERTRANSFERFUNCTION_HH_ #include "../Vector.hh" namespace control { namespace regulator { //!. class DiscreteSecondOrderTransferFunction : public IValueTransform { public: DiscreteSecondOrderTransferFunction(); Value operator()( Value value ) const; //!Настройки ПИ-регулятора. struct Setting { float a0; float a1; float a2; float b0; float b1; float b2; Setting(); bool isValid(); }; void configure( Setting & config ); private: float yn[3]; float xn[3]; }; inline void initialize( Deadzone & sc, Deadzone::Setting & config ) { sc.configure(config); } }} #endif /* UMLIBRARY_CONTROL_TF_DISCRETESECONDORDERTRANSFERFUNCTION_HH_ */