Next Article in Journal
Enhancing Electrical Generation Efficiency through Parametrical Excitation and Slapping Force in Nonlinear Elastic Beams for Vibration Energy Harvesting
Next Article in Special Issue
IMU Networks for Trajectory Reconstruction in Logistics Applications
Previous Article in Journal
A Passive Decomposition Based Robust Synchronous Motion Control of Multi-Motors and Experimental Verification
Previous Article in Special Issue
Reducing the Uncertainty of the Moving Object Location Measurement with the Method of Quasi-Multiple Measurement in GNSS Technology in Symmetrical Arrangement
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

Smartphone MEMS Accelerometer and Gyroscope Measurement Errors: Laboratory Testing and Analysis of the Effects on Positioning Performance

by
Vincenzo Capuano
*,
Liangchun Xu
and
Jose Estrada Benavides
Samsung Semiconductor, Inc., San Jose, CA 95134, USA
*
Author to whom correspondence should be addressed.
These authors contributed equally to this work.
Sensors 2023, 23(17), 7609; https://doi.org/10.3390/s23177609
Submission received: 30 June 2023 / Revised: 4 August 2023 / Accepted: 17 August 2023 / Published: 1 September 2023
(This article belongs to the Special Issue Sensors for Navigation and Control Systems: 2nd Edition)

Abstract

:
Embedding various sensors with powerful computing and storage capabilities in a small communication device, smartphones have become a prominent platform for navigation. With the increasing popularity of Apple CarPlay and Android Auto, smartphones are quickly replacing built-in automotive navigation solutions. On the other hand, smartphones are equipped with low-performance Micro Electro Mechanical Systems (MEMS) sensors to enhance their navigation performance in Global Navigation Satellite System (GNSS)-degraded or -denied environments. Compared with higher-grade inertial navigation systems (INS), MEMS-based INS have a poor navigation performance due to large measurement errors. In this paper, we present laboratory test results on the stochastic and deterministic errors observed in MEMS inertial sensor measurements of five different smartphones from different manufacturers. Then, we describe and discuss the short-term effects of these errors on the pure inertial navigation performance and also on the navigation performance based on the tight coupling of INS with GNSS measurements using a smartphone.

1. Introduction

Smartphones are equipped with a variety of sensors that can measure their position and orientation. With powerful computing and storage capabilities, smartphones have become a popular platform for pedestrian and automotive navigation. For pedestrian navigation, a smartphone is usually an obvious option. For automotive navigation, with the increasing popularity of Apple CarPlay and Android Auto, smartphones are quickly replacing built-in navigation solutions. Navigation capabilities mainly rely on processing GNSS signals for outdoor positioning. However, in environments where GNSS signals are degraded or denied, such as urban canyons, tunnels, and parking garages, smartphones estimate their position and orientation using inertial sensors. This allows them to navigate regardless of any surrounding obstacles that may obstruct the GNSS signals. By using an INS composed of a three-axis accelerometer and a gyroscope, it is possible to determine the position and orientation of a smartphone and the vehicle hosting it. The achievable positioning performance strongly depends on the accuracy, stability, and quality of the inertial sensors.
The accelerometers, gyroscopes, and magnetometers used in a smartphone are typically very small and lightweight MEMS (Micro Electro Mechanical System) sensors [1], very inexpensive, but generally characterized by a poor performance [2,3]. An example of MEMS specifications is provided in [4,5].
While there are a number of literature sources on the testing and validation of inertial sensors, such as [6,7,8,9,10,11], to the best of the authors’ knowledge, there are not many works that specifically focus on evaluating the navigation performances achievable with the MEMS inertial sensors of a smartphone. The only work is [12], in which inertial measurements were collected with a Sony Xperia M2 Aqua and Samsung Galaxy Note 3 in three different driving scenarios and processed offline to determine position.
In the first part of this paper, we present the main stochastic and deterministic error characteristics of the MEMS sensors embedded in five smartphone devices, a Google Pixel 7 Pro, a Samsung SM-A536V, a Vivo X60 Pro, an iPhone XR, and One Plus 7 Pro, determined by the means of laboratory tests. Identifying the characteristics of these errors is crucial for designing a navigation filter. It helps to define the state and measurement components, formulate system and measurement models, and tune the filter parameters, such as the system and measurement covariance. In the second part, we analyze the effects of these errors on the positioning accuracy when using a smartphone. For such a goal, we discuss the short-term accuracy achievable in: (1) a straight-line motion with pure MEMS inertial mechanization, by converting the MEMS accelerometer and gyro measurements into position, velocity, and attitude; and (2) a real drive trajectory around our campus in San Jose, CA, with an INS-GNSS tight fusion.
The paper is organized as follows. Section 2 summarizes the error sources that characterize an inertial measurement. In Section 3, we describe the three main tests carried out in our laboratory for each of the five considered smartphones and present their results: the Single-Position Static Test to determine the stochastic error of the accelerometers and gyro; the Six-Position Static Test to estimate the deterministic error of the accelerometers; and the Gyro Rate Test to determine the deterministic errors of the gyros. In Section 4, for the five considered devices, we estimate the short-term achievable positioning accuracy when using INS measurements affected by the MEMS errors determined in Section 3. In Section 5, we discuss the obtained results. The conclusions are drawn in Section 6.

2. Error Characteristics of MEMS Inertial Sensors

The works [13,14,15,16,17,18] provide a comprehensive overview of the various sources of errors affecting inertial measurements. The typical value of each of these errors can widely vary depending on the class or grade of the inertial sensor. There is no universally agreed definition of low-, medium, and high-grade inertial sensors. A common classification, provided in [13], includes five main broad categories from the highest grade to the lowest: the Marine, Aviation, Intermediate, Tactical, and Consumer grades. The lowest categories exhibit much larger errors than the highest categories, but, at the same time, they are characterized by a smaller mass, volume, power consumption, and are usually drastically cheaper (less than $10 for consumer-grade versus more than $1M for marine-grade). The current research on the development of inertial sensors is primarily focused on MEMS technology that enables the low-cost mass production of very small, light quartz and silicon sensors. MEMS are generally the smallest and cheapest inertial sensors, however, the lowest consumer-grade MEMS sensors, usually adopted in a smartphone, offer a poor performance. The final performance of a MEMS inertial sensor is strongly influenced by whether or not the sensor has been calibrated; often, MEMS sensors are sold without any lab calibration as consumer-grade, and with calibration as tactical-grade.
Multiple accelerometers and gyros are integrated into an inertial navigation unit (IMU) and their measurements are processed together in an INS to produce a navigation solution.
In general, all grades of accelerometers and gyros manifest biases, scale factor, cross-coupling errors, and random noise. Depending on the type of sensor, they can also exhibit higher-order errors and angular rate specific force cross-sensitivity [13]. They are also affected by vibration-induced errors [19].
We can distinguish deterministic errors and stochastic errors for MEMS sensors. Deterministic errors include constant and proportional errors to the measuring values of the sensor. Specifically for an inertial sensor, there are four individual components of a deterministic error: (1) a fixed contribution which can be corrected by sensor calibration; (2) a temperature-dependent variation while the sensor is working out of the range of its normal operating temperature; (3) a run-to-run variation which changes from different runs but stays constant during one run; and (4) last but not least, in-run variation which slowly changes within the course of a run.
We generally refer to accelerometer and gyro bias as a constant error, independent of the specific force and angular rate, respectively. These usually are the main contribution to the overall position error. It is possible to differentiate static bias from dynamic bias. Static bias corresponds to the fixed and run-to-run contribution of a deterministic error. Depending on the type of sensor, dynamic bias is generally about 10% of the static one [13] and it includes the in-run, also known as bias instability, and the temperature-dependent error contribution. According to [20], this bias instability varies over time with a period of one or two minutes for low-cost INSs.
The scale factor is a departure of the input–output gradient of the instrument from unity following unit conversion by the IMU [13]. Therefore, a scale factor error is proportional to the true measured value. Misalignments of the sensitive axes of the INS with respect to the orthogonal axes of the body frame that result from a non-perfect packaging process are usually known as cross-coupling errors. Uncalibrated, consumer-grade MEMS can have scale factors and cross-coupling as large as 0.1 and 0.02, respectively [13].
Stochastic errors or random noise affect all inertial sensors due a number of sources [17]. These can be well described by a random probability distribution. It is possible to describe accelerometer and gyro random noise through their integral over time, known as random walks. The standard deviation of a random walk will indeed be proportional to the square root of the integration time.
In addition, further error sources are the quantization of the sensor data, g-dependent bias (depending on the sensor type), scale factor non linearity, cross-coupling error variations (anisoinertia errors) [21] as a function of the specific force and angular rate, errors due to the exceeding of the operating ranges and bandwidth, and higher-order systematic errors that depend on the type of sensor.
Finally, smartphone operating systems can introduce additional errors, such as increased noise and quantization, inconsistent update rates, data lags, and repeated measurements. For this reason, when designing an INS-based navigation filter for smartphones, it is important to characterize the error of the IMU sensors through laboratory tests, rather than relying solely on the manufacturer’s specifications.

