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)

class constructor

~Saturate()

The destructor is a placeholder for one that might do something

void setBounds(Eigen::MatrixXd bounds)

sets upper and lower bounds for each state

Return

void

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

Eigen::VectorXd saturate(Eigen::VectorXd unsaturatedStates)

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

saturatedStates

Parameters
  • unsaturatedStates: a vector of the unsaturated states

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