Module HOUND.Contact.Estimator
HOUND.Contact.Estimator
Legacy Kalman implementation
HOUND.Contact.Estimator.accuracyScore (err) | Fuzzy logic score |
HOUND.Contact.Estimator.Kalman.posFilter () | Kalman Filter implementation for position |
HOUND.Contact.Estimator.Kalman.AzFilter (noise) | Kalman Filter implementation for Azimuth |
HOUND.Contact.Estimator.Kalman.AzElFilter () | Kalman Filter implementation for position. |
Pseudo-linear Kalman filter
Legacy Kalman implementation
- HOUND.Contact.Estimator.accuracyScore (err)
-
Fuzzy logic score
Parameters:
- err
- HOUND.Contact.Estimator.Kalman.posFilter ()
-
Kalman Filter implementation for position
Returns:
-
Kalman filter instance
- HOUND.Contact.Estimator.Kalman.AzFilter (noise)
-
Kalman Filter implementation for Azimuth
Parameters:
- noise angular error
Returns:
-
Kalman filter instance
- HOUND.Contact.Estimator.Kalman.AzElFilter ()
-
Kalman Filter implementation for position.
Returns:
-
Kalman filter instance
Pseudo-linear Kalman filter
- HOUND.Contact.Estimator.UPLKF
- UB-PLKF (Unbiased Pseudo-Linear Kalman Filter) Implementation of algorithem described in https://www.mdpi.com/2072-4292/13/15/2915
- HOUND.Contact.Estimator.UPLKF:create (p0, v0, timestamp, initialPosError, isMobile)
-
Create PLKF instance
Parameters:
- p0 Initial position (DCS point)
- v0 optional table Initial velocity (x,z)
- timestamp optional number Initial time
- initialPosError optional number Uncertainty of position measurement
- isMobile optional boolean Is the platform mobile?
- HOUND.Contact.Estimator.UPLKF:getEstimatedPos (state)
-
get current estimated position in DCS point from a Kalman state
Parameters:
- state optional table from which position will be extracted. defaults self.state.
Returns:
-
DCS point.
- HOUND.Contact.Estimator.UPLKF.normalizeAz (azimuth)
-
normalize azimuth to East aligned counterclockwise
Parameters:
- azimuth number in radians (0-2Pi)
Returns:
-
angle in radian (-pi to pi) east aligned counterclockwise rotation
- HOUND.Contact.Estimator.UPLKF:updateMarker ()
- update debug marker draw a debug marker from current self.state
- HOUND.Contact.Estimator.UPLKF:getF (deltaT)
-
create F matrix
Parameters:
- deltaT
Returns:
-
F matrix
- HOUND.Contact.Estimator.UPLKF:getQ (deltaT, sigma)
-
create the Q matrix
Parameters:
- deltaT optional number time from last mesurement. default is 10 seconds
- sigma optional number error in mesurment. default is 0.1 radians
Returns:
-
Q matrix
- HOUND.Contact.Estimator.UPLKF:predictStep (X, P, timestep, Q)
-
Kalman prediction step for provided state
Parameters:
- X table state matrix for prediction
- P table state covariance matrix
- timestep number (in seconds)
- Q optional table process nose matrix. will be generated with generic settings if not provided
Returns:
- x_hat the predicted state matrix
- P_hat the predicted state covariance matrix
- HOUND.Contact.Estimator.UPLKF:predict (timestamp)
-
Perform a prediction for the filter and update state
Parameters:
- timestamp optional number DCS AbsTime timestamp
- HOUND.Contact.Estimator.UPLKF:update (p0, z, timestamp, z_err)
-
perform update of state with mesurment
Parameters:
- p0 table Position of platform (DCS point)
- z number current mesurment
- timestamp number time of mesurment
- z_err number maximum error in mesurment (radians)