Auterion App SDK
Auterion SDK is a library that can be used by AuterionOS apps to communicate with the system.
Loading...
Searching...
No Matches
auterion::LosFilter Class Reference

A filter for estimating Line-of-Sight (LOS) vectors and their rates. More...

#include <auterion_sdk/tracking/los_filter/los_filter.hpp>

Public Member Functions

 LosFilter ()
 Default constructor.
 
void init ()
 Initializes the filter without an initial LOS vector.
 
void init (const Eigen::Vector3f &los_init, float los_std_init=0.1f, float los_rate_std_init=0.1f)
 Initializes the filter with a given LOS vector.
 
bool isInitialized () const
 Checks whether the filter has been initialized.
 
void reset ()
 Resets the filter to the uninitialized state, clearing state and covariance.
 
void predict (float dt, float los_rate_process_nsd=0.1f)
 Predicts the next state of the filter based on elapsed time.
 
void update (const Eigen::Vector3f &los_measurement, float los_variance)
 Updates the filter state with a new LOS measurement.
 
Eigen::Vector3f getLOS () const
 Gets the current estimated LOS vector.
 
Eigen::Vector3f getLOSRate () const
 Gets the current estimated LOS rate.
 
const Eigen::MatrixXf getCovariance () const
 Gets the covariance matrix of the state.
 
Eigen::Vector3f getLOSInnov () const
 Gets the LOS innovation (difference between measurement and prediction).
 
Eigen::Vector3f getLOSInnovVar () const
 Gets the variance of the LOS innovation.
 
Eigen::MatrixXf getStateVariance () const
 Gets the state variance matrix.
 
Eigen::MatrixXf getLOSVariance () const
 Gets the variance of the LOS estimates.
 
Eigen::MatrixXf getLOSRateVariance () const
 Gets the variance of the LOS rate estimates.
 

Detailed Description

A filter for estimating Line-of-Sight (LOS) vectors and their rates.

This class provides functionality for initializing, predicting, and updating the state of a LOS estimation filter. It maintains covariance information and provides access to various state variables.

Constructor & Destructor Documentation

◆ LosFilter()

auterion::LosFilter::LosFilter ( )

Default constructor.

Initializes an instance of the LosFilter.

Member Function Documentation

◆ getCovariance()

const Eigen::MatrixXf auterion::LosFilter::getCovariance ( ) const

Gets the covariance matrix of the state.

Returns
State covariance matrix.

◆ getLOS()

Eigen::Vector3f auterion::LosFilter::getLOS ( ) const

Gets the current estimated LOS vector.

Returns
Estimated LOS vector.

◆ getLOSInnov()

Eigen::Vector3f auterion::LosFilter::getLOSInnov ( ) const

Gets the LOS innovation (difference between measurement and prediction).

Returns
LOS innovation vector.

◆ getLOSInnovVar()

Eigen::Vector3f auterion::LosFilter::getLOSInnovVar ( ) const

Gets the variance of the LOS innovation.

Returns
LOS innovation variance vector.

◆ getLOSRate()

Eigen::Vector3f auterion::LosFilter::getLOSRate ( ) const

Gets the current estimated LOS rate.

Returns
Estimated LOS rate vector.

◆ getLOSRateVariance()

Eigen::MatrixXf auterion::LosFilter::getLOSRateVariance ( ) const

Gets the variance of the LOS rate estimates.

Returns
LOS rate variance matrix.

◆ getLOSVariance()

Eigen::MatrixXf auterion::LosFilter::getLOSVariance ( ) const

Gets the variance of the LOS estimates.

Returns
LOS variance matrix.

◆ getStateVariance()

Eigen::MatrixXf auterion::LosFilter::getStateVariance ( ) const

Gets the state variance matrix.

Returns
State variance matrix.

◆ init()

void auterion::LosFilter::init ( const Eigen::Vector3f &  los_init,
float  los_std_init = 0.1f,
float  los_rate_std_init = 0.1f 
)

Initializes the filter with a given LOS vector.

Parameters
los_initInitial Line-of-Sight (LOS) vector.
los_std_initInitial LOS state standard deviation (rad). Defaults to 0.1.
los_rate_std_initInitial LOS rate state standard deviation (rad/s). Defaults to 0.1.

◆ isInitialized()

bool auterion::LosFilter::isInitialized ( ) const

Checks whether the filter has been initialized.

Returns
True if init() has been called and reset() has not been called since.

◆ predict()

void auterion::LosFilter::predict ( float  dt,
float  los_rate_process_nsd = 0.1f 
)

Predicts the next state of the filter based on elapsed time.

Parameters
dtTime step for prediction (in seconds).
los_rate_process_nsdLOS rate noise spectral density in rad/(s * sqrt(Hz)). Defaults to 0.1.

◆ update()

void auterion::LosFilter::update ( const Eigen::Vector3f &  los_measurement,
float  los_variance 
)

Updates the filter state with a new LOS measurement.

Parameters
los_measurementMeasured LOS vector.
los_varianceMeasurement variance.

The documentation for this class was generated from the following file: