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