説明

波数推定装置及び測位装置及び波数推定方法

【課題】推定した整数波数の妥当性を、簡便かつ有効に判定し、整数波数及び受信機位置の推定の信頼性を高める。
【解決手段】推定状態判定部130は、観測量取得部が取得した観測量の数(観測量衛星数)と、実数波数推定部(波数位置推定部110)が推定した実数波数の数(実数波数衛星数)と、整数波数推定部(波数位置推定部110)が推定した整数波数の数とに基づいて、複数の判定基準に基づいて、上記実数波数推定部(波数位置推定部110)が推定した実数波数が正しいか否かを判定する。実数波数推定部(波数位置推定部110)は、次回の推定において、推定状態判定部130が判定した結果に基づいて、実数波数を推定する。

【発明の詳細な説明】
【技術分野】
【0001】
この発明は、GPS(Global Positioning System)衛星などの測位衛星が送信する電波信号の搬送波位相情報を利用して、受信機位置を計測する衛星測位方式を備えた測位装置において、搬送波の波数を推定する波数推定装置に関する。
【背景技術】
【0002】
衛星測位方式は、GPS衛星などの測位衛星に搭載した送信機が送信する電波信号を用いて受信機位置を計測する。衛星測位方式は、送信機と受信機との間の距離を計測し、複数の衛星のそれぞれの位置と、それぞれの衛星と受信機との間の距離とを用いて、受信機位置を計算する。
送信機と受信機との間の距離を計測する方式には、信号の伝搬時間を計測することにより、送信機と受信機との間の距離(擬似距離)を算出する方式がある。
また、1メートル以下の高い位置計測精度を必要とする場合には、送信信号の搬送波位相情報(以下、搬送波位相)を用いる方式がある。例えば、GPS信号の搬送波の波長は、約20cmであるから、この信号の位相情報を用いることで、衛星と受信機間の距離をミリメートル級の分解能で計測できる。
搬送波位相を用いて距離を計測する場合、整数部分(360度を超える部分)の情報、すなわち搬送波波長の整数倍に相当する距離成分は、直接測定できない。搬送波位相の整数部分は、アンビギュイティ、整数バイアス、波数などと呼ばれるが、以下では「波数」と呼ぶ。波数は、直接測定できないので、これを決定する方式が必要である。信号を連続的に観測している場合、波数は一定値になるので、一旦波数を決定できれば、その後連続して観測した観測量により、受信機位置の算出が可能となる。
波数を決定する方法は幾つか知られている。例えば、搬送波位相やこれ以外の情報を用いて波数の実数推定値を計算し、この周囲に存在する整数値の波数候補を探索して信頼性が高い値を見つける。以下、波数の実数推定値を「実数波数」、探索の結果決定された波数(整数値)を「整数波数」と呼ぶ。
【0003】
また、誤差要因を消去するため、受信機を2台以上設置する場合がある。二つの受信機が、一つの測位衛星の信号を同時に受信し、算出した計測距離の差分を用いることで、受信機間の相対位置(基線もしくは基線ベクトル)を計測する。片方の受信機の正確な位置が事前に計測してあれば、他方の受信機位置が正確に計測できる。位置計測の対象となる受信機を移動局と呼び、移動局位置ベクトルの原点となる受信機を基準局と呼ぶ。この方式は、信号伝搬経路の媒体特性による伝搬時間の変動や、衛星に搭載した送信機間の時計誤差などの誤差要因が、差分によりほぼ消去される結果、高精度の位置計測が可能となる。以下、移動局と基準局との2つの観測量間の差分観測量を「一重差観測量」と呼ぶ。
また、一つの受信機が二つの測位衛星から受信した信号による計測距離の差分を用いることにより、受信機の時計誤差を消去することができる。
更に、二つの受信機が同じ二つの測位衛星から受信した信号による一重差観測量の差分を用いることにより、測位衛星の時計誤差、伝播時間の変動、受信機の時計誤差などの誤差要因を消去する場合もある。一重差観測量の差、すなわち、四つの観測量の差分を「二重差観測量」と呼ぶ。
【0004】
一重差観測量を用いる場合は、波数の差分を決定する必要があり、二重差観測量を用いる場合は、更に、その差分を決定する必要がある。以下の説明では、波数の差分や、更にその差分も含めて、「波数」と呼ぶ場合がある。
【非特許文献1】P.Y.C.Hwang「Kinematic GPS:Resolving Integer Ambiguities On The Fly」IEEE PLANS ’90、IEEE、579〜586ページ、1990年。
【非特許文献2】B.ホフマン−ウェレンホフ、H.リヒテネガー、J.コリンズ「GPS理論と応用」245〜286ページ、シュプリンガーフェアラーク東京、2005年。
【特許文献1】特開2003−185728号公報
【発明の開示】
【発明が解決しようとする課題】
【0005】
上述したように、ひとたび整数波数を決定できれば、それを用いて、その後の観測量により、受信機の位置を算出できる。しかし、決定した整数波数が間違っていると、その後の観測量により算出した受信機の位置も、正しくない位置を算出することになる。
この発明は、例えば、上記のような課題を解決するためになされたものであり、決定した整数波数の妥当性を、簡便かつ有効に判定し、判定結果に基づいて適切な措置をすることにより、整数波数及び受信機位置の推定の信頼性を高めることを目的とする。
【課題を解決するための手段】
【0006】
この発明にかかる波数推定装置は、
複数の測位衛星のそれぞれについて観測した観測量に基づいて、上記複数の測位衛星のそれぞれについての電波の波数を推定する波数推定装置において、
観測量取得部と、実数波数推定部と、整数波数推定部と、推定状態判定部とを有し、
上記観測量取得部は、上記複数の測位衛星のそれぞれについての観測量を繰り返し取得し、
上記実数波数推定部は、上記観測量取得部が取得した観測量に基づいて、上記複数の測位衛星のそれぞれについて、実数波数を推定し、上記複数の測位衛星のうち、上記実数波数の推定に成功した測位衛星についての実数波数を出力し、
上記整数波数推定部は、上記実数波数推定部が出力した実数波数に基づいて、上記複数の測位衛星のそれぞれについて、整数波数を推定し、上記複数の測位衛星のうち、上記整数波数の推定に成功した測位衛星についての整数波数を出力し、
上記推定状態判定部は、上記観測量取得部が取得した観測量の数と、上記実数波数推定部が出力した実数波数の数と、上記整数波数推定部が出力した整数波数の数とに基づいて、複数の判定基準に基づいて、上記実数波数推定部が推定した実数波数が正しいか否かを判定し、
上記実数波数推定部は、次回の推定において、更に、上記推定状態判定部が判定した結果に基づいて、実数波数を推定することを特徴とする。
【発明の効果】
【0007】
この発明にかかる波数推定装置によれば、推定状態判定部が、観測量の数や実数波数の数や整数波数の数に基づいて、実数波数推定部が推定した推定実数波数が正しいか否かを判定するので、少ない計算量で、容易に判定をすることができ、波数推定装置が推定した実数波数や整数波数の信頼性を高めることができる。また、実数波数推定部が、次回の推定において、推定状態判定部の判定結果を考慮して、推定実数波数を推定するので、誤った推定を早期に修正することができ、波数推定装置が推定した実数波数や整数波数の信頼性を高めることができる。
【発明を実施するための最良の形態】
【0008】
実施の形態1.
実施の形態1について、図1〜図5を用いて説明する。
【0009】
図1は、この実施の形態における測位装置800のハードウェア資源の一例を示す図である。
測位装置800は、プログラムを実行するCPU911(Central・Processing・Unit、中央処理装置、処理装置、演算装置、マイクロプロセッサ、マイクロコンピュータ、プロセッサともいう)を備えている。CPU911は、バス912を介してROM913、RAM914、通信装置915、表示装置901、キーボード902、マウス903、FDD904、CDD905、プリンタ装置906、スキャナ装置907、磁気ディスク装置920と接続され、これらのハードウェアデバイスを制御する。磁気ディスク装置920の代わりに、光ディスク装置、メモリカード読み書き装置などの記憶装置でもよい。
RAM914は、揮発性メモリの一例である。ROM913、FDD904、CDD905、磁気ディスク装置920の記憶媒体は、不揮発性メモリの一例である。これらは、記憶装置あるいは記憶部の一例である。
通信装置915、キーボード902、スキャナ装置907、FDD904などは、入力部、入力装置の一例である。
また、通信装置915、表示装置901、プリンタ装置906などは、出力部、出力装置の一例である。
【0010】
通信装置915は、例えば、ファクシミリ機、電話器、LAN、ゲートウェイ、インターネット、ISDN等のWAN(ワイドエリアネットワーク)などに接続されている。
磁気ディスク装置920には、オペレーティングシステム921(OS)、ウィンドウシステム922、プログラム群923、ファイル群924が記憶されている。プログラム群923のプログラムは、CPU911、オペレーティングシステム921、ウィンドウシステム922により実行される。
【0011】
上記プログラム群923には、以下に述べる実施の形態の説明において「〜部」として説明する機能を実行するプログラムが記憶されている。プログラムは、CPU911により読み出され実行される。
ファイル群924には、以下に述べる実施の形態の説明において、「〜の判定結果」、「〜の計算結果」、「〜の処理結果」として説明する情報やデータや信号値や変数値やパラメータが、「〜ファイル」や「〜データベース」の各項目として記憶されている。「〜ファイル」や「〜データベース」は、ディスクやメモリなどの記録媒体に記憶される。ディスクやメモリになどの記憶媒体に記憶された情報やデータや信号値や変数値やパラメータは、読み書き回路を介してCPU911によりメインメモリやキャッシュメモリに読み出され、抽出・検索・参照・比較・演算・計算・処理・出力・印刷・表示などのCPUの動作に用いられる。抽出・検索・参照・比較・演算・計算・処理・出力・印刷・表示のCPUの動作の間、情報やデータや信号値や変数値やパラメータは、メインメモリやキャッシュメモリやバッファメモリに一時的に記憶される。
また、以下に述べる実施の形態の説明において説明するフローチャートの矢印の部分は主としてデータや信号の入出力を示し、データや信号値は、RAM914のメモリ、FDD904のフレキシブルディスク、CDD905のコンパクトディスク、磁気ディスク装置920の磁気ディスク、その他光ディスク、ミニディスク、DVD(Digital・Versatile・Disk)等の記録媒体に記録される。また、データや信号は、バス912や信号線やケーブルその他の伝送媒体によりオンライン伝送される。
【0012】
また、以下に述べる実施の形態の説明において「〜部」として説明するものは、「〜回路」、「〜装置」、「〜機器」であってもよく、また、「〜ステップ」、「〜手順」、「〜処理」であってもよい。すなわち、「〜部」として説明するものは、ROM913に記憶されたファームウェアで実現されていても構わない。或いは、ソフトウェアのみ、或いは、素子・デバイス・基板・配線などのハードウェアのみ、或いは、ソフトウェアとハードウェアとの組み合わせ、さらには、ファームウェアとの組み合わせで実施されても構わない。ファームウェアとソフトウェアは、プログラムとして、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、ミニディスク、DVD等の記録媒体に記憶される。プログラムはCPU911により読み出され、CPU911により実行される。すなわち、プログラムは、以下に述べる「〜部」としてコンピュータを機能させるものである。あるいは、以下に述べる「〜部」の手順や方法をコンピュータに実行させるものである。
【0013】
図2は、この実施の形態における測位装置800の全体構成の一例を示すブロック構成図である。
測位装置800は、観測量取得部810、前処理部820、推定部100、位置演算部830を有する。
【0014】
観測量取得部810は、CPU911を用いて、観測量を取得する。
観測量取得部810は、観測量として、例えば、測位衛星が送信した電波を受信し、受信した電波に基づいて、電波の伝播時間や搬送波位相などを算出して取得する。なお、観測量取得部810は、通信装置915などの入力装置を用いて、基準局や他の装置が算出した伝播時間や搬送波位相などを観測量として取得する構成であってもよいし、過去に算出あるいは取得した観測量を、記憶装置を用いて記憶しておき、記憶装置が記憶した観測量を取得する構成であってもよい。
また、観測量取得部810は、観測量として、基準局が、測位装置800と同じ測位衛星が送信した電波を受信して取得した伝播時間や搬送波位相などの値を算出して取得する。なお、観測量取得部810は、通信装置915などの入力装置を用いて、基準局や他の装置が算出した伝播時間や搬送波位相などを観測量として取得する構成であってもよいし、過去に算出あるいは取得した観測量を、記憶装置を用いて記憶しておき、記憶装置が記憶した観測量を取得する構成であってもよい。
あるいは、観測量取得部810は、観測量として、取得した観測量に基づいて、一重差観測量や二重差観測量を算出して取得する。なお、観測量取得部810は、通信装置915などの入力装置を用いて、基準局や他の装置が算出した一重差観測量や二重差観測量などを観測量として取得する構成であってもよいし、過去に算出あるいは取得した観測量を、記憶装置を用いて記憶しておき、記憶装置が記憶した観測量を取得する構成であってもよい。
観測量取得部810は、CPU911を用いて、取得した観測量を出力する。
【0015】
前処理部820は、CPU911を用いて、観測量取得部810が取得した観測量に対して前処理をする。前処理部820は、例えば、後続するブロックでの処理を容易にするため、観測量の表現形式を変換したり、タイミングを調整したりする。前処理部820は、CPU911を用いて、前処理をした観測量(以下「前処理後観測量」と呼ぶ。)を出力する。
【0016】
推定部100(波数推定装置の一例)は、CPU911を用いて、前処理部820が前処理した前処理後観測量に基づいて、測位装置800(受信機)の大まかな位置を推定し、実数波数や整数波数を推定する。推定部100の詳細については、後述する。推定部100は、CPU911を用いて、推定した実数波数(以下「推定実数波数」と呼ぶ。)や推定した整数波数(以下「推定整数波数」と呼ぶ。)や推定した位置(以下「推定位置」と呼ぶ。)を出力する。
【0017】
位置演算部830は、CPU911を用いて、前処理部820が前処理した前処理後観測量や、推定部100が推定した推定実数波数や推定整数波数や推定位置に基づいて、測位装置800(受信機)の精密な位置を算出する。位置演算部830は、算出した測位装置800の位置を出力する。
【0018】
また、位置演算部830は、CPU911を用いて、推定部100が推定した推定実数波数や推定整数波数や推定位置の品質を検定し、異常がないか判定する。異常があると判定した場合、位置演算部830は、再初期化制御信号を出力する。
推定部100は、位置演算部830が出力した再初期化制御信号を入力する。再初期化制御信号を入力した場合、推定部100は、初期化処理をする。
【0019】
図3は、この実施の形態における推定部100の機能ブロックの構成の一例を示すブロック構成図である。
推定部100は、波数位置推定部110、状態判定出力部120を有する。
【0020】
波数位置推定部110(実数波数推定部兼整数波数推定部の一例)は、CPU911を用いて、前処理部820が前処理した前処理後観測量に基づいて、例えばカルマンフィルタなどを使用して、推定実数波数や推定位置を推定し、例えばラムダ(LAMBDA)法などを使用して、推定整数波数を推定する。波数位置推定部110は、推定した推定実数波数や推定整数波数や推定位置を出力する。
また、波数位置推定部110は、位置演算部830が出力した再初期化制御信号を入力する。位置演算部830が再初期化制御信号を出力した場合、波数位置推定部110は、カルマンフィルタなどの内部状態を初期化する。
【0021】
一般に、測位装置800の位置を未知数とすると、未知数が3つあるから、3つ以上の測位衛星との距離がわかれば、測位装置800の位置を算出できる。
更に、測位装置800の時計誤差も未知数と考えると、未知数が4つになるから、4つ以上の測位衛星との距離がわかれば、測位装置800の位置(と時計誤差)を算出できる。
4つ以上の測位衛星(あるいは一重差または二重差)の観測量について整数波数が推定できれば、精密な距離が算出でき、精密な位置が算出できる。精密な位置が算出できれば、逆に、推定した整数波数が正しいか否かを検証することができる。
【0022】
以下の説明において、観測量取得部810が取得した観測量(あるいは前処理部820が前処理した前処理後観測量)の数を、「観測量衛星数」と呼ぶ。例えば、単独測位の場合であれば、観測量衛星数は、可視衛星数に等しい。一重差観測量に基づく測位の場合であれば、基準局と共通して観測できる可視衛星数に等しい。二重差観測量に基づく測位の場合であれば、基準局と共通して観測できる可視衛星数から、基準衛星となる衛星を1つ除いた数に等しい。
また、前処理部820が前処理した前処理後観測量から波数位置推定部110が推定した推定実数波数の数を、「実数波数衛星数」と呼ぶ。波数位置推定部110は、各前処理後観測量に対応して、推定実数波数を推定するので、実数波数衛星数は、最大で、観測量衛星数に等しい。しかし、波数位置推定部110が推定に失敗する場合もあるので、実数波数衛星数は、観測量衛星数より少ない場合があり、0であることもあり得る。
更に、波数位置推定部110が推定した推定整数波数の数を、「整数波数衛星数」と呼ぶ。波数位置推定部110は、推定した各推定実数波数に対応して、推定整数波数を推定するので、整数波数衛星数の数は、最大で、推定実数波数衛星数に等しい。しかし、波数位置推定部110が推定に失敗する場合もあるので、整数波数衛星数は、実数波数衛星数よりも少ない場合があり、0であることもあり得る。
すなわち、「観測量衛星数≧実数波数衛星数≧整数波数衛星数≧0」という関係がある。
【0023】
状態判定出力部120は、推定状態判定部130、整数波数棄却部140を有する。
【0024】
推定状態判定部130は、CPU911を用いて、前処理部820が前処理した前処理後観測量や、波数位置推定部110が推定した推定実数波数や推定整数波数や、位置演算部830が出力した再初期化制御信号などに基づいて、波数位置推定部110の推定状態を判定する。推定状態判定部130は、CPU911を用いて、判定した結果を出力する。推定状態判定部130は、複数の判定基準に基づいて、波数位置推定部110の推定状態(波数位置推定部110の推定が正しいか否か)を判定する。推定状態判定部130は、例えば、三つの判定基準に基づいて判定し、第一の判定基準によって判定した結果と、第二の判定基準によって判定した結果と、第三の判定基準によって判定した結果とを出力する。例えば、推定状態判定部130は、第一及び第二の判定基準に基づいて、波数位置推定部110が推定した推定実数波数が正しいか否かを判定し、第三の判定基準に基づいて、波数位置推定部110が推定した推定整数波数が正しいか否かを判定する。推定状態判定部130は、第一及び第二の判定基準に基づく判定結果を、推定状態判定結果として出力し、第三の判定基準に基づく判定結果を、整数波数判定結果として出力する。
【0025】
整数波数棄却部140は、CPU911を用いて、推定状態判定部130が、波数位置推定部110が推定した推定整数波数が正しくないと判定した場合に、波数位置推定部110が推定した推定整数波数を棄却する。
例えば、整数波数棄却部140は、波数位置推定部110が出力した推定整数波数と、推定状態判定部130が出力した整数波数判定結果とを入力する。整数波数棄却部140は、入力した整数波数判定結果に基づいて、推定状態判定部130の判定内容を判別し、推定状態判定部130が、波数位置推定部110が推定した推定整数波数が正しいと判定した場合、入力した推定整数波数をそのまま出力する。整数波数棄却部140が出力した推定整数波数が、推定部100の外部への正式な出力となる。逆に、推定状態判定部130が、波数位置推定部110が推定した推定整数波数が正しくないと判定した場合、整数波数棄却部140は、入力した推定整数波数を出力せずに棄却する。これにより、推定部100は、推定整数波数を出力しない。
【0026】
また、波数位置推定部110は、推定状態判定部130が出力した推定状態判定結果や整数波数判定結果を入力する。入力した判定結果に基づいて、推定状態判定部130が、波数位置推定部110が推定した推定実数波数や推定整数波数が正しくないと判定した場合、波数位置推定部110は、カルマンフィルタなどの内部状態を初期化するなどの対処をする。波数位置推定部110は、推定状態判定部130が複数の判定基準に基づいて判定するのに対応して、複数の対処方式で対処をする。
【0027】
図4は、この実施の形態における推定状態判定部130の詳細ブロックの一例を示すブロック構成図である。
推定状態判定部130は、条件判定部131、判定蓄積部132、詳細判定生成部133を有する。
【0028】
条件判定部131は、CPU911を用いて、前処理部820が前処理した前処理後観測量や、波数位置推定部110が推定した推定実数波数や推定整数波数に基づいて、波数位置推定部110による今回の推定について、所定の条件が満たされているか否かを判定する。条件判定部131は、CPU911を用いて、判定した結果を出力する。
【0029】
条件判定部131が判定する条件は、詳細判定生成部133が、波数位置推定部110の推定が正しいか否かを判定するための材料となるものである。条件判定部131が判定する条件は、例えば、観測量衛星数や実数波数衛星数や整数波数衛星数に関する条件である。これらに関する条件は、少ない計算量で、容易に判定をすることができる。
【0030】
判定蓄積部132は、RAM914を用いて、条件判定部131が判定した結果を記憶する。判定蓄積部132は、過去の判定結果を、判定履歴として、所定の回数まで記憶する。例えば、判定蓄積部132は、リングバッファなどを使用して、条件判定部131が判定した判定履歴を記憶する。
【0031】
詳細判定生成部133は、CPU911を用いて、判定蓄積部132が記憶した判定履歴に基づいて、波数位置推定部110が推定した推定実数波数や推定整数波数が正しいか否かを判定する。詳細判定生成部133は、条件判定部131が今回判定した判定結果だけでなく、前回、前々回、…の判定結果も総合して、波数位置推定部110が推定した推定実数波数や推定整数波数が正しいか否かを判定する。詳細判定生成部133は、CPU911を用いて、判定した結果を出力する。
また、詳細判定生成部133は、波数位置推定部110が推定した推定実数波数が正しくないと判定した場合など、波数位置推定部110が内部状態を変更する場合には、判定蓄積部132に対して、履歴消去制御信号を出力する。
【0032】
判定蓄積部132は、CPU911を用いて、詳細判定生成部133が出力した履歴消去制御信号や、位置演算部830が出力した再初期化制御信号を入力する。詳細判定生成部133が履歴消去制御信号を出力した場合や、位置演算部830が再初期化制御信号を出力した場合、波数位置推定部110が内部状態を変更するので、判定蓄積部132は、RAM914を用いて記憶した条件判定部131によるそれまでの判定履歴を消去する。
【0033】
次に、動作について説明する。
【0034】
図5は、この実施の形態における測位装置800が位置を測定する測位処理の流れの一例を示すフローチャート図である。
測位処理は、観測量取得工程S510、前処理工程S520、推定工程S530、位置演算工程S540、再初期化工程S550、異常対処工程S560を有する。
【0035】
観測量取得工程S510において、観測量取得部810は、CPU911を用いて、観測量を取得する。
前処理工程S520において、前処理部820は、CPU911を用いて、観測量取得工程S510で観測量取得部810が取得した観測量を前処理する。
【0036】
推定工程S530は、波数位置推定工程S531、推定状態判定工程S532、整数波数棄却工程S537を有する。
【0037】
波数位置推定工程S531において、波数位置推定部110は、CPU911を用いて、前処理工程S520で前処理部820が前処理した前処理後観測量に基づいて、推定実数波数と、推定整数波数と、推定位置とを推定する。
推定状態判定工程S532は、条件判定工程S533、判定蓄積工程S534、詳細判定生成工程S535、履歴消去工程S536を有する。
条件判定工程S533において、条件判定部131は、CPU911を用いて、前処理工程S520で前処理部820が前処理後観測量と、波数位置推定工程S531で波数位置推定部110が推定した推定実数波数と推定整数波数と推定位置とに基づいて、所定の条件が満たされているか否かを判定する。
判定蓄積工程S534において、判定蓄積部132は、RAM914を用いて、条件判定工程S533で条件判定部131が判定した結果を記憶する。
詳細判定生成工程S535において、詳細判定生成部133は、CPU911を用いて、判定蓄積工程S534で判定蓄積部132が記憶した判定履歴に基づいて、波数位置推定部110の推定が正しいか否かを複数の基準に基づいて判定する。以下では、一例として、三つの基準に基づいて判定する場合を説明する。
詳細判定生成部133が判定した結果のうち、第一の判定基準に基づく判定結果において、波数位置推定部110の推定が誤っていると判定した場合、推定部100は、CPU911を用いて、履歴消去工程S536へ進む。
詳細判定生成部133が判定した結果のうち、第二の判定基準に基づく判定結果において、波数位置推定部110の推定が誤っていると判定した場合も、推定部100は、CPU911を用いて、履歴消去工程S536へ進む。
履歴消去工程S536において、判定蓄積部132は、RAM914を用いて記憶した判定履歴を消去する。
【0038】
詳細判定生成部133が判定した結果のうち、第三の判定基準に基づく判定結果において、波数位置推定部110の推定が誤っていると判定した場合、推定部100は、CPU911を用いて整数波数棄却工程S537へ進む。
整数波数棄却工程S537において、整数波数棄却部140は、CPU911を用いて、波数位置推定部110が推定した推定整数波数を棄却する。
【0039】
位置演算工程S540において、位置演算部830は、CPU911を用いて、前処理工程S520で前処理部820が前処理した前処理後観測量と、波数位置推定工程S531で波数位置推定部110が推定した推定実数波数と推定整数波数(整数波数棄却工程S537で整数波数棄却部140が棄却した推定整数波数を除く)と推定位置とに基づいて、測位装置800の位置を算出する。
位置演算部830が、測位装置800の位置を算出する過程で、推定部100の推定に異常があると判定し、再初期化制御信号を出力した場合、推定部100は、CPU911を用いて、再初期化工程S550へ進む。
それ以外の場合、推定部100は、CPU911を用いて、詳細判定生成工程S535で詳細判定生成部133が判定した判定結果に基づいて、処理を分岐する。
詳細判定生成部133が判定した判定結果のうち、第一の判定基準に基づく判定結果において、波数位置推定部110の推定が誤っていると判定した場合、推定部100は、CPU911を用いて、再初期化工程S550へ進む。
詳細判定生成部133が判定した判定結果のうち、第二の判定基準に基づく判定結果において、波数位置推定部110の推定が誤っていると判定した場合、推定部100は、CPU911を用いて、異常対処工程S560へ進む。
それ以外の場合、測位装置800は、CPU911を用いて、観測量取得工程S510に戻る。
【0040】
再初期化工程S550において、波数位置推定部110は、CPU911を用いて、カルマンフィルタなどの内部状態を初期化する。判定蓄積部132は、RAM914を用いて記憶した判定履歴を消去する。
その後、測位装置800は、CPU911を用いて、観測量取得工程S510に戻る。
【0041】
異常対処工程S560において、波数位置推定部110は、CPU911を用いて、カルマンフィルタなどの内部状態を変更するなどの対処をする。
その後、測位装置800は、CPU911を用いて、観測量取得工程S510に戻る。
【0042】
この実施の形態における推定部100(波数推定装置)は、複数の測位衛星のそれぞれについて観測した観測量に基づいて、上記複数の測位衛星のそれぞれについての電波の波数を推定する波数推定装置であって、観測量取得部810と、実数波数推定部(波数位置推定部110)と、整数波数推定部(波数位置推定部110)と、推定状態判定部130とを有する。
上記観測量取得部810は、上記複数の測位衛星のそれぞれについての観測量を繰り返し取得する。
上記実数波数推定部(波数位置推定部110)は、上記観測量取得部810が取得した観測量に基づいて、上記複数の測位衛星のそれぞれについて、実数波数を推定し、上記複数の測位衛星のうち、上記実数波数の推定に成功した測位衛星についての実数波数(推定実数波数)を出力する。
上記整数波数推定部(波数位置推定部110)は、上記実数波数推定部(波数位置推定部110)が出力した実数波数(推定実数波数)に基づいて、上記複数の測位衛星のそれぞれについて、整数波数を推定し、上記複数の測位衛星のうち、上記整数波数の推定に成功した測位衛星についての整数波数(推定整数波数)を出力する。
上記推定状態判定部130は、上記観測量取得部810が取得した観測量の数(観測量衛星数)と、上記実数波数推定部(波数位置推定部110)が出力した実数波数の数(実数波数衛星数)と、上記整数波数推定部(波数位置推定部110)が出力した整数波数の数(整数波数衛星数)とに基づいて、複数の判定基準に基づいて、上記実数波数推定部(波数位置推定部110)が推定した実数波数(推定実数波数)が正しいか否かを判定する。
上記実数波数推定部(波数位置推定部110)は、次回の推定において、更に、上記推定状態判定部130が判定した結果に基づいて、実数波数を推定する。
【0043】
この実施の形態における推定部100(波数推定装置)によれば、推定状態判定部130が、観測量衛星数や実数波数衛星数や整数波数衛星数に基づいて、波数位置推定部110が推定した推定実数波数が正しいか否かを判定するので、少ない計算量で、容易に判定をすることができ、推定部100が推定した推定実数波数や推定整数波数の信頼性を高めることができる。また、実数波数推定部(波数位置推定部110)が、次回の推定において、推定状態判定部130の判定結果を考慮して、推定実数波数を推定するので、誤った推定を早期に修正することができ、推定部100が推定した推定実数波数や推定整数波数の信頼性を高めることができる。
【0044】
この実施の形態における推定部100(波数推定装置)は、更に、整数波数棄却部140を有する。
上記推定状態判定部130は、更に、上記観測量取得部810が取得した観測量の数(観測量衛星数)と、上記実数波数推定部(波数位置推定部110)が出力した実数波数の数(実数波数衛星数)と、上記整数波数推定部(波数位置推定部110)が出力した整数波数の数(整数波数衛星数)とに基づいて、上記整数波数推定部(波数位置推定部110)が推定した整数波数(推定整数波数)が正しいか否かを判定する。
上記整数波数棄却部140は、上記推定状態判定部130が、上記整数波数(推定整数波数)が正しくないと判定した場合に、上記整数波数推定部(波数位置推定部110)が出力した整数波数(推定整数波数)を棄却する。
【0045】
この実施の形態における推定部100(波数推定装置)によれば、推定状態判定部130が、観測量衛星数や実数波数衛星数や整数波数衛星数に基づいて、波数位置推定部110が推定した推定整数波数が正しいか否かを判定するので、少ない計算量で、容易に判定をすることができ、推定部100が推定した推定整数波数の信頼性を高めることができる。また、推定状態判定部130が誤っていると判定した推定整数波数を、整数波数棄却部140が棄却するので、その後の演算(例えば位置演算部830による位置の算出)に、誤っていると判定された推定整数波数が用いられることがなく、その後の演算の信頼性を高めることができる。
【0046】
この実施の形態における測位装置800は、電波受信部(観測量取得部810)と、観測量算出部(観測量取得部810)と、波数推定装置(推定部100)と、位置演算部830とを有する。
上記電波受信部(観測量取得部810)は、複数の測位衛星のそれぞれが送信した電波を受信する。
上記観測量算出部(観測量取得部810)は、上記電波受信部(観測量取得部810)が受信した電波に基づいて、上記複数の測位衛星のそれぞれについて、観測量を算出する。
上記波数推定装置(推定部100)は、上記観測量算出部(観測量取得部810)が算出した観測量に基づいて、上記実数波数と、上記整数波数とを推定する。
上記位置演算部830は、上記観測量算出部(観測量取得部810)が算出した観測量と、上記波数推定装置(推定部100)が推定した実数波数及び整数波数とに基づいて、位置を算出する。
【0047】
この実施の形態における測位装置800によれば、波数推定装置(推定部100)が推定した信頼性の高い推定実数波数や推定整数波数に基づいて、位置演算部830が位置を算出するので、算出した位置の信頼性を高めることができる。
【0048】
この実施の形態における推定部100(波数推定装置)が、複数の測位衛星のそれぞれについて観測した観測量に基づいて、上記複数の測位衛星のそれぞれについての波数を推定する波数推定方法は、以下の工程を有する。
上記観測量取得部810が、上記複数の測位衛星のそれぞれについての観測量を繰り返し取得する(観測量取得工程S510)。
上記実数波数推定部(波数位置推定部110)が、上記観測量取得部810が取得した観測量に基づいて、上記複数の測位衛星のそれぞれについて、実数波数を推定し、上記複数の測位衛星のうち、上記実数波数の推定に成功した測位衛星についての実数波数(推定実数波数)を出力する(波数位置推定工程S531)。
上記整数波数推定部(波数位置推定部110)が、上記実数波数推定部(波数位置推定部110)が出力した実数波数(推定実数波数)に基づいて、上記複数の測位衛星のそれぞれについて、整数波数を推定し、上記複数の測位衛星のうち、上記整数波数の推定に成功した測位衛星についての整数波数(推定整数波数)を出力する(波数位置推定工程S531)。
上記推定状態判定部130が、上記観測量取得部810が取得した観測量の数(観測量衛星数)と、上記実数波数推定部(波数位置推定部110)が出力した実数波数の数(実数波数衛星数)と、上記整数波数推定部(波数位置推定部110)が出力した整数波数の数(整数波数衛星数)とに基づいて、複数の判定基準に基づいて、上記実数波数推定部(波数位置推定部110)が推定した実数波数(推定実数波数)が正しいか否かを判定する。
上記実数波数推定部(波数位置推定部110)が、次回の推定において、更に、上記推定状態判定部130が判定した結果に基づいて、実数波数を推定する。
【0049】
この実施の形態における波数推定方法によれば、推定状態判定部130が、観測量衛星数や実数波数衛星数や整数波数衛星数に基づいて、波数位置推定部110が推定した推定実数波数が正しいか否かを判定するので、少ない計算量で、容易に判定をすることができ、推定部100が推定した推定実数波数や推定整数波数の信頼性を高めることができる。また、実数波数推定部(波数位置推定部110)が、次回の推定において、推定状態判定部130の判定結果を考慮して、推定実数波数を推定するので、誤った推定を早期に修正することができ、推定部100が推定した推定実数波数や推定整数波数の信頼性を高めることができる。
【0050】
以上説明した測位装置800は、各時刻において観測量衛星数(可視衛星数)、(推定)実数波数衛星数、(推定)整数波数衛星数を算出し、これらの値を用いた数種類の判定を行う。
【0051】
測位装置800は、観測量取得部810が収集した受信機の観測量を、前処理部820が、後続するブロックでの処理を容易化するための前処理を適用し、前処理後観測量を生成する。推定部100と位置演算部830とは、前処理後観測量を用いて受信機の位置を演算して出力する。
推定部100は、各時刻に対応する前処理後観測量を用いて、同時刻の位置や実数波数や整数波数などを推定する。位置演算部830は、これらの情報を用いて同時刻の精密位置を演算する。位置演算部830は、精密位置を演算する際に推定部100の出力の品質を検定し、異常が検出された場合は、推定部100を初期化するための再初期化制御信号を出力する。
【0052】
推定部100において、波数位置推定部110は、推定部100の出力推定を行う。状態判定出力部120は、波数位置推定部110の出力や、前処理後観測量や、位置演算部830の再初期化制御出力を用いて、推定状態判定部130が、波数位置推定部110の状態判定出力を生成し、整数波数棄却部140(整数波数初期化部)が、推定整数波数の出力制御を行う。整数波数棄却部140(整数波数初期化部)は、波数位置推定部110が出力する推定整数波数の中から、推定状態判定部130が出力する整数波数判定出力が誤っていると判定する衛星の推定整数波数を棄却して出力する。
【0053】
推定状態判定部130において、条件判定部131は、前処理後観測量や波数位置推定部110の出力である推定実数波数および推定整数波数を入力として、詳細判定生成部133の入力となる、幾つかの条件判定出力を生成する。判定蓄積部132は、条件判定部131の過去の出力履歴を蓄積して出力する。また、再初期化制御信号が入力された場合、判定蓄積部132は、蓄積していた条件判定部131の過去の出力履歴を消去する。
詳細判定生成部133は、判定蓄積部132の出力である、条件判定部131の出力履歴を用いて、各時刻における波数位置推定部110の状態の詳細を複数の方法で判定する。そして各々の判定結果である、推定状態判定出力および整数波数判定出力を生成する。また、同時刻以降の判定に、条件判定部131の過去の出力履歴が不要と判断した場合は、履歴消去制御信号を出力する。判定蓄積部132は、詳細判定生成部133が出力する履歴消去制御信号に応じて、条件判定部131の出力履歴を消去する。
【0054】
波数位置推定部110は、詳細判定生成部133の出力である推定状態判定出力および整数波数判定出力を用いて自身の推定状態を判定し、適切な処理を行う。具体的な処理内容としては、例えば、各推定状態の初期化がある。幾つかの異なる初期化方法が可能な推定状態に対しては、前記の詳細判定生成部133の出力に応じて推定状態の信頼性を判定し、適切な初期化方法を選択する。
これにより、推定部100の出力の信頼性を上げる事が可能となり、位置演算部830が生成する位置出力の信頼性が向上する。
【0055】
実施の形態2.
実施の形態2について、説明する。
この実施の形態における測位装置800のハードウェア資源及び全体構成、推定部100の内部構成、推定状態判定部130の詳細構成は、実施の形態1で説明したものと同様なので、ここでは説明を省略する。
【0056】
この実施の形態では、推定状態判定部130が判定する判定基準と、それに対応する波数位置推定部110の対処方式について、具体例を挙げて説明する。
【0057】
推定状態判定部130が判定する複数の判定基準のうちの一つとして、ここでは、実数波数衛星数と整数波数衛星数との差が所定の閾値(例えば5)より大きい状態が、所定の回数(例えば50回)または所定の時間(例えば20秒)以上続いたか否かという判定基準を用いる。
【0058】
条件判定部131は、CPU911を用いて、前処理部820が出力した前処理後観測量と、波数位置推定部110が出力した推定実数波数と推定整数波数とを入力する。
条件判定部131は、CPU911を用いて、入力した前処理後観測量の数を数えて、観測量衛星数を算出し、入力した推定実数波数の数を数えて、実数波数衛星数を算出し、入力した推定整数波数の数を数えて、整数波数衛星数を算出する。
【0059】
条件判定部131は、CPU911を用いて、算出した実数波数衛星数と、算出した整数波数衛星数との差を算出する。条件判定部131は、CPU911を用いて、算出した実数波数衛星数と整数波数衛星数との差が、所定の閾値(例えば5)より大きいか否かを判定する。条件判定部131は、CPU911を用いて、判定した結果を出力する。判定蓄積部132は、CPU911を用いて、条件判定部131は出力した判定結果を入力する。判定蓄積部132は、RAM914を用いて、入力した判定結果を記憶する。
【0060】
なお、判定蓄積部132は、入力した判定結果を履歴としてそのまま記憶するのではなく、CPU911を用いて、最新の判定結果と同じ判定結果が連続して何回あったかを算出し、RAM914を用いて、最新の判定結果と、算出した連続回数とを記憶する構成としてもよい。
【0061】
詳細判定生成部133は、CPU911を用いて、判定蓄積部132が記憶した判定結果の履歴を入力する。詳細判定生成部133は、CPU911を用いて、入力した判定履歴に基づいて、実数波数衛星数と整数波数衛星数との差が所定の閾値より大きい状態が、何回連続しているかを判定する。
詳細判定生成部133は、CPU911を用いて、判定した連続回数が、所定の閾値(例えば50)より大きいか否かを判定する。
【0062】
判定した連続回数が、所定の閾値より大きいと判定した場合、詳細判定生成部133は、CPU911を用いて、波数位置推定部110が推定した推定整数波数が正しくないと判定する。詳細判定生成部133は、CPU911を用いて、判定した結果を、複数の推定状態判定結果の一つとして出力する。
【0063】
観測量衛星数が4以上であれば、測位装置800の位置を大まかに推定することができる。推定した大まかな位置に基づいて、推定整数波数を推定し、整数波数衛星数が4以上になれば、測位装置800の位置を精密に推定することができる。推定した精密な位置に基づいて、推定した推定整数波数を検証すれば、推定結果の矛盾を判定することができるので、波数位置推定部110は、間違っていると判定した推定整数波数を棄却する。その場合、実数波数衛星数よりも整数波数衛星数が少なくなる。
【0064】
そのような状態がたまに発生する場合は、マルチパスなどの誤差要因による一時的なものと考えられるから、波数位置推定部110が推定した位置や、正しいと判定した推定整数波数は、正しいと考えてよい。しかし、そのような状態が連続して発生する場合は、一時的な誤差要因の影響とは考えにくい。むしろ、正しいと判定された推定整数波数が間違っているため、推定した位置も間違っていると考えるべきであり、すべての推定整数波数を矛盾なく推定できる真の位置が他にあると考えられる。
【0065】
カルマンフィルタなどを使用した推定では、過去の推定値と、新しい観測量とに基づいて、新しい推定値を算出する。推定値には推定誤差が、観測量には観測誤差がそれぞれ含まれるので、それぞれに適切な重み付けをすることで、最適な推定結果を得る。カルマンフィルタでは、その重み付けをカルマンゲインと呼ぶ。また、カルマンフィルタでは、過去の推定値の推定誤差の誤差共分散行列を推定し、推定した誤差共分散行列に基づいて、カルマンゲインを算出する。誤差共分散行列の値が大きい場合、過去の推定値の推定誤差が大きいと考えられるので、カルマンフィルタは、新しい観測量に重きを置いた推定をする。逆に、誤差共分散行列の値が小さい場合、過去の推定値の推定誤差が小さいと考えられるので、カルマンフィルタは、過去の推定値に重きを置いた推定をする。
【0066】
このように、過去の推定値を記憶しておいて次の推定に利用する推定方式は、観測量に含まれる観測誤差が平均されて打ち消しあい、推定値が徐々に正しい値に近づく利点がある反面、過去の推定値が間違っているのに正しいと思い込んでしまうと、なかなかそこから抜け出せない場合がある。
【0067】
波数位置推定部110における推定方式が、上記のような推定方式であり、その出力が、上記の判定基準に合致する場合、推定位置や推定実数波数や推定整数波数など、波数位置推定部110が次の推定のために保持している推定値やその他の内部的な値(例えば誤差共分散行列の値)が、間違った値で安定している可能性がある。
その場合、波数位置推定部110が保持している推定値やその他の内部的な値を初期化して、最初から推定をやり直すことにより、正しい推定値に収束させることができる可能性がある。
【0068】
波数位置推定部110は、CPU911を用いて、詳細判定生成部133が出力した複数の推定状態判定結果を入力する。
推定状態判定部130が、実数波数衛星数と整数波数衛星数との差が所定の閾値より大きい状態が、所定の回数または所定の時間以上続いたと判定した場合、波数位置推定部110は、CPU911を用いて、入力した推定状態判定結果に基づいて、その判定結果を取得し、初期化処理を行う。
【0069】
例えば、波数位置推定部110が、RAM914を用いて、推定した推定実数波数を記憶し、次回の推定に利用する構成である場合、初期化処理において、波数位置推定部110は、RAM914を用いて記憶した推定実数波数(以下「前回推定実数波数」と呼ぶ。)の値を消去する。
波数位置推定部110が、RAM914を用いて、推定実数波数以外の推定値や内部的な値を記憶し、次回の推定に利用する構成である場合は、初期化処理において、波数位置推定部110は、同様に、RAM914を用いて記憶した他の推定値や内部的な値を消去する。
これにより、波数位置推定部110は、次回からの推定において、過去の推定値に捉われることなく推定をすることができるので、正しい値を推定できる可能性が高まり、推定値の信頼性を高めることができる。
【0070】
この実施の形態で説明した判定基準は、波数位置推定部110が間違った推定状態で安定しているか否かを判定するための判定基準の一例であり、他の判定基準を用いて、波数位置推定部110が間違った推定状態で安定しているか否かを判定してもよい。
この実施の形態で説明した判定基準は、判定に必要な計算量が少なく、容易に判定をすることができるので、好ましい。
【0071】
この実施の形態で説明した対処方式は、波数位置推定部110を間違った安定状態から脱却させ、正しい安定状態へ向かわせる対処方式の一例であり、他の対処方式を用いて、波数位置推定部110を間違った安定状態から脱却させてもよい。
この実施の形態で説明した対処方式は、簡単なやり方で、波数位置推定部110を間違った安定状態から脱却させることができるので、好ましい。
【0072】
なお、推定状態判定部130が、波数位置推定部110が間違った推定状態で安定していると判定した場合、整数波数棄却部140が、波数位置推定部110が推定した推定整数波数を棄却する構成としてもよい。
【0073】
この実施の形態における推定部100(波数推定装置)において、上記実数波数推定部(波数位置推定部110)は、推定した実数波数を前回推定実数波数として記憶し、記憶した前回推定実数波数と、上記観測量取得部810が新たに取得した観測量とに基づいて、実数波数を推定し、上記推定状態判定部130が、上記複数の判定基準のうち第一の判定基準により、上記実数波数が正しくないと判定した場合に、記憶した前回推定実数波数を初期化する。
【0074】
この実施の形態における推定部100(波数推定装置)によれば、波数位置推定部110が過去に推定した推定実数波数を利用して新たな実数波数を推定することにより、間違った推定状態で安定した場合に、記憶した前回推定実数波数を初期化することで、間違った推定状態から脱却することができる。これにより、推定部100が推定した推定実数波数や推定整数波数の信頼性を高めることができる。
【0075】
この実施の形態における推定部100(波数推定装置)において、上記推定状態判定部130は、上記第一の判定基準として、所定の回数または所定の時間以上連続して、上記実数波数推定部(波数位置推定部110)が推定した実数波数の数と、上記整数波数推定部(波数位置推定部110)が推定した整数波数の数との差が、所定の閾値より大きい場合に、上記実数波数推定部(波数位置推定部110)が推定した実数波数が正しくないと判定する。
【0076】
この実施の形態における推定部100(波数推定装置)によれば、波数位置推定部110が間違った推定状態で安定したことを、少ない計算量で容易に判定することができるので、波数位置推定部110を間違った推定状態から脱却させることができる。これにより、推定部100が推定した推定実数波数や推定整数波数の信頼性を高めることができる。
【0077】
以上説明した測位装置800は、上記数種類の判定が所定回数以上連続して発生した場合に整数波数および位置の推定値の妥当性を判定する。
測位装置800は、整数波数や位置を推定する推定部(波数位置推定部110)の初期化方法(対処方式)を数種類備えており、推定部を初期化する際にこれらを組合せて適用する。
測位装置800は、上記妥当性判定の結果に応じて適切な初期化方法(対処方式)の組合せを適用する。
【0078】
以上説明した測位装置800において、条件判定部131は、各エポックで、以下の3種類の衛星数を比較する事で出力を生成する。(A)前処理後観測量に含まれる衛星数を指す観測量衛星数(可視衛星数)。(B)推定実数波数に含まれる衛星数を指す推定実数波数衛星数。(C)推定整数波数に含まれる衛星数を指す推定整数波数衛星数。
ここで、推定整数波数衛星数に含まれる衛星は、推定実数波数衛星数にも含まれていると定義する。つまり、推定整数波数を備える衛星は、推定実数波数も備える。
【0079】
条件判定部131は、精密な位置計算を可能とするために十分な数(例えば5個以上)の(推定実数波数衛星数−推定整数波数衛星数)が推定整数波数が決定できずに維持されているか否かを判定する。条件判定部131が、十分な数の(推定実数波数衛星数−推定整数波数衛星数)が維持されていると判定した場合、詳細判定生成部133は、その状態が、所定回数または所定時間以上連続して発生したか否かを判定する。詳細判定生成部133は、その状態が所定回数または所定時間以上連続して発生したと判定した場合、整数波数推定の基準となる基線ベクトルの精度が低いと判定し、推定した整数波数および基線ベクトルが誤っていると判定する。
【0080】
波数位置推定部110は、推定状態判定部130が、現状の解が全く信用できないと判定した場合、カルマンフィルタの平均推定値と共分散推定値を全て初期化して推定を再開する。
【0081】
これにより、幾つかの計測距離の誤差推定がうまくいかない場合に、不適切な推定位置に収束してしまい、適切な推定位置への収束が阻害されるのを回避することができる。
【0082】
実施の形態3.
実施の形態3について、説明する。
この実施の形態における測位装置800のハードウェア資源及び全体構成、推定部100の内部構成、推定状態判定部130の詳細構成は、実施の形態1で説明したものと同様なので、ここでは説明を省略する。
【0083】
この実施の形態では、推定状態判定部130が判定する判定基準と、それに対応する波数位置推定部110の対処方式について、別の具体例を挙げて説明する。
【0084】
推定状態判定部130が判定する複数の判定基準の一つとして、ここでは、整数波数衛星数が、所定の閾値(例えば3)より小さい状態が、所定の回数(例えば50回)あるいは所定の時間(例えば20秒)以上続いたか否かという判定基準を用いる。
【0085】
条件判定部131は、CPU911を用いて、算出した整数波数衛星数が、所定の閾値より小さいか否かを判定する。条件判定部131は、CPU911を用いて、判定した結果を出力する。判定蓄積部132は、CPU911を用いて、条件判定部131が出力した判定結果を入力する。判定蓄積部132は、RAM914を用いて、入力した判定結果を記憶する。
【0086】
詳細判定生成部133は、CPU911を用いて、判定蓄積部132が記憶した判定結果の履歴を入力する。詳細判定生成部133は、CPU911を用いて、入力した判定履歴に基づいて、整数波数衛星数が所定の閾値より小さい状態が、何回連続しているかを判定する。
詳細判定生成部133は、CPU911を用いて、判定した連続回数が、所定の閾値(例えば50)より大きいか否かを判定する。
【0087】
判定した連続回数が、所定の閾値より大きいと判定した場合、詳細判定生成部133は、CPU911を用いて、波数位置推定部110が推定した推定実数波数が正しくないと判定する。詳細判定生成部133は、CPU911を用いて、判定した結果を、複数の推定状態判定結果の一つとして出力する。
【0088】
整数波数衛星数が3以下である場合、測位装置800の位置を精密に推定することができないので、波数位置推定部110が推定した推定実数波数や推定整数波数の信頼性は、それほど高くない。波数位置推定部110における推定方式が、過去の推定値を記憶しておいて次の推定に利用する推定方式である場合、波数位置推定部110は、新しい推定値が、過去の推定値に矛盾しないことをもって、推定実数波数や推定整数波数が正しいと判定している可能性がある。
【0089】
測位装置800の位置を精密に推定せずに、推定実数波数や推定整数波数を推定することが、短い時間の間だけであれば、推定した推定実数波数や推定整数波数をある程度信頼してもよいが、長い時間連続してその状態が続く場合、徐々に信頼性が下がっていく。その結果、推定値が、いつのまにか間違った値になり、そのまま安定してしまう可能性がある。
その場合、波数位置推定部110が、過去の推定値の推定誤差が大きいとして、過去の推定値よりも新しい観測量に重きを置いた推定をすることで、間違った推定値のまま安定するのを防ぐことができる。
【0090】
波数位置推定部110は、CPU911を用いて、詳細判定生成部133が出力した複数の推定状態判定結果を入力する。
推定状態判定部130が、整数波数衛星数が所定の閾値より小さい状態が、所定の回数または所定の時間以上続いたと判定した場合、波数位置推定部110は、CPU911を用いて、入力した推定状態判定結果に基づいて、その判定結果を取得し、推定における過去の推定値の重みを少なくする。
【0091】
例えば、波数位置推定部110が、RAM914を用いて、前回推定実数波数を記憶し、次回の推定に利用する構成である場合、波数位置推定部110は、CPU911を用いて、次回の推定における前回推定実数波数の重みを少なくする。
例えば、波数位置推定部110が、カルマンフィルタを用いて、推定実数波数を推定する場合であれば、波数位置推定部110は、RAM914を用いて記憶した誤差共分散行列の値を大きくする。例えば、波数位置推定部110は、CPU911を用いて、記憶した誤差共分散行列の値を100倍し、RAM914を用いて、新たな誤差共分散行列の値として記憶する。
【0092】
この実施の形態で説明した判定基準は、推定値の信頼性が徐々に下がり、波数位置推定部110が間違った推定状態で安定する可能性があるか否かを判定するための判定基準の一例であり、他の判定基準を用いて、波数位置推定部110が間違った推定状態で安定する可能性があるか否かを判定してもよい。
この実施の形態で説明した判定基準は、判定に必要な計算量が少なく、容易に判定をすることができるので、好ましい。
【0093】
この実施の形態で説明した対処方式は、波数位置推定部110が間違った推定状態のまま安定するのを防ぐ対処方式の一例であり、他の対象方式により、波数位置推定部110が間違った推定状態のまま安定するのを防ぐ構成としてもよい。
この実施の形態で説明した対処方式は、簡単なやり方で、波数位置推定部110が間違った推定状態のまま安定するのを防ぐことができるので、好ましい。
【0094】
なお、推定状態判定部130が、波数位置推定部110が間違った推定状態で安定する可能性があると判定した場合、整数波数棄却部140が、波数位置推定部110が推定した推定整数波数を棄却する構成としてもよい。
【0095】
この実施の形態における推定部100(波数推定装置)において、上記実数波数推定部(波数位置推定部110)は、推定した実数波数を前回推定実数波数として記憶し、記憶した前回推定実数波数と、上記観測量取得部810が新たに取得した観測量とに基づいて、実数波数を推定し、上記推定状態判定部130が、上記複数の判定基準のうち第二の判定基準により、上記実数波数が正しくないと判定した場合に、上記実数波数の推定における上記前回推定実数波数の重みを少なくする。
【0096】
この実施の形態における推定部100(波数推定装置)によれば、波数位置推定部110が過去に推定した信頼性の低い前回推定実数波数を利用して新たな実数波数を推定することにより、間違った推定状態で安定する可能性がある場合に、次回の推定における前回推定実数波数の重みを少なくすることにより、間違った推定状態で安定するのを防ぐことができる。これにより、推定部100が推定した推定実数波数や推定整数波数の信頼性を高めることができる。
【0097】
この実施の形態における推定部100(波数推定装置)において、上記実数波数推定部(波数位置推定部110)は、カルマンフィルタを用いて、上記実数波数を推定し、上記カルマンフィルタで用いられる誤差共分散行列の値を記憶し、上記推定状態判定部130が、上記複数の判定基準のうち第二の判定基準により、上記実数波数が正しくないと判定した場合に、記憶した誤差共分散行列の値を大きくする。
【0098】
この実施の形態における推定部100(波数推定装置)によれば、カルマンフィルタで用いられる誤差共分散行列の値を大きくすることにより、過去の推定値よりも新しい観測量に重きを置く推定をすることができるので、間違った推定状態で安定するのを防ぐことができる。これにより、推定部100が推定した推定実数波数や推定整数波数の信頼性を高めることができる。
【0099】
この実施の形態における推定部100(波数推定装置)において、上記推定状態判定部130は、上記第二の判定基準として、所定の回数または所定の時間以上連続して、上記整数波数推定部(波数位置推定部110)が推定した整数波数の数(整数波数衛星数)が、所定の閾値より小さい場合に、上記実数波数推定部(波数位置推定部110)が推定した実数波数が正しくないと判定する。
【0100】
この実施の形態における推定部100(波数推定装置)によれば、波数位置推定部110が間違った推定状態で安定する可能性があることを、少ない計算量で容易に判定することができるので、波数位置推定部110が間違った推定状態で安定するのを防ぐことができる。これにより、推定部100が推定した推定実数波数や推定整数波数の信頼性を高めることができる。
【0101】
以上説明した測位装置800において、条件判定部131は、精密な位置計算を可能とするために必ずしも十分ではない数(例えば3個または2個以下)の推定整数波数衛星数が維持されているか否かを判定する。条件判定部131が、十分でない数の推定整数波数衛星数が維持されていると判定した場合、詳細判定生成部133は、精密な位置計算が可能となる最低数を推定整数波数衛星数が下回っている状態が、所定回数または所定時間以上連続して発生したか否かを判定する。詳細判定生成部133は、精密な位置計算が可能となる最低数を推定整数波数衛星数が下回っている状態が、所定回数または所定時間以上連続して発生したと判定した場合に、整数波数推定の基準となる基線ベクトルの精度が低いと判定し、推定した整数波数が誤っていると判定する。
【0102】
波数位置推定部110は、推定状態判定部130が、推定整数波数の信頼性が低く、基線ベクトルの信頼性が低いと判定した場合、カルマンフィルタの共分散推定値(誤差共分散行列の値)を増加する。例えば、値を100倍に再設定する。
【0103】
これにより、幾つかの計測距離の誤差推定がうまくいかない場合に、不適切な推定位置に収束してしまい、適切な推定位置への収束が阻害されるのを回避することができる。
【0104】
実施の形態4.
実施の形態4について、説明する。
この実施の形態における測位装置800のハードウェア資源及び全体構成、推定部100の内部構成、推定状態判定部130の詳細構成は、実施の形態1で説明したものと同様なので、ここでは説明を省略する。
【0105】
この実施の形態では、推定状態判定部130が判定する判定基準と、それに対応する波数位置推定部110の対処方式について、更に別の具体例を挙げて説明する。
【0106】
推定状態判定部130が判定する複数の判定基準のうちの一つとして、ここでは、推定整数波数衛星数が所定の閾値(例えば4)より大きく、かつ、推定実数波数衛星数と推定整数波数衛星数との差が所定の閾値(例えば1)より大きい状態が、所定の回数(例えば50回)または所定の時間(例えば20秒)以上続いたか否かという判定基準を用いる。
【0107】
条件判定部131は、CPU911を用いて、算出した整数波数衛星数が、所定の閾値(例えば4)より大きいか否かを判定する。条件判定部131は、CPU911を用いて、判定した結果を出力する。判定蓄積部132は、CPU911を用いて、条件判定部131が出力した判定結果を入力する。判定蓄積部132は、RAM914を用いて、入力した判定結果を記憶する。
条件判定部131は、CPU911を用いて、算出した実数波数衛星数と、算出した整数波数衛星数との差を算出する。条件判定部131は、CPU911を用いて、算出した実数波数衛星数と整数波数衛星数との差が、所定の閾値(例えば1)より大きいか否かを判定する。条件判定部131は、CPU911を用いて、判定した結果を出力する。判定蓄積部132は、CPU911を用いて、条件判定部131は出力した判定結果を入力する。判定蓄積部132は、RAM914を用いて、入力した判定結果を記憶する。
【0108】
詳細判定生成部133は、CPU911を用いて、判定蓄積部132が記憶した判定結果の履歴を入力する。詳細判定生成部133は、CPU911を用いて、入力した判定履歴に基づいて、整数波数衛星数が所定の閾値より大きく、かつ、実数波数衛星数と整数波数衛星数との差が所定の閾値より大きい状態が、何回連続しているかを判定する。
詳細判定生成部133は、CPU911を用いて、判定した連続回数が、所定の閾値(例えば50)より大きいか否かを判定する。
【0109】
整数波数衛星数が4以上あれば、測位装置800の位置を精密に推定でき、推定整数波数を検証できる。多くの推定整数波数が検証に成功している場合、推定した推定位置や推定整数波数は、概ね正しいと考えてよいが、検証に失敗した推定整数波数がある場合、なにかが間違っている可能性がある。そのような状態が長く続けば続くほど場合、推定した推定整数波数が間違っている可能性は高くなる。
【0110】
判定した連続回数が、所定の閾値より大きいと判定した場合、詳細判定生成部133は、CPU911を用いて、波数位置推定部110が推定した推定整数波数が正しくないと判定する。詳細判定生成部133は、CPU911を用いて、判定した結果を、整数波数判定結果として出力する。
【0111】
整数波数棄却部140は、CPU911を用いて、詳細判定生成部133が出力した整数波数判定結果を入力する。
推定状態判定部130が、整数波数衛星数が所定の閾値より大きく、かつ、実数波数衛星数と整数波数衛星数との差が所定の閾値より大きい状態が、所定の回数または所定の時間以上続いたと判定した場合、整数波数棄却部140は、CPU911を用いて、入力した整数波数判定結果に基づいて、その判定結果を取得し、波数位置推定部110が推定した推定整数波数を棄却する。
これにより、推定部100は、間違っている可能性が高い推定整数波数を出力しないので、後段(位置演算部830)の処理に悪影響が出るのを防ぐことができる。
【0112】
この実施の形態で説明した判定基準は、波数位置推定部110が推定した推定整数波数が間違っている可能性が高いか否かを判定するための判定基準の一例であり、他の判定基準を用いて、波数位置推定部110が推定した推定整数波数が間違っている可能性が高いか否かを判定してもよい。
この実施の形態で説明した判定基準は、判定に必要な計算量が少なく、容易に判定をすることができるので、好ましい。
【0113】
この実施の形態で説明した対処方式は、波数位置推定部110が推定した推定整数波数が間違っている可能性が高い場合に、その影響が後段に伝播するのを防ぐ対処方式の一例であり、他の対処方式を用いて、間違った推定整数波数の影響が伝播するのを防ぐ構成としてもよい。
この実施の形態で説明した対処方式は、簡単なやり方で、間違った推定整数波数の影響が伝播するのを防ぐことができるので、好ましい。
【0114】
なお、推定状態判定部130が、整数波数衛星数が所定の閾値より大きく、かつ、実数波数衛星数と整数波数衛星数との差が所定の閾値より大きい状態が続いたと判定した場合、推定整数波数を棄却するだけではなく、波数位置推定部110が、何らかの対処方式による対処をする構成としてもよい。
【0115】
また、整数波数衛星数が所定の閾値より大きく、かつ、実数波数衛星数と整数波数衛星数との差が所定の閾値より大きい状態が、更に長く続くようであれば、波数位置推定部110が間違った推定状態で安定している可能性が高まってくる。
したがって、そのことを判定する判定基準を、推定状態判定部130が判定して、推定状態判定結果を出力し、波数位置推定部110が、実施の形態2や実施の形態3で説明した対処方式やその他の対処方式による対処をする構成としてもよい。
【0116】
この実施の形態における推定部100(波数推定装置)において、上記推定状態判定部130は、所定の回数または所定の時間以上連続して、上記整数波数推定部(波数位置推定部110)が推定した整数波数の数(整数波数衛星数)が所定の閾値より大きく、かつ、上記実数波数推定部(波数位置推定部110)が推定した実数波数の数(実数波数衛星数)と、上記整数波数推定部(波数位置推定部110)が推定した整数波数の数(整数波数衛星数)との差が、所定の閾値より大きい場合に、上記整数波数推定部(波数位置推定部110)が推定した整数波数が正しくないと判定する。
【0117】
この実施の形態における推定部100(波数推定装置)によれば、波数位置推定部110が推定した推定整数波数が間違っている可能性が高いことを、少ない計算量で容易に判定することができるので、間違った推定整数波数の影響が伝播するのを防ぐことができ、信頼性を高めることができる。
【0118】
以上説明した測位装置800において、条件判定部131は、精密な位置計算を可能とするために十分な数(例えば4個以上)の推定整数波数衛星数が維持されているか否かを判定する。十分な数の推定整数波数栄整数が維持されていると判定した場合、条件判定部131は、(推定実数波数衛星数−推定整数波数衛星数)が1以上であるか否かを判定する。(推定実数波数衛星数−推定整数波数衛星数)が1以上であると判定した場合、詳細判定生成部133は、その状態が、所定回数(または所定時間)連続して発生したか否かを判定する。詳細判定生成部133は、その状態が所定回数(または所定時間)連続して発生したと判定した場合に、整数波数推定の基準となる基線ベクトル(測位装置800の位置)の精度が低いために、他の衛星の整数波数が推定できない状態にあると判定し、推定した整数波数が誤っていると判定する。
【0119】
推定状態判定部130が、推定整数波数の信頼性が低く、基線ベクトルの信頼性が高いと判定した場合、整数波数棄却部140は、波数位置推定部110が推定した推定整数波数を棄却する。
【0120】
以上のように、波数位置推定部110の推定が間違っていると言っても様々なレベルがあり、それを複数の判定基準によって判定し、対処方式を変えることにより、推定の信頼性を高めることができる。
【0121】
衛星測位方式による位置計算は、個々の衛星からの電波を受信して衛星搭載送信機と受信機間の距離を計測する。そして得られた複数の計測距離と対応する衛星位置に基づいて受信機位置を計算する。各計測距離に含まれる誤差を考慮して位置計算するためには、観測誤差を推定することにより、最も確からしい受信機位置を推定する計算が必要となる。
幾つかの計測距離の誤差推定がうまくいかない場合に、不適切な推定位置に収束してしまい、適切な推定位置への収束が阻害される場合がある。これを回避するため、例えば、上述した判定基準に基づいて、不適切な収束状態を検出する。
【0122】
上述した判定基準は、過去の試験結果から得られた経験則によるものである。特に、衛星数をパラメータとすることにより、推定状態判定部130(検出手段)の実現が容易であり、かつ確実性が高い。また、推定状態判定部130と波数位置推定部110の制御手段とが分離しているため、汎用性が高い。
【0123】
このように測位装置800を構成することにより、整数波数および位置推定値の妥当性判定を、簡便かつ有効な方式で行うことができ、適切な再初期化をすることができる。この結果、整数波数および位置推定値の妥当性を正確に把握し、対応する適切な再初期化が可能となり、信頼性の高い整数波数及び位置推定値が得られる。
【0124】
また、状態判定出力部120の判定基準は、波数位置推定部110の内部構成に依存しない情報だけを用いて行うことができるので、汎用性が高い。
【図面の簡単な説明】
【0125】
【図1】実施の形態1における800のハードウェア資源の一例を示す図。
【図2】実施の形態1における測位装置800の全体構成の一例を示すブロック構成図。
【図3】実施の形態1における推定部100の機能ブロックの構成の一例を示すブロック構成図。
【図4】実施の形態1における推定状態判定部130の詳細ブロックの一例を示すブロック構成図。
【図5】実施の形態1における測位装置800が位置を測定する測位処理の流れの一例を示すフローチャート図。
【符号の説明】
【0126】
100 推定部、110 波数位置推定部、120 状態判定出力部、130 推定状態判定部、131 条件判定部、132 判定蓄積部、133 詳細判定生成部、140 整数波数棄却部、800 測位装置、810 観測量取得部、820 前処理部、830 位置演算部、901 表示装置、902 キーボード、903 マウス、904 FDD、905 CDD、906 プリンタ装置、907 スキャナ装置、910 システムユニット、911 CPU、912 バス、913 ROM、914 RAM、915 通信装置、920 磁気ディスク装置、921 OS、922 ウィンドウシステム、923 プログラム群、924 ファイル群。

