CN101620237B - 一种加速度传感器倾斜动作的判断方法 - Google Patents
一种加速度传感器倾斜动作的判断方法 Download PDFInfo
- Publication number
- CN101620237B CN101620237B CN200910056197.XA CN200910056197A CN101620237B CN 101620237 B CN101620237 B CN 101620237B CN 200910056197 A CN200910056197 A CN 200910056197A CN 101620237 B CN101620237 B CN 101620237B
- Authority
- CN
- China
- Prior art keywords
- action
- threshold values
- time
- reset
- message
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Landscapes
- Telephone Function (AREA)
Abstract
本发明提供了一种加速度传感器倾斜动作的算法,该算法包括下列步骤:(1)用户手机倾斜动作时间模型的建立,其中包括设定空闲状态下动作检测间隔时间,动作过程中动作有效确认间隔时间和动作过程中的动态参考状态复位时间这三个时间参量;(2)用户手机倾斜动作强度模型的建立,其中包括设定进入阀值,动态归位阀值和归位确认阀值;(3)算法的模型建立;(4)算法的软件实现。本发明在低层驱动的算法中,动态的建立加速度传感器的动作参考状态,并在此动态参考状态下进行后续动作的运算/判断。
Description
技术领域
本发明属于移动通信技术领域,具体涉及一种加速度传感器倾斜动作的算法。
背景技术
在个人移动通讯技术不断发展的环境下,现在手机对人们的作用是越来越大,而手机的人机交换界面也做的越来越丰富,控制操作方式也做的越来越人性化。具体到对手机的输入控制上,现在普遍的控制输入方式是按键和屏幕触摸。然而,越来越人性化的控制方式也不断的出现,比如当在前/后切换歌曲时希望使用轻轻左/右倾斜手机的智能方式实现,要实现这样的功能就必须使用加速度传感器等感应器件。
而在对加速度传感器的实际应用中,现有的应用都是必须先保持当前手机在水平的方向,使用当前状态(采样数据)作为后续动作的原始参考状态(原始参考数据),来判断/定位后面的动作。然而,这样会出现原始参考状态(数据)因不同的手机或不同的环境而不匹配,造成动作无效或动作错误等问题,而且用户每次使用时都首先要保持手机水平,在使用中造成很多不便。
发明内容
为了解决上述使用加速度传感器存在的问题,为此,本发明的目的在于提供一种加速度传感器倾斜动作的算法,具体的实现是对加速度传感器的软件低层驱动算法进行重写并优化,提出一种新的运算方式。在此低层驱动的算法中,将动态的建立加速度传感器的动作参考状态,然后在此参考状态下进行后续动作的运算/判断,而其中,对于参考状态的建立时间点,可以根据用户的习惯性动作时间和当前算法内不同的运算状态来确定和处理;并且,进一步确定了倾斜/晃动动作的动作完整性,具体加速度传感器的反应过程,排除动作误识别的可能性。同时,软件流程中动作消息的处理和发送等都经过了优化改善。
本发明所提供的一种加速度传感器倾斜动作的算法,包括下列步骤:
(1)用户手机倾斜动作时间模型的建立;
(2)用户手机倾斜动作强度模型的建立;
(3)算法的模型建立;
(4)算法的软件实现。
其中,在步骤(1)中,设定三个时间参量:空闲状态下动作检测间隔时间;动作过程中动作有效确认间隔时间;动作过程中的动态参考状态复位时间。
步骤(2)中,设定下列阀值:进入阀值,用以确定倾斜到何等角度差值作为动作有效;动态归位阀值,用以确认有效的动作归位,该阀值是某一动作归位时与复位点的差值;归位确认阀值,用以区分某一动作是用户无意识的倾斜或晃动,还是有意识的比较慢的动作过程。
步骤(3)中,算法的模型建立包括:动作查询调用函数的建立,启动***查询定时器,将具体算法实现函数注册进入定时器中断处理函数中;在算法处理中使用虚拟按键的方式向上层发送动作 消息;算法中的定时器的中断时间受当前动作状态的改变而重新设定中断响应时间,用于切换不同的检测功能需要;使用倾斜/翻转--归位的完整性动作确认动作完成度;消息以动作整体完成才发送,模拟按键/释放键的动作操作消息发送。
步骤(4)中,算法的软件实现包括下列步骤:
(a)定时器中断函数进入,读取当次加速度传感器的采样值并记录;
(b)判断是否上一中断进来已经发送了动作消息,若是,将匹配的动作消息以虚拟按键的形式发送,同时重置参考阀值为检测进入阀值,重置定时器查询间隔为空闲查询间隔时间;若不是,将采样值与复位状态值的差值与进入阀值进行比较,并确认当前动作状态是否为IDLE状态;如果该差值小于进入阀值并且当前动作作态为IDLE时,再判断采样值与复位状态值的差值是否小于动态归位阀值,如果是,将当前状态转变成复位状态值,否则退出中断处理返回;
(c)若采样值与复位状态值的差值大于进入阀值或当前动作状态为非IDLE,则按顺序进入当次动作判别流程处理;
(d)判断当前动作是否跟上次中断的动作一样并不为空,若非,记录当前动作,清空参考状态复位时间记录;若是,将参考状态复位时间记录进行累加,并判断是否大于参考状态复位时间;
(e)若大于参考状态复位时间,清空参考状态复位时间记录,将当前状态作为复位状态值,重置参考阀值为检测进入阀值,重置定时器查询间隔为空闲查询间隔时间后退出中断处理返回;若小于参考状态复位时间,重置参考阀值为归位确认阀值,重置定时器查询间隔为动作确认间隔时间;
(f)根据按键匹配相应的虚拟按键消息用于后面的消息发送;
(g)判断是否虚拟按键消息为非空,且不等于上一中断动作状态和属于释放类消息,若非,记录当前消息后退出中断返回;若是则将虚拟按键消息以键消息发送,,并同时记录已发送信息,退出中断处理 返回。
附图说明
图1是一般加速度传感器倾斜动作的算法流程图。
图2是本发明方法所提供的加速度传感器倾斜动作的算法流程图。
具体实施方式
本发明提供了一个优选实施例来对本发明方法作进一步说明,本发明实施例是在展讯通信有限公司手机的GSM基带芯片6600D芯片平台上进行的,平台软件是使基于该6600D平台的应用软件。使用的加速度传感器是MEMSIC,Inc公司的MXC6202xJ/K型号,需要更换IC,没有特别的要求,只要同是以加速度变化量测试就可以。
本发明所提供的一种加速度传感器倾斜动作的算法,包括如下步骤:
(1)用户手机倾斜动作时间模型的建立;
(2)用户手机倾斜动作强度模型的建立;
(3)算法的模型建立;
(4)算法的软件实现。
下面结合附图对各个步骤进行详细说明。
(1)用户手机倾斜动作时间模型的建立
由于加速度传感器是用于检测握于用户手中的手机的倾斜/翻转等动作的,而这些动作都有一个动作作用的时间参量。其中有三 个时间参量在本发明所提供的算法判断中处于重要位置。这三个时间参量是:空闲状态下动作检测间隔时间a,动作过程中动作有效确认间隔时间b,和动作过程中的动态参考状态复位时间c。
空闲状态下动作检测间隔时间a:***程序通常采用定时器(TIMER)方式来检测手机是否有相关的动作,这是一个在空闲状态下定时查询是否有动作的方法。查询的间隔时间应当适宜,如果查询的间隔时间太短会对***资源造成较大的负担或消耗,不利于***的稳定运行和其他任务的正常工作,而如果间隔时间太长,则会对一些快速的动作检测不到,造成***对动作的反应不灵敏。手机所采用的加速度传感器一般是以约为17Hz的频率对其内部的传感器件进行采样的,因此它的采样间隔是50ms左右;而实验证明,手机用户正常快速的倾斜/翻转手机的动作时间是1/3S到1.2s之间,结合传感器件的采样率与手机用户的动作时间,本实施例中,确定查询的间隔时间是采样间隔的5倍,即250ms(50ms×5)。因此,空闲状态下动作检测间隔时间a=250ms。这样可以在保证检测到用户动作的情况下最大程度地降低查询动作对***资源的消耗。
动作过程中动作有效确认间隔时间b:该时间是当检测到有动作进行时,用于检测动作是否到位以及动作是否在正常时间内完成的确认动作是否有效的间隔时间。从手机一般所采用的加速度传感器芯片的规格说明(SPEC)上可以得出,该加速度传感器大约50ms进行一次采样,即每隔50ms检测一次。因此为了及时在某一动作过程中检测到该动作的变化,本实施例中,设定该动作过程中动作有效确认间隔时间b=50ms。
动作过程中的动态参考状态复位时间c:该动态参考状态复位时间是动态建立加速度传感器的动作参考状态的关键参量。如果该动态参考状态复位时间c太短,那么正常的动作就会被动态的不断修改参考状态,参考状态跟随着动作变化而变化,将会造成得不到 动作信息或动作反馈很不灵敏的问题;而如果该动态参考状态复位时间c太长,那么当用户使用手机在某一动作状态下很长时间再归位后还会产生动作消息,这样就偏离了采用加速度传感器的初衷以及用户的习惯动作。所以,需要选择合适的动态参考状态复位时间c。通过对用户的一个动作时间进行实验,可以得出,用户的一个正常动作过程一般是1/3s到1.2s之间,而且由TRACE的跟踪信息可以知道,采样得到的数据的停顿(变化值少于100)时间不超过150ms,因此,当在某一动作状态下不超过1/2s的时间时,可以确信当前用户的意图仅仅是倾斜手机而不是想有所动作或仅仅是手机在某种外部情况下改变了位置/角度。因此,在本实施例中,设定该动态参考状态复位时间c=500ms。
需要指出的是,对于参考状态的建立时间点,可以根据用户的习惯性动作时间和当前算法内不同的运算状态来确定和处理。
(2)用户手机倾斜动作强度模型的建立
要确认为有效的动作,那么该动作的幅度或力度就必须要达到一定的量,即达到一定的强度。这个强度的量可以从加速度传感器采样得到,由于该强度本身是由加速度引起的电压的变化,被检测到采样后经ADC转化成数值,该数值与初始状态的参量相差就代表了当前手机的倾斜等变化的幅度,而正负代表了方向。使用TRACE等跟踪工具将一般动作时经ADC转化后的数值进行分析和比较,确定当倾斜到一定角度差值作为动作有效的进入阀值,经过反复的测试,在本发明的实施例中,选取250(数值)作为进入阀值。当动作有效时,在确认动作有效的检测中,需要设定一个当动作归位时与复位点(初始参考状态点)的差值作为确认归位有效的动态归位阀值,而这个动态归位阀值必须要比进入阀值低且有一定的余度,经过实验测试,在本实施例中,该动态归位阀值确定为200(数值)。此外,在手机处于空闲状态中时,手机的轻微倾斜或晃动也会引起 加速度的变化,因此必须要设置一个归位确认阀值用做区分该动作仅仅是无意识的倾斜/晃动,还是有意识的比较慢的动作过程。该归位确认阀值确定了是否将某一改变的动作状态作为复位点还是等待该动作继续下去引起动作执行。根据上述用户动作的实验,在不影响动作响应的情况下,本实施例中确定该归位确认阀值为100(数值)。
(3)算法的模型建立
动作查询调用函数的建立,启动***查询定时器,将处理函数(具体算法实现函数)注册进入定时器中断处理函数中。在算法处理中使用虚拟按键的方式向上层发送动作消息。算法中的定时器的中断时间受当前动作状态的改变而重新设定中断响应时间,用于切换不同的检测功能需要。使用倾斜/翻转--归位的完整性动作确认动作完成度。消息以动作整体完成才发送,模拟按键/释放键的动作操作消息发送。
(4)算法的软件实现
图1所示的是一般加速度传感器倾斜动作的算法流程图。首先读取当次加速度传感器的采样值并记录,判断是否上一中断进来已经发送了动作消息,若是,将匹配的动作消息以虚拟(UP)按键的形式发送上去,让***按键处理得以匹配执行;若不是,将采样值与复位状态值的差值与进入阀值进行比较,并确认当前动作状态是否为IDLE状态?如果差值小于阀值并且当前作态为IDLE时,退出中断处理返回(IRETURN),如果采样值与复位状态值的差值大于进入阀值或当前动作状态为非IDLE,那么将按顺序进入当次动作判别流程处理。记录当前动作,并根据动作匹配相应的虚拟按键消息用于后面的消息发送。随后判断是否虚拟按键消息为非空?若非,记录当前消息后退出中断返回;若是,则将虚拟按键消息以(DOWN)键消息发送, 并同时记录已发送信息,退出中断处理返回(IRETURN)。
图2所示的是本发明所提供的加速度传感器倾斜动作的算法流程图,具体实现流程如下:
定时器中断函数进入,首先读取当次加速度传感器的采样值并记录,判断是否上一中断进来已经发送了动作消息,若是,将匹配的动作消息以虚拟按键(UP)的形式发送上去,让***按键处理得以匹配执行,同时重置参考阀值为检测进入阀值,重置定时器查询间隔为空闲查询间隔时间;若不是,将采样值与复位状态值的差值与进入阀值进行比较,并确认当前动作状态是否为IDLE状态?如果该差值小于进入阀值并且当前动作作态为IDLE时,再判断采样值与复位状态值的差值是否小于动态归位阀值,如果是,将当前状态转变成复位状态值,否则退出中断处理返回(IRETURN)。若采样值与复位状态值的差值大于进入阀值或当前动作状态为非IDLE,那么都将按顺序进入当次动作判别流程处理,如图2所示,判断是否左/右倾斜动作并记录,判断是否左/右倾斜动作被释放并记录,判断是否上/下倾斜动作并记录,判断是否上/下倾斜动作被释放并记录。
然后需要判断当前动作是否跟上次中断的动作一样并不为空,若非,记录当前动作,清空参考状态复位时间记录;若是,将参考状态复位时间记录进行累加,并判断是否大于参考状态复位时间?若大于参考状态复位时间,则需要清空参考状态复位时间记录,将当前状态作为复位状态值,重置参考阀值为检测进入阀值,重置定时器查询间隔为空闲查询间隔时间等工作后退出中断处理返回(IRETURN);若小于参考状态复位时间,则返回到上述记录当前动作的下一步,即重置参考阀值为归位确认阀值,重置定时器查询间隔为动作确认间隔时间,还要根据按键匹配相应的虚拟按键消息用于后面的消息发送。随后判断是否虚拟按键消息为非空,且不等于上一中断动作状态和属于释放类消息?若非,记录当前消息后退出中断返回;若是则将虚拟按键消息以(DOWN)键消息发送,,并同时记录已发送信息。退出中断处理返回(IRETURN),完成整个的算法处理。
综上所述仅为本发明的较佳实施例而已,并非用来限定本发明的实施范围。即凡依本发明申请专利范围的内容所作的等效变化与修饰,都应为本发明的技术范畴。
Claims (4)
1.一种加速度传感器倾斜动作的判断方法,其特征在于,该判断方法包括下列步骤:
(1)用户手机倾斜动作时间模型的建立:
具体的,设定三个时间参量:空闲状态下动作检测间隔时间;动作过程中动作有效确认间隔时间;动作过程中的动态参考状态复位时间;
(2)用户手机倾斜动作强度模型的建立:
具体的,设定下列阀值:
进入阀值,用以确定倾斜到何等角度差值作为动作有效;
动态归位阀值,用以确认有效的动作归位,该阀值是某一动作归位时与复位点的差值;
归位确认阀值,用以区分某一动作是用户无意识的倾斜或晃动,还是有意识的比较慢的动作过程;
(3)判断方法的模型建立:
具体的,判断方法的模型建立包括:动作查询调用函数的建立,启动***查询定时器,将具体判断方法实现函数注册进入定时器中断处理函数中;在判断方法处理中使用虚拟按键的方式向上层发送动作消息;判断方法中的定时器的中断时间受当前动作状态的改变而重新设定中断响应时间,用于切换不同的检测功能需要;使用倾斜/翻转--归位的完整性动作确认动作完成度;消息以动作整体完成才发送,模拟按键/释放键的动作操作消息发送;
(4)判断方法的软件实现:
具体的,包括下列步骤:
(a)定时器中断函数进入,读取当次加速度传感器的采样值并记录;
(b)判断是否上一中断进来已经发送了动作消息,若是,将匹配的动作消息以虚拟按键的形式发送,同时重置参考阀值为检测进入阀值,重置定时器查询间隔为空闲查询间隔时间;若不是,将采样值与复位状态值的差值与进入阀值进行比较,并确认当前动作状态是否为IDLE状态;如果该差值小于进入阀值并且当前动作作态为IDLE时,再判断采样值与复位状态值的差值是否小于动态归位阀值,如果是,将当前状态转变成复位状态值,否则退出中断处理返回;
(c)若采样值与复位状态值的差值大于进入阀值或当前动作状态为非IDLE,则按顺序进入当次动作判别流程处理;
(d)判断当前动作是否跟上次中断的动作一样并不为空,若非,记录当前动作,清空参考状态复位时间记录;若是,将参考状态复位时间记录进行累加,并判断是否大于参考状态复位时间;
(e)若大于参考状态复位时间,清空参考状态复位时间记录,将当前状态作为复位状态值,重置参考阀值为检测进入阀值,重置定时器查询间隔为空闲查询间隔时间后退出中断处理返回;若小于参考状态复位时间,重置参考阀值为归位确认阀值,重置定时器查询间隔为动作确认间隔时间;
(f)根据按键匹配相应的虚拟按键消息用于后面的消息发送;
(g)判断是否虚拟按键消息为非空,且不等于上一中断动作状态和属于释放类消息,若非,记录当前消息后退出中断返回;若是则将虚拟按键消息以键消息发送,并同时记录已发送信息,退出中断处理返回。
2.如权利要求1所述的加速度传感器倾斜动作的判断方法,其特征在于,空闲状态下动作检测间隔时间为250ms;动作过程中动作有效确认间隔时间为50ms;动作过程中的动态参考状态复位时间为500ms。
3.如权利要求1所述的加速度传感器倾斜动作的判断方法,其特征在于,分别设定进入阀值为250;动态归位阀值为200;归位确认阀值为100。
4.如权利要求2所述的加速度传感器倾斜动作的判断方法,其特征在于,分别设定进入阀值为250;动态归位阀值为200;归位确认阀值为100。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200910056197.XA CN101620237B (zh) | 2009-08-10 | 2009-08-10 | 一种加速度传感器倾斜动作的判断方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200910056197.XA CN101620237B (zh) | 2009-08-10 | 2009-08-10 | 一种加速度传感器倾斜动作的判断方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101620237A CN101620237A (zh) | 2010-01-06 |
CN101620237B true CN101620237B (zh) | 2014-09-10 |
Family
ID=41513577
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200910056197.XA Expired - Fee Related CN101620237B (zh) | 2009-08-10 | 2009-08-10 | 一种加速度传感器倾斜动作的判断方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101620237B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5225475B2 (ja) * | 2010-01-07 | 2013-07-03 | 株式会社東芝 | 移動状態推定装置、方法およびプログラム |
KR101637939B1 (ko) * | 2010-01-22 | 2016-07-20 | 삼성전자주식회사 | 이동통신 단말기의 동작 인식 장치 및 방법 |
CN101782964B (zh) * | 2010-02-02 | 2012-07-18 | 华南理工大学 | 一种基于加速度传感器的失重特征提取方法 |
EP2998703A4 (en) * | 2013-05-15 | 2017-01-18 | Asahi Kasei Kabushiki Kaisha | Offset estimation device, offset estimation method, and program |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1748146A (zh) * | 2003-02-10 | 2006-03-15 | 东京毅力科创株式会社 | 加速度传感器以及倾斜检测方法 |
CN101051055A (zh) * | 2006-04-04 | 2007-10-10 | 冲电气工业株式会社 | 倾斜角运算方法以及倾斜角运算装置 |
CN200987211Y (zh) * | 2006-11-09 | 2007-12-05 | 中兴通讯股份有限公司 | 一种手机 |
-
2009
- 2009-08-10 CN CN200910056197.XA patent/CN101620237B/zh not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1748146A (zh) * | 2003-02-10 | 2006-03-15 | 东京毅力科创株式会社 | 加速度传感器以及倾斜检测方法 |
CN101051055A (zh) * | 2006-04-04 | 2007-10-10 | 冲电气工业株式会社 | 倾斜角运算方法以及倾斜角运算装置 |
CN200987211Y (zh) * | 2006-11-09 | 2007-12-05 | 中兴通讯股份有限公司 | 一种手机 |
Also Published As
Publication number | Publication date |
---|---|
CN101620237A (zh) | 2010-01-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20130084922A1 (en) | Portable Electronic Device and the Mode Switching Method Thereof | |
US8938612B1 (en) | Limited-access state for inadvertent inputs | |
EP2748693B1 (en) | Method for detecting false wake conditions of a portable electronic device | |
CN105264456B (zh) | 运动围栏 | |
US20150026649A1 (en) | Method, apparatus and system for controlling computer terminal | |
EP3156876B1 (en) | Low power detection apparatus and method | |
US20130100044A1 (en) | Method for Detecting Wake Conditions of a Portable Electronic Device | |
US20130222338A1 (en) | Apparatus and method for processing a plurality of types of touch inputs | |
CN108021224B (zh) | 屏幕点亮方法及装置 | |
KR20140060757A (ko) | 입력 수단의 결제 기능을 제어하는 전자 장치 및 방법 | |
CN104995581A (zh) | 电子设备的手势检测管理 | |
CN101697181A (zh) | 通过在解锁图像上执行姿态来解锁设备 | |
CN108323237B (zh) | 一种终端行为触发方法及终端 | |
KR20130129914A (ko) | 터치스크린 상에서의 손가락 인식 | |
WO2013185119A1 (en) | Storing trace information | |
CN101620237B (zh) | 一种加速度传感器倾斜动作的判断方法 | |
CN107390923B (zh) | 一种屏幕防误触方法、装置、存储介质和终端 | |
KR20190049801A (ko) | 데이터 공유 방법 및 단말기 | |
CN107463290A (zh) | 触摸操作的响应控制方法、装置、存储介质及移动终端 | |
WO2019042292A1 (zh) | 利用指纹识别响应来电的方法、存储介质及移动终端 | |
US20110059778A1 (en) | Touchscreen with Z-Velocity Enhancement | |
WO2017206918A1 (zh) | 终端加速唤醒方法以及相关产品 | |
CN110691168B (zh) | 移动终端的屏幕控制方法、装置及存储介质 | |
CN108604161A (zh) | 一种锁定列表对象的方法、装置及终端设备 | |
WO2014094456A1 (zh) | 页面切换方法、装置及终端 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20140910 Termination date: 20160810 |
|
CF01 | Termination of patent right due to non-payment of annual fee |