説明

衛星ナビゲーション受信機用適応符号発生器

【課題】GNSS(衛星間干渉を軽減するために符号ダイバシティ・マルチ・アクセス方法を利用するGNSS)及び異なるGNSSにおける異なる衛星からのナビゲーション信号に対応する多くの異なる疑似ランダム符号を発生する回路を有することが多い。この回路のために、受信機に余分な複雑さやコストがかかることになく、GNSS受信機における疑似ランダム符号の発生を改良する。
【解決手段】可調節符号発生器は、スペクトル拡散符号信号の集合を発生するように構成することができる。各スペクトル拡散符号信号は、それぞれの周期に対応するそれぞれの長さを有する。スペクトル拡散符号信号の集合は、別個の第1及び第2長を有する第1及び第2スペクトル拡散符号信号を含む。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、一般的には、汎地球ナビゲーション衛星システム(GNSS)に関し、更に特定すれば、衛星ナビゲーション受信機用適応符号発生器に関する。
【背景技術】
【0002】
グローバル・ナビゲーション衛星システム(GNSS)における受信機は、グローバル・ポジショニング・システム(GPS)のように、衛星からブロードキャストされる見通し線ナビゲーション信号に基づく標的間距離(range)測定を用いる。受信機は、1つ以上のブロードキャスト信号の到達時刻を測定する。この到達時刻の測定は、疑似標的間距離と呼ばれる、信号の粗捕獲(C/A)符号化部分に基づく時刻測定を含む。
【0003】
GNSSにおける衛星からのナビゲーション信号は、キャリア信号周波数上でブロードキャストされ、1つ以上の疑似標的間符号を用いる。ナビゲーション情報における疑似標的間距離及び/又は位相測定値のようなナビゲーション情報は、受信機において、符号追跡ループにおける相関を用いて復元することができる。相関は、ナビゲーション信号のエネルギを逆拡散(de-spread)することができ、これによって1つ以上の疑似ランダム符号がエンコードされている信号を復調することができる。実際には、相関動作は、衛星から受信したナビゲーション信号を、受信機において発生した信号の複製と混合する。受信機における信号の複製の発生は、対応する疑似ランダム符号を発生することを含む。複製信号の位相、キャリア信号周波数、及びタイミングが、衛星から受信したナビゲーション信号と実質的に一致する場合、出力パワーは最大となる。複製信号にタイミング誤差がある場合、疑似ランダム符号の誤差が1疑似ランダム・コード・ビット未満であれば、出力パワーが減少し、又はタイミング誤差が疑似ランダム符号ビット以上であると0になる。
【発明の開示】
【発明が解決しようとする課題】
【0004】
しかしながら、GNSS(衛星間干渉を軽減するために符号ダイバシティ・マルチ・アクセス方法を利用するGNSS)及び異なるGNSSにおける異なる衛星からのナビゲーション信号に対応する多くの異なる疑似ランダム符号がある。多種多様なナビゲーション信号を復元するために、受信機は多くの異なる疑似ランダム符号を発生する回路を有することが多い。この回路のために、受信機に余分な複雑さやコストがかかることになる。その結果、GNSS受信機における疑似ランダム符号の発生を改良することが求められている。
【課題を解決するための手段】
【0005】
可調節符号発生器を有する受信機を含む衛星ナビゲーション・デバイスについて記載する。可調節符号発生器は、スペクトル拡散符号信号の集合を発生するように構成することができる。各スペクトル拡散符号信号は、繰り返し周期に対応するそれぞれの長さを有する。スペクトル拡散符号信号の集合は、別個の第1及び第2長を有する第1及び第2スペクトル拡散符号信号を含む。
【0006】
可調節符号発生器は、フィードバック・ループと、スペクトル拡散符号信号の集合に対応する複合ガロア多項式の度数以上のビット数を有するプログラム可能なシフト・レジスタとを含むこともできる。プログラム可能なシフト・レジスタにおけるビット数は、スペクトル拡散符号信号の集合におけるそれぞれのスペクトル拡散符号信号を記述するそれぞれの多項式の度数の最大和に対応するとよい。多項式の集合は、既約ガロア体多項式を含むとよく、及び/又はスペクトル拡散信号の集合は、最大長シーケンスを含むとよい。
【0007】
フィードバック・ループは更に、プログラム可能なフィードバック・マスクと、フィードバック・マスク表とを含むことができる。フィードバック・マスク表は、フィードバック・マスクの集合を収容する。それぞれのスペクトル拡散符号信号に対するそれぞれのフィードバック・マスクは、対応する多項式の二進表現とするとよい。
実施形態によっては、フィードバック・ループは多数の入力ビットと、1つの出力ビットとを有することができる。1つの出力ビットは、多数の入力ビットの排他的論理和ツリーによって決定される。実施形態によっては、フィードバック・ループは、多数の入力ビットと、多数の出力ビットとを有する場合もある。多数の出力ビットの各々は、プログラム可能なシフト・レジスタからの出力ビットとそれぞれの入力ビットとの排他的論理和によって決定される。
【0008】
可調節符号発生器は更に、初期状態表を含むことができる。初期状態表は、初期状態ベクトルの集合を収容する。各初期状態ベクトルは、スペクトル拡散信号の集合の内少なくとも1つのスペクトル拡散信号に対応する、プログラム可能なシフト・レジスタにおけるビットの初期値に対応する。
【0009】
可調節符号発生器は更に、制御ロジックを含むことができる。実施形態によっては、制御ロジックは、初期状態ベクトル表に格納されている初期状態ベクトルの集合における初期状態ベクトルをプログラム可能なシフト・レジスタの中にプログラムすることによって、可調節符号発生器を用いて発生するそれぞれのスペクトル拡散信号が、いつそれぞれの長さに達し、次の符号周期を開始するかを判定する。実施形態によっては、制御ロジックは、初期状態ベクトル表に格納されている初期状態ベクトルの集合における初期状態ベクトルをプログラム可能なシフト・レジスタの中にプログラムすることによって、可調節符号発生器を用いて発生するそれぞれのスペクトル拡散信号が、いつ、その終端状態に達し、次の符号周期を開始するかを判定する。
【0010】
可調節符号発生器は更に、短サイクル状態表を含むことができる。短サイクル状態表は、短サイクル状態ベクトルの集合を収容し、各短サイクル状態ベクトルは、それぞれの長さの所定の端数における、スペクトル拡散信号の集合の内少なくとも1つのスペクトル拡散信号に対応する、プログラム可能なシフト・レジスタにおけるビットの値に対応する。制御ロジックは、可調節符号発生器を用いて発生するそれぞれのスペクトル拡散信号が、いつそれぞれの長さの所定の端数に達したかを判定する。
【0011】
本発明のその他の目的及び特徴は、以下の詳細な説明及び添付した特許請求の範囲を図面と合わせて検討することにより、一層容易に明白となるであろう。
同様の参照番号は、数々の図面の図を通じて対応する部分を示すものとする。
【図面の簡単な説明】
【0012】
【図1】直接パス信号及びマルチパス信号がある汎地球ナビゲーション衛星システム(GNSS)を示す図である。
【図2A】GNSS受信機におけるチャネルのコンポーネントを示すブロック図である。
【図2B】GNSS受信機におけるチャネルのコンポーネントを示すブロック図である。
【図3】GNSS受信機におけるコンポーネントを示すブロック図である。
【図4】粗捕獲(C/A)符号発生器を示すブロック図である。
【図5】L2C符号発生器を示すブロック図である。
【図6】L2C符号の時間多重化を示すタイミング図である。
【図7】L5符号発生器を示すブロック図である。
【図8】符号発生器を示すブロック図である。
【図9】二進オフセット符号(BOC)方形波形態を示すタイミング図である。
【図10】BOC及び直交二進オフセット符号(QBOC)方形波形態を示すタイミング図である。
【図11】符号信号及び制御信号発生器を示すブロック図である。
【図12】プログラマブル符号発生器の一実施形態を示すブロック図である。
【図13】プログラマブル符号発生器の一実施形態を示すブロック図である。
【図14】GNSS受信機におけるコンポーネントを示すブロック図である。
【図15】GNSS受信機においてプログラマブル符号発生器を動作させる方法を示すフロー図である。
【発明を実施するための最良の形態】
【0013】
これより、実施形態について詳しく説明する。実施形態の例を、添付図面に示す。以下の詳細な説明では、本発明の完全な理解を得るために、多数の具体的な詳細を明記する。しかしながら、本発明はこれらの具体的な詳細がなくても実施可能であることは、当業者には明白であろう。別の場合には、実施形態の態様を無益に曖昧にしないように、周知の方法、手順、構成要素、及び回路については詳細には説明していないこともある。
【0014】
少なくとも1つの構成変更可能及び/又は調節可能な符号発生器を有する受信機を含む衛星ナビゲーション・デバイスについて記載する。この符号発生器を、以下では可調節符号発生器と呼ぶ。実施携帯によっては、1つの可調節符号発生機がある場合もある。実施形態によっては、可調節符号発生器はプログラマブルである。可調節符号発生器は、疑似ランダム符号信号の集合を発生するように構成することができる。疑似ランダム符号信号を、以下ではスペクトル拡散符号信号と呼ぶことにする。各スペクトル拡散符号信号は、繰り返し周期に対応するそれぞれの長さを有する。スペクトル拡散符号信号の集合は、別個の第1及び第2長を有する第1及び第2スペクトル拡散符号信号を含むことができる。実施形態によっては、スペクトル拡散符号信号の集合は、第1長のスペクトル拡散符号信号のみを含む場合もある。可調節符号発生器は、多数の入力ビット及び1つの出力ビットを備えたフィードバック・ループを有する第1ドメイン、又は多数の入力ビット及び多数の出力ビットを備えたフィードバック・ループを有する第2ドメインに位置することができる。可調節符号発生器は、GNSSにおける受信機の複雑さ及び/又はコストを低減することができる。
【0015】
衛星ナビゲーション・デバイスの実施形態では、ナビゲーションとは、場所又は位置を判定することを含み、位置解明としても知られていると解釈することとする。ナビゲーションは、衛星ナビゲーション・デバイスが、GNSS内にある衛星が少なくとも部分的に供給する基準フレームに対してどこにあるかを判定することと解釈するものとする。また、ナビゲーションは、少なくとも部分的にGNSSにおける1機以上の衛星からの信号に基づいて衛星ナビゲーション・デバイスにおいて時刻を判定することであってもよい。GNSSは、限定ではなく、グローバル・ポジショニング・システム(GPS)、グローバル・オービティング・ナビゲーション・サテライト(汎地球軌道航法衛星)システム(GLONASS)、GALILEOポジショニング・システム、ヨーロッパ静止航法重畳システム(EGNOS:European Geostationary Navigation Overlay System)、広域補強システム(WAAS:Wide Area Augmentation System)、多機能輸送衛星系補強システム(MSAS:Multifunctional Transport Satellite-Based Augmentation System)、準天頂衛星システム(QZSS)、及びNavCom Technology, Inc.からのStarFireネットワークを含む。
【0016】
GLONASSを除いて、GNSS衛星は、衛星間干渉を緩和するために、コード・ダイバシティ・マルチ・アクセス(CDMA)方法を用いる。非GLONASS衛星は、L帯域におけるキャリア信号周波数上で信号をブロードキャストし、スペクトル拡散符号信号を用いる。GLONASSシステムは、周波数ダイバシティ・マルチ・アクセス(FDMA)を用いて衛星間干渉の保護を行う。各GLONASS衛星は同じスペクトル拡散コードを用いる。地球の逆側における同じ軌道内に位置する対蹠衛星を除いて、各衛星はそれ自体の周波数帯域を有する。対蹠衛星は同じ周波数帯域を共有することができる。
【0017】
一例としてGPSを用いると、衛星ブロードキャスト・ナビゲーション信号は、1575.42MHzのL1キャリア信号周波数及び1227.6MHzのL2キャリア信号周波数を有する。第3GPS信号が、1176.45MHzのL5キャリア信号周波数で計画されている。GALILEOシステムは、L1及びL5(E5Aとも呼ぶ)キャリア信号周波数における信号、並びに1207.14MHz(E5B)及び1278.75MHz(E6)キャリア信号周波数における追加信号を供給することを計画する。また、GALILEOは、L1キャリア信号周波数においてスペクトル拡散コードが異なる追加の信号も供給する。QZSSシステムは、L1、L2及びL5キャリア信号周波数上でGPS互換信号を供給することを計画する。また、QZSSは、未だ定義されていないL6キャリア信号周波数を供給することも計画する。WAAS、EGNOS及びMSASにおける衛星は、L1キャリア信号周波数を有するGPS型信号を供給し、L5キャリア信号周波数を有する第2信号を供給することを計画する。
【0018】
StarFireネットワークは、少なくとも部分的に通信リンクとして機能し、1525及び1560MHz間の周波数帯域において、幅が840Hzあるチャネルを用いる。StarFire ネットワークは1200又は2400符号化ビット/秒でデータを送信する。
GLONASSは、1598.0635〜1605.375MHz(L1)及び1242.9375〜1248.625MHz(L2)の周波数帯域で信号をブロードキャストする。GLONASSにおける信号の周波数帯域は、GPS及びGALILEOにおける信号の対応する周波数帯域の高端部と重複する。
【0019】
図1は、GNSS100の一実施形態においてデバイス110が受信する複合信号を示す。この複合信号は、1機以上の衛星がブロードキャストした1つ以上の信号114と、物体112から反射したマルチパス信号116とを含む。先に論じたように、信号114は、各々、少なくとも1機の衛星に対応する少なくとも1つのスペクトル拡散信号を収容する。
【0020】
図2Aは、デバイス110(図1)の第1チャネルサブチャネル回路200の一実施形態の構成要素を示す。複合信号は、1つ以上のアンテナを含むフロント・エンド回路によって受信される。アンテナ入力は、増幅しても又は増幅しなくても(受動)よく、フロント・エンド回路におけるルータ内にあるアンテナ・コネクタ毎に1つ又は多数の周波数を組み合わせることができる。非増幅アンテナあるいはアンテナとルータとの間に長いコネクタ又はケーブルがある実施形態では、フロント・エンド回路は、初期利得段を含むとよい。複合信号210の少なくとも一部は、1つ以上のチャネルに導出される。チャネルは、各々、サブチャネル回路200のような、1つ以上のサブチャネル回路を含む。サブチャネル回路200は、複合信号210の少なくとも一部において、少なくとも第1衛星に対応する、少なくとも1つのスペクトル拡散信号において、それぞれの周波数帯域を受信する。
【0021】
複合信号210は、低損失フィルタ212に結合され、信号画像及び帯域外干渉を拒絶する。また、この信号は、フィルタ212に結合される前に、増幅器(図示せず)によって増幅する、及び/又はフィルタ(図示せず)においてフィルタ処理することもできる。フロント・エンド電子回路の中に初期ロー・ノイズ増幅器がある実施形態では、この増幅を不要とすることができる。ミキサ214のような1つ以上の変調器を用いて、信号の少なくとも一部を中間周波数(IF)にダウン・コンバートする。実施形態によっては、IFが1つ以上の追加のサブチャネル回路において共通である場合もある。ミキサ214におけるダウン・コンバージョンでは、それぞれ第1キャリア又は、信号発生器218が発生した局部発振(LO)周波数を有する第1基準信号を混合する。
【0022】
第1基準信号は、基準発振器216が発生することができる1つ以上のクロック信号に基づいて発生することができる。受信機における各サブチャネル回路は一意の第1LO周波数を有し、これによって、サブチャネル回路200のようなそれぞれのサブチャネル回路は、第1衛星からの少なくとも1つのスペクトル拡散信号においてそれぞれの周波数帯域を受信することが可能となる。サブチャネル回路は、受信機における少なくとも1つの共通基準発振器からのクロック信号の1つ以上を受信することができる。別の実施形態では、共通の基準発振器がなくてもよい。基準発振器216は、1つ以上の位相ロック・ループ、遅延ロック・ループ、及び/又は補間回路を含むことができる。
【0023】
ダウン・コンバージョンの後、IFの信号を、表面弾性波フィルタのような高品質フィルタ220に通過させて、エリアス及び基準信号を除去し、帯域外干渉を拒絶する。高品質フィルタ220は、フロント・エンド予備選択フィルタ処理のような、チャネル300における他のフィルタの精度が低くても許容できるようにし、自動利得制御(AGC)230の実施を一層容易にすることを可能にし、更に、アナログ/ディジタル(A/D)変換器238における量子化のビット数を削減することを可能にすることができる。フィルタ220のような、サブチャネル回路の中にあるフィルタは、受信機における信号に対する信号処理帯域幅を定める。その結果、これらのフィルタは、受信機の全体的な信号処理特性を定め易くする。実施形態によっては、フィルタ220のようなフィルタは、その中央周波数は、IFと実質的に等しく、その帯域幅はほぼ第1衛星の帯域幅よりも大きい場合もある。実施形態によっては、フィルタ220のようなフィルタの1つ以上の帯域幅(3dB通過帯)が、約30MHz(両側)よりも大きい場合もある。実施形態によっては、フィルタ220のようなフィルタの1つ以上の帯域幅(3dB通過帯域)は、ほぼ30〜32MHz(両側)を含む範囲内である場合もある。実施形態の一例では、フィルタ220は6つ以上の複素極(complex pole)と同等とするとよい。StarFireネットワークからの信号に対応するサブチャネルでは、フィルタ220は、IFと実質的に等しい中央周波数を有することもできる。この場合、しかしながら、フィルタ220の帯域幅は200kHzとなることがある。何故なら、StarFireネットワークでは、信号が用いる帯域幅が狭くなるからである。
【0024】
フィルタ220等のフィルタの帯域幅が、GNSS衛星の1つ以上によってブロードキャストされる信号に適用されるフィルタ処理よりも少なくとも多少大きくなることを確保することによって、信号内容が失われず、帯域外干渉をできるだけ多く拒絶する。衛星の1つ以上におけるフィルタの帯域幅が今後拡大すれば、フィルタ220等のフィルタの1つ以上の帯域幅も広げることができ、したがって信号内容は失われない。これによって、マルチパス信号116(図1)の補正を改良すること、及び/又は受信機の追跡特性を改良することを可能にすることができる。
【0025】
ミキサ222等の1つ以上の変調器を用いて、サブチャネル回路200等の1つ以上のサブチャネル回路における信号を、実質的に近ベースバンド(ゼロ周波数)に変換する。ミキサ222におけるダウン・コンバージョンによって第2基準信号を混合する。各第2基準信号は、第2キャリア又はLO周波数を有し、互いに対して実質的に直交であり、直交信号発生器224によって供給される。第2基準信号は、基準発振器216及び/又は共通基準発振器からの少なくとも1つのクロック信号に基づいて発生することができる。実質的な近ベースバンドとは、A/D変換器238におけるサンプリング・レートの実質的に1/4未満の周波数を含むことができる。実施形態によっては、実質的な近ベースバンドは、約100kHz未満の周波数も含む場合がある。
【0026】
実質的に近ベースバンドまでダウン・コンバートすると、事実上、意図的なドプラ周波数シフトを招くことになる。これを実施する1つの方法は、少なくとも1つのクロック信号のキャリア信号周波数が、約40/1,000,000(PPM)速くなるように、これを設定することである。このオフセットにより、A/D変換器238からの同相I及び位相外れQサンプル全てが、正の見かけ上のドプラ周波数シフトを有することが確保され、信号プロセッサ242のような信号処理回路における数値制御発振器(NCO)のような信号発生器の設計が簡素化される。また、このオフセットにより、ディジタル・サンプリング・エッジが、少なくとも第1衛星からの少なくとも1つのスペクトル拡散信号におけるコード・ビット・エッジのタイミングに関して、ランダムに分散されることも確保する。
【0027】
実施形態の一例では、基準発振器216の交渉キャリア信号周波数は、16.36864MHzである。これは、GPSの10.23MHz基本キャリア信号周波数の1.6倍よりも39.101MH、即ち、近似的に40PPM大きい。基準発振器216からの少なくとも1つのクロック信号のキャリア信号周波数は、その寿命の間に、経年及び/又は温度変動によって更に10PPM程変動する可能性がある。別の実施形態例では、基準発振器216は、温度補償水晶発振器(TCXO)及び/又は電圧補償水晶発振器(VCXO)を含むこともできる。
【0028】
IF、第1LO周波数、及び第2LO周波数は、コードとGNSS信号が用いるキャリア信号周波数との間にコヒーレントな関係を保存することができる。全てのGNSS信号に対して、コード・ビット毎に実質的に整数回のキャリア・サイクルがある。選択したダウン・コンバージョン周波数、即ち、第1LO周波数及び第2LO周波数は、それぞれ、これらの関係を保存することができる。尚、この関係は、しかしながら、衛星受信機の運動によって生ずるドプラ周波数ずれ、基準信号、及び/又は衛星又は受信機におけるクロック信号誤差及び/又は先に論じた意図的なドプラ周波数ずれには感応しない。以下で論ずるが、受信機はこの特長を利用する。
【0029】
IF及び第2LO周波数は、受信機における共通基準発振器及び/又は基準発振器216からの少なくともそれぞれのクロック信号の周波数の実質的に等しい倍数とすることができる。ドプラ(前述した)の発生源を無視すると、2つのダウン・コンバージョン周波数の和、即ち、サブチャネル回路の各々におけるそれぞれの第1LO周波数及び第2LO周波数の和は、少なくとも第1衛星からの1つのスペクトル拡散信号において、それぞれの周波数帯域に対応する、それぞれのキャリア信号周波数に実質的に等しくすることができる。例えば、GPS L1周波数帯域の公称キャリア信号周波数は1575.42MHzであり、これは、154×10.23MHzに等しい。受信機200が、N1×10.23MHzの周波数を有する基準発振器216からのクロック信号を用いる実施形態では、第1及び第2LOをこのクロック信号から発生する。これらのLOのそれぞれの周波数は、キャリア周波数を追跡することによって測定した距離がコードを追跡することによって測定した距離と実質的に同一であることを保証する数個の関係に従うとよい。L帯域信号毎のキャリア周波数は、N×154という形式で表すことができる(N=Lに対して154、L2に対して120、L5に対して115、E5Aに対して118、そしてE6に対して125。)。第1LOの周波数は、基準クロック信号にAを乗算することによって形成する。即ち、LO=A・N×10.23MHzとなる。第2LOの周波数は、IFに実質的に等しく、基準クロック信号にBを乗算することによって形成する。即ち、LO=B・N×10.23MHzとなる。乗数A及びBは、これらが関係s・(N−A・N)=B・Nに従うように選択する。ここで、低側ダウン・コンバージョンではs=1、高側ダウン・コンバージョンではs=−1である。例えば、高側第1ダウン・コンバージョンを用いてL信号を13.7×10.23MHz(=140.151MHz)に等しいIFに変換する場合、sは−1に等しく、B・Nは154+13.7即ち167.7に等しくなる。代わりに低側ダウン・コンバージョンを用いる場合、sは1に等しく、B・Nは154−13.7即ち140.3に等しくなる。GNSS周波数毎に、異なる乗数Aを用いても良い。全ての周波数に同じIF及び乗数Bを用いてもよい。尚、ある意味では、高側変換によって負の周波数を有するIFが生成されるが、受信機におけるフィルタ及び後続のダウン・コンバージョンは、周波数が正であっても負であっても同じ挙動を行うことを注記しておく。
【0030】
StarFireネットワークからの信号のための1つ以上のサブチャネル回路は、直交検出を用いなくてもよい。この第2LO周波数は、小さな、近似的に21Hz刻みで調節して、第2LO周波数がStarFire通信チャネルの中央周波数と一致するようにするとよい。受信機、第1チャネル、及び/又はサブチャネル回路200のようなサブチャネル回路におけるコントローラは、順次信号発生器224を、可能なStarFireの各周波数帯域に対応する周波数を近似し、それぞれの信号があるか否か判定するようにプログラムすることができる。尚、コードとStarFire信号処理におけるキャリア信号周波数との間には特殊な関係を維持する必要がないので、それぞれの第1LO周波数及び第2LO周波数の選択の自由度を高めることができる。
【0031】
近ベースバンドへのダウン・コンバージョンの後、I及びQ信号をロー・パス・フィルタ226に結合して、不要なスペクトル成分を除去する。AGC230において利得を用いて信号を増幅し、A/D変換器238においてサンプリング及び量子化してI及びQサンプルを生成する。信号プロセッサ242においてI及びQサンプルを処理する。信号プロセッサ242は、参照表244に格納されている値を用いることができる。AGC230及びA/D変換器238は、参照表236に格納されている値を用いて、制御ロジック234によって構成及び/又は調節することができる。AGC230及び/又はA/D変換器238の構成及び/又は調節は、少なくとも1つのAGC230の1つ以上の利得、及び/又はA/D変換器238における1つ以上のA/D良識閾値の大きさを含むとよい。実施形態の一例では、AGC230の利得は、非ゼロ・サンプル又は活動(activity)の確立が実質的に2/3となるように、第1非ゼロ量子化閾値の大きさを用いて決定するとよい。この利得を用いると、非ゼロ・サンプルは、第1A/D量子化閾値の大きさのほぼ2倍である第2非ゼロ量子化閾値の大きさを用いて決定し、受信機のアンチ・ジャミング性能を向上させることができる。また、受信機は、ブランキング回路を用いて、強いジャミング信号の存在下における性能を向上させることもできる。
【0032】
実施形態によっては、サブチャネル回路200のような1つ以上のサブチャネル回路におけるIF、第1LO周波数、及び/又は第2LO周波数は、調節可能及び/又は構成可能とするとよい。これは、例えば、受信機、第1サブチャネル、及び/又はサブチャネル回路200のようなサブチャネル回路におけるコントローラを用いて、信号発生器218のような少なくとも1つの信号発生器を調節及び/又は再構成することによって実施する。例えば、直交信号発生器224からの基準信号における第2LO周波数を、数百Hz刻みで調節するとよい。IFを適応又は構成する場合、フィルタ220、フィルタ226、ミキサ222、及び/又はミキサ214の内少なくとも1つを調節又は再構成するとよい。
【0033】
IF、第1LO周波数及び/又は第2LO周波数を構成可能にすることによって、IFは、近似的に100〜350MHzを含む範囲内の値に設定することができる。IF、第1LO周波数及び/又は第2LO周波数が調節可能な実施形態では、サブチャネル回路の1つ以上を前述した範囲のIFに動的に構成することが可能となる。構成可能又は適応可能なIFにより、更に設計自由度が高まる。これらの自由度により、フィルタ212、220及び/又は226、信号発生器218、直交信号発生器224、及び/又はミキサ214及び222のような構成要素の要件を満たすように、1つ以上のサブチャネルにおけるIFを変更することが可能となる場合もある。例えば、受信機の生産寿命(production lifetime)の間に1つ以上の構成要素が旧式となったり、異なるIF範囲に対応する1つ以上の構成要素が改良された入手可能となった場合、1つ以上のサブチャネル回路において、それぞれの第1及び/又は第2LO周波数を構成又は適応させることによってIFを変更することができる。実施形態の一例では、IFを140、160、及び/又は200MHzとすることができる。何故なら、これらの値は、セルラ電話機に合わせて開発された低コストのフィルタ及びミキサの仕様と一致することができるからである。
【0034】
他の実施形態では、サブチャネル200のコンポーネントは多くても少なくてもよい。2つ以上のコンポーネント素の機能を1つのコンポーネントに実装することもできる。あるいは、数個のコンポーネントの機能を、これらのコンポーネントの追加のインスタンス又は受信機におけるいずれかのコンポーネントに実装することもできる。図2Aは1つのサブチャネル回路200を示すが、実施形態によっては、サブチャネル回路がこれよりも多い場合もある。実施形態によっては、サブチャネル回路の1つ以上が直交検出及びサンプリングを用いない場合もある。代わりに、第2キャリア又はLO周波数を有する第2基準信号を用いて、1つ以上のミキサにおいて信号を近ベースバンドに変換すればよい。
【0035】
図2Bは、サブチャネル回路260の一実施形態を示す。縦線262は、図2Aにおける検出回路246に対応する。サブチャネル回路260の適正な挙動のためには、A/D変換器238からの正及び負のA/Dサンプルは、数が等しいことが望まれる。A/Dサンプルが平均して0にならない場合、これらは、DCバイアスと呼ばれる、バイアスを内包しており、コード相関プロセス(図3における332及び334)の間に、余分な干渉ノイズに変換されていく。又は、DCバイアスが、それぞれのスペクトル拡散コードが設ける自己相関保護よりも大きい場合、干渉衛星信号として出現する。DCオフセット補正回路248は、I及びQ信号の近ベースバンドを調節して、これらの信号の一方又は双方におけるDCバイアスを低減する。
【0036】
DCバイアスを除去する1つの手法は、ある期間についてA/Dサンプルを平均し、得られた平均値を入来するA/Dサンプルから減算することである。しかしながら、この手法は、バイアスを除去した(de-biased)A/Dサンプルにおいて多くの精度ビット(bits of precision)を用い、その結果信号処理242中にも多くの精度ビットを用いる可能性がある。他の方法には、DCバイアスの手作業(hand) 又はソフトウェアによる較正が含まれる。これらの方法は、DCバイアスを測定し、サブチャネル回路260において成分を手動で調節することにより、又はディジタル/アナログ(D/A)変換器を用いて可変フィードバック電圧を供給することによって、A/D基準電圧又は閾値を調節する。実施形態によっては、カウンタをオペアンプに結合し、A/D変換器238からの正及び負のサンプル数を判定するために用い、更に、正及び負サンプルの数が等しくなり、I及びQサンプルの平均がーになるように、基準電圧を調節するために用いることができる。オペアンプ及びこれらに関連するフィードバック回路は、パルスの積分時間が100ms〜10sの間となるように選択する。
【0037】
A/D変換器238は、1つ以上のGNSS信号をアナログからディジタル形態に変換するために数個の実施形態を有する。当技術分野では周知のように、それぞれのサンプリング・レートは、ナイキスト・レート以上であれば容認可能である。複素サンプルを用いる実施形態では、サンプリング・レートは、フィルタ226(図2A)の帯域幅以上とするとよい。例えば、GSP信号には、サンプリング・レートが32MHzよりも高いとよい。別の実施形態例では、サンプリング・レートは40、60、又は80MHzとするとよい。信号処理中における電力消費及びタイミングの制約は、サンプリング・レートに比例して増大するので、既存及び計画GNSS信号には、40MHzのサンプリング・レートが適していると言える。今後、更に高い帯域幅のGNSS信号が利用可能になれば、フィルタ226の帯域幅及びA/D変換器238のサンプリング・レートも、それに応じて、新たなナイキスト・レートに基づいて増大することができる。
【0038】
実施形態によっては、第1チャネルにおけるサブチャネル260のような1つ以上のサブチャネル回路は、調節可能な又は構成可能なビット数を有する1つ以上のディジタル信号を出力するように構成することがよい場合がある。ビット数は、1、2、3、4、又は5とすることができ、1ビット(2レベル)量子化、2ビット(3レベル又は符号及び大きさ、即ち、1、0、及び1)量子化、2ビット(4レベル)量子化、並びに3ビット(8レベル)量子化を含む。実施形態の中には、更に大きなビット数を用いる場合もある。しかしながら、A/D変換器238のようなA/D変換器の複雑度は、ビット数の二乗として変動し、ビット数が5を超えると、収穫逓減(diminishing return)が生ずる虞れがある。ビット数は、動的適応を含めて、構成又は適応するとよい。構成及び/又は適応は、受信機におけるコントローラ、及び/又はサブチャネル回路260のようなサブチャネル回路の少なくとも1つにおけるコントローラによって制御するとよい。A/D変換は、参照表236のような参照表に格納されている1つ以上のマッピングを用いることができる。それぞれのマッピングは、制御ロジック234によって実施することができる。1つ以上のサブチャネル回路が1ビットを有するディジタル信号を出力するように構成されている実施形態では、A/D変換器238の1つ以上を比較器と交換してもよい。加えて、A/D変換器238において1ビット量子化を用いる際、AGC230におけるフィードバックが必要でない場合もある。
【0039】
StarFire信号(毎秒1200又は2400ビット)の情報内容は、GNSS信号よりも遥かに少ないので、用いるサンプリング・レートは、38.4kHzのように、低くしてもよい。このレートは、ナイキスト・レートの16又は32倍であり、今後可能性があるブロードキャスト・データ・レートの上昇がし易くなる。また、信号電力の著しい損失を生ずることなく、非同期ディジタル・サンプルとのデータ・ビット・エッジの同期も可能となる。
【0040】
サブチャネル回路260のような1つ以上のサブチャネル回路からのサンプルは、信号プロセッサ242において処理することができる。実施形態によっては、1つよりも多いサブチャネルがサンプルを信号プロセッサ242に結合することもできる。実施形態によっては、1つよりも多い信号プロセッサがある場合もあり、信号プロセッサ群が1つの信号プロセッサとして機能するように、信号プロセッサを協同して用いることができる。サブチャネル回路260のようなそれぞれのサブチャネル回路からの信号は、1つよりも多い信号プロセッサに導出することができる。
信号処理は、アナログ回路、ディジタル回路、又はアナログ及びディジタル回路の組み合わせで実施することができる。A/D変換器238を除いて、動作は、特定用途集積回路(ASIC)のようなハードウェア、ソフトウェア、又はハードウェア及びソフトウェアの組み合わせを用いて実行することができる。
【0041】
図3は、信号プロセッサ242(図2A)のような、信号プロセッサ300の一実施形態を示す。A/D変換器310及び312が、それぞれ、I及びQサンプルを供給する。A/D変換器310及び312は、それぞれのサブチャネル回路に対する信号処理回路300への第1ポートである。つまり、第1ポートは、信号における1つのキャリア信号周波数のデータを受信するそれぞれのサブチャネルに少なくとも対応する。信号処理回路300又は信号処理回路300の更に別のインスタンスのいずれかに結合された余分なサブチャネル回路からも1つ以上の余分なポートがあってもよい。1つの多周波数アンテナを有する実施形態では、信号におけるキャリア信号周波数毎に、別個のサブチャネル及びポートを用いてもよい。姿勢判定システムにおけるような多数のアンテナを有する実施形態では、各アンテナからの信号におけるキャリア周波数毎に別個のポートが必要となる場合もある。
【0042】
I及びQサンプルを3レベル変換器314に結合する。3レベル変換器314は、I及びQサンプルにおけるある数のビットから符号及び大きさへのマッピングを行う。実施形態によっては、3レベル変換器314を、回路又は参照表(ルックアップ・テーブル)244(図2A)のような参照表を用いて実施することもできる。サンプルをマルチプレクサ316及び318に結合する。マルチプレクサ316及び318は、信号処理回路300の残り部分を前述のポートの内少なくとも1つに結合する。
【0043】
図2Aを参照すると、直交発生器224からの基準信号は、正確に90゜位相がずれている訳ではない。信号をベースバンドにダウン・コンバートする場合、位相誤差即ちバイアス、及び対応する信号処理損失が生ずる。その結果、従来の受信機は、図2Aに示すような直交検出及びサンプリングを用いないのが一般的であった。加えて、サンプリング及び量子化は、ベースバンドでは通常ではないのが通例である。代わりに、サンプリング及び量子化は、通例、A/D変換器238のようなA/D変換器のサンプリング・レートの1/4のような、残余IF(residual IF)において行うことができる。A/D変換器のサンプリング・レートを高め、サンプルの平均を取ることにより、残余バイアスを除去することができる。要するに、これら従来の受信機におけるA/D変換器は、信号をベースバンドにダウン・コンバートする。しかしながら、得られるI及びQサンプルはある時間間隔で決定される。このため、マルチパス信号116(図1)のような信号の補正がより難しくなる。また、A/D変換器のサンプリング・レートが高くなることに伴って、電力面でも不利になる場合がある。これらの従来の受信機では無線周波数から近ベースバンドに直接ダウン・コンバージョンを実施しており、直交検出は通常用いられない。
【0044】
デバイス110(図1)における受信機では、信号を実質的に近ベースバンドにダウン・コンバートし、サブチャネル回路200の論述において既に説明したように、直交的にサンプリング及び量子化することができる。この検出手法により、I及びQサンプルを実質的に同時に決定することが可能となる。一方、これによって、マルチパス信号116(図1)の補正を改良し、電力消費を低減することが可能となる。しかしながら、なおも、直交発生器224からの基準信号における位相誤差に残余バイアスが伴う可能性があるという問題が残る。ほぼ近ベースバンドにダウン・コンバートすることが、解決策を提供する。既に注記したように、得られる信号は事実上意図したドプラ周波数ずれを有する。信号処理242の間に、複素位相回転を実行してこの意図的なドプラ周波数ずれを補正することができる。このプロセスでは、対応するバイアスは、バイアスは0〜360゜に実質的に均一に分散され、平均すると0になる。
【0045】
再度図3を参照すると、実質的に近ベースバンドへのダウン・コンバージョンに伴う残余バイアス及び意図的なドプラ周波数ずれを補正するための複素回転を、複素回転回路326において実行する(例えば、Qサンプルを0に等しくすることによる)。以下で更に論ずるが、複素回転は、参照表324における値に基づくことができる。この値は、キャリア信号発生器又はNCO320に基づいて決定する。これらは、補正すべき意図的なドプラ周波数ずれを判定するキャリア又は位相追跡ループの一部である。信号のサンプルにおける少なくとも1つのスペクトル拡散コードを、相関器332及び334において、コーダ330及びコード信号発生器又はNCO328に基づいて復調する。コード信号発生器又はNCO328は、コード追跡ループの一部である。サブチャネル相関器332及び334からのI及びQの蓄積を、測定時に信号処理ソフトウェアに出力し、位相及び符号追跡ループのためのフィードバックを計算するために、この蓄積を用いることができる。
【0046】
先に論じたように、相関動作は、実際には、I及びQサンプル内に埋め込まれている衛星信号を、それぞれのチャネルにおいて発生した信号の複製とミキシングすることである。複製信号の位相、周波数、及びタイミングが、衛星から受信したこれらと実質的に等しい場合、サブチャネル相関器332及び334によって蓄積されるパワーが最大となる。複製信号にタイミング誤差があると、符号のタイミング誤差が1スペクトル拡散コード・ビット未満であれば、相関器332及び334が蓄積するパワーが減少し、又は誤差がスペクトル拡散符号ビット以上であると0になる。
【0047】
回転及び相関動作は、サンプリング・レートで行われるので、信号処理によるSNR損失は非常に少ない。回転及び相関動作の順序は任意である。したがって、実施形態によっては、相関を回転の前に実行してもよく、回転を相関の前に実行してもよく、又は回転及び相関の動作を組み合わせて1つの動作にしてもよい。実施形態の一例では、相関の前に回転を行う。これによって、I及びQサンプル対毎に1回の回転を行うことが可能になる。しかしながら、サブチャネル毎に1セットを含む、多くの可能な相関がある。
【0048】
図3に示すように、サブチャネル回路200(図2A)のような1つ以上のサブチャネルからのI及びQサンプルは、I及びQサンプルの複素回転326によって、それぞれのチャネルの基準信号のキャリア信号成分とミキシングする。回転サンプルI及びQは、次の式に基づいて発生する。
=I・cos(NCO)−Q・sin(NCO)
=I・sin(NCO)+Q・cos(NCO)
ここで、NCOは、キャリアNCO320に基づく表324からの値を表す。キャリアNCO320は、第1チャネルのようなそれぞれのチャネルに対して基準信号の位相を維持する。実施形態によっては、基準信号の位相即ちキャリア位相を、位相蓄積器を用いて積分する。キャリア位相角は、それぞれの基準発振クロック・エッジにおいてそれぞれのチャネル毎に位相蓄積器を始動させるときには、0であると仮定する。実際には、開始時には位相は0ではないが、対応する追跡誤差がI及びQサンプルに反映される。キャリア位相追跡によって、基準位相角を補正する。先に論じた基準発振器の意図的な周波数オフセットのために、初期正ドプラ・キャリア位相角がある。
【0049】
先に論じたように、種々のGNSSには、多数のキャリア信号周波数及びスペクトル拡散コードが用いられているか、あるいは計画されている。以下に、異なるGNSSにおいて提案されている及び/又は用いられている種々のスペクトル拡散コードについての端的な全体像を示す。更なる詳細を補足資料にまとめておく。
【0050】
GNSS衛星は、スペクトル拡散コードの多くの異なる一団を用いるナビゲーション信号を供給する。これらのスペクトル拡散コードは、GPS P−コードを除いて全て、種々の長さの最大シーケンス(M−シーケンス)スペクトル拡散コードに基づいており、それぞれの長さが、それぞれのスペクトル拡散コード毎の繰り返し周期を定める。加えて、スペクトル拡散コードの中には余分に複雑さを有するものもある。
【0051】
GPS SBAS及びQZSS GNSSにおけるC/A符号は、L1キャリア信号周波数を有するキャリア信号上でブロードキャストされる。GPS衛星は、P(Y)の代わりに、L2キャリア信号周波数を有するキャリア信号上でC/A符号をブロードキャストすることができることが伝えられているが、現在ではそれを行っていない。C/A符号は、2つの10ビット・ガロア体最大多項式、即ち、CA=G1+G2(+は○で囲まれる)として定義され(Navstar GPS ICD-GPS-200, ARINC Research Corportaion)、ここで、
G1=1+X+X10
G2=1+X+X+X+X+X+X10
である。
【0052】
図4に示すように、スペクトル拡散符号の発生は、シフト・レジスタ410のようなシフト・レジスタを用いて実施することが多い。実施形態400では、ガロア体多項式におけるそれぞれのX変数のn乗が、nビット前の時点(n bit times previous)からのフィードバック・ビットを収容するシフト・レジスタ段に対応する。ビット10、最も古いビットが、シフト・レジスタ410の出力である。各ビット時点に、レジスタを右シフトし、選択したビット(ビット位置はシフトの前)の排他的論理和412をビット1にフィードバックする。シフト・レジスタ410からの出力の排他的論理和418によって、出力420を生成する。これは、C/Aコードに対応するシーケンスである。
【0053】
C/Aコードに対して、シフト・レジスタ410の双方は、全て1、即ち、16進数で3FFの初期状態を有する。シフト・レジスタ410の各々は、レジスタ値の異なるシーケンスを生成し、全部で1023個の一意の10ビット非ゼロ整数を含む。シフト・レジスタ410の双方は、1024番目のコード・ビットにおいて自動的にその初期状態に再巡回する。したがって、C/Aコードは、1023ビット(210−1)の長さ又は対応するクロック・サイクルを有する。
【0054】
G1シフト・レジスタ410−1の初期状態を、GPSミリ秒エポックのコード・エッジと同期させる。実施形態によっては、G2シフト・レジスタ410−2において指定した段の排他的論理和を取る代わりに(GPS ICD200によって説明したように)、G2シフト・レジスタ410−2の初期状態を、ミリ秒エポックに関して、異なる衛星コード毎に異なるコード・ビット数だけ遅らせることもできる(これは、SBAS GNSSにおいてC/Aコードを定めるために用いられる方法である)。いずれの手法を用いても、シフト・レジスタ410の排他的論理和418によって、衛星毎に一意のC/A符号を生成する。
【0055】
G2シフト・レジスタ410−2の遅延は、得られるC/Aコード420が1と0との間で均衡を有するように(シーケンスの中には奇数個のビットがあるので、C/Aコード毎に余分な0又は1が必ずあるはずである)選択するとよい。C/Aコードの対応する相互相関及び自己相関サイド・ローブは、したがって、最小となる。この符号集合体をゴールド・コード・ファミリと呼ぶ。GPS GNSSは、37個のゴールド・コードを用い、これらをPRN1〜37と呼ぶ。これらの符号の最初の32個は、GPS衛星によって用いられ、残りの5つの符号は、検査のために残されている。SBAS GNSSは、L1キャリア信号周波数を有するキャリア信号の同じゴールド・コード・ファミリにおいて、異なる衛星とは異なるC/Aコードを用いる。これらの符号は、PRN120から138として定められている。QZSS GNSSは、L1キャリア信号周波数を用いるキャリア信号に、C/A符号を用いることを計画している。
【0056】
また、GPS GNSSにおける衛星は、C/A符号でエンコードした信号上において、毎秒50ビットで二進シフトキー(BPSK)データ・メッセージをエンコードする。これらのメッセージは、誤り検出にハミング・パリティ・チェックを用いる。
GPS GNSSは、L2キャリア信号周波数を有するキャリア信号上で、L2CM及びL2CLと呼ぶ、新しい2つの公開信号を追加するプロセスの中にある。コードを記述する多項式は、次の通りである。
P=1+X+X+X+X+X+X11+X13+X16+X19+X21+X24+X27
【0057】
L2C符号を実装するシフト・レジスタ510の実施形態500を、図5に示す。実施形態500は、実施形態400(図4)とは色々な相違がある。2つの10ビット・シフト・レジスタ410(図4)の代わりに、27状態シフト・レジスタ510が1つあるだけである。シフト・レジスタ510におけるビットは、右から左に、多項式におけるX−遅延に対応する順序で付番されている。そして、L2Cフィードバックのために、シフト・レジスタ510からの出力ビットの、数個のレジスタ・ビット(図4における1ビット・フィードバックとは異なり、多数ビットのフィードバック)との排他的論理和を取る。
【0058】
L2CM(民生では、中符号)及びL2CL(民生では、長符号)は、0.5115Mz符号レートを用い、互いに50%時間多重化されている。図6の実施形態600に示すように、L2CM符号信号610は、各0.5115MHzクロックの前半でブロードキャストされ、L2CL符号信号612は、このクロックの後半でブロードキャストされる。時間ドメイン・マルチ・アクセス(TDMA)イネーブル信号614を用いて、L2CM符号信号610及びL2CL符号信号612を組み合わせる。TDMAイネーブル614は、L2CM符号信号610(図6におけるM)、及びL2CL符号信号612(図6におけるL)を交互に選択する。TDMAイネーブル614は、1.023MHzレート、50%デューティで、L2C組み合わせ符号信号616を生成する符号毎に、符号信号610及び612間で切り換える。L2C組み合わせ符号信号616のビット・エッジ・レートは、1.023MHzであり、L2CM符号信号610及びL2CL符号信号612の半分のビットで交番する。
【0059】
L2CMコードは、長さが10230ビットであり、20ms毎に繰り返す。L2CLコードは、長さが767250ビットであり、1.5秒毎に繰り返す。双方のコードは、長さが227−1ビットの1つのMシーケンス(1億3400万ビットよりも大きい)の部分集合である。これらのコードは、コード・シーケンスの開始におけるシフト・レジスタ510(図5)の状態が異なるだけである。各L2CMコード及びL2CLコードの一意の開始状態を、衛星毎に割り当てる(PRN番号)。これらのコードは完全なM−シーケンスの一部のみであるので、L2C組み合わせコードのシーケンスは、C/Aコードの場合のように、自動的に繰り返さない。L2C組み合わせコードは、最終コード状態を検出するか、又はしかるべき数のコード・ビットをカウントすることによって、再開しなければならない。各コード周期の開始時に、シフト・レジスタ510(図5)を初期状態にリセットする。
【0060】
また、毎秒25ビットのレートで、データ・メッセージをL2CM符号信号610上に変調する。レート1/2、制約又は継続長7の畳み込み符号を用いるので、シンボル・レートは毎秒50シンボルとなる。L2CL符号信号612は、変調しない。即ち、これは追加データを収容していない。その結果、L2CL信号612は、コスタス・ループ(Costas loop)(位相追跡ループであり、正弦項Iを余弦項Qで正規化してデータ・ビットを追跡する)ではなく、位相ロック・ループ(図3においてキャリアNCO320が用いるような)で追跡することができる。コスタス・ループは、データ・メッセージが変調されている信号と共に用いられることが多い。実施形態によっては、L2CL信号612を、コスタス・ループで追跡する場合もある。ロック閾値は、位相ロック・ループに対して6dB高い。また、非常に弱い信号状態では、信号対ノイズを改善するために、信号をコヒーレントに無限に積分してもよい。対照的に、データ変調信号は、変調に関するハード判断が要求される前に、変調データ・シンボルの長さだけしかコヒーレントに積分することはできない。
【0061】
また、GPS GNSSは、L5キャリア信号周波数を有する2つの新たな公開キャリア信号を加算するプロセスにも関与する。これら2つのキャリア信号を、X5I及びX5Qと呼び、L5キャリア信号周波数を有し疑似位相シフトキー変調(QPSK)を含む信号を用いて、同時にブロードキャストする。X5Iは、キャリア信号の同相部分上で変調され、X5QはキャリアA信号の直交部分上で変調される。図7の実施形態700に示すように、X5I及びX5Q符号は、3つの13ビット・シフト・レジスタXA710、BXI714、及びXBQ718から発生する。XBI714及びXBQ718に以下の同じ多項式を用いる。
XB=1+X+X+X+X+X+X12+X13
XA710は、
XA=1+X+X10+X12+X13
を用いる。
シフト・レジスタ710、714、及び718毎の単一ビット・フィードバックは、排他的論理和712によって設けられる。シフト・レジスタ710及び714からの出力の排他的論理和726によって、X5I 728を生成する。シフト・レジスタ710及び718からの出力の排他的論理和730によって、X5Q 732を生成する。
【0062】
X5I 728及びX5Q 732は、双方共、ビット・レートが10.23MHzであり、10230ビット長又は1msの時間期間を有する。13ビットM−シーケンスの長さは、213−1ビット(8191ビット)に過ぎないので、XAシフト・レジスタ710は、その8190番目のビットに達したとき、即ち、XAシフト・レジスタ710が16進数で1FFDに等しくなったときに、1ビット先にその初期状態に早く戻る(short cycled)ことになる。XBシフト・レジスタ714及び718は早く戻ることはなく、そのため2コードの精度が得られる。これは、事実上、2040ビット長の第2のM−シーケンスを、最初の8190ビット・シーケンスの終端に接続することになる。XBシフト・レジスタ714及び718は、双方共、10230番目のビットの後、それらの初期状態に早く戻る。短サイクル(short cycle)は、ビットをカウントすることにより、又はレジスタをそれらの既知の最終状態と比較することによって、実施することができる。したがって、実施形態によっては、1つ以上の追加のカウンタ(8190までカウントするカウンタ及び/又は10230までカウントするカウンタ等)及び/又は1つ以上の比較器(例えば、XA及び/又はXBレジスタを最終状態と比較する)を含ませるとよい。実施形態700では、XAシフト・レジスタ710の状態を検査し(724)、条件を満たす場合(1FFDに等しい)、16進数で1FFFの初期状態をセットする(722)。他の実施形態では、短サイクルは、ビットをカウントすることによって実施することができる。XBレジスタ714及び718の初期状態は、X5I及びX5Qコード毎に、そして異なる各衛星上では異なる。
【0063】
X5I信号は、毎秒100シンボル、レート1/2、制約又は継続長7畳み込み符号データで変調する。加えて、1−ms時間期間のX5I符号シーケンスは、更に、10−ms時間期間(1シンボル期間)ノイマン−ホフマン符号で変調する。このコードは、ゼロのシンボルに対して16進数の035に等しく、1のシンボルに対して16進数の3CAに等しい。ノイマン−ホフマン符号は、実際、信号捕獲の間に著しい不利を受けずに、スペクトル拡散符号を延長する。
【0064】
また、X5Q信号をデータで変調し、X5Qコードは、16進数の04D4Eに等しい20−ms時間期間、20ビットのノイマン・ホフマン符号の重畳によって延長し、多大な追加コストを信号捕獲にかけることなく、スペクトル拡散符号の長さを改善する。X5Q符号は、追加の変調を有さない。即ち、これは追加のデータを搬送しない。変調データを有する信号に用いられることが多い位相ロック・ループ又はコスタス・ループのような、位相ロック技法を用いて、X5Q符号を追跡することができる。位相ロック・ループは、ロック閾値感度を6dB高める。データのない符号も、弱信号環境において信号捕獲を改善するために、コヒーレントに無限に積分することができる。
【0065】
GLONASS GNSSにおける衛星は全て、L又はL2キャリア信号周波数のいずれかを有するキャリア信号上におけるそれらの公開符号に、共通の9ビットスペクトル拡散符号を用いる。現在、Lキャリア信号周波数を有するキャリア信号のみが一般ユーザに利用可能となっている。しかしながら、GLONASSは、同じ符号を用いるL2キャリア信号周波数を有するキャリア信号を提供する計画を発表している。GLONASS GNSSでは、FDMA、即ち、異なるブロードキャスト・キャリア信号周波数を衛星毎に用いることによって、信号ダイバシティを達成する。GLONASSコードの多項式は、次の通りである。
P(X)=1+X+X
図8は、この符号を発生するために単一ビット・フィードバックを供給する排他的論理和812を有するシフト・レジスタ810の実施形態800を示す。
【0066】
GLONASS符号は、長さが511ビット長であり、当然511ビット毎に再開する。符号レートは0.511MHzであるので、繰り返しレートは1msとなる。毎秒50ビットのBPSKデータ・メッセージを、符号化した信号上に変調する。データ・ビットには、マンチェスタ変調コードを用いる。
【0067】
GLONASS衛星は、相互干渉を防止するために、FDMAを用いる。各衛星は、異なるキャリア信号周波数を有するキャリア信号を用いて、信号をブロードキャストする。同じ軌道を占有する2機の衛星は、これらが地球の反対側の位置を占める場合には、周波数を共有することができる。GLONASS周波数には、−7〜13まで付番されている。MHz単位のチャネルの周波数毎の式は、次の通りである。
L1=1602+k・0.5625、及び
L2=1246+k・0.4275
ここで、kは−7〜13の範囲である。2005年まで、GLONASSは周波数チャネル0〜13までを用いることしか計画していない。(L上で1602〜1609.3125MHz、L2上で1246〜1251.6875MHz)。チャネル0及び13は、システムの検査のために残してある。2005年に開始して、GLONASSは、低い方の周波数に移行し、チャネル−7から+6(L上で1598.0625〜1605.375MHz、そしてL2上で2142.0375〜1248.625MHz)を用いることを計画している。周波数5及び6は、検査のために用いられる。
【0068】
WASS、 EGNOS、及びMSAS GNSSは、現在、Lキャリア信号周波数を有するGPS型C/A符号化信号を提供する。WASS衛星のためにGPS L5キャリア信号周波数上でサービスを追加することの議論が進んでいるが、法体系(codes)はまだ決着がついていない。
SBAS GNSSにおける衛星は、C/A符号化信号を、BPSKエンコード、毎秒500シンボルのデータ・メッセージで変調する。レート1/2、制約又は継続長7の畳み込み符号を用いるので、データ・レートは毎秒250ビットとなる。
【0069】
QZSS GNSSは、高度楕円軌道の3機以上の衛星を用い、これらの衛星の内少なくとも1機が日本における非常に高い地域において常に見えることを確保することを計画している。これらの衛星は、対応するGPS信号と同一のL、L2、及びL5キャリア信号周波数を有する信号をブロードキャストする。
第4QZSS実験信号も、GALILEO E6キャリア信号周波数に計画されている。二進オフセット符号BOC(14、2)符号が考慮されているが、仕様はまだ決着していない。BOC符号については、以下で論ずる。
【0070】
GALILEO GNSS(及び今後可能な何らかのGPS符号)は、種々の形式の二進オフセット符号(BOC)をスペクトル拡散符号上に重畳する符号を用いる。GALILEOは、L1、L5(E5A及びE5B)及びE6キャリア信号周波数を有する信号を10個まで提供することを計画している。これらの信号の一部は、公衆に利用可能であり、一部は有料で使用でき(pay for use)、一部は許可されたユーザのために残される。GALILEOが用いる符号の定義は、完結していない。信号の一部は、BPSK又はGPSのようにQPSKエンコードを用い、それらの一部はBOCを用いる。Galileo信号には種々の符号発生技法が検討されており、その中には、Mシーケンス・スペクトル拡散符号、及びアルゴリズムでは発生することができない符号が含まれる。非アルゴリズム符号の符号−ビット・シーケンスは、受信機のメモリに格納し、信号相関を行うときに、1ビットずつ呼び出せなければならない。
【0071】
BOCは、BPSK符号及び方形波の排他的論理和又は組み合わせである。伝統的なマンチェスタ変調符号は、BPSKデータ・ビット当たり1方形波サイクルのBOC符号である。GNSSが用いる方形波及びBPSK符号のレートを、BOC(A、B)という表記で分類することが習慣となっており、ここで、Aは1.023MHz周期毎の方形波サイクル数であり、Bは1.023MHz周期毎のBPSKビット数である。種々のGNSSによって検討されているBOC符号は、L1キャリア信号周波数を有するGALILEO公衆信号用のBOC(1、1)、L1及びL2キャリア信号周波数を有するGPS軍用信号用のBOC(10、5)、L6キャリア信号周波数を有するQZSS信号用のBOC(14、2)、E5A及びE5Bキャリア信号周波数を有する高精度ペイ・フォー・ユース信号用のBOC(15、X)、並びにL1キャリア信号周波数を有するGALILEO公衆規制(許可された使用のみ)信号用のBOC(15、2.5)を含む。
【0072】
BOC符号を用いる理由の1つは、信号間干渉を最小に抑えるためである。例えば、GPS C/A及びP符号化信号のパワー・スペクトルは、L1キャリア信号周波数を中心とする主要ピークと、符号繰り返しレート(C/A符号では1.023MHz、そしてP符号では10.23MHz)においていずれの側の周波数にもヌル(null)を有する。小さいサイド・ローブが、符号繰り返しレートで繰り返される。BOC符号において重畳される方形波が、中心キャリア信号周波数から方形波の繰り返しレートだけずれた2つのローブ間で、信号パワーを等しく分割する。GALILEO BOC(1、1)符号の場合、2つのBOC信号パワー・ピークが、約1MHzだけキャリア信号周波数から変位しており、中心周波数にヌルがある。その結果、BOC信号パワーのピークは、直接C/A符号信号パワーのヌル上に位置し、BOCヌルはC/A符号信号パワーのピークと一致する。つまり、GPS及びGALILEO信号間の干渉が最小限に抑えられる。
【0073】
BOC符号及びBOC符号の追跡には、BPSKビット・エッジの開始に対していくつかの異なる位相関係を有する方形波を用いる。方形波エッジの開始がBPSKビット・エッジの開始よりも0、90、180、又は270度(方形波サイクルにおいて)だけ遅れる4種類の相対的関係が最も慣例的である。これら4つの可能な位相関係を、以後[0011]、[0110]、[1100]、及び[1001]と呼ぶことにする。ここで、1及び0は、BOC波のBPSKビット・エッジに対する相対的な位相及び極性を定める。図9は、BOC(1、1)についてのタイミング図の一実施形態900を示す。しかしながら、この論述は、BPSKビット毎に整数個の方形波を有するいずれのBOC符号にも適用することができる。[0011]方形波912及び[1100]方形波914の前エッジは、BPSK符号エッジ910と同相である。[0011]方形波912は、方形波周期の前半では低であり、一方[1100]方形波914はその前半では高である。[0110]方形波916及び[1001]方形波918は、BPSK符号エッジ910とは、方形波周期の1/4だけ位相がずれている。[0110]方形波916は、方形波周期の最初の1/4では低であり、次の半分では高であり、最後の1/4では低である。[1001]方形波918は、[0110]方形波916の逆である。
【0074】
[0011]方形波912及び[1100]方形波914は、「標準的な」BOC波形である。しかしながら、GNSS衛星がどれを用いるべきか定める際、GNSS衛星のためにBOC符号仕様の別のそして何らかの選抜候補(draft)を差し置いて1つを選択するための厳格な慣例が無視されているのではない。[0110]方形波916及び[01001]方形波918に基づくBOC符号も、QBOCと呼ばれている。
【0075】
図10は、BOC(1、1)又はBOC(2、2)のような、BOC(A、B)を生成するために、BPSK符号を方形波と組み合わせる実施形態1000を示す。BPSK符号1010は、A×1.023MHz BPSK符号化信号の4ビットを示す。4つのBPSKビットは、0−1−0−0である。B×1.023MHz BPSK[1100]方形波1012とBPSK符号化信号1010との排他的論理和により、BOC(A、B)符号化信号1014が得られる。B×1.023MHz BPSK[1001]方形波1016とBPSK符号化信号1010との排他的論理和により、QBOC(A、B)符号化信号1018が得られる。
【0076】
図3を参照すると、先に論じたように、複製信号の位相、周波数、及びタイミングが、相関器332及び334によって蓄積されたパワーに強い影響を及ぼしている。符号追跡ループは、信号の複製と受信信号との間にこれらの関係を維持しようとする。図11は、符号NCO328の実施形態1100を示す。符号NCOレート1110をフィードバックとして用いて、符号追跡ループを閉じ、符号のタイミングを制御する。このフィードバックは、符号ビット・レート及びドプラの和である。通例、符号追跡ループは、比較的広いキャリア追跡ループによって、緊密に援助される。高周波数動力学を、広い方のキャリア追跡ループによって追跡する。狭い方(ノイズが少ない)帯域幅は、符号追跡ループに用いることができる。ms当たり1回よりも遅いフィードバック更新レートを、符号NCOレート1110に用いるとよい。適切な更新レートは、符号追跡ループの設計パラメータの1つである。例えば、典型的なフィードバック・レートは、ループ帯域幅の約1/10に等しい。フィードバック・レートを高くする程、処理負荷が増大するが、ループ性能には殆ど影響を及ぼさないと思われる。ループ帯域幅の1/10よりも低いフィードバック・レートでは、ロックが失われるか、又は動的条件の下ではループ・ノイズが増大する可能性がある。
【0077】
符号追跡ループにおける符号NCO328(図3)は、加算器1112及び符号位相蓄積器1114を用いて符号NCOレート1110を積分することにより、実質的に、受信機において発生した複製符号の位相を維持することができる。実施形態によっては、符号NCOレート1110は、受信した信号における符号のチップ・レートである。BOC符号、QBOC符号、時間多重符号、M−シーケンス・スペクトル拡散符号を発生することができる、及び/又は受信機のメモリから非アルゴリズム符号ビットを取り出すことができるコーダ330のタイミング及びイネーブル信号は、符号NCO328から導出することができる。BOC符号では、符号NCOレート1110は、方形波のビット・レートである。スペクトル拡散符号レートは、このビット・レートを除数B1124で除算することによって得られる。単純なスペクトル拡散符号では、符号NCOレート1110は、符号ビット・レートとなり、除数B1124は1である。
【0078】
符号NCO328(図3)によって、3つの主要な制御信号を発生することができる。これらは、半チップ・イネーブル1146、BOC1148、及びQBOC1150である。半チップ・イネーブル1146は、コーダ330及びサブチャネルにとって主要なイネーブル信号である。BOC1148及びQBOC1150は、BOC符号のための方形波である。BOC1148及びQBOC1150は、排他的論理和ゲート1132及び/又は1134、並びにレジスタ1126、1128、及び1130を用いて、反転又はディスエーブルさせることができる。
【0079】
BOC方形波及びM−シーケンス・スペクトル拡散符号の相対的なタイミングは、除数B1124を用いることによってプログラムすることができる。除数B1124は、M−シーケンス符号ビット当たりの方形波の数である。実施形態例では、非BOC符号では、除数B1124を1にセットし、BOC1148及びQBOC1150信号をディスエーブルする。BOC(1、1)、BOC(2、2)、又はBOC(10、10)では、除数B1124を1にセットする。BOC(10、5)では、除数B1124を2にセットする。BOC(15、2.5)では、除数B1124を6にセットする。そして、BOC(14、2)では、除数B1124を7にセットする。総合的に、BOC方形波BOC1148及びQBOC1150は、BOC方形波(図9に示す)の4つの可能な位相全てを供給する。BOC1148は、[0011]又は[1100]のいずれかとなるように構成することができ、一方QBOC1150は[0110]又は[1001]のいずれかとなるように構成することができる。また、相関器332及び334(図3)からの蓄積も、BOC1148及びQBOC1150方形波の組み合わせを用いる信号処理技法を実施するために、BOC1148又はQBOC1150のいずれかを用いるように構成することができる。
【0080】
種々のスペクトル拡散符号についてのこれまでの論述から、受信機の中にあるコーダ330(図3)のような1つ以上のコーダは、シフト・レジスタを用いて2つの同等なドメインの内の1つにおいて実施できることは明白である。図4、図7、及び図8に示す第1ドメインでは、多ビットの排他的論理和ツリーを用いて、モジュロ−2単一ビット・フィードバックを実施する。この伝統的な形式のコーダをフィボナッチ構成(Fibonacci configuration)と呼ぶ。図5に示す第2ドメインでは、多数のフィードバック・ビットを用いる。各フィードバック・ビットは、シフト・レジスタにおける出力ビット及び個々のビットの排他的論理和である。この形式のコーダをガロア構成と呼ぶ。いずれのドメイン又はコーダ形式でも、所与のスペクトル拡散符号を発生するために用いることができる。一方のドメインから他方に変換するアルゴリズムについて、以下に説明する。これによって、コーダ330(図3)のような、1つのコーダが受信機において2つ以上のスペクトル拡散符号を発生することが可能になる。
【0081】
GNSS信号において用いられる種々のスペクトル拡散符号の各々は、1つ以上のガロア体多項式を用いて発生する。L2C符号(図5)及びGLONASS GNSSにおいて用いられる符号(図8)は、1つの多項式及び1つのシフト・レジスタを用いる。その他のスペクトル拡散符号は、2つの多項式を用い、2つのシフト・レジスタの出力の排他的論理和を取ることによって、それらの符号を形成する。しかしながら、シフト・レジスタのサイズ、及びスペクトル拡散符号を発生するガロア体多項式の度数(degree)には、大きなばらつきがある。
【0082】
GLONASS GNSSは、1つの9ビット・レジスタ810(図8)を用いる。GPS GNSSでは、C/A符号は2つの10ビット・レジスタ410(図4)を用いる。GPS L5符号は、2つの13ビット・レジスタ714及び718(図7)を用い、GPS L2C符号は1つの27ビット・レジスタ510(図5)を用いる。先に論じたように、GPS L5符号(図7)の長さは10230ビットであるが、ガロア体多項式及びシフト・レジスタ710、714、及び718(図7)が発生するシーケンスは、長さが8190である。その結果、同じファミリの第2符号からの2040ビットが添付されて、8191番目のビットから始まり、所望の長さが得られる。
【0083】
GPS L2C符号を除いて、紹介した符号の全てを求めるコーダは、ファボナッチ構成を用い、所与のシフト・レジスタの「若い」端部(young end)に1つのフィードバック・ビットを宛てる。これらのコーダの種々の例では、シフト・レジスタの若い端部は、左側にある。しかしながら、代替実施形態では、シフト・レジスタの若い端部は右側にある。フィードバックは、シフト・レジスタ・ビットの数個の排他的論理和から形成する。コーダにおいて、多入力排他的論理和を用いて、これらの符号を実現する。対照的に、L2C符号を求めるコーダが用いるフィードバックは、出力ビットと個々のレジスタ・ビットとの排他的論理和を取ることによって形成する。フィードバックは、同時に数個の異なるビット位置において行われる。したがって、L2Cフィードバックは、2入力、1出力の排他的論理和ゲートによって実施される。ガロア構成において用いられる排他的論理和ゲートの方が、特に非常に高速な符号では、フィボナッチ構成において用いられる多入力形態よりも好ましいと考えられる。尚、L2C符号を求めるためのシフト・レジスタ510(図5)における若い端部は、右側にあることを注記しておく。しかしながら、代替実施形態では、L2C符号を求めるためのシフト・レジスタ、及びガロア構成を用いるその他のコーダの若い端部は、左側にあってもよい。
【0084】
因数分解(factor)できないガロア体多項式が、最大長のシーケンスを生成する。その結果、このような多項式を既約又は原始多項式と呼ぶ。対応するシーケンスを最大シーケンスと呼び、符号をMコードとも呼ぶ。ビット・シーケンスの非繰り返し長は2−1であり、Nは多項式の度数である。最大長シーケンスの発生の間、シフト・レジスタが早めに巡回(short cycle)しないのであれば、シフト・レジスタの内容は、Nビットの整数として表すと、1から2−1までの全ての値を取る。
【0085】
2つの最大長シーケンス(GNSSにおける多くのスペクトル拡散符号と同様)の排他的論理和を取ることによって形成したスペクトル拡散符号は、当該2つの最大長シーケンスの多項式のビット毎の乗算(キャリーのないモジュロ−2加算を用いる)である多項式として表現することができる。得られる多項式の度数は、乗算する多項式の度数の和に等しい。あるいは、得られる多項式の度数は、乗算する多項式の度数の和に等しい。例えば、C/A符号は、度数10の多項式によって定義される2つの符号の排他的論理和である(図10に示すように)。このスペクトル拡散符号は、度数20の1つの多項式によって実施することができる。組み合わせた多項式からは、最大長ビット・シーケンスは得られない。1023ビットの後、10ビットC/A符号多項式と同じように繰り返す。
【0086】
以下ではカーン変換(Cahn Transformation)と呼ぶ、多項式を乗算し組み合わせる方法を以下に提示する。PRN−1に対するC/Aスペクトル拡散符号を、本手順における動作の説明例として用いる。動作はある順序で呈示する。しかしながら、実施形態によっては、2つ以上の動作の順序が変化してもよく、追加の動作を加えてもよく、動作を組み合わせてもよく、及び/又は動作を除去してもよい。
【0087】
カーン変換の例では、C/A多項式を二進形態でN+1ビット整数として表現し、最も右(最下位ビット)に1があり、右からN番目のビットにXがある。ビットの順序を逆転すると、次のようになる。
G1=1+X+X10=10010000001
G2=1+X+X+X+X+X+X10=10110010111
通常の乗算におけるように、多項式をビット毎に乗算するが、排他的論理和(モジュロ2)加算を用いて列毎に加算すると(キャリーを破棄する)、次のようになる。
10110010111
10010000001
10110010111
10110010111
10110010111
101001001001000010111
【0088】
結果を多項式形態で表現し、多項式において最下位ビットをX2N、左端の1ビットを1とすると、以下の式が得られる。
C/A多項式=1+X+X+X+X11+X16+X18+X19+X20
この例において発生したビット・シーケンスは、1023ビットの後繰り返す。これは、C/A符号G1及びG2シーケンスの長さでもある。シフト・レジスタの初期状態は、それぞれのスペクトル拡散符号に対して第1Nビットである(残りのビットは0である)。最初のビットは、シフト・レジスタの右端のビットに入る。このビットは、Xに対応する。C/Aスペクトル拡散符号PRN−1では、最初の20ビット(右から左へ)は、(20番目のビット)0010 1001 1100 0001 0011(最初のビット)=29C13(16進数)となる。この新しい符号形態のフィードバック・ビットは、多項式によって参照される全てのビットの排他的論理和を取ることによって組み立てられる。フィードバック・ビットをシフトして、シフト・レジスタの左側にある「最も若い」ビットに入れる。C/Aスペクトル拡散符号では、フィードバックは、非ゼロ多項式X項:X、X、X、X11、X16、X18、X19、及びX20に対応するシフト・レジスタ・ビットの排他的論理和である。
フィードバックをX位置に書き戻す。
【0089】
この手順を用いると、受信機におけるコーダの内2つ以上、又は全部を、1つのシフト・レジスタによって実施することができる。L2C符号の多項式は、既に正しい形態になっているが、手順において示すように多項式に基づいて、しかるべきフィードバックを組み立てるとよい。
実施形態によっては、この手順は、シフト・レジスタにおける右端のビットを1ビット、左端のビットをXビットとして実施することもできる。
【0090】
一旦スペクトル拡散符号の全てを単一レジスタ形態に変換すると、GNSSスペクトル拡散符号ビット・シーケンスの2つ以上、又は全部を実施することができる1つのコーダを実施することができる。このようなコーダを例示する実施形態1200を図12に示す。実施形態1200におけるコーダは、適応化、構成、及び/又はプログラムすることができる。制御ロジック1224は、フィードバック多項式マスク表1218から発生するスペクトル拡散符号に合わせて、フィードバック多項式マスク1216(符号多項式の二進表現)を選択する。フィードバック・マスク1216は、対応する多項式に1を含まない。Nビット・シフト・レジスタ1210及びフィードバック多項式マスク1216からのビットを、2入力、1出力排他的論理和ゲート1220及び1222を用いて、ビット毎に組み合わせる。フィードバック・ビットは、その結果のNビットの排他的論理和である。この実施態様では、排他的論理和ツリーは、約log2(N)+2の深さを有する。ツリーは、それが正しい結果に落ちつくまでに、かなりの波及(ripple-through)遅延を有する場合がある。GPS L5のようなスペクトル拡散符号では、シフト・レジスタ1210の初期状態は、制御ロジック1214を用いて、初期状態表1212から選択することができる。出力1214は、所望のスペクトル拡散符号信号に対応する。
【0091】
図5に示すL2Cコーダのような、ガロア構成を用いるコーダにおけるフィードバック様式は、一般化が一層容易である場合があり、波及遅延が少ない。図13における実施形態1300は、一般化したコーダを示す。このコーダは、適応化、構成、及び/又はプログラムすることができる。対象のスペクトル拡散符号に応じて、制御ロジック1320は、初期状態ベクトル表1312において、シフト・レジスタ1310の初期状態ベクトル、短サイクル初期状態ベクトル表1314においてシフト・レジスタ1310の短サイクル初期状態ベクトル、及び/又はフィードバック多項式マスク表1318においてフィードバック多項式マスク1316を選択することができる。コーダ330(図3)として用いることができるプログラム可能なコーダの実施形態は、ビット数が最長符号多項式、又は度数が最も高い符号多項式以上のシフト・レジスタ1310を有するとよい。GPS L2C符号は、27ビットに対応する多項式を有する。実施形態によっては、GALILEO符号の一部のように、更に長い符号に対処するために、32ビット・レジスタを用いることもある。
【0092】
プログラム可能な最終状態及びプログラム可能な短サイクル状態は、シフト・レジスタ1310の格納されている状態と合わせてロジック1322及び/1234を用いて、レジスタあるいは表1326及び/又は1328を用いて判定することができる。実施形態によっては、最終状態及び/又は短サイクル状態は、ハードウェア又はソフトウェアのいずれかを用いた適宜のコーダの実施態様を用いて発生することができる。実施形態によっては、最終状態及び/又は短サイクル状態は、初期状態以降の出力1332における符号ビット数をカウントし、カウントを終端カウント(terminal count)と比較することによって判定することができる。
【0093】
最終状態ロジック1322を用いて、自然に再巡回しない符号に必要な符号エポック及び符号再開を作成する。例えば、GPS L2C及びL5符号の長さは、それらの成分スペクトル拡散符号の自然な長さと一致しない。最終状態を検出したときに、シフト・レジスタ1310を、初期状態ベクトル表1312における初期状態ベクトルにリセットする。
【0094】
短サイクル状態ロジック1324を用いて、GPS L5符号のような、それらのビット・シーケンスの途中で符号レジスタの状態を変化させる符号を実施する。短サイクルがスイッチをトリガする。短サイクル状態を検出したときに、シフト・レジスタ1310を、短サイクル初期状態ベクトル表1314における短サイクル初期状態ベクトルにリセットする。シフト・レジスタ1310では決して発生しない0のような値にレジスタ1328をセットすることによって、短サイクルをディスエーブルすることもできる。
【0095】
定めたGPS及びSBAS符号に対してプログラム可能な表又はレジスタの値を補足資料に掲示する。最終状態レジスタ1326及び短サイクル・レジスタ1328に対する値は、しかるべきビット番号においてシフト・レジスタの内容を記録したコーダのソフトウェア・シミュレーションを用いて発生した。また、初期状態ベクトル表又はレジスタ1312の値を得るために用いたアルゴリズムは、短サイクル初期状態ベクトル又はレジスタ1314の値を得るためにも用いた。
【0096】
プログラム可能なコーダの実施形態1300におけるフィードバックは、出力ビット1330が1の場合に、フィードバック多項式マスク1316とシフト・レジスタ1310におけるビットとのビット毎の排他的論理和を取ることによって実行する。フィードバック・アルゴリズムは、以下のような疑似符号を用いて要約することができる。
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;
}
ここで、X[i]は、シフト・レジスタ1310におけるビットを表す。
【0097】
実施形態1300では、フィードバック多項式マスク1316のビットには、右から左に付番してある(図12における実施形態1200の逆)。Xを右端(最下位)ビットに入れ、Xを左端ビットに入れる。対応する多項式からの1は、ここでも無視する。実施形態によっては、最上位及び最下位ビットの順序が逆であってもよい。
【0098】
実施形態によっては、シフト・レジスタ1310の初期状態は、出力1332上のスペクトル拡散符号の最初のN出力ビットから判定することもできる。これら最初のNビットは、初期状態ベクトル表1312に格納することができる、公開されている表から取り込むことができ、あるいはハードウェア又はソフトウェアのいずれかのしかるべきコーダの実施態様を用いて計算してもよい。出力符号ビットは、パックしたデータ・ワードOに格納し、後続のアルゴリズムへの入力として用いることができる。PRN−1に対するC/Aスペクトル拡散符号を、本手順の各動作に対する説明例として用いる。
【0099】
初期状態ベクトル又はレジスタS及びシフト・レジスタX1310を0に初期化する。アルゴリズムは、初期状態レジスタSのビットを計算する。フィードバック多項式マスク又はレジスタF1316を、所望の符号に対するガロア体フィードバック多項式に初期化し、ビットに左から右に付番し、多項式における1を無視する。つまり、S=0、X=0、フィードバック多項式は、次のようになる。
20+X19+X18+X16+X11+X+X+X+1
そして、対応するフィードバック多項式マスクFは、1110 1000 0100 1001 0010、又は16進数でE8492となる。最初のビットが右側にあるC/Aスペクトル拡散符号PRN1に対する出力ビットOは、Ok=0010 1001 1100 0001 0011=29C13(16進数)となる。
【0100】
k=1にセットする。これは、処理する次のビットである。ビットには1(最初の出力ビット)からNまで付番する。SkをOk及びXkの排他的論理和にセットする。つまり、O1=1及びS1=1 XOR 0=1となる。Xを右に1ビットシフトする。即ち、X=00000(16進数)となる。Ok=1の場合、XをX及びFの排他的論理和にセットする。つまり、X=X XOR F=00000(16進数) XOR E8492(16進数)=E8492(16進数)となる。このパラグラフにおける動作をk=2からNまで、多項式の長さだけ繰り返す。以下に、kの数個の値に対する動作を例示する。
【0101】
k=2では、出力ビットO2=1となる。Xの最下位ビットX0は0に等しい。S2=X0 XOR O2=0 XOR 1=1。Xを右に1ビットだけシフトすると、X=74249(16進数)となる。次いで、X=X XOR F=74249(16進数) XOR E8492(16進数) = 9C6DB(16進数)となる。
【0102】
k=3では、出力ビットO3=0となる。Xの最下位ビット、X0は1に等しい。S3=X0 XOR O3=1 XOR 0=1。Xを右に1ビットだけシフトすると、X=4E36D(16進数)となる。出力ビットは0に等しい(フィードバックはない)。
【0103】
k=4では、出力ビットO4=0となる。Xの最下位ビット、X0は1に等しい。S4=X0 XOR O4=1 XOR 0=1。Xを右に1ビットだけシフトすると、X=271B6(16進数)となる。出力ビットは0に等しい(フィードバックはない)。
【0104】
k=5では、出力ビットO5=1となる。Xの最下位ビットX0は0に等しい。S5=X0 XOR O5=0 XOR 1=1。Xを右に1ビットだけシフトすると、X=138DB(16進数)となる。次いで、X=X XOR F=138DB(16進数) XOR E8492(16進数) = FBC49(16進数)となる。
【0105】
k=6では、出力ビットO6=0となる。Xの最下位ビットX0は01に等しい。S6=X0 XOR O6=0 XOR 1=1。Xを右に1ビットだけシフトすると、X=7DE24(16進数)となる。出力ビットは0に等しい(フィードバックはない)。
【0106】
k=7では、出力ビットO7=0となる。Xの最下位ビットX0は0に等しい。S7=X0 XOR O7=0 XOR 0=0。Xを右に1ビットだけシフトすると、X=3EF12(16進数)となる。出力ビットは0に等しい(フィードバックはない)。
【0107】
k=8では、出力ビットO8=0となる。Xの最下位ビットX0は0に等しい。S8=X0 XOR O8=0 XOR 0=0。Xを右に1ビットだけシフトすると、X=1F789(16進数)となる。出力ビットは0に等しい(フィードバックはない)。
【0108】
動作をビット9〜20までについて繰り返すと、C/Aスペクトル拡散符号PRN−1に対してS=0E53F(16進数)が得られる。
【0109】
プログラム可能なコーダの実施形態1300は、公衆GNSS衛星信号が用いるスペクトル拡散符号のいずれでも発生することができる。実施形態1300はガロア構成を示すが、別の実施形態では、同等のフィボナッチ構成を用いてもよい。しかしながら、フィボナッチ構成では、実施態様が大型化し、最終状態及び短サイクル状態を一般化するために利用する回路が更に複雑になる可能性がある。
【0110】
図15は、衛星ナビゲーション・デバイスにおける動作の一実施形態を示す。可調節符号発生器は、スペクトル拡散符号信号の集合から選択されたスペクトル拡散符号を発生するように構成されている(1510)。スペクトル拡散符号信号を発生する(1512)。実施形態によっては、動作がこれらよりも少ない場合も多い場合もあり、動作の順序を入れ替えることもでき、及び/又は2つ以上の動作を組み合わせることもできる。
【0111】
図14は、汎地球ナビゲーション衛星システム(GNSS)における、デバイス110(図1)のようなデバイス1410の一実施形態を示す。デバイス1410は、フロント・エンド回路1412、信号プロセッサ242(図2A)のような信号プロセッサ1414、少なくとも1つのプロセッサ1416、及びメモリ1418を含む。メモリ1418は、高速ランダム・アクセス・メモリを含むことができ、更に1つ以上の磁気ディスク記憶デバイス、EEPROM及び/又はフラッシュEEPROMのような不揮発性メモリも含むことができ、オペレーティング・システム1420、及びプロセッサ1416が実行する少なくとも1つのプログラム・モジュール1432を含む。少なくとも1つのプログラム・モジュール1432は、AGC1422、A/D変換器1424、DC−オフセット補正1426、復調1428、位相回転1430、GNSSコーダ/デコーダ1434、並びにキャリア及び符号ロック1442の回路に対応する命令及び/又はファイルを含む。A/D変換器1424は、1つ以上の量子化マッピングを含むことができる。位相回転1430は、正弦/余弦参照表を含むことができる。GNSSコーダ/デコーダ1434は、フィードバック多項式マスク1436、初期状態ベクトル1438、及び短サイクル初期状態ベクトル1440を含むことができる。プログラム・モジュール1432は、任意のマルチパス補正(二重デルタ補正、ストローブ相関器、及びパルス・アパーチャ相関器等)、及び/又はマルチパス計算を含むことができる。また、プログラム・モジュール1424は、第1チャネルのような1つ以上のチャネル、及び/又はサブチャネル回路200(図2A)のような1つ以上のサブチャネル回路において、IF、フィルタ、ミキサ、及び/又はLO周波数を調節するための命令も含むことができる。実施形態の中には、プロセッサ1416が1つよりも多い場合もある。他の実施形態では、デバイス1410は、ASICを含むこともでき、プロセッサ1416が実行する少なくとも1つのプログラム・モジュール1432の機能性の一部又は全部をASIC内に実装することもできる。
【0112】
以上、GNSSの文脈でプログラム可能なコーダについて説明したが、シフト・レジスタを用いる同様の符号発生器及び疑似ランダム・シーケンス発生器が広く用いられている。したがって、プログラム可能なコーダは、フィボナッチ又はガロア構成のいずれであっても、GNSS受信機以外のほかの用途においても実施可能であることは言うまでもない。加えて、カーン変換は、第1ドメイン又は第2ドメインのいずれにおいても、疑似ランダム符号発生器を実施するために用いることができる。このような符号発生器は、プログラム可能でも又は固定でもよい。
【0113】
以上の記載では、説明の目的上、本発明の完全な理解を得るために、具体的な名称を用いた。しかしながら、本発明を実施するためには、具体的な詳細は必要でないことは当業者には明白であろう。実施形態は、本発明の原理及びその実用的用途を最良に説明し、これによって、他の当業者が本発明及び種々の実施形態を、想定される個々の仕様に適した種々の修正と共に、最良に利用することができるようにするために選択し説明したのである。したがって、前述の開示は、それだけ余すことがない全てであることも、本発明と開示した通りの形態に限定することも意図していない。以上の教示を検討することにより、多くの修正や変形が可能である。
発明の範囲は、以下の特許請求の範囲及びその均等物によって定義されることとする。

