JP2005214916A - Gps受信方法およびgps受信機 - Google Patents

Gps受信方法およびgps受信機 Download PDF

Info

Publication number
JP2005214916A
JP2005214916A JP2004025178A JP2004025178A JP2005214916A JP 2005214916 A JP2005214916 A JP 2005214916A JP 2004025178 A JP2004025178 A JP 2004025178A JP 2004025178 A JP2004025178 A JP 2004025178A JP 2005214916 A JP2005214916 A JP 2005214916A
Authority
JP
Japan
Prior art keywords
gps
synchronization
code
intermediate frequency
frequency carrier
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2004025178A
Other languages
English (en)
Inventor
Hideki Awata
英樹 粟田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sony Corp
Original Assignee
Sony Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sony Corp filed Critical Sony Corp
Priority to JP2004025178A priority Critical patent/JP2005214916A/ja
Priority to US11/047,851 priority patent/US7053827B2/en
Priority to EP05250501A priority patent/EP1560036B1/en
Priority to DE602005001630T priority patent/DE602005001630T2/de
Publication of JP2005214916A publication Critical patent/JP2005214916A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S19/00Satellite radio beacon positioning systems; Determining position, velocity or attitude using signals transmitted by such systems
    • G01S19/01Satellite radio beacon positioning systems transmitting time-stamped messages, e.g. GPS [Global Positioning System], GLONASS [Global Orbiting Navigation Satellite System] or GALILEO
    • G01S19/13Receivers
    • G01S19/24Acquisition or tracking or demodulation of signals transmitted by the system
    • G01S19/29Acquisition or tracking or demodulation of signals transmitted by the system carrier including Doppler, related
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S19/00Satellite radio beacon positioning systems; Determining position, velocity or attitude using signals transmitted by such systems
    • G01S19/01Satellite radio beacon positioning systems transmitting time-stamped messages, e.g. GPS [Global Positioning System], GLONASS [Global Orbiting Navigation Satellite System] or GALILEO
    • G01S19/13Receivers
    • G01S19/35Constructional details or hardware or software details of the signal processing chain
    • G01S19/37Hardware or software details of the signal processing chain

