磁力计数据处理方法及设备与流程

文档序号:14442624阅读:765来源:国知局
磁力计数据处理方法及设备与流程

本发明涉及传感器技术领域,尤其涉及一种磁力计数据处理方法及设备。



背景技术:

磁力计是通过测量磁场的强度和方向来对设备进行定位的传感器。当磁力计所测量的磁场只由地磁场产生时,磁力计可精确对设备进行定位。但是,由于硬铁效应和软铁效应的存在,会对地磁场产生干扰,进而导致磁力计的测量结果出现比较大的偏差,需要对磁力计的测量数据进行校准。

在对测量数据进行校准的过程中,首先,利用最小二乘法将测量数据拟合成椭圆,然后再经过旋转、平移、缩放等处理,将拟合的椭圆变换变为以磁力计对应二维坐标系的坐标原点为圆心的圆,从而在测量数据中过滤掉干扰数据,实现磁力计的校准。

在整个校准过程中,椭圆的准确性直接影响到磁力计校准的精度。现有基于最小二乘法得到的椭圆的准确性较低,导致磁力计校准的精度较低。



技术实现要素:

本发明的多个方面提供一种磁力计数据处理方法及设备,用以提高拟合椭圆的准确性。

本发明提供一种磁力计数据处理方法,包括:

获取磁力计在校准过程中采集的多个原始数据,所述多个原始数据位于第一坐标系中,且所述第一坐标系中包含具有单调性的基准线;

根据所述基准线与多条原始连线相交得到的多个交点的坐标值大小,对所述多个原始数据进行重新排序,所述多条原始连线是指所述多个原始数据和所述第一坐标系的坐标原点之间的连线;

根据重新排序后所述多个原始数据的分布情况,计算重新排序后所述多个原始数据的凸包;

根据所述多个原始数据中位于所述凸包上的原始数据,拟合出用于校准所述磁力计所需的椭圆方程。

在一可选实施方式中,在根据所述基准线与多条原始连线相交得到的多个交点的坐标值大小,对所述多个原始数据进行重新排序之前,所述方法还包括:

针对所述多个原始数据建立所述第一坐标系,以使所述多个原始数据落入所述第一坐标系的同一象限内;以及

在所述多个原始数据所在象限内绘制所述基准线。

在一可选实施方式中,在所述多个原始数据所在象限内绘制所述基准线,包括:

在所述多个原始数据所在象限内,绘制以所述第一坐标系的坐标原点为圆心的弧线,作为所述基准线;或者

在所述多个原始数据所在象限内,绘制与两个坐标轴相交的直线,作为所述基准线。

在一可选实施方式中,所述针对所述多个原始数据建立所述第一坐标系,以使所述多个原始数据落入所述第一坐标系的同一象限内,包括:

从所述多个原始数据在原始坐标系中的坐标值中,确定最小横坐标值和最小纵坐标值;

将所述最小横坐标值和所述最小纵坐标值作为坐标原点创建所述第一坐标系;

根据所述第一坐标系的坐标原点与所述原始坐标系的坐标原点的位置关系,将所述多个原始数据从所述原始坐标系中转换至所述第一坐标系的第一象限内。

在一可选实施方式中,所述根据所述基准线与多条原始连线相交得到的多个交点的坐标值大小,对所述多个原始数据进行重新排序,包括:

根据所述多个交点的x轴坐标值的大小排列顺序,对所述多个原始数据进行重新排序;或者

根据所述多个交点的y轴坐标值的大小排序顺序,对所述多个原始数据进行重新排序。

在一可选实施方式中,在根据所述多个原始数据中位于所述凸包上的原始数据,拟合出用于校准所述磁力计所需的椭圆方程后,所述方法还包括:

根据所述椭圆方程,从其他原始数据中识别修正数据,所述其他原始数据是所述磁力计在校准过程中采集到的除所述多个原始数据之外的其它数据;

根据所述修正数据对所述椭圆方程进行修正。

