一种空中鼠标数据掉包和误码率的检测方法与系统与流程

文档序号:12663277阅读:562来源:国知局
一种空中鼠标数据掉包和误码率的检测方法与系统与流程

本发明涉及一种无线空中鼠标性能检测的方法与系统,具体涉及一种基于空中鼠标数据掉包和误码率的检测方法与系统。



背景技术:

空中鼠标(AirMouse)是一种全新概念的鼠标,它可以像手套一样“戴”在手腕上,利用近场无线通讯或光学引擎操作,包括指针的移动和左右按键的敲击,都是通过对无线信号或对光的判断来实现,反应非常灵敏。

空中鼠标是一种在无线鼠标的基础上发展而来的新型鼠标,其增加了陀螺仪与加速计,使得鼠标可以完全脱离脱离桌面进行操作。

现有的空中鼠标通常采用蓝牙、wifi等2.4G频段的无线传输技术进行传输,由于该频段已有蓝牙、wifi、Zigbee、RF等协议存在,多个或多种无线通信设备之间信号相互干扰的情况比较严重,容易导致空中鼠标数据包遗失或者误码,使空中鼠标无法正常使用;同时,空中鼠标在超出有效传播距离。或者与接收端直接存在障碍物时,均会导致数据掉包和误码率提高。这些情况都需要及时进行检测、发现、判断和处理。

除此之外,目前传感器的设计和生产工艺还无法保证每一颗传感器的表现都能一致,如果其中某些传感器误差较大,也会造成空中鼠标无法正常使用。

因此,在进行空中鼠标的设计、开发和生产时,必须先行研究一种高效、准确的空中鼠标数据掉包和误码率的检测方法及系统,以对其设计及性能提供可靠的检验和验证,保证所开发的空中鼠标在实际运用中具有优良的性能;同时,对于已经交付客户使用的空中鼠标的运行过程控制,也具有直接的帮助。



技术实现要素:

针对上述不足,本发明的目的在于提供一种空中鼠标数据掉包和误码率的检测方法,及实现该方法的系统,可精确测量空中鼠标数据掉包和误码率,以利于优化空中鼠标的开发和设计。

本发明拟提供一种全新的拟合轨迹曲线对比方法,以精确测量空中鼠标数据掉包和误码率,为改善空鼠数据的传输性能与稳定性提供参考依据,为改善空中鼠标性能及设计提供高效可靠的检测和验证手段。

本发明为达到上述目的所采用的技术方案是:

一种空中鼠标数据误码率的检测方法,包括以下步骤:

(1)设置空中鼠标与主控设备,所述空中鼠标包括终端模块、打包模块、与传输模块,所述主控设备包括接收模块、解包模块、与分析模块;其中,所述打包模块分别连接于终端模块与传输模块,所述解包模块分别连接于接收模块与分析模块,所述传输模块还与接收模块相连接,所述空中鼠标内设置有加速度计与陀螺仪;

(2)空中鼠标中的终端模块记录来自空中鼠标中加速度计与陀螺仪的原始数据记录;

(3)终端模块将原始数据记录输出至空中鼠标中的打包模块;

(4)打包模块将原始数据记录通过融合处理技术处理,根据设定的时间长度t分割为若干数据包,并输出给空中鼠标中的传输模块,所述数据包包括16个字节;设定的时间长度t可以根据实际需要进行选择,例如5-15ms;

(5)空中鼠标中的传输模块将数据包传输给主控设备中的接收模块,,如遇到干扰则进行重发;

(6)主控设备中的接收模块将数据包输出给主控设备中的解包模块;

(7)主控设备中的解包模块将若干数据包解包为原始数据记录,并将数据包与原始数据记录输出给主控设备中的分析模块;

(8)分析模块对原始数据记录进行归纳分析,将若干数据包的第5字节至第16字节的数据分别进行拟合,并将拟合结果生成轨迹曲线与预设的拟合曲线进行对比,如有偏离拟合曲线的数据,则判断该字节对应的数据包为误码数据包,统计得出误码率;

(9)对比误码率,如误码率超出预设阈值,则抛弃接收到的所有数据包,重新测量分析新接收的原始数据记录。

