(57)【要約】      （修正有）【課題】３次元磁気センサが特定の軸周りを回転している状態において、その回転軸方向に磁気データのオフセットが補正されることができる磁気データ処理装置を提供する。【解決手段】磁気データ処理装置１は、３次元磁気センサ２０から出力される磁気データを順次取得しながら４つ以上の所定数の前記磁気データを母集団として繰り返し蓄積する蓄積手段９１と、前記所定数の母集団が蓄積される度に前記母集団が拡散しているか否かを第一閾値および第二閾値を用いて判定する判定手段９２と、前記母集団が平面的に拡散しているとともに前記第一平面と前記第二平面とのなす角が無視すべき程度に小さくない場合、前記第一平面と平行な方向に前記現在のオフセットが移動するように前記母集団に基づいて前記現在のオフセットを更新するオフセット更新手段９３とを備える。【選択図】図１
2011022025.tif 000002
【特許請求の範囲】
【請求項１】
３次元磁気センサから出力される磁気データを順次取得しながら４つ以上の所定数の前記磁気データを母集団として繰り返し蓄積する蓄積手段と、
前記所定数の母集団が蓄積される度に前記母集団が平面的に拡散しているか否かを第一閾値を用いて判定し、前記母集団が平面的に拡散している場合、前記母集団が近傍に集中している円を含む第一平面と、前記円の中心と現在のオフセットとを結ぶ線分に垂直な第二平面とのなす角が無視すべき程度に小さいか否かを第二閾値を用いて判定する判定手段と、
前記母集団が平面的に拡散しているとともに前記第一平面と前記第二平面とのなす角が無視すべき程度に小さくない場合、前記第一平面と平行な方向に前記現在のオフセットが移動するように前記母集団に基づいて前記現在のオフセットを更新するオフセット更新手段と、
を備える磁気データ処理装置。
【請求項２】
前記オフセット更新手段は、前記円の中心を通り前記第一平面と垂直な直線に前記現在のオフセットから下ろした垂線の足をオフセット候補として導出し、前記母集団が平面的に拡散しているとともに前記第一平面と前記第二平面とのなす角が無視すべき程度に小さくない場合、前記オフセット候補に前記現在のオフセットを更新する、
請求項１に記載の磁気データ処理装置。
【請求項３】
前記３次元磁気センサをさらに備える、
請求項１または２に記載の磁気データ処理装置。
【請求項４】
３次元磁気センサから出力される磁気データを順次取得しながら４つ以上の所定数の前記磁気データを母集団として繰り返し蓄積する蓄積手段と、
前記所定数の母集団が蓄積される度に前記母集団が平面的に拡散しているか否かを第一閾値を用いて判定し、前記母集団が平面的に拡散している場合、前記母集団が近傍に集中している円を含む第一平面と、前記円の中心と現在のオフセットとを結ぶ線分に垂直な第二平面とのなす角が無視すべき程度に小さいか否かを第二閾値を用いて判定する判定手段と、
前記母集団が平面的に拡散しているとともに前記第一平面と前記第二平面とのなす角が無視すべき程度に小さくない場合、前記第一平面と平行な方向に前記現在のオフセットが移動するように前記母集団に基づいて前記現在のオフセットを更新するオフセット更新手段と、
してコンピューターを機能させる磁気データ処理プログラム。
【請求項５】
３次元磁気センサから出力される磁気データを順次取得しながら４つ以上の所定数の前記磁気データを母集団として繰り返し蓄積し、
前記所定数の母集団が蓄積される度に前記母集団が平面的に拡散しているか否かを第一閾値を用いて判定し、前記母集団が平面的に拡散している場合、前記母集団が近傍に集中している円を含む第一平面と、前記円の中心と現在のオフセットとを結ぶ線分に垂直な第二平面とのなす角が無視すべき程度に小さいか否かを第二閾値を用いて判定し、
前記母集団が平面的に拡散しているとともに前記第一平面と前記第二平面とのなす角が無視すべき程度に小さくない場合、前記第一平面と平行な方向に前記現在のオフセットが移動するように前記母集団に基づいて前記現在のオフセットを更新する、
ことを含む磁気データ処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は磁気データ処理装置、磁気データ処理方法及び磁気データ処理プログラムに関し、特に３次元地磁気データのオフセットを更新する技術に関する。
【背景技術】
【０００２】
従来、携帯型電話機等の移動体に搭載され、地磁気の方向を検出する３次元地磁気センサが知られている。磁気データ処理装置が磁気データに基づいて方位を導出するとき、移動体の着磁による測定誤差を打ち消すために磁気データを補正する処理が必要である。この補正処理の操作値は、複数の磁気データに基づいて導出され、オフセットと呼ばれる。
【０００３】
ところで、磁気データには移動体の着磁によるオフセット成分以外にも、移動体に搭載されている電子回路が発生源となる磁気や、ガウス分布に従う磁気センサの出力のゆらぎなどによる誤差成分が含まれている。したがって、移動体の着磁による真のオフセットを正確に導出するためには、球面の広い範囲に立体的に拡散した磁気データを蓄積することが必要となる。しかし、このような磁気データが蓄積されるような移動体の運動は特殊であるから、一般には、移動体に特殊な運動をさせるための操作がユーザーに要求される。そして、真のオフセットは不定期に変動するため、ユーザーが頻繁にそのような操作をしない限り、磁気データ処理装置によって導出されるオフセットと真のオフセットとのずれが大きくなる可能性が高まる。これまでに本件発明者は、ユーザーに特殊な操作を要求することなく、真のオフセットに近いオフセットを維持できる発明を創作している（特許文献１参照）。特許文献１には、母集団としての磁気データの分布が立体的である場合には母集団に基づいて３次元的にオフセットを導出し、母集団としての磁気データの分布が平面的である場合には２次元的にオフセットを導出する方法が開示されている。この方法は、磁気データが立体的に拡散していない場合であっても、磁気データが平面的に拡散している場合であれば、磁気データが拡散している平面に平行な方向について２次元的にオフセットを補正するものである。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００７−２４０２７０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
特許文献１に記載の発明によると、磁気センサが特定の軸周りを回転している状態においては、平面的に磁気データが拡散するため、２次元的なオフセットの補正が繰り返される。しかし、移動体に搭載されている電子回路が発生源となる磁気や、ガウス分布に従う磁気センサの出力のゆらぎなどによる誤差成分が磁気データに含まれているため、磁気センサが特定の軸周りを回転していても、母集団が近傍に集中する平面は揺れ動くことになる。その結果、特許文献１に記載の発明によると、母集団が近傍に集中する平面と垂直な方向にはオフセットを補正すべきではないのにも関わらず、その方向にオフセットが補正されるという問題がある。
【０００６】
本発明は、この問題を解決するために創作されたものであって、３次元磁気センサが特定の軸周りを回転している状態において、その回転軸方向に磁気データのオフセットが補正されることによってオフセットが不適切に補正されることを防止することを目的の１つとする。
【課題を解決するための手段】
【０００７】
（１）上記目的を達成するための磁気データ処理装置は、３次元磁気センサから出力される磁気データを順次取得しながら４つ以上の所定数の前記磁気データを母集団として繰り返し蓄積する蓄積手段と、前記所定数の母集団が蓄積される度に前記母集団が平面的に拡散しているか否かを第一閾値を用いて判定し、前記母集団が平面的に拡散している場合、前記母集団が近傍に集中している円を含む第一平面と、前記円の中心と現在のオフセットとを結ぶ線分に垂直な第二平面とのなす角が無視すべき程度に小さいか否かを第二閾値を用いて判定する判定手段と、前記母集団が平面的に拡散しているとともに前記第一平面と前記第二平面とのなす角が無視すべき程度に小さくない場合、前記第一平面と平行な方向に前記現在のオフセットが移動するように前記母集団に基づいて前記現在のオフセットを更新するオフセット更新手段と、を備える。
【０００８】
現在のオフセットを真のオフセットとみなすと、移動体の外部磁場が一定に安定している空間において３次元磁気センサが特定の軸周りを回転している状態では、移動体に搭載されている電子回路が発生源となる磁気や、ガウス分布に従う磁気センサの出力のゆらぎなどの影響を受けない限り、母集団が近傍に集中する平面は揺れ動かないため、第一平面と第二平面は一致する。しかし実際には、移動体に搭載されている電子回路が発生源となる磁気や、ガウス分布に従う磁気センサの出力のゆらぎなどの影響を受けるため、３次元磁気センサが特定の軸周りを回転している状態においても、第一平面と第二平面とはごく小さな角度を持って交わることになる。そこで、本発明においては、第一平面と第二平面とがごく小さな角度をもって交わっている場合には、第一平面と平行な方向にオフセットが移動するようなオフセットの更新を行わない。したがって本発明によると、３次元磁気センサが特定の軸周りを回転している状態において、その回転軸方向に磁気データのオフセットが補正されることによってオフセットが不適切に補正されることを防止することができる。なお、「母集団が平面的に拡散している」とは、母集団が特定の平面の近傍に集中しているとともに母集団からその平面に下ろした垂線の足がある程度広く拡散していることを意味し、具体的には第一の閾値を基準として定義される「程度」である。そして、母集団が平面的に拡散している場合には、母集団が特定の円の近傍に集中していることになる。また、第一平面と第二平面とのなす角が「無視すべき程度に小さい」とは、移動体に搭載されている電子回路が発生源となる磁気や、ガウス分布に従う磁気センサの出力のゆらぎなどによって母集団に含まれる誤差成分に対応する程度に小さいことを意味し、具体的には第二閾値を基準として定義される「程度」である。
【０００９】
（２）上記目的を達成するための磁気データ処理装置において、前記オフセット更新手段は、前記円の中心を通り前記第一平面と垂直な直線に前記現在のオフセットから下ろした垂線の足をオフセット候補として導出し、前記母集団が平面的に拡散しているとともに前記第一平面と前記第二平面とのなす角が無視すべき程度に小さくない場合、前記オフセット候補に前記現在のオフセットを更新してもよい。
本発明によると、母集団の信頼性が高い方向において真のオフセットに近づくようにオフセットを更新することができる。
【００１０】
なお、請求項に記載された各手段の機能は、構成自体で機能が特定されるハードウェア資源、プログラムにより機能が特定されるハードウェア資源、又はそれらの組み合わせにより実現される。また、これら各手段の機能は、各々が物理的に互いに独立したハードウェア資源で実現されるものに限定されない。さらに、本発明は磁気データ処理方法としても、磁気データ処理プログラムとしても、磁気データ処理プログラムの記録媒体としても成立する。むろん、そのコンピュータプログラムの記録媒体は、磁気記録媒体であってもよいし光磁気記録媒体であってもよいし、今後開発されるいかなる記録媒体であってもよい。
【図面の簡単な説明】
【００１１】
【図１】本発明の実施形態にかかるブロック図。
【図２】本発明の実施形態にかかる模式図。
【図３】本発明の実施形態にかかるフローチャート。
【図４】本発明の実施形態にかかる模式図。
【図５】本発明の実施形態にかかる模式図。
【図６】本発明の実施形態にかかる模式図。
【発明を実施するための形態】
【００１２】
以下、本発明の実施の形態を添付図面を参照しながら説明する。尚、各図において対応する構成要素には同一の符号が付され、重複する説明は省略される。
１．概要
本発明の実施形態では、直近母集団としての磁気データの分布が立体的である場合には直近母集団に基づいて３次元的に現在のオフセットが補正される。一方、直近母集団としての磁気データの分布が平面的であって、かつ、直近母集団が近傍に集中している円を含む第一平面とその円の中心と現在のオフセットとを結ぶ線分に垂直な第二平面とのなす角が極めて小さくない場合には、直近母集団に基づいて２次元的に現在のオフセットが補正される。そして、直近母集団としての磁気データの分布が平面的であって、かつ、直近母集団が近傍に集中している円を含む第一平面とその円の中心と現在のオフセットとを結ぶ線分に垂直な第二平面とのなす角が極めて小さい場合には、現在のオフセットは補正されない。
【００１３】
２．磁気データ処理装置の構成
図１は本発明の磁気データ処理装置の一実施形態を示すブロック図である。磁気データ処理装置１は携帯電話機、ＰＮＤ（Personal Navigation Device）、電子コンパス、デジタルカメラなどの携帯型情報端末や車載型ナビゲーション装置に搭載される。
【００１４】
磁気データ処理装置１は磁気センサ２０とマイクロコンピューターとで構成されている。マイクロコンピューターは、ＣＰＵ４０、ＲＯＭ４２、ＲＡＭ４４、入出力機構（Ｉ／Ｏ）３０などからなり、磁気センサ２０から出力される磁気データを入力し、オフセット補正された磁気データに基づいて進行方位や走行予定経路を画像や音声によってユーザーに報知するための方位データを出力する。表示部６０は方位を示す画像を表示するためのディスプレイとディスプレイドライバーとを含む。
【００１５】
磁気センサ２０は、磁界ベクトルの直交する３軸の成分をそれぞれ検出するｘ軸センサ２１とｙ軸センサ２２とｚ軸センサ２３とインターフェース２４とを備えた３次元磁気センサである。ｘ軸センサ２１、ｙ軸センサ２２、ｚ軸センサ２３は、いずれも磁気抵抗素子、ホール素子等で構成され、指向性のある１次元磁気センサであればどのようなものであってもよい。ｘ軸センサ２１、ｙ軸センサ２２およびｚ軸センサ２３は、それぞれの感度方向が互いに直交するように固定されている。インターフェース２４は、ｘ軸センサ２１、ｙ軸センサ２２およびｚ軸センサ２３の出力を時分割して取得し、ｘ軸センサ２１、ｙ軸センサ２２およびｚ軸センサ２３の出力を増幅してＡ／Ｄ変換し、磁気データｑ＝（ｑｘ、ｑｙ、ｑｚ）を出力する。インターフェース２４から出力されるディジタル信号である磁気データはＲＡＭ４４の所定のアドレスに格納される。不揮発性の記憶媒体であるＲＯＭ４２には、ＲＡＭ４４にロードされＣＰＵ４０によって実行される磁気データ処理プログラム９０や、携帯型情報端末や車載型ナビゲーション装置の各種の機能を実現するための種々のプログラムが格納されている。
【００１６】
磁気データ処理プログラム９０は、磁気データに基づいて方位データを出力するためのプログラムであって、ＲＯＭ４２に格納されている。方位データは地磁気の方向を示すベクトルデータである。磁気データ処理プログラム９０は、蓄積モジュール９１、判定モジュール９２、過去母集団更新モジュール９３、３次元オフセット更新モジュール９４ａ、２次元オフセット更新モジュール９４ｂ、方位導出モジュール９５等のモジュール群で構成されている。
【００１７】
蓄積モジュール９１は、３次元磁気センサから出力される磁気データを順次取得しながら４つ以上のＮ個の磁気データｑ１，・・・，ｑＮを直近母集団として繰り返し蓄積する機能を実現するプログラム部品である。すなわち蓄積モジュール９１は、磁気センサ２０から順次出力される磁気データを一定の時間間隔で順次取得し、取得した磁気データを直近バッファに蓄積する機能を実現する。直近バッファは、Ｎ個の磁気データを記憶するためのＲＡＭ４４の記憶領域である。
【００１８】
判定モジュール９２は、直近母集団が蓄積される度に直近母集団の分布が第一条件を満たすか否かを閾値αを用いて判定するとともに直近母集団の分布が第二条件を満たすか否かを閾値βを用いて判定し、直近母集団が第一条件を満たさない場合、直近母集団と過去母集団とからなる混合母集団が第三条件を満たしているか否かを閾値αを用いて判定する機能と、直近母集団の分布が第二条件を満たす場合、直近母集団が近傍に集中している円を含む第一平面と、その円の中心と現在のオフセットとを結ぶ線分に垂直な第二平面とのなす角が無視すべき程度に小さいか否かを閾値γを用いて判定する機能とを実現するプログラムモジュールである。ここで閾値α、βは特許請求の範囲に記載の第一の閾値に対応し、閾値γは特許請求の範囲に記載の第二の閾値に対応する。
【００１９】
混合母集団は、最新の直近母集団を構成している磁気データを取得順に半分に間引いた磁気データ群と、過去母集団を構成している磁気データ群とからなる。過去母集団は、過去の直近母集団からなり、本実施形態においては過去の直近母集団を半分に間引いた磁気データ群を過去母集団とする。このようなデータ群を混合母集団とすることで、混合母集団と直近母集団とをそれぞれ構成している磁気データの数が一致するため、母集団の分布特性を判定したり、オフセットを導出する機能を実現するプログラムコードを共通化することができる。
【００２０】
本実施形態において、判定モジュール９２は、母集団の分布の３つの主値の比を母集団の分布を示す指数とし、この指数を予め決められた閾値と比較することによって母集団の分布特性を判定する。具体的には次の通りである。母集団ｑ１、・・・、ｑＮの分布の主値は、次式（１）、（２）、（３）によって定義される対称行列Ａの固有値λ１、λ２、λ３（λ１≧λ２≧λ３）に相当する。
【数１】
2011022025.tif 000003
【００２１】
そして、母集団が立体的に拡散している程度を示す指数をλ３／λ１とする。また母集団が平面的に拡散している程度を示す指数をλ２／λ１とする。λ３／λ１が予め決められた閾値αを越える場合には、母集団が立体的に拡散していると判定する。すなわち、直近母集団については第一条件を満たすと判定し、混合母集団については第三条件を満たすと判定する。λ３／λ１が予め決められた閾値αを越えずλ２／λ１が予め決められた閾値βを越える場合には、母集団が平面的に拡散していると判定する。すなわち直近母集団が第二条件を満たすと判定する。なお、行列Ａは、式（４）とも書けるため、分散共分散行列のＮ倍に相当する。
【数２】
2011022025.tif 000004
【００２２】
また本実施形態において、判定モジュール９２は、直近母集団の最小の主値λ３に対応する固有ベクトルｕ３と、直近母集団が近傍に集中している円の中心ｃと、現在のオフセットｐ０と、１に近く１未満の閾値γを用いて定義される次式（５）を満たすとき、その円を含む第一平面と、円の中心ｃと現在のオフセットｐ０とを結ぶ線分に垂直な第二平面とのなす角が無視すべき程度に小さいと判定する。
【数３】
2011022025.tif 000005
【００２３】
直近母集団が近傍に集中している円の中心ｃは、次のように求められる。図２に示すように、黒点で示す直近母集団の最小の主値λ３に対応する固有ベクトルｕ３は、直近母集団が近傍に集中する円Ｃを含む平面に対して垂直な方向を持つ。また直近母集団の重心（図面上でのみ直近母集団の重心をｇと表記する。）は直近母集団が近傍に集中する円Ｃを含む平面に含まれる。したがって、固有ベクトルｕ３、円の中心ｃ、直近母集団ｑ１、・・・、ｑＮの重心（式（３）参照）とは、次式（６）を満たす。
【数４】
2011022025.tif 000006
【００２４】
また円の中心ｃを通り第一平面と垂直な直線に現在のオフセットｐ０から下ろした垂線の足をｐとするならば、ｃとｐとを通る直線はｕ３に平行であるから、次式（７）を満たす実数ｋが必ず存在することになる。
【数５】
2011022025.tif 000007
式（７）の右辺を式（６）のｃに代入すると、
【数６】
2011022025.tif 000008
となり、式（８）の右辺を式（７）のｋに代入すると、ｃは次式（９）によって表される。
【数７】
2011022025.tif 000009
ここで、ｐは、直近母集団に基づいて二次元的に現在のオフセットを補正することによって導出されるオフセット候補である。後述するように二次元的なオフセット補正のオフセット候補ｐは、ｃを用いずに導出される。したがって判定モジュール９２は、ｃを用いずにオフセット候補ｐが導出された後に、式（９）の右辺を式（５）のｃに代入した式をオフセット候補ｐが満たすか否かを判定する。なお、第一平面と第二平面とのなす角は、直近母集団が近傍に集中する円の中心ｃと現在のオフセットｐ０とを結ぶ線分と、円の中心ｃとオフセット候補ｐとを結ぶ線分とがなす角として図２に示すθと一致する。したがって、式（５）の左辺は、その角をθとするｃｏｓθに一致する。
【００２５】
過去母集団更新モジュール９３は、直近母集団が第二条件を満たしている場合、直近母集団の少なくとも一部によって過去母集団を更新する機能を実現するプログラムモジュールである。具体的には、過去母集団更新モジュール９３は、直近母集団を構成している磁気データを取得順に半分に間引き、半分に間引いた直近母集団を過去バッファに保存する。過去バッファは、直近母集団とは別に所定個数の磁気データを記憶するためのＲＡＭ４４の記憶領域である。
【００２６】
三次元オフセット更新モジュール９４ａは、直近母集団または混合母集団に基づいて三次元的に現在のオフセットを補正する機能を実現するプログラム部品である。具体的には次の通りである。なお、各数式において直近母集団、混合母集団はいずれもｑ１、・・・、ｑＮと表されている。
【００２７】
母集団が同一平面上にない４つの磁気データで構成されている場合、母集団が分布する球は統計的手法を用いることなく一意に特定される。この球の中心の位置ベクトルｐ＝（ｐx、ｐy、ｐｙ）は連立方程式（１０）を解くことによって得られる。尚、３変数に対して等号制約が４つあるが、等号制約の１つは冗長になっているため方程式（１０）は必ず解を持つ。
【数８】
2011022025.tif 000010
【００２８】
母集団が５つ以上の磁気データで構成されている場合、ｐについての連立一次方程式（１２）が解を持てば、その解は、母集団が分布する球の中心である。
Ｘｐ=ｊ・・・（１２）
ただし、
【数９】
2011022025.tif 000011
【００２９】
しかし、磁気センサ２０自体の測定誤差を考慮すると、現実には、方程式（１２）が解を持つことはまれである。そこで、統計的な手法により尤もらしい解を得るために、次式（１４）で定義されるベクトルｅを導入する。
ｅ＝Ｘｐ−ｊ・・・（１４）
【００３０】
||ｅ||22（すなわちｅTｅ）を最小にするｐが、母集団が最も近くに分布する球の中心として尤もらしいといえる。||ｅ||22を最小にするｐを求める問題は、行列Ａが正則のときには次式（１５）の目的関数を最小にする最適化問題となる。
【数１０】
2011022025.tif 000012
【００３１】
すなわち式（１５）の目的関数ｆ（ｐ）を最小にするｐを求めることにより、３次元的に現在のオフセットを補正した更新後のオフセットとしてのｐが導出される。目的関数ｆ（ｐ）を最小にするｐは、本実施形態で想定している（ＸＴＸ）が正則のときは式（１６）のように書くことができる。
【数１１】
2011022025.tif 000013
【００３２】
二次元オフセット更新モジュール９４ｂは、直近母集団に基づいて二次元的に現在のオフセットｐ０を補正することによってオフセット候補を導出するとともに、直近母集団が近傍に集中している円を含む第一平面と、その円の中心ｃと現在のオフセットｐ０とを結ぶ線分に垂直な第二平面とのなす角が無視すべき程度に小さくない場合には、導出したオフセット候補ｐに現在のオフセットｐ０を更新する機能を実現するプログラム部品である。すなわち、二次元オフセット更新モジュール９４ｂは、蓄積モジュール９１によって保持されている直近母集団と、現在のオフセットｐ０とに基づいてオフセット候補ｐを導出し、判定モジュール９２の判定結果に応じて現在のオフセットｐ０をオフセット候補ｐに更新する機能を実現する。具体的には次の通りである。
【００３３】
二次元オフセット更新モジュール９４ｂは、現在のオフセットｐ０に対する補正方向を互いに直交する２方向に制限してオフセット候補ｐを導出する。母集団が特定の平面近傍に集中し、その平面に垂直な方向から見て拡散している場合、その平面と平行な方向についてはオフセット補正のために用いるデータ群として母集団を十分信頼できる一方でその平面に垂直な方向については母集団を信頼できないことになる。このような場合には、その平面に垂直な方向については現在のオフセットを補正しないことにより、信頼に値しない情報に基づいて現在のオフセットが更新されることを防止できる。そこで、二次元オフセット更新モジュール９４ｂは、蓄積モジュール９１によって保持されている直近母集団が近傍に集中する円の中心ｃを通りその円を含む第一平面と垂直な直線に現在のオフセットｐ０から下ろした垂線の足ｐをオフセット候補として導出する。
【００３４】
母集団がある特定の平面近傍に集中し、その平面に垂直な方向から見て拡散している場合、その平面に垂直な方向は、最小固有値λ3に対応する固有ベクトルｕ3の方向に一致し、その平面に平行で互いに直交する２方向は、最大固有値λ1、中間固有値λ2にそれぞれ対応するｕ1、ｕ2の方向に一致する。したがって、その平面に垂直な方向について現在のオフセットｐ０を補正せずにオフセット候補ｐを導出するため、次式（１７）の制約条件のもとで式（１５）の目的関数が最小になるオフセット候補ｐを求める。
ｐ＝ｐ0＋β1ｕ1＋β2ｕ2（β1、β2は実数）・・・（１７）
なお、式（１７）は次式（１８）と等価である。
【数１２】
2011022025.tif 000014
【００３５】
式（１７）の制約条件のもとで式（１５）の最適化問題を解く式は、ラグランジュの未定乗数法によって等価な連立方程式に変形できる。未定乗数ρを導入し、
【数１３】
2011022025.tif 000015
とすると、ｘの連立一次方程式（２０）がその方程式となる。
【数１４】
2011022025.tif 000016
【００３６】
方位導出モジュール９５は、磁気センサ２０から順次取得する磁気データを現在のオフセットを用いて補正して方位データを生成するプログラム部品である。具体的には、方位導出モジュール９５は、ベクトルデータである磁気データの各成分から現在のオフセットの各成分を引き算して得られるベクトルデータを方位データとして出力する。
【００３７】
３．磁気データ処理方法
次に磁気データ処理プログラム９０を実行することによって実現される磁気データ処理方法について図３を参照しながら説明する。図３に示す処理は、一定時間間隔（例えば１０ミリ秒間隔）で繰り返し実行される。
【００３８】
はじめに、磁気センサ２０から出力された磁気データが蓄積モジュール９１によって取得され、直近バッファに蓄積される（Ｓ１００）。
【００３９】
次に、予め決められた数の磁気データが直近母集団として直近バッファに蓄積されているか否かが判定モジュール９２によって判定される（Ｓ１０１）。予め決められた数の磁気データが直近母集団として直近バッファに蓄積されていない場合、所定時間後に次の磁気データが直近バッファに蓄積される（Ｓ１００）。
【００４０】
予め決められた数の磁気データが直近母集団として直近バッファに蓄積されている場合、直近母集団が立体的に拡散しているかが判定モジュール９２によって判定される（Ｓ１０２）。
【００４１】
直近母集団が立体的に拡散している場合、直近母集団のみに基づいて現在のオフセットが３次元的に補正される（Ｓ１１３）。すなわち、直近バッファに蓄積されている磁気データを母集団として３次元オフセット更新モジュール９４ａによって現在のオフセットが３次元的に補正される。
【００４２】
直近母集団のみに基づいてオフセットが３次元的に補正されると、３次元オフセット更新モジュール９４ａによって過去母集団が破棄される（Ｓ１１２）。これは、着磁状態が変動することによって真のオフセットが変動した後にも、変動前の磁気データに基づいてオフセットが導出される期間を短くするとともに、短期間のうちに変動後の真のオフセットに対して現在のオフセットを収束させるためである。
【００４３】
直近母集団が立体的に拡散していない場合、過去母集団が空であるか否かが判定モジュール９２によって判定される（Ｓ１０３）。
【００４４】
過去母集団が空でない場合、判定モジュール９２によって直近母集団と過去母集団とから混合母集団が生成される（Ｓ１０４）。具体的には直近バッファと過去バッファとに記憶されている磁気データが別の記憶領域に混合母集団として記憶される。
【００４５】
直近母集団と過去母集団とから混合母集団が生成されると、混合母集団が立体的に拡散しているか否かが判定モジュール９２によって判定される（Ｓ１０５）。
【００４６】
混合母集団が立体的に拡散している場合、混合母集団のみに基づいてオフセットが３次元的に補正される（Ｓ１１１）。すなわち、過去の直近母集団と最新の直近母集団とを母集団として３次元オフセット更新モジュール９４ａによってオフセットが導出され、３次元オフセット更新モジュール９４ａによって導出されたオフセットに現在のオフセットが更新される。現在のオフセットが更新されると、過去母集団が破棄される（Ｓ１１２）。
【００４７】
過去母集団が空である場合、または混合母集団が立体的に拡散していない場合、直近母集団が平面的に拡散しているか否かが判定モジュール９２によって判定される（Ｓ１０６）。
【００４８】
直近母集団が平面的に拡散している場合、現在のオフセットを直近母集団に基づいて二次元的に補正することによって得られるオフセット候補が導出される（Ｓ１０８）。すなわち、二次元オフセット更新モジュール９４ｂによって、連立一次方程式（１５）の解ｐがオフセット候補として導出される。
【００４９】
オフセット候補が導出されると、直近母集団が近傍に集中している円を含む第一平面と、その円の中心と現在のオフセットとを結ぶ線分に垂直な第二平面とのなす角が無視すべき程度に小さいか否かが判定される（Ｓ１０９）。すなわち、連立方程式（１５）の解ｐが導出されると式（９）から直近母集団が近傍に集中している円の中心ｃが求まるため、オフセット候補ｐについて式（５）が満たされているかが判定モジュール９２によって判定される。
【００５０】
第一平面と第二平面とのなす角が無視すべき程度に小さくない場合、現在のオフセットｐ０がオフセット候補ｐに更新される（Ｓ１１０）。
【００５１】
そして直近母集団が平面的に拡散している場合、第一平面と第二平面とのなす角の大きさに関わらず、直近母集団によって過去母集団が更新される（Ｓ１１３）。すなわち、過去母集団更新モジュール９３は、直近母集団から半分の数の磁気データを選択し、選択した磁気データを過去バッファに記憶する。
最後に、蓄積モジュール９１によって直近母集団が破棄される（Ｓ１１４）。
【００５２】
以上の処理では、直近母集団が３次元的にも２次元的にも拡散していない場合には、過去母集団は更新されない。したがって、磁気センサ２０が３次元的にも２次元的にも運動していない場合には、過去母集団は更新されず、オフセットも導出されない。そして、直近母集団が２次元的に拡散している場合にのみ、その直近母集団が過去母集団として記憶されるため、過去母集団と直近母集団とからなる混合母集団が立体的に拡散している可能性は高い。すなわち、上記実施形態では、無駄なオフセット更新処理を抑制できる。
【００５３】
ここで仮に、平面的に拡散する複数の母集団が蓄積された場合に、それぞれの母集団に基づいて過去のオフセットを２次元的に補正するとする。この場合、図４に示すようにそれぞれの母集団が近傍に分布する平面α１、α２のなす角θが小さいと、現在のオフセットはｐ０、ｐ１、ｐ２のように更新され、オフセットが真のオフセットＯに収束しにくくなる。これに対し、本実施形態では、図５に示すようにそれぞれの母集団が近傍に分布する平面α１、α２を含む立体的な分布Ｓを有する混合母集団に基づいて３次元的にオフセットを導出できるため、オフセットはｐ０、ｐ１、ｐ２のように更新され、オフセットは真のオフセットＯの近くに短期間の内に収束する。
【００５４】
また以上の処理では、直近母集団が近傍に集中している円を含む第一平面と、その円の中心と現在のオフセットとを結ぶ線分に垂直な第二平面とのなす角が無視すべき程度に小さい場合には、オフセットは更新されない。したがって、磁気センサが特定の軸周りを回転している状態において、その回転軸方向に磁気データのオフセットが補正されることによってオフセットが不適切に補正されることが防止される。これに対し、第一平面と第二平面とのなす角が極めて小さい場合にも現在のオフセットを二次元的に補正して更新する場合、真のオフセットが変動していない状況において磁気センサ２０が特定の軸周りに回転し続けると、回転中に磁気データ処理装置が取得する磁気データの重心に向かって現在のオフセットが移動し続けることになる。ここで、図６に示すように現在のオフセットｐ０が真のオフセットと一致しているとする。この状態から磁気センサが特定の軸周りに回転し続けると、回転中に蓄積されるそれぞれの直近母集団が近傍に集中する平面は、例えばα０、α２、α１、α２、α１、α２の順で、全ての直近母集団の重心Ｇの近傍を中心として小さな角度範囲で揺れ動く。その結果、現在のオフセットは、ｐ０、ｐ１、ｐ２、ｐ３、ｐ４、ｐ５のように、回転中に磁気データ処理装置が取得する全ての磁気データの重心Ｇに向かって移動し、真のオフセットから離れていくことになる。本実施形態によると、このようにオフセットが不適切に補正されることが防止されるのである。
【００５５】
４．他の実施形態
尚、本発明の技術的範囲は、上述した実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々変更を加え得ることは勿論である。
例えば、母集団に基づいて３次元的にオフセットを導出する手段も、母集団に基づいて２次元的に現在のオフセットを補正する手段も、上記実施形態に開示した手段に限定されず、どのような公知の手段を用いてもよいし、今後開発されるいかなる手段を用いても良い。公知の手段としては、統計的手法を用いて２次元的または３次元的にオフセットを導出するものや、３つまたは４つの磁気データを母集団から選抜し、選抜された母集団からオフセットとしての球の中心または現在のオフセットを補正するための仮オフセットとしての円の中心を求めるもの等がある。尚、磁気データのオフセットを導出する方法は、本件発明者によっても複数提案されている（特開２００７−２４０２７０号公報、特開２００７−２０５９４４号公報、特開２００７−１３９７１５号公報、特開２００７−１０７９２１号公報、特願２００７−３３９４７８など）。
【００５６】
また例えば、母集団が立体的に拡散しているか平面的に拡散しているかを判定する手段は、上記実施形態に開示した手段に限定されず、どのような公知の手段を用いてもよいし、今後開発されるいかなる手段を用いても良い。公知の手段としては、母集団の分散の大きさを閾値と比較する手段などがある。また、過去母集団と直近母集団とがそれぞれ立体的に拡散しているかをそれぞれ別の閾値を用いて判定しても良いし、アルゴリズム自体を変えて判定しても良い。
【００５７】
また例えば、母集団に基づいてオフセットを導出した後に、閾値を用いてそのオフセットの信頼性を判定するとともに信頼性が低い場合には、導出したオフセットを棄却してもよい。
【００５８】
また例えば、混合母集団に基づいてオフセットを３次元的に補正する処理を省略してもよい。
【符号の説明】
【００５９】
１：磁気データ処理装置、２０：磁気センサ、２１：ｘ軸センサ、２２：ｙ軸センサ、２３：ｚ軸センサ、２４：インターフェース、３０：Ｉ／Ｏ、４０：ＣＰＵ、４２：ＲＯＭ、４４：ＲＡＭ、６０：表示部、９０：磁気データ処理プログラム、９１：蓄積モジュール、９２：判定モジュール、９３：過去母集団更新モジュール、９４ａ：３次元オフセット更新モジュール、９４ｂ：二次元オフセット更新モジュール、９５：方位導出モジュール
【図１】
2011022025.tif 000017
【図２】
2011022025.tif 000018
【図３】
2011022025.tif 000019
【図４】
2011022025.tif 000020
【図５】
2011022025.tif 000021
【図６】
2011022025.tif 000022