【特許請求の範囲】
【請求項1】
衛星ナビゲーション・デバイスであって、
スペクトル拡散符号信号の集合を発生する可調節符号発生器を含む受信機を備えており、各スペクトル拡散符号信号は、繰り返し周期に対応するそれぞれの長さを有し、前記スペクトル拡散符号信号の集合は、個別の第1及び第2長を有する第1及び第2スペクトル拡散符号信号を含んでいる
ことを特徴とする衛星ナビゲーション・デバイス。
【請求項2】
請求項1記載の衛星ナビゲーション・システムにおいて、前記可調節符号発生器は更に、フィードバック・ループと、前記スペクトル拡散符号信号の集合に対応する複合ガロア多項式の度数以上のビット数を有するプログラム可能なシフト・レジスタとを含んでいることを特徴とする衛星ナビゲーション・システム。
【請求項3】
請求項2記載の衛星ナビゲーション・システムにおいて、前記プログラム可能なシフト・レジスタにおけるビット数は、前記スペクトル拡散符号信号の集合におけるそれぞれのスペクトル拡散符号信号を記述するそれぞれの多項式の度数の最大和に対応することを特徴とする衛星ナビゲーション・システム。
【請求項4】
請求項3記載の衛星ナビゲーション・システムにおいて、前記多項式の集合は、既約ガロア体多項式を備えていることを特徴とする衛星ナビゲーション・システム。
【請求項5】
請求項2記載の衛星ナビゲーション・システムにおいて、前記フィードバック・ループは更に、プログラム可能なフィードバック・マスクと、フィードバック・マスク表とを含み、前記フィードバック・マスク表は、フィードバック・マスクの集合を収容し、それぞれのスペクトル拡散符号信号に対するそれぞれのフィードバック・マスクは、対応する多項式の二進表現であることを特徴とする衛星ナビゲーション・システム。
【請求項6】
請求項2記載の衛星ナビゲーション・システムにおいて、前記フィードバック・ループは多数の入力ビットと、1つの出力ビットとを有することを特徴とする衛星ナビゲーション・システム。
【請求項7】
請求項6記載の衛星ナビゲーション・システムにおいて、前記1つの出力ビットは、前記多数の入力ビットの排他的論理和ツリーによって決定されることを特徴とする衛星ナビゲーション・システム。
【請求項8】
請求項2記載の衛星ナビゲーション・システムにおいて、前記フィードバック・ループは、多数の入力ビットと、多数の出力ビットとを有することを特徴とする衛星ナビゲーション・システム。
【請求項9】
請求項8記載の衛星ナビゲーション・システムにおいて、前記多数の出力ビットの各々は、前記プログラム可能なシフト・レジスタからの出力ビットとそれぞれの入力ビットとの排他的論理和によって決定されることを特徴とする衛星ナビゲーション・システム。
【請求項10】
請求項1記載の衛星ナビゲーション・システムにおいて、前記可調節符号発生器は更に初期状態表を含み、該初期状態表は初期状態ベクトルの集合を収容し、各初期状態ベクトルは、前記スペクトル拡散信号の集合の内少なくとも1つのスペクトル拡散信号に対応する、前記プログラム可能なシフト・レジスタにおけるビットの初期値に対応することを特徴とする衛星ナビゲーション・システム。
【請求項11】
請求項1記載の衛星ナビゲーション・システムにおいて、前記可調節符号発生器は更に制御ロジックを含み、該制御ロジックは、初期状態ベクトル表に格納されている初期状態ベクトルの集合における初期状態ベクトルを前記プログラム可能なシフト・レジスタの中にプログラムすることによって、前記可調節符号発生器を用いて発生するそれぞれのスペクトル拡散信号が、いつそれぞれの長さに達し、次の符号周期を開始するかを判定し、各初期状態ベクトルは、前記スペクトル拡散信号の集合の内少なくとも1つのスペクトル拡散信号に対応する、前記プログラム可能なシフト・レジスタにおけるビットの初期値に対応することを特徴とする衛星ナビゲーション・システム。
【請求項12】
請求項1記載の衛星ナビゲーション・システムにおいて、前記可調節符号発生器は更に制御ロジックを含み、該制御ロジックは、初期状態ベクトル表に格納されている初期状態ベクトルの集合における初期状態ベクトルを前記プログラム可能なシフト・レジスタの中にプログラムすることによって、前記可調節符号発生器を用いて発生するそれぞれのスペクトル拡散信号が、何時その終端状態に達して、次の符号周期を開始するかを判定し、各初期状態ベクトルは、前記スペクトル拡散信号の集合の内少なくとも1つのスペクトル拡散信号に対応する、前記プログラム可能なシフト・レジスタにおけるビットの初期値に対応することを特徴とする衛星ナビゲーション・システム。
【請求項13】
請求項1記載の衛星ナビゲーション・システムにおいて、前記可調節符号発生器は更に、制御ロジックと短サイクル状態表とを含み、該短サイクル状態表は、短サイクル状態ベクトルの集合を収容し、各短サイクル状態ベクトルは、前記それぞれの長さの所定の端数における、前記スペクトル拡散信号の集合の内少なくとも1つのスペクトル拡散信号に対応する、前記プログラム可能なシフト・レジスタにおけるビットの値に対応し、前記制御ロジックは、前記可調節符号発生器を用いて発生するそれぞれのスペクトル拡散信号が、いつ前記それぞれの長さの所定の端数に達したかを判定することを特徴とする衛星ナビゲーション・システム。
【請求項14】
衛星ナビゲーション・デバイスであって、
スペクトル拡散符号信号の集合を発生する発生手段を含む受信手段を備えており、各スペクトル拡散符号信号は、繰り返し周期に対応するそれぞれの長さを有し、前記スペクトル拡散符号信号の集合は、少なくとも2つの長さを含む
ことを特徴とする衛星ナビゲーション・デバイス。
【請求項15】
スペクトル拡散符号信号の集合から選択したスペクトル拡散符号信号を発生するように、可調節符号発生器を構成するステップと、
前記スペクトル拡散符号信号を発生するステップと、
を備えており、
前記スペクトル拡散符号信号の集合における各スペクトル拡散符号信号は、繰り返し周期に対応するそれぞれの長さを有し、前記スペクトル拡散符号信号の集合は、別個の第1及び第2長を有する第1及び第2スペクトル拡散符号信号を含むことを特徴とする方法。
【請求項16】
請求項15記載の方法において、前記可調節符号発生器は更に、フィードバック・ループと、前記スペクトル拡散符号信号の集合に対応する複合ガロア多項式の度数以上のビット数を有するプログラム可能なシフト・レジスタとを含むことを特徴とする方法。
【請求項17】
請求項16記載の方法において、前記プログラム可能なシフト・レジスタにおけるビット数は、前記スペクトル拡散符号信号の集合におけるそれぞれのスペクトル拡散符号信号を記述するそれぞれの多項式の度数の最大和に対応することを特徴とする方法。
【請求項18】
請求項17記載の方法において、前記多項式の集合は、既約ガロア体多項式を備えていることを特徴とする方法。
【請求項19】
請求項16記載の方法において、該方法は更に、フィードバック・マスクの集合においてそれぞれのフィードバック・マスクを選択し、前記フィードバック・ループを用いて前記それぞれのフィードバック・マスクをフィードバックするステップを備えており、それぞれのスペクトル拡散符号信号に対するそれぞれのフィードバック・マスクは、対応する多項式の二進表現であることを特徴とする方法。
【請求項20】
請求項16記載の方法において、前記フィードバック・ループは、多数の入力ビットと1つの出力ビットとを有することを特徴とする方法。
【請求項21】
請求項20記載の方法において、前記1つの出力ビットは、前記多数の入力ビットの排他的論理和ツリーによって決定されることを特徴とする方法。
【請求項22】
請求項16記載の方法において、前記フィードバック・ループは、多数の入力ビットと、多数の出力ビットとを有することを特徴とする方法。
【請求項23】
請求項22記載の方法において、該方法は更に、前記プログラム可能なシフト・レジスタからの出力ビットと、それぞれの入力ビットとの排他的論理和を用いて、前記多数の出力ビットの各々を決定するステップを備えていることを特徴とする方法。
【請求項24】
請求項15記載の方法において、該方法は更に、初期状態ベクトルの集合におけるそれぞれの初期状態ベクトルを用いて、前記プログラム可能なシフト・レジスタの初期状態をセットするステップを備えており、各初期状態ベクトルは、前記スペクトル拡散信号の集合の内少なくとも1つのスペクトル拡散信号に対応する、前記プログラム可能なシフト・レジスタにおけるビットの初期値に対応することを特徴とする方法。
【請求項25】
請求項15記載の方法において、該方法は更に、制御ロジックを用いて、前記可調節符号発生器を用いて発生するそれぞれのスペクトル拡散信号が、いつそれぞれの長さに達するかを判定し、初期状態ベクトルの集合におけるそれぞれの初期状態ベクトルを用いて前記プログラム可能なシフト・レジスタの初期状態を設定するステップを備えており、各初期状態ベクトルは、前記スペクトル拡散信号の集合の内少なくとも1つのスペクトル拡散信号に対応する、前記プログラム可能なシフト・レジスタにおけるビットの初期値に対応することを特徴とする方法。
【請求項26】
請求項15記載の方法において、該方法は更に、制御ロジックを用いて、前記可調節符号発生器を用いて発生するそれぞれのスペクトル拡散信号が、何時その終端状態に達するかを判定し、初期状態ベクトルの集合におけるそれぞれの初期状態ベクトルを用いて前記プログラム可能なシフト・レジスタの初期状態を設定するステップを備えており、各初期状態ベクトルは、前記スペクトル拡散信号の集合の内少なくとも1つのスペクトル拡散信号に対応する、前記プログラム可能なシフト・レジスタにおけるビットの初期値に対応することを特徴とする方法。
【請求項27】
請求項15記載の方法において、該方法は更に、制御ロジックを用いて、前記可調節符号発生器を用いて発生するそれぞれのスペクトル拡散信号が、何時、前記それぞれの長さの所定の端数に達したかを判定し、短サイクル状態ベクトルの集合におけるそれぞれの短サイクル状態ベクトルを用いて、前記プログラム可能なシフト・レジスタの短サイクル状態を設定するステップを備えており、各短サイクル状態ベクトルは、前記それぞれの長さの所定の端数における、前記スペクトル拡散信号の集合の内少なくとも1つのスペクトル拡散信号に対応する、前記プログラム可能なシフト・レジスタにおけるビットの値に対応することを特徴とする方法。
【請求項28】
コンピュータ・プログラム製品であって、
コンピュータ読み取り可能記憶媒体と、その中に埋め込まれているコンピュータ・プログラム・メカニズムとを備えており、
該コンピュータ・プログラム・メカニズムは、
スペクトル拡散符号信号の集合から選択したスペクトル拡散符号信号を発生するように、可調節符号発生器を構成する命令と、
前記スペクトル拡散符号信号を発生する命令と、
を備えており、
前記スペクトル拡散符号信号の集合における各スペクトル拡散符号信号は、繰り返し周期に対応するそれぞれの長さを有し、前記スペクトル拡散符号信号の集合は、別個の第1及び第2長を有する第1及び第2スペクトル拡散符号信号を含む
ことを特徴とするコンピュータ・プログラム製品。
【請求項29】
コンピュータであって、
主メモリと、
キャッシュ・メモリを有するプロセッサと、
前記主メモリに格納され、前記プロセッサによって実行するプログラムであって、
スペクトル拡散符号信号の集合から選択したスペクトル拡散符号信号を発生するように、可調節符号発生器を構成する命令と、
前記スペクトル拡散符号信号を発生する命令と、
を含む、プログラムと
を備えており、
前記スペクトル拡散符号信号の集合における各スペクトル拡散符号信号は、繰り返し周期に対応するそれぞれの長さを有し、前記スペクトル拡散符号信号の集合は、別個の第1及び第2長を有する第1及び第2スペクトル拡散符号信号を含むことを特徴とするコンピュータ。

【図1】
image rotate

【図2A】
image rotate

【図2B】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate


【公開番号】特開2012−237757(P2012−237757A)
【公開日】平成24年12月6日(2012.12.6)
【国際特許分類】
【出願番号】特願2012−139654(P2012−139654)
【出願日】平成24年6月21日(2012.6.21)
【分割の表示】特願2009−509581(P2009−509581)の分割
【原出願日】平成19年4月10日(2007.4.10)
【出願人】(504278123)ナヴコム テクノロジー インコーポレイテッド (28)
【Fターム(参考)】