Evaluating inertial measurement units
D Sargent
November 01, 2011
IMUs (inertial measurement units) have expanded from their traditional military usage and are now finding wider application in industrial segments. With their more compact form factors, lower power requirements, higher stability, and better accuracy, today’s IMUs give designers flexibility when they are creating inertial sensing and control applications. When you are selecting IMUs, it’s important to understand how their specifications (and error sources) can affect positioning, velocity, and orientation.
Although the definition of an IMU differs slightly among vendors, for this article, I am defining an IMU as consisting of a triad angular rate sensor (gyroscope) and a triad linear acceleration sensor (accelerometer). The IMU provides threedimensional sensor data to an external system to describe the IMU body’s spatial behavior and motion without an external reference. I am also assuming the IMU contains additional intelligence and integrated electronics to provide calibration, compensation, and digital processing; this is in contrast to an ISA (inertial sensor assembly), which consists only of a cluster of sensors with a fixed orientation relative to each other.
An IMU is a critical component of advanced inertial sensing subsystems such as AHRSs (attitude heading and reference systems) and INSs (inertial navigation systems), where the IMU sensor data is processed to obtain position, velocity, and attitude. Figure 1 shows a highlevel block diagram of a typical IMU. The key components and functional blocks include:
• a threeaxis orthogonal gyroscope and accelerometer to sense the angular velocity and linear specific force for six degrees of freedom;
• a precision temperature sensor used by the internal temperature compensation logic;
• an analog front end that filters and digitizes the sensor signal output for processing by the core logic;
• core logic, which includes digital signal filtering and sensor data enhancement through calibration, thermal compensation, and data formatting (unit conversion); and
• SPI or UART interface circuitry for open connectivity to a variety of host platforms.
Determining inertial sensor performance and calibration targets for a specific industrial application is a complex task. Systemlevel performance may not corelate easily to individual specification parameters, but comparing IMU specifications using unaided static error analysis to determine performance metrics is a good starting point. This selection process can help you determine if a calibrated solution is necessary, and it can also help you determine the level of quality of the IMU’s calibration IP.
You must analyze a few key IMU specifications when designing with discrete inertial sensors. When using fully calibrated IMUs, you must evaluate the effect they will have on systemlevel position, velocity, and attitude errors. This will help you determine an IMU’s cost/performance tradeoff and find an IMU that matches the systemlevel design goals.
Bias error, scalefactor error, noise, and bias stability—specifications that are commonly found in IMU data sheets—can have an impact when an IMU is operated in freerunning inertial or orientation mode. Typically, you can compensate for these errors in an INS by using data from systems such as magnetometers, wheel encoders, other sensors, or a GNSS (global navigation satellite system). There may be times, however, when auxiliary sensor observations will be intermittent or unreliable.
To simplify my explanation of how these errors affect an IMU’s operation, I will ignore the effects of temperature variation and will assume that all errors occur at a nominal temperature (25°C). Keep in mind, though, that temperature can have an adverse effect on errors from scale factor and bias. If the product will be used in wide environmental conditions, you must select an IMU with highquality temperature compensation to help minimize thermal problems.
Bias error
Gyroscopes and accelerometers inside an IMU all exhibit some finite measured output, even under the absence of rotation or acceleration. This is called bias error, and it consists of two parts: shortterm deterministic offset and longterm random drift. Here, I will focus on the shortterm bias offset (for longterm bias error, see “Bias instability,” below).
• Accelerometer bias error. Uncorrected accelerometer bias is a significant contributor to position and velocity error in navigation systems and to pitchorroll angle error in attitude and orientation systems. Accelerometer bias offset is measured in millig’s (where g typically equals 9.80665 m/s2, although it varies slightly with location).
Shortterm biasoffset error shifts the acceleration vector from its true direction. This shift not only affects linear acceleration, but also, and more importantly, causes an error when the accelerometer is used to track the gravity vector. Normally, the gravity vector is subtracted from the overall accelerometer output to determine the true linear acceleration of the IMU. But the residual error term from gravity detection will be integrated once producing velocity error (which increases proportionally with time), and twice producing position error (which increases proportionally with time^{2}).
You can estimate systemlevel velocity and position errors from accelerometer bias with this formula (Figure 2):
The accelerometer is commonly used for measuring static orientation in the horizontal plane; accelerometer bias error causes inaccuracies in measuring these pitchorroll angles, as you can calculate with this equation (Table 1):
pitchorroll error angle = asin(accelerator bias offset in g’s)
• Gyro bias error. Any gyro bias offset present on the IMU output will be seen as angle error by the INS or AHRS. The angle error will increase proportionally with time when the gyro’s output is mathematically integrated to produce an angle. Gyro bias offset is measured in dps (degrees per second).
The resulting angle error introduces misalignment of the IMU orientation, affecting the projection of the gravity vector and linear acceleration. This introduces velocity errors that increase proportionally with time2, and introduces a position error that increases proportionally with time^{3}.
To estimate systemlevel velocity and position errors from gyro bias, you can use the folowing formula (Figure 3):
velocity error = 1/2 × (gyro bias in dps) × π/180 × (gravity in m/s^{2}) × (time in s)^{2}
position error = 1/6 × (gyro bias in dps) × π/180 × (gravity in m/s^{2}) × (time in s)^{3}
Scalefactor error
Scale factor or sensitivity is the ratio between the measured output and the change in sense input. In general, scale factor is the slope of a straight line fitted by a leastsquares method on a plot of the sensor output over the full input range. Scalefactor error is the ratio of the output error (deviation from the fitted straight line slope) over the input and is typically expressed as a percentage or ppm (parts per million). In both accelerometer and gyro, the scalefactor error will usually not be as large a contributor to total error as bias error is, but you may still need to correct it.
• Accelerometer scalefactor error. The effect of accelerometer scalefactor error is similar to that of bias error, except that the error term increases as the input acceleration increases. Therefore, the scalefactor error effect is worse in conditions where the acceleration range is wide.
To estimate systemlevel velocity and position errors from accelerometer scalefactor error, use this formula (Figure 4):
velocity error = (accelerator scalefactor error) × (gravity in m/s^{2}) × (time in s)
position error = 1/2 × (accelerator scalefactor error) × (gravity in m/s^{2}) × (time in s)^{2}
Accelerometer scalefactor error will also cause inaccuracies in calculating pitchorroll angles; you can calculate the error (Table 2) with this formula:
pitchorroll error angle = asin(accelerator scalefactor error)
• Gyro scalefactor error. Gyro scalefactor error contributes significant errors to the angle tracking of the IMU during dynamic motion. The scalefactor error term is worse under large angular velocities; for example, a 0.1% scalefactor error on a 90°/s angular velocity can cause a 0.09°/s error. The effects of the resulting scalefactor error term can be treated similar to gyro bias error.
In this analysis of gyro scalefactor error, I arbitrarily assumed an angular rate of 60°/s. Then, I estimated systemlevel velocity and position errors from gyro bias using this formula (Figure 5):
velocity error = 1/2 × (gyro scalefactor error in dps) × π/180 × (gravity in m/s^{2}) × (time in s)^{2}
position error = 1/6 × (gyro scalefactor error in dps) × π/180 × (gravity in m/s^{2}) × (time in s)^{3}
Noise
Noise is the unwanted signal generated from internal electronics that interferes with measurement of the desired signal. The noise level will determine the minimum sensor output that is distinguishable from the background noise of the sensor or noise floor. Ratenoise density is specified in rms millig/rtHz (accelerometer) and rms dps/rtHz (gyro) and is a common spec used to quantify sensor white noise output for a given sensor bandwidth.
To estimate sensor rms noise level, determine the desired sensor bandwidth using this formula:
Noise rms = noise density × √Bandwidth
where:
Bandwidth = frequency  3 db × K_{FILTER}
and
K_{FILTER} = 1.57 (1st order), 1.11 (2nd order), and 1. 05 (3rd order).
In general, velocity, position, or pitchorroll error from the accelerometer or gyro white noise will be smaller than the other described noise sources (such as bias or scalefactor error).
• Accelerometer noise. The accelerometer noise will negatively affect the minimum pitchorroll angle resolvable and introduce velocity and position error caused by misalignment of the gravity vector.
To estimate systemlevel velocity and position errors from accelerometer noise, first calculate the accelerometer noise from the ratenoise density and bandwidth, and then use this formula (Figure 6):
velocity error = (noiseRMS in g’s) × (gravity in m/s^{2}) × (time in s)
position error = 1/2 × (noiseRMS in g’s) × (gravity in m/s^{2}) × (time in s)^{2}
To calculate the pitchorroll angle error from accelerometer noise (Table 3), use the following formula:
pitchorroll error angle = asin(noiseRMS in g’s)
• Gyro noise. Gyro noise creates orientation angle errors for an INS or AHRS, which again negatively affect the projection of the gravity vector and results in velocity and position error.
To estimate systemlevel velocity and position errors from gyro noise, first calculate the gyro noise from the ratenoise density and bandwidth, and then use this formula (Figure 7):
velocity error = 1/2 × (noiseRMS in dps) × π/180 × (gravity in m/s^{2}) × (time in s)^{2}
position error = 1/6 × (noiseRMS in dps) × π/180 × (gravity in m/s^{2}) × (time in s)^{3}
Bias instability
Bias instability of the gyro or accelerometer is the random variation in the bias (due to 1/f noise) computed over a specified sample time and averaging time interval. The bias instability is expressed in degrees per hour for the gyro, and m/s2 or millig for the accelerometer.
This parameter provides the benchmark of the best that is achievable for a selected gyro or accelerometer in terms of bias variation for a fully modeled sensor without “aiding” from other sources. Lower bias instability will lead to lower orientation, position, and velocity errors from the IMU. Bias instability is obtained by plotting an Allanvariance chart for a stationary gyro or accelerometer. As the averaging time increases, the noise output decreases and slopes downward until it reaches a minimum point and begins to increase again and slope upward. The minimum point on the graph is the bias instability.
Figure 8 shows the root Allanvariance graph for the gyro and accelerometer. To determine the bias instability, find the lowest point on the graph, and read the corresponding value on the vertical axis. The value returned is ~4.5º/hr and 25 microg. The bias instability will vary slightly from sample to sample and typically is stated for one standard deviation. T&MW
Raymond Chow is an applications engineer for Epson Research and Development, Vancouver Design Center, providing technical support for Epson Electronics America and its line of IC sensing devices and sensing systems. Chow has experience in systems integration and circuit design of sensor, display, and imaging subsystems.
Although the definition of an IMU differs slightly among vendors, for this article, I am defining an IMU as consisting of a triad angular rate sensor (gyroscope) and a triad linear acceleration sensor (accelerometer). The IMU provides threedimensional sensor data to an external system to describe the IMU body’s spatial behavior and motion without an external reference. I am also assuming the IMU contains additional intelligence and integrated electronics to provide calibration, compensation, and digital processing; this is in contrast to an ISA (inertial sensor assembly), which consists only of a cluster of sensors with a fixed orientation relative to each other.
An IMU is a critical component of advanced inertial sensing subsystems such as AHRSs (attitude heading and reference systems) and INSs (inertial navigation systems), where the IMU sensor data is processed to obtain position, velocity, and attitude. Figure 1 shows a highlevel block diagram of a typical IMU. The key components and functional blocks include:
• a threeaxis orthogonal gyroscope and accelerometer to sense the angular velocity and linear specific force for six degrees of freedom;
• a precision temperature sensor used by the internal temperature compensation logic;
• an analog front end that filters and digitizes the sensor signal output for processing by the core logic;
• core logic, which includes digital signal filtering and sensor data enhancement through calibration, thermal compensation, and data formatting (unit conversion); and
• SPI or UART interface circuitry for open connectivity to a variety of host platforms.

