(57)【要約】【課題】蓄積された磁気データ群からオフセットを正確に導出できる磁気データ処理装置、方法及びプログラム、並びに磁気測定装置を提供する。【解決手段】磁気センサから出力される磁気データｑｉを順次入力する入力手段（９２）と、前記磁気データのオフセットを導出するために複数の前記磁気データを母集団データ群として蓄える蓄積手段（９２）と、前記母集団データ群を構成する前記複数の磁気データのそれぞれを重み付けしたデータ群を母集団とする統計的手法により前記オフセットを導出する導出手段（９４）と、を備える磁気データ処理装置。【選択図】図１
2011180097.tif 000002
【特許請求の範囲】
【請求項１】
磁気センサから出力される磁気データｑｉを順次入力する入力手段と、
前記磁気データのオフセットを導出するために複数の前記磁気データを母集団データ群として蓄える蓄積手段と、
前記母集団データ群を構成する前記複数の磁気データのそれぞれを重み付けしたデータ群を母集団とする統計的手法により前記オフセットを導出する導出手段と、
を備える磁気データ処理装置。
【請求項２】
前記導出手段は、前記母集団データ群を構成する前記複数の磁気データの重みｗ（ｗ＝ｗ１，…，ｗｎ）を前記母集団データ群に基づいて導出する、
請求項１に記載のデータ処理装置。
【請求項３】
前記導出手段は、
【数１８】
2011180097.tif 000020
Ａの最小固有値をλとするとき、
次の目的関数ｇ（ｗ）を制約条件（１）かつ（２）のもとで最大化する重みｗを導出する、
【数１９】
2011180097.tif 000021
請求項２に記載の磁気データ処理装置。
【請求項４】
磁気センサから出力される磁気データｑｉを順次入力し、
前記磁気データのオフセットを導出するために複数の前記磁気データを母集団データ群として蓄え、
前記母集団データ群を構成する前記複数の磁気データのそれぞれを重み付けしたデータ群を母集団とする統計的手法により前記オフセットを導出する、
ことを含む磁気データ処理方法。
【請求項５】
磁気センサから出力される磁気データｑｉを順次入力する入力手段と、
前記磁気データのオフセットを導出するために複数の前記磁気データを母集団データ群として蓄える蓄積手段と、
前記母集団データ群を構成する前記複数の磁気データのそれぞれを重み付けしたデータ群を母集団とする統計的手法により前記オフセットを導出する導出手段と、
としてコンピュータを機能させる磁気データ処理プログラム。
【請求項６】
磁気センサと、
磁気センサから出力される磁気データｑｉを順次入力する入力手段と、
前記磁気データのオフセットを導出するために複数の前記磁気データを母集団データ群として蓄える蓄積手段と、
前記母集団データ群を構成する前記複数の磁気データのそれぞれを重み付けしたデータ群を母集団とする統計的手法により前記オフセットを導出する導出手段と、
を備える磁気測定装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は磁気データ処理装置、方法及びプログラムならびに磁気測定装置に関し、特に磁気センサのオフセットを補正する技術に関する。
【背景技術】
【０００２】
従来、携帯型電話機、車両等の移動体に搭載され、地磁気の方向を検出する磁気センサが知られている。磁気センサの出力に基づいて地磁気の方向又は大きさを特定するとき、移動体の着磁による測定誤差を打ち消すために磁気センサの出力を補正する処理が必要である。この補正処理の操作値はオフセットと呼ばれている。オフセットは磁気センサが検出している移動体の着磁による磁力成分を表すベクトルデータであって、磁気センサの出力である磁気データからオフセットが引き算されることによって測定誤差が打ち消される。３次元磁気センサでは磁気データ群が分布する球面の中心を求めることによって、２次元磁気センサでは磁気データ群が分布する円の中心を求めることによって、オフセットを導出することができる。しかし、移動体の着磁に関わらず磁気センサの出力自体が誤差を含んでいるため、円または球面の中心として最も確からしい点が統計的手法によりオフセットとして導出される。
統計的手法によりオフセットを導出する方法としては、例えば、磁気データ群の分散共分散行列を用いて定義された目的関数を最小化する値を求めることによってオフセットを導出する方法が特許文献１に記載されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００７−３２７９３４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
本願発明者は、真のオフセットから見て狭い角度範囲に母集団データ群の一部が集中して存在している場合、その一部に含まれる個々の磁気データと残部に含まれる個々の磁気データとを、統計的手法によりオフセットを導出するためのデータとしてそのまま用いるよりも、個々の磁気データの重みに軽重を付けて用いることによって、オフセットの導出精度が高まると推測し、シミュレーションを行った。その結果、母集団データ群を構成する個々の磁気データの重みを適切に設定すると、オフセットの導出精度が高まることが判明した。
【０００５】
本発明は、蓄積された磁気データ群からオフセットを正確に導出できる磁気データ処理装置、方法及びプログラム、並びに磁気測定装置を提供することを目的とする。
【課題を解決するための手段】
【０００６】
（１）上記目的を達成するための磁気データ処理装置は、磁気センサから出力される磁気データｑｉを順次入力する入力手段と、前記磁気データのオフセットを導出するために複数の前記磁気データを母集団データ群として蓄える蓄積手段と、前記母集団データ群を構成する前記複数の磁気データのそれぞれを重み付けしたデータ群を母集団とする統計的手法により前記オフセットを導出する導出手段と、を備える。
本発明によると、母集団データ群を構成する複数の磁気データのそれぞれを重み付けしたデータ群を母集団とする統計的手法によりオフセットを導出するため、オフセットを正確に導出できる。
【０００７】
（２）上記目的を達成するための磁気データ処理装置において、前記導出手段は、前記母集団データ群を構成する前記複数の磁気データの重みｗ（ｗ＝ｗ１，…，ｗｎ）を前記母集団データ群に基づいて導出してもよい。
磁気データの重みを母集団データ群に基づいて導出することにより、母集団データ群の分布に対して最適化された重みを導出することができる。
【０００８】
（３）分散共分散行列の最小固有値が大きくなるほど偏りのない分布になるため、統計的手法の母集団となる分散共分散行列Ａの最小固有値が大きくなるように重みｗ（ｗ１，…，ｗｎ）を設定するとよい。一方、重みｗが少数の磁気データについて過大になり、多数の磁気データについて過小になると、磁気データに含まれる誤差が互いに打ち消し合う効果が小さくなる。従って、分散共分散行列Ａの最小固有値を大きくしつつ、かつ、重みｗの偏りが小さくなるように重みｗを導出することが望ましい。
そこで上記目的を達成するための磁気データ処理装置において、前記導出手段は、
【数１】
2011180097.tif 000003
Ａの最小固有値をλとするとき、
次の目的関数ｇ（ｗ）を制約条件（１）かつ（２）のもとで最大化する重みｗを導出してもよい。
【数２】
2011180097.tif 000004
【０００９】
尚、本発明に備わる複数の手段の各機能は、構成自体で機能が特定されるハードウェア資源、プログラムにより機能が特定されるハードウェア資源、又はそれらの組み合わせにより実現される。また、これら複数の手段の各機能は、各々が物理的に互いに独立したハードウェア資源で実現されるものに限定されない。また、本発明は装置の発明として特定できるだけでなく、プログラムの発明としても、そのプログラムを記録した記録媒体の発明としても、方法の発明としても特定することができる。また、請求項に記載された方法の各動作の順序は、技術上の阻害要因がない限り、記載順に限定されるものではなく、どのような順番で実行されてもよく、また同時に実行されてもよい。
【図面の簡単な説明】
【００１０】
【図１】本発明の実施形態に係るフローチャート。
【図２】本発明の実施形態に係る模式図。
【図３】本発明の実施形態に係るブロック図。
【図４】本発明の実施形態に係るブロック図。
【図５】本発明の実施形態に係る模式図。
【図６】本発明の実施形態に係るグラフ。
【発明を実施するための形態】
【００１１】
以下、本発明の実施の形態を図面を参照しながら説明する。
１．ハードウェア構成
図２は、本発明が適用される移動体の一例である携帯型電話機３の外観を示す模式図である。携帯型電話機３には３次元磁気センサ４が搭載されている。３次元磁気センサは互いに直交するｘ、ｙ、ｚの３方向について磁界の強さを検出することによって地磁気の方向及び強さを検出する。携帯型電話機３のディスプレイ２には、文字や画像の各種情報が表示される。例えば、ディスプレイ２には、地図と、方位を示す矢印や文字が表示される。
【００１２】
図３は、３次元磁気センサ４と磁気データ処理装置１とを備える磁気測定装置を示すブロック図である。３次元磁気センサ４は、地磁気による磁界ベクトルのｘ方向成分、ｙ方向成分、ｚ方向成分をそれぞれ検出するｘ軸センサ３０とｙ軸センサ３２とｚ軸センサ３４とを備えている。ｘ軸センサ３０、ｙ軸センサ３２、ｚ軸センサ３４は、いずれも磁気抵抗素子、ホール素子等で構成され、指向性のある１次元磁気センサであればどのようなものであってもよい。ｘ軸センサ３０、ｙ軸センサ３２及びｚ軸センサ３４は、それぞれの感度方向が互いに直交するように固定されている。ｘ軸センサ３０、ｙ軸センサ３２及びｚ軸センサ３４の出力は、時分割して磁気センサＩ／Ｆ（Inter Face）２２に入力される。磁気センサＩ／Ｆ２２では、ｘ軸センサ３０、ｙ軸センサ３２及びｚ軸センサ３４からの入力が増幅された後にＡＤ変換される。磁気センサＩ／Ｆ２２から出力されるディジタルの磁気データは、バス５を介して磁気データ処理装置１に入力される。
【００１３】
磁気データ処理装置１は、ＣＰＵ４０とＲＯＭ４２とＲＡＭ４４とを備えている所謂コンピュータである。ＣＰＵ４０は、例えば携帯型電話機３の全体制御を司るプロセッサである。ＲＯＭ４２は、ＣＰＵ４０によって実行される磁気データ処理プログラムや、移動体の機能を実現するための種々のプログラム、例えばナビゲーションプログラムが格納されている、不揮発性の記憶媒体である。ＲＡＭ４４はＣＰＵ４０の処理対象となるデータを一時的に保持する揮発性の記憶媒体である。尚、磁気データ処理装置１と３次元磁気センサ４とを１チップの磁気測定装置として構成することもできる。
【００１４】
２．ソフトウェア構成
図４は、磁気データ処理プログラム９０の構成を示すブロック図である。磁気データ処理プログラム９０は、ナビゲーションプログラム９８に方位データを提供するためのプログラムであって、ＲＯＭ４２に格納されている。方位データは地磁気の方向を示す２次元ベクトルデータである。尚、方位データは例えば移動体の姿勢認識のための３次元ベクトルデータとして他のアプリケーションプログラムに提供されてもよい。磁気データ処理プログラム９０は、バッファ管理モジュール９２、オフセット導出モジュール９４、方位導出モジュール９６等のモジュール群で構成されている。
【００１５】
バッファ管理モジュール９２は、磁気センサ４から順次出力される磁気データを入力し、入力した磁気データをオフセット更新に用いるためにバッファに蓄積するプログラム部品であって、ＣＰＵ４０、ＲＡＭ４４及びＲＯＭ４２を入力手段及び蓄積手段として機能させる。尚、このバッファはハードウェアで構成されてもよいし、ソフトウェアで構成されてもよい。このバッファに蓄積される磁気データ群を母集団データ群というものとする。
【００１６】
オフセット導出モジュール９４は、バッファ管理モジュール９２によって保持されている母集団データ群に基づいて新オフセットを導出し、旧オフセットを新オフセットに更新するプログラム部品であって、ＣＰＵ４０、ＲＡＭ４４及びＲＯＭ４２をオフセット導出手段として機能させる。尚、旧オフセットが新オフセットに更新された時点でその新オフセットは旧オフセットになるため、誤解のない文脈では旧オフセットのことを単にオフセットというものとする。実際には、方位データの補正に用いられるオフセットは１つの変数に設定され、新オフセットはその変数とは別の変数として導出され、導出された時点で方位データの補正に用いられる変数に設定されるので、方位データの補正に用いられる変数は旧オフセットが格納される変数である。
【００１７】
方位導出モジュール９６は、磁気センサ４から順次出力される磁気データをオフセット導出モジュール９４が保持しているオフセットによって補正して方位データを生成するプログラム部品であって、ＣＰＵ４０、ＲＡＭ４４及びＲＯＭ４２を方位導出手段として機能させる。具体的には、方位導出モジュール９６は、３次元ベクトルデータである磁気データの各成分からオフセットの各成分を引き算して得られる３成分のうちの２成分又は３成分全部を方位データとして出力する。
【００１８】
ナビゲーションプログラム９８は、目的地までの誘導経路を探索し、地図上に誘導経路を表示する周知のプログラムである。地図の認識のし易さから、地図は現実の方位に地図上の方位が一致するように画面表示される。したがって例えば、携帯型電話機３が回転すると、ディスプレイ２に表示される地図は地面に対して回転しないようにディスプレイ２に対して回転する。このような地図の表示処理に方位データが用いられる。もちろん、方位データは、単に東西南北を文字や矢印で表示するためにのみ用いられてもよい。
【００１９】
３．磁気データ処理方法
図１は、新オフセットを導出する処理の流れを示すフローチャートである。図１に示す処理は、オフセットの更新要求が発生したときにＣＰＵ４０がオフセット導出モジュール９４を実行することによって進行する。
【００２０】
３−１．バッファ更新
ステップＳ１００では、新オフセットの導出に用いられる磁気データ群（母集団データ群）を蓄積するためのバッファに蓄積されている全ての磁気データが消去される。すなわちこのとき、旧オフセットの導出に用いられた母集団データ群が消去される。
ステップＳ１０２では、新オフセットの導出に用いられる磁気データが入力されバッファへ格納される。携帯型電話機３の姿勢がほとんど変化していない状況において、短い時間間隔で順次磁気センサ４から磁気データを入力すると、連続入力される２つの磁気データ間の距離が近くなる。距離が互いに近い複数の磁気データが限られた容量のバッファに格納されることは、メモリ資源の浪費であるし、無駄なバッファの更新処理を発生させる。また、互いの距離が近い磁気データ群に基づいて新オフセットを導出すると、偏った分布を持つ母集団データ群に基づいて精度の低い新オフセットが導出される可能性がある。そこで、バッファの更新必要性が次のように判定されてもよい。例えば、直前にバッファに格納された磁気データと最後に入力された磁気データとの距離があるしきい値より小さければ、バッファの更新必要性がないと判定され、最後に入力された磁気データはバッファに格納されることなく破棄される。
【００２１】
ステップＳ１０４では、精度よく新オフセットを導出するために十分な規定個数の磁気データがバッファに蓄積されたかが判定される。すなわち、母集団データ群の要素数は予め決められている。予め決める母集団データ群の要素数を少なく設定することにより、オフセットの更新要求に対するレスポンスが向上する。規定個数の磁気データがバッファに蓄積されるまで、ステップＳ１０２とステップＳ１０４の処理が繰り返される。このように蓄積されるｎ個の磁気データからなる母集団データ群を次式（１）で表すものとする。
qi=(qix,qiy,qiz)  (i=１，…,ｎ)・・・（１）
【００２２】
３−２．重みの導出
ステップＳ１０５では、母集団データ群に基づいて磁気データの重みｗ（ｗ＝ｗ１，…，ｗｎ）が導出される。ここで、
【数３】
2011180097.tif 000005
とすると、重み付けされた磁気データ群の分散共分散行列Ａは、次式（３）として表される。
【数４】
2011180097.tif 000006
ただし、
【数５】
2011180097.tif 000007
である。
【００２３】
行列Ａの固有値を大きい順にλ1、λ2、λ3とするとき、ｗは次の目的関数ｇ（ｗ）を制約条件（７）のもとで最大化する値として導出される。
【数６】
2011180097.tif 000008
【００２４】
行列Ａの固有値λ1、λ2、λ3はいずれも０以上であるため、行列Ａは半正定値である。Dinkelbachが考案した１分数関数の求解アルゴリズムを応用すると、目的関数ｇ（ｗ）を制約条件（７）のもとで最大化する最適化問題の解は、半正定値問題（SemiDefinite Programming problem：ＳＤＰ）を有限回反復して解いて最終的に得られた解と一致する。それらの半正定値問題は主双対内点法などを用いて解くことができるので、目的とするｗを導出することができる。
【００２５】
３−３．数理計画問題によるオフセットの導出
ここでオフセットを導出するための数理計画問題について説明する。
母集団データ群が同一平面上にない４つの磁気データで構成されている場合、母集団データ群が分布する球面は統計的手法を用いることなく一意に特定される。この球面の中心の位置ベクトルｃ＝（ｃx、ｃy、ｃz）は連立方程式（８）を解くことによって得られる。尚、３変数に対して等号制約が４つあるが、等号制約の１つは冗長になっているため方程式（８）は必ず解を持つ。
【数７】
2011180097.tif 000009
ただし、
【数８】
2011180097.tif 000010
【００２６】
母集団データ群の要素数が５個以上あるときについて、ｊを次式（１０）で定義する。
【数９】
2011180097.tif 000011
【００２７】
このとき、ｃについての連立一次方程式（１１）が解を持てば、その解は、母集団データ群が分布する球面の中心である。
【数１０】
2011180097.tif 000012
【００２８】
しかし、３次元磁気センサ４の測定誤差を考慮すると、現実には、方程式（１１）が解を持つことはまれである。そこで、磁気データ群が真のオフセットから見て等角度間隔に分布していると仮定し、統計的な手法により尤も確からしい球面の中心を得るために、次式（１２）で定義されるベクトルｅを導入する。
【数１１】
2011180097.tif 000013
【００２９】
||ｅ||22（すなわちｅTｅ）を最小にするｃが、真のオフセットから見て等角度間隔に分布している母集団データ群が最も近くに分布する球面の中心として尤もらしいといえる。||ｅ||22を最小にするｃを求める問題は、行列Ａが正則のときには次式（１３）の目的関数を最小にする最適化問題となる。
【数１２】
2011180097.tif 000014
【００３０】
しかし、母集団データ群の一部が真のオフセットから見て狭い角度範囲に集中することもあるため、母集団データ群を構成するそれぞれの磁気データをｗで重み付けしたデータ群を母集団として最適化問題を解く方がより正確なオフセットを導出できる。
【００３１】
そこでステップＳ１０６では、式（１４）の目的関数ｆ（ｃ）を最小化するｃをオフセットとして導出する。
【数１３】
2011180097.tif 000015
ＸＴＷＸが正則のとき、目的関数ｆ（ｃ）を最小化するｃは次式（１５）となる。
【数１４】
2011180097.tif 000016
ここで、
【数１５】
2011180097.tif 000017
とすると、
【数１６】
2011180097.tif 000018
と書くこともできる。
【００３２】
４．重み付けの効果
シミュレーションにより重み付けの効果を測定するため、磁気データに対応する測定点を次のように設定する。円の半径をａ＝１００、測定点の分布する範囲をθ＝１２０°としてｎ個の測定点、
ｑ'ｋ＝（ｘ'ｋ、ｙ'ｋ）  (ｉ＝１，…,ｎ）
を次式（２１）、（２２）により設定する。
【数１７】
2011180097.tif 000019
【００３３】
図５はこのように設定した測定点の分布を示している。図５に示すように真のオフセットからみた狭い角度範囲の一カ所に母集団データ群の一部が集中しているとき、それぞれの磁気データを重み付けせずに式（１３）の最適化問題を解いてオフセットを導出した場合、オフセット誤差は図６の破線で示すように、母集団データ群の個数の増加に応じて減少した後に上昇に転ずる。一方、母集団データ群からｗを導出し、母集団データ群を構成する複数の磁気データを重みｗで重み付けしたデータ群を母集団として式（１４）の最適化問題を解いてオフセットを導出した場合、オフセット誤差は図６の実線で示すように、母集団データ群の個数の増加に応じて減少した後にほぼ一定となる。また、母集団データ群の一部が複数カ所に集中しているときであっても、オフセット誤差が減少するシミュレーション結果が得られた。
【００３４】
以上説明した本発明の実施形態によると、磁気データ群を重み付けしたデータ群を母集団とする統計的手法によってオフセットを導出するため、真のオフセットからみた狭い角度範囲に母集団データ群の一部が一カ所以上に集中しているときであっても、正確なオフセットを導出することができる。そして、母集団データ群に基づいて重みｗを導出するため、母集団データ群の分布に対して最適化された重みを導出することができる。さらに、真のオフセットからみた狭い角度範囲に母集団データ群の一部が集中しているとしても、重みの差を過剰に大きくしないため、各磁気データの誤差が相互に打ち消されることによって、正確なオフセットを導出することができる。また、母集団データ群の集中が起こらなければ、磁気データの重みが均等になるため、各磁気データの誤差が相互に打ち消されることによって、正確なオフセットを導出することができる。そして、磁気センサが通常用いられる状況では、等角速度運動中に母集団データ群を蓄積できることはむしろ少なく、真のオフセットからみた狭い角度範囲に母集団データ群の一部が一カ所以上に集中することが多い。
【００３５】
また磁気データから連続して出力される２つの磁気データの距離が近い場合に一方を母集団データ群に追加しない場合であっても、互いの距離が近い複数の磁気データが母集団データ群として蓄積されることを完全には防止できない。しかし上述した実施形態によると、このような場合であっても正確にオフセットを導出できる。
【００３６】
５．他の実施形態
本発明は、上記実施形態に限定されるものではなく、その要旨を逸脱しない範囲で種々の形態で実施可能である。例えば、各磁気データの重みは、距離が最も近い磁気データとの距離に応じて設定したり、球面または円を複数の領域に分割し、各領域に属する磁気データの個数に応じて設定しても良い。また、本発明がＰＤＡに搭載される磁気センサや車両に搭載される磁気センサにも適用できることは当然である。また本発明は３次元磁気センサのみならず、２次元磁気センサにも当然に適用できる。
【符号の説明】
【００３７】
１：磁気データ処理装置、３：携帯型電話機（移動体）、４：３次元磁気センサ、９０：磁気データ処理プログラム、９２：バッファ管理モジュール（入力手段、蓄積手段）、９４：オフセット導出モジュール（オフセット導出手段）
【図１】
2011180097.tif 000022
【図２】
2011180097.tif 000023
【図３】
2011180097.tif 000024
【図４】
2011180097.tif 000025
【図５】
2011180097.tif 000026
【図６】
2011180097.tif 000027
【手続補正書】
【提出日】平成22年5月11日(2010.5.11)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】００２４
【補正方法】変更
【補正の内容】
【００２４】
行列Ａの固有値λ1、λ2、λ3はいずれも０以上であるため、行列Ａは半正定値である。Dinkelbachが考案した１分数関数の求解アルゴリズムを応用すると、目的関数ｇ（ｗ）を制約条件（７）のもとで最大化する最適化問題の解は、半正定値計画問題（SemiDefinite Programming problem：ＳＤＰ）を有限回反復して解いて最終的に得られた解と一致する。それらの半正定値計画問題は主双対内点法などを用いて解くことができるので、目的とするｗを導出することができる。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】００２５
【補正方法】変更
【補正の内容】
【００２５】
３−３．数理計画問題によるオフセットの導出
ここでオフセットを導出するための数理計画問題について説明する。
母集団データ群が同一平面上にない４つの磁気データで構成されている場合、母集団データ群が分布する球面は統計的手法を用いることなく一意に特定される。この球面の中心の位置ベクトルｃ＝（ｃx、ｃy、ｃz）は連立方程式（８）を解くことによって得られる。尚、３変数に対して等号制約が４つあるが、等号制約の１つは冗長になっているため方程式（８）は必ず解を持つ。
【数７】
2011180097.tif 000028
ただし、
【数８】
2011180097.tif 000029
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】００２８
【補正方法】変更
【補正の内容】
【００２８】
しかし、３次元磁気センサ４の測定誤差を考慮すると、現実には、方程式（１１）が解を持つことはまれである。そこで、磁気データ群が真のオフセットから見て等角度間隔に分布していると仮定し、統計的な手法により尤も確からしい球面の中心を得るために、次式（１２）で定義されるベクトルｅを導入する。
【数１１】
2011180097.tif 000030