Landscapes

  • Engineering & Computer Science (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Signal Processing (AREA)
  • Position Fixing By Use Of Radio Waves (AREA)

Abstract

【課題】電源投入時など、精度の良い中間周波キャリア誤差が得られるようになるまでの間において、短時間で安定に4個のGPS衛星の受信信号の同期捕捉が可能になる。
【解決手段】少なくとも1個のGPS衛星信号について同期保持がなされていて、その中間周波キャリア周波数が既知であり、そのGPS衛星についての軌道情報が記憶部に記憶されていると共に、受信機の位置および現在時刻が既知であることを前提条件とする。この前提条件において、中間周波キャリア周波数と、軌道情報および現在時刻から得られるGPS衛星の位置および速度と、受信機の位置とから、中間周波キャリア誤差を算出する。算出した中間周波キャリア誤差により、中間周波キャリア周波数を補正し、当該補正した中間周波キャリア周波数を用いて他のGPS衛星からの受信信号の捕捉を行なう。
【選択図】図11

Description

この発明は、GPS(Global Positioning System)受信方法およびGPS受信機に関する。
人工衛星(以下、GPS衛星という)を利用して移動体の位置を測定するGPSシステムにおいて、GSP受信機は、4個以上のGPS衛星からの信号を受信し、その受信信号から受信機の位置を計算し、ユーザに知らせることが基本機能である。
GPS受信機は、GPS衛星からの受信信号(以下、この信号をGPS衛星信号という)を復調してGPS衛星の軌道データを獲得し、GPS衛星の軌道および時間情報とGPS衛星信号の遅延時間から、自受信機の3次元位置を連立方程式により導き出す。測位演算のために4個のGPS衛星からの信号が必要となるのは、GPS受信機内部の時間と衛星の時間とで誤差があり、その誤差の影響を除去するためである。
民生用GPS受信機の場合には、GPS衛星(Navstar)からのL1帯、C/A(Clear and Aquisition)コードと呼ばれる拡散符号によりスペクトラム拡散された信号電波を受信して、測位演算を行なう。
C/Aコードは、送信信号速度(チップレート)が1.023MHz、符号長が1023のPN(pseudo random noise;擬似ランダム雑音)系列の符号、例えばGold符号からなる拡散符号である。そして、GPS衛星からの信号は、50bpsのデータを拡散符号を用いてスペクトラム拡散した信号により、周波数が1575.42MHzのキャリアをBPSK(Binary Phase Shift Keying)変調した信号である。この場合、符号長が1023であるので、C/Aコードは、PN系列の符号が、図34(A)に示すように、1023チップを1周期(したがって、1周期=1ミリ秒)として、繰り返すものとなっている。
このC/AコードのPN系列の符号は、GPS衛星ごとに異なっているが、どのGPS衛星が、どのPN系列の符号を用いているかは、予めGPS受信機で検知できるようにされている。また、後述するような航法メッセージ(軌道情報)によって、GPS受信機では、どのGPS衛星からの信号を、その地点およびその時点で受信できるかが判るようになっている。したがって、GPS受信機では、例えば3次元測位であれば、その地点およびその時点で取得できる4個以上のGPS衛星からの電波を受信して、スペクトラム逆拡散し、測位演算を行って、自分の位置を求めるようにする。
そして、図34(B)に示すように、衛星信号データ(航法メッセージデータ)の1ビットは、PN系列の符号の20周期分、つまり、20ミリ秒単位として伝送される。つまり、データ伝送速度は、50bpsである。PN系列の符号の1周期分の1023チップは、ビットが“1”のときと、“0”のときとでは、反転したものとなる。
図34(C)に示すように、GPSでは、30ビット(600ミリ秒)で1ワードが形成される。そして、図34(D)に示すように、10ワードで、1サブフレーム(6秒)が形成される。図34(E)に示すように、1サブフレームの先頭のワードには、データが更新されたときであっても常に規定のビットパターンとされるプリアンブルが挿入され、このプリアンブルの後にデータが伝送されてくる。
さらに、5サブフレームで、1メインフレーム(30秒)が形成される。そして、航法メッセージは、この1メインフレームのデータ単位で伝送されてくる。この1メインフレームのデータのうちの始めの3個のサブフレームは、エフェメリス情報と呼ばれる衛星毎に固有の軌道情報である。このエフェメリス情報は、1メインフレーム単位(30秒)で繰り返し送られるものであり、その情報を送信してくる衛星の軌道を求めるためのパラメータと、衛星からの信号の送出時刻とを含む。
すなわち、エフェメリス情報の3個のサブフレームの2番目のワードには、TOW(Time Of Week)が含まれ、メインフレームの最初のサブフレーム1の3番目のワードには、Week Numberと呼ばれる時刻データが含まれる。Week Numberは、1980年1月6日(日曜日)を第0週として1週ごとにカウントアップする情報である。また、TOWは、日曜日の午前0時を0として6秒(サブフレームの周期)ごとにカウントアップする時間の情報である。
GPS衛星のすべては、原子時計を備え、共通の時刻データを用いており、各GPS衛星からの信号の送出時刻は、原子時計に同期したものとされている。上記の2つの時刻データを受信することにより絶対時刻を求める。6秒以下の値は、衛星の電波に同期ロックする過程で、そのGPS受信機が備える基準発振器の精度で、衛星の時刻に同期するようにする。
また、各GPS衛星のPN系列の符号も、原子時計に同期したものとして生成される。また、このエフェメリス情報から、GPS受信機における測位計算の際に用いられる衛星の位置および衛星の速度が求められる。
エフェメリス情報は、地上の管制局からの制御により比較的頻繁に更新される精度の高い暦である。GPS受信機では、このエフェメリス情報をメモリに保持しておくことにより、当該エフェメリス情報を測位計算に使用することができる。しかし、その精度上、使用可能な寿命は、通常、2時間程度とされており、GPS受信機では、エフェメリス情報をメモリに記憶した時点からの時間経過を監視して、その寿命を超えたときには、メモリのエフェメリス情報を更新して書き換えるようにしている。
なお、新しいエフェメリス情報をGPS衛星から取得して、その取得したエフェメリス情報にメモリの内容を更新するには、最低18秒(3サブフレーム分)が必要であり、サブフレームの途中からデータが取れたときには、連続30秒が必要となる。
1メインフレームのデータの残りの2サブフレームの軌道情報は、アルマナック情報と呼ばれる全ての衛星から共通に送信される情報である。このアルマナック情報は、全情報を取得するために25フレーム分必要となるもので、各GPS衛星のおおよその位置情報や、どのGPS衛星が使用可能かを示す情報などからなる。
このアルマナック情報も、地上の制御局からの制御により少なくとも数日ごとに更新される。このアルマナック情報も、GPS受信機のメモリに保持して使用することができるが、その寿命は、数か月とされており、時間と共に衛星の位置決定精度は悪くなるが、衛星の大よその位置を知るには十分使用できる。通常、アルマナック情報のGPS受信機を使用している際に更新するのが普通である。GPS受信機のメモリに、このアルマナック情報を蓄えておけば、電源投入後、どのチャンネルにどの衛星を割り当てればよいかを計算することができる。
GPS受信機で、GPS衛星信号を受信して、上述のデータを得るためには、GPS受信機に用意される、受信しようとするGPS衛星で用いられているC/Aコードと同じPN系列の符号(以下、この明細書では、PN系列の拡散符号をPN符号と記す。そして、GPS衛星のPN系列の拡散符号を衛星PN符号と呼び、GPS受信機の対応するPN系列の拡散符号をレプリカPN符号と呼ぶこととする)を用いて、そのGPS衛星信号について、C/Aコードの位相同期を取ることによりGPS衛星信号を捕捉し、スペクトラム逆拡散を行なう。C/Aコードとの位相同期が取れて、逆拡散が行われると、ビットが検出されて、GPS衛星信号から時刻情報等を含む航法メッセージを取得することが可能になる。
GPS衛星信号の捕捉は、C/Aコードの位相同期検索により行われるが、この位相同期検索においては、GPS受信機のレプリカPN符号とGPS衛星の衛星PN符号との相関を検出し、例えば、その相関検出結果の相関値が予め定めた値よりも大きい時に、両者が同期していると判定する。そして、同期が取れていないと判別されたときには、何らかの同期手法を用いて、GPS受信機のレプリカPN符号の位相を制御して、衛星PN符号と同期させるようにしている。
ところで、上述したように、GPS衛星信号は、データを衛星PN符号で拡散した信号によりキャリアをBPSK変調した信号であるので、当該GPS衛星信号をGPS受信機が受信するには、PN符号のみでなく、キャリアおよびデータの同期をとる必要があるが、PN符号とキャリアの同期は独立に行なうことはできない。
そして、GPS受信機では、受信信号は、そのキャリア周波数を数MHz以内の中間周波数に変換して、その中間周波数信号で、上述の同期検出処理するのが普通であるが、この中間周波数信号におけるキャリア周波数(中間周波キャリア周波数)には、主にGPS衛星の移動速度に応じたドップラーシフトによる周波数誤差と、受信信号を中間周波数信号に変換したときに、GPS受信機内部で発生させる局部発振器の周波数誤差分が含まれる。この中間周波数信号に含まれる局部発振器の周波数誤差分を、以下、中間周波キャリア誤差という。
ここで、受信信号の中間周波キャリア周波数をfIF、定められている中間周波キャリア周波数をFIF、GPS衛星のドップラーシフトをfD、中間周波キャリア誤差をΔfIFとすると、前記中間周波キャリア周波数fは、
IF=FIF+fD+ΔfIF ・・・(式a)
で表わされる。
上記の周波数誤差要因により、中間周波数信号におけるキャリア周波数は未知であり、その周波数サーチを行なって、IFキャリアの同期を取る必要となる。また、PN符号の1周期内での同期点(同期位相)は、GPS受信機とGPS衛星との位置関係に依存するのでこれも未知であるから、上述のように、何らかの同期手法が必要となる。
拡散符号およびIFキャリアの同期に時間を要すると、GPS受信機の反応が遅くなり、使用上において不便を生じる。
従来のGPS受信機では、周波数サーチを伴うスライディング相関によりキャリアおよび拡散符号についての同期検出を行なうと同時に、DLL(Delay Locked Loop)とコスタスループとにより、同期捕捉および同期保持動作をするようにしている。しかし、スライディング相関による同期捕捉、DLLおよびコスタスループによる同期保持は、原理的に高速な同期捕捉には不向きで、実際のGPS受信機では、多チャンネル化して並列処理により同期捕捉までの処理を短縮している。
また、特許文献1(特開2003−258969号公報)には、同期捕捉部と同期保持部とを分け、同期捕捉部はマッチドフィルタを用いて構成し、同期保持部はDLLおよびコスタスループを用いて構成することにより、同期捕捉および同期保持を高速に行なえるようにしたものも提案されている。
上記の特許文献は、次の通りである。
特開2003−258969号公報
ところで、GPS受信機で測位計算を行なうためには、衛星の位置と、衛星と受信機間の距離とが、少なくとも必要になる。衛星の位置は、前述した軌道情報のエフェメリス情報から求めることができる。
GPS衛星と受信機との距離は、GPS受信機が、ある時間に衛星から送出された信号が、当該GPS受信機に到達するまでの時間(信号到達時間=拡散符号の発信時刻と拡散符号の到達時刻との差)を測定し、それに光の速度(3×10 m/s)をかけて算出することができる。ただし、GPS受信機で算出された前記距離には、GPS受信機とGPS衛星との間の時計誤差などの要因による誤差を含むため、一般に疑似距離と呼ばれている。
GPS受信機では、時計誤差の疑似距離への影響量も未知数となるので、算出する必要の在る未知数は、前記3次元座標にこの時計誤差の疑似距離への影響量を加えた4個となる。そこで、GPS受信機では、4個の衛星からの電波を捕捉することにより、3次元測位を行なう。GPS衛星は、例えば32個が利用可能とされているので、GPS受信機は、その中から利用可能であって、誤差の少ない組み合わせの4個の衛星を選択して、3次元測位を行なうようにしている。この3次元測位の場合の測位計算式は、次のようになる。
r1={(x1−X)+(y1−Y)+(z1−Z)1/2−s
r2={(x2−X)+(y2−Y)+(z2−Z)1/2−s
r3={(x3−X)+(y3−Y)+(z3−Z)1/2−s
r4={(x4−X)+(y4−Y)+(z4−Z)1/2−s
ただし、
ri(i=1,2,3,4):GPS衛星iの疑似距離
X,Y,Z :GPS受信機の位置
xi,yi,zi :GPS衛星iの位置
s :GPS受信機の時計誤差による距離への影響量
である。
前記各方程式は、異なる未知数同士の乗算項の無い2次式で、一般には解に近い適当な初期値を与え、ニュートン法のような反復法により連立方程式を解く。ニュートン法は、与えられた方程式を解に近い点で局所的に線形近似し、最初は初期値を用いて線形連立方程式を解き、解いた結果を次の初期値として再び解を得、解が一定誤差以内に収束するまで同じ計算を反復することで最終的な解を得る方法である。
また、GPS受信機は、安定的に4個以上のGPS衛星からの受信信号が得られる環境においては、GPS受信機自身の速度を、次のようにして求めることができる。すなわち、先ず、4個以上のGPS衛星についての軌道情報と拡散符号の発信時刻とから、GPS衛星の位置およびGPS衛星の速度を計算する。次に、前述のようにして求められたGPS受信機の位置および同期保持されて得られるGPS衛星からの受信信号のキャリア周波数を用いて、GPS受信機の3次元速度と中間周波キャリア誤差を未知数とした線形連立方程式を立てる。この線形連立方程式を解くことにより、GPS受信機の速度を求めることができる。このとき求められた中間周波キャリア誤差は、当該受信環境における精度の良い誤差であり、新たなGPS衛星の信号を捕捉する際の、中間周波キャリア周波数を決定するために用いることができる。
GPS受信機の電源が投入されてから、当該GPS受信機の位置が求まるまでの時間を少しでも短縮するために、多くのGPS受信機では、当該GPS受信機の電源がオフの状態でも、受信機内部のメモリ領域に、電源オフ直前に信号を受信していたGPS衛星の軌道情報および最後に測位した時点での当該GPS受信機の3次元座標および中間周波キャリア誤差を保持しておくようにしている。
GPS信号の同期捕捉に際して、GPS衛星信号の中間周波キャリア周波数が既知であれば、より短時間で同期捕捉ができると期待できる。中間周波キャリア周波数fは、前述の(式a)から求められる。
この(式a)において、中間周波数FIFは、規定値である。また、GPS衛星のドップラーシフトfDは、GPS受信機の位置および受信機の速度、GPS衛星の位置およびGPS衛星の速度から算出することができる。GPS受信機の速度が未知であるときには、当該受信機速度を0と仮定して、GPS受信機の内部時計(RTC;Real Time Clock)の情報と、GPS受信機の内部のメモリ領域に保持されている当該GPS受信機の3次元座標およびGPS衛星の軌道情報から、GPS衛星のドップラーシフトfDの概算値を求めることができる。
したがって、中間周波キャリア誤差Δfが既知であれば、(式a)から中間周波キャリア周波数が求められることになる。そこで、GPS受信機に電源が投入されて、4個のGPS衛星が未だ捕捉されていないときに、GPS受信機のメモリに記憶されている前回の電源オフ直前に得られていた中間周波キャリア誤差Δfを用いることにより、同期捕捉を短時間で行なえると期待できる。
しかしながら、中間周波キャリア誤差Δfに直接的に関与する局部発振周波数の基準となる発振器は、個体差がある上に、周囲温度や振動など様々な条件により数秒〜数10秒の間にも、数10Hz〜数百Hz程度の変化をする場合がある。
このため、GPS受信機内部のメモリ領域に保持されていた中間周波キャリア誤差の値は、たとえ電源オフの期間が数秒〜数10秒であったとしても、電源投入後、前述のようにしてGPS受信機の速度が計算されることに伴い中間周波キャリア誤差の値が当該使用条件における値に更新されるまでは、数10Hzから数百Hz程度ずれている可能性がある。
したがって、電源オフ時に記憶してある前記中間周波キャリア誤差を、そのまま用いて、4個以上のGPS衛星からの受信信号の同期捕捉を行なおうとすると、前述のような周囲温度や振動などの条件に応じた数10Hz〜数百Hz程度の変化を考慮した周波数範囲で、4個以上のGPS衛星信号の同期捕捉処理を行なう必要があり、同期捕捉に時間がかかるという問題がある。
この発明は、以上の点にかんがみ、電源投入時など、4個以上のGPS衛星からの受信信号を同期保持して、GPS受信機の速度が計算でき、精度の良い中間周波キャリア誤差が得られるようになるまでの間において、できるだけ、短時間で安定に4個のGPS衛星の受信信号の同期捕捉が可能になるようにするGPS受信方法およびGPS受信機を提供することを目的とする。
上記課題を解決するために、請求項1の発明によるGPS受信方法は、
少なくとも1個のGPS衛星からの受信信号について同期保持がなされていて、前記受信信号の中間周波キャリア周波数が既知であり、前記同期保持されているGPS衛星についての軌道情報が記憶部に記憶されていると共に、前記受信信号の受信機の位置および現在時刻が既知である場合に、
前記受信信号の中間周波キャリア周波数と、前記軌道情報および前記現在時刻から得られる前記同期保持されているGPS衛星の位置および速度と、前記受信機の位置とから、前記受信機の基準発振器の発信周波数誤差に基づく前記中間周波キャリア周波数の誤差としての中間周波キャリア誤差を算出し、当該算出した前記中間周波キャリア誤差により、前記中間周波キャリア周波数を補正し、当該補正した中間周波キャリア周波数を用いて他のGPS衛星からの受信信号の捕捉を行なう
ことを特徴とする。
上述の構成の請求項1の発明においては、例えば電源が投入されて、同期捕捉および同期保持されているGPS衛星が0であり、最初のGPS衛星からの信号の同期捕捉をとるときには、例えばGPS衛星に記憶されている中間周波キャリア誤差を用いて、同期捕捉をしようとするGPS衛星からの受信信号についての中間周波キャリア周波数の初期値を設定すると共に、当該記憶している中間周波キャリア誤差が上述のような大きな誤差範囲を生じることから、当該大きな周波数範囲として同期捕捉を行なう。
この初回の同期捕捉により、1個のGPS衛星からの受信信号の同期保持がとれて、当該GPS衛星からの受信信号の中間周波キャリア周波数が既知となったときであって、前記同期保持されているGPS衛星についての軌道情報が記憶部に記憶されていると共に、前記受信信号の受信機の位置および現在時刻が既知である場合には、当該GPS衛星のドップラーシフトを求める。すなわち、前記軌道情報からGPS衛星の位置および速度を、先ず、求める。そして、受信機の速度は0と仮定して、前記既知の受信機の位置と、前記求められたGPS衛星の位置および速度とから、当該GPS衛星のドップラーシフトfDを求める。
すると、中間周波キャリア周波数は、既知であるので、(1式)を変形することにより、求められたドップラーシフトfDを用いることにより、中間周波キャリア誤差Δfが、求められる。この求められた中間周波キャリア誤差は、現在の条件から求められたものであり、先に電源オフ時に記憶されていた中間周波キャリア誤差よりも精度の良いものとなっている。
そこで、2番目のGPS衛星の同期捕捉の際には、当該求めた中間周波キャリア誤差を用いて補正した中間周波キャリア周波数が用いられて同期捕捉が行なわれる。
したがって、記憶されている中間周波キャリア誤差よりも精度の良い中間周波キャリア誤差が用いられて補正された中間周波キャリア周波数に基づいて、同期捕捉が行なわれるので、同期捕捉がより時間短縮されることになる。
GPS受信機の電源投入直後のように、同期保持されているGPS衛星数が、GPS受信機位置および受信機速度を求めるのに必要な個数(通常は4個)に満たない場合であっても、受信機の概略位置および同期保持されているGPS衛星の軌道情報が得られていれば、本来であればGPS受信機速度と共に求まる中間周波キャリア誤差を概算することが可能になる。つまり、GPS受信機位置や受信機速度が計算できない状況では更新できない中間周波キャリア誤差を概算することが可能になる。
このように中間周波キャリア誤差が概算できれば、軌道情報はあるが、未だ同期捕捉が行なわれていないGPS衛星についての中間周波キャリア周波数が、前記中間周波キャリア誤差を含め概算できるため、同期捕捉に必要な時間を短縮することができる。
そして、同期捕捉に必要な時間を短縮することができれば、GPS受信機の電源投入から最初の測位までの時間(TTFF;Time To First Fix)を短縮することができる。
この発明によれば、GPS受信機の電源投入直後のように、同期保持されているGPS衛星数が、GPS受信機位置および受信機速度を求めるのに必要な個数(通常は4個)に満たない場合であっても、受信信号の中間周波キャリア周波数と、受信機の概略位置と、同期保持されているGPS衛星の軌道情報および現在時刻を用いて、中間周波キャリア誤差を概算し、当該概算した中間周波キャリア誤差を用いることにより、同期捕捉に必要な時間を短縮することができる。
そして、同期捕捉に必要な時間を短縮することができるので、GPS受信機の電源投入から最初の測位までの時間であるTTFFを短縮することができる。
以下、この発明によるGPS受信方法および装置の実施形態を、図を参照しながら説明する。まず、この発明の実施形態に用いるGPS受信機について説明する。
[GPS受信機の構成]
以下に説明する実施形態のGPS受信機は、従来の周波数サーチを伴うスライディング相関と、DLL(Delay Locked Loop)およびコスタスループとにより、キャリアおよびPN符号についての同期捕捉を行なうと同時に同期保持動作をする方法の欠点を改善した構成を備える。
すなわち、周波数サーチを伴うスライディング相関と、DLL(Delay Locked Loop)およびコスタスループとにより、IFキャリアおよび衛星PN符号についての同期捕捉を行なうと同時に同期保持動作をするという、従来の手法では、周波数サーチを伴うスライディング相関の方法が、上述したように、原理的に高速同期には不向きであって、拡散符号(PN符号)およびキャリアの同期に時間を要するという欠点があった。そして、このようにPN符号およびキャリアの同期に時間を要すると、GPS受信機の反応が遅くなり、使用上において不便を生ずる。
従来、実際のGPS受信機においては、上記の欠点を改善するため、多チャンネル化してパラレルに同期点を探索する必要があり、従来方式のままで大幅なチャンネル増を行なうとGPS受信機の構成が複雑となると共に、コスト高となり、また、多チャンネルでパラレルに同期点を検索するものであるため、消費電力も大きくなっていた。消費電力の問題は、携帯型のGPS受信機の場合には大きな問題である。
また、上述の従来の場合には、PN符号およびキャリアの同期捕捉と同期保持とは、周波数サーチを伴うスライディング相関と、DLL(Delay Locked Loop)およびコスタスループとにより、一体的に行っているので、例えばGPS衛星からの信号が途切れたときには、同期捕捉および同期保持を、再度、一体的に行なう必要があり、再同期捕捉および同期保持までの時間が長くなってしまうという問題もあった。
さらに、上述の従来の場合には、PN符号およびキャリアの同期捕捉と同期保持とは、周波数サーチを伴うスライディング相関と、DLL(Delay Locked Loop)およびコスタスループとにより、一体的に行っているので、GPS受信機の感度を上げようとすると、原理的に同期捕捉および同期保持のための処理時間がかなり長くなってしまうことから、GPS受信機の感度を上げることが容易ではないという問題もあった。
この実施形態で用いるGPS受信機は、以上の問題点を解消できるように構成したものである。
[実施形態のGPS受信機の全体構成]
図1は、この実施形態のGPS受信機の構成例を示すブロック図であり、周波数変換部10と、同期捕捉部20と、同期保持部30と、制御部40と、GPSアンテナ1と、温度補償付き水晶発振回路からなる基準発振回路2と、タイミング信号生成回路3と、水晶発振回路4とを備えて構成される。
制御部40は、CPU(Central Processing Unit)41に対して、プログラムROM(Read Only Memory)42と、ワークエリア用のRAM(Random Access Memory)43と、実時間(RTC(Real Time Clock))を計測するための時計回路44と、タイマ45と、不揮発性メモリ46とが接続されて構成されている。
タイマ45は、各部の動作に必要な各種タイミング信号の生成および時間参照に使用される。不揮発性メモリ46には、GPS衛星信号から抽出したアルマナック情報およびエフェメリス情報からなる軌道情報が記憶されると共に、電源オフ操作前の電源オン時に得られていたGPS受信機の位置情報およびIFキャリア誤差ΔfIFが記憶される。不揮発性メモリ46に対して、エフェメリス情報は、後述するように、例えば2時間毎に更新され、また、アルマナック情報は、GPS受信機を更新している際、例えば数日毎に更新される。なお、不揮発性メモリ46は、電池バックアップされたRAMでもよい。
基準発振回路2からの基準クロック信号は、逓倍/分周回路3に供給されると共に、後述するように、周波数変換部10の周波数変換用の局部発振回路15に供給される。逓倍/分周回路3は、基準クロック信号を逓倍して、また、分周して、同期捕捉部20、同期保持部30および制御部40などに供給するクロック信号を生成する。逓倍/分周回路3は、制御部40のCPU41により逓倍比や分周比が制御される。
なお、水晶発振回路4からのクロック信号は、制御部40の時計回路44用のものとされている。制御部40の時計回路44以外の部位のクロック信号は、逓倍/分周回路3からのクロック信号とされる。
[周波数変換部10の構成]
GPS衛星信号は、前述もしたように、各GPS衛星から送信される信号であり、50bpsの送信データを、送信信号速度が1.023MHzで、符号長が1023であって、GPS衛星ごとに決められているパターンの衛星PN符号(C/Aコード)によりスペクトラム拡散した信号により、周波数が1575.42MHzのキャリア(搬送波)をBPSK変調したものである。
アンテナ1にて受信された1575.42MHzのGPS衛星信号は、周波数変換部10に供給される。周波数変換部10では、アンテナ1にて受信されたGPS衛星信号が、低雑音増幅回路11にて増幅された後、バンドパスフィルタ12に供給されて、不要帯域成分が除去される。バンドパスフィルタ12からの信号は、高周波増幅回路13を通じて中間周波変換回路14に供給される。
また、基準発振回路2の出力が、PLL(Phase Locked Loop)シンセサイザ方式の局部発振回路15に供給され、この局部発振回路15より基準発振器2の出力周波数に対して周波数比が固定された局部発振出力が得られる。そして、この局部発振出力が中間周波変換回路14に供給されて、GPS衛星信号のキャリア周波数が、信号処理し易い中間周波数、例えば1.023MHzに低域変換されて、中間周波変換回路14からは中間周波信号が得られる。以下、この中間周波信号のキャリア、すなわち、中間周波キャリアをIFキャリアと称する。
中間周波変換回路14からの中間周波信号は、増幅回路16で増幅され、ローパスフィルタ17で帯域制限された後、A/D変換器18で1ビットのデジタル信号(以下、この信号をIFデータという)に変換される。このIFデータは、同期捕捉部20および同期保持部30に供給される。
すなわち、この実施形態では、IFデータは、従来のスライディング相関およびコスタスループ+DLLのような同期捕捉・同期保持一体化回路に供給されるのではなく、機能的に分離された同期捕捉部20と、同期保持部30に供給される。
この実施形態において、同期捕捉部20は、GPS衛星信号についての同期捕捉、つまり、GPS衛星信号の衛星PN符号の位相検出およびIFキャリアの周波数の検出を行なう。このIFキャリア周波数を以下、IFキャリア周波数という。同期保持部30は、同期捕捉部20で捕捉したGPS衛星信号の衛星PN符号とIFキャリアの同期保持を行なう。
[同期捕捉部20と同期保持部30の構成]
この実施形態では、後述するように、同期捕捉部20では、周波数変換部10からのIFデータの所定時間分をメモリに取り込み、このメモリに取り込んだIFデータについて、GPS衛星信号の衛星PN符号と、個々のGPS衛星の衛星PN符号に対応するGPS受信機が持つレプリカPN符号との相関演算を行って、拡散符号の位相同期捕捉を行なう。
拡散符号の位相同期捕捉に関しては、上述のようなスライディング相関の手法を用いることなく、スペクトラム拡散信号の同期捕捉を高速に行なう方法として、マッチドフィルタを用いる方法がある。
マッチドフィルタは、トランスバーサルフィルタにより、デジタル的に実現可能である。また、近年は、DSP(Digital Signal Processor)に代表されるハードウエアの能力の向上によって、高速フーリエ変換(以下、FFT(Fast Fourier Transform)という)処理を用いたデジタルマッチドフィルタにより、拡散符号の同期を高速に行なう手法が実現している。ただし、デジタルマッチドフィルタそのものは、拡散符号の同期を保持する機能を有しない。
後者のFFT処理を用いる方法は、古くから知られる相関計算の高速化方法に基づいており、受信機側のレプリカPN符号と、衛星PN符号との間に相関がある場合には、後述する図4に示すような相関のピークが検出され、ピークの位置が衛星PN符号の先頭の位相である。したがって、この相関のピークを検出することで、衛星PN符号の同期を捕捉、すなわち、GPS衛星の受信信号における衛星PN符号の位相を検出することができる。
GPS衛星からの受信信号のキャリア(中間周波数)は、FFTを利用した方法で、FFTの周波数領域での操作により、衛星PN符号の位相とともに検出することができる。衛星PN符号の位相は、疑似距離に換算され、4個以上の衛星について検出されれば、GPS受信機の位置を計算することができる。また、キャリア周波数が検出されると、ドップラーシフト量が判り、これにより、GPS受信機の速度が計算できる。
以上のことから、この実施形態では、高速フーリエ変換(以下、FFT(Fast Fourier Transform)という)処理を用いたデジタルマッチドフィルタによりPN符号についての相関計算を行い、その相関計算に基づいて同期捕捉処理を高速に行なう。
アンテナ1で受信されるGPS衛星信号には、複数のGPS衛星からの信号が含まれているが、同期捕捉部20では、すべてのGPS衛星についてのレプリカPN符号の情報を用意しており、その用意されているレプリカPN符号の情報を用いて、その時点でGPS受信機が利用可能な複数個のGPS衛星信号の衛星PN符号との相関を計算することにより、それらの複数個のGPS衛星信号の同期捕捉をすることが可能である。
同期捕捉部20では、いずれのGPS衛星用のレプリカPN符号の情報を用いて同期捕捉したかにより、いずれのGPS衛星からの信号の同期捕捉をしたかを検知する。当該同期捕捉したGPS衛星の識別子としては、例えばGPS衛星番号が用いられる。
そして、同期捕捉部20は、同期捕捉したGPS衛星の衛星番号の情報と、同期捕捉により検出した衛星PN符号の位相の情報と、IFキャリア周波数の情報と、また、必要に応じて、相関の度合いを示す相関検出信号からなる信号強度の情報を、同期保持部30に渡すようにする。
同期捕捉部20で検出した衛星番号、衛星PN符号の位相、IFキャリア周波数、信号強度の情報を、同期保持部30へ渡す方法としては、データのフォーマット、割り込みの方法等を決めた上で、同期捕捉部20から同期保持部30へ直接渡す方法と、制御部40を介して渡す方法とがある。
前者の場合には、同期捕捉部20のDSP23で、同期保持部30に渡す情報を生成する。あるいは、同期保持部30に、例えばDSPで構成される制御部を設け、その制御部で、同期捕捉部20からの情報に基づいて、同期保持部30で必要な情報を生成する構成とする。
また、後者の場合には、制御部40のCPU41が制御し、CPU41を介して情報の受け渡し、またCPU41から同期捕捉部20および同期保持部30の制御を行なうことができるので、後述する衛星PN符号についての位相補正や、同期捕捉部20と同期保持部30の状況に応じた多様な同期手順を設定しやすくなる。
そこで、以下に説明する実施形態では、同期捕捉部20から、衛星番号、衛星PN符号の位相、IFキャリア周波数、信号強度の情報を、同期保持部30へ渡す方法としては、制御部40を介して渡す方法を採用している。
[同期捕捉部20の構成]
図2は、同期捕捉部20の構成例を示すものであって、この例では、サンプリング回路21と、データバッファ用のRAM(Random Access Memory)22と、DSP(Digital Signal Processor)23と、プログラムROM(Read Only Memory)と、ワークエリア用のRAMとからなるDSP23用のメモリ部24とを備えて構成される。DSP22およびDSP用のメモリ部24とは、制御部40のCPU41に接続されている。
サンプリング回路21では、周波数変換部10からの1.023MHzのIFデータを、その2倍以上の所定の周波数でサンプリングし、各サンプリング値をRAM22に書き込む。RAM22は、所定時間長分のIFデータを記憶する容量を有する。DSP23では、このRAM22の容量分の時間長のIFデータ単位に同期捕捉処理を行なう。
すなわち、この例では、DSP23は、RAM22に取り込んだIFデータについて、高速フーリエ変換(以下、FFT(Fast Fourier Transform)という)処理を用いたデジタルマッチドフィルタにより、衛星PN符号の同期捕捉を高速に行なう。そして、DSP23は、その同期捕捉の結果として、同期捕捉したGPS衛星番号と、同期捕捉したGPS衛星信号の衛星PN符号の位相およびそのIFキャリア周波数とを検出する。
サンプリング回路21におけるサンプリング周波数により、衛星PN符号の位相の検出精度が決まる。このサンプリング周波数は、サンプリング定理からIF信号に含まれる最大周波数の2倍以上である必要があり、IFキャリア周波数の整数倍の周波数が望ましい。
また、RAM22の容量により決まるDSP23での処理単位の時間長により、IFキャリア周波数の検出精度が決まる。このDSP23での処理単位の時間長は、PN符号の1周期の整数倍、後述のように、特に2のべき乗倍が望ましい。
ここで、サンプリング回路21でのサンプリング周波数を、拡散符号のチップレートのα倍、RAM22に取り込むIFデータの時間長をPN符号の1周期のβ倍(βミリ秒)とすると、DSP23では、FFTの周波数領域での操作により、衛星PN符号の位相は1/αチップの精度で検出することができ、IFキャリア周波数は、1/βkHz(±1/2βkHz)の精度で検出することができる。
次に、DSP23におけるFFTを用いたデジタルマッチドフィルタによる同期捕捉のいくつかの例について詳述する。
〔デジタルマッチドフィルタによる同期捕捉の第1の例(基本的構成例)〕
この例においては、サンプリング回路21でのサンプリング周波数は、拡散符号のチップレートのほぼ4倍の4倍の4.096MHzとされる。そして、RAM22には、PN符号の1周期分(1ミリ秒)である4096サンプル点のデータを記憶する。DSP23は、このRAM22に取り込まれた1ミリ秒単位のデータについて、GPS衛星信号の衛星PN符号とGPS受信機のレプリカPN符号との相関を、FFTを用いた相関演算により計算して、同期捕捉を行なう。PN符号の1周期分は、1023チップであるから、1/4チップの精度で衛星PN符号の位相検出が可能となる。また、IFキャリア周波数の検出精度は、1ミリ秒単位のFFT処理であるので、1kHzである。
この例では、図3に示すように、DSP23では、RAM22に書き込まれた1ミリ秒単位のIFデータを読み出して、FFT処理部101でFFT処理し、そのFFT結果をメモリ102に書き込む。そして、メモリ102から読み出した受信信号のFFT結果は、乗算部103に供給する。
一方、PN符号発生部104から、GPS衛星からの受信信号に使用されているPN符号と同じ系列と考えられるレプリカPN符号を発生させる。実際的には、PN符号発生部104からは、予め用意されている複数個のGPS衛星に対するレプリカPN符号が順次に切り換えられて出力されることになる。
このPN符号発生部104からの1周期分(1023チップ)のレプリカPN符号は、FFT処理部105に供給されてFFT処理され、その処理結果がメモリ106に供給される。このメモリ106からは、通常の場合と同様に、FFT結果が低い周波数から順に読み出されて乗算部103に供給される。
乗算部103では、メモリ102からの受信信号のFFT結果と、メモリ106からのレプリカPN符号のFFT結果とが乗算され、周波数領域における受信信号の衛星PN符号とレプリカPN符号との相関の度合いが演算される。ここで、乗算部105での乗算は、受信信号の離散フーリエ変換結果と、レプリカPN符号の離散フーリエ変換結果とのどちらか一方の複素共役と他方とを乗算する演算となる。そして、その乗算結果は逆FFT処理部107に供給されて、周波数領域の信号が時間領域の信号に戻される。
逆FFT処理部107から得られる逆FFT結果は、受信信号の衛星PN符号とレプリカPN符号との時間領域における相関検出信号となっている。この相関検出信号は、相関点検出部108に供給される。
この相関検出信号は、拡散符号の1周期分の各チップ位相における相関値を示すものとなっており、所定の強度以上である受信信号中の拡散符号と、拡散符号発生部104からの拡散符号とが同期している位相(拡散符号の1周期分単位の位相)においては、図4に示すように、1023チップのうちのある一つの位相での相関値が、予め定められるスレッショールド値を超えるようなピーク値を示す相関波形が得られる。このピーク値の立つチップ位相が、相関点の位相であり、GPS受信機側のレプリカPN符号に対するGPS衛星信号の衛星PN符号の1周期の先頭の位相となる。
一方、受信信号が所定の強度以下である場合、受信信号中の拡散符号と、拡散符号発生部104からの拡散符号とが同期しても、図4のようなピーク値が立つ相関波形は得られず、いずれのチップ位相においても、予め定められるスレッショールド値を超えるようなピークは立たない。
相関点検出部108は、例えば、予め定めた値を超えるピーク値が、この相関点検出部108に供給される相関検出信号に存在するかどうかにより、受信信号の衛星PN符号とレプリカPN符号との同期が取れたかどうかを検出する。
相関点検出部108で同期が取れたことを検出した場合には、前記ピーク値の位相を相関点、つまり、GPS衛星信号の衛星PN符号の位相として検出する。そして、DSP23は、そのときのPN符号発生部104からのレプリカPN符号がいずれのGPS衛星用のものであるかにより、GPS衛星番号を認識する。
また、図4に示した相関検出信号は時間領域のものであるが、後述する処理により中間周波受信信号におけるキャリア成分を正しく除去した場合にのみ相関のピークが検出される。
そして、除去を行ったキャリア成分の周波数が、前記の予め定めた値を超えるピーク値が立つ相関点に対応する、ドップラーシフト分を含めたIFキャリア周波数となる。したがって、このドップラーシフト分を含めたIFキャリア周波数が、相関点検出の結果としてDSP23において、検出される。
以上のようにして、一つのGPS衛星についての同期捕捉が完了すると、この例では、PN符号発生部104から発生させるレプリカPN符号を他のGPS衛星信号の衛星PN符号に対応するものに変更して、上記の処理を繰り返す。また、同期が取れなかった場合にも、DSP23では、PN符号発生部104から発生させるレプリカPN符号を他のGPS衛星信号の衛星PN符号に対応するものに変更して、上記の処理を繰り返す。
そして、DSP23では、サーチすべき全GPS衛星についての同期捕捉処理が終了したとき、あるいは制御部40のCPU41からの情報により、例えば4個以上のGPS衛星についてのPN符号の同期が取れたときに、以上の同期捕捉処理を終了する。
DSP23は、その同期捕捉の結果として検出した、同期捕捉したGPS衛星番号と、同期捕捉したGPS衛星信号の衛星PN符号の位相およびそのIFキャリア周波数とからなる情報を、制御部40に供給する。また、この例では、DSP23は、同期捕捉した各GPS衛星信号についての相関点のピーク値をも、制御部40に供給するようにしている。
以上の説明では、受信信号のキャリアの処理を考慮していないが、実際には、受信信号r(n)は、図35の式(3)に示すようにキャリアを含んでいる。この式(3)において、Aは振幅、d(n)はデータ、f0(=fIF)は中間周波信号におけるキャリア角周波数、n(n)はノイズを表している。
サンプリング部21でのサンプリング周波数をfs 、PN符号の1周期分についてのサンプリング数をN(したがって、0≦n<N)とすると、離散フーリエ変換後の離散周波数k(0≦k<N)と実周波数fとの関係は、
0≦k≦N/2ではf=k・fs /N、
N/2<k<Nではf=(k−N)・fs /N(f<0)
である。なお、離散フーリエ変換の性質により、R(k)、C(k)は、k<0およびk≧Nでは循環性を示す。
そして、受信信号r(n)から、データd(n)を得るためには、PN符号c(n)とキャリアcos2πnf0との同期をとってキャリア成分を除去する必要がある。すなわち、後述する図35の式(2)で、R(k)のみにキャリア成分が含まれている場合には、図4のような相関波形が得られない。
この実施の形態では、FFTによる周波数領域での処理のみの簡単な構成により、PN符号c(n)とキャリア(IFキャリア)cos2πnf0との同期をとってキャリア成分を除去することができるようにしている。
すなわち、FFT処理部101から得られるGPS衛星からの受信信号のFFT結果は、通常は、受信信号の周波数成分の周波数が低いものから順にメモリ102から読み出されて、乗算部103に供給されるが、この実施の形態では、メモリ102からは、読み出しアドレス制御部109からの制御に従って、読み出しアドレスがシフト制御されて、順次、受信信号のFFT結果が読み出される。
読み出しアドレス制御部109には、受信信号を得たGPS衛星についてのドップラーシフト量を正確に見積もることができ、かつ、GPS受信機内部の発振周波数および時間情報を正確に校正された状態において検出された受信信号のキャリア周波数の情報が得られれば、そのキャリア周波数(IFキャリア周波数)の情報が供給される。
このIFキャリア周波数の情報は、前述したように、4個以上のGPS衛星からの受信信号が同期保持されていて、安定的に受信機位置が測定されているときには、受信機速度の算出に伴ってほぼ正確に求められるので、当該算出されたIFキャリアの情報が用いられる。また、IFキャリア周波数の情報は、GPS受信機外部から取得するようにすることもできる。
そして、読み出しアドレス制御部109は、GPS受信機内部で生成した、あるいは外部から取得したキャリア周波数の情報に基づいて、そのキャリア周波数分だけ、読み出しアドレスをシフトして、メモリ102から受信信号のFFT結果を、順次、読み出し、乗算部103に供給するようにする。
このように受信信号r(n)のFFT結果を、メモリ102から、受信信号のキャリア周波数分だけシフトして読み出すことにより、後述するように、キャリア成分を除去した受信信号のFFT結果と等価なFFT結果を得ることができ、そのキャリア成分を除去したFFT結果と、PN符号の1周期分のFFT結果との乗算結果を逆拡散することにより、確実に図4のように相関点でピークを生じる相関検出出力が得られる。
なお、後述もするように、メモリ102からのFFT結果の読み出しアドレスを制御するのではなく、メモリ106からのレプリカPN符号のFFT結果の読み出しアドレスを制御することにより、レプリカPN符号のFFT結果に、受信信号r(n)のキャリア分を加え、乗算部103での乗算によって、実質的によりキャリア成分の除去を行なうようにすることもできる。
以下に、メモリ102または106からの読み出しアドレスの制御によって、受信信号のキャリアおよび衛星PN符号の同期によるキャリア成分の除去について、DSP23でのデジタルマッチドフィルタの処理の動作説明と共に、さらに詳細に説明する。
この実施の形態において、DSP23では、デジタルマッチドフィルタの処理が行われるものであるが、このデジタルマッチドフィルタの処理の原理は、図35の式(1)に示すように、時間領域での畳み込みのフーリエ変換が周波数領域では乗算になるという定理に基づくものである。
この式(1)において、r(n)は時間領域の受信信号、R(k)はその離散フーリエ変換を表す。また、c(n)は拡散符号発生部からのレプリカPN符号、C(k)はその離散フーリエ変換を表す。nは離散時間、kは離散周波数である。そして、F[k]は、f(n)のフーリエ変換を表している。
2つの信号r(n)、c(n)の相関関数を改めてf(n)と定義すると、f(n)の離散フーリエ変換F(k)は、図35の式(2)のような関係になる。したがって、r(n)を周波数変換部10からの信号とし、c(n)をPN符号発生部104からのレプリカPN符号とすれば、r(n)とc(n)の相関関数f(n)は、通常の定義式によらず、前記式(2)により以下の手順で計算できる。
・受信信号r(n)の離散フーリエ変換R(k)を計算する。
・レプリカPN符号c(n)の離散フーリエ変換C(k)の複素共役を計算する。
・R(k)、C(k)の複素共役より、式(2)のF(k)を計算する。
・F(k)の逆離散フーリエ変換により相関関数f(n)を計算する。
ところで、前述したように、受信信号r(n)に含まれる衛星PN符号が、PN符号発生部104からのレプリカPN符号c(n)と一致していれば、上記手順により計算した相関関数f(n)は、図4のように相関点でピークを生ずる時間波形となる。上述したように、この実施の形態では、離散フーリエ変換および逆フーリエ変換に、FFTおよび逆FFTの高速化アルゴリズムを適用したので、定義に基づいて相関を計算するより、かなり高速に計算を行なうことができる。
次に、受信信号r(n)に含まれるキャリアと衛星PN符号との同期について説明する。
前述したように、受信信号r(n)は、図35の式(3)に示すようにキャリアを含んでいる。受信信号r(n)から、データd(n)を得るためには、レプリカPN符号c(n)とキャリアcos2πnf0との同期をとって除去する必要がある。すなわち、前述の図45の式(2)で、R(k)のみにキャリアが含まれている場合には、図4のような相関波形が得られない。
前述したように、ドップラーシフト量が正確に見積もられ、かつ、GPS受信機内部の発振周波数および時間情報が正確であれば、受信信号r(n)のキャリア周波数(IFキャリア周波数)f0(=fIF)が既知となる。その場合には、図5に示すように、FFT処理部101の前段に乗算部121を設け、この乗算部121において受信信号r(n)と信号発生部122からの周波数f0のキャリアとを乗算して周波数変換することにより、FFTを行なう前に受信信号r(n)からキャリア成分を除くことができる。
その場合には、メモリ102からは、そのキャリア成分が除去された受信信号r(n)のFFT結果が得られ、このFFT結果と、レプリカPN符号c(n)のFFT結果とが乗算部103で乗算されるので、逆FFT処理部107の出力としては、図4のように相関点にピークを生じる時間波形が確実に得られる。
なお、図5で括弧内に記載したように、受信信号r(n)からキャリア成分を除去するのではなく、レプリカPN符号c(n)についてのFFT処理部105の前段に乗算部121を設けて、この乗算部121においてレプリカPN符号c(n)と信号発生部122からの周波数f0(=fIF)のキャリアとを乗算して周波数変換することにより、レプリカPN符号にキャリア成分を加えるようにしても同様である。
すなわち、その場合には、メモリ102から読み出した受信信号のFFT結果に含まれるキャリア成分と、メモリ106から読み出したレプリカPN符号のFFT結果に含まれる、加えられたキャリア成分とが同期しているため、逆FFT処理部107からは、図4のように相関点でピークを生じる相関検出出力が得られる。
しかし、以上説明したような図5のように時間領域の信号にキャリア周波数の信号を乗算する方法による場合には、キャリア成分を除くための乗算部が特に必要になり、構成が複雑になると共に、その乗算演算の分だけ、処理速度が遅くなるという不利益がある。
ところで、FFTの性質として、上述のような周波数乗算は、図35の式(4)のように表わすことができる。この式(4)で、F[k]はf(n)の離散フーリエ変換、φ0 はキャリアとの位相差、k0 はf0 に対応するkであって、f0 =k0 ・fs /Nである。この式(4)より、受信信号r(n)を図5のように周波数変換した信号のFFTは、r(n)のFFTであるR(k)を、キャリア周波数分k0だけシフトした形になる。
以上のことから、図5の構成は、図6のような構成に置換可能となる。すなわち、受信信号r(n)やレプリカPN符号c(n)にキャリア周波数を乗算する代わりに、受信信号のFFT結果またはレプリカPN符号のFFT結果をメモリ102またはメモリ106からの読み出す際の読み出しアドレスを、キャリア周波数分だけシフトするようにするものである。
この場合に、図6で、受信信号r(n)をシフトする場合はダウンコンバージョンで、k0 >0とし、また、レプリカPN符号c(n)をシフトする場合はアップコンバージョンで、k0 <0とする。
以上説明したように、式(4)に示したFFTの性質を利用すれば、図5の信号発生器122は不要になり、図6のように、FFT結果のメモリからの読み出しアドレス位相をシフトするだけでよくなり、構成が簡単になると共に、処理の高速化につながる。
なお、前述の式(4)における位相差φ0 は未知であるため、図6では無視しているが、例えば、図35の式(5)により計算されるF’(k)の逆FFTの演算結果として得られる相関関数f’(n)(0≦n<N)は複素数となり、その実部をfR’(n)、虚部をfI’(n)とすると、相関ピークの振幅|f’(n)|は、図35の式(6)に示すようにして得られ、位相φは、図35の式(7)に示すようにして得られるので、式(4)の右辺のexp(jφ0 )の乗算は省略してよい。なお、位相φ は、式(3)のデータd(n)の衛星PN符号に対応したπだけ異なる2つの値に式(7)のφ0が加わった値となる。
以上説明したような、DSP23における同期捕捉処理の第1の例の動作を図3のブロック図に反映させた構成図を図7に示す。この図7の各ブロックの出力には、上述したような信号出力r(n)、c(n)および演算結果R(k)、C(k)、f'(n)が示されている。
以上のように、DSP23での捕捉処理の第1の例によれば、GPS受信機において、FFTを利用してデジタルマッチドフィルタを構成する場合に、図7のように受信信号のFFT結果を、キャリア周波数分だけメモリのアドレスをシフトして、レプリカPN符号と乗算する構成によって、相関点np が、例えば図7に示すような波形で得られ、4個のGPS衛星、つまり4種類のレプリカPN符号c(n)について、相関点np が判れば、GPS受信機位置の計算が可能になる。
すなわち、第1の例によれば、FFTを利用したデジタルマッチドフィルタ処理を行なう場合において、受信信号のキャリアとレプリカPN符号との同期を取るために、時間領域で乗算を行なうことなく、受信信号のFFT結果とレプリカPN符号のFFT結果同士の周波数領域での乗算の際に、受信信号のFFT結果とレプリカPN符号のFFT結果のうちの一方のFFT結果をシフトするという簡便な方法により、受信信号のキャリア成分を除去することができる。
なお、図7の例では、受信信号のFFT結果R(k)の方の、メモリの読み出しアドレスをシフトさせたが、レプリカPN符号のFFT結果C(k)の方のメモリの読み出しアドレスを、受信信号のFFT結果R(k)の場合とは逆方向にシフト(乗算器でのアップコンバージョンの形になる)しても良い。
また、上述の第1の例の説明においては、拡散符号発生器104とFFT処理部105とを別々に設けるようにしたが、それぞれのGPS衛星に対応するレプリカPN符号を予めFFTしておいたものをメモリに記憶させておくことで、衛星信号の受信時におけるレプリカPN符号c(n)のFFT計算を省略することができる。
〔デジタルマッチドフィルタによる同期捕捉の第2の例〕
上述の同期捕捉の第1の例は、GPS衛星からの受信信号のキャリア周波数が正確に与えられる場合であったが、この同期捕捉の第2の例は、キャリア周波数が未知である場合である。第1の例と同様に、この第2の例においては、サンプリング回路21でのサンプリング周波数は、4.096MHzであり、RAM22の容量は、サンプリング回路21からのデータの1ミリ秒分の容量である。
図8は、第2の例としてのDSP23の構成例を示すブロック図である。この図8において、前述した第1の例として示した図3のDSP23の構成例と同一部分には、同一番号を付してある。
この同期捕捉の第2の例では、図8に示すように、相関点検出部108の相関検出出力を、読み出しアドレス制御部110に供給する。読み出しアドレス制御部110は、受信信号r(n)のFFT結果のメモリ102からの読み出しアドレスの前記シフト量を、制御部40の不揮発性メモリ46に記憶されているIFキャリア誤差を用いて算出されたIFキャリア周波数の情報(初期値)に対応した予測アドレスを中心に、相関点検出部108の相関検出出力に基づいて変更制御して、相関点検出部108で図4に示したようなピークが得られるようにする。相関点検出部108で図4に示したようなピークが得られたときには、読み出しアドレス制御部110は、読み出しアドレスのシフト制御を、そのときのシフト量で停止する。
制御部40では、例えば電源投入時などの立ち上げ時において、1個のGPS衛星からの受信信号についても、同期保持がなされていないときには、電源オフ時に、GPS受信機の不揮発性メモリ46に格納されている過去のIFキャリア誤差ΔfIFと、不揮発性メモリ46に記憶されている軌道情報およびGPS受信機の位置に基づき求められるドップラーシフトfDとから概算されたIFキャリア周波数を、前記読み出しアドレス制御部110に供給する初期値とする。
また、4個のGPS衛星からの受信信号については同期保持されてはいないが、少なくとも1個のGPS衛星からの受信信号について同期保持がなされていて、当該受信信号の中間周波キャリア周波数が既知であり、当該同期保持されているGPS衛星についての軌道情報が記憶部に記憶されていると共に、受信機の位置および現在時刻が既知である場合には、制御部40では、前述と同様にして概算されるドップラーシフトfDと、後述するようにして求められるIFキャリア誤差ΔfIFとから、IFキャリア周波数を求める。そして、求めたIFキャリア周波数を読み出しアドレス制御部110に供給するIFキャリア周波数の初期値とする。
そして、4個のGPS衛星からの受信信号について同期保持が安定的にできるようになり、GPS受信機の速度計算が行なわれ、正確なIFキャリア誤差ΔfIFが得られるようになったときには、制御部40では、当該正確なIFキャリア誤差ΔfIFを、読み出しアドレス制御部110に供給するIFキャリア周波数の初期値とする。
なお、不揮発性メモリ46のIFキャリア誤差ΔfIFとしては、そのときに用いられているIFキャリア誤差ΔfIFの値が記憶される。したがって、電源オフから再度電源オンとなったときには、不揮発性メモリ46には電源オフの直前に記憶されていたIFキャリア誤差ΔfIFが記憶されている。
<IFキャリア周波数の初期値を決定するためのIFキャリア誤差の算出>
例えば電源投入時からのGPS衛星信号の同期捕捉に当たっては、この実施形態では、先ず、従来と同様に、不揮発性メモリ46に記憶されている電源オフ直前のIFキャリア誤差ΔfIFおよび計算により求められるドップラーシフトから概算されたIFキャリア周波数を初期値として、同期捕捉動作を開始し、少なくとも1個のGPS衛星からの受信信号の同期保持を行なう。
従来は、不揮発性メモリ46の電源オフ直前のIFキャリア誤差ΔfIFは、4個以上のGPS衛星からの受信信号の同期保持がなされ、受信機の速度計算が行なわれて、IFキャリア誤差ΔfIFが計算されるまでは、不揮発性メモリ46のIFキャリア誤差ΔfIFは、更新されない。
これに対して、この実施形態では、少なくとも1個のGPS衛星からの受信信号の同期保持がなされたときには、その同期保持により得られる情報を基に、以下に説明するようにして、IFキャリア誤差ΔfIFを更新するようにする。
受信機の3次元座標χ、受信機の3次元速度v、GPS衛星の3次元座標p、GPS衛星の3次元速度v、GPS衛星のドップラーシフトfD、キャリア周波数fRF(=1575.42MHz)および真空中の光速度cとの間には、図36の式(9)に示すような関係がある。なお、式(9)において、a・bは、あるベクトルaと、あるベクトルbとの内積を表している。
ここで、GPS衛星の軌道情報と、GPS受信機の概略位置および現在時刻は、不揮発性メモリ46の記憶情報から既知であり、GPS衛星の3次元位置pと3次元速度vとは、当該GPS衛星の軌道情報と受信機の内部時計の時刻から求められる。そこで、受信機の3次元速度vは0であると仮定すると、式(9)は、図36の式(10)のように変形することができる。つまり、前記GPS衛星のドップラーシフトfDは、上述のような前提条件から概算することが可能である。
次に、GPS受信機の電源が投入された後、前述したように従来と同様の同期捕捉動作により少なくとも1個のGPS衛星からの受信信号を同期捕捉し、同期保持がなされたとすると、当該GPS衛星からの受信信号についてのIFキャリア周波数を得ることができる。このとき、同期保持されたGPS衛星の衛星番号をiとし、同期保持部から得られるIFキャリア周波数をfIFiとすると、冒頭で述べた(式a)と、前記式(10)とから、IFキャリア誤差ΔfIFiは、図36の式(11)のように表わすことができる。
この式(11)は、既に同期保持がなされているGPS衛星の情報(IFキャリア周波数)と、当該GPS衛星に関する軌道情報から計算される衛星位置および衛星速度を用いて、IFキャリア誤差ΔfIFを概算できることを示している。
そして、このようにして概算されたIFキャリア誤差ΔfIFは、不揮発性メモリ46に記憶されている電源オフ直前の過去のIFキャリア誤差ΔfIFよりも、現在の環境に応じた精度の良いものとなっていると考えられる。そして、この概算により求められたIFキャリア誤差ΔfIFが、4個のGPS衛星からの受信信号の同期保持がなされて、受信速度に伴う正確なIFキャリア誤差ΔfIFが得られるまで、次のGPS衛星からの受信信号の同期捕捉の際のIFキャリア周波数の計算に用いられる。
すなわち、この実施形態では、以上のようにして概算されて求められたIFキャリア誤差ΔfIFと、前述のようにして概算されたドップラーシフトfDとを用いて、前記(式a)から、IFキャリア周波数を概算し、この概算されたIFキャリア周波数を、他のGPS衛星からの受信信号の同期捕捉の際に、読み出しアドレス制御部110に供給するIFキャリア周波数の初期値として用いる。
図9は、電源投入時における、この実施形態と従来の同期捕捉方法との違いを説明するための図である。すなわち、従来の方法の場合には、不揮発性メモリに記憶されていた電源オフ直前のIFキャリア誤差ΔfIF(M)が、4個のGPS衛星からの受信信号の同期保持がなされて、受信速度に伴う正確なIFキャリア誤差ΔfIF(A)が得られるまで使用されることになるので、その周波数差が、電源投入時から同期捕捉、そして最初の測位までのTTFFに影響し、当該TTFFが遅くなる。
これに対して、この実施形態では、少なくとも1個のGPS衛星からの信号が同期捕捉され、同期保持されると、それに基づいて上述のようにして、概算されたIFキャリア誤差ΔfIF(A1)、ΔfIF(A2)、ΔfIF(A3)・・が用いられて、同期捕捉が行なわれ、電源投入時から測位までのTTFFが短縮されるものである。
ところで、上述したようにして同期捕捉が行なわれると、4個のGPS衛星からの受信信号の同期保持がなされるまでに、複数個のIFキャリア誤差ΔfIFが得られる。その場合に、IFキャリア誤差ΔfIFが得られるようになるGPS衛星を「IFキャリア誤差算出可能衛星」と呼ぶことにすると、当該「IFキャリア誤差算出可能衛星」となるGPS衛星の条件は、次の2条件となる。
すなわち、
・同期保持がなされていて、同期保持部からIFキャリア周波数を得ることができる(この衛星番号をiとする)
・GPS衛星iの軌道情報が存在し、現在時刻から当該GPS衛星位置および衛星速度をもとめることができる
の2条件である。
そして、このような「IFキャリア誤差算出可能衛星」が2個以上存在して、IFキャリア誤差ΔfIFが複数個存在する場合には、新たに求めたIFキャリア誤差ΔfIFをその都度用いるようにしても良いが、それらの複数個のIFキャリア誤差ΔfIFを用いた次のような計算を行なって、その結果のIFキャリア誤差ΔfIFを用いるようにすると、さらに良い。
(1)複数個のIFキャリア誤差ΔfIFの平均をとり、その平均値を、IFキャリア周波数を求めるためのIFキャリア誤差ΔfIFとする。
(2)同期保持部での信号レベルが高いGPS衛星ほどIFキャリアの精度がよい、という仮定の下、複数個のIFキャリア誤差ΔfIFのうちの、最も信号レベルの高いGPS衛星からの信号から求めたIFキャリア誤差ΔfIFを、IFキャリア周波数を求めるためのIFキャリア誤差ΔfIFとする。
(3)同期保持部での信号レベルが高いGPS衛星ほどIFキャリアの精度がよい、という仮定の下、予め指定された閾値より信号レベルの高いGPS衛星からの信号から求めたIFキャリア誤差ΔfIFの平均値を求め、その平均値を、IFキャリア周波数を求めるためのIFキャリア誤差ΔfIFとする。
以上のIFキャリア誤差ΔfIFの概算においては、受信機の速度を0と仮定するなど、近似値を用いているが、以下に説明するように、このような近似を行なっても、従来の方法よりも、この実施形態の方法の法が優れていることが分かる。
すなわち、前述した図36の式(11)を幾何学的に考察すると、図10に示すように、GPS受信機位置XsからGPS衛星位置Psまでの視線方向ベクトルEと同じ向きの単位ベクトルと衛星速度ベクトルvとの内積に定数−fRF/cを乗じたものとなっている。
この2つのベクトルE,vのなす角をθとすると、ドップラーシフトfDは、式(12)のようになり、受信機位置は、cosθにのみ影響することが分かる。
受信機は地表表面付近にあるとみなせば、受信機からGPS衛星までの距離は、約20000kmであるであるので、受信機の位置が数km程度(仮に10kmとする)ずれていたとしても、それにより変化する受信機から衛星までの視線方向ベクトルの角度φは、
tanφ≒10/20000
すなわち、φ≒0.0005[rad]≒0.3°程度である。
この角度がそのままθに影響すると仮定すると、すなわち、θ´=θ±φとすると、図36の式(13)のようになる。
ここで、φ≒0よりcosφ≒1、sinφ≒0と近似した。以上から、GPS受信機位置が10km相当ずれたときのドップラーシフトfD´と、本来のドップラーシフトfDとの差は、最大に見積もって、図36の式(14)のようになり、10Hz程度ということになる。
ただし、GPS衛星速度|v|は、高々4000[m/s]とした。つまり、受信機速度が分からないために受信機速度は0であると見なしてしまっている以上、受信機位置の誤差が10km程度なら、受信機位置が正しい場合と比較して高々10Hz程度の誤差でドップラーシフトが求まることになる。
この誤差は、そのままIFキャリア誤差に伝播することになる。一方、既に述べたように、受信機の電源投入直後は、受信機内部のメモリ領域に保持されていたIFキャリア誤差の値は、たとえ電源オフの期間が数秒〜数10秒であったとしても、電源投入後、受信機の速度が計算されることに伴い、IFキャリア誤差の値が更新されるまでは、10Hzから数100Hz程度ずれている可能性がある。
したがって、この実施形態によって算出されたIFキャリア誤差ΔfIFの方が、従来の電源オフ時にメモリに記憶されていたIFキャリア誤差ΔfIFよりも、IFキャリア誤差ΔfIFの誤差を低く見積もることが可能である。
図11および図12は、読み出しアドレス制御部110に供給するIFキャリア周波数の初期値を決定するためのIFキャリア誤差ΔfIFの更新処理を説明するためのフローチャートである。
制御部40のCPU41は、先ず、4個以上のGPS衛星の受信信号の同期保持がなされていて、自受信機の速度計算が行なわれ、それに伴い、IFキャリア誤差ΔfIFが求められて、不揮発性メモリ46のIFキャリア誤差ΔfIFが時々刻々と正確な値に更新されているかどうか判別する(ステップS1)。
この判別の結果、IFキャリア誤差ΔfIFが時々刻々と正確な値に更新されていると判別したときには、CPU41は、当該IFキャリア誤差ΔfIFの更新処理を継続し、ステップS1を繰り返す。
また、ステップS1の判別の結果、電源立ち上げ時などにおいて、IFキャリア誤差ΔfIFが時々刻々と正確な値に更新される状態になっていないと判別したときには、CPU41は、同期捕捉する衛星番号iを初期値(i=1)に設定し(ステップS2)、当該衛星番号iのGPS衛星からの受信信号は、同期保持中であるか否か判別する(ステップS3)。
このステップS3で、当該衛星番号iのGPS衛星からの受信信号は、同期保持中ではないと判別したときには、CPU41は、衛星番号iをインクリメントし(ステップS8)、全GPS衛星、つまり、32個のGPS衛星についてステップS3以降の処理をしたかどうかを判別する(ステップS9)。未だすべてのGPS衛星については、処理を行なっていないと判別したときには、CPU41は、ステップS3に戻って、ステップS3以降の処理を繰り返す。
ステップS3で、当該衛星番号iのGPS衛星からの受信信号は、同期保持中であると判別したときには、CPU41は、当該衛星番号iのGPS衛星の軌道情報が不揮発性メモリ46に記憶されており、GPS受信機の3次元位置xおよび現在時刻が取得可能であるかどうかという条件を満足するか否か判別する(ステップS4)。
ステップS4で、前記条件を満足してはいないと判別したときには、CPU41は、ステップS8に移行し、衛星番号iをインクリメントする。
また、ステップS4で、前記条件を満足すると判別したときには、衛星番号iのGPS衛星の軌道情報と現在時刻とから、当該衛星番号iのGPS衛星の位置ベクトルpiと速度ベクトルviを求める(ステップS5)。
次に、当該衛星番号iのGPS衛星のドップラーシフトfDiを、図36の式(10)により算出する(ステップS6)。次に、求めたドップラーシフトfDiを用いて、図36の式(11)により、IFキャリア誤差ΔfIFiを算出し、バッファメモリに記憶する(ステップS7)。
そして、CPU41は、ステップS8に進み、衛星番号iをインクリメントし、次のステップS9で、全GPS衛星についてステップS3以降の処理を行なったかどうかを判別し、未だすべてのGPS衛星については、ステップS以降の処理を行なっていないと判別したときには、ステップS3に戻って、ステップS3以降の処理を繰り返す。
ステップS9で、すべてのGPS衛星について、ステップS3以降の処理を終了したと判別したときには、IFキャリア誤差ΔfIFiが、1個以上のGPS衛星について算出されたか否か判別する(図12のステップS11)。
ステップS11で、1個のGPS衛星についてもIFキャリア誤差ΔfIFiが算出されなかったと判別したときには、CPU41は、この処理ルーチンを一旦終了し、図11のステップS1から再度処理を開始するようにする。このときには、GPS衛星からの受信信号の同期捕捉に当たっては、電源オフ直前に不揮発性メモリ46に記憶されていたIFキャリア誤差が用いられてIFキャリア周波数の初期値が設定される。
また、ステップS11で、IFキャリア誤差ΔfIFiが、1個以上のGPS衛星について算出されたと判別したときには、CPU41は、この例では、求められている全てのIFキャリア誤差ΔfIFiの平均を取る(ステップS12)。そして、その平均値Δfを、IFキャリア周波数の初期値を設定するためのIFキャリア誤差ΔfIFとして用いるように更新する(ステップS13)。そして、CPU41は、この処理ルーチンを一旦終了し、その後、図11のステップS1から再度処理を開始するようにする。
こうして、4個のGPS衛星からの受信信号についての同期保持がなされてGPS受信機の速度の算出が行なわれ、正確なIFキャリア誤差が得られるようになるまでの間であっても、ステップS3〜ステップS13の処理が行なわれることにより、IFキャリア誤差ΔfIFの概算値が順次に更新されて、それが同期捕捉に用いられる。これにより、電源投入から測位が開始されるまでのTTFFを短縮することができる。
<同期捕捉処理>
次に、同期捕捉の第2の例における同期捕捉部20での処理の流れを、図13および図14のフローチャートを参照しながら説明する。なお、この図13および図14のフローチャートは、主としてDSP23でのソフトウエア処理に対応するものである。
まず、周波数変換部10からのIFデータをサンプリング回路21でサンプリングし、信号r(n)としてRAM22に取り込む(ステップS21)。次に、この信号r(n)をFFT処理部101でFFTし、そのFFT結果R(k)をメモリ102に書き込む(ステップS22)。次に、信号を受信したGPS衛星に対応するレプリカPN符号のFFT結果C(k)をメモリ106にセットする(ステップS23)。
次に、受信信号r(n)のFFT結果R(k)のメモリ102からの読み出しアドレスのシフト量の初期値k0’を決定する(ステップS24)。すなわち、読み出しアドレスのシフト量は、前述したように、IFキャリア周波数に応じたものであり、制御部40において、前述のようにして算出および決定されたIFキャリア誤差とドップラーシフトfDとが用いられて算出されたIFキャリア周波数の初期値が求められる。そして、求められたIFキャリア周波数の初期値がDSP23に供給される。DSP23では、受け取ったIFキャリア周波数の初期値から、読み出しアドレスのシフト量の初期値k0’を決定する。
ここで、前述したように、電源投入直後のGPS受信機において、同期保持しているGPS衛星からの信号が1個も無いときには、電源オフ時に記憶されていたIFキャリア誤差が用いられて、IFキャリア周波数の初期値が算出され、その算出されたIFキャリア周波数から読み出しアドレスのシフト量の初期値k0’が決定されることになる。
また、1個以上のGPS衛星からの受信信号の同期保持がなされると、前述のようにして、概算されたIFキャリア誤差の平均値Δfが用いられて、IFキャリア周波数の初期値が算出され、その算出されたIFキャリア周波数から読み出しアドレスのシフト量の初期値k0’が決定されることになる。
さらに、4個以上のGPS衛星からの受信信号の同期保持がなされ、GPS受信機の速度が算出されるに伴い正確なIFキャリア誤差が得られるようになると、当該正確なIFキャリア誤差が用いられて、IFキャリア周波数の初期値が算出され、その算出されたIFキャリア周波数から読み出しアドレスのシフト量の初期値k0’が決定されることになる。
そして、以上のようにして決定した初期値k0’を、メモリ102からのFFT結果の読み出しアドレスのシフト量k'として設定すると共に、シフト制御の変更回数tを初期値t=0にセットする(ステップS25)。
次に、メモリ102から、受信信号r(n)のFFT結果R(k)を、読み出しアドレスを、k'だけシフトして読み出す(ステップS26)。そして、読み出したFFT結果R(k−k')と、レプリカPN符号のFFT結果C(k)の複素共役とを乗算して相関関数F’(k)を求める(ステップS27)。
次に、この相関関数F’(k)の逆FFTを行って時間領域の関数f’(n)を求める(ステップS28)。そして、この関数f’(n)について、ピーク値f’(np)を求め(ステップS9)、そのピーク値f’(np)が予め設定されているスレッショールド値fthより大きいかどうか判別する(図14のステップS31)。
ステップS31での判別の結果、ピーク値f’(np)が、予め設定されているスレッショールド値fthより小さいときには、相関点が検出できなかったとして、シフト制御の変更回数tが予め設定された最大値tmaxよりも小さいかどうか判別する(ステップS36)。この最大値tmaxは、周波数に換算したときに、1kHzに相当する。
そして、シフト制御の変更回数tが予め設定された前記最大値tmaxよりも小さいと判別したときには、シフト制御の変更回数tを1だけインクリメント(t=t+1)すると共に、新たなシフト量k'を、
k'=k'+(−1)×t
として設定し(ステップS37)、その後、ステップS26に戻る。そして、上述したステップS26以降の処理を繰り返す。
また、ステップS36で、シフト制御の変更回数tが、予め設定された前記最大値tmaxよりも大きいと判別したときには、そのように大きいと判別された回数が、現在のRAM22のデータに対して予め定められた所定回数以上となったか否か判別し(ステップS38)、前記所定回数以上でなければ、ステップS21に戻り、RAM22に新たなデータを取り込んで、以上の処理を繰り返す。
また、ステップS38で、前記所定回数以上であると判別したときには、サーチすべきすべての衛星について、上述の拡散符号同期サーチ処理が終了したか否か判別し(ステップS34)、すべての衛星についての拡散符号同期サーチ処理が終了したと判別したときには、サーチ動作を終了する(ステップS39)。
また、ステップS34で、拡散符号同期サーチが終了していないサーチすべき衛星があると判別したときには、次に拡散符号同期サーチを行なう衛星を選択し、その選択した衛星が用いるPN符号にレプリカPN符号c(n)を変更する(ステップS35)。そして、ステップS23に戻り、上述したステップS23以降の処理を実行する。
また、ステップS31において、ピーク値f’(np)が、予め設定されているスレッショールド値fthより大きいと判別したときには、そのピーク値f’(np)を取る離散時間(PN符号の位相)npを相関点として検出する(ステップS32)。
そして、検出した相関点npが、4個目であるか否か判別し(ステップS33)、4個目であると判別したときには、受信機位置計算処理を開始し、同期保持部30における同期保持処理をする(ステップS40)。その後、ステップS34に移行する。ステップS40の処理は、4個目以降でも行なうにようにしてもよい。
なお、ステップS32で検出した相関点npが得られるときの読み出しアドレスシフト量k'から、当該受信中のGPS衛星についてのドップラーシフト量およびGPS受信機の発振周波数の誤差を推定することができる。すなわち、受信信号のキャリア周波数を検知することができる。
ステップS33で、検出した相関点npが、4個目以外であると判別したときには、サーチすべきすべてのGPS衛星について、上述の拡散符号同期サーチ処理が終了したか否か判別し(ステップS34)、サーチすべきすべての衛星についての拡散符号同期サーチ処理が終了したと判別したときには、サーチ動作を終了する(ステップS39)。
また、ステップS34で、拡散符号同期サーチが終了していない衛星があると判別したときには、次に拡散符号同期サーチを行なう衛星を選択し、その選択した衛星が用いるPN符号にレプリカPN符号c(n)を変更する(ステップS35)。そして、ステップS23に戻り、上述したステップS23以降の処理を実行する。
以上説明したような同期捕捉の第2の例の処理動作を、図8のDSP23の内部構成のブロック図に反映させた構成図を図15に示す。この図15の各ブロックの出力には、上述したような信号出力および演算結果が示されている。
以上のようにして、同期捕捉の第2の例によれば、GPS衛星からの受信信号のキャリア周波数が未知であっても、FFTによる周波数領域での処理を積極的に用いて、受信信号のキャリアおよび衛星PN符号についての同期検出を行って、キャリア成分を除去することができる。したがって、FFTを利用したデジタルマッチドフィルタによるGPS受信信号の衛星PN符号とレプリカPN符号との相関点の検出を、高速、かつ簡単な構成で実現することができる。そして、メモリ102の読み出しアドレスのシフト量から、IFキャリア周波数を検出することができる。
なお、この第2の例の場合においても、それぞれの衛星に対応するレプリカPN符号を予めFFTしておいたものをメモリに記憶させておくことで、衛星信号の受信時におけるレプリカPN符号c(n)のFFT計算を省略することができる。
〔デジタルマッチドフィルタによる同期捕捉の第3の例〕
上述したように、デジタルマッチドフィルタによって受信信号とレプリカPN符号の相関点を検出する場合には、その相関点を検出する単位データ長は、PN符号の1周期長とするのが通常である。
しかし、GPS衛星からの受信信号では、前述したように、データの1ビットは、PN符号の20周期分であり、この20周期分では、すべて同じパターンの符号となっている。この同期捕捉の第3の例では、この特質を生かして、デジタルマッチドフィルタによって受信信号とレプリカPN符号の相関点を検出する単位データ長は、PN符号の複数周期長とする。サンプリング回路21におけるサンプリング周波数は、前述の例と同様でよい。
受信信号について、PN符号の複数周期分単位でFFT演算処理をすることにより、この第3の例によれば、IFキャリア周波数の検出精度が高くなると共に、受信感度が向上し、同じ時間領域の信号を累積加算する方法に比べて、PN符号の同期捕捉およびIFキャリア周波数のサーチがし易くなる。以下、この同期捕捉の第3の例を、さらに説明する。
時間領域において、PN符号のM周期(Mは2以上の整数)に渡って累積加算を行った1周期長のデータに対して相関点を検出する先行例がある(例えば米国特許4998111号明細書または「An Introduction to Snap TrackTM Server−Aided GPS Technology, ION GPS−98 Proceedings」参照)。
すなわち、図16に示すように、この先行例の方法においては、受信信号r(n)について、レプリカPN符号との乗算結果を、M周期分に渡って累積加算するものである。この先行例の方法は、GPS衛星からの受信信号の周期性とノイズの統計的な性質とを利用してC/Nを高めるもので、受信信号のキャリアおよび衛星PN符号についての同期が事前にとれている状態であれば、C/NがM倍に改善され、したがって受信感度(相関点の検出感度)はM倍に向上する。そして、キャリア周波数の検出精度のM倍に向上する。
しかし、受信信号のキャリアおよび衛星PN符号についての同期がとれていないと位相の異なるM個のキャリアが加算合成されてしまい、累積加算した結果においては肝心のGPS信号が相殺されてしまって相関ピークは検出できなくなる。
このため、受信信号のキャリア周波数が未知の場合には、キャリア周波数をサーチする必要があり、サーチする各々の周波数毎に累計加算を行なうといった効率の悪い操作を行なわざるを得なくなる。
これに対して、上述した同期捕捉の第1および第2の例では、上述したようにして周波数領域において、FFT結果のメモリからの読み出しアドレスをシフトするという簡便な方法により、受信信号のキャリアと衛星PN符号とについての同期がとれるので、累積加算の効果を最大限に発揮させることができる。
この同期捕捉の第3の例では、第2の例と同様に、GPS衛星からの受信信号のキャリア周波数は未知として、キャリア周波数のサーチを行なうのであるが、その場合に、受信信号r(n)については、PN符号のM周期分毎にFFTを行なうようにする。そして、このPN符号のM周期分毎に、受信信号のFFT結果のメモリからの読み出しアドレスのシフト量の制御による受信信号のキャリア周波数のサーチを行なう。
前述した図35の式(3)中のデータd(n)は、M≦20とすれば、PN符号のM周期中では1または−1の固定値になるので無視できる。すると、式(3)は、
r(n)=A・c(n)cos2πnf0 +n(n)
となり、これをM周期長で離散フーリエ変換すると、データの数はM×N(Nは拡散符号の1周期分のデータ数)なので、離散フーリエ変換後のkと実周波数fの関係は、サンプリング周波数fs に対して
0≦k≦MN/2では、f=kfs /MN
となり、
MN/2<k<MNでは、f=(k−MN)fs /MN(ただしf<0)
となって、分解能がM倍になる。
しかし、PN符号c(n)は周期信号であり、その1周期長の時間をT(GPSのC/AコードではT=1ミリ秒)とすると、f=1/T以下の精度の周波数成分はない。したがって、受信信号r(n)の離散フーリエ変換後のFFT結果R(K)(ただし、0≦K<MN)中のPN符号c(n)の周波数成分はM個おき、すなわち、MN個のデータのうちのN個の点に集中し、その振幅は、M周期分が累積加算されるため、1周期長での同じ周波数成分のM倍になる。説明の簡単のため、M=4としたときのスペクトラム例を図17に示す。
図17の例では、信号のスペクトラムがM=4個おきにあり、それらの間には信号成分はない。N個の点以外では、PN符号c(n)の周波数成分は0になる。一方、ノイズn(n)は、多くの場合、非周期信号であるから、MN個の全周波数成分にエネルギーが分散される。したがって、受信信号r(n)のFFT結果R(K)中におけるPN符号c(n)のN個の周波数成分の総和において、時間領域での累積加算と同様に、C/NがM倍向上することになる。
受信信号r(n)中に、式(3)に示したキャリア成分cos2πnf0がなければ、FFT結果R(k)中のPN符号c(n)の周波数成分は、K=i×M(ただし、0≦i<N)に集中するが、キャリア成分が存在するので、この第3の例では、メモリからのFFT結果R(K)の読み出しアドレスを、PN符号の1周期当たりについて、K=(i×M)−k0 として、キャリア周波数分のk0 だけ循環的にシフトするようにする。
以上説明した第3の例のDSP23の構成は、図8に示した第2の例の場合と同様となるが、RAM22の容量は、PN符号のM周期分、例えば16周期分(16ミリ秒)とされ、DSP23では、このPN符号のM周期分のデータ単位で、捕捉処理動作を行なう。上述の捕捉処理動作を、DSP23の内部構成に反映させた構成図を図18に示す。
すなわち、FFT処理部101からは、FFT演算処理単位をPN符号のM周期とするFFT結果R(K)が得られ、メモリ102に書き込まれる。この図18では、0≦k<N、0≦K<MNとしている。
そして、このメモリ102から、読み出しアドレスがシフト制御されてFFT結果が読み出されて乗算部103に供給され、メモリ106からのレプリカPN符号c(n)のFFT結果C(k)の複素共役と乗算される。
この第3の例の場合、この乗算部103から得られる相関関数F(k)は、図35の式(8)に示すようなものとなるようにされる。なお、式(8)で、kは、PN符号のFFT結果C(k)の複素共役におけるkであり、k0 については、f0 =k0 ・fs /MNである。
このとき、図18において、逆FFT処理部107から得られる相関関数f’(n)のピークは、R(K)がM周期のPN符号を含むので、0≦n<MNの範囲においてM個現れることになる。しかし、相関点の検出は、PN符号の1周期についての1個でよいので、逆FFT処理部107での計算は、前述の第1および第2の実施の形態の場合と同様に、0≦n<Nの範囲だけで済み、N≦n<MNにおける計算は必要ない。
以上のようにして、この第3の例によれば、受信信号r(n)のFFTをPN符号の1周期のM倍とすることにより、相関点の検出感度、したがって、受信感度を向上させることができる。この場合に、Mが大きいほど、受信感度が高くなるものである。したがって、Mの値を制御することにより、受信感度を制御することが可能になる。
なお、この第3の例の場合においても、それぞれの衛星に対応するレプリカPN符号をあらかじめFFTしておいたものをメモリに記憶させておくことで、衛星信号の受信時におけるレプリカPN符号c(n)のFFT計算を省略することができる。
〔デジタルマッチドフィルタによる同期捕捉の第4の例〕
前述の第3の実施の形態では、PN符号のM周期(M>1)分を含む受信信号r(n)をFFT処理することで、未知のキャリア周波数のサーチを可能にすると共に、受信感度の向上を図ることができるものであるが、データサンプルの数が、PN符号1周期分の場合のN個からM倍のMN個になるため、FFTの計算時間が長くなると共に、メモリ102の容量が大きくなる。同期捕捉の第4の例は、この問題を改善したものである。
図17に示したように、PN符号のM周期(M>1)をFFT処理単位とした場合のFFT結果R(K)中の周波数成分はM個おきにしか存在しないので、それらのM個おきの周波数成分の間の成分は不要である。
ここで、FFT結果R(K)(ただし、0≦K<NM)を、R(i×M)、R(i×M+1)、R(i×M+2)、・・・、R(i×M+M−1)(0≦i<N)のM組に分ける。説明の簡単のため、M=4組に分けた場合の、それぞれの組の分割スペクトラムの例を図19〜図22に示す。キャリア周波数は未知であるが、M組のうちの1組に、相関を検出する対象となるGPS信号のエネルギーがある。図19〜図22の例では、図19のR(i×M)の組に、受信信号r(n)の周波数成分が含まれ、それ以外の3つの分割スペクトラムにはノイズしかない状態を表している。
なお、実際の信号ではキャリア周波数k0は、正確にはk'=k0でないため、例えばk0がk0’とk0’+1との間、つまり、k0’≦k0<k0’+1であったとすると、k'=k0’と、k'=k0’+1との両方で相関が検出され、k0に近い方が大きな相関を示す。
FFT結果R(K)を前記のようにM組に分割した場合、Mが2のべき乗であれば、FFT計算手順の性質から、各組は、それぞれ独立に計算できる。
図23は、8個のデータg(0)〜g(7)のFFT計算の信号の流れ図である。図23のFFT結果G(K)を、4個おきのデータに分けるとすると、(G(0),G(4))、(G(1),G(5))、(G(2),G(6))、(G(3),G(7))の4組となる。この中の(G(0),G(4))に注目すると、図24に示す部分だけの計算でよいことが判る。そして、この計算の構造は、他の組(G(1),G(5))、(G(2),G(6))、(G(3),G(7))においても同様となるものである。
この4組のデータを1組ずつ調べることにすると、まず、(G(0),G(4))を計算し、調べ終わったら(G(0),G(4))を格納したメモリを開放して次の組に進む。(G(1),G(5))、(G(2),G(6))、(G(3),G(7))と、順次計算して調べ終わったらメモリを開放するという操作を行なうことにより、メモリは、G(0)〜G(7)を一括してFFTを求めるのに比べて、1/4のメモリ容量でよくなる。乗算回数は、M個に分割して計算した場合と全体を一括してFFT計算をした場合とでは同じになる。
上記の例と同様のことが、Mを2のべき乗にすることで、R(i×M)、R(i×M+1)、R(i×M+2)、・・・、R(i×M+M−1)に適用でき、FFT結果を格納するメモリの容量は、MNの1/M、すなわち、Nで済む。また、R(i×M)、R(i×M+1)、R(i×M+2)、・・・、R(i×M+M−1)の順で相関を検出する際に、途中の組で相関点が検出できてしまえば、残る組については調べる必要がなくなるので、PN符号のM周期毎の受信信号を一括してFFT処理して検出するより、処理時間が短くなると期待できる。
以上説明した同期捕捉の第4の例における同期捕捉部20での処理の流れを、図25および図26のフローチャートを参照しながら説明する。図25および図26の例ではFFTの回数を最小にするため、キャリア周波数のサーチを、各FFTの組毎に、対象とする衛星すべてについて相関検出を行なうようにしている。なお、この図25および図26のフローチャートは、主としてDSP23でのソフトウエア処理に対応するものである。
まず、R(K)(ただし、0≦K<NMであり、K=i×M+u)の分割組数についての変数u(0≦u<M)を初期化し(ステップS51)、次に、周波数変換部10からのIFデータをサンプリング回路21でサンプリングし、そのサンプリングデータを、PN符号のM周期分、例えば16周期分(16ミリ秒)、信号r(n)(ただし、0≦n≦MN)としてRAM22に取り込む(ステップS52)。次に、この信号r(n)をFFT処理部101でFFTし、そのFFT結果R(K)をメモリ102に書き込む(ステップS53)。次に、信号を受信したGPS衛星に対応するPN符号のFFT結果C(k)をメモリ106にセットする(ステップS54)。
次に、受信信号r(n)のFFT結果R(K)のメモリ102からの読み出しアドレスのシフト量の初期値k0’を、前述のステップS24と同様にして決定する(ステップS55)。そして、決定した初期値k0’を、メモリ102からのFFT結果の読み出しアドレスのシフト量k'として設定すると共に、シフト制御の変更回数tを、初期値t=0にセットする(ステップS56)。
次に、メモリ102から、受信信号r(n)のFFT結果R(K)を、その読み出しアドレスを、k'だけシフトして読み出す(ステップS57)。そして、読み出したFFT結果R(K−k')と、レプリカPN符号のFFT結果C(k)の複素共役とを乗算して相関関数F’(k)を求める(ステップS58)。
次に、この相関関数F’(k)の逆FFTを行って時間領域の関数f’(n)を求める(ステップS59)。そして、この関数f’(n)について、ピーク値f’(np)を求め(ステップS60)、そのピーク値f’(np)が予め設定されているスレッショールド値fthより大きいかどうか判別する(図26のステップS61)。
ステップS61での判別の結果、ピーク値f’(np)が、予め設定されているスレッショールド値fthより小さいときには、相関点が検出できなかったとして、シフト制御の変更回数tが予め設定された最大値tmaxよりも小さいかどうか判別する(ステップS62)。この最大値tmaxは、周波数に換算したときに、1kHzに相当する。
そして、シフト制御の変更回数tが予め設定された最大値tmaxよりも小さいと判別したときには、シフト制御の変更回数tを1だけインクリメント(t=t+1)すると共に、新たなシフト量k'を、
k'=k'+(−1)×t
として(ステップS63)、ステップS57に戻る。そして、上述したステップS57以降の処理を繰り返す。
また、ステップS62で、シフト制御の変更回数tが、予め設定された最大値tmaxよりも大きいと判別したときには、そのように大きいと判別された回数が、現在のRAM22のデータに対して予め定められた所定回数以上となったか否か判別し(ステップS71)、前記所定回数以上でなければ、ステップS52に戻り、RAM22に新たなデータを取り込んで、以上の処理を繰り返す。
また、ステップS71で、前記所定回数以上であると判別したときには、すべての衛星について、上述の拡散符号同期サーチ処理が終了したか否か判別し(ステップS66)、すべての衛星についての拡散符号同期サーチ処理が終了したと判別したときには、変数uがM−1より小さいかどうか判別し(ステップS68)、小さいときには、変数uをインクリメントし(ステップS69)、その後、ステップS53に戻り、このステップS53以降の処理を繰り返す。
また、ステップS68で、変数uがM−1に等しいあるいはM−1より大きいと判別したときには、サーチ動作を終了する(ステップS70)。
また、ステップS66で、拡散符号同期サーチが終了していない衛星があると判別したときには、次に拡散符号同期サーチを行なう衛星を選択し、その選択した衛星が用いるPN符号にレプリカPN符号c(n)を変更する(ステップS67)。そして、ステップS54に戻り、上述したステップS54以降の処理を実行する。
また、ステップS61において、ピーク値f’(np)が、予め設定されているスレッショールド値fthより大きいと判別したときには、そのピーク値f’(np)を取る離散時間(PN符号の位相)npを相関点として検出すると共に、前記FFT結果R(K)のメモリ102からの読み出しアドレスのシフト量の初期値k0’を、そのときの読み出しアドレスのシフト量k'に設定し直す(ステップS64)。
そして、検出した相関点npが、4個目であるか否か判別し(ステップS65)、4個目であると判別したときには、CPU41は、受信機位置計算処理を開始し、同期保持部30における同期保持処理をする(ステップS72)。その後、ステップS66に進む。ステップS72の処理は、4個目以降でも行なうにようにしてもよい。
なお、ステップS64で検出した相関点npが得られるときのシフト量k'とR(k)の分割組数についての変数uから、当該受信中のGPS衛星についてのドップラーシフト量およびGPS受信機の発振周波数の誤差が推定することができる。
ステップS65で、検出した相関点npが、4個目以外であると判別したときには、ステップS66に進み、上述したステップS66以降の処理を実行する。
なお、前述した同期捕捉の第1の例の場合のように、キャリア周波数が既知である場合には、R(i×M)、R(i×M+1)、R(i×M+2)、・・・、R(i×M+M−1)の中で該当するものだけを計算すれば、PN符号の多周期分を含む時間分を単位として受信信号をFFTする方法は、同様に適用できる。
以上説明した第1〜第4の例の同期捕捉方法は、従来の手法であるスライディング相関器が原理的に時間を要するのに対し、FFTを用いたデジタルマッチドフィルタによる処理を高速なDSPで行なうようにしたことにより、処理時間の大幅な短縮が期待できる。特に、第3の例および第4の例の場合には、PN符号のM周期単位でFFT処理をするようにしたことにより、同期捕捉を高感度で行なうことができる。
さらに、第4の例の場合には、PN符号のM周期単位でFFT処理を、より高速に行なうようにすることができる。
以上のような同期捕捉方法によって、同期捕捉部20で4個以上のGPS衛星からの信号の同期捕捉ができれば、GPS受信機としては、それらのPN符号の位相とIFキャリア周波数とからGPS受信機の位置と速度を計算することが可能である。つまり、同期保持部30を設けなくても測位演算を行なうことは可能である。
しかし、GPS受信機として十分な高精度の測位および速度計算を行なうためには、高精度でPN符号の位相とIFキャリア周波数を検出する必要があり、そのためには、サンプリング回路21におけるサンプリング周波数を高くする、RAM22に取り込むIFデータの時間長を長くするといったことが必要になる。
さらに、同期捕捉部20にデジタルマッチドフィルタを用いた構成とした場合には、デジタルマッチドフィルタ自身は、同期保持機能を有しないことをも考慮しなければならない。
また、GPS受信機の外部から航法メッセージを取得しないとすると、同期捕捉部20は、4個以上のGPS衛星の航法メッセージを20ms毎に復調する必要があり、DSP23は常に同期の検出と航法メッセージの復調をかなり高速に行なう必要がある。
以上のように、同期捕捉部20のみにより、GPS受信機の位置計算および速度計算を十分な精度で行なおうとすると、ハードウエアのサイズ増によるコストアップと消費電力増となり、GPS受信機を実際に製造する際の大きな問題となってしまう。
そこで、この実施形態では、粗い精度での同期捕捉を専用の同期捕捉部20で行い、複数のGPS衛星信号の同期保持および航法メッセージの復調は同期保持部30で行なうものとしている。そして、同期捕捉部20は、検出したGPS衛星番号と、その衛星PN符号の位相と、IFキャリア周波数と、相関検出信号からなる信号強度の情報を、制御部40を通じて同期保持部30にデータとして渡し、後述するように、同期保持部30は、そのデータを初期値として動作を開始するようにする。
[同期保持部30の構成]
複数のGPS衛星信号の同期保持を並列して行なうために、同期保持部30は、1つずつのGPS衛星信号を1チャンネルとして、複数チャンネル分を備える構成とされる。
図27は、この実施形態における同期保持部30の構成例を示す。この同期保持部30は、nチャンネル分のチャンネル同期保持部30CH1、30CH2、・・・、30CHnと、コントロールレジスタ33とからなる。チャンネル同期保持部30CH1、30CH2、・・・、30CHnのそれぞれは、コスタスループ31とDLL(Delay Locked Loop)32とを備える。
コントロールレジスタ33は、制御部40のCPU41に接続され、後述するように、コスタスループ31やDLL32のループフィルタのパラメータや、フィルタ特性を定めるためのデータを受け取り、CPU41により指示されるチャンネルの、CPU41により指示される部位に、そのデータを設定するようにする。また、コントロールレジスタ33は、コスタスループ31やDLL32のループフィルタからの相関値情報や周波数情報を受け取り、CPU41からのアクセスに応じてそれらの情報をCPU41に渡すようにする。
〔コスタスループ31と、DLL32の構成〕
図28はコスタスループ31の構成例を示すブロック図であり、また、図29は、DLL32の構成例を示すブロック図である。
コスタスループ31は、IFキャリア周波数の同期保持、送信データである航法メッセージの抽出を行なう部分であり、DLL32は、GPS衛星信号の衛星PN符号の位相同期保持を行なう部分である。そして、コスタスループ31とDLL32とが協働し、GPS衛星信号についてスペクトラム逆拡散を行って、スペクトラム拡散前の信号を得るとともに、このスペクトラム拡散前の信号を復調して航法メッセージを得て、制御部40のCPU41に供給する。以下、コスタスループ31とDLL32との動作について具体的に説明する。
〔コスタスループ31について〕
周波数変換部10からのIFデータは、乗算器201に供給される。この乗算器201には、図29に示すDLL32のPN符号発生器320からのレプリカPN符号が供給される。
DLL32のPN符号発生部320からは、一致(プロンプト)PN符号P、進み(アーリ)PN符号E、遅れ(レート)PN符号Lの、3つの位相のレプリカPN符号が発生する。DLL32では、後述するように、進みPN符号Eおよび遅れPN符号Lと、IFデータとの相関を計算し、それぞれの相関値が等しくなるように、PN符号発生器320からのレプリカPN符号の発生位相を制御し、これにより、一致PN符号Pの位相が、GPS衛星信号の衛星PN符号の位相と一致するようにする。
コスタスループ31の逆拡散用の乗算器201には、PN符号発生器320からの一致PN符号Pが供給されて、逆拡散される。この乗算器201からの逆拡散されたIFデータは、乗算器202および203に供給される。
コスタスループ31は、図28に示すように、乗算器202および203と、ローパスフィルタ204,205と、位相検出器206と、ループフィルタ207と、NCO(Numerical Controlled Oscillator;数値制御型発振器)208と、相関検出器209と、2値化回路210と、PN符号ロック判定部211と、スイッチ回路212と、IFキャリアロック判定部213とからなっている。
ローパスフィルタ204,205のカットオフ周波数情報と、ループフィルタ207のフィルタ特性を定めるパラメータと、NCO208の発振中心周波数を定めるための周波数情報とは、後述するように、同期捕捉部20での同期捕捉結果に基づいて、CPU41からコントロールレジスタ33を通じて設定される。
スイッチ回路212は、コスタスループ31のループを開閉制御するためのもので、CPU41からの切り換え制御信号によりオンオフされる。なお、同期保持動作がスタートする前の初期的な状態では、スイッチ回路212はオフとされ、ループ開の状態とされ、後述するように、同期保持動作がスタートして、コスタスループの相関検出器209の相関出力が有意なレベルとなったときに、このスイッチ回路212がオンとされて、ループ閉とされるようにされる。
乗算器201において逆拡散された信号は、乗算器202、203に供給される。これら乗算器202,203には、制御部40のCPU41からの周波数情報により、ほぼIFキャリア周波数にされたNCO208からの、直交位相のI(Cosine)信号と、Q(Sine)信号とが供給される。
これら乗算器202および203の乗算結果は、ローパスフィルタ204および205を通じて位相検出器206に供給される。ローパスフィルタ204および205は、制御部40のCPU41からのカットオフ周波数情報の供給を受け、これに供給された信号の帯域外ノイズを除去するものである。
位相検出器206は、ローパスフィルタ204および205からの信号に基づいて、IFキャリアとNCO208からの周波数信号との位相誤差を検出し、この位相誤差をループフィルタ207を介してNCO208に供給する。これによりNCO208が制御されて、NCO208からの出力周波数信号の位相が、IFキャリア成分に同期するようにされる。
なお、ループフィルタ207は、制御部40のCPU41から供給されるパラメータに応じて、位相検出器206からの位相誤差情報を積分して、NCO208を制御するNCO制御信号を形成するものである。NCO208は、ループフィルタ207からのNCO制御信号によって、前述したように、NCO208からの出力周波数信号の位相が、IFキャリア成分に同期するようにされる。
また、コスタスループ31のローパスフィルタ204および205の出力は、相関検出器209に供給される。相関検出器209は、これに供給されるローパスフィルタ204および205の出力信号をそれぞれ自乗して加算して出力する。この相関検出器209の出力は、IFデータとPN符号発生器320からの一致PN符号Pとの相関値CV(P)示すものである。この相関値CV(P)は、コントロールレジスタ33を通じて制御部40のCPU41に渡される。
そして、ローパスフィルタ204の出力信号は2値化回路210に供給されており、この2値化回路210より航法メッセージデータが出力される。
また、相関検出器209からの相関値CV(P)出力は、PN符号ロック判定部211に供給される。PN符号ロック判定部211は、相関値CV(P)出力と、予め定められているスレッショールド値とを比較し、相関値CV(P)出力がスレッショールド値よりも大きいときには、同期保持がロック状態であることを示し、相関値CV(P)出力がスレッショールド値よりも小さいときには、同期保持がアンロック状態であることを示すPN符号ロック判定出力を出力する。
この実施形態では、このPN符号ロック判定出力は制御部40のCPU41に送られ、CPU41は、このPN符号ロック判定出力から、同期保持部30におけるPN符号のロック状態、アンロック状態を認識するようにする。CPU41は、このPN符号ロック判定出力からは、PN符号の同期が保持されていることのみを判定する。したがって、CPU41は、このPN符号ロック判定出力からでは、PN符号の同期は取れているが、IFキャリアのロックが外れた状態の検知は行なわない。CPU41は、IFキャリアロック判定部213の出力から、IFキャリアの周波数ロックは外れたか否かの判定を行なう。
IFキャリアロック判定部213には、ローパスフィルタ204および205の出力は供給される。このIFキャリアロック判定部213では、ローパスフィルタ204および205の出力の絶対値の比を求め、その比の値が予め定めたスレッショールド値以上であるときには、IFキャリアの同期がロック状態であることを示し、そうでなかったときには、IFキャリアの同期が外れた状態(アンロック状態)であることを示すIFキャリアロック判定出力を出力する。
すなわち、IFキャリアロック判定出力は、ローパスフィルタ204の出力をIo、ローパスフィルタ205の出力をQoとし、前記スレッショールド値をthとしたとき、
|Io|/|Qo|>th
であるときにはロック状態、そうでなければ、アンロック状態を示すものとなる。
この実施形態では、このIFキャリアロック判定出力は制御部40のCPU41に送られる。CPU41は、このIFキャリアロック判定出力から、IFキャリアについてのロック状態、アンロック状態を認識するようにする。
〔DLL32について〕
図29に示すように、DLL32においては、周波数変換部10からのIFデータは、乗算器301および311に供給される。そして、乗算器301には、PN符号発生器320からの進みPN符号Eが供給され、また、乗算器311には、PN符号発生器320からの遅れPN符号Lが供給される。
乗算器301は、IFデータと進みPN符号Eとを乗算することにより、スペクトラム逆拡散を行い、この逆拡散がなされた信号を乗算器302、303に供給する。そして、乗算器302には、前述のコスタスループ31のNCO208からのI信号が供給され、乗算器303には、NCO208からのQ信号が供給される。
乗算器302は、逆拡散されたIFデータとNCO208からのI信号とを乗算し、その結果をローパスフィルタ304を通じて相関検出器306に供給する。同様に、乗算器303は、逆拡散されたIFデータとNCO208からのQ信号とを乗算し、その結果をローパスフィルタ305を通じて相関検出器306に供給する。
なお、ローパスフィルタ304、305は、コスタスループ31のローパスフィルタ204,205と同様に、制御部40のCPU41からのカットオフ周波数情報の供給を受け、これに供給された信号の帯域外ノイズを除去するものである。
相関検出器306は、これに供給されるローパスフィルタ304,305からの出力信号をそれぞれ自乗して加算して出力する。この相関検出器306からの出力は、IFデータと、PN符号発生器320からの進みPN符号Eとの相関値CV(E)示すものである。この相関値CV(E)は、位相検出器321に供給されるとともに、コントロールレジスタ33に格納され、制御部40のCPU41が用いることができるようにされる。
同様に、乗算器311は、IFデータと遅れPN符号Lとを乗算することにより、スペクトラム逆拡散を行い、この逆拡散がなされた信号を乗算器312、313に供給する。乗算器312には、前述したように、NCO208からのI信号が供給され、乗算器313には、NCO208からのQ信号が供給される。
乗算器312は、逆拡散されたIFデータとNCO208からのI信号とを乗算し、その結果をローパスフィルタ314を通じて相関検出器316に供給する。同様に、乗算器313は、逆拡散されたIFデータとNCO208からのQ信号とを乗算し、その結果をローパスフィルタ315を通じて相関検出器316に供給する。ローパスフィルタ314、315は、前述のローパスフィルタ304、305と同様に、制御部40のCPU41からのカットオフ周波数情報の供給を受け、これに供給された信号の帯域外ノイズを除去するものである。
相関検出器316は、これに供給されるローパスフィルタ314,315からの出力信号をそれぞれ自乗して加算し、その演算結果を出力する。この相関検出器316からの出力は、IFデータと、PN符号発生器320からの遅れPN符号Lとの相関値CV(L)を示すものである。この相関値CV(L)は、位相検出器321に供給されるとともに、コントロールレジスタ33に格納され、制御部40のCPU41が用いることができるようにされる。
位相検出器321は、相関検出器306からの相関値CV(E)と、相関検出器316からの相関値CV(L)との差分として、一致PN符号PとGPS衛星信号の衛星PN符号との位相差を検出し、その位相差に応じた信号をループフィルタ322を介してNCO323の数値制御信号として供給する。
PN符号発生器320には、このNCO(Numerical Controlled Oscillator;数値制御型発振器)323の出力信号が供給されており、このNCO323の出力周波数が制御されることにより、PN符号発生器320からのPN符号の発生位相が制御される。
なお、NCO323は、後述するように、同期捕捉部20の同期捕捉結果に応じた制御部40のCPU41からの初期発振周波数を制御する周波数情報の供給を受ける。
以上のDLL32におけるループ制御により、NCO323が制御されて、PN符号発生器320は、相関値CV(E)と相関値CV(L)とが同じレベルとなるように、PN符号P、E,Lの発生位相を制御する。これにより、PN符号発生器320から発生する一致PN符号Pが、IFデータをスペクトラム拡散しているPN符号と位相同期するようにされ、この結果、一致PN符号PによりIFデータが正確に逆スペクトラム拡散され、コスタスループ31において、2値化回路210から航法メッセージデータが復調されて出力される。
そして、その航法メッセージデータの復調出力は、図示しないデータ復調回路に供給されて制御部40で使用可能なデータに復調された後、制御部40に供給される。制御部40では、航法メッセージデータは、測位計算に用いられ、また、適宜、軌道情報(アルマナック情報やエフェメリス情報)が抽出されて、不揮発性メモリ46に格納される。
なお、DLL32のループフィルタ322は、前述したコスタスループ31のループフィルタ207と同様に、制御部40のCPU41から供給されるパラメータに基づいて、位相検出器321からの位相誤差情報を積分して、NCO323を制御するNCO制御信号を形成するものである。
DLL32においても、ループフィルタ322と、NCO323との間に、ループの開閉制御用のスイッチ回路324が設けられ、CPU41からの切り換え制御信号によりオンオフされる。
なお、同期保持動作がスタートする前の初期的な状態では、スイッチ回路324はオフとされ、ループ開の状態とされ、後述するように、同期保持動作がスタートして、コスタスループの相関検出器209の相関出力が有意なレベルとなったときに、このスイッチ回路324がオンとされて、ループ閉とされるようにされる。
[同期捕捉から同期保持への移行について]
この実施形態では、前述したように、同期捕捉部20は、検出したGPS衛星番号と、その衛星PN符号の位相と、IFキャリア周波数と、信号強度の情報とを、データとして制御部40のCPU41に渡す。なお、信号強度の情報は、同期保持処理への移行のための情報としては、必須のものではない。
取得したデータに基づいて制御部40のCPU41は、同期保持部30に供給するデータを生成し、それを同期保持部30に渡す。同期保持部30はそのデータを初期値として同期保持動作を開始するようにする。
制御部40のCPU41から同期保持部30に渡されるデータは、DLL32のPN符号発生器320からのレプリカPN符号の発生位相を制御するNCO323の初期発振周波数(発振中心周波数)を決定するための数値情報と、コスタスループ31のNCO208の初期発振周波数(発振中心周波数)を決定するための数値情報と、ループフィルタ207および322のフィルタ特性を決定するためのパラメータと、ローパスフィルタ204,205,304,305,314,315のカットオフ周波数を決定して、その周波数帯域の広狭を決定するための係数情報である。
このとき、CPU41から同期保持部30に供給される情報は、同期保持部30で、PN符号の同期保持およびIFキャリアの同期保持を開始する位相や周波数、また、フィルタ特性を定めるための初期値データであるが、CPU41は、同期捕捉部20で同期捕捉した結果として検出されたPN符号の位相およびIFキャリア周波数の近傍から同期保持を開始するように、前記初期値データを生成する。
したがって、同期保持部30では、同期捕捉部20で検出されたPN符号の位相近傍および検出されたIFキャリア周波数の近傍から同期保持動作を開始して、迅速に同期保持のロック状態にすることができるようになる。
ところで、GPS受信機が位置および速度を計算するためには、同期捕捉開始から4個以上のGPS衛星に対して同期を確立し、保持しなければならない。同期捕捉部20と同期保持部30および両者を制御するCPU41とによって、4個以上のGPS衛星からの信号の同期を保持するまでの過程(以下、この過程を同期捕捉・同期保持過程と呼ぶ)には複数の方法がある。同期捕捉・同期保持過程の幾つかの例を次に説明する。
〔同期捕捉・同期保持過程の第1の例〕
この第1の例では、同期捕捉部20は、GPS衛星信号の一つを同期捕捉すると、すぐに、CPU41に、同期保持動作開始のための割り込み指示と、同期捕捉結果としてのGPS衛星番号、その衛星PN符号の位相、IFキャリア周波数、相関検出レベルを表わす信号強度を転送し、転送が終わると別のGPS衛星についての同期捕捉に移る。
CPU41は、同期捕捉部20からの割り込み指示を受け取る毎に、同期保持部30に対して独立のチャンネルの割り当てを行なうと共に、初期値の設定を行って、同期保持動作を開始させるようにする。
図30は、この同期捕捉・同期保持過程の第1の例における同期捕捉部20での同期捕捉処理の流れを説明するためのフローチャートである。
まず、同期捕捉のための初期設定を行なう(ステップS81)。この初期設定においては、同期捕捉のためにサーチするGPS衛星およびそのサーチの順番を、GPS受信機が不揮発性メモリ46に記憶している有効な軌道情報に基づいて設定する。また、その軌道情報から、ドップラーシフトを考慮したキャリア周波数を計算して、サーチするIFキャリア周波数の中心と範囲を設定するようにする。
また、電源投入前の過去の動作で得た大体の発振器誤差が、GPS受信機で判明しているのであれば、GPS受信機位置を電源投入時に記憶されている位置、すなわち、前回電源を切る直前の位置と仮定して、軌道情報から計算したドップラーシフトに合わせて、サーチするIFキャリア周波数の中心と範囲を決めるようにすると、さらに同期保持に至るまでに要する時間を短縮できる。
初期設定が終了したら、サーチの順番に従って、同期捕捉する一つのGPS衛星を設定する(ステップS82)。これにより、同期捕捉対象の衛星番号が決まり、また、相関を検出しようとするPN符号が決まる。
次に、同期捕捉部20では、RAM22に、サンプリング回路21でサンプリングしたIFデータの取り込みを開始し、この開始タイミングで、タイマをスタートさせる(ステップS83)。ここで、このタイマとしては、制御部40のタイマ45を用いるようにする。このタイマ45は、後述のように、同期保持処理スタートタイミングを設定する際にも用いられる。
次に、DSP23において、前述したデジタルマッチドフィルタを用いた同期捕捉の例のいずれかを用いて、ステップS82で設定したGPS衛星信号の衛星PN符号について相関検出処理を行なう(ステップS84)。
そして、GPS衛星信号の衛星PN符号について相関が検出されたか否か、つまり、GPS衛星信号の同期捕捉ができたか否か判別し(ステップS85)、相関が検出できたときには、CPU41に対して割り込み指示を発生させると共に、同期捕捉の検出結果として、GPS衛星番号、衛星PN符号の位相、IFキャリア周波数、信号強度の情報をCPU41に渡す(ステップS86)。
そして、サーチすべきGPS衛星のすべてについての同期捕捉サーチが終了したか否か判別し(ステップS87)、未だサーチすべきGPS衛星が残っているときには、ステップS82に戻り、同期捕捉する次のGPS衛星を設定して、以上の同期捕捉処理を繰り返す。また、ステップS87で、サーチすべきすべてのGPS衛星についての同期捕捉が終了したと判別したときには、同期捕捉動作を終了して、同期捕捉部20を待機状態(スタンバイ状態)にする。
また、ステップS85で相関が検出できないと判別したときには、その状態が予め定めた所定時間以上経過したか否か判別し(ステップS88)、所定時間経過していなければ、ステップS85に戻って、相関検出を継続する。
ステップS88で、所定時間経過したと判別したときには、ステップS87に進み、サーチすべきGPS衛星のすべてについての同期捕捉サーチが終了したか否か判別し、未だサーチすべきGPS衛星が残っているときには、ステップS82に戻り、同期捕捉する次のGPS衛星を設定し、以上の同期捕捉処理を繰り返す。
また、ステップS87で、サーチすべきすべてのGPS衛星についての同期捕捉が終了したと判別したときには、同期捕捉動作を終了して、同期捕捉部20を待機状態(スタンバイ状態)にする。
この実施形態では、CPU41は、同期捕捉部20への電源供給のオンオフ制御、または、この同期捕捉部20に対する逓倍/分周回路3からの動作クロックの供給のオンオフ制御を行なうことができるように構成されており、上記の同期捕捉部20のスタンバイ状態では、CPU41により、同期捕捉部20への電源の供給はオフ、または、動作クロックの供給が停止されて、不要な消費電力が抑えられている。
同期捕捉部20を、上述のように、デジタルマッチドフィルタで構成すると、DSP23でのFFT計算を速くするためには高いクロックで動作させることが望ましく、したがって、動作時の消費電力が大きくなるが、同期捕捉部20において、初期設定したすべてのGPS衛星からの信号の同期捕捉検出が終わり、同期保持部30で4個以上の同期保持ができていれば、同期捕捉部20の役割は終了する。
この実施形態では、上述のように、CPU41は、同期捕捉部20の役割終了後は、スタンバイ状態にしているので、同期捕捉部20における不要な消費電力が抑えられている。
なお、上記の例では、初期設定したすべてのGPS衛星についての同期捕捉が完了した後、CPU41は、同期捕捉部20をスタンバイ状態に移行させるようにしたが、同期保持部30で同期保持できたGPS衛星が4個以上になったことを確認してから、CPU41が同期捕捉部20をスタンバイ状態に移行させるようにしてもよい。
なお、CPU41は、一旦、スタンバイ状態になった同期捕捉部20を、再同期捕捉が必要な状態になったときに、動作状態に復帰させるようにすることができることは勿論である。
次に、同期捕捉部20からの割り込み指示を受けたCPU41による同期保持部30の制御処理について、図31および図32のフローチャートを参照しながら説明する。
図31は、CPU41が、同期捕捉部20から、割り込み指示および同期捕捉結果としての衛星PN符号の位相、IFキャリア周波数、GPS衛星番号、信号強度の情報を受け取ったときに、同期保持部30においてチャンネル割り当てし、同期保持スタートをさせるための処理である。また、図32は、CPU41が、同期保持スタートさせた同期保持部30の各1チャンネルにおいての同期保持処理制御のためのフローチャートである。まず、図31の同期保持スタート処理について説明する。
まず、GPS受信機への電源投入時などにおいて、CPU41は、同期保持部30のNCO、ローパスフィルタ、ループフィルタなどへ定数の初期設定を行っておく(ステップS91)。なお、このとき、コスタスループ31およびDLL32は、いずれも初期状態はループ開とされる。
次に、CPU41は、同期捕捉部20からの割り込み指示を監視し(ステップS92)、割り込み指示を検出したときには、同期捕捉部20から、GPS衛星番号、衛星PN符号の位相、IFキャリア周波数、信号強度の情報を受け取ると共に、同期保持部30に対して、受け取ったGPS衛星番号に対して独立のチャンネルを割り当てるようにする設定する(ステップS93)。
そして、CPU41は、同期捕捉部20から受け取った衛星PN符号の位相から、同期保持スタートタイミングを計算するとともに、同期保持部30の、割り当てられたチャンネル内の各部に供給する初期値を、同期捕捉部20から受け取ったIFキャリア周波数に基づいて生成する(ステップS94)。
そして、CPU41は、生成した初期値を、コントロールレジスタ33を通じて同期保持部30の、ステップS93で割り当てられたチャンネル内の各部に送ると共に、同期保持部30の、ステップS93で割り当てられたチャンネル内のPN符号発生器320からの一致PN符号Pの発生位相を、前記同期保持スタートタイミングとするように制御して、同期保持動作をスタートさせる(ステップS95)。なお、このとき、コスタスループ31およびDLL32のループは開のままとする。
以上のようにして、同期捕捉されたGPS衛星信号について、同期保持のためのチャンネルが割り当てられ、同期保持スタートを行ったら、ステップS92に戻り、次の割り込みを待つ。
次に、以上のようにしてスタートしたチャンネル毎の同期保持処理を、図32のフローチャートについて説明する。
CPU41は、まず、同期保持部30からの相関値CV(P)が有意なレベルになったか否か判別し(ステップS101)、相関値CV(P)が有意なレベルになったら、コスタスループ31およびDLL32のループを閉じて、同期保持動作を行なう(ステップS102)。
次に、CPU41は、同期保持部30のコスタスループ31のロック判定部211からのロック判定出力を監視し(ステップS103)、同期保持部30のロックを確認したときには、同期保持しているGPS衛星の数を1だけインクリメントし(ステップS104)、同期保持状態を継続する(ステップS105)。
そして、CPU41は、この同期保持動作中において、コスタスループ31のロック判定部211からのロック判定出力を監視し(ステップS106)、同期保持のロックを確認したときには、ステップS105に戻って、同期保持状態を継続する。そして、ステップS106で同期保持のロックが外れたと判別したときには、同期保持しているGPS衛星の数を1だけデクリメントし(ステップS107)、同期保持が外れたときの処理を行なうようにする。この同期保持が外れたときの処理については、その説明は省略する。
CPU41は、同期保持部30で4個以上のGPS衛星信号の同期保持ができたと判別したときには、GPS受信機の位置の計算および速度の計算を行なうようにする。
ステップS101において、相関値CV(P)が有意なレベルにならないと判別したときには、その状態が予め定めた所定時間以上経過しかたどうか判別し(ステップS109)、所定時間以上経過したと判別したときには、図31のステップS93で割り当てた同期保持部30のチャンネルを空きチャンネルに戻し、当該チャンネルの同期保持を停止する(ステップS110)。
また、ステップS103において、ロック判定出力によりロック状態が検出できなかったときには、その状態が予め定めた所定時間以上経過しかたどうか判別し(ステップS111)、所定時間以上経過したと判別したときには、ステップS93で割り当てた同期保持部30のチャンネルを空きチャンネルに戻し、当該チャンネルの同期保持を停止する(ステップS110)。
ステップS109、ステップS111およびステップS110の部分は、次のような理由により設けられたものである。すなわち、同期捕捉部20が検出した相関が有意なレベルであっても、ノイズで偶々発生した偽の同期である場合もあり得る。突発的に生じたような持続性のない偽の同期に対しては、同期保持部30で同期が確立することはない。そこで、同期保持部30で一定のサーチ時間内に同期が確立できない場合には、同期保持動作を停止して、割り当てられたチャンネルを、空きチャンネルの状態に戻し、次の割り込みを待つようにしたものである。
ところで、前述の図31のステップS94では、CPU41は、同期捕捉部20で検出した衛星PN符号の位相に、同期保持部30のPN符号発生器320からのレプリカPN符号の位相を合わせるように、同期保持部30の同期保持スタートタイミングを計算する必要があるが、その計算の際には、同期捕捉部20で、一つのGPS衛星信号についての同期捕捉が完了するまでに所定時間が経過しており、ドップラーシフトと、GPS受信機の基準発振器2の誤差の影響を受けることを考慮する必要がある。
後者の問題は、IFキャリア周波数が、周波数変換部10からのIFデータのメモリに取り込むためのサンプリングクロックを生成している大元の基準発振器2の誤差を含むことによる。
なお、この実施形態では、同期捕捉部20と同期保持部30とが同じ基準発振器2を発信源とするクロックで動作しているので、同期捕捉部20と同期保持部30とでは、全く同じ周波数誤差を持つことになる。したがって、IFキャリアの同期に関しては、同期保持部30が同期捕捉部20で検出したIFキャリア周波数を初期値として動作を開始することに関しては、全く問題ない。
〔同期保持のスタートタイミングを決定方法の例〕
ステップS94における同期保持のスタートタイミングを決定する方法の例について説明する。
同期保持のスタートタイミングとしては、GPS受信機の基準発振器2の誤差の影響を受けるが、基本的には、PN符号は1ミリ秒の周期で繰り返されるので、同期保持部30におけるPN符号のスタートタイミングは、1ミリ秒の整数倍ずれていても問題はない。
そこで、この例では、同期捕捉部20が、IFデータをRAM22に取り込むタイミングでタイマ45をスタートさせていることを利用して、このRAM22に記憶しているIFデータについて、同期捕捉部20が衛星PN符号のレプリカPN符号に対する位相差hを検出したとき、CPU41は、同じタイマ45を用いて、1ミリ秒の整数倍から、その検出位相差hだけずらした時点において、同期保持部30のPN符号発生器320で生成する一致PN符号Pをスタートさせることで、受信信号の衛星PN符号に位相を合わせるようにする。
図33は、その状態を説明するための図である。図33(A)は、IFデータを示しており、PNは、その衛星PN符号を意味している。図33(B)に示すように、IFデータの衛星PN符号に対して、図のようにhだけ位相がずれたタイミングで、RAM22にIFデータを取り込んだ場合、DSP23では、その位相差hを、衛星PN符号の位相の情報(DLL32のPN符号発生器320をリセットする位相)として検出する。
しかし、その位相差hを同期捕捉部20が検出した時点は、図33(C)に示すように、タイマ45をRAM22へのIFデータの取り込みタイミングでスタートさせた時点から、数ミリ秒経過した時点となっていたとする。
CPU41は、同期捕捉部20からPN符号についての位相差hを受け取った時点が、タイマ45で計測している時間の1ミリ秒単位の中間の時点であったときには、当該1ミリ秒単位の時間の経過を待ち、それにPN符号についての位相差h分を加えた時点を同時保持スタートタイミングとして、同期保持部30のPN符号発生器320の発生位相をリセットする。
これにより、同期保持部30のPN符号発生器320の一致PN符号Pの発生位相を、同期捕捉部20で捕捉したGPS衛星信号の衛星PN符号の位相にほぼ合わせることができ、同期を確立するまでの時間を短時間にすることができる。
従来のコスタスループ+DLLの役割においては、受信信号における衛星PN符号の位相がわからないため、DLLで生成するIFキャリア周波数とレプリカPN符号の周期を少しずらし、IFデータの衛星PN符号に対して位相がスライドしていく中で有意な強度の相関が出る位相を、最悪の場合、数kHzの範囲のキャリア周波数とPN符号の符号長1023におけるすべての位相に対して検出を行なうため、同期を確立するまでにかなりの時間を要する。
しかし、上述の実施形態においては、同期保持部30は、コスタスループ31およびDLLを用いる基本的な構成は従来と同じでありながら、同期保持部30が受け取った衛星PN符号の位相とIFキャリア周波数の初期値は、真値からわずかしかずれていないため、有意な強度の相関がある位相は誤差を含めても初期値の近辺に必ず存在する。
そして、同期保持部30は、まず、スイッチ回路212および324をオフにして、コスタスループ31およびDLL32のNCO208および323を、ループフィルタ207および322からの制御を止めた状態、つまり、ループを開の状態にして、それぞれのNCO208および323を初期値付近で変えながら有意な強度の相関を探す。そして、相関を検出したら、スイッチ回路212および324をオンにして、DLL32とコスタスループ31のループフィルタ207および322からのループ制御に切り換えるようにしている。
このため、DLL32におけるPN符号の位相同期確立およびコスタスループ31におけるIFキャリアの位相の同期確立は極めて短時間に行われ、以降、同期を保持し続けることができる。
この場合、IFキャリア周波数は、例えば数十Hzの精度で初期値が設定できるので、コスタスループ31およびDLL32のローパスフィルタおよびループフィルタの帯域幅は最初から狭くすることができ、S/Nが高い状態で同期を確立することができる。
同期保持部30を、例えば1.023MHz×16=16.368MHzのクロックで動作させ、DLL32において、PN符号の位相を1/16.368MHzの時間分解能で検出すれば、1/16チップの精度でPN符号の位相から、GPS衛星とGPS受信機間の擬似距離を計算でき、また、コスタスループ31のNCO208を、1Hz単位で制御できる構成にすれば、IFキャリア周波数の分解能は1Hzとなり、DLL32とコスタスループ31は、その精度で同期を保持できる。
[その他の実施形態]
以上の実施形態の説明では、同期捕捉部20からの検出結果は、CPU41を介して同期保持部30に渡すようにしたが、同期捕捉部20から、同期保持部30に直接的に渡すように構成することができるものである。
また、上述の例では、同期捕捉部20には、デジタルマッチドフィルタを用いた例としたが、この発明では、粗い精度の同期捕捉を同期捕捉部が行い、その結果を同期保持部に渡して、同期確立までを高速化することが目的であるので、同期捕捉部20は、デジタルマッチドフィルタを用いた例に限られるものではない。
また、デジタルマッチドフィルタには、上述の例のようなFFTを用いた例のみではなく、前述したように、トランスバーサルフィルタを用いた構成とすることができるものである。
また、この発明は、上述のような同期捕捉部と同期保持部とに分ける構成のGPS受信機に限られるものではなく、従来例として説明した、周波数サーチを伴うスライディング相関によりキャリアおよび拡散符号についての同期検出を行なうと同時に、DLLとコスタスループとにより、同期捕捉および同期保持動作をするようにするGPS受信機にも、この発明は適用可能である。
この発明によるGPS受信機の構成例を示すブロック図である。 図1の一部である同期捕捉部の構成例を示すブロック図である。 図2の同期捕捉部の一部を構成するDSPの内部構成例を示すブロック図である。 デジタルマッチドフィルタを用いたPN符号の相関結果の例を示す図である。 受信信号のキャリアとPN符号との同期を取る方法の一般的な例を説明するための図である。 この発明の実施形態において、同期捕捉方法の第1の例を説明するための図である。 同期捕捉方法の第1の例の動作を考慮した要部の構成を示す図である。 同期捕捉方法の第2の例を説明するための図である。 この発明の実施形態における同期捕捉方法の要部を説明するための図である。 この発明の実施形態における同期捕捉方法の要部を説明するための図である。 この発明の実施形態の要部の例の動作を説明するためのフローチャートの一部を示す図である。 この発明の実施形態の要部の例の動作を説明するためのフローチャートの一部を示す図である。 同期捕捉方法の第2の例の動作を説明するためのフローチャートの一部を示す図である。 同期捕捉方法の第2の例の動作を説明するためのフローチャートの一部を示す図である。 同期捕捉方法の第2の例の動作を考慮した要部の構成を示す図である。 同期捕捉方法の第3の例を説明するための図である。 同期捕捉方法の第3の例を説明するための図である。 同期捕捉方法の第3の例の動作を考慮した要部の構成を示す図である。 同期捕捉方法の第4の例を説明するための図である。 同期捕捉方法の第4の例を説明するための図である。 同期捕捉方法の第4の例を説明するための図である。 同期捕捉方法の第4の例を説明するための図である。 同期捕捉方法の第4の例を説明するための図である。 同期捕捉方法の第4の例を説明するための図である。 同期捕捉方法の第4の例の動作を説明するためのフローチャートの一部を示す図である。 同期捕捉方法の第4の例の動作を説明するためのフローチャートの一部を示す図である。 図1の一部である同期保持部の構成例を示すブロック図である。 図27の同期保持部の一部を構成するコスタスループの構成例を示すブロック図である。 図27の同期保持部の一部を構成するDLLの構成例を示すブロック図である。 同期捕捉処理の一例の流れを説明するためのフローチャートである。 同期保持スタート処理の流れを説明するためのフローチャートである。 チャンネル毎同期保持処理の流れを説明するためのフローチャートである。 実施形態における同期保持のスタートタイミングの決定方法の例を説明するための図である。 GPS衛星からの信号の構成を示す図である。 この発明の実施形態の説明に用いる図である。 この発明の実施形態の説明に用いる図である。
符号の説明
10…周波数変換部、20…同期捕捉部、21…サンプリング回路、22…RAM、23…DSP、24…DSP用メモリ、30…同期捕捉部、31…コスタスループ、32…DLL、33…コントロールレジスタ、40…制御部、41…CPU、44…時計回路、45…タイマ、46…軌道情報用メモリ、208、323…NCO、320…PN符号発生器、212、324…スイッチ回路、211…PN符号ロック判定部、213…IFキャリアロック判定部

Claims (10)

  1. 少なくとも1個のGPS衛星からの受信信号について同期保持がなされていて、前記受信信号の中間周波キャリア周波数が既知であり、前記同期保持されているGPS衛星についての軌道情報が記憶部に記憶されていると共に、前記受信信号の受信機の位置および現在時刻が既知である場合に、
    前記受信信号の中間周波キャリア周波数と、前記軌道情報および前記現在時刻から得られる前記同期保持されているGPS衛星の位置および速度と、前記受信機の位置とから、前記受信機の基準発振器の発信周波数誤差に基づく前記中間周波キャリア周波数の誤差としての中間周波キャリア誤差を算出し、当該算出した前記中間周波キャリア誤差により、前記中間周波キャリア周波数を補正し、当該補正した中間周波キャリア周波数を用いて他のGPS衛星からの受信信号の捕捉を行なう
    ことを特徴とするGPS受信方法。
  2. 請求項1に記載のGPS受信方法において、
    受信信号を同期保持しているGPS衛星が複数個、存在し、当該複数個のGPS衛星からの受信信号についての前記中間周波キャリア誤差が複数個、得られる場合には、前記複数個の前記中間周波キャリア誤差の平均を求め、当該平均の誤差により、前記中間周波キャリア周波数を補正し、当該補正した中間周波キャリア周波数を用いて他のGPS衛星からの受信信号の捕捉を行なう
    ことを特徴とするGPS受信方法。
  3. 請求項1に記載のGPS受信方法において、
    受信信号を同期保持しているGPS衛星が複数個、存在し、当該複数個のGPS衛星からの受信信号についての前記中間周波キャリア誤差が複数個、得られる場合には、前記複数個の受信信号のうちで、受信信号レベルが最も高い受信信号について得られた前記中間周波キャリア誤差により、前記中間周波キャリア周波数を補正し、当該補正した中間周波キャリア周波数を用いて他のGPS衛星からの受信信号の捕捉を行なう
    ことを特徴とするGPS受信方法。
  4. 請求項1に記載のGPS受信方法において、
    受信信号を同期保持しているGPS衛星が複数個、存在し、当該複数個のGPS衛星からの受信信号についての前記中間周波キャリア誤差が複数個、得られる場合には、前記複数個の受信信号のうちで、受信信号レベルが、予め定められた閾値よりも大きい受信信号について得られた前記中間周波キャリア誤差の平均値により、前記中間周波キャリア周波数を補正し、当該補正した中間周波キャリア周波数を用いて他のGPS衛星からの受信信号の捕捉を行なう
    ことを特徴とするGPS受信方法。
  5. 請求項1に記載のGPS受信方法において、
    前記求められた中間周波キャリア誤差を用いて、他のGPS衛星からの受信信号の捕捉を求める際の前記中間周波キャリア周波数を補正するのは、受信信号が同期保持されているGPS衛星が4個未満であるときとする
    ことを特徴とするGPS受信方法。
  6. GPS衛星からの受信信号を、与えられた中間周波キャリア周波数を用いて、同期捕捉し、捕捉した受信信号を同期保持する同期手段と、
    少なくとも1個のGPS衛星からの受信信号について同期保持がなされていて、前記受信信号の中間周波キャリア周波数が既知であり、前記同期保持されているGPS衛星についての軌道情報が記憶部に記憶されていると共に、受信機の位置および現在時刻が既知である場合に、前記受信信号の中間周波キャリア周波数と、前記軌道情報および前記現在時刻から得られる前記同期保持されているGPS衛星の位置および速度と、前記受信機の位置とから、前記受信機の基準発振器の発信周波数誤差に基づく前記中間周波キャリア周波数の誤差としての中間周波キャリア誤差を算出する誤差算出手段と、
    前記誤差算出手段で算出された前記中間周波キャリア誤差により、前記既知の中間周波キャリア周波数を補正して、前記同期手段に与える補正手段と、
    を備えることを特徴とするGPS受信機。
  7. 請求項6に記載のGPS受信機において、
    前記誤差算出手段は、受信信号を同期保持しているGPS衛星が複数個、存在し、当該複数個のGPS衛星からの受信信号についての前記中間周波キャリア誤差が複数個、得られる場合には、前記複数個の前記中間周波キャリア誤差の平均を求め、当該平均の中間周波キャリア誤差を前記補正手段に供給する
    ことを特徴とするGPS受信機。
  8. 請求項6に記載のGPS受信機において、
    前記誤差算出手段は、受信信号を同期保持しているGPS衛星が複数個、存在し、当該複数個のGPS衛星からの受信信号についての前記中間周波キャリア誤差が複数個、得られる場合には、前記複数個の受信信号のうちで、受信信号レベルが最も高い受信信号について得られた前記中間周波キャリア誤差を前記補正手段に供給する
    ことを特徴とするGPS受信機。
  9. 請求項6に記載のGPS受信機において、
    前記誤差算出手段は、受信信号を同期保持しているGPS衛星が複数個、存在し、当該複数個のGPS衛星からの受信信号についての前記中間周波キャリア誤差が複数個、得られる場合には、前記複数個の受信信号のうちで、受信信号レベルが、予め定められた閾値よりも大きい受信信号について得られた前記中間周波キャリア誤差の平均値を前記補正手段に供給する
    ことを特徴とするGPS受信機。
  10. 請求項6に記載のGPS受信機において、
    前記求められた中間周波キャリア誤差を用いて、他のGPS衛星からの受信信号の捕捉を求める際の前記中間周波キャリア周波数を補正するのは、受信信号が同期保持されているGPS衛星が4個未満であるときとする
    ことを特徴とするGPS受信機。
JP2004025178A 2004-02-02 2004-02-02 Gps受信方法およびgps受信機 Pending JP2005214916A (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2004025178A JP2005214916A (ja) 2004-02-02 2004-02-02 Gps受信方法およびgps受信機
US11/047,851 US7053827B2 (en) 2004-02-02 2005-01-31 GPS reception method and GPS receiver
EP05250501A EP1560036B1 (en) 2004-02-02 2005-01-31 GPS reception method and GPS receiver
DE602005001630T DE602005001630T2 (de) 2004-02-02 2005-01-31 Verfahren zum Empfangen von GPS Signalen und GPS Empfänger

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004025178A JP2005214916A (ja) 2004-02-02 2004-02-02 Gps受信方法およびgps受信機

Publications (1)

Publication Number Publication Date
JP2005214916A true JP2005214916A (ja) 2005-08-11

Family

ID=34650881

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004025178A Pending JP2005214916A (ja) 2004-02-02 2004-02-02 Gps受信方法およびgps受信機

Country Status (4)

Country Link
US (1) US7053827B2 (ja)
EP (1) EP1560036B1 (ja)
JP (1) JP2005214916A (ja)
DE (1) DE602005001630T2 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7535418B2 (en) 2004-05-14 2009-05-19 Seiko Epson Corporation Terminal apparatus, positioning method, control program for terminal apparatus, and computer readable recording medium having recorded therein control program for terminal apparatus
WO2011003328A1 (zh) * 2009-07-08 2011-01-13 无锡爱睿芯电子有限公司 Gps接收方法和装置及时钟校正方法
WO2016199592A1 (ja) * 2015-06-10 2016-12-15 ソニーセミコンダクタソリューションズ株式会社 受信装置および受信方法

Families Citing this family (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7256731B2 (en) * 2004-05-27 2007-08-14 Northrop Grumman Corporation Power cycling for a global positioning system
US20060049982A1 (en) * 2004-09-03 2006-03-09 Telefonaktiebolaget L M Ericsson (Publ) Method of and system for reducing a time to fix in a location-enabled receiver
US20070008108A1 (en) * 2005-07-07 2007-01-11 Schurig Alma K Unsynchronized beacon location system and method
US7436356B2 (en) * 2005-07-26 2008-10-14 Mstar Semiconductor, Inc. Method of cross-correlation and continuous wave interference suppression for GPS signal and associated GPS receiver
TWI341672B (en) * 2006-03-08 2011-05-01 Lite On Technology Corp Method and receiver capable of increasing acquisition efficiency in a code division multiple access communication system
RU2438145C2 (ru) * 2006-03-09 2011-12-27 Юроупиан Спейс Эйдженси Приемник и передатчик для использования в спутниковой навигационной системе
US7847730B2 (en) * 2006-09-27 2010-12-07 Bae Systems Information And Electronic Systems Integration, Inc. Software defined navigation signal generator
US8233898B2 (en) * 2006-12-14 2012-07-31 Research In Motion Limited Wireless communications device providing temperature-compensated clock correction features and related methods
US20080144704A1 (en) * 2006-12-19 2008-06-19 Nokia Corporation Spreading codes
KR20080094380A (ko) * 2007-04-20 2008-10-23 엘지이노텍 주식회사 디지털 방송 채널탐색 장치 및 방법
US7899126B2 (en) * 2007-07-27 2011-03-01 Mediatek Inc. Signal receiver and method for estimating residual doppler frequencies of signals thereof
US9128178B2 (en) * 2007-12-27 2015-09-08 Seiko Epson Corporation Correlation calculation process execution method, control circuit, signal processing circuit, and position calculation device
US8009086B2 (en) * 2008-02-13 2011-08-30 The United States Of America As Represented By The Secretary Of The Navy System and method for geo-locating a receiver with reduced power consumption
JP4635060B2 (ja) * 2008-02-20 2011-02-16 株式会社日本自動車部品総合研究所 スペクトラム拡散通信用の受信装置
US8009091B2 (en) * 2008-12-04 2011-08-30 Mediatek Inc. Method and apparatus for reducing time to first fix (TTFF) of GNSS receiver without accurate time information
JP5621205B2 (ja) 2009-04-01 2014-11-12 ソニー株式会社 信号処理装置、情報処理装置、信号処理方法、データ表示方法、及びプログラム
CN101650416B (zh) * 2009-07-08 2013-06-12 无锡爱睿芯电子有限公司 Gps接收方法和装置及时钟校正方法
US8384592B1 (en) * 2009-09-30 2013-02-26 Qualcomm Incorporated FFT based acquisition techniques for satellite based navigation systems
US10222482B2 (en) * 2013-01-18 2019-03-05 Seiko Epson Corporation Position information generation device, timing signal generation device, electronic apparatus, and moving object
JP6175775B2 (ja) 2013-01-18 2017-08-09 セイコーエプソン株式会社 タイミング信号生成装置、電子機器及び移動体
FR3047568B1 (fr) * 2016-02-05 2018-02-16 Thales Methode de calibrage d'un recepteur de radio-navigation par satellites
US9954712B1 (en) * 2017-06-23 2018-04-24 Intel Corporation Blind decoding in orthogonal frequency division multiplexing (OFDM) communication systems
JP6888505B2 (ja) * 2017-09-27 2021-06-16 株式会社Jvcケンウッド 同期装置、同期方法
US10879952B2 (en) * 2018-04-18 2020-12-29 Huawei Technologies Co., Ltd. Apparatus and receiver for performing synchronization in analog spread spectrum systems
CN111983656B (zh) * 2020-08-17 2023-10-27 电信科学技术第五研究所有限公司 一种gnss时统设备中对gnss时间进行最优估计的方法、装置及计算机介质
CN118138157B (zh) * 2024-05-06 2024-07-12 成都天贸科技有限公司 一种多目标扩频跟踪接收机信号快速捕获方法

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03295483A (ja) * 1990-04-13 1991-12-26 Pioneer Electron Corp Gps受信機の衛星電波捕捉方式
US5323164A (en) * 1992-03-16 1994-06-21 Pioneer Electronic Corporation Satellite radio wave capturing method for a global positioning system (GPS) receiver
US5917444A (en) * 1995-05-22 1999-06-29 Trimble Navigation Ltd. Reduction of time to first fix in an SATPS receiver
US6133874A (en) * 1996-03-08 2000-10-17 Snaptrack, Inc. Method and apparatus for acquiring satellite positioning system signals
TW508914B (en) * 2000-07-04 2002-11-01 Asulab Sa Low power RF receiver with redistribution of synchronisation tasks
GB0029876D0 (en) * 2000-12-07 2001-01-24 Parthus Uk Ltd Positioning apparatus and method
GB0102881D0 (en) * 2001-02-06 2001-03-21 Koninkl Philips Electronics Nv A method of despreading GPS signals
JP3726897B2 (ja) * 2002-02-27 2005-12-14 ソニー株式会社 Gps受信機およびgps衛星信号の受信方法

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7535418B2 (en) 2004-05-14 2009-05-19 Seiko Epson Corporation Terminal apparatus, positioning method, control program for terminal apparatus, and computer readable recording medium having recorded therein control program for terminal apparatus
US7812764B2 (en) 2004-05-14 2010-10-12 Seiko Epson Corporation Terminal apparatus, positioning method, control program for terminal apparatus, and computer readable recording medium having recorded therein control program for terminal apparatus
WO2011003328A1 (zh) * 2009-07-08 2011-01-13 无锡爱睿芯电子有限公司 Gps接收方法和装置及时钟校正方法
WO2016199592A1 (ja) * 2015-06-10 2016-12-15 ソニーセミコンダクタソリューションズ株式会社 受信装置および受信方法

Also Published As

Publication number Publication date
DE602005001630D1 (de) 2007-08-30
EP1560036B1 (en) 2007-07-18
EP1560036A1 (en) 2005-08-03
US20050168382A1 (en) 2005-08-04
DE602005001630T2 (de) 2008-06-05
US7053827B2 (en) 2006-05-30

Similar Documents

Publication Publication Date Title
JP2005214916A (ja) Gps受信方法およびgps受信機
JP3726897B2 (ja) Gps受信機およびgps衛星信号の受信方法
US7266140B1 (en) GPS positioning method and GPS reception apparatus
US7609903B2 (en) Spread spectrum signal demodulating method and apparatus
JP4154609B2 (ja) 衛星信号受信処理装置および衛星信号受信処理方法
JP2010008431A (ja) Gps受信機とgps信号を処理する方法
JP2000508076A (ja) Gsp信号の高速獲得のための改良されたリアル・タイムクロック装置
JP2008003104A (ja) 通信リンクを利用した改良型gps受信器
JP2003255040A (ja) Gps受信機および受信方法
JP4177585B2 (ja) Gps受信機および受信方法
JP4306693B2 (ja) 相関検出装置、相関検出方法並びに受信装置
US7120191B2 (en) Method and apparatus for acquiring a ranging signal of a positioning system
JP4359782B2 (ja) 測位用衛星信号の受信機および測位用衛星信号の受信方法
JP3912511B2 (ja) 測位用衛星信号の受信機および測位用衛星信号の受信方法
JP3858983B2 (ja) Gps衛星信号の受信方法およびgps受信機
JP3760993B2 (ja) Gps測位方法およびgps測位装置
JP3906913B2 (ja) スペクトラム拡散信号復調方法および装置
JP2005331369A (ja) Gps受信装置およびgps受信装置における同期保持方法
JP2005331368A (ja) Gps受信装置およびgps受信装置における同期保持方法
JP2003258682A (ja) マッチドフィルタ装置及び相関検出方法並びに受信装置
JP2003232844A (ja) 受信装置
JP2010139507A (ja) 通信リンクを利用した改良型gps受信器
JP2006234847A (ja) Gps受信機およびgps受信機の測位方法
JP2010014732A (ja) Gps受信機とgps信号を処理する方法

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20060411

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060419

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060615

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20061011