3. Laboratory Tests and Results

For this study, we conducted laboratory tests to determine the main error sources and particularly the standard deviation, bias instability, random walk and rate random walk, bias, and scale factor affecting the measurements of the accelerometers and gyroscopes integrated in five different smartphones. Table 1 shows the smartphones we tested and the models of their accelerometer and gyroscope sensors. Each smartphone has a three-axis accelerometer and a three-axis gyro. We used the Single-Position Static Test to determine the stochastic errors of the accelerometers and gyros. We also used the Six-Position Static Test and Gyro Rate Test to estimate their deterministic errors. This section provides an overview of our testing methods and results.

3.1. Single-Position Static Test

In this test, data from the stationary accelerometers and gyros were collected for four hours to observe the standard deviation of the noisy outputs. An Allan Variance analysis was carried out to quantify the bias instability, random walk, and rate random walk.
The Allan Variance (AVAR) is a time domain analysis technique conceived to characterize the noise and stability in clock systems [22,23]. It can also be applied to analyze the measurement error characteristics of any instrument. AVAR represents the root mean square (RMS) random drift error as a function of the average time τ . By performing specific operations on the data, AVAR can be used to characterize different types of noise in inertial sensor data [24]. The AVAR can be computed as follows, as presented in [11,25,26].
From the slopes of the Allan deviation ( σ = σ 2 ) log–log plot versus τ , it is possible to extract several noise parameters. Table 2 reports the ones we determined in our analysis for each of the axes (x,y,z) of both the accelerometers and gyroscopes, and in particular: the standard deviation (SD), bias instability (B), angular random walk (N), and rate random walk (K). Figure 1 and Figure 2 show an example of an Allan variance plot for one accelerometer and one gyro, respectively, of the iPhone XR.
Table 3 reports the standard deviation (SD) values determined for all five considered devices. The maximum and minimum values across all five smartphones are bolded. We can see that the iPhone XR MEMS measurements had the largest gyro noise SD, with a three-axis average of 0.0027 rad/s, while the Samsung SM-A536V ones had the largest accelerometer SD with a value of of 0.0106 m/s2. The One Plus 7 Pro MEMS gyro and accelerometer measurements had the lowest SD instead, with a three-axis average of 0.0042 m/s2 and 2.7073 × 10−4 rad/s. Compared with the specifications from the manufacturers, the Samsung and Pixel phones were very close to the numbers reported in the data sheet. However, the Vivo and One Plus phones had less noise than the values in the specification sheets.
Table 4 and Table 5 report the bias instability, random walk, and rate random walk for the accelerometer and gyro, respectively, of the five considered devices. The largest accelerometer bias instability and random walks were found for the Samsung SM-A536V. The Google Pixel 7 Pro, Vivo X60 Pro, and iPhone XR showed the lowest accelerometer bias, velocity random walk, and acceleration random walk, respectively. The Google Pixel 7 Pro also appeared to have the lowest gyro bias instability and random walks. The Vivo X60 Pro showed the largest gyro bias instability, while the iPhone XR had the largest velocity and acceleration random walks.

3.2. Six-Position Static Test

Usually, the calibration of an IMU is performed using a mechanical platform, which rotates the sensors into different precisely controlled orientations and at known rotational velocities [7,8]. At each orientation and during the rotation, the outputs of the accelerometers and gyros are observed and compared with the pre-calculated gravity force and rotational velocity, respectively.
The Six-Position Static is a widely used calibration method [9]. It involves mounting the IMU on a level surface and aligning each sensitivity axis of each sensor illustrated in Figure 3, with the direction of gravity, and its opposite, as shown in Figure 4. Gravity and Earth rotation rate can be the references for the estimation of the bias and scale factor of the accelerometers and gyros, respectively. Note that more than six positions can be considered (multi-position static test); in this case, for the additional positions (orientations), the reference value will be a fraction of the gravity force for the accelerometers and a fraction of the Earth rotation rate for the gyros.
The bias and scale factor of both the accelerometers and gyros can be calculated using the following equations [9]:
b = y u p + y d o w n 2
K = y u p y d o w n 2 × F 2 × F
where y u p is the average measured specific force or angular rate when the sensitive axis is pointed upwards, y d o w n is the average measured specific force or angular rate when the sensitive axis is pointed downwards, and F is the known reference signal. F is the magnitude of the local gravity g for the accelerometers, while for the gyroscopes, F is the magnitude of the Earth rotation rate projection to the vertical axis at a given latitude ω e .
However, unlike high-grade gyroscopes, low-grade ones such consumer-grade MEMS suffer from bias instability and noise levels that can completely mask the Earth’s reference signal. Therefore, the Earth rotation can typically only be used for high-grade gyroscopes. In our case, the Six-Position Static test was performed only for the accelerometers. The accuracy of this method depends on how well the axes are aligned with the vertical axes of the local level frame. This standard calibration method can only be used to determine the bias and scale factors of sensors, but cannot estimate axes misalignments, for which a more complex method is required.
Table 6 reports the bias and scale factor (SF) determined for the five smartphones by carrying out the Six-Position Static test.
In this case, the One Plus 7 Pro resulted in being the one with the largest accelerometer bias, while the Vivo X60 pro was the one with smallest. The Samsung SM-A536V had the smallest scale factor and the iPhone XR had the largest.

3.3. Gyro Rate Test

