|
| | DtfEstimator (DiscreteTransferFunction< T, NumOrder, DenOrder > hint, const Eigen::Vector< T, NumOrder+1 > NumeratorUncertainty, const Eigen::Vector< T, DenOrder > DenominatorUncertainty, const T &memory=0.995) |
| | Initialises a discrete transfer function estimator with optional hints and memory/decay parameters.
|
| |
| | DtfEstimator (DiscreteTransferFunction< T, NumOrder, DenOrder > hint, const T &uncertainty=1000, const T &memory=0.995) |
| |
| | DtfEstimator () |
| |
| void | input (const T &y, const T &u) |
| | Adds an interation step to the estimate.
|
| |
| DiscreteTransferFunction< T, NumOrder, DenOrder > | estimate () |
| | returns the current estimate
|
| |
| const Eigen::Matrix< T, NumOrder+1+DenOrder, NumOrder+1+DenOrder > | cov () |
| |
| const Eigen::Vector< T, NumOrder+1+DenOrder > & | gain () |
| |
| void | set_gain_clamp (const T &g) |
| |
| const T & | gain_clamp () const |
| |
| void | set_cov_regularisation (const T ®) |
| |
| T | cov_regularisation () const |
| |
template<class T, size_t NumOrder, size_t DenOrder, size_t Measurements = 1>
class controlpp::DtfEstimator< T, NumOrder, DenOrder, Measurements >
Estimates a discrete transfer function from online data points.
Estimates time discrete transfer functions represented with positive powers of \(z\) in the form of:
\[
ARX = \frac{B(z)}{A(z)} u_k = \frac{b_0 + b_1 z^{-1} + b_2 z^{-2} \cdots b_m z^{-m} }{a_0 + a_1 z^{-1} + a_2 z^{-2} \cdots 1 z^{-n}} u_k
\]
Note: That \(a_n\) has been set to 1
Estimates/Identifies model parameters online using the recursive least squares algorithm
The least-squares identification of the parameter for the identification task of the ARX model is unbiased and consistent if the stochastic disturbance satisfies the Yule-Walker equations of an autoregressive signal process with zero-mean white noise corresponding to the transfer function being identified.
template<class T , size_t NumOrder, size_t DenOrder, size_t Measurements = 1>
| controlpp::DtfEstimator< T, NumOrder, DenOrder, Measurements >::DtfEstimator |
( |
DiscreteTransferFunction< T, NumOrder, DenOrder > |
hint, |
|
|
const Eigen::Vector< T, NumOrder+1 > |
NumeratorUncertainty, |
|
|
const Eigen::Vector< T, DenOrder > |
DenominatorUncertainty, |
|
|
const T & |
memory = 0.995 |
|
) |
| |
|
inline |
Initialises a discrete transfer function estimator with optional hints and memory/decay parameters.
Note that the hint needs to be a propper transfer function with a_0 != 0
This also means, that the DenominatorUncertainty starts at \(a_1\) wheras the NumeratorUncertainty starts at \(b_0\)