(57)【要約】  本発明の方位演算プログラムは、コンピュータにより実行可能であり、磁気センサの出力を用いて方位演算を行う方位演算プログラムであって、三次元空間において磁気センサ部（１１１）の３つの出力値を用いて一つの三角形（２１）を作成する第１手順と、三角形（２１）の外接円（２２）を求める第２手順と、外接円（２２）の中心の座標と磁気センサの出力値とから方位演算する第３手順とを含む。
2008111445.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータにより実行可能であり、磁気センサの出力を用いて方位演算を行う方位演算プログラムであって、前記方位演算プログラムは、三次元空間において前記磁気センサの３つの出力値を用いて一つの三角形を作成する手順と、前記三角形の外接円を求める手順と、前記外接円の中心の座標と磁気センサの出力値とから方位演算する手順と、を含むことを特徴とする方位演算プログラム。
【請求項２】
既に求められた外接円を含む平面と新たに求められた外接円を含む平面との間のなす角が所定の範囲内にある場合に、前記既に求められた外接円の中心の座標を用いて方位演算を行うことを特徴とする請求項１記載の方位演算プログラム。
【請求項３】
既に求められた外接円を含む平面と新たに求められた外接円を含む平面との間のなす角が所定の範囲内にある場合に、前記新たに求められた外接円の中心座標を用いて、前記既に求められた外接円の中心の座標の加重平均を求めることを特徴とする請求項１記載の方位演算プログラム。
【請求項４】
前記外接円は、前記３つの出力値の組を複数収集し、それぞれの３つの出力値の組から求められた前記仮想外接円の中心群を平均化することにより求めることを特徴とする請求項１記載の方位演算プログラム。
【請求項５】
磁気センサを有するコンパスモジュールと、前記磁気センサの出力を用いて方位演算を行う請求項１記載の方位演算プログラムを備えた制御手段と、を具備することを特徴とする電子コンパス。
【請求項６】
前記制御手段は、前記３つの出力値を格納できるバッファを複数有し、前記磁気センサからの出力を所定の条件に基づいて前記複数のバッファに格納できるか判定することを特徴とする請求項５記載の電子コンパス。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、磁気センサの出力を用いて方位演算を行う方位演算プログラム及びそれを備えた電子コンパスに関する。
【背景技術】
【０００２】
電子コンパスは、磁気センサの出力を用いて基準方向から方位角を算出するデバイスである。近年、このような電子コンパスを搭載した携帯電話のような携帯端末が開発されてきている。この携帯端末において、計測場所によらず方位演算を行うことができるものとして、特許文献１に開示されているものがある。この特許文献１に開示されている方法では、磁気センサの出力値を所定回数以上繰り返して求め、その複数の出力値が位置する円を用いて方位演算を行う。
【特許文献１】特開２００４−３０９２２８号公報
【発明の開示】
【０００３】
しかしながら、特許文献１に開示された方法では、磁気センサの出力値を所定回数以上繰り返して求めるので、方位演算に要する時間が長くなる。また、上記方法では、携帯端末の傾斜方向が変わった場合、例えば、携帯端末の傾斜方向が変化しながら方位が変わったときには正確に方位演算を行うことができない。
【０００４】
本発明はかかる点に鑑みてなされたものであり、機器の傾斜方向が変化しても短時間に方位演算を行うことができる方位演算プログラム及び電子コンパスを提供することを目的とする。
【０００５】
本発明の方位演算プログラムは、コンピュータにより実行可能であり、磁気センサの出力を用いて方位演算を行う方位演算プログラムであって、前記方位演算プログラムは、三次元空間において前記磁気センサの３つの出力値を用いて一つの三角形を作成する手順と、前記三角形の外接円を求める手順と、前記外接円の中心の座標と磁気センサの出力値とから方位演算する手順と、を含むことを特徴とする。
【０００６】
この構成によれば、磁気センサからの３つの出力値から方位演算を行うことができるので迅速に方位を求めることができる。また、本プログラムによれば、機器の傾斜方向が変化しても、瞬時に最新の出力値から方位演算を行うことができるので、機器の傾斜方向が急に変化しても正確な方位を求めることが可能となる。
【０００７】
本発明の方位演算プログラムにおいては、既に求められた外接円を含む平面と新たに求められた外接円を含む平面との間のなす角が所定の範囲内にある場合に、前記既に求められた外接円の中心の座標を用いて方位演算を行うことが好ましい。
【０００８】
本発明の方位演算プログラムにおいては、既に求められた外接円を含む平面と新たに求められた外接円を含む平面との間のなす角が所定の範囲内にある場合に、前記新たに求められた外接円の中心座標を用いて、前記既に求められた外接円の中心の座標の加重平均を求めることが好ましい。
【０００９】
本発明の方位演算プログラムにおいては、前記外接円は、前記３つの出力値の組を複数収集し、それぞれの３つの出力値の組から求められた前記仮想外接円の中心群を平均化することにより求めることが好ましい。
【００１０】
本発明の電子コンパスは、磁気センサを有するコンパスモジュールと、前記磁気センサの出力を用いて方位演算を行う上記方位演算プログラムを備えた制御手段と、を具備することを特徴とする。
【００１１】
本発明の電子コンパスにおいては、前記制御手段は、前記３つの出力値を格納できるバッファを複数有し、前記磁気センサからの出力を所定の条件に基づいて前記複数のバッファに格納できるか判定することが好ましい。
【００１２】
本発明の方位演算プログラムによれば、三次元空間において前記磁気センサの３つの出力値を用いて一つの三角形を作成し、前記三角形の外接円を求め、前記外接円の中心の座標と磁気センサの出力値とから方位演算するので、携帯端末の傾斜方向が変化しても短時間に方位演算を行うことができる。
【図面の簡単な説明】
【００１３】
【図１】本発明の実施の形態に係る電子コンパスの概略構成を示すブロック図である。
【図２】本発明の実施の形態に係る方位演算の原理を説明するための図である。
【図３】３点を収集する際の手順を説明するためのフロー図である。
【図４】図３に示す手順による３点の収集を説明するための概念図である。
【図５】Ｎ組の３点をバッファ（０）〜バッファ（Ｎ−１）に収集する手順を示すフロー図である。
【図６】Ｎ組の３点をバッファ（０）〜バッファ（Ｎ−１）に収集する手順を示すフロー図である。
【図７】図５及び図６に示す手順による複数組の３点の収集を説明するための概念図である。
【図８】複数組の３点の収集の際のバッファ格納状態を説明するための図である。
【図９】外接円中心の平均化における密集度を説明するための図である。
【図１０】本発明の実施の形態に係る方位演算プログラムを用いた方位演算を説明するためのフロー図である。
【図１１】（ａ）〜（ｃ）は、方位演算を説明するための図である。
【発明を実施するための最良の形態】
【００１４】
以下、本発明の実施の形態について添付図面を参照して詳細に説明する。
図１は、本発明の実施の形態に係る電子コンパスの概略構成を示すブロック図である。図１に示す電子コンパス１は、コンパスモジュール１１と、制御部１２とから主に構成されている。コンパスモジュール１１は、磁気センサ部１１１を有している。また、制御部１２は、磁気センサ部１１１の出力を用いて方位を求める方位算出プログラム１２１と、磁気センサ部１１１の出力を用いて磁気センサの出力の基準点を求めるキャリブレーションプログラム１２２とを有する。【００１５】
コンパスモジュール１１の磁気センサ部１１１における磁気センサは、磁気検出用に少なくとも３軸に対応するものが用いられる。磁気センサを構成するセンサ素子の種類については特に制限はない。例えば、センサ素子としては、ＧＭＲ（Giant  MagnetoResistive）素子、ＡＭＲ（Anisotropic  MagnetoResistive）素子、ＴＭＲ（Tunnel  MagnetoResistive）素子、ＧＩＧ（Granular  In  Gap）素子などの磁気抵抗効果素子でも良く、ホール素子、ＭＩ素子などのその他の磁気検出素子でも良い。また、コンパスモジュール１１には、磁気センサ部１１に電圧や磁界を印加するための処理部や磁気センサ部１１からのアナログ信号をディジタル信号に変換する処理部などが含まれる。【００１６】
制御部１２は、コンパスモジュール１１を駆動するドライバソフトウェアとして少なくとも方位算出プログラム１２１と、キャリブレーションプログラム１２２とを有する。キャリブレーションプログラム１２２については、磁気センサの出力の基準点を求めることができればその方法については特に制限はない。【００１７】
方位演算プログラム１２１は、磁気センサの出力を用いて方位を求めるプログラムである。本プログラムによれば、少ない出力値で方位演算を行うので、迅速に方位を求めることができる。また、本プログラムにおいては、傾斜方向が変わっても正確に方位演算を行うことができる。【００１８】
方位演算プログラム１２１は、コンピュータにより実行可能であり、磁気センサの出力を用いて方位演算を行うものであって、三次元空間において前記磁気センサの３つの出力値を用いて一つの三角形を作成する第１手順と、前記三角形の外接円を求める第２手順と、前記外接円の中心の座標と磁気センサの出力値とから方位演算する第３手順とを含む。【００１９】
図２は、本発明の実施の形態に係る方位演算の原理を説明するための図である。
第１手順においては、図２に示すように、三次元空間における磁気センサ出力を求める。この磁気センサ出力は、ユーザがコンパスモジュール１１を搭載した機器の磁気センサ部１１１において検出される検出データである。この検出データは、後述する三角形を作成するために３点必要である。そして、磁気センサ部１１１で求めた３点の検出データを用いて三角形２１を作成する。【００２０】
この場合において、三角形２１の確からしさを評価することにより精度を高めることが好ましい。方位演算を行う際に、種々の要因により磁気センサ１１１の出力にノイズが入ることが考えられる。三角形２１の作成においてノイズの入った出力値を用いると正確に求めることができない。このため、ノイズが入っている場合に作成された三角形２１は精度が低いために排除するために、三角形２１の確からしさを評価する。これにより、高い精度で方位演算を行うことができる。具体的には、三角形２１の各辺の長さＬ1，Ｌ2，Ｌ3が所定の値を超えるかどうかを判断することにより評価する。この場合の所定の値は、キャリブレーションにより初期化されたパラメータにより求めることができる。例えば、パラメータとしては、キャリブレーションにより求められた、三次元空間における基準点間の距離（三角形の各辺の長さ）や三角形のサンプリング数が挙げられ、サンプリングされ三角形のうち各辺において長さの最小値を所定の値とする。さらに、これらの各辺の長さが基準球Ｐの半径の所定の割合（Ｎ％）以上であるかについても判断して三角形の確からしさの評価を行うこともできる。また、基準球Ｐの中心点と、三角形２１のそれぞれの頂点との距離が基準球Ｐの半径とおおよそ一致するかどうかに基づいて三角形の確からしさの評価を行っても良い。また、三角形の外接円の中心が基準球Ｐの内側にあること、あるいは三角形を含む平面と基準球Ｐの中心点との距離が基準球Ｐの半径以内であることなどから簡易的に確からしさの評価を行っても良い。【００２１】
第２手順においては、図２に示すように、三角形２１の外接円２２を求める。図２において、基準球Ｐの切断面を得るためである。また、求められた外接円２２からその中心座標を求める。この中心座標を用いて方位演算を行う。【００２２】
第２手順において、外接円２２を決定する際に、外接円２２の中心座標があらかじめ設定された所定の範囲内に存在するかどうかを判断し、中心座標が所定の範囲内に存在すれば、外接円２２を確定する。なお、この所定の範囲は、キャリブレーションにより初期化されたパラメータを用いて設定することができる。これにより、外接円の精度が高くなり、より正確に方位演算を行うことができる。【００２３】
この外接円２２の情報（外接円２２を求めるための三角形２１の出力値や中心座標）はメモリに格納されており、この既に求められた外接円情報と、新たに求められた外接円情報とを用いて、外接円２２の精度を高めることができる。例えば、既に求められた外接円を含む平面と新たに求められた外接円を含む平面との間のなす角を求め、そのなす角が所定の範囲内にある場合には、メモリに格納された、既に求められた外接円の中心座標を用いて方位演算を行う。また、求められたなす角が所定の範囲外で、三角形２１が確からしくないと判定された場合にはノイズの影響と判断し、同様にメモリに格納された、既に求められた外接円の中心座標を用いて方位演算を行う。また、求められたなす角が所定の範囲外で、かつ三角形２１が確からしいと判定された場合には、傾斜方向が急に変化したと判断し、新たな外接円の中心座標を用いて方位演算を行う。このようにすることにより、電子コンパスを搭載した機器の傾斜方向が急に変わっても、新たな外接円を用いて方位演算を行うことができるので、傾斜方向の変化に迅速に対応することができる。【００２４】
また、既に求められた外接円を含む平面と新たに求められた外接円を含む平面との間のなす角が所定の範囲内にある場合に、新たに求められた外接円の中心座標を用いて、既に求められた外接円の中心座標の加重平均を求める。このように、新たに求められた外接円情報を用いて加重平均をとることにより、外接円の精度が高くなり、より正確に方位演算を行うことができる。【００２５】
第３手順においては、図２に示す外接円２２の中心座標Ｃと磁気センサ部１１１の出力値とから方位演算を行う。【００２６】
本発明のキャリブレーションプログラムにおいては、三角形を作成するために３点を収集する。この３点の収集方法においては、各点間の距離が予め定められた距離以上であることの条件を考慮する。【００２７】
図３は、３点を収集する際の手順を説明するためのフロー図である。また、図４は、図３に示す手順による３点の収集を説明するための概念図である。図３及び図４において、任意のセンサ出力値をＰNEWとし、収集する３点のセンサ出力値をＰA，ＰB，ＰCとする。図３に示すように、まず、１点目の収集行ってそのセンサ出力値ＰNEWをＰAとする（ＳＴ１１）。次いで、２点目の収集を行ってそのセンサ出力値ＰNEWがＰAと規定距離以上離れているかどうかを判断し（ＳＴ１２）、規定距離以上離れていれば、そのセンサ出力値ＰNEWをＰBとする（ＳＴ１３）。次いで、３点目の収集を行ってそのセンサ出力値ＰNEWがＰAと規定距離以上離れているか、及びＰNEWがＰBと規定距離以上離れているかどうかを判断し（ＳＴ１４）、すべて規定距離以上離れていれば、そのセンサ出力値ＰNEWをＰCとする（ＳＴ１５）。【００２８】
このような方法においては、ランダムなセンサ出力から上記条件に合致する３点を収集するため、電子コンパスを操作するユーザに対して規定の動作を行わせる必要がなく、方位演算を実行することができる。【００２９】
実際には、電子回路から発生するノイズや、ＡＤ変換などの精度により、磁気センサの出力に誤差が生じる。そこで、このような誤差を除外し、外接円の中心（基準点）を正確に求めるために、上記のような３点の組を複数収集し、それぞれの３点の組から求められた外接円の中心群を平均化することが望ましい。この平均化においては、誤差が大きいと想定される密集度の低い外接円中心群を除外し、密集度の高い外接円中心群だけを平均化する。【００３０】
この複数組の３点の収集方法においては、各点間の距離が予め定められた距離以上であること、求められた外接円の中心位置からの各点ＰA，ＰB，ＰCまでの距離が予め定められた範囲内であることの２つの条件を考慮する。【００３１】
複数組の３点を収集する場合には、各組の３点をすべて独立し、任意のプロット点が複数組で共有されないようにする。すなわち、プロットする点の個数は「３点の組数×３」となる。この場合、複数の３点収集用バッファを用意し、上述した図３に示す手順にしたがってセンサ出力を各バッファに格納する。なお、バッファを均等に巡回するために、前回格納を成功した次のバッファからプロット点を格納する。【００３２】
図５及び図６は、Ｎ組の３点をバッファ（０）〜バッファ（Ｎ−１）に収集する手順を示すフロー図である。なお、この手順を実行する前に、バッファインデクス（ｉ）を０初期化しておく。【００３３】
図５に示すように、バッファ（ｉ）で３点収集が完了しているかどうか判断し（ＳＴ２１）、３点収集が完了してればバッファインデクスを更新し（ＳＴ２３）、３点収集が完了していなければ上記図３に示す手順で３点収集を行う（ＳＴ２２）。次いで、３点収集により得られたセンサ出力のバッファへの格納が完了しているかどうかを判断し（ＳＴ２４）、格納が完了していればバッファインデクスを更新する（ＳＴ２３）。このような処理をＮ回繰り返す。【００３４】
バッファインデクスの更新においては、図６に示すように、バッファ番号ｉを１インクリメントし（ＳＴ３１）、１インクリメントした数がＮ以上であるかどうかを判断し（ＳＴ３２）、１インクリメントした数がＮ以上であればバッファ番号ｉを初期化する（０にする）（ＳＴ３３）。【００３５】
図７は、図５及び図６に示す手順による複数組の３点の収集を説明するための概念図である。また、図８は、複数組の３点の収集の際のバッファ格納状態を説明するための図である。【００３６】
例えば、センサ出力が図７に示すような軌跡を示し、その中での多数のプロット点群から複数組の３点を収集する場合について説明する。ここでは、５組の３点を収集する場合について説明する。まず、予め準備した３点を格納する複数のバッファにつて、図８（ａ）に示すように、最初のプロット点は無条件に格納する。すなわち、最初の５つのプロット点（ＰA1，ＰA2，ＰA3，ＰA4，ＰA5）は、各々のバッファに第１点として格納される。【００３７】
次に収集されたプロット点（ＰA6）について各バッファへの格納を試みる際には、そのプロット点（ＰA6）を格納するバッファを検索する。その検索順は、直前のプロット点を格納したバッファの次のバッファから行う。ここでは、直前のプロット点（ＰA5）をバッファ５に格納しているため、バッファ１から格納を試みる。プロット点（ＰA6）は、各バッファの第１点（ＰA1，ＰA2，ＰA3，ＰA4，ＰA5）からの距離が短いため、上記条件を満足しないので破棄される。プロット点（ＰA7）についても同様の条件で破棄される。【００３８】
次に収集されたプロット点（ＰB1）については、バッファ１の第１点（ＰA1）と規定距離以上離れているため、図８（ｂ）に示すように、バッファ１の第２点として格納される。同様に、プロット点（ＰB2〜ＰB5）及びプロット点（ＰC1〜ＰC5）についても、図８（ｃ）に示すように、距離条件が満たされるバッファヘ第２点〜第３点として順次される。【００３９】
このような複数のバッファ（ここではバッファ１〜５）に対するプロット点（センサ出力）の格納は、個々のバッファに対して一組のプロット点（ここでは３つのプロット点）がすべて格納されてから次のバッファに対して格納する方式ではなく、上記条件を満足する中でプロット点を得られた順に逐次バッファに対して格納する方式で行う。すなわち、図８（ｂ）に示すように、一つのバッファにまだ格納領域が存在する状態で他のバッファに対して格納が行われる。このように、得られたプロット点を全てのバッファに対して上記条件を判断して順次格納することにより、上記条件を満たす３点のプロット点が一組集まってから次のプロット点の収集を行う場合と比べて、より少ない収集回数で複数組のプロット点を収集することが可能となり、より短い時間でユーザに意識させることなくキャリブレーションを完了することが出来る。このような複数のバッファに対するプロット点の格納は、制御部１２により制御される。【００４０】
なお、本実施の形態においては、各バッファに対して均等に第１点〜第３点が順次格納されている場合について説明しているが、各バッファは固有の条件（距離）によってプロット点の格納を行うため、各バッファでのプロット点充足率がばらついても良い。例えば、ユーザが装置を回転させるなどのキャリブレーションのための特別な操作を行わない場合には、図７において破線のような軌跡をたどる場合がある。この場合であっても、点ＰＥではバッファ１に格納はできないが、バッファ５の格納条件を満たすことができる。このように、全てのバッファに対して条件を判断して順次格納することにより、センサによる軌跡が広い範囲に広がらない場合においても効率よくデータ収集を行うことが可能となる。【００４１】
このようにして得られた複数組の３点から、各々外接円の中心を算出し、これを平均化することにより本来の外接円中心を求める。外接円中心の平均化においては、複数の外接円中心群から、密集度の高い部分だけを平均化する。例えば、図９に示すように、５つの球中心（Ｃ1〜Ｃ5）が算出された場合、密集度の高い部分（Ｃ1〜Ｃ3）の３つの外接円中心を平均化し、Ｃ4，Ｃ5は、ノイズが大きいとみなして除外する。このように外接円中心を求めることにより、ノイズが小さい４点の出力の組からのみ外接円中心を求めることができる。このため、複数の外接円中心を単純平均する場合のみならず、多数の出力から直接行列演算を行って中心を求める方法と比較してもノイズの影響を軽減して精度よく外接円を求めることが可能となる。【００４２】
密集度の高さは、まず、各外接円中心において、自位置（Ｃn）から他の外接円中心への距離の総和（Ｌn）（例えば、Ｃ1の場合の各距離（Ｃ1〜Ｃ2，Ｃ1〜Ｃ3，Ｃ1〜Ｃ4，Ｃ1〜Ｃ5）の総和（Ｌ1））を求め、距離総和の平均（ＬAVE＝（Ｌ1＋Ｌ2＋Ｌ3＋Ｌ4＋Ｌ5）／５）を求め、Ｌnが、距離総和の平均（ＬAVE）より小さいか、等しい場合に、密集度の高い部分の仮想球中心とみなす。【００４３】
次に、上述した電子コンパスにおける方位演算について説明する。図１０は、本発明の実施の形態に係る方位演算プログラムを用いた方位演算を説明するためのフロー図である。【００４４】
まず、電子コンパス１を起動させると（ＳＴ４１）、キャリブレーションを行って、方位演算に必要とされるパラメータを初期化する（ＳＴ４２、ＳＴ４３）。【００４５】
次いで、コンパスモジュール１１における磁気センサ部１１１の出力を用いて三角形を作成する（ＳＴ４４）。この場合、まず、磁気センサ部１１１から３つの出力値を求める。このときの３つの出力値（基準球Ｐにおけるプロット点）を（Ｘn-1，Ｙn-1，Ｚn-1）、（Ｘn，Ｙn，Ｚn）、（Ｘn+1，Ｙn+1，Ｚn+1）として、三角形の辺の長さをＬ1，Ｌ2，Ｌ3とすると、それぞれの三角形の辺の長さは、以下の式（１）で求められる。
Ｌ1＝√｛（Ｘn−Ｘn-1）2＋（Ｙn−Ｙn-1）2＋（Ｚn−Ｚn-1）2｝
Ｌ2＝√｛（Ｘn−Ｘn+1）2＋（Ｙn−Ｙn+1）2＋（Ｚn−Ｚn+1）2｝
Ｌ3＝√｛（Ｘn+1−Ｘn-1）2＋（Ｙn+1−Ｙn-1）2＋（Ｚn+1−Ｚn-1）2｝  式（１）【００４６】
このようにして求められたＬ1，Ｌ2，Ｌ3と、キャリブレーションにより初期化されたパラメータから求められた三角形の辺の長さの最小距離とを比較して三角形が確からしいかを判断する（ＳＴ４５）。すなわち、Ｌ1，Ｌ2，Ｌ3＞最小距離（閾値）であるかどうかを判断する。そして、Ｌ1，Ｌ2，Ｌ3がすべて最小距離よりも大きければ、三角形が確からしいとして外接円の作成を行う（ＳＴ４６）。Ｌ1，Ｌ2，Ｌ3のいずれかが最小距離以下であれば、他のプロット点により三角形の作成を行う（ＳＴ４４）。【００４７】
外接円の作成の際には、その中心座標（Ｘc，Ｙc，Ｚc）が所定の範囲内であるかどうかを判断し、中心座標が所定の範囲内にあれば外接円を決定する。そして、外接円が既に存在する、すなわち基準となる外接円が求められてメモリに格納されているかどうかを判断する（ＳＴ４７）。電子コンパスを起動して初めて外接円が作成されたときには、基準外接円は存在しないので、その外接円の中心座標と、そのときに得られている磁気センサ部１１１の出力値（Ｘt，Ｙt，Ｚt）とを用いて方位演算を行う（ＳＴ４８）。【００４８】
方位演算においては、まず、図１１（ａ）に示すような基準球Ｐにおける外接円２２について、図１１（ｂ）に示すように、外接円２２上の出力値Ａ（Ａx，Ａy，Ａz）をＸ軸周りに傾斜角（−θ）だけ回転する。
このとき、回転後の出力値Ａ’の座標（Ａ’x，Ａ’y，Ａ’z）は、回転前の座標（Ａx，Ａy，Ａz）と傾斜角（−θ）とから以下の式（２）により求められる。
【数１】
2008111445.tif 000003
【００４９】
次いで、回転後の出力値Ａ’のＸ成分及びＹ成分（Ａ’x，Ａ’y）から方位角度λは以下の式（３）により求められる。
方位角度λ＝ｔａｎ-1（Ａ’y／Ａ’x）                          式（３）【００５０】
一方、基準外接円が求められてメモリに格納されている場合には、既に求められた外接円と新たに求められた外接円との間のなす角を求め、そのなす角が所定の範囲内にあるかどうかを判断する（ＳＴ４９）。そして、なす角が所定の範囲内にある場合（閾値以下の場合）には、新たに求められた外接円の中心座標を用いて、既に求められた外接円の中心座標の加重平均を求める（ＳＴ５０）。そして、加重平均された外接円の中心座標を用いて方位演算を行う（ＳＴ４８）。【００５１】
このように、本発明の電子コンパスにおいては、磁気センサ部１１１からの３つの出力値から方位演算を行うことができるので迅速に方位を求めることができる。また、本プログラムによれば、機器の傾斜方向が変化しても、瞬時に最新の出力値から方位演算を行うことができるので、機器の傾斜方向が急に変化しても正確な方位を求めることが可能となる。【００５２】
本発明は上記実施の形態に限定されず、種々変更して実施することが可能である。例えば、上記実施の形態では、電子コンパスにおいてコンパスモジュールと制御部とが個別に構成されている場合について説明しているが、本発明においては、電子コンパスにおいてコンパスモジュールと制御部とが一体で構成されていても良い。また、上記実施の形態における方位演算方法は一例であり、本発明においては他の方位演算方法を用いても良い。その他、本発明の目的の範囲を逸脱しない限りにおいて適宜変更することが可能である。
【図１】
2008111445.tif 000004
【図２】
2008111445.tif 000005
【図３】
2008111445.tif 000006
【図４】
2008111445.tif 000007
【図５】
2008111445.tif 000008
【図６】
2008111445.tif 000009
【図７】
2008111445.tif 000010
【図８】
2008111445.tif 000011
【図９】
2008111445.tif 000012
【図１０】
2008111445.tif 000013
【図１１】
2008111445.tif 000014
【国際調査報告】
2008111445.tif 000015
2008111445.tif 000016
2008111445.tif 000017
2008111445.tif 000018