In this test, as shown in Figure 5, Figure 6 and Figure 7, we used the robotic arm Dorna 2 [27] and a phone holder we designed and printed, to stimulate each gyro axis with a given reference angular velocity ω r e f and with the same, but in the opposite direction ω r e f .
The output of the gyros was recorded for a few minutes. Therefore, the bias and scale factor were calculated as follows:
b = y ω r e f + y ω r e f 2
K = y ω r e f y ω r e f 2 × ω r e f 2 × ω r e f
In general, the test can be repeated with different reference values ω r e f in order to characterize the scale factor and bias as a function of the angular rate. For this paper, we collected data for two representative angular rate values of 10 deg/s and 40 deg/s. Note that the test can also be repeated for different g values for the characterization of the g -dependent errors. In our tests, each gyro axis was aligned with the local vertical axis.
Table 7 and Table 8 report the bias and SF values at 10 deg/s and 40 deg/s, respectively, for all five smartphones.
For the gyros at 10 deg/s, the One Plus 7 Pro exhibited the largest bias and SF values, while the Pixel 7 Pro showed the lowest bias and second-lowest scale factor. The same cannot be said for the gyro bias and SF at 40 deg/s, for which the One Plus 7 Pro showed the highest scale factor but the lowest bias, while the Pixel 7 Pro and Vivo X60 Pro had the highest bias and lowest scale factor, respectively.

4. Effect of MEMS Errors on Positioning

The inertial navigation state solution, including position, velocity, and attitude, is affected by errors from three sources: errors in accelerometer and gyro sensor measurements, errors in the initialized state, and processing errors. As discussed in Section 2, measurement errors consist of a stochastic, random component and a deterministic, systematic one. Random noise from accelerometers and gyros has a cumulative effect on navigation errors. Accelerometer and gyro biases are integrated into the navigation equations, producing position, velocity, and attitude errors that increase over time. Attitude errors also affect velocity and position errors. Velocity initialization errors produce a growing position error when integrated.
Processing errors arise due to several factors, including the discretization of the navigation equation, the effects of finite iteration rates, approximations in the gravity model, computational rounding errors, and timing errors [13,15].
Inertial error propagation is also influenced by the host vehicle trajectory; indeed, for example, the coupling of heading errors into position and velocity, as well as the effect of the scale factor and cross-coupling errors, all strongly depend on the host vehicle dynamics [28].
Very simple models of gravity, function of latitude and height only, can be a significant source of error (up to 0.1 mg), particularly if high-precision inertial sensors are used. Timing errors (due to a non-perfect clock within the inertial navigation processor) are generally negligible compared to the other sources.

4.1. Short-Term Straight-Line Pure Inertial Propagation

In order to analyze the effect of inertial error propagation, we can evaluate the short-term error propagation given the noise SD and bias values determined in Section 3 and some errors in the initial position, velocity, and attitude states.
Let us consider the simplest case of a host vehicle traveling in a straight and level line at a constant velocity and constant temperature, and derive each error contribution as done in [13]. The effects of the curvature and rotation of the Earth and gravity approximations can be neglected. The error of the position of the INS body frame b , with the respect to the origin of a frame β resolved about the axes of a frame γ error, can be formulated as the integral of the velocity error with a constant velocity error,
δ r β b γ = δ v β b γ t .
where t is the integration time, while the velocity error is the integral of the acceleration error with a constant accelerometer bias b a ,
δ v β b γ = C b γ b a t .
where C b γ is a rotation matric from frame b to frame γ .
Therefore, the position error will be:
δ r β b γ = 1 2 C b γ b a t 2
Note that there is no error propagation between the axes, since we assume that the attitude remains constant.
With a small-angle approximation, the attitude error can be expressed as a vector resolved about a certain set of axes. We can denote with f ˜ i b b the specific force measured by the accelerometer, and with δ Ψ γ b γ , the error in the INS-indicated attitude of frame b with respect to a frame γ , resolved about the frame γ axes.
An acceleration error due to the constant attitude error δ Ψ γ b γ under a small-angle assumption is:
δ a β b γ δ Ψ γ b γ × ( C b γ f ˜ i b b ) = C b γ ( δ Ψ γ b γ × f ˜ i b b )
Velocity and position errors due to an attitude error are:
δ v β b γ δ Ψ γ b γ × [ C b γ ( 0 0 g ) ] t       = C b γ [ δ Ψ γ b γ × ( 0 0 g ) ] t   δ r β b γ 1 2 δ Ψ γ b γ × [ C b γ ( 0 0 g ) ] t 2 = 1 2 C b γ [ δ Ψ γ b γ × ( 0 0 g ) ] t 2
An attitude error due to a gyro bias is simply:
δ Ψ i b b b g t
Therefore, velocity and position errors due to a gyro bias are:
δ v β b γ 1 2 C b γ [ b g × ( 0 0 g ) ] t 2 δ r β b γ 1 6 C b γ [ b g × ( 0 0 g ) ] t 3
Assuming white noise and denoting the single-sided accelerometer and gyroscope noise PSDs as S a and S g , the SDs of position and velocity errors due to accelerometer noise for each axis i x , y , z are [13]:
σ ( δ v β b , i γ ) = S a t σ ( δ r β b , i γ ) = 1 3 S a t 3
While the SDs of attitude, horizontal position, and horizontal velocity errors due to gyroscope noise are [13]:
σ ( δ Ψ β b , i γ ) = S g t σ ( δ v β b , j n ) = g 1 3 S g t 3 σ ( δ r β b , j γ ) = g 1 5 S g t 5
where i x , y , z and j   N o r t h ,   E a s t .
In a nutshell, according to [13], short-term position error growth due to different sources can be summarized as in Table 9.
For the five smartphones considered, the following figures show the short-term straight-line position error SD growth per axis due to the noise and bias values determined in Section 3, with an initial position error of 10 m, initial velocity error of 0.1 m/s, and initial attitude error of 0.01 rad. The figure on the left displays the horizontal error, while the one on the right illustrates the vertical error. In particular, Figure 8 shows the total error accounting for bias, noise, and errors in the initial condition, while Figure 9 shows the error due to the noise contribution only. We can see that the largest horizontal position error in Figure 8 is accumulated with the MEMS errors of the One Plus 7 Pro, while the smallest is with the ones of the Pixel 7 Pro. This is expected, since the MEMS measurements of the One Plus 7 Pro had the highest accelerometer and gyro bias values, while the ones of the Pixel 7 Pro had the lowest gyro bias. It is interesting to see in Figure 9 that, if noise was the only source of error, the One Plus would outperform, since it showed the lowest noise SD values, but as shown in Figure 8, because of the strongest impact of its large accelerometer and gyro biases, it accumulated the largest position error.
As expected, the gyro biases had the strongest impact on positioning over time. Indeed, this grows with t 3 . Accelerometer biases produce an error in position that grows with t 2 . Approximately, for 2D navigation, uncompensated gyro and accelerometer biases result in position errors of 1 6 b g g t 3 and 1 2 b a g t 2 , respectively [29]. In less than 100 s, a pure inertial propagation using the inertial measurements with the errors found in Section 3 for all the considered smartphones would result in an error of larger than 1 km.
These results only show the position, velocity, and attitude errors when purely propagating the MEMS measurements (pure inertial propagation). In addition to the quality of the MEMS measurements, the final navigation performance of each smartphone also depends on the GNSS measurements; indeed MEMS inertial measurements are usually corrected with GNSS measurements (these may be may be more accurate for one of the considered devices and less for another one). The next section investigates the impact of different MEMS INS measurements with different errors on an INS-GNSS position solution.

4.2. INS-GNSS Positioning

