(57)【要約】未処理の信号サンプルを記憶せずにリアルタイムで畳み込み結果を発生することにより入力ＧＰＳ信号とＣ／Ａコード基準との間の畳み込みを計算するための方法及び装置。この方法及び装置は、多数の分解能モードで動作して、畳み込み処理の感度を向上させることができる。【選択図】図１
2004534227.tif 000002
【特許請求の範囲】
【請求項１】
デジタル信号と擬似ランダム基準コードとの相関を計算する方法であって、
ａ）複数のサンプル間隔からサンプル間隔を選択するステップと、
ｂ）上記デジタル信号をサンプリングして、第１サンプル間隔を有するデジタル信号サンプルの第１セットを発生するステップと、
ｃ）擬似ランダム基準コードを複数のコードセグメントに分割するステップと、
ｄ）コードセグメントを選択するステップと、
ｅ）前記選択されたコードセグメントと上記デジタル信号サンプルの第１セットとの間の内積を形成して、部分相関を発生するステップと、
ｆ）上記ステップｄ）及びｅ）を繰り返して、複数の部分相関を発生するステップと、
ｇ）各部分相関が発生されるときに上記複数の部分相関を加算して、複数の第１相関を形成するステップと、
を備えた方法。
【請求項２】
ｈ）前記第１相関を使用して当該領域を選択するステップと、
ｉ）上記デジタル信号をサンプリングして、第２サンプル間隔を有するデジタル信号サンプルの第２セットを発生するステップと、
ｊ）前記当該領域内で前記擬似ランダム基準コードと前記デジタル信号サンプルの第２セットとの間の１つ以上の第２相関を実行して、１つ以上の第２相関を発生するステップと、
を更に備えた請求項１に記載の方法。
【請求項３】
上記ステップｊ）は、更に、
ｊ１）上記擬似ランダム基準コードを複数のコードセグメントに分割する段階と、
ｊ２）コードセグメントを選択する段階と、
ｊ３）前記選択されたコードセグメントと上記デジタル信号サンプルの第２セットとの間の内積を形成して、部分相関を発生する段階と、
ｊ４）上記段階ｊ２）及びｊ３）を繰り返して複数の第２部分相関を発生する段階と、
ｊ５）各第２部分相関が発生されるときに上記複数の第２部分相関を加算して、複数の第２相関を形成する段階と、
を備えた請求項２に記載の方法。
【請求項４】
上記擬似ランダム基準コードを固定数の非重畳コードブロックに分割するステップと、
前記コードブロックの各々を固定数の非重畳コードセグメントに分割するステップと、
各々の前記コードブロックをルックアップテーブルに記憶するステップと、
を更に備えた請求項１に記載の方法。
【請求項５】
前記ステップｄ）は、
前記ルックアップテーブルから前記コードセグメントとしてコードブロックを選択する段階を含む請求項４に記載の方法。
【請求項６】
上記擬似ランダム基準コードは、グローバルポジショニングシステムのＣ／Ａコードである請求項２に記載の方法。
【請求項７】
前記第１サンプル間隔は、Ｃ／Ａコードチップの１／２である請求項６に記載の方法。
【請求項８】
前記第２サンプル間隔は、Ｃ／Ａコードチップの１／５である請求項６に記載の方法。
【請求項９】
上記デジタル信号を同相及び直角位相成分に分割するステップと、
上記ステップａ）からｇ）を前記同相及び前記直角位相成分に対して別々に実行するステップと、
を備えた請求項１に記載の方法。
【請求項１０】
グローバルポジショニングシステム（ＧＰＳ）信号の受信器であって、
受信したＧＰＳ信号をフィルタリング及び周波数変換してＩＦ信号を形成するためのＲＦ／ＩＦコンバータと、
前記ＩＦ信号をデジタル化するためのアナログ／デジタルコンバータと、
前記デジタル化信号からドップラーシフトを除去して、同相（Ｉ）及び直角位相（Ｑ）信号を発生するためのチューナーと、
前記Ｉ及びＱ信号をサブサンプリングするためのデシメーション回路であって、前記サブサンプリングされたＩ及びＱ信号が第１サンプル間隔又は第２サンプル間隔のいずれかをもつようにするデシメーション回路と、
前記第１サンプル間隔又は前記第２サンプル間隔のいずれかを選択するためのモード選択プロセッサと、
Ｃ／Ａ基準コードと前記サブサンプリングされたＩ及びＱ信号との間の畳み込み演算を実行するための畳み込みプロセッサと、
を備えた受信器。
【請求項１１】
前記畳み込みプロセッサは、Ｃ／Ａ基準コードを発生するコードジェネレータであって、コードルックアップテーブルと、第１及び第２のコードエクステンダーとを含むコードジェネレータを備えた請求項１０に記載の受信器。
【請求項１２】
前記畳み込みプロセッサは、
前記サブサンプリングされたＩ信号のセグメントを記憶するための第１シフトレジスタと、
前記サブサンプリングされたＱ信号のセグメントを記憶するための第２シフトレジスタと、
を備えた請求項１０に記載の受信器。
【請求項１３】
複数の処理チャンネルを更に備え、各チャンネルは、異なるＧＰＳ信号に対する畳み込みを発生する請求項１０に記載の受信器。
【請求項１４】
複数の畳み込みを使用してポジション・ロケーションを計算するためのコンピュータを更に備えた請求項１３に記載の受信器。
【請求項１５】
デジタル信号と擬似ランダム基準コードとの相関を計算する装置であって、
ａ）複数のサンプル間隔からサンプル間隔を選択する手段と、
ｂ）上記デジタル信号をサンプリングして、第１サンプル間隔を有するデジタル信号サンプルの第１セットを発生する手段と、
ｃ）擬似ランダム基準コードを複数のコードセグメントに分割する手段と、
ｄ）コードセグメントを選択する手段と、
ｅ）前記選択されたコードセグメントの各々と上記デジタル信号サンプルの第１セットとの間の内積を形成して、複数の部分相関を発生する手段と、
ｆ）各部分相関が発生されるときに上記複数の部分相関を加算して、複数の第１相関を形成する手段と、
を備えた装置。
【請求項１６】
ｇ）前記第１相関を使用して当該領域を選択する手段と、
ｈ）上記デジタル信号をサンプリングして、第２サンプル間隔を有するデジタル信号サンプルの第２セットを発生する手段と、
ｉ）前記当該領域内で前記擬似ランダム基準コードと前記デジタル信号サンプルの第２セットとの間の１つ以上の第２相関を実行して、１つ以上の第２相関を発生する手段と、
を更に備えた請求項１５に記載の装置。
【請求項１７】
１つ以上の相関を実行する上記手段は、更に、
ｊ１）上記擬似ランダム基準コードを複数のコードセグメントに分割する手段と、
ｊ２）コードセグメントを選択する手段と、
ｊ３）前記選択されたコードセグメントの各々と上記デジタル信号サンプルの第２セットとの間の内積を形成して、複数の第２部分相関を発生する手段と、
ｊ４）各第２部分相関が発生されるときに上記複数の第２部分相関を加算して、複数の第２相関を形成する手段と、
を備えた請求項１６に記載の装置。
【請求項１８】
上記擬似ランダム基準コードを固定数の非重畳コードブロックに分割する手段と、
前記コードブロックの各々を固定数の非重畳コードセグメントに分割する手段と、
各々の前記コードブロックをルックアップテーブルに記憶する手段と、
を更に備えた請求項１５に記載の装置。
【請求項１９】
前記コードセグメントを選択する前記手段は、
前記ルックアップテーブルから前記コードセグメントとしてコードブロックを選択する手段を備えた請求項１８に記載の装置。
【請求項２０】
上記擬似ランダム基準コードは、グローバルポジショニングシステムのＣ／Ａコードである請求項１６に記載の装置。
【請求項２１】
前記第１サンプル間隔は、Ｃ／Ａコードチップの１／２である請求項２０に記載の装置。
【請求項２２】
前記第２サンプル間隔は、Ｃ／Ａコードチップの１／５である請求項２０に記載の装置。
【発明の詳細な説明】
【発明の分野】
【０００１】
本発明は、デジタル信号受信器のための信号相関器に関し、より詳細には、例えば、グローバルポジショニングシステム（ＧＰＳ）受信器において信号相関を実行するための方法及び装置に関する。
【背景技術の説明】
【０００２】
グローバルポジショニングシステム（ＧＰＳ）の信号を測定するプロセスは、既知の擬似ランダムノイズ（ＰＲＮ）コードに対して到来信号の一連の相関を試みることによりノイズの存在中でＧＰＳ信号をサーチするための手順で始まる。このサーチプロセスは、信号の厳密な周波数及び到着時間遅延の両方が未知であるために長々しいものである。信号を見出すために、受信器は、慣習的に２次元サーチを実行し、各考えられる周波数において各遅延の可能性をチェックする。特定の周波数及び遅延において信号の存在をテストするために、受信器がその周波数に同調され、到来する信号が、到着時間に対応する量だけ遅延された既知のＰＲＮコードと相関される。信号が検出されない場合には、次の遅延の可能性に対してサーチが続けられ、全ての遅延可能性がチェックされた後に、次の周波数可能性へと続けられる。各個々の相関は、信号をノイズから区別するに充分な信号平均化を許すために１ミリ秒以上にわたって行われる。数千の周波数及び遅延の可能性がチェックされるために、収集プロセス全体では数十秒を要する。
【０００３】
最近、ワイヤレス装置へのＧＰＳ技術の新たな応用が出現し、例えば、非常探索能力を与えるためにセルラー電話にＧＰＳが利用されている。これらの用途では、数秒程度の迅速な信号収集が要求される。更に、これらの用途では、ＧＰＳ受信器を、苛酷な信号環境や、ＧＰＳ信号レベルが相当に減衰される屋内で動作することが要求される。減衰した信号を検出する場合には、比較的長い時間周期にわたって各相関を実行する必要がある。例えば、慣習的なＧＰＳ受信器では１から１０ミリ秒の周期が使用されたのに対して、数秒にわたって積分が実行される。慣習的な受信器により使用される２次元の逐次サーチプロセスは、このような長い積分時間では実用的でない。というのは、全体的なサーチ時間が１００倍以上も増加するからである。
【０００４】
サーチプロセスを加速するために、ＧＰＳ設計者は、多数の到着時間可能性を同時にチェックできるように受信器に付加的な相関器を追加する。典型的に、追加される各相関器は、個別のコードミクサ及び信号アキュムレータを必要とする。これは、所与の感度レベルに対し、相関器の数に比例してサーチ時間を減少する。セルラー電話の用途で要求される感度及び収集時間を達成するために、設計上、数千個の相関器を組み込まねばならない。この追加は、通常、消費者クラスの装置の場合に複雑さ及び費用が禁止的なものとなる。
【０００５】
例えば、１９９９年５月４日付の米国特許第５，９０１，１７１号には、単一の時分割処理ブロックを使用して、１２チャンネルの各々において２０個までの同時相関を実行できるようにする三重化技術が開示されている。これは、２０の遅延可能性のブロックが同時にチェックされるので、単一相関器の設計に対して性能の改善を与える。全範囲の遅延不確実性にわたる全信号サーチは、２０４６個の遅延をチェックするために、２０個の相関器のブロックを約１００回順次に使用することを必要とする。従って、収集を数秒で実行しなければならない場合には、積分時間が数十ミリ秒に限定される。これでは、屋内ＧＰＳ用途に必要とされる感度を得るのに不充分である。
【０００６】
サーチプロセスを更に改善するために、他のＧＰＳ受信器のアーキテクチャーは、到来する信号と既知のＰＲＮコードとの間に畳み込みを発生する処理能力を備えている。これは、全Ｃ／Ａコードエポック(epoch)（１０２３個のチップ）にわたり全ての時間遅延可能性に及ぶ完全な１組の相関器を設けることに等しく、１９９７年９月２日付の米国特許第５，６６３，７３４号には、ソフトウェアアルゴリズムを使用して必要な相関結果を効率的に発生するための高速フーリエ変換（ＦＦＴ）ベースのソフトウェア技術が開示されている。この解決策は、ソフトウェアＦＦＴを実行するのにプログラム可能なデジタル信号プロセッサ（ＤＳＰ）が必要とされ、且つ未処理の信号サンプルを記憶するのに大きなメモリが必要とされるので、全ての用途に適したものではない。更に、この解決策は、ソフトウェア計算であることと、信号の完全なスナップショットが記憶された後でなければソフトウェア処理がスタートしないことから、大きな処理遅延をもつことになる。多くの用途では、リアルタイム処理解決策、好ましくは、広範囲なソフトウェア処理を伴わない解決策が望まれる。リューシン氏等の「Fast Acquisition by Matched Filter Technique for GPS/GLONASS Receivers」、第３０７−３１５ページには、１０２３個のタップをもつ整合フィルタを使用してリアルタイムで畳み込みを実行するためのハードウェア解決策が説明されている。この整合フィルタは、全Ｃ／Ａコードエポックを保持するに充分な大きさのシフトレジスタと、全エポックの信号とＣ／Ａコードとの間の内積を発生する巾１０２３のベクトル乗算器・加算器ユニットとで構成される。
【０００７】
この回路は、セルラー電話のような低コストの消費者向け装置の制約に対して複雑である。他の整合フィルタ解決策、例えば、Ｐコード収集のための軍用クラス受信器に使用される解決策も、大きなベクトル乗算器を組み込んでいる。
【０００８】
従って、全エポックの信号及びＣ／Ａコードを処理することのできる改良された簡単且つ低コストのＧＰＳ処理ブロックが要望される。このような装置は、比較的簡単なハードウェアから構成されねばならず、しかも、好ましくは、大きなベクトル乗算器を伴わずに、全畳み込み又は多数の並列な相関を発生することができねばならない。
【発明の概要】
【０００９】
本発明は、未処理の信号サンプルを記憶せずに且つ広範囲のソフトウェア処理を行わずにリアルタイムで畳み込み結果を発生することにより、入力信号（例えば、ＧＰＳ信号）と擬似ランダムノイズ（ＰＲＮ）コード基準との間の全畳み込みを計算するための方法及び装置を提供する。この装置は、全エポックを処理するサイズのベクトル乗算器と同じ結果を得るために高速度で動作するベクトル乗算器を備えている。本発明は、セルラー電話のような消費者クラス装置の複雑さ制約に適合する集積回路において実施することができる。その設計には、高い感度を確保するために畳み込み結果の長時間平均化を可能にするのに必要なロジックが含まれる。本発明は、屋内で受信された信号を含む著しく減衰した信号からポジション・ロケーションを導出するのに使用するために信号を相関することができる。
【００１０】
完全な装置は、従来のＧＰＳチューナーと、デシメーション回路と、畳み込みプロセッサと、畳み込み結果を累算するＲＡＭブロックとで構成される。畳み込みプロセッサは、１００ＭＨ以上の高いクロックレートで動作して、回路の小さなブロックを繰り返し使用することにより全畳み込みを計算できるようにする。より詳細には、畳み込みの各ポイントが、エポックの一部分だけを処理するサイズのベクトル乗算器を使用して各々発生される一連の部分相関へと分解される。本装置は、Ｃ／Ａコードを、コードセグメントの非重畳セットへと細分化することにより、部分相関を組織化する。各部分相関は、一度に１つのコードセグメントだけを使用し、簡単なルックアップテーブルを使用してＣ／Ａコードを効率的に記憶及び検索できるようにする。
【００１１】
プロセッサは、入力ＩＦサンプルをデシメートして希望サンプルレートの信号流を生成することで動作を開始し、そのサンプルレートは、到来する信号のタイミングと正確に一致される。希望サンプルレートがＰｆ０（Ｃ／Ａチップ当たりＰ個のサンプル）である場合には、各信号エポックにおいて厳密に１０２３×Ｐ個のサンプルが取り出されるようにサンプリングレートがセットされる。プロセッサは、Ｐ×Ｋ個の入力サンプルを保持するサイズのシフトレジスタを経て信号クロック信号を相関し、ここで、Ｋは、１０２３の因数である。各信号シフトにおいて、一連のＭ個の部分相関演算が実行され、Ｍは、Ｍ×Ｋ＝１０２３となるように選択される。各部分相関は、Ｃ／Ａコードの長さＫセグメントをＰ×Ｋ個のサンプルへと拡張することにより形成された基準サンプルのブロックと、信号シフトレジスタの内容との内積をとることで構成される。部分相関結果は、メモリに累積される。部分相関結果を累積することにより、プロセッサは、全畳み込みまで、多数の相関ポイントに対する完全な相関結果を発生する。
【００１２】
本発明は、別の実施形態において、２つの動作モードを提供する。標準的な動作モードでは、通常Ｃ／Ａコードチップの半分である標準的なチップ間隔を使用して、全畳み込みが発生される。高分解能モードでは、例えばＣ／Ａコードチップの１／５である減少チップ間隔を使用して、畳み込みの一部分が発生される。モード間の移行は、アルゴリズムにより制御され、これが行われるのは、以前の測定及び／又は外部で得られる情報が、高分解能相関が計算された畳み込みの一部分を収集することに焦点を合わせたときである。
【００１３】
本発明は、添付図面を参照した以下の詳細な説明を考慮することにより容易に理解できるであろう。
【詳細な説明】
【００１４】
図１は、本発明を組み込んだグローバルポジショニングシステム（ＧＰＳ）受信器１００のブロック図である。本発明が組み込まれたプラットホームとしてＧＰＳ受信器を使用することで本発明の１つの用途が形成される。本発明は、信号相関を必要とする他のプラットホームにも使用できる。
【００１５】
信号（ＧＰＳ信号のような）は、アンテナ１０１により受信される。高周波／中間周波コンバータ（ＲＦ／ＩＦコンバータ）１０２は、信号をフィルタし、増幅し且つ周波数シフトし、次いで、信号は、アナログ／デジタルコンバータ（Ａ／Ｄ）１０３によりデジタル化される。これら要素１０１、１０２及び１０３は、従来のＧＰＳ受信器に使用された要素と実質的に同様である。
【００１６】
Ａ／Ｄ１０３の出力は、デジタルロジックで実施された１組の処理チャンネル１０４１、１０４２、・・１０４ｎ（ｎは整数）に接続される。各処理チャンネル１０４ｎは、特定のＧＰＳ衛星からの信号を処理するのに使用される。特定チャンネルの信号は、チューナー１０５によってデジタルで同調され、このチューナーは、数値制御発振器（ＮＣＯ）１０６により駆動される。チューナー１０５は、２つの目的を果たす。第１に、ＲＦ／ＩＦ変換後に残っているＩＦ周波数成分を除去する。第２に、衛星の移動、ユーザの移動及び基準周波数エラーにより生じる衛星ドップラー周波数シフトを除去する。チューナーからの出力は、同相成分（Ｉ）及び直角位相成分（Ｑ）より成る基本帯域信号である。チューナー１０５及びキャリアＮＣＯ１０６は、従来のＧＰＳ受信器設計で使用されるものと実質的に同様である。
【００１７】
デシメーション回路１０７は、チューナー１０５の出力を処理する。デシメーション回路１０７の出力は、入力信号のタイミングに一致するように正確にタイミング取りされた割合で出力されるＩ及びＱ成分をもつ一連の複素数信号サンプルである。本発明の一実施形態において、デシメーション動作は、到来する全ての信号サンプルを出力サンプルの周期にわたって加算する簡単な前加算器である。数値制御発振器（ＮＣＯ）１０８は、サンプリングプロセスのタイミングを取るのに使用される。例えば、Ｐ＝２の場合には、コードＮＣＯ１０８は、周波数（２×ｆｓ）を発生するようにセットされ、ここで、ｆｓは、ｆ０（ＧＰＳ信号のＣ／Ａコードチップレート）をドップラーシフトに対して調整したものである。ＮＣＯは、ファームウェアコマンドからの外部入力に基づいてドップラーシフトを調整する。ドップラーシフトは、各衛星で異なるので、各チャンネル１０４ｎに対して個別のコードＮＣＯ１０８及びデシメーション回路１０７が必要とされる。コードＮＣＯ１０８は、任意の周波数を発生することができるので、到来サンプルレートがｆｓの整数倍である必要はないことに注意されたい。デシメーション回路１０７が前加算器である場合には、加算されるサンプルの数が、通常、２つの値の間で切り換わり、長い時間にわたって正しいサンプルタイミングが維持される。例えば、到来サンプルレートが１０ＭＨｚであり且つ希望のサンプルレートが２．０４６ＭＨｚである場合には、前加算器は、希望のサンプルレートが平均で維持されるように４個又は５個のサンプルを加算する。
【００１８】
又、デシメーション回路１０７は、更なる処理の前に信号成分のビット数を減少するために量子化装置（図示せず）をその出力に含んでもよい。本発明の一実施形態では、２ビットの量子化が使用される。
【００１９】
デシメーション回路１０７からの信号サンプルは、畳み込みプロセッサ１０９に接続される。この畳み込みプロセッサ１０９が発生する結果は、信号ランダムアクセスメモリ（ＲＡＭ）１１０ａ及び１１０ｂに記憶される。より詳細には、これらのＲＡＭ１１０ａ及び１１０ｂは、入力信号と基準ＰＮコード（例えば、ＧＰＳのＣ／Ａコード）との間の全畳み込みの全部又は一部分を形成する複素数ベクトルを保持する。畳み込み結果は、信号と基準（ＰＮコード）との間の高度な相関に対応するポイントにピークを有する。以下に詳細に述べるように、種々の衛星信号に対するこれらピークの相対的な位置は、位置情報を最終的に計算するのに使用される。
【００２０】
畳み込みプロセッサ１０９及び信号ＲＡＭ１１０ａ、１１０ｂは、公称１ミリ秒間隔で繰り返されるＧＰＳ信号の多数のエポックに対して畳み込み結果を累算する。例えば、１０ミリ秒の信号が処理される場合には、ＲＡＭ１１０ａ及び１１０ｂの値は、１つのエポックにわたって各々発生された１０個の相関結果の和である。全ての個々の相関は、同様の特性をもたねばならない。というのは、デシメーション動作のタイミングは、各エポック内で同じ相対的な瞬間にサンプルが取り出されるよう確保するからである。個々の相関からの同様の結果を累算することで、信号対雑音比が改善され、弱い信号を検出する受信器の能力が向上する。この処理は、コヒレントな積分と称することができ、以下に述べるように、大きさ積分と組み合せて、数秒までの時間周期にわたって平均化された相関結果を生じさせることができる。
【００２１】
コヒレントな積分間隔が実行される時間長さは、非補償のドップラーシフト、ＧＰＳ信号ナビゲーションデータビット、及び受信器１００の移動で誘起される位相シフトを含む多数のファクタにより制限される。これらのファクタは、低速であるが外観上ランダムな位相変動を信号に導入する。これらの位相変動は、数十ミリ秒にわたって破壊的な干渉を生じさせ、コヒレントな積分という目的を果たせなくする。それ故、長い平均化間隔を達成するために、受信器１００は、大きさ累算の第２段階を遂行する。より詳細には、信号ＲＡＭ１１０ａ及び１１０ｂに記憶された信号が複素数正規化装置１１１に周期的に出力され、この装置は、複素数畳み込みベクトルの複素数大きさ値を発生する。これらの複素数大きさ値は、加算器１１２によって累算され、大きさＲＡＭ１１３に記憶される。信号の複素数大きさが計算されるたびに、信号ＲＡＭ１１０ａ及び１１０ｂがクリアされ、別のコヒレントな積分を行えるようにする。このプロセスは、希望の回数の大きさ累算が完了するまで続けられる。例えば、コヒレントな平均化間隔が１０ミリ秒で、２００回の大きさ累算が望まれる場合には、全プロセスが２秒にわたって実行される。
【００２２】
畳み込み処理の後に、大きさＲＡＭ１１３は、信号対雑音比を改善するように積分された畳み込み結果の複素数大きさを含んだベクトルを含む。以下に説明するように、このベクトルは、ＣＰＵ１１４により実行されるソフトウェアアルゴリズムによって更に処理されて、受信器の位置を生じるのに使用される擬似レンジデータを発生する。これらの段階に対するＣＰＵ計算負荷は、従来のＧＰＳ受信器又はＦＦＴベースの相関器に比してかなり控え目であることに注意されたい。この実施形態では、計算上厳しい相関及び積分のタスクは、ソフトウェア処理の前に完了される。
【００２３】
図２は、図１の要素によって発生された波形２０１Ｉ、２０１Ｑ及び２０２を示す。これらの波形２０１Ｉ、２０１Ｑ及び２０２は、信号強度（軸２０８）対コードチップ（軸２１０）をプロットしたものである。これらの波形は、コヒレントな積分及び大きさの積分の間に畳み込みプロセッサ１０９の出力を示す。明瞭化のために、３つのコヒレントな積分を各々ベースとする３つの大きさ累算より成る９ミリ秒の信号処理時間しか示されていない。この例では、Ｐ＝２であり、従って、コヒレントな積分当たり２０４６個の信号サンプルがある。波形２０１Ｉ及び２０１Ｑは、畳み込みプロセッサ１０９からの出力であり、ここで、２０１Ｉは、出力のＩ成分であり、２０１Ｑは、Ｑ成分である。２０４６個のサンプルの各ブロックは、そのインターバル中に処理された２０４６個の信号サンプルから畳み込みプロセッサ１０９によりリアルタイムで発生された全畳み込み結果である。この畳み込み結果は、信号の時間遅延に対応する単一ピーク（参照番号２０６Ｉ及び２０６Ｑで示すような）の付近を除いてノイズを含む。信号はエポックごとに繰り返され、２０４６個のサンプルごとにピークが再度現われる。最初の３つのサイクルにわたり、各エポックからの対応遅延において値を加算することにより、相関結果がＲＡＭ１１０ａ及び１１０ｂに累積される。（例えば、出力時間４における値は、出力時間２０５０及び４０９６における値と加算される。）相関ピークは、常に、同じ遅延オフセットで現われ、ピークのサイズは、累積にわたって増加して、３つのエポックでほぼ３倍となる。又、ノイズのレベルも増加するが、３の平方根として上昇するだけである。というのは、ノイズ相関は、エポックからエポックへと相関しないからである。信号対雑音比は、累積プロセスを経て改善され、ほぼ３の平方根だけ増加する。波形２０１Ｑは、直角位相チャンネルに生じる同じ信号累積プロセスを示す。
【００２４】
信号の第４サイクルで始めて、信号ＲＡＭ１１０ａ及び１１０ｂがゼロにクリアされ、信号累積プロセスが再開される。波形２０１Ｉ及び２０１Ｑは、９個の信号エポックにわたって３回累積及びダンピングする相関を示している。
【００２５】
コヒレントな平均化インターバルの終わりに、累積された信号の大きさが計算され、大きさＲＡＭ１１３へ加算される。大きさＲＡＭ１１３における信号が波形２０２として示されている。この例では、波形２０２は、各コヒレントな積分の完了に対応して３回更新される。ピークは、参照番号２１２１、２１２２、２１２３で示されており、ノイズは、参照番号２１４で示されている。明らかなように、信号対雑音比は、各大きさ累積と共に高くなり、到着時間に対応するピークを識別するシステムの能力が更に向上される。
【００２６】
この例において、信号の複素数位相は、９個のエポックにわたって変化することに注意されたい。特に、信号は、最初は、Ｉ及びＱチャンネルの両方に存在するが、最終エポックにより回転されて、Ｉチャンネルでは強くなり、Ｑチャンネルではほぼ存在しなくなる。上述したように、不完全なドップラーシフト同調や他の作用がこの回転を引き起こす。多数のエポックにわたり、位相は、多数のサイクルを経て回転し、累積時に信号の打消しを生じさせる。このため、本発明の受信器は、長時間平均化のための大きさ（非コヒレントな）累積に基づき、短いインターバルのみにわたってコヒレントに累積する。大きさの値は、位相とは独立しており、数秒にわたって首尾良く積分することができる。
【００２７】
図３は、累積された大きさ波形２０２を詳細に示す。プロット３００は、信号の時間遅延に対応するピーク２１２３の付近における畳み込みの大きさを示す。コードチップ軸２１０上のポイントは、Ｃ／Ａコードチップ長さをＰで除算したものに等しい間隔で離間され、ここで、Ｐは、信号サンプリングレートと、ｆ０即ちＣ／Ａコードチップレートとの比である。この例では、Ｐ＝２であり、従って、ポイントは、１／２チップ間隔即ち約５００ｎｓで離間されている。（この時間的間隔は、１５０メーターのレンジ差に対応する。）１０メーター又はそれより良好に擬似レンジ測定を達成するために、畳み込み結果は、通常、ＣＰＵ１１４において更に処理されて、位置情報が発生される。畳み込みプロセスにより与えられる離散的相関値を使用して、真の時間遅延を推定するのに使用できる多数の補間技術が存在する。一実施形態では、最小２乗推定技術を使用して、ノイズ性測定データに最良に適合する信号のパラメータが識別される。信号の理想的な応答は、信号の自己相関の大きさである。この波形は、立ち上がった三角形３０２の形状を有するように容易に示すことができる。この三角形の底辺の巾３０３は、厳密に２Ｃ／Ａコードチップ、即ち畳み込み結果上の４ポイントである（Ｐ＝２の場合）。三角形の底辺の高さ３０４は、信号に対応しない時間遅延に対する畳み込み内のノイズの大きさである。このノイズの大きさは、データから推定することもできるし、或いは増幅器のノイズ指数、ケーブル及びフィルタロス、並びにシステム温度のような設計パラメータに基づいて予め計算することもできる。三角形のピーク３０５及び三角形の中心３０６は、信号の大きさ及び時間遅延に対応して未知である。最小２乗方法を使用して、これら２つのパラメータを推定し、ノイズ性データポイントを、所与のピーク及び中心をもつ三角形に適合させることができる。
【００２８】
図４は、畳み込みプロセッサ１０９（及び畳み込み結果処理回路４００）の詳細なブロック図で、回路の小さなブロックを繰り返し使用することにより全畳み込みがいかに発生されるかを特に詳細に示す。この実施形態における回路の動作は、図４と、図４のプロセッサ１０９の動作を示す図５のフローチャートを同時に参照すると共に、図６及び図７の簡単な例を比較することにより最も良く理解できよう。
【００２９】
デシメーション回路１０７からの信号は、Ｉ及びＱ成分を各々取り扱うシフトレジスタ４０１ａ及び４０１ｂに接続される。各シフトレジスタ４０１ａ、４０１ｂは、Ｃ／Ａコードチップ当りのサンプルの希望数をＰとし、設計パラメータとしてＫを選択すると、長さがＰ×Ｋである。以下に述べるように、Ｋは、１０２３の因数である。説明を簡単化するため、以下の説明は、Ｐ＝２（サンプルが１／２チップ離間される）及びＫ＝３３である１つの特定の実施形態に焦点を合わせる。シフトレジスタを経て信号を進めるこの手段は、回路が信号を二重にバッファする必要性を排除し、実施のコスト及び複雑さを低減する。
【００３０】
信号は、コードＮＣＯ１０８によりタイミング取りされて、２ｆ０のレートでシフトレジスタ４０１ａ及び４０１ｂを経て進行する。信号は、一連の部分相関演算を実行できるように、多数のクロックサイクル中これらシフトレジスタに留まる。より詳細には、全部でＭ回の部分相関が実行され、この例では、Ｍ＝１０２３／Ｋ又は３１である。各部分相関は、各信号シフトレジスタの内容と、Ｐ×Ｋ（例えば６６）個のコードサンプルを含むコードのセグメントとの間の高速ベクトル乗算及び加算演算より成る。高速ベクトル乗算及び加算は、回路４０２ａ及び４０２ｂにおいて行われる。これら回路４０２ａ及び４０２ｂは、各々、乗算器４１０ａ及び４１０ｂと、加算器４１２ａ及び４１２ｂとを備えている。演算は、信号レジスタ４０１ａ又は４０１ｂにおける６６個の信号サンプルの各々に６６個のコードサンプル（３３個のコードサンプルをコードエクステンダー４０９で拡張することにより形成された）を乗算し、それらの結果を加算器４１２ａ及び４１２ｂにおいて加算することより成る。演算は、Ｉ及びＱチャンネルにおいて別々に且つ同時に行われる。数学的には、この演算は、内積と称され、次のように定義される。
【数１】
2004534227.tif 000003
【００３１】
ベクトル乗算及び加算の出力は、小さな範囲内に数値を保持してＲＡＭ４０４ａ及び４０４ｂのオーバーフローを回避するために再量子化されてもよい。簡単化のため、量子化装置は、図示されていない。一実施形態では、再量子化は、２ビットの分解能である。
【００３２】
ベクトル乗算及び加算の結果は、加算器４０３ａ及び４０３ｂにより累算され、次いで、畳み込み結果処理回路４００により処理される。この回路４００は、信号ＲＡＭ１１０ａ、１１０ｂと、複素数正規化装置１１１と、加算器１１２と、大きさＲＡＭ１１３とを備えている。累算プロセスは、特定時間遅延の現在値をＲＡＭ１１０ａ及び１１０ｂから読み取り、丁度計算された部分相関を加算し、次いで、それらの和をＲＡＭ１１０ａ及び１１０ｂに書き込むことより成る。特定時間遅延に対応する部分相関を適切に結合することにより、その遅延に対する全相関が計算される。上述したように、このプロセスは、信号対雑音比を向上させるために必要に応じて多数の信号エポックの間続けられる。従って、加算器４０３ａ及び４０３ｂは、１つのエポック内の部分相関を結合することと、多数のエポックにわたって相関を累算することとの２つの目的を果たす。
【００３３】
信号ＲＡＭ１１０ａ及び１１０ｂからの出力は、複素数正規化装置４０５において結合されて、信号の大きさを形成する。これらＲＡＭ１１０ａ及び１１０ｂにおけるＩ及びＱ波形は、複素数波形の実数及び虚数部分とみなすことができる。大きさの形成は、各成分を平方し、結果を加算し、結果の平方根をとることより成る。大きさに対して多数の近似法があり、これらを使用して回路を簡単化することができる。一実施形態では、複素数の大きさは、Ｉ及びＱのスカラーの大きさを独立して取り上げ、どちらが大きいか決定することにより、近似される。大きい方の大きさを取り上げ、それを小さい方の大きさの半分に加算することにより、大きさを近似することができる。
【００３４】
大きさ演算の結果は、それらの値を小さな範囲に保持してＲＡＭ１１３のオーバーフローを回避するようにスケーリングされてもよい。簡単化のために、スケーリング装置は図示されていない。一実施形態では、スケーリングは、結果を３ビットシフトする（即ち８で除算する）ことより成る。
【００３５】
又、信号の大きさではなく信号の電力を累算することもできる。この場合、４０５における演算は、電力の推定であり、これは、通常、Ｉ及びＱの平方の和をとることにより計算される。この場合、図３を参照して説明した擬似レンジ決定アルゴリズムは、大きさ波形ではなく電力波形に対する適合を実行するように若干変更されねばならない。或いは又、付加的な非直線性演算を使用して、Ｉ及びＱの大きさ又は電力を表わす値を発生することもできる。
【００３６】
複素数正規化装置１１１からの出力は、加算器１１２により累算されて、大きさＲＡＭ１１３へ送られる。この累算プロセスは、特定時間遅延の現在大きさ値をＲＡＭ１１３から読み取り、丁度計算された大きさ結果を加算し、次いで、その和をＲＡＭ１１３に書き戻すことより成る。上述したように、この大きさ累算は、信号対雑音比の向上を達成するために必要に応じて多数のサイクル中続けられる。
【００３７】
ベクトル乗算器４０２ａ及び４０２ｂは、信号の各シフトに対してＭ個の部分相関を実行する。コードルックアップ回路４０８は、各部分相関に対して基準コードサンプルを発生する。ルックアップは、２つのルックアップインデックスにより制御される。第１に、コードは、１オブ３２(1 of 32)コードから選択されねばならない。この選択は、畳み込みプロセスを通じて一定であり、処理チャンネルが特定の衛星信号に対して相関するよう構成されたときに確立される。第２のインデックスは、１とＭとの間のセグメントインデックスである。各Ｃ／Ａコードは、１０２３個のチップより成り、これらは、Ｋ個の隣接コードチップより各々成るＭ個の非重畳セグメントに分割される。ルックアップインデックスは、どのコードセグメントが必要であるか識別する。コードルックアップ回路からの出力は、セグメントを構成するＫ個のチップである。選択プロセスは、コントロール／アドレスロジック４１４により制御される。
【００３８】
コードエクステンダー４０９は、セグメントのＫ個のチップを入力として取り上げ、そのセグメントをＫ×Ｐ個のコードサンプルへと拡張する。この拡張動作は、各コードチップをＰ個の同じコードサンプルへ変換することより成る。コードエクステンダー４０９からの出力は、ベクトル乗算器４０２ａ−４０２ｂへの基準コード入力を形成する。この例では、コードエクステンダーからの出力は、各々２回複写される３３個の独特の値で作られた６６個のサンプルである。
【００３９】
図４に示すアーキテクチャーは、Ｃ／Ａコードレートｆ０より実質的に高速なクロックを必要とする。例えば、Ｃ／Ａコードチップ当たり２つのサンプルが使用され（Ｐ＝２）、且つＫ及びＭが各々３３及び３１である場合には、全畳み込みを得るのに、信号シフトレジスタの各シフトに対して３１個の部分相関を実行する必要があり、これは、２×ｆ０のレートで進行する。典型的に、ＲＡＭ１１０ａ及び１１０ｂを読み取りそして書き込むには、少なくとも２つのクロックサイクルが必要とされる。２つのクロックサイクルを仮定すると、全畳み込みを達成するのに必要な最小クロックレートは、次のようになる。
【００４０】
ｆｃｌｋ＝２×３１×２×ｆ０＝２×３１×２×１．０２３ＭＨｚ      １２７ＭＨｚ
【００４１】
このレートは、近代的な集積回路ロジックで容易に達成できるものである。
【００４２】
又、本発明は、全畳み込みのサブセットを計算するのにも使用できることに注意されたい。この場合、信号シフトレジスタの各シフトに対してＭ個未満の部分相関が実行される。この場合、全遅延範囲は、１つの全畳み込みを作り上げるＰ×１０２３未満である。特に、Ｍ２個の部分相関が実行される場合には、Ｍ２×Ｋ×Ｐの遅延値が発生される。プロセッサに対するクロックレートは、Ｍ２対Ｍの比で減少される。更に、ＲＡＭのサイズも、この比で減少される。従って、この別の態様は、全畳み込みを処理するための計算又はメモリリソースをもたないシステムに有用である。
【００４３】
Ｋ及びＭの結果に対する他の選択肢は、更に別の設計上の妥協を許すが、１０２３の主な因数が３、１１及び３１であるので、Ｋ及びＭに対する選択肢は制限される。Ｋの減少は、シフトレジスタ４０１ａ及び４０１ｂのサイズと、ベクトル乗算器４０２ａ及び４０２ｂの複雑さを低減するので望ましいが、より大きなＭ、ひいては、より高いクロックレートを必要とする。Ｋに対する選択肢は、３、１１、３１、３３、９３である。これらの選択肢は、各々、１．３９ＧＨｚ、３８０ＭＨｚ、１３５ＭＨｚ、１２７ＭＨ及び４５ＭＨｚのクロックレートを必要とする（常に、Ｐ＝２で且つ部分相関当たり２つのクロックサイクルであることを仮定する）。立証の時点で利用できる技術に基づき、１つの実施形態に対してＫ＝３３の選択がなされた。将来の技術では、Ｋ＝１１及び３８０ＭＨｚのクロックレートの選択が実現可能となり、ロジックの複雑さを更に低減することになろう。従って、このアーキテクチャーは、スピードとロジックの複雑さとの間の最適な妥協をサポートする望ましい属性を有する。
【００４４】
コードセグメントのシーケンスは、コントロールロジック４１４により制御される。このコントロールロジックは、ＲＡＭ１１０ａ、１１０ｂ及び１１３の正しいアドレスも識別する。以下に説明するように、部分相関は、非逐次の順序で発生され、従って、ＲＡＭアドレスの発生は、些細なことではない。
【００４５】
図４の回路の動作は、図５のフローチャートを参照することによっても理解できる。動作は、ステップ５０１において、信号シフトレジスタ４０１ａ及び４０１ｂの予めのロードで始まる。この点において、畳み込み処理を開始することができる。ステップ５０２では、特定の部分相関に対してコードセグメントがアクセスされる。ステップ５０３では、コードセグメントがコードエクステンダーによりＣ／Ａチップ当たりＰ個のサンプルをもつように拡張される。次いで、ステップ５０４において、遅延インデックス及びそれに対応するＲＡＭアドレスが計算される。遅延インデックスは、全畳み込みのどのポイントが部分相関により更新されるか指示する。図７を参照して説明する例から明らかなように、遅延インデックスは、非直線的であるが決定論的にジャンプする。アドレスの計算は、信号シフトの数及びコードセグメントの関数である。
【００４６】
ステップ５０５では、ベクトル乗算器４０２ａ及び４０２ｂを使用して部分相関が計算される。ステップ５０６では、遅延インデックスにより指示された位置において信号ＲＡＭに結果が累積される。次いで、ステップ５０７において、処理がコヒレントな積分インターバルの終わりに到達したかどうか決定するチェックが行われる。もしそうでなければ、ステップ５０２ａに戻り、次のコードセグメントに対して上記ステップを繰り返す。
【００４７】
ステップ５０７において、部分相関が全てのコードセグメントに対して完了した（例えば、３１個の部分相関）ことがチェックにより指示される場合には、ステップ５０８へ進む。ステップ５０８では、信号レジスタ４０１ａ及び４０１ｂが１サンプルだけシフトされる。
【００４８】
次いで、プロセスは、ステップ５０９へ進み、最後のシフトがコヒレントな積分インターバルの終わりに遭遇したかどうかのチェックが実行される。もしそうでなければ、プロセスは、ステップ５０２のスタートに復帰する。そのチェックによりコヒレントな積分インターバルの終りが指示される場合には、ステップ５１０へと続き、複素数正規化装置１１１により信号の大きさが計算される。その結果が、加算器１１２を使用して加算され、大きさＲＡＭ１１３に記憶される。次いで、ステップ５１１において、全ての大きさ累算が実行されたかどうか決定するためのチェックが行われる。もしそうであれば、ステップ５１２で終了となる。さもなければ、ステップ５０１で次の部分相関を実行することにより処理が続けられる。
【００４９】
図６及び図７は、本発明が部分相関をいかに使用して全畳み込み結果を累算するかを簡単な例により示している。明瞭化のため、これらの図は、ＧＰＳ信号の長さ１０２３のＣ／Ａコードに対して、非常に短い長さ６のコードの畳み込みを示す。更に簡単な例とするために、コードチップ当たり１つのサンプルが使用され、即ちＰ＝１である。図６は、標準的な整合フィルタ解決策による畳み込みを示し、図７は、部分相関を結合する方法による同一の畳み込みを示す。図７の細部は、本発明の全体的な動作を理解するのに有用である。両方の方法は、同じ畳み込み結果を発生する。
【００５０】
図６は、長さ６の信号に対する従来の整合フィルタの動作を示す。この動作は、シフト０と示された時点で開始される。この時点で、信号の全サイクルを構成する６個の連続する信号サンプルが信号シフトレジスタ６０１にある。個々のサンプルは、大文字のインデックスＡ、Ｂ、Ｃ、Ｄ、Ｅ及びＦで示されている。全長６のコードに対するコードサンプルは、基準レジスタ６０２に保持され、小文字のインデックスａ、ｂ、ｃ、ｄ、ｅ及びｆで示される。シフト０の時間に、ベクトルの乗算及び加算が実行されて、シフト０に対する相関結果を発生する。各信号サンプルは、それに対応するコードサンプルで乗算され、それらの結果が加算されて、相関結果６０３が生じる。
【００５１】
次いで、信号シフトレジスタ６０４は、シフト１で示されたように、１サンプルだけ進められる。信号は、周期的であり、従って、レジスタの左側に導入される新たなサンプルは、右側へシフトして出されるものと同じである。レジスタ６０４のシフトされた内容は、インデックスＦ、Ａ、Ｂ、Ｃ、Ｄ及びＥをもつ新たなサンプルである。コードは、シフトされない。ベクトル乗算及び加算は、ここで、シフト１に対する相関結果６０５を生じさせる。このシフトプロセスは、５つの付加的なシフトに対して続けられ、その時点で、全畳み込みを形成する全部で６個の相関結果が得られる。
【００５２】
図７は、部分相関の方法により同じ畳み込み結果がいかに得られるかを示す。上述したように、本発明は、コードを長さＫのＭ個のセグメントに因数分解することを必要とする。図７の簡単な例では、長さ６のコードは、長さ２の３つのセグメントに因数分解され、即ちＫ＝２、Ｍ＝３である。動作は、シフト０で示された時点に開始される。この時点で、２つの信号サンプルが信号シフトレジスタ７０１に保持される。信号サンプルは、大文字インデックスＡ及びＢで示される。コードの６個のサンプルは、各々長さ２の３つのセグメントに含まれる。第１コードセグメント７０２は、小文字のインデックスａ及びｂで示された２つのコードサンプルを含む。信号は、３つの部分相関演算に対して位置が保持され、部分相関結果７０３ａ、７０３ｂ及び７０３ｃを生じる。第１の部分相関結果は、信号レジスタの内容と第１コードセグメント（セグメント１）との間のベクトル乗算及び加算により形成される。第２及び第３の結果は、各々信号レジスタと第２及び第３コードセグメントとのベクトル乗算により形成される。信号レジスタは、全部で３つのベクトル乗算を実行するに充分な時間中位置が保持され、この時間中にはコードがシフトされず、むしろ、異なるコードセグメントが選択されることに注意されたい。
【００５３】
部分相関結果は、信号経路７０５に基づいてメモリに累積される。例えば、シフト０では、第１コードセグメントからの部分相関が相関結果７０４に加算される。第２セグメントからの部分相関は、シフト２に対する相関結果７０６に加算される。第３セグメントからの部分相関は、シフト４に対する相関結果７０８に貢献する。
【００５４】
３つの部分相関の後に、信号がシフトされる。シフト１で示されたこの段階において、信号レジスタは、サンプルＦ及びＡを含む。この場合も、３つの部分相関が、上述したように、同じ３つのコードセグメントで発生される。これら部分相関からの結果は、シフト１、３及び５に対する相関結果７１０、７１２及び７１４に各々貢献する。プロセスは、４つの付加的な信号シフトについて続けられ、その時点で、全畳み込み結果が得られる。明らかなように、この動作は、畳み込みを構成する６つの全結果に貢献する合計１８個の部分相関の発生を必要とする。
【００５５】
図７に示すアーキテクチャーは、本発明の２つの重要な特性を示している。第１に、長さ６のコードに対し、長さ２のシフトレジスタ並びにベクトル乗算及び加算ユニットだけを使用して全畳み込みが発生されたことが明らかである。これは、これら要素が長さ６のものである図６の場合より回路を必要としない。第２に、図７において、コードサンプルは、各シフトに対して同一の固定セグメントでアクセスされ、各セグメントは、コードの別々の非重畳区分である。従って、図８及び図９を参照して更に述べるように、簡単なルックアップ又はレジスタ構成を使用して、ベクトル乗算器にコードを供給することができる。これらの構成は、例えば、より複雑な１組の順列においてコードビットの大きなブロックを得ることが必要な他のアーキテクチャーよりも、回路を必要としない。又、本発明は、コード発生回路を設ける必要性も排除する。
【００５６】
図８は、コードルックアップ回路４０８の一実施形態を示すブロック図である。テーブル８０１は、３２個のコード各々の全１０２３ビットに対する記憶値を例えばリードオンリメモリ（ＲＯＭ）又は固定布線ロジックに含む。テーブル８０１は、各コードに１つづつ、３２個のサブテーブルとして編成される。各サブテーブルは、更に、長さＫのＭ個のセグメントとして編成され、ここで、Ｋ×Ｍ＝１０２３であり、Ｋ及びＭは、既に説明したように選択される。マルチプレクサ８０２は、選択値に基づいて特定のコードを選択する。マルチプレクサ８０２の出力は、希望のコードに対する特定のサブテーブルである。マルチプレクサ８０３は、１とＭとの間のセグメント選択値に基づいて特定のセグメントを選択する。マルチプレクサ８０３の出力は、長さＫの特定のコードセグメント８０４であり、これは、コードエクステンダー４０９に送られるコードビットを含む。
【００５７】
マルチプレクサ８０３は、各部分相関、即ち２つのクロックサイクルごとに、コードセグメントの切り換えを許すために高速度でなければならないことに注意されたい。このため、全てのコードビットを、コードジェネレータの慣習的なやり方においてオンザフライで発生するのではなく、テーブル８０１に予め記憶することが必要となる。
【００５８】
図８の回路は、例示のためのものに過ぎない。実際には、機能的に同等な多数の異なる回路設計がある。特に、近代的なＡＳＩＣ設計に使用される論理合成のプロセスは、上述したものと同等の振舞いを達成するが必ずしも上述したようにマルチプレクサを使用しないあるゲートパターンを導く。
【００５９】
図９は、コードルックアップ回路４０８の別の実施形態を示すブロック図である。特定コードに対応する１０２３個のコードビットが、長さＫのＭ行として編成された１０２３個の二方向シフトレジスタ９０１に保持される。これらシフトレジスタは、ランニングモード及びロードモードの２つのモードで動作する。
【００６０】
ランニングモードでは、各レジスタ９０１は、次の行においてその上のレジスタへサンプルをシフトするように構成されるが、最も上の行のレジスタは、最も下の行のレジスタへシフトする。ランニングモードに対するシフト方向は、９０１内において実線の矢印で示されている。全てのレジスタをクロックすることにより、コードビットの行が循環して、いつでも、最も上の行が長さＫのＭ個のコードセグメントの１つを含むようになる。この最も上の行のビットは、コードエクステンダー４０９に供給される。これらのレジスタは、迅速に循環し、各部分相関に対して異なるコードセグメントが得られるようにする。
【００６１】
ロードモードでは、各レジスタは、その行において次のレジスタへサンプルをシフトするように構成されるが、最後の列のレジスタは、その上の行における最初の列のレジスタへシフトする。ロードモードに対するシフト方向は、９０１内の点線矢印で示されている。左下のシフトレジスタ９０４は、コードジェネレータ９０２に接続される。このコードジェネレータは、選択値に基づいて特定コードの１０２３コードビットを逐次に生成することのできる慣習的なコードジェネレータである。コードルックアップ回路を特定コードに対して構成するときには、レジスタをロードモードに入れ、ジェネレータを使用してコードのビットを発生し、これらビットは、レジスタを通してクロックされる。全てのビットがクロックされた後に、コードは、長さＫのＭ個のセグメントとしてレジスタに残る。次いで、回路は、ランニングモードで使用する準備ができる。
【００６２】
図１０は、多数の分解能モードで動作することのできるＧＰＳ受信器１０００の別の実施形態を示すブロック図である。このＧＰＳ受信器１０００は、標準分解能モード又は高分解能モードのいずれかで動作する畳み込みプロセッサ１００９を有する。更に、標準分可能モードにおけるデジタル信号サンプルは、Ｃ／Ａコードチップの１／２だけ離間される（即ちＰ＝２）。高分解能モードにおけるデジタル信号サンプルは、Ｃ／Ａコードチップの１／５だけ離間される（即ちＰ＝５）。従って、コードＮＣＯ１００８及びデシメーション回路１００７は、複数のサンプリングレートで動作する。当業者であれば、サンプリング間隔として他の値を容易に案出できるであろうし、本発明を３つ以上の分解能モードで動作できることが理解されよう。
【００６３】
図１０の実施形態は、図１に示したものと同様の要素を有する。図１と同じ参照番号を有する要素は、図１を参照して上述したように動作する。デシメーション回路１００７、コードＮＣＯ１００８、畳み込みプロセッサ１００９及びモード選択プロセッサ１００２のような要素は、以下に述べるように、複数の分解能モードの使用を容易にするように動作する。図１０は、モード選択プロセッサ１００２を更に含む。このモード選択プロセッサ１００２は、受信信号を処理して、処理チャンネル１００４が高分解能モードで動作すべきか標準分解能モードで動作すべきか決定する。
【００６４】
図１に示した実施形態と同様に、図２は、図１０の要素により発生される波形を示す。図２に示された波形は、標準モードの動作を示すものであるが、高分解能モードの動作も、同様の特性の波形を発生する。より詳細には、高分解能モードにおいてＰ＝５の場合には、全畳み込みにおける合計ポイント数が、２０４６ではなくて、５１１５となる。しかしながら、以下に詳細に述べるように、高分解能モードでは畳み込みの一部分しか発生されない。
【００６５】
標準分解能（即ちＰ＝２）では、最小２乗推定が、図３の三角形の底辺の巾３０３で示されたように、相関の巾にわたり４ポイントしか使用しないことに注意されたい。これは、ノイズの存在中では、曲線適合プロセスの精度を限定する。更に、多くの場合に、三角形の中心（即ち最大相関のポイント）は、観察された相関値と相関値との間にある。この状態では、観察された相関、ひいては、観察された信号対雑音比は、三角形の頂点が観察ポイントに近い場合よりも著しく低い。高分解能モードは、最小２乗推定プロセスに多数の微小離間ポイントを含ませることにより精度及び信号対雑音比を改善する。
【００６６】
より詳細には、図１１は、図２に示されたものと同じ相関が高分解能モードで処理されるときに累積される大きさ波形を詳細に示す。グラフ１１００は、高分解能モードで処理される信号の時間遅延に対応するピーク２１２３の付近における畳み込みの大きさを示す。コードチップ軸２１０上のポイントは、Ｃ／Ａコードチップの長さをＰで除算したものに等しい間隔で離間され、ここで、Ｐは、信号サンプリングレートと、ｆ０即ちＣ／Ａコードチップレートとの比である。高分解能の例では、Ｐ＝５であり、従って、ポイントは、１／５チップ間隔、即ち約２００ｎｓで離間される。（この時間間隔は、約６０メーターのレンジ差に対応する。）高精度の擬似レンジ測定を達成するために、畳み込みの出力は、通常、ＣＰＵ１１４において更に処理される。
【００６７】
標準分解能の処理と同様に、畳み込みにより与えられる離散的相関値を使用して真の時間遅延を推定するのに使用できる多数の補間技術が存在する。一実施形態は、最小２乗推定技術を使用して、ノイズ性データに最良に適合する信号のパラメータを識別する。相関応答は、立ち上がった三角形１１０２の形状をとる。三角形１１０２の巾１１０３は、厳密に２Ｃ／Ａコードチップであり、これは、１１個のサンプルポイントに対応する（Ｐ＝５の場合）。三角形１１０２の底辺の高さ１１０４は、信号に対応しない時間遅延に対する畳み込み内のノイズの大きさである。このノイズの大きさは、データから推定することもできるし、或いは増幅器のノイズ指数、ケーブル及びフィルタロス、並びにシステム温度のような設計パラメータに基づいて予め計算することもできる。三角形１１０２のピーク１１０５及び中心１１０６は、信号の大きさ及び時間遅延に対応して未知である。最小２乗方法を使用して、これら２つのパラメータを推定し、ノイズ性データポイントを、特定のピーク及び中心をもつ三角形に適合させることができる。
【００６８】
標準分解能モードに勝る高分解能モードの１つの利点は、立ち上がった三角形の相関応答が２倍以上のポイントでサンプリングされることである。当業者であれば、適合プロセスの精度は、推定に使用される値の数に依存することが理解されよう。更に、高分解能モードでは、三角形の頂点と三角形の底辺との比が増加する。これは、相関ポイントが最大相関ポイントの付近に得られるということも一部にあって、信号対雑音比の改善を示す。従って、高分解能モードは、標準モードでは適切に見分けられない相関ピークを確実に識別及び測定するのに使用できる。これは、ＧＰＳ衛星から屋内で受信される信号のような低エネルギー信号を処理するときに非常に効果的である。
【００６９】
図１２を参照して更に説明するように、希望の分解能を得るようにパラメータＰ、Ｋ及びＭの値を動的に変化させることにより２つの動作モードが達成される。一実施形態では、標準モードにおいてＰ＝２（即ちＣ／Ａコードチップ当たり２個のサンプル）であり、高分解能モードにおいてＰ＝５（即ちＣ／Ａコードチップ当たり５個のサンプル）である。完全な相関ポイントは、１／Ｐチップだけ離間され、従って、Ｐの値が大きいほど、分解能が微細であることが明らかである。上述したように、Ｋは、設計パラメータとして選択され、１０２３の因数である。簡単化のため、これ以降の説明は、標準モードにおいてＰ＝２及びＫ＝３３であり、高分解能モードにおいてＰ＝５及びＫ＝１１である１つの特定の実施形態に焦点を合わせる。
【００７０】
図１２は、多数の分解能モードにおいて本発明を動作するのに適した畳み込みプロセッサ１００９の別の実施形態を示すブロック図である。簡単化のため、処理チャンネルＩしか示されていないが、Ｑチャンネルも同じ処理要素を含むことが明らかである。この実施形態では、畳み込みプロセッサ１００９は、シフトレジスタ１２０１と、ベクトル乗算回路１２０２と、加算器１２０３と、コードエクステンダー１２０９と、コードルックアップテーブル１２０８とを備えている。コードエクステンダー１２０９は、更に、標準コードエクステンダー１２０４と、高分解能コードエクステンダー１２０５とを備えている。デシメーション回路１００７からのＩ信号は、シフトレジスタ１２０１に接続される。シフトレジスタ１２０１は、Ｐ×Ｋの値が標準モード及び高分解能モードに対して変化するので可変長さである。より詳細には、シフトレジスタ１２０１は、標準モードでは６６個のサンプルを、高分解能モードでは５５個のサンプルを保持しなければならない。従って、シフトレジスタ１２０１は、両長さをサポートするために６６個のエレメントを含む。高分解能モードでは、最後の１１個のエレメントがディスエイブルされる。
【００７１】
信号は、標準モード又は高分解能モードの各々に対し、コードＮＣＯ１００８によりタイミング取りされて、Ｐｆ０のレートでシフトレジスタ１２０１を経て進行する。信号は、一連の部分相関演算を実行できるように多数のクロックサイクル中に位置が保たれる。より詳細には、全部でＭ個の部分相関が実行され、但し、Ｍ＝１０２３／Ｋである。ここに示す例では、標準モードの場合にＭ＝３１であり、高分解能モードの場合にＭ＝９３である。各部分相関は、シフトレジスタ１２０１の内容と、Ｐ×Ｋ個のコードサンプルを含むコードのセグメントとの間の高速ベクトル乗算及び加算演算より成る。この演算は、乗算器１２１０及び加算器１２１２を備えたベクトル乗算器１２０２を経て実行される。シフトレジスタ１２０１と同様に、ベクトル乗算器１２０２は、標準及び高分解能の両動作モードをサポートするために可変長さである。
【００７２】
相関演算は、シフトレジスタ１２０１におけるＰ×Ｋ個の信号サンプルの各々にＰ×Ｋ個のコードサンプル（コードエクステンダー１２０９でコードサンプルを拡張することにより形成された）を乗算し、それらの結果を加算器１２１２において加算することより成る。上述したように、数学的には、この演算は、内積と称される。ベクトル乗算及び加算の結果は、図４を参照して上述したのと同様に、加算器１２０３により累算され、畳み込み結果処理回路４００により処理される。
【００７３】
コードルックアップテーブル１２０８は、各部分相関に対して基準コードサンプルを発生し、標準及び高分解能の両モードに対してコードセグメントを供給するように編成される。第１に、コードは、１オブ３２(1 of 32)コードから選択されねばならない。この選択は、畳み込みプロセスを通じて一定であり、処理チャンネルが特定の衛星信号に対して相関するよう構成されたときに確立される。第２のインデックスは、１とＭとの間のセグメントインデックスである。ここに示す例では、セグメント当りのサンプルの数は、標準モードにおいて３３であり、高分解能モードにおいて１１である。両モードをサポートするために、コードルックアップテーブル１２０８は、１１チップのセグメント１２０７を９３個含む。この９３個のセグメント１２０７は、更に、各々３１個のセグメントの３個のブロック１２０６ａ−ｃへと編成される。各グループ１２０６ａ−ｃ（１１チップセグメント）の出力は、コードエクステンダー１２０９に接続される。
【００７４】
標準モードでは、各グループ１２０６ａ−ｃの出力セグメントは、３３個のチップを有する巾広セグメントを形成するように結合される。より詳細には、セグメントの選択は、１と３１との間で行われる。セグメントの選択及びコードの選択は、グループ１２０６ａ−ｃからの１１個のサンプルの３個のセグメント１２０７をマルチプレクスするのに使用される。セグメント１２０７は、３３サンプル巾のセグメントを形成するように連結され、これは、標準コードエクステンダー１２０４への入力である。高分解能モードでは、セグメントの選択が１から９３までで行われる。セグメント１２０７の１つだけがグループ１２０６ａ−ｃから選択される。次いで、１１サンプルセグメント１２０７が高分解能コードエクステンダー１２０５に接続される。
【００７５】
標準モードでは、標準コードエクステンダー１２０４がアクティブとなり、３３サンプル巾のコードセグメントを６６サンプルに拡張する。高分解能モードでは、高分解能コードエクステンダー１２０５がアクティブとなり、これは、１１サンプルのコードセグメントを５５サンプルに拡張する。コードエクステンダー１２０９は、標準コードエクステンダー１２０４及び高分解能コードエクステンダー１２０５を含むものとして示されているが、当業者であれば、単一のコードエクステンダー１２０９へと機能的に結合できることが理解されよう。
【００７６】
クロックレートは、標準モードと高分解能モードとの間で切り換えられる。例えば、標準モードでは、図４を参照して述べたように、Ｐ、Ｋ及びＭが各々２、３３及び３１で、且つＲＡＭサイクル当たり２つのクロックサイクルが必要とされる場合に、約１２７ＭＨｚのクロックレートが、リアルタイムでの全畳み込みの実行をサポートする。ここに示す実施形態、即ち高分解能モードでは、パラメータＰ、Ｋ及びＭが各々５、１１及び９３である。従って、全畳み込みを発生するためのクロックレートは、次のようになる。
【００７７】
ｆｃｌｋ＝５×９３×２×ｆ０＝５×９３×２×１．０２３ＭＨｚ    ９５２ＭＨｚ
【００７８】
このレートは、近代的な集積回路ロジックでは達成が困難であり、且つＲＡＭのサイズは２０４６サンプルから５１１５サンプルへと成長するので、高分解能モードで動作するときには、畳み込みプロセッサ１０９のコスト及び複雑さを減少するために、全畳み込み未満のものを発生するのが望ましい。
【００７９】
それ故、一実施形態では、高分解能モードにおいて、入力信号のシフトごとに実行される部分相関の数を減少することにより、全畳み込み未満のものが計算される。図１３を参照して以下に述べるように、部分相関は、相関のポイントが全畳み込み内の当該特定領域に対して発生されるように選択される。この別の実施形態では、必要とされるクロックレートは、次のように表わされる。
【００８０】
ｆｃｌｋ’＝５×Ｌ×２×ｆ０
【００８１】
但し、Ｌは、Ｍより小さい数であって、入力サイクルシフト当りの部分相関の数を表わす。従って、発生される相関ポイントの全数は、Ｐ×Ｋ×Ｌである。例えば、一実施形態では、Ｌ＝１２であり、Ｐ×Ｋ×Ｌ＝６６０、即ちＣ／Ａコードエポックの約１／８である。この例では、必要とされるクロックレートは、次のように表わされ、
【００８２】
ｆｃｌｋ＝５×１２×２×１．０２３ＭＨｚ      １２３ＭＨｚ
【００８３】
標準モードのクロックレートと釣り合った値である。
【００８４】
全畳み込みのサブセットしか発生されないので、信号ピークを含む当該部分を選択することが必要となる。図１３は、多数の相関分解能を計算するための本発明の動作方法１３００を示すフローチャートである。この方法１３００は、ステップ１３０２で始まる。ステップ１３０４において、高分解能モードを直接使用できるに充分な外部補助情報が存在するかどうか決定するためのチェックが行われる。この補助情報は、当該衛星の推定擬似レンジ及びローカルクロックバイアスの推定を含む多数の形態をとることができる。この補助情報が充分正確である場合には、ステップ１３１０において高分解能モードへ移行する。しかしながら、ほとんどの場合、ローカルクロックバイアスは未知である。例えば、推定擬似レンジは、記憶された天体暦及び最後の既知の受信器位置から得られるが、受信器が正確な時間を維持しないか又は外部から同期されない限り、ローカルクロックバイアスは未知である。充分な外部補助情報がない場合には、ステップ１３０６において擬似レンジ測定が行われる。ステップ１３０６では、標準分解能を使用して全畳み込みが得られる。１つ以上の測定が標準モードでなされた後に、ローカルクロックバイアスがステップ１３０８で推定される。このステップは、タイムラグエラーの推定を含むのも任意である。この方法１３００は、次いで、ステップ１３１０において高分解能モードへ移行する。この点において、標準分解能における相関ピークを囲む複数のウインドウに信号遅延を結び付けることができ、これは、ステップ１３１２で計算される。レンジウインドウが計算された後に、方法１３００は、ステップ１３１４において、高分解能モードで（即ち高分解能相関ピークを使用して）擬似レンジ測定を実行する。この方法１３００は、ステップ１３１６で終了となる。
【００８５】
この方法１３００は、部分畳み込みしか計算されないという制約があるにも拘らず、高分解能モードを有益に使用できるようにする。少なくとも１つの衛星が標準モードで検出される限り、高分解能モードを呼び出すことができる。高分解能モードでは、相関処理の感度が向上され、付加的な衛星を検出できるようにする。更に、上述したように、高分解能モードでは、全ての測定の精度が改善される。
【００８６】
本発明の教示を組み込んだ種々の実施形態を図示して詳細に説明したが、当業者であれば、これらの教示を組み込んだ他の変形態様も容易に案出できるであろう。
【図面の簡単な説明】
【００８７】
【図１】本発明を構成するＧＰＳ受信器のブロック図である。
【図２】図１の発明により発生される波形の一例を示す。
【図３】図２の累積された大きさ波形を詳細に示す。
【図４】畳み込みプロセッサ及び畳み込み結果処理回路の一実施形態を示す詳細なブロック図である。
【図５】図１の発明の動作方法のフローチャートである。
【図６】慣習的なやり方で全畳み込みを計算する簡単な例を示すグラフである。
【図７】図６の全畳み込みが本発明を使用していかに実行されるか示すグラフである。
【図８】図１の発明に使用するのに適したコードルックアップ装置の実施形態を示す。
【図９】図１の発明の別の実施形態に使用するのに適した２次元コードシフトレジスタの実施形態を示す。
【図１０】本発明の別の実施形態を構成するＧＰＳ受信器のブロック図である。
【図１１】高分解能モードで累積された大きさ波形を詳細に示す。
【図１２】図１０の発明に使用するのに適したコードルックアップ装置の実施形態を示す。
【図１３】図１０の発明の動作方法を示すフローチャートである。
【符号の説明】
【００８８】
１００・・・グローバルポジショニングシステム（ＧＰＳ）受信器、１０１・・・アンテナ、１０２・・・ＲＩ／ＩＦコンバータ、１０３・・・Ａ／Ｄコンバータ、１０４・・・処理チャンネル、１０５・・・チューナー、１０６・・・キャリアＮＣＯ、１０７・・・デシメーション回路、１０８・・・コードＮＣＯ、１０９・・・畳み込みプロセッサ、１１０ａ、１１０ｂ・・・信号ＲＡＭ、１１１・・・複素数正規化装置、１１２・・・加算器、１１３・・・大きさＲＡＭ、１１４・・・ＣＰＵ、２０１Ｉ、２０１Ｑ、２０２・・・波形、４００・・・畳み込み結果処理回路、４０１ａ、４０１ｂ・・・シフトレジスタ、４０２ａ、４０２ｂ・・・ベクトル乗算器、４０３ａ、４０３ｂ・・・加算器、４１０ａ、４１０ｂ・・・乗算器、４１２ａ、４１２ｂ・・・加算器、４０８・・・コードルックアップ回路、４０９・・・コードエクステンダー、４１４・・・コントロールロジック
【図１】
2004534227.tif 000004
【図２】
2004534227.tif 000005
【図３】
2004534227.tif 000006
【図４】
2004534227.tif 000007
【図５】
2004534227.tif 000008
【図６】
2004534227.tif 000009
【図７】
2004534227.tif 000010
【図８】
2004534227.tif 000011
【図９】
2004534227.tif 000012
【図１０】
2004534227.tif 000013
【図１１】
2004534227.tif 000014
【図１２】
2004534227.tif 000015
【図１３】
2004534227.tif 000016
【国際公開パンフレット】
2004534227.tif 000017
2004534227.tif 000018
2004534227.tif 000019
2004534227.tif 000020
2004534227.tif 000021
2004534227.tif 000022
2004534227.tif 000023
2004534227.tif 000024
2004534227.tif 000025
2004534227.tif 000026
2004534227.tif 000027
2004534227.tif 000028
2004534227.tif 000029
2004534227.tif 000030
2004534227.tif 000031
2004534227.tif 000032
2004534227.tif 000033
2004534227.tif 000034
2004534227.tif 000035
2004534227.tif 000036
2004534227.tif 000037
2004534227.tif 000038
2004534227.tif 000039
2004534227.tif 000040
2004534227.tif 000041
2004534227.tif 000042
2004534227.tif 000043
2004534227.tif 000044
2004534227.tif 000045
2004534227.tif 000046
2004534227.tif 000047
2004534227.tif 000048
2004534227.tif 000049
2004534227.tif 000050
2004534227.tif 000051
2004534227.tif 000052
2004534227.tif 000053
2004534227.tif 000054
2004534227.tif 000055
2004534227.tif 000056
2004534227.tif 000057
2004534227.tif 000058
2004534227.tif 000059
2004534227.tif 000060
2004534227.tif 000061
【国際公開パンフレット（コレクトバージョン）】
2004534227.tif 000062
【国際調査報告】
2004534227.tif 000063
2004534227.tif 000064
2004534227.tif 000065