(57)【要約】受信信号のコードスペース探索を実現する装置および方法を開示する。コードスペース探索は、初期積分期間の各境界において動的な再構成が可能なサブタスクを実行する探索器（２２０）として実現される。各々の特定のサブタスクは、初期積分期間中に実行されるコヒーレント積分仮説のプログラム可能な構成を説明する。探索器は、コヒーレント積分仮説の結果をメモリの第１部分に記憶する。探索加速器（２５０）は初期積分結果につて動作する。探索加速器は、異なる時間仮説の様々な周波数ビンのコヒーレント積分を実行し、コヒーレント積分結果のエネルギー値を生成することができ、非コヒーレントエネルギー和を生成することができる。コヒーレント積分および非コヒーレントエネルギーの和のエネルギー値はメモリの第２部分に記憶される。サブタスクと加速器動作を再構成する機能によって、探索スペース次元に柔軟性が提供される。
2009535605.tif 000002
【特許請求の範囲】
【請求項１】
コードスペース探索のための装置であって、前記装置は、
メモリと、
複数のプログラム可能タスクを行い、各プログラム可能タスクについて、初期積分期間に渡って取得した複数のコヒーレント積分結果を生成するように構成される探索器と、
選択可能探索モードによって決定された１以上のコヒーレント積分の期間長および周波数オフセットに基づいて、探索器積分結果の少なくとも１つのコヒーレント累積を決定するように構成される加速器と、
前記探索器から前記メモリへ積分結果を転送するように構成されると共に、前記メモリから前記加速器へこの積分結果を転送するように構成されるデータムーバとを備える装置。
【請求項２】
前記探索器は、ダブルバッファ式探索器結果バッファを備え、前記ダブルバッファ式探索器結果バッファの各ブロックは前記探索器または前記データムーバの一方に関連付けられる請求項１に記載の装置。
【請求項３】
前記探索器は、１つの初期積分期間内で最大３２個のタスクを行うように構成される請求項１に記載の装置。
【請求項４】
各タスクは、関連コードの多数のコード位相仮説を特定し、前記複数のコヒーレント積分結果の各々は前記多数のコード位相仮説の１つに基づいている請求項１に記載の装置。
【請求項５】
前記初期積分期間はコード期間を備える請求項１に記載の装置。
【請求項６】
前記初期積分期間は約１ミリ秒を備える請求項１に記載の装置。
【請求項７】
前記探索器は、初期積分期間毎に更新できるタスクキューに基づいて複数のプログラム可能タスクを決定するように構成される、請求項１に記載の装置。
【請求項８】
前記探索器は、現在の初期積分期間に対応するタスクキュー内のタスク処理中に、将来の初期積分期間についてタスクキューを決定するように構成される請求項７に記載の装置。
【請求項９】
前記加速器はさらに、少なくとも１つのコヒーレント累積の各々についてエネルギー値を生成するように構成される請求項１に記載の装置。
【請求項１０】
前記加速器はさらに、エネルギー値の非コヒーレント積分を生成するように構成される請求項９に記載の装置。
【請求項１１】
前記加速器は、約５００ヘルツ未満またはこれと等しい周波数スパンに渡って前記少なくとも１つのコヒーレント累積を生成するように構成される請求項１に記載の装置。
【請求項１２】
前記加速器はダブルバッファを備え、前記ダブルバッファの各ブロックは前記加速器または前記データムーバの一方に関連付けられ、前記加速器およびデータムーバによるアクセスはこれが関連した前記ダブルバッファのブロックに制限される請求項１に記載の装置。
【請求項１３】
多数の周波数オフセットは、前記積分の期間長に一部基づいて決定される請求項１に記載の装置。
【請求項１４】
コードスペース探索を行う装置であって、前記装置は、
コードスペース探索に割り当てられ、アクティブなプログラム可能探索モードに依存する部分を有するメモリと、
前記メモリに結合した積分回路とを備え、前記積分回路は、
複数のプログラム可能な探索タスクの各々について初期積分期間に渡って決定された複数のコヒーレント積分結果を生成するように構成される探索器、
アクティブなプログラム可能探索モードによって決定された周波数仮説およびコヒーレント積分の期間長に渡るコヒーレント積分結果のコヒーレント累積を決定するように構成される加速器、および
前記探索器およびメモリの間、前記加速器およびメモリの間でＤＭＡデータ転送を行うように構成されるデータムーバを含む装置。
【請求項１５】
各探索タスクは、コードから選択された１セットのコード仮説を特定する請求項１４に記載の装置。
【請求項１６】
前記探索器は、１つの初期積分期間中に最大３２個の離散探索タスクをサポートするように構成される請求項１４に記載の装置。
【請求項１７】
前記データムーバは、前記メモリから前記加速器のダブルバッファ式サンプルバッファの関連ブロックへデータ転送を行うように構成される請求項１４に記載の装置。
【請求項１８】
前記データムーバは、前記探索器のダブルバッファ式探索器バッファの関連ブロックからメモリへデータ転送を行うように構成される、請求項１４に記載の装置。
【請求項１９】
コードスペース探索の方法であって、前記方法は、
受信無線信号のコンプレックスサンプル(complex samples)を捕捉し、
複数のコードスペース探索タスクを構成し、
初期積分期間に渡って取得した複数のコヒーレント積分結果を生成するために前記コードスペース探索タスクの各々を実行し、
複数のコヒーレント積分結果のコヒーレント累積、前記コヒーレント累積に関連した積分の期間長および周波数オフセットをプログラム可能コードスペース探索モードに基づいて決定することを備える方法。
【請求項２０】
前記コヒーレント累積のエネルギーを決定することをさらに備える請求項１９に記載の方法。
【請求項２１】
前記コヒーレント累積のエネルギーを決定し、
前記エネルギーに対応するエネルギー格子位置の非コヒーレント積分を決定することをさらに備える請求項１９に記載の方法。
【請求項２２】
加速器に関連付けられたエネルギーダブルバッファのブロックに前記非コヒーレント積分を記憶し、
データムーバに対する前記エネルギーダブルバッファのブロックの関連性をスワップし、
前記非コヒーレント積分を前記エネルギーダブルバッファのブロックからメモリへ転送することをさらに備える請求項２１に記載の方法。
【請求項２３】
探索器に関連付けられた探索器ダブルバッファのブロックに前記複数のコヒーレント積分結果を記憶することをさらに備える請求項１９に記載の方法。
【請求項２４】
データムーバに対する前記探索器ダブルバッファのブロックの関連性をスワップし、
前記探索器ダブルバッファのブロックからメモリへコヒーレント積分結果を転送することをさらに備える請求項２３に記載の方法。
【請求項２５】
前記コードスペース探索タスクの各々の実行は、
複数のコードスペース仮説を決定し、
前記コードスペース仮説の各々を前記コンプレックスサンプルの少なくとも一部に相関させることを備える請求項１９に記載の方法。
【請求項２６】
前記コヒーレント累積の決定は、
メモリからサンプルダブルバッファの第１ブロックへ前記複数のコヒーレント積分結果を転送し、
加速器に対する前記ダブルバッファの第１ブロックの関連性をスワップし、
前記第１ブロックにおける前記複数のコヒーレント積分結果の前記コヒーレント累積を決定することを備える請求項１９に記載の方法。
【請求項２７】
コードスペース探索の方法であって、前記方法は、
受信無線信号のコンプレックスサンプル(complex samples)を捕捉し、
複数のコードスペース仮説に関連した複数のコヒーレント積分結果を生成するために複数のコードスペース探索タスクの各々を実行し、
前記複数のコヒーレント積分結果をメモリに記憶し、
積分の期間長に対応する多数のコヒーレント積分結果をメモリから読み出し、
これら多数のコヒーレント積分結果のコヒーレント累積を決定することを備える方法。
【請求項２８】
前記コヒーレント累積のエネルギーを決定することをさらに備える請求項２７に記載の方法。
【請求項２９】
前記コヒーレント累積のエネルギーに基づいて非コヒーレントエネルギー積分を決定することをさらに備える請求項２７に記載の方法。
【請求項３０】
前記複数のコードスペース探索タスクの各々の実行は、前記コンプレックスサンプルの少なくとも一部に対する複数のコード仮説の相関を決定することを備える請求項２７に記載の方法。
【請求項３１】
メモリへの前記複数のコヒーレント積分結果の記憶は、
前記複数のコヒーレント探索結果の少なくとも一部をダブルバッファのブロック内に記憶し、
前記ダブルバッファのブロックの関連性をスワップし、
前記複数のコヒーレント探索結果の一部を前記ダブルバッファのブロックからメモリへ転送することを備える請求項２７に記載の方法。
【請求項３２】
コードスペース探索を行う装置であって、前記装置は、
受信無線信号のコンプレックスサンプル(complex samples)を捕捉する手段と、
複数のコードスペース探索タスクを構成する手段と、
初期積分期間に渡って取得した複数のコヒーレント積分結果を生成するために前記コードスペース探索タスクの各々に従って探索を行う手段と、
プログラム可能コードスペース探索モードに基づいて複数のコヒーレント積分結果のコヒーレント累積、前記コヒーレント累積に関連した積分の期間長および周波数オフセットを決定する手段とを備える装置。
【請求項３３】
コードスペース探索を行う装置であって、前記装置は、
受信無線信号のコンプレックスサンプル(complex samples)を捕捉する手段と、
複数のコードスペース仮説に対応する複数のコヒーレント積分結果を生成するために複数のコードスペース探索タスクの各々に従ってこれらコンプレックスサンプルを探索する手段と、
前記複数のコヒーレント積分結果を記憶する手段と、
積分の期間長に対応する多数のコヒーレント積分結果を転送する手段と、
前記多数のコヒーレント積分結果のコヒーレント累積を決定する手段とを備える装置。
【発明の詳細な説明】
【技術分野】
【０００１】
（関連出願の相互参照）
本願出願は、２００６年３月２日に提出された米国特許仮出願第６０／７７９，１７２号、「信号取得のための長コヒーレント積分装置および方法」の優先権を主張するものであり、また、２００７年1月１７日に提出された米国特許仮出願第６０／８８５，５２３号、「受信機にてコードスペース探索を行う方法および装置」の優先権を主張するものである。上記両方の関連出願は譲受人に譲渡され、その全体は本願明細書に参照によって組み込まれる。
【０００２】
本開示は、無線通信ディバイスの位置探査に関する。より具体的には、本開示は、無線通信ディバイスにおけるコードスペース探索の再構成可能なシステムに関する。
【背景技術】
【０００３】
多くの無線通信は、ダイレクトシーケンス拡散スペクトルを利用して情報の通信を行う。信号を拡散するために使用されるコードは一般に擬似ランダムコードである。受信機は一般に拡散コードを局所的に生成されたコードと相関させることにより内在する（underlying）情報を復元する。
【０００４】
受信機は、コードに関連した時間オフセットを利用し、位置探査を行うために利用可能な時間基準を確立する。擬似ランダム拡散信号から確立されたタイミングに基づく位置決定は、様々な位置探査システムで行われる。
【０００５】
例えば全地球測位システム（ＧＰＳ）ナビゲーションシステムは、地球周囲の軌道内に存在する衛星を採用する。ＧＰＳのユーザであれば、地球上のどこでも、３次元位置、速度および日時を含む正確なナビゲーション情報を導き出すことができる。ＧＰＳシステムは、赤道に対して５５°の角度で傾斜し、また相互に対して１２０°の角度で離間した３つの面において半径２６，６００キロメートルの円形軌道内に展開された２４個の衛星を含んでいる。８個の衛星は３本の軌道経路の各々において等しく離間している。ＧＰＳを使用した位置測定は、軌道衛星からＧＰＳ受信機へのＧＰＳ信号放送の伝播遅延時間の測定に基づく。通常、４個の衛星からの信号の受信が四次元（緯度、経度、高度、時間）の正確な位置決定を行うために必要である。受信機が受信信号伝播遅延を測定すると、各衛星までの距離が各遅延に光速を乗じることにより計算される。次に、場所および時間が測定した距離およびわかっている衛星の場所を含み４未知数である４方程式の組を解くことにより求まる。ＧＰＳシステムの正確な機能は、各衛星用のオンボード原子時計手段、並びに衛星時計および軌道のパラメータを継続的に監視および修正する地上追跡局によって維持される。
【０００６】
各ＧＰＳ衛星は、Ｌ帯域で２個のダイレクトシーケンスコード化拡散スペクトル信号を送信する。Ｌ１信号は１．５７５４２ＧＨｚのキャリア周波数にあり、Ｌ２信号は１．２２７６ＧＨｚにある。Ｌ１信号は、位相直交で変調された２つの位相シフトキー（ＰＳＫ）拡散スペクトル信号で構成される。すなわち、Ｐコード信号（Ｐは厳密用）およびＣ／Ａコード信号（Ｃ／Ａは粗い／取得用）。Ｌ２信号は、Ｐコード信号のみを含む。ＰおよびＣ／Ａコードは、キャリア上に変調されたビット（「チップ」とも呼ばれる）の反復性擬似ランダムシーケンスである。これらコードの時計的性質が、時間遅延測定を実施する上で受信機によって利用される。各衛星用のコードはユニークであって、全ての衛星が全て同一のキャリア周波数にある場合でも、どの衛星が与えられたコードを送信したかを受信機に識別させるものである。さらに、ナビゲーション計算に必要なシステム状態および衛星軌道のパラメータに関する情報を含んだ５０ビット／秒のデータストリームも各キャリア上に変調される。Ｐコード信号は暗号化され、一般に商用および私用ユーザに対して利用不能である。Ｃ／Ａ信号は全てのユーザが利用できる。
【０００７】
ＧＰＳ受信機において行われる動作は、ほとんどの部分について、どのダイレクトシーケンス拡散スペクトル受信機においても一般に行われるものである。擬似ランダムコード変調拡散効果は、逆拡散として知られる処理において、時間整列させて局所生成されたコードのコピーをこの効果に乗じることにより各信号から除去される必要がある。適切な時間整列やコード遅延は、受信機の起動時にはわからない傾向にあるため、これはＧＰＳ受信機動作の初期「取得」フェーズ中において探索することにより決定される必要がある。正確なコード時間整列が決定されると、ＧＰＳ受信機動作の「追跡」フェーズ中においてこれが維持される。
【０００８】
受信信号が拡散されると、各信号は、中間キャリア周波数における５０ビット／秒のＰＳＫ信号で構成される。この信号の厳密な周波数は、衛星と端末ユニットとの間の相対動作によって生じたドップラー効果や、局所受信機ＧＰＳ時計基準エラーのために不確定である。通常、初期信号取得前にはわからないこのドップラー周波数を初期信号取得中に探索する必要がある。ドップラー周波数がほぼ決定したら、キャリア復調に進む。
【０００９】
キャリア復調後、データビットタイミングがビット同期ループによって導出され、データストリームが最終的に検出される。ナビゲーション計算は、４個の衛星からの信号が取得されてロックされて、必要な時間遅延およびドップラー測定が行われて、十分な数（ＧＰＳ時間基準および軌道のパラメータを決定するために足る）のデータビットが受信されると実施できるようになる。
【００１０】
場所決定に関するＧＰＳシステムの１つの欠点は、初期信号取得フェーズに長い時間がかかることである。上述したように、４個の衛星信号を追跡できるようになる前に、次元がコード位相遅延およびドップラー周波数シフトである２次元探索「スペース」でこれらの衛星を探索する必要がある。一般に、受信機「コールドスタート」の後の場合と異なり、この探索スペース内における信号の場所についての事前情報を持っていないと、取得および追跡対象である各衛星について多くの数のコード遅延（約２０００）およびドップラー周波数（約１５）を探索する必要がある。そのため、各信号について、３０，０００に及ぶ探索スペース内の場所を検査する必要がある。一般に、これらの場所は１つずつ順次に検査され、１つの処理につき５〜１０分の時間がかかる。受信アンテナの視野内にある４個の衛星の証明（即ちＰＮコード）が未知である場合には、この取得時間はさらに長くなる。
【００１１】
ＧＰＳ受信機が衛星信号を既に取得していて、ここで追跡モードになっている場合には、位置決定処理は事実上即時的である。しかし、無線端末のルーチンの使用においては、ユーザが電源を入れて速やかに動作を開始させる。これは、緊急通信を意図するような場合である。こうした状況では、位置決定される前のＧＰＳ／無線端末ユニットによる５〜１０分間のＧＰＳ衛星信号取得コールドスタートに関連した時間遅延がシステムの応答時間を制限する。
【００１２】
そのため、ＧＰＳ／無線端末ユニットにおいてＧＰＳ衛星信号を取得して位置決定を下すために必要な時間を短縮するシステムおよび方法の必要性が技術上依然として残る。
【発明の開示】
【発明の概要】
【００１３】
ここでは、受信信号のコードスペース探索を実施する装置および方法について説明する。コードスペース探索は、初期積分期間の各境界において動的な再構成が可能なサブタスクを行う探索器として実施される。各特定サブタスクは、初期積分期間中に行われるコヒーレント積分仮説のプログラム可能な構成を明らかにする。探索器は、コヒーレント積分仮説の結果をメモリの第１部分に記憶する。探索加速器がこの初期積分結果について動作する。探索加速器は、異なるタイミング仮説の様々な周波数ビンのコヒーレント積分を実行でき、コヒーレント積分結果のエネルギー値を生成でき、非コヒーレントエネルギーの和を生成できる。コヒーレント積分のエネルギーと非コヒーレントエネルギーの和のエネルギー値はメモリの第２部分に記憶される。加速器動作およびサブタスクを再構成する機能は探索スペースの様相において柔軟性を提供する。
【００１４】
本発明の態様は、コードスペース探索のための装置を含む。この装置は、メモリと、複数のプログラム可能タスクを行い、各プログラム可能タスクについて、初期積分期間に渡って取得した複数のコヒーレント積分結果を生成するように構成される探索器と、選択可能探索モードによって決定された１以上のコヒーレント積分の期間長および周波数オフセットに基づいて、探索器積分結果の少なくとも１つのコヒーレント累積を決定するように構成される加速器と、探索器から前記メモリへ積分結果を転送するように構成されると共に、メモリから加速器へこの積分結果を転送するように構成されるデータムーバとを備える。
【００１５】
本発明の態様は、コードスペース探索のための装置を含む。この装置は、コードスペース探索に割り当てられアクティブなプログラム可能探索モードに依存する部分を有するメモリと、このメモリに結合した積分回路とを備える。この積分回路は、複数のプログラム可能な探索タスクの各々について初期積分期間に渡って決定された複数のコヒーレント積分結果を生成するように構成される探索器、アクティブなプログラム可能探索モードによって決定された周波数仮説およびコヒーレント積分の期間長に渡るコヒーレント積分結果のコヒーレント累積を決定するように構成される加速器、およびこの探索器およびメモリの間、この加速器およびメモリの間でＤＭＡデータ転送を行うように構成されるデータムーバを含む。
【００１６】
本発明の態様は、コードスペース探索の方法を含む。この方法は、受信無線信号のコンプレックスサンプル(complex samples)を捕捉し、複数のコードスペース探索タスクを構成し、初期積分期間に渡って取得した複数のコヒーレント積分結果を生成するためにコードスペース探索タスクの各々を実行し、複数のコヒーレント積分結果のコヒーレント累積、このコヒーレント累積に関連した積分の期間長および周波数オフセットをプログラム可能なコードスペース探索モードに基づいて決定することを備える。
【００１７】
本発明の態様はコードスペース探索の方法を含む。この方法は、受信無線信号のコンプレックスサンプル(complex samples)を捕捉し、複数のコードスペース仮説に関連した複数のコヒーレント積分結果を生成するために複数のコードスペース探索タスクの各々を実行し、これら複数のコヒーレント積分結果をメモリに記憶し、積分の期間長に対応する多数のコヒーレント積分結果をメモリから読み出し、これら多数のコヒーレント積分結果のコヒーレント累積を決定することを備える。
【００１８】
本開示の実施形態の特徴、目的、利点は、図面および以下に述べる詳細な説明からさらに明らかになる。図面中では、同様の要素が同様の参照符号で示される。
【詳細な説明】
【００１９】
無線通信環境における信号取得および追跡のためにコードスペース探索を動的に再構成可能なシステムおよび方法について説明する。再構成可能なシステムは、１以上の探索増分についてサンプルを記憶するように構成されるサンプルメモリを含む。
【００２０】
再構成可能な探索器は、コードスペース探索およびコヒーレント積分のために記憶したサンプルをアクセスする。再構成可能な探索器は、所定数のチャネルのうちのいずれか１つをサポートするように動的に構成できる複数の相関器を含んでいる。探索器の構成、並びにチャネルに対する相関器の割り当ては探索増分毎に更新できる。
【００２１】
これら相関器は、対応チャネル割り当ての各々について相関結果を生成でき、探索器はこの結果を記憶装置内に書き込みできる。記憶装置のサイズは、所望のコヒーレント積分期間に基づいて動的に再割り当てできる。
【００２２】
データムーバがこの記憶装置をアクセスし、探索器結果をサンプルバッファへ転送する。サンプルバッファは、第１サンプルバッファ部分および第２サンプルバッファ部分を持つダブルバッファとして構成されることができる。データムーバは、書き込み中でないバッファ部分の同時読み出しを認めるために第１または第２バッファ部分の一方に対する書き込みを交互に行う。第１および第２サンプルバッファ部分のサイズは、コヒーレント積分期間であり得る初期積分期間に対応させて動的に構成できる。
【００２３】
加速器がサンプルバッファからの相関結果をアクセスし、次にサンプルバッファへの書き込みのタイミングに対して相補的な形式で第１サンプルバッファ部分および第２サンプルバッファ部分を交互にアクセスする。加速器は、動的に調整可能な初期積分期間に渡る探索器結果のコヒーレント累積を決定する。初期積分期間の長さは、潜在的データ変調期間を越えて延長できる。例えば、この初期積分期間はエッジ遷移と受信データを追跡することによって２０ミリ秒のデータ変調期間を越えて延長できる。加速器は、エッジ遷移および潜在的データの値に基づいて相関結果を選択的に反転できる。
【００２４】
加速器は、コヒーレント累積結果の各々についてエネルギーまたは大きさを生成できる。加速器はエネルギーバッファにエネルギー結果を書き込む。エネルギーバッファも、第１エネルギーバッファ部分および第２エネルギーバッファ部分を持ちダブルバッファとして構成できる。加速器は、エネルギーバッファの第１部分に書き込み、同時に第２エネルギーバッファ部分から読み出しを行える。
【００２５】
データムーバも、エネルギーバッファに対して読み出しおよび書き込みするように構成できる。データムーバはエネルギーバッファからエネルギー結果を読み出し、これらを記憶装置に書き込み、先行のエネルギー結果を記憶装置からエネルギーバッファへ読み出すことができる。
【００２６】
加速器は、複数のエネルギー結果を合計することで非コヒーレント積分を決定できる。これら結果はエネルギーバッファ内にバッファされ、データムーバが非コヒーレント合計を記憶装置に記憶できる。
【００２７】
図１は、位置探索をサポートする無線通信システム１００の実施形態の単純化ブロック図である。
【００２８】
無線通信システム１００は、ユーザ端末１１０と通信できる１以上の地上要素を含むことができる。ユーザ端末１１０は、例えば１以上の通信規格に従って動作するように構成される無線電話であってよい。この１以上の通信規格は、例えばＧＳＭ、ＷＣＤＭＡ、ＣＤＭＡ２０００を含む。ユーザ端末１１０は携帯ユニット、移動ユニット、または据置ユニットであってよい。また、ユーザ端末１１０は、移動ユニット、移動端末、移動局、ユーザ機器、ポータブル、電話などとも呼ばれる。
【００２９】
ユーザ端末１１０は、一般に、セクタ化セルラータワーとしてここで示す１以上の基地局１２０ａまたは１２０ｂと通信する。通常、ユーザ端末１１０はユーザ端末１１０内の受信機での最大信号強度を提供する基地局、例えば１２０ｂと通信しようとする。２個の基地局１２０ａ、１２０ｂ、並びに１つのユーザ端末１１０が、便宜性および明瞭性の目的で、図１に示される。システムは、通常、多数の基地局を持ち、１個を越えるユーザ端末をサポートすることができる。
【００３０】
このユーザ端末１１０は１以上の信号ソースから受信した位置探索信号に基づいて部分的に自身の位置を決定できる。これら信号ソースは、ＧＰＳのような衛星ベース位置探索システムの一部であってよい１以上の衛星１３０を含むことができる。また、これら信号ソースは１以上の基地局１２０ａまたは１２０ｂを含んでもよい。
【００３１】
ユーザ端末１１０は、各位置探索信号ソースまでの擬似距離を決定することによって部分的に自身の場所を決定できる。各位置探索信号ソースが擬似ノイズコードを使用して拡散された位置探索信号を伝送すると、ユーザ端末が局所的に生成された擬似ノイズコードを受信信号と相関させることによりある程度擬似距離を決定して、受信擬似ノイズ信号の位相を決定できる。ユーザ端末１１０は、この受信擬似ノイズ信号の位相に部分的に基づいて時間または距離と相関する擬似距離を決定できる。
【００３２】
基地局１２０ａおよび１２０ｂの各々は、適切な基地局１２０ａおよび１２０ｂへまたはからの通信信号の経路を決める基地局コントローラ（ＢＳＣ）１４０に結合できる。ＢＳＣ１４０は、ユーザ端末１１０と公衆交換電話ネットワーク（ＰＳＴＮ）１７０との間のインターフェースとして動作するように構成できる移動交換センター（ＭＳＣ）１５０に結合されてよい。このため、ＭＳＣ１５０がＰＳＴＮ１７０に結合されてもよい。さらに、ＭＳＣ１５０は、他の通信システムとの内部システムハンドオフを調整するように構成されてもよい。
【００３３】
位置探索センター（ＰＬＣ）１６０はＢＳＣ１４０に結合してもよい。ＰＬＣ１６０は、例えば位置探索システム１００内における基地局１２０ａおよび１２０ｂの各々の場所のような位置探索情報を記憶するように構成されることができる。一実施形態において、ＰＬＣ１６０は、この情報をユーザ端末１１０に提供してユーザ端末１１０が相対到達時間値であってよい複数の信号ソースまでの擬似距離に部分的に基づいて自身の場所を決定できるように構成することができる。別の実施形態において、ＰＬＣ１６０は、ユーザ端末１１０によって提供される擬似距離情報に基づいてユーザ端末１１０の場所を決定するように構成されることができる。後者の実施形態では、ＰＬＣ１６０内のネットワークサーバ（図示せず）がユーザ端末１１０からの処理をオフロードするために位置探索決定を行える。
【００３４】
ＰＬＣ１６０は、ＢＳＣ１４０を介して基地局１２０ａおよび１２０ｂに命令して位置探索信号を生成させるように構成できる。別の実施形態では、基地局１２０ａ、１２０ｂが周期的に位置探索信号を生成するように構成できる。
【００３５】
ユーザ端末１１０は、ＰＬＣ１６０と共同で、いくつかの位置探索技術のうち任意の１つを使用して自身の位置を決定できる。ユーザ端末１１０またはＰＬＣ１６０は、擬似距離値を生成するために使用される信号ソースに部分的に基づいてこの技術を選択できる。例えば、ユーザ端末１１０は到達時間（ＴＯＡ）、到達時間差（ＴＤＯＡ）、アドバンスドフォワードリンク三辺測量（ＡＦＬＴ）、またはこれ以外の位置探索技術を使用してよい。ユーザ端末１１０またはＰＬＣ１６０は、ＧＰＳに基づくもので、ハイブリッド位置探索システムのような地上ベースビーコンによってＧＰＳ信号を増大させるもので、かつ地上ベースのビーコンから導出される擬似距離値に基づくものである位置探索技術を実行することによりユーザ端末１１０の位置を決定できる。
【００３６】
例えば始動伴って最初の位置決定を生成するため、ＧＰＳ衛星信号を処理するように構成されたユーザ端末１１０内の受信機は、全衛星ＰＮコードシーケンス、全ＰＮコード位相仮説、および全ドップラー周波数オフセットに渡って探索を必要とする。これは、探索が２４個の衛星、所定範囲のドップラー周波数、１０２３個のコード仮説（これは、通常２０４６個の離散ハーフチップコードシフトおよび計算として実行される）に渡って行われることを意味する。初期位置が決定されると、ユーザ端末１１０は探索した周波数およびコード位相の数を、初期位置を決定する際に使用した衛星信号に基づくサブセットに制限する。ユーザ端末１１０は、探索する離散衛星ＰＮコードシーケンスの数を、実際に見える衛星のセット、一般的には８個に減少させることができ、この数はさらに４個に減らすこともできる。
【００３７】
しかし、単独のＧＰＳ衛生情報を使用して位置決定できない場合には、ユーザ端末１１０が１以上の地上ビーコンのための１以上のＰＮコードシーケンスを探索する必要がある。地上ビーコンによって使用されるコードシーケンスは、ＧＰＳ衛星によって使用するコードシーケンスと通常異なっている。加えて、地上ベースの位置探索信号の処理およびタイムラインは、ＧＰＳのためのそれらとも通常異なる。
【００３８】
ユーザ端末１１０は再構成可能な受信信号プロセッサを含むことができる。この再構成可能な信号プロセッサは、複数の独立構成可能なリソースを含むことができ、複数の積分期間をサポートできる。これら独立構成可能なリソースは、選択されたコードスペース部分の探索を構成可能時間に渡って行うように構成できる。この探索結果は、構成可能な積分期間に渡ってコヒーレントに積分できる。さらに、この積分結果は非コヒーレントに積分できる。
【００３９】
ユーザ端末１１０内における再構成可能な受信信号プロセッサの実施は、このユーザ端末１１０が現在の処理条件に対して効率的な形式でリソースに専念することを認めるものである。例えば、ユーザ端末１１０は、初期位置決定中に、位置探索信号ソースの証明を迅速に識別するために、再構成可能な受信信号プロセッサを最大数の位置探索ソースに渡って探索するように構成することができる。例えば、ユーザ端末１１０は、まず、どの衛星が信号の受信を開始したかを識別するために、所定最大数のＧＰＳ衛星に渡って探索を行うことができる。どの衛星が信号受信を開始したかを決定すると、ユーザ端末１１０は識別した衛星信号をより集中して処理するように受信信号プロセッサを再構成することができる。例えば、ユーザ端末１１０は周波数感度と並んで受信感度を向上させるためにより長いコヒーレント積分期間を構成できる。
【００４０】
図２は、コードスペース探索を実行する再構成可能な位置探索信号処理システム２００の実施形態の単純化機能ブロック図である。この信号処理システム２００は、探索器２２０に結合されたサンプルサーバ２１０を含む。探索器２２０はメモリ２４０に記憶される結果を生成する。加速器２５０がメモリ２４０内の探索器結果をアクセスして、追加の信号処理を行う。
【００４１】
データムーバ２３０は、探索器２２０からの結果をメモリ２４０内の場所に書き込む。また、データムーバ２３０は加速器２５０に関連したバッファ２６０およびメモリ２４０間の読み出しおよび書き込み動作を制御する。バッファ２６０はサンプルバッファ２６２とエネルギーバッファ２６４に分割することができる。サンプルバッファ２６２およびエネルギーバッファ２６４の各々はダブルバッファとして構成でき、ここではデータがバッファの第１部分に書き込まれ、これと同時に別のデータがこのバッファの第２部分から読み出される。
【００４２】
コントローラ２７０は、探索器２２０および加速器２５０を構成するように動作する。例えば、コントローラ２７０は、探索器２２０によって行われるサブタスクを構成できる。また、コントローラ２７０はコヒーレント積分期間あるいは長さ、および加速器２５０によって行われる非コヒーレントエネルギー合計の長さを構成できる。
【００４３】
また、コントローラ２７０は様々な相関値およびエネルギー合計を記憶するために必要とされるメモリ量を構成できる。相関結果の記憶に必要なメモリ量は、コヒーレント積分の期間長および非コヒーレントエネルギー合計の数に一部基づいて決定される。コントローラ２７０は、構成をサポートするために必要なメモリリソースを利用し、未使用メモリを別の処理に使用できるようにする。コントローラ２４０はデータムーバ１３０がメモリ２４０の読み出し、または書き込みを行う際に適切なメモリの場所をアクセスできるようにするために動的メモリマップをデータムーバ２３０へ送る。
【００４４】
一般的に、サンプルサーバ２１０は、受信信号のコンプレックスサンプルを一時的に記憶しておくＲＡＭのようなメモリとして実施される。別の実施形態では、サンプルサーバ２１０は、受信ベースバンド信号をサンプリングし、同相（Ｉ）サンプルおよび直交位相（Ｑ）サンプルを生成するように構成されるコンプレックスアナログ／ディジタル変換器（ＡＤＣ）のような信号サンプラを含んでよい。
【００４５】
例えば、サンプルサーバ２１０は、２倍のチップ速度で取得された最大４ミリ秒のコンプレックスサンプルを記憶するように構成できる。無論、サンプルサーバ２１０は２倍のチップ速度で取得したサンプルに限定されるものではなく、実際のサンプル速度はチップ速度の分数または倍数であってよい。例えば、サンプルサーバ２１０は、チップ速度、チップ速度の４倍の速度、または他の間隔で取得したサンプルを記憶するように構成できる。信号処理システム２００が受信ＧＰＳ信号を処理するように構成される場合には、サンプリング速度は約２ＭＨｚであってよい。サンプルサーバ２１０は、これに記憶されているサンプルのミリ秒境界がコード期間に対応するＧＰＳミリ秒境界と一致するようにリアルタイム時計（図示せず）と同期できる。
【００４６】
探索器２２０は、サンプルサーバ２１０に記憶されたコンプレックスサンプルについて動作する。探索器２２０は、３２個の独立構成可能なサブタスクをサポートし、各サブタスクは１ミリ秒毎に再割り当てできる。各サブタスクは６４個の別々の仮説に渡って３２個のチップウィンドウを探索する。このサブタスクは、ＧＰＳ衛星に対応する同一または異なるコードを探索するように割り当てることができる。特定の衛星のコードスペースの探索に割り当てられたサブタスクの数の増大は、平均探索時間を短縮する。異なる仮説の総数と各ウィンドウの長さはハードウェア構成を変更することによって変更でき、また、サブタスクの実際数および構成は上述した例に限定されるものではない。
【００４７】
例えば、ＧＰＳコード位相探索では、サブタスクがサンプルの３２チップウィンドウを６４個に及ぶ異なる仮説に渡って探すように構成できる。探索する仮説の数は、コントローラ２７０によってプログラムでき、例えば２〜６４までの２の倍数であってよい。
【００４８】
コード位相探索を実行する前に、探索器２２０が受信信号内の周波数オフセットを修正する。一実施形態では、探索器２２０が探索サンプルを所望の中心周波数にまで回転させるロテータを実現できる。ロテータによって補正できる周波数オフセットの量は、信号処理システム２００によって行われる周波数探索として実施できる周波数修正ループに一部基づいて決定できる。
【００４９】
探索器２２０は、受信し、オーバサンプルされたチップシーケンスの補間をオプションで行うことができる。この補間処理は、相関に先立つ入力信号の再サンプリングとも呼ばれる。一実施形態では、受信信号はコードシーケンスチップ速度の２倍の速度（チップ×２）でサンプリングされる。サンプラが、２個の連続したサンプルを補間し、可変遅延を導入する。この可変遅延は、一般的に１チップ期間の１／２よりも短く、さらに例えば、チップ期間の１／４、あるいは短いチップ期間の倍数であってよい。例えば、リサンプラは１チップ期間の１／８の倍数に遅延を導入することができ、ここで倍数は０〜３の範囲である。
【００５０】
探索器２２０は仮説の各々を使用して３２チップシーケンスを逆拡散するが、ここで仮説は局所的に生成されたＰＮコードシーケンスの特定の位相に対応する。各仮説は３２のコード位相オフセットの探索を可能にするハーフチップ境界で並ぶことができる。別の実施形態では、各仮説がチップ境界で並ぶことができるため、これにより６４の異なるコード位相オフセットの探索を可能にする。探索器２２０は、コンプレックス相関結果の各々を探索バッファに記憶するように構成される。データムーバ２３０は、バッファされた探索結果をメモリ２４０内の場所に記憶できる。
【００５１】
一実施形態では、探索バッファ２２４がダブルバッファとして構成できる。探索器２２０は、過去の探索器結果をメモリ２４０へ移動するためにデータムーバ２３０がダブルバッファの第２部分をアクセスしている間に、ダブルバッファの第１部分を更新するように構成できる。このダブルバッファ構成は、探索器２２０がデータ伝送制限でなく、むしろ計算制限されることを許す。ダブルバッファを構成することで、次の探索器タスクを実行する前に先行する計算結果の転送を完了させる必要がなくなると共に、先行する結果のデータ伝送と最新タスクの処理とが同時に発生可能になる。
【００５２】
無論、探索器２２０はダブルバッファ構成の使用に限定されるものではなく、同時に処理とデータ伝送のできる他のメモリ構成を使用してよい。例えば、探索器２２０は、特定のメモリの場所が次に更新される前に全データ転送を行わせるために十分なサイズを持ったサーキュラーバッファを実現できる。
【００５３】
探索器２２０の構成と、特に探索コードスペースおよび仮説数の構成とは、各相関増分毎に構成できる。上述した例では、相関増分は、各ミリ秒毎に発生する。
【００５４】
探索器２２０は、相関増分毎に更新できるハードウェアコマンドレジスタを含む。コントローラ２７０は、タスクキューの場所とサイズをハードウェアコマンドレジスタに書き込むことができる。前述したように、探索器２２０は、単一のキューにおいて最大３２個の別々のタスクを行うように制御可能である。
【００５５】
探索器２２０は、ハードウェアコマンドレジスタで指定したキューをアクセスするように構成される。探索器２２０は、タスク処理中にタスクキューを取得でき、有効性比較値に基づいて、ハードウェアコマンドレジスタ内で指定されたタスクのスタート時間を決定できる。
【００５６】
加速器２５０は、探索器２２０からの相関結果を処理するように構成される。加速器２５０は、開始を必要とする異なるデータ転送の数を減らすために、バッファ２６０に記憶されたデータについて動作するように構成できる。バッファ２６０はサンプルバッファ２６２およびエネルギー格子バッファ２６４を含んでよい。サンプルバッファ２６２およびエネルギー格子バッファ２６４の各々をダブルバッファとして配列することで、メモリ２４０内の読み出しおよび書き込み場所に関連して生じうるメモリ争奪問題を排除できる。
【００５７】
各ダブルバッファは、第１および第２部分またはメモリのバンクを含んでよい。与えられた期間で、バッファの１つのバンクが加速器２５０の積分エンジンに結合され、バッファの他のバンクがデータムーバ２８０に結合またはこれをアクセス可能にされる。バンクと積分エンジンまたはデータムーバ２８０との関連は、各処理間隔後にスワップされる。
【００５８】
加速器２５０は、構成可能な積分期間および複数の周波数に渡ってコヒーレントな積分和を生成するように構成される複数の並列アキュムレータを含む積分エンジンを含む。加速器２５０はどのコヒーレント積分の期間長も事実上サポートするように制御されることができるが、加速器２５０は積分期間長の離散セットをサポートするように最適化されることもできる。一実施形態において、加速器２５０は１０、２０、３９、８０、１６０ミリ秒の積分期間に渡って、コヒーレント累積とも呼ばれるコヒーレント積分和を生成するように構成される。探索器２２０は、１ミリ秒期間に渡ってコヒーレント積分結果を生成するため、ミリ秒単位のコヒーレント累積時間はコヒーレント積分の期間長に対応する。加速器２５０は、１以上のビットエッジに渡って拡張された積分の期間長を収容するためにビットエッジおよびビット値を追跡するように構成できる。
【００５９】
並列累積経路の数は加速器２５０内の複雑さの許容レベルに依存する。一実施形態において、加速器２５０は、例えば、６個の異なる周波数に渡る１セットのサンプルの積算を可能にする６本の並列乗算器加速器経路を含むことができる。並列累積経路の動作は多くの周波数および多くのサンプルセットをサポートできるように繰り返すことができる。
【００６０】
加速器バッファ２６２は、１タスクの全仮説について２０ミリ秒の積分を行うために十分であってよい。同様に、エネルギーバッファ２６４も、６４の時間オフセットの各々に渡って２０個の周波数をサポートするのに十分な大きさであってよい。２０ミリ秒を超える積分は、１つの動作内の時間オフセット総数のサブセットを処理することで行える。２０＊Ｎミリ秒の積分を実行するには、Ｎ個の加速器動作が使用される。各動作は６３／Ｎ個の時間仮説を処理する。各サンプルメモリは、６４／Ｎ個の時間オフセットの各々について２０＊Ｎミリ秒を保持する。各エネルギーメモリは、６４／Ｎ個の時間オフセットの各々について２０＊Ｎ個の周波数を保持する。この結果、異なる積分の期間長をサポートするために必要となるメモリ帯域幅および加速器トランザクションレートは変化しない。
【００６１】
例えば、加速器２５０は、単一の動作中に６４個の異なる時間仮説に渡って２０ミリ秒の累積時間を同時にサポートするように構成するか、または、同じ単一の動作中に８個の異なる時間仮説に渡って１６０ミリ秒の累積時間をサポートするように構成できる。加速器２５０は、同じ６４個の周波数仮説を探索するために８個の別個動作を行える。こうして、加速器によって利用されるデータ帯域幅は積分期間に関係なく一定に保たれる。
【００６２】
加速器２５０にかかる周波数範囲のサイズは、一般的には公称周波数の上下約２５０ヘルツに広がった合計５００ヘルツである。加速器２５０によって同時に解析される周波数仮説の数は、コヒーレント積分の期間長に依存して変化する。一実施形態では、同時に処理される周波数仮説の数はコヒーレント積分の期間長に等しく設定される。加速器２５０は、異なる周波数ビンを周波数スパンに渡ってほぼ均一な間隔に配置する。
【００６３】
加速器２５０は、コヒーレント積分の期間長に渡る累積および所望の周波数オフセットで入力サンプルを回転させることにより特定の周波数オフセットにコヒーレント積分を決定する。加速器２５０はこの後２次元エネルギー格子をポピュレートするためにコヒーレント和のエネルギーを計算する。２次元エネルギー格子は、各時間仮説および各周波数オフセットについて現在のコヒーレント積分の期間長のエネルギーを含むことができる。
【００６４】
加速器２５０は、別の時間仮説のコヒーレント和を決定する前に、特定の時間仮説の全ての周波数についてコヒーレント和を決定するように構成できる。このようにコヒーレント和を実行することで、メモリをアクセスする回数を最小化することができる。無論、別の実施形態では、周波数オフセットの使用はプロセッサ集中的であってよく、また、全ての時間仮説に渡る各周波数オフセットのコヒーレント和を、別の周波数オフセットについてコヒーレント和を決定する前に完了することができる。別の実施形態は、この和をこれ以外の順序で決定できる。
【００６５】
データムーバ２３０は、探索器２２０とメモリ２４０の間、メモリ２４０と加速器２５０の間で情報を転送するために、ＤＭＡエンジンとして動作する。データムーバ２３０は、探索モードと関連積分期間長とに少なくとも一部依存した各場所へメモリ転送する。データムーバ２３０は、コントローラ２７０からのタスクキューに基づいてメモリマップを決定することができる。
【００６６】
データムーバ２３０は、探索器２２０がスケジュールされたサブタスクの各々について生成したコヒーレント和をコピーする。探索器２２０がコヒーレント和をダブルバッファする実施形態では、データムーバ２３０は探索器２２０によってまだ書き込まれていないバッファからブロックを転送する。データムーバ２３０は、現在のサブタスク動作に関連していないバッファのブロック内のデータについて動作するように構成される。
【００６７】
同様に、データムーバ２３０は先に記憶された探索器出力と、先に決定されたエネルギー和をメモリ２４０から加速器２５０内のバッファ２６２へ、特に、メモリ転送に関連し、加速器２５０によって書き込まれていないバッファブロックへコピーする。また、データムーバ２３０は最新のエネルギー和を加速器バッファからメモリ２３０へコピーする。
【００６８】
コントローラ２７０はタスクキューと、これに関連する、探索器２２０のハードウェアコマンドレジスタに書き込まれた制御情報とを生成する。コントローラ２７０は、メモリ２４０内で使用可能なスペースによりサポートされる任意の探索および積分の期間長を実質的に構成することができる。しかし、コントローラ２７０は、一般的に各制御境界で選択およびプログラムできる所定数の探索構成または探索モードを有する。例えば、コントローラ２７０は、１６００Ｈｚに渡る高い探索モード、２０個の異なる周波数ビン、６４個の仮説、２０のコヒーレント長、４００Ｈｚに渡る第１低探索モード、８０個の異なる周波数ビン、１６個の仮説、さらに、８０のコヒーレント長、２００Ｈｚに渡る第２低探索モード、１６０個の異なる周波数ビン、８個の仮説、１６０のコヒーレント長、１６００Ｈｚにまたがる荒取得探索モードを選択、８個の異なる周波数ビン、８個の仮説、２０のコヒーレント長のうちの１つを選択できる。
【００６９】
図３は、コードスペース探索のための位置探索信号処理システム２００を実現する受信機におけるデータの流れの実施形態を示す単純な機能ブロック図である。このシステム２００を、ＧＰＳコードスペース探索の処理を参照して説明する。しかし、他のＰＮコード拡散情報、例えばＡＦＬＴについても同様のコードスペース探索を処理することができる。
【００７０】
サンプルサーバ２１０は、約２倍のチップ速度でコンプレックス入力サンプルを受信し、このサンプルをＲＡＭのようなメモリに書き込む。サンプルサーバ２１０は、ＲＡＭをサーキュラーバッファとして配列するように、また、最も古いエントリを最新のサンプルで上書きするように構成できる。
【００７１】
探索器２２０は、タスクキューの場所とサイズを決定するためにハードウェアコマンドレジスタの内容を調べる。過去のハードウェアコマンドレジスタ内容が指定したタスクキューの処理中に、探索器２２０内のハードウェアコマンドレジスタをプログラムすることができる。探索器２２０は、次にスケジュールされている探索タスクのスタート時間を決定し、現在の探索タスクが終了し次第、新規の探索タスクをスタートすることができる。
【００７２】
各タスクキューは、１ミリ秒になり得る初期探索期間中に処理される所定最大数までのサブタスクを制御することができる。探索器２２０は、サブタスクを処理し、各仮説のコヒーレント和を探索器２２０内のバッファに書き込むことができる。探索器バッファはダブルバッファとして編成することができる。探索器ダブルバッファの２個のブロックを、探索器２２０またはデータムーバ２３０の一方に交互に関連させることができる。探索器２２０に関連したブロックは探索器２２０が生成した相関結果を受信し、一方、データムーバ２３０に関連したブロックは、探索器２２０からメモリ２４０へブロックデータを転送できるようにする。探索器ダブルバッファ内のブロックどうしの関連性は所定の時間にスワップされる。例えば、探索器２２０がこれに関連したブロックを満たすと、ブロックどうしの関連性がスワップされる。
【００７３】
データムーバ２３０は、関連する探索器２２０バッファとメモリ２４０の間でデータ転送３１０を実行する。データムーバ２３０は、探索器２２０内で実行されるデータ転送３１０とコヒーレント積分処理を同期させる必要はない。その代わり、データムーバ２３０は、バッファブロック関連が有効である任意の時間にデータ転送３１０を実行するように構成できる。データムーバ２３０は、値を書き込むためのメモリ２４０内の場所を、コントローラ（図示せず）が開始したアクティブ探索モードに少なくとも一部基づいて決定する。システム２００に割り当てられるメモリ２４０のサイズは動的であってよく、例えばアクティブコード探索モードに基づいて変更することができる。一例として、１６００Ｈｚ、８個の異なる周波数ビン、８個の仮説、２０のコヒーレント長に渡るビットエッジ探索モードに必要な記憶スペースメモリ２４０は、２００Ｈｚ、１６０個の異なる周波数ビン、８個の仮説、１６０のコヒーレント長に渡る低探索モードに必要な記憶スペースメモリよりも小規模である。
【００７４】
メモリ２４０が無線通信ディバイス用のシステムメモリである場合のように、メモリ２４０をコードスペース探索とは異なる処理と共有する場合には、メモリスペースの動的割り当てによって、コード探索とは別のタスクをサポートするために使用できるメモリスペースが最大化される。システム２００には、アクティブコード探索モードをサポートするのに十分なメモリ２４０スペースが割り当てられるだけでよい。
【００７５】
データムーバ２３０はまた、メモリに記憶されている探索器結果をダブルバッファ式サンプルバッファ２６２内へデータ転送３２０する動作を制御することもできる。加速器２５０はコヒーレント積分中に探索器結果を消費するため、サンプルバッファ２６２へのデータ転送３２０はメモリ２４０からサンプルバッファ２６２への一方向であってよい。
【００７６】
ダブルバッファ式サンプルバッファ２６２は、データムーバ２３０と加速器２５０の間の第１および第２ブロックの関連性を変更することができる。加速器２５０は、関連するサンプルバッファ２６２ブロックからの読み出し動作３４０を制御する。データムーバ２３０および加速器２５０は、加速器２５０が関連するサンプルバッファ２６２ブロック内の全てのデータをアクセスすると、サンプルバッファ２６２ブロックの関連性をスワップすることができる。
【００７７】
加速器２５０は、コントローラがプログラムした探索モードに基づいて決定されたコヒーレント累積期間長に渡る探索器結果のコヒーレント和を決定する。加速器２５０は、コヒーレント積分結果の複雑な成分の平方を加算することで、各コヒーレント積分のエネルギー値を生成することができる。
【００７８】
加速器２５０は、エネルギー値をエネルギーバッファ２６４に書き込むことで、メモリ２４０へ転送することができる。あるいは、加速器２５０は、同一のエネルギー格子場所に算出された現在のエネルギー値と過去のエネルギー値を加算することで、エネルギー値の非コヒーレント累積を生成するように構成できる。
【００７９】
加速器２５０は、ダブルバッファ式エネルギーバッファ２６４の関連するブロックどうし間でのエネルギー値の双方向のデータ転送３５０を制御する。エネルギーバッファ２６４は、データムーバ２３０または加速器２５０の一方に交互に関連するブロックを設けたダブルバッファとして構成することができる。
【００８０】
データムーバ２３０は、メモリ２４０とこれに関連するエネルギーバッファ２６４のブロックの間におけるエネルギー値の双方向のデータ転送３３０を制御する。同様に、加速器２５０は、関連するエネルギーバッファ３５０のブロック間におけるエネルギーバッファの読み出しおよび書き込み動作３５０を制御する。エネルギーバッファ２６４のブロックどうしの関連性は、アクティブ探索モードによって決定されたスケジュールに基づいてスワップできる。
【００８１】
データムーバ２３０は、過去に記憶されたメモリ２４０からのエネルギー結果をアクセスし、データ転送動作３３０中に、この値を関連するエネルギーバッファ２６４のブロックにコピーすることができる。ブロックに関連したスワップの後に、加速器２５０は、データムーバ２３０によって過去に転送されたエネルギー値をアクセスすることができ、また、例えば、現在のエネルギー値を使用して非コヒーレント累積を決定できる。加速器２５０は、このエネルギーバッファ２６４のブロックへ戻る書き込み動作３５０を制御する。エネルギーバッファ２６４のブロックが再度スワップされる時に、データムーバ１３０は、更新されたエネルギー値をエネルギーバッファ２６４からメモリ２４０へデータ転送３３０をすることができる。
【００８２】
加速器２５０処理は、データをより効率的に処理するために、パイプライン形式にて実行できる。このパイプライン形式の処理は、例えば３個の異なる動作のパイプラインであってよい。パイプラインは一動作の入力データ転送、第２動作についてのコヒーレント累積およびエネルギー値の処理、第３動作についての加速器２５０からメモリ２４への過去の結果のデータ転送をサポートすることができる。
【００８３】
そのため、加速器２５０が過去のデータ転送について探索器結果について動作している最中に（動作Ｎ）、データムーバ２３０は探索器結果をメモリからサンプルバッファへ転送できる（動作Ｎ＋１）。これに加えて、データムーバ２３０は、過去に外部メモリ２４０から記憶された値をエネルギーバッファにロードする前に、第３の異なる動作について、累積したエネルギー和をエネルギーバッファからメモリ２４０へ転送できる（動作Ｎ−１）。
【００８４】
図４は、コードスペース探索の方法４００の実施形態を示すフローチャートである。この方法４００は、図２の位置探索信号処理システムによって実現でき、また、図１中のユーザ端末において実現できる。方法４００は、機能ブロックに渡る処理を図示している。方法４００における動作のシーケンスは、システム全体に渡る１セットのサンプルの処理を図示している。システム内における複数の動作を同時に発生させるこことで、この方法を再構成またはデータ転送の待ち時間なく連続動作させることが可能である。
【００８５】
方法４００は、システムが、探索対象である受信信号のコンプレックスサンプルを捕捉するブロック４０２から始まる。例えば、信号サンプラは、受信ＧＰＳ信号を、ＰＮコード速度の約２倍の速度で受信できる。コンプレックスサンプルは、ＲＡＭあるいは他の記憶ディバイスに記憶することができる。
【００８６】
次に、システムは、探索器が具体的なコード探索処理モードをサポートするように構成されるブロック４１０へ進む。探索器は、現在の処理モードに従ってサンプルを処理している最中に、将来のサンプルについての処理モードを決定することができる。例えば、探索器はハードウェアコマンドレジスタを読み出すことで、タスクキューの場所およびサイズを決定できる。探索器は、タスク境界において、または現在のタスクの処理が完了すると、タスクキューのタスクを実行できる。タスクキューは、所定の最大タスク数に達するまで複数のタスクを含むことができる。例えば、タスクキューは、各初期積分期間、例えば１ミリ秒間に探索器について実行される、最大で３２個のタスクを含むことが可能である。
【００８７】
各探索タスクは、複数の仮説にかかる所定数のコードチップに渡る探索をサポートできる。探索する仮説の数をプログラムすることができ、また、この数は所定の最大仮説数にまで変更できる。例えば、各タスクを、３２個のコードチップを含んだウィンドウを探索するように構成でき、また、探索ウィンドウについて最大で６４個の異なる仮説を探索するように構成でき、ここで、各コードスペース仮説はこれに最も近い仮説から１/２チップ期間だけ逸脱してよい。
【００８８】
システムは次にブロック４１２へ進む。ここでは、探索構成に関連したサンプルをサンプルメモリから探索器へ転送する。探索器は、先に提供された例を使用して、１ミリ秒の初期積分期間内に１つの衛星車両のコードスペース全体を探索するように構成されると考えられる。しかし、より一般的には、探索器は複数コードの一部について受信サンプルを探索するように構成される。
【００８９】
関連サンプルを転送した後に、システムはブロック４１４へ進み、タスクキューにおいて説明されたタスクを実行する。１ミリ秒の初期積分期間に渡ってのサンプルのコヒーレント積分内における各タスク結果は、タスクによって適用された仮説の各々をアクセスするが、他の実施形態は別の初期積分期間を使用することもできる。
【００９０】
探索器はブロック４１６へ進み、各仮説からのコヒーレント積分結果を関連するダブルバッファのブロックに書き込む。ダブルバッファは、探索器またはデータムーバの一方に交互に関連する２個のブロックを含んでいる。データをこれに関連するバッファブロックから転送するために、探索器は関連するバッファブロックに書き込みを行う。探索器出力をダブルバッファすることで、探索器とデータムーバの両方が、バッファからのデータをアクセスする上でのメモリコンテンションを防止する。探索器がサンプルについて動作中であり、ダブルバッファの別部分に書き込みを行っている最中に、過去にバッファされた結果をダブルバッファの一部から読み出すことができる。次の探索器動作をスタートする以前に１つ前の探索器結果の転送を完了する必要がないので、ダブルバッファによってより柔軟なデータ転送が可能となる。これに加えて、データムーバによるＤＭＡメモリ転送を、探索器結果をポピュレートする時間よりも短い時間で達成できる場合には、メモリへの結果の転送をより柔軟にスケジュールできる。
【００９１】
結果の転送はデータムーバに関連した検索バッファのブロックからのみ生じるため、システムはブロック４１８へ進み、ダブルバッファのブロックどうしの関連性をスワップする。ブロックの関連性をスワップすることで、バッファのブロックを現在の積分結果を記憶するために使用できるように維持しながら、最も新しい結果をメモリへ転送できるようになる。
【００９２】
探索器ダブルバッファのブロック関連性をスワップした後に、システムはブロック４２０へ進む。ブロック４２０では、データムーバが初期コヒーレント積分結果を探索器からメモリへ転送する。一実施形態では、メモリは他の複数の処理によって共有され、データムーバが探索器バッファの共有メモリ内の各場所へのＤＭＡ転送を実行する。
【００９３】
探索器結果をメモリに転送した後に、システムはブロック４３０へ進む。ブロック４３０では、データムーバが、探索器結果の少なくとも一部をメモリからサンプルバッファの関連するブロックへ転送し、加速器がこの結果の一部を処理できるようにする。サンプルバッファの各ブロックがデータムーバまたは加速器の一方に関連した状態では、サンプルバッファもダブルバッファとして構成することができる。所定のイベントの後にサンプルバッファブロックの関連性をスワップできる。この所定のイベントは、バッファの充填、タイミング、あるいはこれ以外のイベントであってよい。
【００９４】
システムはブロック４３２へ進み、過去のエネルギー累積の少なくとも一部をメモリからエネルギーバッファの関連するブロックへ転送し、加速器がこれをアクセスできるようにする。システムは、メモリからエネルギーバッファに更新される対象であるエネルギー累積を転送する以前に、更新された結果をエネルギーバッファからメモリへ戻してもよい。エネルギーバッファはダブルバッファとしても構成できる。ダブルバッファの１つのブロックはデータムーバに関連し、ダブルバッファの別のブロックは加速器に関連している。エネルギーバッファの関連性は、サンプルバッファブロックのスワップを開始するイベントとは別の所定のイベントを実行した後にスワップすることができる。
【００９５】
加速器は、サンプルバッファのブロックと、これに関連したエネルギーバッファのブロックのみをアクセスする。そのため、システムはブロック４３４へ進み、サンプルバッファとエネルギーバッファの関連性をスワップして、データムーバによってメモリから転送された最新の値に加速器がアクセスできるようにする。これに加え、データムーバは、加速器からの最新のエネルギー結果をアクセスできる。加速器は探索器結果を消費し、また探索バッファへの結果の書換えを行わない。そのため、探索バッファブロックをスワップすることで、データムーバがサンプルバッファへ転送するための追加のスペースが作られる。
【００９６】
バッファ関連性をスワップした後に、システムはブロック４５０へ進み、ここで、関連するサンプルバッファ内におけるアクセス可能な探索結果のコヒーレント累積を決定する。加速器は、アクティブコード探索モードに基づいてコヒーレント累積を決定する。加速器は、所望の積分の期間長をサポートするために、サンプルバッファどうしの複数のスワップが実行される間、サンプルバッファのサイズに応じて待つ必要がある。
【００９７】
積分の期間長が、例えばＧＰＳ信号で使用される２０ミリ秒のデータ境界のようなデータ境界を横切る場合には、加速器はビット境界の発生を追跡し、累積を計算する上でビット値を補間することができる。
【００９８】
加速器はまた、アクティブ探索モードに基づき、複数の周波数ビンについてコヒーレント累積を決定することもできる。加速器は、複数の周波数あるいは複数の探索器結果についての同時累積を可能にする複数の平行な経路を含んでいてよい。
【００９９】
システムは次にブロック４５２へ進み、ここで、各コヒーレント累積に関連したエネルギーを決定する。加速器は、例えば同相値および方形値の平方を合計することにより、複雑な累積値に関連したエネルギーを決定することができる。いくつかの実施形態では、加速器は累積したエネルギーの決定を省略し、代わりに、複雑な累積値をエネルギーバッファに記憶してもよい。加速器がコヒーレント累積の合計をエネルギー値ではなくバッファに記憶する実施形態では、ブロック４５２〜４５４の動作を省略してもよい。加速器は、コヒーレント累積値によってエネルギーバッファを直接更新することができる。
【０１００】
システムはブロック４５４へ進み、ここで、コード探索モードが指定できる任意の非コヒーレントエネルギー累積を決定する。非コヒーレント累積を決定するために、加速器が、エネルギーバッファ内のエネルギー格子の所望の位置から過去のエネルギー値を読み出し、関連するエネルギー値を合計する。いくつかの実施形態では、加速器は重み付けした合計を決定し、さらに、最新のエネルギー値を合計する前に、サンプルバッファのサイズに応じて、過去の累積エネルギーの合計を所定フラクション(fraction)だけ調整することができる。
【０１０１】
システムはブロック４５６へ進み、ここでは、加速器が、累積したエネルギー値を再びエネルギーバッファに書き込む。一般的に、システムは、加速器に関連したエネルギーバッファのブロックに直接アクセスすることはない。そのため、システムはブロック４５８へ進み、次のエネルギーブロック関連性のスワップの発生を待つ。
【０１０２】
ブロック４６０では、データムーバは、加速器によって更新された最新のエネルギー値をアクセスする。データムーバは、更新されたエネルギー累積をメモリにＤＭＡ転送することができる。データムーバはさらに、次の非コヒーレント累積をサポートするために、メモリからエネルギーバッファに任意のエネルギー値をロードすることができる。
【０１０３】
ブロック４６０の次に、受信した特定のサンプルの処理により、サンプリングからエネルギー累積までの処理経路全体が完了する。様々な中間値のダブルバッファリングおよびメモリ記憶を行うことで、処理全体を実質的に連続して実行することが可能になる。探索器が過去にスケジュールされたタスクについて動作している間は、各々の初期累積境界にて探索器を再構成できるため、システムは、探索構成における変更を中止したり、あるいは変更を待つ必要がない。探索器と加速器への入力部との両方における探索器結果のダブルバッファリングによって、メモリへのアクセスの柔軟性を高めながら、メモリコンテンションが事実上排除される。このメモリは、探索器および加速器を有するモジュールまたは積分回路の外部に設けた共用メモリであってよい。
【０１０４】
初期コヒーレント積分を、これよりも長い積分の期間長に関連したコヒーレント積分から分離することにより、システムのスケジューリングと構成がより柔軟になる。探索器からの1ミリ秒の積分結果を使用して、事実上任意の積分の期間長をサポートすることができる。
【０１０５】
図５は、コードスペース探索を実現する位置探索信号処理システム５００の実施形態を示す単純機能ブロック図である。この図５のシステム５００は、例えば図１のユーザ端末において実現できる。
【０１０６】
システム５００は受信無線信号のコンプレックスサンプルを捕捉する手段５１０を含む。このコンプレックスサンプルを捕捉する手段５１０は探索手段５２０に結合されている。
【０１０７】
探索手段５５０は、ハードウェアレジスタ５２２によって指定された各コードスペース探索タスクに従って動作することができ、ハードウェアレジスタ５２２は、複数のコードスペース探索タスクを構成する手段として動作する。探索手段５５０は、例えば1ミリ秒で合ってよい初期積分期間に渡って取得した複数のコヒーレント積分結果を生成する。探索手段５５０は、探索タスクにて定義されているとおりの、複数のコードスペース仮説に関連した複数のコヒーレント積分結果を生成するように構成できる。
【０１０８】
制御手段５７０は、ハードウェアレジスタに書き込まれた値を制御する。ハードウェアレジスタ５２２内の値は、例えば、コードスペース探索モードに基づいて決定されたメモリ内のタスクキューに指定することができる。データ転送手段５３０は探索手段５２０に結合され、複数のコヒーレント積分結果を記憶手段５４０へ転送するように動作する。データ転送手段５３０はまた、複数のコヒーレント積分結果を記憶手段５４０から、加速手段５５０内の、あるいはこれに結合しているバッファ手段５６２、５６４へ転送する。具体的には、データ転送手段５３０は積分の期間長に関連した多数のコヒーレント積分結果を転送する。
【０１０９】
加速手段５５０は、複数のコヒーレント積分結果のコヒーレント積分を決定する手段として動作する。コヒーレント積分に関連した積分の期間長および周波数オフセットは、プログラム可能なコードスペース探索モードに基づいている。
【０１１０】
ここではコードスペース探索のシステム、装置、方法について説明してきた。説明されたシステム、装置、方法は、ＧＰＳ信号、ＡＦＬＴ信号など、またはこれ以外のコード拡散信号を処理するべく、ユーザ端末内で実現することができる。例えば、コードスペース探索処理および装置は、受信拡散スペクトル信号の任意のコードスペースの探索に適用される。特定の実施形態はＧＰＳ信号への適用について説明しているが、請求された課題はコードスペース探索に属し、またＧＰＳに限定されるものではない。探索器は、初期積分期間あるいは時間に渡って
コヒーレント積分結果を決定するように構成される。探索器結果を、加速器内で実行されるさらなるコヒーレント積分および非積分エネルギー累積のための中間値として使用される。
【０１１１】
メモリへの効率的かつ非競合的なデータ転送を可能にするために、中間値がダブルバッファに記憶される。ダブルバッファを使用することで、待ち時間が短いまたは全くないコード探索モードの再構成が可能になる。
【０１１２】
これに加え、初期積分期間に渡ってのコヒーレント積分に続く処理を分離することで、データの冗長取得および解析を行わずに、コードスペース探索モードを柔軟に再構成できるようになる。コードスペース探索をほぼリアルタイムで再構成する機能により、より効率的なコードスペース探索が可能になり、また、高速コード取得から高感度コードスペース探索までの再構成が可能になる。
【０１１３】
ここで使用しているとおり、「結合した」または「接続した」という用語は、非直接的な結合、並びに直接結合あるいは接続を意味する。２個またはこれ以上のブロック、モジュール、ディバイス、あるいは装置が結合している場合、結合している２個のブロックの間には１以上の介在ブロックが存在していてよい。
【０１１４】
ここで開示の実施形態に関連して説明された様々な例証的な論理ブロック、モジュール、回路は、汎用プロセッサ、ディジタル信号プロセッサ（ＤＳＰ）、縮小命令セットコンピュータ（ＲＩＳＣ）プロセッサ、アプリケーション限定集積回路（ＡＳＩＣ）、フィールドプログラム可能ゲートアレイ（ＦＰＧＡ）またはこれ以外のプログラム可能な論理ディバイス、離散ゲートまたはトランジスタ論理、離散ハードウェア構成部品、あるいは、ここで説明した機能を実行するように設計されたこれらの任意の組み合わせによって実現または実行される。汎用プロセッサはマイクロプロセッサであってよいが、代替形においては任意のプロセッサ、コントローラ、マイクロコントローラ、または状態マシンであってよい。プロセッサはまた、計算ディバイスの組み合わせ、例えばＤＳＰとマイクロプロセッサの組み合わせ、複数のマイクロプロセッサの組み合わせ、１以上のマイクロプロセッサとこれと協働するＤＳＰコアの組み合わせ、またはこれ以外の同様の構成として実現することができる。
【０１１５】
ここで開示の実施形態に関連して説明した方法、処理、アルゴリズムはハードウェア内、プロセッサによって実行されるソフトウェアモジュール内、またはこの２つの組み合わせにおいて直接具現化できる。方法または処理における様々なステップまたは動作はここで示したとおりの順序で、あるいはこれ以外の順序で実行することが可能である。これに加え、１以上の処理または方法ステップを省略したり、これらの方法および処理に１以上の処理または方法ステップを追加することもできる。方法および処理の開始、終了、中間に存在する要素に対してさらなるステップ、ブロック、動作を追加することができる。
【０１１６】
開示された実施形態についての上述の説明は、当業者が本開示を作成または使用できるようにするために提供されるものである。また、当業者にはこれら実施形態への様々な修正が明白であり、また、ここで定義された包括的な原理は、本開示の精神または範囲から逸脱しない限り、他の実施形態にも適用することができる。従って、本開示は、ここで示した実施形態に限定されるものではなく、ここで開示の原理および新規特長に準じた最も幅広い範囲と一致する。
【図面の簡単な説明】
【０１１７】
【図１】位置探索をサポートする無線通信システムの実施形態の単純化ブロック図である。
【図２】コードスペース探索を実現する位置探索信号処理システムの実施形態の単純化機能ブロック図である。
【図３】コードスペース探索を実現する受信機内でのデータの流れの実施形態を図示した単純化機能ブロック図である。
【図４】コードスペース探索の方法の実施形態のフローチャートである。
【図５】コードスペース探索を実現する位置探索信号処理システムの実施形態の単純化機能ブロック図である。
【図１】
2009535605.tif 000003
【図２】
2009535605.tif 000004
【図３】
2009535605.tif 000005
【図４】
2009535605.tif 000006
【図５】
2009535605.tif 000007
【国際調査報告】
2009535605.tif 000008
2009535605.tif 000009
2009535605.tif 000010
2009535605.tif 000011