以下、本発明を適用した好適な実施形態の一例について説明する。本実施形態は、衛星測位システムの一種であるGPS(Global Positioning System)を適用した実施形態である。但し、本発明を適用可能な形態が以下説明する実施形態に限定されるわけでないことは勿論である。
GPSを利用した衛星測位システムにおいて、測位用衛星の一種であるGPS衛星は、エフェメリスやアルマナックといった衛星軌道データを含む航法メッセージを、測位用の衛星信号の一種であるGPS衛星信号に乗せて発信している。GPS衛星信号は、拡散符号の一種であるC/A(Coarse and Acquisition)コードによって、スペクトラム拡散方式として知られるCDMA(Code Division Multiple Access)方式によって変調された1.57542[GHz]の通信信号である。C/Aコードは、コード長1023チップを1PNフレームとする繰返し周期1msの擬似ランダム雑音符号であり、各GPS衛星に固有のコードである。
GPS衛星がGPS衛星信号を発信する際の周波数(搬送波周波数)は1.57542[GHz]と予め規定されている。しかし、GPS衛星及びGPS受信装置の移動により生ずるドップラーの影響等により、GPS受信装置がGPS衛星信号を受信する際の周波数は、必ずしも上記の搬送波周波数とは一致しない。そのため、GPS受信装置は、GPS衛星信号を受信した信号に対して、装置内部で発生させた擬似的なC/AコードであるレプリカC/Aコードとの相関演算を、周波数方向及び位相方向それぞれについて行って、GPS衛星(GPS衛星信号)を捕捉する。
周波数方向の相関演算は、受信した搬送波(キャリア)の信号である「受信キャリア信号」の周波数(以下、「受信周波数」と称す。)を特定するための演算(いわゆる周波数サーチ)である。また、位相方向の相関演算は、受信信号に含まれるC/Aコードである「受信C/Aコード」の位相(以下、「コード位相」と称す。)を特定するための演算(いわゆる位相サーチ)である。本明細書では、この周波数サーチ及び位相サーチを総称して「衛星サーチ」と称する。
GPS受信装置は、衛星サーチを行ってGPS衛星の捕捉を試みる。そして、捕捉に成功したGPS衛星に係るGPS衛星信号を復号することで、衛星軌道データを取得する。そして、取得した衛星軌道データから求まる衛星位置等の情報(衛星情報)と、捕捉したGPS衛星からGPS受信装置までの擬似距離の情報とを用いて、GPS受信装置の位置座標及び時計誤差を求める測位計算を行う。
以下、GPS受信装置を搭載した電子機器の一種である携帯型電話機に本発明を適用した場合の実施例について説明する。
1.機能構成
図1は、本実施例における携帯型電話機1の機能構成の一例を示すブロック図である。携帯型電話機1は、GPSアンテナ5と、GPS受信部10と、ホスト処理部30と、操作部40と、表示部50と、携帯電話用アンテナ60と、携帯電話用無線通信回路部70と、記憶部80と、時計部90とを備えて構成される。
GPSアンテナ5は、GPS衛星から発信されているGPS衛星信号を含むRF(Radio Frequency)信号を受信するアンテナであり、受信信号をGPS受信部10に出力する。
GPS受信部10は、GPSアンテナ5から出力された信号に基づいて携帯型電話機1の位置を計測する回路或いは装置であり、いわゆるGPS受信装置に相当する機能ブロックである。GPS受信部10は、RF受信回路部11と、ベースバンド処理回路部20とを備えて構成される。なお、RF受信回路部11と、ベースバンド処理回路部20とは、それぞれ別のLSI(Large Scale Integration)として製造することも、1チップとして製造することも可能である。
RF受信回路部11は、RF信号の受信回路である。回路構成としては、例えば、GPSアンテナ5から出力されたRF信号をA/D変換器でデジタル信号に変換し、デジタル信号を処理する受信回路を構成してもよい。また、GPSアンテナ5から出力されたRF信号をアナログ信号のまま信号処理し、最終的にA/D変換することでデジタル信号をベースバンド処理回路部20に出力する構成としてもよい。
後者の場合には、例えば、次のようにRF受信回路部11を構成することができる。すなわち、所定の発振信号を分周或いは逓倍することで、RF信号乗算用の発振信号を生成する。そして、生成した発振信号を、GPSアンテナ5から出力されたRF信号に乗算することで、RF信号を中間周波数の信号(以下、「IF(Intermediate Frequency)信号」と称す。)にダウンコンバートし、IF信号を増幅等した後、A/D変換器でデジタル信号に変換して、ベースバンド処理回路部20に出力する。
ベースバンド処理回路部20は、GPS衛星の捕捉及び追尾を行う処理回路ブロックであり、衛星捕捉装置及び衛星追尾装置として機能する。また、ベースバンド処理回路部20は、捕捉・追尾したGPS衛星信号を復号することで衛星軌道データや時刻データ等を取得し、所定の測位計算を行って携帯型電話機1の位置(位置座標)を算出する。つまり、ベースバンド処理回路部20は、位置算出装置としても機能する。
ホスト処理部30は、記憶部80に記憶されているシステムプログラム等の各種プログラムに従って携帯型電話機1の各部を統括的に制御するプロセッサーである。ホスト処理部30は、ベースバンド処理回路部20から取得した位置座標をもとに、現在位置を指し示した地図を表示部50に表示させたり、その位置座標を各種のアプリケーション処理に利用する。
操作部40は、例えばタッチパネルやボタンスイッチ等により構成される入力装置であり、押下されたキーやボタンの信号をホスト処理部30に出力する。この操作部40の操作により、通話要求やメール送受信要求、位置算出要求等の各種指示入力がなされる。
表示部50は、LCD(Liquid Crystal Display)等により構成され、ホスト処理部30から入力される表示信号に基づいた各種表示を行う表示装置である。表示部50には、位置表示画面や時刻情報等が表示される。
携帯電話用アンテナ60は、携帯型電話機1の通信サービス事業者が設置した無線基地局との間で携帯電話用無線信号の送受信を行うアンテナである。
携帯電話用無線通信回路部70は、RF変換回路、ベースバンド処理回路等によって構成される携帯電話の通信回路部であり、携帯電話用無線信号の変調・復調等を行うことで、通話やメールの送受信等を実現する。
記憶部80は、ホスト処理部30が携帯型電話機1を制御するためのシステムプログラムや、各種アプリケーション処理を実行するための各種プログラムやデータ等を記憶する記憶装置である。
時計部90は、携帯型電話機1の内部時計であり、水晶発振器等の発振回路を備えて構成される。時計部90の計時時刻は、ベースバンド処理回路部20及びホスト処理部30に随時出力される。
2.ベースバンド処理回路部の回路構成
図2は、ベースバンド処理回路部20の回路構成の一例を示す図であり、本実施例に係わる回路ブロックを中心に記載した図である。ベースバンド処理回路部20は、主要な機能構成として、処理部25と、記憶部27とを有する。
処理部25は、ベースバンド処理回路部20の各機能部を統括的に制御する制御装置及び演算装置であり、CPU(Central Processing Unit)やDSP(Digital Signal Processor)等のプロセッサーを有して構成される。
本実施例において、処理部25は、測位環境判定条件に従って測位環境を随時判定する判定部や、モードA及びモードBの何れに捕捉対象衛星を割り当てるかを測位環境に応じて随時設定する割当設定部、捕捉対象衛星を割り当てられたサーチモードに従って捕捉する捕捉部等として機能する。
処理部25は、主要な機能部として、衛星捕捉・追尾部251と、測位部253とを有する。衛星捕捉・追尾部251は、GPS衛星の捕捉及び追尾を行う機能部であり、複数のGPS衛星の捕捉及び追尾を並列的に行うための受信チャンネル部を有する。具体的には、衛星捕捉・追尾部251は、複数の相関演算器やメモリー等を有し、モードA用受信チャンネル部251Aと、モードB用受信チャンネル部251Bとの2種類のサーチモード用の受信チャンネル部を構成として有している。
各受信チャンネル部251A,251Bは、RF受信回路部11から出力されるデジタル化された受信信号に対して、キャリア(搬送波)除去及び相関演算をデジタル信号処理として実行して、GPS衛星を捕捉する。そして、衛星捕捉・追尾部251は、各受信チャンネルの相関演算結果に対するピーク判定を行い、受信キャリア信号の周波数(受信周波数)及び受信C/Aコードの位相(コード位相)をメジャメント情報として取得する。また、衛星捕捉・追尾部251は、相関演算結果に基づいて航法メッセージを復号する。
モードA用受信チャンネル部251Aは、衛星のサーチモードの一種であるモードAによる衛星サーチを行う。また、モードB用受信チャンネル部251Bは、衛星のサーチモードの一種であるモードBによる衛星サーチを行う。
モードAは、測位環境が所定の良環境条件を満たす場合に適合した良環境用サーチモードであり、例えばGPS衛星信号を受信した信号が強電界の信号となる環境(以下、「強電界環境」と称す。)を想定したサーチモードである。それに対して、モードBは、測位環境が所定の悪環境条件を満たす場合に適合した悪環境用サーチモードであり、例えばGPS衛星信号を受信した信号が弱電界の信号となる環境(以下、「弱電界環境」と称す。)を想定したサーチモードである。例えば、屋外環境用にモードAを規定し、屋内環境用にモードBを規定するとしてもよい。
より具体的には、モードAでは、受信C/AコードとレプリカC/Aコードとの相関演算を行うことで取得した相関値に対する平均化処理を行い、平均化された相関値に対するピーク判定を行って、GPS衛星を捕捉する。良環境では、受信信号のパワーが強くなるため、相関演算で得られる相関値は総体的に大きくなる傾向がある。
それに対して、モードBでは、モードAの手法に“積算”の要素を取り入れ、相関値を所定の相関積算時間(例えば20ミリ秒)に亘って積算し、その結果として得られる相関積算値に対するピーク判定を行って、GPS衛星を捕捉する。悪環境では、受信信号のパワーが弱くなるため、相関演算で得られる相関値は総体的に大きくなりにくく、小さくなる傾向がある。
測位部253は、衛星捕捉・追尾部251により取得されたメジャメント情報や航法メッセージを用いて、従来公知の測位計算を行って自装置の位置(位置座標)を算出する。本実施形態では、測位計算の種別として、最小二乗法を利用したLS(Least Squared)測位計算と、カルマンフィルターを利用したKF(Kalman Filter)測位計算との2種類の測位計算を切り替えて測位を行う。
記憶部27は、ROM(Read Only Memory)やフラッシュROM、RAM(Random Access Memory)等の記憶装置(メモリー)によって構成され、ベースバンド処理回路部20のシステムプログラムや、衛星捕捉機能、測位機能等の各種機能を実現するための各種プログラム、データ等を記憶している。また、各種処理の処理中データ、処理結果などを一時的に記憶するワークエリアを有する。
図2に示すように、記憶部27には、プログラムとして、処理部25により読み出され、ベースバンド処理(図6参照)として実行されるベースバンド処理プログラム271が記憶されている。また、ベースバンド処理プログラム271は、起動時捕捉処理(図7参照)として実行される起動時捕捉プログラム2711と、定常時捕捉処理(図8参照)として実行される定常時捕捉プログラム2713と、各種の調整処理(図9及び図10参照)として実行される調整プログラム2715とをサブルーチンとして含む。
起動時捕捉処理とは、衛星捕捉・追尾部251が、携帯型電話機1の起動時にGPS衛星を初回捕捉する処理である。また、定常時捕捉処理とは、衛星捕捉・追尾部251が、初回測位によって携帯型電話機1の位置が確定(FIX)した後の定常状態においてGPS衛星を捕捉する処理である。これらの処理では、モードA用受信チャンネル部251A及びモードB用受信チャンネル部251Bの各受信チャンネルに対する捕捉対象衛星の割り当てを動的に設定して、衛星サーチを行う。
調整処理とは、衛星捕捉・追尾部251が、上記の捕捉処理で設定した各受信チャンネルに対する捕捉対象衛星の割り当てを調整することで、捕捉対象衛星の割り当ての最適化を実現する処理である。これらの処理については、フローチャートを用いて詳細に後述する。
記憶部27には、データとして、衛星軌道データ272と、測位環境判定条件273と、演算負荷判定条件274と、割当数設定テーブル275と、測位環境判定用データ276と、チャンネル割当データ277とが記憶される。
衛星軌道データ272は、全てのGPS衛星の概略の衛星軌道情報を記憶したアルマナックや、各GPS衛星それぞれについて詳細な衛星軌道情報を記憶したエフェメリス等のデータである。衛星軌道データ272は、捕捉したGPS衛星信号を復号(デコード)することで取得可能な他、携帯型電話機1の基地局からサーバーアシストによってアシストデータとして取得することも可能である。
測位環境判定条件273は、測位環境を判定するための条件である。測位環境を決定付ける要素としては、(A)受信信号の電界強度、(B)衛星天空配置、(C)可視衛星数、(D)測位使用衛星組合せ数、といった要素が挙げられる。
(A)電界強度は、GPS衛星信号を受信した信号の強度であり、例えばSN比(Signal to Noise ratio)として表すことができる。(B)衛星天空配置は、天空におけるGPS衛星のばらつき具合を示す指標値であり、例えばPDOP値で表される。GPS衛星のばらつきが大きいほど、PDOP値は小さくなる。
(C)可視衛星数は、GPS受信装置の天空に位置しており、GPS受信装置が観測可能なGPS衛星の数である。(D)測位使用衛星組合せ数は、測位に使用することが可能な衛星の組合せの数である。可視衛星の全てを測位に使用することも勿論可能であるが、測位の正確性を向上させるために、例えば衛星天空配置(PDOP値)に基づいて、測位に使用することが可能な衛星を選定すると好適である。選定された衛星の組合せの数が、測位使用衛星組合せ数となる。
電界強度が大きいほど、測位環境は良環境であると判定できる。電界強度が大きいと相関値が総体的に大きくなるため、ピーク検出の正確性が向上する。つまり、メジャメント情報が正しく求まり、航法メッセージも正しく復号されることになるため、測位の正確性の向上に繋がるためである。
衛星天空配置が良いほど測位の正確性が向上するため、測位環境は良環境であると判定できる。また、可視衛星数や測位使用衛星組合せ数が多いほど測位の正確性が向上するため、測位環境は良環境であると判定できる。
本実施形態では、上記の(A)〜(D)の要素に基づいて、測位環境を複数のレベル(以下、「測位環境レベル」と称す。)に分類する。具体的には、各要素を複合的に組み合わせた判定条件と、測位環境レベルとを対応付けた測位環境判定条件273を定めておく。測位環境が良好となる判定条件ほど、測位環境レベルとしてより高いレベル(本実施形態では、レベルの数が大きいほど高いレベルとする。)を設定する。そして、処理部25は、測位環境判定条件273に定められた判定条件と現在の状況とを照査して、現在の測位環境レベルを判定する。
演算負荷判定条件274は、処理部25の演算負荷を判定するための条件である。演算負荷を決定付ける要素としては、(a)測位計算の種別、(b)位置FIXの有無、(c)処理部の負荷状態、などが挙げられる。
測位計算の種別は、LS測位とKF測位との2種類の種別である。LS測位では、膨大な数の衛星組合せについて、それぞれ最小二乗法に基づく収束計算を行う必要があるため、演算量が膨大になる傾向がある。それに対して、KF測位では、外部観測量(例えばメジャメント情報)を用いた簡易なフィルターリング演算を行うだけで済むため、演算量は少なくなる傾向がある。従って、KF測位よりもLS測位の方が演算負荷は大きいと言える。
位置FIXの有無は、測位計算によって既に位置が定まった状態(FIX状態)であるか、未だ位置が定まっていない状態(NOFIX状態)であるかを示す。NOFIX状態では、GPS衛星に関する衛星情報(衛星位置や衛星クロックの誤差等)も、GPS受信装置に関する情報(位置やクロックの誤差等)も不定であり、未知数が多い状態である。つまり、情報量が少ない状態であるため、位置を確定するために数多くの測位計算を試行するなど、演算量が増加しがちである。従って、FIX状態よりもNOFIX状態の方が演算負荷は大きいと言える。
本実施形態では、上記の(a)〜(c)の要素に基づいて、演算負荷を複数のレベル(以下、「演算負荷レベル」と称す。)に分類する。具体的には、各要素を複合的に組み合わせた判定条件と、演算負荷レベルとを対応付けた演算負荷判定条件274を定めておく。演算負荷が大きくなる判定条件ほど、演算負荷レベルとしてより高いレベルを設定する。そして、処理部25は、演算負荷判定条件274に定められた判定条件と現在の状況とを照査して、現在の演算負荷レベルを判定する。
本実施形態では、測位環境レベル及び演算負荷レベルを、それぞれレベル1〜9までの9段階に分類するものとして図示・説明する。測位環境のレベルが高いほど(レベルの数値が大きいほど)、測位環境は良環境であることを示す。また、演算負荷のレベルが高いほど(レベルの数値が大きいほど)、演算負荷が大きいことを示す。
割当数設定テーブル275は、1回の割り当て実行に際してGPS衛星を割り当てる上限数として定められた割当数が定められたテーブルであり、そのテーブル構成の一例を図3に示す。割当数設定テーブル275は、モードA用受信チャンネル部251Aに対する割当数(以下、「モードA用割当数」と称す。)に係るモードA用割当数設定テーブルと、モードB用受信チャンネル部251Bに対する割当数(以下、「モードB用割当数」と称す。)に係るモードB用割当数設定テーブルとを含む。捕捉対象衛星の各サーチモード(モードA及びモードB)への割り当て実行の際には、割当数設定テーブル275に定められた割当数(モードA用割当数及びモードB用割当数)以下の衛星を割り当てる。
図3のテーブルでは、縦欄を測位環境とし、横欄を演算負荷として、測位環境レベルと演算負荷レベルとの組合せ(以下、「レベル組」と称す。)毎に割当数が定められている。より具体的には、測位環境レベルが高く、演算負荷レベルが高いレベル組ほど、割当数として小さな値が定められている。測位環境が良環境であれば(測位環境レベルが高ければ)、衛星捕捉に失敗する可能性が低下するため、衛星サーチを試行させる受信チャンネル数を多少制限しても問題ないと考えられるためである。また、処理部25の演算負荷が大きければ(演算負荷レベルが高ければ)、衛星捕捉・追尾に費やすことのできる処理量が限られてくるため、捕捉対象衛星を割り当てる受信チャンネル数を制限する必要があるためである。
それに対して、測位環境が悪環境であれば(測位環境レベルが低ければ)、衛星捕捉に失敗する受信チャンネルが出てくる可能性が高まるため、より多くの受信チャンネルに捕捉対象衛星を割り当てて衛星サーチを行うことが必要となる。また、処理部25の演算負荷が小さければ(演算負荷レベルが低ければ)、衛星捕捉・追尾に費やすことのできる処理量が増加するため、捕捉対象衛星を割り当てる受信チャンネル数を増やすことができる。
ここで、モードAは良環境用のサーチモードであり、モードBは悪環境用のサーチモードである。モードAで捕捉に成功した衛星については、モードBでも当然に捕捉に成功すると考えられる。モードAで捕捉に成功したということは、電界環境が比較的強い環境であると考えられ、積算した相関値に基づいて衛星捕捉を行うモードBでは、尚更捕捉に成功し得るためである。
しかし、逆に、モードBで衛星の捕捉に成功したからといって、モードAでも当該衛星の捕捉に成功するとは限らない。例えば、弱電界環境では、相関値が総じて低くなる傾向があるため、相関値そのものに基づいて衛星捕捉を行うモードAでは、相関値のピーク検出がうまくいかない場合があるためである。
以上のことから、モードA用受信チャンネル部251Aには、モードB用受信チャンネル部251Bよりも多くの捕捉対象衛星を割り当てることが適切である。そこで、本実施形態では、割当数設定テーブル275には、同一の測位環境及び同一の演算負荷のレベル組に対して、モードA用割当数がモードB用割当数よりも多くなるように割当数を定めておくものとする。
測位環境判定用データ276は、現在の測位環境を判定するために用いられるデータであり、そのデータ構成の一例を図4に示す。測位環境判定用データ276には、例えば、電界強度2761と、PDOP値2763と、可視衛星数2765と、測位使用衛星組合せ数2767とが記憶される。この測位環境判定用データ276はベースバンド処理において随時更新され、最新の測位環境判定用データ276に従って測位環境が随時判定される。
チャンネル割当データ277は、各受信チャンネルに対する捕捉対象衛星の割り当てに関するデータであり、そのデータ構成の一例を図5に示す。チャンネル割当データ277には、モードA用チャンネル割当データと、モードB用チャンネル割当データとが含まれる。
各チャンネル割当データには、受信チャンネルの番号と、当該受信チャンネルに割り当てられている衛星(以下、「割当衛星」と称す。)と、当該受信チャンネルの現在の状態とが対応付けて記憶される。現在の状態としては、当該割当衛星の捕捉に成功したことを示す「捕捉成功」や、捕捉に失敗したことを示す「捕捉失敗」、追尾中(トラッキング中)であることを示す「追尾中」、追尾から外れたことを示す「追尾失敗」といった情報が記憶される。
また、各チャンネル割当データには、衛星が割り当てられていない空きの受信チャンネルの数(以下、「空きチャンネル数」と称す。)が記憶される。「空きチャンネル数=受信チャンネルの総数−衛星が割り当て済みの受信チャンネル数」として算出される。空きチャンネル数は、受信チャンネルの割り当て状況に応じて随時更新される。
3.処理の流れ
図6は、記憶部27に記憶されたベースバンド処理プログラム271が処理部25により読み出されることで、ベースバンド処理回路部20において実行されるベースバンド処理の流れを示すフローチャートである。なお、以下のベースバンド処理では、可視衛星の変化や電界環境の変化等に応じて、記憶部27の測位環境判定用データ276が随時更新されるものとして説明する。
最初に、衛星捕捉・追尾部251は、携帯型電話機1の起動後初回測位であるか否かを判定し(ステップA1)、初回測位であると判定した場合は(ステップA1;Yes)、記憶部27に記憶された起動時捕捉プログラム2711に従って起動時捕捉処理を行う(ステップA3)。
図7は、起動時捕捉処理の流れを示すフローチャートである。
先ず、衛星捕捉・追尾部251は、初期設定を行う(ステップB1)。具体的には、モードA用割当数及びモードB用割当数の初期値として、それぞれ所定値を設定する。前述したように、モードA用受信チャンネル部251Aの割当数を、モードB用受信チャンネル部251Bの割当数よりも多くしたい要請がある。そのため、モードA用割当数>モードB用割当数となるように初期設定する。例えば、モードA用割当数の初期値として「10個」を設定し、モードB用割当数の初期値として「8個」を設定する。
次いで、衛星捕捉・追尾部251は、記憶部27に衛星軌道データ272を保持しているか否かを判定し(ステップB3)、保持していると判定した場合は(ステップB3;Yes)、捕捉対象衛星選定処理を行う(ステップB5)。この状態は、いわゆるホットスタートやウォームスタートの状態である。具体的には、時計部90の計時時刻(現在時刻)において、所与の基準位置の天空に位置するGPS衛星を、衛星軌道データ272を用いて判定して捕捉対象衛星に選定する。初回捕捉処理における基準位置は、例えばサーバーアシストによってアシストサーバーから取得した位置や、任意に設定した初期位置とすることができる。
次いで、衛星捕捉・追尾部251は、捕捉対象衛星の優先順位を決定する(ステップB7)。具体的には、例えば捕捉対象衛星の仰角に基づいて優先順位を決定する。つまり、衛星軌道データ272から求まる各捕捉対象衛星の衛星位置と、携帯型電話機1の基準位置とを用いて、各捕捉対象衛星の仰角を算出する。そして、仰角が高い捕捉対象衛星ほど優先順位が高くなるように、捕捉対象衛星を順位付けする。
その後、衛星捕捉・追尾部251は、ステップB5で選定した捕捉対象衛星の数が、予め定められた測位有効衛星数を超えているか否かを判定する(ステップB9)。測位有効衛星数は、十分な数の衛星組合せを生成することができる数(例えば「10個」)を設定する。
捕捉対象衛星数が測位有効衛星数を超えている場合は(ステップB9;Yes)、衛星捕捉・追尾部251は、ステップB7で決定した優先順位の高い順に、初期設定したモードA用割当数の捕捉対象衛星をモードA用受信チャンネル部251Aに割り当てて、チャンネル割当データ277を更新する(ステップB11)。同様に、衛星捕捉・追尾部251は、優先順位の高い順にモードB用割当数の捕捉対象衛星をモードB用受信チャンネル部251Bに割り当てて、チャンネル割当データ277を更新する(ステップB13)。
十分な数の捕捉対象衛星が確保できた場合は、全ての捕捉対象衛星を割り当てるのではなく、優先順位に従って選別した割当数の捕捉対象衛星を割り当てて衛星サーチを行う。GPS衛星の初回捕捉時には、優先順位の高い衛星を優先的にサーチさせることにして、初回捕捉までの時間を短縮する狙いがある。
ステップB9において捕捉対象衛星数が測位有効衛星数以下であると判定した場合は(ステップB9;No)、衛星捕捉・追尾部251は、全ての捕捉対象衛星をモードA用受信チャンネル部251A及びモードB用受信チャンネル部251Bに割り当てて、チャンネル割当データ277を更新する(ステップB15,B17)。
十分な数の捕捉対象衛星が確保できなかった場合は、捕捉対象衛星を割り当てる数を制限してしまうと、測位に必要な数の衛星が捕捉できなくなる可能性がある。そこで、全ての捕捉対象衛星を割り当てて衛星サーチを行うこととした。
一方、ステップB3において衛星軌道データ272を保持していないと判定した場合は(ステップB3;No)、衛星捕捉・追尾部251は、ランダムに所定数(例えば「10個」)の衛星をモードA用受信チャンネル部251Aに割り当てて、チャンネル割当データ277を更新する(ステップB19)。
いわゆるコールドスタートの状態では、捕捉対象衛星を選定することができないため、割り当てる衛星をランダムに決定する。また、捕捉対象とすべき衛星がわからない不確定な状態で衛星サーチを開始することになるため、モードB用受信チャンネル部251Bには衛星を割り当てず、モードA用受信チャンネル部251Aにのみ衛星を割り当てて衛星サーチを行うこととした。
ステップB13、B17又はB19の後、衛星捕捉・追尾部251は、モードA用受信チャンネル部251A及びモードB用受信チャンネル部251Bを用いて、捕捉対象衛星の捕捉及び追尾を開始する(ステップB21)。そして、衛星捕捉・追尾部251は、起動時捕捉処理を終了する。
図6のベースバンド処理に戻って、ステップA1において起動後初回測位ではないと判定した場合は(ステップA1;No)、衛星捕捉・追尾部251は、記憶部27に記憶された定常時捕捉プログラム2713に従って定常時捕捉処理を行う(ステップA5)。
図8は、定常時捕捉処理の流れを示すフローチャートである。
先ず、衛星捕捉・追尾部251は、衛星軌道データ272を用いて捕捉対象衛星選定処理を行う(ステップC1)。そして、衛星捕捉・追尾部251は、チャンネル割当データ277を参照し、モードA用受信チャンネル部251A及びモードB用受信チャンネル部251Bそれぞれについて、捕捉対象衛星のうち受信チャンネルに未だ割り当てられていない衛星(以下、「未割当衛星」と称す。)を判定する(ステップC3)。
次いで、衛星捕捉・追尾部251は、ステップC3で判定した未割当衛星の優先順位を決定する(ステップC5)。この場合も、ステップB7と同様に、例えば仰角が高い衛星ほど優先順位が高くなるように未割当衛星を順位付けする。
その後、衛星捕捉・追尾部251は、現在の測位環境及び演算負荷に基づいて、モードA用割当数及びモードB用割当数を決定する(ステップC7)。測位環境は、最新の測位環境判定用データ276を演算負荷判定条件274と照査することで判定する。また、演算負荷は、処理部25の処理状況や負荷状態等を演算負荷判定条件274と照査することで判定する。そして、割当数設定テーブル275を参照し、判定した測位環境レベル及び演算負荷レベルの組合せに対応付けられた割当数を読み出して設定する。
次いで、衛星捕捉・追尾部251は、記憶部27のチャンネル割当データ277を参照し、モードA用受信チャンネル部251A及びモードB用受信チャンネル部251Bそれぞれの空きチャンネル数を判定する(ステップC9)。
そして、衛星捕捉・追尾部251は、ステップC5で決定した優先順位の高い順に、モードA用割当数の未割当衛星をモードA用受信チャンネル部251Aに割り当てて、チャンネル割当データ277を更新する(ステップC11)。また、衛星捕捉・追尾部251は、優先順位の高い順にモードB用割当数の未割当衛星をモードB用受信チャンネル部251Bに割り当てて、チャンネル割当データ277を更新する(ステップC13)。
定常時捕捉処理では、起動時捕捉処理のように捕捉対象衛星の割り当てを制限する必要は特にない。そこで、起動時捕捉処理において割り当てを制限した捕捉対象衛星(未割当衛星)についても新規に割り当てて衛星サーチを行うこととした。
なお、モードA用割当数及びモードB用割当数がそれぞれ空きチャンネル数よりも多い場合は、割当数の未割当衛星を空きチャンネルに割り当てることができない。そのため、この場合には、優先順位の高い順に、空きチャンネル数の未割当衛星を空きチャンネルに割り当てればよい。
その後、衛星捕捉・追尾部251は、モードA用受信チャンネル部251A及びモードB用受信チャンネル部251Bを用いて、捕捉対象衛星の捕捉及び追尾を開始する(ステップC15)。そして、衛星捕捉・追尾部251は、定常時捕捉処理を終了する。
図6のベースバンド処理に戻って、起動時捕捉処理又は定常時捕捉処理を行った後、衛星信号捕捉・追尾部251は、記憶部27に記憶された調整プログラム2715に従って調整処理を行う(ステップA7)。
図9は、調整処理の一例である第1の調整処理の流れを示すフローチャートである。
衛星捕捉・追尾部251は、測位環境レベルを判定する(ステップD1)。測位環境レベルが“1〜3”であると判定した場合、つまり測位環境が悪環境条件を満たす場合は(ステップD1;1〜3)、衛星捕捉・追尾部251は、モードA用受信チャンネル部251Aには割り当てられているが、モードB用受信チャンネル部251Bには割り当てられていない衛星(以下、「非割当衛星」と称す。)を判定する(ステップD3)。
衛星捕捉・追尾部251は、判定した非割当衛星の優先順位を決定する(ステップD5)。この場合も、ステップB7と同様に、例えば仰角が高い衛星ほど優先順位が高くなるように非割当衛星を順位付けする。そして、衛星捕捉・追尾部251は、チャンネル割当データ277を参照して、モードB用受信チャンネル部251Bの空きチャンネル数を判定する(ステップD7)。
次いで、衛星捕捉・追尾部251は、優先順位に従って非割当衛星をモードB用受信チャンネル部251Bに追加割当する(ステップD9)。そして、衛星捕捉・追尾部251は、追加した衛星の捕捉及び追尾を開始して(ステップD11)、第1の調整処理を終了する。
測位環境が悪環境である場合は、良環境用のサーチモード(モードA)では、衛星の捕捉に失敗する可能性がある。そこで、悪環境用のサーチモード(モードB)に割り当てられていない衛星をモードB用受信チャンネル部251Bに新規に割り当てて、モードBによる衛星サーチを開始する。
一方、ステップD1において測位環境レベルが“7〜9”であると判定した場合、つまり測位環境が良環境条件を満たす場合は(ステップD1;7〜9)、衛星捕捉・追尾部251は、モードA用受信チャンネル部251A及びモードB用受信チャンネル部251Bに重複して割り当てられている衛星(以下、「重複割当衛星」と称す。)を判定する(ステップD13)。
そして、衛星捕捉・追尾部251は、モードB用受信チャンネル部251Bに対する重複割当衛星の割り当てを削除する(ステップD15)。そして、衛星捕捉・追尾部251は、割り当てから削除した衛星の捕捉及び追尾を停止して(ステップD17)、第1の調整処理を終了する。
測位環境が良環境である場合は、良環境用のサーチモード(モードA)のみでも衛星の捕捉が十分に可能であると考えられる。そこで、悪環境用のサーチモード(モードB)、つまりモードB用受信チャンネル部251Bに対する重複割当衛星の割り当てを停止して、モードBによる衛星サーチを停止する。
なお、ステップD1において測位環境レベルが“4〜6”であると判定した場合、つまり測位環境が良環境条件も悪環境条件も満たさない場合は(ステップD1;4〜6)、衛星捕捉・追尾部251は、現在の捕捉対象衛星の割り当てに手を加えることなく、第1の調整処理を終了する。
図6のベースバンド処理に戻って、調整処理を行った後、衛星捕捉・追尾部251は、測位タイミングであるか否かを判定する(ステップA9)。測位タイミングとしては、適宜のタイミングを設定可能である。例えば、所定時間間隔(例えば1分間隔)のタイミングとしてもよいし、ユーザーにより測位の指示操作がなされたタイミングとしてもよい。
まだ測位タイミングではないと判定した場合は(ステップA9;No)、衛星捕捉・追尾部251は、ステップA7に戻り、再び調整処理を行う。測位タイミングが到来するまでの間は、測位環境が随時変化する可能性があるため、調整処理を繰り返し行って捕捉対象衛星の割り当てを随時最適化する。
測位タイミングが到来したならば(ステップA9;Yes)、衛星捕捉・追尾部251は、実行する測位種別を決定する(ステップA11)。例えば、携帯型電話機1を起動した後、動作が安定するまでの所定期間はLS測位を行うこととし、動作が安定した後はKF測位に切り替えて測位を行う。
測位種別がLS測位であるならば(ステップA11;LS)、測位部253は、LS測位処理を行う(ステップA13)。また、測位種別がKF測位であるならば(ステップA11;KF)、測位部253は、KF測位処理を行う(ステップA15)。
LS測位処理では、例えば、擬似距離を利用して最小二乗法に基づく収束計算を行う。擬似距離は、次のようにして算出することができる。すなわち、衛星軌道データから求まる各捕捉衛星の衛星位置と、携帯型電話機1の基準位置とを用いて、各捕捉衛星と携帯型電話機1との間の擬似距離の整数部分を算出する。また、メジャメント情報に含まれるコード位相を用いて、各捕捉衛星と携帯型電話機1との間の擬似距離の端数部分を算出する。このようにして算出した整数部分と端数部分とを合算することで擬似距離が求まる。
KF測位処理では、例えば、状態推定量を携帯型電話機1の位置(及び速度)とし、外部観測量をコード位相(及び受信周波数)として、カルマンフィルターの理論に基づく予測演算(時刻更新)と補正演算(観測更新)とを繰り返し行って、携帯型電話機1の位置を推定する。
次いで、測位部253は、測位処理で算出した位置(位置座標)をホスト処理部30に出力する(ステップA17)。そして、処理部25は、処理を終了するか否かを判定し(ステップA19)、まだ終了しないと判定した場合は(ステップA19;No)、ステップA1に戻る。また、処理を終了すると判定した場合は(ステップA19;Yes)、ベースバンド処理を終了する。
4.作用効果
ベースバンド処理回路部20において、処理部25は、記憶部27に記憶された測位環境判定条件273及び演算負荷判定条件274に従って、測位環境及び演算負荷を随時判定する。そして、処理部25は、モードA及びモードBのサーチモードの何れに捕捉対象衛星を割り当てるかを、判定した測位環境及び演算負荷に応じて随時設定する。そして、処理部25は、モードA用受信チャンネル部251A及びモードB用受信チャンネル部251Bを用いて、各捕捉対象衛星を、割り当てられたサーチモードに従って捕捉する。
より具体的には、起動時捕捉処理では、処理部25は、予め定められたモードA用及びモードB用割当数の捕捉対象衛星を、モードA及びモードBの各サーチモードに割り当てる。この際、捕捉対象衛星に優先順位をつけて、優先順位の高い捕捉対象衛星から順に割り当てを行う。そして、割り当てた捕捉対象衛星のサーチを各受信チャンネルに開始させる。これにより、起動時には、消費電力を削減しつつ、特定の衛星を優先してサーチすることができる。
定常時捕捉処理では、処理部25は、測位環境及び演算負荷に基づいてモードA用及びモードB用割当数を決定する。そして、各受信チャンネルに割り当て済みの衛星の割り当てはそのままとし、受信チャンネルに未だ割り当てられていない捕捉対象衛星(未割当衛星)を、優先順位の高い順に割当数分新規に割り当てて、衛星サーチを開始する。これにより、定常時においては、起動時には割り当てられなかった捕捉対象衛星についても衛星サーチを行うことができる。
また、一の捕捉対象衛星がモードA用受信チャンネル部251AとモードB用受信チャンネル部251Bとに重複して割り当てられている場合であって、測位環境が所定の良環境条件を満たす場合は、モードB用受信チャンネル部251Bに対する当該捕捉対象衛星の割り当てを削除・停止して、衛星サーチを停止させる。逆に、一の捕捉対象衛星がモードB用受信チャンネル部251Bに割り当てられておらず、測位環境が所定の悪環境条件を満たす場合には、当該一の捕捉対象衛星をモードB用受信チャンネル部251Bに追加的に割り当てて、衛星サーチを開始させる。かかる調整処理により、捕捉対象衛星の割り当てを最適化することができる。
5.変形例
本発明を適用可能な実施形態は、上記の実施形態に限定されることなく、本発明の趣旨を逸脱しない範囲で適宜変更可能であることは勿論である。以下、変形例について説明するが、上記の実施形態と同一の構成要素については同一の符号を付して説明を省略し、上記の実施形態とは異なる部分を中心に説明する。
5−1.調整処理
図9を参照して説明した第1の調整処理は、あくまでも調整処理の一例である。測位環境や演算負荷に基づいて捕捉対象衛星の割り当てを最適化することができるのであれば、他の処理であってもよい。
図10は、他の調整処理の一例である第2の調整処理の流れを示すフローチャートである。先ず、衛星捕捉・追尾部251は、捕捉対象衛星の優先順位を決定する(ステップE1)。そして、衛星捕捉・追尾部251は、捕捉対象衛星の数がモードA用割当数を超えているか否かを判定する(ステップE3)。
ステップE3において超えていると判定した場合は(ステップE3;Yes)、衛星捕捉・追尾部251は、モードA用受信チャンネル部251Aの割り当てについて、優先順位の低い方からモードA用割当数の割当衛星を削除する(ステップE5)。その代わりに、衛星捕捉・追尾部251は、優先順位の高い方からモードA用割当数の未割当衛星をモードA用受信チャンネル部251Aの割り当てに追加する(ステップE7)。
次いで、衛星捕捉・追尾部251は、捕捉対象衛星の数がモードB用割当数を超えているか否かを判定し(ステップE9)、超えていると判定した場合は(ステップE9;Yes)、モードB用受信チャンネル部251Bの割り当てについて、優先順位の低い方からモードB用割当数の割当衛星を削除する(ステップE11)。その代わりに、衛星捕捉・追尾部251は、優先順位の高い方からモードB用割当数の未割当衛星をモードB用受信チャンネル部251Bの割り当てに追加する(ステップE13)。
そして、衛星捕捉・追尾部251は、割り当てから削除した衛星の捕捉及び追尾を停止するとともに(ステップE15)、割り当てに追加した衛星の捕捉及び追尾を開始して(ステップE17)、第2の調整処理を終了する。
なお、ステップE3において捕捉対象衛星数がモードA用割当数以下であると判定した場合は(ステップE3;No)、衛星捕捉・追尾部251は、ステップE9へと処理を移行する。また、ステップE9において捕捉対象衛星数がモードB用割当数以下であると判定した場合は(ステップE9;No)、衛星捕捉・追尾部251は、ステップE15へと処理を移行する。
第2の調整処理では、十分な数の捕捉対象衛星が存在する場合に、優先順位の低い既割当衛星については割り当てを削除して衛星サーチを停止し、その代わりに、優先順位の高い未割当衛星を新たに割り当てて、衛星サーチを開始することとした。これにより、捕捉対象衛星の割り当てが最適化され、衛星サーチをより効果的に行うことができる。
5−2.捕捉対象衛星の割り当ての設定
上記の実施形態では、測位環境及び演算負荷に基づいて割当数を決定して、捕捉対象衛星を割り当てるものとして説明した。しかし、演算負荷は必ずしも必須というわけではなく、測位環境のみに基づいて割当数を決定して捕捉対象衛星を割り当てることとしてもよい。
また、少なくとも受信信号の電界強度を用いれば、測位環境の判定を行うことは可能である。つまり、上記の実施形態の(A)〜(D)の全ての要素を用いて測位環境を判定せずとも、例えば、(A)の電界強度のみを用いて測位環境を判定することとしてもよいし、電界強度と他の要素との任意の組合せで測位環境を判定することとしてもよい。この場合は、対応する条件を測位環境判定条件273に予め定めておけばよい。
また、演算負荷についても同様に、上記の実施形態の(a)〜(c)の全ての要素を用いて演算負荷を判定せずとも、例えば、(a)の測位計算の種別のみを用いて演算負荷を判定することとしてもよいし、測位計算の種別と他の要素との任意の組合せで演算負荷を判定することとしてもよい。この場合は、対応する条件を演算負荷判定条件274に予め定めておけばよい。
5−3.サーチモード
上記の実施形態では、測位環境が所定の良環境条件を満たす場合に適合したモードAと、測位環境が所定の悪環境条件を満たす場合に適合したモードBとの2種類のサーチモードで衛星サーチを行うものとして説明した。しかし、モードの種類は複数種類であればよく、3種類以上のサーチモードを用いることとしてもよい。
例えば、モードAと同じく、測位環境が良環境条件を満たす場合に適合したモードCとして、従来より相関演算の手法として用いられているEarly−Late方式で衛星サーチを行うモードを追加してもよい。この場合は、モードA〜モードCそれぞれに対する割当数を割当数設定テーブル275に定めておき、少なくとも測位環境に基づいて決定した割当数の捕捉対象衛星を各サーチモードに割り当てることとすればよい。
5−4.受信チャンネル部
上記の実施形態では、衛星捕捉・追尾部251に含まれる受信チャンネル部を、モードA用とモードB用とに分け、モードA用及びモードB用それぞれの受信チャンネルの数が固定であるかのように図示・説明した。しかし、モードA用及びモードB用に分けることなく、受信チャンネル部を構成する全ての受信チャンネルに対して、サーチモード及び捕捉対象衛星をそれぞれ動的に割り当てて、衛星サーチを行うこととしてもよい。
5−5.優先順位の決定
上記の実施形態では、捕捉対象衛星の優先順位を仰角に基づいて決定したが、他の要素に基づいて優先順位を決定してもよい。例えば、一定以上の電界強度の信号を継続的に受信している捕捉対象衛星ほど優先順位を高くするように順位付けを行ってもよい。
5−6.電子機器
上記の実施形態では、電子機器の一種である携帯型電話機に本発明を適用した場合の実施例について説明したが、本発明を適用可能な電子機器はこれに限られるわけではない。例えば、カーナビゲーション装置や携帯型ナビゲーション装置、パソコン、PDA(Personal Digital Assistant)、腕時計といった他の電子機器についても同様に適用することが可能である。
5−7.処理の主体
上記の実施形態では、ベースバンド処理回路部の処理部が測位を実行するものとして説明した。つまり、ベースバンド処理回路部の処理部が測位部を有し、位置算出装置として機能するものとして説明した。しかし、ベースバンド処理回路部の処理部が測位を実行しなければならないわけではなく、電子機器のホスト処理部が測位を実行することとしてもよい。
この場合は、ベースバンド処理回路部の処理部を衛星捕捉・追尾部として機能させ、ホスト処理部を測位部として機能させる。そして、処理部によって取得された航法メッセージやメジャメント情報を利用して、ホスト処理部が測位計算を行って位置を算出する。そして、ホスト処理部は、算出した位置を各種のアプリケーション処理に利用する。この場合は、電子機器が位置算出装置として機能することになる。
5−8.衛星測位システム
また、上記の実施形態では、衛星測位システムとしてGPSを例に挙げて説明したが、WAAS(Wide Area Augmentation System)、QZSS(Quasi Zenith Satellite System)、GLONASS(GLObal NAvigation Satellite System)、GALILEO等の他の衛星測位システムであってもよい。