(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よりも大きいと判別したときには、そのように大きいと判別された回数が、現在のＲＡＭ２２のデータに対して予め定められた所定回数以上となったか否か判別し（ステップＳ１８）、前記所定回数以上でなければ、ステップＳ１に戻り、ＲＡＭ２２に新たなデータを取り込んで、以上の処理を繰り返す。
【０１４７】
また、ステップＳ１８で、前記所定回数以上であると判別したときには、サーチすべきすべての衛星について、上述の拡散符号同期サーチ処理が終了したか否か判別し（ステップＳ１４）、すべての衛星についての拡散符号同期サーチ処理が終了したと判別したときには、サーチ動作を終了する（ステップＳ１９）。
【０１４８】
また、ステップＳ１４で、拡散符号同期サーチが終了していないサーチすべき衛星があると判別したときには、次に拡散符号同期サーチを行う衛星を選択し、その選択した衛星が用いる拡散符号ｃ（ｎ）に拡散符号を変更する（ステップＳ１５）。そして、ステップＳ３に戻り、上述したステップＳ３以降の処理を実行する。
【０１４９】
また、ステップＳ１１において、ピーク値ｆ’（ｎｐ）が、予め設定されているスレッショールド値ｆ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より大きいと判別したときには、そのピーク値ｆ’（ｎｐ）を取る離散時間（拡散符号の位相）ｎｐを相関点として検出する（ステップＳ３４）。
【０１９７】
そして、検出した相関点ｎｐが、４個目であるか否か判別し（ステップＳ３５）、４個目であると判別したときには、ＣＰＵ４１は、受信機位置計算処理を開始し、同期保持部３０における同期保持処理をする（ステップＳ４２）。その後、ステップＳ３６に進む。ステップＳ４２の処理は、４個目以降でも行うにようにしてもよい。
【０１９８】
なお、ステップＳ３４で検出した相関点ｎｐが得られるときのシフト量ｋ'とＲ（ｋ）の分割組数についての変数ｕから、当該受信中のＧＰＳ衛星についてのドップラーシフト量およびＧＰＳ受信機の発振周波数の誤差が推定することができる。
【０１９９】
ステップＳ３５で、検出した相関点ｎｐが、４個目以外であると判別したときには、ステップＳ３６に進み、上述したステップＳ３６以降の処理を実行する。
【０２００】
なお、前述した同期捕捉の第１の例の場合のように、キャリア周波数が既知である場合には、Ｒ（ｉ×Ｍ）、Ｒ（ｉ×Ｍ＋１）、Ｒ（ｉ×Ｍ＋２）、・・・、Ｒ（ｉ×Ｍ＋Ｍ−１）の中で該当するものだけを計算すれば、拡散符号の多周期分を含む時間分を単位として受信信号をＦＦＴする方法は、同様に適用できる。
【０２０１】
以上説明した第１〜第４の例の同期捕捉方法は、従来の手法であるスライディング相関器が原理的に時間を要するのに対し、ＦＦＴを用いたデジタルマッチドフィルタによる処理を高速なＤＳＰで行うようにしたことにより、処理時間の大幅な短縮が期待できる。特に、第３の例および第４の例の場合には、拡散符号のＭ周期単位でＦＦＴ処理をするようにしたことにより、同期捕捉を高感度で行うことができる。
【０２０２】
さらに、第４の例の場合には、拡散符号のＭ周期単位でＦＦＴ処理を、より高速に行うようにすることができる。
【０２０３】
以上のような同期捕捉方法によって、同期捕捉部２０で４個以上のＧＰＳ衛星からの信号の同期捕捉ができれば、ＧＰＳ受信機としては、それらの拡散符号の位相とＩＦキャリア周波数とからＧＰＳ受信機の位置と速度を計算することが可能である。つまり、同期保持部３０を設けなくても測位演算を行うことは可能である。
【０２０４】
しかし、ＧＰＳ受信機として十分な高精度の測位および速度計算を行うためには、高精度で拡散符号の位相とＩＦキャリア周波数を検出する必要があり、そのためには、サンプリング回路２１におけるサンプリング周波数を高くする、ＲＡＭ２２に取り込むＩＦデータの時間長を長くするといったことが必要になる。
【０２０５】
さらに、同期捕捉部２０にデジタルマッチドフィルタを用いた構成とした場合には、デジタルマッチドフィルタ自身は、同期保持機能を有しないことをも考慮しなければならない。
【０２０６】
また、ＧＰＳ受信機の外部から航法メッセージを取得しないとすると、同期捕捉部２０は、４個以上のＧＰＳ衛星の航法メッセージを２０ｍｓ毎に復調する必要があり、ＤＳＰ２３は常に同期の検出と航法メッセージの復調をかなり高速に行う必要がある。
【０２０７】
以上のように、同期捕捉部２０のみにより、ＧＰＳ受信機の位置計算および速度計算を十分な精度で行おうとすると、ハードウェアのサイズ増によるコストアップと消費電力増となり、ＧＰＳ受信機を実際に製造する際の大きな問題となってしまう。
【０２０８】
そこで、この実施形態では、粗い精度での同期捕捉を専用の同期捕捉部２０で行い、複数のＧＰＳ衛星信号の同期保持および航法メッセージの復調は同期保持部３０で行うものとしている。そして、同期捕捉部２０は、検出したＧＰＳ衛星番号と、その拡散符号の位相と、ＩＦキャリア周波数と、相関検出信号からなる信号強度の情報を、制御部４０を通じて同期保持部３０にデータとして渡し、後述するように、同期保持部３０は、そのデータを初期値として動作を開始するようにする。
【０２０９】
［同期保持部３０の構成］
複数のＧＰＳ衛星信号の同期保持を並列して行うために、同期保持部３０は、１つずつのＧＰＳ衛星信号を１チャンネルとして、複数チャンネル分を備える構成とされる。
【０２１０】
図２３は、この実施形態における同期保持部３０の構成例を示す。この同期保持部３０は、ｎチャンネル分のチャンネル同期保持部３０ＣＨ１、３０ＣＨ２、・・・、３０ＣＨｎと、コントロールレジスタ３３とからなる。チャンネル同期保持部３０ＣＨ１、３０ＣＨ２、・・・、３０ＣＨｎのそれぞれは、コスタスループ３１とＤＬＬ（Ｄｅｌａｙ  Ｌｏｃｋｅｄ  Ｌｏｏｐ）３２とを備える。
【０２１１】
コントロールレジスタ３３は、制御部４０のＣＰＵ４１に接続され、後述するように、コスタスループ３１やＤＬＬ３２のループフィルタのパラメータや、フィルタ特性を定めるためのデータを受け取り、ＣＰＵ４１により指示されるチャンネルの、ＣＰＵ４１により指示される部位に、そのデータを設定するようにする。また、コントロールレジスタ３３は、コスタスループ３１やＤＬＬ３２のループフィルタからの相関値情報や周波数情報を受け取り、ＣＰＵ４１からのアクセスに応じてそれらの情報をＣＰＵ４１に渡すようにする。
【０２１２】
〔コスタスループ３１と、ＤＬＬ３２の構成〕
図２４はコスタスループ３１の構成例を示すブロック図であり、また、図２５は、ＤＬＬ３２の構成例を示すブロック図である。
【０２１３】
コスタスループ３１は、ＩＦキャリア周波数の同期保持、送信データである航法メッセージの抽出を行う部分であり、ＤＬＬ３２は、ＧＰＳ衛星信号の拡散符号の位相同期保持を行う部分である。そして、コスタスループ３１とＤＬＬ３２とが協働し、ＧＰＳ衛星信号についてスペクトラム逆拡散を行って、スペクトラム拡散前の信号を得るとともに、このスペクトラム拡散前の信号を復調して航法メッセージを得て、制御部４０のＣＰＵ４１に供給する。以下、コスタスループ３１とＤＬＬ３２との動作について具体的に説明する。
【０２１４】
〔コスタスループ３１について〕
周波数変換部１０からのＩＦデータは、乗算器２０１に供給される。この乗算器２０１には、図２５に示すＤＬＬ３２の拡散符号発生器３２０からの拡散符号が供給される。
【０２１５】
ＤＬＬ３２の拡散符号発生部３２０からは、一致（プロンプト）拡散符号Ｐ、進み（アーリ）拡散符号Ｅ、遅れ（レート）拡散符号Ｌの、３つの位相の拡散符号が発生する。ＤＬＬ３２では、後述するように、進み拡散符号Ｅおよび遅れ拡散符号Ｌと、ＩＦデータとの相関を計算し、それぞれの相関値が等しくなるように、拡散符号発生器３２０からの拡散符号の発生位相を制御し、これにより、一致拡散符号Ｐの位相が、ＧＰＳ衛星信号の拡散符号の位相と一致するようにする。
【０２１６】
コスタスループ３１の逆拡散用の乗算器２０１には、拡散符号発生器３２０からの一致拡散符号Ｐが供給されて、逆拡散される。この乗算器２０１からの逆拡散されたＩＦデータは、乗算器２０２および２０３に供給される。
【０２１７】
コスタスループ３１は、図２４に示すように、乗算器２０２および２０３と、ローパスフィルタ２０４，２０５と、位相検出器２０６と、ループフィルタ２０７と、ＮＣＯ（Ｎｕｍｅｒｉｃａｌ  Ｃｏｎｔｒｏｌｌｅｄ  Ｏｓｃｉｌｌａｔｏｒ；数値制御型発振器）２０８と、相関検出器２０９と、２値化回路２１０と、拡散符号ロック判定部２１１と、スイッチ回路２１２と、ＩＦキャリアロック判定部２１３とからなっている。
【０２１８】
ローパスフィルタ２０４，２０５のカットオフ周波数情報と、ループフィルタ２０７のフィルタ特性を定めるパラメータと、ＮＣＯ２０８の発振中心周波数を定めるための周波数情報とは、後述するように、同期捕捉部２０での同期捕捉結果に基づいて、ＣＰＵ４１からコントロールレジスタ３３を通じて設定される。
【０２１９】
スイッチ回路２１２は、コスタスループ３１のループを開閉制御するためのもので、ＣＰＵ４１からの切り換え制御信号によりオンオフされる。なお、同期保持動作がスタートする前の初期的な状態では、スイッチ回路２１２はオフとされ、ループ開の状態とされ、後述するように、同期保持動作がスタートして、コスタスループの相関検出器２０９の相関出力が有意なレベルとなったときに、このスイッチ回路２１２がオンとされて、ループ閉とされるようにされる。
【０２２０】
乗算器２０１において逆拡散された信号は、乗算器２０２、２０３に供給される。これら乗算器２０２，２０３には、制御部４０のＣＰＵ４１からの周波数情報により、ほぼＩＦキャリア周波数にされたＮＣＯ２０８からの、直交位相のＩ（Ｓｉｎｅ）信号と、Ｑ（Ｃｏｓｉｎｅ）信号とが供給される。
【０２２１】
これら乗算器２０２および２０３の乗算結果は、ローパスフィルタ２０４および２０５を通じて位相検出器２０６に供給される。ローパスフィルタ２０４および２０５は、制御部４０のＣＰＵ４１からのカットオフ周波数情報の供給を受け、これに供給された信号の帯域外ノイズを除去するものである。
【０２２２】
位相検出器２０６は、ローパスフィルタ２０４および２０５からの信号に基づいて、ＩＦキャリアとＮＣＯ２０８からの周波数信号との位相誤差を検出し、この位相誤差をループフィルタ２０７を介してＮＣＯ２０８に供給する。これによりＮＣＯ２０８が制御されて、ＮＣＯ２０８からの出力周波数信号の位相が、ＩＦキャリア成分に同期するようにされる。
【０２２３】
なお、ループフィルタ２０７は、制御部４０のＣＰＵ４１から供給されるパラメータに応じて、位相検出器２０６からの位相誤差情報を積分して、ＮＣＯ２０８を制御するＮＣＯ制御信号を形成するものである。ＮＣＯ２０８は、ループフィルタ２０７からのＮＣＯ制御信号によって、前述したように、ＮＣＯ２０８からの出力周波数信号の位相が、ＩＦキャリア成分に同期するようにされる。
【０２２４】
また、コスタスループ３１のローパスフィルタ２０４および２０５の出力は、相関検出器２０９に供給される。相関検出器２０９は、これに供給されるローパスフィルタ２０４および２０５の出力信号をそれぞれ自乗して加算して出力する。この相関検出器２０９の出力は、ＩＦデータと拡散符号発生器３２０からの一致拡散符号Ｐとの相関値ＣＶ（Ｐ）示すものである。この相関値ＣＶ（Ｐ）は、コントロールレジスタ３３を通じて制御部４０のＣＰＵ４１に渡される。
【０２２５】
そして、ローパスフィルタ２０４の出力信号は２値化回路２１０に供給されており、この２値化回路２１０より航法メッセージデータが出力される。
【０２２６】
また、相関検出器２０９からの相関値ＣＶ（Ｐ）出力は、拡散符号ロック判定部２１１に供給される。拡散符号ロック判定部２１１は、相関値ＣＶ（Ｐ）出力と、予め定められているスレッショールド値とを比較し、相関値ＣＶ（Ｐ）出力がスレッショールド値よりも大きいときには、同期保持がロック状態であることを示し、相関値ＣＶ（Ｐ）出力がスレッショールド値よりも小さいときには、同期保持がアンロック状態であることを示す拡散符号ロック判定出力を出力する。
【０２２７】
この実施形態では、この拡散符号ロック判定出力は制御部４０のＣＰＵ４１に送られ、ＣＰＵ４１は、この拡散符号ロック判定出力から、同期保持部３０における拡散符号のロック状態、アンロック状態を認識するようにする。ＣＰＵ４１は、この拡散符号ロック判定出力からは、拡散符号の同期が保持されていることのみを判定する。したがって、ＣＰＵ４１は、この拡散符号ロック判定出力からでは、拡散符号の同期は取れているが、ＩＦキャリアのロックが外れた状態の検知は行わない。ＣＰＵ４１は、ＩＦキャリアロック判定部２１３の出力から、ＩＦキャリアの周波数ロックは外れたか否かの判定を行う。
【０２２８】
ＩＦキャリアロック判定部２１３には、ローパスフィルタ２０４および２０５の出力は供給される。このＩＦキャリアロック判定部２１３では、ローパスフィルタ２０４および２０５の出力の絶対値の比を求め、その比の値が予め定めたスレッショールド値以上であるときには、ＩＦキャリアの同期がロック状態であることを示し、そうでなかったときには、ＩＦキャリアの同期が外れた状態（アンロック状態）であることを示すＩＦキャリアロック判定出力を出力する。
【０２２９】
すなわち、ＩＦキャリアロック判定出力は、ローパスフィルタ２０４の出力をＩo、ローパスフィルタ２０５の出力をＱｏとし、前記スレッショールド値をｔｈとしたとき、
｜Ｉｏ｜／｜Ｑｏ｜＞ｔｈ
であるときにはロック状態、そうでなければ、アンロック状態を示すものとなる。
【０２３０】
この実施形態では、このＩＦキャリアロック判定出力は制御部４０のＣＰＵ４１に送られる。ＣＰＵ４１は、このＩＦキャリアロック判定出力から、ＩＦキャリアについてのロック状態、アンロック状態を認識するようにする。
【０２３１】
〔ＤＬＬ３２について〕
図２５に示すように、ＤＬＬ３２においては、周波数変換部１０からのＩＦデータは、乗算器３０１および３１１に供給される。そして、乗算器３０１には、拡散符号発生器３２０からの進み拡散符号Ｅが供給され、また、乗算器３１１には、拡散符号発生器３２０からの遅れ拡散符号Ｌが供給される。
【０２３２】
乗算器３０１は、ＩＦデータと進み拡散符号Ｅとを乗算することにより、スペクトラム逆拡散を行い、この逆拡散がなされた信号を乗算器３０２、３０３に供給する。そして、乗算器３０２には、前述のコスタスループ３１のＮＣＯ２０８からのＩ信号が供給され、乗算器３０３には、ＮＣＯ２０８からのＱ信号が供給される。
【０２３３】
乗算器３０２は、逆拡散されたＩＦデータとＮＣＯ２０８からのＩ信号とを乗算し、その結果をローパスフィルタ３０４を通じて相関検出器３０６に供給する。同様に、乗算器３０３は、逆拡散されたＩＦデータとＮＣＯ２０８からのＱ信号とを乗算し、その結果をローパスフィルタ３０５を通じて相関検出器３０６に供給する。
【０２３４】
なお、ローパスフィルタ３０４、３０５は、コスタスループ３１のローパスフィルタ２０４，２０５と同様に、制御部４０のＣＰＵ４１からのカットオフ周波数情報の供給を受け、これに供給された信号の帯域外ノイズを除去するものである。
【０２３５】
相関検出器３０６は、これに供給されるローパスフィルタ３０４，３０５からの出力信号をそれぞれ自乗して加算して出力する。この相関検出器３０６からの出力は、ＩＦデータと、拡散符号発生器３２０からの進み拡散符号Ｅとの相関値ＣＶ（Ｅ）示すものである。この相関値ＣＶ（Ｅ）は、位相検出器３２１に供給されるとともに、コントロールレジスタ３３に格納され、制御部４０のＣＰＵ４１が用いることができるようにされる。
【０２３６】
同様に、乗算器３１１は、ＩＦデータと遅れ拡散符号Ｌとを乗算することにより、スペクトラム逆拡散を行い、この逆拡散がなされた信号を乗算器３１２、３１３に供給する。乗算器３１２には、前述したように、ＮＣＯ２０８からのＩ信号が供給され、乗算器３１３には、ＮＣＯ２０８からのＱ信号が供給される。
【０２３７】
乗算器３１２は、逆拡散されたＩＦデータとＮＣＯ２０８からのＩ信号とを乗算し、その結果をローパスフィルタ３１４を通じて相関検出器３１６に供給する。同様に、乗算器３１３は、逆拡散されたＩＦデータとＮＣＯ２０８からのＱ信号とを乗算し、その結果をローパスフィルタ３１５を通じて相関検出器３１６に供給する。ローパスフィルタ３１４、３１５は、前述のローパスフィルタ３０４、３０５と同様に、制御部４０のＣＰＵ４１からのカットオフ周波数情報の供給を受け、これに供給された信号の帯域外ノイズを除去するものである。
【０２３８】
相関検出器３１６は、これに供給されるローパスフィルタ３１４，３１５からの出力信号をそれぞれ自乗して加算し、その演算結果を出力する。この相関検出器３１６からの出力は、ＩＦデータと、拡散符号発生器３２０からの遅れ拡散符号Ｌとの相関値ＣＶ（Ｌ）を示すものである。この相関値ＣＶ（Ｌ）は、位相検出器３２１に供給されるとともに、コントロールレジスタ３３に格納され、制御部４０のＣＰＵ４１が用いることができるようにされる。
【０２３９】
位相検出器３２１は、相関検出器３０６からの相関値ＣＶ（Ｅ）と、相関検出器３１６からの相関値ＣＶ（Ｌ）との差分として、一致拡散符号とＧＰＳ衛星信号の拡散符号との位相差を検出し、その位相差に応じた信号をループフィルタ３２２を介してＮＣＯ３２３の数値制御信号として供給する。
【０２４０】
拡散符号発生器３２０には、このＮＣＯ（Ｎｕｍｅｒｉｃａｌ  Ｃｏｎｔｒｏｌｌｅｄ  Ｏｓｃｉｌｌａｔｏｒ；数値制御型発振器）３２３の出力信号が供給されており、このＮＣＯ３２３の出力周波数が制御されることにより、拡散符号発生器３２０からの拡散符号の発生位相が制御される。
【０２４１】
なお、ＮＣＯ３２３は、後述するように、同期捕捉部２０の同期捕捉結果に応じた制御部４０のＣＰＵ４１からの初期発振周波数を制御する周波数情報の供給を受ける。
【０２４２】
以上のＤＬＬ３２におけるループ制御により、ＮＣＯ３２３が制御されて、拡散符号発生器３２０は、相関値ＣＶ（Ｅ）と相関値ＣＶ（Ｌ）とが同じレベルとなるように、拡散符号Ｐ、Ｅ，Ｌの発生位相を制御する。これにより、拡散符号発生器３２０から発生する一致拡散符号Ｐが、ＩＦデータをスペクトラム拡散している拡散符号と位相同期するようにされ、この結果、一致拡散符号ＰによりＩＦデータが正確に逆スペクトラム拡散され、コスタスループ３１において、２値化回路２１０から航法メッセージデータが復調されて出力される。
【０２４３】
そして、その航法メッセージデータの復調出力は、図示しないデータ復調回路に供給されて制御部４０で使用可能なデータに復調された後、制御部４０に供給される。制御部４０では、航法メッセージデータは、測位計算に用いられ、また、適宜、軌道情報（アルマナック情報やエフェメリス情報）が抽出されて、軌道情報用メモリ４６に格納される。
【０２４４】
なお、ＤＬＬ３２のループフィルタ３２２は、前述したコスタスループ３１のループフィルタ２０７と同様に、制御部４０のＣＰＵ４１から供給されるパラメータに基づいて、位相検出器３２１からの位相誤差情報を積分して、ＮＣＯ３２３を制御するＮＣＯ制御信号を形成するものである。
【０２４５】
ＤＬＬ３２においても、ループフィルタ３２２と、ＮＣＯ３２３との間に、ループの開閉制御用のスイッチ回路３２４が設けられ、ＣＰＵ４１からの切り換え制御信号によりオンオフされる。
【０２４６】
なお、同期保持動作がスタートする前の初期的な状態では、スイッチ回路３２４はオフとされ、ループ開の状態とされ、後述するように、同期保持動作がスタートして、コスタスループの相関検出器２０９の相関出力が有意なレベルとなったときに、このスイッチ回路３２４がオンとされて、ループ閉とされるようにされる。
【０２４７】
［同期捕捉から同期保持への移行について］
この実施形態では、前述したように、同期捕捉部２０は、検出したＧＰＳ衛星番号と、その拡散符号の位相と、ＩＦキャリア周波数と、信号強度の情報とを、データとして制御部４０のＣＰＵ４１に渡す。なお、信号強度の情報は、同期保持処理への移行のための情報としては、必須のものではない。
【０２４８】
取得したデータに基づいて制御部４０のＣＰＵ４１は、同期保持部３０に供給するデータを生成し、それを同期保持部３０に渡す。同期保持部３０はそのデータを初期値として同期保持動作を開始するようにする。
【０２４９】
制御部４０のＣＰＵ４１から同期保持部３０に渡されるデータは、ＤＬＬ３２の拡散符号発生器３２０からの拡散符号の発生位相を制御するＮＣＯ３２３の初期発振周波数（発振中心周波数）を決定するための数値情報と、コスタスループ３１のＮＣＯ２０８の初期発振周波数（発振中心周波数）を決定するための数値情報と、ループフィルタ２０７および３２２のフィルタ特性を決定するためのパラメータと、ローパスフィルタ２０４，２０５，３０４，３０５，３１４，３１５のカットオフ周波数を決定して、その周波数帯域の広狭を決定するための係数情報である。
【０２５０】
このとき、ＣＰＵ４１から同期保持部３０に供給される情報は、同期保持部３０で、拡散符号の同期保持およびＩＦキャリアの同期保持を開始する位相や周波数、また、フィルタ特性を定めるための初期値データであるが、ＣＰＵ４１は、同期捕捉部２０で同期捕捉した結果として検出された拡散符号の位相およびＩＦキャリア周波数の近傍から同期保持を開始するように、前記初期値データを生成する。
【０２５１】
したがって、同期保持部３０では、同期捕捉部２０で検出された拡散符号の位相近傍および検出されたＩＦキャリア周波数の近傍から同期保持動作を開始して、迅速に同期保持のロック状態にすることができるようになる。
【０２５２】
ところで、ＧＰＳ受信機が位置および速度を計算するためには、同期捕捉開始から４個以上のＧＰＳ衛星に対して同期を確立し、保持しなければならない。同期捕捉部２０と同期保持部３０および両者を制御するＣＰＵ４１とによって、４個以上のＧＰＳ衛星からの信号の同期を保持するまでの過程（以下、この過程を同期捕捉・同期保持過程と呼ぶ）には複数の方法がある。同期捕捉・同期保持過程の幾つかの例を次に説明する。
【０２５３】
〔同期捕捉・同期保持過程の第１の例〕
この第１の例では、同期捕捉部２０は、ＧＰＳ衛星信号の一つを同期捕捉すると、すぐに、ＣＰＵ４１に、同期保持動作開始のための割り込み指示と、同期捕捉結果としてのＧＰＳ衛星番号、その拡散符号の位相、ＩＦキャリア周波数、相関検出レベルを表わす信号強度を転送し、転送が終わると別のＧＰＳ衛星についての同期捕捉に移る。
【０２５４】
ＣＰＵ４１は、同期保持部２０からの割り込み指示を受け取る毎に、同期保持部３０に対して独立のチャンネルの割り当てを行うと共に、初期値の設定を行って、同期保持動作を開始させるようにする。
【０２５５】
図２６は、この同期捕捉・同期保持過程の第１の例における同期捕捉部２０での同期捕捉処理の流れを説明するためのフローチャートである。
【０２５６】
まず、同期捕捉のための初期設定を行う（ステップＳ７１）。この初期設定においては、同期捕捉のためにサーチするＧＰＳ衛星およびそのサーチの順番を、ＧＰＳ受信機が軌道情報用メモリ４６に記憶している有効な軌道情報に基づいて設定する。また、その軌道情報から、ドップラーシフトを考慮したキャリア周波数を計算して、サーチするＩＦキャリア周波数の中心と範囲を設定するようにする。
【０２５７】
また、電源投入前の過去の動作で得た大体の発振器誤差が、ＧＰＳ受信機で判明しているのであれば、ＧＰＳ受信機位置を電源投入時に記憶されている位置、すなわち、前回電源を切る直前の位置と仮定して、軌道情報から計算したドップラーシフトに合わせて、サーチするＩＦキャリア周波数の中心と範囲を決めるようにすると、さらに同期保持に至るまでに要する時間を短縮できる。
【０２５８】
初期設定が終了したら、サーチの順番に従って、同期捕捉する一つのＧＰＳ衛星を設定する（ステップＳ７２）。これにより、同期捕捉対象の衛星番号が決まり、また、相関を検出しようとする拡散符号が決まる。
【０２５９】
次に、同期捕捉部２０では、ＲＡＭ２２に、サンプリング回路２１でサンプリングしたＩＦデータの取り込みを開始し、この開始タイミングで、タイマをスタートさせる（ステップＳ７３）。ここで、このタイマとしては、制御部４０のタイマ４５を用いるようにする。このタイマ４５は、後述のように、同期保持処理スタートタイミングを設定する際にも用いられる。
【０２６０】
次に、ＤＳＰ２３において、前述したデジタルマッチドフィルタを用いた同期捕捉の例のいずれかを用いて、ステップＳ７２で設定したＧＰＳ衛星信号の拡散符号について相関検出処理を行う（ステップＳ７４）。
【０２６１】
そして、ＧＰＳ衛星信号の拡散符号について相関が検出されたか否か、つまり、ＧＰＳ衛星信号の同期捕捉ができたか否か判別し（ステップＳ７５）、相関が検出できたときには、ＣＰＵ４１に対して割り込み指示を発生させると共に、同期捕捉の検出結果として、ＧＰＳ衛星番号、拡散符号の位相、ＩＦキャリア周波数、信号強度の情報をＣＰＵ４１に渡す（ステップＳ７６）。
【０２６２】
そして、サーチすべきＧＰＳ衛星のすべてについての同期捕捉サーチが終了したか否か判別し（ステップＳ７７）、未だサーチすべきＧＰＳ衛星が残っているときには、ステップＳ７２に戻り、同期捕捉する次のＧＰＳ衛星を設定して、以上の同期捕捉処理を繰り返す。また、ステップＳ７７で、サーチすべきすべてのＧＰＳ衛星についての同期捕捉が終了したと判別したときには、同期捕捉動作を終了して、同期捕捉部２０を待機状態（スタンバイ状態）にする。
【０２６３】
また、ステップＳ７５で相関が検出できないと判別したときには、その状態が予め定めた所定時間以上経過したか否か判別し（ステップＳ７８）、所定時間経過していなければ、ステップＳ７５に戻って、相関検出を継続する。
【０２６４】
ステップＳ７８で、所定時間経過したと判別したときには、ステップＳ７７に進み、サーチすべきＧＰＳ衛星のすべてについての同期捕捉サーチが終了したか否か判別し、未だサーチすべきＧＰＳ衛星が残っているときには、ステップＳ７２に戻り、同期捕捉する次のＧＰＳ衛星を設定し、以上の同期捕捉処理を繰り返す。
【０２６５】
また、ステップＳ７７で、サーチすべきすべてのＧＰＳ衛星についての同期捕捉が終了したと判別したときには、同期捕捉動作を終了して、同期捕捉部２０を待機状態（スタンバイ状態）にする。
【０２６６】
この実施形態では、ＣＰＵ４１は、同期捕捉部２０への電源供給のオンオフ制御、または、この同期捕捉部２０に対する逓倍／分周回路３からの動作クロックの供給のオンオフ制御を行うことができるように構成されており、上記の同期捕捉部２０のスタンバイ状態では、ＣＰＵ４１により、同期捕捉部２０への電源の供給はオフ、または、動作クロックの供給が停止されて、不要な消費電力が抑えられている。
【０２６７】
同期捕捉部２０を、上述のように、デジタルマッチドフィルタで構成すると、ＤＳＰ２３でのＦＦＴ計算を速くするためには高いクロックで動作させることが望ましく、したがって、動作時の消費電力が大きくなるが、同期捕捉部２０において、初期設定したすべてのＧＰＳ衛星からの信号の同期捕捉検出が終わり、同期保持部３０で４個以上の同期保持ができていれば、同期捕捉部２０の役割は終了する。
【０２６８】
この実施形態では、上述のように、ＣＰＵ４１は、同期捕捉部２０の役割終了後は、スタンバイ状態にしているので、同期捕捉部２０における不要な消費電力が抑えられている。
【０２６９】
なお、上記の例では、初期設定したすべてのＧＰＳ衛星についての同期捕捉が完了した後、ＣＰＵ４１は、同期捕捉部２０をスタンバイ状態に移行させるようにしたが、同期保持部３０で同期保持できたＧＰＳ衛星が４個以上になったことを確認してから、ＣＰＵ４１が同期捕捉部２０をスタンバイ状態に移行させるようにしてもよい。
【０２７０】
なお、ＣＰＵ４１は、一旦、スタンバイ状態になった同期捕捉部２０を、再同期捕捉が必要な状態になったときに、動作状態に復帰させるようにすることができることは勿論である。
【０２７１】
次に、同期捕捉部２０からの割り込み指示を受けたＣＰＵ４１による同期保持部３０の制御処理について、図２７および図２８のフローチャートを参照しながら説明する。
【０２７２】
図２７は、ＣＰＵ４１が、同期捕捉部２０から、割り込み指示および同期捕捉結果としての拡散符号の位相、ＩＦキャリア周波数、ＧＰＳ衛星番号、信号強度の情報を受け取ったときに、同期保持部３０においてチャンネル割り当てし、同期保持スタートをさせるための処理である。また、図２８は、ＣＰＵ４１が、同期保持スタートさせた同期保持部３０の各１チャンネルにおいての同期保持処理制御のためのフローチャートである。まず、図２７の同期保持スタート処理について説明する。
【０２７３】
まず、ＧＰＳ受信機への電源投入時などにおいて、ＣＰＵ４１は、同期保持部３０のＮＣＯ、ローパスフィルタ、ループフィルタなどへ定数の初期設定を行っておく（ステップＳ８１）。なお、このとき、コスタスループ３１およびＤＬＬ３２は、いずれも初期状態はループ開とされる。
【０２７４】
次に、ＣＰＵ４１は、同期捕捉部２０からの割り込み指示を監視し（ステップＳ８２）、割り込み指示を検出したときには、同期捕捉部２０から、ＧＰＳ衛星番号、拡散符号の位相、ＩＦキャリア周波数、信号強度の情報を受け取ると共に、同期保持部３０に対して、受け取ったＧＰＳ衛星番号に対して独立のチャンネルを割り当てるようにする設定する（ステップＳ８３）。
【０２７５】
そして、ＣＰＵ４１は、同期捕捉部２０から受け取った拡散符号の位相から、同期保持スタートタイミングを計算するとともに、同期保持部３０の、割り当てられたチャンネル内の各部に供給する初期値を、同期捕捉部２０から受け取ったＩＦキャリア周波数に基づいて生成する（ステップＳ８４）。
【０２７６】
そして、ＣＰＵ４１は、生成した初期値を、コントロールレジスタ３３を通じて同期保持部３０の、ステップＳ８３で割り当てられたチャンネル内の各部に送ると共に、同期保持部３０の、ステップＳ８３で割り当てられたチャンネル内の拡散符号発生器３２０からの一致拡散符号Ｐの発生位相を、前記同期保持スタートタイミングとするように制御して、同期保持動作をスタートさせる（ステップＳ８５）。なお、このとき、コスタスループ３１およびＤＬＬ３２のループは開のままとする。
【０２７７】
以上のようにして、同期捕捉されたＧＰＳ衛星信号について、同期保持のためのチャンネルが割り当てられ、同期保持スタートを行ったら、ステップＳ８２に戻り、次の割り込みを待つ。
【０２７８】
次に、以上のようにしてスタートしたチャンネル毎の同期保持処理を、図２８のフローチャートについて説明する。
【０２７９】
ＣＰＵ４１は、まず、同期保持部３０からの相関値ＣＶ（Ｐ）が有意なレベルになったか否か判別し（ステップＳ９１）、相関値ＣＶ（Ｐ）が有意なレベルになったら、コスタスループ３１およびＤＬＬ３２のループを閉じて、同期保持動作を行う（ステップＳ９２）。
【０２８０】
次に、ＣＰＵ４１は、同期保持部３０のコスタスループ３１のロック判定部２１１からのロック判定出力を監視し（ステップＳ９３）、同期保持部３０のロックを確認したときには、同期保持しているＧＰＳ衛星の数を１だけインクリメントし（ステップＳ９４）、同期保持状態を継続する（ステップＳ９５）。
【０２８１】
そして、ＣＰＵ４１は、この同期保持動作中において、コスタスループ３１のロック判定部２１１からのロック判定出力を監視し（ステップＳ９６）、同期保持のロックを確認したときには、ステップＳ９５に戻って、同期保持状態を継続する。そして、ステップＳ９６で同期保持のロックが外れたと判別したときには、同期保持しているＧＰＳ衛星の数を１だけデクリメントし（ステップＳ９７）、同期保持が外れたときの処理を行うようにする。この同期保持が外れたときの処理については、後述する。
【０２８２】
ＣＰＵ４１は、同期保持部３０で４個以上のＧＰＳ衛星信号の同期保持ができたと判別したときには、ＧＰＳ受信機の位置の計算および速度の計算を行うようにする。
【０２８３】
ステップＳ９１において、相関値ＣＶ（Ｐ）が有意なレベルにならないと判別したときには、その状態が予め定めた所定時間以上経過しかたどうか判別し（ステップＳ９９）、所定時間以上経過したと判別したときには、図２７のステップＳ８３で割り当てた同期保持部３０のチャンネルを空きチャンネルに戻し、当該チャンネルの同期保持を停止する（ステップＳ１００）。
【０２８４】
また、ステップＳ９３において、ロック判定出力によりロック状態が検出できなかったときには、その状態が予め定めた所定時間以上経過しかたどうか判別し（ステップＳ１０１）、所定時間以上経過したと判別したときには、ステップＳ８３で割り当てた同期保持部３０のチャンネルを空きチャンネルに戻し、当該チャンネルの同期保持を停止する（ステップＳ１００）。
【０２８５】
ステップＳ９９、ステップＳ１０１およびステップＳ１００の部分は、次のような理由により設けられたものである。すなわち、同期捕捉部２０が検出した相関が有意なレベルであっても、ノイズで偶々発生した偽の同期である場合もあり得る。突発的に生じたような持続性のない偽の同期に対しては、同期保持部３０で同期が確立することはない。そこで、同期保持部３０で一定のサーチ時間内に同期が確立できない場合には、同期保持動作を停止して、割り当てられたチャンネルを、空きチャンネルの状態に戻し、次の割り込みを待つようにしたものである。
【０２８６】
ところで、前述の図２７のステップＳ８４では、ＣＰＵ４１は、同期捕捉部２０で検出した拡散符号の位相に、同期保持部３０の拡散符号発生器３２０からの拡散符号の位相を合わせるように、同期保持部３０の同期保持スタートタイミングを計算する必要があるが、その計算の際には、同期捕捉部２０で、一つのＧＰＳ衛星信号についての同期捕捉が完了するまでに所定時間が経過しており、ドップラーシフトと、ＧＰＳ受信機の基準発振器２の誤差の影響を受けることを考慮する必要がある。
【０２８７】
後者の問題は、ＩＦキャリア周波数が、周波数変換部１０からのＩＦデータのメモリに取り込むためのサンプリングクロックを生成している大元の基準発振器２の誤差を含むことによる。
【０２８８】
なお、この実施形態では、同期捕捉部２０と同期保持部３０とが同じ基準発振器２を発信源とするクロックで動作しているので、同期捕捉部２０と同期保持部３０とでは、全く同じ周波数誤差を持つことになる。したがって、ＩＦキャリアの同期に関しては、同期保持部３０が同期捕捉部２０で検出したＩＦキャリア周波数を初期値として動作を開始することに関しては、全く問題ない。
【０２８９】
このステップＳ８４における同期保持のスタートタイミングを決定する方法には幾つかの例がある。以下、その方法の例について説明する。
【０２９０】
〔同期保持のスタートタイミングを決定方法の第１の例〕
同期保持のスタートタイミングとしては、ＧＰＳ受信機の基準発振器２の誤差の影響を受けるが、基本的には、拡散符号は１ミリ秒の周期で繰り返されるので、同期保持部３０における拡散符号のスタートタイミングは、１ミリ秒の整数倍ずれていても問題はない。
【０２９１】
そこで、この第１の例では、同期捕捉部２０が、ＩＦデータをＲＡＭ２２に取り込むタイミングでタイマ４５をスタートさせていることを利用して、このＲＡＭ２２に記憶しているＩＦデータについて、同期捕捉部２０が拡散符号の位相差ｈを検出したとき、ＣＰＵ４１は、同じタイマ４５を用いて、１ミリ秒の整数倍から、その検出位相差ｈだけずらした時点において、同期保持部３０の拡散符号発生器３２０で生成する拡散符号をスタートさせることで、受信信号の拡散符号に位相を合わせるようにする。
【０２９２】
図２９は、その状態を説明するための図である。図２９（Ａ）は、ＩＦデータを示しており、ＰＮは、その拡散符号を意味している。図２９（Ｂ）に示すように、ＩＦデータの拡散符号ＰＮに対して、図のようにｈだけ位相がずれたタイミングで、ＲＡＭ２２にＩＦデータを取り込んだ場合、ＤＳＰ２３では、その位相ｈを、拡散符号の位相の情報（ＤＬＬ３２の拡散符号発生器３２０をリセットする位相）として検出する。
【０２９３】
しかし、その位相差ｈを同期捕捉部２０が検出した時点は、図２９（Ｃ）に示すように、タイマ４５をＲＡＭ２２へのＩＦデータの取り込みタイミングでスタートさせた時点から、数ミリ秒経過した時点となっていたとする。
【０２９４】
ＣＰＵ４１は、同期捕捉部２０から拡散符号についての位相差ｈを受け取った時点が、タイマ４５で計測している時間の１ミリ秒単位の中間の時点であったときには、当該１ミリ秒単位の時間の経過を待ち、それに拡散符号についての位相差ｈ分を加えた時点を同時保持スタートタイミングとして、同期保持部３０の拡散符号発生器３２０の発生位相をリセットする。
【０２９５】
これにより、同期保持部３０の拡散符号発生器３２０の発生位相を、同期捕捉部２０で捕捉したＧＰＳ衛星信号の拡散符号の位相にほぼ合わせることができ、同期を確立するまでの時間を短時間にすることができる。
【０２９６】
従来のコスタスループ＋ＤＬＬの役割においては、受信信号における拡散符号の位相がわからないため、ＤＬＬで生成するＩＦキャリア周波数と拡散符号の周期を少しずらし、ＩＦデータの拡散符号に対して位相がスライドしていく中で有意な強度の相関が出る位相を、最悪の場合、数ｋＨｚの範囲のキャリア周波数と拡散符号の符号長１０２３におけるすべての位相に対して検出を行うため、同期を確立するまでにかなりの時間を要する。
【０２９７】
しかし、上述の実施形態においては、同期保持部３０は、コスタスループ３１およびＤＬＬを用いる基本的な構成は従来と同じでありながら、同期保持部３０が受け取った拡散符号の位相とＩＦキャリア周波数の初期値は、真値からわずかしかずれていないため、有意な強度の相関がある位相は誤差を含めても初期値の近辺に必ず存在する。
【０２９８】
そして、同期保持部３０は、まず、スイッチ回路２１２およびスイッチ回路３２４をオフにして、コスタスループ３１およびＤＬＬ３２のＮＣＯ２０８および３２３を、ループフィルタ２０７および３２２からの制御を止めた状態、つまり、ループを開の状態にして、それぞれのＮＣＯ２０８および３２３を初期値付近で変えながら有意な強度の相関を探す。そして、相関を検出したら、スイッチ回路２１２および３２４をオンにして、ＤＬＬ３２とコスタスループ３１のループフィルタ２０７および３２２からのループ制御に切り換えるようにしている。
【０２９９】
このため、ＤＬＬ３２における拡散符号の位相およびコスタスループ３１におけるＩＦキャリアの位相の同期確立は極めて短時間に行われ、以降、同期を保持し続けることができる。
【０３００】
この場合、ＩＦキャリア周波数は、例えば数十Ｈｚの精度で初期値が設定できるので、コスタスループ３１およびＤＬＬ３２のローパスフィルタおよびループフィルタの帯域幅は最初から狭くすることができ、Ｓ／Ｎが高い状態で同期を確立することができる。
【０３０１】
同期保持部３０を、例えば１．０２３ＭＨｚ×１６＝１６．３６８ＭＨｚのクロックで動作させ、ＤＬＬ３２において、拡散符号の位相を１／１６．３６８ＭＨｚの時間分解能で検出すれば、１／１６チップの精度で拡散符号の位相から、ＧＰＳ衛星とＧＰＳ受信機間の擬似距離を計算でき、また、コスタスループ３１のＮＣＯ２０８を、１Ｈｚ単位で制御できる構成にすれば、ＩＦキャリア周波数の分解能は１Ｈｚとなり、ＤＬＬ３２とコスタスループ３１は、その精度で同期を保持できる。
【０３０２】
〔同期保持のスタートタイミングの決定方法の第２の例〕
上述したように、同期捕捉部２０で検出された拡散符号の位相、ＩＦキャリア周波数を、同期保持部３０における拡散符号の位相およびＩＦキャリアの初期値とすることで、同期保持部３０は、その初期値の近辺で有意な相関が得られる位相を探すようにする。
【０３０３】
同期保持部３０で、このようなサーチが必要となるのは、前述したように、ＧＰＳ受信機に搭載されている基準発振器２が、公称周波数に対して誤差を持っていることが一つの理由である。
【０３０４】
前述のように、ＦＦＴを利用したデジタルマッチドフィルタで同期捕捉部２０を構成した場合には、同期捕捉部２０の検出結果は、ＩＦデータをＲＡＭ２２に記憶してから、ＤＳＰの処理時間分遅れて、同期保持部３０に渡されることになる。
【０３０５】
このため、基準発振器２の発振周波数の公称発振周波数ｆ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の符号を変えるだけで済む。
【０３３２】
〔同期捕捉部２０からの信号強度の情報の同期保持処理における利用〕
同期捕捉部２０は、前述したように、ＧＰＳ信号の拡散符号の位相とＩＦキャリア周波数のほか、ＧＰＳ衛星信号の拡散符号と、ＧＰＳ受信機の拡散符号との相関値の大きさを信号強度として、その信号強度の情報もＣＰＵ４１に供給するようにしている。この信号強度の情報を用いることにより、同期保持部３０での感度および追従性の制御をすることができる。また、この信号強度と、同期保持部３０での相関値とを用いることにより、拡散符号の誤相関を判定することができる。以下、これについて説明する。
【０３３３】
同期保持部３０において同期を確立するときに、同期捕捉部２０から渡された拡散符号の位相の近くに真ではない相関がある場合がある。特に、信号強度が強いＧＰＳ衛星からの信号に対しては、同じＧＰＳ衛星からの受信信号でも位相がずれたところに部分相関が発生する。また、異なるＧＰＳ衛星からの信号間でも同様の相関がある。このような場合、同期保持部３０は誤って、そちらへ同期してしまう場合があり得る。
【０３３４】
しかし、同期捕捉部２０が、正しく最大の相関を検出していて、その拡散符号の位相とＩＦキャリア周波数に加えて信号強度の情報を同期保持部３０に渡すようにすれば、同期保持部３０が検出した相関のレベルが、同期捕捉部２０から渡された信号強度と同等とみなせないほど差があれば誤相関と判断して、別の位相のサーチに移ることで、偽の相関に誤同期する確率を下げることができる。
【０３３５】
また、同期保持部３０のコスタスループ３１のローパスフィルタとループフィルタおよびＤＬＬ３２のローパスフィルタとループフィルタは、帯域を狭くすればＳ／Ｎが良くなるので感度が上がるが、応答は遅くなるために同期確立とその後の同期保持においてＧＰＳ受信機位置の急な変化に対する追従性は悪くなる。
【０３３６】
したがって、受信信号の信号強度が強いときには追従性を重視し、弱いときは感度を上げた方が良い。これらのフィルタの帯域は、同期捕捉部２０から渡された信号強度に応じて、同期保持動作の初期段階で設定できる。
【０３３７】
以上のことを反映した、ＣＰＵ４１における同期保持スタート制御のためのフローチャートを図３１に示し、また、チャンネル毎同期保持処理のフローチャートを図３２に示す。なお、この図３１のフローチャートは、図２７のフローチャートの一部を変更したものであって、図２７のフローチャートのステップと同一のステップ部分には、同一のステップ番号を付してある。また、同様に、図３２のフローチャートは、図２８のフローチャートの一部を変更したものであって、図２８のフローチャートのステップと同一のステップ部分には、同一のステップ番号を付してある。以下、この図２７、図２８との変更点を中心に、図３１、図３２の処理動作の要点を説明する。
【０３３８】
まず、図３１の同期保持スタート処理について説明する。ＣＰＵ４１は、ステップＳ８３において、同期保持部３０に対して、受け取ったＧＰＳ衛星番号に対して独立のチャンネルを割り当てるようにする設定した後、同期捕捉部２０から受け取った信号強度の大きさを調べる（ステップＳ１１１）。
【０３３９】
そして、次のステップＳ１１２においては、ＣＰＵ４１は、同期捕捉部２０から受け取った拡散符号の位相から、同期保持スタートタイミングを計算するとともに、同期保持部３０の、割り当てられたチャンネル内の各部に供給する初期値を、同期捕捉部２０から受け取ったＩＦキャリア周波数に基づいて生成するが、その際に、ステップＳ１１１で調べた信号強度に応じて、コスタスループ３１およびＤＬＬ３２のローパスフィルタ２０４，２０５および３０４，３０５，３１４，３１５とループフィルタ２０７，３２２の設定値を決定する。
【０３４０】
すなわち、ステップＳ１１１で調べた信号強度が弱いときには、感度を上げた方が良いので、コスタスループ３１およびＤＬＬ３２のローパスフィルタ２０４，２０５および３０４，３０５，３１４，３１５とループフィルタ２０７，３２２の設定値は、帯域を狭くするような値とする。また、ステップＳ１１１で調べた信号強度が強いときには、追従性を良くした方が良いので、コスタスループ３１およびＤＬＬ３２のローパスフィルタ２０４，２０５および３０４，３０５，３１４，３１５とループフィルタ２０７，３２２の設定値は、帯域を広くするような値とする。
【０３４１】
そして、ＣＰＵ４１は、次のステップＳ８５に進んで、生成した初期値を、コントロールレジスタ３３を通じて同期保持部３０の、ステップＳ８３で割り当てられたチャンネル内の各部に送ると共に、同期保持部３０の、ステップＳ８３で割り当てられたチャンネル内の拡散符号発生器３２０からの一致拡散符号Ｐの発生位相を、前記同期保持スタートタイミングとするように制御して、同期保持動作をスタートさせる。このとき、コスタスループ３１およびＤＬＬ３２のループは開のままとする。そして、ステップＳ８２に戻り、次の割り込みの発生を待つ。
【０３４２】
次に、図３２のチャンネル毎同期保持処理について説明する。まず、ＣＰＵ４１は、同期保持部３０からの相関値ＣＶ（Ｐ）と、ステップＳ１１１で調べた信号強度（同期捕捉部２０での相関検出信号のレベル）とを比較し（ステップＳ１１３）、両者が同等のものであるかどうか判別する（ステップＳ１１４）。
【０３４３】
そして、このステップＳ１１４での判別の結果、両者に同等と見なせないほどの差があると判別したときには、同期捕捉部２０からの相関結果は、誤相関によるものと判断し、ステップＳ１００に進み、ステップＳ８３で割り当てた同期保持部３０のチャンネルを空きチャンネルに戻し、このチャンネルにおける同期保持動作を終了する。
【０３４４】
また、ステップＳ１１４での判別の結果、同期保持部３０からの相関値ＣＶ（Ｐ）と、ステップＳ１１１で調べた信号強度とが同等であると判別したときには、前述したステップＳ９１以降の同期保持のステップを実行する。
【０３４５】
以上のようにして、この例においては、同期捕捉部２０で検出した信号強度を用いて、誤相関を防止するとともに、信号強度に応じて、感度および追従性を制御することができる。
【０３４６】
〔同期捕捉・同期保持過程の第２の例〕
同期捕捉・同期保持過程の第１の例では、サーチ可能なすべてのＧＰＳ衛星からの受信信号を順次に同期捕捉し、同期捕捉できたら割り込みを発生させて、同期保持をスタートさせ、次のＧＰＳ衛星からの信号についての同期捕捉を開始するようにしたが、この第２の例では、制御部４０の軌道情報用メモリ４６に記憶されている軌道情報を用いることにより、同期が確立、つまり、４個以上のＧＰＳ衛星信号についての同期保持ができるまでの時間を短縮するようにする。
【０３４７】
図３３は、この同期捕捉・同期保持過程の第２の例における同期捕捉部２０での同期捕捉処理の流れを説明するためのフローチャートである。なお、以下に説明する処理は、ＧＰＳ受信機に電源が投入されてから、同期捕捉部２０で同期捕捉が開始され、同期保持に移行するまでの処理を説明するものである。
【０３４８】
まず、同期捕捉のための初期設定を行う（ステップＳ１２１）。この初期設定においては、同期捕捉のためにサーチするＧＰＳ衛星およびそのサーチの順番を、ＧＰＳ受信機が記憶している有効な軌道情報に基づいて設定する。また、軌道情報から、ドップラーシフトを考慮したキャリア周波数を計算して、サーチするＩＦキャリア周波数の中心と範囲を設定するようにする。
【０３４９】
また、電源投入前の過去の動作で得た大体の基準発振器２の誤差が、ＧＰＳ受信機で判明しているのであれば、ＧＰＳ受信機位置を電源投入時に記憶されている位置、すなわち、前回電源を切る直前の位置と仮定して、軌道情報用メモリ４６の軌道情報から計算したドップラーシフトに合わせて、サーチするＩＦキャリア周波数の中心と範囲を決めるようにすると、さらに同期保持に至るまでに要する時間を短縮できる。
【０３５０】
初期設定が終了したら、サーチの順番に従って、同期捕捉する一つのＧＰＳ衛星を設定する（ステップＳ１２２）。これにより、同期捕捉対象の衛星番号が決まり、また、相関を検出しようとする拡散符号が決まる。
【０３５１】
次に、同期捕捉部２０では、ＲＡＭ２２に、サンプリング回路２１でサンプリングしたＩＦデータの取り込みを開始し、この開始タイミングで、タイマ４５をスタートさせる（ステップＳ１２３）。
【０３５２】
次に、ＤＳＰ２３において、前述したデジタルマッチドフィルタを用いた同期捕捉の例のいずれかを用いて、ステップＳ１２２で設定したＧＰＳ衛星信号の拡散符号について相関検出処理を行う（ステップＳ１２４）。
【０３５３】
そして、ＧＰＳ衛星信号の拡散符号について相関が検出されたか否か、つまり、ＧＰＳ衛星信号の同期捕捉ができたか否か判別し（ステップＳ１２５）、相関が検出できたときには、ＣＰＵ４１に対して割り込み指示を発生させると共に、同期捕捉の検出結果として、ＧＰＳ衛星番号、拡散符号の位相、ＩＦキャリア周波数、信号強度の情報をＣＰＵ４１に渡す（ステップＳ１２８）。
【０３５４】
また、ステップＳ１２５で相関が検出できないと判別したときには、その状態が予め定めた所定時間以上経過したか否か判別し（ステップＳ１２６）、所定時間経過していなければ、ステップＳ１２５に戻って、相関検出を継続する。
【０３５５】
ステップＳ１２６で、所定時間経過したと判別したときには、ステップＳ１２７に進み、サーチすべきＧＰＳ衛星のすべてについての同期捕捉サーチが終了したか否か判別し、未だサーチすべきＧＰＳ衛星が残っているときには、ステップＳ１２２に戻り、同期捕捉する次のＧＰＳ衛星を設定して、ステップＳ１２２以降の同期捕捉処理を繰り返す。
【０３５６】
ステップＳ１２７で、サーチすべきすべてのＧＰＳ衛星についての同期捕捉が終了したと判別したときには、同期捕捉動作を終了して、同期捕捉部２０を待機状態（スタンバイ状態）にする。
【０３５７】
前述もしたように、この実施形態では、ＣＰＵ４１は、同期捕捉部２０への電源供給のオンオフ制御、または、この同期捕捉部２０に対する逓倍／分周回路３からの動作クロックの供給のオンオフ制御を行うことができるように構成されており、上記の同期捕捉部２０のスタンバイ状態では、ＣＰＵ４１により、同期捕捉部２０への電源の供給はオフ、または、動作クロックの供給が停止されて、不要な消費電力が抑えられている。
【０３５８】
以上のようにして、同期捕捉部２０は、ＣＰＵ４１が軌道情報から決めたＧＰＳ衛星を検出していく順番に従って有意な相関をサーチする。そして、同期捕捉部４１が確実な信号強度で最初の衛星を検出できたら、ＣＰＵ４１は、第１の例と同様に、同期保持部３０の１つのチャンネルを割当て、検出された衛星番号と拡散符号の位相、ＩＦキャリア周波数を設定して、同期保持動作を開始する。
【０３５９】
ただし、この第２の例では、同期捕捉部２０では、一つのＧＰＳ衛星信号の同期捕捉が完了したら、スタンバイ状態になり、他のＧＰＳ衛星信号についての同期捕捉は行わない。
【０３６０】
この第２の例においては、ＣＰＵ４１は、電源投入時において、あるいは同期捕捉部２０の動作開始時において、ＧＰＳ受信機位置が、記憶されている位置であると仮定して、ＧＰＳ衛星の軌道情報から、ＧＰＳ受信機が捕捉可能な各ＧＰＳ衛星について、大体の視線距離とドップラーシフト量を計算して推定しておくようにする。
【０３６１】
そして、同期捕捉部２０で１個のＧＰＳ衛星について拡散符号の位相とＩＦキャリア周波数の検出ができたら、ＣＰＵ４１は、当該同期捕捉されたＧＰＳ衛星についての前記推定した視線距離とドップラーシフト量を基準として、その基準に対する、まだ同期捕捉部２０では同期捕捉されていない他の各ＧＰＳ衛星についての視線距離の差およびドップラーシフトの差（ドップラー周波数差）を計算する。視線距離の差は、光速で除算することで拡散符号の位相差に変換しておく。
【０３６２】
そして、上記のようにして計算した前記他の各衛星の拡散符号の位相差およびドップラー周波数差のそれぞれに、同期捕捉部２０が検出した衛星の拡散符号の位相およびＩＦキャリア周波数をそれぞれ加えた値を、前記他の各衛星についての拡散符号の位相およびＩＦキャリア周波数として計算する。
【０３６３】
そして、同期捕捉部２０で捕捉したＧＰＳ衛星について、同期保持部３０のチャンネルを割り当てると共に、前記拡散符号の位相およびＩＦキャリア周波数を計算した前記他の各衛星についても、同期保持部３０のチャンネルを割り当て、同期捕捉した結果および、前記計算した結果を初期値として各チャンネルにおいて同期保持動作を開始する。
【０３６４】
次に、この例の場合の同期保持スタートの処理のフローチャートを、図３４に示す。
【０３６５】
この図３４の同期保持処理スタート前に、ＧＰＳ受信機への電源投入時などにおいて、ＣＰＵ４１は、ＧＰＳ受信機が、現在、記憶されている位置であると仮定して、ＧＰＳ衛星の軌道情報から、ＧＰＳ受信機が捕捉可能な各ＧＰＳ衛星について、大体の視線距離とドップラーシフト量を計算して推定しておく。
【０３６６】
そして、同期保持スタートに当たっては、ＣＰＵ４１は、同期保持部３０のコスタスループ３１およびＤＬＬ３２のＮＣＯ２０８，３２３、ローパスフィルタ２０４，２０５，３０４，３０５，３１４，３１５、ループフィルタ２０７，３２２へ定数の初期設定を行う（ステップＳ１３１）。なお、このとき、コスタスループ３１およびＤＬＬ３２は、いずれも初期状態はループ開とされる。
【０３６７】
次に、ＣＰＵ４１は、同期捕捉部２０からの割り込み指示を監視し（ステップＳ１３２）、割り込み指示を検出したときには、同期捕捉部２０から、ＧＰＳ衛星番号、拡散符号の位相、ＩＦキャリア周波数、信号強度の情報を受け取ると共に、同期保持部３０に対して、受け取ったＧＰＳ衛星番号に対して独立のチャンネルを割り当てるようにする設定する（ステップＳ１３３）。
【０３６８】
そして、ＣＰＵ４１は、同期捕捉部２０から受け取った拡散符号の位相から、同期保持スタートタイミングを計算するとともに、同期保持部３０の、割り当てられたチャンネル内の各部に供給する初期値を、同期捕捉部２０から受け取ったＩＦキャリア周波数に基づいて生成する（ステップＳ１３４）。
【０３６９】
そして、ＣＰＵ４１は、生成した初期値を、コントロールレジスタ３３を通じて同期保持部３０の、ステップＳ１３３で割り当てられたチャンネル内の各部に送ると共に、同期保持部３０の拡散符号発生器３２０からの一致拡散符号Ｐの発生位相を、前記同期保持スタートタイミングとするように制御して、同期保持動作をスタートさせる（ステップＳ１３５）。なお、このとき、コスタスループ３１およびＤＬＬ３２のループは開のままとする。
【０３７０】
次に、ＣＰＵ４１は、当該同期捕捉されたＧＰＳ衛星についての前記推定した視線距離とドップラーシフト量を基準として、その基準に対する、まだ同期捕捉部２０では同期捕捉されていない他の各ＧＰＳ衛星についての視線距離の差およびドップラーシフトの差（ドップラー周波数差）を計算する。視線距離の差は、光速で除算することで拡散符号の位相差に変換しておく（ステップＳ１３６）。
【０３７１】
次に、ＣＰＵ４１は、ステップＳ１３６で計算した前記他の各衛星の拡散符号の位相差およびドップラー周波数差のそれぞれに、同期捕捉部２０が検出した衛星の拡散符号の位相およびＩＦキャリア周波数をそれぞれ加えた値を、前記他の各衛星についての拡散符号の位相およびＩＦキャリア周波数とする計算を行う（ステップＳ１３７）。
【０３７２】
その後、ＣＰＵ４１は、前記他の各衛星について、同期保持部３０のチャンネルを独立に割り当てる（ステップＳ１３８）。そして、ＣＰＵ４１は、ステップＳ１３７で計算した前記他の各衛星についての拡散符号の位相およびＩＦキャリア周波数に基づいて、それぞれの同期保持スタートタイミングを計算するとともに、同期保持部３０の、割り当てられた各チャンネル内の各部に供給する初期値を生成する（ステップＳ１３９）。
【０３７３】
そして、ＣＰＵ４１は、生成した初期値を、コントロールレジスタ３３を通じて同期保持部３０の、ステップＳ１３８で割り当てられたそれぞれのチャンネル内の各部に送ると共に、同期保持部３０の、前記各チャンネルの拡散符号発生器３２０からの一致拡散符号Ｐの発生位相を、前記各チャンネル毎に生成した同期保持スタートタイミングとするように制御して、同期保持動作をスタートさせる（ステップＳ１４０）。なお、このとき、各チャンネルでは、コスタスループ３１およびＤＬＬ３２のループは開のままとする。
【０３７４】
以上のようにしてスタートした各チャンネルの同期保持処理は、前述した図２８のフローチャートと同様にして行われる。
【０３７５】
以上説明した同期捕捉・同期保持過程の第２の例によれば、同期捕捉部２０で同期捕捉が開始されてから、同期保持部３０で４個以上のＧＰＳ衛星信号の同期保持ができる同期確立までの時間を短縮することができる。
【０３７６】
この第２の例において、仮定したＧＰＳ受信機の位置は実際の位置と違うので、拡散符号の位相およびＩＦキャリア周波数とも、実際とずれているが、同期保持部３０の各チャンネルは、初期値を中心にサーチすることで、短時間のうちに相関を検出し、同期を確立できる可能性が高い。
【０３７７】
例えば、ＧＰＳ受信機に記憶されている位置から３ｋｍ離れたところでＧＰＳ受信機の電源をＯＮにした場合、仮に視線距離にして３ｋｍの差が生じたとしても、その視線距離を光速で割った時間は、１０μｓ＝約１０チップ相当のサーチ範囲内で済む。
【０３７８】
そして、この第２の例においては、同期保持部３０の複数チャンネルが、複数の衛星に対して並列に処理を行うので、位置計算に必要な４個以上の衛星との同期を確立して位置を表示するまでの時間をかなり短縮できる。
【０３７９】
なお、図３３のフローチャートの処理においては、同期捕捉部２０は、１個のＧＰＳ衛星信号を同期捕捉して相関検出した時点で処理を終わっているが、１個のＧＰＳ衛星信号を同期捕捉を完了した後も、引き続き次の衛星の同期捕捉による相関検出に移行し、次の衛星を同期捕捉して相関検出したら、同期保持部３０に検出結果を転送し、同期保持部３０は、同期捕捉部２０が検出した衛星の同期がまだ確立していない場合には、１個目のＧＰＳ衛星と同様に、独立の１つのチャンネルを割当て、検出された衛星番号、拡散符号の位相、ＩＦキャリア周波数を設定して同期保持動作を開始するようにしてもよい。
【０３８０】
また、軌道情報からの各衛星の視線距離とドップラーシフト量の計算は、電源投入時のみではなく、ＣＰＵ４１が、同期捕捉部２０が同期捕捉により相関検出するより前の段階で、軌道情報から予め計算しておき、同期捕捉部２０が同期捕捉により相関検出後は、前述と同様に、同期捕捉されたＧＰＳ衛星と各衛星の拡散符号の位相差とドップラーシフト差のみを計算するようにしてもよい。
【０３８１】
なお、この同期捕捉・同期保持過程の第２の例において、同期保持のスタートタイミングの決定方法としては、前述した同期捕捉・同期保持過程の第１の例において説明した第１〜第３の例を用いることができることは言うまでもない。
【０３８２】
〔同期捕捉・同期保持過程の第３の例〕
この同期捕捉・同期保持過程の第３の例は、上述した第２の例におけるＣＰＵ４１が推定した他の衛星との拡散符号の位相差とドップラーシフトの差を、同期捕捉・同期保持過程の第１の例における同期捕捉部２０での２個目以降のＧＰＳ衛星信号の同期捕捉の検出に利用したものである。
【０３８３】
図３５は、この同期捕捉・同期保持過程の第３の例における同期捕捉部２０での同期捕捉処理の流れを説明するためのフローチャートである。
【０３８４】
まず、同期捕捉の処理のスタート前に、ＧＰＳ受信機への電源投入時などにおいて、ＣＰＵ４１は、ＧＰＳ受信機が、現在、記憶されている位置であると仮定して、ＧＰＳ衛星の軌道情報から、ＧＰＳ受信機が捕捉可能な各ＧＰＳ衛星について、大体の視線距離とドップラーシフト量を計算して推定しておく（ステップＳ１５１）。
【０３８５】
次に、ＣＰＵ４１は、同期捕捉のための初期設定を行う（ステップＳ１５２）。この初期設定においては、同期捕捉のためにサーチするＧＰＳ衛星およびそのサーチの順番を、ＧＰＳ受信機が記憶している有効な軌道情報に基づいて設定する。また、１個目のＧＰＳ衛星について、軌道情報から、ドップラーシフトを考慮したＩＦキャリア周波数を計算して、サーチするＩＦキャリア周波数の中心と範囲を設定するようにする。
【０３８６】
初期設定が終了したら、サーチの順番に従って、同期捕捉する一つのＧＰＳ衛星を設定する（ステップＳ１５３）。これにより、同期捕捉対象の衛星番号が決まり、また、相関を検出しようとする拡散符号が決まる。
【０３８７】
次に、同期捕捉部２０のＤＳＰ２３は、ＲＡＭ２２に、サンプリング回路２１でサンプリングしたＩＦデータの取り込み開始を指示し、この開始タイミングで、ＣＰＵ４１に対してタイマをスタートさせるように指示する（ステップＳ１５４）。ここで、このタイマとしては、制御部４０のタイマ４５を用いるようにする。
【０３８８】
次に、ＤＳＰ２３において、前述したデジタルマッチドフィルタを用いた同期捕捉の例のいずれかを用いて、ステップＳ１５３で設定したＧＰＳ衛星信号の拡散符号について相関検出処理を行う（ステップＳ１５５）。
【０３８９】
そして、ＤＳＰ２３は、ＧＰＳ衛星信号の拡散符号について相関が検出されたか否か、つまり、ＧＰＳ衛星信号の同期捕捉ができたか否か判別し（ステップＳ１５６）、相関が検出できたときには、ＣＰＵ４１に対して割り込み指示を発生させると共に、同期捕捉の検出結果として、ＧＰＳ衛星番号、拡散符号の位相、ＩＦキャリア周波数、信号強度の情報をＣＰＵ４１に渡す（ステップＳ１５７）。
【０３９０】
次に、ＣＰＵ４１は、当該同期捕捉されたＧＰＳ衛星についてのステップＳ１５１で推定した視線距離とドップラーシフト量を基準として、その基準に対する、次の順番のＧＰＳ衛星についての視線距離の差およびドップラーシフトの差（ドップラー周波数差）を計算する。視線距離の差は、光速で除算することで拡散符号の位相差に変換する。
【０３９１】
そして、ＣＰＵ４１は、計算した次の順番の衛星の拡散符号の位相差およびドップラー周波数差のそれぞれに、ステップＳ１５６で同期捕捉部２０が検出した衛星の拡散符号の位相およびＩＦキャリア周波数のそれぞれを加えた値を、前記次の順番の衛星についての拡散符号の位相およびＩＦキャリア周波数とする計算し、その計算結果をＤＳＰ２３に渡す（ステップＳ１５８）。
【０３９２】
ＤＳＰ２３は、ＣＰＵ４１からの次の順番の衛星についての拡散符号の位相およびＩＦキャリア周波数を受けて、次の順番の衛星についての同期捕捉における拡散符号の位相検出の範囲およびＩＦキャリア周波数のサーチ範囲を設定するようにする（ステップＳ１５９）。
【０３９３】
すなわち、２個目以降のＧＰＳ衛星信号についての同期捕捉の検出は、ＩＦキャリア周波数検出については、１個前のＧＰＳ衛星信号の同期捕捉で検出したＩＦキャリア周波数に、ＣＰＵ４１から受け取ったドップラーシフトの差を加えた値とその近辺、例えば±２００Ｈｚ以内とし、かつ、拡散符号の位相検出に関しては、１個前のＧＰＳ衛星信号の同期捕捉で検出した拡散符号の位相に、ＣＰＵ４１から受け取った拡散符号の位相差を足した部分の近辺、例えば±５０チップの範囲内とする。これにより、次のＧＰＳ衛星について有意な相関サーチすることができるようにする。
【０３９４】
そして、サーチすべきＧＰＳ衛星のすべてについての同期捕捉サーチが終了したか否か判別し（ステップＳ１６０）、未だサーチすべきＧＰＳ衛星が残っているときには、ステップＳ１５３に戻り、同期捕捉する次のＧＰＳ衛星を設定し、サーチ範囲を前記ステップＳ１５９で設定された範囲で、以上の同期捕捉処理を繰り返す。
【０３９５】
また、ステップＳ１６０で、サーチすべきすべてのＧＰＳ衛星についての同期捕捉が終了したと判別したときには、同期捕捉動作を終了して、同期捕捉部２０を待機状態（スタンバイ状態）にする。
【０３９６】
また、ステップＳ１５６で相関が検出できないと判別したときには、その状態が予め定めた所定時間以上経過したか否か判別し（ステップＳ１６１）、所定時間経過していなければ、ステップＳ１５６に戻って、相関検出を継続する。
【０３９７】
ステップＳ１６１で、所定時間経過したと判別したときには、ステップＳ１６０に進み、サーチすべきＧＰＳ衛星のすべてについての同期捕捉サーチが終了したか否か判別し、未だサーチすべきＧＰＳ衛星が残っているときには、ステップＳ１５３に戻り、同期捕捉する次のＧＰＳ衛星を設定し、以上の同期捕捉処理を繰り返す。このときには、例えば、初期設定で設定したサーチ範囲において、サーチを行うようにする。
【０３９８】
また、ステップＳ１６０で、サーチすべきすべてのＧＰＳ衛星についての同期捕捉が終了したと判別したときには、同期捕捉動作を終了して、同期捕捉部２０を待機状態（スタンバイ状態）にする。
【０３９９】
このスタンバイ状態では、前述したように、ＣＰＵ４１により、同期捕捉部２０への電源の供給はオフ、または、動作クロックの供給が停止されて、不要な消費電力が抑えられている。
【０４００】
以上のようにして、この第３の例においては、２個目以降の同期捕捉処理の際には、ＩＦキャリア周波数と拡散符号の位相のサーチ範囲がかなり限定され、１個目の衛星の検出に要した処理時間より大幅に短縮できる。
【０４０１】
また、１個目の衛星では、符号長１，０２３の位相すべてをサーチしなければならなかったが、２個目以降は、拡散符号の位相の範囲がかなり限定されることで、偽の相関を排除できる確率が高くなり、したがって、２個目以降の衛星は信号レベルが１個目より低くても検出できる可能性が高くなる。
【０４０２】
この第３の例の場合の同期保持部３０に対する制御は、第１の例の場合と同様にして行える。
【０４０３】
また、同期捕捉部２０と同期保持部３０は独立に動作できるので、２個目以降の衛星についての同期捕捉部２０での処理を、この第３の例で行い、また、同期保持部３０についての同期処理を前述した第２の例として、同期捕捉部２０と同期保持部３０の処理を並行して行い、処理を高速化することも可能である。
【０４０４】
なお、この同期捕捉・同期保持過程の第３の例において、同期保持のスタートタイミングの決定方法としては、前述した同期捕捉・同期保持過程の第１の例において説明した第１〜第３の例を用いることができることは言うまでもない。
【０４０５】
［同期保持が外れたときの処理］
同期保持部３０の各チャンネルは、ＧＰＳ衛星からの信号が所定の信号強度で受信できている限り、同期を保持し続けることができるが、ＧＰＳ受信機の受信状態は時々刻々変化する。
【０４０６】
そして、ＧＰＳ衛星からの受信信号の信号強度が弱くなったときには、前述したように、ＩＦキャリアの同期が不完全であるにもかかわらず、ＧＰＳ衛星信号の拡散符号とＧＰＳ受信機の拡散符号との同期は保持されているという状態がしばしば生じる。
【０４０７】
同期保持部３０で同期保持中のＧＰＳ衛星信号に関して、コスタスループ３１において、拡散符号ロック判定部２１１からの拡散符号ロック判定出力と、ＩＦキャリアロック判定部２１３のＩＦキャリアロック判定出力とから、拡散符号の同期ロックは保持されているが、ＩＦキャリアの同期が失われたと判定された場合、ＣＰＵ４１は、当該ＩＦキャリア同期が失われる直前のＮＣＯ２０８の周波数情報（ロック状態におけるＩＦキャリア周波数に対応）を認識して、その認識したＩＦキャリア周波数に、ＮＣＯ２０８の出力信号の周波数を保持すれば、しばらくの間は、ＤＬＬ３２において、拡散符号の同期保持は可能である。
【０４０８】
しかし、ＧＰＳ受信機に対するＧＰＳ衛星の相対運動によるドップラーシフトによって、ＧＰＳ衛星からの受信信号のＩＦキャリア周波数は変化するため、コスタスループ３１によるＩＦキャリアの同期が失われたままでは拡散符号の同期もいずれ失われることになる。
【０４０９】
そこで、この実施形態では、拡散符号の同期が確保されている状態で、ＩＦキャリアの同期が失われたＧＰＳ衛星信号については、ＣＰＵ４１は、スイッチ回路２１２をオフにして、コスタスループ３１のループを開にすると共に、ＩＦキャリア周波数を予測し、ＮＣＯ２０８に、その出力周波数が予測したＩＦキャリア周波数になるような周波数情報を設定する。
【０４１０】
この場合に、ＩＦキャリアは、上述したように順次変化してゆくが、ＣＰＵ４１は、ＩＦキャリア周波数の予測値も順次更新するようにする。これにより、ＩＦキャリアの同期が失われた状態であっても、より長時間に渡る拡散符号の同期保持を可能としている。
【０４１１】
そして、ＩＦキャリアの同期が取れた状態に復帰したときには、ＣＰＵ４１は、スイッチ回路２１２をオンにして、コスタスループ３１のループを閉に状態に戻すようにする。
【０４１２】
ここで、ＩＦキャリア周波数は、次のようにして、ＣＰＵ４１が予測演算する。
【０４１３】
［ＩＦキャリア周波数の予測演算の第１の例］
ＩＦキャリア周波数ｆＩＦは、衛星からの受信信号のキャリア周波数をｆＲＦ、局部発信周波数をｆＬＯとすると
ｆＩＦ＝ｆＲＦ−ｆＬＯ
と表される。
【０４１４】
また、実際の受信信号のキャリア周波数ｆ´ＲＦは、ＧＰＳ受信機に対するＧＰＳ衛星の相対運動によるドップラーシフト分Δｆを含むため、
ｆ´ＲＦ＝ｆ´ＲＦ＋Δｆ
となる。
【０４１５】
また、実際の局部発振回路１５からの局部発信周波数ｆ´ＬＯも誤差δを含むため、
ｆ´ＬＯ＝ｆＬＯ＋δ
となる。
【０４１６】
よって、実際のＩＦキャリア周波数ｆ´ＩＦは、
0003858983.tif 000002
となる。
【０４１７】
上記式（１０）において、キャリア周波数ｆＲＦは、１５７５．４２ＭＨｚと定められており、ｆＬＯは、ＧＰＳ受信機固有のパラメータであるため、いずれも既知である。
【０４１８】
局部発信回路１５からの局部発振周波数の誤差δは、予め調べて既知としておくこともできるが、４個以上のＧＰＳ衛星からの受信信号を利用してＧＰＳ受信機の速度を求める際の４番目の未知数であるため、４個以上のＧＰＳ衛星からの受信信号によりＧＰＳ受信機速度を導出すれば得られる。
【０４１９】
Δｆは、ドップラー効果によるキャリア周波数の変移量であり、真空中の光速をｃ、受信機に対する衛星の視線速度をνとすると、図４１の式（１０）に示すように表される。そして、この図４１の式（１０）において、視線速度νは、図４１の式（１１）に示すように表される。
【０４２０】
図４１の式（１１）において、文字上に矢印が付加されたＸｓおよびＶｓは、それぞれＧＰＳ衛星の位置および速度を表すベクトルであり、また、文字上に矢印が付加されたＸｏおよびＶｏは、それぞれＧＰＳ受信機の位置および速度を表すベクトルである。
【０４２１】
同期保持部３０において、ＩＦキャリアの同期が失われたチャンネル以外のチャンネルにより、４個以上のＧＰＳ衛星からの受信信号の拡散符号およびＩＦキャリアの同期が確立されているのであれば、それら４個以上のＧＰＳ衛星からの受信信号の拡散符号およびＩＦキャリアの同期が確立されてチャンネルの情報を用いることにより、上記のＧＰＳ受信機の位置ベクトルおよび速度ベクトル、ＧＰＳ衛星の位置ベクトルおよび速度ベクトル、また、局部発振回路１５からの局部発振周波数の誤差δは求められ、既知することができる。したがって、図４１の式（１１）により、視線速度νは、直ちに求まる。そして、視線速度νが求まれば、前述した図４１の式（９）〜（１０）により、ＩＦキャリア周波数ｆ´ＩＦを予測値として求めることができる。
【０４２２】
［ＩＦキャリア周波数の予測演算の第２の例］
ＩＦキャリアの同期が失われても、拡散符号の同期が確保されていれば、当該チャンネルのＧＰＳ衛星信号の拡散符号の位相は既知となる。この拡散符号の位相と、軌道情報用メモリ４６に記憶されている軌道情報のうちのエフェメリス情報とを用いることにより、ＧＰＳ衛星の位置ベクトルと、速度ベクトルとは、精度良く求めることができる。
【０４２３】
ＧＰＳ衛星の位置ベクトルは、ＧＰＳ受信機の位置を導出する際にエフェメリスと拡散符号の位相を用いることにより求まる。また、ＧＰＳ衛星の速度ベクトルは、ＧＰＳ受信機の速度を導出する際にエフェメリスと拡散符号の位相を用いることにより求まる。ただし、ＩＦキャリアが不完全な状況では、そのＧＰＳ衛星からの受信信号の同期保持チャンネルの情報は、ＧＰＳ受信機の速度の導出に利用できないので、ＩＦキャリア同期が取れている他の４個以上のＧＰＳ衛星についての同期保持チャンネルの情報を用いるようにする。
【０４２４】
エフェメリス情報は、従来の技術の欄でも説明したように、その基準時刻の前後２時間程度しか精度が保証されていないが、その期間内であれば、高い精度で衛星位置ベクトルと衛星速度ベクトルを求めることが可能となる。
【０４２５】
第２の例は、このように、既知である拡散符号の位相と、エフェメリス情報を用いて、ＧＰＳ衛星の位置ベクトルと、速度ベクトルとを求める。そして、求めたＧＰＳ衛星の位置ベクトルおよび速度ベクトルと、他の必要な既知の情報、すなわち、ＧＰＳ受信機の位置ベクトルおよび速度ベクトル、局部発振回路１５からの局部発振周波数の誤差δとを元にして、前述の図４１（９）〜（１１）にしたがった計算をして、ＩＦキャリア周波数の予測値を求める。
【０４２６】
この第２の例によれば、ＩＦキャリア周波数の予測値の精度向上を期待することができる。
【０４２７】
［ＩＦキャリア周波数の予測演算の第３の例］
ＩＦキャリア同期が失われた同期保持チャンネルにおけるＧＰＳ衛星からの受信信号の拡散符号の位相が未知の場合であっても、その時点における現在時刻を知ることができれば、その現在時刻とエフェメリス情報とを用いることにより、当該ＧＰＳ衛星の位置ベクトルおよび速度ベクトルを概算することが可能になる。
【０４２８】
例えば文献［James Bao-Yen Tsui, “Fundamentals of global positioning system receivers: a software Approach”, John Wiley & Sons, Inc., 2000.］などにも記載されているように、ドップラー効果による周波数変位量Δｆの単位時間当たりの平均変化量は、０．５４Ｈｚ／秒であり、衛星位置ベクトルおよび衛星速度ベクトルを求めるのに利用した時刻が、拡散符号の位相より求めた信号発信時刻に対して、仮に１秒ずれていたとしても、最終的に得られるＩＦキャリアの周波数予測値に対する影響は無視できる。
【０４２９】
現在時刻の情報を得る方法としては、ＧＰＳ受信機の制御部４０に設けられる時計回路４４から得る方法と、ＧＰＳ受信機位置を導出する際に求められる時刻情報から得る方法とがある。
【０４３０】
この第３の例によれば、ＩＦキャリアの同期が不完全な状況において、信号の受信状況の変化などで拡散符号の同期が一時的に失われてしまったとしても、すなわち、拡散符号の位相情報が得られなくなったとしても、ＩＦキャリア周波数を予測することが可能となり、信号の受信状況が回復した際の、拡散符号の同期再捕捉までの時間短縮に寄与する。
【０４３１】
〔同期保持外れ時の処理の第１の例〕
以上のことを考慮した同期保持外れ時の、ＣＰＵ４１の制御処理のフローチャートを図３６に示す。この図３６のフローチャートは、同期保持部３０の１チャンネル分のものである。
【０４３２】
すなわち、まず、ＣＰＵ４１は、同期保持部３０のコスタスループ３１における拡散符号ロック判定部２１１およびＩＦキャリアロック判定部の出力を監視して、同期保持ロックの状態をチェックする（ステップＳ１７１）。
【０４３３】
このステップＳ１７１での同期保持ロック状態のチェックの結果、拡散符号の同期およびＩＦキャリアの同期が、共にロック状態であると判別されたときには、同期保持動作を継続し（ステップＳ１７２）、ステップＳ１７１に戻って、同期保持ロックの監視を続ける。
【０４３４】
ステップＳ１７１で、拡散符号の同期は維持されているが、ＩＦキャリアの同期保持ロックが外れたと判別したときには、ＣＰＵ４１は、コスタスループ３１のスイッチ回路２１２をオフにして、コスタスループ３１をループ開の状態にして、フィードバック制御を停止させる（ステップＳ１７３）。
【０４３５】
そして、ＣＰＵ４１は、前述したＩＦキャリア予測演算の第１の例あるいは第２の例により、ＩＦキャリア周波数の予測値を計算し（ステップ１７４）、求めたＩＦキャリア周波数の予測値にＮＣＯ２０８の出力周波数がなるように、ＮＣＯ２０８を制御する（ステップＳ１７５）。
【０４３６】
次に、ＣＰＵ４１は、ＩＦキャリアロック判定部２１３の出力により、ＩＦキャリア同期が取れる状態になったか否か判別する（ステップＳ１７６）。そして、ＣＰＵ４１は、このステップＳ１７６で、ＩＦキャリア同期が取れる状態になったと判別したときには、スイッチ回路２１２をオンにして、コスタスループ３１のループを閉じ、フィードバック制御を再開する（ステップＳ１７７）。そして、ステップＳ１７１に戻り、同期状態を監視するようにする。
【０４３７】
ステップＳ１７６で、ＩＦキャリア同期が取れる状態には復帰してはいないと判別したときには、ＣＰＵ４１は、拡散符号ロック判定部２１１の出力をチェックして、拡散符号の同期が外れていないかどうか判別する（ステップＳ１７８）。このステップＳ１７８で、拡散符号の同期が外れていないと判別したときには、ステップＳ１７４に戻って、前述した第１の例または第２の例を用いて、ＩＦキャリア周波数の予測値を演算し、求めたＩＦキャリア予測値にＮＣＯ２０８の出力周波数がなるように、ＮＣＯ２０８の制御値を変更する（ステップＳ１７５）。そして、このステップＳ１７５以降の処理ステップを繰り返す。
【０４３８】
また、ＣＰＵ４１は、ステップＳ１７８で拡散符号の同期も外れたと判別したときには、現在時刻と、軌道情報のエフェメリス情報とを用いてＩＦキャリア周波数を予測演算する前述の第３の例を行う（ステップＳ１７９）。そして、この予測したＩＦキャリア周波数と、同期外れを起こしたチャンネルに対応するＧＰＳ衛星番号と、拡散符号の位相の情報とを、同期捕捉サーチの初期値として、同期捕捉部２０に渡して、前述したような同期捕捉処理を再開するように指示する（ステップＳ１８１）。
【０４３９】
ここで、ＣＰＵ４１は、ステップＳ１７９からステップＳ１８１に移行した場合には、ステップＳ１７８で拡散符号の位相が外れたと検出したときのＤＬＬ３２のＮＣＯ３２３の周波数情報から、その拡散符号の同期が外れる直前の拡散符号の位相を検出し、当該同期外れが生じる直前の拡散符号の位相を同期捕捉部２０に、拡散符号についての同期捕捉サーチの初期値として渡すようにする。
【０４４０】
このＣＰＵ４１からの指示により、同期捕捉部２０が同期捕捉処理を行う。すなわち、同期捕捉部２０は、拡散符号の発生位相に基づき、ＲＡＭ２２にＩＦデータを、拡散符号の先頭位相に一致するタイミングで取り込み、同期捕捉処理を前述したようにして行う。そして、同期捕捉により有意な相関が検出されたか否か判別し、検出できたと判別したときには、同期捕捉部２０のＤＳＰ２３は、ＣＰＵ４１に、割り込み指示を渡すと共に、同期捕捉の検出結果である拡散符号の位相、ＩＦキャリア周波数、信号強度、衛星番号を渡す。
【０４４１】
そこで、ＣＰＵ４１は、同期捕捉部２０からの割り込みを監視し（ステップＳ１８２）、割り込みを検知したら、同期捕捉部２０から、衛星番号、拡散符号の位相、ＩＦキャリア周波数および信号強度を受け取って、前述したような同期保持スタート処理を開始する。
【０４４２】
ここで、同期捕捉部２０では、一回のＲＡＭ２２へのデータの取り込みで同期捕捉ができなかったとき、すなわち、同期捕捉による有意な相関結果が得られなかったときには、例えば１秒経過を待って、ＲＡＭ２２に前述と同様に、拡散符号の先頭位相に一致するタイミングで、ＩＦデータを取り込み、同期捕捉動作を行う。そして、同期捕捉による有意な相関が検出されるまで、１秒経過待ち、ＲＡＭ２２へのデータの再取り込みの処理を繰り返す。
【０４４３】
この動作を繰り返すことで、信号強度が回復した時点で、同期捕捉部２０は、ＧＰＳ衛星の拡散符号の位相とＩＦキャリア周波数を検出でき、結果を同期保持部３０に渡して、再び同期保持状態に戻すことができる。
【０４４４】
また、ＣＰＵ４１は、ステップＳ１７１で、拡散符号の同期と、ＩＦキャリアの同期とが、共に失われていると判別したときには、この例の場合には、再同期捕捉が必要であると認識して、同期外れを生じた衛星番号と、同期外れを生じた時の拡散符号発生器３２０からの拡散符号の発生位相、ＩＦキャリア周波数を、同期保持部３０の当該チャンネルからの周波数情報などにより認識し（ステップＳ１８０）、同期捕捉部２０に、それら衛星番号、拡散符号の発生位相（先頭位相）、ＩＦキャリア周波数の情報を渡す（ステップＳ１８１）。
【０４４５】
このステップＳ１８１以降は、前述したステップＳ１８２以降を繰り返し、ＣＰＵ４１は、再同期捕捉を待って、再同期保持動作に移行するようにする。
【０４４６】
〔同期保持外れ時の処理の第２の例〕
移動している場合において、建物でＧＰＳ衛星からの電波が遮られたりすると、ＩＦキャリアだけでなく、拡散符号の同期の保持もできなくなる。しかし、ＧＰＳ衛星からの電波の遮断が極めて短時間の場合であれば、例えば、信号強度が所定のレベル以下になったところで、図２４および図２５のスイッチ回路２１２およびスイッチ回路３２４をオフにして、コスタスループ３１およびＤＬＬ３２のループ制御を停止すれば、拡散符号の位相とＩＦキャリア周波数は、短時間のうちには大きくずれないので、信号強度が回復した時点で、コスタスループ３１およびＤＬＬ３２の制御を再開すれば同期は瞬時に回復し、したがって、同期保持部３０だけの制御で済む。この第２の例は、この点を考慮する。
【０４４７】
また、ＧＰＳ衛星からの電波の遮断時間が長いと、信号強度が回復した時点での拡散符号の位相とＩＦキャリア周波数は大きく変わっているので、同期が保持されていた最後の拡散符号の位相とキャリア周波数に、時間経過の分の補正を加え、補正した拡散符号の位相およびＩＦキャリア周波数の近辺で同期保持動作を開始させるようにする方法が一般的である。
【０４４８】
これ対して、この第２の例では、拡散符号の位相に関しては、同期が保持されていた最後の拡散符号の位相に、時間経過の分の補正を加えたものを同期捕捉の初期値に使用するが、ＩＦキャリア周波数に関しては、前述した、現在時刻とエフェメリスの情報とを用いて予測した予測値を、同期捕捉の初期値に使用するようにする。
【０４４９】
以上を考慮した同期保持外れ時の処理の第２の例のフローチャートを図３７に示す。この図３７のフローチャートも、同期保持部３０の１チャンネル分のものであることは第１の例と同様であり、第１の例と同じ処理内容のステップには、同じステップ番号を示してある。
【０４５０】
この第２の例において、ステップＳ１７１で、拡散符号の同期およびＩＦキャリアの同期が、共にロック状態であると判別されたとき、また、拡散符号の同期は維持されているが、ＩＦキャリアの同期保持ロックが外れたと判別したときの処理は、第１の例と同じであるので、その説明は、省略する。ただし、図３７のフローチャートにおいては、ステップＳ１７８からステップＳ１９５に進む点が図３６の場合とは異なっているが、その処理内容には、違いはない。
【０４５１】
この第２の例において、ステップＳ１７１で、拡散符号の同期およびＩＦキャリアの同期が、共に失われたと判別したときには、ＣＰＵ４１は、スイッチ回路２１２およびスイッチ回路３２４をオフにして、コスタスループ３１およびＤＬＬ３２のループを開にする（ステップＳ１９１）。
【０４５２】
前述したように、同期外れが短時間のものであれば、ループを開にすると相関値ＣＶ（Ｐ）は、有意なレベルにまで立ち上がる。そこで、ＣＰＵ４１は、次のステップＳ１９２において、相関値ＣＶ（Ｐ）が有意なレベルにまで立ち上がったか否か判別する。
【０４５３】
ステップＳ１９２で、相関値ＣＶ（Ｐ）が有意なレベルにまで立ち上がったと判別したときには、ＣＰＵ４１は、スイッチ回路２１２およびスイッチ回路３２４をオンにして、コスタスループ３１およびＤＬＬ３２のループを閉にする（ステップＳ１９３）。そして、拡散符号およびＩＦキャリアが共に同期保持ロック状態になったかどうか判別する（ステップＳ１９４）。ステップＳ１９４で、同期保持ロックが検出されれば、ステップＳ１７２に進み、同期保持状態を継続する。
【０４５４】
ステップＳ１９４で、同期保持ロックを検出できなかったとき、また、ステップＳ１９２で、相関値ＣＶ（Ｐ）が有意なレベルにまで復帰しなかったときには、ＣＰＵ４１は、再捕捉の必要があるとして、現在時刻と、軌道情報のエフェメリス情報とを用いてＩＦキャリア周波数を予測演算する前述の第３の例を行う（ステップＳ１９５）。
【０４５５】
そして、この予測したＩＦキャリア周波数と、同期外れを起こしたチャンネルに対応するＧＰＳ衛星番号と、拡散符号の位相の情報とを、同期捕捉サーチの初期値として、同期捕捉部２０に渡して、前述したような同期捕捉処理を再開するように指示する（ステップＳ１９６）。
【０４５６】
このＣＰＵ４１からの指示により、同期捕捉部２０が同期捕捉処理を行う。すなわち、同期捕捉部２０は、渡された拡散符号の位相に基づき、ＲＡＭ２２にＩＦデータを、拡散符号の先頭位相に一致するタイミングで取り込み、同期捕捉処理を前述したようにして行う。そして、同期捕捉により有意な相関が検出されたか否か判別し、検出できたと判別したときには、同期捕捉部２０のＤＳＰ２３は、ＣＰＵ４１に、割り込み指示を渡すと共に、同期捕捉の検出結果である拡散符号の位相、ＩＦキャリア周波数、信号強度、衛星番号を渡す。
【０４５７】
そこで、ＣＰＵ４１は、同期捕捉部２０からの割り込みを監視し（ステップＳ１９７）、割り込みを検知したら、同期捕捉部２０から、衛星番号、拡散符号の位相、ＩＦキャリア周波数および信号強度を受け取って、前述したような同期保持スタート処理を開始する。
【０４５８】
なお、同期捕捉部２０では、一回のＲＡＭ２２へのデータの取り込みでは、同期捕捉ができなかったときには、同期捕捉による有意な相関結果が得られなかったときには、例えば１秒経過を待って、ＲＡＭ２２に前述と同様に、拡散符号の先頭位相に一致するタイミングで、ＩＦデータを取り込み、同期捕捉動作を行う。そして、同期捕捉による有意な相関が検出されるまで、１秒経過待ち、ＲＡＭ２２へのデータの再取り込みの処理を繰り返す。
【０４５９】
この動作を繰り返すことで、信号強度が回復した時点で、同期捕捉部２０は、ＧＰＳ衛星の拡散符号の位相とＩＦキャリア周波数を検出でき、結果を同期保持部３０に渡して、再び同期保持状態に戻すことができる。
【０４６０】
このようにすることで、再捕捉したい拡散符号の位相は、ＲＡＭ２２が記憶するＩＦデータにおいては、ほぼＲＡＭ２２にＩＦデータを取り込んだ時点の辺り、図４で言えば、ピークの位置が横軸の左端または右端付近に存在することになる。
【０４６１】
そして、再捕捉する衛星のＩＦキャリア周波数が上述のように設定される結果、同期捕捉部２０は、その衛星について、ＩＦキャリア周波数の近辺、例えば±５１Ｈｚ、だけの相関検出処理を行うようにすることができる。その際、拡散符号の位相は、狭い範囲、例えば、±１０チップの範囲内だけサーチすることで同期捕捉を取ることが可能になる。
【０４６２】
この方法により、信号強度が回復していれば、同期捕捉部２０は、衛星の拡散符号の位相とＩＦキャリアの周波数を極めて短時間で検出できる。拡散符号の位相の範囲がかなり限定されることで、偽の相関を排除できる確率が高くなり、したがって、信号レベルが低くても検出できる可能性が高い。
【０４６３】
以上のようにして、この実施形態における同期保持外れ時処理によれば、拡散符号の同期が保持されている状態において、ＩＦキャリアの同期が外れたときには、コスタスループ３１を開にして、ＧＰＳ衛星信号に追従させるフィードバックループは切断し、その代わりに、ＣＰＵ４１で、あたかもＧＰＳ衛星信号に追従させるようにするためのＩＦキャリア周波数を予測値を演算して、その演算した予測値によりコスタスループ３１のＮＣＯ２０８の周波数を制御するようにしたことにより、ＩＦキャリアの同期が失われた状態であっても、より長時間に渡る拡散符号の同期保持を確保することができる。
【０４６４】
［その他の実施形態］
以上の実施形態の説明では、同期捕捉部２０からの検出結果は、ＣＰＵ４１を介して同期保持部３０に渡すようにしたが、前述したように、同期捕捉部２０から、同期保持部３０に直接的に渡すように構成することができるものである。
【０４６５】
また、上述の例では、同期捕捉部２０には、デジタルマッチドフィルタを用いた例としたが、この発明では、粗い精度の同期捕捉を同期捕捉部が行い、その結果を同期保持部に渡して、同期確立までを高速化することが目的であるので、同期捕捉部２０は、デジタルマッチドフィルタを用いた例に限られるものではない。
【０４６６】
また、デジタルマッチドフィルタには、上述の例のようなＦＦＴを用いた例のみではなく、前述したように、トランスバーサルフィルタを用いた構成とすることができるものである。
【０４６７】
また、以上の実施形態では、同期捕捉と、同期保持とを機能的に分離した場合であるが、この発明は、そのような場合に限られるものではなく、ＩＦキャリアの同期が外れたことを検出することができる場合のすべてに適用可能である。例えば、同期捕捉と同期保持を一体的に行う従来のスライディング相関、コスタスループ＋ＤＬＬによる同期捕捉・同期保持方式の場合においても、適用可能である。
【０４６８】
【発明の効果】
以上説明したように、この発明によれば、ＧＰＳ衛星からの受信信号が弱まり、ＩＦキャリアの同期保持が困難な状況においても、拡散符号の同期保持を継続することが可能になる。その結果、当該衛星からの受信信号を、ＧＰＳ受信機の位置の導出に利用することが可能となり、ＧＰＳ受信機の利用可能領域の拡大に寄与する。
【０４６９】
また、ＧＰＳ衛星からの受信信号が弱まり、ＩＦキャリアの同期保持が困難な状況においても、ＩＦキャリア周波数を予測できるため、信号が再び強くなった場合に、ＩＦキャリアの同期捕捉までの時間が短縮される。
【図面の簡単な説明】
【図１】この発明によるＧＰＳ受信機の構成例を示すブロック図である。
【図２】図１の一部である同期捕捉部の構成例を示すブロック図である。
【図３】図２の同期捕捉部の一部を構成するＤＳＰの内部構成例を示すブロック図である。
【図４】デジタルマッチドフィルタを用いた拡散符号の相関結果の例を示す図である。
【図５】受信信号のキャリアと拡散符号との同期を取る方法の一般的な例を説明するための図である。
【図６】この発明の実施の形態において、同期捕捉方法の第１の例を説明するための図である。
【図７】同期捕捉方法の第１の例の動作を考慮した要部の構成を示す図である。
【図８】同期捕捉方法の第２の例を説明するための図である。
【図９】同期捕捉方法の第２の例の動作を説明するためのフローチャートの一部を示す図である。
【図１０】同期捕捉方法の第２の例の動作を説明するためのフローチャートの一部を示す図である。
【図１１】同期捕捉方法の第２の例の動作を考慮した要部の構成を示す図である。
【図１２】同期捕捉方法の第３の例を説明するための図である。
【図１３】同期捕捉方法の第３の例を説明するための図である。
【図１４】同期捕捉方法の第３の例の動作を考慮した要部の構成を示す図である。
【図１５】同期捕捉方法の第４の例を説明するための図である。
【図１６】同期捕捉方法の第４の例を説明するための図である。
【図１７】同期捕捉方法の第４の例を説明するための図である。
【図１８】同期捕捉方法の第４の例を説明するための図である。
【図１９】同期捕捉方法の第４の例を説明するための図である。
【図２０】同期捕捉方法の第４の例を説明するための図である。
【図２１】同期捕捉方法の第４の例の動作を説明するためのフローチャートの一部を示す図である。
【図２２】同期捕捉方法の第４の例の動作を説明するためのフローチャートの一部を示す図である。
【図２３】図１の一部である同期保持部の構成例を示すブロック図である。
【図２４】図２３の同期保持部の一部を構成するコスタスループの構成例を示すブロック図である。
【図２５】図２３の同期保持部の一部を構成するＤＬＬの構成例を示すブロック図である。
【図２６】同期捕捉処理の一例の流れを説明するためのフローチャートである。
【図２７】同期保持スタート処理の流れを説明するためのフローチャートである。
【図２８】チャンネル毎同期保持処理の流れを説明するためのフローチャートである。
【図２９】実施形態における同期保持のスタートタイミングの決定方法の第１の例を説明するための図である。
【図３０】実施形態における同期保持のスタートタイミングの決定方法の第３の例を説明するための図である。
【図３１】実施形態における同期保持スタート処理の例を説明するためのフローチャートである。
【図３２】実施形態におけるチャンネル毎同期保持処理の例を説明するためのフローチャートである。
【図３３】同期捕捉処理の例を説明するためのフローチャートである。
【図３４】実施形態における同期保持スタート処理の例を説明するためのフローチャートである。
【図３５】同期捕捉処理の例を説明するためのフローチャートである。
【図３６】同期外れ時処理の一例を説明するためのフローチャートを示す図である。
【図３７】同期外れ時処理の他の一例を説明するためのフローチャートを示す図である。
【図３８】ＧＰＳ衛星からの信号の構成を示す図である。
【図３９】従来のキャリアおよび拡散符号の同期処理を説明するための図である。
【図４０】この発明の実施の形態の説明に用いる図である。
【図４１】この発明の実施の形態の説明に用いる図である。
【符号の説明】
１０…周波数変換部、２０…同期捕捉部、２１…サンプリング回路、２２…ＲＡＭ、２３…ＤＳＰ、２４…ＤＳＰ用メモリ、３０…同期捕捉部、３１…コスタスループ、３２…ＤＬＬ、３３…コントロールレジスタ、４０…制御部、４１…ＣＰＵ、４４…時計回路、４５…タイマ、４６…軌道情報用メモリ、２０８、３２３…ＮＣＯ、３２０…拡散符号発生器、２１２、３２４…スイッチ回路、２１１…拡散符号ロック判定部、２１３…ＩＦキャリアロック判定部
【図１】
0003858983.tif 000003
【図２】
0003858983.tif 000004
【図３】
0003858983.tif 000005
【図４】
0003858983.tif 000006
【図５】
0003858983.tif 000007
【図６】
0003858983.tif 000008
【図７】
0003858983.tif 000009
【図８】
0003858983.tif 000010
【図９】
0003858983.tif 000011
【図１０】
0003858983.tif 000012
【図１１】
0003858983.tif 000013
【図１２】
0003858983.tif 000014
【図１３】
0003858983.tif 000015
【図１４】
0003858983.tif 000016
【図１５】
0003858983.tif 000017
【図１６】
0003858983.tif 000018
【図１７】
0003858983.tif 000019
【図１８】
0003858983.tif 000020
【図１９】
0003858983.tif 000021
【図２０】
0003858983.tif 000022
【図２１】
0003858983.tif 000023
【図２２】
0003858983.tif 000024
【図２３】
0003858983.tif 000025
【図２４】
0003858983.tif 000026
【図２５】
0003858983.tif 000027
【図２６】
0003858983.tif 000028
【図２７】
0003858983.tif 000029
【図２８】
0003858983.tif 000030
【図２９】
0003858983.tif 000031
【図３０】
0003858983.tif 000032
【図３１】
0003858983.tif 000033
【図３２】
0003858983.tif 000034
【図３３】
0003858983.tif 000035
【図３４】
0003858983.tif 000036
【図３５】
0003858983.tif 000037
【図３６】
0003858983.tif 000038
【図３７】
0003858983.tif 000039
【図３８】
0003858983.tif 000040
【図３９】
0003858983.tif 000041
【図４０】
0003858983.tif 000042
【図４１】
0003858983.tif 000043