在一可选实施方式中,所述根据所述椭圆方程,从其他原始数据中识别修正数据,包括:

根据所述椭圆方程计算出均匀分布于所述椭圆上的w个数据;

从所述其他原始数据中获取候选数据;

根据所述基准线与多条候选连线相交得到的多个交点的坐标值大小,对所述w个数据和所述候选数据进行重新排序,所述多条候选连线是指所述w个数据和所述候选数据与所述第一坐标系的坐标原点之间的连线;

根据重新排序后的所述w个数据和所述候选数据的分布情况,从所述w个数据中,确定与所述候选数据的两个相邻数据;

若所述候选数据与所述两个相邻数据之间的三点连线方向与所述w个数据之间的连线方向匹配,将所述候选数据作为所述修正数据。

本发明还提供一种电子设备,包括:处理器以及与所述处理器连接的存储器;

所述存储器,用于存储一条或多条计算机指令;

所述处理器,用于执行所述一条或多条计算机指令,以用于:

获取磁力计在校准过程中采集的多个原始数据,所述多个原始数据位于第一坐标系中,且所述第一坐标系中包含具有单调性的基准线;

根据所述基准线与多条原始连线相交得到的多个交点的坐标值大小,对所述多个原始数据进行重新排序,所述多条原始连线是指所述多个原始数据和所述第一坐标系的坐标原点之间的连线;

根据重新排序后所述多个原始数据的分布情况,计算重新排序后所述多个原始数据的凸包;

根据所述多个原始数据中位于所述凸包上的原始数据,拟合出用于校准所述磁力计所需的椭圆方程。

在一可选实施方式中,所述处理器还用于:

针对所述多个原始数据建立所述第一坐标系,以使所述多个原始数据落入所述第一坐标系的同一象限内;以及

在所述多个原始数据所在象限内绘制所述基准线。

在一可选实施方式中,所述处理器具体用于:

在所述多个原始数据所在象限内,绘制以所述第一坐标系的坐标原点为圆心的弧线,作为所述基准线;或者

在所述多个原始数据所在象限内,绘制与两个坐标轴相交的直线,作为所述基准线。

在本发明实施例中,基于多个原始数据所在坐标系中具有单调性的基准线与多个原始数据与坐标原点之间的连线相交得到的多个交点的坐标值大小,对多个原始数据进行重排序,根据重新排序后所述多个原始数据的分布情况,计算重新排序后所述多个原始数据的凸包,并根据所述多个原始数据中位于所述凸包上的原始数据,拟合出用于校准所述磁力计所需的椭圆方程,使得拟合出的椭圆能够包围多个原始数据中的全部数据,提高了拟合椭圆的准确性,进而提高磁力计校准的精度。

附图说明

此处所说明的附图用来提供对本发明的进一步理解,构成本发明的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:

图1为本发明一实施例提供的磁力计数据处理方法的流程示意图;

图2为本发明一实施例提供的原始数据在四个象限内的分布示意图;

图3为本发明一实施例提供的原始数据在第一象限内的分布示意图;

图4为本发明又一实施例提供的原始数据在第一象限内的分布示意图;

图5为本发明一实施例提供的原始数据在第二象限内的分布示意图;

图6为本发明又一实施例提供的原始数据在第二象限内的分布示意图;

图7为本发明一实施例提供的原始数据在第三象限内的分布示意图;

图8为本发明又一实施例提供的原始数据在第三象限内的分布示意图;

图9为本发明一实施例提供的原始数据在第四象限内的分布示意图;

图10为本发明又一实施例提供的原始数据在第四象限内的分布示意图;

图11为本发明一实施例提供的凸包的示意图;

图12为本发明一实施例提供的三点连线方向示意图;

图13为本发明一实施例提供的电子设备的结构示意图。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明具体实施例及相应的附图对本发明技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

以下结合附图,详细说明本发明各实施例提供的技术方案。

图1为本发明一实施例提供的磁力计数据处理方法的流程示意图。如图1所示,该方法包括:

