(57)【要約】反復する一連のビットを有するスペクトラム拡散信号をコード位相サーチする方法およびアーキテクチャ。信号は、次の信号セグメントを形成するために要求されるよりも長くない時間間隔中に所定数の位相遅延に関して信号セグメントを対応する複製信号セグメントに連続して部分的に相関することによって受信した信号を分周器（３１４）でセグメント化することによって事実上並列にサーチされる。マルチプレクサ（３２２）および（３３０）は、ドップラー信号および複製信号生成器（３１８）および（３２０）からのドップラーおよび複製信号セグメント・データを、セグメント・レジスタ（３１６）で対応する信号セグメントと乗算するために、それぞれ対応する乗算器（３２６）および（３３２）に提供する。位相遅延ごとの、各ドップラー周波数での部分相関結果は、コヒーレントな累積ＲＡＭ（３３４）の対応するメモリ位置に記憶される。信号は、１つ以上の位相遅延全体に対して１つ以上のドップラー周波数でサーチしてよい。
2005500731.tif 000002
【特許請求の範囲】
【請求項１】
反復する一連のビットを有する１つのスペクトラム拡散信号をコード位相サーチする方法において、
第１のスペクトラム拡散信号を受信する工程と、
該第１のスペクトラム拡散信号の第１の部分をセグメント化することによって第１の信号セグメントを形成する工程と、
該第１の信号セグメント形成後に該第１のスペクトラム拡散信号の第２の部分をセグメント化することによって第２の信号セグメントを形成する工程と、
該第２の信号セグメントを形成するために要求されるよりも長くない時間間隔で、すべての位相遅延に関して、第１の信号セグメントを、対応する第１の複製信号セグメントと部分的に相関させる工程と、
該第１の信号セグメントのすべての位相遅延に関する、第１の部分的相関結果を、対応するメモリ位置に記憶する工程と
からなる方法。
【請求項２】
前記第１のスペクトラム拡散信号の第３の部分をセグメント化することによって第３の信号セグメントを形成する工程と、
該第３の信号の形成する間に、すべての位相遅延に関して、前記第２の信号セグメントを、対応する第２の複製信号セグメントと部分的に相関する工程と、
前記第２の信号セグメントのすべての位相遅延に関する第２の部分相関結果を、対応するメモリ位置に記憶する工程と
からなる請求項１に記載の方法。
【請求項３】
前記第１および第２の部分相関結果を加算することによって、すべての位相遅延に関して合計された部分相関結果を形成し、すべての位相遅延に関する該合計された部分相関結果を、対応するメモリ位置に記憶する請求項２に記載の方法。
【請求項４】
前記第１の信号セグメントの最後の信号サンプルを、前記第２の信号セグメントの第１の信号サンプルから、単一サンプルだけ分離する請求項１に記載の方法。
【請求項５】
プロセッサ制御された入力に基づく１チップまたは半チップ増分で、すべての位相遅延に関して、前記第１の信号セグメントを前記対応する第１の複製信号セグメントに部分的に相関する請求項１に記載の方法。
【請求項６】
反復する一連のビットを有する１つのスペクトラム拡散信号をコード位相サーチする方法において、
第１のスペクトラム拡散信号を受信する工程と、
該第１のスペクトラム拡散信号をセグメント化することによって、不均等な数のサンプルを有する複数の信号セグメントを形成する工程と、
各信号セグメントを記憶する工程と、
相関器中の所定の数の位相遅延に関して、各信号セグメントを、対応する第１の複製信号セグメントに部分的に相関する工程と
からなる方法。
【請求項７】
前記部分的に相関された信号セグメントの少なくともいくつかに関して、セグメント長信号を前記相関器に伝達する請求項６に記載の方法。
【請求項８】
各信号セグメントの前記所定の位相遅延のそれぞれに関する部分相関結果を、対応するメモリ位置に記憶する請求項６に記載の方法。
【請求項９】
前記信号セグメントのそれぞれに対する部分相関結果を加算することによって、前記所定の位相遅延のそれぞれに関して合計された相関結果を形成し、前記所定の位相遅延のそれぞれに関する該合計された相関結果を、対応するメモリ位置に記憶する請求項６に記載の方法。
【請求項１０】
各信号セグメントを第１のレジスタに記憶し、後続の信号セグメントを形成する間に、１つの信号セグメントを部分的に相関し、該前信号セグメントの相関後に、該後続信号セグメントを該第１のレジスタに記憶する請求項６に記載の方法。
【請求項１１】
１つの信号セグメントの最後の信号サンプルを、後続信号セグメントの第１の信号サンプルから、単一サンプルだけ分離する請求項６に記載の方法。
【請求項１２】
反復する一連のビットを有する１つのスペクトラム拡散信号をコード位相サーチする方法において、
複数のスペクトラム拡散信号を受信する工程と、
該複数のスペクトラム拡散信号をセグメント化することによって、不均等な数のサンプルを有する複数の信号セグメントを形成する工程と、
各信号セグメントを記憶する工程と、
所定の数の位相遅延に関して、各信号セグメントを、それぞれが該複数のスペクトラム拡散信号の１つに対応する複数の複製信号の対応するセグメントに部分的に相関する工程と、
からなる方法。
【請求項１３】
前記複数のスペクトラム拡散信号が受信された速度よりも速い速度で連続的に相関することによって、所定の数の位相遅延に関して事実上並列に、各信号セグメントを複数の複製信号の対応するセグメントに部分的に相関する請求項１２に記載の方法。
【請求項１４】
プロセッサ制御された入力に基づく１チップまたは半チップ増分で、前記所定の数の位相遅延に関して、各信号セグメントを、前記複数の複製信号の対応するセグメントに部分的に相関する請求項１２に記載の方法。
【請求項１５】
反復する一連のビットを有する１つのスペクトラム拡散信号をコード位相サーチする方法において、
複数のスペクトラム拡散信号を受信する工程と、
該複数のスペクトラム拡散信号をセグメント化することによって、複数の信号セグメントを形成する工程と、
各信号セグメントを記憶する工程と、
該反復する一連のビット全体で位相遅延すべてに関して、各信号セグメントを、それぞれが該複数のスペクトラム拡散信号の１つに対応する複数の複製信号の、対応するセグメントに部分的に相関する工程と
からなる方法。
【請求項１６】
特定の複製信号の対応するセグメントに相関された前記複数の信号セグメントのそれぞれに対する前記部分相関結果を加算することによって、前記複数のスペクトラム拡散信号の位相遅延すべてに関して合計された部分相関結果を形成し、各信号セグメントの部分的な相関が完了した際に、各セグメントに対する前記部分相関結果が前信号セグメントに対する前記部分相関結果に加算される請求項１５に記載の方法。
【請求項１７】
１つの信号セグメントの最後のサンプルを、後続信号セグメントの第１の信号サンプルから、単一サンプルだけ分離する請求項１５に記載の方法。
【請求項１８】
対応する信号発信源からの反復する一連のビットを有する複数のスペクトラム拡散信号をコード位相サーチする方法において、
受信した複数のスペクトラム拡散信号に関する属性を識別する工程と、
該対応するスペクトラム拡散信号に関して識別された属性に基づいて、該スペクトラム拡散信号のそれぞれに対するコード位相サーチ範囲を決定する工程と、
該複数のスペクトラム拡散信号をセグメント化することによって複数の信号セグメントを形成する工程と、
該決定されたコード位相サーチ範囲に対して各信号セグメントを、それぞれが該複数のスペクトラム拡散信号の１つに対応する複数の複製信号の対応するセグメントに部分的に相関する工程と、
からなる方法。
【請求項１９】
特定の複製信号に相関された前記複数の信号セグメントのそれぞれに対する前記部分相関結果を加算することによって、前記決定されたコード位相サーチ範囲に対する部分相関結果を形成し、各信号セグメントの部分的な相関が完了した際に、各セグメントに対する前記部分相関結果が前信号セグメントに対する前記部分相関結果に加算される請求項１８に記載の方法。
【請求項２０】
前記対応するスペクトラム拡散信号に関して識別された属性に基づいて、前記スペクトラム拡散信号の少なくともいくつかに関して異なるコード位相サーチ範囲を決定する請求項１８に記載の方法。
【請求項２１】
プロセッサ制御された入力に基づく、１チップまたは半チップ増分で決定されたコード位相サーチ範囲に関して、各信号セグメントを、前記複数の複製信号の対応するセグメントに部分的に相関する請求項１８に記載の方法。
【請求項２２】
対応する信号発信源からの反復する一連のビットを有する複数のスペクトラム拡散信号をコード位相サーチする方法において、
受信した複数のスペクトラム拡散信号のそれぞれに対して、対応するドップラー周波数の少なくとも１つのドップラー・ビンを有するドップラー・サーチ範囲を決定する工程と、
各ドップラー・ビンを複数のドップラー・セグメントにセグメント化する工程と、
該複数のスペクトラム拡散信号をセグメント化することによって複数の信号セグメントを形成する工程と、
該スペクトラム拡散信号のそれぞれに関して、各信号セグメントに、該複数のドップラー・ビンのそれぞれに対応するドップラー・セグメントを乗算することによって、該複数の信号セグメントのそれぞれに対する複数の積信号セグメントを連続的に形成する工程と、
所定の数の位相遅延に関して、該積信号セグメントのそれぞれを、それぞれが該複数のスペクトラム拡散信号の１つに対応する複数の複製信号の対応するセグメントに部分的に相関する工程と
からなる方法。
【請求項２３】
後で形成される積信号セグメントを部分的に相関する前に、１つの積信号セグメントを部分的に相関することによって、前記積信号セグメントのそれぞれを連続して部分的に相関する請求項２２に記載の方法。
【請求項２４】
対応する信号発信源からの反復する一連のビットを有する複数のスペクトラム拡散信号をコード位相サーチする方法において、
受信したスペクトラム拡散信号をセグメント化することによって複数の信号セグメントを形成する工程と、
複数の第１のドップラー信号セグメントを形成する工程と、
第１の信号セグメントに第１のドップラー信号セグメントを乗じることによって、第１の積信号セグメントを形成する工程と、
所定の数の位相遅延に関して、該第１の積信号セグメントを、複製信号の対応するセグメントに部分的に相関する工程と、
該第１の信号セグメントに第２のドップラー信号セグメントを乗じることによって第２の積信号セグメントを形成する工程と、
該第１の積信号セグメントの部分相関後に、所定の数の位相遅延に関して、該第２の積信号セグメントを、複製信号の対応するセグメントに部分的に相関する工程と
からなる方法。
【請求項２５】
反復する一連の擬似無作為なコード・ビットを有する前記スペクトラム拡散信号は、該擬似無作為なコード・ビットの整数の反復時間であるデータ・ビット時間を有するデータ・メッセージ・ビットで変調され、
前記第１の積信号セグメントを、前記部分的に相関された第１の積信号セグメントに時間対応する複製データ変調信号セグメントに部分的に相関した結果を乗じ、
乗算後に該データ・ビット時間を超える時間間隔に対する部分相関結果を累積する請求項２４に記載の方法。
【請求項２６】
未知のデータ・メッセージ・ビットを、前記複製データ変調信号の対応する０の量の部分に部分的に相関することによって、該未知のデータ・メッセージ・ビットの部分相関を防止する請求項２５に記載の方法。
【請求項２７】
前記第１のドップラー信号セグメントの最後の信号サンプルを、前記第２のドップラー信号セグメントの第１の信号サンプルから、単一サンプルだけ分離する請求項２４に記載の方法。
【請求項２８】
反復する一連のビットを有する複数のスペクトラム拡散信号をサーチする方法において、
複数のスペクトラム拡散信号を受信する工程と、
該複数のスペクトラム拡散信号の少なくとも１つに対する少なくとも１つのドップラー・サーチ・ビンからなるドップラー・サーチ範囲を決定する工程と、
該スペクトラム拡散信号が受信される速度よりも速い速度で連続して相関することによって、所定の数の位相遅延に関して該対応するドップラー・サーチ範囲全体で、該複数のスペクトラム拡散信号の少なくとも１つを事実上並列に相関する工程と
からなる方法。
【請求項２９】
反復する一連のビットを有する１つのスペクトラム拡散信号をサーチする方法において、
複数のスペクトラム拡散信号を受信する工程と、
該スペクトラム拡散信号が受信される速度よりも速い速度で、該複数のスペクトラム拡散信号を対応する複製信号に連続して相関することによって、所定数の位相遅延全体で該複数のスペクトラム拡散信号を事実上並列に相関する工程と、
からなる方法。
【請求項３０】
前記スペクトラム拡散信号が受信される速度よりも速い速度で、対応するドップラー・サーチ範囲内のドップラー信号に連続して相関することによって、該対応するドップラー・サーチ範囲全体で前記複数のスペクトラム拡散信号の少なくとも１つを事実上並列に相関する請求項２９に記載の方法。
【請求項３１】
対応する信号発信源からの反復する一連のビットを有する複数のスペクトラム拡散信号をサーチする方法において、
複数のスペクトラム拡散信号を受信する工程と、
該受信したスペクトラム拡散信号のそれぞれにドップラー・サーチ範囲を割り当てる工程と、
該割り当てられたドップラー・サーチ範囲のそれぞれに対して少なくとも１つのドップラー・サーチ信号を生成し、生成される該ドップラー・サーチ信号の数が該ドップラー・サーチ範囲の少なくとも２つに対して異なる工程と
からなる方法。
【請求項３２】
所定の数のドップラー・サーチ信号よりも合計数が多くない前記ドップラー・サーチ信号を生成する請求項３１に記載の方法。
【請求項３３】
特定ドップラー・サーチ範囲内の前記ドップラー・サーチ信号のそれぞれの間にドップラー・ステップ・サイズの増分を適用する請求項３１に記載の方法。
【請求項３４】
異なるスペクトラム拡散信号に対して異なるドップラー・ステップ・サイズ増分を適用する請求項３３に記載の方法。
【請求項３５】
反復する一連のビットを有する１つのスペクトラム拡散信号をコード位相サーチする方法において、
あるサンプル速度で複数のスペクトラム拡散信号を受信する工程と、
該複数のスペクトラム拡散信号をセグメント化することによって複数の信号セグメントを形成する工程と、
所定の数の位相遅延に関して、該複数の信号セグメントを、第１の時間シフトを有する、該複数のスペクトラム拡散信号の１つを、対応する第１の複製信号の対応するセグメントに部分的に相関する工程と、
所定の数の位相遅延に関して、該複数の信号セグメントを、第２の時間シフトを有する該第１の複製信号の対応するセグメントに、部分的に相関する工程と、
からなる方法。
【請求項３６】
前記第１および第２の時間シフトの間の差が、前記サンプル速度の時間間隔の分数倍になるように前記第１および第２の時間シフトを選択する請求項３５に記載の方法。
【請求項３７】
反復する一連のビットを有する１つのスペクトラム拡散信号をコード位相サーチする方法において、
所定の数の位相遅延に関して、複数の信号セグメントを、対応する複製信号セグメントに部分的に相関した結果の量を累積する工程と、
該累積した量のうちのどれが最大かを決定する工程と、
該最大累積量の後続の累積が累積オーバーフローをもたらすか否かを判定する工程と、
該最大累積量の該後続の累積が累積オーバーフローをもたらすと判定された場合、該所定の位相遅延のすべてに対する後続の累積量すべてを公倍数で倍率変更する工程と、
該公倍数を記憶する工程と、
からなる方法。
【請求項３８】
コヒーレントな積分時間間隔の前記所定の数の位相遅延に関して、前記複数の信号セグメントのそれぞれを、前記対応する複製信号セグメントに部分的に相関する請求項３７に記載の方法。
【請求項３９】
前記所定の位相遅延のすべてに対する後続の累積量すべてを非コヒーレントなメモリの公倍数で倍率変更する請求項３７に記載の方法。
【請求項４０】
反復する一連のビットを有するスペクトラム拡散信号をコード位相サーチする方法において、
複数のスペクトラム拡散信号を受信する工程と、
所定の数の位相遅延に関して、該スペクトラム拡散信号を、それぞれが該複数のスペクトラム拡散信号の１つに対応する複数の複製信号に相関する工程と、
該スペクトラム拡散信号のそれぞれの相関の少なくともいくつかの結果を異なる倍率で倍率変更する工程と
からなる方法。
【請求項４１】
前記複数のスペクトラム拡散信号のそれぞれに対して前記倍率を調整することによって累積オーバーフローを防止する請求項４０に記載の方法。
【請求項４２】
前記スペクトラム拡散信号のそれぞれの相関の少なくともいくつかの結果を、コヒーレントなメモリの異なる倍率で倍率変更する請求項４０に記載の方法。
【請求項４３】
スペクトラム拡散信号をコード位相サーチする方法において、
所定の数の位相遅延に関する相関量を決定する工程と、
該所定の数の位相遅延に関する該相関量のどれが最大であり、どれが２番目に最大であるかを決定する工程と、
該第１と第２の最大相関量の位相遅延の差を決定する工程と、
該位相遅延差の量が、位相遅延の１単位と等価であるか否かを判定することによって該最大量の位相遅延に対応する近似の位相遅延決定を確認する工程と
からなる方法。
【請求項４４】
ｎビットの信号セグメント出力をｎビットの信号セグメント・レジスタの入力に結合させる信号セグメント化回路と、
第１のｎビットの複製信号セグメント・レジスタと、
信号セグメント入力を該ｎビットの信号セグメント・レジスタの出力に結合させ、複製信号セグメント入力を該ｎビットの複製信号セグメント・レジスタの出力に結合させる乗算器回路と、
入力を該乗算器回路の出力に結合させた相関器と、
入力を該相関器の出力に結合させたコヒーレント積分器と
からなるスペクトラム拡散信号レシーバ。
【請求項４５】
第２のｎビットの複製信号セグメント・レジスタ、出力を前記乗算器回路の前記複製信号セグメント入力に結合させた第１のマルチプレクサ、前記第１と第２のｎビット複製信号セグメント・レジスタの該出力が該第１のマルチプレクサの入力に結合されている請求項４４に記載のレシーバ。
【請求項４６】
第１と第２のドップラー信号セグメント・レジスタ、第１と第２の入力を該第１と第２のドップラー信号セグメント・レジスタの対応する出力に結合させた第２のマルチプレクサ、該第２のマルチプレクサの出力と該信号セグメント・レジスタの出力とは第１の乗算器回路に結合されており、該第１の乗算器回路の出力と前記第１のマルチプレクサの前記出力とは、出力を前記相関器に結合させた第２の乗算器回路の入力に結合される請求項４５に記載のレシーバ。
【請求項４７】
レシーバ品質クロックは前記信号セグメント化回路と前記ｎビットの信号セグメント・レジスタに結合されており、第２の非レシーバ品質クロックは、前記第１のｎビットの複製信号セグメント・レジスタと、前記乗算器回路と、前記相関器と、前記コヒーレントな積分器とに結合されている請求項４４に記載のレシーバ。
【請求項４８】
前記レシーバが少なくとも２つのクロック・ソースによってドライブされ、前記クロック・ソースの１つは前記信号セグメント化回路と前記ｎビットの信号セグメント・レジスタとに結合されたレシーバ品質クロックの安定性であり、前記クロック・ソースのもう１つは非レシーバ品質クロックの安定性であり、前記第１のクロック・ソースは前記第１のｎビットの複製信号セグメント・レジスタと、前記乗算器回路と、前記フラッシュ相関器と、前記コヒーレントな積分器とに結合されている請求項４４に記載のレシーバ。
【請求項４９】
複数の信号セグメントを形成するための前記信号セグメント化回路が、ｎビットより多くない不均等な数のサンプルを有する請求項４４に記載のレシーバ。
【請求項５０】
前記相関器は前記スペクトラム拡散信号が受信される速度よりも速い速度で相関するためのものである請求項４４に記載のレシーバ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般に、スペクトラム拡散レシーバに関し、より詳細には、プログラム可能なスペクトラム拡散レシーバ・アーキテクチャおよびその方法に関する。
【背景技術】
【０００２】
全地球測位システム（ＧＰＳ）レシーバなど、衛星ベースの測位システムが使用可能なレシーバはナビゲーション用に広く使用されており、米国連邦通信委員会（ＵＳＦＣＣ）Ｅ−９１１の位置特定基準に早急に準拠する必要のある、セルラ式電話を含めた移動無線通信装置に位置情報を提供する大きな可能性を有するものである。
【０００３】
ＧＰＳレシーバの最も興味深い規格の１つは、スペクトラム拡散擬似ランダム雑音（ＰＮ）コードとして周知の衛星信号を得て、レシーバへ電力印加後に位置座標を提供するために要する時間である。これらの動作を実行するために要する時間は、一般にレシーバのハードウェア・アーキテクチャとソフトウェア・アーキテクチャによって決定される最初の固定化時間（ＴＴＦＦ）として知られている。
【０００４】
セルラ式電話に組み込まれたものを含めてバッテリ駆動の携帯型ＧＰＳレシーバでは、位置特定中、レシーバには電力が供給され続けているのでこの獲得時間はバッテリの寿命全体に影響を与える。Ｅ−９１１の使用可能なセルラ式電話など、緊急位置特定の用途では位置を特定するために要する時間も重要である。別の重要な考慮点は、特に携帯型ＧＰＳレシーバでは、木の葉、自動車、都市のビルの谷間および建築物によって信号が妨害される環境など、微弱信号環境で信号を獲得する時間である。
【０００５】
単一衛星に対するコード位相空間を並列にサーチすることは周知である。例えばＴｉｅｍａｎｎにより、単一衛星に対してすべての位相遅延をサーチする２０４６個の並列相関器が開示されている（例えば、特許文献１参照。）。Ｗｅｌｌｓは、単一衛星の６４個もの異なる位相遅延に関して相関パラメータを計算するフラッシュ並列相関器について記載している（例えば、非特許文献１参照。）。これらおよび他の周知の並列相関方式では、１つの衛星に対して、所定の数の位相遅延全体をサーチするために１つの相関器ブロックが割り当てられている。しかし、ＴｉｅｍａｎｎおよびＷｅｌｌｓのどちらでも、相関器ブロックは１度に１つの衛星に対してしかサーチしない。これらおよび他の従来技術によるシステムでは、衛星信号サーチは連続工程のままであり、並列処理はサーチ対象の特定の衛星に関する位相遅延だけに適用される。ＴｉｅｍａｎｎおよびＷｅｌｌｓでは、複数の衛星を並列にサーチまたは検出するには並列相関器の複製が必要となる。
【０００６】
並列相関器の別の実施例は、Ｋｏｈｌｉにより（例えば、特許文献２参照。）およびＫｒａｓｎｅｒにより（例えば、特許文献３参照。）説明されている。これらの特許では、Ｎ基の衛星をサーチするために１つの並列相関器回路がＮ回複製される。
【０００７】
いくつかの応用例では、衛星信号レシーバは、複数の可視衛星、それらの近似のドップラー周波数、および場合によっては秒速５０ビット（ＢＰＳ）のナビゲーション・メッセージ・ビットの近似の位相遅延および位相／極性の知識を既に得ている。この知識は、ローカルに記憶されているエフェメリス、アルマナック、近似位置、および時刻から、もしくは他のソースから得られるものであるが、例えばＩＳ−８０１仕様あは特定のエポック時刻における衛星の可視性、ドップラー、位相遅延を提供する。一般に、１度に８〜１０基の衛星が可視なので、それらの信号を並列にサーチすることによって合計の獲得時間が短縮される。
【特許文献１】
米国特許第６，００９，１１８号
【特許文献２】
米国特許第５，９０１，１７１号
【特許文献３】
米国特許第６，２０８，２９１号
【特許文献４】
米国特許第６，１２１，９２３号、「Ｆｉｘｅｄ  Ｓｉｔｅ  Ａｎｄ  Ｓａｔｅｌｌｉｔｅ  Ｄａｔａ−Ａｉｄｅｄ  ＧＰＳ  Ｓｉｇｎａｌ  Ａｃｑｕｉｓｉｔｉｏｎ  Ｍｅｔｈｏｄ  Ａｎｄ  Ｓｙｓｔｅｍ」
【特許文献５】
米国特許第０９／５３９，１３７号、「Ｍｅｔｈｏｄ  ａｎｄ  Ａｐｐａｒａｔｕｓ  Ｆｏｒ  Ｄｅｔｅｒｍｉｎｉｎｇ  Ｔｉｍｅ  ｉｎ  Ａ  ＧＰＳ  Ｒｅｃｅｉｖｅｒ」
【非特許文献１】
ウェルズ（Ｗｅｌｌｓ）、“Ｒｅａｌ  Ｔｉｍｅ  Ｍｉｓｓｉｌｅ  Ｔｒａｃｋｉｎｇ”，“Ｐｒｏｃｅｅｄｉｎｇｓ  ｏｆ  ｔｈｅ  ＩＯＮ  Ａｅｒｏｓｐａｃｅ  Ｍｅｅｔｉｎｇ”１９８１、４月  ゲート／トランジスタ数を最小にして、いくつかの応用例では電力消費量を削減する方法で、平均的なＴＴＦＦを大幅に低減する効率的なスペクトラム拡散信号サーチャーが一般に望まれる。
【０００８】
当業者には、下記に説明する添付の図面と共に下記の発明の詳細な説明を注意深く検討すれば本発明の様々な態様、特徴、および利点がより完全に明らかになるであろう。
【発明を実施するための最良の形態】
【０００９】
第一実施形態
図１は、一般に、入力信号の積分および処理（ＩＳＩＰ）モジュール１０、セグメント化およびレジスタ・ブロック２０、フラッシュ相関器ブロック３０、ＰＮコード生成器ブロック４０、ドップラー生成器ブロック５０、コード位相コンピュータ・ブロック６０、コヒーレント積分ブロック７０、非コヒーレント積分ブロック８０、ピーク検出器ブロック９０、リアルタイム・クロック９２、およびトラック処理ブロック９４、プロセッサ・インタフェイス・ブロック９６、およびタイミング生成器ブロック９８を含むスペクトラム拡散レシーバの１例のブロック図である。本発明の好ましい実施形態では、Ｎ基の衛星を並列にサーチするために単一のハードウェア相関器ブロックが時分割される。他の実施形態では、より大きな並列化を行うために相関器ブロックが複製される場合がある。
【００１０】
レシーバは、常駐のデジタル信号プロセッサ（ＤＳＰ）、またはレシーバがセルラ式電話に組み込まれている電話呼び出しプロセッサなどの他のプロセッサ（図示せず）によって操作し、制御し得る。一実施形態では、レシーバはアドレスマップされた並列バスを介してオンチップ周辺装置として制御される。
【００１１】
一実施形態では、信号モードの第１のサーチでは、レシーバは１０Ｈｚを超えない速度で制御プロセッサに割り込む。例えばＧＰＳ位置特定の応用例では、トラッキング・モードにおいて、レシーバは１ｍｓのステップで０と４０９５の間の速度で割り込み、従って、プロセッサのソフトウェアがコードおよび周波数トラッキング・ループを制御可能なようにプログラム可能である。あるいは、レシーバは、コードおよび周波数トラッキング・ループを制御する専用ハードウェアを含む。
【００１２】
特定のＧＰＳ衛星に対するスカイ・サーチを実行するには、すべての可能な位相遅延およびすべての可能なドップラー・シフトが一般にサーチされなければならない。図２は、例えば衛星アルマナック、エフェメリス、近似位置、および近似時刻などの援用データによって特定された単一ＧＰＳ衛星ＳＶ１に関する２次不確定性空間およびその領域は、どちらも擬似ランダム雑音コード位相次元（コード位相空間）およびドップラー周波数次元（ドップラー空間）を含んでいる。元総不確定性空間およびさらに小さいその不確定性領域を示している。不確定性空間およびその領域は、どちらも擬似ランダム雑音コード位相次元（コード位相空間）およびドップラー周波数次元（ドップラー空間）を含んでいる。コード位相空間は１０２３個の可能なＰＮコード・チップ（Ｎ＝半チップ間隔のサーチ・テスト用の２０４６サーチ・ビン）として記述可能であり、ドップラー空間は１ミリ秒の事前検出積分（ＰＤＩ）でのドップラーの＋／−５，０００Ｈｚのドップラー不確定性（Ｍ＝１０）サーチ・ビンとして記述可能なので、サーチ・ビンの合計数はＮ×Ｍ＝２０，４６０サーチ・ビンによって得られる。本発明の一実施形態では、これらのビンのすべては、各サーチ・ビンを連続してサーチする単一相関器によって１度にサーチ可能である。ＰＤＩという用語は、積分のコヒーレント積分時間も意味するものであり、これらの用語は交換可能に使用される。
【００１３】
１ミリ秒／ドエルで、単一相関器を使用すると、単一衛星に対してすべての実現可能なビンをサーチするには２０．４６秒が必要になる。ドエル時間が延び、周波数ビン数が増加するのでサーチ時間はＰＤＩの増加に伴い急速に増加する。さらに一般的には、ローカル時間とレシーバの基準振動子にも不確定性があり、これがサーチ・ビン数を大幅に増加させる場合がある。
【００１４】
図２で、不確定性空間は援用データによってさらに小さい不確定性領域に大幅に縮小される可能性がある。本願譲受人に譲渡された（特許文献４）を参照されたい。ＧＰＳ操作の一形態では、例えばレシーバは、アルマナック、エフェメリス、近似位置データなどを含めて従来の支援情報を使用する。無線通信への応用例では、レシーバは、例えばＳＶＩＤ、ドップラー、コード位相推定値などの電波標準の規定全体に対して支援されている無線で規定された援用データを使用する場合がある。レシーバは、支援データなしに自動でも動作する。図２で、さらに小さい不確定性領域のコード位相次元は、ＢＩＮ＿ＬＥＮＧＴＨ量だけ隣接コード位相ビンから隔てられたＮ個のサーチ空間ビンを含み、ドップラー周波数次元は、ｄｅｌｔａＤｏｐ量だけ隣接ビンから隔てられたＭ個のサーチ空間ビンを含む。
【００１５】
レシーバは、１つ以上の衛星に対して並列にコード位相とドップラー空間をサーチすべくプログラム可能であり、さらに具体的には、レシーバは、いくつのコード位相およびドップラー・ビンに対していくつの衛星でも動的かつ最適にサーチするよう構成可能である。
【００１６】
レシーバは、１つ以上の位相遅延および１つ以上のドップラー周波数を含む特定の不確定性空間またはそのさらに狭い領域をサーチするために、リアルタイムよりも高速に実行されているバッチ並列／直列アーキテクチャによって、擬似または仮想並列化を使用する。サーチャー例は、合計の不確定性空間またはそのさらに小さい領域をカバーするために時分割多重化された１２８個の状態フラッシュ並列相関器を使用して、リアルタイムで４０９６個のコード位相周波数衛星サーチ・ビンをサーチする機能を有する。一実施形態では、例えば、複数のスペクトラム拡散信号の１つ以上は、当該スペクトラム信号が受信された速度よりも速い速度で連続して相関することにより、所定の数の位相遅延に対して少なくとも１つのドップラー・サーチ・ビンを有する対応する所定のドップラー・サーチ範囲全体で事実上並列に相関される。別の実施形態では、複数のスペクトラム拡散信号を当該スペクトラム拡散信号が受信された速度よりも速い速度で対応する複製信号と連続して相関することにより、複数のスペクトラム拡散信号が所定の数の位相遅延全体に対して事実上並列に相関される。
【００１７】
ＧＰＳの応用例では、２０４６の半チップ遅延から構成される１ミリ秒のＰＮコード長は、レシーバによって不均等なセグメント長を有する１６個のセグメントにセグメント化される。最初の１５個のセグメントは１２８サンプル長であり、最後のセグメントは１２６サンプル長である。他の不等のセグメント化も使用してよいが、各セグメントは、次のセグメントを収集するのに要する期間中に所望のサーチ・ビン数をテストし得るに足る数のサンプルを有することが好ましい。
【００１８】
図３は、スペクトラム拡散信号レシーバ・アーキテクチャの複数のサーチ・モード例を説明している。第１のモードでは、それぞれが１つのドップラー・ビンまたは周波数である２基の衛星がコード位相不確定性空間全体で同時にサーチされる（２０４６半チップ・テスト・ビン）。第２のモードでは、１基の衛星が２ドップラー周波数でコード位相不確定性空間全体で同時にサーチされる。第３のモードでは、２基の衛星が、それぞれ４つのドップラー周波数でコード位相不確定性空間（５１２の半チップ・テスト・ビン）の一部で同時にサーチされる。第４のモードでは、２基の衛星が、それぞれ８つのドップラー周波数でコード位相不確定性空間（２５６半チップ・テスト・ビン）の一部で同時にサーチされる。第５のモードでは、１基の衛星が３２のドップラー周波数でコード位相不確定性空間（２０４６半チップ・テスト・ビン）の１２８の半チップで同時にサーチされる。他のモード例も示されている。図３の最後のモードＸはサーチ・モードの柔軟性の度合いをより明解に示している。合計１１基の衛星が同時に並列でサーチされるが、この場合、それぞれが異なる数のドップラー・ビンを対象としており、また２の２乗ではない異なる数の半チップ遅延を対象としている。図３のこれらのサーチ・モードは説明のみを目的としており本発明を限定することは意図しない。このレシーバ例は、最高１２までの衛星信号を並列でサーチし、位置を特定し得るが、この場合、各衛星は複数のドップラー・ビンに対して、また整数個の半チップのコード空間不確定性に対してサーチされる。衛星ごとのコード位相とドップラー空間を対象としたサーチは独立に制御される。唯一の制約は、サーチ・ビンの合計数はサーチャーの容量（この実施形態では４０９６）を超えてはいけないということである。また、レシーバは４０９６ビンより少ないビンしかサーチしない場合があるが、この場合、相関器のクロック速度を低減してよい。
【００１９】
ＧＰＳ操作の一態様では、ドップラー・サーチ範囲は受信した複数のスペクトラム拡散信号のそれぞれに割り当てられており、その割り当てられたドップラー・サーチ範囲のそれぞれに対して１つ以上のドップラー・サーチ信号が生成される。ドップラー・サーチ範囲が複数のドップラー信号を含んでいる場合、特定ドップラー・サーチ範囲内のドップラー・サーチ信号のそれぞれの間に１つのドップラー・ステップ・サイズの増分がある。一実施形態では、複数のドップラー・サーチ範囲の少なくとも２つに対して生成されたドップラー・サーチ信号は異なり、生成されたドップラー・サーチ信号数はある所定の数に限定される。
【００２０】
レシーバは、（ドップラーおよびコード位相がそれぞれの可視衛星に対して判明すると）トラッキング・モードで動作してもよい。この場合、連続した位置更新に対して擬似距離および擬似距離速度測定値を連続して更新するために、コードおよび搬送波トラッキング・ループが有効である。トラッキング・モードでは、相関器配列の大部分のクロック速度は、この実施形態では約５ＭＨｚの、さらに低い周波数に低下させ得る。これは、トラックを維持するには最小数のコード・ドップラー・ビンしかサーチされないからである。
【００２１】
サーチ空間は、コード位相サーチ空間の倍増を考慮して１チップのサンプルに圧縮してもよい。サーチ対象の各衛星は、１チップまたは半チップ間隔を考慮したソフトウェア選択可能オプションを有する。この実施形態の限定では、このオプションは最高４基までの衛星を同時にサーチする完全なコード位相を考慮している。
【００２２】
図４では、図１のＩＳＩＰブロックの関数は、ＲＦ処理ブロック３００、Ａ／Ｄ変換３１０、および制御プロセッサにプログラムされたサンプル速度・パラメータに応じて例えば１．０２３、２．０４６、４．０９２、または８．１８４ＭＨｚになる効率的な速度での、サンプリングされた信号データのＡ／Ｄコンバータから２ビットのＩ／Ｑデータ・サンプルへの変換および倍率変更を含む。いくつかの実施形態では、所望のサンプル速度にサンプルを変換するためにデシメータ／リサンプラ３１２が使用される。
【００２３】
２ビットのＩ／Ｑデータ・サンプルは、記号−量のフォーマット（２の補数ではない）に倍率変更され、それぞれは信号振幅の４つの可能な状態を２つのビットの４つの可能な状態に符号化する。例えば、状態「００」は＋１という信号量を表し、状態「０１」は＋３という信号量を表し、状態１０は−１という信号量を表し、状態「１１」は−３という信号量を表す。信号量に対する状態のこの他のいかなる順番付けも実現可能であり、フラッシュ相関器がそのフォーマットに対応し、相関結果を形成するためにそのマッピングされた信号量を使用する限り、厳密な記号−量のフォーマットから逸脱する場合がある。
【００２４】
図４で、サンプリングされたＩ／Ｑ信号成分は分周期ブロック３１４によって信号セグメントにセグメント化される。次いで信号セグメントは対応するＩ／Ｑ  Ｒ１レジスタ３１６に記憶される（そのうち１つだけが基準番号と一致する）。この実施形態では、分周期ブロック（Ｄｉｖ１２８／１２６）３１４は２０４６の半チップＰＮコード・ビットの１ミリ秒長のセグメントを１２８サンプル長の１５の信号セグメントに、また１２６サンプル長の１つの信号セグメントに不均等に分割し、次いでこれを反復する。１つの信号セグメントの最後の信号サンプルは隣接する信号セグメントの第１の信号サンプルから単一サンプルだけ隔てられていることが好ましい。それぞれの完了したセグメントは約１６ＫＨｚの速度で、すなわち各ＰＮコード反復周期の１６倍でＲ１レジスタ３１６にクロックされる。分周期ブロックＤｉｖ１２８／１２６はまた、Ｒ１レジスタの１２８サンプルを処理するか１２６サンプルを処理するかを示すために１または０などの１セグメント長の信号を後続の処理素子に出力する。
【００２５】
図５は、２ビットのＩ／Ｑ信号セグメントを記憶する図４のＩ／Ｑ  Ｒ１レジスタ３１６のより詳細な説明図である。具体的には、レジスタ・ブロックはＩ／Ｑ直列−並列レジスタ５１０および５２０とＧＰＳＯｎｅＫＨｚクロック生成器５３０とを含む。この実施形態では、不均等なセグメントがＩ／Ｑレジスタ５１０および５２０に約１６ＫＨｚの速度で連続してクロックされる。ＮｅｗＲ１データの完了を示すために信号（ＮｅｗＲ１）が生成され、ＮｅｗＲ１のセグメント数、ＧＰＳＯｎｅＫＨｚクロック、およびＩ／Ｑのセグメント化されたサンプルを示すために信号（Ｓｅｇ＿Ｎｕｍ）が生成される。他の実施形態はＩ／Ｑレジスタの並列配列を含んでよい。
【００２６】
この実施形態のアーキテクチャでは、Ｉ／Ｑ信号セグメントを生成しているクロック信号およびＲ１レジスタを負荷するクロックは、レシーバ品質の安定性、すなわち３＊１０−９よりも大きくないＡｌｌｅｎ分散を有する低位相雑音クロックを必要とするレシーバの唯一のクロックである。残りのレシーバ部分をクロックするクロック回路は、ある最低のクロック速度より高い速度で動作するいかなるクロックであってもよいが、この実施形態では４０９６サーチ・ビン・アーキテクチャは約６５ＭＨｚ（６４＊１．０２３）より低くはない。アーキテクチャはしたがって、ＤＳＰまたは他のプロセッサは７０と１０５ＭＨｚの間のある速度で実行されるベースバンド・アーキテクチャと互換性がある。
【００２７】
図４で、ドップラーＮＣＯ３１８の出力がサンプリングされ、入力信号セグメント化シーケンスと類似の方法で２つのＲ２レジスタ３２２（１つだけ図示する）に並列化される。Ｒ２レジスタのサンプル数は、Ｄｉｖ１２８／１２６分周期ブロック３１４のセグメント長出力に応じて１２８サンプルかまたは１２６サンプルとなる。Ｒ２レジスタはマルチプレクサ３２８によって乗算器ブロック３２６に結合される。このマルチプレクサ構成は、並列化されたＲ２ドップラーワイプオフ波形を複数のクロックに対して一定に維持し、フラッシュ相関器に供給することを可能にするが、一方、別のＲ２ドップラー・ワイプオフ波形はＮＣＯによって準備される。この実施形態では、ドップラー生成器は、Ｒ２レジスタにロードされる１２８または１２６のドップラー・サンプルを生成するために使用可能なクロック周期数が制限されている。この実施形態のアーキテクチャで使用するために適したドップラー信号生成器の設計は、４つの従来のＮＣＯを並列で、またはＳＩＮ／ＣＯＳ状態−遷移コンピュータを使用することを含む。
【００２８】
この実施形態は、次の相関用のＲ２レジスタを負荷するために３２クロック周期を限度とする。図６ａでは、４個のＮＣＯ、６０２、６０４、６０６、および６０８がレジスタ６１０用のドップラー・パターンを作成する。３２クロック周期という限度がなければ、ＣＯＳおよびＳＩＮ出力（それぞれ１ビットずつ）を生成する単一の２４ビットＮＣＯは１２８のＩ／Ｑサンプルを作成するには十分である。ＮＣＯの１ビットのＳＩＮ出力は、積分器（２４ビットＮＣＯのうちの２３ビット）のＭＳＢであり、ＣＯＳ出力は積分器（ビット２３および２２）の次に低いビットを有するＭＳＢのＥＸＯＲである。１２８個のサンプルが作成され、次いでＲ２レジスタ６１０が１２８の状態すべてを同時に捉える場合は、ＮＣＯの２つの出力ビットは、対応する１２８の状態のシリアル−パラレル・シフト・レジスタ６０３、３０５、６０７、および６０９に分配される。
【００２９】
３２クロック周期限度の実施形態では、並列化により各段階でのクロック数が低減される。図６ａの４個のＮＣＯは、それぞれにクロック０での開始位相と周波数を負荷する機能を有する。第１のＮＣＯはサンプル１から３１までのドップラー・パターンを作成し、第２のＮＣＯはサンプル番号３２から６３までのパターンを生成し、第３のＮＣＯはサンプル６４から９５までのデータを作成し、第４のＮＣＯはサンプル９６から１２８までを作成する。ＮＣＯは同時にクロックされるので、１２８個のサンプルすべてを作成するために３２クロックしか必要としない。第２から第４のＮＣＯの開始位相は次のように計算される。第２のＮＣＯ開始位相＝第１のＮＣＯ開始位相＋３２＊Ｆｗ；第３のＮＣＯ開始位相＝第１のＮＣＯ開始位相＋６４＊Ｆｗ；および第４のＮＣＯ開始位相＝第１のＮＣＯ開始位相＋９６＊Ｆｗ。３２番目のシステム・クロック後の第４のＮＣＯに記憶されている最終位相は、次のＲ１レジスタのサンプル中に使用するために位相ＲＡＭ６１２に書き込んで戻される。１２６サンプルしか有しない信号セグメントの場合、第４のＮＣＯは短く、３０クロック周期しか繰り返されない。
【００３０】
ＲＡＭ６１２に記憶されている位相は３２ビット幅のワードで記憶されている。これより低い２４ビットは１つの搬送波周期の断片的位相を表し、これより高い８ビットは累積された整数の搬送波周期を表す。ＲＡＭ６１２のワード・サイズは６４ワードである。周波数ＲＡＭ６１１はまた６４エントリを含んでいるが、所望の衛星／ドップラー・ビンの周波数ワードを表す２４ビットしか記憶していない。周波数ＲＡＭ６１１と位相ＲＡＭ６１２に含まれる６４ワードは、それぞれのワードを１つのドップラー・ビンと１つの衛星に対応させて１つ以上の衛星に割り当てられ得る。１つのＮＣＯ構造は、最高６４までの実現可能なドップラー信号を表すようＲ２レジスタに記憶されているドップラー信号を作成するために時分割方式となっている。例えば、６４のドップラー・ビンは、６４のデータ・ワードすべてを消費する１つの衛星に割り当て可能である。あるいは、３２のドップラー・ビンは、これもまた６４のデータ・ワードを消費する２つの衛星に割り当て得る。合計数がＲＡＭ６１２および６１１の６４個のメモリ位置を超えない限り、図３に示すように衛星に対するドップラー・ビンのいかなる組み合わせでも割り当て可能である。
【００３１】
図６ａに示す位相差分回路６１３は、ＰＮコード生成器回路に対するＰＮ位相遅延補正を計算するために使用される。位相差分は３２ビットの差分である必要はなく、３２ビット長の位相ワードのさらに高い１０ビットの１０ビット差分でも十分であり、１／４周期の分解まで位相差分を整数および分数の周期で報告する。位相差分回路は、積分期間中に１つのコード位相ビンでコード位相を定常に保つために、生成された各ドップラー信号（１／４周期の分解まで整数および分数の周期の両方で）に対して発生する位相の差分を計算し、コード位相コンピュータ・ブロック（図１の６０）にその差分を渡し、最終的にＰＮ生成器ブロック（図１の４０）に渡す。このようにして、Ｒ３ＰＮコード信号は、受信信号のドップラー誘発コード位相シフトを補償し、１つの累積ビンでその相関の合計を定常に保つために時間シフトされる。ＧＰＳ信号がドップラーとコード位相の間でコヒーレントであり、したがってコード位相遅延を補償するためにドップラー周期による範囲における累積シフトが使用可能であることは良く知られている。例えば、１５７５．４２ＭＨｚのＧＰＳ信号搬送波周波数と１．０２３ＭＨｚのＰＮコードのチッピング周波数はコヒーレントであり、すなわち、各衛星内部でＰＮコード・クロックを生成するために搬送波周波数を生成する同一振動子が使用される。したがって、各ＰＮコード・クロックは１５７５．４２ＭＨｚ／１．０２３ＭＨｚ、または１５４０の搬送波周期／ＰＮコード・クロックを表す。ドップラー搬送波周期を累積することによって（６１３の出力の位相差分を累積することによって）、図１の４０によって生成された複製ＰＮコード信号を受信信号とコヒーレントに保つために連続したコード位相調整を行うことが可能になる。この設計のレシーバは主として１／２チップ間隔のサンプル（Ｒ１、Ｒ２、およびＲ３レジスタ）を使用するので、１／２チップのコード位相調整を行う前に累積されなければならない整数ドップラー信号周期数は１／２＊１５４０または７７０搬送波周期である。この結果、各ドップラー・ビン／衛星に対する位相差分量（図６ａで生成され、図１のコード位相コンピュータ・ブロック６０で消費される）を累積することにより、図１のＰＮ生成器ブロック４０にロードされるコード位相はすべての７７０．０の累積されたドップラー周期に対して１／２チップだけ調整される。
【００３２】
ＲＦ実施態様に応じて、コード位相コンピュータは７７０周期の各累積に対して１／２チップを加算または減算してよい。例えば、ＲＦ回路が高電位側注入または低電位側注入を使用している場合（すなわち、ローカル振動子が所望の信号よりも高いかまたは低い場合）、受信信号はコード位相累積を低減させるかまたはコード位相累積を増加させる場合がある。この設計では、プロセッサは、累積されたドップラー周期がコード位相に対して加算するか減算するかを制御するＡＰＡＤと呼ばれるパラメータ、すなわち自動位相拡張方向レジスタをセット可能である。
【００３３】
図６ａは、基準発振子のオフセット周波数と周波数変更の速度とを担当する補償回路も示す。これらのパラメータ、ＯＳＣＬ＿ＲＡＴＥおよびＯＳＣＬ＿ＦＲＥＱは、制御マイクロプロセッサによって推定され、すべての衛星に対するすべてのドップラー測定値をオフセットするためにプロセッサによって書き込まれ、したがって基準発振子オフセット周波数を担当する。パラメータはＦＭクロック信号または測定エポック・クロックによって３２ビットの累積器６１４にクロックされる。累積器は、すべての１６番目のＲ１レジスタ負荷周期と同期しているクロック速度で、すなわち１ミリ秒あたり１回で実行される。累積器の出力はすべての１６個の新しいＲ１レジスタ負荷周期に対してＯＳＣＬ＿ＲＡＴＥ入力パラメータを１回加算することによって変更される。ＯＳＣＬ＿ＦＲＥＱとＯＳＣＬ＿ＲＡＴＥ＊Ｎの累積された和は、割り込みと同期している次の測定エポック出力クロックで捉えられる際に、ＯＳＣＬ＿ＥＳＴレジスタのプロセッサによって観測され得る。ビット調整を以下に示す。ＯＳＣＬ＿ＦＲＥＱの２４ビットは累積器に８ビットだけ上にシフトして調整される。１０ビットのＯＳＣＬ＿ＲＡＴＥパラメータはその累積器とビット調整される。ＯＳＣＬ＿ＥＳＴレジスタをドライブし、並列ＮＣＯに供給される出力２４ビットは８ビットだけ上にシフトされる。すなわち、これらの出力は累積器の３１番目から８番目のビットに関して述べているということである。ＯＳＣＬ＿ＲＡＴＥパラメータの範囲は最大ＯＳＣＬ＿ＲＡＴＥ＝１０００＊（４＊０．１２２０Ｈｚ）＝４８８Ｈｚ／秒と最小ＯＳＣＬ＿ＲＡＴＥ＝１０００＊（０．１２２０／２５６Ｈｚ）＝０．４７６Ｈｚ／秒である。
【００３４】
図１のコード位相コンピュータ・ブロック６０は次の関数を実行する。
ａ）メモリの各セグメントに対する絶対コード位相を追跡する。プロセッサはこのコード位相コンピュータ・メモリから直接的にコード位相を読み取る。
【００３５】
ｂ）ドップラー周期を計数することによってコード位相にドップラー誘発変更を累積する（コード位相における自動位相拡張）。
ｃ）自動位相拡張成分を含む、ＰＮコード生成器が信号の次の適用中に使用する半チップ（事前測位データ）の整数個数を計算する。
【００３６】
ｄ）Ｒ１内のセグメント数に基づいて整数コード位相の半チップ・オフセットを補償する。
ｅ）ＭＡＮＬ＿ＣＰ＿ＡＤＪ入力と呼ばれるプロセッサ書込み可能パラメータを介してドップラー搬送波周期の単位でコード位相へのプロセッサ命令マニュアル調整を担当する。
【００３７】
コード位相コンピュータはＰＮ生成器が各セグメントに対して事前測位ターゲット・コード位相を必要とする期間中はコード位相を累積する必要がある。したがって、１６回／ミリ秒だけコヒーレントおよび非コヒーレントＲＡＭの各ＢＩＮ＿ＬＮＧＴＨセグメントに対する開始コード位相を計算する必要がある。これは、ミリ秒あたりにＲ１レジスタに記憶される１６個の異なるセグメントに対応している。図１のドップラー生成器ブロック５０の場合と同様に、図１のコード位相コンピュータ・ブロック６０は最高６４の独自のコード位相レジスタを維持するために作業ＲＡＭを必要とする。
【００３８】
便宜的に、コード位相レジスタには以下のフォーマットが提案される。このフォーマットはコード位相コンピュータによって維持される。各レジスタは図６ｂに示すように３つのセグメントに分割される。各レジスタに記憶されているコード位相は、各メモリ・セグメントの第１の１／２チップ素子のコード位相遅延を示している。各セグメント内の他の素子に対するコード位相遅延はそのセグメントの第１の素子から整数個の１／２チップだけ差し引いた数に単純に基づいている。
【００３９】
ドップラー生成器の位相変更（ｃｈａｎｇｅ−ｉｎ−ｐｈａｓｅ）出力と整合するために分数チップが１／４搬送波周期の単位で累積される。このドップラー生成器は、コヒーレントなＲＡＭに含まれる各相関器セグメントに対して処理される各Ｒ１レジスタ内の１／４搬送波周期の合計数を計算する。したがって、コード位相累積器の分数チップ部分は０から７６９．７５周期の値をとり、その周期後それは累積器のコード長部分に搬送される。ＰＮコードと搬送波がコヒーレントなＧＰＳのＬバンド信号では、各ＰＮコード・チップに対して１５４０の搬送波周期、すなわち１／２チップ長に対して７７０がある。その結果、コヒーレンスを維持し、ドップラー誘発コード位相遅延変更に対処するためには、７７０の搬送波周期を累積し、次いで自動位相拡張と呼ばれる工程を達成する次フィールド（半チップ遅延）に繰り越すこの工程がある。
【００４０】
同様に、累積器のコード長部分は１／２チップ遅延増分で０と１０２２．５チップの間の値、すなわち０と２０４５の間の整数値を取る。コード長部分が移行すると、累積器の整数コード長部分は１回増分される。累積器の整数コード長部分を含んでいるビット合計数は、１つの衛星を追跡するのに予測される最大値（トラッキング・モードで１０時間）と、そのような信号の最大変更速度とに基づいてセットされる。
【００４１】
コード位相コンピュータによって適用されるアルゴリズムは、Ｃコードの等価表記で最も良く説明される。モジュールのアーキテクチャは、ＡＬＵ、ビット・シフター、およびＲＡＭブロックによって表現可能である。記載されたアルゴリズムを実行する限り実際のアーキテクチャは重要ではない。主な必要条件は、コード位相コンピュータがすべての衛星および必要とされるすべてのドップラー信号（Ｒ２の固有値）に対するコード位相パラメータの更新を完了し、予測された事前測位コード位相をＰＮ生成器にシステム・クロック周期の最小数である３２周期以内で分配することである。このアルゴリズムは初期設定モードならびに実行モードで記述される。
【００４２】
初期設定モードでは（積分ドエル期間開始前）次のことが発生する。
コード位相コンピュータ・メモリの各衛星セグメントに対して、整数コード長［ｉ］＝０；
コード長［ｉ］＝ＣＰ＿ＯＦＦＳＥＴ［ｉ］（構成ブロックに記憶されているコード位相オフセット・レジスタのコピー）
分数コード位相［ｉ］＝Ｎ＊Ｄｅｌｔａ＿Ｃｐ；ここで、Ｎ＝複数の定義されたＮＵＭ＿ＢＩＮＳを有するセグメントの任意のブロックに対するビン数、Ｄｅｌｔａ＿Ｃｐは同一衛星の後続ビンに対するコード位相における変更、一般に整数の搬送波周期であり、したがって１／２チップよりも遥かに少ないＰＮコードのステップ・サイズ・オフセットを表し得る。例えば、Ｄｅｌｔａ＿Ｃｐは、７７／１５４０チップ、すなわち０．０５チップのＰＮコード・オフセットを考慮する７７の搬送波周期であってよい。したがって、Ｄｅｌｔａ＿Ｃｐ／１５４０チップに比例する量だけ後続ビンをオフセットするためにＤｅｌｔａ＿Ｃｐを使用してよい。パラメータＤｅｌｔａ＿Ｃｐは、制御プロセッサにより衛星ごとに制御可能であり、いかなる整数搬送波周期値にでもセット可能であり、したがって特定衛星の複数コード位相ビンに対するオフセットのステップ・サイズを１／１５４０チップ、すなわち０．０００６４９チップほど小さいステップ内とし得る。この方法で、１つのビンから別のビンへの遅延差分を１／２チップ遅延より遥かに精密に調整可能である。
【００４３】
実行モードでは、
この工程は一般に、選択された衛星／ドップラー・ビンに対してドップラー生成器がＲ２を生成した後のある時点で実行される。各コヒーレントなＲＡＭセグメントに対して各Ｒ１セグメントが衛星ごとに処理された後のコード位相を更新する工程を次に示す。
【００４４】
【数１】
2005500731.tif 000003
次のＰＮコード事前測位データの作成
次回、この特定衛星セグメントがＰＮコード生成器によって事前測位されることが必要になると、ＰＮコード生成器にはＲ１データのセグメント数だけオフセットされたコード長レジスタに記憶されている半チップの整数計数が与えられる。より具体的には、事前測位ＰＮ計数＝１２８＊セグメント数＋コード長レジスタである。ここで、セグメント数とはＲ１のデータ・セグメント数（０から１５）のことである。１２８による乗算は単純にビットを７桁シフトすることによって実施し得ることに留意されたい。最後に、事前測位ＰＮ計数は、次の関数によるいかなるオーバーフローまたはアンダーフローをも補償する必要がある。
【００４５】
【数２】
2005500731.tif 000004
図４で、ＰＮ複製コード生成器３２０の出力がサンプリングされ、入力信号セグメント化シーケンスと類似の方法で２つのＲ３レジスタ３２４（１つだけを図示する）に並列化される。Ｒ３レジスタ内のサンプル数は、Ｄｉｖ１２８／１２６分周期ブロック３１４のセグメント長出力に応じて１２８サンプルまたは１２６サンプルのどちらかである。Ｒ３レジスタはマルチプレクサ３３０によって乗算器ブロック３２８に結合される。
【００４６】
図７で、ＲＯＭベースのＰＮコード生成器例は、要求された３２のシステム・クロック以内でＲ３レジスタの１２８の状態すべてを生成する。シフト・レジスタ７０２および７０４の内容は確定的であり、１０２３の状態それぞれが選択されたコードの１つの特定ビットを定義する。シフト・レジスタの状態は対応する参照用テーブルＲＯＭに記憶されている。Ｇ１参照用テーブルＲＯＭ７０６は１０２３ビット（１２８ワード×８ビット）を必要とし、Ｇ２参照用ＲＯＭ７０８は２１７６ビット（１２８ワード×１７ビット）を必要とする。
【００４７】
１つのシステム・クロック周期において、Ｇ１およびＧ２ＲＯＭ対は、並列ＥＸＯＲおよびＭＵＸブロック７１０と共に、選択された信号に対するＰＮ生成器出力の８つの連続する状態を表す８つの並列ビットを作成する。第１のビットは、ＲＯＭへの入力アドレスに８を乗じることによって表されるビット位置（すなわち、ＰＮコード・ビット状態番号）と一致する。Ｒ３レジスタは１２８ビットを捉える。ＰＮ生成器からの各ビットは２回複製され（Ｒ３は、１．０２３ＭＨｚのＰＮ生成器の２．０４６ＭＨｚ速度のサンプリングを含んでいる）、したがって、Ｇ１／Ｇ２および並列ＥＸＯＲおよびＭＵＸブロックは事前ロードのために６４ビットのＰＮシーケンスを作成する必要がある。Ｒ３レジスタは１６ビット長のシフト・レジスタの８つのコピーとして構成される。最後の８つのコピーはＲ３レジスタの１２８ビットを含んでおり、最初のコピーはＧ１／Ｇ２ＲＯＭおよび並列ＥＸＯＲおよびＭＵＸブロックによってロードされたシフト・レジスタ・ロード・レジスタである。
【００４８】
回路並列は１６ビットのシフト・レジスタをロードする。事前ロード・モードでは、回路は９クロック周期で９個のレジスタを連続してロードする。シフト・レジスタがロードされると、Ｒ３レジスタの状態は選択されたＰＮコードの部分を表し、シフト・レジスタの第１のビットは最も近接した状態番号と一致するビットである（対象状態の１６クロック周期以内）。次いでシフト・レジスタは、Ｒ３レジスタを所望の開始状態、すなわちコード周期コンピュータによって計算され、事前測位ＰＮ計数パラメータによってＰＮ生成器に分配された状態に事前測位するためにクロック周期の残り数にクロックされる。事前測位計数の上位７ビットは直接ＲＯＭに移動する。Ｒ３レジスタを構成する１６ビットのシフト・レジスタの９つすべての内容を参照するアドレスを生成するために、−１から＋８までのアドレス計数がアドレスに加算される。下位４ビット（すなわち、残り）は、Ｒ３レジスタを所望の初期設定状態に置くために必須の整数のクロックを表す。
【００４９】
上述のように、Ｒ３レジスタには２つのコピーがあり、そのどちらもＧ１／Ｇ２ＲＯＭと並列ＥＸＯＲおよびＭＵＸブロックの１つのコピーによってドライブされている。一実施形態では、これら２つのＲ３レジスタで事前ロード状態と実行状態とが交替する。実行状態では、Ｒ３レジスタはクロックあたり１回シフトされる。ＰＮビットの連続したストリームがＲ３レジスタにロードされるように、要求されるコードの次の１６ビットが正確なクロックでロード・レジスタにロードされる。図８は並列ＥＸＯＲおよびＭＵＸブロックのさらに詳細なブロック図である。いかなる信号に対しても１つの並列クロック周期に８つの連続したビットを生成するために、回路は１０ビット間隔の途中でＧ２シフト・レジスタからのいかなる２ビットでもＸＯＲする回路を複製する。したがって、８つの各ビットに対して２つの１０ビット・データ選択器と１つのＸＯＲゲートが使用される。さらに、Ｇ２シフト・レジスタＲＯＭは、１０から１の選択器が８ビットのそれぞれに対する正確な１０ビット範囲を参照し得るように、合計１７の合計状態ビットを生成する。
【００５０】
図４では、相関は１２８タップの高速フラッシュ並列相関器３３２によって実行される。この相関器３３２は、複素数（２ビットのＩ／２ビットのＱ）Ｒ１レジスタと複素数（１ビットのＩ／１ビットのＱ）Ｒ２レジスタと実際の１ビットのＲ３レジスタとの内容をサンプルごとに相関し、すべてのタップを合計してＳＵＭＩとＳＵＭＱ出力を形成する。
【００５１】
相関器によって実行される数学的演算は図９ａおよび次の添付の擬似コードで記述し得る。Ｒ１レジスタが、Ｒ１ｉ［ｋ］およびＲ１ｑ［ｋ］と呼ばれるＩ／Ｑの１２８のサンプルからなると仮定する。ここで、ｋはＲ１レジスタ内のサンプル数であり、０＜＝ｋ＜＝最大とする。同様に、Ｒ２レジスタは、Ｒ２ｉ［ｋ］およびＲ２ｑ［ｋ］と呼ばれるＩ／Ｑの１２８のサンプルからなり、０＜＝ｋ＜＝最大とする。最後に、Ｒ３レジスタは、Ｒ３［ｋ］と呼ばれる実際のＰＮコード・シーケンスの１２８のサンプルからなり、０＜＝ｋ＜＝最大とする。この実施形態では、最大値は、Ｒ１レジスタが１２８サンプルのＲ１値を含んでいるか１２６サンプルのＲ１値を含んでいるかによって１２７と１２５の間で変化する。Ｒ１ｉおよびＲ１ｑという項は＋１、＋３、−１、および−３の値を取り得る。Ｒ２ｉおよびＲ２ｑは＋１と−１の値を取り得る。Ｒ３の値は＋１または−１の値を持ち得る。
【００５２】
【数３】
2005500731.tif 000005
同相の求積成分をさらに展開し、収集すると次が生成される。
【００５３】
【数４】
2005500731.tif 000006
最後に、Ｒ１×Ｒ２の複合積は積レジスタＰｉ［ｋ］およびＰｑ［ｋ］と記述可能である。ここで、
【００５４】
【数５】
2005500731.tif 000007
積レジスタＰｉおよびＰｑはＲ１とＲ２のそれぞれの値に対して一定しており最大の素子を含んでいる。最後の和（ＳｕｍｉおよびＳｕｍｑ）は、次のようにＲ３×積レジスタ（ＰｉおよびＰｑ）の項で記述可能である。
【００５５】
【数６】
2005500731.tif 000008
時間間隔中に実行される相関数を最大にするために、式［５］および［６］の合計であるＳｕｍｉおよびＳｕｍｑはこの関数を達成する１つの大きな論理ブロックによってパイプライン処理可能な１クロック周期で計算される。
【００５６】
図９ａは、フラッシュ相関器ブロックの好ましい実施形態を示す。式［１］から［６］はＰｉとＰｑの積レジスタの各素子で実行される数学的演算およびそれに続く出力であるＳｕｍｉとＳｕｍｑとを記述している。フラッシュ相関器の特有の設計はＲ１データ入力とＲ２データ入力に関連付けられたデータの符号化法に非常に依存している。Ｒ１入力サンプルのＩ／Ｑサンプルの符号化を次のように仮定する。
【００５７】
【数７】
2005500731.tif 000009
Ｒ２の１ビットのＩ／Ｑサンプルは次のように符号化される。
【００５８】
【数８】
2005500731.tif 000010
Ｒ３の１ビットのサンプルは次のように符号化される。
【００５９】
【数９】
2005500731.tif 000011
図９ｂは、２ビットのＩ／ＱのＲ１サンプルにＲ２レジスタすなわち積レジスタ３２６の１ビットのＩ／Ｑサンプルを乗じた積に関連付けられたビット・パターンの６４すべての実現可能な組み合わせも示している。したがって、Ｒ１＊Ｒ２の内積を形成するためにサンプルを２の補数による記法に符号化する必要はない。ＳｕｍｉとＳｕｍｑの出力を生成するためにＰｉ［ｋ］およびＰｑ［ｋ］論理ブロックの乗数の１２８すべての出力が別個のＩ／Ｑのデータ経路で合計される。フラッシュ相関器の加算器の出力は常に偶数なので、加算器の出力は１ビット切頭される（図９ａの出力経路を参照のこと）ことに留意されたい。論理ブロックは、２で割る工程を組み込んだ図９ｂの真理表を複製するだけでよい。「Ｐｉ＿ｓｃａｌｅｄ」の列は「Ｐｉの１要素」の２倍になる列とは異なり、「Ｐｑ＿ｓｃａｌｅｄ」の列は同様に「Ｐｑの１要素」の２倍になる列とは異なる。この方法でＲ１データの４つの入力状態（＋１、＋３、−１、−３）を符号化し、論理素子による乗算を達成することにより２の補数の数学を回避することができる。２の補数の数学はデータ経路にもう１つデータ・ビット（例えば、Ｉ／ＱのＲ１レジスタに３つずつ）を必要とし、さらなるハードウェア素子を使用する。
【００６０】
図９ｃは、図４の乗算器ブロック３２６および３３２にそれぞれ対応する第１および第２の乗算器ブロック９００および９０２を含む相関器例のブロック図である。図９ｃは、図４の加算ブロック３３３に対応する加算ブロック９０４のセグメント数により１２８の並列相関器の出力の加算も示す。この実施形態では、Ｒ１レジスタ出力は、１２６サンプル長である最後のセグメントを除くすべての信号セグメントに対して１２８サンプル長である。セグメント選択信号の制御下で１６番目の信号セグメントの加算中は相関器１２７および１２８の出力は無視される。
【００６１】
相関工程が図１０ａに概略的に示されている。積レジスタＰを生成するためにＲ１レジスタとＲ２レジスタからの入力サンプルが乗算される。次いで積レジスタＰは一定に維持され、一方、複製ＰＮ生成器のコード位相遅延の所定範囲（Ｒ３レジスタに記憶されている）は最後の乗数に適用される。次いで乗算器出力の１２８の状態すべてが加算器ブロック３３３で合計される。
【００６２】
Ｒ３レジスタは、特定のコード位相遅延に対する複製ＰＮコードの１２８の状態を含んでいる。コード位相遅延ごとにコヒーレントなＲＡＭメモリ３３４が、テストされた実現可能なコード位相遅延のそれぞれに１つずつの多数の別個の累積器として使用される。半チップ・モードでは、Ｒ３レジスタの内容はクロック周期につき１／２チップ遅延だけ進められ、コヒーレントなＲＡＭ３３４は、コヒーレントなＲＡＭの各メモリ位置がコード位相遅延の連続した１つの半チップ遅延トライアルを表すように、１つのアドレスだけ進められる。例えば、遅延０に対するＲ３レジスタの相関結果が遅延０の累積器のアドレスに書き込まれ、遅延１（半チップだけ異なる）に対するＲ３レジスタの相関結果が遅延１の累積器のアドレスに書き込まれる（以下同断）。すべての実現可能なコード位相遅延を表す信号または衛星あたり最高２０４６の半チップまでがテストされ、または所定数のコード位相遅延がテストされ、対応する数のコヒーレントなＲＡＭメモリ位置だけを充填する。１チップ・モード（図１０ｂに示し後述する）では、連続したコヒーレントなＲＡＭアドレスは１チップ間隔の遅延を表している。
【００６３】
Ｒ３レジスタの２０４６の実現可能な状態はすべて、連続したメモリ位置のコヒーレントな累積ＲＡＭ３３４に合計される独自のＳＵＭＩおよびＳＵＭＱ出力を形成する。レシーバは、コヒーレントな累積がＮミリ秒を超えるようにプログラム可能である。ここで、各衛星は、サーチ対象の各衛星に対してＮ値を記憶し、特定の衛星のサーチ中にＮ値をコヒーレントな累積器に適用することによって、Ｎの異なる値を超えるようプログラム可能である。
【００６４】
レシーバの並列化を、単にレシーバまたはその一部の複数のコピーを含めることにより、またはメモリ７０および８０のサイズを拡大しそれに従ってシステム・クロック速度を増加させることにより、４０９６を超えるサーチ・ビンのあるアーキテクチャで拡張してよい。例えば、メモリ７０および８０のワードカウントを倍増することによって８１９２のメモリ位置が生じる。これによってレシーバは、元の４０９６ではなく、８１９２の独自の衛星／ドップラー／コード位相トライアル・ビンを計算する機能を得る。Ｒ１レジスタ（１ミリ秒の１／１６）の１更新周期内で８１９２の衛星／ドップラー／コード位相トライアル・ビンすべてを処理するには、システム・クロック速度を１２８＊１．０２３ＭＨｚより大きいかまたは等しくする必要がある。これを行う別の方法は、１２８サンプルよりも大きくまたは少なくセグメント長を変更することである。例えば、セグメント長が２５６サンプル長にされた場合、コード位相テスト空間の２０４６の半チップをカバーするために、システムは７つの２５６サンプル長のセグメントと１つの２５４サンプル長のセグメントに対して部分相関を実行することにより、１ミリ秒の長さのＰＮコードをセグメント化する。これはさらに、レシーバに、同数の相関（４０９６）を本来達成するための速度の半分のシステム・クロック速度を考慮して、またはクロック速度が同じ値に保たれる場合は２倍の相関数（８１９２）を処理することを考慮して、連続した部分相関を実行するためにＲ１更新周期あたりにさらに多くの時間を与える。
【００６５】
スペクトラム拡散信号セグメントは１度Ｒ１レジスタに記憶されると、後続の処理は入力クロック速度からは独立したものとなる。したがって、相関器、ＰＮ生成器、ドップラーＮＣＯ、および累積ＲＡＭが十分高速に実行されている限り、１、２、４、または８の信号または衛星に対するコード位相空間全体を処理することが可能である。例えば、ＰＮコード生成器、Ｒ３レジスタ、およびコヒーレントなＲＡＭが（８＊２０４８相関）／（１／１６＊０．００１秒）ＭＨｚでクロックされ、累積ＲＡＭが８＊２０４８ワードを保持するように拡張され、またその分だけマルチプレクサとコヒーレントな累積ＲＡＭのタイミングをとることによって、８基の衛星に対する完全なコード位相空間サーチが実行される場合がある。
【００６６】
このアーキテクチャ例は、半導体工程の縮小に伴い増加するクロック速度を利用し得るクロック速度のスケーラビリティを示している。指摘したように、相関器配列は、特定の問題に必須のサーチ（コード位相およびドップラー）ビンの合計数によって様々なクロック速度で実行されるようプログラム可能である。
【００６７】
１つの衛星に対して最高２０４６までの実現可能な遅延の相関テストを計算する間、次のセグメントの収集時間中（この実施形態では約１／１６ＫＨｚの期間）はＲ１レジスタの内容は定常に保たれる。この期間中、所定数のコード位相および／またはドップラー・ビンが以前収集したセグメントに関してサーチされる。すべてのコード位相が１つのドップラー・ビンに関してサーチされると、新しいドップラー・ビンをサーチするために新しい値がＲ２にロードしてよい。
【００６８】
図１１では、コヒーレントな積分ブロックが、最高４０９６までの同相および１／４相関の和を、ＳＵＭＩおよびＳＵＭＱ信号に対する１０または１０を超えるビット幅の積分器からなるメモリ配列１０２に累積する。この配列は、特定の衛星ＰＮコード、コード位相範囲、およびドップラー周波数に対応するブロックにセグメント化される。４０９６のＩ／Ｑメモリ位置のそれぞれを、１つのドップラー周波数での１つの衛星に対する相関結果、すなわち１つのコード位相遅延（半チップ）を保持する１つの累積器と考えてよい。配列１０２は、メモリ・アドレス更新あたり単一のクロック周期でパイプライン処理するために別個の読み取り／書込み入力経路により構成することが好ましい。１周期の読み取り、１周期の書込み、および真のデュアル・ポート・メモリ設計を可能にするために単一ポート・メモリ上のクロック周波数を倍増して、例えば読み取り処理と書込み処理を分離するためにＡメモリとＢメモリが使用されるデュアル・シングル・ポート・メモリ方式を含めて、メモリ素子の更新あたり１クロック周期に処理が限定されている限り、他の構成も実現可能である。
【００６９】
１つのドップラー周波数での１つの特定コード位相遅延、すなわち１つの衛星に対応するフラッシュ相関器の和がＳＵＭＩとＳＵＭＱ入力を介してコヒーレントなメモリに入力される。各クロック周期はＳＵＭ１とＳＵＭＱの２つの入力の１つの相関に対する相関の和を分配する。フラッシュ相関器出力は、制御プロセッサまたはＤＳＰの制御下でダイナミックレンジを低減するように１０４で事前シフト・パラメータにより指定される固定数のビットが切頭される。特定の衛星のサーチ中、サーチ対象の衛星ごとに事前シフト値を記憶し、その事前シフト値をシフターに多重化することにより事前シフト値はサーチ対象の衛星ごとに構成可能である。アドレス・シーケンシングはアドレス０から開始され、ＳＵＭＩとＳＵＭＱのすべての相関器サンプルに対して１つのアドレスを増分する。コヒーレントなメモリ配列の４０９６のワードは次のＲ１サンプルが使用可能になる前に更新される。
【００７０】
コヒーレントな累積器は、各衛星に対する選択可能なＰＤＩレジスタ設定に対応する整数ミリ秒全体を合計する。積分は、固定点が入力量ＳＵＭＩおよびＳＵＭＱを２−ｎで倍率変更する整数固定点である。コヒーレントな積分期間は、１ミリ秒の増分で１から２０ミリ秒（１つのＧＰＳナビゲーション・メッセージ・ビット時間）で変更可能である。例えば１ミリ秒のコヒーレントな積分の場合、最後の和が図４の非コヒーレントな積分ブロック３３６に伝達される前に、１６の連続したＲ１レジスタ（信号セグメント１−１６に対応する）が処理され、コヒーレントな積分メモリに合計される。１ミリ秒終了時にコヒーレントなＲＡＭセグメントが消去される。１ミリ秒終了時に、コヒーレントなＲＡＭセグメントが除去される。システムがナビゲーション・ビットの特定シーケンスの知識を有している場合、コヒーレントな積分期間は１ビット期間（２０ミリ秒）を超えた延長もまた可能である。２０ミリ秒のコヒーレントな積分のためには２ミリ秒までの正確なローカル時間の知識が要求される。
【００７１】
メモリに対する第１の更新（すなわち、コヒーレントな和の第１の反復）時には、加算器１０８のポートに０を強制的に入れて、加算器１０８のポートをドライブするＡＮＤゲート１０６が消去される。相関器からの第１の相関結果はメモリに直接的にロードされる。４０９６の積分器を形成するためにＡＮＤゲートを有する加算器に以前の累積を渡すことにより後続メモリの和が形成される。ＰＤＩ間隔の最後の和から１つのＲ１セグメントだけ後にＡＮＤゲート１０６出力は０にセットされる。読み取り関数は所望の和をメモリからフェッチして正常に動作する。その和は後述する非コヒーレントな積分器ブロックに渡され、これにより捉えられる。最後に、次のコヒーレントな積分期間に対して工程を新たに開始して次のコヒーレントな間隔の第１の和がメモリ・アドレスに書き込まれる。
【００７２】
いくつかの演算方式では、例えばＰＤＩが２０ミリ秒またはそれ以上にセットされ、かつ／または事前シフト倍率が低くセットされ（例えば、２０または２−１に）、信号が予想以上に強かった場合、コヒーレントな積分器は１０またはそれ以上のビット幅のダイナミックレンジだけオーバーフローする場合がある。複数のスペクトラム拡散信号のそれぞれに関して倍率を調整することにより累積オーバーフローを防止してよい。一実施形態では、スペクトラム拡散信号のそれぞれを相関した少なくともいくつかの結果が、例えばＰＤＩを低め、かつ／または事前シフト・パラメータを高めることによって異なる倍率で倍率変更される。
【００７３】
図１１では、オーバーフロー検出器１１０はメモリ配列１０２への入力に結合されている入力と、加算器１０８およびオーバーフロー計数更新論理１１２に結合されている出力とを有する。オーバーフロー状況が発生した場合、積分器出力は最大値または最小値にセットされる。次いで計数器１１４は、非コヒーレント積分器が実行中である限り、６４の実現可能なビン（ここでいうビンとは、ピーク検出器ビン、すなわちドップラー・レジスタの数のことである）の１つによって定義されるオーバーフロー状況数を記録し、これを合計する。例えば、非コヒーレントな積分器が２００ミリ秒間実行されるようにプログラムされており、ＰＤＩが１０ミリ秒にセットされている場合、その特定のビン用のオーバーフロー計数器は、２００ミリ秒の非コヒーレントな積分「実行」期間中にそのビンの中のコヒーレントな積分器のオーバーフローの合計数を計数する。この実施例では、最高２０までのオーバーフローが検出される場合がある。次いで制御プロセッサは、ドエル中にオーバーフローが全くまたは少ししか発生しなかったことを検証するためにその出力をピーク検出器出力の一部として読み取り得る。
【００７４】
図１２では、非コヒーレントな積分器は最高４０９６までの信号量の和を、前述のコヒーレントな積分ブロックと同様にセグメント化されたメモリ配列１２２に累積する。各累積の和は、１つのドップラー周波数に１つのコード位相遅延（半チップで）として、１つの信号または衛星に対する相関結果を保持する。コヒーレントな積分器の場合のように、各メモリ・ブロックは、固定点倍率がブロック全体に関連付けられている固定点の倍率変更を使用する。コヒーレントな積分器は、１０またはそれ以上のビット幅のコヒーレントなＩ／Ｑ入力を、上記のアルゴリズムを使用してＩ／Ｑ信号量の近似値を計算するＪＰＬ量検出器１２４に提供する。この入力は特定セグメントのコヒーレントな積分間隔の終了と同期している。
【００７５】
非コヒーレントな積分器は、量検出器１２４からの１０またはそれ以上のビット幅のポートと、非コヒーレントな累積メモリ配列１２２（１０またはそれ以上のビット幅）の内容を等価の量にシフトするＵＰシフター１２８からの１８ビット入力ポートとを有する加算器セル１２６も含む。非コヒーレントなメモリの倍率変更された出力が新しい量（最新のコヒーレントの和）に加算され、これはダウン・シフター１３２によって１０またはそれ以上のビットのメモリ配列のダイナミックレンジにシフトされる。
【００７６】
優先符合器論理ブロック１３４は、ダウン・シフターの出力量を記録し、後続の累積にオーバーフロー状況が発生することを防止することが必要な場合に倍率をシフトするようラッチしたＰＥ信号を倍率変更論理ブロック１３６に入力する。特に、メモリ素子がアクティブなＭＳＢビットを有する場合、倍率変更論理１３６は、次にそのセグメントがアクセスされた際に適切な比率を適用してオーバーフローを防止するように比率を１つだけ増分する。倍率変更論理は、ＰＥ状態フラグがラッチされてから次のセグメントが処理されるまでに非コヒーレントな大域的倍率ＲＡＭ１３８の内容を更新する。非コヒーレントな大域的倍率ＲＡＭは「現在の」比率と「次の」比率の両方の量を含んでいる。これらはどちらも非コヒーレントな積分の開始時には０に初期設定されている。各スケール量は、対応するアップ・シフターおよびダウン・シフターに対するビット・シフト数を表す。アップ・シフター１２８は「現在の」倍率を取り、ダウン・シフター１３２は「次の」シフト量を取る。０はシフトしないことを示しており、１は１ビットシフトすることを示している（以下同断）。「次の」比率は、ラッチされたＰＥ値の内容を前の「次の」倍率に加算することによって更新される。これは、１つの「現在の」倍率記憶に、次のアップ・シフトを次のダウン・シフトより１つ少なくすべきであるか否かを示す単一ビットを加えたものを使用することによっても達成し得ることに留意されたい。これは、現在および次の指数値を記憶するのとは対照的であり、倍率変更回路にメモリ・エリアを保存している。どちらの場合でも、相関器ブロック全体は１つの指数値またはブロック値によって倍率変更される。一実施形態では、最大累積量の後続の累積が累積オーバーフローを生じると判定された場合、所定の位相遅延の１つ以上に対する後続の累積量はすべて共通の倍率で倍率変更される。
【００７７】
図４では、ピーク検出器および出力レジスタ３３８は、制御プロセッサが検出状況を判定するのを助け、また信号検出のために積分器出力をスキャンするために要求される処理量を低減するために、非コヒーレントなメモリに結合される。ピーク検出器およびレジスタは、信号追跡経路（コードおよび搬送波）も提供する。さらに、検出器およびレジスタは、プロセッサが非コヒーレントな積分ＲＡＭの４０９６ワードすべてを読み取ること、およびメモリのデータの各セグメントの信号検出状況をテストすることから解放する。ピーク検出器および出力レジスタはＲＡＭの更新につき１回、非コヒーレントな積分ＲＡＭをスキャンする。
【００７８】
図１３では、ピーク検出器は、セグメント（Ｐ）の最大量の信号のアドレスを記憶するためのレジスタ１４２と、セグメント（ＮＰ）の次に最大量の信号のアドレスを記憶するためのレジスタ１４４と、セグメント（ＮＮＰ）の次の次に最大量の信号のアドレスを記憶するためのレジスタ１４６と、セグメント（ＳＵＭ＿ＭＡＧ）の信号量の総和を記憶するためのレジスタ１４８と、最大信号量（Ｐ＿ＤＡＴ）を記憶するためのレジスタ１５０と、次の最大信号量（ＮＰ＿ＤＡＴ）を記憶するためのレジスタ１５２と、次の次の最大信号量（ＮＮＰ＿ＤＡＴ）を記憶するためのレジスタ１５４と含んでいる。６４ワード×８６ビットの出力レジスタＲＡＭ１５６はこれらのパラメータを記憶する。各ＲＡＭワードは１セグメントのデータ（１つのドップラー、１つの衛星、および１つのコード位相遅延）と一致しており、メモリに関連付けられたビット位置は様々な素子と一致する。出力レジスタＲＡＭは、制御マイクロプロセッサによって読み取られた場合、最下位データ・バス・ビットに各パラメータの最下位ビットが現れるように、１６ビットのワード（Ｐ、ＮＰ、ＮＮＰ）、３２ビットのワード（ＳＵＭ＿ＭＡＧ）、および１６ビットのワード（Ｐ＿ＤＡＴ、ＮＰ＿ＤＡＴ、ＮＮＰ＿ＤＡＴ）にマッピングされる。コヒーレントなオーバーフロー計数、非コヒーレントな倍率のような他の値は、ピーク検出器データが出力レジスタＲＡＭに転送されるのと同時に出力レジスタで更新可能である。
【００７９】
セグメント内のすべての信号量の和を、ピーク信号対平均雑音の近似値を計算するために使用してよい。ピーク検出器および出力レジスタの関数は、非コヒーレントな積分器の更新工程中（すなわち、コヒーレントな積分器間隔の終了に対応する時間の１／１６ミリ秒セグメント）に実行するか、または次の非コヒーレントな積分器更新前の期間中なら何時でも実行してよい。一実施形態では、最大量の位相遅延に対応する近似位相遅延判定は、第１と第２の最大相関量の位相遅延差の量が１単位の位相遅延と等しいか否かを判定することによって確認される。
【００８０】
コヒーレントなＲＡＭ捕捉関数、すなわち図１に示す出力レジスタ・ブロック９１の一部は、１つ以上の検出された衛星に対する実際のコード位相遅延に対応する１つ以上のコヒーレントなメモリ空間からコヒーレントな和を（制御プロセッサによって後で読み取られるように）捉え、バッファするために使用可能である。次いでコヒーレントなＲＡＭ捕捉バッファは、バイフェーズデータ変調を復調する従来の方法を使用して衛星伝送５０  ＢＰＳデータ・シーケンスを直接的に復調するために制御プロセッサによって読み取られ得る。レシーバが、リアルタイム衛星伝送エフェメリス、クロック補正、アルマナック、ＵＴＣオフセット、および電離層遅延データ、ならびにＨＯＷというワードに符号化された正確な時刻を収集し得るのは、この経路である。
【００８１】
１つのドップラー周波数での単一スペクトラム拡散信号の位相遅延すべてのサーチを検討する。ＰＮコード生成器はその通常の速度１．０２３ＭＨｚの少なくとも３２倍の速度でクロックされ、少なくとも３２＊１．０２３ＭＨｚのＲ３レジスタのクロック速度を提供するためにＲ３レジスタは少なくともその２倍の速度でクロックされる。この速度で、ＰＮコード生成器は、それ自体が１ミリ秒の１／１６でＲ１の次の信号セグメントを収集するために要する時間の半分の時間で周期を丸１回転させ、Ｒ３レジスタの複製コードセグメントはすべての実現可能な２０４６状態（遅延）をとる。
【００８２】
図１０ａの処理フローでは、Ｒ１レジスタとＲ２レジスタが上述のように信号とＮＣＯセグメントを記憶している間、ＰＮ生成器は１０２３回クロックされ、Ｒ３レジスタは２０４６回クロックされる。この結果、すべての実現可能な０．５チップのサンプルが、乗算器ブロック３２６で形成されたＲ１×Ｒ２の複素数の積と比較される。Ｒ３レジスタの２０４６の状態のそれぞれは対応するＳＵＭＩとＳＵＭＱの相関器出力を生成する。図４では、これらの出力は加算器を介してＮミリ秒のコヒーレントな累積ＲＡＭ３３４に分配される。ＳＵＭＩとＳＵＭＱ相関器出力の２０４６の出力のそれぞれは、Ｎミリ秒のコヒーレントな累積ワードの２０４６の実現可能な同相ワードおよび１／４メモリ・ワードのそれぞれに加算される。コヒーレントな累積ＲＡＭの各ワードは２０４６の実現可能な０．５チップのＰＮ位相遅延のそれぞれ１つを表す。１６セグメントのそれぞれ１つに対して、Ｒ１レジスタとＲ２レジスタはそれらの対応するデータを記憶し、保持する。Ｒ３レジスタは２０４６のコード位相状態すべてを呈し、これらの状態のそれぞれの間での相関器出力がコヒーレントな累積ＲＡＭの連続したアドレスに加算される。次のセグメントがＲ１レジスタとＲ２レジスタに収集されるとこの工程が繰り返される。１６セグメントすべての処理後、コヒーレントな累積ＲＡＭは１ミリ秒の処理に対するすべての実現可能な０．５チップＰＮ位相遅延の相関の和を含んでいる。コヒーレントな累積の和は、プログラム可能ないくつかの整数ミリ秒間は継続可能である。
【００８３】
相関器は、複数の衛星に対する相関結果も生成する場合がある。図４では、マルチプレクサ３２８および３３０は、ドップラー信号の複数の発信源およびＰＮコード信号の複数の発信源とをそれぞれ選択する。このマルチプレクサのタイミングを適切にとることにより、相関器は、短縮したコード位相テスト範囲に対する複数の相関出力を計算し得る。この設計は、時分割多重化によって、すべての実現可能な衛星信号全体の処理を達成するために１つの時分割ＰＮコード生成器と１つのドップラーＮＣＯ生成器しか必要としない。
【００８４】
図３の表の３番目のエントリは、例えば、それぞれコード位相不確定性空間の４つの異なるドップラー周波数と５１２の半チップでサーチされる２つの衛星を表している。信号のコード位相は、遅延の５１２の半チップ内に置くに足る精度を以って認識されているものと仮定する。自動ＧＰＳの多くの状況下で、かつ支援された演算方式で可能である。制御プロセッサは、レジスタを制御するために書き込むことにより特定方式用にレシーバを構成する。コヒーレントな、また非コヒーレントな累積ＲＡＭは、それぞれを５１２ワード長として８つのセグメントに分割される。８つのセグメントのそれぞれを、マルチプレクサ３３０のタイミングをとることにより、またＲ３レジスタ３２４をドライブするＰＮコード生成器３２０に事前相関シフトをプログラミングすることにより、所望のコード位相の５１２半チップにマッピングし得る。これは８つの特定コード位相サーチ範囲を４０９６ワードの使用可能な累積ＲＡＭにマッピングするが、ここでＮを観測対象の衛星数とすると、使用可能なコード位相サーチ範囲は４０９６／Ｎである。Ｎ＝１またはＮ＝２の場合、最大コード位相サーチ空間はＰＮコード・シーケンス長によりドップラーあたり２０４６の半チップである。
【００８５】
この実施例は０．５チップのサンプル間隔を示している。Ｒ１レジスタ、Ｒ２レジスタ、およびＲ３レジスタをドライブする回路のクロック速度をそれぞれ２倍または４倍することによって、このサンプル間隔を０．２５チップ間隔または０．１２５チップ間隔に縮小してよい。これにより、この倍率を約数としてコード位相サーチの範囲が縮小されるということに留意されたい。例えば、１０２３チップが０．５チップ間隔でテストされる場合、Ｒ１、Ｒ２、およびＲ３レジスタ・ドライブ回路のサンプル速度を２倍にすることにより、システムは０．２５チップ間隔でコード位相遅延の約５１１チップをテストし、より正確なコード位相測定値を生成することができる。何故ならば、システムはより緊密な間隔の相関サンプルを作成するからである。ＩＳＩＰ出力サンプルに対して０．５×クロック速度とし、したがってサーチャー数を４０９６より多く増やすことにより、サーチャー数を増やすためにサンプル間隔を単一チップ間隔まで増加させてもよい。例えば、次の表はレシーバ・データ入力速度の４つの実現可能な状態を規定している。
【００８６】
【数１０】
2005500731.tif 000012
ＲＡＭセルの合計数は４０９２のままだが、測定ＲＡＭの割り当ては段階的に１、１／２、１／４、または１／８のチップ間隔となる。一実施形態では、４基もの衛星を完全なコード位相テスト範囲に対して同時に（１チップ間隔で）テストし得る。別の実施形態では、テスト対象の位相遅延合計数が４０９２の１／８チップの合計を超えない限り、１２基もの衛星を低減された位相遅延でテストし得る。
【００８７】
１／２チップまたは１チップ間隔を達成する別の方法は、反復あたり２つの半チップごとに各後続クロック周期のＲ３レジスタに記憶されているＰＮコードの位相を増分することである。これにより、ＰＮコード長全体を通して１０２３の実現可能な位相遅延だけが作成され、したがって４０９２の相関器によってテストされるべき最高４つまでの完全な位相遅延が考慮されることになる。この方法の場合、Ｒ３レジスタがクロックあたり１／２チップ進んでいるか１チップ進んでいるかに関わらず、Ｒ１レジスタは１／２チップ間隔でサンプルを記憶する。
【００８８】
図１０ｂは、これがどのように達成されるかを示している。前述のように、積レジスタＰを生成するためにＲ１レジスタとＲ２レジスタからの入力サンプルが乗じられる。次いで積レジスタＰが一定に保たれる一方、複製ＰＮ生成器のコード位相遅延の所定の範囲（Ｒ３レジスタに記憶されている）は最後の乗算器に適用され、次いで乗算器出力の１２８の状態すべてが加算器ブロック３３３で合計される。
【００８９】
Ｒ３レジスタは、特定コード位相遅延に対する複製ＰＮコードの１２８の状態を含んでいる。コード位相遅延ごとに、コヒーレントなＲＡＭメモリ３３４は、テスト対象の実現可能なコード位相遅延のそれぞれに１つずつ、多量の別個の累積器として使用される。１チップ・モードでは、Ｒ３レジスタの内容はクロック周期あたり２つの半チップの遅延だけ進められ、コヒーレントなＲＡＭ３３４は、コヒーレントなＲＡＭの各メモリ位置がコード位相遅延の連続した１チップ遅延トライアルを表すように１アドレスだけ進められる。例えば、遅延０に対するＲ３レジスタの相関結果は遅延０の累積器アドレスに書き込まれ、遅延１に対するＲ３レジスタの相関結果（１チップの差）は遅延１の累積器アドレスに書き込まれる（以下同断）。対応するコヒーレントなＲＡＭメモリ位置だけを埋めて、すべての実現可能なコード位相遅延を表す衛星あたり最高１０２３までの完全なチップがテストされるか、または所定数のコード位相遅延がテストされる。
【００９０】
Ｒ３レジスタの１０２３の実現可能な状態のそれぞれが、連続するメモリ位置にあるコヒーレントな累積ＲＡＭ３３４に合計される独自のＳＵＭＩおよびＳＵＭＱ出力を形成する。レシーバは、Ｎミリ秒にわたるコヒーレントな累積となるようにプログラム可能である。特定の衛星をサーチ中の場合、サーチ対象の衛星ごとにＮ値を記憶し、そのＮ値をコヒーレントな累積器に適用することによって、各衛星は異なるＮの値にわたってプログラム可能である。この代替モードは、信号サンプルが１／２チップ間隔でＲ１レジスタにロードされることを要求するが、間隔が１／２チップのＲ３レジスタはシステム・クロック周期あたり１チップ（２つの１／２チップ）で進められる。
【００９１】
一実施形態では、各相関トライアルを小さいコード位相オフセット（すなわち、１／２チップ間隔より少ない）をセグメントＰＮコード生成器に間に合うようにシフトさせて、複数の相関トライアルを同じ衛星に割り当てることにより１／２チップのＲ１とＲ２間隔を使用して半チップより少ない間隔が生成される。図１４では、例えば第１のコード複製信号セグメントが０、０．５、１．０、１．５チップ間隔で出力を生成する。第２のコード複製信号セグメントは、０．１２５、０．６２５、１．１２５、１．６２５チップ間隔で出力を生成して、第１の信号セグメントから１×１／８チップだけオフセットしている。第３のコード複製信号セグメントは、０．２５０、０．７５０、１．２５０、１．７５０チップ間隔で出力を生成して、２／８チップだけオフセットしている。第４のコード複製信号セグメントは、０．３７５、０．８７５、１．３７５、１．８７５チップ間隔で出力を生成して、３／８チップだけオフセットしている（以下同断）。このようにして、１／８チップ間隔の出力が生成され得る。一般に、複製信号の第１の時間シフトと第２の時間シフトの間の差はサンプル速度の時間間隔の分数倍である。
【００９２】
Ｄｅｌｔａ＿Ｃｐパラメータを７７０搬送波周期より少ない少量にセットすることにより、１／２チップ遅延より少ないオフセットが達成される。例えば、１／８チップのオフセットを実施するために、Ｄｅｌｔａ＿Ｃｐパラメータは１／８＊１５４０または１９２．５搬送波周期にセットされる。これは、各テスト・ビンを１９２．５搬送波周期の量を連続的に増やしてオフセットし、影響を受けた衛星に対するコード位相コンピュータ・ブロックの対応するＦｒａｃｔｉｏｎａｌ＿Ｃｏｄｅ＿Ｐｈａｓｅ［ｉ］項をオフセットする。この結果、さらにオフセットされたビンが７７０搬送波周期の限度だけ早く移行し、したがって他の少ないオフセットよりも早く（離散的１／２チップの刻み幅の）コード位相補正を適用する。すなわち、コード位相補正の工程は依然として１／２チップの物理的な工程だが、１つのビンが補正を適用する時間は、影響を受けたビンのそれぞれに１／２チップよりもかなり少ないコード位相遅延を表す平均オフセットをもたらすＤｅｌｔａ＿Ｃｐパラメータに比例した後続ビンとは異なる。
【００９３】
図４では、次いでＮミリ秒後のコヒーレントな和は量検出器を介して渡され、Ｍミリ秒の非コヒーレントな累積ＲＡＭ３２６に加算され得る。数Ｍもプログラム可能である。Ｍ間隔が大きいほど、信号処理利得は高い。コヒーレントな積分のＮミリ秒間隔は周波数サーチの帯域幅を１／（０．００１＊Ｎ）Ｈｚにセットする。
【００９４】
Ｎミリ秒のコヒーレントな／Ｍミリ秒の非コヒーレントな積分演算方式では、サーチャー数、コード位相、および各サーチャーに対するドップラーはレシーバでプログラム可能である。データ・ビットのエッジの到着時刻（ＴＯＡ）が知られている場合、レシーバはＮミリ秒の予測されたビットのコヒーレントな積分／Ｍミリ秒の非コヒーレントな積分方式で演算し得る。ここで、Ｎは、通常、最高２００ミリ秒まで２０ミリ秒（ＧＰＳビット時間）より長いか、もしくは２０ミリ秒に等しい。例えば、本願の譲受人に譲渡され、参照により本明細書に援用する同時係属の特許（例えば、特許文献５参照。）に記載されているように、時間オフセット・サーチ・モードでは、信号検出の際、レシーバは到着する特定の５０  ＢＰＳデータ・パターン・シーケンスをサーチする。
【００９５】
トラッキング・モードで、レシーバは５０  ＢＰＳ衛星伝送データを視界内のすべての衛星から直接的に連続して追跡し、復調する。クイック・サーチ・モードでは、レシーバは、シーケンス全体が完了するまでプロセッサに干渉させずにすべての視界内の衛星に対して急速スキャンを実行するが、そのスキャン終了時には１回の割り込みが生成される。レシーバはまた、電力が再度印加された場合、中断したところから検出工程を再開してもよい。
【００９６】
レシーバは、データ・メッセージ・ビット、例えばＧＰＳ  ５０  ＢＰＳナビゲーション・データ・メッセージのエッジが信号対雑音性能を改善するように置かれる、ビット同期および復調方式でも演算する。この方式では、伝送されたデータ・ビット・エッジの到着時刻の知識はないが、対象衛星に対するコード位相遅延は既に特定済みである。
【００９７】
図１５では、この例示的実施形態では、１つ以上の衛星に対するビット同期時間遅延を特定するには４０９６の相関器ビンのうち６４０（約１５パーセント）が必要となる。垂直ビンの間で異なるパラメータは積分およびダンプ工程に関連する時間であり、すべての積分およびダンプ工程はデータ・ビット時間と一致する２０ミリ秒の事前検出積分（ＰＤＩ）値にセットされる。２０の積分器のそれぞれに対するダンプ・コマンドの遅延は、データ・ビット変更のすべての実現可能な遅延をカバーするために垂直ビンあたり１ミリ秒変化する。図２に示した「ドップラー」および「ＣＰ＿ＯＦＦＳＥＴ」パラメータは垂直には変化しない。ＰＤＩパラメータは２０ミリ秒なので、垂直ビンの１つだけが伝送された５０  ＢＰＳデータ・エッジと完全に整合される。２０のビンすべてに対する積分の開始はＰＮコード位相０に最も近いＲ１セグメントに同期される。多くのデータ移行が１度観測されると、この特定のビンは、調整が狂ったビンと比較して最高の値に非コヒーレントに積分する。同様に、（データ移行がある場合）コヒーレントな和で最大限にキャンセルするために垂直ビンの１つだけが調整される。ビット調整の別の方法は、多くのデータ移行が合計された後で最小値に積分するビンを置くことによるものである。最大値対最小値非コヒーレント積分器の和がデータ・ビット時間の約１／２、すなわちこの実施形態では１０ミリ秒の場合、ビット同期が確認される。一部の応用例では、例えば雑音の大きい内容では、パス閾値は９、１０、または１１ミリ秒またはデータ・ビット時間の約半分の他の範囲で設定してよい。この方法を使用すると、レシーバは、従来のビット同期方法で実現可能であるより、少なくとも１０ｄＢよい２０ｄＢ−Ｈｚに近い信号レベルに至るまでビット同期を発見し得る。
【００９８】
ビット同期を確認するために別の方法を使用してもよい。例えば、最大の和と１ミリ秒早く積分を開始した和の間の差が計算可能である。最大の和と１ミリ秒後に積分を開始した和の間の第２の差が計算可能である。一実施形態では、これら２つの差がそれぞれのある許容差以内、例えば予測した相関差分の１０％であれば、ビット同期が確認される。この別法は、ノイズを受ける可能性のある最小の和には依存しない。他の方法は、最大の和に近い他の和を使用可能である。
【００９９】
図１６では、第１のスペクトラム拡散信号と第１の複製信号の間の特定されたコード位相遅延での複数のコヒーレントな相関が、データ・ビット時間に対応する時間間隔の間実行される（この実施例では２０ミリ秒）。複数のコヒーレントな相関、図１６では０〜１９は、擬似無作為なコード・ビットの整数（２０）の反復回数に対応する。コヒーレントな相関のそれぞれは、前回の相関に対して擬似無作為なコード・ビットの反復回数（図１６では１ミリ秒）だけオフセットする。複数のコヒーレントな相関のそれぞれの量が特定され、複数のコヒーレントな相関のそれぞれに対する量の複数の非コヒーレントな和が少なくとも２つのデータ・ビット時間（２０ミリ秒）にわたって生成される。量の複数の非コヒーレントな和は、擬似無作為なコード・ビットの整数の反復回数に対応する。連続する部分的なコヒーレントな相関の結果は、整数の反復回数に対応する数の対応する複数のメモリ位置に記憶され、合計された連続する部分的な相関結果は複数のメモリ位置に記憶される。
【０１００】
図１６では、非コヒーレントな信号量が時間オフセットに対して垂直にプロットされている。ピーク電力はビン６にあり、最小電力は、その差が約１０ミリ秒である（データ・ビット時間の１／２）対応する時間オフセットでビン１６にあり、これはビット同期検出が発生したことを確認する。最大量の非コヒーレントな和のオフセット時間はデータ・ビット・メッセージのビット同期オフセット時間に対応する。ローカル時間補正は、データ・ビット・エッジの到着時刻とリアルタイム・クロックのローカル時間とに基づいて決定してよい。
【０１０１】
前述の方法（または、中でも本願に記載の従来技術による相関器を含めて、ある種の他の相関器アーキテクチャに基づくいかなる他の方法でも）を使用して１つの衛星に対してビット同期時間が１度特定されると、データ・ビット時間全体にわたって積分するためにコヒーレントな積分器で、２０ミリ秒の積分およびダンプ工程、すなわちコヒーレントな積分の開始を時間同期するために、１つの衛星に対するデータ・ビット・エッジの到着時刻の知識を使用し得、これにより積分工程中のデータ移行が回避され、信号対雑音比が最大限となる。
【０１０２】
一般に、１つの信号に対する周知のビット同期オフセット時間、レシーバと信号発信源の近似位置、および複数の信号のそれぞれに対する信号発信源クロック補正パラメータに基づいた、複数の信号とのレシーバのデータ・ビット同期を、レシーバと複数の信号のそれぞれの発信源との間の伝播時間を特定し、対応する伝播時間と対応する信号発信源クロック補正パラメータとに基づいたレシーバの近似位置から複数の信号のそれぞれの発信源へのクロック・エラー補正済み伝播時間を特定し、ビット同期オフセット時間が知られていない複数の信号のそれぞれに対する調整済みビット同期オフセット時間を、各信号に対して対応するクロック・エラー補正済み伝播時間と、周知のビット同期オフセット時間でのビット同期オフセット時間が知られている信号のクロック・エラー補正済み伝播時間とに基づいて特定することによって実行してよい。
【０１０３】
一実施形態では、信号は衛星ベースのスペクトラム拡散信号であり、信号発信源位置はエフェメリスまたはアルマナック・データからのその信号発信源の偏差と衛星時刻とによって特定される。
【０１０４】
対象信号のそれぞれに対するクロック・エラー補正済み伝播時間、ＰＴＣ［Ｉ］は、ＰＴＣ［Ｉ］＝ＰＴ［Ｉ］＋Ｃ［Ｉ］を計算することによって特定してよい。ここで、ＰＴ（Ｉ）は対応する伝播時間であり、Ｃ（Ｉ）は信号発信源クロック補正パラメータに基づいた対応する信号発信源のクロック補正である。伝播時間ＰＴ［Ｉ］は、レシーバと信号発信源との間の範囲Ｒ［Ｉ］を光の速さで割ることによって信号発信源のそれぞれへのレシーバの近似位置から特定される。
【０１０５】
ビット同期オフセット時間が知られていない複数の信号発信源のそれぞれに対する調整済みビット同期オフセット時間ＢＳＯＴ［Ｉ］は、ＢＳＯＴ［Ｉ］＝ＢＳＯＴ［Ｋ］＋（ＰＴＣ［Ｉ］−ＰＴＣ［Ｋ］）を計算することによって特定される。ここで、ＢＳＯＴ［Ｋ］は周知のビット同期オフセット時間であり、ＰＴＣ［Ｋ］はビット同期オフセット時間が知られている信号に対するクロック・エラー補正済み伝播時間である。一実施形態では、複数の信号のそれぞれは、２０ミリ秒間コヒーレントに積分され、各コヒーレントな積分の開始時刻は対応するビット同期オフセット時間ＢＳＯＴ［Ｉ］に対してオフセットされる。
【０１０６】
この実施形態の衛星ベースのスペクトラム拡散信号実施例では、ＢＳＯＴ［Ｉ］が常時０から２０ミリ秒の範囲内に入るようにアンダーフローまたはオーバーフローが補正される。これは、例えば（ＢＳＯＴ［Ｉ］＞２０）の場合はＢＳＯＴ［Ｉ］＝ＢＳＯＴ［Ｉ］―２０、（ＢＳＯＴ［Ｉ］＜０）の場合はＢＳＯＴ［Ｉ］＝ＢＳＯＴ［Ｉ］＋２０というような単純なアルゴリズムを使用するソフトウェアによって達成可能である。
【０１０７】
この実施形態では、これらの工程は、１つの衛星からのビット同期オフセット時間に基づいてすべての衛星に対して２０ミリ秒のコヒーレントな積分間隔の開始を時間的に整合し、したがってすべての衛星に対する信号処理利得が最大限になる。
【産業上の利用可能性】
【０１０８】
この実施形態および応用例は衛星から送信されたスペクトラム拡散の状況で説明したが、当業者には、本発明の多くの方法およびアーキテクチャは、地上ベースの通信システムからなど、他の発信源を有するスペクトラム拡散信号をサーチし、同期することに適用可能なことを理解されよう。
【０１０９】
以上、本発明および現在本発明の最良の態様であると考えられている態様を、本発明者が所有権を確立し、当業者が本発明を製造し使用することを可能にする方法で説明したが、本明細書で開示した実施形態には多くの等価形態が存在し、実施形態によっては限定されず首記の特許請求の範囲によって限定される本発明の範囲および趣旨を逸脱せずに本発明に多数の修正形態および変形形態を実施してよいことが理解され、認識されよう。
【図面の簡単な説明】
【０１１０】
【図１】スペクトラム拡散レシーバの１例のブロック図。
【図２】ＧＰＳ信号サーチ空間のコード位相とドップラーの広がりおよびその領域の説明図。
【図３】複数のサーチ・モードの１例の説明図。
【図４】レシーバ例の機能ブロック図。
【図５】Ｉ／Ｑ信号セグメント・レジスタのブロック図。
【図６Ａ】ドップラー生成器の１例のブロック図。
【図６Ｂ】コード位相コンピュータによって維持されるコード位相形式の１例の図。
【図７】ＰＮコード生成器の１例のブロック図。
【図８】図７のＰＮコード生成器の詳細な部分図。
【図９Ａ】相関器の数学関数表現例の図。
【図９Ｂ−（１）】真理表論理例の図。
【図９Ｂ−（２）】真理表論理例の図。
【図９Ｃ】相関器回路例の図。
【図１０Ａ】半チップ遅延相関を増分する概略的な処理フロー例の図。
【図１０Ｂ】１チップ遅延相関を増分する別の概略的な処理フロー例の図。
【図１１】コヒーレント積分モジュール例のブロック図。
【図１２】非コヒーレント積分モジュール例のブロック図。
【図１３】ピーク検出器および出力レジスタ例のブロック図。
【図１４】オフセット・コード位相の説明図。
【図１５】コヒーレント積分の図。
【図１６】非コヒーレント信号量と積分オフセット時間を対比した図。
【図１】
2005500731.tif 000013
【図２】
2005500731.tif 000014
【図３】
2005500731.tif 000015
【図４】
2005500731.tif 000016
【図５】
2005500731.tif 000017
【図６Ａ】
2005500731.tif 000018
【図６Ｂ】
2005500731.tif 000019
【図７】
2005500731.tif 000020
【図８】
2005500731.tif 000021
【図９Ａ】
2005500731.tif 000022
【図９Ｂ−（１）】
2005500731.tif 000023
【図９Ｂ−（２）】
2005500731.tif 000024
【図９Ｃ】
2005500731.tif 000025
【図１０Ａ】
2005500731.tif 000026
【図１０Ｂ】
2005500731.tif 000027
【図１１】
2005500731.tif 000028
【図１２】
2005500731.tif 000029
【図１３】
2005500731.tif 000030
【図１４】
2005500731.tif 000031
【図１５】
2005500731.tif 000032
【図１６】
2005500731.tif 000033
【国際公開パンフレット】
2005500731.tif 000034
2005500731.tif 000035
2005500731.tif 000036
2005500731.tif 000037
2005500731.tif 000038
2005500731.tif 000039
2005500731.tif 000040
2005500731.tif 000041
2005500731.tif 000042
2005500731.tif 000043
2005500731.tif 000044
2005500731.tif 000045
2005500731.tif 000046
2005500731.tif 000047
2005500731.tif 000048
2005500731.tif 000049
2005500731.tif 000050
2005500731.tif 000051
2005500731.tif 000052
2005500731.tif 000053
2005500731.tif 000054
2005500731.tif 000055
2005500731.tif 000056
2005500731.tif 000057
2005500731.tif 000058
2005500731.tif 000059
2005500731.tif 000060
2005500731.tif 000061
2005500731.tif 000062
2005500731.tif 000063
2005500731.tif 000064
2005500731.tif 000065
2005500731.tif 000066
2005500731.tif 000067
2005500731.tif 000068
2005500731.tif 000069
2005500731.tif 000070
2005500731.tif 000071
2005500731.tif 000072
2005500731.tif 000073
2005500731.tif 000074
2005500731.tif 000075
2005500731.tif 000076
2005500731.tif 000077
2005500731.tif 000078
2005500731.tif 000079
2005500731.tif 000080
2005500731.tif 000081
2005500731.tif 000082
2005500731.tif 000083
2005500731.tif 000084
2005500731.tif 000085
2005500731.tif 000086
2005500731.tif 000087
2005500731.tif 000088
2005500731.tif 000089
2005500731.tif 000090
2005500731.tif 000091
2005500731.tif 000092
2005500731.tif 000093
2005500731.tif 000094
2005500731.tif 000095
2005500731.tif 000096
2005500731.tif 000097
2005500731.tif 000098
2005500731.tif 000099
2005500731.tif 000100
2005500731.tif 000101
2005500731.tif 000102
2005500731.tif 000103
2005500731.tif 000104
2005500731.tif 000105
【国際公開パンフレット（コレクトバージョン）】
2005500731.tif 000106
2005500731.tif 000107
【国際調査報告】
2005500731.tif 000108
2005500731.tif 000109