Motion sensors realized as microelectromechanicalsystem (MEMS) integrated circuits (ICs) are playing a major role in the future of cellular handsets. Not only do these MEMS accelerometers make mobile phones more usable, they can increase a handset's reliability. Due to their increased sensitivity, reduced power consumption, reduced package size, MEMS accelerometers are being adopted more rapidly in new phone designs, supported by new functions implemented in software.
Gesture recognition is a term that describes how to add commands to a handset using movement. Examples include picking up a ringing phone and clearing an erroneously typed key. Gesture recognition can simplify the phone/human interface, but it usually helps to limit the number of stored gestures to less than five or six (the range of typical memory). The best gesture recognition systems use natural motions that require little learning or memory, such as "picking up" a ringing telephone (rather than pushing the "send" button). Using an accelerometer, one can sense that after ringing has started the handset is being moved. The movement signature of picking up the phone to the ear is measured by the accelerometer and interpreted by a microcontroller (Fig. 1).
While movements of this type ( acceleration followed by deceleration to zero shortly after, and whose positional change, as determined by double integration, is between 15 and 100 cm) are quite common, this motion occurring while the phone is ringing almost certainly signifies picking up the phone. This concept is one of the keys of reliable gesture recognition: Use context to understand the significance of the motion. The sensor requirements for this type of application require a three-axis accelerometer with a measurement range of 2 g. The accelerometer output will be highpass filtered (probably in software) to reject acceleration due to inclination, so 0 g accuracy or stability is unimportant. The bandwidth of interest is between 1 and 50 Hz. Low noise (less than 350 g/(Hz)0.5> is desirable to minimize integration error.
Striking incorrect keys is common, given the small size and density of modern mobile-phone keypads. A simple gesture such as shaking a handset for one-half second can be used to clear the last entered key stroke. Longer shaking can be used to clear the last complete string typed. Again, this motion is a rather natural response and to make the algorithm more robust, designers can use the indication of keyboard use to look for the "clear" gesture. A single-or dual-axis accelerometer should be adequate for this application since human shaking will produce acceleration in every axis unless one is extremely careful to shake only in one axis. Accelerometer performance requirements are modest because high-pass filtering is used. While the actual acceleration may be up to 10 g while shaking, a 2 g range is sufficient since clipping should not adversely affect the shake detection algorithm.
Knowing the surroundings of a mobile telephone can help program functions that increase its usability, such as for ring control. For example, when a handset is on a table or desk where vibrate mode is not desirable, only the ringer would operate. In a meeting or setting in which a user wishes not to be disturbed, the handset could be placed face down to select silent mode so that neither the ringer or vibrate mode are on. Each one of these modes could be entered manually (using keyboard control), but it would more convenient-to have the phone do this for you automatically. An accelerometer can be used to determine the phone's orientation, and whether or not the handset is on a table or desk. So the phone can determine the desired ring mode automatically.
Handset orientation can be measured with a three-axis accelerometer. The top of a desk or table is stable and usually parallel with the Earth's surface. A handset placed on a desk will have its X, Y, or Z axes measuring approximately −1 g with the other two axes close to 0 g. (Robust algorithms will allow for some tolerance around the −1 g or 0 g measurements so that slight deviation from level, or minor 0 g bias drift due to temperature, does not perturb the algorithm.) When on a solid surface, the accelerometer will measure very little vibration. The face down position is determined by the lack of vibration and having the appropriate axis measure 1 g while the others are close to 0 g. Figure 2 shows typical waveforms from an ADXL330 MEMS accelerometer-equipped handset on a desk and in an operator's pocket.
For this application, a three-axis accelerometer with a measurement range of greater than 1.2 g is required (2 g is typically used). Good 0 g performance is needed, particularly 0 g stability over temperature (1 mg/C should be sufficient) as absolute inclination of the handset is being measured. Low noise 0.5> is needed to easily differentiate between being in a pocket or on a table.
For phone pickup sensing or clearing keypad errors with shaking, the accelerometer may be powered only when specific events occur (phone ringing or keyboard input). Low power consumption is desirable, but not necessary. For ring-style setting, however, the accelerometer will be powered most of the time, so low power operation is crucial. Three-axis accelerometers such as the model ADXL330 from Analog Devices consume as little as 200 A (with a supply voltage of 2 V), so as to not degrade battery life excessively.
An accelerometer can be used as an input to control the system cursor or as a game input. Tilting the phone left/right or tipping it forward/backward moves the cursor left/right or up/down. This feature has been incorporated into several stand-alone games ( Nintendo's Tilt and Tumble Kirby) and game controllers (Nintendo's Wii Remote). A third (Z) axis can also be incorporated for jumping actions. Unlike the eight-position control standard on most handsets, an accelerometer can enable variable (analog) control, with cursor speed increasing with tilt inclination. Since the handset's initial position could be in just about any orientation (the user may be lying down, for example) the game is typically started with a key stroke that sets the cursor's neutral position. Since the initial position is reset every time the game or cursor control is started, accurate 0 g performance is unnecessary.
Key specifications for this application are a measurement range of at least 1.2 g. Low noise 0.5> is needed to prevent the appearance of the cursor trembling when the phone is on a stable surface. A bandwidth of 0 to 50 Hz is preferable (lower bandwidth will make the game appear sluggish). As games are not played continuously, very low power is advantageous, but not absolutely necessary.
By measuring the gravity vector, an accelerometer can determine whether then handset is being held vertically or horizontally to shift the display from portrait or landscape mode. The most important requirement for this application is very low power consumption as the accelerometer will be on whenever the display is on. Bandwidth-is normally set to less than 1 Hz (through software filtering) so as not have the display flip around due to random vibration.
An integrated Global Positioning System (GPS) receiver or triangulation of base stations can be used to determine the position of a mobile handset. But with such a small display available it is advantageous to use the entire display to show the user what is in front of them. Normally, an electronic compass is used to determine heading, but compasses must be held parallel to the surface of the Earth to minimize heading error. This error varies based on ones distance from the Earth's magnetic equator. In Boston, for example, each degree of deviation from parallel to the Earth's surface results in a heading error of 3 deg. When using a mobile phone, the compass may be tilted 45 deg., so huge heading errors can result. An accelerometer can be used to determine the handsets (and the compass') actual orientation with respect to the surface of the Earth to compensate this error. Key specifications for the accelerometer in this application would be high 0 g bias and sensitivity accuracy and stability. The overall error should be less than 50 mg to keep heading error down to a reasonable value.
An accelerometer can easily perform step counting during a workout. However, step counting does not yield accurate travel distance, because step length varies widely from person to person (roughly 30 percent) and also depends on walking speed (generally more than 25 percent). But by actually measuring the acceleration experienced by the mobile phone (in a pocket or a belt clip) a very good estimate of the distance traveled can be made. Algorithms in the public domain exist that promise step counting accuracies of better than 95 percent and distance walked accuraciesof better than 90 percent.1 Accelerometer-requirements for pedometers include low power operation (since the accelerometer will be on all of the time) and a measurement range of at least 2 g.
Accelerometers can be used to protect the micro drives in handsets. These micro drives are sensitive to mechanical shock as there is little aerodynamic damping available to keep the drive head from striking the magnetic media. An accelerometer can be used to detect if the handset is falling, and signal the drive to park its read/write head in a safe location before the phone hits the ground.
The most obvious principle of operation is by measuring the vector sum of acceleration in three axes. If this vector sum is close to zero, then the handset must be in free fall. This method only works well for very controlled dropswhere no rotation results. In practice this does not work very well because rotation of the handset will result in centripetal force that will fool the algorithm. But more sophisticated methods of free fall detection exist, some requiring only a dual-axis accelerometer.2
Drop detection requires an accelerometer that consumes very little power, as it will be on whenever the micro drive is operating. Depending on the algorithm used, a two-or three-axis accelerometer will be needed with a measurement range of at least 1.5 g.
Adding motion sensing to a mobile phone using an accelerometer allows the phone designer to integrate many useful functions at low cost. Reference designs for several of these functions are available to facilitate integration into mobile-phone designs. Just a handful of applications were presented here, but even more are available on the market.