Function lupnt::ProcessNoisePosVelClock(ClockModel, int, double, int)

Function Documentation

MatXd lupnt::ProcessNoisePosVelClock(ClockModel cmodel, int n_clk, double sigma_a, int n_sat = 1)

Build a block-diagonal process-noise covariance for n_sat independent position/velocity/clock-bias/clock-drift states, combining ProcessNoisePosVel (with an isotropic per-axis acceleration noise sigma_a) and ProcessNoiseClock per satellite.

Intended as the Q returned by a ProcessNoiseFunction registered via Filter::SetProcessNoiseFunction for a multi-satellite position/velocity/clock filter state.

Parameters:
  • cmodelClock noise model for each satellite’s clock

  • n_clk – Per-satellite block size (position/velocity + clock dimensions, e.g. 8 for [r(3), v(3), bias, drift])

  • sigma_a – Per-axis acceleration noise 1-sigma [m/s^2]

  • n_sat – Number of satellites/states (default 1)

Returns:

Block-diagonal process noise covariance, size [n_clk*n_sat x n_clk*n_sat]