MotorControlModuleSDFM_TMS3.../Projects/EFC_Communication/UMLibrary/control/tf/DiscreteSecondOrderTransferFunction.hh
2024-06-07 11:12:56 +03:00

57 lines
1003 B
C++
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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