本发明属于通信技术领域,更进一步涉及目标定位技术领域中的一种基于时间序列分析的手机陀螺仪零偏动态补偿方法。本发明可用于对手机陀螺仪输出的零偏误差项进行动态补偿,提高手机陀螺仪输出精度。
背景技术:
惯性导航技术是利用手机陀螺仪等惯性器件测量载体的相关数据来获得载体瞬时速度和瞬时位置数据的技术。其广泛应用于新兴科技领域(例如,虚拟现实技术)和与人类生活息息相关的安保、交通、紧急求援等方面。目前有成熟的技术来利用手机陀螺仪的输出角速度对载体进行姿态解算与更新。而对于手机陀螺仪输出数据的处理,尤其是零偏的补偿,尚没有成熟的解决方案。
成都希德电子电子信息技术有限公司在其申请的专利文献“一种陀螺仪零偏估计方法”(申请号:cn201610478593.1,申请公布号:cn106092140a)中提出了一种利用最小二乘法静态消除手机陀螺仪零偏的方法。该方法预先在手机陀螺仪静止状态下对其输出值进行最小二乘估计,得到一个固定的零偏补偿因子,再利用该固定的零偏补偿因子对手机陀螺仪工作时的输出值进行补偿。该方法存在的不足之处是:在手机陀螺仪长时间工作的情况下,手机陀螺仪的零偏误差会随着手机工作温度的提高发生改变,而预先计算的固定的零偏补偿值不能反应零偏误差随温度的变化情况,所以该方法不能对长时间工作状态下的手机陀螺仪零偏误差进行有效的补偿。
野拾(北京)电子商务有限公司在其申请的专利文献“一种基于手机陀螺仪定位的图片轮播方法及系统”(申请号:cn201610821681.7,申请公布号:cn106412256a)中提出了一种利用手机加速度计的输出值对手机陀螺仪零偏误差项进行补偿的方法。该方法利用手机加速度计的输出值计算手机姿态角,再将计算得到的姿态角和手机陀螺仪的输出值通过卡尔曼滤波得到零偏误差补偿后的输出值。该方法虽然能够对长时间工作的手机陀螺仪零偏误差项进行有效补偿,但是,该方法仍然存在的不足之处是:加速度计只能在手机静止状态下计算手机姿态角,当手机处于运动状态时,由加速度计计算得到的手机姿态角不准确,此时卡尔曼滤波后的值不能对手机陀螺仪零偏误差进行有效补偿,所以该方法不能对运动状态的手机陀螺仪的零偏误差进行有效补偿。
技术实现要素:
本发明的目的在于针对上述现有技术存在不能对长时间工作的手机陀螺仪进行有效补偿,不能对运动状态下的手机陀螺仪进行补偿等不足,提出一种基于时间序列分析的手机陀螺仪零偏动态补偿方法。
实现本发明目的的思路是,利用时间序列分析的方法,检验手机陀螺仪的输出数据的平稳性,将数据平稳时零偏补偿因子设置为平稳性检验序列的均值,保持数据不平稳时零偏补偿因子不变;该方法的具体步骤包括如下:
实现本发明目的的具体步骤如下:
(1)构建平稳性检验序列:
将依次采集的手机陀螺仪输出数据200个按采集顺序构建平稳性检验序列;
(2)计算平稳性检验序列逆总序数的自由度:
利用时间序列分析方法,计算平稳性检验序列逆总序数的自由度;
(3)判断均值序列逆总序数自由度是否大于1.96,若是,则执行步骤(4),否则,执行步骤(5)
(4)计算手机陀螺仪零偏补偿因子:
对平稳性检验序列中200个元素求和取平均,将均值作为零偏补偿因子;
(5)补偿手机陀螺仪输出数据:
(5a)依次采集手机陀螺仪10分钟的输出数据,按采集顺序组成待补偿序列;
(5b)将零偏补偿因子与待补偿序列中的每个元素相加,得到补偿后的手机陀螺仪输出数据;
(6)判断手机陀螺仪输出数据是否补偿完,若是,则执行步骤(7),否则,执行步骤(1);
(7)完成手机陀螺仪输出数据的动态补偿。
与现有技术相比,本发明具有以下优点:
第一,由于本发明通过构建平稳性检验序列,确定平稳性检验序列的平稳性,根据平稳性检验序列的平稳性计算手机陀螺仪零偏补偿因子,利用手机陀螺仪零偏补偿因子补偿手机陀螺仪输出数据,克服了现有技术中不能对长时间工作状态下的手机陀螺仪进行有效补偿的不足,使得本发明可以对零偏补偿因子动态更新,对长时间工作状态下的手机陀螺仪进行有效补偿。
第二,本发明通过构建均值序列,计算均值序列的逆总序数,计算均值序列逆总序数自由度,根据平稳性检验序列的逆总序数自由度确定平稳性检验序列的平稳性,克服了现有技术中不能对运动状态下的手机陀螺仪进行有效补偿的不足,使得本发明可以利用时间序列分析的方法检验手机陀螺仪的输出数据的平稳性,对运动状态下的手机陀螺仪进行有效补偿。
附图说明
图1是本发明的流程图。
具体实施方法
下面结合附图1对本发明作进一步的描述。
步骤1,构建平稳性检验序列。
依次采集手机陀螺仪输出数据200个,将数据按采集顺序构建平稳性检验序列。
步骤2,计算平稳性检验序列逆总序数的自由度。
将平稳性检验序列均分成10段,计算各段子序列的均值,将10段子序列的均值组成均值序列。
选取均值序列中任一元素,将大于该元素且先于该元素出现的元素组成逆序集合。
将逆序集合的元素总数作为被选取元素的逆序数。
累加均值序列各元素的逆序数,得到均值序列的逆总序数。
按下式,计算均值序列逆总序数的自由度:
其中,μa表示均值序列逆总序数a的自由度,a表示均值序列的逆总序数,
步骤3,判断均值序列逆总序数自由度是否大于1.96,若是,则执行步骤4,否则,执行步骤5。
步骤4,计算手机陀螺仪零偏补偿因子。
对平稳性检验序列中200个元素求和取平均,将均值作为零偏补偿因子。
步骤5,补偿手机陀螺仪输出数据。
依次采集手机陀螺仪10分钟的输出数据,按采集顺序组成待补偿序列。
将零偏补偿因子与待补偿序列中的每个元素相加,得到补偿后的手机陀螺仪输出数据。
步骤6,判断手机陀螺仪输出数据是否补偿完,若是,则执行步骤7,否则,执行步骤1。
将待定位的移动目标的坐标值作为当前时刻待定位的移动目标的位置。
步骤7,完成手机陀螺仪输出数据的动态补偿。