Science topic

# Kalman Filtering - Science topic

Explore the latest questions and answers in Kalman Filtering, and find Kalman Filtering experts.
Questions related to Kalman Filtering
Question
What is meant by the convergence of the Kalman Filter and to what does it converge? What is the mathematical formulation for convergence in terms of solving a Riccati equation?
Hallo Mr. Bacha,
I would like to send you this file and I hope that you could find some of explain about your questions. this file was very benefit for me.
Question
Hello, has anyone worked with the CKF filter? How does it perform compared to other non-linear Kalman filters?
CKF, EKF, and UKF are all non-linear Kalman filter variants with different approaches to handling non-linear systems. on the other hand, CKF is a specific implementation of a non-linear Kalman filter. It is designed to address the limitations of traditional Kalman filters in handling non-linear system dynamics. The CKF's use of the cubature rule offers a potentially more accurate approximation but at the cost of increased computational complexity. The choice between these filters depends on the specific requirements of the application, the degree of non-linearity, and the trade-off between accuracy and computational efficiency.
Question
Hello who interested with my question,
Firstly, I want to thanks you for spending your time to read this topic!
So I have 3 questions that need some advice in Unscented Kalman Filter about the 3 DoFs Mass-Damping-Stiffness System. Right now, i'm modifying my UKF code in MATLAB for a new project but some problems seem to occur again. Below there are 2 Code files - one was the UKF test and one was an UKF function that I've writen in my graduated thesis and here are the problems I incurred:
1/ The Cholesky Decomposition: I used the chol() function from library of MATLAB. However in my test, from the loop k=3, the covariance matrix was starting to fail in excuting chol() because it was not completely positive definited!
My solution: First, I used a function name "nearestSPD" of Mr. John D'Errico and this function have helped my covariance matrix pass the chol() but the output (state vector) I received was full of 0 from the loop k=3. Second approach was plusing (1e-6)*eye() into the covariance matrix but MATLAB code stopped from the loop 3 and said that matrix wasn't positive definited!
2/ Kalman Gain: since the equation of Kalman Gain has the inverse matrix, some value of Kalman Gain of my code in some loop can't be calculate because the covariance matrix is singularity and it doesn't have the inverse version!
My solution: in MATLAB, I've used pinv() (Moore-Penrose Inverse matrix) instead of the regular inverse inv()
3/ Choosing the workable Initial Covariance Matrix (P): How can we choose the suitable Initial Covariance Matrix for UKF?
My solution: Usually, I always choose the values of P corresponding to the error between the initial state vector and true parameter. For example, true k1 = 10000 N/m and in my initial state, I choose k1 = 8000 N/m -> value error of k1 in P will be chosen equal to 1e6.
If you have any suggestions, please feel free to repsonse! I would love to hear your idea!
My code is free and as long as you seem interested, you can use it freely! However, my code seems to fail due to 3 reasons above!
Thanks you!
Question
I want to use Kalman filter to estimate battery parameter and observer for state estimation together (SOC)
You may try graphical state space model solved by factor graph optimization.
Question
I use the Kalman filter to estimate the stator and rotor currents for a 2MW doubly fed induction generator, I used the state model in the alpha beta reference, How to calculate the initial matrix P_0, Q_0, R_0 for a extended Kalman filter?
Mohammed Abbas In an extended Kalman filter (EKF), the starting matrices P 0, Q 0, and R 0 play a significant role in the estimating process. They are, in order, the starting values of the state covariance matrix P, the process noise covariance matrix Q, and the measurement noise covariance matrix R. These matrices are used to represent the uncertainty in the state estimation, process dynamics, and measurement noise, in that order.
You must consider the following factors while calculating these matrices:
1. P 0 state covariance matrix: This matrix captures the state estimate's starting uncertainty. To represent the fact that the initial state estimate is unknown, it is commonly set to a big number for the diagonal elements and zeros for the off-diagonal elements.
2. Q 0: Process noise covariance matrix This matrix illustrates the process dynamics' uncertainty. It is often determined based on a prior understanding of process dynamics and how they evolve over time.
3. R 0 is the measurement noise covariance matrix. This matrix displays the measurement uncertainty. It is often set based on measurement noise characteristics such as sensor accuracy.
P 0, Q 0, and R 0 values can be derived by tuning or previous knowledge of the system. As the EKF converges to a more accurate estimate, the values can be changed over time. Finding the proper values for these matrices, on the other hand, may be difficult, as estimation success is largely dependent on the choice of these.
Question
Hello researchers,
Could you give your recommendation for a good book that explains the Kalman filter in a practical way?
MAnsour
1. Brown, R. G. and Hwang, P. Y. C., Intro. to Random Signals and Applied Kalman Filtering, 4th ed, John Wiley
2. Bar-Shalom, Y., Rong Li, X., Kirubarajan, T., Estimation with Applications to Tracking and Navigation, John Wiley
There are many more, but these are plenty to begin with.
Enjoy.
Regards
Hari Hablani
IIT Indore
Question
We combine data from different sensors like the Inertial Measurement Unit (IMU) and Global Positioning System (GPS) to estimate the state of a robot e.g. position using Kalman Filter. My question is why do we need to estimate the position if we are getting it from GPS and IMU?
Raw GPS data only provides 4 measurements of pseudo range. You need an estimator to extract the 3D position measurement and clock bias. The GPS data is then used to estimate the errors in the IMU to provide improved short-term stability for any autopilots (or a navigation capability should the GPS signals be intermittent)
Question
In kalman filter for state variable estimation we take initial zeros but in ensemble especially for harmonic analysis, which values to take ?
Question
How could we detrmine Fixed-Gain values of the Extended Kalman Filter gain matrix without solving Riccati equation? Is there a simple way?
There are sections in different books that address this topic. For a simple treatment, see Sec. 7.7 Estimator Design, in
Franklin, G. F., Powell, J. D., and Emami-Naeini, A., Feedback Control of Dynamic Systems, Prentice-Hall, 6th ed.
For sampled system (with a sampling period, digital control systems), see Sec. 8.2 Estimator Design, in
Franklin, G. F., Powell, J. D., and Workman, M., Digital Control of Dynamic Systems, 3rd ed, Addison Wesley
For a more complete treatment, see Chapter 8 Time-Invariant Filters, in
Bryson, A. E., Applied Linear Optimal Control, Cambridge University Press 2002
There are yet more books on the subject. See
Stengel, R. F., Optimal Control and Estimation, Dover edition
and yet more.
Hari Hablani
IIT Indore, India
Question
Look into the book
Y. S. Shmaliy and S. Zhao, Optimal and Robust State Estimation: Finite Impulse Response (FIR) and Kalman Approaches, Wiley & Sons, 2022.
This is the first systematic investigation and description of convolution-based (FIR and IIR) state estimation (filtering, smoothing, and prediction) with practical algorithms. In this framework, the Bayesian Kalman filter serves as a recursive computational algorithm for batch optimal FIR and IIF filters. The unbiased FIR filter is shown to be the most robust among other linear estimators. Various robust approaches for disturbed and uncertain systems are also discussed.
Yes, I got a copy of your book recently. Very interesting approach!
Question
I am trying to implement the sliding window Extended Kalman Filter as in the paper "Automated Controller Calibration by Kalman Filtering" ( https://doi.org/10.48550/arXiv.2111.10832 ) but there are several things that are unclear to me and thus I would like to get some clarification.
The first is that I do not understand the idea of a sliding window for a Kalman Filter. Does a Kalman Filter not operate on a sequential manner? How does one operate a KF using a sliding window?
Can someone provide a Matlab script or preferably a Simulink model of such a system?
Marnel Altius I suggest reading this aricle https://arxiv.org/pdf/2111.10832
Question
The Unscented Kalman Filter (UKF) algorithm requires a Cholesky factorization of the prediction error covariance matrix. The problem is that during the iterations, this matrix is not always positive definite and so, the MATLAB code risks tobe stopped.
Could someone tell me how to make this covariance matrix positive definite in order to ensure the running of the code until the end of the iterations?
Thank you
try this every iteration
P=(P+PT)/2
Question
Dear all,
I have been doing research on the leak detection of pipelines for some time. I did the simulations with simcenter software. But unfortunately, I tried to detect the location of the leak using Kalman filter in different ways, but it is not possible. Is it possible to guide me? Is it possible to send me the MATLAB code so that I can try on my own water pipelines and simulations?
Richard Fenner and Steve Mounce have done work using Kalman filters for leak detection in water distribution networks Seyed.
Question
We are trying to optimize the values of DEM of a particular catchment with a view of identifying outliers and predict future values. Thanks
Question
Hello researchers!
I want to fit Gaussian Mixture Model to a data set where the number of mixture components is known. The weights of the mixture, the means and variances of the gaussian distributions have known priors attached to them. Can someone please enlighten me on how to use Kalman filter for this problem? Goal is to estimate the weights of the GMM and also the parameters of the gaussian distributions.
Question
I need to estimate a set of 15 constant parameters, which are not directly measured. My state vector is therefore fixed and is made up of these constants so the Kalman filter equations rearrange to those of the Recursive Least Squares. Only 3 quantities, different from the state, can be measured and from these I have to estimate the state vector. Results indicates that the state vector is estimated well but the rank of the observation matrix used in the calculations is much less than 15 because the equations(measures) are less than the constants to be estimated. Is it normal? Must the rank be equal to the number of parameters? Thank you
Dear Michel Crimeni,
The rank of the measurement matrix H is less than or equal to the rank of the system (process) matrix F.
Best regards
Question
I'm simulating the process of measuring the positions of the end-effector of a robotic arm but I haven't yet specifications about the measuring device that will be used in actual experiments. Let's suppose the device will be a laser tracking system whose data sheet reports a measurement uncertainty of 15 micrometers = 0.015 mm. The measurement uncertainty is defined as the deviation between a measured coordinate and the nominal coordinate of a point. Can I assume it as the accuracy of the instrument? Can I use it as the standard deviation and then square it to initialize R?
Michel Crimeni, those parameters are knobs you turn to tune the system so you should experiment with a range of values. But that's probably a good assumption to start with.
Best!!
AN
Question
I know I should be using the concept of Dead Reckoning. But how do I use prediction algorithms to determine/estimate the 2D coordinates and yaw angle, if I can get the gyroscope data, wheel encoder data, and global system time or timestamp of each input?
Question
I was wondering how could I implement Kalman filter in Mircoprocessors to caculate position in MPU6050 sensor. Is there anyone here that already had done this project?
You do not need a Kalman filter to compute position from measured angular velocities and translational accelerations:
1. Compute rotation by means of angular velocity
2. Transform measured accelerations into the initial (inertial) frame utilizing the latter rotation matrices
3. Double time integration of accelerations (in initial frame) to derive positions w.r.t. the initial frame.
However, Kalman filtering could be used to improve the derived position. Most popular approaches are multi sensor fusion (e.g., IMU+GPS) or IMU sensor fusion (orientation from magnetometer/accelerometer investigations). IMU sensor fusion would be possible using the MPU9250, which has a magnetometer.
Best regards
Rene
Question
My question refers to the following papers:
1. S. J. Julier and J. J. LaViola, "On Kalman Filtering With Nonlinear Equality Constraints," in IEEE Transactions on Signal Processing, vol. 55, no. 6, pp. 2774-2784, June 2007, doi: 10.1109/TSP.2007.893949
2. A. T. Alouani and W. D. Blair, "Use of a kinematic constraint in tracking constant speed, maneuvering targets," in IEEE Transactions on Automatic Control, vol. 38, no. 7, pp. 1107-1111, July 1993, doi: 10.1109/9.231465.
In particular, my concerns are about the Fig. 1 of , the statements at the end of the left column in the page 2 of , and the statements in the middle of the left column in the page 2 of . In both papers, it is suggested to apply the constraints only after the update of the state through the measurements. Should be possible to obtain better results projecting the state on the constraining surface both after the prediction and update steps?
These articles might be useful, have a look:
Kind Regards
Qamar Ul Islam
Question
Hi,
I face the following problem:
I want to use a measured quaternion (from an AHRS) for the update within an UKF to update the attitude.
My state vector contains a quaternion, therefore I want to know, if I could calculate the Kalman innovation with the quaternion directly or do I need an alternative representation (Euler angles, orientation vector...)?
The problem with Euler angles is, that for the +-180° (South) direction, an UKF would spread its sigma points around a discontinuity. This does not sound harmless from my point of view.
Is there an elegant way to solve my problem?
Best regards
Maximilian
This is a strange question. You must use the measurement model, which relates your measurment to the state you want to observe.
Question
I am using a linear Kalman filter for estimating the position using multiple IMUs. My model is adding the accelerometer readings' double integration onto the previous positions. The state vector is the positions of the IMUs and the input vector is the IMU accelerometer measurements.
Also, I have some constraints in the positions and I am using those constraints in the correction step of the Kalman filter.
So in the tuning step, I set the R matrix zero so that the Kalman filter relies on the measurement only (so not use the aprior estimate at all). It works fine unless there is no input. However, if I introduce some acceleration to the system, even if I set the R=0 and Q very high, the Kalman filter still takes the contribution from the aprior estimate. The question comes at that point: what is the functionality to set R=0 if it does not disregard the model error?
Another approach to satisfy this behaviour comes from the Kalman gain calculation. As R goes to zero, the Kalman gain should approach to the inverse of the observation matrix (H or C) and so that the a posterior estimate approaches to the measurement. Since the H matrix is not a square and full rank matrix in my case, I cannot intuitively check where exactly the contribution of the aprior estimates take place even though I set the R=0. If anyone has any comments, I would really appreciate.
Theoretically, it is fine to have zero measurement noise. Even in R.E. Kalman's original paper (Kalman, R. E. (1960). A new approach to linear filtering and prediction problems), the algorithm is stated without restrictions on possible singularities of the measurement noise covariance. However, for practical applications, a singular noise covariance for the measurements can cause numerical problems concerning the invitation carried out for computing the Kalman gain. When considering anything besides a very simple academic example I would consider introducing noise on each measurement, hence prevent the measurement noise covariance matrix from being singular.
Hope this helps
Question
In a seminal paper titled "Posterior Cramer Rao bounds for discrete-time non-linear filtering" (Link: https://ieeexplore.ieee.org/abstract/document/668800/?casa_token=Ecgr8cQF6RUAAAAA:JtZ8OuUkQLyphtnQnot1ZPGlifREbS393Pg0TJ58J98IilZuIw6xSjS1Af1XDlLchlKMi8LoRfxfmAg), Tichavsky et al. have developed a recursive way to calculate the Cramer Rao bounds for non-linear filtering problems. However, in the paper, the state xk at time 'k' is a non-linear function of the previous state xk-1only and not on other previous states. Are there any similar works on CR bounds for filtering problems where the current state depends on all the previous states up to the given time instants i.e. xk is a function of x1, x2, and so on up to xk-1?
Question
I have seen an example of tracking position in one dimension using an alpha beta filter, and I have a similar problem in a different field. In the example the position is first updated via dead reckoning: New position = old position+ velocity times delta t. Then the new measurement is used to update both the position estimate and the velocity estimate using the alpha and beta weights. I would like to see this problem formulated using a Kalman filter. I think I can come up with the variance estimates required and prefer this to somewhat arbitrarily selecting alpha and beta weights. The change in velocity is a drift, i.e. not driven by any known input.
These links might be useful, have a look:
Kind Regards
Qamar Ul Islam
Question
I am familiar with the equations of basic kalman filter. I was reading a paper where the author's proposed a variant of kalman filter and in the prediction step they had more terms than standard kalman filter. I am referring to equation 10 of the paper "Vehicular Node Localization Using Received-Signal-Strength Indicator" where author has added a term gamma multiplied with dt^2
https://www.comm.utoronto.ca/~valaee/Publications/07-Parker-TVT.pdf. I understand the idea behind term. I do not how to justify the factor one can add new terms affecting the uncertainty of prediction step of kalman filter.
My specific question how can I justify or prove that the new terms in error covariance equation equation 10 (inside attachment as well is correct)
Hello Varun Garg,
Equation (10) is a result of the non-additive noise formulation for the EKF:
The usual simplification is to add noise to the state after the dynamic/prediction step. Often, we have a better knowledge where noise in the system is present (in the paper example the noise on the velocity measurement ist known). In such cases, you can use the non-additive noise formulation.
If you want to prove/check covariance equations in general you can refer to covariance computation rules:
The equations (9) and (10) of the paper calculate the expected value and covariance of the distribution propagated through the dynamic model (2).
Solving:
A_k|k-1=E(A_{k-1|k-1}+Ts * u_{k-1}+Ts w_{k-1})
P_k|k-1 = Cov(A_{k-1|k-1}+Ts * u_{k-1}+Ts w_{k-1})
, where E(...) computes the expected value results in (9) and (10).
Question
I was reading a IEEE transaction paper on how to calculate Measurement and Process noise matrix of the Kalman filter when they are unknown. The title of the paper was "On the identification of variances and adaptive Kalman filtering" by Mehra.
As shown in the attached image, In equation 4 of the paper, the term M0 exist on the both sides L.H.S and R.H.S sides of the equations. I do not understand why it is written in such a manner. Do I need to simiplify it to find the value of M0 or my understanding of the equation is incorrect. phi in the equation is a non singular transition matrix,
Dear Varun Garg,
I suggest you to see links and attached file on subject.
Question
I am researching UKF, and I would like to know where can I find performance measures of this. The system is a Chemical Process Plant.
Maybe you can consider the recursive least squares algorithm (RLS). RLS is the recursive application of the well-known least squares (LS) regression algorithm, so that each new data point is taken in account to modify (correct) a previous estimate of the parameters from some linear (or linearized) correlation thought to model the observed system. The method allows for the dynamical application of LS to time series acquired in real-time. As with LS, there may be several correlation equations with the corresponding set of dependent (observed) variables. For the recursive least squares algorithm with forgetting factor (RLS-FF), adquired data is weighted according to its age, with increased weight given to the most recent data.
Years ago, while investigating adaptive control and energetic optimization of aerobic fermenters, I have applied the RLS-FF algorithm to estimate the parameters from the KLa correlation, used to predict the O2 gas-liquid mass-transfer, hence giving increased weight to most recent data. Estimates were improved by imposing sinusoidal disturbance to air flow and agitation speed (manipulated variables). Simulations assessed the effect of numerically generated white Gaussian noise (2-sigma truncated) and of first order delay. This investigation was reported at (MSc Thesis):
Question
For the discrete-time Extended Kalman filter (EKF), a stochastic stability analysis is discussed by Reif et al. in their paper "Stochastic stability of the discrete-time extended Kalman filter" (https://ieeexplore.ieee.org/abstract/document/754809). Recently, there have been works on EKF with unknown inputs, in particular, for arbitrary unknown inputs. Are there any works providing such stability analysis similar to Reif's work available for these EKF with unknown input filters?
Yes, these articles might be useful to connect all the dots together, have a look:
Kind Regards
Qamar Ul Islam
Question
Online model updating can improve the prediction ability of the model. Unscented Kalman filter is used to update model parameters. I know it can be used when parameters are constant. Can I also use it to solve time-varying parameters? What's the alternative and what's the difference between online recursive least squares estimation.
The recursive least squares algorithm (RLS) which allows for (real-time) dynamical application of least squares (LS) regression to a time series of time-stamped continuously acquired data points. As with LS, there may be several correlation equations and a set of dependent (observed) variables. RLS is the recursive application of the well-known LS regression algorithm, so that each new data point is taken in account to modify (correct) a previous estimate of the parameters from some linear (or linearized) correlation thought to model the observed system. For RLS with forgetting factor (RLS-FF), adquired data is weighted according to its age, with increased weight given to the most recent data. This is often convenient for adaptive control and/or real-time optimization purposes. A particularly clear introduction to RLS/RLS-FF is found at: Karl J. Åström, Björn Wittenmark, "Computer-Controlled Systems: Theory and Design", Prentice-Hall, 3rd ed., 1997.
Application example ― While investigating adaptive control and energetic optimization of aerobic fermenters, I have applied the RLS algorithm with forgetting factor (RLS-FF) to estimate the parameters from the KLa correlation, used to predict the O2 gas-liquid mass-transfer, while giving increased weight to most recent data. Estimates were improved by imposing sinusoidal disturbance to air flow and agitation speed (manipulated variables). The proposed (adaptive) control algorithm compared favourably with PID. Simulations assessed the effect of numerically generated white Gaussian noise (2-sigma truncated) and of first order delay. This investigation was reported at (MSc Thesis):
Question
I want to use a EKF for parameter (p) and state (x) estimation.
I am currently not understanding the difference between (1) the formulation of the parameters as states:
x_new=[x,p] and using a normal EKF for estimating x_new
and (2) the formulation with a dual extended Kalman filter, where x and p are estimated individually.
Which of them provides more benefits?
I am very thankful for your tips.
The Kalman filter (KF) is a method based on recursive Bayesian filtering where the noise in your system is assumed Gaussian. The Extended Kalman Filter (EKF) is an extension of the classic Kalman Filter for non-linear systems where non-linearity are approximated using the first or second order derivative.
Question
Hi, I am currently doing a project which requires me to use Kalman filter to remove the noise in the speech. Now I am using 1D Kalman filter. Can I use Extended Kalman Filter or Unscented Kalman Filter for my application? Thanks.
With code matlab:
Speech-Enhancement-Kalman-Filter
Question
I am implementing an unscented kalman filter for parameter estimation and I found its performances strongly related to the initialization of the parameter to estimate.
In particular, I don't understand why if I initialize the parameter below the reference value (the actual value to estimate) I get good performances, but if the parameter initialization is above the reference value, performances are very low and the estimation does not converge but continues increasing.
In other words, it seems that the estimation can only make the parameter increase. Is there any mathematical reason behind this?
Dear Mr. Magnani,
I agree with Janez Podobnik. I assume you are using the Joint Unscented Kalman Filter for this purpose. In this case, the parameter is considered as a state and all the initial conditions, noise and measurement covariances will affect the estimation of the parameter. In 2019, I have proposed a different approach for this purpose and I am attaching the article link below:
The main advantage of this approach is you can determine weights for the measurements (a Jacobian approach) for parameter estimation. If one of the measurements significantly affects the parameter estimation, then, you can increase the weight of that measurement. The only drawback of this approach is that the estimated parameter must be linear in terms of measurements. The system itself can be a nonlinear system, but parameter(s) must be linear in terms of measurements. For frequency estimation, we have modified this approach with my colleagues (link below). In this case, the parameter is no longer linear in terms of measurements. However, we haven't tested this approach for other nonlinear systems in which the parameter(s) is nonlinear in terms of measurements.
You may try this approach and it can be useful for your aim.
Best regards,
Altan
Question
The Nyquist-Shannon theorem provides an upper bound for the sampling period when designing a Kalman filter. Leaving apart the computational cost, are there any other reasons, e.g., noise-related issues, to set a lower bound for the sampling period? And, if so, is there an optimal value between these bounds?
More samples are generally better until such point as the difference in the real signal between samples is smaller than the quantization or other noise. At that point, especially with quantization, it may be a point of diminishing returns.
The other thing that nobody mentions is that faster sampling means less real-time processing time. In many systems, it's not really an issue as the time constants of the physical system are so slow as to never challenge the processing. In others, say high speed flexible meachatronic systems, the required sample rates may challenge the number of processing cycles available to complete the task.
Generally, the best bet is to return to the physical system's time constants and (if possible) sample 20-100x as fast as them.
Question
I am looking for a complete solution for 10-DOF IMU Kalman Filtering (acceleration x-y-z, gyro x-y-z,magnetometer x-y-z,altitude).
I am interested in all example ,codes
Thanks for helping
Question
Consider a digital control loop which consists of a controller C and Kalman filter K, which is used to fuse and/or filter multiple sensor inputs from the plant and feed the filtered output to the controller. The prediction (or also called time-update) step of the KF, and the analysis and tuning of the control loop utilize a discretized state-space model of the plant, defined as
x_{k+1} = F * x_k + G * u_k,
y_k = H * x_k
where F is a transition matrix, G is the input gain matrix and H the measurement output matrix. For now I will ignore the process and measurement noise variables.
According to many text books about digital control and state estimation (for example "Digital Control of Dynamic Systems" by Franklin et al.), u_k = u(t_k), x_k = x(t_k) and y_k = y(t_k) are the control input, state and measurement output of the plant, which seem to available at the same point in time, t_k. This would mean that the output from the DAC of u_k, and sampling of y_k happen at the same moment in time, t_k. However this does not seem to hold for some classical implementations. Consider a typical pseudocode of a control loop below:
for iteration k = 1:inf
measurement update of KF x_k
compute u_k
output u_k through DAC
time update of KF x_{k+1}
wait for next sampling moment t_{k+1}
end for
Ignoring the time durations of the DAC and ADC processes, the description above will introduce error in the prediction step of the KF, because it is assumed that the value u_k is actuated at the same moment of time that y_k is sampled - t_k. However due to the time delay introduced from computations of the update step of the KF, and the controller this is not the case. If we define s_k to be the time when the value u_k is actuated, then clearly t_{k+1} - s_k < T, where T is the sampling period. It is clear that the prediction step no longer computes the predicted state correctly because it either a) uses the old actuation value u_{k-1} or b) uses the newly actuated u_k, and in both cases the time between actuation and sampling is equal to the sampling period, assumed in the model.
This leads me to believe that the control value u_k should be actuated at time t_{k+1}, to keep consistency white the sampling period and the prediction model.
Also consider the case when the KF's prediction and update steps are executed before the controller during iteration k. Then the prediction step clearly makes use of u_{k-1} to compute a time update x_{k+1} of the state. This also seems to contradict the original definitions.
So with all these assumptions laid forward, I would like to know what are the correct sampling and actuation times, and why such ambiguity exists in modern literature about such hybrid systems.
NOTE: Some of you may say that the definition holds for small sampling periods and when the computations are fast. However I consider the general case where sampling periods may be very large due to the computations involved in the control loop.
nice question.
Question
Hi,
I am doing a project related to estimate a state variable from different sensing channels, and these two channels contain different measurement sampling rates and delays. I would like to use a modified Kalman filter like sequential processing first proposed by Alexander, but I did not how to do the Lyapunov-method-based convergence analysis. Could anyone give me some suggestions for this proof?
Also, I try to combine this observer with an adaptive impedance controller and analyze the hybrid stability, but I am not sure how to do the proof.
Thanks a lot for any suggestions.
Best regards,
Qiang
You need to distinguish between different sampling rates and delays. Regarding the sampling rate, you may be interested in the following paper:
However, regarding delays, it might break the Gauss-Markov process assumption of the Kalman filter. Hence, I'd check the observability rank and find conditions to promise it is a full-rank (or any defined rank).
Question
Hello,
using Cholesky decomposition in the UKF induces the possibility, that the UKF fails, if the covariance matrix P is not positiv definite.
Is this a irrevocable fact? Or is there any method to completely bypass that problem?
I know there are some computationally more stable algorithms, like the Square Root UKF, but they can even fail.
Can I say, that problem of failing the Cholesky decomposition occurs only for bad estimates during my filtering, when even an EKF would fail/diverge?
I want to understand if the UKF is not only advantagous to the EKF in terms of accuarcy, but also in terms of stability/robustness.
Best regards,
Max
If I understand your question correctly, it concerns not the initial covariance matrix rather the updated covariance matrix you get at the end of each Kalman iteration.
If such a condition arises you may use Higham's method to find an approximate positive-definite covariance matrix.
Reference:
Computing a nearest symmetric positive semidefinite matrix - ScienceDirect
Question
Hello,
I'm currently working with a system consisting of an accelerometer, that samples in bursts of 10 seconds with a sample frequency of 3.9 Hz, before going into deep sleep for an extended (and yet undetermined) time period, then waking up again and sampling for 10 seconds and so on.
I've recently taken over this project from someone else and I can see that this person has implemented a Kalman filter to smooth the noise from the accelerometer. I don't know much about Kalman filters, but to me it seems that the long deep sleep period would make the previous states too outdated to be useful in predicting the new ones.
So my question is: can the previous states become outdated?
The application of a Kalman Filter requires four models:
1. Measurement model, expressed by the Jacobian of the measurement variables in respect to the state variables. (H)
2. The measurement error model (R)
3. The state model, which allows to extrapolate the state to the future (F)
4. The state error model which allows to model the unpredictability of the state extrapolation. (The degree of a deviation of the state from the prediction for whatever reason) (Q)
For the exact mathematical meaning of H,R,F,Q refer to Wikipedia: Kalman Filter.
Question
Hello everybody , I'm looking for a method able to create a transition matrix for my linear kalman filter. I need to work on the heading of a Pedestrian Dead Reckoning experiment. in my state vector I thought to insert the angular displacement referred only to the last sample . In my mesurement vector instead I thought to insert the gyro data. Somone can help me?
You can record GPD data through OSM tracker application. For Transition matrix study https://www.youtube.com/watch?v=CaCcOwJPytQ&list=PLX2gX-ftPVXU3oUFNATxGXY90AULiqnWT&ab_channel=MichelvanBiezen
Question
As all of us know Kalman Filter is designed for LTV (Linear Time Variant) systems. But no body in the literature applies that on Hybrid systems. In my opinion Linear Hybrid systems are a subset of Linear Time Variant (LTV) systems, So my question is why don't people use Kalman Filter for Hybrid systems with linear modes and resort to robust estimation approaches?
Dear Navid Hashemi,
There are works that consider this application to be a Hybrid system thus taking into account the robustness aspect, here is a references :
In my opinion one can consider the LTV system as an LPV system and have several models and then deal with the issue with a De Kalman filter bank.
Best regards
Question
I would like to implement a Kalman filter for tracking applications for IoT nodes. I cannot do floating point on our nodes but only fixed point.
Could you recommend some good references?
Hello. Your question lacks detail. If you are implementing a Kalman filter in a multi-sensor network, then it probably is not a Kalman filter, but some form of information fusion across mulitiple sensor nodes. The fact that you wish to use fixed point arithmetic suggests that you are seeking to create local state and covariance estimates at each node and share these estimates. Possibly you wish to fuse them into a global state estimate. These are all design decisions that impact overall system performance and local/global processor requirements.
If you really are doing local (node-based) state estimation, rather than just transmitting raw measurements to a central processor, make sure you use a square root filter or you will lose a lot of numerical precision. The original reference for square root filtering and smoothing is G. J. Bierman's 1977 book "Factorization methods for discrete sequentiall estimation." There are other books that deal with specific multi-sensor tracking problems. Have a look at the Artech House library catalogue.
Question
Hi community,
I am new in the domain of Data Assimilation. I am trying to understand the process of Joint state and parameter estimation using Kalman Filtering approach; especially how the parameter(s) is estimated.
I understand that state variables are updated ta each time step using an updated Covar. matrix and Kalman Gain and then doing some matrix operation. However, what about the parameters. Is it affected by Kalman gain and/or Covar. matrix? I know that parameter at a new time step is calculated = previous time step parameter+ some noise. So, how does this noise evolves/changes/affacted by Kalman gain as scuh. I have tried to read different other papers, but couldn't find a definite answer.
To summarize my question, I guess I am looking for the detailed steps to estimate parameter.
Dear Shah Mahmood,
You should augment your states vector with the parameter you need to estimate. Then your EKF/UKF will deal with this augmented parameter as a state, and the estimation-prediction process is kept unchanged (I mean the steps are still the same). However, you need to linearize your A and C matrices with the new augmented model, at each iteration... You should also update your SS matrices in the case of the joint states-parameters estimation.
For more details, you can check my work.
Regards,
Question
I currently have the assignment to make a small demo for a specific algorithm, here we want to explain the Kalman Filter in its basic form. Sadly we havent really found any " noob friendly " examples and are trying to just jump ahead in other peoples code and trying to reverse engineer it.
Here in the dlm package on R, we've found the variables GG, FF, c0, CO etc. being used in the dlm function. Altought reading page 7 ( https://cran.r-project.org/web/packages/dlm/dlm.pdf ) these variables arent really explained and i would like to know what these mean. Or are these random variable names to use the algoritm with. This is the first day of the assignment, if anyone has any tips how to approach this or a easy "noob " friendly R language based example please do reffer this to me.
Many thanks!
The DLM part of the Kalman filter isn't a big deal, because the estimator can accommodate linear time-varying systems. To interpret the variables is to look at what is happening with their covariances. If one is concerned with position and velocity, then error ellipsoids are also useful.
The idea of the Kalman filter is easy: One models the physical process with an equation that propagates the covariances (second moments) over time. Then one applies Baye's rule to obtain the conditional mean given the measurements to correct the estimate for a measurement. That's it !
Question
I am trying to implement Kalman filter to get rid of multipath error points on GPS data while my data contains Latitude, Longitude, accuracy, altitude, speed and time. I am using python but unable to figure out how can I choose parameters for solving this issue.
Guidence will be very much apreciated.
Why not learn the parameters from some training data
Question
Is it theoretically possible, that after discretization by using Talyor Series Expansion, a non-observable nonlinear system will became an observable?
It was proved, that used continuous model of PMSM is non-observable (see attached). I want to know, if resulting discrete system is observable or not. Any comment appreciated. Thanks.
Question
LMMSE estimator and kalman filter
which of this estimator achieve more performance in FBMC?
For Gaussian noise and linear models, the Kalman filter is optimal in the sense that it correctly calculates the posterior distribution and attains the minimum achievable matrix mse. For non-Gaussian noise, but linear models, the Kalman filter (and the lmmse approach) achieve the matrix mse given by. However, calculating the conditional mean would yield an error smaller than, or equal to, the matrix mse. For nonlinear models, the Kalman filter cannot be used. Nevertheless, the lmmse approach can be used; it gives the best estimate linear in data and achieves the matrix mse given by.
Question
I want to understand the overview of Kalman filters and what purpose do they serve. I am trying to leverage this platform as I am not sure about other authentic sources on the internet to get this information. Please suggest one if you know. On another note, if I have a signal that is a mixture of various frequencies; can Kalman filter be used to extract the DC or average value of this signal? Please let me know how does it work. Thanks in advance.
Early literature of Kalman filtering refferes to two steps of Kalman filtering as predicition and correction step. Using wording “prediction step” has led to a common misunderstanding among engineers and researchers that Kalman filter can also be used for prediction. Hence, in recent literature the term “prediction step” was replaced with term “process update step” and “correction step” was replaced with “measurement update step”, which is more correct.
The point of Kalman filter is not that it can remove high-frequency noise, the point of Kalman filter is that you can estimate quantities that you cannot measure directly, but you can measure other quantities that are affected by the quantity that you would like to estimate, but cannot be measured directly. Or maybe you can measure it directly by using different sensors and you would like to combine all the measurements to get better estimate. You can also have situation where you can measure on quantity directly, but the measurements are inaccurate (drift, noise, random errors), and you can also measure other quantities that that are affected by the quantity that you would like to estimate and have other sources of errors. Then you can combine all the measurements and get estimate that is less affected by the errors, because you have available a lot of information from various sources.
Question
In case of blind equalization, information about reference input is not available. Thus channel modeling using NLMS, RLS or even Kalman filter is really difficult. Because weight update needs the information about desired or reference input.
you can take the simplest one NLMS combined with a Blind Source Separation, it give a better performances, instead of using only Adaptive filter.
Question
the error convergence matrix in Kalman Filter provides the convergence of the filter. In similar war, how the convergence of the Complementary Filter can be obtained?
Compute the white-noise gain (WNG) of the filter. Do this in either: In the (discrete) time domain, as an infinite summation of the squared impulse response, over m = 0...Inf; or in the (continuous) frequency domain, as an integral of the squared magnitude of the filter's frequency response, over -pi...+pi. They give the same result (the WNG). In the latter case, you will need to divide the result by 2*pi. Assuming the steady-state bias is zero (because you have matched your filter model to the signal) WNG*var_mes is the variance of the estimate output by your filter at steady-state, i.e. after the filter has converged, for an input signal that is corrupted by additive white noise, with a variance of var_mes. It need not be Gaussian noise.
Question
Dual control in Stochastic optimal control suggests that control input has probing action that would generate with non zero probability the uncertainty in measurement of state.
It means we have a Covariance error matrix at each state.
The same matrix is also deployed by Kalman filter so how it is different from Dual Control
Dear Sandeep,
These are the dual objectives to be achieved in particular, a major difficulty consists in resolving the Exploration / Exploitation (E / E) compromise.
Best regards
Question
In the paper "Magnetometer-Only Attitude Determination Using
Novel Two-Step Kalman Filter Approach" in equation 19 do I need to complete quaternion multiplication first and then do simple mathematical finite differencing or it is in other way?
Hi,
In fact the matrix H is not explicit in equation (19), it is present in the equation giving the estimate and the covariance which are then updated using equations (5).
Best regards
Question
Hi.
I'm modelling OFDM rayleigh fading channel, and I want to trace channel state information with Unscented Kalman Filter through MATLAB. I'm using autoregressive model to construct the filter.
I have no problem with creating state transition function for first order autoregressive model (AR(1)). But when it comes to second order AR(2) , I don't know how the create state transition function.
I can create state transition matrix A as shown in the picture. Kalman filter needs to reach 2 previous state at once. So how do I construct the filter?
By the way, I edited the example in the link below:
Question
I am looking for a MATLAB code to implement channel prediction or channel state information (CSI) using a Kalman filter-based approach. Specifically, for a MIMO environment.
Question
suggest me literature regarding this topic and the gaudiness to start my thesis
hope for good response...
Question
Hi everyone,
I have implemented an EKF in a power systems application. When I run a simulation in Matlab, in some iterations of the filter I get a Kalman gain matrix (K) with negative values and/or absolute values greater than 1. In some books I have read that the Kalman gain is a real value between 0 an1.
Is this correct ? Or is it an indication that something wrong with the Kalman filter?
I have another opinion though I am not certain and welcome any corrections.
I think only the Kalman gains that correspond to measurable states are between [0 1]. Those states that are not directly measurable could have Kalman gains beyond [0 1].
Question
I started to learn the Kalman filter. However, I couldn't understand its' difference with the feedback/feedforward control system. Ultimately both systems are used to minimize the errors between the measurement and estimated state.
Kalman filter is an optimum observer. It is not a controller itself. Think about a feedback control system. You have five state variables and you are getting the measurement of only two variables. You can use the Kalman filter to estimate the whole states. It is a model that measured outputs and control enters into filter and the estimated states computed.
Question
Hi,
I have an implementation of Kalman filter for a tracking problem, with constant acceleration model. In this model:
My State Matrix is:
x = [x, y , Vx, Vy, ax, ay] ;
My measurement Matrix is:
Y = [x' , y', Vx', Vy'];
I am putting the following as my Measurement Covariance matrix:
R = [r11, r12, 0, 0
r21, r22, 0, 0
0, 0 , r33, r34
0, 0, r43, r44];
Sometimes I have my measurement Position (x',y') that is not sometimes not so perfect. One solution is that:
- if I put a high Measurement Covariance on Position [r11, r12, r21, r22] then I can avoid a big effect on my filtered output, but it will effect both Position and Velocity.
What my problem is, that: I want to separate the Position and Velocity under certain conditions, which essentially means that I want my Position measurement (x',y') to not effect my Filter velocity. The filter should be updating the Position and Velocity Separately.
Is there a good way to do that?
I am trying to put the measurement covariance matrix on "Top Right" and "Bottom Left" but that ultimately makes my filter more unstable. Any ideas here?
Bar-Shalom, Y., Rong Li, X., and Kirubarajan, T., Estimation with Applications to Tracking and Navigation, John Wiley 2001.
Hari Hablani
IIT Indore, Indore, India
Question
I am using Kalman filter to filter out noise from PMU data for load parameter estimation. I am successfully able to filter out noise by hit and trial (Tuning values of R and Q). I am interested in knowing if there is anyway I can automatically tune the parameters of Kalman filter once I get a window of PMU measurements.
Dear Hur Rizvi,
I suggest you to see link and attached files on topic.
Best regards
Question
Dear friend,
These days, I'm trying to finish my Ph.D. in electrical engineering (control engineering). I'm specialized in Extended-Kalman fitter application, fault detection, neural network, digital transportation, digital twins and machine learning respectively. It is necessary to say that, my thesis about industry 4.0 at pipeline performance management (software). I'm enthusiastic to join a team for my postdoc. And I struggle to study at the edge of science topics for my postdoc.
Would you help me please to join in the on the team for my postdoc, study abroad or a way to join in this kind of program?
Post doc is for those whose Phd is weak.
I suggest to look for some Entrepreneurship in your domains of interest
Question
I have a human skeletal data for 25 different joints from a depth sensor camera (Kinect) while performing a lifting work. But the data has some noise and inferred data due to occlusion. I am trying to use Tobit-Kalman Filter for data processing but could not figure out how to get the co-variance of process and observation noise for my data? I read multiple papers regarding the use of Tobit-Kalman Filter for processing Kinect data but could not find an in-depth explanation of the process involved. Can anyone help me out with my problem?
Thank you.
Question
Hi. I have read in several articles that it is possible to improve the performance of the Kalman Filter using neural networks to dynamically change the filter model, thus adapting it to the non-modeled variations of the system with greater efficiency.
I have the Kalman filter working correctly, but I don't know how to incorporate the information provided by the neural networks, nor with what parameters to train them.
I am a beginner in the subject and would appreciate some advice on how to implement this at a simulation level in matlab.
Question
How to design the Kalman filter for closed-loop boost converter?
Hello dear
Question
Dear friend,
These days, I'm trying to finish my Ph.D. in electrical engineering (control engineering). I'm specialized in Extended-Kalman fitter application, fault detection, neural network, digital transportation, digital twins and machine learning respectively. It is necessary to say that, my thesis about Industry 4.0 at pipeline performance management (software). I'm enthusiastic to join a team for my postdoc. And I struggle to study at the edge of science topics for my postdoc.
Would you help me please to join in the on the team for my postdoc, study abroad or a way to join in this kind of program?
Hi Syed Ali,
You may follow: https://www.timeshighereducation.com/ which for all PostDoc jobs and my be helpful for you.
Good Luck
Ali
Question
Dear Community, I am wondering if there are articles/books/references proposing implementations of Kalman Filters for positioning based on a single accelerometer ? (no GPS, no camera, no gyro, no odometery...)
thank you Mohammed Aftatah
Question
For example, I need to estimate the state (position, speed, acceleration) of a vehicle, but I can only observe the its position inaccurately. The problem is, without knowing the speed, I cannot update the state for the next time point. If I calculate the speed using the position difference between 2 time points i.e. v_t=(p_t-p_(t-1))/(delta t), the estimation becomes very unstable: if one estimation has a large deviation, the speed would also deviate from the real one, so the forecast of the next time point is even more inaccurate.
Does any one have any good ideas? Thanks in advance!
Do you try using another version of Kalman filter?
Question
Hello all,
I have a question regarding the implementation presented in paper titled "Real-Time Metric State Estimation for Modular Vision-Inertial Systems" by Stephan Weiss.
at Epoch 1: The monocular visual odometry starts at origin like IMU (both are aligned with world coordinate system).
Epoch 2 is shown below, where visual odometry moves along Z-axis (in world frame), IMU moves along X-axis (in world frame) and the position of Camera (in world)
The update & correction will be visual frame (which moves along Z-axis).  For fusion to be successful, If we transform the visual odometry to IMU frame then they will be pointing in the same direction.
Then our measurement vector Zp would also change or we use the same formula as in the paper?

consult this work: Filtre de Kalman discret à la modélisation HydrologiqueFebruary 2019
Publisher: Editions universitaires européennes
ISBN: ISBN13: 978-613-8-46494-5 ISBN-10:613846494X
Project:
Multi-site modeling and prediction of annual and monthly precipitation
📷Samra Harkat
Question
I have a basic doubt in statistics.(I am working with kalman filter)
Lets say i get a state variable 'Xt' for each time instance t as the kalman filter output.And for each time step, i also have a ground truth 'Yt' from an expensive sensor.
So,
Yt=Xt+ Nt , where Nt is the noise with covariance P.
I have the complete csv data of Yt and Xt measured for every time stamp. How can i evaluate the covariance P from the data?