All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.hipparchus.filtering.kalman.linear.LinearProcess Maven / Gradle / Ivy

/*
 * Licensed to the Hipparchus project under one or more
 * contributor license agreements.  See the NOTICE file distributed with
 * this work for additional information regarding copyright ownership.
 * The Hipparchus project licenses this file to You under the Apache License, Version 2.0
 * (the "License"); you may not use this file except in compliance with
 * the License.  You may obtain a copy of the License at
 *
 *      https://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

package org.hipparchus.filtering.kalman.linear;

import org.hipparchus.filtering.kalman.Measurement;

/**
 * Linear process that can be estimated by a {@link LinearKalmanFilter}.
 * 

* This interface must be implemented by users to represent the behavior * of the process to be estimated *

*

* A linear process is governed by the equation: * \( * x_k = A_{k-1} x_{k-1} + B_{k-1} u_{k-1} + w_{k-1} * \) * where

*
    *
  • Ak-1 is the state transition matrix in the absence of control,
  • *
  • Bk-1 is the control matrix,
  • *
  • uk-1 is the command
  • *
  • wk-1 is the process noise, which has covariance matrix Qk-1
  • *
* @param the type of the measurements * @see LinearKalmanFilter * @see org.hipparchus.filtering.kalman.extended.NonLinearProcess * @since 1.3 */ public interface LinearProcess { /** Get the state evolution between two times. * @param measurement measurement to process * @return state evolution */ LinearEvolution getEvolution(T measurement); }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy