微弱なGPS/GNSS信号を使用するサブマイクロ秒時刻転送(TimeTransfer)処理
GPS/GNSS信号を使用して、GPS/GNSS受信機にサブマイクロ秒の時刻転送をする方法を提供する。デジタル化された複素ベースバンド信号および生成PNコードが各コード周期について相互相関され、生成PNコードのコード・エポックにおいて複素相関値が出力され、出力された相関値の列は航法メッセージを表すデータストリームを形成する。ビット・シンクロナイザが、ビット境界においてビット同期パルスを発生する。複数のサブフレームを検索し、複数のサブフレームの検索結果を積算することにより、航法メッセージの既知のビット位置に既知の列を有する目標セグメントの位置が検出される。目標セグメントの位置から目標セグメントの送信時刻が所定の時間的不明確さをもって決定される。外部情報源から得た近似的な時刻を使用して時間的不明確さを解決することにより正確な局所時刻が決定される。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、GPS/GNSS受信機に関する。より詳細には、本発明は微弱なGPS/GNSS信号を使用するGPS/GNSS受信機の時刻転送に関する。
【背景技術】
【0002】
サブマイクロ秒のレベルで時刻転送(時刻合わせ)するためのGPS/GNSS信号の使用は、すでに確立された技術分野である。しかし、従来のほとんどの方法は、受信したGPS/GNSS信号のタイミング情報をGPS/GNSS受信機が正確に復調できる能力に頼っている。これは、復調ビットの誤差率が許容範囲内になるよう小さく(例えば、10−5より小さく)保てるように、信号が十分に強くなければならないことを意味しており、受信した信号電力がおよそ−148dBmを上回る場合のみ保証される。従って、屋内またはビルの谷間で受信されるような、激しい減衰を受けて極めて微弱なGPS/GNSS信号を使用してサブマイクロ秒の時刻転送を確立することは困難である。
【発明の概要】
【0003】
本発明の実施形態は、衛星からの微弱なGPS/GNSS信号を使用してGPS/GNSS受信機にサブマイクロ秒の時刻転送をする方法を提供する。GPS/GNSS信号のデジタル化された複素ベースバンド信号がPNコード(「受信PNコード」と参照する)および航法メッセージを搬送する。GPS/GNSS受信機は、衛星のPNコードを生成する(「生成PNコード」と参照する)。生成PNコードは、受信PNコードに時間整合(時刻一致)させられる。生成PNコードのコード・エポックを表すタイミング信号が発生され、各コード・エポックは生成PNコードの各周期(「コード周期」と参照する)の始まりを示す。ベースバンド信号が受信され、タイミング信号に従って、各コード周期についてベースバンド信号と生成PNコードとの相互相関が計算され(cross-correlated)、各コード・エポックにおいて複素相関値が出力される。この複素相関値の列が航法メッセージを表すデータストリームを形成する。データストリームのビット境界が探知され、番号付けしたビット同期パルスがビット境界で発生される。目標(ターゲット)セグメントのビット位置が航法メッセージの中に検出されるが、この目標セグメントは、航法メッセージの各サブフレームにおける既知のビット位置に既知のkビット列を有する。目標セグメントの位置は、複数のサブフレームを検索して、複数のサブフレームの検索結果を積算することにより検出される。目標セグメントの送信時刻は、検出されたビット位置に基づいて所定の時間的不明確性(多義性)をもって決定される。
【0004】
GPS/GNSS受信機における正確な(サブマイクロ秒)局所(現地)時刻は、外部情報源から得た近似的な時刻を使用して送信時刻の所定の時間的不明確さを解決すること、および伝播遅延を補正することにより決定してもよい。
【0005】
デジタル化された複素ベースバンド信号は、相互相関前に周波数ロック・ループ(FLL)を使用してドップラ補償がなされる。遅延ロックループ(DLL)を使用して、受信PNコードおよび生成PNコードを相関させる(相関計算をする)ことにより生成PNコードを受信PNコードに整合(一致)させる。
【0006】
本発明の一態様において、目標セグメントの検出は、(a)1ビット周期について複素相関値を積算し、対応する複素ビット値を得るステップと、(b)対応するビット同期パルスにおいて複素ビット値をk段複素シフトレジスタに格納するステップであり、シフトレジスタは最新のk複素ビット値の列を保持する、ステップと、(c)最新のk複素ビット値の列の重み付け合計(加重和)を得て、その重み付け合計の大きさを得るステップであって、各複素ビット値は一連の重み列の対応する1つの重みによって重み付けされ、一連の重み列は目標セグメントの既知のビット列に対応している、ステップと、(d)重み付け合計の大きさを積算器に蓄積するステップであって、その積算器は、最新の複素ビット値がシフトレジスタに格納されるときの対応するビット同期パルスに関連付けられている、ステップと、(e)所定の数の積算器に重み付け合計の大きさが格納されるまで、ステップ(a)からステップ(d)を反復するステップと、(f)所定の数の積算器の各々が重み付け合計の大きさを積算するように、ステップ(e)を複数回繰り返すステップと、(g)積算器のうちで、重み付け合計の大きさの最大積算値を有する1つの積算器と、その積算器に関連した特定のビット同期パルスとを決定するステップと、(h)特定のビット同期パルスに基づいてサブフレーム内の目標セグメントのビット位置を特定するステップと、を含む。ビット位置は目標セグメントの最初のビット位置でもよい。
【0007】
重み付け合計の大きさを得るステップ(c)は、(c1)重み付けされた複素ビット値にkポイント高速フーリエ変換(FTT)を行い、k個のFTT出力を生成するステップと、(c2)k個のFTT出力の各々の大きさを計算するステップと、(c3)大きさの最大値を重み付け合計の大きさとして得るステップと、を含む。
【0008】
目標セグメントは、航法メッセージにあるサブフレームのプリアンブルでもよく、ここでkの数は8である。あるいは、目標セグメントは航法メッセージにおける週の時刻(TOW)でもよく、ここでkの数は17である。
【0009】
一定の時間的不明確さは、6(±3)秒の不明確さでもよい。所定の数の積算器は300個の積算器を備える一連の積算器でもよい。
【0010】
本発明の別の実施形態はまた、衛星からの微弱なGPS/GNSS信号を使用してGPS/GNSS受信機にサブマイクロ秒の時刻転送をする方法を提供し、目標セグメントは、航法メッセージの中から目的セグメントを探し出し、その検索結果を所定の閾値と比較することにより検出される。目標セグメントの送信時刻は、ビット位置に基づいて、一定の時間的不明確さをもって決定される。
【0011】
目標セグメントの検出は、(a)1つのビット周期について複素相関値を積算して対応する複素ビット値を得るステップと、(b)対応するビット同期パルスでビット値をk段の複素シフトレジスタに格納するステップであり、シフトレジスタは最新のk複素ビット値の列を保持するステップと、(c)最新のk複素ビット値の列の重み付け合計を得て、重み付け合計の大きさを得るステップであり、各複素ビット値は重み列の対応する1つによって重み付けされ、重み列は目標セグメントの既知のビット列に対応している、ステップと、(d)重み付け合計の大きさが所定の閾値を超えるかどうかを決定するステップと、(e)重み付け合計の大きさが所定の閾値を超えていない場合は、ステップ(a)からステップ(d)を繰り返すステップと、(f)重み付け合計の大きさが所定の閾値を超える場合は、最新のビット値がシフトレジスタに格納されるときの対応するビット同期パルスを目標セグメントのビット位置として特定するステップと、を含んでもよい。
【0012】
重み付け合計の大きさを得るステップ(c)は、(c1)重み付けされた複素ビット値にkポイント高速フーリエ変換(FTT)を行ってk個のFTT出力を発生させるステップと、(c2)k個のFTT出力の各々の大きさを演算するステップと、(c3)k個のFTT出力の大きさの最大値を重み付け合計の大きさとして得るステップと、を含んでもよい。最大の大きさを有するkポイントFTT出力に関連した周波数に基づいて、周波数の誤差信号を発生させてもよい。
【0013】
目標セグメントがフレーム毎に一度生じる場合、一定の時間的不明確さは30(±15)秒の不明確性である。目標セグメントが航法メッセージ毎に一度生じる場合、一定の時間的不明確さは12.5(±6.25)分の不明確さである。
【0014】
目標セグメントは、航法メッセージにあるエフェメリスデータセグメントでもよく、kの数は128またはそれ以上でもよい。
【0015】
本発明の実施形態はまた、微弱なGPS/GNSS信号を使用してビット境界を探知(位置決め)することにより特定のビット同期を提供する。データビット毎に20のコード・エポックが存在する。ビット境界を探知するステップは、(a)タイミング信号に従って、対応するコード・エポックにおいて複素相関値を20段の複素シフトレジスタに格納するステップであって、シフトレジスタは最新の20個の複素相関値の列を保持している、ステップと、(b)各エポックにおいてシフトレジスタの20個の複素相関値を合計するステップと、(c)20個の複素相関値の合計の大きさの値を計算するステップと、(d)20個の積算器のうち、最新の複素相関値がシフトレジスタに格納されるときのコード・エポックに関連した積算器に、その大きさの値を蓄積するステップと、(e)各大きさの値が20個の積算器の各々に格納されるまで、ステップ(a)からステップ(d)を反復するステップと、(f) ステップ(e)を複数回繰り返して、20個の積算器の各々に大きさの値を積算させるステップと、(g)20個の積算器のうち、大きさの値の積算値の最も大きなものを含む積算器と、その最大の積算値を含む積算器に関連した特定のコード・エポックとを決定するステップと、(h)特定のコード・エポックをデータストリームのビット境界として特定するステップと、(i)20個のコード・エポック毎に生じるビット同期パルスを出力するステップと、を含む。
【0016】
微弱なGPS/GNSS信号は、約−151dBmを下回る信号レベルを有し、より一般的には、−148dBmを下回る。微弱なGPS/GNSS信号は、−160から−170dBmを下回る信号レベルを有してもよい。
【0017】
本発明の別の実施形態はまた、衛星からの微弱なGPS/GNSS信号を使用する、サブマイクロ秒の時刻転送回路を有するGPS/GNSS受信機を提供する。GPS/GNSS信号は、PNコード(「受信PNコード」と参照する)および航法メッセージを搬送する。GPS/GNSS受信機は、衛星のPNコードを生成する(「生成PNコード」と参照する)PNコード発生器を有する。PNコード発生器は、生成PNコードのコード・エポックを示すタイミング信号を出力し、各コード・エポックは生成PNコードの各周期(「コード周期」と参照する)の始まりを示す。(GPS/GNSS受信機は、さらに)タイミング信号に従って、各コード周期について、生成PNコードとデジタル化された複素ベースバンドGPS/GNSS信号とを相互相関させて、各コード・エポックにおいて複素相関値を出力する相互相関器であって、その複素相関値の列が航法メッセージを表すデータストリームを形成する相互相関器と、データストリームのビット境界を探知(位置決め)し、そのビット境界において番号付けられたビット同期パルスを発生するビット・シンクロナイザと、を備えている。
【0018】
本発明の一態様において、GPS/GNSS受信機はさらに、ビット・シンクロナイザおよび相互相関器に連結され、航法メッセージ内の目標セグメントを検出するための目標セグメント探知器を備えている。目標セグメントは、航法メッセージの各サブフレームの既知のビット位置に既知のkビット列を有する。目標セグメント探知器は、複数のサブフレームを検索し、その複数のサブフレームについての検索結果を積算して、特定のビット同期パルスを、サブフレーム内の目標セグメントのビット位置として特定する。GPS/GNSS受信機はまた、目標セグメントのビット位置と航法メッセージの特定ビットの既知の送信時刻とに基づいて、所定の時間的不明確さをもって目標セグメントの送信時刻を決定する、送信時刻決定器を備えている。
【0019】
GPS/GNSS受信機はさらに、局所時刻決定器を備えてもよい。局所時刻決定器は、外部情報源から得た近似的な時刻を使用してサブマイクロ秒の精度で局所時刻を決定し、所定の時間的不明確さを解決する時間的不明確さ解決部と、伝播遅延補正部とを有する。
【0020】
本発明の一態様において、目標セグメント探知器は、1ビット周期について複素相関値を積算して複素ビット値を得る1ビット積算器と、対応するビット同期パルスに従って複素ビット値を格納し、最新のk複素ビット値の列を保持するk段複素シフトレジスタと、最新のk複素ビット値の列の重み付け合計を得るための加重マルチプレクサ(加重マルチプレクサ)であり、各複素ビット値は、重み列の1つによって各々重み付けされ、重み列は目標セグメントの既知のビット列に対応している、加重マルチプレクサと、対応するビット同期パルスに従って重み付け合計の大きさを蓄積する一連の積算器と、一連の積算器のうち、積算された重み付け合計の大きさの最大のものを含む特定の積算器を決定し、その特定の積算器に関連した特定のビット同期パルスに基づいて、目標セグメントのビット位置を特定する、コントローラと、を備えている。
【0021】
加重マルチプレクサは、重み付けされた複素ビット値にkポイントFTTを行い、k個のFTT出力を発生する高速フーリエ変換器(FTT)と、k個のFTT出力の各々の大きさを演算し、そのk個のFTT出力の大きさの最大値を、重み付け合計の大きさとして得る大きさ演算器を備えていてもよい。
【0022】
目標セグメントは、航法メッセージ内のサブフレームのプリアンブルでもよく、kの数は8である。目標セグメントは航法メッセージ内の週の時刻(TWO)でもよく、kの数は17である。
【0023】
一定の時間的不明確さは、6(±3)秒の不明確さでもよい。一連の積算器は300個の積算器を有してもよい。
【0024】
本発明の別の実施形態は、ビット・シンクロナイザおよび相互相関器に連結された、GPS/GNSS受信機の別の目標セグメント探知器を提供する。目標セグメント探知器は、航法メッセージ内の目標セグメントを探知し、ここで目標セグメントは、航法メッセージ内の既知のビット位置に既知のkビットの列を有している。目標セグメント探知器は、目標セグメントを求めて航法メッセージを検索し、その検索結果を所定の閾値と比較することにより目標セグメントのビット位置を検出する。
【0025】
目標セグメント探知器は、1ビット周期について複素相関値を積算して複素ビット値を得る1ビット積算器と、対応するビット同期パルスに従って複素ビット値を格納し、最新のk複素ビット値の列を保持するk段の複素シフトレジスタと、最新のk複素ビット値の列の重み付け合計を得る加重マルチプレクサであって、各複素ビット値は、目標セグメントの既知のビット列に対応する重み列のなかの1つの重みによって各々重み付けされる、加重マルチプレクサと、重み付け合計の大きさが所定の閾値を超えるかどうかを決定する比較器と、重み付け合計の大きさが所定の閾値を超える場合に、最新のビット値がシフトレジスタに格納されるときのビット同期パルスから目標セグメントのビット位置を特定するコントローラと、を備えてもよい。
【0026】
加重マルチプレクサは、重み付けされた複素ビット値にkポイントFTTを行ってk個のFTT出力を発生するkポイント高速フーリエ変換器(FTT)と、k個のFTT出力の各々の大きさを演算し、k個のFTT出力の各々の大きさの最大値を重み付け合計の大きさとして得る大きさ演算器と、を備えてもよい。
【0027】
加重マルチプレクサはさらに、最大の大きさを有するkポイントFTT出力に関連した周波数に基づいて周波数誤差信号を発生する周波数誤差信号発生器を備えてもよい。
【0028】
目標セグメントはフレーム毎に一度生じてもよく、その場合の所定の時間的不明確さは30(±15)秒の不明確さである。目標セグメントは航法メッセージにあるエフェメリスデータのセグメントでもよく、kの数は128またはそれ以上でもよい。あるいは、目標セグメントは航法メッセージ毎に一度生じてもよく、その場合の所定の時間的不明確さは12.5(±6.25)分の不明確さである。
【0029】
本発明の一態様において、GPS/GNSS受信機はさらに、ベースバンド信号のドップラ誤差を補償するための周波数ロック・ループ(FLL)を備えてもよい。GPS/GNSS受信機はまた、受信PNコードと生成Nコードとを相関させることにより、生成PNコードを受信PNコードに整合させる遅延ロック・ループ(DLL)を備えてもよい。
【0030】
本発明の実施形態はまた、微弱なGPS/GNSS信号を使用するGPS/GNSS受信機のための特定のビット・シンクロナイザを提供する。データ・ビット毎に20のコード・エポックが存在する。ビット・シンクロナイザは、タイミング信号に従い、対応するコード・エポックにおいて複素相関値を格納し、最新の20個の複素相関値の列を保持する20段複素シフトレジスタと、各エポックにおいてシフトレジスタ内の20個の複素相関値を合計する加算器と、20個の複素相関値の合計の大きさを演算する大きさ演算器と、所定時間のあいだ、コード・エポックに従って、大きさの値を蓄積する一連の積算器と、一連の積算器のうちから、大きさの値の最大の積算値を含む1つの積算器を決定し、その最大の積算値を含む積算器に関連した特定のコード・エポックを、データストリームのビット境界として特定するコントローラと、そのビット境界に対応するコード・エポックにおいて同期パルスを出力するビット同期パルス発生器と、を備えている。
【0031】
本発明の別の実施形態は、GPS/GNSS受信機の位置を確立するための方法を提供する。本方法は、(a)第一および第二の衛星を有する第一の衛星対からの第一および第二のGPS/GNSS信号を観測するステップであって、第一のGPS/GNSS信号は、第一の信号構造における一点(ファーストポイント)を定義し、第二のGPS/GNSS信号は、第二の信号構造における一点(セカンドポイント)を定義する、ステップと、(b)第一のGPS/GNSS信号の一点(ファーストポイント)の第一送信時刻(TA1)および第二のGPS/GNSS信号の一点(セカンドポイント)の第二送信時刻(TB1)を得るステップと、(c)第一送信時刻に基づいて第一の衛星の第一位置を決定し、第二送信時刻に基づいて第二の衛星の第二位置を決定するステップと、(d)第一および第二送信時刻の差分(△1=TA1−TB1)を計算するステップであって、緯度および経度の関数として与えられる既知の高度情報を使用することにより、差分△1によってこの時間差分が観測される地球表面上に位置線(Line of Position) PC1(△1)を定義するステップと、(e)所定時間の後、異なる位置にある第二の衛星対について、ステップ(a)からステップ(d)を繰り返し、地球表面上に第二の位置線PC2(Δ2)を得るステップであって、ここでΔ2=TA2−TB2であり、TA2およびTB2は異なる位置にある第二の衛星対の2つの送信時刻である、ステップと、(f)位置線Pc1(△1)および第2の位置線Pc2(Δ2)の交点に受信機の位置を得るステップと、を含む。第二の衛星対は、第一の衛星対の1つまたは両方の衛星を含んでいてもよい。
【図面の簡単な説明】
【0032】
【図1】本発明の一実施形態によるサブマイクロ秒の時刻転送のための方法および対応する回路を概略的に示すブロック図である。
【図2A】本発明の一実施形態による、受信したPNコード、生成PNコード、および対応するコード・エポックを示す概略的なタイミング図である。
【図2B】本発明の一実施形態による、航法データストリームおよび対応するビット同期パルスを示す概略図である。
【図2C】航法データストリームおよびモジュロ−300のタグを概略的に示す図である。
【図2D】本発明の一実施形態による、8段のシフトレジスタおよび300個の積算器を概略的に示す図である。
【図2E】300個の積算器における積算値を示す概略図である。
【図3】本発明の一実施形態による、ビット・シンクロナイザおよび対応するビットの同期処理の例を概略的に示す図である。
【図4】GPSの航法データストリームのフレームおよびサブフレームの構造の例を概略的に示す図である。
【図5】本発明の一実施形態による、プリアンブル探知器およびプリアンブルを探知する対応する方法の例を概略的に示す図である。
【図6】本発明の別の実施形態による、サブマイクロ秒の時間を得る方法および対応する回路を概略的に示すブロック図である。
【図7】本発明の一実施形態による、目標セグメント探知器80および既知のビット列の発生を検出するための対応する方法の例を概略的に示す図である。
【図8】本発明の一実施形態による、2つのGPS信号から受信機の位置を得るための方法を示す概略図である。
【発明を実施するための形態】
【0033】
添付の図において、本発明は限定的にではなく例示により説明され、同様の参照番号は同様の構成要素を示している。
【0034】
添付の図で示したように、いくつかの好ましい実施形態を参照して、これから本発明を詳細に記載する。以下の記載では、本発明の理解を高めるために多くの具体的な詳細を説明する。しかし、本発明がこれらの具体的な詳細の一部または全てを用いることなく実施され得ることは、当技術分野における当業者には明らかであろう。別の場合では、本発明が不必要に曖昧なることを避けるため、周知の処理ステップおよび/または構造は詳細に記載しない。
【0035】
本発明は、屋内やビルの谷間で受信したような、激しい減衰を受けている極めて微弱なGPS/GNSS信号を使用してサブマイクロ秒の時刻転送ができる、新規の方法および装置を提供する。いくつかの要因にもよるが、−160から−170dBm程度の微弱な信号が使用できる。一旦時刻転送が開始されてしまえば、時刻転送はいつでも1機のGPS/GNSS衛星を使用するだけで維持でき、1機の衛星から別の衛星へ移転することも可能である。全ての衛星信号が追跡閾値を下回る場合であっても時刻精度を維持する方法も記載される。
【0036】
具体的には、本発明の実施形態は、L1C/A(Coares Acisition:粗捕捉)コード化されたGPS信号を使用して記載される。しかし、当技術分野で通常の技術を有する当業者であれば、本発明が特定のGPS信号の使用に限定されるものではなく、別のGNSS信号も適用できることが十分に理解されるであろう。同様に、以下の記載におけるGPS受信機はGNSS受信機でもよい。
【0037】
以下の記載において、以下の環境を満たされていることが仮定される。(1)GPS受信機は固定されている。(2)GPS受信機の位置は、任意の種々の方法によって確立される。(3)衛星エフェメリスデータ、衛星時計補正データ、アルマナックデータ、および週の時刻(TOW: Time of Week)のようなその他の航法メッセージのデータは、インターネットまたは支援DSL(ADSL)のリンクのような外部情報源から入手できる。(4)一旦開始されると時刻転送は継続して可能であるが、その開始には相対的に長時間の時間間隔が許容される。この目的のため、およそ10分から数十時間のオーダーの時間間隔が許容されうる。加えて、GPS受信機およびその時刻転送のハードウェア/ソフトウェアは低コストであるべきである。また、低電力消費である必要はない。
【0038】
図1は、本発明の一実施形態による、単一の衛星からのサブマイクロ秒の時刻転送をするための方法および対応する回路100を概略的に示すブロック図である。もし複数の衛星信号が利用できる場合は、図中の全ての構成要素は追跡される各衛星のために複製される。図1は極めて微弱なGPS信号から非常に正確な時間、すなわちサブマイクロ秒の時間を得ることができるGPS受信機の一部のみを示している。サブマイクロ秒の精度のためには、受信機の位置は約100メートル以内で知られており、衛星信号は既に捕捉(acquire)され、コードおよび搬送周波数の追跡は既に開始されていると仮定している。すなわち、図1に示されるように、回路100への入力信号は、GPS受信機の無線周波数(RF)前端部(フロントエンド:図示せず)により受信され、ベースバンド周波数に変換されたデジタル化されたベースバンド信号10である。
【0039】
信号捕捉、コード追跡、および搬送周波数追跡は、当技術分野で通常の技術を有する当業者に周知の、従来の任意の処理を使用して行ってもよい。信号捕捉、コード追跡、および搬送周波数追跡は、本発明の一部ではなく、従ってこの具体的に詳細には説明しない。受信機の位置を最初に確立する方法は後述する。デジタル化されたベースバンド信号10は複素信号であり、I+jQ(I:実部または余弦成分、Q:虚部または正弦成分)として表現されることに留意されたい。従って、簡単にするため図には2つのチャネルが特に明示されていないが、信号処理は2つのチャネルで実行される。
【0040】
<周波数ロック・ループ>
極めて微弱な信号を追跡するために、搬送波追跡は、従来のGPS信号のFLLよりも非常に狭い、極めて狭いバンド幅(およそ0.01Hz)を用いた周波数ロック・ループ(FLL)を用いて達成される。従来のコスタス位相ロック・ループ(PLL’s)は、データ・ビットにより引き起こされた非コヒーレンスを排除するのに必要な信号二乗により、SNRの損失を大きく受けるため、極めて微弱な(約−151dBmを下回る)信号を追跡するのに適していないことに留意されたい。SNRの損失は、極端に小さなPLLループバンド幅(多分0.01Hzと同程度)を使用することにより取り戻すことができると考えるかもしれない。しかし、そのように小さなループバンド幅においては、ベースバンドへの周波数変換後の単一位相不安定性を追跡するのは困難となりかねない。このような位相の不安定性は、典型的な低コスト受信機の、受信機の周波数基準としての役割を果たすTCXO基準発振器の位相不安定性により引き起こされる。
【0041】
図1を参照すると、複素(I+jQ)のデジタル化されたベースバンドのGPS信号10は、位相回転器12によりドップラ補償される。この位相回転器12は、FLL14により制御されて、位相回転器の出力16における周波数を名目上(ほぼ)ゼロ周波数に駆動する。FLL14は、周波数弁別器18、FLLループ低域通過フィルタ20、および数値制御発振器(NCO)22を備えている。周波数弁別器18への入力信号24は、1ミリ秒の信号相関(相関器)28の複素出力(I+jQ)から成り、以下でより詳細に記載される。周波数弁別器18は、受信した50ビット/秒の航法データにおける極性遷移の影響を極小化するように設計されており、データ・ビット境界のタイミングが未知の場合にも引き込み(プルイン)できるようにしている。
【0042】
受信機は静止しており(Stationary)、既知の位置(近似的な位置)にあり、エフェメリスデータが入手できるため、図1に示されるように、既知のドップラ率補正(訂正)26がNCO22を介して位相回転器12に適用される。ドップラ率補正は1Hz/秒より大きくはなく、既知の受信機位置の多少の誤差には影響を受けない。これにより、衛星の動きによる信号上の周波数変化を実質的に全て除去し、FLLループフィルタ20を介してNCO22を制御することにより、残存するドップラ誤差を検出して除去するFLL14の操作を向上させる。
【0043】
シミュレーションによれば、FLLは、約±10Hzの最大周波数追跡誤差を有し、−165dBm程度に微弱な信号をも追跡することができ、引き込み時間定数は数分のオーダーである。この高レベルのパフォーマンスは、受信機の静止性およびNCO22のドップラ率補正により可能となり、この両者が信号周波数を実質的に一定に維持している。周波数追跡誤差は十分に小さいため、後に記載する時刻抽出の操作が正しく行える。
【0044】
<コード追跡遅延ロック・ループ(DLL)>
図1はまた、コード追跡弁別器32、DLL低域通過ループフィルタ34、および受信したC/A−PN(疑似ランダムノイズ)コードのレプリカ38(生成されたレプリカコード)を局所的に生成するコード発生器36を備えたコード追跡遅延ロック・ループ(DLL)30を示している。コード追跡弁別器(相関器)32は、生成PNコード38および受信PNコード(ドップラ補償したベースバンド信号16に存在する)を相関させ、生成PNコード38と受信PNコード16とが整合していない場合に、コード位相誤差信号33を出力する。DLLループフィルタ34は、コード位相誤差信号33のノイズを除去し、その信号をコード位相制御信号35としてコード発生器36に適用する。コード発生器36は、このようにして整合させられた生成PNコード38を出力する。すなわち、DLL30は、コード発生器36を制御して、レプリカPNコード38が、位相回転器12の出力に現れる受信PNコード16に時刻一致するように維持する。コード発生器36はまた、局所的に発生されたPNコード38の、1ミリ秒毎に生じる各エポックにおいて、コード・エポック信号(タイミング信号)39を出力する。
【0045】
通常の操作中、サブマイクロ秒精度の時間が利用できるときは、受信機の既知の位置、エフェメリスデータ、および正確な時刻情報により、衛星のドップラ軌跡が極めて正確に予測できるため、DLL追跡ループ30の感度を著しく向上させることができる。DLL30は、極めて狭いループバンド幅(約0.01Hzまたはそれを下回る)を使用して、−170dBmと同程度に低い信号を追跡できることが予想される。
【0046】
<ミリ秒の相関>
図1に示されるように、1ミリ秒相関(相関器)28は、位相回転器の出力の信号16(受信PNコード)をコード発生器36から来るPNコード38と相互相関させ、複素値(I+JQ)の1ミリ秒相関出力(複素相関値)24の連続した列を生成する。各相関の出力および次の相関の始まりは、局所的に発生したコードの1ミリ秒毎に生じる各エポックで生じる。すなわち、コード・エポック信号(タイミング信号)39により制御され、1ミリ秒相関器28は、各コード周期(すなわち、1ミリ秒または1023チップ)について、ベースバンド信号16と生成PNコード38とを相互相関させ、各コード・エポックで複素相関値を出力する。複素相関値(I+JQ)の列は、航法メッセージを表すデータストリームを形成する。
【0047】
DLL30が、局所的に発生させたPNコード38を受信PNコード16に整合させ続けるため、各相関の出力が相関関数のピーク近くにあり、それゆえ、FLL、ビット同期、および時刻転送を確実に行える十分な処理獲得(プロセスゲイン)が得られる。図2Aは、受信PNコード、整合した生成PNコード、および対応するコード・エポックを概略的に示している。
【0048】
<ビット同期>
当技術分野で通常の技術を有する当業者に周知のように、GPS信号の50bps(1秒毎のビット)のデータストリームが航法メッセージを搬送する。50bpsのデータ・ビット境界は、常にPNコードのエポックで生じる。PNコードのエポックは、PNコードの各周期(1ミリ秒、1023チップ)の始まりを示しており、データ・ビット(20ミリ秒、20,460チップ)毎に正確に20のコード・エポックが存在する。位相を確実に追跡することができない極度に低い信号レベルで動作するため、ビット同期の長時間部分コヒーレント法(Long−term partially coherent method)がデータ・ビット・シンクロナイザ40で行われる。本発明の一実施形態によれば、ビット・シンクロナイザ40は、GPSのデータストリームのビット境界の位置を突き止め(探知し)、そのビット境界において、番号付けられた(タグ付)ビット同期パルスを発生する。
【0049】
図3は、本発明の一実施形態による、ビット・シンクロナイザ40および対応するビット同期処理の一例を概略的に示している。図3に示されるように、ビット・シンクロナイザ40は、20段複素シフトレジスタ50、加算器52、および20個の積算器56を備えている。1ミリ秒相関器28(図1で図示)から出力される複素(I+JQ)相関値24は、局所的に発生させたPNコード38の各エポック発生時に20段複素シフトレジスタ50に入り、シフト・レートは名目上1000シフト/秒である。また、コード・エポック信号39により与えられるエポックは、モジュロ−20カウンタ(図示せず)を連続的に駆動し、図2Aで示されるように、各エポックをモジュロ−20数(0から19)によってタグ付けする。図3に戻り、各シフト毎に、シフトレジスタ50の20段の複素相関値は加算器52により合計され、その合計の大きさが大きさ演算器54に取り込まれる。合計の大きさの値55は20個の積算器56の1つに格納される。ここで特定の積算器57n(0≦n≦19)が、最新のPNコード・エポックのモジュロ−20のタグと同じ指標(インデックス)nを有する。
【0050】
積算器56内の合計された大きさの値55は、ビット値(相関値)が同じビット内では(ノイズを除き)ほぼ同じであるため、信号データの1ビット全体がシフトレジスタ50に存在する場合に最大化する傾向がある。20ミリ秒毎に繰り返されるこの状況は、常に、PNコード・エポックの同じモジュロ−20のタグにおいて生じる。その他のエポックにおいては、シフトレジスタ50内でデータ・ビットの極性遷移が頻繁に現れるため、大きさの値55が小さくなる傾向がある。従って、十分に長い時間(積算処理の繰り返し)の後、最大の積算値57nを含む積算器の指標nは、データ・ビットの遷移が生じる(すなわち、ビット境界である)コード・エポックのモジュロ−20のタグnとなる。ビット・シンクロナイザ40のビット同期パルス発生器58は、この特定のコード・エポックが生じてはじめて、このコード・エポック毎にビット同期パルス44を生成することができる。データ・ビットは、ビット同期パルス44において終始する。図2Bは、航法データストリームおよび対応するビット同期パルスの一例を概略的に示している。ビット・シンクロナイザ40はまた、積算器56のうち最大の積算値を含む1つの積算器を決定し、その積算器に関連した特定のコード・エポックをデータストリームのビット境界として特定するコントローラ(図示せず)を備えてもよい。このコントローラはビット同期パルス発生器58の一部でもよい。
【0051】
シミュレーションによれば、このビット同期の方法は、FLL周波数の追跡誤差が+10Hzと同程度に大きいときでさえ、1分間の実行が許容されるときは−160dBm、10分間の実行では−168dBm、そして30分間の実行では−170dBmにおいても極めて信頼性があることが示される。
【0052】
<信号送信時刻の取得>
サブマイクロ秒精度の時刻を得る鍵は、受信信号上の与えられた一点(ポイント)が送信された人工衛星時刻(SV時刻)を決定する能力にある。信号の所定部分の送信時刻は先験的に(理論に基づき)知られているが、一般的にいくらかの時間的不明確さを有する(この時間的不明確さは後に記載される種々の方法により解決できる)。もし信号の所定部分の生起(Occurrence)が検出できるなら、信号のいかなる部分が送信されたSV時刻をも決定することができる。そして、外部情報源からの時計補正データにより、そのSV時刻を極めて正確なGPS時刻に変換することができる。当技術分野で通常の技術を有する当業者に周知のように、衛星の時計によって規定された時刻は通常SV時刻と参照され、補正が適用された後の時間はGPS時刻と参照される。従って、個々の衛星は完全に同期したSV時刻を持たないかもしれないが、共通のGPS時刻を有する。
【0053】
<例示1:サブフレームのプリアンブル生起の検出>
図4は、GPS航法データストリームのフレームおよびサブフレームの構造を概略的に示している。完全な航法データメッセージは25フレームから成り、各フレームは50ビット/秒のレートで送信される1500ビットを含む。各フレームは、5つの300ビットのサブフレーム(図4の#1から#5)に分割され、各サブフレームは、最上位ビット(MSB)が最初に送信される各30ビットの10ワードから成る。従って、50ビット/秒のレートでは、サブフレームを送信するのに6秒かかり、1つのフレームを完送するには30秒かかる。完全な25フレームの航法メッセージの送信には750秒または12.5分を必要とする。時折の更新を除き、サブフレーム#1、#2、および#3は、ほとんど変わらず(一定)、各フレーム30秒のフレーム反復レートで繰り返している。一方、サブフレーム#4および#5は各々が25回転換(subcommute)する。サブフレーム#4および#5の25個のバージョンは1〜25ページとして参照される。それ故、時折の更新を除いて、これらのページの各々は、750秒毎または12.5分毎に繰り返される。
【0054】
各サブフレームの最初の8ビットは、プリアンブルと呼ばれる固定した8ビット列(10001011)であり、各サブフレームの始まりを探知するために使用できる。各プリアンブルにおける最初のビットのSV送信時刻は6秒の不明確さ(多義性)を除いて既知の時刻である。従って、航法データ・ビットストリーム内でプリアンブルの生起が検出できれば、最初のビットのモジュロ6秒の送信時刻が確立できる。
【0055】
プリアンブルの生起は、プリアンブル探知器60(図1に図示)によって検出される。図5は、本発明の一実施形態による、プリアンブル探知器60の一例および対応するプリアンブル探知方法を概略的に示している。プリアンブル探知器は、20ミリ秒積算器61、8段複素シフトレジスタ62、重み乗算器64、付加的な(オプションの)8ポイント高速フーリエ変換器(FFT)66、大きさ計算機68、最大値選択器70、一連の300個の積算器72を備えている。重み乗算器64、付加的な8ポイント高速フーリエ変換器‘(FFT)66、大きさ計算機68、および最大値選択器70は、これらを合わせて加重マルチプレクサとして参照されても良い。図5に示されるように、図1の1ミリ秒相関器28からの複素相関値42の出力は、20ミリ秒積算器61において積算される。
【0056】
先に言及したように、ビット同期がすでに確立されていると仮定して、各20ミリ秒の積算は、ビット1または0を表す複素値に対応する、同じデータ・ビット内での複素値の合計を表している。この20ミリ秒の積算(すなわち複素ビット値に対応)は、ビット同期パルス44のタイミングによって8段複素シフトレジスタ62を通過する。すなわち、同期パルス44が生じる毎に、20ミリ秒間の積算結果がシフトレジスタ62に出力され、同時に20ミリ秒積算器61での積算処理のリセットおよび再開が行われる。従って、シフトレジスタ62の内容は、20ミリ秒毎、すなわちビット毎にシフトされる。ビット同期パルス44はまた、図2Cで示されるように、各ビット同期パルスをモジュロ−300の数(0から299)でタグ付けするモジュロ−300のカウンタ(図示せず)を駆動する。各複素ビット値は、複素ビット値が20ミリ秒積算器61からシフトレジスタ62にシフトされる時の、ビット同期パルス44の対応するモジュロ−300のタグによっても特定される。8段シフトレジスタ62は、8データ・ビットに対応する複素ビット値を保持し、プリアンブルの既知のビット列を検索するための8ビットウインドウとして機能する。例えば、図5で示されるように、ビット同期パルス44がモジュロ−300のタグmを有するとき、シフトレジスタ62は、m−7からmまでのモジュロ−300のタグに対応する複素ビット値を保持している。
【0057】
図5で示されるように、8段シフトレジスタ62の出力タップ(複素値)は、重み乗算器64において、既知のプリアンブルビット列(バイナリ0の代わりに−1の重みを有する)により重み付けされる。ここで、データ・ビット値が変わるとき、そのビット値を表す複素ベクトルは複素平面において反転することに留意されたい。従って、プリアンブルが完全にシフトレジスタ62を占めている場合、1および−1(ノイズを除く)の既知のビット列による重み付けにより、8ビットに対する全てのベクトルが同一(ノイズを除く)になる。ドップラ誤差が無い場合は、重み付けした複素値(すなわち一致したベクトル)は単純に加算合計されてもよく(8ポイントFTTの操作が抑止されてもよい)、その合計の大きさは、8段シフトレジスタ62がプリアンブルを含んでいるときに最大となる傾向がある。しかし、FLL14(図1に図示)は完全にはドップラの影響を補償しないかもしれず、位相回転器12でのドップラの補償はノイズにより完全ではないかもしれず、そのため複素ベクトルは依然としてゆっくりと回転しているかもしれない。従って、図5に示されるように、各シフトの直後、重み付け出力に対して8ポイントFFT(66)が行われ、8ポイントFFTの出力の大きさが計算され(68)、そして8ポイントFFTの出力の大きさの最大値が選択される(70)。この最大値は300個の積算器72の1つに格納される。図5に示されるように、特定の積算器72mは、最新のビット同期パルス(0≦m≦299)のモジュロ−300のタグと同じ指標mを有する。
【0058】
図2Dは、8個の複素ビット値の重み付け合計(8ポイントFFT後のその最大値)の大きさを積算器に格納する操作の一例を概略的に示している。図2D、A、B、C等では、シフトレジスタに保持された複素ビット値(すなわち、ビット1または0に対応する20ミリ秒の積算)を表している。この例では、図2Cおよび図2Dで示されるように、モジュロ−300のタグmを持つ同期パルスにおいて、シフトレジスタがプリアンブル全体を含んでおり、ここで複素ビット値Bは、プリアンブルの最初の(開始)ビットに対応するモジュロ−300のタグm−7を有している。この処理は、ノイズを平均化して除去するために複数回繰り返されてもよい。
【0059】
プリアンブルがシフトレジスタ62を完全に占めるとき(これは航法メッセージの300ビット毎に生じる)、8ポイントFFTの出力の最大の大きさが最も大きくなる傾向があり、時間の経過とともに、対応する積算器72m(図5)は、他の積算器よりも大きな値を積み立てる。従って、十分に長い時間の後は、図2Eで示されるように、最も大きく積算された値を含む積算器72の指標mは、プリアンブルがシフトレジスタ62内に完全に納まるようになるときのビット同期パルス44のモジュロ−300のタグmになる。
【0060】
プリアンブル探知器60はまた、一連の300個の積算器の中で最大の値を含む特定の積算器72mを決定し、指標m−7を有するビット同期パルスをプリアンブルの最初のビットの位置として特定するためのコントローラ74を備えている。コントローラ74は、航法メッセージにおける目標セグメントのビット位置および特有ビット(すなわち、サブフレームの最初のビット)の既知の送信時刻に基づいて、一定の時間的不明確さをもって目標セグメントの送信時刻を決定するための送信時刻決定器(図示せず)を備えてもよい。このようにして、サブフレームの最初のビットでもあるプリアンブルの最初のビットの送信時刻は、6秒の不明確さもって決定されうる。
【0061】
もしFLL14が周波数誤差をゼロに維持できた場合、先に言及したように、8ポイントFFTの出力の最大の大きさは、周波数ゼロのFFT出力ビン(この周波数ビンの出力は、シフトレジスタタップの重み付け出力の単なる加算合計である)に生じる傾向があるため、8ポイントFFT66は必要ない。しかし、ノイズによって、FLL14のFLL追跡においてゼロでない周波数誤差が生じるため、重み付け出力の合計におけるコヒーレンスの低下による信号減衰が存在し得る。FFTは、その出力の形成において周波数誤差を相殺することによりコヒーレンスを取り戻す。
【0062】
プリアンブルは8ビットしか含んでいないため、同じビット列が航法メッセージの他の部分に現れる可能性がある。しかし、これが全てのサブフレームの同じ位置(スポット)に起こることはまずあり得ない。プリアンブルは全てのサブフレームに現れるため、その生起は顕著になる。
【0063】
コンピュータシミュレーションによれば、−160dBmでは5フレーム(150秒または2.5分のデータ)のみの観測により、−170dBmでは25フレーム(750秒または12.5分のデータ)の観測により、プリアンブルが信頼性を持って検出できることが示されている。
【0064】
プリアンブルを探知するための300個の積算器72の必要性は、種々の方法で軽減することができる。その一つの方法は、300ビットのサブフレーム周期のより小さな部分を(一度に一部分)検索することである。例えば、各一部分が50ビット含んでいる場合は、50個の積算器を使用して各サブフレームの同じ50ビットの位置を検索し、最大の積算器値を保有する。この処理を6回繰り返して300ビットのサブフレーム周期全体をカバーすれば、6個の最大値のうちの最大のものによりプリアンブルが探知できる。もちろん、これにより検索時間は6倍になるであろう。
【0065】
近似的な時刻が外部情報源から入手できる場合は、別の方法が使用できる。例えば、時刻が±0.5秒内で既知の場合、6秒毎に約50ビットのデータを検索することのみが必要であり、50の積算器のみが必要であろう。両方の方法を用いれば積算器の数をさらに減らすことができる。例えば、50ビットのデータを10ビット毎の5つの部分に分割すれば、積算器の数を10に減らすことができる。
【0066】
<例示2:より大きなビットセグメントの生起の検出>
図6は、本発明の別の実施形態による、信号送信時刻を得る別の方法を概略的に示しており、航法メッセージのより大きなデータ・ビットセグメントの生起を検出する。図6では、同様の要素には図1と同様の参照番号を付している。図6に示されるように、回路200は、図1のプリアンブル探知器60に代わり目標セグメント探知器80を備えている。衛星エフェメリスデータ、衛星時計補正データ、アルマナックデータ、およびたぶん週の時刻(TOW)のような航法メッセージの他のデータが外部情報源から入手できると仮定できるので、このようは情報を、送信に使用されるビット列を決定するために用いることができる。これらの既知のビット列のフレーム開始に対する相対位置は既知であるため、1つのフレームの開始における最初のビットの発生は、検出された既知のビット列から決定することができる。フレームの開始ビットの送信時刻は30秒の不明確さ(フレームの長さ)で既知であるので、独立した時刻情報により、この不明確さは容易に±15秒内にまで除去できる。
【0067】
図7は、本発明の一実施形態による、目標セグメント探知器80および既知のビット列の生起を検出するための対応する方法を概略的に示している。具体的には、外部から与えられた航法データにより、フレーム開始に対して既知の位置にある128ビット列が決定されていると仮定する。フレーム内において、既知の位置に既知の列を有する所定数のデータ・ビットを目標(ターゲット)セグメントとして参照する。従って、先の実施形態のプリアンブルもまた1つの目標セグメントである。この例では、目標セグメントはエフェメリスデータの128ビット列である。ここで仮定したビット数は限定的ではなく例示的なものであり、より小さいまたは大きい数を使用できる。しかし、この例では、大きな処理利得が達成できること示すために、比較的大きな数を選択している。図7に示されるように、目標セグメント探知器80は、20ミリ秒積算器81、128段複素シフトレジスタ82、重み乗算器84、付加的な(オプションの)128ポイント高速フーリエ変換器(FFT)86、および大きさ演算器88を備えている。重み乗算器84、付加的な128ポイント高速フーリエ変換器(FFT)86、および大きさ演算器88は合わせて加重マルチプレクサとして参照されてもよい。目標セグメント探知器80はまた、最大値比較器を有するコントローラ90を備えている。
【0068】
1ミリ秒相関器28(図6に図示)の複素出力24は、20ミリ秒積算器81で積算され、20ミリ秒毎に生じる20ミリ秒の積算器81の出力は、128段複素シフトレジスタ82を通過する。図5で示した先の例と同様の方法で、ビット同期パルス44の各発生によって20ミリ秒間の積算がシフトレジスタ82に出力され、同時に20ミリ秒積算器81の積算処理のリセットおよび再開が行われる。従って、シフトレジスタ82の内容は20ミリ秒毎にシフトされる。ビット同期パルス44はまた、各ビット同期パルス44をモジュロ1500の数(0から1499)でタグ付けするモジュロ1500のカウンタ(図示せず)を駆動する。
【0069】
128段シフトレジスタ82の出力タップは、加重マルチプレクサ84において、外部から与えられた航法データの既知のビット列により重み付けされる。先の例と同様に、重み付けにおいてデータ・ビット0が−1に置換される。各シフトの直後、重み付けされた出力に128ポイントFFT86を行い、128個のFFTの出力の各々の大きさが計算される(88)。128個のFFTの出力の最大の大きさは、コントローラ90の最大値比較器において所定の閾値Tと比較される。目標セグメントは、十分に大きなビット数の(ランダムあるいは反復しない傾向がある)特別な列を有しているため、128段シフトレジスタ82に完全に収納されたセグメントは、他のいかなる場合よりも著しく大きな値を生成するであろう。従って、例えば閾値Tは、目標セグメントのデータの長さおよび予想されるノイズレベルに基づいて設定してもよい。
【0070】
閾値Tを超えた場合は、目標セグメントの既知のビット列(この例ではエフェメリスデータ)がシフトレジスタ82に完全に収められたと判定され、最新のビット同期パルス44のモジュロ1500のタグが記録される。フレームの最初のビットに対する既知のビット列の位置は知られているため、フレームの最初のビットの始まりにおけるビット同期パルス44のモジュロ−1500のタグもまた直ちに知られ、これらの最初のビットの送信時刻は、30秒の不明確さでわかる。このようにして、最大値(重み付け合計)が所定の閾値Tを超えた場合、コントローラ90は、記録されたビット同期パルスから目標セグメントのビット位置を特定する。
【0071】
特定の目標列はフレーム毎(すなわち、30秒毎)に一度だけ生じるが、先の例のプリアンブルはサブフレーム毎(すなわち、6秒毎)に一度生じる。従って、外部情報源によって近似的な時刻が30秒内(±15秒)で既知の場合、正確な送信時刻が決定できる。加えて、最大の大きさが閾値Tを超え次第、残るフレームを検索することなく目標セグメントの位置を宣言することができる。
【0072】
この方法の信頼性が高いのは、比較的大きなビット数(プリアンブルの8ビットと比較して)を合計するため、既知のビット列と信号との相互相関に固有な処理利得(約21dB)が大きいためである。さらに、同じビット列がフレームの別の場所に現れる可能性は極めて小さい。加えて、一連の積算器も必要とせず、実質的に受信機のコストが削減される。
【0073】
128ポイントFFT86は、先に記載したように、プリアンブルを探知するために使用される8ポイントFFT66と同じ目的を果たす。しかし、その大きな処理利得のため、128ポイントFFT86は別の有益な目的のためにも用いることができる。128ポイントFFTの周波数分解能が1/(128×0.02)=0.39Hzであるため、閾値Tを越えるときに最大の出力の大きさを持つ周波数ビンはFLLの周波数誤差の極めて正確な指標を提供する。図6に示されるように、この誤差は、高精度の周波数誤差信号98として30秒の間隔でNCO22に送ることができ、FLL14の操作を実質的に向上させ、実際、−170dBmでの信号の追跡を可能にする。従って、コントローラ90はまた、高精度の周波数誤差信号98を出力する周波数誤差信号発生器を備えてもよい。
【0074】
サブフレーム#1に存在してフレーム毎に一回現れる衛星時計補正データを、エフェメリスデータと同じ方法で使用することができ、その結果、同様に30秒の不明確さで送信時刻が決定される。
【0075】
既知のビット列がアルマナックからのものである場合、航法メッセージ全体を構成する25フレームのうちの1つにしか既知のビット列が生じないため、時間的不明確さは12.5分に増やすことができる。しかし、ビット列を検出するために最大12.5分かかることになる。
【0076】
既知であり得る他のビット列としては、航法メッセージ内の週の時刻(TOW)がある。TOWは各サブフレームにおける第二の30ビットワードの最初の17ビットから成る。もし近似的な時刻が±3秒で既知であれば、17ビットのパターンを決定することができ、その生起が検出できる。その結果、受信信号のいかなる位置(ポイント)でも不明確でない送信時刻が得られる。
【0077】
<時間的不明確さの解決および信号伝播時間の補正>
図1および図6に示されるように、サブマイクロ秒の局所時刻を得る最終ステップは、残存する時間的不明確さの解決および信号伝播遅延の補正であり、局所時刻決定回路102の伝播遅延補正部およびの時間的不明確さ解決部により行われる。
【0078】
1.時間的不明確さの解決
時間的不明確さは、種々の源から得られる、受信機における近似的な時刻の情報を使用することにより解決される。
【0079】
例示1(プリアンブルを検出することによる)で送信時刻を得る場合、近似的な時刻は±3秒以内でなければならず、例示2(外部から与えられた航法データから目標セグメントを検出することによる)については±15秒以内でなければならないが、目標セグメントがフレーム毎に一回生起するときには後者が達成し易い。例示2においてアルマナックからの既知のビット列を使用する場合は、近似的な時刻は±6.25分以内で既知であればよい。これらの時刻精度、特に後者は、クォーツ制御された腕時計に見られるような低コスト時計の精度範囲内であり、これらの時計は、まず十分な精度に設定されてから、数日間または数週間にわたり維持される(これらの時計はまた、さらに長い期間にわたって必要な精度を維持できるように誤差率を調整することもできる)。±3秒内の近似的な時刻は、ADSLを介して得られてもよく、また携帯電話ネットワークを介して得ることも可能かもしれない。±6.25分内の精度、さらに恐らくは±15秒の精度も、インターネットを介して得ることができる。近似的な時刻のその他の情報源としては、米国のWWVBのようなラジオ放送局、またはそれに対応する日本やヨーロッパの放送局からの原子的に制御された低周波数の無線信号を受信することである。これらの情報源から入手される時刻の精度は、伝播遅延を全く補正しようとしない場合、一般的に0.01から0.1秒の範囲内である。
【0080】
近似的な時刻は、受信機の位置が既知であり、エフェメリスデータが入手でき、緯度および経度の関数として高度が既知である(例えば、地図データベースから)場合は、衛星を2機のみ追跡することにより確立することができる。受信機の位置情報(緯度、経度、および高度)およびエフェメリスデータは、無線または有線ネットワークを介して受信機をインターネットに接続することによりインターネットから、あるいは他の通信回線から、自動的にまたは手動により得てもよい。位置情報は、GPS受信機それ自体を使用して得てもよい。例えば、受信機が家の中またはビルの中(屋内)にあり、従って受信中のGPS信号が極めて微弱な場合、受信機を屋外や近くにある信号受信が良好な場所(例えば、許容できる位置精度100メートル以内で)に移動させる。受信機が許容される位置精度の範囲内にある限り、送信時刻の検出および時間的不明確さの解決は同様にして行うことができる。
【0081】
時間的不明確さを解決する方法は、受信機の位置が最初から分かっておらず、信号が微弱すぎて航法データを回復できない場合に、5機またはそれ以上の衛星から時刻を得る方法と類似しており、その方法は、本出願人により2005年4月12日に米国特許商標庁に出願されたマゼランシステムズジャパン株式会社の特許出願第11/103,499号、現在は2008年4月22日に特許証が発行された米国特許第7,362,265号、に記載されている。この方法は、受信機位置が既知の場合、同時に観測された2つの信号の送信時刻におけるモジュロ−20ミリ秒の差分は、近似的な時刻の既知の関数である事実に基づいている。近似的な時刻は、計測された送信時刻のモジュロ−20ミリ秒の差分において、この既知の関数の逆関数を評価することにより計算できる。期待できる精度は、一般的に数秒以内であろう。
【0082】
2.伝播遅延の補正
先の例示1または2においては、時間的不明確さを解決する前に、観測された受信信号の任意の位置の不明確ではないGPS送信時刻をサブマイクロ秒精度で決定することができるが、受信機における時刻は、送信時刻と衛星から受信機への伝播時間との合計である。この伝播時間は、送信時刻における衛星の位置が正確に知られさらに受信機の位置は既知であると仮定しているため、容易に計算することが出来る。このことにより衛星から受信機までの距離の計算が可能であり、これを光の速度で割ると、信号の伝播時間が得られる。局所時刻の確立における精度はどれ位正確に受信機の位置が知られているかに依存する(次の項を参照のこと)。
【0083】
<受信機の初期位置を最初に確立する方法>
時刻転送の精度は、どれ位正確に受信機の位置が知られているかに依存するだろう。サブマイクロ秒の精度を得るためには、位置の不確実性がおよそ100メートル未満であることが好ましい。±10マイクロ秒の精度には、およそ1000メートル未満の位置の不確実性が許容できる。
【0084】
受信機の固定位置は種々の方法で得ることができる。その1つの方法は、先に言及したように、近頃マゼランシステムズジャパン株式会社によって開発された、典型的な位置精度が100メートル未満である、アシストされた屋内測位技術を使用することである。別の方法は、グーグルアースのようなインターネットサービスによって提供される地図上で受信機の座標を探知(位置決め)することである。この方法を使用する場合、受信機の座標をGPS受信機に何らかの形で入力しなければならない。さらに別の方法としては、測位精度が十分である場合(多くの場合そうではないが)携帯電話の測位技術の使用がある。
【0085】
本発明の一実施形態によれば、十分に長い時間があり(恐らく1時間またはそれ以上)、緯度および経度の関数として高度が入手できる場合には、2機という少数の衛星を用いて受信機の位置を確立するための第4の方法を使用することができる。例えば、ビルまたはその他の構造により、2つの衛星信号しか利用できない場合がある。図8は、本発明の一実施形態による、2つのGPS信号から受信機の位置を得るための方法を概略的に示している。2機の衛星が追跡中であると仮定して、この方法のステップは以下の通りである。
(1)2機の衛星122(A)および124(B)からの2つのGPS信号を同時に観測する。この観測によって各々の信号構造上の一点(ポイント)が定義され、先に記載した例示1または例示2のような、時間的不明確さの解決を含む技術を使用して、それぞれのポイントにおける2つのGPS送信時刻TA1およびTB1を得る。
(2)2つのGPS送信時刻TA1およびTB1とエフェメリスデータとを使用して、2機の衛星の位置PA1およびPB1を正確に探知(位置決め)する。
(3)2つの送信時刻の差分(△1=TA1−TB1)を計算する。この差分△1は、緯度および経度の関数としての高度情報とともに、この差分が観測される地球表面上に、位置線(LOP: Line Of Position)PC1(△1)を定義する。
(4)十分に長い時間(恐らく一時間またはそれ以上)の後、上記のステップ(1)から(3)(異なる位置PA2およびPB2にある同じ2機の衛星、あるいは別の一対の衛星を使用してよい)を繰り返す。その結果、地球表面上の第二のLOPであるPc2(△2)が得られる。ここで、△2=TA2−TB2であり、TA2およびTB2は、所定時間後に異なる配置にある同じ2機の衛星、あるいは異なる配置を与える別の2機の衛星対の、2つのGPS送信時刻である。
(5)2つのLOPの交点Pcとして受信機の位置を得る。
【0086】
この方法の精度は衛星と受信機の配置に依存する。精度低下率(DOP)の計算を測位精度の評価に使用することができる。信号捕捉にかかる時間は、フォートコリンズ、コロラドにあるWWVBからの60kHz信号のような、原子的に制御された低周波数の無線信号を使用して、受信機のTCXO基準発振器を正確に較正(キャリブレーション)することにより、短縮することができる。
【0087】
<GPS信号の完全喪失>
全てのGPS信号を失った場合、タイミング情報の外部情報源が利用できる場合を除き、局所時刻の精度の維持は受信機の基準発振器(通常は低コストのTCXO)の安定性に依存する。通常の動作中、受信機はとても正確に時刻を知っているため、長期的なTCXO周波数のずれは、たった1機の衛星を使用するだけでも非常に精密に較正することができる。TCXOが1マイクロ秒の誤差を生じるまで「自在運転」出来る時間は、100万分の1(ppm)で計った較正精度の逆数と同じである。例えば、もしTCXOが0.01ppm以内に較正された場合、±1ミリ秒の誤差が発生する前に、約1/0.01=100秒の間、自律的に動くことが出来る。
【0088】
信号の完全喪失を扱う別の戦略としては、原子的に制御された低周波数の無線信号が入手できる場合にこれらを使用することである。例えば、フォートコリンズ、コロラドにあるWWVBからの60kHzの信号は、1012に1パートの安定性で送信される。この受信信号に位相ロックされた時計は、GPS信号が入手できる通常の動作中に一旦時刻設定されれば、恐らく永久的にサブマイクロ秒精度の時刻を維持することが出来る。しかし、WWVBの信号伝播経路の安定性を調査しておくべきである。
【0089】
先に記載した追跡方法は極めて高い感度を有するため、特にFLL誤差信号が例示2のようにして導き出される場合には、ほとんどの適用(アプリケーション)において、全てのGPS信号が落ちてしまう(ドロップアウト)ような状況を、ごく稀にすることができる。
【0090】
<衛星から衛星への転送>
GPS衛星は昇ったり沈んだりするため、受信機は1機の衛星から別の衛星へとその追跡を切れ目無く転送できなければならない。これは特に問題ではない、というのは、通常動作において1機の衛星のみを用いた場合でさえ、TXCO周波数がかなり正確に較正され、時刻がサブマイクロ秒のレベルで既知であり、どの衛星への距離も正確に計算できるからである。これにより、周波数またはコード位相の検索を実質的に全く行うことなく、新しい次の衛星を捕捉することができる。
【0091】
本発明はいくつかの好ましい実施形態の観点から記載してきたが、変更、置換、修正、および種々の代替できる同等物が存在し、それらは本発明の範囲内に含まれる。本発明の方法および装置を実行する多くの他の方法が存在することに留意されたい。それゆえ、以下に添付の請求項は、変更、置換、修正、および種々の代替できる同等物などが本発明の真の精神および範囲に含まれるものとして解釈されることを意図している。
【技術分野】
【0001】
本発明は、GPS/GNSS受信機に関する。より詳細には、本発明は微弱なGPS/GNSS信号を使用するGPS/GNSS受信機の時刻転送に関する。
【背景技術】
【0002】
サブマイクロ秒のレベルで時刻転送(時刻合わせ)するためのGPS/GNSS信号の使用は、すでに確立された技術分野である。しかし、従来のほとんどの方法は、受信したGPS/GNSS信号のタイミング情報をGPS/GNSS受信機が正確に復調できる能力に頼っている。これは、復調ビットの誤差率が許容範囲内になるよう小さく(例えば、10−5より小さく)保てるように、信号が十分に強くなければならないことを意味しており、受信した信号電力がおよそ−148dBmを上回る場合のみ保証される。従って、屋内またはビルの谷間で受信されるような、激しい減衰を受けて極めて微弱なGPS/GNSS信号を使用してサブマイクロ秒の時刻転送を確立することは困難である。
【発明の概要】
【0003】
本発明の実施形態は、衛星からの微弱なGPS/GNSS信号を使用してGPS/GNSS受信機にサブマイクロ秒の時刻転送をする方法を提供する。GPS/GNSS信号のデジタル化された複素ベースバンド信号がPNコード(「受信PNコード」と参照する)および航法メッセージを搬送する。GPS/GNSS受信機は、衛星のPNコードを生成する(「生成PNコード」と参照する)。生成PNコードは、受信PNコードに時間整合(時刻一致)させられる。生成PNコードのコード・エポックを表すタイミング信号が発生され、各コード・エポックは生成PNコードの各周期(「コード周期」と参照する)の始まりを示す。ベースバンド信号が受信され、タイミング信号に従って、各コード周期についてベースバンド信号と生成PNコードとの相互相関が計算され(cross-correlated)、各コード・エポックにおいて複素相関値が出力される。この複素相関値の列が航法メッセージを表すデータストリームを形成する。データストリームのビット境界が探知され、番号付けしたビット同期パルスがビット境界で発生される。目標(ターゲット)セグメントのビット位置が航法メッセージの中に検出されるが、この目標セグメントは、航法メッセージの各サブフレームにおける既知のビット位置に既知のkビット列を有する。目標セグメントの位置は、複数のサブフレームを検索して、複数のサブフレームの検索結果を積算することにより検出される。目標セグメントの送信時刻は、検出されたビット位置に基づいて所定の時間的不明確性(多義性)をもって決定される。
【0004】
GPS/GNSS受信機における正確な(サブマイクロ秒)局所(現地)時刻は、外部情報源から得た近似的な時刻を使用して送信時刻の所定の時間的不明確さを解決すること、および伝播遅延を補正することにより決定してもよい。
【0005】
デジタル化された複素ベースバンド信号は、相互相関前に周波数ロック・ループ(FLL)を使用してドップラ補償がなされる。遅延ロックループ(DLL)を使用して、受信PNコードおよび生成PNコードを相関させる(相関計算をする)ことにより生成PNコードを受信PNコードに整合(一致)させる。
【0006】
本発明の一態様において、目標セグメントの検出は、(a)1ビット周期について複素相関値を積算し、対応する複素ビット値を得るステップと、(b)対応するビット同期パルスにおいて複素ビット値をk段複素シフトレジスタに格納するステップであり、シフトレジスタは最新のk複素ビット値の列を保持する、ステップと、(c)最新のk複素ビット値の列の重み付け合計(加重和)を得て、その重み付け合計の大きさを得るステップであって、各複素ビット値は一連の重み列の対応する1つの重みによって重み付けされ、一連の重み列は目標セグメントの既知のビット列に対応している、ステップと、(d)重み付け合計の大きさを積算器に蓄積するステップであって、その積算器は、最新の複素ビット値がシフトレジスタに格納されるときの対応するビット同期パルスに関連付けられている、ステップと、(e)所定の数の積算器に重み付け合計の大きさが格納されるまで、ステップ(a)からステップ(d)を反復するステップと、(f)所定の数の積算器の各々が重み付け合計の大きさを積算するように、ステップ(e)を複数回繰り返すステップと、(g)積算器のうちで、重み付け合計の大きさの最大積算値を有する1つの積算器と、その積算器に関連した特定のビット同期パルスとを決定するステップと、(h)特定のビット同期パルスに基づいてサブフレーム内の目標セグメントのビット位置を特定するステップと、を含む。ビット位置は目標セグメントの最初のビット位置でもよい。
【0007】
重み付け合計の大きさを得るステップ(c)は、(c1)重み付けされた複素ビット値にkポイント高速フーリエ変換(FTT)を行い、k個のFTT出力を生成するステップと、(c2)k個のFTT出力の各々の大きさを計算するステップと、(c3)大きさの最大値を重み付け合計の大きさとして得るステップと、を含む。
【0008】
目標セグメントは、航法メッセージにあるサブフレームのプリアンブルでもよく、ここでkの数は8である。あるいは、目標セグメントは航法メッセージにおける週の時刻(TOW)でもよく、ここでkの数は17である。
【0009】
一定の時間的不明確さは、6(±3)秒の不明確さでもよい。所定の数の積算器は300個の積算器を備える一連の積算器でもよい。
【0010】
本発明の別の実施形態はまた、衛星からの微弱なGPS/GNSS信号を使用してGPS/GNSS受信機にサブマイクロ秒の時刻転送をする方法を提供し、目標セグメントは、航法メッセージの中から目的セグメントを探し出し、その検索結果を所定の閾値と比較することにより検出される。目標セグメントの送信時刻は、ビット位置に基づいて、一定の時間的不明確さをもって決定される。
【0011】
目標セグメントの検出は、(a)1つのビット周期について複素相関値を積算して対応する複素ビット値を得るステップと、(b)対応するビット同期パルスでビット値をk段の複素シフトレジスタに格納するステップであり、シフトレジスタは最新のk複素ビット値の列を保持するステップと、(c)最新のk複素ビット値の列の重み付け合計を得て、重み付け合計の大きさを得るステップであり、各複素ビット値は重み列の対応する1つによって重み付けされ、重み列は目標セグメントの既知のビット列に対応している、ステップと、(d)重み付け合計の大きさが所定の閾値を超えるかどうかを決定するステップと、(e)重み付け合計の大きさが所定の閾値を超えていない場合は、ステップ(a)からステップ(d)を繰り返すステップと、(f)重み付け合計の大きさが所定の閾値を超える場合は、最新のビット値がシフトレジスタに格納されるときの対応するビット同期パルスを目標セグメントのビット位置として特定するステップと、を含んでもよい。
【0012】
重み付け合計の大きさを得るステップ(c)は、(c1)重み付けされた複素ビット値にkポイント高速フーリエ変換(FTT)を行ってk個のFTT出力を発生させるステップと、(c2)k個のFTT出力の各々の大きさを演算するステップと、(c3)k個のFTT出力の大きさの最大値を重み付け合計の大きさとして得るステップと、を含んでもよい。最大の大きさを有するkポイントFTT出力に関連した周波数に基づいて、周波数の誤差信号を発生させてもよい。
【0013】
目標セグメントがフレーム毎に一度生じる場合、一定の時間的不明確さは30(±15)秒の不明確性である。目標セグメントが航法メッセージ毎に一度生じる場合、一定の時間的不明確さは12.5(±6.25)分の不明確さである。
【0014】
目標セグメントは、航法メッセージにあるエフェメリスデータセグメントでもよく、kの数は128またはそれ以上でもよい。
【0015】
本発明の実施形態はまた、微弱なGPS/GNSS信号を使用してビット境界を探知(位置決め)することにより特定のビット同期を提供する。データビット毎に20のコード・エポックが存在する。ビット境界を探知するステップは、(a)タイミング信号に従って、対応するコード・エポックにおいて複素相関値を20段の複素シフトレジスタに格納するステップであって、シフトレジスタは最新の20個の複素相関値の列を保持している、ステップと、(b)各エポックにおいてシフトレジスタの20個の複素相関値を合計するステップと、(c)20個の複素相関値の合計の大きさの値を計算するステップと、(d)20個の積算器のうち、最新の複素相関値がシフトレジスタに格納されるときのコード・エポックに関連した積算器に、その大きさの値を蓄積するステップと、(e)各大きさの値が20個の積算器の各々に格納されるまで、ステップ(a)からステップ(d)を反復するステップと、(f) ステップ(e)を複数回繰り返して、20個の積算器の各々に大きさの値を積算させるステップと、(g)20個の積算器のうち、大きさの値の積算値の最も大きなものを含む積算器と、その最大の積算値を含む積算器に関連した特定のコード・エポックとを決定するステップと、(h)特定のコード・エポックをデータストリームのビット境界として特定するステップと、(i)20個のコード・エポック毎に生じるビット同期パルスを出力するステップと、を含む。
【0016】
微弱なGPS/GNSS信号は、約−151dBmを下回る信号レベルを有し、より一般的には、−148dBmを下回る。微弱なGPS/GNSS信号は、−160から−170dBmを下回る信号レベルを有してもよい。
【0017】
本発明の別の実施形態はまた、衛星からの微弱なGPS/GNSS信号を使用する、サブマイクロ秒の時刻転送回路を有するGPS/GNSS受信機を提供する。GPS/GNSS信号は、PNコード(「受信PNコード」と参照する)および航法メッセージを搬送する。GPS/GNSS受信機は、衛星のPNコードを生成する(「生成PNコード」と参照する)PNコード発生器を有する。PNコード発生器は、生成PNコードのコード・エポックを示すタイミング信号を出力し、各コード・エポックは生成PNコードの各周期(「コード周期」と参照する)の始まりを示す。(GPS/GNSS受信機は、さらに)タイミング信号に従って、各コード周期について、生成PNコードとデジタル化された複素ベースバンドGPS/GNSS信号とを相互相関させて、各コード・エポックにおいて複素相関値を出力する相互相関器であって、その複素相関値の列が航法メッセージを表すデータストリームを形成する相互相関器と、データストリームのビット境界を探知(位置決め)し、そのビット境界において番号付けられたビット同期パルスを発生するビット・シンクロナイザと、を備えている。
【0018】
本発明の一態様において、GPS/GNSS受信機はさらに、ビット・シンクロナイザおよび相互相関器に連結され、航法メッセージ内の目標セグメントを検出するための目標セグメント探知器を備えている。目標セグメントは、航法メッセージの各サブフレームの既知のビット位置に既知のkビット列を有する。目標セグメント探知器は、複数のサブフレームを検索し、その複数のサブフレームについての検索結果を積算して、特定のビット同期パルスを、サブフレーム内の目標セグメントのビット位置として特定する。GPS/GNSS受信機はまた、目標セグメントのビット位置と航法メッセージの特定ビットの既知の送信時刻とに基づいて、所定の時間的不明確さをもって目標セグメントの送信時刻を決定する、送信時刻決定器を備えている。
【0019】
GPS/GNSS受信機はさらに、局所時刻決定器を備えてもよい。局所時刻決定器は、外部情報源から得た近似的な時刻を使用してサブマイクロ秒の精度で局所時刻を決定し、所定の時間的不明確さを解決する時間的不明確さ解決部と、伝播遅延補正部とを有する。
【0020】
本発明の一態様において、目標セグメント探知器は、1ビット周期について複素相関値を積算して複素ビット値を得る1ビット積算器と、対応するビット同期パルスに従って複素ビット値を格納し、最新のk複素ビット値の列を保持するk段複素シフトレジスタと、最新のk複素ビット値の列の重み付け合計を得るための加重マルチプレクサ(加重マルチプレクサ)であり、各複素ビット値は、重み列の1つによって各々重み付けされ、重み列は目標セグメントの既知のビット列に対応している、加重マルチプレクサと、対応するビット同期パルスに従って重み付け合計の大きさを蓄積する一連の積算器と、一連の積算器のうち、積算された重み付け合計の大きさの最大のものを含む特定の積算器を決定し、その特定の積算器に関連した特定のビット同期パルスに基づいて、目標セグメントのビット位置を特定する、コントローラと、を備えている。
【0021】
加重マルチプレクサは、重み付けされた複素ビット値にkポイントFTTを行い、k個のFTT出力を発生する高速フーリエ変換器(FTT)と、k個のFTT出力の各々の大きさを演算し、そのk個のFTT出力の大きさの最大値を、重み付け合計の大きさとして得る大きさ演算器を備えていてもよい。
【0022】
目標セグメントは、航法メッセージ内のサブフレームのプリアンブルでもよく、kの数は8である。目標セグメントは航法メッセージ内の週の時刻(TWO)でもよく、kの数は17である。
【0023】
一定の時間的不明確さは、6(±3)秒の不明確さでもよい。一連の積算器は300個の積算器を有してもよい。
【0024】
本発明の別の実施形態は、ビット・シンクロナイザおよび相互相関器に連結された、GPS/GNSS受信機の別の目標セグメント探知器を提供する。目標セグメント探知器は、航法メッセージ内の目標セグメントを探知し、ここで目標セグメントは、航法メッセージ内の既知のビット位置に既知のkビットの列を有している。目標セグメント探知器は、目標セグメントを求めて航法メッセージを検索し、その検索結果を所定の閾値と比較することにより目標セグメントのビット位置を検出する。
【0025】
目標セグメント探知器は、1ビット周期について複素相関値を積算して複素ビット値を得る1ビット積算器と、対応するビット同期パルスに従って複素ビット値を格納し、最新のk複素ビット値の列を保持するk段の複素シフトレジスタと、最新のk複素ビット値の列の重み付け合計を得る加重マルチプレクサであって、各複素ビット値は、目標セグメントの既知のビット列に対応する重み列のなかの1つの重みによって各々重み付けされる、加重マルチプレクサと、重み付け合計の大きさが所定の閾値を超えるかどうかを決定する比較器と、重み付け合計の大きさが所定の閾値を超える場合に、最新のビット値がシフトレジスタに格納されるときのビット同期パルスから目標セグメントのビット位置を特定するコントローラと、を備えてもよい。
【0026】
加重マルチプレクサは、重み付けされた複素ビット値にkポイントFTTを行ってk個のFTT出力を発生するkポイント高速フーリエ変換器(FTT)と、k個のFTT出力の各々の大きさを演算し、k個のFTT出力の各々の大きさの最大値を重み付け合計の大きさとして得る大きさ演算器と、を備えてもよい。
【0027】
加重マルチプレクサはさらに、最大の大きさを有するkポイントFTT出力に関連した周波数に基づいて周波数誤差信号を発生する周波数誤差信号発生器を備えてもよい。
【0028】
目標セグメントはフレーム毎に一度生じてもよく、その場合の所定の時間的不明確さは30(±15)秒の不明確さである。目標セグメントは航法メッセージにあるエフェメリスデータのセグメントでもよく、kの数は128またはそれ以上でもよい。あるいは、目標セグメントは航法メッセージ毎に一度生じてもよく、その場合の所定の時間的不明確さは12.5(±6.25)分の不明確さである。
【0029】
本発明の一態様において、GPS/GNSS受信機はさらに、ベースバンド信号のドップラ誤差を補償するための周波数ロック・ループ(FLL)を備えてもよい。GPS/GNSS受信機はまた、受信PNコードと生成Nコードとを相関させることにより、生成PNコードを受信PNコードに整合させる遅延ロック・ループ(DLL)を備えてもよい。
【0030】
本発明の実施形態はまた、微弱なGPS/GNSS信号を使用するGPS/GNSS受信機のための特定のビット・シンクロナイザを提供する。データ・ビット毎に20のコード・エポックが存在する。ビット・シンクロナイザは、タイミング信号に従い、対応するコード・エポックにおいて複素相関値を格納し、最新の20個の複素相関値の列を保持する20段複素シフトレジスタと、各エポックにおいてシフトレジスタ内の20個の複素相関値を合計する加算器と、20個の複素相関値の合計の大きさを演算する大きさ演算器と、所定時間のあいだ、コード・エポックに従って、大きさの値を蓄積する一連の積算器と、一連の積算器のうちから、大きさの値の最大の積算値を含む1つの積算器を決定し、その最大の積算値を含む積算器に関連した特定のコード・エポックを、データストリームのビット境界として特定するコントローラと、そのビット境界に対応するコード・エポックにおいて同期パルスを出力するビット同期パルス発生器と、を備えている。
【0031】
本発明の別の実施形態は、GPS/GNSS受信機の位置を確立するための方法を提供する。本方法は、(a)第一および第二の衛星を有する第一の衛星対からの第一および第二のGPS/GNSS信号を観測するステップであって、第一のGPS/GNSS信号は、第一の信号構造における一点(ファーストポイント)を定義し、第二のGPS/GNSS信号は、第二の信号構造における一点(セカンドポイント)を定義する、ステップと、(b)第一のGPS/GNSS信号の一点(ファーストポイント)の第一送信時刻(TA1)および第二のGPS/GNSS信号の一点(セカンドポイント)の第二送信時刻(TB1)を得るステップと、(c)第一送信時刻に基づいて第一の衛星の第一位置を決定し、第二送信時刻に基づいて第二の衛星の第二位置を決定するステップと、(d)第一および第二送信時刻の差分(△1=TA1−TB1)を計算するステップであって、緯度および経度の関数として与えられる既知の高度情報を使用することにより、差分△1によってこの時間差分が観測される地球表面上に位置線(Line of Position) PC1(△1)を定義するステップと、(e)所定時間の後、異なる位置にある第二の衛星対について、ステップ(a)からステップ(d)を繰り返し、地球表面上に第二の位置線PC2(Δ2)を得るステップであって、ここでΔ2=TA2−TB2であり、TA2およびTB2は異なる位置にある第二の衛星対の2つの送信時刻である、ステップと、(f)位置線Pc1(△1)および第2の位置線Pc2(Δ2)の交点に受信機の位置を得るステップと、を含む。第二の衛星対は、第一の衛星対の1つまたは両方の衛星を含んでいてもよい。
【図面の簡単な説明】
【0032】
【図1】本発明の一実施形態によるサブマイクロ秒の時刻転送のための方法および対応する回路を概略的に示すブロック図である。
【図2A】本発明の一実施形態による、受信したPNコード、生成PNコード、および対応するコード・エポックを示す概略的なタイミング図である。
【図2B】本発明の一実施形態による、航法データストリームおよび対応するビット同期パルスを示す概略図である。
【図2C】航法データストリームおよびモジュロ−300のタグを概略的に示す図である。
【図2D】本発明の一実施形態による、8段のシフトレジスタおよび300個の積算器を概略的に示す図である。
【図2E】300個の積算器における積算値を示す概略図である。
【図3】本発明の一実施形態による、ビット・シンクロナイザおよび対応するビットの同期処理の例を概略的に示す図である。
【図4】GPSの航法データストリームのフレームおよびサブフレームの構造の例を概略的に示す図である。
【図5】本発明の一実施形態による、プリアンブル探知器およびプリアンブルを探知する対応する方法の例を概略的に示す図である。
【図6】本発明の別の実施形態による、サブマイクロ秒の時間を得る方法および対応する回路を概略的に示すブロック図である。
【図7】本発明の一実施形態による、目標セグメント探知器80および既知のビット列の発生を検出するための対応する方法の例を概略的に示す図である。
【図8】本発明の一実施形態による、2つのGPS信号から受信機の位置を得るための方法を示す概略図である。
【発明を実施するための形態】
【0033】
添付の図において、本発明は限定的にではなく例示により説明され、同様の参照番号は同様の構成要素を示している。
【0034】
添付の図で示したように、いくつかの好ましい実施形態を参照して、これから本発明を詳細に記載する。以下の記載では、本発明の理解を高めるために多くの具体的な詳細を説明する。しかし、本発明がこれらの具体的な詳細の一部または全てを用いることなく実施され得ることは、当技術分野における当業者には明らかであろう。別の場合では、本発明が不必要に曖昧なることを避けるため、周知の処理ステップおよび/または構造は詳細に記載しない。
【0035】
本発明は、屋内やビルの谷間で受信したような、激しい減衰を受けている極めて微弱なGPS/GNSS信号を使用してサブマイクロ秒の時刻転送ができる、新規の方法および装置を提供する。いくつかの要因にもよるが、−160から−170dBm程度の微弱な信号が使用できる。一旦時刻転送が開始されてしまえば、時刻転送はいつでも1機のGPS/GNSS衛星を使用するだけで維持でき、1機の衛星から別の衛星へ移転することも可能である。全ての衛星信号が追跡閾値を下回る場合であっても時刻精度を維持する方法も記載される。
【0036】
具体的には、本発明の実施形態は、L1C/A(Coares Acisition:粗捕捉)コード化されたGPS信号を使用して記載される。しかし、当技術分野で通常の技術を有する当業者であれば、本発明が特定のGPS信号の使用に限定されるものではなく、別のGNSS信号も適用できることが十分に理解されるであろう。同様に、以下の記載におけるGPS受信機はGNSS受信機でもよい。
【0037】
以下の記載において、以下の環境を満たされていることが仮定される。(1)GPS受信機は固定されている。(2)GPS受信機の位置は、任意の種々の方法によって確立される。(3)衛星エフェメリスデータ、衛星時計補正データ、アルマナックデータ、および週の時刻(TOW: Time of Week)のようなその他の航法メッセージのデータは、インターネットまたは支援DSL(ADSL)のリンクのような外部情報源から入手できる。(4)一旦開始されると時刻転送は継続して可能であるが、その開始には相対的に長時間の時間間隔が許容される。この目的のため、およそ10分から数十時間のオーダーの時間間隔が許容されうる。加えて、GPS受信機およびその時刻転送のハードウェア/ソフトウェアは低コストであるべきである。また、低電力消費である必要はない。
【0038】
図1は、本発明の一実施形態による、単一の衛星からのサブマイクロ秒の時刻転送をするための方法および対応する回路100を概略的に示すブロック図である。もし複数の衛星信号が利用できる場合は、図中の全ての構成要素は追跡される各衛星のために複製される。図1は極めて微弱なGPS信号から非常に正確な時間、すなわちサブマイクロ秒の時間を得ることができるGPS受信機の一部のみを示している。サブマイクロ秒の精度のためには、受信機の位置は約100メートル以内で知られており、衛星信号は既に捕捉(acquire)され、コードおよび搬送周波数の追跡は既に開始されていると仮定している。すなわち、図1に示されるように、回路100への入力信号は、GPS受信機の無線周波数(RF)前端部(フロントエンド:図示せず)により受信され、ベースバンド周波数に変換されたデジタル化されたベースバンド信号10である。
【0039】
信号捕捉、コード追跡、および搬送周波数追跡は、当技術分野で通常の技術を有する当業者に周知の、従来の任意の処理を使用して行ってもよい。信号捕捉、コード追跡、および搬送周波数追跡は、本発明の一部ではなく、従ってこの具体的に詳細には説明しない。受信機の位置を最初に確立する方法は後述する。デジタル化されたベースバンド信号10は複素信号であり、I+jQ(I:実部または余弦成分、Q:虚部または正弦成分)として表現されることに留意されたい。従って、簡単にするため図には2つのチャネルが特に明示されていないが、信号処理は2つのチャネルで実行される。
【0040】
<周波数ロック・ループ>
極めて微弱な信号を追跡するために、搬送波追跡は、従来のGPS信号のFLLよりも非常に狭い、極めて狭いバンド幅(およそ0.01Hz)を用いた周波数ロック・ループ(FLL)を用いて達成される。従来のコスタス位相ロック・ループ(PLL’s)は、データ・ビットにより引き起こされた非コヒーレンスを排除するのに必要な信号二乗により、SNRの損失を大きく受けるため、極めて微弱な(約−151dBmを下回る)信号を追跡するのに適していないことに留意されたい。SNRの損失は、極端に小さなPLLループバンド幅(多分0.01Hzと同程度)を使用することにより取り戻すことができると考えるかもしれない。しかし、そのように小さなループバンド幅においては、ベースバンドへの周波数変換後の単一位相不安定性を追跡するのは困難となりかねない。このような位相の不安定性は、典型的な低コスト受信機の、受信機の周波数基準としての役割を果たすTCXO基準発振器の位相不安定性により引き起こされる。
【0041】
図1を参照すると、複素(I+jQ)のデジタル化されたベースバンドのGPS信号10は、位相回転器12によりドップラ補償される。この位相回転器12は、FLL14により制御されて、位相回転器の出力16における周波数を名目上(ほぼ)ゼロ周波数に駆動する。FLL14は、周波数弁別器18、FLLループ低域通過フィルタ20、および数値制御発振器(NCO)22を備えている。周波数弁別器18への入力信号24は、1ミリ秒の信号相関(相関器)28の複素出力(I+jQ)から成り、以下でより詳細に記載される。周波数弁別器18は、受信した50ビット/秒の航法データにおける極性遷移の影響を極小化するように設計されており、データ・ビット境界のタイミングが未知の場合にも引き込み(プルイン)できるようにしている。
【0042】
受信機は静止しており(Stationary)、既知の位置(近似的な位置)にあり、エフェメリスデータが入手できるため、図1に示されるように、既知のドップラ率補正(訂正)26がNCO22を介して位相回転器12に適用される。ドップラ率補正は1Hz/秒より大きくはなく、既知の受信機位置の多少の誤差には影響を受けない。これにより、衛星の動きによる信号上の周波数変化を実質的に全て除去し、FLLループフィルタ20を介してNCO22を制御することにより、残存するドップラ誤差を検出して除去するFLL14の操作を向上させる。
【0043】
シミュレーションによれば、FLLは、約±10Hzの最大周波数追跡誤差を有し、−165dBm程度に微弱な信号をも追跡することができ、引き込み時間定数は数分のオーダーである。この高レベルのパフォーマンスは、受信機の静止性およびNCO22のドップラ率補正により可能となり、この両者が信号周波数を実質的に一定に維持している。周波数追跡誤差は十分に小さいため、後に記載する時刻抽出の操作が正しく行える。
【0044】
<コード追跡遅延ロック・ループ(DLL)>
図1はまた、コード追跡弁別器32、DLL低域通過ループフィルタ34、および受信したC/A−PN(疑似ランダムノイズ)コードのレプリカ38(生成されたレプリカコード)を局所的に生成するコード発生器36を備えたコード追跡遅延ロック・ループ(DLL)30を示している。コード追跡弁別器(相関器)32は、生成PNコード38および受信PNコード(ドップラ補償したベースバンド信号16に存在する)を相関させ、生成PNコード38と受信PNコード16とが整合していない場合に、コード位相誤差信号33を出力する。DLLループフィルタ34は、コード位相誤差信号33のノイズを除去し、その信号をコード位相制御信号35としてコード発生器36に適用する。コード発生器36は、このようにして整合させられた生成PNコード38を出力する。すなわち、DLL30は、コード発生器36を制御して、レプリカPNコード38が、位相回転器12の出力に現れる受信PNコード16に時刻一致するように維持する。コード発生器36はまた、局所的に発生されたPNコード38の、1ミリ秒毎に生じる各エポックにおいて、コード・エポック信号(タイミング信号)39を出力する。
【0045】
通常の操作中、サブマイクロ秒精度の時間が利用できるときは、受信機の既知の位置、エフェメリスデータ、および正確な時刻情報により、衛星のドップラ軌跡が極めて正確に予測できるため、DLL追跡ループ30の感度を著しく向上させることができる。DLL30は、極めて狭いループバンド幅(約0.01Hzまたはそれを下回る)を使用して、−170dBmと同程度に低い信号を追跡できることが予想される。
【0046】
<ミリ秒の相関>
図1に示されるように、1ミリ秒相関(相関器)28は、位相回転器の出力の信号16(受信PNコード)をコード発生器36から来るPNコード38と相互相関させ、複素値(I+JQ)の1ミリ秒相関出力(複素相関値)24の連続した列を生成する。各相関の出力および次の相関の始まりは、局所的に発生したコードの1ミリ秒毎に生じる各エポックで生じる。すなわち、コード・エポック信号(タイミング信号)39により制御され、1ミリ秒相関器28は、各コード周期(すなわち、1ミリ秒または1023チップ)について、ベースバンド信号16と生成PNコード38とを相互相関させ、各コード・エポックで複素相関値を出力する。複素相関値(I+JQ)の列は、航法メッセージを表すデータストリームを形成する。
【0047】
DLL30が、局所的に発生させたPNコード38を受信PNコード16に整合させ続けるため、各相関の出力が相関関数のピーク近くにあり、それゆえ、FLL、ビット同期、および時刻転送を確実に行える十分な処理獲得(プロセスゲイン)が得られる。図2Aは、受信PNコード、整合した生成PNコード、および対応するコード・エポックを概略的に示している。
【0048】
<ビット同期>
当技術分野で通常の技術を有する当業者に周知のように、GPS信号の50bps(1秒毎のビット)のデータストリームが航法メッセージを搬送する。50bpsのデータ・ビット境界は、常にPNコードのエポックで生じる。PNコードのエポックは、PNコードの各周期(1ミリ秒、1023チップ)の始まりを示しており、データ・ビット(20ミリ秒、20,460チップ)毎に正確に20のコード・エポックが存在する。位相を確実に追跡することができない極度に低い信号レベルで動作するため、ビット同期の長時間部分コヒーレント法(Long−term partially coherent method)がデータ・ビット・シンクロナイザ40で行われる。本発明の一実施形態によれば、ビット・シンクロナイザ40は、GPSのデータストリームのビット境界の位置を突き止め(探知し)、そのビット境界において、番号付けられた(タグ付)ビット同期パルスを発生する。
【0049】
図3は、本発明の一実施形態による、ビット・シンクロナイザ40および対応するビット同期処理の一例を概略的に示している。図3に示されるように、ビット・シンクロナイザ40は、20段複素シフトレジスタ50、加算器52、および20個の積算器56を備えている。1ミリ秒相関器28(図1で図示)から出力される複素(I+JQ)相関値24は、局所的に発生させたPNコード38の各エポック発生時に20段複素シフトレジスタ50に入り、シフト・レートは名目上1000シフト/秒である。また、コード・エポック信号39により与えられるエポックは、モジュロ−20カウンタ(図示せず)を連続的に駆動し、図2Aで示されるように、各エポックをモジュロ−20数(0から19)によってタグ付けする。図3に戻り、各シフト毎に、シフトレジスタ50の20段の複素相関値は加算器52により合計され、その合計の大きさが大きさ演算器54に取り込まれる。合計の大きさの値55は20個の積算器56の1つに格納される。ここで特定の積算器57n(0≦n≦19)が、最新のPNコード・エポックのモジュロ−20のタグと同じ指標(インデックス)nを有する。
【0050】
積算器56内の合計された大きさの値55は、ビット値(相関値)が同じビット内では(ノイズを除き)ほぼ同じであるため、信号データの1ビット全体がシフトレジスタ50に存在する場合に最大化する傾向がある。20ミリ秒毎に繰り返されるこの状況は、常に、PNコード・エポックの同じモジュロ−20のタグにおいて生じる。その他のエポックにおいては、シフトレジスタ50内でデータ・ビットの極性遷移が頻繁に現れるため、大きさの値55が小さくなる傾向がある。従って、十分に長い時間(積算処理の繰り返し)の後、最大の積算値57nを含む積算器の指標nは、データ・ビットの遷移が生じる(すなわち、ビット境界である)コード・エポックのモジュロ−20のタグnとなる。ビット・シンクロナイザ40のビット同期パルス発生器58は、この特定のコード・エポックが生じてはじめて、このコード・エポック毎にビット同期パルス44を生成することができる。データ・ビットは、ビット同期パルス44において終始する。図2Bは、航法データストリームおよび対応するビット同期パルスの一例を概略的に示している。ビット・シンクロナイザ40はまた、積算器56のうち最大の積算値を含む1つの積算器を決定し、その積算器に関連した特定のコード・エポックをデータストリームのビット境界として特定するコントローラ(図示せず)を備えてもよい。このコントローラはビット同期パルス発生器58の一部でもよい。
【0051】
シミュレーションによれば、このビット同期の方法は、FLL周波数の追跡誤差が+10Hzと同程度に大きいときでさえ、1分間の実行が許容されるときは−160dBm、10分間の実行では−168dBm、そして30分間の実行では−170dBmにおいても極めて信頼性があることが示される。
【0052】
<信号送信時刻の取得>
サブマイクロ秒精度の時刻を得る鍵は、受信信号上の与えられた一点(ポイント)が送信された人工衛星時刻(SV時刻)を決定する能力にある。信号の所定部分の送信時刻は先験的に(理論に基づき)知られているが、一般的にいくらかの時間的不明確さを有する(この時間的不明確さは後に記載される種々の方法により解決できる)。もし信号の所定部分の生起(Occurrence)が検出できるなら、信号のいかなる部分が送信されたSV時刻をも決定することができる。そして、外部情報源からの時計補正データにより、そのSV時刻を極めて正確なGPS時刻に変換することができる。当技術分野で通常の技術を有する当業者に周知のように、衛星の時計によって規定された時刻は通常SV時刻と参照され、補正が適用された後の時間はGPS時刻と参照される。従って、個々の衛星は完全に同期したSV時刻を持たないかもしれないが、共通のGPS時刻を有する。
【0053】
<例示1:サブフレームのプリアンブル生起の検出>
図4は、GPS航法データストリームのフレームおよびサブフレームの構造を概略的に示している。完全な航法データメッセージは25フレームから成り、各フレームは50ビット/秒のレートで送信される1500ビットを含む。各フレームは、5つの300ビットのサブフレーム(図4の#1から#5)に分割され、各サブフレームは、最上位ビット(MSB)が最初に送信される各30ビットの10ワードから成る。従って、50ビット/秒のレートでは、サブフレームを送信するのに6秒かかり、1つのフレームを完送するには30秒かかる。完全な25フレームの航法メッセージの送信には750秒または12.5分を必要とする。時折の更新を除き、サブフレーム#1、#2、および#3は、ほとんど変わらず(一定)、各フレーム30秒のフレーム反復レートで繰り返している。一方、サブフレーム#4および#5は各々が25回転換(subcommute)する。サブフレーム#4および#5の25個のバージョンは1〜25ページとして参照される。それ故、時折の更新を除いて、これらのページの各々は、750秒毎または12.5分毎に繰り返される。
【0054】
各サブフレームの最初の8ビットは、プリアンブルと呼ばれる固定した8ビット列(10001011)であり、各サブフレームの始まりを探知するために使用できる。各プリアンブルにおける最初のビットのSV送信時刻は6秒の不明確さ(多義性)を除いて既知の時刻である。従って、航法データ・ビットストリーム内でプリアンブルの生起が検出できれば、最初のビットのモジュロ6秒の送信時刻が確立できる。
【0055】
プリアンブルの生起は、プリアンブル探知器60(図1に図示)によって検出される。図5は、本発明の一実施形態による、プリアンブル探知器60の一例および対応するプリアンブル探知方法を概略的に示している。プリアンブル探知器は、20ミリ秒積算器61、8段複素シフトレジスタ62、重み乗算器64、付加的な(オプションの)8ポイント高速フーリエ変換器(FFT)66、大きさ計算機68、最大値選択器70、一連の300個の積算器72を備えている。重み乗算器64、付加的な8ポイント高速フーリエ変換器‘(FFT)66、大きさ計算機68、および最大値選択器70は、これらを合わせて加重マルチプレクサとして参照されても良い。図5に示されるように、図1の1ミリ秒相関器28からの複素相関値42の出力は、20ミリ秒積算器61において積算される。
【0056】
先に言及したように、ビット同期がすでに確立されていると仮定して、各20ミリ秒の積算は、ビット1または0を表す複素値に対応する、同じデータ・ビット内での複素値の合計を表している。この20ミリ秒の積算(すなわち複素ビット値に対応)は、ビット同期パルス44のタイミングによって8段複素シフトレジスタ62を通過する。すなわち、同期パルス44が生じる毎に、20ミリ秒間の積算結果がシフトレジスタ62に出力され、同時に20ミリ秒積算器61での積算処理のリセットおよび再開が行われる。従って、シフトレジスタ62の内容は、20ミリ秒毎、すなわちビット毎にシフトされる。ビット同期パルス44はまた、図2Cで示されるように、各ビット同期パルスをモジュロ−300の数(0から299)でタグ付けするモジュロ−300のカウンタ(図示せず)を駆動する。各複素ビット値は、複素ビット値が20ミリ秒積算器61からシフトレジスタ62にシフトされる時の、ビット同期パルス44の対応するモジュロ−300のタグによっても特定される。8段シフトレジスタ62は、8データ・ビットに対応する複素ビット値を保持し、プリアンブルの既知のビット列を検索するための8ビットウインドウとして機能する。例えば、図5で示されるように、ビット同期パルス44がモジュロ−300のタグmを有するとき、シフトレジスタ62は、m−7からmまでのモジュロ−300のタグに対応する複素ビット値を保持している。
【0057】
図5で示されるように、8段シフトレジスタ62の出力タップ(複素値)は、重み乗算器64において、既知のプリアンブルビット列(バイナリ0の代わりに−1の重みを有する)により重み付けされる。ここで、データ・ビット値が変わるとき、そのビット値を表す複素ベクトルは複素平面において反転することに留意されたい。従って、プリアンブルが完全にシフトレジスタ62を占めている場合、1および−1(ノイズを除く)の既知のビット列による重み付けにより、8ビットに対する全てのベクトルが同一(ノイズを除く)になる。ドップラ誤差が無い場合は、重み付けした複素値(すなわち一致したベクトル)は単純に加算合計されてもよく(8ポイントFTTの操作が抑止されてもよい)、その合計の大きさは、8段シフトレジスタ62がプリアンブルを含んでいるときに最大となる傾向がある。しかし、FLL14(図1に図示)は完全にはドップラの影響を補償しないかもしれず、位相回転器12でのドップラの補償はノイズにより完全ではないかもしれず、そのため複素ベクトルは依然としてゆっくりと回転しているかもしれない。従って、図5に示されるように、各シフトの直後、重み付け出力に対して8ポイントFFT(66)が行われ、8ポイントFFTの出力の大きさが計算され(68)、そして8ポイントFFTの出力の大きさの最大値が選択される(70)。この最大値は300個の積算器72の1つに格納される。図5に示されるように、特定の積算器72mは、最新のビット同期パルス(0≦m≦299)のモジュロ−300のタグと同じ指標mを有する。
【0058】
図2Dは、8個の複素ビット値の重み付け合計(8ポイントFFT後のその最大値)の大きさを積算器に格納する操作の一例を概略的に示している。図2D、A、B、C等では、シフトレジスタに保持された複素ビット値(すなわち、ビット1または0に対応する20ミリ秒の積算)を表している。この例では、図2Cおよび図2Dで示されるように、モジュロ−300のタグmを持つ同期パルスにおいて、シフトレジスタがプリアンブル全体を含んでおり、ここで複素ビット値Bは、プリアンブルの最初の(開始)ビットに対応するモジュロ−300のタグm−7を有している。この処理は、ノイズを平均化して除去するために複数回繰り返されてもよい。
【0059】
プリアンブルがシフトレジスタ62を完全に占めるとき(これは航法メッセージの300ビット毎に生じる)、8ポイントFFTの出力の最大の大きさが最も大きくなる傾向があり、時間の経過とともに、対応する積算器72m(図5)は、他の積算器よりも大きな値を積み立てる。従って、十分に長い時間の後は、図2Eで示されるように、最も大きく積算された値を含む積算器72の指標mは、プリアンブルがシフトレジスタ62内に完全に納まるようになるときのビット同期パルス44のモジュロ−300のタグmになる。
【0060】
プリアンブル探知器60はまた、一連の300個の積算器の中で最大の値を含む特定の積算器72mを決定し、指標m−7を有するビット同期パルスをプリアンブルの最初のビットの位置として特定するためのコントローラ74を備えている。コントローラ74は、航法メッセージにおける目標セグメントのビット位置および特有ビット(すなわち、サブフレームの最初のビット)の既知の送信時刻に基づいて、一定の時間的不明確さをもって目標セグメントの送信時刻を決定するための送信時刻決定器(図示せず)を備えてもよい。このようにして、サブフレームの最初のビットでもあるプリアンブルの最初のビットの送信時刻は、6秒の不明確さもって決定されうる。
【0061】
もしFLL14が周波数誤差をゼロに維持できた場合、先に言及したように、8ポイントFFTの出力の最大の大きさは、周波数ゼロのFFT出力ビン(この周波数ビンの出力は、シフトレジスタタップの重み付け出力の単なる加算合計である)に生じる傾向があるため、8ポイントFFT66は必要ない。しかし、ノイズによって、FLL14のFLL追跡においてゼロでない周波数誤差が生じるため、重み付け出力の合計におけるコヒーレンスの低下による信号減衰が存在し得る。FFTは、その出力の形成において周波数誤差を相殺することによりコヒーレンスを取り戻す。
【0062】
プリアンブルは8ビットしか含んでいないため、同じビット列が航法メッセージの他の部分に現れる可能性がある。しかし、これが全てのサブフレームの同じ位置(スポット)に起こることはまずあり得ない。プリアンブルは全てのサブフレームに現れるため、その生起は顕著になる。
【0063】
コンピュータシミュレーションによれば、−160dBmでは5フレーム(150秒または2.5分のデータ)のみの観測により、−170dBmでは25フレーム(750秒または12.5分のデータ)の観測により、プリアンブルが信頼性を持って検出できることが示されている。
【0064】
プリアンブルを探知するための300個の積算器72の必要性は、種々の方法で軽減することができる。その一つの方法は、300ビットのサブフレーム周期のより小さな部分を(一度に一部分)検索することである。例えば、各一部分が50ビット含んでいる場合は、50個の積算器を使用して各サブフレームの同じ50ビットの位置を検索し、最大の積算器値を保有する。この処理を6回繰り返して300ビットのサブフレーム周期全体をカバーすれば、6個の最大値のうちの最大のものによりプリアンブルが探知できる。もちろん、これにより検索時間は6倍になるであろう。
【0065】
近似的な時刻が外部情報源から入手できる場合は、別の方法が使用できる。例えば、時刻が±0.5秒内で既知の場合、6秒毎に約50ビットのデータを検索することのみが必要であり、50の積算器のみが必要であろう。両方の方法を用いれば積算器の数をさらに減らすことができる。例えば、50ビットのデータを10ビット毎の5つの部分に分割すれば、積算器の数を10に減らすことができる。
【0066】
<例示2:より大きなビットセグメントの生起の検出>
図6は、本発明の別の実施形態による、信号送信時刻を得る別の方法を概略的に示しており、航法メッセージのより大きなデータ・ビットセグメントの生起を検出する。図6では、同様の要素には図1と同様の参照番号を付している。図6に示されるように、回路200は、図1のプリアンブル探知器60に代わり目標セグメント探知器80を備えている。衛星エフェメリスデータ、衛星時計補正データ、アルマナックデータ、およびたぶん週の時刻(TOW)のような航法メッセージの他のデータが外部情報源から入手できると仮定できるので、このようは情報を、送信に使用されるビット列を決定するために用いることができる。これらの既知のビット列のフレーム開始に対する相対位置は既知であるため、1つのフレームの開始における最初のビットの発生は、検出された既知のビット列から決定することができる。フレームの開始ビットの送信時刻は30秒の不明確さ(フレームの長さ)で既知であるので、独立した時刻情報により、この不明確さは容易に±15秒内にまで除去できる。
【0067】
図7は、本発明の一実施形態による、目標セグメント探知器80および既知のビット列の生起を検出するための対応する方法を概略的に示している。具体的には、外部から与えられた航法データにより、フレーム開始に対して既知の位置にある128ビット列が決定されていると仮定する。フレーム内において、既知の位置に既知の列を有する所定数のデータ・ビットを目標(ターゲット)セグメントとして参照する。従って、先の実施形態のプリアンブルもまた1つの目標セグメントである。この例では、目標セグメントはエフェメリスデータの128ビット列である。ここで仮定したビット数は限定的ではなく例示的なものであり、より小さいまたは大きい数を使用できる。しかし、この例では、大きな処理利得が達成できること示すために、比較的大きな数を選択している。図7に示されるように、目標セグメント探知器80は、20ミリ秒積算器81、128段複素シフトレジスタ82、重み乗算器84、付加的な(オプションの)128ポイント高速フーリエ変換器(FFT)86、および大きさ演算器88を備えている。重み乗算器84、付加的な128ポイント高速フーリエ変換器(FFT)86、および大きさ演算器88は合わせて加重マルチプレクサとして参照されてもよい。目標セグメント探知器80はまた、最大値比較器を有するコントローラ90を備えている。
【0068】
1ミリ秒相関器28(図6に図示)の複素出力24は、20ミリ秒積算器81で積算され、20ミリ秒毎に生じる20ミリ秒の積算器81の出力は、128段複素シフトレジスタ82を通過する。図5で示した先の例と同様の方法で、ビット同期パルス44の各発生によって20ミリ秒間の積算がシフトレジスタ82に出力され、同時に20ミリ秒積算器81の積算処理のリセットおよび再開が行われる。従って、シフトレジスタ82の内容は20ミリ秒毎にシフトされる。ビット同期パルス44はまた、各ビット同期パルス44をモジュロ1500の数(0から1499)でタグ付けするモジュロ1500のカウンタ(図示せず)を駆動する。
【0069】
128段シフトレジスタ82の出力タップは、加重マルチプレクサ84において、外部から与えられた航法データの既知のビット列により重み付けされる。先の例と同様に、重み付けにおいてデータ・ビット0が−1に置換される。各シフトの直後、重み付けされた出力に128ポイントFFT86を行い、128個のFFTの出力の各々の大きさが計算される(88)。128個のFFTの出力の最大の大きさは、コントローラ90の最大値比較器において所定の閾値Tと比較される。目標セグメントは、十分に大きなビット数の(ランダムあるいは反復しない傾向がある)特別な列を有しているため、128段シフトレジスタ82に完全に収納されたセグメントは、他のいかなる場合よりも著しく大きな値を生成するであろう。従って、例えば閾値Tは、目標セグメントのデータの長さおよび予想されるノイズレベルに基づいて設定してもよい。
【0070】
閾値Tを超えた場合は、目標セグメントの既知のビット列(この例ではエフェメリスデータ)がシフトレジスタ82に完全に収められたと判定され、最新のビット同期パルス44のモジュロ1500のタグが記録される。フレームの最初のビットに対する既知のビット列の位置は知られているため、フレームの最初のビットの始まりにおけるビット同期パルス44のモジュロ−1500のタグもまた直ちに知られ、これらの最初のビットの送信時刻は、30秒の不明確さでわかる。このようにして、最大値(重み付け合計)が所定の閾値Tを超えた場合、コントローラ90は、記録されたビット同期パルスから目標セグメントのビット位置を特定する。
【0071】
特定の目標列はフレーム毎(すなわち、30秒毎)に一度だけ生じるが、先の例のプリアンブルはサブフレーム毎(すなわち、6秒毎)に一度生じる。従って、外部情報源によって近似的な時刻が30秒内(±15秒)で既知の場合、正確な送信時刻が決定できる。加えて、最大の大きさが閾値Tを超え次第、残るフレームを検索することなく目標セグメントの位置を宣言することができる。
【0072】
この方法の信頼性が高いのは、比較的大きなビット数(プリアンブルの8ビットと比較して)を合計するため、既知のビット列と信号との相互相関に固有な処理利得(約21dB)が大きいためである。さらに、同じビット列がフレームの別の場所に現れる可能性は極めて小さい。加えて、一連の積算器も必要とせず、実質的に受信機のコストが削減される。
【0073】
128ポイントFFT86は、先に記載したように、プリアンブルを探知するために使用される8ポイントFFT66と同じ目的を果たす。しかし、その大きな処理利得のため、128ポイントFFT86は別の有益な目的のためにも用いることができる。128ポイントFFTの周波数分解能が1/(128×0.02)=0.39Hzであるため、閾値Tを越えるときに最大の出力の大きさを持つ周波数ビンはFLLの周波数誤差の極めて正確な指標を提供する。図6に示されるように、この誤差は、高精度の周波数誤差信号98として30秒の間隔でNCO22に送ることができ、FLL14の操作を実質的に向上させ、実際、−170dBmでの信号の追跡を可能にする。従って、コントローラ90はまた、高精度の周波数誤差信号98を出力する周波数誤差信号発生器を備えてもよい。
【0074】
サブフレーム#1に存在してフレーム毎に一回現れる衛星時計補正データを、エフェメリスデータと同じ方法で使用することができ、その結果、同様に30秒の不明確さで送信時刻が決定される。
【0075】
既知のビット列がアルマナックからのものである場合、航法メッセージ全体を構成する25フレームのうちの1つにしか既知のビット列が生じないため、時間的不明確さは12.5分に増やすことができる。しかし、ビット列を検出するために最大12.5分かかることになる。
【0076】
既知であり得る他のビット列としては、航法メッセージ内の週の時刻(TOW)がある。TOWは各サブフレームにおける第二の30ビットワードの最初の17ビットから成る。もし近似的な時刻が±3秒で既知であれば、17ビットのパターンを決定することができ、その生起が検出できる。その結果、受信信号のいかなる位置(ポイント)でも不明確でない送信時刻が得られる。
【0077】
<時間的不明確さの解決および信号伝播時間の補正>
図1および図6に示されるように、サブマイクロ秒の局所時刻を得る最終ステップは、残存する時間的不明確さの解決および信号伝播遅延の補正であり、局所時刻決定回路102の伝播遅延補正部およびの時間的不明確さ解決部により行われる。
【0078】
1.時間的不明確さの解決
時間的不明確さは、種々の源から得られる、受信機における近似的な時刻の情報を使用することにより解決される。
【0079】
例示1(プリアンブルを検出することによる)で送信時刻を得る場合、近似的な時刻は±3秒以内でなければならず、例示2(外部から与えられた航法データから目標セグメントを検出することによる)については±15秒以内でなければならないが、目標セグメントがフレーム毎に一回生起するときには後者が達成し易い。例示2においてアルマナックからの既知のビット列を使用する場合は、近似的な時刻は±6.25分以内で既知であればよい。これらの時刻精度、特に後者は、クォーツ制御された腕時計に見られるような低コスト時計の精度範囲内であり、これらの時計は、まず十分な精度に設定されてから、数日間または数週間にわたり維持される(これらの時計はまた、さらに長い期間にわたって必要な精度を維持できるように誤差率を調整することもできる)。±3秒内の近似的な時刻は、ADSLを介して得られてもよく、また携帯電話ネットワークを介して得ることも可能かもしれない。±6.25分内の精度、さらに恐らくは±15秒の精度も、インターネットを介して得ることができる。近似的な時刻のその他の情報源としては、米国のWWVBのようなラジオ放送局、またはそれに対応する日本やヨーロッパの放送局からの原子的に制御された低周波数の無線信号を受信することである。これらの情報源から入手される時刻の精度は、伝播遅延を全く補正しようとしない場合、一般的に0.01から0.1秒の範囲内である。
【0080】
近似的な時刻は、受信機の位置が既知であり、エフェメリスデータが入手でき、緯度および経度の関数として高度が既知である(例えば、地図データベースから)場合は、衛星を2機のみ追跡することにより確立することができる。受信機の位置情報(緯度、経度、および高度)およびエフェメリスデータは、無線または有線ネットワークを介して受信機をインターネットに接続することによりインターネットから、あるいは他の通信回線から、自動的にまたは手動により得てもよい。位置情報は、GPS受信機それ自体を使用して得てもよい。例えば、受信機が家の中またはビルの中(屋内)にあり、従って受信中のGPS信号が極めて微弱な場合、受信機を屋外や近くにある信号受信が良好な場所(例えば、許容できる位置精度100メートル以内で)に移動させる。受信機が許容される位置精度の範囲内にある限り、送信時刻の検出および時間的不明確さの解決は同様にして行うことができる。
【0081】
時間的不明確さを解決する方法は、受信機の位置が最初から分かっておらず、信号が微弱すぎて航法データを回復できない場合に、5機またはそれ以上の衛星から時刻を得る方法と類似しており、その方法は、本出願人により2005年4月12日に米国特許商標庁に出願されたマゼランシステムズジャパン株式会社の特許出願第11/103,499号、現在は2008年4月22日に特許証が発行された米国特許第7,362,265号、に記載されている。この方法は、受信機位置が既知の場合、同時に観測された2つの信号の送信時刻におけるモジュロ−20ミリ秒の差分は、近似的な時刻の既知の関数である事実に基づいている。近似的な時刻は、計測された送信時刻のモジュロ−20ミリ秒の差分において、この既知の関数の逆関数を評価することにより計算できる。期待できる精度は、一般的に数秒以内であろう。
【0082】
2.伝播遅延の補正
先の例示1または2においては、時間的不明確さを解決する前に、観測された受信信号の任意の位置の不明確ではないGPS送信時刻をサブマイクロ秒精度で決定することができるが、受信機における時刻は、送信時刻と衛星から受信機への伝播時間との合計である。この伝播時間は、送信時刻における衛星の位置が正確に知られさらに受信機の位置は既知であると仮定しているため、容易に計算することが出来る。このことにより衛星から受信機までの距離の計算が可能であり、これを光の速度で割ると、信号の伝播時間が得られる。局所時刻の確立における精度はどれ位正確に受信機の位置が知られているかに依存する(次の項を参照のこと)。
【0083】
<受信機の初期位置を最初に確立する方法>
時刻転送の精度は、どれ位正確に受信機の位置が知られているかに依存するだろう。サブマイクロ秒の精度を得るためには、位置の不確実性がおよそ100メートル未満であることが好ましい。±10マイクロ秒の精度には、およそ1000メートル未満の位置の不確実性が許容できる。
【0084】
受信機の固定位置は種々の方法で得ることができる。その1つの方法は、先に言及したように、近頃マゼランシステムズジャパン株式会社によって開発された、典型的な位置精度が100メートル未満である、アシストされた屋内測位技術を使用することである。別の方法は、グーグルアースのようなインターネットサービスによって提供される地図上で受信機の座標を探知(位置決め)することである。この方法を使用する場合、受信機の座標をGPS受信機に何らかの形で入力しなければならない。さらに別の方法としては、測位精度が十分である場合(多くの場合そうではないが)携帯電話の測位技術の使用がある。
【0085】
本発明の一実施形態によれば、十分に長い時間があり(恐らく1時間またはそれ以上)、緯度および経度の関数として高度が入手できる場合には、2機という少数の衛星を用いて受信機の位置を確立するための第4の方法を使用することができる。例えば、ビルまたはその他の構造により、2つの衛星信号しか利用できない場合がある。図8は、本発明の一実施形態による、2つのGPS信号から受信機の位置を得るための方法を概略的に示している。2機の衛星が追跡中であると仮定して、この方法のステップは以下の通りである。
(1)2機の衛星122(A)および124(B)からの2つのGPS信号を同時に観測する。この観測によって各々の信号構造上の一点(ポイント)が定義され、先に記載した例示1または例示2のような、時間的不明確さの解決を含む技術を使用して、それぞれのポイントにおける2つのGPS送信時刻TA1およびTB1を得る。
(2)2つのGPS送信時刻TA1およびTB1とエフェメリスデータとを使用して、2機の衛星の位置PA1およびPB1を正確に探知(位置決め)する。
(3)2つの送信時刻の差分(△1=TA1−TB1)を計算する。この差分△1は、緯度および経度の関数としての高度情報とともに、この差分が観測される地球表面上に、位置線(LOP: Line Of Position)PC1(△1)を定義する。
(4)十分に長い時間(恐らく一時間またはそれ以上)の後、上記のステップ(1)から(3)(異なる位置PA2およびPB2にある同じ2機の衛星、あるいは別の一対の衛星を使用してよい)を繰り返す。その結果、地球表面上の第二のLOPであるPc2(△2)が得られる。ここで、△2=TA2−TB2であり、TA2およびTB2は、所定時間後に異なる配置にある同じ2機の衛星、あるいは異なる配置を与える別の2機の衛星対の、2つのGPS送信時刻である。
(5)2つのLOPの交点Pcとして受信機の位置を得る。
【0086】
この方法の精度は衛星と受信機の配置に依存する。精度低下率(DOP)の計算を測位精度の評価に使用することができる。信号捕捉にかかる時間は、フォートコリンズ、コロラドにあるWWVBからの60kHz信号のような、原子的に制御された低周波数の無線信号を使用して、受信機のTCXO基準発振器を正確に較正(キャリブレーション)することにより、短縮することができる。
【0087】
<GPS信号の完全喪失>
全てのGPS信号を失った場合、タイミング情報の外部情報源が利用できる場合を除き、局所時刻の精度の維持は受信機の基準発振器(通常は低コストのTCXO)の安定性に依存する。通常の動作中、受信機はとても正確に時刻を知っているため、長期的なTCXO周波数のずれは、たった1機の衛星を使用するだけでも非常に精密に較正することができる。TCXOが1マイクロ秒の誤差を生じるまで「自在運転」出来る時間は、100万分の1(ppm)で計った較正精度の逆数と同じである。例えば、もしTCXOが0.01ppm以内に較正された場合、±1ミリ秒の誤差が発生する前に、約1/0.01=100秒の間、自律的に動くことが出来る。
【0088】
信号の完全喪失を扱う別の戦略としては、原子的に制御された低周波数の無線信号が入手できる場合にこれらを使用することである。例えば、フォートコリンズ、コロラドにあるWWVBからの60kHzの信号は、1012に1パートの安定性で送信される。この受信信号に位相ロックされた時計は、GPS信号が入手できる通常の動作中に一旦時刻設定されれば、恐らく永久的にサブマイクロ秒精度の時刻を維持することが出来る。しかし、WWVBの信号伝播経路の安定性を調査しておくべきである。
【0089】
先に記載した追跡方法は極めて高い感度を有するため、特にFLL誤差信号が例示2のようにして導き出される場合には、ほとんどの適用(アプリケーション)において、全てのGPS信号が落ちてしまう(ドロップアウト)ような状況を、ごく稀にすることができる。
【0090】
<衛星から衛星への転送>
GPS衛星は昇ったり沈んだりするため、受信機は1機の衛星から別の衛星へとその追跡を切れ目無く転送できなければならない。これは特に問題ではない、というのは、通常動作において1機の衛星のみを用いた場合でさえ、TXCO周波数がかなり正確に較正され、時刻がサブマイクロ秒のレベルで既知であり、どの衛星への距離も正確に計算できるからである。これにより、周波数またはコード位相の検索を実質的に全く行うことなく、新しい次の衛星を捕捉することができる。
【0091】
本発明はいくつかの好ましい実施形態の観点から記載してきたが、変更、置換、修正、および種々の代替できる同等物が存在し、それらは本発明の範囲内に含まれる。本発明の方法および装置を実行する多くの他の方法が存在することに留意されたい。それゆえ、以下に添付の請求項は、変更、置換、修正、および種々の代替できる同等物などが本発明の真の精神および範囲に含まれるものとして解釈されることを意図している。
【特許請求の範囲】
【請求項1】
衛星からの微弱なGPS/GNSS信号を使用してGPS/GNSS受信機にサブマイクロ秒の時刻転送をする方法であって、
前記GPS/GNSS信号のデジタル化された複素ベースバンド信号を受信するステップであって、前記ベースバンド信号はPNコード(受信PNコード)および航法メッセージを搬送する、ステップと、
前記衛星のPNコードを発生させる(生成PNコード)ステップであって、前記生成PNコードは前記受信PNコードに時間整合させられる、ステップと、
前記生成PNコードのコード・エポックを示すタイミング信号を発生させるステップであって、各コード・エポックは前記生成PNコードの各周期(コード周期)の始まりを示している、ステップと、
各コード・エポックにおいて複素相関値を出力するために、前記ベースバンド信号および前記生成PNコードを、前記タイミング信号に従って各コード周期について相互相関させるステップであって、前記複素相関値の列が前記航法メッセージを表すデータストリームを形成する、ステップと、
前記データストリームのビット境界を探知し、前記ビット境界において、番号付けしたビット同期パルスを発生させるステップと、
複数のサブフレームを検索し、前記複数のサブフレームについての検索結果を積算することにより前記航法メッセージ内の目標セグメントのビット位置を検出するステップであって、前記目標セグメントは、前記航法メッセージにおける各サブフレームの既知のビット位置に既知のkビット列を有する、ステップと、
前記ビット位置に基づいて、前記目標セグメントの送信時刻を所定の時間的不明確さによって決定するステップと、
を含む方法。
【請求項2】
前記目標セグメントを検出するステップは、
(a)1ビット周期について前記複素相関値を積算して対応する複素ビット値を得るステップと、
(b)前記複素ビット値を対応するビット同期パルスにおいてk段の複素シフトレジスタに格納するステップであって、前記シフトレジスタは最新のk複素ビット値の列を保持する、ステップと、
(c)前記最新のk複素ビット値の列の重み付け合計を得るステップであって、各複素ビット値は、重み列の対応する1つの重みによって重み付けされ、前記重み列は前記目標セグメントの前記既知のビット列に対応する、ステップと、
(d)前記重み付け合計の大きさを、最新の複素ビット値が前記シフトレジスタに格納されるときの前記対応するビット同期パルスに関連付けられている積算器に蓄積するステップと、
(e)所定の数の積算器に前記重み付け合計の大きさが格納されるまで、ステップ(a)からステップ(d)を反復するステップと、
(f)前記所定の数の積算器の各々が前記重み付け合計の大きさを積算するように、ステップ(e)を複数回繰り返すステップと、
(g)前記積算器のうちで前記重み付け大きさの積算値の最大のものを含む1つの積算器と、前記1つの積算器に関連した特定のビット同期パルスとを決定するステップと、
(h)前記特定のビット同期パルスに基づいてサブフレーム内の前記目標セグメントのビット位置を特定するステップと、
を含む、請求項1に記載の方法。
【請求項3】
前記重み付け合計を得るステップ(c)は、
前記重み付けされた複素ビット値にkポイント高速フーリエ変換(FTT)行い、k個のFTT出力を発生させるステップと、
前記k個のFTT出力の各々の大きさを計算するステップと、
前記大きさの最大値を前記重み付け合計の大きさとして得るステップと、
を含む、請求項2に記載の方法。
【請求項4】
前記所定の時間的不明確さは6(±3)秒の不明確さである、請求項1から請求項3のいずれかに記載の方法。
【請求項5】
前記目標セグメントは前記航法メッセージのサブフレームのプリアンブルであり、kの数は8である、請求項1から請求項3のいずれかに記載の方法。
【請求項6】
前記目標セグメントが前記航法メッセージの週の時刻(TOW)であり、kの数は17である、請求項1から請求項3のいずれかに記載の方法。
【請求項7】
前記所定の数の積算器が300個の積算器を備える、請求項1から請求項3のいずれかに記載の方法。
【請求項8】
前記相互相関させるステップの前に、周波数ロック・ループ(FLL)を使用して前記ベースバンド信号をドップラ補償するステップをさらに含む、請求項1から請求項3のいずれかに記載の方法。
【請求項9】
遅延ロック・ループ(DLL)を使用することにより、前記受信PNコードおよび前記生成PNコードを相関させ、前記生成PNコードを整合させるステップをさらに含む、請求項1から請求項3のいずれかに記載の方法。
【請求項10】
前記送信時刻の前記所定の時間的不明確さを、外部情報源から得た近似的な時刻を使用して解決するステップと、伝播遅延を補正するステップと、をさらに含む、請求項1から請求項3のいずれかに記載の方法。
【請求項11】
データ・ビット毎に20個のコード・エポックが存在しており、前記ビット境界を探知するステップは、
(a)タイミング信号に従い、前記複素相関値を、対応するコード・エポックにおいて20段複素シフトレジスタに格納するステップであって、前記シフトレジスタは最新の20個の複素相関値の列を保持する、ステップと、
(b)各エポックにおいて、前記シフトレジスタの前記20個の複素相関値を合計するステップと、
(c)前記20個の複素相関値の合計の大きさの値を計算するステップと、
(d)最新の複素相関値が前記シフトレジスタに格納されるときの前記コード・エポックに関連した、20個の積算器のうちの1つの積算器に、前記大きさの値を蓄積するステップと、
(e)各大きさの値が前記20個の積算器の各々に格納されるまで、ステップ(a)からステップ(d)を反復するステップと、
(f)前記20個の積算器の各々が前記大きさの値を積算するように、ステップ(e)を複数回繰り返すステップと、
(g)前記20個の積算器のうち、前記大きさの値の積算値の最も大きな値を含む1つの積算器と、前記積算値の最も大きな値を含む前記1つの積算器に関連した特定のコード・エポックとを決定するステップと、
(h) 前記特定のコード・エポックを前記データストリームのビット境界として特定するステップと、
(i)20個のコード・エポック毎に生じる前記ビット同期パルスを出力するステップと、
を含む、請求項1から請求項3のいずれかに記載の方法。
【請求項12】
前記GPS/GNSS信号のレベルが約−151dBmを下回る請求項1から請求項3のいずれかに記載の方法。
【請求項13】
衛星からの微弱なGPS/GNSS信号を使用してGPS/GNSS受信機にサブマイクロ秒の時刻転送をする方法であって、
前記GPS/GNSS信号のデジタル化された複素ベースバンド信号を受信するステップであって、前記ベースバンド信号がPNコード(受信PNコード)および航法メッセージを搬送するステップと、
前記衛星のPNコードを発生する(生成PNコード)ステップであって、前記生成PNコードは前記受信したPNコードに時刻整合させられるステップと、
前記生成PNコードのコード・エポックを示すタイミング信号を発生するステップであって、各コード・エポックは前記生成PNコードの各周期(コード周期)の始まりを示す、ステップと、
前記タイミング信号に従って、前記ベースバンド信号および前記生成PNコードを、各コード周期について相互相関させ、各コード・エポックおいて複素相関値を出力するステップであって、前記複素相関値の列は前記航法メッセージを表すデータストリームを形成する、ステップと、
前記データストリームのビット境界を探知し、前記ビット境界においてビット同期パルスを発生するステップと、
前記航法メッセージにおける目標セグメントのビット位置を検出するステップあって、前記目標セグメントは前記航法メッセージの既知のビット位置に既知のkビット列を有しており、前記目標セグメントを求めて前記航法メッセージを検索し、検索結果を所定の閾値と比較することによってなされる、ステップと、
前記ビット位置に基づいて前記目標セグメントの送信時刻を所定の時間的不明確さによって決定するステップと、
を含む方法。
【請求項14】
前記目標セグメントを検出するステップは、
(a)1ビット周期について前記複素相関値を積算して対応する複素ビット値を得るステップと、
(b)前記ビット値を、対応するビット同期パルスにおいてk段複素シフトレジスタに格納するステップであって、前記シフトレジスタが最新のk複素ビット値の列を保持している、ステップと、
(c)前記最新のk複素ビット値の列の重み付け合計を得るステップであって、各複素ビット値は、一連の重み列の対応する1つの重みによって重み付けされ、前記一連の重み列は、前記目標セグメントの前記既知のビット列に対応している、ステップと、
(d)前記重み付け合計の大きさが所定の閾値を超えるかどうかを決定するステップと、
(e)前記重み付け合計の大きさが前記所定の閾値を超えない場合はステップ(a)からステップ(d)を繰り返すステップと、
(f)前記重み付け合計の大きさが前記所定の閾値を超える場合は、最新のビット値が前記シフトレジスタに格納されるときの、前記対応するビット同期パルスを前記目標セグメントのビット位置として特定するステップと、
を含む、請求項13に記載の方法。
【請求項15】
前記重み付け合計を得るステップ(c)は、
前記重み付けされた複素ビット値にkポイント高速フーリエ変換(FTT)を行い、k個のFTT出力を発生させるステップと、
前記k個のFTT出力の各々の大きさを計算するステップと、
前記k個のFTT出力の前記大きさの最大値を前記重み付け合計の大きさとして得るステップと、
を含む、請求項14に記載の方法。
【請求項16】
前記最大の大きさを有する前記kポイントFTT出力に関連させられた周波数に基づいて周波数誤差信号を発生させるステップをさらに含む、請求項15に記載の方法。
【請求項17】
前記目標セグメントがフレーム毎に一度生起し、前記所定の時間的不明確さが30(±15)秒の不明確さである、請求項13から請求項16のいずれかに記載の方法。
【請求項18】
前記目標セグメントが航法メッセージ毎に一度生起し、前記所定の時間的不明確さが12.5(±6.25)分の不明確さである、請求項13から請求項16のいずれかに記載の方法。
【請求項19】
前記目標セグメントが航法メッセージのエフェメリスデ−タ・セグメントであり、kの数が128またはそれ以上である、請求項13から請求項16のいずれかに記載の方法。
【請求項20】
前記相互相関させるステップの前に、周波数ロック・ループ(FLL)を使用して前記ベースバンド信号をドップラ補償するステップをさらに含む、請求項13から請求項16のいずれかに記載の方法。
【請求項21】
遅延ロック・ループ(DLL)を使用することにより、前記受信PNコードおよび前記生成PNコードを相関させ、前記生成PNコードを整合させるステップをさらに含む、請求項13から請求項16のいずれかに記載の方法。
【請求項22】
前記送信時刻の前記所定の時間的不明確さを、外部情報源から得た近似的な時刻を使用して解決するステップと、伝播遅延を補正するステップと、をさらに含む、請求項13から請求項16のいずれかに記載の方法。
【請求項23】
データ・ビット毎に20個のコード・エポックが存在しており、前記ビット境界を探知するステップは、
(a)タイミング信号に従い、前記複素相関値を、対応するコード・エポックにおいて20段複素シフトレジスタに格納するステップであって、前記シフトレジスタは最新の20個の複素相関値の列を保持する、ステップと、
(b)各エポックにおいて、前記シフトレジスタの前記20個の複素相関値を合計するステップと、
(c)前記20個の複素相関値の合計の大きさの値を計算するステップと、
(d)最新の複素相関値が前記シフトレジスタに格納されるときの前記コード・エポックに関連した、20個の積算器のうちの1つの積算器に、前記大きさの値を蓄積するステップと、
(e)各大きさの値が前記20個の積算器の各々格納されるまで、ステップ(a)からステップ(d)を反復するステップと、
(f)前記20個の積算器の各々が前記大きさの値を積算するように、ステップ(e)を複数回繰り返すステップと、
(g)前記20個の積算器のうち、前記大きさの値の積算値の最も大きな値を含む1つの積算器と、前記積算値の最も大きな値を含む前記1つの積算器に関連した特定のコード・エポックとを決定するステップと、
(h)前記特定のコード・エポックを前記データストリームのビット境界として特定するステップと、
(i)20個のコード・エポック毎に生じる前記ビット同期パルスを出力するステップと、
を含む、請求項13から請求項16のいずれかに記載の方法。
【請求項24】
前記GPS/GNSS信号のレベルが約−151dBmを下回る請求項13から請求項16のいずれかに記載の方法。
【請求項25】
衛星からの微弱なGPS/GNSS信号を使用するサブマイクロ秒の時刻転送回路を有するGPS/GNSS受信機であり、前記GPS/GNSS信号はPNコード(受信PNコード)および航法メッセージを搬送しており、前記GPS/GNSS受信機は、
前記衛星のPNコード(生成PNコード)を発生するPNコード発生器であって、前記生成PNコードのコード・エポックを示すタイミング信号を出力し、前記各コード・エポックは前記生成PNコードの各周期(コード周期)の始まりを示している、PNコード発生器と、
前記タイミング信号に従って、前記生成PNコードおよび前記GPS/GNSS信号のデジタル化された複素ベースバンド信号を、各コード周期について相互相関させることにより各コード・エポックにおいて複素相関値を出力し、前記複素相関値の列が前記航法メッセージを表すデータストリームを形成する、相互相関器と、
前記データストリームのビット境界を探知し、前記ビット境界において番号付けされたビット同期パルスを発生するビット・シンクロナイザと、
前記ビット・シンクロナイザおよび前記相互相関器に連結され、前記航法メッセージにおける目標セグメントを検出する目標セグメント探知器であって、前記目標セグメントは前記航法メッセージの各サブフレームの既知のビット位置に既知のkビット列を有しており、複数のサブフレームを検索し、前記複数のサブフレームについての検索結果を積算することにより、特定のビット同期パルスをサブフレームにおける前記目標セグメントのビット位置として特定する、目標セグメント探知器と、
前記目標セグメントの前記ビット位置および前記航法メッセージのある特別なビットの既知の送信時刻に基づいて、前記目標セグメントの送信時刻を所定の時間的不明確さをもって決定する、送信時刻決定器と、
を備えるGPS/GNSS受信機。
【請求項26】
前記目標セグメント探知器は、
前記複素相関値を1ビット周期について積算して複素ビット値を得る1ビット積算器と、
対応するビット同期パルスに従って前記複素ビット値を格納し、最新のk複素ビット値の列を保持する、k段複素シフトレジスタと、
前記最新のk複素ビット値の列の重み付け合計を得る加重マルチプレクサであって、各複素ビット値を、重み列の対応する1つの重みによって重み付けし、前記重み列は前記目標セグメントの前記既知のビット列に対応している、加重マルチプレクサと、
前記重み付け合計の大きさを、前記対応するビット同期パルスに従って蓄積する一連の積算器と、
前記一連の積算器のうち、前記重み付け合計の大きさの積算の最大値を含む特定の積算器を決定し、前記特定の積算器に関連した特定のビット同期パルスに基づいて前記目標セグメントの前記ビット位置を特定する、コントローラと、
を備える、請求項25に記載のGPS/GNSS受信機。
【請求項27】
前記加重マルチプレクサは、
前記重み付けされた複素ビット値にkポイントFTTを行い、k個のFTT出力を発生するkポイント高速フーリエ変換器(FTT)と、
前記k個のFTT出力の各々の大きさを計算し、前記k個のFTT出力の前記大きさの最大値を前記重み付け合計の前記大きさとして得る、大きさ計算機と、
を備える、請求項26に記載のGPS/GNSS受信機。
【請求項28】
前記所定の時間的不明確さが6(±3)秒の不明確さである、請求項25から請求項27のいずれか1項に記載の GPS/GNSS受信機。
【請求項29】
前記目標セグメントは、前記航法メッセージの前記サブフレームのプリアンブルであり、kの数は8である、請求項25から請求項27のいずれかに記載のGPS/GNSS受信機。
【請求項30】
前記目標セグメントは前記航法メッセージにある週の時刻(TOW)であり、kの数は17である、請求項25から請求項27のいずれかに記載のGPS/GNSS受信機。
【請求項31】
前記一連の積算器が300個の積算器を備える、請求項25から請求項27のいずれかに記載のGPS/GNSS受信機。
【請求項32】
前記ベースバンド信号のドップラ誤差を補償する周波数ロック・ループ(FLL)をさらに含む、請求項25から請求項27のいずれかに記載のGPS/GNSS受信機。
【請求項33】
前記受信PNコードおよび前記生成PNコードを相関させることにより、前記生成PNコードを前記受信したPNコードに整合させる、遅延ロック・ループ(DLL)をさらに含む、請求項25から請求項27のいずれかに記載のGPS/GNSS受信機。
【請求項34】
外部情報源から得た近似的な時刻を使用して、前記所定の時間的不明確さを解決し、サブマイクロ秒の精度で局所時刻を決定する時間的不明確さ解決部と、伝播遅延補正部と、を備える局所時刻決定器をさらに備える、請求項25から請求項27のいずれかに記載のGPS/GNSS受信機。
【請求項35】
データ・ビット毎に20個のコード・エポックが存在しており、前記ビット・シンクロナイザは、
前記タイミング信号に従い、前記複素相関値を、対応するコード・エポックにおいて格納し、最新の20個の複素相関値の列を保持する、20段複素シフトレジスタと、
各エポックにおいて、前記シフトレジスタの前記20個の複素相関値を合計する加算器と、
前記20個の複素相関値の合計の大きさを計算するの大きさ計算器と、
前記コード・エポックに従って、所定時間の間、大きさの値を蓄積する一連の積算器と、
前記積算器のうちで、前記大きさの値の積算値の最大の値を含む1つの積算器を決定し、前記積算値の最大の値を含む積算器に関連した特定のコード・エポックを前記データストリームのビット境界として特定するコントローラと、
前記ビット境界に対応するコード・エポックにおいてビット同期パルスを出力するビット同期パルス発生器と、
を備える、請求項25から請求項27のいずれかに記載のGPS/GNSS受信機。
【請求項36】
前記GPS/GNSS信号のレベルが約−151dBmを下回る、請求項25から請求項27のいずれかに記載のGPS/GNSS受信機。
【請求項37】
衛星からの微弱なGPS/GNSS信号を使用するサブマイクロ秒の時刻転送回路を有するGPS/GNSS受信機であり、前記GPS/GNSS信号はPNコード(受信PNコード)および航法メッセージを搬送しており、前記GPS/GNSS受信機は、
前記衛星のPNコード(生成PNコード)を発生するPNコード発生器であって、前記生成PNコードのコード・エポックを示すタイミング信号を出力し、前記各コード・エポックは前記生成PNコードの各周期(コード周期)の始まりを示している、PNコード発生器と、
前記タイミング信号に従って、生成PNコードおよび前記GPS/GNSS信号のデジタル化された複素ベースバンド信号を、各コード周期について相互相関させることにより、各コード・エポックにおいて複素相関値を出力し、前記複素相関値の列が前記航法メッセージを表すデータストリームを形成する、相互相関器と、
前記データストリームのビット境界を探知し、前記ビット境界において番号付けされたビット同期パルスを発生するビット・シンクロナイザと、
前記ビット・シンクロナイザおよび前記相互相関器に連結され、前記航法メッセージの目標セグメントを検出する目標セグメント探知器であって、前記目標セグメントは前記航法メッセージの既知のビット位置に既知のkビット列を有しており、前記目標セグメントを求めて前記航法メッセージを検索し、検索結果を所定の閾値と比較することにより目標セグメントのビット位置を検出する、目標セグメント探知器と、
前記目標セグメントのビット位置および前記航法メッセージのある特別なビットの既知の送信時刻に基づいて、前記目標セグメントの送信時刻を所定の時間的不明確さをもって決定する、送信時刻決定器と、
を備えるGPS/GNSS受信機。
【請求項38】
前記目標セグメント探知器は、
前記複素相関値を1ビット周期について積算して複素ビット値を得る1ビット積算器と、
対応するビット同期パルスに従って前記複素ビット値を格納し、最新のk複素ビット値の列を保持する、k段複素シフトレジスタと、
前記最新のk複素ビット値の列の重み付け合計を得る加重マルチプレクサであって、各複素ビット値を、重み列の対応する1つの重みによって重み付けし、前記重み列は前記目標セグメントの前記既知のビット列に対応している、加重マルチプレクサと、
前記重み付け合計の前記大きさが所定の閾値を超えるかどうかを決定する比較器と、
前記重み付け合計の前記大きさが所定の閾値を超える場合は、最新のビット値が前記シフトレジスタに格納されるときの前記ビット同期パルスから前記目標セグメントの前記ビット位置を特定するコントローラと、
を備える、請求項37に記載のGPS/GNSS受信機。
【請求項39】
前記加重マルチプレクサは、
前記重み付けされた複素ビット値にkポイントFTTを行い、k個のFTT出力を発生する、kポイント高速フーリエ変換器(FTT)と、
前記k個のFTTの出力の各々の大きさを計算し、前記k個のFTT出力の前記大きさの最大値を前記重み付け合計の前記大きさとして得る、大きさ計算器と、
を備える、請求項38に記載のGPS/GNSS受信機。
【請求項40】
前記加重マルチプレクサは、前記最大の大きさを有するkポイントFTT出力に関連した周波数に基づいて周波数誤差信号を発生する周波数誤差信号発生器をさらに備える、請求項39に記載のGPS/GNSS受信機。
【請求項41】
前記目標セグメント各フレームに一度生起じ、前記所定の時間的不明確さが30(±15)秒の不明確さである、請求項37から請求項40のいずれかに記載のGPS/GNSS受信機。
【請求項42】
前記目標セグメントが各航法メッセージに一度生起じ、前記所定の時間的不明確さが12.5(±6.25)分の不明確さである、請求項37から請求項40のいずれかに記載のGPS/GNSS受信機。
【請求項43】
前記目標セグメントは前記航法メッセージのエフェメリスデータのセグメントであり、kの数が128またはそれ以上である、請求項37から請求項40のいずれかに記載のGPS/GNSS受信機。
【請求項44】
前記ベースバンド信号のドップラ誤差を補償する周波数ロック・ループをさらに備える、請求項37から請求項40のいずれかに記載のGPS/GNSS受信機。
【請求項45】
前記受信PNコードおよび前記生成PNコードを相関することにより、前記生成PNコードを前記受信したコードに整合させる、遅延ロック・ループ(DLL)をさらに備える、請求項37から請求項40のいずれかに記載のGPS/GNSS受信機。
【請求項46】
外部情報源から得た近似的な時刻を使用して、前記送信時刻における前記所定の時間的不明確さを解決する時間的不明確さ解決部と、伝播遅延補正部と、を備える局所時刻決定器をさらに備える、請求項37から請求項40のいずれかに記載のGPS/GNSS受信機。
【請求項47】
データ・ビット毎に20個のコード・エポックが存在しており、前記ビット・シンクロナイザは、
前記タイミング信号に従い、前記複素相関値を、対応するコード・エポックにおいて格納し、最新の20個の複素相関値の列を保持する、20段複素シフトレジスタと、
各エポックにおいて、前記シフトレジスタの前記20個の複素相関値を合計する加算器と、
前記20個の複素相関値の合計の大きさを計算する大きさ計算器と、
前記コード・エポックに従って、所定時間の間、前記大きさの値を蓄積する一連の積算器と、
前記積算器のうちで前記大きさの値の最大積算値を含む1つの積算器を決定し、前記最大積算値を含む積算器と関連した特定のコード・エポックを前記データストリームのビット境界として特定するコントローラと、
前記ビット境界に対応するコード・エポックにおいてビット同期パルスを出力するビット同期パルス発生器と、
を備える、請求項37から請求項40のいずれかに記載のGPS/GNSS受信機。
【請求項48】
前記GPS/GNSS信号のレベルが約−151dBmを下回る請求項37から請求項40のいずれかに記載のGPS/GNSS受信機。
【請求項49】
(a)第一および第二の衛星を有する第一の衛星対からの第一及び第二のGPS/GNSS信号を観測するステップであり、前記第一のGPS/GNSS信号は第一の信号構造における一点(ファーストポイント)を定義し、前記第二のGPS/GNSS信号は第二の信号構造における一点(セカンドポイント)を定義する、ステップと、
(b)前記第一のGPS/GNSS信号の前記ファーストポイントの第一送信時刻(TA1)および前記第二のGPS/GNSS信号の前記セカンドポイントの第二送信時刻(TB1)を得るステップと、
(c)前記第一送信時刻に基づいて前記第一衛星の第一位置を決定し、前記第二送信時刻に基づいて前記第二衛星の第二位置を決定する、ステップと、
(d)前記第一および第二の送信時刻の差分(△1=TA1−TB1)を計算し、緯度および経度の関数として与えられ得る既知の高度情報を使用して、前記差分△1によって、前記差分が観測される地球表面上に位置線(Line of position)PC1(Δ1)を定義するステップと、
(e)所定時間経過後、異なる位置にある第二の衛星対について、ステップ(a)からステップ(d)を繰り返し、前記地球表面上に第二の位置線PC2(Δ2)を得るステップであって、ここで、Δ2=TA2−TB2であり、TA2およびTB2は前記異なる位置にある前記第二の衛星対の2つの送信時刻である、ステップと、
(f)2つの位置線PC1(Δ1)及びPC2(Δ2)の交点に前記受信機の位置を得るステップと、
を含むGPS/GNSS受信機の位置を確立する方法。
【請求項1】
衛星からの微弱なGPS/GNSS信号を使用してGPS/GNSS受信機にサブマイクロ秒の時刻転送をする方法であって、
前記GPS/GNSS信号のデジタル化された複素ベースバンド信号を受信するステップであって、前記ベースバンド信号はPNコード(受信PNコード)および航法メッセージを搬送する、ステップと、
前記衛星のPNコードを発生させる(生成PNコード)ステップであって、前記生成PNコードは前記受信PNコードに時間整合させられる、ステップと、
前記生成PNコードのコード・エポックを示すタイミング信号を発生させるステップであって、各コード・エポックは前記生成PNコードの各周期(コード周期)の始まりを示している、ステップと、
各コード・エポックにおいて複素相関値を出力するために、前記ベースバンド信号および前記生成PNコードを、前記タイミング信号に従って各コード周期について相互相関させるステップであって、前記複素相関値の列が前記航法メッセージを表すデータストリームを形成する、ステップと、
前記データストリームのビット境界を探知し、前記ビット境界において、番号付けしたビット同期パルスを発生させるステップと、
複数のサブフレームを検索し、前記複数のサブフレームについての検索結果を積算することにより前記航法メッセージ内の目標セグメントのビット位置を検出するステップであって、前記目標セグメントは、前記航法メッセージにおける各サブフレームの既知のビット位置に既知のkビット列を有する、ステップと、
前記ビット位置に基づいて、前記目標セグメントの送信時刻を所定の時間的不明確さによって決定するステップと、
を含む方法。
【請求項2】
前記目標セグメントを検出するステップは、
(a)1ビット周期について前記複素相関値を積算して対応する複素ビット値を得るステップと、
(b)前記複素ビット値を対応するビット同期パルスにおいてk段の複素シフトレジスタに格納するステップであって、前記シフトレジスタは最新のk複素ビット値の列を保持する、ステップと、
(c)前記最新のk複素ビット値の列の重み付け合計を得るステップであって、各複素ビット値は、重み列の対応する1つの重みによって重み付けされ、前記重み列は前記目標セグメントの前記既知のビット列に対応する、ステップと、
(d)前記重み付け合計の大きさを、最新の複素ビット値が前記シフトレジスタに格納されるときの前記対応するビット同期パルスに関連付けられている積算器に蓄積するステップと、
(e)所定の数の積算器に前記重み付け合計の大きさが格納されるまで、ステップ(a)からステップ(d)を反復するステップと、
(f)前記所定の数の積算器の各々が前記重み付け合計の大きさを積算するように、ステップ(e)を複数回繰り返すステップと、
(g)前記積算器のうちで前記重み付け大きさの積算値の最大のものを含む1つの積算器と、前記1つの積算器に関連した特定のビット同期パルスとを決定するステップと、
(h)前記特定のビット同期パルスに基づいてサブフレーム内の前記目標セグメントのビット位置を特定するステップと、
を含む、請求項1に記載の方法。
【請求項3】
前記重み付け合計を得るステップ(c)は、
前記重み付けされた複素ビット値にkポイント高速フーリエ変換(FTT)行い、k個のFTT出力を発生させるステップと、
前記k個のFTT出力の各々の大きさを計算するステップと、
前記大きさの最大値を前記重み付け合計の大きさとして得るステップと、
を含む、請求項2に記載の方法。
【請求項4】
前記所定の時間的不明確さは6(±3)秒の不明確さである、請求項1から請求項3のいずれかに記載の方法。
【請求項5】
前記目標セグメントは前記航法メッセージのサブフレームのプリアンブルであり、kの数は8である、請求項1から請求項3のいずれかに記載の方法。
【請求項6】
前記目標セグメントが前記航法メッセージの週の時刻(TOW)であり、kの数は17である、請求項1から請求項3のいずれかに記載の方法。
【請求項7】
前記所定の数の積算器が300個の積算器を備える、請求項1から請求項3のいずれかに記載の方法。
【請求項8】
前記相互相関させるステップの前に、周波数ロック・ループ(FLL)を使用して前記ベースバンド信号をドップラ補償するステップをさらに含む、請求項1から請求項3のいずれかに記載の方法。
【請求項9】
遅延ロック・ループ(DLL)を使用することにより、前記受信PNコードおよび前記生成PNコードを相関させ、前記生成PNコードを整合させるステップをさらに含む、請求項1から請求項3のいずれかに記載の方法。
【請求項10】
前記送信時刻の前記所定の時間的不明確さを、外部情報源から得た近似的な時刻を使用して解決するステップと、伝播遅延を補正するステップと、をさらに含む、請求項1から請求項3のいずれかに記載の方法。
【請求項11】
データ・ビット毎に20個のコード・エポックが存在しており、前記ビット境界を探知するステップは、
(a)タイミング信号に従い、前記複素相関値を、対応するコード・エポックにおいて20段複素シフトレジスタに格納するステップであって、前記シフトレジスタは最新の20個の複素相関値の列を保持する、ステップと、
(b)各エポックにおいて、前記シフトレジスタの前記20個の複素相関値を合計するステップと、
(c)前記20個の複素相関値の合計の大きさの値を計算するステップと、
(d)最新の複素相関値が前記シフトレジスタに格納されるときの前記コード・エポックに関連した、20個の積算器のうちの1つの積算器に、前記大きさの値を蓄積するステップと、
(e)各大きさの値が前記20個の積算器の各々に格納されるまで、ステップ(a)からステップ(d)を反復するステップと、
(f)前記20個の積算器の各々が前記大きさの値を積算するように、ステップ(e)を複数回繰り返すステップと、
(g)前記20個の積算器のうち、前記大きさの値の積算値の最も大きな値を含む1つの積算器と、前記積算値の最も大きな値を含む前記1つの積算器に関連した特定のコード・エポックとを決定するステップと、
(h) 前記特定のコード・エポックを前記データストリームのビット境界として特定するステップと、
(i)20個のコード・エポック毎に生じる前記ビット同期パルスを出力するステップと、
を含む、請求項1から請求項3のいずれかに記載の方法。
【請求項12】
前記GPS/GNSS信号のレベルが約−151dBmを下回る請求項1から請求項3のいずれかに記載の方法。
【請求項13】
衛星からの微弱なGPS/GNSS信号を使用してGPS/GNSS受信機にサブマイクロ秒の時刻転送をする方法であって、
前記GPS/GNSS信号のデジタル化された複素ベースバンド信号を受信するステップであって、前記ベースバンド信号がPNコード(受信PNコード)および航法メッセージを搬送するステップと、
前記衛星のPNコードを発生する(生成PNコード)ステップであって、前記生成PNコードは前記受信したPNコードに時刻整合させられるステップと、
前記生成PNコードのコード・エポックを示すタイミング信号を発生するステップであって、各コード・エポックは前記生成PNコードの各周期(コード周期)の始まりを示す、ステップと、
前記タイミング信号に従って、前記ベースバンド信号および前記生成PNコードを、各コード周期について相互相関させ、各コード・エポックおいて複素相関値を出力するステップであって、前記複素相関値の列は前記航法メッセージを表すデータストリームを形成する、ステップと、
前記データストリームのビット境界を探知し、前記ビット境界においてビット同期パルスを発生するステップと、
前記航法メッセージにおける目標セグメントのビット位置を検出するステップあって、前記目標セグメントは前記航法メッセージの既知のビット位置に既知のkビット列を有しており、前記目標セグメントを求めて前記航法メッセージを検索し、検索結果を所定の閾値と比較することによってなされる、ステップと、
前記ビット位置に基づいて前記目標セグメントの送信時刻を所定の時間的不明確さによって決定するステップと、
を含む方法。
【請求項14】
前記目標セグメントを検出するステップは、
(a)1ビット周期について前記複素相関値を積算して対応する複素ビット値を得るステップと、
(b)前記ビット値を、対応するビット同期パルスにおいてk段複素シフトレジスタに格納するステップであって、前記シフトレジスタが最新のk複素ビット値の列を保持している、ステップと、
(c)前記最新のk複素ビット値の列の重み付け合計を得るステップであって、各複素ビット値は、一連の重み列の対応する1つの重みによって重み付けされ、前記一連の重み列は、前記目標セグメントの前記既知のビット列に対応している、ステップと、
(d)前記重み付け合計の大きさが所定の閾値を超えるかどうかを決定するステップと、
(e)前記重み付け合計の大きさが前記所定の閾値を超えない場合はステップ(a)からステップ(d)を繰り返すステップと、
(f)前記重み付け合計の大きさが前記所定の閾値を超える場合は、最新のビット値が前記シフトレジスタに格納されるときの、前記対応するビット同期パルスを前記目標セグメントのビット位置として特定するステップと、
を含む、請求項13に記載の方法。
【請求項15】
前記重み付け合計を得るステップ(c)は、
前記重み付けされた複素ビット値にkポイント高速フーリエ変換(FTT)を行い、k個のFTT出力を発生させるステップと、
前記k個のFTT出力の各々の大きさを計算するステップと、
前記k個のFTT出力の前記大きさの最大値を前記重み付け合計の大きさとして得るステップと、
を含む、請求項14に記載の方法。
【請求項16】
前記最大の大きさを有する前記kポイントFTT出力に関連させられた周波数に基づいて周波数誤差信号を発生させるステップをさらに含む、請求項15に記載の方法。
【請求項17】
前記目標セグメントがフレーム毎に一度生起し、前記所定の時間的不明確さが30(±15)秒の不明確さである、請求項13から請求項16のいずれかに記載の方法。
【請求項18】
前記目標セグメントが航法メッセージ毎に一度生起し、前記所定の時間的不明確さが12.5(±6.25)分の不明確さである、請求項13から請求項16のいずれかに記載の方法。
【請求項19】
前記目標セグメントが航法メッセージのエフェメリスデ−タ・セグメントであり、kの数が128またはそれ以上である、請求項13から請求項16のいずれかに記載の方法。
【請求項20】
前記相互相関させるステップの前に、周波数ロック・ループ(FLL)を使用して前記ベースバンド信号をドップラ補償するステップをさらに含む、請求項13から請求項16のいずれかに記載の方法。
【請求項21】
遅延ロック・ループ(DLL)を使用することにより、前記受信PNコードおよび前記生成PNコードを相関させ、前記生成PNコードを整合させるステップをさらに含む、請求項13から請求項16のいずれかに記載の方法。
【請求項22】
前記送信時刻の前記所定の時間的不明確さを、外部情報源から得た近似的な時刻を使用して解決するステップと、伝播遅延を補正するステップと、をさらに含む、請求項13から請求項16のいずれかに記載の方法。
【請求項23】
データ・ビット毎に20個のコード・エポックが存在しており、前記ビット境界を探知するステップは、
(a)タイミング信号に従い、前記複素相関値を、対応するコード・エポックにおいて20段複素シフトレジスタに格納するステップであって、前記シフトレジスタは最新の20個の複素相関値の列を保持する、ステップと、
(b)各エポックにおいて、前記シフトレジスタの前記20個の複素相関値を合計するステップと、
(c)前記20個の複素相関値の合計の大きさの値を計算するステップと、
(d)最新の複素相関値が前記シフトレジスタに格納されるときの前記コード・エポックに関連した、20個の積算器のうちの1つの積算器に、前記大きさの値を蓄積するステップと、
(e)各大きさの値が前記20個の積算器の各々格納されるまで、ステップ(a)からステップ(d)を反復するステップと、
(f)前記20個の積算器の各々が前記大きさの値を積算するように、ステップ(e)を複数回繰り返すステップと、
(g)前記20個の積算器のうち、前記大きさの値の積算値の最も大きな値を含む1つの積算器と、前記積算値の最も大きな値を含む前記1つの積算器に関連した特定のコード・エポックとを決定するステップと、
(h)前記特定のコード・エポックを前記データストリームのビット境界として特定するステップと、
(i)20個のコード・エポック毎に生じる前記ビット同期パルスを出力するステップと、
を含む、請求項13から請求項16のいずれかに記載の方法。
【請求項24】
前記GPS/GNSS信号のレベルが約−151dBmを下回る請求項13から請求項16のいずれかに記載の方法。
【請求項25】
衛星からの微弱なGPS/GNSS信号を使用するサブマイクロ秒の時刻転送回路を有するGPS/GNSS受信機であり、前記GPS/GNSS信号はPNコード(受信PNコード)および航法メッセージを搬送しており、前記GPS/GNSS受信機は、
前記衛星のPNコード(生成PNコード)を発生するPNコード発生器であって、前記生成PNコードのコード・エポックを示すタイミング信号を出力し、前記各コード・エポックは前記生成PNコードの各周期(コード周期)の始まりを示している、PNコード発生器と、
前記タイミング信号に従って、前記生成PNコードおよび前記GPS/GNSS信号のデジタル化された複素ベースバンド信号を、各コード周期について相互相関させることにより各コード・エポックにおいて複素相関値を出力し、前記複素相関値の列が前記航法メッセージを表すデータストリームを形成する、相互相関器と、
前記データストリームのビット境界を探知し、前記ビット境界において番号付けされたビット同期パルスを発生するビット・シンクロナイザと、
前記ビット・シンクロナイザおよび前記相互相関器に連結され、前記航法メッセージにおける目標セグメントを検出する目標セグメント探知器であって、前記目標セグメントは前記航法メッセージの各サブフレームの既知のビット位置に既知のkビット列を有しており、複数のサブフレームを検索し、前記複数のサブフレームについての検索結果を積算することにより、特定のビット同期パルスをサブフレームにおける前記目標セグメントのビット位置として特定する、目標セグメント探知器と、
前記目標セグメントの前記ビット位置および前記航法メッセージのある特別なビットの既知の送信時刻に基づいて、前記目標セグメントの送信時刻を所定の時間的不明確さをもって決定する、送信時刻決定器と、
を備えるGPS/GNSS受信機。
【請求項26】
前記目標セグメント探知器は、
前記複素相関値を1ビット周期について積算して複素ビット値を得る1ビット積算器と、
対応するビット同期パルスに従って前記複素ビット値を格納し、最新のk複素ビット値の列を保持する、k段複素シフトレジスタと、
前記最新のk複素ビット値の列の重み付け合計を得る加重マルチプレクサであって、各複素ビット値を、重み列の対応する1つの重みによって重み付けし、前記重み列は前記目標セグメントの前記既知のビット列に対応している、加重マルチプレクサと、
前記重み付け合計の大きさを、前記対応するビット同期パルスに従って蓄積する一連の積算器と、
前記一連の積算器のうち、前記重み付け合計の大きさの積算の最大値を含む特定の積算器を決定し、前記特定の積算器に関連した特定のビット同期パルスに基づいて前記目標セグメントの前記ビット位置を特定する、コントローラと、
を備える、請求項25に記載のGPS/GNSS受信機。
【請求項27】
前記加重マルチプレクサは、
前記重み付けされた複素ビット値にkポイントFTTを行い、k個のFTT出力を発生するkポイント高速フーリエ変換器(FTT)と、
前記k個のFTT出力の各々の大きさを計算し、前記k個のFTT出力の前記大きさの最大値を前記重み付け合計の前記大きさとして得る、大きさ計算機と、
を備える、請求項26に記載のGPS/GNSS受信機。
【請求項28】
前記所定の時間的不明確さが6(±3)秒の不明確さである、請求項25から請求項27のいずれか1項に記載の GPS/GNSS受信機。
【請求項29】
前記目標セグメントは、前記航法メッセージの前記サブフレームのプリアンブルであり、kの数は8である、請求項25から請求項27のいずれかに記載のGPS/GNSS受信機。
【請求項30】
前記目標セグメントは前記航法メッセージにある週の時刻(TOW)であり、kの数は17である、請求項25から請求項27のいずれかに記載のGPS/GNSS受信機。
【請求項31】
前記一連の積算器が300個の積算器を備える、請求項25から請求項27のいずれかに記載のGPS/GNSS受信機。
【請求項32】
前記ベースバンド信号のドップラ誤差を補償する周波数ロック・ループ(FLL)をさらに含む、請求項25から請求項27のいずれかに記載のGPS/GNSS受信機。
【請求項33】
前記受信PNコードおよび前記生成PNコードを相関させることにより、前記生成PNコードを前記受信したPNコードに整合させる、遅延ロック・ループ(DLL)をさらに含む、請求項25から請求項27のいずれかに記載のGPS/GNSS受信機。
【請求項34】
外部情報源から得た近似的な時刻を使用して、前記所定の時間的不明確さを解決し、サブマイクロ秒の精度で局所時刻を決定する時間的不明確さ解決部と、伝播遅延補正部と、を備える局所時刻決定器をさらに備える、請求項25から請求項27のいずれかに記載のGPS/GNSS受信機。
【請求項35】
データ・ビット毎に20個のコード・エポックが存在しており、前記ビット・シンクロナイザは、
前記タイミング信号に従い、前記複素相関値を、対応するコード・エポックにおいて格納し、最新の20個の複素相関値の列を保持する、20段複素シフトレジスタと、
各エポックにおいて、前記シフトレジスタの前記20個の複素相関値を合計する加算器と、
前記20個の複素相関値の合計の大きさを計算するの大きさ計算器と、
前記コード・エポックに従って、所定時間の間、大きさの値を蓄積する一連の積算器と、
前記積算器のうちで、前記大きさの値の積算値の最大の値を含む1つの積算器を決定し、前記積算値の最大の値を含む積算器に関連した特定のコード・エポックを前記データストリームのビット境界として特定するコントローラと、
前記ビット境界に対応するコード・エポックにおいてビット同期パルスを出力するビット同期パルス発生器と、
を備える、請求項25から請求項27のいずれかに記載のGPS/GNSS受信機。
【請求項36】
前記GPS/GNSS信号のレベルが約−151dBmを下回る、請求項25から請求項27のいずれかに記載のGPS/GNSS受信機。
【請求項37】
衛星からの微弱なGPS/GNSS信号を使用するサブマイクロ秒の時刻転送回路を有するGPS/GNSS受信機であり、前記GPS/GNSS信号はPNコード(受信PNコード)および航法メッセージを搬送しており、前記GPS/GNSS受信機は、
前記衛星のPNコード(生成PNコード)を発生するPNコード発生器であって、前記生成PNコードのコード・エポックを示すタイミング信号を出力し、前記各コード・エポックは前記生成PNコードの各周期(コード周期)の始まりを示している、PNコード発生器と、
前記タイミング信号に従って、生成PNコードおよび前記GPS/GNSS信号のデジタル化された複素ベースバンド信号を、各コード周期について相互相関させることにより、各コード・エポックにおいて複素相関値を出力し、前記複素相関値の列が前記航法メッセージを表すデータストリームを形成する、相互相関器と、
前記データストリームのビット境界を探知し、前記ビット境界において番号付けされたビット同期パルスを発生するビット・シンクロナイザと、
前記ビット・シンクロナイザおよび前記相互相関器に連結され、前記航法メッセージの目標セグメントを検出する目標セグメント探知器であって、前記目標セグメントは前記航法メッセージの既知のビット位置に既知のkビット列を有しており、前記目標セグメントを求めて前記航法メッセージを検索し、検索結果を所定の閾値と比較することにより目標セグメントのビット位置を検出する、目標セグメント探知器と、
前記目標セグメントのビット位置および前記航法メッセージのある特別なビットの既知の送信時刻に基づいて、前記目標セグメントの送信時刻を所定の時間的不明確さをもって決定する、送信時刻決定器と、
を備えるGPS/GNSS受信機。
【請求項38】
前記目標セグメント探知器は、
前記複素相関値を1ビット周期について積算して複素ビット値を得る1ビット積算器と、
対応するビット同期パルスに従って前記複素ビット値を格納し、最新のk複素ビット値の列を保持する、k段複素シフトレジスタと、
前記最新のk複素ビット値の列の重み付け合計を得る加重マルチプレクサであって、各複素ビット値を、重み列の対応する1つの重みによって重み付けし、前記重み列は前記目標セグメントの前記既知のビット列に対応している、加重マルチプレクサと、
前記重み付け合計の前記大きさが所定の閾値を超えるかどうかを決定する比較器と、
前記重み付け合計の前記大きさが所定の閾値を超える場合は、最新のビット値が前記シフトレジスタに格納されるときの前記ビット同期パルスから前記目標セグメントの前記ビット位置を特定するコントローラと、
を備える、請求項37に記載のGPS/GNSS受信機。
【請求項39】
前記加重マルチプレクサは、
前記重み付けされた複素ビット値にkポイントFTTを行い、k個のFTT出力を発生する、kポイント高速フーリエ変換器(FTT)と、
前記k個のFTTの出力の各々の大きさを計算し、前記k個のFTT出力の前記大きさの最大値を前記重み付け合計の前記大きさとして得る、大きさ計算器と、
を備える、請求項38に記載のGPS/GNSS受信機。
【請求項40】
前記加重マルチプレクサは、前記最大の大きさを有するkポイントFTT出力に関連した周波数に基づいて周波数誤差信号を発生する周波数誤差信号発生器をさらに備える、請求項39に記載のGPS/GNSS受信機。
【請求項41】
前記目標セグメント各フレームに一度生起じ、前記所定の時間的不明確さが30(±15)秒の不明確さである、請求項37から請求項40のいずれかに記載のGPS/GNSS受信機。
【請求項42】
前記目標セグメントが各航法メッセージに一度生起じ、前記所定の時間的不明確さが12.5(±6.25)分の不明確さである、請求項37から請求項40のいずれかに記載のGPS/GNSS受信機。
【請求項43】
前記目標セグメントは前記航法メッセージのエフェメリスデータのセグメントであり、kの数が128またはそれ以上である、請求項37から請求項40のいずれかに記載のGPS/GNSS受信機。
【請求項44】
前記ベースバンド信号のドップラ誤差を補償する周波数ロック・ループをさらに備える、請求項37から請求項40のいずれかに記載のGPS/GNSS受信機。
【請求項45】
前記受信PNコードおよび前記生成PNコードを相関することにより、前記生成PNコードを前記受信したコードに整合させる、遅延ロック・ループ(DLL)をさらに備える、請求項37から請求項40のいずれかに記載のGPS/GNSS受信機。
【請求項46】
外部情報源から得た近似的な時刻を使用して、前記送信時刻における前記所定の時間的不明確さを解決する時間的不明確さ解決部と、伝播遅延補正部と、を備える局所時刻決定器をさらに備える、請求項37から請求項40のいずれかに記載のGPS/GNSS受信機。
【請求項47】
データ・ビット毎に20個のコード・エポックが存在しており、前記ビット・シンクロナイザは、
前記タイミング信号に従い、前記複素相関値を、対応するコード・エポックにおいて格納し、最新の20個の複素相関値の列を保持する、20段複素シフトレジスタと、
各エポックにおいて、前記シフトレジスタの前記20個の複素相関値を合計する加算器と、
前記20個の複素相関値の合計の大きさを計算する大きさ計算器と、
前記コード・エポックに従って、所定時間の間、前記大きさの値を蓄積する一連の積算器と、
前記積算器のうちで前記大きさの値の最大積算値を含む1つの積算器を決定し、前記最大積算値を含む積算器と関連した特定のコード・エポックを前記データストリームのビット境界として特定するコントローラと、
前記ビット境界に対応するコード・エポックにおいてビット同期パルスを出力するビット同期パルス発生器と、
を備える、請求項37から請求項40のいずれかに記載のGPS/GNSS受信機。
【請求項48】
前記GPS/GNSS信号のレベルが約−151dBmを下回る請求項37から請求項40のいずれかに記載のGPS/GNSS受信機。
【請求項49】
(a)第一および第二の衛星を有する第一の衛星対からの第一及び第二のGPS/GNSS信号を観測するステップであり、前記第一のGPS/GNSS信号は第一の信号構造における一点(ファーストポイント)を定義し、前記第二のGPS/GNSS信号は第二の信号構造における一点(セカンドポイント)を定義する、ステップと、
(b)前記第一のGPS/GNSS信号の前記ファーストポイントの第一送信時刻(TA1)および前記第二のGPS/GNSS信号の前記セカンドポイントの第二送信時刻(TB1)を得るステップと、
(c)前記第一送信時刻に基づいて前記第一衛星の第一位置を決定し、前記第二送信時刻に基づいて前記第二衛星の第二位置を決定する、ステップと、
(d)前記第一および第二の送信時刻の差分(△1=TA1−TB1)を計算し、緯度および経度の関数として与えられ得る既知の高度情報を使用して、前記差分△1によって、前記差分が観測される地球表面上に位置線(Line of position)PC1(Δ1)を定義するステップと、
(e)所定時間経過後、異なる位置にある第二の衛星対について、ステップ(a)からステップ(d)を繰り返し、前記地球表面上に第二の位置線PC2(Δ2)を得るステップであって、ここで、Δ2=TA2−TB2であり、TA2およびTB2は前記異なる位置にある前記第二の衛星対の2つの送信時刻である、ステップと、
(f)2つの位置線PC1(Δ1)及びPC2(Δ2)の交点に前記受信機の位置を得るステップと、
を含むGPS/GNSS受信機の位置を確立する方法。
【図1】
【図2A】
【図2B】
【図2C】
【図2D】
【図2E】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図2A】
【図2B】
【図2C】
【図2D】
【図2E】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【公表番号】特表2011−506974(P2011−506974A)
【公表日】平成23年3月3日(2011.3.3)
【国際特許分類】
【出願番号】特願2010−538189(P2010−538189)
【出願日】平成20年12月12日(2008.12.12)
【国際出願番号】PCT/US2008/086613
【国際公開番号】WO2009/079380
【国際公開日】平成21年6月25日(2009.6.25)
【出願人】(501141253)マゼランシステムズジャパン株式会社 (15)
【Fターム(参考)】
【公表日】平成23年3月3日(2011.3.3)
【国際特許分類】
【出願日】平成20年12月12日(2008.12.12)
【国際出願番号】PCT/US2008/086613
【国際公開番号】WO2009/079380
【国際公開日】平成21年6月25日(2009.6.25)
【出願人】(501141253)マゼランシステムズジャパン株式会社 (15)
【Fターム(参考)】
[ Back to top ]