(57)【特許請求の範囲】
【請求項１】
２軸または３軸の磁気検出データを各々２軸座標系または３軸座標系のデータ点として取得するデータ取得部と、
前記磁気検出データのオフセット成分を前記２軸座標系または前記３軸座標系のオフセット点として記録するオフセット記録部と、
順次取得されるデータ点のうち２点を隔てる基準線または基準面を算出し、前記オフセット記録部に記録されている旧オフセット点と前記基準線または前記基準面とから前記旧オフセット点を通る直線を算出し、前記直線上に新オフセット候補点を算出することにより前記旧オフセット点を前記直線上で前記基準線または前記基準面に近付く方向へ移動させるオフセット算出部と、
を有することを特徴とするオフセット算出回路。
【請求項２】
３軸の磁気検出データを３軸座標系のデータ点として取得するデータ取得部と、
前記磁気検出データのオフセット成分を前記３軸座標系のオフセット点として記録するオフセット記録部と、
順次取得されるデータ点のうち３点で囲まれる領域内を通る基準線を算出し、前記オフセット記録部に記録されている旧オフセット点と前記基準線とから前記旧オフセット点を通る平面を算出し、前記平面上に新オフセット候補点を算出することにより前記旧オフセット点を前記平面上で前記基準線に近付く方向へ移動させるオフセット算出部と、
を有することを特徴とするオフセット算出回路。
【請求項３】
前記基準線または前記基準面は、前記２点ないし前記３点のデータ点から等距離にある点を結ぶ直線または平面であることを特徴とする請求項１または請求項２に記載のオフセット算出回路。
【請求項４】
前記オフセット算出部は、新オフセット候補点の前回算出時に参照された２点ないし３点のデータ点とは少なくとも１点が異なる２点ないし３点のデータ点を新たに参照して、新オフセット候補点の算出を繰り返すことを特徴とする請求項１〜請求項３のいずれか一項に記載のオフセット算出回路。
【請求項５】
新オフセット候補点の一つまたは複数の平均値を前記オフセット記録部に上書きするオフセット更新部をさらに有することを特徴とする請求項１〜請求項４のいずれか一項に記載のオフセット算出回路。
【請求項６】
前記オフセット算出部は、新オフセット候補点の算出時に参照する２点ないし３点のデータ点について、少なくとも２点間の距離が所定値よりも短いときには、参照中のデータ点から新オフセット候補点を算出しない、若しくは、参照中のデータ点から算出された新オフセット候補点を破棄することを特徴とする請求項１〜請求項５のいずれか一項に記載のオフセット算出回路。
【請求項７】
前記オフセット算出部は、前記基準線または前記基準面と前記旧オフセット点との距離が所定値よりも長いときには、参照中のデータ点から新オフセット候補点を算出しない、または、参照中のデータ点から算出された新オフセット候補点を破棄する、若しくは、新オフセット候補点の算出時における旧オフセット点の移動距離を通常時よりも短く設定することを特徴とする請求項１〜請求項６のいずれか一項に記載のオフセット算出回路。
【請求項８】
前記オフセット算出部は、前記基準線または前記基準面と前記旧オフセット点との距離が所定の閾値よりも短いときに新オフセット候補点を第１頻度で算出し、前記基準線または前記基準面と前記旧オフセット点との距離が前記閾値よりも長いときに新オフセット候補点を前記第１頻度よりも高い第２頻度で算出することを特徴とする請求項１〜請求項７のいずれか一項に記載のオフセット算出回路。
【請求項９】
２軸または３軸の磁気検出データを生成する磁気検出回路と、
前記磁気検出データのオフセットを算出する請求項１〜請求項８のいずれか一項に記載のオフセット算出回路と、
前記磁気検出データのオフセットを補正するオフセット補正回路と、
補正済みの磁気検出データから方位角データを生成する方位角演算回路と、
を有することを特徴とする方位角センサ。
【請求項１０】
請求項９に記載の方位角センサを備えた電子機器。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、オフセット算出回路及びこれを用いた方位角センサに関する。
【背景技術】
【０００２】
方位角センサ（地磁気センサ）は、地磁気の方向を検出することにより、方位角を測定する。ただし、測定対象の地磁気は非常に微弱である。従って、方位角を精度良く検出するためには、周囲環境に存在する磁場（方位角センサを搭載したセットの内部で発生する磁場、若しくは、方位角センサの周囲に置かれた強力マグネットなどが発する磁場など）に起因するオフセットや、方位角センサ自体の性能に起因するオフセットをキャンセルして、真の地磁気を検出する必要がある。
【０００３】
方位角センサのオフセットは、時間的にも空間的にも絶えず変化する。従って、方位角を精度良く検出するためには、方位角センサのオフセットを高速かつ継続的にキャンセルし続ける必要がある。
【０００４】
オフセット補正方法としては、使用するユーザが意図的に手動補正する方法と、ユーザが意図しない間に自動補正する方法があり、ユーザの利便性向上や方位角センサの検出精度向上を鑑みると、後者の方法を採用することが望ましい。
【０００５】
なお、上記に関連する従来技術の一例としては、特許文献１を挙げることができる。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特許第４３９１４１６号明細書
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、特許文献１の従来技術では、オフセット補正処理に要する演算量が非常に多いので、オフセットを高速かつ継続的にキャンセルし続けるためには、高い演算能力を必要とするという課題があった。
【０００８】
本明細書中に開示されている発明は、本願の発明者により見出された上記課題に鑑み、従来よりも少ない演算量でオフセットを算出することのできるオフセット算出回路及びこれを用いた方位角センサを提供することを目的とする。
【課題を解決するための手段】
【０００９】
本明細書中に開示されているオフセット算出回路は、２軸または３軸の磁気検出データを各々２軸座標系または３軸座標系のデータ点として取得するデータ取得部と、前記磁気検出データのオフセット成分を前記２軸座標系または前記３軸座標系のオフセット点として記録するオフセット記録部と、順次取得されるデータ点のうち２点を隔てる基準線または基準面を算出した上で前記オフセット記録部に記録されている旧オフセット点を前記基準線または前記基準面に近付く方向へ移動させることにより新オフセット候補点を算出するオフセット算出部と、を有する構成（第１の構成）とされている。
【００１０】
また、本明細書中に開示されているオフセット算出回路は、３軸の磁気検出データを３軸座標系のデータ点として取得するデータ取得部と、前記磁気検出データのオフセット成分を前記３軸座標系のオフセット点として記録するオフセット記録部と、順次取得されるデータ点のうち３点で囲まれる領域内を通る基準線を算出し、前記オフセット記録部に記録されている旧オフセット点を前記基準線に近付く方向に移動させることにより新オフセット候補点を算出するオフセット算出部と、を有する構成（第２の構成）とされている。
【００１１】
なお、上記第１または第２の構成から成るオフセット算出回路において、前記基準線または前記基準面は、前記２点ないし前記３点のデータ点から等距離にある点を結ぶ直線または平面である構成（第３の構成）にするとよい。
【００１２】
また、上記第１〜第３いずれかの構成から成るオフセット算出回路において、前記オフセット算出部は、新オフセット候補点の前回算出時に参照された２点ないし３点のデータ点とは少なくとも１点が異なる２点ないし３点のデータ点を新たに参照して、新オフセット候補点の算出を繰り返す構成（第４の構成）にするとよい。
【００１３】
また、上記第１〜第４いずれかの構成から成るオフセット算出回路は、新オフセット候補点の一つまたは複数の平均値を前記オフセット記録部に上書きするオフセット更新部をさらに有する構成（第５の構成）にするとよい。
【００１４】
また、上記第１〜第５いずれかの構成から成るオフセット算出回路において、前記オフセット算出部は、新オフセット候補点の算出時に参照する２点ないし３点のデータ点について、少なくとも２点間の距離が所定値よりも短いときには、参照中のデータ点から新オフセット候補点を算出しない、若しくは、参照中のデータ点から算出された新オフセット候補点を破棄する構成（第６の構成）にするとよい。
【００１５】
また、上記第１〜第６いずれかの構成から成るオフセット算出回路において、前記オフセット算出部は、前記基準線または前記基準面と前記旧オフセット点との距離が所定値よりも長いときには、参照中のデータ点から新オフセット候補点を算出しない、または、参照中のデータ点から算出された新オフセット候補点を破棄する、若しくは、新オフセット候補点の算出時における旧オフセット点の移動距離を通常時よりも短く設定する構成（第７の構成）にするとよい。
【００１６】
また、上記第１〜第７いずれかの構成から成るオフセット算出回路において、前記オフセット算出部は、前記基準線または前記基準面と前記旧オフセット点との距離が所定の閾値よりも短いときに新オフセット候補点を第１頻度で算出し、前記基準線または前記基準面と前記旧オフセット点との距離が前記閾値よりも長いときに新オフセット候補点を前記第１頻度よりも高い第２頻度で算出する構成（第８の構成）にするとよい。
【００１７】
また、本明細書中に開示されている方位角センサは、２軸または３軸の磁気検出データを生成する磁気検出回路と、前記磁気検出データのオフセットを算出する上記第１〜第８いずれかの構成から成るオフセット算出回路と、前記磁気検出データのオフセットを補正するオフセット補正回路と、補正済みの磁気検出データから方位角データを生成する方位角演算回路と、を有する構成（第９の構成）とされている。
【００１８】
また、本明細書中に開示されている電子機器は、上記第９の構成から成る方位角センサを備えた構成（第１０の構成）とされている。
【発明の効果】
【００１９】
本明細書中に開示されている発明によれば、従来よりも少ない演算量でオフセットを算出することのできるオフセット算出回路及びこれを用いた方位角センサを提供することが可能となる。
【図面の簡単な説明】
【００２０】
【図１】方位角センサ１の第１実施形態を示すブロック図
【図２】オフセット算出手法の第１例を示すＸＹ座標平面図
【図３】初期オフセット算出手法の一例を示すＸＹ平面図
【図４】方位角センサ１の第２実施形態を示すブロック図
【図５】オフセット算出手法の第２例を示すＸＹＺ座標空間図
【図６】方位角センサ１の第３実施形態を示すブロック図
【図７】オフセット算出手法の第３例を示すＸＹＺ座標空間図
【図８】スマートフォンの外観図
【発明を実施するための形態】
【００２１】
＜第１実施形態＞
図１は、方位角センサ１の第１実施形態を示すブロック図である。第１実施形態の方位角センサ１は、磁気検出回路１０と、オフセット算出回路２０と、オフセット補正回路３０と、方位角演算回路４０と、を有する。
【００２２】
磁気検出回路１０は、Ｘ軸方向の磁気を検出する磁気センサ１０Ｘと、Ｙ軸方向の磁気を検出する磁気センサ１０Ｙを含み、２軸の磁気検出データＸｎ及びＹｎ（アナログ電圧信号）を生成する。なお、磁気センサ１０Ｘ及び１０Ｙの磁気検出素子としては、ホール素子を利用してもよいし、ＭＲ［magnetoresistance］素子を利用してもよい。また、Ｘ軸とＹ軸は、互いに直交するように設計すればよい。
【００２３】
オフセット算出回路２０は、データ取得部２１と、オフセット記録部２２と、オフセット算出部２３と、オフセット更新部２４を含み、磁気検出回路１０のオフセット（２軸の磁気検出データＸｎ及びＹｎに各々含まれるオフセット成分Ｘｃ及びＹｃ）を算出する。
【００２４】
データ取得部２１は、２軸の磁気検出データＸｎ及びＹｎを２軸座標系のデータ点（Ｘｎ，Ｙｎ）として取得する。なお、データ取得部２１は、磁気センサ１０Ｘ及び１０Ｙの駆動制御を行うドライバや、アナログの磁気検出データＸｎ及びＹｎをデジタルのデータ点（Ｘｎ，Ｙｎ）に変換するＡ／Ｄ［analog-to-digital］コンバータなどを含む。
【００２５】
オフセット記録部２２は、２軸のオフセット成分Ｘｃ及びＹｃを２軸座標系のオフセット点（Ｘｃ，Ｙｃ）として不揮発的に記録する。オフセット記録部２２としては、ＥＥＰＲＯＭ［electrically erasable programmable read-only memory］やフラッシュメモリなどの不揮発性半導体メモリを好適に用いることができる。
【００２６】
オフセット算出部２３は、順次取得されるデータ点（Ｘｎ，Ｙｎ）のうち２点（Ｘ１，Ｙ１）及び（Ｘ２，Ｙ２）を隔てる基準線Ｆ１１を算出した上で、オフセット記録部２２に記録されている旧オフセット点（Ｘｃ０，Ｙｃ０）を基準線Ｆ１１に近付く方向へ移動させることにより、新オフセット候補点（Ｘｃ１，Ｙｃ１）を算出する。なお、上記のオフセット算出手法については、後ほど詳述する。
【００２７】
オフセット更新部２４は、新オフセット候補点（Ｘｃ１，Ｙｃ１）（または、複数算出された新オフセット候補点の平均値）をオフセット記録部２２に上書きする。
【００２８】
オフセット補正回路３０は、オフセット記録部２３から読み出したオフセット情報（オフセット成分Ｘｃ及びＹｃ）を用いて、磁気検出データＸｎ及びＹｎを補正することにより、オフセット補正済みの磁気検出データＸｎ’（＝Ｘｎ−Ｘｃ）及びＹｎ’（＝Ｙｎ−Ｙｃ）を生成する。
【００２９】
方位角演算回路４０は、オフセット補正済みの磁気検出データＸｎ’及びＹｎ’から方位角データＳｏを生成する。
【００３０】
なお、本図では、オフセット算出回路２０、オフセット補正回路３０、及び、方位角演算回路４０を各々独立した回路ブロックとして描写したが、これらの回路ブロックは、ＣＰＵ［central processing unit］やＤＳＰ［digital signal processor］などを用いて一元的に実装することができる。
【００３１】
図２は、オフセット算出部２３におけるオフセット算出手法の第１例を示すＸＹ座標平面図である。
【００３２】
第１例のオフセット算出に際しては、まず、順次取得されるデータ点（Ｘｎ，Ｙｎ）のうち、任意の２点（ここではＰ点（Ｘ１，Ｙ１）とＱ点（Ｘ２，Ｙ２））が選択される。
【００３３】
次に、Ｐ点とＱ点を隔てる基準線Ｆ１１が算出される。基準線Ｆ１１の例としては、Ｐ点とＱ点から等距離にある点を結ぶ直線を挙げることができる。その場合、基準線Ｆ１１は、次の（１ａ）式ないしは（１ｂ）式を用いて算出することができる。なお、（１ｂ）式は、（１ａ）式をより簡略化した演算式である。
【００３４】
【数１】
0006563190.tif 000002
【００３５】
上記の（１ａ）式ないしは（１ｂ）式を用いることにより、基準線Ｆ１１を容易に算出することができる。ただし、基準線Ｆ１１は、必ずしも直線である必要はなく、Ｐ点とＱ点を隔てるものであれば、曲線であっても構わない。
【００３６】
次に、オフセット記録部２２に記録されている旧オフセット点Ａ（Ｘｃ０，Ｙｃ０）を通り、かつ、基準線Ｆ１１と垂直な直線Ｆ１２が算出される。なお、直線Ｆ１２は、次の（２）式を用いて容易に算出することができる。
【００３７】
【数２】
0006563190.tif 000003
【００３８】
次に、旧オフセット点Ａを基準線Ｆ１１に近付く方向へ移動させることにより、新オフセット候補点Ｂ（Ｘｃ１，Ｙｃ１）が算出される。
【００３９】
例えば、基準線Ｆ１１と直線Ｆ１２との交点Ｓ（Ｘｃ’，Ｙｃ’）を算出し、この交点Ｓと旧オフセット点Ａとで定まる線分ＳＡをｍ：ｎに分割することにより、新オフセット候補点Ｂを算出すればよい。
【００４０】
或いは、直線Ｆ１２上において、旧オフセット点Ａを移動距離ｄだけ交点Ｓ側に移動することにより、新オフセット候補点Ｂを算出してもよい。なお、旧オフセット点Ａと交点Ｓとの距離をＤとした場合、移動距離ｄは０＜ｄ＜２Ｄの範囲で設定すればよい。すなわち、新オフセット候補点Ｂは、必ずしも線分ＳＡ上に存在する必要はなく、基準線Ｆ１１を超えた領域に設定されても構わない。
【００４１】
より包括的に述べれば、新オフセット候補点Ｂは、交点Ｓを中心とする半径Ｄの円内に収まる領域に存在しさえすればよい。
【００４２】
以降も、オフセット算出部２３は、新オフセット候補点Ｂの前回算出時に参照された２点のデータ点とは少なくとも１点が異なる２点のデータ点を新たに参照して、新オフセット候補点Ｂの算出を繰り返す。例えば、最短の周期で新オフセット候補点Ｂの算出を繰り返す場合には、Ｐ点とＱ点に続いて３点目のＲ点（Ｘ３，Ｙ３）が取得された時点で、Ｑ点とＲ点を選択することにより、次の新オフセット候補点Ｂを算出することができる。
【００４３】
オフセット更新部２４は、オフセット算出部２３で新たに算出された新オフセット候補点Ｂ（若しくは複数算出された新オフセット候補点Ｂの平均値）をオフセット記録部２２に上書きする。上記一連の処理を繰り返すことにより、時間的にも空間的にも絶えず変化する方位角センサ１のオフセットを高速かつ継続的にキャンセルし続けることができるようになるので、方位角を精度良く検出することが可能となる。
【００４４】
なお、オフセット算出部２３は、新オフセット候補点Ｂの算出時に参照する２点のデータ点について、２点間の距離が所定値よりも短いときには、参照中のデータ点から新オフセット候補点Ｂを算出しない、若しくは、参照中のデータ点から算出された新オフセット候補点Ｂを破棄する。参照対象とされているデータ点相互間の距離が短いほど基準線Ｆ１１の信頼性が乏しくなる。そこで、不確かな基準線Ｆ１１に基づく新オフセット候補点Ｂの算出を中止するか、或いは、算出結果を破棄することにより、オフセット算出の精度を高めることが可能となる。
【００４５】
また、オフセット算出部２３は、基準線Ｆ１１と旧オフセット点Ａとの距離が所定の閾値ｄ１よりも長いときには、参照中のデータ点から新オフセット候補点Ｂを算出しない、または、参照中のデータ点から算出された新オフセット候補点Ｂを破棄する、若しくは、新オフセット候補点Ｂの算出時における旧オフセット点Ａの移動距離ｄを通常時よりも短く設定する。このようなアルゴリズムを採用すれば、新オフセット候補点Ｂが旧オフセット点Ａから過度に乖離しなくなるので、方位角検出の安定性を高めることが可能となる。
【００４６】
また、オフセット算出部２３は、基準線Ｆ１１と旧オフセット点Ａとの距離が所定の閾値ｄ２（＜ｄ１）よりも短いときに新オフセット候補点Ｂを第１頻度で算出し、基準線Ｆ１１と旧オフセット点Ａとの距離が閾値ｄ２よりも長いときに新オフセット候補点Ｂを第１頻度よりも高い第２頻度で算出する。このようなアルゴリズムを採用すれば、基準線Ｆ１１が旧オフセット点Ａから離れているほど、高頻度にオフセットの算出及び更新が行われるので、方位角センサ１のオフセットを高速にキャンセルすることが可能となる。
【００４７】
なお、新オフセット候補点Ｂの初回算出時に参照される旧オフセット点Ａ（ここでは、説明の便宜上、初期オフセット点Ｃと別称する）としては、方位角センサ１の工場出荷時点で、Ｃ（０，０）をオフセット記録部２２に記録しておけばよい。或いは、外部磁場が遮断された試験環境下で暫定的に初期オフセット点Ｃを算出し、その算出結果をオフセット記録部２２に記録しておいてもよい。
【００４８】
図３は、初期オフセット点Ｃの算出手法の一例を示すＸＹ平面図である。初期オフセット点Ｃの算出に際しては、３つのデータ点（Ｐ、Ｑ、Ｒ）を順次取得した上で、例えば、Ｐ点とＱ点から等距離にある点を結ぶ直線Ｆ１と、Ｑ点とＲ点から等距離にある直線Ｆ２を各々算出し、直線Ｆ１と直線Ｆ２との交点を初期オフセット点Ｃ（Ｘｃ０，Ｙｃ０）とすればよい。
【００４９】
＜第２実施形態＞
図４は、方位角センサ１の第２実施形態を示すブロック図である。第２実施形態は、基本的に第１実施形態と同様の構成であり、磁気検出回路１０の構成要素として、Ｚ軸方向の磁気を検出して磁気検出データＺｎを生成する磁気センサ１０Ｚが新たに追加されている。なお、Ｚ軸は、Ｘ軸及びＹ軸と各々直交するように設計すればよい。
【００５０】
オフセット算出回路２０は、第１実施形態と同様、データ取得部２１と、オフセット記録部２２と、オフセット算出部２３と、オフセット更新部２４を含み、磁気検出回路１０のオフセット（３軸の磁気検出データＸｎ、Ｙｎ、Ｚｎに各々含まれるオフセット成分Ｘｃ、Ｙｃ、Ｚｃ）を算出する。
【００５１】
データ取得部２１は、３軸の磁気検出データＸｎ、Ｙｎ、Ｚｎを３軸座標系のデータ点（Ｘｎ，Ｙｎ，Ｚｎ）として取得する。
【００５２】
オフセット記録部２２は、３軸のオフセット成分Ｘｃ、Ｙｃ、Ｚｃを３軸座標系のオフセット点（Ｘｃ，Ｙｃ，Ｚｃ）として不揮発的に記録する。
【００５３】
オフセット算出部２３は、順次取得されるデータ点（Ｘｎ，Ｙｎ，Ｚｎ）のうち、２点（Ｘ１，Ｙ１，Ｚ１）及び（Ｘ２，Ｙ２，Ｚ２）を隔てる基準面Ｆ２１を算出した上で、オフセット記録部２２に記録されている旧オフセット点（Ｘｃ０，Ｙｃ０，Ｚｃ０）を基準面Ｆ２１に近付く方向へ移動させることにより新オフセット候補点（Ｘｃ１，Ｙｃ１、Ｚｃ１）を算出する。なお、上記のオフセット算出手法については、後ほど詳述する。
【００５４】
オフセット更新部２４は、新オフセット候補点（Ｘｃ１，Ｙｃ１、Ｚｃ１）（または、複数算出された新オフセット候補点の平均値）をオフセット記録部２２に上書きする。
【００５５】
オフセット補正回路３０は、オフセット記録部２３から読み出したオフセット情報（オフセット成分Ｘｃ、Ｙｃ、Ｚｃ）を用いて、磁気検出データＸｎ、Ｙｎ、Ｚｎを補正することにより、オフセット補正済みの磁気検出データＸｎ’（＝Ｘｎ−Ｘｃ）、Ｙｎ’（＝Ｙｎ−Ｙｃ）、及び、Ｚｎ’（＝Ｚｎ−Ｚｃ）を生成する。
【００５６】
方位角演算回路４０は、オフセット補正済みの磁気検出データＸｎ’、Ｙｎ’、Ｚｎ’から方位角データＳｏを生成する。
【００５７】
図５は、オフセット算出部２３におけるオフセット算出手法の第２例を示すＸＹＺ座標空間図である。
【００５８】
第２例のオフセット算出に際しては、まず、順次取得されるデータ点（Ｘｎ，Ｙｎ，Ｚｎ）のうち、任意の２点（ここでは、Ｐ点（Ｘ１，Ｙ１，Ｚ１）とＱ点（Ｘ２，Ｙ２，Ｚ２））が選択される。
【００５９】
次に、Ｐ点とＱ点を隔てる基準面Ｆ２１が算出される。基準面Ｆ２１の例としては、Ｐ点とＱ点から等距離にある点を結ぶ平面を挙げることができる。その場合、基準面Ｆ２１は、次の（３ａ）式ないしは（３ｂ）式を用いて算出することができる。なお、（３ｂ）式は、（３ａ）式をより簡略化した演算式である。
【００６０】
【数３】
0006563190.tif 000004
【００６１】
上記の（３ａ）式ないしは（３ｂ）式を用いることにより、基準面Ｆ２１を容易に算出することができる。ただし、基準面Ｆ２１は、必ずしも平面である必要はなく、Ｐ点とＱ点を隔てるものであれば、曲面であっても構わない。
【００６２】
次に、オフセット記録部２２に記録されている旧オフセット点Ａ（Ｘｃ０，Ｙｃ０，Ｚｃ０）を通り、かつ、基準面Ｆ２１と垂直な直線Ｆ２２が算出される。なお、直線Ｆ２２は、次の（４）式を用いて容易に算出することができる。
【００６３】
【数４】
0006563190.tif 000005
【００６４】
次に、旧オフセット点Ａを基準面Ｆ２１に近付く方向へ移動させることにより、新オフセット候補点Ｂ（Ｘｃ１，Ｙｃ１，Ｚｃ１）が算出される。
【００６５】
例えば、基準面Ｆ２１と直線Ｆ２２との交点Ｓ（Ｘｃ’，Ｙｃ’，Ｚｃ’）を算出し、この交点Ｓと旧オフセット点Ａとで定まる線分ＳＡをｍ：ｎに分割することにより、新オフセット候補点Ｂを算出すればよい。
【００６６】
或いは、直線Ｆ２２上において、旧オフセット点Ａを移動距離ｄだけ交点Ｓ側に移動することにより、新オフセット候補点Ｂを算出してもよい。なお、旧オフセット点Ａと交点Ｓとの距離をＤとした場合、移動距離ｄは０＜ｄ＜２Ｄの範囲で設定すればよい。すなわち、新オフセット候補点Ｂは、必ずしも線分ＳＡ上に存在する必要はなく、基準面Ｆ２１を超えた領域に設定されても構わない。
【００６７】
より包括的に述べれば、新オフセット候補点Ｂは、交点Ｓを中心とする半径Ｄの球内に収まる領域に存在しさえすればよい。
【００６８】
以降も、オフセット算出部２３は、新オフセット候補点Ｂの前回算出時に参照された２点のデータ点とは少なくとも１点が異なる２点のデータ点を新たに参照して、新オフセット候補点Ｂの算出を繰り返す。例えば、最短の周期で新オフセット候補点Ｂの算出を繰り返す場合には、Ｐ点とＱ点に続いて３点目のＲ点（Ｘ３，Ｙ３，Ｚ３）が取得された時点でＱ点とＲ点を選択することにより次の新オフセット候補点Ｂを算出することができる。
【００６９】
オフセット更新部２４は、オフセット算出部２３で新たに算出された新オフセット候補点Ｂ（若しくは複数算出された新オフセット候補点Ｂの平均値）をオフセット記録部２２に上書きする。上記一連の処理を繰り返すことにより、時間的にも空間的にも絶えず変化する方位角センサ１のオフセットを高速かつ継続的にキャンセルし続けることができるようになるので、方位角を精度良く検出することが可能となる。
【００７０】
なお、オフセット算出部２３は、新オフセット候補点Ｂの算出時に参照する２点のデータ点について、２点間の距離が所定値よりも短いときには、参照中のデータ点から新オフセット候補点Ｂを算出しない、若しくは、参照中のデータ点から算出された新オフセット候補点Ｂを破棄する。参照対象とされているデータ点相互間の距離が短いほど基準面Ｆ２１の信頼性が乏しくなる。そこで、不確かな基準面Ｆ２１に基づく新オフセット候補点Ｂの算出を中止するか、或いは、算出結果を破棄することにより、オフセット算出の精度を高めることが可能となる。
【００７１】
また、オフセット算出部２３は、基準面Ｆ２１と旧オフセット点Ａとの距離が所定の閾値ｄ１よりも長いときには、参照中のデータ点から新オフセット候補点Ｂを算出しない、または、参照中のデータ点から算出された新オフセット候補点Ｂを破棄する、若しくは、新オフセット候補点Ｂの算出時における旧オフセット点Ａの移動距離ｄを通常時よりも短く設定する。このようなアルゴリズムを採用すれば、新オフセット候補点Ｂが旧オフセット点Ａから過度に乖離しなくなるので、方位角検出の安定性を高めることが可能となる。
【００７２】
また、オフセット算出部２３は、基準面Ｆ２１と旧オフセット点Ａとの距離が所定の閾値ｄ２（＜ｄ１）よりも短いときに新オフセット候補点Ｂを第１頻度で算出し、基準面Ｆ２１と旧オフセット点Ａとの距離が閾値ｄ２よりも長いときに新オフセット候補点Ｂを第１頻度よりも高い第２頻度で算出する。このようなアルゴリズムを採用すれば、基準面Ｆ２１が旧オフセット点Ａから離れているほど、高頻度にオフセットの算出及び更新が行われるので、方位角センサ１のオフセットを高速にキャンセルすることが可能となる。
【００７３】
＜第３実施形態＞
図６は、方位角センサ１の第３実施形態を示すブロック図である。第３実施形態は、基本的に第２実施形態と同様の構成であり、オフセット算出回路２０でのオフセット算出手法に違いがある。
【００７４】
より具体的に述べると、オフセット算出部２３は、順次取得されるデータ点（Ｘｎ，Ｙｎ，Ｚｎ）のうち、３点（Ｘ１，Ｙ１，Ｚ１）、（Ｘ２，Ｙ２，Ｚ２）、（Ｘ３、Ｙ３、Ｚ３）で囲まれる領域内を通る基準線Ｆ３１を算出した上で、オフセット記録部２２に記録されている旧オフセット点（Ｘｃ０，Ｙｃ０，Ｚｃ０）を基準線Ｆ３１に近付く方向へ移動させることにより、新オフセット候補点（Ｘｃ１，Ｙｃ１、Ｚｃ１）を算出する。以下では、上記のオフセット算出手法について詳述する。
【００７５】
図７は、オフセット算出部２３におけるオフセット算出手法の第３例を示すＸＹＺ座標空間図である。
【００７６】
第３例のオフセット算出に際しては、まず、順次取得されるデータ点（Ｘｎ，Ｙｎ，Ｚｎ）のうち、任意の３点（ここでは、Ｐ点（Ｘ１，Ｙ１，Ｚ１）、Ｑ点（Ｘ２，Ｙ２，Ｚ２）、及び、Ｒ点（Ｘ３，Ｙ３，Ｚ３））が選択される。
【００７７】
次に、Ｐ点、Ｑ点、Ｒ点で囲まれる領域内を通る基準線Ｆ３１が算出される。基準線Ｆ３１の例としては、Ｐ点、Ｑ点、Ｒ点から等距離にある点を結ぶ直線を挙げることができる。その場合、基準線Ｆ３１は、次の（５ａ）式ないしは（５ｂ）式を用いて算出することができる。なお、（５ｂ）式は、（５ａ）式をより簡略化した演算式である。
【００７８】
【数５】
0006563190.tif 000006
【００７９】
上記の（５ａ）式ないしは（５ｂ）式を用いることにより、基準線Ｆ３１を容易に算出することができる。ただし、基準線Ｆ３１は、必ずしも直線である必要はなく、Ｐ点、Ｑ点、Ｒ点で囲まれる領域を通るものであれば、曲線であっても構わない。
【００８０】
次に、オフセット記録部２２に記録されている旧オフセット点Ａ（Ｘｃ０，Ｙｃ０，Ｚｃ０）を通り、かつ、基準線Ｆ３１と垂直な平面Ｆ３２が算出される。なお、平面Ｆ３２は、次の（６）式を用いて容易に算出することができる。
【００８１】
【数６】
0006563190.tif 000007
【００８２】
次に、旧オフセット点Ａを基準線Ｆ３１に近付く方向へ移動させることにより、新オフセット候補点Ｂ（Ｘｃ１，Ｙｃ１，Ｚｃ１）が算出される。
【００８３】
例えば、基準線Ｆ３１と平面Ｆ３２との交点Ｓ（Ｘｃ’，Ｙｃ’，Ｚｃ’）を算出し、この交点Ｓと旧オフセット点Ａとで定まる線分ＳＡをｍ：ｎに分割することにより、新オフセット候補点Ｂを算出すればよい。
【００８４】
或いは、平面Ｆ３２上において、旧オフセット点Ａを移動距離ｄだけ交点Ｓ側に移動することにより、新オフセット候補点Ｂを算出してもよい。なお、旧オフセット点Ａと交点Ｓとの距離をＤとした場合、移動距離ｄは０＜ｄ＜２Ｄの範囲で設定すればよい。すなわち、新オフセット候補点Ｂは、必ずしも線分ＳＡ上に存在する必要はなく、基準線Ｆ３１を超えた領域に設定されても構わない。
【００８５】
より包括的に述べれば、新オフセット候補点Ｂは、交点Ｓを中心とする半径Ｄの球内に収まる領域に存在しさえすればよい。
【００８６】
以降も、オフセット算出部２３は、新オフセット候補点Ｂの前回算出時に参照された３点のデータ点とは少なくとも１点が異なる３点のデータ点を新たに参照して、新オフセット候補点Ｂの算出を繰り返す。例えば、最短の周期で新オフセット候補点Ｂの算出を繰り返す場合には、Ｐ点、Ｑ点、Ｒ点に続いて４点目のＴ点（Ｘ４，Ｙ４，Ｚ４）が取得された時点で、Ｑ点、Ｒ点、Ｔ点を選択することにより、次の新オフセット候補点Ｂを算出することができる。
【００８７】
オフセット更新部２４は、オフセット算出部２３で新たに算出された新オフセット候補点Ｂ（若しくは複数算出された新オフセット候補点Ｂの平均値）をオフセット記録部２２に上書きする。上記一連の処理を繰り返すことにより、時間的にも空間的にも絶えず変化する方位角センサ１のオフセットを高速かつ継続的にキャンセルし続けることができるようになるので、方位角を精度良く検出することが可能となる。
【００８８】
なお、オフセット算出部２３は、新オフセット候補点Ｂの算出時に参照する３点のデータ点について、少なくとも２点間の距離が所定値よりも短いときには、参照中のデータ点から新オフセット候補点Ｂを算出しない、若しくは、参照中のデータ点から算出された新オフセット候補点Ｂを破棄する。参照対象とされているデータ点相互間の距離が短いほど基準線Ｆ３１の信頼性が乏しくなる。そこで、不確かな基準線Ｆ３１に基づく新オフセット候補点Ｂの算出を中止するか、或いは、算出結果を破棄することにより、オフセット算出の精度を高めることが可能となる。
【００８９】
また、オフセット算出部２３は、基準線Ｆ３１と旧オフセット点Ａとの距離が所定の閾値ｄ１よりも長いときには、参照中のデータ点から新オフセット候補点Ｂを算出しない、または、参照中のデータ点から算出された新オフセット候補点Ｂを破棄する、若しくは、新オフセット候補点Ｂの算出時における旧オフセット点Ａの移動距離ｄを通常時よりも短く設定する。このようなアルゴリズムを採用すれば、新オフセット候補点Ｂが旧オフセット点Ａから過度に乖離しなくなるので、方位角検出の安定性を高めることが可能となる。
【００９０】
また、オフセット算出部２３は、基準線Ｆ３１と旧オフセット点Ａとの距離が所定の閾値ｄ２（＜ｄ１）よりも短いときに新オフセット候補点Ｂを第１頻度で算出し、基準線Ｆ３１と旧オフセット点Ａとの距離が閾値ｄ２よりも長いときに新オフセット候補点Ｂを第１頻度よりも高い第２頻度で算出する。このようなアルゴリズムを採用すれば、基準線Ｆ３１が旧オフセット点Ａから離れているほど、高頻度にオフセットの算出及び更新が行われるので、方位角センサ１のオフセットを高速にキャンセルすることが可能となる。
【００９１】
＜電子機器への適用＞
図８は、スマートフォン１００の外観図である。スマートフォン１００は、方位角センサ１を備える電子機器の一例である。スマートフォン１００の電子コンパスとして、先に説明した方位角センサ１を搭載することにより、ユーザの向いている方向を正確に検出することができる。特に、ＧＰＳ［global positioning system］と電子コンパスを併用すれば、地図アプリやナビゲーションアプリでの位置検出精度を高めることが可能となる。
【００９２】
＜その他の変形例＞
なお、本明細書中に開示されている種々の技術的特徴は、上記実施形態のほか、その技術的創作の主旨を逸脱しない範囲で種々の変更を加えることが可能である。すなわち、上記実施形態は、全ての点で例示であって制限的なものではないと考えられるべきであり、本発明の技術的範囲は、上記実施形態の説明ではなく、特許請求の範囲によって示されるものであり、特許請求の範囲と均等の意味及び範囲内に属する全ての変更が含まれると理解されるべきである。
【産業上の利用可能性】
【００９３】
本明細書中に開示されている発明は、例えば、スマートフォンやタブレット端末などに搭載される方位角センサに利用することが可能である。
【符号の説明】
【００９４】
１    方位角センサ
１０    磁気検出回路
１０Ｘ、１０Ｙ、１０Ｚ    磁気センサ（Ｘ軸、Ｙ軸、Ｚ軸）
２０    オフセット算出回路
２１    データ取得部
２２    オフセット記録部
２３    オフセット算出部
２４    オフセット更新部
３０    オフセット補正回路
４０    方位角演算回路
１００    スマートフォン
【図１】
0006563190.tif 000008
【図２】
0006563190.tif 000009
【図３】
0006563190.tif 000010
【図４】
0006563190.tif 000011
【図５】
0006563190.tif 000012
【図６】
0006563190.tif 000013
【図７】
0006563190.tif 000014
【図８】
0006563190.tif 000015