Question regarding `rf.LinAccelSign`

조회 수: 2(최근 30일)
Morten Nissov
Morten Nissov 2021년 3월 20일
답변: Ryan Salvo 2021년 7월 30일
I am looking into the available error state filters for aided inertial navigation, particularly insfilterErrorState.
There is one part of the code that I am having a hard time understanding, which is the usage of rf.LinAccelSign on line 98 of ErrorStateIMUGPSFuserBase.m. This is used to invert the sign of the acceleration measurements from the accelerometer before they are used in the prediction routine, the comment above reads
rf = rfconfig(obj.ReferenceFrame);
% Invert the accelerometer signal if linear acceleration is
% negative in the reference frame.
accelMeas = rf.LinAccelSign.*accelMeas;
Looking at ReferenceFrame.m I can see that the LinAccelSign parameter is given as negative for both ENU and NED frames, can this really be the case? I would have guessed that they would have been the opposite of one another.
Edit: Just noticed, in NED.m
% LinAccelSign - is the linear acceleration a positive or negative
% quantity.
% In ENU, it is a negative quantity.
LinAccelSign = -1;
the exact same is written in the ENU.m file, perhaps this is an error?


Ryan Salvo
Ryan Salvo 2021년 7월 30일
Hi Morten,
This is actually correct for both NED and ENU, as we have defined them in the insfilterErrorState. However, here is a small typo in the comment in the NED.m file. The final line should read:
% In NED, it is a negative quantity.
This typo has been fixed in future releases, apologies for any confusion it may have caused.


Find more on Measurements and Spatial Audio in Help Center and File Exchange


Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by