In most cases, the MEMS measurements of a smartphones are fused with GNSS observations. If at least four GNSS satellites are available, processing their signals and observations can provide a position solution that can prevent the error drift showed in Figure 8 and Figure 9 of a pure inertial solution. We evaluated the impact of different MEMS measurement errors on an INS-GNSS tightly coupled navigation solution for a short drive of 5 min around our campus in San Jose, California.
We modelled the accelerometer and gyro measurements as follows, according to [13,30], taking into account the mean value across the x,y,z axes of the error components estimated in our lab tests and reported in Section 3, for each of the five considered smartphones.
f ˜ i b b = b a + s a f i b b + w a
ω ˜ i b b = b g + s g ω i b b + w g
where f ˜ i b b and ω ˜ i b b are the IMU-output specific force and angular rate measurements, f i b b and ω i b b are the true counterparts, b a and b g are their biases, s a and s g are their scale factors, and w a and w g are their noise, respectively.
GNSS pseudorange ρ and pseudorange rate ρ ˙ observations were modelled as in Equations (16) and (17), respectively, according to [31,32], by assuming a GPS constellation of 30 satellites and accounting for a signal in space error SD of 1 m, an atmosphere residual error (after applied correction) SD of 2 m for the ionosphere and 0.2 m for the troposphere, a code tracking error SD of 1 m, a range rate tracking error SD of 0.02 m/s, an initial receiver clock offset of 10,000 m, and initial clock drift of 100 m/s.
ρ i = ( x s a t i x u ) 2 + ( y s a t i y u ) 2 + ( z s a t i z u ) 2 + b + e r r o r s ρ i
ρ ˙ i = ( v s a t i v u ) · a i + b ˙ + e r r o r s ρ ˙ i
In Equation (16), [ x s a t i y s a t i z s a t i ] T denotes the position vector of the ith GPS satellite that is transmitting the signal, [ x u y u z u ] T is the user’s position vector, and b is the receiver’s clock offset in meters. In Equation (17), v s a t i and v u are, respectively, the velocity vector of the ith transmitting GPS satellite and of the user, b ˙ represents the clock’s drift expressed as range-rate bias (in m / s ), and a i is the line-of-sight (LOS) vector from the user to the ith GPS satellite.
We filtered the inertial measurements with the simulated GNSS measurements utilizing an INS-GNSS tight integration EKF based on [13]. Figure 10 illustrates the functional architecture of the adopted INS-GNSS integration.
Table 10 reports the EKF formulation described in [32].
The state vector of the EKF is the following:
x = [ δ φ δ v δ r b a b g δ ρ c G N S S δ ρ ˙ c G N S S ] T
where,
δ φ is the attitude error,
δ v is the velocity error,
δ r is the position error,
b a are the accelerometer biases,
b g are the gyro biases,
δ ρ c G N S S is the receiver clock offset,
δ ρ ˙ c G N S S is the receiver clock drift.
The measurement vector is:
z = [ ρ G N S S ρ ˙ G N S S ]  
where ρ G N S S and ρ ˙ G N S S are the pseudoranges and pseudorange rates of the available GPS satellites, respectively.
The measurement innovation vector includes the differences between the GNSS-measured pseudorange and pseudorange rates and the corresponding values predicted by the corrected inertial navigation solution at the same time of validity, by using the estimated receiver clock offset and drift, and navigation-data-indicated satellite positions and velocities.
The matrices Φ k 1 ,   Q k 1 ,   R k , H k were implemented according to Chapter 14 of [13].
We estimated five different trajectories using the same INS-GNSS tight integration filter, identical GNSS observations, and identical initial conditions. However, we modeled different sets of inertial measurements based on the MEMS error estimates from the lab tests in Section 3 for each of the five smartphones. We used a precise navigation system that fused a carrier-phase GNSS and higher-grade inertial measurements to provide a reference trajectory (ground truth) for the drive. We then calculated the error of the INS-GNSS-estimated trajectories using this reference.
Figure 11 shows the motion profile as the North, East, Down (NED) displacements and velocity, bank, elevation, and heading of the reference trajectory. The motion profile includes five turns of approximately 90 deg, with a maximum speed of approximately 10 m/s.
We analyzed two cases: one with a mask angle of 10 deg, corresponding to seven GNSS satellites available for the whole drive, and one with a mask angle of 45 deg, corresponding to a reduced GNSS availability for most of the drive.
Figure 12 shows the kml tracks of the five estimated position solutions obtained with the MEMS measurements of the five considered smartphones, as well as the track of the reference solution, with a mask angle of 10 deg. In general, from Figure 12, there are no evident performance differences. For all the considered smartphones, the GNSS observations from the available seven satellites successfully corrected the inertial solution and prevented any error drift. Small positioning differences can be recognized when zooming into Figure 12, as shown in Figure 13. Some more evident differences in the velocity and especially the attitude estimation errors can be observed by directly comparing the velocity and attitude error components. Figure 14 and Figure 15 show the lowest velocity and attitude estimation errors (obtained with the MEMS errors of the Pixel 7 Pro) and the largest ones (obtained with the MEMS errors of the One Plus 7 Pro), respectively.
When increasing the mask angle to 45 deg after initialization, the number of available GNSS satellites dropped to three for the first 268 s, as illustrated in Figure 16.
Figure 17 and Figure 18 show the same tracks of Figure 12, but obtained with a mask angle of 45 deg. Unlike in Figure 12, where the solutions were obtained with seven available GNSS satellites, for only three GNSS satellites available we can see a substantial degradation of the positioning accuracy with an error drift. In this case, the differences between the performances of the five different smartphones were more evident and relevant. The position solution estimated for the One Plus 7 Pro was the one that diverged first. The one based on the MEMS measurement errors of the Pixel 7 Pro appeared to accumulate the smallest error by the end of the time interval with only three satellites available. Figure 19 and Figure 20 show the position, velocity, and attitude estimation error components obtained for these two smartphones. We can see that the INS-GNSS positioning accuracy in poor GNSS conditions (number of available GNSS satellites less than four) can be substantially different across the five considered smartphones can change substantially. By comparing the North, East, and Down position estimation error components of the Pixel 7 Pro (Figure 19) with those of One Plus 7 Pro (Figure 20), we can observe a difference of about one order of magnitude (e.g., for the Down component, we have errors up to about 320 m for the Pixel 7 Pro and up to about 3200 m for the One Plus 7 Pro).

5. Discussion

