(57)【特許請求の範囲】
【請求項１】
衛星からの微弱なＧＰＳ／ＧＮＳＳ信号を使用してＧＰＳ／ＧＮＳＳ受信機にサブマイクロ秒の時刻転送をする方法であって、
前記ＧＰＳ／ＧＮＳＳ信号のデジタル化された複素ベースバンド信号を受信するステップであって、前記ベースバンド信号は、コード周期を有する受信ＰＮコードおよびデータビットを有する航法メッセージを搬送する、ステップと、
前記衛星の生成ＰＮコードを発生させるステップであって、前記生成ＰＮコードは前記受信ＰＮコードに時間整合させられる、ステップと、
前記生成ＰＮコードのコード・エポックを示すタイミング信号を発生させるステップであって、各コード・エポックは、前記生成ＰＮコードの各コード周期の始まりを示し、モジュロー２０数によってタグ付けされている、ステップと、
前記ベースバンド信号および前記生成ＰＮコードを、前記タイミング信号に従って各コード周期について相互相関させることにより、各コード・エポックにおいて複素相関値を出力するステップであって、前記複素相関値の列が前記航法メッセージを表す航法データストリームを形成する、ステップと、
前記航法データストリームのデータビット境界を探知し、前記データビット境界において、番号付けしたビット同期パルスを発生させるステップであって、
（ａ１）前記航法データストリームを受け取り、対応するコード・エポックのタイミングに従い、前記複素相関値を２０段複素シフトレジスタに格納するステップであって、前記シフトレジスタは最新２０個の複素相関値からなる複素相関値列を保持する、ステップと、
（ｂ１）各エポックにおいて、前記シフトレジスタに保持された前記２０個の複素相関値を合計し、前記２０個の複素相関値の合計の大きさの値を計算するステップと、
（ｃ１）最新の複素相関値が前記シフトレジスタに格納されるときの前記コード・エポックに付された前記モジュロー２０数に対応する、２０個の積算器のうちの１つの積算器に、前記大きさの値を蓄積するステップと、
（ｄ１）前記２０個の積算器の各々に、前記大きさの値が格納されるまで、ステップ（ａ１）からステップ（ｃ１）を反復するステップと、
（ｅ１）前記２０個の積算器の各々が所定数個の前記大きさの値を積算するように、ステップ（ｄ１）を複数回繰り返すステップと、
（ｆ１）前記２０個の積算器のうち、前記大きさの値の積算値の最も大きな値を含む１つの積算器と、前記積算値の最も大きな値を含む前記１つの積算器に関連した特定のモジュロー２０数とを決定するステップと、
（ｇ１）前記特定のモジュロー２０数を有するコード・エポックを前記データストリームのデータビット境界として特定するステップと、
（ｈ１）前記特定のモジュロー２０数によってタグ付けされたコード・エポックのタイミングによって前記ビット同期パルスを出力するステップであって、各ビット同期パルスはモジュローＭ数によってタグ付けされているステップと、
を含むステップと、
前記航法データストリームにおける航法メッセージ内の目標セグメントを検出し、前記目標セグメントの前記航法データストリームにおけるデータビット位置を決定するステップであって、前記目標セグメントは、前記航法メッセージにおける既知のデータビット位置に既知のｋビット列を有しており、
（ａ２）前記航法データストリームを受け取り、前記ビット同期パルスに従ってデータビット周期について前記複素相関値を加算して、各データビットごとに複素ビット値を得るステップと、
（ｂ２）前記複素ビット値を、対応するビット同期パルスのタイミングによってｋ段複素シフトレジスタに格納し、前記ｋ段シフトレジスタに最新のｋ複素ビット値の列を保持させる、ステップと、
（ｃ２）前記最新のｋ複素ビット値の列の重み付け合計を得るステップであって、各複素ビット値は、ｋ個の重みからなる重み列の対応する１つの重みによって重み付けされ、前記重み列は前記目標セグメントの前記既知のｋビット列に対応する、ステップと、
（ｄ２）前記重み付け合計の大きさと、前記ｋ個の複素ビット値のうちの最新の複素ビット値が前記ｋ段シフトレジスタに格納されるときの対応するビット同期パルスと、前記対応するビット同期パルスに関連付けられた特定のモジュローＭ数とに基づいて、前記目標セグメントの前記データビット位置を決定するステップと、
を含む、ステップと、
決定された前記データビット位置に基づいて、前記目標セグメントの前記衛星からの送信時刻を決定するステップであって、前記送信時刻は所定の時間的不明確さを有している、ステップと、
前記送信時刻の前記所定の時間的不明確さを、外部情報源から得た近似的な時刻を使用して解決するステップと、
伝播遅延を補正してサブマイクロ秒の時刻転送をするステップと、
を含む、方法。
【請求項２】
前記目標セグメントは、前記既知のｋビット列を前記航法メッセージの各サブフレームにおける既知のデータビット位置に有しており、前記Ｍは３００であり、各ビット同期パルスはモジュロー３００数によってタグ付けされており、前記データビット位置を決定するステップ（ｄ２）は、
（ｅ２）前記重み付け合計の大きさの値を計算し、前記最新の複素ビット値が前記ｋ段複素シフトレジスタに格納されるときの前記対応するビット同期パルスの前記モジュロー３００数に対応する、複数の積算器のうちの１つに前記大きさの値を格納するステップと、
（ｆ２）前記重み付け合計の大きさの値が所定数の積算器に格納されるまで、ステップ（ａ２）からステップ（ｄ２）を反復するステップと、
（ｇ２）前記所定数の積算器の各々に、前記重み付け合計の大きさの値が所定数個積算されるまで、ステップ（ｆ２）を複数回繰り返すステップと、
（ｈ２）前記所定数の積算器のうちで前記重み付け大きさの値の積算値の最大のものを含む１つの積算器と、その１つの積算器に関連した特定のモジュロー３００数とを決定するステップと、
（ｉ２）前記１つの積算器に関連した前記特定のモジュロー３００数に基づいてサブフレーム内の前記目標セグメントのデータビット位置を特定するステップと、
を含む、請求項１に記載の方法。
【請求項３】
前記目標セグメントは、前記既知のｋビット列を前記航法メッセージの各フレームにおける既知のデータビット位置に有しており、前記Ｍは１５００であり、各ビット同期パルスはモジュロー１５００数によってタグ付けされており、前記データビット位置を決定するステップ（ｄ２）は、
（ｅ２）前記重み付け合計の大きさが所定の閾値を超えるかどうかを決定するステップと、
（ｆ２）前記重み付け合計の大きさが前記所定の閾値を超えない場合は、ステップ（ａ２）からステップ（ｄ２）を繰り返すステップと、
（ｇ２）前記重み付け合計の大きさが前記所定の閾値を超える場合は、最新のビット値が前記ｋ段シフトレジスタに格納されるときの、前記ビット同期パルスの特定の前記モジュロー１５００数に基づいて前記目標セグメントのデータビット位置を特定するステップと、
を含む、請求項２に記載の方法。
【請求項４】
前記重み付け合計を得るステップ（ｃ２）は、
前記重み付けされた複素ビット値にｋポイント高速フーリエ変換（ＦＦＴ）行い、ｋ個のＦＦＴ出力を発生させるステップと、
前記ｋ個のＦＦＴ出力の各々の大きさを計算するステップと、
前記大きさの最大値を前記重み付け合計の大きさの値として得るステップと、
を含む、請求項１又は３に記載の方法。
【請求項５】
前記大きさの最大値を有する前記ｋポイントＦＦＴ出力に関連させられた周波数に基づいて周波数誤差信号を発生させるステップをさらに含む、請求項４に記載の方法。
【請求項６】
前記所定の時間的不明確さは６（±３）秒の不明確さである、請求項１あるいはは請求項２に記載の方法。
【請求項７】
前記目標セグメントは、前記航法メッセージのサブフレームのプリアンブルであり、ｋの数は８であるか、あるいは前記航法メッセージの週の時刻（ＴＯＷ）であり、ｋの数は１７である、請求項１あるいは請求項２に記載の方法。
【請求項８】
前記目標セグメントがフレーム毎に一度生起し、前記所定の時間的不明確さが３０（±１５）秒の不明確さである、請求項１あるいは請求項３に記載の方法。
【請求項９】
前記目標セグメントが航法メッセージ毎に一度生起し、前記所定の時間的不明確さが１２．５（±６．２５）分の不明確さである、請求項１あるいは請求項３に記載の方法。
【請求項１０】
前記目標セグメントが航法メッセージのエフェメリスデ−タ・セグメントであり、ｋの数が１２８またはそれ以上である、請求項１あるいは請求項３に記載の方法。
【請求項１１】
前記相互相関させるステップの前に、周波数ロック・ループ（ＦＬＬ）を使用して前記ベースバンド信号をドップラ補償するステップをさらに含む、請求項１から請求項３のいずれかに記載の方法。
【請求項１２】
遅延ロック・ループ（ＤＬＬ）を使用することにより、前記受信ＰＮコードおよび前記生成ＰＮコードを相関させることにより、前記生成ＰＮコードを時間整合させるステップをさらに含む、請求項１から請求項３のいずれかに記載の方法。
【請求項１３】
前記ＧＰＳ／ＧＮＳＳ信号のレベルが約−１５１ｄＢｍを下回る請求項１から請求項３のいずれかに記載の方法。
【請求項１４】
衛星からの微弱なＧＰＳ／ＧＮＳＳ信号を使用するサブマイクロ秒の時刻転送回路を有するＧＰＳ／ＧＮＳＳ受信機であって、前記ＧＰＳ／ＧＮＳＳ信号はコード周期を有する受信ＰＮコードおよびデータビットを有する航法メッセージを搬送しており、各データビットは２０コード周期に対応しており、前記ＧＰＳ／ＧＮＳＳ受信機は、
前記衛星の生成ＰＮコードを発生するＰＮコード発生器であって、前記生成ＰＮコードのコード・エポックを示すタイミング信号を出力し、前記各コード・エポックは、前記生成ＰＮコードの各コード周期の始まりを示し、モジュロー２０数によってタグ付けされている、ＰＮコード発生器と、
前記タイミング信号に従って、前記生成ＰＮコードおよび前記ＧＰＳ／ＧＮＳＳ信号のデジタル化された複素ベースバンド信号を、各コード周期について相互相関させることにより各コード・エポックにおいて複素相関値を出力し、前記複素相関値の列が前記航法メッセージを表す航法データストリームを形成する、相互相関器と、
前記相互相関器に連結され、前記航法データストリームのデータビット境界を探知し、前記データビット境界においてビット同期パルスを発生するビット・シンクロナイザであって、
前記タイミング信号に従い、前記複素相関値を、対応するコード・エポックのタイミングにおいて格納し、最新２０個の複素相関値からなる複素相関値列を保持する、２０段シフトレジスタと、
各コード・エポックにおいて、前記２０段シフトレジスタに保持された前記２０個の複素相関値を合計する加算器と、
前記２０個の複素相関値の合計の大きさの値を計算する大きさ計算器と、
前記最新の複素相関値が前記２０段シフトレジスタに格納されるときの前記コード・エポックに付された前記モジュロー２０数に関連させて、前記大きさの値を格納及び蓄積する２０個の積算器と、
前記２０個の積算器のうちで、前記大きさの値の積算値の最大のものを含む１つの積算器及びその１つの積算器に関連付けれられた特定のモジュロー２０数を決定し、前記特定のモジュロー２０数をタグ付けされたコード・エポックを前記航法データストリームのデータビット境界として特定するコントローラと、
前記特定のモジュロー２０数をタグ付けされたコード・エポックにおいて前記ビット同期パルスを出力し、各ビット同期パルスはモジュローＭ数によってタグ付けされている、ビット同期パルス発生器と、
を備えたビット・シンクロナイザと、
前記ビット・シンクロナイザおよび前記相互相関器に連結され、前記航法データストリームにおける前記航法メッセージ内の目標セグメントを検出し、前記目標セグメントの前記航法データストリームにおけるデータビット位置を決定する目標セグメント探知器であって、前記目標セグメントは前記航法メッセージの既知のデータビット位置に既知のｋビット列を有しており、
前記ビット同期パルスに従って前記複素相関値を１データビット周期について積算することにより各データビットの複素ビット値を得る１ビット積算器と、
対応するビット同期パルスのタイミングで前記複素ビット値を格納し、最新のｋ複素ビット値からなる複素ビット値列を保持する、ｋ段複素シフトレジスタと、
前記最新のｋ複素ビット値の重み付け合計を得る加重マルチプレクサであって、前記ｋ複素ビット値の各々は、ｋ個の重みからなる重み列の対応する１つの重みによって重み付けされ、前記重み列は前記目標セグメントの前記既知のｋビット列に対応する、加重マルチプレクサと、
前記重み付け合計の大きさと、前記ｋ個の複素ビット値のうちの最新の複素ビット値が前記ｋ段シフトレジスタに格納されるときの対応するビット同期パルスと、前記対応するビット同期パルスに関連付けられた特定のモジュロー２０数とに基づいて、前記目標セグメントの前記データビット位置を特定する、コントローラと、
を備える、目標セグメント探知器と、
前記目標セグメントの決定されたデータビット位置および前記航法メッセージのある特定のデータビットの既知の送信時刻に基づいて、前記目標セグメントの送信時刻を所定の時間的不明確さをもって決定する送信時刻決定器と、
を備えており、
前記送信時刻の前記所定の時間的不明確さを外部情報源から得た近似的な時刻を使用して解決し、伝播遅延を補正してサブマイクロ秒の時刻転送をする、ＧＰＳ／ＧＮＳＳ受信機。
【請求項１５】
前記目標セグメントは、前記既知のｋビット列を前記航法メッセージの各フレームにおける既知のデータビット位置に有しており、前記Ｍは１５００であり、各ビット同期パルスはモジュロー１５００数によってタグ付けされており、
前記目標セグメント探知器は、前記重み付け合計の大きさが所定の閾値を超えるかどうかを決定する比較器を更に備え、
前記コントローラは、前記重み付け合計の大きさが前記所定の閾値を超える場合は、最新のビット値が前記ｋ段シフトレジスタに格納されるときの前記ビット同期パルスの前記特定のモジュロー１５００数に基づいて前記目標セグメントの前記データビット位置を特定する、
請求項１４に記載のＧＰＳ／ＧＮＳＳ受信機。
【請求項１６】
前記目標セグメントは、前記既知のｋビット列を前記航法メッセージの各サブフレームにおける既知のデータビット位置に有しており、前記Ｍは３００であり、各ビット同期パルスはモジュロー３００数によってタグ付けされており、
前記目標セグメント探知器は、
前記加重マルチプレクサに連結され、前記重み付け合計の大きさの値を計算する大きさ計算器と、
前記最新の複素ビット値が前記ｋ段複素シフトレジスタに格納されるときの前記対応するビット同期パルスの前記モジュロー３００数に関連付けて、前記大きさの値を格納及び積算する一連の積算器と、
を更に備え、
前記コントローラは、前記一連の積算器のうちで前記重み付け大きさの値の積算値の最大のものを含む１つの積算器と、その１つの積算器に関連した特定のモジュロー３００数とを決定し、前記１つの積算器に関連した前記特定のモジュロー３００数に基づいて前記サブフレーム内の前記目標セグメントのデータビット位置を特定する、
請求項１４に記載のＧＰＳ／ＧＮＳＳ受信機。
【請求項１７】
前記一連の積算器が３００個の積算器を備える、請求項１６に記載のＧＰＳ／ＧＮＳＳ受信機。
【請求項１８】
前記生成ＰＮコードを前記受信ＰＮコードに時間整合させる、遅延ロック・ループ（ＤＬＬ）をさらに含む、請求項１４から請求項１６のいずれかに記載のＧＰＳ／ＧＮＳＳ受信機。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＧＰＳ/ＧＮＳＳ受信機に関する。より詳細には、本発明は微弱なＧＰＳ/ＧＮＳＳ信号を使用するＧＰＳ/ＧＮＳＳ受信機の時刻転送に関する。
【背景技術】
【０００２】
サブマイクロ秒のレベルで時刻転送（時刻合わせ）するためのＧＰＳ/ＧＮＳＳ信号の使用は、すでに確立された技術分野である。しかし、従来のほとんどの方法は、受信したＧＰＳ/ＧＮＳＳ信号のタイミング情報をＧＰＳ/ＧＮＳＳ受信機が正確に復調できる能力に頼っている。これは、復調ビットの誤差率が許容範囲内になるよう小さく（例えば、１０−５より小さく）保てるように、信号が十分に強くなければならないことを意味しており、受信した信号電力がおよそ−１４８ｄＢｍを上回る場合のみ保証される。従って、屋内またはビルの谷間で受信されるような、激しい減衰を受けて極めて微弱なＧＰＳ/ＧＮＳＳ信号を使用してサブマイクロ秒の時刻転送を確立することは困難である。
【発明の概要】
【０００３】
本発明の実施形態は、衛星からの微弱なＧＰＳ/ＧＮＳＳ信号を使用してＧＰＳ/ＧＮＳＳ受信機にサブマイクロ秒の時刻転送をする方法を提供する。ＧＰＳ/ＧＮＳＳ信号のデジタル化された複素ベースバンド信号がＰＮコード（「受信ＰＮコード」と参照する）および航法メッセージを搬送する。ＧＰＳ/ＧＮＳＳ受信機は、衛星のＰＮコードを生成する（「生成ＰＮコード」と参照する）。生成ＰＮコードは、受信ＰＮコードに時間整合（時刻一致）させられる。生成ＰＮコードのコード・エポックを表すタイミング信号が発生され、各コード・エポックは生成ＰＮコードの各周期（「コード周期」と参照する）の始まりを示す。ベースバンド信号が受信され、タイミング信号に従って、各コード周期についてベースバンド信号と生成ＰＮコードとの相互相関が計算され（cross-correlated）、各コード・エポックにおいて複素相関値が出力される。この複素相関値の列が航法メッセージを表すデータストリームを形成する。データストリームのビット境界が探知され、番号付けしたビット同期パルスがビット境界で発生される。目標（ターゲット）セグメントのビット位置が航法メッセージの中に検出されるが、この目標セグメントは、航法メッセージの各サブフレームにおける既知のビット位置に既知のｋビット列を有する。目標セグメントの位置は、複数のサブフレームを検索して、複数のサブフレームの検索結果を積算することにより検出される。目標セグメントの送信時刻は、検出されたビット位置に基づいて所定の時間的不明確性（多義性）をもって決定される。
【０００４】
ＧＰＳ/ＧＮＳＳ受信機における正確な(サブマイクロ秒)局所（現地）時刻は、外部情報源から得た近似的な時刻を使用して送信時刻の所定の時間的不明確さを解決すること、および伝播遅延を補正することにより決定してもよい。
【０００５】
デジタル化された複素ベースバンド信号は、相互相関前に周波数ロック・ループ(ＦＬＬ)を使用してドップラ補償がなされる。遅延ロックループ(ＤＬＬ)を使用して、受信ＰＮコードおよび生成ＰＮコードを相関させる（相関計算をする）ことにより生成ＰＮコードを受信ＰＮコードに整合（一致）させる。
【０００６】
本発明の一態様において、目標セグメントの検出は、（ａ）１ビット周期について複素相関値を積算し、対応する複素ビット値を得るステップと、（ｂ）対応するビット同期パルスにおいて複素ビット値をｋ段複素シフトレジスタに格納するステップであり、シフトレジスタは最新のｋ複素ビット値の列を保持する、ステップと、（ｃ）最新のｋ複素ビット値の列の重み付け合計（加重和）を得て、その重み付け合計の大きさを得るステップであって、各複素ビット値は一連の重み列の対応する１つの重みによって重み付けされ、一連の重み列は目標セグメントの既知のビット列に対応している、ステップと、（ｄ）重み付け合計の大きさを積算器に蓄積するステップであって、その積算器は、最新の複素ビット値がシフトレジスタに格納されるときの対応するビット同期パルスに関連付けられている、ステップと、（ｅ）所定の数の積算器に重み付け合計の大きさが格納されるまで、ステップ（ａ）からステップ（ｄ）を反復するステップと、（ｆ）所定の数の積算器の各々が重み付け合計の大きさを積算するように、ステップ（ｅ）を複数回繰り返すステップと、（ｇ）積算器のうちで、重み付け合計の大きさの最大積算値を有する１つの積算器と、その積算器に関連した特定のビット同期パルスとを決定するステップと、（ｈ）特定のビット同期パルスに基づいてサブフレーム内の目標セグメントのビット位置を特定するステップと、を含む。ビット位置は目標セグメントの最初のビット位置でもよい。
【０００７】
重み付け合計の大きさを得るステップ（ｃ）は、（ｃ１）重み付けされた複素ビット値にｋポイント高速フーリエ変換（ＦＦＴ）を行い、ｋ個のＦＦＴ出力を生成するステップと、（ｃ２）ｋ個のＦＦＴ出力の各々の大きさを計算するステップと、（ｃ３）大きさの最大値を重み付け合計の大きさとして得るステップと、を含む。
【０００８】
目標セグメントは、航法メッセージにあるサブフレームのプリアンブルでもよく、ここでｋの数は８である。あるいは、目標セグメントは航法メッセージにおける週の時刻(ＴＯＷ)でもよく、ここでｋの数は１７である。
【０００９】
一定の時間的不明確さは、６（±３）秒の不明確さでもよい。所定の数の積算器は３００個の積算器を備える一連の積算器でもよい。
【００１０】
本発明の別の実施形態はまた、衛星からの微弱なＧＰＳ/ＧＮＳＳ信号を使用してＧＰＳ/ＧＮＳＳ受信機にサブマイクロ秒の時刻転送をする方法を提供し、目標セグメントは、航法メッセージの中から目的セグメントを探し出し、その検索結果を所定の閾値と比較することにより検出される。目標セグメントの送信時刻は、ビット位置に基づいて、一定の時間的不明確さをもって決定される。
【００１１】
目標セグメントの検出は、（ａ）１つのビット周期について複素相関値を積算して対応する複素ビット値を得るステップと、（ｂ）対応するビット同期パルスでビット値をｋ段の複素シフトレジスタに格納するステップであり、シフトレジスタは最新のｋ複素ビット値の列を保持するステップと、（ｃ）最新のｋ複素ビット値の列の重み付け合計を得て、重み付け合計の大きさを得るステップであり、各複素ビット値は重み列の対応する１つによって重み付けされ、重み列は目標セグメントの既知のビット列に対応している、ステップと、（ｄ）重み付け合計の大きさが所定の閾値を超えるかどうかを決定するステップと、（ｅ）重み付け合計の大きさが所定の閾値を超えていない場合は、ステップ（ａ）からステップ（ｄ）を繰り返すステップと、（ｆ）重み付け合計の大きさが所定の閾値を超える場合は、最新のビット値がシフトレジスタに格納されるときの対応するビット同期パルスを目標セグメントのビット位置として特定するステップと、を含んでもよい。
【００１２】
重み付け合計の大きさを得るステップ（ｃ）は、（ｃ１）重み付けされた複素ビット値にｋポイント高速フーリエ変換（ＦＦＴ）を行ってｋ個のＦＦＴ出力を発生させるステップと、（ｃ２）ｋ個のＦＦＴ出力の各々の大きさを演算するステップと、（ｃ３）ｋ個のＦＦＴ出力の大きさの最大値を重み付け合計の大きさとして得るステップと、を含んでもよい。最大の大きさを有するｋポイントＦＦＴ出力に関連した周波数に基づいて、周波数の誤差信号を発生させてもよい。
【００１３】
目標セグメントがフレーム毎に一度生じる場合、一定の時間的不明確さは３０（±１５）秒の不明確性である。目標セグメントが航法メッセージ毎に一度生じる場合、一定の時間的不明確さは１２．５(±６．２５)分の不明確さである。
【００１４】
目標セグメントは、航法メッセージにあるエフェメリスデータセグメントでもよく、ｋの数は１２８またはそれ以上でもよい。
【００１５】
本発明の実施形態はまた、微弱なＧＰＳ/ＧＮＳＳ信号を使用してビット境界を探知（位置決め）することにより特定のビット同期を提供する。データビット毎に２０のコード・エポックが存在する。ビット境界を探知するステップは、（ａ）タイミング信号に従って、対応するコード・エポックにおいて複素相関値を２０段の複素シフトレジスタに格納するステップであって、シフトレジスタは最新の２０個の複素相関値の列を保持している、ステップと、（ｂ）各エポックにおいてシフトレジスタの２０個の複素相関値を合計するステップと、（ｃ）２０個の複素相関値の合計の大きさの値を計算するステップと、（ｄ）２０個の積算器のうち、最新の複素相関値がシフトレジスタに格納されるときのコード・エポックに関連した積算器に、その大きさの値を蓄積するステップと、(ｅ)各大きさの値が２０個の積算器の各々に格納されるまで、ステップ（ａ）からステップ（ｄ）を反復するステップと、（ｆ) ステップ（ｅ）を複数回繰り返して、２０個の積算器の各々に大きさの値を積算させるステップと、(ｇ)２０個の積算器のうち、大きさの値の積算値の最も大きなものを含む積算器と、その最大の積算値を含む積算器に関連した特定のコード・エポックとを決定するステップと、(ｈ)特定のコード・エポックをデータストリームのビット境界として特定するステップと、(ｉ)２０個のコード・エポック毎に生じるビット同期パルスを出力するステップと、を含む。
【００１６】
微弱なＧＰＳ/ＧＮＳＳ信号は、約−１５１ｄＢｍを下回る信号レベルを有し、より一般的には、−１４８ｄＢｍを下回る。微弱なＧＰＳ/ＧＮＳＳ信号は、−１６０から−１７０ｄＢｍを下回る信号レベルを有してもよい。
【００１７】
本発明の別の実施形態はまた、衛星からの微弱なＧＰＳ/ＧＮＳＳ信号を使用する、サブマイクロ秒の時刻転送回路を有するＧＰＳ/ＧＮＳＳ受信機を提供する。ＧＰＳ/ＧＮＳＳ信号は、ＰＮコード(「受信ＰＮコード」と参照する)および航法メッセージを搬送する。ＧＰＳ/ＧＮＳＳ受信機は、衛星のＰＮコードを生成する(「生成ＰＮコード」と参照する)ＰＮコード発生器を有する。ＰＮコード発生器は、生成ＰＮコードのコード・エポックを示すタイミング信号を出力し、各コード・エポックは生成ＰＮコードの各周期(「コード周期」と参照する)の始まりを示す。（ＧＰＳ／ＧＮＳＳ受信機は、さらに）タイミング信号に従って、各コード周期について、生成ＰＮコードとデジタル化された複素ベースバンドＧＰＳ/ＧＮＳＳ信号とを相互相関させて、各コード・エポックにおいて複素相関値を出力する相互相関器であって、その複素相関値の列が航法メッセージを表すデータストリームを形成する相互相関器と、データストリームのビット境界を探知（位置決め）し、そのビット境界において番号付けられたビット同期パルスを発生するビット・シンクロナイザと、を備えている。
【００１８】
本発明の一態様において、ＧＰＳ/ＧＮＳＳ受信機はさらに、ビット・シンクロナイザおよび相互相関器に連結され、航法メッセージ内の目標セグメントを検出するための目標セグメント探知器を備えている。目標セグメントは、航法メッセージの各サブフレームの既知のビット位置に既知のｋビット列を有する。目標セグメント探知器は、複数のサブフレームを検索し、その複数のサブフレームについての検索結果を積算して、特定のビット同期パルスを、サブフレーム内の目標セグメントのビット位置として特定する。ＧＰＳ/ＧＮＳＳ受信機はまた、目標セグメントのビット位置と航法メッセージの特定ビットの既知の送信時刻とに基づいて、所定の時間的不明確さをもって目標セグメントの送信時刻を決定する、送信時刻決定器を備えている。
【００１９】
ＧＰＳ/ＧＮＳＳ受信機はさらに、局所時刻決定器を備えてもよい。局所時刻決定器は、外部情報源から得た近似的な時刻を使用してサブマイクロ秒の精度で局所時刻を決定し、所定の時間的不明確さを解決する時間的不明確さ解決部と、伝播遅延補正部とを有する。
【００２０】
本発明の一態様において、目標セグメント探知器は、１ビット周期について複素相関値を積算して複素ビット値を得る１ビット積算器と、対応するビット同期パルスに従って複素ビット値を格納し、最新のｋ複素ビット値の列を保持するｋ段複素シフトレジスタと、最新のｋ複素ビット値の列の重み付け合計を得るための加重マルチプレクサ（加重マルチプレクサ）であり、各複素ビット値は、重み列の１つによって各々重み付けされ、重み列は目標セグメントの既知のビット列に対応している、加重マルチプレクサと、対応するビット同期パルスに従って重み付け合計の大きさを蓄積する一連の積算器と、一連の積算器のうち、積算された重み付け合計の大きさの最大のものを含む特定の積算器を決定し、その特定の積算器に関連した特定のビット同期パルスに基づいて、目標セグメントのビット位置を特定する、コントローラと、を備えている。
【００２１】
加重マルチプレクサは、重み付けされた複素ビット値にｋポイントＦＦＴを行い、ｋ個のＦＦＴ出力を発生する高速フーリエ変換器（ＦＦＴ）と、ｋ個のＦＦＴ出力の各々の大きさを演算し、そのｋ個のＦＦＴ出力の大きさの最大値を、重み付け合計の大きさとして得る大きさ演算器を備えていてもよい。
【００２２】
目標セグメントは、航法メッセージ内のサブフレームのプリアンブルでもよく、ｋの数は８である。目標セグメントは航法メッセージ内の週の時刻（ＴＷＯ）でもよく、ｋの数は１７である。
【００２３】
一定の時間的不明確さは、６（±３）秒の不明確さでもよい。一連の積算器は３００個の積算器を有してもよい。
【００２４】
本発明の別の実施形態は、ビット・シンクロナイザおよび相互相関器に連結された、ＧＰＳ/ＧＮＳＳ受信機の別の目標セグメント探知器を提供する。目標セグメント探知器は、航法メッセージ内の目標セグメントを探知し、ここで目標セグメントは、航法メッセージ内の既知のビット位置に既知のｋビットの列を有している。目標セグメント探知器は、目標セグメントを求めて航法メッセージを検索し、その検索結果を所定の閾値と比較することにより目標セグメントのビット位置を検出する。
【００２５】
目標セグメント探知器は、１ビット周期について複素相関値を積算して複素ビット値を得る１ビット積算器と、対応するビット同期パルスに従って複素ビット値を格納し、最新のｋ複素ビット値の列を保持するｋ段の複素シフトレジスタと、最新のｋ複素ビット値の列の重み付け合計を得る加重マルチプレクサであって、各複素ビット値は、目標セグメントの既知のビット列に対応する重み列のなかの１つの重みによって各々重み付けされる、加重マルチプレクサと、重み付け合計の大きさが所定の閾値を超えるかどうかを決定する比較器と、重み付け合計の大きさが所定の閾値を超える場合に、最新のビット値がシフトレジスタに格納されるときのビット同期パルスから目標セグメントのビット位置を特定するコントローラと、を備えてもよい。
【００２６】
加重マルチプレクサは、重み付けされた複素ビット値にｋポイントＦＦＴを行ってｋ個のＦＦＴ出力を発生するｋポイント高速フーリエ変換器（ＦＦＴ）と、ｋ個のＦＦＴ出力の各々の大きさを演算し、ｋ個のＦＦＴ出力の各々の大きさの最大値を重み付け合計の大きさとして得る大きさ演算器と、を備えてもよい。
【００２７】
加重マルチプレクサはさらに、最大の大きさを有するｋポイントＦＦＴ出力に関連した周波数に基づいて周波数誤差信号を発生する周波数誤差信号発生器を備えてもよい。
【００２８】
目標セグメントはフレーム毎に一度生じてもよく、その場合の所定の時間的不明確さは３０（±１５）秒の不明確さである。目標セグメントは航法メッセージにあるエフェメリスデータのセグメントでもよく、ｋの数は１２８またはそれ以上でもよい。あるいは、目標セグメントは航法メッセージ毎に一度生じてもよく、その場合の所定の時間的不明確さは１２．５（±６．２５）分の不明確さである。
【００２９】
本発明の一態様において、ＧＰＳ/ＧＮＳＳ受信機はさらに、ベースバンド信号のドップラ誤差を補償するための周波数ロック・ループ（ＦＬＬ）を備えてもよい。ＧＰＳ/ＧＮＳＳ受信機はまた、受信ＰＮコードと生成Ｎコードとを相関させることにより、生成ＰＮコードを受信ＰＮコードに整合させる遅延ロック・ループ(ＤＬＬ)を備えてもよい。
【００３０】
本発明の実施形態はまた、微弱なＧＰＳ/ＧＮＳＳ信号を使用するＧＰＳ/ＧＮＳＳ受信機のための特定のビット・シンクロナイザを提供する。データ・ビット毎に２０のコード・エポックが存在する。ビット・シンクロナイザは、タイミング信号に従い、対応するコード・エポックにおいて複素相関値を格納し、最新の２０個の複素相関値の列を保持する２０段複素シフトレジスタと、各エポックにおいてシフトレジスタ内の２０個の複素相関値を合計する加算器と、２０個の複素相関値の合計の大きさを演算する大きさ演算器と、所定時間のあいだ、コード・エポックに従って、大きさの値を蓄積する一連の積算器と、一連の積算器のうちから、大きさの値の最大の積算値を含む１つの積算器を決定し、その最大の積算値を含む積算器に関連した特定のコード・エポックを、データストリームのビット境界として特定するコントローラと、そのビット境界に対応するコード・エポックにおいて同期パルスを出力するビット同期パルス発生器と、を備えている。
【００３１】
本発明の別の実施形態は、ＧＰＳ/ＧＮＳＳ受信機の位置を確立するための方法を提供する。本方法は、（ａ）第一および第二の衛星を有する第一の衛星対からの第一および第二のＧＰＳ/ＧＮＳＳ信号を観測するステップであって、第一のＧＰＳ/ＧＮＳＳ信号は、第一の信号構造における一点（ファーストポイント）を定義し、第二のＧＰＳ/ＧＮＳＳ信号は、第二の信号構造における一点（セカンドポイント）を定義する、ステップと、（ｂ)第一のＧＰＳ/ＧＮＳＳ信号の一点（ファーストポイント）の第一送信時刻(ＴＡ１)および第二のＧＰＳ/ＧＮＳＳ信号の一点（セカンドポイント）の第二送信時刻(ＴＢ１)を得るステップと、（ｃ）第一送信時刻に基づいて第一の衛星の第一位置を決定し、第二送信時刻に基づいて第二の衛星の第二位置を決定するステップと、（ｄ)第一および第二送信時刻の差分(△１＝ＴＡ１−ＴＢ１)を計算するステップであって、緯度および経度の関数として与えられる既知の高度情報を使用することにより、差分△１によってこの時間差分が観測される地球表面上に位置線（Line of Position） ＰＣ１(△１)を定義するステップと、（ｅ）所定時間の後、異なる位置にある第二の衛星対について、ステップ（ａ）からステップ（ｄ）を繰り返し、地球表面上に第二の位置線ＰＣ２(Δ２)を得るステップであって、ここでΔ２＝ＴＡ２−ＴＢ２であり、ＴＡ２およびＴＢ２は異なる位置にある第二の衛星対の２つの送信時刻である、ステップと、（ｆ）位置線Ｐｃ１(△１)および第２の位置線Ｐｃ２(Δ２)の交点に受信機の位置を得るステップと、を含む。第二の衛星対は、第一の衛星対の１つまたは両方の衛星を含んでいてもよい。
【図面の簡単な説明】
【００３２】
【図１】本発明の一実施形態によるサブマイクロ秒の時刻転送のための方法および対応する回路を概略的に示すブロック図である。
【図２Ａ】本発明の一実施形態による、受信したＰＮコード、生成ＰＮコード、および対応するコード・エポックを示す概略的なタイミング図である。
【図２Ｂ】本発明の一実施形態による、航法データストリームおよび対応するビット同期パルスを示す概略図である。
【図２Ｃ】航法データストリームおよびモジュロ−３００のタグを概略的に示す図である。
【図２Ｄ】本発明の一実施形態による、８段のシフトレジスタおよび３００個の積算器を概略的に示す図である。
【図２Ｅ】３００個の積算器における積算値を示す概略図である。
【図３】本発明の一実施形態による、ビット・シンクロナイザおよび対応するビットの同期処理の例を概略的に示す図である。
【図４】ＧＰＳの航法データストリームのフレームおよびサブフレームの構造の例を概略的に示す図である。
【図５】本発明の一実施形態による、プリアンブル探知器およびプリアンブルを探知する対応する方法の例を概略的に示す図である。
【図６】本発明の別の実施形態による、サブマイクロ秒の時間を得る方法および対応する回路を概略的に示すブロック図である。
【図７】本発明の一実施形態による、目標セグメント探知器８０および既知のビット列の発生を検出するための対応する方法の例を概略的に示す図である。
【図８】本発明の一実施形態による、２つのＧＰＳ信号から受信機の位置を得るための方法を示す概略図である。
【発明を実施するための形態】
【００３３】
添付の図において、本発明は限定的にではなく例示により説明され、同様の参照番号は同様の構成要素を示している。
【００３４】
添付の図で示したように、いくつかの好ましい実施形態を参照して、これから本発明を詳細に記載する。以下の記載では、本発明の理解を高めるために多くの具体的な詳細を説明する。しかし、本発明がこれらの具体的な詳細の一部または全てを用いることなく実施され得ることは、当技術分野における当業者には明らかであろう。別の場合では、本発明が不必要に曖昧なることを避けるため、周知の処理ステップおよび／または構造は詳細に記載しない。
【００３５】
本発明は、屋内やビルの谷間で受信したような、激しい減衰を受けている極めて微弱なＧＰＳ/ＧＮＳＳ信号を使用してサブマイクロ秒の時刻転送ができる、新規の方法および装置を提供する。いくつかの要因にもよるが、−１６０から−１７０ｄＢｍ程度の微弱な信号が使用できる。一旦時刻転送が開始されてしまえば、時刻転送はいつでも１機のＧＰＳ／ＧＮＳＳ衛星を使用するだけで維持でき、１機の衛星から別の衛星へ移転することも可能である。全ての衛星信号が追跡閾値を下回る場合であっても時刻精度を維持する方法も記載される。
【００３６】
具体的には、本発明の実施形態は、Ｌ１Ｃ／Ａ（Ｃｏａｒｅｓ  Ａｃｉｓｉｔｉｏｎ：粗捕捉）コード化されたＧＰＳ信号を使用して記載される。しかし、当技術分野で通常の技術を有する当業者であれば、本発明が特定のＧＰＳ信号の使用に限定されるものではなく、別のＧＮＳＳ信号も適用できることが十分に理解されるであろう。同様に、以下の記載におけるＧＰＳ受信機はＧＮＳＳ受信機でもよい。
【００３７】
以下の記載において、以下の環境を満たされていることが仮定される。（１)ＧＰＳ受信機は固定されている。（２)ＧＰＳ受信機の位置は、任意の種々の方法によって確立される。（３）衛星エフェメリスデータ、衛星時計補正データ、アルマナックデータ、および週の時刻(TOW: Time of Week)のようなその他の航法メッセージのデータは、インターネットまたは支援ＤＳＬ（ＡＤＳＬ）のリンクのような外部情報源から入手できる。(４)一旦開始されると時刻転送は継続して可能であるが、その開始には相対的に長時間の時間間隔が許容される。この目的のため、およそ１０分から数十時間のオーダーの時間間隔が許容されうる。加えて、ＧＰＳ受信機およびその時刻転送のハードウェア／ソフトウェアは低コストであるべきである。また、低電力消費である必要はない。
【００３８】
図１は、本発明の一実施形態による、単一の衛星からのサブマイクロ秒の時刻転送をするための方法および対応する回路１００を概略的に示すブロック図である。もし複数の衛星信号が利用できる場合は、図中の全ての構成要素は追跡される各衛星のために複製される。図１は極めて微弱なＧＰＳ信号から非常に正確な時間、すなわちサブマイクロ秒の時間を得ることができるＧＰＳ受信機の一部のみを示している。サブマイクロ秒の精度のためには、受信機の位置は約１００メートル以内で知られており、衛星信号は既に捕捉（acquire）され、コードおよび搬送周波数の追跡は既に開始されていると仮定している。すなわち、図１に示されるように、回路１００への入力信号は、ＧＰＳ受信機の無線周波数（ＲＦ）前端部（フロントエンド：図示せず）により受信され、ベースバンド周波数に変換されたデジタル化されたベースバンド信号１０である。
【００３９】
信号捕捉、コード追跡、および搬送周波数追跡は、当技術分野で通常の技術を有する当業者に周知の、従来の任意の処理を使用して行ってもよい。信号捕捉、コード追跡、および搬送周波数追跡は、本発明の一部ではなく、従ってこの具体的に詳細には説明しない。受信機の位置を最初に確立する方法は後述する。デジタル化されたベースバンド信号１０は複素信号であり、Ｉ＋ｊＱ(Ｉ：実部または余弦成分、Ｑ:虚部または正弦成分)として表現されることに留意されたい。従って、簡単にするため図には２つのチャネルが特に明示されていないが、信号処理は２つのチャネルで実行される。
【００４０】
<周波数ロック・ループ>
極めて微弱な信号を追跡するために、搬送波追跡は、従来のＧＰＳ信号のＦＬＬよりも非常に狭い、極めて狭いバンド幅（およそ０．０１Ｈｚ）を用いた周波数ロック・ループ（ＦＬＬ）を用いて達成される。従来のコスタス位相ロック・ループ(ＰＬＬ’ｓ)は、データ・ビットにより引き起こされた非コヒーレンスを排除するのに必要な信号二乗により、ＳＮＲの損失を大きく受けるため、極めて微弱な(約−１５１ｄＢｍを下回る)信号を追跡するのに適していないことに留意されたい。ＳＮＲの損失は、極端に小さなＰＬＬループバンド幅（多分０．０１Ｈｚと同程度）を使用することにより取り戻すことができると考えるかもしれない。しかし、そのように小さなループバンド幅においては、ベースバンドへの周波数変換後の単一位相不安定性を追跡するのは困難となりかねない。このような位相の不安定性は、典型的な低コスト受信機の、受信機の周波数基準としての役割を果たすＴＣＸＯ基準発振器の位相不安定性により引き起こされる。
【００４１】
図１を参照すると、複素(Ｉ＋ｊＱ)のデジタル化されたベースバンドのＧＰＳ信号１０は、位相回転器１２によりドップラ補償される。この位相回転器１２は、ＦＬＬ１４により制御されて、位相回転器の出力１６における周波数を名目上（ほぼ）ゼロ周波数に駆動する。ＦＬＬ１４は、周波数弁別器１８、ＦＬＬループ低域通過フィルタ２０、および数値制御発振器（ＮＣＯ）２２を備えている。周波数弁別器１８への入力信号２４は、１ミリ秒の信号相関（相関器）２８の複素出力（Ｉ＋ｊＱ）から成り、以下でより詳細に記載される。周波数弁別器１８は、受信した５０ビット／秒の航法データにおける極性遷移の影響を極小化するように設計されており、データ・ビット境界のタイミングが未知の場合にも引き込み（プルイン）できるようにしている。
【００４２】
受信機は静止しており（Ｓｔａｔｉｏｎａｒｙ）、既知の位置（近似的な位置）にあり、エフェメリスデータが入手できるため、図１に示されるように、既知のドップラ率補正（訂正）２６がＮＣＯ２２を介して位相回転器１２に適用される。ドップラ率補正は１Ｈｚ／秒より大きくはなく、既知の受信機位置の多少の誤差には影響を受けない。これにより、衛星の動きによる信号上の周波数変化を実質的に全て除去し、ＦＬＬループフィルタ２０を介してＮＣＯ２２を制御することにより、残存するドップラ誤差を検出して除去するＦＬＬ１４の操作を向上させる。
【００４３】
シミュレーションによれば、ＦＬＬは、約±１０Ｈｚの最大周波数追跡誤差を有し、−１６５ｄＢｍ程度に微弱な信号をも追跡することができ、引き込み時間定数は数分のオーダーである。この高レベルのパフォーマンスは、受信機の静止性およびＮＣＯ２２のドップラ率補正により可能となり、この両者が信号周波数を実質的に一定に維持している。周波数追跡誤差は十分に小さいため、後に記載する時刻抽出の操作が正しく行える。
【００４４】
<コード追跡遅延ロック・ループ(ＤＬＬ)>
図１はまた、コード追跡弁別器３２、ＤＬＬ低域通過ループフィルタ３４、および受信したＣ／Ａ−ＰＮ（疑似ランダムノイズ）コードのレプリカ３８（生成されたレプリカコード）を局所的に生成するコード発生器３６を備えたコード追跡遅延ロック・ループ(ＤＬＬ)３０を示している。コード追跡弁別器(相関器)３２は、生成ＰＮコード３８および受信ＰＮコード(ドップラ補償したベースバンド信号１６に存在する)を相関させ、生成ＰＮコード３８と受信ＰＮコード１６とが整合していない場合に、コード位相誤差信号３３を出力する。ＤＬＬループフィルタ３４は、コード位相誤差信号３３のノイズを除去し、その信号をコード位相制御信号３５としてコード発生器３６に適用する。コード発生器３６は、このようにして整合させられた生成ＰＮコード３８を出力する。すなわち、ＤＬＬ３０は、コード発生器３６を制御して、レプリカＰＮコード３８が、位相回転器１２の出力に現れる受信ＰＮコード１６に時刻一致するように維持する。コード発生器３６はまた、局所的に発生されたＰＮコード３８の、１ミリ秒毎に生じる各エポックにおいて、コード・エポック信号(タイミング信号)３９を出力する。
【００４５】
通常の操作中、サブマイクロ秒精度の時間が利用できるときは、受信機の既知の位置、エフェメリスデータ、および正確な時刻情報により、衛星のドップラ軌跡が極めて正確に予測できるため、ＤＬＬ追跡ループ３０の感度を著しく向上させることができる。ＤＬＬ３０は、極めて狭いループバンド幅（約０．０１Ｈｚまたはそれを下回る）を使用して、−１７０ｄＢｍと同程度に低い信号を追跡できることが予想される。
【００４６】
<ミリ秒の相関>
図１に示されるように、１ミリ秒相関(相関器)２８は、位相回転器の出力の信号１６(受信ＰＮコード)をコード発生器３６から来るＰＮコード３８と相互相関させ、複素値（Ｉ＋ＪＱ）の１ミリ秒相関出力(複素相関値)２４の連続した列を生成する。各相関の出力および次の相関の始まりは、局所的に発生したコードの１ミリ秒毎に生じる各エポックで生じる。すなわち、コード・エポック信号(タイミング信号)３９により制御され、１ミリ秒相関器２８は、各コード周期（すなわち、１ミリ秒または１０２３チップ）について、ベースバンド信号１６と生成ＰＮコード３８とを相互相関させ、各コード・エポックで複素相関値を出力する。複素相関値(Ｉ＋ＪＱ)の列は、航法メッセージを表すデータストリームを形成する。
【００４７】
ＤＬＬ３０が、局所的に発生させたＰＮコード３８を受信ＰＮコード１６に整合させ続けるため、各相関の出力が相関関数のピーク近くにあり、それゆえ、ＦＬＬ、ビット同期、および時刻転送を確実に行える十分な処理獲得（プロセスゲイン）が得られる。図２Ａは、受信ＰＮコード、整合した生成ＰＮコード、および対応するコード・エポックを概略的に示している。
【００４８】
<ビット同期>
当技術分野で通常の技術を有する当業者に周知のように、ＧＰＳ信号の５０ｂｐｓ(１秒毎のビット)のデータストリームが航法メッセージを搬送する。５０ｂｐｓのデータ・ビット境界は、常にＰＮコードのエポックで生じる。ＰＮコードのエポックは、ＰＮコードの各周期（１ミリ秒、１０２３チップ）の始まりを示しており、データ・ビット(２０ミリ秒、２０，４６０チップ)毎に正確に２０のコード・エポックが存在する。位相を確実に追跡することができない極度に低い信号レベルで動作するため、ビット同期の長時間部分コヒーレント法（Ｌｏｎｇ−ｔｅｒｍ  ｐａｒｔｉａｌｌｙ  ｃｏｈｅｒｅｎｔ  ｍｅｔｈｏｄ）がデータ・ビット・シンクロナイザ４０で行われる。本発明の一実施形態によれば、ビット・シンクロナイザ４０は、ＧＰＳのデータストリームのビット境界の位置を突き止め（探知し）、そのビット境界において、番号付けられた（タグ付）ビット同期パルスを発生する。
【００４９】
図３は、本発明の一実施形態による、ビット・シンクロナイザ４０および対応するビット同期処理の一例を概略的に示している。図３に示されるように、ビット・シンクロナイザ４０は、２０段複素シフトレジスタ５０、加算器５２、および２０個の積算器５６を備えている。１ミリ秒相関器２８（図１で図示）から出力される複素(Ｉ＋ＪＱ)相関値２４は、局所的に発生させたＰＮコード３８の各エポック発生時に２０段複素シフトレジスタ５０に入り、シフト・レートは名目上１０００シフト／秒である。また、コード・エポック信号３９により与えられるエポックは、モジュロ−２０カウンタ（図示せず）を連続的に駆動し、図２Ａで示されるように、各エポックをモジュロ−２０数（０から１９）によってタグ付けする。図３に戻り、各シフト毎に、シフトレジスタ５０の２０段の複素相関値は加算器５２により合計され、その合計の大きさが大きさ演算器５４に取り込まれる。合計の大きさの値５５は２０個の積算器５６の１つに格納される。ここで特定の積算器５７ｎ（０≦ｎ≦１９）が、最新のＰＮコード・エポックのモジュロ−２０のタグと同じ指標（インデックス）ｎを有する。
【００５０】
積算器５６内の合計された大きさの値５５は、ビット値(相関値)が同じビット内では（ノイズを除き）ほぼ同じであるため、信号データの１ビット全体がシフトレジスタ５０に存在する場合に最大化する傾向がある。２０ミリ秒毎に繰り返されるこの状況は、常に、ＰＮコード・エポックの同じモジュロ−２０のタグにおいて生じる。その他のエポックにおいては、シフトレジスタ５０内でデータ・ビットの極性遷移が頻繁に現れるため、大きさの値５５が小さくなる傾向がある。従って、十分に長い時間（積算処理の繰り返し）の後、最大の積算値５７ｎを含む積算器の指標ｎは、データ・ビットの遷移が生じる（すなわち、ビット境界である）コード・エポックのモジュロ−２０のタグｎとなる。ビット・シンクロナイザ４０のビット同期パルス発生器５８は、この特定のコード・エポックが生じてはじめて、このコード・エポック毎にビット同期パルス４４を生成することができる。データ・ビットは、ビット同期パルス４４において終始する。図２Ｂは、航法データストリームおよび対応するビット同期パルスの一例を概略的に示している。ビット・シンクロナイザ４０はまた、積算器５６のうち最大の積算値を含む１つの積算器を決定し、その積算器に関連した特定のコード・エポックをデータストリームのビット境界として特定するコントローラ(図示せず)を備えてもよい。このコントローラはビット同期パルス発生器５８の一部でもよい。
【００５１】
シミュレーションによれば、このビット同期の方法は、ＦＬＬ周波数の追跡誤差が＋１０Ｈｚと同程度に大きいときでさえ、１分間の実行が許容されるときは−１６０ｄＢｍ、１０分間の実行では−１６８ｄＢｍ、そして３０分間の実行では−１７０ｄＢｍにおいても極めて信頼性があることが示される。
【００５２】
<信号送信時刻の取得>
サブマイクロ秒精度の時刻を得る鍵は、受信信号上の与えられた一点（ポイント）が送信された人工衛星時刻（ＳＶ時刻）を決定する能力にある。信号の所定部分の送信時刻は先験的に（理論に基づき）知られているが、一般的にいくらかの時間的不明確さを有する（この時間的不明確さは後に記載される種々の方法により解決できる）。もし信号の所定部分の生起（Occurrence）が検出できるなら、信号のいかなる部分が送信されたSV時刻をも決定することができる。そして、外部情報源からの時計補正データにより、そのSV時刻を極めて正確なＧＰＳ時刻に変換することができる。当技術分野で通常の技術を有する当業者に周知のように、衛星の時計によって規定された時刻は通常SV時刻と参照され、補正が適用された後の時間はＧＰＳ時刻と参照される。従って、個々の衛星は完全に同期したSV時刻を持たないかもしれないが、共通のＧＰＳ時刻を有する。
【００５３】
<例示１：サブフレームのプリアンブル生起の検出>
図４は、ＧＰＳ航法データストリームのフレームおよびサブフレームの構造を概略的に示している。完全な航法データメッセージは２５フレームから成り、各フレームは５０ビット／秒のレートで送信される１５００ビットを含む。各フレームは、５つの３００ビットのサブフレーム(図４の＃１から＃５)に分割され、各サブフレームは、最上位ビット（ＭＳＢ）が最初に送信される各３０ビットの１０ワードから成る。従って、５０ビット／秒のレートでは、サブフレームを送信するのに６秒かかり、１つのフレームを完送するには３０秒かかる。完全な２５フレームの航法メッセージの送信には７５０秒または１２．５分を必要とする。時折の更新を除き、サブフレーム＃１、＃２、および＃３は、ほとんど変わらず（一定）、各フレーム３０秒のフレーム反復レートで繰り返している。一方、サブフレーム＃４および＃５は各々が２５回転換（subcommute）する。サブフレーム＃４および＃５の２５個のバージョンは１〜２５ページとして参照される。それ故、時折の更新を除いて、これらのページの各々は、７５０秒毎または１２．５分毎に繰り返される。
【００５４】
各サブフレームの最初の８ビットは、プリアンブルと呼ばれる固定した８ビット列（１０００１０１１）であり、各サブフレームの始まりを探知するために使用できる。各プリアンブルにおける最初のビットのＳＶ送信時刻は６秒の不明確さ（多義性）を除いて既知の時刻である。従って、航法データ・ビットストリーム内でプリアンブルの生起が検出できれば、最初のビットのモジュロ６秒の送信時刻が確立できる。
【００５５】
プリアンブルの生起は、プリアンブル探知器６０（図１に図示）によって検出される。図５は、本発明の一実施形態による、プリアンブル探知器６０の一例および対応するプリアンブル探知方法を概略的に示している。プリアンブル探知器は、２０ミリ秒積算器６１、８段複素シフトレジスタ６２、重み乗算器６４、付加的な（オプションの）８ポイント高速フーリエ変換器（ＦＦＴ）６６、大きさ計算機６８、最大値選択器７０、一連の３００個の積算器７２を備えている。重み乗算器６４、付加的な８ポイント高速フーリエ変換器‘（ＦＦＴ）６６、大きさ計算機６８、および最大値選択器７０は、これらを合わせて加重マルチプレクサとして参照されても良い。図５に示されるように、図１の１ミリ秒相関器２８からの複素相関値４２の出力は、２０ミリ秒積算器６１において積算される。
【００５６】
先に言及したように、ビット同期がすでに確立されていると仮定して、各２０ミリ秒の積算は、ビット１または０を表す複素値に対応する、同じデータ・ビット内での複素値の合計を表している。この２０ミリ秒の積算（すなわち複素ビット値に対応）は、ビット同期パルス４４のタイミングによって８段複素シフトレジスタ６２を通過する。すなわち、同期パルス４４が生じる毎に、２０ミリ秒間の積算結果がシフトレジスタ６２に出力され、同時に２０ミリ秒積算器６１での積算処理のリセットおよび再開が行われる。従って、シフトレジスタ６２の内容は、２０ミリ秒毎、すなわちビット毎にシフトされる。ビット同期パルス４４はまた、図２Ｃで示されるように、各ビット同期パルスをモジュロ−３００の数（０から２９９）でタグ付けするモジュロ−３００のカウンタ(図示せず)を駆動する。各複素ビット値は、複素ビット値が２０ミリ秒積算器６１からシフトレジスタ６２にシフトされる時の、ビット同期パルス４４の対応するモジュロ−３００のタグによっても特定される。８段シフトレジスタ６２は、８データ・ビットに対応する複素ビット値を保持し、プリアンブルの既知のビット列を検索するための８ビットウインドウとして機能する。例えば、図５で示されるように、ビット同期パルス４４がモジュロ−３００のタグｍを有するとき、シフトレジスタ６２は、ｍ−７からｍまでのモジュロ−３００のタグに対応する複素ビット値を保持している。
【００５７】
図５で示されるように、８段シフトレジスタ６２の出力タップ(複素値)は、重み乗算器６４において、既知のプリアンブルビット列（バイナリ０の代わりに−１の重みを有する）により重み付けされる。ここで、データ・ビット値が変わるとき、そのビット値を表す複素ベクトルは複素平面において反転することに留意されたい。従って、プリアンブルが完全にシフトレジスタ６２を占めている場合、１および−１（ノイズを除く）の既知のビット列による重み付けにより、８ビットに対する全てのベクトルが同一（ノイズを除く）になる。ドップラ誤差が無い場合は、重み付けした複素値(すなわち一致したベクトル)は単純に加算合計されてもよく（８ポイントＦＦＴの操作が抑止されてもよい）、その合計の大きさは、８段シフトレジスタ６２がプリアンブルを含んでいるときに最大となる傾向がある。しかし、ＦＬＬ１４(図１に図示)は完全にはドップラの影響を補償しないかもしれず、位相回転器１２でのドップラの補償はノイズにより完全ではないかもしれず、そのため複素ベクトルは依然としてゆっくりと回転しているかもしれない。従って、図５に示されるように、各シフトの直後、重み付け出力に対して８ポイントＦＦＴ（６６）が行われ、８ポイントＦＦＴの出力の大きさが計算され（６８）、そして８ポイントＦＦＴの出力の大きさの最大値が選択される（７０）。この最大値は３００個の積算器７２の１つに格納される。図５に示されるように、特定の積算器７２ｍは、最新のビット同期パルス(０≦ｍ≦２９９)のモジュロ−３００のタグと同じ指標ｍを有する。
【００５８】
図２Ｄは、８個の複素ビット値の重み付け合計(８ポイントＦＦＴ後のその最大値)の大きさを積算器に格納する操作の一例を概略的に示している。図２Ｄ、Ａ、Ｂ、Ｃ等では、シフトレジスタに保持された複素ビット値(すなわち、ビット１または０に対応する２０ミリ秒の積算)を表している。この例では、図２Ｃおよび図２Ｄで示されるように、モジュロ−３００のタグｍを持つ同期パルスにおいて、シフトレジスタがプリアンブル全体を含んでおり、ここで複素ビット値Ｂは、プリアンブルの最初の（開始）ビットに対応するモジュロ−３００のタグｍ−７を有している。この処理は、ノイズを平均化して除去するために複数回繰り返されてもよい。
【００５９】
プリアンブルがシフトレジスタ６２を完全に占めるとき（これは航法メッセージの３００ビット毎に生じる）、８ポイントＦＦＴの出力の最大の大きさが最も大きくなる傾向があり、時間の経過とともに、対応する積算器７２ｍ（図５）は、他の積算器よりも大きな値を積み立てる。従って、十分に長い時間の後は、図２Ｅで示されるように、最も大きく積算された値を含む積算器７２の指標ｍは、プリアンブルがシフトレジスタ６２内に完全に納まるようになるときのビット同期パルス４４のモジュロ−３００のタグｍになる。
【００６０】
プリアンブル探知器６０はまた、一連の３００個の積算器の中で最大の値を含む特定の積算器７２ｍを決定し、指標ｍ−７を有するビット同期パルスをプリアンブルの最初のビットの位置として特定するためのコントローラ７４を備えている。コントローラ７４は、航法メッセージにおける目標セグメントのビット位置および特有ビット（すなわち、サブフレームの最初のビット）の既知の送信時刻に基づいて、一定の時間的不明確さをもって目標セグメントの送信時刻を決定するための送信時刻決定器(図示せず)を備えてもよい。このようにして、サブフレームの最初のビットでもあるプリアンブルの最初のビットの送信時刻は、６秒の不明確さもって決定されうる。
【００６１】
もしＦＬＬ１４が周波数誤差をゼロに維持できた場合、先に言及したように、８ポイントＦＦＴの出力の最大の大きさは、周波数ゼロのＦＦＴ出力ビン（この周波数ビンの出力は、シフトレジスタタップの重み付け出力の単なる加算合計である）に生じる傾向があるため、８ポイントＦＦＴ６６は必要ない。しかし、ノイズによって、ＦＬＬ１４のＦＬＬ追跡においてゼロでない周波数誤差が生じるため、重み付け出力の合計におけるコヒーレンスの低下による信号減衰が存在し得る。ＦＦＴは、その出力の形成において周波数誤差を相殺することによりコヒーレンスを取り戻す。
【００６２】
プリアンブルは８ビットしか含んでいないため、同じビット列が航法メッセージの他の部分に現れる可能性がある。しかし、これが全てのサブフレームの同じ位置（スポット）に起こることはまずあり得ない。プリアンブルは全てのサブフレームに現れるため、その生起は顕著になる。
【００６３】
コンピュータシミュレーションによれば、−１６０ｄＢｍでは５フレーム（１５０秒または２．５分のデータ）のみの観測により、−１７０ｄＢｍでは２５フレーム（７５０秒または１２．５分のデータ）の観測により、プリアンブルが信頼性を持って検出できることが示されている。
【００６４】
プリアンブルを探知するための３００個の積算器７２の必要性は、種々の方法で軽減することができる。その一つの方法は、３００ビットのサブフレーム周期のより小さな部分を（一度に一部分）検索することである。例えば、各一部分が５０ビット含んでいる場合は、５０個の積算器を使用して各サブフレームの同じ５０ビットの位置を検索し、最大の積算器値を保有する。この処理を６回繰り返して３００ビットのサブフレーム周期全体をカバーすれば、６個の最大値のうちの最大のものによりプリアンブルが探知できる。もちろん、これにより検索時間は６倍になるであろう。
【００６５】
近似的な時刻が外部情報源から入手できる場合は、別の方法が使用できる。例えば、時刻が±０．５秒内で既知の場合、６秒毎に約５０ビットのデータを検索することのみが必要であり、５０の積算器のみが必要であろう。両方の方法を用いれば積算器の数をさらに減らすことができる。例えば、５０ビットのデータを１０ビット毎の５つの部分に分割すれば、積算器の数を１０に減らすことができる。
【００６６】
<例示２：より大きなビットセグメントの生起の検出>
図６は、本発明の別の実施形態による、信号送信時刻を得る別の方法を概略的に示しており、航法メッセージのより大きなデータ・ビットセグメントの生起を検出する。図６では、同様の要素には図１と同様の参照番号を付している。図６に示されるように、回路２００は、図１のプリアンブル探知器６０に代わり目標セグメント探知器８０を備えている。衛星エフェメリスデータ、衛星時計補正データ、アルマナックデータ、およびたぶん週の時刻（ＴＯＷ）のような航法メッセージの他のデータが外部情報源から入手できると仮定できるので、このようは情報を、送信に使用されるビット列を決定するために用いることができる。これらの既知のビット列のフレーム開始に対する相対位置は既知であるため、１つのフレームの開始における最初のビットの発生は、検出された既知のビット列から決定することができる。フレームの開始ビットの送信時刻は３０秒の不明確さ（フレームの長さ）で既知であるので、独立した時刻情報により、この不明確さは容易に±１５秒内にまで除去できる。
【００６７】
図７は、本発明の一実施形態による、目標セグメント探知器８０および既知のビット列の生起を検出するための対応する方法を概略的に示している。具体的には、外部から与えられた航法データにより、フレーム開始に対して既知の位置にある１２８ビット列が決定されていると仮定する。フレーム内において、既知の位置に既知の列を有する所定数のデータ・ビットを目標（ターゲット）セグメントとして参照する。従って、先の実施形態のプリアンブルもまた１つの目標セグメントである。この例では、目標セグメントはエフェメリスデータの１２８ビット列である。ここで仮定したビット数は限定的ではなく例示的なものであり、より小さいまたは大きい数を使用できる。しかし、この例では、大きな処理利得が達成できること示すために、比較的大きな数を選択している。図７に示されるように、目標セグメント探知器８０は、２０ミリ秒積算器８１、１２８段複素シフトレジスタ８２、重み乗算器８４、付加的な（オプションの）１２８ポイント高速フーリエ変換器（ＦＦＴ）８６、および大きさ演算器８８を備えている。重み乗算器８４、付加的な１２８ポイント高速フーリエ変換器（ＦＦＴ）８６、および大きさ演算器８８は合わせて加重マルチプレクサとして参照されてもよい。目標セグメント探知器８０はまた、最大値比較器を有するコントローラ９０を備えている。
【００６８】
１ミリ秒相関器２８（図６に図示）の複素出力２４は、２０ミリ秒積算器８１で積算され、２０ミリ秒毎に生じる２０ミリ秒の積算器８１の出力は、１２８段複素シフトレジスタ８２を通過する。図５で示した先の例と同様の方法で、ビット同期パルス４４の各発生によって２０ミリ秒間の積算がシフトレジスタ８２に出力され、同時に２０ミリ秒積算器８１の積算処理のリセットおよび再開が行われる。従って、シフトレジスタ８２の内容は２０ミリ秒毎にシフトされる。ビット同期パルス４４はまた、各ビット同期パルス４４をモジュロ１５００の数（０から１４９９）でタグ付けするモジュロ１５００のカウンタ(図示せず)を駆動する。
【００６９】
１２８段シフトレジスタ８２の出力タップは、加重マルチプレクサ８４において、外部から与えられた航法データの既知のビット列により重み付けされる。先の例と同様に、重み付けにおいてデータ・ビット０が−１に置換される。各シフトの直後、重み付けされた出力に１２８ポイントＦＦＴ８６を行い、１２８個のＦＦＴの出力の各々の大きさが計算される（８８）。１２８個のＦＦＴの出力の最大の大きさは、コントローラ９０の最大値比較器において所定の閾値Ｔと比較される。目標セグメントは、十分に大きなビット数の（ランダムあるいは反復しない傾向がある）特別な列を有しているため、１２８段シフトレジスタ８２に完全に収納されたセグメントは、他のいかなる場合よりも著しく大きな値を生成するであろう。従って、例えば閾値Ｔは、目標セグメントのデータの長さおよび予想されるノイズレベルに基づいて設定してもよい。
【００７０】
閾値Ｔを超えた場合は、目標セグメントの既知のビット列(この例ではエフェメリスデータ)がシフトレジスタ８２に完全に収められたと判定され、最新のビット同期パルス４４のモジュロ１５００のタグが記録される。フレームの最初のビットに対する既知のビット列の位置は知られているため、フレームの最初のビットの始まりにおけるビット同期パルス４４のモジュロ−１５００のタグもまた直ちに知られ、これらの最初のビットの送信時刻は、３０秒の不明確さでわかる。このようにして、最大値(重み付け合計)が所定の閾値Ｔを超えた場合、コントローラ９０は、記録されたビット同期パルスから目標セグメントのビット位置を特定する。
【００７１】
特定の目標列はフレーム毎（すなわち、３０秒毎）に一度だけ生じるが、先の例のプリアンブルはサブフレーム毎（すなわち、６秒毎）に一度生じる。従って、外部情報源によって近似的な時刻が３０秒内（±１５秒）で既知の場合、正確な送信時刻が決定できる。加えて、最大の大きさが閾値Ｔを超え次第、残るフレームを検索することなく目標セグメントの位置を宣言することができる。
【００７２】
この方法の信頼性が高いのは、比較的大きなビット数（プリアンブルの８ビットと比較して）を合計するため、既知のビット列と信号との相互相関に固有な処理利得（約２１ｄＢ）が大きいためである。さらに、同じビット列がフレームの別の場所に現れる可能性は極めて小さい。加えて、一連の積算器も必要とせず、実質的に受信機のコストが削減される。
【００７３】
１２８ポイントＦＦＴ８６は、先に記載したように、プリアンブルを探知するために使用される８ポイントＦＦＴ６６と同じ目的を果たす。しかし、その大きな処理利得のため、１２８ポイントＦＦＴ８６は別の有益な目的のためにも用いることができる。１２８ポイントＦＦＴの周波数分解能が１／(１２８×０．０２)＝０．３９Ｈｚであるため、閾値Ｔを越えるときに最大の出力の大きさを持つ周波数ビンはＦＬＬの周波数誤差の極めて正確な指標を提供する。図６に示されるように、この誤差は、高精度の周波数誤差信号９８として３０秒の間隔でＮＣＯ２２に送ることができ、ＦＬＬ１４の操作を実質的に向上させ、実際、−１７０ｄＢｍでの信号の追跡を可能にする。従って、コントローラ９０はまた、高精度の周波数誤差信号９８を出力する周波数誤差信号発生器を備えてもよい。
【００７４】
サブフレーム＃１に存在してフレーム毎に一回現れる衛星時計補正データを、エフェメリスデータと同じ方法で使用することができ、その結果、同様に３０秒の不明確さで送信時刻が決定される。
【００７５】
既知のビット列がアルマナックからのものである場合、航法メッセージ全体を構成する２５フレームのうちの１つにしか既知のビット列が生じないため、時間的不明確さは１２．５分に増やすことができる。しかし、ビット列を検出するために最大１２．５分かかることになる。
【００７６】
既知であり得る他のビット列としては、航法メッセージ内の週の時刻（ＴＯＷ)がある。ＴＯＷは各サブフレームにおける第二の３０ビットワードの最初の１７ビットから成る。もし近似的な時刻が±３秒で既知であれば、１７ビットのパターンを決定することができ、その生起が検出できる。その結果、受信信号のいかなる位置（ポイント）でも不明確でない送信時刻が得られる。
【００７７】
<時間的不明確さの解決および信号伝播時間の補正>
図１および図６に示されるように、サブマイクロ秒の局所時刻を得る最終ステップは、残存する時間的不明確さの解決および信号伝播遅延の補正であり、局所時刻決定回路１０２の伝播遅延補正部およびの時間的不明確さ解決部により行われる。
【００７８】
１．時間的不明確さの解決
時間的不明確さは、種々の源から得られる、受信機における近似的な時刻の情報を使用することにより解決される。
【００７９】
例示１(プリアンブルを検出することによる)で送信時刻を得る場合、近似的な時刻は±３秒以内でなければならず、例示２(外部から与えられた航法データから目標セグメントを検出することによる)については±１５秒以内でなければならないが、目標セグメントがフレーム毎に一回生起するときには後者が達成し易い。例示２においてアルマナックからの既知のビット列を使用する場合は、近似的な時刻は±６．２５分以内で既知であればよい。これらの時刻精度、特に後者は、クォーツ制御された腕時計に見られるような低コスト時計の精度範囲内であり、これらの時計は、まず十分な精度に設定されてから、数日間または数週間にわたり維持される（これらの時計はまた、さらに長い期間にわたって必要な精度を維持できるように誤差率を調整することもできる）。±３秒内の近似的な時刻は、ＡＤＳＬを介して得られてもよく、また携帯電話ネットワークを介して得ることも可能かもしれない。±６．２５分内の精度、さらに恐らくは±１５秒の精度も、インターネットを介して得ることができる。近似的な時刻のその他の情報源としては、米国のＷＷＶＢのようなラジオ放送局、またはそれに対応する日本やヨーロッパの放送局からの原子的に制御された低周波数の無線信号を受信することである。これらの情報源から入手される時刻の精度は、伝播遅延を全く補正しようとしない場合、一般的に０．０１から０．１秒の範囲内である。
【００８０】
近似的な時刻は、受信機の位置が既知であり、エフェメリスデータが入手でき、緯度および経度の関数として高度が既知である（例えば、地図データベースから）場合は、衛星を２機のみ追跡することにより確立することができる。受信機の位置情報（緯度、経度、および高度）およびエフェメリスデータは、無線または有線ネットワークを介して受信機をインターネットに接続することによりインターネットから、あるいは他の通信回線から、自動的にまたは手動により得てもよい。位置情報は、ＧＰＳ受信機それ自体を使用して得てもよい。例えば、受信機が家の中またはビルの中（屋内）にあり、従って受信中のＧＰＳ信号が極めて微弱な場合、受信機を屋外や近くにある信号受信が良好な場所（例えば、許容できる位置精度１００メートル以内で）に移動させる。受信機が許容される位置精度の範囲内にある限り、送信時刻の検出および時間的不明確さの解決は同様にして行うことができる。
【００８１】
時間的不明確さを解決する方法は、受信機の位置が最初から分かっておらず、信号が微弱すぎて航法データを回復できない場合に、５機またはそれ以上の衛星から時刻を得る方法と類似しており、その方法は、本出願人により２００５年４月１２日に米国特許商標庁に出願されたマゼランシステムズジャパン株式会社の特許出願第１１／１０３，４９９号、現在は２００８年４月２２日に特許証が発行された米国特許第７，３６２，２６５号、に記載されている。この方法は、受信機位置が既知の場合、同時に観測された２つの信号の送信時刻におけるモジュロ−２０ミリ秒の差分は、近似的な時刻の既知の関数である事実に基づいている。近似的な時刻は、計測された送信時刻のモジュロ−２０ミリ秒の差分において、この既知の関数の逆関数を評価することにより計算できる。期待できる精度は、一般的に数秒以内であろう。
【００８２】
２．伝播遅延の補正
先の例示１または２においては、時間的不明確さを解決する前に、観測された受信信号の任意の位置の不明確ではないＧＰＳ送信時刻をサブマイクロ秒精度で決定することができるが、受信機における時刻は、送信時刻と衛星から受信機への伝播時間との合計である。この伝播時間は、送信時刻における衛星の位置が正確に知られさらに受信機の位置は既知であると仮定しているため、容易に計算することが出来る。このことにより衛星から受信機までの距離の計算が可能であり、これを光の速度で割ると、信号の伝播時間が得られる。局所時刻の確立における精度はどれ位正確に受信機の位置が知られているかに依存する（次の項を参照のこと）。
【００８３】
<受信機の初期位置を最初に確立する方法>
時刻転送の精度は、どれ位正確に受信機の位置が知られているかに依存するだろう。サブマイクロ秒の精度を得るためには、位置の不確実性がおよそ１００メートル未満であることが好ましい。±１０マイクロ秒の精度には、およそ１０００メートル未満の位置の不確実性が許容できる。
【００８４】
受信機の固定位置は種々の方法で得ることができる。その１つの方法は、先に言及したように、近頃マゼランシステムズジャパン株式会社によって開発された、典型的な位置精度が１００メートル未満である、アシストされた屋内測位技術を使用することである。別の方法は、グーグルアースのようなインターネットサービスによって提供される地図上で受信機の座標を探知（位置決め）することである。この方法を使用する場合、受信機の座標をＧＰＳ受信機に何らかの形で入力しなければならない。さらに別の方法としては、測位精度が十分である場合（多くの場合そうではないが）携帯電話の測位技術の使用がある。
【００８５】
本発明の一実施形態によれば、十分に長い時間があり（恐らく１時間またはそれ以上）、緯度および経度の関数として高度が入手できる場合には、２機という少数の衛星を用いて受信機の位置を確立するための第４の方法を使用することができる。例えば、ビルまたはその他の構造により、２つの衛星信号しか利用できない場合がある。図８は、本発明の一実施形態による、２つのＧＰＳ信号から受信機の位置を得るための方法を概略的に示している。２機の衛星が追跡中であると仮定して、この方法のステップは以下の通りである。
（１）２機の衛星１２２（Ａ)および１２４(Ｂ)からの２つのＧＰＳ信号を同時に観測する。この観測によって各々の信号構造上の一点（ポイント）が定義され、先に記載した例示１または例示２のような、時間的不明確さの解決を含む技術を使用して、それぞれのポイントにおける２つのＧＰＳ送信時刻ＴＡ１およびＴＢ１を得る。
（２）２つのＧＰＳ送信時刻ＴＡ１およびＴＢ１とエフェメリスデータとを使用して、２機の衛星の位置ＰＡ１およびＰＢ１を正確に探知（位置決め）する。
（３）２つの送信時刻の差分（△１＝ＴＡ１−ＴＢ１）を計算する。この差分△１は、緯度および経度の関数としての高度情報とともに、この差分が観測される地球表面上に、位置線（LOP: Line Of Position）ＰＣ１（△１）を定義する。
（４）十分に長い時間（恐らく一時間またはそれ以上）の後、上記のステップ（１）から（３）（異なる位置ＰＡ２およびＰＢ２にある同じ２機の衛星、あるいは別の一対の衛星を使用してよい）を繰り返す。その結果、地球表面上の第二のＬＯＰであるＰｃ２（△２）が得られる。ここで、△２＝ＴＡ２−ＴＢ２であり、ＴＡ２およびＴＢ２は、所定時間後に異なる配置にある同じ２機の衛星、あるいは異なる配置を与える別の２機の衛星対の、２つのＧＰＳ送信時刻である。
（５）２つのＬＯＰの交点Ｐｃとして受信機の位置を得る。
【００８６】
この方法の精度は衛星と受信機の配置に依存する。精度低下率（ＤＯＰ）の計算を測位精度の評価に使用することができる。信号捕捉にかかる時間は、フォートコリンズ、コロラドにあるＷＷＶＢからの６０ｋＨｚ信号のような、原子的に制御された低周波数の無線信号を使用して、受信機のＴＣＸＯ基準発振器を正確に較正（キャリブレーション）することにより、短縮することができる。
【００８７】
<ＧＰＳ信号の完全喪失>
全てのＧＰＳ信号を失った場合、タイミング情報の外部情報源が利用できる場合を除き、局所時刻の精度の維持は受信機の基準発振器（通常は低コストのＴＣＸＯ）の安定性に依存する。通常の動作中、受信機はとても正確に時刻を知っているため、長期的なＴＣＸＯ周波数のずれは、たった１機の衛星を使用するだけでも非常に精密に較正することができる。ＴＣＸＯが１マイクロ秒の誤差を生じるまで「自在運転」出来る時間は、１００万分の１（ｐｐｍ）で計った較正精度の逆数と同じである。例えば、もしＴＣＸＯが０．０１ｐｐｍ以内に較正された場合、±１ミリ秒の誤差が発生する前に、約１／０．０１＝１００秒の間、自律的に動くことが出来る。
【００８８】
信号の完全喪失を扱う別の戦略としては、原子的に制御された低周波数の無線信号が入手できる場合にこれらを使用することである。例えば、フォートコリンズ、コロラドにあるＷＷＶＢからの６０ｋＨｚの信号は、１０１２に１パートの安定性で送信される。この受信信号に位相ロックされた時計は、ＧＰＳ信号が入手できる通常の動作中に一旦時刻設定されれば、恐らく永久的にサブマイクロ秒精度の時刻を維持することが出来る。しかし、ＷＷＶＢの信号伝播経路の安定性を調査しておくべきである。
【００８９】
先に記載した追跡方法は極めて高い感度を有するため、特にＦＬＬ誤差信号が例示２のようにして導き出される場合には、ほとんどの適用（アプリケーション）において、全てのＧＰＳ信号が落ちてしまう（ドロップアウト）ような状況を、ごく稀にすることができる。
【００９０】
<衛星から衛星への転送>
ＧＰＳ衛星は昇ったり沈んだりするため、受信機は１機の衛星から別の衛星へとその追跡を切れ目無く転送できなければならない。これは特に問題ではない、というのは、通常動作において１機の衛星のみを用いた場合でさえ、ＴＸＣＯ周波数がかなり正確に較正され、時刻がサブマイクロ秒のレベルで既知であり、どの衛星への距離も正確に計算できるからである。これにより、周波数またはコード位相の検索を実質的に全く行うことなく、新しい次の衛星を捕捉することができる。
【００９１】
本発明はいくつかの好ましい実施形態の観点から記載してきたが、変更、置換、修正、および種々の代替できる同等物が存在し、それらは本発明の範囲内に含まれる。本発明の方法および装置を実行する多くの他の方法が存在することに留意されたい。それゆえ、以下に添付の請求項は、変更、置換、修正、および種々の代替できる同等物などが本発明の真の精神および範囲に含まれるものとして解釈されることを意図している。 
【図１】
0005723157.tif 000002
【図２Ａ】
0005723157.tif 000003
【図２Ｂ】
0005723157.tif 000004
【図２Ｃ】
0005723157.tif 000005
【図２Ｄ】
0005723157.tif 000006
【図２Ｅ】
0005723157.tif 000007
【図３】
0005723157.tif 000008
【図４】
0005723157.tif 000009
【図５】
0005723157.tif 000010
【図６】
0005723157.tif 000011
【図７】
0005723157.tif 000012
【図８】
0005723157.tif 000013