Sign in

username or email:

password:



Not a member?
Forgot your password?

Search compdsp



Search tips

Ads

Discussion Groups

Free Online Books

See Also

Embedded SystemsFPGA

Discussion Groups | Comp.DSP | Kalman gain for weighting a state which is not directly measured

There are 4 messages in this thread.

You are currently looking at messages 1 to .


Is this discussion worth a thumbs up?

0

Kalman gain for weighting a state which is not directly measured - adelaide - 2012-06-14 21:02:00

Hi,
I have implemented a simple Kalman filter (using standard Kalman filter
equations) to integrate INS and wheel encoder. My state vector includes
‘displacement’ and ‘velocity’. (acceleration is the known input)
x=[disp; vel]
My model is: 
d(disp)/dt=vel 
d(vel)/dt¬celeration(in navigation frame)
I also have external measurements of velocity from wheel encoder.
Kalman gain therefore is a 2x1 vector: K=[K1; K2]. My problem is about the
values of Kalman gain.
In state estimate update equation (xhat=xhat+K(z-Hx)), since my innovation
is the difference of velocity measurement and Hx, (i.e. it only contains
velocity information), it seems like K1 should be zero. However, in my
program K1 equals 0.5. The plots of estimation results look OK though.
Should K1 be zero? 
If not, where does it get new information about displacement weight while
we have only new velocity measurements? 
Any help will be appreciated.



______________________________
New DSP Code Snippets Section now Live.   Learn more about the reward program for contributors here.

Re: Kalman gain for weighting a state which is not directly measured - Tim Wescott - 2012-06-15 01:42:00



On Thu, 14 Jun 2012 20:02:53 -0500, adelaide wrote:

> Hi,
> I have implemented a simple Kalman filter (using standard Kalman filter
> equations) to integrate INS and wheel encoder. My state vector includes
> ‘displacement’ and ‘velocity’. (acceleration is the known input)
> x=[disp; vel]
> My model is:
> d(disp)/dt=vel d(vel)/dt¬celeration(in navigation frame)
> I also have external measurements of velocity from wheel encoder.
> Kalman gain therefore is a 2x1 vector: K=[K1; K2]. My problem is about
> the values of Kalman gain.
> In state estimate update equation (xhat=xhat+K(z-Hx)), since my
> innovation is the difference of velocity measurement and Hx, (i.e. it
> only contains velocity information), it seems like K1 should be zero.
> However, in my program K1 equals 0.5. The plots of estimation results
> look OK though. Should K1 be zero?
> If not, where does it get new information about displacement weight
> while we have only new velocity measurements?
> Any help will be appreciated.

If the velocity is wrong, then the position is wrong and should be 
adjusted.  Therefore, K1 should be nonzero.

Does that help?
______________________________
New DSP Code Snippets Section now Live.   Learn more about the reward program for contributors here.

Re: Kalman gain for weighting a state which is not directly measured - adelaide - 2012-06-18 21:46:00

>On Thu, 14 Jun 2012 20:02:53 -0500, adelaide wrote:
>
>> Hi,
>> I have implemented a simple Kalman filter (using standard Kalman filter
>> equations) to integrate INS and wheel encoder. My state vector includes
>> ‘displacement’ and ‘velocity’. (acceleration is the known
input)
>> x=[disp; vel]
>> My model is:
>> d(disp)/dt=vel d(vel)/dt¬celeration(in navigation frame)
>> I also have external measurements of velocity from wheel encoder.
>> Kalman gain therefore is a 2x1 vector: K=[K1; K2]. My problem is about
>> the values of Kalman gain.
>> In state estimate update equation (xhat=xhat+K(z-Hx)), since my
>> innovation is the difference of velocity measurement and Hx, (i.e. it
>> only contains velocity information), it seems like K1 should be zero.
>> However, in my program K1 equals 0.5. The plots of estimation results
>> look OK though. Should K1 be zero?
>> If not, where does it get new information about displacement weight
>> while we have only new velocity measurements?
>> Any help will be appreciated.
>
>If the velocity is wrong, then the position is wrong and should be 
>adjusted.  Therefore, K1 should be nonzero.
>
>Does that help?
>
______________________________
New DSP Code Snippets Section now Live.   Learn more about the reward program for contributors here.

Re: Kalman gain for weighting a state which is not directly measured - adelaide - 2012-06-18 21:50:00

>On Thu, 14 Jun 2012 20:02:53 -0500, adelaide wrote:
>
>> Hi,
>> I have implemented a simple Kalman filter (using standard Kalman filter
>> equations) to integrate INS and wheel encoder. My state vector includes
>> ‘displacement’ and ‘velocity’. (acceleration is the known
input)
>> x=[disp; vel]
>> My model is:
>> d(disp)/dt=vel d(vel)/dt¬celeration(in navigation frame)
>> I also have external measurements of velocity from wheel encoder.
>> Kalman gain therefore is a 2x1 vector: K=[K1; K2]. My problem is about
>> the values of Kalman gain.
>> In state estimate update equation (xhat=xhat+K(z-Hx)), since my
>> innovation is the difference of velocity measurement and Hx, (i.e. it
>> only contains velocity information), it seems like K1 should be zero.
>> However, in my program K1 equals 0.5. The plots of estimation results
>> look OK though. Should K1 be zero?
>> If not, where does it get new information about displacement weight
>> while we have only new velocity measurements?
>> Any help will be appreciated.
>
>If the velocity is wrong, then the position is wrong and should be 
>adjusted.  Therefore, K1 should be nonzero.
>
>Does that help?

Thanks Tim.
So far, I realise it's OK that K1 is nonzero, right? Where does it get the
new information though? Because we don't have any new position information
in Innovation. 
Also, I thought position state get correction only from the model through
corrected velocity. Isn't that correct?
Thanks for your help 
______________________________
New DSP Code Snippets Section now Live.   Learn more about the reward program for contributors here.