Section 4.1 and Section 4.2 present an analysis of the short-term effects of the main error sources introduced in Section 2 and determined in Section 3 on the navigation accuracy in two different scenarios and conditions, with corresponding results. While Section 4.1 examined straight-line motion at a constant speed using INS only, Section 4.2 examined motion with five turns of approximately 90 degrees and a maximum speed of approximately 10 m/s using both INS and GNSS. From Section 4.1, we can see that pure inertial navigation using MEMS measurements with a smartphone can be accurate for a very short time (a few seconds) and quickly becomes highly inaccurate. For all five smartphones, the accumulated horizontal error on a short-term straight-line propagation was larger than 1 km in just 100 s. We can also see that phones with larger uncompensated biases had a much faster error growth, leading to significant differences in their performance when navigating in GNSS-denied environments such as tunnels and parking garages. From Section 4.2, we can see that, as long as more than four GNSS satellites are available, MEMS measurements from a phone with larger biases and higher noise did not lead to significantly larger navigation errors than those with lower biases and lower noise, unlike in the case of the pure inertial propagation in Section 4.1. However, there was a non-negligible difference in performance when only three GNSS satellites were available. In this case, the error drifts by more than 3 km within a span of approximately 250 s during a drive that includes three turns, each of approximately 90 deg.
An important aspect to consider is that the accuracy of the final position solution provided by a smartphone, in reality, will also strongly depend on the availability and quality of the GNSS measurements, which here in this paper, were simulated to be identical for each smartphone, in order to isolate and uniquely evaluate the MEMS impacts on positioning performance. Indeed, one smartphone may embed MEMS of a higher quality, but a GNSS receiver with a poorer signal processing performance. In addition, some smartphones may utilize measurements from additional sensors, such as a magnetometer, barometer, motion constraints modelled as virtual measurements, and different estimation algorithms, which can all affect the achievable navigation performance. Therefore, the reader should not solely rely on the results presented in this paper to determine the positioning capabilities of the considered smartphones. How accurate the position solution of one smartphone was with respect to that of another smartphone presented here may not reflect the overall performances, which are based on the individual navigation architecture and on the individual availability and quality of the measurements provided by additional sensors. Nevertheless, the goal of this work was to quantify the main error components affecting MEMS INS measurements in a smartphone and analyze their effect on positioning, rather than determining what smartphone showed the overall best navigation capabilities.
Numerous literature studies have proposed different methods for enhancing the achievable navigation accuracy when using an INS and or the fusion of an INS with a GNSS. Zero updates and motion constraints are techniques that can help to improve the accuracy of position tracking when using IMUs in smartphones and other devices [13,33,34]. These techniques can be combined with machine learning methods and with the processing of the measurements of other sensors to further improve the achievable positioning accuracy [35,36,37]. In particular, Zero velocity updates (ZVUs) are used to maintain the alignment and calibration of an INS when the host vehicle or user is stationary during navigation. This technique is particularly useful in poor GNSS signal environments, such as urban areas, and can be used for land vehicle navigation. Zero angular rate updates (ZARUs) are another technique that can be used to improve the accuracy of position tracking. ZARUs and ZVUs are often performed together, but may also be implemented independently.
Motion constraints are used to correct and calibrate the errors in an INS by taking advantage of the limitations in the movement of a vehicle or pedestrian. These constraints provide additional information to the navigation solution based on the operating context. They are also known as nonholonomic constraints, which introduce a dependency of the state estimates on their previous values [13].
Machine learning methods can be used to improve position tracking, e.g., by identifying periods when IMUs are stopped (zero-velocity detection) and estimating the displacement of the sensors during periods of movement. For example, classifiers such as Random Forest, Support Vector Machines (SVM), and neural networks based on Long Short-Term Memory (LSTM) layers can be used to identify zero-velocity periods [36,37].
In addition, a higher accuracy and robustness can be achieved by combining data from additional available embedded sensors, such as magnetometers, barometers, Wi-Fi systems, and cameras [38,39]. The fusion of data from these sensors can overcome their individual limitations and provide a more precise and reliable navigation solution.

6. Conclusions

In this paper, we analyzed the main sources of the stochastic and deterministic errors affecting MEMS sensor measurements in five commercial smartphones. We carried out specific laboratory tests to determine the standard deviations, bias instabilities, random walks, rate random walks, biases, and scale factors of both the accelerometers and gyros in these devices.
Our results in Section 3 showed that the MEMS measurement errors of one smartphone could be significantly larger than those of another. These differences were large enough to result in substantially different INS and INS-GNSS navigation performances.
Some of the MEMS sensors may not have been calibrated before being embedded into their respective smartphones, considering the large biases and scale factors we determined.
In general, the measurements of the MEMS sensors embedded in the smartphones we considered are not accurate enough for meaningful, long-term pure inertial navigation. Fusing MEMS measurements with a GNSS prevents drift, as long as at least four GNSS satellites are available. However, when fusing three GNSS observations only, as expected, the solution will be affected by a drifting error, whose severity will mainly depend on the bias of the inertial measurements.
In our future work, we plan to conduct more specific tests to determine higher-order errors and evaluate their effect on positioning accuracy, also modelling motion constraints and additional measurements from other sensors.

Author Contributions

Validation, J.E.B.; Investigation, V.C. and L.X. All authors have read and agreed to the published version of the manuscript.

Funding

This research received no external funding.

Institutional Review Board Statement

Not applicable.

Informed Consent Statement

Not applicable.

Data Availability Statement

Not applicable.

Conflicts of Interest

The authors declare no conflict of interest.