作为本发明的进一步改进,所述数据包第1字节至第4字节为数据包编码、第5字节为陀螺仪X轴低八位数据、第6字节为陀螺仪X轴高八位数据、第7字节为陀螺仪Y轴低八位数据、第8字节为陀螺仪Y轴高八位数据、第9字节为陀螺仪Z轴低八位数据、第10字节为陀螺仪Z轴高八位数据、第11字节为加速度计X轴低八位数据、第12字节为加速度计X轴高八位数据、第13字节为加速度计Y轴低八位数据、第14字节为加速度计Y轴高八位数据、第15字节为加速度计Z轴低八位数据、第16字节为加速度计Z轴高八位数据。

作为本发明的进一步改进,所述步骤(8)与(9)的详细步骤包括:

(8.1)通过数据包第1字节至第4字节,获取数据包生成时间点a,通过数据包第5字节到第16字节,获取x,y,z三轴数据;

(8.2)对数据包中x,y,z三轴数据进行整合,换算成空间中以第一个点为原点的相对坐标点{x,y,z}m

(8.2)计算若干数据包中第m个数据包的相对坐标点{x,y,z}m与第m-1个数据包的相对坐标点{x,y,z}m之间的差值△{x,y,z}m,即△{x,y,z}m={x,y,z}m-{x,y,z}m-1,计算若干数据包中第m个数据包的时间点am与第m-1个数据包的时间点am-1的差值,△am=am-am-1,{m,m-1}两点间的单位时间内单位向量Lm=△{x,y,z}m/△am

(8.3)从第一个数据包开始选取n个数据包进行后续分析,如果接收到的数据包大于n,则从第一个数据包开始抛弃前面收到的数据包,以时间点a为X轴,以单位向量Lm中{x,y,z}三要素分别为Y轴作三幅图进行拟合,得到拟合曲线L{x}、L{y}、与L{z},当某一时间点的点值偏离拟合曲线,判断该时间点am对应的第m个数据包为误码数据包,其相对坐标点记为Lerr{x,y,z},并设置误码数量参数err,每检测到一个误码数据包,该值加1;

(8.4)根据误码数据包的数量分析得到误码率e%,公式为:e%=err/n×100%;

(8.5)将Lerr{x,y,z}与该点对应拟合曲线上的坐标点Lm{x,y,z},求平均坐标点Lavr{x,y,z},Lavr{x,y,z}=(Lerr{x,y,z}+Lm{x,y,z})/2,并用该数值取代误码数据包坐标点作为空中鼠标轨迹点。

(9.1)设置连续错误参数cts,初始值为0,当检测到一个误码数据包时,该参数自增1;当检测到误码数据包的下一次为正常坐标点时,该参数自减1(cts最小值为0)。设定阈值CTSMAX=r1。当cts大于或等于CTSMAX时,意味着当前数据包有r1个连续的误码包,宏观上表现为空鼠轨迹连续跳动,此时应当将所有数据包抛弃,重新接收数据包。

(9.2)当前误码率e%大于预设误码率阈值时,将阈值CTSMAX降为r2,连续误码数据包数量超过CTSMAX时,将所有数据包抛弃,重新接收数据包。

一种实现上述检测方法的空中鼠标数据误码率的检测系统,包括空中鼠标与主控设备,所述空中鼠标包括终端模块、打包模块、与传输模块,所述主控设备包括接收模块、解包模块、与分析模块;其中,所述打包模块分别连接于终端模块与传输模块,所述解包模块分别连接于接收模块与分析模块,所述传输模块还与接收模块相连接,所述空中鼠标内设置有加速度计与陀螺仪,所述终端模块记录并输出加速度与陀螺仪的原始数据记录,所述分析模块通过分析原始数据记录进行归纳分析得出误码率。

作为本发明的进一步改进,所述打包模块接收来自终端模块的原始数据记录并输出通过融合处理技术处理,根据设定的时间长度t分割的若干数据包。

一种空中鼠标数据丢包率的检测方法,包括以下步骤:

