https://github.com/christopherrabotin/gokalman
A Kalman Filter library in go. Includes several examples in statistical orbit determination.
https://github.com/christopherrabotin/gokalman
blas gonum kalman-filter kalman-filtering state-estimation
Last synced: 8 months ago
JSON representation
A Kalman Filter library in go. Includes several examples in statistical orbit determination.
- Host: GitHub
- URL: https://github.com/christopherrabotin/gokalman
- Owner: ChristopherRabotin
- License: mit
- Archived: true
- Created: 2016-11-10T17:09:38.000Z (over 9 years ago)
- Default Branch: master
- Last Pushed: 2017-05-07T21:39:37.000Z (about 9 years ago)
- Last Synced: 2024-10-28T17:12:32.819Z (over 1 year ago)
- Topics: blas, gonum, kalman-filter, kalman-filtering, state-estimation
- Language: Go
- Homepage:
- Size: 9.94 MB
- Stars: 22
- Watchers: 5
- Forks: 3
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
[](https://travis-ci.org/ChristopherRabotin/gokalman) [](https://coveralls.io/github/ChristopherRabotin/gokalman?branch=master)
[](https://goreportcard.com/report/github.com/ChristopherRabotin/gokalman)
# gokalman
Go lang implementations of the Kalman Filter and its variantes, along with examples in statistical orbit determination.
# Usage
```go
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.
```