ChristopherRabotin / gokalman

A Kalman Filter library in go. Includes several examples in statistical orbit determination.
MIT License
22 stars 3 forks source link
blas gonum kalman-filter kalman-filtering state-estimation

Build Status Coverage Status goreport

gokalman

Go lang implementations of the Kalman Filter and its variantes, along with examples in statistical orbit determination.

Usage

estimateChan := make(chan(Estimate), 1)
go processEstimates(estimateChan)
kf := New[KalmanFilter](...) // e.g. NewVanilla(...)
for k, measurement := range measurements {
    newEstimate, err := kf.Update(measurement, controlVectors[k])
    if err != nil {
        processError(err)
        continue
    }
    estimateChan <- newEstimate
}
close(estimateChan)
// Should add a usage of sync.