lds::poisson::System

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 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.
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


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 19 May 2022 at 17:16:04 Eastern Daylight Time