JP2004527763A - 信号相関計算方法と装置 - Google Patents
信号相関計算方法と装置 Download PDFInfo
- Publication number
- JP2004527763A JP2004527763A JP2002592586A JP2002592586A JP2004527763A JP 2004527763 A JP2004527763 A JP 2004527763A JP 2002592586 A JP2002592586 A JP 2002592586A JP 2002592586 A JP2002592586 A JP 2002592586A JP 2004527763 A JP2004527763 A JP 2004527763A
- Authority
- JP
- Japan
- Prior art keywords
- signal
- code
- partial correlation
- correlation value
- receiver
- 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.)
- Abandoned
Links
Classifications
-
- 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
-
- 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/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
-
- 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
-
- 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/185—Space-based or airborne stations; Stations for satellite systems
- H04B7/1851—Systems using a satellite or space-based relay
- H04B7/18517—Transmission equipment in earth 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/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)
- General Physics & Mathematics (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Theoretical Computer Science (AREA)
- Mathematical Physics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Computational Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Software Systems (AREA)
- Databases & Information Systems (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Algebra (AREA)
- Astronomy & Astrophysics (AREA)
- Aviation & Aerospace Engineering (AREA)
- Position Fixing By Use Of Radio Waves (AREA)
- Holo Graphy (AREA)
- Complex Calculations (AREA)
Abstract
【課題】信号相関計算方法と装置を提供する。
【解決手段】未処理の信号サンプルを記憶することなく、実時間でコンボルーション値を算出することによって、入力GPS信号とC/A基準コードの間のコンボルーション(図1)を計算する方法と装置である。本装置は、全エポックを処理できる規模のベクトル乗算器と同じ結果を実現できる高速動作のベクトル乗算器を備える。
【選択図】図1
【解決手段】未処理の信号サンプルを記憶することなく、実時間でコンボルーション値を算出することによって、入力GPS信号とC/A基準コードの間のコンボルーション(図1)を計算する方法と装置である。本装置は、全エポックを処理できる規模のベクトル乗算器と同じ結果を実現できる高速動作のベクトル乗算器を備える。
【選択図】図1
Description
【技術分野】
【0001】
本発明は、デジタル信号受信機のための信号相関器に関し、特に、例えば、全地球測位システム(GPS)受信機で信号相関を求める方法と装置に関する。
【背景技術】
【0002】
全地球測位システム(GPS)の信号測定プロセスでは、受信信号と既知の擬似ランダム雑音(PRN)コードの一連の相関を求めることによって雑音中からGPS信号を探索する処理から開始される。信号の正確な周波数と到着時間の遅れが共にわかっていないので、探索プロセスは非常に時間がかかるものである。従来の受信機では、信号検出のための2次元探索を行ない、可能性のある周波数毎の遅延可能性をチェックする。特定の周波数と遅延のある信号の存在を調べるために、受信機をその周波数に同調させ、受信信号と、到着時間に対応する分遅延させた既知のPRNコードとの相関を求める。信号が検出されない場合は次の遅延の可能性を探索し、全ての遅延の可能性を調べ終わると、次に、可能性のある周波数の探索に入る。信号を十分平均化して信号と雑音を識別するために、1ミリ秒以上にわたって個々の相関を求める。何千個もの周波数と遅延について調べるので、捕捉プロセス全体で数十秒かかることがある。
【0003】
最近、GPS技術が無線デバイスに新たに適用されている。例えば、携帯電話にGPS技術を用いて、緊急時位置特定機能を実現している。これらのアプリケーションでは、わずか数秒間で信号を捕捉する必要がある。さらに、これらのアプリケーションでは、GPS受信機は、GPS信号レベルが非常に減衰して受信が困難な環境や室内で動作する必要がある。減衰信号を検出するためには、各相関演算のためにかなりの時間を割く必要がある。これは、従来のGPS受信機でかかる1〜10ミリ秒に対して、例えば、積分演算には数秒かかることがある。従来の受信機で用いられる2次元逐次探索プロセスは、そのような積分時間は非現実的である。何故ならば、全探索時間は100倍以上になるからである。
【0004】
探索プロセス時間を短縮するために、GPS設計者は受信機に相関器を追加して、多くの到着時間の可能性を同時に調べるようにしている。通常、追加される相関器毎に個別のコードミクサと信号アキュムレータが必要になる。これによって、所定の感度レベルでは、相関器の数に比例して探索時間が短くなる。携帯電話のアプリケーションで必要な感度と捕捉時間を実現するためには、設計には数千個もの相関器を実装する必要がある。一般的に、この追加によって、消費者にとって非常に複雑で高価な装置になってしまう。
【0005】
例えば、1999年5月4日発行の米国特許第5901171号には、一つの時分割処理部を使って12個のチャネルの各々で20個までの相関を同時に求める三重化技術が記載されている。この技術によって、20個の遅延の可能性を同時に調べることができるので、単一の相関器による設計よりも性能が向上する。不確かな遅延に関して全範囲に渡って全信号探索を行うには、20個の相関器を続けて約100回使って2046個の遅延を調べる必要がある。従って、数秒間で捕捉するには、積分時間は数十ミリ秒以内でなければならない。この時間は、GPSの室内でのアプリケーションに必要な感度を達成するには不十分である。
さらに探索プロセスを改善するためには、GPS受信機のアーキテクチャが、受信信号と既知のPRNコードのコンボルーションを得る処理能力をもつ必要がある。これは、全C/Aコードエポック(1023チップ)にわたって時間遅延の可能性の全てをカバーする相関器群を提供することに等しい。
【0006】
1997年9月2日発行の米国特許第5663734号には、ソフトウェアアルゴリズムを用いて必要とされる相関値を効率的に求めるソフトウェアベースの高速フーリエ変換(FFT)について記載されている。この方法は、全アプリケーションに適しているわけではない。何故ならば、ソフトウェアFFTを実行させるためにプログラマブルデジタル信号プロセッサ(DSP)が必要であり、また、未処理の信号サンプルを記憶する大容量メモリが必要であるからである。さらに、この方法では、ソフトウェア計算と、信号の全スナップショットの記憶後にソフトウェア処理が開始されるため、処理遅延が生じる。多くのアプリケーションでは、リアルタイム処理による方法が好ましく、広範囲にわたるソフトウェア処理を伴わないことが好ましい。Lyusin他の「GPS/GLONASS受信機のマッチト・フィルタ技術による高速捕捉」の307〜315頁には、1023タップのマッチト・フィルタを用いて実時間で畳込みを行うハードウェアのアプローチが記載されている。マッチト・フィルタは、全C/Aコードエポックを保持するために十分な容量をもつシフトレジスタと、全エポックの信号とC/Aコード間の内積を求めるための1023幅のベクトル加乗算器から構成される。
【0007】
この回路の複雑さは、携帯電話などの低価格消費者用デバイスの範疇を逸脱している。また、その他のマッチト・フィルタの方法、例えば、Pコードを捕捉する軍事用受信機で用いられるような方法では、大規模なベクトル乗算器が使われている。
【発明の開示】
【発明が解決しようとする課題】
【0008】
従って、全エポックの信号とC/Aコードの処理が可能であって、単純/低コストで改良されたGPS処理部が求められている。そのようなデバイスは、好適には大規模なベクトル乗算器を用いることなく、完全なコンボルーションや多くの相関を並列に求めることができる比較的単純なハードウェアから構築される必要がある。
【課題を解決するための手段】
【0009】
(発明の要約)
本発明は、未処理の信号サンプルを記憶したり多くのソフトウェア処理を行うことなく実時間で入力信号(例えば、GPS信号)と擬似ランダム雑音(PRN)基準コードとのコンボルーション値を求めることによって、完全なコンボルーションを計算する方法と装置を提供するものである。本装置は、全エポックを処理できる規模のベクトル乗算器と同じ結果を得るように高速動作するベクトル乗算器を備える。本発明は、携帯電話などの消費者向け装置の複雑性の拘束条件に合致する集積回路を用いて実現することができる。その設計には、コンボルーション値を長区間に渡って平均化することによって高感度を保証するために必要なロジックが含まれている。本発明によって、室内で受信された信号を含む大きく減衰した信号から位置を特定する際に必要な信号の相関を求めることができる。
【0010】
本装置全体は、従来のGPSチューナと、デシメーション回路と、コンボルーションプロセッサと、コンボルーション値を累積する複数のRAM部から構成される。コンボルーションプロセッサは、約100MHz以上の高速クロックで動作するため、小規模な回路を繰り返し使うことによって完全なコンボルーション演算が可能になる。特に、コンボルーションの各ポイントは、一連の部分相関値に分解されるが、各部分相関は、エポックの一部だけを処理可能な規模のベクトル乗算器を用いて生成される。本装置は、C/Aコードを、非重複コードセグメントに分割することによって部分相関値を生成する。各部分相関では、一度に1コードセグメントだけを使い、また、単純なルックアップテーブルを用いることによって、C/Aコードを効果的に記憶し、検索することができる。
【0011】
本プロセッサは、入力IFサンプルのデシメーション処理を開始して、所望のサンプルレートで信号ストリームを生成する。ここでのサンプルレートは受信信号のタイミングと正確に一致する。所望のサンプルレートがPf0(C/Aチップ毎のPサンプル数)である場合、サンプリングレートは、各信号エポックで正確に1023×Pサンプルを取得できるように設定される。本プロセッサは、P×K個の入力サンプルを保持できる規模のシフトレジスタを使って、クロック化された信号の相関を求める。尚、Kは係数1023である。信号シフト毎に、一連のM回の部分相関演算が実施される。尚、Mは、M×K=1023となるように選択される。各部分相関は、C/Aコードの長さKのセグメントをP×K個のサンプルに伸張することによって生成される1ブロックの基準サンプル信号とシフトレジスタの内容の内積をとることによって求められる。部分相関値はメモリに累積される。本プロセッサは、部分相関値を累積することによって、完全なコンボルーションが得られるまで、多くの相関ポイントでの完全な相関値を求める。
本発明は、添付図面と併せて上記の詳細な説明を熟考すれば容易に理解することができる。
【発明を実施するための最良の形態】
【0012】
図1に、本発明を取り入れた全地球測位システム(GPS)受信機100のブロック図を示す。本発明の1つのアプリケーションでは、本発明を取り入れたGPS受信機をプラットフォームとして使っている。さらに、本発明では、信号相関を必要とする別のプラットフォームを使ってもよい。
(GPS信号などの)信号は、アンテナ101から受信される。アナログ/デジタル(A/D)変換器103によってデジタル化するために、無線周波数−中間周波数変換器(RF/IF変換器)102は、信号を濾波し、増幅し、周波数シフトする。構成要素101、102、103は、従来のGPS受信機で使われている素子とほぼ同じである。
A/D103からの出力は、デジタルロジックに組み込まれた一連の処理チャネル1041、1042、・・・104n(nは整数)に送られる。各処理チャネル104nを使って、特定のGPS衛星からの信号を処理することができる。特定チャネルの信号は、数値制御発振器(NCO)106により駆動されるチューナ105によってデジタル的に同調される。チューナ105は2つ働きをする。第1の働きは、RF/IF変換後に残ったIF周波数成分を除去することである。第2の働きは、衛星とユーザの移動および基準周波数の誤差によって生じる衛星ドップラ周波数シフトを除去することである。チューナからの出力は、同相成分(I)と直交成分(Q)からなるベースバンド信号である。構成要素105、106の工程は、従来のGPS受信機の設計で用いられるものとほぼ同じである。
【0013】
デシメーション回路107は構成要素105の出力信号を処理する。デシメーション回路107の出力は、入力信号のタイミングと正確に同期するレートで出力される、I成分とQ成分をもつ一連の複素信号サンプルである。本発明の一実施形態のデシメーション処理は、単純な前合算処理であって、これは、出力サンプル区間の全受信信号サンプルを合算するものである。数値制御発振器(NCO)108によってサンプリングプロセスの時間が決まる。例えば、P=2の場合、コードNCO108は、ドップラシフトに合わせて、(2×fS)の周波数を生成するように設定される。但し、fSはf0(GPS信号のC/Aコードのチップレート)である。NCOは、ファームウェアからの外部入力コマンドに基づいてドップラシフトを調整する。ドップラシフトは衛星毎に異なるので、各チャネル104nに対して個別のコードNCO108とデシメーション回路107が必要である。コードNCO108は任意の周波数を発生することができるので、受信サンプルレートをfSの整数倍にする必要がないことに注目されたい。デシメーション回路107が前合算器である場合、通常、合算されるサンプル数は、2つの値のいずれかがトグル選択されるので、長期的に正確なサンプルタイミングが維持されることになる。例えば、受信サンプルレートが10MHzであり、所望のサンプルレートが2.046MHzである場合、前合算器は4個か5個のサンプルを合算するので、所望のサンプルレートが平均として維持される。
【0014】
また、デシメーション回路107は、出力部に(不図示の)量子化器を備えており、後処理のために信号成分のビット数を削減する。本発明の一実施形態では、2ビット量子化を行なう。デシメーション回路107からの信号サンプルは、コンボルーションプロセッサ109に送られる。コンボルーションプロセッサ109は、信号用ランダムアクセスメモリ(RAM)110a、110bに記憶されることになる結果を生成する。具体的には、これらのRAM110a、110bには、入力信号と基準PNコード(例えばGPSのC/Aコード)間の完全なコンボルーションの全てか、もしくは、その一部を構成する複素ベクトルが保持される。コンボルーション値は、信号と基準(PNコード)間の高い相関に対応する地点でピークとなる。以下で詳細に検討するように、様々な衛星信号のピークの相対的な位置を使って最終的に位置情報が算出される。
【0015】
コンボルーションプロセッサ109と信号RAM110a、110bは、公称1ミリ秒のインターバルで繰り返すGPS信号の複数のエポックに対するコンボルーション値を累積する。例えば、10ミリ秒の信号が処理された場合は、RAM110a、110bの値は、10個の相関値の合計値であって、その値の各々は、一つのエポックで生成されたものである。デシメーション処理のタイミングで各エポック内で同じ相対時点でサンプルが確実に取得されるので、個々の相関は全て同様の特性を備えるはずである。同様の個々の相関値を累積することによってS/N比が改善され、弱い信号を検出する受信機の性能が向上する。この処理は、コヒーレント積分と呼ばれ、これから検討するマグニチュード積分と組み合わせることによって、数秒間での平均相関値が得られる。
【0016】
コヒーレント積分区間の時間長はいくつかの要因によって制限されるが、これには、非補正のドップラシフト、GPS信号ナビゲーションデータビット、受信機100の移動から引き起こされる位相シフトが含まれる。これらの要因によって、ゆっくりではあるが、見かけ上ランダムな位相変動が信号に加わる。数十ミリ秒にわたるこの位相変動によって、コヒーレント積分値を無効にしてしまう有害な干渉が生じる。従って、長い平均処理区間を得るために、受信機100はマグニチュード値を累積する二次的工程を実行する。具体的には、信号RAM110a、110bに記憶された信号は、複素コンボルーションベクトルの複素マグニチュード値を生成する複素ノーマライザ111に周期的に出力される。複素マグニチュード値は加算器112に累積され、マグニチュードRAM113に記憶される。信号の複素マグニチュード値が算出される度に、信号RAM110a、110bの記憶は消去されるので、さらにコヒーレント積分が可能になる。このプロセスは所望の数のマグニチュード値が累積されるまで続けられる。例えば、コヒーレント平均処理区間が10ミリ秒である場合には、200個のマグニチュード値の累積が必要であり、このプロセス全体は2秒間続けられることになる。
【0017】
コンボルーション処理後、マグニチュードRAM113には、S/N比を向上させるために積分されたコンボルーション値である複素マグニチュード値を含むベクトルが記憶される。以下で検討するように、このベクトルは、CPU114で実行されるソフトウェアアルゴリズムによって処理され、受信機位置を特定するために用いられる擬似距離データが得られる。尚、これらの工程でのCPUの計算負荷は、従来のGPS受信機やFFTベース相関器と比べてかなり小さい。これを実施するために、ソフトウェア処理前に、相関を求め積分計算するタスクを実行する。
【0018】
図2に、図1の構成要素によって生成された波形201I、201Q、202を示す。波形201I、201Q、202は、信号強度(縦軸208が)対コードチップ(横軸210)のプロットである。波形は、コヒーレント積分とマグニチュード積分時のコンボルーションプロセッサ109からの出力信号を示している。理解を容易にするために、9ミリ秒だけの信号処理時間を示しており、これは、累積した3つのマグニチュード値から構成されており、その各々は、3回のコヒーレント積分に基づくものである。例えば、P=2の場合には、コヒーレント積分毎に2046個の信号サンプルがある。波形201I、201Qはコンボルーションプロセッサ109からの出力信号であり、201Iは出力信号のうちのI成分であり、201QはQ成分である。2046個のサンプルの各ブロックは、完全なコンボルーション値であって、これは、コンボルーションプロセッサ109によって、リアルタイムでその区間内で処理された2046個の信号サンプルから生成される。コンボルーション値には、信号遅延に対応する(参照番号206I、206Qで示されるような)1つのピーク近傍を除く雑音が含まれている。信号はエポック毎に繰り返すので、そのピークは2046個のサンプル毎に繰り返し現れる。最初の3サイクルの間、各エポックに対応する遅延値の総和を求めることによって、相関値がRAM110a、110bに累積される。(例えば、出力時間4の値は、出力時間2050、4096の値との総和がとられる。)通常、相関のピークは同じ遅延オフセットで現れ、ピークの大きさは累積に伴って大きくなり、3エポックでは大体3倍になる。また、雑音の相関についてはエポック間の相関はないので、雑音レベルも大きくなるが、3の平方根にしか大きくならない。S/N比は累積プロセスによって改善され、およそ3の平方根分向上する。波形201Qは、直交チャネルで発生する同じ信号累積プロセスを示している。
【0019】
信号の4番目のサイクルで、信号RAM110a、110bの記憶は全て消去され、信号累積プロセスは再開する。波形201I、201Qは相関を示すものであって、9個の信号エポックにわたって3回累積しダンプしたものである。
コヒーレント平均処理区間の終わりで、累積信号のマグニチュード値が計算され合算されて、マグニチュードRAM113に記憶される。マグニチュードRAM113内の信号は波形202で示される。本例では、波形202は、各コヒーレント積分の完了に対応して3回更新される。ピークは、参照番号2121、2122、2123で示され、雑音は参照番号214で示されている。S/N比はマグニチュード値が累積される毎に改善され、到着時間に対応するピークを識別するシステムの性能がさらに向上することがわかる。
【0020】
本例では、信号の複素位相が9エポックにわたって変化していることに留意されたい。特に、信号は当初IとQチャネルの両方に存在したが、最後のエポックまでには回転して、信号はIチャネルで強くなりQチャネルにはほとんど存在しなくなった。上述したように、不完全なドップラシフト同調やその他の影響を受けて、この変化は生じる。多くのエポックにわたって、位相は多くのサイクルを経て回転するので、累積時には信号が消去されることになる。このため、本発明の受信機は、短い区間でのみコレーレントに累積するので、長区間の平均化処理のためにマグニチュード値を(非コヒーレントに)累積することに依存している。マグニチュード値は位相とは無関係であり、数秒の区間で積分可能である。
【0021】
図3に、累積されたマグニチュード値の波形202の詳細を示す。プロット300は、信号の時間遅延に対応するピーク2123近傍のコンボルーションのマグニチュード値を示す。コードチップ軸210上の点は、P値でC/Aコードチップ長を除算した値に等しいインターバルで配置されている。ここで、Pは、信号サンプリングレートと、C/Aコードチップレートf0の比である。本例では、P=2なので、点は1/2チップインターバル、即ち、約500ns毎に配置されている。(この時間インターバルは、距離にして150メートルの差に相当する)約10メートル以上のオーダの擬似距離値を達成するために、通常、CPU114では、コンボルーション値をさらに処理して位置情報を算出する。コンボルーションプロセスによって得られる離散相関値を用いて正確な時間遅延を推定する補間法が多くある。一実施形態では、雑音測定データに最適な信号のパラメータを特定するために最小2乗推定法を用いている。理想的な信号応答は、信号の自己相関マグニチュード値である。この波形は、急峻な三角形302で容易に示すことができる。その三角形の底辺の幅303は、C/Aコードチップの2個分か、あるいは、コンボルーション値の(P=2の場合)4点に相当する。三角形の底辺の高さ304は、時間遅延に対する畳込みを行った際の雑音のマグニチュード値に相当するものであって、信号には対応しない。この雑音のマグニチュード値は、増幅器の雑音指数や、ケーブルとフィルタでのロスや、システム温度といった設計パラメータに基づくデータ、即ち、事前算出値から推定可能である。信号のマグニチュード値と時間遅延に対応する三角ピーク305とセンター306は不明である。最小2乗法を用いて、これらの2つのパラメータを推定して、雑音性データ点と、所定のピークとセンターをもつ三角形にフィッティングすることができる。図4は、コンボルーションプロセッサ109(およびコンボルーション値処理回路400)の詳細なブロック図であって、特に、どのように回路内の小さなブロックを繰り返し使って完全なコンボルーションが行われるかを示すものである。回路動作は、図4と、図4のプロセッサ109の動作を表す図5のフロー図を参照して、図6と図7の単純な例を比較することによって、最もよく理解することができる。
【0022】
デシメーション回路107からの信号はシフトレジスタ401a、401bに送られ、IとQ成分がそれぞれ処理される。各シフトレジスタ401a、401bの長さはP×Kである。ここで、PはC/Aコードチップ毎の所望のサンプル数であり、Kは設計パラメータとして選択された値である。これから説明するように、Kは1023の係数である。議論を簡単にするために、議論の最後の部分では、P=2(1/2チップインターバルのサンプル)でK=33の場合の特定の一実施形態に焦点を絞ることにする。シフトレジスタを介して信号を送るこの手段によって、信号をダブルバッファリングする回路が不要となり、コストが削減され実装が容易になる。
コードNCO108で計られる2f0のレートでシフトレジスタ401a、401bを介して信号が前方に送られる。一連の部分相関を求めるために、複数のクロックサイクルにわたって信号はシフトレジスタで保持される。特に、合計M個の部分相関値が求められる。ここで、M=1023/K、即ち、本例では31である。各部分相関処理では、各信号用シフトレジスタの内容と、P×K(例えば、66)コードサンプルを含むコードセグメントを高速ベクトル乗算、加算する。高速ベクトル乗算、加算は、回路402aと402bで行われる。回路402a、402bは、乗算器410a、410bと加算器412a、412bをそれぞれ備える。この演算では、信号レジスタ401aか401b内の66個の信号サンプルの各々に、(コード伸張器409で33個のコードサンプルを伸張することによって形成された)66個のコードサンプルを乗算し、その結果の総和を加算器412a、412bで求める。演算はIとQチャネルで個別にかつ同時に行われる。数学的には、この演算は内積と呼ばれ、
【0023】
【数1】
【0024】
として定義される。
ベクトル乗算と加算の出力信号は再度量子化され、RAM404a、404bに記憶可能な少ない数に抑えられる。簡単化のために、量子化器は図示していない。一実施形態の再量子化は2ビットの分解能である。
ベクトル乗算、加算の演算結果は加算器403a、403bで累積され、コンボルーション値処理回路400によって処理される。回路400は、信号RAM110a、110bと、複素ノーマライザ111と、加算器112と、マグニチュードRAM113を備える。信号RAM111aと404bに記憶される。累積プロセスでは、RAM110a、110bから特定の時間遅延に対する現在値を読み出し、ちょうど計算された部分相関値を加え、その合算値をRAM110a、110bに書き込む。特定の時間遅延に対応する部分相関値を適切に組み合わせることによって、その時間遅延に対する完全な相関値が算出される。前述したように、本プロセスは、S/N比を改善させるために必要な信号の複数のエポックに対して続けられる。従って、加算器403a、403bには2つの目的、即ち、エポック内の部分相関値を組み合わせることと、複数のエポックでの相関値を累積することがある。
【0025】
信号RAM110a、110bからの出力信号は、複素ノーマライザ405で組み合わせられ、信号のマグニチュード値が形成される。これらのRAM110a、110b内のI波形とQ波形は、複素波形の実数部と虚数部として見ることができる。マグニチュード値は、各成分を2乗し、その合計を求め、その結果値の平方根を算出して得られる。マグニチュード値については複数の近似値があり、それを用いることによって回路を単純化することができる。一実施形態の複素マグニチュード値は、個別にI成分とQ成分のスカラーマグニチュードを取り出し、どちらが大きいかを判定することによって、その近似値が得られる。大きな方のマグニチュード値を選択し、その値に小さい方のマグニチュード値の半分の値を加算することによって、そのマグニチュード値の近似値が得られる。マグニチュード値の算出結果は、RAM113に記憶できるような少数に抑えられる。簡単化のために、スケーラは図示していない。一実施形態のスケーリングでは、3ビットずつ演算結果をシフトする(即ち、8で除算する)。
【0026】
また、信号のマグニチュード値ではなく、信号のパワーを累積してもよい。この場合、405での演算は、パワー推定であって、それは、一般的に、IとQの2乗の合計を求めることによって計算される。この場合、図3を参照して説明した擬似距離決定アルゴリズムは、マグニチュード波形ではなくパワー波形に適合するように少し修正する必要がある。あるいは、さらに非線形演算を行って、IとQのマグニチュード値もしくはパワーを表す値を生成してもよい。
複素ノーマライザ111からの出力信号は、加算器112によって累積され、マグニチュードRAM113に記憶される。累積プロセスでは、特定の時間遅延に対する現在のマグニチュード値をRAM113から読み出し、ちょうど計算されたマグニチュード値の計算値に加え、その加算値をRAM113に書き込む。前述したように、S/N比を改善させるために必要なサイクル数にわたってマグニチュード値の累積が続けられる。
【0027】
ベクトル乗算器402a、402bは、信号のシフト毎にM個の部分相関値を求める。コードルックアップ回路408は、部分相関値毎に基準コードサンプルを生成する。ルックアップ回路は、2つの探索インデックスによって制御される。第1のインデックスは、32個のコードから選択される一つのコードである。この選択値は、コンボルーションプロセスで一定であって、処理チャネルが特定の衛星信号に対して相関をもつように構成される時に確立される。第2のインデックスは、1からMの間のセグメントインデックスである。各C/Aコードは、M個の非重複セグメントに分割された1023個のチップからなり、その各セグメントはK近傍のコードチップから成る。探索インデックスによって、どちらのコードセグメントが必要かが識別される。
【0028】
コード伸張器409は、一つのセグメントのKチップを入力とし、そのセグメントをK×Pのコードサンプルに伸張する。伸張処理では、各コードチップをP個の同様のコードサンプルに変換する。コード伸張器409からの出力は、ベクトル乗算器402a、bに入力する基準コードを形成する。本例では、コード伸張器からの出力信号は、33個のユニークな値から成る66個サンプルであって、その各々は2度繰り返す。
【0029】
図4に示されたアーキテクチャでは、C/Aコードレートf0よりかなり速いクロックが必要となる。例えば、C/Aコードチップ毎に2サンプルを使用し(P=2)、Kが33で、Mが31である場合は、完全なコンボルーションを行うためには、f0の2倍のレートで前方に送る信号用シフトレジスタによるシフト毎に31個の部分相関値を求める必要がある。一般的に、RAM110a、110bに対する読み出しと書き込みのためには、少なくとも2クロックサイクルが必要である。2クロックサイクルの場合は、完全なコンボルーションを行うために必要な最低クロックレートは、
fclk=2×31×2×f0=2×31×2×1.023MHz 127MHz
である。このレートは、現在の集積回路ロジックで容易に実現可能である。
【0030】
また、本発明を利用して完全なコンボルーションのサブセットを計算することが可能であることに留意されたい。この場合、信号シフトレジスタのシフト毎にM個以下の部分相関値が求められる。この場合、遅延値の全範囲は、完全なコンボルーションを構成するP×1023より小さくなる。特に、M2個の部分相関値を求める場合には、M2×K×Pの遅延値が生成される。プロセッサのクロックレートは、M2対Mの比で下げられる。さらに、RAMの容量もこの比率で削減される。従って、この代替案は、完全なコンボルーション処理のための演算やメモリ資源を備えていないシステムには有効かもしれない。
【0031】
KとMのその他の選択肢によって、さらに設計上のトレードオフの設定が可能であるが、1023の主因子は3、11、31なので、KとMの選択肢は限定される。シフトレジスタ401a、401bの大きさとベクトル乗算器402a、402bの複雑さも下がるので、K値を減少させることは望ましいことであるが、それによってMを大きな値にする必要があるので、高速クロックレートが必要となる。K値の選択肢は、3、11、31、33、93である。これらの選択肢には、(P=2、2クロックサイクル/部分相関値とすると)1.39GHz,380MHz,135MHz,127MHz,45MHzのクロックレートがそれぞれ必要となる。実証するために利用可能な技術に基づいて、K=33を選択した場合を一実施形態とする。将来の技術を用いれば、K=11で380MHzのクロックレートの選択肢も可能となり、ロジックはさらに単純化されるであろう。従って、本アーキテクチャは、速度とロジックの複雑さの間の最適なトレードオフを支援するために望ましい属性を備えている。
コードセグメントのシーケンスは制御ロジック414によって制御される。また、この制御ロジックによって、RAM110a、110b、113の正確なアドレスが識別される。以下で議論するが、不連続な順で部分相関値が求められるので、RAMアドレスの生成は些細なことではない。
【0032】
また、図4の回路の動作は、図5のフロー図を参照することによって理解することができる。動作は、信号シフトレジスタ401a、401bに事前にロードするステップ501から始まる。この時点で、コンボルーション処理を開始することができる。ステップ502では、特定部分の相関値を求めるために、コードセグメントをアクセスする。ステップ503では、コードセグメントはコード伸張器によって伸張され、C/Aチップ毎にP個のサンプルを備えることになる。次に、ステップ504では、遅延インデックスとそれに対応するRAMアドレスが計算される。遅延インデックスによって、完全なコンボルーションのどの点が部分相関値によって更新されるのかが示される。図7と共に議論される例から明らかになるが、遅延インデックスは非線形にあちこちにジャンプするが、これは決定論的なふるまいである。アドレスは、信号シフト数とコードセグメントの関数によって算出される。
ステップ505では、ベクトル乗算器402a、402bによって部分相関値が計算される。ステップ506では、信号RAM内の遅延インデックスで示された位置に計算結果が累積される。次に、ステップ507では、その処理がコヒーレント積分区間の最後に達したかどうかを判定するためのチェックが行われる。まだ達していない場合には、ステップ502aに戻り、次のコードセグメントのために上記のステップを繰り返す。
【0033】
ステップ507では、そのチェックによって全コードセグメントの部分相関値(例えば、31の部分相関)が求められていないと判定された場合は、ステップ508に進む。ステップ508では、信号レジスタ401a、401bを1サンプル分シフトする。
次に、本プロセスはステップ509に移行する。ここで、最後のシフトがコヒーレント積分区間の最後に達したかどうかを確認するためのチェックが行われる。達していない場合には、本プロセスは最初のステップ502に戻る。このチェックによってコヒーレント積分区間の最後に達したことが示された場合には、ステップ510に進む。ここで、信号のマグニチュード値が複素ノーマライザ111によって計算される。その結果は加算器112によって加算され、マグニチュードRAM113に記憶される。次に、ステップ511では、全てのマグニチュード値が累積されたかどうかを判定するためのチェックが行われる。累積されている場合には、本方法はステップ512で終了する。そうでない場合には、ステップ501で次の部分相関値を求めて、処理を続ける。
【0034】
図6と図7の単純化した例によって、本発明はどのように部分相関値を利用して完全なコンボルーション値を累積するかが示される。説明を明瞭にするために、これらの図では、GPS信号であって長さが1023のC/Aコードとは反対に非常に短い6コードのコンボルーションを示す。さらにこの例をさらに単純化するために、コードチップ毎に1サンプル、即ち、P=1を用いる。図6は標準マッチト・フィルタリングによるコンボルーションを示し、図7は部分相関値を組み合わせる方法による同様のコンボルーションを示す。図7の詳細によって、本発明の全体処理が理解できるようになる。どちらの方法も同じコンボルーション値が得られる。
図6は、長さ6の信号に対する従来のマッチト・フィルタの処理を示す。本処理は、シフト0として示されている時点から始まる。この時点で、信号の全サイクルを構成する6つの連続信号サンプルは、信号シフトレジスタ601に記憶されている。個々のサンプルには、大文字のインデックスA、B、C、D、E、Fがラベル付けされている。全長6のコードのコードサンプルは参照レジスタ602で保持され、小文字のインデックスa、b、c、d、e、fがラベル付けされる。シフト0の時点で、ベクトル乗算と加算が行われ、シフト0の相関値を算出する。各信号サンプルと対応するコードサンプルを乗算し、その結果の合計を求めることによって相関値603を得る。
【0035】
次に、シフト1で示されるように、信号シフトレジスタ604は、1サンプル分進める。信号は周期性があり、レジスタの左側に導入された新しいサンプルは、右外側にシフトしたサンプルに等しい。レジスタ604でシフトされた内容は、インデックスF、A、B、C、D、E付きのサンプルである。コードはシフトされない。次に、ベクトル乗算と加算によって、シフト1に対する相関値605が得られる。このシフトプロセスは、さらに5シフト分続けられ、その時点で、完全なコンボルーションを構成する6つの完全な相関値が利用可能になる。
【0036】
図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つの全ベクトル乗算を行うために、十分な期間、信号レジスタを保持し、この期間、コードはシフトされないが、異なるコードセグメントが選択されることに留意されたい。
【0037】
部分相関値は、信号パス705に基づいてメモリに累積される。例えば、シフト0で、第1のコードセグメントからの部分相関値が合算されて相関値704になる。第2のセグメントからの部分相関値が合算されてシフト2の相関値706になる。第3のセグメントからの部分相関値から、シフト4に対する相関値708が得られる。
3つの部分相関値を求めた後に、信号はシフトされる。シフト1として示されるこの段階で、信号レジスタはサンプルFとAを保持している。さらに、前と同じ3つのコードセグメントを用いて3つの部分相関値を算出する。これらの部分相関処理によって、シフト1、3、5に対する相関値710、712、714がそれぞれ得られる。このプロセスは、さらに4つの信号シフトについて続けられ、その時点で完全なコンボルーション値が利用可能になる。この処理では、全部で18個の部分相関値を算出する必要があり、それによって、コンボルーションを構成する完全な6つの値が得られることがわかる。
【0038】
図7に記載のアーキテクチャには、本発明の重要な2つの特徴が示されている。第1に、長さ2のシフトレジスタとベクトル乗算と加算ユニットのみを使って、長さが6のコードに対する完全なコンボルーションが生成されることが明らかである。このことは、構成要素の長さが6である図6の回路よりも少ない回路で済むということである。第2に、図7のコードサンプルは、各シフトに対して同じ一定セグメント単位でアクセスされ、各セグメントは、独立した非重複コード部である。従って、図8と図9を参照して議論するが、単純なルックアップ方式もしくはレジスタ方式でコードをベクトル乗算器に提供することができる。これらの方式によって、その他のアーキテクチャより少ない回路で済むようになる。ここで、その他のアーキテクチャとは、例えば、大きなブロックのコードビットをより複雑な順列として利用可能にする必要のあるものである。また、本発明では、コード生成回路を設ける必要がない。
【0039】
図8に、本発明に適したコードルックアップ回路408の一実施形態のブロック図を示す。テーブル801には、例えば、読出し専用メモリ(ROM)やハードワイアードロジックに記憶された32個のコードの各々の1023ビットの全ての値が保持されている。テーブル801は、32個のサブテーブルとして構成されており、各コードに対して1つが割り当てられる。さらに、各サブテーブルは、長さがKのM個のセグメントとして構成されており、前述したように、K×M=1023であり、K、Mは選択値である。乗算器802は、選択値に基づいて特定のコードを選択する。乗算器802からの出力は、所望値の特定のサブテーブルに与えられる。乗算器803は、1からMのセグメント選択値に基づいて特定のセグメントを選択する。乗算器803からの出力は、長さKの特定のコードセグメント804になり、これには、コード伸張器409に提供されるコードビットが含まれる。
【0040】
乗算器803は、部分相関処理毎、即ち、2クロックサイクル毎にコードセグメントの変更ができるように高速でならなければならない。このため、従来のコード生成器によってすぐに生成される場合とは異なり、全コードビットをテーブル801に事前に記憶させておく必要がある。
図8の回路は説明目的のものである。実際には、機能上等価な様々な回路デザインが多くある。特に、最新のASICデザインで利用される論理合成プロセスによって、上述の動作と等価な動作を実現する特定パターンのゲートを作成することが可能である。
図9に、本発明に適したコードルックアップ回路408のその他の実施形態のブロック図を示す。特定のコードに対応する1023コードビットが、長さK×M行として構成された1023個の双方向シフトレジスタ901に保持されている。シフトレジスタは、実行モードとローディングモードで動作する。
【0041】
実行モードでは、最下位行レジスタにシフトする最上位行レジスタを除く各レジスタ901は、上の次行のレジスタにサンプルをシフトするように構成される。実行モードでのシフト方向は、901内の実線の矢印で示されている。全レジスタにクロックを与えることによって、コードビット行が巡回できるようになり、いかなる時でも最上位行には長さがKのM個のコードセグメントのうち1つが含まれるようになる。この最上位行のビットがコード伸張器409に提供される。レジスタは高速巡回できるので、部分相関処理毎に異なるコードセグメントが利用可能になる。
ローディングモードでは、上の行の第1列レジスタにシフトする最終列レジスタを除く各レジスタは、次行のレジスタにサンプルをシフトするように構成される。ローディングモードでのシフト方向は、901内の点線の矢印で示されている。左下のシフトレジスタ904は、コード生成器902に接続されている。このコード生成器は、選択値に基づいて特定のコードの1023コードビットを順次生成できる従来のコード生成器である。コードルックアップ回路を特定用途に構成する際に、レジスタはローディングモードとなり、コード生成器を使ってコードビットが生成されるが、それは、レジスタにクロックを与える。全ビットがクロック化された後で、コードは、長さがKのM個のセグメントとしてレジスタ内に保持されるようになる。次にこの回路は、実行モードで使用可能となる。
本願では、本発明の教示を取り入れた様々な実施形態を示し詳細に説明してきたが、当業者であれば、これらの教示を取り入れたその他の多くの変形実施形態を容易に考案することができる。
【図面の簡単な説明】
【0042】
【図1】図1は、本発明を取り入れたGPS受信機のブロック図である。
【図2】図2は、本発明によって生成された波形例を示す図である。
【図3】図3は、図2の累積されたマグニチュード波形を示す図である。
【図4】図4は、コンボルーションプロセッサとコンボルーション値処理回路の詳細なブロック図である。
【図5】図5は、本発明の処理方法を示すフロー図である。
【図6】図6は、従来の方法で完全なコンボルーションを計算する例を単純化して図示したものである。
【図7】図7は、図6の完全なコンボルーションを本発明を用いてどのように実施するかを図示したものである。
【図8】図8は、本発明の使用に適したコード探索装置の一実施形態を示したものである。
【図9】図9は、本発明の一代替実施形態の使用に適した2次元シフトレジスタの一実施形態を示したものである。
【0001】
本発明は、デジタル信号受信機のための信号相関器に関し、特に、例えば、全地球測位システム(GPS)受信機で信号相関を求める方法と装置に関する。
【背景技術】
【0002】
全地球測位システム(GPS)の信号測定プロセスでは、受信信号と既知の擬似ランダム雑音(PRN)コードの一連の相関を求めることによって雑音中からGPS信号を探索する処理から開始される。信号の正確な周波数と到着時間の遅れが共にわかっていないので、探索プロセスは非常に時間がかかるものである。従来の受信機では、信号検出のための2次元探索を行ない、可能性のある周波数毎の遅延可能性をチェックする。特定の周波数と遅延のある信号の存在を調べるために、受信機をその周波数に同調させ、受信信号と、到着時間に対応する分遅延させた既知のPRNコードとの相関を求める。信号が検出されない場合は次の遅延の可能性を探索し、全ての遅延の可能性を調べ終わると、次に、可能性のある周波数の探索に入る。信号を十分平均化して信号と雑音を識別するために、1ミリ秒以上にわたって個々の相関を求める。何千個もの周波数と遅延について調べるので、捕捉プロセス全体で数十秒かかることがある。
【0003】
最近、GPS技術が無線デバイスに新たに適用されている。例えば、携帯電話にGPS技術を用いて、緊急時位置特定機能を実現している。これらのアプリケーションでは、わずか数秒間で信号を捕捉する必要がある。さらに、これらのアプリケーションでは、GPS受信機は、GPS信号レベルが非常に減衰して受信が困難な環境や室内で動作する必要がある。減衰信号を検出するためには、各相関演算のためにかなりの時間を割く必要がある。これは、従来のGPS受信機でかかる1〜10ミリ秒に対して、例えば、積分演算には数秒かかることがある。従来の受信機で用いられる2次元逐次探索プロセスは、そのような積分時間は非現実的である。何故ならば、全探索時間は100倍以上になるからである。
【0004】
探索プロセス時間を短縮するために、GPS設計者は受信機に相関器を追加して、多くの到着時間の可能性を同時に調べるようにしている。通常、追加される相関器毎に個別のコードミクサと信号アキュムレータが必要になる。これによって、所定の感度レベルでは、相関器の数に比例して探索時間が短くなる。携帯電話のアプリケーションで必要な感度と捕捉時間を実現するためには、設計には数千個もの相関器を実装する必要がある。一般的に、この追加によって、消費者にとって非常に複雑で高価な装置になってしまう。
【0005】
例えば、1999年5月4日発行の米国特許第5901171号には、一つの時分割処理部を使って12個のチャネルの各々で20個までの相関を同時に求める三重化技術が記載されている。この技術によって、20個の遅延の可能性を同時に調べることができるので、単一の相関器による設計よりも性能が向上する。不確かな遅延に関して全範囲に渡って全信号探索を行うには、20個の相関器を続けて約100回使って2046個の遅延を調べる必要がある。従って、数秒間で捕捉するには、積分時間は数十ミリ秒以内でなければならない。この時間は、GPSの室内でのアプリケーションに必要な感度を達成するには不十分である。
さらに探索プロセスを改善するためには、GPS受信機のアーキテクチャが、受信信号と既知のPRNコードのコンボルーションを得る処理能力をもつ必要がある。これは、全C/Aコードエポック(1023チップ)にわたって時間遅延の可能性の全てをカバーする相関器群を提供することに等しい。
【0006】
1997年9月2日発行の米国特許第5663734号には、ソフトウェアアルゴリズムを用いて必要とされる相関値を効率的に求めるソフトウェアベースの高速フーリエ変換(FFT)について記載されている。この方法は、全アプリケーションに適しているわけではない。何故ならば、ソフトウェアFFTを実行させるためにプログラマブルデジタル信号プロセッサ(DSP)が必要であり、また、未処理の信号サンプルを記憶する大容量メモリが必要であるからである。さらに、この方法では、ソフトウェア計算と、信号の全スナップショットの記憶後にソフトウェア処理が開始されるため、処理遅延が生じる。多くのアプリケーションでは、リアルタイム処理による方法が好ましく、広範囲にわたるソフトウェア処理を伴わないことが好ましい。Lyusin他の「GPS/GLONASS受信機のマッチト・フィルタ技術による高速捕捉」の307〜315頁には、1023タップのマッチト・フィルタを用いて実時間で畳込みを行うハードウェアのアプローチが記載されている。マッチト・フィルタは、全C/Aコードエポックを保持するために十分な容量をもつシフトレジスタと、全エポックの信号とC/Aコード間の内積を求めるための1023幅のベクトル加乗算器から構成される。
【0007】
この回路の複雑さは、携帯電話などの低価格消費者用デバイスの範疇を逸脱している。また、その他のマッチト・フィルタの方法、例えば、Pコードを捕捉する軍事用受信機で用いられるような方法では、大規模なベクトル乗算器が使われている。
【発明の開示】
【発明が解決しようとする課題】
【0008】
従って、全エポックの信号とC/Aコードの処理が可能であって、単純/低コストで改良されたGPS処理部が求められている。そのようなデバイスは、好適には大規模なベクトル乗算器を用いることなく、完全なコンボルーションや多くの相関を並列に求めることができる比較的単純なハードウェアから構築される必要がある。
【課題を解決するための手段】
【0009】
(発明の要約)
本発明は、未処理の信号サンプルを記憶したり多くのソフトウェア処理を行うことなく実時間で入力信号(例えば、GPS信号)と擬似ランダム雑音(PRN)基準コードとのコンボルーション値を求めることによって、完全なコンボルーションを計算する方法と装置を提供するものである。本装置は、全エポックを処理できる規模のベクトル乗算器と同じ結果を得るように高速動作するベクトル乗算器を備える。本発明は、携帯電話などの消費者向け装置の複雑性の拘束条件に合致する集積回路を用いて実現することができる。その設計には、コンボルーション値を長区間に渡って平均化することによって高感度を保証するために必要なロジックが含まれている。本発明によって、室内で受信された信号を含む大きく減衰した信号から位置を特定する際に必要な信号の相関を求めることができる。
【0010】
本装置全体は、従来のGPSチューナと、デシメーション回路と、コンボルーションプロセッサと、コンボルーション値を累積する複数のRAM部から構成される。コンボルーションプロセッサは、約100MHz以上の高速クロックで動作するため、小規模な回路を繰り返し使うことによって完全なコンボルーション演算が可能になる。特に、コンボルーションの各ポイントは、一連の部分相関値に分解されるが、各部分相関は、エポックの一部だけを処理可能な規模のベクトル乗算器を用いて生成される。本装置は、C/Aコードを、非重複コードセグメントに分割することによって部分相関値を生成する。各部分相関では、一度に1コードセグメントだけを使い、また、単純なルックアップテーブルを用いることによって、C/Aコードを効果的に記憶し、検索することができる。
【0011】
本プロセッサは、入力IFサンプルのデシメーション処理を開始して、所望のサンプルレートで信号ストリームを生成する。ここでのサンプルレートは受信信号のタイミングと正確に一致する。所望のサンプルレートがPf0(C/Aチップ毎のPサンプル数)である場合、サンプリングレートは、各信号エポックで正確に1023×Pサンプルを取得できるように設定される。本プロセッサは、P×K個の入力サンプルを保持できる規模のシフトレジスタを使って、クロック化された信号の相関を求める。尚、Kは係数1023である。信号シフト毎に、一連のM回の部分相関演算が実施される。尚、Mは、M×K=1023となるように選択される。各部分相関は、C/Aコードの長さKのセグメントをP×K個のサンプルに伸張することによって生成される1ブロックの基準サンプル信号とシフトレジスタの内容の内積をとることによって求められる。部分相関値はメモリに累積される。本プロセッサは、部分相関値を累積することによって、完全なコンボルーションが得られるまで、多くの相関ポイントでの完全な相関値を求める。
本発明は、添付図面と併せて上記の詳細な説明を熟考すれば容易に理解することができる。
【発明を実施するための最良の形態】
【0012】
図1に、本発明を取り入れた全地球測位システム(GPS)受信機100のブロック図を示す。本発明の1つのアプリケーションでは、本発明を取り入れたGPS受信機をプラットフォームとして使っている。さらに、本発明では、信号相関を必要とする別のプラットフォームを使ってもよい。
(GPS信号などの)信号は、アンテナ101から受信される。アナログ/デジタル(A/D)変換器103によってデジタル化するために、無線周波数−中間周波数変換器(RF/IF変換器)102は、信号を濾波し、増幅し、周波数シフトする。構成要素101、102、103は、従来のGPS受信機で使われている素子とほぼ同じである。
A/D103からの出力は、デジタルロジックに組み込まれた一連の処理チャネル1041、1042、・・・104n(nは整数)に送られる。各処理チャネル104nを使って、特定のGPS衛星からの信号を処理することができる。特定チャネルの信号は、数値制御発振器(NCO)106により駆動されるチューナ105によってデジタル的に同調される。チューナ105は2つ働きをする。第1の働きは、RF/IF変換後に残ったIF周波数成分を除去することである。第2の働きは、衛星とユーザの移動および基準周波数の誤差によって生じる衛星ドップラ周波数シフトを除去することである。チューナからの出力は、同相成分(I)と直交成分(Q)からなるベースバンド信号である。構成要素105、106の工程は、従来のGPS受信機の設計で用いられるものとほぼ同じである。
【0013】
デシメーション回路107は構成要素105の出力信号を処理する。デシメーション回路107の出力は、入力信号のタイミングと正確に同期するレートで出力される、I成分とQ成分をもつ一連の複素信号サンプルである。本発明の一実施形態のデシメーション処理は、単純な前合算処理であって、これは、出力サンプル区間の全受信信号サンプルを合算するものである。数値制御発振器(NCO)108によってサンプリングプロセスの時間が決まる。例えば、P=2の場合、コードNCO108は、ドップラシフトに合わせて、(2×fS)の周波数を生成するように設定される。但し、fSはf0(GPS信号のC/Aコードのチップレート)である。NCOは、ファームウェアからの外部入力コマンドに基づいてドップラシフトを調整する。ドップラシフトは衛星毎に異なるので、各チャネル104nに対して個別のコードNCO108とデシメーション回路107が必要である。コードNCO108は任意の周波数を発生することができるので、受信サンプルレートをfSの整数倍にする必要がないことに注目されたい。デシメーション回路107が前合算器である場合、通常、合算されるサンプル数は、2つの値のいずれかがトグル選択されるので、長期的に正確なサンプルタイミングが維持されることになる。例えば、受信サンプルレートが10MHzであり、所望のサンプルレートが2.046MHzである場合、前合算器は4個か5個のサンプルを合算するので、所望のサンプルレートが平均として維持される。
【0014】
また、デシメーション回路107は、出力部に(不図示の)量子化器を備えており、後処理のために信号成分のビット数を削減する。本発明の一実施形態では、2ビット量子化を行なう。デシメーション回路107からの信号サンプルは、コンボルーションプロセッサ109に送られる。コンボルーションプロセッサ109は、信号用ランダムアクセスメモリ(RAM)110a、110bに記憶されることになる結果を生成する。具体的には、これらのRAM110a、110bには、入力信号と基準PNコード(例えばGPSのC/Aコード)間の完全なコンボルーションの全てか、もしくは、その一部を構成する複素ベクトルが保持される。コンボルーション値は、信号と基準(PNコード)間の高い相関に対応する地点でピークとなる。以下で詳細に検討するように、様々な衛星信号のピークの相対的な位置を使って最終的に位置情報が算出される。
【0015】
コンボルーションプロセッサ109と信号RAM110a、110bは、公称1ミリ秒のインターバルで繰り返すGPS信号の複数のエポックに対するコンボルーション値を累積する。例えば、10ミリ秒の信号が処理された場合は、RAM110a、110bの値は、10個の相関値の合計値であって、その値の各々は、一つのエポックで生成されたものである。デシメーション処理のタイミングで各エポック内で同じ相対時点でサンプルが確実に取得されるので、個々の相関は全て同様の特性を備えるはずである。同様の個々の相関値を累積することによってS/N比が改善され、弱い信号を検出する受信機の性能が向上する。この処理は、コヒーレント積分と呼ばれ、これから検討するマグニチュード積分と組み合わせることによって、数秒間での平均相関値が得られる。
【0016】
コヒーレント積分区間の時間長はいくつかの要因によって制限されるが、これには、非補正のドップラシフト、GPS信号ナビゲーションデータビット、受信機100の移動から引き起こされる位相シフトが含まれる。これらの要因によって、ゆっくりではあるが、見かけ上ランダムな位相変動が信号に加わる。数十ミリ秒にわたるこの位相変動によって、コヒーレント積分値を無効にしてしまう有害な干渉が生じる。従って、長い平均処理区間を得るために、受信機100はマグニチュード値を累積する二次的工程を実行する。具体的には、信号RAM110a、110bに記憶された信号は、複素コンボルーションベクトルの複素マグニチュード値を生成する複素ノーマライザ111に周期的に出力される。複素マグニチュード値は加算器112に累積され、マグニチュードRAM113に記憶される。信号の複素マグニチュード値が算出される度に、信号RAM110a、110bの記憶は消去されるので、さらにコヒーレント積分が可能になる。このプロセスは所望の数のマグニチュード値が累積されるまで続けられる。例えば、コヒーレント平均処理区間が10ミリ秒である場合には、200個のマグニチュード値の累積が必要であり、このプロセス全体は2秒間続けられることになる。
【0017】
コンボルーション処理後、マグニチュードRAM113には、S/N比を向上させるために積分されたコンボルーション値である複素マグニチュード値を含むベクトルが記憶される。以下で検討するように、このベクトルは、CPU114で実行されるソフトウェアアルゴリズムによって処理され、受信機位置を特定するために用いられる擬似距離データが得られる。尚、これらの工程でのCPUの計算負荷は、従来のGPS受信機やFFTベース相関器と比べてかなり小さい。これを実施するために、ソフトウェア処理前に、相関を求め積分計算するタスクを実行する。
【0018】
図2に、図1の構成要素によって生成された波形201I、201Q、202を示す。波形201I、201Q、202は、信号強度(縦軸208が)対コードチップ(横軸210)のプロットである。波形は、コヒーレント積分とマグニチュード積分時のコンボルーションプロセッサ109からの出力信号を示している。理解を容易にするために、9ミリ秒だけの信号処理時間を示しており、これは、累積した3つのマグニチュード値から構成されており、その各々は、3回のコヒーレント積分に基づくものである。例えば、P=2の場合には、コヒーレント積分毎に2046個の信号サンプルがある。波形201I、201Qはコンボルーションプロセッサ109からの出力信号であり、201Iは出力信号のうちのI成分であり、201QはQ成分である。2046個のサンプルの各ブロックは、完全なコンボルーション値であって、これは、コンボルーションプロセッサ109によって、リアルタイムでその区間内で処理された2046個の信号サンプルから生成される。コンボルーション値には、信号遅延に対応する(参照番号206I、206Qで示されるような)1つのピーク近傍を除く雑音が含まれている。信号はエポック毎に繰り返すので、そのピークは2046個のサンプル毎に繰り返し現れる。最初の3サイクルの間、各エポックに対応する遅延値の総和を求めることによって、相関値がRAM110a、110bに累積される。(例えば、出力時間4の値は、出力時間2050、4096の値との総和がとられる。)通常、相関のピークは同じ遅延オフセットで現れ、ピークの大きさは累積に伴って大きくなり、3エポックでは大体3倍になる。また、雑音の相関についてはエポック間の相関はないので、雑音レベルも大きくなるが、3の平方根にしか大きくならない。S/N比は累積プロセスによって改善され、およそ3の平方根分向上する。波形201Qは、直交チャネルで発生する同じ信号累積プロセスを示している。
【0019】
信号の4番目のサイクルで、信号RAM110a、110bの記憶は全て消去され、信号累積プロセスは再開する。波形201I、201Qは相関を示すものであって、9個の信号エポックにわたって3回累積しダンプしたものである。
コヒーレント平均処理区間の終わりで、累積信号のマグニチュード値が計算され合算されて、マグニチュードRAM113に記憶される。マグニチュードRAM113内の信号は波形202で示される。本例では、波形202は、各コヒーレント積分の完了に対応して3回更新される。ピークは、参照番号2121、2122、2123で示され、雑音は参照番号214で示されている。S/N比はマグニチュード値が累積される毎に改善され、到着時間に対応するピークを識別するシステムの性能がさらに向上することがわかる。
【0020】
本例では、信号の複素位相が9エポックにわたって変化していることに留意されたい。特に、信号は当初IとQチャネルの両方に存在したが、最後のエポックまでには回転して、信号はIチャネルで強くなりQチャネルにはほとんど存在しなくなった。上述したように、不完全なドップラシフト同調やその他の影響を受けて、この変化は生じる。多くのエポックにわたって、位相は多くのサイクルを経て回転するので、累積時には信号が消去されることになる。このため、本発明の受信機は、短い区間でのみコレーレントに累積するので、長区間の平均化処理のためにマグニチュード値を(非コヒーレントに)累積することに依存している。マグニチュード値は位相とは無関係であり、数秒の区間で積分可能である。
【0021】
図3に、累積されたマグニチュード値の波形202の詳細を示す。プロット300は、信号の時間遅延に対応するピーク2123近傍のコンボルーションのマグニチュード値を示す。コードチップ軸210上の点は、P値でC/Aコードチップ長を除算した値に等しいインターバルで配置されている。ここで、Pは、信号サンプリングレートと、C/Aコードチップレートf0の比である。本例では、P=2なので、点は1/2チップインターバル、即ち、約500ns毎に配置されている。(この時間インターバルは、距離にして150メートルの差に相当する)約10メートル以上のオーダの擬似距離値を達成するために、通常、CPU114では、コンボルーション値をさらに処理して位置情報を算出する。コンボルーションプロセスによって得られる離散相関値を用いて正確な時間遅延を推定する補間法が多くある。一実施形態では、雑音測定データに最適な信号のパラメータを特定するために最小2乗推定法を用いている。理想的な信号応答は、信号の自己相関マグニチュード値である。この波形は、急峻な三角形302で容易に示すことができる。その三角形の底辺の幅303は、C/Aコードチップの2個分か、あるいは、コンボルーション値の(P=2の場合)4点に相当する。三角形の底辺の高さ304は、時間遅延に対する畳込みを行った際の雑音のマグニチュード値に相当するものであって、信号には対応しない。この雑音のマグニチュード値は、増幅器の雑音指数や、ケーブルとフィルタでのロスや、システム温度といった設計パラメータに基づくデータ、即ち、事前算出値から推定可能である。信号のマグニチュード値と時間遅延に対応する三角ピーク305とセンター306は不明である。最小2乗法を用いて、これらの2つのパラメータを推定して、雑音性データ点と、所定のピークとセンターをもつ三角形にフィッティングすることができる。図4は、コンボルーションプロセッサ109(およびコンボルーション値処理回路400)の詳細なブロック図であって、特に、どのように回路内の小さなブロックを繰り返し使って完全なコンボルーションが行われるかを示すものである。回路動作は、図4と、図4のプロセッサ109の動作を表す図5のフロー図を参照して、図6と図7の単純な例を比較することによって、最もよく理解することができる。
【0022】
デシメーション回路107からの信号はシフトレジスタ401a、401bに送られ、IとQ成分がそれぞれ処理される。各シフトレジスタ401a、401bの長さはP×Kである。ここで、PはC/Aコードチップ毎の所望のサンプル数であり、Kは設計パラメータとして選択された値である。これから説明するように、Kは1023の係数である。議論を簡単にするために、議論の最後の部分では、P=2(1/2チップインターバルのサンプル)でK=33の場合の特定の一実施形態に焦点を絞ることにする。シフトレジスタを介して信号を送るこの手段によって、信号をダブルバッファリングする回路が不要となり、コストが削減され実装が容易になる。
コードNCO108で計られる2f0のレートでシフトレジスタ401a、401bを介して信号が前方に送られる。一連の部分相関を求めるために、複数のクロックサイクルにわたって信号はシフトレジスタで保持される。特に、合計M個の部分相関値が求められる。ここで、M=1023/K、即ち、本例では31である。各部分相関処理では、各信号用シフトレジスタの内容と、P×K(例えば、66)コードサンプルを含むコードセグメントを高速ベクトル乗算、加算する。高速ベクトル乗算、加算は、回路402aと402bで行われる。回路402a、402bは、乗算器410a、410bと加算器412a、412bをそれぞれ備える。この演算では、信号レジスタ401aか401b内の66個の信号サンプルの各々に、(コード伸張器409で33個のコードサンプルを伸張することによって形成された)66個のコードサンプルを乗算し、その結果の総和を加算器412a、412bで求める。演算はIとQチャネルで個別にかつ同時に行われる。数学的には、この演算は内積と呼ばれ、
【0023】
【数1】
【0024】
として定義される。
ベクトル乗算と加算の出力信号は再度量子化され、RAM404a、404bに記憶可能な少ない数に抑えられる。簡単化のために、量子化器は図示していない。一実施形態の再量子化は2ビットの分解能である。
ベクトル乗算、加算の演算結果は加算器403a、403bで累積され、コンボルーション値処理回路400によって処理される。回路400は、信号RAM110a、110bと、複素ノーマライザ111と、加算器112と、マグニチュードRAM113を備える。信号RAM111aと404bに記憶される。累積プロセスでは、RAM110a、110bから特定の時間遅延に対する現在値を読み出し、ちょうど計算された部分相関値を加え、その合算値をRAM110a、110bに書き込む。特定の時間遅延に対応する部分相関値を適切に組み合わせることによって、その時間遅延に対する完全な相関値が算出される。前述したように、本プロセスは、S/N比を改善させるために必要な信号の複数のエポックに対して続けられる。従って、加算器403a、403bには2つの目的、即ち、エポック内の部分相関値を組み合わせることと、複数のエポックでの相関値を累積することがある。
【0025】
信号RAM110a、110bからの出力信号は、複素ノーマライザ405で組み合わせられ、信号のマグニチュード値が形成される。これらのRAM110a、110b内のI波形とQ波形は、複素波形の実数部と虚数部として見ることができる。マグニチュード値は、各成分を2乗し、その合計を求め、その結果値の平方根を算出して得られる。マグニチュード値については複数の近似値があり、それを用いることによって回路を単純化することができる。一実施形態の複素マグニチュード値は、個別にI成分とQ成分のスカラーマグニチュードを取り出し、どちらが大きいかを判定することによって、その近似値が得られる。大きな方のマグニチュード値を選択し、その値に小さい方のマグニチュード値の半分の値を加算することによって、そのマグニチュード値の近似値が得られる。マグニチュード値の算出結果は、RAM113に記憶できるような少数に抑えられる。簡単化のために、スケーラは図示していない。一実施形態のスケーリングでは、3ビットずつ演算結果をシフトする(即ち、8で除算する)。
【0026】
また、信号のマグニチュード値ではなく、信号のパワーを累積してもよい。この場合、405での演算は、パワー推定であって、それは、一般的に、IとQの2乗の合計を求めることによって計算される。この場合、図3を参照して説明した擬似距離決定アルゴリズムは、マグニチュード波形ではなくパワー波形に適合するように少し修正する必要がある。あるいは、さらに非線形演算を行って、IとQのマグニチュード値もしくはパワーを表す値を生成してもよい。
複素ノーマライザ111からの出力信号は、加算器112によって累積され、マグニチュードRAM113に記憶される。累積プロセスでは、特定の時間遅延に対する現在のマグニチュード値をRAM113から読み出し、ちょうど計算されたマグニチュード値の計算値に加え、その加算値をRAM113に書き込む。前述したように、S/N比を改善させるために必要なサイクル数にわたってマグニチュード値の累積が続けられる。
【0027】
ベクトル乗算器402a、402bは、信号のシフト毎にM個の部分相関値を求める。コードルックアップ回路408は、部分相関値毎に基準コードサンプルを生成する。ルックアップ回路は、2つの探索インデックスによって制御される。第1のインデックスは、32個のコードから選択される一つのコードである。この選択値は、コンボルーションプロセスで一定であって、処理チャネルが特定の衛星信号に対して相関をもつように構成される時に確立される。第2のインデックスは、1からMの間のセグメントインデックスである。各C/Aコードは、M個の非重複セグメントに分割された1023個のチップからなり、その各セグメントはK近傍のコードチップから成る。探索インデックスによって、どちらのコードセグメントが必要かが識別される。
【0028】
コード伸張器409は、一つのセグメントのKチップを入力とし、そのセグメントをK×Pのコードサンプルに伸張する。伸張処理では、各コードチップをP個の同様のコードサンプルに変換する。コード伸張器409からの出力は、ベクトル乗算器402a、bに入力する基準コードを形成する。本例では、コード伸張器からの出力信号は、33個のユニークな値から成る66個サンプルであって、その各々は2度繰り返す。
【0029】
図4に示されたアーキテクチャでは、C/Aコードレートf0よりかなり速いクロックが必要となる。例えば、C/Aコードチップ毎に2サンプルを使用し(P=2)、Kが33で、Mが31である場合は、完全なコンボルーションを行うためには、f0の2倍のレートで前方に送る信号用シフトレジスタによるシフト毎に31個の部分相関値を求める必要がある。一般的に、RAM110a、110bに対する読み出しと書き込みのためには、少なくとも2クロックサイクルが必要である。2クロックサイクルの場合は、完全なコンボルーションを行うために必要な最低クロックレートは、
fclk=2×31×2×f0=2×31×2×1.023MHz 127MHz
である。このレートは、現在の集積回路ロジックで容易に実現可能である。
【0030】
また、本発明を利用して完全なコンボルーションのサブセットを計算することが可能であることに留意されたい。この場合、信号シフトレジスタのシフト毎にM個以下の部分相関値が求められる。この場合、遅延値の全範囲は、完全なコンボルーションを構成するP×1023より小さくなる。特に、M2個の部分相関値を求める場合には、M2×K×Pの遅延値が生成される。プロセッサのクロックレートは、M2対Mの比で下げられる。さらに、RAMの容量もこの比率で削減される。従って、この代替案は、完全なコンボルーション処理のための演算やメモリ資源を備えていないシステムには有効かもしれない。
【0031】
KとMのその他の選択肢によって、さらに設計上のトレードオフの設定が可能であるが、1023の主因子は3、11、31なので、KとMの選択肢は限定される。シフトレジスタ401a、401bの大きさとベクトル乗算器402a、402bの複雑さも下がるので、K値を減少させることは望ましいことであるが、それによってMを大きな値にする必要があるので、高速クロックレートが必要となる。K値の選択肢は、3、11、31、33、93である。これらの選択肢には、(P=2、2クロックサイクル/部分相関値とすると)1.39GHz,380MHz,135MHz,127MHz,45MHzのクロックレートがそれぞれ必要となる。実証するために利用可能な技術に基づいて、K=33を選択した場合を一実施形態とする。将来の技術を用いれば、K=11で380MHzのクロックレートの選択肢も可能となり、ロジックはさらに単純化されるであろう。従って、本アーキテクチャは、速度とロジックの複雑さの間の最適なトレードオフを支援するために望ましい属性を備えている。
コードセグメントのシーケンスは制御ロジック414によって制御される。また、この制御ロジックによって、RAM110a、110b、113の正確なアドレスが識別される。以下で議論するが、不連続な順で部分相関値が求められるので、RAMアドレスの生成は些細なことではない。
【0032】
また、図4の回路の動作は、図5のフロー図を参照することによって理解することができる。動作は、信号シフトレジスタ401a、401bに事前にロードするステップ501から始まる。この時点で、コンボルーション処理を開始することができる。ステップ502では、特定部分の相関値を求めるために、コードセグメントをアクセスする。ステップ503では、コードセグメントはコード伸張器によって伸張され、C/Aチップ毎にP個のサンプルを備えることになる。次に、ステップ504では、遅延インデックスとそれに対応するRAMアドレスが計算される。遅延インデックスによって、完全なコンボルーションのどの点が部分相関値によって更新されるのかが示される。図7と共に議論される例から明らかになるが、遅延インデックスは非線形にあちこちにジャンプするが、これは決定論的なふるまいである。アドレスは、信号シフト数とコードセグメントの関数によって算出される。
ステップ505では、ベクトル乗算器402a、402bによって部分相関値が計算される。ステップ506では、信号RAM内の遅延インデックスで示された位置に計算結果が累積される。次に、ステップ507では、その処理がコヒーレント積分区間の最後に達したかどうかを判定するためのチェックが行われる。まだ達していない場合には、ステップ502aに戻り、次のコードセグメントのために上記のステップを繰り返す。
【0033】
ステップ507では、そのチェックによって全コードセグメントの部分相関値(例えば、31の部分相関)が求められていないと判定された場合は、ステップ508に進む。ステップ508では、信号レジスタ401a、401bを1サンプル分シフトする。
次に、本プロセスはステップ509に移行する。ここで、最後のシフトがコヒーレント積分区間の最後に達したかどうかを確認するためのチェックが行われる。達していない場合には、本プロセスは最初のステップ502に戻る。このチェックによってコヒーレント積分区間の最後に達したことが示された場合には、ステップ510に進む。ここで、信号のマグニチュード値が複素ノーマライザ111によって計算される。その結果は加算器112によって加算され、マグニチュードRAM113に記憶される。次に、ステップ511では、全てのマグニチュード値が累積されたかどうかを判定するためのチェックが行われる。累積されている場合には、本方法はステップ512で終了する。そうでない場合には、ステップ501で次の部分相関値を求めて、処理を続ける。
【0034】
図6と図7の単純化した例によって、本発明はどのように部分相関値を利用して完全なコンボルーション値を累積するかが示される。説明を明瞭にするために、これらの図では、GPS信号であって長さが1023のC/Aコードとは反対に非常に短い6コードのコンボルーションを示す。さらにこの例をさらに単純化するために、コードチップ毎に1サンプル、即ち、P=1を用いる。図6は標準マッチト・フィルタリングによるコンボルーションを示し、図7は部分相関値を組み合わせる方法による同様のコンボルーションを示す。図7の詳細によって、本発明の全体処理が理解できるようになる。どちらの方法も同じコンボルーション値が得られる。
図6は、長さ6の信号に対する従来のマッチト・フィルタの処理を示す。本処理は、シフト0として示されている時点から始まる。この時点で、信号の全サイクルを構成する6つの連続信号サンプルは、信号シフトレジスタ601に記憶されている。個々のサンプルには、大文字のインデックスA、B、C、D、E、Fがラベル付けされている。全長6のコードのコードサンプルは参照レジスタ602で保持され、小文字のインデックスa、b、c、d、e、fがラベル付けされる。シフト0の時点で、ベクトル乗算と加算が行われ、シフト0の相関値を算出する。各信号サンプルと対応するコードサンプルを乗算し、その結果の合計を求めることによって相関値603を得る。
【0035】
次に、シフト1で示されるように、信号シフトレジスタ604は、1サンプル分進める。信号は周期性があり、レジスタの左側に導入された新しいサンプルは、右外側にシフトしたサンプルに等しい。レジスタ604でシフトされた内容は、インデックスF、A、B、C、D、E付きのサンプルである。コードはシフトされない。次に、ベクトル乗算と加算によって、シフト1に対する相関値605が得られる。このシフトプロセスは、さらに5シフト分続けられ、その時点で、完全なコンボルーションを構成する6つの完全な相関値が利用可能になる。
【0036】
図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つの全ベクトル乗算を行うために、十分な期間、信号レジスタを保持し、この期間、コードはシフトされないが、異なるコードセグメントが選択されることに留意されたい。
【0037】
部分相関値は、信号パス705に基づいてメモリに累積される。例えば、シフト0で、第1のコードセグメントからの部分相関値が合算されて相関値704になる。第2のセグメントからの部分相関値が合算されてシフト2の相関値706になる。第3のセグメントからの部分相関値から、シフト4に対する相関値708が得られる。
3つの部分相関値を求めた後に、信号はシフトされる。シフト1として示されるこの段階で、信号レジスタはサンプルFとAを保持している。さらに、前と同じ3つのコードセグメントを用いて3つの部分相関値を算出する。これらの部分相関処理によって、シフト1、3、5に対する相関値710、712、714がそれぞれ得られる。このプロセスは、さらに4つの信号シフトについて続けられ、その時点で完全なコンボルーション値が利用可能になる。この処理では、全部で18個の部分相関値を算出する必要があり、それによって、コンボルーションを構成する完全な6つの値が得られることがわかる。
【0038】
図7に記載のアーキテクチャには、本発明の重要な2つの特徴が示されている。第1に、長さ2のシフトレジスタとベクトル乗算と加算ユニットのみを使って、長さが6のコードに対する完全なコンボルーションが生成されることが明らかである。このことは、構成要素の長さが6である図6の回路よりも少ない回路で済むということである。第2に、図7のコードサンプルは、各シフトに対して同じ一定セグメント単位でアクセスされ、各セグメントは、独立した非重複コード部である。従って、図8と図9を参照して議論するが、単純なルックアップ方式もしくはレジスタ方式でコードをベクトル乗算器に提供することができる。これらの方式によって、その他のアーキテクチャより少ない回路で済むようになる。ここで、その他のアーキテクチャとは、例えば、大きなブロックのコードビットをより複雑な順列として利用可能にする必要のあるものである。また、本発明では、コード生成回路を設ける必要がない。
【0039】
図8に、本発明に適したコードルックアップ回路408の一実施形態のブロック図を示す。テーブル801には、例えば、読出し専用メモリ(ROM)やハードワイアードロジックに記憶された32個のコードの各々の1023ビットの全ての値が保持されている。テーブル801は、32個のサブテーブルとして構成されており、各コードに対して1つが割り当てられる。さらに、各サブテーブルは、長さがKのM個のセグメントとして構成されており、前述したように、K×M=1023であり、K、Mは選択値である。乗算器802は、選択値に基づいて特定のコードを選択する。乗算器802からの出力は、所望値の特定のサブテーブルに与えられる。乗算器803は、1からMのセグメント選択値に基づいて特定のセグメントを選択する。乗算器803からの出力は、長さKの特定のコードセグメント804になり、これには、コード伸張器409に提供されるコードビットが含まれる。
【0040】
乗算器803は、部分相関処理毎、即ち、2クロックサイクル毎にコードセグメントの変更ができるように高速でならなければならない。このため、従来のコード生成器によってすぐに生成される場合とは異なり、全コードビットをテーブル801に事前に記憶させておく必要がある。
図8の回路は説明目的のものである。実際には、機能上等価な様々な回路デザインが多くある。特に、最新のASICデザインで利用される論理合成プロセスによって、上述の動作と等価な動作を実現する特定パターンのゲートを作成することが可能である。
図9に、本発明に適したコードルックアップ回路408のその他の実施形態のブロック図を示す。特定のコードに対応する1023コードビットが、長さK×M行として構成された1023個の双方向シフトレジスタ901に保持されている。シフトレジスタは、実行モードとローディングモードで動作する。
【0041】
実行モードでは、最下位行レジスタにシフトする最上位行レジスタを除く各レジスタ901は、上の次行のレジスタにサンプルをシフトするように構成される。実行モードでのシフト方向は、901内の実線の矢印で示されている。全レジスタにクロックを与えることによって、コードビット行が巡回できるようになり、いかなる時でも最上位行には長さがKのM個のコードセグメントのうち1つが含まれるようになる。この最上位行のビットがコード伸張器409に提供される。レジスタは高速巡回できるので、部分相関処理毎に異なるコードセグメントが利用可能になる。
ローディングモードでは、上の行の第1列レジスタにシフトする最終列レジスタを除く各レジスタは、次行のレジスタにサンプルをシフトするように構成される。ローディングモードでのシフト方向は、901内の点線の矢印で示されている。左下のシフトレジスタ904は、コード生成器902に接続されている。このコード生成器は、選択値に基づいて特定のコードの1023コードビットを順次生成できる従来のコード生成器である。コードルックアップ回路を特定用途に構成する際に、レジスタはローディングモードとなり、コード生成器を使ってコードビットが生成されるが、それは、レジスタにクロックを与える。全ビットがクロック化された後で、コードは、長さがKのM個のセグメントとしてレジスタ内に保持されるようになる。次にこの回路は、実行モードで使用可能となる。
本願では、本発明の教示を取り入れた様々な実施形態を示し詳細に説明してきたが、当業者であれば、これらの教示を取り入れたその他の多くの変形実施形態を容易に考案することができる。
【図面の簡単な説明】
【0042】
【図1】図1は、本発明を取り入れたGPS受信機のブロック図である。
【図2】図2は、本発明によって生成された波形例を示す図である。
【図3】図3は、図2の累積されたマグニチュード波形を示す図である。
【図4】図4は、コンボルーションプロセッサとコンボルーション値処理回路の詳細なブロック図である。
【図5】図5は、本発明の処理方法を示すフロー図である。
【図6】図6は、従来の方法で完全なコンボルーションを計算する例を単純化して図示したものである。
【図7】図7は、図6の完全なコンボルーションを本発明を用いてどのように実施するかを図示したものである。
【図8】図8は、本発明の使用に適したコード探索装置の一実施形態を示したものである。
【図9】図9は、本発明の一代替実施形態の使用に適した2次元シフトレジスタの一実施形態を示したものである。
Claims (22)
- デジタル信号と擬似ランダム基準コードの相関を求める方法であって、
a)擬似ランダム基準コードを複数のコードセグメントに分割する工程と、
b)コードセグメントを選択する工程と、
c)選択されたコードセグメントとデジタル信号のサンプルセットの内積を求め、部分相関値を算出する工程と、
d) b)とc)の工程を繰り返して複数の部分相関値を生成する工程と、
e)各部分相関値を算出して複数の相関値を得る際に、前記複数の部分相関値の総和を求める工程を備える方法。 - 前記デジタル信号サンプルセットをシフトレジスタにシフトし、前記シフトレジスタのシフト毎に1つ以上の部分相関値を求める工程をさらに備える、請求項1に記載の方法。
- 前記デジタル信号サンプルセットのサイズと、前記擬似ランダム基準コードのセットのサイズは、因子1023の整数倍である、請求項1に記載の方法。
- 前記擬似ランダム基準コードは、全地球測位システム受信機のC/Aコードである、請求項1に記載の方法。
- 前記擬似ランダム基準コードのセットは、C/Aコードビットを複製して整数個のサンプルにして、コードセグメントを伸張することによって生成される、請求項4に記載の方法。
- 一定数の非重複セグメントの前記C/Aコードの1つを選択することによって、前記コードセグメントをルックアップテーブルから生成する工程をさらに備える、請求項5に記載の方法。
- 前記コードセグメントは、循環シフトレジスタセットから生成される、請求項6に記載の方法。
- 前記内積は、前記デジタル信号サンプルの各々を、選択されたコードセグメントの各チップと乗算し、各乗算結果とその他の乗算結果との総和を求めることによって前記部分相関値を得る、請求項1に記載の方法。
- 前記デジタル信号を同相成分と直交成分に分離し、同相成分と直交成分に関して工程a)からe)を個々に実施する工程をさらに備える、請求項1に記載の方法。
- 完全相関のエネルギー量を表すエネルギー信号を生成する工程と、事前に設定した区間で前記エネルギー信号を積分する工程をさらに備える、請求項9に記載の方法。
- 全地球測位システム(GPS)信号の受信機であって、
受信したGPS信号を濾波して周波数変換し、IF信号を形成するRF/IF変換器と、
前記IF信号をデジタル化するアナログ−デジタル変換器と、
前記デジタル化した信号からドップラシフトを除去し、同相(I)信号と直交(Q)信号を生成するチューナと、
前記I信号とQ信号をサブサンプリングするデジメーション回路と、
選択したセグメントのC/A基準コードと、前記サブサンプリングされたIとQ信号とを乗算することによって、IとQの部分相関値を算出するコンボルーションプロセッサと、
前記I信号の部分相関値を累積して完全な相関値を得る第1のアキュムレータと、
前記Qの部分相関値を累積して完全な相関値を得る第2のアキュムレータを備える受信機。 - 前記IとQ信号のマグニチュード値やパワーを表す正規化値を生成する信号ノーマライザと、前記正規化値の総和を求めるマグニチュードアキュムレータをさらに備える、請求項11に記載の受信機。
- コンボルーションプロセッサは、コードルックアップ回路とコード伸張器を備えて各C/A基準コードを生成するコード生成器を備える、請求項11に記載の受信機。
- コンボルーションプロセッサは、前記サブサンプリングされたI信号のセグメントを記憶する第1のシフトレジスタと、前記サブサンプリングされたQ信号のセグメントを記憶する第2のシフトレジスタを備える、請求項11に記載の受信機。
- コンボルーションプロセッサは、前記サブサンプリングされたI信号のI部分相関値を生成する第1のベクトル乗算器と、前記サブサンプリングされたQベクトルのQ部分相関値を生成する第2のベクトル乗算器を備える、請求項11に記載の受信機。
- 前記第1と第2のアキュムレータはそれぞれ、
加算器と、メモリを備える、請求項11に記載の受信機。 - 複数の処理チャネルをさらに備え、各チャネルは異なるGPS信号のコンボルーションを生成する、請求項11に記載の受信機。
- 複数のコンボルーションを用いて位置を計算するコンピュータをさらに備える、請求項17に記載の受信機。
- 全地球測位システム(GPS)の信号の受信機であって、
受信したGPS信号を濾波し、周波数変換してIF信号を形成するRF/IF変換器と、
前記IF信号をデジタル化するアナログ−デジタル変換器と、
前記デジタル化した信号からドップラシフトを除去し、同相(I)信号と直交(Q)信号を生成するチューナと、
前記I信号とQ信号のサブサンプリングを行うデジメーション回路と、
選択したセグメントのC/A基準コードと、前記サブサンプリングされたIとQ信号を乗算することによってIとQの部分相関値を生成するコンボルーションプロセッサを備え、コードルックアップ回路とコード伸張器を備えて各C/A基準コードを生成するコード生成器と、前記サブサンプリングされたI信号のセグメントを記憶する第1のシフトレジスタと、前記サブサンプリングされたQ信号のセグメントを記憶する第2のシフトレジスタと、前記サブサンプリングされたI信号のI部分相関値を生成する第1ベクトル乗算器と、前記サブサンプリングされたQ信号のQ部分相関値を生成する第2ベクトル乗算器をさらに備え、
前記I部分相関値を累積して完全な相関値を求める第1のアキュムレータと、
前記Q部分相関値を累積して完全な相関値を求める第2のアキュムレータと、
前記I信号とQ信号のマグニチュード値やパワーを表す正規化値を生成する信号ノーマライザと、
前記正規化値の総和を求めるマグニチュードアキュムレータを備える受信機。 - 前記第1と第2のアキュムレータはそれぞれ、
加算器と、メモリを備える、請求項19に記載の受信機。 - 複数の処理チャネルをさらに備え、各チャネルは異なるGPS信号のコンボルーションを生成する、請求項19に記載の受信機。
- 複数のコンボルーションを用いて位置を計算するコンピュータをさらに備える、請求項19に記載の受信機。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/861,086 US6606346B2 (en) | 2001-05-18 | 2001-05-18 | Method and apparatus for computing signal correlation |
PCT/US2002/015470 WO2002096054A1 (en) | 2001-05-18 | 2002-05-17 | Method and apparatus for computing signal correlation |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2004527763A true JP2004527763A (ja) | 2004-09-09 |
Family
ID=25334832
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002592586A Abandoned JP2004527763A (ja) | 2001-05-18 | 2002-05-17 | 信号相関計算方法と装置 |
Country Status (7)
Country | Link |
---|---|
US (1) | US6606346B2 (ja) |
EP (1) | EP1388241B1 (ja) |
JP (1) | JP2004527763A (ja) |
KR (2) | KR100874127B1 (ja) |
AT (1) | ATE493677T1 (ja) |
DE (1) | DE60238757D1 (ja) |
WO (1) | WO2002096054A1 (ja) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008107353A (ja) * | 2006-10-26 | 2008-05-08 | Nemerix Sa | 相互相関拒否を有するgnss受信機 |
JP2012528338A (ja) * | 2009-05-29 | 2012-11-12 | クゥアルコム・インコーポレイテッド | マルチプルモード相関器 |
JP2014161012A (ja) * | 2014-02-24 | 2014-09-04 | European Space Agency | 衛星ナビゲーション・システムに使用するための受信機および送信機 |
JP2015187610A (ja) * | 2008-05-23 | 2015-10-29 | クゥアルコム・インコーポレイテッドQualcomm Incorporated | 複数モード位置決定方法およびシステム |
JP2017504802A (ja) * | 2014-01-16 | 2017-02-09 | キネテイツク・リミテツド | 無線受信機用プロセッサ |
JP2019128347A (ja) * | 2018-01-22 | 2019-08-01 | 三星電子株式会社Samsung Electronics Co.,Ltd. | レーダーを用いたオブジェクト距離決定方法及び装置 |
Families Citing this family (56)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6411892B1 (en) * | 2000-07-13 | 2002-06-25 | Global Locate, Inc. | Method and apparatus for locating mobile receivers using a wide area reference network for propagating ephemeris |
US6704348B2 (en) * | 2001-05-18 | 2004-03-09 | Global Locate, Inc. | Method and apparatus for computing signal correlation at multiple resolutions |
US6990140B2 (en) | 2001-05-17 | 2006-01-24 | Trimble Navigation Limited | Signal receiver using coherent integration in interleaved time periods for signal acquisition at low signal strength |
US7995682B2 (en) | 2001-05-18 | 2011-08-09 | Broadcom Corporation | Method and apparatus for performing signal processing using historical correlation data |
US7769076B2 (en) | 2001-05-18 | 2010-08-03 | Broadcom Corporation | Method and apparatus for performing frequency synchronization |
US7190712B2 (en) * | 2001-05-18 | 2007-03-13 | Global Locate, Inc | Method and apparatus for performing signal correlation |
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 |
US6898234B1 (en) * | 2001-06-27 | 2005-05-24 | Trimble Navigation Limited | Signal receiver for integrating and combining integrations in alternating time segments for signal acquisition at low signal strength |
US6628234B2 (en) * | 2001-07-18 | 2003-09-30 | Fast Location.Net, Llc | Method and system for processing positioning signals in a stand-alone mode |
US7107304B2 (en) * | 2001-11-30 | 2006-09-12 | Apple Computer, Inc. | Single-channel convolution in a vector processing computer system |
US6879919B2 (en) * | 2002-01-31 | 2005-04-12 | Snap-On Incorporated | DSP assisted peak capture circuit and method |
US7096132B2 (en) * | 2002-10-17 | 2006-08-22 | Qualcomm Incorporated | Procedure for estimating a parameter of a local maxima or minima of a function |
US6873910B2 (en) | 2002-10-22 | 2005-03-29 | Qualcomm Incorporated | Procedure for searching for position determination signals using a plurality of search modes |
GB0320993D0 (en) * | 2003-09-09 | 2003-10-08 | Koninkl Philips Electronics Nv | A method of acquiring a received spread spectrum signal |
US8098765B1 (en) | 2004-02-23 | 2012-01-17 | Sirf Technology, Inc. | Reducing and sharing computations for GPS signal processing |
US7145487B1 (en) * | 2004-02-23 | 2006-12-05 | Sirf Technology, Inc. | Signal processing providing lower downsampling losses |
KR101056365B1 (ko) | 2004-02-28 | 2011-08-11 | 삼성전자주식회사 | 비트 다운 스케일링 방법 및 장치, 지피에스 동기포착방법및 지피에스 수신장치 |
US7876738B2 (en) * | 2004-03-02 | 2011-01-25 | Nokia Corporation | Preventing an incorrect synchronization between a received code-modulated signal and a replica code |
JP2005303928A (ja) * | 2004-04-15 | 2005-10-27 | Fujitsu Ltd | 分割加算式マッチトフィルタシステム |
US7471717B2 (en) * | 2004-05-17 | 2008-12-30 | Yi Ping Huang | Apparatus and method for acquiring spread-spectrum signals |
US7483933B2 (en) * | 2005-02-17 | 2009-01-27 | Samsung Electronics Co., Ltd. | Correlation architecture for use in software-defined radio systems |
US20100135363A1 (en) * | 2005-03-01 | 2010-06-03 | Zhengdi Qin | Supporting a Signal Acquisition |
US7664187B2 (en) * | 2005-04-25 | 2010-02-16 | Sirf Technology, Inc. | Memory reduction in digital broadcast receivers |
US7555661B2 (en) * | 2005-05-03 | 2009-06-30 | Sirf Technology, Inc. | Power management in digital receivers that adjusts at least one a of clock rate and a bit width based on received signal |
US7813454B2 (en) * | 2005-09-07 | 2010-10-12 | Sirf Technology, Inc. | Apparatus and method for tracking symbol timing of OFDM modulation in a multi-path channel |
US7498981B2 (en) * | 2005-10-07 | 2009-03-03 | The Charles Stark Draper Laboratory, Inc. | Method and apparatus for real-time digital processing of satellite positional signals for fast acquisition and low SNR tracking |
US8176107B2 (en) * | 2005-12-16 | 2012-05-08 | Csr Technology Inc. | Multi-standard multi-rate filter |
US8111791B2 (en) * | 2005-12-20 | 2012-02-07 | Sirf Technology, Inc. | Differential evolution design of polyphase IIR decimation filters |
EP1801991A3 (en) * | 2005-12-21 | 2008-08-20 | Nemerix SA | Optimal use of resources for signal processors |
US7671672B2 (en) * | 2005-12-22 | 2010-03-02 | Sirf Technology, Inc. | Baseband noise reduction |
US7466778B2 (en) * | 2005-12-22 | 2008-12-16 | Sirf Technology, Inc. | Memory efficient OFDM channel estimation and frequency domain diversity processing |
US7889780B2 (en) * | 2006-01-04 | 2011-02-15 | Sirf Technology, Inc. | Method of estimating doppler spread and signal-to-noise ratio of a received signal |
US7459970B2 (en) * | 2006-01-11 | 2008-12-02 | Sirf Technology, Inc. | Method and apparatus for optimizing power dissipation in a low noise amplifier |
US7451378B2 (en) * | 2006-01-16 | 2008-11-11 | Sirf Technology, Inc. | Method and apparatus for memory optimization in MPE-FEC system |
WO2007084167A1 (en) * | 2006-01-17 | 2007-07-26 | Truespan, Inc. | Error resilience methods for multi-protocol encapsulation forward error correction implementations |
US8125382B2 (en) * | 2006-04-25 | 2012-02-28 | Rx Networks Inc. | Autonomous orbit propagation system and method |
US7612712B2 (en) * | 2006-04-25 | 2009-11-03 | Rx Networks Inc. | Distributed orbit modeling and propagation method for a predicted and real-time assisted GPS system |
US8493267B2 (en) * | 2006-11-10 | 2013-07-23 | Qualcomm Incorporated | Method and apparatus for position determination with extended SPS orbit information |
US7839324B2 (en) * | 2007-02-12 | 2010-11-23 | Sirf Technology, Inc. | Efficient ephemeris coding |
US7979207B2 (en) * | 2007-03-19 | 2011-07-12 | Sirf Technology, Inc. | Systems and methods for detecting a vehicle static condition |
US8571506B2 (en) * | 2007-10-29 | 2013-10-29 | Csr Technology Inc. | Systems and methods for sharing an oscillator between receivers |
US8159393B2 (en) | 2007-11-05 | 2012-04-17 | Csr Technology Inc. | Systems and methods for synthesizing GPS measurements to improve GPS location availability |
US8190365B2 (en) * | 2007-11-05 | 2012-05-29 | Csr Technology Inc. | Systems and methods for processing navigational solutions |
US20090115656A1 (en) * | 2007-11-06 | 2009-05-07 | Sirf Technology, Inc. | Systems and Methods for Global Differential Positioning |
US7821454B2 (en) * | 2007-11-20 | 2010-10-26 | Sirf Technology, Inc. | Systems and methods for detecting GPS measurement errors |
US8670882B2 (en) * | 2008-04-03 | 2014-03-11 | Csr Technology Inc. | Systems and methods for monitoring navigation state errors |
US9366763B2 (en) * | 2009-02-04 | 2016-06-14 | Qualcomm Incorporated | Method and apparatus for position determination with hybrid SPS orbit data |
US7940834B2 (en) * | 2008-05-15 | 2011-05-10 | Trimble Navigation Limited | Signal receiver using data bit search in alternating time segments |
US8242841B2 (en) * | 2008-12-05 | 2012-08-14 | Csr Technology Inc. | Receiver having multi-stage low noise amplifier |
US20110238308A1 (en) | 2010-03-26 | 2011-09-29 | Isaac Thomas Miller | Pedal navigation using leo signals and body-mounted sensors |
US9618625B2 (en) | 2012-07-06 | 2017-04-11 | Apple Inc. | System and method for continuous carrier wave reconstruction |
US9360557B1 (en) | 2012-07-06 | 2016-06-07 | Apple Inc. | Systems, methods, devices and subassemblies for rapid-acquisition access to high-precision positioning, navigation and/or timing solutions |
US9074892B2 (en) | 2013-03-15 | 2015-07-07 | Ian Michael Fink | System and method of determining a position of a remote object |
US9071401B2 (en) | 2013-10-17 | 2015-06-30 | Cisco Technology, Inc. | Pilot-less noise estimation |
US9184878B2 (en) | 2013-10-17 | 2015-11-10 | Cisco Technology, Inc. | Non-disruptive network noise measurement |
CN105490730B (zh) * | 2015-11-27 | 2018-06-29 | 中国科学院国家授时中心 | 一种地面产生卫星转发导航信号的控制方法 |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
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 |
US4785463A (en) | 1985-09-03 | 1988-11-15 | Motorola, Inc. | Digital global positioning system receiver |
FR2650456A1 (fr) * | 1989-07-28 | 1991-02-01 | Trt Telecom Radio Electr | Procede de synchronisation par correlation |
US5579338A (en) * | 1992-06-29 | 1996-11-26 | Mitsubishi Denki Kabushiki Kaisha | Spread spectrum receiver using partial correlations |
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 |
US6133871A (en) | 1995-10-09 | 2000-10-17 | Snaptrack, Inc. | GPS receiver having power management |
JPH09148980A (ja) * | 1995-11-22 | 1997-06-06 | Sony Corp | パイロット信号検出方法、パイロット信号検出装置及び移動局受信装置 |
US5901171A (en) | 1996-03-15 | 1999-05-04 | Sirf Technology, Inc. | Triple multiplexing spread spectrum receiver |
US6289041B1 (en) * | 1997-02-11 | 2001-09-11 | Snaptrack, Inc. | Fast Acquisition, high sensitivity GPS receiver |
US6005899A (en) * | 1997-09-29 | 1999-12-21 | Ericsson, Inc. | Method for efficiently computing sequence correlations |
US5931893A (en) * | 1997-11-11 | 1999-08-03 | Ericsson, Inc. | Efficient correlation over a sliding window |
US6181911B1 (en) * | 1998-09-09 | 2001-01-30 | Qualcomm Incorporated | Simplified receiver with rotator for performing position location |
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 |
AU4486700A (en) * | 1999-04-23 | 2000-11-10 | Global Locate, Inc. | Apparatus for computing gps correlations in parallel |
-
2001
- 2001-05-18 US US09/861,086 patent/US6606346B2/en not_active Expired - Lifetime
-
2002
- 2002-05-17 AT AT02741706T patent/ATE493677T1/de not_active IP Right Cessation
- 2002-05-17 EP EP02741706A patent/EP1388241B1/en not_active Expired - Lifetime
- 2002-05-17 KR KR1020037014970A patent/KR100874127B1/ko active IP Right Grant
- 2002-05-17 WO PCT/US2002/015470 patent/WO2002096054A1/en active Application Filing
- 2002-05-17 JP JP2002592586A patent/JP2004527763A/ja not_active Abandoned
- 2002-05-17 DE DE60238757T patent/DE60238757D1/de not_active Expired - Lifetime
- 2002-05-17 KR KR1020087022039A patent/KR100906959B1/ko not_active IP Right Cessation
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008107353A (ja) * | 2006-10-26 | 2008-05-08 | Nemerix Sa | 相互相関拒否を有するgnss受信機 |
US8520717B2 (en) | 2006-10-26 | 2013-08-27 | Qualcomm Incorporated | GNSS receiver with cross-correlation rejection |
JP2014029338A (ja) * | 2006-10-26 | 2014-02-13 | Qualcomm Incorporated | 無線位置測定受信機および無線位置測定受信機において衛星信号を取得する方法 |
JP2015187610A (ja) * | 2008-05-23 | 2015-10-29 | クゥアルコム・インコーポレイテッドQualcomm Incorporated | 複数モード位置決定方法およびシステム |
JP2012528338A (ja) * | 2009-05-29 | 2012-11-12 | クゥアルコム・インコーポレイテッド | マルチプルモード相関器 |
JP2017504802A (ja) * | 2014-01-16 | 2017-02-09 | キネテイツク・リミテツド | 無線受信機用プロセッサ |
JP2014161012A (ja) * | 2014-02-24 | 2014-09-04 | European Space Agency | 衛星ナビゲーション・システムに使用するための受信機および送信機 |
JP2019128347A (ja) * | 2018-01-22 | 2019-08-01 | 三星電子株式会社Samsung Electronics Co.,Ltd. | レーダーを用いたオブジェクト距離決定方法及び装置 |
JP7231390B2 (ja) | 2018-01-22 | 2023-03-01 | 三星電子株式会社 | レーダーを用いたオブジェクト距離決定方法及び装置 |
Also Published As
Publication number | Publication date |
---|---|
EP1388241A1 (en) | 2004-02-11 |
KR20040008182A (ko) | 2004-01-28 |
EP1388241A4 (en) | 2004-10-13 |
ATE493677T1 (de) | 2011-01-15 |
KR20080094100A (ko) | 2008-10-22 |
WO2002096054A1 (en) | 2002-11-28 |
KR100906959B1 (ko) | 2009-07-10 |
DE60238757D1 (de) | 2011-02-10 |
US6606346B2 (en) | 2003-08-12 |
EP1388241B1 (en) | 2010-12-29 |
KR100874127B1 (ko) | 2008-12-15 |
US20020172266A1 (en) | 2002-11-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2004527763A (ja) | 信号相関計算方法と装置 | |
KR100958088B1 (ko) | 다중경로 간섭을 완화하기 위하여 다중분석으로 신호 상관을 수행하기 위한 방법 및 장치 | |
US8005174B2 (en) | Method and apparatus for performing signal correlation using historical correlation data | |
KR100942207B1 (ko) | 다중 분석에서 신호 상관을 계산하는 방법 및 장치 | |
US8170086B2 (en) | Method and apparatus for performing signal correlation | |
KR100937130B1 (ko) | 히스토리 상관 데이터를 사용하여 신호 상관을 수행하기위한 방법 및 장치 | |
JP2005519311A (ja) | 信号相関を実行する方法及び装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20050512 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20071031 |
|
A762 | Written abandonment of application |
Free format text: JAPANESE INTERMEDIATE CODE: A762 Effective date: 20080130 |