101、获取磁力计在校准过程中采集的多个原始数据,多个原始数据位于第一坐标系中,且第一坐标系中包含具有单调性的基准线。

102、根据基准线与多条原始连线相交得到的多个交点的坐标值大小,对多个原始数据进行重新排序,多条原始连线是指多个原始数据和第一坐标系的坐标原点之间的连线。

103、根据重新排序后多个原始数据的分布情况,计算重新排序后多个原始数据的凸包。

104、根据多个原始数据中位于凸包上的原始数据,拟合出用于校准磁力计所需的椭圆方程。

在步骤101处,在磁力计校准过程中,可通过持磁力计在空中画“8”字的方法或者通过将磁力计沿一坐标轴自旋转的方法采集原始数据。可选地,可在磁力计画“8”字或者沿一坐标轴自旋转的过程中,实时获取磁力计采集到的原始数据。或者,也可以在磁力计画“8”字或者沿一坐标轴自旋转结束之后,获取磁力计采集到的原始数据。可选地,本实施例使用的磁力计在校准过程中采集到的多个原始数据可以是磁力计采集到的部分原始数据,也可以是磁力计采集的全部原始数据。

在本实施例中,为便于进行数据处理,绘制一坐标系,称为第一坐标系,多个原始数据位于第一坐标系中。其中,第一坐标系是磁力计对应的二维坐标系。可选地,如果多个原始数据通过持磁力计在空中画“8”字的方法采集到,则多个原始数据是三维数据,将多个原始数据投影到二维坐标系中,例如xoy坐标系、yoz坐标系或者xoz坐标系。如果多个原始数据通过将磁力计沿一坐标轴自旋转的方法采集到,多个原始数据是二维数据,则第一坐标系是二维数据对应的二维坐标系。多个原始数据可分布于第一坐标系的至少一个象限。如图2所示,原始数据包括a、b、c、d、e、f、g和h,分布在第一坐标系的4个象限内。为了描述方便,在后续实施例中,均以第一坐标系为xoy坐标系进行说明,即第一坐标系包括x坐标轴和y坐标轴。

第一坐标系中包含具有单调性的基准线。第一坐标系同一象限内的基准线的单调性相同,或者单调递增,即在基准线的x坐标值在一象限内增大时,基准线的y坐标值也随着增大;或者单调递减,即在基准线的x坐标值在一象限内减小时,基准线的y坐标值随着增大。如图2所示,基准线为以第一坐标系的坐标原点为圆心、以r为半径的圆。其中,r可以取任意正数。可知,一三象限内的基准线单调递减,二四象限内的基准线单调递增。

在步骤102处,分别计算多个原始数据与第一坐标系的坐标原点之间的多个原始连线。多个原始连线与对应的原始数据所在的象限内的基准线相交,以得到多个交点。基于此,联立多个原始连线的方程与其对应的原始数据所在的象限内的基准线的方程,以得到多个交点的坐标值。

同一象限内若基准线单调递减,与x坐标轴的夹角越小的原始连线所对应的交点的x轴坐标值的绝对值越大;反之,与x坐标轴的夹角越大的原始连线所对应的交点的x轴坐标值的绝对值越小。反之,同一象限内若基准线单调递增,与x坐标轴的夹角越小的原始连线所对应的交点的x轴坐标值的绝对值越大;反之,与x坐标轴的夹角越大的原始连线所对应的交点的x轴坐标值的绝对值越小。

类似地,同一象限内若基准线单调递减,与y坐标轴的夹角越小的原始连线所对应的交点的y轴坐标值的绝对值越大;反之,与y坐标轴的夹角越大的原始连线所对应的交点的y轴坐标值的绝对值越小。反之,同一象限内若基准线单调递增,与y坐标轴的夹角越小的原始连线所对应的交点的y轴坐标值的绝对值越大;反之,与y坐标轴的夹角越大的原始连线所对应的交点的y轴坐标值的绝对值越小。

