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