(57)【要約】【課題】  二次元磁気センサの使い勝手を向上させる。【解決手段】  第一の基本ベクトル群の一次結合である２次元ベクトルデータであって２次元磁気センサから出力される磁気データを順次入力する入力手段と、前記磁気データの旧オフセットを新オフセットに更新するために複数の前記磁気データを母集団データ群として蓄える蓄積手段と、前記旧オフセットを用いずに前記母集団データ群から導出される仮オフセットの前記旧オフセットに対する位置ベクトルであって前記母集団データ群の分布の主軸方向の第二の基本ベクトル群の一次結合である仮の位置ベクトルの各係数を前記母集団データ群の分布の主値の比に応じて重み付けした値を係数とする前記第二の基本ベクトル群の一次結合を補正ベクトルとするとき、前記旧オフセットと前記補正ベクトルの和となる前記新オフセットを求めることを制約条件として、前記旧オフセットと前記母集団データ群とに基づいて前記新オフセットを導出するオフセット導出手段と、を備える磁気データ処理装置。【選択図】    図１
2007327934.tif 000002
【特許請求の範囲】
【請求項１】
第一の基本ベクトル群の一次結合である２次元ベクトルデータであって２次元磁気センサから出力される磁気データを順次入力する入力手段と、
前記磁気データの旧オフセットを新オフセットに更新するために複数の前記磁気データを母集団データ群として蓄える蓄積手段と、
前記旧オフセットを用いずに前記母集団データ群から導出される仮オフセットの前記旧オフセットに対する位置ベクトルであって前記母集団データ群の分布の主軸方向の第二の基本ベクトル群の一次結合である仮の位置ベクトルの各係数を前記母集団データ群の分布の主値の比に応じて重み付けした値を係数とする前記第二の基本ベクトル群の一次結合を補正ベクトルとするとき、前記旧オフセットと前記補正ベクトルの和となる前記新オフセットを求めることを制約条件として、前記旧オフセットと前記母集団データ群とに基づいて前記新オフセットを導出するオフセット導出手段と、
を備える磁気データ処理装置。
【請求項２】
前記制約条件は、
大きい方の前記主値に対する小さい方の前記主値の比があらかじめ決められた閾値以下である場合、小さい方の前記主値に対する主軸方向の前記第二の基本ベクトルの係数について前記仮の位置ベクトルの重み係数が０となる条件である、
請求項１に記載の磁気データ処理装置。
【請求項３】
前記制約条件は、前記母集団データ群の分布の主値の比に連続的に対応する重み係数によって前記仮の位置ベクトルの係数を重み付けした値が前記補正ベクトルの係数となる条件である、
請求項１に記載の磁気データ処理装置。
【請求項４】
前記仮の位置ベクトルの重み係数は、大きい方の前記主値に対応する主軸方向の前記第二の基本ベクトルの係数について重み係数を１として各係数の重み係数が正規化されている、
請求項１から３のいずれか一項に記載の磁気データ処理装置。
【請求項５】
前記オフセット導出手段は、前記制約条件の下で下記の目的関数ｆ（ｃ）を最小にするｃを導出する、
請求項１から４のいずれか一項に記載の磁気データ処理装置。
【数１】
2007327934.tif 000018
【請求項６】
請求項１から５のいずれか一項に記載の磁気データ処理装置と、
前記２次元磁気センサと、
を備える磁気測定装置。
【請求項７】
第一の基本ベクトル群の一次結合である２次元ベクトルデータであって２次元磁気センサから出力される磁気データを順次入力し、
前記磁気データの旧オフセットを新オフセットに更新するために複数の前記磁気データを母集団データ群として蓄え、
前記旧オフセットを用いずに前記母集団データ群から導出される仮オフセットの前記旧オフセットに対する位置ベクトルであって前記母集団データ群の分布の主軸方向の第二の基本ベクトル群の一次結合である仮の位置ベクトルの各係数を前記母集団データ群の分布の主値の比に応じて重み付けした値を係数とする前記第二の基本ベクトル群の一次結合を補正ベクトルとするとき、前記旧オフセットと前記補正ベクトルの和となる前記新オフセットを求めることを制約条件として、前記旧オフセットと前記母集団データ群とに基づいて前記新オフセットを導出する、
ことを含む磁気データ処理方法。
【請求項８】
第一の基本ベクトル群の一次結合である２次元ベクトルデータであって２次元磁気センサから出力される磁気データを順次入力する入力手段と、
前記磁気データの旧オフセットを新オフセットに更新するために複数の前記磁気データを母集団データ群として蓄える蓄積手段と、
前記旧オフセットを用いずに前記母集団データ群から導出される仮オフセットの前記旧オフセットに対する位置ベクトルであって前記母集団データ群の分布の主軸方向の第二の基本ベクトル群の一次結合である仮の位置ベクトルの各係数を前記母集団データ群の分布の主値の比に応じて重み付けした値を係数とする前記第二の基本ベクトル群の一次結合を補正ベクトルとするとき、前記旧オフセットと前記補正ベクトルの和となる前記新オフセットを求めることを制約条件として、前記旧オフセットと前記母集団データ群とに基づいて前記新オフセットを導出するオフセット導出手段と、
してコンピュータを機能させる磁気データ処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は磁気データ処理装置、方法およびプログラムに関し、特に２次元磁気センサのオフセットを補正する技術に関する。
【背景技術】
【０００２】
従来、携帯型電話機、車両等の移動体に搭載され、地磁気の方向を検出する磁気センサが知られている。磁気センサは、磁界のベクトルを互いに直交する成分に分解して検出するための磁気センサモジュールを備えている。磁気センサの出力である磁気データは、そのような磁気センサモジュールのそれぞれの出力の組み合わせからなり、互いに直行する単位ベクトルの一次結合であるベクトルデータである。磁気データの方向と大きさが磁気センサが検出している磁界の方向と大きさである。磁気センサの出力に基づいて地磁気の方向または大きさを特定するとき、移動体の着磁や磁気センサ自体の温度特性による測定誤差を打ち消すために磁気センサの出力を補正する処理が必要である。この補正処理の操作値はオフセットと呼ばれ、オフセットを導出する処理はキャリブレーションと呼ばれている（たとえば特許文献１参照）。オフセットは外部磁界の大きさが０である状態で磁気センサが出力するベクトルデータであって、磁気センサの出力である磁気データからオフセットが引き算されることによって測定誤差が打ち消される。二次元磁気センサにおいては、磁気データ群が分布する円の中心の位置ベクトルがオフセットに相当する。ただし現実には、二次元磁気センサの出力である磁気データ群の分布は完全な円にならない。なぜならば、磁気センサモジュールの出力自体がガウス分布に従う測定誤差を有しているし、現実には完全に一様な磁界は存在しないためオフセットを算出するための母集団データ群が蓄積される期間中に２次元磁気センサが測定している磁界が変動するし、ＡＤ変換時の計算誤差があるからである。
【０００３】
２次元磁気センサにおいては、磁気センサモジュールの直交する感度方向に対して直交する方向に平行な回転軸線を中心にして磁気センサが回転するように磁気センサを搭載している移動体が回転することにより、オフセットを導出するために必要な母集団データ群が磁気センサから出力される。携帯型電話機、車両といった３次元の運動が可能な移動体をこのように運動させるためには、そのように運動するようにユーザが意識的に移動体を操作する必要がある。したがって二次元磁気センサのオフセットを導出するための磁気データ処理装置では、キャリブレーションの開始が明示的にユーザに案内され、ユーザによって適切に移動体が操作されることを前提にしてオフセットの導出アルゴリズムが設計されている。しかし、キャリブレーションのための操作はユーザにとって煩雑である。また従来のキャリブレーションでは、信頼できる母集団データ群が蓄積されたかを２値判定しており、ユーザの操作が正しく行われない場合には、信頼できる母集団データ群が蓄積されずにキャリブレーションが失敗し、その結果、信頼できる母集団データ群を蓄積するための操作を繰り返すことをユーザは要求される。
【０００４】
【特許文献１】国際公開第２００４／００３４７６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
本発明は、二次元磁気センサの使い勝手を向上させることを目的とする。
【課題を解決するための手段】
【０００６】
（１）上記目的を達成するための磁気データ処理装置は、第一の基本ベクトル群の一次結合である２次元ベクトルデータであって２次元磁気センサから出力される磁気データを順次入力する入力手段と、前記磁気データの旧オフセットを新オフセットに更新するために複数の前記磁気データを母集団データ群として蓄える蓄積手段と、前記旧オフセットを用いずに前記母集団データ群から導出される仮オフセットの前記旧オフセットに対する位置ベクトルであって前記母集団データ群の分布の主軸方向の第二の基本ベクトル群の一次結合である仮の位置ベクトルの各係数を前記母集団データ群の分布の主値の比に応じて重み付けした値を係数とする前記第二の基本ベクトル群の一次結合を補正ベクトルとするとき、前記旧オフセットと前記補正ベクトルの和となる前記新オフセットを求めることを制約条件として、前記旧オフセットと前記母集団データ群とに基づいて前記新オフセットを導出するオフセット導出手段と、を備える。
【０００７】
この装置で採用しているアルゴリズムを図１を参照しながら詳細に説明する。このアルゴリズムの要点は、分散が大きな主軸方向に分布している磁気データ群ほど、オフセットを更新するために用いる母集団要素として重く評価され、分散が小さな主軸方向に分布している磁気データ群ほど母集団要素として軽く評価されることにある。旧オフセットｃ０、新オフセットｃおよび仮オフセット（ｇの終点の原点Ｏに対する位置ベクトル）は、磁気データの基本ベクトル群の一次結合である２次元ベクトルデータである。すなわち、これらはｘｙという座標系で表されるベクトルデータである。新オフセットｃは、旧オフセットｃ０を新オフセットｃに更新するために蓄えられた磁気データ群と旧オフセットｃ０とに基づいて導出される。
【０００８】
新オフセットｃに更新するために蓄えられた磁気データ群である母集団データ群はあらかじめ決められた期間内に蓄積された磁気データ群で構成されてもよいし、あらかじめ決められた個数の磁気データ群で構成されてもよいし、あるタイミング（たとえばオフセットの更新要求が発生したタイミング）で蓄積されている任意の個数の磁気データ群で構成されてもよい。旧オフセットｃ０は、新オフセットｃと同様の方法で導出されるものでもよいし、あらかじめ決められているものでもよい。
【０００９】
仮オフセットは、旧オフセットｃ０を用いずに母集団データ群から導出されると定義するが、この定義は新オフセットｃを導出する制約条件を定義するための定義であって、実際に導出されなければならないデータではない。仮オフセットは、旧オフセットｃ０を用いずに母集団データ群から導出されるものであるから、実際に仮オフセットが導出されるとすれば、母集団データ群が近傍に分布する円周の中心の位置ベクトルとなる。しかし、母集団データ群がそれから導出される円周の一部を構成する中心角の狭い円弧近傍に偏って分布している場合には、母集団データ群がそれぞれ含んでいる誤差がその円周の導出結果に強く影響するため、真のオフセットから遠い仮オフセットが導出される可能性が高い。たとえば、図１に示すように、中心角の狭い円弧の近傍に母集団データ群が分布し、母集団データ群の互いに直交する固有ベクトルがｕ１、ｕ２となっている場合、小さい方の主値に対応する固有ベクトルｕ２の方向については母集団データ群の分散が小さいため、その方向については、母集団データ群から導出される仮オフセットと真のオフセットとが遠くなる可能性が高い。一方この場合、分布の固有ベクトルｕ１の方向については母集団データ群の分散が大きいため、固有ベクトルｕ１の方向については、母集団データ群から導出される仮オフセットと真のオフセットとが近くなる可能性が高い。
【００１０】
分布の主軸方向の分散は分布の主値λ１、λ２を指標として表すことができるため、この装置では、分布の主値λ１、λ２の比に応じて各主値に対応する方向に分布する母集団要素を評価する。具体的には、まず分布の主軸方向と一致する座標軸α、βをもつ座標系において、旧オフセットｃ０に対する新オフセットｃの位置ベクトルである補正ベクトルｆと旧オフセットｃ０に対する仮オフセットの位置ベクトルである仮の位置ベクトルｇを定義することができる。すなわち、補正ベクトルｆと仮の位置ベクトルｇとは分布の主軸方向の基本ベクトルの一次結合として定義することができる。これは主軸変換に相当する。そして、旧オフセットｃ０に対する仮オフセットの位置ベクトルｇの各成分ｇα、ｇβを分布の対応する主値ｕ１、ｕ２の大きさに応じて重み付けして補正ベクトルｆの各成分ｆα、ｆβを導出すると、分散が大きい方向について母集団要素の信頼性を高め、分布が小さい方向について母集団要素の信頼性を低くして補正ベクトルｆを導出することができる。ただし、このような補正ベクトルｆおよび仮の位置ベクトルｇの定義も、新オフセットｃを導出する制約条件を定義するための定義であって、実際に導出する必要があるデータではない。
【００１１】
結局、このように定義される補正ベクトルｆと旧オフセットｃ０との和として新オフセットｃを求めることを制約条件として新オフセットｃを導出することにより、母集団データ群の分布にかかわらず、分散が大きい主軸方向に分布している磁気データ群を母集団要素として重く評価し、分散が小さい主軸方向に分布している磁気データ群を母集団データ群として軽く評価しながら、新オフセットを導出することができる。このように新オフセットを導出するための手法としては、たとえば分布を最適化問題に定式化する手法がある。この装置によると、キャリブレーションのための操作がどのように行われようとも、実際に行われた操作から導出できるもっとも確からしい新オフセットを導出できるため、あらかじめ決められた操作をユーザに要求する必要がない。
【００１２】
（２）上記目的を達成するための磁気データ処理装置において、前記制約条件は、大きい方の前記主値に対する小さい方の前記主値の比があらかじめ決められた閾値以下である場合、小さい方の前記主値に対する主軸方向の前記第二の基本ベクトルの係数について前記仮の位置ベクトルの重み係数が０となる条件であってもよい。
この装置では、母集団データ群の分布が離散的に評価され、離散的に評価された結果に応じて旧オフセットｃ０に対する仮オフセットの位置ベクトルｇの各係数が離散的に重み付けされる。すなわち、分散が相対的に小さくなる方向については仮の位置ベクトルｇの係数の重み付けが０となる。つまり、この装置では、分散が相対的にある閾値よりも小さい方向については母集団データ群が全く評価されない。
【００１３】
（３）上記目的を達成するための磁気データ処理装置において、前記制約条件は、前記母集団データ群の分布の主値の比に連続的に対応する重み係数によって前記仮の位置ベクトルの係数を重み付けした値が前記補正ベクトルの係数となる条件であってもよい。
この装置によると、分散に対する連続的な対応関係が重み係数にあるため、母集団データ群の実質的利用率を向上させることができる。またこの装置によると、母集団データ群の分布に応じて処理を変更せずに新オフセットを導出可能であるため、オフセットの更新処理を簡素にすることができる。
【００１４】
（４）上記目的を達成するための磁気データ処理装置において、前記仮の位置ベクトルの重み係数は、大きい方の前記主値に対応する主軸方向の前記第二の基本ベクトルの係数について重み係数を１として各係数の重み係数が正規化されていてもよい。
尚、母集団データ群の分布の主値の比以外に分布の評価指標を導入する場合には、必ずしも大きい方の重み係数を１として各重み係数を正規化する必要はない。たとえば、母集団データ群に基づいてその母集団データ群の分布がその一部に近似している円周として導出される円の半径に対する、大きい方の主値に対応する主軸方向（すなわち主方向）についての磁気データ間の最大距離の比に応じて最大の重み係数を１未満にすることもできる。
【００１５】
（５）上記目的を達成するための磁気データ処理装置において、前記オフセット導出手段は、前記制約条件の下で下記の目的関数ｆ（ｃ）を最小にするｃを導出してもよい。
【数１】
2007327934.tif 000003
本明細書において、ベクトルは全て列ベクトルとし、行ベクトルは列ベクトルの転置行列として表現される。また、転置行列は行列の右肩にＴの記号が付される。
この装置によると、制約条件付きの分布の最適化問題として新オフセットを導出するため、例えば、実施形態として後述するような単純な連立一次方程式を解くことにより、新オフセットを導出することができる。つまり、この装置によると、母集団データ群の分布にかかわらず、その母集団データ群から導出できるもっとも確からしい新オフセットを簡素な処理で導出することができる。
【００１６】
尚、本発明に備わる複数の手段の各機能は、構成自体で機能が特定されるハードウェア資源、プログラムにより機能が特定されるハードウェア資源、又はそれらの組み合わせにより実現される。また、これら複数の手段の各機能は、各々が物理的に互いに独立したハードウェア資源で実現されるものに限定されない。また、本発明は装置の発明として特定できるだけでなく、プログラムの発明としても、そのプログラムを記録した記録媒体の発明としても、方法の発明としても特定することができる。また、請求項に記載された方法の各動作の順序は、技術上の阻害要因がない限り、記載順に限定されるものではなく、どのような順番で実行されてもよく、また同時に実行されてもよい。
【発明を実施するための最良の形態】
【００１７】
以下、本発明の実施の形態を以下の順に説明する。
Ａ．第一の実施形態
［１．全体説明］
１−１．ハードウェア構成
１−２．ソフトウェア構成
［２．処理の流れ］
２−１．全体の流れ
２−２．バッファ更新
２−３．分布の評価
２−４．最適化問題による新オフセットの導出
２−５．分布が二次元的である場合の新オフセットの導出
２−６．分布がやや直線的である場合の新オフセットの導出
２−７．まとめ
Ｂ．第二の実施形態
・概要
・分布の評価
・新オフセットの導出
Ｃ．他の実施形態
【００１８】
［１．全体説明］
１−１．ハードウェア構成
図２は、本発明が適用される移動体の一例である自動車２の外観を示す模式図である。自動車２には２次元磁気センサ４が搭載されている。２次元磁気センサ４は互いに直交するｘ、ｙの２方向について磁界の強さを検出することによって磁界の方向及び強さを検出する。２次元磁気センサ４は、自動車２に搭載されるナビゲーションシステムの一部を構成し、自動車２の進行方位を特定するために用いられる。
【００１９】
図３は、２次元磁気センサ４と磁気データ処理装置１とを備える磁気測定装置を示すブロック図である。２次元磁気センサ４は、地磁気による磁界ベクトルのｘ方向成分、ｙ方向成分をそれぞれ検出するｘ軸センサ３０とｙ軸センサ３２とを備えている。ｘ軸センサ３０、ｙ軸センサ３２は、いずれも磁気抵抗素子、ホール素子等で構成され、指向性のある１次元磁気センサであればどのようなものであってもよい。ｘ軸センサ３０およびｙ軸センサ３２は、それぞれの感度方向が互いに直交するように固定されている。ｘ軸センサ３０およびｙ軸センサ３２の出力は、時分割して磁気センサＩ／Ｆ（Inter face）２２に入力される。磁気センサＩ／Ｆ２２では、ｘ軸センサ３０およびｙ軸センサ３２からの入力が増幅された後にＡＤ変換される。磁気センサＩ／Ｆ２２から出力されるディジタルの磁気データは、バス５を介して磁気データ処理装置１に入力される。
【００２０】
磁気データ処理装置１は、ＣＰＵ４０とＲＯＭ４２とＲＡＭ４４とを備えている所謂コンピュータである。ＣＰＵ４０は、例えばナビゲーションシステムの全体制御を司るプロセッサである。ＲＯＭ４２は、ＣＰＵ４０によって実行される磁気データ処理プログラムや、ナビゲーションシステムの機能を実現するための種々のプログラムが格納されている、不揮発性の記憶媒体である。ＲＡＭ４４はＣＰＵ４０の処理対象となるデータを一時的に保持する揮発性の記憶媒体である。尚、磁気データ処理装置１と２次元磁気センサ４とを１チップの磁気測定装置として構成することもできる。
【００２１】
１−２．ソフトウェア構成
図４は、磁気データ処理プログラム９０の構成を示すブロック図である。磁気データ処理プログラム９０は、ロケータ９８に方位データを提供するためのプログラムであって、ＲＯＭ４２に格納されている。方位データは地磁気の方向を示す２次元ベクトルデータである。磁気データ処理プログラム９０は、バッファ管理モジュール９２、オフセット導出モジュール９４、方位導出モジュール９６等のモジュール群で構成されている。
【００２２】
バッファ管理モジュール９２は、磁気センサ４から順次出力される磁気データを入力し、入力した磁気データをオフセット更新に用いるためにバッファに蓄積するプログラム部品であって、ＣＰＵ４０、ＲＡＭ４４及びＲＯＭ４２を入力手段及び蓄積手段として機能させる。尚、このバッファはハードウェアで構成されてもよいし、ソフトウェアで構成されてもよい。このバッファに蓄積される磁気データ群を母集団データ群というものとする。
【００２３】
オフセット導出モジュール９４は、バッファ管理モジュール９２によって保持されている母集団データ群と、自らが保持している旧オフセットとに基づいて新オフセットを導出し、旧オフセットを新オフセットに更新するプログラム部品であって、ＣＰＵ４０、ＲＡＭ４４及びＲＯＭ４２をオフセット導出手段として機能させる。尚、旧オフセットが新オフセットに更新された時点でその新オフセットは旧オフセットになるため、誤解のない文脈では旧オフセットのことを単にオフセットというものとする。実際には、方位データの補正に用いられるオフセットは１つの変数に設定され、新オフセットはその変数とは別の変数として導出され、導出された時点で方位データの補正に用いられる変数に設定されるので、方位データの補正に用いられる変数は旧オフセットが格納される変数である。
【００２４】
方位導出モジュール９６は、磁気センサ４から順次出力される磁気データをオフセット導出モジュール９４が保持しているオフセットによって補正して方位データを生成するプログラム部品である。具体的には、方位導出モジュール９６は、２次元ベクトルデータである磁気データの各成分からオフセットの各成分を引き算して得られる２成分からなるデータを方位データとして出力する。
【００２５】
ロケータ９８は自律航法により自動車２の現在地を特定する周知のプログラムである。具体的には、ロケータ９８は方位データに基づいて自動車２の進行方位を特定し、進行方位と走行距離とに基づいて基点に対する自動車２の位置を特定する。尚、方位データは、単に東西南北を文字や矢印で画面表示するためにのみ用いられてもよいし、画面上に表示される地図のヘディングアップ処理に用いられてもよい。
【００２６】
［２．処理の流れ］
２−１．全体の流れ
図５は、新オフセットを導出する処理の流れを示すフローチャートである。図５に示す処理は、オフセットの更新要求が発生したときにＣＰＵ４０がバッファ管理モジュールおよびオフセット導出モジュール９４を実行することによって進行する。オフセットの更新要求は、一定の時間間隔で発生してもよいし、ドライバーの明示的な指示により発生してもよい。
【００２７】
２−２．バッファ更新
ステップＳ１００では、新オフセットの導出に用いられる磁気データ群（母集団データ群）を蓄積するためのバッファに蓄積されている全ての磁気データが消去される。その結果、旧オフセットの導出に用いられた母集団データ群が消去される。
ステップＳ１０２では、新オフセットの導出に用いられる磁気データが入力されバッファへ格納される。自動車２の進行方位がほとんど変化していない状況において、短い時間間隔で順次磁気センサ４から磁気データを入力すると、連続入力される２つの磁気データ間の距離が近くなる。距離が互いに近い複数の磁気データが限られた容量のバッファに格納されることは、メモリ資源の浪費であるし、無駄なバッファの更新処理を発生させる。また、互いの距離が近い磁気データ群に基づいて新オフセットを導出すると、偏った分布を持つ母集団データ群に基づいて精度の低い新オフセットが導出される可能性がある。そこで、バッファの更新必要性が次のように判定されてもよい。例えば、直前にバッファに格納された磁気データと最後に入力された磁気データとの距離があるしきい値より小さければ、バッファの更新必要性がないと判定され、最後に入力された磁気データはバッファに格納されることなく破棄される。
【００２８】
ステップＳ１０４では、精度よく新オフセットを導出するために必要な規定個数の磁気データがバッファに蓄積されたかが判定される。すなわち、母集団データ群の要素数は予め決められている。予め決める母集団データ群の要素数を少なく設定することにより、オフセットの更新要求に対するレスポンスが向上する。規定個数の磁気データがバッファに蓄積されるまで、ステップＳ１０２とステップＳ１０４の処理が繰り返される。
【００２９】
２−３．分布の評価
規定個数の磁気データがバッファに蓄積されると、母集団データ群の分布が評価される（ステップＳ１０６）。分布は、分布の主値に基づいて評価される。磁気データ群を次式（１）で表すとき、
qi=(qix,qiy)  (i=0,1,2・・・)・・・（１）
分布の主値は、母集団データ群の重心（平均）を始点とし各磁気データを終点とするベクトルの和を用いて式（２）、（３）、（４）で定義される対称行列Ａの固有値である。
【数２】
2007327934.tif 000004
【００３０】
行列Ａは、式（５）とも書けるため、分散共分散行列のＮ倍に相当する。
【数３】
2007327934.tif 000005
【００３１】
行列Ａの固有値を大きい順にλ1、λ2とする。またλ1、λ2に対応し、大きさ１で正規化され互いに直交する固有ベクトルをｕ1、ｕ2とする。本実施形態で扱う範囲では、Ａは正則であるとし、λ1＞０、λ2＞０である。小さい方の固有値λ2が０になるとき、言い換えると行列Ａの階数が１以下のときは、母集団データ群の要素数が１であるか、分布が完全な直線であるため、考慮する必要はない。また行列Ａは、その定義から非負定値行列であるため、固有値は必ず０または正の実数となる。
母集団データ群の分布は、大きい方の固有値に対する小さい方の固有値の比であるλ2／λ1に基づいて評価される。
【００３２】
ステップＳ１０６では母集団データ群の分布が十分二次元的であるかが判定される。具体的には、次式（６）を満足する場合に肯定判定され、満足しない場合に否定判定される。
λ2／λ1＞ｔ・・・（６）
特定の円周上に母集団データ群が広く分布しているとき、式（６）が満たされる。
【００３３】
ステップＳ１０６で否定判定される場合、母集団データ群の分布はやや直線的である。特定の円周の中心角の狭い弧に母集団データ群が偏って分布しているとき、母集団データ群の分布がやや直線的になる。
【００３４】
２−４．最適化問題による新オフセットの導出
ここで新オフセットを導出するための最適化問題について説明する。
母集団データ群が同一直線上にない３つの磁気データで構成されている場合、母集団データ群が分布する円周は統計的手法を用いることなく一意に特定される。この円周の中心の位置ベクトルｃ＝（ｃx、ｃy）は連立方程式（７）を解くことによって得られる。尚、２変数に対して等号制約が３つあるが、等号制約の１つは冗長になっているため方程式（７）は必ず解を持つ。
【数４】
2007327934.tif 000006
【００３５】
母集団データ群の要素数が４個以上あるときについて、ｊを次式（９）で定義する。
【数５】
2007327934.tif 000007
このとき、ｃについての連立一次方程式（１０）が解を持てば、その解は、母集団データ群が分布する円周の中心である。
Ｘｃ=ｊ・・・（１０）
【００３６】
しかし、２次元磁気センサ４自体の測定誤差を考慮すると、現実には、方程式（１０）が解を持つことはあり得ない。そこで、統計的な手法により尤もらしい解を得るために、次式（１１）で定義されるベクトルｅを導入する。
ｅ＝Ｘｃ−ｊ・・・（１１）
【００３７】
||ｅ||22（すなわちｅTｅ）を最小にするｃが、母集団データ群が最も近くに分布する円周の中心として尤もらしいといえる。||ｅ||22を最小にするｃを求める問題は、行列Ａが正則のときには次式（１２）の目的関数を最小にする最適化問題となる。
【数６】
2007327934.tif 000008
【００３８】
２−５．分布が二次元的である場合の新オフセットの導出
図６に示すように母集団データ群の分布が十分二次元的である場合、全体として母集団データ群を十分信頼できるため、式（１２）の目的関数ｆ（ｃ）を最小にするｃを制約条件なしで求めることにより、新オフセットが導出される（ステップＳ１０８）。制約条件なしで目的関数ｆ（ｃ）を最小にするｃは、本実施形態で想定している（ＸＴＸ）が正則のときは式（１３）のように書くことができる。
【数７】
2007327934.tif 000009
【００３９】
式（１３）を満たすｃを導出すると、旧オフセットを用いることなく、旧オフセットを２方向に補正することによって得られる新オフセットが母集団データ群に基づいて導出される。
母集団データ群が十分二次元的である場合には、新オフセットを導出するために旧オフセットを用いる必要がない。旧オフセットを用いることなく母集団データ群に基づいて新オフセットを導出するアルゴリズムは、種々提案されており、本実施形態のように統計的手法を用いるアルゴリズムであってもよいし、統計的手法を用いないアルゴリズムであってもよい。
【００４０】
２−６．分布がやや直線的である場合の新オフセットの導出
図７に示すように母集団データ群が中心角の狭い円弧近傍に分布しているためにその分布がやや直線的である場合、旧オフセットに対する補正方向を分布の主方向に制限して新オフセットが導出される（ステップＳ１１０）。母集団データ群がある特定の直線近傍に分布している場合、その直線の方向については母集団データ群を十分信頼でき、それ以外の方向については母集団データ群を信頼できないことになる。このような場合には、その直線の方向以外の方向については旧オフセットを補正しないことにより、信頼に値しない情報に基づいてオフセットが更新されることを防止できる。
【００４１】
母集団データ群がある特定の直線近傍に分布している場合、その直線の方向は、大きい方の固有値λ1に対応する固有ベクトルｕ1の方向（主方向）に一致し、小さい方の固有値λ2に対応する固有ベクトルｕ2の方向はその直線に垂直な方向である。したがって、その直線の方向についてのみ旧オフセットを補正して新オフセットを導出するために、次式（１４）の制約条件のもとで式（１２）の目的関数が最小になる新オフセットｃを求める。
【数８】
2007327934.tif 000010
【００４２】
式（１４）の制約条件のもとで式（１２）の最適化問題を解く式は、ラグランジュの未定定数法によって等価な連立方程式に変形できる。未定定数ρを導入し、
【数９】
2007327934.tif 000011
とすると、ｘの連立一次方程式（１６）がその方程式となる。
【数１０】
2007327934.tif 000012
【００４３】
以上説明したことから理解されるように、母集団データ群の分布がやや直線的である場合、ステップＳ１１０において新オフセットを導出する処理は、連立一次方程式（１６）を解くことである。尚、行列Ｂ3の階数は必ず３になるため、解ｘは必ず一意に特定される。
【００４４】
２−７．まとめ
ここで図６、７に基づいて、ステップＳ１０８、Ｓ１１０の処理を空間的な概念を用いて説明する。母集団データ群を完全に信頼できるものとすれば、旧オフセットｃ0に対する、母集団データ群のみから導出される円周の中心の位置ベクトルｇ（仮の位置ベクトル）と、旧オフセットｃ0との和として新オフセットｃを考えることにより、新オフセットｃは次式（１９）によって定義される。
ｃ＝ｃ0＋ｇ・・・（１９）
【００４５】
新オフセットの位置ベクトルｃは、分布の固有ベクトルｕ1、ｕ2と同じ方向の基本ベクトルの一次結合である補正ベクトルｆと、旧オフセットｃ０との和として考えられる。このため、母集団データ群の重心の位置ベクトルｇの係数ｇα、ｇβを、対応する主軸方向についての母集団データ群の信頼度に応じて重み付けすることにより、母集団データ群の重心の位置ベクトルｇを各成分の信頼度に応じて補正したベクトルに相当する補正ベクトルｆを得ることができる。
【００４６】
図６に示すように母集団データ群の分布が十分二次元的である場合に実行されるステップＳ１０８では、前述したとおり、制約条件なしで式（１２）の目的関数を最小にするｃが求められる。しかし、この処理は、仮の位置ベクトルｇの分布の２つの主軸方向の成分ｇαおよびｇβをともに重み係数を１として求まる補正ベクトルｆ（位置ベクトルｇと一致するため図示略）と旧オフセットｃ０の和として新オフセットを求めることを制約条件としているともいえる。
【００４７】
図７に示すように母集団データ群の分布がやや直線的である場合に実行されるステップＳ１１０では、旧オフセットｃ0と母集団データ群とに基づいて新オフセットを導出するにあたり次の制約条件を付している。その制約条件は、分布の大きい方の主値、すなわち固有値λ1に対応する分布の主軸方向（主方向）の成分ｇαについて仮の位置ベクトルｇの重み係数を１とし、分布の小さい方の主値、すなわち固有値λ2に対応する主軸方向の成分ｇβについて、位置ベクトルｇの重み係数を０として求まる補正ベクトルｆと旧オフセットｃ0の和として新オフセットｃを求めることである。
【００４８】
このように本実施形態のアルゴリズムの要点は、母集団データ群の分布の主値の比があらかじめ決められた閾値ｔより大きい場合には、仮の位置ベクトルｇの２成分の重み係数をともに１とし、母集団データ群の分布の主値の比があらかじめ決められた閾値ｔ以下である場合には、分布の主方向の仮の位置ベクトルｇの成分の重み係数を１とし、分布が小さい方向の主軸方向の仮の位置ベクトルｇの成分の重み係数を０とする制約条件の下で式（１２）の目的関数を最小にするｃを求めることにある。
【００４９】
Ｂ．第二の実施形態
・概要
第一の実施形態では、母集団データ群の分布を離散的に評価し、分布が十分二次元的である場合と、分布がやや直線的である場合とで異なる手法を用いて新オフセットｃを導出した。第二の実施形態では、第一の実施形態のように分布の評価に応じて異なる処理を実行する必要がなく、また母集団データ群を効率よく用いてより確からしい新オフセットを導出できる、簡素かつ高精度なアルゴリズムが説明される。
【００５０】
図８は、新オフセットを導出する処理の流れを示すフローチャートである。図８に示す処理は、第一実施形態と同様に、オフセットの更新要求が発生したときにＣＰＵ４０がオフセット導出モジュール９４を実行することによって進行する。尚、ステップＳ２００の処理は第一実施形態において説明したステップＳ１００の処理と同一である。ステップＳ２０２の処理は第一実施形態において説明したステップＳ１０２の処理と同一である。ステップＳ２０４の処理は第一実施形態において説明したステップＳ１０４の処理と同一である。
【００５１】
・分布の評価
ステップＳ２０６では、母集団データ群の分布指標が導出される。具体的にはたとえば、次式（２０）によって定義するｍ2を分布指標として導出することにより、母集団データ群の分布が連続的な値として評価される。
【数１１】
2007327934.tif 000013
【００５２】
ｋ2は予め決められている正の定数である。ｋ2の値によって主値とそれに対応する母集団データ群の主軸方向の信頼度の対応関係が定まる。ここで、ｍ2は必ず次式（２１）を満たす。
０≦ｍ2＜１・・・（２１）
【００５３】
図１に基づいてｍ2の空間的な概念を説明する。対応する主値が大きい分布の主軸方向成分の順に仮の位置ベクトルｇの係数をｇα、ｇβとし、対応する主値が大きい主軸方向成分の順に補正ベクトルｆの係数をｆα、ｆβとするとき、本実施形態において仮の位置ベクトルｇと補正ベクトルｆとｍ2との関係は次式（２２）、（２３）の通りである。
【数１２】
2007327934.tif 000014
【００５４】
尚、最大の主値に対応する主軸方向の成分に係る重み係数ｆα／ｇαを１未満に設定してもよい。また、各重み係数が主値の比に連続的に対応するように定めるｍ２は、以下の条件を満たせばどのような定義でもよく、式（２０）の定義に限られるものではない。
・値域が［０，１］となるか、もしくはその部分集合となること。
・λ２／λ１＝１のときｍ２≠１であること。
・λ２＝０も許す場合、λ２／λ１＝０のときｍ２＝１であること。
・λ２／λ１の増加に対して広義の単調減少をすること。
具体的にはたとえば次式（２４）でｍ２を定義してもよい。
【数１３】
2007327934.tif 000015
【００５５】
式（２４）で定義されるｍ２を導出するための計算量は相当多いため、λ１、λ２を入力とする二次元のルックアップテーブルに式（２４）の計算結果を格納しておき、ルックアップテーブルを参照してｍ２の近似値を導出してもよい。
また係数ｓ、ｋは、それらの値によって重み付けの効果が変わるため、実施形態に応じて設定すればよい。図９および図１０は係数ｓ、ｋに応じて変わる重み付けの効果を表すグラフである。図９では、式（２４）においてｓを１に固定し、ｋを１／４、１、４に設定したときの重み付け係数ｍ２と固有値の比（λ２／λ１）の関係を示している。図１０では、式（２４）においてｋを１／４に固定し、ｓを１／２、１、２に設定したときの重み付け係数ｍ２と固有値の比（λ２／λ１）の関係を示している。
【００５６】
携帯型電話機やＰＤＡ（Personal Digital Assistant）など、速い角速度で姿勢変化する移動体に磁気センサが搭載される場合、任意の一定時間に蓄積される磁気データ群の分布が平均すると比較的広くなることが期待できる。分布がさほど広くないときに信頼度の比較的低い磁気データ群である主値が小さい主軸方向の磁気データ群を重く評価してオフセットを補正するとかえってオフセットの精度が低下する。このため、磁気データ群の分布が比較的広くなる傾向が生ずる移動体に適用する場合には、分布が相当広いときにだけ主値が小さい主軸方向の磁気データ群を重く評価するようにｓ、ｋの値を設定することが望ましい。ここで、式（２４）のｍ２の値が小さくなることは主値が小さい分布の主軸方向の重み付けが大きくなることを意味する。したがって、速い角速度で姿勢変化する移動体に式（２４）を適用する場合には、ｓを比較的大きくｋを比較的小さく設定することが望ましい。
【００５７】
一方、自動車など、遅い角速度で姿勢変化する移動体に磁気センサが搭載される場合、任意の一定時間に蓄積される磁気データ群の分布が平均すると比較的狭くなることが想定される。このような場合には、信頼度が低い磁気データ群である主値が小さい主軸方向の磁気データ群を、分布がさほど広くないときにも重く評価せずにオフセットを補正するとオフセットの精度が上がらない。したがって、遅い角速度で姿勢変化する移動体に式（２４）を適用する場合には、ｓを比較的小さくｋを比較的大きく設定することが望ましい。
【００５８】
・新オフセットの導出
最適化問題の解を特定の制約条件の下で導出することが困難である場合、その制約条件を緩めて最適化問題を解くことに相当する緩和問題が導入されることがある。本実施形態では、このような緩和問題を応用することにより、母集団データ群の分布の主値の比に連続的に対応する重み係数によって前述した仮の位置ベクトルｇ（図１参照）の係数ｇα、ｇβを重み付けして得られる補正ベクトルｆと、旧オフセットｃ0との和として新オフセットｃを導出する処理が実現される。具体的には次の通りである。
【００５９】
途中計算に必要な変数として未定定数ρを導入し、ｃ、ρを１つのベクトルにまとめ、次式（２６）によりｘを定義する。
【数１４】
2007327934.tif 000016
【００６０】
また、行列Ｂを式（２７）、ベクトルｂを式（２８）によって定義する。
【数１５】
2007327934.tif 000017
【００６１】
ステップＳ２０８において新オフセットを導出する処理は、次の連立方程式（２９）の解を求める処理となる。尚、行列Ｂは必ず正則であるので、ｘは一意に特定される。
Ｂｘ＝ｂ・・・（２９）
連立方程式（２９）の解を求めることは、母集団データ群の分布の主値の比に連続的に対応している重み係数ｆα／ｇα、ｆβ／ｇβによって、各主値に対応する分布の主軸方向の位置ベクトルｇの係数を重み付けした値を各成分とする補正ベクトルｆと旧オフセットｃ0との和として新オフセットを求めることを制約条件として、式（１２）の目的関数を最小にする最適化問題を解くことと等価である。
【００６２】
このように、第二実施形態では、新オフセットを導出する処理を母集団データ群の分布に応じて分岐させる必要がないため、オフセット導出モジュール９４の開発や改良が容易であり、オフセット導出モジュール９４のデータサイズが小さくなる。また、第二実施形態では、母集団データ群の分布の主値が０でない限り、分布の主軸方向に旧オフセットを主値の比に連続的に対応する距離だけ補正することができるため、オフセット導出モジュール９４による母集団データ群の利用効率が高く、方位導出モジュールにおいて最も確からしいオフセットを用いて磁気データを補正できる。
【００６３】
Ｃ．他の実施形態
本発明は、上記実施形態に限定されるものではなく、その要旨を逸脱しない範囲で種々の形態で実施可能である。例えば、本発明がＰＤＡ、携帯型電話機、自動二輪車、船舶などに搭載される磁気センサにも適用できることは当然である。
【図面の簡単な説明】
【００６４】
【図１】本発明の実施形態に係る模式図。
【図２】本発明の実施形態に係る模式図。
【図３】本発明の実施形態に係るブロック図。
【図４】本発明の実施形態に係るブロック図。
【図５】本発明の第一実施形態に係るフローチャート。
【図６】本発明の第一実施形態に係る模式図。
【図７】本発明の第一実施形態に係る模式図。
【図８】本発明の第二実施形態に係るフローチャート。
【図９】本発明の第二実施形態に係るグラフ。
【図１０】本発明の第二実施形態に係るグラフ。
【符号の説明】
【００６５】
１：磁気データ処理装置、２：自動車（移動体）、４：２次元磁気センサ、９０：磁気データ処理プログラム、９２：バッファ管理モジュール（入力手段、蓄積手段）、９４：オフセット導出モジュール（オフセット導出手段）、ｃ0：旧オフセット、ｃ：新オフセット、ｇ：仮の位置ベクトル、ｆ：補正ベクトル
【図１】
2007327934.tif 000019
【図２】
2007327934.tif 000020
【図３】
2007327934.tif 000021
【図４】
2007327934.tif 000022
【図５】
2007327934.tif 000023
【図６】
2007327934.tif 000024
【図７】
2007327934.tif 000025
【図８】
2007327934.tif 000026
【図９】
2007327934.tif 000027
【図１０】
2007327934.tif 000028