Vulcan
Aerospace Engineering Utilities Built on Janus
Loading...
Searching...
No Matches
vulcan::random_walk Namespace Reference

Classes

struct  State
 Random walk process state. More...
struct  Coeffs
 Pre-computed random walk coefficients. More...

Functions

template<typename Scalar>
State< Scalar > init_state ()
 Initialize random walk state to zero.
Coeffs compute_coeffs (double K, double dt)
 Compute random walk coefficients.
template<typename Scalar>
Scalar step (State< Scalar > &state, const Coeffs &coeffs, const Scalar &noise_input)
 Step the random walk process.
template<typename Scalar>
Scalar step (State< Scalar > &state, double K, double dt, const Scalar &noise_input)
 Step random walk with inline coefficient computation.
double expected_variance (double K, double t)
 Compute expected variance at given time.
double expected_stddev (double K, double t)
 Compute expected standard deviation at given time.

Function Documentation

◆ compute_coeffs()

Coeffs vulcan::random_walk::compute_coeffs ( double K,
double dt )
inline

Compute random walk coefficients.

Parameters
KRate random walk coefficient [units/s/√Hz]
dtTime step [s]
Returns
Coeffs structure ready for simulation

◆ expected_stddev()

double vulcan::random_walk::expected_stddev ( double K,
double t )
inline

Compute expected standard deviation at given time.

Parameters
KRate random walk coefficient [units/s/√Hz]
tTime since start [s]
Returns
Expected standard deviation at time t

◆ expected_variance()

double vulcan::random_walk::expected_variance ( double K,
double t )
inline

Compute expected variance at given time.

For a random walk with parameter K, starting from zero: Var(t) = K² * t

Parameters
KRate random walk coefficient [units/s/√Hz]
tTime since start [s]
Returns
Expected variance at time t

◆ init_state()

template<typename Scalar>
State< Scalar > vulcan::random_walk::init_state ( )

Initialize random walk state to zero.

Template Parameters
Scalardouble or casadi::MX
Returns
State initialized to zero

◆ step() [1/2]

template<typename Scalar>
Scalar vulcan::random_walk::step ( State< Scalar > & state,
const Coeffs & coeffs,
const Scalar & noise_input )

Step the random walk process.

Updates the random walk state by integrating white noise.

Template Parameters
Scalardouble or casadi::MX
Parameters
stateCurrent state (updated in-place)
coeffsPre-computed coefficients
noise_inputWhite noise sample with unit variance
Returns
Current random walk value after update

◆ step() [2/2]

template<typename Scalar>
Scalar vulcan::random_walk::step ( State< Scalar > & state,
double K,
double dt,
const Scalar & noise_input )

Step random walk with inline coefficient computation.

Convenience function for simpler usage when coefficients don't need to be pre-computed.

Template Parameters
Scalardouble or casadi::MX
Parameters
stateCurrent state (updated in-place)
KRate random walk coefficient [units/s/√Hz]
dtTime step [s]
noise_inputWhite noise sample with unit variance
Returns
Current random walk value after update