(57)【要約】【課題】  本発明は、少なくとも１つのダウンコンバートされたデジタル化スペクトル拡散ソース信号を表すデータサンプル（ｄ（ｋ））の入力ストリームに基づく復号化信号（Ａτ）の生成に関する。【解決手段】  複数（ＮＭ）の受信データサンプル（ｄ（ｋ））を、各データブロックが第２の数（Ｍ）のサンプルを含む第１の数（Ｎ）のデータブロックに分割する。第２の数（Ｍ）は２以上の整数である。各データブロックと各ローカルコードレプリカセグメント（ｐ（ｋ））との相関をとり、第１の数（Ｎ）の中間積算結果（ΣＩ；ΣＱ）を生成する。少なくとも１つのスペクトル拡散ソース信号のダウンコンバート周波数に対してドップラーシフトが補償された復号化信号（Ａτ）を生成するために、中間積算結果（ΣＩ；ΣＱ）とドップラーシフトを表すキャリアベクトル（ｓ［ｚ］Ｉ；ｓ［ｚ］Ｑ）との相関をとる。【選択図】  図１
2008541585.tif 000002
【特許請求の範囲】
【請求項１】
少なくとも１つのダウンコンバートされたデジタル化スペクトル拡散ソース信号（ＳＨＦ）を表すデータサンプル（ｄ（ｋ））の受信入力ストリームに基づいて復号化信号（Ａτ）を生成するソフトウェア相関器（２２５）であって、
複数（ＮＭ）の前記受信データサンプル（ｄ（ｋ））を、各データブロックが第２の数（Ｍ）（第２の数（Ｍ）は２以上の整数である）のサンプルを含む第１の数（Ｎ）のデータブロックに分割する分割モジュール（４１０）と、
前記データブロックのそれぞれと各ローカルコードレプリカセグメント（ｐ（ｋ））との相関をとり、第１の数（Ｎ）の中間積算結果（ΣＩ；ΣＱ）を生成する第１の相関モジュール（４２０）と、
前記中間積算結果（ΣＩ；ΣＱ）の複数の連続する結果を、前記復号化信号（τ）について補償される前記少なくとも１つのスペクトル拡散ソース信号（ＳＨＦ）のダウンコンバート周波数に対する前記少なくとも１つのスペクトル拡散ソース信号（ＳＨＦ）のドップラーシフト（Ｃｆ）を表すキャリアベクトル（ｓ［ｚ］Ｉ；ｓ［ｚ］Ｑ）の離散キャリア値（ｓ１Ｉ：ｓＺＩ；ｓ１Ｑ：ｓＺＱ）の数を表し、前記第１の数（Ｎ）以下である目標数（Ｚ）の集合積算結果（ｃ１Ｉ：ｃＺＩ；ｃ１Ｑ：ｃＺＱ）に結合する集合モジュール（４３０）と、
前記集合積算結果（ｃ１Ｉ：ｃＺＩ；ｃ１Ｑ：ｃＺＱ）と前記キャリアベクトル（ｓ［ｚ］Ｉ；ｓ［ｚ］Ｑ）との相関をとり、前記ダウンコンバート周波数に対して前記ドップラーシフト（Ｃｆ）が補償された前記復号化信号（Ａτ）を生成する第２の相関モジュール（４４０）と、
を含むことを特徴とするソフトウェア相関器（２２５）。
【請求項２】
前記ローカルコードレプリカセグメント（ｐ（ｋ））の基礎を構成する複数のローカルコードレプリカを記憶するコード記憶手段（４５０）を含み、前記第１の相関モジュール（４２０）が前記ローカルコードレプリカセグメント（ｐ（ｋ））を前記記憶手段（４５０）から受信することを特徴とする、請求項１に記載のソフトウェア相関器（２２５）。
【請求項３】
前記ソフトウェア相関器（２２５）が、各キャリアベクトル（ｓ［ｚ］Ｉ；ｓ［ｚ］Ｑ）が１組のキャリア値（ｓ１Ｉ：ｓＺＩ；ｓ１Ｑ：ｓＺＱ）を含む複数の予め生成されたデジタル化キャリアベクトル（ｓ［ｚ］Ｉ；ｓ［ｚ］Ｑ）を含む圧縮ベクトルテーブル（６２０；６３０；６４０）を記憶するベクトル記憶手段（４６０）に関連付けられており、前記第２の相関モジュール（４４０）が前記キャリア値（ｓ１Ｉ：ｓＺＩ；ｓ１Ｑ：ｓＺＱ）を前記記憶手段（４６０）から受信することを特徴とする、請求項１又は２に記載のソフトウェア相関器（２２５）。
【請求項４】
前記ベクトル記憶手段（４６０）内の前記予め生成されたキャリアベクトル（ｓ［ｚ］Ｉ；ｓ［ｚ］Ｑ）のそれぞれが、同相値（ｓ１Ｉ：ｓＺＩ）及び直角位相キャリア値（ｓ１Ｑ：ｓＺＱ）をそれぞれ表す複素数値ベクトルであることを特徴とする、請求項３に記載のソフトウェア相関器（２２５）。
【請求項５】
前記ベクトル記憶手段（４６０）内の前記ベクトルがランレングス符号化されており、前記相関器（２２５）がランレングス符号化アルゴリズムに基づいて前記キャリア値（ｓ１Ｉ：ｓＺＩ；ｓ１Ｑ：ｓＺＱ）を決定することを特徴とする、請求項４に記載のソフトウェア相関器（２２５）。
【請求項６】
前記データブロックのそれぞれが第１のパック化オペランドとして表され、前記ローカルコードレプリカセグメント（ｐ（ｋ））のそれぞれが第２のパック化オペランドとして表され、前記第１の相関モジュール（４２０）が、前記第１及び第２のオペランドに対するバイナリ論理演算命令を実行することによって前記データブロックに前記ローカルコードレプリカセグメント（ｐ（ｋ））を乗算することを特徴とする、請求項１〜５のいずれか１項に記載のソフトウェア相関器（２２５）。
【請求項７】
前記第１の相関モジュール（４２０）が、少なくとも１つの総和ルックアップテーブルの内容に基づく前記バイナリ論理演算命令によって得られた少なくとも１つの乗算結果に対して少なくとも１つの総和演算を行うことを特徴とする、請求項６に記載のソフトウェア相関器（２２５）。
【請求項８】
前記集合積算結果（ｃ１Ｉ：ｃＺＩ；ｃ１Ｑ：ｃＺＱ）のそれぞれが第１の非パック化オペランドであり、前記キャリア値（ｓ１Ｉ：ｓＺＩ；ｓ１Ｑ：ｓＺＱ）のそれぞれが第２の非パック化オペランドであり、前記第２の相関モジュール（４４０）が、前記第１及び第２の非パック化オペランドに対して最小アドレス可能単位（ｌｅａｓｔ−ａｄｄｒｅｓｓａｂｌｅ−ｕｎｉｔ）演算を行うことによって前記集合積算結果（ｃ１Ｉ：ｃＺＩ；ｃ１Ｑ：ｃＺＱ）に前記キャリア値（ｓ１Ｉ：ｓＺＩ；ｓ１Ｑ：ｓＺＱ）を乗算することを特徴とする、請求項６又は７に記載のソフトウェア相関器（２２５）。
【請求項９】
スペクトル拡散ソース信号（ＳＨＦ）を受信し、前記スペクトル拡散ソース信号（ＳＨＦ）に応じてデータサンプル（ｄ（ｋ））のストリームを生成するデータインターフェース装置（２１０）と、
前記データサンプル（ｄ（ｋ））のストリームを受信し、前記データサンプル（ｄ（ｋ））のストリームに応じて復号化信号（Ａτ）を生成するデジタル処理装置（２２０）と、
を含み、
前記デジタル処理装置（２２０）が請求項１〜７のいずれか１項に記載のソフトウェア相関器（２２５）を含むことを特徴とするスペクトル拡散信号受信器（２００）。
【請求項１０】
前記データインターフェース装置（２１０）が、前記データサンプル（ｄ（ｋ））のストリーム内の前記データサンプル（ｄ（ｋ））をバッファリングし、前記デジタル処理装置（２２０）のデータフォーマットに対応するフォーマットされたデータサンプル（ｄ（ｋ））のストリームを前記デジタル処理装置（２２０）に供給するバッファ装置（３１６；３２１）を含むことを特徴とする、請求項９に記載のスペクトル拡散信号受信器（２００）。
【請求項１１】
前記データインターフェース装置（２１０）が、
前記スペクトル拡散ソース信号（ＳＨＦ）を受信し、前記スペクトル拡散ソース信号（ＳＨＦ）に応じて同相データ（ＳＬＦＩ）と直角位相データ（ＳＬＦＱ）をそれぞれ表す一対の周波数ダウンコンバート信号を生成するダウンコンバート部（３１１，３１２，３１３，３１４）と、
前記一対の周波数ダウンコンバート信号（ＳＬＦＩ；ＳＬＦＱ）を受信し、前記一対の周波数ダウンコンバート信号（ＳＬＦＩ；ＳＬＦＱ）に応じて前記データサンプル（ｄ（ｋ））のストリームを生成するデジタル化部（３１５）と、
を含むことを特徴とする、請求項１０に記載のスペクトル拡散信号受信器（２００）。
【請求項１２】
前記データインターフェース装置（２１０）が、
前記スペクトル拡散ソース信号（ＳＨＦ）を受信し、前記スペクトル拡散ソース信号（ＳＨＦ）に応じてダウンコンバート信号（ＳＩＦ）を生成する一次ダウンコンバート部（３１７，３１８）と、
前記周波数ダウンコンバート信号（ＳＩＦ）を受信し、前記周波数ダウンコンバート信号（ＳＩＦ）に応じてデータサンプル（ｄＩＦ）の一次ストリームを生成するデジタル化部（３１９）と、
前記データサンプル（ｄＩＦ）の一次ストリームを受信し、前記データサンプル（ｄＩＦ）の一次ストリームに同相及び直角位相搬送波をそれぞれデジタル的に乗算し、得られた結果をフィルタリングし、再抽出して前記データサンプル（ｄ（ｋ））のストリームを生成する二次ダウンコンバート部（３２０）と、
を含むことを特徴とする、請求項１０に記載のスペクトル拡散信号受信器（２００）。
【請求項１３】
復号化信号（Ａτ）を生成する方法であって、少なくとも１つのダウンコンバートされたデジタル化スペクトル拡散ソース信号（ＳＨＦ）を表すデータサンプル（ｄ（ｋ））の入力ストリームを受信することを含み、
複数（ＮＭ）の前記受信データサンプル（ｄ（ｋ））を、各データブロックが第２の数（Ｍ）（第２の数（Ｍ）は２以上の整数である）のサンプルを含む第１の数（Ｎ）のデータブロックに分割する工程と、
前記データブロックのそれぞれと各ローカルコードレプリカセグメント（ｐ（ｋ））との相関をとり、第１の数（Ｎ）の中間積算結果（ΣＩ；ΣＱ）を生成する工程と、を含み、離散キャリア値レベルの目標数（Ｚ）が前記第１の数（Ｎ）以下であり、前記第１の数（Ｎ）と前記目標数（Ｚ）との関係に応じて、
前記中間積算結果（ΣＩ；ΣＱ）の複数の連続する結果を、前記目標数（Ｚ）と等しい数の集合積算結果（ｃ１Ｉ：ｃＺＩ；ｃ１Ｑ：ｃＺＱ）に結合する工程と、
前記集合積算結果（ｃ１Ｉ：ｃＺＩ；ｃ１Ｑ：ｃＺＱ）と前記目標数（Ｚ）のキャリア値（ｓ１Ｉ：ｓＺＩ；ｓ１Ｑ：ｓＺＱ）を含むキャリアベクトル（ｓ［ｚ］Ｉ；ｓ［ｚ］Ｑ）との相関をとり、前記少なくとも１つのスペクトル拡散ソース信号（ＳＨＦ）のダウンコンバート周波数に対して前記キャリアベクトル（ｓ［ｚ］Ｉ；ｓ［ｚ］Ｑ）で表されるドップラーシフト（Ｃｆ）が補償された前記復号化信号（Ａτ）を生成する工程と、
を含むことを特徴とする方法。
【請求項１４】
前記キャリア値（ｓ１Ｉ：ｓＺＩ；ｓ１Ｑ：ｓＺＱ）のそれぞれが予め生成され、前記方法が、圧縮ベクトルテーブル（６２０；６３０；６４０）のキャリアベクトル（ｓ［ｚ］Ｉ；ｓ［ｚ］Ｑ）から前記キャリア値（ｓ１Ｉ：ｓＺＩ；ｓ１Ｑ：ｓＺＱ）を検索することを含むことを特徴とする、請求項１３に記載の方法。
【請求項１５】
前記圧縮ベクトルテーブル（６２０；６３０；６４０）が、複数の複素数値キャリアベクトル（ｓ［ｚ］Ｉ；ｓ［ｚ］Ｑ）を含み、前記方法が、各キャリアベクトル（ｓ［ｚ］Ｉ；ｓ［ｚ］Ｑ）が、前記ダウンコンバート周波数に対する前記データサンプル（ｄ（ｋ））の入力ストリームの特定のドップラーシフト（Ｃｆ）を表す１組のキャリア値（ｓ１Ｉ：ｓＺＩ；ｓ１Ｑ：ｓＺＱ）を含むことを特徴とする、請求項１４に記載の方法。
【請求項１６】
前記圧縮ベクトルテーブル（６３０，６４０）内の前記ベクトルがランレングス符号化されており、ランレングス符号化アルゴリズムによって前記キャリア値（ｓ１Ｉ：ｓＺＩ；ｓ１Ｑ：ｓＺＱ）を決定することを含むことを特徴とする、請求項１５に記載の方法。
【請求項１７】
前記データブロックのそれぞれが第１のパック化オペランドとして表され、前記ローカルコードレプリカセグメント（ｐ（ｋ））のそれぞれが第２のパック化オペランドとして表され、前記データブロックに前記ローカルコードレプリカセグメント（ｐ（ｋ））を乗算することが、前記第１及び第２のオペランドに対するバイナリ論理演算命令を実行することを含むことを特徴とする、請求項１３〜１６のいずれか１項に記載の方法。
【請求項１８】
少なくとも１つの合計ルックアップテーブルの内容に基づく前記バイナリ論理演算命令によって得られた少なくとも１つの乗算結果に対して少なくとも１つの総和演算を行うことを特徴とする、請求項１７に記載の方法。
【請求項１９】
前記集合積算結果（ｃ１Ｉ：ｃＺＩ；ｃ１Ｑ：ｃＺＱ）のそれぞれが第１の非パック化オペランドであり、前記キャリア値（ｓ１Ｉ：ｓＺＩ；ｓ１Ｑ：ｓＺＱ）のそれぞれが第２の非パック化オペランドであり、前記集合積算結果（ｃ１Ｉ：ｃＺＩ；ｃ１Ｑ：ｃＺＱ）と前記キャリア値（ｓ１Ｉ：ｓＺＩ；ｓ１Ｑ：ｓＺＱ）との相関をとることが前記第１及び第２の非パック化オペランドに対して最小アドレス可能単位（ｌｅａｓｔ−ａｄｄｒｅｓｓａｂｌｅ−ｕｎｉｔ）演算を行うことを含むことを特徴とする、請求項１７又は１８に記載の方法。
【請求項２０】
前記キャリア値（ｓ１Ｉ：ｓＺＩ；ｓ１Ｑ：ｓＺＱ）で表される離散キャリア値レベルの前記目標数（Ｚ）が、前記キャリアベクトル（ｓ［ｚ］Ｉ；ｓ［ｚ］Ｑ）で表される前記ドップラーシフト（Ｃｆ）に依存し、比較的低いドップラーシフト（Ｃｆ）が比較的小さな目標数（Ｚ）に関連付けられ、比較的高いドップラーシフト（Ｃｆ）が比較的大きな目標数（Ｚ）に関連付けられることを特徴とする、請求項１３〜１９のいずれか１項に記載の方法。
【請求項２１】
コンピュータの内部記憶装置に直接ロードすることができるコンピュータプログラムであって、
前記コンピュータに、請求項１３〜２０のいずれか１項に記載の工程を実行させるためのコンピュータプログラム。
【請求項２２】
プログラムが記録されたコンピュータ読取可能な媒体（２２６）であって、
前記プログラムは、前記コンピュータに、請求項１３〜２０のいずれか１項に記載の工程を実行させるためのプログラムであることを特徴とする媒体（２２６）。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、全体として、ベクトルに基づくアルゴリズムによるスペクトル拡散信号の処理に関する。より詳細には、本発明は、請求項１の前文に係るソフトウェア相関器、請求項９に係るスペクトル拡散信号受信器、請求項１３の前文に係る復号化信号の生成方法に関する。また、本発明は、請求項２１に係るコンピュータプログラム及び請求項２２に係るコンピュータ読取可能な媒体にも関する。
【背景技術】
【０００２】
スペクトル拡散伝送は、例えば全地球航法衛星システム（ＧＮＳＳ）において益々重要になっている。現在は全地球測位システム（ＧＰＳ；米国政府）が最も有力な規格だが、ＧＰＳに代わる規格も存在し、将来は重要性を増すものと予想されている。ＧＰＳに代わる規格としては、現在のところ、ガリレオ（Ｇａｌｉｌｅｏ）システム（欧州全地球測位サービスプログラム）と地球軌道衛星航法システム（ＧＬＯＮＡＳＳ；ロシア連邦国防省）が挙げられる。これらの規格は信号フォーマットと周波数帯が異なるため、あるＧＮＳＳ（例えばＧＰＳ）用の航法受信器は異なるＧＮＳＳ（例えばガリレオシステム）に属する衛星からの信号を受信し、処理することができない。
【０００３】
この種のシステムの柔軟性を可能とするためには、マルチモード受信器が必要である。しかし、複数の受信器を単一の装置に組み込むと、コストが増加するだけではなく、特に２種類を超える信号フォーマットを処理する場合には装置が嵩張ると共に重量が増加してしまう。そのため、現在受信・処理する信号に応じて信号処理原理を変更することができるプログラム可能なソフトウェア受信器が望ましい。
【０００４】
また、ＧＮＳＳ受信器が他の無線信号受信器及び／又は信号処理装置と処理プラットフォームを共有する場合にもソフトウェアベースの受信器が望ましい。
【０００５】
ＧＮＳＳ信号を処理するための様々なソフトウェアソリューションが知られている。特許文献１は、受信スペクトル拡散信号に基づいて１以上の連続するサンプル値を含むデータワードを生成するスペクトル拡散信号処理を開示している。次に、データワードと予め生成したコードベクトルとの相関をとり、効率的な処理によって復号化データを生成する。
【０００６】
非特許文献１は、ＩＦ信号サンプルが連続処理のために無線フロントエンドからプログラマブルプロセッサに直接供給される受信機アーキテクチャを開示している。この論文は、複数のデータサンプルを並列処理するために単一命令多重データ（ｓｉｎｇｌｅ  ｉｎｓｔｒｕｃｔｉｏｎ  ｍｕｌｔｉｐｌｅ  ｄａｔａ：ＳＩＭＤ）命令を使用する可能性について言及している。
【０００７】
非特許文献２は、２以上の異なるＧＮＳＳからのデータを融合することができる再構成可能なＧＮＳＳ受信機の設計に関する。この文献は、無線フロントエンドに加えてフィールドプログラマブルゲートアレイ（ＦＰＧＡ）とデジタル信号プロセッサ（ＤＳＰ）を含むアーキテクチャの概略を述べている。
【０００８】
このように、従来技術はソフトウェアベースのＧＮＳＳ受信機の様々な例を含む。しかしながら、高い柔軟性に対する市場の高まる需要を満たすために、電力効率がさらに向上した低価格でグレードアップされたソフトウェア受信器が望まれている。すなわち、携帯電話機又はＰＤＡ（Ｐｅｒｓｏｎａｌ  Ｄｉｇｉｔａｌ  Ａｓｓｉｓｔａｎｔ）等の携帯型装置に組み込むためには、低消費電力によって性能の低いマイクロプロセッサシステムにおける実装及び／又は同一のプラットフォームで動作する他の処理集約的なアプリケーションとの共存が可能となるため、ＧＮＳＳ受信機のソフトウェアベースバンドエンジンによる処理負荷はできるだけ低くなければならない（低ＭＩＰＳ要件を満たさなければならない；ＭＩＰＳ：１００万（メガ）命令毎秒）。
【０００９】
また、市販の埋め込み型プラットフォームはバス帯域幅、キャッシュサイズ、メモリ待ち時間（リード／ライトストール）の点で通常は劣るため、タイムクリティカルなメモリ要件を最小化しなければならない。ソフトウェアベースバンド受信器では、メモリ使用とＭＩＰＳ使用（予め計算され、テーブルとベクトルに記憶されたものと生成中のもの）との間に通常はトレードオフの関係がある。そのため、最適化するためには、ソフトウェアベースバンドソリューションは、アルゴリズム設計とインプリメンテーションに関してマイクロプロセッサアーキテクチャに良好に適合していなければならない（最適化されたメモリ使用とアクセスによってできるだけ少ない演算を使用する）。
【００１０】
（例えばカーナビゲーションで必要な）連続追尾を行うＧＮＳＳ受信器は、高帯域幅のデータストリームをリアルタイムで処理することができなければならない。現在埋め込み型アーキテクチャにおいてリアルタイム追尾に利用することができるソフトウェアソリューションは、ほとんどが１ビットオペランドによるものである。内部データストリーム帯域幅と処理負荷を低下させるために、１ビットの２値に制限されたオペランドを使用してドップラーシフト除去と相関演算を実行しなければならない。これにより、大きな感度損失（最大６ｄＢ）が生じる。また、通常の使用（例えば、車両内）では、ナビゲーション装置は受信アンテナと衛星との間に直接的な見通し線（ｌｉｎｅ  ｏｆ  ｓｉｇｈｔ）がない状態となる場合が多い。これにより、信号強度（ｓｉｇｎａｌ  ｐｏｗｅｒ）が６〜１０ｄＢ低下する。
【００１１】
ここで、使用するデジタルベースバンド処理方法と復号化信号の品質との関係について説明する。アンテナの性能が良く、無線周波調節装置（信号を復調し、抽出する受信器ブロックのアナログ部品）が高性能の低雑音増幅器（ＬＮＡ）を備え、十分大きなアナログ帯域幅（サンプリング周波数）を有し、フロントエンドを駆動するローカル発振器が適切な周波数安定度を有する場合、デジタルベースバンド処理が実質的に受信器の総ノイズフィギュアを決定する。
【００１２】
また、干渉、マルチパスフェージング、信号不明瞭化（ｏｂｓｃｕｒａｔｉｏｎ）等の受信器の外部の状況を無視する場合には、信号強度の損失は、相関オペランドの量子化における最適化、コードレプリカの遅延の追尾誤差の量子化、ドップラー推定の周波数誤差によって生じる。
【００１３】
通常、スペクトル拡散受信器は、長いコヒーレント及びインコヒーレント演算を行うことによって弱い（低強度）信号を補償する場合がある。すなわち、（相関時に行われる総和演算により）大量のノイズを平均化し、信号を容易に検出可能とする。積算時間（例えば、相関結果を調べる前に相関に費やされる時間）を増加させることにより、コード、キャリア周波数、位相を追尾するために使用されるループフィルタの更新頻度が減少する。これにより、特に動的性能の点でフィルターの性能と安定性が通常は低下する。
【００１４】
追尾ループは、コード、キャリア周波数、位相に関して入力信号をマッチングすることを目的とする。マッチングは、ローカルで生成されるレプリカコードの周波数とキャリアドップラーシフトを繰り返し調整することによって行われる。関連するディスクリミネータ（誤差関数）が入力信号とローカルで生成された信号との間に相違がない（又は十分に小さい）ことを示すと、入力信号とローカルレプリカは一致すると判断される。この時、受信器はキャリアドップラーシフトとコード開始（位置、速度、時間計算、相関プロセスから検索された最も強い信号強度を決定するために使用されるパラメータ）の最良の推定を有する。
【００１５】
ＧＮＳＳ信号の復号化を可能とするために、検出可能な信号強度を生成することができるようにレプリカコードのタイミング誤差は±１チップ以内でなければならない。マルチパス効果と交差相関効果を考慮する場合には、さらに低いタイミング誤差が通常は必要である。
【００１６】
キャリアドップラーシフトを決定するためには、周波数誤差は積算時間の逆数（inverse）未満でなければならない。そうでなければ、ドップラーシフトによって相関ゲインを相殺されることになる。
【００１７】
拡散及び逆拡散に使用されるＰＲＮコードは２値（＋１，−１）である。そのため、これらのコードは相関損失を生じることなく２値で表すことができる。サンプリングされた入力データについては、１ビット数値表現でよく、通常のＣＤＭＡシステム（特にＧＮＳＳ）に顕著なロバストネスを与える。各サンプルはノイズ（又は不要な信号エネルギー）を主に含むが、適切な相関プロセスによって信号を修復することができる。
【００１８】
１ビットのデータから２ビットのデータにビット数を増加させると、Ｃ／Ｎｏ（キャリア・ノイズ、帯域幅とは独立した信号強度）ゲインは約２．５ｄＢ−Ｈｚとなり、２ビット表現から４ビット表現にするとさらに１ｄＢ−Ｈｚのゲインが得られる。しかし、ビット数をさらに増加させても僅かな品質向上しか得られず、商業用途では適切ではない。
【００１９】
キャリアドップラー周波数補償に関しては、受信器の品質に応じて通常は正弦波振幅値を１〜５ビットの値で量子化する。３ビット表現の代わりに１ビット値を使用すると、約２ｄＢ−Ｈｚの信号強度の損失が生じる。また、１ビット表現は不要な信号特性を導入するために望ましくない。すなわち、１ビットの量子化正弦波は方形波であり、送信側（衛星）で使用されるキャリア波形とは比較的異なる。通常、送信器は二位相偏移変調（Ｂｉｎａｒｙ  Ｐｈａｓｅ  Ｓｈｉｆｔ  Ｋｅｙｉｎｇ：ＢＰＳＫ）等の位相偏移変調によって搬送波を変調する。
【００２０】
しかし、１ビット表現で最も単純なハードウェアインプリメンテーションを行うことができるため、ローエンドＧＮＳＳ受信機では標準的なアプローチである。最先端の（高価な）受信器は、マルチビットデータ及びマルチビットキャリアドップラー表現を使用する場合が多い。
【００２１】
ソフトウェアベースバンド実装では、最も単純な場合には、マイクロプロセッサシステムアーキテクチャによってサポートされる最少アドレス可能単位（ｌｅａｓｔ−ａｄｄｒｅｓｓａｂｌｅ−ｕｎｉｔ：ＬＡＵ）を通常は使用する。通常、ＬＡＵは８ビット又は１６ビット（バイト又はハーフワード／ワードレジスタ）の値である。また、デジタル信号プロセッサ（ＤＳＰ）における単一周期の乗算・積算（ｍｕｌｔｉｐｌｙ−ａｃｃｕｍｕｌａｔｅ：ＭＡＣ）命令や専用のＳＩＭＤ命令等の高度な命令は、入力としてＬＡＵオペランドを使用する傾向がある。
【００２２】
現在、多くのＭＩＰＳソフトウェアベースバンドソリューションは１ビットオペランドによるＸＯＲ命令を使用している。すなわち、現代の多くのマイクロプロセッサアーキテクチャは３２ビットＸＯＲ命令をサポートしており、１つの命令で１ビットオペランドの３２の並列乗算を行うことができる。これは、１ビット×１ビットの積が１ビットを超えることはないために可能である。ＸＯＲ演算は符号を更新するのみである。
【００２３】
連続追尾するＧＮＳＳソフトウェア受信器のＭＩＰＳ要件は、キャリアドップラー除去とレプリカコード相関の性能によってほぼ完全に決定される。すなわち、ベースバンド処理はサンプルベース（ＭＨｚ領域）で行われるが、追尾ループの更新、航法データ復号化、位置計算はより高いシステムレベル（ｋＨｚ及びＨｚ領域）で行われる。従って、後者の信号処理は前者と比較してタイムクリティカルではない。
【００２４】
従って、ベースバンドアルゴリズム設計とその実現はソフトウェア受信器の性能にとって重要である。そのため、ＸＯＲ命令を使用するだけでは高い処理効率を達成することができない。
【００２５】
また、以下の演算／ステップの効率も総合的な性能を左右する：サンプル信号データのロード；ローカルＩ／Ｑドップラーオペランドのロード／生成；ドップラーオペランドによるデータの乗算によるキャリアドップラーシフトの補償；ローカルレプリカＰＲＮコードオペランドのロード／生成；レプリカオペランドによるベースバンドデータの乗算；相関出力を生成するための各結果の積算；結果の記憶。
【００２６】
基本的な実装効率を達成するためには、例えば特許文献２に提案されているように、所望の精度とメモリ要件との間のトレードオフを考慮して、できる限りオペランドをベクトル化し、予め計算すべきである。
【００２７】
一般化されたベースバンド処理は、同相（Ｉ）及び直角位相（Ｑ）表記を使用して、複素数値ベクトル演算によって以下のように表すことができる。
【数１】
2008541585.tif 000003
式中、Ｌはベクトル長（通常はサンプルの１コード時間（ｃｏｄｅ  ｅｐｏｃｈ））であり、ｄ［ｋ］は複素数サンプルデータベクトルであり、ｓＩ［ｋ］は複素数キャリアドップラーベクトルの同相部分であり、ｓＱ［ｋ］は複素数キャリアドップラーベクトルの直角位相部分であり、ｐτ［ｋ］はτ遅延実数ローカルＰＲＮコードレプリカ（τ−ｄｅｌａｙｅｄ  ｒｅａｌ−ｖａｌｕｅｄ  ｌｏｃａｌ  ＰＲＮ  ｃｏｄｅ  ｒｅｐｌｉｃａ）であり、Ａτはτによって与えられる遅延に対する複素相関結果である。
【００２８】
最も一般的なレプリカ遅延（τ）の数は３である（ｅａｒｌｙ  ＡＥ（τ＝Ｅ），ｐｒｏｍｐｔ  ＡＰ（τ＝Ｐ），ｌａｔｅ  ＡＬ（τ＝Ｌ））。３つの遅延を使用する場合には、合計で６つの積算値が得られる（３つの複素積算値）。または、ｅａｒｌｙ−ｍｉｎｕｓ−ｌａｔｅ法を使用することもでき、合計で４つの積算値が得られる（ＡＰ，Ι，ＡＰ，Ｑ，ＡＥ−Ｌ，Ｉ，ＡＥ−Ｌ，Ｑ）。
【００２９】
好ましくは、サンプル値のベースバンドバージョンを異なる遅延（τ）間で再使用する。
【００３０】
式（１）はＩ／ＱサンプリングとＩＦサンプリングに当てはまる。ＩＦサンプリングの場合には、ｄ［ｋ］は実数（全てのｄＱ［ｋ］値が０）であり、ｓ［ｋ］はドップラーシフトに加えてＩＦ周波数を含む。
【００３１】
オペランドがベクトル化され、予め計算され、メモリから迅速にアクセス可能であると仮定すると、簡単なベースバンド処理により、１つのサンプル値ｄ［ｋ］の３つのレプリカ遅延について積算値を計算するために以下の疑似コード複雑度が生じる（複素表現によるｄΙ［ｋ］及びｄＱ［ｋ］で表される）。
【数２】
2008541585.tif 000004
【００３２】
従って、不可避のロード・記憶演算に加え、１０回の乗算と８回の加算が必要である。Ｉ／Ｑサンプリングを使用するＧＰＳ  Ｃ／Ａ信号の１コード時間（１ミリ秒）の処理には約２０００のＬ値が必要となる。１サンプル値あたり合計２５命令（連続ＬＡＵ処理）であると仮定すると、１チャネル及び１ミリ秒あたり約５０，０００命令となる（５０ＭＩＰＳの処理負荷）。従って、全てのベクトルオペランドを予め生成する場合には、１２チャネルの並列ソフトウェア受信器で約６００ＭＩＰＳの処理負荷となる。ＩＦサンプリングを採用すれば、チャネルあたりの命令数は減少する。しかし、この場合にはＬ値を２倍（約４０００）にしなければならず、全体的な処理負荷は同等である。当然ながら、そのようなＭＩＰＳ要件は現在の携帯型デバイスには不適当である。
【００３３】
コード時間を表すＬ個のサンプル値をより小さいブロックに分割することによって、ＳＩＭＤ命令をこれらのブロックに適用し、複数のチャネルを並列計算することができる。また、１ビットデータを使用すれば、ＸＯＲ演算と総和ルックアップテーブル（ＬＵＴ）を適用することにより、処理負荷を１チャネルあたり１０ＭＩＰＳ未満まで低下させることができる。
【００３４】
しかし、そのような性能を許容できる精度で達成するためには、受信器は高帯域幅と低い待ち時間を有する比較的大きなメモリ手段にアクセスしなければならない。すなわち、上述したように、用途と対象アーキテクチャに応じて、メモリ使用、ＭＩＰＳ、精度というパラメータを互いに犠牲にすることができなければならない。
【００３５】
キャリアドップラーシフトの推定及び／又は受信データストリームのデジタル化に使用されるビット数を増加させれば、ベースバンド処理の感度を向上させることができる。しかし、上述したパック化処理ＳＩＭＤアプローチでは性能が低下する。これは、マイクロプロセッサのレジスタ幅が固定されており、ＸＯＲ演算によって並列処理することができるサンプル数が減少するためである。キャリアドップラーシフト推定と受信データストリームの双方がマルチビットである場合には、中間積の表現が必然的に増加するため、処理は非常に複雑になり、効率的に行うことは困難となる。
【００３６】
２ビットのデータ及びキャリアドップラー推定の場合には、符号及び絶対値表現及びこれらの部分の分割処理を使用することもできる。しかし、この場合には、１ビット処理と比較して性能が低下する場合がある。１データ値あたり３ビット以上を使用する場合には、各符号と絶対値を結合するために必要な追加論理演算が深刻な問題となる。
【特許文献１】国際公開第ＷＯ２００４／０３６２３８号
【特許文献２】国際公開第ＷＯ２００４／０３６２３８号
【非特許文献１】Ａｋｏｓ．Ｄ．ら，「ＧＰＳとの同調−ＧＰＳ受信器のためのリアルタイムソフトウエア無線アーキテクチャ（Ｔｕｎｉｎｇ  Ｉｎ  ｔｏ  ＧＰＳ−Ｒｅａｌ−Ｔｉｍｅ  Ｓｏｆｔｗａｒｅ  Ｒａｄｉｏ  Ａｒｃｈｉｔｅｃｔｕｒｅｓ  ｆｏｒ  ＧＰＳ  Ｒｅｃｅｉｖｅｒｓ）」，ＧＰＳ  Ｗｏｒｌｄ，２００１年７月
【非特許文献２】Ｄｏｖｉｓ，Ｆ．ら，「航法用途のための再構成可能受信器の設計とテストベッドインプリメンテーション（Ｄｅｓｉｇｎ  ａｎｄ  Ｔｅｓｔ−Ｂｅｄ  Ｉｍｐｌｅｍｅｎｔａｔｉｏｎ  ｏｆ  ａ  Ｒｅ−ｃｏｎｆｉｇｕｒａｂｌｅ  Ｒｅｃｅｉｖｅｒ  ｆｏｒ  Ｎａｖｉｇａｔｉｏｎ  Ａｐｐｌｉｃａｔｉｏｎｓ）」，トリノ工科大学電子工学科（Ｅｌｅｃｔｒｏｎｉｃｓ  Ｄｅｐａｒｔｍｅｎｔ，Ｐｏｌｉｔｅｃｎｉｃｏ  ｄｉ  Ｔｏｒｉｎｏ）、航法信号分析・シミュレーショングループ（Ｎａｖｉｇａｔｉｏｎ  Ｓｉｇｎａｌ  Ａｎａｌｙｓｉｓ  ａｎｄ  Ｓｉｍｕｌａｔｉｏｎ  Ｇｒｏｕｐ），２００２年春
【発明の開示】
【発明が解決しようとする課題】
【００３７】
従って、本発明の目的は、上記問題を解決し、低い処理要件とメモリ使用を維持しながら最低動作レベルにおける感度を増加させる、低い実装損失でスペクトル拡散信号を処理するためのソフトウェアベースのソリューションを提供することにある。
【課題を解決するための手段】
【００３８】
本発明の一態様によれば、上記目的は、冒頭に説明したソフトウェア相関器であって、分割モジュールと、第１の相関モジュールと、集合モジュールと、第２の相関モジュールとを含む相関器によって達成される。分割モジュールは、受信した複数のデータサンプルを第１の数のデータブロックに分割する。各データブロックは第２の数のサンプルを含み、第２の数は２以上の整数である。第１の相関モジュールは、各データブロックと各ローカルコードレプリカセグメントとの相関をとり、第１の数の中間積算結果を生成する。集合モジュールは、中間積算結果の複数の連続する結果を目標数の集合積算結果に結合する。目標数は、信号のダウンコンバート周波数に対する少なくとも１つのスペクトル拡散ソース信号のドップラーシフトを表すキャリアベクトルの離散キャリア値の数を表す。目標数は第１の数以下である。第２の相関モジュールは、集合積算結果とキャリアベクトルとの相関をとり、ダウンコンバート周波数に対してドップラーシフトが補償された復号化信号を生成する。
【００３９】
この相関器は、非常に単純な演算を行うために有利である。また、ドップラーシフト補償の量子化効果から最大の利益が得られ、非常に有益なメモリ使用とＭＩＰＳ使用との関係を保証するマルチビットオペランドが可能となる。
【００４０】
本発明の本態様の好適な実施形態によれば、ソフトウェア相関器は、ローカルコードレプリカセグメントの基礎を構成するローカルコードレプリカを記憶するコード記憶手段を含む。また、第１の相関モジュールは記憶手段からローカルコードレプリカセグメントを検索する。そのため、適切な予め生成されたコードレプリカセグメントを使用することができる。これにより、比較的低いメモリコストで演算負荷を大きく減少させることができる。
【００４１】
本発明の本態様の別の好適な実施形態によれば、ソフトウェア相関器は、圧縮ベクトルテーブルを記憶するベクトル記憶手段に関連付けられている（相関器はテーブルを含むか、他の手段によってテーブルにアクセスすることができる）。圧縮ベクトルテーブルは、各キャリアベクトルが１組のキャリア値を含む複数の予め生成されたデジタル化キャリアベクトルを含む。第２の相関モジュールはキャリア値を記憶手段から受信する。これにより、相関器は効率的に復号化信号を生成することができる。
【００４２】
本発明の本態様のさらに別の好適な実施形態によれば、ベクトル記憶手段内の予め生成された各キャリアベクトルは、同相値及び直角位相キャリア値をそれぞれ表す複素数値ベクトルである。すなわち、キャリアベクトルと集合積算結果との相関を容易にとることができる。
【００４３】
本発明の本態様のさらに別の好適な実施形態によれば、ベクトル記憶手段内のベクトルはランレングス符号化されている（当該数の繰り返し数値を含む代わりに各キャリア値の繰返し数を表す）。また、相関器はランレングス符号化アルゴリズムに基づいて適当なキャリア値を決定することにより圧縮されたベクトルを扱う。この設計は、ベースバンド処理の効率がさらに向上するために望ましい。
【００４４】
本発明の本態様のさらに別の好適な実施形態によれば、各データブロックは第１のパック化オペランドとして表され、ローカルコードレプリカセグメントは第２のパック化オペランドとして表される。次に、第１の相関モジュールは、第１及び第２のオペランドに対するバイナリ論理演算命令（又はＳＩＭＤ命令）を実行することによってデータブロックにローカルコードレプリカセグメントを乗算する。そのため、オペランドのサイズを超える結果を生じることなく高率的な並列処理が行われる。
【００４５】
本発明の本態様のさらに別の好適な実施形態によれば、第１の相関モジュールは、少なくとも１つの合計ルックアップテーブルの内容に基づくバイナリ論理演算命令によって得られた少なくとも１つの乗算結果に対して少なくとも１つの総和演算を行う。これにより、処理負荷を低下させ、比較的高い動作速度を達成することができる。
【００４６】
本発明の本態様のさらに別の好適な実施形態によれば、各集合積算結果は第１の非パック化オペランドであり、各キャリア値は第２の非パック化オペランドである。第２の相関モジュールは、第１及び第２の非パック化オペランドに対してＬＡＵ演算を行うことによって集合積算結果にキャリア値を乗算する。これにより、マイクロプロセッサシステムにおける実装が容易になり、デジタル信号プロセッサにおける単一周期の乗算・積算命令や専用のＳＩＭＤ命令等の高度な命令を使用することができる。
【００４７】
本発明の別の態様によれば、上記目的は、冒頭に説明したスペクトル拡散受信機であって、デジタル処理装置が前記ソフトウェア相関器を含むスペクトル拡散受信機によって達成される。このような受信器は相関器と同じ理由で有利である。
【００４８】
本発明の本態様の好適な実施形態によれば、データインターフェース装置はバッファ装置を含む。バッファ装置は、データサンプルのストリーム内のデータサンプルをバッファリングし、フォーマットされたデータサンプルのストリームをデジタル処理装置に供給する。フォーマットされたデータサンプルのストリームは、デジタル処理装置に適したデータフォーマットに対応する。そのため、デジタル処理装置のソフトウェア相関器が簡便にデータサンプルを受信することを可能とすることにより、効率的な処理を行うことができる。
【００４９】
本発明の本態様の別の好適な実施形態によれば、データインターフェース装置はダウンコンバート部とデジタル化部とを含む。ダウンコンバート部はスペクトル拡散ソース信号を受信し、スペクトル拡散ソース信号に応じて同相データと直角位相データをそれぞれ表す一対の周波数ダウンコンバート信号を生成する。デジタル化部は一対の周波数ダウンコンバート信号を受信し、周波数ダウンコンバート信号に応じてデータサンプルのストリームを生成する。これにより、データインターフェース装置はＩ／Ｑフォーマットのデータサンプルをバッファ装置に直接供給する。
【００５０】
本発明の本態様の別の好適な実施形態によれば、データインターフェース装置は、一次ダウンコンバート部と、デジタル化部と、二次ダウンコンバート部とを含む。一次ダウンコンバート部は少なくとも１つのスペクトル拡散ソース信号を受信し、スペクトル拡散ソース信号に応じてダウンコンバート信号を生成する。デジタル化部は周波数ダウンコンバート信号を受信し、周波数ダウンコンバート信号に応じて比較的高い周波数に相当するデータサンプルの一次ストリームを生成する。二次ダウンコンバート部はデータサンプルの一次ストリームを受信し、データサンプルの一次ストリームに同相及び直角位相搬送波をそれぞれデジタル的に乗算し、得られた結果をフィルタリングし、再抽出してデータサンプルのストリームを生成する。そのため、データサンプルはＩ／Ｑフォーマットでバッファ装置に供給されるが、この場合には異なる方法によって生成されている。この方法は、１回のアナログミキシングのみを必要とする点で上述した方法に対して利点を有する。ただし、この方法はより多くのデジタル処理を必要とする。
【００５１】
本発明の別の態様によれば、上記目的は、冒頭に説明した方法であって、以下の工程を含む方法によって達成される。まず、受信した複数のデータサンプルを第１の数のデータブロックに分割する。各データブロックは第２の数のサンプルを含み、第２の数は２以上の整数である。次に、各データブロックと各ローカルコードレプリカセグメントとの相関をとり、第１の数の中間積算結果を生成する。目標数は、関連キャリアベクトル（累積加算結果と相関するベクトル）に含まれる離散キャリア値レベルの数を表すものと定義される。目標数は第１の数以下である。そのため、前記方法は、第１の数と目標数との関係に応じて、中間積算結果の複数の連続する結果を目標数と等しい数の集合積算結果に結合する工程を含む。次に、集合積算結果と関連キャリアベクトル（目標数のキャリア値を含むベクトル）との相関をとる。その結果、少なくとも１つのスペクトル拡散ソース信号のダウンコンバート周波数に対してドップラーシフトが補償された復号化信号値が生成される。すなわち、上記キャリアベクトルはドップラーシフトを表す。
【００５２】
この方法の重要な利点は、演算を非常に単純にすることができると共に、ドップラーシフト補償の量子化効果から最大の利点を得、マルチビットオペランドが可能となることである。本発明に係る方法のさらなる利点、有利な特徴、用途は以下の説明及び従属請求項から明らかになるだろう。
【００５３】
本発明のさらなる態様によれば、上記目的は、コンピュータの内部記憶装置に直接ロードすることができるコンピュータプログラムであって、コンピュータに、上記方法を実行させるためのコンピュータプログラムによって達成される。
【００５４】
本発明のさらなる態様によれば、上記目的は、プログラムが記録されたコンピュータ読取可能な媒体であって、プログラムがコンピュータに上記方法を実行させることを特徴とする媒体によって達成される。
【００５５】
本発明は、全体として、従来技術のスペクトル拡散信号のリアルタイム処理のためのソフトウェアベースの解決手段に対して、ベースバンド処理を実行するために必要な演算数を大きく減少させる点で有利である。また、本発明の処理はメモリ要件を低下させ、マルチビットオペランド（サンプルデータとキャリアドップラー値）を可能とし、効率的に一般的なマイクロプロセッサアーキテクチャに組み込むことができる。
【発明を実施するための最良の形態】
【００５６】
以下、図面を参照して例として開示する好適な実施形態によって本発明をさらに詳細に説明する。
【００５７】
本発明について説明する前に、送信側においてデータ信号Ｄを信号ソース特定コードシーケンス（ｓｉｇｎａｌ  ｓｏｕｒｃｅ  ｓｐｅｃｉｆｉｃ  ｃｏｄｅ  ｓｅｑｕｅｎｃｅ）ＣＳによって変調する方法について図１を参照して説明する。例えば、信号ソース特定コードシーケンスＣＳはＰＲＮコードであってもよい。データ信号Ｄはデータシンボルシーケンス［＋１，−１，−１，＋１，−１］を含み、比較的低いシンボルレート（例えば５０Ｈｚ）を有する。一方、信号ソース特定コードシーケンスＣＳは比較的高いシンボルレート（より正確にはチッピングレート）を有する。例えば、ＧＰＳ  Ｃ／Ａコードとしての信号ソース特定コードシーケンスＣＳは１０２３ＭＨｚのチッピングレートを有し、１周期あたり１０２３チップを含むことができる。各チップ（ｃｈ）は＋１又は−１のいずれかである。そのため、Ｃ／Ａコードは１ｍｓで繰り返す。データ信号Ｄは、各データシンボルにコードシーケンスＣＳを乗算することによって信号ソース特定コードシーケンスＣＳによって変調（又は拡散）される。その結果、データシンボル＋１ではコードシーケンスＣＳは変化せず、データシンボル−１ではコードシーケンスＣＳは反転する。
【００５８】
５０Ｈｚのレートを有するデータ信号Ｄを１０２３ＭＨｚのチッピングレートを有する信号ソース特定コードシーケンスＣＳによって拡散すると、１データシンボルあたり２０個のコードシーケンスＣＳとなる。すなわち、データシンボルの周期時間は２０ｍｓであり、コードシーケンスの周期時間は１ｍｓである。
【００５９】
図２は、本発明の一実施形態に係るスペクトル拡散信号受信器２００のブロック図を示す。受信器２００は、データインターフェース装置２１０とデジタル処理装置２２０とを含む。データインターフェース装置はスペクトル拡散ソース信号ＳＨＦを受信し、スペクトル拡散ソース信号ＳＨＦに応じてデータサンプルｄ（ｋ）のストリームを生成する。処理装置２２０はデータサンプルｄ（ｋ）のストリームを受信し、データサンプルｄ（ｋ）のストリームに応じて復号化信号Ａτを生成する。処理装置２２０は、図４、図５、図７を参照して以下に詳細に説明するソフトウェア相関器２２５を実現する。好ましくは、処理装置２２０は、ソフトウェア相関器２２５を制御して復号化信号Ａτを生成するように処理工程を実行させるプログラムが保存されたコンピュータ読取可能な媒体２２６を含む。
【００６０】
図３ａは、本発明の第１の実施形態に係るデータインターフェース装置２１０のブロック図を示す。データインターフェース装置２１０は、ダウンコンバート部と、デジタル化部３１５と、バッファ装置３１６とを含む。
【００６１】
ダウンコンバート部はスペクトル拡散ソース信号ＳＨＦを受信し、スペクトル拡散ソース信号ＳＨＦに応じて同相データＳＬＦＩと直角位相データＳＬＦＱをそれぞれ表す一対の周波数ダウンコンバート信号を生成する。ダウンコンバート部は、発振器３１１と、第１の混合手段３１２と、第２の混合手段３１３と、移相手段３１４とを含むことができる。
【００６２】
発振器３１１は、スペクトル拡散ソース信号ＳＨＦ（比較的高周波数）の周波数と実質的に同じ周波数ＨＦの正弦波信号を生成する。発振器周波数ＨＦは第１の混合手段３１２と移相手段３１４に供給される。第１の混合手段３１２はスペクトル拡散ソース信号ＳＨＦを受信し、第１の混合手段３１２による混合工程により同相周波数ダウンコンバート信号ＳＬＦＩが生成される。
【００６３】
移相手段３１４は発振器周波数ＨＦに９０°の位相シフトを加え、当該信号を第２の混合手段３１３に送信する。第２の混合手段３１３はスペクトル拡散ソース信号ＳＨＦを受信し、第２の混合手段３１３による混合工程により直角位相周波数ダウンコンバート信号ＳＬＦＱが生成される。
【００６４】
デジタル化部３１５は周波数ダウンコンバート信号ＳＬＦＩ，ＳＬＦＱをそれぞれ受信し、周波数ダウンコンバート信号ＳＬＦＩ，ＳＬＦＱに応じてデータサンプルｄ（ｋ）のストリーム（周波数ダウンコンバート信号ＳＬＦＩ，ＳＬＦＱのデジタル等価物）を生成する。
【００６５】
バッファ装置３１６はデータサンプルｄ（ｋ）を順番に受信し、デジタル処理装置２２０に供給する前にこれらのサンプルをバッファリングする。好ましくは、バッファ装置３１６はデジタル処理装置２２０のデータフォーマットに対応したフォーマットにデータサンプルｄ（ｋ）をフォーマットする。
【００６６】
図３ｂは、本発明の第２の実施形態に係るデータインターフェース装置２１０のブロック図を示す。この場合、データインターフェース装置２１０は、一次ダウンコンバート部と、デジタル化部３１９と、二次ダウンコンバート部３２０と、バッファ装置３２１とを含む。
【００６７】
一次ダウンコンバート部はスペクトル拡散ソース信号ＳＨＦを受信し、スペクトル拡散ソース信号ＳＨＦに応じてダウンコンバート信号ＳＩＦを生成する。このために、一次ダウンコンバート部は発振器３１７と混合手段３１８とを含むことができる。発振器３１７は、図３ａを参照して上述した実施形態よりもわずかに低いが、それでも比較的高い周波数である周波数ＨＦ−ＩＦを生成する。発振器周波数ＨＦ−ＩＦは混合手段３１７に供給される。混合手段３１７はスペクトル拡散ソース信号ＳＨＦを受信し、混合手段３１７による混合工程により周波数ダウンコンバート信号ＳＩＦが生成される。
【００６８】
デジタル化部３１９は周波数ダウンコンバート信号ＳＩＦを受信し、周波数ダウンコンバート信号ＳＩＦに応じて比較的高い信号周波数を示すデータサンプルｄＩＦの一次ストリームを生成する。
【００６９】
二次ダウンコンバート部３２０はデータサンプルｄＩＦの一次ストリームを受信し、データサンプルｄＩＦの一次ストリームに応じてデータサンプルｄ（ｋ）（比較的低い信号周波数を示すＩ／Ｑサンプル値）のストリームを生成する。具体的には、二次ダウンコンバート部３２０は、データサンプルｄＩＦの一次ストリームに各同相・直角位相搬送波をデジタル的に乗算する。次に、得られたデジタル信号をフィルタリングし、再抽出してデータサンプルｄ（ｋ）のストリームを生成する。
【００７０】
バッファ装置３２１はデータサンプルｄ（ｋ）を受信し、デジタル処理装置２２０に供給する前にこれらのサンプルをバッファリングする。好ましくは、バッファ装置３２１はデジタル処理装置２２０のデータフォーマットに対応したフォーマットにデータサンプルｄ（ｋ）をフォーマットする。
【００７１】
１ビット表現よりも高い解像度がキャリア値に必要な場合には、当該設計にはＬＡＵ表現と演算が必要となる。そのため、サンプルを最初にアンパックし、変換後に再びパックする必要がある場合がある。当然ながら、これは性能に不利である。しかし、実装効率と全チャネルにオーバーヘッドが共有されるという事実によっては実行可能な選択肢である。
【００７２】
図４は、本発明の一実施形態に係る図２のソフトウェア相関器２２５のブロック図を示す。相関器２２５は少なくとも１つのダウンコンバートされたデジタル化スペクトル拡散ソース信号ＳＨＦを表すデータサンプルｄ（ｋ）の入力ストリームを受信し、データサンプルｄ（ｋ）の入力ストリームに応じて復号化信号Ａτを生成する。
【００７３】
相関器２２５は、分割モジュール４１０と、第１の相関モジュール４２０と、集合モジュール４３０と、第２の相関モジュール４４０とを含む。
【００７４】
分割モジュール４１０は、受信した複数のデータサンプルｄ（ｋ）を第１の数Ｎの等しい大きさのデータブロックに分割する。そのため、各データブロックは第２の数Ｍのサンプルを含む。第２の数Ｍは整数であり、本発明においては、Ｍは２以上である。データサンプルｄ（ｋ）のブロック化のさらなる態様について図５を参照して説明する。第１の相関モジュール４２０は、分割モジュール４１０によって生成された各データブロックと各ローカルコードレプリカセグメントｐ（ｋ）との相関をとる。相関結果は第１の数の中間積算結果Σであり、中間積算結果Σは第１の相関モジュール４２０の出力に供給される。
【００７５】
本発明の一実施形態によれば、各データブロックは第１のパック化オペランドとして表され、ローカルコードレプリカセグメントｐ（ｋ）は第２のパック化オペランドとして表される。次に、第１の相関モジュール４２０は、第１及び第２のオペランドに対するバイナリ論理演算命令（又はＳＩＭＤ命令）を実行することによってデータブロックにローカルコードレプリカセグメントｐ（ｋ）を乗算する。
【００７６】
また、第１の相関モジュール４２０は、好ましくは、少なくとも１つの総和ルックアップテーブルの内容に基づいてバイナリ論理演算命令によって得られた乗算結果に対して総和演算を行う。
【００７７】
本発明の別の実施形態によれば、相関器２２５は、ローカルコードレプリカセグメントｐ（ｋ）の基礎を構成する複数のローカルコードレプリカを保存するコード記憶手段４５０を含む。第１の相関モジュール４２０は記憶手段４５０から関連するローカルコードレプリカセグメントｐ（ｋ）を検索することができる。
【００７８】
集合モジュール４３０は、中間積算結果Σの複数の連続する結果を目標数の集合積算結果ｃに結合する。集合モジュール４３０の目的は、スペクトル拡散ソース信号ＳＨＦの特定のドップラーシフトを当該信号（ＨＦ又はＨＦ−ＩＦ）のダウンコンバート周波数に対して補償するために、第２の相関モジュール４４０が第１の相関モジュール４２０からの出力（実質的には中間積算結果Σ）との相関をとる（離散キャリア値を含む）関連するキャリアベクトルの複数の異なる要素に第１の相関モジュール４２０からの出力を適合させることである。目標数は、ドップラーシフトを表すキャリアベクトルの離散キャリア値の数を表す。通常、キャリア値によって表される離散キャリア値レベルの目標数は、キャリアベクトルによって表されるドップラーシフトの大きさに依存する。すなわち、比較的低いドップラーシフトは比較的小さな目標数（少ない離散キャリア値）に関連付けられ、比較的高いドップラーシフトは比較的大きな目標数（多い離散キャリア値）に関連付けられることを意味する。
【００７９】
本発明によれば、目標数は第１の数以下である。目標数が第１の数と等しい（理論的に最も高いドップラーシフト補償と同等な）場合には、中間積算結果Σは集合積算結果ｃと同じになるため、集合モジュール４３０は単純なタスクを行う。
【００８０】
第２の相関モジュール４４０は、集合積算結果ｃとＩ／Ｑキャリア値を含むキャリアベクトルｓ［ｚ］Ｉ，ｓ［ｚ］Ｑとの相関をとり、キャリアベクトルｓ［ｚ］Ｉ，ｓ［ｚ］Ｑによって定義されるダウンコンバート周波数に対してドップラーシフトが補償された復号化信号値Ａτを生成する。
【００８１】
本発明の一実施形態によれば、各集合積算結果ｃは第１の非パック化オペランドとして表現され、各キャリアベクトルｓ［ｚ］Ｉ，ｓ［ｚ］Ｑは第２の非パック化オペランドとして表される。第２の相関モジュール４４０は、第１及び第２の非パック化オペランドに対してＬＡＵ演算を行うことによって集合積算結果ｃにキャリアベクトルｓ［ｚ］Ｉ，ｓ［ｚ］Ｑのキャリア値を乗算する。
【００８２】
本発明の別の実施形態によれば、相関器２２５は、予め生成されたデジタル化キャリアベクトルｓ［ｚ］Ｉ，ｓ［ｚ］Ｑを含む圧縮ベクトルテーブルを保存するベクトル記憶手段４６０に関連付けられている（含む又は他の手段を介してアクセスする）。そのため、第２の相関モジュール４４０は記憶手段４６０から関連するキャリア値を容易に検索することができる。図６ａ〜図６ｅを参照して圧縮ベクトルテーブルについて以下に詳細に説明する。
【００８３】
上述したように、データサンプルｄ（ｋ）の入力ストリームのドップラーシフトを補償するために使用されるキャリアベクトルｓ［ｚ］Ｉ，ｓ［ｚ］Ｑは量子化される（限られた数の離散振幅値を得る）。１ビットのキャリア値を使用する場合と５ビットのキャリア値を使用する場合の差は測定Ｃ／Ｎｏにおいて最大３ｄＢ−Ｈｚである。
【００８４】
本発明の好適な実施形態によれば、キャリアベクトルｓ［ｚ］Ｉ，ｓ［ｚ］Ｑはそれぞれ４ビットで表されるキャリア値を含む。２の補数表現では−８〜＋７の範囲となる。本発明によれば、各キャリア値を表すために任意のビット数を使用することができる。ただし、現在は１〜８ビットが最も好ましい範囲であると考えられる。例えば、データサンプルｄ（ｋ）の入力ストリームがＧＰＳ  Ｃ／Ａ信号を表す場合を考える。ただし、本発明によれば、これらのサンプルは、ガリレオＯ／Ｓ信号又は送信器・受信器間力学とクロックの不完全さに起因するキャリアドップラー要素を有するその他のスペクトル拡散／ＣＤＭＡ信号を同様に表すことができる。
【００８５】
キャリアドップラー範囲と使用するコヒーレント積算時間（通常は伝送ＰＲＮコードのコード時間又は周期の倍数）の関係を調べることにより、相関演算を行う対応する時間においてローカルで生成したドップラー周波数ベクトルが複数の周期を含むことが明確になる。
【００８６】
例えば、±１ｋＨｚのキャリアドップラーシフトは１ミリ秒であるＧＰＳ  Ｃ／Ａのコード時間の一周期で終了する。しかし、±２．５ｋＨｚのドップラーシフトを有するキャリアは±２．５のドップラー周期を有し、±１０ｋＨｚのドップラーシフトを有するキャリアは同じ期間に±１０のドップラー周期を有する。これらの複数の周期のために、受信データｄ（ｋ）とローカルコードレプリカセグメントｐ（ｋ）との相関をとる前に残りのドップラー成分を除去しなければならない。すなわち、キャリアドップラー周期は符号変化を含み、相関ゲインを低下させる（相殺する）。
【００８７】
キャリアベクトルｓ［ｚ］Ｉ，ｓ［ｚ］Ｑに使用されるキャリアドップラー値の量子化のために、積算時間において限られた数のレベル変化が発生する。実際には、各レベル変化間のキャリアベクトルｓ［ｚ］Ｉ，ｓ［ｚ］Ｑの連続する等しい値の数は、補償することが望ましいドップラーと直接関係する。
【００８８】
例えば、正弦波振幅量子化の等距離角度基底を考えると、４ビットのキャリアドップラー値で存在する１６レベルは、ローカルキャリアドップラー位相の３６０／１６＝２２．５°の位相変化毎にレベルが変化する。そのため、１ｋＨｚのドップラーシフトでは、キャリアベクトルｓ［ｚ］Ｉ，ｓ［ｚ］Ｑは、１コード時間において相関プロセスの１／１６にわたって同じ振幅値を連続して含む。１０ｋＨｚのドップラーシフトでは、キャリアベクトルｓ［ｚ］Ｉ，ｓ［ｚ］Ｑの連続比率は１／１６０である。
【００８９】
ＲＦフロントエンドのサンプリング周波数と種類に応じて対応するサンプルの数が異なる場合がある。しかし、２ＭＨｚのサンプリング周波数のＩ／Ｑサンプリングであるとすると、各コード時間は２０００個の複素数サンプル（４０００個の値）を含む。そのため、１０ｋＨｚの最大ドップラーシフトでは、各キャリアドップラー値は（各Ｉ及びＱベクトルについて）値を変化させる前に２０００／１６０≒１２回連続して使用される。
【００９０】
前記式（１）は実数部と虚数部に分割することができ、以下のように表すことができる。
【数３】
2008541585.tif 000005
【００９１】
ここで、Ｌ値の総和を各Ｍ個のサンプルのＮ個のブロックに分割すると、式は総和の和として書き直すことができる。また、ドップラーシフトを表すキャリアベクトルｓ［ｋ］Ｉ，ｓ［ｋ］Ｑの上記値レベル変化率に対してブロックサイズＭを選択することにより、処理を非常に効率的に削減し、再編成することができる。これは、キャリアベクトルｓ［ｋ］Ｉ，ｓ［ｋ］ＱのＭ個の異なる指数ｋの範囲では、一定のキャリアドップラーシフト振幅値が評価されるためである。そのため、この値は各和の範囲外で移動させることができ、第１のブロック（指数＝０）では以下の通りとなる。
【数４】
2008541585.tif 000006
【００９２】
なお、全く同じ積の和が実数（同相）及び虚数（直角位相）式（３ａ），（３ｂ）に存在する。従って、これらの和は一度計算すればよい。当然ながら、キャリアドップラーシフトは実際のローカルコードレプリカ相関工程の後に補償されるため、乗算を削減することにより利点が得られる。変更した順番と含まれる演算の線形的な性質のために結果はいずれの場合でも同一であるため、相関損失が導入されることはない。
【００９３】
さらに処理効率的な式は以下のように表すことができる。
【数５】
2008541585.tif 000007
【００９４】
上記式に基づき、以下の疑似実行により、キャリアドップラーシフトが３つのレプリカ遅延（ｅａｒｌｙ  ＡＥ，Ｉ，ＡＥ，Ｉ、ｐｒｏｍｐｔ  ＡＰ，Ｉ，ＡＰ，Ｉ、ｌａｔｅ  ＡＬ，Ｉ，ＡＬ，Ｉ）に対して補償されるものとする。
【数６】
2008541585.tif 000008
【００９５】
そのため、不可避的なロードと記憶演算に加えて、サンプルｄ（ｋ）のストリームの１つのデータサンプルを処理するために６回の乗算及び６回の加算のみが必要となる。Ｍ個のサンプルの各ブロックはキャリアのドップラー及びグローバル積算の複素回転を共有し、各サンプルのための追加命令は（１２乗算＋１２加算）／Ｍとなる。最大１０ｋＨｚのドップラーシフトとＬ＝２０００個の複素数サンプルについての上記説明に基づき、ブロックサイズＭは１２で十分であり、各サンプルのために１回の乗算と加算を追加するだけである。Ｍ値が大きい場合（又はＭの複数のブロックが内部ループに使用される場合）には、外部ループのために追加する処理コストは僅かである。従って、ＬＡＵ実装におけるこのアプローチの純粋な演算の節約は非常に顕著である。
【００９６】
しかし、主要な利点は、キャリアドップラーシフトを補償するために行う乗算がパック化演算である必要はないということである。すなわち、キャリアドップラー回転はオペランドとしてブロックＭの中間相関結果を使用するため、ＬＡＵ演算と複数のビットを実際のキャリア値（上記式におけるｓ［ｍ］）に使用することができる。
【００９７】
また、内部ループはパック化データ表現とＳＩＭＤ／ＸＯＲ演算で実現することができる。スループットは並列処理することができるサンプル数及びサンプルデータ表現に使用されるビット数に対してほぼ直線的となる。１ビットのオペランドを使用する場合にさらなる性能劣化が生じないため、これは非常に望ましい効果である。
【００９８】
図５を参照して上述した処理方法について説明する。データサンプルｄ（ｋ）の入力ストリームが複素数値であり、少なくとも１つのダウンコンバートされたデジタル化スペクトル拡散ソース信号の同相成分ｄ（ｋ）Ｉと直角位相成分ｄ（ｋ）Ｑの両方を表す場合を考える。ＮＭ個のデータサンプルｄ（ｋ）は第１の数Ｎのデータブロックに分割され、各データブロックは第２の数Ｍのサンプルを含む。そのため、同相成分ｄ（ｋ）Ｉを表すデータストリームの第１のデータブロックはサンプル値ｄ０Ｉ〜ｄ（Ｍ−１）Ｉを含み、データストリームの第２のデータブロックはサンプル値ｄＭＩ〜ｄ（２Ｍ−１）Ｉを含み、第Ｎのデータブロックはサンプル値ｄ（Ｎ−１）ＭＩ〜ｄ（ＮＭ−１）Ｉを含む。同様に、直角位相成分ｄ（ｋ）Ｑを表すデータストリームのデータブロックは、サンプル値ｄ０Ｑ〜ｄ（Ｍ−１）Ｑ、ｄＭＱ〜ｄ（２Ｍ−１）Ｑ、ｄ（Ｎ−１）ＭＱ〜ｄ（ＮＭ−１）Ｑを含む。ブロックサイズを表す第２の数Ｍは２以上の整数である。
【００９９】
各データブロックと各ローカルコードレプリカセグメントとの相関をとる。すなわち、第１の同相データブロックのデータサンプルｄ０Ｉ〜ｄ（Ｍ−１）Ｉと値ｐ０〜ｐ（Ｍ−１）を含む第１のローカルコードレプリカセグメントとの相関をとり、第２の同相データブロックのデータサンプルｄＭＩ〜ｄ（２Ｍ−１）Ｉと値ｐＭ〜ｐ（２Ｍ−１）を含む第１のローカルコードレプリカセグメントとの相関をとり、第Ｎの同相データブロックまで同様に行う。それに対応して、第１の直角位相データブロックのデータサンプルｄ０Ｑ〜ｄ（Ｍ−１）Ｑと値ｐ０〜ｐ（Ｍ−１）を含む第１のローカルコードレプリカセグメントとの相関をとり、データサンプルｄ（Ｎ−１）ＭＱ〜ｄ（ＮＭ−１）Ｑを含む第Ｎの直角位相データブロックと値ｐ（Ｎ−１）Ｍ〜ｐＮＭ−１を含む第Ｎのローカルコードレプリカセグメントとの相関をとる。
【０１００】
同相の第１の数Ｎの中間積算結果Σ０Ｉ、Σ１Ｉ、．．．、Σ（Ｎ−１）Ｉと直角位相の第１の数の中間積算結果Σ０Ｑ、Σ１Ｑ、．．．、Σ（Ｎ−１）ＱをそれぞれΣＩ、ΣＱという。
【０１０１】
次に、目標数Ｚ（Ｚ＜Ｎ）の離散キャリア値レベルを生成するために、中間積算結果ΣＩ，ΣＱの連続する結果を集合積算結果ｃ１Ｉ、ｃ２Ｉ、．．．、ｃＺＩ及びｃ１Ｑ、ｃ２Ｑ，．．．、ｃＺＱ（それぞれｃＩ及びｃＱという）に結合する。
【０１０２】
最後に、集合積算結果ｃＩ，ｃＱと各キャリアベクトルｓ［ｚ］Ｉ，ｓ［ｚ］Ｑとの相関をとる。各キャリアベクトルｓ［ｚ］Ｉ，ｓ［ｚ］Ｑは目標数Ｚのキャリア値（ｓ１Ｉ，ｓ２Ｉ，ｓ３Ｉ，．．．，ｓＺＩ及びｓ１Ｑ，ｓ２Ｑ，ｓ３Ｑ，．．．，ｓＺＱ）を含む。この相関により、同相表現ＡτＩ及び直角位相表現ＡτＱを有する復号化信号数値Ａτが生成される。復号化信号値Ａτは、キャリアベクトルｓ［ｚ］Ｉ，ｓ［ｚ］Ｑによって表される少なくとも１つのスペクトル拡散ソース信号のダウンコンバート周波数に対してドップラーシフトが補償されている。
【０１０３】
本発明の好適な実施形態によれば、キャリアベクトルｓ［ｚ］Ｉ，ｓ［ｚ］Ｑのキャリア値ｓ１Ｉ〜ｓＺＩ及びＳ１Ｑ〜ｓＺＱは予め生成される。また、キャリアベクトルｓ［ｚ］Ｉ，ｓ［ｚ］Ｑは圧縮ベクトルテーブルとして記憶されることが好ましい。
【０１０４】
次に、本発明の一実施形態においてそのような圧縮ベクトルテーブルを生成する方法について図６ａ〜図６ｅを参照して説明する。
【０１０５】
図６ａは、それぞれがｓ１〜ｓＬの範囲のキャリア値（１ベクトルあたりのＬ要素）を含むｆＤｍａｘ＋からｆＤｍａｘ−までのキャリアドップラーシフトＣｆを表すキャリアベクトルｓＣｆ［ｋ］を含む初期非圧縮ベクトルテーブル６００を示す。各キャリアベクトルＳＣｆ［ｋ］について、テーブル６００はＣｐｈ−ｍｉｎからＣｐｈ−ｍａｘまでの初期位相シフトＣＰｈも示している。
ドップラーシフトＣｆはΔｆＤ−毎に増加し、初期位相シフトＣＰｈはΔＣＰｈ−毎に増加する。任意の使用することができるサンプリング周波数と解像度について、テーブル６００はかなりのデータ量を表している。
【０１０６】
テーブル６００の第１の圧縮を図６ｂにテーブル６１０として示しており、２つの初期位相シフトＣＰｈ＝ｓ［ｋ］Ｉ（同相），ＣＰｈ＝ｓ［ｋ］Ｑ（直角位相）のみが示されている。すなわち、これらの互いに直交する２つの位相シフトに基づき、以下のように積算結果Ａτに対して複素回転を行うことによって全ての中間位相位置を推定することができる。
【数７】
2008541585.tif 000009
【０１０７】
別の圧縮工程を図６ｃに示しており、補償が必要な最大ドップラーシフトはＬよりも小さな数Ｚ（上記目標数Ｚ）で表されている。これにより、短いベクトル長を有するキャリアベクトルテーブル６２０が得られる。
【０１０８】
圧縮キャリアベクトルテーブル６２０は、データサンプルのストリームがキャリアドップラーシフトのみを含む（中間周波数＋ドップラーシフトは含まない）ｌ／Ｑデータ表現に関して特に有利である。
【０１０９】
キャリア振幅量子化効果を利用することによって得られる別の利点は、キャリアベクトルｓ［ｚ］Ｉ，ｓ［ｚ］Ｑをキャリアベクトルのレベル変化率に対してランレングス符号化（ＲＬＥ）することができることである。ＲＬＥは連続的な反復に基づく単純な符号化スキームである。実際のところ、ＲＬＥは最も高速な圧縮／伸張アルゴリズムの１つである。図６ｄは、キャリアベクトルｓ［ｚ］Ｉ，ｓ［ｚ］Ｑがランレングス符号化されたキャリアベクトルテーブル６３０を示す。
【０１１０】
図６ｄに示すように、最も低いドップラーシフト（Ｃｆ＝０近傍）を表すキャリアベクトルは最も圧縮され、処理負荷は最も低くなる。すなわち、これらのキャリアドップラーシフトに必要な記憶負荷と処理命令の数は最も小さくなる。例えば、１０ｋＨｚのドップラーシフトに基づくキャリアベクトルはＬ／Ｍ値とドップラー回転演算のみを必要とし、１ｋＨｚのドップラーシフトに基づくキャリアベクトルはＬ／（１０Ｍ）のみを必要とする。
【０１１１】
本発明の重要な利点は、Ｍ個のブロックサンプルの倍数にＲＬＥをマッチさせることによってオーバーヘッドが発生しないことである。従って、性能に対してメモリ使用を犠牲にすることなく圧縮キャリアベクトルテーブルを使用することができる。
【０１１２】
最後に、キャリアベクトルテーブル６３０はドップラーシフトＣｆ＝０を中心として左右対称であるため、片側のみ、例えば正のキャリアドップラーシフトのみをテーブル内に表せばよい。図６ｅはそのような片側キャリアベクトルテーブル６４０を示す。このような単純化は、以下の公知の関係によって数学的に説明することができる。
【数８】
2008541585.tif 000010
【０１１３】
最後に、本発明に係るスペクトル拡散信号の一般的な処理方法を図７のフロー図を参照して説明する。
【０１１４】
ステップ７１０において、少なくとも１つのダウンコンバートされたデジタル化スペクトル拡散ソース信号を表すデータサンプルの入力ストリームを受信する。続くステップ７２０において、受信したデータサンプルをそれぞれがＭ個のデータサンプルを含むＮ個のデータブロックに分割する。ここで、Ｍは２以上の整数である。ステップ７３０において、各データブロックと各ローカルコードレプリカセグメントとの相関をとり、Ｎ個の中間積算結果を生成する。
【０１１５】
次に、Ｎと目標数Ｚ（関連ドップラーシフト補償キャリアベクトルに含まれる異なる振幅値を表す）との関係に応じて、ステップ７４０において、中間積算結果のうちの連続する結果を目標数Ｚと等しい集合積算結果に結合する。
【０１１６】
ステップ７５０において、集合積算結果と関連キャリアベクトルとの相関をとり、関連キャリアベクトルによって表される最少のスペクトル拡散ソース信号のダウンコンバート周波数に対してドップラーシフトが補償された復号化データを生成する。
【０１１７】
最後に、ステップ７６０において、データストリームが終了したか否かをチェックする。データストリームが終了した場合には、処理を終了する。データストリームが終了していない場合には、再びステップ７１０に戻る。
【０１１８】
図７を参照して説明したステップ及びステップのサブシーケンスは、携帯電話機、ＰＤＡ又は自動車のナビゲーション装置のマイクロプロセッサ等のプログラムされたコンピュータ装置によって制御することができる。また、図面を参照して説明した本発明の実施形態はコンピュータ装置とコンピュータ装置で実行されるプロセスを含むが、本発明は本発明を実施するためのコンピュータプログラム（特に担体上又は担体内のコンピュータプログラム）も含む。プログラムは、ソースコード、オブジェクトコード、例えば部分的にコンパイルされたコード中間ソース及びオブジェクトコード又は本発明に係る方法の実施に好適に使用されるその他の形態であってもよい。担体は、プログラムを担持することができる任意のエンティティ又は装置であってもよい。例えば、担体は、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、ＣＤ（Ｃｏｍｐａｃｔ  Ｄｉｓｃ）、半導体ＲＯＭ、フロッピー（登録商標）ディスク又はハードディスク等の磁気記憶媒体等の記憶媒体を含むことができる。また、担体は、電気又は光ケーブル、無線又はその他の手段によって搬送される電気又は光信号等の搬送波であってもよい。プログラムがケーブル、その他の装置又は手段によって直接搬送することができる信号によって実現される場合には、そのようなケーブル、装置又は手段によって担体を構成することができる。また、担体は、プログラムが組み込まれ、関連プロセスを実施又は実施するために使用される集積回路であってもよい。
【０１１９】
本明細書において使用される「含む」という用語は、記載する特徴、実体、ステップ又は構成要素の存在を特定するものである。ただし、本明細書において使用される「含む」という用語は、１以上のその他の特徴、実体、ステップ、構成要素又はそれらの群の存在又は追加を排除するものではない。
【０１２０】
本発明は図面に示した上述した実施形態に限定されるものではなく、本発明の範囲から逸脱することなく各種の変形を行うことができる。
【図面の簡単な説明】
【０１２１】
【図１】図１は、本発明の一実施形態に係るデータ信号を信号ソース特定コードシーケンスによって変調する方法を示す。
【図２】図２は、本発明の一実施形態に係るスペクトル拡散信号受信器のブロック図を示す。
【図３】図３ａ及び図３ｂは、本発明の実施形態に係るインターフェース装置のブロック図を示す。
【図４】図４は、本発明の一実施形態に係るソフトウェア相関器のブロック図を示す。
【図５】図５は、本発明の一実施形態に係る復号化信号をデータサンプルの入力ストリームに基づいて生成する方法を示す。
【図６】図６ａ〜図６ｅは、本発明の実施形態に係る複数の予め生成されたデジタル化キャリアベクトルを含む圧縮ベクトルテーブルを表す方法を模式的に示す。
【図７】図７は、本発明に係るデータサンプルのストリームから復号化信号を生成する一般的な方法をフロー図によって示す。
【図１】
2008541585.tif 000011
【図２】
2008541585.tif 000012
【図３ａ】
2008541585.tif 000013
【図３ｂ】
2008541585.tif 000014
【図４】
2008541585.tif 000015
【図５】
2008541585.tif 000016
【図６ａ】
2008541585.tif 000017
【図６ｂ】
2008541585.tif 000018
【図６ｃ】
2008541585.tif 000019
【図６ｄ】
2008541585.tif 000020
【図６ｅ】
2008541585.tif 000021
【図７】
2008541585.tif 000022
【国際調査報告】
2008541585.tif 000023
2008541585.tif 000024