go-estimate
State estimation and filtering algorithms in Go
About go-estimate
go-estimate: State estimation and filtering algorithms in Go
This package offers a small suite of basic filtering algorithms written in Go. It currently provides the implementations of the following filters and estimators:
- Bootstrap Filter also known as SIR Particle filter
- Unscented Kalman Filter also known as Sigma-point filter
- Extended Kalman Filter also known as Non-linear Kalman Filter
- Kalman Filter also known as Linear Kalman Filter
In addition it provides an implementation of Rauch–Tung–Striebel smoothing for Kalman filter, which is an optimal Gaussian smoothing algorithm. There are variants for both LKF (Linear Kalman Filter) and EKF (Extended Kalman Filter) implemented in the smooth package. UKF smoothing will be implemented in the future.
Get started
Get the package:
$ go get github.com/milosgajdos/go-estimate
Get dependencies:
$ make dep
Run unit tests:
$ make test
You can find various examples of usage in go-estimate-examples.
TODO
- Square Root filter
- Information Filter
- Smoothing
- Rauch–Tung–Striebel for both KF and EKF has been implemented in
smoothpackage
- Rauch–Tung–Striebel for both KF and EKF has been implemented in
Contributing
YES PLEASE!
Frequently Asked Questions
What is go-estimate?
go-estimate is a Science and Data Analysis library for the Go programming language. State estimation and filtering algorithms in Go
How do I install go-estimate?
Install go-estimate with the Go module system using `go get milosgajdos/go-estimate`. Check the repository for the current installation instructions.
What category does go-estimate belong to?
go-estimate is listed under Science and Data Analysis, specifically Science and Data Analysis.