As the saying goes, “garbage in, garbage out.” Although sensor fusion can mitigate many aspects of sensor fragmentation found in various smartphone platforms, there is a minimum requirement needed to achieve a level of performance consummate with the use-cases of interest.
The two classes of use-cases normally considered for inertial sensors on handheld devices are user interaction and pedestrian navigation. The former includes normal user interface to access phone, email, and browser functions as well as scenarios involving motion or augmented reality games. The latter refers to using inertial sensors to augment other location services, like Wi-Fi and cell tower tri-lateration, to determine indoor positions.
The bandwidth of user movement ranges from near DC up to frequencies reaching 15Hz with biological signals such as muscle tremors (see Fig. 1). So overall, measuring sensor signals up to 20Hz is sufficient to capture human generated movements. The Nyquist-Shannon sampling theorem states a uniform sampling rate of 40Hz is needed to capture this information.
Increasing sampling much beyond this for user interaction could be a detriment as it leads to more integrated noise without gaining more information. For example, take an accelerometer with a white noise density of 0.2mg/√Hz. Sampling at 50Hz leads to an RMS noise of 1.4mg but sampling at 1000Hz leads to an RMS noise of 6mg, or a loss of over two bits of accuracy without gaining any more information regarding user generated movements.
Noise density is the primary measurement of a sensor’s performance. It can be visualized as representing sensor measurement jitter. The larger this is, the less accurate sensor fusion results can be. For example, if a magnetometer’s measure of North jumps around by 5 degrees, then the orientation output can also be off by 5 degrees. Taking the Earth’s field to be 30µT (near the Equator) this means a magnetometer with an RMS noise of 30µT tan(5°)/ √2 = 1.9µT cannot achieve heading accuracy better than 5 degrees. Note this is a noise density of 0.65µT/√Hz at 8Hz output data rate (ODR).
As human motion occurs within a 20Hz bandwidth, a magnetometer with an 8Hz ODR would not be able to capture most of the movement. Using sensor fusion, gyroscope data can be combined with the magnetometer data to cover for the missing high frequency data. However, activating a gyroscope adds significantly to power consumption. So an alternative is to cover more frequency spectrum with the magnetometer. Sampled at 40Hz, the magnetometer will be able to capture all human movements at significantly lower power consumption than using a gyro. But to maintain the same 5 degree accuracy, the magnetometer noise must be kept at 1.9µT (RMS). Consequently, the magnetometer noise density should be better than 0.13µT/√Hz.
Noise density also constrains the ability of a gyroscope to provide orientation dynamically. A gyroscope with a noise density of σ introduces an orientation error of σ √(t/2) over time t. If the magnetometer can be trusted, this integrated drift can be zeroed out periodically using sensor fusion. But in the case of operating in an anomalous magnetic field (such as in a tall building or subway station) this error increases. Requiring 5 degrees of heading accuracy after 2 minutes of free running gyro implies the noise density should be 0.06dps/√Hz at 200Hz ODR.
The sensor digital resolution should be enough to at least allow the desired noise floor to be achieved. For example, a gyroscope with RMS noise of N0 and range of ±2000dps requires log2(2000/N0) bits + sign bit + margin bit. So if the gyroscope requirement is a noise density of 0.06dps/√Hz running at 200Hz, that indicates a 14-bit or better part is needed. Depending on the use-case of the angular rate, it may be acceptable to saturate at 500dps, which would allow a 12-bit part to be used.
One other important sensor requirement is measurement repeatability. That is the variation in the sensor measurement against the same input signal. For example, a sensor that exhibits hysteresis or some other non-linear effect degrades the ability to trust the measurement. Although not reported in sensor datasheets, this repeatability error is sometimes a major contributor to the overall noise level. It can only be neglected if it is at least 3dB less than the static noise.
The above analysis provides a method to estimate the resultant orientation accuracy for user interaction based on sensor noises. Sensor performance in a system can also be affected by the properties of the specific sensor component and its environment. We shall discuss in a future article how these can be eliminated by an algorithm performing an accurate background calibration.