(57)【特許請求の範囲】
【請求項１】
直交する３軸方向の磁界強度を検知する磁気センサを有する磁気検知部および演算部とを有し、前記演算部は、
（ａ）３軸方向の磁界強度の検出値から、磁気ベクトルの向きを三次元検知座標上の座標点データとして求め、
（ｂ）複数の座標点データを得たときに、複数の座標点データとの誤差が最小となる仮球面座標を最小二乗法に基づいて求めるとともに、三次元検知座標上における前記仮球面座標の中心の座標を求め、
（ｃ）それぞれが定数である３軸方向の検知誤差係数ａ，ｂ，ｃの組み合わせを予め複数組設定しておき、前記仮球面座標の中心と一致し且つ複数組の検知誤差係数ａ，ｂ，ｃのいずれかを当てはめて得られる以下の数２で示される複数の非球面座標のうち、複数の座標点データとの誤差が最も少ないものを最小二乗法に基づいて求めて、座標点データが位置する非球面座標として特定する、
ことを特徴とする磁気検知装置。
【数２】
0005643547.tif 000014
ただし、ｘｃ，ｙｃ，ｚｃは、三次元検知座標上における前記仮球面座標の中心の座標である。
【請求項２】
（ｄ）複数の座標点データとの誤差が最も少ない非球面座標の検知誤差係数ａ，ｂ，ｃと、前記仮球面座標の中心の座標とから、座標点データを、補正球面座標上の補正座標点データに換算する請求項１記載の磁気検知装置。
【請求項３】
前記（ｂ）における仮球面座標の方程式は、以下の数１で表わされる請求項１または２記載の磁気検知装置。
【数１】
0005643547.tif 000015
ただし、ｘｃ，ｙｃ，ｚｃは、三次元検知座標上における前記仮球面座標の中心の座標である。
【請求項４】
前記補正球面座標上の補正座標点データから、磁気ベクトルの方位を求める請求項２に記載の磁気検知装置。
【請求項５】
前記補正球面座標の中心に対する複数の補正座標点データの開き角度から、磁気検知部の回動角度を求める請求項２に記載の磁気検知装置。
【請求項６】
前記補正球面座標の中心に対する複数の補正座標点データの開き角度および複数の前記補正座標点データが得られた時間とから、磁気検知部の角速度を求める請求項２に記載の磁気検知装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、磁気センサで検出された磁気ベクトルが、球面座標上の座標点データとして求められる磁気検知装置に係り、特に、座標点データの基準を求めるキャリブレーション処理を、最少の演算処理で行うことができる磁気検知装置に関する。
【背景技術】
【０００２】
３軸に配置された磁気センサを使用した磁気検知装置は、地磁気を検知する方位センサや角速度センサなどとして使用される。磁気検知装置は、互いに直交するＸ軸とＹ軸およびＺ軸に向けて配置された磁気センサによって地磁気などの磁界強度が検知されると、その検知出力に基づいて、磁気ベクトルが三次元検知座標上の座標点として認識される。
【０００３】
この種の磁気検知装置は、電源を投入した時点で、オフセット磁界の存在や外部からの磁気ノイズの影響で、磁気ベクトルが三次元検知座標上のどの位置に現れるか不明である。そのため、キャリブレーション処理を行って、検知された座標点データを、予め決められている原点を中心とする三次元検知座標上のデータに変換することが必要である。
【０００４】
以下の特許文献１には、磁気検知装置で地磁気を検知して得られた方位データが楕円に近似する座標系上に現れることが指摘されており、演算により、測定値の座標系を数学的に理想的な円形リングに変換して補償することが記載されている。
【０００５】
以下の特許文献２には、少ないデータ量で三次元検知座標上の基準原点を求める方法として、複数の地磁気ベクトルを検知して３つの座標点データが得られたときに、３つの座標点データから等距離の点を求め、この点を基準原点とする発明が開示されている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特表平７−５０７８７４号公報
【特許文献２】特開２００７−１６３３８９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
特許文献１に示すキャリブレーション処理は、演算処理によって求めるべき未知数が多いため、演算に時間が係り、正確なキャリブレーション処理を行うことが難しい。
【０００８】
特許文献２に記載のキャリブレーション処理は、演算が簡単であるが、少数のデータから基準原点を求めているため、演算後の基準原点の誤差が大きくなる可能性が高い。
【０００９】
本発明は上記従来の課題を解決するものであり、最少の演算処理で精度の高いキャリブレーション処理を行うことができる磁気検知装置を提供することを目的としている。
【課題を解決するための手段】
【００１０】
本発明は、直交する３軸方向の磁界強度を検知する磁気センサを有する磁気検知部および演算部とを有し、前記演算部は、
（ａ）３軸方向の磁界強度の検出値から、磁気ベクトルの向きを三次元検知座標上の座標点データとして求め、
（ｂ）複数の座標点データを得たときに、複数の座標点データとの誤差が最小となる仮球面座標を最小二乗法に基づいて求めるとともに、三次元検知座標上における前記仮球面座標の中心の座標を求め、
（ｃ）それぞれが定数である３軸方向の検知誤差係数ａ，ｂ，ｃの組み合わせを予め複数組設定しておき、前記仮球面座標の中心と一致し且つ複数組の検知誤差係数ａ，ｂ，ｃのいずれかを当てはめて得られる以下の数２で示される複数の非球面座標のうち、複数の座標点データとの誤差が最も少ないものを最小二乗法に基づいて求めて、座標点データが位置する非球面座標として特定する、
ことを特徴とするものである。
【数２】
0005643547.tif 000002
ただし、ｘｃ，ｙｃ，ｚｃは、三次元検知座標上における前記仮球面座標の中心の座標である。
【００１１】
さらに、本発明は、
（ｄ）複数の座標点データとの誤差が最も少ない非球面座標の検知誤差係数ａ，ｂ，ｃと、前記仮球面座標の中心の座標とから、座標点データを、補正球面座標上の補正座標点データに換算するものである。
【００１２】
磁気検知部の検知出力から得られる座標点データは、三次元検知座標の原点から離れた位置に中心を有し、且つＸ軸とＹ軸およびＺ軸のそれぞれの検知誤差係数ａ，ｂ，ｃを含む楕円球や長円球などの非球面座標上の点として現れる。したがって、三次元検知座標の原点から非球面座標の中心までのオフセット距離と、前記検知誤差係数ａ，ｂ，ｃを求めないと、磁気ベクトルの方位や動きを正確に把握することができない。したがって、複数の座標点データを得たときに、その座標点データが現れる座標面と、非球面座標との誤差を求めることが必要である。
【００１３】
そこで、座標点データが仮球面座標に現れると仮定して、各未知数のうちの三次元検知座標の原点から非球面座標の中心までのオフセット距離のみを求め、検知誤差係数ａ，ｂ，ｃに関しては、予め設定しておいた複数の定数の組み合わせのうちの実際の座標面との誤差が最も少ないものを求める。これにより、最少の演算数で、精度の高いキャリブレーション処理を行うことができる。
【００１４】
本発明は、前記（ｂ）における仮球面座標の方程式は、数１で表わされる。
【００１５】
本発明は、前記補正球面座標上の補正座標点データから、磁気ベクトルの方位を求めることができる。または、前記補正球面座標の中心に対する複数の補正座標点データの開き角度から、磁気検知部の回動角度を求めることができ、さらに、前記補正球面座標の中心に対する複数の補正座標点データの開き角度および複数の前記補正座標点データが得られた時間とから、磁気検知部の角速度を求めることができる。
【発明の効果】
【００１６】
本発明は、キャリブレーション処理の演算で求めるべき未知数のうち、三次元検知座標の原点からのオフセット距離のみを演算で求め、３軸の検知誤差係数ａ，ｂ，ｃは予め決められた定数から選択する。
【００１７】
そのため、演算で求めるべき未知数が少なくなり、演算部での演算処理を短時間で行えるようになる。
【図面の簡単な説明】
【００１８】
【図１】本発明の実施の形態の磁気検知装置の回路ブロック図、
【図２】データバッファの処理動作を示す説明図、
【図３】磁気検知部に設けられたＸ軸センサとＹ軸センサおよびＺ軸センサの説明図、
【図４】三次元検知座標上での非球面座標と仮球面座標および座標点データを示す説明図、
【図５】伏角の演算を示す説明図、
【図６】三次元検知座標の原点に中心を有する補正球面座標と補正座標点データを示す説明図、
【発明を実施するための形態】
【００１９】
図１に示す本発明の実施の形態の磁気検知装置１は、主に方位センサとして使用されるものであり、地磁気検知部２と３軸加速度センサ８とを有している。
【００２０】
図３に示すように、磁気検知装置１は、互いに直交する基準軸であるＸ１軸とＹ１軸およびＺ１軸が固定軸として決められている。Ｘ１軸とＹ１軸およびＺ１軸で三次元検知座標が決められている。磁気検知装置１は携帯用機器などに搭載されており、三次元検知座標のＸ１軸とＹ１軸およびＺ１軸の直交関係を維持したまま、空間内で自由に移動できる。
【００２１】
図３に示すように、地磁気検知部２には、Ｘ軸センサ３がＸ１軸に沿って固定され、Ｙ軸センサ４がＹ１軸に沿って固定され、Ｚ軸センサがＺ１軸に沿って固定されている。Ｘ軸センサ３とＹ軸センサ４およびＺ軸センサ５は、いずれもＧＭＲ素子（巨大磁気抵抗効果素子）で構成されている。ＧＭＲ素子は、Ｎｉ−Ｃｏ合金やＮｉ−Ｆｅ合金などの軟磁性材料で形成された固定磁性層および自由磁性層と、固定磁性層と自由磁性層との間に挟まれた銅などの非磁性導電層とを有している。固定磁性層の下に反強磁性層が積層され、反強磁性層と固定磁性層との交換結合により、固定磁性層の磁化が固定されている。
【００２２】
Ｘ軸センサ３は、地磁気ベクトルのＸ１方向に向く成分を検知するものであり、固定磁性層の磁化の向きがＸ１軸に沿うＰＸ方向に固定されている。自由磁性層の磁化の向きは地磁気の向きに反応する。自由磁性層の磁化の向きがＰＸ方向と平行になるとＸ軸センサ３の抵抗値が極小になり、自由磁性層の磁化の向きがＰＸ方向と逆向きになるとＸ軸センサ３の抵抗値が極大になる。また、自由磁性層の磁化の向きがＰＸ方向と直交すると、抵抗値が前記極大値と極小値との平均値となる。
【００２３】
図１に示す磁場データ検知部６では、Ｘ軸センサ３と固定抵抗とが直列に接続され、Ｘ軸センサ３と固定抵抗との直列回路に電圧が与えられており、Ｘ軸センサ３と固定抵抗との間の電圧がＸ１軸の検知出力として取り出される。Ｘ軸センサ３にＸ１方向に向く磁界が与えられていないとき、またはＰＸに対して直交する磁界が与えられているときに、Ｘ１軸の検知出力が中点電位となる。
【００２４】
地磁気検知部２の全体を傾け、Ｘ軸センサ３の固定磁性層の磁化の固定方向ＰＸを地磁気ベクトルＶと同じ向きにするとＸ軸センサ３に与えられる磁界成分が極大値となる。このときのＸ１軸の検知出力は、前記中点電位に対してプラス側の極大値となる。逆に、Ｘ軸センサ３の固定磁性層の磁化の固定方向ＰＸを地磁気ベクトルＶと反対に向けると、Ｘ軸センサ３に与えられる逆向きの磁界成分が極大値となる。このときのＸ１軸の検知出力は、前記中点電位に対してマイナス側の極大値となる。
【００２５】
Ｙ軸センサ４とＺ軸センサ５も、それぞれ固定抵抗とが直列に接続され、Ｙ軸センサ４またはＺ軸センサ５と固定抵抗との直列回路に電圧が与えられており、各センサと固定抵抗との間の電圧がＹ１軸またはＺ１軸の検知出力として取り出される。
【００２６】
Ｙ軸センサ４の固定磁性層の磁化の固定方向ＰＹを地磁気ベクトルＶと同じ向きにすると、Ｙ１軸の検知出力は、中点電位に対してプラス側の極大値になる。Ｙ軸センサ４の固定磁性層の磁化の固定方向ＰＹを地磁気ベクトルＶと反対に向けると、Ｙ１軸の検知出力は、中点電位に対してマイナス側の極大値となる。同様に、Ｚ軸センサ５の固定磁性層の磁化の固定方向ＰＺを地磁気ベクトルＶと同じ向きにすると、Ｚ１軸の検知出力が、中点電位に対してプラス側の極大値になる。Ｚ軸センサ５の固定磁性層の磁化の固定方向ＰＹを地磁気ベクトルＶと反対に向けると、Ｚ１軸の検知出力は、中点電位に対してマイナス側の極大値となる。
【００２７】
地磁気ベクトルＶの大きさが一定であれば、Ｘ軸センサ３とＹ軸センサ４およびＺ軸センサ５からの検知出力は、いずれもプラス側の極大値の絶対値と、マイナス側の極大値の絶対値とが同じである。
【００２８】
Ｘ軸センサ３としては、地磁気ベクトルの向きによってプラス側の検知出力とマイナス側の検知出力が得られ、プラス側の検知出力の極大値とマイナス側の検知出力の極大値とで絶対値が同じになれば、ＧＭＲ素子以外の地磁気センサで構成することもできる。例えば、Ｘ１軸に沿ってプラス側の磁界強度のみを検知できるホール素子またはＭＲ素子と、マイナス側の磁界強度のみを検知できるホール素子またはＭＲ素子を組み合わせて、Ｘ軸センサ３として使用してもよい。これは、Ｙ軸センサ４とＺ軸センサ５においても同じである。
【００２９】
図１に示すように、磁場データ検知部６で検知されたＸ軸とＹ軸およびＺ軸の検知出力は、演算部１０に与えられる。演算部１０は、Ａ／Ｄ変換部とＣＰＵおよびクロック回路などから構成されている。演算部１０のクロック回路の計測時間に応じて、磁場データ検知部６で検知されたＸ軸とＹ軸およびＺ軸の検知出力が、短いサイクルで間欠的にサンプリングされて演算部１０に読み出される。それぞれの検知出力は、演算部内に設けられた前記Ａ／Ｄ変換部によってディジタル値に変換される。
【００３０】
演算部１０を構成するＣＰＵにはメモリ７が接続されている。メモリ７には、演算処理のためのソフトウエアがプログラミングされて格納されている。演算部１０の演算処理は前記ソフトウエアによって実行される。
【００３１】
演算部１０は、ソフトウエアに基づいて演算処理を行う。ディジタルデータに変換されたＸ１軸の検知出力とＹ１軸の検知出力およびＺ１軸の検知出力は、演算部１０で演算処理され、図４に示すＸ１−Ｙ１−Ｚ１の三次元検知座標上の座標点データＤｉ（ｘｉ，ｙｉ，ｚｉ）に変換されて、図２に示すデータバッファ（バッファメモリ）１１に格納される（ｉは１からＮまでの整数であり、これは以下において同じである）。クロック回路と同期して短いサイクルでサンプリングされて演算された前記座標点データＤｉは、データバッファ１１の格納部１１ａに与えられる。座標点データＤｉが格納部１１ａに与えられる毎に、その前に得られた座標点データＤｉが格納部１１ａから１１ｍまで順に送り出され、最終段の格納部１１ｍの座標点データＤｉが捨てられる。磁気検知装置１が動作している間は、磁場データ検知部６から最新のデータが一定時間毎に読み出され続け、演算後の座標点データＤｉがデータバッファ１１に順番に格納されていく。
【００３２】
図１に示すように、磁気検知装置１には、３軸加速度センサ８が設けられている。この３軸加速度センサ８は、Ｘ１軸とＹ１軸およびＺ１軸のそれぞれに沿う向きの加速度を検知するものであり、その検知出力が姿勢検知部９に与えられる。姿勢検知部９では、Ｘ１軸とＹ１軸およびＺ１軸のそれぞれに沿う向きの加速度から、図５に示す重力加速度ベクトルＡが算出され、その情報が演算部１０に与えられる。
【００３３】
図４に示すように、地磁気検知部２が地球上のいずれかの場所に置かれると、地磁気検知部２のＸ軸センサ３から検知出力ｘｉが得られ、Ｙ軸センサ４から検知出力ｙｉが得られ、Ｚ軸センサ５から検知出力ｚｉが得られる。図１に示す演算部１０において、各軸の検知出力ｘｉ，ｙｉ，ｚｉから、Ｘ１−Ｙ１−Ｚ１軸の三次元検知座標上で、地磁気ベクトルＶの向きを示す座標点データＤｉ（ｘｉ，ｙｉ，ｚｉ）が演算される。
【００３４】
測定場所が北半球の場合、地磁気ベクトルＶは地平線に向かって所定の伏角で入射する。図４に示すように、Ｘ１−Ｙ１−Ｚ１軸を有する三次元検知座標では、地磁気ベクトルＶがキャリブレーション前の非球面座標Ｇａの中心Ｏｃに向かい、地磁気ベクトルＶの向きは、非球面座標Ｇａ上の座標点データＤｉ（ｘｉ，ｙｉ，ｚｉ）として表わされる。
【００３５】
図４に示すように、電源が投入されて地磁気の検知が開始された直後は、座標点データＤｉ（ｘｉ，ｙｉ，ｚｉ）が現れる非球面座標Ｇａの中心Ｏｃが三次元検知座標の原点Ｏから離れていることが多く、中心Ｏｃと原点Ｏとの距離が、Ｘ軸センサ３とＹ軸センサ４およびＺ軸センサ５で地磁気の磁界強度を検知するときのオフセット量となっている。
【００３６】
Ｘ１−Ｙ１−Ｚ１の三次元検知座標の原点Ｏは、磁気ノイズなどが無く、各センサ３，４，５で純粋に地磁気のみを検知できたときに、地磁気ベクトルＶが向く原点である。ただし、磁気検知装置１が内蔵される各種電子機器の筐体内には、磁気ノイズを発生する他の電子回路が存在する。また、地磁気を検知しようとする環境下では、近くに磁石が存在したり、鉄骨などの大きな磁性材料が存在するなどし、これらも磁気ノイズの原因となる。磁気ノイズなどに起因するバイアス磁界が各センサ３，４，５に作用すると、図４に示すように、地磁気ベクトルＶが向く中心Ｏｃが、三次元検知座標の原点Ｏから離れた位置に存在するようになる。
【００３７】
また、地磁気を検知するときに、Ｘ軸センサ３とＹ軸センサ４およびＺ軸センサ５のそれぞれの感度が一致し、磁場データ検知部６においてＸ軸とＹ軸およびＺ軸の磁界を検知する回路の特性が一致し、さらに磁性材料などが近くに存在していないときは、地磁気ベクトルＶの向きを示す座標点データＤｉ（ｘｉ，ｙｉ，ｚｉ）が、中心Ｏｃを有する真の球面形状の球面座標上に現れる。しかし、実際には、Ｘ軸とＹ軸およびＺ軸において地磁気強度を検知するときのセンサの感度に差があり、磁場データ検知部６の回路にも特性のばらつきがある。さらには、地磁気検知部２の近くにノイズを吸収するための磁気シートが存在するなど、地磁気検知部２が設置される環境に応じても、Ｘ軸とＹ軸およびＺ軸の検知出力に誤差が生じる。
【００３８】
図４では、Ｘ軸の検知誤差係数をａで示し、Ｙ軸の検知誤差係数をｂで示し、Ｚ軸の検知誤差係数をｃで示している。非球面座標Ｇａの立体形状は、以下の数３に示すように、検知誤差係数ａ，ｂ，ｃに応じて変化する。Ｘ軸とＹ軸およびＺ軸の検知誤差係数ａ，ｂ，ｃが互いに一致しない限り、非球面座標Ｇａは真の球面にはならず、楕円球や長円球になる。検知誤差係数ａ，ｂ，ｃは、地磁気の測定を開始した時点で、前述の各種磁気ノイズなどに起因して発生するものであり、検知誤差係数ａ，ｂ，ｃは、地磁気の測定を開始する度に相違し、地磁気検知部２が使用される環境においても変動する。
【００３９】
したがって、電源が投入されて、検知動作が開示されると、座標点データＤｉ（ｘｉ，ｙｉ，ｚｉ）が非球面座標Ｇａの表面に現れるが、この時点では、非球面座標Ｇａの中心Ｏｃの座標（ｘｃ，ｙｃ，ｚｃ）が不明であり、また非球面座標Ｇａの形状も不明である。
【００４０】
そこで、演算部１０では、複数の座標点データＤｉ（ｘｉ，ｙｉ，ｚｉ）が得られて図２に示すデータバッファ１１に順番に格納された時点で、非球面座標Ｇａの中心Ｏｃの座標（ｘｃ，ｙｃ，ｚｃ）を求め、非球面座標Ｇａの形状を求めるためのキャリブレーション処理を行う。
キャリブレーション前の非球面座標Ｇａの方程式は、以下の数３の通りである。
【００４１】
【数３】
0005643547.tif 000003
【００４２】
キャリブレーション処理は、数３のｘｃ，ｙｃ，ｚｃおよびａ，ｂ，ｃの値を求めるために行われる。複数得られる座標点データＤｉ（ｘｉ，ｙｉ，ｚｉ）にばらつきが無く、それぞれの座標点データＤｉが同じ非球面座標Ｇａ上に現れるのであれば、複数得られるｘｉ，ｙｉ，ｚｉ（ｉ＝１，２，３，４，・・・）のそれぞれの値を数３のｘ，ｙ，ｚに代入して、連立方程式を解くと、ｘｃ，ｙｃ，ｚｃおよびａ，ｂ，ｃの値を求めることができる。
【００４３】
しかし、実際にはそれぞれの座標点データＤｉ（ｘｉ，ｙｉ，ｚｉ）にばらつきが存在し、同じ非球面座標Ｇａの表面に現れるとは限らない。そこで、数３の方程式のｘ，ｙ，ｚに複数の座標点データＤｉのｘｉ，ｙｉ，ｚｉを代入し、最小二乗法により、複数の座標点データＤｉとの誤差が最も小さくなる楕円球を求めることで、数３に示す方程式のｘｃ，ｙｃ，ｚｃおよびａ，ｂ，ｃを求める。しかし、この演算手法では、ｘｃ，ｙｃ，ｚｃおよびａ，ｂ，ｃの６個の未知数を求めなくてはならないため、演算量が非常に大きくなる。
【００４４】
そこで、以下のキャリブレーション処理では、最小二乗法によりｘｃ，ｙｃ，ｚｃの３個の未知数のみを演算で求める。ａ，ｂ，ｃについては、予め複数の数字の組み合わせを用意しておき、実際の座標点データＤｉ（ｘｉ，ｙｉ，ｚｉ）のばらつきに最も近似した非球面の形状（ａ，ｂ，ｃの値）を演算で求めるのではなく、予め決められたａ，ｂ，ｃの数字の組み合わせの中から選択するという手法を用いる。
【００４５】
まず、オフセット量であるｘｃ，ｙｃ，ｚｃの未知数を演算するために、図４に示すように、非球面座標Ｇａと同じ中心Ｏｃを共有する半径がＲの幾何学的に正確な球である仮球面座標Ｇ１を想定し、複数の座標点データＤｉ（ｘｉ，ｙｉ，ｚｉ）との誤差が最も小さい仮球面座標Ｇ１を演算で求める。仮球面座標Ｇ１の方程式は、以下の数４に示す通りであり、演算で求めるべき未知数はｘｃ，ｙｃ，ｚｃと半径Ｒの４個のみであり、検知誤差係数ａ，ｂ，ｃが含まれない。検知誤差係数ａ，ｂ，ｃを演算で求める必要がないため、演算量を少なくできる。
【００４６】
【数４】
0005643547.tif 000004
【００４７】
演算部１０の演算処理では、数４の仮球面座標Ｇ１の方程式を以下の数５に記載のようにＦｉで表し、さらに、複数の座標点データＤｉ（ｘｉ，ｙｉ，ｚｉ）のそれぞれについて得られるＦｉを２乗して累積加算した値を１／２としたＪを求める。Ｊが最小となるｘｃ，ｙｃ，ｚｃおよびＲを求めることは、複数得られている座標点データＤｉ（ｘｉ，ｙｉ，ｚｉ）との誤差が最小となる仮球面座標Ｇ１の方程式を最小二乗法で求めることに等しい。
【００４８】
【数５】
0005643547.tif 000005
【００４９】
上記Ｊが最小となるときのｘｃ，ｙｃ，ｚｃおよびＲを求めるために、以下の数６に示すように、Ｊをｘｃ，ｙｃ，ｚｃおよびＲのそれぞれの未知数で偏微分した値を０とする連立方程式を求める。この連立方程式を解くことで、Ｊが最小となるときのｘｃ，ｙｃ，ｚｃおよびＲを求めることができる。
【００５０】
【数６】
0005643547.tif 000006
ただし、
【００５１】
【数７】
0005643547.tif 000007
である。
【００５２】
前記数６は非線形連立方程式であるため、一般的な解法で解くことができないが、Gauss-Newton法などの数値解法による反復計算を行うことで解くことができる。
【００５３】
ただし、上記反復計算によらずに、数５のＦｉを以下の数８に示す線形方程式に変形してから、ｘｃ，ｙｃ，ｚｃおよびＲの値を求めることも可能である。
【００５４】
【数８】
0005643547.tif 000008
【００５５】
数８における各未知数ａ１，ａ２，ａ３および未知数の方程式ａ４は、以下の数９に示す通りである。
【００５６】
【数９】
0005643547.tif 000009
【００５７】
よって、数６に示す連立方程式と同等の連立方程式を数８の方程式を用いて表わすと、以下の数１０の連立方程式となる。
【００５８】
【数１０】
0005643547.tif 000010
【００５９】
数１０を行列式で表わすと以下の数１１となる。
【００６０】
【数１１】
0005643547.tif 000011
【００６１】
上記行列式は未知数ａ１，ａ２，ａ３，ａ４を含む線形連立方程式であるため、ガウスの消去法などの数値解析で解くことができる。この数値解析は、数６に示す非線形方程式を解く場合のような反復計算が不要になるため、ＣＰＵなどにおいて比較的短時間で解を得ることができる。
【００６２】
未知数ａ１，ａ２，ａ３，ａ４を解くことで、以下の数１２に示すように、ｘｃ，ｙｃ，ｚｃとＲを求めることができる。
【００６３】
【数１２】
0005643547.tif 000012
【００６４】
次に、検知誤差係数ａ，ｂ，ｃは、演算部１０内のメモリに、複数の数字の組み合わせのデータとして保持されている。前記演算により求められたｘｃ，ｙｃ，ｚｃを、数３に示す楕円球の方程式に代入し、さらに、予め定数として決められている検知誤差係数ａ，ｂ，ｃの複数の組み合わせのうちのいずれかを、数３の方程式に代入することで、図４に示す座標点（ｘｃ，ｙｃ，ｚｃ）に中心Ｏｃを有する多種の形状の楕円球を設定することができる。
【００６５】
検知誤差係数ａ，ｂ，ｃの数字の複数の組み合わせは、Ｘ軸センサ３、Ｙ軸センサ４、Ｚ軸センサ５の特性の測定値に基づいたり、磁気検知装置１が搭載される電子機器の筐体の内部に配置され他の電子回路や、磁気シールドなどに応じて、予め生じるであろう球面座標の歪みの範囲を想定し、その範囲に入る多数の形状の楕円球の形状を予測して決められる。
【００６６】
そして、それまでに得られている複数の座標点データＤｉ（ｘｉ，ｙｉ，ｚｉ）と、複数の形状の楕円球の誤差を最小二乗法などで求め、この誤差が最も小さい楕円球を、座標点データＤｉ（ｘｉ，ｙｉ，ｚｉ）が現れている非球面座標Ｇａとして選択し特定する。
【００６７】
上記キャリブレーション処理は、電源が投入されて磁気検知装置１が始動し、その後に所定数の座標点データＤｉ（ｘｉ，ｙｉ，ｚｉ）が得られたときに行われる。あるいは、定期的に行われる。
【００６８】
上記キャリブレーション処理によって、図４に示す座標点（ｘｃ，ｙｃ，ｚｃ）に中心Ｏｃを有する楕円球が非球面座標Ｇａとして特定されると、特定された座標値ｘｃ，ｙｃ，ｚｃおよび特定された検知誤差係数ａ，ｂ，ｃが演算部１０のメモリに定数として保持される。そして、キャリブレーション処理後に得られる座標点データＤｉ（ｘｉ，ｙｉ，ｚｉ）が、数１３の式に代入されることで、補正座標点データＤｉ´（ｘｉ´，ｙｉ´，ｚｉ´）が得られる。
【００６９】
すなわち、座標点データＤｉ（ｘｉ，ｙｉ，ｚｉ）を、図６に示すように、三次元検知座標の原点Ｏに中心を有し、検知誤差係数ａ，ｂ，ｃによる歪みを補正した真の球形状である補正球面座標Ｇ０上の補正座標点データＤｉ´（ｘｉ´，ｙｉ´，ｚｉ´）に変換することができる。
【００７０】
（数１３）
ｘｉ´＝ａ・（ｘｉ−ｘｃ）
ｙｉ´＝ｂ・（ｙｉ−ｙｃ）
ｚｉ´＝ｃ・（ｚｉ−ｚｃ）
【００７１】
補正球面座標Ｇ０の中心は、Ｘ１−Ｙ１−Ｚ１軸の三次元検知座標の原点Ｏに一致しているため、この補正球面座標Ｇ０に現れる補正座標点データＤｉ´（ｘｉ´，ｙｉ´，ｚｉ´）と、図１に示す３軸加速度センサ８の検知出力とから、地磁気ベクトルの伏角Ｉを求めることができる。
【００７２】
図５には、３軸加速度センサ８で検知された重力加速度ベクトルＡが示されている。また、磁気検知装置１が空間上で同じ姿勢で停止しているときに補正座標点データＤｉ´（ｘｉ´，ｙｉ´，ｚｉ´）から得られる地磁気ベクトルをＭで示している。
【００７３】
以下の数１３に示すように、重力加速度ベクトルＡと静止時の地磁気ベクトルＭとの内積から、両ベクトルの相対角度αを求めることができ、αから９０度を減算することで地磁気ベクトルＭの伏角Ｉを求めることができる。
【００７４】
【数１４】
0005643547.tif 000013
【００７５】
図６は、重力加速度ベクトルＡがＺ軸のマイナスに向くように補正したＸ０−Ｙ０−Ｚ０軸の三次元補正座標を示している。三次元補正座標は、Ｘ０−Ｙ０平面が水平面の向きに一致する。測定場所が北半球のとき、地磁気ベクトルＭは、Ｘ０−Ｙ０平面からプラス側の角度（伏角）Ｉを有する向きで示される。
【００７６】
また、三次元補正座標の赤道を通る基準水平面Ｈ０に、地磁気ベクトルＭを投影することで、地磁気検知装置１の地球上での姿勢を示す方位角βを求めることができる。
【００７７】
この磁気検知装置１が携帯機器に搭載されているとき、磁気検知装置１を回転させると、補正球面座標Ｇ０上で、補正座標点データＤｉ´（ｘｉ´，ｙｉ´，ｚｉ´）が移動する。その移動軌跡を測定することで、携帯機器の回転方向と回転角度を知ることができる。また、原点Ｏに対する複数の補正座標点データＤｉ´（ｘｉ´，ｙｉ´，ｚｉ´）の開き角度と、そのデータが得られたサンプリング時間とから携帯機器の角速度を求めることもできる。
【符号の説明】
【００７８】
１  磁気検知装置
２  地磁気検知部
３  Ｘ軸センサ
４  Ｙ軸センサ
５  Ｚ軸センサ
６  磁場データ検知部
７  メモリ
１０  演算部
８  ３軸加速度センサ
１１  データバッファ
Ｇａ  非球面座標
Ｇ１  仮球面座標
Ｇ０  補正球面座標
Ｘ１−Ｙ１−Ｚ１  三次元検知座標
Ｘ０−Ｙ０−Ｚ０  三次元補正座標
Ｄｉ  座標点データ
Ｄｉ´  補正座標点データ
ａ，ｂ，ｃ  検知誤差係数
ｘｃ，ｙｃ，ｚｃ  非球面座標の中心座標
【図１】
0005643547.tif 000016
【図２】
0005643547.tif 000017
【図３】
0005643547.tif 000018
【図４】
0005643547.tif 000019
【図５】
0005643547.tif 000020
【図６】
0005643547.tif 000021