Low power lift gesture detection with jitter suppression performance
By using accelerometers and filters to detect lift gestures in portable electronic devices, and combining jitter suppression mechanisms, the misjudgment problem caused by device jitter is solved, and lift gesture detection with low power consumption and high user experience is achieved.
Patent Information
- Application Number
- CN202411086885.1
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Priority Date
- 2023-08-09
- Filing Date
- 2024-08-08
- Publication Date
- 2025-02-18
AI Technical Summary
Portable electronic devices are easily misjudged as lifting gestures when they detect jitter, resulting in increased power consumption and decreased user experience.
Directional changes and lifting motion are detected by detecting the acceleration signals of the device using an accelerometer and signal processing in combination with a bandpass filter and a low-pass filter. At the same time, a jitter suppression mechanism is used to confirm the authenticity of the lift gesture by detecting the norm of the accelerometer signal.
Low power consumption and low latency lift gesture detection is realized, reducing false lift detection caused by jitter, and improving user experience and device stability.
Smart Images

Figure CN119472984A_ABST
Abstract
Description
Technical Field
[0001] The present disclosure relates to devices and methods for detecting whether a user is picking up or lifting up an electronic device. Background Art
[0002] Many electronic devices support a comprehensive and system-wide set of power management features to improve the user experience, extend battery life, save energy, and reduce heat and noise in the device. Power management features are particularly important for portable and mobile devices such as tablet computers due to their limited power sources.
[0003] Power management features often include the option to transition a device between several different power states. For example, many devices support intermediate power states between an off state (e.g., the device is completely off and not consuming power) and an on state (e.g., the device is plugged in and ready for use by a user). Intermediate power states may include a sleep state, in which the device is in a reduced power, idle state; and a hibernate state, which is similar to an off state, with the ability to restore system context when the device is turned on again. Intermediate power states allow the device to quickly return to the on state when the device is ready for use by a user.
[0004] Many devices utilize device context recognition to customize transitions between power states. Specifically, a portable device can detect whether the device is picked up or raised for viewing by a user and then transition between power states. For example, a device can switch from a dormant or sleep state to an on state in response to detecting that the device is raised for use by a user. Raise gesture detection is useful for improving the user experience because the device can be set to the on state without user action (such as pressing a button or tapping a touch screen). Summary of the invention
[0005] The present invention relates to raise gesture detection for electronic devices such as tablet computers, smart watches, and mobile devices. The raise gesture detection provides a low power and low latency solution and includes jitter suppression to minimize false raise gesture detections caused by jitter of the device.
[0006] In response to the orientation change and detecting a raise motion of the device, an initial raise gesture is detected. The orientation change is detected based on acceleration measurements of the device filtered with a bandpass filter. The raise motion is detected based on acceleration measurements of the device filtered with a lowpass filter.
[0007] If no shaking of the device is detected when the initial raise gesture is detected, the initial raise gesture is verified as a true raise gesture. If shaking of the device is detected when the initial raise gesture is detected, the initial raise gesture is rejected. The shaking motion is detected based on acceleration measurements of the device. BRIEF DESCRIPTION OF THE DRAWINGS
[0008] In the drawings, the same reference numerals indicate similar features or elements. The sizes and relative positions of features in the drawings are not necessarily drawn to scale.
[0009] Figure 1 is a device according to an embodiment disclosed herein.
[0010] Figure 2 is a block diagram of raise gesture detection according to embodiments disclosed herein. DETAILED DESCRIPTION
[0011] In the following description, certain specific details are set forth in order to provide a thorough understanding of various aspects of the disclosed subject matter. However, the disclosed subject matter may be practiced without these specific details. In some cases, well-known structures and methods for manufacturing electronic devices, electronic components, and sensors are not described in detail to avoid obscuring the description of other aspects of the present disclosure.
[0012] Unless the context requires otherwise, throughout this specification and the claims that follow, the word "comprise" and variations such as "include" and "including" should be interpreted in an open, inclusive sense, that is, to mean "including, but not limited to."
[0013] Reference throughout the specification to "one embodiment" or "an embodiment" means that a particular feature, structure, or characteristic described in connection with the embodiment is included in at least one embodiment. Thus, the phrases "in one embodiment" or "in an embodiment" appearing in various places throughout the specification are not necessarily all referring to the same aspect. Furthermore, the particular features, structures, or characteristics may be combined in any suitable manner in one or more aspects of the present disclosure.
[0014] As mentioned above, many portable devices detect whether the user picks up or lifts the device and then switches between power states. Other actions may also be performed, such as displaying a notification on the lock screen or activating a face unlock feature.
[0015] Because portable devices have limited power sources, it is important to have low power consumption for raise gesture detection, and raise gesture detection is typically an always-on feature that is performed during a dormant or sleep state of the device. In addition, because portable devices are prone to shaking due to their size and usage, false raise detections caused by shaking should be minimized. Furthermore, it is desirable to have raise gesture detection with minimal response time for an improved user experience.
[0016] The present disclosure relates to low-power raise gesture detection for electronic devices such as tablet computers, smart watches, and mobile devices. The raise gesture detection has low power consumption and processing time. In addition, the raise gesture detection includes shake suppression to avoid false raise gesture detection caused by shake of the device.
[0017] Figure 1 is a device 10 according to embodiments disclosed herein.
[0018] The device 10 is an electronic device configured to detect whether the device 10 is picked up or lifted by a user. In this embodiment, the device 10 is a mobile device. However, the device 10 may be another type of device, such as a tablet computer and a smart watch.
[0019] The device 10 includes an accelerometer 12 for measuring the acceleration of the device 10. The accelerometer 12 is a device for measuring the acceleration of the device 10. Figure 1 10. The 3-axis accelerometer has x-axis, y-axis, and z-axis accelerations as shown. The x-axis extends in a horizontal direction and in the same plane as a plane that includes front surface 14 of device 10. The y-axis is transverse to the x-axis and extends in a vertical direction and in the same plane that includes front surface 14 of device 10. The z-axis is transverse to the x-axis and the y-axis and extends in a horizontal direction and in a plane that is transverse to the plane that includes front surface 14 of device 10. In one embodiment, as Figure 1 As shown, front surface 14 includes a screen for device 10 .
[0020] Will refer to Figure 1 The axes shown are discussed in detail for the various embodiments described. However, other orientations of the axes are possible.
[0021] In one embodiment, the accelerometer 12 is included in a multi-sensor device that includes one or more types of sensors, including but not limited to the accelerometer 12 and a gyroscope. The multi-sensor device also includes its own on-board memory, and a processor or processing circuit device coupled to the on-board memory. The processor is configured to receive and process data generated by the sensor; and execute simple programs stored in the on-board memory, such as finite state machines and decision tree logic. The processor discussed here may include one or more processors.
[0022] Compared to the general purpose processor of device 10, the multi-sensor device is a power efficient and low power device, consuming, for example, 5 to 20 microamps during processing. In this way, the multi-sensor device including accelerometer 12 can remain on after device 10 enters a sleep state. In the sleep state, the general purpose processor and other electronic components (e.g., speaker, sensor, processor) of device 10 are set to a low power or off state. Device 10 enters the sleep state, for example, in response to a determined amount of inactivity time lapse.
[0023] The device 10 is configured to detect a lifted state of the device 10. In the lifted state, the device 10 is picked up or lifted by a user, for example from a table or a pocket of the user. The device 10 uses acceleration measurements of the accelerometer 12 to detect the lifted state.
[0024] Figure 2 is a block diagram of raise gesture detection 16 according to embodiments disclosed herein.
[0025] The method for raise gesture detection 16 is performed by device 10. In the case where accelerometer 12 is included in a multi-sensor device as described above, raise gesture detection 16 is implemented as a program or set of instructions stored in an on-board memory of the multi-sensor device and executed by a processor included in the multi-sensor device. The program for raise gesture detection may also be stored in a memory of device 10 and executed by a general-purpose processor of device 10.
[0026] The acceleration measurements of the accelerometer 12 are filtered using a bandpass filter to remove direct current (DC) components from the acceleration signal in block 18. In one embodiment, the bandpass filter is an infinite impulse response (IIR) with cutoff frequencies of 0.3 Hz and 1.5 Hz.
[0027] In block 20, the acceleration measurements of the accelerometer 12 are filtered using a low pass filter to select gravity and reduce potential linear acceleration applied to the accelerometer 12 when the device 10 is lifted (e.g., due to the movement of the device along the vertical axis). Figure 1 In one embodiment, the low pass filter is an IIR with a cutoff frequency of 1 Hz.
[0028] Blocks 18 and 20 may also be removed from raise gesture detection 16. In this case, blocks 22, 24, and 26 utilize acceleration measurements from accelerometer 12 directly.
[0029] In block 22, orientation change detection is performed. The orientation change indicates that the position of the device 10 has changed, and serves as a trigger for detecting an initial raise gesture.
[0030] In block 18, a change in orientation of device 10 is detected based on the acceleration measurements currently filtered by the bandpass filter. More specifically, in the case of the bandpass filtered acceleration XL along the y-axis BPY Greater than the directional change threshold TH OC The amount of time (or number of acceleration measurement samples) to reach the orientation change threshold is T OC In other words, device 10 experiences an orientation change in response to the following condition (1) being satisfied:
[0031] XL BPY >TH OC T OC (1)
[0032] In one embodiment, TH OC In one embodiment, T OC Between 150 and 500 milliseconds.
[0033] In the event that no change in orientation of device 10 is detected, device 10 continues to monitor for changes in orientation of device 10 .
[0034] In the event that a change in orientation of device 10 is detected, raise gesture detection 16 moves to block 24 .
[0035] In block 24, initial raise gesture detection is performed. The initial raise gesture detection determines whether the new device orientation following the orientation change detected in block 22 is compatible or consistent with the raise gesture orientation.
[0036] In block 20, an initial raise gesture is detected by a low pass filter based on the current filtered acceleration measurement. More specifically, the low pass filtered acceleration XL along the y axis LPY Greater than the y-axis lift gesture threshold TH LUY , the low-pass filtered acceleration XL along the x-axis LPX The absolute value of the gesture is less than or equal to the x-axis lift gesture threshold TH LUX , and the low-pass filtered acceleration XL along the z-axis LPZ Greater than the z-axis lift gesture threshold TH LUZ The amount of time (or number of acceleration measurement samples) T that the raise gesture threshold is reached LU In other words, device 10 undergoes an initial raise gesture in response to satisfying the following condition (2):
[0037] XL LPY >TH LUY And abs(XL LPX )≤TH LUX And XL LPZ >THLUZ T LU (2)
[0038] In one embodiment, TH LUY Between 0.09 and 0.71 g, TH LUX Between 0.17 and 0.71 g, and TH LUZ Between 0 and -0.71 g. This set of thresholds corresponds to lift angles between 5 and 135 degrees relative to the y-axis. Other sets of thresholds may also be used for different lift angle ranges. In one embodiment, the TLU is between 75 and 300 milliseconds.
[0039] If condition (2) is not met, initial raise gesture detection outputs or sets an initial raise gesture flag or state to indicate that an initial raise gesture was not detected. Raise gesture detection 16 then returns to block 22 to continue monitoring device 10 for another orientation change.
[0040] If condition (2) is met, initial raise gesture detection outputs or sets an initial raise gesture flag or state to indicate that an initial raise gesture has been detected. Raise gesture detection 16 then returns to block 22 to continue monitoring device 10 for another orientation change.
[0041] In block 26, shake suppression is performed. Block 26 is performed concurrently with blocks 22 and 24. As described above, false raise detections may occur due to shake of the device. For example, a raise gesture may be incorrectly detected during transportation of the device in a user's pocket or bag. Portable devices are particularly susceptible to false raise detections due to their size and usage. The shake suppression in block 26 confirms whether the initial raise gesture detected in block 24 is a true raise gesture.
[0042] The jitter suppression utilizes the currently filtered acceleration measurement of the low pass filter in block 20. Under normal conditions, the norm of the low pass filtered acceleration is XL LPN About 1g. When the device is shaken, the norm XL LPN More specifically, the jitter suppression determines the norm XL of the low-pass filtered acceleration LPN Is it greater than the jitter threshold TH? N In other words, jitter suppression determines whether the following condition (3) is satisfied:
[0043] XL LPN >TH N (3)
[0044] In one embodiment, the jitter threshold THN is between 1.1 and 1.5 g, which is consistent with the device 10 being jittered.
[0045] The norm XL is calculated using the following equation (4): LPN :
[0046]
[0047] In Norm XL LPN Greater than the jitter threshold TH N In the case of CNT The value is set to the shake timeout value shake TIME That is, the jitter count shake CNT is set as the following equation (5):
[0048] shake CNT =shake TIME (5)
[0049] As discussed in further detail below, the jitter count shake CNT is a counter used to verify the initial raise gesture detected in box 24 as a true raise gesture (i.e., device 10 has been picked up), or to invalidate the initial raise gesture detected in box 24 as a false raise gesture caused by shaking of device 10 (i.e., device 10 was not picked up but was shaken).
[0050] Jitter timeout value shake TIME is the timeout value used for jitter suppression. In other words, the jitter timeout value shake TIME is the length of time that the initial raise gesture is inhibited by the shake suppression block 26. TIME Greater than the directional change threshold time T OC and the raise gesture threshold time amount TLU to avoid interference from previous shakes of device 10. In one embodiment, accelerometer 12 obtains acceleration measurement samples at 26 Hz, and the shake timeout value shake TIME Between 6 and 26 samples. In this embodiment, jitter suppression is enabled between approximately 230 milliseconds and 1000 milliseconds.
[0051] In Norm XL LPN Not greater than (i.e., equal to or less than) the jitter threshold TH N In the case of a shake count, the shake count is shaken at a set interval. CNT Decrement by 1. That is, the jitter count shake is incremented by 1 at the set interval. CNT It is set as the following equation (6):
[0052] shake CNT =shake CNT -1 (6)
[0053] In one embodiment, at each acceleration measurement sample generated by the accelerometer 12, a shake count shake is set. CNT Decrement by 1. Jitter count shake CNT The minimum or lowest value it can have is zero.
[0054] Responding to the shake count shake CNT If t is equal to zero (indicating that device 10 is in a non-shaking state that does not shake device 10), switch 28 is closed. In this case, the initial raise gesture detected in block 24 is verified as a true raise gesture (e.g., device 10 has been picked up for viewing) and is output from raise gesture detection 16 as a raise gesture.
[0055] Responding to the shake count shake CNT If the initial raise gesture detected in block 24 is not equal to (i.e., greater than) zero (indicating that device 10 is in a shaken state in which device 10 is currently shaken), switch 28 is opened. In this case, the initial raise gesture detected in block 24 is rejected as a false raise gesture caused by a shake of device 10 (e.g., device 10 is not held up but rather shaken), and is not output from raise gesture detector 16 as a raise gesture.
[0056] In block 24, (1) switch 28 is closed (ie, the shake count shake CNT =0) and (2) an initial raise gesture is detected, raise gesture detector 16 outputs or sets a raise gesture flag or state to indicate that a raise gesture is detected. Conversely, in block 24, in the event that (1) switch 28 is open (i.e., shake count shake is set to zero), raise gesture detector 16 outputs or sets a raise gesture flag or state to indicate that a raise gesture is detected. CNT is not equal to zero) or (2) no initial raise gesture is detected, raise gesture detection 16 outputs or sets a raise gesture flag to indicate that no raise gesture is detected.
[0057] It should be noted that the initial raise gesture detected in block 24 is not maintained until switch 28 is closed. Conversely, in the event that switch 28 is detected to be open, the initial raise gesture detected in block 24 is discarded. Thus, when the initial raise gesture is detected in block 24 after switch 28 is closed, raise gesture detector 16 outputs or sets a raise gesture flag to indicate that a raise gesture is detected.
[0058] In response to detecting the raise gesture, a function of device 10, such as a power state, is controlled based on the raise gesture. For example, device 10 is in one of a sleep state or a hibernation state before detecting the raise gesture, and switches to an on state in response to detecting the raise gesture. Other actions may also be performed, such as displaying a notification on a lock screen or initiating a face unlock feature.
[0059] Various embodiments disclosed herein provide devices and methods for raise gesture detection for electronic devices (e.g., tablet computers, smart watches, and mobile devices). Raise gesture detection provides low power and low latency detection, as well as jitter suppression to minimize false raise gesture detections caused by jitter of the device.
[0060] A device can be summarized as including: an accelerometer that generates a first acceleration measurement along a first axis, a second acceleration measurement along a second axis transverse to the first axis, and a third acceleration measurement along a third axis transverse to the first axis and the second axis; a processing circuit that receives the first, second, and third acceleration measurements in operation; and a memory coupled to the processing circuit device, wherein, using the memory, the processing circuit device is in operation: detecting an orientation change of the device based on the second acceleration measurement; detecting an initial raise gesture of the device based on the first acceleration measurement, the second acceleration measurement, and the third acceleration measurement; detecting a non-shake state of the device based on the first acceleration measurement, the second acceleration measurement, and the third acceleration measurement; and outputting a raise gesture state in response to detecting the orientation change, the initial raise gesture, and the non-shake state.
[0061] The first and second axes may be in a plane including a surface of the device.
[0062] The processing circuitry may, in operation, filter the second acceleration measurement with a bandpass filter; and may detect a change in orientation if the filtered second acceleration measurement is greater than a threshold for a threshold amount of time.
[0063] The first and second axes may be a horizontal axis and a vertical axis, respectively, in a plane including the surface of the device.
[0064] The threshold may be between 0.05 and 0.5 g, and the threshold amount of time may be between 150 and 500 milliseconds.
[0065] The processing circuit can filter the first, second and third acceleration measurements with a low pass filter during operation; and detect an initial raise gesture when the absolute value of the filtered first acceleration measurement is less than or equal to a first threshold, the filtered second acceleration measurement is greater than the second threshold, and the filtered third acceleration measurement is greater than the third threshold for a threshold amount of time.
[0066] The first threshold may be between 0.17 and 0.71 g, the second threshold between 0.09 and 0.71 g, the third threshold between 0 and -0.71 g, and the threshold amount of time between 75 and 300 milliseconds.
[0067] The processing circuit can filter the first, second and third acceleration measurements with a low-pass filter during operation; set the counter to a timeout value when the norm of the filtered first, second and third acceleration measurements is greater than a threshold; decrement the counter by 1 at a determined interval when the norm of the filtered first, second and third acceleration measurements is not greater than the threshold; and detect the non-shaking state when the counter is equal to zero.
[0068] The threshold may be between 1.1 and 1.5 g.
[0069] In operation, the processing circuitry can output a raise gesture state if an initial raise gesture is detected after detecting a non-shake state.
[0070] The processing circuit can, during operation, filter the second acceleration measurement with a bandpass filter; detect a change in orientation when the filtered second acceleration measurement is greater than the first threshold for a first threshold amount of time; filter the first, second, and third acceleration measurements with a low-pass filter; detect the initial raise gesture when the absolute value of the filtered first acceleration measurement is less than or equal to the second threshold, the filtered second acceleration measurement is greater than the third threshold, and the filtered third acceleration measurement is greater than the fourth threshold for a second threshold amount of time; set a counter to a timeout value when the norm of the filtered first, second, and third acceleration measurements is greater than a fifth threshold; decrement the counter by 1 at a determined interval when the norm of the filtered first, second, and third acceleration measurements is not greater than the fifth threshold; and detect the non-shaking state when the counter is equal to zero.
[0071] The timeout value may be greater than the sum of the first threshold amount of time and the second threshold amount of time.
[0072] A method can be summarized as including: receiving a first acceleration measurement of a device along a first axis, a second acceleration measurement of the device along a second axis transverse to the first axis, and a third acceleration measurement of the device along a third axis transverse to the first axis and the second axis; detecting an orientation change of the device based on the second acceleration measurement; detecting an initial raise gesture of the device based on the first acceleration measurement, the second acceleration measurement, and the third acceleration measurement; detecting a non-shake state of the device based on the first acceleration measurement, the second acceleration measurement, and the third acceleration measurement; and outputting a raise gesture state in response to detecting the orientation change, the initial raise gesture, and the non-shake state.
[0073] The method may further include filtering the second acceleration measurement with a bandpass filter, the detection of the orientation change including detecting the orientation change if the filtered second acceleration measurement is greater than a threshold for a threshold amount of time.
[0074] The method may further include filtering the first, second, and third acceleration measurements with a low pass filter, wherein detecting an initial raise gesture includes detecting the initial raise gesture when an absolute value of the filtered first acceleration measurement is less than or equal to a first threshold, the filtered second acceleration measurement is greater than the second threshold, and the filtered third acceleration measurement is greater than the third threshold for a threshold amount of time.
[0075] The method may further include: filtering the first, second and third acceleration measurements with a low-pass filter; setting a counter to a timeout value when the norm of the filtered first, second and third acceleration measurements is greater than a threshold; and decrementing the counter by 1 at a determined interval when the norm of the filtered first, second and third acceleration measurements is not greater than the threshold, and the detection of a non-shaking state includes detecting a non-shaking state when the counter is equal to zero.
[0076] Outputting a raise gesture state may include outputting a raise gesture state if an initial raise gesture is detected after detecting a non-shake state.
[0077] A device can be summarized as including: an accelerometer configured to generate a first acceleration measurement, a second acceleration measurement, and a third acceleration measurement along a first axis, a second axis, and a third axis, respectively; and a processor configured to: detect an orientation change of the device based on one of the first acceleration measurement, the second acceleration measurement, and the third acceleration measurement; determine whether the device is in a shaking state or a non-shaking state based on the first, second, and third acceleration measurements; detect a raise gesture of the device based on the first acceleration measurement, the second acceleration measurement, and the third acceleration measurement; verify the detected raise gesture when the device is in the non-shaking state; and invalidate the detected raise gesture when the device is in the shaking state.
[0078] The processor can be configured to: filter the first, second, and third acceleration measurements with a bandpass filter; detect an orientation change of the device based on one of the first, second, and third acceleration measurements filtered by the bandpass filter; filter the first, second, and third acceleration measurements with a low-pass filter; determine whether the device is in the shaken state or the non-shaken state based on the first, second, and third acceleration measurements filtered by the low-pass filter; and detect a raise gesture of the device based on the first, second, and third acceleration measurements filtered by the low-pass filter.
[0079] The processor can be configured to: set a counter to a timeout value when the norm of the first, second and third acceleration measurements and the third acceleration measurement is greater than a threshold; decrement the counter by 1 at a determined interval when the norm of the filtered first, second and third acceleration measurements is not greater than the threshold; determine that the device is in the shaking state when the counter is not equal to zero; and determine that the device is in the non-shaking state when the counter is equal to zero.
[0080] The various embodiments described above can be combined to provide additional embodiments. These and other changes can be made to the embodiments according to the above detailed description. Generally, in the following claims, the terms used should not be interpreted as limiting the claims to the specific embodiments disclosed in the specification and claims, but should be interpreted as including all possible embodiments and the full range of equivalents to which these claims are authorized. Therefore, the claims are not limited by this disclosure.
Claims
1. A device comprising: an accelerometer operable to generate a first acceleration measurement along a first axis, a second acceleration measurement along a second axis transverse to the first axis, and a third acceleration measurement along a third axis transverse to the first axis and the second axis; processing circuitry operable to receive the first acceleration measurement, the second acceleration measurement, and the third acceleration measurement; and a memory coupled to the processing circuitry, wherein, using the memory, the processing circuitry, in operation: detecting a change in orientation of the device based on the second acceleration measurement; detecting an initial raise gesture of the device based on the first acceleration measurement, the second acceleration measurement, and the third acceleration measurement; detecting a non-shaken state of the device based on the first acceleration measurement, the second acceleration measurement, and the third acceleration measurement; and A raise gesture state is output in response to the orientation change, the initial raise gesture, and the unshaked state being detected. 2 . The device of claim 1 , wherein the first axis and the second axis are in a plane including a surface of the device.
3. The device according to claim 1, wherein The processing circuit arrangement, in operation, filtering the second acceleration measurement with a bandpass filter; and The orientation change is detected when the second filtered acceleration measurement is greater than a threshold for a threshold amount of time.
4. The device of claim 3, wherein the first axis and the second axis are a horizontal axis and a vertical axis, respectively, in a plane including a surface of the device.
5. The apparatus of claim 3, wherein the threshold is between 0.05 and 0.5 g, and the threshold amount of time is between 150 and 500 milliseconds.
6. The device according to claim 1, wherein The processing circuit arrangement, in operation, filtering the first acceleration measurement, the second acceleration measurement, and the third acceleration measurement with a low pass filter; and The initial raise gesture is detected when an absolute value of the first filtered acceleration measurement is less than or equal to a first threshold, the second filtered acceleration measurement is greater than a second threshold, and the third filtered acceleration measurement is greater than a third threshold for a threshold amount of time.
7. The apparatus of claim 6, wherein the first threshold is between 0.17 and 0.71 g, the second threshold is between 0.09 and 0.71 g, and the third threshold is between 0 and -0.71 g, and the threshold amount of time is between 75 and 300 milliseconds.
8. The device according to claim 1, wherein The processing circuit arrangement, in operation, filtering the first acceleration measurement, the second acceleration measurement, and the third acceleration measurement with a low pass filter; setting a counter to a timeout value if a norm of the filtered first acceleration measurement, the second acceleration measurement, and the third acceleration measurement is greater than a threshold; decrementing the counter by 1 at a determined interval if the norm of the filtered first acceleration measurement, the second acceleration measurement, and the third acceleration measurement is not greater than the threshold; as well as The non-dithering state is detected when the counter is equal to zero.
9. The apparatus of claim 8, wherein the threshold is between 1.1 and 1.5 g.
10. The apparatus of claim 1, wherein the processing circuitry is operative to output the raise gesture state if the initial raise gesture is detected after the non-shake state is detected.
11. The device according to claim 1, wherein The processing circuit arrangement, in operation, filtering the second acceleration measurement with a bandpass filter; detecting the orientation change if the second filtered acceleration measurement is greater than a first threshold for a first threshold amount of time; filtering the first acceleration measurement, the second acceleration measurement, and the third acceleration measurement with a low pass filter; detecting the initial raise gesture when an absolute value of the first filtered acceleration measurement is less than or equal to a second threshold, the second filtered acceleration measurement is greater than a third threshold, and the third filtered acceleration measurement is greater than a fourth threshold for a second threshold amount of time; setting a counter to a timeout value if a norm of the filtered first acceleration measurement, the second acceleration measurement, and the third acceleration measurement is greater than a fifth threshold; decrementing the counter by 1 at a determined interval if the norm of the filtered first acceleration measurement, the second acceleration measurement, and the third acceleration measurement is not greater than the fifth threshold; as well as The non-dithering state is detected when the counter is equal to zero.
12. The apparatus of claim 11, wherein the timeout value is greater than a sum of the first threshold amount of time and the second threshold amount of time.
13. A method comprising: receiving a first acceleration measurement of the device along a first axis, a second acceleration measurement of the device along a second axis transverse to the first axis, and a third acceleration measurement of the device along a third axis transverse to the first axis and the second axis; detecting a change in orientation of the device based on the second acceleration measurement; detecting an initial raise gesture of the device based on the first acceleration measurement, the second acceleration measurement, and the third acceleration measurement; detecting a non-shaken state of the device based on the first acceleration measurement, the second acceleration measurement, and the third acceleration measurement; as well as A raise gesture state is output in response to detecting the orientation change, the initial raise gesture, and the no-shake state.
14. The method according to claim 13, further comprising: filtering the second acceleration measurement with a bandpass filter, The detection of the orientation change includes detecting the orientation change if the second filtered acceleration measurement is greater than a threshold for a threshold amount of time.
15. The method according to claim 13, further comprising: filtering the first acceleration measurement, the second acceleration measurement, and the third acceleration measurement with a low pass filter, The detection of the initial raise gesture includes detecting the initial raise gesture when an absolute value of the filtered first acceleration measurement is less than or equal to a first threshold, the filtered second acceleration measurement is greater than a second threshold, and the filtered third acceleration measurement is greater than a third threshold for a threshold amount of time.
16. The method according to claim 13, further comprising: filtering the first acceleration measurement, the second acceleration measurement, and the third acceleration measurement with a low pass filter; setting a counter to a timeout value if a norm of the filtered first acceleration measurement, the second acceleration measurement, and the third acceleration measurement is greater than a threshold; as well as In the case where the norm of the filtered first acceleration measurement, the second acceleration measurement and the third acceleration measurement is not greater than the threshold, decrementing the counter by 1 at a determined interval, The detecting of the dithering state includes detecting the non-dithering state if the counter is equal to zero.
17. The method of claim 13, wherein outputting the raise gesture state comprises: In a case where the initial raise gesture is detected after the non-shaking state is detected, the raise gesture state is output.
18. A device comprising: an accelerometer configured to generate a first acceleration measurement along a first axis, a second acceleration measurement along a second axis, and a third acceleration measurement along a third axis, respectively; as well as A processor, the processor being configured to: detecting a change in orientation of the device based on one of the first acceleration measurement, the second acceleration measurement, and the third acceleration measurement; determining whether the device is in a shaking state or a non-shaking state based on the first acceleration measurement, the second acceleration measurement, and the third acceleration measurement; detecting a raise gesture of the device based on the first acceleration measurement, the second acceleration measurement, and the third acceleration measurement; verifying the detected raise gesture while the device is in the non-shaking state; as well as If the device is in the shaken state, the detected raise gesture is invalidated.
19. The apparatus of claim 18, wherein the processor is configured to: filtering the first acceleration measurement, the second acceleration measurement, and the third acceleration measurement with a bandpass filter; detecting a change in orientation of the device based on one of the first acceleration measurement, the second acceleration measurement, and the third acceleration measurement filtered by the bandpass filter; filtering the first acceleration measurement, the second acceleration measurement, and the third acceleration measurement with a low pass filter; determining whether the device is in the shaken state or the non-shaken state based on the first acceleration measurement, the second acceleration measurement, and the third acceleration measurement filtered by the low pass filter; and The raise gesture of the device is detected based on the first acceleration measurement, the second acceleration measurement, and the third acceleration measurement filtered by the low pass filter.
20. The apparatus of claim 18, wherein the processor is configured to: In case a norm of the first acceleration measurement, the second acceleration measurement and the third acceleration measurement acceleration measurement is greater than a threshold, setting a counter to a timeout value; decrementing the counter by 1 at a determined interval if the norm of the filtered first acceleration measurement, the second acceleration measurement, and the third acceleration measurement is not greater than the threshold; determining that the device is in the jittering state if the counter is not equal to zero; as well as The device is determined to be in the non-dithering state if the counter is equal to zero.