(57)【要約】【課題】推定した整数波数の妥当性を、簡便かつ有効に判定し、整数波数及び受信機位置の推定の信頼性を高める。【解決手段】推定状態判定部１３０は、観測量取得部が取得した観測量の数（観測量衛星数）と、実数波数推定部（波数位置推定部１１０）が推定した実数波数の数（実数波数衛星数）と、整数波数推定部（波数位置推定部１１０）が推定した整数波数の数とに基づいて、複数の判定基準に基づいて、上記実数波数推定部（波数位置推定部１１０）が推定した実数波数が正しいか否かを判定する。実数波数推定部（波数位置推定部１１０）は、次回の推定において、推定状態判定部１３０が判定した結果に基づいて、実数波数を推定する。【選択図】図３
2010112724.tif 000002
【特許請求の範囲】
【請求項１】
複数の測位衛星のそれぞれについて観測した観測量に基づいて、上記複数の測位衛星のそれぞれについての電波の波数を推定する波数推定装置において、
観測量取得部と、実数波数推定部と、整数波数推定部と、推定状態判定部とを有し、
上記観測量取得部は、上記複数の測位衛星のそれぞれについての観測量を繰り返し取得し、
上記実数波数推定部は、上記観測量取得部が取得した観測量に基づいて、上記複数の測位衛星のそれぞれについて、実数波数を推定し、上記複数の測位衛星のうち、上記実数波数の推定に成功した測位衛星についての実数波数を出力し、
上記整数波数推定部は、上記実数波数推定部が出力した実数波数に基づいて、上記複数の測位衛星のそれぞれについて、整数波数を推定し、上記複数の測位衛星のうち、上記整数波数の推定に成功した測位衛星についての整数波数を出力し、
上記推定状態判定部は、上記観測量取得部が取得した観測量の数と、上記実数波数推定部が出力した実数波数の数と、上記整数波数推定部が出力した整数波数の数とに基づいて、複数の判定基準に基づいて、上記実数波数推定部が推定した実数波数が正しいか否かを判定し、
上記実数波数推定部は、次回の推定において、更に、上記推定状態判定部が判定した結果に基づいて、実数波数を推定することを特徴とする波数推定装置。
【請求項２】
上記実数波数推定部は、推定した実数波数を前回推定実数波数として記憶し、記憶した前回推定実数波数と、上記観測量取得部が新たに取得した観測量とに基づいて、実数波数を推定し、上記推定状態判定部が、上記複数の判定基準のうち第一の判定基準により、上記実数波数が正しくないと判定した場合に、記憶した前回推定実数波数を初期化し、上記推定状態判定部が、上記複数の判定基準のうち第二の判定基準により、上記実数波数が正しくないと判定した場合に、上記実数波数の推定における上記前回推定実数波数の重みを少なくすることを特徴とする請求項１に記載の波数推定装置。
【請求項３】
上記実数波数推定部は、カルマンフィルタを用いて、上記実数波数を推定し、上記カルマンフィルタで用いられる誤差共分散行列の値を記憶し、上記推定状態判定部が、上記複数の判定基準のうち第二の判定基準により、上記実数波数が正しくないと判定した場合に、記憶した誤差共分散行列の値を大きくすることを特徴とする請求項１または請求項２に記載の波数推定装置。
【請求項４】
上記推定状態判定部は、上記第一の判定基準として、所定の回数または所定の時間以上連続して、上記実数波数推定部が推定した実数波数の数と、上記整数波数推定部が推定した整数波数の数との差が、所定の閾値より大きい場合に、上記実数波数推定部が推定した実数波数が正しくないと判定することを特徴とする請求項２または請求項３に記載の波数推定装置。
【請求項５】
上記推定状態判定部は、上記第二の判定基準として、所定の回数または所定の時間以上連続して、上記整数波数推定部が推定した整数波数の数が、所定の閾値より小さい場合に、上記実数波数推定部が推定した実数波数が正しくないと判定することを特徴とする請求項２乃至請求項４のいずれかに記載の波数推定装置。
【請求項６】
上記波数推定装置は、更に、整数波数棄却部を有し、
上記推定状態判定部は、更に、上記観測量取得部が取得した観測量の数と、上記実数波数推定部が出力した実数波数の数と、上記整数波数推定部が出力した整数波数の数とに基づいて、上記整数波数推定部が推定した整数波数が正しいか否かを判定し、
上記整数波数棄却部は、上記推定状態判定部が、上記整数波数が正しくないと判定した場合に、上記整数波数推定部が出力した整数波数を棄却することを特徴とする請求項１乃至請求項５のいずれかに記載の波数推定装置。
【請求項７】
上記推定状態判定部は、所定の回数または所定の時間以上連続して、上記整数波数推定部が推定した整数波数の数が所定の閾値より大きく、かつ、上記実数波数推定部が推定した実数波数の数と、上記整数波数推定部が推定した整数波数の数との差が、所定の閾値より大きい場合に、上記整数波数推定部が推定した整数波数が正しくないと判定することを特徴とする請求項６に記載の波数推定装置。
【請求項８】
電波受信部と、観測量算出部と、請求項１乃至請求項７のいずれかに記載の波数推定装置と、位置演算部とを有し、
上記電波受信部は、複数の測位衛星のそれぞれが送信した電波を受信し、
上記観測量算出部は、上記電波受信部が受信した電波に基づいて、上記複数の測位衛星のそれぞれについて、観測量を算出し、
上記波数推定装置は、上記観測量算出部が算出した観測量に基づいて、上記実数波数と、上記整数波数とを推定し、
上記位置演算部は、上記観測量算出部が算出した観測量と、上記波数推定装置が推定した実数波数及び整数波数とに基づいて、位置を算出することを特徴とする測位装置。
【請求項９】
観測量取得部と、実数波数推定部と、整数波数推定部と、推定状態判定部とを有する波数推定装置が、複数の測位衛星のそれぞれについて観測した観測量に基づいて、上記複数の測位衛星のそれぞれについての波数を推定する波数推定方法において、
上記観測量取得部が、上記複数の測位衛星のそれぞれについての観測量を繰り返し取得し、
上記実数波数推定部が、上記観測量取得部が取得した観測量に基づいて、上記複数の測位衛星のそれぞれについて、実数波数を推定し、上記複数の測位衛星のうち、上記実数波数の推定に成功した測位衛星についての実数波数を出力し、
上記整数波数推定部が、上記実数波数推定部が出力した実数波数に基づいて、上記複数の測位衛星のそれぞれについて、整数波数を推定し、上記複数の測位衛星のうち、上記整数波数の推定に成功した測位衛星についての整数波数を出力し、
上記推定状態判定部が、上記観測量取得部が取得した観測量の数と、上記実数波数推定部が出力した実数波数の数と、上記整数波数推定部が出力した整数波数の数とに基づいて、複数の判定基準に基づいて、上記実数波数推定部が推定した実数波数が正しいか否かを判定し、
上記実数波数推定部が、次回の推定において、更に、上記推定状態判定部が判定した結果に基づいて、実数波数を推定することを特徴とする波数推定方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、ＧＰＳ（Ｇｌｏｂａｌ  Ｐｏｓｉｔｉｏｎｉｎｇ  Ｓｙｓｔｅｍ）衛星などの測位衛星が送信する電波信号の搬送波位相情報を利用して、受信機位置を計測する衛星測位方式を備えた測位装置において、搬送波の波数を推定する波数推定装置に関する。
【背景技術】
【０００２】
衛星測位方式は、ＧＰＳ衛星などの測位衛星に搭載した送信機が送信する電波信号を用いて受信機位置を計測する。衛星測位方式は、送信機と受信機との間の距離を計測し、複数の衛星のそれぞれの位置と、それぞれの衛星と受信機との間の距離とを用いて、受信機位置を計算する。
送信機と受信機との間の距離を計測する方式には、信号の伝搬時間を計測することにより、送信機と受信機との間の距離（擬似距離）を算出する方式がある。
また、１メートル以下の高い位置計測精度を必要とする場合には、送信信号の搬送波位相情報（以下、搬送波位相）を用いる方式がある。例えば、ＧＰＳ信号の搬送波の波長は、約２０ｃｍであるから、この信号の位相情報を用いることで、衛星と受信機間の距離をミリメートル級の分解能で計測できる。
搬送波位相を用いて距離を計測する場合、整数部分（３６０度を超える部分）の情報、すなわち搬送波波長の整数倍に相当する距離成分は、直接測定できない。搬送波位相の整数部分は、アンビギュイティ、整数バイアス、波数などと呼ばれるが、以下では「波数」と呼ぶ。波数は、直接測定できないので、これを決定する方式が必要である。信号を連続的に観測している場合、波数は一定値になるので、一旦波数を決定できれば、その後連続して観測した観測量により、受信機位置の算出が可能となる。
波数を決定する方法は幾つか知られている。例えば、搬送波位相やこれ以外の情報を用いて波数の実数推定値を計算し、この周囲に存在する整数値の波数候補を探索して信頼性が高い値を見つける。以下、波数の実数推定値を「実数波数」、探索の結果決定された波数（整数値）を「整数波数」と呼ぶ。
【０００３】
また、誤差要因を消去するため、受信機を２台以上設置する場合がある。二つの受信機が、一つの測位衛星の信号を同時に受信し、算出した計測距離の差分を用いることで、受信機間の相対位置（基線もしくは基線ベクトル）を計測する。片方の受信機の正確な位置が事前に計測してあれば、他方の受信機位置が正確に計測できる。位置計測の対象となる受信機を移動局と呼び、移動局位置ベクトルの原点となる受信機を基準局と呼ぶ。この方式は、信号伝搬経路の媒体特性による伝搬時間の変動や、衛星に搭載した送信機間の時計誤差などの誤差要因が、差分によりほぼ消去される結果、高精度の位置計測が可能となる。以下、移動局と基準局との２つの観測量間の差分観測量を「一重差観測量」と呼ぶ。
また、一つの受信機が二つの測位衛星から受信した信号による計測距離の差分を用いることにより、受信機の時計誤差を消去することができる。
更に、二つの受信機が同じ二つの測位衛星から受信した信号による一重差観測量の差分を用いることにより、測位衛星の時計誤差、伝播時間の変動、受信機の時計誤差などの誤差要因を消去する場合もある。一重差観測量の差、すなわち、四つの観測量の差分を「二重差観測量」と呼ぶ。
【０００４】
一重差観測量を用いる場合は、波数の差分を決定する必要があり、二重差観測量を用いる場合は、更に、その差分を決定する必要がある。以下の説明では、波数の差分や、更にその差分も含めて、「波数」と呼ぶ場合がある。
【非特許文献１】Ｐ．Ｙ．Ｃ．Ｈｗａｎｇ「Ｋｉｎｅｍａｔｉｃ  ＧＰＳ：Ｒｅｓｏｌｖｉｎｇ  Ｉｎｔｅｇｅｒ  Ａｍｂｉｇｕｉｔｉｅｓ  Ｏｎ  Ｔｈｅ  Ｆｌｙ」ＩＥＥＥ  ＰＬＡＮＳ  ’９０、ＩＥＥＥ、５７９〜５８６ページ、１９９０年。
【非特許文献２】Ｂ．ホフマン−ウェレンホフ、Ｈ．リヒテネガー、Ｊ．コリンズ「ＧＰＳ理論と応用」２４５〜２８６ページ、シュプリンガーフェアラーク東京、２００５年。
【特許文献１】特開２００３−１８５７２８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
上述したように、ひとたび整数波数を決定できれば、それを用いて、その後の観測量により、受信機の位置を算出できる。しかし、決定した整数波数が間違っていると、その後の観測量により算出した受信機の位置も、正しくない位置を算出することになる。
この発明は、例えば、上記のような課題を解決するためになされたものであり、決定した整数波数の妥当性を、簡便かつ有効に判定し、判定結果に基づいて適切な措置をすることにより、整数波数及び受信機位置の推定の信頼性を高めることを目的とする。
【課題を解決するための手段】
【０００６】
この発明にかかる波数推定装置は、
複数の測位衛星のそれぞれについて観測した観測量に基づいて、上記複数の測位衛星のそれぞれについての電波の波数を推定する波数推定装置において、
観測量取得部と、実数波数推定部と、整数波数推定部と、推定状態判定部とを有し、
上記観測量取得部は、上記複数の測位衛星のそれぞれについての観測量を繰り返し取得し、
上記実数波数推定部は、上記観測量取得部が取得した観測量に基づいて、上記複数の測位衛星のそれぞれについて、実数波数を推定し、上記複数の測位衛星のうち、上記実数波数の推定に成功した測位衛星についての実数波数を出力し、
上記整数波数推定部は、上記実数波数推定部が出力した実数波数に基づいて、上記複数の測位衛星のそれぞれについて、整数波数を推定し、上記複数の測位衛星のうち、上記整数波数の推定に成功した測位衛星についての整数波数を出力し、
上記推定状態判定部は、上記観測量取得部が取得した観測量の数と、上記実数波数推定部が出力した実数波数の数と、上記整数波数推定部が出力した整数波数の数とに基づいて、複数の判定基準に基づいて、上記実数波数推定部が推定した実数波数が正しいか否かを判定し、
上記実数波数推定部は、次回の推定において、更に、上記推定状態判定部が判定した結果に基づいて、実数波数を推定することを特徴とする。
【発明の効果】
【０００７】
この発明にかかる波数推定装置によれば、推定状態判定部が、観測量の数や実数波数の数や整数波数の数に基づいて、実数波数推定部が推定した推定実数波数が正しいか否かを判定するので、少ない計算量で、容易に判定をすることができ、波数推定装置が推定した実数波数や整数波数の信頼性を高めることができる。また、実数波数推定部が、次回の推定において、推定状態判定部の判定結果を考慮して、推定実数波数を推定するので、誤った推定を早期に修正することができ、波数推定装置が推定した実数波数や整数波数の信頼性を高めることができる。
【発明を実施するための最良の形態】
【０００８】
実施の形態１．
実施の形態１について、図１〜図５を用いて説明する。
【０００９】
図１は、この実施の形態における測位装置８００のハードウェア資源の一例を示す図である。
測位装置８００は、プログラムを実行するＣＰＵ９１１（Ｃｅｎｔｒａｌ・Ｐｒｏｃｅｓｓｉｎｇ・Ｕｎｉｔ、中央処理装置、処理装置、演算装置、マイクロプロセッサ、マイクロコンピュータ、プロセッサともいう）を備えている。ＣＰＵ９１１は、バス９１２を介してＲＯＭ９１３、ＲＡＭ９１４、通信装置９１５、表示装置９０１、キーボード９０２、マウス９０３、ＦＤＤ９０４、ＣＤＤ９０５、プリンタ装置９０６、スキャナ装置９０７、磁気ディスク装置９２０と接続され、これらのハードウェアデバイスを制御する。磁気ディスク装置９２０の代わりに、光ディスク装置、メモリカード読み書き装置などの記憶装置でもよい。
ＲＡＭ９１４は、揮発性メモリの一例である。ＲＯＭ９１３、ＦＤＤ９０４、ＣＤＤ９０５、磁気ディスク装置９２０の記憶媒体は、不揮発性メモリの一例である。これらは、記憶装置あるいは記憶部の一例である。
通信装置９１５、キーボード９０２、スキャナ装置９０７、ＦＤＤ９０４などは、入力部、入力装置の一例である。
また、通信装置９１５、表示装置９０１、プリンタ装置９０６などは、出力部、出力装置の一例である。
【００１０】
通信装置９１５は、例えば、ファクシミリ機、電話器、ＬＡＮ、ゲートウェイ、インターネット、ＩＳＤＮ等のＷＡＮ（ワイドエリアネットワーク）などに接続されている。
磁気ディスク装置９２０には、オペレーティングシステム９２１（ＯＳ）、ウィンドウシステム９２２、プログラム群９２３、ファイル群９２４が記憶されている。プログラム群９２３のプログラムは、ＣＰＵ９１１、オペレーティングシステム９２１、ウィンドウシステム９２２により実行される。
【００１１】
上記プログラム群９２３には、以下に述べる実施の形態の説明において「〜部」として説明する機能を実行するプログラムが記憶されている。プログラムは、ＣＰＵ９１１により読み出され実行される。
ファイル群９２４には、以下に述べる実施の形態の説明において、「〜の判定結果」、「〜の計算結果」、「〜の処理結果」として説明する情報やデータや信号値や変数値やパラメータが、「〜ファイル」や「〜データベース」の各項目として記憶されている。「〜ファイル」や「〜データベース」は、ディスクやメモリなどの記録媒体に記憶される。ディスクやメモリになどの記憶媒体に記憶された情報やデータや信号値や変数値やパラメータは、読み書き回路を介してＣＰＵ９１１によりメインメモリやキャッシュメモリに読み出され、抽出・検索・参照・比較・演算・計算・処理・出力・印刷・表示などのＣＰＵの動作に用いられる。抽出・検索・参照・比較・演算・計算・処理・出力・印刷・表示のＣＰＵの動作の間、情報やデータや信号値や変数値やパラメータは、メインメモリやキャッシュメモリやバッファメモリに一時的に記憶される。
また、以下に述べる実施の形態の説明において説明するフローチャートの矢印の部分は主としてデータや信号の入出力を示し、データや信号値は、ＲＡＭ９１４のメモリ、ＦＤＤ９０４のフレキシブルディスク、ＣＤＤ９０５のコンパクトディスク、磁気ディスク装置９２０の磁気ディスク、その他光ディスク、ミニディスク、ＤＶＤ（Ｄｉｇｉｔａｌ・Ｖｅｒｓａｔｉｌｅ・Ｄｉｓｋ）等の記録媒体に記録される。また、データや信号は、バス９１２や信号線やケーブルその他の伝送媒体によりオンライン伝送される。
【００１２】
また、以下に述べる実施の形態の説明において「〜部」として説明するものは、「〜回路」、「〜装置」、「〜機器」であってもよく、また、「〜ステップ」、「〜手順」、「〜処理」であってもよい。すなわち、「〜部」として説明するものは、ＲＯＭ９１３に記憶されたファームウェアで実現されていても構わない。或いは、ソフトウェアのみ、或いは、素子・デバイス・基板・配線などのハードウェアのみ、或いは、ソフトウェアとハードウェアとの組み合わせ、さらには、ファームウェアとの組み合わせで実施されても構わない。ファームウェアとソフトウェアは、プログラムとして、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、ミニディスク、ＤＶＤ等の記録媒体に記憶される。プログラムはＣＰＵ９１１により読み出され、ＣＰＵ９１１により実行される。すなわち、プログラムは、以下に述べる「〜部」としてコンピュータを機能させるものである。あるいは、以下に述べる「〜部」の手順や方法をコンピュータに実行させるものである。
【００１３】
図２は、この実施の形態における測位装置８００の全体構成の一例を示すブロック構成図である。
測位装置８００は、観測量取得部８１０、前処理部８２０、推定部１００、位置演算部８３０を有する。
【００１４】
観測量取得部８１０は、ＣＰＵ９１１を用いて、観測量を取得する。
観測量取得部８１０は、観測量として、例えば、測位衛星が送信した電波を受信し、受信した電波に基づいて、電波の伝播時間や搬送波位相などを算出して取得する。なお、観測量取得部８１０は、通信装置９１５などの入力装置を用いて、基準局や他の装置が算出した伝播時間や搬送波位相などを観測量として取得する構成であってもよいし、過去に算出あるいは取得した観測量を、記憶装置を用いて記憶しておき、記憶装置が記憶した観測量を取得する構成であってもよい。
また、観測量取得部８１０は、観測量として、基準局が、測位装置８００と同じ測位衛星が送信した電波を受信して取得した伝播時間や搬送波位相などの値を算出して取得する。なお、観測量取得部８１０は、通信装置９１５などの入力装置を用いて、基準局や他の装置が算出した伝播時間や搬送波位相などを観測量として取得する構成であってもよいし、過去に算出あるいは取得した観測量を、記憶装置を用いて記憶しておき、記憶装置が記憶した観測量を取得する構成であってもよい。
あるいは、観測量取得部８１０は、観測量として、取得した観測量に基づいて、一重差観測量や二重差観測量を算出して取得する。なお、観測量取得部８１０は、通信装置９１５などの入力装置を用いて、基準局や他の装置が算出した一重差観測量や二重差観測量などを観測量として取得する構成であってもよいし、過去に算出あるいは取得した観測量を、記憶装置を用いて記憶しておき、記憶装置が記憶した観測量を取得する構成であってもよい。
観測量取得部８１０は、ＣＰＵ９１１を用いて、取得した観測量を出力する。
【００１５】
前処理部８２０は、ＣＰＵ９１１を用いて、観測量取得部８１０が取得した観測量に対して前処理をする。前処理部８２０は、例えば、後続するブロックでの処理を容易にするため、観測量の表現形式を変換したり、タイミングを調整したりする。前処理部８２０は、ＣＰＵ９１１を用いて、前処理をした観測量（以下「前処理後観測量」と呼ぶ。）を出力する。
【００１６】
推定部１００（波数推定装置の一例）は、ＣＰＵ９１１を用いて、前処理部８２０が前処理した前処理後観測量に基づいて、測位装置８００（受信機）の大まかな位置を推定し、実数波数や整数波数を推定する。推定部１００の詳細については、後述する。推定部１００は、ＣＰＵ９１１を用いて、推定した実数波数（以下「推定実数波数」と呼ぶ。）や推定した整数波数（以下「推定整数波数」と呼ぶ。）や推定した位置（以下「推定位置」と呼ぶ。）を出力する。
【００１７】
位置演算部８３０は、ＣＰＵ９１１を用いて、前処理部８２０が前処理した前処理後観測量や、推定部１００が推定した推定実数波数や推定整数波数や推定位置に基づいて、測位装置８００（受信機）の精密な位置を算出する。位置演算部８３０は、算出した測位装置８００の位置を出力する。
【００１８】
また、位置演算部８３０は、ＣＰＵ９１１を用いて、推定部１００が推定した推定実数波数や推定整数波数や推定位置の品質を検定し、異常がないか判定する。異常があると判定した場合、位置演算部８３０は、再初期化制御信号を出力する。
推定部１００は、位置演算部８３０が出力した再初期化制御信号を入力する。再初期化制御信号を入力した場合、推定部１００は、初期化処理をする。
【００１９】
図３は、この実施の形態における推定部１００の機能ブロックの構成の一例を示すブロック構成図である。
推定部１００は、波数位置推定部１１０、状態判定出力部１２０を有する。
【００２０】
波数位置推定部１１０（実数波数推定部兼整数波数推定部の一例）は、ＣＰＵ９１１を用いて、前処理部８２０が前処理した前処理後観測量に基づいて、例えばカルマンフィルタなどを使用して、推定実数波数や推定位置を推定し、例えばラムダ（ＬＡＭＢＤＡ）法などを使用して、推定整数波数を推定する。波数位置推定部１１０は、推定した推定実数波数や推定整数波数や推定位置を出力する。
また、波数位置推定部１１０は、位置演算部８３０が出力した再初期化制御信号を入力する。位置演算部８３０が再初期化制御信号を出力した場合、波数位置推定部１１０は、カルマンフィルタなどの内部状態を初期化する。
【００２１】
一般に、測位装置８００の位置を未知数とすると、未知数が３つあるから、３つ以上の測位衛星との距離がわかれば、測位装置８００の位置を算出できる。
更に、測位装置８００の時計誤差も未知数と考えると、未知数が４つになるから、４つ以上の測位衛星との距離がわかれば、測位装置８００の位置（と時計誤差）を算出できる。
４つ以上の測位衛星（あるいは一重差または二重差）の観測量について整数波数が推定できれば、精密な距離が算出でき、精密な位置が算出できる。精密な位置が算出できれば、逆に、推定した整数波数が正しいか否かを検証することができる。
【００２２】
以下の説明において、観測量取得部８１０が取得した観測量（あるいは前処理部８２０が前処理した前処理後観測量）の数を、「観測量衛星数」と呼ぶ。例えば、単独測位の場合であれば、観測量衛星数は、可視衛星数に等しい。一重差観測量に基づく測位の場合であれば、基準局と共通して観測できる可視衛星数に等しい。二重差観測量に基づく測位の場合であれば、基準局と共通して観測できる可視衛星数から、基準衛星となる衛星を１つ除いた数に等しい。
また、前処理部８２０が前処理した前処理後観測量から波数位置推定部１１０が推定した推定実数波数の数を、「実数波数衛星数」と呼ぶ。波数位置推定部１１０は、各前処理後観測量に対応して、推定実数波数を推定するので、実数波数衛星数は、最大で、観測量衛星数に等しい。しかし、波数位置推定部１１０が推定に失敗する場合もあるので、実数波数衛星数は、観測量衛星数より少ない場合があり、０であることもあり得る。
更に、波数位置推定部１１０が推定した推定整数波数の数を、「整数波数衛星数」と呼ぶ。波数位置推定部１１０は、推定した各推定実数波数に対応して、推定整数波数を推定するので、整数波数衛星数の数は、最大で、推定実数波数衛星数に等しい。しかし、波数位置推定部１１０が推定に失敗する場合もあるので、整数波数衛星数は、実数波数衛星数よりも少ない場合があり、０であることもあり得る。
すなわち、「観測量衛星数≧実数波数衛星数≧整数波数衛星数≧０」という関係がある。
【００２３】
状態判定出力部１２０は、推定状態判定部１３０、整数波数棄却部１４０を有する。
【００２４】
推定状態判定部１３０は、ＣＰＵ９１１を用いて、前処理部８２０が前処理した前処理後観測量や、波数位置推定部１１０が推定した推定実数波数や推定整数波数や、位置演算部８３０が出力した再初期化制御信号などに基づいて、波数位置推定部１１０の推定状態を判定する。推定状態判定部１３０は、ＣＰＵ９１１を用いて、判定した結果を出力する。推定状態判定部１３０は、複数の判定基準に基づいて、波数位置推定部１１０の推定状態（波数位置推定部１１０の推定が正しいか否か）を判定する。推定状態判定部１３０は、例えば、三つの判定基準に基づいて判定し、第一の判定基準によって判定した結果と、第二の判定基準によって判定した結果と、第三の判定基準によって判定した結果とを出力する。例えば、推定状態判定部１３０は、第一及び第二の判定基準に基づいて、波数位置推定部１１０が推定した推定実数波数が正しいか否かを判定し、第三の判定基準に基づいて、波数位置推定部１１０が推定した推定整数波数が正しいか否かを判定する。推定状態判定部１３０は、第一及び第二の判定基準に基づく判定結果を、推定状態判定結果として出力し、第三の判定基準に基づく判定結果を、整数波数判定結果として出力する。
【００２５】
整数波数棄却部１４０は、ＣＰＵ９１１を用いて、推定状態判定部１３０が、波数位置推定部１１０が推定した推定整数波数が正しくないと判定した場合に、波数位置推定部１１０が推定した推定整数波数を棄却する。
例えば、整数波数棄却部１４０は、波数位置推定部１１０が出力した推定整数波数と、推定状態判定部１３０が出力した整数波数判定結果とを入力する。整数波数棄却部１４０は、入力した整数波数判定結果に基づいて、推定状態判定部１３０の判定内容を判別し、推定状態判定部１３０が、波数位置推定部１１０が推定した推定整数波数が正しいと判定した場合、入力した推定整数波数をそのまま出力する。整数波数棄却部１４０が出力した推定整数波数が、推定部１００の外部への正式な出力となる。逆に、推定状態判定部１３０が、波数位置推定部１１０が推定した推定整数波数が正しくないと判定した場合、整数波数棄却部１４０は、入力した推定整数波数を出力せずに棄却する。これにより、推定部１００は、推定整数波数を出力しない。
【００２６】
また、波数位置推定部１１０は、推定状態判定部１３０が出力した推定状態判定結果や整数波数判定結果を入力する。入力した判定結果に基づいて、推定状態判定部１３０が、波数位置推定部１１０が推定した推定実数波数や推定整数波数が正しくないと判定した場合、波数位置推定部１１０は、カルマンフィルタなどの内部状態を初期化するなどの対処をする。波数位置推定部１１０は、推定状態判定部１３０が複数の判定基準に基づいて判定するのに対応して、複数の対処方式で対処をする。
【００２７】
図４は、この実施の形態における推定状態判定部１３０の詳細ブロックの一例を示すブロック構成図である。
推定状態判定部１３０は、条件判定部１３１、判定蓄積部１３２、詳細判定生成部１３３を有する。
【００２８】
条件判定部１３１は、ＣＰＵ９１１を用いて、前処理部８２０が前処理した前処理後観測量や、波数位置推定部１１０が推定した推定実数波数や推定整数波数に基づいて、波数位置推定部１１０による今回の推定について、所定の条件が満たされているか否かを判定する。条件判定部１３１は、ＣＰＵ９１１を用いて、判定した結果を出力する。
【００２９】
条件判定部１３１が判定する条件は、詳細判定生成部１３３が、波数位置推定部１１０の推定が正しいか否かを判定するための材料となるものである。条件判定部１３１が判定する条件は、例えば、観測量衛星数や実数波数衛星数や整数波数衛星数に関する条件である。これらに関する条件は、少ない計算量で、容易に判定をすることができる。
【００３０】
判定蓄積部１３２は、ＲＡＭ９１４を用いて、条件判定部１３１が判定した結果を記憶する。判定蓄積部１３２は、過去の判定結果を、判定履歴として、所定の回数まで記憶する。例えば、判定蓄積部１３２は、リングバッファなどを使用して、条件判定部１３１が判定した判定履歴を記憶する。
【００３１】
詳細判定生成部１３３は、ＣＰＵ９１１を用いて、判定蓄積部１３２が記憶した判定履歴に基づいて、波数位置推定部１１０が推定した推定実数波数や推定整数波数が正しいか否かを判定する。詳細判定生成部１３３は、条件判定部１３１が今回判定した判定結果だけでなく、前回、前々回、…の判定結果も総合して、波数位置推定部１１０が推定した推定実数波数や推定整数波数が正しいか否かを判定する。詳細判定生成部１３３は、ＣＰＵ９１１を用いて、判定した結果を出力する。
また、詳細判定生成部１３３は、波数位置推定部１１０が推定した推定実数波数が正しくないと判定した場合など、波数位置推定部１１０が内部状態を変更する場合には、判定蓄積部１３２に対して、履歴消去制御信号を出力する。
【００３２】
判定蓄積部１３２は、ＣＰＵ９１１を用いて、詳細判定生成部１３３が出力した履歴消去制御信号や、位置演算部８３０が出力した再初期化制御信号を入力する。詳細判定生成部１３３が履歴消去制御信号を出力した場合や、位置演算部８３０が再初期化制御信号を出力した場合、波数位置推定部１１０が内部状態を変更するので、判定蓄積部１３２は、ＲＡＭ９１４を用いて記憶した条件判定部１３１によるそれまでの判定履歴を消去する。
【００３３】
次に、動作について説明する。
【００３４】
図５は、この実施の形態における測位装置８００が位置を測定する測位処理の流れの一例を示すフローチャート図である。
測位処理は、観測量取得工程Ｓ５１０、前処理工程Ｓ５２０、推定工程Ｓ５３０、位置演算工程Ｓ５４０、再初期化工程Ｓ５５０、異常対処工程Ｓ５６０を有する。
【００３５】
観測量取得工程Ｓ５１０において、観測量取得部８１０は、ＣＰＵ９１１を用いて、観測量を取得する。
前処理工程Ｓ５２０において、前処理部８２０は、ＣＰＵ９１１を用いて、観測量取得工程Ｓ５１０で観測量取得部８１０が取得した観測量を前処理する。
【００３６】
推定工程Ｓ５３０は、波数位置推定工程Ｓ５３１、推定状態判定工程Ｓ５３２、整数波数棄却工程Ｓ５３７を有する。
【００３７】
波数位置推定工程Ｓ５３１において、波数位置推定部１１０は、ＣＰＵ９１１を用いて、前処理工程Ｓ５２０で前処理部８２０が前処理した前処理後観測量に基づいて、推定実数波数と、推定整数波数と、推定位置とを推定する。
推定状態判定工程Ｓ５３２は、条件判定工程Ｓ５３３、判定蓄積工程Ｓ５３４、詳細判定生成工程Ｓ５３５、履歴消去工程Ｓ５３６を有する。
条件判定工程Ｓ５３３において、条件判定部１３１は、ＣＰＵ９１１を用いて、前処理工程Ｓ５２０で前処理部８２０が前処理後観測量と、波数位置推定工程Ｓ５３１で波数位置推定部１１０が推定した推定実数波数と推定整数波数と推定位置とに基づいて、所定の条件が満たされているか否かを判定する。
判定蓄積工程Ｓ５３４において、判定蓄積部１３２は、ＲＡＭ９１４を用いて、条件判定工程Ｓ５３３で条件判定部１３１が判定した結果を記憶する。
詳細判定生成工程Ｓ５３５において、詳細判定生成部１３３は、ＣＰＵ９１１を用いて、判定蓄積工程Ｓ５３４で判定蓄積部１３２が記憶した判定履歴に基づいて、波数位置推定部１１０の推定が正しいか否かを複数の基準に基づいて判定する。以下では、一例として、三つの基準に基づいて判定する場合を説明する。
詳細判定生成部１３３が判定した結果のうち、第一の判定基準に基づく判定結果において、波数位置推定部１１０の推定が誤っていると判定した場合、推定部１００は、ＣＰＵ９１１を用いて、履歴消去工程Ｓ５３６へ進む。
詳細判定生成部１３３が判定した結果のうち、第二の判定基準に基づく判定結果において、波数位置推定部１１０の推定が誤っていると判定した場合も、推定部１００は、ＣＰＵ９１１を用いて、履歴消去工程Ｓ５３６へ進む。
履歴消去工程Ｓ５３６において、判定蓄積部１３２は、ＲＡＭ９１４を用いて記憶した判定履歴を消去する。
【００３８】
詳細判定生成部１３３が判定した結果のうち、第三の判定基準に基づく判定結果において、波数位置推定部１１０の推定が誤っていると判定した場合、推定部１００は、ＣＰＵ９１１を用いて整数波数棄却工程Ｓ５３７へ進む。
整数波数棄却工程Ｓ５３７において、整数波数棄却部１４０は、ＣＰＵ９１１を用いて、波数位置推定部１１０が推定した推定整数波数を棄却する。
【００３９】
位置演算工程Ｓ５４０において、位置演算部８３０は、ＣＰＵ９１１を用いて、前処理工程Ｓ５２０で前処理部８２０が前処理した前処理後観測量と、波数位置推定工程Ｓ５３１で波数位置推定部１１０が推定した推定実数波数と推定整数波数（整数波数棄却工程Ｓ５３７で整数波数棄却部１４０が棄却した推定整数波数を除く）と推定位置とに基づいて、測位装置８００の位置を算出する。
位置演算部８３０が、測位装置８００の位置を算出する過程で、推定部１００の推定に異常があると判定し、再初期化制御信号を出力した場合、推定部１００は、ＣＰＵ９１１を用いて、再初期化工程Ｓ５５０へ進む。
それ以外の場合、推定部１００は、ＣＰＵ９１１を用いて、詳細判定生成工程Ｓ５３５で詳細判定生成部１３３が判定した判定結果に基づいて、処理を分岐する。
詳細判定生成部１３３が判定した判定結果のうち、第一の判定基準に基づく判定結果において、波数位置推定部１１０の推定が誤っていると判定した場合、推定部１００は、ＣＰＵ９１１を用いて、再初期化工程Ｓ５５０へ進む。
詳細判定生成部１３３が判定した判定結果のうち、第二の判定基準に基づく判定結果において、波数位置推定部１１０の推定が誤っていると判定した場合、推定部１００は、ＣＰＵ９１１を用いて、異常対処工程Ｓ５６０へ進む。
それ以外の場合、測位装置８００は、ＣＰＵ９１１を用いて、観測量取得工程Ｓ５１０に戻る。
【００４０】
再初期化工程Ｓ５５０において、波数位置推定部１１０は、ＣＰＵ９１１を用いて、カルマンフィルタなどの内部状態を初期化する。判定蓄積部１３２は、ＲＡＭ９１４を用いて記憶した判定履歴を消去する。
その後、測位装置８００は、ＣＰＵ９１１を用いて、観測量取得工程Ｓ５１０に戻る。
【００４１】
異常対処工程Ｓ５６０において、波数位置推定部１１０は、ＣＰＵ９１１を用いて、カルマンフィルタなどの内部状態を変更するなどの対処をする。
その後、測位装置８００は、ＣＰＵ９１１を用いて、観測量取得工程Ｓ５１０に戻る。
【００４２】
この実施の形態における推定部１００（波数推定装置）は、複数の測位衛星のそれぞれについて観測した観測量に基づいて、上記複数の測位衛星のそれぞれについての電波の波数を推定する波数推定装置であって、観測量取得部８１０と、実数波数推定部（波数位置推定部１１０）と、整数波数推定部（波数位置推定部１１０）と、推定状態判定部１３０とを有する。
上記観測量取得部８１０は、上記複数の測位衛星のそれぞれについての観測量を繰り返し取得する。
上記実数波数推定部（波数位置推定部１１０）は、上記観測量取得部８１０が取得した観測量に基づいて、上記複数の測位衛星のそれぞれについて、実数波数を推定し、上記複数の測位衛星のうち、上記実数波数の推定に成功した測位衛星についての実数波数（推定実数波数）を出力する。
上記整数波数推定部（波数位置推定部１１０）は、上記実数波数推定部（波数位置推定部１１０）が出力した実数波数（推定実数波数）に基づいて、上記複数の測位衛星のそれぞれについて、整数波数を推定し、上記複数の測位衛星のうち、上記整数波数の推定に成功した測位衛星についての整数波数（推定整数波数）を出力する。
上記推定状態判定部１３０は、上記観測量取得部８１０が取得した観測量の数（観測量衛星数）と、上記実数波数推定部（波数位置推定部１１０）が出力した実数波数の数（実数波数衛星数）と、上記整数波数推定部（波数位置推定部１１０）が出力した整数波数の数（整数波数衛星数）とに基づいて、複数の判定基準に基づいて、上記実数波数推定部（波数位置推定部１１０）が推定した実数波数（推定実数波数）が正しいか否かを判定する。
上記実数波数推定部（波数位置推定部１１０）は、次回の推定において、更に、上記推定状態判定部１３０が判定した結果に基づいて、実数波数を推定する。
【００４３】
この実施の形態における推定部１００（波数推定装置）によれば、推定状態判定部１３０が、観測量衛星数や実数波数衛星数や整数波数衛星数に基づいて、波数位置推定部１１０が推定した推定実数波数が正しいか否かを判定するので、少ない計算量で、容易に判定をすることができ、推定部１００が推定した推定実数波数や推定整数波数の信頼性を高めることができる。また、実数波数推定部（波数位置推定部１１０）が、次回の推定において、推定状態判定部１３０の判定結果を考慮して、推定実数波数を推定するので、誤った推定を早期に修正することができ、推定部１００が推定した推定実数波数や推定整数波数の信頼性を高めることができる。
【００４４】
この実施の形態における推定部１００（波数推定装置）は、更に、整数波数棄却部１４０を有する。
上記推定状態判定部１３０は、更に、上記観測量取得部８１０が取得した観測量の数（観測量衛星数）と、上記実数波数推定部（波数位置推定部１１０）が出力した実数波数の数（実数波数衛星数）と、上記整数波数推定部（波数位置推定部１１０）が出力した整数波数の数（整数波数衛星数）とに基づいて、上記整数波数推定部（波数位置推定部１１０）が推定した整数波数（推定整数波数）が正しいか否かを判定する。
上記整数波数棄却部１４０は、上記推定状態判定部１３０が、上記整数波数（推定整数波数）が正しくないと判定した場合に、上記整数波数推定部（波数位置推定部１１０）が出力した整数波数（推定整数波数）を棄却する。
【００４５】
この実施の形態における推定部１００（波数推定装置）によれば、推定状態判定部１３０が、観測量衛星数や実数波数衛星数や整数波数衛星数に基づいて、波数位置推定部１１０が推定した推定整数波数が正しいか否かを判定するので、少ない計算量で、容易に判定をすることができ、推定部１００が推定した推定整数波数の信頼性を高めることができる。また、推定状態判定部１３０が誤っていると判定した推定整数波数を、整数波数棄却部１４０が棄却するので、その後の演算（例えば位置演算部８３０による位置の算出）に、誤っていると判定された推定整数波数が用いられることがなく、その後の演算の信頼性を高めることができる。
【００４６】
この実施の形態における測位装置８００は、電波受信部（観測量取得部８１０）と、観測量算出部（観測量取得部８１０）と、波数推定装置（推定部１００）と、位置演算部８３０とを有する。
上記電波受信部（観測量取得部８１０）は、複数の測位衛星のそれぞれが送信した電波を受信する。
上記観測量算出部（観測量取得部８１０）は、上記電波受信部（観測量取得部８１０）が受信した電波に基づいて、上記複数の測位衛星のそれぞれについて、観測量を算出する。
上記波数推定装置（推定部１００）は、上記観測量算出部（観測量取得部８１０）が算出した観測量に基づいて、上記実数波数と、上記整数波数とを推定する。
上記位置演算部８３０は、上記観測量算出部（観測量取得部８１０）が算出した観測量と、上記波数推定装置（推定部１００）が推定した実数波数及び整数波数とに基づいて、位置を算出する。
【００４７】
この実施の形態における測位装置８００によれば、波数推定装置（推定部１００）が推定した信頼性の高い推定実数波数や推定整数波数に基づいて、位置演算部８３０が位置を算出するので、算出した位置の信頼性を高めることができる。
【００４８】
この実施の形態における推定部１００（波数推定装置）が、複数の測位衛星のそれぞれについて観測した観測量に基づいて、上記複数の測位衛星のそれぞれについての波数を推定する波数推定方法は、以下の工程を有する。
上記観測量取得部８１０が、上記複数の測位衛星のそれぞれについての観測量を繰り返し取得する（観測量取得工程Ｓ５１０）。
上記実数波数推定部（波数位置推定部１１０）が、上記観測量取得部８１０が取得した観測量に基づいて、上記複数の測位衛星のそれぞれについて、実数波数を推定し、上記複数の測位衛星のうち、上記実数波数の推定に成功した測位衛星についての実数波数（推定実数波数）を出力する（波数位置推定工程Ｓ５３１）。
上記整数波数推定部（波数位置推定部１１０）が、上記実数波数推定部（波数位置推定部１１０）が出力した実数波数（推定実数波数）に基づいて、上記複数の測位衛星のそれぞれについて、整数波数を推定し、上記複数の測位衛星のうち、上記整数波数の推定に成功した測位衛星についての整数波数（推定整数波数）を出力する（波数位置推定工程Ｓ５３１）。
上記推定状態判定部１３０が、上記観測量取得部８１０が取得した観測量の数（観測量衛星数）と、上記実数波数推定部（波数位置推定部１１０）が出力した実数波数の数（実数波数衛星数）と、上記整数波数推定部（波数位置推定部１１０）が出力した整数波数の数（整数波数衛星数）とに基づいて、複数の判定基準に基づいて、上記実数波数推定部（波数位置推定部１１０）が推定した実数波数（推定実数波数）が正しいか否かを判定する。
上記実数波数推定部（波数位置推定部１１０）が、次回の推定において、更に、上記推定状態判定部１３０が判定した結果に基づいて、実数波数を推定する。
【００４９】
この実施の形態における波数推定方法によれば、推定状態判定部１３０が、観測量衛星数や実数波数衛星数や整数波数衛星数に基づいて、波数位置推定部１１０が推定した推定実数波数が正しいか否かを判定するので、少ない計算量で、容易に判定をすることができ、推定部１００が推定した推定実数波数や推定整数波数の信頼性を高めることができる。また、実数波数推定部（波数位置推定部１１０）が、次回の推定において、推定状態判定部１３０の判定結果を考慮して、推定実数波数を推定するので、誤った推定を早期に修正することができ、推定部１００が推定した推定実数波数や推定整数波数の信頼性を高めることができる。
【００５０】
以上説明した測位装置８００は、各時刻において観測量衛星数（可視衛星数）、（推定）実数波数衛星数、（推定）整数波数衛星数を算出し、これらの値を用いた数種類の判定を行う。
【００５１】
測位装置８００は、観測量取得部８１０が収集した受信機の観測量を、前処理部８２０が、後続するブロックでの処理を容易化するための前処理を適用し、前処理後観測量を生成する。推定部１００と位置演算部８３０とは、前処理後観測量を用いて受信機の位置を演算して出力する。
推定部１００は、各時刻に対応する前処理後観測量を用いて、同時刻の位置や実数波数や整数波数などを推定する。位置演算部８３０は、これらの情報を用いて同時刻の精密位置を演算する。位置演算部８３０は、精密位置を演算する際に推定部１００の出力の品質を検定し、異常が検出された場合は、推定部１００を初期化するための再初期化制御信号を出力する。
【００５２】
推定部１００において、波数位置推定部１１０は、推定部１００の出力推定を行う。状態判定出力部１２０は、波数位置推定部１１０の出力や、前処理後観測量や、位置演算部８３０の再初期化制御出力を用いて、推定状態判定部１３０が、波数位置推定部１１０の状態判定出力を生成し、整数波数棄却部１４０（整数波数初期化部）が、推定整数波数の出力制御を行う。整数波数棄却部１４０（整数波数初期化部）は、波数位置推定部１１０が出力する推定整数波数の中から、推定状態判定部１３０が出力する整数波数判定出力が誤っていると判定する衛星の推定整数波数を棄却して出力する。
【００５３】
推定状態判定部１３０において、条件判定部１３１は、前処理後観測量や波数位置推定部１１０の出力である推定実数波数および推定整数波数を入力として、詳細判定生成部１３３の入力となる、幾つかの条件判定出力を生成する。判定蓄積部１３２は、条件判定部１３１の過去の出力履歴を蓄積して出力する。また、再初期化制御信号が入力された場合、判定蓄積部１３２は、蓄積していた条件判定部１３１の過去の出力履歴を消去する。
詳細判定生成部１３３は、判定蓄積部１３２の出力である、条件判定部１３１の出力履歴を用いて、各時刻における波数位置推定部１１０の状態の詳細を複数の方法で判定する。そして各々の判定結果である、推定状態判定出力および整数波数判定出力を生成する。また、同時刻以降の判定に、条件判定部１３１の過去の出力履歴が不要と判断した場合は、履歴消去制御信号を出力する。判定蓄積部１３２は、詳細判定生成部１３３が出力する履歴消去制御信号に応じて、条件判定部１３１の出力履歴を消去する。
【００５４】
波数位置推定部１１０は、詳細判定生成部１３３の出力である推定状態判定出力および整数波数判定出力を用いて自身の推定状態を判定し、適切な処理を行う。具体的な処理内容としては、例えば、各推定状態の初期化がある。幾つかの異なる初期化方法が可能な推定状態に対しては、前記の詳細判定生成部１３３の出力に応じて推定状態の信頼性を判定し、適切な初期化方法を選択する。
これにより、推定部１００の出力の信頼性を上げる事が可能となり、位置演算部８３０が生成する位置出力の信頼性が向上する。
【００５５】
実施の形態２．
実施の形態２について、説明する。
この実施の形態における測位装置８００のハードウェア資源及び全体構成、推定部１００の内部構成、推定状態判定部１３０の詳細構成は、実施の形態１で説明したものと同様なので、ここでは説明を省略する。
【００５６】
この実施の形態では、推定状態判定部１３０が判定する判定基準と、それに対応する波数位置推定部１１０の対処方式について、具体例を挙げて説明する。
【００５７】
推定状態判定部１３０が判定する複数の判定基準のうちの一つとして、ここでは、実数波数衛星数と整数波数衛星数との差が所定の閾値（例えば５）より大きい状態が、所定の回数（例えば５０回）または所定の時間（例えば２０秒）以上続いたか否かという判定基準を用いる。
【００５８】
条件判定部１３１は、ＣＰＵ９１１を用いて、前処理部８２０が出力した前処理後観測量と、波数位置推定部１１０が出力した推定実数波数と推定整数波数とを入力する。
条件判定部１３１は、ＣＰＵ９１１を用いて、入力した前処理後観測量の数を数えて、観測量衛星数を算出し、入力した推定実数波数の数を数えて、実数波数衛星数を算出し、入力した推定整数波数の数を数えて、整数波数衛星数を算出する。
【００５９】
条件判定部１３１は、ＣＰＵ９１１を用いて、算出した実数波数衛星数と、算出した整数波数衛星数との差を算出する。条件判定部１３１は、ＣＰＵ９１１を用いて、算出した実数波数衛星数と整数波数衛星数との差が、所定の閾値（例えば５）より大きいか否かを判定する。条件判定部１３１は、ＣＰＵ９１１を用いて、判定した結果を出力する。判定蓄積部１３２は、ＣＰＵ９１１を用いて、条件判定部１３１は出力した判定結果を入力する。判定蓄積部１３２は、ＲＡＭ９１４を用いて、入力した判定結果を記憶する。
【００６０】
なお、判定蓄積部１３２は、入力した判定結果を履歴としてそのまま記憶するのではなく、ＣＰＵ９１１を用いて、最新の判定結果と同じ判定結果が連続して何回あったかを算出し、ＲＡＭ９１４を用いて、最新の判定結果と、算出した連続回数とを記憶する構成としてもよい。
【００６１】
詳細判定生成部１３３は、ＣＰＵ９１１を用いて、判定蓄積部１３２が記憶した判定結果の履歴を入力する。詳細判定生成部１３３は、ＣＰＵ９１１を用いて、入力した判定履歴に基づいて、実数波数衛星数と整数波数衛星数との差が所定の閾値より大きい状態が、何回連続しているかを判定する。
詳細判定生成部１３３は、ＣＰＵ９１１を用いて、判定した連続回数が、所定の閾値（例えば５０）より大きいか否かを判定する。
【００６２】
判定した連続回数が、所定の閾値より大きいと判定した場合、詳細判定生成部１３３は、ＣＰＵ９１１を用いて、波数位置推定部１１０が推定した推定整数波数が正しくないと判定する。詳細判定生成部１３３は、ＣＰＵ９１１を用いて、判定した結果を、複数の推定状態判定結果の一つとして出力する。
【００６３】
観測量衛星数が４以上であれば、測位装置８００の位置を大まかに推定することができる。推定した大まかな位置に基づいて、推定整数波数を推定し、整数波数衛星数が４以上になれば、測位装置８００の位置を精密に推定することができる。推定した精密な位置に基づいて、推定した推定整数波数を検証すれば、推定結果の矛盾を判定することができるので、波数位置推定部１１０は、間違っていると判定した推定整数波数を棄却する。その場合、実数波数衛星数よりも整数波数衛星数が少なくなる。
【００６４】
そのような状態がたまに発生する場合は、マルチパスなどの誤差要因による一時的なものと考えられるから、波数位置推定部１１０が推定した位置や、正しいと判定した推定整数波数は、正しいと考えてよい。しかし、そのような状態が連続して発生する場合は、一時的な誤差要因の影響とは考えにくい。むしろ、正しいと判定された推定整数波数が間違っているため、推定した位置も間違っていると考えるべきであり、すべての推定整数波数を矛盾なく推定できる真の位置が他にあると考えられる。
【００６５】
カルマンフィルタなどを使用した推定では、過去の推定値と、新しい観測量とに基づいて、新しい推定値を算出する。推定値には推定誤差が、観測量には観測誤差がそれぞれ含まれるので、それぞれに適切な重み付けをすることで、最適な推定結果を得る。カルマンフィルタでは、その重み付けをカルマンゲインと呼ぶ。また、カルマンフィルタでは、過去の推定値の推定誤差の誤差共分散行列を推定し、推定した誤差共分散行列に基づいて、カルマンゲインを算出する。誤差共分散行列の値が大きい場合、過去の推定値の推定誤差が大きいと考えられるので、カルマンフィルタは、新しい観測量に重きを置いた推定をする。逆に、誤差共分散行列の値が小さい場合、過去の推定値の推定誤差が小さいと考えられるので、カルマンフィルタは、過去の推定値に重きを置いた推定をする。
【００６６】
このように、過去の推定値を記憶しておいて次の推定に利用する推定方式は、観測量に含まれる観測誤差が平均されて打ち消しあい、推定値が徐々に正しい値に近づく利点がある反面、過去の推定値が間違っているのに正しいと思い込んでしまうと、なかなかそこから抜け出せない場合がある。
【００６７】
波数位置推定部１１０における推定方式が、上記のような推定方式であり、その出力が、上記の判定基準に合致する場合、推定位置や推定実数波数や推定整数波数など、波数位置推定部１１０が次の推定のために保持している推定値やその他の内部的な値（例えば誤差共分散行列の値）が、間違った値で安定している可能性がある。
その場合、波数位置推定部１１０が保持している推定値やその他の内部的な値を初期化して、最初から推定をやり直すことにより、正しい推定値に収束させることができる可能性がある。
【００６８】
波数位置推定部１１０は、ＣＰＵ９１１を用いて、詳細判定生成部１３３が出力した複数の推定状態判定結果を入力する。
推定状態判定部１３０が、実数波数衛星数と整数波数衛星数との差が所定の閾値より大きい状態が、所定の回数または所定の時間以上続いたと判定した場合、波数位置推定部１１０は、ＣＰＵ９１１を用いて、入力した推定状態判定結果に基づいて、その判定結果を取得し、初期化処理を行う。
【００６９】
例えば、波数位置推定部１１０が、ＲＡＭ９１４を用いて、推定した推定実数波数を記憶し、次回の推定に利用する構成である場合、初期化処理において、波数位置推定部１１０は、ＲＡＭ９１４を用いて記憶した推定実数波数（以下「前回推定実数波数」と呼ぶ。）の値を消去する。
波数位置推定部１１０が、ＲＡＭ９１４を用いて、推定実数波数以外の推定値や内部的な値を記憶し、次回の推定に利用する構成である場合は、初期化処理において、波数位置推定部１１０は、同様に、ＲＡＭ９１４を用いて記憶した他の推定値や内部的な値を消去する。
これにより、波数位置推定部１１０は、次回からの推定において、過去の推定値に捉われることなく推定をすることができるので、正しい値を推定できる可能性が高まり、推定値の信頼性を高めることができる。
【００７０】
この実施の形態で説明した判定基準は、波数位置推定部１１０が間違った推定状態で安定しているか否かを判定するための判定基準の一例であり、他の判定基準を用いて、波数位置推定部１１０が間違った推定状態で安定しているか否かを判定してもよい。
この実施の形態で説明した判定基準は、判定に必要な計算量が少なく、容易に判定をすることができるので、好ましい。
【００７１】
この実施の形態で説明した対処方式は、波数位置推定部１１０を間違った安定状態から脱却させ、正しい安定状態へ向かわせる対処方式の一例であり、他の対処方式を用いて、波数位置推定部１１０を間違った安定状態から脱却させてもよい。
この実施の形態で説明した対処方式は、簡単なやり方で、波数位置推定部１１０を間違った安定状態から脱却させることができるので、好ましい。
【００７２】
なお、推定状態判定部１３０が、波数位置推定部１１０が間違った推定状態で安定していると判定した場合、整数波数棄却部１４０が、波数位置推定部１１０が推定した推定整数波数を棄却する構成としてもよい。
【００７３】
この実施の形態における推定部１００（波数推定装置）において、上記実数波数推定部（波数位置推定部１１０）は、推定した実数波数を前回推定実数波数として記憶し、記憶した前回推定実数波数と、上記観測量取得部８１０が新たに取得した観測量とに基づいて、実数波数を推定し、上記推定状態判定部１３０が、上記複数の判定基準のうち第一の判定基準により、上記実数波数が正しくないと判定した場合に、記憶した前回推定実数波数を初期化する。
【００７４】
この実施の形態における推定部１００（波数推定装置）によれば、波数位置推定部１１０が過去に推定した推定実数波数を利用して新たな実数波数を推定することにより、間違った推定状態で安定した場合に、記憶した前回推定実数波数を初期化することで、間違った推定状態から脱却することができる。これにより、推定部１００が推定した推定実数波数や推定整数波数の信頼性を高めることができる。
【００７５】
この実施の形態における推定部１００（波数推定装置）において、上記推定状態判定部１３０は、上記第一の判定基準として、所定の回数または所定の時間以上連続して、上記実数波数推定部（波数位置推定部１１０）が推定した実数波数の数と、上記整数波数推定部（波数位置推定部１１０）が推定した整数波数の数との差が、所定の閾値より大きい場合に、上記実数波数推定部（波数位置推定部１１０）が推定した実数波数が正しくないと判定する。
【００７６】
この実施の形態における推定部１００（波数推定装置）によれば、波数位置推定部１１０が間違った推定状態で安定したことを、少ない計算量で容易に判定することができるので、波数位置推定部１１０を間違った推定状態から脱却させることができる。これにより、推定部１００が推定した推定実数波数や推定整数波数の信頼性を高めることができる。
【００７７】
以上説明した測位装置８００は、上記数種類の判定が所定回数以上連続して発生した場合に整数波数および位置の推定値の妥当性を判定する。
測位装置８００は、整数波数や位置を推定する推定部（波数位置推定部１１０）の初期化方法（対処方式）を数種類備えており、推定部を初期化する際にこれらを組合せて適用する。
測位装置８００は、上記妥当性判定の結果に応じて適切な初期化方法（対処方式）の組合せを適用する。
【００７８】
以上説明した測位装置８００において、条件判定部１３１は、各エポックで、以下の３種類の衛星数を比較する事で出力を生成する。（Ａ）前処理後観測量に含まれる衛星数を指す観測量衛星数（可視衛星数）。（Ｂ）推定実数波数に含まれる衛星数を指す推定実数波数衛星数。（Ｃ）推定整数波数に含まれる衛星数を指す推定整数波数衛星数。
ここで、推定整数波数衛星数に含まれる衛星は、推定実数波数衛星数にも含まれていると定義する。つまり、推定整数波数を備える衛星は、推定実数波数も備える。
【００７９】
条件判定部１３１は、精密な位置計算を可能とするために十分な数（例えば５個以上）の（推定実数波数衛星数−推定整数波数衛星数）が推定整数波数が決定できずに維持されているか否かを判定する。条件判定部１３１が、十分な数の（推定実数波数衛星数−推定整数波数衛星数）が維持されていると判定した場合、詳細判定生成部１３３は、その状態が、所定回数または所定時間以上連続して発生したか否かを判定する。詳細判定生成部１３３は、その状態が所定回数または所定時間以上連続して発生したと判定した場合、整数波数推定の基準となる基線ベクトルの精度が低いと判定し、推定した整数波数および基線ベクトルが誤っていると判定する。
【００８０】
波数位置推定部１１０は、推定状態判定部１３０が、現状の解が全く信用できないと判定した場合、カルマンフィルタの平均推定値と共分散推定値を全て初期化して推定を再開する。
【００８１】
これにより、幾つかの計測距離の誤差推定がうまくいかない場合に、不適切な推定位置に収束してしまい、適切な推定位置への収束が阻害されるのを回避することができる。
【００８２】
実施の形態３．
実施の形態３について、説明する。
この実施の形態における測位装置８００のハードウェア資源及び全体構成、推定部１００の内部構成、推定状態判定部１３０の詳細構成は、実施の形態１で説明したものと同様なので、ここでは説明を省略する。
【００８３】
この実施の形態では、推定状態判定部１３０が判定する判定基準と、それに対応する波数位置推定部１１０の対処方式について、別の具体例を挙げて説明する。
【００８４】
推定状態判定部１３０が判定する複数の判定基準の一つとして、ここでは、整数波数衛星数が、所定の閾値（例えば３）より小さい状態が、所定の回数（例えば５０回）あるいは所定の時間（例えば２０秒）以上続いたか否かという判定基準を用いる。
【００８５】
条件判定部１３１は、ＣＰＵ９１１を用いて、算出した整数波数衛星数が、所定の閾値より小さいか否かを判定する。条件判定部１３１は、ＣＰＵ９１１を用いて、判定した結果を出力する。判定蓄積部１３２は、ＣＰＵ９１１を用いて、条件判定部１３１が出力した判定結果を入力する。判定蓄積部１３２は、ＲＡＭ９１４を用いて、入力した判定結果を記憶する。
【００８６】
詳細判定生成部１３３は、ＣＰＵ９１１を用いて、判定蓄積部１３２が記憶した判定結果の履歴を入力する。詳細判定生成部１３３は、ＣＰＵ９１１を用いて、入力した判定履歴に基づいて、整数波数衛星数が所定の閾値より小さい状態が、何回連続しているかを判定する。
詳細判定生成部１３３は、ＣＰＵ９１１を用いて、判定した連続回数が、所定の閾値（例えば５０）より大きいか否かを判定する。
【００８７】
判定した連続回数が、所定の閾値より大きいと判定した場合、詳細判定生成部１３３は、ＣＰＵ９１１を用いて、波数位置推定部１１０が推定した推定実数波数が正しくないと判定する。詳細判定生成部１３３は、ＣＰＵ９１１を用いて、判定した結果を、複数の推定状態判定結果の一つとして出力する。
【００８８】
整数波数衛星数が３以下である場合、測位装置８００の位置を精密に推定することができないので、波数位置推定部１１０が推定した推定実数波数や推定整数波数の信頼性は、それほど高くない。波数位置推定部１１０における推定方式が、過去の推定値を記憶しておいて次の推定に利用する推定方式である場合、波数位置推定部１１０は、新しい推定値が、過去の推定値に矛盾しないことをもって、推定実数波数や推定整数波数が正しいと判定している可能性がある。
【００８９】
測位装置８００の位置を精密に推定せずに、推定実数波数や推定整数波数を推定することが、短い時間の間だけであれば、推定した推定実数波数や推定整数波数をある程度信頼してもよいが、長い時間連続してその状態が続く場合、徐々に信頼性が下がっていく。その結果、推定値が、いつのまにか間違った値になり、そのまま安定してしまう可能性がある。
その場合、波数位置推定部１１０が、過去の推定値の推定誤差が大きいとして、過去の推定値よりも新しい観測量に重きを置いた推定をすることで、間違った推定値のまま安定するのを防ぐことができる。
【００９０】
波数位置推定部１１０は、ＣＰＵ９１１を用いて、詳細判定生成部１３３が出力した複数の推定状態判定結果を入力する。
推定状態判定部１３０が、整数波数衛星数が所定の閾値より小さい状態が、所定の回数または所定の時間以上続いたと判定した場合、波数位置推定部１１０は、ＣＰＵ９１１を用いて、入力した推定状態判定結果に基づいて、その判定結果を取得し、推定における過去の推定値の重みを少なくする。
【００９１】
例えば、波数位置推定部１１０が、ＲＡＭ９１４を用いて、前回推定実数波数を記憶し、次回の推定に利用する構成である場合、波数位置推定部１１０は、ＣＰＵ９１１を用いて、次回の推定における前回推定実数波数の重みを少なくする。
例えば、波数位置推定部１１０が、カルマンフィルタを用いて、推定実数波数を推定する場合であれば、波数位置推定部１１０は、ＲＡＭ９１４を用いて記憶した誤差共分散行列の値を大きくする。例えば、波数位置推定部１１０は、ＣＰＵ９１１を用いて、記憶した誤差共分散行列の値を１００倍し、ＲＡＭ９１４を用いて、新たな誤差共分散行列の値として記憶する。
【００９２】
この実施の形態で説明した判定基準は、推定値の信頼性が徐々に下がり、波数位置推定部１１０が間違った推定状態で安定する可能性があるか否かを判定するための判定基準の一例であり、他の判定基準を用いて、波数位置推定部１１０が間違った推定状態で安定する可能性があるか否かを判定してもよい。
この実施の形態で説明した判定基準は、判定に必要な計算量が少なく、容易に判定をすることができるので、好ましい。
【００９３】
この実施の形態で説明した対処方式は、波数位置推定部１１０が間違った推定状態のまま安定するのを防ぐ対処方式の一例であり、他の対象方式により、波数位置推定部１１０が間違った推定状態のまま安定するのを防ぐ構成としてもよい。
この実施の形態で説明した対処方式は、簡単なやり方で、波数位置推定部１１０が間違った推定状態のまま安定するのを防ぐことができるので、好ましい。
【００９４】
なお、推定状態判定部１３０が、波数位置推定部１１０が間違った推定状態で安定する可能性があると判定した場合、整数波数棄却部１４０が、波数位置推定部１１０が推定した推定整数波数を棄却する構成としてもよい。
【００９５】
この実施の形態における推定部１００（波数推定装置）において、上記実数波数推定部（波数位置推定部１１０）は、推定した実数波数を前回推定実数波数として記憶し、記憶した前回推定実数波数と、上記観測量取得部８１０が新たに取得した観測量とに基づいて、実数波数を推定し、上記推定状態判定部１３０が、上記複数の判定基準のうち第二の判定基準により、上記実数波数が正しくないと判定した場合に、上記実数波数の推定における上記前回推定実数波数の重みを少なくする。
【００９６】
この実施の形態における推定部１００（波数推定装置）によれば、波数位置推定部１１０が過去に推定した信頼性の低い前回推定実数波数を利用して新たな実数波数を推定することにより、間違った推定状態で安定する可能性がある場合に、次回の推定における前回推定実数波数の重みを少なくすることにより、間違った推定状態で安定するのを防ぐことができる。これにより、推定部１００が推定した推定実数波数や推定整数波数の信頼性を高めることができる。
【００９７】
この実施の形態における推定部１００（波数推定装置）において、上記実数波数推定部（波数位置推定部１１０）は、カルマンフィルタを用いて、上記実数波数を推定し、上記カルマンフィルタで用いられる誤差共分散行列の値を記憶し、上記推定状態判定部１３０が、上記複数の判定基準のうち第二の判定基準により、上記実数波数が正しくないと判定した場合に、記憶した誤差共分散行列の値を大きくする。
【００９８】
この実施の形態における推定部１００（波数推定装置）によれば、カルマンフィルタで用いられる誤差共分散行列の値を大きくすることにより、過去の推定値よりも新しい観測量に重きを置く推定をすることができるので、間違った推定状態で安定するのを防ぐことができる。これにより、推定部１００が推定した推定実数波数や推定整数波数の信頼性を高めることができる。
【００９９】
この実施の形態における推定部１００（波数推定装置）において、上記推定状態判定部１３０は、上記第二の判定基準として、所定の回数または所定の時間以上連続して、上記整数波数推定部（波数位置推定部１１０）が推定した整数波数の数（整数波数衛星数）が、所定の閾値より小さい場合に、上記実数波数推定部（波数位置推定部１１０）が推定した実数波数が正しくないと判定する。
【０１００】
この実施の形態における推定部１００（波数推定装置）によれば、波数位置推定部１１０が間違った推定状態で安定する可能性があることを、少ない計算量で容易に判定することができるので、波数位置推定部１１０が間違った推定状態で安定するのを防ぐことができる。これにより、推定部１００が推定した推定実数波数や推定整数波数の信頼性を高めることができる。
【０１０１】
以上説明した測位装置８００において、条件判定部１３１は、精密な位置計算を可能とするために必ずしも十分ではない数（例えば３個または２個以下）の推定整数波数衛星数が維持されているか否かを判定する。条件判定部１３１が、十分でない数の推定整数波数衛星数が維持されていると判定した場合、詳細判定生成部１３３は、精密な位置計算が可能となる最低数を推定整数波数衛星数が下回っている状態が、所定回数または所定時間以上連続して発生したか否かを判定する。詳細判定生成部１３３は、精密な位置計算が可能となる最低数を推定整数波数衛星数が下回っている状態が、所定回数または所定時間以上連続して発生したと判定した場合に、整数波数推定の基準となる基線ベクトルの精度が低いと判定し、推定した整数波数が誤っていると判定する。
【０１０２】
波数位置推定部１１０は、推定状態判定部１３０が、推定整数波数の信頼性が低く、基線ベクトルの信頼性が低いと判定した場合、カルマンフィルタの共分散推定値（誤差共分散行列の値）を増加する。例えば、値を１００倍に再設定する。
【０１０３】
これにより、幾つかの計測距離の誤差推定がうまくいかない場合に、不適切な推定位置に収束してしまい、適切な推定位置への収束が阻害されるのを回避することができる。
【０１０４】
実施の形態４．
実施の形態４について、説明する。
この実施の形態における測位装置８００のハードウェア資源及び全体構成、推定部１００の内部構成、推定状態判定部１３０の詳細構成は、実施の形態１で説明したものと同様なので、ここでは説明を省略する。
【０１０５】
この実施の形態では、推定状態判定部１３０が判定する判定基準と、それに対応する波数位置推定部１１０の対処方式について、更に別の具体例を挙げて説明する。
【０１０６】
推定状態判定部１３０が判定する複数の判定基準のうちの一つとして、ここでは、推定整数波数衛星数が所定の閾値（例えば４）より大きく、かつ、推定実数波数衛星数と推定整数波数衛星数との差が所定の閾値（例えば１）より大きい状態が、所定の回数（例えば５０回）または所定の時間（例えば２０秒）以上続いたか否かという判定基準を用いる。
【０１０７】
条件判定部１３１は、ＣＰＵ９１１を用いて、算出した整数波数衛星数が、所定の閾値（例えば４）より大きいか否かを判定する。条件判定部１３１は、ＣＰＵ９１１を用いて、判定した結果を出力する。判定蓄積部１３２は、ＣＰＵ９１１を用いて、条件判定部１３１が出力した判定結果を入力する。判定蓄積部１３２は、ＲＡＭ９１４を用いて、入力した判定結果を記憶する。
条件判定部１３１は、ＣＰＵ９１１を用いて、算出した実数波数衛星数と、算出した整数波数衛星数との差を算出する。条件判定部１３１は、ＣＰＵ９１１を用いて、算出した実数波数衛星数と整数波数衛星数との差が、所定の閾値（例えば１）より大きいか否かを判定する。条件判定部１３１は、ＣＰＵ９１１を用いて、判定した結果を出力する。判定蓄積部１３２は、ＣＰＵ９１１を用いて、条件判定部１３１は出力した判定結果を入力する。判定蓄積部１３２は、ＲＡＭ９１４を用いて、入力した判定結果を記憶する。
【０１０８】
詳細判定生成部１３３は、ＣＰＵ９１１を用いて、判定蓄積部１３２が記憶した判定結果の履歴を入力する。詳細判定生成部１３３は、ＣＰＵ９１１を用いて、入力した判定履歴に基づいて、整数波数衛星数が所定の閾値より大きく、かつ、実数波数衛星数と整数波数衛星数との差が所定の閾値より大きい状態が、何回連続しているかを判定する。
詳細判定生成部１３３は、ＣＰＵ９１１を用いて、判定した連続回数が、所定の閾値（例えば５０）より大きいか否かを判定する。
【０１０９】
整数波数衛星数が４以上あれば、測位装置８００の位置を精密に推定でき、推定整数波数を検証できる。多くの推定整数波数が検証に成功している場合、推定した推定位置や推定整数波数は、概ね正しいと考えてよいが、検証に失敗した推定整数波数がある場合、なにかが間違っている可能性がある。そのような状態が長く続けば続くほど場合、推定した推定整数波数が間違っている可能性は高くなる。
【０１１０】
判定した連続回数が、所定の閾値より大きいと判定した場合、詳細判定生成部１３３は、ＣＰＵ９１１を用いて、波数位置推定部１１０が推定した推定整数波数が正しくないと判定する。詳細判定生成部１３３は、ＣＰＵ９１１を用いて、判定した結果を、整数波数判定結果として出力する。
【０１１１】
整数波数棄却部１４０は、ＣＰＵ９１１を用いて、詳細判定生成部１３３が出力した整数波数判定結果を入力する。
推定状態判定部１３０が、整数波数衛星数が所定の閾値より大きく、かつ、実数波数衛星数と整数波数衛星数との差が所定の閾値より大きい状態が、所定の回数または所定の時間以上続いたと判定した場合、整数波数棄却部１４０は、ＣＰＵ９１１を用いて、入力した整数波数判定結果に基づいて、その判定結果を取得し、波数位置推定部１１０が推定した推定整数波数を棄却する。
これにより、推定部１００は、間違っている可能性が高い推定整数波数を出力しないので、後段（位置演算部８３０）の処理に悪影響が出るのを防ぐことができる。
【０１１２】
この実施の形態で説明した判定基準は、波数位置推定部１１０が推定した推定整数波数が間違っている可能性が高いか否かを判定するための判定基準の一例であり、他の判定基準を用いて、波数位置推定部１１０が推定した推定整数波数が間違っている可能性が高いか否かを判定してもよい。
この実施の形態で説明した判定基準は、判定に必要な計算量が少なく、容易に判定をすることができるので、好ましい。
【０１１３】
この実施の形態で説明した対処方式は、波数位置推定部１１０が推定した推定整数波数が間違っている可能性が高い場合に、その影響が後段に伝播するのを防ぐ対処方式の一例であり、他の対処方式を用いて、間違った推定整数波数の影響が伝播するのを防ぐ構成としてもよい。
この実施の形態で説明した対処方式は、簡単なやり方で、間違った推定整数波数の影響が伝播するのを防ぐことができるので、好ましい。
【０１１４】
なお、推定状態判定部１３０が、整数波数衛星数が所定の閾値より大きく、かつ、実数波数衛星数と整数波数衛星数との差が所定の閾値より大きい状態が続いたと判定した場合、推定整数波数を棄却するだけではなく、波数位置推定部１１０が、何らかの対処方式による対処をする構成としてもよい。
【０１１５】
また、整数波数衛星数が所定の閾値より大きく、かつ、実数波数衛星数と整数波数衛星数との差が所定の閾値より大きい状態が、更に長く続くようであれば、波数位置推定部１１０が間違った推定状態で安定している可能性が高まってくる。
したがって、そのことを判定する判定基準を、推定状態判定部１３０が判定して、推定状態判定結果を出力し、波数位置推定部１１０が、実施の形態２や実施の形態３で説明した対処方式やその他の対処方式による対処をする構成としてもよい。
【０１１６】
この実施の形態における推定部１００（波数推定装置）において、上記推定状態判定部１３０は、所定の回数または所定の時間以上連続して、上記整数波数推定部（波数位置推定部１１０）が推定した整数波数の数（整数波数衛星数）が所定の閾値より大きく、かつ、上記実数波数推定部（波数位置推定部１１０）が推定した実数波数の数（実数波数衛星数）と、上記整数波数推定部（波数位置推定部１１０）が推定した整数波数の数（整数波数衛星数）との差が、所定の閾値より大きい場合に、上記整数波数推定部（波数位置推定部１１０）が推定した整数波数が正しくないと判定する。
【０１１７】
この実施の形態における推定部１００（波数推定装置）によれば、波数位置推定部１１０が推定した推定整数波数が間違っている可能性が高いことを、少ない計算量で容易に判定することができるので、間違った推定整数波数の影響が伝播するのを防ぐことができ、信頼性を高めることができる。
【０１１８】
以上説明した測位装置８００において、条件判定部１３１は、精密な位置計算を可能とするために十分な数（例えば４個以上）の推定整数波数衛星数が維持されているか否かを判定する。十分な数の推定整数波数栄整数が維持されていると判定した場合、条件判定部１３１は、（推定実数波数衛星数−推定整数波数衛星数）が１以上であるか否かを判定する。（推定実数波数衛星数−推定整数波数衛星数）が１以上であると判定した場合、詳細判定生成部１３３は、その状態が、所定回数（または所定時間）連続して発生したか否かを判定する。詳細判定生成部１３３は、その状態が所定回数（または所定時間）連続して発生したと判定した場合に、整数波数推定の基準となる基線ベクトル（測位装置８００の位置）の精度が低いために、他の衛星の整数波数が推定できない状態にあると判定し、推定した整数波数が誤っていると判定する。
【０１１９】
推定状態判定部１３０が、推定整数波数の信頼性が低く、基線ベクトルの信頼性が高いと判定した場合、整数波数棄却部１４０は、波数位置推定部１１０が推定した推定整数波数を棄却する。
【０１２０】
以上のように、波数位置推定部１１０の推定が間違っていると言っても様々なレベルがあり、それを複数の判定基準によって判定し、対処方式を変えることにより、推定の信頼性を高めることができる。
【０１２１】
衛星測位方式による位置計算は、個々の衛星からの電波を受信して衛星搭載送信機と受信機間の距離を計測する。そして得られた複数の計測距離と対応する衛星位置に基づいて受信機位置を計算する。各計測距離に含まれる誤差を考慮して位置計算するためには、観測誤差を推定することにより、最も確からしい受信機位置を推定する計算が必要となる。
幾つかの計測距離の誤差推定がうまくいかない場合に、不適切な推定位置に収束してしまい、適切な推定位置への収束が阻害される場合がある。これを回避するため、例えば、上述した判定基準に基づいて、不適切な収束状態を検出する。
【０１２２】
上述した判定基準は、過去の試験結果から得られた経験則によるものである。特に、衛星数をパラメータとすることにより、推定状態判定部１３０（検出手段）の実現が容易であり、かつ確実性が高い。また、推定状態判定部１３０と波数位置推定部１１０の制御手段とが分離しているため、汎用性が高い。
【０１２３】
このように測位装置８００を構成することにより、整数波数および位置推定値の妥当性判定を、簡便かつ有効な方式で行うことができ、適切な再初期化をすることができる。この結果、整数波数および位置推定値の妥当性を正確に把握し、対応する適切な再初期化が可能となり、信頼性の高い整数波数及び位置推定値が得られる。
【０１２４】
また、状態判定出力部１２０の判定基準は、波数位置推定部１１０の内部構成に依存しない情報だけを用いて行うことができるので、汎用性が高い。
【図面の簡単な説明】
【０１２５】
【図１】実施の形態１における８００のハードウェア資源の一例を示す図。
【図２】実施の形態１における測位装置８００の全体構成の一例を示すブロック構成図。
【図３】実施の形態１における推定部１００の機能ブロックの構成の一例を示すブロック構成図。
【図４】実施の形態１における推定状態判定部１３０の詳細ブロックの一例を示すブロック構成図。
【図５】実施の形態１における測位装置８００が位置を測定する測位処理の流れの一例を示すフローチャート図。
【符号の説明】
【０１２６】
１００  推定部、１１０  波数位置推定部、１２０  状態判定出力部、１３０  推定状態判定部、１３１  条件判定部、１３２  判定蓄積部、１３３  詳細判定生成部、１４０  整数波数棄却部、８００  測位装置、８１０  観測量取得部、８２０  前処理部、８３０  位置演算部、９０１  表示装置、９０２  キーボード、９０３  マウス、９０４  ＦＤＤ、９０５  ＣＤＤ、９０６  プリンタ装置、９０７  スキャナ装置、９１０  システムユニット、９１１  ＣＰＵ、９１２  バス、９１３  ＲＯＭ、９１４  ＲＡＭ、９１５  通信装置、９２０  磁気ディスク装置、９２１  ＯＳ、９２２  ウィンドウシステム、９２３  プログラム群、９２４  ファイル群。
【図１】
2010112724.tif 000003
【図２】
2010112724.tif 000004
【図３】
2010112724.tif 000005
【図４】
2010112724.tif 000006
【図５】
2010112724.tif 000007