基于上述,根据多个交点的同一同一坐标轴的坐标值的大小,对原始数据进行重新排序,重新排序后的原始数据对应的原始连线与某一坐标轴的夹角呈递增或者递减分布。如图2所示,基准线与多条原始连线相交得到多个交点分别为a、b、c、d、e、f、g和h。在第一象限和第二象限内,可根据交点的x轴坐标值由大到小,对第一象限和第二象限内的原始数据进行排序。在第三象限和第四象限内,可根据交点的x轴坐标值由小到大,对第三象限和第四象限内的原始数据进行排序。然后,将第三象限和第四象限内的原始数据的顺序向后推移第一象限和第二象限内的原始数据的数量值,以将第三象限和第四象限内的原始数据排在第一象限和第二象限内的原始数据之后。如此,重新排序后的多个原始数据对应的原始连线与x坐标轴的夹角呈递增分布,整体来看,重新排序后的多个原始数据按照逆时针方向分布。反过来,若重新排序后的多个原始数据对应的原始连线与x坐标轴的夹角呈递减分布,整体来看,重新排序后的多个原始数据按照顺时针方向分布。

在步骤103处,基于重新排序后的多个原始数据的分布,计算多个原始数据的凸包。凸包指将多个原始数据中最外层的数据连接起来构成的凸多边型,多个原始数据将分布于该凸多边形上或落入该凸多边形内。计算凸包的过程就是从多个原始数据中识别边界点的过程。可选地,可采用graham扫描算法(grahamscanalgorithm)确定边界点,位于凸包上的原始数据之间的连线能够表征多个原始数据的轮廓。基于此,在步骤104处,将位于凸包上的原始数据作为拟合数据,拟合用于校准磁力计所需的椭圆方程,该椭圆方程表示的椭圆能够包围多个原始数据中的全部数据。

本实施例中,通过根据重新排序后多个原始数据的分布情况,计算重新排序后多个原始数据的凸包,并根据多个原始数据中位于凸包上的原始数据,拟合出用于校准磁力计所需的椭圆方程,使得拟合出的椭圆能够包围多个原始数据中的全部数据,提高了拟合椭圆的准确性,进而提高磁力计校准的精度。

进一步地,通过根据基准线与多条原始连线相交得到的多个交点的坐标值大小,对多个原始数据进行重新排序,使得重新排序后的原始数据呈逆时针方向分布或者顺时针方向分布,进而可以按照多个原始数据的分布,快速、准确地计算凸包。

更进一步地,通过根据基准线与多条原始连线相交得到的多个交点的坐标值大小,对多个原始数据进行重新排序,多条原始连线是指多个原始数据和第一坐标系的坐标原点之间的连线;使得通过联立基准线的方程和原始连线的方程即可得到交点坐标,并按照交点坐标值的大小,对原始数据进行重新排序,无需求取连线方程与坐标轴之间的夹角。本实施例中,相比于求取夹角,交点坐标的求取比较简单,计算量小,能够快速对原始数据进行排序,进而快速拟合椭圆方程。

在上述实施例或下述实施例中,第一坐标系可以是磁力计对应的原始坐标系。这样,磁力计采集的原始数据可能分布在原始坐标系的各个象限。由于不同象限内的原始数据的排序方法不同,使得排序过程繁琐耗时。基于此,为了便于计算,可以基于磁力计对应的原始坐标系创建第一坐标系,以使多个原始数据位于第一坐标系的同一象限内。基于此,在根据基准线与多条原始连线相交得到的多个交点的坐标值大小,对多个原始数据进行重新排序之前,还包括:针对多个原始数据建立第一坐标系,以使多个原始数据落入第一坐标系的同一象限内;以及在多个原始数据所在象限内绘制基准线。

