ADCS.satellite_hardware.errors.bias module

class ADCS.satellite_hardware.errors.bias.Bias(bias=array([0.]), std_bias=array([0.]), bounds=(array([-inf]), array([inf])))[source]

Bases: object

Represents actuator bias modeled as a bounded random walk.

Parameters:
  • bias (float, optional) – Initial bias value \(b_0\) (default 0).

  • std_bias (float, optional) – Standard deviation rate \(\sigma_b\) controlling random-walk diffusion (default 0).

  • bounds ((float, float), optional) – Clipping range \([b_{\min}, b_{\max}]\) applied after updates.

broadcast_to(length, *, owner='sensor')[source]

Return this model sized for a length-output sensor.

A scalar model is repeated per axis, a model that already has length entries is copied, and any other size is a configuration error reported here, where the owning sensor is known, instead of surfacing later as a covariance-shape error inside the filter. Subclasses with their own parameterisation are copied untouched.

Parameters:
  • length (int)

  • owner (str)

Return type:

Bias

copy()[source]
get_bias(j2000)[source]

Return the current bias after applying a random-walk update.

Parameters:

j2000 (float) – Current time in Julian centuries since J2000.

Returns:

The updated bias value \(b_k\).

Return type:

float

process_covariance(dt=1.0, *, form='full')[source]

Return random-walk covariance \(Q_b=\mathrm{diag}(\sigma_b^2\Delta t)\).

Parameters:
  • dt (float)

  • form (str)

Return type:

Covariance

process_psd(*, form='full')[source]

Return continuous random-walk PSD \(\operatorname{diag}(\sigma_b^2)\).

std_bias is a random-walk standard-deviation rate, not a per-step covariance. Discretizers such as Van Loan therefore use this PSD directly and own the timestep conversion.

Parameters:

form (str)

Return type:

Covariance