Determining inertial sensor performance and calibration targets for a specific industrial application is a complex task. Systemlevel performance may not corelate easily to individual specification parameters, but comparing IMU specifications using unaided static error analysis to determine performance metrics is a good starting point. This selection process can help you determine if a calibrated solution is necessary, and it can also help you determine the level of quality of the IMU’s calibration IP.
You must analyze a few key IMU specifications when designing with discrete inertial sensors. When using fully calibrated IMUs, you must evaluate the effect they will have on systemlevel position, velocity, and attitude errors. This will help you determine an IMU’s cost/performance tradeoff and find an IMU that matches the systemlevel design goals.
Bias error, scalefactor error, noise, and bias stability—specifications that are commonly found in IMU data sheets—can have an impact when an IMU is operated in freerunning inertial or orientation mode. Typically, you can compensate for these errors in an INS by using data from systems such as magnetometers, wheel encoders, other sensors, or a GNSS (global navigation satellite system). There may be times, however, when auxiliary sensor observations will be intermittent or unreliable.
To simplify my explanation of how these errors affect an IMU’s operation, I will ignore the effects of temperature variation and will assume that all errors occur at a nominal temperature (25°C). Keep in mind, though, that temperature can have an adverse effect on errors from scale factor and bias. If the product will be used in wide environmental conditions, you must select an IMU with highquality temperature compensation to help minimize thermal problems.
Bias error
Gyroscopes and accelerometers inside an IMU all exhibit some finite measured output, even under the absence of rotation or acceleration. This is called bias error, and it consists of two parts: shortterm deterministic offset and longterm random drift. Here, I will focus on the shortterm bias offset (for longterm bias error, see “Bias instability,” below).
• Accelerometer bias error. Uncorrected accelerometer bias is a significant contributor to position and velocity error in navigation systems and to pitchorroll angle error in attitude and orientation systems. Accelerometer bias offset is measured in millig’s (where g typically equals 9.80665 m/s2, although it varies slightly with location).
Shortterm biasoffset error shifts the acceleration vector from its true direction. This shift not only affects linear acceleration, but also, and more importantly, causes an error when the accelerometer is used to track the gravity vector. Normally, the gravity vector is subtracted from the overall accelerometer output to determine the true linear acceleration of the IMU. But the residual error term from gravity detection will be integrated once producing velocity error (which increases proportionally with time), and twice producing position error (which increases proportionally with time^{2}).
You can estimate systemlevel velocity and position errors from accelerometer bias with this formula (Figure 2):
velocity error = (accelerator bias offset in g’s) × (gravity in m/s^{2}) × (time in s)
position error = 1/2 × (accelerator bias offset in g’s) × (gravity in m/s^{2}) × (time in s)^{2}

