Configuration for a no-IMU constant-velocity track filter.
Example
alias Sidereon.Estimation.{TrackFilter, TrackFilterConfig}
{:ok, config} =
TrackFilterConfig.from_position(
:ecef,
0.0,
[1.0, 2.0, 3.0],
[[25.0, 0.0, 0.0], [0.0, 25.0, 0.0], [0.0, 0.0, 25.0]],
100.0,
0.05
)
{:ok, filter} = TrackFilter.new(config)
{:ok, _prediction} = TrackFilter.predict(filter, 1.0)
{:ok, update} =
TrackFilter.update_position(
filter,
[1.5, 2.0, 3.0],
[[9.0, 0.0, 0.0], [0.0, 9.0, 0.0], [0.0, 0.0, 9.0]]
)
update.updated.position_m
Summary
Functions
Build a config from a position fix and uncertain zero initial velocity.
Build a config from a position fix and uncertain zero initial velocity.
Build a config from position, velocity, full covariance, and acceleration PSD.
Build a config from position, velocity, full covariance, and acceleration PSD.
Types
@type t() :: %Sidereon.Estimation.TrackFilterConfig{ acceleration_variance_spectral_density_m2_s3: float(), dimension: pos_integer(), frame: Sidereon.Estimation.TrackState.frame(), initial_covariance: [[float()]], initial_position_m: [float()], initial_t_s: float(), initial_velocity_m_s: [float()] }
Functions
Build a config from a position fix and uncertain zero initial velocity.
@spec from_position( Sidereon.Estimation.TrackState.frame(), number(), [number()] | tuple(), [[number()]], number(), number() ) :: {:ok, t()} | {:error, term()}
Build a config from a position fix and uncertain zero initial velocity.
Build a config from position, velocity, full covariance, and acceleration PSD.
@spec new( Sidereon.Estimation.TrackState.frame(), number(), [number()] | tuple(), [number()] | tuple(), [[number()]], number() ) :: {:ok, t()} | {:error, term()}
Build a config from position, velocity, full covariance, and acceleration PSD.