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

Classes

struct  AxisState
 Combined noise state for a single sensor axis. More...
struct  AxisCoeffs
 Pre-computed coefficients for single axis. More...
struct  IMUNoiseState
 Complete 3-axis IMU noise state. More...
struct  IMUNoiseCoeffs
 Complete IMU noise coefficients. More...
struct  IMUNoiseInput
 Noise input structure for IMU step. More...

Functions

template<typename Scalar>
AxisState< Scalar > init_axis_state ()
 Initialize per-axis state to zero.
AxisCoeffs compute_axis_coeffs (const sensors::AllanParams< double > &params, double dt)
 Compute per-axis coefficients from Allan parameters.
template<typename Scalar>
Scalar step_axis (AxisState< Scalar > &state, const AxisCoeffs &coeffs, const Scalar &noise_arw, const Scalar &noise_bias, const Scalar &noise_rrw)
 Step single-axis noise model.
template<typename Scalar>
IMUNoiseState< Scalar > init_state ()
 Initialize IMU noise state.
IMUNoiseCoeffs compute_coeffs (const sensors::AllanParams< double > &gyro_params, const sensors::AllanParams< double > &accel_params, double dt)
 Compute IMU coefficients from Allan parameters.
template<typename Scalar>
sensors::IMUNoiseSample< Scalar > step (IMUNoiseState< Scalar > &state, const IMUNoiseCoeffs &coeffs, const IMUNoiseInput< Scalar > &input)
 Step the complete IMU noise model.
template<typename Scalar>
sensors::IMUNoiseSample< Scalar > step_simple (IMUNoiseState< Scalar > &state, const IMUNoiseCoeffs &coeffs, const Eigen::Vector< Scalar, 3 > &gyro_noise, const Eigen::Vector< Scalar, 3 > &accel_noise)
 Simplified step with single noise vector per sensor.
IMUNoiseCoeffs consumer_grade_coeffs (double dt)
 Compute coefficients for consumer-grade IMU.
IMUNoiseCoeffs industrial_grade_coeffs (double dt)
 Compute coefficients for industrial-grade IMU.
IMUNoiseCoeffs tactical_grade_coeffs (double dt)
 Compute coefficients for tactical-grade IMU.
IMUNoiseCoeffs navigation_grade_coeffs (double dt)
 Compute coefficients for navigation-grade IMU.

Function Documentation

◆ compute_axis_coeffs()

AxisCoeffs vulcan::allan::compute_axis_coeffs ( const sensors::AllanParams< double > & params,
double dt )
inline

Compute per-axis coefficients from Allan parameters.

Parameters
paramsAllan variance parameters for this axis
dtTime step [s]
Returns
AxisCoeffs ready for simulation

◆ compute_coeffs()

IMUNoiseCoeffs vulcan::allan::compute_coeffs ( const sensors::AllanParams< double > & gyro_params,
const sensors::AllanParams< double > & accel_params,
double dt )
inline

Compute IMU coefficients from Allan parameters.

Parameters
gyro_paramsAllan variance parameters for gyroscope
accel_paramsAllan variance parameters for accelerometer
dtTime step [s]
Returns
IMUNoiseCoeffs ready for simulation

◆ consumer_grade_coeffs()

IMUNoiseCoeffs vulcan::allan::consumer_grade_coeffs ( double dt)
inline

Compute coefficients for consumer-grade IMU.

Parameters
dtTime step [s]
Returns
IMUNoiseCoeffs for consumer-grade sensors

◆ industrial_grade_coeffs()

IMUNoiseCoeffs vulcan::allan::industrial_grade_coeffs ( double dt)
inline

Compute coefficients for industrial-grade IMU.

Parameters
dtTime step [s]
Returns
IMUNoiseCoeffs for industrial-grade sensors

◆ init_axis_state()

template<typename Scalar>
AxisState< Scalar > vulcan::allan::init_axis_state ( )

Initialize per-axis state to zero.

Template Parameters
Scalardouble or casadi::MX
Returns
AxisState with all zeros

◆ init_state()

template<typename Scalar>
IMUNoiseState< Scalar > vulcan::allan::init_state ( )

Initialize IMU noise state.

Template Parameters
Scalardouble or casadi::MX
Returns
IMUNoiseState with all zeros

◆ navigation_grade_coeffs()

IMUNoiseCoeffs vulcan::allan::navigation_grade_coeffs ( double dt)
inline

Compute coefficients for navigation-grade IMU.

Parameters
dtTime step [s]
Returns
IMUNoiseCoeffs for navigation-grade sensors

◆ step()

template<typename Scalar>
sensors::IMUNoiseSample< Scalar > vulcan::allan::step ( IMUNoiseState< Scalar > & state,
const IMUNoiseCoeffs & coeffs,
const IMUNoiseInput< Scalar > & input )

Step the complete IMU noise model.

Updates all internal states and returns noise to add to ideal outputs.

Template Parameters
Scalardouble or casadi::MX
Parameters
stateCurrent IMU noise state (updated in-place)
coeffsPre-computed coefficients
inputWhite noise samples for all processes
Returns
IMUNoiseSample with gyro and accel noise vectors

◆ step_axis()

template<typename Scalar>
Scalar vulcan::allan::step_axis ( AxisState< Scalar > & state,
const AxisCoeffs & coeffs,
const Scalar & noise_arw,
const Scalar & noise_bias,
const Scalar & noise_rrw )

Step single-axis noise model.

Computes total noise as sum of:

  • White noise (ARW): σ_arw * w1
  • Bias instability: Markov process driven by w2
  • Rate random walk: integrated w3

Uses 3 independent white noise inputs for the 3 processes.

Template Parameters
Scalardouble or casadi::MX
Parameters
stateCurrent axis state (updated in-place)
coeffsPre-computed axis coefficients
noise_arwWhite noise sample for ARW
noise_biasWhite noise sample for bias instability
noise_rrwWhite noise sample for rate random walk
Returns
Total noise output for this axis

◆ step_simple()

template<typename Scalar>
sensors::IMUNoiseSample< Scalar > vulcan::allan::step_simple ( IMUNoiseState< Scalar > & state,
const IMUNoiseCoeffs & coeffs,
const Eigen::Vector< Scalar, 3 > & gyro_noise,
const Eigen::Vector< Scalar, 3 > & accel_noise )

Simplified step with single noise vector per sensor.

Convenience function that uses same noise for ARW and splits noise between bias and RRW processes (for simpler usage when full 18-sample input is not needed).

Template Parameters
Scalardouble or casadi::MX
Parameters
stateCurrent IMU noise state (updated in-place)
coeffsPre-computed coefficients
gyro_noise3-element white noise for gyroscopes
accel_noise3-element white noise for accelerometers
Returns
IMUNoiseSample with gyro and accel noise vectors

◆ tactical_grade_coeffs()

IMUNoiseCoeffs vulcan::allan::tactical_grade_coeffs ( double dt)
inline

Compute coefficients for tactical-grade IMU.

Parameters
dtTime step [s]
Returns
IMUNoiseCoeffs for tactical-grade sensors