(57)【要約】【課題】電源投入時など、精度の良い中間周波キャリア誤差が得られるようになるまでの間において、短時間で安定に４個のＧＰＳ衛星の受信信号の同期捕捉が可能になる。【解決手段】少なくとも１個のＧＰＳ衛星信号について同期保持がなされていて、その中間周波キャリア周波数が既知であり、そのＧＰＳ衛星についての軌道情報が記憶部に記憶されていると共に、受信機の位置および現在時刻が既知であることを前提条件とする。この前提条件において、中間周波キャリア周波数と、軌道情報および現在時刻から得られるＧＰＳ衛星の位置および速度と、受信機の位置とから、中間周波キャリア誤差を算出する。算出した中間周波キャリア誤差により、中間周波キャリア周波数を補正し、当該補正した中間周波キャリア周波数を用いて他のＧＰＳ衛星からの受信信号の捕捉を行なう。【選択図】図１１
2005214916.tif 000002
【特許請求の範囲】
【請求項１】
少なくとも１個のＧＰＳ衛星からの受信信号について同期保持がなされていて、前記受信信号の中間周波キャリア周波数が既知であり、前記同期保持されているＧＰＳ衛星についての軌道情報が記憶部に記憶されていると共に、前記受信信号の受信機の位置および現在時刻が既知である場合に、
前記受信信号の中間周波キャリア周波数と、前記軌道情報および前記現在時刻から得られる前記同期保持されているＧＰＳ衛星の位置および速度と、前記受信機の位置とから、前記受信機の基準発振器の発信周波数誤差に基づく前記中間周波キャリア周波数の誤差としての中間周波キャリア誤差を算出し、当該算出した前記中間周波キャリア誤差により、前記中間周波キャリア周波数を補正し、当該補正した中間周波キャリア周波数を用いて他のＧＰＳ衛星からの受信信号の捕捉を行なう
ことを特徴とするＧＰＳ受信方法。
【請求項２】
請求項１に記載のＧＰＳ受信方法において、
受信信号を同期保持しているＧＰＳ衛星が複数個、存在し、当該複数個のＧＰＳ衛星からの受信信号についての前記中間周波キャリア誤差が複数個、得られる場合には、前記複数個の前記中間周波キャリア誤差の平均を求め、当該平均の誤差により、前記中間周波キャリア周波数を補正し、当該補正した中間周波キャリア周波数を用いて他のＧＰＳ衛星からの受信信号の捕捉を行なう
ことを特徴とするＧＰＳ受信方法。
【請求項３】
請求項１に記載のＧＰＳ受信方法において、
受信信号を同期保持しているＧＰＳ衛星が複数個、存在し、当該複数個のＧＰＳ衛星からの受信信号についての前記中間周波キャリア誤差が複数個、得られる場合には、前記複数個の受信信号のうちで、受信信号レベルが最も高い受信信号について得られた前記中間周波キャリア誤差により、前記中間周波キャリア周波数を補正し、当該補正した中間周波キャリア周波数を用いて他のＧＰＳ衛星からの受信信号の捕捉を行なう
ことを特徴とするＧＰＳ受信方法。
【請求項４】
請求項１に記載のＧＰＳ受信方法において、
受信信号を同期保持しているＧＰＳ衛星が複数個、存在し、当該複数個のＧＰＳ衛星からの受信信号についての前記中間周波キャリア誤差が複数個、得られる場合には、前記複数個の受信信号のうちで、受信信号レベルが、予め定められた閾値よりも大きい受信信号について得られた前記中間周波キャリア誤差の平均値により、前記中間周波キャリア周波数を補正し、当該補正した中間周波キャリア周波数を用いて他のＧＰＳ衛星からの受信信号の捕捉を行なう
ことを特徴とするＧＰＳ受信方法。
【請求項５】
請求項１に記載のＧＰＳ受信方法において、
前記求められた中間周波キャリア誤差を用いて、他のＧＰＳ衛星からの受信信号の捕捉を求める際の前記中間周波キャリア周波数を補正するのは、受信信号が同期保持されているＧＰＳ衛星が４個未満であるときとする
ことを特徴とするＧＰＳ受信方法。
【請求項６】
ＧＰＳ衛星からの受信信号を、与えられた中間周波キャリア周波数を用いて、同期捕捉し、捕捉した受信信号を同期保持する同期手段と、
少なくとも１個のＧＰＳ衛星からの受信信号について同期保持がなされていて、前記受信信号の中間周波キャリア周波数が既知であり、前記同期保持されているＧＰＳ衛星についての軌道情報が記憶部に記憶されていると共に、受信機の位置および現在時刻が既知である場合に、前記受信信号の中間周波キャリア周波数と、前記軌道情報および前記現在時刻から得られる前記同期保持されているＧＰＳ衛星の位置および速度と、前記受信機の位置とから、前記受信機の基準発振器の発信周波数誤差に基づく前記中間周波キャリア周波数の誤差としての中間周波キャリア誤差を算出する誤差算出手段と、
前記誤差算出手段で算出された前記中間周波キャリア誤差により、前記既知の中間周波キャリア周波数を補正して、前記同期手段に与える補正手段と、
を備えることを特徴とするＧＰＳ受信機。
【請求項７】
請求項６に記載のＧＰＳ受信機において、
前記誤差算出手段は、受信信号を同期保持しているＧＰＳ衛星が複数個、存在し、当該複数個のＧＰＳ衛星からの受信信号についての前記中間周波キャリア誤差が複数個、得られる場合には、前記複数個の前記中間周波キャリア誤差の平均を求め、当該平均の中間周波キャリア誤差を前記補正手段に供給する
ことを特徴とするＧＰＳ受信機。
【請求項８】
請求項６に記載のＧＰＳ受信機において、
前記誤差算出手段は、受信信号を同期保持しているＧＰＳ衛星が複数個、存在し、当該複数個のＧＰＳ衛星からの受信信号についての前記中間周波キャリア誤差が複数個、得られる場合には、前記複数個の受信信号のうちで、受信信号レベルが最も高い受信信号について得られた前記中間周波キャリア誤差を前記補正手段に供給する
ことを特徴とするＧＰＳ受信機。
【請求項９】
請求項６に記載のＧＰＳ受信機において、
前記誤差算出手段は、受信信号を同期保持しているＧＰＳ衛星が複数個、存在し、当該複数個のＧＰＳ衛星からの受信信号についての前記中間周波キャリア誤差が複数個、得られる場合には、前記複数個の受信信号のうちで、受信信号レベルが、予め定められた閾値よりも大きい受信信号について得られた前記中間周波キャリア誤差の平均値を前記補正手段に供給する
ことを特徴とするＧＰＳ受信機。
【請求項１０】
請求項６に記載のＧＰＳ受信機において、
前記求められた中間周波キャリア誤差を用いて、他のＧＰＳ衛星からの受信信号の捕捉を求める際の前記中間周波キャリア周波数を補正するのは、受信信号が同期保持されているＧＰＳ衛星が４個未満であるときとする
ことを特徴とするＧＰＳ受信機。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、ＧＰＳ（Ｇｌｏｂａｌ  Ｐｏｓｉｔｉｏｎｉｎｇ  Ｓｙｓｔｅｍ）受信方法およびＧＰＳ受信機に関する。
【背景技術】
【０００２】
人工衛星（以下、ＧＰＳ衛星という）を利用して移動体の位置を測定するＧＰＳシステムにおいて、ＧＳＰ受信機は、４個以上のＧＰＳ衛星からの信号を受信し、その受信信号から受信機の位置を計算し、ユーザに知らせることが基本機能である。
【０００３】
ＧＰＳ受信機は、ＧＰＳ衛星からの受信信号（以下、この信号をＧＰＳ衛星信号という）を復調してＧＰＳ衛星の軌道データを獲得し、ＧＰＳ衛星の軌道および時間情報とＧＰＳ衛星信号の遅延時間から、自受信機の３次元位置を連立方程式により導き出す。測位演算のために４個のＧＰＳ衛星からの信号が必要となるのは、ＧＰＳ受信機内部の時間と衛星の時間とで誤差があり、その誤差の影響を除去するためである。
【０００４】
民生用ＧＰＳ受信機の場合には、ＧＰＳ衛星（Ｎａｖｓｔａｒ）からのＬ１帯、Ｃ／Ａ（Ｃｌｅａｒ  ａｎｄ  Ａｑｕｉｓｉｔｉｏｎ）コードと呼ばれる拡散符号によりスペクトラム拡散された信号電波を受信して、測位演算を行なう。
【０００５】
Ｃ／Ａコードは、送信信号速度（チップレート）が１．０２３ＭＨｚ、符号長が１０２３のＰＮ（ｐｓｅｕｄｏ  ｒａｎｄｏｍ  ｎｏｉｓｅ；擬似ランダム雑音）系列の符号、例えばＧｏｌｄ符号からなる拡散符号である。そして、ＧＰＳ衛星からの信号は、５０ｂｐｓのデータを拡散符号を用いてスペクトラム拡散した信号により、周波数が１５７５．４２ＭＨｚのキャリアをＢＰＳＫ（Ｂｉｎａｒｙ  Ｐｈａｓｅ  Ｓｈｉｆｔ  Ｋｅｙｉｎｇ）変調した信号である。この場合、符号長が１０２３であるので、Ｃ／Ａコードは、ＰＮ系列の符号が、図３４（Ａ）に示すように、１０２３チップを１周期（したがって、１周期＝１ミリ秒）として、繰り返すものとなっている。
【０００６】
このＣ／ＡコードのＰＮ系列の符号は、ＧＰＳ衛星ごとに異なっているが、どのＧＰＳ衛星が、どのＰＮ系列の符号を用いているかは、予めＧＰＳ受信機で検知できるようにされている。また、後述するような航法メッセージ（軌道情報）によって、ＧＰＳ受信機では、どのＧＰＳ衛星からの信号を、その地点およびその時点で受信できるかが判るようになっている。したがって、ＧＰＳ受信機では、例えば３次元測位であれば、その地点およびその時点で取得できる４個以上のＧＰＳ衛星からの電波を受信して、スペクトラム逆拡散し、測位演算を行って、自分の位置を求めるようにする。
【０００７】
そして、図３４（Ｂ）に示すように、衛星信号データ（航法メッセージデータ）の１ビットは、ＰＮ系列の符号の２０周期分、つまり、２０ミリ秒単位として伝送される。つまり、データ伝送速度は、５０ｂｐｓである。ＰＮ系列の符号の１周期分の１０２３チップは、ビットが“１”のときと、“０”のときとでは、反転したものとなる。
【０００８】
図３４（Ｃ）に示すように、ＧＰＳでは、３０ビット（６００ミリ秒）で１ワードが形成される。そして、図３４（Ｄ）に示すように、１０ワードで、１サブフレーム（６秒）が形成される。図３４（Ｅ）に示すように、１サブフレームの先頭のワードには、データが更新されたときであっても常に規定のビットパターンとされるプリアンブルが挿入され、このプリアンブルの後にデータが伝送されてくる。
【０００９】
さらに、５サブフレームで、１メインフレーム（３０秒）が形成される。そして、航法メッセージは、この１メインフレームのデータ単位で伝送されてくる。この１メインフレームのデータのうちの始めの３個のサブフレームは、エフェメリス情報と呼ばれる衛星毎に固有の軌道情報である。このエフェメリス情報は、１メインフレーム単位（３０秒）で繰り返し送られるものであり、その情報を送信してくる衛星の軌道を求めるためのパラメータと、衛星からの信号の送出時刻とを含む。
【００１０】
すなわち、エフェメリス情報の３個のサブフレームの２番目のワードには、ＴＯＷ（Ｔｉｍｅ  Ｏｆ  Ｗｅｅｋ）が含まれ、メインフレームの最初のサブフレーム１の３番目のワードには、Ｗｅｅｋ  Ｎｕｍｂｅｒと呼ばれる時刻データが含まれる。Ｗｅｅｋ  Ｎｕｍｂｅｒは、１９８０年１月６日（日曜日）を第０週として１週ごとにカウントアップする情報である。また、ＴＯＷは、日曜日の午前０時を０として６秒（サブフレームの周期）ごとにカウントアップする時間の情報である。
【００１１】
ＧＰＳ衛星のすべては、原子時計を備え、共通の時刻データを用いており、各ＧＰＳ衛星からの信号の送出時刻は、原子時計に同期したものとされている。上記の２つの時刻データを受信することにより絶対時刻を求める。６秒以下の値は、衛星の電波に同期ロックする過程で、そのＧＰＳ受信機が備える基準発振器の精度で、衛星の時刻に同期するようにする。
【００１２】
また、各ＧＰＳ衛星のＰＮ系列の符号も、原子時計に同期したものとして生成される。また、このエフェメリス情報から、ＧＰＳ受信機における測位計算の際に用いられる衛星の位置および衛星の速度が求められる。
【００１３】
エフェメリス情報は、地上の管制局からの制御により比較的頻繁に更新される精度の高い暦である。ＧＰＳ受信機では、このエフェメリス情報をメモリに保持しておくことにより、当該エフェメリス情報を測位計算に使用することができる。しかし、その精度上、使用可能な寿命は、通常、２時間程度とされており、ＧＰＳ受信機では、エフェメリス情報をメモリに記憶した時点からの時間経過を監視して、その寿命を超えたときには、メモリのエフェメリス情報を更新して書き換えるようにしている。
【００１４】
なお、新しいエフェメリス情報をＧＰＳ衛星から取得して、その取得したエフェメリス情報にメモリの内容を更新するには、最低１８秒（３サブフレーム分）が必要であり、サブフレームの途中からデータが取れたときには、連続３０秒が必要となる。
【００１５】
１メインフレームのデータの残りの２サブフレームの軌道情報は、アルマナック情報と呼ばれる全ての衛星から共通に送信される情報である。このアルマナック情報は、全情報を取得するために２５フレーム分必要となるもので、各ＧＰＳ衛星のおおよその位置情報や、どのＧＰＳ衛星が使用可能かを示す情報などからなる。
【００１６】
このアルマナック情報も、地上の制御局からの制御により少なくとも数日ごとに更新される。このアルマナック情報も、ＧＰＳ受信機のメモリに保持して使用することができるが、その寿命は、数か月とされており、時間と共に衛星の位置決定精度は悪くなるが、衛星の大よその位置を知るには十分使用できる。通常、アルマナック情報のＧＰＳ受信機を使用している際に更新するのが普通である。ＧＰＳ受信機のメモリに、このアルマナック情報を蓄えておけば、電源投入後、どのチャンネルにどの衛星を割り当てればよいかを計算することができる。
【００１７】
ＧＰＳ受信機で、ＧＰＳ衛星信号を受信して、上述のデータを得るためには、ＧＰＳ受信機に用意される、受信しようとするＧＰＳ衛星で用いられているＣ／Ａコードと同じＰＮ系列の符号（以下、この明細書では、ＰＮ系列の拡散符号をＰＮ符号と記す。そして、ＧＰＳ衛星のＰＮ系列の拡散符号を衛星ＰＮ符号と呼び、ＧＰＳ受信機の対応するＰＮ系列の拡散符号をレプリカＰＮ符号と呼ぶこととする）を用いて、そのＧＰＳ衛星信号について、Ｃ／Ａコードの位相同期を取ることによりＧＰＳ衛星信号を捕捉し、スペクトラム逆拡散を行なう。Ｃ／Ａコードとの位相同期が取れて、逆拡散が行われると、ビットが検出されて、ＧＰＳ衛星信号から時刻情報等を含む航法メッセージを取得することが可能になる。
【００１８】
ＧＰＳ衛星信号の捕捉は、Ｃ／Ａコードの位相同期検索により行われるが、この位相同期検索においては、ＧＰＳ受信機のレプリカＰＮ符号とＧＰＳ衛星の衛星ＰＮ符号との相関を検出し、例えば、その相関検出結果の相関値が予め定めた値よりも大きい時に、両者が同期していると判定する。そして、同期が取れていないと判別されたときには、何らかの同期手法を用いて、ＧＰＳ受信機のレプリカＰＮ符号の位相を制御して、衛星ＰＮ符号と同期させるようにしている。
【００１９】
ところで、上述したように、ＧＰＳ衛星信号は、データを衛星ＰＮ符号で拡散した信号によりキャリアをＢＰＳＫ変調した信号であるので、当該ＧＰＳ衛星信号をＧＰＳ受信機が受信するには、ＰＮ符号のみでなく、キャリアおよびデータの同期をとる必要があるが、ＰＮ符号とキャリアの同期は独立に行なうことはできない。
【００２０】
そして、ＧＰＳ受信機では、受信信号は、そのキャリア周波数を数ＭＨｚ以内の中間周波数に変換して、その中間周波数信号で、上述の同期検出処理するのが普通であるが、この中間周波数信号におけるキャリア周波数（中間周波キャリア周波数）には、主にＧＰＳ衛星の移動速度に応じたドップラーシフトによる周波数誤差と、受信信号を中間周波数信号に変換したときに、ＧＰＳ受信機内部で発生させる局部発振器の周波数誤差分が含まれる。この中間周波数信号に含まれる局部発振器の周波数誤差分を、以下、中間周波キャリア誤差という。
【００２１】
ここで、受信信号の中間周波キャリア周波数をｆIF、定められている中間周波キャリア周波数をＦIF、ＧＰＳ衛星のドップラーシフトをｆＤ、中間周波キャリア誤差をΔｆIFとすると、前記中間周波キャリア周波数ｆは、
ｆIF＝ＦIF＋ｆＤ＋ΔｆIF    ・・・（式ａ）
で表わされる。
【００２２】
上記の周波数誤差要因により、中間周波数信号におけるキャリア周波数は未知であり、その周波数サーチを行なって、ＩＦキャリアの同期を取る必要となる。また、ＰＮ符号の１周期内での同期点（同期位相）は、ＧＰＳ受信機とＧＰＳ衛星との位置関係に依存するのでこれも未知であるから、上述のように、何らかの同期手法が必要となる。
【００２３】
拡散符号およびＩＦキャリアの同期に時間を要すると、ＧＰＳ受信機の反応が遅くなり、使用上において不便を生じる。
【００２４】
従来のＧＰＳ受信機では、周波数サーチを伴うスライディング相関によりキャリアおよび拡散符号についての同期検出を行なうと同時に、ＤＬＬ（Ｄｅｌａｙ  Ｌｏｃｋｅｄ  Ｌｏｏｐ）とコスタスループとにより、同期捕捉および同期保持動作をするようにしている。しかし、スライディング相関による同期捕捉、ＤＬＬおよびコスタスループによる同期保持は、原理的に高速な同期捕捉には不向きで、実際のＧＰＳ受信機では、多チャンネル化して並列処理により同期捕捉までの処理を短縮している。
【００２５】
また、特許文献１（特開２００３−２５８９６９号公報）には、同期捕捉部と同期保持部とを分け、同期捕捉部はマッチドフィルタを用いて構成し、同期保持部はＤＬＬおよびコスタスループを用いて構成することにより、同期捕捉および同期保持を高速に行なえるようにしたものも提案されている。
【００２６】
上記の特許文献は、次の通りである。
【特許文献１】特開２００３−２５８９６９号公報
【発明の開示】
【発明が解決しようとする課題】
【００２７】
ところで、ＧＰＳ受信機で測位計算を行なうためには、衛星の位置と、衛星と受信機間の距離とが、少なくとも必要になる。衛星の位置は、前述した軌道情報のエフェメリス情報から求めることができる。
【００２８】
ＧＰＳ衛星と受信機との距離は、ＧＰＳ受信機が、ある時間に衛星から送出された信号が、当該ＧＰＳ受信機に到達するまでの時間（信号到達時間＝拡散符号の発信時刻と拡散符号の到達時刻との差）を測定し、それに光の速度（３×１０８ ｍ／ｓ）をかけて算出することができる。ただし、ＧＰＳ受信機で算出された前記距離には、ＧＰＳ受信機とＧＰＳ衛星との間の時計誤差などの要因による誤差を含むため、一般に疑似距離と呼ばれている。
【００２９】
ＧＰＳ受信機では、時計誤差の疑似距離への影響量も未知数となるので、算出する必要の在る未知数は、前記３次元座標にこの時計誤差の疑似距離への影響量を加えた４個となる。そこで、ＧＰＳ受信機では、４個の衛星からの電波を捕捉することにより、３次元測位を行なう。ＧＰＳ衛星は、例えば３２個が利用可能とされているので、ＧＰＳ受信機は、その中から利用可能であって、誤差の少ない組み合わせの４個の衛星を選択して、３次元測位を行なうようにしている。この３次元測位の場合の測位計算式は、次のようになる。
【００３０】
ｒ１＝｛（ｘ１−Ｘ）２＋（ｙ１−Ｙ）２＋（ｚ１−Ｚ）２｝１／２−ｓ
ｒ２＝｛（ｘ２−Ｘ）２＋（ｙ２−Ｙ）２＋（ｚ２−Ｚ）２｝１／２−ｓ
ｒ３＝｛（ｘ３−Ｘ）２＋（ｙ３−Ｙ）２＋（ｚ３−Ｚ）２｝１／２−ｓ
ｒ４＝｛（ｘ４−Ｘ）２＋（ｙ４−Ｙ）２＋（ｚ４−Ｚ）２｝１／２−ｓ
ただし、
ｒｉ（ｉ＝１，２，３，４）：ＧＰＳ衛星ｉの疑似距離
Ｘ，Ｙ，Ｚ                ：ＧＰＳ受信機の位置
ｘｉ，ｙｉ，ｚｉ          ：ＧＰＳ衛星ｉの位置
ｓ                        ：ＧＰＳ受信機の時計誤差による距離への影響量
である。
【００３１】
前記各方程式は、異なる未知数同士の乗算項の無い２次式で、一般には解に近い適当な初期値を与え、ニュートン法のような反復法により連立方程式を解く。ニュートン法は、与えられた方程式を解に近い点で局所的に線形近似し、最初は初期値を用いて線形連立方程式を解き、解いた結果を次の初期値として再び解を得、解が一定誤差以内に収束するまで同じ計算を反復することで最終的な解を得る方法である。
【００３２】
また、ＧＰＳ受信機は、安定的に４個以上のＧＰＳ衛星からの受信信号が得られる環境においては、ＧＰＳ受信機自身の速度を、次のようにして求めることができる。すなわち、先ず、４個以上のＧＰＳ衛星についての軌道情報と拡散符号の発信時刻とから、ＧＰＳ衛星の位置およびＧＰＳ衛星の速度を計算する。次に、前述のようにして求められたＧＰＳ受信機の位置および同期保持されて得られるＧＰＳ衛星からの受信信号のキャリア周波数を用いて、ＧＰＳ受信機の３次元速度と中間周波キャリア誤差を未知数とした線形連立方程式を立てる。この線形連立方程式を解くことにより、ＧＰＳ受信機の速度を求めることができる。このとき求められた中間周波キャリア誤差は、当該受信環境における精度の良い誤差であり、新たなＧＰＳ衛星の信号を捕捉する際の、中間周波キャリア周波数を決定するために用いることができる。
【００３３】
ＧＰＳ受信機の電源が投入されてから、当該ＧＰＳ受信機の位置が求まるまでの時間を少しでも短縮するために、多くのＧＰＳ受信機では、当該ＧＰＳ受信機の電源がオフの状態でも、受信機内部のメモリ領域に、電源オフ直前に信号を受信していたＧＰＳ衛星の軌道情報および最後に測位した時点での当該ＧＰＳ受信機の３次元座標および中間周波キャリア誤差を保持しておくようにしている。
【００３４】
ＧＰＳ信号の同期捕捉に際して、ＧＰＳ衛星信号の中間周波キャリア周波数が既知であれば、より短時間で同期捕捉ができると期待できる。中間周波キャリア周波数ｆは、前述の（式ａ）から求められる。
【００３５】
この（式ａ）において、中間周波数ＦIFは、規定値である。また、ＧＰＳ衛星のドップラーシフトｆＤは、ＧＰＳ受信機の位置および受信機の速度、ＧＰＳ衛星の位置およびＧＰＳ衛星の速度から算出することができる。ＧＰＳ受信機の速度が未知であるときには、当該受信機速度を０と仮定して、ＧＰＳ受信機の内部時計（ＲＴＣ；Ｒｅａｌ  Ｔｉｍｅ  Ｃｌｏｃｋ）の情報と、ＧＰＳ受信機の内部のメモリ領域に保持されている当該ＧＰＳ受信機の３次元座標およびＧＰＳ衛星の軌道情報から、ＧＰＳ衛星のドップラーシフトｆＤの概算値を求めることができる。
【００３６】
したがって、中間周波キャリア誤差Δｆが既知であれば、（式ａ）から中間周波キャリア周波数が求められることになる。そこで、ＧＰＳ受信機に電源が投入されて、４個のＧＰＳ衛星が未だ捕捉されていないときに、ＧＰＳ受信機のメモリに記憶されている前回の電源オフ直前に得られていた中間周波キャリア誤差Δｆを用いることにより、同期捕捉を短時間で行なえると期待できる。
【００３７】
しかしながら、中間周波キャリア誤差Δｆに直接的に関与する局部発振周波数の基準となる発振器は、個体差がある上に、周囲温度や振動など様々な条件により数秒〜数１０秒の間にも、数１０Ｈｚ〜数百Ｈｚ程度の変化をする場合がある。
【００３８】
このため、ＧＰＳ受信機内部のメモリ領域に保持されていた中間周波キャリア誤差の値は、たとえ電源オフの期間が数秒〜数１０秒であったとしても、電源投入後、前述のようにしてＧＰＳ受信機の速度が計算されることに伴い中間周波キャリア誤差の値が当該使用条件における値に更新されるまでは、数１０Ｈｚから数百Ｈｚ程度ずれている可能性がある。
【００３９】
したがって、電源オフ時に記憶してある前記中間周波キャリア誤差を、そのまま用いて、４個以上のＧＰＳ衛星からの受信信号の同期捕捉を行なおうとすると、前述のような周囲温度や振動などの条件に応じた数１０Ｈｚ〜数百Ｈｚ程度の変化を考慮した周波数範囲で、４個以上のＧＰＳ衛星信号の同期捕捉処理を行なう必要があり、同期捕捉に時間がかかるという問題がある。
【００４０】
この発明は、以上の点にかんがみ、電源投入時など、４個以上のＧＰＳ衛星からの受信信号を同期保持して、ＧＰＳ受信機の速度が計算でき、精度の良い中間周波キャリア誤差が得られるようになるまでの間において、できるだけ、短時間で安定に４個のＧＰＳ衛星の受信信号の同期捕捉が可能になるようにするＧＰＳ受信方法およびＧＰＳ受信機を提供することを目的とする。
【課題を解決するための手段】
【００４１】
上記課題を解決するために、請求項１の発明によるＧＰＳ受信方法は、
少なくとも１個のＧＰＳ衛星からの受信信号について同期保持がなされていて、前記受信信号の中間周波キャリア周波数が既知であり、前記同期保持されているＧＰＳ衛星についての軌道情報が記憶部に記憶されていると共に、前記受信信号の受信機の位置および現在時刻が既知である場合に、
前記受信信号の中間周波キャリア周波数と、前記軌道情報および前記現在時刻から得られる前記同期保持されているＧＰＳ衛星の位置および速度と、前記受信機の位置とから、前記受信機の基準発振器の発信周波数誤差に基づく前記中間周波キャリア周波数の誤差としての中間周波キャリア誤差を算出し、当該算出した前記中間周波キャリア誤差により、前記中間周波キャリア周波数を補正し、当該補正した中間周波キャリア周波数を用いて他のＧＰＳ衛星からの受信信号の捕捉を行なう
ことを特徴とする。
【００４２】
上述の構成の請求項１の発明においては、例えば電源が投入されて、同期捕捉および同期保持されているＧＰＳ衛星が０であり、最初のＧＰＳ衛星からの信号の同期捕捉をとるときには、例えばＧＰＳ衛星に記憶されている中間周波キャリア誤差を用いて、同期捕捉をしようとするＧＰＳ衛星からの受信信号についての中間周波キャリア周波数の初期値を設定すると共に、当該記憶している中間周波キャリア誤差が上述のような大きな誤差範囲を生じることから、当該大きな周波数範囲として同期捕捉を行なう。
【００４３】
この初回の同期捕捉により、１個のＧＰＳ衛星からの受信信号の同期保持がとれて、当該ＧＰＳ衛星からの受信信号の中間周波キャリア周波数が既知となったときであって、前記同期保持されているＧＰＳ衛星についての軌道情報が記憶部に記憶されていると共に、前記受信信号の受信機の位置および現在時刻が既知である場合には、当該ＧＰＳ衛星のドップラーシフトを求める。すなわち、前記軌道情報からＧＰＳ衛星の位置および速度を、先ず、求める。そして、受信機の速度は０と仮定して、前記既知の受信機の位置と、前記求められたＧＰＳ衛星の位置および速度とから、当該ＧＰＳ衛星のドップラーシフトｆＤを求める。
【００４４】
すると、中間周波キャリア周波数は、既知であるので、（１式）を変形することにより、求められたドップラーシフトｆＤを用いることにより、中間周波キャリア誤差Δｆが、求められる。この求められた中間周波キャリア誤差は、現在の条件から求められたものであり、先に電源オフ時に記憶されていた中間周波キャリア誤差よりも精度の良いものとなっている。
【００４５】
そこで、２番目のＧＰＳ衛星の同期捕捉の際には、当該求めた中間周波キャリア誤差を用いて補正した中間周波キャリア周波数が用いられて同期捕捉が行なわれる。
【００４６】
したがって、記憶されている中間周波キャリア誤差よりも精度の良い中間周波キャリア誤差が用いられて補正された中間周波キャリア周波数に基づいて、同期捕捉が行なわれるので、同期捕捉がより時間短縮されることになる。
【００４７】
ＧＰＳ受信機の電源投入直後のように、同期保持されているＧＰＳ衛星数が、ＧＰＳ受信機位置および受信機速度を求めるのに必要な個数（通常は４個）に満たない場合であっても、受信機の概略位置および同期保持されているＧＰＳ衛星の軌道情報が得られていれば、本来であればＧＰＳ受信機速度と共に求まる中間周波キャリア誤差を概算することが可能になる。つまり、ＧＰＳ受信機位置や受信機速度が計算できない状況では更新できない中間周波キャリア誤差を概算することが可能になる。
【００４８】
このように中間周波キャリア誤差が概算できれば、軌道情報はあるが、未だ同期捕捉が行なわれていないＧＰＳ衛星についての中間周波キャリア周波数が、前記中間周波キャリア誤差を含め概算できるため、同期捕捉に必要な時間を短縮することができる。
【００４９】
そして、同期捕捉に必要な時間を短縮することができれば、ＧＰＳ受信機の電源投入から最初の測位までの時間（ＴＴＦＦ；Ｔｉｍｅ  Ｔｏ  Ｆｉｒｓｔ  Ｆｉｘ）を短縮することができる。
【発明の効果】
【００５０】
この発明によれば、ＧＰＳ受信機の電源投入直後のように、同期保持されているＧＰＳ衛星数が、ＧＰＳ受信機位置および受信機速度を求めるのに必要な個数（通常は４個）に満たない場合であっても、受信信号の中間周波キャリア周波数と、受信機の概略位置と、同期保持されているＧＰＳ衛星の軌道情報および現在時刻を用いて、中間周波キャリア誤差を概算し、当該概算した中間周波キャリア誤差を用いることにより、同期捕捉に必要な時間を短縮することができる。
【００５１】
そして、同期捕捉に必要な時間を短縮することができるので、ＧＰＳ受信機の電源投入から最初の測位までの時間であるＴＴＦＦを短縮することができる。
【発明を実施するための最良の形態】
【００５２】
以下、この発明によるＧＰＳ受信方法および装置の実施形態を、図を参照しながら説明する。まず、この発明の実施形態に用いるＧＰＳ受信機について説明する。
【００５３】
［ＧＰＳ受信機の構成］
以下に説明する実施形態のＧＰＳ受信機は、従来の周波数サーチを伴うスライディング相関と、ＤＬＬ（Ｄｅｌａｙ  Ｌｏｃｋｅｄ  Ｌｏｏｐ）およびコスタスループとにより、キャリアおよびＰＮ符号についての同期捕捉を行なうと同時に同期保持動作をする方法の欠点を改善した構成を備える。
【００５４】
すなわち、周波数サーチを伴うスライディング相関と、ＤＬＬ（Ｄｅｌａｙ  Ｌｏｃｋｅｄ  Ｌｏｏｐ）およびコスタスループとにより、ＩＦキャリアおよび衛星ＰＮ符号についての同期捕捉を行なうと同時に同期保持動作をするという、従来の手法では、周波数サーチを伴うスライディング相関の方法が、上述したように、原理的に高速同期には不向きであって、拡散符号（ＰＮ符号）およびキャリアの同期に時間を要するという欠点があった。そして、このようにＰＮ符号およびキャリアの同期に時間を要すると、ＧＰＳ受信機の反応が遅くなり、使用上において不便を生ずる。
【００５５】
従来、実際のＧＰＳ受信機においては、上記の欠点を改善するため、多チャンネル化してパラレルに同期点を探索する必要があり、従来方式のままで大幅なチャンネル増を行なうとＧＰＳ受信機の構成が複雑となると共に、コスト高となり、また、多チャンネルでパラレルに同期点を検索するものであるため、消費電力も大きくなっていた。消費電力の問題は、携帯型のＧＰＳ受信機の場合には大きな問題である。
【００５６】
また、上述の従来の場合には、ＰＮ符号およびキャリアの同期捕捉と同期保持とは、周波数サーチを伴うスライディング相関と、ＤＬＬ（Ｄｅｌａｙ  Ｌｏｃｋｅｄ  Ｌｏｏｐ）およびコスタスループとにより、一体的に行っているので、例えばＧＰＳ衛星からの信号が途切れたときには、同期捕捉および同期保持を、再度、一体的に行なう必要があり、再同期捕捉および同期保持までの時間が長くなってしまうという問題もあった。
【００５７】
さらに、上述の従来の場合には、ＰＮ符号およびキャリアの同期捕捉と同期保持とは、周波数サーチを伴うスライディング相関と、ＤＬＬ（Ｄｅｌａｙ  Ｌｏｃｋｅｄ  Ｌｏｏｐ）およびコスタスループとにより、一体的に行っているので、ＧＰＳ受信機の感度を上げようとすると、原理的に同期捕捉および同期保持のための処理時間がかなり長くなってしまうことから、ＧＰＳ受信機の感度を上げることが容易ではないという問題もあった。
【００５８】
この実施形態で用いるＧＰＳ受信機は、以上の問題点を解消できるように構成したものである。
【００５９】
［実施形態のＧＰＳ受信機の全体構成］
図１は、この実施形態のＧＰＳ受信機の構成例を示すブロック図であり、周波数変換部１０と、同期捕捉部２０と、同期保持部３０と、制御部４０と、ＧＰＳアンテナ１と、温度補償付き水晶発振回路からなる基準発振回路２と、タイミング信号生成回路３と、水晶発振回路４とを備えて構成される。
【００６０】
制御部４０は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）４１に対して、プログラムＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）４２と、ワークエリア用のＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）４３と、実時間（ＲＴＣ（Ｒｅａｌ  Ｔｉｍｅ  Ｃｌｏｃｋ））を計測するための時計回路４４と、タイマ４５と、不揮発性メモリ４６とが接続されて構成されている。
【００６１】
タイマ４５は、各部の動作に必要な各種タイミング信号の生成および時間参照に使用される。不揮発性メモリ４６には、ＧＰＳ衛星信号から抽出したアルマナック情報およびエフェメリス情報からなる軌道情報が記憶されると共に、電源オフ操作前の電源オン時に得られていたＧＰＳ受信機の位置情報およびＩＦキャリア誤差ΔｆＩＦが記憶される。不揮発性メモリ４６に対して、エフェメリス情報は、後述するように、例えば２時間毎に更新され、また、アルマナック情報は、ＧＰＳ受信機を更新している際、例えば数日毎に更新される。なお、不揮発性メモリ４６は、電池バックアップされたＲＡＭでもよい。
【００６２】
基準発振回路２からの基準クロック信号は、逓倍／分周回路３に供給されると共に、後述するように、周波数変換部１０の周波数変換用の局部発振回路１５に供給される。逓倍／分周回路３は、基準クロック信号を逓倍して、また、分周して、同期捕捉部２０、同期保持部３０および制御部４０などに供給するクロック信号を生成する。逓倍／分周回路３は、制御部４０のＣＰＵ４１により逓倍比や分周比が制御される。
【００６３】
なお、水晶発振回路４からのクロック信号は、制御部４０の時計回路４４用のものとされている。制御部４０の時計回路４４以外の部位のクロック信号は、逓倍／分周回路３からのクロック信号とされる。
【００６４】
［周波数変換部１０の構成］
ＧＰＳ衛星信号は、前述もしたように、各ＧＰＳ衛星から送信される信号であり、５０ｂｐｓの送信データを、送信信号速度が１．０２３ＭＨｚで、符号長が１０２３であって、ＧＰＳ衛星ごとに決められているパターンの衛星ＰＮ符号（Ｃ／Ａコード）によりスペクトラム拡散した信号により、周波数が１５７５．４２ＭＨｚのキャリア（搬送波）をＢＰＳＫ変調したものである。
【００６５】
アンテナ１にて受信された１５７５．４２ＭＨｚのＧＰＳ衛星信号は、周波数変換部１０に供給される。周波数変換部１０では、アンテナ１にて受信されたＧＰＳ衛星信号が、低雑音増幅回路１１にて増幅された後、バンドパスフィルタ１２に供給されて、不要帯域成分が除去される。バンドパスフィルタ１２からの信号は、高周波増幅回路１３を通じて中間周波変換回路１４に供給される。
【００６６】
また、基準発振回路２の出力が、ＰＬＬ（Ｐｈａｓｅ  Ｌｏｃｋｅｄ  Ｌｏｏｐ）シンセサイザ方式の局部発振回路１５に供給され、この局部発振回路１５より基準発振器２の出力周波数に対して周波数比が固定された局部発振出力が得られる。そして、この局部発振出力が中間周波変換回路１４に供給されて、ＧＰＳ衛星信号のキャリア周波数が、信号処理し易い中間周波数、例えば１．０２３ＭＨｚに低域変換されて、中間周波変換回路１４からは中間周波信号が得られる。以下、この中間周波信号のキャリア、すなわち、中間周波キャリアをＩＦキャリアと称する。
【００６７】
中間周波変換回路１４からの中間周波信号は、増幅回路１６で増幅され、ローパスフィルタ１７で帯域制限された後、Ａ／Ｄ変換器１８で１ビットのデジタル信号（以下、この信号をＩＦデータという）に変換される。このＩＦデータは、同期捕捉部２０および同期保持部３０に供給される。
【００６８】
すなわち、この実施形態では、ＩＦデータは、従来のスライディング相関およびコスタスループ＋ＤＬＬのような同期捕捉・同期保持一体化回路に供給されるのではなく、機能的に分離された同期捕捉部２０と、同期保持部３０に供給される。
【００６９】
この実施形態において、同期捕捉部２０は、ＧＰＳ衛星信号についての同期捕捉、つまり、ＧＰＳ衛星信号の衛星ＰＮ符号の位相検出およびＩＦキャリアの周波数の検出を行なう。このＩＦキャリア周波数を以下、ＩＦキャリア周波数という。同期保持部３０は、同期捕捉部２０で捕捉したＧＰＳ衛星信号の衛星ＰＮ符号とＩＦキャリアの同期保持を行なう。
【００７０】
［同期捕捉部２０と同期保持部３０の構成］
この実施形態では、後述するように、同期捕捉部２０では、周波数変換部１０からのＩＦデータの所定時間分をメモリに取り込み、このメモリに取り込んだＩＦデータについて、ＧＰＳ衛星信号の衛星ＰＮ符号と、個々のＧＰＳ衛星の衛星ＰＮ符号に対応するＧＰＳ受信機が持つレプリカＰＮ符号との相関演算を行って、拡散符号の位相同期捕捉を行なう。
【００７１】
拡散符号の位相同期捕捉に関しては、上述のようなスライディング相関の手法を用いることなく、スペクトラム拡散信号の同期捕捉を高速に行なう方法として、マッチドフィルタを用いる方法がある。
【００７２】
マッチドフィルタは、トランスバーサルフィルタにより、デジタル的に実現可能である。また、近年は、ＤＳＰ（Ｄｉｇｉｔａｌ  Ｓｉｇｎａｌ  Ｐｒｏｃｅｓｓｏｒ）に代表されるハードウエアの能力の向上によって、高速フーリエ変換（以下、ＦＦＴ（Ｆａｓｔ  Ｆｏｕｒｉｅｒ  Ｔｒａｎｓｆｏｒｍ）という）処理を用いたデジタルマッチドフィルタにより、拡散符号の同期を高速に行なう手法が実現している。ただし、デジタルマッチドフィルタそのものは、拡散符号の同期を保持する機能を有しない。
【００７３】
後者のＦＦＴ処理を用いる方法は、古くから知られる相関計算の高速化方法に基づいており、受信機側のレプリカＰＮ符号と、衛星ＰＮ符号との間に相関がある場合には、後述する図４に示すような相関のピークが検出され、ピークの位置が衛星ＰＮ符号の先頭の位相である。したがって、この相関のピークを検出することで、衛星ＰＮ符号の同期を捕捉、すなわち、ＧＰＳ衛星の受信信号における衛星ＰＮ符号の位相を検出することができる。
【００７４】
ＧＰＳ衛星からの受信信号のキャリア（中間周波数）は、ＦＦＴを利用した方法で、ＦＦＴの周波数領域での操作により、衛星ＰＮ符号の位相とともに検出することができる。衛星ＰＮ符号の位相は、疑似距離に換算され、４個以上の衛星について検出されれば、ＧＰＳ受信機の位置を計算することができる。また、キャリア周波数が検出されると、ドップラーシフト量が判り、これにより、ＧＰＳ受信機の速度が計算できる。
【００７５】
以上のことから、この実施形態では、高速フーリエ変換（以下、ＦＦＴ（Ｆａｓｔ  Ｆｏｕｒｉｅｒ  Ｔｒａｎｓｆｏｒｍ）という）処理を用いたデジタルマッチドフィルタによりＰＮ符号についての相関計算を行い、その相関計算に基づいて同期捕捉処理を高速に行なう。
【００７６】
アンテナ１で受信されるＧＰＳ衛星信号には、複数のＧＰＳ衛星からの信号が含まれているが、同期捕捉部２０では、すべてのＧＰＳ衛星についてのレプリカＰＮ符号の情報を用意しており、その用意されているレプリカＰＮ符号の情報を用いて、その時点でＧＰＳ受信機が利用可能な複数個のＧＰＳ衛星信号の衛星ＰＮ符号との相関を計算することにより、それらの複数個のＧＰＳ衛星信号の同期捕捉をすることが可能である。
【００７７】
同期捕捉部２０では、いずれのＧＰＳ衛星用のレプリカＰＮ符号の情報を用いて同期捕捉したかにより、いずれのＧＰＳ衛星からの信号の同期捕捉をしたかを検知する。当該同期捕捉したＧＰＳ衛星の識別子としては、例えばＧＰＳ衛星番号が用いられる。
【００７８】
そして、同期捕捉部２０は、同期捕捉したＧＰＳ衛星の衛星番号の情報と、同期捕捉により検出した衛星ＰＮ符号の位相の情報と、ＩＦキャリア周波数の情報と、また、必要に応じて、相関の度合いを示す相関検出信号からなる信号強度の情報を、同期保持部３０に渡すようにする。
【００７９】
同期捕捉部２０で検出した衛星番号、衛星ＰＮ符号の位相、ＩＦキャリア周波数、信号強度の情報を、同期保持部３０へ渡す方法としては、データのフォーマット、割り込みの方法等を決めた上で、同期捕捉部２０から同期保持部３０へ直接渡す方法と、制御部４０を介して渡す方法とがある。
【００８０】
前者の場合には、同期捕捉部２０のＤＳＰ２３で、同期保持部３０に渡す情報を生成する。あるいは、同期保持部３０に、例えばＤＳＰで構成される制御部を設け、その制御部で、同期捕捉部２０からの情報に基づいて、同期保持部３０で必要な情報を生成する構成とする。
【００８１】
また、後者の場合には、制御部４０のＣＰＵ４１が制御し、ＣＰＵ４１を介して情報の受け渡し、またＣＰＵ４１から同期捕捉部２０および同期保持部３０の制御を行なうことができるので、後述する衛星ＰＮ符号についての位相補正や、同期捕捉部２０と同期保持部３０の状況に応じた多様な同期手順を設定しやすくなる。
【００８２】
そこで、以下に説明する実施形態では、同期捕捉部２０から、衛星番号、衛星ＰＮ符号の位相、ＩＦキャリア周波数、信号強度の情報を、同期保持部３０へ渡す方法としては、制御部４０を介して渡す方法を採用している。
【００８３】
［同期捕捉部２０の構成］
図２は、同期捕捉部２０の構成例を示すものであって、この例では、サンプリング回路２１と、データバッファ用のＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）２２と、ＤＳＰ（Ｄｉｇｉｔａｌ  Ｓｉｇｎａｌ  Ｐｒｏｃｅｓｓｏｒ）２３と、プログラムＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）と、ワークエリア用のＲＡＭとからなるＤＳＰ２３用のメモリ部２４とを備えて構成される。ＤＳＰ２２およびＤＳＰ用のメモリ部２４とは、制御部４０のＣＰＵ４１に接続されている。
【００８４】
サンプリング回路２１では、周波数変換部１０からの１．０２３ＭＨｚのＩＦデータを、その２倍以上の所定の周波数でサンプリングし、各サンプリング値をＲＡＭ２２に書き込む。ＲＡＭ２２は、所定時間長分のＩＦデータを記憶する容量を有する。ＤＳＰ２３では、このＲＡＭ２２の容量分の時間長のＩＦデータ単位に同期捕捉処理を行なう。
【００８５】
すなわち、この例では、ＤＳＰ２３は、ＲＡＭ２２に取り込んだＩＦデータについて、高速フーリエ変換（以下、ＦＦＴ（Ｆａｓｔ  Ｆｏｕｒｉｅｒ  Ｔｒａｎｓｆｏｒｍ）という）処理を用いたデジタルマッチドフィルタにより、衛星ＰＮ符号の同期捕捉を高速に行なう。そして、ＤＳＰ２３は、その同期捕捉の結果として、同期捕捉したＧＰＳ衛星番号と、同期捕捉したＧＰＳ衛星信号の衛星ＰＮ符号の位相およびそのＩＦキャリア周波数とを検出する。
【００８６】
サンプリング回路２１におけるサンプリング周波数により、衛星ＰＮ符号の位相の検出精度が決まる。このサンプリング周波数は、サンプリング定理からＩＦ信号に含まれる最大周波数の２倍以上である必要があり、ＩＦキャリア周波数の整数倍の周波数が望ましい。
【００８７】
また、ＲＡＭ２２の容量により決まるＤＳＰ２３での処理単位の時間長により、ＩＦキャリア周波数の検出精度が決まる。このＤＳＰ２３での処理単位の時間長は、ＰＮ符号の１周期の整数倍、後述のように、特に２のべき乗倍が望ましい。
【００８８】
ここで、サンプリング回路２１でのサンプリング周波数を、拡散符号のチップレートのα倍、ＲＡＭ２２に取り込むＩＦデータの時間長をＰＮ符号の１周期のβ倍（βミリ秒）とすると、ＤＳＰ２３では、ＦＦＴの周波数領域での操作により、衛星ＰＮ符号の位相は１／αチップの精度で検出することができ、ＩＦキャリア周波数は、１／βｋＨｚ（±１／２βｋＨｚ）の精度で検出することができる。
【００８９】
次に、ＤＳＰ２３におけるＦＦＴを用いたデジタルマッチドフィルタによる同期捕捉のいくつかの例について詳述する。
【００９０】
〔デジタルマッチドフィルタによる同期捕捉の第１の例（基本的構成例）〕
この例においては、サンプリング回路２１でのサンプリング周波数は、拡散符号のチップレートのほぼ４倍の４倍の４．０９６ＭＨｚとされる。そして、ＲＡＭ２２には、ＰＮ符号の１周期分（１ミリ秒）である４０９６サンプル点のデータを記憶する。ＤＳＰ２３は、このＲＡＭ２２に取り込まれた１ミリ秒単位のデータについて、ＧＰＳ衛星信号の衛星ＰＮ符号とＧＰＳ受信機のレプリカＰＮ符号との相関を、ＦＦＴを用いた相関演算により計算して、同期捕捉を行なう。ＰＮ符号の１周期分は、１０２３チップであるから、１／４チップの精度で衛星ＰＮ符号の位相検出が可能となる。また、ＩＦキャリア周波数の検出精度は、１ミリ秒単位のＦＦＴ処理であるので、１ｋＨｚである。
【００９１】
この例では、図３に示すように、ＤＳＰ２３では、ＲＡＭ２２に書き込まれた１ミリ秒単位のＩＦデータを読み出して、ＦＦＴ処理部１０１でＦＦＴ処理し、そのＦＦＴ結果をメモリ１０２に書き込む。そして、メモリ１０２から読み出した受信信号のＦＦＴ結果は、乗算部１０３に供給する。
【００９２】
一方、ＰＮ符号発生部１０４から、ＧＰＳ衛星からの受信信号に使用されているＰＮ符号と同じ系列と考えられるレプリカＰＮ符号を発生させる。実際的には、ＰＮ符号発生部１０４からは、予め用意されている複数個のＧＰＳ衛星に対するレプリカＰＮ符号が順次に切り換えられて出力されることになる。
【００９３】
このＰＮ符号発生部１０４からの１周期分（１０２３チップ）のレプリカＰＮ符号は、ＦＦＴ処理部１０５に供給されてＦＦＴ処理され、その処理結果がメモリ１０６に供給される。このメモリ１０６からは、通常の場合と同様に、ＦＦＴ結果が低い周波数から順に読み出されて乗算部１０３に供給される。
【００９４】
乗算部１０３では、メモリ１０２からの受信信号のＦＦＴ結果と、メモリ１０６からのレプリカＰＮ符号のＦＦＴ結果とが乗算され、周波数領域における受信信号の衛星ＰＮ符号とレプリカＰＮ符号との相関の度合いが演算される。ここで、乗算部１０５での乗算は、受信信号の離散フーリエ変換結果と、レプリカＰＮ符号の離散フーリエ変換結果とのどちらか一方の複素共役と他方とを乗算する演算となる。そして、その乗算結果は逆ＦＦＴ処理部１０７に供給されて、周波数領域の信号が時間領域の信号に戻される。
【００９５】
逆ＦＦＴ処理部１０７から得られる逆ＦＦＴ結果は、受信信号の衛星ＰＮ符号とレプリカＰＮ符号との時間領域における相関検出信号となっている。この相関検出信号は、相関点検出部１０８に供給される。
【００９６】
この相関検出信号は、拡散符号の１周期分の各チップ位相における相関値を示すものとなっており、所定の強度以上である受信信号中の拡散符号と、拡散符号発生部１０４からの拡散符号とが同期している位相（拡散符号の１周期分単位の位相）においては、図４に示すように、１０２３チップのうちのある一つの位相での相関値が、予め定められるスレッショールド値を超えるようなピーク値を示す相関波形が得られる。このピーク値の立つチップ位相が、相関点の位相であり、ＧＰＳ受信機側のレプリカＰＮ符号に対するＧＰＳ衛星信号の衛星ＰＮ符号の１周期の先頭の位相となる。
【００９７】
一方、受信信号が所定の強度以下である場合、受信信号中の拡散符号と、拡散符号発生部１０４からの拡散符号とが同期しても、図４のようなピーク値が立つ相関波形は得られず、いずれのチップ位相においても、予め定められるスレッショールド値を超えるようなピークは立たない。
【００９８】
相関点検出部１０８は、例えば、予め定めた値を超えるピーク値が、この相関点検出部１０８に供給される相関検出信号に存在するかどうかにより、受信信号の衛星ＰＮ符号とレプリカＰＮ符号との同期が取れたかどうかを検出する。
【００９９】
相関点検出部１０８で同期が取れたことを検出した場合には、前記ピーク値の位相を相関点、つまり、ＧＰＳ衛星信号の衛星ＰＮ符号の位相として検出する。そして、ＤＳＰ２３は、そのときのＰＮ符号発生部１０４からのレプリカＰＮ符号がいずれのＧＰＳ衛星用のものであるかにより、ＧＰＳ衛星番号を認識する。
【０１００】
また、図４に示した相関検出信号は時間領域のものであるが、後述する処理により中間周波受信信号におけるキャリア成分を正しく除去した場合にのみ相関のピークが検出される。
【０１０１】
そして、除去を行ったキャリア成分の周波数が、前記の予め定めた値を超えるピーク値が立つ相関点に対応する、ドップラーシフト分を含めたＩＦキャリア周波数となる。したがって、このドップラーシフト分を含めたＩＦキャリア周波数が、相関点検出の結果としてＤＳＰ２３において、検出される。
【０１０２】
以上のようにして、一つのＧＰＳ衛星についての同期捕捉が完了すると、この例では、ＰＮ符号発生部１０４から発生させるレプリカＰＮ符号を他のＧＰＳ衛星信号の衛星ＰＮ符号に対応するものに変更して、上記の処理を繰り返す。また、同期が取れなかった場合にも、ＤＳＰ２３では、ＰＮ符号発生部１０４から発生させるレプリカＰＮ符号を他のＧＰＳ衛星信号の衛星ＰＮ符号に対応するものに変更して、上記の処理を繰り返す。
【０１０３】
そして、ＤＳＰ２３では、サーチすべき全ＧＰＳ衛星についての同期捕捉処理が終了したとき、あるいは制御部４０のＣＰＵ４１からの情報により、例えば４個以上のＧＰＳ衛星についてのＰＮ符号の同期が取れたときに、以上の同期捕捉処理を終了する。
【０１０４】
ＤＳＰ２３は、その同期捕捉の結果として検出した、同期捕捉したＧＰＳ衛星番号と、同期捕捉したＧＰＳ衛星信号の衛星ＰＮ符号の位相およびそのＩＦキャリア周波数とからなる情報を、制御部４０に供給する。また、この例では、ＤＳＰ２３は、同期捕捉した各ＧＰＳ衛星信号についての相関点のピーク値をも、制御部４０に供給するようにしている。
【０１０５】
以上の説明では、受信信号のキャリアの処理を考慮していないが、実際には、受信信号ｒ（ｎ）は、図３５の式（３）に示すようにキャリアを含んでいる。この式（３）において、Ａは振幅、ｄ（ｎ）はデータ、ｆ0（＝ｆＩＦ）は中間周波信号におけるキャリア角周波数、ｎ（ｎ）はノイズを表している。
【０１０６】
サンプリング部２１でのサンプリング周波数をｆs 、ＰＮ符号の１周期分についてのサンプリング数をＮ（したがって、０≦ｎ＜Ｎ）とすると、離散フーリエ変換後の離散周波数ｋ（０≦ｋ＜Ｎ）と実周波数ｆとの関係は、
０≦ｋ≦Ｎ／２ではｆ＝ｋ・ｆs ／Ｎ、
Ｎ／２＜ｋ＜Ｎではｆ＝（ｋ−Ｎ）・ｆs ／Ｎ（ｆ＜０）
である。なお、離散フーリエ変換の性質により、Ｒ（ｋ）、Ｃ（ｋ）は、ｋ＜０およびｋ≧Ｎでは循環性を示す。
【０１０７】
そして、受信信号ｒ（ｎ）から、データｄ（ｎ）を得るためには、ＰＮ符号ｃ（ｎ）とキャリアｃｏｓ２πｎｆ0との同期をとってキャリア成分を除去する必要がある。すなわち、後述する図３５の式（２）で、Ｒ（ｋ）のみにキャリア成分が含まれている場合には、図４のような相関波形が得られない。
【０１０８】
この実施の形態では、ＦＦＴによる周波数領域での処理のみの簡単な構成により、ＰＮ符号ｃ（ｎ）とキャリア（ＩＦキャリア）ｃｏｓ２πｎｆ0との同期をとってキャリア成分を除去することができるようにしている。
【０１０９】
すなわち、ＦＦＴ処理部１０１から得られるＧＰＳ衛星からの受信信号のＦＦＴ結果は、通常は、受信信号の周波数成分の周波数が低いものから順にメモリ１０２から読み出されて、乗算部１０３に供給されるが、この実施の形態では、メモリ１０２からは、読み出しアドレス制御部１０９からの制御に従って、読み出しアドレスがシフト制御されて、順次、受信信号のＦＦＴ結果が読み出される。
【０１１０】
読み出しアドレス制御部１０９には、受信信号を得たＧＰＳ衛星についてのドップラーシフト量を正確に見積もることができ、かつ、ＧＰＳ受信機内部の発振周波数および時間情報を正確に校正された状態において検出された受信信号のキャリア周波数の情報が得られれば、そのキャリア周波数（ＩＦキャリア周波数）の情報が供給される。
【０１１１】
このＩＦキャリア周波数の情報は、前述したように、４個以上のＧＰＳ衛星からの受信信号が同期保持されていて、安定的に受信機位置が測定されているときには、受信機速度の算出に伴ってほぼ正確に求められるので、当該算出されたＩＦキャリアの情報が用いられる。また、ＩＦキャリア周波数の情報は、ＧＰＳ受信機外部から取得するようにすることもできる。
【０１１２】
そして、読み出しアドレス制御部１０９は、ＧＰＳ受信機内部で生成した、あるいは外部から取得したキャリア周波数の情報に基づいて、そのキャリア周波数分だけ、読み出しアドレスをシフトして、メモリ１０２から受信信号のＦＦＴ結果を、順次、読み出し、乗算部１０３に供給するようにする。
【０１１３】
このように受信信号ｒ（ｎ）のＦＦＴ結果を、メモリ１０２から、受信信号のキャリア周波数分だけシフトして読み出すことにより、後述するように、キャリア成分を除去した受信信号のＦＦＴ結果と等価なＦＦＴ結果を得ることができ、そのキャリア成分を除去したＦＦＴ結果と、ＰＮ符号の１周期分のＦＦＴ結果との乗算結果を逆拡散することにより、確実に図４のように相関点でピークを生じる相関検出出力が得られる。
【０１１４】
なお、後述もするように、メモリ１０２からのＦＦＴ結果の読み出しアドレスを制御するのではなく、メモリ１０６からのレプリカＰＮ符号のＦＦＴ結果の読み出しアドレスを制御することにより、レプリカＰＮ符号のＦＦＴ結果に、受信信号ｒ（ｎ）のキャリア分を加え、乗算部１０３での乗算によって、実質的によりキャリア成分の除去を行なうようにすることもできる。
【０１１５】
以下に、メモリ１０２または１０６からの読み出しアドレスの制御によって、受信信号のキャリアおよび衛星ＰＮ符号の同期によるキャリア成分の除去について、ＤＳＰ２３でのデジタルマッチドフィルタの処理の動作説明と共に、さらに詳細に説明する。
【０１１６】
この実施の形態において、ＤＳＰ２３では、デジタルマッチドフィルタの処理が行われるものであるが、このデジタルマッチドフィルタの処理の原理は、図３５の式（１）に示すように、時間領域での畳み込みのフーリエ変換が周波数領域では乗算になるという定理に基づくものである。
【０１１７】
この式（１）において、ｒ（ｎ）は時間領域の受信信号、Ｒ（ｋ）はその離散フーリエ変換を表す。また、ｃ（ｎ）は拡散符号発生部からのレプリカＰＮ符号、Ｃ（ｋ）はその離散フーリエ変換を表す。ｎは離散時間、ｋは離散周波数である。そして、Ｆ［ｋ］は、ｆ（ｎ）のフーリエ変換を表している。
【０１１８】
２つの信号ｒ（ｎ）、ｃ（ｎ）の相関関数を改めてｆ（ｎ）と定義すると、ｆ（ｎ）の離散フーリエ変換Ｆ（ｋ）は、図３５の式（２）のような関係になる。したがって、ｒ（ｎ）を周波数変換部１０からの信号とし、ｃ（ｎ）をＰＮ符号発生部１０４からのレプリカＰＮ符号とすれば、ｒ（ｎ）とｃ（ｎ）の相関関数ｆ（ｎ）は、通常の定義式によらず、前記式（２）により以下の手順で計算できる。
【０１１９】
・受信信号ｒ（ｎ）の離散フーリエ変換Ｒ（ｋ）を計算する。
【０１２０】
・レプリカＰＮ符号ｃ（ｎ）の離散フーリエ変換Ｃ（ｋ）の複素共役を計算する。
【０１２１】
・Ｒ（ｋ）、Ｃ（ｋ）の複素共役より、式（２）のＦ（ｋ）を計算する。
【０１２２】
・Ｆ（ｋ）の逆離散フーリエ変換により相関関数ｆ（ｎ）を計算する。
【０１２３】
ところで、前述したように、受信信号ｒ（ｎ）に含まれる衛星ＰＮ符号が、ＰＮ符号発生部１０４からのレプリカＰＮ符号ｃ（ｎ）と一致していれば、上記手順により計算した相関関数ｆ（ｎ）は、図４のように相関点でピークを生ずる時間波形となる。上述したように、この実施の形態では、離散フーリエ変換および逆フーリエ変換に、ＦＦＴおよび逆ＦＦＴの高速化アルゴリズムを適用したので、定義に基づいて相関を計算するより、かなり高速に計算を行なうことができる。
【０１２４】
次に、受信信号ｒ（ｎ）に含まれるキャリアと衛星ＰＮ符号との同期について説明する。
【０１２５】
前述したように、受信信号ｒ（ｎ）は、図３５の式（３）に示すようにキャリアを含んでいる。受信信号ｒ（ｎ）から、データｄ（ｎ）を得るためには、レプリカＰＮ符号ｃ（ｎ）とキャリアｃｏｓ２πｎｆ0との同期をとって除去する必要がある。すなわち、前述の図４５の式（２）で、Ｒ（ｋ）のみにキャリアが含まれている場合には、図４のような相関波形が得られない。
【０１２６】
前述したように、ドップラーシフト量が正確に見積もられ、かつ、ＧＰＳ受信機内部の発振周波数および時間情報が正確であれば、受信信号ｒ（ｎ）のキャリア周波数（ＩＦキャリア周波数）ｆ0（＝ｆＩＦ）が既知となる。その場合には、図５に示すように、ＦＦＴ処理部１０１の前段に乗算部１２１を設け、この乗算部１２１において受信信号ｒ（ｎ）と信号発生部１２２からの周波数ｆ0のキャリアとを乗算して周波数変換することにより、ＦＦＴを行なう前に受信信号ｒ（ｎ）からキャリア成分を除くことができる。
【０１２７】
その場合には、メモリ１０２からは、そのキャリア成分が除去された受信信号ｒ（ｎ）のＦＦＴ結果が得られ、このＦＦＴ結果と、レプリカＰＮ符号ｃ（ｎ）のＦＦＴ結果とが乗算部１０３で乗算されるので、逆ＦＦＴ処理部１０７の出力としては、図４のように相関点にピークを生じる時間波形が確実に得られる。
【０１２８】
なお、図５で括弧内に記載したように、受信信号ｒ（ｎ）からキャリア成分を除去するのではなく、レプリカＰＮ符号ｃ（ｎ）についてのＦＦＴ処理部１０５の前段に乗算部１２１を設けて、この乗算部１２１においてレプリカＰＮ符号ｃ（ｎ）と信号発生部１２２からの周波数ｆ0（＝ｆＩＦ）のキャリアとを乗算して周波数変換することにより、レプリカＰＮ符号にキャリア成分を加えるようにしても同様である。
【０１２９】
すなわち、その場合には、メモリ１０２から読み出した受信信号のＦＦＴ結果に含まれるキャリア成分と、メモリ１０６から読み出したレプリカＰＮ符号のＦＦＴ結果に含まれる、加えられたキャリア成分とが同期しているため、逆ＦＦＴ処理部１０７からは、図４のように相関点でピークを生じる相関検出出力が得られる。
【０１３０】
しかし、以上説明したような図５のように時間領域の信号にキャリア周波数の信号を乗算する方法による場合には、キャリア成分を除くための乗算部が特に必要になり、構成が複雑になると共に、その乗算演算の分だけ、処理速度が遅くなるという不利益がある。
【０１３１】
ところで、ＦＦＴの性質として、上述のような周波数乗算は、図３５の式（４）のように表わすことができる。この式（４）で、Ｆ［ｋ］はｆ（ｎ）の離散フーリエ変換、φ0 はキャリアとの位相差、ｋ0 はｆ0 に対応するｋであって、ｆ0 ＝ｋ0 ・ｆs ／Ｎである。この式（４）より、受信信号ｒ（ｎ）を図５のように周波数変換した信号のＦＦＴは、ｒ（ｎ）のＦＦＴであるＲ（ｋ）を、キャリア周波数分ｋ0だけシフトした形になる。
【０１３２】
以上のことから、図５の構成は、図６のような構成に置換可能となる。すなわち、受信信号ｒ（ｎ）やレプリカＰＮ符号ｃ（ｎ）にキャリア周波数を乗算する代わりに、受信信号のＦＦＴ結果またはレプリカＰＮ符号のＦＦＴ結果をメモリ１０２またはメモリ１０６からの読み出す際の読み出しアドレスを、キャリア周波数分だけシフトするようにするものである。
【０１３３】
この場合に、図６で、受信信号ｒ（ｎ）をシフトする場合はダウンコンバージョンで、ｋ0 ＞０とし、また、レプリカＰＮ符号ｃ（ｎ）をシフトする場合はアップコンバージョンで、ｋ0 ＜０とする。
【０１３４】
以上説明したように、式（４）に示したＦＦＴの性質を利用すれば、図５の信号発生器１２２は不要になり、図６のように、ＦＦＴ結果のメモリからの読み出しアドレス位相をシフトするだけでよくなり、構成が簡単になると共に、処理の高速化につながる。
【０１３５】
なお、前述の式（４）における位相差φ0 は未知であるため、図６では無視しているが、例えば、図３５の式（５）により計算されるＦ’（ｋ）の逆ＦＦＴの演算結果として得られる相関関数ｆ’（ｎ）（０≦ｎ＜Ｎ）は複素数となり、その実部をｆR’（ｎ）、虚部をｆI’（ｎ）とすると、相関ピークの振幅｜ｆ’（ｎ）｜は、図３５の式（６）に示すようにして得られ、位相φは、図３５の式（７）に示すようにして得られるので、式（４）の右辺のｅｘｐ（ｊφ0 ）の乗算は省略してよい。なお、位相φ は、式（３）のデータｄ（ｎ）の衛星ＰＮ符号に対応したπだけ異なる２つの値に式（７）のφ0が加わった値となる。
【０１３６】
以上説明したような、ＤＳＰ２３における同期捕捉処理の第１の例の動作を図３のブロック図に反映させた構成図を図７に示す。この図７の各ブロックの出力には、上述したような信号出力ｒ（ｎ）、ｃ（ｎ）および演算結果Ｒ（ｋ）、Ｃ（ｋ）、ｆ'（ｎ）が示されている。
【０１３７】
以上のように、ＤＳＰ２３での捕捉処理の第１の例によれば、ＧＰＳ受信機において、ＦＦＴを利用してデジタルマッチドフィルタを構成する場合に、図７のように受信信号のＦＦＴ結果を、キャリア周波数分だけメモリのアドレスをシフトして、レプリカＰＮ符号と乗算する構成によって、相関点ｎp が、例えば図７に示すような波形で得られ、４個のＧＰＳ衛星、つまり４種類のレプリカＰＮ符号ｃ（ｎ）について、相関点ｎp が判れば、ＧＰＳ受信機位置の計算が可能になる。
【０１３８】
すなわち、第１の例によれば、ＦＦＴを利用したデジタルマッチドフィルタ処理を行なう場合において、受信信号のキャリアとレプリカＰＮ符号との同期を取るために、時間領域で乗算を行なうことなく、受信信号のＦＦＴ結果とレプリカＰＮ符号のＦＦＴ結果同士の周波数領域での乗算の際に、受信信号のＦＦＴ結果とレプリカＰＮ符号のＦＦＴ結果のうちの一方のＦＦＴ結果をシフトするという簡便な方法により、受信信号のキャリア成分を除去することができる。
【０１３９】
なお、図７の例では、受信信号のＦＦＴ結果Ｒ（ｋ）の方の、メモリの読み出しアドレスをシフトさせたが、レプリカＰＮ符号のＦＦＴ結果Ｃ（ｋ）の方のメモリの読み出しアドレスを、受信信号のＦＦＴ結果Ｒ（ｋ）の場合とは逆方向にシフト（乗算器でのアップコンバージョンの形になる）しても良い。
【０１４０】
また、上述の第１の例の説明においては、拡散符号発生器１０４とＦＦＴ処理部１０５とを別々に設けるようにしたが、それぞれのＧＰＳ衛星に対応するレプリカＰＮ符号を予めＦＦＴしておいたものをメモリに記憶させておくことで、衛星信号の受信時におけるレプリカＰＮ符号ｃ（ｎ）のＦＦＴ計算を省略することができる。
【０１４１】
〔デジタルマッチドフィルタによる同期捕捉の第２の例〕
上述の同期捕捉の第１の例は、ＧＰＳ衛星からの受信信号のキャリア周波数が正確に与えられる場合であったが、この同期捕捉の第２の例は、キャリア周波数が未知である場合である。第１の例と同様に、この第２の例においては、サンプリング回路２１でのサンプリング周波数は、４．０９６ＭＨｚであり、ＲＡＭ２２の容量は、サンプリング回路２１からのデータの１ミリ秒分の容量である。
【０１４２】
図８は、第２の例としてのＤＳＰ２３の構成例を示すブロック図である。この図８において、前述した第１の例として示した図３のＤＳＰ２３の構成例と同一部分には、同一番号を付してある。
【０１４３】
この同期捕捉の第２の例では、図８に示すように、相関点検出部１０８の相関検出出力を、読み出しアドレス制御部１１０に供給する。読み出しアドレス制御部１１０は、受信信号ｒ（ｎ）のＦＦＴ結果のメモリ１０２からの読み出しアドレスの前記シフト量を、制御部４０の不揮発性メモリ４６に記憶されているＩＦキャリア誤差を用いて算出されたＩＦキャリア周波数の情報（初期値）に対応した予測アドレスを中心に、相関点検出部１０８の相関検出出力に基づいて変更制御して、相関点検出部１０８で図４に示したようなピークが得られるようにする。相関点検出部１０８で図４に示したようなピークが得られたときには、読み出しアドレス制御部１１０は、読み出しアドレスのシフト制御を、そのときのシフト量で停止する。
【０１４４】
制御部４０では、例えば電源投入時などの立ち上げ時において、１個のＧＰＳ衛星からの受信信号についても、同期保持がなされていないときには、電源オフ時に、ＧＰＳ受信機の不揮発性メモリ４６に格納されている過去のＩＦキャリア誤差ΔｆＩＦと、不揮発性メモリ４６に記憶されている軌道情報およびＧＰＳ受信機の位置に基づき求められるドップラーシフトｆＤとから概算されたＩＦキャリア周波数を、前記読み出しアドレス制御部１１０に供給する初期値とする。
【０１４５】
また、４個のＧＰＳ衛星からの受信信号については同期保持されてはいないが、少なくとも１個のＧＰＳ衛星からの受信信号について同期保持がなされていて、当該受信信号の中間周波キャリア周波数が既知であり、当該同期保持されているＧＰＳ衛星についての軌道情報が記憶部に記憶されていると共に、受信機の位置および現在時刻が既知である場合には、制御部４０では、前述と同様にして概算されるドップラーシフトｆＤと、後述するようにして求められるＩＦキャリア誤差ΔｆＩＦとから、ＩＦキャリア周波数を求める。そして、求めたＩＦキャリア周波数を読み出しアドレス制御部１１０に供給するＩＦキャリア周波数の初期値とする。
【０１４６】
そして、４個のＧＰＳ衛星からの受信信号について同期保持が安定的にできるようになり、ＧＰＳ受信機の速度計算が行なわれ、正確なＩＦキャリア誤差ΔｆＩＦが得られるようになったときには、制御部４０では、当該正確なＩＦキャリア誤差ΔｆＩＦを、読み出しアドレス制御部１１０に供給するＩＦキャリア周波数の初期値とする。
【０１４７】
なお、不揮発性メモリ４６のＩＦキャリア誤差ΔｆＩＦとしては、そのときに用いられているＩＦキャリア誤差ΔｆＩＦの値が記憶される。したがって、電源オフから再度電源オンとなったときには、不揮発性メモリ４６には電源オフの直前に記憶されていたＩＦキャリア誤差ΔｆＩＦが記憶されている。
【０１４８】
＜ＩＦキャリア周波数の初期値を決定するためのＩＦキャリア誤差の算出＞
例えば電源投入時からのＧＰＳ衛星信号の同期捕捉に当たっては、この実施形態では、先ず、従来と同様に、不揮発性メモリ４６に記憶されている電源オフ直前のＩＦキャリア誤差ΔｆＩＦおよび計算により求められるドップラーシフトから概算されたＩＦキャリア周波数を初期値として、同期捕捉動作を開始し、少なくとも１個のＧＰＳ衛星からの受信信号の同期保持を行なう。
【０１４９】
従来は、不揮発性メモリ４６の電源オフ直前のＩＦキャリア誤差ΔｆＩＦは、４個以上のＧＰＳ衛星からの受信信号の同期保持がなされ、受信機の速度計算が行なわれて、ＩＦキャリア誤差ΔｆＩＦが計算されるまでは、不揮発性メモリ４６のＩＦキャリア誤差ΔｆＩＦは、更新されない。
【０１５０】
これに対して、この実施形態では、少なくとも１個のＧＰＳ衛星からの受信信号の同期保持がなされたときには、その同期保持により得られる情報を基に、以下に説明するようにして、ＩＦキャリア誤差ΔｆＩＦを更新するようにする。
【０１５１】
受信機の３次元座標χ０、受信機の３次元速度ｖ０、ＧＰＳ衛星の３次元座標ｐ、ＧＰＳ衛星の３次元速度ｖ、ＧＰＳ衛星のドップラーシフトｆＤ、キャリア周波数ｆRF（＝１５７５．４２ＭＨｚ）および真空中の光速度ｃとの間には、図３６の式（９）に示すような関係がある。なお、式（９）において、ａ・ｂは、あるベクトルａと、あるベクトルｂとの内積を表している。
【０１５２】
ここで、ＧＰＳ衛星の軌道情報と、ＧＰＳ受信機の概略位置および現在時刻は、不揮発性メモリ４６の記憶情報から既知であり、ＧＰＳ衛星の３次元位置ｐと３次元速度ｖとは、当該ＧＰＳ衛星の軌道情報と受信機の内部時計の時刻から求められる。そこで、受信機の３次元速度ｖ０は０であると仮定すると、式（９）は、図３６の式（１０）のように変形することができる。つまり、前記ＧＰＳ衛星のドップラーシフトｆＤは、上述のような前提条件から概算することが可能である。
【０１５３】
次に、ＧＰＳ受信機の電源が投入された後、前述したように従来と同様の同期捕捉動作により少なくとも１個のＧＰＳ衛星からの受信信号を同期捕捉し、同期保持がなされたとすると、当該ＧＰＳ衛星からの受信信号についてのＩＦキャリア周波数を得ることができる。このとき、同期保持されたＧＰＳ衛星の衛星番号をｉとし、同期保持部から得られるＩＦキャリア周波数をｆＩＦｉとすると、冒頭で述べた（式ａ）と、前記式（１０）とから、ＩＦキャリア誤差ΔｆＩＦｉは、図３６の式（１１）のように表わすことができる。
【０１５４】
この式（１１）は、既に同期保持がなされているＧＰＳ衛星の情報（ＩＦキャリア周波数）と、当該ＧＰＳ衛星に関する軌道情報から計算される衛星位置および衛星速度を用いて、ＩＦキャリア誤差ΔｆＩＦを概算できることを示している。
【０１５５】
そして、このようにして概算されたＩＦキャリア誤差ΔｆＩＦは、不揮発性メモリ４６に記憶されている電源オフ直前の過去のＩＦキャリア誤差ΔｆＩＦよりも、現在の環境に応じた精度の良いものとなっていると考えられる。そして、この概算により求められたＩＦキャリア誤差ΔｆＩＦが、４個のＧＰＳ衛星からの受信信号の同期保持がなされて、受信速度に伴う正確なＩＦキャリア誤差ΔｆＩＦが得られるまで、次のＧＰＳ衛星からの受信信号の同期捕捉の際のＩＦキャリア周波数の計算に用いられる。
【０１５６】
すなわち、この実施形態では、以上のようにして概算されて求められたＩＦキャリア誤差ΔｆＩＦと、前述のようにして概算されたドップラーシフトｆＤとを用いて、前記（式ａ）から、ＩＦキャリア周波数を概算し、この概算されたＩＦキャリア周波数を、他のＧＰＳ衛星からの受信信号の同期捕捉の際に、読み出しアドレス制御部１１０に供給するＩＦキャリア周波数の初期値として用いる。
【０１５７】
図９は、電源投入時における、この実施形態と従来の同期捕捉方法との違いを説明するための図である。すなわち、従来の方法の場合には、不揮発性メモリに記憶されていた電源オフ直前のＩＦキャリア誤差ΔｆＩＦ（Ｍ）が、４個のＧＰＳ衛星からの受信信号の同期保持がなされて、受信速度に伴う正確なＩＦキャリア誤差ΔｆＩＦ（Ａ）が得られるまで使用されることになるので、その周波数差が、電源投入時から同期捕捉、そして最初の測位までのＴＴＦＦに影響し、当該ＴＴＦＦが遅くなる。
【０１５８】
これに対して、この実施形態では、少なくとも１個のＧＰＳ衛星からの信号が同期捕捉され、同期保持されると、それに基づいて上述のようにして、概算されたＩＦキャリア誤差ΔｆＩＦ（Ａ１）、ΔｆＩＦ（Ａ２）、ΔｆＩＦ（Ａ３）・・が用いられて、同期捕捉が行なわれ、電源投入時から測位までのＴＴＦＦが短縮されるものである。
【０１５９】
ところで、上述したようにして同期捕捉が行なわれると、４個のＧＰＳ衛星からの受信信号の同期保持がなされるまでに、複数個のＩＦキャリア誤差ΔｆＩＦが得られる。その場合に、ＩＦキャリア誤差ΔｆＩＦが得られるようになるＧＰＳ衛星を「ＩＦキャリア誤差算出可能衛星」と呼ぶことにすると、当該「ＩＦキャリア誤差算出可能衛星」となるＧＰＳ衛星の条件は、次の２条件となる。
【０１６０】
すなわち、
・同期保持がなされていて、同期保持部からＩＦキャリア周波数を得ることができる（この衛星番号をｉとする）
・ＧＰＳ衛星ｉの軌道情報が存在し、現在時刻から当該ＧＰＳ衛星位置および衛星速度をもとめることができる
の２条件である。
【０１６１】
そして、このような「ＩＦキャリア誤差算出可能衛星」が２個以上存在して、ＩＦキャリア誤差ΔｆＩＦが複数個存在する場合には、新たに求めたＩＦキャリア誤差ΔｆＩＦをその都度用いるようにしても良いが、それらの複数個のＩＦキャリア誤差ΔｆＩＦを用いた次のような計算を行なって、その結果のＩＦキャリア誤差ΔｆＩＦを用いるようにすると、さらに良い。
【０１６２】
（１）複数個のＩＦキャリア誤差ΔｆＩＦの平均をとり、その平均値を、ＩＦキャリア周波数を求めるためのＩＦキャリア誤差ΔｆＩＦとする。
【０１６３】
（２）同期保持部での信号レベルが高いＧＰＳ衛星ほどＩＦキャリアの精度がよい、という仮定の下、複数個のＩＦキャリア誤差ΔｆＩＦのうちの、最も信号レベルの高いＧＰＳ衛星からの信号から求めたＩＦキャリア誤差ΔｆＩＦを、ＩＦキャリア周波数を求めるためのＩＦキャリア誤差ΔｆＩＦとする。
【０１６４】
（３）同期保持部での信号レベルが高いＧＰＳ衛星ほどＩＦキャリアの精度がよい、という仮定の下、予め指定された閾値より信号レベルの高いＧＰＳ衛星からの信号から求めたＩＦキャリア誤差ΔｆＩＦの平均値を求め、その平均値を、ＩＦキャリア周波数を求めるためのＩＦキャリア誤差ΔｆＩＦとする。
【０１６５】
以上のＩＦキャリア誤差ΔｆＩＦの概算においては、受信機の速度を０と仮定するなど、近似値を用いているが、以下に説明するように、このような近似を行なっても、従来の方法よりも、この実施形態の方法の法が優れていることが分かる。
【０１６６】
すなわち、前述した図３６の式（１１）を幾何学的に考察すると、図１０に示すように、ＧＰＳ受信機位置ＸｓからＧＰＳ衛星位置Ｐｓまでの視線方向ベクトルＥと同じ向きの単位ベクトルと衛星速度ベクトルｖとの内積に定数−ｆＲＦ／ｃを乗じたものとなっている。
【０１６７】
この２つのベクトルＥ，ｖのなす角をθとすると、ドップラーシフトｆＤは、式（１２）のようになり、受信機位置は、ｃｏｓθにのみ影響することが分かる。
【０１６８】
受信機は地表表面付近にあるとみなせば、受信機からＧＰＳ衛星までの距離は、約２００００ｋｍであるであるので、受信機の位置が数ｋｍ程度（仮に１０ｋｍとする）ずれていたとしても、それにより変化する受信機から衛星までの視線方向ベクトルの角度φは、
ｔａｎφ≒１０／２００００
すなわち、φ≒０．０００５［ｒａｄ］≒０．３°程度である。
【０１６９】
この角度がそのままθに影響すると仮定すると、すなわち、θ´＝θ±φとすると、図３６の式（１３）のようになる。
【０１７０】
ここで、φ≒０よりｃｏｓφ≒１、ｓｉｎφ≒０と近似した。以上から、ＧＰＳ受信機位置が１０ｋｍ相当ずれたときのドップラーシフトｆＤ´と、本来のドップラーシフトｆＤとの差は、最大に見積もって、図３６の式（１４）のようになり、１０Ｈｚ程度ということになる。
【０１７１】
ただし、ＧＰＳ衛星速度｜ｖ｜は、高々４０００［ｍ／ｓ］とした。つまり、受信機速度が分からないために受信機速度は０であると見なしてしまっている以上、受信機位置の誤差が１０ｋｍ程度なら、受信機位置が正しい場合と比較して高々１０Ｈｚ程度の誤差でドップラーシフトが求まることになる。
【０１７２】
この誤差は、そのままＩＦキャリア誤差に伝播することになる。一方、既に述べたように、受信機の電源投入直後は、受信機内部のメモリ領域に保持されていたＩＦキャリア誤差の値は、たとえ電源オフの期間が数秒〜数１０秒であったとしても、電源投入後、受信機の速度が計算されることに伴い、ＩＦキャリア誤差の値が更新されるまでは、１０Ｈｚから数１００Ｈｚ程度ずれている可能性がある。
【０１７３】
したがって、この実施形態によって算出されたＩＦキャリア誤差ΔｆＩＦの方が、従来の電源オフ時にメモリに記憶されていたＩＦキャリア誤差ΔｆＩＦよりも、ＩＦキャリア誤差ΔｆＩＦの誤差を低く見積もることが可能である。
【０１７４】
図１１および図１２は、読み出しアドレス制御部１１０に供給するＩＦキャリア周波数の初期値を決定するためのＩＦキャリア誤差ΔｆＩＦの更新処理を説明するためのフローチャートである。
【０１７５】
制御部４０のＣＰＵ４１は、先ず、４個以上のＧＰＳ衛星の受信信号の同期保持がなされていて、自受信機の速度計算が行なわれ、それに伴い、ＩＦキャリア誤差ΔｆＩＦが求められて、不揮発性メモリ４６のＩＦキャリア誤差ΔｆＩＦが時々刻々と正確な値に更新されているかどうか判別する（ステップＳ１）。
【０１７６】
この判別の結果、ＩＦキャリア誤差ΔｆＩＦが時々刻々と正確な値に更新されていると判別したときには、ＣＰＵ４１は、当該ＩＦキャリア誤差ΔｆＩＦの更新処理を継続し、ステップＳ１を繰り返す。
【０１７７】
また、ステップＳ１の判別の結果、電源立ち上げ時などにおいて、ＩＦキャリア誤差ΔｆＩＦが時々刻々と正確な値に更新される状態になっていないと判別したときには、ＣＰＵ４１は、同期捕捉する衛星番号ｉを初期値（ｉ＝１）に設定し（ステップＳ２）、当該衛星番号ｉのＧＰＳ衛星からの受信信号は、同期保持中であるか否か判別する（ステップＳ３）。
【０１７８】
このステップＳ３で、当該衛星番号ｉのＧＰＳ衛星からの受信信号は、同期保持中ではないと判別したときには、ＣＰＵ４１は、衛星番号ｉをインクリメントし（ステップＳ８）、全ＧＰＳ衛星、つまり、３２個のＧＰＳ衛星についてステップＳ３以降の処理をしたかどうかを判別する（ステップＳ９）。未だすべてのＧＰＳ衛星については、処理を行なっていないと判別したときには、ＣＰＵ４１は、ステップＳ３に戻って、ステップＳ３以降の処理を繰り返す。
【０１７９】
ステップＳ３で、当該衛星番号ｉのＧＰＳ衛星からの受信信号は、同期保持中であると判別したときには、ＣＰＵ４１は、当該衛星番号ｉのＧＰＳ衛星の軌道情報が不揮発性メモリ４６に記憶されており、ＧＰＳ受信機の３次元位置ｘ０および現在時刻が取得可能であるかどうかという条件を満足するか否か判別する（ステップＳ４）。
【０１８０】
ステップＳ４で、前記条件を満足してはいないと判別したときには、ＣＰＵ４１は、ステップＳ８に移行し、衛星番号ｉをインクリメントする。
【０１８１】
また、ステップＳ４で、前記条件を満足すると判別したときには、衛星番号ｉのＧＰＳ衛星の軌道情報と現在時刻とから、当該衛星番号ｉのＧＰＳ衛星の位置ベクトルｐｉと速度ベクトルｖｉを求める（ステップＳ５）。
【０１８２】
次に、当該衛星番号ｉのＧＰＳ衛星のドップラーシフトｆＤｉを、図３６の式（１０）により算出する（ステップＳ６）。次に、求めたドップラーシフトｆＤｉを用いて、図３６の式（１１）により、ＩＦキャリア誤差ΔｆＩＦｉを算出し、バッファメモリに記憶する（ステップＳ７）。
【０１８３】
そして、ＣＰＵ４１は、ステップＳ８に進み、衛星番号ｉをインクリメントし、次のステップＳ９で、全ＧＰＳ衛星についてステップＳ３以降の処理を行なったかどうかを判別し、未だすべてのＧＰＳ衛星については、ステップＳ以降の処理を行なっていないと判別したときには、ステップＳ３に戻って、ステップＳ３以降の処理を繰り返す。
【０１８４】
ステップＳ９で、すべてのＧＰＳ衛星について、ステップＳ３以降の処理を終了したと判別したときには、ＩＦキャリア誤差ΔｆＩＦｉが、１個以上のＧＰＳ衛星について算出されたか否か判別する（図１２のステップＳ１１）。
【０１８５】
ステップＳ１１で、１個のＧＰＳ衛星についてもＩＦキャリア誤差ΔｆＩＦｉが算出されなかったと判別したときには、ＣＰＵ４１は、この処理ルーチンを一旦終了し、図１１のステップＳ１から再度処理を開始するようにする。このときには、ＧＰＳ衛星からの受信信号の同期捕捉に当たっては、電源オフ直前に不揮発性メモリ４６に記憶されていたＩＦキャリア誤差が用いられてＩＦキャリア周波数の初期値が設定される。
【０１８６】
また、ステップＳ１１で、ＩＦキャリア誤差ΔｆＩＦｉが、１個以上のＧＰＳ衛星について算出されたと判別したときには、ＣＰＵ４１は、この例では、求められている全てのＩＦキャリア誤差ΔｆＩＦｉの平均を取る（ステップＳ１２）。そして、その平均値Δｆ０を、ＩＦキャリア周波数の初期値を設定するためのＩＦキャリア誤差ΔｆＩＦとして用いるように更新する（ステップＳ１３）。そして、ＣＰＵ４１は、この処理ルーチンを一旦終了し、その後、図１１のステップＳ１から再度処理を開始するようにする。
【０１８７】
こうして、４個のＧＰＳ衛星からの受信信号についての同期保持がなされてＧＰＳ受信機の速度の算出が行なわれ、正確なＩＦキャリア誤差が得られるようになるまでの間であっても、ステップＳ３〜ステップＳ１３の処理が行なわれることにより、ＩＦキャリア誤差ΔｆIFの概算値が順次に更新されて、それが同期捕捉に用いられる。これにより、電源投入から測位が開始されるまでのＴＴＦＦを短縮することができる。
【０１８８】
＜同期捕捉処理＞
次に、同期捕捉の第２の例における同期捕捉部２０での処理の流れを、図１３および図１４のフローチャートを参照しながら説明する。なお、この図１３および図１４のフローチャートは、主としてＤＳＰ２３でのソフトウエア処理に対応するものである。
【０１８９】
まず、周波数変換部１０からのＩＦデータをサンプリング回路２１でサンプリングし、信号ｒ（ｎ）としてＲＡＭ２２に取り込む（ステップＳ２１）。次に、この信号ｒ（ｎ）をＦＦＴ処理部１０１でＦＦＴし、そのＦＦＴ結果Ｒ（ｋ）をメモリ１０２に書き込む（ステップＳ２２）。次に、信号を受信したＧＰＳ衛星に対応するレプリカＰＮ符号のＦＦＴ結果Ｃ（ｋ）をメモリ１０６にセットする（ステップＳ２３）。
【０１９０】
次に、受信信号ｒ（ｎ）のＦＦＴ結果Ｒ（ｋ）のメモリ１０２からの読み出しアドレスのシフト量の初期値ｋ0’を決定する（ステップＳ２４）。すなわち、読み出しアドレスのシフト量は、前述したように、ＩＦキャリア周波数に応じたものであり、制御部４０において、前述のようにして算出および決定されたＩＦキャリア誤差とドップラーシフトｆＤとが用いられて算出されたＩＦキャリア周波数の初期値が求められる。そして、求められたＩＦキャリア周波数の初期値がＤＳＰ２３に供給される。ＤＳＰ２３では、受け取ったＩＦキャリア周波数の初期値から、読み出しアドレスのシフト量の初期値ｋ0’を決定する。
【０１９１】
ここで、前述したように、電源投入直後のＧＰＳ受信機において、同期保持しているＧＰＳ衛星からの信号が１個も無いときには、電源オフ時に記憶されていたＩＦキャリア誤差が用いられて、ＩＦキャリア周波数の初期値が算出され、その算出されたＩＦキャリア周波数から読み出しアドレスのシフト量の初期値ｋ0’が決定されることになる。
【０１９２】
また、１個以上のＧＰＳ衛星からの受信信号の同期保持がなされると、前述のようにして、概算されたＩＦキャリア誤差の平均値Δｆ０が用いられて、ＩＦキャリア周波数の初期値が算出され、その算出されたＩＦキャリア周波数から読み出しアドレスのシフト量の初期値ｋ0’が決定されることになる。
【０１９３】
さらに、４個以上のＧＰＳ衛星からの受信信号の同期保持がなされ、ＧＰＳ受信機の速度が算出されるに伴い正確なＩＦキャリア誤差が得られるようになると、当該正確なＩＦキャリア誤差が用いられて、ＩＦキャリア周波数の初期値が算出され、その算出されたＩＦキャリア周波数から読み出しアドレスのシフト量の初期値ｋ0’が決定されることになる。
【０１９４】
そして、以上のようにして決定した初期値ｋ0’を、メモリ１０２からのＦＦＴ結果の読み出しアドレスのシフト量ｋ'として設定すると共に、シフト制御の変更回数ｔを初期値ｔ＝０にセットする（ステップＳ２５）。
【０１９５】
次に、メモリ１０２から、受信信号ｒ（ｎ）のＦＦＴ結果Ｒ（ｋ）を、読み出しアドレスを、ｋ'だけシフトして読み出す（ステップＳ２６）。そして、読み出したＦＦＴ結果Ｒ（ｋ−ｋ'）と、レプリカＰＮ符号のＦＦＴ結果Ｃ（ｋ）の複素共役とを乗算して相関関数Ｆ’（ｋ）を求める（ステップＳ２７）。
【０１９６】
次に、この相関関数Ｆ’（ｋ）の逆ＦＦＴを行って時間領域の関数ｆ’（ｎ）を求める（ステップＳ２８）。そして、この関数ｆ’（ｎ）について、ピーク値ｆ’（ｎp）を求め（ステップＳ９）、そのピーク値ｆ’（ｎｐ）が予め設定されているスレッショールド値ｆthより大きいかどうか判別する（図１４のステップＳ３１）。
【０１９７】
ステップＳ３１での判別の結果、ピーク値ｆ’（ｎｐ）が、予め設定されているスレッショールド値ｆthより小さいときには、相関点が検出できなかったとして、シフト制御の変更回数ｔが予め設定された最大値ｔmaxよりも小さいかどうか判別する（ステップＳ３６）。この最大値ｔmaxは、周波数に換算したときに、１ｋＨｚに相当する。
【０１９８】
そして、シフト制御の変更回数ｔが予め設定された前記最大値ｔmaxよりも小さいと判別したときには、シフト制御の変更回数ｔを１だけインクリメント（ｔ＝ｔ＋１）すると共に、新たなシフト量ｋ'を、
ｋ'＝ｋ'＋（−１）ｔ×ｔ
として設定し（ステップＳ３７）、その後、ステップＳ２６に戻る。そして、上述したステップＳ２６以降の処理を繰り返す。
【０１９９】
また、ステップＳ３６で、シフト制御の変更回数ｔが、予め設定された前記最大値ｔmaxよりも大きいと判別したときには、そのように大きいと判別された回数が、現在のＲＡＭ２２のデータに対して予め定められた所定回数以上となったか否か判別し（ステップＳ３８）、前記所定回数以上でなければ、ステップＳ２１に戻り、ＲＡＭ２２に新たなデータを取り込んで、以上の処理を繰り返す。
【０２００】
また、ステップＳ３８で、前記所定回数以上であると判別したときには、サーチすべきすべての衛星について、上述の拡散符号同期サーチ処理が終了したか否か判別し（ステップＳ３４）、すべての衛星についての拡散符号同期サーチ処理が終了したと判別したときには、サーチ動作を終了する（ステップＳ３９）。
【０２０１】
また、ステップＳ３４で、拡散符号同期サーチが終了していないサーチすべき衛星があると判別したときには、次に拡散符号同期サーチを行なう衛星を選択し、その選択した衛星が用いるＰＮ符号にレプリカＰＮ符号ｃ（ｎ）を変更する（ステップＳ３５）。そして、ステップＳ２３に戻り、上述したステップＳ２３以降の処理を実行する。
【０２０２】
また、ステップＳ３１において、ピーク値ｆ’（ｎｐ）が、予め設定されているスレッショールド値ｆthより大きいと判別したときには、そのピーク値ｆ’（ｎｐ）を取る離散時間（ＰＮ符号の位相）ｎｐを相関点として検出する（ステップＳ３２）。
【０２０３】
そして、検出した相関点ｎｐが、４個目であるか否か判別し（ステップＳ３３）、４個目であると判別したときには、受信機位置計算処理を開始し、同期保持部３０における同期保持処理をする（ステップＳ４０）。その後、ステップＳ３４に移行する。ステップＳ４０の処理は、４個目以降でも行なうにようにしてもよい。
【０２０４】
なお、ステップＳ３２で検出した相関点ｎｐが得られるときの読み出しアドレスシフト量ｋ'から、当該受信中のＧＰＳ衛星についてのドップラーシフト量およびＧＰＳ受信機の発振周波数の誤差を推定することができる。すなわち、受信信号のキャリア周波数を検知することができる。
【０２０５】
ステップＳ３３で、検出した相関点ｎｐが、４個目以外であると判別したときには、サーチすべきすべてのＧＰＳ衛星について、上述の拡散符号同期サーチ処理が終了したか否か判別し（ステップＳ３４）、サーチすべきすべての衛星についての拡散符号同期サーチ処理が終了したと判別したときには、サーチ動作を終了する（ステップＳ３９）。
【０２０６】
また、ステップＳ３４で、拡散符号同期サーチが終了していない衛星があると判別したときには、次に拡散符号同期サーチを行なう衛星を選択し、その選択した衛星が用いるＰＮ符号にレプリカＰＮ符号ｃ（ｎ）を変更する（ステップＳ３５）。そして、ステップＳ２３に戻り、上述したステップＳ２３以降の処理を実行する。
【０２０７】
以上説明したような同期捕捉の第２の例の処理動作を、図８のＤＳＰ２３の内部構成のブロック図に反映させた構成図を図１５に示す。この図１５の各ブロックの出力には、上述したような信号出力および演算結果が示されている。
【０２０８】
以上のようにして、同期捕捉の第２の例によれば、ＧＰＳ衛星からの受信信号のキャリア周波数が未知であっても、ＦＦＴによる周波数領域での処理を積極的に用いて、受信信号のキャリアおよび衛星ＰＮ符号についての同期検出を行って、キャリア成分を除去することができる。したがって、ＦＦＴを利用したデジタルマッチドフィルタによるＧＰＳ受信信号の衛星ＰＮ符号とレプリカＰＮ符号との相関点の検出を、高速、かつ簡単な構成で実現することができる。そして、メモリ１０２の読み出しアドレスのシフト量から、ＩＦキャリア周波数を検出することができる。
【０２０９】
なお、この第２の例の場合においても、それぞれの衛星に対応するレプリカＰＮ符号を予めＦＦＴしておいたものをメモリに記憶させておくことで、衛星信号の受信時におけるレプリカＰＮ符号ｃ（ｎ）のＦＦＴ計算を省略することができる。
【０２１０】
〔デジタルマッチドフィルタによる同期捕捉の第３の例〕
上述したように、デジタルマッチドフィルタによって受信信号とレプリカＰＮ符号の相関点を検出する場合には、その相関点を検出する単位データ長は、ＰＮ符号の１周期長とするのが通常である。
【０２１１】
しかし、ＧＰＳ衛星からの受信信号では、前述したように、データの１ビットは、ＰＮ符号の２０周期分であり、この２０周期分では、すべて同じパターンの符号となっている。この同期捕捉の第３の例では、この特質を生かして、デジタルマッチドフィルタによって受信信号とレプリカＰＮ符号の相関点を検出する単位データ長は、ＰＮ符号の複数周期長とする。サンプリング回路２１におけるサンプリング周波数は、前述の例と同様でよい。
【０２１２】
受信信号について、ＰＮ符号の複数周期分単位でＦＦＴ演算処理をすることにより、この第３の例によれば、ＩＦキャリア周波数の検出精度が高くなると共に、受信感度が向上し、同じ時間領域の信号を累積加算する方法に比べて、ＰＮ符号の同期捕捉およびＩＦキャリア周波数のサーチがし易くなる。以下、この同期捕捉の第３の例を、さらに説明する。
【０２１３】
時間領域において、ＰＮ符号のＭ周期（Ｍは２以上の整数）に渡って累積加算を行った１周期長のデータに対して相関点を検出する先行例がある（例えば米国特許４９９８１１１号明細書または「An Introduction to Snap  TrackTM Server−Aided GPS Technology， ION GPS−９８ Proceedings」参照）。
【０２１４】
すなわち、図１６に示すように、この先行例の方法においては、受信信号ｒ（ｎ）について、レプリカＰＮ符号との乗算結果を、Ｍ周期分に渡って累積加算するものである。この先行例の方法は、ＧＰＳ衛星からの受信信号の周期性とノイズの統計的な性質とを利用してＣ／Ｎを高めるもので、受信信号のキャリアおよび衛星ＰＮ符号についての同期が事前にとれている状態であれば、Ｃ／ＮがＭ倍に改善され、したがって受信感度（相関点の検出感度）はＭ倍に向上する。そして、キャリア周波数の検出精度のＭ倍に向上する。
【０２１５】
しかし、受信信号のキャリアおよび衛星ＰＮ符号についての同期がとれていないと位相の異なるＭ個のキャリアが加算合成されてしまい、累積加算した結果においては肝心のＧＰＳ信号が相殺されてしまって相関ピークは検出できなくなる。
【０２１６】
このため、受信信号のキャリア周波数が未知の場合には、キャリア周波数をサーチする必要があり、サーチする各々の周波数毎に累計加算を行なうといった効率の悪い操作を行なわざるを得なくなる。
【０２１７】
これに対して、上述した同期捕捉の第１および第２の例では、上述したようにして周波数領域において、ＦＦＴ結果のメモリからの読み出しアドレスをシフトするという簡便な方法により、受信信号のキャリアと衛星ＰＮ符号とについての同期がとれるので、累積加算の効果を最大限に発揮させることができる。
【０２１８】
この同期捕捉の第３の例では、第２の例と同様に、ＧＰＳ衛星からの受信信号のキャリア周波数は未知として、キャリア周波数のサーチを行なうのであるが、その場合に、受信信号ｒ（ｎ）については、ＰＮ符号のＭ周期分毎にＦＦＴを行なうようにする。そして、このＰＮ符号のＭ周期分毎に、受信信号のＦＦＴ結果のメモリからの読み出しアドレスのシフト量の制御による受信信号のキャリア周波数のサーチを行なう。
【０２１９】
前述した図３５の式（３）中のデータｄ（ｎ）は、Ｍ≦２０とすれば、ＰＮ符号のＭ周期中では１または−１の固定値になるので無視できる。すると、式（３）は、
ｒ（ｎ）＝Ａ・ｃ（ｎ）ｃｏｓ２πｎｆ0 ＋ｎ（ｎ）
となり、これをＭ周期長で離散フーリエ変換すると、データの数はＭ×Ｎ（Ｎは拡散符号の１周期分のデータ数）なので、離散フーリエ変換後のｋと実周波数ｆの関係は、サンプリング周波数ｆs に対して
０≦ｋ≦ＭＮ／２では、ｆ＝ｋｆs ／ＭＮ
となり、
ＭＮ／２＜ｋ＜ＭＮでは、ｆ＝（ｋ−ＭＮ）ｆs ／ＭＮ（ただしｆ＜０）
となって、分解能がＭ倍になる。
【０２２０】
しかし、ＰＮ符号ｃ（ｎ）は周期信号であり、その１周期長の時間をＴ（ＧＰＳのＣ／ＡコードではＴ＝１ミリ秒）とすると、ｆ＝１／Ｔ以下の精度の周波数成分はない。したがって、受信信号ｒ（ｎ）の離散フーリエ変換後のＦＦＴ結果Ｒ（Ｋ）（ただし、０≦Ｋ＜ＭＮ）中のＰＮ符号ｃ（ｎ）の周波数成分はＭ個おき、すなわち、ＭＮ個のデータのうちのＮ個の点に集中し、その振幅は、Ｍ周期分が累積加算されるため、１周期長での同じ周波数成分のＭ倍になる。説明の簡単のため、Ｍ＝４としたときのスペクトラム例を図１７に示す。
【０２２１】
図１７の例では、信号のスペクトラムがＭ＝４個おきにあり、それらの間には信号成分はない。Ｎ個の点以外では、ＰＮ符号ｃ（ｎ）の周波数成分は０になる。一方、ノイズｎ（ｎ）は、多くの場合、非周期信号であるから、ＭＮ個の全周波数成分にエネルギーが分散される。したがって、受信信号ｒ（ｎ）のＦＦＴ結果Ｒ（Ｋ）中におけるＰＮ符号ｃ（ｎ）のＮ個の周波数成分の総和において、時間領域での累積加算と同様に、Ｃ／ＮがＭ倍向上することになる。
【０２２２】
受信信号ｒ（ｎ）中に、式（３）に示したキャリア成分ｃｏｓ２πｎｆ0がなければ、ＦＦＴ結果Ｒ（ｋ）中のＰＮ符号ｃ（ｎ）の周波数成分は、Ｋ＝ｉ×Ｍ（ただし、０≦ｉ＜Ｎ）に集中するが、キャリア成分が存在するので、この第３の例では、メモリからのＦＦＴ結果Ｒ（Ｋ）の読み出しアドレスを、ＰＮ符号の１周期当たりについて、Ｋ＝（ｉ×Ｍ）−ｋ0 として、キャリア周波数分のｋ0 だけ循環的にシフトするようにする。
【０２２３】
以上説明した第３の例のＤＳＰ２３の構成は、図８に示した第２の例の場合と同様となるが、ＲＡＭ２２の容量は、ＰＮ符号のＭ周期分、例えば１６周期分（１６ミリ秒）とされ、ＤＳＰ２３では、このＰＮ符号のＭ周期分のデータ単位で、捕捉処理動作を行なう。上述の捕捉処理動作を、ＤＳＰ２３の内部構成に反映させた構成図を図１８に示す。
【０２２４】
すなわち、ＦＦＴ処理部１０１からは、ＦＦＴ演算処理単位をＰＮ符号のＭ周期とするＦＦＴ結果Ｒ（Ｋ）が得られ、メモリ１０２に書き込まれる。この図１８では、０≦ｋ＜Ｎ、０≦Ｋ＜ＭＮとしている。
【０２２５】
そして、このメモリ１０２から、読み出しアドレスがシフト制御されてＦＦＴ結果が読み出されて乗算部１０３に供給され、メモリ１０６からのレプリカＰＮ符号ｃ（ｎ）のＦＦＴ結果Ｃ（ｋ）の複素共役と乗算される。
【０２２６】
この第３の例の場合、この乗算部１０３から得られる相関関数Ｆ（ｋ）は、図３５の式（８）に示すようなものとなるようにされる。なお、式（８）で、ｋは、ＰＮ符号のＦＦＴ結果Ｃ（ｋ）の複素共役におけるｋであり、ｋ0 については、ｆ0 ＝ｋ0 ・ｆs ／ＭＮである。
【０２２７】
このとき、図１８において、逆ＦＦＴ処理部１０７から得られる相関関数ｆ’（ｎ）のピークは、Ｒ（Ｋ）がＭ周期のＰＮ符号を含むので、０≦ｎ＜ＭＮの範囲においてＭ個現れることになる。しかし、相関点の検出は、ＰＮ符号の１周期についての１個でよいので、逆ＦＦＴ処理部１０７での計算は、前述の第１および第２の実施の形態の場合と同様に、０≦ｎ＜Ｎの範囲だけで済み、Ｎ≦ｎ＜ＭＮにおける計算は必要ない。
【０２２８】
以上のようにして、この第３の例によれば、受信信号ｒ（ｎ）のＦＦＴをＰＮ符号の１周期のＭ倍とすることにより、相関点の検出感度、したがって、受信感度を向上させることができる。この場合に、Ｍが大きいほど、受信感度が高くなるものである。したがって、Ｍの値を制御することにより、受信感度を制御することが可能になる。
【０２２９】
なお、この第３の例の場合においても、それぞれの衛星に対応するレプリカＰＮ符号をあらかじめＦＦＴしておいたものをメモリに記憶させておくことで、衛星信号の受信時におけるレプリカＰＮ符号ｃ（ｎ）のＦＦＴ計算を省略することができる。
【０２３０】
〔デジタルマッチドフィルタによる同期捕捉の第４の例〕
前述の第３の実施の形態では、ＰＮ符号のＭ周期（Ｍ＞１）分を含む受信信号ｒ（ｎ）をＦＦＴ処理することで、未知のキャリア周波数のサーチを可能にすると共に、受信感度の向上を図ることができるものであるが、データサンプルの数が、ＰＮ符号１周期分の場合のＮ個からＭ倍のＭＮ個になるため、ＦＦＴの計算時間が長くなると共に、メモリ１０２の容量が大きくなる。同期捕捉の第４の例は、この問題を改善したものである。
【０２３１】
図１７に示したように、ＰＮ符号のＭ周期（Ｍ＞１）をＦＦＴ処理単位とした場合のＦＦＴ結果Ｒ（Ｋ）中の周波数成分はＭ個おきにしか存在しないので、それらのＭ個おきの周波数成分の間の成分は不要である。
【０２３２】
ここで、ＦＦＴ結果Ｒ（Ｋ）（ただし、０≦Ｋ＜ＮＭ）を、Ｒ（ｉ×Ｍ）、Ｒ（ｉ×Ｍ＋１）、Ｒ（ｉ×Ｍ＋２）、・・・、Ｒ（ｉ×Ｍ＋Ｍ−１）（０≦ｉ＜Ｎ）のＭ組に分ける。説明の簡単のため、Ｍ＝４組に分けた場合の、それぞれの組の分割スペクトラムの例を図１９〜図２２に示す。キャリア周波数は未知であるが、Ｍ組のうちの１組に、相関を検出する対象となるＧＰＳ信号のエネルギーがある。図１９〜図２２の例では、図１９のＲ（ｉ×Ｍ）の組に、受信信号ｒ（ｎ）の周波数成分が含まれ、それ以外の３つの分割スペクトラムにはノイズしかない状態を表している。
【０２３３】
なお、実際の信号ではキャリア周波数ｋ0は、正確にはｋ'＝ｋ0でないため、例えばｋ0がｋ0’とｋ0’＋１との間、つまり、ｋ0’≦ｋ0＜ｋ0’＋１であったとすると、ｋ'＝ｋ0’と、ｋ'＝ｋ0’＋１との両方で相関が検出され、ｋ0に近い方が大きな相関を示す。
【０２３４】
ＦＦＴ結果Ｒ（Ｋ）を前記のようにＭ組に分割した場合、Ｍが２のべき乗であれば、ＦＦＴ計算手順の性質から、各組は、それぞれ独立に計算できる。
【０２３５】
図２３は、８個のデータｇ（０）〜ｇ（７）のＦＦＴ計算の信号の流れ図である。図２３のＦＦＴ結果Ｇ（Ｋ）を、４個おきのデータに分けるとすると、（Ｇ（０），Ｇ（４））、（Ｇ（１），Ｇ（５））、（Ｇ（２），Ｇ（６））、（Ｇ（３），Ｇ（７））の４組となる。この中の（Ｇ（０），Ｇ（４））に注目すると、図２４に示す部分だけの計算でよいことが判る。そして、この計算の構造は、他の組（Ｇ（１），Ｇ（５））、（Ｇ（２），Ｇ（６））、（Ｇ（３），Ｇ（７））においても同様となるものである。
【０２３６】
この４組のデータを１組ずつ調べることにすると、まず、（Ｇ（０），Ｇ（４））を計算し、調べ終わったら（Ｇ（０），Ｇ（４））を格納したメモリを開放して次の組に進む。（Ｇ（１），Ｇ（５））、（Ｇ（２），Ｇ（６））、（Ｇ（３），Ｇ（７））と、順次計算して調べ終わったらメモリを開放するという操作を行なうことにより、メモリは、Ｇ（０）〜Ｇ（７）を一括してＦＦＴを求めるのに比べて、１／４のメモリ容量でよくなる。乗算回数は、Ｍ個に分割して計算した場合と全体を一括してＦＦＴ計算をした場合とでは同じになる。
【０２３７】
上記の例と同様のことが、Ｍを２のべき乗にすることで、Ｒ（ｉ×Ｍ）、Ｒ（ｉ×Ｍ＋１）、Ｒ（ｉ×Ｍ＋２）、・・・、Ｒ（ｉ×Ｍ＋Ｍ−１）に適用でき、ＦＦＴ結果を格納するメモリの容量は、ＭＮの１／Ｍ、すなわち、Ｎで済む。また、Ｒ（ｉ×Ｍ）、Ｒ（ｉ×Ｍ＋１）、Ｒ（ｉ×Ｍ＋２）、・・・、Ｒ（ｉ×Ｍ＋Ｍ−１）の順で相関を検出する際に、途中の組で相関点が検出できてしまえば、残る組については調べる必要がなくなるので、ＰＮ符号のＭ周期毎の受信信号を一括してＦＦＴ処理して検出するより、処理時間が短くなると期待できる。
【０２３８】
以上説明した同期捕捉の第４の例における同期捕捉部２０での処理の流れを、図２５および図２６のフローチャートを参照しながら説明する。図２５および図２６の例ではＦＦＴの回数を最小にするため、キャリア周波数のサーチを、各ＦＦＴの組毎に、対象とする衛星すべてについて相関検出を行なうようにしている。なお、この図２５および図２６のフローチャートは、主としてＤＳＰ２３でのソフトウエア処理に対応するものである。
【０２３９】
まず、Ｒ（Ｋ）（ただし、０≦Ｋ＜ＮＭであり、Ｋ＝ｉ×Ｍ＋ｕ）の分割組数についての変数ｕ（０≦ｕ＜Ｍ）を初期化し（ステップＳ５１）、次に、周波数変換部１０からのＩＦデータをサンプリング回路２１でサンプリングし、そのサンプリングデータを、ＰＮ符号のＭ周期分、例えば１６周期分（１６ミリ秒）、信号ｒ（ｎ）（ただし、０≦ｎ≦ＭＮ）としてＲＡＭ２２に取り込む（ステップＳ５２）。次に、この信号ｒ（ｎ）をＦＦＴ処理部１０１でＦＦＴし、そのＦＦＴ結果Ｒ（Ｋ）をメモリ１０２に書き込む（ステップＳ５３）。次に、信号を受信したＧＰＳ衛星に対応するＰＮ符号のＦＦＴ結果Ｃ（ｋ）をメモリ１０６にセットする（ステップＳ５４）。
【０２４０】
次に、受信信号ｒ（ｎ）のＦＦＴ結果Ｒ（Ｋ）のメモリ１０２からの読み出しアドレスのシフト量の初期値ｋ0’を、前述のステップＳ２４と同様にして決定する（ステップＳ５５）。そして、決定した初期値ｋ0’を、メモリ１０２からのＦＦＴ結果の読み出しアドレスのシフト量ｋ'として設定すると共に、シフト制御の変更回数ｔを、初期値ｔ＝０にセットする（ステップＳ５６）。
【０２４１】
次に、メモリ１０２から、受信信号ｒ（ｎ）のＦＦＴ結果Ｒ（Ｋ）を、その読み出しアドレスを、ｋ'だけシフトして読み出す（ステップＳ５７）。そして、読み出したＦＦＴ結果Ｒ（Ｋ−ｋ'）と、レプリカＰＮ符号のＦＦＴ結果Ｃ（ｋ）の複素共役とを乗算して相関関数Ｆ’（ｋ）を求める（ステップＳ５８）。
【０２４２】
次に、この相関関数Ｆ’（ｋ）の逆ＦＦＴを行って時間領域の関数ｆ’（ｎ）を求める（ステップＳ５９）。そして、この関数ｆ’（ｎ）について、ピーク値ｆ’（ｎp）を求め（ステップＳ６０）、そのピーク値ｆ’（ｎｐ）が予め設定されているスレッショールド値ｆthより大きいかどうか判別する（図２６のステップＳ６１）。
【０２４３】
ステップＳ６１での判別の結果、ピーク値ｆ’（ｎｐ）が、予め設定されているスレッショールド値ｆthより小さいときには、相関点が検出できなかったとして、シフト制御の変更回数ｔが予め設定された最大値ｔmaxよりも小さいかどうか判別する（ステップＳ６２）。この最大値ｔmaxは、周波数に換算したときに、１ｋＨｚに相当する。
【０２４４】
そして、シフト制御の変更回数ｔが予め設定された最大値ｔmaxよりも小さいと判別したときには、シフト制御の変更回数ｔを１だけインクリメント（ｔ＝ｔ＋１）すると共に、新たなシフト量ｋ'を、
ｋ'＝ｋ'＋（−１）ｔ×ｔ
として（ステップＳ６３）、ステップＳ５７に戻る。そして、上述したステップＳ５７以降の処理を繰り返す。
【０２４５】
また、ステップＳ６２で、シフト制御の変更回数ｔが、予め設定された最大値ｔmaxよりも大きいと判別したときには、そのように大きいと判別された回数が、現在のＲＡＭ２２のデータに対して予め定められた所定回数以上となったか否か判別し（ステップＳ７１）、前記所定回数以上でなければ、ステップＳ５２に戻り、ＲＡＭ２２に新たなデータを取り込んで、以上の処理を繰り返す。
【０２４６】
また、ステップＳ７１で、前記所定回数以上であると判別したときには、すべての衛星について、上述の拡散符号同期サーチ処理が終了したか否か判別し（ステップＳ６６）、すべての衛星についての拡散符号同期サーチ処理が終了したと判別したときには、変数ｕがＭ−１より小さいかどうか判別し（ステップＳ６８）、小さいときには、変数ｕをインクリメントし（ステップＳ６９）、その後、ステップＳ５３に戻り、このステップＳ５３以降の処理を繰り返す。
【０２４７】
また、ステップＳ６８で、変数ｕがＭ−１に等しいあるいはＭ−１より大きいと判別したときには、サーチ動作を終了する（ステップＳ７０）。
【０２４８】
また、ステップＳ６６で、拡散符号同期サーチが終了していない衛星があると判別したときには、次に拡散符号同期サーチを行なう衛星を選択し、その選択した衛星が用いるＰＮ符号にレプリカＰＮ符号ｃ（ｎ）を変更する（ステップＳ６７）。そして、ステップＳ５４に戻り、上述したステップＳ５４以降の処理を実行する。
【０２４９】
また、ステップＳ６１において、ピーク値ｆ’（ｎｐ）が、予め設定されているスレッショールド値ｆthより大きいと判別したときには、そのピーク値ｆ’（ｎｐ）を取る離散時間（ＰＮ符号の位相）ｎｐを相関点として検出すると共に、前記ＦＦＴ結果Ｒ（Ｋ）のメモリ１０２からの読み出しアドレスのシフト量の初期値ｋ0’を、そのときの読み出しアドレスのシフト量ｋ'に設定し直す（ステップＳ６４）。
【０２５０】
そして、検出した相関点ｎｐが、４個目であるか否か判別し（ステップＳ６５）、４個目であると判別したときには、ＣＰＵ４１は、受信機位置計算処理を開始し、同期保持部３０における同期保持処理をする（ステップＳ７２）。その後、ステップＳ６６に進む。ステップＳ７２の処理は、４個目以降でも行なうにようにしてもよい。
【０２５１】
なお、ステップＳ６４で検出した相関点ｎｐが得られるときのシフト量ｋ'とＲ（ｋ）の分割組数についての変数ｕから、当該受信中のＧＰＳ衛星についてのドップラーシフト量およびＧＰＳ受信機の発振周波数の誤差が推定することができる。
【０２５２】
ステップＳ６５で、検出した相関点ｎｐが、４個目以外であると判別したときには、ステップＳ６６に進み、上述したステップＳ６６以降の処理を実行する。
【０２５３】
なお、前述した同期捕捉の第１の例の場合のように、キャリア周波数が既知である場合には、Ｒ（ｉ×Ｍ）、Ｒ（ｉ×Ｍ＋１）、Ｒ（ｉ×Ｍ＋２）、・・・、Ｒ（ｉ×Ｍ＋Ｍ−１）の中で該当するものだけを計算すれば、ＰＮ符号の多周期分を含む時間分を単位として受信信号をＦＦＴする方法は、同様に適用できる。
【０２５４】
以上説明した第１〜第４の例の同期捕捉方法は、従来の手法であるスライディング相関器が原理的に時間を要するのに対し、ＦＦＴを用いたデジタルマッチドフィルタによる処理を高速なＤＳＰで行なうようにしたことにより、処理時間の大幅な短縮が期待できる。特に、第３の例および第４の例の場合には、ＰＮ符号のＭ周期単位でＦＦＴ処理をするようにしたことにより、同期捕捉を高感度で行なうことができる。
【０２５５】
さらに、第４の例の場合には、ＰＮ符号のＭ周期単位でＦＦＴ処理を、より高速に行なうようにすることができる。
【０２５６】
以上のような同期捕捉方法によって、同期捕捉部２０で４個以上のＧＰＳ衛星からの信号の同期捕捉ができれば、ＧＰＳ受信機としては、それらのＰＮ符号の位相とＩＦキャリア周波数とからＧＰＳ受信機の位置と速度を計算することが可能である。つまり、同期保持部３０を設けなくても測位演算を行なうことは可能である。
【０２５７】
しかし、ＧＰＳ受信機として十分な高精度の測位および速度計算を行なうためには、高精度でＰＮ符号の位相とＩＦキャリア周波数を検出する必要があり、そのためには、サンプリング回路２１におけるサンプリング周波数を高くする、ＲＡＭ２２に取り込むＩＦデータの時間長を長くするといったことが必要になる。
【０２５８】
さらに、同期捕捉部２０にデジタルマッチドフィルタを用いた構成とした場合には、デジタルマッチドフィルタ自身は、同期保持機能を有しないことをも考慮しなければならない。
【０２５９】
また、ＧＰＳ受信機の外部から航法メッセージを取得しないとすると、同期捕捉部２０は、４個以上のＧＰＳ衛星の航法メッセージを２０ｍｓ毎に復調する必要があり、ＤＳＰ２３は常に同期の検出と航法メッセージの復調をかなり高速に行なう必要がある。
【０２６０】
以上のように、同期捕捉部２０のみにより、ＧＰＳ受信機の位置計算および速度計算を十分な精度で行なおうとすると、ハードウエアのサイズ増によるコストアップと消費電力増となり、ＧＰＳ受信機を実際に製造する際の大きな問題となってしまう。
【０２６１】
そこで、この実施形態では、粗い精度での同期捕捉を専用の同期捕捉部２０で行い、複数のＧＰＳ衛星信号の同期保持および航法メッセージの復調は同期保持部３０で行なうものとしている。そして、同期捕捉部２０は、検出したＧＰＳ衛星番号と、その衛星ＰＮ符号の位相と、ＩＦキャリア周波数と、相関検出信号からなる信号強度の情報を、制御部４０を通じて同期保持部３０にデータとして渡し、後述するように、同期保持部３０は、そのデータを初期値として動作を開始するようにする。
【０２６２】
［同期保持部３０の構成］
複数のＧＰＳ衛星信号の同期保持を並列して行なうために、同期保持部３０は、１つずつのＧＰＳ衛星信号を１チャンネルとして、複数チャンネル分を備える構成とされる。
【０２６３】
図２７は、この実施形態における同期保持部３０の構成例を示す。この同期保持部３０は、ｎチャンネル分のチャンネル同期保持部３０ＣＨ１、３０ＣＨ２、・・・、３０ＣＨｎと、コントロールレジスタ３３とからなる。チャンネル同期保持部３０ＣＨ１、３０ＣＨ２、・・・、３０ＣＨｎのそれぞれは、コスタスループ３１とＤＬＬ（Ｄｅｌａｙ  Ｌｏｃｋｅｄ  Ｌｏｏｐ）３２とを備える。
【０２６４】
コントロールレジスタ３３は、制御部４０のＣＰＵ４１に接続され、後述するように、コスタスループ３１やＤＬＬ３２のループフィルタのパラメータや、フィルタ特性を定めるためのデータを受け取り、ＣＰＵ４１により指示されるチャンネルの、ＣＰＵ４１により指示される部位に、そのデータを設定するようにする。また、コントロールレジスタ３３は、コスタスループ３１やＤＬＬ３２のループフィルタからの相関値情報や周波数情報を受け取り、ＣＰＵ４１からのアクセスに応じてそれらの情報をＣＰＵ４１に渡すようにする。
【０２６５】
〔コスタスループ３１と、ＤＬＬ３２の構成〕
図２８はコスタスループ３１の構成例を示すブロック図であり、また、図２９は、ＤＬＬ３２の構成例を示すブロック図である。
【０２６６】
コスタスループ３１は、ＩＦキャリア周波数の同期保持、送信データである航法メッセージの抽出を行なう部分であり、ＤＬＬ３２は、ＧＰＳ衛星信号の衛星ＰＮ符号の位相同期保持を行なう部分である。そして、コスタスループ３１とＤＬＬ３２とが協働し、ＧＰＳ衛星信号についてスペクトラム逆拡散を行って、スペクトラム拡散前の信号を得るとともに、このスペクトラム拡散前の信号を復調して航法メッセージを得て、制御部４０のＣＰＵ４１に供給する。以下、コスタスループ３１とＤＬＬ３２との動作について具体的に説明する。
【０２６７】
〔コスタスループ３１について〕
周波数変換部１０からのＩＦデータは、乗算器２０１に供給される。この乗算器２０１には、図２９に示すＤＬＬ３２のＰＮ符号発生器３２０からのレプリカＰＮ符号が供給される。
【０２６８】
ＤＬＬ３２のＰＮ符号発生部３２０からは、一致（プロンプト）ＰＮ符号Ｐ、進み（アーリ）ＰＮ符号Ｅ、遅れ（レート）ＰＮ符号Ｌの、３つの位相のレプリカＰＮ符号が発生する。ＤＬＬ３２では、後述するように、進みＰＮ符号Ｅおよび遅れＰＮ符号Ｌと、ＩＦデータとの相関を計算し、それぞれの相関値が等しくなるように、ＰＮ符号発生器３２０からのレプリカＰＮ符号の発生位相を制御し、これにより、一致ＰＮ符号Ｐの位相が、ＧＰＳ衛星信号の衛星ＰＮ符号の位相と一致するようにする。
【０２６９】
コスタスループ３１の逆拡散用の乗算器２０１には、ＰＮ符号発生器３２０からの一致ＰＮ符号Ｐが供給されて、逆拡散される。この乗算器２０１からの逆拡散されたＩＦデータは、乗算器２０２および２０３に供給される。
【０２７０】
コスタスループ３１は、図２８に示すように、乗算器２０２および２０３と、ローパスフィルタ２０４，２０５と、位相検出器２０６と、ループフィルタ２０７と、ＮＣＯ（Ｎｕｍｅｒｉｃａｌ  Ｃｏｎｔｒｏｌｌｅｄ  Ｏｓｃｉｌｌａｔｏｒ；数値制御型発振器）２０８と、相関検出器２０９と、２値化回路２１０と、ＰＮ符号ロック判定部２１１と、スイッチ回路２１２と、ＩＦキャリアロック判定部２１３とからなっている。
【０２７１】
ローパスフィルタ２０４，２０５のカットオフ周波数情報と、ループフィルタ２０７のフィルタ特性を定めるパラメータと、ＮＣＯ２０８の発振中心周波数を定めるための周波数情報とは、後述するように、同期捕捉部２０での同期捕捉結果に基づいて、ＣＰＵ４１からコントロールレジスタ３３を通じて設定される。
【０２７２】
スイッチ回路２１２は、コスタスループ３１のループを開閉制御するためのもので、ＣＰＵ４１からの切り換え制御信号によりオンオフされる。なお、同期保持動作がスタートする前の初期的な状態では、スイッチ回路２１２はオフとされ、ループ開の状態とされ、後述するように、同期保持動作がスタートして、コスタスループの相関検出器２０９の相関出力が有意なレベルとなったときに、このスイッチ回路２１２がオンとされて、ループ閉とされるようにされる。
【０２７３】
乗算器２０１において逆拡散された信号は、乗算器２０２、２０３に供給される。これら乗算器２０２，２０３には、制御部４０のＣＰＵ４１からの周波数情報により、ほぼＩＦキャリア周波数にされたＮＣＯ２０８からの、直交位相のＩ（Ｃｏｓｉｎｅ）信号と、Ｑ（Ｓｉｎｅ）信号とが供給される。
【０２７４】
これら乗算器２０２および２０３の乗算結果は、ローパスフィルタ２０４および２０５を通じて位相検出器２０６に供給される。ローパスフィルタ２０４および２０５は、制御部４０のＣＰＵ４１からのカットオフ周波数情報の供給を受け、これに供給された信号の帯域外ノイズを除去するものである。
【０２７５】
位相検出器２０６は、ローパスフィルタ２０４および２０５からの信号に基づいて、ＩＦキャリアとＮＣＯ２０８からの周波数信号との位相誤差を検出し、この位相誤差をループフィルタ２０７を介してＮＣＯ２０８に供給する。これによりＮＣＯ２０８が制御されて、ＮＣＯ２０８からの出力周波数信号の位相が、ＩＦキャリア成分に同期するようにされる。
【０２７６】
なお、ループフィルタ２０７は、制御部４０のＣＰＵ４１から供給されるパラメータに応じて、位相検出器２０６からの位相誤差情報を積分して、ＮＣＯ２０８を制御するＮＣＯ制御信号を形成するものである。ＮＣＯ２０８は、ループフィルタ２０７からのＮＣＯ制御信号によって、前述したように、ＮＣＯ２０８からの出力周波数信号の位相が、ＩＦキャリア成分に同期するようにされる。
【０２７７】
また、コスタスループ３１のローパスフィルタ２０４および２０５の出力は、相関検出器２０９に供給される。相関検出器２０９は、これに供給されるローパスフィルタ２０４および２０５の出力信号をそれぞれ自乗して加算して出力する。この相関検出器２０９の出力は、ＩＦデータとＰＮ符号発生器３２０からの一致ＰＮ符号Ｐとの相関値ＣＶ（Ｐ）示すものである。この相関値ＣＶ（Ｐ）は、コントロールレジスタ３３を通じて制御部４０のＣＰＵ４１に渡される。
【０２７８】
そして、ローパスフィルタ２０４の出力信号は２値化回路２１０に供給されており、この２値化回路２１０より航法メッセージデータが出力される。
【０２７９】
また、相関検出器２０９からの相関値ＣＶ（Ｐ）出力は、ＰＮ符号ロック判定部２１１に供給される。ＰＮ符号ロック判定部２１１は、相関値ＣＶ（Ｐ）出力と、予め定められているスレッショールド値とを比較し、相関値ＣＶ（Ｐ）出力がスレッショールド値よりも大きいときには、同期保持がロック状態であることを示し、相関値ＣＶ（Ｐ）出力がスレッショールド値よりも小さいときには、同期保持がアンロック状態であることを示すＰＮ符号ロック判定出力を出力する。
【０２８０】
この実施形態では、このＰＮ符号ロック判定出力は制御部４０のＣＰＵ４１に送られ、ＣＰＵ４１は、このＰＮ符号ロック判定出力から、同期保持部３０におけるＰＮ符号のロック状態、アンロック状態を認識するようにする。ＣＰＵ４１は、このＰＮ符号ロック判定出力からは、ＰＮ符号の同期が保持されていることのみを判定する。したがって、ＣＰＵ４１は、このＰＮ符号ロック判定出力からでは、ＰＮ符号の同期は取れているが、ＩＦキャリアのロックが外れた状態の検知は行なわない。ＣＰＵ４１は、ＩＦキャリアロック判定部２１３の出力から、ＩＦキャリアの周波数ロックは外れたか否かの判定を行なう。
【０２８１】
ＩＦキャリアロック判定部２１３には、ローパスフィルタ２０４および２０５の出力は供給される。このＩＦキャリアロック判定部２１３では、ローパスフィルタ２０４および２０５の出力の絶対値の比を求め、その比の値が予め定めたスレッショールド値以上であるときには、ＩＦキャリアの同期がロック状態であることを示し、そうでなかったときには、ＩＦキャリアの同期が外れた状態（アンロック状態）であることを示すＩＦキャリアロック判定出力を出力する。
【０２８２】
すなわち、ＩＦキャリアロック判定出力は、ローパスフィルタ２０４の出力をＩo、ローパスフィルタ２０５の出力をＱｏとし、前記スレッショールド値をｔｈとしたとき、
｜Ｉｏ｜／｜Ｑｏ｜＞ｔｈ
であるときにはロック状態、そうでなければ、アンロック状態を示すものとなる。
【０２８３】
この実施形態では、このＩＦキャリアロック判定出力は制御部４０のＣＰＵ４１に送られる。ＣＰＵ４１は、このＩＦキャリアロック判定出力から、ＩＦキャリアについてのロック状態、アンロック状態を認識するようにする。
【０２８４】
〔ＤＬＬ３２について〕  
図２９に示すように、ＤＬＬ３２においては、周波数変換部１０からのＩＦデータは、乗算器３０１および３１１に供給される。そして、乗算器３０１には、ＰＮ符号発生器３２０からの進みＰＮ符号Ｅが供給され、また、乗算器３１１には、ＰＮ符号発生器３２０からの遅れＰＮ符号Ｌが供給される。
【０２８５】
乗算器３０１は、ＩＦデータと進みＰＮ符号Ｅとを乗算することにより、スペクトラム逆拡散を行い、この逆拡散がなされた信号を乗算器３０２、３０３に供給する。そして、乗算器３０２には、前述のコスタスループ３１のＮＣＯ２０８からのＩ信号が供給され、乗算器３０３には、ＮＣＯ２０８からのＱ信号が供給される。
【０２８６】
乗算器３０２は、逆拡散されたＩＦデータとＮＣＯ２０８からのＩ信号とを乗算し、その結果をローパスフィルタ３０４を通じて相関検出器３０６に供給する。同様に、乗算器３０３は、逆拡散されたＩＦデータとＮＣＯ２０８からのＱ信号とを乗算し、その結果をローパスフィルタ３０５を通じて相関検出器３０６に供給する。
【０２８７】
なお、ローパスフィルタ３０４、３０５は、コスタスループ３１のローパスフィルタ２０４，２０５と同様に、制御部４０のＣＰＵ４１からのカットオフ周波数情報の供給を受け、これに供給された信号の帯域外ノイズを除去するものである。
【０２８８】
相関検出器３０６は、これに供給されるローパスフィルタ３０４，３０５からの出力信号をそれぞれ自乗して加算して出力する。この相関検出器３０６からの出力は、ＩＦデータと、ＰＮ符号発生器３２０からの進みＰＮ符号Ｅとの相関値ＣＶ（Ｅ）示すものである。この相関値ＣＶ（Ｅ）は、位相検出器３２１に供給されるとともに、コントロールレジスタ３３に格納され、制御部４０のＣＰＵ４１が用いることができるようにされる。
【０２８９】
同様に、乗算器３１１は、ＩＦデータと遅れＰＮ符号Ｌとを乗算することにより、スペクトラム逆拡散を行い、この逆拡散がなされた信号を乗算器３１２、３１３に供給する。乗算器３１２には、前述したように、ＮＣＯ２０８からのＩ信号が供給され、乗算器３１３には、ＮＣＯ２０８からのＱ信号が供給される。
【０２９０】
乗算器３１２は、逆拡散されたＩＦデータとＮＣＯ２０８からのＩ信号とを乗算し、その結果をローパスフィルタ３１４を通じて相関検出器３１６に供給する。同様に、乗算器３１３は、逆拡散されたＩＦデータとＮＣＯ２０８からのＱ信号とを乗算し、その結果をローパスフィルタ３１５を通じて相関検出器３１６に供給する。ローパスフィルタ３１４、３１５は、前述のローパスフィルタ３０４、３０５と同様に、制御部４０のＣＰＵ４１からのカットオフ周波数情報の供給を受け、これに供給された信号の帯域外ノイズを除去するものである。
【０２９１】
相関検出器３１６は、これに供給されるローパスフィルタ３１４，３１５からの出力信号をそれぞれ自乗して加算し、その演算結果を出力する。この相関検出器３１６からの出力は、ＩＦデータと、ＰＮ符号発生器３２０からの遅れＰＮ符号Ｌとの相関値ＣＶ（Ｌ）を示すものである。この相関値ＣＶ（Ｌ）は、位相検出器３２１に供給されるとともに、コントロールレジスタ３３に格納され、制御部４０のＣＰＵ４１が用いることができるようにされる。
【０２９２】
位相検出器３２１は、相関検出器３０６からの相関値ＣＶ（Ｅ）と、相関検出器３１６からの相関値ＣＶ（Ｌ）との差分として、一致ＰＮ符号ＰとＧＰＳ衛星信号の衛星ＰＮ符号との位相差を検出し、その位相差に応じた信号をループフィルタ３２２を介してＮＣＯ３２３の数値制御信号として供給する。
【０２９３】
ＰＮ符号発生器３２０には、このＮＣＯ（Ｎｕｍｅｒｉｃａｌ  Ｃｏｎｔｒｏｌｌｅｄ  Ｏｓｃｉｌｌａｔｏｒ；数値制御型発振器）３２３の出力信号が供給されており、このＮＣＯ３２３の出力周波数が制御されることにより、ＰＮ符号発生器３２０からのＰＮ符号の発生位相が制御される。
【０２９４】
なお、ＮＣＯ３２３は、後述するように、同期捕捉部２０の同期捕捉結果に応じた制御部４０のＣＰＵ４１からの初期発振周波数を制御する周波数情報の供給を受ける。
【０２９５】
以上のＤＬＬ３２におけるループ制御により、ＮＣＯ３２３が制御されて、ＰＮ符号発生器３２０は、相関値ＣＶ（Ｅ）と相関値ＣＶ（Ｌ）とが同じレベルとなるように、ＰＮ符号Ｐ、Ｅ，Ｌの発生位相を制御する。これにより、ＰＮ符号発生器３２０から発生する一致ＰＮ符号Ｐが、ＩＦデータをスペクトラム拡散しているＰＮ符号と位相同期するようにされ、この結果、一致ＰＮ符号ＰによりＩＦデータが正確に逆スペクトラム拡散され、コスタスループ３１において、２値化回路２１０から航法メッセージデータが復調されて出力される。
【０２９６】
そして、その航法メッセージデータの復調出力は、図示しないデータ復調回路に供給されて制御部４０で使用可能なデータに復調された後、制御部４０に供給される。制御部４０では、航法メッセージデータは、測位計算に用いられ、また、適宜、軌道情報（アルマナック情報やエフェメリス情報）が抽出されて、不揮発性メモリ４６に格納される。
【０２９７】
なお、ＤＬＬ３２のループフィルタ３２２は、前述したコスタスループ３１のループフィルタ２０７と同様に、制御部４０のＣＰＵ４１から供給されるパラメータに基づいて、位相検出器３２１からの位相誤差情報を積分して、ＮＣＯ３２３を制御するＮＣＯ制御信号を形成するものである。
【０２９８】
ＤＬＬ３２においても、ループフィルタ３２２と、ＮＣＯ３２３との間に、ループの開閉制御用のスイッチ回路３２４が設けられ、ＣＰＵ４１からの切り換え制御信号によりオンオフされる。
【０２９９】
なお、同期保持動作がスタートする前の初期的な状態では、スイッチ回路３２４はオフとされ、ループ開の状態とされ、後述するように、同期保持動作がスタートして、コスタスループの相関検出器２０９の相関出力が有意なレベルとなったときに、このスイッチ回路３２４がオンとされて、ループ閉とされるようにされる。
【０３００】
［同期捕捉から同期保持への移行について］
この実施形態では、前述したように、同期捕捉部２０は、検出したＧＰＳ衛星番号と、その衛星ＰＮ符号の位相と、ＩＦキャリア周波数と、信号強度の情報とを、データとして制御部４０のＣＰＵ４１に渡す。なお、信号強度の情報は、同期保持処理への移行のための情報としては、必須のものではない。
【０３０１】
取得したデータに基づいて制御部４０のＣＰＵ４１は、同期保持部３０に供給するデータを生成し、それを同期保持部３０に渡す。同期保持部３０はそのデータを初期値として同期保持動作を開始するようにする。
【０３０２】
制御部４０のＣＰＵ４１から同期保持部３０に渡されるデータは、ＤＬＬ３２のＰＮ符号発生器３２０からのレプリカＰＮ符号の発生位相を制御するＮＣＯ３２３の初期発振周波数（発振中心周波数）を決定するための数値情報と、コスタスループ３１のＮＣＯ２０８の初期発振周波数（発振中心周波数）を決定するための数値情報と、ループフィルタ２０７および３２２のフィルタ特性を決定するためのパラメータと、ローパスフィルタ２０４，２０５，３０４，３０５，３１４，３１５のカットオフ周波数を決定して、その周波数帯域の広狭を決定するための係数情報である。
【０３０３】
このとき、ＣＰＵ４１から同期保持部３０に供給される情報は、同期保持部３０で、ＰＮ符号の同期保持およびＩＦキャリアの同期保持を開始する位相や周波数、また、フィルタ特性を定めるための初期値データであるが、ＣＰＵ４１は、同期捕捉部２０で同期捕捉した結果として検出されたＰＮ符号の位相およびＩＦキャリア周波数の近傍から同期保持を開始するように、前記初期値データを生成する。
【０３０４】
したがって、同期保持部３０では、同期捕捉部２０で検出されたＰＮ符号の位相近傍および検出されたＩＦキャリア周波数の近傍から同期保持動作を開始して、迅速に同期保持のロック状態にすることができるようになる。
【０３０５】
ところで、ＧＰＳ受信機が位置および速度を計算するためには、同期捕捉開始から４個以上のＧＰＳ衛星に対して同期を確立し、保持しなければならない。同期捕捉部２０と同期保持部３０および両者を制御するＣＰＵ４１とによって、４個以上のＧＰＳ衛星からの信号の同期を保持するまでの過程（以下、この過程を同期捕捉・同期保持過程と呼ぶ）には複数の方法がある。同期捕捉・同期保持過程の幾つかの例を次に説明する。
【０３０６】
〔同期捕捉・同期保持過程の第１の例〕
この第１の例では、同期捕捉部２０は、ＧＰＳ衛星信号の一つを同期捕捉すると、すぐに、ＣＰＵ４１に、同期保持動作開始のための割り込み指示と、同期捕捉結果としてのＧＰＳ衛星番号、その衛星ＰＮ符号の位相、ＩＦキャリア周波数、相関検出レベルを表わす信号強度を転送し、転送が終わると別のＧＰＳ衛星についての同期捕捉に移る。
【０３０７】
ＣＰＵ４１は、同期捕捉部２０からの割り込み指示を受け取る毎に、同期保持部３０に対して独立のチャンネルの割り当てを行なうと共に、初期値の設定を行って、同期保持動作を開始させるようにする。
【０３０８】
図３０は、この同期捕捉・同期保持過程の第１の例における同期捕捉部２０での同期捕捉処理の流れを説明するためのフローチャートである。
【０３０９】
まず、同期捕捉のための初期設定を行なう（ステップＳ８１）。この初期設定においては、同期捕捉のためにサーチするＧＰＳ衛星およびそのサーチの順番を、ＧＰＳ受信機が不揮発性メモリ４６に記憶している有効な軌道情報に基づいて設定する。また、その軌道情報から、ドップラーシフトを考慮したキャリア周波数を計算して、サーチするＩＦキャリア周波数の中心と範囲を設定するようにする。
【０３１０】
また、電源投入前の過去の動作で得た大体の発振器誤差が、ＧＰＳ受信機で判明しているのであれば、ＧＰＳ受信機位置を電源投入時に記憶されている位置、すなわち、前回電源を切る直前の位置と仮定して、軌道情報から計算したドップラーシフトに合わせて、サーチするＩＦキャリア周波数の中心と範囲を決めるようにすると、さらに同期保持に至るまでに要する時間を短縮できる。
【０３１１】
初期設定が終了したら、サーチの順番に従って、同期捕捉する一つのＧＰＳ衛星を設定する（ステップＳ８２）。これにより、同期捕捉対象の衛星番号が決まり、また、相関を検出しようとするＰＮ符号が決まる。
【０３１２】
次に、同期捕捉部２０では、ＲＡＭ２２に、サンプリング回路２１でサンプリングしたＩＦデータの取り込みを開始し、この開始タイミングで、タイマをスタートさせる（ステップＳ８３）。ここで、このタイマとしては、制御部４０のタイマ４５を用いるようにする。このタイマ４５は、後述のように、同期保持処理スタートタイミングを設定する際にも用いられる。
【０３１３】
次に、ＤＳＰ２３において、前述したデジタルマッチドフィルタを用いた同期捕捉の例のいずれかを用いて、ステップＳ８２で設定したＧＰＳ衛星信号の衛星ＰＮ符号について相関検出処理を行なう（ステップＳ８４）。
【０３１４】
そして、ＧＰＳ衛星信号の衛星ＰＮ符号について相関が検出されたか否か、つまり、ＧＰＳ衛星信号の同期捕捉ができたか否か判別し（ステップＳ８５）、相関が検出できたときには、ＣＰＵ４１に対して割り込み指示を発生させると共に、同期捕捉の検出結果として、ＧＰＳ衛星番号、衛星ＰＮ符号の位相、ＩＦキャリア周波数、信号強度の情報をＣＰＵ４１に渡す（ステップＳ８６）。
【０３１５】
そして、サーチすべきＧＰＳ衛星のすべてについての同期捕捉サーチが終了したか否か判別し（ステップＳ８７）、未だサーチすべきＧＰＳ衛星が残っているときには、ステップＳ８２に戻り、同期捕捉する次のＧＰＳ衛星を設定して、以上の同期捕捉処理を繰り返す。また、ステップＳ８７で、サーチすべきすべてのＧＰＳ衛星についての同期捕捉が終了したと判別したときには、同期捕捉動作を終了して、同期捕捉部２０を待機状態（スタンバイ状態）にする。
【０３１６】
また、ステップＳ８５で相関が検出できないと判別したときには、その状態が予め定めた所定時間以上経過したか否か判別し（ステップＳ８８）、所定時間経過していなければ、ステップＳ８５に戻って、相関検出を継続する。
【０３１７】
ステップＳ８８で、所定時間経過したと判別したときには、ステップＳ８７に進み、サーチすべきＧＰＳ衛星のすべてについての同期捕捉サーチが終了したか否か判別し、未だサーチすべきＧＰＳ衛星が残っているときには、ステップＳ８２に戻り、同期捕捉する次のＧＰＳ衛星を設定し、以上の同期捕捉処理を繰り返す。
【０３１８】
また、ステップＳ８７で、サーチすべきすべてのＧＰＳ衛星についての同期捕捉が終了したと判別したときには、同期捕捉動作を終了して、同期捕捉部２０を待機状態（スタンバイ状態）にする。
【０３１９】
この実施形態では、ＣＰＵ４１は、同期捕捉部２０への電源供給のオンオフ制御、または、この同期捕捉部２０に対する逓倍／分周回路３からの動作クロックの供給のオンオフ制御を行なうことができるように構成されており、上記の同期捕捉部２０のスタンバイ状態では、ＣＰＵ４１により、同期捕捉部２０への電源の供給はオフ、または、動作クロックの供給が停止されて、不要な消費電力が抑えられている。
【０３２０】
同期捕捉部２０を、上述のように、デジタルマッチドフィルタで構成すると、ＤＳＰ２３でのＦＦＴ計算を速くするためには高いクロックで動作させることが望ましく、したがって、動作時の消費電力が大きくなるが、同期捕捉部２０において、初期設定したすべてのＧＰＳ衛星からの信号の同期捕捉検出が終わり、同期保持部３０で４個以上の同期保持ができていれば、同期捕捉部２０の役割は終了する。
【０３２１】
この実施形態では、上述のように、ＣＰＵ４１は、同期捕捉部２０の役割終了後は、スタンバイ状態にしているので、同期捕捉部２０における不要な消費電力が抑えられている。
【０３２２】
なお、上記の例では、初期設定したすべてのＧＰＳ衛星についての同期捕捉が完了した後、ＣＰＵ４１は、同期捕捉部２０をスタンバイ状態に移行させるようにしたが、同期保持部３０で同期保持できたＧＰＳ衛星が４個以上になったことを確認してから、ＣＰＵ４１が同期捕捉部２０をスタンバイ状態に移行させるようにしてもよい。
【０３２３】
なお、ＣＰＵ４１は、一旦、スタンバイ状態になった同期捕捉部２０を、再同期捕捉が必要な状態になったときに、動作状態に復帰させるようにすることができることは勿論である。
【０３２４】
次に、同期捕捉部２０からの割り込み指示を受けたＣＰＵ４１による同期保持部３０の制御処理について、図３１および図３２のフローチャートを参照しながら説明する。
【０３２５】
図３１は、ＣＰＵ４１が、同期捕捉部２０から、割り込み指示および同期捕捉結果としての衛星ＰＮ符号の位相、ＩＦキャリア周波数、ＧＰＳ衛星番号、信号強度の情報を受け取ったときに、同期保持部３０においてチャンネル割り当てし、同期保持スタートをさせるための処理である。また、図３２は、ＣＰＵ４１が、同期保持スタートさせた同期保持部３０の各１チャンネルにおいての同期保持処理制御のためのフローチャートである。まず、図３１の同期保持スタート処理について説明する。
【０３２６】
まず、ＧＰＳ受信機への電源投入時などにおいて、ＣＰＵ４１は、同期保持部３０のＮＣＯ、ローパスフィルタ、ループフィルタなどへ定数の初期設定を行っておく（ステップＳ９１）。なお、このとき、コスタスループ３１およびＤＬＬ３２は、いずれも初期状態はループ開とされる。
【０３２７】
次に、ＣＰＵ４１は、同期捕捉部２０からの割り込み指示を監視し（ステップＳ９２）、割り込み指示を検出したときには、同期捕捉部２０から、ＧＰＳ衛星番号、衛星ＰＮ符号の位相、ＩＦキャリア周波数、信号強度の情報を受け取ると共に、同期保持部３０に対して、受け取ったＧＰＳ衛星番号に対して独立のチャンネルを割り当てるようにする設定する（ステップＳ９３）。
【０３２８】
そして、ＣＰＵ４１は、同期捕捉部２０から受け取った衛星ＰＮ符号の位相から、同期保持スタートタイミングを計算するとともに、同期保持部３０の、割り当てられたチャンネル内の各部に供給する初期値を、同期捕捉部２０から受け取ったＩＦキャリア周波数に基づいて生成する（ステップＳ９４）。
【０３２９】
そして、ＣＰＵ４１は、生成した初期値を、コントロールレジスタ３３を通じて同期保持部３０の、ステップＳ９３で割り当てられたチャンネル内の各部に送ると共に、同期保持部３０の、ステップＳ９３で割り当てられたチャンネル内のＰＮ符号発生器３２０からの一致ＰＮ符号Ｐの発生位相を、前記同期保持スタートタイミングとするように制御して、同期保持動作をスタートさせる（ステップＳ９５）。なお、このとき、コスタスループ３１およびＤＬＬ３２のループは開のままとする。
【０３３０】
以上のようにして、同期捕捉されたＧＰＳ衛星信号について、同期保持のためのチャンネルが割り当てられ、同期保持スタートを行ったら、ステップＳ９２に戻り、次の割り込みを待つ。
【０３３１】
次に、以上のようにしてスタートしたチャンネル毎の同期保持処理を、図３２のフローチャートについて説明する。
【０３３２】
ＣＰＵ４１は、まず、同期保持部３０からの相関値ＣＶ（Ｐ）が有意なレベルになったか否か判別し（ステップＳ１０１）、相関値ＣＶ（Ｐ）が有意なレベルになったら、コスタスループ３１およびＤＬＬ３２のループを閉じて、同期保持動作を行なう（ステップＳ１０２）。
【０３３３】
次に、ＣＰＵ４１は、同期保持部３０のコスタスループ３１のロック判定部２１１からのロック判定出力を監視し（ステップＳ１０３）、同期保持部３０のロックを確認したときには、同期保持しているＧＰＳ衛星の数を１だけインクリメントし（ステップＳ１０４）、同期保持状態を継続する（ステップＳ１０５）。
【０３３４】
そして、ＣＰＵ４１は、この同期保持動作中において、コスタスループ３１のロック判定部２１１からのロック判定出力を監視し（ステップＳ１０６）、同期保持のロックを確認したときには、ステップＳ１０５に戻って、同期保持状態を継続する。そして、ステップＳ１０６で同期保持のロックが外れたと判別したときには、同期保持しているＧＰＳ衛星の数を１だけデクリメントし（ステップＳ１０７）、同期保持が外れたときの処理を行なうようにする。この同期保持が外れたときの処理については、その説明は省略する。
【０３３５】
ＣＰＵ４１は、同期保持部３０で４個以上のＧＰＳ衛星信号の同期保持ができたと判別したときには、ＧＰＳ受信機の位置の計算および速度の計算を行なうようにする。
【０３３６】
ステップＳ１０１において、相関値ＣＶ（Ｐ）が有意なレベルにならないと判別したときには、その状態が予め定めた所定時間以上経過しかたどうか判別し（ステップＳ１０９）、所定時間以上経過したと判別したときには、図３１のステップＳ９３で割り当てた同期保持部３０のチャンネルを空きチャンネルに戻し、当該チャンネルの同期保持を停止する（ステップＳ１１０）。
【０３３７】
また、ステップＳ１０３において、ロック判定出力によりロック状態が検出できなかったときには、その状態が予め定めた所定時間以上経過しかたどうか判別し（ステップＳ１１１）、所定時間以上経過したと判別したときには、ステップＳ９３で割り当てた同期保持部３０のチャンネルを空きチャンネルに戻し、当該チャンネルの同期保持を停止する（ステップＳ１１０）。
【０３３８】
ステップＳ１０９、ステップＳ１１１およびステップＳ１１０の部分は、次のような理由により設けられたものである。すなわち、同期捕捉部２０が検出した相関が有意なレベルであっても、ノイズで偶々発生した偽の同期である場合もあり得る。突発的に生じたような持続性のない偽の同期に対しては、同期保持部３０で同期が確立することはない。そこで、同期保持部３０で一定のサーチ時間内に同期が確立できない場合には、同期保持動作を停止して、割り当てられたチャンネルを、空きチャンネルの状態に戻し、次の割り込みを待つようにしたものである。
【０３３９】
ところで、前述の図３１のステップＳ９４では、ＣＰＵ４１は、同期捕捉部２０で検出した衛星ＰＮ符号の位相に、同期保持部３０のＰＮ符号発生器３２０からのレプリカＰＮ符号の位相を合わせるように、同期保持部３０の同期保持スタートタイミングを計算する必要があるが、その計算の際には、同期捕捉部２０で、一つのＧＰＳ衛星信号についての同期捕捉が完了するまでに所定時間が経過しており、ドップラーシフトと、ＧＰＳ受信機の基準発振器２の誤差の影響を受けることを考慮する必要がある。
【０３４０】
後者の問題は、ＩＦキャリア周波数が、周波数変換部１０からのＩＦデータのメモリに取り込むためのサンプリングクロックを生成している大元の基準発振器２の誤差を含むことによる。
【０３４１】
なお、この実施形態では、同期捕捉部２０と同期保持部３０とが同じ基準発振器２を発信源とするクロックで動作しているので、同期捕捉部２０と同期保持部３０とでは、全く同じ周波数誤差を持つことになる。したがって、ＩＦキャリアの同期に関しては、同期保持部３０が同期捕捉部２０で検出したＩＦキャリア周波数を初期値として動作を開始することに関しては、全く問題ない。
【０３４２】
〔同期保持のスタートタイミングを決定方法の例〕
ステップＳ９４における同期保持のスタートタイミングを決定する方法の例について説明する。
【０３４３】
同期保持のスタートタイミングとしては、ＧＰＳ受信機の基準発振器２の誤差の影響を受けるが、基本的には、ＰＮ符号は１ミリ秒の周期で繰り返されるので、同期保持部３０におけるＰＮ符号のスタートタイミングは、１ミリ秒の整数倍ずれていても問題はない。
【０３４４】
そこで、この例では、同期捕捉部２０が、ＩＦデータをＲＡＭ２２に取り込むタイミングでタイマ４５をスタートさせていることを利用して、このＲＡＭ２２に記憶しているＩＦデータについて、同期捕捉部２０が衛星ＰＮ符号のレプリカＰＮ符号に対する位相差ｈを検出したとき、ＣＰＵ４１は、同じタイマ４５を用いて、１ミリ秒の整数倍から、その検出位相差ｈだけずらした時点において、同期保持部３０のＰＮ符号発生器３２０で生成する一致ＰＮ符号Ｐをスタートさせることで、受信信号の衛星ＰＮ符号に位相を合わせるようにする。
【０３４５】
図３３は、その状態を説明するための図である。図３３（Ａ）は、ＩＦデータを示しており、ＰＮは、その衛星ＰＮ符号を意味している。図３３（Ｂ）に示すように、ＩＦデータの衛星ＰＮ符号に対して、図のようにｈだけ位相がずれたタイミングで、ＲＡＭ２２にＩＦデータを取り込んだ場合、ＤＳＰ２３では、その位相差ｈを、衛星ＰＮ符号の位相の情報（ＤＬＬ３２のＰＮ符号発生器３２０をリセットする位相）として検出する。
【０３４６】
しかし、その位相差ｈを同期捕捉部２０が検出した時点は、図３３（Ｃ）に示すように、タイマ４５をＲＡＭ２２へのＩＦデータの取り込みタイミングでスタートさせた時点から、数ミリ秒経過した時点となっていたとする。
【０３４７】
ＣＰＵ４１は、同期捕捉部２０からＰＮ符号についての位相差ｈを受け取った時点が、タイマ４５で計測している時間の１ミリ秒単位の中間の時点であったときには、当該１ミリ秒単位の時間の経過を待ち、それにＰＮ符号についての位相差ｈ分を加えた時点を同時保持スタートタイミングとして、同期保持部３０のＰＮ符号発生器３２０の発生位相をリセットする。
【０３４８】
これにより、同期保持部３０のＰＮ符号発生器３２０の一致ＰＮ符号Ｐの発生位相を、同期捕捉部２０で捕捉したＧＰＳ衛星信号の衛星ＰＮ符号の位相にほぼ合わせることができ、同期を確立するまでの時間を短時間にすることができる。
【０３４９】
従来のコスタスループ＋ＤＬＬの役割においては、受信信号における衛星ＰＮ符号の位相がわからないため、ＤＬＬで生成するＩＦキャリア周波数とレプリカＰＮ符号の周期を少しずらし、ＩＦデータの衛星ＰＮ符号に対して位相がスライドしていく中で有意な強度の相関が出る位相を、最悪の場合、数ｋＨｚの範囲のキャリア周波数とＰＮ符号の符号長１０２３におけるすべての位相に対して検出を行なうため、同期を確立するまでにかなりの時間を要する。
【０３５０】
しかし、上述の実施形態においては、同期保持部３０は、コスタスループ３１およびＤＬＬを用いる基本的な構成は従来と同じでありながら、同期保持部３０が受け取った衛星ＰＮ符号の位相とＩＦキャリア周波数の初期値は、真値からわずかしかずれていないため、有意な強度の相関がある位相は誤差を含めても初期値の近辺に必ず存在する。
【０３５１】
そして、同期保持部３０は、まず、スイッチ回路２１２および３２４をオフにして、コスタスループ３１およびＤＬＬ３２のＮＣＯ２０８および３２３を、ループフィルタ２０７および３２２からの制御を止めた状態、つまり、ループを開の状態にして、それぞれのＮＣＯ２０８および３２３を初期値付近で変えながら有意な強度の相関を探す。そして、相関を検出したら、スイッチ回路２１２および３２４をオンにして、ＤＬＬ３２とコスタスループ３１のループフィルタ２０７および３２２からのループ制御に切り換えるようにしている。
【０３５２】
このため、ＤＬＬ３２におけるＰＮ符号の位相同期確立およびコスタスループ３１におけるＩＦキャリアの位相の同期確立は極めて短時間に行われ、以降、同期を保持し続けることができる。
【０３５３】
この場合、ＩＦキャリア周波数は、例えば数十Ｈｚの精度で初期値が設定できるので、コスタスループ３１およびＤＬＬ３２のローパスフィルタおよびループフィルタの帯域幅は最初から狭くすることができ、Ｓ／Ｎが高い状態で同期を確立することができる。
【０３５４】
同期保持部３０を、例えば１．０２３ＭＨｚ×１６＝１６．３６８ＭＨｚのクロックで動作させ、ＤＬＬ３２において、ＰＮ符号の位相を１／１６．３６８ＭＨｚの時間分解能で検出すれば、１／１６チップの精度でＰＮ符号の位相から、ＧＰＳ衛星とＧＰＳ受信機間の擬似距離を計算でき、また、コスタスループ３１のＮＣＯ２０８を、１Ｈｚ単位で制御できる構成にすれば、ＩＦキャリア周波数の分解能は１Ｈｚとなり、ＤＬＬ３２とコスタスループ３１は、その精度で同期を保持できる。
【０３５５】
［その他の実施形態］
以上の実施形態の説明では、同期捕捉部２０からの検出結果は、ＣＰＵ４１を介して同期保持部３０に渡すようにしたが、同期捕捉部２０から、同期保持部３０に直接的に渡すように構成することができるものである。
【０３５６】
また、上述の例では、同期捕捉部２０には、デジタルマッチドフィルタを用いた例としたが、この発明では、粗い精度の同期捕捉を同期捕捉部が行い、その結果を同期保持部に渡して、同期確立までを高速化することが目的であるので、同期捕捉部２０は、デジタルマッチドフィルタを用いた例に限られるものではない。
【０３５７】
また、デジタルマッチドフィルタには、上述の例のようなＦＦＴを用いた例のみではなく、前述したように、トランスバーサルフィルタを用いた構成とすることができるものである。
【０３５８】
また、この発明は、上述のような同期捕捉部と同期保持部とに分ける構成のＧＰＳ受信機に限られるものではなく、従来例として説明した、周波数サーチを伴うスライディング相関によりキャリアおよび拡散符号についての同期検出を行なうと同時に、ＤＬＬとコスタスループとにより、同期捕捉および同期保持動作をするようにするＧＰＳ受信機にも、この発明は適用可能である。
【図面の簡単な説明】
【０３５９】
【図１】この発明によるＧＰＳ受信機の構成例を示すブロック図である。
【図２】図１の一部である同期捕捉部の構成例を示すブロック図である。
【図３】図２の同期捕捉部の一部を構成するＤＳＰの内部構成例を示すブロック図である。
【図４】デジタルマッチドフィルタを用いたＰＮ符号の相関結果の例を示す図である。
【図５】受信信号のキャリアとＰＮ符号との同期を取る方法の一般的な例を説明するための図である。
【図６】この発明の実施形態において、同期捕捉方法の第１の例を説明するための図である。
【図７】同期捕捉方法の第１の例の動作を考慮した要部の構成を示す図である。
【図８】同期捕捉方法の第２の例を説明するための図である。
【図９】この発明の実施形態における同期捕捉方法の要部を説明するための図である。
【図１０】この発明の実施形態における同期捕捉方法の要部を説明するための図である。
【図１１】この発明の実施形態の要部の例の動作を説明するためのフローチャートの一部を示す図である。
【図１２】この発明の実施形態の要部の例の動作を説明するためのフローチャートの一部を示す図である。
【図１３】同期捕捉方法の第２の例の動作を説明するためのフローチャートの一部を示す図である。
【図１４】同期捕捉方法の第２の例の動作を説明するためのフローチャートの一部を示す図である。
【図１５】同期捕捉方法の第２の例の動作を考慮した要部の構成を示す図である。
【図１６】同期捕捉方法の第３の例を説明するための図である。
【図１７】同期捕捉方法の第３の例を説明するための図である。
【図１８】同期捕捉方法の第３の例の動作を考慮した要部の構成を示す図である。
【図１９】同期捕捉方法の第４の例を説明するための図である。
【図２０】同期捕捉方法の第４の例を説明するための図である。
【図２１】同期捕捉方法の第４の例を説明するための図である。
【図２２】同期捕捉方法の第４の例を説明するための図である。
【図２３】同期捕捉方法の第４の例を説明するための図である。
【図２４】同期捕捉方法の第４の例を説明するための図である。
【図２５】同期捕捉方法の第４の例の動作を説明するためのフローチャートの一部を示す図である。
【図２６】同期捕捉方法の第４の例の動作を説明するためのフローチャートの一部を示す図である。
【図２７】図１の一部である同期保持部の構成例を示すブロック図である。
【図２８】図２７の同期保持部の一部を構成するコスタスループの構成例を示すブロック図である。
【図２９】図２７の同期保持部の一部を構成するＤＬＬの構成例を示すブロック図である。
【図３０】同期捕捉処理の一例の流れを説明するためのフローチャートである。
【図３１】同期保持スタート処理の流れを説明するためのフローチャートである。
【図３２】チャンネル毎同期保持処理の流れを説明するためのフローチャートである。
【図３３】実施形態における同期保持のスタートタイミングの決定方法の例を説明するための図である。
【図３４】ＧＰＳ衛星からの信号の構成を示す図である。
【図３５】この発明の実施形態の説明に用いる図である。
【図３６】この発明の実施形態の説明に用いる図である。
【符号の説明】
【０３６０】
１０…周波数変換部、２０…同期捕捉部、２１…サンプリング回路、２２…ＲＡＭ、２３…ＤＳＰ、２４…ＤＳＰ用メモリ、３０…同期捕捉部、３１…コスタスループ、３２…ＤＬＬ、３３…コントロールレジスタ、４０…制御部、４１…ＣＰＵ、４４…時計回路、４５…タイマ、４６…軌道情報用メモリ、２０８、３２３…ＮＣＯ、３２０…ＰＮ符号発生器、２１２、３２４…スイッチ回路、２１１…ＰＮ符号ロック判定部、２１３…ＩＦキャリアロック判定部
【図１】
2005214916.tif 000003
【図２】
2005214916.tif 000004
【図３】
2005214916.tif 000005
【図４】
2005214916.tif 000006
【図５】
2005214916.tif 000007
【図６】
2005214916.tif 000008
【図７】
2005214916.tif 000009
【図８】
2005214916.tif 000010
【図９】
2005214916.tif 000011
【図１０】
2005214916.tif 000012
【図１１】
2005214916.tif 000013
【図１２】
2005214916.tif 000014
【図１３】
2005214916.tif 000015
【図１４】
2005214916.tif 000016
【図１５】
2005214916.tif 000017
【図１６】
2005214916.tif 000018
【図１７】
2005214916.tif 000019
【図１８】
2005214916.tif 000020
【図１９】
2005214916.tif 000021
【図２０】
2005214916.tif 000022
【図２１】
2005214916.tif 000023
【図２２】
2005214916.tif 000024
【図２３】
2005214916.tif 000025
【図２４】
2005214916.tif 000026
【図２５】
2005214916.tif 000027
【図２６】
2005214916.tif 000028
【図２７】
2005214916.tif 000029
【図２８】
2005214916.tif 000030
【図２９】
2005214916.tif 000031
【図３０】
2005214916.tif 000032
【図３１】
2005214916.tif 000033
【図３２】
2005214916.tif 000034
【図３３】
2005214916.tif 000035
【図３４】
2005214916.tif 000036
【図３５】
2005214916.tif 000037
【図３６】
2005214916.tif 000038