【特許請求の範囲】
【請求項1】
複数の測位衛星のそれぞれについて観測した観測量に基づいて、上記複数の測位衛星のそれぞれについての電波の波数を推定する波数推定装置において、
観測量取得部と、実数波数推定部と、整数波数推定部と、推定状態判定部とを有し、
上記観測量取得部は、上記複数の測位衛星のそれぞれについての観測量を繰り返し取得し、
上記実数波数推定部は、上記観測量取得部が取得した観測量に基づいて、上記複数の測位衛星のそれぞれについて、実数波数を推定し、上記複数の測位衛星のうち、上記実数波数の推定に成功した測位衛星についての実数波数を出力し、
上記整数波数推定部は、上記実数波数推定部が出力した実数波数に基づいて、上記複数の測位衛星のそれぞれについて、整数波数を推定し、上記複数の測位衛星のうち、上記整数波数の推定に成功した測位衛星についての整数波数を出力し、
上記推定状態判定部は、上記観測量取得部が取得した観測量の数と、上記実数波数推定部が出力した実数波数の数と、上記整数波数推定部が出力した整数波数の数とに基づいて、複数の判定基準に基づいて、上記実数波数推定部が推定した実数波数が正しいか否かを判定し、
上記実数波数推定部は、次回の推定において、更に、上記推定状態判定部が判定した結果に基づいて、実数波数を推定することを特徴とする波数推定装置。
【請求項2】
上記実数波数推定部は、推定した実数波数を前回推定実数波数として記憶し、記憶した前回推定実数波数と、上記観測量取得部が新たに取得した観測量とに基づいて、実数波数を推定し、上記推定状態判定部が、上記複数の判定基準のうち第一の判定基準により、上記実数波数が正しくないと判定した場合に、記憶した前回推定実数波数を初期化し、上記推定状態判定部が、上記複数の判定基準のうち第二の判定基準により、上記実数波数が正しくないと判定した場合に、上記実数波数の推定における上記前回推定実数波数の重みを少なくすることを特徴とする請求項1に記載の波数推定装置。
【請求項3】
上記実数波数推定部は、カルマンフィルタを用いて、上記実数波数を推定し、上記カルマンフィルタで用いられる誤差共分散行列の値を記憶し、上記推定状態判定部が、上記複数の判定基準のうち第二の判定基準により、上記実数波数が正しくないと判定した場合に、記憶した誤差共分散行列の値を大きくすることを特徴とする請求項1または請求項2に記載の波数推定装置。
【請求項4】
上記推定状態判定部は、上記第一の判定基準として、所定の回数または所定の時間以上連続して、上記実数波数推定部が推定した実数波数の数と、上記整数波数推定部が推定した整数波数の数との差が、所定の閾値より大きい場合に、上記実数波数推定部が推定した実数波数が正しくないと判定することを特徴とする請求項2または請求項3に記載の波数推定装置。
【請求項5】
上記推定状態判定部は、上記第二の判定基準として、所定の回数または所定の時間以上連続して、上記整数波数推定部が推定した整数波数の数が、所定の閾値より小さい場合に、上記実数波数推定部が推定した実数波数が正しくないと判定することを特徴とする請求項2乃至請求項4のいずれかに記載の波数推定装置。
【請求項6】
上記波数推定装置は、更に、整数波数棄却部を有し、
上記推定状態判定部は、更に、上記観測量取得部が取得した観測量の数と、上記実数波数推定部が出力した実数波数の数と、上記整数波数推定部が出力した整数波数の数とに基づいて、上記整数波数推定部が推定した整数波数が正しいか否かを判定し、
上記整数波数棄却部は、上記推定状態判定部が、上記整数波数が正しくないと判定した場合に、上記整数波数推定部が出力した整数波数を棄却することを特徴とする請求項1乃至請求項5のいずれかに記載の波数推定装置。
【請求項7】
上記推定状態判定部は、所定の回数または所定の時間以上連続して、上記整数波数推定部が推定した整数波数の数が所定の閾値より大きく、かつ、上記実数波数推定部が推定した実数波数の数と、上記整数波数推定部が推定した整数波数の数との差が、所定の閾値より大きい場合に、上記整数波数推定部が推定した整数波数が正しくないと判定することを特徴とする請求項6に記載の波数推定装置。
【請求項8】
電波受信部と、観測量算出部と、請求項1乃至請求項7のいずれかに記載の波数推定装置と、位置演算部とを有し、
上記電波受信部は、複数の測位衛星のそれぞれが送信した電波を受信し、
上記観測量算出部は、上記電波受信部が受信した電波に基づいて、上記複数の測位衛星のそれぞれについて、観測量を算出し、
上記波数推定装置は、上記観測量算出部が算出した観測量に基づいて、上記実数波数と、上記整数波数とを推定し、
上記位置演算部は、上記観測量算出部が算出した観測量と、上記波数推定装置が推定した実数波数及び整数波数とに基づいて、位置を算出することを特徴とする測位装置。
【請求項9】
観測量取得部と、実数波数推定部と、整数波数推定部と、推定状態判定部とを有する波数推定装置が、複数の測位衛星のそれぞれについて観測した観測量に基づいて、上記複数の測位衛星のそれぞれについての波数を推定する波数推定方法において、
上記観測量取得部が、上記複数の測位衛星のそれぞれについての観測量を繰り返し取得し、
上記実数波数推定部が、上記観測量取得部が取得した観測量に基づいて、上記複数の測位衛星のそれぞれについて、実数波数を推定し、上記複数の測位衛星のうち、上記実数波数の推定に成功した測位衛星についての実数波数を出力し、
上記整数波数推定部が、上記実数波数推定部が出力した実数波数に基づいて、上記複数の測位衛星のそれぞれについて、整数波数を推定し、上記複数の測位衛星のうち、上記整数波数の推定に成功した測位衛星についての整数波数を出力し、
上記推定状態判定部が、上記観測量取得部が取得した観測量の数と、上記実数波数推定部が出力した実数波数の数と、上記整数波数推定部が出力した整数波数の数とに基づいて、複数の判定基準に基づいて、上記実数波数推定部が推定した実数波数が正しいか否かを判定し、
上記実数波数推定部が、次回の推定において、更に、上記推定状態判定部が判定した結果に基づいて、実数波数を推定することを特徴とする波数推定方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate