MotorControlModuleSDFM_TMS3.../Projects/EFC_Application/UMLibrary/control/tf/DiscreteSecondOrderTransferFunction.hh

57 lines
977 B
C++

/*
* 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_ */