Examples of KalmanFilter


Examples of org.apache.commons.math3.filter.KalmanFilter

                {   0,    0,   0, 1e-3 }
        });

        final ProcessModel pm = new DefaultProcessModel(A, B, Q, initialState, initialErrorCovariance);
        final MeasurementModel mm = new DefaultMeasurementModel(H, R);
        final KalmanFilter filter = new KalmanFilter(pm, mm);

        final List<Number> realX = new ArrayList<Number>();
        final List<Number> realY = new ArrayList<Number>();
        final List<Number> measuredX = new ArrayList<Number>();
        final List<Number> measuredY = new ArrayList<Number>();
        final List<Number> kalmanX = new ArrayList<Number>();
        final List<Number> kalmanY = new ArrayList<Number>();
       
        for (int i = 0; i < iterations; i++) {

            // get real location
            realX.add(cannonball.getX());
            realY.add(cannonball.getY());

            // get measured location
            final double mx = cannonball.getMeasuredX();
            final double my = cannonball.getMeasuredY();

            measuredX.add(mx);
            measuredY.add(my);

            // iterate the cannon simulation to the next timeslice.
            cannonball.step();

            final double[] state = filter.getStateEstimation();
            kalmanX.add(state[0]);
            kalmanY.add(state[2]);

            // update the kalman filter with the measurements
            filter.predict(controlVector);
            filter.correct(new double[] { mx, 0, my, 0 } );
        }

        chart.setXAxisTitle("Distance (m)");
        chart.setYAxisTitle("Height (m)");
View Full Code Here

Examples of org.apache.commons.math3.filter.KalmanFilter

        // the measurement covariance matrix -> put the "real" variance
        RealMatrix R = new Array2DRowRealMatrix(new double[] { measurementNoise * measurementNoise });

        final ProcessModel pm = new DefaultProcessModel(A, B, Q, x0, P0);
        final MeasurementModel mm = new DefaultMeasurementModel(H, R);
        final KalmanFilter filter = new KalmanFilter(pm, mm);

        final List<Number> xAxis = new ArrayList<Number>();
        final List<Number> realVoltageSeries = new ArrayList<Number>();
        final List<Number> measuredVoltageSeries = new ArrayList<Number>();
        final List<Number> kalmanVoltageSeries = new ArrayList<Number>();

        final List<Number> covSeries = new ArrayList<Number>();
       
        for (int i = 0; i < 300; i++) {
            xAxis.add(i);

            voltMeter.step();

            realVoltageSeries.add(voltMeter.getVoltage());

            // get the measured voltage from the volt meter
            final double measuredVoltage = voltMeter.getMeasuredVoltage();
            measuredVoltageSeries.add(measuredVoltage);

            kalmanVoltageSeries.add(filter.getStateEstimation()[0]);
            covSeries.add(filter.getErrorCovariance()[0][0]);

            filter.predict();
            filter.correct(new double[] { measuredVoltage });
        }

        chart1.setYAxisTitle("Voltage");
        chart1.setXAxisTitle("Iteration");

View Full Code Here
TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.