(57)【要約】【課題】オフセットの算出に統計処理を用いる必要のない磁気センサ制御装置、磁気測定装置、オフセット設定方法及びオフセット設定プログラムを提供する。【解決手段】２次元磁気センサから順次出力される、２成分を有する複数の磁気データを入力する入力手段と、入力された複数の前記磁気データから、予め決められた３点選抜条件を満たす３つの前記磁気データを選抜する選抜手段と、選抜された３つの前記磁気データを成分とする３点から等距離にある点である中心点を算出する算出手段と、前記中心点の成分を前記磁気データのオフセットとして設定する設定手段と、を備える磁気センサ制御装置。【選択図】図１
2007205944.tif 000002
【特許請求の範囲】
【請求項１】
２次元磁気センサから順次出力される、２成分を有する複数の磁気データを入力する入力手段と、
入力された複数の前記磁気データから、予め決められた３点選抜条件を満たす３つの前記磁気データを選抜する選抜手段と、
選抜された３つの前記磁気データを成分とする３点から等距離にある点である中心点を算出する算出手段と、
前記中心点の成分を前記磁気データのオフセットとして設定する設定手段と、
を備える磁気センサ制御装置。
【請求項２】
入力された複数の前記磁気データを格納するバッファをさらに備え、
前記選抜手段は、新たに前記磁気データが前記バッファに格納されると、選抜候補の３つの前記磁気データを保持するための３つのデータ構造体のうち、新たに前記バッファに格納された前記磁気データで更新されることによって３つの前記データ構造体に保持されている３つの前記磁気データを成分とする３点を通る円弧の弦の長さが延長され少なくとも短縮されないように前記円弧の両端のうちの１点に対応する前記磁気データが保持されている前記データ構造体を選択し、選択した前記データ構造体を新たに前記バッファに格納された前記磁気データで更新する、
請求項１に記載の磁気センサ制御装置。
【請求項３】
前記選抜手段は、新たに前記磁気データが前記バッファに格納されると、前記円弧の両端の２点の前記磁気データの選抜候補として選抜されなかった前記磁気データを前記バッファから取得して前記円弧の中間点の前記磁気データの選抜候補とする、
請求項２に記載の磁気センサ制御装置。
【請求項４】
前記３点選抜条件は、前記データ構造体に格納された３つの前記磁気データを成分とする３点を頂点とする三角形の正三角形に対する歪みに相関する条件を含む、
請求項３に記載の磁気センサ制御装置。
【請求項５】
前記３点選抜条件は、前記三角形の内角のばらつきが予め決められた所定範囲内にあることを含む、
請求項４に記載の磁気センサ制御装置。
【請求項６】
前記３点選抜条件は、前記三角形の辺の長さのばらつきが予め決められた所定範囲内にあることを含む、
請求項４に記載の磁気センサ制御装置。
【請求項７】
前記３点選抜条件は、前記三角形の重心からの各頂点までの距離のばらつきが予め決められた所定範囲内にあることを含む、
請求項４に記載の磁気センサ制御装置。
【請求項８】
前記３点選抜条件は、下記の２行２列の対称行列Ａの最大固有値に対する最小固有値の比の値が所定値以上であることを含む、
請求項４から７のいずれかの一項に記載の磁気センサ制御装置。
【数１】
2007205944.tif 000017
ただし、
ｐi（ｉ＝０，１，２）は前記三角形の各頂点であり、ｄ3は前記三角形の重心である。
【請求項９】
前記３点選抜条件は、前記比の値が最大であることを含む、
請求項８に記載の磁気センサ制御装置。
【請求項１０】
前記３点選抜条件を満たす３つの前記磁気データの選抜を開始してから完了するまでの進捗状況を示す値であって前記比の値に基づいて導出される進捗値、又は前記比の値を出力する進捗値出力手段をさらに備える、
請求項８又は９に記載の磁気センサ制御装置。
【請求項１１】
前記進捗値は、３つの前記データ構造体に格納されている３つの前記磁気データを成分とする３点を通る円弧の中心角に対応する角度である、
請求項１０に記載の磁気センサ制御装置。
【請求項１２】
請求項１〜１１のいずれか一項に記載の磁気センサ制御装置と、
前記２次元磁気センサと、
を備える磁気測定装置。
【請求項１３】
前記進捗値又は前記比の値に応じて異なる音階の音を発することにより、ユーザに前記進捗状況を報知する報知手段をさらに備える、
請求項１２に記載の磁気測定装置。
【請求項１４】
前記進捗値又は前記比の値に応じて前記進捗状況をユーザに視認させる表示手段をさらに備える、
請求項１２又は１３に記載の磁気測定装置。
【請求項１５】
２次元磁気センサから順次出力される、２成分を有する複数の磁気データを入力し、
入力された複数の前記磁気データから、予め決められた３点選抜条件を満たす３つの前記磁気データを選抜し、
選抜された３つの前記磁気データを成分とする３点から等距離にある点である中心点を算出し、
前記中心点の成分を前記磁気データのオフセットとして設定する、
ことを含む磁気センサのオフセット設定方法。
【請求項１６】
２次元磁気センサから順次出力される、２成分を有する複数の磁気データを入力する入力手段と、
入力された複数の前記磁気データから、予め決められた３点選抜条件を満たす３つの前記磁気データを選抜する選抜手段と、
選抜された３つの前記磁気データを成分とする３点から等距離にある点である中心点を算出する算出手段と、
前記中心点の成分を前記磁気データのオフセットとして設定する設定手段と、
してコンピュータを機能させる磁気センサのオフセット設定プログラム。
【請求項１７】
請求項１６に記載のオフセット設定プログラムが格納されたコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は磁気センサ制御装置、磁気測定装置、オフセット設定方法及びオフセット設定プログラムに関する。
【背景技術】
【０００２】
従来、移動体に搭載され、地磁気の方向を検出する２次元磁気センサが知られている。一般に２次元磁気センサは、磁界のベクトルを互いに直交する２方向の成分に分解してスカラー量を検出するための２つの磁気センサモジュールを備えている。２次元磁気センサの出力である磁気データは、そのような２つの磁気センサモジュールのそれぞれの出力の組み合わせからなるため、２成分を有する。磁気データを成分とするベクトルの方向と大きさが、２次元磁気センサが検出している磁界の方向と大きさである。２次元磁気センサの出力に基づいて地磁気の方向又は大きさを特定するとき、その出力には移動体の着磁成分と磁気センサ自体の測定誤差が含まれている。従ってそれらを打ち消すために２次元磁気センサの出力を補正する処理が必要である。この補正処理の操作値はオフセットと呼ばれている。オフセットは２次元磁気センサが検出している移動体の着磁による磁界のベクトルを磁気センサの測定誤差を含んで表しており、２次元磁気センサの出力である磁気データからオフセットが引き算されることによって移動体の着磁成分と磁気センサの測定誤差が一括して打ち消される。磁気データを成分とする点を通る円周の中心を求めることによってオフセットを算出することができる。オフセットを求める処理はキャリブレーションと呼ばれている。
ところで、磁気データを成分とする点の集合は現実には完全な円周にならない。なぜならば、２次元磁気センサの出力自体がガウス分布に従う測定誤差を有しているし、現実には完全に一様な磁界は存在しないためオフセットを算出するために必要な磁気データが蓄積される期間中に２次元磁気センサが測定している磁界が変動するし、２次元磁気センサの出力をディジタル値で取り出すまでの計算誤差があるからである。
従来の磁気センサのオフセット算出方法は、多数の磁気データを蓄積し、それらの統計処理によって、最も確からしいオフセットを算出するものであった（例えば特許文献１参照）。しかし、多数の磁気データの統計処理をする場合には、母集団となる磁気データ群の分布が満遍なく広く、特異な磁気データが母集団から排除されていなければ精度のよいオフセットを算出することができない。したがって、精度のよいオフセットを算出するには母集団をある程度選抜する必要もあり、結局のところ統計処理だけで精度のよいオフセットを算出することはできない。また、統計処理によって最も確からしい円周の中心を求める処理量は相当多く、時間と資源の消費が多い。
【０００３】
【特許文献１】国際公開第２００４−００３４７６号パンフレット
【発明の開示】
【発明が解決しようとする課題】
【０００４】
本発明は、オフセットの算出に統計処理を用いる必要のない磁気センサ制御装置、磁気測定装置、オフセット設定方法及びオフセット設定プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００５】
（１）上記目的を達成するための磁気センサ制御装置は、２次元磁気センサから順次出力される、２成分を有する複数の磁気データを入力する入力手段と、入力された複数の前記磁気データから、予め決められた３点選抜条件を満たす３つの前記磁気データを選抜する選抜手段と、選抜された３つの前記磁気データを成分とする３点から等距離にある点である中心点を算出する算出手段と、前記中心点の成分を前記磁気データのオフセットとして設定する設定手段と、を備える。
２次元磁気センサから順次出力される磁気データから、予め決められた３点選抜条件を満たす３つの磁気データを選抜し、選抜された３つの磁気データを成分とする３点から等距離にある点である中心点を算出することにより、オフセットの算出に統計処理を用いる必要がなくなるため、効率よくオフセットを算出することができる。
【０００６】
（２）上記目的を達成するための磁気センサ制御装置は、入力された複数の前記磁気データを格納するバッファをさらに備えてもよい。前記選抜手段は、新たに前記磁気データが前記バッファに格納されると、選抜候補の３つの前記磁気データを保持するための３つのデータ構造体のうち、新たに前記バッファに格納された前記磁気データで更新されることによって３つの前記データ構造体に保持されている３つの前記磁気データを成分とする３点を通る円弧の弦の長さが延長され少なくとも短縮されないように前記円弧の両端のうちの１点に対応する前記磁気データが保持されている前記データ構造体を選択し、選択した前記データ構造体を新たに前記バッファに格納された前記磁気データで更新してもよい。
３つの磁気データを成分とする３点を通る円は、オフセットを成分とする点を中心とする円である。その円を正確なオフセットを成分とする点を中心とする円に近づけるためには、その円の面積が広く、その円を既定する３点が円周上で広い範囲に満遍なく分散していることが望ましい。したがって、３つの磁気データを成分とする３点を通る弦の長さは長い方が望ましい。そこで、新たに磁気データが入力されると、３つのデータ構造体に格納されている３つの磁気データを成分とする３点を通る円弧の弦の長さがデータ構造体の更新によって長くなるように、更新対象となるデータ構造体が選択されることが望ましい。
【０００７】
（３）前記選抜手段は、新たに前記磁気データが前記バッファに格納されると、前記円弧の両端の２点の前記磁気データの選抜候補として選抜されなかった前記磁気データを前記バッファから取得して前記円弧の中間点の前記磁気データの選抜候補としてもよい。
円弧の両端の磁気データが仮決定された後、円弧の両端として選抜されずバッファに蓄積されている磁気データを再び円弧の中間点の選抜候補とすることにより、オフセットを算出するために必要な磁気データの個数を低減することができる。その結果、磁気データのオフセットを算出するために必要な磁気データを収集するために必要となる、２次元磁気センサを搭載している移動体の操作量が低減されるし、オフセットの算出時間が短縮される。
【０００８】
（４）前記３点選抜条件は、前記データ構造体に格納された３つの前記磁気データを成分とする３点を頂点とする三角形の正三角形に対する歪みに相関する条件を含んでもよい。
３つの磁気データを成分とする３点を通る円は、オフセットを成分とする点を中心とする円である。その円を正確なオフセットを成分とする点を中心とする円に近づけるためには、その円を規定する３点が円周上で等間隔に分散していることが望ましい。したがって、３つの磁気データを成分とする３点を頂点とする三角形の正三角形に対する歪みに関して３点選抜条件を設定することが望ましい。３つの磁気データを成分とする３点を頂点とする三角形が正三角形であるとき、３点が円周上で等間隔に分散していることになる。
三角形の正三角形に対する歪みは三角形のいくつかの属性に着目して定義することができる。
【０００９】
（５−７）例えば、前記３点選抜条件は、前記三角形の内角のばらつきが予め決められた所定範囲内にあることを含んでもよい。また例えば、前記３点選抜条件は、前記三角形の辺の長さのばらつきが予め決められた所定範囲内にあることを含んでもよい。また例えば、前記３点選抜条件は、前記三角形の重心から各頂点までの距離のばらつきが予め決められた所定範囲内にあることを含んでもよい。
値のばらつきは数学的に任意に定義することができるが、条件判定に必要な計算量や処理時間や、条件判定の過程で得られた計算結果の再利用可能性などを勘案して定義することが望ましい。
【００１０】
（８）したがって、前記３点選抜条件は、下記の２行２列の対称行列Ａの最大固有値に対する最小固有値の比の値が所定値以上であることを含むことが望ましい。
【数１】
2007205944.tif 000003
ただし、ｐi（ｉ＝０，１，２）は前記三角形の各頂点であり、ｄ3は前記三角形の重心である。
この３点選抜条件の条件判定に必要な最大固有値及び最小固有値は、三角形の各頂点の座標値と三角形の重心の座標値から定義される２次方程式の解として求めることができるため、例えば、三角形の内角のばらつき、三角形の辺の長さのばらつき、三角形の重心から各頂点までの距離のばらつき等を３点選抜条件の条件判定に用いる場合と比較して計算量が軽減される。ばらつきの定義としては、例えば標準偏差が考えられる。
【００１１】
（９）前記３点選抜条件は、前記比の値が最大であることを含んでもよい。
対称行列Ａの最大固有値に対する最小固有値の比の値が最大となる点を選抜条件とすることにより、バッファに蓄積されている複数の磁気データの中で、最も面積が大きく、最も正三角形に対する歪みが小さい三角形を形成する頂点である３点を選抜することができる。
【００１２】
（１０）前記３点選抜条件を満たす３つの前記磁気データの選抜を開始してから完了するまでの進捗状況を示す値であって前記比の値に基づいて導出される進捗値、又は前記比の値を出力する進捗値出力手段をさらに備えてもよい。
対称行列Ａの最大固有値に対する最小固有値の比の値に基づいて導出される３点選抜の進捗状況を示す進捗値あるいは、その比の値そのものが磁気センサ制御装置から出力されることにより、３点選抜が開始されてから完了するまでの進捗状況の情報を磁気センサ制御装置の外部のシステムは利用することができる。
【００１３】
（１１）前記進捗値は、３つの前記データ構造体に格納されている３つの前記磁気データを成分とする３点を通る円弧の中心角に対応する角度であってもよい。
【００１４】
（１２）上記目的を達成するための磁気測定装置は、上記の磁気センサ制御装置と、２次元磁気センサと、を備える。
【００１５】
（１３）上記目的を達成するための磁気測定装置は、前記進捗値又は前記比の値に応じて異なる音階の音を発することにより、ユーザに前記進捗状況を報知する報知手段をさらに備えてもよい。
磁気測定装置が、進捗値又は比の値に応じて異なる音階の音を発する報知手段を備えることにより、ユーザは報知手段によって発せられる音によって前記３点選抜条件を満たす３つの前記磁気データの選抜を開始してから完了するまでの進捗状況を認識することができる。
【００１６】
（１４）上記目的を達成するための磁気測定装置は、前記進捗値又は前記比の値に応じて前記進捗状況をユーザに視認させる表示手段をさらに備えてもよい。
磁気測定装置が、進捗値又は比の値に応じて３点選抜の進捗状況を表示する表示手段を備えることにより、ユーザは３点選抜条件を満たす３つの前記磁気データの選抜を開始してから完了するまでの進捗状況を視認することができる。
【００１７】
（１５）上記目的を達成するためのオフセット設定方法は、２次元磁気センサから順次出力される、２成分を有する複数の磁気データを入力し、入力された複数の前記磁気データから、予め決められた３点選抜条件を満たす３つの前記磁気データを選抜し、選抜された３つの前記磁気データを成分とする３点から等距離にある点である中心点を算出し、前記中心点の成分を前記磁気データのオフセットとして設定する、ことを含む。
２次元磁気センサから順次出力される磁気データから、予め決められた３点選抜条件を満たす３つの磁気データを選抜し、選抜された３つの磁気データを成分とする３点から等距離にある点である中心点を算出することにより、オフセットの算出に統計処理を用いる必要がなくなるため、効率よくオフセットを算出することができる。
【００１８】
（１６）上記目的を達成するためのオフセット設定プログラムは、２次元磁気センサから順次出力される、２成分を有する複数の磁気データを入力する入力手段と、入力された複数の前記磁気データから、予め決められた３点選抜条件を満たす３つの前記磁気データを選抜する選抜手段と、選抜された３つの前記磁気データを成分とする３点から等距離にある点である中心点を算出する算出手段と、前記中心点の成分を前記磁気データのオフセットとして設定する設定手段と、してコンピュータを機能させる。
２次元磁気センサから順次出力される磁気データから、予め決められた３点選抜条件を満たす３つの磁気データを選抜し、選抜された３つの磁気データを成分とする３点から等距離にある点である中心点を算出することにより、オフセットの算出に統計処理を用いる必要がなくなるため、効率よくオフセットを算出することができる。
【００１９】
尚、本発明に備わる複数の手段の各機能は、構成自体で機能が特定されるハードウェア資源、プログラムにより機能が特定されるハードウェア資源、又はそれらの組み合わせにより実現される。また、これら複数の手段の各機能は、各々が物理的に互いに独立したハードウェア資源で実現されるものに限定されない。また、本発明は、磁気センサ制御装置としてだけでなく、磁気センサ制御装置と２次元磁気センサとを組み合わせた磁気測定装置としても、磁気センサ制御方法としても、磁気センサ制御プログラムとしても特定可能である。
【発明を実施するための最良の形態】
【００２０】
以下、本発明の実施の形態を以下の順に説明する。
Ａ．第一の実施形態
［１．全体説明］
１−１．基本原理
１−２．ハードウェア構成
１−３．ソフトウェア構成
［２．処理の流れ］
２−１．バッファ更新
２−２．１点目の選抜候補仮決定
２−３．２点目の選抜候補仮決定
２−４．３点の選抜
・３点の更新
・３点選抜条件
・選抜検証
・オフセットの設定
Ｂ．第二の実施形態
【００２１】
［１．全体説明］
１−１．基本原理
はじめに本実施形態が利用する基本原理について説明する。
本実施形態では、２次元磁気センサの出力に含まれる、それが搭載されている移動体の着磁成分と磁気センサ自体の測定誤差を打ち消すためのオフセットを設定する。オフセットを求めるためには、２次元磁気センサの出力である磁気データを成分とするベクトル平面内の点の集合が近似する円を特定する。この円を方位円というものとする。方位円の中心点の成分がオフセットであり、その半径が磁界の強さである。２次元磁気センサを用いたキャリブレーションでは、２次元磁気センサが搭載されている移動体の回転軸の向きが鉛直方向に一定に保たれた状態で、移動体が回転する際に収集される磁気データが必要とされる。２次元磁気センサの出力自体に計測誤差があるため、２次元磁気センサが搭載された移動体が一定の磁界でｘ軸センサ及びｙ軸センサの両方の感度方向と垂直な軸を中心に回転しても、磁気データを成分とする点の集合は円周にはならない。本実施形態では、磁気データを成分とする３点を選抜し、選抜された３点から、それらを通る円周の中心点と半径とを求め、求めた円周の中心をオフセットとして設定する。この方法でオフセットに含まれる２次元磁気センサ自体の計測誤差による誤差を低減するためには、２次元磁気センサ自体の計測誤差が含まれている３つの磁気データを成分とする３点を、それら３点を通る円周上で広い範囲で満遍なく分散するように選抜することが重要である。
【００２２】
図２は、２次元磁気センサの出力である磁気データを成分とする３点を通る方位円（実線）と、計測誤差がない理想２次元磁気センサの磁気データを成分とする無数の点の集合である真の方位円（破線）との関係を示している。２次元磁気センサの磁気データを成分とする３点がそれらを通る円周上の狭い範囲に分布しているとき、それらの３点から求まる方位円の中心（×）と、求めるべき理想２次元磁気センサの真の方位円の中心（＋）との距離は、図２（Ａ）に示すように大きくなる。これに対し、２次元磁気センサの磁気データを成分とする３点がそれらを通る円周上の広い範囲に満遍なく分布しているとき、それらの３点から求まる方位円の中心（×）と、求めるべき理想２次元磁気センサの真の方位円の中心（＋）との距離は、図２（Ｂ）に示すように小さくなる。２次元磁気センサの磁気データを成分とする３点がそれらを通る円周で等間隔に分布しているとき、すなわちそれら３点を頂点とする三角形が正三角形になるとき、オフセットの誤差を最も小さくすることができる。したがって、本実施形態では、磁気データを成分とする３点を、それらを頂点とする三角形の正三角形に対する歪みが特定のしきい値より小さくなるように選抜する。
【００２３】
ここで、予め３点を選抜し、選抜された３点を通る円周を求め、その円周からオフセットを求める本実施形態の方法と、４点以上の多数の点の集合に近似の円周を統計的手法によって求め、その円周からオフセットを求める方法とを比較しておく。統計的手法を用いる方法では、磁気データを成分とする点が偏在していたり、母集団に特異な磁気データが含まれていれば、それらの点から求まる方位円の中心は真の方位円の中心から大きくずれる。したがって、統計的手法を用いてオフセットの誤差を低減しようとすれば、統計的手法によって方位円を求める母集団のばらつきを検証したり、母集団を選抜する必要がある。本実施形態の方法では、適正な３点を選抜することができれば、計算量の多い統計的手法を用いずとも、統計的手法を用いた方法によって得られるオフセットの精度に遜色のない精度のオフセットを求めることができる。
【００２４】
１−２．ハードウェア構成
図３は、本発明が適用される移動体の一例である携帯型電話機３の外観を示す模式図である。携帯型電話機３には２次元磁気センサ４が搭載されている。２次元磁気センサは互いに直交するｘ、ｙの２方向の磁界のベクトル成分を検出することによって磁界の方向及び強さを検出する。携帯型電話機３のディスプレイ２には、文字や画像の各種情報が表示される。例えば、ディスプレイ２には、地図と、方位を示す矢印や文字が表示される。
【００２５】
図４は、本発明が適用される２次元磁気センサ４と磁気センサ制御装置１とを備える磁気測定装置を搭載した携帯型電話機３のハードウェア構成を示すブロック図である。２次元磁気センサ４は、様々な移動体に搭載され、地磁気による磁界ベクトルのｘ方向成分、ｙ方向成分をそれぞれ検出するｘ軸センサ３０とｙ軸センサ３２とを備えている。ｘ軸センサ３０、ｙ軸センサ３２は、いずれも磁気抵抗素子、ホール素子等で構成され、指向性のある１次元磁気センサであればどのようなものであってもよい。ｘ軸センサ３０及びｙ軸センサ３２は、それぞれの感度方向が互いに直交するように固定されている。ｘ軸センサ３０及びｙ軸センサ３２の出力は、時分割して磁気センサＩ／Ｆ（Inter Face）２２に入力される。磁気センサＩ／Ｆ２２では、ｘ軸センサ３０及びｙ軸センサ３２からの入力が増幅された後にＡＤ変換される。磁気センサＩ／Ｆ２２から出力されるディジタルの磁気データは、バス５を介して磁気センサ制御装置１に入力される。
【００２６】
磁気センサ制御装置１は、ＣＰＵ４０とＲＯＭ４２とＲＡＭ４４とを備えている所謂コンピュータである。ＣＰＵ４０は、例えば携帯型電話機３等の移動体の全体制御を司るプロセッサである。ＲＯＭ４２は、ＣＰＵ４０によって実行される磁気センサ制御プログラムや、移動体の機能を実現するための種々のプログラム、例えばナビゲーションプログラムが格納されている、不揮発性の記憶媒体である。ＲＡＭ４４はＣＰＵ４０の処理対象となるデータを一時的に保持する揮発性の記憶媒体である。尚、磁気センサ制御装置１と２次元磁気センサ４とを１チップの磁気測定装置として構成することもできる。
【００２７】
アンテナ１３及び通信部１４は、基地局と携帯型電話機３とで通信を行うための回路である。
音声処理部１８は、マイクロホン１６から入力されるアナログ音声信号のＡＤ変換と、スピーカ５０にアナログ音声信号を出力するためのＤＡ変換を行う回路である。
ＧＰＳ受信部４１は、ＧＰＳ衛星からのＧＰＳ電波を処理し、現在位置の緯度経度を出力する回路である。
操作部４８は、文字入力キーを兼ねたダイヤルキー、カーソルキー等を備える。
表示手段としての表示部５４は、ＬＣＤ等のディスプレイ２、図示しない表示制御回路等で構成され、携帯型電話機３の動作モードに応じた各種画面をディスプレイ２に表示する。
報知手段としての報知部５８は、図示しない音源回路、着信音スピーカ５９、バイブレータ、ＬＥＤ等を備え、着信やキャリブレーションの進捗状況をユーザに報知する。キャリブレーションの進捗状況はディスプレイ２に角度やプログレスバーを表示することによってユーザに視認させる構成であってもよい。
【００２８】
１−３．ソフトウェア構成
図５は、磁気センサ制御プログラム９０の構成を示すブロック図である。磁気センサ制御プログラム９０は、ナビゲーションプログラム９８に方位データを提供するためのプログラムであって、ＲＯＭ４２に格納されている。方位データは地磁気の方向を示す２次元ベクトルデータである。ＣＰＵ４０が磁気センサ制御プログラム９０を実行するとき、ＣＰＵ４０、ＲＡＭ４４及びＲＯＭ４２は磁気センサ制御装置として機能する。磁気センサ制御プログラム９０は、バッファ管理モジュール９２、オフセット設定モジュール９４、方位演算モジュール９６等のモジュール群で構成されている。
【００２９】
バッファ管理モジュール９２は、２次元磁気センサ４から順次入力する磁気データをオフセット演算に用いるためにバッファに蓄積するプログラム部品であって、ＣＰＵ４０を入力手段として機能させる。磁気センサ４から順次入力される磁気データを順次選抜にかけ、選抜されなかった磁気データを廃棄することもできる。しかし、２点目までの選抜条件と３点目の選抜条件とが異なれば、２点目までの点として選抜されなかった磁気データであっても、３点目として選抜され得る。したがって、バッファ管理モジュール９２が管理するバッファは、単に入力タイミングと処理タイミングのずれを緩衝するだけではなく、一度は選抜されなかった磁気データを再度選抜候補として利用可能にする目的でも利用される。尚、このバッファはハードウェアで構成されてもよいし、ソフトウェアで構成されてもよい。
【００３０】
オフセット設定モジュール９４は、バッファ管理モジュール９２によって保持されている磁気データから３つの磁気データを選抜し、選抜された３つの磁気データからオフセットを算出し、算出したオフセットを設定するプログラム部品であって、ＣＰＵ４０を選抜手段、算出手段、設定手段及び進捗値出力手段として機能させる。
【００３１】
方位演算モジュール９６は、磁気センサ４から順次入力される磁気データと、設定されているオフセットとを用いて方位データを生成するプログラム部品である。具体的には、方位演算モジュール９６は、２次元ベクトルデータである磁気データの各成分からオフセットデータの各成分を引き算して得られる２成分を方位データとして出力する。
【００３２】
ナビゲーションプログラム９８は、目的地までの誘導経路を探索し、地図上に誘導経路を表示する周知のプログラムである。地図の認識のし易さから、地図は現実の方位に地図上の方位が一致するように画面表示される。したがって例えば、携帯型電話機３が回転すると、ディスプレイ２に表示される地図は地面に対して回転しないようにディスプレイ２に対して回転する。このような地図の表示処理に方位データが用いられる。もちろん、方位データは、単に東西南北を文字や矢印で表示するためにのみ用いられてもよい。ナビゲーションプログラム９８が起動されると、キャリブレーションのために例えば携帯型電話機３を水平な姿勢を保ちながら回転させるようにユーザに案内され、キャリブレーションが開始される。キャリブレーションが開始されるとオフセット更新要求が発生し、後述のバッファ更新処理及びオフセット設定処理が実行される。
【００３３】
［処理の流れ］
２−１．バッファ更新
図６は、バッファ更新の処理の流れを示すフローチャートである。図６に示す処理は、オフセットの更新要求が発生したときにＣＰＵ４０がバッファ管理モジュール９２を実行することによって進行する。
ステップＳ１００では、オフセットの算出に用いられる複数の磁気データを蓄積するためのバッファが初期化される。具体的には例えば、ＲＡＭ４４のバッファエリアに格納されているデータが削除される。
【００３４】
ステップＳ１０２では、磁気センサ４からの新たな磁気データの入力が待たれる。
磁気センサ４から新たな磁気データの入力があると、バッファの更新必要性が判定される（ステップＳ１０４）。携帯型電話機３がほとんど動いていない状況において、短い時間間隔で順次磁気センサ４から入力があると、連続入力される２つの磁気データを成分とする２点間の距離が近くなる。互いの距離が近い２点がオフセットを求めるために必要となる３点に含まれることは望まれない。また、磁気データを成分とする各点の距離が互いに近い複数の磁気データが限られた容量のバッファに格納されることは、メモリ資源の浪費であるし、無駄なバッファの更新処理を発生させる。そこで、バッファの更新必要性が次のように判定される。例えば、直前に入力された磁気データを成分とする点と最後に入力された磁気データを成分とする点との距離があるしきい値より小さければ、バッファの更新必要性がないと判定され、最後に入力された磁気データはバッファに格納されることなく破棄される。そうでない場合、バッファの更新必要性があると判定される。その結果例えば、図７に示す順序で磁気データの入力があったときには、黒丸で表された磁気データはバッファに格納されず、白丸で表された磁気データはバッファに格納されることになる。尚、図７では磁気データの入力順序が白丸及び黒丸の添え字で表されている。
【００３５】
上記の判定条件に加えてさらに次の条件を加えてバッファの更新要否を判定すると、キャリブレーションの成功確率を上げることができる。ここでバッファに格納されたＮqmax個のデータ列をｑ0，ｑ1，・・・ｑNqmax-1とし、集合Ｑを、Ｑ＝｛qi| 0 ≦ i ≦ Nqmax-1｝とする。
追加的な更新条件：あるしきい値qminに対し、磁気データを成分とする点ｑが、i < Nqmax-1なる全てのｉについて||q-qi||2 > qminを満たすときに限り、最後の磁気データを格納してバッファを更新する。
バッファの更新必要性があると判定されると、バッファが更新される（ステップＳ１０６）。更新アルゴリズムは例えばＦＩＦＯ（First In First Out）とする。
【００３６】
２−２．１点目の選抜候補仮決定
図１は、オフセット設定の処理の流れを示すフローチャートである。図１に示す処理は、オフセットの更新要求が発生したときにＣＰＵ４０がオフセット設定モジュール９４を実行することによって進行する。尚、オフセット設定モジュール９４の実行によって以下に述べる処理が進行している時には、バッファ管理モジュール９２による処理がマルチタスク環境で並行して進行している。
【００３７】
ステップＳ２００では、選抜候補が全て破棄される初期化が実行される。具体的には、オフセット設定モジュール９４によって宣言される、選抜候補を格納するための３つのデータ構造体ｐ0、ｐ1、ｐ2がリセットされるとともに、バッファも初期化される。データ構造体ｐ0、ｐ1、ｐ2には、追って説明があるように、３点目までが選抜されてオフセットが設定されるまで、選抜候補としての磁気データが格納される。それぞれのデータ構造体ｐ0、ｐ1、ｐ2は、それぞれ磁気データの２成分を格納するための２つの変数からなる配列である。
【００３８】
ステップＳ２０２では、前述したバッファの更新が待たれる。
バッファが更新されると、１点目の選抜候補が仮決定される（ステップＳ２０４）。すなわち、バッファ初期化（ステップＳ２００）後に最初に入力された磁気データが１点目の選抜候補となる。１点目の選抜候補はデータ構造体ｐ0に格納される。尚、１点目の選抜候補が格納されるデータ構造体ｐ0は、追って説明があるように更新される可能性があるため、この処理では１点目の選抜候補が仮決定されているに過ぎない。
【００３９】
２−３．２点目の選抜候補仮決定
ステップＳ２０６では、再びバッファの更新が待たれる。
バッファが再び更新されると、２点目の選抜候補が仮決定される（ステップＳ２０８）。すなわち、バッファ初期化（ステップＳ２００）後に２番目に入力された磁気データが２点目の選抜候補となる。２点目の選抜候補はデータ構造体ｐ1に格納される。尚、２点目の選抜候補が格納されるデータ構造体ｐ1も、追って説明があるように更新される可能性があるため、この処理では２点目の選抜候補が仮決定されているに過ぎない。
【００４０】
２−４．３点の選抜
・３点の更新
ステップＳ２１０では、再びバッファの更新が待たれる。
バッファが再び更新されると、ステップＳ２１２では、円弧の端を更新すべきか判定される。３点選抜条件によって選抜される候補として保持するため、最後に入力されバッファに最後に格納された磁気データを、現に存在している３点目までの選抜候補のいずれを更新して保持するか決定される（尚、３点選抜条件を用いた選抜が実行されていなければ、２点目までの選抜候補が存在しているだけであるが、実行される処理内容は同じである）。すなわち、最後に入力されバッファに最後に格納された磁気データがいずれのデータ構造体ｐ0、ｐ1、ｐ2に格納されるかが決定される。なぜならば、データ構造体ｐ0、ｐ1、ｐ2は意味づけが次のように異なるデータ構造体だからである。
【００４１】
データ構造体ｐ0、ｐ1、ｐ2に格納される磁気データを成分とする３点は、それらが同一直線上にない限りにおいて、それらを通る円弧を一義的に規定する。データ構造体ｐ0、ｐ1はその円弧の両端の点の成分である磁気データを格納するデータ構造体として意味づけされている。データ構造体ｐ2はその円弧の中間点の成分である磁気データを格納するデータ構造体として意味づけされている。したがって、３点目が選抜されるまで、３点目までの選抜候補を保持するために、最後に入力されバッファに最後に格納された磁気データがいずれのデータ構造体ｐ0、ｐ1、ｐ2に格納されるかが決定されなければならない。
【００４２】
ところで、データ構造体ｐ0、ｐ1、ｐ2に対して意味づけがこのようにされているのは、次の理由による。選抜候補である３点は、選抜候補の３点を通る方位円の円周上に位置することになる。前述したとおり、方位円を求めるために用いられる３点が、それらの３点を通る円周上で広い範囲に満遍なく分散しているほど、オフセットの誤差は小さくなる。したがって、選抜候補である３点を通る円弧の弦の長さがある程度までは長いほど、オフセットの誤差は小さくなり、その弦の長さが短すぎるとオフセットの誤差が大きくなる。このため、選抜候補である３点を通る円弧の弦の長さがある程度までは長くなるように、磁気データがバッファに格納される度に、３点目までの選抜候補を更新することが望ましい。
【００４３】
図８は選抜候補の３点の更新を説明するための模式図である。今、データ構造体ｐ0、ｐ1、ｐ2に図８（Ｂ）に示す磁気データが格納されているものとする。（図８に示す１、４、５、６の各数字は、バッファへの格納順を管理するための数字であって、その数字でバッファ内で管理されている磁気データが各データ構造体に格納されていることを意味している。ここでは各数字で管理されている磁気データを磁気データ１、磁気データ４、磁気データ５、磁気データ６ということにする。）この状態では、選抜候補の３点を通る円弧の弦は、磁気データ１を成分とする点と磁気データ５を成分とする点とを結ぶ線分（破線）である。次に、磁気データ６がバッファに格納されたとする。このとき、３つの磁気データを成分とする３点が通る円弧の弦は、ｐ0、ｐ1、ｐ2の定義によれば、ｐ1に格納されている磁気データを成分とする点とｐ0に格納されている磁気データを成分とする点との距離として算出される。したがって、仮に、磁気データ６を成分とする点の、磁気データ１、４、５を成分とする３点に対する位置関係が図８（Ａ）に示す状態だとすれば、ｐ0に格納されている選抜候補を更新しなければ、円弧の弦が長くなったという計算結果は得られない。また仮に、磁気データ６が円弧の弦を長くしない値である場合には、ｐ2に格納されている選抜候補を更新しなければ、計算結果としては円弧の弦は短くなるため、ｐ2に格納されている選抜候補を更新する必要がある。
【００４４】
３つの磁気データを成分とする３点を通る円弧の弦が更新毎に少なくとも短くならず最も効率よく伸張される条件は、次のように導かれる。バッファに最後に格納された磁気データをｑとする。ｐ0、ｐ1、ｐ2は、ここでは各データ構造体に格納されている磁気データとする。図９では、ｑ、ｐ0、ｐ1、ｐ2を成分とする点が黒丸で表され、それらの３点を通る方位円が実線で表されている。ｑによって、選抜候補である３点を通る円弧の弦が長くなるとき、次式（３）、（４）が成立する。
【数２】
2007205944.tif 000004
【００４５】
式（３）が成り立つ場合、ｐ1をｑで更新することによって弦を延長することができる。式（４）が成り立つ場合、ｐ0をｑで更新することによって弦を延長することができる。これらの何れでもない場合、弦は延長されない。
【００４６】
ステップＳ２１４では、上記のようにして決定された、更新すべき選抜候補が、バッファに最後に格納された磁気データで更新される。その結果、例えば図８（Ｂ）に示す磁気データが格納されていたデータ構造体ｐ0、ｐ1、ｐ2は、図８（Ｃ）に示すように更新される。
【００４７】
・３点選抜条件
バッファに格納されている磁気データを全て３点目の選抜候補とした選抜が試行される。このとき、バッファが全て埋めつくされている必要は必ずしもない。３点目が選抜されるとき、図１１に示されるように、２点目までの選抜候補としては決定されなかった磁気データ（仮決定されたがその後に棄却されたものも含まれる。）が、３点目の選抜候補として順次選抜にかけられる。図１１では、バッファで磁気データの入力順を管理するための識別子が０〜Nqmax−１までの数字で示されている。小さい数字ほど、先に入力された磁気データが格納されるデータ構造体を表している。
【００４８】
ステップＳ２１６では、３点目の選抜候補が仮決定される。具体的には、バッファに格納されているデータの中から順次３点目の選抜候補が仮決定され、３点選抜条件の１つを満たしているかが判定される（ステップＳ２１８）。３点の選抜条件は２つの観点から導かれている。第一の観点は、選抜候補である磁気データを成分とする３点がそれら３点を通る円周上で十分ばらついているか、すなわち、それら３点を頂点とする三角形が正三角形に近くなっているか、という観点である。したがって、第一の観点での選抜が実行されるときには、選抜候補である磁気データを成分とする３点を頂点とする三角形の正三角形に対する歪みが算定される。第二の観点は、選抜候補である磁気データを成分とする３点を通る円の面積が十分大きいか、という観点である。この３点を通る円の面積が小さいときは、これらの３点を通る方位円の円周上で３点が狭い範囲に分布しているか、正確なオフセットを算出するに当たって想定外の磁界が測定されていることになる。またこれらの３点を通る円の面積が大きすぎるときは、正確なオフセットを算出するに当たって想定外の磁界が測定されていることになる。したがって、第二の観点で選抜が実行されるときには、選抜候補である磁気データを成分とする３点を通る円の半径が算定される。尚、以下の説明では、第一の観点で選抜候補が選抜されるべきかを判定するための条件を単に３点選抜条件ともいい、第二の観点で選抜候補が選抜されるべきかを判定することを、３点選抜の検証ともいうものとする。
【００４９】
まず、ステップＳ２１８で適用される第一の観点から３点選抜条件を説明する。本実施形態では、図１０に示すように選抜候補である磁気データを成分とする３点を頂点とする三角形の正三角形に対する歪みが、その三角形の重心ｄ3を始点とし各頂点を終点とするベクトルの和を用いて表現される２行２列の対称行列の固有値によって評価される。三角形の重心ｄ3は次式（５）によって求められる。
【数３】
2007205944.tif 000005
【００５０】
第一の観点から導かれる３点選抜条件は、次式（６）によって定義される対称行列Ａの固有値λA1、λA2のうち最小固有値λA2の最大固有値λA1に対する比が予め決められた所定のしきい値Ｅ0以上であることである。
【数４】
2007205944.tif 000006
【００５１】
式（６）は、pi=(pix,piy),d3=(d3x,d3y)とすると式（７）のようにも書ける。
【数５】
2007205944.tif 000007
ただし、以下の通りである。
【数６】
2007205944.tif 000008
【数７】
2007205944.tif 000009
【数８】
2007205944.tif 000010
【００５２】
対称行列Ａの定義から、全ての固有値は非負実数である。バッファに格納されている２点目までの磁気データとして選抜されていない磁気データに対して次式（１１）で定義される評価量ＥAを算出し、評価量ＥAが最大となるｐ2を探す。第一の観点から導かれた３点選抜条件は、ＥAがしきい値Ｅ0に対して、ＥA≧Ｅ0を満たすことである。ＥA≧Ｅ0を満たす３点目が見つかった時点で３点選抜条件が満たされたと判定してもよい。
【数９】
2007205944.tif 000011
【００５３】
ところで、選抜候補である磁気データを成分とする３点を頂点とする三角形の正三角形に対する歪みは、その三角形の内角のばらつき、その三角形の辺の長さのばらつき、その三角形の重心から各頂点までの距離のばらつき、などによって定義することができる。さらに、これらのばらつきは、前述した対称行列Ａの固有値を用いた評価量ＥAによって定義することができる。したがって、第一の観点から導かれる３点選抜条件は、選抜候補である磁気データを成分とする３点を頂点とする三角形の内角のばらつき、又は、その三角形の辺の長さのばらつき、又は、その三角形の重心から各頂点までの距離のばらつきが予め決められた所定範囲内にあることであるともいえる。対称行列Ａの固有値を３点選抜条件の条件判定に用いる場合、対称行列Ａの最大固有値及び最小固有値は三角形の各頂点の座標値と三角形の重心の座標値から定義される２次方程式の解として求めることができるため、上記の三角形の内角のばらつき、三角形の辺の長さのばらつき、三角形の重心から各頂点までの距離のばらつきを示す値を３点選抜条件の条件判定に用いる場合と比較して計算量が軽減される。
【００５４】
第一の観点から導かれた３点選抜条件が満たされなかった場合、バッファに格納されている全データが判定済みであるかが判定され（ステップＳ２２０）、全データが判定済みでなければステップＳ２１６の処理に戻って、バッファ内に格納されているデータが、第一の観点から導かれた３点選抜条件を満たすか判定する処理が繰り返される。このときバッファが全て埋め尽くされている必要はない。バッファに格納されている磁気データは、円弧の両端の点として仮決定されなかった磁気データも含まれている。バッファ内に格納されている全データが３点選抜条件を満たしていない場合、まだ３点選抜条件を満たす点が集まっていない状態であるため、ステップＳ２１０の処理に戻ってバッファの更新が待たれる。
【００５５】
・選抜検証
第一の観点から導かれた３点選抜条件が満たされた場合、第一の観点で選抜された磁気データが第二の観点によって検証される（ステップＳ２２４）。この処理では、前述したとおり、選抜候補である磁気データを成分とする３点を通る円の半径が算定される。
【００５６】
円の中心点をc3 = ( c3x, c3y ) とすると、中心点を求める連立一次方程式は次式（１２）である。
【数１０】
2007205944.tif 000012
【００５７】
c3rは特に後に用いる必要のない値であるが、３元１次連立方程式を立てるために追加されている。最終的に半径ｒは、次式（１３）で算定されるc3とp0とのユークリッド距離として求まる。
【数１１】
2007205944.tif 000013
【００５８】
以上のようにして求められた、３点選抜条件を満たす３つの磁気データを成分とする３点を通る円の半径がしきい値rmaxからrminまでの範囲内であれば、合格とする。そうでない場合、不合格となってステップＳ２１０の処理に戻り、バッファの更新が待たれる。
【００５９】
尚、以上のようにして求められた円の方程式が妥当であるかの判定ステップをさらに設けてもよい。具体的には、選抜された３つの磁気データｐ0、ｐ1、ｐ2だけでなく、バッファに格納されている一部又は全部の磁気データを用いて方位円の妥当性が統計処理によって検証される。この検証は、オフセットの誤差のばらつきを小さくするためにはある程度有効であるが、必ずしも必要な処理ではない。この検証では、次式（１４）によって評価量Ｓが求められ、予め決められたしきい値Ｓｔに対し、Ｓ＞Ｓtである場合には、算出された方位円の中心点はオフセットとして採用されず、キャリブレーションは失敗したと判定される。
【数１２】
2007205944.tif 000014
【００６０】
・オフセットの設定
３点選抜の検証の結果、選抜された３点が合格である場合、ステップＳ２２６においてオフセットが設定される。すなわち、算出された方位円の中心点の各成分がオフセットの各成分として設定される。
【００６１】
ところで、ステップＳ２１０からステップＳ２２４までの処理が繰り返される間、ステップＳ２１８において都度評価量ＥAの値が算出される。ｐ0、ｐ1、ｐ2の３点を通る円弧の中心角に対応する角度と評価量ＥAとの対応関係が規定されたテーブル（図１２参照）を予めＲＯＭ４２に保持しておき、そのテーブルを用いて評価量ＥAの値と対応する角度を導出することによって、２次元磁気センサ４が搭載された携帯型電話機３がキャリブレーション開始時点から何度回転したか、あるいはあと何度回転すればキャリブレーションが完了するか等をユーザに認識させることができる。評価量ＥAに対応する角度の導出は、評価量ＥAの算出に応じてオフセット設定モジュールで実行され、導出された角度がナビゲーションプログラム９８に出力されてもよいし、評価量ＥAが算出される度に評価量ＥAそのものがナビゲーションプログラム９８に出力され、ナビゲーションプログラム９８によって評価量ＥAに対応する角度が導出されてもよい。
【００６２】
本実施形態によると、方位円の中心点であるオフセットが算出される前、すなわち精度良くオフセットを求めることができる３点がまだ選抜されていない期間であっても、３点ｐ0、ｐ1、ｐ2を通る円弧の中心角を導出することができる。例えば、統計処理を用いてオフセットを求める場合と比較すると、統計処理に用いる母集団要素としての磁気データが十分に収集されていない期間は方位円の中心点であるオフセットが求められないため、携帯型電話機３が何度回転したかを示す回転角度を求めることはできない。磁気データが十分に収集されていない期間であっても、仮に設定されたオフセットを用いて回転角度を求めることはできるが、精度がよくない可能性がある。本実施形態では、３点選抜条件を満たす３点がまだ選抜されていない期間であっても、前述のように評価量ＥAに基づいて回転角度を導出するため、３点選抜条件を満たさない３点から精度の良くない可能性のあるオフセットを算出し、算出されたオフセットとｐ0及びｐ1の位置から回転角度を算出する方法と比較して、計算量を少なくかつ精度良く回転角度を導出することができる。
【００６３】
進捗状況をユーザに認識させる方法は、例えば回転角度に応じてドレミファソラシドの音階の音を報知部５８を制御して発生させてもよいし、評価量ＥAの値に応じてディスプレイ２にプログレスバーを表示する等して進捗状況をユーザに認識させるようにしてもよい。尚、評価量ＥAの値が増加すると回転角度も増加する関係にあるので、図１２に示すような対応テーブルを予め保持して角度に換算せずに、評価量ＥAの値そのものに応じて上記のように進捗状況をユーザに認識させるようにしてもよい。
【００６４】
尚、本実施形態によるオフセット設定方法は、以下の点においても統計処理を用いてオフセットを求める場合と比較して効果的である。磁界の強さが弱い場所では、磁界の強さが強い場所と比較して方位円の半径は小さい。統計処理の母集団要素としての磁気データを収集する際、磁気データの分布の偏りや重複を避けるために、前述のバッファ更新処理のように例えば直前に入力された磁気データを成分とする点と最後に入力された磁気データを成分とする点との距離があるしきい値よりも小さい場合は、最後に入力された磁気データはバッファに格納されることなく破棄されるとすると、磁界の強さが弱い場所では、同じ角度範囲だけ携帯型電話機３が回転しても、磁界の強さが強い場所と比較してバッファに格納される磁気データの数は少なくなる。すなわち、統計処理の母集団として十分な個数の磁気データを収集するには、より広い角度範囲まで携帯型電話機３を回転させなければならない。本実施形態によると、バッファに蓄積されている磁気データの個数が少ない場合であっても、前述した３点選抜条件を満たす点が収集できればよいので、磁界の強さが弱い場所においてもオフセットを算出するために必要な磁気データを収集するために必要となる、携帯型電話機３の操作量が低減されるし、オフセットの算出時間が短縮される。
【００６５】
Ｂ．第二の実施形態
図１３は本発明の第二実施形態によるオフセットの設定処理の流れを示すフローチャートである。図１３に示す処理は、オフセットの更新要求が発生したときにＣＰＵ４０がオフセット設定モジュール９４を実行することによって進行する。尚、第一実施形態と同様に、オフセット設定モジュール９４の実行によって以下に述べる処理が進行している時には、バッファ管理モジュール９２による処理がマルチタスク環境で並行して進行している。
【００６６】
ステップＳ３００では、選抜候補が全て破棄される初期化が実行される。具体的にはオフセット設定モジュール９４によって宣言される、選抜候補を格納するための３つのデータ構造体ｐ0、ｐ1、ｐ2がリセットされるとともに、バッファも初期化される。
ステップＳ３０２ではバッファの更新が待たれる。
バッファが更新されると、バッファに空きがあるか、すなわちバッファに格納されているデータ個数が予め決められたＮqmax個であるか否かが判定される（ステップＳ３０４）。バッファに格納されているデータ個数がＮqmax個に達するまで、ステップＳ３０２、Ｓ３０４の処理が繰り返される。このように、本実施形態ではバッファにＮqmax個の磁気データが蓄積されるまで１点の磁気データも選抜されない。
【００６７】
バッファにＮqmax個の磁気データが蓄積されると、１点目と２点目の磁気データが選抜される（ステップＳ３０６）。バッファに格納されたＮqmax個のデータ列をｑ0，ｑ1，・・・ｑNqmax-1とし、集合Ｑを、Ｑ＝｛qi| 0 ≦ i ≦ Nqmax-1｝とするとき、ｑ0，ｑ1，・・・ｑNqmax-1を成分とするそれぞれの点をデータ点ｑ0，ｑ1，・・・ｑNqmax-1というものとする。第一実施形態と同様に集合Ｑが多重集合とならないように磁気データは蓄積されている。
【００６８】
集合Ｑから精度よくオフセットを求めるためには、特定の方向に最も離れている２点に対応する磁気データが必ず選抜されることが望ましい。無作為に決めた方向に最も離れた２点が選抜されても平均的には相当の効果がある。具体的な選抜方法は以下の通りである。
【００６９】
ある特定の向きと大きさを持つベクトルａと、データ点ｑ0，ｑ1，・・・ｑNqmax-1の重心ｄNを始点とし各データ点を終点とするベクトルとの内積Ｄが最大となるデータ点ｑiをｐ0とし、その内積Ｄが最小となるデータ点ｑiをｐ1とする。データ点ｑ0，ｑ1，・・・ｑNqmax-1の重心ｄNは次式（１５）によって求められる。データ点ｑ0，ｑ1，・・・ｑNqmax-1の重心ｄNを始点としデータ点ｑiを終点とするベクトルと、ベクトルａとの内積Ｄは次式（１６）で求められる。
【数１３】
2007205944.tif 000015
集合Ｑの要素を上式（１６）のｑiに順次代入してＤiを求め、Ｄiが最大となるデータ点ｑiをｐ0とし、Ｄiが最小となるデータ点ｑiをｐ1とすると、ベクトルａの向きと平行な直線に下ろした垂線の足が互いに最も離れる２つのデータ点が選抜される。そして本実施形態では、ここで選抜された２つのデータ点は、集合Ｑが破棄されない限り、他のデータ点に入れ替わることはない。すなわち、本実施形態でオフセットが設定される場合には、ここで選抜された２つの磁気データを必ず含む３つの磁気データに基づいて算出されたオフセットが設定される。
【数１４】
2007205944.tif 000016
上述したある特定の向きと大きさを持つベクトルａは行列Ｃの最小固有値λC2に対する固有ベクトルであってもよい。
【００７０】
ステップＳ３０８では第一実施形態のステップＳ２１６と同様にして３点目の選抜候補が仮決定される。
ステップＳ３１０では第一実施形態のステップＳ２１８と同様にして３点選抜条件が満たされるか判定される。
ステップＳ３１２では第一実施形態のステップＳ２２０と同様にしてバッファ内に格納されている全データが判定済みであるかが判定される。全データが判定済みでなければステップＳ３０８の処理に戻る。
【００７１】
ステップＳ３１４では第一実施形態のステップＳ２２４と同様にして３点選抜の検証が行われる。３点選抜の検証の結果、不合格の場合はステップＳ３００の処理に戻って、バッファがリセットされる。
ステップＳ３１６では第一実施形態のステップＳ２２６と同様にしてオフセットが設定
される。
【００７２】
本発明は、上記実施形態に限定されるものではなく、その要旨を逸脱しない範囲で種々の実施形態に適用可能である。
【図面の簡単な説明】
【００７３】
【図１】本発明の実施の形態に係るフローチャート。
【図２】本発明の実施の形態に係る模式図。
【図３】本発明の実施の形態に係る模式図。
【図４】本発明の実施の形態に係るブロック図。
【図５】本発明の実施の形態に係るブロック図。
【図６】本発明の実施の形態に係るフローチャート。
【図７】本発明の実施の形態に係る模式図。
【図８】本発明の実施の形態に係る模式図。
【図９】本発明の実施の形態に係る模式図。
【図１０】本発明の実施の形態に係る模式図。
【図１１】本発明の実施の形態に係る模式図。
【図１２】本発明の実施の形態に係る対応図。
【図１３】本発明の実施の形態に係るフローチャート。
【符号の説明】
【００７４】
１：磁気センサ制御装置、２：ディスプレイ、３：携帯型電話機、４：２次元磁気センサ、１３：アンテナ、１４：通信部、１６：マイクロホン、１８：音声処理部、３０：ｘ軸センサ、３２：ｙ軸センサ、４１：ＧＰＳ受信部、４０：ＣＰＵ、４２：ＲＯＭ、４４：ＲＡＭ、４８：操作部、５０：スピーカ、５４：表示部、５８：報知部、５９：着信音スピーカ、９０：磁気センサ制御プログラム、９２：バッファ管理モジュール、９４：オフセット設定モジュール、９６：方位演算モジュール、９８：ナビゲーションプログラム
【図１】
2007205944.tif 000018
【図２】
2007205944.tif 000019
【図３】
2007205944.tif 000020
【図４】
2007205944.tif 000021
【図５】
2007205944.tif 000022
【図６】
2007205944.tif 000023
【図７】
2007205944.tif 000024
【図８】
2007205944.tif 000025
【図９】
2007205944.tif 000026
【図１０】
2007205944.tif 000027
【図１１】
2007205944.tif 000028
【図１２】
2007205944.tif 000029
【図１３】
2007205944.tif 000030