References

  1. Bogue, R. MEMS sensors: Past, present and future. Sens. Rev. 2007, 27, 7–13. [Google Scholar] [CrossRef]
  2. Shin, E.-H. Estimation Techniques for Low-Cost Inertial Navigation. Ph.D. Thesis, University of Calgary, Calgary, AB, Canada, 2005. [Google Scholar]
  3. Brown, A.K. GPS/INS uses Low-Cost MEMS IMU. IEEE Aerosp. Electron. Syst. Mag. 2005, 20, 3–10. [Google Scholar] [CrossRef]
  4. Available online: https://invensense.tdk.com/wp-content/uploads/2023/01/DS-000440-IIM-42652-TYP-v1.2.pdf (accessed on 12 January 2022).
  5. Available online: https://www.bosch-sensortec.com/media/boschsensortec/downloads/product_flyer/bst-bmi263-fl000.pdf (accessed on 12 January 2022).
  6. Park, M. Error analysis and Stochastic Modeling of MEMS Based Inertial Sensors for Land Vehicle Navigation Applications. Ph.D. Thesis, University of Calgary, Calgary, AB, Canada, 2004. [Google Scholar]
  7. Skog, I.; Händel, P. Calibration of a MEMS Inertial Measurement Unit. In Proceedings of the XVII IMEKO World Congress, Rio de Janeiro, Brazil, 17–22 September 2006. [Google Scholar]
  8. IEEE Std 647-2006; IEEE Standard Specification Format Guide and Test Procedure for Single-Axis Laser Gyros. IEEE: New York, NY, USA, 2006.
  9. Syed, Z.F.; Aggarwal, P.; Goodall, C.; Niu, X.; El-Sheimy, N. A new multi-position calibration method for MEMS inertial navigation systems. Meas. Sci. Technol. 2007, 18, 1897–1907. [Google Scholar] [CrossRef]
  10. Aslan, G.; Afsar, S. Characterization and calibration of MEMS inertial measurement units. In Proceedings of the 2008 16th European Signal Processing Conference, Lausanne, Switzerland, 25–29 August 2008; pp. 1–5. [Google Scholar]
  11. Zhang, X.; Li, Y.; Mumford, P.; Rizos, C. Allan variance analysis on error characters of MEMS inertial sensors for an FPGA-based GPS/INS system. In Proceedings of the International Symposium on GPS/GNSS, Tokyo, Japan, 11–14 November 2008; pp. 127–133. [Google Scholar]
  12. Ciecko, A.; Grunwald, G.; Kowalski, K.; Tanajewski, D.; Dobek, M. Analysis of the Accuracy and Usefulness of MEMS Chipsets Embedded in Popular Mobile Phones in Inertial Navigation. IOP Conf. Ser. Earth Environ. Sci. 2018, 221, 012070. [Google Scholar] [CrossRef]
  13. Paul, G. Principles of GNSS, Inertial, and Multisensor Integrated Navigation Systems, 2nd ed.; Artech: Morristown, NJ, USA, 2013. [Google Scholar]
  14. Titterton, D.; John, W. Strapdown Inertial Navigation Technology; IEE Radar, Sonar, Navigation and Avionics Series; Peter Peregrinus: London, UK, 1997. [Google Scholar]
  15. Noureldin, A.; Karamat, T.B.; Georgy, J. Fundamentals of Inertial Navigation, Satellite-Based Positioning and Their Integration; Springer: Berlin/Heidelberg, Germany, 2013; pp. 978–983. [Google Scholar]
  16. Savage, P.G. Strapdown Analytics; Strapdown Associates: Maple Plain, MN, USA, 2000. [Google Scholar]
  17. Mohd-Yasin, F.; Nagel, D.J.; Korman, C.E. Noise in MEMS. Meas. Sci. Technol. 2009, 21, 012001. [Google Scholar] [CrossRef]
  18. Quinchia, A.G.; Falco, G.; Falletti, E.; Dovis, F.; Ferrer, C. A Comparison between Different Error Modeling of MEMS Applied to GPS/INS Integrated Systems. Sensors 2013, 13, 9549–9588. [Google Scholar] [CrossRef] [PubMed]
  19. Christel, L.A.; Bernstein, M.; Craddock, R.; Petersen, K. Vibration rectification in silicon micromachined accelerometers. In Proceedings of the TRANSDUCERS’91: 1991 International Conference on Solid-State Sensors and Actuators, San Francisco, CA, USA, 24–27 June 1991. [Google Scholar]
  20. Hong, S.; Lee, M.H.; Chun, H.H.; Kwon, S.H.; Speyer, J.L. Observability of error states in GPS/INS integration. IEEE Trans. Veh. Technol. 2005, 54, 731–743. [Google Scholar] [CrossRef]
  21. Groves, P.D. Navigation using inertial sensors [Tutorial]. IEEE Aerosp. Electron. Syst. Mag. 2015, 30, 42–69. [Google Scholar] [CrossRef]
  22. Allan, D.W. Statistics of atomic frequency standards. Proc. IEEE 1966, 54, 221–230. [Google Scholar] [CrossRef]
  23. Allan, D.W. Time and frequency (time-domain) characterization, estimation, and prediction of precision clocks and oscillators. IEEE Trans. Ultrason. Ferroelectr. Freq. Control. 1987, 34, 647–654. [Google Scholar] [CrossRef] [PubMed]
  24. El-Sheimy, N.; Hou, H.; Niu, X. Analysis and Modeling of Inertial Sensors Using Allan Variance. IEEE Trans. Instrum. Meas. 2007, 57, 140–149. [Google Scholar] [CrossRef]
  25. Freescale Semiconductor. Allan Variance: Noise Analysis for Gyroscopes. Available online: https://telesens.co/wp-content/uploads/2017/05/AllanVariance5087-1.pdf2/2015 (accessed on 12 January 2022).
  26. Available online: https://www.mathworks.com/help/fusion/ug/inertial-sensor-noise-analysis-using-allan-variance.html (accessed on 12 January 2022).
  27. Available online: https://dorna.ai/robot/dorna-2/ (accessed on 12 January 2022).
  28. Bokare, P.; Maurya, A. Acceleration-Deceleration Behaviour of Various Vehicle Types. Transp. Res. Procedia 2017, 25, 4733–4749. [Google Scholar] [CrossRef]
  29. El-Sheimy, N. Inertial Techniques and INS/DGPS Integration. In Engo 623-Course Notes; Department of Geomatics Engineering, University of Calgary: Calgary, AB, Canada, 2006. [Google Scholar]
  30. Capuano, V.; Botteron, C.; Wang, Y.; Tian, J.; Leclère, J.; Farine, P.A. GNSS/INS/Star tracker integrated navigation system for Earth-Moon transfer orbit. In Proceedings of the 27th International Technical Meeting of the Satellite Division of The Institute of Navigation (ION GNSS+ 2014), Tampa, FL, USA, 8–12 September 2014. [Google Scholar]
  31. Shehaj, E.; Capuano, V.; Botteron, C.; Blunt, P.; Farine, P.A. GPS based navigation performance analysis within and beyond the Space Service Volume for different transmitters’ antenna patterns. Aerospace 2017, 4, 44. [Google Scholar] [CrossRef]
  32. Capuano, V. GNSS-Based Navigation for Lunar Missions. Ph.D. Thesis, EPFL, Lausanne, Switzerland, 2016. [Google Scholar]
  33. Liu, Z.; El-Sheimy, N.; Yu, C.; Qin, Y. Motion Constraints and Vanishing Point Aided Land Vehicle Navigation. Micromachines 2018, 9, 249. [Google Scholar] [CrossRef] [PubMed]
  34. Klein, I.; Filin, S.; Toledo, T. Vehicle Constraints Enhancement for Supporting INS Navigation in Urban Environments. Navigation 2011, 58, 7–15. [Google Scholar] [CrossRef]
  35. Li, X.; Wang, Y. Research on the UWB/IMU fusion positioning of mobile vehicle based on motion constraints. Acta Geod. Geophys. 2020, 55, 237–255. [Google Scholar] [CrossRef]
  36. Ribeiro, P.M.S.; Matos, A.C.; Santos, P.H.; Cardoso, J.S. Machine Learning Improvements to Human Motion Tracking with IMUs. Sensors 2020, 20, 6383. [Google Scholar] [CrossRef]
  37. Li, Y.; Hu, X.; Zhuang, Y.; Gao, Z.; Zhang, P.; El-Sheimy, N. Deep Reinforcement Learning (DRL): Another Perspective for Unsupervised Wireless Localization. IEEE Internet Things J. 2020, 7, 6279–6287. [Google Scholar] [CrossRef]
  38. Aicardi, I.; Dabove, P.; Lingua, A.; Piras, M. Sensors integration for smartphone navigation: Performances and future challenges. ISPRS-Int. Arch. Photogramm. Remote. Sens. Spat. Inf. Sci. 2014, XL-3, 9–16. [Google Scholar] [CrossRef]
  39. Chen, R.; Chen, L. Smartphone-Based Indoor Positioning Technologies; Shi, W., Goodchild, M.F., Batty, M., Kwan, M.P., Zhang, A., Eds.; Urban Informatics, The Urban Book Series; Springer: Singapore, 2021. [Google Scholar] [CrossRef]
