Science topic
Extended Kalman Filters - Science topic
Explore the latest questions and answers in Extended Kalman Filters, and find Extended Kalman Filters experts.
Questions related to Extended Kalman Filters
Hello everyone,
I have experience in UKF but seem that when involve to EKF, things start to out of the track!
I followed the instruction on Wiki of EKF about Discrete-Time predict & update equations but have a struggling with Sk.
Based on my application of Parameter & State estimation of Mechanical System , my State Equation (4 disp, 4 velo, 4 stiffness, 4 damper) is 16x1 so the Initial Covariance Matrix is 16x16.
However, the Measurement Equation (4 disp, 4 velo, 4 accel) is only 12x1 so the Transition Measurement Matrix is only 12x12
So it is IMPOSSIBLE when I try to use: Sk = Hk * Pk * Hk^T + R -> I can't calculate Sk because (12x12) * (16x16) * (12x12)^T is non-sense!
Can you please point out the reason for this issue?
I would be appreciated if you can help me find a more possible way to do this!
Thank you & wish those who care have a nice day!
#EKF
I am working on an error state extended Kalman filter for navigation using IMU and DVL.
What kind of sanity checks are you using to test your filter?
In the strong tracking extended Kalman filter algorithm, it is required to introduce a fading factor lamda>=1 into the predicted state covariance matrix. However, when I tried, I found that as long as lamda>1, the estimated state quantity would diverge.The figure 1.1 has no fading factors.The figure 1.2 has.


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!



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?
Hello. Do you have recommendations as to how I can compare the extended Kalman filter and particle filter as fair as possible?
Hi there,
I am currently working on a paper that discusses satellite attitude control and extended Kalman filter. I am interested in submitting this paper for publication and was wondering if anyone has any suggestions for journals that have announced a special issue for this type of research.
Any recommendations would be appreciated.
Thank you!
I'm studying the topic from Probabilistic Robotics by Thrun Burgard and Fox.
In the Extended Kalman Filter algorithm, we linearized the action model in the following way.
𝑔(𝑢(𝑡),𝑥(𝑡-1)) = 𝑔(𝑢(𝑡),𝜇(𝑡−1)) + 𝐺(𝑡)⋅(𝑥(𝑡−1)−𝜇(𝑡−1))
𝑔(𝑢(𝑡),𝑥(𝑡-1)) is the action model and 𝐺(𝑡) is its Jacobian matrix with respect to the state 𝑥(𝑡−1).
I don't see how this guarantees linearity because 𝑔 could be nonlinear in 𝑢(𝑡). The authors don't mention anything about why this is the case.
In other words, I imagined that the multivariate Taylor expansion for this where we get a linear function in both 𝑢(𝑡) and 𝑥(𝑡−1)
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?
I’ve linearised about my current state estimate with my equations that relate my measured variables to the states. But I think I must be missing an equation or setting it up wrong because the dimensions of my matrices being concatenated are not consistent
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?
if possible please send me to mahe.nani64@gmail.com.
thank you
Sensorless Control of a Doubly Fed Induction Machine Based
on an Extended Kalman Filter
Improved Sensorless Control of Doubly Fed Induction Motor
Drive Based on Full Order Extended Kalman Filter Observer
I am doing a project on Development of Control and Protection techniques in AC Microgrid . So I need simulink model of PMU to measure positive sequence components of three phase voltage and current.
What is the importance of representing the frequency normalized of digital filter design with an optimization algorithm?
Most of the time, the reviewers state that there is no need for these shapes (like Frequency Normalized, Magnitude response, ele. )and what is important is only the Paul-Zero diagram.
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
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?
I am working on a project wherein I need to implement a combination of a deterministic algorithm such as TRIAD or QUEST along with EKF to determine the attitude of a Satellite in Space. Any good papers/thesis that explains and lists out the steps to implement the EKF?
Thanks!
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?
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.
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
This is just a novice question from somebody who just got into this topic. Can the application of Scale-Invariant Feature Transform be combined with extended Kalman Filter?
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?
I'm trying to control the rotor speed of an induction machine using indirect rotor flux orientation of vector control.
I am using a Recurrent Neural Network trained with Extended Kalman filter algorithm to estimate the rotor speed in order for the reference speed to track the estimated speed.
Please I'll be glad for your assitance.
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.
suggest me literature regarding this topic and the gaudiness to start my thesis
please.....!
hope for good response...
Hello
Good Day and Happy New Year !!!
I am facing problem to write MATLAB code for estimation of SOC (state of charge) of lithium-ion battery cell of 3.7 V_nominal and 15.5 Ah in real time using EKF(Extended Kalman Filter) with the covariance, and other measurement and observation noises terms. Could anyone please guide me how to solve my problem in estimating SOC of li-ion battery.
Thanks.
I am currently working on the SOC estimation model. I am simulating the model but it is showing the error in the Extended Kalman Filter block
Error in default port dimensions function of S-function 'trial_16march/EKF'. This function does not fully set the dimensions of output port 2.
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?
I’m trying to implement EKF in my Real-time hand motion capturing algorithm. I have surveyed some paper or source code, but I can’t understand how to define a correct x state. Someone define [velocity(X);position(X);velocity(Y);position(Y)] or [acceleration(X); acceleration(Y)]in X state matrix. However I can't confirm if they are suitable for my system.
Could anyone tell me how to choose a correct X state matrix?
Some information
Input data: 3D acceleration (x,y,z).
State model:
Xk = AXk-1 + wk-1
Zk = HXk + vk
wk-1 and vk are Gaussian white noise.
I am implementing the extended kalman filter for battery soc estimation using a state space model in simulink. The output equation has the open circuit voltage as one of the terms. This open circuit voltage is a function of battery SOC. So I want to understand how can we calculate the derivative of OCV with respect to SOC
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?
Dear friend
I want to design software for measuring the valuable information (pressure and flow) of the pipeline to detect faults like corrosion and leakage.
I'm working on the algorithm that used for extended kalman filter for pipeline leak detection systems.
I follow the low-priced method to design this kind of hardware for pipeline fault detection. Could you tell me some approaches to designing? Which instrument need for fabrication which doesn’t need expensive devices?
Thank you for your consideration
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...)
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?
Thank you very much for your suggestions and answers in advance.
I do need an open-source software to validate my (extended kalman filter) EKF code results in GPS/INS integration. Please help me. “Waypoint inertial explorer” is an excellent choice. Unfortunately, it is too expensive to buy.
For extended Kalman filter, we need to do matrix differentiation for converting the non linear system to a linear system using first order Taylor approximation
Dear colleagues,
the majority of EKF/UKF implementations for speed sensorless control of PMSM are in alpha,beta frame (i.e. observer is implemented in stationary frame). I wonder why? Equations in dq fame are much more simpler, so the computational requirements should be lower. Is there any evidence that observer doesn't work implemented in dq frame?
Hello all,
I have a question regarding the square-root Kalman Filter section of the Wikipedia article about Kalman filters (https://en.wikipedia.org/wiki/Kalman_filter).
The text reads as follows:
"Between the two (regular square-root implementation), the U-D factorization uses the same amount of storage, and somewhat less computation, and is the most commonly used square root form."
I see that they need the same amount of storage, but I don't understand why the U-D should is computationally more efficient (in which step do we same computations?).
Furthermore, is the U-D form really the most commonly used from? I mostly saw papers using the standard Cholesky decomposition.
And last but not least, what properties does the state space model need to have (I guess badly conditioned covariance matrices among others) in order
for standard Kalman filters and smoothers to fail?
For which type of concrete problems (examples?) are those square-root filters used?
Thanks a lot in advance!
The problem's objective is to estimate the current flowing through a transformer. In the ekf block, when I add my jacobian files , the values are reaching infinity and when i switch jacobian selector off and let the computer compute the jacobian numerically, the ekf block is just tracing the measurements that are being fed to it. What might be the problem. any solution??? Will doing it in matlab be more comfortable than simulink
I need to apply a Kalman Filter for System Identification. The function can be of the forme.g. A*cos(omega*t-phi)1. I was not able to fit the data by a Kalman Filter while something like A*((t-tau)/T)^alpha*exp(-(t-tau)/T) seems to be managable (it just requires sometimes lots of iterations). Is there a criterion/rule of thumb/etc. that states for these kind of nonlinear functions it works/likely works, ...
Thanks in advance.
I'm designing an extended Kalman filter observer in a control system. In the control system, there is an MPC controller.
Do states, inputs, and outputs used in observer have to be the same as states, inputs, and outputs used in controller in the same control system?
And, should I choose the inputs from variables that I can control only? Or can I choose any variables from state equations that is not a state to be the input?
Thank you in advance.
In the Kalman filter method, the posterior estimate will be calculated based on a-priori state estimate and the ratio of current measurement error (Kalman gain). Now if the forward model is not accurate, for example we change the input matrix by multiplying a gain, why the Kalman gain remains the same for all values of the gain?
Hello,
I am using a Kalman-Filter for a System with a watertank . Theres a known voltage input signal U_pump, that is used to control a waterpump. The waterpumps flowrate is proportional to the voltage U_Pump, so the relationship between U_Pump and the flowrate Q is Q = K * U_Pump.
As you can see, this is just a very easy model and probably not very accurate. So I have a Sensor, and want to decrease the uncertainty in this model by using the sensor to update the flowrate Q.
Therefore I have set Q as a state.
So the Differential Equation for the Flowrate Q is.
Q_dot = 0* Q + 0*U_Pump;
with A = 0; B = 0;
Because Q_dot is just the Rate at which Q changes over time, I cant put the K * U_Pump in there.
This means, in the discrete form:
Q_k = Q_k-1, which is a static model for the Flowrate Q, although I have the model Q = K*U_Pump
So my predicted Measurement of Q with the Kalman-Filter is just
Q_k_predicted = 1 * Q_k-1; which is not correct when I am adjusting the Voltage U at this timestep, therefore I can only use this for a static Voltage.
So is there a way to update U_Pump with the sensor value, or is there non?
Hi, my Extended kalman filter (EKF) program works well, my estimated state vector is same as real state vector when I give any positive definite number to measurement noise R, even though I gives 10^ -14 to R. But I want to make covariance analysis and one part of covariance analysis I need to set zero measurement noise. When I do this, I get singularity warning from K= (H*P*H'+R)^-1 (kalman gain part of measurement correction part of EKF). I checked eigenvalues and rank. When I get R=0, some eigenvalues becomes negative a few seconds later and rank is decrease from 15 to 1. When I get R>0, all eigenvalues are positive definite and rank goes to 15 to 7. How can I solve problem, I can not detect cause of this problem. Could you help me please?
Currently i am working on tracking the pose of a 3D object. I applied linear kalman filter and it works fine but not very good so i am working with extended kalman. According to many literature i need some non linear functions f(.) and h(.) but it is not very clear on how to model those functions. i want to track 6 dof with ekf.
Does anyone have an idea on how to model those functions ?
On what basis should i model it ?
I need non linear state transition function. x has variables: X, Y, Z, velocity_x, vel_y, vel_z, acceleration_x, acc_y, acc_z, roll, pitch, yaw, angular_vel_roll, ang_vel_pitch, ang_vel_yaw, ang_acc_roll, ang_acc_pitch, ang_acc_yaw.
Thank you for your recommendations and solutions.
I have implemented an EKF to estimate the dynamic state of a synchronous generator in Matlab/Simulink. The model of the generator is a 6th order sub-transient dynamic model. Ignoring the effects of saturation in the machine, I can achieve a good performance of the EKF. However, when I simulate the behavior of the machine including saturation, it results in an steady state error in my estimates.
How could I account for the effects of saturation in the estimation process? Or how could I reduce the steady state error when including saturation in the machine.
Hi,
working with extended and unscented Kalman filter brings me to the question, how I can compare them in simulations as fair as possible.
My first intent was to choose the process noise matrix Q and measurement noise matrix R for both filters in the same way.
I found out, that my UKF works much better for 10*R, while the EKF is more accurate for 1*R. I do offline simulations for a navigation problem, using measured IMU and GNSS data.
My feelings says me, that even for same noise matrices, the comparison is not as easy as I thought, because of the sigma points building procedure and so on...
I found that paper:
which says that EKF can perform better covariance estimations in certain regions (higher mean estimates).
Has somebody some tips for me, regarding that topic?
Best regards,
Max
Hi to everybody
I'm new about this topic and i want know how i can implement a extended kalman filter in simulink to estimate the state of charge of a, for the moment, generic battery.
If you can send me some steps that i have to follow or an easy example.
thank you
Trying to understand the Kalman filtering with all these example of the EKF and is it properly done ?
I ntend to work on fault detection of robotic systems with kalman filter implementaion how difficult will it be for me to complete the task?
Regards
Hello,
I am making a simulation to determine Orbit determination for Space Objects so that I am changing the parameters in simulation by automatical and I need to validate the filter is worked and the estimation result is ok. I know state vector of object and covariance so that I need to establish a relationship between state vector and covariance result. Normally, we expect state vector result should be under the covariance( 3-sigma). For example, I have 100 step filter result for state vector and covariance and I want to print only one value to give a decision for the estimation worked fine. I have one idea but How much is correct I dont know! I can take average of state vector and covariance and ....RESULT= sqrt(X^t*inv(P)*X).... X=> state vector average, P is covariance average.
EDITED:
I dont have reference state because I have real data and other thing is if I am working on Weighted Least square Filter, How can I find (HPH'+R)?
Yours Sincerely
I found out, that the linearized (error-state space, indirect...) Kalman filter estimates the error, made by linearization.
Furthermore it linearizes also the state itself and not only the Covariance matrices as the extended Kalman filter does.
What is the benefit of using a linearized Kalman filter compared to the usage of an extended Kalman filter? Does this "error-state space" formulation comes with advantages or is it just an alternative representation?
Regards,
Max
I am trying to find Optimum data interval for orbit determination. Because in Leo, Geo orbit update measurement data can be different so that I want to implement optimum data interval algorithm for Orbit determination. I found one thing for that LUPI algorithm but haven't still found more details about LUPI algorithm. Which kind of algorithm can use in Geo, MEO, Low orbit? Because Atmospheric drag and solar radiation is really important sometimes not need to update frequently the measurements. LUPI algorithm is mentioned in 'Conjunction Assessment Risk Analysis M.D. Hejduk NASA CARA Collision Avoidance “Short Course” Part I: Theory'
EDITED: I reached the author so that not possible to see LUPI algorithm. If you have experience about ODI(Orbit determination Interval), please, give an idea.
Are there any conditions under which the EKF performs better than the EKF or do both have a comparable performance?
Hello everyone,
I am a little stuck with my Extended Kalman Filter. I try to estimate the attitude of a satellite based on the angular rate and quaternion. I also have the magnetic field values in body and ECEF frame.
The problem is my measurements (angular rate, quaterninon, magnetic field)) are available every 60 sec. and I would like to reconstruct the state every second.
However, I can have the position at every seconds.
Do you have any advice on how estimate the attitude please ?
Thanks a lot :)
Hello,
I am working on Square Root Information Filter. My question is about process noise because I have already known the process noise for SRIF but I am not using Gamma*u for state propagation.But I can assume Gamma is 1 because I know the process noise. The question is, How can I determine 'zu'. Process noise(Q)=R^-1u*R^-Tu
Also, How can I determine initial 'zu'? In my opinion, I will accept the 'zu=0'. Is it correct?
I attach a pdf for information but I think the equation 7 is not correct in chapter 2.1.4.
Covariance Propagation=> P(k+1)=Phi*Pk*Phi^T
| Ru 0 zu,k | | Ru,k+1 Rux Zuk_bar |
| -Rk+1Gamma Rk+1 zk_hat | | 0 Rk+1 zk+1_bar|
I have written the code for Extended Kalman FIlter in Matlab for SOC estimation of a battery.
The problem is that the state estimation is not working, and the filter takes a constant value through out the number of iterations.
So far, I have made certain modifications but the filter just seems to be unresponsive.
I am attaching the corresponding .m file and excel files.
Any leads would be appreciated.
Do you have any SRIF example code or Can you send any link about that?
hello sir,
i am estimating state of charge of lithium-ion battery. i am using 2RC electrical equivalent model in Simulink and extended kalman filter model. i am facing problem in state function and measurement function. kindly help
I am currently working on a research where I can apply Kalman Filter in optimizing Ecognition's Multiresolution Segmentation results. By finding the right weights / parameters, I think. However, I find it hard to find a guiding reference where I could apply Kalman Filter.
Now, I am currently working with table consisting of sets of parameters / weights run through the multiresolution segmentation algorithm, and with a column of their specific error rates (with a certain reference).
Do you think it's valid to use linear regression to find an equation to represent these results / data? in order to find weights where the error will be near zero?
Can I apply Kalman filter before or after linear regression? May it be a help for finding coefficients for linear regression? Or for finding optimal weights with the equation after linear regression?
*note: I will use the Multiresolution Segmentation in Trimble's eCognition Developer software. Not in matlab / python.
Any response is highly appreciated. Thank you!
I'm working on this research where I should find optimal segmentation results from eCognition's Multiresolution Segmentation. Is there a way for Kalman Filter to be able to help with this objective of mine? May it be for identifying parameters? Or converge error to zero? Thank you!
I'm currently working on table of errors vs. weights
Hello,
I am fusing a certain sensor into an Unscented Kalman Filter (UKF).
This sensor reports a certain measurement including an SNR metric for each measurement.
I am wondering if it is a good idea to keep changing R for this sensor based on the SNR values. However, this would mean too frequent updates of R. or I could adapt R at a lower frequency, like 1Hz or slower.
Or should R be rather kept constant and I simply make use of the sensor's SNR metric to decide whether to use or throw out certain measurements.
Thanks for the advice.
Robert
I generated a trajectory for a point target by using coordianted turn model with a turn rate w = 0.08 rad/s ~ 4.6 degrees/s. When i use extended kalman filter with coordinated turn model, the estimated turn rate converges to 3.8 (~ 0.066 rad/s if estimate is in degrees). If I accept estimated turn rate is in degrees, my filter is OK. I just need to convert deg2rad. Any ideas?
The double integration of acceleration gives the position of an object. However, how should the position of an object fitted with accelerometer and gyroscope be determined using the data from the two sensors.
We know that Kalman filter is not available for nonlinear systems, hence, extended Kalman filter (EKF) was developed as an alternative.
Similarly, unscented Kalman filter (UKF) is an alternative to EKF, due to some restrictions of EKF.
Please let me know, if any, what are negative points (deficiencies) of UKF?
I am trying to integrate a GPS and IMU via a loosely coupled integration. My state is the position and velocity vector. I am using the following equations for the nav frame mechanization.
I am trying to use the kalman filter and for this I need:
the state transition matrix φ
the system noise covariance matrix Q.
I assume the measurement matrix H is the identity matrix because the outputs of the IMU and GPS are in the same frame
The measurement noise matrix R.
How do I initialize the initial covariance matrix
I am assuming that I have perfect sensors. Although I would like to know how not having perfect sensors would change these matrices.
my questions are the following:
For the state transition matrix. Is it derived from the IMU mechanization above? If so how do you deal with the fact that the future latitude is a function of the of the future altitude?
Would the system noise co variance be 0 since I am assuming a perfect model?
Is the H matrix the identity?
How is the initial covariance matrix usually initialized?
i am working on hardware implementation on the RT-LAB and my application is EKF based induction motor for that i am facing the issue on s function matrix code in c language in 5*5 matrix
Detailed Description :
I am working on steering wheel angle sensor that measures absolute angle of steering wheel. As steering angle sensors uses gears and several joints which is totally hardware related so in spite of calibration in start with the passage of time due to usage of mechanical parts and also due to some environmental and road conditions some errors occurs in the values of sensors (e.g. offset, phase change, flattening of signal, delay).
In short due to these errors in the measurements our aim gets distracted means If I am viewing velocity vs time curve so if in the original or calibrated sensor in short close to ideal condition sensor my velocity shows a peak in amplitude but due to error (hysteresis) in measured signal I am not getting peak in velocity curve or I am getting flattening of curve so it will affect my final task.
I have a tolerance let say 1.20 degree for hysteresis so that’s why I am having detailed idea about my signal and want to observe my signal if some changes means offset, delay, lowering has occurred in my signal or not. This will not only provide me an idea that whether to lessen the amount of sensors used for my task or made some changes in hardware of sensor to lessen the amount of hysteresis or do some other actions to reduce it.
What I have done uptill now in which uptill now I am not sure that whether I am right or wrong. I am getting some values for hysteresis but I have few questions regarding those techniques. If someone provides me an idea about it how to improve these techniques or provide me a better approach then it will be nice and great guidance.
I have an ideal sensor signal (under ideal conditions which we want) and values from 1 sensor I have data of 6 different drives from car. I am explaining just 1 example of my first drive and its relation with my reference sensor data.
Given the data reference signal and sensor signal data of size 1x1626100 and 1 x 1626100 double for one reading from sensor but in all readings values from Ideal and measured signal w.r.t to time are same.
In short I want to find out the Hysteresis difference of sensor signal from measured signal.
I have applied few data estimation techniques to accomplish my goals.
1- I have applied Gaussian Technique to estimate error in my data but I am not satisfied with it as I am not getting some good values or expected values with it may be due to outliers or some other errors.
I have subtracted (Ref – measured value of signal). Calculated mean of difference signal after applying my limitations, Standard Deviation of difference signal after applying my limitations, then make a Gaussian Curve along with mean and standard deviation. Made 2 lines one for mean+ standard deviation and 2nd one is with Mean – Standard Deviation and distance between +ve Mean_std and –ve Mead_std is called Hysteresis (Loss).
Please have a look at the attached figure. I have attached figure for 3 modal Gaussian curve but in some diagrams just like picture 3 my data is shifted. Can anyone tell me the reason why it is so and how to erase it because it is occurring in all diagrams but in this figure 3 it was clear.
2- In this method I have applied Regression lines Technique (On upper and lower values of difference signal).
I took difference of my signals (Ref – measured value of signal after applying my limitation on signal).
Applied regression technique above and below the difference signal means on upper values and on lower values separately and difference between upper and lower values regression lines is called as Hysteresis (Loss). Please have a look at figure 3 and 4 for clear view.
The Problem here with this technique is that I define the values for upper and lower regression line by myself after looking into data like up= 0.08 , low= -0.08.
3- I have also applied RMSE technique but have few questions that are confusing me.
As I am dealing with static data so I considered my Reference signal as actual valued signal and my measured valued signal from sensor as measured values and apply RMSE formula on that.
RMSE= square_error = (sig_diff_lim).^2;
mse = mean(square_error)
msedivided = mse/numel(drv(2))
rmse = sqrt(mse)
4- I have also applied correlation function but I think it is not working well with my data.
But it gave me some good insight about data.
Some Questions that also need clarification if possible:
1- What is difference between RMSE and MSE means I know basic stuffs but I want to know that what are the applications where we use RMSE or MSE and which will work in my case for my data.
2- I have now explained Gaussian, Regression technique, RMSE. Just one Request .Can someone explain me which Technique is the best to use because I have mentioned my issues in Gaussian and Regression Technique above. Just some explanation will work for me .Means Pros and cons of above mentioned technique.
I hope that I remained able to provide you the clear idea and detailed review what I want to do and what I am expecting and I hope to get some positive and valuable response from people.
Sorry for providing a long story but As I am not too expert in these as I am still learning so if I will get some useful responses it will improve my knowledge and also help me to accomplish my task/Goal.
Thanks for cooperation in advance.
How to detect bad data in inputs of system dynamic equations?
Hi
please, i want to know if i can use a classic kalman filter to estimate the states of a linear system with a variable state matrix A.
Thank you
Hi everyone!
I spent lots of time to implement DEKF for battery state and parameters estimation simultaneously. However, I need your help! I will be grateful for any your advice.
I use the standard Li-ion battery model with the following state parameters: SOC and two voltages (V1 and V2) corresponding to two RC-branches. The observe equation is
y(k) = OCV(SOC(k)) - V1 - V2 - R0*i(k).
I use current as control.
Parameters are R0, exp(-deltat/R1*C1), R1*(1-exp(-deltat/R1*C1)), exp(-deltat/R2*C2), R2*(1-exp(-deltat/R2*C2)).
I calculated derivatives (Jacobian matrix) for parameters estimation recursively.
Unfortunately, I did not obtain good estimation results for R0 estimation.The problems that I managed to find: parameters covariance matrix updated noticeably during prediction step only; when current is equal to zero, estimated R0 has big noises in these iterations (please, see attached pictures).
The only solution that I found now: predict parameters not in the form of
theta(k+1)- = theta(k)+
but in the form of
theta(k+1)- = alpha*theta(k)+ + (1-alpha)*p, where p is expected parameter value based on mathematical model, alpha is tuning coefficient, unfortunately, I do not understand, how to obtain p in my model or any other because we do not have the explicit mathematical model for params estimation.
Could anyone help me find mistake in my inferences, please? Or provide useful articles where this problem is already solved? I will be very grateful for any advice which will help to find a solution.


I am using the EKF to estimate some structural parameters, but the result is not right.
One single-DOF structure, the state vector includes displacement, velocity, stiffness and damping coefficient, the measurement vector only includes displacement, the input is known.
The results show that the estimated stiffness and damping are alway keep constant and are equal to the initial value during the process. The displacement and velocity will change
Hi everyone,
I have 4 outputs and i want to make detection of faults in those outputs by ysing dedicated observer scheme (DOS) and the observer that i use is kalman filter
my question is about the design of each observer for the four outputs and the selection of covariance matrix Q and R
Thanks a lot
I am working on the state estimation of batch distillation columns using an extended Kalman filter. The components are ethanol and water, i.e ethanol-water system.
But I have some challenges
1. I am having a challenge on how to obtain the matrices needed to obtain the error covariance, process noise covariance and measurement noise covariance.
2. I am having a challenge of not knowing which software I can best use in modelling the system.
3. How to do the the experimental setup. What are things required to run the experiment?
This project is my experience with Kalmafilter, extended Kalman filter and the like. I am into chemical engineering.
Dear Researchers,
I have to build a Kalman filter in Simulink based on linearized model of a system using state space block. The linearization of a system occurs at every one hr. and the matrices A,B,C,D are updated. As far as the Simulink is concerned it doesn't update these matrices (defined as global variables) in state space block every time the linearization happens. I was wondering if there is any other way to implement this. Note that this filter has to run with Simulink's run-time as it then sends state estimates to controller.
Thanks in advance!
Hello!
I am working on multi-platform, multi-target tracking problem. I am using Interactive multiple models (IMM) [CV + CT + Singer]. My problem is asynchronous (different times of each plot for every platform). Monoplatform processing is fine. I am satisfied with the results. But when I try to fuse my measurements, I get unappropriate quality.
I want to do something like that: extrapolate all local(monoplatform) tracks to one time and fuse them here. Calculation of cross-covariances is quite involved and resourse-consumption for this case. So I've chosen method that was described at Zhen Ding, Lang Hong " A distributed IMM fusion algorithm for multi-platform tracking " (1998). It suggests to use "global" filter and fuse locals using both locals and "global" filters results. (It performes the same procedure with Bar-Shalom - Multitarget-multisensor tracking: principles and techniques p .464 ("Optimal fusion using central estimator") but for IMM filter, not for KF).
My problem is: I want to propagate this article's technique to asyncronous case. I don't understand how to get predicted and filtrated values for local tracks (because I have only predicted value to get all local tracks to the same time). Any suggestions?
The second problem is less complicated. I just don't know what initial value to set on "global filter".
I am working to implement an Extended Kalman Filter to estimate the dynamic state of a synchronous generator connected to a Power System. I am using Power World Software to generate simulation data to use it as input to the estimator, and I am adding gaussian white noise to the data as "measurement noise".
Can someone tell me how can I add "process noise" to this simulation data?
Is it possible to use the particle filters for parameter identification ? if ye, what could be the cost related to the identified parameter which need to be minimized? e.g in case of EKF, we had the covariance matrix and we can minimize the covariance of the identified parameter as the cost. Please suggest some suitable matlab implementation to start my work on PF. Thanks
Dear Prof.
I have developed estimation and identification techniques, in spite of all efforts, the convergence velocity is very limited, with respect to the variance of the noises, but in my case, combined many second estimation using artificial intelligent, minimizing the convergence error, requiring less time with respect to traditional techniques.
The hybrid filter results an excellent stretegy, accomplishing the great convergence levels seeked.
Your experience in iologial reactors using the filter theory represents an excellent oportunity to collaborate with you. Is it possible?
Thank you of your time to read this little letterI hope in a short time, the scientific collaboration, knowing the biological reactor models and applying the hybrid filtering.
Good morning everyone,
In robotics, the estimation of the inverse dynamics model (tau = Y(q,qd,qdd)*theta) is based on finding the inertial (dynamical) parameters 'theta'. As the model is linear in the parameters, mostly regression techniques are used to find an estimation. To collect useful data for the identification algorithm, excitation trajectories for the robot are optimized using a cost function that depends on the regressor matrix 'Y'. My question is the following, is there a way to find the excitation trajectory without using the regressor matrix? Put in other words, is there a measure of excitation that does not involve the regressor?
Thanks for your help!
i am trying to reproduce the optimal controller mentioned in the attached paper, cant figure how to carry Laplace trans. on Y and f as in page 8
thanks
It is easy to maintain positive definiteness if the matrix has only diagonal entries. But, if the process noise covariance matrix has off-diagonal symmetric elements, then how to ensure that it will be positive definite considering there is an update law being used to estimate its elements.
I have found a lot of information about fusion of filtrated tracks but, of course, my tracks were extrapolated before fusion. So I do not have "fresh" filtration matrices to use them in fusion. I use IMM (banch of 3 KF (CV, Singer, CT models)). Now i use something like that:
1) models probability of i-th model is calculated as mean of model probabilities of i-th model for every connected with global(system) track locals.
2) Covariances( P ): P[i]_system = ( 1/(P[i]_1) + 1/(P[i]_2) + 1/(P[i]_3) ) ^ {-1}
3) coordinates (x): x[i]_system = sum{j=1..3} (P[i]_j^{-1} * x[i]_j) (weighted sum of coordinates for every track)
After that I calculate total covariances and coordinates for the system track:
1) coordinates are just weighted with models probabilities coordinates of every model of system track which were calculated before.
2) Dont know how properly calculate covariances here for systems. Tried some variances but it seems it doesnt work properly.
Have i calculated all properly? How to calculate coordinates having predicted coordinates for all models (already combined)? Any suggestions? Thx a lot.
As per (Grewal and Andrews, 2008): "The Kalman filter optimizes the use of all measurements made at or before the time that the estimated state vector is valid. Smoothing can do a better job than the Kalman filter by using additional measurements made after the time of the estimated state vector."
Does it mean that smoothing can further improve the performance of Kalman Filters in the long run? Something like tuning it up by correcting the previous predicted values?
I am doing on the research to estimate aero-engine performance parameters using Unscented Kalman Filter. To make this estimation system more practicable, the measurement noise should be included in the engine model in UKF. I have known the maximum range of the measurement noise, but I cannot get the exact value for each point. Besides, does someone know how to set the initial value of estimation x and the corresponding error covariance P0? And how to set the measurement noise R in the model?
I would like to know how to calculate the earth and sun positions in the Solar system barycenter fram SSB
I am working on ATC target tracking. Using IMM3 (CV, CT, Singer). I get an appropriate quality in the big range situation (When radar measurements have a low accuracy). The problem is i cant get on track fast during maneuveurs. For example: http://take.ms/GYMuB . I dont understand how to fix it. It is not about that I want to describe maneuvers perfectly (I understand that there is some compromise). But I want to return on track after maneuver has occurred faster. In 2-3 iterations. What parameters of filters should i change? May be there is another combination of dynamic models that I should use?
I am working on how to increase the convergence rate of kalman filter as parameter estimator. When doing the simulation i found that the change of input sin signal(frequency,amplitude) can influence the convergence rate of parameter estimator. I wonder how and why can input signal influence the convergence rate of kalman filter. Thanks for advance.
I am using an extended kalman filter for an aircraft containing 5 state variables. The estimated states are diverging as I am not able to nail down the initial Q & R array accurately. The input contains the actual pitch stick movement. Any guideline regarding the tuning of filter is highly appreciated. Thanks in advance
Dear All,
I have a question about Kalman filter. I am using kalman filter for a state space model as following:
X(k+1)=A(k)x(k)+B(k)u(k)+w(k), w(k) ∼ N(0,Q)
Y(k)=C(K)x(k)+D(k)u(k)+v(k), v(k) ∼ N(0,R)
Which the state space matrixes (A(k),B(k),C(k),D(k)) are updated in each sampling time but Q and R matrixes are considered to be constant. The equations which calculate the kalman gain (K(k)) and covariance P matrix (P(k)) are as following:
K(k) = (P(k)*C(k)' )/(R + C(k)*P(k)*C(k)');
Pxx(k)=(eye(n)-K(k)*C(k))*P(k)*(eye(n)-K(k)*C (k))'+K(k)*R*K(k)';%Joseph form
P(k)= A(k)*Pxx(k)*A(k)' + Q;
The problem that I face is related to stability of (A(k)-K(k)*C(k)). In some sampling times, the calculated kalman gain can not stabilize the (A(k)-K(k)*C(k)) matrix and the eigenvalues of (A(k)-K(k)*C(k)) are outside of unit circle. Could you please help me to figure out the reason for this problem? I am expecting that the kalman filter gives me the gain which make the (A(k)-K(k)*C(k)) matrix stable with eigenvalues inside the unit circle.
"Just to clarify, the state space matrixes are updated based on a subspace identification technique in each sampling time. So, I am not using an extended kalman filter. Furthermore, In each sampling time which the state space matrixes are updated, I also check the observabilty matrix of the system which is full rank all the time. I also check the controlability matrix based on (A, Q^1/2) which is full rank. Another point, in subspace identification technique which I am using, input and output data are considered from a real process without any preprocessing such as filtering."
I am using UKF to estimate states of a small robotic vehicle. But It is results are diverging and I've been trying to tune the parameter but so far I am failing.
Dear friends,
I have read about High-Gain observers, but don't realize the advantages it give us in comparison to other observers.
Can somebody tell me?
If somebody has a review of High-gain observers, it would be nice to hand it to me :)
Thanks :)
sometimes I find that GPS signals are not at the same time with inertial sensors,which causes kalman filter a failure
Hi
I am working on chaos synchronization by EKF and other stochastic nonlinear estimators. The problem is like-
Chaos system has 3 states at transmitter end ; x1, x2 , x3 out of which x1 is transmitted as synchronization signal.
At the receiver end EKF is receiving measurements of noisy x1 and goal is to reconstruct x2 and x3 but their measurements are not available.
In the correction step if I only choose x1 state , ie,
x_new=x_apriori + Kalman_Gain*(y(:,k)-h(x_apriori))
since Y(:,k) is just contains measurements of x1, I am unable to reconstruct x2 and x3
How to do that?
Dear Researchers,
I am doing timeseries modelling on 154 observations and my number of Independents is 21. I am using three years of weekly data.
And for the analysis I am using "Bayesian Dynamic Linear Modeling Using Kalman Filter" where i get the beta coefficient for each time period
So it is fine to do the modelling with this number of observation or do I need to reduce the independents.
Thanks in Advance!
Danish
Hello!
In this question I mean that in my concrete case data is achieved not in batches but as a sequence of measurements. My measurements are being obtained in real-time. So I have to do some actions with every point which has been obtained. And it is hard for me to apply IMM/PDA in a correct way because:
1) It is multiplatform case
2) There is a clutter. PDA can easily deal with it, getting a T time batch of measurements by calculating the association probablities but if I have received 1 point I cant perform PDA well (for example this point can be a clutter point)
What is the way to deal with this? Summarising: I understand IMM/PDA kinda well. But I cant apply it to multiplatform sequential data. How can I deal with it?
Pk+1|k = A Pk|k AT + Q is one of the update equations in Kalman filter, which is same as the iterative Lyapunov equation for discrete systems. The convergence of P is guaranteed only is case where A has stable eigen values.
Also, what is the effect of unstable A matrix on,
ek = (A-KkCA)ek-1
i.e the error dynamics, looking to the covariance estimate equation given above?
Also in the attachment:
In the unstable case see that the co-variance is steady state but the estimation error is boundlessly increasing.