The most common questions we hear from mobile applications developers are, “how good are the sensors on my phone.” This is article one of a series that, together, provide a framework to understand sensor performance.
In order to accurately measure a phenomenon in the physical world, sensors need to be calibrated. Sensor calibration should not be just a one-time event performed in the factory. How well a suite of sensors perform for an application is contingent on maintaining good calibration. First, let us explain why sensors go out of calibration.
Sometimes, calibration expires simply because the environment has changed. For example, the lithium-ion battery in the phone is a magnetic device. Its magnetic alignment can change over time and cause the magnetometer to require new calibration. More drastically the battery itself can be changed.
Temperature is the most frequently changing environment in a phone. The sensors and phones are calibrated at some arbitrary but specific temperatures. However, the phone is used in condition ranging from freezing to under a tropical sun. While some advanced sensors do compensate for temperature variations, they cannot maintain identical sensor behavior over such a wide range.
Sometimes all the sensors in the phone simply haven’t been calibrated as a set. Sensors in a phone are supposed to be well aligned to each other. The X, Y, and Z axes of the accelerometer should be perfectly aligned with the X, Y, and Z axes of the magnetometer and of the gyroscope because they are supposed to be aligned to the same real world coordinates. But manufacturing processes are imperfect, and as we integrate sensor data over time, even a small misalignment can accumulate into a big error.
To provide good application performance, sensors need to be calibrated in the field. A robust algorithm should automatically adapt to changing environments and minimize the need for user intervention. Indeed, by using data from different sensors to cross calibrate each other, field calibration can even improve sensor performance more cost effectively than calibrating each sensor independently in the factory.