Figure 1. Example of Allan Variance plot for the y-axis accelerometer of iPhone XR.
Figure 1. Example of Allan Variance plot for the y-axis accelerometer of iPhone XR.
Sensors 23 07609 g001
Figure 2. Example of Allan Variance plot for the y-axis gyro of iPhone XR.
Figure 2. Example of Allan Variance plot for the y-axis gyro of iPhone XR.
Sensors 23 07609 g002
Figure 3. IMU axes.
Figure 3. IMU axes.
Sensors 23 07609 g003
Figure 4. Six positions (af). The six positions of the IMU are indicated by the directions of each orthogonal axis of the IMU. The reference direction corresponds to a vector pointing towards the reader, represented by a dot within a circle. A vector pointing in the opposite direction away from the reader is represented by a cross within a circle.
Figure 4. Six positions (af). The six positions of the IMU are indicated by the directions of each orthogonal axis of the IMU. The reference direction corresponds to a vector pointing towards the reader, represented by a dot within a circle. A vector pointing in the opposite direction away from the reader is represented by a cross within a circle.
Sensors 23 07609 g004
Figure 5. Experimental setup for the Gyro Rate Test showing the robot Dorna 2 and smartphone device.
Figure 5. Experimental setup for the Gyro Rate Test showing the robot Dorna 2 and smartphone device.
Sensors 23 07609 g005
Figure 6. Experimental setup for the Gyro Rate Test showing the robot Dorna 2 and the phone holder.
Figure 6. Experimental setup for the Gyro Rate Test showing the robot Dorna 2 and the phone holder.
Sensors 23 07609 g006
Figure 7. Phone holder that connects the smartphones to the robot head.
Figure 7. Phone holder that connects the smartphones to the robot head.
Sensors 23 07609 g007
Figure 8. Short-term straight-line position error SD growth per axis for One Plus, iPhone XR, Vivo X60 Pro, Pixel 7 Pro, and Samsung SM-A536V.
Figure 8. Short-term straight-line position error SD growth per axis for One Plus, iPhone XR, Vivo X60 Pro, Pixel 7 Pro, and Samsung SM-A536V.
Sensors 23 07609 g008
Figure 9. Short-term straight-line position error SD growth per axis for One Plus, iPhone XR, Vivo X60 Pro, Pixel 7 Pro, and Samsung SM-A536V with perfect initial conditions, zero biases, and only noise effect.
Figure 9. Short-term straight-line position error SD growth per axis for One Plus, iPhone XR, Vivo X60 Pro, Pixel 7 Pro, and Samsung SM-A536V with perfect initial conditions, zero biases, and only noise effect.
Sensors 23 07609 g009
Figure 10. Functional architecture of the adopted INS-GNSS integration.
Figure 10. Functional architecture of the adopted INS-GNSS integration.
Sensors 23 07609 g010
Figure 11. Reference trajectory estimated by the high-precision INS-GNSS navigation system.
Figure 11. Reference trajectory estimated by the high-precision INS-GNSS navigation system.
Sensors 23 07609 g011
Figure 12. Kml trajectories of reference IMU in black, iPhone XR in green, One Plus 7 Pro in light blue, Vivo X60 Pro in purple, Google Pixel 7 Pro in yellow, and Samsung SM-A536V in red, when assuming a mask angle of 10 deg.
Figure 12. Kml trajectories of reference IMU in black, iPhone XR in green, One Plus 7 Pro in light blue, Vivo X60 Pro in purple, Google Pixel 7 Pro in yellow, and Samsung SM-A536V in red, when assuming a mask angle of 10 deg.
Sensors 23 07609 g012
Figure 13. Zoom of Figure 12.
Figure 13. Zoom of Figure 12.
Sensors 23 07609 g013
Figure 14. Position, velocity, and attitude estimation errors for Samsung SM-A536V, with a mask angle of 10 deg (corresponding to 7 GNSS satellites available for the whole drive).
Figure 14. Position, velocity, and attitude estimation errors for Samsung SM-A536V, with a mask angle of 10 deg (corresponding to 7 GNSS satellites available for the whole drive).
Sensors 23 07609 g014
Figure 15. Position, velocity, and attitude estimation errors for One Plus 7 Pro, with a mask angle of 10 deg (corresponding to 7 GNSS satellites available for the whole drive).
Figure 15. Position, velocity, and attitude estimation errors for One Plus 7 Pro, with a mask angle of 10 deg (corresponding to 7 GNSS satellites available for the whole drive).
Sensors 23 07609 g015
Figure 16. Number of available GNSS satellites with a mask angle of 45 deg.
Figure 16. Number of available GNSS satellites with a mask angle of 45 deg.
Sensors 23 07609 g016
Figure 17. Kml trajectories of reference IMU in black, iPhone XR in green, One Plus 7 Pro in light blue, Vivo X60 Pro in purple, Google Pixel 7 Pro in yellow, and Samsung SM-A536V in red, with a mask angle of 45 deg.
Figure 17. Kml trajectories of reference IMU in black, iPhone XR in green, One Plus 7 Pro in light blue, Vivo X60 Pro in purple, Google Pixel 7 Pro in yellow, and Samsung SM-A536V in red, with a mask angle of 45 deg.
Sensors 23 07609 g017
Figure 18. Zoom of Figure 17.
Figure 18. Zoom of Figure 17.
Sensors 23 07609 g018
Figure 19. Position, velocity, and attitude estimation errors for Pixel 7 Pro.
Figure 19. Position, velocity, and attitude estimation errors for Pixel 7 Pro.
Sensors 23 07609 g019
Figure 20. Position, velocity, and attitude estimation errors for One Plus 7 Pro.
Figure 20. Position, velocity, and attitude estimation errors for One Plus 7 Pro.
Sensors 23 07609 g020
Table 1. Tested smartphones and corresponding inertial sensors they integrate.
Table 1. Tested smartphones and corresponding inertial sensors they integrate.
Smartphone ModelManufacturerAccelerometersGyroscopes
Samsung SM-A536VSamsungElectronics Co Ltd. (Suwon, Republic of Korea)LSM6DSOTRLSM6DSOTR
Google Pixel 7 ProGoogle LLC (Mountain View, CA, USA)LSM6DSVLSM6DSV
Vivo X60 ProVivo Communication Technology Co., Ltd. (Dongguan, China)LSM6DSOLSM6DSO
iPhone XRApple Inc. (Cupertino, CA, USA)N.A.N.A.
One Plus 7 ProOnePlus Technology Co., Ltd. (Shenzhen, China)BMI160BMI160
Table 2. Formula, curve slope, and coefficient value for each noise parameter [10].
Table 2. Formula, curve slope, and coefficient value for each noise parameter [10].
Error Type log ( σ )   v s .   log ( τ ) Curve SlopeCoefficient Value
Random Walk log ( σ ) = 1 2 log ( τ ) + log ( N ) 1 2 N = σ ( 1 )
Bias Instability log [ σ ( f 0 ) ] = log ( 2 l n 2 π · B ) 0 B = σ ( f 0 ) 0.664
Rate Random Walk log ( σ ) = 1 2 log ( τ ) + log ( K 3 ) + 1 2 K = σ ( 3 )
Table 3. Standard deviation.
Table 3. Standard deviation.
SD Accelerometer [m/s2]SD Gyro [rad/s]
Samsung SM-A536VX0.0100490680.001242583
Y0.0104410810.001253576
Z0.0114211300.001586549
mean0.0106370930.001360903
Google Pixel 7 ProX0.0076635860.000889025
Y0.0079704490.000907514
Z0.0107057120.000712619
mean0.0087799160.000836386
Vivo X60 ProX0.0059284500.000467233
Y0.0056310800.000652637
Z0.0040411360.000402250
mean0.0052002220.000507373
iPhone XRX0.0095885200.001465648
Y0.0078805210.002250331
Z0.0108387790.004264051
mean0.0094359400.002660010
One Plus 7 ProX0.0041138920.000273676
Y0.0024558760.000302612
Z0.0059097290.000235906
mean0.0041598320.000270731
Table 4. Accelerometer bias instability and random walks.
Table 4. Accelerometer bias instability and random walks.
Bias Instability B [m/s2]Velocity Random Walk N [(m/s2)/sqrt(Hz)]Acceleration Random Walk K [(m/s2) × sqrt(Hz)]
Samsung SM-A536VX0.0004740350.0022321180.001288714
Y0.0005163430.0021747480.001255592
Z0.0030069050.0188871060.010904476
mean0.0013324280.0077646570.004482927
Google Pixel 7 ProX0.0002080680.0017125720.000988754
Y0.0001754900.0018353990.001059668
Z0.0002682150.0023251180.001342408
mean0.0002172580.0019576960.001130277
Vivo X60 ProX0.0004188080.0010490930.000605583
Y0.0003566500.0011279310.000651211
Z0.0002567320.0008901060.000513903
mean0.0003440630.0010223770.000590232
iPhone XRX0.0009106700.0011799360.000313525
Y0.0005715800.0011337890.000124237
Z0.0011666500.0017516740.000050204
mean0.0008829670.0013551330.000162655
One Plus 7 ProX0.0002856250.0005349560.000308857
Y0.0004162240.0006454930.000372675
Z0.0003818710.0038914510.002246731
mean0.0003612400.0016906330.000976088
Table 5. Gyro bias instability and random walks.
Table 5. Gyro bias instability and random walks.
Bias Instability B [rad/s]Angular Random Walk N [(rad/s)/sqrt(Hz)]Rate Random Walk K
[(rad/s) × sqrt(Hz)]
Samsung SM-A536VX0.0000161380.0002725140.000157336
Y0.0000091820.0003703770.000213837
Z0.0000061440.0004196850.000242305
mean0.0000104880.0003541920.000204493
Google Pixel 7 ProX0.0000111380.0002044100.000118016
Y0.0000087380.0002071310.000119587
Z0.0000088550.0001590000.000091799
mean0.0000095670.0001901800.000109801
Vivo X60 proX0.0001702950.0016847840.000972710
Y0.0001078530.0015833110.000914125
Z0.0001247530.0007910480.000456712
mean0.0001343000.0013530480.000781182
iPhone XRX0.0000306340.0002963600.000001209
Y0.0000774890.0004033370.000003604
Z0.0001621340.0036584830.000004697
mean0.0000900330.0014527260.000003170
One Plus 7 ProX0.0000261310.0000649930.000037523
Y0.0000136150.0003243830.000187282
Z0.0000256210.0003014560.000174046
mean0.0000217890.0002302770.000132950
Table 6. Accelerometer bias and scale factor.
Table 6. Accelerometer bias and scale factor.
Bias [m/s2]Scale Factor
Samsung SM-A536VX0.0904097890.013743845
Y0.084114571−0.000975747
Z−0.056371548−0.005114418
mean0.0769653030.006611337
Google Pixel 7 ProX−0.023521688−0.005581130
Y0.047652858−0.002604630
Z0.087067622−0.005120735
mean0.0527473890.004435498
Vivo X60 ProX−0.0091566550.001514275
Y0.0050983680.005985413
Z−0.041585923−0.006538473
mean0.0186136490.004679387
iPhone XRX0.0265730000.000379000
Y0.0867760000.001399000
Z−0.001050000−0.001690000
mean0.0381330000.001156000
One Plus 7 ProX−0.224982900−0.000486660
Y0.1741063040.011129523
Z0.2190991730.002375162
mean0.2060627920.004663782
Table 7. Gyro bias and scale factor at 10 deg/s.
Table 7. Gyro bias and scale factor at 10 deg/s.
Bias [rad/s]Scale Factor
Samsung SM-A536VX0.000140756−0.000124110
Y−0.0027065000.029467986
Z0.0018288690.000059642
mean0.0015587080.009883899
Google Pixel 7 ProX−0.000000864−0.000187850
Y0.001881322−0.001169500
Z0.000029721−0.000121930
mean0.0006372950.000493093
Vivo X60 proX−0.000132100−0.000157070
Y−0.004326800−0.000910130
Z0.0033831600.000328004
mean0.0026140200.000465068
iPhone XRX0.0027000000.004300000
Y0.0056000000.006200000
Z0.0006867410.004902211
mean0.0029955800.005134070
One Plus 7 ProX0.003954450−0.025509810
Y0.003646413−0.025461340
Z−0.012241020−0.028221540
mean0.0066139610.026397563
Table 8. Gyro bias and scale factor at 40 deg/s.
Table 8. Gyro bias and scale factor at 40 deg/s.
Bias [rad/s]Scale Factor
Samsung SM-A536VX0.000298200−0.001807200
Y0.009179700−0.042710310
Z−0.0022279200.000059642
mean0.0039019400.014859037
Google Pixel 7 ProX−0.002267500−0.002382100
Y−0.017213000−0.020348950
Z−0.000061247−0.001558800
mean0.0065139000.008096617
Vivo X60 proX−0.000131400−0.000153200
Y−0.001904000−0.002162770
Z−0.000011560−0.003430900
mean0.0006823330.001915623
iPhone XRX0.0003400000.006000000
Y0.0008300000.007300000
Z−0.0006331300.004619750
mean0.0006010430.005973250
One Plus 7 ProX0.000037859−0.123923290
Y0.000031763−0.119939640
Z−0.000102620−0.124866720
mean0.0000574400.122909883
Table 9. Short-term velocity and position error growth.
Table 9. Short-term velocity and position error growth.
Error SourceVelocity ErrorPosition ErrorAttitude Error
Initial velocity error, δ v β b γ δ v β b γ δ v β b γ t 0
Initial attitude error,   δ Ψ γ b γ C b γ [ δ Ψ γ b γ × ( 0 0 g ) ] t 1 2 C b γ [ δ Ψ γ b γ × ( 0 0 g ) ] t 2 δ Ψ γ b γ
Accelerometer bias,   C b γ b a C b γ b a t 1 2 C b γ b a t 2 0
Gyro bias,   b g 1 2 C b γ [ b g × ( 0 0 g ) ] t 2 1 6 C b γ [ b g × ( 0 0 g ) ] t 3 b g t
Accelerometer noise,   S a S a t 1 3 S a t 3 0
Gyro noise,   S g g 1 3 S g t 3 g 1 5 S g t 5 S g t
Table 10. Adopted EKF formulation [32].
Table 10. Adopted EKF formulation [32].
QuantityFormulation
Predicted state vector x ^ k = x ^ k 1 + + k 1 k f ( x , t )   d t
Predicted system noise covariance matrix P k = Φ k 1 P k 1 + Φ k 1 T + Q k 1
Kalman Gain matrix K k = P k H k T ( H k P k H k T + R k ) 1
Corrected state estimate x ^ k + = x ^ k + K k ( z k h ( x ^ k ) ) = x ^ k + K k δ z k
Corrected system noise covariance matrix (Joseph form) P k + = ( I K k H k ) P k ( I K k H k ) T + K k R k K k T
Disclaimer/Publisher’s Note: The statements, opinions and data contained in all publications are solely those of the individual author(s) and contributor(s) and not of MDPI and/or the editor(s). MDPI and/or the editor(s) disclaim responsibility for any injury to people or property resulting from any ideas, methods, instructions or products referred to in the content.

