(57)【特許請求の範囲】
【請求項１】
衛星ナビゲーション・デバイスであって、
衛星ナビゲーション・システムにおけるスペクトル拡散符号信号の集合を発生する可調節符号発生器を含む受信機を備えており、各スペクトル拡散符号信号は、前記衛星ナビゲーション・システムの衛星の各々に対応し、かつ繰り返し周期に対応するそれぞれの長さを有し、前記スペクトル拡散符号信号の集合は、個別の第１及び第２長を有する第１及び第２スペクトル拡散符号信号を含んでおり、
前記可調節符号発生器は、フィードバック・ループを含んでおり、前記フィードバック・ループは、プログラム可能なフィードバック・マスクとフィードバック・マスク表とを含み、前記フィードバック・マスク表は、フィードバック・マスクの集合を収容し、前記フィードバック・マスクはそれぞれのスペクトル拡散符号信号に対応しており、前記フィードバック・マスクはそれぞれ対応する多項式の二進表現であり、
前記可調節符号発生器は更に制御論理手段を含み、該制御論理手段は、初期状態ベクトル表に格納されている初期状態ベクトルの集合における初期状態ベクトルを前記プログラム可能なシフト・レジスタの中にプログラムすることによって、前記可調節符号発生器を用いて発生するそれぞれのスペクトル拡散信号が、何時それぞれの長さに達し、次の符号周期を開始するかを判定し、各初期状態ベクトルは、前記スペクトル拡散信号の集合の内少なくとも１つのスペクトル拡散信号に対応する、前記プログラム可能なシフト・レジスタにおけるビットの初期値に対応している
ことを特徴とする衛星ナビゲーション・デバイス。
【請求項２】
請求項１記載の衛星ナビゲーション・デバイスにおいて、前記可調節符号発生器はさらに、プログラム可能なシフト・レジスタを備え、該シフト・レジスタは、前記スペクトル拡散符号信号の集合に対応する最高度数のガロア多項式の度数以上のビット数を有していることを特徴とする衛星ナビゲーション・デバイス。
【請求項３】
請求項２記載の衛星ナビゲーション・デバイスにおいて、前記シフト・レジスタのビット数は、前記スペクトル拡散符号信号の集合におけるそれぞれのスペクトル拡散符号信号を記述するそれぞれの多項式の度数の最大和に対応していることを特徴とする衛星ナビゲーション・デバイス。
【請求項４】
請求項３記載の衛星ナビゲーション・デバイスにおいて、前記多項式の集合は、既約ガロア体多項式であることを特徴とする衛星ナビゲーション・デバイス。
【請求項５】
請求項１記載の衛星ナビゲーション・デバイスにおいて、前記フィードバック・ループは多数の入力ビットと、１つの出力ビットとを有することを特徴とする衛星ナビゲーション・デバイス。
【請求項６】
請求項５記載の衛星ナビゲーション・デバイスにおいて、前記１つの出力ビットは、前記多数の入力ビットの排他的論理和ツリーによって決定されることを特徴とする衛星ナビゲーション・デバイス。
【請求項７】
請求項１記載の衛星ナビゲーション・デバイスにおいて、前記フィードバック・ループは、多数の入力ビットと、多数の出力ビットとを有することを特徴とする衛星ナビゲーション・デバイス。
【請求項８】
請求項７記載の衛星ナビゲーション・デバイスにおいて、前記多数の出力ビットの各々は、前記プログラム可能なシフト・レジスタからの出力ビットとそれぞれの入力ビットとの排他的論理和によって決定されることを特徴とする衛星ナビゲーション・デバイス。
【請求項９】
請求項１記載の衛星ナビゲーション・デバイスにおいて、前記可調節符号発生器は更に初期状態表を含み、該初期状態表は初期状態ベクトルの集合を収容し、各初期状態ベクトルは、前記スペクトル拡散信号の集合の内少なくとも１つのスペクトル拡散信号に対応する、前記プログラム可能なシフト・レジスタにおけるビットの初期値に対応することを特徴とする衛星ナビゲーション・デバイス。
【請求項１０】
請求項１記載の衛星ナビゲーション・デバイスにおいて、前記可調節符号発生器は更に、短サイクル状態表を含み、該短サイクル状態表は、短サイクル状態ベクトルの集合を収容し、各短サイクル状態ベクトルは、前記それぞれの長さの所定の端数における、前記スペクトル拡散信号の集合の内少なくとも１つのスペクトル拡散信号に対応する、前記プログラム可能なシフト・レジスタにおけるビットの値に対応し、前記制御論理手段は、前記可調節符号発生器を用いて発生するそれぞれのスペクトル拡散信号が、いつ前記それぞれの長さの所定の端数に達したかを判定することを特徴とする衛星ナビゲーション・デバイス。
【請求項１１】
方法であって、
衛星ナビゲーション・システムにおける衛星からのスペクトル拡散符号信号を受信するステップと、
可調節符号発生器を、前記衛星ナビゲーション・システムにおけるそれぞれの衛星に対応するスペクトル拡散符号信号の集合から選択された１つのスペクトル拡散符号信号を発生するように設定するステップと、
前記可調節符号発生器から前記１つのスペクトル拡散符号信号を発生するステップであって、前記スペクトル拡散符号信号の集合における各スペクトル拡散符号信号は、繰り返し周期に対応する長さを有し、かつ、異なる第１及び第２長を有する第１及び第２スペクトル拡散符号信号を含んでいる、ステップと、
前記スペクトル拡散符号信号それぞれに対応する複数のフィードバック・マスクの集合であって、それぞれが対応する多項式の二進表現で表されるフィードバック・マスクの集合から１つのフィードバック・マスクを選択するように、前記可調節符号発生器を設定するステップと、
選択されたスペクトル拡散符号信号を生成して、プログラム可能なシフト・レジスタにおけるそれぞれのビットと選択されたフィードバック・マスクのそれぞれのビットとを組み合わせることにより、フィードバックを生成するステップと、
前記プログラム可能なシフト・レジスタにフィードバックを行うステップと、
制御論理手段を用いて、前記可調節符号発生器を用いて発生するそれぞれのスペクトル拡散信号が何時それぞれの長さに達するかを判定し、初期状態ベクトルの集合におけるそれぞれの初期状態ベクトルを用いて前記プログラム可能なシフト・レジスタの初期状態を設定するステップであって、各初期状態ベクトルは、前記スペクトル拡散信号の集合の内の少なくとも１つのスペクトル拡散信号に対応する、前記プログラム可能なシフト・レジスタにおけるビットの初期値に対応する、ステップと
を含むことを特徴とする方法。
【請求項１２】
請求項１１記載の方法において、前記プログラム可能なシフト・レジスタは、前記スペクトル拡散符号信号の集合に対応する最高度数のガロア体多項式の度数以上のビット数と、フィードバック・ループとを備えていることを特徴とする方法。
【請求項１３】
請求項１２記載の方法において、前記プログラム可能なシフト・レジスタにおけるビット数は、前記スペクトル拡散符号信号の集合におけるそれぞれのスペクトル拡散符号信号を記述するそれぞれの多項式の度数の最大和に対応することを特徴とする方法。
【請求項１４】
請求項１３記載の方法において、前記多項式の集合は、既約ガロア体多項式を備えていることを特徴とする方法。
【請求項１５】
請求項１１記載の方法において、前記フィードバック・ループは、多数の入力ビットと１つの出力ビットとを有することを特徴とする方法。
【請求項１６】
請求項１５記載の方法において、前記１つの出力ビットは、前記多数の入力ビットの排他的論理和ツリーによって決定されることを特徴とする方法。
【請求項１７】
請求項１１記載の方法において、前記フィードバック・ループは、多数の入力ビットと、多数の出力ビットとを有することを特徴とする方法。
【請求項１８】
請求項１７記載の方法において、該方法は更に、前記プログラム可能なシフト・レジスタからの出力ビットと、それぞれの入力ビットとの排他的論理和を用いて、前記多数の出力ビットの各々を決定するステップを備えていることを特徴とする方法。
【請求項１９】
請求項１１記載の方法において、該方法は更に、初期状態ベクトルの集合におけるそれぞれの初期状態ベクトルを用いて、前記プログラム可能なシフト・レジスタの初期状態をセットするステップを備えており、各初期状態ベクトルは、前記スペクトル拡散信号の集合の内少なくとも１つのスペクトル拡散信号に対応する、前記プログラム可能なシフト・レジスタにおけるビットの初期値に対応することを特徴とする方法。
【請求項２０】
請求項１１記載の方法において、該方法は更に、前記制御論理手段を用いて、前記可調節符号発生器を用いて発生するそれぞれのスペクトル拡散信号が、何時、前記それぞれの長さの所定の端数に達したかを判定し、短サイクル状態ベクトルの集合におけるそれぞれの短サイクル状態ベクトルを用いて、前記プログラム可能なシフト・レジスタの短サイクル状態を設定するステップを備えており、各短サイクル状態ベクトルは、前記それぞれの長さの所定の端数における、前記スペクトル拡散信号の集合の内少なくとも１つのスペクトル拡散信号に対応する、前記プログラム可能なシフト・レジスタにおけるビットの値に対応することを特徴とする方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般的には、汎地球ナビゲーション衛星システム（ＧＮＳＳ）に関し、更に特定すれば、衛星ナビゲーション受信機用適応符号発生器に関する。
【背景技術】
【０００２】
グローバル・ナビゲーション衛星システム（ＧＮＳＳ）における受信機は、グローバル・ポジショニング・システム（ＧＰＳ）のように、衛星からブロードキャストされる見通し線ナビゲーション信号に基づく標的間距離(range)測定を用いる。受信機は、１つ以上のブロードキャスト信号の到達時刻を測定する。この到達時刻の測定は、疑似標的間距離と呼ばれる、信号の粗捕獲（Ｃ／Ａ）符号化部分に基づく時刻測定を含む。
【０００３】
ＧＮＳＳにおける衛星からのナビゲーション信号は、キャリア信号周波数上でブロードキャストされ、１つ以上の疑似標的間符号を用いる。ナビゲーション情報における疑似標的間距離及び／又は位相測定値のようなナビゲーション情報は、受信機において、符号追跡ループにおける相関を用いて復元することができる。相関は、ナビゲーション信号のエネルギを逆拡散(de-spread)することができ、これによって１つ以上の疑似ランダム符号がエンコードされている信号を復調することができる。実際には、相関動作は、衛星から受信したナビゲーション信号を、受信機において発生した信号の複製と混合する。受信機における信号の複製の発生は、対応する疑似ランダム符号を発生することを含む。複製信号の位相、キャリア信号周波数、及びタイミングが、衛星から受信したナビゲーション信号と実質的に一致する場合、出力パワーは最大となる。複製信号にタイミング誤差がある場合、疑似ランダム符号の誤差が１疑似ランダム・コード・ビット未満であれば、出力パワーが減少し、又はタイミング誤差が疑似ランダム符号ビット以上であると０になる。
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、ＧＮＳＳ（衛星間干渉を軽減するために符号ダイバシティ・マルチ・アクセス方法を利用するＧＮＳＳ）及び異なるＧＮＳＳにおける異なる衛星からのナビゲーション信号に対応する多くの異なる疑似ランダム符号がある。多種多様なナビゲーション信号を復元するために、受信機は多くの異なる疑似ランダム符号を発生する回路を有することが多い。この回路のために、受信機に余分な複雑さやコストがかかることになる。その結果、ＧＮＳＳ受信機における疑似ランダム符号の発生を改良することが求められている。
【課題を解決するための手段】
【０００５】
可調節符号発生器を有する受信機を含む衛星ナビゲーション・デバイスについて記載する。可調節符号発生器は、スペクトル拡散符号信号の集合を発生するように構成することができる。各スペクトル拡散符号信号は、繰り返し周期に対応するそれぞれの長さを有する。スペクトル拡散符号信号の集合は、別個の第１及び第２長を有する第１及び第２スペクトル拡散符号信号を含む。
【０００６】
可調節符号発生器は、フィードバック・ループと、スペクトル拡散符号信号の集合に対応する複合ガロア多項式の度数以上のビット数を有するプログラム可能なシフト・レジスタとを含むこともできる。プログラム可能なシフト・レジスタにおけるビット数は、スペクトル拡散符号信号の集合におけるそれぞれのスペクトル拡散符号信号を記述するそれぞれの多項式の度数の最大和に対応するとよい。多項式の集合は、既約ガロア体多項式を含むとよく、及び／又はスペクトル拡散信号の集合は、最大長シーケンスを含むとよい。
【０００７】
フィードバック・ループは更に、プログラム可能なフィードバック・マスクと、フィードバック・マスク表とを含むことができる。フィードバック・マスク表は、フィードバック・マスクの集合を収容する。それぞれのスペクトル拡散符号信号に対するそれぞれのフィードバック・マスクは、対応する多項式の二進表現とするとよい。
実施形態によっては、フィードバック・ループは多数の入力ビットと、１つの出力ビットとを有することができる。１つの出力ビットは、多数の入力ビットの排他的論理和ツリーによって決定される。実施形態によっては、フィードバック・ループは、多数の入力ビットと、多数の出力ビットとを有する場合もある。多数の出力ビットの各々は、プログラム可能なシフト・レジスタからの出力ビットとそれぞれの入力ビットとの排他的論理和によって決定される。
【０００８】
可調節符号発生器は更に、初期状態表を含むことができる。初期状態表は、初期状態ベクトルの集合を収容する。各初期状態ベクトルは、スペクトル拡散信号の集合の内少なくとも１つのスペクトル拡散信号に対応する、プログラム可能なシフト・レジスタにおけるビットの初期値に対応する。
【０００９】
可調節符号発生器は更に、制御ロジックを含むことができる。実施形態によっては、制御ロジックは、初期状態ベクトル表に格納されている初期状態ベクトルの集合における初期状態ベクトルをプログラム可能なシフト・レジスタの中にプログラムすることによって、可調節符号発生器を用いて発生するそれぞれのスペクトル拡散信号が、いつそれぞれの長さに達し、次の符号周期を開始するかを判定する。実施形態によっては、制御ロジックは、初期状態ベクトル表に格納されている初期状態ベクトルの集合における初期状態ベクトルをプログラム可能なシフト・レジスタの中にプログラムすることによって、可調節符号発生器を用いて発生するそれぞれのスペクトル拡散信号が、いつ、その終端状態に達し、次の符号周期を開始するかを判定する。
【００１０】
可調節符号発生器は更に、短サイクル状態表を含むことができる。短サイクル状態表は、短サイクル状態ベクトルの集合を収容し、各短サイクル状態ベクトルは、それぞれの長さの所定の端数における、スペクトル拡散信号の集合の内少なくとも１つのスペクトル拡散信号に対応する、プログラム可能なシフト・レジスタにおけるビットの値に対応する。制御ロジックは、可調節符号発生器を用いて発生するそれぞれのスペクトル拡散信号が、いつそれぞれの長さの所定の端数に達したかを判定する。
【００１１】
本発明のその他の目的及び特徴は、以下の詳細な説明及び添付した特許請求の範囲を図面と合わせて検討することにより、一層容易に明白となるであろう。
同様の参照番号は、数々の図面の図を通じて対応する部分を示すものとする。
【図面の簡単な説明】
【００１２】
【図１】直接パス信号及びマルチパス信号がある汎地球ナビゲーション衛星システム（ＧＮＳＳ）を示す図である。
【図２Ａ】ＧＮＳＳ受信機におけるチャネルのコンポーネントを示すブロック図である。
【図２Ｂ】ＧＮＳＳ受信機におけるチャネルのコンポーネントを示すブロック図である。
【図３】ＧＮＳＳ受信機におけるコンポーネントを示すブロック図である。
【図４】粗捕獲（Ｃ／Ａ）符号発生器を示すブロック図である。
【図５】Ｌ２Ｃ符号発生器を示すブロック図である。
【図６】Ｌ２Ｃ符号の時間多重化を示すタイミング図である。
【図７】Ｌ５符号発生器を示すブロック図である。
【図８】符号発生器を示すブロック図である。
【図９】二進オフセット符号（ＢＯＣ）方形波形態を示すタイミング図である。
【図１０】ＢＯＣ及び直交二進オフセット符号（ＱＢＯＣ）方形波形態を示すタイミング図である。
【図１１】符号信号及び制御信号発生器を示すブロック図である。
【図１２】プログラマブル符号発生器の一実施形態を示すブロック図である。
【図１３】プログラマブル符号発生器の一実施形態を示すブロック図である。
【図１４】ＧＮＳＳ受信機におけるコンポーネントを示すブロック図である。
【図１５】ＧＮＳＳ受信機においてプログラマブル符号発生器を動作させる方法を示すフロー図である。
【発明を実施するための最良の形態】
【００１３】
これより、実施形態について詳しく説明する。実施形態の例を、添付図面に示す。以下の詳細な説明では、本発明の完全な理解を得るために、多数の具体的な詳細を明記する。しかしながら、本発明はこれらの具体的な詳細がなくても実施可能であることは、当業者には明白であろう。別の場合には、実施形態の態様を無益に曖昧にしないように、周知の方法、手順、構成要素、及び回路については詳細には説明していないこともある。
【００１４】
少なくとも１つの構成変更可能及び／又は調節可能な符号発生器を有する受信機を含む衛星ナビゲーション・デバイスについて記載する。この符号発生器を、以下では可調節符号発生器と呼ぶ。実施携帯によっては、１つの可調節符号発生機がある場合もある。実施形態によっては、可調節符号発生器はプログラマブルである。可調節符号発生器は、疑似ランダム符号信号の集合を発生するように構成することができる。疑似ランダム符号信号を、以下ではスペクトル拡散符号信号と呼ぶことにする。各スペクトル拡散符号信号は、繰り返し周期に対応するそれぞれの長さを有する。スペクトル拡散符号信号の集合は、別個の第１及び第２長を有する第１及び第２スペクトル拡散符号信号を含むことができる。実施形態によっては、スペクトル拡散符号信号の集合は、第１長のスペクトル拡散符号信号のみを含む場合もある。可調節符号発生器は、多数の入力ビット及び１つの出力ビットを備えたフィードバック・ループを有する第１ドメイン、又は多数の入力ビット及び多数の出力ビットを備えたフィードバック・ループを有する第２ドメインに位置することができる。可調節符号発生器は、ＧＮＳＳにおける受信機の複雑さ及び／又はコストを低減することができる。
【００１５】
衛星ナビゲーション・デバイスの実施形態では、ナビゲーションとは、場所又は位置を判定することを含み、位置解明としても知られていると解釈することとする。ナビゲーションは、衛星ナビゲーション・デバイスが、ＧＮＳＳ内にある衛星が少なくとも部分的に供給する基準フレームに対してどこにあるかを判定することと解釈するものとする。また、ナビゲーションは、少なくとも部分的にＧＮＳＳにおける１機以上の衛星からの信号に基づいて衛星ナビゲーション・デバイスにおいて時刻を判定することであってもよい。ＧＮＳＳは、限定ではなく、グローバル・ポジショニング・システム（ＧＰＳ）、グローバル・オービティング・ナビゲーション・サテライト（汎地球軌道航法衛星）システム（ＧＬＯＮＡＳＳ）、ＧＡＬＩＬＥＯポジショニング・システム、ヨーロッパ静止航法重畳システム（ＥＧＮＯＳ：European Geostationary Navigation Overlay System）、広域補強システム（ＷＡＡＳ：Wide Area Augmentation System)、多機能輸送衛星系補強システム（ＭＳＡＳ：Multifunctional Transport Satellite-Based Augmentation System）、準天頂衛星システム（ＱＺＳＳ）、及びNavCom Technology, Inc.からのStarFireネットワークを含む。
【００１６】
ＧＬＯＮＡＳＳを除いて、ＧＮＳＳ衛星は、衛星間干渉を緩和するために、コード・ダイバシティ・マルチ・アクセス（ＣＤＭＡ）方法を用いる。非ＧＬＯＮＡＳＳ衛星は、Ｌ帯域におけるキャリア信号周波数上で信号をブロードキャストし、スペクトル拡散符号信号を用いる。ＧＬＯＮＡＳＳシステムは、周波数ダイバシティ・マルチ・アクセス（ＦＤＭＡ）を用いて衛星間干渉の保護を行う。各ＧＬＯＮＡＳＳ衛星は同じスペクトル拡散コードを用いる。地球の逆側における同じ軌道内に位置する対蹠衛星を除いて、各衛星はそれ自体の周波数帯域を有する。対蹠衛星は同じ周波数帯域を共有することができる。
【００１７】
一例としてＧＰＳを用いると、衛星ブロードキャスト・ナビゲーション信号は、１５７５．４２ＭＨｚのＬ１キャリア信号周波数及び１２２７．６ＭＨｚのＬ２キャリア信号周波数を有する。第３ＧＰＳ信号が、１１７６．４５ＭＨｚのＬ５キャリア信号周波数で計画されている。ＧＡＬＩＬＥＯシステムは、Ｌ１及びＬ５（Ｅ５Ａとも呼ぶ）キャリア信号周波数における信号、並びに１２０７．１４ＭＨｚ（Ｅ５Ｂ）及び１２７８．７５ＭＨｚ（Ｅ６）キャリア信号周波数における追加信号を供給することを計画する。また、ＧＡＬＩＬＥＯは、Ｌ１キャリア信号周波数においてスペクトル拡散コードが異なる追加の信号も供給する。ＱＺＳＳシステムは、Ｌ１、Ｌ２及びＬ５キャリア信号周波数上でＧＰＳ互換信号を供給することを計画する。また、ＱＺＳＳは、未だ定義されていないＬ６キャリア信号周波数を供給することも計画する。ＷＡＡＳ、ＥＧＮＯＳ及びＭＳＡＳにおける衛星は、Ｌ１キャリア信号周波数を有するＧＰＳ型信号を供給し、Ｌ５キャリア信号周波数を有する第２信号を供給することを計画する。
【００１８】
StarFireネットワークは、少なくとも部分的に通信リンクとして機能し、１５２５及び１５６０ＭＨｚ間の周波数帯域において、幅が８４０Ｈｚあるチャネルを用いる。StarFire ネットワークは１２００又は２４００符号化ビット／秒でデータを送信する。
ＧＬＯＮＡＳＳは、１５９８．０６３５〜１６０５．３７５ＭＨｚ（Ｌ１）及び１２４２．９３７５〜１２４８．６２５ＭＨｚ（Ｌ２）の周波数帯域で信号をブロードキャストする。ＧＬＯＮＡＳＳにおける信号の周波数帯域は、ＧＰＳ及びＧＡＬＩＬＥＯにおける信号の対応する周波数帯域の高端部と重複する。
【００１９】
図１は、ＧＮＳＳ１００の一実施形態においてデバイス１１０が受信する複合信号を示す。この複合信号は、１機以上の衛星がブロードキャストした１つ以上の信号１１４と、物体１１２から反射したマルチパス信号１１６とを含む。先に論じたように、信号１１４は、各々、少なくとも１機の衛星に対応する少なくとも１つのスペクトル拡散信号を収容する。
【００２０】
図２Ａは、デバイス１１０（図１）の第１チャネルサブチャネル回路２００の一実施形態の構成要素を示す。複合信号は、１つ以上のアンテナを含むフロント・エンド回路によって受信される。アンテナ入力は、増幅しても又は増幅しなくても（受動）よく、フロント・エンド回路におけるルータ内にあるアンテナ・コネクタ毎に１つ又は多数の周波数を組み合わせることができる。非増幅アンテナあるいはアンテナとルータとの間に長いコネクタ又はケーブルがある実施形態では、フロント・エンド回路は、初期利得段を含むとよい。複合信号２１０の少なくとも一部は、１つ以上のチャネルに導出される。チャネルは、各々、サブチャネル回路２００のような、１つ以上のサブチャネル回路を含む。サブチャネル回路２００は、複合信号２１０の少なくとも一部において、少なくとも第１衛星に対応する、少なくとも１つのスペクトル拡散信号において、それぞれの周波数帯域を受信する。
【００２１】
複合信号２１０は、低損失フィルタ２１２に結合され、信号画像及び帯域外干渉を拒絶する。また、この信号は、フィルタ２１２に結合される前に、増幅器（図示せず）によって増幅する、及び／又はフィルタ（図示せず）においてフィルタ処理することもできる。フロント・エンド電子回路の中に初期ロー・ノイズ増幅器がある実施形態では、この増幅を不要とすることができる。ミキサ２１４のような１つ以上の変調器を用いて、信号の少なくとも一部を中間周波数（ＩＦ）にダウン・コンバートする。実施形態によっては、ＩＦが１つ以上の追加のサブチャネル回路において共通である場合もある。ミキサ２１４におけるダウン・コンバージョンでは、それぞれ第１キャリア又は、信号発生器２１８が発生した局部発振（ＬＯ）周波数を有する第１基準信号を混合する。
【００２２】
第１基準信号は、基準発振器２１６が発生することができる１つ以上のクロック信号に基づいて発生することができる。受信機における各サブチャネル回路は一意の第１ＬＯ周波数を有し、これによって、サブチャネル回路２００のようなそれぞれのサブチャネル回路は、第１衛星からの少なくとも１つのスペクトル拡散信号においてそれぞれの周波数帯域を受信することが可能となる。サブチャネル回路は、受信機における少なくとも１つの共通基準発振器からのクロック信号の１つ以上を受信することができる。別の実施形態では、共通の基準発振器がなくてもよい。基準発振器２１６は、１つ以上の位相ロック・ループ、遅延ロック・ループ、及び／又は補間回路を含むことができる。
【００２３】
ダウン・コンバージョンの後、ＩＦの信号を、表面弾性波フィルタのような高品質フィルタ２２０に通過させて、エリアス及び基準信号を除去し、帯域外干渉を拒絶する。高品質フィルタ２２０は、フロント・エンド予備選択フィルタ処理のような、チャネル３００における他のフィルタの精度が低くても許容できるようにし、自動利得制御（ＡＧＣ）２３０の実施を一層容易にすることを可能にし、更に、アナログ／ディジタル（Ａ／Ｄ）変換器２３８における量子化のビット数を削減することを可能にすることができる。フィルタ２２０のような、サブチャネル回路の中にあるフィルタは、受信機における信号に対する信号処理帯域幅を定める。その結果、これらのフィルタは、受信機の全体的な信号処理特性を定め易くする。実施形態によっては、フィルタ２２０のようなフィルタは、その中央周波数は、ＩＦと実質的に等しく、その帯域幅はほぼ第１衛星の帯域幅よりも大きい場合もある。実施形態によっては、フィルタ２２０のようなフィルタの１つ以上の帯域幅（３ｄＢ通過帯）が、約３０ＭＨｚ（両側）よりも大きい場合もある。実施形態によっては、フィルタ２２０のようなフィルタの１つ以上の帯域幅（３ｄＢ通過帯域）は、ほぼ３０〜３２ＭＨｚ（両側）を含む範囲内である場合もある。実施形態の一例では、フィルタ２２０は６つ以上の複素極(complex pole)と同等とするとよい。StarFireネットワークからの信号に対応するサブチャネルでは、フィルタ２２０は、ＩＦと実質的に等しい中央周波数を有することもできる。この場合、しかしながら、フィルタ２２０の帯域幅は２００ｋＨｚとなることがある。何故なら、StarFireネットワークでは、信号が用いる帯域幅が狭くなるからである。
【００２４】
フィルタ２２０等のフィルタの帯域幅が、ＧＮＳＳ衛星の１つ以上によってブロードキャストされる信号に適用されるフィルタ処理よりも少なくとも多少大きくなることを確保することによって、信号内容が失われず、帯域外干渉をできるだけ多く拒絶する。衛星の１つ以上におけるフィルタの帯域幅が今後拡大すれば、フィルタ２２０等のフィルタの１つ以上の帯域幅も広げることができ、したがって信号内容は失われない。これによって、マルチパス信号１１６（図１）の補正を改良すること、及び／又は受信機の追跡特性を改良することを可能にすることができる。
【００２５】
ミキサ２２２等の１つ以上の変調器を用いて、サブチャネル回路２００等の１つ以上のサブチャネル回路における信号を、実質的に近ベースバンド（ゼロ周波数）に変換する。ミキサ２２２におけるダウン・コンバージョンによって第２基準信号を混合する。各第２基準信号は、第２キャリア又はＬＯ周波数を有し、互いに対して実質的に直交であり、直交信号発生器２２４によって供給される。第２基準信号は、基準発振器２１６及び／又は共通基準発振器からの少なくとも１つのクロック信号に基づいて発生することができる。実質的な近ベースバンドとは、Ａ／Ｄ変換器２３８におけるサンプリング・レートの実質的に１／４未満の周波数を含むことができる。実施形態によっては、実質的な近ベースバンドは、約１００ｋＨｚ未満の周波数も含む場合がある。
【００２６】
実質的に近ベースバンドまでダウン・コンバートすると、事実上、意図的なドプラ周波数シフトを招くことになる。これを実施する１つの方法は、少なくとも１つのクロック信号のキャリア信号周波数が、約４０／１，０００，０００（ＰＰＭ）速くなるように、これを設定することである。このオフセットにより、Ａ／Ｄ変換器２３８からの同相Ｉ及び位相外れＱサンプル全てが、正の見かけ上のドプラ周波数シフトを有することが確保され、信号プロセッサ２４２のような信号処理回路における数値制御発振器（ＮＣＯ）のような信号発生器の設計が簡素化される。また、このオフセットにより、ディジタル・サンプリング・エッジが、少なくとも第１衛星からの少なくとも１つのスペクトル拡散信号におけるコード・ビット・エッジのタイミングに関して、ランダムに分散されることも確保する。
【００２７】
実施形態の一例では、基準発振器２１６の交渉キャリア信号周波数は、１６．３６８６４ＭＨｚである。これは、ＧＰＳの１０．２３ＭＨｚ基本キャリア信号周波数の１．６倍よりも３９．１０１ＭＨ、即ち、近似的に４０ＰＰＭ大きい。基準発振器２１６からの少なくとも１つのクロック信号のキャリア信号周波数は、その寿命の間に、経年及び／又は温度変動によって更に１０ＰＰＭ程変動する可能性がある。別の実施形態例では、基準発振器２１６は、温度補償水晶発振器（ＴＣＸＯ）及び／又は電圧補償水晶発振器（ＶＣＸＯ）を含むこともできる。
【００２８】
ＩＦ、第１ＬＯ周波数、及び第２ＬＯ周波数は、コードとＧＮＳＳ信号が用いるキャリア信号周波数との間にコヒーレントな関係を保存することができる。全てのＧＮＳＳ信号に対して、コード・ビット毎に実質的に整数回のキャリア・サイクルがある。選択したダウン・コンバージョン周波数、即ち、第１ＬＯ周波数及び第２ＬＯ周波数は、それぞれ、これらの関係を保存することができる。尚、この関係は、しかしながら、衛星受信機の運動によって生ずるドプラ周波数ずれ、基準信号、及び／又は衛星又は受信機におけるクロック信号誤差及び／又は先に論じた意図的なドプラ周波数ずれには感応しない。以下で論ずるが、受信機はこの特長を利用する。
【００２９】
ＩＦ及び第２ＬＯ周波数は、受信機における共通基準発振器及び／又は基準発振器２１６からの少なくともそれぞれのクロック信号の周波数の実質的に等しい倍数とすることができる。ドプラ（前述した）の発生源を無視すると、２つのダウン・コンバージョン周波数の和、即ち、サブチャネル回路の各々におけるそれぞれの第１ＬＯ周波数及び第２ＬＯ周波数の和は、少なくとも第１衛星からの１つのスペクトル拡散信号において、それぞれの周波数帯域に対応する、それぞれのキャリア信号周波数に実質的に等しくすることができる。例えば、ＧＰＳ  Ｌ１周波数帯域の公称キャリア信号周波数は１５７５．４２ＭＨｚであり、これは、１５４×１０．２３ＭＨｚに等しい。受信機２００が、Ｎ１×１０．２３ＭＨｚの周波数を有する基準発振器２１６からのクロック信号を用いる実施形態では、第１及び第２ＬＯをこのクロック信号から発生する。これらのＬＯのそれぞれの周波数は、キャリア周波数を追跡することによって測定した距離がコードを追跡することによって測定した距離と実質的に同一であることを保証する数個の関係に従うとよい。Ｌ帯域信号毎のキャリア周波数は、Ｎ０×１５４という形式で表すことができる（Ｎ０＝Ｌ１に対して１５４、Ｌ２に対して１２０、Ｌ５に対して１１５、Ｅ５Ａに対して１１８、そしてＥ６に対して１２５。）。第１ＬＯの周波数は、基準クロック信号にＡを乗算することによって形成する。即ち、ＬＯ１＝Ａ・Ｎ１×１０．２３ＭＨｚとなる。第２ＬＯの周波数は、ＩＦに実質的に等しく、基準クロック信号にＢを乗算することによって形成する。即ち、ＬＯ２＝Ｂ・Ｎ１×１０．２３ＭＨｚとなる。乗数Ａ及びＢは、これらが関係ｓ・（Ｎ０−Ａ・Ｎ１）＝Ｂ・Ｎ２に従うように選択する。ここで、低側ダウン・コンバージョンではｓ＝１、高側ダウン・コンバージョンではｓ＝−１である。例えば、高側第１ダウン・コンバージョンを用いてＬ１信号を１３．７×１０．２３ＭＨｚ（＝１４０．１５１ＭＨｚ）に等しいＩＦに変換する場合、ｓは−１に等しく、Ｂ・Ｎ１は１５４＋１３．７即ち１６７．７に等しくなる。代わりに低側ダウン・コンバージョンを用いる場合、ｓは１に等しく、Ｂ・Ｎ１は１５４−１３．７即ち１４０．３に等しくなる。ＧＮＳＳ周波数毎に、異なる乗数Ａを用いても良い。全ての周波数に同じＩＦ及び乗数Ｂを用いてもよい。尚、ある意味では、高側変換によって負の周波数を有するＩＦが生成されるが、受信機におけるフィルタ及び後続のダウン・コンバージョンは、周波数が正であっても負であっても同じ挙動を行うことを注記しておく。
【００３０】
StarFireネットワークからの信号のための１つ以上のサブチャネル回路は、直交検出を用いなくてもよい。この第２ＬＯ周波数は、小さな、近似的に２１Ｈｚ刻みで調節して、第２ＬＯ周波数がStarFire通信チャネルの中央周波数と一致するようにするとよい。受信機、第１チャネル、及び／又はサブチャネル回路２００のようなサブチャネル回路におけるコントローラは、順次信号発生器２２４を、可能なStarFireの各周波数帯域に対応する周波数を近似し、それぞれの信号があるか否か判定するようにプログラムすることができる。尚、コードとStarFire信号処理におけるキャリア信号周波数との間には特殊な関係を維持する必要がないので、それぞれの第１ＬＯ周波数及び第２ＬＯ周波数の選択の自由度を高めることができる。
【００３１】
近ベースバンドへのダウン・コンバージョンの後、Ｉ及びＱ信号をロー・パス・フィルタ２２６に結合して、不要なスペクトル成分を除去する。ＡＧＣ２３０において利得を用いて信号を増幅し、Ａ／Ｄ変換器２３８においてサンプリング及び量子化してＩ及びＱサンプルを生成する。信号プロセッサ２４２においてＩ及びＱサンプルを処理する。信号プロセッサ２４２は、参照表２４４に格納されている値を用いることができる。ＡＧＣ２３０及びＡ／Ｄ変換器２３８は、参照表２３６に格納されている値を用いて、制御ロジック２３４によって構成及び／又は調節することができる。ＡＧＣ２３０及び／又はＡ／Ｄ変換器２３８の構成及び／又は調節は、少なくとも１つのＡＧＣ２３０の１つ以上の利得、及び／又はＡ／Ｄ変換器２３８における１つ以上のＡ／Ｄ良識閾値の大きさを含むとよい。実施形態の一例では、ＡＧＣ２３０の利得は、非ゼロ・サンプル又は活動(activity)の確立が実質的に２／３となるように、第１非ゼロ量子化閾値の大きさを用いて決定するとよい。この利得を用いると、非ゼロ・サンプルは、第１Ａ／Ｄ量子化閾値の大きさのほぼ２倍である第２非ゼロ量子化閾値の大きさを用いて決定し、受信機のアンチ・ジャミング性能を向上させることができる。また、受信機は、ブランキング回路を用いて、強いジャミング信号の存在下における性能を向上させることもできる。
【００３２】
実施形態によっては、サブチャネル回路２００のような１つ以上のサブチャネル回路におけるＩＦ、第１ＬＯ周波数、及び／又は第２ＬＯ周波数は、調節可能及び／又は構成可能とするとよい。これは、例えば、受信機、第１サブチャネル、及び／又はサブチャネル回路２００のようなサブチャネル回路におけるコントローラを用いて、信号発生器２１８のような少なくとも１つの信号発生器を調節及び／又は再構成することによって実施する。例えば、直交信号発生器２２４からの基準信号における第２ＬＯ周波数を、数百Ｈｚ刻みで調節するとよい。ＩＦを適応又は構成する場合、フィルタ２２０、フィルタ２２６、ミキサ２２２、及び／又はミキサ２１４の内少なくとも１つを調節又は再構成するとよい。
【００３３】
ＩＦ、第１ＬＯ周波数及び／又は第２ＬＯ周波数を構成可能にすることによって、ＩＦは、近似的に１００〜３５０ＭＨｚを含む範囲内の値に設定することができる。ＩＦ、第１ＬＯ周波数及び／又は第２ＬＯ周波数が調節可能な実施形態では、サブチャネル回路の１つ以上を前述した範囲のＩＦに動的に構成することが可能となる。構成可能又は適応可能なＩＦにより、更に設計自由度が高まる。これらの自由度により、フィルタ２１２、２２０及び／又は２２６、信号発生器２１８、直交信号発生器２２４、及び／又はミキサ２１４及び２２２のような構成要素の要件を満たすように、１つ以上のサブチャネルにおけるＩＦを変更することが可能となる場合もある。例えば、受信機の生産寿命(production lifetime)の間に１つ以上の構成要素が旧式となったり、異なるＩＦ範囲に対応する１つ以上の構成要素が改良された入手可能となった場合、１つ以上のサブチャネル回路において、それぞれの第１及び／又は第２ＬＯ周波数を構成又は適応させることによってＩＦを変更することができる。実施形態の一例では、ＩＦを１４０、１６０、及び／又は２００ＭＨｚとすることができる。何故なら、これらの値は、セルラ電話機に合わせて開発された低コストのフィルタ及びミキサの仕様と一致することができるからである。
【００３４】
他の実施形態では、サブチャネル２００のコンポーネントは多くても少なくてもよい。２つ以上のコンポーネント素の機能を１つのコンポーネントに実装することもできる。あるいは、数個のコンポーネントの機能を、これらのコンポーネントの追加のインスタンス又は受信機におけるいずれかのコンポーネントに実装することもできる。図２Ａは１つのサブチャネル回路２００を示すが、実施形態によっては、サブチャネル回路がこれよりも多い場合もある。実施形態によっては、サブチャネル回路の１つ以上が直交検出及びサンプリングを用いない場合もある。代わりに、第２キャリア又はＬＯ周波数を有する第２基準信号を用いて、１つ以上のミキサにおいて信号を近ベースバンドに変換すればよい。
【００３５】
図２Ｂは、サブチャネル回路２６０の一実施形態を示す。縦線２６２は、図２Ａにおける検出回路２４６に対応する。サブチャネル回路２６０の適正な挙動のためには、Ａ／Ｄ変換器２３８からの正及び負のＡ／Ｄサンプルは、数が等しいことが望まれる。Ａ／Ｄサンプルが平均して０にならない場合、これらは、ＤＣバイアスと呼ばれる、バイアスを内包しており、コード相関プロセス（図３における３３２及び３３４）の間に、余分な干渉ノイズに変換されていく。又は、ＤＣバイアスが、それぞれのスペクトル拡散コードが設ける自己相関保護よりも大きい場合、干渉衛星信号として出現する。ＤＣオフセット補正回路２４８は、Ｉ及びＱ信号の近ベースバンドを調節して、これらの信号の一方又は双方におけるＤＣバイアスを低減する。
【００３６】
ＤＣバイアスを除去する１つの手法は、ある期間についてＡ／Ｄサンプルを平均し、得られた平均値を入来するＡ／Ｄサンプルから減算することである。しかしながら、この手法は、バイアスを除去した(de-biased)Ａ／Ｄサンプルにおいて多くの精度ビット(bits of precision)を用い、その結果信号処理２４２中にも多くの精度ビットを用いる可能性がある。他の方法には、ＤＣバイアスの手作業(hand) 又はソフトウェアによる較正が含まれる。これらの方法は、ＤＣバイアスを測定し、サブチャネル回路２６０において成分を手動で調節することにより、又はディジタル／アナログ（Ｄ／Ａ）変換器を用いて可変フィードバック電圧を供給することによって、Ａ／Ｄ基準電圧又は閾値を調節する。実施形態によっては、カウンタをオペアンプに結合し、Ａ／Ｄ変換器２３８からの正及び負のサンプル数を判定するために用い、更に、正及び負サンプルの数が等しくなり、Ｉ及びＱサンプルの平均がーになるように、基準電圧を調節するために用いることができる。オペアンプ及びこれらに関連するフィードバック回路は、パルスの積分時間が１００ｍｓ〜１０ｓの間となるように選択する。
【００３７】
Ａ／Ｄ変換器２３８は、１つ以上のＧＮＳＳ信号をアナログからディジタル形態に変換するために数個の実施形態を有する。当技術分野では周知のように、それぞれのサンプリング・レートは、ナイキスト・レート以上であれば容認可能である。複素サンプルを用いる実施形態では、サンプリング・レートは、フィルタ２２６（図２Ａ）の帯域幅以上とするとよい。例えば、ＧＳＰ信号には、サンプリング・レートが３２ＭＨｚよりも高いとよい。別の実施形態例では、サンプリング・レートは４０、６０、又は８０ＭＨｚとするとよい。信号処理中における電力消費及びタイミングの制約は、サンプリング・レートに比例して増大するので、既存及び計画ＧＮＳＳ信号には、４０ＭＨｚのサンプリング・レートが適していると言える。今後、更に高い帯域幅のＧＮＳＳ信号が利用可能になれば、フィルタ２２６の帯域幅及びＡ／Ｄ変換器２３８のサンプリング・レートも、それに応じて、新たなナイキスト・レートに基づいて増大することができる。
【００３８】
実施形態によっては、第１チャネルにおけるサブチャネル２６０のような１つ以上のサブチャネル回路は、調節可能な又は構成可能なビット数を有する１つ以上のディジタル信号を出力するように構成することがよい場合がある。ビット数は、１、２、３、４、又は５とすることができ、１ビット（２レベル）量子化、２ビット（３レベル又は符号及び大きさ、即ち、１、０、及び１）量子化、２ビット（４レベル）量子化、並びに３ビット（８レベル）量子化を含む。実施形態の中には、更に大きなビット数を用いる場合もある。しかしながら、Ａ／Ｄ変換器２３８のようなＡ／Ｄ変換器の複雑度は、ビット数の二乗として変動し、ビット数が５を超えると、収穫逓減(diminishing return)が生ずる虞れがある。ビット数は、動的適応を含めて、構成又は適応するとよい。構成及び／又は適応は、受信機におけるコントローラ、及び／又はサブチャネル回路２６０のようなサブチャネル回路の少なくとも１つにおけるコントローラによって制御するとよい。Ａ／Ｄ変換は、参照表２３６のような参照表に格納されている１つ以上のマッピングを用いることができる。それぞれのマッピングは、制御ロジック２３４によって実施することができる。１つ以上のサブチャネル回路が１ビットを有するディジタル信号を出力するように構成されている実施形態では、Ａ／Ｄ変換器２３８の１つ以上を比較器と交換してもよい。加えて、Ａ／Ｄ変換器２３８において１ビット量子化を用いる際、ＡＧＣ２３０におけるフィードバックが必要でない場合もある。
【００３９】
StarFire信号（毎秒１２００又は２４００ビット）の情報内容は、ＧＮＳＳ信号よりも遥かに少ないので、用いるサンプリング・レートは、３８．４ｋＨｚのように、低くしてもよい。このレートは、ナイキスト・レートの１６又は３２倍であり、今後可能性があるブロードキャスト・データ・レートの上昇がし易くなる。また、信号電力の著しい損失を生ずることなく、非同期ディジタル・サンプルとのデータ・ビット・エッジの同期も可能となる。
【００４０】
サブチャネル回路２６０のような１つ以上のサブチャネル回路からのサンプルは、信号プロセッサ２４２において処理することができる。実施形態によっては、１つよりも多いサブチャネルがサンプルを信号プロセッサ２４２に結合することもできる。実施形態によっては、１つよりも多い信号プロセッサがある場合もあり、信号プロセッサ群が１つの信号プロセッサとして機能するように、信号プロセッサを協同して用いることができる。サブチャネル回路２６０のようなそれぞれのサブチャネル回路からの信号は、１つよりも多い信号プロセッサに導出することができる。
信号処理は、アナログ回路、ディジタル回路、又はアナログ及びディジタル回路の組み合わせで実施することができる。Ａ／Ｄ変換器２３８を除いて、動作は、特定用途集積回路（ＡＳＩＣ）のようなハードウェア、ソフトウェア、又はハードウェア及びソフトウェアの組み合わせを用いて実行することができる。
【００４１】
図３は、信号プロセッサ２４２（図２Ａ）のような、信号プロセッサ３００の一実施形態を示す。Ａ／Ｄ変換器３１０及び３１２が、それぞれ、Ｉ及びＱサンプルを供給する。Ａ／Ｄ変換器３１０及び３１２は、それぞれのサブチャネル回路に対する信号処理回路３００への第１ポートである。つまり、第１ポートは、信号における１つのキャリア信号周波数のデータを受信するそれぞれのサブチャネルに少なくとも対応する。信号処理回路３００又は信号処理回路３００の更に別のインスタンスのいずれかに結合された余分なサブチャネル回路からも１つ以上の余分なポートがあってもよい。１つの多周波数アンテナを有する実施形態では、信号におけるキャリア信号周波数毎に、別個のサブチャネル及びポートを用いてもよい。姿勢判定システムにおけるような多数のアンテナを有する実施形態では、各アンテナからの信号におけるキャリア周波数毎に別個のポートが必要となる場合もある。
【００４２】
Ｉ及びＱサンプルを３レベル変換器３１４に結合する。３レベル変換器３１４は、Ｉ及びＱサンプルにおけるある数のビットから符号及び大きさへのマッピングを行う。実施形態によっては、３レベル変換器３１４を、回路又は参照表（ルックアップ・テーブル）２４４（図２Ａ）のような参照表を用いて実施することもできる。サンプルをマルチプレクサ３１６及び３１８に結合する。マルチプレクサ３１６及び３１８は、信号処理回路３００の残り部分を前述のポートの内少なくとも１つに結合する。
【００４３】
図２Ａを参照すると、直交発生器２２４からの基準信号は、正確に９０゜位相がずれている訳ではない。信号をベースバンドにダウン・コンバートする場合、位相誤差即ちバイアス、及び対応する信号処理損失が生ずる。その結果、従来の受信機は、図２Ａに示すような直交検出及びサンプリングを用いないのが一般的であった。加えて、サンプリング及び量子化は、ベースバンドでは通常ではないのが通例である。代わりに、サンプリング及び量子化は、通例、Ａ／Ｄ変換器２３８のようなＡ／Ｄ変換器のサンプリング・レートの１／４のような、残余ＩＦ(residual IF)において行うことができる。Ａ／Ｄ変換器のサンプリング・レートを高め、サンプルの平均を取ることにより、残余バイアスを除去することができる。要するに、これら従来の受信機におけるＡ／Ｄ変換器は、信号をベースバンドにダウン・コンバートする。しかしながら、得られるＩ及びＱサンプルはある時間間隔で決定される。このため、マルチパス信号１１６（図１）のような信号の補正がより難しくなる。また、Ａ／Ｄ変換器のサンプリング・レートが高くなることに伴って、電力面でも不利になる場合がある。これらの従来の受信機では無線周波数から近ベースバンドに直接ダウン・コンバージョンを実施しており、直交検出は通常用いられない。
【００４４】
デバイス１１０（図１）における受信機では、信号を実質的に近ベースバンドにダウン・コンバートし、サブチャネル回路２００の論述において既に説明したように、直交的にサンプリング及び量子化することができる。この検出手法により、Ｉ及びＱサンプルを実質的に同時に決定することが可能となる。一方、これによって、マルチパス信号１１６（図１）の補正を改良し、電力消費を低減することが可能となる。しかしながら、なおも、直交発生器２２４からの基準信号における位相誤差に残余バイアスが伴う可能性があるという問題が残る。ほぼ近ベースバンドにダウン・コンバートすることが、解決策を提供する。既に注記したように、得られる信号は事実上意図したドプラ周波数ずれを有する。信号処理２４２の間に、複素位相回転を実行してこの意図的なドプラ周波数ずれを補正することができる。このプロセスでは、対応するバイアスは、バイアスは０〜３６０゜に実質的に均一に分散され、平均すると０になる。
【００４５】
再度図３を参照すると、実質的に近ベースバンドへのダウン・コンバージョンに伴う残余バイアス及び意図的なドプラ周波数ずれを補正するための複素回転を、複素回転回路３２６において実行する（例えば、Ｑサンプルを０に等しくすることによる）。以下で更に論ずるが、複素回転は、参照表３２４における値に基づくことができる。この値は、キャリア信号発生器又はＮＣＯ３２０に基づいて決定する。これらは、補正すべき意図的なドプラ周波数ずれを判定するキャリア又は位相追跡ループの一部である。信号のサンプルにおける少なくとも１つのスペクトル拡散コードを、相関器３３２及び３３４において、コーダ３３０及びコード信号発生器又はＮＣＯ３２８に基づいて復調する。コード信号発生器又はＮＣＯ３２８は、コード追跡ループの一部である。サブチャネル相関器３３２及び３３４からのＩ及びＱの蓄積を、測定時に信号処理ソフトウェアに出力し、位相及び符号追跡ループのためのフィードバックを計算するために、この蓄積を用いることができる。
【００４６】
先に論じたように、相関動作は、実際には、Ｉ及びＱサンプル内に埋め込まれている衛星信号を、それぞれのチャネルにおいて発生した信号の複製とミキシングすることである。複製信号の位相、周波数、及びタイミングが、衛星から受信したこれらと実質的に等しい場合、サブチャネル相関器３３２及び３３４によって蓄積されるパワーが最大となる。複製信号にタイミング誤差があると、符号のタイミング誤差が１スペクトル拡散コード・ビット未満であれば、相関器３３２及び３３４が蓄積するパワーが減少し、又は誤差がスペクトル拡散符号ビット以上であると０になる。
【００４７】
回転及び相関動作は、サンプリング・レートで行われるので、信号処理によるＳＮＲ損失は非常に少ない。回転及び相関動作の順序は任意である。したがって、実施形態によっては、相関を回転の前に実行してもよく、回転を相関の前に実行してもよく、又は回転及び相関の動作を組み合わせて１つの動作にしてもよい。実施形態の一例では、相関の前に回転を行う。これによって、Ｉ及びＱサンプル対毎に１回の回転を行うことが可能になる。しかしながら、サブチャネル毎に１セットを含む、多くの可能な相関がある。
【００４８】
図３に示すように、サブチャネル回路２００（図２Ａ）のような１つ以上のサブチャネルからのＩ及びＱサンプルは、Ｉ及びＱサンプルの複素回転３２６によって、それぞれのチャネルの基準信号のキャリア信号成分とミキシングする。回転サンプルＩＲ及びＱＲは、次の式に基づいて発生する。
ＩＲ＝Ｉ・ｃｏｓ（ＮＣＯ）−Ｑ・ｓｉｎ（ＮＣＯ）
ＱＲ＝Ｉ・ｓｉｎ（ＮＣＯ）＋Ｑ・ｃｏｓ（ＮＣＯ）
ここで、ＮＣＯは、キャリアＮＣＯ３２０に基づく表３２４からの値を表す。キャリアＮＣＯ３２０は、第１チャネルのようなそれぞれのチャネルに対して基準信号の位相を維持する。実施形態によっては、基準信号の位相即ちキャリア位相を、位相蓄積器を用いて積分する。キャリア位相角は、それぞれの基準発振クロック・エッジにおいてそれぞれのチャネル毎に位相蓄積器を始動させるときには、０であると仮定する。実際には、開始時には位相は０ではないが、対応する追跡誤差がＩ及びＱサンプルに反映される。キャリア位相追跡によって、基準位相角を補正する。先に論じた基準発振器の意図的な周波数オフセットのために、初期正ドプラ・キャリア位相角がある。
【００４９】
先に論じたように、種々のＧＮＳＳには、多数のキャリア信号周波数及びスペクトル拡散コードが用いられているか、あるいは計画されている。以下に、異なるＧＮＳＳにおいて提案されている及び／又は用いられている種々のスペクトル拡散コードについての端的な全体像を示す。更なる詳細を補足資料にまとめておく。
【００５０】
ＧＮＳＳ衛星は、スペクトル拡散コードの多くの異なる一団を用いるナビゲーション信号を供給する。これらのスペクトル拡散コードは、ＧＰＳ  Ｐ−コードを除いて全て、種々の長さの最大シーケンス（Ｍ−シーケンス）スペクトル拡散コードに基づいており、それぞれの長さが、それぞれのスペクトル拡散コード毎の繰り返し周期を定める。加えて、スペクトル拡散コードの中には余分に複雑さを有するものもある。
【００５１】
ＧＰＳ  ＳＢＡＳ及びＱＺＳＳ  ＧＮＳＳにおけるＣ／Ａ符号は、Ｌ１キャリア信号周波数を有するキャリア信号上でブロードキャストされる。ＧＰＳ衛星は、Ｐ（Ｙ）の代わりに、Ｌ２キャリア信号周波数を有するキャリア信号上でＣ／Ａ符号をブロードキャストすることができることが伝えられているが、現在ではそれを行っていない。Ｃ／Ａ符号は、２つの１０ビット・ガロア体最大多項式、即ち、ＣＡ＝Ｇ１＋Ｇ２（＋は○で囲まれる）として定義され（Navstar GPS ICD-GPS-200,  ARINC Research Corportaion）、ここで、
Ｇ１＝１＋Ｘ３＋Ｘ１０
Ｇ２＝１＋Ｘ２＋Ｘ３＋Ｘ６＋Ｘ８＋Ｘ９＋Ｘ１０
である。
【００５２】
図４に示すように、スペクトル拡散符号の発生は、シフト・レジスタ４１０のようなシフト・レジスタを用いて実施することが多い。実施形態４００では、ガロア体多項式におけるそれぞれのＸ変数のｎ乗が、ｎビット前の時点(n bit times previous)からのフィードバック・ビットを収容するシフト・レジスタ段に対応する。ビット１０、最も古いビットが、シフト・レジスタ４１０の出力である。各ビット時点に、レジスタを右シフトし、選択したビット（ビット位置はシフトの前）の排他的論理和４１２をビット１にフィードバックする。シフト・レジスタ４１０からの出力の排他的論理和４１８によって、出力４２０を生成する。これは、Ｃ／Ａコードに対応するシーケンスである。
【００５３】
Ｃ／Ａコードに対して、シフト・レジスタ４１０の双方は、全て１、即ち、１６進数で３ＦＦの初期状態を有する。シフト・レジスタ４１０の各々は、レジスタ値の異なるシーケンスを生成し、全部で１０２３個の一意の１０ビット非ゼロ整数を含む。シフト・レジスタ４１０の双方は、１０２４番目のコード・ビットにおいて自動的にその初期状態に再巡回する。したがって、Ｃ／Ａコードは、１０２３ビット（２１０−１）の長さ又は対応するクロック・サイクルを有する。
【００５４】
Ｇ１シフト・レジスタ４１０−１の初期状態を、ＧＰＳミリ秒エポックのコード・エッジと同期させる。実施形態によっては、Ｇ２シフト・レジスタ４１０−２において指定した段の排他的論理和を取る代わりに（ＧＰＳ  ＩＣＤ２００によって説明したように）、Ｇ２シフト・レジスタ４１０−２の初期状態を、ミリ秒エポックに関して、異なる衛星コード毎に異なるコード・ビット数だけ遅らせることもできる（これは、ＳＢＡＳ  ＧＮＳＳにおいてＣ／Ａコードを定めるために用いられる方法である）。いずれの手法を用いても、シフト・レジスタ４１０の排他的論理和４１８によって、衛星毎に一意のＣ／Ａ符号を生成する。
【００５５】
Ｇ２シフト・レジスタ４１０−２の遅延は、得られるＣ／Ａコード４２０が１と０との間で均衡を有するように（シーケンスの中には奇数個のビットがあるので、Ｃ／Ａコード毎に余分な０又は１が必ずあるはずである）選択するとよい。Ｃ／Ａコードの対応する相互相関及び自己相関サイド・ローブは、したがって、最小となる。この符号集合体をゴールド・コード・ファミリと呼ぶ。ＧＰＳ  ＧＮＳＳは、３７個のゴールド・コードを用い、これらをＰＲＮ１〜３７と呼ぶ。これらの符号の最初の３２個は、ＧＰＳ衛星によって用いられ、残りの５つの符号は、検査のために残されている。ＳＢＡＳ  ＧＮＳＳは、Ｌ１キャリア信号周波数を有するキャリア信号の同じゴールド・コード・ファミリにおいて、異なる衛星とは異なるＣ／Ａコードを用いる。これらの符号は、ＰＲＮ１２０から１３８として定められている。ＱＺＳＳ  ＧＮＳＳは、Ｌ１キャリア信号周波数を用いるキャリア信号に、Ｃ／Ａ符号を用いることを計画している。
【００５６】
また、ＧＰＳ  ＧＮＳＳにおける衛星は、Ｃ／Ａ符号でエンコードした信号上において、毎秒５０ビットで二進シフトキー（ＢＰＳＫ）データ・メッセージをエンコードする。これらのメッセージは、誤り検出にハミング・パリティ・チェックを用いる。
ＧＰＳ  ＧＮＳＳは、Ｌ２キャリア信号周波数を有するキャリア信号上で、Ｌ２ＣＭ及びＬ２ＣＬと呼ぶ、新しい２つの公開信号を追加するプロセスの中にある。コードを記述する多項式は、次の通りである。
Ｐ＝１＋Ｘ３＋Ｘ４＋Ｘ５＋Ｘ６＋Ｘ９＋Ｘ１１＋Ｘ１３＋Ｘ１６＋Ｘ１９＋Ｘ２１＋Ｘ２４＋Ｘ２７
【００５７】
Ｌ２Ｃ符号を実装するシフト・レジスタ５１０の実施形態５００を、図５に示す。実施形態５００は、実施形態４００（図４）とは色々な相違がある。２つの１０ビット・シフト・レジスタ４１０（図４）の代わりに、２７状態シフト・レジスタ５１０が１つあるだけである。シフト・レジスタ５１０におけるビットは、右から左に、多項式におけるＸ−遅延に対応する順序で付番されている。そして、Ｌ２Ｃフィードバックのために、シフト・レジスタ５１０からの出力ビットの、数個のレジスタ・ビット（図４における１ビット・フィードバックとは異なり、多数ビットのフィードバック）との排他的論理和を取る。
【００５８】
Ｌ２ＣＭ（民生では、中符号）及びＬ２ＣＬ（民生では、長符号）は、０．５１１５Ｍｚ符号レートを用い、互いに５０％時間多重化されている。図６の実施形態６００に示すように、Ｌ２ＣＭ符号信号６１０は、各０．５１１５ＭＨｚクロックの前半でブロードキャストされ、Ｌ２ＣＬ符号信号６１２は、このクロックの後半でブロードキャストされる。時間ドメイン・マルチ・アクセス（ＴＤＭＡ）イネーブル信号６１４を用いて、Ｌ２ＣＭ符号信号６１０及びＬ２ＣＬ符号信号６１２を組み合わせる。ＴＤＭＡイネーブル６１４は、Ｌ２ＣＭ符号信号６１０（図６におけるＭ）、及びＬ２ＣＬ符号信号６１２（図６におけるＬ）を交互に選択する。ＴＤＭＡイネーブル６１４は、１．０２３ＭＨｚレート、５０％デューティで、Ｌ２Ｃ組み合わせ符号信号６１６を生成する符号毎に、符号信号６１０及び６１２間で切り換える。Ｌ２Ｃ組み合わせ符号信号６１６のビット・エッジ・レートは、１．０２３ＭＨｚであり、Ｌ２ＣＭ符号信号６１０及びＬ２ＣＬ符号信号６１２の半分のビットで交番する。
【００５９】
Ｌ２ＣＭコードは、長さが１０２３０ビットであり、２０ｍｓ毎に繰り返す。Ｌ２ＣＬコードは、長さが７６７２５０ビットであり、１．５秒毎に繰り返す。双方のコードは、長さが２２７−１ビットの１つのＭシーケンス（１億３４００万ビットよりも大きい）の部分集合である。これらのコードは、コード・シーケンスの開始におけるシフト・レジスタ５１０（図５）の状態が異なるだけである。各Ｌ２ＣＭコード及びＬ２ＣＬコードの一意の開始状態を、衛星毎に割り当てる（ＰＲＮ番号）。これらのコードは完全なＭ−シーケンスの一部のみであるので、Ｌ２Ｃ組み合わせコードのシーケンスは、Ｃ／Ａコードの場合のように、自動的に繰り返さない。Ｌ２Ｃ組み合わせコードは、最終コード状態を検出するか、又はしかるべき数のコード・ビットをカウントすることによって、再開しなければならない。各コード周期の開始時に、シフト・レジスタ５１０（図５）を初期状態にリセットする。
【００６０】
また、毎秒２５ビットのレートで、データ・メッセージをＬ２ＣＭ符号信号６１０上に変調する。レート１／２、制約又は継続長７の畳み込み符号を用いるので、シンボル・レートは毎秒５０シンボルとなる。Ｌ２ＣＬ符号信号６１２は、変調しない。即ち、これは追加データを収容していない。その結果、Ｌ２ＣＬ信号６１２は、コスタス・ループ(Costas loop)（位相追跡ループであり、正弦項Ｉを余弦項Ｑで正規化してデータ・ビットを追跡する）ではなく、位相ロック・ループ（図３においてキャリアＮＣＯ３２０が用いるような）で追跡することができる。コスタス・ループは、データ・メッセージが変調されている信号と共に用いられることが多い。実施形態によっては、Ｌ２ＣＬ信号６１２を、コスタス・ループで追跡する場合もある。ロック閾値は、位相ロック・ループに対して６ｄＢ高い。また、非常に弱い信号状態では、信号対ノイズを改善するために、信号をコヒーレントに無限に積分してもよい。対照的に、データ変調信号は、変調に関するハード判断が要求される前に、変調データ・シンボルの長さだけしかコヒーレントに積分することはできない。
【００６１】
また、ＧＰＳ  ＧＮＳＳは、Ｌ５キャリア信号周波数を有する２つの新たな公開キャリア信号を加算するプロセスにも関与する。これら２つのキャリア信号を、Ｘ５Ｉ及びＸ５Ｑと呼び、Ｌ５キャリア信号周波数を有し疑似位相シフトキー変調（ＱＰＳＫ）を含む信号を用いて、同時にブロードキャストする。Ｘ５Ｉは、キャリア信号の同相部分上で変調され、Ｘ５ＱはキャリアＡ信号の直交部分上で変調される。図７の実施形態７００に示すように、Ｘ５Ｉ及びＸ５Ｑ符号は、３つの１３ビット・シフト・レジスタＸＡ７１０、ＢＸＩ７１４、及びＸＢＱ７１８から発生する。ＸＢＩ７１４及びＸＢＱ７１８に以下の同じ多項式を用いる。
ＰＸＢ＝１＋Ｘ＋Ｘ３＋Ｘ４＋Ｘ６＋Ｘ７＋Ｘ１２＋Ｘ１３
ＸＡ７１０は、
ＰＸＡ＝１＋Ｘ９＋Ｘ１０＋Ｘ１２＋Ｘ１３
を用いる。
シフト・レジスタ７１０、７１４、及び７１８毎の単一ビット・フィードバックは、排他的論理和７１２によって設けられる。シフト・レジスタ７１０及び７１４からの出力の排他的論理和７２６によって、Ｘ５Ｉ  ７２８を生成する。シフト・レジスタ７１０及び７１８からの出力の排他的論理和７３０によって、Ｘ５Ｑ  ７３２を生成する。
【００６２】
Ｘ５Ｉ  ７２８及びＸ５Ｑ  ７３２は、双方共、ビット・レートが１０．２３ＭＨｚであり、１０２３０ビット長又は１ｍｓの時間期間を有する。１３ビットＭ−シーケンスの長さは、２１３−１ビット（８１９１ビット）に過ぎないので、ＸＡシフト・レジスタ７１０は、その８１９０番目のビットに達したとき、即ち、ＸＡシフト・レジスタ７１０が１６進数で１ＦＦＤに等しくなったときに、１ビット先にその初期状態に早く戻る(short cycled)ことになる。ＸＢシフト・レジスタ７１４及び７１８は早く戻ることはなく、そのため２コードの精度が得られる。これは、事実上、２０４０ビット長の第２のＭ−シーケンスを、最初の８１９０ビット・シーケンスの終端に接続することになる。ＸＢシフト・レジスタ７１４及び７１８は、双方共、１０２３０番目のビットの後、それらの初期状態に早く戻る。短サイクル(short cycle)は、ビットをカウントすることにより、又はレジスタをそれらの既知の最終状態と比較することによって、実施することができる。したがって、実施形態によっては、１つ以上の追加のカウンタ（８１９０までカウントするカウンタ及び／又は１０２３０までカウントするカウンタ等）及び／又は１つ以上の比較器（例えば、ＸＡ及び／又はＸＢレジスタを最終状態と比較する）を含ませるとよい。実施形態７００では、ＸＡシフト・レジスタ７１０の状態を検査し（７２４）、条件を満たす場合（１ＦＦＤに等しい）、１６進数で１ＦＦＦの初期状態をセットする（７２２）。他の実施形態では、短サイクルは、ビットをカウントすることによって実施することができる。ＸＢレジスタ７１４及び７１８の初期状態は、Ｘ５Ｉ及びＸ５Ｑコード毎に、そして異なる各衛星上では異なる。
【００６３】
Ｘ５Ｉ信号は、毎秒１００シンボル、レート１／２、制約又は継続長７畳み込み符号データで変調する。加えて、１−ｍｓ時間期間のＸ５Ｉ符号シーケンスは、更に、１０−ｍｓ時間期間（１シンボル期間）ノイマン−ホフマン符号で変調する。このコードは、ゼロのシンボルに対して１６進数の０３５に等しく、１のシンボルに対して１６進数の３ＣＡに等しい。ノイマン−ホフマン符号は、実際、信号捕獲の間に著しい不利を受けずに、スペクトル拡散符号を延長する。
【００６４】
また、Ｘ５Ｑ信号をデータで変調し、Ｘ５Ｑコードは、１６進数の０４Ｄ４Ｅに等しい２０−ｍｓ時間期間、２０ビットのノイマン・ホフマン符号の重畳によって延長し、多大な追加コストを信号捕獲にかけることなく、スペクトル拡散符号の長さを改善する。Ｘ５Ｑ符号は、追加の変調を有さない。即ち、これは追加のデータを搬送しない。変調データを有する信号に用いられることが多い位相ロック・ループ又はコスタス・ループのような、位相ロック技法を用いて、Ｘ５Ｑ符号を追跡することができる。位相ロック・ループは、ロック閾値感度を６ｄＢ高める。データのない符号も、弱信号環境において信号捕獲を改善するために、コヒーレントに無限に積分することができる。
【００６５】
ＧＬＯＮＡＳＳ  ＧＮＳＳにおける衛星は全て、Ｌ１又はＬ２キャリア信号周波数のいずれかを有するキャリア信号上におけるそれらの公開符号に、共通の９ビットスペクトル拡散符号を用いる。現在、Ｌ１キャリア信号周波数を有するキャリア信号のみが一般ユーザに利用可能となっている。しかしながら、ＧＬＯＮＡＳＳは、同じ符号を用いるＬ２キャリア信号周波数を有するキャリア信号を提供する計画を発表している。ＧＬＯＮＡＳＳ  ＧＮＳＳでは、ＦＤＭＡ、即ち、異なるブロードキャスト・キャリア信号周波数を衛星毎に用いることによって、信号ダイバシティを達成する。ＧＬＯＮＡＳＳコードの多項式は、次の通りである。
Ｐ（Ｘ）＝１＋Ｘ５＋Ｘ９
図８は、この符号を発生するために単一ビット・フィードバックを供給する排他的論理和８１２を有するシフト・レジスタ８１０の実施形態８００を示す。
【００６６】
ＧＬＯＮＡＳＳ符号は、長さが５１１ビット長であり、当然５１１ビット毎に再開する。符号レートは０．５１１ＭＨｚであるので、繰り返しレートは１ｍｓとなる。毎秒５０ビットのＢＰＳＫデータ・メッセージを、符号化した信号上に変調する。データ・ビットには、マンチェスタ変調コードを用いる。
【００６７】
ＧＬＯＮＡＳＳ衛星は、相互干渉を防止するために、ＦＤＭＡを用いる。各衛星は、異なるキャリア信号周波数を有するキャリア信号を用いて、信号をブロードキャストする。同じ軌道を占有する２機の衛星は、これらが地球の反対側の位置を占める場合には、周波数を共有することができる。ＧＬＯＮＡＳＳ周波数には、−７〜１３まで付番されている。ＭＨｚ単位のチャネルの周波数毎の式は、次の通りである。
Ｌ１ｋ＝１６０２＋ｋ・０．５６２５、及び
Ｌ２ｋ＝１２４６＋ｋ・０．４２７５
ここで、ｋは−７〜１３の範囲である。２００５年まで、ＧＬＯＮＡＳＳは周波数チャネル０〜１３までを用いることしか計画していない。（Ｌ１上で１６０２〜１６０９．３１２５ＭＨｚ、Ｌ２上で１２４６〜１２５１．６８７５ＭＨｚ）。チャネル０及び１３は、システムの検査のために残してある。２００５年に開始して、ＧＬＯＮＡＳＳは、低い方の周波数に移行し、チャネル−７から＋６（Ｌ１上で１５９８．０６２５〜１６０５．３７５ＭＨｚ、そしてＬ２上で２１４２．０３７５〜１２４８．６２５ＭＨｚ）を用いることを計画している。周波数５及び６は、検査のために用いられる。
【００６８】
ＷＡＳＳ、  ＥＧＮＯＳ、及びＭＳＡＳ  ＧＮＳＳは、現在、Ｌ１キャリア信号周波数を有するＧＰＳ型Ｃ／Ａ符号化信号を提供する。ＷＡＳＳ衛星のためにＧＰＳ  Ｌ５キャリア信号周波数上でサービスを追加することの議論が進んでいるが、法体系(codes)はまだ決着がついていない。
ＳＢＡＳ  ＧＮＳＳにおける衛星は、Ｃ／Ａ符号化信号を、ＢＰＳＫエンコード、毎秒５００シンボルのデータ・メッセージで変調する。レート１／２、制約又は継続長７の畳み込み符号を用いるので、データ・レートは毎秒２５０ビットとなる。
【００６９】
ＱＺＳＳ  ＧＮＳＳは、高度楕円軌道の３機以上の衛星を用い、これらの衛星の内少なくとも１機が日本における非常に高い地域において常に見えることを確保することを計画している。これらの衛星は、対応するＧＰＳ信号と同一のＬ１、Ｌ２、及びＬ５キャリア信号周波数を有する信号をブロードキャストする。
第４ＱＺＳＳ実験信号も、ＧＡＬＩＬＥＯ  Ｅ６キャリア信号周波数に計画されている。二進オフセット符号ＢＯＣ（１４、２）符号が考慮されているが、仕様はまだ決着していない。ＢＯＣ符号については、以下で論ずる。
【００７０】
ＧＡＬＩＬＥＯ  ＧＮＳＳ（及び今後可能な何らかのＧＰＳ符号）は、種々の形式の二進オフセット符号（ＢＯＣ）をスペクトル拡散符号上に重畳する符号を用いる。ＧＡＬＩＬＥＯは、Ｌ１、Ｌ５（Ｅ５Ａ及びＥ５Ｂ）及びＥ６キャリア信号周波数を有する信号を１０個まで提供することを計画している。これらの信号の一部は、公衆に利用可能であり、一部は有料で使用でき(pay for use)、一部は許可されたユーザのために残される。ＧＡＬＩＬＥＯが用いる符号の定義は、完結していない。信号の一部は、ＢＰＳＫ又はＧＰＳのようにＱＰＳＫエンコードを用い、それらの一部はＢＯＣを用いる。Ｇａｌｉｌｅｏ信号には種々の符号発生技法が検討されており、その中には、Ｍシーケンス・スペクトル拡散符号、及びアルゴリズムでは発生することができない符号が含まれる。非アルゴリズム符号の符号−ビット・シーケンスは、受信機のメモリに格納し、信号相関を行うときに、１ビットずつ呼び出せなければならない。
【００７１】
ＢＯＣは、ＢＰＳＫ符号及び方形波の排他的論理和又は組み合わせである。伝統的なマンチェスタ変調符号は、ＢＰＳＫデータ・ビット当たり１方形波サイクルのＢＯＣ符号である。ＧＮＳＳが用いる方形波及びＢＰＳＫ符号のレートを、ＢＯＣ（Ａ、Ｂ）という表記で分類することが習慣となっており、ここで、Ａは１．０２３ＭＨｚ周期毎の方形波サイクル数であり、Ｂは１．０２３ＭＨｚ周期毎のＢＰＳＫビット数である。種々のＧＮＳＳによって検討されているＢＯＣ符号は、Ｌ１キャリア信号周波数を有するＧＡＬＩＬＥＯ公衆信号用のＢＯＣ（１、１）、Ｌ１及びＬ２キャリア信号周波数を有するＧＰＳ軍用信号用のＢＯＣ（１０、５）、Ｌ６キャリア信号周波数を有するＱＺＳＳ信号用のＢＯＣ（１４、２）、Ｅ５Ａ及びＥ５Ｂキャリア信号周波数を有する高精度ペイ・フォー・ユース信号用のＢＯＣ（１５、Ｘ）、並びにＬ１キャリア信号周波数を有するＧＡＬＩＬＥＯ公衆規制（許可された使用のみ）信号用のＢＯＣ（１５、２．５）を含む。
【００７２】
ＢＯＣ符号を用いる理由の１つは、信号間干渉を最小に抑えるためである。例えば、ＧＰＳ  Ｃ／Ａ及びＰ符号化信号のパワー・スペクトルは、Ｌ１キャリア信号周波数を中心とする主要ピークと、符号繰り返しレート（Ｃ／Ａ符号では１．０２３ＭＨｚ、そしてＰ符号では１０．２３ＭＨｚ）においていずれの側の周波数にもヌル(null)を有する。小さいサイド・ローブが、符号繰り返しレートで繰り返される。ＢＯＣ符号において重畳される方形波が、中心キャリア信号周波数から方形波の繰り返しレートだけずれた２つのローブ間で、信号パワーを等しく分割する。ＧＡＬＩＬＥＯ  ＢＯＣ（１、１）符号の場合、２つのＢＯＣ信号パワー・ピークが、約１ＭＨｚだけキャリア信号周波数から変位しており、中心周波数にヌルがある。その結果、ＢＯＣ信号パワーのピークは、直接Ｃ／Ａ符号信号パワーのヌル上に位置し、ＢＯＣヌルはＣ／Ａ符号信号パワーのピークと一致する。つまり、ＧＰＳ及びＧＡＬＩＬＥＯ信号間の干渉が最小限に抑えられる。
【００７３】
ＢＯＣ符号及びＢＯＣ符号の追跡には、ＢＰＳＫビット・エッジの開始に対していくつかの異なる位相関係を有する方形波を用いる。方形波エッジの開始がＢＰＳＫビット・エッジの開始よりも０、９０、１８０、又は２７０度（方形波サイクルにおいて）だけ遅れる４種類の相対的関係が最も慣例的である。これら４つの可能な位相関係を、以後［００１１］、［０１１０］、［１１００］、及び［１００１］と呼ぶことにする。ここで、１及び０は、ＢＯＣ波のＢＰＳＫビット・エッジに対する相対的な位相及び極性を定める。図９は、ＢＯＣ（１、１）についてのタイミング図の一実施形態９００を示す。しかしながら、この論述は、ＢＰＳＫビット毎に整数個の方形波を有するいずれのＢＯＣ符号にも適用することができる。［００１１］方形波９１２及び［１１００］方形波９１４の前エッジは、ＢＰＳＫ符号エッジ９１０と同相である。［００１１］方形波９１２は、方形波周期の前半では低であり、一方［１１００］方形波９１４はその前半では高である。［０１１０］方形波９１６及び［１００１］方形波９１８は、ＢＰＳＫ符号エッジ９１０とは、方形波周期の１／４だけ位相がずれている。［０１１０］方形波９１６は、方形波周期の最初の１／４では低であり、次の半分では高であり、最後の１／４では低である。［１００１］方形波９１８は、［０１１０］方形波９１６の逆である。
【００７４】
［００１１］方形波９１２及び［１１００］方形波９１４は、「標準的な」ＢＯＣ波形である。しかしながら、ＧＮＳＳ衛星がどれを用いるべきか定める際、ＧＮＳＳ衛星のためにＢＯＣ符号仕様の別のそして何らかの選抜候補(draft)を差し置いて１つを選択するための厳格な慣例が無視されているのではない。［０１１０］方形波９１６及び［０１００１］方形波９１８に基づくＢＯＣ符号も、ＱＢＯＣと呼ばれている。
【００７５】
図１０は、ＢＯＣ（１、１）又はＢＯＣ（２、２）のような、ＢＯＣ（Ａ、Ｂ）を生成するために、ＢＰＳＫ符号を方形波と組み合わせる実施形態１０００を示す。ＢＰＳＫ符号１０１０は、Ａ×１．０２３ＭＨｚ  ＢＰＳＫ符号化信号の４ビットを示す。４つのＢＰＳＫビットは、０−１−０−０である。Ｂ×１．０２３ＭＨｚ  ＢＰＳＫ［１１００］方形波１０１２とＢＰＳＫ符号化信号１０１０との排他的論理和により、ＢＯＣ（Ａ、Ｂ）符号化信号１０１４が得られる。Ｂ×１．０２３ＭＨｚ  ＢＰＳＫ［１００１］方形波１０１６とＢＰＳＫ符号化信号１０１０との排他的論理和により、ＱＢＯＣ（Ａ、Ｂ）符号化信号１０１８が得られる。
【００７６】
図３を参照すると、先に論じたように、複製信号の位相、周波数、及びタイミングが、相関器３３２及び３３４によって蓄積されたパワーに強い影響を及ぼしている。符号追跡ループは、信号の複製と受信信号との間にこれらの関係を維持しようとする。図１１は、符号ＮＣＯ３２８の実施形態１１００を示す。符号ＮＣＯレート１１１０をフィードバックとして用いて、符号追跡ループを閉じ、符号のタイミングを制御する。このフィードバックは、符号ビット・レート及びドプラの和である。通例、符号追跡ループは、比較的広いキャリア追跡ループによって、緊密に援助される。高周波数動力学を、広い方のキャリア追跡ループによって追跡する。狭い方（ノイズが少ない）帯域幅は、符号追跡ループに用いることができる。ｍｓ当たり１回よりも遅いフィードバック更新レートを、符号ＮＣＯレート１１１０に用いるとよい。適切な更新レートは、符号追跡ループの設計パラメータの１つである。例えば、典型的なフィードバック・レートは、ループ帯域幅の約１／１０に等しい。フィードバック・レートを高くする程、処理負荷が増大するが、ループ性能には殆ど影響を及ぼさないと思われる。ループ帯域幅の１／１０よりも低いフィードバック・レートでは、ロックが失われるか、又は動的条件の下ではループ・ノイズが増大する可能性がある。
【００７７】
符号追跡ループにおける符号ＮＣＯ３２８（図３）は、加算器１１１２及び符号位相蓄積器１１１４を用いて符号ＮＣＯレート１１１０を積分することにより、実質的に、受信機において発生した複製符号の位相を維持することができる。実施形態によっては、符号ＮＣＯレート１１１０は、受信した信号における符号のチップ・レートである。ＢＯＣ符号、ＱＢＯＣ符号、時間多重符号、Ｍ−シーケンス・スペクトル拡散符号を発生することができる、及び／又は受信機のメモリから非アルゴリズム符号ビットを取り出すことができるコーダ３３０のタイミング及びイネーブル信号は、符号ＮＣＯ３２８から導出することができる。ＢＯＣ符号では、符号ＮＣＯレート１１１０は、方形波のビット・レートである。スペクトル拡散符号レートは、このビット・レートを除数Ｂ１１２４で除算することによって得られる。単純なスペクトル拡散符号では、符号ＮＣＯレート１１１０は、符号ビット・レートとなり、除数Ｂ１１２４は１である。
【００７８】
符号ＮＣＯ３２８（図３）によって、３つの主要な制御信号を発生することができる。これらは、半チップ・イネーブル１１４６、ＢＯＣ１１４８、及びＱＢＯＣ１１５０である。半チップ・イネーブル１１４６は、コーダ３３０及びサブチャネルにとって主要なイネーブル信号である。ＢＯＣ１１４８及びＱＢＯＣ１１５０は、ＢＯＣ符号のための方形波である。ＢＯＣ１１４８及びＱＢＯＣ１１５０は、排他的論理和ゲート１１３２及び／又は１１３４、並びにレジスタ１１２６、１１２８、及び１１３０を用いて、反転又はディスエーブルさせることができる。
【００７９】
ＢＯＣ方形波及びＭ−シーケンス・スペクトル拡散符号の相対的なタイミングは、除数Ｂ１１２４を用いることによってプログラムすることができる。除数Ｂ１１２４は、Ｍ−シーケンス符号ビット当たりの方形波の数である。実施形態例では、非ＢＯＣ符号では、除数Ｂ１１２４を１にセットし、ＢＯＣ１１４８及びＱＢＯＣ１１５０信号をディスエーブルする。ＢＯＣ（１、１）、ＢＯＣ（２、２）、又はＢＯＣ（１０、１０）では、除数Ｂ１１２４を１にセットする。ＢＯＣ（１０、５）では、除数Ｂ１１２４を２にセットする。ＢＯＣ（１５、２．５）では、除数Ｂ１１２４を６にセットする。そして、ＢＯＣ（１４、２）では、除数Ｂ１１２４を７にセットする。総合的に、ＢＯＣ方形波ＢＯＣ１１４８及びＱＢＯＣ１１５０は、ＢＯＣ方形波（図９に示す）の４つの可能な位相全てを供給する。ＢＯＣ１１４８は、［００１１］又は［１１００］のいずれかとなるように構成することができ、一方ＱＢＯＣ１１５０は［０１１０］又は［１００１］のいずれかとなるように構成することができる。また、相関器３３２及び３３４（図３）からの蓄積も、ＢＯＣ１１４８及びＱＢＯＣ１１５０方形波の組み合わせを用いる信号処理技法を実施するために、ＢＯＣ１１４８又はＱＢＯＣ１１５０のいずれかを用いるように構成することができる。
【００８０】
種々のスペクトル拡散符号についてのこれまでの論述から、受信機の中にあるコーダ３３０（図３）のような１つ以上のコーダは、シフト・レジスタを用いて２つの同等なドメインの内の１つにおいて実施できることは明白である。図４、図７、及び図８に示す第１ドメインでは、多ビットの排他的論理和ツリーを用いて、モジュロ−２単一ビット・フィードバックを実施する。この伝統的な形式のコーダをフィボナッチ構成(Fibonacci configuration)と呼ぶ。図５に示す第２ドメインでは、多数のフィードバック・ビットを用いる。各フィードバック・ビットは、シフト・レジスタにおける出力ビット及び個々のビットの排他的論理和である。この形式のコーダをガロア構成と呼ぶ。いずれのドメイン又はコーダ形式でも、所与のスペクトル拡散符号を発生するために用いることができる。一方のドメインから他方に変換するアルゴリズムについて、以下に説明する。これによって、コーダ３３０（図３）のような、１つのコーダが受信機において２つ以上のスペクトル拡散符号を発生することが可能になる。
【００８１】
ＧＮＳＳ信号において用いられる種々のスペクトル拡散符号の各々は、１つ以上のガロア体多項式を用いて発生する。Ｌ２Ｃ符号（図５）及びＧＬＯＮＡＳＳ  ＧＮＳＳにおいて用いられる符号（図８）は、１つの多項式及び１つのシフト・レジスタを用いる。その他のスペクトル拡散符号は、２つの多項式を用い、２つのシフト・レジスタの出力の排他的論理和を取ることによって、それらの符号を形成する。しかしながら、シフト・レジスタのサイズ、及びスペクトル拡散符号を発生するガロア体多項式の度数(degree)には、大きなばらつきがある。
【００８２】
ＧＬＯＮＡＳＳ  ＧＮＳＳは、１つの９ビット・レジスタ８１０（図８）を用いる。ＧＰＳ  ＧＮＳＳでは、Ｃ／Ａ符号は２つの１０ビット・レジスタ４１０（図４）を用いる。ＧＰＳ  Ｌ５符号は、２つの１３ビット・レジスタ７１４及び７１８（図７）を用い、ＧＰＳ  Ｌ２Ｃ符号は１つの２７ビット・レジスタ５１０（図５）を用いる。先に論じたように、ＧＰＳ  Ｌ５符号（図７）の長さは１０２３０ビットであるが、ガロア体多項式及びシフト・レジスタ７１０、７１４、及び７１８（図７）が発生するシーケンスは、長さが８１９０である。その結果、同じファミリの第２符号からの２０４０ビットが添付されて、８１９１番目のビットから始まり、所望の長さが得られる。
【００８３】
ＧＰＳ  Ｌ２Ｃ符号を除いて、紹介した符号の全てを求めるコーダは、ファボナッチ構成を用い、所与のシフト・レジスタの「若い」端部(young end)に１つのフィードバック・ビットを宛てる。これらのコーダの種々の例では、シフト・レジスタの若い端部は、左側にある。しかしながら、代替実施形態では、シフト・レジスタの若い端部は右側にある。フィードバックは、シフト・レジスタ・ビットの数個の排他的論理和から形成する。コーダにおいて、多入力排他的論理和を用いて、これらの符号を実現する。対照的に、Ｌ２Ｃ符号を求めるコーダが用いるフィードバックは、出力ビットと個々のレジスタ・ビットとの排他的論理和を取ることによって形成する。フィードバックは、同時に数個の異なるビット位置において行われる。したがって、Ｌ２Ｃフィードバックは、２入力、１出力の排他的論理和ゲートによって実施される。ガロア構成において用いられる排他的論理和ゲートの方が、特に非常に高速な符号では、フィボナッチ構成において用いられる多入力形態よりも好ましいと考えられる。尚、Ｌ２Ｃ符号を求めるためのシフト・レジスタ５１０（図５）における若い端部は、右側にあることを注記しておく。しかしながら、代替実施形態では、Ｌ２Ｃ符号を求めるためのシフト・レジスタ、及びガロア構成を用いるその他のコーダの若い端部は、左側にあってもよい。
【００８４】
因数分解(factor)できないガロア体多項式が、最大長のシーケンスを生成する。その結果、このような多項式を既約又は原始多項式と呼ぶ。対応するシーケンスを最大シーケンスと呼び、符号をＭコードとも呼ぶ。ビット・シーケンスの非繰り返し長は２Ｎ−１であり、Ｎは多項式の度数である。最大長シーケンスの発生の間、シフト・レジスタが早めに巡回(short cycle)しないのであれば、シフト・レジスタの内容は、Ｎビットの整数として表すと、１から２Ｎ−１までの全ての値を取る。
【００８５】
２つの最大長シーケンス（ＧＮＳＳにおける多くのスペクトル拡散符号と同様）の排他的論理和を取ることによって形成したスペクトル拡散符号は、当該２つの最大長シーケンスの多項式のビット毎の乗算（キャリーのないモジュロ−２加算を用いる）である多項式として表現することができる。得られる多項式の度数は、乗算する多項式の度数の和に等しい。あるいは、得られる多項式の度数は、乗算する多項式の度数の和に等しい。例えば、Ｃ／Ａ符号は、度数１０の多項式によって定義される２つの符号の排他的論理和である（図１０に示すように）。このスペクトル拡散符号は、度数２０の１つの多項式によって実施することができる。組み合わせた多項式からは、最大長ビット・シーケンスは得られない。１０２３ビットの後、１０ビットＣ／Ａ符号多項式と同じように繰り返す。
【００８６】
以下ではカーン変換(Cahn Transformation)と呼ぶ、多項式を乗算し組み合わせる方法を以下に提示する。ＰＲＮ−１に対するＣ／Ａスペクトル拡散符号を、本手順における動作の説明例として用いる。動作はある順序で呈示する。しかしながら、実施形態によっては、２つ以上の動作の順序が変化してもよく、追加の動作を加えてもよく、動作を組み合わせてもよく、及び／又は動作を除去してもよい。
【００８７】
カーン変換の例では、Ｃ／Ａ多項式を二進形態でＮ＋１ビット整数として表現し、最も右（最下位ビット）に１があり、右からＮ番目のビットにＸＮがある。ビットの順序を逆転すると、次のようになる。
Ｇ１＝１＋Ｘ３＋Ｘ１０＝１００１００００００１
Ｇ２＝１＋Ｘ２＋Ｘ３＋Ｘ６＋Ｘ８＋Ｘ９＋Ｘ１０＝１０１１００１０１１１
通常の乗算におけるように、多項式をビット毎に乗算するが、排他的論理和（モジュロ２）加算を用いて列毎に加算すると（キャリーを破棄する）、次のようになる。
１０１１００１０１１１
１００１００００００１
１０１１００１０１１１
１０１１００１０１１１
１０１１００１０１１１                    
１０１００１００１００１００００１０１１１
【００８８】
結果を多項式形態で表現し、多項式において最下位ビットをＸ２Ｎ、左端の１ビットを１とすると、以下の式が得られる。
Ｃ／Ａ多項式＝１＋Ｘ２＋Ｘ５＋Ｘ８＋Ｘ１１＋Ｘ１６＋Ｘ１８＋Ｘ１９＋Ｘ２０
この例において発生したビット・シーケンスは、１０２３ビットの後繰り返す。これは、Ｃ／Ａ符号Ｇ１及びＧ２シーケンスの長さでもある。シフト・レジスタの初期状態は、それぞれのスペクトル拡散符号に対して第１Ｎビットである（残りのビットは０である）。最初のビットは、シフト・レジスタの右端のビットに入る。このビットは、ＸＮに対応する。Ｃ／Ａスペクトル拡散符号ＰＲＮ−１では、最初の２０ビット（右から左へ）は、（２０番目のビット）００１０  １００１  １１００  ０００１  ００１１（最初のビット）＝２９Ｃ１３（１６進数）となる。この新しい符号形態のフィードバック・ビットは、多項式によって参照される全てのビットの排他的論理和を取ることによって組み立てられる。フィードバック・ビットをシフトして、シフト・レジスタの左側にある「最も若い」ビットに入れる。Ｃ／Ａスペクトル拡散符号では、フィードバックは、非ゼロ多項式ＸＮ項：Ｘ２、Ｘ５、Ｘ８、Ｘ１１、Ｘ１６、Ｘ１８、Ｘ１９、及びＸ２０に対応するシフト・レジスタ・ビットの排他的論理和である。
フィードバックをＸ１位置に書き戻す。
【００８９】
この手順を用いると、受信機におけるコーダの内２つ以上、又は全部を、１つのシフト・レジスタによって実施することができる。Ｌ２Ｃ符号の多項式は、既に正しい形態になっているが、手順において示すように多項式に基づいて、しかるべきフィードバックを組み立てるとよい。
実施形態によっては、この手順は、シフト・レジスタにおける右端のビットを１ビット、左端のビットをＸＮビットとして実施することもできる。
【００９０】
一旦スペクトル拡散符号の全てを単一レジスタ形態に変換すると、ＧＮＳＳスペクトル拡散符号ビット・シーケンスの２つ以上、又は全部を実施することができる１つのコーダを実施することができる。このようなコーダを例示する実施形態１２００を図１２に示す。実施形態１２００におけるコーダは、適応化、構成、及び／又はプログラムすることができる。制御ロジック１２２４は、フィードバック多項式マスク表１２１８から発生するスペクトル拡散符号に合わせて、フィードバック多項式マスク１２１６（符号多項式の二進表現）を選択する。フィードバック・マスク１２１６は、対応する多項式に１を含まない。Ｎビット・シフト・レジスタ１２１０及びフィードバック多項式マスク１２１６からのビットを、２入力、１出力排他的論理和ゲート１２２０及び１２２２を用いて、ビット毎に組み合わせる。フィードバック・ビットは、その結果のＮビットの排他的論理和である。この実施態様では、排他的論理和ツリーは、約ｌｏｇ２（Ｎ）＋２の深さを有する。ツリーは、それが正しい結果に落ちつくまでに、かなりの波及(ripple-through)遅延を有する場合がある。ＧＰＳ  Ｌ５のようなスペクトル拡散符号では、シフト・レジスタ１２１０の初期状態は、制御ロジック１２１４を用いて、初期状態表１２１２から選択することができる。出力１２１４は、所望のスペクトル拡散符号信号に対応する。
【００９１】
図５に示すＬ２Ｃコーダのような、ガロア構成を用いるコーダにおけるフィードバック様式は、一般化が一層容易である場合があり、波及遅延が少ない。図１３における実施形態１３００は、一般化したコーダを示す。このコーダは、適応化、構成、及び／又はプログラムすることができる。対象のスペクトル拡散符号に応じて、制御ロジック１３２０は、初期状態ベクトル表１３１２において、シフト・レジスタ１３１０の初期状態ベクトル、短サイクル初期状態ベクトル表１３１４においてシフト・レジスタ１３１０の短サイクル初期状態ベクトル、及び／又はフィードバック多項式マスク表１３１８においてフィードバック多項式マスク１３１６を選択することができる。コーダ３３０（図３）として用いることができるプログラム可能なコーダの実施形態は、ビット数が最長符号多項式、又は度数が最も高い符号多項式以上のシフト・レジスタ１３１０を有するとよい。ＧＰＳ  Ｌ２Ｃ符号は、２７ビットに対応する多項式を有する。実施形態によっては、ＧＡＬＩＬＥＯ符号の一部のように、更に長い符号に対処するために、３２ビット・レジスタを用いることもある。
【００９２】
プログラム可能な最終状態及びプログラム可能な短サイクル状態は、シフト・レジスタ１３１０の格納されている状態と合わせてロジック１３２２及び／１２３４を用いて、レジスタあるいは表１３２６及び／又は１３２８を用いて判定することができる。実施形態によっては、最終状態及び／又は短サイクル状態は、ハードウェア又はソフトウェアのいずれかを用いた適宜のコーダの実施態様を用いて発生することができる。実施形態によっては、最終状態及び／又は短サイクル状態は、初期状態以降の出力１３３２における符号ビット数をカウントし、カウントを終端カウント(terminal count)と比較することによって判定することができる。
【００９３】
最終状態ロジック１３２２を用いて、自然に再巡回しない符号に必要な符号エポック及び符号再開を作成する。例えば、ＧＰＳ  Ｌ２Ｃ及びＬ５符号の長さは、それらの成分スペクトル拡散符号の自然な長さと一致しない。最終状態を検出したときに、シフト・レジスタ１３１０を、初期状態ベクトル表１３１２における初期状態ベクトルにリセットする。
【００９４】
短サイクル状態ロジック１３２４を用いて、ＧＰＳ  Ｌ５符号のような、それらのビット・シーケンスの途中で符号レジスタの状態を変化させる符号を実施する。短サイクルがスイッチをトリガする。短サイクル状態を検出したときに、シフト・レジスタ１３１０を、短サイクル初期状態ベクトル表１３１４における短サイクル初期状態ベクトルにリセットする。シフト・レジスタ１３１０では決して発生しない０のような値にレジスタ１３２８をセットすることによって、短サイクルをディスエーブルすることもできる。
【００９５】
定めたＧＰＳ及びＳＢＡＳ符号に対してプログラム可能な表又はレジスタの値を補足資料に掲示する。最終状態レジスタ１３２６及び短サイクル・レジスタ１３２８に対する値は、しかるべきビット番号においてシフト・レジスタの内容を記録したコーダのソフトウェア・シミュレーションを用いて発生した。また、初期状態ベクトル表又はレジスタ１３１２の値を得るために用いたアルゴリズムは、短サイクル初期状態ベクトル又はレジスタ１３１４の値を得るためにも用いた。
【００９６】
プログラム可能なコーダの実施形態１３００におけるフィードバックは、出力ビット１３３０が１の場合に、フィードバック多項式マスク１３１６とシフト・レジスタ１３１０におけるビットとのビット毎の排他的論理和を取ることによって実行する。フィードバック・アルゴリズムは、以下のような疑似符号を用いて要約することができる。
if(X[0]≠0){
X[i=0, 1, … , 30]=X[i+1] +FEEDBACK[i];
X[31]=FEEDBACK[31];
}
else{
X[i=0, 1, … , 30]=X[i+1];
X[31]=0;
}
ここで、Ｘ［ｉ］は、シフト・レジスタ１３１０におけるビットを表す。
【００９７】
実施形態１３００では、フィードバック多項式マスク１３１６のビットには、右から左に付番してある（図１２における実施形態１２００の逆）。Ｘ１を右端（最下位）ビットに入れ、ＸＮを左端ビットに入れる。対応する多項式からの１は、ここでも無視する。実施形態によっては、最上位及び最下位ビットの順序が逆であってもよい。
【００９８】
実施形態によっては、シフト・レジスタ１３１０の初期状態は、出力１３３２上のスペクトル拡散符号の最初のＮ出力ビットから判定することもできる。これら最初のＮビットは、初期状態ベクトル表１３１２に格納することができる、公開されている表から取り込むことができ、あるいはハードウェア又はソフトウェアのいずれかのしかるべきコーダの実施態様を用いて計算してもよい。出力符号ビットは、パックしたデータ・ワードＯｋに格納し、後続のアルゴリズムへの入力として用いることができる。ＰＲＮ−１に対するＣ／Ａスペクトル拡散符号を、本手順の各動作に対する説明例として用いる。
【００９９】
初期状態ベクトル又はレジスタＳ及びシフト・レジスタＸ１３１０を０に初期化する。アルゴリズムは、初期状態レジスタＳのビットを計算する。フィードバック多項式マスク又はレジスタＦ１３１６を、所望の符号に対するガロア体フィードバック多項式に初期化し、ビットに左から右に付番し、多項式における１を無視する。つまり、Ｓ＝０、Ｘ＝０、フィードバック多項式は、次のようになる。
Ｘ２０＋Ｘ１９＋Ｘ１８＋Ｘ１６＋Ｘ１１＋Ｘ８＋Ｘ５＋Ｘ２＋１
そして、対応するフィードバック多項式マスクＦは、１１１０  １０００  ０１００  １００１  ００１０、又は１６進数でＥ８４９２となる。最初のビットが右側にあるＣ／Ａスペクトル拡散符号ＰＲＮ１に対する出力ビットＯｋは、Ｏｋ＝００１０  １００１  １１００  ０００１  ００１１＝２９Ｃ１３（１６進数）となる。
【０１００】
ｋ＝１にセットする。これは、処理する次のビットである。ビットには１（最初の出力ビット）からＮまで付番する。ＳｋをＯｋ及びＸｋの排他的論理和にセットする。つまり、Ｏ１＝１及びＳ１＝１  ＸＯＲ  ０＝１となる。Ｘを右に１ビットシフトする。即ち、Ｘ＝０００００（１６進数）となる。Ｏｋ＝１の場合、ＸをＸ及びＦの排他的論理和にセットする。つまり、Ｘ＝Ｘ  ＸＯＲ  Ｆ＝０００００（１６進数）  ＸＯＲ  Ｅ８４９２（１６進数）＝Ｅ８４９２（１６進数）となる。このパラグラフにおける動作をｋ＝２からＮまで、多項式の長さだけ繰り返す。以下に、ｋの数個の値に対する動作を例示する。
【０１０１】
ｋ＝２では、出力ビットＯ２＝１となる。Ｘの最下位ビットＸ０は０に等しい。Ｓ２＝Ｘ０  ＸＯＲ  Ｏ２＝０  ＸＯＲ  １＝１。Ｘを右に１ビットだけシフトすると、Ｘ＝７４２４９（１６進数）となる。次いで、Ｘ＝Ｘ  ＸＯＲ  Ｆ＝７４２４９（１６進数）  ＸＯＲ  Ｅ８４９２（１６進数）  ＝  ９Ｃ６ＤＢ（１６進数）となる。
【０１０２】
ｋ＝３では、出力ビットＯ３＝０となる。Ｘの最下位ビット、Ｘ０は１に等しい。Ｓ３＝Ｘ０  ＸＯＲ  Ｏ３＝１  ＸＯＲ  ０＝１。Ｘを右に１ビットだけシフトすると、Ｘ＝４Ｅ３６Ｄ（１６進数）となる。出力ビットは０に等しい（フィードバックはない）。
【０１０３】
ｋ＝４では、出力ビットＯ４＝０となる。Ｘの最下位ビット、Ｘ０は１に等しい。Ｓ４＝Ｘ０  ＸＯＲ  Ｏ４＝１  ＸＯＲ  ０＝１。Ｘを右に１ビットだけシフトすると、Ｘ＝２７１Ｂ６（１６進数）となる。出力ビットは０に等しい（フィードバックはない）。
【０１０４】
ｋ＝５では、出力ビットＯ５＝１となる。Ｘの最下位ビットＸ０は０に等しい。Ｓ５＝Ｘ０  ＸＯＲ  Ｏ５＝０  ＸＯＲ  １＝１。Ｘを右に１ビットだけシフトすると、Ｘ＝１３８ＤＢ（１６進数）となる。次いで、Ｘ＝Ｘ  ＸＯＲ  Ｆ＝１３８ＤＢ（１６進数）  ＸＯＲ  Ｅ８４９２（１６進数）  ＝  ＦＢＣ４９（１６進数）となる。
【０１０５】
ｋ＝６では、出力ビットＯ６＝０となる。Ｘの最下位ビットＸ０は０１に等しい。Ｓ６＝Ｘ０  ＸＯＲ  Ｏ６＝０  ＸＯＲ  １＝１。Ｘを右に１ビットだけシフトすると、Ｘ＝７ＤＥ２４（１６進数）となる。出力ビットは０に等しい（フィードバックはない）。
【０１０６】
ｋ＝７では、出力ビットＯ７＝０となる。Ｘの最下位ビットＸ０は０に等しい。Ｓ７＝Ｘ０  ＸＯＲ  Ｏ７＝０  ＸＯＲ  ０＝０。Ｘを右に１ビットだけシフトすると、Ｘ＝３ＥＦ１２（１６進数）となる。出力ビットは０に等しい（フィードバックはない）。
【０１０７】
ｋ＝８では、出力ビットＯ８＝０となる。Ｘの最下位ビットＸ０は０に等しい。Ｓ８＝Ｘ０  ＸＯＲ  Ｏ８＝０  ＸＯＲ  ０＝０。Ｘを右に１ビットだけシフトすると、Ｘ＝１Ｆ７８９（１６進数）となる。出力ビットは０に等しい（フィードバックはない）。
【０１０８】
動作をビット９〜２０までについて繰り返すと、Ｃ／Ａスペクトル拡散符号ＰＲＮ−１に対してＳ＝０Ｅ５３Ｆ（１６進数）が得られる。
【０１０９】
プログラム可能なコーダの実施形態１３００は、公衆ＧＮＳＳ衛星信号が用いるスペクトル拡散符号のいずれでも発生することができる。実施形態１３００はガロア構成を示すが、別の実施形態では、同等のフィボナッチ構成を用いてもよい。しかしながら、フィボナッチ構成では、実施態様が大型化し、最終状態及び短サイクル状態を一般化するために利用する回路が更に複雑になる可能性がある。
【０１１０】
図１５は、衛星ナビゲーション・デバイスにおける動作の一実施形態を示す。可調節符号発生器は、スペクトル拡散符号信号の集合から選択されたスペクトル拡散符号を発生するように構成されている（１５１０）。スペクトル拡散符号信号を発生する（１５１２）。実施形態によっては、動作がこれらよりも少ない場合も多い場合もあり、動作の順序を入れ替えることもでき、及び／又は２つ以上の動作を組み合わせることもできる。
【０１１１】
図１４は、汎地球ナビゲーション衛星システム（ＧＮＳＳ）における、デバイス１１０（図１）のようなデバイス１４１０の一実施形態を示す。デバイス１４１０は、フロント・エンド回路１４１２、信号プロセッサ２４２（図２Ａ）のような信号プロセッサ１４１４、少なくとも１つのプロセッサ１４１６、及びメモリ１４１８を含む。メモリ１４１８は、高速ランダム・アクセス・メモリを含むことができ、更に１つ以上の磁気ディスク記憶デバイス、ＥＥＰＲＯＭ及び／又はフラッシュＥＥＰＲＯＭのような不揮発性メモリも含むことができ、オペレーティング・システム１４２０、及びプロセッサ１４１６が実行する少なくとも１つのプログラム・モジュール１４３２を含む。少なくとも１つのプログラム・モジュール１４３２は、ＡＧＣ１４２２、Ａ／Ｄ変換器１４２４、ＤＣ−オフセット補正１４２６、復調１４２８、位相回転１４３０、ＧＮＳＳコーダ／デコーダ１４３４、並びにキャリア及び符号ロック１４４２の回路に対応する命令及び／又はファイルを含む。Ａ／Ｄ変換器１４２４は、１つ以上の量子化マッピングを含むことができる。位相回転１４３０は、正弦／余弦参照表を含むことができる。ＧＮＳＳコーダ／デコーダ１４３４は、フィードバック多項式マスク１４３６、初期状態ベクトル１４３８、及び短サイクル初期状態ベクトル１４４０を含むことができる。プログラム・モジュール１４３２は、任意のマルチパス補正（二重デルタ補正、ストローブ相関器、及びパルス・アパーチャ相関器等）、及び／又はマルチパス計算を含むことができる。また、プログラム・モジュール１４２４は、第１チャネルのような１つ以上のチャネル、及び／又はサブチャネル回路２００（図２Ａ）のような１つ以上のサブチャネル回路において、ＩＦ、フィルタ、ミキサ、及び／又はＬＯ周波数を調節するための命令も含むことができる。実施形態の中には、プロセッサ１４１６が１つよりも多い場合もある。他の実施形態では、デバイス１４１０は、ＡＳＩＣを含むこともでき、プロセッサ１４１６が実行する少なくとも１つのプログラム・モジュール１４３２の機能性の一部又は全部をＡＳＩＣ内に実装することもできる。
【０１１２】
以上、ＧＮＳＳの文脈でプログラム可能なコーダについて説明したが、シフト・レジスタを用いる同様の符号発生器及び疑似ランダム・シーケンス発生器が広く用いられている。したがって、プログラム可能なコーダは、フィボナッチ又はガロア構成のいずれであっても、ＧＮＳＳ受信機以外のほかの用途においても実施可能であることは言うまでもない。加えて、カーン変換は、第１ドメイン又は第２ドメインのいずれにおいても、疑似ランダム符号発生器を実施するために用いることができる。このような符号発生器は、プログラム可能でも又は固定でもよい。
【０１１３】
以上の記載では、説明の目的上、本発明の完全な理解を得るために、具体的な名称を用いた。しかしながら、本発明を実施するためには、具体的な詳細は必要でないことは当業者には明白であろう。実施形態は、本発明の原理及びその実用的用途を最良に説明し、これによって、他の当業者が本発明及び種々の実施形態を、想定される個々の仕様に適した種々の修正と共に、最良に利用することができるようにするために選択し説明したのである。したがって、前述の開示は、それだけ余すことがない全てであることも、本発明と開示した通りの形態に限定することも意図していない。以上の教示を検討することにより、多くの修正や変形が可能である。
発明の範囲は、以下の特許請求の範囲及びその均等物によって定義されることとする。
【図１】
0005490185.tif 000002
【図２Ａ】
0005490185.tif 000003
【図２Ｂ】
0005490185.tif 000004
【図３】
0005490185.tif 000005
【図４】
0005490185.tif 000006
【図５】
0005490185.tif 000007
【図６】
0005490185.tif 000008
【図７】
0005490185.tif 000009
【図８】
0005490185.tif 000010
【図９】
0005490185.tif 000011
【図１０】
0005490185.tif 000012
【図１１】
0005490185.tif 000013
【図１２】
0005490185.tif 000014
【図１３】
0005490185.tif 000015
【図１４】
0005490185.tif 000016
【図１５】
0005490185.tif 000017