以下に述べる実施の形態におけるデータチャネルとは、DPDCHとE−DPCCHとを示す。また、以下に述べる本実施の形態におけるDPDCHは、DCHが乗っている場合、E−DCHが乗っている場合、E−DPCCHが乗っている場合、HS−DPCCHが乗っている場合、DCH、E−DCH、E−DPCCH、HS−DPCCHのうち複数が多重して乗っている場合を考慮している。
また、ゲインファクタの異なるデータチャネルとは、DPDCHとE−DPCCHのようにチャネルの種類が異なる場合と、DCHが乗っているDPDCHとE−DCHが乗っているDPDCHのように、あるチャネル(例えば、DPDCH)に乗っているチャネル(この場合、DCHかE−DCH)によって、チャネルの性能が異なる場合の両方または一方を指す。
ゲインファクタは、係数の一例である。係数は、ゲインファクタそのものでもよいし、ゲインファクタに乗算される数値などであってもよい。以下では、ゲインファクタを係数ともいう。
実施の形態1.
図1は、本実施の形態におけるCDMA端末(携帯電話などの通信装置)である。送信側では、まず、プロトコル処理部900において、送信チャネルの設定を行う。次に、送信部901において、送信チャネルの処理を行う。そして変調部902において、スクランブリングコード発生器903とチャネライゼーションコード発生器904を用いて、図29に示したようなコードの多重と拡散を行う。制御部905は、チャネライゼーションコード発生器904から出力されるチャネライゼーションコードを設定する。変調部902で変調された信号は、デジタル/アナログ(D/A)コンバータ906において、アナログ信号に変換され、周波数変換部907にてRF(Radio Frequency)信号に変換し、電力増幅部908において、所望の電力に増幅し、アンテナ909より送信される。受信側では、アンテナ909より受信した微弱な信号を、低雑音増幅部910において、増幅し、周波数変換部911にてベースバンド信号に変換し、受信部912で復調しプロトコル処理部900に渡す。
図2は、本実施の形態におけるCDMA端末とデータを送受信するCDMA基地局(Node−B)である。送信側では、基地局制御装置3100から送信すべき信号を送信部3101に渡し、送信部3101において、信号を変調し、周波数変換部3103にてRF(Radio Frequency)信号に変換し、電力増幅部3104において、所望の電力に増幅し、アンテナ3105より送信される。受信側では、アンテナ3105より受信した微弱な信号を、低雑音増幅部3106において増幅し、周波数変換部3107にてベースバンド信号に変換し、アナログ/デジタル(A/D)コンバータ3108によりデジタル信号に変換する。その後、復調部3109において、チャネライゼーションコード発生器3110とスクランブリングコード発生器3111を用いて復調する。制御部3102は、チャネライゼーションコード発生器3110から出力されるチャネライゼーションコードを設定する。その後、受信部3112において、チャネルでデコードを行い、基地局制御装置3100に渡す。
図3は、本発明の実施の形態1に係る通信装置に設けられた制御部905(または制御部3102。以下、同じ。)のブロック図である。制御部905は、プロトコル処理部900から、チャネル割り当てに必要な情報を入力する。例えば、I、Qのチャネルに多重されるチャネルの数とその種類と性能とゲインファクタなどが入力される。制御部905は、CPU(中央処理装置)10を備えている。CPU10は、制御部905の動作を制御するものであり、以下に述べる各部とバスで接続され各部の動作を実行し或いは各部に動作を実行させるものである。また、CPU10は、バスを介して、記憶部15と接続されている。記憶部15は、ROM(Read Only Memory)、RAM(Random Access Memory)、FDD(Flexible Disk Drive)、CDD(Compact Disk Drive)、磁気ディスク装置、光ディスク装置などである。RAMは、揮発性メモリの一例である。ROM、FDD、CDD、磁気ディスク装置、光ディスク装置は、不揮発性メモリの一例である。
図3に示す制御部905の各部が扱うデータや情報は、記憶部15に保存され、制御部905の各部により、記録され読み出される。また、記憶部15には、オペレーティングシステム(OS)、ウィンドウシステム、プログラム群、ファイル群(データベース)が記憶されている。プログラム群は、CPU、OS、ウィンドウシステムにより実行される。制御部905の各部は、一部或いは全てコンピュータで動作可能なプログラムにより構成しても構わない。或いは、ROMに記憶されたファームウェアで実現されていても構わない。或いは、ソフトウェア或いは、ハードウェア或いは、ソフトウェアとハードウェアとファームウェアとの組み合わせで実施されても構わない。上記プログラム群には、実施の形態の説明において「〜部」として説明する処理をCPUに実行させるプログラムが記憶される。
制御部905の各部について説明する。制御部905は、チャネライゼーションコードの可能な組み合わせを全て作成するコード組み合わせ作成部11を備えている。また、制御部905は、コード組み合わせ作成部11が作成したチャネライゼーションコードの組み合わせ毎に、複数のチップ間の位相変化をそれぞれ算出するチップ間位相変化算出部12を備えている。また、制御部905は、チップ間位相変化算出部12が算出した複数のチップ間の位相変化それぞれにより生じるオーバーシュートの和が少ないチャネライゼーションコードの組み合わせを計算で求めて、使用するコードの組み合わせとして決定するコード組み合わせ決定部13を備えている。また、制御部905は、コード組み合わせ決定部13が決定したコード組み合わせに基づいて、チャネライゼーションコードの割り当てをチャネライゼーションコード発生器904へ指示するコード割当指示部14を備えている。上記チップ間位相変化算出部12は、1チップ目と2チップ目との位相変化と3チップ目と4チップ目との位相変化とを求める。また、上記コード組み合わせ決定部13は、1チップ目と2チップ目との位相変化と3チップ目と4チップ目との位相変化とがそれぞれ0度または180度に近いチャネライゼーションコードの組み合わせを、使用するコードの組み合わせとして決定する。
図4、図5、図6は、実施の形態1における通信装置が基地局に対してデータを送信する上りのデータチャネルの多重送信の図である。本実施の形態では、DPDCHの他、TR25.896に記載された制御チャネルであるE−DPCCHもコード割り当ての際には、データチャネルとして扱っている。このため、各図中のデータチャネルは、DPDCHのほか、制御チャネルであるE−DPCCHも含んでいる。また、DPDCHは、DCHを乗せている場合、E−DCHを乗せている場合、E−DPCCHを乗せている場合、HS−DPCCHを乗せている場合、DCH、E−DCH、E−DPCCH、HS−DPCCHのうち複数を多重して乗せている場合を考慮している。また、HS−DPCCHは、図4に示す現在の仕様のように、データチャネルの多重数によってI、Qに多重される方法と、図5のようにQ側に固定する方法と、図6のようにI側に固定する方法の3通り考えられるが、どの方法にも提案手法は対応できる。また、HS−DPCCHが存在しない場合にも対応できる。また、データチャネルが多重できる本数は、従来と同じ6本までとする(多重数N≦6)。図中のゲインファクタβ1〜β8は、0≦β≦1である。また、点線でかかれているチャネルは、存在する場合も、存在しない場合も考慮している。つまり、データチャネルの本数N(多重数N)がいくつであっても、データチャネルの種類が何であっても、またデータチャネルの性能に関わらず、適応できるようにしている。また、最初のデータチャネルの多重数と性能でチャネライゼーションコードの割り当てを決定しそれを最後まで維持する場合と、フレーム毎にチャネライゼーションコードの割り当てを決定する場合の両方に適用できる。
実施の形態1では、チャネライゼーションコードの割り当てを次のように定める。与えられたデータチャネルと制御チャネルに対して、考えられうる全てのチャネライゼーションの組み合わせについて、1チップ目から2チップ目への遷移θ1(位相変化α)および3チップ目から4チップ目への遷移θ2(位相変化β)を求める。各々の遷移については、0度または180度になると最もオーバーシュートが小さくなるためPARが小さくなり、90度になると最もオーバーシュートが大きくなるためPARが大きくなる。このため、なるべく0度または180度に近くなり、なるべく90度から離れるようにチャネライゼーションコードを割り当てるのが望ましい。つまり、sin2θ1+sin2θ2が最小となる組み合わせを求めれば、最も理想に近い組み合わせを得ることができる。
図7に、実施の形態1における制御部905が実行するチャネライゼーションコードの割り当て方のフローチャートを示す。まず、STEP1300において、コード組み合わせ作成部11が、Numをチャネライゼーションコードの組み合わせ数、Tを全てのチャネライゼーションコードの組み合わせの集合、Dは2に初期化し記憶部15に記憶する。STEP1301において、コード組み合わせ作成部11が、Num=Num−1としてTから任意に1つの組み合わせを選びC1とし、Tから選んだ組み合わせを記憶部15から消去し記憶部15を更新する。STEP1302において、チップ間位相変化算出部12が、チャネルに組み合わせC1を割り当てた時の1チップ目から2チップ目への遷移θ1を求め記憶部15に記憶する。STEP1303においても、チップ間位相変化算出部12が、STEP1302と同様にチャネルに組み合わせC1を割り当てた時の3チップ目から4チップ目への遷移θ2を求め記憶部15に記憶する。STEP1304において、コード組み合わせ決定部13が、D1=sin2θ1+sin2θ2とし記憶部15に記憶する。STEP1305において、コード組み合わせ決定部13が、D1<Dであるか判定する。D1<DならSTEP1306を実行する。D1<DでなければSTEP1307を実行する。STEP1306において、コード組み合わせ決定部13が、C=C1、D=D1とし記憶部15に記憶する。STEP1307において、Num>0ならばSTEP1301に戻る。Num≦0ならばSTEP1308を実行する。STEP1308において、コード割当指示部14が、記憶部15に記憶されたCを最適な組み合わせとし、これに基づき各データチャネルにチャネライゼーションコードを割り当てる。コード割当指示部14は、チャネライゼーションコードの割り当てをチャネライゼーションコード発生器904へ通知する。
この実施の形態によれば、オーバーシュートの少ないチャネライゼーションコードの組み合わせを計算で自動で求めることができる。また、1チップ目と2チップ目との位相変化と3チップ目と4チップ目との位相変化とがそれぞれ0度または180度に近いチャネライゼーションコードの組み合わせを求めているので、位相変化が90度から離れることになり、オーバーシュートがなくなる。また、IチャネルとQチャネルの1チップ目と2チップ目との位相変化αと、IチャネルとQチャネルの3チップ目と4チップ目との位相変化βとを求めているので、奇数チップと偶数チップとの間での位相変化に基づいたオーバーシュートを低減させることができる。
実施の形態2.
図8は、実施の形態2における通信装置が基地局に対してデータを送信する上りのデータチャネルの多重送信を説明する説明図である。本実施の形態では、DPDCHのほか、制御チャネルであるE−DPCCHもコード割り当ての際には、データチャネルとして扱っているため、図中のデータチャネルは、DPDCHのほか、制御チャネルであるE−DPCCHも含んでいる。実施の形態2では、多重する制御チャネルとしてHS−DPCCHがない場合を考えている。また、DPDCHは、DCHを乗せている場合、E−DCHを乗せている場合、E−DPCCHを乗せている場合、HS−DPCCHを乗せている場合、DCH、E−DCH、E−DPCCH、HS−DPCCHのうち複数を多重して乗せている場合を考慮している。図中のゲインファクタβ1〜β6は、0≦β≦1である。また、図中の点線部は、データチャネルが存在しない場合も考慮している。つまり、データチャネルの本数Nがいくつであっても、データチャネルの種類が何であっても、またデータチャネルの性能に関わらず、適応できるようにしている。また、最初のデータチャネルの多重数と性能でチャネライゼーションコードの割り当てを決定しそれを最後まで維持する場合と、フレーム毎にチャネライゼーションコードの割り当てを決定する場合の両方に適用できる。
実施の形態1では、チャネライゼーションコードの組み合わせ毎に、複数のチップ間の位相変化をそれぞれ算出し、複数のチップ間の位相変化それぞれにより生じるオーバーシュートの和が少ないチャネライゼーションコードの組み合わせを計算により求めていた。より具体的には、オーバーシュートの和が少ないチャネライゼーションコードの組み合わせを求めるため、1チップ目と2チップ目との位相変化と3チップ目と4チップ目との位相変化とがそれぞれ0度または180度に近いチャネライゼーションコードの組み合わせを求めていた。これに対して、以下説明する実施の形態2では、ゲインファクタの大きいチャネルからチャネライゼーションコードの割り当てを行い、奇数チップ目から偶数チップ目への位相変化がなるべく0度または180度に近くなり、なるべく90度から離れるようにする方法である。また、実施の形態2では、DPCCHのゲインファクタが非常に小さいことを利用し、DPCCHが位相変化には、影響を及ぼさないものとしている。
チャネライゼーションコードC4,0とC4,1のみを使用した時の奇数チップ目から偶数チップ目への位相変化は、ゲインファクタを変えても常に0度になっている。以下の計算式でこれを証明する。I側、Q側のチャネルが共にC4,0=(1、1、1、1)、C4,1=(1、1、−1、−1)しか用いていないので、どんなチャネルであっても、どんなゲインファクタであっても、多重数が何本であっても、次のように表すことができる。以下のβ1〜β4は実数である。
I=β1+β2、β1+β2、β1−β2、β1−β2
Q=β3+β4、β3+β4、β3−β4、β3−β4
以上のように、奇数チップ目から偶数チップ目にかけて位相変化は、0度になっている。また、チャネライゼーションコードC4,2とC4,3のみを使用した時の奇数チップ目から偶数チップ目への位相変化は、ゲインファクタを変えても常に180度になっている。I側、Q側のチャネルが共にC4,2=(1、−1、1、−1)、C4,3=(1、−1、−1、1)しか用いていないので、どんなチャネルであってもどんなゲインファクタであっても、多重数が何本であっても、次のように表すことができる。以下のβ1〜β4は、実数である。
I=β1+β2、−β1−β2、β1−β2、−β1+β2
Q=β3+β4、−β3−β4、β3−β4、−β3+β4
以上のように、奇数チップ目から偶数チップ目にかけて位相変化は、180度になっている。
チャネライゼーションコードC4,0とC4,1とチャネライゼーションコードC4,2とC4,3とがI側ないしQ側に混ざると位相変化が90度に近くなる。そこで、C4,0、C4,1とC4,2、C4,3とがなるべく混ざらないようすることが求められる。具体的には、なるべくI側とQ側でどちらもC4,0かC4,1のみを用いる組み合わせ、もしくはI側とQ側でどちらもC4,2かC4,3のみを用いる組み合わせでチャネライゼーションコードを割り当てる必要がある。C4,0またはC4,1が割り当てられているデータチャネルのゲインファクタの合計をβ01とし、C4,2またはC4,3が割り当てられているデータチャネルのゲインファクタの合計をβ23とすると、θがなるべく90度にならないようにするには、β01を大きくしてβ23を小さくするか、β23を大きくしてβ01を小さくする、すなわち、なるべくゲインファクタの大きいチャネルからC4,0とC4,1を割り当てる、または、C4,2とC4,3を割り当てる方法が有力である。本実施の形態におけるゲインファクタの異なるチャネルとは、E−DPCCHとDPDCHのようにチャネルの種類が異なる場合と、同じDPDCHでもDCHを乗せている時とE−DCHを乗せている時のようにチャネルの性能が異なる場合の両方または一方を指す。
図9は、実施の形態2における制御部905のブロック図である。制御部905は、プロトコル処理部900で計算して求められたゲインファクタβ1〜β6に基づいて、ゲインファクタの大きいチャネルから、所定のチャネライゼーションコードを割り当てるゲインファクタ別コード割当部21(係数別コード割当部ともいう。)を備えている。また、ゲインファクタ別コード割当部21によりチャネライゼーションコードが割り当てられなかった未割り当てのチャネルに対して、上記所定のチャネライゼーションコード以外のチャネライゼーションコードを割り当てる残コード割当部22を備えている。また、ゲインファクタ別コード割当部21と残コード割当部22とが割り当てたチャネライゼーションコードの割り当てを指示するコード割当指示部14を備えている。
実施の形態2におけるチャネライゼーションコードの割り当て方のフローチャートを図10に示す。STEP1500において、ゲインファクタ別コード割当部21は、多重されているデータチャネルの多重数Nが3以下であるか判定する。多重数Nが3以下であるならばSTEP1501を、多重数Nが4以上ならばSTEP1502を実行する。STEP1501では、ゲインファクタ別コード割当部21は、全てのデータチャネルに対してチャネライゼーションコードC4,0かC4,1、または、全てのデータチャネルに対してチャネライゼーションコードのC4,2かC4,3を割り当て、記憶部15に記憶する。STEP1502では、ゲインファクタ別コード割当部21は、I側で多重されるデータチャネルのうち、ゲインファクタの大きなチャネルから2つのデータチャネルにチャネライゼーションコードC4,2かC4,3のいずれかを割り当て、記憶部15に記憶する。STEP1503では、残コード割当部22は、I側にチャネライゼーションコードが割り当てられていないデータチャネルが存在するか判定する。存在すればSTEP1504を実行する。存在しない場合は、STEP1505を実行する。STEP1504では、残コード割当部22は、チャネライゼーションコードが割り当てられていないI側のデータチャネルにC4,0かC4,1のいずれかを割り当て、記憶部15に記憶する。
STEP1505では、ゲインファクタ別コード割当部21は、Q側で多重されるデータチャネルに対してもI側と同様にチャネライゼーションコードを割り当てる。つまり、Q側のゲインファクタの大きなデータチャネルから2つのデータチャネルにチャネライゼーションコードC4,2かC4,3のいずれかを割り当て、記憶部15に記憶する。STEP1506では、残コード割当部22は、Q側にチャネライゼーションコードが割り当てられていないデータチャネルが存在するか判定する。存在すればSTEP1507を実行する。存在しない場合は終了する。STEP1507では、残コード割当部22は、Q側にチャネライゼーションコードが割り当てられていないデータチャネルに、チャネライゼーションコードC4,1を割り当て、記憶部15に記憶する。この実施の形態によれば、ゲインファクタが大きい2つのチャネルのオーバーシュートがなくなる効果がある。
実施の形態3.
実施の形態2では、ゲインファクタの大きいチャネルからチャネライゼーションコードの割り当てを行い、奇数チップ目から偶数チップ目への位相変化がなるべく0度または180度に近くなり、なるべく90度から離れるようにしていた。より具体的には、チャネライゼーションコードC4,0とC4,1とチャネライゼーションコードC4,2とC4,3とがI側ないしQ側に混ざると位相変化が90度に近くなるので、上記実施の形態2では、例えば、なるべくI側とQ側でどちらもC4,0かC4,1のみを用いる組み合わせ、もしくはI側とQ側でどちらもC4,2かC4,3のみを用いる組み合わせでチャネライゼーションコードを割り当てていた。以下説明する実施の形態3では、データチャネルのゲインファクタではなく、データチャネルの種類と性能によって、すなわち、データチャネルのデータ量によってチャネライゼーションコードの割り当て方を決めるものである。データチャネルのデータ量は、例えば、データチャネルがE−DPCCHとDPDCHのように、そのデータチャネルの種類によって異なる。また、データチャネルの種類が同じであっても、乗せているチャネルによって異なる。具体的には、DCHを乗せているDPDCHとE−DCHを乗せているDPDCHは同じ種類のDPDCHであるが、乗せているチャネルによって性能は異なる。したがって、データチャネルのデータ量はチャネルの性能によっても異なる。
以下の説明では、各データチャネルのデータ量の大きさは下記のようになっているものとしてチャネライゼーションコードの割り当てを行うものとする。(1)DPCCHは、データ量が少ないため、チャネライゼーションコードの割り当てには影響を及ぼさない。(2)チャネルの種類による違いとして、E−DPCCHは、DPDCHよりデータ量が大きい。(3)チャネルの性能による違いとして、DPDCHに乗せるDCH、E−DCH、E−DPCCH、HS−DPCCHのデータ量の大きさは、E−DPCCH≧E−DCH≧DCH=HS−DPCCHとする。(4)DCH、E−DCH、E−DPCCH、HS−DPCCHのうち複数を多重して乗せているDPDCHは、DCH、E−DCH、E−DPCCH、HS−DPCCHのうち1つだけしか乗せていないDPDCHよりデータ量が大きい。(5)DCH、E−DCH、E−DPCCH、HS−DPCCHのうち複数を多重して乗せているDPDCH同士の場合は、多重数の大きいDPDCHの方が、データ量が大きい。(6)DCH、E−DCH、E−DPCCH、HS−DPCCHのうち複数を多重して乗せているDPDCH同士で、多重数も同じDPDCH同士の場合で、どちらか片方がE−DPCCHを含む場合は、E−DPCCHを含むDPDCHの方が、データ量が大きい。(7)DCH、E−DCH、E−DPCCH、HS−DPCCHのうち複数を多重して乗せているDPDCH同士で、多重数も同じDPDCH同士の場合で、どちらも片方がE−DPCCHを含まない場合は、E−DCHを含まないDPDCHの方が、データ量が小さく、また、どちらもE−DCHを含む場合は、データ量は同じとする。
図11は、実施の形態3における通信装置の制御部905のブロック図である。制御部905は、データ量の多いチャネルから、所定のチャネライゼーションコードを割り当てるデータ量別コード割当部31を備えている。また、データ量別コード割当部31によりチャネライゼーションコードが割り当てられなかった未割り当てのチャネルに対して、上記所定のチャネライゼーションコード以外のチャネライゼーションコードを割り当てる残コード割当部22を備えている。また、データ量別コード割当部31と残コード割当部22とが割り当てたチャネライゼーションコードの割り当てを指示するコード割当指示部14を備えている。図12から図16は、それぞれ実施の形態3における通信装置が、多重数Nが2から6のデータチャネルを多重して、基地局に対してデータを送信する上りデータチャネルの多重送信の説明図である。図12から図14に示すように、HS−DPCCHがない場合で、多重数Nが4以下の場合には、データチャネルの種類によってコード割り当てが変わることはなく、特開2002−33716号公報に示してある既存の方法で対応できる。
図15、図16のように多重数N≧5の場合は、チャネルの種類によってデータ量別コード割当部31のコードの割り当て方が変わる。データ量別コード割当部31は、図15に示すように、I側のチャネルでは、E−DCH、DCH、E−DPCCHが多重しているDPDCH1やE−DCHが乗っているDPDCH5のように、データ量の大きいデータチャネルにチャネライゼーションコードC4,2またはC4,3のいずれかを割り当てる。残コード割当部22は、DPDCH3のようにDCHのみ乗っているデータ量の比較的小さいデータチャネルにC4,0かC4,1のいずれかを割り当てる。多重数N=5の場合は、Q側のチャネルには、データチャネルのデータ量に関わらず(ゲインファクタに関わらず)、C4,2とC4,3を割り当てる。
データ量別コード割当部31は、図16に示すように、I側では、E−DCHが乗っているDPDCH5のようにデータ量の大きなデータチャネルにチャネライゼーションコードC4,2またはC4,3のいずれかを割り当てる。DPDCH1とDPDCH3のようにチャネルの種類が同じ場合には、どちらか1つにC4,2またはC4,3のいずれかを割り当て、残ったデータチャネルにC4,0かC4,1を割り当てる。また、データ量別コード割当部31は、Q側では、E−DCHやDCHが乗っているDPDCH4のようにデータ量の大きいデータチャネルにチャネライゼーションコードC4,2またはC4,3のいずれかを割り当てる。残コード割当部22は、DPDCH2のようにDCHのみ乗っているデータ量の小さいデータチャネルにC4,0かC4,1を割り当てる。以上のように、この実施の形態によれば、データ量の大きなチャネルのオーバーシュートをなくすことができる効果がある。
実施の形態4.
図17、図18、図19は、実施の形態4における通信装置が基地局に対してデータを送信する上りのデータチャネルの多重送信を説明する図である。本実施の形態では、DPDCHの他、制御チャネルであるE−DPCCHもコード割り当ての際には、データチャネルとして扱っているため、図中のデータチャネルは、DPDCHのほか、制御チャネルであるE−DPCCHも含んでいる。実施の形態2ではHS−DPCCHがない場合について説明したが、以下説明する実施の形態4では、HS−DPCCHがある場合を考えている。また、DPDCHは、DCHを乗せている場合、E−DCHを乗せている場合、E−DPCCHを乗せている場合、DCH、E−DCH、E−DPCCHのうち複数を多重して乗せている場合を考慮している。図中のゲインファクタβ1〜β6は、0≦β≦1である。また、図中の点線部は、データチャネルが存在しない場合も考慮している。つまり、データチャネルの多重数Nがいくつであっても、チャネルの種類が何であっても、またチャネルの性能に関わらず適応できるようにしている。また、HS−DPCCHは、図17に示すように、データチャネルの多重数によってI、Qに多重される方法と、図18のようにQ側に固定する方法と、図19のようにI側に固定する方法の3通り考えられるが、どの方法にも提案手法は、対応できる。アップリンクエンハンスメントでは、HS−DPCCHにどのコードが割り当てられるか決まっていない。仕様では、HS−DPCCHには、チャネルの多重数が奇数の時には、C256,32が、チャネルの多重数Nが偶数のときには、C256,1が割り当てられる。
アップリンクエンハンスメントにおけるチャネライゼーションコードの割り当て方は決まっていないが、本実施の形態では、HS−DPCCHがI側にあるときは、C256,1が、HS−DPCCHがQ側にあるときは、C256,32が割り当てられるものとする。どのコードが割り当てられても、4チップ単位で考えるとC4,0と同じである。従って、HS−DPCCHがI側にあるときは、チャネライゼーションコードとしてI側にC4,0は使えなくなる。
実施の形態4では、実施の形態2と同様にゲインファクタの大きいチャネルからチャネライゼーションコードの割り当てを行い、奇数チップ目から偶数チップ目への位相変化が0度または180度に近くなり、なるべく90度から離れるように、なるべくI側とQ側でどちらもC4,0かC4,1のみを用いる組み合わせ、もしくはI側とQ側でどちらもC4,2かC4,3のみを用いる組み合わせでチャネライゼーションコードを割り当てている。また、実施の形態4では、DPCCHのゲインファクタが非常に小さいことを利用して、DPCCHが位相変化には、影響を及ぼさないものとしている。本実施の形態におけるゲインファクタの異なるチャネルとは、E−DPCCHとDPDCHのようにチャネルの種類が異なる場合と、同じDPDCHでもDCHを乗せている時とE−DCHを乗せている場合のようにチャネルの性能が異なる場合の両方または一方を指す。
また、E−DPCCHは、E−DCHが乗っているDPDCHと同様に扱っている。また、本実施の形態では、HS−DPCCHのゲインファクタは、セルエッジにあると極端に大きくなることなどを考慮し、DCHが乗っているDPDCHとほぼ同じであると考えた。このため、HS−DPCCHの影響で同じ多重数3本でもHS−DPCCHがI側にある時は、全てのチャネルに対してC4,2またはC4,3のチャネライゼーションコードを割り当て、HS−DPCCHがQ側にある時は、全てのチャネルに対してC4,0またはC4,1のチャネライゼーションコードを割り当てたほうが、PARがよくなる可能性が高い。
図20は、実施の形態4における通信装置に設けられた制御部905のブロック図である。ゲインファクタ別コード割当部21は、特定のチャネライゼーションコードが割り当てられた特定種類のチャネルがある場合に、特定種類のチャネルに割り当てられた特定のチャネライゼーションコードと相関関係のあるチャネライゼーションコードを判定して、相関関係があると判定されたチャネライゼーションコードの割り当てを禁止する禁止コード判定部41を備えている。例えば、禁止コード判定部41は、HS−DPCCHがI側にあるか否かを判定する。HS−DPCCHがI側にあるときは、I側でチャネライゼーションコードとしてC4,0は使わないことを決定する。
禁止コード判定部41がHS−DPCCHがQ側にあることを判定した場合、チャネライゼーションコードは、図21に示す処理が実行されて割り当てられる。図21の処理は図10を用いて説明した処理と同様であるので説明は省略する。
一方、禁止コード判定部41がHS−DPCCHがI側にあることを判定した場合、チャネライゼーションコードは、以下説明する図22に示す処理が実行されて割り当てられる。図22に示す、STEP2500において、ゲインファクタ別コード割当部21は、多重されているデータチャネルの多重数Nが2であるか判定する。多重数Nが2であれば、STEP2501の処理を、多重数Nが3以上であれば、STEP2502の処理を実行する。STEP2501では、ゲインファクタ別コード割当部21は、全てのデータチャネルに対してチャネライゼーションコードC4,1を割り当て、記憶部15に記憶する。STEP2502において、ゲインファクタ別コード割当部21は、多重されているデータチャネルの多重数Nが3であるか判定する。多重数Nが3であるならばSTEP2503の処理を、多重数Nが4以上ならばSTEP2504の処理を実行する。STEP2503では、ゲインファクタ別コード割当部21は、全てのデータチャネルに対してチャネライゼーションコードC4,2かC4,3を割り当て、記憶部15に記憶する。STEP2504では、ゲインファクタ別コード割当部21は、I側で多重されるデータチャネルのうち存在するものの中で、ゲインの大きなチャネルから2つのDPDCHにチャネライゼーションコードC4,2かC4,3を割り当て、記憶部15に記憶する。STEP2505では、残コード割当部22は、I側にチャネライゼーションコードが割り当てられていないデータチャネルが存在するか判定する。存在すればSTEP2506の処理を実行する。存在しなければSTEP2507の処理を実行する。STEP2506では、残コード割当部22は、チャネライゼーションコードが割り当てられていないDPDCHにチャネライゼーションコードC4,1を割り当て、記憶部15に記憶する。STEP2507では、ゲインファクタ別コード割当部21は、Q側で多重されるデータチャネルに対してもI側と同様に存在するものの中で、ゲインの大きなチャネルから2つのデータチャネルにチャネライゼーションコードC4,2かC4,3を割り当て、記憶部15に記憶する。STEP2508では、残コード割当部22は、Q側にチャネライゼーションコードが割り当てられていないデータチャネルが存在するか判定する。存在すればSTEP2409の処理を実行する。存在しなければ終了する。
STEP2509では、残コード割当部22は、Q側にチャネライゼーションコードが割り当てられていないデータチャネルに、チャネライゼーションコードC4,1を割り当て、記憶部15に記憶する。ここで、C4,0はチャネライゼーションコードとして使わない。この実施の形態によれば、特定チャネルがあることを判定して、その特定チャネルに用いることが決められているコードと相関の少ないコードを用いているので、オーバーシュートを少なくすることができる。
実施の形態5.
実施の形態3では、データチャネルのゲインファクタではなく、データチャネルの種類と性能によって、すなわち、データチャネルのデータ量によってチャネライゼーションコードの割り当て方を決めるものである。しかし、実施の形態3では、HS−DPCCHが独立した制御チャネルとして設けられている場合は考慮していなかった。以下、実施の形態5では、HS−DPCCHが独立した制御チャネルとして設けられた場合におけるチャネライゼーションコードの割り当てを決定する方法を説明する。本実施の形態においても、各データチャネルのデータ量の大きさは、実施の形態3で説明した(1)〜(7)に基づいて判断され、チャネライゼーションコードが割り当てられる。
図23は、実施の形態5における通信装置の制御部905のブロック図である。データ量別コード割当部31は、特定のチャネライゼーションコードが割り当てられた特定種類のチャネルがある場合に、特定種類のチャネルに割り当てられた特定のチャネライゼーションコードと相関関係のあるチャネライゼーションコードを判定して、そのチャネライゼーションコードの割り当てを禁止する禁止コード判定部41を備えている。例えば、禁止コード判定部41は、HS−DPCCHがI側にあるか否かを判定する。HS−DPCCHがI側にあるときは、チャネライゼーションコードとしてC4,0はI側に使わないことを決定する。その他の点は、実施の形態3と同じである。
図24から図28は、それぞれ実施の形態5におけるデータチャネルの多重数Nが2から6の時の割り当て方である。データ量別コード割当部31は、図24に示すように、多重数N=2の場合は、チャネライゼーションコードの割り当てをC4,0かC4,1に限定する。また、データ量別コード割当部31は、図25に示すように、多重数N=3でHS−DPCCHがQ側にある場合にも、チャネライゼーションコードの割り当てをC4,0かC4,1に限定する。データ量別コード割当部31は、多重数Nが4の時は、図26に示すように実施の形態2と同じくチャネライゼーションコードC4,2かC4,3を割り当て、記憶部15に記憶する。
図27、図28のように多重数N≧5の場合は、チャネルの種類によってコードの割り当て方が変わる。データ量別コード割当部31は、図27に示すように、I側のチャネルでは、E−DCHが乗っているDPDCH3やE−DCHとDCHが多重しているDPDCH5のようにデータ量が大きいデータチャネルにチャネライゼーションコードC4,2またはC4,3を割り当て、記憶部15に記憶する。残コード割当部22は、DPDCH1のようにDCHのみ乗せている従来型のデータ量の小さいデータチャネルにC4,0かC4,1を割り当て、記憶部15に記憶する。多重数N=5の場合は、Q側のチャネルは、データ量に関わらずC4,2またはC4,3を割り当て、記憶部15に記憶する。データ量別コード割当部31は、図28に示すように、I側では、E−DCHを乗せているDPDCH3やDPDCH5のようにデータ量が大きいデータチャネルにチャネライゼーションコードC4,2またはC4,3を割り当て、記憶部15に記憶する。また、残コード割当部22は、DPDCH1のようにDCHのみ乗せているデータ量が小さいデータチャネルにC4,1を割り当て、記憶部15に記憶する。また、データ量別コード割当部31は、Q側では、E−DCHを乗せているDPDCH4やE−DCHとDCHが多重しているDPDCH6のようにデータ量が大きいデータチャネルにチャネライゼーションコードC4,2またはC4,3を割り当て、記憶部15に記憶する。残コード割当部22は、DPDCH2のようにDCHのみ乗せているデータ量が小さいデータチャネルにC4,1を割り当て、記憶部15に記憶する。図28では、HS−DPCCHの影響でチャネライゼーションコードC4,0が使えなくなっていることがわかる。
この実施の形態によれば、特定チャネルがあることを判定して、その特定チャネルに用いることが決められているコードと相関の少ないコードを用いているので、オーバーシュートを少なくすることができる。
実施の形態6.
以下に述べる実施の形態におけるデータチャネルとは、E−DPDCH(Enhanced DPDCH)のことを指し、DPDCHを含まない。また、実施の形態6におけるDPDCHは、E−DPDCHに比べ搭載されるデータ量が十分小さいものであり、拡散率をsf(>4)とすると、チャネライゼーションコードCsf,SF/4を用いる。例えば64kbpsでチャネライゼーションコードC16,4を用いる。また、DPDCHは、本実施の形態ではSF=2のデータチャネルとSF=4のデータチャネルを多重するものとする。
本実施の形態に係る通信装置、通信装置に設けられた制御部の構成は、それぞれ図1、図3に示した実施の形態1のものと同様である。
本実施の形態では、実施の形態1に対し、データチャネルの最小のSFが2である場合にも成立することを説明するものである。SFが2である場合は、1つのデータを拡散すると2チップになるため、実施の形態1と異なり、3チップ目と4チップ目は1チップ目と2チップ目とは異なるデータを拡散した結果である。そこで、SF=2の場合には、位相変化を考慮するのは1チップ目から2チップ目の遷移のみである。ここで、1チップ目から2チップ目の位相変化をθと定義する。したがって、SF=2の場合には、sin2θが最小となるチャネライゼーションコードの組み合わせを求めれば、最も理想に近い組み合わせを求めることができる。チップの遷移とはチャネライゼーションコードで拡散後、信号点を動かすことであり、コンスタレーションの移り変わりのことを指す。
図37に、実施の形態6における制御部905が実行するチャネライゼーションコードの割り当て方のフローチャートを示す。まず、STEP3700において、コード組み合わせ作成部11が、Numをチャネライゼーションコードの組み合わせ数、Tを全てのチャネライゼーションコードの組み合わせの集合、Dを現在のオーバーシュートの大きさと定義し、Dは最大値1に初期化し記憶部15に記憶する。STEP3701において、コード組み合わせ作成部11が、Num=Num−1としてTから任意に1つの組み合わせを選びC1とし、Tから選んだ組み合わせを記憶部15から消去し記憶部15を更新する。STEP3702において、チップ間位相変化算出部12が、チャネルに組み合わせC1を割り当てた時の1チップ目から2チップ目への位相変化θを求め記憶部15に記憶する。STEP3703において、コード組み合わせ決定部13が、組み合わせC1に対するオーバーシュートの大きさを求めるパラメータとしてD1=sin2θと定義し、記憶部15に記憶する。STEP3704において、コード組み合わせ決定部13が、C1に対するオーバーシュートがDより小さいか判断する。すなわち、D1<Dであるか判定する。D1<DならST3705を実行する。D1<DでなければSTEP3706を実行する。STEP3705において、コード組み合わせ決定部13が、Cをよりオーバーシュートが小さいチャネライゼーションコードの組み合わせに置き換える。すなわち、C=C1、D=D1とし記憶部15に記憶する。STEP3706において、Num>0ならばSTEP3701に戻る。Num≦0ならばSTEP3707を実行する。STEP3707において、コード割当指示部14が、記憶部15に記憶されたCを一番オーバーシュートが小さい組み合わせとし、これに基づき各データチャネルにチャネライゼーションコードを割り当てる。コード割当指示部14は、チャネライゼーションコードの割り当てをチャネライゼーションコード発生器904へ通知する。
この実施の形態によれば、オーバーシュートの少ないチャネライゼーションコードの組み合わせを計算で自動で求めることができる。また、1チップ目と2チップ目との位相変化が0度または180度に近いチャネライゼーションコードの組み合わせを求めているので、位相変化が90度から離れることになり、オーバーシュートがなくなる。また、IチャネルとQチャネルの1チップ目と2チップ目との位相変化を求めているので、奇数チップと偶数チップとの間での位相変化に基づいたオーバーシュートを低減させることができる。
実施の形態7.
本実施の形態に係る通信装置、通信装置に設けられた制御部の構成は、それぞれ図1、図3に示した実施の形態1のものと同様である。
以下の説明において、本実施の形態では、実施の形態1および6に対し、データチャネルの最小のSFが2および4以外の場合でも成立することを説明する。SFが異なるデータチャネル(E−DPDCH)がある場合に、実施の形態1および6と同様に計算で求める場合を考える。計算で求める場合は、1つのデータに対するチップの遷移を考慮するため、最小のSF分だけチップの遷移を考える。全データチャネル(E−DPDCH)の最小のSFをsf、2m−1チップ目から2mチップ目への遷移をθmと定義するとき、sin2θ1+sin2θ2+・・・+sin2θsf/2を最小にするようにチャネライゼーションコードを割り当てる。
図38に、実施の形態7における制御部905が実行するチャネライゼーションコードの割り当て方のフローチャートを示す。まず、STEP3800において、コード組み合わせ作成部11が、Numをチャネライゼーションコードの組み合わせ数、Tを全てのチャネライゼーションコードの組み合わせの集合、sfを全データチャネル(E−DPDCH)のうち最小のSF、Dを現在のオーバーシュートの大きさと定義し、Dは最大値sf/2に初期化し記憶部15に記憶する。STEP3801において、コード組み合わせ作成部11が、Num=Num−1とし、mを1に初期化して、Tから任意に1つの組み合わせを選びC1とし、Tから選んだ組み合わせを記憶部15から消去し記憶部15を更新する。STEP3802において、チップ間位相変化算出部12が、チャネルに組み合わせC1を割り当てた時の2m−1チップ目から2mチップ目への位相変化θmを求め記憶部15に記憶する。STEP3803においてm=m+1とする。STEP3804において、m>sf/2であるか判定する。m>sf/2ならSTEP3805を実行する。m=sf/2でなければSTEP3802に戻る。STEP3805において、コード組み合わせ決定部13が、組み合わせC1に対するオーバーシュートの大きさを求めるパラメータとしてD1=sin2θ1+sin2θ2+・・・+sin2θsf/2と定義し、記憶部15に記憶する。STEP3806において、コード組み合わせ決定部13が、C1に対するオーバーシュートがDより小さいか判断する。すなわち、D1<Dであるか判定する。D1<DならSTEP3807を実行する。D1<DでなければSTEP3808を実行する。STEP3807において、コード組み合わせ決定部13が、Cをよりオーバーシュートが小さいチャネライゼーションコードの組み合わせに置き換える。すなわち、C=C1、D=D1とし記憶部15に記憶する。STEP3808において、Num>0ならばSTEP3801に戻る。Num≦0ならばSTEP3809を実行する。STEP3809において、コード割当指示部14が、記憶部15に記憶されたCを最適な組み合わせとし、これに基づき各データチャネルにチャネライゼーションコードを割り当てる。コード割当指示部14は、チャネライゼーションコードの割り当てをチャネライゼーションコード発生器904へ通知する。
本実施の形態では、このようにデータチャネルに対するチャネライゼーションコードの全ての組み合わせに対しオーバーシュートを求め、その結果一番オーバーシュートが小さくなるチャネライゼーションコードの組み合わせを選択する。これにより、データチャネルの最小のSFが2および4以外の場合でも、オーバーシュートの少ないチャネライゼーションコードの組み合わせを計算で自動で求めることができる。
実施の形態8.
本実施の形態に係る通信装置に設けられた制御部の構成は、図9に示した実施の形態2のものと同様である。
以下の説明では、実施の形態7のように、計算で最適なチャネライゼーションコードの割り当てを求めるのではなく、各データチャネルのゲインファクタに基づいて自動的にチャネライゼーションコードを割り当てる方法を説明する。これによって実施の形態7よりも小規模のH/W(ハードウェア)で、同様の効果を得ることができる。図38を用いて説明したように、上記実施の形態7では、チャネライゼーションコードの組み合わせ毎に、複数のチップ間の位相変化をそれぞれ算出し、複数のチップ間の位相変化それぞれにより生じるオーバーシュートの和が少ないチャネライゼーションコードの組み合わせを計算により求めていた。実施の形態6では、より具体的に、オーバーシュートの和が少ないチャネライゼーションコードの組み合わせを求めるため、1チップ目と2チップ目との位相変化が0度または180度に近いチャネライゼーションコードの組み合わせを求めていた。しかし、実際にはチップレベルで、チャネライゼーションコードにより拡散し、計算結果をH/Wに保存する必要があるため、チャネライゼーションコードの組み合わせの数に比例してH/W規模が大きくなる。そこで、チャネライゼーションコードの組み合わせを計算により求める代わりに、位相変化を決定する度合いが大きなチャネルからチャネライゼーションコードを割り当てていくことで、奇数チップ目から偶数チップ目への位相変化がなるべく0度または180度に近くなり、なるべく90度から離れるようにする方法について説明する。
まず、トランスポートブロックサイズについて説明する。トランスポートブロックサイズとは、端末で送信するデータの大きさを意味する。端末の送信バッファに送信すべきデータが入力されると、入力されたデータは、送信時間単位に応じて適切なサイズに分割される。この適切なサイズに分割されたデータをトランスポートブロックと呼び、その大きさをトランスポートブロックサイズと呼ぶ。
次に、送信するデータチャネルの本数およびSFの決定について説明する。トランスポートブロックサイズが決まると、例えば3GPP規格書(TS25.212§4.8.4.1)に規定されたアルゴリズムによってデータチャネルの本数と拡散率SFが決まる。SFが決まるとゲインファクタも決まる。ゲインファクタは、多重化前(チャネライゼーションコード乗算前)の各データチャネル(シンボル単位)に対して掛けられる重み付け係数である。データチャネルは、データ量が大きいほど受信に必要な所望電力が大きくなるため、大きなゲインファクタが割り当てられる。このため、よりデータ量が大きい(SFが小さい)データチャネルのほうが、よりデータ量が小さい(SFが大きい)データチャネルに対して、ゲインファクタが大きくなる。例えばSF=2のデータチャネルはSF=4のデータチャネルに対して2倍のデータ量を送るため、およそ2倍の電力を必要とする。電力を2倍とするためには、振幅を√2倍すればよい。ゲインファクタは振幅に掛けられる係数であるため、SF=2のデータチャネルのゲインファクタは、SF=4のデータチャネルのゲインファクタに比べて√2倍になる。
SFとデータチャネルの本数、データ量により、E−DPDCHに割り当てるチャネライゼーションコード(I/Q軸)も決定されることを説明する。本実施の形態では、I軸およびQ軸とも、ゲインファクタの大きいデータチャネルからコード番号kが0≦k≦(SF/2−1)であるチャネライゼーションコードCSF,kを割り当てる。または、コード番号kが(SF/2)≦k≦(SF−1)であるチャネライゼーションコードCSF,kを割り当てる。後述する図41のコードツリーを用いて説明すると、SFが2の場合にはゲインファクタの大きいデータチャネルからC2,0またはC2,1のいずれかを割り当て、SFが4の場合にはゲインファクタの大きいデータチャネルからC4,0およびC4,1(どちらか一方でもよい)、またはC4,2およびC4,3(どちらか一方でもよい)を割り当てる。以下、説明の便宜上、コードツリーのうち、コード番号kが0≦k≦(SF/2−1)の枝(SF=4の場合、C4,0およびC4,1が配置された枝)を「コードツリーの上側」、コード番号kが(SF/2)≦k≦(SF−1)の枝(SF=4の場合、C4,2およびC4,3が配置された枝)を「コードツリーの下側」と称する。つまり、本実施の形態では、I軸およびQ軸とも、ゲインファクタの大きいデータチャネルには、コードツリーの上側(下側)のいずれかのチャネライゼーションコードを割り当て、ゲインファクタの小さいデータチャネルには、コードツリーの下側(上側)のチャネライゼーションコードを割り当てることにより、オーバーシュートが減少するという効果を奏する。
ゲインファクタの大小では求められない場合(例えば、ゲインファクタの値が同一の場合)は、より大きなデータを乗せているチャネルのほうが、送信電力が大きいと考えられるので、データ量の大きなチャネルからチャネライゼーションコードを割り当てる。SFが小さいデータチャネルはSFが大きいデータチャネルよりもデータ量が多いと考えられるので、SFが小さいデータチャネルからデータを割り当てる。このため、端末は、I軸およびQ軸それぞれのデータチャネルに対して、SFとデータチャネルの本数、データ量から、データチャネルに割り当てるチャネライゼーションコードを決定する。
ゲインファクタの総和の定義について説明する。ゲインファクタの総和とは、遷移前または遷移後のチップにおいて、各チャネライゼーションコードが割り当てられているデータチャネルのゲインファクタをI軸およびQ軸それぞれにおいて合計したものを表す。β1〜β8はそれぞれゲインファクタの総和であり、以下のように定義される。
β1=I軸側の1チップ目から2チップ目への遷移が(1、1)となるゲインファクタの総和(1チップ目から2チップ目への遷移が(1、1)となるチャネライゼーションコードが割り当てられ、シンボルデータが1となるデータチャネルのゲインファクタの総和)
β2=I軸側の1チップ目から2チップ目への遷移が(−1、−1)となるゲインファクタの総和(1チップ目から2チップ目への遷移が(1、1)となるチャネライゼーションコードが割り当てられ、シンボルデータが−1となるデータチャネルのゲインファクタの総和)
β3=Q軸側の1チップ目から2チップ目への遷移が(1、1)となるゲインファクタの総和(1チップ目から2チップ目への遷移が(1、1)となるチャネライゼーションコードが割り当てられ、シンボルデータが1となるデータチャネルのゲインファクタの総和)
β4=Q軸側の1チップ目から2チップ目への遷移が(−1、−1)となるゲインファクタの総和(1チップ目から2チップ目への遷移が(1、1)となるチャネライゼーションコードが割り当てられ、シンボルデータが−1となるデータチャネルのゲインファクタの総和)
β5=I軸側の1チップ目から2チップ目への遷移が(1、−1)となるゲインファクタの総和(1チップ目から2チップ目への遷移が(1、−1)となるチャネライゼーションコードが割り当てられ、シンボルデータが1となるデータチャネルのゲインファクタの総和)
β6=I軸側の1チップ目から2チップ目への遷移が(−1、1)となるゲインファクタの総和(1チップ目から2チップ目への遷移が(1、−1)となるチャネライゼーションコードが割り当てられ、シンボルデータが−1となるデータチャネルのゲインファクタの総和)
β7=Q軸側の1チップ目から2チップ目への遷移が(1、−1)となるゲインファクタの総和(1チップ目から2チップ目への遷移が(1、−1)となるチャネライゼーションコードが割り当てられている、シンボルデータが1となるデータチャネルのゲインファクタの総和)
β8=Q軸側の1チップ目から2チップ目への遷移が(−1、1)となるゲインファクタの総和(1チップ目から2チップ目への遷移が(1、−1)となるチャネライゼーションコードが割り当てられ、シンボルデータが−1となるデータチャネルのゲインファクタの総和)
奇数チップ目から偶数チップ目への遷移が(1、1)または(−1、−1)、すなわち位相変化が0度となる場合のチャネライゼーションコードCSF,kは、コード番号kが0≦k≦(SF/2−1)であり、奇数チップ目から偶数チップ目への遷移が(1、−1)または(−1、1)、すなわち位相変化が180度となる場合のチャネライゼーションコードCSF,kは、コード番号kが(SF/2)≦k≦(SF−1)である。つまり、β1〜β4のそれぞれが、コード番号kが0≦k≦(SF/2−1)であるチャネライゼーションコードCSF,kに対するゲインファクタの総和であり、β5〜β8のそれぞれが、コード番号kが(SF/2)≦k≦(SF−1)であるチャネライゼーションコードCSF,kに対するゲインファクタの総和である。
チャネライゼーションコードとゲインファクタが決まるとゲインファクタの総和が決まることについて説明する。最小のSFが2の場合は、3チップ目より後は、SF=2のデータチャネルから出力されるシンボルは、1チップ目と異なるシンボルなので、1チップ目と2チップ目の遷移のみ考えればよい。2チップ間に限定するとチャネライゼーションコードの組み合わせは、(1、1)、(1、−1)の2通りしかなく、シンボルデータを考慮したチップの遷移の組み合わせは、(1、1)と(−1、−1)と(1、−1)と(1、−1)の4通りである。このため、チャネライゼーションコードが決まると、シンボルデータに応じてどのチップの遷移の組み合わせになるかが、データチャネル毎に決まる。このため、I/Q軸それぞれで、各データチャネルに割り当てられているゲインファクタを、同じチップの遷移の組み合わせ毎に足し合わせると、β1〜β8までのゲインファクタの総和を求めることができる。
ゲインファクタの総和が決まるとチップの遷移が決まることについて説明する。オーバーシュートの大きさは、チップの遷移から求められる。このため、同じシンボル間で、位相変化をなるべく0度または180度にするのがよい。この理由は後述する。チャネル、ゲインファクタ、シンボルデータが1、−1のいずれか、および多重数に関わらず、次式(1)および(2)のように信号点配置を表すことができる。
遷移前(I、Q)=(β1−β2+β5−β6、β3−β4+β7−β8) (1)
遷移後(I、Q)=(β1−β2−β5+β6、β3−β4−β7+β8) (2)
上記の式(1)および(2)のように、遷移前後の信号点配置をゲインファクタの総和によって表すことができるため、ゲインファクタの総和が決まるとチップの遷移が決定される。
コード番号kが0≦k≦(SF/2−1)であるチャネライゼーションコードCSF,kに対するゲインファクタの総和(前述の式(1)、(2)でのβ1〜β4)はチップの遷移を決定せず、コード番号kが(SF/2)≦k≦(SF−1)であるチャネライゼーションコードCSF,kに対するゲインファクタの総和(前述の式(1)、(2)でのβ5〜β8)がチップの遷移に影響を与えることを説明する。前述の式(1)、(2)でβ5〜β8が0の場合を考えると、次式(3)および(4)のように表される。
遷移前(I、Q)=(β1−β2、β3−β4) (3)
遷移後(I、Q)=(β1−β2、β3−β4) (4)
式(3)、(4)のように、コード番号kが0≦k≦(SF/2−1)であるチャネライゼーションコードCSF,kのみ用いた場合は、遷移前後の信号点配置が全く同じであるため、1チップ目から2チップ目への位相変化が0度となることがわかる。なぜなら、前述の式(3)、(4)でのβ1〜β4は、1チップ目から2チップ目への位相変化が0度となる場合なので、これらの値はチップの遷移を決定しない。式(3)、(4)の特徴を考えると、β5〜β8の部分は異なる符号が付くため、チップの遷移前後で一致していない。このため、β5〜β8の値が、チップの遷移に影響を与える。
先に説明した特許文献1は、全てのデータチャネルにコード番号kが0≦k≦(SF/2−1)であるチャネライゼーションコードCSF,kを割り当てると位相変化が0度になり、オーバーシュートが小さくなることを開示している。しかし、特許文献1は、データチャネルの本数が多い場合、例えば、データチャネルの本数がコード番号kが0≦k≦(SF/2−1)であるチャネライゼーションコードCSF,kを割り当てられる本数よりも多い場合に、チャネライゼーションコードを割り当てる方法について開示していない。また、ゲインファクタが異なるデータチャネルにチャネライゼーションコードを割り当てる方法についても開示していない。そこで、データチャネルの本数が多いため、全てのデータチャネルにコード番号kが0≦k≦(SF/2−1)であるチャネライゼーションコードCSF,kを割り当てられない場合にチャネライゼーションコードを割り当てる方法を説明する。式(3)、(4)の特徴であるβ1〜β4はチップの遷移を決定せず、チップの遷移前後の点が原点からどれだけ離れているかを表し、β5〜β8がチップの遷移に影響を与えている。同じチップの遷移では原点から離れているほうが位相変化は小さい。このためβ1〜β4を大きくして、β5〜β8が小さくなるようにチャネライゼーションコードを割り当てたほうが、オーバーシュートが小さい。そこで、ゲインファクタの大きなデータチャネルからコード番号kが0≦k≦(SF/2−1)であるチャネライゼーションコードCSF,kを割り当て、残りのデータチャネルにコード番号kが(SF/2)≦k≦(SF−1)であるチャネライゼーションコードCSF,kを割り当てたほうが、オーバーシュートが小さくなることが考えられる。
コード番号kが0≦k≦(SF/2−1)であるチャネライゼーションコードCSF,kに対するゲインファクタの総和(前述の式(1)、(2)でのβ1〜β4)はチップの遷移を決定せず、コード番号kが(SF/2)≦k≦(SF−1)であるチャネライゼーションコードCSF,kに対するゲインファクタの総和(前述の式(1)、(2)でのβ5〜β8)がチップの遷移に影響を与える具体例を説明する。具体例の条件として、SF=2のデータチャネル(ゲインファクタが√2乗算されて補正されている)と、SF=4のデータチャネル(ゲインファクタが1)がI軸およびQ軸にそれぞれ1本ずつあるものとする。つまりSF=2が2本、SF=4が2本の時である。SF=2のデータチャネルと、SF=4のデータチャネルがI軸およびQ軸にそれぞれ1本ずつあるものとする。ここでは、制御チャネルなど他チャネルとのチャネライゼーションコードの衝突は考慮しない。ゲインファクタの大きい、つまり√2が乗算されたゲインファクタ値を掛けるSF=2のデータチャネルにC2,0を、ゲインファクタの小さいSF=4のデータチャネルにC4,2(またはC4,3)を割り当てる。I軸のSF=2のデータチャネルのシンボルが1、Q軸のSF=2のデータチャネルのシンボルが−1、I軸のSF=4のデータチャネルのシンボルが1、Q軸のSF=4のデータチャネルのシンボルが−1になっているものとする。このような場合にゲインファクタの総和を求めると、β1=√2、β2=0、β3=0、β4=√2、β5=1、β6=0、β7=0、β8=1となる。これを式(1)、(2)に代入して遷移前後の信号点配置を求めると、以下のようになる。
遷移前(I、Q)=(√2+1、−√2−1) (5)
遷移後(I、Q)=(√2−1、−√2+1) (6)
この場合はゲインファクタが大きなものからコード番号kが0≦k≦(SF/2−1)であるチャネライゼーションコードCSF,kを割り当てている。
式(5)、(6)において√2は、遷移前後の信号点配置において値が等しいゲインファクタの総和(β1〜β4)を表し、1は、遷移前後の信号点配置において正負が反対になるゲインファクタの総和(β5〜β8)を表す。このため、式(5)、(6)の遷移前後の信号点配置において値が等しいゲインファクタの総和(β1〜β4)の値√2に対し、遷移前後の信号点配置において正負が反対になるゲインファクタの総和(β5〜β8)の値は1なので、ゲインファクタの総和(β5〜β8)はゲインファクタの総和(β1〜β4)よりも常にI/Q軸ともに小さい。このため、遷移前後の信号点配置において、値が大きいゲインファクタの総和(β1〜β4)が、遷移前後の信号点配置の正負を常に決定している。したがって、遷移前の式(1)と遷移後の式(2)でゲインファクタの総和(β1〜β4)はI軸(β1−β2)、Q軸(β3−β4)で、同じ形なので、ゲインファクタの総和(β1〜β4)はチップの遷移前後でI軸およびQ軸成分の正負を反転させない。
コード番号kが0≦k≦(SF/2−1)であるチャネライゼーションコードCSF,kに対するゲインファクタの総和(前述の式(1)、(2)のβ1〜β4)を大きくし、コード番号kが(SF/2)≦k≦(SF−1)であるチャネライゼーションコードCSF,kに対するゲインファクタの総和(前述の式(1)、(2)のβ5〜β8)を小さくすると、オーバーシュートが小さくなる具体例を説明する。チップの遷移前のI軸成分である(β1−β2+β5−β6)と、チップの遷移後のI軸成分である(β1−β2−β5+β6)を比較すると、I軸成分はチップの遷移前後でどちらも正で、正負が反転しない。Q軸成分についても同様に比較すると、Q軸成分はチップの遷移前後でどちらも負で、正負が反転しない。このため、I/Qの各軸において、正負が反転することがないので、位相変化が非常に小さい。シンボルを変えた場合には、対象のゲインファクタの総和(β1〜β8)に−1を乗算するのに等しいが、どのデータチャネルのシンボルを変えても、絶対値の大きさは変わらないので、I/Qの各軸において、正負が反転することがないことがわかる。
コード番号kが(SF/2)≦k≦(SF−1)であるチャネライゼーションコードCSF,kに対するゲインファクタの総和(前述の式(1)、(2)のβ5〜β8)はチップの遷移を正負で反転させる影響を与え、コード番号kが0≦k≦(SF/2−1)であるチャネライゼーションコードCSF,kに対するゲインファクタの総和(前述の式(1)、(2)でのβ1〜β4)はチップの遷移に影響を与えないことを説明する。前述の式(1)および(2)でβ1〜β4が0の場合を考えると、以下のようになる。
遷移前(I、Q)=(β5−β6、β7−β8) (7)
遷移後(I、Q)=(−β5+β6、−β7+β8) (8)
式(7)、(8)のように、コード番号kが(SF/2)≦k≦(SF−1)であるチャネライゼーションコードCSF,kのみ用いた場合は、式(7)、(8)に示すように遷移前後の信号点配置の正負がI軸およびQ軸とも入れ替わっているので、原点対称の式になっている。このため、1チップ目から2チップ目への位相変化が180度となることがわかる。なぜなら、前述の式(1)、(2)のβ1〜β4は、1チップ目から2チップ目への位相変化が0度となる場合なので、これらの値はチップの遷移を決定しない。式(1)、(2)の特徴を考えると、β1〜β4の部分は同じ符号が付くため、チップの遷移前後で一致している。このため、β1〜β4の値によって、チップの遷移前後の信号点配置を同じ方向に同じだけずらし、ずれた分だけ原点対称の形から遠くなるので、位相変化が小さくなる。
全てのデータチャネルにコード番号kが(SF/2)≦k≦(SF−1)であるチャネライゼーションコードCSF,kを割り当てると位相変化が180度になり、オーバーシュートが小さくなることが導かれる。しかし、上記説明の方法では、データチャネルの本数が多い場合には、チャネライゼーションコードを割り当てられない場合がある。例えば、データチャネルの本数が、コード番号kが(SF/2)≦k≦(SF−1)であるチャネライゼーションコードCSF,kを割り当てられる本数よりも多い場合に、チャネライゼーションコードを割り当てる方法について以下説明する。式(1)、(2)の特徴であるβ5〜β8は位相変化が180度となる場合なので、チップの遷移を決定しないβ1〜β4が位相変化を小さくする方向に影響を与えている。このためβ5〜β8を大きくして、β1〜β4が小さくなるようにチャネライゼーションコードを割り当てたほうが、位相変化が180度に近くなり、オーバーシュートが小さい。そこで、ゲインファクタの大きなデータチャネルからコード番号kが(SF/2)≦k≦(SF−1)であるチャネライゼーションコードCSF,kを割り当て、残りのデータチャネルにコード番号kが0≦k≦(SF/2−1)であるチャネライゼーションコードCSF,kを割り当てたほうが、オーバーシュートが小さくなることが考えられる。
コード番号kが(SF/2)≦k≦(SF−1)であるチャネライゼーションコードCSF,kに対するゲインファクタの総和(前述の式(1)、(2)でのβ5〜β8)はチップの遷移を決定せず、コード番号kが0≦k≦(SF/2−1)であるチャネライゼーションコードCSF,kに対するゲインファクタの総和(前述の式(1)、(2)でのβ1〜β4)がチップの遷移に影響を与える具体例を説明する。具体例の条件として、SF=2のデータチャネル(ゲインファクタが√2)と、SF=4のデータチャネル(ゲインファクタが1)がI軸およびQ軸にそれぞれ1本ずつあるものとする。つまりSF=2が2本、SF=4が2本の時である。SF=2のデータチャネルと、SF=4のデータチャネルがI軸およびQ軸にそれぞれ1本ずつあるものとする。ゲインファクタの大きいSF=2のデータチャネルにC2,1を、ゲインファクタの小さいSF=4のデータチャネルにC4,0(またはC4,1)を割り当てる。I軸のSF=2のデータチャネルのシンボルが1、Q軸のSF=2のデータチャネルのシンボルが−1、I軸のSF=4のデータチャネルのシンボルが1、Q軸のSF=4のデータチャネルのシンボルが−1となっている場合において、ゲインファクタの総和を求めると、β1=1、β2=0、β3=0、β4=1、β5=√2、β6=0、β7=0、β8=√2となる。これを式(1)、(2)に代入して遷移前後の信号点配置を求めると、以下のようになる。
遷移前(I、Q)=(1+√2、−1−√2) (9)
遷移後(I、Q)=(1−√2、−1+√2) (10)
この場合はゲインファクタが大きなものからコード番号kが(SF/2)≦k≦(SF−1)であるチャネライゼーションコードCSF,kを割り当てている。
式(9)、(10)において√2は、遷移前後の信号点配置において正負が反対になるゲインファクタの総和(β5〜β8)を表し、1は、遷移前後の信号点配置において値が等しいゲインファクタの総和(β1〜β4)を表す。このため、式(9)、(10)の遷移前後の信号点配置において正負が反対になるゲインファクタの総和(β5〜β8)の値√2に対し、遷移前後の信号点配置において値が等しいゲインファクタの総和(β1〜β4)の値は1なので、ゲインファクタの総和(β1〜β4)はゲインファクタの総和(β5〜β8)よりも常にI/Q軸ともに小さい。このため、遷移前後の信号点配置において、値が大きいゲインファクタの総和(β5〜β8)が、遷移前後の信号点配置の正負を常に決定している。したがって、遷移前の式(1)と遷移後の式(2)でゲインファクタの総和(β5〜β8)は、式(1)でI軸(β5−β6)、Q軸(β7−β8)に対し、式(2)でI軸(β6−β5)、Q軸(β8−β7)と正負が反対になるので、ゲインファクタの総和(β5〜β8)は、チップの遷移前後でI/Q軸成分の正負を常に反転させる。
コード番号kが(SF/2)≦k≦(SF−1)であるチャネライゼーションコードCSF,kに対するゲインファクタの総和(前述の式(1)、(2)でのβ5〜β8)を大きくし、コード番号kが0≦k≦(SF/2−1)であるチャネライゼーションコードCSF,kに対するゲインファクタの総和(前述の式(1)、(2)でのβ1〜β4)を小さくすると、オーバーシュートが小さくなる具体例を説明する。遷移前のI軸成分である(β1−β2+β5−β6)と、遷移後のI軸成分である(β1−β2−β5+β6)を比較すると、I軸成分はチップの遷移前が正でチップの遷移後が負であり、正負が反転する。Q軸成分についても同様に比較すると、Q軸成分はチップの遷移前が負でチップの遷移後が正であり、正負が反転する。このため、I、Qの各軸において、正負が常に反転しているので、位相変化が非常に大きい。シンボルを変えた場合には、対象のゲインファクタの総和(β1〜β8)に−1を乗算するのに等しいが、どのデータチャネルのシンボルを変えても、I/Qの各軸において、常に正負が反転することがわかる。
ゲインファクタの総和が決まるとI/Q軸のチップに対する重み付け係数が決まることについて説明する。I/Q軸のチップに対する重み付け係数とは、遷移前または遷移後のチップにおいて、HPSK変調直前のチップのI/Q軸それぞれの成分(ベクトルを直行軸に分解した場合の水平軸成分と垂直軸成分)のことである。つまり、この重み付け係数は、多重化後(各データチャネルへのチャネライゼーションコード乗算後)のI/Q平面軸(チップ単位)に対して掛けられる係数である。式(1)、(2)に示すように、I/Q軸のチップに対する重み付け係数は、ゲインファクタの総和β1〜β8によって定義されているので、ゲインファクタの総和が決まれば自動的に決まる(各データチャネルは多重化されて1つの信号空間に配置されるため、1つのデータチャネルのあるチップがどの場所に配置されるのかは、そのデータチャネルの各シンボルデータと、そのシンボルデータに対して乗算されているゲインファクタに依存する)。
I/Q軸のチップに対する重み付け係数が決まると位相変化(角度)が決まることについて説明する。式(1)は遷移前のI/Q軸のチップに対する重み付け係数を表し、式(2)は遷移後のI/Q軸のチップに対する重み付け係数を表している。各I/Q軸のチップに対する重み付け係数は、コンスタレーションのI/Q軸の成分を表しているため、式(1)と式(2)からそれぞれ遷移前と遷移後のコンスタレーションが求められ、2つの式の差分をとることによってチップの遷移が求まる。
ゲインファクタがより大きいチャネルにコード番号kが(SF/2)≦k≦(SF−1)であるチャネライゼーションコードCSF,kを全て与えて、ゲインファクタのより小さいチャネルにコード番号kが0≦k≦(SF/2−1)であるチャネライゼーションコードCSF,kを与えると、位相変化が0度または180度に近くなることを説明する。オーバーシュートを小さくするためには、C2,0、C4,0、C4,1と、C2,1、C4,2、C4,3とがなるべく混ざらないようすることが求められる。位相変化θは、ゲインファクタの総和であるβ1〜β8によって決定されるので、位相変化θを決定する度合いの大きなチャネルからC2,0、C4,0、C4,1を割り当てるか、あるいは、C2,1、C4,2、C4,3を割り当てる。位相変化θはチップの遷移によって、すなわちI/Q軸のチップに対する重み付け係数によって決まる。位相変化θを決定する度合いが大きいということは、I/Q軸のチップに対する重み付け係数が大きく、つまりゲインファクタやデータ量が大きく、SFが小さいということである。したがって、位相変化θを決定する度合いの大きなチャネルからC2,0、C4,0、C4,1(C2,1、C4,2、C4,3)を割り当てると、位相変化θが0度または180度になるのでオーバーシュートが小さくなる。β1〜β8に与える影響の大きさはゲインファクタで求めることができるので、実施の形態2と同様になるべくゲインファクタの大きいチャネルからC2,0、C4,0、C4,1(C2,1、C4,2、C4,3)を割り当てる方法がよい。
I/Q軸のどちらも、ゲインファクタの大きいデータチャネル1本だけでコード番号kが0≦k≦(SF/2−1)であるチャネライゼーションコードCSF,kを全部使用する場合について説明する。このような場合、ゲインファクタが小さいチャネルにコード番号kが(SF/2)≦k≦(SF−1)であるチャネライゼーションコードCSF,kを与えて、ゲインファクタの大きいチャネルにコード番号kが0≦k≦(SF/2−1)であるチャネライゼーションコードCSF,kを与えることになり、結果的にオーバーシュートが小さくなる。I/Q軸のどちらも、ゲインファクタの大きいデータチャネル1本だけでコード番号kが0≦k≦(SF/2−1)であるチャネライゼーションコードCSF,kを全部使用してしまう場合は、ゲインファクタの大きなデータチャネルにコード番号kが0≦k≦(SF/2−1)であるチャネライゼーションコードCSF,kが割り当てられると、上記と同じ軸にある残りのデータチャネルに対してコード番号kが(SF/2)≦k≦(SF−1)であるチャネライゼーションコードCSF,kが割り当てられることが一意に決まる。このことは、ゲインファクタの大きくないデータチャネルのどれかにコード番号kが(SF/2)≦k≦(SF−1)であるチャネライゼーションコードCSF,kが割り当てられると、ゲインファクタの大きなデータチャネルにコード番号kが0≦k≦(SF/2−1)であるチャネライゼーションコードCSF,kが割り当てられることが一意に決まることを意味する。同様のことが、ゲインファクタの大きなデータチャネルにコード番号kが(SF/2)≦k≦(SF−1)であるチャネライゼーションコードCSF,kを割り当てる場合にもいえる。このような場合には、ゲインファクタの大きなデータチャネルからコード番号kが0≦k≦(SF/2−1)のチャネライゼーションコードを割り当てることは、ゲインファクタの小さなデータチャネルからコード番号kが(SF/2)≦k≦(SF−1)のチャネライゼーションコードを割り当てることと同じである。このため、ゲインファクタの大きいデータチャネル1本だけで上側のチャネライゼーションコードを全部使用してしまう場合は、ゲインファクタの小さなデータチャネルからチャネライゼーションコードを割り当ててもかまわない。例えばSF=2のデータチャネルとSF=4のデータチャネルがそれぞれI/Qに1本ずつあるような場合には、SF=2のデータチャネル1本で、片側のコードを全て使用するので、SF=2のデータチャネルから割り当てても、SF=4のデータチャネルから割り当ててもかまわない。
ゲインファクタが大きいものとゲインファクタの小さいものを交互に割り当てると位相変化が90度に近くなることを説明する。ゲインファクタが大きいものと小さいものを交互にチャネライゼーションコードを割り当てた場合、例えばSF=2のデータチャネルが2本、SF=4のデータチャネルが2本(I/Q軸それぞれ1本ずつ)の場合に、I側のSF=2のデータチャネルにC2,0を、Q側のSF=4のデータチャネルにC4,1を、I側のSF=4のデータチャネルにC4,2を、Q側のSF=2のデータチャネルにC2,1を割り当てると、位相変化が90度に近くなる。
図39は、HS−DPCCHがない場合のSFの大小によるチャネライゼーションコードの割り当て方のフローチャートである。STEP3900において、ゲインファクタ別コード割当部21は、I側、Q側それぞれのSF=2のデータチャネル(E−DPDCH)にC2,1を割り当て、記憶部15に記憶する。先にSFが小さいデータチャネルにチャネライゼーションコードを割り当てることにより、上記説明の実施の形態1〜7と同様に、オーバーシュートを少なくすることができる。以下のSTEP3901〜STEP3905では、データチャネルに空いているチャネライゼーションコードを効率よく割り当てる方法を説明する。STEP3901において、残コード割当部22は、Q側のSF=4のデータチャネル(E−DPDCH)にC4,1を割り当て、記憶部15に記憶する。STEP3902において、残コード割当部22は、DPDCHを使用中であるか判断する。DPDCHを使用中であれば、STEP3905が実行される。一方、DPDCHが使用されていなければ、STEP3903が実行される。STEP3903において、残コード割当部22は、E−DPCCHがI側にあるか判断する。E−DPCCHがI側にあれば、STEP3905が実行される。E−DPCCHがI側になければ、STEP3904が実行される。STEP3904において、残コード割当部22は、I側のSF=4のデータチャネル(E−DPDCH)にC4,1またはC4,0を割り当て、記憶部15に記憶する。STEP3905では、残コード割当部22は、I側のSF=4のデータチャネル(E−DPDCH)にC4,0を割り当て、記憶部15に記憶する。
E−DPCCHのチャネライゼーションコードは、I側にSF=2のデータチャネル(E−DPDCH)とSF=4のデータチャネル(E−DPDCH)を1つずつ乗せることができるようにC256,k(64≦k≦127)のチャネライゼーションコードを用いることが望ましい。この理由については後述する。但し、この前提はE−DPDCHを使用中にDPDCHを使用する可能性があるとした場合であり、E−DPDCHを使用中にDPDCHを使用しないのであれば、0≦k≦127であればkはどの値でもかまわない。この場合は、STEP3905において、E−DPCCHのコード番号kが0≦k≦63であれば、データチャネル(E−DPDCH)にC4,1を割り当て、E−DPCCHのコード番号kが64≦k≦127であれば、データチャネル(E−DPDCH)にC4,0を割り当てることになる。このフローチャートではチャネライゼーションコードを割り当てる時間的順序を決定しておらず、割り当てる優先順序を決定している。例えば、制御部905がチャネライゼーションコードを設定するタイミングは同じでよい。
図40は、HS−DPCCHがない場合のSFの大小によってチャネライゼーションコードを割り当てる例である。リリース5(Rel5)用のDPDCH1は、64kbpsで送信すると仮定すると、C16,4が割り当てられる。E−DPCCHは、C256,2が割り当てられている。まず、SF=2のデータチャネルであるE−DPDCH1とE−DPDCH2にチャネライゼーションコードC2,1を割り当てる。次にQ側のSF=4のデータチャネルであるE−DPDCH4にチャネライゼーションコードC4,1を割り当てる。次にI側のSF=4のデータチャネルであるE−DPDCH3には、I側にDPDCHがあるので、チャネライゼーションコードC4,0を割り当てる。
図41に、I軸におけるチャネライゼーションコードのコードツリーを示す。I軸4100におけるコードツリーは、上記実施の形態7の説明で用いたI軸におけるチャネライゼーションコードのコードツリーである。図41に示す4101a〜4101nは、各SF(SF=2、SF=4、SF=8)におけるチャネライゼーションコードである。コードツリーの太線4102は、チャネライゼーションコード4101a(C2,0)、4101d(C4,1)、4101i(C8,2)がDPDCHに使用されていることを示している。DPDCHに割り当てられたチャネライゼーションコード4101a(C2,0)、4101d(C4,1)、4101i(C8,2)は、他のチャネルに割り当てることはできない。I軸にSF=2のデータチャネルとSF=4のデータチャネルをそれぞれ1本ずつ割り当てるとすると、DPDCHの番号を変えると、リリース5の基地局が互換性を取れなくなるので、ソフトハンドオーバが困難になる。したがって、DPDCHが使用中のチャネライゼーションコードには割り当てられない。そこで、まず、SF=2のデータチャネルにチャネライゼーションコード4101b(C2,1)を割り当て、次にSF=4のデータチャネルにチャネライゼーションコード4101c(C4,0)を割り当てるのがよい。したがって、E−DPCCHは、I側で用いる場合、SF=256とするとC256,k(64≦k≦127)のチャネライゼーションコードを用いるのが望ましい。
図42に、Q軸におけるチャネライゼーションコードのコードツリーを示す。図42に示す4201a〜4201nは、各SF(SF=2、SF=4、SF=8)におけるチャネライゼーションコードである。コードツリーの太線4202は、チャネライゼーションコード4201a(C2,0)、4201c(C4,0)、4201g(C8,0)がDPCCHに使用されていることを示している。また、コードツリーの太線4203は、チャネライゼーションコード4201a(C2,0)、4201d(C4,1)、4201i(C8,2)がHS−DPCCHに使用されていることを示している。Q軸にSF=2のデータチャネルとSF=4のデータチャネルをそれぞれ1本ずつ割り当てるとすると、通信を行う上で必ず使用されるDPCCHが使用中のチャネライゼーションコードは割り当てられないため、まず、SF=2のデータチャネルにチャネライゼーションコード4201b(C2,1)を割り当て、次にSF=4のデータチャネルにチャネライゼーションコード4201d(C4,1)を割り当てるのが好ましい。しかし、チャネライゼーションコード4201d(C4,1)はHS−DPCCHで使用中であるため、このままではHS−DPCCHと衝突してしまう。HS−DPCCHはソフトハンドオーバしないので、コード番号を変えても従来の基地局と互換性を維持することができる。そこで、Q軸にSF=2のデータチャネルとSF=4のデータチャネルをそれぞれ1本ずつ割り当てるとすると、HS−DPCCHのコード割り当てをデータチャネル(E−DPDCH)との衝突を避けるために、C256,k(1≦k≦63)のチャネライゼーションコードで、例えばC256,1またはC256,32に設定する。但し、データチャネル(E−DPDCH)の本数があらかじめHS−DPCCHと衝突しない本数に制限されている場合は、HS−DPCCHのコード割り当て方をリリース5と同じように設定してもよい。また、E−DPCCHは、Q側で用いる場合は、SF=256とするとC256,k(1≦k≦63)のチャネライゼーションコードで、HS−DPCCHと衝突しないチャネライゼーションコードを用いるのが望ましい。
図43は、HS−DPCCHがある場合のSFの大小によるチャネライゼーションコードの割り当て方のフローチャートである。STEP4300において、制御部905は、HS−DPCCHのコード割り当てをC256,k(1≦k≦63)に設定する。例えばC256,1またはC256,32に設定する。但し、初めからデータチャネル(E−DPDCH)の本数が3本以下に制限されている場合は、HS−DPCCHのコードの割り当て方がリリース5と同じでもよい。この場合はSTEP4300を省略することができる。STEP4301において、ゲインファクタ別コード割当部21は、I側、Q側のSF=2のデータチャネル(E−DPDCH)にそれぞれC2,1を割り当て、記憶部15に記憶する。そして、STEP4302において、残コード割当部22は、I側のSF=4のデータチャネルにC4,0を割り当て、記憶部15に記憶する。C4,1を割り当てるとDPDCHと衝突するためである。また、STEP4303において、残コード割当部22は、Q側のSF=4のデータチャネル(E−DPDCH)にC4,1を割り当て、記憶部15に記憶する。C4,0を割り当てるとDPCCHと衝突するためである。DPCCHもDPDCHもリリース99(R99)で規格化されたチャネルなので、チャネライゼーションコード番号を変えた場合に、バックワードコンパティビリティー(旧版互換性)がなくなるので、ソフトハンドオーバができなくなる。このフローチャートではチャネライゼーションコードを割り当てる時間的順序を決定しておらず、割り当てる優先順序を決定している。制御部905がチャネライゼーションコードを設定するタイミングは同じでよい。
図44は、HS−DPCCHがある場合のSFの大小によってチャネライゼーションコードを割り当てる例である。HS−DPCCHを使用するので、HS−DPCCHのコード割り当てをC256,1に設定する。リリース5用のDPDCH1は、64kbpsで送信すると仮定すると、C16,4が割り当てられる。E−DPCCHは、C256,2が割り当てられている。まず、SF=2のデータチャネルであるE−DPDCH1とE−DPDCH2にチャネライゼーションコードC2,1を割り当てる。次に、I側のSF=4のデータチャネルであるE−DPDCH3には、I側にDPDCHがあるので、チャネライゼーションコードC4,0を割り当てる。次に、Q側のSF=4のデータチャネルであるE−DPDCH4にチャネライゼーションコードC4,1を割り当てる。
上記の考え方を一般化した場合を考える。
チャネライゼーションコードは、どんなSFであっても展開してSF=2のチャネライゼーションコードで表すことができる。図45は、チャネライゼーションコードの構成を示す表である。SF=2のチャネライゼーションコードは、最小のSFであるSF=2のチャネライゼーションコードを表す。SF=sfのチャネライゼーションコードは、SF=2でない場合のチャネライゼーションコードの構成を示す。1回展開するとコード番号kが2で割った商になっていることがわかる。今、SF=sf、コード番号kのチャネライゼーションコードをSF=2まで展開すると、コード番号kが0≦k≦(SF/2−1)である場合は、SF/2で割った商が0になるので、SF=2まで展開した場合に、C2,0または、−C2,0で構成されることになる。また、コード番号kが(SF/2)≦k≦(SF−1)である場合は、SF/2で割った商が1になるので、SF=2まで展開した場合に、C2,1または、−C2,1で構成されることになる。
全てのコード番号kが0≦k≦(SF/2−1)であるチャネライゼーションコードCSF,kを使用した場合の説明を行う。この場合は、どんなSFに対しても奇数チップ目から偶数チップ目への位相変化は、ゲインファクタを変えても常に0度になっている。以下の計算式でこれを証明する。I側、Q側のチャネルが共にC2,0=(1、1)、−C2,0=(−1、−1)しか用いていない。ある部分の奇数チップ目から偶数チップ目への遷移のみに限定して考えると、どんなチャネルであっても、どんなゲインファクタであっても、多重数が何本であっても、次のように表すことができる。以下のβ1からβ4は実数である。
I=β1−β2,β1−β2
Q=β3−β4、β3−β4
以上のように、この部分の位相変化は0度になっている。このことが全ての奇数チップ目から偶数チップ目にかけて位相変化についても同様に証明できるので、奇数チップ目から偶数チップ目にかけての位相変化は0度になっている。
次に、コード番号kが(SF/2)≦k≦(SF−1)であるチャネライゼーションコードCSF,kを使用した場合の説明を行う。この場合は、どんなSFに対しても奇数チップ目から偶数チップ目への位相変化は、ゲインファクタを変えても常に180度になっている。I側、Q側のチャネルが共にC2,1=(1,−1)、−C2,1=(−1,1)しか用いていない。ある部分の奇数チップ目と偶数チップ目の遷移のみに限定して考えると、どんなチャネルであっても、どんなゲインファクタであっても、多重数が何本であっても、次のように表すことができる。以下のβ5〜β8は実数である。
I=β5−β6,−β5+β6
Q=β7−β8,−β7+β8
以上のように、この部分の位相変化は180度になっている。このことが全ての奇数チップ目から偶数チップ目にかけて位相変化についても同様に証明できるので、奇数チップ目から偶数チップ目にかけての位相変化は180度になっている。
コード番号kが0≦k≦(SF/2−1)であるチャネライゼーションコードCSF,kとコード番号kが(SF/2)≦k≦(SF−1)であるチャネライゼーションコードCSF,kが混ざった場合の説明を行う。この場合のある部分の奇数チップ目から偶数チップ目への遷移は、I側、Q側のチャネルが共にC2,0=(1、1)、−C2,0=(−1、−1)、C2,1=(1、−1)、−C2,1=(−1、1)しか用いない。ある部分の奇数チップ目と偶数チップ目の遷移のみに限定して考えると、どんなチャネルであっても、どんなゲインファクタであっても、多重数が何本であっても、次のように表すことができる。以下のβ1〜β8は、実数である。
I=β1−β2+β5−β6,β1−β2−β5+β6
Q=β3−β4+β7−β8、β3−β4−β7+β8
以上のように、β1〜β4が0のとき、またはβ5〜β8が0のときでないと、この部分の位相変化は0度または180度にならない。このことが全ての奇数チップ目から偶数チップ目にかけての位相変化についても同様に証明できるので、奇数チップ目から偶数チップ目にかけての位相変化は、コード番号kが0≦k≦(SF/2−1)であるチャネライゼーションコードCSF,kとコード番号kが(SF/2)≦k≦(SF−1)であるチャネライゼーションコードCSF,kの両方を使用した場合の位相変化は0度または180度にならない。したがって、なるべく位相変化が0度または180度になるように、コード番号kが0≦k≦(SF/2−1)であるチャネライゼーションコードCSF,kだけを用いるかコード番号kが(SF/2)≦k≦(SF−1)であるチャネライゼーションコードCSF,kだけを用いるほうがよい。
どんなSFであっても、コード番号kが0≦k≦(SF/2−1)であるチャネライゼーションコードCSF,kとコード番号kが(SF/2)≦k≦(SF−1)であるチャネライゼーションコードCSF,kとがI側ないしQ側に混ざると位相変化が90度に近くなる。そこで、コード番号kが0≦k≦(SF/2−1)であるチャネライゼーションコードCSF,kとコード番号kが(SF/2)≦k≦(SF−1)であるチャネライゼーションコードCSF,kとがなるべく混ざらないようすることが求められる。このためには、β1〜β4の絶対値を大きくしてβ5〜β8の絶対値を小さくするか、β5〜β8の絶対値を大きくしてβ1〜β4の絶対値を小さくするとよい。つまり、I軸、Q軸において、2チップ間に限定したチップの遷移が(1、1)もしくは(−1、−1)になるチャネライゼーションコードが割り当てられているI/Q軸のチップに対する重み付け係数を大きくして、β1〜β4を大きくし、β5〜β8を小さくする。または、I軸、Q軸において、2チップ間に限定したチップの遷移が(1、−1)もしくは(−1、1)になるチャネライゼーションコードが割り当てられているI/Q軸のチップに対する重み付け係数を大きくして、β5〜β8を大きくし、β1〜β4を小さくする。このことは、I/Q軸のチップに対する重み付け係数の大きいチャネルから(1、1)もしくは(−1、−1)にする、つまりコード番号kが0≦k≦(SF/2−1)であるチャネライゼーションコードCSF,kを割り当てることで実現する。または、I/Q軸のチップに対する重み付け係数の大きいチャネルから(1、−1)もしくは(−1、1)にする、つまりコード番号kが(SF/2)≦k≦(SF−1)であるチャネライゼーションコードCSF,kを割り当てることで実現する。I/Q軸のチップに対する重み付け係数の大きいチャネルからチャネライゼーションコードを割り当てることは、ゲインファクタ/(β1+β2+・・・+β8)の絶対値が大きいデータチャネルからチャネライゼーションコードを割り当てることと等しい。位相変化θは、ゲインファクタの総和であるβ1〜β8によって決定されるので、位相変化θを決定する度合いの大きなチャネルからコード番号kが0≦k≦(SF/2−1)であるチャネライゼーションコードCSF,kを割り当てる、または、位相変化θを決定する度合いの大きなチャネルからコード番号kが(SF/2)≦k≦(SF−1)であるチャネライゼーションコードCSF,kを割り当てることと等しい。つまり、位相変化θを決定する度合いの大きなチャネルからコード番号kが0≦k≦(SF/2−1)であるチャネライゼーションコードCSF,kを割り当てるか、または位相変化θを決定する度合いの大きなチャネルからコード番号kが(SF/2)≦k≦(SF−1)であるチャネライゼーションコードCSF,kを割り当てると、位相変化θをなるべく0度または180度に近づけることが可能となるので、オーバーシュートが小さくなる。したがって、位相変化θを決定する度合いの大きなチャネルからコード番号kが0≦k≦(SF/2−1)であるチャネライゼーションコードCSF,kを割り当てるか、または位相変化θを決定する度合いの大きなチャネルからC2,1、C4,2、C4,3を割り当てると、オーバーシュートが小さくてすむ。
つまり、実施の形態2と同様になるべくゲインファクタの大きいチャネルから、コード番号kが0≦k≦(SF/2−1)であるチャネライゼーションコードCSF,kを割り当てるか、または、コード番号kが(SF/2)≦k≦(SF−1)であるチャネライゼーションコードCSF,kを割り当てる方法が有力である。具体的には、例えばI軸でコード番号kが0≦k≦(SF/2−1)であるチャネライゼーションコードCSF,kを割り当てた場合には、Q軸でも同様にコード番号kが0≦k≦(SF/2−1)であるチャネライゼーションコードCSF,kを割り当てる。また、I軸でコード番号kが(SF/2)≦k≦(SF−1)であるチャネライゼーションコードCSF,kを割り当てた場合には、Q軸でも同様にコード番号kが(SF/2)≦k≦(SF−1)であるチャネライゼーションコードCSF,kを割り当てる。ゲインファクタの大小では求められない場合は、より大きなデータを乗せているチャネルのほうが、送信電力が大きいと考えられるので、実施の形態3と同様にデータ量の大きなチャネルからチャネライゼーションコードを割り当てるか、SFが小さいデータチャネルはSFが大きいデータチャネルよりもデータ量が多いと考えられるので、SFが小さいデータチャネルからデータを割り当てる方法が有力である。
図46および図47は、異なるSFのデータチャネルを多重する場合のチャネライゼーションコードの割り当て方のフローチャートである。STEP4600において、制御部905は、全てのSFに対し、コード番号kが0≦k≦(SF/2−1)である全てのチャネライゼーションコードCSF,kのグループをグループA、全てのSFに対し、コード番号kが(SF/2)≦k≦(SF−1)である全てのチャネライゼーションコードCSF,kのグループをグループBとする。STEP4601において、制御部905は、HS−DPCCHを使用しているか判断する。使用していればSTEP4602が実行される。HS−DPCCHが使用されていなければSTEP4603が実行される。STEP4602において、制御部905は、HS−DPCCHのコード割り当てを設定する。初めからデータチャネルの本数がHS−DPCCHと衝突しない本数に制限されている場合は、HS−DPCCHのコードの割り当て方がリリース5と同じでもよい。この場合はSTEP4601とSTEP4602を省略することができる。
STEP4603において、ゲインファクタ別コード割当部21は、I軸とQ軸の全てのデータチャネルに対し、グループAのチャネライゼーションコードのみで、他のチャネルと衝突を起こさずに割り当てを行うことができるか判断する。割り当てを行うことができればSTEP4604が実行される。一方、割り当てを行うことができなければSTEP4605が実行される。STEP4604において、ゲインファクタ別コード割当部21は、I軸とQ軸の全てのデータチャネルにグループAのチャネライゼーションコードを割り当て、記憶部15に記憶する。または、I軸とQ軸の全てのデータチャネルにグループBのチャネライゼーションコードを割り当て、記憶部15に記憶する。STEP4605において、ゲインファクタ別コード割当部21は、I軸でチャネライゼーションコードが割り当てられていないデータチャネルのうち、最小のSFのデータチャネルにグループBのチャネライゼーションコードを割り当て、記憶部15に記憶する。STEP4606において、ゲインファクタ別コード割当部21は、I軸にまだチャネライゼーションコードの割り当てが行われていないデータチャネルがあるか判断する。I軸にチャネライゼーションコードの割り当てが行われていないデータチャネルがあればSTEP4607が実行される。一方、I軸にチャネライゼーションコードの割り当てが行われていないデータチャネルがなければ、STEP4609が実行される。STEP4607において、ゲインファクタ別コード割当部21は、I軸にチャネライゼーションコードが割り当てられていないデータチャネルに、グループBのチャネライゼーションコードを割り当てると、他のチャネルと衝突を起こすか判断する。衝突を起こすと判断した場合には、STEP4608が実行される。衝突を起こさないと判断した場合には、STEP4605が実行される。STEP4608において、残コード割当部22は、I軸でチャネライゼーションコードが割り当てられていない全てのデータチャネルにグループAを割り当て、記憶部15に記憶する。STEP4609において、ゲインファクタ別コード割当部21は、Q軸でチャネライゼーションコードが割り当てられていないデータチャネルのうち、最小のSFのデータチャネルにグループBのチャネライゼーションコードを割り当て、記憶部15に記憶する。STEP4610において、ゲインファクタ別コード割当部21は、Q軸のデータチャネルのうち、チャネライゼーションコードが割り当てられていないデータチャネルがあるか判断する。チャネライゼーションコードが割り当てられていないデータチャネルがあればSTEP4611が実行される。チャネライゼーションコードが割り当てられていないデータチャネルがなければ終了する。STEP4611において、ゲインファクタ別コード割当部21は、Q軸に残っているデータチャネルのうち、グループBのチャネライゼーションコードを割り当てると、他のチャネルと衝突を起こすか判断する。衝突を起こすと判断された場合には、STEP4612が実行される。衝突を起こさないと判断された場合には、STEP4609が実行される。STEP4612において、残コード割当部22は、Q軸でチャネライゼーションコードが割り当てられていない全てのデータチャネルにグループAを割り当て、記憶部15に記憶する。
本実施の形態によれば、位相変化を決定する度合いが大きなチャネルからチャネライゼーションコードを割り当てていくことで、より小規模なH/Wを用いて、オーバーシュートの少ないチャネライゼーションコードの組み合わせを決定することができる。
10 CPU、11 コード組み合わせ作成部、12 チップ間位相変化算出部、13 コード組み合わせ決定部、14 コード割当指示部、15 記憶部、21 ゲインファクタ別コード割当部、22 残コード割当部、31 データ量別コード割当部、41 禁止コード判定部、900 プロトコル処理部、901 送信部、902 変調部、903 スクランブリングコード発生器、904 チャネライゼーションコード発生器、905 制御部、906 D/Aコンバータ、907 周波数変換部、908 電力増幅部、909 アンテナ、910 低雑音増幅部、911 周波数変換部、912 受信部。