Share and Cite

MDPI and ACS Style

Capuano, V.; Xu, L.; Estrada Benavides, J. Smartphone MEMS Accelerometer and Gyroscope Measurement Errors: Laboratory Testing and Analysis of the Effects on Positioning Performance. Sensors 2023, 23, 7609. https://doi.org/10.3390/s23177609

AMA Style

Capuano V, Xu L, Estrada Benavides J. Smartphone MEMS Accelerometer and Gyroscope Measurement Errors: Laboratory Testing and Analysis of the Effects on Positioning Performance. Sensors. 2023; 23(17):7609. https://doi.org/10.3390/s23177609

Chicago/Turabian Style

Capuano, Vincenzo, Liangchun Xu, and Jose Estrada Benavides. 2023. "Smartphone MEMS Accelerometer and Gyroscope Measurement Errors: Laboratory Testing and Analysis of the Effects on Positioning Performance" Sensors 23, no. 17: 7609. https://doi.org/10.3390/s23177609

APA Style

Capuano, V., Xu, L., & Estrada Benavides, J. (2023). Smartphone MEMS Accelerometer and Gyroscope Measurement Errors: Laboratory Testing and Analysis of the Effects on Positioning Performance. Sensors, 23(17), 7609. https://doi.org/10.3390/s23177609

Note that from the first issue of 2016, this journal uses article numbers instead of page numbers. See further details here.

Article Metrics

Back to TopTop