Over a million developers have joined DZone.

Simple Kalman Filter in C

DZone's Guide to

Simple Kalman Filter in C

This code snippet covers simple Kalman filters in C.

· Web Dev Zone
Free Resource

Should you build your own web experimentation solution? Download this whitepaper by Optimizely to find out.

/** A simple kalman filter example by Adrian Boeing 


double frand() {
    return 2*((rand()/(double)RAND_MAX) - 0.5);

int main() {

    //initial values for the kalman filter
    float x_est_last = 0;
    float P_last = 0;
    //the noise in the system
    float Q = 0.022;
    float R = 0.617;

    float K;
    float P;
    float P_temp;
    float x_temp_est;
    float x_est;
    float z_measured; //the 'noisy' value we measured
    float z_real = 0.5; //the ideal value we wish to measure


    //initialize with a measurement
    x_est_last = z_real + frand()*0.09;

    float sum_error_kalman = 0;
    float sum_error_measure = 0;

    for (int i=0;i

Implementing an Experimentation Solution: Choosing whether to build or buy?

web dev ,c

Opinions expressed by DZone contributors are their own.

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}