Table 1. Accelerator bias offset.

The accelerometer is commonly used for measuring static orientation in the horizontal plane; accelerometer bias error causes inaccuracies in measuring these pitchorroll angles, as you can calculate with this equation (Table 1):
pitchorroll error angle = asin(accelerator bias offset in g’s)
• Gyro bias error. Any gyro bias offset present on the IMU output will be seen as angle error by the INS or AHRS. The angle error will increase proportionally with time when the gyro’s output is mathematically integrated to produce an angle. Gyro bias offset is measured in dps (degrees per second).
The resulting angle error introduces misalignment of the IMU orientation, affecting the projection of the gravity vector and linear acceleration. This introduces velocity errors that increase proportionally with time2, and introduces a position error that increases proportionally with time^{3}.
To estimate systemlevel velocity and position errors from gyro bias, you can use the folowing formula (Figure 3):
velocity error = 1/2 × (gyro bias in dps) × π/180 × (gravity in m/s^{2}) × (time in s)^{2}
position error = 1/6 × (gyro bias in dps) × π/180 × (gravity in m/s^{2}) × (time in s)^{3}

Scalefactor error
Scale factor or sensitivity is the ratio between the measured output and the change in sense input. In general, scale factor is the slope of a straight line fitted by a leastsquares method on a plot of the sensor output over the full input range. Scalefactor error is the ratio of the output error (deviation from the fitted straight line slope) over the input and is typically expressed as a percentage or ppm (parts per million). In both accelerometer and gyro, the scalefactor error will usually not be as large a contributor to total error as bias error is, but you may still need to correct it.
• Accelerometer scalefactor error. The effect of accelerometer scalefactor error is similar to that of bias error, except that the error term increases as the input acceleration increases. Therefore, the scalefactor error effect is worse in conditions where the acceleration range is wide.
To estimate systemlevel velocity and position errors from accelerometer scalefactor error, use this formula (Figure 4):
velocity error = (accelerator scalefactor error) × (gravity in m/s^{2}) × (time in s)
position error = 1/2 × (accelerator scalefactor error) × (gravity in m/s^{2}) × (time in s)^{2}

