Giter Site home page Giter Site logo

kalman.jl's Introduction

Kalman

Build Status Coverage Status

A generic interface for Kalman filters in Julia.

Note that the TimeModels.jl also has an implementation of Kalman filters for time series analysis. This implementation (Kalman.jl) focuses on applications of Kalman filters to online data assimilation problems, and intends to develop a single API for both linear and nonlinear Kalman filters. Kalman.jl is an unregistered package still in active development, so bugs may be common and changes rapid. For a more stable and tested API, check out TimeModels.jl.

Installation

	Pkg.clone("git://github.com/wkearn/Kalman.jl")

Until this package is registered, simply Pkg.clone from this repository

Usage

using Kalman

x0 = State([0.0],[1.0]')
f = LinearModel([1]',[1]',[1e-10]')
z = LinearObservationModel([1]',[0.01]')

kf0 = BasicKalmanFilter(x0,f,z)
kf = kf0

y = map(i->Observation([i]),-0.37727+sqrt(0.01)*randn(50))

Note that in Julia v0.4 and greater, you can replace the Observation{T} with a Nullable{Vector{T}} which allows you to represent missing measurements.

x = zeros(Float64,50)
p = ones(Float64,50)

for i = 1:49
	kf = predictupdate(kf,y[i])
	x[i+1] = kf.x.x[1]
	p[i+1] = kf.x.p[1]
end

Estimation of a scalar constant)

Roadmap

Filters which have been implemented list the Kalman.jl type which implements them.

Kalman Filter

  • Linear, time-invariant filter with regular updating: BasicKalmanFilter
    • Missing measurements supported with Nullable{Vector{T}} observations

Extended Kalman Filter

  • Nonlinear, time-invariant filter with regular updating: BasicExtendedKalmanFilter

Unscented Kalman Filter

Ensemble Kalman Filter

kalman.jl's People

Contributors

ken-b avatar wkearn avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.