CN1948905B - 磁传感器控制设备 - Google Patents

磁传感器控制设备 Download PDF

Info

Publication number
CN1948905B
CN1948905B CN2006101411139A CN200610141113A CN1948905B CN 1948905 B CN1948905 B CN 1948905B CN 2006101411139 A CN2006101411139 A CN 2006101411139A CN 200610141113 A CN200610141113 A CN 200610141113A CN 1948905 B CN1948905 B CN 1948905B
Authority
CN
China
Prior art keywords
magnetic data
data
magnetic
impact damper
triangle
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
CN2006101411139A
Other languages
English (en)
Other versions
CN1948905A (zh
Inventor
半田伊吹
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Yamaha Corp
Original Assignee
Yamaha Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from JP2005337412A external-priority patent/JP5040103B2/ja
Priority claimed from JP2006026260A external-priority patent/JP4899506B2/ja
Application filed by Yamaha Corp filed Critical Yamaha Corp
Publication of CN1948905A publication Critical patent/CN1948905A/zh
Application granted granted Critical
Publication of CN1948905B publication Critical patent/CN1948905B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

一种磁传感器控制设备,其具有输入单元、选择单元、计算单元和设置单元。输入单元输入从三维(3D)磁传感器顺序输出的每一点均具有3个分量的多个磁数据。选择单元从多个输入磁数据中选出满足预定的4点选择条件的4个磁数据。计算单元计算与对应于4个所选磁数据的4点距离相等的中心点。设置单元把代表中心点的3个分量设置为磁数据的偏移。

Description

磁传感器控制设备
技术领域
本发明涉及磁传感器控制设备、方法和程序。
背景技术
在第一方面,安装在运动体上的传统三维(3D)磁传感器检测地球磁场(地磁)的方向。3D磁传感器一般包括3个磁传感器模块来检测在3个正交方向上磁场矢量的标量分量。由于磁数据由3个磁传感器模块的输出组合组成,因此从3D磁传感器输出的磁数据具有3个分量。具有与磁数据对应的分量的矢量的方向和幅值对应于由3D磁传感器检测到的磁场的方向和幅值。当以3D磁传感器的输出为基础规定地球磁场的方向或幅值时,为了对运动体的磁化分量求反,有必要执行校正3D磁传感器输出的处理。此校正处理的控制值被称作偏移。该偏移指示由3D磁传感器检测到的运动体磁化分量所引起的磁场的矢量。通过从3D磁传感器所输出的磁数据中减去该偏移来对磁化分量求反。有可能通过获得经过对应于磁数据的分量所代表的点的球面的球心来计算该偏移。
然而,事实上一组对应于磁数据的点并不形成理想的球体。原因是3D传感器的输出本身具有服从高斯分布的测量误差,而由于实际上没有完全均匀的磁场,因此由3D磁传感器测量到的磁场在计算偏移所需的磁数据被存储期间发生变化,并且一直产生计算误差直到从3D磁传感器的输出中获得数字值。用于计算磁传感器偏移的传统方法存储了大量磁数据并且通过被存储磁数据的统计处理来计算最可能偏移(例如,见国际公布2004-003476)。然而,在执行大量磁数据的统计处理时,只有作为统计学群体的磁数据组在宽广范围内均匀分布且特殊磁数据从统计学群体中被排除时,才能计算出高精度偏移。因此,为计算高精度偏移,有必要选择统计学群体,并且根本上不可能仅仅靠统计处理来计算高精度偏移。通过统计处理来计算球面的最可能球心还需要大量处理、很长时间以及很高资源消耗。
在第二方面,安装在运动体上的传统二维(2D)磁传感器检测地球磁场的方向。2D磁传感器一般包括2个磁传感器模块来检测在2个正交方向上磁场矢量的标量分量。由于磁数据由2个磁传感器模块的输出组合组成,因此从2D磁传感器输出的磁数据具有2个分量。具有对应于磁数据的分量的矢量的方向和幅值对应于由2D磁传感器检测到的磁场的方向和幅值。当根据2D磁传感器的输出规定地球磁场的方向或幅值时,该输出包括运动体的磁化分量和磁传感器的固有测量误差。为了对磁化分量和测量误差求反,有必要执行校正2D磁传感器输出的处理。此校正处理的控制值与3D磁传感器情况一样也被称作偏移。该偏移指示由2D磁传感器检测到的运动体磁化分量所引起的磁场的矢量,该偏移包括磁传感器的测量误差。从2D磁传感器所输出的磁数据中减去该偏移来对磁化分量和该磁传感器的测量误差共同求反。可能通过获得经过对应于磁数据的点的圆的圆心来计算该偏移。用于获得该偏移的处理被称作校准。
然而,事实上一组对应于磁数据的点并不形成理想的圆。原因是2D磁传感器的输出本身具有服从高斯分布的测量误差,而由于实际上没有完全均匀的磁场,因此由2D磁传感器测量到的磁场在计算偏移所需的磁数据被存储期间发生变化,并且一直产生计算误差直到从2D磁传感器的输出中获得数字值。
用于计算磁传感器偏移的传统方法存储了大量磁数据并且通过被存储磁数据的统计处理来计算最可能偏移(例如,见国际公布2004-003476)。然而,当执行大量磁数据的统计处理时,只有磁数据统计学群体在宽广范围内均匀分布且特殊磁数据从统计学群体中被排除时,才能计算出高精度偏移。因此,为计算高精度偏移,有必要选择统计学群体,并且根本上不可能仅仅通过统计处理来计算高精度偏移。通过统计处理来计算球面的最可能球心还需要大量处理、很长时间以及很高资源消耗。
发明内容
本发明的目的是提供磁传感器控制设备、方法和程序,其中在偏移计算中不需要使用统计处理。
为了达到此目的,本发明的第一方面提供磁传感器控制设备,其包含:输入装置,用来输入从三维(3D)磁传感器顺序输出的具有3个分量的多个磁数据;选择装置,用来从多个输入磁数据中选择满足预定4点选择条件的4个磁数据;计算装置,用来计算与4点距离相等的中心点,所述4点的每一点均由4个所选磁数据中相应的一个磁数据的3个分量代表;以及设置装置,用来把中心点的3个分量设置为磁数据偏移。
其中,选择装置具有提供来存储作为候选的输入3个磁数据的3个数据结构,该选择装置一直更新3个数据结构直到存储在3个数据结构中的3个磁数据满足预定的3点选择条件,并且在根据4点选择条件选择第4磁数据之前选择满足所述3点选择条件的3个磁数据,其中,当最后输入的磁数据存储在3个数据结构之一中时,假如通过以最后输入的磁数据来更新这一个数据结构使得经过对应于存储在所述3个数据结构中的3个磁数据的3点的圆弧的弦长增加或至少不减小,则所述选择装置选择这一个数据结构并以最后输入的磁数据更新所选数据结构。
由于从3D磁传感器顺序输出的多个磁数据中选择满足预定4点选择条件的磁数据,并且计算与对应于4个所选磁数据的4个点的距离相等的中心点,因此计算偏移不需要使用统计处理,从而可有效地计算该偏移。可使用统计处理来估计已计算偏移的可靠性。
磁传感器控制设备还可包含用来存储多个输入磁数据的缓冲器。选择装置可在选择第n(第2、第3或第4)磁数据之前选择满足预定选择条件的第n-1磁数据,随后从缓冲器中获得还没有被选作直到第n-1磁数据中的任一个的磁数据,并且把已获得磁数据设置为第n磁数据的候选。
为确保满足4点选择条件的4个磁数据在一次尝试中从多个磁数据中选出,可能需要大量选择并且对该选择可能需要很大的最大处理量。因此,以逐步方式设置选择条件,并且在根据一个条件选择第n磁数据之前,根据另一条件选择第n-1磁数据,从而减少了该选择所需的最大处理量。另外,当根据一个条件选择第n磁数据时,还没有被选作直到第n-1磁数据中的任一个的磁数据再次被用作候选,从而减少了计算偏移所需的磁数据数量。这样就减少了采集磁数据来计算磁数据偏移所需的包含3D磁传感器的运动体的操作数量,并缩短了计算该偏移所需的时间。
当在被提供用来存储作为候选的3个磁数据的3个数据结构中存储输入磁数据时,选择装置可更新这3个数据结构直到存储在这3个数据结构中的3个磁数据满足预定的3点选择条件。
由于在选择满足4点选择条件的第4磁数据之前完成了直到第3磁数据的选择,因此可减少该选择所需的最大处理量。在选择第3磁数据的过程中,有可能使用可存储被逐个更新的3个磁数据的3个数据结构。用于存储磁数据的数据结构可被定义为,例如用于存储磁数据3个分量的3个变量的序列。
当最后输入的磁数据存储在3个数据结构之一中时,假如用最后输入的磁数据更新这一个数据结构会增加或至少不减小经过3点的圆弧的弦长,所述3点具有对应于存储在3个数据结构中的3个磁数据的分量,那么选择装置可选择这一个数据结构,并且用最后输入的磁数据来更新所选数据结构。
经过3点的圆对应于球体的截断面的圆周,所述3点具有对应于3个磁数据的分量,所述球体的球心在具有与最终获得的偏移相对应的分量的点。为使得所述截断面逼近球体的真实截断面,所述球体的球心在具有与校正偏移相对应的分量的点,优选地是所述球体的截断面面积应增加并且限定所述球体的截断面的3点应平均分布在沿该圆周的宽广范围内。因此,优选地是经过对应于3个磁数据的3点的弦的长度很大。因此,优选地是,当最后输入的磁数据存储在3个数据结构之一中时,选择要被更新的数据结构以使得通过更新该数据结构来增加经过与存储在3个数据结构中3个磁数据相对应的3点的圆弧的弦长。
当3个数据结构已被更新的次数超过预定次数时,选择装置对3个数据结构复位。
如果在选择满足3点选择条件的3个磁数据过程中,在直到第二磁数据被选择之后磁传感器所处的磁场迅速变化,则满足3点选择条件的第三磁数据有可能根本没有被输入。为避免这个问题,优选地是当3个数据结构已被更新的次数超过预定次数时,这3个数据结构被复位。因此,与改变后的磁场有关的磁数据被存储在3个空数据结构中,从而避免了满足3点选择条件的3个磁数据根本没有被选择的问题。
3点选择条件可包括与一三角形相对一正三角形的变形有关的条件,所述三角形具有与每一点均由在数据结构中存储的3个磁数据中相应的一个磁数据的3个分量所代表的3点相对应的顶点。
经过对应于3个磁数据的3点的圆与球体的截断面的圆周相对应,所述球体其球心在对应于最终获得的偏移的3个分量所代表的点。为使得所述截断面逼近球心在对应于校正偏移的点的球体的真实截断面,优选地是限定该球体的截断面的3点以规则间隔沿圆周分布。因此,优选地是设置与一三角形相对一正三角形的变形有关的3点选择条件,所述三角形具有与每一点均由3个磁数据中相应的一个磁数据的3个分量所代表的3点相对应的顶点。当具有对应于其分量与3个磁数据相对应的3点的顶点的三角形是正三角形时,这3点以规则间隔沿圆周分布。
可根据三角形一些性质来限定所述三角形相对于该正三角形的变形。
例如,3点选择条件可包括三角形内角间的变化在预定范围内的条件。又例如,3点选择条件可包括三角形边长间的变化在预定范围内的条件。还例如,3点选择条件可包括从三角形重心到三角形顶点距离间的变化在预定范围内的条件。
尽管这样的变化参数可完全被数学地定义,但优选地是考虑确定条件所需的计算量或处理时间或者考虑在条件确定过程中所获得计算结果的再使用的可能性来定义此变化。
因此,优选地是3点选择条件包括这样的条件,即如下所表达的3行3列对称矩阵A的中间特征值与该对称矩阵A的最大特征值之比等于或高于预定值:
A = Σ i = 0 2 ( p i - d 3 ) ( p i - d 3 ) T ,
这里pi(i=0,1,2)代表三角形的每个顶点,并且d3代表三角形的重心。
4点选择条件可包括与四面体的变形有关的条件,所述四面体具有与每一点均由4个磁数据中相应的一个磁数据的3个分量所代表的4点相对应的顶点。
对应于4个磁数据的4点限定了球心在对应于最终所获得偏移的点的球面。为了使得被限定的球面逼近球心在对应于校正偏移的点的真实球面,优选地是限定球面的4点均匀分布在球面上的宽广范围中。当限定球面的4点均匀分布在球面上的宽广范围中时,具有对应于这4点的顶点的四面体是正四面体。因此,优选地是设置与一四面体相对于正四面体的变形有关的4点选择条件,所述四面体具有与每一点均由作为候选的4个磁数据中相应的一个磁数据的3个分量所代表的4点相对应的顶点。
可在四面体一些性质的基础上限定所述四面体相对于所述正四面体的变形。
例如,4点选择条件可包括四面体立体角间的变化在预定范围内的条件。又例如,4点选择条件可包括四面体表面面积间的变化在预定范围内的条件。还例如,4点选择条件可包括从四面体重心到四面体顶点距离间的变化在预定范围内的条件。
如上所述,尽管值之间的变化可完全被数学地定义,但优选地是考虑确定条件所需的计算量或处理时间或者考虑在条件确定过程中所获得计算结果的再使用的可能性来定义此变化。
因此,优选地是4点选择条件包括这样的条件,即如下所表达的3行3列对称矩阵B的多个特征值中包括的两组特征值的各特征值之比高于各预定值。可为一组特征值之比设置阈值(预定值)的单个组合。作为另一种选择,可设置阈值的多个组合并且可设置4点选择条件以使得两组特征值的各个比分别高于对应于任何组合的两个阈值。对称矩阵B表示为:
B = Σ i = 0 3 ( p i - d 4 ) ( p i - d 4 ) T ,
这里pi(i=0,1,2,3)代表四面体的每个顶点,并且d4代表四面体的重心。
磁传感器控制设备还可包含用于存储特定数量的输入磁数据的缓冲器。选择装置可从存储在缓冲器内的磁数据中选择与沿特定方向相距最远的两点相对应的两个磁数据作为第一点和第二点,并且再选择还没有被选为第一点或第二点的两个磁数据作为第三点和第四点。
当选择了与沿特定方向相距最远的两点相对应的两个磁数据时,即使与存储在缓冲器内的磁数据相对应的点集中在特定平面上或特定平面的周围,也可比当没有选择与相距最远的两点相对应的磁数据时更精确地获得偏移。
当“a”代表在特定方向上的矢量,“d”代表与存储在缓冲器内特定数量的磁数据相对应的点的重心的位置矢量,并且“q”代表与存储在缓冲器内的样本磁数据相对应点的位置矢量时,选择装置可选择使D=a·(q-d)最大化的磁数据作为第一点而选择使D=a·(q-d)最小化的磁数据作为第二点。
如果以这种方式选择第一点和第二点,那么选择了与沿特定方向相距最远的两点相对应的两个磁数据。
与如下所表达的3行3列对称矩阵C的最小特征值相对应的特征矢量可以是在特定方向上的矢量:
C = Σ q i ∈ Q ( q i - d N ) ( q i - d N ) T ,
这里Q代表一组位置矢量qi,{qi|0≤i≤N-1},且dN代表由位置矢量qi所指示的点的重心的位置矢量。
当与存储在缓冲器内的磁数据相对应的点集中在特定平面上或特定平面的周围时,选择与沿垂直于该平面的方向相距最远的两点相对应的两个磁数据可比当不选择对应于这两点的磁数据时更精确地获得偏移。与对称矩阵C的最小特征值相对应的特征矢量的方向垂直于一平面,在该平面周围集中了与存储在缓冲器内的磁数据相对应的点。
本发明的设备中包括的多个装置中每一装置的功能均由其功能被其结构规定的硬件资源、其功能被程序规定的硬件资源、或这些资源的组合来实现。多个装置中每一装置的功能不必由互相物理地独立的硬件资源实现。本发明不仅可由磁传感器控制设备规定,还可由结合了磁传感器控制设备和3D磁传感器、磁传感器控制方法以及磁传感器控制程序的磁测量仪器规定。
在第二方面,达到本发明目的的磁传感器控制设备包含:输入装置,用来输入从2维(2D)磁传感器顺序输出的具有2个分量的多个磁数据;选择装置,用来从多个输入磁数据中选择满足预定的3点选择条件的3个磁数据;计算装置,用来计算与对应于3个所选磁数据的3点距离相等的中心点;以及设置装置,用来把该中心点设置为磁数据的偏移。
由于从2D磁传感器顺序输出的多个磁数据中选择满足预定的3点选择条件的3个磁数据,并且计算与具有对应于3个所选磁数据的分量的3点距离相等的中心点,因此计算偏移时没有必要使用统计处理,从而可有效地计算偏移。
达到本发明目的的磁传感器控制设备还可包含用于存储多个输入磁数据的缓冲器。当新磁数据存储到缓冲器内时,假如通过用存储在缓冲器内的新磁数据来更新一个数据结构以增加或至少不减小经过3点的圆弧的弦长,在这一个数据结构中存储了与在该圆弧两端的两点之一相对应的磁数据,所述3点与存储在3个数据结构中的3个磁数据相对应,那么选择装置可选择被提供来存储作为候选的3个磁数据的3个数据结构之一,并用存储在缓冲器内的新磁数据更新该所选数据结构。
经过对应于3个磁数据的3点的圆与圆心在对应于最终所获得偏移的点的圆相对应。为使得该圆逼近圆心在对应于校正偏移的点的真实圆,优选地是该圆的面积增加且限定该圆的3点在沿圆周的宽广范围内均匀分布。因此,优选地是经过具有对应于3个磁数据的分量的3点的弦的长度很大。因此,优选地是,当输入新磁数据时,选择要被更新的数据结构以便通过更新该数据结构来增加经过3点的圆弧的弦长,所述3点具有与存储在3个数据结构中的3个磁数据相对应的分量。
当新磁数据被存储在缓冲器内时,选择装置可获得还没有被选择来作为在圆弧两端的两点的磁数据的任何候选的磁数据,并且把所获得的磁数据设置为圆弧中间点的磁数据的候选。
这里,在暂时确定圆弧两端的磁数据之后,把已存储在缓冲器内且没有被选择来作为圆弧任一端的磁数据设置为圆弧中间点的候选,因此减少了计算偏移所需的磁数据的数量。这样就减少了包含2D磁传感器的运动体的操作数量,需要所述2D磁传感器来采集用于计算磁数据偏移的磁数据,并且这样还缩短了计算该偏移所需的时间。
3点选择条件可包括与一三角形相对于正三角形的变形有关的条件,所述三角形其顶点对应于具有与存储在所述数据结构中的3个磁数据相对应的分量的3点。
经过具有对应于3个磁数据的分量的3点的圆与圆心在具有对应于所述偏移的分量的点的圆相对应。为使得该圆逼近圆心在具有对应于校正偏移的分量的准确点的真实圆,优选地是限定该圆的3点以规则间隔沿圆周分布。因此,优选地是设置与一三角形相对于正三角形的变形有关的3点选择条件,所述三角形其顶点对应于具有与3个磁数据相对应的分量的3点。当顶点对应于具有与3个磁数据相对应的分量的3点的三角形是正三角形时,这3点以规则间隔沿圆周分布。
可根据三角形一些性质限定所述三角形相对于该正三角形的变形。
例如,3点选择条件可包括三角形内角间的变化在预定范围内的条件。又例如,3点选择条件可包括三角形边长间的变化在预定范围内的条件。还例如,3点选择条件可包括从三角形重心到三角形顶点距离间的变化在预定范围内的条件。
尽管这样的变化参数可完全被数学地定义,但优选地是考虑确定条件所需的计算量或处理时间或者考虑在条件确定过程中所获得计算结果的再使用的可能性来定义此变化。
因此,优选地是3点选择条件包括这样的条件,即如下所表达的2行2列对称矩阵A的最小特征值与该对称矩阵A的最大特征值之比等于或高于预定值:
A = Σ i = 0 2 ( p i - d 3 ) ( p i - d 3 ) T ,
这里pi(i=0,1,2)代表三角形的各顶点,并且d3代表三角形的重心。
用于确定3点选择条件所需的最小和最大特征值可作为二次方程的根来获得。对比例如当使用三角形内角间的变化、三角形边长间的变化、从三角形重心到顶点距离间的变化等来确定3点选择条件时,这样减少了计算量。例如,标准偏差可被当作所述变化的一个定义。
3点选择条件包括比值被最大化的条件。即,选择装置把3点选择条件顺序应用到对应于输入磁数据的多个组合的多个三角形以找到最能满足3点选择条件的最佳三角形,该仪器还包含通知装置,该通知装置通过产生根据进展状态变化的音乐提示音来通知用户该选择装置操作的进展状态。
通过使用这样的条件,即对称矩阵A的最小特征值与对称矩阵A的最大特征值之比在所述点上被最大化,有可能从对应于存储在缓冲器内的多个输入磁数据的点中选出3个点,这3个点对应于形成具有最大面积及相对于正三角形变形最小的三角形的顶点。
磁传感器控制设备还可包含进展值输出装置,其用来输出比值或根据该比值推导出的进展值,在选择开始之后一直到选择完成,指示满足3点选择条件的3个磁数据的进展状态。
经输出对称矩阵A的最小特征值与对称矩阵A的最大特征值之比或输出指示出根据该比值推导出的进展状态的进展值,磁传感器控制器容许外部系统在选择开始之后一直使用关于该进展状态的信息直到选择完成。
该进展值可以是对应于经过3点的圆弧的圆心角的角度,所述3点具有与存储在3个数据结构中的3个磁数据相对应的分量。
用来达到本发明目的的磁测量仪器包括磁传感器控制设备和2D磁传感器。
用来达到本发明目的的磁测量仪器还可包含通知装置,该通知装置用来通过产生根据进展值或该比值变化的音乐提示音来通知用户该进展状态。
由于磁测量仪器包括用来产生根据进展值或该比值变化的提示音的通知装置,因此在选择开始之后一直到选择完成,用户可从产生的声音得知满足3点选择条件的3个磁数据选择的进展状态。
用来达到本发明目的的磁测量仪器还可包含用来允许用户观察根据进展值或该比值的进展状态的显示装置。
由于磁测量仪器包括用来显示根据进展值或比值的3点选择的进展状态的显示装置,因此在选择开始之后一直到选择完成,用户可观察满足3点选择条件的3个磁数据选择的进展状态。
用来达到本发明目的的偏移设置方法包含步骤:输入从二维(2D)磁传感器顺序输出的具有2个分量的多个磁数据;从多个输入磁数据中选择满足预定的3点选择条件的3个磁数据;计算与3点距离相等的中心点,所述3点每一点均由3个所选磁数据中相应的一个磁数据的2个分量所代表;以及把中心点的分量设置为磁数据的偏移。
由于满足预定的3点选择条件的3个磁数据从由2D磁传感器顺序输出的多个磁数据中选择,并且计算了与对应于3个所选磁数据的3点距离相等的中心点,因此在计算偏移时不需要使用统计处理,从而可有效地计算偏移。
用来达到本发明目的的偏移设置程序使得把计算机起到以下作用:输入装置,用来输入从二维(2D)磁传感器顺序输出的具有2个分量的多个磁数据;选择装置,用来从多个输入磁数据中选择满足预定的3点选择条件的3个磁数据;计算装置,用来计算与对应于3个所选磁数据的3点距离相等的中心点;以及设置装置,用来把中心点设置为磁数据的偏移。
由于满足预定的3点选择条件的3个磁数据从由2D磁传感器顺序输出的多个磁数据中选择,并且计算与对应于3个所选磁数据的3点距离相等的中心点,因此在计算偏移时不需要使用统计处理,从而可有效地计算偏移。
附图说明
图1是本发明的实施例的流程图。
图2A和2B是本发明实施例的示意图。
图3是第一方面的本发明实施例的示意图。
图4是本发明实施例的方框图。
图5是本发明实施例的方框图。
图6是本发明实施例的流程图。
图7是本发明实施例的示意图。
图8A、8B和8C是本发明实施例的示意图。
图9是本发明实施例的示意图。
图10是本发明实施例的示意图。
图11是本发明实施例的示意图。
图12是本发明实施例的示意图。
图13是本发明实施例的流程图。
图14是本发明实施例的流程图。
图15是第二方面的本发明实施例的示意图。
图16是本发明实施例的方框图。
图17A、17B、17C是本发明实施例的示意图。
图18是本发明实施例的示意图。
图19是本发明实施例的示意图。
图20是本发明实施例的关联图。
图21是本发明实施例的流程图。
具体实施方式
本说明书分成两个部分。第一部分描述与3D磁传感器系统相关的本发明第一方面。第二部分描述与2D磁传感器系统相关的本发明第二方面。本发明的第一方面在下文中将以如下顺序描述。
A.第一实施例
[1.综述]
1-1.基本原理
1-2.硬件结构
1-3.软件结构
[2.过程]
2-1.缓冲器更新
2-2.第一点的候选的暂时确定
2-3.第二点的候选的暂时确定
2-4.到第三点的选择
·3点更新
·3点选择条件
·选择验证
·3点复位
2-5.第四点选择
·综述
·4点选择条件
·方位球计算
·方位球验证
·偏移设置
B.第二实施例
[1.综述]
1-1.基本原理
首先,描述第一实施例的基本原理。
本实施例设置偏移来对在运动体中提供的3D磁传感器的输出中所包括的运动体磁化分量求反。为获得此偏移,本实施例以在矢量空间中的一组若干点来规定近似于3D表面的球面,所述点具有对应于从3D磁传感器输出的磁数据的分量。此球面将被称作方位球的球面。规定了方位球的球心点的坐标分量对应于偏移,并且方位球的半径对应于磁场强度。由于在3D磁传感器的输出中存在固有测量误差,因此即使运动体在恒定磁场中旋转,由对应于磁数据3个分量的坐标分量所代表的一组点也并不构成真实球面。在本实施例中,选择了每一点均由磁数据中相应的一个磁数据的3个分量所代表的4个点,并且从该4点获得了经过该4个所选点的球面的球心点和半径,并把所获得球面的球心设置为偏移。当使用此方法来减小3D磁传感器的固有测量误差引起的偏移中所包括的误差时,选择具有与包括固有测量误差的4个磁数据相对应的分量的4点十分重要,以使得该4个所选点在经过该4点的球面上的宽广范围内均匀分布。为更好地理解,参考2D磁传感器而非3D磁传感器给出补充说明。
图2A和2B示出经过3点的方位圆(以实线示出)与真实方位圆(以虚线示出)之间的关系,所述3点具有与从2D磁传感器输出的磁数据相对应的分量,所述真实方位圆是一组具有与无测量误差理想2D磁传感器的磁数据相对应的分量的无限多点。当具有与2D磁传感器磁数据相对应的分量的3点分布在沿经过该3点的圆的圆周的狭窄范围内时,已从该3点获得的方位圆的圆心(x)与要被获得的理想2D磁传感器真实方位圆的圆心(+)之间的距离如图2A中所示很大。另一方面,当具有与2D磁传感器磁数据相对应的分量的3点分布在沿经过该3点的圆的圆周的宽广范围内时,已从该3点获得的方位圆的圆心(x)与要被获得的理想2D磁传感器真实方位圆的圆心(+)之间的距离如图2B中所示很小。当具有与2D磁传感器磁数据相对应的分量的3点以规则间隔沿经过该3点的圆的圆周分布时,即,当具有对应于该3点的顶点的三角形是正三角形时,偏移误差可被最小化。
在3D磁传感器情况下,当顶点对应于被选择来获得方位球的4点的四面体是正四面体时,偏移误差可被最小化。因此,本实施例选择具有对应于磁数据的分量的4点以使得顶点对应于该4点的四面体相对于正四面体的变形小于特定阈值。
这里,我们把本实施例的方法(在本实施例的方法中预先选择4点,获得经过该4个所选点的球面,并且从该球面获得偏移)与一种方法(在这种方法中使用统计法获得与经过5个或更多点的3D表面近似的球面,并且从该球面获得偏移)相比较。在使用统计法的方法中,如果具有对应于磁数据的分量的点分布不均匀,或者如果在统计学群体中包括特殊磁数据,则从这些点获得的方位球的球心显著偏离真实方位球的球心。因此,为减小使用统计法的偏移误差,有必要验证用来使用统计法获得方位球的统计学群体的变化或选择统计学群体。在本实施例的方法中,如果可选择4个适当的点,则可在不使用需要大量计算的统计法的情况下获得精度不小于通过使用统计法的方法获得偏移精度的偏移。
1-2.硬件结构
图3是移动电话3的外观的示意图,该移动电话3是应用本发明的运动体的一个实例。移动电话3包括三维(3D)磁传感器4。该3D磁传感器4经检测三个正交方向(x,y,z)上磁场的矢量分量来检测磁场的方向和强度。移动电话3的显示器2显示各种字符或图像信息。例如,显示器2显示地图和代表方向(方位角)的箭头或字符。
图4是磁测量仪器的方框图,该磁测量仪器包括应用本发明的3D磁传感器4和磁传感器控制设备1。3D磁传感器4包括x、y和z轴传感器30、32和34,所述x、y和z轴传感器30、32和34在多种运动体中被提供来检测地磁引起的磁场矢量的x、y和z方向分量。x、y和z轴传感器30、32和34每一个均包括磁阻元件、霍尔传感器等,假若具有方向性则可以是任何类型的一维磁传感器。x、y和z轴传感器30、32和34被固定以使得它们的敏感方向互相垂直。x、y和z轴传感器30、32和34的输出是时分的并且被输入到磁传感器接口(I/F)22。磁传感器接口22在把来自x、y和z轴传感器30、32和34的输入放大后进行模数转换。从磁传感器接口22输出的数字磁数据通过总线5被输入到磁传感器控制设备1。
磁传感器控制设备1是包括CPU 40CPU 40、ROM 42和RAM 44的计算机。CPU 40控制运动体诸如移动电话3的整体操作。ROM 42是非易失性存储介质,其存储磁传感器控制程序或用来实行由CPU 40执行的运动体功能的各种程序(例如,导航程序)。RAM 44是易失性存储介质,其用来暂时存储要被CPU 40处理的数据。磁传感器控制设备1和3D磁传感器4可构成单片磁测量仪器。
1-3.软件结构
图5是磁传感器控制程序90的方框图。磁传感器控制程序90被存储在ROM 42中来为导航程序98提供方位数据。方位数据是代表地磁场方位的2D矢量数据。该方位数据可作为3D矢量数据提供给导航程序98。当CPU 40执行磁传感器控制程序90时,CPU 40、RAM 44和ROM 42的组合作为磁传感器控制设备起作用。磁传感器控制程序90被构成为一组模块,诸如缓冲器管理模块92、偏移设置模块94和方位计算模块96。
缓冲器管理模块92是为了在偏移计算中使用磁数据而把从磁传感器4顺序输入的多个磁数据存入缓冲器中的程序部分。缓冲器管理模块92使得CPU 40作为输入装置起作用。从磁传感器4顺序输入的磁数据可顺序地被选择,并且未选上的磁数据可被丢弃。然而,如果第n点选择条件(n=2,3)与第n+k点选择条件(k=1,2)不同,那么即使磁数据没有被选作第n点,它也可被选作第n+k点。因此,由缓冲器管理器模块92管理的缓冲器不仅被用来缓冲输入与处理次数之间差异,还用来使得没有被一次选上的磁数据再被用作候选。该缓冲器不但能以硬件实现还能以软件实现。
偏移设置模块94是用来从由缓冲器管理器模块92保存的磁数据中选择4个磁数据以及从这4个所选磁数据计算偏移并随后设置已计算出的偏移的程序部分。偏移设置模块94使得CPU 40作为选择装置、计算装置和设置装置起作用。
方位计算模块96是用来既使用从磁传感器4顺序输入的磁数据又使用已设置的偏移来产生方位数据的程序部分。具体来说,方位计算模块96输出作为方位数据的3个分量的全部或其中2个,所述3个分量由从磁数据(3D矢量数据)的分量减去偏移数据的分量获得。
导航程序98是搜索到达目的地的路径并将该路径显示在地图上的已知程序。由于容易辨认地图,因此显示地图来使得地图的方位与现实世界的方位一致。因此,例如,当移动电话3旋转时,显示器2上显示的地图相对于显示器2旋转,从而该地图相对于大地没有旋转。方位数据用于在该地图中的显示处理。当然,方位数据可以仅仅被用来由字符或箭头显示东南西北。
[过程]
2-1.缓冲器更新
图6是缓冲器更新过程的流程图。当已经发出偏移更新请求时,CPU 40经执行缓冲器管理器模块92来执行图6的过程。
在步骤S100,存储了用于偏移计算的多个磁数据的缓冲器被初始化。例如,存储在RAM 44的缓冲区中的数据被删除。
在步骤S102,CPU 40一直等待到新磁数据从磁传感器4输入。
当新磁数据从磁传感器4输入时,CPU 40确定是否有必要更新缓冲器(S104)。当多个磁数据从磁传感器4顺序输入而移动电话3几乎没有移动时,在具有与两个顺序输入的磁数据相对应的分量的两点之间的距离很小。在用来获得偏移所必需的4点中包括相互邻近的两点是不优选的。另外,在容量有限的缓冲器中存储对应于临近点分量的多个磁数据浪费了存储资源并引起不必要的缓冲器更新处理。在以下方式中,确定是否有必要更新缓冲器。例如,如果在具有对应于最后输入磁数据的分量的点与具有对应于紧接在该最后输入磁数据之前的磁数据的分量的点之间的距离小于给定阈值,那么确定没有必要更新缓冲器,并且最后输入磁数据被丢弃而不存储在缓冲器中。否则,确定有必要更新缓冲器。因此,例如当以如图7所示顺序输入多个磁数据时,以实心圆示出的磁数据不被存入缓冲器而以空心圆示出的磁数据被存入缓冲器。在图7中,多个磁数据被输入的顺序由指定给空心圆及实心圆的数字代表。
如果在上述确定条件(或准则)之外还根据以下条件实行缓冲器更新必要性的确定,那么有可能增加校准成功的可能性。令“q0,q1,…qNqmax-1”为存储在缓冲器中的Nqmax数据元素的数据序列,并且令“Q”为集合{qi|0≤i≤Nqmax-1}。
附加更新条件:
对于给定阈值qmin,仅当具有对应于磁数据的分量的点q对每个i满足“||q-qi||2>qmin”时,最后磁数据才被存储以更新缓冲器,这里“i<Nqmax-1”。||q-qi||2指示点q与qi之间的距离。
校准失败表示,在发出偏移更新请求来开始存储磁数据之后,不能从已存储的磁数据确定偏移,导致丢弃直到那时存储的所有磁数据。
如果确定有必要更新缓冲器,则缓冲器被更新(S106)。用于该更新的算法,例如是先入先出(FIFO)算法。
2-2.第一点的候选的暂时确定
图1是偏移设置处理的流程图。当发出偏移更新请求时,CPU 40通过执行偏移设置模块94来执行图1的处理。当通过执行偏移设置模块94来执行下面描述的过程时,使用缓冲器管理模块92的过程在多任务环境中被并行执行。
在步骤S200,执行初始化来丢弃所有候选。具体来说,复位用来存储偏移设置模块94宣布的候选的四个数据结构p0、p1、p2和p3,并且缓冲器也被初始化了。如随后即将描述,多个磁数据作为候选被存入数据结构p0、p1、p2和p3中,直到第4点被选择并且设置偏移。数据结构p0、p1、p2和p3的每一个均是用来存储磁数据3个分量的3个变量的序列。
在步骤S202,CPU 40等待上面描述的缓冲器更新。
一旦缓冲器被更新,第一点的候选就被暂时确定(S204)。具体来说,在缓冲器初始化(S200)之后输入的第一磁数据被确定为第一点的候选。第一点的候选存储在数据结构p0中。由于有可能将更新用来存储第一点的候选的数据结构p0,如随后所描述,因此在此过程中第一点的候选只是暂时确定的一个。
2-3.第二点的候选的暂时确定
在步骤S206,CPU 40一直等待到缓冲器被再次更新。
一旦缓冲器被再次更新,第二点的候选就被暂时确定。具体来说,在缓冲器初始化(S200)之后输入的第二磁数据被确定为第二点的候选。第二点的候选存储在数据结构p1中。由于有可能将更新用来存储第二点的候选的数据结构p1,如随后所描述,因此在此过程中第二点的候选也只是暂时确定的一个。
2-4.到第三点的选择
·3点更新
在步骤S210,复位计数器被复位。复位计数器设置来累计到预定计数数目。此复位计数器用来防止出现这样的问题,即在暂时确定第二点的候选之后,在没有确定第三点的候选的情况下可能永远无法完成偏移计算。具体来说,即使紧接在第二点的候选的暂时确定之后移动电话3所处磁场已经迅速改变,但如果到第二点的候选没有被更新,那么还是有可能不会确定第三点的候选。这是因为,如果尽管还没有确定第三点的候选但磁场强度迅速变化,那么只有当经过3个候选点的圆的大小在预定范围内收敛并且具有对应于该3个候选点的三个顶点的三角形满足特定条件时,才能满足下面描述的条件。
在步骤S212和S214,如果输入新磁数据,则复位计数增加。这是对磁数据的数量计数,在步骤S208第二点候选被最初暂时确定之后输入所述磁数据。
在步骤S216,CPU 40一直等待到缓冲器被再次更新。
当缓冲器被再次更新时,为了存储作为根据3点选择条件所选的候选的磁数据,在步骤S218确定当前存储的第一到第三点候选的哪一个要被磁数据更新,所述磁数据已最后输入并且最后存储在缓冲器中(如果根据3点选择条件的选择还没有执行,那么尽管当前存储了仅仅到第二点的候选,也还要执行相同的过程)。即,确定数据结构p0、p1和p2的哪一个将存储已最后输入并最后存储的磁数据。这是因为数据结构p0、p1和p2被不同地限定如下。
具有与存储在数据结构p0、p1和p2中的磁数据相对应的分量的3点假如不在同一直线上,则唯一确定经过这3点的一段圆弧。数据结构p0和p1被定义为存储与在该圆弧两端的点的分量相对应的磁数据的数据结构。数据结构p2被定义为存储与该圆弧的中间点的分量相对应的磁数据的数据结构。因此,为了存储到第三点的候选一直到第三点被选择,有必要确定数据结构p0、p1和p2中的哪一个要被用来存储已最后输入并且最后存储在缓冲器中的磁数据。
下面是为何按上面所描述来定义数据结构p0、p1和p2的原因。3个候选点位于经过4个候选点的方位球的球面上。如上面所描述,用来获得方位球的4个点在经过这4点的球面上的宽广范围内分布越均匀,则偏移所具有的误差越小。因此,当经过3个候选点的圆弧的弦长增加时偏移误差减小,直到该弦长达到一定长度,并且如果该弦长太小则误差很大。因此,优选地是,每次磁数据被存储在缓冲器中时到第三点的候选被更新,从而经过3个候选点的圆弧的弦长增加,直到达到一定长度。
图8A到8C是说明更新3个候选点的示意图。这里,假设如图8B所示的磁数据已被存储在数据结构p0、p1和p2中。图8中所示数字1、4、5和6被指定来管理在缓冲器中的存储顺序。具体来说,在缓冲器中管理的多个磁数据以数字递增顺序已被存储在相应的数据结构中。令磁数据1、磁数据4、磁数据5和磁数据6为以这些数字管理的多个磁数据。随后,经过3个候选点的圆弧的弦是连接具有对应于磁数据1的分量的点和具有对应于磁数据5的分量的另一点的线段(以虚线示出)。假设磁数据6随后存储在缓冲器中。这里,根据数据结构p0、p1和p2的定义计算经过具有3个磁数据分量的3点的圆弧的弦长,作为在具有与存储在数据结构p0中的磁数据相对应的分量的点与具有存储在数据结构p1中的磁数据相对应的分量的点之间的距离。因此,如果具有对应于磁数据6的分量的点具有如图8A所示与具有对应于磁数据1、4和5的分量的3点的位置关系,那么只有更新存储在数据结构p0中的候选才能获得该圆弧弦长增加的计算结果。另外,如果磁数据6具有不增加该圆弧弦长的值,那么除非更新存储在数据结构p2中的候选,否则计算结果是该圆弧的弦长减小,并且因此有必要更新存储在数据结构p2中的候选。
以下面的方式推导出一个条件,即,每次执行更新时经过具有对应于3个磁数据的分量的3点的圆弧的弦被更有效地拉长并且至少不被缩短。这里,令q为最后存储在缓冲器中的磁数据。令p0、p1和p2为存储在数据结构中的磁数据。在图9中,具有对应于q、p0、p1和p2的分量的点以实心圆示出,经过这4点的方位球以实线示出,并且垂直于经过p0和p1的线段p0p1的两个面S0和S1以虚线示出。具有对应于磁数据q的分量的点的范围,包括夹在面S0和S1之间且被线段p0p1穿过的空间之外的点,所述磁数据q使经过3个候选点的圆弧的弦长增加。在此范围内,不等式(3)和(4)成立。
(q-p1)·(p1-p0)>0…(3)
(q-p0)·(p1-p0)<0…(4)
当不等式(3)成立时,以p1更新p2并且以q更新p1可拉长该弦。当不等式(4)成立时,以p0更新p2并且以q更新p0可拉长该弦。当不等式(3)和(4)的任何一个不成立时,即使以q更新p2弦也不会被拉长。
在步骤S220,已确定要被如上面所描述来更新的候选以存储在缓冲器中的最后磁数据更新。因此,例如,其中磁数据按图8B所示被存储的数据结构p0、p1和p2被更新为如图8C所示。这里,经过已成为候选的这3点的圆被与包括该圆的平面相交的平面内所包括的新圆更新。此过程趋向增加经过已成为候选的这3点的圆的面积。
·3点选择条件
在步骤S222,确定对应于3个候选的磁数据是否满足3点选择条件的一个。该3点选择条件根据两个观点导出。第一个观点是,具有与作为候选的磁数据相对应分量的3点是否在经过这3点的圆的圆周上充分扩展开,即,具有对应于这3点的顶点的三角形是否接近于正三角形。因此,当根据第一个观点执行选择时,计算具有对应于这3点的顶点的三角形相对于正三角形的变形,所述3点具有与作为候选的磁数据相对应的分量。第二个观点是,经过3点的圆的面积是否足够大,所述3点具有与作为候选的磁数据相对应的分量。当经过3点的圆的面积很小时,这3点分布在经过这3点的方位球的球面上狭窄范围内,并且已经测量除开那些用来计算校正偏移的磁场以外的磁场。同样,当经过这3点的圆的面积太大时,已经测量除开那些用来计算校正偏移的磁场以外的磁场。因此,当从第二个观点执行选择时,计算经过3点的圆的半径,所述3点具有与作为候选的磁数据相对应的分量。在随后的描述中,用来根据第一个观点确定是否选择该候选的条件还被称作3点选择条件,并且根据第二个观点确定是否选择该候选还被称作3点选择验证。
首先,给出在步骤S222使用的根据第一个观点得出的3点选择条件的描述。在此实施例中,从3行3列对称矩阵的特征值估计具有对应于3点的顶点的三角形相对于正三角形的变形,所述3点具有与作为候选的磁数据相对应的分量,所述对称矩阵使用如图10所示从该三角形重心d3开始到三角形顶点结束的矢量的和来表示。该三角形重心d3从方程(5)获得。
d 3 = 1 3 ( p 0 + p 1 + p 2 ) . . . ( 5 )
根据第一个观点得出的3点选择条件是由方程(6)定义的对称矩阵A的特征值λA1、λA2和λA3的中间特征值λA2与最大特征值λA1之比等于或大于预定阈值E0
A = Σ i = 0 2 ( p i - d 3 ) ( p i - d 3 ) T . . . ( 6 )
在本说明书中,任何矢量符号通常代表列矢量,并且带尾标“T”的矢量符号代表转置矢量(即行矢量)。
方程(6)也可写成使用pi=(pix,piy,piz)、d3=(d3x,d3y,d3z)的方程(7)。
A = a 11 a 12 a 13 a 12 a 22 a 23 a 13 a 23 a 33 . . . ( 7 )
此矩阵A的元以下面的方程表达。
a 11 = Σ i = 0 2 ( p ix - d 3 x ) 2 . . . ( 8 )
a 12 = Σ i = 0 2 ( p ix - d 3 x ) ( p iy - d 3 y ) . . . ( 9 )
a 13 = Σ i = 0 2 ( p ix - d 3 x ) ( p iz - d 3 z ) . . . ( 10 )
a 22 = Σ i = 0 2 ( p iy - d 3 y ) 2 . . . ( 11 )
a 23 = Σ i = 0 2 ( p iy - d 3 y ) ( p iz - d 3 z ) . . . ( 12 )
a 33 = Σ i = 0 2 ( p iz - d 3 z ) 2 . . . ( 13 )
按对称矩阵A的定义,所有特征值为非负实数。当不考虑计算误差时最小特征值λA3是0。根据第一个观点得出的3点选择条件是对于如上面所描述的阈值E0,由方程(14)定义的估计EA满足EA≥E0
E A = λ A 2 λ A 1 . . . ( 14 )
根据三角形内角之间的变化、三角形边长之间的变化、从三角形重心到顶点距离之间的变化等来定义具有对应于这3点的顶点的三角形相对于正三角形的变形,所述3点具有与作为候选的磁数据相对应的分量。这些变化可由使用如上面描述的对称矩阵A的特征值所表达的估计EA来定义。因此,根据第一个观点得出的3点选择条件可被称作“三角形条件”,所述“三角形条件”中,具有对应于这3点的顶点的三角形内角之间的变化、三角形边长之间的变化或从三角形重心到顶点距离之间的变化是在预定范围内,所述3点具有与作为候选的磁数据相对应的分量。
如果不满足根据第一个观点得出的3点选择条件,那么确定复位计数器是否已经计数完全(S224)。如果复位计数器还没有计数完全,则CPU 40返回步骤S216重复上面描述的过程。具体来说,CPU 40重复用存储在缓冲器中作为新候选的最后磁数据来更新数据结构p0、p1和p2的过程。如果复位计数器已经计数完全,由于一些原因,诸如紧接在第二点的候选的暂时确定之后移动电话3所处磁场已经迅速改变而使到第三点的选择可能根本没有完成,则CPU 40返回步骤S200对所有数据结构p0、p1和p2和缓冲器复位。
·选择验证
如果满足根据第一个观点得出的3点选择条件,则从第二个观点出发验证从第一个观点选择的磁数据(S226)。在此过程中,如上面所述来计算经过3点的圆的半径,所述3点具有与作为候选的磁数据相对应的分量。尽管有各种已知方法计算此半径,但本实施例采用这样的方法,即为减少计算总量并增加处理速度,使用对称矩阵A的特征矢量。当采用此方法以及雅可比法来计算对称矩阵A的特征值时减少了计算总量。下面是选择验证方法的详细描述。
如果在以对应于矩阵A的特征矢量为基础的坐标系中重写p0、p1和p2,那么每个点的属于最小特征值λA3的特征矢量lA3的分量具有恒定值。因此,如果在只考虑最大特征值λA1的特征矢量lA1的分量和中间特征值λA2的特征矢量lA2的分量时这些点被当作在2D空间上的3个点,所述分量已经全部归一化为1,则可使用联立线性方程获得圆方程。下面进一步详细描述。
首先,由方程(15)定义矩阵L。在使用雅可比法计算对称矩阵A的上述特征值的过程中获得矩阵L。
L=[lA1 lA2 lA3]...(15)
对每个点pi(0≤i≤2)应用方程(16)的线性变换,这里变换后的点p’i的第三个分量被丢弃并且只使用变换后的点p’i的第一个和第二个分量。
p’i=LTpi...(16)
因此,推导出方程(17)。由于方程(17)右边第三项可丢弃,从而获得经过在2D空间内三点p”0=(p’01,p’02)、p”1=(p’11,p’12)和p”2=(p’21,p’22)的圆。
p’i=p’i1lA1+p’i2lA2+p’i3lA3...(17)
当该圆的圆心点以c”3=(c’31,c’32)表达时,用来获得该圆心点的联立线性方程以方程(18)表达。
p , 01 p , 02 1 p , 11 p , 12 1 p , 21 p , 22 1 c , 31 c , 32 c , 3 r = 1 2 p , 01 2 + p , 02 2 p , 11 2 + p , 12 2 p , 21 2 + p , 22 2 . . . ( 18 )
虽然后面不需要用到值c’3r,但添加该值来建立三个线性联立方程。最后,半径r3被确定为由方程(19)计算的c’3与p’0之间的欧几里德距离。
r3=||c’3-p’0||2...(19)
如果已按上面描述获得的经过所述3点的圆的半径在值rmin到rmax的范围内,所述3点具有与满足3点选择条件的3个磁数据相对应的分量,则确定此三点选择的验证成功。否则,确定此三点选择的验证不成功,并且CPU 40返回步骤S200对缓冲器和数据结构p0、p1和p2复位。
2-5.第4点的选择
·综述
在通过上面的过程选择第3点时,选择在最终获得的方位球的充分大截断面圆周上充分扩展开的3个点。使用具有与没有处在包括所述3点的平面上的点相对应的分量的磁数据可获得经过这4点的球面的方程。然而,随机选择第4点不会减小偏移误差。因此,为减小偏移误差,本实施例执行从第4点的多个候选中选择最优第4点。具体来说,使用作为第4点候选的存储在缓冲器中的所有磁数据来执行该选择。如果在缓冲器中还留有空白,则直到所有空白充满数据时才不执行第4点选择(S228)。在选择第4点的过程中,还没有确定为直到第3点的任何候选的磁数据可顺序地被选择为第4点的候选,如图11所示。此磁数据包括虽被暂时确定为候选但已被丢弃的磁数据。在图11中,指定给磁数据用来管理磁数据被输入到缓冲器中的顺序的标志符以数字0到Nqmax-1被示出。如图11所描述,数字越小,在数据结构中的磁数据越早被输入到缓冲器中。
·4点选择条件
在步骤S230,以下面的方式选择第4点。存储在缓冲器中的所有磁数据一个接一个地与具有与已被选择的3点相对应的分量的磁数据结合。随后对每次的4个磁数据顺序确定该4个磁数据是否满足4点选择条件。来自存储在缓冲器中的满足4点选择条件的多个磁数据中具有最高估计的磁数据,被选作第4点磁数据。用来选择第4点的4点选择条件可被称作“四面体”条件,这样具有与作为候选磁数据相对应的分量的4点在经过该4点的球面上充分扩展开,即在图12中所示的四面体,具有对应于4点的顶点的四面体接近于正四面体。因此计算具有对应于该4点的顶点的四面体相对于正四面体的变形,所述4点具有对应于作为候选的磁数据的分量。可根据四面体立体角之间的变化、四面体表面积之间的变化、从四面体重心到顶点的距离之间的变化等来定义该四面体相对于正四面体的变形。从3行3列对称矩阵的特征值可估计这些变化,所述对称矩阵用从该四面体重心d4开始到顶点结束的矢量的和来表达。四面体重心d4通过方程(20)获得。
d 4 = 1 4 ( p 0 + p 1 + p 2 + p 3 ) . . . ( 20 )
对称矩阵B被定义如下。
B = Σ i = 0 3 ( p i - d 4 ) ( p i - d 4 ) T . . . ( 21 )
这里pi(i=0,1,2,3)代表四面体的每个顶点,并且d4代表四面体的重心。
随着对称矩阵B的最小特征值λB1与最大特征值λB3之比增加,该四面体相对于正四面体的变形减小,即,所有在四面体立体角之间的变化、在四面体表面积之间的变化和从四面体重心到顶点的距离之间的变化都减小。因此,4点选择条件是由方程(22)获得的EB1被最大化。
E B 1 = λ B 3 λ B 1 . . . ( 22 )
对存储在缓冲器中的每一个磁数据计算EB1。当确定EB1的最大值时,使EB1最大化的第4点的磁数据作为最终候选存储在数据结构p3中。对于数据结构p0、p1、p2和p3,其中存储被确定为到第4点的最终候选的磁数据,由方程(23)获得另一估计EB2
E B 2 = λ B 3 λ B 2 . . . ( 23 )
λB2代表对称矩阵B的中间特征值。当对预定阈值E2和E3不等式(24)不被满足时,会有在获得球面方程时出现很大误差的风险,因此CPU 40返回步骤S200对所有数据结构p0、p1、p2和p3以及缓冲器复位。当不等式(24)被满足时,最终选择第4点的候选。
E B 1 > E 2 E B 2 > E 3 . . . ( 24 )
不是使用这2个阈值的单个组合来执行第4点选择,而是可设置二阈值的多于一个的组合使得当对每一个i不等式(25)不满足时对所有数据结构p0、p1、p2和p3以及缓冲器复位。这样对于减少校准失败更有效。
E B 1 > E 2 i E B 2 > E 3 i ( i = 0,1 , . . . ) . . . ( 25 )
·计算方位球
当通过上面的过程已经选择直到第4点的磁数据时,即,当确定了p0、p1、p2和p3时,获得方位球的球心点和半径(S232)。方位球的球心点“c4=(c4x,c4y,c4z)”由下面的方程获得。尽管前文没有使用值c4r,该值仍被添加来建立4个线性联立方程。
p 0 x p 0 y p 0 z 1 p 1 x p 1 y p 1 z 1 p 2 x p 2 y p 2 z 1 p 3 x p 3 y p 3 z 1 c 4 x c 4 y c 4 z c 4 r = 1 2 p 0 x 2 + p 0 y 2 + p 0 z 2 p 1 x 2 + p 1 y 2 + p 1 z 2 p 2 x 2 + p 2 y 2 + p 2 z 2 p 3 x 2 + p 3 y 2 + p 3 z 2 . . . ( 26 )
方位球半径r被确定为由方程(27)计算的c4与p0之间的欧几里德距离。
r4=||c4-p0||2...(27)
·验证方位球
在步骤S234,验证已计算方位球的恰当性。当方位球半径不在预定范围内时,不取已计算方位球的球心点为偏移且CPU 40返回步骤S200对所有数据结构p0、p1、p2和p3以及缓冲器复位。
在本实施例中,不仅使用4个所选磁数据还使用存储在缓冲器中的所有或部分磁数据来验证方位球的恰当性。尽管在减少偏移误差的变化上一定程度有效,但该验证并非是不可或缺的过程。在该验证中,估计S由方程(28)获得。如果对预定阈值St有S>St,那么不取已计算方位球的球心点为偏移且CPU 40返回步骤S200对所有数据结构p0、p1、p2和p3以及缓冲器复位。否则,球心点以下面的方式被设置为偏移。
S = 1 N q max 1 r 2 Σ q i ∈ Q { | | q i - c 4 | | 2 - r } 2 . . . ( 28 )
·偏移设置
如果已计算方位球是真实的,则在步骤S236设置该球心点为偏移。具体来说,已计算方位球球心点的分量被设置为偏移的分量。
B.第二实施例
当输入到磁传感器控制设备的磁数据被选择并存储在缓冲器中时,第一实施例着重于具有与存储在缓冲器中的磁数据q0、q1、...qNqmax-1相对应的点之间的距离。然而,在第一实施例中,使用改变运动体方向的方法来选择第3点和第4点可能会失败,因此确定偏移失败。另外,第一实施例没有排除磁数据对应于只有二维分布的点的可能性,即,在缓冲器中仅仅存储离特定平面距离很小的点。从对应于二维分布点的磁数据获得的偏移更容易具有相对真实偏移很大的误差。为了即使在缓冲器中仅仅存储与离特定平面距离很小的点相对应的磁数据,也能计算误差相对真实偏移很小的偏移,本发明第二实施例不是使用改变运动体的方法,而是如下面描述的改变选择开始两点的方法。
图13是根据本发明第二实施例的偏移设置过程的流程图。当发出偏移设置请求时,CPU 40经执行缓冲器设置模块94来执行图13的过程。另外,以与第一实施例相同的方式,当下面描述的过程经执行偏移设置模块94来执行时,使用缓冲器管理模块92的过程在多任务环境中被并行执行。
在步骤S300,执行初始化来丢弃所有候选。具体来说,复位用来存储候选的四个数据结构p0、p1、p2和p3,其由偏移设置模块94宣布,并且缓冲器也被初始化。
在步骤S302,CPU 40一直等待到缓冲器被更新。
缓冲器一旦被更新,就确定在缓冲器中是否有空白,即,存储在缓冲器中的数据数量是否是预定数Nqmax(S304)。重复步骤S302和S304直到存储在缓冲器中的数据数量达到预定数Nqmax。以这种方式,本实施例直到缓冲器中存储了Nqmax个磁数据时才选择磁数据。
缓冲器中一旦存储了Nqmax个磁数据时,第一点和第二点的磁数据就被选择(S306)。存储在缓冲器中的Nqmax个磁数据的数据序列以“q0,q1,...qNqmax-1”代表,且集合{qi|0≤i≤Nqmax-1}以“Q”代表,并且具有对应于磁数据“q0,q1,...qNqmax-1”的分量的点作为数据点“q0,q1,...qNqmax-1”被引用。以与第一实施例相同的方式存储磁数据以使得集合Q不是多重集合。
为从集中在特定平面上或者特定平面周围的点集Q获得高精度偏移,需要选择与沿特定方向相距最远的两点相对应的磁数据。最合理的是选择沿垂直于与集合Q的点分布相接近的平面方向相距最远的两点。然而,平均来说选择沿随意确定的方向相距最远的两点也十分有效。下面是详细的选择方法。
令p0为一个数据点qi,其使得具有特定方向和幅值的矢量“a”和从数据点q0,q1,...qNqmax-1的重心dN开始且以每个数据点为结束的矢量的内积D最大,并且令p1为一个数据点qi,其使得所述内积D最小。数据点q0,q1,...qNqmax-1的重心dN由方程(29)获得。矢量“a”和从数据点q0,q1,...qNqmax-1的重心dN开始且以数据点qi为结束的矢量的内积D由方程(30)获得。
d N = 1 N q max Σ q i ∈ Q q i . . . ( 29 )
Di=a·(qi-dN)...(30)
由依次以集合Q的元素代入方程(30)中的qi来获得Di,并且使Di最大化的数据点qi被设为p0,而使Di最小化的数据点qi被设为p1,从而选出使从两个数据点垂直落到平行于矢量“a”的直线的垂足之间距离最大化的两个数据点。在本实施例中,只有集合Q被破坏时两个所选数据点才被其它数据点代替。即,在本实施例中设置了以一定包括这两个所选磁数据的4个磁数据为基础来计算的偏移。这使得即使在缓冲器中存储与离特定平面距离很小的点相对应的磁数据,也可计算相对于真实偏移的误差很小的偏移。
然而,当集合Q的点集中在特定平面上或者特定平面的周围时,存储在缓冲器中的所有磁数据会被破坏并且随后在缓冲器中会再次存储集合Q。以下面的方式确定集合Q的点是否集中在特定平面上或者特定平面的周围。
当集合Q的数据点q0,q1,...qNqmax-1集中在特定平面上或特定平面周围时,矩阵C的最小特征值λC3与最大特征值λC1之比λC3C1很小,所述矩阵C以使用数据点q0,q1,...qNqmax-1的重心dN的方程(31)来表达。当集合Q的点完全集中在特定平面上时,比值λC3C1为0。因此,把比值λC3C1与预定值相比较,且如果比值λC3C1小于预定值,则确定集合Q的点集中在特定平面上或特定平面周围。
C = Σ q i ∈ Q ( q i - d N ) ( q i - d N ) T . . . ( 31 )
当集合Q的点集中在特定平面上或特定平面周围时,如上面所描述,最合理的是选择沿垂直于该平面方向相距最远的两点。当集合Q的点完全集中在特定平面上时,矩阵C的属于最小特征值λC3的特征矢量与该平面的法向矢量相同。同样,当集合Q的点集中在特定平面上或特定平面周围时,矩阵C的最小特征值λC3的特征矢量几乎与该平面的法向矢量相同。因此,优选地是具有特定方向和幅值的上述矢量“a”应为矩阵C的最小特征值λC3的特征矢量。
在步骤S308选择第3点。具体来说,在上面第一实施例的步骤S222描述的估计EA在这样的假设下计算,即在集合Q的元素之中还没有所选为p0和p1任一个的数据点qi为p2,且使估计EA最大化的数据点qi随后被选作p2。随后,根据第一实施例的步骤S226所描述的第二个观点可验证p0、p1和p2,并且如果验证失败,则CPU 40返回步骤S300复位缓冲器。
在步骤S310,以与第一实施例的步骤S230相同的方式选择第4点。
在步骤S312,以与第一实施例的步骤S232相同的方式计算方位球。
在步骤S314,以与第一实施例的步骤S234相同的方式验证方位球。
在步骤S316,以与第一实施例的步骤S236相同的方式设置偏移。
现在将以下面的顺序在下文中描述本发明的第二方面。
A.第一实施例
[1.综述]
1-1.基本原理
1-2.硬件结构
1-3.软件结构
[2.过程]
2-1.缓冲器更新
2-2.第一点的候选的暂时确定
2-3.第二点的候选的暂时确定
2-4.三点的暂时确定
·3点更新
·3点选择条件
·选择验证
·偏移设置
B.第二实施例
[1.综述]
1-1.基本原理
首先,描述第一实施例的基本原理。
本实施例设置偏移来对在运动体中提供的2D磁传感器的输出中所包括的磁化分量以及固有测量误差求反。为获得此偏移,本实施例规定了近似于在矢量平面中的一组点的圆,所述点具有对应于从2D磁传感器输出的磁数据的分量。此圆将被称作方位圆。方位圆圆心点的分量对应于偏移,并且方位圆的半径对应于磁场强度。使用2D磁传感器的校准需要磁数据,所述磁数据在当包括该2D磁传感器的运动体绕其旋转轴旋转而其旋转轴始终保持平行于竖直方向时被采集。由于在2D磁传感器的输出中存在固有测量误差,因此即使安装了2D磁传感器的运动体绕垂直于其x轴和y轴传感器两个敏感方向的轴旋转,具有对应于磁数据的分量的一组点也并不构成圆。在本实施例中,选择具有对应于磁数据的分量的3个点,并且从该3点获得经过该3个所选点的圆的圆心点和半径,并把所获得圆的圆心设置为偏移。当使用此方法来减小2D磁传感器的固有测量误差引起的包括在偏移中的误差时,选择3点十分重要,以使得该3个所选点在经过该3点的圆上的宽广范围内均匀分布,所述3点具有与包括固有测量误差的3个磁数据相对应的分量。
再次用图2A和2B描述本发明的第二方面。图2A和2B示出经过3点的方位圆(以实线示出)与真实方位圆(以虚线示出)之间的关系,所述3点具有与从2D磁传感器输出的磁数据相对应的分量,所述真实方位圆是一组具有与无测量误差理想2D磁传感器的磁数据相对应的分量的无限多点。当具有与2D磁传感器磁数据相对应的分量的3点分布在沿经过该3点的圆的圆周的狭窄范围内时,已从该3点获得的方位圆的圆心(x)与要被获得的理想2D磁传感器真实方位圆的圆心(+)之间的距离如图2A中所示很大。另一方面,当具有与2D磁传感器磁数据相对应的分量的3点分布在沿经过该3点的圆的圆周的宽广范围内时,已从该3点获得的方位圆的圆心(x)与要被获得的理想2D磁传感器真实方位圆的圆心(+)之间的距离如图2B中所示很小。当具有与2D磁传感器磁数据相对应的分量的3点以规则间隔沿经过该3点的圆的圆周分布时,即,当具有对应于该3点的顶点的三角形是正三角形时,偏移误差可被最小化。因此,本实施例选择具有对应于磁数据的分量的3点以使得顶点对应于该3点的三角形相对于正三角形的变形小于特定阈值。
这里,我们把本实施例的方法(在本实施例的方法中预先选择3点,获得经过该3个所选点的圆,并且从该圆获得偏移与一种方法(在这样一种方法中使用统计法获得与近似于一组4个或更多点的圆,并且从该圆获得偏移)相比较。在使用统计法的方法中,如果具有对应于磁数据的分量的点分布不均匀,或者如果在统计学群体中包括特殊磁数据,则从这些点获得的方位圆的圆心显著偏离真实方位圆的圆心。因此,为减小使用统计法的偏移误差,有必要验证用来使用统计法获得方位圆的统计学群体的变化或选择统计学群体。在本实施例的方法中,如果可选择3个适当的点,则在不使用需要大量计算的统计法的情况下,可能获得精度不小于通过使用统计法的方法获得偏移精度的偏移。
1-2.硬件结构
图15是移动电话3的外观的示意图,该移动电话3是应用本发明的运动体的一个实例。移动电话3包括二维(2D)磁传感器4。该2D磁传感器4通过检测两个正交方向(x,y)上磁场的矢量分量来检测磁场的方向和强度。移动电话3的显示器2显示各种字符或图像信息。例如,显示器2显示地图和代表方向(方位角)的箭头或字符。
图16是磁测量仪器的方框图,该磁测量仪器包括应用本发明的2D磁传感器4和磁传感器控制设备1。2D磁传感器4包括x和y轴传感器30和32,所述x和y轴传感器30和32在多种运动体中提供来检测地磁引起的磁场矢量的x和y方向分量。x和y轴传感器30和32每一个均包括磁阻元件、霍尔传感器等,假若其具有方向性则可以是任何类型的一维磁传感器。x和y轴传感器30和32被固定以使得它们的敏感方向互相垂直。X和y轴传感器30和32的输出是时分的并且被输入到磁传感器接口(I/F)22。磁传感器接口22在把来自x和y轴传感器30和32的输入放大后进行模数转换。从磁传感器接口22输出的数字磁数据通过总线5被输入到磁传感器控制设备1。
磁传感器控制设备1是包括CPU 40、ROM 42和RAM 44的计算机。CPU 40控制运动体诸如移动电话3的整体操作。ROM 42是非易失性存储介质,其存储用来实现由CPU 40执行的运动体功能的磁传感器控制程序或多种程序(例如,导航程序)。RAM 44是易失性存储介质,其用来暂时存储将要由CPU 40处理的数据。磁传感器控制设备1和3D磁传感器4可构成单片磁测量仪器。
天线13和通信单元14是用来执行在移动电话3与基站之间通信的电路。
音频处理器18是用来执行从麦克风16输入的模拟音频信号的AD转换并执行DA转换来把模拟音频信号输出到扬声器50的电路。
GPS接收器41是用来处理来自GPS卫星的GPS无线电信号并输出当前位置的经纬度的电路。
操作单元48包括光标键和还可作为字符输入键的拨号键。
作为显示装置,显示单元54包括显示器2比如LCD、显示控制电路(未示出)等并根据在显示器2上的移动电话3的操作模式显示各种屏幕。
作为通知装置,通知单元58包括声源电路(未示出)、呼叫扬声器59、振动器、LED等,并对用户告知校准进展和来电。相应角度或进展条可显示来允许用户观察校准进展。
1-3.软件结构
再次用图5描述本发明第二方面。图5是磁传感器控制程序90的方框图。磁传感器控制程序90被存储在ROM 42中来为导航程序98提供方位数据。方位数据是代表地磁场方位的2D矢量数据。该方位数据可作为3D矢量数据提供给导航程序98。当CPU 40执行磁传感器控制程序90时,CPU 40、RAM 44和ROM 42的组合作为磁传感器控制设备起作用。磁传感器控制程序90被构成为一组模块,诸如缓冲器管理模块92、偏移设置模块94和方位计算模块96。
缓冲器管理模块92是为了在偏移计算中使用磁数据而把从2D磁传感器4顺序输入的多个磁数据存入缓冲器中的程序部分。缓冲器管理模块92使得CPU 40作为输入装置起作用。从磁传感器4顺序输入的磁数据可顺序地被选择,并且未选上的磁数据可被丢弃。然而,如果直到第2点的选择条件与第3点的选择条件不同,那么即使磁数据没有被选作直到第2点的任一个,它也可能被选作第3点。因此,由缓冲器管理器模块92管理的缓冲器不仅被用来缓冲输入与处理次数之间差异,还用来使得一次没有被选上的磁数据再被用作候选。该缓冲器不但能以硬件实现还能以软件实现。
偏移设置模块94是用来从由缓冲器管理器模块92保存的磁数据中选择3个磁数据以及从该3个所选磁数据计算偏移并随后设置已计算出的偏移的程序部分。偏移设置模块94使得CPU 40作为选择、计算和设置装置起作用。
方位计算模块96是用来既使用从磁传感器4顺序输入的磁数据又使用已设置偏移来产生方位数据的程序部分。具体来说,方位计算模块96输出作为方位数据的2个分量,所述2个分量由从磁数据(2D矢量数据)的分量减去偏移数据的分量获得。
当导航程序98被激活时,告知用户例如他们需要在保持移动电话3水平朝向的同时旋转移动电话3来校准,于是校准被初始化。当校准被初始化时,发出偏移更新请求并且如下面描述执行缓冲器更新处理和偏移设置处理。
[过程]
2-1.缓冲器更新
再次用图6描述本发明第二方面。图6是缓冲器更新过程的流程图。当已经发出偏移更新请求时,CPU 40如果执行缓冲器管理器模块92来执行图6的过程。
在步骤S100,存储了用于偏移计算的多个磁数据的缓冲器被初始化。例如,存储在RAM 44的缓冲区中的数据被删除。
在步骤S102,CPU 40一直等待到新磁数据从磁传感器4输入。
当新磁数据从磁传感器4输入时,CPU 40确定是否有必要更新缓冲器(S104)。当多个磁数据从磁传感器4顺序输入而移动电话3几乎没有移动时,在具有与两个顺序输入的磁数据相对应的分量的两点之间的距离很小。在用来获得偏移必需的4点中包括相互邻近的两点是不优选的。另外,在容量有限的缓冲器中存储对应于临近点分量的多个磁数据浪费了存储资源并引起不必要的缓冲器更新处理。在以下方式中,确定是否有必要更新缓冲器。例如,如果在具有对应于最后输入磁数据的分量的点与具有对应于紧接在该最后输入磁数据之前的磁数据的分量的点之间的距离小于给定阈值,那么确定没有必要更新缓冲器,并且最后输入磁数据被丢弃而不存储在缓冲器中。否则,确定有必要更新缓冲器。因此,例如当以之前如图7所示顺序输入多个磁数据时,以实心圆示出的磁数据不被存入缓冲器而以空心圆示出的磁数据被存入缓冲器。在图7中,多个磁数据被输入的顺序由指定给空心圆及实心圆的数字代表。
如果在上述确定条件(或准则)之外还根据以下条件实行缓冲器更新必要性的确定,那么有可能增加校准成功的可能性。令“q0,q1,…qNqmax-1”为存储在缓冲器中的Nqmax数据元素的数据序列,并且令“Q”为集合{qi|0≤i≤Nqmax-1}。
附加更新条件:
对于给定阈值qmin,仅当具有对应于磁数据的分量的点q对每个i满足“||q-qi||2>qmin”时,最后磁数据才被存储以更新缓冲器,这里“i<Nqmax-1”。
如果确定有必要更新缓冲器,则缓冲器被更新(S106)。用于该更新的算法,例如是先入先出(FIFO)算法。
2-2.第一点的候选的暂时确定
图14是偏移设置处理的流程图。当发出偏移更新请求时,CPU 40通过执行偏移设置模块94来执行图14的过程。当通过执行偏移设置模块94来执行下面描述的过程时,使用缓冲器管理模块92的过程在多任务环境中被并行执行。
在步骤S200,执行初始化来丢弃所有候选。具体来说,复位用来存储偏移设置模块94宣布的候选的3个数据结构p0、p1和p2,并且缓冲器也被初始化了。如随后即将描述,多个磁数据作为候选被存入数据结构p0、p1和p2中,直到第3点被选择并且设置偏移。数据结构p0、p1和p2的每一个均是用来存每一储磁数据的2个分量的2个变量的序列。
在步骤S202,CPU 40等待上面描述的缓冲器更新。
一旦缓冲器被更新,第一点的候选就被暂时确定(S204)。具体来说,在缓冲器初始化(S200)之后输入的第一磁数据被确定为第一点的候选。第一点的候选存储在数据结构p0中。由于有可能将更新用来存储第一点的候选的数据结构p0,如随后所描述,因此在此过程中第一点的候选只是暂时确定的一个。
2-3.第二点的候选的暂时确定
在步骤S206,CPU 40一直等待到缓冲器被再次更新。
一旦缓冲器被再次更新,第二点的候选被暂时确定(S208)。具体来说,在缓冲器初始化(S200)之后输入的第二磁数据被确定为第二点的候选。第二点的候选存储在数据结构p1中。由于有可能将更新用来存储第二点的候选的数据结构p1,如随后所描述,因此在此过程中第二点的候选也只是暂时确定的一个。
2-4.第三点的选择
·3点更新
在步骤S210,CPU 40一直等待到缓冲器被再次更新。
当缓冲器被再次更新时,在步骤S212确定是否更新圆弧的端点。为了存储作为根据3点选择条件所选候选的磁数据,确定当前存储的第一到第三点候选的哪一个要被磁数据更新,所述磁数据已最后输入并且最后存储在缓冲器中(如果根据3点选择条件的选择还没有执行,那么尽管当前存储了仅仅到第二点的候选,也还要执行相同的过程)。即,确定数据结构p0、p1和p2的哪一个将存储已最后输入并最后存储的磁数据。这是因为数据结构p0、p1和p2被不同地定义如下。
具有与存储在数据结构p0、p1和p2中的磁数据相对应的分量的3点假如不在同一直线上,则唯一确定经过这3点的一段圆弧。数据结构p0和p1被定义为存储与在该圆弧两端的点的分量相对应的磁数据的数据结构。数据结构p2被定义为存储与该圆弧的中间点的分量相对应的磁数据的数据结构。因此,为了存储到第三点的候选一直到第三点被选择,有必要确定数据结构p0、p1和p2中的哪一个要被用来存储已最后输入并且最后存储在缓冲器中的磁数据。
下面是为何按上面所描述来定义数据结构p0、p1和p2的原因。3个候选点位于经过这3个候选点的方位圆的圆周上。如上面所描述,用来获得方位圆的3个点在经过这3点的圆周上的宽广范围内分布越均匀,则偏移所具有的误差越小。因此,当经过3个候选点的圆弧的弦长增加时偏移误差减小,直到该弦长达到一定长度,并且如果该弦长太小则误差很大。因此,优选地是,每次磁数据被存储在缓冲器中时到第三点的候选被更新,从而经过3个候选点的圆弧的弦长增加,直到达到一定长度。
图17A到17C是说明更新3个候选点的示意图。这里,假设如图17B所示的磁数据已被存储在数据结构p0、p1和p2中。图17中所示数字1、4、5和6被指定来管理在缓冲器中的存储顺序。具体来说,在缓冲器中管理的多个磁数据以数字递增顺序已被存储在相应的数据结构中。令磁数据1、磁数据4、磁数据5和磁数据6为以这些数字管理的多个磁数据。随后,经过3个候选点的圆弧的弦是连接具有对应于磁数据1的分量的点和具有对应于磁数据5的分量的另一点的线段(以虚线示出)。假设磁数据6随后存储在缓冲器中。这里,根据数据结构p0、p1和p2的定义计算经过具有3个磁数据分量的3点的圆弧的弦长,作为在具有与存储在数据结构p0中的磁数据相对应的分量的点与具有存储在数据结构p1中的磁数据相对应的分量的点之间的距离。因此,如果具有对应于磁数据6的分量的点具有如图17A所示与具有对应于磁数据1、4和5的分量的3点的位置关系,那么只有更新存储在数据结构p0中的候选才能获得该圆弧弦长增加的计算结果。另外,如果磁数据6具有不增加该圆弧弦长的值,那么除非更新存储在数据结构p2中的候选,否则计算结果是该圆弧的弦长减小,并且因此有必要更新存储在数据结构p2中的候选。
以下面的方式推导出一个条件,即,每次执行更新时经过具有对应于3个磁数据的分量的3点的圆弧的弦被更有效地拉长并且至少不被缩短。这里,令q为最后存储在缓冲器中的磁数据。令p0、p1和p2为存储在数据结构中磁数据。在图18中,具有对应于q、p0、p1和p2的分量的点以实心圆示出,经过3点的方位圆以实线示出。当磁数据q增加经过3个候选点的圆弧的弦长时,不等式(33)和(34)成立。
(q-p1)·(p1-p0)>0…(33)
(q-p0)·(p1-p0)<0…(34)
当不等式(33)成立时,以q更新p1可拉长该弦。当不等式(4)成立时,以q更新p0可拉长该弦。当不等式(33)和(34)的任何一个不成立时,弦不被拉长。
在步骤S214,已确定要被如上面所描述来更新的候选以存储在缓冲器中的最后磁数据更新。因此,例如,其中磁数据按图17B所示被存储的数据结构p0、p1和p2被更新为如图17C所示。
·3点选择条件
使用存储在缓冲器中作为第3点候选的所有磁数据来执行选择。这里,缓冲器不必已经充满。在选择第3点的过程中,还没有被确定为到第2点的任一个候选的磁数据可顺序地被选为第3点的候选,如图19所示。此磁数据包括虽被暂时确定为候选但已被丢弃的磁数据。在图19中,指定给磁数据用来管理磁数据被输入到缓冲器中的顺序的标志符,以数字0到Nqmax-1被示出。如图19所描述,数字越小,在数据结构中的磁数据越早被输入到缓冲器中。
在步骤S216暂时确定第3点的候选。具体来说,顺序使用存储在缓冲器中的多个数据来暂时确定第3点的候选,并且确定该暂时确定的候选是否满足3点选择条件之一(S218)。3点选择条件根据两个观点导出。第一个观点是,具有与作为候选的磁数据相对应分量的3点是否在经过这3点的圆的圆周上充分扩展开,即,具有对应于这3点的顶点的三角形是否接近于正三角形。因此,当根据第一个观点执行选择时,计算具有对应于这3点的顶点的三角形相对于正三角形的变形,所述3点具有与作为候选的磁数据相对应的分量。第二个观点是,经过3点的圆的面积是否足够大,所述3点具有与作为候选的磁数据相对应的分量。当经过3点的圆的面积很小时,这3点分布在经过这3点的方位圆的圆周上狭窄范围内,并且已经测量除开那些用来计算校正偏移的磁场以外的磁场。同样,当经过这3点的圆的面积太大时,已经测量除开那些用来计算校正偏移的磁场以外的磁场。因此,当从第二个观点执行选择时,计算经过3点的圆的半径,所述3点具有与作为候选的磁数据相对应的分量。在随后的描述中,用来根据第一个观点确定是否选择该候选的条件还被称作3点选择条件,并且根据第二个观点确定是否选择该候选还被称作3点选择验证。
首先,给出在步骤S218使用的根据第一个观点得出的3点选择条件的描述。在此实施例中,从2行2列对称矩阵的特征值估计具有对应于3点的顶点的三角形相对于正三角形的变形,所述3点具有与作为候选的磁数据相对应的分量,所述对称矩阵使用如在前的图10所示从该三角形重心d3开始到三角形顶点结束的矢量的和来表示。该三角形重心d3从方程(35)获得。
d 3 = 1 3 ( p 0 + p 1 + p 2 ) . . . ( 35 )
根据第一个观点得出的3点选择条件是由方程(36)定义的对称矩阵A的特征值λA1和λA2的最小特征值λA2与最大特征值λA1之比等于或大于预定阈值E0
A = Σ i = 0 2 ( p i - d 3 ) ( p i - d 3 ) T . . . ( 36 )
方程(36)也可写成使用pi=(pix,piy)、d3=(d3x,d3y)的方程(37)。
A = a 11 a 12 a 12 a 22 . . . ( 37 )
此矩阵A的元以随后的方程表达。
a 11 = Σ i = 0 2 ( p ix - d 3 x ) 2 . . . ( 38 )
a 12 = Σ i = 0 2 ( p ix - d 3 x ) ( p iy - d 3 y ) . . . ( 39 )
a 22 = Σ i = 0 2 ( p iy - d 3 y ) 2 . . . ( 40 )
按对称矩阵A的定义,所有特征值为非负实数。对存储在缓冲器中还没有被选作直到第二点的任何磁数据的磁数据计算由方程(41)定义的估计EA,并且搜索使估计EA最大化的p2。根据第一个观点得出的3点选择条件是对于阈值E0估计EA满足EA≥E0。也可确定在找到满足EA≥E0的第3点的时刻3点选择条件被满足。
E A = λ A 2 λ A 1 . . . ( 41 )
根据三角形内角之间的变化、三角形边长之间的变化、从三角形重心到顶点距离之间的变化等来定义具有对应于这3点的顶点的三角形相对于正三角形的变形,所述3点具有与作为候选的磁数据相对应的分量。这些变化可由使用如上面描述的对称矩阵A的特征值所表达的估计EA来定义。因此,根据第一个观点得出的3点选择条件也可以是:具有对应于这3点的顶点的三角形内角之间的变化、三角形边长之间的变化或从三角形重心到顶点距离之间的变化是在预定范围内,所述3点具有与作为候选的磁数据相对应的分量。当对称矩阵A的特征值被用来确定3点选择条件时,对称矩阵A的最小和最大特征值可作为二次方程的根获得。对比当使用指示三角形内角间变化、三角形边长间变化、或从三角形重心到顶点的距离间的变化的值来确定3点选择条件时,这样减少了计算量。
如果不满足根据第一个观点得出的3点选择条件,则确定对存储在缓冲器中所有数据的确定是否已经完成(S220)。如果对存储在缓冲器中所有数据的确定还没有完成,则CPU 40返回步骤S216重复用于确定存储在缓冲器中的数据是否满足根据第一个观点得出的3点选择条件的过程。这里,缓冲器不必已经充满。存储在缓冲器中的磁数据也包括还没有被暂时确定为在圆弧两个端点上的任一点的磁数据。如果存储在缓冲器中的任一个数据不满足3点选择条件,则因为满足3点选择条件的点还没有被采集,所以CPU 40返回步骤S210一直等待到缓冲器被更新。
·选择验证
如果根据第一个观点得出的3点选择条件被满足,则根据第二个观点验证根据第一个观点选出的磁数据(S224)。在此过程中,按上面的描述计算经过这3点的圆的半径,所述3点具有对应于该磁数据的分量。
当该圆的圆心以c3=(c3x,c3y)表达时,用来获得该圆心的联立线性方程以方程(42)表达。
p 0 x p 0 y 1 p 1 x p 1 y 1 p 2 x p 2 y 1 c 3 x c 3 y c 3 r = 1 2 p 0 x 2 + p 0 y 2 p 1 x 2 + p 1 y 2 p 2 x 2 + p 2 y 2 . . . ( 42 )
虽然后面不需要用到值c3r,但添加该值来建立三个线性联立方程。最后,半径r被确定为由方程(43)计算出的c3与p0之间的欧几里德距离。
r3=||c3-p0||2...(43)
如果已按上面描述获得的经过所述3点的圆的半径在值rmin到rmax的范围内,所述3点具有与满足3点选择条件的3个磁数据相对应的分量,则确定此三点选择的验证成功。否则,确定此三点选择的验证不成功,并且CPU 40返回步骤S210一直等待到缓冲器被更新。
该方法还可包括确定按上面描述获得的圆的方程是否有效的步骤。具体来说,验证方位圆的恰当性不仅使用3个所选磁数据p0、p1和p2,还使用存储在缓冲器中的所有或部分磁数据。尽管在减少偏移误差的变化上一定程度有效,但该验证并非是不可或缺的过程。在这个验证中,由方程(44)获得估计S。如果对于预定阈值St有S>St,那么不采用已计算出的方位圆的圆心点作为偏移,并且确定该校准失败了。
S = 1 N q max 1 r 2 Σ q i ∈ Q { | | q i - c 3 | | 2 - r } 2 . . . ( 44 )
·偏移设置
如果3点选择验证的结果是3个所选点有效,那么在步骤S226该圆心点被设置为偏移。具体来说,已计算方位圆的圆心点的分量被设置为偏移的分量。
其间,在重复步骤S210到S224的过程时,每次执行步骤S218则计算估计EA。在ROM 42中预先存储一张表(见图20),其用来定义估计EA与对应于经过3点p0、p1和p2的圆弧的圆心角的角度之间的对应关系。使用该表导出对应于估计EA的角度令用户可以得知包括2D磁传感器4的移动电话3从校准开始已旋转过的角度、完成校准还要旋转的剩余角度等等。根据已计算出的估计EA,由偏移设置模块可导出对应于估计EA的角度,并且已导出的角度可被输出到导航程序98。作为另一种选择,每次计算估计EA,则可为导航程序98提供估计EA,并由导航程序98导出对应于估计EA的角度。
在本实施例中,即使在计算对应于方位圆圆心点的偏移之前,即,即使在获得精确偏移所需的3点还没有被选出的过程中,也可导出经过3点p0、p1和p2的圆弧的圆心角。例如,我们把本实施例与使用统计处理获得偏移的方法作比较。在这种方法中,在作为用于统计处理的统计学群体的元素的磁数据还没有被充分采集的过程中,没有获得对应于方位圆圆心点的偏移,因此不可能获得旋转角度,即移动电话3已经旋转过的角度。即使在磁数据还没有被充分采集的过程中,使用暂时设置的偏移也可获得旋转角度。然而这会减小精度。在本实施例中,即使在满足3点选择条件的3个点如上面描述还没有被选出期间,也可根据估计EA导出旋转角度,因此,与所述方法(在所述方法中,从不满足3点选择条件的3个点计算可能不够精确的偏移,并且从p0和p1的位置以及已计算出的偏移来计算旋转角度)相比有可能以高精度和小计算量导出旋转角度。
在可令用户得知进展的一个方法中,可控制通知单元58产生例如根据旋转角度的音阶“Do Re Mi Fa Sol La Ti Do”的声音。在显示器2上也会根据估计EA显示进展条以使得用户得知进展。由于在旋转角度与估计EA之间的关系是旋转角度随估计EA增加而增加,因此在没有预先存储如图20所示的对应关系表并把它转换为角度的情况下,也可根据估计EA按上面描述的来把进展告知用户。
同样在下述方面中,在本实施例中的偏移设置方法比使用统计处理来获得偏移的方法更有效。在弱磁场地点的方位圆半径小于在强磁场地点的方位圆半径。如果为了避免在采集作为统计处理统计学群体元素的磁数据时磁数据分布不均匀或重叠,当在具有对应于最后输入磁数据的分量的点与具有对应于紧接在最后输入磁数据之前磁数据的分量的点之间距离小于给定阈值时,最后输入磁数据没有存入缓冲器中而被丢弃,那么即使当移动电话3旋转过相同角度时,与处在强磁场地点的磁数据相比,存储在缓冲器中处在弱磁场地点的磁数据的数量被减少。即,为采集充分数量的作为统计处理统计学群体的磁数据,有必要通过更宽范围的角度旋转移动电话3。在本实施例中,即使在存储在缓冲器中的磁数据数量很小时,仅仅必须能采集满足3点选择条件的点。因此,同样在弱磁场地点,本实施例减少采集计算偏移需要的磁数据所需的移动电话3的操作数量,并且减少计算偏移需要的次数。
B.第二实施例
图21是根据本发明第二实施例的偏移设置过程的流程图。当发出偏移设置请求时,CPU 40通过执行缓冲器设置模块94来执行图21的过程。另外,以与第一实施例相同的方式,当下面描述的过程通过执行偏移设置模块94来执行时,使用缓冲器管理模块92的过程在多任务环境中被并行执行。
在步骤S300,执行初始化来丢弃所有候选。具体来说,复位用来存储候选的3个数据结构p0、p1、和p2,其由偏移设置模块94宣布,并且缓冲器也被初始化。
在步骤S302,CPU 40一直等待到缓冲器被更新。
缓冲器一旦被更新,就确定在缓冲器中是否有空白,即,存储在缓冲器中的数据数量是否是预定数Nqmax(S304)。重复步骤S302和S304的过程直到存储在缓冲器中的数据数量达到预定数Nqmax。以这种方式,本实施例直到缓冲器中存储了Nqmax个磁数据时才选择磁数据。
缓冲器中一旦存储了Nqmax个磁数据时,第一点和第二点的磁数据就被选择(S306)。存储在缓冲器中的Nqmax个磁数据的数据序列以“q0,q1,...qNqmax-1”代表,且集合{qi|0≤i≤Nqmax-1}以“Q”代表,并且具有对应于磁数据“q0,q1,...qNqmax-1”的分量的点被称作数据点“q0,q1,...qNqmax-1”。以与第一实施例相同的方式存储磁数据以使得集合Q不是多重集合。
为从点集Q获得高精度偏移,需要选择与沿特定方向相距最远的两点相对应的磁数据。平均来说选择沿随意确定的方向相距最远的两点十分有效。下面是详细的选择方法。
令p0为一个数据点qi,其使得具有特定方向和幅值的矢量“a”和从数据点q0,q1,...qNqmax-1的重心dN开始且以每个数据点为结束的矢量的内积D最大,并且令p1为一个数据点qi,其使得所述内积D最小。数据点q0,q1,...qNmax-1的重心dN由方程(45)获得。矢量“a”和从数据点q0,q1,...qNqmax-1的重心dN开始且以数据点qi为结束的矢量的内积D由方程(46)获得。
d N = 1 N q max Σ q i ∈ Q q i . . . ( 45 )
Di=a·(qi-dN)...(46)
由依次以集合Q的元素代入方程(46)中的qi来获得Di,并且使Di最大化的数据点qi被设为p0,而使Di最小化的数据点qi被设为p1,从而选出使从两个数据点垂直落到平行于矢量“a”的直线的垂足之间距离最大化的两个数据点。在本实施例中,只有集合Q被破坏时两个所选数据点才被其它数据点代替。即,本实施例设置根据3个磁数据计算出的偏移,所述3个磁数据必须包括这两个所选磁数据。
具有特定方向和幅值的上述矢量“a”可以是矩阵C的属于最小特征值λC2的特征矢量。
C = Σ q i ∈ Q ( q i - d N ) ( q i - d N ) T . . . ( 47 )
在步骤S308,以与第一实施例的步骤S216相同的方式暂时确定第3点的候选。
在步骤S310,以与第一实施例的步骤S218相同的方式确定是否满足3点选择条件。
在步骤S312,以与第一实施例的步骤S220相同的方式确定是否已经完成对存储在缓冲器中所有点的确定。如果还没有完成对存储在缓冲器中所有点的确定,则CPU 40返回步骤S308。
在步骤S314,以与第一实施例的步骤S224相同的方式执行3点选择验证。如果3点选择验证的结果是3个所选点无效,则CPU 40返回步骤S300对缓冲器复位。
在步骤S316,以与第一实施例的步骤S226相同的方式设置偏移。
本发明并不局限于上述实施例,并且可不脱离本发明的精神而应用到各种实施例中。

Claims (23)

1.一种磁传感器控制设备,其包含:
输入装置,用来输入从三维(3D)磁传感器顺序输出的具有3个分量的多个磁数据;
选择装置,用来从所述多个输入磁数据中选出满足预定的4点选择条件的4个磁数据;
计算装置,用来计算与每一点均由4个所选磁数据中相应的一个磁数据的3个分量所代表的4点距离相等的中心点;以及
设置装置,用来把代表中心点的3个分量设置为磁数据的偏移,
其中,选择装置具有提供来存储作为候选的输入3个磁数据的3个数据结构,该选择装置一直更新3个数据结构直到存储在3个数据结构中的3个磁数据满足预定的3点选择条件,并且在根据4点选择条件选择第4磁数据之前选择满足所述3点选择条件的3个磁数据,其中,当最后输入的磁数据存储在3个数据结构之一中时,假如通过以最后输入的磁数据来更新这一个数据结构使得经过对应于存储在所述3个数据结构中的3个磁数据的3点的圆弧的弦长增加或至少不减小,则所述选择装置选择这一个数据结构并以最后输入的磁数据更新所选数据结构。
2.根据权利要求1的磁传感器控制设备,其还包含:
用来存储多个输入磁数据的缓冲器,
其中选择装置在选择第n(n=2,3或4)磁数据之前选择满足预定选择条件的第n-1磁数据,随后从所述缓冲器获得还没有被选为直到第n-1磁数据的任一个的磁数据,并且把被获得的磁数据设置为第n磁数据的候选。
3.根据权利要求1的磁传感器控制设备,其中当所述3个数据结构已经被输入磁数据更新的次数超过预定次数时,选择装置对所述3个数据结构复位。
4.根据权利要求1的磁传感器控制设备,其中3点选择条件包括与有关三角形相对于正三角形的变形相关的三角形条件,所述有关三角形具有由与存储在所述3个数据结构中的3个磁数据相对应的3点规定的顶点。
5.根据权利要求4的磁传感器控制设备,其中所述三角形条件包括有关三角形内角间的变化在预定范围内的条件。
6.根据权利要求4的磁传感器控制设备,其中所述三角形条件包括有关三角形边长间的变化在预定范围内的条件。
7.根据权利要求4的磁传感器控制设备,其中所述三角形条件包括从有关三角形重心到有关三角形的顶点距离间的变化在预定范围内的条件。
8.根据权利要求4的磁传感器控制设备,其中所述三角形条件包括如下表达的3行3列对称矩阵A的中间特征值与该对称矩阵A的最大特征值之比等于或高于预定值的条件:
A = Σ i = 0 2 ( p i - d 3 ) ( p i - d 3 ) T ,
这里pi(i=0,1,2)代表有关三角形的每个顶点,并且d3代表有关三角形的重心。
9.一种磁传感器控制设备,其包含:
输入装置,用来输入从二维(2D)磁传感器顺序输出的具有2个分量的多个磁数据;
选择装置,用来从多个输入的磁数据中选出满足预定的3点选择条件的3个磁数据;
计算装置,用来计算与每一点均由3个所选磁数据中相应的一个磁数据的2个分量所代表的3点距离相等的中心点;
设置装置,用来把代表所述中心点的2个分量设置为磁数据的偏移,以及
用来存储多个输入磁数据的缓冲器,
其中,当新磁数据存储在所述缓冲器中时,假如通过以存储在所述缓冲器中的新磁数据更新一个数据结构,使得经过对应于存储在3个数据结构中的3个磁数据的3点的圆弧的弦长增加或至少不减小,那么选择装置选择提供来存储作为候选的3个磁数据的3个数据结构之一,并且以存储在所述缓冲器中的新磁数据更新所选的数据结构,所述的一个数据结构中存储对应于在该圆弧两端的两点之一的磁数据,并且,当新磁数据存储在所述缓冲器中时,选择装置获得磁数据,所述磁数据还没有被选作在所述圆弧两端的两点的任何磁数据候选,并且把已获得磁数据设置为该圆弧中间点的磁数据候选。
10.根据权利要求9的磁传感器控制设备,其中3点选择条件包括与有关三角形相对于正三角形的变形相关的三角形条件,所述有关三角形具有由对应于存储在数据结构中的3个磁数据的3点所规定的顶点。
11.根据权利要求10的磁传感器控制设备,其中所述三角形条件包括有关三角形内角间的变化在预定范围内的条件。
12.根据权利要求10的磁传感器控制设备,其中所述三角形条件包括有关三角形边长间的变化在预定范围内的条件。
13.根据权利要求10的磁传感器控制设备,其中所述三角形条件包括从有关三角形重心到有关三角形顶点距离间的变化在预定范围内的条件。
14.根据权利要求10的磁传感器控制设备,其中所述三角形条件包括如下表达的2行2列对称矩阵A的最小特征值与该对称矩阵A的最大特征值之比等于或高于预定值的条件:
A = Σ i = 0 2 ( p i - d 3 ) ( p i - d 3 ) T ,
这里pi(i=0,1,2)代表有关三角形的每个顶点,并且d3代表有关三角形的重心。
15.根据权利要求14的磁传感器控制设备,其中选择装置把所述三角形条件应用到对应于输入磁数据的多个组合的多个三角形来计算对于各三角形的各比值,并选择代表具有最大比值的多个三角形之一的3点。
16.根据权利要求15的磁传感器控制设备,还包含:
进展值输出装置,用来输出比值或者根据该比值导出的进展值,指示了在选择开始之后直到选择完成时满足所述3点选择条件的3个磁数据的选择的进展状态。
17.根据权利要求16的磁传感器控制设备,其中所述进展值代表对应于经过3点的圆弧的圆心角的角度,所述3点对应于存储在所述3个数据结构中的3个磁数据。
18.一种磁测量仪器,其包含:
二维(2D)磁传感器,其顺序输出每个均具有2个分量的多个磁数据;
输入装置,其用来输入从所述二维(2D)磁传感器顺序输出的具有2个分量的多个磁数据;
选择装置,其用来从多个输入磁数据中选择满足预定的3点选择条件的3个磁数据;
计算装置,其用来计算与3点距离相等的中心点,所述3点每个均由3个所选磁数据中相应的一个磁数据的2个分量代表;
设置装置,其用来把代表所述中心点的2个分量设置为磁数据的偏移,以及
用来存储多个输入磁数据的缓冲器,
其中,当新磁数据存储在所述缓冲器中时,假如通过以存储在所述缓冲器中的新磁数据更新一个数据结构,使得经过对应于存储在3个数据结构中的3个磁数据的3点的圆弧的弦长增加或至少不减小,那么选择装置选择提供来存储作为候选的3个磁数据的3个数据结构之一,并且以存储在所述缓冲器中的新磁数据更新所选的数据结构,所述的一个数据结构中存储对应于在该圆弧两端的两点之一的磁数据,并且,当新磁数据存储在所述缓冲器中时,选择装置获得磁数据,所述磁数据还没有被选作在所述圆弧两端的两点的任何磁数据候选,并且把已获得磁数据设置为该圆弧中间点的磁数据候选。
19.根据权利要求18的磁测量仪器,其中选择装置把所述3点选择条件顺序应用到对应于输入磁数据的多个组合的多个三角形以找到最满足3点选择条件的最佳三角形,该仪器还包含通知装置,其用来通过产生根据所述进展状态变化的音乐提示音通知用户该选择装置的操作进展状态。
20.根据权利要求18的磁测量仪器,其中选择装置把3点选择条件顺序应用到对应于输入的磁数据的多个组合的多个三角形以找到最满足3点选择条件的最佳三角形,该仪器还包含用来允许用户观察该选择装置的操作进展状态的显示装置。
21.一种用于磁传感器的偏移设置方法,该方法包含步骤:
输入从二维(2D)磁传感器顺序输出的每一个均具有2个分量的多个磁数据;
从多个输入磁数据中选择满足预定的3点选择条件的3个磁数据;
计算与3点距离相等的中心点,所述3点每个均由3个所选磁数据中相应的一个磁数据的2个分量代表;
把中心点的2个分量设置为磁数据的偏移,以及
将多个输入磁数据存储到缓冲器中,
其中,当新磁数据存储在所述缓冲器中时,假如通过以存储在所述缓冲器中的新磁数据更新一个数据结构,使得经过对应于存储在3个数据结构中的3个磁数据的3点的圆弧的弦长增加或至少不减小,那么选择装置选择提供来存储作为候选的3个磁数据的3个数据结构之一,并且以存储在所述缓冲器中的新磁数据更新所选的数据结构,所述的一个数据结构中存储对应于在该圆弧两端的两点之一的磁数据,并且,当新磁数据存储在所述缓冲器中时,选择装置获得磁数据,所述磁数据还没有被选作在所述圆弧两端的两点的任何磁数据候选,并且把已获得磁数据设置为该圆弧中间点的磁数据候选。
22.一种磁测量仪器,其包含:
三维(3D)磁传感器,其顺序输出每个均具有3个分量的多个磁数据;
输入装置,用来输入从三维(3D)磁传感器顺序输出的具有3个分量的多个磁数据;
选择装置,用来从所述多个输入磁数据中选出满足预定的4点选择条件的4个磁数据;
计算装置,用来计算与每一点均由4个所选磁数据中相应的一个磁数据的3个分量所代表的4点距离相等的中心点;以及
设置装置,用来把代表中心点的3个分量设置为磁数据的偏移,
其中,选择装置具有提供来存储作为候选的输入3个磁数据的3个数据结构,该选择装置一直更新3个数据结构直到存储在3个数据结构中的3个磁数据满足预定的3点选择条件,并且在根据4点选择条件选择第4磁数据之前选择满足所述3点选择条件的3个磁数据,其中,当最后输入的磁数据存储在3个数据结构之一中时,假如通过以最后输入的磁数据来更新这一个数据结构使得经过对应于存储在所述3个数据结构中的3个磁数据的3点的圆弧的弦长增加或至少不减小,则所述选择装置选择这一个数据结构并以最后输入的磁数据更新所选数据结构。
23.一种用于磁传感器的偏移设置方法,该方法包含步骤:
输入从三维(3D)磁传感器顺序输出的具有3个分量的多个磁数据;
从输入的所述多个磁数据中选择满足预定的4点选择条件的4个磁数据;
计算与4点距离相等的中心点,所述4点每一点由4个所选磁数据中相应的一个磁数据的3个分量代表;以及
把代表中心点的3个分量设置为磁数据的偏移,
其中,提供3个数据结构来存储作为候选的输入的3个磁数据,一直更新3个数据结构直到存储在3个数据结构中的3个磁数据满足预定的3点选择条件,并且在根据4点选择条件选择第4磁数据之前选择满足所述3点选择条件的3个磁数据,其中,当最后输入的磁数据存储在3个数据结构之一中时,假如通过以最后输入的磁数据来更新这一个数据结构使得经过对应于存储在所述3个数据结构中的3个磁数据的3点的圆弧的弦长增加或至少不减小,则选择这一个数据结构并以最后输入的磁数据更新所选数据结构。
CN2006101411139A 2005-10-11 2006-10-11 磁传感器控制设备 Expired - Fee Related CN1948905B (zh)

Applications Claiming Priority (9)

Application Number Priority Date Filing Date Title
JP2005296610 2005-10-11
JP2005296610A JP4830441B2 (ja) 2005-10-11 2005-10-11 磁気センサ制御装置、方法及びプログラム
JP2005-296610 2005-10-11
JP2005337412 2005-11-22
JP2005-337412 2005-11-22
JP2005337412A JP5040103B2 (ja) 2005-11-22 2005-11-22 磁気センサ制御装置、方法及びプログラム
JP2006-026260 2006-02-02
JP2006026260A JP4899506B2 (ja) 2006-02-02 2006-02-02 磁気センサ制御装置、磁気測定装置、オフセット設定方法及びオフセット設定プログラム
JP2006026260 2006-02-02

Related Child Applications (1)

Application Number Title Priority Date Filing Date
CN2010101333973A Division CN101782633B (zh) 2005-10-11 2006-10-11 磁传感器控制设备

Publications (2)

Publication Number Publication Date
CN1948905A CN1948905A (zh) 2007-04-18
CN1948905B true CN1948905B (zh) 2010-12-22

Family

ID=38018487

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2006101411139A Expired - Fee Related CN1948905B (zh) 2005-10-11 2006-10-11 磁传感器控制设备

Country Status (2)

Country Link
JP (1) JP4830441B2 (zh)
CN (1) CN1948905B (zh)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5040103B2 (ja) * 2005-11-22 2012-10-03 ヤマハ株式会社 磁気センサ制御装置、方法及びプログラム
JP5067155B2 (ja) 2007-12-28 2012-11-07 ヤマハ株式会社 磁気データ処理装置、ナビゲーション装置、磁気データ処理方法および磁気データ処理プログラム
JP5266754B2 (ja) 2007-12-28 2013-08-21 ヤマハ株式会社 磁気データ処理装置、磁気データ処理方法および磁気データ処理プログラム
CN102510994B (zh) 2009-09-26 2014-01-08 阿尔卑斯电气株式会社 地磁检测装置
JP5498196B2 (ja) * 2010-02-17 2014-05-21 アルプス電気株式会社 磁界検知装置
JP5498209B2 (ja) * 2010-03-10 2014-05-21 アルプス電気株式会社 磁界検知装置
JP5498208B2 (ja) * 2010-03-10 2014-05-21 アルプス電気株式会社 磁界検知装置
US9031805B2 (en) 2011-03-22 2015-05-12 Yamaha Corporation Geomagnetic field measurement device, offset determination method, and computer readable recording medium therefor
EP2568254A3 (en) * 2011-09-07 2015-02-18 Yamaha Corporation Soft iron effect offset correction in geomagnetism measurement apparatus
JP6019585B2 (ja) * 2012-01-06 2016-11-02 ヤマハ株式会社 端末装置
NZ714025A (en) * 2014-10-01 2018-08-31 Ocean Floor Geophysics Inc Compensation of magnetic data for autonomous underwater vehicle mapping surveys
CN113253170B (zh) * 2020-02-13 2023-08-25 西门子(深圳)磁共振有限公司 磁共振成像装置的测场设备
WO2023229002A1 (ja) * 2022-05-25 2023-11-30 ローム株式会社 オフセット算出装置、方位角センサ、電子機器、オフセット算出方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6643941B2 (en) * 1999-05-27 2003-11-11 Johnson Controls Technology Company Vehicle compass system with continuous automatic calibration
EP1519148A1 (en) * 2002-07-01 2005-03-30 Asahi Kasei EMD Corporation Azimuth measuring device and azimuth measuring method

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005265414A (ja) * 2004-03-16 2005-09-29 Citizen Watch Co Ltd 電子方位計及び記録媒体
EP1795864A4 (en) * 2004-09-29 2011-11-02 Amosense Co Ltd MAGNETIC SENSOR CONTROL METHOD, MAGNETIC SENSOR CONTROL MODULE, AND PORTABLE TERMINAL DEVICE

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6643941B2 (en) * 1999-05-27 2003-11-11 Johnson Controls Technology Company Vehicle compass system with continuous automatic calibration
EP1519148A1 (en) * 2002-07-01 2005-03-30 Asahi Kasei EMD Corporation Azimuth measuring device and azimuth measuring method

Also Published As

Publication number Publication date
JP4830441B2 (ja) 2011-12-07
JP2007107921A (ja) 2007-04-26
CN1948905A (zh) 2007-04-18

Similar Documents

Publication Publication Date Title
CN101782633B (zh) 磁传感器控制设备
CN1948905B (zh) 磁传感器控制设备
CN100580475C (zh) 磁数据处理装置
CN102592495B (zh) 道路估计设备和用于估计道路的方法
KR20200012960A (ko) 차선 정밀 도로 지도의 작성 방법 및 그 장치
CN102798393B (zh) 移动设备
CN101356442B (zh) 加速度测量装置
CN102193073B (zh) 磁数据处理装置、方法
CN101470177B (zh) 磁数据处理装置、磁数据处理方法
CN109855617A (zh) 一种车辆定位方法、车辆定位装置及终端设备
JP4844179B2 (ja) 磁気データ処理装置、方法及びプログラム
CN108020813B (zh) 定位方法、定位装置和电子设备
CN102692608A (zh) 地磁场测量装置、偏移量确定方法及计算机可读记录介质
JP5040103B2 (ja) 磁気センサ制御装置、方法及びプログラム
CN106323334A (zh) 一种基于粒子群优化的磁力计校准方法
CN110109165B (zh) 行驶轨迹中异常点的检测方法及装置
CN101470176B (zh) 磁数据处理方法
JP4899506B2 (ja) 磁気センサ制御装置、磁気測定装置、オフセット設定方法及びオフセット設定プログラム
JP4893021B2 (ja) 磁気センサ制御装置、磁気測定装置、並びにオフセット設定方法及びプログラム。
KR100948837B1 (ko) 무선 센서 네트워크에서 분산적인 위치 인식 방법 및 그장치
JP5035448B2 (ja) 磁気センサ制御装置および方法
US20110010121A1 (en) Magnetic data processing device, magnetic data processing method, and magnetic data processing program
JP2007327934A (ja) 磁気データ処理装置、方法およびプログラム
JP2011180097A (ja) 磁気データ処理装置、方法及びプログラムならびに磁気測定装置
JP5621181B2 (ja) 磁気データ処理装置、磁気データ処理方法および磁気データ処理プログラム

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20101222

Termination date: 20151011

EXPY Termination of patent right or utility model