(1)设置空中鼠标与主控设备,所述空中鼠标包括终端模块、打包模块、与传输模块,所述主控设备包括接收模块、解包模块、与分析模块;其中,所述打包模块分别连接于终端模块与传输模块,所述解包模块分别连接于接收模块与分析模块,所述传输模块还与接收模块相连接,所述空中鼠标内设置有加速度计与陀螺仪;

(2)空中鼠标中的终端模块记录来自空中鼠标中加速度计与陀螺仪的原始数据记录;

(3)终端模块将原始数据记录输出至空中鼠标中的打包模块;

(4)打包模块将原始数据记录通过融合处理技术处理,根据设定的时间长度t分割为若干数据包,并输出给空中鼠标中的传输模块;

(5)空中鼠标中的传输模块将数据包传输给主控设备中的接收模块,,如遇到干扰则进行重发;

(6)主控设备中的接收模块将数据包输出给主控设备中的解包模块;

(7)主控设备中的解包模块将若干数据包解包为原始数据记录,并将数据包与原始数据记录输出给主控设备中的分析模块;

(8)分析模块对若干数据包的数量进行统计,并对数据包内数据进行分析,得出掉包率。

作为本发明的进一步改进,所述数据包包括16个字节,第1字节至第4字节为数据包编码、第5字节为陀螺仪X轴低八位数据、第6字节为陀螺仪X轴高八位数据、第7字节为陀螺仪Y轴低八位数据、第8字节为陀螺仪Y轴高八位数据、第9字节为陀螺仪Z轴低八位数据、第10字节为陀螺仪Z轴高八位数据、第11字节为加速度计X轴低八位数据、第12字节为加速度计X轴高八位数据、第13字节为加速度计Y轴低八位数据、第14字节为加速度计Y轴高八位数据、第15字节为加速度计Z轴低八位数据、第16字节为加速度计Z轴高八位数据。

作为本发明的进一步改进,所述步骤(8)包括以下步骤:

(8.1)记录接收模块接收到数据包的时间点b;

(8.2)设接收到第n个数据包的时间点为bn,接收到第n-1个数据包的时间点为bn-1,将bn与bn-1相减,计算时间点之间的差值t’;

(8.3)验证差值t’与设定的时间长度t是否相同,若不相同,则对应的数据包为超时数据包;

(8.4)对超时数据包的数据包编码进行检查,验证与前后数据包的数据包编码是否不连续,如不连续,则存在真正的掉包数据包,其数量记为f;

(8.5)计算掉包率f%,公式为:f%=f/数据包总量×100%。

一种实现上述检测方法的空中鼠标数据丢包率的检测系统,包括空中鼠标与主控设备,所述空中鼠标包括终端模块、打包模块、与传输模块,所述主控设备包括接收模块、解包模块、与分析模块;其中,所述打包模块分别连接于终端模块与传输模块,所述解包模块分别连接于接收模块与分析模块,所述传输模块还与接收模块相连接,所述空中鼠标内设置有加速度计与陀螺仪,所述终端模块记录并输出加速度与陀螺仪的原始数据记录,所述打包模块输出若干数据包,所述分析模块通过分析若干数据包得出丢包率。

作为本发明的进一步改进,所述打包模块接收来自终端模块的原始数据记录并输出通过融合处理技术处理,根据设定的时间长度t分割的若干数据包,该设定的时间长度t可以根据实际需要进行选择,例如5-15ms,能够实现本发明目的即可。

本发明的有益效果为:

(1)本发明采用拟合轨迹曲线对比方法,通过融合处理技术处理得到空中鼠标运动轨迹数据,并将轨迹曲线数据进行优化、比较,用于进一步分析误码率;

(2)对原始数据记录进行特殊定义的打包,数据完整全面,方便后续主控设备精细分析数据;

(3)通过精确计算掉包率,为改善空鼠数据的传输性能提供了参考依据,可以通过量化的方式改善传输性能;

(4)通过精确计算误码率,为改善空鼠数据的稳定性提供了参考依据,可以通过量化的方式改善稳定性。

(5)对于已经交付客户使用的空中鼠标的运行过程控制、分析,也具有直接的帮助。

