# bdm::LQG_ARX Class Reference

Controller using ARX model for estimation and LQG designer for control. More...

## Detailed Description

Controller using ARX model for estimation and LQG designer for control.

`#include <arx_ctrl.h>`

List of all members.

## Public Member Functions
| LQG_ARX ()
void | initialize ()
void | adapt ()
| adaptation is to store arx estimates in stsp
void | from_settings (const Settings &set)
| LQG is defined by quadratic loss function.
virtual void | adapt (const vec &data)
| function processing new observations and adapting control strategy accordingly
virtual vec | ctrlaction (const vec &data)
| returns designed control action
void | from_setting (const Setting &set)
| This method arrange instance properties according the data stored in the Setting structure.
const RV & | _urv ()
| access function
const RV & | _yrv ()
| access function
const RV & | _drv ()
| access function
virtual void | log_add (logger &L, const string &name="")
| register this controller with given datasource under name "name"
virtual void | logit (logger &L)
| write requested values into the logger
virtual string | to_string ()
| This method returns a basic info about the current instance.
virtual void | to_setting (Setting &set) const
| This method save all the instance properties into the Setting structure.
virtual void | validate ()
| This method TODO.
## Protected Attributes
shared_prt< ARX > | ar
| Internal ARX estimator.
LQG | lq
| Internal LQG designer.
sharer_ptr< StateSpace > | stsp
| Intermediate StateSpace model.
RV | yrv
| identifier of the system output;
RV | urv
| identifier of the system input;
RV | drv
| description of data needed for `ctrlaction` , required for automatic connection to DS
ivec | LIDs
| vector of logger IDs

## Constructor & Destructor Documentation

bdm::LQG_ARX::LQG_ARX | ( |  | ) | `[inline]`

Default constructor

## Member Function Documentation

void bdm::LQG_ARX::from_settings | ( | const Settings & | set | ) | `[inline]`

LQG is defined by quadratic loss function.

expected input

                    { class="LQG";
                            arx = {class="ARX", ...} // internal arx model, see
                            Qy = ("matrix", ...);
                            Qu = ("matrix", ...);
                            yreq = [];               // requested output
                            ureq = [];               // requested input value
                    }

References bdm::RV::_dsize(), ar, bdm::UI::get(), bdm::Controller::urv, and bdm::Controller::yrv.

The documentation for this class was generated from the following file:

- arx_ctrl.h