lds::poisson::System #
Poisson System type.
#include <lds_poisson_sys.h>
Inherits from lds::System
Public Functions #
Name | |
---|---|
System() =default Constructs a new System. |
|
System(std::size_t n_u, std::size_t n_x, std::size_t n_y, data_t dt, data_t p0 =kDefaultP0, data_t q0 =kDefaultQ0) Constructs a new Poisson System. |
|
virtual const Vector & | Simulate(const Vector & u_tm1) override Simulate system measurement. |
Protected Functions #
Name | |
---|---|
virtual void | h() override System output function. |
virtual Vector | h_(Vector x) override System output function: stateless. |
virtual void | RecurseKe() override Recursively recalculate estimator gain (Ke) |
Additional inherited members #
Public Functions inherited from lds::System
Name | |
---|---|
virtual | ~System() |
void | Filter(const Vector & u_tm1, const Vector & z) Filter data to produce causal state estimates. |
void | f(const Vector & u, bool do_add_noise =false) system dynamics function |
size_t | n_u() const Get number of inputs. |
size_t | n_x() const Get number of states. |
size_t | n_y() const Get number of outputs. |
data_t | dt() const Get sample period. |
const Vector & | x() const Get current state. |
const Matrix & | P() const Get covariance of state estimate. |
const Vector & | m() const Get current process disturbance/bias. |
const Matrix & | P_m() const Get covariance of process disturbance estimate. |
const Vector & | cx() const Get C*x. |
const Vector & | y() const Get output. |
const Vector & | x0() const Get initial state. |
const Vector & | m0() const Get initial disturbance. |
const Matrix & | A() const Get state matrix. |
const Matrix & | B() const Get input matrix. |
const Vector & | g() const Get input gain/conversion factor. |
const Matrix & | C() const Get output matrix. |
const Vector & | d() const Get output bias. |
const Matrix & | Ke() const Get estimator gain. |
const Matrix & | Ke_m() const Get estimator gain for process disturbance (m) |
const Matrix & | Q() Get process noise covariance. |
const Matrix & | Q_m() Get process noise covariance of disturbance evoluation. |
const Matrix & | P0() Get covariance of initial state. |
const Matrix & | P0_m() Get covariance of initial process disturbance. |
void | set_A(const Matrix & A) Set state matrix. |
void | set_B(const Matrix & B) Set input matrix. |
void | set_m(const Vector & m, bool do_force_assign =false) Set process disturbance. |
void | set_g(const Vector & g) Set input gain. |
void | set_Q(const Matrix & Q) Set process noise covariance. |
void | set_Q_m(const Matrix & Q_m) Set process noise covariance of disturbance evoluation. |
void | set_x0(const Vector & x0) Set initial state. |
void | set_P0(const Matrix & P0) Set covariance of initial state. |
void | set_P0_m(const Matrix & P0_m) Set covariance of initial process disturbance. |
void | set_C(const Matrix & C) Set output matrix. |
void | set_d(const Vector & d) Set output bias. |
void | set_x(const Vector & x) Set state of system. |
void | Reset() Reset system variables. |
std::vector< UniformMatrixList< kMatFreeDim2 > > | nstep_pred_block(UniformMatrixList< kMatFreeDim2 > u, UniformMatrixList< kMatFreeDim2 > z, size_t n_pred =1) |
void | Print() Print system variables to stdout. |
Protected Functions inherited from lds::System
Name | |
---|---|
void | InitVars(data_t p0 =kDefaultP0, data_t q0 =kDefaultQ0) |
Public Attributes inherited from lds::System
Name | |
---|---|
bool | do_adapt_m whether to adaptively estimate disturbance m |
Protected Attributes inherited from lds::System
Name | |
---|---|
std::size_t | n_x_ number of states |
std::size_t | n_u_ number of inputs |
std::size_t | n_y_ number of outputs |
data_t | dt_ sample period |
Vector | x_ state |
Matrix | P_ covariance of state estimate |
Vector | m_ process disturbance |
Matrix | P_m_ covariance of disturbance estimate |
Vector | cx_ C*x. |
Vector | y_ output |
Vector | z_ measurement |
Vector | x0_ initial state |
Matrix | P0_ covariance of initial state estimate |
Vector | m0_ initial process disturbance |
Matrix | P0_m_ covariance of initial disturbance est. |
Matrix | A_ state matrix |
Matrix | B_ input matrix |
Vector | g_ input gain |
Matrix | Q_ covariance of process noise |
Matrix | Q_m_ covariance of disturbance random walk |
Matrix | C_ output matrix |
Vector | d_ output bias |
Matrix | Ke_ estimator gain |
Matrix | Ke_m_ estimator gain for process disturbance |
Public Function Details #
System #
System() =default
System #
System(
std::size_t n_u,
std::size_t n_x,
std::size_t n_y,
data_t dt,
data_t p0 =kDefaultP0,
data_t q0 =kDefaultQ0
)
Parameters:
- n_u number of inputs
- n_x number of states
- n_y number of outputs
- dt sample period
- p0 [optional] initial diagonal elements of state estimate covariance (P)
- q0 [optional] initial diagonal elements of process noise covariance (Q)
Simulate #
virtual const Vector & Simulate(
const Vector & u_tm1
) override
Parameters:
- u_tm1 input at t-1
Return: z measurement
Reimplements: lds::System::Simulate
Simulate system and produce measurement
Protected Function Details #
h #
inline virtual void h() override
Reimplements: lds::System::h
h_ #
inline virtual Vector h_(
Vector x
) override
Reimplements: lds::System::h_
RecurseKe #
virtual void RecurseKe() override
Reimplements: lds::System::RecurseKe
Recursively recalculate estimator gain (Ke).
References:
Smith AC, Brown EN. (2003) Estimating a State-Space Model from Point Process Observations. Neural Computation 15.
Eden UT, …, Brown EN. (2004) Dynamic Analysis of Neural Encoding by Point Process Adaptive Filtering Neural Computation 16.
Updated on 3 April 2025 at 13:48:30 EDT