Table 2. Accelerator scalefactor error.

Accelerometer scalefactor error will also cause inaccuracies in calculating pitchorroll angles; you can calculate the error (Table 2) with this formula:
pitchorroll error angle = asin(accelerator scalefactor error)
• Gyro scalefactor error. Gyro scalefactor error contributes significant errors to the angle tracking of the IMU during dynamic motion. The scalefactor error term is worse under large angular velocities; for example, a 0.1% scalefactor error on a 90°/s angular velocity can cause a 0.09°/s error. The effects of the resulting scalefactor error term can be treated similar to gyro bias error.
In this analysis of gyro scalefactor error, I arbitrarily assumed an angular rate of 60°/s. Then, I estimated systemlevel velocity and position errors from gyro bias using this formula (Figure 5):
velocity error = 1/2 × (gyro scalefactor error in dps) × π/180 × (gravity in m/s^{2}) × (time in s)^{2}
position error = 1/6 × (gyro scalefactor error in dps) × π/180 × (gravity in m/s^{2}) × (time in s)^{3}

Noise
Noise is the unwanted signal generated from internal electronics that interferes with measurement of the desired signal. The noise level will determine the minimum sensor output that is distinguishable from the background noise of the sensor or noise floor. Ratenoise density is specified in rms millig/rtHz (accelerometer) and rms dps/rtHz (gyro) and is a common spec used to quantify sensor white noise output for a given sensor bandwidth.
To estimate sensor rms noise level, determine the desired sensor bandwidth using this formula:
Noise rms = noise density × √Bandwidth
where:
Bandwidth = frequency  3 db × K_{FILTER}
and
K_{FILTER} = 1.57 (1st order), 1.11 (2nd order), and 1. 05 (3rd order).
In general, velocity, position, or pitchorroll error from the accelerometer or gyro white noise will be smaller than the other described noise sources (such as bias or scalefactor error).
• Accelerometer noise. The accelerometer noise will negatively affect the minimum pitchorroll angle resolvable and introduce velocity and position error caused by misalignment of the gravity vector.
To estimate systemlevel velocity and position errors from accelerometer noise, first calculate the accelerometer noise from the ratenoise density and bandwidth, and then use this formula (Figure 6):
velocity error = (noiseRMS in g’s) × (gravity in m/s^{2}) × (time in s)
position error = 1/2 × (noiseRMS in g’s) × (gravity in m/s^{2}) × (time in s)^{2}

