受信装置、受信方法、コンピュータプログラム及び携帯端末
【課題】スリープ期間中に擬似的に衛星信号を同期保持することで平均電力及びピーク電力の低下を図ることが可能な受信装置を提供する。
【解決手段】衛星からの信号を受信する受信部と、受信信号の周波数を所定の中間周波数に変換する周波数変換部と、同期捕捉とキャリア周波数の検出とを行う同期捕捉部と、拡散符号の位相及びキャリア周波数を、複数の衛星に対応して独立に設けられた複数のチャンネルのそれぞれに対して衛星毎に割り当てて設定して拡散符号とキャリアとの同期保持を行うとともに、中間周波数信号に含まれるメッセージを復調する同期保持部と、を備え、同期保持部は、拡散符号に同期する拡散コードを生成する拡散コード生成部を含み、測位動作を行わないスリープ期間においては、同期保持部は拡散コード生成部のみを動作させ、同期保持部が参照するカウンタも併せて動作する受信装置が提供される。
【解決手段】衛星からの信号を受信する受信部と、受信信号の周波数を所定の中間周波数に変換する周波数変換部と、同期捕捉とキャリア周波数の検出とを行う同期捕捉部と、拡散符号の位相及びキャリア周波数を、複数の衛星に対応して独立に設けられた複数のチャンネルのそれぞれに対して衛星毎に割り当てて設定して拡散符号とキャリアとの同期保持を行うとともに、中間周波数信号に含まれるメッセージを復調する同期保持部と、を備え、同期保持部は、拡散符号に同期する拡散コードを生成する拡散コード生成部を含み、測位動作を行わないスリープ期間においては、同期保持部は拡散コード生成部のみを動作させ、同期保持部が参照するカウンタも併せて動作する受信装置が提供される。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、受信装置、受信方法、コンピュータプログラム及び携帯端末に関する。
【背景技術】
【0002】
近年、カーナビゲーション機器や携帯電話、デジタルスチルカメラなどの様々な電子機器に、GPS(Global Positioning System:全地球測位システム)を利用した測位機能が搭載されている。典型的には、電子機器においてGPSを利用する場合、GPSモジュールにおいて4個以上のGPS衛星からの信号を受信し、受信信号に基づいて機器の位置を測定し、測定結果が表示装置の画面などを介してユーザに通知される。より具体的には、GPSモジュールは、受信信号を復調して各GPS衛星の軌道データを獲得し、当該軌道データ、時間情報及び受信信号の遅延時間から機器の3次元位置を連立方程式により導き出す。受信の対象とするGPS衛星が4個以上必要となるのは、モジュール内部の時間と衛星の時間との間の誤差の影響を除去するためである。
【0003】
ここで、GPS衛星から送信される信号(L1帯、C/Aコード)は、50bpsのデータを符号長1023、チップレート1.023MHzのGold符号でスペクトラム拡散したスペクトラム拡散信号をさらに1575.42MHzのキャリアを用いてBPSK(Binary Phase Shift Keying)変調した信号である。従って、GPSモジュールがGPS衛星から上記信号を受信するには、拡散符号、キャリア及びデータの同期をとる必要がある。
【0004】
一般的に、電子機器に搭載されるGPSモジュールは、受信信号のキャリア周波数を数MHz以内の中間周波数(IF:Intermediate Frequency)に周波数変換した後、上述した同期処理等を行う。典型的な中間周波数は、例えば、4.092MHz又は1.023MHz、0Hzなどである。通常、受信信号の信号強度は熱雑音の信号強度よりも小さく、S/Nは0dBを下回るものの、スペクトラム拡散方式の処理利得により信号を復調することが可能である。GPS信号の場合、データ長1bitに対する処理利得は、例えば10Log(1.023MHz/50)≒43dBである。
【0005】
従来は、GPS受信機の主な用途はカーナビゲーションだったが、近年は携帯電話やディジタルスチルカメラ(以下、DSC)等にも搭載されるようになり、GPS受信機の市場は広がる傾向にある。性能面においても高感度化が進み、受信感度−150〜−160dBmのGPS受信機が普及している。これは半導体プロセスの微細化によりICの集積度が高まったことで大規模な回路を低コストでできるようになったことが寄与しており、消費電力も低くなってきている。
【0006】
従来のカーナビゲーションに用いるGPS受信機の用途においては、基本的に連続測位(典型的には1秒に1回)であり、車の大容量バッテリから電源供給してもらえるので、動作時の消費電力は問題になることはあまり無かった。一方、近年の簡易ナビゲーションシステム(Personal Navigation Device−PND)、携帯電話、DSC、その他のいわゆるモバイル機器の電源は小型バッテリで、PNDを除けば、必ずしも連続測位は必要ではない。モバイル機器にとって、バッテリの持続時間は極めて重要な要素で、搭載したGPS受信機を従来と同様に動作させたためにバッテリの持続時間が極度に短くなり、モバイル機器本来の機能を損ねる事態は避けなければならない。上記の通り、近年のGPS受信機の低消費電力化は進んではいるが、連続動作時の消費電力はモバイル機器にとって充分ではなく、間欠的な動作により低電力動作させるケースが多い。間欠動作させることで測位の頻度は下がるが、測位しない場合に回路全体または一部を除く大半の電力を落とすことで、平均電力を確実に下げる効果が期待できる。
【0007】
GPS受信機における間欠動作は、測位を行わない時は必要最小限の回路以外は動作を停止するスリープ状態とし、電力の時間平均を下げることで低電力化するものである。スリープ状態で動作させる必要最小限の回路は、典型的には周波数の低いリアルタイムクロック(以下、RTC。周波数は32.768kHzが一般的)と衛星の軌道や時刻情報等を保持するためのバックアップメモリである。間欠動作が機能するためには、スリープ状態からの復帰後に短時間で各衛星からの受信信号の同期を再確立できなければならない。
【0008】
受信信号の同期の再確立を行う最も単純な方法は、復帰後に通常のGPS受信機の電源ON時と同じ初期起動を行うことである。通常のGPS受信機の初期起動は衛星の軌道情報であるエフェメリスとアルマナックの使用可・不可によって、コールドスタート、ウォームスタート、ホットスタートの3種類に分けられる。エフェメリスは個別に衛星から放送され、測位計算に用いられるほど精度は高いが有効期限は短い軌道情報である。一方のアルマナックは全衛星から共通に放送される全衛星の粗い軌道情報で有効期限は長く、受信可能な衛星を特定するのに役立つ。コールドスタートは双方の軌道情報が使用不可の場合、ウォームスタートはアルマナックのみ使用可、ホットスタートは双方の軌道情報が使用可の場合の初期起動で、前2者は測位に至るまで通常30秒程度を要するが、ホットスタートは数秒と短く、好条件下では1秒以下も可能である。
【0009】
同期の再確立に通常のGPS受信機の初期起動を行う間欠動作の方法では、最初にコールドまたはウォームスタートで初期測位を確立した後で間欠動作に移行し、短時間で測位可能なホットスタートを行うのが一般的である。この方法の場合、GPS受信機においては衛星の受信信号に対して同期を捕捉する同期捕捉部が動作する。同期捕捉部は処理負荷が大きいため、同期を保持する同期保持部より消費電力がずっと大きいケースが多いので、平均電力よりピーク電力がバッテリで規定される場合には不都合である。
【0010】
ピーク電力を下げるために、同期捕捉部を使わず、同期保持部のみで同期を再確立する方法がある。そのためには、スリープ期間においても精度の高い時間情報を維持する方法を持ち、スリープ状態から復帰後に拡散コードの1chip(1/1.023μ秒)以内の精度で同期保持回路を起動させられなければならない。拡散コード1chip以内の精度があれば、拡散コードの同期を行う遅延ロックループ(DLL)は瞬時に同期させることが可能である。一般に同期保持部は同期を保持する同期保持回路を複数持っており、複数の衛星を同時に受信し、それぞれの衛星に対して同期を保持できるが、時間を計測する発振器の発振周波数の精度と安定性の関係で、スリープ期間が長いほど精度の高い時間情報を維持するのは難しくなる。
【0011】
スリープ期間において精度の高い時間情報を維持するために、スリープする前に精度の低いRTCの周波数(数十ppm)を精度の高いGPS受信用発振器(温度補償されたTCXOを使用するのが一般的で、GPS用の場合の一例としては0.5ppm)によるカウンタを使って計測した結果を記憶しておき、スリープ状態から復帰後、RTCによる経過時間にスリープ前の計測結果を用いて誤差補正する方法がある(特許文献1)。この方法を用いると、スリープ時にはRTCのみ動作し、GPS受信用発振器は停止させ、かつ、スリープから復帰後に同期捕捉部を使わずに同期を再確立できるため、かなりの低電力化を期待できる。
【先行技術文献】
【特許文献】
【0012】
【特許文献1】特許第4164662号
【発明の概要】
【発明が解決しようとする課題】
【0013】
ただし、同期保持部のみで瞬時の同期の再確立が可能かどうかはGPS受信機自体の移動速度に加え、計測の精度、スリープ時間の長さ、スリープ中のRTCおよびGPS受信用発振器の安定度に依存する。特に通常は温度補償されないRTCの安定度が支配的要因となって、実用においては計測結果が時々刻々変化し、スリープから復帰後の誤差補正においてずれが生じるため、スリープ時間をあまり長く取れない。スリープから復帰後の測位演算には一定の時間が必要なので、間欠動作のON−OFF比を大きくできないと、平均電力に関してはホットスタートによる初期測位を行う方法に対するメリットがなくなる。また、RTCの安定性のばらつきは大量生産される製品に対する動作保証を難しくする。
【0014】
GPS受信機に対する要求は、搭載される製品の性質によって異なるが、カーナビゲーションのような連続測位とDSCに典型的な単発測位との中間的な要求、すなわち、位置データのロギングのような測位頻度を下げて準連続的に測位を低電力で行いたい要求には、RTCの安定性に制約を受けない、安定度の高い間欠動作が期待される。
【0015】
そこで、本発明は、上記問題に鑑みてなされたものであり、本発明の目的とするところは、スリープ期間中に擬似的に衛星信号を同期保持することで平均電力及びピーク電力の低下を図ることが可能な、新規かつ改良された受信装置、受信方法、コンピュータプログラム及び携帯端末を提供することにある。
【課題を解決するための手段】
【0016】
上記課題を解決するために、本発明のある観点によれば、全地球測位システムにおける衛星からの信号を受信する受信部と、前記受信部が受信した受信信号の周波数を所定の中間周波数に変換する周波数変換部と、前記周波数変換部が変換した中間周波数の信号における拡散符号の位相を検出する同期捕捉と前記中間周波数の信号におけるキャリア周波数の検出とを行う同期捕捉部と、前記同期捕捉部によって検出された前記拡散符号の位相及び前記同期捕捉部によって検出された前記キャリア周波数を、複数の前記衛星に対応して独立に設けられた複数のチャンネルのそれぞれに対して前記衛星毎に割り当てて設定し、設定した前記拡散符号の位相及び前記キャリア周波数を用いて前記拡散符号とキャリアとの同期保持を行うとともに、前記中間周波数信号に含まれるメッセージの復調を行う同期保持部と、前記同期保持部が復調したメッセージを用いた測位演算を含む動作制御を実行する制御部と、を備え、前記同期保持部は、前記拡散符号に同期する拡散コードを生成する拡散コード生成部を含み、前記同期保持部は所定の周波数で発振する温度補償された発振器を発振源とするクロックで動作するカウンタを参照し、測位動作を行わないスリープ期間においては、前記同期保持部は前記拡散コード生成部のみを動作させるとともに前記同期保持部が参照する前記カウンタが動作する、受信装置が提供される。
【0017】
前記拡散コード生成部は、数値型制御発振器と、前記数値型制御発振器の出力信号を受けて拡散符号を発生する拡散符号発生器と、を含んでいてもよい。
【0018】
前記数値型制御発振器は、前記スリープ期間に入る直前の前記数値型制御発振器の値を当該スリープ期間における前記数値型制御発振器の値に保持するようにしてもよい。
【0019】
前記制御部は、前記スリープ期間に入る直前の所定の期間における前記数値型制御発振器の値の平均値を算出し、前記数値型制御発振器は、前記平均値を当該スリープ期間における前記数値型制御発振器の値として保持するようにしてもよい。
【0020】
前記制御部は、前記スリープ期間における前記衛星のドップラシフトの変化量を考慮して前記スリープ期間が終了した時点の前記数値型制御発振器の値を補正するようにしてもよい。
【0021】
前記制御部は、前記スリープ期間から復帰する時間を用いて、前記補正を前記スリープ期間に入る前に実行するようにしてもよい。
【0022】
前記スリープ期間において、前記受信部、前記周波数変換部、前記同期捕捉部及び前記制御部は動作を停止するようにしてもよい。
【0023】
また、上記課題を解決するために、本発明の別の観点によれば、全地球測位システムにおける衛星からの信号を受信する受信ステップと、前記受信部が受信した受信信号の周波数を所定の中間周波数に変換する周波数変換ステップと、前記周波数変換ステップで変換した中間周波数の信号における拡散符号の位相を検出する同期捕捉と前記中間周波数の信号におけるキャリア周波数の検出とを行う同期捕捉ステップと、前記拡散符号に同期する拡散コードを生成し、所定の周波数で発振する温度補償された発振器を発振源とするクロックで動作するカウンタを参照する同期保持部を用いて、前記同期捕捉ステップによって検出された前記拡散符号の位相及び前記同期捕捉ステップによって検出された前記キャリア周波数を、複数の前記衛星に対応して独立に設けられた複数のチャンネルのそれぞれに対して前記衛星毎に割り当てて設定し、設定した前記拡散符号の位相及び前記キャリア周波数を用いて前記拡散符号とキャリアとの同期保持を行うとともに、前記中間周波数信号に含まれるメッセージの復調を行う同期保持ステップと、前記同期保持ステップが復調したメッセージを用いた測位演算を含む動作制御を実行する制御ステップと、測位動作を行わないスリープ期間においては、前記同期保持部は前記拡散コード生成部のみを動作させるとともに前記同期保持部が参照する前記カウンタが動作する間欠動作ステップと、を含む、受信方法が提供される。
【0024】
また、上記課題を解決するために、本発明の別の観点によれば、コンピュータに、全地球測位システムにおける衛星からの信号を受信する受信ステップと、前記受信部が受信した受信信号の周波数を所定の中間周波数に変換する周波数変換ステップと、前記周波数変換ステップで変換した中間周波数の信号における拡散符号の位相を検出する同期捕捉と前記中間周波数の信号におけるキャリア周波数の検出とを行う同期捕捉ステップと、前記拡散符号に同期する拡散コードを生成し、所定の周波数で発振する温度補償された発振器を発振源とするクロックで動作するカウンタを参照する同期保持部を用いて、前記同期捕捉ステップによって検出された前記拡散符号の位相及び前記同期捕捉ステップによって検出された前記キャリア周波数を、複数の前記衛星に対応して独立に設けられた複数のチャンネルのそれぞれに対して前記衛星毎に割り当てて設定し、設定した前記拡散符号の位相及び前記キャリア周波数を用いて前記拡散符号とキャリアとの同期保持を行うとともに、前記中間周波数信号に含まれるメッセージの復調を行う同期保持ステップと、前記同期保持ステップが復調したメッセージを用いた測位演算を含む動作制御を実行する制御ステップと、測位動作を行わないスリープ期間においては、前記同期保持部は前記拡散コード生成部のみを動作させるとともに前記同期保持部が参照する前記カウンタが動作する間欠動作ステップと、を実行させる、コンピュータプログラムが提供される。
【0025】
また、上記課題を解決するために、本発明の別の観点によれば、上記受信装置との間で命令及び情報の授受を実行する、携帯端末が提供される。
【発明の効果】
【0026】
以上説明したように本発明によれば、スリープ期間中に擬似的に衛星信号を同期保持するための構成のみを動作させることで平均電力及びピーク電力の低下を図ることが可能な、新規かつ改良された受信装置、受信方法、コンピュータプログラム及び携帯端末を提供することができる。
【図面の簡単な説明】
【0027】
【図1】本発明に関連するGPSモジュールの構成を示すブロック図である。
【図2】図1の同期捕捉部のより詳細な構成の一例を示すブロック図である。
【図3】図1の同期捕捉部のより詳細な構成の他の例を示すブロック図である。
【図4】デジタルマッチドフィルタから出力される相関信号のピークの一例を示す説明図である。
【図5】衛星の軌道情報であるエフェメリスとアルマナックのデータ構造を示す説明図である。
【図6】ホットスタートによる間欠動作の概念を示す説明図である。
【図7】図1に示したGPSモジュール10に含まれる同期保持部50の構成を示す説明図である。
【図8】図7に示したチャンネル回路100の構成を示す説明図である。
【図9】受信信号における拡散符号と拡散コード生成器の位相がDLLの制御によって同期が保持されている状態を示す説明図である。
【図10】受信信号と経過時間との関係を示す説明図である。
【図11】拡散コードのチップレートを決めているNCO152の周波数を衛星毎にドップラシフト量に合わせて適切に設定する例を示す説明図である。
【図12】衛星のドップラシフトの変化例をグラフで示す説明図である。
【図13】GPSモジュール10の動作を示す流れ図である。
【図14】本発明の一実施形態にかかるGPSモジュール10との間で情報を授受するデジタルスチルカメラ200の構成を示す説明図である。
【図15A】本発明の一実施形態にかかるGPSモジュール10と及びデジタルスチルカメラ200の動作を示す流れ図である。
【図15B】本発明の一実施形態にかかるGPSモジュール10と及びデジタルスチルカメラ200の動作を示す流れ図である。
【発明を実施するための形態】
【0028】
以下に添付図面を参照しながら、本発明の好適な実施の形態について詳細に説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複説明を省略する。
【0029】
なお、説明は以下の順序で行うものとする。
<1.本発明の一実施形態>
[1−1.本発明に関連するGPSモジュールのハードウェア構成]
[1−2.同期再確立の方法]
<2.GPSモジュールが内蔵される機器の説明>
<3.まとめ>
【0030】
[1−1.GPSモジュールのハードウェア構成]
まず、本発明に関連するGPSモジュールのハードウェア構成について説明する。図1は、本発明に関連するGPSモジュール10のハードウェア構成の一例を示すブロック図である。以下、図1を用いてGPSモジュールのハードウェア構成について説明する。
【0031】
図1を参照すると、GPSモジュール10は、アンテナ12、周波数変換部20、同期捕捉部40、同期保持部50、CPU(Central Processing Unit)60、RTC(Real Time Clock)64、タイマ68、メモリ70、XO(水晶発振器、X’tal Oscillator)72、TCXO(Temperature Compensated X’tal Oscillator)74、及び逓倍/分周器76を備える。
【0032】
XO72は、所定の周波数(例えば、32.768kHz程度)を有する信号D1を発振させ、発振した信号D1をRTC64へ供給する。TCXO74は、XO72と異なる周波数(例えば、16.368MHz程度)を有する信号D2を発振し、発振した信号D2を逓倍/分周器76及び周波数シンセサイザ28へ供給する。
【0033】
逓倍/分周器76は、TCXO74から供給された信号D2を、CPU60からの指示に基づいて、逓倍若しくは分周、又はそれら双方を行なう。そして、逓倍/分周器76は、逓倍、分周又はその双方を行った信号D4を、周波数変換部20の周波数シンセサイザ28、ADC36、CPU60、タイマ68、メモリ70、同期捕捉部40、及び同期保持部50へ供給する。
【0034】
アンテナ12は、全地球測位システムの衛星であるGPS衛星から送信された航法メッセージなどを含む無線信号(例えば、1575.42MHzのキャリアが拡散されたRF信号)を受信し、当該無線信号を電気信号D5に変換して周波数変換部20へ供給する。
【0035】
周波数変換部20は、LNA(Low Noise Amplifier)22、BPF(Band Pass Filter)24、増幅器26、周波数シンセサイザ28、乗算器30、増幅器32、LPF(Low Pass Filter)34、及びADC(Analog Digital Converter)36を備える。この周波数変換部20は、以下に示すように、アンテナ12により受信された1575.42MHzの高い周波数を有する信号D5を、デジタル信号処理の容易化のために、例えば1.023MHz程度の周波数を有する信号D14にダウンコンバージョンする。
【0036】
LNA22は、アンテナ12から供給された信号D5を増幅し、BPF24へ供給する。BPF24は、SAWフィルタ(Surface Acoustic Wave Filter)から構成され、LNA22により増幅された信号D6の周波数成分のうちで、特定の周波数成分のみを抽出して増幅器26へ供給する。増幅器26は、BPF24により抽出された周波数成分を有する信号D7(周波数FRF)を増幅し、乗算器30へ供給する。
【0037】
周波数シンセサイザ28は、TCXO74から供給される信号D2を利用し、CPU60からの指示D9に基づいて周波数FLOを有する信号D10を生成する。そして、周波数シンセサイザ28は、生成した周波数FLOを有する信号D10を乗算器30へ供給する。
【0038】
乗算器30は、増幅器26から供給される周波数FRFを有する信号D8と、周波数シンセサイザ28から供給される周波数FLOを有する信号D10を乗算する。即ち、乗算器30は、高周波信号をIF(Intermediate Frequency)信号D11(例えば、1.023MHz程度の周波数を有する中間周波数信号)にダウンコンバージョンする。
【0039】
増幅器32は、乗算器30によりダウンコンバージョンされたIF信号D11を増幅し、LPF34へ供給する。
【0040】
LPF34は、増幅器30により増幅されたIF信号D12の周波数成分のうちの低周波成分を抽出し、抽出した低周波成分を有する信号D13をADC36へ供給する。なお、図1においては増幅器32とADC36の間にLPF34が配置される例を説明しているが、増幅器32とADC36の間にはBPFが配置されてもよい。
【0041】
ADC36は、LPF34から供給されたアナログ形式のIF信号D13をサンプリングすることによりデジタル形式に変換し、デジタル形式に変換したIF信号D14を、1ビットずつ同期捕捉部40及び同期保持部50へ供給する。
【0042】
同期捕捉部40は、CPU60による制御に基づき、逓倍/分周器76から供給される信号D3を利用し、ADC36から供給されるIF信号D14の疑似ランダム(PRN:Pseudo−Random Noise)符号での同期捕捉を行う。また、同期捕捉部40は、IF信号D14のキャリア周波数を検出する。そして、同期捕捉部40は、PRN符号の位相やIF信号D14のキャリア周波数などを同期保持部50及びCPU60へ供給する。
【0043】
同期保持部50は、CPU60による制御に基づき、逓倍/分周器76から供給される信号D3を利用し、ADC36から供給されるIF信号D14のPRN符号とキャリアの同期を保持する。より詳細には、同期保持部50は、同期捕捉部40から供給されるPRN符号の位相やIF信号D14のキャリア周波数を初期値として動作する。そして、同期保持部50は、ADC36から供給されるIF信号D14に含まれる航法メッセージを復調し、復調された航法メッセージ、精度の高いPRN符号の位相及びキャリア周波数をCPU60へ供給する。
【0044】
CPU60は、同期保持部50から供給される航法メッセージ、PRN符号の位相及びキャリア周波数に基づいて、各GPS衛星の位置や速度を算出し、GPSモジュール10の位置を計算する。また、CPU60は、航法メッセージに基づいてRTC64の時間情報を補正してもよい。また、CPU60は、制御端子、I/O端子、及び付加機能端子などに接続され、その他の各種制御処理を実行してもよい。
【0045】
RTC64は、XO72から供給される所定の周波数を有する信号D1を利用して時間を計測する。RTC64が計測する時間は、CPU60により適宜補正される。
【0046】
タイマ68は、逓倍/分周器76から供給される信号D4を利用して計時する。かかるタイマ68は、CPU60による各種制御の開始タイミングを決定する際などに参照される。例えば、CPU60は、同期捕捉部40により捕捉されたPRN符号の位相に基づいて同期保持部50のPRN符号発生器の動作を開始させるタイミングを決定する際に、タイマ68を参照する。
【0047】
メモリ70は、RAM(Random Access Memory)やROM(Read−Only Memory)などからなり、CPU60による作業空間、プログラムの記憶部、航法メッセージの記憶部などとしての機能を有する。メモリ70においては、CPU60等による各種処理を行う際のワークエリアとしてRAMが用いられる。また、RAMは、入力された各種データのバッファリング、並びに、同期保持部50より得られたGPS衛星の軌道情報であるエフェメリス及びアルマナック、及び演算過程で生成される中間データ又は演算結果データの保持などのためにも用いられ得る。また、メモリ70においては、各種プログラムや固定データ等を記憶する手段としてROMが用いられる。また、メモリ70においては、GPSモジュール10の電源が切られている間に、GPS衛星の軌道情報であるエフェメリス及びアルマナック、並びに測位結果の位置情報又はTCXO1の誤差量などを記憶する手段として、不揮発メモリが用いられる場合がある。
【0048】
なお、図1に示したGPSモジュール10の構成のうち、XO72、TCXO74、アンテナ12及びBPF24を除く各ブロックを、1チップからなる集積回路に実装することも可能である。
【0049】
なお、上述した同期捕捉部40は、例えば、拡散符号の同期捕捉を高速に行うために、マッチドフィルタを利用する。具体的には、同期捕捉部40は、マッチドフィルタとして、例えば図2に示す所謂トランスバーサルフィルタ40aを用いてもよい。その代わりに、同期捕捉部40は、マッチドフィルタとして、例えば図3に示す高速フーリエ変換(FFT:Fast Fourier Transform)を利用したデジタルマッチドフィルタ40bを用いてもよい。
【0050】
例えば、図3を参照すると、デジタルマッチドフィルタ40bは、メモリ41、FFT部42、メモリ43、拡散符号発生器44、FFT部45、メモリ46、乗算器47、IFFT(Inversed Fast Fourier Transform)部48、及びピーク検出器49を有する。
【0051】
メモリ41は、周波数変換部20のADC36によってサンプリングされたIF信号をバッファリングする。FFT部42は、メモリ41によりバッファリングされたIF信号を読み出して高速フーリエ変換する。メモリ43は、FFT部42における高速フーリエ変換により時間領域のIF信号から変換された周波数領域信号をバッファリングする。
【0052】
一方、拡散符号発生器44は、GPS衛星からのRF信号における拡散符号と同じ拡散符号を発生する。FFT部45は、拡散符号発生器44により発生された拡散符号を高速フーリエ変換する。メモリ部46は、FFT部45における高速フーリエ変換により時間領域の拡散符号から変換された周波数領域の拡散符号をバッファリングする。
【0053】
乗算器47は、メモリ43にバッファリングされている周波数領域信号とメモリ46にバッファリングされている周波数領域の拡散符号とを乗算する。IFFT部48は、乗算器47から出力される乗算後の周波数領域信号を逆高速フーリエ変換する。それにより、GPS衛星からのRF信号における拡散符号と拡散符号発生器44により発生された拡散符合との間の時間領域での相関信号が取得される。そして、ピーク検出器49は、IFFT部48から出力される相関信号のピークを検出する。
【0054】
かかるデジタルマッチドフィルタ40bは、FFT部42及び45、拡散符号発生器44、乗算器47、IFFT部48、及びピーク検出器49の各部の処理をDSP(Digital Signal Processor)を用いて実行するソフトウェアとして実現されてもよい。
【0055】
図4は、上述したデジタルマッチドフィルタ40a又は40bにより捕捉される相関信号のピークの一例を示す説明図である。図4を参照すると、1周期分の相関信号の出力波形の中で、相関レベルが突出したピークP1が検出されている。かかるピークP1の時間軸上の位置は、拡散符号の先頭に相当する。即ち、同期捕捉部40は、このようなピークP1を検出することにより、GPS衛星から受信された受信信号の同期を検出(即ち、拡散符号の位相を検出)することができる。
【0056】
[1−2.同期再確立の概要]
次に、本実施形態に係るGPSモジュール10による同期再確立の概要について説明する。図5は、衛星の軌道情報であるエフェメリスとアルマナックのデータ構造を示す説明図である。GPS衛星からはデータレート50bpsであり、1フレームは5つのサブフレームからなり、最初のサブフレームにはクロック補正情報と衛星情報が、2つ目と3つ目のサブフレームには個別に衛星から放送される軌道情報であるエフェメリスが、4つ目と5つ目のサブフレームには全衛星から共通に放送される軌道情報であるアルマナックが含まれる。
【0057】
また、1つのサブフレームにはプリアンブルとデータが格納され、30ビットのデータの組が10個含まれる構成を有している。
【0058】
図6は、ホットスタートによる間欠動作の概念を示す説明図である。上述したように、同期の再確立に通常のGPS受信機の初期起動を行う間欠動作の方法では、図6のように最初にコールドまたはウォームスタートで初期測位を確立した後で間欠動作に移行し、短時間で測位可能なホットスタートを行うのが一般的である。この方法の場合、GPS受信機においては衛星の受信信号に対する同期捕捉部(例えば図1の同期捕捉部40)が動作する。同期捕捉部は処理負荷が大きいため同期保持部(例えば図1の同期保持部50)より消費電力がずっと大きいケースが多いので、平均電力よりピーク電力がバッテリで規定される場合には不都合である。
【0059】
本実施形態は、同期捕捉部40を使わず、同期保持部50のみで同期を再確立することで、GPSモジュールの平均電力及びピーク電力の低下を図ることを特徴とする。この際、同期保持部50の内部の全てが動作するのではなく、一部のみが動作することでスリープ期間中に擬似的に衛星信号を同期保持することを特徴とする。
【0060】
図7は、図1に示したGPSモジュール10に含まれる同期保持部50の構成を示す説明図である。図7に示したように、同期保持部50は、TCXO74からのクロックに基づいてカウントを実行するカウンタ90と、GPS衛星ごとに対応して設けられ、GPS衛星の同期保持を行うチャンネル回路100と、を含んで構成される。チャンネル回路100は、コードの同期を行うコードトラッキングループと、キャリアの同期を行うキャリアトラッキングループとからなる。このようにチャンネル回路100を複数設けることで、同期保持部50は複数のGPS衛星の同期保持を並列的に行うことができる。
【0061】
図8は、図7に示したチャンネル回路100の構成を示す説明図である。図8に示したように、チャンネル回路100はコスタスループ101と、DLL102と、を含んで構成される。
【0062】
コスタスループ101には、上述したIF信号D14に対応するIF信号に対して、後述する拡散符号発生器(PN Generator;以下、PNGという。)154によって発生された位相がP(Prompt)とされる拡散符号(図8におけるPrompt)が乗算器104によって乗算された信号が入力される。一方、チャンネル回路100においては、DLL102には、上述したアンテナ12及び周波数変換部20によって得られるIF信号D14に対応するIF信号が入力される。
【0063】
コスタスループ101においては、入力された信号に対して、NCO(Numeric Controlled Oscillator)106によって生成された再生キャリアのうちのコサイン成分が乗算器108によって乗算される。一方、入力された信号に対して、NCO106によって生成された再生キャリアのうちのサイン成分が乗算器110によって乗算される。コスタスループ101においては、乗算器108によって得られた同相成分の信号のうち所定の周波数帯域成分がLPF112によって通過され、この信号が位相検出器118、2値化回路120及び2乗和算出回路122に供給される。一方、コスタスループ101においては、乗算器110によって得られた直交成分の信号のうち所定の周波数帯域成分がLPF114によって通過され、この信号が位相検出器118及び2乗和算出回路122に供給される。コスタスループ101においては、LPF112,114のそれぞれから出力された信号に基づいて位相検出器118によって検出された位相情報がループフィルタ116を介してNCO106に供給される。コスタスループ101では、LPF112,114のそれぞれから出力された信号が2乗和算出回路122に供給され、この2乗和算出回路122によって算出された2乗和(I2+Q2)が、位相がPとされる拡散符号についての相関値(P)として出力される。さらに、コスタスループ101においては、LPF112から出力された信号が2値化回路120に供給され、2値化されて得られた情報が航法メッセージとして出力される。
【0064】
一方、DLL102においては、入力されたIF信号に対して、PNG154によって発生された位相がPよりも進んだE(Early)とされる拡散符号(図8におけるEarly)が乗算器124によって乗算される。また、入力されたIF信号に対して、PNG154によって発生された位相がPよりも遅れたL(Late)とされる拡散符号(図8におけるLate)が乗算器126によって乗算される。DLL102においては、乗算器124によって得られた信号に対して、コスタスループ101におけるNCO106によって生成された再生キャリアのうちのコサイン成分が乗算器128によって乗算される。また、乗算器124によって得られた信号に対して、NCO106によって生成された再生キャリアのうちのサイン成分が乗算器130によって乗算される。そして、DLL102においては、乗算器128によって得られた同相成分の信号のうち所定の周波数帯域成分がLPF132によって通過され、この信号が2乗和算出回路136に供給される。一方、DLL102においては、乗算器130によって得られた直交成分の信号のうち所定の周波数帯域成分がLPF134によって通過され、この信号が2乗和算出回路136に供給される。また、DLL102においては、乗算器126によって得られた信号に対して、コスタスループ101におけるNCO106によって生成された再生キャリアのうちのコサイン成分が乗算器138によって乗算される。また、乗算器126によって得られた信号に対して、NCO106によって生成された再生キャリアのうちのサイン成分が乗算器140によって乗算される。そして、DLL102においては、乗算器138によって得られた同相成分の信号のうち所定の周波数帯域成分がLPF142によって通過され、この信号が2乗和算出回路146に供給される。一方、DLL102においては、乗算器140によって得られた直交成分の信号のうち所定の周波数帯域成分がLPF144によって通過され、この信号が2乗和算出回路146に供給される。
【0065】
DLL102においては、2乗和算出回路136,146のそれぞれから出力された信号が位相検出器148に供給され、これらの信号に基づいて位相検出器148によって検出された位相情報がループフィルタ150を介してNCO152に供給される。さらに、NCO152によって生成された所定の周波数を有する信号に基づいて、PNG154によって各位相E,P,Lの拡散符号が発生される。さらに、DLL102においては、2乗和算出回路136によって算出された2乗和(I2+Q2)が、位相がEとされる拡散符号についての相関値(E)として出力される。また、DLL102においては、2乗和算出回路146によって算出された2乗和(I2+Q2)が、位相がLとされる拡散符号についての相関値(L)として出力される。
【0066】
次に、かかる構成を有する同期保持部50による間欠的な同期保持について詳細に説明する。
【0067】
本実施形態では、スリープ期間に同期保持部50における、NCO152とPNG154とからなる拡散コード生成器及びカウンタ90を動作させ、それ以外は動作を停めることにより、スリープ期間中に擬似的に衛星信号を同期保持する。これにより、本実施形態に係るGPSモジュール10は、スリープ状態から復帰後に極めて短時間に同期を復帰でき、同期捕捉部40を動作させることなく、かつ、短時間で測位できるため、平均電力およびピーク消費電力を下げられる。
【0068】
この方法では、スリープ状態でもGPS受信用発振器(通常はTCXO74)が動作しているため、RTCを用いる方法に比べるとスリープ状態での消費電力が大きくなる。しかし、近年ではTCXOの消費電力も下がってきており、連続測位の必要はなくてもある程度の頻度で測位が必要な場合に、安定かつ低電力での準連続的な測位が可能となる。
【0069】
GPS衛星からの信号を受信して測位できている動作状態においては、図9のように受信信号における拡散符号と、図8に示したNCO152とPNG154とからなる拡散コード生成器の位相がDLL102の制御によって同期が保持されている。しかし、GPSモジュール10がスリープ状態に移行して同期保持部50を完全に停止させると同期は保持されなくなる。スリープ状態から復帰後に瞬時に再同期させるには、拡散コード位相を1chip(約1μs)以内の誤差で知る必要があるが、スリープ時に拡散コード位相の情報が失われているため再同期できない。
【0070】
そこで本実施形態では、拡散コード位相をスリープ時も進めるために、スリープ時に同期保持部50における拡散コード生成器とカウンタ90のみを動作させる。同期保持部50の全体の消費電力に占める拡散コード生成器とカウンタ90の消費電力の割合は微小であり、省電力化に大きく寄与することになる。
【0071】
上述したように、同期保持部50はRTC64より高分解能な時刻を刻むカウンタ90を有している。カウンタ90により、同期保持部50は同期が確立していれば衛星からの受信信号のタイミングを特定でき、その計測したタイミングの高分解能な時刻を用いて測位演算を行うことができる。GPSの場合、衛星における拡散コードのチップレートは1.023MHzなので、NCOは1.023MHzを中心に周波数が可変できる構成になっており、この周波数設定によって拡散コードの位相を進めたり、遅らせたりできる。
【0072】
GPS受信用発振器を基準として計測される受信信号における拡散コードのチップレート(fcHz)とチップレート1.023MHzに対する時間経過に伴う位相のずれ(Δp[chip]、1[chip]=1/1.023[μsec]とする)は、同じくGPS受信用発振器を基準として計測される受信信号におけるキャリア周波数の公称値1,575.42[MHz]からのずれ(Δf[Hz]とする)と経過時間(t[sec]とする)に比例し、
fc = 1.023×106+Δf/1540 [Hz] ・・・(1)
Δp = -Δf/1540・t ・・・(2)
の関係があることが知られている。図10は、受信信号と経過時間との関係を示す説明図である。Δfはキャリアの同期を行うキャリアトラッキングループで衛星毎に検出できる。受信信号のキャリア周波数はドップラシフト量の違いから衛星毎に異なり、従って、拡散コード位相のずれ方も衛星毎に異なる。
【0073】
しかし、拡散コードのチップレートを決めているNCO152の周波数を衛星毎にドップラシフト量に合わせて、上記式(1)の関係を用いて適切に設定することにより、同期保持部50の拡散コード生成器とカウンタ90以外を停止して、DLL102による同期保持の制御がかからないスリープ状態でも、少ない位相誤差で擬似的に同期を保持できる。図11は、拡散コードのチップレートを決めているNCO152の周波数を衛星毎にドップラシフト量に合わせて適切に設定する例を示す説明図である。少ない位相誤差でスリープ状態から同期保持部全体が復帰した場合、同期保持部50の制御により位相誤差は0付近に戻り、瞬時に同期を再確立できる。
【0074】
以上のように、GPSモジュール10のスリープ状態において、NCO152とPNG154とからなる拡散コード生成器とカウンタ90のみを動作させておくことで、スリープ状態においても擬似的に同期し、かつ、スリープから復帰後、瞬時に同期を再確立できる間欠動作が可能になる。
【0075】
GPSモジュール10のスリープ状態においては、GPS衛星からの信号を受信する必要も、現在値の測位演算を行う必要もないので、同期保持部50の拡散コード生成器とカウンタ90以外の周波数変換部20、同期捕捉部40、CPU60、バックアップ用以外のメモリ70の動作も停止して良い。このように動作を停止することで、スリープ時のGPSモジュール10の消費電力は、ほぼGPS受信用発振器であるTCXO74と同期保持部50の拡散コード生成器とカウンタ90によるものとなる。バックアップ用メモリは、スリープ前の位置情報等を保持するのに用いる。なお、フラッシュメモリのような不揮発メモリを利用可能な場合には必ずしもSRAMによるバックアップメモリは必要ではない。
【0076】
スリープ状態で擬似的に同期保持を行うためには、上述の通り、拡散コード生成器のNCO152を衛星毎に適切な値に設定する必要がある。最も簡易的には、スリープ状態の直前のNCO152の値をスリープ状態にホールドする方法がある。同期状態における拡散コード生成器のNCO152の周波数はチャンネル回路100におけるDLL102の制御によって理想的には上記数式(1)のチップレートに等しくなる。実際の動作においてはNCO152の周波数とDLL102の制御が離散的であるため、また受信信号におけるノイズによる変動のため、直前のNCO152の周波数が必ずしも最適とは言えない。従って、直前に一定時間(例えば1秒間)のNCO152の周波数の平均値を計算して、その値をスリープ状態におけるNCO152の周波数として設定しても良い。
【0077】
スリープ直前の拡散コード生成器のNCO152の周波数をスリープ状態のNCOとして設定する方法は最も簡単である。しかし、衛星のドップラシフトは固定値ではなく時間的に変化し、それによってチップレートが変化する。図12は、衛星のドップラシフトの変化例をグラフで示す説明図である。図12に示したグラフは、横軸に時間を、縦軸にドップラシフトを示している。このように、衛星のドップラシフトは固定値ではなく時間的に変化することが分かる。そのため、スリープ直前の拡散コード生成器のNCO152の周波数をスリープ状態のNCOとして設定する方法では間欠時間の間隔が短い場合には向くが、擬似的な同期保持が継続可能な時間を長くはできない。ドップラシフトの時間変化率が高い時ほど擬似的な同期保持が継続可能な時間は短くなり、発振器の変動が全く無い理想状態でも例えば30秒持たないケースが出てくる。擬似的な同期保持の継続時間を長くするためには、設定するNCO152の周波数を、ドップラシフトの変化を考慮して補正すれば良い。
【0078】
図12に示したような、衛星のドップラシフトの時間的に変化を考慮すると、上記数式(1)、及び数式(2)は、fc、Δf、Δpを時間tの関数とすれば、
fc(t) = 1.023×106+Δf(t)/1540 [Hz] ・・・(3)
Δp(t) = -∫t0 Δf(t)/1540・dt ・・・(4)
となる。t=0は起点となる時間を示すもので、間欠する時間が数分のオーダーであれば、図12のようなドップラシフトの変化は一次式で、
Δf(t) = Δf(0) (1 + a・t) ・・・(5)
Δp(t) = -Δf(0)/1540・t・(1 + a/2Δf(0)・t) ・・・(6)
と近似できる。ここで、Δf(0)=Δf(t=0)、aは時間変化の傾き、すなわち、図12のような曲線における微分値である。数式(5)、(6)でa=0とすると、式(1)、(2)と一致する。
【0079】
スリープ直前の拡散コード生成器のNCO152の周波数をスリープ状態のNCO152の周波数として設定する前述の方法は、式(5)、(6)において、スリープ状態の間に
fc = 1.023×106+Δf(0)/1540 ・・・(7)
とすることと同じ意味合いで、スリープ状態におけるドップラシフトの時間変化は考慮されない。そのため、拡散コードの位相は時間tに対して、
Δp(t)=-a/2・t2/1540 (8)
ずれることになる。例えば、t=30sec、a=1Hz/secの場合、ずれは0.29チップとなるので、スリープ状態から復帰後、DLL102の制御によりずれを補正できる範囲にあるが、t=60secの場合には、1.17チップもずれてしまうので、スリープ状態から復帰後に生じたずれをDLL102は補正できず、衛星からの受信信号を瞬時に再同期できなくなる。
【0080】
しかしながら、GPSモジュール10は、スリープ状態に入る前に、Δf(0)の実測値を持ち、エフェメリスと測位結果を用いてt=T秒後のΔfおよびa=(Δf(T)−Δf(0))/Tを計算できる。したがって、t=T秒後のドップラシフトによる拡散コードの位相ずれを上記数式(8)で予測し、その予測値から数式(7)に対して補正値を加えることで、t=T秒後における拡散コードの位相ずれが補正される。すなわち、T秒後に拡散コードの位相を合わせたい場合、
fc = 1.023×106+Δf(0)/1540・(1 + a/2Δf(0)・T) ・・・(9)
のように、数式(7)に補正項を加えて計算した値をスリープ状態における拡散コード生成器のNCO152の周波数として設定すればよい。なお、数式(9)は
fc = 1.023×106+(Δf(0)+Δf(T))/2 /1540 ・・・(10)
のように変形できることからわかる通り、前述の拡散コード生成器のNCO152の周波数をスリープ直前の値をスリープ状態に設定する代わりに、t=0とt=Tでのキャリア周波数のずれの平均値(Δf(0)+Δf(T))/2を設定することに等しい。
【0081】
GPSモジュール10がスリープ時間を決められる場合には、スリープ時間をTとして上記数式(9)の補正を行えば、T秒後にスリープ状態から起動したときには、拡散コード位相のずれは1チップより充分小さい値になり、チャンネル回路100におけるDLL102の制御により瞬時に再同期を確立することができるようになる。なお、スリープ状態からの復帰は正確にT秒後でなくとも、T秒からの時間のずれが充分小さければよい。
【0082】
以上のドップラシフトの変化に対する補正方法は、ドップラシフトによるキャリア補正の方法を式(5)のような1次近似で説明したが、2次以上の近似も可能であることは言うまでもない。
【0083】
なお、実際の使用状況においては、GPSモジュール10を内蔵した受信機が移動するので、そのドップラシフトによる拡散コード位相のずれも加わる。t=0時点の実測値Δf(0)はGPSモジュール10の移動によるドップラシフト分も含んでおり、t=0時点でのGPSモジュール10の移動速度、加速度は計算可能なので、例えば、GPSモジュール10の移動によるドップラシフトも一次近似して、その分を式(9)あるいは式(10)のΔf(T)に加味することで、GPSモジュール10の移動による拡散コード位相のずれも近似が成り立つ範囲において補正できる。
【0084】
上記補正を用いれば、同期保持部50は、チャンネル回路100におけるDLL102の制御により再同期を確立できる。GPSモジュール10がスリープに入る時間とスリープから復帰する時間を単独で決定できる場合には、スリープ状態に入る前に上述の補正計算を行い、スリープ状態における拡散コード生成器のNCO152の周波数としてもよい。
【0085】
次に、GPSモジュール10の動作について説明する。図13は、GPSモジュール10の動作を示す流れ図である。以下、図13を用いてGPSモジュール10の動作について説明する。
【0086】
まず、GPSモジュール10が初期起動して図1に示したGPSモジュール10の各部に通電される(ステップS101)。続いて、GPSモジュール10による、GPS衛星からの電波を受信しての初期測位が行われる(ステップS102)。GPSモジュール10の初期起動及び初期測位は、図6に示した最初の同期捕捉及び追跡/測位の期間にあたる。このステップS102における初期測位によって、GPSモジュール10はエフェメリスを取得する。
【0087】
GPSモジュール10は、上記ステップS102で初期測位を実行すると、続いて、スリープに入る時間ts及びスリープから復帰する時間twを決定する(ステップS103)。このスリープに入る時間ts及びスリープから復帰する時間twは、GPSモジュール10の動作環境(GPSモジュール10が内蔵される機器や当該機器の動作状態など)に応じて任意の値を設定することができる。
【0088】
上記ステップS103において、スリープに入る時間ts及びスリープから復帰する時間twが決定されると、続いて、GPSモジュール10は決定した時間を用いた補正処理を実行する(ステップS104)。このステップS104における補正処理は、スリープから復帰する時間twにおけるNCO152の周波数の算出であり、この算出は上記数式9を用いて行われる。すなわち、スリープから復帰する時間twからスリープに入る時間tsを引いた値が上記数式9におけるTに相当する。従って、上記数式9に、スリープから復帰する時間twからスリープに入る時間tsを引いた値を代入することで、スリープから復帰する時間twにおけるNCO152の周波数を算出することができる。
【0089】
上記ステップS104で補正処理が実行されると、続いてGPSモジュール10は、スリープに入る時間tsまで待機するウェイト処理を実行する(ステップS105)。そして、スリープに入る時間tsに到達すると、GPSモジュール10はスリープから復帰する時間twまでスリープするスリープ処理を実行する(ステップS106)。このスリープ処理は、NCO152及びPNG154からなる拡散コード生成器及びカウンタ90のみを動作させ、その他の構成を停止させる。
【0090】
その後、カウンタ90の計時によりスリープから復帰する時間twに達すると、GPSモジュール10はスリープ状態から復帰するウェイクアップ処理を実行する(ステップS107)。このウェイクアップ処理は、上記ステップS106で停止させた構成を動作させる処理である。上記ステップS106で停止させた構成が動作することでGPSモジュール10はスリープ状態から復帰する。
【0091】
上記ステップS107でウェイクアップ処理が実行されると、GPSモジュール10は現在値の測位処理を実行する(ステップS108)。このステップS108での測位処理は、上記ステップS104で実行された補正処理で算出された、スリープから復帰する時間twにおけるNCO152の周波数を用いて行われる。これにより、GPSモジュール10がスリープ状態にある場合であっても擬似的に同期保持を行うことができ、GPSモジュール10は、スリープ状態から復帰してからすぐに測位処理を実行することができる。
【0092】
上記ステップS108で現在値の測位処理が実行されると、続いてGPSモジュール10はスリープ状態への移行を継続するかどうかを判断する(ステップS109)。スリープ状態への移行を継続するか否かは、例えばGPSモジュール10の動作環境(GPSモジュール10が内蔵される機器や当該機器の動作状態など)によって決められるようにしてもよい。
【0093】
上記ステップS109での判断の結果、スリープ状態への移行を継続する場合には、上記ステップS103に戻って、GPSモジュール10は、スリープに入る時間ts及びスリープから復帰する時間twを決定する。一方、上記ステップS109での判断の結果、スリープ状態へは移行しない場合には、GPSモジュール10は、スリープ状態への移行処理を終了する。
【0094】
以上、図13を用いてGPSモジュール10の動作について説明した。GPSモジュール10はこのように動作することで、GPSモジュール10がスリープ状態にある場合であっても擬似的に同期保持を行うことができ、GPSモジュール10は、スリープ状態から復帰してからすぐに測位処理を実行することができる。
【0095】
GPSモジュール10がスリープに入る時間および復帰する時間を決めるのがGPS受信機能の外部、例えば、GPSモジュール10を搭載したシステムのホストCPUである場合には、GPS受信機能単独では、GPSモジュール10がスリープ状態に移る際に、次に起動するまでのスリープ時間を知ることができない。その場合、システムがスリープに入る時間および復帰する時間を決定し、GPSモジュール10が内蔵されたGPSモジュール10に伝達する。GPSモジュール10が内蔵されたGPSモジュール10は伝達された時間情報によって上記補正を行えばよい。
【0096】
<2.GPSモジュールが内蔵される機器の説明>
次に、GPSモジュールが内蔵される機器の構成について、GPSモジュール10をデジタルスチルカメラに内蔵した場合を例にあげて説明する。図14は、本発明の一実施形態にかかるGPSモジュール10と情報を授受するデジタルスチルカメラ200の構成を示す説明図である。
【0097】
図14に示したように、GPSモジュール10と情報を授受するデジタルスチルカメラ200は、I/O210と、メモリ220と、表示部230と、信号処理部240と、撮像部250と、センサ260と、CPU270と、タイマ等の各種ペリフェラル280と、記録媒体290と、を含んで構成される。
【0098】
I/O210は、ユーザによって入力された操作内容や、外部のGPSモジュール10からの情報その他の信号を授受するためのインタフェースである。I/O210は、GPSモジュール10へコマンドを出力したり、GPSモジュール10からの情報を入力したりする。またI/O210は、デジタルスチルカメラ200のユーザからの入力を受け付けたり、パーソナルコンピュータからデータを授受したり、各種無線通信手段から無線信号を授受したりする。
【0099】
信号処理部240は、撮像部250から出力された撮像信号に対して所定の信号処理を施すものであり、この信号処理が施された画像信号(画像データ)を、ベースバンドのデジタルビデオデータとしてCPU270に出力する。すなわち、信号処理部240は、撮像部250から出力された撮像信号に対して、CDS(Correlated Double Sampling)回路により画像情報を有する信号だけをサンプリングするとともにノイズを除去する。そして、AGC(Auto Gain Control)回路によりゲインを調整して、A/D(Analog/Digital)変換回路によりデジタル信号に変換される。さらに、変換後のデジタル信号に対して検波系の信号処理を施して、R(赤色)、G(緑色)およびB(青色)の各色の成分を取り出し、γ補正やホワイトバランス補正等の処理が行われる。そして、最終的に1本のベースバンドのデジタルビデオデータとしてCPU270に出力される。
【0100】
また、信号処理部240は、撮像部250から出力された撮像信号に基づいて、表示部230に撮像画像(いわゆる、スルー画像)を表示させるための映像信号を生成する。この表示部230として、例えば、LCD(Liquid Crystal Display)等の表示素子を用いることができる。
【0101】
撮像部250は、光学系および撮像素子を備える。この光学系は、被写体からの光を集光するための複数のレンズ(ズームレンズ、フォーカスレンズ(図示せず)等)やアイリス(図示せず)等から構成され、入射された被写体からの光がこれらのレンズやアイリスを介して撮像素子に供給される。この撮像素子は、光学系を介して入射された被写体からの光をアナログの撮像信号(画像信号)に光電変換し、この光電変換されたアナログの撮像信号を信号処理部240に出力する。なお、撮像素子として、例えば、CCD(Charge Coupled Device)センサやCMOS(Complementary Metal Oxide Semiconductor)センサ等を用いることができる。
【0102】
CPU270は、デジタルスチルカメラ200の各部の動作を制御するものである。また各種ペリフェラル280はタイマ等からなり、デジタルスチルカメラ200の内部の各種動作に用いられるものである。また、メモリ220はROM、RAM等からなり、デジタルスチルカメラ200の動作のために各種情報やプログラムが格納されるものである。
【0103】
記録媒体290は、CPU270による記録制御に基づいて動画ファイル等の情報を記憶する記録媒体である。例えば、記録媒体290は、信号処理部240から出力されたデジタルビデオデータを記憶する。また、記録媒体290は、動画ファイルを管理する動画管理ファイルを記憶する。なお、記録媒体290は、デジタルスチルカメラ200に内蔵するようにしてもよく、デジタルスチルカメラ200から着脱可能とするようにしてもよい。また、記録媒体290として、半導体メモリ、光記録媒体、磁気ディスク、HDD(Hard Disk Drive)等の種々のものを用いることができる。なお、光記録媒体は、例えば、記録可能なDVD(DigitalVersatile Disc)、記録可能なCD(Compact Disc)、ブルーレイディスク(Blu−ray Disc(登録商標))等を用いることができる。
【0104】
デジタルスチルカメラ200からGPSモジュール10へは、GPSモジュール10のオン/オフ、位置情報要求、測位モード・時間間隔指定、データ形式指定その他のコマンドが送信される。一方、GPSモジュール10からデジタルスチルカメラ200へは、位置、時間、精度情報、衛星受信状況等の測位関連情報が送信される。
【0105】
以上、図14を用いて本発明の一実施形態にかかるGPSモジュール10と情報を授受するデジタルスチルカメラ200の構成について説明した。次に、GPSモジュール10及びデジタルスチルカメラ200の動作について説明する。
【0106】
図15A及び図15Bは、GPSモジュール10及びデジタルスチルカメラ200の動作を示す流れ図である。図15A及び図15Bは、デジタルスチルカメラ200のCPU270と、GPSモジュール10のCPU60と、GPSモジュール10のコア部分(周波数変換部20、同期捕捉部40、同期保持部50)の動作について示したものである。以下、図15A及び図15Bを用いてGPSモジュール10及びデジタルスチルカメラ200の動作について説明する。
【0107】
図14のCPU270(システムCPU)からは、GPSモジュール10に対して測位開始要求を送る(ステップS201)。CPU270からの測位開始要求を受けたGPSモジュール10のCPU60(GPS受信機CPU)は、GPSモジュール10のコア部分(周波数変換部20、同期捕捉部40、同期保持部50)へ初期起動を指示する(ステップS202)。GPSモジュール10のコア部分へ初期起動を指示したCPU60は、CPU270へ準備が完了したことを通知する(ステップS203)。またCPU60から初期起動が指示されたGPSモジュール10のコア部分は各種初期設定を開始する(ステップS204)。
【0108】
その後、デジタルスチルカメラ200のCPU270(システムCPU)は、GPSモジュール10に対して間欠測位を指示すると共に、その間欠測位の時間間隔を指定する(ステップS205)。CPU270からの測位開始要求を受けたGPSモジュール10のCPU60は、GPSモジュール10のコア部分へ初期測位開始を指示する(ステップS206)。初期測位開始指示を受けたGPSモジュール10のコア部分は、GPS衛星からの電波を受信して、同期処理を実行する(ステップS207)。
【0109】
GPSモジュール10のコア部分が電波の受信処理・同期処理を実行すると、CPU60に対し、擬似距離、時間、電波の受信状況の情報を通知する(ステップS208)。CPU60は、GPSモジュール10のコア部分から通知された情報を用いて測位演算を実行すると共に、補正処理のための補正値を計算する(ステップS209)。測位演算を実行したCPU60は、位置情報、時間、精度情報、受信状況の情報をデジタルスチルカメラ200のCPU270に通知し(ステップS210)、CPU270はCPU60から通知された情報を用いて現在値の位置を表示部230へ表示する(ステップS211)。
【0110】
その後、CPU60は上記ステップS209で計算した補正値を用いた補正処理をGPSモジュール10のコア部分へ指示する(ステップS212)。補正指示を受けたGPSモジュール10のコア部分を構成する同期保持部50は、NCO152の周波数を設定する補正処理を実行する(ステップS213)。
【0111】
同期保持部50が、NCO152の周波数を設定する補正処理を実行すると、続いてCPU60はGPSモジュール10のコア部分へウェイト処理及びスリープ処理を指示する(ステップS214)。CPU60からの指示を受けたGPSモジュール10のコア部分はウェイト処理及びスリープ処理を実行する(ステップS215)。これによりGPSモジュール10のコア部分は同期保持部50における拡散コード生成器とカウンタ90のみが動作している状態となる。
【0112】
CPU60は、上記ステップS205でデジタルスチルカメラ200のCPU270から通知された時間間隔に基づいて時間をカウントする(ステップS216)。そして、所定の時間になるとCPU60はGPSモジュール10のコア部分へウェイクアップ処理を指示する(ステップS217)。CPU60からの指示を受けたGPSモジュール10のコア部分はウェイクアップ処理を実行するとともに、GPS衛星からの電波を受信して、同期処理を実行する(ステップS218)。
【0113】
GPSモジュール10のコア部分が電波の受信処理・同期処理を実行すると、CPU60に対し、擬似距離、時間、電波の受信状況の情報を通知する(ステップS219)。CPU60は、GPSモジュール10のコア部分から通知された情報を用いて測位演算を実行すると共に、補正処理のための補正値を計算する(ステップS220)。測位演算を実行したCPU60は、位置情報、時間、精度情報、受信状況の情報をデジタルスチルカメラ200のCPU270に通知し(ステップS221)、CPU270はCPU60から通知された情報を用いて現在値の位置を表示部230へ表示する(ステップS222)。
【0114】
その後、CPU60は上記ステップS220で計算した補正値を用いた補正処理をGPSモジュール10のコア部分へ指示する(ステップS223)。補正指示を受けたGPSモジュール10のコア部分を構成する同期保持部50は、NCO152の周波数を設定する補正処理を実行する(ステップS224)。
【0115】
同期保持部50が、NCO152の周波数を設定する補正処理を実行すると、続いてCPU60はGPSモジュール10のコア部分へウェイト処理及びスリープ処理を指示する(ステップS225)。CPU60からの指示を受けたGPSモジュール10のコア部分はウェイト処理及びスリープ処理を実行する(ステップS226)。これによりGPSモジュール10のコア部分は同期保持部50における拡散コード生成器とカウンタ90のみが動作している状態となる。
【0116】
その後、CPU60及びGPSモジュール10のコア部分は、上記ステップS214〜ステップS220と同様に、所定の時間の計時、ウェイクアップ処理、信号受信処理及び同期処理、現在値の測位演算・補正処理を実行する(ステップS225〜ステップS231)。測位演算を実行したCPU60は、位置情報、時間、精度情報、受信状況の情報をデジタルスチルカメラ200のCPU270に通知し(ステップS232)、CPU270はCPU60から通知された情報を用いて現在値の位置を表示部230へ表示する(ステップS233)。
【0117】
上述の間欠動作が繰り返し実行されることで、GPSモジュール10は平均電力及びピーク電力の低下を図ることができる。
【0118】
その後、ユーザ操作等によってデジタルスチルカメラ200のCPU270が測位停止要求をGPSモジュール10のCPU60に通知すると(ステップS234)、通知を受けたCPU60は、GPSモジュール10のコア部分に対して測位停止処理を指示する(ステップS235)。そしてGPSモジュール10のコア部分は、CPU60からの測位停止指示に応じて動作を停止する(ステップS236)。CPU60は、デジタルスチルカメラ200のCPU270に対してGPSモジュール10の測位停止処理が完了したことを通知する(ステップS237)と共に、自らもスタンバイ状態に移行する(ステップS238)。
【0119】
このようにGPSモジュール10及びデジタルスチルカメラ200が動作することで、GPSモジュール10は間欠的に測位処理を実行する。そして、GPSモジュール10はスリープ時に同期保持部50における拡散コード生成器とカウンタ90のみが動作している状態となる。これにより、GPSモジュール10は平均電力及びピーク電力の低下させることが可能になる。
【0120】
以上、図15A及び図15Bを用いてGPSモジュール10及びデジタルスチルカメラ200の動作について説明した。なお、ここではデジタルスチルカメラ200にGPSモジュール10が内蔵されている場合を例示して説明したが、本発明はかかる例に限定されない。デジタルスチルカメラ200の外部にGPSモジュール10が設けられる形態、すなわちデジタルスチルカメラ200にGPSモジュール10が接続され、デジタルスチルカメラ200とGPSモジュール10との間で命令及び情報の授受が行われる形態であってもよい。
【0121】
<3.まとめ>
以上、GPSモジュール10を例にして本発明の一実施形態について説明した。このように、スリープ期間に同期保持部50におけるNCO152及びPNG154からなる拡散コード生成器及びカウンタ90を動作させ、それ以外は動作を停めることにより、スリープ期間中に擬似的に衛星信号を同期保持することができる。スリープ期間中に擬似的に衛星信号を同期保持することで、GPSモジュール10がスリープ状態から復帰後に極めて短時間に同期を復帰でき、同期捕捉部40を動作させることなく、かつ、短時間で測位できるようにし、平均およびピーク消費電力を下げる間欠動作方法を実現することが出来る。
【0122】
また、本発明はGPS以外のGNSS受信機においても基本的に適用可能である。すなわち、上述した本発明の一実施形態は一般的なスペクトラム拡散型の無線システムに適用可能である。
【0123】
また、上記実施形態では、カウンタ90が同期保持部50に含まれるものとして扱ってきたが、必ずしも同期保持部50の内部に無くてもよく、同期保持部50の外部に設けられていてもよい。
【0124】
以上、添付図面を参照しながら本発明の好適な実施形態について詳細に説明したが、本発明はかかる例に限定されない。本発明の属する技術の分野における通常の知識を有する者であれば、特許請求の範囲に記載された技術的思想の範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、これらについても、当然に本発明の技術的範囲に属するものと了解される。
【符号の説明】
【0125】
10 GPSモジュール
12 アンテナ
20 周波数変換部
40 同期捕捉部
50 同期保持部
60 CPU
64 RTC
68 タイマ
70 メモリ
72 XO
74 TCXO
76 逓倍/分周器
90 カウンタ
100 チャンネル回路
101 コスタスループ
102 DLL
152 NCO
154 PNG
200 デジタルスチルカメラ
210 I/O
220 メモリ
230 表示部
240 信号処理部
250 撮像部
260 センサ
270 CPU
280 各種ペリフェラル
290 記録媒体
【技術分野】
【0001】
本発明は、受信装置、受信方法、コンピュータプログラム及び携帯端末に関する。
【背景技術】
【0002】
近年、カーナビゲーション機器や携帯電話、デジタルスチルカメラなどの様々な電子機器に、GPS(Global Positioning System:全地球測位システム)を利用した測位機能が搭載されている。典型的には、電子機器においてGPSを利用する場合、GPSモジュールにおいて4個以上のGPS衛星からの信号を受信し、受信信号に基づいて機器の位置を測定し、測定結果が表示装置の画面などを介してユーザに通知される。より具体的には、GPSモジュールは、受信信号を復調して各GPS衛星の軌道データを獲得し、当該軌道データ、時間情報及び受信信号の遅延時間から機器の3次元位置を連立方程式により導き出す。受信の対象とするGPS衛星が4個以上必要となるのは、モジュール内部の時間と衛星の時間との間の誤差の影響を除去するためである。
【0003】
ここで、GPS衛星から送信される信号(L1帯、C/Aコード)は、50bpsのデータを符号長1023、チップレート1.023MHzのGold符号でスペクトラム拡散したスペクトラム拡散信号をさらに1575.42MHzのキャリアを用いてBPSK(Binary Phase Shift Keying)変調した信号である。従って、GPSモジュールがGPS衛星から上記信号を受信するには、拡散符号、キャリア及びデータの同期をとる必要がある。
【0004】
一般的に、電子機器に搭載されるGPSモジュールは、受信信号のキャリア周波数を数MHz以内の中間周波数(IF:Intermediate Frequency)に周波数変換した後、上述した同期処理等を行う。典型的な中間周波数は、例えば、4.092MHz又は1.023MHz、0Hzなどである。通常、受信信号の信号強度は熱雑音の信号強度よりも小さく、S/Nは0dBを下回るものの、スペクトラム拡散方式の処理利得により信号を復調することが可能である。GPS信号の場合、データ長1bitに対する処理利得は、例えば10Log(1.023MHz/50)≒43dBである。
【0005】
従来は、GPS受信機の主な用途はカーナビゲーションだったが、近年は携帯電話やディジタルスチルカメラ(以下、DSC)等にも搭載されるようになり、GPS受信機の市場は広がる傾向にある。性能面においても高感度化が進み、受信感度−150〜−160dBmのGPS受信機が普及している。これは半導体プロセスの微細化によりICの集積度が高まったことで大規模な回路を低コストでできるようになったことが寄与しており、消費電力も低くなってきている。
【0006】
従来のカーナビゲーションに用いるGPS受信機の用途においては、基本的に連続測位(典型的には1秒に1回)であり、車の大容量バッテリから電源供給してもらえるので、動作時の消費電力は問題になることはあまり無かった。一方、近年の簡易ナビゲーションシステム(Personal Navigation Device−PND)、携帯電話、DSC、その他のいわゆるモバイル機器の電源は小型バッテリで、PNDを除けば、必ずしも連続測位は必要ではない。モバイル機器にとって、バッテリの持続時間は極めて重要な要素で、搭載したGPS受信機を従来と同様に動作させたためにバッテリの持続時間が極度に短くなり、モバイル機器本来の機能を損ねる事態は避けなければならない。上記の通り、近年のGPS受信機の低消費電力化は進んではいるが、連続動作時の消費電力はモバイル機器にとって充分ではなく、間欠的な動作により低電力動作させるケースが多い。間欠動作させることで測位の頻度は下がるが、測位しない場合に回路全体または一部を除く大半の電力を落とすことで、平均電力を確実に下げる効果が期待できる。
【0007】
GPS受信機における間欠動作は、測位を行わない時は必要最小限の回路以外は動作を停止するスリープ状態とし、電力の時間平均を下げることで低電力化するものである。スリープ状態で動作させる必要最小限の回路は、典型的には周波数の低いリアルタイムクロック(以下、RTC。周波数は32.768kHzが一般的)と衛星の軌道や時刻情報等を保持するためのバックアップメモリである。間欠動作が機能するためには、スリープ状態からの復帰後に短時間で各衛星からの受信信号の同期を再確立できなければならない。
【0008】
受信信号の同期の再確立を行う最も単純な方法は、復帰後に通常のGPS受信機の電源ON時と同じ初期起動を行うことである。通常のGPS受信機の初期起動は衛星の軌道情報であるエフェメリスとアルマナックの使用可・不可によって、コールドスタート、ウォームスタート、ホットスタートの3種類に分けられる。エフェメリスは個別に衛星から放送され、測位計算に用いられるほど精度は高いが有効期限は短い軌道情報である。一方のアルマナックは全衛星から共通に放送される全衛星の粗い軌道情報で有効期限は長く、受信可能な衛星を特定するのに役立つ。コールドスタートは双方の軌道情報が使用不可の場合、ウォームスタートはアルマナックのみ使用可、ホットスタートは双方の軌道情報が使用可の場合の初期起動で、前2者は測位に至るまで通常30秒程度を要するが、ホットスタートは数秒と短く、好条件下では1秒以下も可能である。
【0009】
同期の再確立に通常のGPS受信機の初期起動を行う間欠動作の方法では、最初にコールドまたはウォームスタートで初期測位を確立した後で間欠動作に移行し、短時間で測位可能なホットスタートを行うのが一般的である。この方法の場合、GPS受信機においては衛星の受信信号に対して同期を捕捉する同期捕捉部が動作する。同期捕捉部は処理負荷が大きいため、同期を保持する同期保持部より消費電力がずっと大きいケースが多いので、平均電力よりピーク電力がバッテリで規定される場合には不都合である。
【0010】
ピーク電力を下げるために、同期捕捉部を使わず、同期保持部のみで同期を再確立する方法がある。そのためには、スリープ期間においても精度の高い時間情報を維持する方法を持ち、スリープ状態から復帰後に拡散コードの1chip(1/1.023μ秒)以内の精度で同期保持回路を起動させられなければならない。拡散コード1chip以内の精度があれば、拡散コードの同期を行う遅延ロックループ(DLL)は瞬時に同期させることが可能である。一般に同期保持部は同期を保持する同期保持回路を複数持っており、複数の衛星を同時に受信し、それぞれの衛星に対して同期を保持できるが、時間を計測する発振器の発振周波数の精度と安定性の関係で、スリープ期間が長いほど精度の高い時間情報を維持するのは難しくなる。
【0011】
スリープ期間において精度の高い時間情報を維持するために、スリープする前に精度の低いRTCの周波数(数十ppm)を精度の高いGPS受信用発振器(温度補償されたTCXOを使用するのが一般的で、GPS用の場合の一例としては0.5ppm)によるカウンタを使って計測した結果を記憶しておき、スリープ状態から復帰後、RTCによる経過時間にスリープ前の計測結果を用いて誤差補正する方法がある(特許文献1)。この方法を用いると、スリープ時にはRTCのみ動作し、GPS受信用発振器は停止させ、かつ、スリープから復帰後に同期捕捉部を使わずに同期を再確立できるため、かなりの低電力化を期待できる。
【先行技術文献】
【特許文献】
【0012】
【特許文献1】特許第4164662号
【発明の概要】
【発明が解決しようとする課題】
【0013】
ただし、同期保持部のみで瞬時の同期の再確立が可能かどうかはGPS受信機自体の移動速度に加え、計測の精度、スリープ時間の長さ、スリープ中のRTCおよびGPS受信用発振器の安定度に依存する。特に通常は温度補償されないRTCの安定度が支配的要因となって、実用においては計測結果が時々刻々変化し、スリープから復帰後の誤差補正においてずれが生じるため、スリープ時間をあまり長く取れない。スリープから復帰後の測位演算には一定の時間が必要なので、間欠動作のON−OFF比を大きくできないと、平均電力に関してはホットスタートによる初期測位を行う方法に対するメリットがなくなる。また、RTCの安定性のばらつきは大量生産される製品に対する動作保証を難しくする。
【0014】
GPS受信機に対する要求は、搭載される製品の性質によって異なるが、カーナビゲーションのような連続測位とDSCに典型的な単発測位との中間的な要求、すなわち、位置データのロギングのような測位頻度を下げて準連続的に測位を低電力で行いたい要求には、RTCの安定性に制約を受けない、安定度の高い間欠動作が期待される。
【0015】
そこで、本発明は、上記問題に鑑みてなされたものであり、本発明の目的とするところは、スリープ期間中に擬似的に衛星信号を同期保持することで平均電力及びピーク電力の低下を図ることが可能な、新規かつ改良された受信装置、受信方法、コンピュータプログラム及び携帯端末を提供することにある。
【課題を解決するための手段】
【0016】
上記課題を解決するために、本発明のある観点によれば、全地球測位システムにおける衛星からの信号を受信する受信部と、前記受信部が受信した受信信号の周波数を所定の中間周波数に変換する周波数変換部と、前記周波数変換部が変換した中間周波数の信号における拡散符号の位相を検出する同期捕捉と前記中間周波数の信号におけるキャリア周波数の検出とを行う同期捕捉部と、前記同期捕捉部によって検出された前記拡散符号の位相及び前記同期捕捉部によって検出された前記キャリア周波数を、複数の前記衛星に対応して独立に設けられた複数のチャンネルのそれぞれに対して前記衛星毎に割り当てて設定し、設定した前記拡散符号の位相及び前記キャリア周波数を用いて前記拡散符号とキャリアとの同期保持を行うとともに、前記中間周波数信号に含まれるメッセージの復調を行う同期保持部と、前記同期保持部が復調したメッセージを用いた測位演算を含む動作制御を実行する制御部と、を備え、前記同期保持部は、前記拡散符号に同期する拡散コードを生成する拡散コード生成部を含み、前記同期保持部は所定の周波数で発振する温度補償された発振器を発振源とするクロックで動作するカウンタを参照し、測位動作を行わないスリープ期間においては、前記同期保持部は前記拡散コード生成部のみを動作させるとともに前記同期保持部が参照する前記カウンタが動作する、受信装置が提供される。
【0017】
前記拡散コード生成部は、数値型制御発振器と、前記数値型制御発振器の出力信号を受けて拡散符号を発生する拡散符号発生器と、を含んでいてもよい。
【0018】
前記数値型制御発振器は、前記スリープ期間に入る直前の前記数値型制御発振器の値を当該スリープ期間における前記数値型制御発振器の値に保持するようにしてもよい。
【0019】
前記制御部は、前記スリープ期間に入る直前の所定の期間における前記数値型制御発振器の値の平均値を算出し、前記数値型制御発振器は、前記平均値を当該スリープ期間における前記数値型制御発振器の値として保持するようにしてもよい。
【0020】
前記制御部は、前記スリープ期間における前記衛星のドップラシフトの変化量を考慮して前記スリープ期間が終了した時点の前記数値型制御発振器の値を補正するようにしてもよい。
【0021】
前記制御部は、前記スリープ期間から復帰する時間を用いて、前記補正を前記スリープ期間に入る前に実行するようにしてもよい。
【0022】
前記スリープ期間において、前記受信部、前記周波数変換部、前記同期捕捉部及び前記制御部は動作を停止するようにしてもよい。
【0023】
また、上記課題を解決するために、本発明の別の観点によれば、全地球測位システムにおける衛星からの信号を受信する受信ステップと、前記受信部が受信した受信信号の周波数を所定の中間周波数に変換する周波数変換ステップと、前記周波数変換ステップで変換した中間周波数の信号における拡散符号の位相を検出する同期捕捉と前記中間周波数の信号におけるキャリア周波数の検出とを行う同期捕捉ステップと、前記拡散符号に同期する拡散コードを生成し、所定の周波数で発振する温度補償された発振器を発振源とするクロックで動作するカウンタを参照する同期保持部を用いて、前記同期捕捉ステップによって検出された前記拡散符号の位相及び前記同期捕捉ステップによって検出された前記キャリア周波数を、複数の前記衛星に対応して独立に設けられた複数のチャンネルのそれぞれに対して前記衛星毎に割り当てて設定し、設定した前記拡散符号の位相及び前記キャリア周波数を用いて前記拡散符号とキャリアとの同期保持を行うとともに、前記中間周波数信号に含まれるメッセージの復調を行う同期保持ステップと、前記同期保持ステップが復調したメッセージを用いた測位演算を含む動作制御を実行する制御ステップと、測位動作を行わないスリープ期間においては、前記同期保持部は前記拡散コード生成部のみを動作させるとともに前記同期保持部が参照する前記カウンタが動作する間欠動作ステップと、を含む、受信方法が提供される。
【0024】
また、上記課題を解決するために、本発明の別の観点によれば、コンピュータに、全地球測位システムにおける衛星からの信号を受信する受信ステップと、前記受信部が受信した受信信号の周波数を所定の中間周波数に変換する周波数変換ステップと、前記周波数変換ステップで変換した中間周波数の信号における拡散符号の位相を検出する同期捕捉と前記中間周波数の信号におけるキャリア周波数の検出とを行う同期捕捉ステップと、前記拡散符号に同期する拡散コードを生成し、所定の周波数で発振する温度補償された発振器を発振源とするクロックで動作するカウンタを参照する同期保持部を用いて、前記同期捕捉ステップによって検出された前記拡散符号の位相及び前記同期捕捉ステップによって検出された前記キャリア周波数を、複数の前記衛星に対応して独立に設けられた複数のチャンネルのそれぞれに対して前記衛星毎に割り当てて設定し、設定した前記拡散符号の位相及び前記キャリア周波数を用いて前記拡散符号とキャリアとの同期保持を行うとともに、前記中間周波数信号に含まれるメッセージの復調を行う同期保持ステップと、前記同期保持ステップが復調したメッセージを用いた測位演算を含む動作制御を実行する制御ステップと、測位動作を行わないスリープ期間においては、前記同期保持部は前記拡散コード生成部のみを動作させるとともに前記同期保持部が参照する前記カウンタが動作する間欠動作ステップと、を実行させる、コンピュータプログラムが提供される。
【0025】
また、上記課題を解決するために、本発明の別の観点によれば、上記受信装置との間で命令及び情報の授受を実行する、携帯端末が提供される。
【発明の効果】
【0026】
以上説明したように本発明によれば、スリープ期間中に擬似的に衛星信号を同期保持するための構成のみを動作させることで平均電力及びピーク電力の低下を図ることが可能な、新規かつ改良された受信装置、受信方法、コンピュータプログラム及び携帯端末を提供することができる。
【図面の簡単な説明】
【0027】
【図1】本発明に関連するGPSモジュールの構成を示すブロック図である。
【図2】図1の同期捕捉部のより詳細な構成の一例を示すブロック図である。
【図3】図1の同期捕捉部のより詳細な構成の他の例を示すブロック図である。
【図4】デジタルマッチドフィルタから出力される相関信号のピークの一例を示す説明図である。
【図5】衛星の軌道情報であるエフェメリスとアルマナックのデータ構造を示す説明図である。
【図6】ホットスタートによる間欠動作の概念を示す説明図である。
【図7】図1に示したGPSモジュール10に含まれる同期保持部50の構成を示す説明図である。
【図8】図7に示したチャンネル回路100の構成を示す説明図である。
【図9】受信信号における拡散符号と拡散コード生成器の位相がDLLの制御によって同期が保持されている状態を示す説明図である。
【図10】受信信号と経過時間との関係を示す説明図である。
【図11】拡散コードのチップレートを決めているNCO152の周波数を衛星毎にドップラシフト量に合わせて適切に設定する例を示す説明図である。
【図12】衛星のドップラシフトの変化例をグラフで示す説明図である。
【図13】GPSモジュール10の動作を示す流れ図である。
【図14】本発明の一実施形態にかかるGPSモジュール10との間で情報を授受するデジタルスチルカメラ200の構成を示す説明図である。
【図15A】本発明の一実施形態にかかるGPSモジュール10と及びデジタルスチルカメラ200の動作を示す流れ図である。
【図15B】本発明の一実施形態にかかるGPSモジュール10と及びデジタルスチルカメラ200の動作を示す流れ図である。
【発明を実施するための形態】
【0028】
以下に添付図面を参照しながら、本発明の好適な実施の形態について詳細に説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複説明を省略する。
【0029】
なお、説明は以下の順序で行うものとする。
<1.本発明の一実施形態>
[1−1.本発明に関連するGPSモジュールのハードウェア構成]
[1−2.同期再確立の方法]
<2.GPSモジュールが内蔵される機器の説明>
<3.まとめ>
【0030】
[1−1.GPSモジュールのハードウェア構成]
まず、本発明に関連するGPSモジュールのハードウェア構成について説明する。図1は、本発明に関連するGPSモジュール10のハードウェア構成の一例を示すブロック図である。以下、図1を用いてGPSモジュールのハードウェア構成について説明する。
【0031】
図1を参照すると、GPSモジュール10は、アンテナ12、周波数変換部20、同期捕捉部40、同期保持部50、CPU(Central Processing Unit)60、RTC(Real Time Clock)64、タイマ68、メモリ70、XO(水晶発振器、X’tal Oscillator)72、TCXO(Temperature Compensated X’tal Oscillator)74、及び逓倍/分周器76を備える。
【0032】
XO72は、所定の周波数(例えば、32.768kHz程度)を有する信号D1を発振させ、発振した信号D1をRTC64へ供給する。TCXO74は、XO72と異なる周波数(例えば、16.368MHz程度)を有する信号D2を発振し、発振した信号D2を逓倍/分周器76及び周波数シンセサイザ28へ供給する。
【0033】
逓倍/分周器76は、TCXO74から供給された信号D2を、CPU60からの指示に基づいて、逓倍若しくは分周、又はそれら双方を行なう。そして、逓倍/分周器76は、逓倍、分周又はその双方を行った信号D4を、周波数変換部20の周波数シンセサイザ28、ADC36、CPU60、タイマ68、メモリ70、同期捕捉部40、及び同期保持部50へ供給する。
【0034】
アンテナ12は、全地球測位システムの衛星であるGPS衛星から送信された航法メッセージなどを含む無線信号(例えば、1575.42MHzのキャリアが拡散されたRF信号)を受信し、当該無線信号を電気信号D5に変換して周波数変換部20へ供給する。
【0035】
周波数変換部20は、LNA(Low Noise Amplifier)22、BPF(Band Pass Filter)24、増幅器26、周波数シンセサイザ28、乗算器30、増幅器32、LPF(Low Pass Filter)34、及びADC(Analog Digital Converter)36を備える。この周波数変換部20は、以下に示すように、アンテナ12により受信された1575.42MHzの高い周波数を有する信号D5を、デジタル信号処理の容易化のために、例えば1.023MHz程度の周波数を有する信号D14にダウンコンバージョンする。
【0036】
LNA22は、アンテナ12から供給された信号D5を増幅し、BPF24へ供給する。BPF24は、SAWフィルタ(Surface Acoustic Wave Filter)から構成され、LNA22により増幅された信号D6の周波数成分のうちで、特定の周波数成分のみを抽出して増幅器26へ供給する。増幅器26は、BPF24により抽出された周波数成分を有する信号D7(周波数FRF)を増幅し、乗算器30へ供給する。
【0037】
周波数シンセサイザ28は、TCXO74から供給される信号D2を利用し、CPU60からの指示D9に基づいて周波数FLOを有する信号D10を生成する。そして、周波数シンセサイザ28は、生成した周波数FLOを有する信号D10を乗算器30へ供給する。
【0038】
乗算器30は、増幅器26から供給される周波数FRFを有する信号D8と、周波数シンセサイザ28から供給される周波数FLOを有する信号D10を乗算する。即ち、乗算器30は、高周波信号をIF(Intermediate Frequency)信号D11(例えば、1.023MHz程度の周波数を有する中間周波数信号)にダウンコンバージョンする。
【0039】
増幅器32は、乗算器30によりダウンコンバージョンされたIF信号D11を増幅し、LPF34へ供給する。
【0040】
LPF34は、増幅器30により増幅されたIF信号D12の周波数成分のうちの低周波成分を抽出し、抽出した低周波成分を有する信号D13をADC36へ供給する。なお、図1においては増幅器32とADC36の間にLPF34が配置される例を説明しているが、増幅器32とADC36の間にはBPFが配置されてもよい。
【0041】
ADC36は、LPF34から供給されたアナログ形式のIF信号D13をサンプリングすることによりデジタル形式に変換し、デジタル形式に変換したIF信号D14を、1ビットずつ同期捕捉部40及び同期保持部50へ供給する。
【0042】
同期捕捉部40は、CPU60による制御に基づき、逓倍/分周器76から供給される信号D3を利用し、ADC36から供給されるIF信号D14の疑似ランダム(PRN:Pseudo−Random Noise)符号での同期捕捉を行う。また、同期捕捉部40は、IF信号D14のキャリア周波数を検出する。そして、同期捕捉部40は、PRN符号の位相やIF信号D14のキャリア周波数などを同期保持部50及びCPU60へ供給する。
【0043】
同期保持部50は、CPU60による制御に基づき、逓倍/分周器76から供給される信号D3を利用し、ADC36から供給されるIF信号D14のPRN符号とキャリアの同期を保持する。より詳細には、同期保持部50は、同期捕捉部40から供給されるPRN符号の位相やIF信号D14のキャリア周波数を初期値として動作する。そして、同期保持部50は、ADC36から供給されるIF信号D14に含まれる航法メッセージを復調し、復調された航法メッセージ、精度の高いPRN符号の位相及びキャリア周波数をCPU60へ供給する。
【0044】
CPU60は、同期保持部50から供給される航法メッセージ、PRN符号の位相及びキャリア周波数に基づいて、各GPS衛星の位置や速度を算出し、GPSモジュール10の位置を計算する。また、CPU60は、航法メッセージに基づいてRTC64の時間情報を補正してもよい。また、CPU60は、制御端子、I/O端子、及び付加機能端子などに接続され、その他の各種制御処理を実行してもよい。
【0045】
RTC64は、XO72から供給される所定の周波数を有する信号D1を利用して時間を計測する。RTC64が計測する時間は、CPU60により適宜補正される。
【0046】
タイマ68は、逓倍/分周器76から供給される信号D4を利用して計時する。かかるタイマ68は、CPU60による各種制御の開始タイミングを決定する際などに参照される。例えば、CPU60は、同期捕捉部40により捕捉されたPRN符号の位相に基づいて同期保持部50のPRN符号発生器の動作を開始させるタイミングを決定する際に、タイマ68を参照する。
【0047】
メモリ70は、RAM(Random Access Memory)やROM(Read−Only Memory)などからなり、CPU60による作業空間、プログラムの記憶部、航法メッセージの記憶部などとしての機能を有する。メモリ70においては、CPU60等による各種処理を行う際のワークエリアとしてRAMが用いられる。また、RAMは、入力された各種データのバッファリング、並びに、同期保持部50より得られたGPS衛星の軌道情報であるエフェメリス及びアルマナック、及び演算過程で生成される中間データ又は演算結果データの保持などのためにも用いられ得る。また、メモリ70においては、各種プログラムや固定データ等を記憶する手段としてROMが用いられる。また、メモリ70においては、GPSモジュール10の電源が切られている間に、GPS衛星の軌道情報であるエフェメリス及びアルマナック、並びに測位結果の位置情報又はTCXO1の誤差量などを記憶する手段として、不揮発メモリが用いられる場合がある。
【0048】
なお、図1に示したGPSモジュール10の構成のうち、XO72、TCXO74、アンテナ12及びBPF24を除く各ブロックを、1チップからなる集積回路に実装することも可能である。
【0049】
なお、上述した同期捕捉部40は、例えば、拡散符号の同期捕捉を高速に行うために、マッチドフィルタを利用する。具体的には、同期捕捉部40は、マッチドフィルタとして、例えば図2に示す所謂トランスバーサルフィルタ40aを用いてもよい。その代わりに、同期捕捉部40は、マッチドフィルタとして、例えば図3に示す高速フーリエ変換(FFT:Fast Fourier Transform)を利用したデジタルマッチドフィルタ40bを用いてもよい。
【0050】
例えば、図3を参照すると、デジタルマッチドフィルタ40bは、メモリ41、FFT部42、メモリ43、拡散符号発生器44、FFT部45、メモリ46、乗算器47、IFFT(Inversed Fast Fourier Transform)部48、及びピーク検出器49を有する。
【0051】
メモリ41は、周波数変換部20のADC36によってサンプリングされたIF信号をバッファリングする。FFT部42は、メモリ41によりバッファリングされたIF信号を読み出して高速フーリエ変換する。メモリ43は、FFT部42における高速フーリエ変換により時間領域のIF信号から変換された周波数領域信号をバッファリングする。
【0052】
一方、拡散符号発生器44は、GPS衛星からのRF信号における拡散符号と同じ拡散符号を発生する。FFT部45は、拡散符号発生器44により発生された拡散符号を高速フーリエ変換する。メモリ部46は、FFT部45における高速フーリエ変換により時間領域の拡散符号から変換された周波数領域の拡散符号をバッファリングする。
【0053】
乗算器47は、メモリ43にバッファリングされている周波数領域信号とメモリ46にバッファリングされている周波数領域の拡散符号とを乗算する。IFFT部48は、乗算器47から出力される乗算後の周波数領域信号を逆高速フーリエ変換する。それにより、GPS衛星からのRF信号における拡散符号と拡散符号発生器44により発生された拡散符合との間の時間領域での相関信号が取得される。そして、ピーク検出器49は、IFFT部48から出力される相関信号のピークを検出する。
【0054】
かかるデジタルマッチドフィルタ40bは、FFT部42及び45、拡散符号発生器44、乗算器47、IFFT部48、及びピーク検出器49の各部の処理をDSP(Digital Signal Processor)を用いて実行するソフトウェアとして実現されてもよい。
【0055】
図4は、上述したデジタルマッチドフィルタ40a又は40bにより捕捉される相関信号のピークの一例を示す説明図である。図4を参照すると、1周期分の相関信号の出力波形の中で、相関レベルが突出したピークP1が検出されている。かかるピークP1の時間軸上の位置は、拡散符号の先頭に相当する。即ち、同期捕捉部40は、このようなピークP1を検出することにより、GPS衛星から受信された受信信号の同期を検出(即ち、拡散符号の位相を検出)することができる。
【0056】
[1−2.同期再確立の概要]
次に、本実施形態に係るGPSモジュール10による同期再確立の概要について説明する。図5は、衛星の軌道情報であるエフェメリスとアルマナックのデータ構造を示す説明図である。GPS衛星からはデータレート50bpsであり、1フレームは5つのサブフレームからなり、最初のサブフレームにはクロック補正情報と衛星情報が、2つ目と3つ目のサブフレームには個別に衛星から放送される軌道情報であるエフェメリスが、4つ目と5つ目のサブフレームには全衛星から共通に放送される軌道情報であるアルマナックが含まれる。
【0057】
また、1つのサブフレームにはプリアンブルとデータが格納され、30ビットのデータの組が10個含まれる構成を有している。
【0058】
図6は、ホットスタートによる間欠動作の概念を示す説明図である。上述したように、同期の再確立に通常のGPS受信機の初期起動を行う間欠動作の方法では、図6のように最初にコールドまたはウォームスタートで初期測位を確立した後で間欠動作に移行し、短時間で測位可能なホットスタートを行うのが一般的である。この方法の場合、GPS受信機においては衛星の受信信号に対する同期捕捉部(例えば図1の同期捕捉部40)が動作する。同期捕捉部は処理負荷が大きいため同期保持部(例えば図1の同期保持部50)より消費電力がずっと大きいケースが多いので、平均電力よりピーク電力がバッテリで規定される場合には不都合である。
【0059】
本実施形態は、同期捕捉部40を使わず、同期保持部50のみで同期を再確立することで、GPSモジュールの平均電力及びピーク電力の低下を図ることを特徴とする。この際、同期保持部50の内部の全てが動作するのではなく、一部のみが動作することでスリープ期間中に擬似的に衛星信号を同期保持することを特徴とする。
【0060】
図7は、図1に示したGPSモジュール10に含まれる同期保持部50の構成を示す説明図である。図7に示したように、同期保持部50は、TCXO74からのクロックに基づいてカウントを実行するカウンタ90と、GPS衛星ごとに対応して設けられ、GPS衛星の同期保持を行うチャンネル回路100と、を含んで構成される。チャンネル回路100は、コードの同期を行うコードトラッキングループと、キャリアの同期を行うキャリアトラッキングループとからなる。このようにチャンネル回路100を複数設けることで、同期保持部50は複数のGPS衛星の同期保持を並列的に行うことができる。
【0061】
図8は、図7に示したチャンネル回路100の構成を示す説明図である。図8に示したように、チャンネル回路100はコスタスループ101と、DLL102と、を含んで構成される。
【0062】
コスタスループ101には、上述したIF信号D14に対応するIF信号に対して、後述する拡散符号発生器(PN Generator;以下、PNGという。)154によって発生された位相がP(Prompt)とされる拡散符号(図8におけるPrompt)が乗算器104によって乗算された信号が入力される。一方、チャンネル回路100においては、DLL102には、上述したアンテナ12及び周波数変換部20によって得られるIF信号D14に対応するIF信号が入力される。
【0063】
コスタスループ101においては、入力された信号に対して、NCO(Numeric Controlled Oscillator)106によって生成された再生キャリアのうちのコサイン成分が乗算器108によって乗算される。一方、入力された信号に対して、NCO106によって生成された再生キャリアのうちのサイン成分が乗算器110によって乗算される。コスタスループ101においては、乗算器108によって得られた同相成分の信号のうち所定の周波数帯域成分がLPF112によって通過され、この信号が位相検出器118、2値化回路120及び2乗和算出回路122に供給される。一方、コスタスループ101においては、乗算器110によって得られた直交成分の信号のうち所定の周波数帯域成分がLPF114によって通過され、この信号が位相検出器118及び2乗和算出回路122に供給される。コスタスループ101においては、LPF112,114のそれぞれから出力された信号に基づいて位相検出器118によって検出された位相情報がループフィルタ116を介してNCO106に供給される。コスタスループ101では、LPF112,114のそれぞれから出力された信号が2乗和算出回路122に供給され、この2乗和算出回路122によって算出された2乗和(I2+Q2)が、位相がPとされる拡散符号についての相関値(P)として出力される。さらに、コスタスループ101においては、LPF112から出力された信号が2値化回路120に供給され、2値化されて得られた情報が航法メッセージとして出力される。
【0064】
一方、DLL102においては、入力されたIF信号に対して、PNG154によって発生された位相がPよりも進んだE(Early)とされる拡散符号(図8におけるEarly)が乗算器124によって乗算される。また、入力されたIF信号に対して、PNG154によって発生された位相がPよりも遅れたL(Late)とされる拡散符号(図8におけるLate)が乗算器126によって乗算される。DLL102においては、乗算器124によって得られた信号に対して、コスタスループ101におけるNCO106によって生成された再生キャリアのうちのコサイン成分が乗算器128によって乗算される。また、乗算器124によって得られた信号に対して、NCO106によって生成された再生キャリアのうちのサイン成分が乗算器130によって乗算される。そして、DLL102においては、乗算器128によって得られた同相成分の信号のうち所定の周波数帯域成分がLPF132によって通過され、この信号が2乗和算出回路136に供給される。一方、DLL102においては、乗算器130によって得られた直交成分の信号のうち所定の周波数帯域成分がLPF134によって通過され、この信号が2乗和算出回路136に供給される。また、DLL102においては、乗算器126によって得られた信号に対して、コスタスループ101におけるNCO106によって生成された再生キャリアのうちのコサイン成分が乗算器138によって乗算される。また、乗算器126によって得られた信号に対して、NCO106によって生成された再生キャリアのうちのサイン成分が乗算器140によって乗算される。そして、DLL102においては、乗算器138によって得られた同相成分の信号のうち所定の周波数帯域成分がLPF142によって通過され、この信号が2乗和算出回路146に供給される。一方、DLL102においては、乗算器140によって得られた直交成分の信号のうち所定の周波数帯域成分がLPF144によって通過され、この信号が2乗和算出回路146に供給される。
【0065】
DLL102においては、2乗和算出回路136,146のそれぞれから出力された信号が位相検出器148に供給され、これらの信号に基づいて位相検出器148によって検出された位相情報がループフィルタ150を介してNCO152に供給される。さらに、NCO152によって生成された所定の周波数を有する信号に基づいて、PNG154によって各位相E,P,Lの拡散符号が発生される。さらに、DLL102においては、2乗和算出回路136によって算出された2乗和(I2+Q2)が、位相がEとされる拡散符号についての相関値(E)として出力される。また、DLL102においては、2乗和算出回路146によって算出された2乗和(I2+Q2)が、位相がLとされる拡散符号についての相関値(L)として出力される。
【0066】
次に、かかる構成を有する同期保持部50による間欠的な同期保持について詳細に説明する。
【0067】
本実施形態では、スリープ期間に同期保持部50における、NCO152とPNG154とからなる拡散コード生成器及びカウンタ90を動作させ、それ以外は動作を停めることにより、スリープ期間中に擬似的に衛星信号を同期保持する。これにより、本実施形態に係るGPSモジュール10は、スリープ状態から復帰後に極めて短時間に同期を復帰でき、同期捕捉部40を動作させることなく、かつ、短時間で測位できるため、平均電力およびピーク消費電力を下げられる。
【0068】
この方法では、スリープ状態でもGPS受信用発振器(通常はTCXO74)が動作しているため、RTCを用いる方法に比べるとスリープ状態での消費電力が大きくなる。しかし、近年ではTCXOの消費電力も下がってきており、連続測位の必要はなくてもある程度の頻度で測位が必要な場合に、安定かつ低電力での準連続的な測位が可能となる。
【0069】
GPS衛星からの信号を受信して測位できている動作状態においては、図9のように受信信号における拡散符号と、図8に示したNCO152とPNG154とからなる拡散コード生成器の位相がDLL102の制御によって同期が保持されている。しかし、GPSモジュール10がスリープ状態に移行して同期保持部50を完全に停止させると同期は保持されなくなる。スリープ状態から復帰後に瞬時に再同期させるには、拡散コード位相を1chip(約1μs)以内の誤差で知る必要があるが、スリープ時に拡散コード位相の情報が失われているため再同期できない。
【0070】
そこで本実施形態では、拡散コード位相をスリープ時も進めるために、スリープ時に同期保持部50における拡散コード生成器とカウンタ90のみを動作させる。同期保持部50の全体の消費電力に占める拡散コード生成器とカウンタ90の消費電力の割合は微小であり、省電力化に大きく寄与することになる。
【0071】
上述したように、同期保持部50はRTC64より高分解能な時刻を刻むカウンタ90を有している。カウンタ90により、同期保持部50は同期が確立していれば衛星からの受信信号のタイミングを特定でき、その計測したタイミングの高分解能な時刻を用いて測位演算を行うことができる。GPSの場合、衛星における拡散コードのチップレートは1.023MHzなので、NCOは1.023MHzを中心に周波数が可変できる構成になっており、この周波数設定によって拡散コードの位相を進めたり、遅らせたりできる。
【0072】
GPS受信用発振器を基準として計測される受信信号における拡散コードのチップレート(fcHz)とチップレート1.023MHzに対する時間経過に伴う位相のずれ(Δp[chip]、1[chip]=1/1.023[μsec]とする)は、同じくGPS受信用発振器を基準として計測される受信信号におけるキャリア周波数の公称値1,575.42[MHz]からのずれ(Δf[Hz]とする)と経過時間(t[sec]とする)に比例し、
fc = 1.023×106+Δf/1540 [Hz] ・・・(1)
Δp = -Δf/1540・t ・・・(2)
の関係があることが知られている。図10は、受信信号と経過時間との関係を示す説明図である。Δfはキャリアの同期を行うキャリアトラッキングループで衛星毎に検出できる。受信信号のキャリア周波数はドップラシフト量の違いから衛星毎に異なり、従って、拡散コード位相のずれ方も衛星毎に異なる。
【0073】
しかし、拡散コードのチップレートを決めているNCO152の周波数を衛星毎にドップラシフト量に合わせて、上記式(1)の関係を用いて適切に設定することにより、同期保持部50の拡散コード生成器とカウンタ90以外を停止して、DLL102による同期保持の制御がかからないスリープ状態でも、少ない位相誤差で擬似的に同期を保持できる。図11は、拡散コードのチップレートを決めているNCO152の周波数を衛星毎にドップラシフト量に合わせて適切に設定する例を示す説明図である。少ない位相誤差でスリープ状態から同期保持部全体が復帰した場合、同期保持部50の制御により位相誤差は0付近に戻り、瞬時に同期を再確立できる。
【0074】
以上のように、GPSモジュール10のスリープ状態において、NCO152とPNG154とからなる拡散コード生成器とカウンタ90のみを動作させておくことで、スリープ状態においても擬似的に同期し、かつ、スリープから復帰後、瞬時に同期を再確立できる間欠動作が可能になる。
【0075】
GPSモジュール10のスリープ状態においては、GPS衛星からの信号を受信する必要も、現在値の測位演算を行う必要もないので、同期保持部50の拡散コード生成器とカウンタ90以外の周波数変換部20、同期捕捉部40、CPU60、バックアップ用以外のメモリ70の動作も停止して良い。このように動作を停止することで、スリープ時のGPSモジュール10の消費電力は、ほぼGPS受信用発振器であるTCXO74と同期保持部50の拡散コード生成器とカウンタ90によるものとなる。バックアップ用メモリは、スリープ前の位置情報等を保持するのに用いる。なお、フラッシュメモリのような不揮発メモリを利用可能な場合には必ずしもSRAMによるバックアップメモリは必要ではない。
【0076】
スリープ状態で擬似的に同期保持を行うためには、上述の通り、拡散コード生成器のNCO152を衛星毎に適切な値に設定する必要がある。最も簡易的には、スリープ状態の直前のNCO152の値をスリープ状態にホールドする方法がある。同期状態における拡散コード生成器のNCO152の周波数はチャンネル回路100におけるDLL102の制御によって理想的には上記数式(1)のチップレートに等しくなる。実際の動作においてはNCO152の周波数とDLL102の制御が離散的であるため、また受信信号におけるノイズによる変動のため、直前のNCO152の周波数が必ずしも最適とは言えない。従って、直前に一定時間(例えば1秒間)のNCO152の周波数の平均値を計算して、その値をスリープ状態におけるNCO152の周波数として設定しても良い。
【0077】
スリープ直前の拡散コード生成器のNCO152の周波数をスリープ状態のNCOとして設定する方法は最も簡単である。しかし、衛星のドップラシフトは固定値ではなく時間的に変化し、それによってチップレートが変化する。図12は、衛星のドップラシフトの変化例をグラフで示す説明図である。図12に示したグラフは、横軸に時間を、縦軸にドップラシフトを示している。このように、衛星のドップラシフトは固定値ではなく時間的に変化することが分かる。そのため、スリープ直前の拡散コード生成器のNCO152の周波数をスリープ状態のNCOとして設定する方法では間欠時間の間隔が短い場合には向くが、擬似的な同期保持が継続可能な時間を長くはできない。ドップラシフトの時間変化率が高い時ほど擬似的な同期保持が継続可能な時間は短くなり、発振器の変動が全く無い理想状態でも例えば30秒持たないケースが出てくる。擬似的な同期保持の継続時間を長くするためには、設定するNCO152の周波数を、ドップラシフトの変化を考慮して補正すれば良い。
【0078】
図12に示したような、衛星のドップラシフトの時間的に変化を考慮すると、上記数式(1)、及び数式(2)は、fc、Δf、Δpを時間tの関数とすれば、
fc(t) = 1.023×106+Δf(t)/1540 [Hz] ・・・(3)
Δp(t) = -∫t0 Δf(t)/1540・dt ・・・(4)
となる。t=0は起点となる時間を示すもので、間欠する時間が数分のオーダーであれば、図12のようなドップラシフトの変化は一次式で、
Δf(t) = Δf(0) (1 + a・t) ・・・(5)
Δp(t) = -Δf(0)/1540・t・(1 + a/2Δf(0)・t) ・・・(6)
と近似できる。ここで、Δf(0)=Δf(t=0)、aは時間変化の傾き、すなわち、図12のような曲線における微分値である。数式(5)、(6)でa=0とすると、式(1)、(2)と一致する。
【0079】
スリープ直前の拡散コード生成器のNCO152の周波数をスリープ状態のNCO152の周波数として設定する前述の方法は、式(5)、(6)において、スリープ状態の間に
fc = 1.023×106+Δf(0)/1540 ・・・(7)
とすることと同じ意味合いで、スリープ状態におけるドップラシフトの時間変化は考慮されない。そのため、拡散コードの位相は時間tに対して、
Δp(t)=-a/2・t2/1540 (8)
ずれることになる。例えば、t=30sec、a=1Hz/secの場合、ずれは0.29チップとなるので、スリープ状態から復帰後、DLL102の制御によりずれを補正できる範囲にあるが、t=60secの場合には、1.17チップもずれてしまうので、スリープ状態から復帰後に生じたずれをDLL102は補正できず、衛星からの受信信号を瞬時に再同期できなくなる。
【0080】
しかしながら、GPSモジュール10は、スリープ状態に入る前に、Δf(0)の実測値を持ち、エフェメリスと測位結果を用いてt=T秒後のΔfおよびa=(Δf(T)−Δf(0))/Tを計算できる。したがって、t=T秒後のドップラシフトによる拡散コードの位相ずれを上記数式(8)で予測し、その予測値から数式(7)に対して補正値を加えることで、t=T秒後における拡散コードの位相ずれが補正される。すなわち、T秒後に拡散コードの位相を合わせたい場合、
fc = 1.023×106+Δf(0)/1540・(1 + a/2Δf(0)・T) ・・・(9)
のように、数式(7)に補正項を加えて計算した値をスリープ状態における拡散コード生成器のNCO152の周波数として設定すればよい。なお、数式(9)は
fc = 1.023×106+(Δf(0)+Δf(T))/2 /1540 ・・・(10)
のように変形できることからわかる通り、前述の拡散コード生成器のNCO152の周波数をスリープ直前の値をスリープ状態に設定する代わりに、t=0とt=Tでのキャリア周波数のずれの平均値(Δf(0)+Δf(T))/2を設定することに等しい。
【0081】
GPSモジュール10がスリープ時間を決められる場合には、スリープ時間をTとして上記数式(9)の補正を行えば、T秒後にスリープ状態から起動したときには、拡散コード位相のずれは1チップより充分小さい値になり、チャンネル回路100におけるDLL102の制御により瞬時に再同期を確立することができるようになる。なお、スリープ状態からの復帰は正確にT秒後でなくとも、T秒からの時間のずれが充分小さければよい。
【0082】
以上のドップラシフトの変化に対する補正方法は、ドップラシフトによるキャリア補正の方法を式(5)のような1次近似で説明したが、2次以上の近似も可能であることは言うまでもない。
【0083】
なお、実際の使用状況においては、GPSモジュール10を内蔵した受信機が移動するので、そのドップラシフトによる拡散コード位相のずれも加わる。t=0時点の実測値Δf(0)はGPSモジュール10の移動によるドップラシフト分も含んでおり、t=0時点でのGPSモジュール10の移動速度、加速度は計算可能なので、例えば、GPSモジュール10の移動によるドップラシフトも一次近似して、その分を式(9)あるいは式(10)のΔf(T)に加味することで、GPSモジュール10の移動による拡散コード位相のずれも近似が成り立つ範囲において補正できる。
【0084】
上記補正を用いれば、同期保持部50は、チャンネル回路100におけるDLL102の制御により再同期を確立できる。GPSモジュール10がスリープに入る時間とスリープから復帰する時間を単独で決定できる場合には、スリープ状態に入る前に上述の補正計算を行い、スリープ状態における拡散コード生成器のNCO152の周波数としてもよい。
【0085】
次に、GPSモジュール10の動作について説明する。図13は、GPSモジュール10の動作を示す流れ図である。以下、図13を用いてGPSモジュール10の動作について説明する。
【0086】
まず、GPSモジュール10が初期起動して図1に示したGPSモジュール10の各部に通電される(ステップS101)。続いて、GPSモジュール10による、GPS衛星からの電波を受信しての初期測位が行われる(ステップS102)。GPSモジュール10の初期起動及び初期測位は、図6に示した最初の同期捕捉及び追跡/測位の期間にあたる。このステップS102における初期測位によって、GPSモジュール10はエフェメリスを取得する。
【0087】
GPSモジュール10は、上記ステップS102で初期測位を実行すると、続いて、スリープに入る時間ts及びスリープから復帰する時間twを決定する(ステップS103)。このスリープに入る時間ts及びスリープから復帰する時間twは、GPSモジュール10の動作環境(GPSモジュール10が内蔵される機器や当該機器の動作状態など)に応じて任意の値を設定することができる。
【0088】
上記ステップS103において、スリープに入る時間ts及びスリープから復帰する時間twが決定されると、続いて、GPSモジュール10は決定した時間を用いた補正処理を実行する(ステップS104)。このステップS104における補正処理は、スリープから復帰する時間twにおけるNCO152の周波数の算出であり、この算出は上記数式9を用いて行われる。すなわち、スリープから復帰する時間twからスリープに入る時間tsを引いた値が上記数式9におけるTに相当する。従って、上記数式9に、スリープから復帰する時間twからスリープに入る時間tsを引いた値を代入することで、スリープから復帰する時間twにおけるNCO152の周波数を算出することができる。
【0089】
上記ステップS104で補正処理が実行されると、続いてGPSモジュール10は、スリープに入る時間tsまで待機するウェイト処理を実行する(ステップS105)。そして、スリープに入る時間tsに到達すると、GPSモジュール10はスリープから復帰する時間twまでスリープするスリープ処理を実行する(ステップS106)。このスリープ処理は、NCO152及びPNG154からなる拡散コード生成器及びカウンタ90のみを動作させ、その他の構成を停止させる。
【0090】
その後、カウンタ90の計時によりスリープから復帰する時間twに達すると、GPSモジュール10はスリープ状態から復帰するウェイクアップ処理を実行する(ステップS107)。このウェイクアップ処理は、上記ステップS106で停止させた構成を動作させる処理である。上記ステップS106で停止させた構成が動作することでGPSモジュール10はスリープ状態から復帰する。
【0091】
上記ステップS107でウェイクアップ処理が実行されると、GPSモジュール10は現在値の測位処理を実行する(ステップS108)。このステップS108での測位処理は、上記ステップS104で実行された補正処理で算出された、スリープから復帰する時間twにおけるNCO152の周波数を用いて行われる。これにより、GPSモジュール10がスリープ状態にある場合であっても擬似的に同期保持を行うことができ、GPSモジュール10は、スリープ状態から復帰してからすぐに測位処理を実行することができる。
【0092】
上記ステップS108で現在値の測位処理が実行されると、続いてGPSモジュール10はスリープ状態への移行を継続するかどうかを判断する(ステップS109)。スリープ状態への移行を継続するか否かは、例えばGPSモジュール10の動作環境(GPSモジュール10が内蔵される機器や当該機器の動作状態など)によって決められるようにしてもよい。
【0093】
上記ステップS109での判断の結果、スリープ状態への移行を継続する場合には、上記ステップS103に戻って、GPSモジュール10は、スリープに入る時間ts及びスリープから復帰する時間twを決定する。一方、上記ステップS109での判断の結果、スリープ状態へは移行しない場合には、GPSモジュール10は、スリープ状態への移行処理を終了する。
【0094】
以上、図13を用いてGPSモジュール10の動作について説明した。GPSモジュール10はこのように動作することで、GPSモジュール10がスリープ状態にある場合であっても擬似的に同期保持を行うことができ、GPSモジュール10は、スリープ状態から復帰してからすぐに測位処理を実行することができる。
【0095】
GPSモジュール10がスリープに入る時間および復帰する時間を決めるのがGPS受信機能の外部、例えば、GPSモジュール10を搭載したシステムのホストCPUである場合には、GPS受信機能単独では、GPSモジュール10がスリープ状態に移る際に、次に起動するまでのスリープ時間を知ることができない。その場合、システムがスリープに入る時間および復帰する時間を決定し、GPSモジュール10が内蔵されたGPSモジュール10に伝達する。GPSモジュール10が内蔵されたGPSモジュール10は伝達された時間情報によって上記補正を行えばよい。
【0096】
<2.GPSモジュールが内蔵される機器の説明>
次に、GPSモジュールが内蔵される機器の構成について、GPSモジュール10をデジタルスチルカメラに内蔵した場合を例にあげて説明する。図14は、本発明の一実施形態にかかるGPSモジュール10と情報を授受するデジタルスチルカメラ200の構成を示す説明図である。
【0097】
図14に示したように、GPSモジュール10と情報を授受するデジタルスチルカメラ200は、I/O210と、メモリ220と、表示部230と、信号処理部240と、撮像部250と、センサ260と、CPU270と、タイマ等の各種ペリフェラル280と、記録媒体290と、を含んで構成される。
【0098】
I/O210は、ユーザによって入力された操作内容や、外部のGPSモジュール10からの情報その他の信号を授受するためのインタフェースである。I/O210は、GPSモジュール10へコマンドを出力したり、GPSモジュール10からの情報を入力したりする。またI/O210は、デジタルスチルカメラ200のユーザからの入力を受け付けたり、パーソナルコンピュータからデータを授受したり、各種無線通信手段から無線信号を授受したりする。
【0099】
信号処理部240は、撮像部250から出力された撮像信号に対して所定の信号処理を施すものであり、この信号処理が施された画像信号(画像データ)を、ベースバンドのデジタルビデオデータとしてCPU270に出力する。すなわち、信号処理部240は、撮像部250から出力された撮像信号に対して、CDS(Correlated Double Sampling)回路により画像情報を有する信号だけをサンプリングするとともにノイズを除去する。そして、AGC(Auto Gain Control)回路によりゲインを調整して、A/D(Analog/Digital)変換回路によりデジタル信号に変換される。さらに、変換後のデジタル信号に対して検波系の信号処理を施して、R(赤色)、G(緑色)およびB(青色)の各色の成分を取り出し、γ補正やホワイトバランス補正等の処理が行われる。そして、最終的に1本のベースバンドのデジタルビデオデータとしてCPU270に出力される。
【0100】
また、信号処理部240は、撮像部250から出力された撮像信号に基づいて、表示部230に撮像画像(いわゆる、スルー画像)を表示させるための映像信号を生成する。この表示部230として、例えば、LCD(Liquid Crystal Display)等の表示素子を用いることができる。
【0101】
撮像部250は、光学系および撮像素子を備える。この光学系は、被写体からの光を集光するための複数のレンズ(ズームレンズ、フォーカスレンズ(図示せず)等)やアイリス(図示せず)等から構成され、入射された被写体からの光がこれらのレンズやアイリスを介して撮像素子に供給される。この撮像素子は、光学系を介して入射された被写体からの光をアナログの撮像信号(画像信号)に光電変換し、この光電変換されたアナログの撮像信号を信号処理部240に出力する。なお、撮像素子として、例えば、CCD(Charge Coupled Device)センサやCMOS(Complementary Metal Oxide Semiconductor)センサ等を用いることができる。
【0102】
CPU270は、デジタルスチルカメラ200の各部の動作を制御するものである。また各種ペリフェラル280はタイマ等からなり、デジタルスチルカメラ200の内部の各種動作に用いられるものである。また、メモリ220はROM、RAM等からなり、デジタルスチルカメラ200の動作のために各種情報やプログラムが格納されるものである。
【0103】
記録媒体290は、CPU270による記録制御に基づいて動画ファイル等の情報を記憶する記録媒体である。例えば、記録媒体290は、信号処理部240から出力されたデジタルビデオデータを記憶する。また、記録媒体290は、動画ファイルを管理する動画管理ファイルを記憶する。なお、記録媒体290は、デジタルスチルカメラ200に内蔵するようにしてもよく、デジタルスチルカメラ200から着脱可能とするようにしてもよい。また、記録媒体290として、半導体メモリ、光記録媒体、磁気ディスク、HDD(Hard Disk Drive)等の種々のものを用いることができる。なお、光記録媒体は、例えば、記録可能なDVD(DigitalVersatile Disc)、記録可能なCD(Compact Disc)、ブルーレイディスク(Blu−ray Disc(登録商標))等を用いることができる。
【0104】
デジタルスチルカメラ200からGPSモジュール10へは、GPSモジュール10のオン/オフ、位置情報要求、測位モード・時間間隔指定、データ形式指定その他のコマンドが送信される。一方、GPSモジュール10からデジタルスチルカメラ200へは、位置、時間、精度情報、衛星受信状況等の測位関連情報が送信される。
【0105】
以上、図14を用いて本発明の一実施形態にかかるGPSモジュール10と情報を授受するデジタルスチルカメラ200の構成について説明した。次に、GPSモジュール10及びデジタルスチルカメラ200の動作について説明する。
【0106】
図15A及び図15Bは、GPSモジュール10及びデジタルスチルカメラ200の動作を示す流れ図である。図15A及び図15Bは、デジタルスチルカメラ200のCPU270と、GPSモジュール10のCPU60と、GPSモジュール10のコア部分(周波数変換部20、同期捕捉部40、同期保持部50)の動作について示したものである。以下、図15A及び図15Bを用いてGPSモジュール10及びデジタルスチルカメラ200の動作について説明する。
【0107】
図14のCPU270(システムCPU)からは、GPSモジュール10に対して測位開始要求を送る(ステップS201)。CPU270からの測位開始要求を受けたGPSモジュール10のCPU60(GPS受信機CPU)は、GPSモジュール10のコア部分(周波数変換部20、同期捕捉部40、同期保持部50)へ初期起動を指示する(ステップS202)。GPSモジュール10のコア部分へ初期起動を指示したCPU60は、CPU270へ準備が完了したことを通知する(ステップS203)。またCPU60から初期起動が指示されたGPSモジュール10のコア部分は各種初期設定を開始する(ステップS204)。
【0108】
その後、デジタルスチルカメラ200のCPU270(システムCPU)は、GPSモジュール10に対して間欠測位を指示すると共に、その間欠測位の時間間隔を指定する(ステップS205)。CPU270からの測位開始要求を受けたGPSモジュール10のCPU60は、GPSモジュール10のコア部分へ初期測位開始を指示する(ステップS206)。初期測位開始指示を受けたGPSモジュール10のコア部分は、GPS衛星からの電波を受信して、同期処理を実行する(ステップS207)。
【0109】
GPSモジュール10のコア部分が電波の受信処理・同期処理を実行すると、CPU60に対し、擬似距離、時間、電波の受信状況の情報を通知する(ステップS208)。CPU60は、GPSモジュール10のコア部分から通知された情報を用いて測位演算を実行すると共に、補正処理のための補正値を計算する(ステップS209)。測位演算を実行したCPU60は、位置情報、時間、精度情報、受信状況の情報をデジタルスチルカメラ200のCPU270に通知し(ステップS210)、CPU270はCPU60から通知された情報を用いて現在値の位置を表示部230へ表示する(ステップS211)。
【0110】
その後、CPU60は上記ステップS209で計算した補正値を用いた補正処理をGPSモジュール10のコア部分へ指示する(ステップS212)。補正指示を受けたGPSモジュール10のコア部分を構成する同期保持部50は、NCO152の周波数を設定する補正処理を実行する(ステップS213)。
【0111】
同期保持部50が、NCO152の周波数を設定する補正処理を実行すると、続いてCPU60はGPSモジュール10のコア部分へウェイト処理及びスリープ処理を指示する(ステップS214)。CPU60からの指示を受けたGPSモジュール10のコア部分はウェイト処理及びスリープ処理を実行する(ステップS215)。これによりGPSモジュール10のコア部分は同期保持部50における拡散コード生成器とカウンタ90のみが動作している状態となる。
【0112】
CPU60は、上記ステップS205でデジタルスチルカメラ200のCPU270から通知された時間間隔に基づいて時間をカウントする(ステップS216)。そして、所定の時間になるとCPU60はGPSモジュール10のコア部分へウェイクアップ処理を指示する(ステップS217)。CPU60からの指示を受けたGPSモジュール10のコア部分はウェイクアップ処理を実行するとともに、GPS衛星からの電波を受信して、同期処理を実行する(ステップS218)。
【0113】
GPSモジュール10のコア部分が電波の受信処理・同期処理を実行すると、CPU60に対し、擬似距離、時間、電波の受信状況の情報を通知する(ステップS219)。CPU60は、GPSモジュール10のコア部分から通知された情報を用いて測位演算を実行すると共に、補正処理のための補正値を計算する(ステップS220)。測位演算を実行したCPU60は、位置情報、時間、精度情報、受信状況の情報をデジタルスチルカメラ200のCPU270に通知し(ステップS221)、CPU270はCPU60から通知された情報を用いて現在値の位置を表示部230へ表示する(ステップS222)。
【0114】
その後、CPU60は上記ステップS220で計算した補正値を用いた補正処理をGPSモジュール10のコア部分へ指示する(ステップS223)。補正指示を受けたGPSモジュール10のコア部分を構成する同期保持部50は、NCO152の周波数を設定する補正処理を実行する(ステップS224)。
【0115】
同期保持部50が、NCO152の周波数を設定する補正処理を実行すると、続いてCPU60はGPSモジュール10のコア部分へウェイト処理及びスリープ処理を指示する(ステップS225)。CPU60からの指示を受けたGPSモジュール10のコア部分はウェイト処理及びスリープ処理を実行する(ステップS226)。これによりGPSモジュール10のコア部分は同期保持部50における拡散コード生成器とカウンタ90のみが動作している状態となる。
【0116】
その後、CPU60及びGPSモジュール10のコア部分は、上記ステップS214〜ステップS220と同様に、所定の時間の計時、ウェイクアップ処理、信号受信処理及び同期処理、現在値の測位演算・補正処理を実行する(ステップS225〜ステップS231)。測位演算を実行したCPU60は、位置情報、時間、精度情報、受信状況の情報をデジタルスチルカメラ200のCPU270に通知し(ステップS232)、CPU270はCPU60から通知された情報を用いて現在値の位置を表示部230へ表示する(ステップS233)。
【0117】
上述の間欠動作が繰り返し実行されることで、GPSモジュール10は平均電力及びピーク電力の低下を図ることができる。
【0118】
その後、ユーザ操作等によってデジタルスチルカメラ200のCPU270が測位停止要求をGPSモジュール10のCPU60に通知すると(ステップS234)、通知を受けたCPU60は、GPSモジュール10のコア部分に対して測位停止処理を指示する(ステップS235)。そしてGPSモジュール10のコア部分は、CPU60からの測位停止指示に応じて動作を停止する(ステップS236)。CPU60は、デジタルスチルカメラ200のCPU270に対してGPSモジュール10の測位停止処理が完了したことを通知する(ステップS237)と共に、自らもスタンバイ状態に移行する(ステップS238)。
【0119】
このようにGPSモジュール10及びデジタルスチルカメラ200が動作することで、GPSモジュール10は間欠的に測位処理を実行する。そして、GPSモジュール10はスリープ時に同期保持部50における拡散コード生成器とカウンタ90のみが動作している状態となる。これにより、GPSモジュール10は平均電力及びピーク電力の低下させることが可能になる。
【0120】
以上、図15A及び図15Bを用いてGPSモジュール10及びデジタルスチルカメラ200の動作について説明した。なお、ここではデジタルスチルカメラ200にGPSモジュール10が内蔵されている場合を例示して説明したが、本発明はかかる例に限定されない。デジタルスチルカメラ200の外部にGPSモジュール10が設けられる形態、すなわちデジタルスチルカメラ200にGPSモジュール10が接続され、デジタルスチルカメラ200とGPSモジュール10との間で命令及び情報の授受が行われる形態であってもよい。
【0121】
<3.まとめ>
以上、GPSモジュール10を例にして本発明の一実施形態について説明した。このように、スリープ期間に同期保持部50におけるNCO152及びPNG154からなる拡散コード生成器及びカウンタ90を動作させ、それ以外は動作を停めることにより、スリープ期間中に擬似的に衛星信号を同期保持することができる。スリープ期間中に擬似的に衛星信号を同期保持することで、GPSモジュール10がスリープ状態から復帰後に極めて短時間に同期を復帰でき、同期捕捉部40を動作させることなく、かつ、短時間で測位できるようにし、平均およびピーク消費電力を下げる間欠動作方法を実現することが出来る。
【0122】
また、本発明はGPS以外のGNSS受信機においても基本的に適用可能である。すなわち、上述した本発明の一実施形態は一般的なスペクトラム拡散型の無線システムに適用可能である。
【0123】
また、上記実施形態では、カウンタ90が同期保持部50に含まれるものとして扱ってきたが、必ずしも同期保持部50の内部に無くてもよく、同期保持部50の外部に設けられていてもよい。
【0124】
以上、添付図面を参照しながら本発明の好適な実施形態について詳細に説明したが、本発明はかかる例に限定されない。本発明の属する技術の分野における通常の知識を有する者であれば、特許請求の範囲に記載された技術的思想の範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、これらについても、当然に本発明の技術的範囲に属するものと了解される。
【符号の説明】
【0125】
10 GPSモジュール
12 アンテナ
20 周波数変換部
40 同期捕捉部
50 同期保持部
60 CPU
64 RTC
68 タイマ
70 メモリ
72 XO
74 TCXO
76 逓倍/分周器
90 カウンタ
100 チャンネル回路
101 コスタスループ
102 DLL
152 NCO
154 PNG
200 デジタルスチルカメラ
210 I/O
220 メモリ
230 表示部
240 信号処理部
250 撮像部
260 センサ
270 CPU
280 各種ペリフェラル
290 記録媒体
【特許請求の範囲】
【請求項1】
全地球測位システムにおける衛星からの信号を受信する受信部と、
前記受信部が受信した受信信号の周波数を所定の中間周波数に変換する周波数変換部と、
前記周波数変換部が変換した中間周波数の信号における拡散符号の位相を検出する同期捕捉と前記中間周波数の信号におけるキャリア周波数の検出とを行う同期捕捉部と、
前記同期捕捉部によって検出された前記拡散符号の位相及び前記同期捕捉部によって検出された前記キャリア周波数を、複数の前記衛星に対応して独立に設けられた複数のチャンネルのそれぞれに対して前記衛星毎に割り当てて設定し、設定した前記拡散符号の位相及び前記キャリア周波数を用いて前記拡散符号とキャリアとの同期保持を行うとともに、前記中間周波数信号に含まれるメッセージの復調を行う同期保持部と、
前記同期保持部が復調したメッセージを用いた測位演算を含む動作制御を実行する制御部と、
を備え、
前記同期保持部は、前記拡散符号に同期する拡散コードを生成する拡散コード生成部を含み、前記同期保持部は所定の周波数で発振する温度補償された発振器を発振源とするクロックで動作するカウンタを参照し、
測位動作を行わないスリープ期間においては、前記同期保持部は前記拡散コード生成部のみを動作させるとともに前記同期保持部が参照する前記カウンタが動作する、受信装置。
【請求項2】
前記拡散コード生成部は、数値型制御発振器と、前記数値型制御発振器の出力信号を受けて拡散符号を発生する拡散符号発生器と、を含む、請求項1に記載の受信装置。
【請求項3】
前記数値型制御発振器は、前記スリープ期間に入る直前の前記数値型制御発振器の値を当該スリープ期間における前記数値型制御発振器の値に保持する、請求項2に記載の受信装置。
【請求項4】
前記制御部は、前記スリープ期間に入る直前の所定の期間における前記数値型制御発振器の値の平均値を算出し、前記数値型制御発振器は、前記平均値を当該スリープ期間における前記数値型制御発振器の値として保持する、請求項2に記載の受信装置。
【請求項5】
前記制御部は、前記スリープ期間における前記衛星のドップラシフトの変化量を考慮して前記スリープ期間が終了した時点の前記数値型制御発振器の値を補正する、請求項2に記載の受信装置。
【請求項6】
前記制御部は、前記スリープ期間から復帰する時間を用いて、前記補正を前記スリープ期間に入る前に実行する、請求項5に記載の受信装置。
【請求項7】
前記スリープ期間において、前記受信部、前記周波数変換部、前記同期捕捉部及び前記制御部は動作を停止する、請求項1に記載の受信装置。
【請求項8】
全地球測位システムにおける衛星からの信号を受信する受信ステップと、
前記受信部が受信した受信信号の周波数を所定の中間周波数に変換する周波数変換ステップと、
前記周波数変換ステップで変換した中間周波数の信号における拡散符号の位相を検出する同期捕捉と前記中間周波数の信号におけるキャリア周波数の検出とを行う同期捕捉ステップと、
前記拡散符号に同期する拡散コードを生成し、所定の周波数で発振する温度補償された発振器を発振源とするクロックで動作するカウンタを参照する同期保持部を用いて、前記同期捕捉ステップによって検出された前記拡散符号の位相及び前記同期捕捉ステップによって検出された前記キャリア周波数を、複数の前記衛星に対応して独立に設けられた複数のチャンネルのそれぞれに対して前記衛星毎に割り当てて設定し、設定した前記拡散符号の位相及び前記キャリア周波数を用いて前記拡散符号とキャリアとの同期保持を行うとともに、前記中間周波数信号に含まれるメッセージの復調を行う同期保持ステップと、
前記同期保持ステップが復調したメッセージを用いた測位演算を含む動作制御を実行する制御ステップと、
測位動作を行わないスリープ期間においては、前記同期保持部は前記拡散コード生成部のみを動作させるとともに前記同期保持部が参照する前記カウンタが動作する間欠動作ステップと、
を含む、受信方法。
【請求項9】
コンピュータに、
全地球測位システムにおける衛星からの信号を受信する受信ステップと、
前記受信部が受信した受信信号の周波数を所定の中間周波数に変換する周波数変換ステップと、
前記周波数変換ステップで変換した中間周波数の信号における拡散符号の位相を検出する同期捕捉と前記中間周波数の信号におけるキャリア周波数の検出とを行う同期捕捉ステップと、
前記拡散符号に同期する拡散コードを生成し、所定の周波数で発振する温度補償された発振器を発振源とするクロックで動作するカウンタを参照する同期保持部を用いて、前記同期捕捉ステップによって検出された前記拡散符号の位相及び前記同期捕捉ステップによって検出された前記キャリア周波数を、複数の前記衛星に対応して独立に設けられた複数のチャンネルのそれぞれに対して前記衛星毎に割り当てて設定し、設定した前記拡散符号の位相及び前記キャリア周波数を用いて前記拡散符号とキャリアとの同期保持を行うとともに、前記中間周波数信号に含まれるメッセージの復調を行う同期保持ステップと、
前記同期保持ステップが復調したメッセージを用いた測位演算を含む動作制御を実行する制御ステップと、
測位動作を行わないスリープ期間においては、前記同期保持部は前記拡散コード生成部のみを動作させるとともに前記同期保持部が参照する前記カウンタが動作する間欠動作ステップと、
を実行させる、コンピュータプログラム。
【請求項10】
請求項1に記載の受信装置との間で命令及び情報の授受を実行する、携帯端末。
【請求項1】
全地球測位システムにおける衛星からの信号を受信する受信部と、
前記受信部が受信した受信信号の周波数を所定の中間周波数に変換する周波数変換部と、
前記周波数変換部が変換した中間周波数の信号における拡散符号の位相を検出する同期捕捉と前記中間周波数の信号におけるキャリア周波数の検出とを行う同期捕捉部と、
前記同期捕捉部によって検出された前記拡散符号の位相及び前記同期捕捉部によって検出された前記キャリア周波数を、複数の前記衛星に対応して独立に設けられた複数のチャンネルのそれぞれに対して前記衛星毎に割り当てて設定し、設定した前記拡散符号の位相及び前記キャリア周波数を用いて前記拡散符号とキャリアとの同期保持を行うとともに、前記中間周波数信号に含まれるメッセージの復調を行う同期保持部と、
前記同期保持部が復調したメッセージを用いた測位演算を含む動作制御を実行する制御部と、
を備え、
前記同期保持部は、前記拡散符号に同期する拡散コードを生成する拡散コード生成部を含み、前記同期保持部は所定の周波数で発振する温度補償された発振器を発振源とするクロックで動作するカウンタを参照し、
測位動作を行わないスリープ期間においては、前記同期保持部は前記拡散コード生成部のみを動作させるとともに前記同期保持部が参照する前記カウンタが動作する、受信装置。
【請求項2】
前記拡散コード生成部は、数値型制御発振器と、前記数値型制御発振器の出力信号を受けて拡散符号を発生する拡散符号発生器と、を含む、請求項1に記載の受信装置。
【請求項3】
前記数値型制御発振器は、前記スリープ期間に入る直前の前記数値型制御発振器の値を当該スリープ期間における前記数値型制御発振器の値に保持する、請求項2に記載の受信装置。
【請求項4】
前記制御部は、前記スリープ期間に入る直前の所定の期間における前記数値型制御発振器の値の平均値を算出し、前記数値型制御発振器は、前記平均値を当該スリープ期間における前記数値型制御発振器の値として保持する、請求項2に記載の受信装置。
【請求項5】
前記制御部は、前記スリープ期間における前記衛星のドップラシフトの変化量を考慮して前記スリープ期間が終了した時点の前記数値型制御発振器の値を補正する、請求項2に記載の受信装置。
【請求項6】
前記制御部は、前記スリープ期間から復帰する時間を用いて、前記補正を前記スリープ期間に入る前に実行する、請求項5に記載の受信装置。
【請求項7】
前記スリープ期間において、前記受信部、前記周波数変換部、前記同期捕捉部及び前記制御部は動作を停止する、請求項1に記載の受信装置。
【請求項8】
全地球測位システムにおける衛星からの信号を受信する受信ステップと、
前記受信部が受信した受信信号の周波数を所定の中間周波数に変換する周波数変換ステップと、
前記周波数変換ステップで変換した中間周波数の信号における拡散符号の位相を検出する同期捕捉と前記中間周波数の信号におけるキャリア周波数の検出とを行う同期捕捉ステップと、
前記拡散符号に同期する拡散コードを生成し、所定の周波数で発振する温度補償された発振器を発振源とするクロックで動作するカウンタを参照する同期保持部を用いて、前記同期捕捉ステップによって検出された前記拡散符号の位相及び前記同期捕捉ステップによって検出された前記キャリア周波数を、複数の前記衛星に対応して独立に設けられた複数のチャンネルのそれぞれに対して前記衛星毎に割り当てて設定し、設定した前記拡散符号の位相及び前記キャリア周波数を用いて前記拡散符号とキャリアとの同期保持を行うとともに、前記中間周波数信号に含まれるメッセージの復調を行う同期保持ステップと、
前記同期保持ステップが復調したメッセージを用いた測位演算を含む動作制御を実行する制御ステップと、
測位動作を行わないスリープ期間においては、前記同期保持部は前記拡散コード生成部のみを動作させるとともに前記同期保持部が参照する前記カウンタが動作する間欠動作ステップと、
を含む、受信方法。
【請求項9】
コンピュータに、
全地球測位システムにおける衛星からの信号を受信する受信ステップと、
前記受信部が受信した受信信号の周波数を所定の中間周波数に変換する周波数変換ステップと、
前記周波数変換ステップで変換した中間周波数の信号における拡散符号の位相を検出する同期捕捉と前記中間周波数の信号におけるキャリア周波数の検出とを行う同期捕捉ステップと、
前記拡散符号に同期する拡散コードを生成し、所定の周波数で発振する温度補償された発振器を発振源とするクロックで動作するカウンタを参照する同期保持部を用いて、前記同期捕捉ステップによって検出された前記拡散符号の位相及び前記同期捕捉ステップによって検出された前記キャリア周波数を、複数の前記衛星に対応して独立に設けられた複数のチャンネルのそれぞれに対して前記衛星毎に割り当てて設定し、設定した前記拡散符号の位相及び前記キャリア周波数を用いて前記拡散符号とキャリアとの同期保持を行うとともに、前記中間周波数信号に含まれるメッセージの復調を行う同期保持ステップと、
前記同期保持ステップが復調したメッセージを用いた測位演算を含む動作制御を実行する制御ステップと、
測位動作を行わないスリープ期間においては、前記同期保持部は前記拡散コード生成部のみを動作させるとともに前記同期保持部が参照する前記カウンタが動作する間欠動作ステップと、
を実行させる、コンピュータプログラム。
【請求項10】
請求項1に記載の受信装置との間で命令及び情報の授受を実行する、携帯端末。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15A】
【図15B】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15A】
【図15B】
【公開番号】特開2012−21873(P2012−21873A)
【公開日】平成24年2月2日(2012.2.2)
【国際特許分類】
【出願番号】特願2010−159596(P2010−159596)
【出願日】平成22年7月14日(2010.7.14)
【出願人】(000002185)ソニー株式会社 (34,172)
【Fターム(参考)】
【公開日】平成24年2月2日(2012.2.2)
【国際特許分類】
【出願日】平成22年7月14日(2010.7.14)
【出願人】(000002185)ソニー株式会社 (34,172)
【Fターム(参考)】
[ Back to top ]