説明

受信機にてコードスペース探索を行う方法および装置

受信信号のコードスペース探索を実現する装置および方法を開示する。コードスペース探索は、初期積分期間の各境界において動的な再構成が可能なサブタスクを実行する探索器(220)として実現される。各々の特定のサブタスクは、初期積分期間中に実行されるコヒーレント積分仮説のプログラム可能な構成を説明する。探索器は、コヒーレント積分仮説の結果をメモリの第1部分に記憶する。探索加速器(250)は初期積分結果につて動作する。探索加速器は、異なる時間仮説の様々な周波数ビンのコヒーレント積分を実行し、コヒーレント積分結果のエネルギー値を生成することができ、非コヒーレントエネルギー和を生成することができる。コヒーレント積分および非コヒーレントエネルギーの和のエネルギー値はメモリの第2部分に記憶される。サブタスクと加速器動作を再構成する機能によって、探索スペース次元に柔軟性が提供される。

【発明の詳細な説明】
【技術分野】
【0001】
(関連出願の相互参照)
本願出願は、2006年3月2日に提出された米国特許仮出願第60/779,172号、「信号取得のための長コヒーレント積分装置および方法」の優先権を主張するものであり、また、2007年1月17日に提出された米国特許仮出願第60/885,523号、「受信機にてコードスペース探索を行う方法および装置」の優先権を主張するものである。上記両方の関連出願は譲受人に譲渡され、その全体は本願明細書に参照によって組み込まれる。
【0002】
本開示は、無線通信ディバイスの位置探査に関する。より具体的には、本開示は、無線通信ディバイスにおけるコードスペース探索の再構成可能なシステムに関する。
【背景技術】
【0003】
多くの無線通信は、ダイレクトシーケンス拡散スペクトルを利用して情報の通信を行う。信号を拡散するために使用されるコードは一般に擬似ランダムコードである。受信機は一般に拡散コードを局所的に生成されたコードと相関させることにより内在する(underlying)情報を復元する。
【0004】
受信機は、コードに関連した時間オフセットを利用し、位置探査を行うために利用可能な時間基準を確立する。擬似ランダム拡散信号から確立されたタイミングに基づく位置決定は、様々な位置探査システムで行われる。
【0005】
例えば全地球測位システム(GPS)ナビゲーションシステムは、地球周囲の軌道内に存在する衛星を採用する。GPSのユーザであれば、地球上のどこでも、3次元位置、速度および日時を含む正確なナビゲーション情報を導き出すことができる。GPSシステムは、赤道に対して55°の角度で傾斜し、また相互に対して120°の角度で離間した3つの面において半径26,600キロメートルの円形軌道内に展開された24個の衛星を含んでいる。8個の衛星は3本の軌道経路の各々において等しく離間している。GPSを使用した位置測定は、軌道衛星からGPS受信機へのGPS信号放送の伝播遅延時間の測定に基づく。通常、4個の衛星からの信号の受信が四次元(緯度、経度、高度、時間)の正確な位置決定を行うために必要である。受信機が受信信号伝播遅延を測定すると、各衛星までの距離が各遅延に光速を乗じることにより計算される。次に、場所および時間が測定した距離およびわかっている衛星の場所を含み4未知数である4方程式の組を解くことにより求まる。GPSシステムの正確な機能は、各衛星用のオンボード原子時計手段、並びに衛星時計および軌道のパラメータを継続的に監視および修正する地上追跡局によって維持される。
【0006】
各GPS衛星は、L帯域で2個のダイレクトシーケンスコード化拡散スペクトル信号を送信する。L1信号は1.57542GHzのキャリア周波数にあり、L2信号は1.2276GHzにある。L1信号は、位相直交で変調された2つの位相シフトキー(PSK)拡散スペクトル信号で構成される。すなわち、Pコード信号(Pは厳密用)およびC/Aコード信号(C/Aは粗い/取得用)。L2信号は、Pコード信号のみを含む。PおよびC/Aコードは、キャリア上に変調されたビット(「チップ」とも呼ばれる)の反復性擬似ランダムシーケンスである。これらコードの時計的性質が、時間遅延測定を実施する上で受信機によって利用される。各衛星用のコードはユニークであって、全ての衛星が全て同一のキャリア周波数にある場合でも、どの衛星が与えられたコードを送信したかを受信機に識別させるものである。さらに、ナビゲーション計算に必要なシステム状態および衛星軌道のパラメータに関する情報を含んだ50ビット/秒のデータストリームも各キャリア上に変調される。Pコード信号は暗号化され、一般に商用および私用ユーザに対して利用不能である。C/A信号は全てのユーザが利用できる。
【0007】
GPS受信機において行われる動作は、ほとんどの部分について、どのダイレクトシーケンス拡散スペクトル受信機においても一般に行われるものである。擬似ランダムコード変調拡散効果は、逆拡散として知られる処理において、時間整列させて局所生成されたコードのコピーをこの効果に乗じることにより各信号から除去される必要がある。適切な時間整列やコード遅延は、受信機の起動時にはわからない傾向にあるため、これはGPS受信機動作の初期「取得」フェーズ中において探索することにより決定される必要がある。正確なコード時間整列が決定されると、GPS受信機動作の「追跡」フェーズ中においてこれが維持される。
【0008】
受信信号が拡散されると、各信号は、中間キャリア周波数における50ビット/秒のPSK信号で構成される。この信号の厳密な周波数は、衛星と端末ユニットとの間の相対動作によって生じたドップラー効果や、局所受信機GPS時計基準エラーのために不確定である。通常、初期信号取得前にはわからないこのドップラー周波数を初期信号取得中に探索する必要がある。ドップラー周波数がほぼ決定したら、キャリア復調に進む。
【0009】
キャリア復調後、データビットタイミングがビット同期ループによって導出され、データストリームが最終的に検出される。ナビゲーション計算は、4個の衛星からの信号が取得されてロックされて、必要な時間遅延およびドップラー測定が行われて、十分な数(GPS時間基準および軌道のパラメータを決定するために足る)のデータビットが受信されると実施できるようになる。
【0010】
場所決定に関するGPSシステムの1つの欠点は、初期信号取得フェーズに長い時間がかかることである。上述したように、4個の衛星信号を追跡できるようになる前に、次元がコード位相遅延およびドップラー周波数シフトである2次元探索「スペース」でこれらの衛星を探索する必要がある。一般に、受信機「コールドスタート」の後の場合と異なり、この探索スペース内における信号の場所についての事前情報を持っていないと、取得および追跡対象である各衛星について多くの数のコード遅延(約2000)およびドップラー周波数(約15)を探索する必要がある。そのため、各信号について、30,000に及ぶ探索スペース内の場所を検査する必要がある。一般に、これらの場所は1つずつ順次に検査され、1つの処理につき5〜10分の時間がかかる。受信アンテナの視野内にある4個の衛星の証明(即ちPNコード)が未知である場合には、この取得時間はさらに長くなる。
【0011】
GPS受信機が衛星信号を既に取得していて、ここで追跡モードになっている場合には、位置決定処理は事実上即時的である。しかし、無線端末のルーチンの使用においては、ユーザが電源を入れて速やかに動作を開始させる。これは、緊急通信を意図するような場合である。こうした状況では、位置決定される前のGPS/無線端末ユニットによる5〜10分間のGPS衛星信号取得コールドスタートに関連した時間遅延がシステムの応答時間を制限する。
【0012】
そのため、GPS/無線端末ユニットにおいてGPS衛星信号を取得して位置決定を下すために必要な時間を短縮するシステムおよび方法の必要性が技術上依然として残る。
【発明の開示】
【発明の概要】
【0013】
ここでは、受信信号のコードスペース探索を実施する装置および方法について説明する。コードスペース探索は、初期積分期間の各境界において動的な再構成が可能なサブタスクを行う探索器として実施される。各特定サブタスクは、初期積分期間中に行われるコヒーレント積分仮説のプログラム可能な構成を明らかにする。探索器は、コヒーレント積分仮説の結果をメモリの第1部分に記憶する。探索加速器がこの初期積分結果について動作する。探索加速器は、異なるタイミング仮説の様々な周波数ビンのコヒーレント積分を実行でき、コヒーレント積分結果のエネルギー値を生成でき、非コヒーレントエネルギーの和を生成できる。コヒーレント積分のエネルギーと非コヒーレントエネルギーの和のエネルギー値はメモリの第2部分に記憶される。加速器動作およびサブタスクを再構成する機能は探索スペースの様相において柔軟性を提供する。
【0014】
本発明の態様は、コードスペース探索のための装置を含む。この装置は、メモリと、複数のプログラム可能タスクを行い、各プログラム可能タスクについて、初期積分期間に渡って取得した複数のコヒーレント積分結果を生成するように構成される探索器と、選択可能探索モードによって決定された1以上のコヒーレント積分の期間長および周波数オフセットに基づいて、探索器積分結果の少なくとも1つのコヒーレント累積を決定するように構成される加速器と、探索器から前記メモリへ積分結果を転送するように構成されると共に、メモリから加速器へこの積分結果を転送するように構成されるデータムーバとを備える。
【0015】
本発明の態様は、コードスペース探索のための装置を含む。この装置は、コードスペース探索に割り当てられアクティブなプログラム可能探索モードに依存する部分を有するメモリと、このメモリに結合した積分回路とを備える。この積分回路は、複数のプログラム可能な探索タスクの各々について初期積分期間に渡って決定された複数のコヒーレント積分結果を生成するように構成される探索器、アクティブなプログラム可能探索モードによって決定された周波数仮説およびコヒーレント積分の期間長に渡るコヒーレント積分結果のコヒーレント累積を決定するように構成される加速器、およびこの探索器およびメモリの間、この加速器およびメモリの間でDMAデータ転送を行うように構成されるデータムーバを含む。
【0016】
本発明の態様は、コードスペース探索の方法を含む。この方法は、受信無線信号のコンプレックスサンプル(complex samples)を捕捉し、複数のコードスペース探索タスクを構成し、初期積分期間に渡って取得した複数のコヒーレント積分結果を生成するためにコードスペース探索タスクの各々を実行し、複数のコヒーレント積分結果のコヒーレント累積、このコヒーレント累積に関連した積分の期間長および周波数オフセットをプログラム可能なコードスペース探索モードに基づいて決定することを備える。
【0017】
本発明の態様はコードスペース探索の方法を含む。この方法は、受信無線信号のコンプレックスサンプル(complex samples)を捕捉し、複数のコードスペース仮説に関連した複数のコヒーレント積分結果を生成するために複数のコードスペース探索タスクの各々を実行し、これら複数のコヒーレント積分結果をメモリに記憶し、積分の期間長に対応する多数のコヒーレント積分結果をメモリから読み出し、これら多数のコヒーレント積分結果のコヒーレント累積を決定することを備える。
【0018】
本開示の実施形態の特徴、目的、利点は、図面および以下に述べる詳細な説明からさらに明らかになる。図面中では、同様の要素が同様の参照符号で示される。
【詳細な説明】
【0019】
無線通信環境における信号取得および追跡のためにコードスペース探索を動的に再構成可能なシステムおよび方法について説明する。再構成可能なシステムは、1以上の探索増分についてサンプルを記憶するように構成されるサンプルメモリを含む。
【0020】
再構成可能な探索器は、コードスペース探索およびコヒーレント積分のために記憶したサンプルをアクセスする。再構成可能な探索器は、所定数のチャネルのうちのいずれか1つをサポートするように動的に構成できる複数の相関器を含んでいる。探索器の構成、並びにチャネルに対する相関器の割り当ては探索増分毎に更新できる。
【0021】
これら相関器は、対応チャネル割り当ての各々について相関結果を生成でき、探索器はこの結果を記憶装置内に書き込みできる。記憶装置のサイズは、所望のコヒーレント積分期間に基づいて動的に再割り当てできる。
【0022】
データムーバがこの記憶装置をアクセスし、探索器結果をサンプルバッファへ転送する。サンプルバッファは、第1サンプルバッファ部分および第2サンプルバッファ部分を持つダブルバッファとして構成されることができる。データムーバは、書き込み中でないバッファ部分の同時読み出しを認めるために第1または第2バッファ部分の一方に対する書き込みを交互に行う。第1および第2サンプルバッファ部分のサイズは、コヒーレント積分期間であり得る初期積分期間に対応させて動的に構成できる。
【0023】
加速器がサンプルバッファからの相関結果をアクセスし、次にサンプルバッファへの書き込みのタイミングに対して相補的な形式で第1サンプルバッファ部分および第2サンプルバッファ部分を交互にアクセスする。加速器は、動的に調整可能な初期積分期間に渡る探索器結果のコヒーレント累積を決定する。初期積分期間の長さは、潜在的データ変調期間を越えて延長できる。例えば、この初期積分期間はエッジ遷移と受信データを追跡することによって20ミリ秒のデータ変調期間を越えて延長できる。加速器は、エッジ遷移および潜在的データの値に基づいて相関結果を選択的に反転できる。
【0024】
加速器は、コヒーレント累積結果の各々についてエネルギーまたは大きさを生成できる。加速器はエネルギーバッファにエネルギー結果を書き込む。エネルギーバッファも、第1エネルギーバッファ部分および第2エネルギーバッファ部分を持ちダブルバッファとして構成できる。加速器は、エネルギーバッファの第1部分に書き込み、同時に第2エネルギーバッファ部分から読み出しを行える。
【0025】
データムーバも、エネルギーバッファに対して読み出しおよび書き込みするように構成できる。データムーバはエネルギーバッファからエネルギー結果を読み出し、これらを記憶装置に書き込み、先行のエネルギー結果を記憶装置からエネルギーバッファへ読み出すことができる。
【0026】
加速器は、複数のエネルギー結果を合計することで非コヒーレント積分を決定できる。これら結果はエネルギーバッファ内にバッファされ、データムーバが非コヒーレント合計を記憶装置に記憶できる。
【0027】
図1は、位置探索をサポートする無線通信システム100の実施形態の単純化ブロック図である。
【0028】
無線通信システム100は、ユーザ端末110と通信できる1以上の地上要素を含むことができる。ユーザ端末110は、例えば1以上の通信規格に従って動作するように構成される無線電話であってよい。この1以上の通信規格は、例えばGSM、WCDMA、CDMA2000を含む。ユーザ端末110は携帯ユニット、移動ユニット、または据置ユニットであってよい。また、ユーザ端末110は、移動ユニット、移動端末、移動局、ユーザ機器、ポータブル、電話などとも呼ばれる。
【0029】
ユーザ端末110は、一般に、セクタ化セルラータワーとしてここで示す1以上の基地局120aまたは120bと通信する。通常、ユーザ端末110はユーザ端末110内の受信機での最大信号強度を提供する基地局、例えば120bと通信しようとする。2個の基地局120a、120b、並びに1つのユーザ端末110が、便宜性および明瞭性の目的で、図1に示される。システムは、通常、多数の基地局を持ち、1個を越えるユーザ端末をサポートすることができる。
【0030】
このユーザ端末110は1以上の信号ソースから受信した位置探索信号に基づいて部分的に自身の位置を決定できる。これら信号ソースは、GPSのような衛星ベース位置探索システムの一部であってよい1以上の衛星130を含むことができる。また、これら信号ソースは1以上の基地局120aまたは120bを含んでもよい。
【0031】
ユーザ端末110は、各位置探索信号ソースまでの擬似距離を決定することによって部分的に自身の場所を決定できる。各位置探索信号ソースが擬似ノイズコードを使用して拡散された位置探索信号を伝送すると、ユーザ端末が局所的に生成された擬似ノイズコードを受信信号と相関させることによりある程度擬似距離を決定して、受信擬似ノイズ信号の位相を決定できる。ユーザ端末110は、この受信擬似ノイズ信号の位相に部分的に基づいて時間または距離と相関する擬似距離を決定できる。
【0032】
基地局120aおよび120bの各々は、適切な基地局120aおよび120bへまたはからの通信信号の経路を決める基地局コントローラ(BSC)140に結合できる。BSC140は、ユーザ端末110と公衆交換電話ネットワーク(PSTN)170との間のインターフェースとして動作するように構成できる移動交換センター(MSC)150に結合されてよい。このため、MSC150がPSTN170に結合されてもよい。さらに、MSC150は、他の通信システムとの内部システムハンドオフを調整するように構成されてもよい。
【0033】
位置探索センター(PLC)160はBSC140に結合してもよい。PLC160は、例えば位置探索システム100内における基地局120aおよび120bの各々の場所のような位置探索情報を記憶するように構成されることができる。一実施形態において、PLC160は、この情報をユーザ端末110に提供してユーザ端末110が相対到達時間値であってよい複数の信号ソースまでの擬似距離に部分的に基づいて自身の場所を決定できるように構成することができる。別の実施形態において、PLC160は、ユーザ端末110によって提供される擬似距離情報に基づいてユーザ端末110の場所を決定するように構成されることができる。後者の実施形態では、PLC160内のネットワークサーバ(図示せず)がユーザ端末110からの処理をオフロードするために位置探索決定を行える。
【0034】
PLC160は、BSC140を介して基地局120aおよび120bに命令して位置探索信号を生成させるように構成できる。別の実施形態では、基地局120a、120bが周期的に位置探索信号を生成するように構成できる。
【0035】
ユーザ端末110は、PLC160と共同で、いくつかの位置探索技術のうち任意の1つを使用して自身の位置を決定できる。ユーザ端末110またはPLC160は、擬似距離値を生成するために使用される信号ソースに部分的に基づいてこの技術を選択できる。例えば、ユーザ端末110は到達時間(TOA)、到達時間差(TDOA)、アドバンスドフォワードリンク三辺測量(AFLT)、またはこれ以外の位置探索技術を使用してよい。ユーザ端末110またはPLC160は、GPSに基づくもので、ハイブリッド位置探索システムのような地上ベースビーコンによってGPS信号を増大させるもので、かつ地上ベースのビーコンから導出される擬似距離値に基づくものである位置探索技術を実行することによりユーザ端末110の位置を決定できる。
【0036】
例えば始動伴って最初の位置決定を生成するため、GPS衛星信号を処理するように構成されたユーザ端末110内の受信機は、全衛星PNコードシーケンス、全PNコード位相仮説、および全ドップラー周波数オフセットに渡って探索を必要とする。これは、探索が24個の衛星、所定範囲のドップラー周波数、1023個のコード仮説(これは、通常2046個の離散ハーフチップコードシフトおよび計算として実行される)に渡って行われることを意味する。初期位置が決定されると、ユーザ端末110は探索した周波数およびコード位相の数を、初期位置を決定する際に使用した衛星信号に基づくサブセットに制限する。ユーザ端末110は、探索する離散衛星PNコードシーケンスの数を、実際に見える衛星のセット、一般的には8個に減少させることができ、この数はさらに4個に減らすこともできる。
【0037】
しかし、単独のGPS衛生情報を使用して位置決定できない場合には、ユーザ端末110が1以上の地上ビーコンのための1以上のPNコードシーケンスを探索する必要がある。地上ビーコンによって使用されるコードシーケンスは、GPS衛星によって使用するコードシーケンスと通常異なっている。加えて、地上ベースの位置探索信号の処理およびタイムラインは、GPSのためのそれらとも通常異なる。
【0038】
ユーザ端末110は再構成可能な受信信号プロセッサを含むことができる。この再構成可能な信号プロセッサは、複数の独立構成可能なリソースを含むことができ、複数の積分期間をサポートできる。これら独立構成可能なリソースは、選択されたコードスペース部分の探索を構成可能時間に渡って行うように構成できる。この探索結果は、構成可能な積分期間に渡ってコヒーレントに積分できる。さらに、この積分結果は非コヒーレントに積分できる。
【0039】
ユーザ端末110内における再構成可能な受信信号プロセッサの実施は、このユーザ端末110が現在の処理条件に対して効率的な形式でリソースに専念することを認めるものである。例えば、ユーザ端末110は、初期位置決定中に、位置探索信号ソースの証明を迅速に識別するために、再構成可能な受信信号プロセッサを最大数の位置探索ソースに渡って探索するように構成することができる。例えば、ユーザ端末110は、まず、どの衛星が信号の受信を開始したかを識別するために、所定最大数のGPS衛星に渡って探索を行うことができる。どの衛星が信号受信を開始したかを決定すると、ユーザ端末110は識別した衛星信号をより集中して処理するように受信信号プロセッサを再構成することができる。例えば、ユーザ端末110は周波数感度と並んで受信感度を向上させるためにより長いコヒーレント積分期間を構成できる。
【0040】
図2は、コードスペース探索を実行する再構成可能な位置探索信号処理システム200の実施形態の単純化機能ブロック図である。この信号処理システム200は、探索器220に結合されたサンプルサーバ210を含む。探索器220はメモリ240に記憶される結果を生成する。加速器250がメモリ240内の探索器結果をアクセスして、追加の信号処理を行う。
【0041】
データムーバ230は、探索器220からの結果をメモリ240内の場所に書き込む。また、データムーバ230は加速器250に関連したバッファ260およびメモリ240間の読み出しおよび書き込み動作を制御する。バッファ260はサンプルバッファ262とエネルギーバッファ264に分割することができる。サンプルバッファ262およびエネルギーバッファ264の各々はダブルバッファとして構成でき、ここではデータがバッファの第1部分に書き込まれ、これと同時に別のデータがこのバッファの第2部分から読み出される。
【0042】
コントローラ270は、探索器220および加速器250を構成するように動作する。例えば、コントローラ270は、探索器220によって行われるサブタスクを構成できる。また、コントローラ270はコヒーレント積分期間あるいは長さ、および加速器250によって行われる非コヒーレントエネルギー合計の長さを構成できる。
【0043】
また、コントローラ270は様々な相関値およびエネルギー合計を記憶するために必要とされるメモリ量を構成できる。相関結果の記憶に必要なメモリ量は、コヒーレント積分の期間長および非コヒーレントエネルギー合計の数に一部基づいて決定される。コントローラ270は、構成をサポートするために必要なメモリリソースを利用し、未使用メモリを別の処理に使用できるようにする。コントローラ240はデータムーバ130がメモリ240の読み出し、または書き込みを行う際に適切なメモリの場所をアクセスできるようにするために動的メモリマップをデータムーバ230へ送る。
【0044】
一般的に、サンプルサーバ210は、受信信号のコンプレックスサンプルを一時的に記憶しておくRAMのようなメモリとして実施される。別の実施形態では、サンプルサーバ210は、受信ベースバンド信号をサンプリングし、同相(I)サンプルおよび直交位相(Q)サンプルを生成するように構成されるコンプレックスアナログ/ディジタル変換器(ADC)のような信号サンプラを含んでよい。
【0045】
例えば、サンプルサーバ210は、2倍のチップ速度で取得された最大4ミリ秒のコンプレックスサンプルを記憶するように構成できる。無論、サンプルサーバ210は2倍のチップ速度で取得したサンプルに限定されるものではなく、実際のサンプル速度はチップ速度の分数または倍数であってよい。例えば、サンプルサーバ210は、チップ速度、チップ速度の4倍の速度、または他の間隔で取得したサンプルを記憶するように構成できる。信号処理システム200が受信GPS信号を処理するように構成される場合には、サンプリング速度は約2MHzであってよい。サンプルサーバ210は、これに記憶されているサンプルのミリ秒境界がコード期間に対応するGPSミリ秒境界と一致するようにリアルタイム時計(図示せず)と同期できる。
【0046】
探索器220は、サンプルサーバ210に記憶されたコンプレックスサンプルについて動作する。探索器220は、32個の独立構成可能なサブタスクをサポートし、各サブタスクは1ミリ秒毎に再割り当てできる。各サブタスクは64個の別々の仮説に渡って32個のチップウィンドウを探索する。このサブタスクは、GPS衛星に対応する同一または異なるコードを探索するように割り当てることができる。特定の衛星のコードスペースの探索に割り当てられたサブタスクの数の増大は、平均探索時間を短縮する。異なる仮説の総数と各ウィンドウの長さはハードウェア構成を変更することによって変更でき、また、サブタスクの実際数および構成は上述した例に限定されるものではない。
【0047】
例えば、GPSコード位相探索では、サブタスクがサンプルの32チップウィンドウを64個に及ぶ異なる仮説に渡って探すように構成できる。探索する仮説の数は、コントローラ270によってプログラムでき、例えば2〜64までの2の倍数であってよい。
【0048】
コード位相探索を実行する前に、探索器220が受信信号内の周波数オフセットを修正する。一実施形態では、探索器220が探索サンプルを所望の中心周波数にまで回転させるロテータを実現できる。ロテータによって補正できる周波数オフセットの量は、信号処理システム200によって行われる周波数探索として実施できる周波数修正ループに一部基づいて決定できる。
【0049】
探索器220は、受信し、オーバサンプルされたチップシーケンスの補間をオプションで行うことができる。この補間処理は、相関に先立つ入力信号の再サンプリングとも呼ばれる。一実施形態では、受信信号はコードシーケンスチップ速度の2倍の速度(チップ×2)でサンプリングされる。サンプラが、2個の連続したサンプルを補間し、可変遅延を導入する。この可変遅延は、一般的に1チップ期間の1/2よりも短く、さらに例えば、チップ期間の1/4、あるいは短いチップ期間の倍数であってよい。例えば、リサンプラは1チップ期間の1/8の倍数に遅延を導入することができ、ここで倍数は0〜3の範囲である。
【0050】
探索器220は仮説の各々を使用して32チップシーケンスを逆拡散するが、ここで仮説は局所的に生成されたPNコードシーケンスの特定の位相に対応する。各仮説は32のコード位相オフセットの探索を可能にするハーフチップ境界で並ぶことができる。別の実施形態では、各仮説がチップ境界で並ぶことができるため、これにより64の異なるコード位相オフセットの探索を可能にする。探索器220は、コンプレックス相関結果の各々を探索バッファに記憶するように構成される。データムーバ230は、バッファされた探索結果をメモリ240内の場所に記憶できる。
【0051】
一実施形態では、探索バッファ224がダブルバッファとして構成できる。探索器220は、過去の探索器結果をメモリ240へ移動するためにデータムーバ230がダブルバッファの第2部分をアクセスしている間に、ダブルバッファの第1部分を更新するように構成できる。このダブルバッファ構成は、探索器220がデータ伝送制限でなく、むしろ計算制限されることを許す。ダブルバッファを構成することで、次の探索器タスクを実行する前に先行する計算結果の転送を完了させる必要がなくなると共に、先行する結果のデータ伝送と最新タスクの処理とが同時に発生可能になる。
【0052】
無論、探索器220はダブルバッファ構成の使用に限定されるものではなく、同時に処理とデータ伝送のできる他のメモリ構成を使用してよい。例えば、探索器220は、特定のメモリの場所が次に更新される前に全データ転送を行わせるために十分なサイズを持ったサーキュラーバッファを実現できる。
【0053】
探索器220の構成と、特に探索コードスペースおよび仮説数の構成とは、各相関増分毎に構成できる。上述した例では、相関増分は、各ミリ秒毎に発生する。
【0054】
探索器220は、相関増分毎に更新できるハードウェアコマンドレジスタを含む。コントローラ270は、タスクキューの場所とサイズをハードウェアコマンドレジスタに書き込むことができる。前述したように、探索器220は、単一のキューにおいて最大32個の別々のタスクを行うように制御可能である。
【0055】
探索器220は、ハードウェアコマンドレジスタで指定したキューをアクセスするように構成される。探索器220は、タスク処理中にタスクキューを取得でき、有効性比較値に基づいて、ハードウェアコマンドレジスタ内で指定されたタスクのスタート時間を決定できる。
【0056】
加速器250は、探索器220からの相関結果を処理するように構成される。加速器250は、開始を必要とする異なるデータ転送の数を減らすために、バッファ260に記憶されたデータについて動作するように構成できる。バッファ260はサンプルバッファ262およびエネルギー格子バッファ264を含んでよい。サンプルバッファ262およびエネルギー格子バッファ264の各々をダブルバッファとして配列することで、メモリ240内の読み出しおよび書き込み場所に関連して生じうるメモリ争奪問題を排除できる。
【0057】
各ダブルバッファは、第1および第2部分またはメモリのバンクを含んでよい。与えられた期間で、バッファの1つのバンクが加速器250の積分エンジンに結合され、バッファの他のバンクがデータムーバ280に結合またはこれをアクセス可能にされる。バンクと積分エンジンまたはデータムーバ280との関連は、各処理間隔後にスワップされる。
【0058】
加速器250は、構成可能な積分期間および複数の周波数に渡ってコヒーレントな積分和を生成するように構成される複数の並列アキュムレータを含む積分エンジンを含む。加速器250はどのコヒーレント積分の期間長も事実上サポートするように制御されることができるが、加速器250は積分期間長の離散セットをサポートするように最適化されることもできる。一実施形態において、加速器250は10、20、39、80、160ミリ秒の積分期間に渡って、コヒーレント累積とも呼ばれるコヒーレント積分和を生成するように構成される。探索器220は、1ミリ秒期間に渡ってコヒーレント積分結果を生成するため、ミリ秒単位のコヒーレント累積時間はコヒーレント積分の期間長に対応する。加速器250は、1以上のビットエッジに渡って拡張された積分の期間長を収容するためにビットエッジおよびビット値を追跡するように構成できる。
【0059】
並列累積経路の数は加速器250内の複雑さの許容レベルに依存する。一実施形態において、加速器250は、例えば、6個の異なる周波数に渡る1セットのサンプルの積算を可能にする6本の並列乗算器加速器経路を含むことができる。並列累積経路の動作は多くの周波数および多くのサンプルセットをサポートできるように繰り返すことができる。
【0060】
加速器バッファ262は、1タスクの全仮説について20ミリ秒の積分を行うために十分であってよい。同様に、エネルギーバッファ264も、64の時間オフセットの各々に渡って20個の周波数をサポートするのに十分な大きさであってよい。20ミリ秒を超える積分は、1つの動作内の時間オフセット総数のサブセットを処理することで行える。20*Nミリ秒の積分を実行するには、N個の加速器動作が使用される。各動作は63/N個の時間仮説を処理する。各サンプルメモリは、64/N個の時間オフセットの各々について20*Nミリ秒を保持する。各エネルギーメモリは、64/N個の時間オフセットの各々について20*N個の周波数を保持する。この結果、異なる積分の期間長をサポートするために必要となるメモリ帯域幅および加速器トランザクションレートは変化しない。
【0061】
例えば、加速器250は、単一の動作中に64個の異なる時間仮説に渡って20ミリ秒の累積時間を同時にサポートするように構成するか、または、同じ単一の動作中に8個の異なる時間仮説に渡って160ミリ秒の累積時間をサポートするように構成できる。加速器250は、同じ64個の周波数仮説を探索するために8個の別個動作を行える。こうして、加速器によって利用されるデータ帯域幅は積分期間に関係なく一定に保たれる。
【0062】
加速器250にかかる周波数範囲のサイズは、一般的には公称周波数の上下約250ヘルツに広がった合計500ヘルツである。加速器250によって同時に解析される周波数仮説の数は、コヒーレント積分の期間長に依存して変化する。一実施形態では、同時に処理される周波数仮説の数はコヒーレント積分の期間長に等しく設定される。加速器250は、異なる周波数ビンを周波数スパンに渡ってほぼ均一な間隔に配置する。
【0063】
加速器250は、コヒーレント積分の期間長に渡る累積および所望の周波数オフセットで入力サンプルを回転させることにより特定の周波数オフセットにコヒーレント積分を決定する。加速器250はこの後2次元エネルギー格子をポピュレートするためにコヒーレント和のエネルギーを計算する。2次元エネルギー格子は、各時間仮説および各周波数オフセットについて現在のコヒーレント積分の期間長のエネルギーを含むことができる。
【0064】
加速器250は、別の時間仮説のコヒーレント和を決定する前に、特定の時間仮説の全ての周波数についてコヒーレント和を決定するように構成できる。このようにコヒーレント和を実行することで、メモリをアクセスする回数を最小化することができる。無論、別の実施形態では、周波数オフセットの使用はプロセッサ集中的であってよく、また、全ての時間仮説に渡る各周波数オフセットのコヒーレント和を、別の周波数オフセットについてコヒーレント和を決定する前に完了することができる。別の実施形態は、この和をこれ以外の順序で決定できる。
【0065】
データムーバ230は、探索器220とメモリ240の間、メモリ240と加速器250の間で情報を転送するために、DMAエンジンとして動作する。データムーバ230は、探索モードと関連積分期間長とに少なくとも一部依存した各場所へメモリ転送する。データムーバ230は、コントローラ270からのタスクキューに基づいてメモリマップを決定することができる。
【0066】
データムーバ230は、探索器220がスケジュールされたサブタスクの各々について生成したコヒーレント和をコピーする。探索器220がコヒーレント和をダブルバッファする実施形態では、データムーバ230は探索器220によってまだ書き込まれていないバッファからブロックを転送する。データムーバ230は、現在のサブタスク動作に関連していないバッファのブロック内のデータについて動作するように構成される。
【0067】
同様に、データムーバ230は先に記憶された探索器出力と、先に決定されたエネルギー和をメモリ240から加速器250内のバッファ262へ、特に、メモリ転送に関連し、加速器250によって書き込まれていないバッファブロックへコピーする。また、データムーバ230は最新のエネルギー和を加速器バッファからメモリ230へコピーする。
【0068】
コントローラ270はタスクキューと、これに関連する、探索器220のハードウェアコマンドレジスタに書き込まれた制御情報とを生成する。コントローラ270は、メモリ240内で使用可能なスペースによりサポートされる任意の探索および積分の期間長を実質的に構成することができる。しかし、コントローラ270は、一般的に各制御境界で選択およびプログラムできる所定数の探索構成または探索モードを有する。例えば、コントローラ270は、1600Hzに渡る高い探索モード、20個の異なる周波数ビン、64個の仮説、20のコヒーレント長、400Hzに渡る第1低探索モード、80個の異なる周波数ビン、16個の仮説、さらに、80のコヒーレント長、200Hzに渡る第2低探索モード、160個の異なる周波数ビン、8個の仮説、160のコヒーレント長、1600Hzにまたがる荒取得探索モードを選択、8個の異なる周波数ビン、8個の仮説、20のコヒーレント長のうちの1つを選択できる。
【0069】
図3は、コードスペース探索のための位置探索信号処理システム200を実現する受信機におけるデータの流れの実施形態を示す単純な機能ブロック図である。このシステム200を、GPSコードスペース探索の処理を参照して説明する。しかし、他のPNコード拡散情報、例えばAFLTについても同様のコードスペース探索を処理することができる。
【0070】
サンプルサーバ210は、約2倍のチップ速度でコンプレックス入力サンプルを受信し、このサンプルをRAMのようなメモリに書き込む。サンプルサーバ210は、RAMをサーキュラーバッファとして配列するように、また、最も古いエントリを最新のサンプルで上書きするように構成できる。
【0071】
探索器220は、タスクキューの場所とサイズを決定するためにハードウェアコマンドレジスタの内容を調べる。過去のハードウェアコマンドレジスタ内容が指定したタスクキューの処理中に、探索器220内のハードウェアコマンドレジスタをプログラムすることができる。探索器220は、次にスケジュールされている探索タスクのスタート時間を決定し、現在の探索タスクが終了し次第、新規の探索タスクをスタートすることができる。
【0072】
各タスクキューは、1ミリ秒になり得る初期探索期間中に処理される所定最大数までのサブタスクを制御することができる。探索器220は、サブタスクを処理し、各仮説のコヒーレント和を探索器220内のバッファに書き込むことができる。探索器バッファはダブルバッファとして編成することができる。探索器ダブルバッファの2個のブロックを、探索器220またはデータムーバ230の一方に交互に関連させることができる。探索器220に関連したブロックは探索器220が生成した相関結果を受信し、一方、データムーバ230に関連したブロックは、探索器220からメモリ240へブロックデータを転送できるようにする。探索器ダブルバッファ内のブロックどうしの関連性は所定の時間にスワップされる。例えば、探索器220がこれに関連したブロックを満たすと、ブロックどうしの関連性がスワップされる。
【0073】
データムーバ230は、関連する探索器220バッファとメモリ240の間でデータ転送310を実行する。データムーバ230は、探索器220内で実行されるデータ転送310とコヒーレント積分処理を同期させる必要はない。その代わり、データムーバ230は、バッファブロック関連が有効である任意の時間にデータ転送310を実行するように構成できる。データムーバ230は、値を書き込むためのメモリ240内の場所を、コントローラ(図示せず)が開始したアクティブ探索モードに少なくとも一部基づいて決定する。システム200に割り当てられるメモリ240のサイズは動的であってよく、例えばアクティブコード探索モードに基づいて変更することができる。一例として、1600Hz、8個の異なる周波数ビン、8個の仮説、20のコヒーレント長に渡るビットエッジ探索モードに必要な記憶スペースメモリ240は、200Hz、160個の異なる周波数ビン、8個の仮説、160のコヒーレント長に渡る低探索モードに必要な記憶スペースメモリよりも小規模である。
【0074】
メモリ240が無線通信ディバイス用のシステムメモリである場合のように、メモリ240をコードスペース探索とは異なる処理と共有する場合には、メモリスペースの動的割り当てによって、コード探索とは別のタスクをサポートするために使用できるメモリスペースが最大化される。システム200には、アクティブコード探索モードをサポートするのに十分なメモリ240スペースが割り当てられるだけでよい。
【0075】
データムーバ230はまた、メモリに記憶されている探索器結果をダブルバッファ式サンプルバッファ262内へデータ転送320する動作を制御することもできる。加速器250はコヒーレント積分中に探索器結果を消費するため、サンプルバッファ262へのデータ転送320はメモリ240からサンプルバッファ262への一方向であってよい。
【0076】
ダブルバッファ式サンプルバッファ262は、データムーバ230と加速器250の間の第1および第2ブロックの関連性を変更することができる。加速器250は、関連するサンプルバッファ262ブロックからの読み出し動作340を制御する。データムーバ230および加速器250は、加速器250が関連するサンプルバッファ262ブロック内の全てのデータをアクセスすると、サンプルバッファ262ブロックの関連性をスワップすることができる。
【0077】
加速器250は、コントローラがプログラムした探索モードに基づいて決定されたコヒーレント累積期間長に渡る探索器結果のコヒーレント和を決定する。加速器250は、コヒーレント積分結果の複雑な成分の平方を加算することで、各コヒーレント積分のエネルギー値を生成することができる。
【0078】
加速器250は、エネルギー値をエネルギーバッファ264に書き込むことで、メモリ240へ転送することができる。あるいは、加速器250は、同一のエネルギー格子場所に算出された現在のエネルギー値と過去のエネルギー値を加算することで、エネルギー値の非コヒーレント累積を生成するように構成できる。
【0079】
加速器250は、ダブルバッファ式エネルギーバッファ264の関連するブロックどうし間でのエネルギー値の双方向のデータ転送350を制御する。エネルギーバッファ264は、データムーバ230または加速器250の一方に交互に関連するブロックを設けたダブルバッファとして構成することができる。
【0080】
データムーバ230は、メモリ240とこれに関連するエネルギーバッファ264のブロックの間におけるエネルギー値の双方向のデータ転送330を制御する。同様に、加速器250は、関連するエネルギーバッファ350のブロック間におけるエネルギーバッファの読み出しおよび書き込み動作350を制御する。エネルギーバッファ264のブロックどうしの関連性は、アクティブ探索モードによって決定されたスケジュールに基づいてスワップできる。
【0081】
データムーバ230は、過去に記憶されたメモリ240からのエネルギー結果をアクセスし、データ転送動作330中に、この値を関連するエネルギーバッファ264のブロックにコピーすることができる。ブロックに関連したスワップの後に、加速器250は、データムーバ230によって過去に転送されたエネルギー値をアクセスすることができ、また、例えば、現在のエネルギー値を使用して非コヒーレント累積を決定できる。加速器250は、このエネルギーバッファ264のブロックへ戻る書き込み動作350を制御する。エネルギーバッファ264のブロックが再度スワップされる時に、データムーバ130は、更新されたエネルギー値をエネルギーバッファ264からメモリ240へデータ転送330をすることができる。
【0082】
加速器250処理は、データをより効率的に処理するために、パイプライン形式にて実行できる。このパイプライン形式の処理は、例えば3個の異なる動作のパイプラインであってよい。パイプラインは一動作の入力データ転送、第2動作についてのコヒーレント累積およびエネルギー値の処理、第3動作についての加速器250からメモリ24への過去の結果のデータ転送をサポートすることができる。
【0083】
そのため、加速器250が過去のデータ転送について探索器結果について動作している最中に(動作N)、データムーバ230は探索器結果をメモリからサンプルバッファへ転送できる(動作N+1)。これに加えて、データムーバ230は、過去に外部メモリ240から記憶された値をエネルギーバッファにロードする前に、第3の異なる動作について、累積したエネルギー和をエネルギーバッファからメモリ240へ転送できる(動作N−1)。
【0084】
図4は、コードスペース探索の方法400の実施形態を示すフローチャートである。この方法400は、図2の位置探索信号処理システムによって実現でき、また、図1中のユーザ端末において実現できる。方法400は、機能ブロックに渡る処理を図示している。方法400における動作のシーケンスは、システム全体に渡る1セットのサンプルの処理を図示している。システム内における複数の動作を同時に発生させるこことで、この方法を再構成またはデータ転送の待ち時間なく連続動作させることが可能である。
【0085】
方法400は、システムが、探索対象である受信信号のコンプレックスサンプルを捕捉するブロック402から始まる。例えば、信号サンプラは、受信GPS信号を、PNコード速度の約2倍の速度で受信できる。コンプレックスサンプルは、RAMあるいは他の記憶ディバイスに記憶することができる。
【0086】
次に、システムは、探索器が具体的なコード探索処理モードをサポートするように構成されるブロック410へ進む。探索器は、現在の処理モードに従ってサンプルを処理している最中に、将来のサンプルについての処理モードを決定することができる。例えば、探索器はハードウェアコマンドレジスタを読み出すことで、タスクキューの場所およびサイズを決定できる。探索器は、タスク境界において、または現在のタスクの処理が完了すると、タスクキューのタスクを実行できる。タスクキューは、所定の最大タスク数に達するまで複数のタスクを含むことができる。例えば、タスクキューは、各初期積分期間、例えば1ミリ秒間に探索器について実行される、最大で32個のタスクを含むことが可能である。
【0087】
各探索タスクは、複数の仮説にかかる所定数のコードチップに渡る探索をサポートできる。探索する仮説の数をプログラムすることができ、また、この数は所定の最大仮説数にまで変更できる。例えば、各タスクを、32個のコードチップを含んだウィンドウを探索するように構成でき、また、探索ウィンドウについて最大で64個の異なる仮説を探索するように構成でき、ここで、各コードスペース仮説はこれに最も近い仮説から1/2チップ期間だけ逸脱してよい。
【0088】
システムは次にブロック412へ進む。ここでは、探索構成に関連したサンプルをサンプルメモリから探索器へ転送する。探索器は、先に提供された例を使用して、1ミリ秒の初期積分期間内に1つの衛星車両のコードスペース全体を探索するように構成されると考えられる。しかし、より一般的には、探索器は複数コードの一部について受信サンプルを探索するように構成される。
【0089】
関連サンプルを転送した後に、システムはブロック414へ進み、タスクキューにおいて説明されたタスクを実行する。1ミリ秒の初期積分期間に渡ってのサンプルのコヒーレント積分内における各タスク結果は、タスクによって適用された仮説の各々をアクセスするが、他の実施形態は別の初期積分期間を使用することもできる。
【0090】
探索器はブロック416へ進み、各仮説からのコヒーレント積分結果を関連するダブルバッファのブロックに書き込む。ダブルバッファは、探索器またはデータムーバの一方に交互に関連する2個のブロックを含んでいる。データをこれに関連するバッファブロックから転送するために、探索器は関連するバッファブロックに書き込みを行う。探索器出力をダブルバッファすることで、探索器とデータムーバの両方が、バッファからのデータをアクセスする上でのメモリコンテンションを防止する。探索器がサンプルについて動作中であり、ダブルバッファの別部分に書き込みを行っている最中に、過去にバッファされた結果をダブルバッファの一部から読み出すことができる。次の探索器動作をスタートする以前に1つ前の探索器結果の転送を完了する必要がないので、ダブルバッファによってより柔軟なデータ転送が可能となる。これに加えて、データムーバによるDMAメモリ転送を、探索器結果をポピュレートする時間よりも短い時間で達成できる場合には、メモリへの結果の転送をより柔軟にスケジュールできる。
【0091】
結果の転送はデータムーバに関連した検索バッファのブロックからのみ生じるため、システムはブロック418へ進み、ダブルバッファのブロックどうしの関連性をスワップする。ブロックの関連性をスワップすることで、バッファのブロックを現在の積分結果を記憶するために使用できるように維持しながら、最も新しい結果をメモリへ転送できるようになる。
【0092】
探索器ダブルバッファのブロック関連性をスワップした後に、システムはブロック420へ進む。ブロック420では、データムーバが初期コヒーレント積分結果を探索器からメモリへ転送する。一実施形態では、メモリは他の複数の処理によって共有され、データムーバが探索器バッファの共有メモリ内の各場所へのDMA転送を実行する。
【0093】
探索器結果をメモリに転送した後に、システムはブロック430へ進む。ブロック430では、データムーバが、探索器結果の少なくとも一部をメモリからサンプルバッファの関連するブロックへ転送し、加速器がこの結果の一部を処理できるようにする。サンプルバッファの各ブロックがデータムーバまたは加速器の一方に関連した状態では、サンプルバッファもダブルバッファとして構成することができる。所定のイベントの後にサンプルバッファブロックの関連性をスワップできる。この所定のイベントは、バッファの充填、タイミング、あるいはこれ以外のイベントであってよい。
【0094】
システムはブロック432へ進み、過去のエネルギー累積の少なくとも一部をメモリからエネルギーバッファの関連するブロックへ転送し、加速器がこれをアクセスできるようにする。システムは、メモリからエネルギーバッファに更新される対象であるエネルギー累積を転送する以前に、更新された結果をエネルギーバッファからメモリへ戻してもよい。エネルギーバッファはダブルバッファとしても構成できる。ダブルバッファの1つのブロックはデータムーバに関連し、ダブルバッファの別のブロックは加速器に関連している。エネルギーバッファの関連性は、サンプルバッファブロックのスワップを開始するイベントとは別の所定のイベントを実行した後にスワップすることができる。
【0095】
加速器は、サンプルバッファのブロックと、これに関連したエネルギーバッファのブロックのみをアクセスする。そのため、システムはブロック434へ進み、サンプルバッファとエネルギーバッファの関連性をスワップして、データムーバによってメモリから転送された最新の値に加速器がアクセスできるようにする。これに加え、データムーバは、加速器からの最新のエネルギー結果をアクセスできる。加速器は探索器結果を消費し、また探索バッファへの結果の書換えを行わない。そのため、探索バッファブロックをスワップすることで、データムーバがサンプルバッファへ転送するための追加のスペースが作られる。
【0096】
バッファ関連性をスワップした後に、システムはブロック450へ進み、ここで、関連するサンプルバッファ内におけるアクセス可能な探索結果のコヒーレント累積を決定する。加速器は、アクティブコード探索モードに基づいてコヒーレント累積を決定する。加速器は、所望の積分の期間長をサポートするために、サンプルバッファどうしの複数のスワップが実行される間、サンプルバッファのサイズに応じて待つ必要がある。
【0097】
積分の期間長が、例えばGPS信号で使用される20ミリ秒のデータ境界のようなデータ境界を横切る場合には、加速器はビット境界の発生を追跡し、累積を計算する上でビット値を補間することができる。
【0098】
加速器はまた、アクティブ探索モードに基づき、複数の周波数ビンについてコヒーレント累積を決定することもできる。加速器は、複数の周波数あるいは複数の探索器結果についての同時累積を可能にする複数の平行な経路を含んでいてよい。
【0099】
システムは次にブロック452へ進み、ここで、各コヒーレント累積に関連したエネルギーを決定する。加速器は、例えば同相値および方形値の平方を合計することにより、複雑な累積値に関連したエネルギーを決定することができる。いくつかの実施形態では、加速器は累積したエネルギーの決定を省略し、代わりに、複雑な累積値をエネルギーバッファに記憶してもよい。加速器がコヒーレント累積の合計をエネルギー値ではなくバッファに記憶する実施形態では、ブロック452〜454の動作を省略してもよい。加速器は、コヒーレント累積値によってエネルギーバッファを直接更新することができる。
【0100】
システムはブロック454へ進み、ここで、コード探索モードが指定できる任意の非コヒーレントエネルギー累積を決定する。非コヒーレント累積を決定するために、加速器が、エネルギーバッファ内のエネルギー格子の所望の位置から過去のエネルギー値を読み出し、関連するエネルギー値を合計する。いくつかの実施形態では、加速器は重み付けした合計を決定し、さらに、最新のエネルギー値を合計する前に、サンプルバッファのサイズに応じて、過去の累積エネルギーの合計を所定フラクション(fraction)だけ調整することができる。
【0101】
システムはブロック456へ進み、ここでは、加速器が、累積したエネルギー値を再びエネルギーバッファに書き込む。一般的に、システムは、加速器に関連したエネルギーバッファのブロックに直接アクセスすることはない。そのため、システムはブロック458へ進み、次のエネルギーブロック関連性のスワップの発生を待つ。
【0102】
ブロック460では、データムーバは、加速器によって更新された最新のエネルギー値をアクセスする。データムーバは、更新されたエネルギー累積をメモリにDMA転送することができる。データムーバはさらに、次の非コヒーレント累積をサポートするために、メモリからエネルギーバッファに任意のエネルギー値をロードすることができる。
【0103】
ブロック460の次に、受信した特定のサンプルの処理により、サンプリングからエネルギー累積までの処理経路全体が完了する。様々な中間値のダブルバッファリングおよびメモリ記憶を行うことで、処理全体を実質的に連続して実行することが可能になる。探索器が過去にスケジュールされたタスクについて動作している間は、各々の初期累積境界にて探索器を再構成できるため、システムは、探索構成における変更を中止したり、あるいは変更を待つ必要がない。探索器と加速器への入力部との両方における探索器結果のダブルバッファリングによって、メモリへのアクセスの柔軟性を高めながら、メモリコンテンションが事実上排除される。このメモリは、探索器および加速器を有するモジュールまたは積分回路の外部に設けた共用メモリであってよい。
【0104】
初期コヒーレント積分を、これよりも長い積分の期間長に関連したコヒーレント積分から分離することにより、システムのスケジューリングと構成がより柔軟になる。探索器からの1ミリ秒の積分結果を使用して、事実上任意の積分の期間長をサポートすることができる。
【0105】
図5は、コードスペース探索を実現する位置探索信号処理システム500の実施形態を示す単純機能ブロック図である。この図5のシステム500は、例えば図1のユーザ端末において実現できる。
【0106】
システム500は受信無線信号のコンプレックスサンプルを捕捉する手段510を含む。このコンプレックスサンプルを捕捉する手段510は探索手段520に結合されている。
【0107】
探索手段550は、ハードウェアレジスタ522によって指定された各コードスペース探索タスクに従って動作することができ、ハードウェアレジスタ522は、複数のコードスペース探索タスクを構成する手段として動作する。探索手段550は、例えば1ミリ秒で合ってよい初期積分期間に渡って取得した複数のコヒーレント積分結果を生成する。探索手段550は、探索タスクにて定義されているとおりの、複数のコードスペース仮説に関連した複数のコヒーレント積分結果を生成するように構成できる。
【0108】
制御手段570は、ハードウェアレジスタに書き込まれた値を制御する。ハードウェアレジスタ522内の値は、例えば、コードスペース探索モードに基づいて決定されたメモリ内のタスクキューに指定することができる。データ転送手段530は探索手段520に結合され、複数のコヒーレント積分結果を記憶手段540へ転送するように動作する。データ転送手段530はまた、複数のコヒーレント積分結果を記憶手段540から、加速手段550内の、あるいはこれに結合しているバッファ手段562、564へ転送する。具体的には、データ転送手段530は積分の期間長に関連した多数のコヒーレント積分結果を転送する。
【0109】
加速手段550は、複数のコヒーレント積分結果のコヒーレント積分を決定する手段として動作する。コヒーレント積分に関連した積分の期間長および周波数オフセットは、プログラム可能なコードスペース探索モードに基づいている。
【0110】
ここではコードスペース探索のシステム、装置、方法について説明してきた。説明されたシステム、装置、方法は、GPS信号、AFLT信号など、またはこれ以外のコード拡散信号を処理するべく、ユーザ端末内で実現することができる。例えば、コードスペース探索処理および装置は、受信拡散スペクトル信号の任意のコードスペースの探索に適用される。特定の実施形態はGPS信号への適用について説明しているが、請求された課題はコードスペース探索に属し、またGPSに限定されるものではない。探索器は、初期積分期間あるいは時間に渡って
コヒーレント積分結果を決定するように構成される。探索器結果を、加速器内で実行されるさらなるコヒーレント積分および非積分エネルギー累積のための中間値として使用される。
【0111】
メモリへの効率的かつ非競合的なデータ転送を可能にするために、中間値がダブルバッファに記憶される。ダブルバッファを使用することで、待ち時間が短いまたは全くないコード探索モードの再構成が可能になる。
【0112】
これに加え、初期積分期間に渡ってのコヒーレント積分に続く処理を分離することで、データの冗長取得および解析を行わずに、コードスペース探索モードを柔軟に再構成できるようになる。コードスペース探索をほぼリアルタイムで再構成する機能により、より効率的なコードスペース探索が可能になり、また、高速コード取得から高感度コードスペース探索までの再構成が可能になる。
【0113】
ここで使用しているとおり、「結合した」または「接続した」という用語は、非直接的な結合、並びに直接結合あるいは接続を意味する。2個またはこれ以上のブロック、モジュール、ディバイス、あるいは装置が結合している場合、結合している2個のブロックの間には1以上の介在ブロックが存在していてよい。
【0114】
ここで開示の実施形態に関連して説明された様々な例証的な論理ブロック、モジュール、回路は、汎用プロセッサ、ディジタル信号プロセッサ(DSP)、縮小命令セットコンピュータ(RISC)プロセッサ、アプリケーション限定集積回路(ASIC)、フィールドプログラム可能ゲートアレイ(FPGA)またはこれ以外のプログラム可能な論理ディバイス、離散ゲートまたはトランジスタ論理、離散ハードウェア構成部品、あるいは、ここで説明した機能を実行するように設計されたこれらの任意の組み合わせによって実現または実行される。汎用プロセッサはマイクロプロセッサであってよいが、代替形においては任意のプロセッサ、コントローラ、マイクロコントローラ、または状態マシンであってよい。プロセッサはまた、計算ディバイスの組み合わせ、例えばDSPとマイクロプロセッサの組み合わせ、複数のマイクロプロセッサの組み合わせ、1以上のマイクロプロセッサとこれと協働するDSPコアの組み合わせ、またはこれ以外の同様の構成として実現することができる。
【0115】
ここで開示の実施形態に関連して説明した方法、処理、アルゴリズムはハードウェア内、プロセッサによって実行されるソフトウェアモジュール内、またはこの2つの組み合わせにおいて直接具現化できる。方法または処理における様々なステップまたは動作はここで示したとおりの順序で、あるいはこれ以外の順序で実行することが可能である。これに加え、1以上の処理または方法ステップを省略したり、これらの方法および処理に1以上の処理または方法ステップを追加することもできる。方法および処理の開始、終了、中間に存在する要素に対してさらなるステップ、ブロック、動作を追加することができる。
【0116】
開示された実施形態についての上述の説明は、当業者が本開示を作成または使用できるようにするために提供されるものである。また、当業者にはこれら実施形態への様々な修正が明白であり、また、ここで定義された包括的な原理は、本開示の精神または範囲から逸脱しない限り、他の実施形態にも適用することができる。従って、本開示は、ここで示した実施形態に限定されるものではなく、ここで開示の原理および新規特長に準じた最も幅広い範囲と一致する。
【図面の簡単な説明】
【0117】
【図1】位置探索をサポートする無線通信システムの実施形態の単純化ブロック図である。
【図2】コードスペース探索を実現する位置探索信号処理システムの実施形態の単純化機能ブロック図である。
【図3】コードスペース探索を実現する受信機内でのデータの流れの実施形態を図示した単純化機能ブロック図である。
【図4】コードスペース探索の方法の実施形態のフローチャートである。
【図5】コードスペース探索を実現する位置探索信号処理システムの実施形態の単純化機能ブロック図である。