Table 3. Accelerator noise density.

To calculate the pitchorroll angle error from accelerometer noise (Table 3), use the following formula:
pitchorroll error angle = asin(noiseRMS in g’s)
• Gyro noise. Gyro noise creates orientation angle errors for an INS or AHRS, which again negatively affect the projection of the gravity vector and results in velocity and position error.
To estimate systemlevel velocity and position errors from gyro noise, first calculate the gyro noise from the ratenoise density and bandwidth, and then use this formula (Figure 7):
velocity error = 1/2 × (noiseRMS in dps) × π/180 × (gravity in m/s^{2}) × (time in s)^{2}
position error = 1/6 × (noiseRMS in dps) × π/180 × (gravity in m/s^{2}) × (time in s)^{3}

Bias instability
Bias instability of the gyro or accelerometer is the random variation in the bias (due to 1/f noise) computed over a specified sample time and averaging time interval. The bias instability is expressed in degrees per hour for the gyro, and m/s2 or millig for the accelerometer.
This parameter provides the benchmark of the best that is achievable for a selected gyro or accelerometer in terms of bias variation for a fully modeled sensor without “aiding” from other sources. Lower bias instability will lead to lower orientation, position, and velocity errors from the IMU. Bias instability is obtained by plotting an Allanvariance chart for a stationary gyro or accelerometer. As the averaging time increases, the noise output decreases and slopes downward until it reaches a minimum point and begins to increase again and slope upward. The minimum point on the graph is the bias instability.
Figure 8 shows the root Allanvariance graph for the gyro and accelerometer. To determine the bias instability, find the lowest point on the graph, and read the corresponding value on the vertical axis. The value returned is ~4.5º/hr and 25 microg. The bias instability will vary slightly from sample to sample and typically is stated for one standard deviation. T&MW

Raymond Chow is an applications engineer for Epson Research and Development, Vancouver Design Center, providing technical support for Epson Electronics America and its line of IC sensing devices and sensing systems. Chow has experience in systems integration and circuit design of sensor, display, and imaging subsystems.
FEATURED RESOURCES