(57)【要約】【課題】地磁気センサの測定データからノイズ成分を低減させる。【解決手段】地磁気センサによって測定された地磁気データを、平均化して出力するとともに、平均化の対象となる地磁気データの数である平均化個数を設定可能なフィルタ１０６と、平均化データのばらつきの程度を示す指標を算出する指標算出部１３２Ａと、少なくとも、フィルタに設定されている現在の平均化個数と指標とに基づいて、地磁気データのばらつきに応じた、新たな平均化個数を算出してフィルタに設定する平均化個数算出部１３４Ａとを具備する。【選択図】図２
2015001513.tif 000002
【特許請求の範囲】
【請求項１】
地磁気センサによって測定された地磁気データを、平均化して平均化データを出力するとともに、平均化の対象となる地磁気データの数である平均化個数を設定可能なフィルタと、
前記平均化データのばらつきの程度を示す指標を算出する指標算出部と、
少なくとも、前記フィルタに設定されている現在の平均化個数と前記指標とに基づいて、前記地磁気データのばらつきに応じた、新たな平均化個数を算出して前記フィルタに設定する平均化個数算出部と、
を具備することを特徴とする地磁気データ処理装置。
【請求項２】
当該地磁気データ処理装置が静止しているか否かを判定する判定部をさらに具備し、
前記判定部の判定結果が肯定である場合に、前記指標算出部および前記平均化個数算出部は動作し、
前記判定部の判定結果が否定である場合に、前記指標算出部および前記平均化個数算出部は動作を停止する、
ことを特徴とする請求項１に記載の地磁気データ処理装置。
【請求項３】
前記指標算出部は、前記平均化データの分散を前記指標として算出し、
前記判定部は、前記平均化データが生成される度に、新たな前記平均化データを含む所定数の前記平均化データの中央値を特定し、特定した複数の中央値に基づいて分散を算出し、算出した分散が所定の閾値を下回るときに、当該地磁気データ処理装置が静止していると判定する、
ことを特徴とする請求項２に記載の地磁気データ処理装置。
【請求項４】
地磁気センサによって測定された地磁気データを平均化した平均化データを出力するとともに、平均化の対象となる地磁気データの数である平均化個数を設定可能なフィルタと、
当該地磁気データ処理装置が静止しているか否かを判定する判定部と、
前記判定部の判定結果が肯定である場合に、前記地磁気データのばらつきの程度を示す指標を算出する指標算出部と、
前記判定部の判定結果が肯定である場合に、前記指標に応じた新たな平均化個数を算出して前記フィルタに設定する平均化個数算出部と、
を具備することを特徴とする地磁気データ処理装置。
【請求項５】
前記判定部は、前記地磁気データが生成される度に、新たな前記地磁気データを含む所定数の前記地磁気データの中央値を特定し、特定した複数の中央値に基づいた分散を算出し、算出した分散が所定の閾値を下回るときに、当該地磁気データ処理装置が静止していると判定する、
ことを特徴とする地磁気データ処理装置。
【請求項６】
地磁気センサによって測定された地磁気データを、平均化して平均化データを出力するとともに、平均化の対象となる地磁気データの数である平均化個数を設定可能なフィルタと、プロセッサとを備えた地磁気データ処理装置のプログラムであって、
前記プロセッサを、
前記平均化データのばらつきの程度を示す指標を算出する指標算出部と、
少なくとも、前記フィルタに設定されている現在の平均化個数と前記指標とに基づいて、前記地磁気データのばらつきに応じた、新たな平均化個数を算出して前記フィルタに設定する平均化個数算出部として機能させる、
ことを特徴とする地磁気データ処理装置のプログラム。
【請求項７】
前記プロセッサを、
当該地磁気データ処理装置が静止しているか否かを判定する判定部として機能させ、
前記判定部の判定結果が肯定である場合に、前記指標算出部および前記平均化個数算出部を動作させ、
前記判定部の判定結果が否定である場合に、前記指標算出部および前記平均化個数算出部の動作を停止させる、
ことを特徴とする請求項６に記載の地磁気データ処理装置のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、地磁気センサの測定データからノイズ成分を低減させる地磁気データ処理装置に関する。
【背景技術】
【０００２】
近年、ＭＩ（Magneto impedance）素子やホール素子等、外部磁界の変化を測定する３軸地磁気センサが提供されている。３軸地磁気センサは、直交する３軸の地磁気成分を測定して出力する。また、スマートフォン等のモバイル機器の発達により、ＧＰＳ（Global Positioning System）や加速度センサ、３軸地磁気センサ等を搭載する携帯端末装置が普及している。
【０００３】
携帯端末装置では、地磁気センサの周辺にスピーカやアンプ、メモリーカード等が配置されるのが一般的である。これらの部材が発生する磁界の影響により地磁気の測定が正確に行われないことがある。例えば、着信音等を発生する際にスピーカが鳴動すると、スピーカのコイルに電流が流れるため、地磁気センサ周辺の磁界強度が変動する。この結果、地磁気成分にノイズ成分が重畳してしまい正確に地磁気を測定できなくなってしまう。このため、地磁気センサを搭載する携帯端末装置では、地磁気センサの出力データからノイズ成分を除去するフィルタ等を設ける構成が一般的である。例えば、特許文献１には、地磁気成分のうち、高周波数成分（ノイズ成分）を除去するローパスフィルタを設ける構成が開示されている（特許文献１参照）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１０−３８７４３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
上述した技術では、所定の周波数以上の成分を減衰させるフィルタ処理が行われるため、測定データをフィルタで処理して出力するまでの処理全体に時間を要し、消費電力が増大するという問題があった。
本発明はこのような事情に鑑みてなされたものであり、ノイズ成分を低減しつつ、測定された地磁気データを処理して出力するまでの時間を低減するとともに、消費電流を低減させることが可能な、地磁気データ処理装置およびプログラムを提供することなどを解決課題とする。
【課題を解決するための手段】
【０００６】
上記課題を達成するために、本発明に係る地磁気データ処理装置は、地磁気センサによって測定された地磁気データを、平均化して平均化データを出力するとともに、平均化の対象となる地磁気データの数である平均化個数を設定可能なフィルタと、前記平均化データのばらつきの程度を示す指標を算出する指標算出部と、少なくとも、前記フィルタに設定されている現在の平均化個数と前記指標とに基づいて、前記地磁気データのばらつきに応じた、新たな平均化個数を算出して前記フィルタに設定する平均化個数算出部と、を具備することを特徴とする。
【０００７】
基準とする値（例えば平均化データの平均値）に対して平均化データのばらつきが大きいときには、地磁気データにノイズ成分が重畳する蓋然性が高いといえる。このため、本発明では、平均化データのばらつきが大きいとき、すなわち、ノイズ成分が重畳している蓋然性が高いときには平均化個数を増加させる一方、平均化データのばらつきが小さいとき、すなわち、ノイズ成分が重畳している蓋然性が低いときには平均化個数が低減するように平均化個数が算出される。このように、ノイズの影響に応じて平均化個数を動的に設定するので、ノイズが大きいときには、精度の高い地磁気データを出力する一方、ノイズが小さいときには平均化処理に要する測定時間と、消費電流とをともに低減させることが可能になる。
本発明では、フィルタから出力される平均化データのばらつきの程度を示す指標と、フィルタに設定されている平均化個数とを用いて新たな平均化個数が算出されるフィードバック制御が実行される。このため、地磁気データに重畳するノイズ成分を所定範囲に収束させることが可能になる。
なお、平均化データのばらつきの程度を示す指標の一例としては、各平均化データの集合体を母集団とした分散（variance）や、標準偏差（standard deviation）を挙げることができる。
【０００８】
本発明において、当該地磁気データ処理装置が静止しているか否かを判定する判定部をさらに具備し、前記判定部の判定結果が肯定である場合に、前記指標算出部および前記平均化個数算出部は動作し、前記判定部の判定結果が否定である場合に、前記指標算出部および前記平均化個数算出部は動作を停止することが好ましい。
地磁気データ処理装置の測定対象である地磁気は、地磁気センサの向きが固定であれば一定の大きさとなる。一方、利用者が地磁気データ処理装置を手で持って揺らしている状態では、地磁気センサの向きが変化するので、地磁気センサから出力される地磁気データにはノイズ成分が重畳してしまう。本発明では、地磁気データ処理装置が静止している場合に、指標算出部および平均化個数算出部は動作するので、方位を示す地磁気データの測定精度を高めることが可能になる。
【０００９】
上述した地磁気データ処理装置において、前記指標算出部は、前記平均化データの分散を前記指標として算出し、前記判定部は、前記平均化データが生成される度に、新たな前記平均化データを含む所定数の前記平均化データの中央値を特定し、特定した複数の中央値に基づいて分散を算出し、算出した分散が所定の閾値を下回るときに、当該地磁気データ処理装置が静止していると判定する態様が好ましい。
この態様では、例えば、平均化データを含む所定の数の平均化データの中央値を特定して状態判定が行われる。中央値は、データの分布の特徴を数量的に表す指標（中央値および平均値）のうち、極端に大きい値や極端に小さい値が他の成分に与える影響を低減する上で有効であるため、中央値を特定して分散を算出すれば、突発的に発生したノイズの影響等を低減させて、状態判定の精度を高めることができる。
なお、本態様によれば、平均化データのばらつきの程度を示す指標として分散を算出する。平均化データの分散では、基準とする値（例えば平均化データの平均値）と比較した各平均化データのばらつきを数値により端的に把握することができる。分散の値が最小値（例えば０とする）に近接しているときには、各平均化データの値は平均値の周辺に密集する一方、分散の値が大きいときにはノイズが重畳している蓋然性が高いことがわかる。また、分散の平方根（標準偏差）を指標として用いてもよい。
【００１０】
また、本発明に係る地磁気データ処理装置は、地磁気センサによって測定された地磁気データを平均化した平均化データを出力するとともに、平均化の対象となる地磁気データの数である平均化個数を設定可能なフィルタと、当該地磁気データ処理装置が静止しているか否かを判定する判定部と、前記判定部の判定結果が肯定である場合に、前記地磁気データのばらつきの程度を示す指標を算出する指標算出部と、前記判定部の判定結果が肯定である場合に、前記指標に応じた新たな平均化個数を算出して前記フィルタに設定する平均化個数算出部と、を具備することを特徴とする。
【００１１】
基準とする値（例えば地磁気データの平均値）と比較して地磁気データのばらつきが大きいときには、地磁気データにノイズ成分が重畳する蓋然性が高いといえる。このため、本発明では、地磁気データのばらつきが大きいとき（ノイズ成分が重畳しているとき）には平均化個数を増加させるようにする一方、地磁気データのばらつきが小さいとき（ノイズ成分が小さいとき）には平均化個数を低減させる。このように、本発明では、ノイズに応じて平均化個数が算出されるので、ノイズが大きいときには、ノイズ成分の少ない精度の高い地磁気成分を出力する一方、ノイズが小さいときには平均化処理に要する測定時間と、消費電流とをともに低減させることが可能になる。
また、本発明では、地磁気センサによって測定された地磁気データを基に平均化個数を算出する、所謂、フィードフォワード制御が実行される。このため、外部における磁場の強度が及ぼす影響が大きい場合等、外的状況を反映させた平均化個数をリアルタイムにフィルタに設定することが可能になる。
【００１２】
上述した地磁気データ処理装置において、前記判定部は、前記地磁気データが生成される度に、新たな前記地磁気データを含む所定数の前記地磁気データの中央値を特定し、特定した複数の中央値に基づいた分散を算出し、算出した分散が所定の閾値を下回るときに、当該地磁気データ処理装置が静止していると判定することが好ましい。この場合、地磁気データの中央値を特定して当該中央値の分散を算出するので、突発的に発生したノイズの影響等を低減させて、状態判定の精度を高めることができる。
【００１３】
なお、本発明は、地磁気データ処理装置のみならず、地磁気センサによって測定された地磁気データを、平均化して出力するとともに、平均化の対象となる地磁気データの数である平均化個数を設定可能なフィルタと、プロセッサとを備えた地磁気データ処理装置のプログラムとして概念することも可能である。
【図面の簡単な説明】
【００１４】
【図１】本発明の地磁気データ処理装置を端末装置に適用した例を示す図である。
【図２】第１実施形態における端末装置で構築される機能ブロック図である。
【図３】フィルタで実行される平均化処理について説明する図である。
【図４】判定処理について説明する図である。
【図５】指標算出処理および平均化個数算出処理について説明する図である。
【図６】平均化個数の更新について説明する図である。
【図７】第１実施形態の端末装置の動作を示すフローチャートである。
【図８】第２実施形態における端末装置で構築される機能ブロック図である。
【図９】判定処理について説明する図である。
【図１０】指標算出処理および平均化個数算出処理について説明する図である。
【発明を実施するための形態】
【００１５】
以下、本発明の実施形態について図面を参照して説明する。
＜第１実施形態＞
図１は、本発明の地磁気データ処理装置を端末装置に適用した例を示す斜視図である。
端末装置１０は、例えば携帯電話機であって、ＣＰＵ（Central Processing Unit）や、表示装置、タッチパネル（いずれも図示省略）、メモリを有する。本実施形態では、図１に破線で示されるように、筐体内部に、地磁気センサ１０２、ＡＤ変換器１０４、フィルタ１０６等（図２参照）を１チップに集積した地磁気センサＩＣ１００が搭載されている。この地磁気センサＩＣ１００によって互いに直交する３軸の各成分の地磁気データＸ,Ｙ,Ｚが測定されると、所定の処理を施されて、最終的に端末装置１０が向いている方位を示す方位データとして出力される。
なお、端末装置１０は、携帯電話機に限られず、タブレット型やＰＤＡ（Personal Digital Assistant）などでも良い。また、以下の説明では端末装置１０を制御する構成要素として、ＣＰＵを例示するが、端末装置１０の制御は、ＣＰＵやＤＳＰ（Digital Signal Processor）などのプロセッサで実行してもよい。
【００１６】
端末装置１０における方位の測定は、例えば利用者からタッチパネル等を介して測定開始を指示する旨の操作を受付けたときに、所定期間毎（例えば、１ｍｓ）に行われる。また、端末装置１０には、特定の配信サイトからダウンロードされた所定のアプリケーションプログラムが予めインストールされている。利用者が表示装置に表示されたアイコン等を操作するなどして当該アプリケーションプログラムが実行されたときに図２に示される機能ブロックが構築される。
【００１７】
図２は、第１実施形態における端末装置で構築される機能ブロック図である。端末装置１０は、この図に示されるように、地磁気センサＩＣ１００と、出力情報一次記憶部１１０と、判定部１２０Ａと、フィルタ制御部１３０Ａと、方位算出部１４０と、表示制御部１５０と、表示部１６０とを含む。
このうち、地磁気センサＩＣ１００は、地磁気センサ１０２、Ａ／Ｄ変換部１０４、および、フィルタ１０６を内包する。地磁気センサ１０２は、地表の地磁気を測定して地磁気の各成分（Ｘ,Ｙ,Ｚ）を示す地磁気信号を出力する。具体的には、地磁気センサ１０２は、図１に示される互いに直交するＸ軸、Ｙ軸、Ｚ軸に平行な方向について地磁気を測定するものである。地磁気センサ１０２としては、例えば、ＭＩ素子を用いることができる。
【００１８】
Ａ／Ｄ変換部１０４は、地磁気センサ１０２から出力されるアナログ信号をデジタル信号に変換してＸ軸、Ｙ軸及びＺ軸の地磁気を示す地磁気データＸ,Ｙ,Ｚを出力する。
フィルタ１０６は、地磁気データＸ,Ｙ,Ｚの各々について、所定数のデータを平均化した平均化データＸav,Ｙav,Ｚavを生成し、バッファ制御部１１１に供給する。また、フィルタ１０６は、平均化の対象となるデータの個数である平均化個数を外部から設定できるようになっている。平均化個数は、後述するフィルタ制御部１３０Ａによって設定される。平均化個数は、２以上の自然数であればよいが、本実施形態では３２、６４、１２８、２５６のいずれかに設定されるものとする。平均化個数は更新することが可能である。以下の説明では、フィルタ１０６に現在設定されている平均化個数をＮｐ、新たに設定される平均化個数をＮｆと称する。
また、フィルタ１０６は、例えば、過去のデータ含む複数のデータを平均化するＦＩＲ（Finite Impulse Response）フィルタである。
【００１９】
ここで、図３を参照して、平均化処理について説明する。図３は、フィルタ１０６で実行される平均化処理の処理内容を説明する図である。図３（ａ）では、地磁気センサ１０２によって測定された地磁気の大きさを示す地磁気データＸの一部を、Ｘ１〜Ｘ９６として示している。図３では、各成分（Ｘ,Ｙ,Ｚ）のうち、Ｘ成分の地磁気データＸを例に説明する。他のＹ成分およびＺ成分の平均化処理についてはＸ成分と同様であるので説明を省略する。
【００２０】
フィルタ１０６は、地磁気データＸを平均化個数単位で区分する。具体的には、平均化個数が３２である場合、フィルタ１０６は、図３（ａ）に示されるように、それぞれＸ１〜Ｘ３２、Ｘ３３〜Ｘ６４、Ｘ６５〜Ｘ９６、…に区分する。
【００２１】
次に、フィルタ１０６は、各区分毎に平均化データＸav1、Ｘav2、Ｘav3、…を算出する。各区分毎に平均化データ値を算出することにより、地磁気データＸ１〜Ｘ９６…に含まれる急峻なノイズが低減される。なお、図３（ａ）では、平均化個数が３２である場合における平均化データの算出例について説明したが、平均化個数はこれ以外であってもよい。
【００２２】
フィルタ１０６によって逐次算出された平均化データＸav,Ｙav,Ｚavは、出力情報一次記憶部１１０に供給される。図３（ｂ）は、バッファ制御部１１１によって、Ｘバッファ、Ｙバッファ、Ｚバッファにそれぞれ格納された平均化データ群（Ｘav1〜Ｘav90、Ｙav1〜Ｙav90、Ｚav1〜Ｚav90）の例を示している。
バッファ制御部１１１に供給された平均化データ群は、事後的に判定部１２０Ａに読み出されて判定処理に用いられるほか、指標算出部１３２Ａに読み出されて指標算出処理に用いられる。
【００２３】
出力情報一次記憶部１１０は、バッファ制御部１１１と、Ｘ成分、Ｙ成分、Ｚ成分のそれぞれに対応するバッファ群１１２と、を有する。
バッファ制御部１１１は、逐次算出される平均化データＸav,Ｙav,Ｚavを、バッファ群１１２のうち、対応するバッファ（Ｘバッファ、Ｙバッファ、Ｚバッファのいずれか）に格納する。また、バッファ制御部１１１は、フィルタ制御部１３０Ａによって平均化個数が更新されたことを契機としてバッファ群１１２に格納された平均化データＸav,Ｙav,Ｚavの削除等を実行する。
【００２４】
一方、フィルタ１０６によって算出された平均化データＸav,Ｙav,Ｚavは、方位算出部１４０にも供給される。方位算出部１４０は、Ｘ,Ｙ,Ｚ各成分の平均化データＸav,Ｙav,Ｚavに基づいて方位角を算出する。また、方位算出部１４０は、図示を省略している加速度センサで測定された３軸方向の傾斜を算出し、３軸方向の地磁気から３軸方向の傾斜（端末装置の傾き）を補正する。表示制御部１５０は、アプリケーションプログラムが実行されたときに方位の測定開始指示を利用者に促す操作指示画面や、現在地を示す地図情報表示画面や、方位算出部１４０において算出された方位角を示す方位角表示画面等を表示部１６０に表示させたりする。
【００２５】
判定部１２０Ａは、バッファ群１１２に蓄積された平均化データＸav,Ｙav,Ｚavを読み出して、端末装置１０の姿勢が安定し、かつ位置が変わらない状態であるか否かを判定する。以下の説明では、端末装置１０の姿勢が安定しかつ位置が変わらない状態を静止（している）状態と称し、端末装置１０の姿勢が変動するまたは位置が動いている状態を動作（している）状態と称する。すなわち、端末装置１０が静止している状態では、地磁気が一定である一方、端末装置１０が動作している状態では、地磁気が一定とならない。
ここで、図４を参照して、判定処理について説明する。
図４に、判定処理の内容を示す。本実施形態では、判定部１２０Ａにより、端末装置１０が静止状態であるか否かが判定される。なお、図４では、各成分（Ｘav,Ｙav,Ｚav）のうち、Ｘ成分の平均化データＸavを一例として示す。他のＹ成分およびＺ成分の平均化データＹav,ＺavについてはＸ成分と同様の処理が行われるため、ここでは説明を省略する。
【００２６】
判定部１２０Ａは、Ｘバッファにアクセスして、所定数の平均化データＸavに対して中央値ＸavDmを算出する。例えば、所定数が５０であるとすれば、図４（ａ）に示すように５０個の平均化データＸavk〜Ｘav(k+49)を１つの区分として中央値ＸavDmkを算出する。詳細には、判定部１２０Ａは、図４（ａ）に示されるように、平均化データＸavを、Ｘav1〜Ｘav50、Ｘav2〜Ｘav51、Ｘav3〜Ｘav52、…といったように、５０個毎に区分し、各区分毎に平均化データＸavの中央値ＸavDm1、ＸavDm2、ＸavDm3、…をそれぞれ算出する。即ち、ｋ（ｋは自然数）番目の中央値ＸavDmkは、平均化データＸavk〜Ｘav(k+49)に基づいて算出される。
なお中央値とは、５０個のデータをソートした際の２５番目もしくは２６番目のデータを意味する。具体的には、中央値は、例えば平均化個数が奇数であるか偶数であるか等に応じて、図４（ａ）に示される式により定められる。
中央値を算出する理由は、極端に大きい値や極端に小さい値等の影響を低減する上で、データ分布の特徴を数量的に表す他の指標（平均値）と比較して有効であるためである。このため、平均化データの中央値を算出し、中央値の分散を算出することにより、ノイズの影響等が少なく高い精度で端末装置１０の静止状態を判定することができる。
【００２７】
次に、判定部１２０Ａは、各区分毎に算出した中央値ＸavDmに基づいて、中央値ＸavDmの平均値ＸDmavを算出する。具体的には、図４（ｂ）に示されるように、中央値ＸavDm1、ＸavDm2、…ＸavDm50の総和を、各単位の合計（ここでは５０）で除算することにより平均値ＸDmavを算出する。Ｙ成分、Ｚ成分についても同様に平均値ＹDmav、ＺDmavを算出する。
【００２８】
続いて、判定部１２０Ａは、中央値ＸavDmと、その平均値ＸDmavとを用いて、分散値Ｄ_XDmavを算出する。具体的には、図４（ｃ）に示されるように、中央値ＸavDm1〜ＸavDm50のそれぞれと、平均値ＸDmavとの差分をそれぞれ二乗した総和を、各区分の合計（ここでは５０）で除算することにより分散値Ｄ_XDmavを算出する。Ｙ成分、Ｚ成分についても同様に分散値Ｄ_YDmav、Ｄ_ZDmavを算出する。
【００２９】
更に、判定部１２０Ａは、算出した分散値を用いて端末装置１０が静止しているか否かの判定を行う。具体的には、図４（ｄ）に示されるように、Ｘ,Ｙ,Ｚの各成分に対応する分散値Ｄ_XDmav、Ｄ_YDmav、Ｄ_ZDmavと、現在設定されている平均化個数Ｎｐとの積を平均化個数の最小値（この例では３２）で除算した結果と所定の閾値Ｄｔｈとを比較して、Ｘ,Ｙ,Ｚの各成分の計算結果のいずれもが閾値Ｄｔｈを下回れば、端末装置１０が静止していると判定する。この例では、平均化個数の最小値で除算することにより、平均化個数の最小値で正規化した値を、閾値Ｄｔｈとの比較の対象とすることができる。
閾値Ｄｔｈは、端末装置１０が静止している状態において測定された地磁気データ等を基に設定すればよい。なお、閾値Ｄｔｈは、Ｘ,Ｙ,Ｚの各成分に対して共通の値が用いられる様に設定したが、各成分に異なる値を設定してもよい。
【００３０】
上述した判定は、地磁気データＸ,Ｙ,Ｚのばらつきの程度によって判定される。例えば、端末装置１０を持った利用者が歩き回っている場合には、地磁気センサ１０２によって検出される地磁気は大きく変動するため、判定部１２０Ａによって動作状態と判定される。ここで、判定部１２０Ａに供給されるのは、フィルタ１０６から出力される平均化データＸav,Ｙav,Ｚavであって、地磁気データＸ,Ｙ,Ｚではない。フィルタ１０６で実行される平均化処理の対象となる地磁気データＸ,Ｙ,Ｚの個数は、動的に変化する。平均化個数が大きくなると平均化データＸav,Ｙav,Ｚavのばらつきは小さくなり、平均化個数が小さくなると平均化データＸav,Ｙav,Ｚavのばらつきは大きくなる。
【００３１】
分散値Ｄ_XDmavと現在の平均化個数Ｎｐの積を平均化個数の最小値で正規化した値は、地磁気データＸのばらつきを表している。そこで、上述したように、Ｄ_XDmav*Ｎｐ/３２を閾値Ｄｔｈと比較することによって、地磁気センサＩＣ１００の出力であるフィルタ１０６の出力に基づいて判定を実行することができる。なお、分散値Ｄ_XDmavと現在の平均化個数Ｎｐの積は、地磁気データＸのばらつきを表しているので、平均化個数の最小値で正規化することは必須ではない。平均化個数の最小値で正規化しない場合は、これに対応するように閾値Ｄｔｈを定めればよい。
【００３２】
判定部１２０Ａは、端末装置１０が静止状態であると判定したとき、フィルタ制御部１３０Ａ（指標算出部１３２Ａおよび平均化個数算出部１３４Ａ）に対して、指標算出処理および平均化個数算出処理を実行する旨を通知する。一方、判定部１２０Ａは、端末装置１０が動作状態であると判定したときには、指標算出部１３２Ａおよび平均化個数算出部１３４Ａに対して、動作を停止する旨を通知する。これにより、端末装置１０が静止していない不安定な状態においては、指標算出処理および平均化個数算出処理を実行しないので、消費電力を削減することができる。
【００３３】
説明を図２に戻す。フィルタ制御部１３０Ａは、平均化処理に用いられる平均化個数を算出してフィルタ１０６に供給する。フィルタ制御部１３０Ａは、指標算出部１３２Ａおよび平均化個数算出部１３４Ａを内包する。
指標算出部１３２Ａは、バッファ群１１２に蓄積されているＸ,Ｙ,Ｚの各成分の平均化データＸav,Ｙav,Ｚavを読み出して、平均化データＸav,Ｙav,Ｚavのばらつきの程度を示す指標を算出する。本実施形態にあっては、指標算出部１３２Ａは、平均化データＸav,Ｙav,Ｚavの分散値ＤＸ,ＤＹ,ＤＺを指標として算出する。平均化個数算出部１３４Ａは、指標算出部１３２Ａによって算出された分散値ＤＸ,ＤＹ,ＤＺを基に、新たに設定する平均化個数Ｎｆを算出してフィルタ１０６に供給する。
【００３４】
図５を参照して、指標算出部１３２Ａおよび平均化個数算出部１３４Ａの処理の詳細について説明する。図５（ａ）および図５（ｂ）は、指標算出部１３２Ａにおける処理について説明する図である。指標算出部１３２Ａは、判定部１２０Ａより端末装置１０が静止状態にある旨を通知されることを契機として処理を実行する。
指標算出部１３２Ａは、バッファ群１１２にアクセスしてＸ,Ｙ,Ｚの各成分のそれぞれについて、平均化データＸav,Ｙav,Ｚavを読み出して、平均化データＸav,Ｙav,Ｚavの平均値ＸAV、ＹAV、ＺAVを算出する。図５（ａ）では、５０個の平均化データＸav,Ｙav,Ｚavに基づいて、平均値ＸAV,ＹAV,ＺAVを算出する例を示しているが、これ以外に任意の個数の平均化データを用いて平均値ＸAV,ＹAV,ＺAVを算出するように構成してもよい。
【００３５】
次に、指標算出部１３２Ａは、平均化データＸavと、その平均値ＸAVとを用いて分散値ＤＸを算出する。具体的には、図５（ｂ）に示されるように、各平均化データＸav1〜Ｘav50のそれぞれと、平均値ＸAVとの差分をそれぞれ二乗した総和を、平均化データの個数（ここでは５０）で除算することにより分散値ＤＸを算出する。Ｙ成分およびＺ成分についても同様に分散値ＤＹ、ＤＺを算出する。指標算出部１３２Ａは、算出した分散値ＤＸ,ＤＹ,ＤＺを、平均化個数算出部１３４Ａに供給する。
なお、分散値ＤＸの算出に際して、突発的なノイズの影響を考慮する観点から、所定数の平均化データＸavから、最大値と最小値を除き、残りの平均化データＸavに基づいて平均値ＸAVおよび分散値ＤＸを算出してもよい。この場合には、平均化データの個数から、最大値および最小値のデータ数を差し引いた値を分母として分散値を算出する。Ｙ成分およびＺ成分についても同様である。
【００３６】
図５（ｃ）は、平均化個数算出部１３４Ａにおける処理について説明する図である。平均化個数算出部１３４Ａは、フィルタ１０６に設定されている現在の平均化個数Ｎｐと算出した分散値ＤＸ,ＤＹ,ＤＺを用いて、地磁気データＸ,Ｙ,Ｚのばらつきに応じた新たな平均化個数Ｎｆを算出する。
具体的には、図５（ｃ）に示されるように、分散値ＤＸ,ＤＹ,ＤＺを、分散の適正値Ｄfine（ノイズ成分がこの値の分散であれば許容範囲であるという意味において設定された値）でそれぞれ除算した値と、現在設定されている平均化個数Ｎｐとの積（Ｎｐ*ＤＸ／Ｄfine、Ｎｐ*ＤＹ／Ｄfine、Ｎｐ*ＤＺ／Ｄfine）を、Ｘ,Ｙ,Ｚの各成分のそれぞれについて算出する。そして、各成分の算出結果の最大値Ｎmaxとして算出する。
【００３７】
この例では、平均化個数の取り得る値は、上述したように３２、６４、１２８、２５６であった。ここで、フィルタ１０６に設定すべき新たな平均化個数Ｎｆは、以下のように決定される。すなわち、Ｎmax≦３２の場合にはＮｆ＝３２、３２＜Ｎmax≦６４の場合にはＮｆ＝６４、６４＜Ｎmax≦１２８の場合にはＮｆ＝１２８、１２８＜Ｎmaxの場合にはＮｆ＝２５６とする。
【００３８】
そして、新たな平均化個数Ｎｆと現在の平均化個数Ｎｐとを比較して、両者が異なる場合には、新たな平均化個数Ｎｆをフィルタ１０６に設定する一方、新たな平均化個数Ｎｆと現在の平均化個数Ｎｐとが等しい場合には現在の平均化個数Ｎｐを維持する。
第１実施形態では、フィルタ１０６から出力される平均化データＸav,Ｙav,Ｚavに基づいて、新たな平均化個数Ｎｆを決定する。しかしながら、平均化データＸav,Ｙav,Ｚavのばらつきは、フィルタ１０６に設定されている現在の平均化個数Ｎｐの影響を受ける。すなわち、地磁気データＸ,Ｙ,Ｚのばらつきが一定であっても、現在の平均化個数Ｎｐが大きければ平均化データＸav,Ｙav,Ｚavのばらつきは小さくなり、現在の平均化個数Ｎｐが小さければ平均化データＸav,Ｙav,Ｚavのばらつきは大きくなる。
平均化データＸav,Ｙav,Ｚavの分散値ＤＸ,ＤＹ,ＤＺと現在の平均化個数Ｎｐとの積は、地磁気データＸ,Ｙ,Ｚのばらつきを反映した値となっている。この値を適正値Ｄfineで正規化することにより（Ｘ成分について、Ｎｐ*ＤＸ／Ｄfine）、新たな平均化個数Ｎｆを算出することができる。
この結果、平均化個数算出部１３４Ａは、地磁気データＸ,Ｙ,Ｚのばらつきに応じて新たな平均化個数Ｎｆを設定することが可能となる。すなわち、現在の平均化個数Ｎｐでは、平均化データＸav,Ｙav,Ｚavのばらつきが大きい場合には、新たな平均化個数Ｎｆを大きくする一方、現在の平均化個数Ｎｐでは、平均化データＸav,Ｙav,Ｚavのばらつきが小さい場合には、新たな平均化個数Ｎｆを小さくする。これにより、平均化データＸav,Ｙav,Ｚavのばらつきの程度を示す指標を分散値ＤＸ,ＤＹ,ＤＺを所定値に近づけることができる。
【００３９】
分散の適正値Ｄfineは、地磁気センサＩＣ１００の機能において許容されるノイズ成分を含むときの分散値や、センサが本来有するノイズ成分を含んだときの分散値を測定して、これらに基づいて設定してもよい。
【００４０】
次に、図６に、平均化個数が更新された場合のフィルタの動作例を示す。前述したように、図６（ａ）は、平均化個数Ｎｐ＝３２である場合における平均化処理の例を示している。
フィルタ１０６では、供給される地磁気データＸを、図６（ａ）に示されるように、Ｘ１〜Ｘ３２、Ｘ３３〜Ｘ６４、Ｘ６５〜Ｘ９６をそれぞれ一つの区分として、各区分についてそれぞれ平均値Ｘav1、Ｘav2、Ｘav3…が算出される。現在の平均化個数Ｎｐは最小値である３２に設定されているので、平均化処理を含む測定時間が短縮される。
【００４１】
一方、平均化個数算出部１３４Ａによって現在の平均化個数Ｎｐ＝３２から新たな平均化個数Ｎｆ＝６４に更新されると、地磁気データＸは、図６（ｂ）に示されるように６４個毎に区分されて、Ｘ１〜Ｘ６４、Ｘ６５〜Ｘ１２８、Ｘ１２９〜Ｘ１９２、…の各区分についてそれぞれ平均値Ｘav1、Ｘav2、Ｘav3…が算出される。新た平均化個数Ｎｆは現在の平均化個数Ｎｐの２倍に設定されるので、ノイズ成分をより抑制することが可能になる。
【００４２】
上述したように、平均化個数算出部１３４Ａによって、ノイズの状況に応じて適切な平均化個数Ｎｆが設定されると、平均化個数算出部１３４Ａは、バッファ制御部１１１に対して、バッファに格納されている平均化データ群を削除するように指示する。これにより、バッファの空き容量が確保されるので、フィルタの処理速度および、フィルタからバッファへのデータ伝送速度を低減させることがない。
【００４３】
次に、本実施形態の端末装置１０の動作について説明する。図７は、第１実施形態の端末装置１０の動作を示すフローチャートである。端末装置１０において、判定処理、指標算出処理、平均化個数算出処理を含む一連の動作が開始される契機は、端末装置１０にインストールされたアプリケーションプロブラムが実行されたときである。
この状態で、例えば利用者からタッチパネル等を介して、方位の測定を指示する操作がなされると、地磁気センサ１０２は地磁気の測定を開始する（ステップＳａ１１）。方位の測定は、例えば所定時間毎（１ｍｓ）に実行される。地磁気センサ１０２によって測定されたＸ,Ｙ,Ｚ各成分の地磁気信号はＡ／Ｄ変換部１０４によってデジタル信号に変換され地磁気データＸ,Ｙ,Ｚとして出力される。
【００４４】
次に、フィルタ１０６は、地磁気データＸ,Ｙ,Ｚを平均化個数Ｎｐ毎に区分して、区分毎に平均化データＸav,Ｙav,Ｚavを算出する。平均化データＸav,Ｙav,Ｚavは、バッファ制御部１１１を介して、バッファ群１１２に格納される（ステップＳａ１２）。
【００４５】
次に、判定部１２０Ａは、バッファ群１１２にアクセスして、蓄積された平均化データＸav,Ｙav,Ｚavが所定数以上であるか否かを判別する（ステップＳａ１３）。所定数以上のとき（ステップＳａ１３の判別結果が「Ｙｅｓ」であれば）、判定部１２０Ａはバッファ群１１２から平均化データＸav,Ｙav,Ｚavを読み出して、所定数毎に区分して、各区分毎に中央値を算出する（ステップＳａ１４）。
次に、判定部１２０Ａは、各区分毎に算出した中央値から、中央値の平均値を算出する。判定部１２０Ａは、ステップＳａ１４で算出した各区分毎の中央値と、中央値の平均値とを用いて、分散値を算出する（ステップＳａ１５）。
なお、ステップＳａ１３において、平均化データＸav,Ｙav,Ｚavが所定数に達していない場合には、平均化データＸav,Ｙav,Ｚavが所定数蓄積されるまで（ステップＳａ１３の判別結果が「Ｙｅｓ」になるまで）、ステップＳａ１３の処理を繰り返し実行する。
【００４６】
判定部１２０Ａは、ステップＳａ１５で算出した分散値を用いて端末装置１０が静止状態であるか動作状態であるかの判定を実行する（ステップＳａ１６）。具体的には、判定部１２０Ａは、Ｘ,Ｙ,Ｚの各成分に対応する分散値と、現在の平均化個数との積を平均化個数の最小値で除算した結果と、所定の閾値とを比較して、Ｘ,Ｙ,Ｚの各成分の計算結果のいずれもが閾値を下回るとき（ステップＳａ１６の判別結果が「Ｙｅｓ」のとき）端末装置１０が静止状態にあると判定する。判定部１２０Ａは、端末装置１０が静止していると判定すると、指標算出部１３２Ａおよび平均化個数算出部１３４Ａに対して、指標算出処理および平均化個数算出処理を実行する旨を通知する。
一方、Ｘ,Ｙ,Ｚの各成分の計算結果のいずれかが閾値を上回るとき（ステップＳａ１６の判別結果が「Ｎｏ」のとき）、判定部１２０Ａは、端末装置１０が動作状態であると判定し、指標算出部１３２Ａおよび平均化個数算出部１３４Ａに対して動作を停止する旨を通知し（ステップＳａ２３）、ステップＳａ２２に処理を移行させる。
【００４７】
次に、指標算出部１３２Ａは、バッファ群１１２から、Ｘ,Ｙ,Ｚの各成分のそれぞれに対応する平均化データＸav,Ｙav,Ｚavを読み出して、それらの平均値を算出する（ステップＳａ１７）。続いて、指標算出部１３２Ａは、各平均化データＸav,Ｙav,Ｚavと、ステップＳａ１７で算出した平均値（XAV,YAV,ZAV）とを用いて分散値(ＤＸ,ＤＹ,ＤＺ)を算出する（ステップＳａ１８）。指標算出部１３２Ａは、算出した分散値（ＤＸ,ＤＹ,ＤＺ）を、平均化個数算出部１３４Ａに供給する。
【００４８】
平均化個数算出部１３４Ａは、分散値ＤＸ,ＤＹ,ＤＺを、分散の適正値Ｄfineでそれぞれ除算した値と、現在設定されている平均化個数Ｎｐとの積（Ｎｐ*ＤＸ／Ｄfine、Ｎｐ*ＤＹ／Ｄfine、Ｎｐ*ＤＺ／Ｄfine）を、Ｘ,Ｙ,Ｚの各成分のそれぞれについて算出する。そして、各成分の算出結果の最大値Ｎmaxを上回り、且つ平均化個数として取り得る値を新たな平均化個数Ｎｆとして決定する。そして、平均化個数算出部１３４Ａは、現在の平均化個数Ｎｐが新たな平均化個数Ｎｆと等しいか否かを判定する（ステップＳａ１９）。
両者が相違すれば、ステップＳａ１９の判定結果は「Ｎｏ」となり、平均化個数算出部１３４Ａは、新たな平均化個数Ｎｆをフィルタ１０６に設定する（ステップＳａ２０）。一方、現在の平均化個数Ｎｐと新たな平均化個数Ｎｆとが等しいとき（ステップＳａ１９の判別結果が「Ｙｅｓ」のとき）現在の平均化個数Ｎｐを維持する。ステップＳａ２０にて平均化個数Ｎｆをフィルタ１０６に設定した後、平均化個数算出部１３４Ａは、バッファ制御部１１１に対して、バッファ群１１２に格納されている平均化データＸav,Ｙav,Ｚavを削除するように指示する（ステップＳａ２１）。
【００４９】
続いて、表示制御部１５０は、タッチパネル等を介して利用者から方位の測定を終了する旨指示する操作を受付けたか否かを判別する（ステップＳａ２２）。終了を指示する旨の操作を受付けたとき（ステップＳａ２２の判別結果が「Ｙｅｓ」のとき）、判定処理、指標算出処理、平均化個数算出処理を含む一連の動作は終了する。
一方、終了を指示する旨の操作がまだであれば（ステップＳａ２２の判別結果が「Ｎｏ」のとき）、処理はステップＳａ１１へ移行する。
【００５０】
このように、本実施形態では、指標算出部１３２Ａによって平均化データＸav,Ｙav,Ｚavのばらつきの大きさ（ノイズ成分が重畳する蓋然性）を示す分散値ＤＸ,ＤＹ,ＤＺを算出し、平均化個数算出部１３４Ａは、分散値ＤＸ,ＤＹ,ＤＺと現在の平均化個数Ｎｐとに基づいて新たな平均化個数Ｎｆを算出するので、ノイズ成分によって変動する地磁気データＸ,Ｙ,Ｚのばらつきに追従して新たな平均化個数Ｎｆを設定することが可能となる。
具体的には、ばらつきが大きいとき（地磁気データにノイズ成分が重畳する蓋然性が高いとき）には、ｍａｘ（Ｎｐ*ＤＸ／Ｄfine、Ｎｐ*ＤＹ／Ｄfine、Ｎｐ*ＤＺ／Ｄfine）の算出結果が大きくなるため、現在の平均化個数Ｎｐと比較して、高い値の平均化個数Ｎｆが算出される。これにより、ノイズが大きいときには、ノイズを次第に低減するような平均化個数Ｎｆが設定される。
一方、ばらつきが小さいとき（地磁気データにノイズ成分が重畳する蓋然性が低いとき）には、ｍａｘ（Ｎｐ*ＤＸ／Ｄfine、Ｎｐ*ＤＹ／Ｄfine、Ｎｐ*ＤＺ／Ｄfine）の算出結果が小さくなるため、現在の平均化個数Ｎｐと比較して、小さい値の平均化個数Ｎｆが算出される。これにより、地磁気データＸ,Ｙ,Ｚに重畳するノイズが許容範囲内にあるときには、平均化処理に要する測定時間と、消費電流とをともに低減させるように平均化個数を設定することが可能になる
【００５１】
また、本実施形態では、判定部１２０Ａによって端末装置１０が静止状態であると判別されたときに、指標算出処理および平均化個数算出処理が実行される。外部の磁界強度による影響を考慮したときに、端末装置１０が静止している状態のときには端末装置１０が動作している状態であるときと比較して影響を受けにくいといえる。このため、本実施形態によれば、地磁気データＸ,Ｙ,Ｚの測定精度を高めることが可能になる。
さらに、判定部１２０Ａは、平均化データＸav,Ｙav,Ｚavの中央値を特定するとともに、中央値の分散値を算出して判定を行う。中央値では極端に大きい値や極端に小さい値等の影響を有効に低減させることが可能であるため、中央値の分散値を算出する態様によれば、端末装置１０の静止状態か動作状態かの判定の精度を高めることができる。
【００５２】
＜第２実施形態＞
次に、本発明の第２実施形態について説明する。第１実施形態ではフィルタ１０６から出力された平均化データを基に指標や平均化個数を算出した（フィードバック制御）。第２実施形態では、フィルタ１０６によって平均化される前の地磁気データを基に指標や平均化個数を算出する（フィードフォワード制御）。
【００５３】
図８は、第２実施形態における端末装置２０の機能を示す機能ブロック図である。この図に示されるように、第２実施形態では、図２に示した第１実施形態と比較して、地磁気センサ１０２で測定された地磁気信号が、Ａ／Ｄ変換部１０４を介して地磁気データＸ,Ｙ,Ｚに変換され、バッファ制御部１１１に逐次供給される。バッファ制御部１１１に供給された地磁気データＸ,Ｙ,Ｚは、バッファ群１１２に格納され、判定部１２０Ｂに読み出されて判定処理に用いられるほか、指標算出部１３２Ｂに読み出されて指標算出処理に用いられる構成となっている。
即ち、第２実施形態の判定部１２０Ｂは、フィルタ１０６の入力である地磁気データＸ,Ｙ,Ｚに基づいて判定を実行する点で、フィルタ１０６の出力である平均化データＸav,Ｙav,Ｚavに基づいて判定する第１実施形態の判定部１２０Ａと相違する。また、第２実施形態の指標算出部１３２Ｂは、地磁気データＸ,Ｙ,Ｚに基づいて分散を生成する点で、平均化データＸav,Ｙav,Ｚavに基づいて分散を生成する第１実施形態の指標算出部１３２Ａと相違する。さらに、第２実施形態の平均化個数算出部１３４Ｂは、地磁気データＸ,Ｙ,Ｚの分散に応じた新たな平均化個数Ｎｆを生成する点で、平均化データＸav,Ｙav,Ｚavの分散に基づいて新たな平均化個数Ｎｆを生成する第１実施形態の平均化個数算出部１３４Ａと相違する。
【００５４】
図９に、第２実施形態における判定処理の処理内容を示す。判定部１２０Ｂは、バッファ群１１２にアクセスして地磁気データＸ,Ｙ,Ｚを読み出して端末装置２０が静止状態にあるか否かを判定する。以下、各成分のうち、Ｘ成分の地磁気データＸを例に説明する。他のＹ成分およびＺ成分の地磁気データＹ、ＺについてはＸ成分と同様の処理が行われるため、ここでは説明を省略する。
まず、判定部１２０Ｂは、所定数の地磁気データＸに対して中央値ＸDmを算出する。例えば、所定数が５０であるとすれば、図９（ａ）に示すように、地磁気データＸを、Ｘ１〜Ｘ５０、Ｘ２〜Ｘ５１、Ｘ３〜Ｘ５２、…のように５０個毎に区分し、各区分毎に中央値ＸDm1、ＸDm2、ＸDm3、…を逐次算出する。すなわち、ｋ（ｋは自然数）番目の中央値ＸDmkは、ＸkからＸ(k+49)までの５０個の地磁気データＸに基づいて決定される。
【００５５】
次に、判定部１２０Ｂは、地磁気データＸの中央値ＸDmに基づいて、中央値ＸDmの平均値ＸDmavを算出する。具体的には、図９（ｂ）に示されるように、中央値ＸDm1、ＸDm2、…ＸDm50の総和を、各単位の合計（ここでは５０）で除算することにより平均値ＸDmavを算出する。Ｙ成分、Ｚ成分についても同様に平均値ＹDmav、ＺDmavを算出する。
【００５６】
続いて、判定部１２０Ｂは、中央値ＸDmと、中央値ＸDmの平均値ＸDmavとを用いて、分散値Ｄ_XDmavを算出する。具体的には、図９（ｃ）に示されるように、中央値ＸDm1〜ＸDm50のそれぞれと、平均値ＸDmavとの差分をそれぞれ二乗した総和を、各単位の合計（ここでは５０）で除算することにより分散値Ｄ_XDmavを算出する。Ｙ成分、Ｚ成分についても同様に分散値Ｄ_YDmav,Ｄ_ZDmavを算出する。
【００５７】
この後、判定部１２０Ｂは、算出した分散値Ｄ_XDmav,Ｄ_YDmav,Ｄ_ZDmavを用いて端末装置２０が静止状態であるか動作状態であるかを判定する。具体的には、図９（ｄ）に示されるように、Ｘ,Ｙ,Ｚの各成分に対応する分散値Ｄ_XDmav,Ｄ_YDmav,Ｄ_ZDmavと、所定の閾値Ｄｔｈとを比較して、分散値Ｄ_XDmav,Ｄ_YDmav,Ｄ_ZDmavのいずれもが閾値Ｄｔｈを下回れば、端末装置２０が静止状態にあると判定する。
【００５８】
判定部１２０Ｂは、端末装置２０が静止状態にあると判定したとき、第１実施形態と同様に指標算出部１３２Ｂおよび平均化個数算出部１３４Ｂに対して、指標算出処理および平均化個数算出処理を実行する旨を通知する。一方、端末装置２０が動作状態であると判定したときには、判定部１２０Ｂは、指標算出部１３２Ｂおよび平均化個数算出部１３４Ｂに対して、動作を停止する旨を通知する。
【００５９】
指標算出部１３２Ｂは、バッファ群１１２にアクセスして地磁気データＸ,Ｙ,Ｚを読み出して、地磁気データＸ,Ｙ,Ｚのばらつきの程度を示す指標を算出する。本実施形態にあっては、指標算出部１３２Ｂは、地磁気データＸ,Ｙ,Ｚの分散値を指標として算出する。平均化個数算出部１３４Ｂは、指標算出部１３２Ｂによって算出された地磁気データＸ,Ｙ,Ｚの分散値ＤＸ,ＤＹ,ＤＺを基に、新たに設定する平均化個数Ｎｆを算出してフィルタ１０６に供給する。
【００６０】
次に、図１０を参照して、指標算出部１３２Ｂおよび平均化個数算出部１３４Ｂの処理の詳細について説明する。図１０（ａ）および図１０（ｂ）は、指標算出部１３２Ｂにおける処理について説明する図である。以下、Ｘ成分について説明するが、Ｙ成分およびＺ成分についても同様である。
【００６１】
まず、指標算出部１３２Ｂは、Ｘバッファにアクセスして、過去の５０個の地磁気データＸ（Ｘ１〜Ｘ５０）を読み出し、それらの平均値ＸAVを算出する。この例では、５０個の地磁気データＸについて平均値ＸAVを算出したが、これ以外に任意の個数の地磁気データに対して平均値ＸAVを算出するようにしてもよい。
【００６２】
次に、指標算出部１３２Ｂは、地磁気データＸと、その平均値ＸAVとを用いて分散値ＤＸを算出する。具体的には、図１０（ｂ）に示されるように、各地磁気データＸ1〜Ｘ50のそれぞれと、平均値ＸAVとの差分をそれぞれ二乗した総和を、地磁気データＸの個数（ここでは５０）で除算することにより分散値ＤＸを算出する。Ｙ、Ｚ成分についても同様に分散値ＤＹ、ＤＺを算出する。指標算出部１３２Ｂは、算出した分散値ＤＸ,ＤＹ,ＤＺを、平均化個数算出部１３４Ｂに供給する。
なお、分散値ＤＸの算出に際して、突発的なノイズの影響を考慮する観点から、所定数の地磁気データＸから、最大値と最小値を除き、残りの地磁気データＸに基づいて平均値ＸAVおよび分散値ＤＸを算出してもよい。
【００６３】
平均化個数算出部１３４Ｂは、算出した分散値ＤＸ,ＤＹ,ＤＺを用いて新たな平均化個数Ｎｆを算出する。具体的には、第１に、分散値ＤＸ,ＤＹ,ＤＺのうち最大となる最大分散値Ｄmaxを特定する。第２に、最大分散値Ｄmaxに応じて新たな平均化個数Ｎｆを決定する。第３に、フィルタ１０６に設定してある現在の平均化個数Ｎｐが新たな平均化個数Ｎｆと相違する場合、フィルタ１０６に新たな平均化個数Ｎｆを供給して、現在の平均化個数Ｎｐを新たな平均化個数Ｎｆに更新する。
【００６４】
ここで、新たな平均化個数Ｎｆは、最大分散値Ｄmaxが適性値Ｄfine以下となるように定めればよい。例えば、最大分散値Ｄmaxを適性値Ｄfineで除算した値に係数Ｑを乗算した値を最大値Ｎmax（=Ｑ・Ｄmax／Ｄfine）として算出する。そして、新たな平均化個数Ｎｆを以下のように決定する。すなわち、Ｎmax≦３２の場合にはＮｆ＝３２、３２＜Ｎmax≦６４の場合にはＮｆ＝６４、６４＜Ｎmax≦１２８の場合にはＮｆ＝１２８、１２８＜Ｎmaxの場合にはＮｆ＝２５６とする。なお、最大分散値Ｄmaxと新たな平均化個数Ｎｆとを対応づけてテーブルに記憶しておき、当該テーブルを参照して新たな平均化個数Ｎｆを決定してもよい。
【００６５】
このように第２実施形態では、指標算出部１３２Ｂは、地磁気データＸ,Ｙ,Ｚのばらつきの大きさを示す指標である分散値ＤＸ,ＤＹ,ＤＺを算出し、平均化個数算出部１３４Ｂは分散値ＤＸ,ＤＹ,ＤＺに基づいて新たな平均化個数Ｎｆを設定するので、地磁気データＸ,Ｙ,Ｚに重畳するノイズ成分に応じてフィルタ１０６の平均化個数を動的に変化させることができる。
具体的には、地磁気データＸ,Ｙ,Ｚのばらつきが大きい場合には、新たな平均化個数Ｎｆが大きくなり、フィルタ１０６でノイズを十分低減させることができる。一方、地磁気データＸ,Ｙ,Ｚのばらつきが小さい場合には、新たな平均化個数Ｎｆが小さくなり、平均化処理に要する測定時間と、消費電流とをともに低減させることができる。
【００６６】
また、第２実施形態では、地磁気データＸ,Ｙ,Ｚを用いて新たな平均化個数Ｎｆを算出する、所謂フィードフォワード制御が実行される。このため、外部における磁場の影響が大きい場合等、外的要因の状況を反映させた平均化個数をリアルタイムにフィルタ１０６に設定することができ、平均化データＸav,Ｙav,Ｚavを用いて新たな平均化個数Ｎｆを算出する場合と比較して、応答性を向上させることができる。
【００６７】
＜変形例＞
本発明は、上述した第１実施形態や第２実施形態に限定されるものではなく、例えば次に述べるような各種の応用・変形が可能である。また、次に述べる応用・変形の態様は、任意に選択された一または複数を適宜に組み合わせることもできる。
【００６８】
＜判定処理＞
上述した第１および第２実施形態においては、平均化データＸav,Ｙav,Ｚavや、地磁気データＸ,Ｙ,Ｚを用いて端末装置１０、２０が静止状態であるか動作状態であるかを判定した。本発明は、この構成に限られず、加速度センサやジャイロセンサによって端末装置１０、２０が静止状態であるか動作状態であるかを判定してもよい。
【００６９】
＜加速度センサやジャイロセンサ＞
上述した第１および第２実施形態においては、判定部１２０Ａ、１２０Ｂによって端末装置１０、２０が静止していると判定されたときに、指標算出処理や平均化個数算出処理を実行とした。本発明は、この構成に限られず、例えば、端末装置１０、２０における３軸の加速度を出力する加速度センサや、端末装置１０、２０の回転角や角速度を出力するジャイロセンサを用いて、端末装置１０、２０の向きの変化を特定し、特定結果に基づいて地磁気データＸ,Ｙ,Ｚや平均化データＸav,Ｙav,Ｚavを補正してもよい。これにより、端末装置１０、２０が動作状態においても平均化個数を更新（設定）することが可能となる。
【符号の説明】
【００７０】
１０，２０…端末装置、１０２…地磁気センサ、１０６…フィルタ、１２０Ａ，１２０Ｂ…判定部、１３２Ａ，１３２Ｂ…指標算出部、１３４Ａ，１３４Ｂ…平均化個数算出部。
【図１】
2015001513.tif 000003
【図２】
2015001513.tif 000004
【図３】
2015001513.tif 000005
【図４】
2015001513.tif 000006
【図５】
2015001513.tif 000007
【図６】
2015001513.tif 000008
【図７】
2015001513.tif 000009
【図８】
2015001513.tif 000010
【図９】
2015001513.tif 000011
【図１０】
2015001513.tif 000012