可选地,多个原始数据可落入第一坐标系的任一象限内。优选地,针对多个原始数据建立第一坐标系,以使多个原始数据落入第一坐标系的第一象限内。基于此,在多个原始数据的左下侧创建第一坐标系的坐标原点。可选地,从多个原始数据在原始坐标系中的坐标值中,确定最小横坐标值和最小纵坐标值;将最小横坐标值和最小纵坐标值作为坐标原点创建第一坐标系。如图3所示,d的横坐标值最小,f的纵坐标值最小,则将d的横坐标值和f的纵坐标值作为第一坐标系的坐标原点的坐标值,以坐标原点与d的连线作为y轴,以坐标原点与f的连线作为x坐标轴。

对于多个原始数据来说,需要平移到第一坐标系的第一象限内。基于此,根据第一坐标系的坐标原点与原始坐标系的坐标原点的位置关系,计算从原始坐标系的坐标原点到第一坐标系的坐标原点的向量,并根据计算出的向量和多个原始数据在原始坐标系中的坐标值,得出多个原始数据在第一坐标系中的坐标值,以将多个原始数据从原始坐标系中转换至第一坐标系的第一象限内,如图3所示。

例如,第一坐标系的坐标原点的坐标值为(5,1),原始坐标系的坐标原点的坐标值为(0,1),则从原始坐标系的坐标原点到第一坐标系的坐标原点的向量(5,0)。然后将多个原始数据在原始坐标系中的坐标值与向量(5,0)相加,以得到多个原始数据在第一坐标系中的坐标值。

由于多个原始数据均位于同一象限内,可在多个原始数据所在的象限内绘制基准线,可选地,在多个原始数据所在的象限内,绘制以第一坐标系的坐标原点为圆心的弧线,作为基准线;或者在多个原始数据所在象限内,绘制与两个坐标轴相交的直线,作为基准线。

在一示例中,如图3所示,多个原始数据位于第一象限内,则以第一坐标系的坐标原点为圆心在第一象限内绘制半径为r的圆弧,其中,r为任意正数。如图4所示,也可以在第一象限内绘制与两个坐标轴正向相交的直线。

在又一示例中,如图5所示,多个原始数据位于第二象限内,则以第一坐标系的坐标原点为圆心在第二象限内绘制半径为r的圆弧,其中,r为任意正数。如图6所示,也可以在第二象限内绘制与x坐标轴负向和y坐标轴正向相交的直线。

在又一示例中,如图7所示,多个原始数据位于第三象限内,则以第一坐标系的坐标原点为圆心在第三象限内绘制半径为r的圆弧,其中,r为任意正数。如图8所示,也可以在第三象限内绘制与x坐标轴负向和y坐标轴负向相交的直线。

在又一示例中,如图9所示,多个原始数据位于第四象限内,则以第一坐标系的坐标原点为圆心在第四象限内绘制半径为r的圆弧,其中,r为任意正数。如图10所示,也可以在第四象限内绘制与x坐标轴正向和y坐标轴负向相交的直线。

基于图3示出的第一坐标系的坐标原点、基准线和原始数据,计算基准线与多条原始连线相交得到的多个交点的坐标值大小。交点的x轴坐标值越大,该交点对应的原始连线与x坐标轴的夹角越小。基于此,可根据多个交点的x轴坐标值的大小排列顺序,对多个原始数据进行重新排序。若按照多个交点的x轴坐标值由小到大的顺序,对多个原始数据进行重新排序,则重新排序后的原始数据呈顺时针分布。若按照多个交点的x轴坐标值由大到小的顺序,对多个原始数据进行重新排序,则重新排序后的原始数据呈逆时针分布,如图3所示。

可选地,交点的y轴坐标值越大,该交点对应的原始连线与y轴的夹角越小。基于此,还可以根据多个交点的y轴坐标值的大小排序顺序,对多个原始数据进行重新排序。若按照多个交点的y轴坐标值由小到大的顺序,对多个原始数据进行重新排序,则重新排序后的原始数据呈逆时针分布。若按照多个交点的y轴坐标值由大到小的顺序,对多个原始数据进行重新排序,则重新排序后的原始数据呈顺时针分布。