上述是发明技术方案的概述,以下结合附图与具体实施方式,对本发明做进一步说明。

附图说明

图1为本发明的结构框图;

图2为本发明误码数据包拟合曲线示意图。

具体实施方式

为更进一步阐述本发明为达到预定目的所采取的技术手段及功效,以下结合附图及较佳实施例,对本发明的具体实施方式详细说明。

请参照图1与图2,一种空中鼠标数据误码率的检测方法,包括以下步骤:

(1)设置空中鼠标与主控设备,所述空中鼠标包括终端模块、打包模块、与传输模块,所述主控设备包括接收模块、解包模块、与分析模块;其中,所述打包模块分别连接于终端模块与传输模块,所述解包模块分别连接于接收模块与分析模块,所述传输模块还与接收模块相连接,所述空中鼠标内设置有加速度计与陀螺仪;

(2)空中鼠标中的终端模块记录来自空中鼠标中加速度计与陀螺仪的原始数据记录;

(3)终端模块将原始数据记录输出至空中鼠标中的打包模块;

(4)打包模块将原始数据记录通过融合处理技术处理,以10ms为间隔分割的若干数据包,并输出给空中鼠标中的传输模块,所述数据包包括16个字节;本实施例中,该设定的时间长度t取10ms,其他实施例中也可以根据实际需要进行选择,例如5-15ms,或者其他数值,能够实现本发明目的即可。

其中,融合处理技术是指,针对在轨迹识别中单独使用加速度计或陀螺仪不能得到最优轨迹数据,且加速度计或陀螺仪在运动时轨迹数据出现偏差的问题,而采用的一种能够有效提高检测系统的精度和准度,提高系统对各种动作变化的适应性融合算法。这种适应性融合算法用于计算设备同时存在加速度计与陀螺仪的情况,通过上一时刻的姿态角、根据加速度计的输出得到的姿态角、根据角速度计得到的特定轴的角速度、上一时刻与当前时刻的间隔时间以及数据融合参考系数(分析静止状态陀螺仪三轴矢量和的模值与运动状态下陀螺仪三轴矢量和的模值得到)计算得出。通过融合处理技术处理过的数据,轨迹数据得到优化,方便后续进一步分析误码率。

(5)空中鼠标中的传输模块将数据包传输给主控设备中的接收模块,,如遇到干扰则进行重发;

(6)主控设备中的接收模块将数据包输出给主控设备中的解包模块;

(7)主控设备中的解包模块将若干数据包解包为原始数据记录,并将数据包与原始数据记录输出给主控设备中的分析模块;

(8)分析模块对原始数据记录进行归纳分析,将若干数据包的第5字节至第16字节的数据分别进行拟合,并将拟合结果生成轨迹曲线与预设的拟合曲线进行对比,如有偏离拟合曲线的数据,则判断该字节对应的数据包为误码数据包,统计得出误码率;

(9)对比误码率,如误码率超出预设阈值,则抛弃接收到的所有数据包,重新测量分析新接收的原始数据记录。

作为本发明的进一步改进,所述数据包第1字节至第4字节为数据包编码、第5字节为陀螺仪X轴低八位数据、第6字节为陀螺仪X轴高八位数据、第7字节为陀螺仪Y轴低八位数据、第8字节为陀螺仪Y轴高八位数据、第9字节为陀螺仪Z轴低八位数据、第10字节为陀螺仪Z轴高八位数据、第11字节为加速度计X轴低八位数据、第12字节为加速度计X轴高八位数据、第13字节为加速度计Y轴低八位数据、第14字节为加速度计Y轴高八位数据、第15字节为加速度计Z轴低八位数据、第16字节为加速度计Z轴高八位数据。

作为本发明的进一步改进,所述步骤(8)与(9)的详细步骤包括:

(8.1)通过数据包第1字节至第4字节,获取数据包生成时间点a,通过数据包第5字节到第16字节,获取x,y,z三轴数据;当第一次获取数据时,一次性接收6s数据,共获取数据包总量为6000个,依照时间点前后顺序存入队列。从第二次获取数据开始,每获取一个数据包,便将队列最前边的数据包抛弃。

