Innovation can be a 9x1 vector. However, heading can be unavailable if GNSS speed is low. In this case innovation is 8x1.

Besides, to lower computational consumption, sequential update is implemented. In this case H is 3x16.

# AHRS Algorithm

Thank you for the reply, when H is a 3x16 , gain ( K ) will be 16x3 , R is 3x3 , inv (R) is 3x3 and measurement error must be 3x1 , because we can't multiplication matrix 16x3 in 8x1, forasmuch measurement error must be a 3x1 vector , because for calculate X ( state update ) we need to a vector 16x1 ,am I right? If is it true ,please tell me how to define measurement error ( Vk ) ? I can't understand this part.

Best Regards

Amin

The keyword here is "sequential update". That is, to reduce computation, measurements are applied sequentially. You can do position update first, then velocity update, and then attitude update. In this case, you have a measurement of 3x1 instead of 9x1.

Of course, you can well use the 9x1 measurement to do a full update.

Please refer to the code to see how sequential update is implemented.

There is some theory about sequential update: http://mocha-java.uccs.edu/ECE5550/ECE5550-Notes05.pdf

Thank you very much , this is so intelligently method, I'll dive to codes, I had a problem with ( inv ) higher order matrix, but we have a inv 3x3 now , and this is so easy . dear dong , pardon me for this question but I like to know, does this method need to calculate kalman gain ( k ) once or seperate for position, velocity and attitude , if so ? we need to separate tuning gain (k) for position, velocity and attitude?

Best regards

Amin

if i have got kalman filtered imu data , and some gps position, is there a simple INS algorithm @Dong-xiaoguang

i want to calculate the position when GPS is not available?

Hello, does AHRS/VG dynamic attitude app also using 16 state EKF ? or need to less state ?

Best Regards

Amin

@Dong-xiaoguang said in AHRS Algorithm:

Kalman gain should be calculated separately for position, velocity and attitude.

Dear Dong,

the method you mention is for INS , what about for AHRS?

are position and velocity required for AHRS too or are those for INS specifically?

Best Regards

Amin