三轴地磁传感器实时校正方法与流程

文档序号:12120447阅读:6089来源:国知局

本发明涉及一种三轴地磁传感器实时校正方法。



背景技术:

磁场传感器是可以将各种磁场及其变化的量转变成电信号输出的装置。自然界和人类社会生活的许多地方都存在磁场或与磁场相关的信息。利用人工设置的永久磁体产生的磁场,可作为许多种信息的载体。因此,探测、采集、存储、转换、复现和监控各种磁场和磁场中承载的各种信息的任务,自然就落在磁场传感器身上。在当今的信息社会中,磁场传感器已成为信息技术和信息产业中不可缺少的基础元件。目前,人们已研制出利用各种物理、化学和生物效应的磁场传感器,并已在科研、生产和社会生活的各个方面得到广泛应用,承担起探究种种信息的任务。

三轴地磁传感器可以采集到在直角坐标系下,矢量磁场在每个坐标轴上的分量大小。在理想情况下,传感器的数据应当完美的分布在一个球心过原点的正球面上。然而,在传感器制造过程中,三个坐标轴的灵敏度往往不同,导致观测值与实际值存在放缩关系,这就导致传感器的数据实际分布在椭球面上。另外,由于传感器所在电路本身也会产生近似恒定的磁场,这就导致椭球的球心不在坐标轴原点。所以就需要使用校正算法,来校正这种误差。还需要提及的是,虽然传感器在制造的时候,三个坐标轴可能存在不互相垂直的情况,但是由于现如今制造工艺的不断提高,这种误差可以忽略不计。另外,在实际情况中,由于电路的温度会随着电路的使用不断增高,这就导致三轴的灵敏度与电路产生的磁场在缓慢变化,这就产生了对实时校正算法的需求。

另外,由于在使用地磁传感器的数据时,往往只需要其三轴矢量的方向向量,所以,只要把观测到的数据校正到单位正球面上即可。

常用的三轴地磁传感器校正方法是椭球校正。通过采集到的数据拟合椭圆方程,来计算校正用的参数。在使用这种方法时,积攒足够多的数据才能保证计算的正确性与精度(通常情况下需要采集1000组3轴的数据,即3000个浮点型数据,才能在一定程度上保证计算正确性,而3000个16位浮点型变量,需要48kb的存储空间。常见51单片机仅有64kb的容量。如果不使用外部存储器,则仅校正就需要 占用超过一半的内存空间。如果使用外部存储器,则增加了硬件成本,且提高了系统的复杂性),而在嵌入式等储存空间有限的设备里,在记录这些数据的同时,就很难记录其他的数据,所以设计一种能够几乎不占内存的,且简单实用的三轴地磁传感器算法显得尤为重要。



技术实现要素:

本发明的目的是:提供一种全新的三轴地磁传感器校正方法,该方法简单好用,且占用内存极少。

为实现上述目的,本方法发明采用的技术方案是:

三轴地磁传感器实时校正方法,该矫正方法包括如下步骤:

A、转动地磁传感器,并采集地磁传感器发出的xyz三轴地磁数据Xb,Yb,Zb

B、对采集到的每组三轴地磁数据Xb,Yb,Zb进行迭代计算;

C、利用迭代的变量,计算校正参数Ax,Ay,Az,Ox,Oy,Oz

D、利用校正参数,计算校正后地磁传感器数据。

所述步骤B中,迭代计算的方法如下:

①、初始化6阶方阵M,所述6阶方阵M的初始化值M0为6*6全零方阵;初始化6维列向量B,所述6维列向量B的初始化值B0为6*1全零列向量;

②、上述步骤A中,设第i次采集到的三轴地磁数据为Xbi,Ybi,Zbi

构建向量Ai,其中上标2表示平方运算;

构建向量bi,其中上标2表示平方运算,i为正整数,i≥1;

③、利用下列公式(1)和(2)分别更新6阶方阵M及6维列向量B,

公式(1)和(2)中,上标T表示矩阵转置运算,i表示三轴地磁数据的采集次数且i为正整数,当i=1时,Mi-1取初始化得到的M0,Bi-1取初始化得到的B0

步骤③中,每次更新M与B后,利用如下公式(3)计算校正参数Ax,Ay,Az,OX,Oy,Oz

上述公式中,记参数其中上标-1表示矩阵求逆运算,W为6维列向量,wj(j=1,2,...,6)表示W第j维的值。

计算校正参数的公式如下:

校正后的地磁传感器数据Xc,Yc,Zc的计算公式为,其中Xb,Yb,Zb表示校正前的xyz三轴地磁数据。

Xc=AxXb+Ox

Yc=AyYb+Oy

Zc=AzZb+Oz

与现有技术相比,本发明具备的技术效果为:该方法记录的地磁传感器的数据占用内存少,且简单便捷,有较好的可实施性,还可以实时校正传感器,适用于各种场合。

除了上面所描述的目的、特征和优点之外,本发明还有其它的目的、特征和优点。下面将对本发明作进一步详细的说明。

具体实施方式

下面对本发明作进一步地说明:

三轴地磁传感器实时校正方法,该矫正方法包括如下步骤:

A、转动地磁传感器,并采集地磁传感器发出的xyz三轴地磁数据Xb,Yb,Zb

B、对采集到的每组三轴地磁数据Xb,Yb,Zb进行迭代计算;

C、利用迭代的变量,计算校正参数Ax,Ay,Az,OX,Oy,Oz

D、利用校正参数,计算校正后地磁传感器数据。

所述步骤B中,迭代计算的方法如下:

①、初始化6阶方阵M,所述6阶方阵M的初始化值M0为6*6全零方阵;初始化6维列向量B,所述6维列向量B的初始化值B0为6*1全零列向量;

②、上述步骤A中,设第i次采集到的三轴地磁数据为Xbi,Ybi,Zbi

构建向量Ai,其中上标2表示平方运算;

构建向量bi,其中上标2表示平方运算,i为正整数,i≥1;

③、利用下列公式(1)和(2)分别更新6阶方阵M及6维列向量B,

公式(1)和(2)中,上标T表示矩阵转置运算,i表示三轴地磁数据的采集次数且i为正整数,当i=1时,Mi-1取初始化得到的M0,Bi-1取初始化得到的B0

步骤③中,每次更新M与B后,利用如下公式(3)计算列向量W以及参数λ,其中W为6维列向量,wj(j=1,2,...,6)表示W第j维的值,上标-1表示矩阵求逆运算。

参数

之后再利用W和λ计算校正参数Ax,Ay,Az,OX,Oy,Oz

在计算出上述6个校正参数后,就可以按照下述的校正模型,对原始三轴地磁数据进行校正。

Xc=AxXb+Ox

Yc=AyYb+Oy

Zc=AzZb+Oz

其中,Xc,Yc,Zc表示校正后地磁传感器数据,Xb,Yb,Zb表示校正前的地磁传感器x,y,z轴采集到的数据,Ax,Ay,Az,OX,Oy,Oz为校正参数。

实际上,假设采集的数据量是n,常用方法则需要储存M、B和一个n乘6方阵和一个n乘1方阵,共7n+42个变量;而本方法仅需储存M、B、A、b、W、i、λ即可,即57个变量,占用空间不随数据量增加而增大,使用的数据量越大,本文节省空间的效果越明显。

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