JP2005505759A - 履歴相関データを使用して信号相関を実行する方法及び装置 - Google Patents
履歴相関データを使用して信号相関を実行する方法及び装置 Download PDFInfo
- Publication number
- JP2005505759A JP2005505759A JP2003531633A JP2003531633A JP2005505759A JP 2005505759 A JP2005505759 A JP 2005505759A JP 2003531633 A JP2003531633 A JP 2003531633A JP 2003531633 A JP2003531633 A JP 2003531633A JP 2005505759 A JP2005505759 A JP 2005505759A
- Authority
- JP
- Japan
- Prior art keywords
- signal
- correlation
- receiver
- signal level
- frequency
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04B—TRANSMISSION
- H04B7/00—Radio transmission systems, i.e. using radiation field
- H04B7/14—Relay systems
- H04B7/15—Active relay systems
- H04B7/155—Ground-based stations
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01S—RADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
- G01S19/00—Satellite radio beacon positioning systems; Determining position, velocity or attitude using signals transmitted by such systems
- G01S19/01—Satellite radio beacon positioning systems transmitting time-stamped messages, e.g. GPS [Global Positioning System], GLONASS [Global Orbiting Navigation Satellite System] or GALILEO
- G01S19/13—Receivers
- G01S19/24—Acquisition or tracking or demodulation of signals transmitted by the system
- G01S19/29—Acquisition or tracking or demodulation of signals transmitted by the system carrier including Doppler, related
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01S—RADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
- G01S19/00—Satellite radio beacon positioning systems; Determining position, velocity or attitude using signals transmitted by such systems
- G01S19/01—Satellite radio beacon positioning systems transmitting time-stamped messages, e.g. GPS [Global Positioning System], GLONASS [Global Orbiting Navigation Satellite System] or GALILEO
- G01S19/13—Receivers
- G01S19/23—Testing, monitoring, correcting or calibrating of receiver elements
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01S—RADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
- G01S19/00—Satellite radio beacon positioning systems; Determining position, velocity or attitude using signals transmitted by such systems
- G01S19/01—Satellite radio beacon positioning systems transmitting time-stamped messages, e.g. GPS [Global Positioning System], GLONASS [Global Orbiting Navigation Satellite System] or GALILEO
- G01S19/13—Receivers
- G01S19/24—Acquisition or tracking or demodulation of signals transmitted by the system
- G01S19/30—Acquisition or tracking or demodulation of signals transmitted by the system code related
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/15—Correlation function computation including computation of convolution operations
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04B—TRANSMISSION
- H04B1/00—Details of transmission systems, not covered by a single one of groups H04B3/00 - H04B13/00; Details of transmission systems not characterised by the medium used for transmission
- H04B1/69—Spread spectrum techniques
- H04B1/707—Spread spectrum techniques using direct sequence modulation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04B—TRANSMISSION
- H04B1/00—Details of transmission systems, not covered by a single one of groups H04B3/00 - H04B13/00; Details of transmission systems not characterised by the medium used for transmission
- H04B1/69—Spread spectrum techniques
- H04B1/707—Spread spectrum techniques using direct sequence modulation
- H04B1/7073—Synchronisation aspects
- H04B1/7075—Synchronisation aspects with code phase acquisition
- H04B1/70751—Synchronisation aspects with code phase acquisition using partial detection
- H04B1/70752—Partial correlation
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01S—RADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
- G01S19/00—Satellite radio beacon positioning systems; Determining position, velocity or attitude using signals transmitted by such systems
- G01S19/01—Satellite radio beacon positioning systems transmitting time-stamped messages, e.g. GPS [Global Positioning System], GLONASS [Global Orbiting Navigation Satellite System] or GALILEO
- G01S19/13—Receivers
- G01S19/35—Constructional details or hardware or software details of the signal processing chain
- G01S19/37—Hardware or software details of the signal processing chain
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04B—TRANSMISSION
- H04B1/00—Details of transmission systems, not covered by a single one of groups H04B3/00 - H04B13/00; Details of transmission systems not characterised by the medium used for transmission
- H04B1/69—Spread spectrum techniques
- H04B1/707—Spread spectrum techniques using direct sequence modulation
- H04B1/7073—Synchronisation aspects
- H04B1/7075—Synchronisation aspects with code phase acquisition
- H04B1/7077—Multi-step acquisition, e.g. multi-dwell, coarse-fine or validation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04B—TRANSMISSION
- H04B2201/00—Indexing scheme relating to details of transmission systems not covered by a single group of H04B3/00 - H04B13/00
- H04B2201/69—Orthogonal indexing scheme relating to spread spectrum techniques in general
- H04B2201/707—Orthogonal indexing scheme relating to spread spectrum techniques in general relating to direct sequence modulation
- H04B2201/70715—Orthogonal indexing scheme relating to spread spectrum techniques in general relating to direct sequence modulation with application-specific features
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Pure & Applied Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Data Mining & Analysis (AREA)
- Mathematical Physics (AREA)
- Theoretical Computer Science (AREA)
- Computational Mathematics (AREA)
- Computing Systems (AREA)
- Algebra (AREA)
- Databases & Information Systems (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Position Fixing By Use Of Radio Waves (AREA)
Abstract
未処理の信号サンプルを記憶せずに畳み込み結果をリアルタイムで発生することにより入力GPS信号と基準コードとの間の畳み込み(109)を計算するための方法及び装置。この装置は、全エポックを処理するサイズのベクトル乗算器と同じ結果を得るように高速度で動作するベクトル乗算器(402a,402b)を備えている。更に、履歴相関データ(113)を使用して周波数及びタイミングエラーを修正する。
【選択図】図1
【選択図】図1
Description
【関連技術】
【0001】
本出願は、参考としてここに援用する2001年5月18日出願の米国特許出願第09/861,086号の一部継続出願である。
【発明の分野】
【0002】
本発明は、デジタル信号受信機のための信号相関装置に関し、より詳細には、例えば、グローバルポジショニングシステム(GPS)受信機において履歴相関データを使用して信号相関を実行するための方法及び装置に関する。
【背景技術の説明】
【0003】
グローバルポジショニングシステム(GPS)信号の測定プロセスは、既知の擬似ランダムノイズ(PRN)コードに対して到来信号の一連の相関を試みることによりノイズの存在中でGPS信号をサーチするという手順で開始される。このサーチ手順は、信号の厳密な周波数及び到着時間遅延の両方が未知であるので、長々しいものとなる。信号を見出すために、受信機は、慣習的に、二次元サーチを実行して、考えられる各周波数において各遅延の可能性をチェックする。特定の周波数における信号の存在と遅延をテストするために、受信機がその周波数に同調され、到来信号が、到着時間に対応する量だけ遅延された既知のPRNコードと相関される。信号が検出されない場合には、サーチが、次の遅延可能性へと続けられ、全ての遅延可能性がチェックされた後に、次の周波数可能性へと続けられる。各個々の相関は、信号をノイズから区別するに充分な信号平均化を許すために1ミリ秒以上にわたって実行される。数千の周波数及び遅延の可能性がチェックされるために、収集プロセス全体では数十秒を要する。
【0004】
近年、ワイヤレス装置におけるGPS技術の新規な用途が出現し、例えば、セルラー電話にGPSを使用して非常位置決め機能を与えるものが出現した。これらの用途では、ほんの数秒といった迅速な信号収集が要求される。更に、これらの用途では、GPS信号レベルが相当に減衰される苛酷な信号環境や屋内でGPS受信機を動作することが要求される。減衰した信号を検出するには、比較的長時間にわたって各相関を実行することが要求される。例えば、慣習的なGPS受信機では1−10ミリ秒の周期であるのに対して、数秒間にわたって積分が行われる。このような長い積分時間では、全サーチ時間が100倍以上に増加するので、慣習的な受信機に使用される二次元の逐次サーチプロセスは不可能である。
【0005】
サーチプロセスを加速するために、GPS設計者は、多数の到着時間可能性を同時にチェックできるように付加的な相関装置を受信機に追加している。追加される各相関装置は、通常、個別のコードミクサ及び信号アキュムレータを必要とする。これは、所定の感度レベルに対し、相関装置の数に比例してサーチ時間を減少する。セルラー電話の用途で要求される感度及び収集時間を達成するためには、数千の相関装置を組み込むように設計しなければならない。このような追加は、通常、消費者向け装置にとって甚だしく複雑で且つ経費のかかるものとなる。
【0006】
例えば、1999年5月4日付の米国特許第5,901,171号は、単一の時分割処理ブロックを使用して、12個の各チャンネルで20個までの同時相関を実行できるようにするトリプルマルチプレクス技術を開示している。これは、20個の遅延可能性のブロックが同時にチェックされるので、単一相関装置設計に比して性能の改善を与える。全範囲の遅延不確実性にわたって全信号サーチを行うには、20個の相関装置のブロックを次々に約100回使用して、2046個の遅延をチェックすることが必要である。従って、数秒で収集を行わねばならない場合には、積分時間が数十ミリ秒に制限される。これは、屋内GPS用途に必要な感度を得るのに不充分である。
【0007】
サーチプロセスを更に改善するために、他のGPS受信機アーキテクチャーは、到来信号と既知のPNRコードとの間の畳み込みを発生することのできる処理を含む。これは、全C/Aコードエポック(1023チップ)にわたり全時間遅延可能性に及ぶ完全な1組の相関装置を設けることと同等であり、1997年9月2日付の米国特許第5,663,734号は、ソフトウェアアルゴリズムを使用して必要な相関結果を効率的に発生するための高速フーリエ変換(FFT)ベースのソフトウェア技術を開示している。この解決策は、全ての用途に適するものではない。というのは、ソフトウェアFFTを実行するのにプログラム可能なデジタル信号プロセッサ(DSP)が必要とされ、そして未処理の信号サンプルを記憶するのに大きなメモリが必要とされるからである。更に、この解決策は、ソフトウェア計算のために、且つ信号の完全なスナップショットが記憶された後でなければソフトウェア処理がスタートしないために、大きな処理遅延を伴う。多くの用途では、リアルタイム処理解決策が好ましく、即ち大規模なソフトウェア処理を伴わないものが好ましい。リュジン氏等の「Fast Acquisition by Matched Filter Technique for GPS/GLONASS Receivers」、第307−315ページには、1023個のタップをもつ整合フィルタを使用して畳み込みをリアルタイムで実行するためのハードウェア解決策が開示されている。整合フィルタは、全C/Aコードエポックを保持するに充分な大きさのシフトレジスタと、信号の全エポックとC/Aコードとの間の内積を発生する巾1023のベクトル乗算及び加算ユニットとで構成される。
【0008】
この回路は、セルラー電話のような低コストの消費者向け装置の制約に対して複雑である。また、Pコード収集用の軍用受信機に使用されるような他の整合フィルタ解決策も、大きなベクトル乗算器を組み込んでいる。
【0009】
従って、信号及びC/Aコードの全エポックを処理することのできる改良された簡単且つ低コストのGPS処理ブロックが要望される。このような装置は、比較的簡単であるが全畳み込みを発生できるハードウェア、又は多数の並列の相関装置から、好ましくは、大きなベクトル乗算器を伴わずに形成されねばならない。
【発明の概要】
【0010】
本発明は、未処理の信号サンプルを記憶せずに且つ広範囲なソフトウェア処理を伴わずに、畳み込み結果をリアルタイムで発生することにより、入力信号(例えば、GPS信号)と擬似ランダムノイズ(PRN)コード基準との間の全畳み込みを計算するための方法及び装置を提供する。この装置は、全エポックを処理するサイズのベクトル乗算器と同じ結果を得るために高速度で動作するベクトル乗算器を備えている。本発明は、セルラー電話のような消費者向け装置の複雑な制約に適合する集積回路において実施することができる。この設計は、畳み込み結果の長時間平均化を行って高い感度を確保できるようにするに必要なロジックを含む。本発明は、屋内で受信される信号を含む著しく減衰された信号から位置場所を導出するのに使用するために信号を相関することができる。
【0011】
完全な装置は、従来型のGPSチューナと、デシメーション回路と、畳み込みプロセッサと、畳み込み結果を累算するRAMブロックとで構成される。畳み込みプロセッサは、ほぼ100MHz以上の高いクロックレートで動作して、小さな回路ブロックの繰返し使用により全畳み込みを計算することができる。より詳細には、畳み込みの各ポイントが一連の部分相関へと分割され、その各々は、エポックの一部分のみを処理するサイズのベクトル乗算器を使用して発生される。この装置は、C/Aコードを、コードセグメントの非重畳セットに細分化することにより、部分相関を編成する。各部分相関は、一度に1つのコードセグメントしか使用せず、簡単なルックアップテーブルを使用してC/Aコードを効率的に記憶及び検索することができる。
【0012】
プロセッサは、入力IFサンプルをデシメーションして希望のサンプルレートで信号流を生成することにより始動し、このレートは、到来信号のタイミングに正確に一致される。希望のサンプルレートをPf0(C/Aチップ当たりP個のサンプル)とすれば、サンプリングレートは、厳密に1023xP個のサンプルが各信号エポックに取り出されるようにセットされる。プロセッサは、Kを1023の因数とすれば、PxK個の入力サンプルを保持するサイズのシフトレジスタを経て信号クロック信号を相関する。各信号シフト時に、一連のM回の部分相関演算が実行され、但し、Mは、MxK=1023であるように選択される。各部分相関は、信号シフトレジスタの内容と、C/Aコードの長さKのセグメントをPxK個のサンプルに拡張することにより生成された基準サンプルのブロックとの内積をとることより成る。部分相関結果は、メモリに累積される。部分相関結果を累算することにより、プロセッサは、全畳み込みまでの多数の相関ポイントに対して完全な相関結果を発生する。
【0013】
相関処理を向上させるために、本発明の付加的な実施形態は、相関履歴モードを使用して相関装置を動作する。この実施形態では、RAMを使用して、相関履歴を形成する規定の周期にわたり相関結果を記憶する。相関履歴モードは、部分相関処理を実行する前に1つ以上の衛星に対するナビゲーションデータビットのドップラー周波数エラー及びタイミングを分析するように調整できる受信機パラメータを推定するのに使用される。この推定される受信機パラメータは、受信機の発振器の周波数及び/又は受信機のタイミングエラーを含む。
【0014】
本発明は、添付図面を参照した以下の詳細な説明から容易に理解できよう。
【詳細な説明】
【0015】
図1は、本発明によるグローバルポジショニングシステム(GPS)受信機100のブロック図である。本発明によるプラットホームとしてGPS受信機を使用することで、本発明の1つの用途が形成される。信号相関を必要とする他のプラットホームも、本発明を利用することができる。
【0016】
信号(例えば、GPS信号)は、アンテナ101により受信される。高周波/中間周波コンバータ(RF/IFコンバータ)102は、信号をフィルタし、増幅し、且つ周波数シフトし、更に、信号は、アナログ/デジタルコンバータ(A/D)103によりデジタル化される。これらの要素101、102及び103は、従来型GPS受信機に使用された要素と実質的に同様である。
【0017】
A/D103の出力は、デジタルロジックで実施される1組の処理チャンネル1041、1042、・・104n(nは整数)に接続される。各処理チャンネル104nは、特定のGPS衛星からの信号を処理するのに使用される。特定チャンネルの信号は、数値制御発振器(NCO)106により駆動されるチューナ105によって同調される。このチューナ105は、2つの目的を果たす。第1に、RF/IF変換後に残っているIF周波数成分が除去される。第2に、衛星の移動、ユーザの移動及び基準周波数エラーから生じる衛星ドップラー周波数シフトが除去される。チューナからの出力は、同相成分(I)及び直角位相成分(Q)より成る基本帯域信号である。105及び106のステップは、従来型のGPS受信機設計に使用されたものと実質的に同様である。
【0018】
デシメーション回路107は、105の出力を処理する。デシメーション回路107の出力は、入力信号のタイミングに合致するように正確にタイミング合わせされたレートで出力されるI及びQ成分をもつ一連の複素数信号サンプルである。本発明の一実施形態では、デシメーション動作は、到来する全ての信号サンプルを出力サンプルの周期にわたって加算する簡単な前加算器である。数値制御される発振器(NCO)108は、サンプリングプロセスのタイミングをとるのに使用される。例えば、P=2の場合に、コードNCO108は、ドップラーシフトに対して調整された(2xfs)の周波数を発生するようにセットされ、ここで、fsは、f0(GPS信号のC/Aコードチップレート)である。NCOは、ファームウェアコマンドからの外部入力に基づいてドップラーシフトを調整する。ドップラーシフトは衛星ごとに異なるので、チャンネル104nごとに個別のコードNCO108及びデシメーション回路107が必要となる。コードNCO108は任意の周波数を発生できるので、到来サンプルレートがfsの整数倍である必要はないことに注意されたい。デシメーション回路107が前加算器である場合には、加算されるサンプルの数が、通常、2つの値の間で切り換えられ、長時間にわたって正しいサンプルタイミングが維持されるようにする。例えば、到来サンプルレートが10MHzであり、希望のサンプルレートが2.046MHzである場合には、前加算器は、4又は5のいずれかのサンプルを加算し、希望のサンプルレートが平均で維持されるようにする。
【0019】
また、デシメーション回路107は、更なる処理の前に信号成分におけるビットの数を減少するために、その出力に量子化装置(図示せず)を含んでもよい。本発明の一実施形態では、2ビットの量子化が使用される。
【0020】
デシメーション回路107からの信号サンプルは、畳み込みプロセッサ109に接続される。この畳み込みプロセッサ109により発生された結果は、信号ランダムアクセスメモリ(RAM)110a及び110bに記憶される。
【0021】
より詳細には、これらのRAM110a及び110bは、入力信号と基準PNコード(例えば、GPS C/Aコード)との間の全畳み込みの一部分又は全部を構成する複素数ベクトルを保持する。畳み込み結果は、信号と基準(PNコード)との間の高い相関に対応するポイントにピークを有する。以下に詳細に述べるように、種々の衛星信号に対するこれらピークの相対的な位置は、最終的に位置情報を計算するのに使用される。
【0022】
畳み込みプロセッサ109及び信号RAM110a、110bは、公称1ミリ秒間隔で繰り返されるGPS信号の多数のエポックに対する畳み込み結果を累算する。例えば、10ミリ秒の信号が処理される場合には、RAM110a、110bの値は、各々1つのエポックにわたって発生された10個の相関結果の和である。個々の相関は、全て、同様の特性をもたねばならない。というのは、デシメーション動作のタイミングが、各エポック内の同じ相対的瞬間にサンプルを取り出すよう確保するからである。個々の相関からの同様の結果を累算することで、信号対雑音比が改善され、弱い信号を検出するための受信機の能力が向上される。この処理は、コヒレントな積分と称され、以下に述べるように、これを大きさ積分と結合して、数秒までの時間周期にわたって平均化された相関結果を得ることができる。
【0023】
コヒレントな積分が実行される時間間隔の長さは、未補償のドップラーシフト、GPS信号ナビゲーションデータビット、及び受信機100の移動により誘起される位相シフトを含む多数のファクタによって制限される。これらのファクタは、低速であるが見掛け上ランダムな位相変化を信号に導入する。数十ミリ秒にわたり、これらの位相変化は、コヒレントな積分の目的を阻止する破壊的干渉を生じさせる。それ故、長い平均化間隔を得るために、受信機100は、大きさ累算の第2のステップを実行する。より詳細には、信号RAM110a及び110bに記憶された信号は、複素数正規化装置111へ周期的に出力され、この正規化装置は、複素数畳み込みベクトルの複素数大きさ値を発生する。この複素数大きさ値は、加算器112により累算されて、大きさRAM113に記憶される。信号の複素数大きさが計算されるたびに、信号RAM110a及び110bをクリアして、別のコヒレントな積分を実行できるようにする。このプロセスは、希望の回数の大きさ累算が完了するまで続けられる。例えば、コヒレントな平均化間隔が10ミリ秒で、200回の大きさ累算を希望する場合には、全プロセスはが秒にわたって実行される。
【0024】
畳み込みプロセスの後に、大きさRAM113は、信号対雑音比を改善するために積分された畳み込み結果の複素数大きさを有するベクトルを含む。以下に述べるように、このベクトルは、CPU114により実行されるソフトウェアアルゴリズムにより更に処理されて、受信機の位置を生じるのに使用される擬似レンジデータを発生する。これらのステップに対するCPU計算負荷は、従来型のGPS受信機又はFFTベースの相関装置に比してかなり控え目であることに注意されたい。この実施形態では、相関及び積分の計算上過酷なタスクは、ソフトウェア処理の前に計算される。
【0025】
図2は、図1の要素により発生される波形201I、201Q及び202を示している。これらの波形201I、201Q及び202は、信号強度(軸208)対コードチップ(軸210)のプロットである。これらの波形は、コヒレントな積分及び大きさ積分中の畳み込みプロセッサ109の出力を示す。明瞭化のために、各々3つのコヒレントな積分に基づく3つの大きさ累算で構成される9ミリ秒の信号処理時間のみ示されている。この例では、P=2であり、従って、コヒレントな積分当たり2046個の信号サンプルが存在する。波形201I及び201Qは、畳み込みプロセッサ109からの出力であり、ここで、201Iは、出力のI成分であり、そして201Qは、Q成分である。2046個のサンプルの各ブロックは、その時間間隔中に処理された2046個の信号サンプルから畳み込みプロセッサ109によりリアルタイムで発生された全畳み込み結果である。この畳み込み結果は、信号の時間遅延に対応する信号ピーク(参照番号206I及び206Qで示すような)の付近を除いてノイズを含む。信号は、エポックごとに繰り返され、従って、2046個のサンプルごとにピークが再び現われる。最初の3つのサイクルにわたり、各エポックからの対応遅延において値を加算することにより相関結果がRAM110a及び110bに累積される。(例えば、出力時間4における値は、出力時間2050及び4096における値と加算される。)相関ピークは、常に、同じ遅延オフセットで現われ、ピークのサイズは、累算にわたって増加し、3つのエポックにわたってほぼ3倍になる。ノイズのレベルも増加するが、ノイズの相関はエポックごとに非相関であるために3の平方根で上昇するに過ぎない。信号対雑音比は、累算プロセスにわたって改善され、ほぼ3の平方根で増加する。波形201Qは、直角位相チャンネルに生じる同じ信号累算プロセスを示す。
【0026】
信号の第4サイクルで始めて、信号RAM110a及び110bがゼロにクリアされると共に、信号累算プロセスが再開される。波形201I及び201Qは、相関が9個の信号エポックにわたって3回累積及び減衰することを示す。
【0027】
コヒレントな平均化間隔の終りに、累積された信号の大きさが計算されて、大きさRAM113へ加算される。大きさRAM113の信号が波形202として示されている。この例では、波形202は、各コヒレントな積分の完了に対応して3回更新される。ピークは、参照番号2121、2122、2123で示されており、ノイズは、参照番号214で示されている。明らかなように、信号対雑音比は、各大きさ累積と共に増加され、到着時間に対応するピークを識別するシステムの能力を更に向上させる。
【0028】
この例では、信号の複素数位相は、9個のエポックにわたって変化することに注意されたい。より詳細には、信号は、最初、I及びQチャンネルの両方に存在するが、最終的なエポックまでに、Iチャンネルにおいて強力で且つQチャンネルにおいてほぼ存在しないように回転する。上述したように、不完全なドップラーシフト同調及び他の作用によりこの回転が生じる。多数のエポックにわたり、位相が多数のサイクルを経て回転し、累積されたときに信号の打消しを生じさせる。このため、本発明の受信機は、短い間隔にわたってのみコヒレントに累積を行い、長時間平均化については大きさ(非コヒレントな)累積に依存する。大きさの値は、位相とは独立しており、数秒にわたって首尾良く積分される。
【0029】
図3は、累積された大きさ波形202を詳細に示す。プロット300は、信号の時間遅延に対応するピーク2123の付近に畳み込みの大きさを示す。コードチップ軸210上のポイントは、C/Aコードチップ長さをPで除算したものに等しい間隔で離間され、ここで、Pは、信号サンプリングレートと、f0即ちC/Aコードチップレートとの比である。この例では、P=2であり、従って、ポイントは、半チップ間隔、即ちほぼ500nsで離間される。(この時間間隔は、150メーターのレンジ差に対応する。)約10メーターより優れた擬似レンジ測定を達成するために、畳み込み結果が通常CPU114において更に処理されて、位置情報を発生する。畳み込みプロセスにより与えられる個別の相関値を使用して真の時間遅延を推定するために、多数の補間技術を使用することができる。一実施形態では、最小2乗推定技術を使用して、ノイズ性の測定データに最良に適合する信号のパラメータが識別される。信号の理想的な応答は、信号の自己相関の大きさである。この波形は、立ち上がった三角形302の形状をもつように容易に示すことができる。三角形の底の巾303は、厳密に、2C/Aコードチップであるか又は畳み込み結果の4つのポイントである(P=2の場合)。三角形の底の高さ304は、信号に対応しない時間遅延に対する畳み込みにおけるノイズの大きさである。このノイズの大きさは、データから推定することもできるし、或いは増幅器のノイズ指数、ケーブル及びフィルタロス、並びにシステム温度のような設計パラメータに基づいて予め計算することもできる。三角形のピーク305及び三角形の中心306は、信号の大きさ及び時間遅延に対応して未知である。最小2乗方法を使用して、これらの2つのパラメータを推定し、ノイズ性データポイントを、所与のピーク及び中心をもつ三角形に適合させることができる。図4は、畳み込みプロセッサ109(及び畳み込み結果処理回路400)の詳細なブロック図であり、特に、小さな回路ブロックの繰返し使用により全畳み込みがいかに発生されるかを詳細に示す。図4と、図4のプロセッサ109の動作を示す図5のフローチャートとを同時に参照すると共に、図6及び図7の簡単な例を比較することにより、回路の動作が最も良く理解できよう。
【0030】
デシメーション回路107からの信号は、I及びQ成分を各々取り扱うシフトレジスタ401a及び401bに接続される。各シフトレジスタ401a及び401bは、長さがPxKであり、但し、Pは、C/Aコードチップ当りの希望のサンプル数であり、Kは、設計パラメータとして選択される。以下に述べるように、Kは、1023の因数である。説明を簡略化するため、以下の説明は、P=2(サンプルが半チップだけ離間される)及びK=33である1つの特定の実施形態に焦点を合わせる。シフトレジスタを経て信号を進めるこの手段は、回路が信号を二重にバッファする必要性を排除し、コスト及び実施の複雑さを低減させる。
【0031】
信号は、コードNCO108によりタイミング合わせされて、2f0のレートでシフトレジスタ401a及び401bを経て前進する。信号は、一連の部分相関演算を行えるように、多数のクロックサイクル中にシフトレジスタに位置保持される。特に、全部でM個の部分相関が実行され、但し、この例では、M=1023/K即ち31である。各部分相関は、各信号シフトレジスタの内容と、PxK(例えば、66)個のコードサンプルを含むコードのセグメントとの間で行われる高速ベクトル乗算及び加算演算より成る。高速ベクトル乗算及び加算は、回路402a及び402bにおいて行われる。回路402a及び402bは、各々、乗算器410a及び410bと、加算器412a及び412bとを含む。その演算は、信号レジスタ401a又は401bにおける66個の信号サンプルの各々に66個のコードサンプル(33個のコードサンプルをコードエクステンダー409で拡張することにより形成された)を乗算し、次いで、その結果を加算器412a及び412bにおいて加算することより成る。この演算は、I及びQチャンネルにおいて別々に且つ同時に行われる。数学的には、この演算は、内積と称され、次のように定義される。
【数1】
ベクトル乗算及び加算の出力は、数字を小さな範囲に保持してRAM404a及び404bのオーバーフローを回避するために再量子化することができる。簡単化のために、量子化装置は図示されていない。一実施形態では、再量子化は、2ビットの分解能までである。
【0032】
ベクトル乗算及び加算の結果は、加算器403a及び403bにより累算されて、畳み込み結果処理回路400により処理される。回路400は、信号RAM110a、110bと、複素数正規化装置111と、加算器112と、大きさRAM113とを備えている。信号RAM111a及び404bに記憶される。累算プロセスは、RAM110a及び110bから特定時間遅延の現在値を読み取り、丁度計算された部分相関を加算し、その和をRAM110a及び110bに書き戻すことより成る。特定の時間遅延に対応する部分相関を適切に結合することにより、その遅延に対する全相関が計算される。上述したように、このプロセスは、信号対雑音比を向上させるために、希望する数の信号エポックに対して続けられる。従って、加算器403a及び403bは、2つの目的、即ち1つのエポック内の部分相関の結合と、多数のエポックにわたる相関の累算とを果たす。
【0033】
信号RAM110a及び110bからの出力は、複素数正規化装置405において合成されて、信号の大きさを形成する。これらのRAM110a及び110bにおけるI及びQ波形は、複素数波形の実数部分及び虚数部分として見ることができる。大きさを形成することは、各成分を2乗し、その結果を加算し、その結果の平方根をとることより成る。大きさに対する近似であって、回路を簡単化するために使用できる近似は、多数ある。一実施形態では、I及びQのスカラーの大きさを別々にとり、どちらが大きいか決定することにより、複素数の大きさが近似される。大きさが大きい方をとり、それを小さい方の大きさの半分に加算することにより、大きさを近似することができる。
【0034】
大きさ演算の結果は、その値を小さな範囲に保持してRAM113のオーバーフローを回避するようにスケーリングされる。簡単化のため、スケーリング装置は図示されていない。一実施形態では、スケーリングは、結果を3ビットシフトする(即ち、8で除算する)ことより成る。
【0035】
また、信号の大きさではなく、信号の電力を累算することもできる。この場合には、405における演算は、電力の推定であり、通常、I及びQの平方の和をとることにより計算される。この場合に、図3を参照して説明した擬似レンジ決定アルゴリズムは、大きさ波形ではなく電力波形に対して適合を行うように若干変更されねばならない。或いはまた、I及びQの大きさ又は電力を表わす値を発生するのに、付加的な非直線的演算を使用することもできる。
【0036】
複素数正規化装置111からの出力は、加算器112により大きさRAM113へと累算される。この累算プロセスは、特定時間遅延の現在大きさ値をRAM113から読み取り、丁度計算された大きさ結果を加算し、その和をRAM113へ書き戻すことより成る。上述したように、大きさの累算は、信号対雑音比の向上を達成するために必要なサイクル数だけ続けられる。
【0037】
ベクトル乗算器402a及び402bは、信号のシフトごとにM回の部分相関を実行する。コードルックアップ回路408は、部分相関ごとに基準コードサンプルを発生する。ルックアップは、2つのルックアップインデックスにより制御される。第1に、コードは、1・オブ・32コードから選択しなければならない。この選択は、畳み込みプロセスを通して一定であり、処理チャンネルが特定の衛星信号に対して相関するように構成されたときに確立される。第2のインデックスは、1とMとの間のセグメントインデックスである。各C/Aコードは、1023個のチップより成り、これらは、各々K個の隣接コードチップより成るM個の非重畳セグメントに分割される。ルックアップインデックスは、どのコードセグメントが必要であるか識別する。コードルックアップ回路からの出力は、セグメントを構成するK個のチップである。選択プロセスは、制御/アドレスロジック414により制御される。
【0038】
コードエクステンダー409は、セグメントのK個のチップを入力として取り上げ、そのセグメントをKxPコードサンプルへと拡張する。この拡張動作は、各コードチップをP個の同じコードサンプルへと変換することより成る。コードエクステンダー409からの出力は、ベクトル乗算器402a−bへの基準コード入力を形成する。この例では、コードエクステンダーからの出力は、33個の独特の値を各々2回複写することで作られた66個のサンプルである。
【0039】
図4に示すアーキテクチャーは、C/Aコードレートf0より実質的に高速なクロックを必要とする。例えば、C/Aコードチップ当たり2つのサンプルが使用され(P=2)、K及びMが各々33及び31である場合に、全畳み込みを達成するには、2xf0のレートで進行する信号シフトレジスタのシフトごとに31回の部分相関を実行することが必要である。通常、RAM110a及び110bを読み取り及び書き込むには、少なくとも2つのクロックサイクルが必要である。2つのクロックサイクルを仮定すると、全畳み込みを達成するのに必要な最小クロックレートは、次のようになる。
【数2】
このレートは、近代的な集積回路ロジックでは容易に達成できる。
【0040】
本発明は、全畳み込みのサブセットを計算するのにも使用できることに注意されたい。この場合に、信号シフトレジスタのシフトごとに、Mより少数の部分相関が実行される。この場合に、遅延の全範囲は、全畳み込みを形成するPx1023より少ない。特に、M2回の部分相関が実行される場合には、M2xKxPの遅延値が発生される。プロセッサに対するクロックレートは、M2とMの比で減少される。更に、RAMのサイズもこの比で減少される。従って、この変形態様は、全畳み込みを処理する計算又はメモリリソースをもたないシステムにおいて有用である。
【0041】
K及びMの結果に対する他の選択は、更に別の設計上の妥協を許すが、1023の主要因数は、3、11及び31であるから、K及びMの選択には限度がある。Kを減少することは、シフトレジスタ401a及び401bのサイズと、ベクトル乗算器402a及び402bの複雑さとを低減するので、望ましいが、大きなMを必要とし、ひいては、高いクロックレートを必要とする。Kに対する選択は、3、11、31、33及び93である。これらの選択は、1.39GHz、380MHz、135MHz、127MHz及び45MHzのクロックレートを各々必要とする(常に、P=2、及び部分相関当たり2個のクロックサイクルを仮定する)。立証時に利用できる技術に基づき、K=33という選択が1つの実施形態としてなされた。将来の技術では、K=11の選択と、380MHzのクロックレートとが重要となり、ロジックの複雑さを更に低減することになろう。従って、このアークテクチャーは、速度とロジックの複雑さとの間の最適な妥協をサポートする希望の属性を有する。
【0042】
コードセグメントのシーケンスは、制御ロジック414により制御される。この制御ロジックは、RAM110a、110b及び113に対する正しいアドレスも識別する。以下に述べるように、部分相関は、非連続的順序で発生され、従って、RAMアドレスの発生は、些細なことではない。
【0043】
図4の回路の動作は、図5のフローチャートを参照することによっても理解できる。動作は、ステップ501において、信号シフトレジスタ401a及び401bを前ロードすることで始まる。この点において、畳み込みプロセスを開始することができる。ステップ502では、特定の部分相関に対してコードセグメントがアクセスされる。ステップ503では、コードセグメントが、コードエクステンダーにより、C/Aチップ当たりP個のサンプルをもつように拡張される。次いで、ステップ504では、遅延インデックス及びそれに対応するRAMアドレスが計算される。遅延インデックスは、全畳み込みのどのポイントが部分相関により更新されるか指示する。図7を参照して説明する例から明らかなように、遅延インデックスは、非直線的であるが決定的な仕方でジャンプする。アドレスの計算は、信号シフトの回数及びコードセグメントに基づく。
【0044】
ステップ505では、ベクトル乗算器402a及び402bを使用して部分相関が計算される。ステップ506では、その結果が、遅延インデックスで指示された信号RAMの位置に累積される。次いで、ステップ507では、処理がコヒレントな積分間隔の終りに到達したかどうか決定するためのチェックが行われる。もしそうでなければ、ステップ502aへ戻り、次のコードセグメントに対して上記ステップを繰り返す。
【0045】
ステップ507において、全てのコードセグメントに対して部分相関(例えば、31個の部分相関)が完了したことがチェックで指示された場合には、ステップ508へ進む。ステップ508では、信号レジスタ401a及び401bが1サンプルだけシフトされる。
【0046】
次いで、プロセスは、ステップ509へ進み、そこで、最後のシフトがコヒレントな積分間隔の終りに遭遇したかどうか調べるチェックが実行される。もしそうでなければ、プロセスはステップ502のスタートへ戻る。コヒレントな積分間隔の終りであることがチェックで指示された場合には、ステップ510へと続き、そこで、複素数正規化装置111により信号の大きさが計算される。その結果が加算器112を使用して加算され、大きさRAM113に記憶される。次いで、ステップ511において、全ての大きさ累算が実行されたかどうか決定するためのチェックが行われる。もしそうであれば、ステップ512において完了となる。もしそうでなければ、ステップ501において次の部分相関を実行することにより処理が継続される。
【0047】
図6及び図7は、本発明で部分相関をいかに使用して全畳み込みの結果を累算するかを簡単な例により示している。明瞭化のため、これらの図は、GPS信号の長さ1023のC/Aコードではなくて、非常に短い長さ6のコードの畳み込みを示している。更に簡単な例とするために、コードチップ当たり1つのサンプルが使用され、即ちP=1である。図6は、標準的な整合フィルタリング解決策による畳み込みを示し、一方、図7は、部分相関を結合する方法による同じ畳み込みを示す。図7の細部は、本発明の全体的な動作を理解する上で有用である。両方法とも、同じ畳み込み結果を発生する。
【0048】
図6は、長さ6の信号に対する従来の整合フィルタの動作を示す。シフト0と示された時点で動作が開始する。この時点で、信号の全サイクルを構成する6個の連続する信号サンプルが信号シフトレジスタ601にある。個々のサンプルは、大文字のインデックスA、B、C、D、E及びFで示されている。全長さ6のコードのコードサンプルが基準レジスタ602に保持され、小文字のインデックスa、b、c、d、e及びfで示されている。シフト0の時間にはベクトル乗算及び加算が実行されて、シフト0に対する相関結果を発生する。各信号サンプルは、それに対応するコードサンプルで乗算され、その結果が加算されて、相関結果603を生じる。
【0049】
次いで、信号シフトレジスタ604は、シフト1に示されたように、1サンプルだけ進められる。信号は周期的であり、従って、レジスタの左側に導入される新たなサンプルは、右へシフトして出されたものと同じである。レジスタ604のシフトされた内容は、ここでは、インデックスF、A、B、C、D及びEをもつサンプルとなる。コードは、シフトされない。ベクトル乗算及び加算は、ここでは、シフト1に対する相関結果605を発生する。このシフトプロセスが5つの付加的なシフトに対して続けられ、その点において、全畳み込みを形成する全部で6個の相関結果が得られる。
【0050】
図7は、部分相関方法により同じ畳み込み結果がいかに得られるかを示す。上述したように、本発明は、コードを長さKのM個のセグメントに因数分解することを必要とする。図7の簡単な例では、長さ6のコードが、長さ2の3個のセグメントに因数分解され、即ちK=2及びM=3である。シフト0で示された時点に動作が始まる。この時点では、2つの信号サンプルが信号シフトレジスタ701に保持される。これらの信号サンプルは、大文字のインデックスA及びBで示される。コードの6個のサンプルは、各々長さ2の3個のセグメントに含まれる。第1のコードセグメント702は、小文字のインデックスa及びbで示された2つのコードサンプルを含む。この信号は、3回の部分相関動作に対して位置保持され、部分相関結果703a、703b及び703cを生じる。第1の部分相関結果は、信号レジスタの内容と、第1コードセグメント(セグメント1)との間のベクトル乗算及び加算により形成される。第2及び第3の結果は、信号レジスタと第2及び第3のコードセグメント各々とのベクトル乗算により形成される。信号レジスタは、全ての3ベクトル乗算を実行するに充分な時間、位置保持されると共に、この時間中にはコードがシフトされず、むしろ、異なるコードセグメントが選択されることに注意されたい。
【0051】
部分相関結果は、信号経路705に基づいてメモリへ累積される。例えば、シフト0では、第1コードセグメントからの部分相関が相関結果704に加算される。第2セグメントからの部分相関は、シフト2に対して相関結果706に加算される。第3セグメントからの部分相関は、シフト4に対する相関結果708に貢献する。
【0052】
3つの部分相関の後に、信号がシフトされる。この段階では、シフト1として示すように、信号レジスタは、サンプルF及びAを含む。この場合にも、3つの部分相関が、以前と同じ3つのコードセグメントと共に発生される。これら部分相関からの結果は、シフト1、3及び5に対して各々相関結果710、712、714に貢献する。このプロセスは、4つの付加的な信号シフトに対して続けられ、そのとき、全畳み込み結果が得られる。明らかなように、この動作は、畳み込みを構成する6個の全結果に貢献する全部で18個の部分相関を発生することを必要とする。
【0053】
図7により述べたアーキテクチャーは、本発明の2つの重要な特徴を示している。第1に、長さ2のシフトレジスタ及びベクトル乗算・加算ユニットしか使用せずに、長さ6のコードに対する全畳み込みが発生されることが明らかである。これは、回路素子が長さ6である図6の回路未満のものしか必要としない。第2に、図7では、コードサンプルが、シフトごとに同じである固定セグメントにおいてアクセスされ、更に、各セグメントがコードの個別の非重畳区分である。従って、図8及び9を参照して以下に詳細に述べるように、簡単なルックアップ又はレジスタ機構を使用して、ベクトル乗算器にコードを供給することができる。これらの機構は、例えば、より複雑な1組の順列でコードビットの大きなブロックを使用できるようにしなければならない他のアーキテクチャーより回路を必要としない。また、本発明は、コード発生回路を設ける必要性も排除する。
【0054】
図8は、本発明に適したコードルックアップ回路408の一実施形態を示すブロック図である。テーブル801は、32個の各コードの全1023ビットに対する記憶値を、例えば、リードオンリメモリ(ROM)又は固定布線ロジックに含んでいる。テーブル801は、各コードに対して1つづつ、32個のサブテーブルとして編成される。更に、各サブテーブルは、長さKのM個のセグメントとして編成され、但し、KxM=1023であり且つK及びMは、上述したように選択される。マルチプレクサ802は、選択値に基づいて特定のコードを選択する。マルチプレクサ801の出力は、希望の特定のサブテーブルである。マルチプレクサ803は、1とMとの間のセグメント選択値に基づいて特定のセグメントを選択する。803の出力は、長さKの特定のコードセグメント804であり、これは、コードエクステンダー409に供給されるコードビットを含む。
【0055】
マルチプレクサ803は、部分相関ごとに即ち2つのクロックサイクルごとにコードセグメントを変更できる高速のものでなければならないことに注意されたい。このため、全てのコードビットを、従来のコードジェネレータのようにオンザフライで発生するのではなく、テーブル801に予め記憶しておく必要がある。
【0056】
図8の回路は、例示のためのものである。実際には、機能的に同等の多数の異なる回路設計がある。特に、近代的なASIC設計に使用される論理合成のプロセスは、上述したものと同等の振舞いを達成するが、必ずしも上述したようにマルチプレクサを使用しないあるゲートパターンを導く。
【0057】
図9は、本発明に適したコードルックアップ回路408の別の実施形態のブロック図である。特定コードに対応する1023個のコードビットが、長さKのM行として編成された1023個の両方向シフトレジスタ901に保持される。これらシフトレジスタは、2つのモード、即ちランニングモード及びロードモードで動作する。
【0058】
ランニングモードでは、各レジスタ901は、次の行にあるその上のレジスタへサンプルをシフトするように構成されるが、最も上の行のレジスタは、最も下の行のレジスタへシフトする。ランニングモードに対するシフト方向は、901内に実線の矢印で指示されている。全てのレジスタをクロックすることにより、コードビットの行が循環し、いつでも、最上位の行が、長さKのM個のコードセグメントの1つを含むことになる。この最上位の行のビットは、コードエクステンダー409へ供給される。これらのレジスタは、迅速に循環し、部分相関ごとに異なるコードセグメントが得られるようにされる。
【0059】
ロードモードでは、各レジスタは、その行の次のレジスタへサンプルをシフトするように構成されるが、レジスタの最後の列は、その上の行のレジスタの最初の列へシフトする。ロードモードに対するシフト方向は、901内に点線矢印で示されている。左下のシフトレジスタ904は、コードジェネレータ902に接続される。このコードジェネレータは、選択値に基づいて特定コードの1023個のコードビットを順次発生することのできる慣習的なコードジェネレータである。コードルックアップ回路が特定の形態で構成されると、レジスタがロードモードに入れられ、ジェネレータを使用してコードのビットが発生され、これらのビットがレジスタを通してクロックする。全てのビットがクロックされた後に、コードは、長さKのM個のセグメントとしてレジスタに存在する。次いで、回路は、ランニングモードで使用する準備ができる。
【0060】
図10は、GPS受信機1000の別の実施形態を示すブロック図である。この受信機1000は、相関履歴モード及び標準相関モードで動作する複数の処理チャンネル104を備えている。標準相関モードの機能は、図1−9を参照して上述した。相関履歴モードにおける受信機1000の各要素の動作は、信号RAM110a、110b及び大きさ/履歴RAM1002までの全てのブロックについては標準モードと実質的に同じである。更に、本発明の方法の説明を助けるために、CPU114は、図10では、従来のように、メモリ1010及びサポート回路1012によりサポートされて示されている。サポート回路1012は、クロック、バス、キャッシュ、電源、I/O回路等の良く知られたサポート回路である。メモリ1010は、ソフトウェア1014を記憶するためのコンピュータ読み取り可能な媒体を形成し、このソフトウェアは、CPU114で実行されたときに、受信機1000を、以下に述べる方法に基づいて動作させる。CPU114、メモリ及びサポート回路を組み合わせることで、処理ユニット1016が形成される。
【0061】
畳み込みプロセッサ109の標準動作の場合と同様に、信号RAM110a、110bを使用して、全ての相関遅延に対するコヒレントな平均化間隔にわたり部分相関結果を累算して、全畳み込みを構成する。相関履歴モードは、相関ピーク付近の遅延に対応する結果の小さなサブセットのみを使用する。相関履歴モードでは、プログラミングパラメータが少数の当該遅延を確立する。これらの遅延に対して、全てのコヒレントな平均結果の完全な履歴が大きさ/履歴RAM1002に記憶される。相関履歴モード中に畳み込みプロセッサでは大きさ累算が実行されない。むしろ、このモードでは、RAM1002は、相関履歴モード中には相関履歴を記憶するためのメモリ(履歴メモリ)として、更に、畳み込みプロセッサ109の標準動作中には大きさを記憶するためのメモリ(大きさメモリ)として使用される。いかに多くの連続するコヒレントな累算結果をRAM1002に記憶するかは、別のプログラミングパラメータで定義される。畳み込みプロセッサ109は、遅延及びエポックにより指示される結果の二次元テーブルで大きさ/履歴RAMを満たす(図11を参照)。記憶できるエポックの数は、RAMサイズと、選択される遅延の数とでセットされる。例えば、RAMが2048ワードのサイズであれば、単一遅延の場合に2048サイクルを記憶し、2つの遅延の場合に1024サイクルを記憶し、4つの遅延の場合に512サイクルを記憶し、等々となるようにメモリを使用することができる。12ビットのワード巾は、コヒレントな平均結果のI及びQ部分を6ビットの分解能で個々に記憶できるようにする。
【0062】
図12は、典型的な相関履歴のグラフ例1200を示す。上部及び下部グラフ1202及び1204は、I成分及びQ成分の波形を各々示す。グラフの各ポイントは、単一のコヒレントな積分を表わす。この例では、コヒレントな積分間隔が1エポックにセットされ、従って、各ポイントは、公称1ミリ秒の積分を表わす。
【0063】
図12の波形は、相関後の信号の2つの特徴を表わす。第1に、I及びQチャンネルを横切って信号を回転させる残留ドップラー周波数が存在する。第2に、時々180°の位相遷移を生じさせるナビゲーションデータビットが存在する。遷移間の最小間隔は、120エポック、即ちデータビット周期である。相関履歴のスタートに対するデータビットのタイミングも、波形から明らかである。
【0064】
相関履歴モードは、衛星信号ドップラー及び/又はナビゲーションビットタイミングを決定して、発振周波数及び受信機クロックタイミングのような幾つかの受信機パラメータを推定するために呼び出される。最初に、このモードは、残留ドップラーと、相関履歴のスタートに対するナビゲーションデータビットのタイミングとを推定するためにソフトウェアアルゴリズムにより使用されるデータを与える。その後、必要に応じて、このモードは、ナビゲーションデータビットの値をデコードするための履歴を与えるのにも使用される。
【0065】
特に、ソフトウェアアルゴリズムは、1つ以上の衛星に対してドップラー及びビットタイミングを決定して、GPS受信機自身の発振周波数及び/又は内部クロックタイミングの推定値を発生又は更新する。より詳細には、発振周波数及びクロックタイミング推定値を使用して、図10の搬送波及びコードNCO106及び108を「修正」すると共に、畳み込みプロセッサ109のタイミングを調整することにより、更に正確な相関が実行される。特に、受信機の発振周波数の改善された推定は、相関プロセッサ109を、NCO105により更に正確に同調できるようにし、優れた信号検出を与えると共に、より長いコヒレントな積分間隔を使用できるようにする。更に、受信機のクロックタイミングの改善された推定を使用して、畳み込みプロセッサ109のスタート時間を制御し、各衛星のナビゲーションデータビットタイミングと同期したコヒレントな積分を実行し、信号検出を改善することができる。
【0066】
公知技術(例えば、2001年3月27日付の米国特許第6,208,291号に開示された)では、レジスタバンクを使用し、衛星信号のPNエポック及び搬送波を追跡する追跡プロセスに対して相関装置の出力を記憶する。追跡プロセスでは、高い信号対雑音比が必要とされる。公知技術とは異なり、本発明の相関履歴モードは、単に特定の衛星信号を追跡する目的でデータをバッファするものではない。むしろ、相関履歴モードは、視野内の全衛星の検出を助ける受信機パラメータを推定するのに使用される。更に、相関履歴モードは、従来の追跡プロセスのスレッシュホールドより下がる非常に低い信号対雑音比でも衛星信号情報を抽出するソフトウェア推定アルゴリズムに関連して動作する。多数の衛星からの信号を処理する相関履歴モードは、受信機パラメータ推定の性能を向上させるのに使用されるが、このような付加的な信号は、本発明を実施するのに必要でない。
【0067】
相関結果の履歴からビットタイミング及び周波数を推定するのに使用できるアルゴリズムは多数存在する。その一実施形態が図13のブロック図に示されている。この実施形態では、プロセス1300は、特定の機能を遂行する一連のステップを実行するソフトウェアプログラムにおいて実施される。プロセス1300は、特定周波数及びビットタイミングの仮説において信号の大きさの推定値(大きさ推定値)を決定するように実行され、この推定値は、考えられる周波数及びビットタイミングの範囲にわたって最適化される。各仮説に対し、周波数変調の共役に対応する複素数の周波数項での乗算を実行することにより、I及びQ相関履歴が最初に位相修正される(ステップ1302)。次いで、ステップ1304において、ナビゲーションビット周期にまで及ぶコヒレントな積分周期にわたって信号が積分される。例えば、相関履歴が、1エポック離間されたサンプルで構成される場合には、I及びQ履歴の20個の連続サンプルが加算されて、ナビゲーションデータビットに対する信号大きさの推定値が形成される。各ビット加算の終りに、ステップ1306において、大きさ計算動作が実行されて、電力値が形成される。次々の大きさ計算からの結果がステップ1308において更に加算されて、信号対雑音比を改善する。例えば、1秒のデータは、50個のビット周期を与え、これらを加算して、加算に使用されたビット周期に対する積分電力を形成することができる。より一般的には、信号レベル、例えば、信号の大きさ又は信号の電力を決定するように計算を実行することができる。ここに述べる本発明の実施形態は、信号の大きさを使用するが、当業者であれば、信号の電力や信号レベルの他の尺度を使用しても本発明を実施できることが明らかであろう。
【0068】
ある範囲の考えられる周波数及びビットタイミング値にわたって電力推定値が収集される。それらの結果は、図14に示すように、二次元格子1400において見ることができる。一方の軸1402は、仮定した周波数エラーであり、この場合には、−40から80Hzまで変化する。他方の軸1404は、ビットタイミング仮説であり、0から19エポックまで変化する。この値は、ビットタイミングと、受信機クロックに基づいて特定の時間に取り出された相関履歴の開始との間に仮定されるオフセットを表わす。格子の各点における垂直軸1406は、ドップラー及びタイミング仮説に対応する相関した信号の大きさである。周波数及びタイミングの最良の推定値は、格子の最大点1408に対応する。これは、コヒレントな平均化間隔がデータビットと不整列である場合に生じ得る信号対雑音比(SNR)ロスを最小にする。
【0069】
図15は、周波数軸1402に沿った図14の断面のグラフ1500である。明らかなように、応答は、正しい周波数においてピーク(ポイント1502)となる。同様に、図16は、ビットタイミング仮説軸1404に沿った図14の断面のグラフ1600である。この場合も、正しいビットタイミングに対応する三角形の頂点(ポイント1602)に最大の大きさが見られる。
【0070】
周波数及びビットタイミングにおけるポイントの配置は、周波数及びビットタイミングにおける初期の不確実性と、意図される推定精度とに基づく。通常、GPS時間に対する受信機のタイミングは未知であるから、全部で20のビットタイミング仮説がチェックされる。
【0071】
ここに述べるプロセスは、最大値をサーチすることのできるポイントの二次元セットを与えることに注意されたい。最大値に到達する方法は、他にもある。例えば、周波数のコース推定を任意のビットタイミングで行って、表面のピークに接近した周波数を得ることもできる。任意のビットタイミングを使用する場合には、コヒレントな平均化間隔をビット周期と非同期にセットするのが好都合であり、例えば、19エポックのコヒレントな平均化間隔が好都合である。任意のビットタイミングでの分析に続いて、全てのビットタイミング(及び好ましくは20エポックのコヒレントな平均化間隔)でその周波数における応答を推定して、ビットタイミングを推定できるようにする。必要に応じて、その後に、付加的な周波数推定を行うことができる。これは、図14の二次元表面を横切って最大値をサーチするのに使用できる良く知られた数学的技術の多数の例の1つである。テストされて有益であると分かっている別の方法は、ケンブリッジ・ユニバーシティ・プレスの「Numerical Recipes in C」に掲載されたダウンヒル・シンプレックス方法である。
【0072】
別の例では、順次推定アルゴリズムをソフトウェアで実施することができる。このアルゴリズムの各ステップでは、周波数弁別子が周波数エラーの推定を形成する。その後の繰り返しにおいて、周波数エラーが適用され、弁別子は、周波数エラーの別の改善された推定を与える。このプロセスは、残留周波数エラーが小さくなるまで続けられる。追跡ループとは異なり、このアルゴリズムは、NCO106へフィードバックを適用せずに且つ付加的な相関を行わずに、記憶された相関履歴で全体的に動作する。周波数が推定されると、180°位相遷移のタイミングからビット遷移を識別することができる。周波数エラーがほぼ除去されるので、位相遷移が観察し易くなる。
【0073】
図17は、GPS受信機の動作に関連して相関履歴モードを使用する方法1700を示す。最初に、ステップ1702において、相関を標準モードで実行し、ある範囲の遅延にわたって信号を走査すると共に、必要に応じて周波数をサーチする。エネルギーが検出されると、ステップ1704において、1つ以上の衛星からの信号を相関履歴モード処理のために選択する。ステップ1706では、受信機の処理チャンネル又は多数のチャンネルを相関履歴モードに対して再構成し、相関履歴を累算する。通常、相関履歴は、単一の遅延で累算するだけでよい。というのは、最初の信号収集から遅延の推定値が得られるからである。ステップ1708では、上述したように、1つ又は複数の相関履歴を処理し、相関履歴モードで動作される各チャンネルに対して信号周波数及びビットタイミングの推定値を形成する。
【0074】
ステップ1710では、これらの推定値を衛星レンジ及びレンジレートモデルと合成して、受信機の発振周波数及びクロックタイミングモデルを更新するのに使用される情報を決定する。次いで、これらの推定値を、全ての衛星に対する衛星レンジ及びレンジレートモデルと一緒に使用して、視野内の全衛星までの予想ビットタイミング及びドップラーを計算すると共に、NCO106及び108に対する改善されたプログラミング値を計算し、更に、畳み込みプロセッサ109のコヒレントな積分スタートタイミングをセットする。次いで、受信機を標準動作モードに切り換え、図1−9を参照して述べたように受信機の視野内の全衛星からの信号を相関させる。ステップ1712では、受信機は、改善された周波数及びクロックタイミング推定値を使用して、GPS信号に対する標準的な相関を実行する。以上のプロセスを必要に応じて繰返し、受信機のパラメータ推定値を完全なものにする。
【0075】
特に、ステップ1710において、特定の衛星に対する相関履歴モードで決定された周波数を、その衛星に対する予想レンジレートと比較し、固定受信機モデルに基づいて、受信機クロックの周波数エラーに貢献し得る差の値を決定することができる。或いはまた、3つ以上の衛星から周波数測定値が得られる場合には、エラーを使用して、受信機のクロック周波数及び受信機の速度も推定することができる。推定された受信機発振周波数を、衛星の予想レンジレートと合成して、NCO106に対する改善された同調周波数を決定し、衛星を検出することができる。
【0076】
更に、ビットタイミング測定値から受信機タイミングエラーの推定値を発生することもできる。信号履歴は、受信機の内部クロックに対する特定の基準時間において捕えられる。一実施形態では、このクロックは、ミリ秒カウンタである。このカウンタのタイミングは、GPS時間に対して一般的に任意である。しかしながら、特定の衛星に対してビットタイミングが推定されると、ミリ秒カウンタとGPS時間との間に時間関係を確立することができる。データビットが全衛星から同期して発せられることを指摘することに関連して、これを説明する。ビットの遷移において、GPS時間のモジュロ20値がゼロである。これら衛星からの信号は、何ミリ秒か後に受信機に到着する。遷移の時間と受信の時間との間の遅延は、受信機の位置、おおよその時間及び衛星の軌道情報の推定値から容易に決定することができる。従って、受信機におけるデータビット遷移の絶対的なタイミングを、GPS時間に関して推定することができる。これらの同じトランザクションのタイミングが受信機のミリ秒クロックに対して測定されると、受信機クロックとGPS時間との間に関係を確立することができる。ナビゲーションデータビットフレームのタイミングではなく、ナビゲーションデータビット遷移しか確立されていないので、これは、絶対的な関係ではないことに注意されたい。むしろ、受信機クロックのモジュロ20ミリ秒値を、GPS時間のモジュロ20ミリ秒値に関連付けることができる。
【0077】
その後のコヒレントな積分間隔を整列するために、受信機は、先ず、GPS時間に対して各衛星のナビゲーションデータビットのタイミングを推定する(擬似レンジに基づいて)。畳み込みプロセッサ109により実行される相関は、受信機のミリ秒クロックに基づいて、ある便利な将来の時間に開始するようにプログラムされる。このスタート時間のモジュロ20ミリ秒値は、コヒレントな積分とデータビットとの整列を確保するためにGPS時間及びナビゲーションデータビットのタイミングに対して選択される。
【0078】
また、相関履歴モードを使用して、ナビゲーションデータビットを収集することもできる。通常、このモードは、ナビゲーションデータビットタイミングが確立された後に呼び出される。相関プロセッサは、20エポックのコヒレントな積分間隔に対し、それら間隔がデータビットと整列されるようにしてプログラムされると共に、相関履歴が記憶される。相関履歴の各ポイントは、全ビット周期にわたる積分の結果である。あるビットから次のビットへの位相遷移の有無が情報データビットを与える。相関履歴は、RAMのサイズまでビットを記憶するように使用できる。より多くのビットが要求される場合には、多数の相関履歴を次々に記憶することができる。
【0079】
本発明の技術を組み込んだ種々の実施形態を図示して詳細に説明したが、当業者であれば、これらの技術を組み込んだ他の変形形態を容易に案出することができよう。
【図面の簡単な説明】
【0080】
【図1】本発明によるGPS受信機のブロック図である。
【図2】本発明により発生される波形の例を示す図である。
【図3】図2の累算された大きさ波形を詳細に示す図である。
【図4】畳み込みプロセッサ及び畳み込み結果処理回路の詳細なブロック図である。
【図5】本発明の動作方法を示すフローチャートである。
【図6】慣習的なやり方で全畳み込みを計算する簡単な例のグラフィック表示である。
【図7】本発明を使用して図6の全畳み込みをいかに実行するかのグラフィック表示である。
【図8】本発明に使用するのに適したコードルックアップ装置の実施形態を示す図である。
【図9】本発明の別の実施形態に使用するのに適した二次元コードシフトレジスタの実施形態を示す図である。
【図10】相関履歴モードで動作することのできる相関装置のブロック図である。
【図11】RAM長さ図である。
【図12】図10の相関装置により処理されるI及びQ信号を示す図である。
【図13】相関履歴モードを使用して信号処理を実行するための方法を示すフローチャートである。
【図14】周波数及びビットタイミング推定対電力推定の三次元グラフである。
【図15】周波数軸に沿って得た図14のグラフの断面である。
【図16】ビットタイミング軸に沿って得た図15のグラフの断面である。
【図17】相関履歴モードを使用する相関プロセスのフローチャートである。
【0001】
本出願は、参考としてここに援用する2001年5月18日出願の米国特許出願第09/861,086号の一部継続出願である。
【発明の分野】
【0002】
本発明は、デジタル信号受信機のための信号相関装置に関し、より詳細には、例えば、グローバルポジショニングシステム(GPS)受信機において履歴相関データを使用して信号相関を実行するための方法及び装置に関する。
【背景技術の説明】
【0003】
グローバルポジショニングシステム(GPS)信号の測定プロセスは、既知の擬似ランダムノイズ(PRN)コードに対して到来信号の一連の相関を試みることによりノイズの存在中でGPS信号をサーチするという手順で開始される。このサーチ手順は、信号の厳密な周波数及び到着時間遅延の両方が未知であるので、長々しいものとなる。信号を見出すために、受信機は、慣習的に、二次元サーチを実行して、考えられる各周波数において各遅延の可能性をチェックする。特定の周波数における信号の存在と遅延をテストするために、受信機がその周波数に同調され、到来信号が、到着時間に対応する量だけ遅延された既知のPRNコードと相関される。信号が検出されない場合には、サーチが、次の遅延可能性へと続けられ、全ての遅延可能性がチェックされた後に、次の周波数可能性へと続けられる。各個々の相関は、信号をノイズから区別するに充分な信号平均化を許すために1ミリ秒以上にわたって実行される。数千の周波数及び遅延の可能性がチェックされるために、収集プロセス全体では数十秒を要する。
【0004】
近年、ワイヤレス装置におけるGPS技術の新規な用途が出現し、例えば、セルラー電話にGPSを使用して非常位置決め機能を与えるものが出現した。これらの用途では、ほんの数秒といった迅速な信号収集が要求される。更に、これらの用途では、GPS信号レベルが相当に減衰される苛酷な信号環境や屋内でGPS受信機を動作することが要求される。減衰した信号を検出するには、比較的長時間にわたって各相関を実行することが要求される。例えば、慣習的なGPS受信機では1−10ミリ秒の周期であるのに対して、数秒間にわたって積分が行われる。このような長い積分時間では、全サーチ時間が100倍以上に増加するので、慣習的な受信機に使用される二次元の逐次サーチプロセスは不可能である。
【0005】
サーチプロセスを加速するために、GPS設計者は、多数の到着時間可能性を同時にチェックできるように付加的な相関装置を受信機に追加している。追加される各相関装置は、通常、個別のコードミクサ及び信号アキュムレータを必要とする。これは、所定の感度レベルに対し、相関装置の数に比例してサーチ時間を減少する。セルラー電話の用途で要求される感度及び収集時間を達成するためには、数千の相関装置を組み込むように設計しなければならない。このような追加は、通常、消費者向け装置にとって甚だしく複雑で且つ経費のかかるものとなる。
【0006】
例えば、1999年5月4日付の米国特許第5,901,171号は、単一の時分割処理ブロックを使用して、12個の各チャンネルで20個までの同時相関を実行できるようにするトリプルマルチプレクス技術を開示している。これは、20個の遅延可能性のブロックが同時にチェックされるので、単一相関装置設計に比して性能の改善を与える。全範囲の遅延不確実性にわたって全信号サーチを行うには、20個の相関装置のブロックを次々に約100回使用して、2046個の遅延をチェックすることが必要である。従って、数秒で収集を行わねばならない場合には、積分時間が数十ミリ秒に制限される。これは、屋内GPS用途に必要な感度を得るのに不充分である。
【0007】
サーチプロセスを更に改善するために、他のGPS受信機アーキテクチャーは、到来信号と既知のPNRコードとの間の畳み込みを発生することのできる処理を含む。これは、全C/Aコードエポック(1023チップ)にわたり全時間遅延可能性に及ぶ完全な1組の相関装置を設けることと同等であり、1997年9月2日付の米国特許第5,663,734号は、ソフトウェアアルゴリズムを使用して必要な相関結果を効率的に発生するための高速フーリエ変換(FFT)ベースのソフトウェア技術を開示している。この解決策は、全ての用途に適するものではない。というのは、ソフトウェアFFTを実行するのにプログラム可能なデジタル信号プロセッサ(DSP)が必要とされ、そして未処理の信号サンプルを記憶するのに大きなメモリが必要とされるからである。更に、この解決策は、ソフトウェア計算のために、且つ信号の完全なスナップショットが記憶された後でなければソフトウェア処理がスタートしないために、大きな処理遅延を伴う。多くの用途では、リアルタイム処理解決策が好ましく、即ち大規模なソフトウェア処理を伴わないものが好ましい。リュジン氏等の「Fast Acquisition by Matched Filter Technique for GPS/GLONASS Receivers」、第307−315ページには、1023個のタップをもつ整合フィルタを使用して畳み込みをリアルタイムで実行するためのハードウェア解決策が開示されている。整合フィルタは、全C/Aコードエポックを保持するに充分な大きさのシフトレジスタと、信号の全エポックとC/Aコードとの間の内積を発生する巾1023のベクトル乗算及び加算ユニットとで構成される。
【0008】
この回路は、セルラー電話のような低コストの消費者向け装置の制約に対して複雑である。また、Pコード収集用の軍用受信機に使用されるような他の整合フィルタ解決策も、大きなベクトル乗算器を組み込んでいる。
【0009】
従って、信号及びC/Aコードの全エポックを処理することのできる改良された簡単且つ低コストのGPS処理ブロックが要望される。このような装置は、比較的簡単であるが全畳み込みを発生できるハードウェア、又は多数の並列の相関装置から、好ましくは、大きなベクトル乗算器を伴わずに形成されねばならない。
【発明の概要】
【0010】
本発明は、未処理の信号サンプルを記憶せずに且つ広範囲なソフトウェア処理を伴わずに、畳み込み結果をリアルタイムで発生することにより、入力信号(例えば、GPS信号)と擬似ランダムノイズ(PRN)コード基準との間の全畳み込みを計算するための方法及び装置を提供する。この装置は、全エポックを処理するサイズのベクトル乗算器と同じ結果を得るために高速度で動作するベクトル乗算器を備えている。本発明は、セルラー電話のような消費者向け装置の複雑な制約に適合する集積回路において実施することができる。この設計は、畳み込み結果の長時間平均化を行って高い感度を確保できるようにするに必要なロジックを含む。本発明は、屋内で受信される信号を含む著しく減衰された信号から位置場所を導出するのに使用するために信号を相関することができる。
【0011】
完全な装置は、従来型のGPSチューナと、デシメーション回路と、畳み込みプロセッサと、畳み込み結果を累算するRAMブロックとで構成される。畳み込みプロセッサは、ほぼ100MHz以上の高いクロックレートで動作して、小さな回路ブロックの繰返し使用により全畳み込みを計算することができる。より詳細には、畳み込みの各ポイントが一連の部分相関へと分割され、その各々は、エポックの一部分のみを処理するサイズのベクトル乗算器を使用して発生される。この装置は、C/Aコードを、コードセグメントの非重畳セットに細分化することにより、部分相関を編成する。各部分相関は、一度に1つのコードセグメントしか使用せず、簡単なルックアップテーブルを使用してC/Aコードを効率的に記憶及び検索することができる。
【0012】
プロセッサは、入力IFサンプルをデシメーションして希望のサンプルレートで信号流を生成することにより始動し、このレートは、到来信号のタイミングに正確に一致される。希望のサンプルレートをPf0(C/Aチップ当たりP個のサンプル)とすれば、サンプリングレートは、厳密に1023xP個のサンプルが各信号エポックに取り出されるようにセットされる。プロセッサは、Kを1023の因数とすれば、PxK個の入力サンプルを保持するサイズのシフトレジスタを経て信号クロック信号を相関する。各信号シフト時に、一連のM回の部分相関演算が実行され、但し、Mは、MxK=1023であるように選択される。各部分相関は、信号シフトレジスタの内容と、C/Aコードの長さKのセグメントをPxK個のサンプルに拡張することにより生成された基準サンプルのブロックとの内積をとることより成る。部分相関結果は、メモリに累積される。部分相関結果を累算することにより、プロセッサは、全畳み込みまでの多数の相関ポイントに対して完全な相関結果を発生する。
【0013】
相関処理を向上させるために、本発明の付加的な実施形態は、相関履歴モードを使用して相関装置を動作する。この実施形態では、RAMを使用して、相関履歴を形成する規定の周期にわたり相関結果を記憶する。相関履歴モードは、部分相関処理を実行する前に1つ以上の衛星に対するナビゲーションデータビットのドップラー周波数エラー及びタイミングを分析するように調整できる受信機パラメータを推定するのに使用される。この推定される受信機パラメータは、受信機の発振器の周波数及び/又は受信機のタイミングエラーを含む。
【0014】
本発明は、添付図面を参照した以下の詳細な説明から容易に理解できよう。
【詳細な説明】
【0015】
図1は、本発明によるグローバルポジショニングシステム(GPS)受信機100のブロック図である。本発明によるプラットホームとしてGPS受信機を使用することで、本発明の1つの用途が形成される。信号相関を必要とする他のプラットホームも、本発明を利用することができる。
【0016】
信号(例えば、GPS信号)は、アンテナ101により受信される。高周波/中間周波コンバータ(RF/IFコンバータ)102は、信号をフィルタし、増幅し、且つ周波数シフトし、更に、信号は、アナログ/デジタルコンバータ(A/D)103によりデジタル化される。これらの要素101、102及び103は、従来型GPS受信機に使用された要素と実質的に同様である。
【0017】
A/D103の出力は、デジタルロジックで実施される1組の処理チャンネル1041、1042、・・104n(nは整数)に接続される。各処理チャンネル104nは、特定のGPS衛星からの信号を処理するのに使用される。特定チャンネルの信号は、数値制御発振器(NCO)106により駆動されるチューナ105によって同調される。このチューナ105は、2つの目的を果たす。第1に、RF/IF変換後に残っているIF周波数成分が除去される。第2に、衛星の移動、ユーザの移動及び基準周波数エラーから生じる衛星ドップラー周波数シフトが除去される。チューナからの出力は、同相成分(I)及び直角位相成分(Q)より成る基本帯域信号である。105及び106のステップは、従来型のGPS受信機設計に使用されたものと実質的に同様である。
【0018】
デシメーション回路107は、105の出力を処理する。デシメーション回路107の出力は、入力信号のタイミングに合致するように正確にタイミング合わせされたレートで出力されるI及びQ成分をもつ一連の複素数信号サンプルである。本発明の一実施形態では、デシメーション動作は、到来する全ての信号サンプルを出力サンプルの周期にわたって加算する簡単な前加算器である。数値制御される発振器(NCO)108は、サンプリングプロセスのタイミングをとるのに使用される。例えば、P=2の場合に、コードNCO108は、ドップラーシフトに対して調整された(2xfs)の周波数を発生するようにセットされ、ここで、fsは、f0(GPS信号のC/Aコードチップレート)である。NCOは、ファームウェアコマンドからの外部入力に基づいてドップラーシフトを調整する。ドップラーシフトは衛星ごとに異なるので、チャンネル104nごとに個別のコードNCO108及びデシメーション回路107が必要となる。コードNCO108は任意の周波数を発生できるので、到来サンプルレートがfsの整数倍である必要はないことに注意されたい。デシメーション回路107が前加算器である場合には、加算されるサンプルの数が、通常、2つの値の間で切り換えられ、長時間にわたって正しいサンプルタイミングが維持されるようにする。例えば、到来サンプルレートが10MHzであり、希望のサンプルレートが2.046MHzである場合には、前加算器は、4又は5のいずれかのサンプルを加算し、希望のサンプルレートが平均で維持されるようにする。
【0019】
また、デシメーション回路107は、更なる処理の前に信号成分におけるビットの数を減少するために、その出力に量子化装置(図示せず)を含んでもよい。本発明の一実施形態では、2ビットの量子化が使用される。
【0020】
デシメーション回路107からの信号サンプルは、畳み込みプロセッサ109に接続される。この畳み込みプロセッサ109により発生された結果は、信号ランダムアクセスメモリ(RAM)110a及び110bに記憶される。
【0021】
より詳細には、これらのRAM110a及び110bは、入力信号と基準PNコード(例えば、GPS C/Aコード)との間の全畳み込みの一部分又は全部を構成する複素数ベクトルを保持する。畳み込み結果は、信号と基準(PNコード)との間の高い相関に対応するポイントにピークを有する。以下に詳細に述べるように、種々の衛星信号に対するこれらピークの相対的な位置は、最終的に位置情報を計算するのに使用される。
【0022】
畳み込みプロセッサ109及び信号RAM110a、110bは、公称1ミリ秒間隔で繰り返されるGPS信号の多数のエポックに対する畳み込み結果を累算する。例えば、10ミリ秒の信号が処理される場合には、RAM110a、110bの値は、各々1つのエポックにわたって発生された10個の相関結果の和である。個々の相関は、全て、同様の特性をもたねばならない。というのは、デシメーション動作のタイミングが、各エポック内の同じ相対的瞬間にサンプルを取り出すよう確保するからである。個々の相関からの同様の結果を累算することで、信号対雑音比が改善され、弱い信号を検出するための受信機の能力が向上される。この処理は、コヒレントな積分と称され、以下に述べるように、これを大きさ積分と結合して、数秒までの時間周期にわたって平均化された相関結果を得ることができる。
【0023】
コヒレントな積分が実行される時間間隔の長さは、未補償のドップラーシフト、GPS信号ナビゲーションデータビット、及び受信機100の移動により誘起される位相シフトを含む多数のファクタによって制限される。これらのファクタは、低速であるが見掛け上ランダムな位相変化を信号に導入する。数十ミリ秒にわたり、これらの位相変化は、コヒレントな積分の目的を阻止する破壊的干渉を生じさせる。それ故、長い平均化間隔を得るために、受信機100は、大きさ累算の第2のステップを実行する。より詳細には、信号RAM110a及び110bに記憶された信号は、複素数正規化装置111へ周期的に出力され、この正規化装置は、複素数畳み込みベクトルの複素数大きさ値を発生する。この複素数大きさ値は、加算器112により累算されて、大きさRAM113に記憶される。信号の複素数大きさが計算されるたびに、信号RAM110a及び110bをクリアして、別のコヒレントな積分を実行できるようにする。このプロセスは、希望の回数の大きさ累算が完了するまで続けられる。例えば、コヒレントな平均化間隔が10ミリ秒で、200回の大きさ累算を希望する場合には、全プロセスはが秒にわたって実行される。
【0024】
畳み込みプロセスの後に、大きさRAM113は、信号対雑音比を改善するために積分された畳み込み結果の複素数大きさを有するベクトルを含む。以下に述べるように、このベクトルは、CPU114により実行されるソフトウェアアルゴリズムにより更に処理されて、受信機の位置を生じるのに使用される擬似レンジデータを発生する。これらのステップに対するCPU計算負荷は、従来型のGPS受信機又はFFTベースの相関装置に比してかなり控え目であることに注意されたい。この実施形態では、相関及び積分の計算上過酷なタスクは、ソフトウェア処理の前に計算される。
【0025】
図2は、図1の要素により発生される波形201I、201Q及び202を示している。これらの波形201I、201Q及び202は、信号強度(軸208)対コードチップ(軸210)のプロットである。これらの波形は、コヒレントな積分及び大きさ積分中の畳み込みプロセッサ109の出力を示す。明瞭化のために、各々3つのコヒレントな積分に基づく3つの大きさ累算で構成される9ミリ秒の信号処理時間のみ示されている。この例では、P=2であり、従って、コヒレントな積分当たり2046個の信号サンプルが存在する。波形201I及び201Qは、畳み込みプロセッサ109からの出力であり、ここで、201Iは、出力のI成分であり、そして201Qは、Q成分である。2046個のサンプルの各ブロックは、その時間間隔中に処理された2046個の信号サンプルから畳み込みプロセッサ109によりリアルタイムで発生された全畳み込み結果である。この畳み込み結果は、信号の時間遅延に対応する信号ピーク(参照番号206I及び206Qで示すような)の付近を除いてノイズを含む。信号は、エポックごとに繰り返され、従って、2046個のサンプルごとにピークが再び現われる。最初の3つのサイクルにわたり、各エポックからの対応遅延において値を加算することにより相関結果がRAM110a及び110bに累積される。(例えば、出力時間4における値は、出力時間2050及び4096における値と加算される。)相関ピークは、常に、同じ遅延オフセットで現われ、ピークのサイズは、累算にわたって増加し、3つのエポックにわたってほぼ3倍になる。ノイズのレベルも増加するが、ノイズの相関はエポックごとに非相関であるために3の平方根で上昇するに過ぎない。信号対雑音比は、累算プロセスにわたって改善され、ほぼ3の平方根で増加する。波形201Qは、直角位相チャンネルに生じる同じ信号累算プロセスを示す。
【0026】
信号の第4サイクルで始めて、信号RAM110a及び110bがゼロにクリアされると共に、信号累算プロセスが再開される。波形201I及び201Qは、相関が9個の信号エポックにわたって3回累積及び減衰することを示す。
【0027】
コヒレントな平均化間隔の終りに、累積された信号の大きさが計算されて、大きさRAM113へ加算される。大きさRAM113の信号が波形202として示されている。この例では、波形202は、各コヒレントな積分の完了に対応して3回更新される。ピークは、参照番号2121、2122、2123で示されており、ノイズは、参照番号214で示されている。明らかなように、信号対雑音比は、各大きさ累積と共に増加され、到着時間に対応するピークを識別するシステムの能力を更に向上させる。
【0028】
この例では、信号の複素数位相は、9個のエポックにわたって変化することに注意されたい。より詳細には、信号は、最初、I及びQチャンネルの両方に存在するが、最終的なエポックまでに、Iチャンネルにおいて強力で且つQチャンネルにおいてほぼ存在しないように回転する。上述したように、不完全なドップラーシフト同調及び他の作用によりこの回転が生じる。多数のエポックにわたり、位相が多数のサイクルを経て回転し、累積されたときに信号の打消しを生じさせる。このため、本発明の受信機は、短い間隔にわたってのみコヒレントに累積を行い、長時間平均化については大きさ(非コヒレントな)累積に依存する。大きさの値は、位相とは独立しており、数秒にわたって首尾良く積分される。
【0029】
図3は、累積された大きさ波形202を詳細に示す。プロット300は、信号の時間遅延に対応するピーク2123の付近に畳み込みの大きさを示す。コードチップ軸210上のポイントは、C/Aコードチップ長さをPで除算したものに等しい間隔で離間され、ここで、Pは、信号サンプリングレートと、f0即ちC/Aコードチップレートとの比である。この例では、P=2であり、従って、ポイントは、半チップ間隔、即ちほぼ500nsで離間される。(この時間間隔は、150メーターのレンジ差に対応する。)約10メーターより優れた擬似レンジ測定を達成するために、畳み込み結果が通常CPU114において更に処理されて、位置情報を発生する。畳み込みプロセスにより与えられる個別の相関値を使用して真の時間遅延を推定するために、多数の補間技術を使用することができる。一実施形態では、最小2乗推定技術を使用して、ノイズ性の測定データに最良に適合する信号のパラメータが識別される。信号の理想的な応答は、信号の自己相関の大きさである。この波形は、立ち上がった三角形302の形状をもつように容易に示すことができる。三角形の底の巾303は、厳密に、2C/Aコードチップであるか又は畳み込み結果の4つのポイントである(P=2の場合)。三角形の底の高さ304は、信号に対応しない時間遅延に対する畳み込みにおけるノイズの大きさである。このノイズの大きさは、データから推定することもできるし、或いは増幅器のノイズ指数、ケーブル及びフィルタロス、並びにシステム温度のような設計パラメータに基づいて予め計算することもできる。三角形のピーク305及び三角形の中心306は、信号の大きさ及び時間遅延に対応して未知である。最小2乗方法を使用して、これらの2つのパラメータを推定し、ノイズ性データポイントを、所与のピーク及び中心をもつ三角形に適合させることができる。図4は、畳み込みプロセッサ109(及び畳み込み結果処理回路400)の詳細なブロック図であり、特に、小さな回路ブロックの繰返し使用により全畳み込みがいかに発生されるかを詳細に示す。図4と、図4のプロセッサ109の動作を示す図5のフローチャートとを同時に参照すると共に、図6及び図7の簡単な例を比較することにより、回路の動作が最も良く理解できよう。
【0030】
デシメーション回路107からの信号は、I及びQ成分を各々取り扱うシフトレジスタ401a及び401bに接続される。各シフトレジスタ401a及び401bは、長さがPxKであり、但し、Pは、C/Aコードチップ当りの希望のサンプル数であり、Kは、設計パラメータとして選択される。以下に述べるように、Kは、1023の因数である。説明を簡略化するため、以下の説明は、P=2(サンプルが半チップだけ離間される)及びK=33である1つの特定の実施形態に焦点を合わせる。シフトレジスタを経て信号を進めるこの手段は、回路が信号を二重にバッファする必要性を排除し、コスト及び実施の複雑さを低減させる。
【0031】
信号は、コードNCO108によりタイミング合わせされて、2f0のレートでシフトレジスタ401a及び401bを経て前進する。信号は、一連の部分相関演算を行えるように、多数のクロックサイクル中にシフトレジスタに位置保持される。特に、全部でM個の部分相関が実行され、但し、この例では、M=1023/K即ち31である。各部分相関は、各信号シフトレジスタの内容と、PxK(例えば、66)個のコードサンプルを含むコードのセグメントとの間で行われる高速ベクトル乗算及び加算演算より成る。高速ベクトル乗算及び加算は、回路402a及び402bにおいて行われる。回路402a及び402bは、各々、乗算器410a及び410bと、加算器412a及び412bとを含む。その演算は、信号レジスタ401a又は401bにおける66個の信号サンプルの各々に66個のコードサンプル(33個のコードサンプルをコードエクステンダー409で拡張することにより形成された)を乗算し、次いで、その結果を加算器412a及び412bにおいて加算することより成る。この演算は、I及びQチャンネルにおいて別々に且つ同時に行われる。数学的には、この演算は、内積と称され、次のように定義される。
【数1】
ベクトル乗算及び加算の出力は、数字を小さな範囲に保持してRAM404a及び404bのオーバーフローを回避するために再量子化することができる。簡単化のために、量子化装置は図示されていない。一実施形態では、再量子化は、2ビットの分解能までである。
【0032】
ベクトル乗算及び加算の結果は、加算器403a及び403bにより累算されて、畳み込み結果処理回路400により処理される。回路400は、信号RAM110a、110bと、複素数正規化装置111と、加算器112と、大きさRAM113とを備えている。信号RAM111a及び404bに記憶される。累算プロセスは、RAM110a及び110bから特定時間遅延の現在値を読み取り、丁度計算された部分相関を加算し、その和をRAM110a及び110bに書き戻すことより成る。特定の時間遅延に対応する部分相関を適切に結合することにより、その遅延に対する全相関が計算される。上述したように、このプロセスは、信号対雑音比を向上させるために、希望する数の信号エポックに対して続けられる。従って、加算器403a及び403bは、2つの目的、即ち1つのエポック内の部分相関の結合と、多数のエポックにわたる相関の累算とを果たす。
【0033】
信号RAM110a及び110bからの出力は、複素数正規化装置405において合成されて、信号の大きさを形成する。これらのRAM110a及び110bにおけるI及びQ波形は、複素数波形の実数部分及び虚数部分として見ることができる。大きさを形成することは、各成分を2乗し、その結果を加算し、その結果の平方根をとることより成る。大きさに対する近似であって、回路を簡単化するために使用できる近似は、多数ある。一実施形態では、I及びQのスカラーの大きさを別々にとり、どちらが大きいか決定することにより、複素数の大きさが近似される。大きさが大きい方をとり、それを小さい方の大きさの半分に加算することにより、大きさを近似することができる。
【0034】
大きさ演算の結果は、その値を小さな範囲に保持してRAM113のオーバーフローを回避するようにスケーリングされる。簡単化のため、スケーリング装置は図示されていない。一実施形態では、スケーリングは、結果を3ビットシフトする(即ち、8で除算する)ことより成る。
【0035】
また、信号の大きさではなく、信号の電力を累算することもできる。この場合には、405における演算は、電力の推定であり、通常、I及びQの平方の和をとることにより計算される。この場合に、図3を参照して説明した擬似レンジ決定アルゴリズムは、大きさ波形ではなく電力波形に対して適合を行うように若干変更されねばならない。或いはまた、I及びQの大きさ又は電力を表わす値を発生するのに、付加的な非直線的演算を使用することもできる。
【0036】
複素数正規化装置111からの出力は、加算器112により大きさRAM113へと累算される。この累算プロセスは、特定時間遅延の現在大きさ値をRAM113から読み取り、丁度計算された大きさ結果を加算し、その和をRAM113へ書き戻すことより成る。上述したように、大きさの累算は、信号対雑音比の向上を達成するために必要なサイクル数だけ続けられる。
【0037】
ベクトル乗算器402a及び402bは、信号のシフトごとにM回の部分相関を実行する。コードルックアップ回路408は、部分相関ごとに基準コードサンプルを発生する。ルックアップは、2つのルックアップインデックスにより制御される。第1に、コードは、1・オブ・32コードから選択しなければならない。この選択は、畳み込みプロセスを通して一定であり、処理チャンネルが特定の衛星信号に対して相関するように構成されたときに確立される。第2のインデックスは、1とMとの間のセグメントインデックスである。各C/Aコードは、1023個のチップより成り、これらは、各々K個の隣接コードチップより成るM個の非重畳セグメントに分割される。ルックアップインデックスは、どのコードセグメントが必要であるか識別する。コードルックアップ回路からの出力は、セグメントを構成するK個のチップである。選択プロセスは、制御/アドレスロジック414により制御される。
【0038】
コードエクステンダー409は、セグメントのK個のチップを入力として取り上げ、そのセグメントをKxPコードサンプルへと拡張する。この拡張動作は、各コードチップをP個の同じコードサンプルへと変換することより成る。コードエクステンダー409からの出力は、ベクトル乗算器402a−bへの基準コード入力を形成する。この例では、コードエクステンダーからの出力は、33個の独特の値を各々2回複写することで作られた66個のサンプルである。
【0039】
図4に示すアーキテクチャーは、C/Aコードレートf0より実質的に高速なクロックを必要とする。例えば、C/Aコードチップ当たり2つのサンプルが使用され(P=2)、K及びMが各々33及び31である場合に、全畳み込みを達成するには、2xf0のレートで進行する信号シフトレジスタのシフトごとに31回の部分相関を実行することが必要である。通常、RAM110a及び110bを読み取り及び書き込むには、少なくとも2つのクロックサイクルが必要である。2つのクロックサイクルを仮定すると、全畳み込みを達成するのに必要な最小クロックレートは、次のようになる。
【数2】
このレートは、近代的な集積回路ロジックでは容易に達成できる。
【0040】
本発明は、全畳み込みのサブセットを計算するのにも使用できることに注意されたい。この場合に、信号シフトレジスタのシフトごとに、Mより少数の部分相関が実行される。この場合に、遅延の全範囲は、全畳み込みを形成するPx1023より少ない。特に、M2回の部分相関が実行される場合には、M2xKxPの遅延値が発生される。プロセッサに対するクロックレートは、M2とMの比で減少される。更に、RAMのサイズもこの比で減少される。従って、この変形態様は、全畳み込みを処理する計算又はメモリリソースをもたないシステムにおいて有用である。
【0041】
K及びMの結果に対する他の選択は、更に別の設計上の妥協を許すが、1023の主要因数は、3、11及び31であるから、K及びMの選択には限度がある。Kを減少することは、シフトレジスタ401a及び401bのサイズと、ベクトル乗算器402a及び402bの複雑さとを低減するので、望ましいが、大きなMを必要とし、ひいては、高いクロックレートを必要とする。Kに対する選択は、3、11、31、33及び93である。これらの選択は、1.39GHz、380MHz、135MHz、127MHz及び45MHzのクロックレートを各々必要とする(常に、P=2、及び部分相関当たり2個のクロックサイクルを仮定する)。立証時に利用できる技術に基づき、K=33という選択が1つの実施形態としてなされた。将来の技術では、K=11の選択と、380MHzのクロックレートとが重要となり、ロジックの複雑さを更に低減することになろう。従って、このアークテクチャーは、速度とロジックの複雑さとの間の最適な妥協をサポートする希望の属性を有する。
【0042】
コードセグメントのシーケンスは、制御ロジック414により制御される。この制御ロジックは、RAM110a、110b及び113に対する正しいアドレスも識別する。以下に述べるように、部分相関は、非連続的順序で発生され、従って、RAMアドレスの発生は、些細なことではない。
【0043】
図4の回路の動作は、図5のフローチャートを参照することによっても理解できる。動作は、ステップ501において、信号シフトレジスタ401a及び401bを前ロードすることで始まる。この点において、畳み込みプロセスを開始することができる。ステップ502では、特定の部分相関に対してコードセグメントがアクセスされる。ステップ503では、コードセグメントが、コードエクステンダーにより、C/Aチップ当たりP個のサンプルをもつように拡張される。次いで、ステップ504では、遅延インデックス及びそれに対応するRAMアドレスが計算される。遅延インデックスは、全畳み込みのどのポイントが部分相関により更新されるか指示する。図7を参照して説明する例から明らかなように、遅延インデックスは、非直線的であるが決定的な仕方でジャンプする。アドレスの計算は、信号シフトの回数及びコードセグメントに基づく。
【0044】
ステップ505では、ベクトル乗算器402a及び402bを使用して部分相関が計算される。ステップ506では、その結果が、遅延インデックスで指示された信号RAMの位置に累積される。次いで、ステップ507では、処理がコヒレントな積分間隔の終りに到達したかどうか決定するためのチェックが行われる。もしそうでなければ、ステップ502aへ戻り、次のコードセグメントに対して上記ステップを繰り返す。
【0045】
ステップ507において、全てのコードセグメントに対して部分相関(例えば、31個の部分相関)が完了したことがチェックで指示された場合には、ステップ508へ進む。ステップ508では、信号レジスタ401a及び401bが1サンプルだけシフトされる。
【0046】
次いで、プロセスは、ステップ509へ進み、そこで、最後のシフトがコヒレントな積分間隔の終りに遭遇したかどうか調べるチェックが実行される。もしそうでなければ、プロセスはステップ502のスタートへ戻る。コヒレントな積分間隔の終りであることがチェックで指示された場合には、ステップ510へと続き、そこで、複素数正規化装置111により信号の大きさが計算される。その結果が加算器112を使用して加算され、大きさRAM113に記憶される。次いで、ステップ511において、全ての大きさ累算が実行されたかどうか決定するためのチェックが行われる。もしそうであれば、ステップ512において完了となる。もしそうでなければ、ステップ501において次の部分相関を実行することにより処理が継続される。
【0047】
図6及び図7は、本発明で部分相関をいかに使用して全畳み込みの結果を累算するかを簡単な例により示している。明瞭化のため、これらの図は、GPS信号の長さ1023のC/Aコードではなくて、非常に短い長さ6のコードの畳み込みを示している。更に簡単な例とするために、コードチップ当たり1つのサンプルが使用され、即ちP=1である。図6は、標準的な整合フィルタリング解決策による畳み込みを示し、一方、図7は、部分相関を結合する方法による同じ畳み込みを示す。図7の細部は、本発明の全体的な動作を理解する上で有用である。両方法とも、同じ畳み込み結果を発生する。
【0048】
図6は、長さ6の信号に対する従来の整合フィルタの動作を示す。シフト0と示された時点で動作が開始する。この時点で、信号の全サイクルを構成する6個の連続する信号サンプルが信号シフトレジスタ601にある。個々のサンプルは、大文字のインデックスA、B、C、D、E及びFで示されている。全長さ6のコードのコードサンプルが基準レジスタ602に保持され、小文字のインデックスa、b、c、d、e及びfで示されている。シフト0の時間にはベクトル乗算及び加算が実行されて、シフト0に対する相関結果を発生する。各信号サンプルは、それに対応するコードサンプルで乗算され、その結果が加算されて、相関結果603を生じる。
【0049】
次いで、信号シフトレジスタ604は、シフト1に示されたように、1サンプルだけ進められる。信号は周期的であり、従って、レジスタの左側に導入される新たなサンプルは、右へシフトして出されたものと同じである。レジスタ604のシフトされた内容は、ここでは、インデックスF、A、B、C、D及びEをもつサンプルとなる。コードは、シフトされない。ベクトル乗算及び加算は、ここでは、シフト1に対する相関結果605を発生する。このシフトプロセスが5つの付加的なシフトに対して続けられ、その点において、全畳み込みを形成する全部で6個の相関結果が得られる。
【0050】
図7は、部分相関方法により同じ畳み込み結果がいかに得られるかを示す。上述したように、本発明は、コードを長さKのM個のセグメントに因数分解することを必要とする。図7の簡単な例では、長さ6のコードが、長さ2の3個のセグメントに因数分解され、即ちK=2及びM=3である。シフト0で示された時点に動作が始まる。この時点では、2つの信号サンプルが信号シフトレジスタ701に保持される。これらの信号サンプルは、大文字のインデックスA及びBで示される。コードの6個のサンプルは、各々長さ2の3個のセグメントに含まれる。第1のコードセグメント702は、小文字のインデックスa及びbで示された2つのコードサンプルを含む。この信号は、3回の部分相関動作に対して位置保持され、部分相関結果703a、703b及び703cを生じる。第1の部分相関結果は、信号レジスタの内容と、第1コードセグメント(セグメント1)との間のベクトル乗算及び加算により形成される。第2及び第3の結果は、信号レジスタと第2及び第3のコードセグメント各々とのベクトル乗算により形成される。信号レジスタは、全ての3ベクトル乗算を実行するに充分な時間、位置保持されると共に、この時間中にはコードがシフトされず、むしろ、異なるコードセグメントが選択されることに注意されたい。
【0051】
部分相関結果は、信号経路705に基づいてメモリへ累積される。例えば、シフト0では、第1コードセグメントからの部分相関が相関結果704に加算される。第2セグメントからの部分相関は、シフト2に対して相関結果706に加算される。第3セグメントからの部分相関は、シフト4に対する相関結果708に貢献する。
【0052】
3つの部分相関の後に、信号がシフトされる。この段階では、シフト1として示すように、信号レジスタは、サンプルF及びAを含む。この場合にも、3つの部分相関が、以前と同じ3つのコードセグメントと共に発生される。これら部分相関からの結果は、シフト1、3及び5に対して各々相関結果710、712、714に貢献する。このプロセスは、4つの付加的な信号シフトに対して続けられ、そのとき、全畳み込み結果が得られる。明らかなように、この動作は、畳み込みを構成する6個の全結果に貢献する全部で18個の部分相関を発生することを必要とする。
【0053】
図7により述べたアーキテクチャーは、本発明の2つの重要な特徴を示している。第1に、長さ2のシフトレジスタ及びベクトル乗算・加算ユニットしか使用せずに、長さ6のコードに対する全畳み込みが発生されることが明らかである。これは、回路素子が長さ6である図6の回路未満のものしか必要としない。第2に、図7では、コードサンプルが、シフトごとに同じである固定セグメントにおいてアクセスされ、更に、各セグメントがコードの個別の非重畳区分である。従って、図8及び9を参照して以下に詳細に述べるように、簡単なルックアップ又はレジスタ機構を使用して、ベクトル乗算器にコードを供給することができる。これらの機構は、例えば、より複雑な1組の順列でコードビットの大きなブロックを使用できるようにしなければならない他のアーキテクチャーより回路を必要としない。また、本発明は、コード発生回路を設ける必要性も排除する。
【0054】
図8は、本発明に適したコードルックアップ回路408の一実施形態を示すブロック図である。テーブル801は、32個の各コードの全1023ビットに対する記憶値を、例えば、リードオンリメモリ(ROM)又は固定布線ロジックに含んでいる。テーブル801は、各コードに対して1つづつ、32個のサブテーブルとして編成される。更に、各サブテーブルは、長さKのM個のセグメントとして編成され、但し、KxM=1023であり且つK及びMは、上述したように選択される。マルチプレクサ802は、選択値に基づいて特定のコードを選択する。マルチプレクサ801の出力は、希望の特定のサブテーブルである。マルチプレクサ803は、1とMとの間のセグメント選択値に基づいて特定のセグメントを選択する。803の出力は、長さKの特定のコードセグメント804であり、これは、コードエクステンダー409に供給されるコードビットを含む。
【0055】
マルチプレクサ803は、部分相関ごとに即ち2つのクロックサイクルごとにコードセグメントを変更できる高速のものでなければならないことに注意されたい。このため、全てのコードビットを、従来のコードジェネレータのようにオンザフライで発生するのではなく、テーブル801に予め記憶しておく必要がある。
【0056】
図8の回路は、例示のためのものである。実際には、機能的に同等の多数の異なる回路設計がある。特に、近代的なASIC設計に使用される論理合成のプロセスは、上述したものと同等の振舞いを達成するが、必ずしも上述したようにマルチプレクサを使用しないあるゲートパターンを導く。
【0057】
図9は、本発明に適したコードルックアップ回路408の別の実施形態のブロック図である。特定コードに対応する1023個のコードビットが、長さKのM行として編成された1023個の両方向シフトレジスタ901に保持される。これらシフトレジスタは、2つのモード、即ちランニングモード及びロードモードで動作する。
【0058】
ランニングモードでは、各レジスタ901は、次の行にあるその上のレジスタへサンプルをシフトするように構成されるが、最も上の行のレジスタは、最も下の行のレジスタへシフトする。ランニングモードに対するシフト方向は、901内に実線の矢印で指示されている。全てのレジスタをクロックすることにより、コードビットの行が循環し、いつでも、最上位の行が、長さKのM個のコードセグメントの1つを含むことになる。この最上位の行のビットは、コードエクステンダー409へ供給される。これらのレジスタは、迅速に循環し、部分相関ごとに異なるコードセグメントが得られるようにされる。
【0059】
ロードモードでは、各レジスタは、その行の次のレジスタへサンプルをシフトするように構成されるが、レジスタの最後の列は、その上の行のレジスタの最初の列へシフトする。ロードモードに対するシフト方向は、901内に点線矢印で示されている。左下のシフトレジスタ904は、コードジェネレータ902に接続される。このコードジェネレータは、選択値に基づいて特定コードの1023個のコードビットを順次発生することのできる慣習的なコードジェネレータである。コードルックアップ回路が特定の形態で構成されると、レジスタがロードモードに入れられ、ジェネレータを使用してコードのビットが発生され、これらのビットがレジスタを通してクロックする。全てのビットがクロックされた後に、コードは、長さKのM個のセグメントとしてレジスタに存在する。次いで、回路は、ランニングモードで使用する準備ができる。
【0060】
図10は、GPS受信機1000の別の実施形態を示すブロック図である。この受信機1000は、相関履歴モード及び標準相関モードで動作する複数の処理チャンネル104を備えている。標準相関モードの機能は、図1−9を参照して上述した。相関履歴モードにおける受信機1000の各要素の動作は、信号RAM110a、110b及び大きさ/履歴RAM1002までの全てのブロックについては標準モードと実質的に同じである。更に、本発明の方法の説明を助けるために、CPU114は、図10では、従来のように、メモリ1010及びサポート回路1012によりサポートされて示されている。サポート回路1012は、クロック、バス、キャッシュ、電源、I/O回路等の良く知られたサポート回路である。メモリ1010は、ソフトウェア1014を記憶するためのコンピュータ読み取り可能な媒体を形成し、このソフトウェアは、CPU114で実行されたときに、受信機1000を、以下に述べる方法に基づいて動作させる。CPU114、メモリ及びサポート回路を組み合わせることで、処理ユニット1016が形成される。
【0061】
畳み込みプロセッサ109の標準動作の場合と同様に、信号RAM110a、110bを使用して、全ての相関遅延に対するコヒレントな平均化間隔にわたり部分相関結果を累算して、全畳み込みを構成する。相関履歴モードは、相関ピーク付近の遅延に対応する結果の小さなサブセットのみを使用する。相関履歴モードでは、プログラミングパラメータが少数の当該遅延を確立する。これらの遅延に対して、全てのコヒレントな平均結果の完全な履歴が大きさ/履歴RAM1002に記憶される。相関履歴モード中に畳み込みプロセッサでは大きさ累算が実行されない。むしろ、このモードでは、RAM1002は、相関履歴モード中には相関履歴を記憶するためのメモリ(履歴メモリ)として、更に、畳み込みプロセッサ109の標準動作中には大きさを記憶するためのメモリ(大きさメモリ)として使用される。いかに多くの連続するコヒレントな累算結果をRAM1002に記憶するかは、別のプログラミングパラメータで定義される。畳み込みプロセッサ109は、遅延及びエポックにより指示される結果の二次元テーブルで大きさ/履歴RAMを満たす(図11を参照)。記憶できるエポックの数は、RAMサイズと、選択される遅延の数とでセットされる。例えば、RAMが2048ワードのサイズであれば、単一遅延の場合に2048サイクルを記憶し、2つの遅延の場合に1024サイクルを記憶し、4つの遅延の場合に512サイクルを記憶し、等々となるようにメモリを使用することができる。12ビットのワード巾は、コヒレントな平均結果のI及びQ部分を6ビットの分解能で個々に記憶できるようにする。
【0062】
図12は、典型的な相関履歴のグラフ例1200を示す。上部及び下部グラフ1202及び1204は、I成分及びQ成分の波形を各々示す。グラフの各ポイントは、単一のコヒレントな積分を表わす。この例では、コヒレントな積分間隔が1エポックにセットされ、従って、各ポイントは、公称1ミリ秒の積分を表わす。
【0063】
図12の波形は、相関後の信号の2つの特徴を表わす。第1に、I及びQチャンネルを横切って信号を回転させる残留ドップラー周波数が存在する。第2に、時々180°の位相遷移を生じさせるナビゲーションデータビットが存在する。遷移間の最小間隔は、120エポック、即ちデータビット周期である。相関履歴のスタートに対するデータビットのタイミングも、波形から明らかである。
【0064】
相関履歴モードは、衛星信号ドップラー及び/又はナビゲーションビットタイミングを決定して、発振周波数及び受信機クロックタイミングのような幾つかの受信機パラメータを推定するために呼び出される。最初に、このモードは、残留ドップラーと、相関履歴のスタートに対するナビゲーションデータビットのタイミングとを推定するためにソフトウェアアルゴリズムにより使用されるデータを与える。その後、必要に応じて、このモードは、ナビゲーションデータビットの値をデコードするための履歴を与えるのにも使用される。
【0065】
特に、ソフトウェアアルゴリズムは、1つ以上の衛星に対してドップラー及びビットタイミングを決定して、GPS受信機自身の発振周波数及び/又は内部クロックタイミングの推定値を発生又は更新する。より詳細には、発振周波数及びクロックタイミング推定値を使用して、図10の搬送波及びコードNCO106及び108を「修正」すると共に、畳み込みプロセッサ109のタイミングを調整することにより、更に正確な相関が実行される。特に、受信機の発振周波数の改善された推定は、相関プロセッサ109を、NCO105により更に正確に同調できるようにし、優れた信号検出を与えると共に、より長いコヒレントな積分間隔を使用できるようにする。更に、受信機のクロックタイミングの改善された推定を使用して、畳み込みプロセッサ109のスタート時間を制御し、各衛星のナビゲーションデータビットタイミングと同期したコヒレントな積分を実行し、信号検出を改善することができる。
【0066】
公知技術(例えば、2001年3月27日付の米国特許第6,208,291号に開示された)では、レジスタバンクを使用し、衛星信号のPNエポック及び搬送波を追跡する追跡プロセスに対して相関装置の出力を記憶する。追跡プロセスでは、高い信号対雑音比が必要とされる。公知技術とは異なり、本発明の相関履歴モードは、単に特定の衛星信号を追跡する目的でデータをバッファするものではない。むしろ、相関履歴モードは、視野内の全衛星の検出を助ける受信機パラメータを推定するのに使用される。更に、相関履歴モードは、従来の追跡プロセスのスレッシュホールドより下がる非常に低い信号対雑音比でも衛星信号情報を抽出するソフトウェア推定アルゴリズムに関連して動作する。多数の衛星からの信号を処理する相関履歴モードは、受信機パラメータ推定の性能を向上させるのに使用されるが、このような付加的な信号は、本発明を実施するのに必要でない。
【0067】
相関結果の履歴からビットタイミング及び周波数を推定するのに使用できるアルゴリズムは多数存在する。その一実施形態が図13のブロック図に示されている。この実施形態では、プロセス1300は、特定の機能を遂行する一連のステップを実行するソフトウェアプログラムにおいて実施される。プロセス1300は、特定周波数及びビットタイミングの仮説において信号の大きさの推定値(大きさ推定値)を決定するように実行され、この推定値は、考えられる周波数及びビットタイミングの範囲にわたって最適化される。各仮説に対し、周波数変調の共役に対応する複素数の周波数項での乗算を実行することにより、I及びQ相関履歴が最初に位相修正される(ステップ1302)。次いで、ステップ1304において、ナビゲーションビット周期にまで及ぶコヒレントな積分周期にわたって信号が積分される。例えば、相関履歴が、1エポック離間されたサンプルで構成される場合には、I及びQ履歴の20個の連続サンプルが加算されて、ナビゲーションデータビットに対する信号大きさの推定値が形成される。各ビット加算の終りに、ステップ1306において、大きさ計算動作が実行されて、電力値が形成される。次々の大きさ計算からの結果がステップ1308において更に加算されて、信号対雑音比を改善する。例えば、1秒のデータは、50個のビット周期を与え、これらを加算して、加算に使用されたビット周期に対する積分電力を形成することができる。より一般的には、信号レベル、例えば、信号の大きさ又は信号の電力を決定するように計算を実行することができる。ここに述べる本発明の実施形態は、信号の大きさを使用するが、当業者であれば、信号の電力や信号レベルの他の尺度を使用しても本発明を実施できることが明らかであろう。
【0068】
ある範囲の考えられる周波数及びビットタイミング値にわたって電力推定値が収集される。それらの結果は、図14に示すように、二次元格子1400において見ることができる。一方の軸1402は、仮定した周波数エラーであり、この場合には、−40から80Hzまで変化する。他方の軸1404は、ビットタイミング仮説であり、0から19エポックまで変化する。この値は、ビットタイミングと、受信機クロックに基づいて特定の時間に取り出された相関履歴の開始との間に仮定されるオフセットを表わす。格子の各点における垂直軸1406は、ドップラー及びタイミング仮説に対応する相関した信号の大きさである。周波数及びタイミングの最良の推定値は、格子の最大点1408に対応する。これは、コヒレントな平均化間隔がデータビットと不整列である場合に生じ得る信号対雑音比(SNR)ロスを最小にする。
【0069】
図15は、周波数軸1402に沿った図14の断面のグラフ1500である。明らかなように、応答は、正しい周波数においてピーク(ポイント1502)となる。同様に、図16は、ビットタイミング仮説軸1404に沿った図14の断面のグラフ1600である。この場合も、正しいビットタイミングに対応する三角形の頂点(ポイント1602)に最大の大きさが見られる。
【0070】
周波数及びビットタイミングにおけるポイントの配置は、周波数及びビットタイミングにおける初期の不確実性と、意図される推定精度とに基づく。通常、GPS時間に対する受信機のタイミングは未知であるから、全部で20のビットタイミング仮説がチェックされる。
【0071】
ここに述べるプロセスは、最大値をサーチすることのできるポイントの二次元セットを与えることに注意されたい。最大値に到達する方法は、他にもある。例えば、周波数のコース推定を任意のビットタイミングで行って、表面のピークに接近した周波数を得ることもできる。任意のビットタイミングを使用する場合には、コヒレントな平均化間隔をビット周期と非同期にセットするのが好都合であり、例えば、19エポックのコヒレントな平均化間隔が好都合である。任意のビットタイミングでの分析に続いて、全てのビットタイミング(及び好ましくは20エポックのコヒレントな平均化間隔)でその周波数における応答を推定して、ビットタイミングを推定できるようにする。必要に応じて、その後に、付加的な周波数推定を行うことができる。これは、図14の二次元表面を横切って最大値をサーチするのに使用できる良く知られた数学的技術の多数の例の1つである。テストされて有益であると分かっている別の方法は、ケンブリッジ・ユニバーシティ・プレスの「Numerical Recipes in C」に掲載されたダウンヒル・シンプレックス方法である。
【0072】
別の例では、順次推定アルゴリズムをソフトウェアで実施することができる。このアルゴリズムの各ステップでは、周波数弁別子が周波数エラーの推定を形成する。その後の繰り返しにおいて、周波数エラーが適用され、弁別子は、周波数エラーの別の改善された推定を与える。このプロセスは、残留周波数エラーが小さくなるまで続けられる。追跡ループとは異なり、このアルゴリズムは、NCO106へフィードバックを適用せずに且つ付加的な相関を行わずに、記憶された相関履歴で全体的に動作する。周波数が推定されると、180°位相遷移のタイミングからビット遷移を識別することができる。周波数エラーがほぼ除去されるので、位相遷移が観察し易くなる。
【0073】
図17は、GPS受信機の動作に関連して相関履歴モードを使用する方法1700を示す。最初に、ステップ1702において、相関を標準モードで実行し、ある範囲の遅延にわたって信号を走査すると共に、必要に応じて周波数をサーチする。エネルギーが検出されると、ステップ1704において、1つ以上の衛星からの信号を相関履歴モード処理のために選択する。ステップ1706では、受信機の処理チャンネル又は多数のチャンネルを相関履歴モードに対して再構成し、相関履歴を累算する。通常、相関履歴は、単一の遅延で累算するだけでよい。というのは、最初の信号収集から遅延の推定値が得られるからである。ステップ1708では、上述したように、1つ又は複数の相関履歴を処理し、相関履歴モードで動作される各チャンネルに対して信号周波数及びビットタイミングの推定値を形成する。
【0074】
ステップ1710では、これらの推定値を衛星レンジ及びレンジレートモデルと合成して、受信機の発振周波数及びクロックタイミングモデルを更新するのに使用される情報を決定する。次いで、これらの推定値を、全ての衛星に対する衛星レンジ及びレンジレートモデルと一緒に使用して、視野内の全衛星までの予想ビットタイミング及びドップラーを計算すると共に、NCO106及び108に対する改善されたプログラミング値を計算し、更に、畳み込みプロセッサ109のコヒレントな積分スタートタイミングをセットする。次いで、受信機を標準動作モードに切り換え、図1−9を参照して述べたように受信機の視野内の全衛星からの信号を相関させる。ステップ1712では、受信機は、改善された周波数及びクロックタイミング推定値を使用して、GPS信号に対する標準的な相関を実行する。以上のプロセスを必要に応じて繰返し、受信機のパラメータ推定値を完全なものにする。
【0075】
特に、ステップ1710において、特定の衛星に対する相関履歴モードで決定された周波数を、その衛星に対する予想レンジレートと比較し、固定受信機モデルに基づいて、受信機クロックの周波数エラーに貢献し得る差の値を決定することができる。或いはまた、3つ以上の衛星から周波数測定値が得られる場合には、エラーを使用して、受信機のクロック周波数及び受信機の速度も推定することができる。推定された受信機発振周波数を、衛星の予想レンジレートと合成して、NCO106に対する改善された同調周波数を決定し、衛星を検出することができる。
【0076】
更に、ビットタイミング測定値から受信機タイミングエラーの推定値を発生することもできる。信号履歴は、受信機の内部クロックに対する特定の基準時間において捕えられる。一実施形態では、このクロックは、ミリ秒カウンタである。このカウンタのタイミングは、GPS時間に対して一般的に任意である。しかしながら、特定の衛星に対してビットタイミングが推定されると、ミリ秒カウンタとGPS時間との間に時間関係を確立することができる。データビットが全衛星から同期して発せられることを指摘することに関連して、これを説明する。ビットの遷移において、GPS時間のモジュロ20値がゼロである。これら衛星からの信号は、何ミリ秒か後に受信機に到着する。遷移の時間と受信の時間との間の遅延は、受信機の位置、おおよその時間及び衛星の軌道情報の推定値から容易に決定することができる。従って、受信機におけるデータビット遷移の絶対的なタイミングを、GPS時間に関して推定することができる。これらの同じトランザクションのタイミングが受信機のミリ秒クロックに対して測定されると、受信機クロックとGPS時間との間に関係を確立することができる。ナビゲーションデータビットフレームのタイミングではなく、ナビゲーションデータビット遷移しか確立されていないので、これは、絶対的な関係ではないことに注意されたい。むしろ、受信機クロックのモジュロ20ミリ秒値を、GPS時間のモジュロ20ミリ秒値に関連付けることができる。
【0077】
その後のコヒレントな積分間隔を整列するために、受信機は、先ず、GPS時間に対して各衛星のナビゲーションデータビットのタイミングを推定する(擬似レンジに基づいて)。畳み込みプロセッサ109により実行される相関は、受信機のミリ秒クロックに基づいて、ある便利な将来の時間に開始するようにプログラムされる。このスタート時間のモジュロ20ミリ秒値は、コヒレントな積分とデータビットとの整列を確保するためにGPS時間及びナビゲーションデータビットのタイミングに対して選択される。
【0078】
また、相関履歴モードを使用して、ナビゲーションデータビットを収集することもできる。通常、このモードは、ナビゲーションデータビットタイミングが確立された後に呼び出される。相関プロセッサは、20エポックのコヒレントな積分間隔に対し、それら間隔がデータビットと整列されるようにしてプログラムされると共に、相関履歴が記憶される。相関履歴の各ポイントは、全ビット周期にわたる積分の結果である。あるビットから次のビットへの位相遷移の有無が情報データビットを与える。相関履歴は、RAMのサイズまでビットを記憶するように使用できる。より多くのビットが要求される場合には、多数の相関履歴を次々に記憶することができる。
【0079】
本発明の技術を組み込んだ種々の実施形態を図示して詳細に説明したが、当業者であれば、これらの技術を組み込んだ他の変形形態を容易に案出することができよう。
【図面の簡単な説明】
【0080】
【図1】本発明によるGPS受信機のブロック図である。
【図2】本発明により発生される波形の例を示す図である。
【図3】図2の累算された大きさ波形を詳細に示す図である。
【図4】畳み込みプロセッサ及び畳み込み結果処理回路の詳細なブロック図である。
【図5】本発明の動作方法を示すフローチャートである。
【図6】慣習的なやり方で全畳み込みを計算する簡単な例のグラフィック表示である。
【図7】本発明を使用して図6の全畳み込みをいかに実行するかのグラフィック表示である。
【図8】本発明に使用するのに適したコードルックアップ装置の実施形態を示す図である。
【図9】本発明の別の実施形態に使用するのに適した二次元コードシフトレジスタの実施形態を示す図である。
【図10】相関履歴モードで動作することのできる相関装置のブロック図である。
【図11】RAM長さ図である。
【図12】図10の相関装置により処理されるI及びQ信号を示す図である。
【図13】相関履歴モードを使用して信号処理を実行するための方法を示すフローチャートである。
【図14】周波数及びビットタイミング推定対電力推定の三次元グラフである。
【図15】周波数軸に沿って得た図14のグラフの断面である。
【図16】ビットタイミング軸に沿って得た図15のグラフの断面である。
【図17】相関履歴モードを使用する相関プロセスのフローチャートである。
Claims (39)
- 衛星ポジショニング受信機において受信機パラメータを推定する方法であって、
a)少なくとも1つの衛星から受信した信号に対して一連の相関結果で構成される相関履歴を発生するステップと、
b)上記相関履歴から少なくとも1つの受信機パラメータを推定するステップと、
を備えた方法。 - c)更に別の相関を実行するときに上記少なくとも1つの受信機パラメータを使用するステップを更に備えた請求項1に記載の方法。
- 上記更に別の相関は、上記少なくとも1つの衛星から受信した上記信号とは異なる衛星からの信号において実行される請求項2に記載の方法。
- 上記少なくとも1つの受信機パラメータは、受信機の発振器の周波数を含む請求項1に記載の方法。
- 上記少なくとも1つの受信機パラメータは、受信機のタイミングエラーを含む請求項1に記載の方法。
- 上記受信機のタイミングエラーは、衛星の基準時間に対する受信機クロックのオフセットのモジュロ20ミリ秒推定値である請求項5に記載の方法。
- 上記少なくとも1つの受信機パラメータは、更に、受信機の発振器の周波数を含む請求項5に記載の方法。
- 上記更に別の相関は、標準相関モードを使用して実行される請求項2に記載の方法。
- 一連の相関結果を発生する上記ステップは、
(a1)擬似ランダム基準コードを複数のコードセグメントに分割する段階と、
(a2)コードセグメントを選択する段階と、
(a3)前記選択されたコードセグメントと1組のデジタル信号サンプルとの間の内積を形成して部分相関を発生する段階と、
(a4)上記段階(a1)及び(a3)を繰り返して複数の部分相関を発生する段階と、
(a5)各部分相関が発生されたときに上記複数の部分相関を加算して複数の相関を形成する段階と、
を備えた請求項1に記載の方法。 - 上記受信した信号を同相及び直角位相成分に分割すると共に、上記ステップa)及びb)を上記同相及び直角位相成分に対して別々に実行するというステップを更に備えた請求項1に記載の方法。
- 上記相関履歴からナビゲーションデータビットを発生するステップを更に備えた請求項1に記載の方法。
- 上記ステップ(b)は、
上記相関履歴を順次推定アルゴリズムに適用して、信号周波数及びビットタイミングの少なくとも1つを推定する段階を備えた請求項1に記載の方法。 - 衛星ポジショニング受信機において相関履歴から少なくとも1つの受信機パラメータを推定する方法であって、
a)上記相関履歴に応答して、受信機周波数及びビットタイミング仮説を使用して信号レベルの複数の推定値を決定するステップと、
b)上記信号レベル推定値に応答して、信号レベルを実質的に最大にする受信機の周波数及びビットタイミングを与える少なくとも1つの受信機パラメータの推定値を決定するステップと、
を備えた方法。 - c)上記相関履歴を周波数修正するステップと、
d)上記相関履歴をナビゲーションビット周期にわたって積分するステップと、
e)上記ナビゲーションビット周期内の信号に対する信号レベルを計算するステップと、
f)複数の次々の信号レベル値を加算して、積分された信号レベル値を、最大にされるべき信号レベルとして形成するステップと、
を更に備えた請求項13に記載の方法。 - 上記信号レベルは、信号電力及び信号大きさの少なくとも1つである請求項13に記載の方法。
- 上記信号レベルは、信号電力及び信号大きさの少なくとも1つである請求項14に記載の方法。
- 周波数にわたってサーチして信号レベルの最大値を決定するステップを更に備えた請求項13に記載の方法。
- ビットタイミングにわたってサーチして信号レベルの最大値を決定するステップを更に備えた請求項13に記載の方法。
- 周波数及びビットタイミングにわたってサーチして信号レベルの最大値を決定するステップを更に備えた請求項13に記載の方法。
- 上記サーチは、ダウンヒル・シンプレックス方法を含む請求項17に記載の方法。
- 衛星ポジショニング受信機において少なくとも1つの受信機パラメータを推定する装置であって、
a)少なくとも1つの衛星から受信した信号から、一連の相関結果で構成される相関履歴を発生する手段と、
b)上記相関履歴から少なくとも1つの受信機パラメータを推定する手段と、
を備えた装置。 - c)更に別の相関を実行するときに上記受信機パラメータを使用する相関装置を更に備えた請求項21に記載の装置。
- 上記更に別の相関は、上記少なくとも1つの衛星から受信した上記信号とは異なる衛星からの信号において実行される請求項22に記載の装置。
- 上記少なくとも1つの受信機パラメータは、受信機の発振器の周波数を含む請求項21に記載の装置。
- 上記少なくとも1つの受信機パラメータは、受信機のタイミングエラーを含む請求項21に記載の装置。
- 上記受信機パラメータは、更に、受信機の発振器の周波数を含む請求項25に記載の装置。
- 上記受信機のタイミングエラーは、衛星の基準時間に対する受信機クロックのオフセットのモジュロ20ミリ秒推定値である請求項25に記載の装置。
- 相関履歴を発生する上記手段は、
(a1)擬似ランダム基準コードを複数のコードセグメントに分割する手段と、
(a2)コードセグメントを選択する手段と、
(a3)前記選択されたコードセグメントと1組のデジタル信号サンプルとの間の内積を形成して部分相関を発生する手段と、
(a4)上記手段(c1)及び(c3)を繰り返し動作して複数の部分相関を発生する手段と、
(a5)各部分相関が発生されたときに上記複数の部分相関を加算して複数の相関を形成する手段と、
を更に備えた請求項21に記載の装置。 - 上記受信した信号を同相及び直角位相成分に分割して、その同相及び直角位相成分を別々に処理する手段を更に備えた請求項21に記載の装置。
- 上記相関履歴からナビゲーションデータビットを発生する手段を更に備えた請求項21に記載の装置。
- 周波数及びビットタイミング仮説において信号レベルに関連した推定値を決定する手段を更に備えた請求項21に記載の装置。
- プロセッサにより実行されたときに、衛星ポジショニング受信機が、相関履歴から少なくとも1つの受信機パラメータを推定する方法を実行するようにさせるソフトウェアを記憶するコンピュータ読み取り可能な媒体において、上記方法が、
a)上記相関履歴に応答して、受信機周波数及びビットタイミング仮説を使用して信号レベルの複数の推定値を決定するステップと、
b)上記信号レベル推定値に応答して、信号レベルを実質的に最大にする受信機の周波数及びビットタイミングを与える少なくとも1つの受信機パラメータの推定値を決定するステップと、
を備えた方法。 - c)上記相関履歴を周波数修正するステップと、
d)上記相関履歴をナビゲーションビット周期にわたって積分するステップと、
e)上記ナビゲーションビット周期内の信号に対する信号レベルを計算するステップと、
f)複数の次々の信号レベル値を加算して、積分された信号レベル値を、最大にされるべき信号レベルとして形成するステップと、
を更に備えた請求項32に記載の方法。 - 上記信号レベルは、信号電力及び信号大きさの少なくとも1つである請求項32に記載の方法。
- 上記信号レベルは、信号電力及び信号大きさの少なくとも1つである請求項33に記載の方法。
- 周波数にわたってサーチして信号レベルの最大値を決定するステップを更に備えた請求項33に記載の方法。
- ビットタイミングにわたってサーチして信号レベルの最大値を決定するステップを更に備えた請求項33に記載の方法。
- 周波数及びビットタイミングにわたってサーチして信号レベルの最大値を決定するステップを更に備えた請求項32に記載の方法。
- 上記サーチは、ダウンヒル・シンプレックス方法を含む請求項38に記載の方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/963,345 US6819707B2 (en) | 2001-05-18 | 2001-09-26 | Method and apparatus for performing signal correlation using historical correlation data |
PCT/US2002/030333 WO2003028240A1 (en) | 2001-09-26 | 2002-09-25 | Method and apparatus for performing signal correlation using historical correlation data |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2005505759A true JP2005505759A (ja) | 2005-02-24 |
Family
ID=25507110
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003531633A Pending JP2005505759A (ja) | 2001-09-26 | 2002-09-25 | 履歴相関データを使用して信号相関を実行する方法及び装置 |
Country Status (5)
Country | Link |
---|---|
US (1) | US6819707B2 (ja) |
EP (1) | EP1430616B1 (ja) |
JP (1) | JP2005505759A (ja) |
KR (1) | KR100937130B1 (ja) |
WO (1) | WO2003028240A1 (ja) |
Families Citing this family (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6704348B2 (en) * | 2001-05-18 | 2004-03-09 | Global Locate, Inc. | Method and apparatus for computing signal correlation at multiple resolutions |
US7006556B2 (en) | 2001-05-18 | 2006-02-28 | Global Locate, Inc. | Method and apparatus for performing signal correlation at multiple resolutions to mitigate multipath interference |
US7567636B2 (en) * | 2001-05-18 | 2009-07-28 | Global Locate, Inc. | Method and apparatus for performing signal correlation using historical correlation data |
US7995682B2 (en) | 2001-05-18 | 2011-08-09 | Broadcom Corporation | Method and apparatus for performing signal processing using historical correlation data |
US7190712B2 (en) | 2001-05-18 | 2007-03-13 | Global Locate, Inc | Method and apparatus for performing signal correlation |
US7769076B2 (en) | 2001-05-18 | 2010-08-03 | Broadcom Corporation | Method and apparatus for performing frequency synchronization |
US7729412B2 (en) * | 2001-10-29 | 2010-06-01 | Qualcomm Incorporated | Parameter estimator with dynamically variable integration time |
US6999533B2 (en) * | 2001-11-30 | 2006-02-14 | Qualcomm, Incorporated | Demodulating encoded data |
US7155183B2 (en) * | 2003-01-16 | 2006-12-26 | Global Locate, Inc. | Method and apparatus for adjusting reference oscillator frequency in a mobile wireless device |
US6944422B2 (en) * | 2003-04-18 | 2005-09-13 | Motorola, Inc. | Method and device for detecting an interference condition |
US7224950B2 (en) * | 2003-08-27 | 2007-05-29 | Seiko Epson Corporation | Estimating GPS reference frequency drift from PDC-handset VCO-bursts |
GB0320993D0 (en) | 2003-09-09 | 2003-10-08 | Koninkl Philips Electronics Nv | A method of acquiring a received spread spectrum signal |
US7598901B2 (en) * | 2004-12-03 | 2009-10-06 | The Boeing Company | System for measuring turbulence remotely |
DE102004059958B4 (de) * | 2004-12-13 | 2007-10-04 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Vorrichtung und Verfahren zum Bestimmen eines Korrelationswertes |
US7899109B2 (en) * | 2006-08-08 | 2011-03-01 | The Aerospace Corporation | GPS m-code receiver tracking system |
US7764751B1 (en) * | 2006-09-28 | 2010-07-27 | Rockwell Collins, Inc. | Fine synchronization of a signal in the presence of time shift caused by doppler estimation error |
ATE544244T1 (de) * | 2008-08-29 | 2012-02-15 | Broadcom Corp | Verfahren und system zur erweiterung der frequenzversatzbereichsschätzung auf grundlage der korrelation komplexer sequenzen |
US8022866B2 (en) * | 2008-09-17 | 2011-09-20 | Broadcom Corporation | Method and system for doppler estimation |
US8712208B2 (en) | 2011-05-24 | 2014-04-29 | Hewlett-Packard Development Company, L.P. | Storing a location within metadata of visual media |
US20120319899A1 (en) * | 2011-06-16 | 2012-12-20 | Jawaharlal Tangudu | Dynamic switching to bit-synchronous integration to improve gps signal detection |
GB2496160B (en) * | 2011-11-03 | 2014-02-05 | Cambridge Silicon Radio Ltd | Amelioration of frequency errors and/or their effects |
CN109564292B (zh) | 2016-12-01 | 2023-09-22 | 谷歌有限责任公司 | 用于位置确定的方法和系统 |
CN112783895B (zh) * | 2021-01-11 | 2023-11-10 | 中国科学院软件研究所 | 面向软件定义卫星的数据库访问处理方法、装置及设备 |
CN116366065B (zh) * | 2023-05-31 | 2023-08-29 | 中国科学技术大学 | 一种低信噪比周期性信号检测装置及方法 |
Family Cites Families (73)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2016760B (en) | 1978-02-02 | 1982-02-24 | Plessey Co Ltd | Correlators |
US4445118A (en) | 1981-05-22 | 1984-04-24 | The United States Of America As Represented By The Administrator Of The National Aeronautics And Space Administration | Navigation system and method |
US4426712A (en) | 1981-05-22 | 1984-01-17 | Massachusetts Institute Of Technology | Correlation system for global position receiver |
FR2525055A1 (fr) | 1982-04-09 | 1983-10-14 | Trt Telecom Radio Electr | Procede de correction de frequence de la porteuse locale dans le recepteur d'un systeme de transmission de donnees et recepteur utilisant ce procede |
US4578678A (en) | 1983-11-14 | 1986-03-25 | The United States Of America As Represented By The United States National Aeronautics And Space Administration | High dynamic global positioning system receiver |
US4660164A (en) | 1983-12-05 | 1987-04-21 | The United States Of America As Represented By The Secretary Of The Navy | Multiplexed digital correlator |
FR2650456A1 (fr) | 1989-07-28 | 1991-02-01 | Trt Telecom Radio Electr | Procede de synchronisation par correlation |
US5117232A (en) | 1990-06-04 | 1992-05-26 | Raytheon Company | Global system positioning receiver |
US5185610A (en) | 1990-08-20 | 1993-02-09 | Texas Instruments Incorporated | GPS system and method for deriving pointing or attitude from a single GPS receiver |
US5101416A (en) | 1990-11-28 | 1992-03-31 | Novatel Comunications Ltd. | Multi-channel digital receiver for global positioning system |
US5390207A (en) | 1990-11-28 | 1995-02-14 | Novatel Communications Ltd. | Pseudorandom noise ranging receiver which compensates for multipath distortion by dynamically adjusting the time delay spacing between early and late correlators |
US5148452A (en) | 1990-12-31 | 1992-09-15 | Motorola, Inc. | Global positioning system digital receiver |
US5199050A (en) | 1991-04-05 | 1993-03-30 | Trw Inc. | Pseudorandom (PN) signal synchronization circuit and related method |
DE4114058C2 (de) | 1991-04-30 | 2003-11-27 | Sel Alcatel Ag | Mehrkanalempfänger für bandgespreizte Signale |
US5175557A (en) | 1991-07-18 | 1992-12-29 | Motorola, Inc. | Two channel global positioning system receiver |
US5153598A (en) | 1991-09-26 | 1992-10-06 | Alves Jr Daniel F | Global Positioning System telecommand link |
JPH0590904A (ja) | 1991-09-27 | 1993-04-09 | Nec Corp | 制御信号発生回路 |
US5379224A (en) | 1991-11-29 | 1995-01-03 | Navsys Corporation | GPS tracking system |
DE4241882A1 (ja) | 1991-12-13 | 1993-06-17 | Clarion Co Ltd | |
US5323164A (en) * | 1992-03-16 | 1994-06-21 | Pioneer Electronic Corporation | Satellite radio wave capturing method for a global positioning system (GPS) receiver |
US5579338A (en) | 1992-06-29 | 1996-11-26 | Mitsubishi Denki Kabushiki Kaisha | Spread spectrum receiver using partial correlations |
US5237587A (en) | 1992-11-20 | 1993-08-17 | Magnavox Electronic Systems Company | Pseudo-noise modem and related digital correlation method |
GB2277853A (en) | 1993-05-07 | 1994-11-09 | Roke Manor Research | Signal compression signals |
DE4318368C1 (de) | 1993-05-28 | 1994-07-14 | Siemens Ag | Verfahren zum Gewinnen eines einen Ausfall der Synchronisation zwischen einer Pseudozufallssignalfolge eines Senders und einer Referenz-Pseudozufallssignalfolge eines Empfängers anzeigenden Signals |
US5402347A (en) | 1993-07-22 | 1995-03-28 | Trimble Navigation Limited | Satellite search methods for improving time to first fix in a GPS receiver |
US5748891A (en) | 1994-07-22 | 1998-05-05 | Aether Wire & Location | Spread spectrum localizers |
US5594453A (en) | 1994-11-01 | 1997-01-14 | Trimble Navigation, Ltd | GPS receiver having a rapid acquisition of GPS satellite signals |
JP2605648B2 (ja) | 1994-12-22 | 1997-04-30 | 日本電気株式会社 | Ss受信機における逆拡散符号位相検出装置 |
US5579014A (en) | 1995-01-20 | 1996-11-26 | General Electric Company | Parallel correlator for global positioning system receiver |
US5694416A (en) | 1995-02-24 | 1997-12-02 | Radix Technologies, Inc. | Direct sequence spread spectrum receiver and antenna array for the simultaneous formation of a beam on a signal source and a null on an interfering jammer |
US5627855A (en) | 1995-05-25 | 1997-05-06 | Golden Bridge Technology, Inc. | Programmable two-part matched filter for spread spectrum |
US5600328A (en) | 1995-06-21 | 1997-02-04 | Matsushita Electric Industrial Co., Ltd. | Demodulator circuit in global positioning system receiver |
US5726659A (en) | 1995-09-21 | 1998-03-10 | Stanford University | Multipath calibration in GPS pseudorange measurements |
EP1260830B1 (en) | 1995-10-09 | 2010-09-15 | Snaptrack, Inc. | A GPS receiver and method for processing GPS signals |
US5884214A (en) | 1996-09-06 | 1999-03-16 | Snaptrack, Inc. | GPS receiver and method for processing GPS signals |
US6133874A (en) | 1996-03-08 | 2000-10-17 | Snaptrack, Inc. | Method and apparatus for acquiring satellite positioning system signals |
US5901171A (en) | 1996-03-15 | 1999-05-04 | Sirf Technology, Inc. | Triple multiplexing spread spectrum receiver |
US6125325A (en) * | 1996-04-25 | 2000-09-26 | Sirf Technology, Inc. | GPS receiver with cross-track hold |
AU729697B2 (en) | 1996-04-25 | 2001-02-08 | Sirf Technology, Inc. | Spread spectrum receiver with multi-bit correlator |
US6047017A (en) | 1996-04-25 | 2000-04-04 | Cahn; Charles R. | Spread spectrum receiver with multi-path cancellation |
US5907578A (en) | 1996-05-20 | 1999-05-25 | Trimble Navigation | Weighted carrier phase multipath reduction |
US6034635A (en) | 1996-06-06 | 2000-03-07 | Gilhousen; Klein S. | Method for using only two base stations for determining the position of a mobile subscriber in a CDMA cellular telephone system |
US5859612A (en) | 1996-06-06 | 1999-01-12 | Qualcomm Incorporated | Method for using an antenna with a rotating beam for determining the position of a mobile subscriber in a CDMA cellular telephone system |
US5896304A (en) | 1996-07-12 | 1999-04-20 | General Electric Company | Low power parallel correlator for measuring correlation between digital signal segments |
US6151353A (en) * | 1996-07-12 | 2000-11-21 | General Electric Company | Pre-acquisition frequency offset removal in a GPS receiver |
KR100197352B1 (ko) | 1996-07-31 | 1999-06-15 | 이계철 | 기준 정합여파기를 이용한 병렬포착시스템 |
US5901183A (en) | 1996-09-25 | 1999-05-04 | Magellan Corporation | Signal correlation technique for a receiver of a spread spectrum signal including a pseudo-random noise code that reduces errors when a multipath signal is present |
US6256337B1 (en) | 1996-11-21 | 2001-07-03 | Dsp Group, Inc. | Rapid acquisition of PN synchronization in a direct-sequence spread-spectrum digital communications system |
US5812087A (en) | 1997-02-03 | 1998-09-22 | Snaptrack, Inc. | Method and apparatus for satellite positioning system based time measurement |
US6377209B1 (en) | 1997-02-03 | 2002-04-23 | Snaptrack, Inc. | Method and apparatus for satellite positioning system (SPS) time measurement |
US6289041B1 (en) | 1997-02-11 | 2001-09-11 | Snaptrack, Inc. | Fast Acquisition, high sensitivity GPS receiver |
US5864315A (en) | 1997-04-07 | 1999-01-26 | General Electric Company | Very low power high accuracy time and frequency circuits in GPS based tracking units |
US5920278A (en) | 1997-05-28 | 1999-07-06 | Gregory D. Gibbons | Method and apparatus for identifying, locating, tracking, or communicating with remote objects |
US5872774A (en) | 1997-09-19 | 1999-02-16 | Qualcomm Incorporated | Mobile station assisted timing synchronization in a CDMA communication system |
US6307840B1 (en) | 1997-09-19 | 2001-10-23 | Qualcomm Incorporated | Mobile station assisted timing synchronization in CDMA communication system |
US6005899A (en) * | 1997-09-29 | 1999-12-21 | Ericsson, Inc. | Method for efficiently computing sequence correlations |
US5949364A (en) | 1998-01-06 | 1999-09-07 | The United States Of America As Represented By The Administration Of The National Aeronautics And Space Administration | Method and system for producing images of an object |
US6298083B1 (en) * | 1998-03-16 | 2001-10-02 | Trimble Navigation Limited | Power savings technique for a positioning system receiver |
US6252543B1 (en) | 1998-05-28 | 2001-06-26 | Ericsson Inc. | Location system combining ranging measurements from GPS and cellular networks |
US6208291B1 (en) | 1998-05-29 | 2001-03-27 | Snaptrack, Inc. | Highly parallel GPS correlator system and method |
US6236354B1 (en) | 1998-07-02 | 2001-05-22 | Snaptrack, Inc. | Reducing satellite signal interference in a global positioning system receiver |
US6327473B1 (en) | 1998-09-08 | 2001-12-04 | Qualcomm Incorporated | Method and apparatus for increasing the sensitivity of a global positioning satellite receiver |
US6211820B1 (en) | 1998-09-09 | 2001-04-03 | Qualcomm Incorporated | Call maintainance during position location |
US6324227B1 (en) | 1998-09-09 | 2001-11-27 | Qualcomm Incorporated | Receiver for performing position location with efficient rotator |
US6181911B1 (en) | 1998-09-09 | 2001-01-30 | Qualcomm Incorporated | Simplified receiver with rotator for performing position location |
US6208292B1 (en) | 1998-09-09 | 2001-03-27 | Qualcomm Incorporated | Position location with low tolerance oscillator |
US6157891A (en) | 1998-11-16 | 2000-12-05 | Lin; Ching-Fang | Positioning and ground proximity warning method and system thereof for vehicle |
US6121923A (en) | 1999-02-19 | 2000-09-19 | Motorola, Inc. | Fixed site and satellite data-aided GPS signal acquisition method and system |
US6370208B1 (en) | 1999-02-26 | 2002-04-09 | Industrial Technical Research Institute | Correlator for CDMA applications |
US6363108B1 (en) * | 1999-03-31 | 2002-03-26 | Qualcomm Inc. | Programmable matched filter searcher |
WO2000065751A1 (en) * | 1999-04-23 | 2000-11-02 | Global Locate, Inc. | Apparatus for computing gps correlations in parallel |
JP2000310673A (ja) * | 1999-04-26 | 2000-11-07 | Matsushita Electric Ind Co Ltd | Gps受信機 |
US6292132B1 (en) | 1999-08-13 | 2001-09-18 | Daimlerchrysler Ag | System and method for improved accuracy in locating and maintaining positions using GPS |
-
2001
- 2001-09-26 US US09/963,345 patent/US6819707B2/en not_active Expired - Lifetime
-
2002
- 2002-09-25 WO PCT/US2002/030333 patent/WO2003028240A1/en active Application Filing
- 2002-09-25 JP JP2003531633A patent/JP2005505759A/ja active Pending
- 2002-09-25 KR KR1020047004364A patent/KR100937130B1/ko active IP Right Grant
- 2002-09-25 EP EP02799623.0A patent/EP1430616B1/en not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
KR20040037125A (ko) | 2004-05-04 |
EP1430616A1 (en) | 2004-06-23 |
WO2003028240A1 (en) | 2003-04-03 |
KR100937130B1 (ko) | 2010-01-15 |
US6819707B2 (en) | 2004-11-16 |
EP1430616B1 (en) | 2014-04-02 |
EP1430616A4 (en) | 2010-06-09 |
US20020172306A1 (en) | 2002-11-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP1529224B1 (en) | Method and apparatus for performing signal correlation at multiple resolutions to mitigate multipath interference | |
EP2081041B1 (en) | Method and apparatus for performing frequency synchronization | |
US8005174B2 (en) | Method and apparatus for performing signal correlation using historical correlation data | |
KR100937130B1 (ko) | 히스토리 상관 데이터를 사용하여 신호 상관을 수행하기위한 방법 및 장치 | |
KR100906959B1 (ko) | 신호 상관관계를 계산하기 위한 방법 및 장치 | |
KR100942207B1 (ko) | 다중 분석에서 신호 상관을 계산하는 방법 및 장치 | |
US7190712B2 (en) | Method and apparatus for performing signal correlation | |
JP2005519311A (ja) | 信号相関を実行する方法及び装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20050817 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20071030 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20080325 |