(8.2)对数据包中x,y,z三轴数据进行整合,换算成空间中以第一个点为原点的相对坐标点{x,y,z}m

(8.2)因为空鼠在移动中是线性移动,不会发生跳变。故,相邻坐标的时间点之间,单位时间的单位向量是近似的。计算若干数据包中第m个数据包的相对坐标点{x,y,z}m与第m-1个数据包的相对坐标点{x,y,z}m之间的差值△{x,y,z}m,即△{x,y,z}m={x,y,z}m-{x,y,z}m-1,计算若干数据包中第m个数据包的时间点am与第m-1个数据包的时间点am-1的差值,△am=am-am-1,{m,m-1}两点间的单位时间内单位向量Lm=△{x,y,z}m/△am

(8.3)以时间点a为X轴,以单位向量Lm中{x,y,z}三要素分别为Y轴作三幅图进行拟合,得到拟合曲线L{x}、L{y}、与L{z},当某一时间点的点值偏离拟合曲线,判断该时间点am对应的第m个数据包为误码数据包,其相对坐标点记为Lerr{x,y,z},并设置误码数量参数err,每检测到一个误码数据包,该值加1;

(8.4)根据误码数据包的数量分析得到误码率e%,公式为:e%=err/6000×100%;

(8.5)将Lerr{x,y,z}与该点对应拟合曲线上的坐标点Lm{x,y,z},求平均坐标点Lavr{x,y,z},Lavr{x,y,z}=(Lerr{x,y,z}+Lm{x,y,z})/2,并用该数值取代误码数据包坐标点作为空中鼠标轨迹点。

(9.1)设置连续错误参数cts,初始值为0,当检测到一个误码数据包时,该参数自增1;当检测到误码数据包的下一次为正常坐标点时,该参数自减1(cts最小值为0)。设定阈值CTSMAX=5。当cts大于或等于CTSMAX时,意味着当前数据包有5个连续的误码包,宏观上表现为空鼠轨迹连续跳动,此时应当将所有数据包抛弃,重新接收数据包。

(9.2)当前误码率e%大于预设误码率阈值3%时,将阈值CTSMAX降为3,连续误码数据包数量超过CTSMAX时,将所有数据包抛弃,重新接收数据包。

一种实现上述检测方法的空中鼠标数据误码率的检测系统,包括空中鼠标与主控设备,所述空中鼠标包括终端模块、打包模块、与传输模块,所述主控设备包括接收模块、解包模块、与分析模块;其中,所述打包模块分别连接于终端模块与传输模块,所述解包模块分别连接于接收模块与分析模块,所述传输模块还与接收模块相连接,所述空中鼠标内设置有加速度计与陀螺仪,所述终端模块记录并输出加速度与陀螺仪的原始数据记录,所述分析模块通过分析原始数据记录进行归纳分析得出误码率。

作为本发明的进一步改进,所述打包模块接收来自终端模块的原始数据记录并输出通过融合处理技术处理,根据以10ms为间隔分割的若干数据包。

本实施例中,该设定的时间长度t取10ms,其他实施例中也可以根据实际需要进行选择,例如5-15ms,或者其他数值,能够实现本发明目的即可。

一种空中鼠标数据丢包率的检测方法,包括以下步骤:

(1)设置空中鼠标与主控设备,所述空中鼠标包括终端模块、打包模块、与传输模块,所述主控设备包括接收模块、解包模块、与分析模块;其中,所述打包模块分别连接于终端模块与传输模块,所述解包模块分别连接于接收模块与分析模块,所述传输模块还与接收模块相连接,所述空中鼠标内设置有加速度计与陀螺仪;

(2)空中鼠标中的终端模块记录来自空中鼠标中加速度计与陀螺仪的原始数据记录;

(3)终端模块将原始数据记录输出至空中鼠标中的打包模块;

(4)打包模块将原始数据记录通过融合处理技术处理,以10ms为间隔分割为若干数据包,并输出给空中鼠标中的传输模块;本实施例中,该设定的时间长度t取10ms,其他实施例中也可以根据实际需要进行选择,例如5-15ms,或者其他数值,能够实现本发明目的即可。

