saturate

class Saturate
#include <saturate.h>

This module is used to apply a second-order bounded Gauss-Markov random walk on top of an upper level process. The intent is that the caller will perform the set methods (setUpperBounds, setNoiseMatrix, setPropMatrix) as often as they need to, call computeNextState, and then call getCurrentState cyclically

Public Functions

Saturate()

The constructor initialies the random number generator used for the walks

Saturate(int64_t size)
~Saturate()

The destructor is a placeholder for one that might do something

void setBounds(Eigen::MatrixXd bounds)
Eigen::VectorXd saturate(Eigen::VectorXd unsaturatedStates)

sets upper and lower bounds for each state

This method should be used as the standard way to saturate an output. It will also be utilized by other utilities

Return

void

Return

workingStates (vector of saturated states

Parameters
  • bounds.: one row for each state. lower bounds in left column, upper in right column

Private Members

int64_t numStates

Saturates the given unsaturated states.

Return

saturatedStates Number of states to generate noise for

Parameters
  • unsaturated: States, a vector of the unsaturated states

Eigen::MatrixXd stateBounds

one row for each state. lower bounds in left column, upper in right column