gokalman icon indicating copy to clipboard operation
gokalman copied to clipboard

A Kalman Filter library in go. Includes several examples in statistical orbit determination.

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.