(5)空中鼠标中的传输模块将数据包传输给主控设备中的接收模块,,如遇到干扰则进行重发;

(6)主控设备中的接收模块将数据包输出给主控设备中的解包模块;

(7)主控设备中的解包模块将若干数据包解包为原始数据记录,并将数据包与原始数据记录输出给主控设备中的分析模块;

(8)分析模块对若干数据包的数量进行统计,并对数据包内数据进行分析,得出掉包率。

作为本发明的进一步改进,所述数据包包括16个字节,第1字节至第4字节为数据包编码、第5字节为陀螺仪X轴低八位数据、第6字节为陀螺仪X轴高八位数据、第7字节为陀螺仪Y轴低八位数据、第8字节为陀螺仪Y轴高八位数据、第9字节为陀螺仪Z轴低八位数据、第10字节为陀螺仪Z轴高八位数据、第11字节为加速度计X轴低八位数据、第12字节为加速度计X轴高八位数据、第13字节为加速度计Y轴低八位数据、第14字节为加速度计Y轴高八位数据、第15字节为加速度计Z轴低八位数据、第16字节为加速度计Z轴高八位数据。

作为本发明的进一步改进,所述步骤(8)包括以下步骤:

(8.1)记录接收模块接收到数据包的时间点b,共接收60s数据,则数据包总量为6000个;

(8.2)设接收到第n个数据包的时间点为bn,接收到第n-1个数据包的时间点为bn-1,将bn与bn-1相减,计算时间点之间的差值t’;

(8.3)验证差值t’与设定的时间长度10ms是否相同,若不相同,则对应的数据包为超时数据包;本实施例中,该设定的时间长度t取10ms,其他实施例中也可以根据实际需要进行选择,例如5-15ms,或者其他数值,能够实现本发明目的即可。

(8.4)由于空中鼠标的传输模块设置有遇到干扰则进行重发的机制,所以计算超时数据包的数量,只能分析出数据传输过程的掉包率,而对于真正的掉包,需要对超时数据包的数据包编码进行检查,验证与前后数据包的数据包编码是否不连续,如不连续,则存在真正的掉包数据包,其数量记为f;

(8.5)计算掉包率f%,公式为:f%=f/6000×100%。这为改善空鼠数据的传输性能提供了参考依据,可以通过量化的方式改善传输性能。

一种实现上述检测方法的空中鼠标数据丢包率的检测系统,包括空中鼠标与主控设备,所述空中鼠标包括终端模块、打包模块与传输模块,所述主控设备包括接收模块、解包模块与分析模块;其中,所述打包模块分别连接于终端模块与传输模块,所述解包模块分别连接于接收模块与分析模块,所述传输模块还与接收模块相连接,所述空中鼠标内设置有加速度计与陀螺仪,所述终端模块记录并输出加速度与陀螺仪的原始数据记录,所述打包模块输出若干数据包,所述分析模块通过分析若干数据包得出丢包率。

作为本发明的进一步改进,所述打包模块接收来自终端模块的原始数据记录并输出通过融合处理技术处理,以10ms为间隔分割的若干数据包。本实施例中,该设定的时间长度t取10ms,其他实施例中也可以根据实际需要进行选择,例如5-15ms,或者其他数值,能够实现本发明目的即可。

作为本发明的进一步改进,所述传输模块与接收模块之间通过蓝牙、wifi、Zigbee、RF中任一项无线方式相互通讯。

本发明的重点主要在于,通过本发明提供的基于拟合轨迹曲线对比的空中鼠标数据掉包和误码率的检测方法与系统,可以精确的测量空中鼠标的掉包率与误码率,为优化空中鼠标的性能提供了依据;同时,对于已经交付客户使用的空中鼠标的运行过程控制、分析,也具有直接的帮助。

以上所述,仅是本发明的较佳实施例而已,并非对本发明的技术范围作任何限制,故采用与本发明上述实施例相同或近似的技术特征,均在本发明的保护范围之内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1