2. stand-alone INS. One of the major benefits of knowing the
IMU’s theoretical positioning performance is that it helps to
set positioning error benchmarks under different paths and
moving patterns before diving into experiments using real
IMU. It will also help to set the overall fused localization
system performance benchmark. Besides that, no time
consuming Monte Carlo simulation needs to be performed. In
this paper, we present a theoretical analysis of INS positioning
variance in three local navigation frame directions caused by
white Gaussian noise in body frame IMU sensors. By
combining the three navigation frame results, we can obtain
the 3D position root mean squared error (RMSE). Even
though ZUPT looks appealing and the positioning
performance has been studied, it may cause some
inconvenience due to the requirement that the IMU has to be
mounted on feet. Our proposed generic performance analysis
has no limitation on the mounting points of IMU.
There are multiple noise sources in each gyroscope and
accelerometer measurement [6]. In our paper, our main focus
is to model white Gaussian noise’s impact on positioning
performance since the rest noises are either systematic or
difficult to model. Systematic error source such as constant
bias can be calibrated before the navigation period. The
prominent impact of white Gaussian noise on positioning drift
is still worth studying. The standard deviation of IMU sensor’s
white Gaussian noise is obtained using Allan Variance
technique on the Xsens MTw MEMS IMU with a tri-axial
accelerometer and tri-axial gyroscope. Gyroscope values are
constantly fed to update transformation matrix, which is
approximated using up to second order of Taylor expansion.
All accelerations variances along the three local navigation
frame axes from the beginning of navigation process are firstly
calculated. Then after combining the covariance between each
of the accelerations on the same local navigation frame axis
and perform the double integration over time, we can get the
position variance along local navigation frame, and eventually
the overall position RMSE.
Two paths have been generated to demonstrate the
accuracy of our derivation. The first path has also been used in
other publication [7]. The second path is shorter but with more
movement patterns. They will be explained in more detail in
the section III. Our proposed analysis methodology has been
tested on the path to compare with the Monte Carlo simulation
results running on the same path. Cramér-Rao Lower Bound
(CRLB) for INS perturbed by the same white Gaussian noise
has also been shown as a reference.
The rest of the paper is organized as follows. In section II,
transformation matrix consists of angular velocity values will
be analyzed, followed by the proposed method to calculate
position RMSE. In section III, we simulate two paths and
compare the derived results with Monte Carlo simulation
results and CRLB. And the acquisition of sensor’s white
Gaussian noise standard deviation is also shown in this section.
In the section IV, conclusions are drawn and future works are
also suggested.
II. METHODOLOGY
In this section, we propose a method of deriving the INS
position RMSE caused by white Gaussian noise. It focuses on
understanding the stand-alone INS positioning performance
without setting limitation on the mounting points or fusing with
other localization system.
A. Local Frame Navigation Equation
The gyroscope in a MEMS IMU measures angular velocity
whereas the accelerometer measures the specific force applied
upon IMU. Both measurements are with respect to inertial
coordinate system. Due to the fact that MEMS IMU has its
inertial sensors rigidly attached to its body, the measurements
are also made along its own body frame. The angular velocity
measurements form transformation matrix to project the
specific force measurements into the reference frame of
chosen. The reference frame acceleration is obtained after
offsetting the acceleration due to gravity. This acceleration is
integrated once to get the velocity and again to get its position
on the reference frame [8]. This paper chooses local
navigation frame as reference frame, where its x and y axes
are fixed along east and north direction and z axis is pointing
locally upward. Local navigation frame is a valid
approximation of inertial frame since the tracking period of
time is relatively short and MEMS IMU gyroscope errors are
significantly larger than the error introduced by the earth’s
rotation.
The 3D IMU measurements can be written in the form
𝜔" = (𝜔%, 𝜔', 𝜔()*
and 𝑓" = (𝑓%, 𝑓', 𝑓()*
. The subscript b
indicates the body frame. The local navigation frame
acceleration, velocity and position is given as 𝑎. =
(𝑎/, 𝑎0, 𝑎1)*
, 𝑣. = (𝑣/, 𝑣0, 𝑣1)*
and 𝑠. = (𝑠/, 𝑠0, 𝑠1)*
. The
subscript n indicates the local navigation frame and E, N, U
represent north, east and up as the three local frame axes. As
shown in [8], the transformation matrix n
bC can be updated as
( 1) ( )exp ( )
t
n n
b bk k k dt
Δ
⎛ ⎞
+ ⎜ ⎟
⎝ ⎠
= ∫ΩC C (1)
where
0 ( ) ( )
( ) ( ) 0 ( )
( ) ( ) 0
z y
z x
y x
k k
k k k
k k
ω ω
ω ω
ω ω
⎡ ⎤−
⎢ ⎥
= −⎢ ⎥
⎢ ⎥−⎣ ⎦
Ω (2)
is the skew symmetric matrix formed by 𝜔"(𝑘) . The k
represents time instance k and the ∆t is the interval in between
two adjacent IMU measurements. Small angle approximation
has been used to update 𝑪"
.
. Equation (1) can be further
expanded using rectangular rule after introducing another
skew symmetric matrix 𝑩
214
3. ( ) ( )
t
k k dt
Δ
= ∫Β Ω (3)
0 ( ) ( )
( ) ( ) 0 ( )
( ) ( ) 0
z y
z x
y x
k t k t
k k t k t
k t k t
ω ω
ω ω
ω ω
⎡ ⎤− Δ Δ
⎢ ⎥
= Δ − Δ⎢ ⎥
⎢ ⎥− Δ Δ⎣ ⎦
Β (4)
Substitute (3) into (1) and perform Taylor expansion, (1) can
be expressed as
2 3
( 1) ( ) ( ) ...
( ) ( )
2! 3!
n n
b bk k k
k k⎛ ⎞
+ + +⎜ ⎟
⎝ ⎠
= + +Β
Β Β
C C I (5)
where 𝑰 is the 3x3 identity matrix. Thus the local navigation
frame acceleration at time k can be expressed as
( )( ) ( ) ( ) 0,0, Tna k k f k g
n b b
= −C (6)
where g is the gravitational acceleration. Once the acceleration
is obtained, 𝑣. 𝑘 and 𝑠.(𝑘)can be calculated by doing single
and double integrations.
B. Position RMSE Derivation
Transformation matrix can also be expressed solely by the
known initial orientation 𝑪"
.
(1) and angular velocity values
from the beginning of time as
1
2 3( ) ( )
( 1) (1) ( ) ...
2! 3!
k
i
k kn n
k k
b b =
+ = + + + +
⎛ ⎞
⎜ ⎟
⎜ ⎟
⎝ ⎠
∏C C I
Β Β
Β (7)
where 𝑪"
.
1 is the initial orientation of IMU. In this paper, ∆t
is 0.01s since the sampling frequency is set at 100Hz. Given
this ∆t with a no large angular velocity happening at the same
time on all three axes, it is sufficient to keep only up to second
order of the Taylor expansion in (7). The truncated version of
𝑪"
.
can be written as
2 1( )
( 1) (1) ( ) ( ) ( )
21 1 2 1
jk k kin n
k i i j
b b
i i j i
−
+ = + + +∑ ∑ ∑ ∑
= = = =
⎛ ⎞
⎜ ⎟
⎜ ⎟
⎝ ⎠
C C I
Β
Β Β Β (8)
The composition for 𝑎/(𝑘) , 𝑎0(𝑘) and 𝑎1(𝑘) is similar.
Substituting (4) into (8), the 𝑎/ at time instance k+1 can be
written as three parts
( 1) ( 1) ( 1) ( 1)
_ 1 _ 2 _ 3
a k a k a k a k
E E P E P E P
+ = + + + + + (9)
where
( )( 1) ( 1) 1,1 ( 1)
_ 1
2 2
( ) ( )
1 1
12
2 ( 1)
1 1
( ) ( ) ( ) ( )
2 1 2 1
C+ = + +
−∑ ∑
= =
− −
= Δ +
− −
−∑ ∑ ∑ ∑
= = = =
⎛ ⎞
⎜ ⎟
⎜ ⎟
⎜ ⎟
⎜ ⎟
⎜ ⎟
⎜ ⎟
⎝ ⎠
n
a k k f k
E P b x
k k
i i
z y
i i
t f k
x
j jk k
i j i j
z z y y
j i j i
ω ω
ω ω ω ω
(10)
( )( 1) ( 1) 1, 2 ( 1)
_ 2
11 2
( ) ( ) ( )
21 2 1
( 1)
1
2
( ) ( )
2 1
C+ = + +
−
− Δ − Δ∑ ∑ ∑
= = =
= +
−
− Δ∑ ∑
= =
⎛ ⎞
⎜ ⎟
⎜ ⎟
⎜ ⎟
⎜ ⎟
⎜ ⎟
⎝ ⎠
n
a k k f k
E P b y
jk k
i t i j t
z y x
i j i
f k
yjk
i j t
y x
j i
ω ω ω
ω ω
(11)
( )( 1) ( 1) 1,3 ( 1)
_ 3
11 2
( ) ( ) ( )
21 2 1
( 1)
1
2
( ) ( )
2 1
C+ = + +
−
Δ − Δ∑ ∑ ∑
= = =
= +
−
− Δ∑ ∑
= =
⎛ ⎞
⎜ ⎟
⎜ ⎟
⎜ ⎟
⎜ ⎟
⎜ ⎟
⎝ ⎠
n
a k k f k
E P b z
jk k
i t i j t
y z x
i j i
f k
zjk
i j t
z x
j i
ω ω ω
ω ω
(12)
Assume the IMU is stationary before IMU starts to measure.
Due to the high sampling rate, rectangular rule has been used
again to calculate navigation frame position which is
expressed as
2
1
( ) ( 0.5) ( )
k
E E
i
s k k i a i t
=
= − + Δ∑ (13)
The variance of 𝑠/ can be acquired by substituting (9) into
(13). As we can see from (10)-(12), the three parts of 𝑎/ are
correlated due to the presence of accumulated angular velocity
values. The variance thus consists of two parts, with part one
being the each individual acceleration’s variance and part two
being the covariance between each of accelerations. It can be
written as
( ) ( )
( ) 4
2 4
1
11
3 2
( ) ( 0.5) ( )
2 ( 0.5)( 0.5) ( ), ( )
E E
E E
k
i
jk
j i
s k k i a i t
k i k j a i a j t
Var Var
Cov
=
−−
= =
= − + Δ +
− + − + Δ
∑
∑ ∑
(14)
where
( ) ( ) ( ) ( )( ), ( ) ( ) ( ) ( ) ( )E E E E E E
Cov a i a j E a i a j E a i E a j= − (15)
215
4. The covariance calculate only go up to 1k − is because of the
assumption that the initial orientation is known, as a result the
first acceleration 𝑎/(𝑘) is not correlated with the rest
accelerations. In order to calculate variance more efficiently,
we can rearrange the expression of the three parts of 𝑎/ as
( )
( )
( 1) ( ) 1,1 ( 1)
_ 1
2 2( ) ( )
( 1) 1,1
2 2 ( 1)
1 1
( ) ( ) ( ) ( )
1 1
n
a k k f k
E P b x
k k
z yn k
b
t f k
xk k
i k i k
z z y y
i i
ω ω
ω ω ω ω
+ = +
−
− −
= Δ +
− −
−∑ ∑
= =
⎛ ⎞
⎜ ⎟
⎜ ⎟
⎜ ⎟
⎜ ⎟
⎜ ⎟
⎝ ⎠
C
C (16)
( )
( )
( 1) ( ) 1,2 ( 1)
_ 2
1 2
( 1) 1,2 ( ) ( ) ( )
2
( 1)
1 2
( ) ( )
1
na k k f k
E P b y
n
k k t k k t
b z x y
f k
k y
i k t
y x
i
ω ω ω
ω ω
+ = +
− − Δ − Δ
= +
−
− Δ∑
=
⎛ ⎞
⎜ ⎟
⎜ ⎟
⎜ ⎟
⎜ ⎟
⎝ ⎠
C
C (17)
( )
( )
( 1) ( ) 1,3 ( 1)
_ 3
1 2
( 1) 1,3 ( ) ( ) ( )
2
( 1)
1 2
( ) ( )
1
na k k f k
E P b z
n
k k t k k t
b y z x
f k
k z
i k t
z x
i
ω ω ω
ω ω
+ = +
− − Δ − Δ
= +
−
− Δ∑
=
⎛ ⎞
⎜ ⎟
⎜ ⎟
⎜ ⎟
⎜ ⎟
⎝ ⎠
C
C (18)
Using the expression (16)-(18), the variance of bracket in each
part are calculated first and stored to be substitute into the next
𝑪"
.
entry. Eventually the variance of the three parts and the
covariance between them form the variance of local
navigation frame acceleration. No shortcuts were found when
calculating the covariance between accelerations on the same
axis at different time instance. Each individual part of
𝑎/(𝑖) and each individual part of 𝑎/(𝑗) are correlated.
Covariance between all the parts forms the overall
acceleration covariance. The final position RMSE at time k is
written as
( ) ( ) ( )( ) ( ) ( ) ( )E N U
RMSE k Var s k Var s k Var s k= + + (19)
III. RESULTS
In this section, two paths have been created to test the
validity of our proposed methodology. Monte Carlo simulation
and other benchmark have been used to analyze the results.
A. Allan Variance
Allan Variance is a time domain analysis technique that can
be applied to any signal to determine the character of the
underlying noise processes [6]. White Gaussian noise can be
identified on the Allan Variance plot with gradient -0.5. The
detailed description of Allan Variance can be found in [9]. The
device we are using in this paper is Mtw IMU from Xsens.
Table I given provides the summary of white Gaussian noise in
this particular Xsens IMU. Fig. 1 and Fig. 2 show the Allan
Standard Deviation plot for gyroscope noise and accelerometer
noise respectively.
TABLE I. IMU WHITE GAUSSIAN NOISE STANDARD DEVIATION
Body frame Gyroscope wσ Accelerometer aσ
X axis 0.0051 /rad s 0.015 2
/m s
Y axis 0.0051 /rad s 0.016 2
/m s
Z axis 0.0047 /rad s 0.036 2
/m s
Fig. 1. Gyroscope Allan standard deviation plot
Fig. 2. Accelerometer Allan standard deviation plot
The measurements have been taken on a time span of 3 hours.
Both graphs shows big fluctuation when the cluster time
exceeds 1000 seconds. However it is good enough for us to
identify the white Gaussian noise standard deviation for both
gyroscope and accelerometer.
B. Path Design
1) Path 1
A closed loop path was constructed to test our proposed
methodology. We assume the IMU is initially placed such that
the body frame’s x and y axes are aligned with local frame’s
216
5. east and north axes. As shown in Fig. 3, the IMU starts moving
from stationary at point [0, 0] and doing an anticlockwise loop.
The IMU is accelerating with 1 𝑚 𝑠=
along East direction for
1second followed by a 12 meter constant speed straight
movement. For the rest of the loop, the speed remains constant.
There are four 90@
turning sections with a radius of 7.5 𝑚,
during which the z axis angular velocity is set at 0.1333 𝑟𝑎𝑑 𝑠
and the centripetal acceleration sensed by IMU’s y axis is set at
0.1333 𝑚 𝑠=
in order to keep the IMU on designed path with a
constant speed. It eventually comes back to the starting point.
Fig. 3. Simulated IMU movement path 1
2) Path 2
As we will see in the next section, the position error
accumulation will reach around 10 𝑚 at 30 seconds, which will
not serve general indoor navigation purpose. A shorter path
designed as the second demonstration path. It involves more
turnings and straight line accelerations compared to path 1. The
initial alignment of IMU remains the same with that for path 1.
The IMU also starts moving from stationary at point [0, 0] and
accelerates with 1 𝑚 𝑠=
along East direction for 1second. It
maintains the same speed before deaccelerates to still at the end
of the path. During turning the centripetal acceleration and
angular velocity are adjusted accordingly to satisfy the linear
velocity. After travelling to point [8.5, 0], the IMU travels a
circle path with 1.5 𝑚 radius in clockwise direction. It
deaccelerates -1 𝑚 𝑠=
along east direction and stops at [10, 0].
Fig. 4. Simulated IMU movement path 2
In order to test our derivation, we need to know the noise
free values of IMU signal to construct the path for simulation.
The prevailing ZUPT technique requires the IMU mounted on
foot. The movement complexity makes it impossible for us to
find the noise free IMU signals for simulation. The path
generated in this paper looks simpler than ZUPT case but it
also has its own practical meaning. It can be considered similar
to the situation where people is walking while holding the
cellphone horizontally or the IMU is placed on a flat surface of
an asset which needs to be tracked.
C. Cramér-Rao Lower Bound
The CRLB provides a lower bound for mean square error.
It is used as a benchmark to assess the performance of
implemented suboptimal filtering algorithms. The Bayesian
version of CRLB is also called posterior CRLB. It is shown
that posterior CRLB for the linear Gaussian filtering problem is
equivalent to the covariance matrix of the Kalman filter [10].
Since there is no external measurement to correct the state
vector in this paper, the posterior CRLB propagation for stand-
alone IMU is Kalman filter state covariance matrix update
equation
T
(k +1) (k) (k) (k) (k)= +P F P F Q (20)
where 𝑭(𝑘) is the state transition matrix and 𝑸(𝑘) is the
process noise covariance matrix. A simplified version of
linearized error-state Kalman filter from [3] is constructed
without modelling bias into the state vector. In this particular
Kalman filter design, state vector 𝜹𝒙 is defined as 𝜹𝒙 =
(𝛿∅*
, 𝛿𝑣.
*
, 𝛿𝑠.
*
)*
, representing the attitude error, velocity error
and position error. The 𝑸(𝑘) is formed by gyroscope noise
variance, accelerometer noise variance and 𝑪"
.
. First order and
small angle approximation are used to derive the Kalman
filter. The performance of this Kalman filter does not only
depend on IMU signal noises but also depend on how we
choose the 𝑪"
.
. Different approximations of 𝑪"
.
will provide
different covariance matrices in the end.
D. Position Error Comparison
Simulation results for path 1 are shown in Fig. 5. Monte
Carlo Simulation with 5000 iterations has been performed for
comparison. In Fig. 5, the red curve Monte Carlo simulation
result shows the positioning error using Matlab built-in
function “expm” when updating 𝑪"
.
. It is the default function to
calculate exponential of matrix in Matlab. The green and blue
color curves represent CRLB curve when 𝑪"
.
using “expm”
and second order approximation respectively. The black curve
is our derived RMSE curve. All the curves stay very close up
to 50 seconds when the IMU finished the second turn. The
estimating error difference between our proposed method and
CRLB (expm) is 1.49 𝑚, 3% of distance covered up to 50s
time. After the third turn, the difference is 10.4 𝑚, 14.3% of
distance covered at that time. When completing one loop, our
proposed positioning error reaches 186.2m whereas the CRLB
(expm) is at 146.2 𝑚. The CRLB (2nd) starts to deviate further
from our derived second order RMSE after 70 seconds. For
stand-alone INS, there is no correction from other sources.
217
6. Thus 𝑪"
.
in this Kalman filter design will only be updated
using the noisy gyroscope measurements. In the long run, it
will accumulate error faster than our derived RMSE, which is
shown in Fig. 5. Our method stays close to the CRLB (expm)
and Monte Carlo simulation especially at the first half of the
path considering the error is large for stand-alone INS
navigation. It can be seen as a reasonable error growth
analysis. Another benefit of using our method is that we can
directly obtain 𝑉𝑎𝑟(𝑎.) and covariance of 𝑎.along the same
direction from our 𝑎. formulation to monitor the noise impact
on 𝑎.without doing recursive calculation like posterior CRLB.
Fig. 5. Positioning Error Comparison 1
Simulation results for path 2 are shown in Fig. 6. Monte
Carlo Simulation with 5000 iterations has been performed for
comparison. The curves start to split around 12 seconds, which
also the time the IMU just past the four relatively sharp
90J
turnings. And the split accelerates during the 360J
turning. However our derived RMSE curve still stays close to
the CRLB (expm) and Monte Carlo simulation. When path 2
is completed, our proposed derivation positioning error
reaches 6.809 m whereas the CRLB (expm) is at 5.215 m. The
difference is 6.5% of total distance travelled. It shows our
second order approximation is reasonable for both paths.
Fig. 6. Positioning Error Comparison 2
IV. CONCLUSION
In this paper, a novel method has been proposed to
calculate the stand-alone INS positioning error growth. The
proposed method breaks down transformation matrix and
provides a closed form equation analyzing the noises in
𝑎. caused by body frame acceleration and angular velocity
noises. The variance analysis of navigation frame
accelerations and positions at different time instances can help
to analyze the performance of the whole system when INS is
fused with other localization system. It also serves as an
alternative to posterior CRLB. We are currently conducting
experiment using IMU mentioned in this paper to verify our
derived results. In the future, the proposed method needs to be
applied to more routes and more complicated moving patterns.
REFERENCES
[1] A. H. Sayed, A. Tarighat, and N. Khajehnouri, "Network-based Wireless
Location: Challenges Faced in Developing Techniques for Accurate
Wireless Location Information," IEEE Signal Processing Magazine, vol.
22, pp. 24-40, Jul. 2005.
[2] C.K. Seow and S.Y. Tan, “Non-Line-of-Sight Localization in Multipath
Environments,” IEEE Trans. Mobile Computing, Vol. 7, No. 5, pp. 647-
660, May 2008.
[3] E. Foxlin, “Pedestrian Tracking with Shoe-Mounted Inertial Sensors”,
IEEE Computer Graphics and Applications, Volume 25, Issue 6, pp. 38-
46, Nov. 2005.
[4] A. Jimenez, F. Seco Granja, 1. C. Prieto Honorato, and 1. Guevara
Rosas, "Accurate Pedestrian Indoor Navigation by Tightly Coupling a
Foot-mounted IMU and RFID Measurements," IEEE Transactions on
Instrumentation and Measurement, vol. 61, no. I, pp. 178-1 89, 20 12.
[5] O. Woodman and R. Harle, “Pedestrian localisation for indoor
environments”, In Proc. of the 10th Int. Conf. on Ubiquitous computing
(UbiComp), 2008.
[6] O. Woodman, "An Introduction to Inertial Navigation," Tech. Rep. 03,
Cambridge, Jan. 2007.
[7] F. Zampella, A. Bahillo, J. Prieto, A. R. Jimenez, and F. Seco,
“Pedestrian navigation fusing RSS/TOF measurements with adaptive
movement/measurement models: Experimental evaluation and
theoretical limits,” Sens. Actuators A, Phys., vol. 203, pp. 249–260,
Dec. 2013.
[8] D. Titterton and J. Weston, Strapdown Inertial Navigation
Technology,2nd
ed. Washington, DC: AIAA, 2004.
[9] IEEE standard specification format guide and test procedure for single-
axis interferometric fiber optic gyros, Annex C. IEEE Standard 952-
1997, 1998.
[10] B. Ristic, S. Arulampalam, N. Gordon, Beyond the Kalman filter.
Particle filtersfor tracking applications, Artech House Publishers, Boston,
2004
218