JP2004538710A - ディジタル信号プロセッサにおける逆拡散信号回復 - Google Patents
ディジタル信号プロセッサにおける逆拡散信号回復 Download PDFInfo
- Publication number
- JP2004538710A JP2004538710A JP2003520104A JP2003520104A JP2004538710A JP 2004538710 A JP2004538710 A JP 2004538710A JP 2003520104 A JP2003520104 A JP 2003520104A JP 2003520104 A JP2003520104 A JP 2003520104A JP 2004538710 A JP2004538710 A JP 2004538710A
- Authority
- JP
- Japan
- Prior art keywords
- complex
- signal
- code
- bit
- value
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04B—TRANSMISSION
- H04B1/00—Details of transmission systems, not covered by a single one of groups H04B3/00 - H04B13/00; Details of transmission systems not characterised by the medium used for transmission
- H04B1/69—Spread spectrum techniques
- H04B1/707—Spread spectrum techniques using direct sequence modulation
- H04B1/709—Correlator structure
- H04B1/7093—Matched filter type
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
Description
分野
本発明は、無線電話応用のためのディジタル信号プロセッサに関し、より具体的には準直交符号(near orthogonal codes)を使用する信号成分の分離命令に関する。
【0002】
背景
セルラー電話システムを実現する場合には、利用可能な周波数において伝送できるデータ量を最大化することが重要である。これには、より大量のデータの伝送を可能にするための、データ信号の変更を必要とすることが多い。このような変更は、受信端において原信号が十分に回復できるように、可逆でなくてはならない。データ変更の1つの方法は、符号分割多重アクセス(CDMA)と拡散によるものである。
【0003】
拡散とは、通常は狭帯域の信号を、非常に広帯域の信号に変換するデータ変更方法である。信号を広帯域に拡散させると、より小さな電力で信号を送信し、かつ受信することができる。拡散は、信号を拡張し、かつ複製する符号を原信号に乗じることによって達成される。広い周波数帯域にわたって信号が複製される回数は、拡散係数と呼ばれる。例えば、拡散符号(1,1,1,1)は拡散係数(spreading factor)が4であり、この理由は、符号に信号を乗じるときに、各信号部分(「記号」と呼ばれる)が4回反復されることによる。上記の拡散符号の例では、記号「abcd」からなる信号を乗じると、拡散信号(aaaabbbbccccdddd)が得られる。同じ記号を拡散するのに発行される拡散符号が(1,−1,1,−1)の場合には、拡散信号は
【数1】
となり、ここで
【数2】
は原記号xの負の値を示す。拡散が行われると、広帯域信号が受信機に伝送される。この信号は、受信端で逆拡散されて、原信号を回復する。信号を拡散するのに使用される符号は、その信号を逆拡散するのにも使用される。
【0004】
逆拡散関数に集中的な計算が必要なことを含み、いくつかの要因のために、受信機には、ASICの使用およびディジタル信号プロセッサ内の最も基礎的なコンポーネントを有するハードウエアブロックの使用を含む、逆拡散装置が実装されている。これらの実装には、プログラミングができないという欠点がある。その他の逆拡散装置には、FPGAが使用されているが、これらは、コストの理由、およびプログラミングにおける柔軟性がないという理由で、望ましくはない。
【0005】
ディジタル信号プロセッサは、ソフトウエアのプログラムミングが可能であると理由から、ASICよりも望ましい解決策である。しかしながら、ディジタル信号プロセッサでは、満足な逆拡散装置を実現するために必要な、高速の複素計算を扱うのは困難である。
したがって、伝送された無線電話信号の復号に使用する逆拡散装置の実装を改善することに対する要望がある。
【0006】
概要
ディジタル信号プロセッサにおいて、信号値を処理する方法が提供され、この方法は、少なくとも信号値と逆拡散符号を指定する単一の命令に応答して、前記信号値に逆拡散符号を乗じるステップを含む。この方法は、乗算の結果を、以前の乗算の結果に加算するステップをさらに含むことができる。逆拡散符号は、4で割り切れる拡散係数を有することができる。逆拡散符号は、符号セグメントに分割されて、各符号セグメントは、1実数ビットと1虚数ビットを含む2ビット複素符号を含む。符号ビットに対して、セット符号ビットは、−1の値を表し、クリア符号ビットは、+1の値を表してもよい。信号値は、8実数ビットおよび8虚数ビットを含む、16ビットを含むことができる。
【0007】
ディジタル信号プロセッサにおいてデータセットを計算するためにさらなる方法が提供され、この方法は、少なくとも信号値と1組の符号とを指定する1または2以上の命令に応答して、前記1組の符号の1つずつについて、前記信号値に前記1組の符号の1つを乗じるステップと、前記乗算の結果を合計するステップと、前記合計の結果から得られるデータセットを生成するステップとを含む。この合計のステップには、乗算の結果を、以前の組の符号を乗算した結果と合計することを含めることができる。符号の組は、4で割り切れる拡散係数を有することができる。前記符号の組の1つずつは、1実数ビットおよび1虚数ビットを含む、2ビット複素符号とすることができる。セット符号ビットは、−1の値を表し、クリア符号ビットが+1の値を表わすことができる。信号値は、8実数ビットと8虚数ビットを含む、16ビットを含むことができる。
【0008】
別の一実施態様においては、ディジタル信号プロセッサが提供され、このディジタル信号プロセッサは、ディジタル信号計算のための命令およびオペランドを記憶するメモリと、前記命令の内の選択されたものを前記メモリからフェッチするための、命令アドレスを生成するプログラムシーケンサと、オペランドおよび結果を一時的に記憶するためのレジスタファイル、ならびにデータ信号および符号を指定する復号命令を実行する実行ブロックを含む計算ブロックであって、前期実行ブロックが、データ信号の部分に符号を乗じて、その結果を累算するための複素乗算・累算エンジンを含む、前記計算ブロックとを含む。ディジタル信号プロセッサは、ディジタル信号プロセッサによる復号命令の実行に応答して、データ信号の部分および符号の部分に対して1組の複素乗算を実行し、かつ前記複素乗算の結果を合計することができる。符号は、4で割り切れる拡散係数を有することができる。さらに別の実施態様においては、符号は符号セグメントに分割され、各符号セグメントは、1実数ビットと1虚数ビットを含む、2ビット複素符号を含む。さらに別の実施態様においては、セット符号ビットは、−1の値を表し、クリア符号ビットは+1の値を表す。データ信号は、8実数ビットおよび8虚数ビットを含む、16ビットを含むことができる。
【0009】
別の実施態様においては、ディジタル信号プロセッサにおいて出力データを計算する方法が提供され、この方法は、それぞれが8実数ビットおよび8虚数ビットを含む少なくとも1組の複素第1オペランドと、それぞれが1実数ビットおよび1虚数ビットを含む1組の複素第2オペランドとを指定する、1または2以上の命令に応答して、第2オペランドの1つずつについて、第1オペランドの1つと、第2オペランドの1つとの複素乗算を実行するステップと、前記1組の第2オペランドについて、前記乗算の結果を合計するステップと、前記合計の結果として得られる1組のデータを、出力として生成するステップとを含む。さらに別の実施態様においては、第2オペランドの1つにおけるセットビットは、−1の値を表し、第2オペランドの1つにおけるクリアビットは+1の値を表す。さらに別の実施態様においては、前記1組の複素第2オペランドが、逆拡散符号を含む。さらに別の実施態様においては、前記1組の複素第1オペランドは、入力データ信号を含む。さらに別の実施態様においては、前記入力データ信号は、音声伝送信号である。
【0010】
ディジタル信号プロセッサにおいて信号値を処理する方法がさらに提供され、この方法は、命令によって指定される複素信号値と2ビット複素符号セグメントとに応答して、信号値と符号セグメントとの複素乗算を実行して、処理されたデータ値を提供するステップを含む。
ディジタル信号プロセッサにおいて信号値を処理する方法がさらに提供され、この方法は、(a)命令によって指定される、1組の複素信号値と対応する組の複素符号セグメントに応答して、各信号値と対応する符号セグメントとの複素乗算を実行して1組の中間値を提供するステップと、(b)前記中間値の複素加算を実行して、処理された信号値を提供するステップとを含む。この方法は、複数の組の複素信号値に対してステップ(a)および(b)を反復して、処理された信号値のストリームを提供するステップをさらに含むことができる。この方法において、複素符号セグメントのそれぞれは、2ビット複素符号とすることができる。
本発明をさらによく理解するために、参照により本明細書に組み入れた、添付の図面を参照する。
【0011】
詳細な説明
説明の目的で、以下に記述する技法は、セルラー電話信号の伝送という状況において記述される。しかしながら、記述される技法の多くは、セル電話に有用でありながら、その他の高速データ伝送用途にも有用である。
無線電話基地局信号チェインの例のブロック図を図1に示してある。この信号チェインは、記号レート処理10およびチップレート処理12を含む。記号レート処理10をディジタル信号プロセッサに組み込むのが望ましい。送信側では、記号レート処理10は、CRCアタッチメントブロック20、チャネル符号化ブロック22、レートマッチングブロック24およびインターリーブブロック26を含む。受信側では、記号レート処理10は、逆インターリーブブロック30、レート決定ブロック32、チャネル復号ブロック34およびCRCアタッチメントブロック36を含む。
【0012】
チップレート処理12は、送信側の拡散および変調ブロック40と、受信側のレーク受信装置42を含む。逆拡散を実行する、ディジタル信号プロセッサを、受信側に使用することができる。
本発明の実施特徴に適するディジタル信号プロセッサ(DSP)110の例の、ブロック図を図2に示す。DSP110の主要構成要素は、計算ブロック112および114、メモリ116、制御ブロック124、リンクポートバッファ126、外部ポート128、DRAMコントローラ130、命令アライメントバッファ(IAB)132および1次命令復号器134である。計算ブロック112および114、命令アライメントバッファ132、1次命令復号器134および制御ブロック124は、DSP110の主要な計算およびデータ処理機能を実行するコアプロセッサを構成する。外部ポート128は、外部アドレスバス158および外部データバス168を介しての外部通信を制御する。リンクポートバッファ126は、通信ポート136を介する外部通信を制御する。DSPは好ましくは、単一のモノリシック集積回路として構成される。
【0013】
メモリ116には、3つの独立した大容量メモリバンク140、142および144を含めることができる。好ましい一実施態様においては、それぞれのメモリバンク140、142および144は、それぞれ32ビットの64Kワードの容量を有する。以下に述べるように、それぞれのメモリバンク140、142および144は、好ましくは128ビットデータバスを有する。1クロックサイクルで、それぞれが32ビットの、最大4つの連続して整列されたデータワードを、各メモリバンクに、またはそこから転送することができる。
【0014】
DSP110の要素は、効率の良い高速動作のために、バスによって相互接続されている。バスのそれぞれは、バイナリ情報を並列転送するための多重ラインを含む。第1のアドレスバス150(MA0)は、メモリバンク140(M0)と制御ブロック124を相互接続する。第2アドレスバスバス152(MA1)は、メモリバンク142(M1)と制御ブロック124を相互接続する。第3のアドレスバス154(MA2)は、メモリバンク144(M2)と制御ブロック124を相互接続する。アドレスバス150、152および154のそれぞれは、好ましくは16ビット幅である。外部アドレスバス156(MAE)は、外部ポート128と制御ブロック124を相互接続する。外部アドレスバス156は、外部ポート128を介して、外部アドレスバス158に相互接続されている。外部アドレスバス156および158のそれぞれは、好ましくは32ビット幅である。第1のデータバス160(MD0)は、メモリバンク140、計算ブロック112および114、制御ブロック124、リンクポートバッファ126、IAB132および外部ポート128を相互接続する。第2のデータバス162(MD1)は、メモリバンク142、計算ブロック112および114、制御ブロック124、リンクポートバッファ126、IAB132および外部ポート128を相互接続する。第3のデータバス164(MD2)は、メモリバンク144、計算ブロック112および114、制御ブロック124、リンクポートバッファ126、IAB132および外部ポート128を相互接続する。データバス160、162および164は、外部ポート128を介して、外部データバス168に接続されている。データバス160、162および164のそれぞれは、好ましくは128ビット幅であり、外部データバス168は好ましくは64ビット幅である。
【0015】
第1のアドレスバス150および第1のデータバス160は、メモリバンク140へ、およびそこからのデータ転送用のバスを含む。第2のアドレスバス152および第2のデータバス162は、メモリバンク142へ、およびそこからのテータ転送用の第2のバスを含む。第3のアドレスバス154および第3のデータバス164は、メモリバンク144への、およびそこからのデータ転送用の第3のバスを含む。メモリバンク140、142および144のそれぞれが、別個のバスを有するので、メモリバンク140、142および144は、同時にアクセスが可能である。本明細書における使用では、「データ」とは、DSP110の動作と関連する、命令またはオペランドを表すバイナリワードを意味する。
【0016】
通常の動作モードにおいて、プログラム命令はメモリバンクの1つに記憶されており、オペランドは他の2つのメモリバンクに記憶されている。したがって、1クロックサイクルに、少なくとも1つの命令と2つのオペランドを計算ブロック112および114に供給することができる。メモリバンク140、142および144のそれぞれは、単一クロックサイクルでの複数のデータワードの読み取り、および書き込みを可能にするように構成することができる。単一クロックサイクルで、各メモリバンクから複数のデータワードを同時転送することが、命令キャッシュまたはデータキャッシュを必要とすることなく達成される。
【0017】
上記のように、それぞれのメモリバンク140、142および144は、それぞれが32ビットの、64Kワードの容量を有するのが好ましい。各メモリバンクは、128ビット幅のデータバスに接続することができる。別の一実施態様においては、各データバスは、64ビット幅としてもよく、クロックフェーズ1およびクロックフェーズ2のそれぞれにおいて、64ビットを転送して、これによって実効的に128ビットのバス幅を提供する。各メモリバンクにおいて、単一クロックサイクルで複数データワードにアクセスすることができる。具体的には、データは、それぞれが32ビットのシングル、デュアルまたはクワッドワードとしてアクセスすることができる。
【0018】
クワッドワード転送を使用すると、1クロックサイクルで、それぞれが32ビットの4つの命令および8つのオペランドを、計算ブロック112および114に供給することができる。転送されるデータワード数、およびデータワードが転送される計算ブロック(単数または複数)は、命令中の制御ビットによって選択される。シングル、デュアルまたはクワッドデータワードを計算ブロック112、計算ブロック114、またはその両方に転送することができる。デュアルおよびクワッドデータワードアクセスによって、単一クロックサイクルに、いくつかのオペランドを計算ブロック112および114に転送することを可能にすることによって、多くの用途でDSP110の性能が改善される。各クロックサイクルにおいて複数の命令にアクセスできる能力によって、各クロックサイクルにおいて複数の動作を実行することが可能となり、それによって性能が向上する。
【0019】
計算ブロック112および114の、それぞれの実施態様のブロック図を図3に示してある。多重ポートレジスタファイル200は、オペランドおよび結果用の一時記憶を提供する。好ましい一実施態様においては、レジスタファイル200は、それぞれが128ビットの8行で構成された、それぞれが32ビットの32ワードの容量を有する。レジスタファイル200は、マルチプレクサおよびラッチ(図示せず)を介してそれぞれのデータバス160、162および164に接続されている(図2)。オペランドがメモリ116からフェッチされると、3つのデータバスの2つが選択されて、選択されたバス上のオペランドがレジスタファイル200に供給される。
【0020】
図3に示す計算ブロックは、乗算器/累算器210、論理演算装置(ALU)212、シフタ214およびアクセラレータ216を含む。乗算器/累算器220、ALU212、シフタ214およびアクセラレータ216は、十分な命令およびオペランドが計算ブロックに供給される程度に、命令を同時に実行することができる。オペランドは、オペランドバス上で、レジスタファイル200から、乗算器/累算器210、ALU210、シフタ214およびアクセラレータ216に供給される。乗算器/累算器210、ALU212、シフタ214およびアクセラレータ216からの結果は、結果バス222上を、レジスタファイル200に戻される。計算ブロックの構成要素は、2次命令復号器224からの信号によって、復号された命令に応答して制御される。計算ブロックは、性能の改善のためにはパイプラインアーキテクチャを有するのが好ましい。
【0021】
DSP中のそれぞれの計算ブロック112および114は、無線電話基地局における性能を向上させるためのアクセラレータ216を含む。アクセラレータは、データおよび制御値の一時記憶のためのレジスタ、および指定された命令を実行するためのアクセラレータ回路を含む。アクセラレータは、以下に記述するように、逆拡散関数において必要とされる、複素乗算を実行する。
拡散および逆拡散のプロセスを示す略図を図4に示してある。2つのディジタル化された音声信号300および302が、変調器304によって転送の準備のために処理される。変調は、ディジタルビットを無線伝送のための複素数にマッピングするプロセスである。図5に示すように、ディジタルビット0およびディジタルビット1が、複素平面上の点にマッピングされている。高速の伝送速度に対しては、複素平面上の1点が、複数のビットを表すことができる。例えば図6に、ビット対が、複素平面上の点にマッピングされている。このようにして、1+jの値を有する複素信号を受信する受信装置が、その信号をディジタルビット対00と解釈する。このようにして、ディジタルビットの3重項、4重項などを表すように、点を選択することができる。しかしながら、これらの点は、複素平面内で十分離れた位置に選択し、それによって受信装置が受信した複素値を正確に解釈できるようにする必要がある。結果として得られる変調データ信号部分は、記号と呼ばれている。
【0022】
記号306および308は、それぞれ、乗算装置307および309において、それぞれの複素拡散符号310、312を乗じられる。複素拡散符号310および312は、互いに直交するように選択される。複素符号を直交とすることによって、結果として得られる符号化信号314および316を、システムの後に符号を受信する能力と干渉することなく、総和ユニット318によって加算することができる。互いに直交する2つの符号の例としては、(1,1)と(1,−1)がある。
【0023】
図4は、2つの信号のみを含む伝送のための、拡散および逆拡散を示しているが、3つ以上の信号を結合して伝送することもできることに留意することが重要である。複数信号が結合される場合には、各信号は、記号が受信端で取り出されるように、他のすべての符号に直交する拡散符号が必要である。十分な直交性を有する符号セットを決定するいくつかの方法があるが、好ましい方法を図7のツリーに示してある。ツリー内の、他のすべての符号に直交する符号を生成するためには、基本符号(例中では、(1))を、上部ブランチでは2度反復し、下部ブランチでは1度反復し、1度否定する。例えば、2度反復された符号(1)は、(1,1)となる。反復、かつ否定された符号(1)は、(1,−1)となる。次いで、結果として得られる符号が、図7に示すアルゴリズムに従って、上部ブランチで2回反復されて、底部ブランチで反復かつ否定される。この方法で導いた結果得られる符合はすべて、互いに直交している。直交する符号を選択することによって、受信装置によって信号が取り出されることが保証される。
【0024】
拡散の後、符号化された信号は合計されて受信装置に伝送される。合計され、かつ拡散された信号部分は、チップと呼ばれる。受信された信号は、逆拡散ブロック317および319において逆拡散される。逆拡散関数は、乗算・累算関数として簡略化される。受信された信号は、異なるブランチに供給されて、各ブランチにおいて原拡散符合の1つを乗じられる。各ブランチにおける乗算の結果が累算される。複素スクランブル符号は、互いに直交しているので、拡散符号に符号化信号を乗じると、その拡散符号によって拡散された原記号が残り、他の記号は相殺される。逆拡散動作を以下に詳細に記述する。
【0025】
こうして分離された原記号は、バンドパスフィルタ(BPF)324に送られる。BPF324は、信号が属する周波数範囲の外部からのノイズを除去するために使用される。このノイズは、帯域外ノイズと呼ばれる。この帯域外ノイズが除去された後に、信号は、復調器326および328によって復調されて、原ディジタル信号300および302が回復される。
拡散および逆換算のプロセスによって、多重音声信号を同時に伝送することが可能となる。上記のように、図4の例は、2つの音声信号に限定されない。
【0026】
記号に対する拡散および逆拡散の効果の詳細な例を図8に示してある。2つの記号セット、abcd500およびfghk502に、それぞれ直交符号504および506をそれぞれ乗じる。符号504は、符号506に対して直交している。結果として得られる符号化記号セット508および510は、互いに加算されて、次いで符号化信号512として伝送される。符号化信号部分または「チップ」(符号化信号512は16のチップを含む)が受信されると、それらにそれぞれの符号を乗じ、互いに加算して、拡散係数(図8の例の場合には4である)で除する。こうして、原信号abcdおよびfghkが、受信側で回復される。
【0027】
この逆拡散プロセスには、計算が集中している。受信端で結果として得られるデータ信号を得るためには、いくつかの複素乗算実行が必要である。各チップは、逆拡散符号の各セクションで乗じられ、次いでその結果は累算されなければならない。これらの乗算および累算は、受信装置が信号を受信する速度に等しいか、それよりも大きな速度で実行しなくてはならない。セルラー音声伝送に要する高いデータ速度の点から、これまで、ディジタル信号プロセッサは、逆拡散計算を実装するのに必要な計算速度を提供することができなかった。
逆拡散装置のコア動作は、複素乗算および累算である。一実施態様によれば、逆拡散機能は、いくつかのDESPREAD(逆拡散)命令の1つを使用して、ディジタル信号プロセッサのアクセラレータ部分216で実施される。逆拡散命令のオペランドには、チップ、符号、および前に累算された逆拡散値を含めることができる。
【0028】
DESPREAD命令によって、DSPは、逆拡散動作に必要となる複素乗算および累算機能を迅速に実行することが可能となる。図8の例を参照すると、(a+f)、(a−f)、(a+f)などと記されている、信号512の部分はチップである((a+f)は1つのチップである)。それぞれは、8実数ビットと8虚数ビットによってディジタルで表すのが好ましい。(実際には、チップは、サンプリング率またはその他のシステム関連に応じてサイズが変わってもよいが、説明の目的および現在のシステムの好適さから、チップは16ビットと仮定している。)上記のように、チップは伝送データ信号の一部分である。受信されたチップ値は、DESPREAD命令による処理のために、DSPレジスタに記憶される。
【0029】
同様に、DSPREAD命令に使用するために、複素符号値が、DSPレジスタ内に記憶される。符号値を±1±jに選ぶのが有利である。第1に、これらの符号セグメントは小さく、かつ直交させるのが容易である。第2に、これらの符号セグメントは、2ビットだけ、すなわち1実数ビットと1虚数ビットだけを使用して表すのがはるかに容易であり、ビットがセットされている場合には−1の値を表わし、ビットがクリアされているときには、+1の値を表す。この表現によって、符号に複素乗算を実施するのに要するハードウエアを大幅に低減することができる。第3に、この符号は十分に小さいために、容易にレジスタに記憶することができ、実行中にメモリからロードする必要がない。
上記のように、拡散係数は、DESPREAD動作毎の複素乗算の数を定義する。ハードウエア上の制約が理由で、本発明の好ましい実施態様では、4で割り切れる拡散係数を使用するが、説明の目的で拡散係数8を使用する。
【0030】
拡散係数8を有する符号は、ディジタル形式では16ビット、すなわち、それぞれ1ビット実数部および1ビット虚数部を含む8つの符号セグメントで表される。ディジタイル表現に対して、クリアビットは、+1の値を表し、セットビットは−1の値を表す。このようにして、2つの16ビット符号を、32ビットワード内に記憶することができる。DESPREAD命令の動作を、以下に記述する。
以上に説明したように、符号化データ値から信号を分離するためには、チップに複素符号を乗じる。第1のDESPREAD命令は、次の関数を実行することによってこれを達成する。
【数3】
【0031】
上記の式は、チップと逆拡散符号の複素乗算から得られる信号を計算する。その結果得られる、SignalRealは、結果として得られる信号の実数部であり、結果として得られるSignalImagは、結果として得られる信号の虚数部である。nCodeRealは、ビット値nにおける逆拡散符号の実数部分であり、nCodeImagは、ビット値nにおける逆拡散符号の虚数部分である。同様に、nChipRealは、nにおける逆拡散符号に対応するチップ値の実数部分であり、nChipImagは、nにおける符号値に対応するチップ値の虚数部分である。
【0032】
この第1のタイプのDESPREAD命令は、次の形式を有する。
TRs=DESPREAD(RmQ,THrd)
この第1のタイプのDESPREAD命令に応答して実行される動作を説明するデータフロー図を図9に示してある。この8つの16ビットチップ(各チップは、8実数ビットと8虚数ビットで構成される)の値は、クワッドレジスタRmq704に保持されて(合計128ビット)、32個の2ビット符号セグメントの値(各符号が1実数ビットと1虚数ビットで構成される)が、レジスタペアTHrd702に保持される。レジスタペア702の8つの符号(16ビット)だけが、この命令の実行中に使用される。この第1のDESPREAD命令を実行した後に、符号レジスタTHrdは、論理的に正しい16ビットにシフトされて、レジスタの能動部分に新しい符号をロードする。
【0033】
図9で示すように、複素乗算器710〜717を使用して、702に記憶される各符号セグメントに、704に記憶された対応するチップを乗じる。これらの乗算の結果は、複素総和ユニット720によって加算されて、結果レジスタTRs724に記憶される。図9に示す動作は、上記の式(1)および(2)に対応する。
複素乗算は、DSPのアクセラレータ216(図3)によって実行される。システムを、±1±jで表わすことのできる逆拡散符号に限定することによって、複素乗算は、正または負の1の乗算としてDSPで実行することができ、これは、DSPによって、チップ部分のパスまたはチップ部分の否定として実行することができる。例えば、複素符号が(1,−j)の場合、符号の実数部分は1であり、符号の虚数部分は−1である。実数部分を乗じたチップ部分はすべて、同じままであり、虚数部を乗じたチップ部分はすべて、否定される。
【0034】
図9に示すように、8つの符号セグメントに、8つのチップを乗じて、互いに加算して結果を得る。この第1のDESPREAD命令は、一度に8つの符号セグメントしか使用できないので、第1の逆拡散命令は、拡散係数8を有する逆拡散符号とともに使用するのが好ましい。第1の逆拡散命令はまた、第1の逆拡散命令の結果を、その後の逆拡散命令の結果に加算して、全逆拡散動作を完了することによって、8よりも大きな拡散係数を有する逆拡散符号用に使用することもできる。例えば、逆拡散符号が、拡散係数32を有するとき、最初の8チップを復号するには、第1の逆拡散命令を1回実行することが必要であり、最終の16ビット符号セグメントを逆拡散するには、累算を含む逆拡散命令を2回実行することが必要である。
【0035】
この第2の逆拡散命令は、累算とともに逆拡散されて、次の式を実行する。
【数4】
ここで、Accum.SignalRealは、先に累算されて逆拡散された信号の実数部であり、Accum.SignalImag.は、先に累算されて逆拡散された信号の虚数部分である。累算とともに逆拡散された、この第2の逆拡散命令は、次の式で表される。
TRs=DESPREAD(RmQ,THrd)+TRn
【0036】
第2のタイプのDESPREAD命令に応答して実行される動作を示す、データフロー図を図10に示してある。図9および10の同一要素は、同一の参照番号をつけてある。図10に示す動作は、加算器720が、以前のレジスタ値722を現在の結果信号に加算して、その結果を出力レジスタ値724に配置すること以外は、図9に示すものと同じある。この第2のDESPREAD命令は、累算付きDESPREAD命令と呼ぶことができる。
【0037】
これらの命令を組み込んだソフトウエアコードの例を図11に示してある。ライン602では、信号部分(レジスタR3:0に記憶)の最初の8チップに、最初の8つの符号セグメント(THRレジスタ1:0に記憶)を乗じて、その結果を結果レジスタTR0に記憶する。同じサイクルにおいて,新規のチップがレジスタR3:0にロードされる。(好ましい実施態様のDESPREAD命令は、自動的にTHRレジスタをシフトして、新規の符号部分を、レジスタの能動部分に移動させる。)ライン604では、(レジスタR7:4に記憶された)信号部分の2番目の8チップに、新規の符号部分を乗算して、その乗算の結果を、以前の結果に加算して、新規な結果をレジスタTR0に記憶させる。同一のサイクル中に、新規のチップをレジスタR7:4にロードする。乗算および累算関数は、ライン606および608において反復される。DESPREAD関数を4回実行した後に、レジスタTHR(36ビットレジスタ)が、完全にシフトされ(8ビットの4シフト)、新規の符号をDSPによってレジスタTHRにロードしなくてはならないが、レジスタTHRはライン610上で再ロードされる。
【0038】
上記の逆拡散命令の2つの実施態様は、命令が符号の8セグメントを使用して、一時に8チップを復号するように設計されているので、好ましくは、8またはそれよりも大きい拡散係数を有する符号について使用される。これらの命令は、信号部分を逆拡散を完了するのに必要な回数だけ、累算付きDESPREAD命令をコールすることによって、8で割り切れる拡散係数を有する信号を逆拡散するのに使用することができる。拡散係数が4(または4で割り切れる)である符号について、逆拡散命令の第3の実施態様について記述する。このDESPREAD命令の第3の実施態様は、次の形態を有する。
TRsd=DESPREAD(RmQ,THrd)
【0039】
この第3のDESPREAD命令に応答して実行される動作を示すデータフロー図を、図12に示してある。図9、10および12にある同一の要素は、同一の参照番号をつけてある。図12に示す動作は、この命令によって逆拡散される符号における拡散係数が4であるので、4つのチップだけを合わせて加算する必要があることを除けば、図10に示すものと同様である。したがって、この命令は、一度に8チップを復号し、結果を累算しデュアル結果レジスタTRsd924の別個の半分に記憶することによって、利用可能な8つの複素乗算を使用する。DSPにおけるDESPREAD関数の3つの記述された実施態様は、入信する無線データ信号の処理において、より高い柔軟性と速度を可能にする。
【0040】
上記のDESPREAD命令の例が実行されて、好ましくは8ビット長のビットセグメントで、8つの複素乗算を一度に実行するのが、図9、10および12に示してある。これらの命令は、これらの実施態様に限定されるものではなく、より多数の複素乗算器、または異なる長さのビットストリームを使用して実現することが可能であり、また動作を計算ブロック112および114(図2)の両方で実行することによって処理速度を倍増することができる。
現時点において本発明の好ましい実施態様であると考えられるものを示し、記述したが、添付の特許請求の範囲に定義される本発明の範囲から逸脱することなく、様々な変更および修正ができることが、当業者には明白であろう。
【図面の簡単な説明】
【0041】
【図1】無線電話基地局信号チェインのブロック図である。
【図2】本発明の一態様によるチャネル復号器を実装するのに好適なディジタル信号プロセッサのブロック図である。
【図3】図2のディジタル信号プロセッサに示した、各計算ブロックの一実施態様のブロック図である。
【図4】直交符号を使用する拡散および逆拡散の処理を示すブロック図である。
【図5】ディジタルビットの複素面上の代表点へのマッピングを示す図である。
【図6】ディジタルビット対の複素面上の代表点へのマッピングを示す図である。
【図7】直交符号ツリーの例を示す図である。
【図8】2組の記号の拡散および逆拡散を示すデータフロー図である。
【図9】逆拡散命令に応答して実行することのできる動作の第1の実施態様を示す、データフロー図である。
【図10】逆拡散命令に応答して実行することのできる動作の第2の実施態様を示す、データフロー図である。
【図11】本発明の一態様による逆拡散を実行するためのソフトウエアコードを示す図である。
【図12】逆拡散命令に応答して実行することのできる動作の第3の実施態様を示す、データフロー図である。
Claims (30)
- 少なくとも信号値と逆拡散符号を指定する単一の命令に応答して、前記信号値に逆拡散符号を乗じるステップを含む、ディジタル信号プロセッサにおいて信号値を処理する方法。
- 乗算の結果を、以前の乗算の結果に加算するステップをさらに含む、請求項1に記載の方法。
- 逆拡散符号が、4で割り切れる拡散係数を有する、請求項1に記載の方法。
- 逆拡散符号が、符号セグメントに分割されて、各符号セグメントは、1実数ビットと1虚数ビットを含む、2ビット複素符号を含む、請求項1に記載の方法。
- セット符号ビットが、−1の値を表し、クリア符号ビットが+1の値を表す、請求項4に記載の方法。
- 信号値が16ビットを含む、請求項1に記載の方法。
- 信号値が、8実数ビットと8虚数ビットを含む、請求項6に記載の方法。
- 少なくとも信号値と1組の符号とを指定する1または2以上の命令に応答して、
前記1組の符号の1つずつについて、前記信号値に前記1組の符号の1つを乗じるステップと、
前記乗算の結果を合計するステップと、
前記合計の結果から得られるデータセットを生成するステップとを含む、ディジタル信号プロセッサにおいてデータセットを計算する方法。 - 合計するステップが、乗算の結果を、以前の組の符号を乗算した結果と合計するステップを含む、請求項8に記載の方法。
- 符号の組が、4で割り切れる拡散係数を有する、請求項8に記載の方法。
- 前記1組の符号の1つずつが、1実数ビットと1虚数ビットを含む、2ビット複素符号である、請求項8に記載の方法。
- セット符号ビットが−1の値を表し、クリア符号ビットが+1の値を表す、請求項11に記載の方法。
- 信号値が、16ビットを含む、請求項8に記載の方法。
- 信号値が、8実数ビットと8虚数ビットを含む、請求項13に記載の方法。
- ディジタイル信号計算のための命令およびオペランドを記憶するメモリと、
前記命令の内の選択されたものを、前記メモリからフェッチするための命令アドレスを生成するためのプログラムシーケンサと、
オペランドおよび結果を一時的に記憶するためのレジスタファイル、ならびにデータ信号および符号を指定する復号命令を実行する実行ブロックを含む計算ブロックであって、前記実行ブロックが、データ信号の部分に符号を乗じて、その結果を累算するための複素乗算・累算エンジンを含む、前記計算ブロックとを含む、ディジタル信号プロセッサ。 - 復号命令の実行に応答して、ディジタル信号プロセッサが、
データ信号の部分および符号の部分に対して1組の複素乗算を実行し、かつ
前記複素乗算の結果を合計する、請求項15に記載のディジタル信号プロセッサ。 - 符号が、4で割り切れる拡散係数を有する、請求項15に記載の方法。
- 符号が符号セグメントに分割されて、各符号セグメントが、1実数ビットと1虚数ビットを含む、2ビット複素符号を含む、請求項15に記載の方法。
- セット符号ビットが−1の値を表し、クリア符号ビットが+1の値を表す、請求項18に記載の方法。
- データ信号が、16ビットを含む、請求項15に記載の方法。
- データ信号が、8実数ビットと8虚数ビットを含む、請求項20に記載の方法。
- それぞれが8実数ビットおよび8虚数ビットを含む少なくとも1組の複素第1オペランドと、それぞれが1実数ビットおよび1虚数ビットを含む1組の複素第2オペランドとを指定する、1または2以上の命令に応答して、
第2オペランドの1つずつに対して、第1オペランドの1つと、第2オペランドの1つとの複素乗算を実行するステップと、
前記1組の第2オペランドについて、前記乗算の結果を合計するステップと、
前記合計から得られる1組のデータを、出力として生成するステップとを含む、ディジタル信号プロセッサにおいて出力データを計算する方法。 - 第2オペランドの1つにおけるセットビットが−1の値を表し、第2オペランドの1つにおけるクリアビットが+1の値を表す、請求項22に記載の方法。
- 前記1組の複素第2オペランドが、逆拡散符号を含む、請求項22に記載の方法。
- 前記1組の複素第1オペランドが、入力データ信号を含む、請求項22に記載の方法。
- 入力データ信号が、音声伝送信号である、請求項25に記載の方法。
- 命令によって指定される複素信号値と2ビット複素符号セグメントとに応答して、信号値と符号セグメントとの複素乗算を実行して、処理されたデータ値を提供するステップを含む、
ディジタル信号プロセッサにおいて信号値を処理する方法。 - (a)命令によって指定される、1組の複素信号値と対応する組の複素符号セグメントとに応答して、各信号値と対応する符号セグメントとの複素乗算を実行して1組の中間値を提供するステップと、
(b)前記中間値の複素加算を実行して、処理された信号値を提供するステップとを含む、ディジタル信号プロセッサにおいて信号値を処理する方法。 - 複数の組の複素信号値に対して、ステップ(a)および(b)を反復して、処理された信号値のストリームを提供する、請求項28に記載の方法。
- 複素符号セグメントのそれぞれが、2ビット複素符号である、請求項28に記載の方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/925,889 US7333530B1 (en) | 2001-08-06 | 2001-08-06 | Despread signal recovery in digital signal processors |
PCT/US2002/024702 WO2003015305A1 (en) | 2001-08-06 | 2002-08-06 | Despread signal recovery in digital signal processors |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2004538710A true JP2004538710A (ja) | 2004-12-24 |
JP2004538710A5 JP2004538710A5 (ja) | 2006-01-05 |
Family
ID=25452394
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003520104A Pending JP2004538710A (ja) | 2001-08-06 | 2002-08-06 | ディジタル信号プロセッサにおける逆拡散信号回復 |
Country Status (5)
Country | Link |
---|---|
US (1) | US7333530B1 (ja) |
EP (1) | EP1421708A4 (ja) |
JP (1) | JP2004538710A (ja) |
CN (1) | CN1561581B (ja) |
WO (1) | WO2003015305A1 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10827043B2 (en) * | 2018-04-04 | 2020-11-03 | Hall Labs Llc | Normalization of communication between devices |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3212213B2 (ja) * | 1994-03-16 | 2001-09-25 | 株式会社日立製作所 | データ処理装置 |
ZA965340B (en) * | 1995-06-30 | 1997-01-27 | Interdigital Tech Corp | Code division multiple access (cdma) communication system |
US6385634B1 (en) * | 1995-08-31 | 2002-05-07 | Intel Corporation | Method for performing multiply-add operations on packed data |
US5872810A (en) * | 1996-01-26 | 1999-02-16 | Imec Co. | Programmable modem apparatus for transmitting and receiving digital data, design method and use method for said modem |
US5930230A (en) | 1996-05-28 | 1999-07-27 | Qualcomm Incorporated | High data rate CDMA wireless communication system |
US6680928B1 (en) * | 1997-07-22 | 2004-01-20 | Ericsson Inc. | Communications system and method for multi-carrier orthogonal coding |
US6366607B1 (en) * | 1998-05-14 | 2002-04-02 | Interdigital Technology Corporation | Processing for improved performance and reduced pilot |
US6618431B1 (en) * | 1998-12-31 | 2003-09-09 | Texas Instruments Incorporated | Processor-based method for the acquisition and despreading of spread-spectrum/CDMA signals |
US6606684B1 (en) * | 2000-03-31 | 2003-08-12 | Intel Corporation | Multi-tiered memory bank having different data buffer sizes with a programmable bank select |
US6879576B1 (en) * | 2000-09-06 | 2005-04-12 | Qualcomm Incorporated | Method and apparatus for processing a physical channel with partial transport format information |
US7072929B2 (en) * | 2000-11-01 | 2006-07-04 | Pts Corporation | Methods and apparatus for efficient complex long multiplication and covariance matrix implementation |
US6934728B2 (en) * | 2001-06-01 | 2005-08-23 | Microchip Technology Incorporated | Euclidean distance instructions |
US6922716B2 (en) * | 2001-07-13 | 2005-07-26 | Motorola, Inc. | Method and apparatus for vector processing |
-
2001
- 2001-08-06 US US09/925,889 patent/US7333530B1/en not_active Expired - Lifetime
-
2002
- 2002-08-06 JP JP2003520104A patent/JP2004538710A/ja active Pending
- 2002-08-06 WO PCT/US2002/024702 patent/WO2003015305A1/en active Application Filing
- 2002-08-06 EP EP02748290A patent/EP1421708A4/en not_active Withdrawn
- 2002-08-06 CN CN02816442.3A patent/CN1561581B/zh not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
WO2003015305A1 (en) | 2003-02-20 |
CN1561581B (zh) | 2013-08-14 |
US7333530B1 (en) | 2008-02-19 |
EP1421708A4 (en) | 2007-09-26 |
EP1421708A1 (en) | 2004-05-26 |
CN1561581A (zh) | 2005-01-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI467932B (zh) | 使用平行殘餘補償消除自調變加權干擾之系統、裝置及方法 | |
JP4927841B2 (ja) | 短い複素乗算器及び独立ベクトル・ロード・ユニットを含むクラスタードsimdマイクロ・アーキテクチャを有するプログラマブル・デジタル信号プロセッサ | |
JP5080469B2 (ja) | 複素ベクトル命令を実行するように構成されるクラスタードsimdマイクロ・アーキテクチャを含むプログラマブル・デジタル信号プロセッサ | |
CN101203846B (zh) | 具有可编程网络的数字信号处理器 | |
EP1031934A2 (en) | Method and apparatus for dot product calculation | |
JP2002540714A (ja) | プログラマブル整合フィルタサーチャ | |
WO1979000271A1 (en) | Fdm/tdm transmultiplexer | |
US6650688B1 (en) | Chip rate selectable square root raised cosine filter for mobile telecommunications | |
KR100229042B1 (ko) | 하드웨어소모 감소 및 탐색성능이 향상된 레이크 수신기 | |
KR100306014B1 (ko) | 필터코프로세서 | |
US20060004902A1 (en) | Reconfigurable circuit with programmable split adder | |
WO2005076493A1 (en) | Post despreading interpolation in cdma systems | |
JP2001527728A (ja) | 疑似ランダムノイズ発生器用のマスク発生多項式 | |
JPH07273702A (ja) | シンボル列からなる信号を受信する受信機及びそのための等化器並びにシンボル検出方法 | |
US8958459B2 (en) | Method and apparatus for despread data in wireless communication system | |
JP2004538710A (ja) | ディジタル信号プロセッサにおける逆拡散信号回復 | |
US6792032B2 (en) | CDMA system transmission matrix coefficient calculation | |
US20040199557A1 (en) | Reduced complexity fast hadamard transform and find-maximum mechanism associated therewith | |
US7031377B2 (en) | Receiver and low power digital filter therefor | |
US6401106B1 (en) | Methods and apparatus for performing correlation operations | |
US6983012B1 (en) | Implementation of digital filter with reduced hardware | |
Zhu et al. | ASIC implementation architecture for pulse shaping FIR filters in 3G mobile communications | |
KR0155515B1 (ko) | 고속 하다마드 변환기 | |
JP2003008475A (ja) | Rach受信装置 | |
Swanchara et al. | A stream-based configurable computing radio testbed |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20050726 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20050726 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20080212 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20080304 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20080604 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20080611 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20080704 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20080711 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20080724 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20080731 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20081007 |