説明

測位方法、プログラム及び測位装置

【課題】コード位相の検出精度を高めて、測位精度を向上させること。
【解決手段】PRNコードで拡散変調されたGPS衛星信号の受信信号とPRNコードのレプリカコードとを、第1の位相探索範囲でレプリカコードの位相をずらしつつ相関積算する第1の相関積算処理を行い、第1の相関積算処理中の第1のタイミングにおける相関積算値に基づいて、第1の位相探索範囲よりも狭い第2の位相探索範囲を設定する。そして、受信信号とレプリカコードとを、第2の位相探索範囲でレプリカコードの位相をずらしつつ相関積算する第2の相関積算処理を行い、第1のタイミングにおける第1の相関積算処理の相関積算値と、第1のタイミングより遅い第2のタイミングにおける第1の相関積算処理の相関積算値とに基づいて、設定した第2の位相探索範囲の適否を判定する。そして、判定により適切と判定した場合に、第2の相関積算処理の処理結果を用いた所定の測位演算を行って測位する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、測位方法、プログラム及び測位装置に関する。
【背景技術】
【0002】
測位用信号を利用した測位システムとして、GPS(Global Positioning System)が広く知られており、携帯型電話機やカーナビゲーション装置等に内蔵された測位装置に利用されている。GPSでは、自機の位置を示す3次元の座標値と、時計誤差との4つのパラメータの値を、複数のGPS衛星の位置や各GPS衛星から自機までの擬似距離等の情報に基づいて求める測位演算を行うことで、自機の現在位置を測位する。
【0003】
上述した測位システムでは、受信信号から測位用信号を抽出し、捕捉するために、拡散符号の一種であるPRNコードで拡散変調された受信信号と、PRNコードのレプリカコードとの相関演算を行い、その相関値が最大となるコード位相を検出する手法が一般的に用いられている。しかし、コード位相を正しく検出することができないと、測位演算に使用する擬似距離を正確に求めることができず、測位精度を低下させる要因となる。
【0004】
そこで、例えば特許文献1には、受信信号と、1チップ毎に位相が異なるPRNコードの複数のレプリカコードそれぞれとの相関演算(以下、「第1の相関演算」と称す。)を行い、相関値が最大になると予想される位相探索範囲を求め、その位相探索範囲について、更に、受信信号と、0.1チップ毎に位相の異なる複数のレプリカコードとの相関演算(以下、「第2の相関演算」と称す。)を行って、コード位相を検出する技術が開示されている。
【特許文献1】特開2000−312163号公報
【発明の開示】
【発明が解決しようとする課題】
【0005】
特許文献1に開示されている技術では、異なる分解能で相関演算を行うことにより、コード位相の検出精度の向上を図っている。しかし、いわゆるインドア環境のような、受信した測位用信号が弱電界の信号となる環境では、信号が微弱であるために、相関値を計算した場合にその最大値の判別が困難なものとなり、第1の相関演算において最大値であると判定された相関値が実は真の最大値ではない場合がある。
【0006】
この場合、上述した技術では、真の最大値ではない相関値に基づいて設定した位相探索範囲(誤った位相探索範囲)で分解能を上げて第2の相関演算を行うため、コード位相を正しく検出することができず、測位精度が低下するという問題があった。
【0007】
本発明は、上述した課題に鑑みて為されたものであり、その目的とするところは、コード位相の検出精度を高めて、測位精度を向上させることにある。
【課題を解決するための手段】
【0008】
以上の課題を解決するための第1の発明は、拡散符号で拡散変調された測位用信号の受信信号と前記拡散符号のレプリカコードとを、第1の位相探索範囲で前記レプリカコードの位相をずらしつつ相関積算する第1の相関積算処理を行うことと、前記第1の相関積算処理中の第1のタイミングにおける相関積算値に基づいて、前記第1の位相探索範囲よりも狭い第2の位相探索範囲を設定することと、前記受信信号と前記レプリカコードとを、前記第2の位相探索範囲で前記レプリカコードの位相をずらしつつ相関積算する第2の相関積算処理を行うことと、前記第1のタイミングにおける前記第1の相関積算処理の相関積算値と、前記第1のタイミングより遅い第2のタイミングにおける前記第1の相関積算処理の相関積算値とに基づいて、前記設定された第2の位相探索範囲の適否を判定することと、前記判定により適切と判定された場合に、前記第2の相関積算処理の処理結果を用いた所定の測位演算を行って測位することと、を含む測位方法である。
【0009】
また、第8の発明として、拡散符号で拡散変調された測位用信号の受信信号と前記拡散符号のレプリカコードとを、第1の位相探索範囲で前記レプリカコードの位相をずらしつつ相関積算する第1の相関積算処理を実行する第1の相関積算処理部と、前記第1の相関積算処理中の第1のタイミングにおける相関積算値に基づいて、前記第1の位相探索範囲よりも狭い第2の位相探索範囲を設定する位相探索範囲設定部と、前記受信信号と前記レプリカコードとを、前記第2の位相探索範囲で前記レプリカコードの位相をずらしつつ相関積算する第2の相関積算処理を実行する第2の相関積算処理部と、前記第1のタイミングにおける前記第1の相関積算処理の相関積算値と、前記第1のタイミングより遅い第2のタイミングにおける前記第1の相関積算処理の相関積算値とに基づいて、前記設定された第2の位相探索範囲の適否を判定する判定部と、前記判定部により適切と判定された場合に、前記第2の相関積算処理の処理結果を用いた所定の測位演算を行って測位する測位部と、を備えた測位装置を構成してもよい。
【0010】
この第1の発明等によれば、拡散符号で拡散変調された測位用信号の受信信号と拡散符号のレプリカコードとを、第1の位相探索範囲でレプリカコードの位相をずらしつつ相関積算する第1の相関積算処理を行い、第1の相関積算処理中の第1のタイミングにおける相関積算値に基づいて、第1の位相探索範囲よりも狭い第2の位相探索範囲を設定する。そして、受信信号とレプリカコードとを、第2の位相探索範囲でレプリカコードの位相をずらしつつ相関積算する第2の相関積算処理を行い、第1のタイミングにおける第1の相関積算処理の相関積算値と、第1のタイミングより遅い第2のタイミングにおける第1の相関積算処理の相関積算値とに基づいて、設定した第2の位相探索範囲の適否を判定する。そして、判定により適切と判定した場合に、第2の相関積算処理の処理結果を用いた所定の測位演算を行って測位する。このような処理を行うことで、現在位相の探索を行っている範囲の妥当性を適確に判定し、正確な処理結果に基づく精度の高い測位を実現することが可能となる。
【0011】
また、第2の発明として、第1の発明の測位方法であって、前記第1のタイミング後、前記判定により適切と判定されるまでの間、前記第1の相関積算処理による随時の相関積算値に基づいて前記所定の測位演算を行って測位することを更に含む測位方法を構成してもよい。
【0012】
この第2の発明によれば、第1のタイミング後、判定により適切と判定されるまでの間、第1の相関積算処理による随時の相関積算値に基づいて所定の測位演算を行って測位する。これにより、第2の相関積算処理の処理結果を利用できない期間も、第1の相関積算処理の処理結果を補完的に利用して、継続して測位を行うことが可能となる。
【0013】
また、第3の発明として、第1又は第2の発明の測位方法であって、前記第1の相関積算処理は、第1の単位位相間隔で前記レプリカコードの位相をずらしつつ相関積算する処理であり、前記第2の相関積算処理は、第1の単位位相間隔よりも狭い第2の単位位相間隔で前記レプリカコードの位相をずらしつつ相関積算する処理である測位方法を構成してもよい。
【0014】
この第3の発明によれば、第2の相関積算処理では、第1の相関積算処理と比べて狭い単位位相間隔で相関積算を行うため、分解能の高い位相探索を実現することができる。
【0015】
また、第4の発明として、第1〜第3の何れかの発明の測位方法であって、前記判定により不適と判定された場合に、前記第1の相関積算処理中の相関積算値に基づいて、前記第2の位相探索範囲を新たに設定することを更に含む測位方法を構成してもよい。
【0016】
この第4の発明によれば、第2の相関積算処理による処理結果が不適と判定された場合に、第1の相関積算処理中の相関積算値に基づいて、第2の位相探索範囲を新たに設定する。これにより、当初設定した第2の位相探索範囲が誤った探索範囲であったとしても、適切な探索範囲に設定し直して、位相探索をやり直すことが可能となる。
【0017】
また、第5の発明として、第1〜第4の何れかの発明の測位方法であって、前記判定は、前記第1のタイミングにおける前記第1の相関積算処理の相関積算値が最大の位相と、前記第2のタイミングにおける前記第1の相関積算処理の相関積算値が最大の位相とが所定の近似条件を満たすか否かによって、前記設定された第2の位相探索範囲が適切か否かを判定することである測位方法を構成してもよい。
【0018】
この第5の発明によれば、第1のタイミングにおける第1の相関積算処理の相関積算値が最大の位相と、第2のタイミングにおける第1の相関積算処理の相関積算値が最大の位相とが所定の近似条件を満たすか否かによって、設定された第2の位相探索範囲が適切か否かを判定する。
【0019】
また、第6の発明として、第1〜第5の何れかの発明の測位方法であって、前記第2の位相探索範囲を設定することは、前記第1の相関積算処理の相関積算値が最大の位相を含む所定範囲を前記第2の位相探索範囲として設定することである測位方法を構成してもよい。
【0020】
この第6の発明によれば、第1の相関積算処理の相関積算値が最大の位相を含む所定範囲を第2の位相探索範囲として設定する。
【0021】
また、第7の発明として、第1〜第6の何れかの発明の測位方法を、測位装置に内蔵されたコンピュータに実行させるためのプログラムを構成してもよい。
【発明を実施するための最良の形態】
【0022】
以下、図面を参照して、本発明に好適な実施形態の一例を説明する。尚、以下では、測位装置を備えた電子機器として携帯型電話機を例に挙げ、測位システムとしてGPS(Global Positioning System)を用いた場合について説明するが、本発明を適用可能な実施形態がこれらに限定されるわけではない。
【0023】
1.機能構成
図1は、本実施形態における携帯型電話機1の機能構成を示すブロック図である。携帯型電話機1は、GPSアンテナ5と、GPS受信部10と、ホストCPU(Central Processing Unit)30と、操作部40と、表示部50と、携帯電話用アンテナ60と、携帯電話用無線通信回路部70と、ROM(Read Only Memory)80と、RAM(Random Access Memory)90とを備えて構成される。
【0024】
GPSアンテナ5は、GPS衛星から発信されているGPS衛星信号を含むRF(Radio Frequency)信号を受信するアンテナであり、受信した信号をGPS受信部10に出力する。尚、GPS衛星信号は、衛星毎に異なる拡散符号の一種であるPRN(Pseudo Random Noise)コードで直接スペクトラム拡散方式により変調された1.57542[GHz]の通信信号である。PRNコードは、コード長1023チップを1PNフレームとする繰返し周期1msの擬似ランダム雑音符号である。
【0025】
GPS受信部10は、GPSアンテナ5から出力された信号に基づいて携帯型電話機1の現在位置を測位する測位回路であり、いわゆるGPS受信機に相当する機能ブロックである。GPS受信部10は、RF受信回路部11と、ベースバンド処理回路部20とを備えて構成される。尚、RF受信回路部11と、ベースバンド処理回路部20とは、それぞれ別のLSI(Large Scale Integration)として製造することも、1チップとして製造することも可能である。
【0026】
RF受信回路部11は、RF信号の処理回路ブロックであり、所定の局部発振信号を分周或いは逓倍することで、RF信号乗算用の発振信号を生成する。そして、生成した発振信号を、GPSアンテナ5から出力されたRF信号に乗算することで、RF信号を中間周波数の信号(以下、「IF(Intermediate Frequency)信号」と称す。)にダウンコンバートし、IF信号を増幅等した後、A/D変換器でデジタル信号に変換して、ベースバンド処理回路部20に出力する。
【0027】
ベースバンド処理回路部20は、RF受信回路部11から出力された信号に対して相関処理等を行ってGPS衛星信号を捕捉・抽出し、データを復号して航法メッセージや時刻情報等を取り出して測位演算を行う回路部である。ベースバンド処理回路部20は、プロセッサとしてのCPU21と、メモリとしてのROM23及びRAM25とを備えて構成される。
【0028】
ホストCPU30は、ROM80に記憶されているシステムプログラム等の各種プログラムに従って携帯型電話機1の各部を統括的に制御するプロセッサである。ホストCPU30は、CPU21から入力した測位位置をプロットしたナビゲーション画面を、表示部50に表示させる。
【0029】
操作部40は、例えばタッチパネルやボタンスイッチ等により構成される入力装置であり、押下されたアイコンやボタンの信号をホストCPU30に出力する。この操作部40の操作により、通話要求やメールの送受信要求、GPSの起動要求等の各種指示入力がなされる。
【0030】
表示部50は、LCD(Liquid Crystal Display)等により構成され、ホストCPU30から入力される表示信号に基づいた各種表示を行う表示装置である。表示部50には、ナビゲーション画面や時刻情報等が表示される。
【0031】
携帯電話用アンテナ60は、携帯型電話機1の通信サービス事業者が設置した無線基地局との間で携帯電話用無線信号や各種データの送受信を行うアンテナである。
【0032】
携帯電話用無線通信回路部70は、RF変換回路、ベースバンド処理回路等によって構成される携帯電話の通信回路部であり、携帯電話用無線信号の変調・復調等を行うことで、通話やメールの送受信等を実現する。
【0033】
ROM80は、読み取り専用の不揮発性の記憶装置であり、ホストCPU30が携帯型電話機1を制御するためのシステムプログラムや、ナビゲーション機能を実現するための各種プログラムやデータ等を記憶している。
【0034】
RAM90は、読み書き可能な揮発性の記憶装置であり、ホストCPU30により実行されるシステムプログラム、各種処理プログラム、各種処理の処理中データ、処理結果などを一時的に記憶するワークエリアを形成している。
【0035】
2.データ構成
図2は、ベースバンド処理回路部20のROM23に格納されたデータの一例を示す図である。ROM23には、CPU21により読み出され、ベースバンド処理(図7及び図8参照)として実行されるベースバンド処理プログラム231が記憶されている。
【0036】
ベースバンド処理とは、CPU21が、捕捉対象とするGPS衛星(以下、「捕捉対象衛星」と称す。)それぞれについて、第1の相関積算処理及び第2の相関積算処理を行って受信信号のPRNコードの位相(いわゆるコード位相)を判定して擬似距離用コード位相とし、当該擬似距離用コード位相を基に算出した擬似距離を用いて所定の測位演算を行うことで、携帯型電話機1の現在位置を測位する処理である。
【0037】
具体的には、CPU21は、レプリカコードの発生信号の周波数、及び、レプリカコードの位相を変更しつつ、受信信号とレプリカコードとの相関演算を行って相関値を求め、その相関値を積算していく処理を行う。レプリカコードとは、擬似的に発生させた捕捉対象衛星の衛星信号に含まれるPRNコードを模擬した信号である。レプリカコードの発生信号の周波数と受信信号の周波数とが一致し、且つ、レプリカコードの位相と受信信号のPRNコードの位相とが一致した場合に、相関値並びに相関積算値が最大となる。以下では、周波数方向の相関演算については説明を省略し、位相方向の相関演算を中心に説明する。
【0038】
GPS衛星信号はPRNコードで繰り返し変調されているため、観念的には、GPS衛星と携帯型電話機1との間には、PRNコードが連続的に並んでいると考えることができる。しかし、GPS衛星から携帯型電話機1までの距離がPRNコードの長さの整数倍になるとは限らず、端数部分が発生する。相関積算処理では、この端数部分に相当するコード長をPRNコードのコード位相として検出する。この場合、PRNコードの長さの整数倍に端数部分を加えた長さがGPS衛星と携帯型電話機1間の擬似距離となる。
【0039】
図4は、本実施形態における第1の相関積算処理及び第2の相関積算処理の概略を示す図である。図4において、横軸はコード位相、縦軸は相関積算値を示している。また、図5は、本実施形態における第1の相関積算処理及び第2の相関積算処理の時系列を示す図である。図5において、上段は第1の相関積算処理、下段は第2の相関積算処理を示しており、横軸は時間を示している。また、上向きの矢印は、その矢印が付された時点における相関積算値を用いて、その時点でのコード位相(擬似距離用コード位相)が特定されて、擬似距離が算出され、測位演算がなされたことを示している。
【0040】
第1の相関積算処理では、第1の位相探索範囲において、受信信号とレプリカコードとの相関演算を、レプリカコードの位相を第1の単位位相間隔でずらしながら行う。そして、その相関値を同期積算する処理を行う。より具体的に説明する。各相関演算で得られた相関値は、そのまま積算することができない。なぜならば、僅かな時間間隔ではあるが、各相関演算を時系列に行っている。そのため、それぞれの相関演算で求めた値には、信号速度(=光速)に応じたコード位相のズレが含まれているからである。
【0041】
そこで、相関演算した時刻と所定の積算基準時刻(本実施形態では最新の相関演算時刻)との差の時間に光速を乗じた距離相当値を、PRNコードにおける位相のズレに換算する。そして、計算した位相のズレ分だけ、相関演算で求めた値を補正することで、所定の積算基準時刻において相関演算したかのような値を得る。そして、この補正した値を積算していく。この一連の処理は、「同期積算」と呼ばれる。
【0042】
そして、第1の相関積算処理で最初に積算を開始してからの経過時間(以下、「第1の積算時間」と称す。)が第1の閾値時間(例えば「16秒」)に達した場合は、第1の相関積算処理を継続しつつ、第2の相関積算処理を開始する。第2の相関積算処理では、第2の位相探索範囲において、受信信号とレプリカコードとを、レプリカコードの位相を第2の単位位相間隔でずらしながら相関積算する処理を行う。
【0043】
第2の位相探索範囲は、第1の積算時間が第1の閾値時間に達したタイミング(以下、「第1のタイミング」と称す。)における第1の相関積算処理の処理結果に基づいて、第1の位相探索範囲よりも狭くなるように設定する。より具体的には、第1のタイミングで相関積算値が最大である位相を含む所定範囲を、第2の位相探索範囲として設定する。また、第2の単位位相間隔は、第1の単位位相間隔よりも狭くなるように設定する。従って、第2の相関積算処理では、第1の相関積算処理よりも狭い位相探索範囲において、分解能を上げてコード位相の探索を行うことになる。
【0044】
例えば、図4に示すように、PRNコードのコード長である1023チップ全体を第1の位相探索範囲として設定し、PRNコードをN個(N≧1023)に区切った場合の位相間隔を第1の単位位相間隔として設定する。そして、第1の位相探索範囲において第1の単位位相間隔でレプリカコードの位相をずらしながら相関積算を行う。その結果、図4では、第1のタイミングにおいて、コード位相「CP」で相関積算値が最大となっている。
【0045】
この場合は、例えばコード位相「CP」を中心とし、下限を「CP1(>CP−1)」、上限を「CP9(<CP+1)」とする位相範囲(CP1≦C≦CP9)を第2の位相探索範囲として設定する。また、第1の単位位相間隔より狭い第2の単位位相間隔(例えば第1の単位位相間隔の1/10)を設定する。そして、第2の位相探索範囲において第2の単位位相間隔でレプリカコードの位相をずらしながら相関積算を行う。その結果、図4では、コード位相「CP3」で相関積算値が最大となっており、第1の相関積算処理よりも高分解能でコード位相が検出されていることがわかる。
【0046】
また、本実施形態で特徴的であるのは、第2の相関積算処理を行っている間も、第1の相関積算処理を継続する点にある。そして、設定した第2の位相探索範囲が適切であるかを定期的に判定し、適切ではないと判定した場合は、第2の位相探索範囲を新たに設定し直して、第2の相関積算処理を最初からやり直す。
【0047】
具体的には、第1のタイミングにおいて、相関積算値が最大であるコード位相を「当初コード位相」として取得して保存する。そして、測位を行う各タイミング(以下、このタイミングを「第2のタイミング」と称す。)毎に、当該第2のタイミングにおいて第1の相関積算処理で相関積算値が最大であるコード位相を「確認用コード位相」として取得し、当初コード位相と確認用コード位相とが一致するか否かを判定する。そして、一致すると判定した場合は、設定した第2の位相探索範囲は適切であると判定する。一方、当初コード位相と確認用コード位相とが一致しない場合は、設定した第2の位相探索範囲は不適であると判定し、確認用コード位相に基づいて第2の位相探索範囲を新たに設定する。
【0048】
これは、当初コード位相と確認用コード位相とが一致していれば、第2の位相探索範囲には相関積算値の真の最大値が含まれている可能性が高いため、第2の位相探索範囲は適切であると判定することにしたものである。一方、当初コード位相と確認用コード位相とが一致しない場合は、第2の位相探索範囲には相関積算値の真の最大値が含まれていない可能性があるため、第2の位相探索範囲は不適であると判定した上で、第2の位相探索範囲を設定し直すことにしている。
【0049】
このような処理により、第1の相関積算処理の処理結果に基づいて、第2の位相探索範囲の適否(妥当性)を判断することが可能となり、第2の相関積算処理において誤ったコード位相が検出されることを防止することができる。特に、いわゆるインドア環境のような、受信した測位用信号が弱電界の信号となる環境(以下、「弱電界環境」と称す。)では、短時間の相関積算では相関積算値の最大値が判別し難いため、本実施形態の手法は効果的である。
【0050】
第1のタイミング後、第2の相関積算処理で最初に積算を開始してからの経過時間(以下、「第2の積算時間」と称す。)が第2の閾値時間(例えば「16秒」:第1の相関積算処理を開始してから「32秒」)に達するまでは、第1の相関積算処理において相関積算値が最大であるコード位相を擬似距離用コード位相として随時検出し、当該擬似距離用コード位相から算出した擬似距離を用いて測位演算を行う。また、第2の積算時間が第2の閾値時間に達した場合は、第2の相関積算処理において相関積算値が最大であるコード位相を擬似距離用コード位相として検出して、測位演算に使用する。その後は、第2の積算時間が第2の閾値時間に達する毎に、第2の相関積算処理の処理結果を用いて測位演算を実行する。尚、第1の閾値時間と第2の閾値時間とは同一であってもよいし、異なっていてもよい。
【0051】
図5を用いて説明すると、時刻「T1」において、第1の相関積算処理を開始する。そして、時刻「T2」において、第1の相関積算処理を継続しつつ、第2の相関積算処理を開始する。時刻「T2」から時刻「T3」の前までは、第1の相関積算処理の処理結果から得られる擬似距離用コード位相を用いて測位演算を実行するが、時刻「T3」では、第2の相関積算処理の処理結果から得られる擬似距離用コード位相を用いて測位演算を実行する。そして、時刻「T3」の後、時刻「T4」の前までは、第1の相関積算処理の処理結果から得られる擬似距離用コード位相を用いて測位演算を実行し、時刻「T4」では、第2の相関積算処理から得られる擬似距離用コード位相を用いて測位演算を実行する。後は同様の処理を繰り返す。
【0052】
本実施形態では、第2の積算時間が第2の閾値時間に達するまでの間は、第1の相関積算処理の処理結果から擬似距離用コード位相を検出することにしている。その理由は、弱電界環境では、積算時間が短過ぎると相関積算値のピークとノイズとの判別が困難となり、コード位相が正しく検出されない可能性があるためである。
【0053】
図3は、ベースバンド処理回路部20のRAM25に格納されるデータの一例を示す図である。RAM25には、相関積算値データベース251と、擬似距離データ253と、測位データ255とが記憶される。
【0054】
図6は、相関積算値データベース251のデータ構成の一例を示す図である。相関積算値データベース251は、各捕捉対象衛星2511それぞれについて、第1の相関積算処理用データ2512と、第2の相関積算処理用データ2513と、処理状況2514と、適否判定用コード位相2515と、擬似距離用コード位相2516とが対応付けて記憶されたデータであり、ベースバンド処理においてCPU21により更新される。
【0055】
第1の相関積算処理用データ2512は、第1の相関積算処理に用いるデータであり、第1の相関積算値データテーブルと、第1の積算基準時刻と、第1の積算時間とがこれに含まれる。同様に、第2の相関積算処理用データ2512は、第2の相関積算処理に用いるデータであり、第2の相関積算値データテーブルと、第2の積算基準時刻と、第2の積算時間とがこれに含まれる。
【0056】
各データにおける相関積算値データテーブルは、相関積算で求めた各位相それぞれにおける相関積算値が記憶されたデータテーブルであり、相関値が積算される毎に同期積算処理が行われて随時更新される。積算基準時刻は、同期積算処理を行う際に基準とする時刻であり、最新の相関演算時刻で更新される。従って、時々刻々と相関積算が行われるが、常時、最新の相関演算時刻に同期が取られた積算値になる。また、積算時間は、最初に相関積算を開始してから現在までの経過時間である。
【0057】
処理状況2514は、現在実行している処理の状況を示しており、第1の相関積算処理及び第2の相関積算処理の何れも実行していない場合は「未実行」、第1の相関積算処理のみを実行している場合は「第1の処理中」、第1の相関積算処理及び第2の相関積算処理の両方を実行している場合は「第1&第2の処理中」が記憶される。
【0058】
適否判定用コード位相2515は、現在設定されている第2の位相探索範囲の適否を判定するためのコード位相であり、上述した当初コード位相と、確認用コード位相とがこれに含まれる。
【0059】
擬似距離用コード位相2516は、上述したように擬似距離を算出するために用いるコード位相である。図5において矢印が付された時点での、当該矢印が付されている第1又は第2の相関積算処理の相関積算値を用いてコード位相が算出される。
【0060】
擬似距離データ253は、各捕捉衛星について算出された擬似距離のデータであり、ベースバンド処理においてCPU21により更新される。
【0061】
測位データ255は、測位演算によって求められた測位位置についてのデータであり、ベースバンド処理においてCPU21により更新される。
【0062】
3.処理の流れ
図7及び図8は、CPU21によりROM23に記憶されているベースバンド処理プログラム231が読み出されて実行されることで、携帯型電話機1において実行されるベースバンド処理の流れを示すフローチャートである。
【0063】
ベースバンド処理は、RF受信回路部11によるGPS衛星信号の受信と併せて、CPU21が、操作部40に測位開始指示の操作がなされたことを検出した場合に実行を開始する処理であり、各種アプリケーションの実行といった各種の処理と並行して行われる処理である。尚、携帯型電話機1の電源のON/OFFとGPSの起動/停止とを連動させ、携帯型電話機1の電源投入操作を検出した場合にベースバンド処理の実行を開始させることにしてもよい。
【0064】
先ず、CPU21は、最新のアルマナックデータ等に基づいて、捕捉対象衛星を判定する(ステップA1)。より詳細には、不図示の時計部で計時されている現在時刻において、所与の仮の現在位置の天空に位置するGPS衛星をアルマナックやエフェメリスのデータから判定する。仮の現在位置は、例えば携帯電話の通信基地局の位置や、前回の測位位置として与えられる。
【0065】
そして、CPU21は、RAM25の相関積算値データベース251を更新する(ステップA3)。具体的には、前回の更新時には捕捉対象衛星と判定されたが今回は捕捉対象衛星と判定されなかった捕捉対象衛星のデータを相関積算値データベース251から削除するとともに、前回の更新時には捕捉対象衛星と判定されなかったが今回は捕捉対象衛星と判定された捕捉対象衛星のデータを相関積算値データベース251に新たに追加する。そして、CPU21は、各捕捉対象衛星について、ループAの処理を実行する(ステップA5〜A55)。
【0066】
ループAでは、CPU21は、相関積算値データベース251に記憶されている当該捕捉対象衛星の処理状況2514を判定する(ステップA7)。そして、処理状況2514が「未実行」であると判定した場合は(ステップA7;未実行)、当該捕捉対象衛星の処理状況2514を「第1の処理中」に変更する(ステップA9)。
【0067】
次いで、CPU21は、第1の位相探索範囲を設定する(ステップA11)。第1の位相探索範囲は、例えばPRNコードのコード長である1023チップ全体として設定することができる。また、CPU21は、所定の位相間隔を第1の単位位相間隔として設定する(ステップA13)。第1の単位位相間隔は、1チップ以下の間隔であり、例えば0.8チップである。
【0068】
次いで、CPU21は、第1の相関積算処理を行って、相関積算値データベース251の第1の相関積算処理用データ2512を更新する(ステップA15)。具体的には、第1の位相探索範囲において第1の単位位相間隔で当該捕捉対象衛星のレプリカコードの位相をずらしながら、RF受信回路部11から出力された受信信号との相関演算を行い、求めた相関値を同期積算する処理を行う。
【0069】
この際、相関演算を行う毎に、その最新の相関演算を行った時刻で第1の積算基準時刻を更新し、この第1の積算基準時刻に基づいて同期積算処理を行う。勿論、同期積算処理の結果である相関積算値に基づいて第1の相関積算値データテーブルを更新する。第1の相関積算値データテーブルには、第1の単位位相間隔での各位相それぞれに対する相関積算値が格納される(尚、より正確には、説明の簡明化のために各位相の各周波数ごとに相関演算を行う旨の説明を省略しているため、実際には、各位相の各周波数それぞれに対する相関積算値が相関積算値データテーブルに格納される。)。また、第1の相関積算処理を最初に開始してからの経過時間で第1の積算時間を更新する。その後、CPU21は、次の捕捉対象衛星へと処理を移行する。
【0070】
一方、ステップA7において当該捕捉対象衛星の処理状況2514が「第1の処理中」であると判定した場合は(ステップA7;第1の処理中)、CPU21は、第1の積算時間が第1の閾値時間に達したか否かを判定し(ステップA17)、まだ達していないと判定した場合は(ステップA17;No)、ステップA15へと処理を移行する。
【0071】
また、ステップA17において、第1の積算時間が第1の閾値時間に達したと判定した場合は(ステップA17;Yes)、CPU21は、相関積算値データベース251に記憶されている当該捕捉対象衛星の処理状況2514を「第1&第2の処理中」に変更する(ステップA19)。
【0072】
次いで、CPU21は、第1の相関積算処理用データ2512の第1の相関積算値データテーブルから当初コード位相を判定する(ステップA21)。具体的には、第1の相関積算値データテーブルを参照し、現時点において相関積算値が最大である位相を当初コード位相と判定する。そして、判定した当初コード位相を、当該捕捉対象衛星の適否判定用コード位相2515として相関積算値データベース251に記憶させる。
【0073】
その後、CPU21は、ステップA21で判定した当初コード位相に基づいて第2の位相探索範囲を設定する(ステップA23)。具体的には、例えば当初コード位相を中心として、±0.32チップの範囲を第2の位相探索範囲として設定する。また、CPU21は、第2の単位位相間隔を設定する(ステップA25)。第2の単位位相間隔は、第1の単位位相間隔よりも狭い間隔であり、例えば0.08チップである。
【0074】
次いで、CPU21は、第1の相関積算処理を行う(ステップA27)。そして、CPU21は、第1の相関積算処理用データ2512の第1の相関積算値データテーブルから擬似距離用コード位相を判定する(ステップA29)。具体的には、第1の相関積算値データテーブルを参照し、現時点において相関積算値が最大である位相を擬似距離用コード位相と判定する。そして、判定した擬似距離用コード位相を、当該捕捉対象衛星の擬似距離用コード位相2516として相関積算値データベース251に記憶させる。
【0075】
その後、CPU21は、第2の相関積算処理を行って、相関積算値データベース251の第2の相関積算処理用データ2513を更新する(ステップA31)。具体的には、第2の位相探索範囲において第2の単位位相間隔で当該捕捉対象衛星のレプリカコードの位相をずらしながら、RF受信回路部11から出力された受信信号と相関演算を行い、その相関値を同期積算する処理を行い、第2の相関積算値データテーブルを更新する。また、第2の相関積算処理を開始してからの経過時間で第2の積算時間を更新する。その後、CPU21は、次の捕捉対象衛星へと処理を移行する。
【0076】
一方、ステップA7において、当該捕捉対象衛星の処理状況2514が「第1&第2の処理中」であると判定した場合は(ステップA7;第1&第2の処理中)、CPU21は、第1の相関積算処理用データ2512の第1の相関積算値データテーブルから確認用コード位相を判定する(ステップA33)。具体的には、第1の相関積算値データテーブルを参照し、現時点で相関積算値が最大である位相を確認用コード位相と判定する。そして、判定した確認用コード位相を、当該捕捉対象衛星の適否判定用コード位相2515として、相関積算値データベース251に記憶させる。
【0077】
次いで、CPU21は、相関積算値データベース251の適否判定用コード位相2515に記憶されている当初コード位相と確認用コード位相とが一致しているか否かを判定する(ステップA35)。そして、一致していると判定した場合は(ステップA35;Yes)、第2の積算時間が第2の閾値時間に達したか否かを判定し(ステップA37)、まだ達していないと判定した場合は(ステップA37;No)、ステップA27へと処理を移行する。
【0078】
また、ステップA37において、第2の積算時間が第2の閾値時間に達したと判定した場合は(ステップA37;Yes)、CPU21は、第2の相関積算処理用データ2513の第2の相関積算値データテーブルから擬似距離用コード位相を判定する(ステップA39)。具体的には、第2の相関積算値データテーブルを参照し、現時点において相関積算値が最大であるコード位相を擬似距離用コード位相と判定する。そして、判定した擬似距離用コード位相を、当該捕捉対象衛星の擬似距離用コード位相2516として相関積算値データベース251に記憶させる。
【0079】
その後、CPU21は、第2の相関積算処理用データ2513をクリアする(ステップA41)。すなわち、第2の相関積算値データテーブルに格納されている各位相及び各周波数毎の相関積算値のデータをクリアするとともに、第2の積算基準時刻をクリアする。また、第2の積算時間をリセットする。
【0080】
その後、CPU21は、第1の相関積算処理を行うとともに(ステップA43)、第2の相関積算処理を行う(ステップA45)。そして、CPU21は、次の捕捉対象衛星へと処理を移行する。
【0081】
また、ステップA35において、当初コード位相と確認用コード位相とが一致しないと判定した場合は(ステップA35;No)、CPU21は、ステップA33で判定した確認用コード位相に基づいて第2の位相探索範囲を新たに設定する(ステップA47)。また、CPU21は、第2の単位位相間隔を設定する(ステップA49)。第2の位相探索範囲及び第2の単位位相間隔の設定方法は、上述した通りである。
【0082】
その後、CPU21は、ステップA33で判定した確認用コード位相で、相関積算値データベース251に記憶されている当該捕捉対象衛星の当初コード位相を更新する(ステップA51)。そして、CPU21は、第2相関積算処理用データ2513をクリアした後(ステップA53)、ステップA27へと処理を移行する。
【0083】
全ての捕捉対象衛星についてステップA7〜A53の処理を行った後、CPU21は、ループAを終了する(ステップA55)。ループAを終了した後、CPU21は、各捕捉対象衛星について、相関積算値データベース251に記憶されている擬似距離用コード位相2516を用いて、当該捕捉対象衛星と携帯型電話機1間の擬似距離を算出し、RAM25の擬似距離データ253に記憶させる(ステップA57)。
【0084】
そして、CPU21は、RAM25の擬似距離データ253に記憶されている擬似距離を用いて所定の測位演算を行うことで、携帯型電話機1の現在位置を測位し、その測位位置をRAM25の測位データ255に記憶させる(ステップA59)。尚、測位演算としては、最小二乗法を用いた測位演算やカルマンフィルタを用いた測位演算等の公知の手法を適用することができる。
【0085】
その後、CPU21は、RAM25の測位データ255に記憶されている測位位置をホストCPU30に出力する(ステップA61)。そして、CPU21は、測位を終了するか否かを判定し(ステップA63)、まだ終了しないと判定した場合は(ステップA63;No)、ステップA1に戻る。また、測位を終了すると判定した場合は(ステップA63;Yes)、ベースバンド処理を終了する。
【0086】
4.作用効果
本実施形態によれば、PRNコードで拡散変調されたGPS衛星信号の受信信号とPRNコードのレプリカコードとを、第1の位相探索範囲でレプリカコードの位相をずらしつつ相関積算する第1の相関積算処理を行う。そして、第1の相関積算処理中の第1のタイミングにおける相関積算値に基づいて、第1の位相探索範囲よりも狭い第2の位相探索範囲を設定する。そして、受信信号とレプリカコードとを、第2の位相探索範囲でレプリカコードの位相をずらしつつ相関積算する第2の相関積算処理を行い、第1のタイミングにおける第1の相関積算処理の相関積算値と、第1のタイミングより遅い第2のタイミングにおける第1の相関積算処理の相関積算値とに基づいて、設定した第2の位相探索範囲の適否を判定する。そして、判定により適切と判定した場合に、第2の相関積算処理の処理結果を用いた所定の測位演算を行って測位する。
【0087】
具体的には、第1の相関積算処理を開始してから第1の閾値時間が経過したタイミングを第1のタイミングとし、第1のタイミング後の任意のタイミングを第2のタイミングとする。そして、第1のタイミングにおける第1の相関積算処理の相関積算値が最大である位相(当初コード位相)と、第2のタイミングにおける第1の相関積算処理の相関積算値が最大である位相(確認用コード位相)との一致を判定し、一致すると判定した場合には、設定した第2の位相探索範囲は適切であると判定し、第2の相関積算処理の処理結果を測位演算に使用する。
【0088】
一方、当初コード位相と確認用コード位相とが一致しない場合は、第1のタイミングにおける相関積算値の最大値は真の最大値ではなく、第2の位相探索範囲には、相関積算値が最大の位相が含まれていない可能性がある。従って、この場合には、設定した第2の位相探索範囲は不適であると判定し、第2の相関積算処理の処理結果を測位演算には使用しない。このような処理を行うことで、現在位相の探索を行っている範囲の妥当性を適確に判定し、正確な処理結果に基づく精度の高い測位を実現することが可能となる。
【0089】
また、本実施形態では、第1のタイミング後、第2の位相探索範囲が適切と判定され、且つ、第2の積算時間が第2の閾値時間に達するまでの間は、第1の相関積算処理による随時の相関積算値に基づいてコード位相を検出し、当該コード位相を用いた測位演算を行って現在位置を測位することにしている。これにより、第2の相関積算処理の処理結果を利用できない期間も、第1の相関積算処理の処理結果を補完的に利用して、継続して測位を行うことが可能となる。
【0090】
5.変形例
5−1.電子機器
上述した実施形態では、測位装置を備えた電子機器として携帯型電話機を例に挙げて説明したが、本発明を適用可能な電子機器はこれに限られるわけではない。例えば、測位装置を備えたノート型パソコンやPDA(Personal Digital Assistant)、カーナビゲーション装置等の電子機器に適用することも可能である。
【0091】
5−2.衛星測位システム
また、上述した実施形態では、衛星測位システムとしてGPSに本願発明を適用した例を説明したが、WAAS(Wide Area Augmentation System)、QZSS(Quasi Zenith Satellite System)、GLONASS(GLObal NAvigation Satellite System)、GALILEO等の他の衛星測位システムに本願発明を適用することとしてもよい。
【0092】
5−3.処理の分化
CPU21が行う処理の一部又は全部を、ホストCPU30が行うことにしてもよい。例えば、CPU21が第1の相関積算処理及び第2の相関積算処理を行って擬似距離用コード位相を検出し、ホストCPU30に出力する。そして、ホストCPU30は、CPU21から入力した擬似距離用コード位相を基に擬似距離を算出し、この算出した擬似距離を用いて測位演算を実行する。また、第1の相関演算処理及び第2の相関演算処理も含めて全ての処理をホストCPU30が行うことにしてもよい。
【0093】
5−4.相関積算部
上述した実施形態では、CPU21が相関積算処理を行ってコード位相の検出をソフトウェア的に実現することとして説明したが、ベースバンド処理回路部20に相関積算を行う回路部である相関積算部を独立して設けて、ハードウェア的に実現することとしてもよい。この場合は、第1の相関積算を行うチャンネルと、第2の相関積算を行うチャンネルとを用意して並列的に相関積算を行うことにすれば好適である。
【0094】
5−5.相関積算処理
上述した実施形態では、第1の相関積算処理と第2の相関積算処理との2種類の相関積算処理によってコード位相を検出するものとして説明したが、3種類以上の相関積算処理によってコード位相を検出することにしてもよい。この場合は、相関積算処理が高次になるにつれて、位相探索範囲及び単位位相間隔を徐々に狭めていき、コード位相の探索をより精細に行うようにする。
【0095】
また、高次の相関積算処理を行っている間も、低次の相関積算処理を継続して行い、低次の相関積算処理の処理結果に基づいて、高次の相関積算処理の位相探索範囲の適否を判定する。具体的には、n番目の相関積算処理における位相探索範囲の適否を判定する際に、n−1番目の相関積算処理で検出された当初コード位相と確認用コード位相との一致を判定し、一致すると判定した場合に、設定した位相探索範囲は適切であると判定する。
【0096】
5−6.擬似距離用コード位相
上述した実施形態では、第2の積算時間が第2の閾値時間に達していない間は、第1の相関積算処理の処理結果から擬似距離用コード位相を随時検出して測位演算に使用するものとして説明した。これは、弱電界環境では、積算時間が短すぎると相関積算値のピークとノイズとの判別が困難なためである。しかし、当該期間であっても、第2の相関積算処理の処理結果から擬似距離用コード位相を随時検出して測位演算に使用することとしてもよい。すなわち、図5において、時刻「T2」から時刻「T3」の期間や、時刻「T3」から時刻「T4」までの期間において、第2の相関積算処理中の処理結果から擬似距離用コード位相を随時検出し、当該検出した擬似距離用コード位相を基に算出した擬似距離を用いて、測位演算を実行する。
【0097】
また、第2の積算時間が第2の閾値時間に達した時刻(以下、「基準時刻」と称す。)における擬似距離用コード位相から、各測位時刻における擬似距離用コード位相を予想する処理(いわゆるプロパゲーション処理)を行い、当該予想した擬似距離用コード位相を用いて測位演算を行うこととしてもよい。すなわち、図5において、時刻「T3」から時刻「T4」の前までの期間は、基準時刻「T3」において第2の相関積算処理の処理結果から得られた擬似距離用コード位相を用いて各測位時刻における擬似距離用コード位相を予想し、当該予想した擬似距離用コード位相を基に算出した擬似距離を用いて、測位演算を実行する。
【0098】
擬似距離用コード位相の予想は次のようにして行う。すなわち、単位時間当たりのGPS衛星信号の周波数の変化量に、基準時刻から測位時刻までの経過時間を乗算することで、当該経過時間における擬似距離用コード位相の予想変化量を求める。そして、求めた予想変化量を基準時刻における擬似距離用コード位相に加算した値を、測位時刻における擬似距離用コード位相と予想する。
【0099】
5−7.位相探索範囲
上述した実施形態では、PRNコードのチップ長全体を第1の位相探索範囲として設定するものとして説明したが、前回の位相探索においてコード位相の検出を既に行っている場合は、検出済みのコード位相を含む所定範囲(例えば当該コード位相を中心として±8チップの範囲)を第1の位相探索範囲として設定することで、当初の第1の位相探索範囲よりも位相探索範囲を狭めて第1の相関積算処理を行うこととしてもよい。
【0100】
また、上述した実施形態では、当初コード位相を中心とする所定幅の範囲を第2の位相探索範囲として設定するものとして説明したが、当初コード位相を含む範囲であればよく、必ずしも当初コード位相を第2の位相探索範囲の中心とする必要はない。
【0101】
5−8.近似条件
上述した実施形態では、当初コード位相と確認用コード位相とが一致する場合に、第2の位相探索範囲が適切であると判定するものとして説明したが、当初コード位相と確認用コード位相とが完全に一致しない場合であっても、近似している場合(例えば当初コード位相と確認用コード位相との差が±3チップの範囲内である場合)は、第2の位相探索範囲が適切であると判定することにしてもよい。
【図面の簡単な説明】
【0102】
【図1】携帯型電話機の機能構成を示すブロック図。
【図2】ベースバンド処理回路部のROMに格納されたデータの一例を示す図。
【図3】ベースバンド処理回路部のRAMに格納されるデータの一例を示す図。
【図4】第1の相関積算処理及び第2の相関積算処理の概略を示す図。
【図5】第1の相関積算処理及び第2の相関積算処理の時系列を示す図。
【図6】相関積算値データベースのデータ構成の一例を示す図。
【図7】ベースバンド処理の流れを示すフローチャート。
【図8】ベースバンド処理の流れを示すフローチャート。
【符号の説明】
【0103】
1 携帯型電話機、 5 GPSアンテナ、 10 GPS受信部、
11 RF受信回路部、 20 ベースバンド処理回路部、 21 CPU、
23 ROM、 25 RAM、 30 ホストCPU、 40 操作部、
50 表示部、 60 携帯電話用アンテナ、 70 携帯電話用無線通信回路部、
80 ROM、 90 RAM