值得说明的是,也可以根据图5~图10示出的第一坐标系的坐标原点、基准线和原始数据,计算基准线与多条原始连线相交得到的多个交点的坐标值大小,并根据坐标值大小,对多个原始数据进行重新排序。排序方法与图3、图4中的方法类似,此处不在赘述。

在上述实施例或下述实施例中,根据重新排序后多个原始数据的分布情况,采用graham扫描算法,计算重新排序后多个原始数据的凸包。以图3为例,将图3中的序号1、2、3的原始数据(简称1号数据、2号数据、3号数据)压入栈s中,获取2号数据、3号数据与4号数据的三点连线方向,若三点连线方向沿顺时针方向偏转,表明这三点连线是凹的,则栈顶的3号数据出栈;若三点连线方向沿逆时针方向偏转,表明这三点连线是凸的,则维持3号数据在栈中的位置。如图11所示,2号数据、3号数据与4号数据的三点连线是凸的,维持3号数据在栈中的位置。

接着,将4号数据压入栈,获取3号数据、4号数据与5号数据的三点连线方向,若三点连线方向沿顺时针方向偏转,则栈顶的4号数据出栈;若三点连线方向沿逆时针方向偏转,则维持4号数据在栈中的位置。如图11所示,3号数据、4号数据与5号数据的三点连线是凸的,维持4号数据在栈中的位置。接着,4号数据、5号数据与6号数据的三点连线是凹的,将5号数据出栈。依次类推,直到处理完所有原始数据后,栈中的原始数据是凸包上的原始数据。

值得说明的是,若某3点连线是凹的,在将栈顶的数据出栈后,还需要获取此时新的栈顶的数据与其两端数据之间的连线方向。例如,将5号数据出栈后,新的栈顶的数据是4号数据,则获取3号数据、4号数据与6号数据的三点连线方向,如图11所示,该三点连线方向沿逆时针方向偏转,则三点连线是凸的,维持4号数据在栈中的位置,并将6号数据压入栈。若该连线方向仍然向顺时针方向偏转,则将此时新的栈顶的数据出栈,依次类推,直到栈顶的数据与其两端数据之间的连线方向沿逆时针方向偏转,或者栈中只有2个数据,则继续将下一个序号的原始数据压入栈。如图11所示,最终凸包上的原始数据包括1号数据、2号数据、3号数据、4号数据、6号数据、7号数据和8号数据。

可选地,可通过自定义向量叉积的算子获取原始数据的三点连线方向。如图12所示,假设第一坐标系中有m(2,2)、n(3,3)、p(3,5)、q(5,3)4个原始数据,m、n构成向量mn(1,1),n、p构成向量np(0,2),n、q构成向量nq(2,0)。mn与np的叉积:1*2-0*1=2>0,mn到np沿逆时针方向偏转,即m、n、p的三点连线方向沿逆时针方向偏转。mn与nq叉积:1*0-1*2=-2<0,mn到nq沿顺时针方向偏转,即m、n、q的三点连线方向沿顺时针方向偏转。

在上述实施例或下述实施例中,用于拟合椭圆方程的多个原始数据是磁力计在校准过程中采集到的原始数据中的部分数据。磁力计在校准过程中采集到的原始数据中除多个原始数据之外的其他数据可用于修正之前拟合出的椭圆方程。基于此,可在其他数据中识别出修正数据;进而根据修正数据对椭圆方程进行修正。其中,其他数据可能是椭圆内部的数据也可能是椭圆外部的数据,椭圆外部的数据对修正椭圆方程具有指导意义,基于此,修正数据是椭圆外部的数据。

可选地,在根据椭圆方程,从其他原始数据中识别椭圆外部的修正数据的过程中,首先,根据椭圆方程计算出均匀分布于椭圆上的w个数据;其中,w是自然数。例如,在椭圆上每隔30度获取一数据,共获取12个数据。以及,从其他原始数据中获取候选数据,可以按照数据采集的先后顺序,将其他原始数据中先采集的数据作为候选数据。将该候选数据处理完成后,再将下一个采集的数据作为新的候选数据,依次类推,直到磁力计采集的其他数据均处理完。

