CN108021242B - 陀螺仪数据处理方法、移动终端及计算机可读存储介质 - Google Patents

陀螺仪数据处理方法、移动终端及计算机可读存储介质 Download PDF

Info

Publication number
CN108021242B
CN108021242B CN201711277823.9A CN201711277823A CN108021242B CN 108021242 B CN108021242 B CN 108021242B CN 201711277823 A CN201711277823 A CN 201711277823A CN 108021242 B CN108021242 B CN 108021242B
Authority
CN
China
Prior art keywords
order
absolute difference
mobile terminal
digital filter
data
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.)
Active
Application number
CN201711277823.9A
Other languages
English (en)
Other versions
CN108021242A (zh
Inventor
赵志勇
赵振
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Guangdong Oppo Mobile Telecommunications Corp Ltd
Original Assignee
Guangdong Oppo Mobile Telecommunications Corp Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Guangdong Oppo Mobile Telecommunications Corp Ltd filed Critical Guangdong Oppo Mobile Telecommunications Corp Ltd
Priority to CN201711277823.9A priority Critical patent/CN108021242B/zh
Publication of CN108021242A publication Critical patent/CN108021242A/zh
Application granted granted Critical
Publication of CN108021242B publication Critical patent/CN108021242B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/033Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
    • G06F3/0346Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor with detection of the device orientation or free movement in a 3D space, e.g. 3D mice, 6-DOF [six degrees of freedom] pointers using gyroscopes, accelerometers or tilt-sensors
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/10Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration
    • G01C21/12Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration executed aboard the object being navigated; Dead reckoning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/033Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
    • G06F3/038Control and interface arrangements therefor, e.g. drivers or device-embedded control circuitry

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Human Computer Interaction (AREA)
  • Automation & Control Theory (AREA)
  • Telephone Function (AREA)

Abstract

一种陀螺仪数据处理方法、移动终端及计算机可读存储介质,属于数据处理技术领域,应用于移动终端。其中,陀螺仪数据处理方法包括:在虚拟陀螺仪运行期间,通过内置的运动感测器持续检测移动终端的运动状态变化,当检测到移动终端处于静止状态时,将数字滤波器的阶数提高至第一阶数,并利用第一阶数的数字滤波器对虚拟陀螺仪输出的数据进行处理,当检测到移动终端处于运动状态时,将数字滤波器的阶数降低至第二阶数,并利用第二阶数的数字滤波器对虚拟陀螺仪输出的数据进行处理。上述陀螺仪数据处理方法、移动终端及计算机可读存储介质,可改善陀螺仪的性能。

Description

陀螺仪数据处理方法、移动终端及计算机可读存储介质
技术领域
本发明属于数据处理技术领域,尤其涉及一种陀螺仪数据处理方法、移动终端及计算机可读存储介质。
背景技术
陀螺仪是智能手机、平板电脑等智能移动终端的重要传感器之一。通过陀螺仪可以得到智能移动终端的实时角速度,从而使得智能移动终端中AR(Augmented Reality,扩增实境)游戏、射击游戏和赛车游戏等依赖于移动终端运动变化的各种功能得以实现。
目前,由于通过算法实现的虚拟陀螺仪不需要增加硬件成本,因此基于成本考虑,厂家设计时更倾向于使用虚拟陀螺仪。但算法实现的虚拟陀螺仪防干扰能力较差,噪声相对比较大,在用户使用过程中往往出现抖动等问题。
发明内容
本发明实施例提供一种陀螺仪数据处理方法、移动终端及计算机可读存储介质,以实现陀螺仪数据的动态处理,从而改善虚拟陀螺仪的使用性能。
本发明实施例第一方面提供了一种陀螺仪数据处理方法,应用于移动终端,所述方法包括:
在虚拟陀螺仪运行期间,通过内置的运动感测器持续检测所述移动终端的运动状态变化;
当检测到所述移动终端处于静止状态时,将数字滤波器的阶数提高至第一阶数,并利用所述第一阶数的数字滤波器对所述虚拟陀螺仪输出的数据进行处理;
当检测到所述移动终端处于运动状态时,将所述数字滤波器的阶数降低至第二阶数,并利用所述第二阶数的数字滤波器对所述虚拟陀螺仪输出的数据进行处理。
本发明实施例第二方面提供了一种移动终端,包括:
检测模块,用于在虚拟陀螺仪运行期间,通过内置的运动感测器持续检测所述移动终端的运动状态变化;
处理模块,用于当所述检测模块检测到所述移动终端处于静止状态时,将数字滤波器的阶数提高至第一阶数,并利用所述第一阶数的数字滤波器对所述虚拟陀螺仪输出的数据进行处理;
所述处理模块,还用于当所述检测模块检测到所述移动终端处于运动状态时,将所述数字滤波器的阶数降低至第二阶数,并利用所述第二阶数的数字滤波器对所述虚拟陀螺仪输出的数据进行处理。
本发明实施例第三方面提供了一种移动终端,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时,实现上述本发明实施例第一方面提供的陀螺仪数据处理方法。
本发明实施例第四方面提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时,实现上述本发明实施例第一方面提供的陀螺仪数据处理方法。
本发明实施例中,利用预设的阈值和借助第三方加速度传感器获取的加速度数据判断移动终端的运动状态,并在移动终端处于静止状态时,智能加重数字滤波器的阶数,以抑制噪声干扰,获取平滑的数据防止陀螺仪的抖动,在移动终端处于非静止状态时,智能减小数字滤波器的阶数,以获取更高的数据灵敏度,像这样通过根据不同的使用状态来智能分配滤波器阶数,实现了陀螺仪数据的动态处理,因此可改善了虚拟陀螺仪的使用性能,从而达到较佳的虚拟陀螺仪使用体验。
附图说明
图1是本发明一实施例提供的陀螺仪数据处理方法的实现流程示意图;
图2是本发明另一实施例提供的陀螺仪数据处理方法的实现流程示意图;
图3是本发明一实施例提供的移动终端的结构示意图;
图4是本发明另一实施例提供的移动终端的结构示意图;
图5是本发明一实施例提供的移动终端的硬件结构示意图。
具体实施方式
为使得本发明的发明目的、特征、优点能够更加的明显和易懂,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而非全部实施例。基于本发明中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参阅图1,图1为本发明一实施例提供的陀螺仪数据处理方法的实现流程示意图,该方法可应用于移动终端中,移动终端包括:具有利用虚拟陀螺仪获取角速度数据功能的智能手机、平板电脑等可在移动中使用的电子数据处理设备。如图1所示,该方法主要包括以下步骤:
101、在虚拟陀螺仪运行期间,通过内置的运动感测器持续检测移动终端的运动状态变化;
内置的运动感测器可以但不限于包括:加速度传感器(G-sensor)、地磁传感器(如,指南针)以及方向传感器(如,罗盘)。
具体的,在虚拟陀螺仪运行期间,通过内置的运动感测器持续获取移动终端的运动数据,如:加速度数据、角速度数据、方向数据等等。然后根据获取的运动数据的变化检测移动终端的运动状态变化。
102、当检测到移动终端处于静止状态时,将数字滤波器的阶数提高至第一阶数,并利用第一阶数的数字滤波器对虚拟陀螺仪输出的数据进行处理;
103、当检测到移动终端处于运动状态时,将数字滤波器的阶数降低至第二阶数,并利用第二阶数的数字滤波器对虚拟陀螺仪输出的数据进行处理。
滤波器的阶数,就是指过滤谐波的次数,同样的滤波器,其阶数越高,滤波效果就越好。通常来说,数字波器的阶数跟虚拟陀螺仪的灵敏度成反比。数字滤波器的阶数越高,虚拟陀螺仪的噪声越小,输出数据抖动越小,但陀螺仪的灵敏度越差。反之,数字滤波器的阶数越低,虚拟陀螺仪的噪声越大,输出数据抖动越大,但陀螺仪的灵敏度越好。
当移动终端处于静止状态时,对陀螺仪的灵敏度要求较低,而当移动终端处于非静止状态(即,运动状态)时,对陀螺仪的灵敏度要求较高。因此,根据移动终端的运动状态变化,动态调整数字滤波器的阶数,可使滤波器的抖动性和灵敏度可以兼顾,从而可以改善虚拟陀螺仪的使用性能。
本实施例中,利用预设的阈值和借助第三方加速度传感器获取的加速度数据判断移动终端的运动状态,并在移动终端处于静止状态时,智能加重数字滤波器的阶数,以抑制噪声干扰,获取平滑的数据防止陀螺仪的抖动,在移动终端处于非静止状态时,智能减小数字滤波器的阶数,以获取更高的数据灵敏度,像这样通过根据不同的使用状态来智能分配滤波器阶数,实现了陀螺仪数据的动态处理,因此可改善了虚拟陀螺仪的使用性能,从而达到较佳的虚拟陀螺仪使用体验。
请参阅图2,图2为本发明另一实施例提供的陀螺仪数据处理方法的实现流程示意图,该方法可应用于移动终端中,移动终端包括:具有利用虚拟陀螺仪获取角速度数据功能的智能手机、平板电脑等可在移动中使用的电子数据处理设备。如图2所示,该方法主要包括以下步骤:
201、在虚拟陀螺仪运行期间,分组通过加速度传感器连续获取加速度数据;
202、按照数据获取的时间先后顺序,依次计算相邻两组加速度数据的均方差的绝对差值,并判断计算得到的绝对差值是否大于预设阈值;
203、若绝对差值大于预设阈值,则确认移动终端处于运动状态,将数字滤波器的阶数降低至第二阶数,并利用第二阶数的数字滤波器对虚拟陀螺仪输出的数据进行处理;
204、若绝对差值不大于预设阈值,则确认移动终端处于静止状态,将数字滤波器的阶数提高至第一阶数,并利用第一阶数的数字滤波器对虚拟陀螺仪输出的数据进行处理;
具体的,在虚拟陀螺仪运行期间,按照预设的数量,分组通过加速度传感器连续获取加速度数据。假设预设的数量为10,则以10个数据为一组,10个10个地通过加速度传感器连续获取加速度数据。
然后,在获取到第一和第二组加速度数据后,计算第一和第二组加速度数据的均方差的绝对差值,并判断计算得到的绝对差值是否大于预设阈值δ。若计算得到的绝对差值不大于预设阈值,则确认移动终端处于静止状态,将数字滤波器的阶数提高至第一阶数,并利用第一阶数的数字滤波器对虚拟陀螺仪输出的数据进行处理。若计算得到的绝对差值大于预设阈值,则确认移动终端处于运动状态,将数字滤波器的阶数降低至第二阶数,并利用第二阶数的数字滤波器对虚拟陀螺仪输出的数据进行处理。
可以理解的,对数字滤波器的阶数进行调整与获取加速度数据可同时进行。在根据计算得到的第一和第二组加速度数据的均方差的绝对差值,对数字滤波器进行调整之后,如果已经获取到第三组加速度数据,则继续计算第二和第三组加速度数据的均方差的绝对差值,并判断计算得到的绝对差值是否大于预设阈值δ,然后根据判断结果对数字滤波器进行调整。如果没有获取到第三组加速度数据,则等到获取到第三组加速度数据之后,再继续计算第二和第三组加速度数据的均方差的绝对差值,并判断计算得到的绝对差值是否大于预设阈值δ,然后根据判断结果对数字滤波器的阶数进行调整。然后,按照上述相同的方式,继续计算第二和第三组加速度数据的均方差的绝对差值,并判断计算得到的绝对差值是否大于预设阈值δ,然后根据判断结果对数字滤波器的阶数进行调整,如此往复,直至虚拟陀螺仪结束运行,或者,根据外部指令,终止对数字滤波器的阶数的调整。
均方差,或者又叫标准差(Standard Deviation),是离均差平方的算术平均数的平方根。举例来说,假设第一组加速度数据包括X1,X2,X3,……X10,第二组加速度数据包括X11,X12,X13,……X20,则首先,根据以下公式分别计算这两组加速度数据的均方差δ1和δ2
Figure BDA0001496925310000061
其中μ为一组数据的平均值。
然后,计算第一组加速度数据的均方差与第二组加速度数据的均方差的绝对差值|δ12|,并判断|δ12|是否小于δ,若|δ12|<δ,则确认移动终端处于静止状态,否则,确认移动终端处于运动状态(即,非静止状态)。
可选的,数字滤波器可以但不限于包括:滑动窗均值滤波器、巴特沃斯滤波器以及切比雪夫滤波器中的任意一种。可以理解的,滤波器的类型不同,调整后的阶数的数值也有所不同,在实际应用中可根据使用的滤波器的具体类型,确定第一阶数和第二阶数。
可选的,于其他一实施例中,加速度数据为x、y、z三轴的加速度数值,则,可通过以下步骤判断移动终端的运动状态变化:
步骤一、分别计算相邻两组加速度数据中各轴的加速度数值的均方差的绝对差值,得到x轴的加速度数值对应的第一绝对差值、y轴的加速度数值对应的第二绝对差值以及z轴的加速度数值对应的第三绝对差值;
步骤二、分别将第一绝对差值与第一阈值的大小进行比较,将第二绝对差值与第二阈值的大小进行比较,将第三绝对差值与第三阈值的大小进行比较;
步骤三、若第一绝对差值大于第一阈值,且第二绝对差值大于第二阈值,且第三绝对差值大于第三阈值,则确认移动终端处于运动状态;
步骤四、若第一绝对差值不大于第一阈值,或,第二绝对差值不大于第二阈值,或,第三绝对差值不大于第三阈值,则确认移动终端处于静止状态。
可选的,于其他一实施例中,加速度数据为加速度传感器输出的x、y、z三轴的加速度数值经过一重积分后得到的速度数据,或者,x、y、z三轴的加速度数值经过二重积分后得到的位置数据,则,计算相邻两组加速度数据的均方差的绝对差值,并判断计算得到的绝对差值是否大于预设阈值,具体包括:计算相邻两组速度数据或位置数据的均方差的绝对差值,并判断计算得到的绝对差值是否大于预设阈值。
205、检测陀螺仪输出数据的抖动幅度是否大于预设幅度;
206、若大于预设幅度,则按照预设的幅度增加第一阶数的数值。
若陀螺仪输出数据的抖动幅度大于预设幅度,则按照预设的幅度增加第一阶数的数值,然后再次检测陀螺仪输出数据的抖动幅度是否大于预设幅度,如此往复,直至第一阶数的数值达到预设数值。
可以理解的,阶数一次调整后可能无法达到预期的抖动效果,因此,可在一次调整后判断陀螺仪输出数据的抖动幅度是否大于预设幅度,若大于预设幅度,则说明本次调整没有达到预期的效果,需要继续提高数字滤波器的阶数,于是按照预设的幅度增加第一阶数的数值。然后,执行步骤205,即检测陀螺仪的抖动幅度是否大于预设幅度的步骤,直至第一阶数的数值达到预设数值。像这样,通过根据调整效果逐步增加第一阶数的数值,可以使得数字滤波器的阶数可以使得处理后的陀螺仪数据的变化更符合移动终端的运动变化需求,从而进一步提高调整的智能化。在逐步增加第一阶数的数值的过程中,数字滤波器可先暂停工作,也可不暂停工作,继续对陀螺仪数据进行过滤。
可以理解的,由于需要对阶数进行多次微调,所以在将数字滤波器的阶数调整为第一阶数前,可以先判断数字滤波器的当前阶数是否大于初始阶数,若不大于初始阶数,再将数字滤波器的阶数提高至第一阶数;在将数字滤波器的阶数降低至第二阶数之前,判断数字滤波器的当前阶数是否等于第二阶数,若不等于第二阶数,再将数字滤波器的阶数降低至第二阶数,以避免重复执行微调操作,进一步提高调整效率。
可选的,于其他一实施例中,也可用地磁传感器代替加速度传感器,通过地磁传感器获取地磁数据并转换为角速度,然后根据角速度的变化判断移动终端的运动状态变化。
本实施例中,利用预设的阈值和借助第三方加速度传感器获取的加速度数据判断移动终端的运动状态,并在移动终端处于静止状态时,智能加重数字滤波器的阶数,以抑制噪声干扰,获取平滑的数据防止陀螺仪的抖动,在移动终端处于非静止状态时,智能减小数字滤波器的阶数,以获取更高的数据灵敏度,像这样通过根据不同的使用状态来智能分配滤波器阶数,实现了陀螺仪数据的动态处理,因此可改善了虚拟陀螺仪的使用性能,从而达到较佳的虚拟陀螺仪使用体验。
请参阅图3,图3是本发明一实施例提供的移动终端的结构示意图,为了便于说明,仅示出了与本发明实施例相关的部分。图3示例的移动终端可以是前述图1所示实施例提供的陀螺仪数据处理方法的执行主体。图1示例的移动终端,主要包括:
检测模块301和处理模块302。
其中,检测模块301,用于在虚拟陀螺仪运行期间,通过内置的运动感测器持续检测移动终端的运动状态变化;
处理模块302,用于当检测模块301检测到移动终端处于静止状态时,将数字滤波器的阶数提高至第一阶数,并利用第一阶数的数字滤波器对虚拟陀螺仪输出的数据进行处理;
处理模块302,还用于当检测模块301检测到移动终端处于运动状态时,将数字滤波器的阶数降低至第二阶数,并利用第二阶数的数字滤波器对虚拟陀螺仪输出的数据进行处理。
本实施例未尽之细节,请参阅前述图1所示实施例的描述,此处不再赘述。
需要说明的是,以上图1示例的移动终端的实施方式中,各功能模块的划分仅是举例说明,实际应用中可以根据需要,例如相应硬件的配置要求或者软件的实现的便利考虑,而将上述功能分配由不同的功能模块完成,即将移动终端的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。而且,实际应用中,本实施例中的相应的功能模块可以是由相应的硬件实现,也可以由相应的硬件执行相应的软件完成。本说明书提供的各个实施例都可应用上述描述原则,以下不再赘述。
本实施例中,利用预设的阈值和借助第三方加速度传感器获取的加速度数据判断移动终端的运动状态,并在移动终端处于静止状态时,智能加重数字滤波器的阶数,以抑制噪声干扰,获取平滑的数据防止陀螺仪的抖动,在移动终端处于非静止状态时,智能减小数字滤波器的阶数,以获取更高的数据灵敏度,像这样通过根据不同的使用状态来智能分配滤波器阶数,实现了陀螺仪数据的动态处理,因此可改善了虚拟陀螺仪的使用性能,从而达到较佳的虚拟陀螺仪使用体验。
请参阅图4,本发明另一实施例提供的移动终端的结构示意图,为了便于说明,仅示出了与本发明实施例相关的部分。图4示例的移动终端可以是前述图1和图2所示实施例提供的陀螺仪数据处理方法的执行主体。本实施例中的移动终端,与图3所示实施例中的移动终端的不同之处主要在于:
进一步的,运动感测器为加速度传感器,则检测模块301包括:
获取子模块3011,用于在虚拟陀螺仪运行期间,分组通过加速度传感器连续获取加速度数据;
判断子模块3012,用于按照数据获取的时间先后顺序,依次计算相邻两组加速度数据的均方差的绝对差值,并判断计算得到的绝对差值是否大于预设阈值;
确认子模块3013,用于若绝对差值大于预设阈值,则确认移动终端处于运动状态;
确认子模块3013,还用于若绝对差值不大于预设阈值,则确认移动终端处于静止状态。
当加速度数据为x、y、z三轴的加速度数值,判断子模块3012具体用于按照数据获取的时间先后顺序,依次分别计算相邻两组加速度数据中各轴的加速度数值的均方差的绝对差值,得到x轴的加速度数值对应的第一绝对差值、y轴的加速度数值对应的第二绝对差值以及z轴的加速度数值对应的第三绝对差值;
拥有分别将第一绝对差值与第一阈值的大小进行比较,将第二绝对差值与第二阈值的大小进行比较,将第三绝对差值与第三阈值的大小进行比较;
若第一绝对差值大于第一阈值,且第二绝对差值大于第二阈值,且第三绝对差值大于第三阈值,则确认移动终端处于运动状态;
若第一绝对差值不大于第一阈值,或,第二绝对差值不大于第二阈值,或,第三绝对差值不大于第三阈值,则确认移动终端处于静止状态。
加速度数据为加速度传感器输出的x、y、z三轴的加速度数值经过一重积分后得到的速度数据,或者,x、y、z三轴的加速度数值经过二重积分后得到的位置数据,则判断子模块3012还用于按照数据获取的时间先后顺序,依次计算相邻两组速度数据或位置数据的均方差的绝对差值,并判断计算得到的绝对差值是否大于预设阈值。
进一步地,运动感测器为地磁传感器,则检测模块301,具体用于通过地磁传感器获取地磁数据并转换为角速度,并根据角速度的变化判断移动终端的运动状态变化。
检测模块301,还用于检测陀螺仪输出数据的抖动幅度是否大于预设幅度;
处理模块302,还用于若大于预设幅度,则按照预设的幅度增加第一阶数的数值,并触发检测模块检测陀螺仪的抖动幅度是否大于预设幅度,直至第一阶数的数值达到预设数值;
处理模块302,还用于在将数字滤波器的阶数提高至第一阶数之前,判断数字滤波器的当前阶数是否大于初始阶数,若不大于初始阶数,则将数字滤波器的阶数提高至第一阶数;
处理模块303,还用于在将数字滤波器的阶数降低至第二阶数之前,判断数字滤波器的当前阶数是否等于第二阶数,若不等于第二阶数,则将数字滤波器的阶数降低至第二阶数。
本实施例未尽之细节,请参阅前述图1至图3所示实施例的描述,此处不再赘述。
本实施例中,利用预设的阈值和借助第三方加速度传感器获取的加速度数据判断移动终端的运动状态,并在移动终端处于静止状态时,智能加重数字滤波器的阶数,以抑制噪声干扰,获取平滑的数据防止陀螺仪的抖动,在移动终端处于非静止状态时,智能减小数字滤波器的阶数,以获取更高的数据灵敏度,像这样通过根据不同的使用状态来智能分配滤波器阶数,实现了陀螺仪数据的动态处理,因此可改善了虚拟陀螺仪的使用性能,从而达到较佳的虚拟陀螺仪使用体验。
请参阅图5,图5为本发明一实施例提供的移动终端的硬件结构示意图。
本实施例中所描述的移动终端,包括:
存储器51、处理器52及存储在存储器51上并可在处理器52上运行的计算机程序,处理器52执行该计算机程序时,实现前述图1和图2所示实施例中描述的陀螺仪数据处理方法。
进一步的,该移动终端还包括:
至少一个输入设备53以及至少一个输出设备54。
上述存储器51、处理器52、输入设备53以及输出设备54,通过总线55连接。
其中,输入设备53具体可为摄像头、触控面板、物理按键或者鼠标等等。输出设备54具体可为显示屏。
存储器51可以是高速随机存取记忆体(RAM,Random Access Memory)存储器,也可为非不稳定的存储器(non-volatile memory),例如磁盘存储器。存储器51用于存储一组可执行程序代码,处理器52与存储器51耦合。
进一步的,本发明实施例还提供了一种计算机可读存储介质,该计算机可读存储介质可以是设置于上述各实施例中的移动终端中,该计算机可读存储介质可以是前述图5所示实施例中的存储器。该计算机可读存储介质上存储有计算机程序,该程序被处理器执行时实现前述图1和图2所示实施例中描述的陀螺仪数据处理方法。进一步的,该计算机可存储介质还可以是U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
在本申请所提供的多个实施例中,应该理解到,所揭露的移动终端和方法,可以通过其它的方式实现。例如,以上所描述的实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信链接可以是通过一些接口,模块的间接耦合或通信链接,可以是电性,机械或其它的形式。
所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。
需要说明的是,对于前述的各方法实施例,为了简便描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其它顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定都是本发明所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其它实施例的相关描述。
以上为对本发明所提供的陀螺仪数据处理方法、移动终端及计算机可读存储介质的描述,对于本领域的技术人员,依据本发明实施例的思想,在具体实施方式及应用范围上均会有改变之处,综上,本说明书内容不应理解为对本发明的限制。

Claims (13)

1.一种陀螺仪数据处理方法,应用于移动终端,其特征在于,所述方法包括:
在虚拟陀螺仪运行期间,通过内置的运动感测器持续检测所述移动终端的运动状态变化;
当检测到所述移动终端处于静止状态时,将数字滤波器的阶数设置为第一阶数,并利用所述第一阶数的数字滤波器对所述虚拟陀螺仪输出的数据进行处理;
当检测到所述移动终端处于运动状态时,将所述数字滤波器的阶数设置为第二阶数,并利用所述第二阶数的数字滤波器对所述虚拟陀螺仪输出的数据进行处理,所述第一阶数高于所述第二阶数。
2.如权利要求1所述的方法,其特征在于,所述运动感测器为加速度传感器,则所述在虚拟陀螺仪运行期间,通过内置的运动感测器持续检测所述移动终端的运动状态变化,具体包括:
在所述虚拟陀螺仪运行期间,分组通过所述加速度传感器连续获取加速度数据;
按照数据获取的时间先后顺序,依次计算相邻两组加速度数据的均方差的绝对差值,并判断计算得到的绝对差值是否大于预设阈值;
若所述绝对差值大于所述预设阈值,则确认所述移动终端处于运动状态;
若所述绝对差值不大于所述预设阈值,则确认所述移动终端处于静止状态。
3.如权利要求2所述的方法,其特征在于,所述加速度数据为x、y、z三轴的加速度数值,则,所述按照数据获取的时间先后顺序,依次计算相邻两组加速度数据的均方差的绝对差值,并判断计算得到的绝对差值是否大于预设阈值,具体包括:
按照数据获取的时间先后顺序,依次分别计算相邻两组加速度数据中各轴的加速度数值的均方差的绝对差值,得到x轴的加速度数值对应的第一绝对差值、y轴的加速度数值对应的第二绝对差值以及z轴的加速度数值对应的第三绝对差值;
分别将所述第一绝对差值与第一阈值的大小进行比较,将所述第二绝对差值与第二阈值的大小进行比较,将所述第三绝对差值与第三阈值的大小进行比较;
所述若所述绝对差值大于所述预设阈值,则确认所述移动终端处于运动状态,具体包括:
若所述第一绝对差值大于所述第一阈值,且所述第二绝对差值大于所述第二阈值,且所述第三绝对差值大于所述第三阈值,则确认所述移动终端处于运动状态;
所述若所述绝对差值不大于所述预设阈值,则确认所述移动终端处于静止状态,具体包括:
若所述第一绝对差值不大于所述第一阈值,或,所述第二绝对差值不大于所述第二阈值,或,所述第三绝对差值不大于所述第三阈值,则确认所述移动终端处于静止状态。
4.如权利要求2所述的方法,其特征在于,所述加速度数据为所述加速度传感器输出的x、y、z三轴的加速度数值经过一重积分后得到的速度数据,或者,所述x、y、z三轴的加速度数值经过二重积分后得到的位置数据,
则,所述按照数据获取的时间先后顺序,依次计算相邻两组加速度数据的均方差的绝对差值,并判断计算得到的绝对差值是否大于预设阈值,具体包括:
按照数据获取的时间先后顺序,依次计算相邻两组所述速度数据或所述位置数据的均方差的绝对差值,并判断计算得到的绝对差值是否大于预设阈值。
5.如权利要求1所述的方法,其特征在于,所述运动感测器为地磁传感器,所述在虚拟陀螺仪运行期间,通过内置的运动感测器持续检测所述移动终端的运动状态变化,具体包括:
通过地磁传感器获取地磁数据并转换为角速度;
根据所述角速度的变化确定所述移动终端的运动状态。
6.如权利要求1至5中的任一项所述的方法,其特征在于,所述当检测到所述移动终端处于静止状态时,将数字滤波器的阶数提高至第一阶数,并利用所述第一阶数的数字滤波器对所述虚拟陀螺仪输出的数据进行处理之后,还包括:
检测所述陀螺仪输出数据的抖动幅度是否大于预设幅度;
若大于所述预设幅度,则按照预设的幅度增加所述第一阶数的数值,并执行所述检测所述陀螺仪的抖动幅度是否大于预设幅度的步骤,直至第一阶数的数值达到预设数值。
7.如权利要求6所述的方法,其特征在于,所述方法还包括:
在将所述数字滤波器的阶数提高至第一阶数之前,判断所述数字滤波器的当前阶数是否大于初始阶数,若不大于所述初始阶数,则执行所述将所述数字滤波器的阶数提高至第一阶数的步骤;
在将所述数字滤波器的阶数降低至第二阶数之前,判断所述数字滤波器的当前阶数是否等于所述第二阶数,若不等于所述第二阶数,则执行所述将所述数字滤波器的阶数降低至第二阶数的步骤。
8.一种移动终端,其特征在于,包括:
检测模块,用于在虚拟陀螺仪运行期间,通过内置的运动感测器持续检测所述移动终端的运动状态变化;
处理模块,用于当所述检测模块检测到所述移动终端处于静止状态时,将数字滤波器的阶数设置为第一阶数,并利用所述第一阶数的数字滤波器对所述虚拟陀螺仪输出的数据进行处理;
所述处理模块,还用于当所述检测模块检测到所述移动终端处于运动状态时,将所述数字滤波器的阶数设置为第二阶数,并利用所述第二阶数的数字滤波器对所述虚拟陀螺仪输出的数据进行处理,所述第一阶数高于所述第二阶数。
9.如权利要求8所述的移动终端,其特征在于,所述运动感测器为加速度传感器,则所述检测模块包括:
获取子模块,用于在所述虚拟陀螺仪运行期间,分组通过所述加速度传感器连续获取加速度数据;
判断子模块,用于按照数据获取的时间先后顺序,依次计算相邻两组加速度数据的均方差的绝对差值,并判断计算得到的绝对差值是否大于预设阈值;
确认子模块,用于若所述绝对差值大于所述预设阈值,则确认所述移动终端处于运动状态;
所述确认子模块,还用于若所述绝对差值不大于所述预设阈值,则确认所述移动终端处于静止状态。
10.如权利要求9所述的移动终端,其特征在于,
所述加速度数据为x、y、z三轴的加速度数值,则所述判断子模块,具体用于按照数据获取的时间先后顺序,依次分别计算相邻两组加速度数据中各轴的加速度数值的均方差的绝对差值,得到x轴的加速度数值对应的第一绝对差值、y轴的加速度数值对应的第二绝对差值以及z轴的加速度数值对应的第三绝对差值;
分别将所述第一绝对差值与第一阈值的大小进行比较,将所述第二绝对差值与第二阈值的大小进行比较,将所述第三绝对差值与第三阈值的大小进行比较;
若所述第一绝对差值大于所述第一阈值,且所述第二绝对差值大于所述第二阈值,且所述第三绝对差值大于所述第三阈值,则确认所述移动终端处于运动状态;
若所述第一绝对差值不大于所述第一阈值,或,所述第二绝对差值不大于所述第二阈值,或,所述第三绝对差值不大于所述第三阈值,则确认所述移动终端处于静止状态;
所述加速度数据为所述加速度传感器输出的x、y、z三轴的加速度数值经过一重积分后得到的速度数据,或者,所述x、y、z三轴的加速度数值经过二重积分后得到的位置数据,则所述判断子模块,还具体用于按照数据获取的时间先后顺序,依次计算相邻两组所述速度数据或所述位置数据的均方差的绝对差值;判断计算得到的绝对差值是否大于预设阈值。
11.如权利要求8所述的移动终端,其特征在于,所述运动感测器为地磁传感器,则所述检测模块,具体用于通过地磁传感器获取地磁数据并转换为角速度;根据所述角速度的变化确定所述移动终端的运动状态;
所述检测模块,还用于检测所述陀螺仪输出数据的抖动幅度是否大于预设幅度;
所述处理模块,还用于若大于所述预设幅度,则按照预设的幅度增加所述第一阶数的数值,并触发所述检测模块检测所述陀螺仪的抖动幅度是否大于预设幅度,直至第一阶数的数值达到预设数值;
所述处理模块,还用于在将所述数字滤波器的阶数提高至第一阶数之前,判断所述数字滤波器的当前阶数是否大于初始阶数,若不大于所述初始阶数,则将所述数字滤波器的阶数提高至第一阶数;
所述处理模块,还用于在将所述数字滤波器的阶数降低至第二阶数之前,判断所述数字滤波器的当前阶数是否等于所述第二阶数,若不等于所述第二阶数,则将所述数字滤波器的阶数降低至第二阶数。
12.一种移动终端,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时,实现如权利要求1至7中的任一项所述的陀螺仪数据处理方法。
13.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时,实现如权利要求1至7中的任一项所述的陀螺仪数据处理方法。
CN201711277823.9A 2017-12-06 2017-12-06 陀螺仪数据处理方法、移动终端及计算机可读存储介质 Active CN108021242B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201711277823.9A CN108021242B (zh) 2017-12-06 2017-12-06 陀螺仪数据处理方法、移动终端及计算机可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201711277823.9A CN108021242B (zh) 2017-12-06 2017-12-06 陀螺仪数据处理方法、移动终端及计算机可读存储介质

Publications (2)

Publication Number Publication Date
CN108021242A CN108021242A (zh) 2018-05-11
CN108021242B true CN108021242B (zh) 2020-12-25

Family

ID=62078789

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201711277823.9A Active CN108021242B (zh) 2017-12-06 2017-12-06 陀螺仪数据处理方法、移动终端及计算机可读存储介质

Country Status (1)

Country Link
CN (1) CN108021242B (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108769871B (zh) * 2018-05-17 2021-07-13 Oppo广东移动通信有限公司 发声方法、装置、电子装置及存储介质
CN110177213B (zh) * 2019-06-28 2021-06-01 Oppo广东移动通信有限公司 陀螺仪参数调整方法和装置、终端、计算机可读存储介质
CN112947674B (zh) * 2021-03-04 2022-11-11 北京黑蚁兄弟科技有限公司 一种基于数字滤波的摇杆控制方法、装置、设备和存储介质
CN113055534A (zh) * 2021-03-29 2021-06-29 北京有竹居网络技术有限公司 终端控制的方法及装置、终端和非暂时性存储介质
CN113655506B (zh) * 2021-09-13 2024-08-30 深圳市有方科技股份有限公司 Gps的数据处理方法及终端设备
CN113849062B (zh) * 2021-11-24 2022-03-04 深圳维特智能科技有限公司 基于嵌入式系统加速度及姿态角度的动态节能方法及装置
CN115208760B (zh) * 2022-07-14 2024-02-27 上海移为通信技术股份有限公司 运动检测芯片的配置方法、装置及介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104132662A (zh) * 2014-07-25 2014-11-05 辽宁工程技术大学 基于零速修正的闭环卡尔曼滤波惯性定位方法
US9068843B1 (en) * 2014-09-26 2015-06-30 Amazon Technologies, Inc. Inertial sensor fusion orientation correction
CN105675015A (zh) * 2016-01-08 2016-06-15 中国电子科技集团公司第二十六研究所 一种微机械陀螺仪零偏自动消除方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104132662A (zh) * 2014-07-25 2014-11-05 辽宁工程技术大学 基于零速修正的闭环卡尔曼滤波惯性定位方法
US9068843B1 (en) * 2014-09-26 2015-06-30 Amazon Technologies, Inc. Inertial sensor fusion orientation correction
CN105675015A (zh) * 2016-01-08 2016-06-15 中国电子科技集团公司第二十六研究所 一种微机械陀螺仪零偏自动消除方法

Also Published As

Publication number Publication date
CN108021242A (zh) 2018-05-11

Similar Documents

Publication Publication Date Title
CN108021242B (zh) 陀螺仪数据处理方法、移动终端及计算机可读存储介质
US9495758B2 (en) Device and method for recognizing gesture based on direction of gesture
CN110850961B (zh) 一种头戴式显示设备的校准方法及头戴式显示设备
CN108965835B (zh) 一种图像处理方法、图像处理装置及终端设备
US20220319050A1 (en) Calibration method and apparatus, processor, electronic device, and storage medium
CN108759892B (zh) 传感器校准方法、电子装置及计算机可读存储介质
CN112513795B (zh) 处理输入事件的电子装置及其操作方法
CN116366750B (zh) 折叠屏夹角的确定方法及其相关设备
US20150260750A1 (en) Electronic apparatus and program
US9536169B2 (en) Detection apparatus, detection method, and storage medium
JP2020205039A (ja) 物体検出方法、物体検出装置及び画像処理装置
CN103079016B (zh) 一种拍照脸型变换方法及智能终端
CN108989688B (zh) 虚拟相机防抖方法、装置、电子设备及可读存储介质
CN109186571B (zh) 一种陀螺仪滤波去噪方法
CN104267834A (zh) 空中鼠标系统及其操控方法
CN116958198A (zh) 基于视觉惯性里程计的运动轨迹漂移检测方法及装置
WO2014171961A1 (en) Detection of pan and scaling during multi-finger touch interactions
US10921122B2 (en) Tilt event detection device, system and method
CN114489412B (zh) 用于对运动传感器进行偏置矫正的方法、装置和交互方法
WO2013089752A1 (en) Techniques for improving stereo block matching with the pyramid method
CN116009712A (zh) 笔迹数据处理方法、装置、电子设备及存储介质
CN106293447B (zh) 显示方法及显示设备
EP2733531A1 (en) Method and apparatus for temporal stabilization of streaming frames
CN105844688B (zh) 虚拟现实渲染方法和装置
CN104135622B (zh) 一种结合陀螺仪优化快拍的方法、装置及移动终端

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
CB02 Change of applicant information

Address after: Changan town in Guangdong province Dongguan 523860 usha Beach Road No. 18

Applicant after: GUANGDONG OPPO MOBILE TELECOMMUNICATIONS Corp.,Ltd.

Address before: Changan town in Guangdong province Dongguan 523860 usha Beach Road No. 18

Applicant before: GUANGDONG OPPO MOBILE TELECOMMUNICATIONS Corp.,Ltd.

CB02 Change of applicant information
GR01 Patent grant
GR01 Patent grant