【特許請求の範囲】
【請求項1】
拡散符号で拡散変調された測位用信号の受信信号と前記拡散符号のレプリカコードとを、第1の位相探索範囲で前記レプリカコードの位相をずらしつつ相関積算する第1の相関積算処理を行うことと、
前記第1の相関積算処理中の第1のタイミングにおける相関積算値に基づいて、前記第1の位相探索範囲よりも狭い第2の位相探索範囲を設定することと、
前記受信信号と前記レプリカコードとを、前記第2の位相探索範囲で前記レプリカコードの位相をずらしつつ相関積算する第2の相関積算処理を行うことと、
前記第1のタイミングにおける前記第1の相関積算処理の相関積算値と、前記第1のタイミングより遅い第2のタイミングにおける前記第1の相関積算処理の相関積算値とに基づいて、前記設定された第2の位相探索範囲の適否を判定することと、
前記判定により適切と判定された場合に、前記第2の相関積算処理の処理結果を用いた所定の測位演算を行って測位することと、
を含む測位方法。
【請求項2】
前記第1のタイミング後、前記判定により適切と判定されるまでの間、前記第1の相関積算処理による随時の相関積算値に基づいて前記所定の測位演算を行って測位することを更に含む請求項1に記載の測位方法。
【請求項3】
前記第1の相関積算処理は、第1の単位位相間隔で前記レプリカコードの位相をずらしつつ相関積算する処理であり、
前記第2の相関積算処理は、第1の単位位相間隔よりも狭い第2の単位位相間隔で前記レプリカコードの位相をずらしつつ相関積算する処理である、
請求項1又は2に記載の測位方法。
【請求項4】
前記判定により不適と判定された場合に、前記第1の相関積算処理中の相関積算値に基づいて、前記第2の位相探索範囲を新たに設定することを更に含む請求項1〜3の何れか一項に記載の測位方法。
【請求項5】
前記判定は、前記第1のタイミングにおける前記第1の相関積算処理の相関積算値が最大の位相と、前記第2のタイミングにおける前記第1の相関積算処理の相関積算値が最大の位相とが所定の近似条件を満たすか否かによって、前記設定された第2の位相探索範囲が適切か否かを判定することである請求項1〜4の何れか一項に記載の測位方法。
【請求項6】
前記第2の位相探索範囲を設定することは、前記第1の相関積算処理の相関積算値が最大の位相を含む所定範囲を前記第2の位相探索範囲として設定することである請求項1〜5の何れか一項に記載の測位方法。
【請求項7】
請求項1〜6の何れか一項に記載の測位方法を、測位装置に内蔵されたコンピュータに実行させるためのプログラム。
【請求項8】
拡散符号で拡散変調された測位用信号の受信信号と前記拡散符号のレプリカコードとを、第1の位相探索範囲で前記レプリカコードの位相をずらしつつ相関積算する第1の相関積算処理を実行する第1の相関積算処理部と、
前記第1の相関積算処理中の第1のタイミングにおける相関積算値に基づいて、前記第1の位相探索範囲よりも狭い第2の位相探索範囲を設定する位相探索範囲設定部と、
前記受信信号と前記レプリカコードとを、前記第2の位相探索範囲で前記レプリカコードの位相をずらしつつ相関積算する第2の相関積算処理を実行する第2の相関積算処理部と、
前記第1のタイミングにおける前記第1の相関積算処理の相関積算値と、前記第1のタイミングより遅い第2のタイミングにおける前記第1の相関積算処理の相関積算値とに基づいて、前記設定された第2の位相探索範囲の適否を判定する判定部と、
前記判定部により適切と判定された場合に、前記第2の相関積算処理の処理結果を用いた所定の測位演算を行って測位する測位部と、
を備えた測位装置。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate


【公開番号】特開2009−276192(P2009−276192A)
【公開日】平成21年11月26日(2009.11.26)
【国際特許分類】
【出願番号】特願2008−127302(P2008−127302)
【出願日】平成20年5月14日(2008.5.14)
【出願人】(000002369)セイコーエプソン株式会社 (51,324)
【Fターム(参考)】