(57)【特許請求の範囲】
【請求項１】
磁気センサから出力される磁気データを順次入力する磁気データ入力手段と、
前記磁気データのオフセットを更新するために複数の前記磁気データを母集団データ群として蓄積する蓄積手段と、
前記オフセットを更新するオフセット更新手段と、
を備え、
更新後の前記オフセットは、前記母集団データ群を用いて導出される第一オフセットと更新前の前記オフセットとを前記母集団データ群の主値に対応する固有ベクトルの方向成分毎に重み付け加算したベクトルであって、
前記第一オフセットは、前記母集団データ群の最大の主値以外の主値に対応する固有ベクトルの方向成分について、前記オフセットの更新回数に対して単調減少する関数である重み付け係数によって重み付けされ、前記母集団データ群の最大の主値に対応する固有ベクトルの方向成分については、前記重み付け係数によっては重み付けされない、
磁気データ処理装置。
【請求項２】
前記オフセット更新手段は、前記母集団データ群の分布の広さを示す分布指数を導出し、前記分布指数が所定範囲にある場合に前記オフセットを更新する、
請求項１に記載の磁気データ処理装置。
【請求項３】
前記重み付け係数を初期化する初期化手段をさらに備える、
請求項１または２に記載の磁気データ処理装置。
【請求項４】
前記第一オフセットは、更新前の前記オフセットを用いずに前記母集団データ群から導出される第二オフセットの更新前の前記オフセットに対する位置ベクトルであって前記母集団データ群の分布の主軸方向の基本ベクトル群の一次結合である位置ベクトルの各係数を前記母集団データ群の分布の主値の比に応じて重み付けした値を係数とする前記基本ベクトル群の一次結合を補正ベクトルとするとき、更新前の前記オフセットと前記補正ベクトルの一次結合である、
請求項１から３のいずれか一項に記載の磁気データ処理装置。
【請求項５】
前記重み付け係数ｇは、前記オフセットの更新済み回数をｔ、初期値ｇ０の範囲を０＜ｇ０≦１、定数βの範囲を０＜β＜１とするとき、
ｇ＝ｇ０βｔである、
請求項１から４のいずれか一項に記載の磁気データ処理装置。
【請求項６】
前記磁気センサをさらに備える、
請求項１から５のいずれか一項に記載の磁気データ処理装置。
【請求項７】
磁気センサから出力される磁気データを順次入力し、
前記磁気データのオフセットを更新するために複数の前記磁気データを母集団データ群として蓄積し、
前記オフセットを更新する、
ことを含み、
更新後の前記オフセットは、前記母集団データ群を用いて導出される第一オフセットと更新前の前記オフセットとを前記母集団データ群の主値に対応する固有ベクトルの方向成分毎に重み付け加算したベクトルであって、
前記第一オフセットは、前記母集団データ群の最大の主値以外の主値に対応する固有ベクトルの方向成分について、前記オフセットの更新回数に対して単調減少する関数である重み付け係数によって重み付けされ、前記母集団データ群の最大の主値に対応する固有ベクトルの方向成分については、前記重み付け係数によっては重み付けされない、
磁気データ処理方法。
【請求項８】
磁気センサから出力される磁気データを順次入力する磁気データ入力手段と、
前記磁気データのオフセットを更新するために複数の前記磁気データを母集団データ群として蓄積する蓄積手段と、
前記オフセットを更新するオフセット更新手段と、
してコンピュータを機能させ、
更新後の前記オフセットは、前記母集団データ群を用いて導出される第一オフセットと更新前の前記オフセットとを前記母集団データ群の主値に対応する固有ベクトルの方向成分毎に重み付け加算したベクトルであって、
前記第一オフセットは、前記母集団データ群の最大の主値以外の主値に対応する固有ベクトルの方向成分について、前記オフセットの更新回数に対して単調減少する関数である重み付け係数によって重み付けされ、前記母集団データ群の最大の主値に対応する固有ベクトルの方向成分については、前記重み付け係数によっては重み付けされない、
磁気データ処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は磁気データ処理装置、磁気データ処理方法および磁気データ処理プログラムに関し、特に磁気データのオフセットを補正する技術に関する。
【背景技術】
【０００２】
従来、携帯型電話機、車両等の移動体に搭載され、地磁気の方向を検出する磁気センサが知られている。磁気センサは、磁界のベクトルを互いに直交する成分に分解して検出するための磁気センサモジュールを備えている。磁気センサの出力である磁気データは、そのような磁気センサモジュールのそれぞれの出力の組み合わせからなり、互いに直交する単位ベクトルの一次結合であるベクトルデータである。磁気データの方向と大きさが磁気センサが検出している磁界の方向と大きさである。磁気データ処理装置が磁気データに基づいて方位を導出するとき、移動体の着磁や磁気センサ自体の温度特性による測定誤差を打ち消すために磁気データを補正する処理が必要である。この補正処理の操作値はオフセットと呼ばれる（たとえば特許文献１、２参照）。
【０００３】
正確なオフセットを導出するためには複数の磁気データからなる母集団データ群が広い範囲に分布していることが望ましい。このため、母集団データ群の分布の広さを示す分布指数を導出し、分布指数と閾値とを比較してオフセット更新の要否が判定されることがある。母集団データ群が蓄積される時間内における磁気センサの回転角度が大きくなると母集団データ群の分布が広くなる。
【特許文献１】国際公開第２００５／０６１９９０号公報
【特許文献２】特開平１０−１５３４２８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
ところで磁気センサのオフセットが初期値に設定されている状態や動作環境が大きく変わった状態では最初のオフセット更新が行われるまで方位の導出誤差が大きくなる。たとえばＰＮＤ（Personal Navigation Device）を取り付ける車両を変えると車両の着磁状態が大きく変化するため、ＰＮＤが別の車両に取り付けられてからオフセットが更新されるまでの期間は方位の導出誤差が大きくなる。したがってオフセットが初期値に設定されているときや動作環境が大きく変わったときは、母集団データ群の分布が狭くてもオフセットを早く更新することが望ましい。しかし、分布が狭い母集団データ群に基づいてオフセットを更新し続けると、かえって方位の導出誤差が大きくなることもあるという問題がある。
【０００５】
本発明はこの問題を解決するために創作されたものであって、オフセットが初期値に設定されている状態や動作環境が大きく変わった状態ではオフセット更新を早めつつ、中長期的に誤差の少ないオフセットを導出することを目的とする。
【課題を解決するための手段】
【０００６】
（１）上記目的を達成するための磁気データ処理装置は、磁気センサから出力される磁気データを順次入力する磁気データ入力手段と、磁気データのオフセットを更新するために複数の磁気データを母集団データ群として蓄積する蓄積手段と、母集団データ群を用いて導出される第一オフセットと更新前のオフセットとの一次結合であってオフセットの更新回数に対して単調減少する関数である重み付け係数によって第一オフセットを重み付けした一次結合にオフセットを更新するオフセット更新手段と、を備える。
この磁気データ処理装置によると、更新によるオフセットの変動幅を統計的に減少させることができるため、磁気データ処理装置が起動した直後のオフセット更新を早めつつ、中長期的に誤差の少ないオフセットを導出することができる。ここで第一オフセットは母集団データ群を用いて導出されるものであればよく、更新前のオフセットを合わせて用いて導出されるものであってもよい。また重み付け係数はオフセットの更新回数に対して単調減少する関数であるが、オフセットの更新回数を変数とする関数に限らず、重み付け係数そのものがオフセットの更新回数に対して単調減少するものであればよい。
【０００７】
（２）前記オフセット更新手段は、前記母集団データ群の分布の広さを示す分布指数を導出し、前記分布指数が所定範囲にある場合に前記オフセットを更新することが望ましい。分布指数によって示される母集団データ群の分布の信頼性の閾となる範囲を適切に設定することにより、オフセットが初期値に設定されている状態や動作環境が大きく変わった状態ではオフセット更新を早めつつ、中長期的に誤差の少ないオフセットを導出することができる。
【０００８】
（３）更新によるオフセットの変動幅が統計的に減少し続けると、真のオフセットが大きく変わった状況においてはオフセットの誤差が大きい状態が長く継続する。したがって、磁気データ処理装置は重み付け係数を初期化する初期化手段をさらに備えることが望ましい。重み付け係数を初期化することによりオフセットの変動幅を最大化できるため、真のオフセットが大きく変わった直後におけるオフセットの誤差を低減できる。重み付け係数の初期化は、ユーザの操作に応じたものでもよいし、初期化すべき状況を判定することにより自動化してもよい。
【０００９】
（４）第一オフセットは、更新前のオフセットを用いずに母集団データ群から導出される第二オフセットの更新前のオフセットに対する位置ベクトルであって母集団データ群の分布の主軸方向の基本ベクトル群の一次結合である位置ベクトルの各係数を母集団データ群の分布の主値の比に応じて重み付けした値を係数とする基本ベクトル群の一次結合を補正ベクトルとするとき、更新前のオフセットと補正ベクトルの一次結合であることが望ましい。
このように定義される第一オフセットと補正前のオフセットとの一次結合としてオフセットを導出すると、オフセット更新が起こる閾となる母集団データ群の分布の広さを狭く設定したとしても、分布が狭い方向すなわち分布の主値が小さい方向については、分布が広い方向すなわち分布の主値が大きい方向に比べると、更新によるオフセットの変動幅が小さくなる。このため、オフセット更新が起こる閾となる母集団データ群の分布の広さを狭く設定することによるオフセットの誤差の拡大を抑制することが出来る。
【００１０】
（５）重み付け係数ｇは、オフセットの更新済み回数をｔ、初期値ｇ０の範囲を０＜ｇ０≦１、定数βの範囲を０＜β＜１とするとき、例えばｇ＝ｇ０βｔであることが望ましい。この場合、重み付け係数を再帰的に導出できるため重み付け係数を導出する処理の効率を高めることが出来る。
【００１１】
（６）磁気データ処理装置はさらに磁気センサを備えてもよい。
尚、請求項に記載された動作の順序は、技術的な阻害要因がない限りにおいて記載順に限定されず、同時に実行されても良いし、記載順の逆順に実行されても良いし、連続した順序で実行されなくても良い。また請求項に記載された各手段の機能は、構成自体で機能が特定されるハードウェア資源、プログラムにより機能が特定されるハードウェア資源、又はそれらの組み合わせにより実現される。また、これら各手段の機能は、各々が物理的に互いに独立したハードウェア資源で実現されるものに限定されない。さらに、本発明は磁気データ処理方法としても磁気データ処理プログラムとしても磁気データ処理プログラムの記録媒体としても成立する。むろん、そのコンピュータプログラムの記録媒体は、磁気記録媒体であってもよいし光磁気記録媒体であってもよいし、今後開発されるいかなる記録媒体であってもよい。
【発明を実施するための最良の形態】
【００１２】
以下、本発明の実施の形態を添付図面を参照しながら次の順に説明する。尚、各図において対応する構成要素には同一の符号が付され、重複する説明は省略される。
＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊
１．ハードウェア構成
２．ソフトウェア構成
３．磁気データ処理方法
４．他の実施形態
＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊
【００１３】
１．ハードウェア構成
図１は本発明の磁気データ処理装置の一実施形態を示すブロック図である。磁気データ処理装置１０を備えたナビゲーション装置１は自動車などの任意の車両に取り付けられるＰＮＤである。ナビゲーション装置１は互いに直交するｘ、ｙ、ｚの３方向について磁界の強さを検出することによって地磁気の方向を検出し、ユーザに方位を報知する。
【００１４】
磁気データ処理装置１０は磁気センサ２と制御部４とで構成されている。制御部４は磁気センサ２から磁気データを入力し、オフセット補正された磁気データに基づいて進行方位や走行予定経路を画像情報や音声情報として運転者に報知する。制御部４によって制御されるディスプレイ６には進行方位や走行予定経路を示す画像が表示される。制御部４によって制御されるスピーカ７からは進行方位や走行予定経路を示す音声が出力される。
【００１５】
磁気センサ２は、磁界ベクトルのｘ、ｙ、ｚ方向成分をそれぞれ検出するｘ軸センサ２１とｙ軸センサ２２とｚ軸センサ２３とを備えた３次元磁気センサである。ｘ軸センサ２１、ｙ軸センサ２２、ｚ軸センサ２３は、いずれも磁気抵抗素子、ホール素子等で構成され、指向性のある１次元磁気センサであればどのようなものであってもよい。ｘ軸センサ２１、ｙ軸センサ２２およびｚ軸センサ２３は、それぞれの感度方向が互いに直交するように固定されている。ｘ軸センサ２１、ｙ軸センサ２２およびｚ軸センサ２３の出力は、時分割して磁気センサＩ／Ｆ（Inter Face）２４に入力される。磁気センサＩ／Ｆ２４では、ｘ軸センサ２１、ｙ軸センサ２２およびｚ軸センサ２３からの入力が増幅されＡＤ変換される。磁気センサＩ／Ｆ２４から出力されるディジタルの磁気データはバス５を介して制御部４に入力される。
【００１６】
制御部４は、ＣＰＵ４０とＲＯＭ４２とＲＡＭ４４と制御Ｉ／Ｆ４３とを備えている所謂コンピュータである。制御部４はユーザがナビゲーション装置１を操作するための各種のキーを備えた操作部８からの入力によって操作される。ＣＰＵ４０はナビゲーション装置１の全体制御を司るプロセッサである。制御部４と磁気センサ２、操作部８などの周辺装置とはバス５および制御Ｉ／Ｆ４３を介してデータを送受する。ＲＯＭ４２は、ＣＰＵ４０によって実行される磁気データ処理プログラムや、ナビゲーション装置の機能を実現するための種々のプログラムが格納されている、不揮発性の記憶媒体である。ＲＡＭ４４はＣＰＵ４０の処理対象となるデータを一時的に保持する揮発性の記憶媒体である。磁気データ処理装置１０と磁気センサ２とを１チップの磁気データ処理装置として構成してもよい。
【００１７】
２．ソフトウェア構成
図２は、磁気データ処理プログラム９０の構成を示すブロック図である。磁気データ処理プログラム９０は、ナビゲーションプログラム９８に方位データを出力するためのプログラムであって、ＲＯＭ４２に格納されている。方位データは地磁気の方向を示すベクトルデータである。磁気データ処理プログラム９０は、バッファ管理モジュール９２、オフセット更新モジュール９４、方位導出モジュール９６、初期化モジュール９３等のモジュール群で構成されている。
【００１８】
バッファ管理モジュール９２は、磁気センサ２から順次出力される磁気データを入力し、入力した磁気データをオフセット更新に用いるためにバッファに蓄積するプログラム部品であって、制御部４を入力手段及び蓄積手段として機能させる。バッファとしてのＲＡＭ４４に蓄積される磁気データ群がオフセット更新に用いられる母集団データ群である。
【００１９】
オフセット更新モジュール９４は、バッファ管理モジュール９２によって保持されている母集団データ群と、旧オフセットと、重み付け係数とに基づいて新オフセットを導出し、更新前の旧オフセットを新オフセットに更新するプログラム部品であって、制御部４をオフセット更新手段として機能させる。オフセット更新モジュール９４によって更新されるオフセットおよび重み付け係数は不揮発性記憶媒体であるＲＯＭ４２に格納される。このためオフセットおよび重み付け係数は磁気データ処理装置１０の電源がダウンしてもＲＯＭ４２によって最終の更新状態で記憶される。
【００２０】
方位導出モジュール９６は、磁気センサ２から順次出力される磁気データをオフセット更新モジュール９４が保持しているオフセットによって補正して方位データを生成するプログラム部品である。具体的には、方位導出モジュール９６は、ベクトルデータである磁気データの各成分からオフセットの各成分を引き算して得られるベクトルデータを方位データとして出力する。
初期化モジュール９３は、オフセット更新モジュール９４がオフセットの更新に用いる重み付け係数を初期値にリセットするプログラム部品であって、制御部４を初期化手段として機能させる。初期化モジュール９３は操作部８のキー操作に応じて重み付け係数を初期値にリセットする。
【００２１】
ナビゲーションプログラム９８は方位データが示す現在進行方位と地図情報と現在地点情報とに基づいて右左折予定交差点で右左折方向を運転者に報知する周知のプログラムである。尚、方位データは、単に東西南北を文字や矢印や音声で報知するためにのみ用いられてもよいし、ディスプレイ６に表示される地図のヘディングアップ処理に用いられてもよい。
【００２２】
３．磁気データ処理方法
次に磁気データ処理装置１０による磁気データ処理方法について図３を参照しながら説明する。
はじめに、第一オフセットｃ'を重み付けするための重み付け係数ｇを１以下の正値ｇ０に初期化する（ステップＳ１）。図４は母集団データ群Ｑ、第一オフセットｃ'、更新前のオフセットｃ０、第二オフセットｃ"、補正ベクトルｓ、第二オフセットｃ"の位置ベクトルｈ、新たなオフセットとなるオフセット候補ｃの関係を表したベクトル図である。第一オフセットｃ'は更新前のオフセットｃ０と補正ベクトルｓとの和である。補正ベクトルｓは更新前のオフセットｃ０に対する第二オフセットｃ"の位置ベクトルであって母集団データ群Ｑの分布の主軸方向α、β、γの基本ベクトル群の一次結合である位置ベクトルｈの各係数を母集団データ群Ｑの分布の主値の比に応じて重み付けした値を係数とする基本ベクトル群の一次結合である。尚、第一オフセットｃ'第二オフセットｃ"、補正ベクトルｓ、位置ベクトルｈはいずれも本実施形態のアルゴリズムを幾何学的に説明するための仮想的なベクトルであって、計算によって導出する必要がないものである。
【００２３】
次にバッファ管理モジュール９２は磁気データｑをバッファに入力する（ステップＳ２）。自動車の進行方位がほとんど変化していない状況において、短い時間間隔で順次磁気センサ２から磁気データを入力すると、連続入力される２つの磁気データ間の距離が近くなる。距離が互いに近い複数の磁気データが限られた容量のバッファに格納されることは、メモリ資源の浪費であるし、無駄なバッファの更新処理を発生させる。また、互いの距離が近い磁気データ群に基づいて新オフセットを導出すると、偏った分布を持つ母集団データ群に基づいて精度の低い新オフセットが導出される可能性がある。そこで、バッファの更新必要性が次のように判定されてもよい。例えば、直前にバッファに格納された磁気データと最後に入力された磁気データとの距離が、あるしきい値より小さければ、バッファの更新必要性がないと判定され、最後に入力された磁気データはバッファに格納されることなく破棄される。
【００２４】
次にバッファ管理モジュール９２は新オフセットを導出するために必要な規定個数の磁気データｑi＝（ｑｉｘ，ｑｉｙ，ｑｉｚ）（ｉ＝１，２，・・・，Ｎ）がバッファに蓄積されたかを判定する（ステップＳ３）。すなわち、母集団データ群Ｑの要素数は予め決められている。所定個数の磁気データがバッファに蓄積されるまで、ステップＳ２とステップＳ３の処理が繰り返される。規定個数の磁気データが母集団データ群Ｑとしてバッファに蓄積されると、オフセット更新モジュール９４によるオフセット更新処理に進む。
【００２５】
オフセット更新モジュール９４は、まず母集団データ群Ｑの分布指数を導出するための行列Ａを生成する（Ｓ４）。行列Ａは式（１）、（２）、（３）で定義される対称行列である。
【数１】
0005621181.tif 000002
行列Ａは、式（４）とも書けるため、分散共分散行列のＮ倍に相当する。
【数２】
0005621181.tif 000003
【００２６】
次にオフセット更新モジュール９４は行列Ａの固有値λ１、λ２、λ３および固有値の比λ２／λ１を導出する（ステップＳ５）。固有値λ１、λ２、λ３はλ１＞λ２＞λ３の関係になるように定めている。最大の固有値λ１、固有値の比λ２／λ１はいずれも母集団データ群Ｑの分布の広さを示す分布指数である。固有値の比λ２／λ１は母集団データ群Ｑの主値の比であるから分布が二次元的であるか直線的であるかを示している。分布範囲が直線状であるとき固有値の比λ２／λ１は最も小さくなり、分布範囲が曲線状、円状になるにしたがって固有値の比λ２／λ１は大きくなる。最大の固有値λ１は分布範囲の最大径に相関する。すなわち母集団データ群Ｑの分布が広くなるほどλ２／λ１もλ１も大きくなる。
【００２７】
次にオフセット更新モジュール９４は固有値λ１、固有値の比λ２／λ１をそれぞれ閾値と比較することによって母集団データ群Ｑの分布が旧オフセットよりも確からしい新たなオフセットを導出できる程度に十分広いか判定する（ステップＳ６）。固有値λ１、固有値の比λ２／λ１に対する閾値を小さくするほど最初のオフセット更新の実行時期が早まる。母集団データ群Ｑの分布が狭い場合、母集団データ群Ｑが破棄され、ステップＳ２の処理に戻る。
【００２８】
母集団データ群Ｑの分布が十分広い場合、オフセット更新モジュール９４は第一オフセットｃ'と更新前のオフセット（旧オフセット）ｃ０とを重み付け係数ｇによって重み付けして加算したベクトルであるオフセット候補ｃを導出するための連立一次方程式を生成する（ステップＳ７）。この連立方程式は次式（５）で表される。
Ｂｘ＝ｂ・・・（５）
ただし、
【数３】
0005621181.tif 000004
である。尚、固有値λ１、λ２、λ３に対応する大きさ１に正規化された固有ベクトルをｕ１、ｕ２、ｕ３としている。すなわちｕ１、ｕ２、ｕ３の方向は母集団データ群の分布の主軸方向α、β、γに一致する。α１、α２は連立方程式を解くために必要な変数であるが最終的には不要となる変数である。式（５）、（６）、（７）、（８）において固有ベクトルｕ２の方向については重み付け係数ｇによって第二オフセットｃ"の位置ベクトルｈを重み付けしているが、最大の主値に対応する固有ベクトルｕ１の方向については位置ベクトルｈを重み付け係数ｇでは重み付けしていない。これは母集団データ群の分布が最も広くなる方向については最大限、母集団データ群を用いてオフセットを補正するためである。ただし、中間の主値に対応する固有ベクトルｕ２の方向や最小の主値に対応する固有ベクトルｕ３の方向についても重み付け係数ｇによって第二オフセットｃ"の位置ベクトルｈを重み付けしてもよい。
ｆ（λ２／λ１）は、補正ベクトルｓが母集団データ群Ｑの分布の主軸方向α、β、γの基本ベクトル群の一次結合である位置ベクトルｈの各係数を母集団データ群の分布の主値の比（λ２／λ１）に応じて重み付けした値を係数とする基本ベクトル群の一次結合になるように０≦ｍ２＜１の範囲で例えば式（１０）のように定めればよい（ｋ２は１以上の定数である。）。ｍ３はλ３／λ１の単調減少関数として定めてもよいが、ナビゲーション装置１が搭載される車両はほぼ平坦な路面上を運動することから、１に固定することが望ましい。
【数４】
0005621181.tif 000005
【００２９】
重み付け係数ｇと第一オフセットｃ'と更新前のオフセットｃ０の関係は図４に示すとおりである。尚、仮にｍ３をλ３／λ１の単調減少関数として定めた場合、第一オフセットｃ'の値域は点線のハッチングに示す領域になる。重み付け係数ｇを１とする連立方程式（５）の解が第一オフセットｃ'である。連立方程式（５）の解として第一オフセットｃ'を導出する方法については、本件発明者が発明者である特開２００７−３２７９３４号公報および特開２００７−２４０２７０号公報に詳細に記載されているため説明を省略する。
【００３０】
次にオフセット更新モジュール９４は連立方程式（５）の解としてオフセット候補ｃを導出する（ステップＳ８）。
【００３１】
次にオフセット更新モジュール９４はオフセット候補ｃから母集団データ群Ｑに含まれる磁気データまでの距離の分散を導出し、導出した分散と規定の閾値との比較によってオフセット候補ｃを検証する（ステップＳ９）。オフセット候補ｃの検証結果が不合格の場合、母集団データ群Ｑが破棄され、ステップＳ２の処理に戻る。
【００３２】
オフセット候補ｃの検証結果が合格の場合、オフセット更新モジュール９４は旧オフセットをオフセット候補ｃに更新する（ステップＳ１０）。
【００３３】
次にオフセット更新モジュール９４は重み付け係数ｇにβ（０＜β＜１）を掛け合わせた値に重み付け係数ｇを更新する（ステップＳ１１）。すなわち、オフセットの更新済み回数をｔとするとき、ｇは式（１１）のようにｔに対して単調減少するｔの関数として表される。
ｇ（ｔ）＝ｇ０βｔ・・・（１１）
ｇ０はｇの初期値であって０＜ｇ0≦１である。ｇ０をβと一致させてもよい。このように重み付け係数ｇを定めることにより、再帰的な単純な乗算によって重み付け係数ｇを導出できるため、重み付け係数ｇの導出に必要な計算量と記憶容量を低減できる。
【００３４】
ステップＳ１１の処理において重み付け係数ｇがオフセットの更新回数に対して単調減少するため、オフセット更新を繰り返す度に、統計的には、最大の主値に対応する主軸方向以外の方向にオフセットが動きにくくなる。すなわち例えば図５に示すように、オフセットの更新回数がｔｒ−１に到達するまでの期間、オフセット更新を繰り返す度にオフセット更新によるβ方向へのオフセットの変動幅が統計的に減少する。そして、オフセットの初期値と真のオフセットの差が大きい状態であっても最初のオフセット更新によってオフセットの誤差を大幅に減少させることができるとともに、特定の移動体の着磁状態や温度の変動量は異なる移動体の着磁状態や温度の差よりも一般に十分小さいため、２回目以後のオフセット更新によるオフセットの変動幅が小さくても真のオフセットの変動にオフセット候補ｃを追従することができる。さらに、オフセット更新によるオフセットの変動幅が小さくてもオフセット更新を繰り返すことによって中長期的にはオフセットの誤差を小さくすることが出来る。そもそも最大の主値に対応する主軸方向であるα方向について重み付け係数ｇによる重み付けをしなければ、α方向についてはオフセットの変動幅が統計的に小さくならない。また最大の主値に対応する主軸方向であるα方向はオフセット更新毎に変わるため、α方向について重み付け係数ｇによる重み付けをしなければ実質的に問題にはならない。またナビゲーション装置１の移動体への取付後にその移動体の着磁状態や温度が大きく変動することはほとんどないため、オフセットに誤差がある状態が継続するとしても誤差が小さいために問題にはならない。しかし、仮に全ての主軸方向α、β、γについて重み付け係数ｇによる重み付けをする場合には、オフセット更新によるオフセットの変動幅があまりに小さくなると、ナビゲーション装置１が取り付けられている移動体の着磁状態や温度変化にともなう真のオフセットの大きな変動にもオフセット候補ｃ０が全く追従しなくなるため、重み付け係数ｇには下限を設けた方がよい。
【００３５】
ここでオフセットの更新回数がｔｒ−１からｔｒに増加するまでの期間中に、ナビゲーション装置１が別の車両に付け替えられるなどの原因によって移動体の着磁状態や温度が大きく変動すると仮定する。この場合、オフセットの更新回数がｔｒ−１からｔｒに増加するまでの期間中はオフセットの誤差が大きくなるため、ｔｒ回目のオフセット更新では大幅にオフセットを変動させることが望ましい。
そこで初期化モジュール９３は重み付け係数ｇを初期値にリセットすることにより、オフセット更新によるオフセットの変動量を最大化する。例えばｇの初期値ｇ０を１とすると、ｔｒ回目のオフセット更新ではオフセット候補ｃが第一オフセットｃ'となる。そしてｔｒ＋１回目以降のオフセット更新では再びオフセット更新によるオフセットの変動幅がオフセット更新を繰り返す度に統計的に減少する。
【００３６】
また移動体の着磁状態や温度が大きく変動した後の最初のオフセット更新は、なるべく早くに実行することが望ましい。したがって、ステップＳ６において母集団データ群Ｑの分布の広さを判定するとき、閾値はなるべく狭い分布範囲に対応付けることが望ましい。そして本実施形態によると、たとえその閾値を狭い分布範囲に対応付けたとしても、分布が狭い方向についてはオフセット更新によるオフセットの変動量が小さくなるため、その影響は軽微である。
【００３７】
４．他の実施形態
本発明は２次元の磁気データに対しても適用できる。磁気データが二次元の場合、次の式（１２）、式（１３）、式（１４）によって定義されるＢ、ｂ、ｘを用いてステップＳ７において連立方程式を生成すればよい。尚、ρは連立方程式を解くために便宜的に用いる変数である。
【数５】
0005621181.tif 000006
【００３８】
図６は磁気データが二次元であって、かつ最大の固有値λ１に対応する固有ベクトルの方向αについても補正ベクトルｓの係数をλ１の大きさに応じて調節する場合における第一オフセットｃ'、第二オフセットｃ"、更新前のオフセットｃ０、オフセット候補ｃの関係を示すベクトル図である。この場合、第一オフセットｃ'は母集団データ群Ｑの分布に応じて点線のハッチングで示した領域内に設定される。
【００３９】
また重み付け係数ｇの変動幅を母集団データ群の広さに応じて変動させてもよい。すなわち例えば、重み付け係数ｇを一定の閾値を超える分布指数λ２／λ１の積算値としてもよい。また例えば、重み付け係数ｇを母集団データ群Ｑの分布の一定の閾値を超える中心角の積算値としてもよい。またこの中心角は移動体の回転角度であるため、その回転角度をジャイロセンサなどの出力から導出してもよい。すなわち、重み付け係数ｇはオフセットの更新回数を変数とする関数でなくてもよい。
また、オフセット更新が規定回数繰り返された後に重み付け係数ｇを１に固定するとともに、ステップＳ６において母集団データ群Ｑの分布の広さを判定するときに用いる閾値を相対的に広い範囲に対応する閾値に変更してもよい。尚、重み付け係数ｇが初期値にリセットされ、リセット後に再び重み付け係数ｇを減少させるのであれば、重み付け係数ｇのリセットに応じて母集団データ群Ｑの分布の広さを判定するときに用いる閾値もリセットすることが望ましい。
【００４０】
また本発明は更新前のオフセットと、オフセットを更新するための複数の磁気データとを用いて新たなオフセットを導出する様々な形態で実施できる。例えば、母集団データ群のみから求まる上述の第二オフセットｃ"と更新前のオフセットｃ０と重み付け係数ｇとを用い、式（１５）を満たす新たなオフセットとなるオフセット候補ｃを導出してもよい。この場合における第二オフセットｃ"と更新前のオフセットｃ０とオフセット候補ｃとの関係は図７に示すベクトル図の通りとなる。
【数６】
0005621181.tif 000007
また初期化モジュール９３は重み付け係数を初期化すべき状況を判定し、重み付け係数の初期化を自動化してもよい。例えば、ステップＳ９においてもう１つの閾値を用い、オフセット候補ｃから母集団データ群Ｑに含まれる磁気データまでの距離の分散がその閾値よりも大きい場合には、重み付け係数ｇを初期化する。すなわち、移動体の着磁状態や温度が大きく変動しない限り超えない可能性が高い閾値を設定しておき、オフセット候補ｃから母集団データ群Ｑに含まれる磁気データまでの距離の分散がその閾値を超える場合には重み付け係数ｇを初期化するのである。
尚、本発明の技術的範囲は、上述した実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々変更を加え得ることは勿論である。
【図面の簡単な説明】
【００４１】
【図１】本発明の実施形態にかかるブロック図。
【図２】本発明の実施形態にかかるブロック図。
【図３】本発明の実施形態にかかるフローチャート。
【図４】本発明の実施形態にかかるベクトル図。
【図５】本発明の実施形態にかかる折れ線グラフ。
【図６】本発明の実施形態にかかるベクトル図。
【図７】本発明の実施形態にかかるベクトル図。
【符号の説明】
【００４２】
１：ナビゲーション装置、２：磁気センサ、４：制御部、５：バス、６：ディスプレイ、７：スピーカ、８：操作部、１０：磁気データ処理装置、９０：磁気データ処理プログラム、９２：バッファ管理モジュール、９３：初期化モジュール、９４：オフセット更新モジュール、９６：方位導出モジュール、９８：ナビゲーションプログラム、ｃ：オフセット候補、ｃ'：第一オフセット、ｃ"：第二オフセット、ｃ０：更新前のオフセット、ｆ：補正ベクトル、ｈ：位置ベクトル、２４：磁気センサＩ／Ｆ、４３：制御Ｉ／Ｆ、Ｑ：母集団データ群
【図１】
0005621181.tif 000008
【図２】
0005621181.tif 000009
【図３】
0005621181.tif 000010
【図４】
0005621181.tif 000011
【図５】
0005621181.tif 000012
【図６】
0005621181.tif 000013
【図７】
0005621181.tif 000014