【特許請求の範囲】
【請求項1】
コードスペース探索のための装置であって、前記装置は、
メモリと、
複数のプログラム可能タスクを行い、各プログラム可能タスクについて、初期積分期間に渡って取得した複数のコヒーレント積分結果を生成するように構成される探索器と、
選択可能探索モードによって決定された1以上のコヒーレント積分の期間長および周波数オフセットに基づいて、探索器積分結果の少なくとも1つのコヒーレント累積を決定するように構成される加速器と、
前記探索器から前記メモリへ積分結果を転送するように構成されると共に、前記メモリから前記加速器へこの積分結果を転送するように構成されるデータムーバとを備える装置。
【請求項2】
前記探索器は、ダブルバッファ式探索器結果バッファを備え、前記ダブルバッファ式探索器結果バッファの各ブロックは前記探索器または前記データムーバの一方に関連付けられる請求項1に記載の装置。
【請求項3】
前記探索器は、1つの初期積分期間内で最大32個のタスクを行うように構成される請求項1に記載の装置。
【請求項4】
各タスクは、関連コードの多数のコード位相仮説を特定し、前記複数のコヒーレント積分結果の各々は前記多数のコード位相仮説の1つに基づいている請求項1に記載の装置。
【請求項5】
前記初期積分期間はコード期間を備える請求項1に記載の装置。
【請求項6】
前記初期積分期間は約1ミリ秒を備える請求項1に記載の装置。
【請求項7】
前記探索器は、初期積分期間毎に更新できるタスクキューに基づいて複数のプログラム可能タスクを決定するように構成される、請求項1に記載の装置。
【請求項8】
前記探索器は、現在の初期積分期間に対応するタスクキュー内のタスク処理中に、将来の初期積分期間についてタスクキューを決定するように構成される請求項7に記載の装置。
【請求項9】
前記加速器はさらに、少なくとも1つのコヒーレント累積の各々についてエネルギー値を生成するように構成される請求項1に記載の装置。
【請求項10】
前記加速器はさらに、エネルギー値の非コヒーレント積分を生成するように構成される請求項9に記載の装置。
【請求項11】
前記加速器は、約500ヘルツ未満またはこれと等しい周波数スパンに渡って前記少なくとも1つのコヒーレント累積を生成するように構成される請求項1に記載の装置。
【請求項12】
前記加速器はダブルバッファを備え、前記ダブルバッファの各ブロックは前記加速器または前記データムーバの一方に関連付けられ、前記加速器およびデータムーバによるアクセスはこれが関連した前記ダブルバッファのブロックに制限される請求項1に記載の装置。
【請求項13】
多数の周波数オフセットは、前記積分の期間長に一部基づいて決定される請求項1に記載の装置。
【請求項14】
コードスペース探索を行う装置であって、前記装置は、
コードスペース探索に割り当てられ、アクティブなプログラム可能探索モードに依存する部分を有するメモリと、
前記メモリに結合した積分回路とを備え、前記積分回路は、
複数のプログラム可能な探索タスクの各々について初期積分期間に渡って決定された複数のコヒーレント積分結果を生成するように構成される探索器、
アクティブなプログラム可能探索モードによって決定された周波数仮説およびコヒーレント積分の期間長に渡るコヒーレント積分結果のコヒーレント累積を決定するように構成される加速器、および
前記探索器およびメモリの間、前記加速器およびメモリの間でDMAデータ転送を行うように構成されるデータムーバを含む装置。
【請求項15】
各探索タスクは、コードから選択された1セットのコード仮説を特定する請求項14に記載の装置。
【請求項16】
前記探索器は、1つの初期積分期間中に最大32個の離散探索タスクをサポートするように構成される請求項14に記載の装置。
【請求項17】
前記データムーバは、前記メモリから前記加速器のダブルバッファ式サンプルバッファの関連ブロックへデータ転送を行うように構成される請求項14に記載の装置。
【請求項18】
前記データムーバは、前記探索器のダブルバッファ式探索器バッファの関連ブロックからメモリへデータ転送を行うように構成される、請求項14に記載の装置。
【請求項19】
コードスペース探索の方法であって、前記方法は、
受信無線信号のコンプレックスサンプル(complex samples)を捕捉し、
複数のコードスペース探索タスクを構成し、
初期積分期間に渡って取得した複数のコヒーレント積分結果を生成するために前記コードスペース探索タスクの各々を実行し、
複数のコヒーレント積分結果のコヒーレント累積、前記コヒーレント累積に関連した積分の期間長および周波数オフセットをプログラム可能コードスペース探索モードに基づいて決定することを備える方法。
【請求項20】
前記コヒーレント累積のエネルギーを決定することをさらに備える請求項19に記載の方法。
【請求項21】
前記コヒーレント累積のエネルギーを決定し、
前記エネルギーに対応するエネルギー格子位置の非コヒーレント積分を決定することをさらに備える請求項19に記載の方法。
【請求項22】
加速器に関連付けられたエネルギーダブルバッファのブロックに前記非コヒーレント積分を記憶し、
データムーバに対する前記エネルギーダブルバッファのブロックの関連性をスワップし、
前記非コヒーレント積分を前記エネルギーダブルバッファのブロックからメモリへ転送することをさらに備える請求項21に記載の方法。
【請求項23】
探索器に関連付けられた探索器ダブルバッファのブロックに前記複数のコヒーレント積分結果を記憶することをさらに備える請求項19に記載の方法。
【請求項24】
データムーバに対する前記探索器ダブルバッファのブロックの関連性をスワップし、
前記探索器ダブルバッファのブロックからメモリへコヒーレント積分結果を転送することをさらに備える請求項23に記載の方法。
【請求項25】
前記コードスペース探索タスクの各々の実行は、
複数のコードスペース仮説を決定し、
前記コードスペース仮説の各々を前記コンプレックスサンプルの少なくとも一部に相関させることを備える請求項19に記載の方法。
【請求項26】
前記コヒーレント累積の決定は、
メモリからサンプルダブルバッファの第1ブロックへ前記複数のコヒーレント積分結果を転送し、
加速器に対する前記ダブルバッファの第1ブロックの関連性をスワップし、
前記第1ブロックにおける前記複数のコヒーレント積分結果の前記コヒーレント累積を決定することを備える請求項19に記載の方法。
【請求項27】
コードスペース探索の方法であって、前記方法は、
受信無線信号のコンプレックスサンプル(complex samples)を捕捉し、
複数のコードスペース仮説に関連した複数のコヒーレント積分結果を生成するために複数のコードスペース探索タスクの各々を実行し、
前記複数のコヒーレント積分結果をメモリに記憶し、
積分の期間長に対応する多数のコヒーレント積分結果をメモリから読み出し、
これら多数のコヒーレント積分結果のコヒーレント累積を決定することを備える方法。
【請求項28】
前記コヒーレント累積のエネルギーを決定することをさらに備える請求項27に記載の方法。
【請求項29】
前記コヒーレント累積のエネルギーに基づいて非コヒーレントエネルギー積分を決定することをさらに備える請求項27に記載の方法。
【請求項30】
前記複数のコードスペース探索タスクの各々の実行は、前記コンプレックスサンプルの少なくとも一部に対する複数のコード仮説の相関を決定することを備える請求項27に記載の方法。
【請求項31】
メモリへの前記複数のコヒーレント積分結果の記憶は、
前記複数のコヒーレント探索結果の少なくとも一部をダブルバッファのブロック内に記憶し、
前記ダブルバッファのブロックの関連性をスワップし、
前記複数のコヒーレント探索結果の一部を前記ダブルバッファのブロックからメモリへ転送することを備える請求項27に記載の方法。
【請求項32】
コードスペース探索を行う装置であって、前記装置は、
受信無線信号のコンプレックスサンプル(complex samples)を捕捉する手段と、
複数のコードスペース探索タスクを構成する手段と、
初期積分期間に渡って取得した複数のコヒーレント積分結果を生成するために前記コードスペース探索タスクの各々に従って探索を行う手段と、
プログラム可能コードスペース探索モードに基づいて複数のコヒーレント積分結果のコヒーレント累積、前記コヒーレント累積に関連した積分の期間長および周波数オフセットを決定する手段とを備える装置。
【請求項33】
コードスペース探索を行う装置であって、前記装置は、
受信無線信号のコンプレックスサンプル(complex samples)を捕捉する手段と、
複数のコードスペース仮説に対応する複数のコヒーレント積分結果を生成するために複数のコードスペース探索タスクの各々に従ってこれらコンプレックスサンプルを探索する手段と、
前記複数のコヒーレント積分結果を記憶する手段と、
積分の期間長に対応する多数のコヒーレント積分結果を転送する手段と、
前記多数のコヒーレント積分結果のコヒーレント累積を決定する手段とを備える装置。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate


【公表番号】特表2009−535605(P2009−535605A)
【公表日】平成21年10月1日(2009.10.1)
【国際特許分類】
【出願番号】特願2008−557521(P2008−557521)
【出願日】平成19年3月2日(2007.3.2)
【国際出願番号】PCT/US2007/063225
【国際公開番号】WO2007/120995
【国際公開日】平成19年10月25日(2007.10.25)
【出願人】(595020643)クゥアルコム・インコーポレイテッド (7,166)
【氏名又は名称原語表記】QUALCOMM INCORPORATED
【Fターム(参考)】