然后,根据基准线与多条候选连线相交得到的多个交点的坐标值大小,对w个数据和候选数据进行重新排序,多条候选连线是指w个数据和候选数据与第一坐标系的坐标原点之间的连线。其中,对w个数据和候选数据进行重新排序的方法与上述实施例中对多个原始数据重新排序的方法相同,此处不再赘述。

接着,根据重新排序后的w个数据和候选数据的分布情况,从w个数据中,确定与候选数据的两个相邻数据。

候选数据的两个相邻数据指重新排序后,排在候选数据之前的相邻数据和排在候选数据之后的相邻数据。然后,获取候选数据与两个相邻数据的三点连线方向,若候选数据与两个相邻数据之间的三点连线方向与w个数据之间的连线方向匹配,即同为逆时针方向或同为顺时针方向,说明候选数据与两个相邻数据之间的三点连线是凸的,候选数据位于椭圆外部,则将候选数据作为修正数据。若候选数据与两个相邻数据之间的三点连线方向与w个数据之间的连线方向不匹配,说明候选数据与两个相邻数据之间的三点连线是凹的,候选数据位于椭圆内部,则将候选数据丢弃。

由于拟合椭圆的过程耗时较长,相比于将磁力计采集的全部数据拟合椭圆,本实施例将磁力计采集的多个原始数据用于拟合椭圆,将其他数据用于对椭圆进行修正,能够减少计算量,进而快速拟合椭圆方程,提高磁力计校准效率。

进一步地,通过计算出均匀分布于椭圆上的w个数据,并对w个数据和候选数据进行重新排序,无需将候选数据与椭圆上的所有数据排序,减少了排序花费的时间,进一步快速拟合椭圆方程,提高磁力计校准效率。

另外,在上述实施例及附图中的描述的一些流程中,包含了按照特定顺序出现的多个操作,但是应该清楚了解,这些操作可以不按照其在本文中出现的顺序来执行或并行执行,操作的序号如201、202等,仅仅是用于区分开各个不同的操作,序号本身不代表任何的执行顺序。另外,这些流程可以包括更多或更少的操作,并且这些操作可以按顺序执行或并行执行。需要说明的是,本文中的“第一”、“第二”等描述,是用于区分不同的消息、设备、模块等,不代表先后顺序,也不限定“第一”和“第二”是不同的类型。

本实施例还提供一种电子设备,如图13所示,电子设备包括处理器602、以及与处理器602连接的存储器601。

存储器601,用于存储一条或多条计算机指令,并可被配置为存储其它各种数据以支持在电子设备上的操作。这些数据的示例包括用于在电子设备上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。

存储器601可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(sram),电可擦除可编程只读存储器(eeprom),可擦除可编程只读存储器(eprom),可编程只读存储器(prom),只读存储器(rom),磁存储器,快闪存储器,磁盘或光盘。

处理器602,与存储器601耦合,用于执行存储器601中存储的一条或多条计算机指令,以用于:

获取磁力计在校准过程中采集的多个原始数据,多个原始数据位于第一坐标系中,且第一坐标系中包含具有单调性的基准线;根据基准线与多条原始连线相交得到的多个交点的坐标值大小,对多个原始数据进行重新排序,多条原始连线是指多个原始数据和第一坐标系的坐标原点之间的连线;根据重新排序后多个原始数据的分布情况,计算重新排序后多个原始数据的凸包;根据多个原始数据中位于凸包上的原始数据,拟合出用于校准磁力计所需的椭圆方程。

在一可选实施方式中,处理器602在根据基准线与多条原始连线相交得到的多个交点的坐标值大小,对多个原始数据进行重新排序之前还用于:针对多个原始数据建立第一坐标系,以使多个原始数据落入第一坐标系的同一象限内;以及在多个原始数据所在象限内绘制基准线。

