(57)【要約】【課題】  ＣＤＭＡ方式の信号を受信するＣＤＭＡ受信装置で、ＣＤＭＡ受信のために必要なフィンガを限られたリソースの中で有効活用する。【解決手段】  受信信号を処理する機能を有する複数のフィンガリソース１１と、所定数のフィンガリソースをまとめたブロックを単位として、通信状況に応じて、通信される複数のチャネルのそれぞれに１つ以上のブロックが割り当てられるように制御する割り当て制御手段１２、１３と、割り当て制御手段によりそれぞれのチャネルに割り当てられたブロックに含まれるフィンガリソースを使用して当該それぞれのチャネルの受信信号が処理されるように制御する通信制御手段１３を備えた。【選択図】  図１
2007124042.tif 000002
【特許請求の範囲】
【請求項１】
ＣＤＭＡ方式の信号を受信するＣＤＭＡ受信装置において、
受信信号を処理する機能を有する複数のフィンガリソースと、
所定数のフィンガリソースをまとめたブロックを単位として、通信状況に応じて、通信される複数のチャネルのそれぞれに１つ以上のブロックが割り当てられるように制御する割り当て制御手段と、
前記割り当て制御手段によりそれぞれのチャネルに割り当てられたブロックに含まれるフィンガリソースを使用して当該それぞれのチャネルの受信信号が処理されるように制御する通信制御手段と、
を備えたことを特徴とするＣＤＭＡ受信装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＣＤＭＡ（Ｃｏｄｅ  Ｄｉｖｉｓｉｏｎ  Ｍｕｌｔｉｐｌｅ  Ａｃｃｅｓｓ）方式の信号を受信するＣＤＭＡ受信装置に関し、特に、ＣＤＭＡ受信のために必要なフィンガを限られたリソースの中で有効活用するＣＤＭＡ受信装置に関する。
【背景技術】
【０００２】
例えば、無線通信において、受信機により受信される受信信号は、様々な電波伝搬路を通って到来するため、複数の遅延パスが重畳したマルチパスとなる。ＣＤＭＡ受信システムの通信方式では、マルチパスを直交符号により分離することができるため、マルチパスを分離してタイミング及び位相を合わせてから合成することで利得を稼ぐことが通信品質向上のために不可欠である。このため、ＣＤＭＡ受信システムを構築する際には、チャネル毎に多くのパス用リソース（これをフィンガと言う）を確保する必要があることから、常に大きな冗長性を必要としており、デバイスへの負担が大きいことが問題であった。
【０００３】
一例として、３２ユーザを収用する２アンテナ受信ダイバーシティ方式を採用する基地局装置では、１ユーザ当り８フィンガを割り当てる場合には、単純に、５１２フィンガ（＝３２ユーザ×８フィンガ×２ブランチ）が必要となる。
標準仕様となっている３ＧＰＰのＦＤＤ  ＤＳ−ＣＤＭＡ方式の場合、各ユーザ毎に、パイロットシンボルを含む制御チャネル（ＣＣＨ：Ｃｏｎｔｒｏｌ  Ｃｈａｎｎｅｌ）と、データを含むデータチャネル（ＤＣＨ：Ｄａｔａ  Ｃｈａｎｎｅｌ）を有する。ＣＣＨは、１スロット（６６６．６７μｓ）当り３〜８のパイロットシンボルを含み、１パイロットシンボルについてはＳＦ（Ｓｐｒｅａｄｉｎｇ  Ｆａｃｔｏｒ）が２５６であり、すなわち、２５６チップに拡散されている。ＤＣＨは、サービスにより異なる拡散率（ＳＦが４〜２５６）で拡散されている。
【０００４】
各フィンガは、拡散率に応じて受信信号を逆拡散して必要なシンボルを取り出す処理を行う。ＳＦが２５６であるとき、１パイロットシンボル時間（６６．６７μｓ）に必要なＣＣＨの逆拡散処理は、１フィンガ当り、２５６回の複素乗算と、２５５回の和算である。５１２フィンガであれば、１３１０７２回の複素乗算と１３０５６０回の和算が必要となる。更に、ＤＣＨのための逆拡散処理が必要となり、複素乗算回数はＣＣＨと同じ１３１０７２回となり、和算回数はＳＦに応じて若干異なるものの９８３０４回（ＳＦが４のとき）〜１３０５６０回（ＳＦが２５６のとき）必要となる。
【０００５】
ＣＣＨとＤＣＨをまとめると、６６．６７μｓの間に、２６２１４４回の複素乗算と２２８８６４〜２６１１２０回の和算を処理する能力がデバイスに求められる。これは、例えば、ＦＰＧＡ（Ｆｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）やＤＳＰ（Ｄｉｇｉｔａｌ  Ｓｉｇｎａｌ  Ｐｒｏｃｅｓｓｏｒ）により実現する場合には、フィンガのリソースだけで大きな処理能力が要求されることを示す。
【発明の開示】
【発明が解決しようとする課題】
【０００６】
上述のように、従来のＣＤＭＡ受信装置では、フィンガのリソースに大きな処理能力が要求されるといった問題があった。
本発明は、このような従来の事情に鑑み為されたもので、ＣＤＭＡ受信のために必要なフィンガを限られたリソースの中で有効活用することができるＣＤＭＡ受信装置を提供することを目的とする。
【課題を解決するための手段】
【０００７】
上記目的を達成するため、本発明に係るＣＤＭＡ受信装置では、ＣＤＭＡ方式の信号を受信して、次のような構成により、受信信号を処理する。
すなわち、受信信号を処理する機能を有する複数のフィンガリソースを備える。割り当て制御手段が、所定数のフィンガリソースをまとめたブロックを単位として、通信状況に応じて、通信される複数のチャネルのそれぞれに１つ以上のブロックが割り当てられるように制御する。そして、通信制御手段が、前記割り当て制御手段によりそれぞれのチャネルに割り当てられたブロックに含まれるフィンガリソースを使用して当該それぞれのチャネルの受信信号が処理されるように制御する。
【０００８】
従って、所定数のフィンガリソースからなるブロックを単位として、通信状況に応じて、各チャネルに対して１つ以上のブロックが割り当てられるように、各チャネルに対するブロックの割り当てが制御されるため、例えば、各チャネルに対して割り当てられる最低のフィンガリソースの数を保証して、各チャネルに対するフィンガリソースの割り当てを効果的に可変に行うことができる。これにより、ＣＤＭＡ受信のために必要なフィンガを限られたリソースの中で有効活用することができる。
【０００９】
ここで、複数のフィンガリソースの数としては、種々な数が用いられてもよい。
また、フィンガリソースとしては、種々な構成のものが用いられてもよく、例えば、各チャネルの各パス毎に、拡散率に応じて、受信信号を逆拡散して必要なシンボルを取り出す処理を行う処理部が用いられる。
また、単位となる１つのブロックに含まれる所定数のフィンガリソースの数としては、種々な数が用いられてもよい。
また、各チャネルに割り当てられるブロックの数としては、１つ又は２つ以上の種々な数が用いられてもよい。
また、通信状況に応じてブロックの割り当てを制御する態様としては、種々な態様が用いられてもよく、例えば、収容するチャネルの数に基づいて制御する態様や、各チャネルで検出されるパスの数に基づいて制御する態様や、新たなチャネルの発生や使用されていたチャネルの消失に基づいて制御する態様などを用いることができる。
【００１０】
具体例として、初期において各チャネルにブロックを割り当てる処理や、新たなチャネルが発生した場合に当該チャネルにブロックを割り当てる処理や、使用されていたチャネルが消失した場合に当該チャネルに割り当てられていたブロックを回収する（巻き取る）処理や、新たに割り当てるためのブロックが不足した場合にいずれかのブロックに割り当てられているブロックの一部を回収する（巻き取る）処理や、或るチャネルのパスの数が所定の閾値以下又は未満である場合に当該チャネルに割り当てられているブロックの一部を回収する（巻き取る）処理などを用いることができる。
また、例えば、収容するチャネルの数が多いほど各チャネルに割り当てられるブロックの数を少なくする一方、収容するチャネルの数が少ないほど各チャネルに割り当てられるブロックの数を多くする処理や、高レートのチャネルに対して多くのブロックを割り当てる一方、低レートのチャネルに対して少ないブロックを割り当てる処理などを用いることができる。
【００１１】
また、例えば、個々のブロックを管理するとともに、２つ以上の所定数のブロックをまとめたもの（ここで、ブロック群と言う）を管理するようにし、２つ以上のブロックを結合してブロック群を生成する処理や、ブロックとブロック群とを結合して更に大きいブロック群を生成する処理や、ブロック群とブロック群とを結合して更に大きいブロック群を生成する処理や、ブロック群を各ブロックへ分解する処理や、ブロック群をそれより小さいブロック群と１つ以上のブロックへ分解する処理や、ブロック群をそれより小さい２つ以上のブロック群へ分解する処理などを用いることができる。
また、例えば、レジスタを備えて、当該レジスタに記憶された値（レジスタ値）に基づいてブロックの割り当てを制御するような構成を用いることができる。
【発明の効果】
【００１２】
以上説明したように、本発明に係るＣＤＭＡ受信装置によると、複数のチャネルの受信信号を処理するために、複数のフィンガリソースを各チャネルに配分するに際して、所定数のフィンガリソースをまとめたブロックを単位として、通信状況に応じて、各チャネルに対するブロックの割り当て数などのブロック割り当て状態を可変に制御するようにしたため、ＣＤＭＡ受信のために必要なフィンガを限られたリソースの中で有効活用することができる。
【発明を実施するための最良の形態】
【００１３】
本発明に係る実施例を図面を参照して説明する。
図１には、本例のＣＤＭＡ受信装置１の概略的な構成例を示してある。
本例のＣＤＭＡ受信装置１は、フィンガリソース部１１と、レジスタ部１２と、制御部１３を備えている。
フィンガリソース部１１は、複数のフィンガのリソースを有している。各フィンガは、拡散率に応じて、受信信号を逆拡散して必要なシンボルを取り出す処理を行う。
レジスタ部１２は、各チャネルについてのフィンガのリソースの割り当てや巻き取りのために参照されるデータを記憶するレジスタを有している。
制御部１３は、各種の処理や制御を行い、本例では、レジスタ部１２に記憶されたレジスタのデータ（レジスタ値）を参照して、各チャネルについて、フィンガのリソースの割り当て処理や巻き取り処理などを制御する。
【００１４】
以下で、詳しく説明する。
本例では、フィンガのリソースを複数まとめて１つのブロックとする。１つのブロックにまとめられるフィンガリソースの数は、最低保証フィンガリソース数となる。例えば、１ブロックを４つのフィンガリソースから構成することができる。本例では、ブロックを結合や分解することで、フィンガリソースの配分を自由に変えることができ、限られた処理リソースで最大限の有効活用を図ることができる。
【００１５】
受信信号のＳＦとデータのスループットとは反比例するため、フィンガ以外のリソース、例えばチャネルコーディック機能は、ＳＦが小さいほど大きな処理リソースを必要とする。つまり、無線装置としては、「チャネル数×（１／ＳＦ）＝一定」になる収容能力が一般的である。ＳＦが小さい高レートのサービスに対しては、無線特性を少しでも向上させるためフィンガリソースを多く割り当てる必要があり、逆に、ＳＦが大きい低レートのサービスの場合には、多少フィンガリソースを削っても、ＳＦによる拡散利得を得ることができるため影響は小さい。この特性を活かし、収容チャネル数に応じて、フィンガリソースの配分が変わるようにする。
【００１６】
図２には、ブロックの組み合わせの一覧の一例を示してある。
本例では、ブロックをｃｈＢｌｋという名称で示し、番号（Ｎｏ．）を振っている。また、ブロック数が全部で４８（Ｎｏ．が０〜４７）であるときの例を示してある。
ｃｈＢｌｋ数１は、１つのｃｈＢｌｋが１つのチャネルにフィンガリソースとして割り当てられる状態を示す。ｃｈＢｌｋ数２は、ｃｈＢｌｋのＮｏ．が偶奇の２つを組として、１つのチャネルにフィンガリソースとして割り当てられる状態を示す。ｃｈＢｌｋ数４は、先頭のｃｈＢｌｋのＮｏ．が４の倍数となる連続４つのブロックを組として、１つのチャネルにフィンガリソースとして割り当てられる状態を示す。本例では、隣り合うブロックを組として、離れたブロックが組を作ることはしない。１つの組は、同一チャネルに対するフィンガリソースとなる。ブロックの組み合わせは、基本的には、収容しているチャネル数に依存させる。
なお、１つのｃｈＢｌｋが４つのフィンガリソースから構成されている場合には、ｃｈＢｌｋ数１は４つのフィンガリソースから構成され、ｃｈＢｌｋ数２は８つのフィンガリソースから構成され、ｃｈＢｌｋ数４は１６つのフィンガリソースから構成される。
【００１７】
図３には、収容チャネル数のみに依存してブロックが割り当てられた場合におけるブロック数の配分の一例を示してある。
全てのブロック（ｃｈＢｌｋ）の数が４８であるときの例を示してある。ＣＨ数は、収容するチャネル（ＣＨ）の数を示す。ｃｈＢｌｋ数のマトリクス内の数字は、該当するｃｈＢｌｋ数（４、２、１）を用いるチャネルの数を示す。
例えば、収容しているＣＨ数が１４である場合には、ｃｈＢｌｋ数４が割り当てられているチャネルが１０存在し、ｃｈＢｌｋ数２が割り当てられているチャネルが４存在することを示している。また、収容しているＣＨ数が２７である場合には、ｃｈＢｌｋ数２が割り当てられているチャネルが２１存在し、ｃｈＢｌｋ数１が割り当てられているチャネルが６存在することを示している。
このように、単純に、ｃｈＢｌｋの総数である４８の中での配分となっている。
【００１８】
更に、本例では、パス数による依存性を持たせる。
また、一度割り当てられたブロックについては、次の２つの条件（変更条件１）、（変更条件２）以外では変更しない。
（変更条件１）ブロック数が不足した場合には、既に割り当てられているチャネルから後半ブロックを割り当てる。
（変更条件２）パス数が割当ブロック数によるフィンガ数の半分以下の場合には、ブロック数を半分にする。
このような設定を行うことにより、冗長ブロック数が少なくても、効率的にフィンガリソースの割り当てを行うことができる。
【００１９】
本例では、ブロックを管理するために、５つのレジスタを用いる。
これらのレジスタにより、ブロックの割り当てや巻き取りの際におけるブロックどうしの結合を制御している。ブロックの巻き取りとは、例えば、チャネルがクローズした場合に発生する不用となったブロックの回収や、ブロックの割り当て後にパス数により解放した後半のブロックの回収を示す。
レジスタには、ブロックのためにｓｔａｃｋ、Ｅｘ−ｓｔａｃｋ及びｄｅｌＭＡＰの３つがあり、また、ｐｈａｓｅ（フェーズ）のためにｃｈＢ１Ｔａｂｌｅがあり、また、ａｃｃＭＡＰがある。それぞれの役割を示す。
【００２０】
（レジスタ１）ｓｔａｃｋの役割は、ここに格納されているブロックを順に割り当てるためである。巻き取られたブロックは、結合が不要なｐｈａｓｅであれば、再びここに格納される。格納はスタック構造である。
（レジスタ２）Ｅｘ−ｓｔａｃｋの役割は、ブロックの結合を制御するために、巻き取られたブロックを格納するものである。結合が済んだとき又は結合が不要なときには、ブロックをｓｔａｃｋに格納する。ブロックの割り当てにおいて、ｓｔａｃｋが空の場合には、Ｅｘ−ｓｔａｃｋから割り当てる。格納はスタック構造である。
【００２１】
（レジスタ３）ｄｅｌＭＡＰの役割は、ｓｔａｃｋ及びＥｘ−ｓｔａｃｋが空の場合に、ｄｅｌＭＡＰのポインタが示すチャネルのブロックを半減して割り当てるためである。また、ｄｅｌＭＡＰのポインタが指し示す位置により、ｐｈａｓｅを識別することもできる。
（レジスタ４）ｃｈＢ１Ｔａｂｌｅの役割は、ｐｈａｓｅの切替を行うために、ブロック数が１であるチャネルの数を格納するものである。
（レジスタ５）ａｃｃＭＡＰの役割は、ｃｈＢｌｋの一覧を格納するものである。ｃｈＢｌｋが割り当てられたチャネルを容易に識別するために用いられる。
【００２２】
ここで、ブロックのｐｈａｓｅについて説明する。
例えば、ブロック数が１、２、４の３通りであるとする。
この場合、全てのパターンを共存させると、ブロック解放の際に、容易に巻き取りができない。巻き取りでは、割り当てのことを考慮して、できるだけ結合した形でまとめておくのが好ましい。巻き取りのための機構を構築するために、共存することができる組み合わせを示すのがｐｈａｓｅである。
【００２３】
図４には、ｐｈａｓｅの状態の一例を示してある。
ｃｈＢ４のｐｈａｓｅでは、ｃｈＢｌｋ数４又はｃｈＢｌｋ数２が用いられ、ｓｔａｃｋにはブロック数が４にまとめられたブロック（ｃｈＢｌｋ数４のブロック）のみが格納され、Ｅｘ−ｓｔａｃｋには拡張されることを待機するブロック数２のブロック（ｃｈＢｌｋ数２のブロック）が格納される。このｃｈＢ４のｐｈａｓｅでは、ブロック数１のブロック（ｃｈＢｌｋ数１のブロック）は発生しない。
同様に、ｃｈＢ２のｐｈａｓｅでは、ｃｈＢｌｋ数２又はｃｈＢｌｋ数１が用いられ、ｓｔａｃｋにはブロック数が２にまとめられたブロック（ｃｈＢｌｋ数２のブロック）のみが格納され、Ｅｘ−ｓｔａｃｋには拡張されることを待機するブロック数１のブロック（ｃｈＢｌｋ数１のブロック）が格納される。このｃｈＢ２のｐｈａｓｅでは、ブロック数４のブロック（ｃｈＢｌｋ数４のブロック）は存在せず、全て２以下に分かれている状態である。
【００２４】
図５（ａ）、（ｂ）には、主なレジスタの構成例を示してある。
具体的には、図５（ａ）には、ｓｔａｃｋの構成例及びＥｘ−ｓｔａｃｋの構成例を示してある。また、図５（ｂ）には、ｄｅｌＭＡＰの構成例を示してある。
ｓｔａｃｋには、初期化において、全てのブロックが登録される。これを用いて、ブロック割り当て処理が開始される。ｓｔａｃｋ及びＥｘ−ｓｔａｃｋはスタック構造であり、アドレスが大きい方が先に利用される。
【００２５】
本例のｓｔａｃｋでは、単調にブロックが割り当てられていく場合には、まず、開始ブロック（ｓｔａｒｔ  ｃｈＢｌｋ）が０及びｃｈＢｌｋ数４で４つのブロック（Ｎｏ．が０〜３のブロック）が割り当てられ、次に、開始ブロックが４及びｃｈＢｌｋ数４で４つのブロック（Ｎｏ．が４〜７のブロック）が割り当てられ、・・・、次に、開始ブロックが４４及びｃｈＢｌｋ数４で４つのブロック（Ｎｏ．が４４〜４７のブロック）が割り当てられる。また、ｃｈＢｌｋ数２の場合についても、同様である。
また、本例のＥｘ−ｓｔａｃｋにおいても、同様に、開始ブロック（ｓｔａｒｔ  ｃｈＢｌｋ）及びｃｈＢｌｋ数が設定される。
なお、ｓｔａｃｋにおいて、初期の設定より大きいサイズのメモリ空間が用意されているのは、ｐｈａｓｅがｃｈＢ４からｃｈＢ２へ移行したときには、結合しているブロックが分割されて利用されることにより、倍のサイズが必要になるためである。
【００２６】
ｄｅｌＭＡＰは、半減する対象となるブロックを示し、また、ｐｈａｓｅを識別するためにも用いられる。
本例のｄｅｌＭＡＰでは、単調にブロック数が半減されていく場合には、まず、開始ブロック（ｓｔａｒｔ  ｃｈＢｌｋ）が０及び分割により新たに生成されるｃｈＢｌｋ数（新ｃｈＢｌｋ数）が２でｃｈＢｌｋ数４の４ブロック（Ｎｏ．が０〜３のブロック）が２組のｃｈＢｌｋ数２のブロックへ分割され、次に、開始ブロックが４及び新ｃｈＢｌｋ数２でｃｈＢｌｋ数４の４ブロック（Ｎｏ．が４〜７のブロック）が２組のｃｈＢｌｋ数２のブロックへ分割され、・・・、次に、開始ブロックが４４及び新ｃｈＢｌｋ数２でｃｈＢｌｋ数４の４ブロック（Ｎｏ．が４４〜４７のブロック）が２組のｃｈＢｌｋ数２のブロックへ分割される。このとき、ｃｈＢ４のｐｈａｓｅの状態からｃｈＢ２のｐｈａｓｅの状態へ移行する、つまり、ｃｈＢｌｋ数４のブロックが全てｃｈＢｌｋ数２のブロックへ分割された状態となる。
【００２７】
続いて、本例のｄｅｌＭＡＰでは、単調にブロック数が半減されていく場合には、まず、開始ブロックが０及び新ｃｈＢｌｋ数１でｃｈＢｌｋ数２の２ブロック（Ｎｏ．が０〜１のブロック）が２組のｃｈＢｌｋ数１のブロックへ分割され、次に、開始ブロックが２及び新ｃｈＢｌｋ数１でｃｈＢｌｋ数２の２ブロック（Ｎｏ．が２〜３のブロック）が２組のｃｈＢｌｋ数１のブロックへ分割され、・・・、次に、開始ブロックが４６及び新ｃｈＢｌｋ数１でｃｈＢｌｋ数２の２ブロック（Ｎｏ．が４６〜４７のブロック）が２組のｃｈＢｌｋ数１のブロックへ分割される。このとき、ｃｈＢｌｋ数２のブロックが全てｃｈＢｌｋ数１のブロックへ分割された状態となる。
【００２８】
ここで、ｄｅｌＭＡＰが全く使用されていないときには、ブロック数４（ｃｈＢｌｋ数４）のブロックのみの状態であることを示す。
また、ｄｅｌＭＡＰにおいて、図５（ｂ）に示されるｃｈＢ４とｃｈＢ２との境界より上側にあるときには、ブロック数４のブロックとブロック数２（ｃｈＢｌｋ数２）のブロックとが混在するｃｈＢ４のｐｈａｓｅの状態であることを示し、また、この境界より下側にあるときには、ブロック数２のブロックとブロック数１のブロックとが混在するｃｈＢ２のｐｈａｓｅの状態であることを示す。また、この境界では、ブロック数２のブロックのみの状態である。
また、ｄｅｌＭＡＰが空であるときには、全てのブロックがブロック数１（ｃｈＢｌｋ数１）の状態であることを示す。
【００２９】
次に、本例のＣＤＭＡ受信装置１の制御部１３により行われる処理の具体例を示す。
図６には、新たなチャネルにブロックを割り当てる処理のフローチャートを示してある。
ブロックの割り当て処理は、チャネルが新しく開かれた場合に発生する処理である。概略的には、ｓｔａｃｋ、Ｅｘ−ｓｔａｃｋ、ｄｅｌＭＡＰの順で、該当ブロックを求めていく。つまり、ｓｔａｃｋが空であれば、Ｅｘ−ｓｔａｃｋを探し、Ｅｘ−ｓｔａｃｋも空であれば、ｄｅｌＭＡＰに従って、既存チャネルの割り当てブロック数を半減して、新しいブロックの割り当てに使用する。
【００３０】
具体的には、ブロックを割り当てる対象となるチャネルが発生した場合には、まず、ｓｔａｃｋが空であるか否かを判定し（ステップＳ１）、空でない場合には、ｓｔａｃｋのレジスタ値（ｓｔａｒｔ  ｃｈＢｌｋ及びｃｈＢｌｋ数）に従ってｓｔａｃｋに格納されたブロックをチャネルに割り当て（ステップＳ２）、これをａｃｃＭＡＰに設定する（ステップＳ８）。
また、ｓｔａｃｋが空である場合には（ステップＳ１）、Ｅｘ−ｓｔａｃｋが空であるか否かを判定し（ステップＳ３）、空でない場合には、Ｅｘ−ｓｔａｃｋのレジスタ値（ｓｔａｒｔ  ｃｈＢｌｋ及びｃｈＢｌｋ数）に従ってＥｘ−ｓｔａｃｋに格納されたブロックをチャネルに割り当て（ステップＳ４）、これをａｃｃＭＡＰに設定する（ステップＳ８）。このとき、必要に応じて、ｃｈＢ１Ｔａｂｌｅの値を更新し、例えば、ブロック数が１であるチャネル数が１つ増えるときには１だけ増加させる。
【００３１】
Ｅｘ−ｓｔａｃｋも空である場合には（ステップＳ３）、ｄｅｌＭＡＰのレジスタ値（ｓｔａｒｔ  ｃｈＢｌｋ及び新ｃｈＢｌｋ数）に基づいて削減対象とするチャネルを特定し（ステップＳ５）、特定したチャネルのｃｈＢｌｋ数が削減（半減）済みであるか否かを判定し（ステップＳ６）、削減済みであれば、削減済みではないものを探す。
特定したチャネルのｃｈＢｌｋ数が削減（半減）済みではない場合には（ステップＳ６）、ｄｅｌＭＡＰのレジスタ値（ｓｔａｒｔ  ｃｈＢｌｋ及び新ｃｈＢｌｋ数）に基づいて削減対象となる当該チャネルのｃｈＢｌｋ数を半減し（ステップＳ７）、これをａｃｃＭＡＰに設定する（ステップＳ８）。このとき、必要に応じて、ｃｈＢ１Ｔａｂｌｅの値を更新し、例えば、ブロック数が１であるチャネル数が２つ増えるときには２だけ増加させる。
【００３２】
なお、削減対象となるチャネルのｃｈＢｌｋ数を半減するときには、例えば、ａｃｃＭＡＰに基づいてアドレス（ａｄｄ．）が確認される。
また、参照されるｄｅｌＭＡＰの新ｃｈＢｌｋ数は、削減対象と同数となる。つまり、４つのブロックが半減されて２つのブロックになる場合には新ｃｈＢｌｋ数は２であり、２つのブロックが半減されて１つのブロックになる場合には新ｃｈＢｌｋ数は１である。
【００３３】
ブロックの巻き取り処理の具体例を示す。
ブロックの巻き取りとしては２通りあり、一つは、パス数が少ないときにリソースを解放するものであり、もう一つは、チャネルが切断（ｃｌｏｓｅ）した場合に発生するものである。
図７には、チャネルにおけるパス数が少ないためにブロックを半減する処理のフローチャートを示してある。
本例では、チャネルにおけるパス数が割り当てられたブロック数によるフィンガ数の半分以下である場合に、ブロック数を半減させてリソースを有効に活用する。このような処理は、例えば、ｏｐｅｎ  ｓｅｑｕｅｎｃｅにおけるパスを検索するサーチ処理が終了した時点で、フィンガリソースの割り当てが行われた直後に行われる。ｃｌｏｓｅ  ｓｅｑｕｅｎｃｅによる巻き取りとは異なり、半減させたブロックをＥｘ−ｓｔａｃｋに格納するのみであるが、その際、ｄｅｌＭＡＰの該当するｃｈＢｌｋのＮｏ．（ｓｔａｒｔ  ｃｈＢｌｋ）を消去する。
【００３４】
具体的には、まず、対象となるチャネルについて、ｃｈＢｌｋ数が１であるか否かを判定し（ステップＳ１１）、１ではない場合には、ｃｈＢｌｋ数が４であるか否かを判定する（ステップＳ１２）。この結果、ｃｈＢｌｋ数が４ではない場合には、本例ではｃｈＢｌｋ数が２であり、ｐｈａｓｅがｃｈＢ２であるか否かを判定し（ステップＳ１３）、ｃｈＢ２である場合には、Ｅｘ−ｓｔａｃｋが空であるか否かを判定する（ステップＳ１４）。
【００３５】
上記において、ｃｈＢｌｋ数が４であるときと、ｃｈＢ２のｐｈａｓｅでｃｈＢｌｋ数が２であってＥｘ−ｓｔａｃｋが空であるときについて、場合分けし（ステップＳ１５）、続く処理を行う。なお、１つのブロックには４つのフィンガリソースが含まれるとする。
すなわち、ｃｈＢｌｋ数が４であるときには、仮に半減すると新ｃｈＢｌｋ数が２となることから比較パス数として８（＝２×４）を設定し（ステップＳ１６）、実際のパス数が８より大きいか否かを判定し（ステップＳ１７）、パス数が８以下である場合には、チャネルに割り当てられているｃｈＢｌｋ数４のブロックを半減してｃｈＢｌｋ数２のブロックとし、これにより余ったｃｈＢｌｋ数２のブロックをＥｘ−ｓｔａｃｋに格納（スタック）する（ステップＳ１８）。
【００３６】
同様に、ｃｈＢ２のｐｈａｓｅでｃｈＢｌｋ数が２であってＥｘ−ｓｔａｃｋが空であるときには、仮に半減すると新ｃｈＢｌｋ数が１となることから比較パス数として４（＝１×４）を設定し（ステップＳ１９）、実際のパス数が４より大きいか否かを判定し（ステップＳ２０）、パス数が４以下である場合には、チャネルに割り当てられているｃｈＢｌｋ数２のブロックを半減してｃｈＢｌｋ数１のブロックとし、これにより余ったｃｈＢｌｋ数１のブロックをＥｘ−ｓｔａｃｋに格納（スタック）するとともに、ｃｈＢ１Ｔａｂｌｅの値を例えば１増加させる（ステップＳ２１）。
【００３７】
ｃｈＢｌｋ数４の場合及びｃｈＢｌｋ数２の場合において、Ｅｘ−ｓｔａｃｋへのスタックが行われると（ステップＳ１８、ステップＳ２１）、ｄｅｌＭＡＰのポインタの値（例えば、ｓｔａｒｔ  ｃｈＢｌｋ）を抽出していき（ステップＳ２３）、該当するチャネルのものである場合には（ステップＳ２４）、ｄｅｌＭＡＰの巻き取りを行う（ステップＳ２５）。これにより、パス数に応じてブロック数を半減したチャネルについて、その結果をｄｅｌＭＡＰに反映させるようにｄｅｌＭＡＰを整理することができる。
【００３８】
また、上記において、ｃｈＢｌｋ数が１である場合や（ステップＳ１１）、ｃｈＢ４のｐｈａｓｅでｃｈＢｌｋ数が２である場合や（ステップＳ１３）、ｃｈＢ２のｐｈａｓｅでｃｈＢｌｋ数が２であるがＥｘ−ｓｔａｃｋが空ではない場合や（ステップＳ１４）、ｃｈＢｌｋ数４又はｃｈＢｌｋ数２において実際のパス数が閾値（８又は４）より大きい場合には（ステップＳ１７、ステップＳ２０）、対象となるチャネルについてはブロック数の半減処理は行わずに、他のチャネルを検索するなどの他の処理へ移行する（ステップＳ２２）。
【００３９】
図８及び図９には、ブロックの巻き取り処理のフローチャートの一例を示してある。
なお、本例では、ブロックの巻き取り処理は、ｃｌｏｓｅ  ｓｅｑｕｅｎｃｅにより発生し、また、巻き取ったブロックの結合処理や、ｐｈａｓｅによる切り替え処理があるため、ｏｐｅｎ  ｓｅｑｕｅｎｃｅと比べると複雑なフローになる。
概略的には、まず、巻き取ったブロック数とｐｈａｓｅを確認して、格納先を判断する。格納先が、Ｅｘ−ｓｔａｃｋであれば、結合相手を探し、相手があれば、拡張してｓｔａｃｋに格納する。拡張してｓｔａｃｋに戻す際には、ｄｅｌＭＡＰの設定も行う。また、巻き取り後には、ｐｈａｓｅがｃｈＢ２からｃｈＢ４へ移行するタイミングであるか否かを判断し、そのタイミングであれば、ｓｔａｃｋからＥｘ−ｓｔａｃｋへ移行させること或いは拡張して再度ｓｔａｃｋへ格納することを、格納されている全てのブロック（ｃｈＢｌｋ）に対して行い、ｐｈａｓｅを移行させる。
【００４０】
具体的には、まず、対象となるチャネルについて、ｃｈＢｌｋ数が４であるか否かを判定し（ステップＳ３１）、４ではない場合には、ｐｈａｓｅがｃｈＢ２であるか否かを判定する（ステップＳ３２）。この結果、ｐｈａｓｅがｃｈＢ２である場合には比較ｃｈＢｌｋ数を２に設定し（ステップＳ３３）、ｐｈａｓｅがｃｈＢ２ではなくｃｈＢ４である場合には比較ｃｈＢｌｋ数を４に設定する（ステップＳ３４）。
次に、ｃｈＢｌｋ数と比較ｃｈＢｌｋ数とが一致するか否かを判定する（ステップＳ３５）。一致しない場合は、ｐｈａｓｅがｃｈＢ４でｃｈＢｌｋ数が２である場合や、ｐｈａｓｅがｃｈＢ２でｃｈＢｌｋ数が１である場合であり、ｃｈＢｌｋ数が１であるか否かを判定し（ステップＳ３６）、１であれば、ｃｈＢ１Ｔａｂｌｅの値を例えば１減らすように更新する（ステップＳ３７）。
【００４１】
次に、ブロックの番号（ｃｈＢｌｋ  Ｎｏ．）が奇数であるか否かを判定し（ステップＳ３８）、奇数ではなく偶数である場合には、ｃｈＢｌｋ数が２であるか否かを判定し（ステップＳ３９）、２ではない場合には、ブロックの番号（ｃｈＢｌｋ  Ｎｏ．）が４の倍数であるか否かを判定する（ステップＳ４０）。
【００４２】
ｐｈａｓｅがｃｈＢ４でｃｈＢｌｋ数が２である場合や（ステップＳ３９）、ｐｈａｓｅがｃｈＢ２でｃｈＢｌｋ数が１でありｃｈＢｌｋ  Ｎｏ．が４の倍数である場合には（ステップＳ４０）、Ｅｘ−ｓｔａｃｋが空であるか否かを判定し（ステップＳ４１）、空であれば、巻き取られるブロックをＥｘ−ｓｔａｃｋに格納するように設定し（ステップＳ４９）、ブロック割り当て済みのチャネル数（ｃｈＢＴｏｔａｌ）を１減らすように更新する（ステップＳ５０）。一方、Ｅｘ−ｓｔａｃｋが空でなければ（ステップＳ４１）、Ｅｘ−ｓｔａｃｋの格納内容を抽出し（ステップＳ４２）、抽出したブロックの番号（ｃｈＢｌｋ  Ｎｏ．）が巻き取り対象となっているブロックに対して下半分のものであるか否かを判定し（ステップＳ４３）、そうであれば、これらのブロックを結合して、Ｅｘ−ｓｔａｃｋから巻き取り、ｄｅｌＭＡＰを設定する（ステップＳ４７）。
【００４３】
また、ｐｈａｓｅがｃｈＢ２でｃｈＢｌｋ数が１である場合や（ステップＳ３９）、ｐｈａｓｅがｃｈＢ２でｃｈＢｌｋ数が１でありｃｈＢｌｋ  Ｎｏ．が４の倍数ではない場合には（ステップＳ４０）、Ｅｘ−ｓｔａｃｋが空であるか否かを判定し（ステップＳ４４）、空であれば、巻き取られるブロックをＥｘ−ｓｔａｃｋに格納するように設定し（ステップＳ４９）、ブロック割り当て済みのチャネル数（ｃｈＢＴｏｔａｌ）を１減らすように更新する（ステップＳ５０）。一方、Ｅｘ−ｓｔａｃｋが空でなければ（ステップＳ４４）、Ｅｘ−ｓｔａｃｋの格納内容を抽出し（ステップＳ４５）、抽出したブロックの番号（ｃｈＢｌｋ  Ｎｏ．）が巻き取り対象となっているブロックに対して上半分のものであるか否かを判定し（ステップＳ４６）、そうであれば、これらのブロックを結合して、Ｅｘ−ｓｔａｃｋから巻き取り、ｄｅｌＭＡＰを設定する（ステップＳ４７）。
【００４４】
上記において、ｐｈａｓｅがｃｈＢ４でｃｈＢｌｋ数が４である場合や（ステップＳ３１）、ｐｈａｓｅがｃｈＢ２でｃｈＢｌｋ数が２である場合や（ステップＳ３５）、他の状態においてブロックの結合を行った場合には（ステップＳ４７）、ブロックをｓｔａｃｋに格納するように設定する（ステップＳ４８）。
【００４５】
ここから、上記の処理の続きとして、ｐｈａｓｅをｃｈＢ２からｃｈＢ４へ切り替える処理に関して説明する。
まず、対象となるブロックについて、ｃｈＢｌｋ数が４であるか否かを判定し（ステップＳ６１）、４でなければ、ｃｈＢ１Ｔａｂｌｅが空であるか否かを判定し（ステップＳ６２）、空であれば、ｃｈＢｌｋ数２が格納されているｓｔａｃｋがｃｈＢｌｋ数４にできるかどうか判断するために、ｓｔａｃｋに格納された全ｃｈＢｌｋを判定する（ステップＳ６３）。これらの結果、ｃｈＢｌｋ数が４である場合や（ステップＳ６１）、ｃｈＢｌｋ数が４ではないがｃｈＢ１Ｔａｂｌｅが空ではない場合には（ステップＳ６２）、ブロック割り当て済みのチャネル数（ｃｈＢＴｏｔａｌ）を１減らし、クローズ処理終了となる（ステップＳ５０）。また、ｃｈＢｌｋ数が４ではなくｃｈＢ１Ｔａｂｌｅが空であるがｓｔａｃｋ領域全てを確認し終えたあとには（ステップＳ６３）、ｓｔａｃｋのポインタを更新して（ステップＳ６４）、ブロック割り当て済みのチャネル数（ｃｈＢＴｏｔａｌ）を１減らし、クローズ処理終了となる（ステップＳ５０）。
【００４６】
上記において、ｃｈＢｌｋ数が４ではなくｃｈＢ１Ｔａｂｌｅが空である場合には、ｓｔａｃｋの格納内容を抽出し（ステップＳ６５）、Ｅｘ−ｓｔａｃｋが空であるか否かを判定し（ステップＳ６６）、Ｅｘ−ｓｔａｃｋが空であれば、ｓｔａｃｋから抽出したブロックをＥｘ−ｓｔａｃｋに格納するように設定し（ステップＳ６７）、再びｓｔａｃｋの抽出処理へ移行する（ステップＳ６５）。
【００４７】
一方、Ｅｘ−ｓｔａｃｋが空でなければ（ステップＳ６６）、ｓｔａｃｋから抽出したブロックの番号（ｃｈＢｌｋ  Ｎｏ．）が４の倍数であるか否かを判定する（ステップＳ６８）。
この判定の結果、ブロックの番号が４の倍数である場合には、Ｅｘ−ｓｔａｃｋの格納内容から当該ブロックに対して下半分に該当するｃｈＢｌｋ  Ｎｏ．を検索するように設定し（ステップＳ６９）、また、ブロックの番号が４の倍数ではない場合には、Ｅｘ−ｓｔａｃｋの格納内容から当該ブロックに対して上半分に該当するｃｈＢｌｋ  Ｎｏ．を検索するように設定する（ステップＳ７０）。
【００４８】
そして、Ｅｘ−ｓｔａｃｋの格納内容を抽出して（ステップＳ７１）、抽出結果が検索対象として設定したｃｈＢｌｋ  Ｎｏ．と一致するか否かを判定し（ステップＳ７２）、一致する場合には、これらのブロックを結合して、ｓｔａｃｋに格納するように設定し、ｄｅｌＭＡＰに設定し（ステップＳ７３）、Ｅｘ−ｓｔａｃｋの巻き取りを行い（ステップＳ７４）、その後、ｓｔａｃｋ領域全てを確認したかどうかを判定する処理へ移行する（ステップＳ６３）。また、Ｅｘ−ｓｔａｃｋからの抽出結果が検索対象として設定したｃｈＢｌｋ  Ｎｏ．と一致しない場合には（ステップＳ７２）、Ｅｘ−ｓｔａｃｋが空であるか否かを判定する処理へ移行する（ステップＳ６６）。
このような処理により、例えば、隣り合う２つのｃｈＢｌｋ数２のブロックを見つけて、これらのブロックを結合して、１つのｃｈＢｌｋ数４のブロックを生成するようなことができる。
【００４９】
以上のように、本例のＣＤＭＡ受信装置１では、無線機において、複数のフィンガリソースを束ねたものを単位（ブロック）として、単位であるブロック毎にフィンガリソースの割り当てを行う。また、単位であるブロックが１つのチャネルに対する最低フィンガリソース数を保証する仕組みになっている。また、単位であるブロックについて複数個の結合や分解を行う仕組みを備えている。また、単位であるブロックの結合や分解を行うために、組み数のphaseを求める仕組みを備えている。また、１つのチャネルに対するフィンガリソースの割り当て数が、収容チャネル数に応じて増減される仕組みを備えている。また、１つのチャネルに対するフィンガリソースの割り当てが、パス数に応じて調整される仕組みを備えている。
【００５０】
このように、本例のＣＤＭＡ受信装置１では、フィンガリソースを複数まとめて１つのブロックとし、このようなブロックを結合や分解することで、フィンガリソースの配分を可変することを可能とした。
従って、ＣＤＭＡ受信システムにおいて要求されるフィンガリソースの冗長性を減らして、限られたフィンガリソースを最大限に有効に活用することが可能となる。
【００５１】
一例として、収容チャネル数が最大の３２チャネルであるときには、低レートのサービスであるため、最低保証フィンガ数で十分であり、また、高レートのサービスが入ってきた場合には、収容チャネル数が減るため、その分を高レートサービスのフィンガリソースに配分することが可能である。本例では、このような特性を利用して、最低保証のフィンガリソース数を基準に小さい冗長性を設けるだけで、無線特性の劣化を抑えながらリソースの有効活用が可能になる。
【００５２】
例えば、３２ユーザを収用する２アンテナ受信ダイバーシティ方式の基地局装置では、１ユーザ当り８フィンガを割り当てるときには、５１２フィンガのリソースが必要になっていたのに対して、本例では、最低保証フィンガ数を４として、ブロック単位を４フィンガとしてあり、つまり、フィンガリソースは４分の１である１２８フィンガ（＝３２ユーザ×４フィンガ）となる。
このように、リソース規模を大幅に抑えられることで、例えば、ＦＰＧＡであれば、規模の小さいデバイスヘの置き換えが可能であり、また、ＤＳＰであれば、パフォーマンスを落としたもの（例えば、低価格なもの）を選択することができ、すなわち、コスト低減の効果がある。
【００５３】
なお、本例のＣＤＭＡ受信装置１では、フィンガリソース部１１に複数のフィンガリソースが備えられており、また、制御部１３が、４つのフィンガリソースをまとめたブロックを単位として、通信状況に応じて、レジスタ部１２のレジスタ値を参照して、各チャネルに対するフィンガリソースの割り当て状態を変更する処理を制御する機能により、割り当て制御手段が構成されており、また、制御部１３が、フィンガリソースの割り当て状態に従って各チャネルの受信信号が処理されるように制御する機能により、通信制御手段が構成されている。
【００５４】
ここで、本発明に係るシステムや各装置などの構成としては、必ずしも以上に示したものに限られず、種々な構成が用いられてもよい。また、本発明は、例えば、本発明に係る処理を実行する方法或いは方式や、このような方法や方式を実現するためのプログラムや当該プログラムを記録する記録媒体などとして提供することも可能であり、また、種々な装置やシステムとして提供することも可能である。
また、本発明の適用分野としては、必ずしも以上に示したものに限られず、本発明は、種々な分野に適用することが可能なものである。
また、本発明に係るシステムや各装置などにおいて行われる各種の処理としては、例えばプロセッサやメモリ等を備えたハードウエア資源においてプロセッサがＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）に格納された制御プログラムを実行することにより制御される構成が用いられてもよく、また、例えば当該処理を実行するための各機能手段が独立したハードウエア回路として構成されてもよい。
また、本発明は上記の制御プログラムを格納したフロッピー（登録商標）ディスクやＣＤ（Ｃｏｍｐａｃｔ  Ｄｉｓｃ）−ＲＯＭ等のコンピュータにより読み取り可能な記録媒体や当該プログラム（自体）として把握することもでき、当該制御プログラムを当該記録媒体からコンピュータに入力してプロセッサに実行させることにより、本発明に係る処理を遂行させることができる。
【図面の簡単な説明】
【００５５】
【図１】本発明の一実施例に係るＣＤＭＡ受信装置の構成例を示す図である。
【図２】ブロックの組み合わせの一覧の一例を示す図である。
【図３】収容チャネル数に基づくブロック割り当ての一例を示す図である。
【図４】ｐｈａｓｅの状態の一例を示す図である。
【図５】（ａ）、（ｂ）はレジスタ構成の一例を示す図である。
【図６】ブロック割り当て処理の手順の一例を示す図である。
【図７】パス数によるブロック割り当ての半減処理の手順の一例を示す図である。
【図８】ブロックの巻き取り処理の手順の一例を示す図である。
【図９】ブロックの巻き取り処理の手順の一例を示す図である。
【符号の説明】
【００５６】
１・・ＣＤＭＡ受信装置、  １１・・フィンガリソース部、  １２・・レジスタ部、  １３・・制御部、
【図１】
2007124042.tif 000003
【図２】
2007124042.tif 000004
【図３】
2007124042.tif 000005
【図４】
2007124042.tif 000006
【図５】
2007124042.tif 000007
【図６】
2007124042.tif 000008
【図７】
2007124042.tif 000009
【図８】
2007124042.tif 000010
【図９】
2007124042.tif 000011