本发明涉及vr技术领域,尤其涉及一种vr设备传感器的数据采样率检测方法及其系统。
背景技术:
随着vr技术的迅速发展,国内外出现了一大批vr设备厂商,由于vr硬件领域未形成统一标准,各种硬件配置和接口参差不齐,特别是传感器硬件,是vr设备中比较关键的部件,很大程度上影响了vr设备的延迟、反应速度性能,从而影响用户体验,给用户带来眩晕感。通常vr设备要求传感器采样率要达到1khz以上,才能提供良好的用户体验。
通常情况下,vr设备传感器的实际采样率与采样率标准值都会存在偏差,因为vr设备厂商都会对传感器数据进行融合处理,但对于用户体验来讲,却可以忽略,因为数据处理也是为了提升用户体验,消除干扰,提高精度。
vr设备厂商一般只提供读取传感器数据的sdk接口,并没有提供采样率测试接口和方法。因此需要寻找一种可靠的、精确的采样率测试方法。
技术实现要素:
本发明所要解决的技术问题是:提供一种vr设备传感器的数据采样率检测方法及其系统,可精确可靠地检测vr设备传感器的数据采样率。
为了解决上述技术问题,本发明采用的技术方案为:一种vr设备传感器的数据采样率检测方法,包括:
根据预设的采样时间,获取传感器数据,所述传感器数据为四元数格式;
对所述传感器数据进行转换,转换后的传感器数据为欧拉角格式;
对转换后的传感器数据进行过滤;
根据过滤后的传感器数据,计算得到采样率。
本发明还涉及一种vr设备传感器的数据采样率检测系统,包括:
获取模块,用于根据预设的采样时间,获取传感器数据,所述传感器数据为四元数格式;
转换模块,用于对所述传感器数据进行转换,转换后的传感器数据为欧拉角格式;
过滤模块,用于对转换后的传感器数据进行过滤;
计算模块,用于根据过滤后的传感器数据,计算得到采样率。
本发明的有益效果在于:先获取原始的四元数格式的传感器数据,然后将四元数格式的传感器数据转换为欧拉角格式的传感器数据,再根据相邻传感器数据之间的变化大小,过滤掉传感器数据中的无效数据,最后根据有效数据的个数和采样时间,即可计算得到采样率。本发明可检测出vr设备传感器的数据采样率,且结果准确、可靠。
附图说明
图1为本发明一种vr设备传感器的数据采样率检测方法的流程图;
图2为本发明实施例一的vr设备坐标轴示意图;
图3为本发明一种vr设备传感器的数据采样率检测系统的结构示意图;
图4为本发明实施例三的系统结构示意图。
标号说明:
1、获取模块;2、转换模块;3、过滤模块;4、计算模块;5、晃动模块;
31、第一获取单元;32、过滤单元;
41、第二获取单元;42、计算单元。
具体实施方式
为详细说明本发明的技术内容、所实现目的及效果,以下结合实施方式并配合附图详予说明。
本发明最关键的构思在于:将原始的四元数格式的传感器数据转换为欧拉角格式的传感器数据,根据相邻的欧拉角格式的传感器数据之间的变化大小,过滤掉无效数据,统计采样时间内有效数据的个数,计算出采样率。
请参阅图1,一种vr设备传感器的数据采样率检测方法,包括:
根据预设的采样时间,获取传感器数据,所述传感器数据为四元数格式;
对所述传感器数据进行转换,转换后的传感器数据为欧拉角格式;
对转换后的传感器数据进行过滤;
根据过滤后的传感器数据,计算得到采样率。
从上述描述可知,本发明的有益效果在于:可检测出vr设备传感器的数据采样率,且结果准确、可靠。
进一步地,所述“对所述传感器数据进行转换”具体为:
根据转换方程式将四元数格式的传感器数据转换为欧拉角格式的传感器数据,所述转换方程式包括第一公式、第二公式和第三公式,所述第一公式为
由上述描述可知,通过转换方程式,可将四元数格式的传感器数据转换为欧拉角格式的传感器数据,且由于欧拉角格式的传感器数据可以更直观地体现出vr设备的位置变化,后续可通过分析欧拉角格式的传感器数据进行采样率的计算。
进一步地,所述“对转换后的传感器数据进行过滤”具体为:
依次获取一转换后的传感器数据作为当前传感器数据;
若当前传感器数据与前一传感器数据的差值小于预设的阈值,则过滤所述一传感器数据。
由上述描述可知,由于vr设备传感器在静止或晃动较慢时,也能读到传感器数据,但vr设备传感器静止时传感器数据是静止不变的,vr设备传感器晃动较慢时,部分传感器数据是与之前的传感器数据相同的,而这些传感器数据属于无效数据,所以需进行过滤,筛选出有效的传感器数据。
进一步地,所述“根据过滤后的传感器数据,计算得到采样率”具体为:
获取过滤后的传感器数据的个数;
根据所述个数和所述采样时间,计算得到采样率。
由上述描述可知,通过统计采样时间内有效数据的个数,计算出采样率,得到的结果较为准确可靠。
进一步地,所述“根据预设的采样时间,获取传感器数据”之前,进一步包括:
根据预设的角速度晃动vr设备。
由上述描述可知,通过以预设的角速度晃动vr设备,避免采集到过多的无效数据而导致的采样率过低,从而保证采样率的检测准确率。
请参照图3,本发明还提出一种vr设备传感器的数据采样率检测系统,包括:
获取模块,用于根据预设的采样时间,获取传感器数据,所述传感器数据为四元数格式;
转换模块,用于对所述传感器数据进行转换,转换后的传感器数据为欧拉角格式;
过滤模块,用于对转换后的传感器数据进行过滤;
计算模块,用于根据过滤后的传感器数据,计算得到采样率。
进一步地,所述转换模块具体用于:
根据转换方程式将四元数格式的传感器数据转换为欧拉角格式的传感器数据,所述转换方程式包括第一公式、第二公式和第三公式,所述第一公式为
进一步地,所述过滤模块包括:
第一获取单元,用于依次获取一转换后的传感器数据作为当前传感器数据;
过滤单元,用于若当前传感器数据与前一传感器数据的差值小于预设的阈值,则过滤所述一传感器数据。
进一步地,所述计算模块包括:
第二获取单元,用于获取过滤后的传感器数据的个数;
计算单元,用于根据所述个数和所述采样时间,计算得到采样率。
进一步地,还包括:
晃动模块,用于根据预设的角速度晃动vr设备。
实施例一
请参照图2,本发明的实施例一为:一种vr设备传感器的数据采样率检测方法,包括如下步骤:
s1:根据预设的采样时间,获取传感器数据,所述传感器数据为四元数格式;vr设备厂商给的sdk接口中一般都会提供读取传感器数据接口(类似getsensororientation),一般获取的数据是四元数格式。
s2:对所述传感器数据进行转换,转换后的传感器数据为欧拉角格式;具体地,根据转换方程式将四元数格式的传感器数据转换为欧拉角格式的传感器数据,所述转换方程式包括第一公式、第二公式和第三公式;
所述第一公式为
所述第二公式为θ=arcsin2(wy-zx);
所述第三公式为
其中,x、y、z、w为四元数;
s3:对转换后的传感器数据进行过滤;具体地,按照步骤s1传感器数据的获取顺序,依次获取一转换后的传感器数据作为当前传感器数据;若当前传感器数据与前一传感器数据的差值小于预设的阈值,则过滤所述一传感器数据。即若当前传感器数据与前一传感器数据的差值小于预设的阈值,则所述一传感器数据为无效数据,需进行过滤处理。
s4:根据过滤后的传感器数据,计算得到采样率;具体地,获取过滤后的传感器数据的个数;根据所述个数和所述采样时间,计算得到采样率,即根据采样时间内有效数据的个数,计算出采样率。
进一步地,对于步骤s3、s4,可通过构建滤波器方程式f(δ)来进行过滤和计算。所述滤波器方程式如下所示:
其中,δ为当前传感器数据与前一传感器数据的差值,具体地,
在步骤s4中,即可通过获取f(δ)=1的数据个数,得到过滤后的传感器数据的个数,即有效传感器数据的个数。进一步地,可通过统计公式计算得到有效传感器数据的个数c;
所述统计公式为
其中,n为所述预设的采样时间。
然后根据有效传感器数据的个数c和采样时间n,根据公式:采样率=c/n,即可计算得到采样率。
在步骤s1之前,还包括根据预设的角速度晃动vr设备的步骤。进一步地,所述预设的角速度大于vr设备传感器采样率标准值乘以精度的值,即角速度>采样率标准值×精度;例如,采样率标准值为1khz,精度为0.001,则角速度需大于1rad/s。传感器以最大速率(采样率标准值)输出动态数据。
由于无效数据是与上一传感器数据相比基本没发生变化的数据,也就是说,无效数据产生的原因之一为vr设备处于静止状态或晃动速度太慢,因此,通过以尽量大的角速度晃动vr设备,尽量避免无效数据的产生,提高采样率计算的准确率。
进一步地,晃动的时间大于采样时间,可当晃动一段时间(如1s)后再获取传感器数据,保证获取较为稳定的传感器数据,保证采样率的检测准确性。
进一步地,对于采样时间的确定,可在晃动开始后,先获取采样测试时间(如1s)内的传感器数据并计算其采样率,若计算出的采样率小于采样率标准值,则采样时间可设定为5s-10s,若计算出的采样率大于采样率标准值,则采样时间可设定为3s-4s。
本实施例先获取原始的四元数格式的传感器数据,然后将四元数格式的传感器数据转换为欧拉角格式的传感器数据,再根据相邻传感器数据之间的变化大小,过滤掉传感器数据中的无效数据,最后根据有效数据的个数和采样时间,即可计算得到采样率,且结果准确、可靠。
实施例二
本实施例是实施例一的进一步拓展。
在实施例一中,可能会由于一些误差(传感器数据在usb端口传输时间误差、pc处理能力误差、其它硬件误差)引起测量数据不稳定,因此通过多次测试求平均值的方法,初步进行误差处理,实现传感器采样率的校验。
例如,以一定的速度晃动vr设备,以取得动态传感器数据,实时读取传感器数据,并过滤无效数据,统计单位时间内有效数据个数,得出传感器的采样率。以3glassess1vr设备为例,其传感器数据采样率标准值为1khz,通过5次实际测量,求平均值,测得数据如下:
实际测得采样率的平均值为1005.8hz,标准值为1000hz,误差+0.58%。由于误差在10%以内均可接受,因此判定该vr设备传感器的采样率符合标准。
实施例三
请参照图4,本实施例为对应上述实施例的一种vr设备传感器的数据采样率检测系统,包括:
获取模块1,用于根据预设的采样时间,获取传感器数据,所述传感器数据为四元数格式;
转换模块2,用于对所述传感器数据进行转换,转换后的传感器数据为欧拉角格式;
过滤模块3,用于对转换后的传感器数据进行过滤;
计算模块4,用于根据过滤后的传感器数据,计算得到采样率。
进一步地,所述转换模块2具体用于:
根据转换方程式将四元数格式的传感器数据转换为欧拉角格式的传感器数据,所述转换方程式包括第一公式、第二公式和第三公式,所述第一公式为
进一步地,所述过滤模块3包括:
第一获取单元31,用于依次获取一转换后的传感器数据作为当前传感器数据;
过滤单元32,用于若当前传感器数据与前一传感器数据的差值小于预设的阈值,则过滤所述一传感器数据。
进一步地,所述计算模块4包括:
第二获取单元41,用于获取过滤后的传感器数据的个数;
计算单元42,用于根据所述个数和所述采样时间,计算得到采样率。
进一步地,还包括:
晃动模块5,用于根据预设的角速度晃动vr设备。
综上所述,本发明提供的一种vr设备传感器的数据采样率检测方法及其系统,先获取原始的四元数格式的传感器数据,然后将四元数格式的传感器数据转换为欧拉角格式的传感器数据,再根据相邻传感器数据之间的变化大小,过滤掉传感器数据中的无效数据,最后根据有效数据的个数和采样时间,即可计算得到采样率。本发明可检测出vr设备传感器的数据采样率,且结果准确、可靠。
以上所述仅为本发明的实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等同变换,或直接或间接运用在相关的技术领域,均同理包括在本发明的专利保护范围内。