在一可选实施方式中,处理器602在在多个原始数据所在象限内绘制基准线时,具体用于:在多个原始数据所在象限内,绘制以第一坐标系的坐标原点为圆心的弧线,作为基准线;或者在多个原始数据所在象限内,绘制与两个坐标轴相交的直线,作为基准线。

在一可选实施方式中,处理器602在针对多个原始数据建立第一坐标系,以使多个原始数据落入第一坐标系的同一象限内时,具体用于:从多个原始数据在原始坐标系中的坐标值中,确定最小横坐标值和最小纵坐标值;将最小横坐标值和最小纵坐标值作为坐标原点创建第一坐标系;根据第一坐标系的坐标原点与原始坐标系的坐标原点的位置关系,将多个原始数据从原始坐标系中转换至第一坐标系的第一象限内。

在一可选实施方式中,处理器602在根据基准线与多条原始连线相交得到的多个交点的坐标值大小,对多个原始数据进行重新排序时,具体用于:根据多个交点的x轴坐标值的大小排列顺序,对多个原始数据进行重新排序;或者根据多个交点的y轴坐标值的大小排序顺序,对多个原始数据进行重新排序。

在一可选实施方式中,处理器602在根据多个原始数据中位于凸包上的原始数据,拟合出用于校准磁力计所需的椭圆方程后,还用于:根据椭圆方程,从其他原始数据中识别修正数据,其他原始数据是磁力计在校准过程中采集到的除多个原始数据之外的其它数据;根据修正数据对椭圆方程进行修正。

在一可选实施方式中,处理器602在根据椭圆方程,从其他原始数据中识别修正数据时,具体用于:根据椭圆方程计算出均匀分布于椭圆上的w个数据;从其他原始数据中获取候选数据;根据基准线与多条候选连线相交得到的多个交点的坐标值大小,对w个数据和候选数据进行重新排序,多条候选连线是指w个数据和候选数据与第一坐标系的坐标原点之间的连线;根据重新排序后的w个数据和候选数据的分布情况,从w个数据中,确定与候选数据的两个相邻数据;若候选数据与两个相邻数据之间的三点连线方向与w个数据之间的连线方向匹配,将候选数据作为修正数据。

本实施例中,通过根据重新排序后多个原始数据的分布情况,计算重新排序后多个原始数据的凸包,并根据多个原始数据中位于凸包上的原始数据,拟合出用于校准磁力计所需的椭圆方程,使得拟合出的椭圆能够包围多个原始数据中的全部数据,提高了拟合椭圆的准确性,进而提高磁力计校准的精度。

进一步地,通过根据基准线与多条原始连线相交得到的多个交点的坐标值大小,对多个原始数据进行重新排序,使得重新排序后的原始数据呈逆时针方向分布或者顺时针方向分布,进而可以按照多个原始数据的分布,快速、准确地计算凸包。

更进一步地,通过根据基准线与多条原始连线相交得到的多个交点的坐标值大小,对多个原始数据进行重新排序,多条原始连线是指多个原始数据和第一坐标系的坐标原点之间的连线;使得通过联立基准线的方程和原始连线的方程即可得到交点坐标,并按照交点坐标值的大小,对原始数据进行重新排序,无需求取连线方程与坐标轴之间的夹角。本实施例中,相比于求取夹角,交点坐标的求取比较简单,计算量小,能够快速对原始数据进行排序,进而快速拟合椭圆方程。

相应地,本发明实施例还提供一种存储有计算机程序的计算机可读存储介质,计算机程序被执行时能够实现上述方法实施例中可由电子设备执行的各步骤。

本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。

本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

在一个典型的配置中,计算设备包括一个或多个处理器(cpu)、输入/输出接口、网络接口和内存。

内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flashram)。内存是计算机可读介质的示例。

计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitorymedia),如调制的数据信号和载波。

还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。

以上所述仅为本发明的实施例而已,并不用于限制本发明。对于本领域技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本发明的权利要求范围之内。

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