[第1の実施形態]
以下、本発明の第1の実施形態にかかる無線送信機及び無線送信方法について、図面を参照しつつ説明を行なう。なお、以下の各実施形態では、特に通信システムを限定していないが、直交周波数分割多元接続(Orthogonal Frequency Division Multiplexing Access)システムに適用することが考えられる。
まず、周波数領域での循環遅延送信について説明する。従来の無線送信機における循環遅延部における循環遅延処理は、時間領域で遅延を加える処理であるが、これは時間領域での信号をf(t)、周波数領域での信号(f(t)の式(1)のフーリエ変換後の信号)をF(ω)、遅延量をτ(式(2))とおくと、時間領域で遅延を加えた信号f(t−τ)の周波数領域での信号(f(t−τ)のフーリエ変換後の信号)F’(ω)は、式(3)で示される。
すなわち、周波数領域ではexp(−jωτ)を乗算することと等価となる。これは無線送信機においては、逆高速フーリエ変換の前に位相回転を施す処理となる。
本実施形態にかかる無線送信機の簡略化したブロック図を図1に示す。図1は3本の送信アンテナ10a〜10cを用いる無線送信機であり、誤り訂正符号化部11、変調部12、チャネル割り当て部13、IFFT演算部(逆高速フーリエ変換演算部)14a〜14c、GI付加部(ガードインターバル付加部)15a〜15c、D/A変換部(ディジタル/アナログ変換部)16a〜16c、無線送信部17a〜17c、位相回転部18b、18c、スケジューリング部19、パイロット信号生成部32から構成される。ただし、送信アンテナおよびそれに連なる信号経路の個数は2以上の任意数であればよい。
送信される各ユーザのパケット化された情報データは、誤り訂正符号化部11において、誤り訂正符号化が施される。次いで、変調部12において変調が施される。また、パイロット信号生成部32は、既知の伝搬路推定用データ(パイロット信号と称する。)を生成し、チャネル割り当て部31に出力する。一方、スケジューリング部19では、周波数軸と時間軸からなる送信空間における複数のブロックに対して、ユーザの割り当てを行い、割り当て結果をブロック割り当て情報としてチャネル割り当て部13へ出力する。このブロック割り当て情報に従って、ユーザ毎に変調された情報データ及びパイロット信号はチャネル割り当て部13において、各チャネルに割り当てが行なわれる。送信アンテナ10aに対しては、割り当てが行なわれた全ユーザの情報データはIFFT演算部14aにおいて逆高速フーリエ変換が施され、GI付加部15aにおいて、ガードインターバルが付加される。さらに、データはD/A変換部16aでディジタル信号からアナログ信号に変換された後、無線送信部17aにおいて、送信すべき周波数に変換され、送信アンテナ10aよりパケット化された情報データがバースト信号として送信される。
次に送信アンテナ10b、送信アンテナ10cに対しては、割り当てが行なわれた全ユーザのパケット化された情報データが送信アンテナ毎に用意された位相回転部18b、18cに出力される。
位相回転部18b、18c及びIFFT演算部14b、14cは、各入力データに対する位相回転量を生成し、生成した位相回転量に基づいて前記入力データの位相を回転させつつ、該入力データについて逆高速フーリエ変換を行う。
具体的には、位相回転部18b、18cでは、スケジューリング部19が生成したブロック割り当て情報を基にCDT(循環遅延送信)を行なうユーザデータにのみ位相回転(循環遅延)が施される。位相回転部18b、18cから出力されたデータは、各IFFT演算部14b、14cにおいて逆高速フーリエ変換処理が行なわれる。
その後、GI付加部15b、15cにおいて、ガードインターバルが付加され、D/A変換部16b、16cでディジタル信号からアナログ信号に変換される。変換された信号は無線送信部17b、17cにおいて、送信すべき周波数に変換され、各送信アンテナ10b、10cよりパケット化された情報データがバースト信号として送信される。
上記ブロック構成の無線送信機を用いることによりCDT(循環遅延送信)を一部のユーザ(チャネル)に対してのみ適用することができる。
次に、位相回転部18b、18cを用いる前記無線送信機の位相回転部18b、18c及びIFFT演算部14b、14cの詳細な説明を行なう。まず位相回転部18b、18cの概略構成図を図2に示す。
位相回転部18b、18cの各々は位相回転係数生成部181、複素乗算部182、カウンタ183を具備する。一例として、入力データは1OFDMシンボル分のデータが1サブキャリアずつ順番に入力される。入力データは複素乗算部182とカウンタ183に入力される。カウンタ183では、現在の入力データが何番目のサブキャリアのデータであるかの情報を保持する。位相回転係数生成部181ではスケジューリング部19(図1)からくるブロック割り当て情報とカウンタ183の値とから、現在の入力データが循環遅延送信を行なうデータであるか否かを判断し、循環遅延送信を行なう場合は位相回転を行なうための乗算係数を算出して複素乗算部182へ出力し、循環遅延送信を行なわない場合は乗算係数として1を複素乗算部182へ出力する。複素乗算部182では入力データと、位相回転係数生成部181から出力された乗算係数を複素乗算して出力データとしてIFFT演算部14b、14cへ出力する。
なお、位相回転部18b、18c(図1)は、専用のハードウェアにより実現されるものであってもよく、また、この位相回転部18b、18cは図示しないメモリおよびCPU(中央演算装置)を具備し、位相回転部18b、18cの機能を実現するためのプログラムをこのメモリにロードして実行することにより、その機能を実現させるものであってもよい。該プログラムによる場合の動作を図3に示すフローチャートを参照して説明する。
位相回転部18b、18c(図1)は、1OFDMシンボル分のデータを1サブキャリアずつ順番に入力データとして受け付けて、該入力データが位相回転の対象であるかを、ブロック割り当て情報および何番目の入力データであるかに基づき、判断する(Sa1)。ここで、該入力データが位相回転の対象であったとすると、ステップSa2に遷移して、位相回転部18b、18cは、位相回転を行うための乗算係数を算出する。次に、位相回転部18b、18cは、算出した乗算係数と入力データを複素乗算して、その結果を出力する(Sa3)。次に、全ての入力データについて処理を完了しているかを判定する(Sa4)。完了している場合は、終了する。入力データに残りがある場合は、ステップSa1に戻る。ステップSa1では、位相回転部18b、18cは、次の入力データを受け付けて、該入力データが位相回転の対象であるかを、ブロック割り当て情報および何番目の入力データであるかに基づき、判断する(Sa1)。ここで、該入力データが位相回転の対象でなかったとすると、位相回転部18b、18cは、そのまま該入力データを出力して、ステップSa4に遷移し、再び全ての入力データについて処理を完了しているかを判定する。以降、全ての入力データについて処理を完了するまで、位相回転部18b、18cは、これらの動作を繰り返す。
次に、IFFT演算部14b、14cの概略構成図を図4に示す。IFFT演算部14b、14cは、バタフライ演算部141、回転因子生成部142、データセレクタ143、データセレクタ制御部144、メモリ145、アドレス生成部146、ステージカウンタ147を具備する。
ここでIFFT演算部14b、14cの動作説明を行なう前に、逆高速フーリエ変換についての説明を行なう。図5に基数2のバタフライ演算を用いた際の、サンプル数N=8の時間間引き型の逆高速フーリエ変換の模式図を示す。3つのステージ(第1〜第3ステージ)で構成されており、各ステージにおいて4つの後述するバタフライ演算が行なわれる。左端のF(n) (n=0,1,…,7)が入力信号であり、3つのステージのバタフライ演算が行なわれた結果が右端の逆高速フーリエ変換出力f(n) (n=0,1,…,7)となる。ここで、3つのステージ(第1ステージ、第2ステージ、第3ステージ)の各々のバタフライ演算は、後述のバタフライ演算表記によって、示されている。バタフライ演算の詳細を図6に示す。図6(b)が前述の図5のバタフライ演算表記である。
このバタフライ演算の意味するところは図6(a)であり、2つの出力信号X,Yは、2つの入力信号x,y及び回転因子Wkを用いて以下の式(4)および式(5)で表される。
すなわち、出力信号Xは、入力信号xに、入力信号yと回転因子Wkを複素数乗算した結果を複素数加算したものである。出力信号Yは、入力信号xから、入力信号yと回転因子Wkを複素数乗算した結果を複素数減算したものである。バタフライ演算は、回転因子Wkの周期性を利用して、計算回数を減らすことを可能にする。上述のバタフライ演算を組み合わせることにより逆高速フーリエ変換が行なわれる。
なお、図6の(c)については、第4の実施形態にて説明する。
なお、ここではサンプル数N=8における説明を行なったが、N=2m(mは自然数)のサンプル数においても上記バタフライ演算を繰り返すことにより逆高速フーリエ変換が可能であり、また、その際の第1ステージにおける回転因子Wkの値は常にW0である。
上記N=8における逆高速フーリエ変換をIFFT演算部14a〜14cで行なう場合の動作説明を行なう。ステージカウンタ147(図4)は、逆高速フーリエ変換におけるステージのカウントを行なう。データセレクタ制御部144は、ステージカウンタ147の値をもとに、データセレクタ143を用いて逆高速フーリエ変換の各ステージの処理に必要な信号の入出力を制御する。データセレクタ143は、データセレクタ制御部144の制御により、後述するメモリ145、バタフライ演算部141、およびIFFT演算部14a〜14cの外部に対するデータの入出力を切り替える。回転因子生成部142は、ステージカウンタ147の値をもとにバタフライ演算に必要な回転因子Wkを生成し、バタフライ演算部141へ出力する。バタフライ演算部141は、データセレクタ143から入力されるx、yと回転因子生成部142で生成される回転因子Wkをもとにバタフライ演算を行なう。アドレス生成部146は、ステージカウンタ147の値をもとに、メモリ145への入出力データのアドレスを生成する。メモリ145は、アドレス生成部146の生成したアドレスに対してデータセレクタ143へのデータの入出力を行なう。
まず、1OFDMシンボル分のデータを処理する前にステージカウンタ147が0にリセットされる。データセレクタ制御部144はステージカウンタ147の値が0の時には、データセレクタ143を制御し、位相回転部18b〜18c或いはチャネル割り当て部13からの入力データをメモリ145へ順次格納する。メモリ145内の格納するアドレスはアドレス生成部146により生成される。
全てのデータがメモリ145へ格納されるとステージカウンタ147が1になり、図5における第1ステージのバタフライ演算が実行される。アドレス生成部146で各バタフライ演算に用いられるデータのアドレスが選択され、メモリ145内のデータx、yがデータセレクタ143を通じてバタフライ演算部141に入力される。さらに回転因子生成部142ではバタフライ演算に必要な回転因子WkとしてW0を生成し、バタフライ演算部141へ出力する。バタフライ演算部141ではデータx、yと回転因子Wkを用いて式(4)および式(5)のバタフライ演算を行ない、結果X、Yがデータセレクタ143を介して、メモリ145へ格納される。第1ステージのバタフライ演算が全て行なわれるとステージカウンタ147が2となり、第1ステージと同様に第2ステージの処理が行なわれる。第2ステージでは、図5に示すように、1回目と2回目のバタフライ演算の際は、回転因子生成部142は、回転因子WkとしてW0を生成して出力し、3回目と4回目のバタフライ演算の際は、回転因子生成部142は、回転因子WkとしてW−2を生成して出力する。第2ステージの処理が全て行なわれるとステージカウンタ147が3となり、第3ステージの演算が行なわれる。第3ステージでは、回転因子生成部142が生成する回転因子Wkは、1回目のバタフライ演算の際はW0、2回目の際はW−2、3回目の際はW−1、4回目の際はW−3、となる。第3ステージのバタフライ演算が全て行なわれると、その演算結果が逆高速フーリエ変換結果としてメモリ145内に格納される。第3ステージの演算が終了するとステージカウンタ147は4となり、メモリ145内に格納されたデータを既定のアドレス順で出力データとしてGI付加部15a〜15cへと出力する。すべてのデータが出力されるとステージカウンタ147は0に戻り、次のOFDMシンボルを処理する。
以下では上述の逆高速フーリエ変換を基数2の基本IFFT演算と呼称し、基数2の基本IFFT演算にて用いているバタフライ演算を基数2のバタフライ演算と呼称する。
なお、本実施形態においては、各ステージの演算の入出力データの保持に1つのメモリ145を用いているが、各ステージにそれぞれメモリ、およびバタフライ演算部を置くことにより、複数シンボルの逆高速フーリエ変換を高速に行なうことも可能である。また、1つのバタフライ演算に対して複数データの入出力を行なう必要があるが、入出力時間を短縮するために複数のメモリを用意し、並列処理で高速にデータの入出力処理を行なうことも可能である。さらにバタフライ演算部を複数持つことにより、各ステージ内のバタフライ演算を並列で行なうことも可能である。
なお、IFFT演算部14a〜14cは、専用のハードウェアにより実現されるものであってもよく、また、このIFFT演算部14a〜14cはメモリおよびCPU(中央演算装置)により構成され、IFFT演算部14a〜14cの機能を実現するためのプログラムをメモリにロードして実行することによりその機能を実現させるものであってもよい。該プログラムによる場合の動作を図7に示すフローチャートを参照して説明する。
まず、IFFT演算部14a〜14cは、入力データを受け付け、これをメモリに書込む(Sb1)。1OFDMシンボル分の入力データを受け付けるまで、ステップSb1を繰り返す(Sb2)。次に、IFFT演算部14a〜14cは、バタフライ演算を行うデータをメモリから読み出す(Sb3)。読み出したデータに対してバタフライ演算を行うための回転因子を生成する(Sb4)。ステップSb3にて読み出したデータと、ステップSb4にて生成した回転因子とに基づき、バタフライ演算を行う(Sb5)。ステップSb5にて演算した結果をメモリに書込む(Sb6)。第1ステージでは、該バタフライ演算を全ての入力データに対して実施し、第2ステージでは、バタフライ演算を第1ステージの全ての演算結果に対して実施し、以降、全てのステージが終了するまで、ステップSb3〜Sb6を繰り返す(Sb7)。
[第2の実施形態]
以下、本発明の第2の実施形態にかかる無線送信機について、図面を参照しつつ説明を行なう。
第1の実施形態にかかる無線送信機では、送信を行なう送信アンテナの本数に比例してIFFT演算部、位相回転部が増えることになる。または、各送信アンテナの信号を、一組のIFFT演算部、位相回転部を用いて順次処理することにより回路規模を低減させることはできるが、処理遅延が増大することになる。
本実施形態においては以下に示す実施形態のIFFT演算部において位相回転処理をも行なうことにより上記位相回転部を不要とし、それによって回路規模ないし処理遅延を低減させる。
本実施形態にかかる無線送信機の簡略化したブロック図を図8に示す。図8は送信アンテナ10a〜10cを用いる無線送信機であり、誤り訂正符号化部11、変調部12、チャネル割り当て部13、基数2の基本IFFT演算を行うIFFT演算部(逆高速フーリエ変換演算部)20a〜20c、GI付加部(ガードインターバル付加部)15a〜15c、D/A変換部(ディジタル/アナログ変換部)16a〜16c、無線送信部17a〜17c、スケジューリング部19、パイロット信号生成部32から構成される。ただし、送信アンテナおよびそれに連なる信号経路の個数は2以上の任意数であってもよい。
ここで本実施形態における誤り訂正符号化部11、変調部12、チャネル割り当て部13、GI付加部15a〜15c、D/A変換部16a〜16c、無線送信部17a〜17c、IFFT演算部20a、パイロット信号生成部32の動作は上述の図1に示す無線送信機と同じであるため説明を省略し、以下ではIFFT演算部20b〜20cについて説明する。
IFFT演算部20b、20cは、各入力データに対する位相回転量を生成し、生成した位相回転量に基づいて前記入力データの位相を回転させつつ、該入力データについて逆高速フーリエ変換を行う。以下、具体的に説明する。
各IFFT演算部20b〜20cは、簡略化したブロック図である図9に示すように、バタフライ演算部201、回転因子生成部202、データセレクタ203、データセレクタ制御部204、メモリ205、アドレス生成部206、ステージカウンタ207、位相回転量生成部208を具備する。
IFFT演算部20b〜20cでは、まず1OFDMシンボル分のデータを処理する前にステージカウンタ207が0にリセットされる。データセレクタ制御部204はステージカウンタ207の値が0の時には、データセレクタ203を制御し、データセレクタ203は、チャネル割り当て部13からの入力データをデータyとして、またデータxの値を0としてバタフライ演算部201へ出力する。また位相回転量生成部208では上述の位相回転部18b〜18cにおける位相回転係数生成部181と同様に、ブロック割り当て情報から現在のバタフライ演算部201に入力されているデータyが循環遅延送信CDTを行なうデータであるかを判断し、循環遅延送信CDTを行なう場合はバタフライ演算部201へ位相回転を行なうための送信アンテナ10b〜10c毎の位相回転量φを算出して、回転因子生成部202に出力する。回転因子生成部202は、位相回転量φを受けると、乗算係数exp(jφ)を算出して、これを回転因子Wkとして出力する。循環遅延送信CDTを行なわない場合は、位相回転量生成部208は、位相回転量として「0」を出力し、これを受けた回転因子生成部202は、回転因子WkとしてW0を出力する。
ここで、乗算係数exp(jφ)は、式(3)よりexp(−jωτ)となる。ここで、τは送信アンテナ10b〜10c毎に異なる任意の数(遅延量)であり、ωはサブキャリア番号である。また、式(6)より回転因子Wkはexp(−j2πk/N)である。よって、回転因子生成部202においてk=ωτN/2πとすることにより位相回転を行なうための乗算係数を算出し、回転因子Wkとして出力することができる。
バタフライ演算部201では、上記データセレクタ203の出力データx,yと回転因子Wkを用いて、基数2のバタフライ演算が行なわれる。ステージカウンタ207の値が0のときは、入力データxは「0」であり、回転因子Wkはexp(−jωτ)であるため、バタフライ演算ではX=x+yWk=0+y×exp(−jωτ)の演算が行なわれる。すなわち、Xは入力データyに対して位相回転を行なったものである。
例えば、N=512として、スケジューリング部19が、ユーザ1にサブキャリア1,2,・・,75、ユーザ2にサブキャリア76,77,・・,150、ユーザ3にサブキャリア362,363,・・,436、ユーザ4にサブキャリア437,438,・・,511を割り当てて、ユーザ2とユーザ3のデータにのみCDTを行なう場合には、第1ステージの前(ここでは第0ステージと呼ぶ)のバタフライ演算は、式(4)より
X=0+F(ω)Wωτ k
Wωτ k=exp(−j(2πk/N+ωτ))
ω=0,1,2,・・,511となり、回転因子生成部202の生成する回転因子を
Wωτ k=exp(−jωτ) (75<ω<151または361<ω<437)
Wωτ k=exp(−j0)=1 (ω<76または150<ω<362またはω>436)
とすることで、ユーザ2とユーザ3の割り当てられたチャネルのデータにのみ位相回転(循環遅延)を施すことができる。
バタフライ演算部201の出力であるデータXはデータセレクタ203を介してメモリ205へ格納される。1OFDMシンボル分のデータXがメモリ205へ格納されるとステージカウンタ207が1になり、上述の図4に示した基数2の基本IFFT演算手順のステージカウンタ147の値が1以降の逆高速フーリエ変換処理が行なわれる。すなわち本実施形態に係るIFFT演算部20b〜20cでは、図1の位相回転部18b〜18cでの処理をIFFT演算部20b〜20cにおける回転因子生成部202が生成する回転因子の値を制御することで実現し、これにより、回路規模の削減と低消費電力化を可能にしている。
なお、IFFT演算部20b〜20cは、専用のハードウェアにより実現されるものであってもよく、また、このIFFT演算部20b〜20cはメモリおよびCPU(中央演算装置)により構成され、IFFT演算部20b〜20cの機能を実現するためのプログラムをメモリにロードして実行することによりその機能を実現させるものであってもよい。該プログラムによる場合の動作を図10に示すフローチャートを参照して説明する。
IFFT演算部20b〜20cは、スケジューリング部19から受けたブロック割り当て情報に基づき、各入力データについて、位相回転を与える対象であるかを判定する(Sc1)。判定条件は、該入力データが、周波数ダイバーシチ効果を出すユーザに割り当てられたブロックに所属していることである。ここで、位相回転を与える対象で無かった場合は、該入力データをメモリへ書き込み(Sc6)、ステップSc7に遷移する。逆に、位相回転を与える対象であった場合は、ステップSc2に遷移し、まず、IFFT演算部20b〜20cは、該入力データをバタフライ演算の入力信号yとし、値「0」をバタフライ演算の入力信号xとする(Sc2)。次に、該入力データに与える位相回転量φを生成し(位相回転量生成手段)、該位相回転量φに基づき、乗算係数exp(jφ)を生成し、これを回転因子Wkとする(Sc3:回転因子生成手段)。ステップSc2にて、用意した入力信号x、yと、ステップSc3にて生成した回転因子Wkを用いて、出力信号X、Yを、式X=x+yWkとY=x−yWkにて算出するバタフライ演算を行う(Sc4:バタフライ演算手段)。次に、IFFT演算部20b〜20cは、ステップSc4にて算出した出力信号X、Yのうち、出力信号Xのみをメモリに書き込み(Sc5)、ステップSc7に遷移する。
ステップSc7では、全ての入力データについて処理を行ってメモリに書き込んだかを判定する。全ての入力データを処理していないときは、ステップSc1に戻り、残りの入力データを全て処理するまで、前述のステップSc1〜Sc6を繰り返す。全ての入力データを処理し終わると、ステップSc8に遷移する。
ステップSc8以降は、図7に示した逆高速フーリエ変換を行うフローチャートのステップSb3〜Sb7と同様にして、逆高速フーリエ変換を行う。
これにより、循環遅延送信CDTを行う場合は、該当するチャネルについてのみ、入力データに対して位相回転(循環遅延)を与えた後に、逆高速フーリエ変換を実施することがIFFT演算部にて可能となり、循環遅延部が不要となるため、プログラム規模を抑制できる。
[第3の実施形態]
以下、本発明の第3の実施形態に係る無線送信機及び無線送信方法について、図面を参照しつつ説明を行なう。
本実施形態に係る無線送信機のブロック図を図11に示す。図11は送信アンテナ10a〜10cを用いる無線送信機であり、誤り訂正符号化部11、変調部12、チャネル割り当て部13、基数2のIFFT演算部21a〜21c、GI付加部15a〜15c、D/A変換部16a〜16c、無線送信部17a〜17c、スケジューリング部19、パイロット信号生成部32から構成される。ただし、送信アンテナおよびそれに連なる信号経路の個数は2以上の任意数であればよい。
ここで本実施形態における誤り訂正符号化部11、変調部12、チャネル割り当て部13、GI付加部15a〜15c、D/A変換部16a〜16c、無線送信部17a〜17c、IFFT演算部21a、パイロット信号生成部32の動作は図1の無線送信機と同じであるため説明を省略し、以下ではIFFT演算部21b〜21cについて説明する。
各IFFT演算部21b〜21cは、簡略化したブロック図である図12に示すように、バタフライ演算部211、回転因子生成部212、データセレクタ213、データセレクタ制御部214、メモリ215、アドレス生成部216、ステージカウンタ217、位相回転量生成部218を具備する。
IFFT演算部21b〜21cでは、1OFDMシンボル分のデータを処理する前にステージカウンタ217が0にリセットされる。データセレクタ制御部214はステージカウンタ217の値が0の時には、データセレクタ213を制御し、チャネル割り当て部13からの入力データをメモリ215へ順次格納する。格納されるメモリ215のアドレスはアドレス生成部216により生成される。
全てのデータがメモリ215へ格納されるとステージカウンタ217の値が1になり、図5における第1ステージのバタフライ演算が実行される。アドレス生成部216で各バタフライ演算に用いられるデータx、yのアドレスが選択され、メモリ215内のデータx、yがデータセレクタ213を通じてバタフライ演算部211に入力される。ここで回転因子生成部212では第1ステージでは回転因子Wkとして通常W0すなわち1を出力するが、本実施形態においては、位相回転量生成部218が、ブロック割り当て情報を用いて、現在のバタフライ演算部211に入力されているデータyが循環遅延送信CDTを行なうデータであるかを判断し、循環遅延送信CDTを行なう場合は、位相回転量φを算出して回転因子生成部212に出力する。回転因子生成部212は、位相回転量φを受けると、位相回転を行なうための送信アンテナ毎の乗算係数を算出して回転因子Wkとして、バタフライ演算部211へ出力する。循環遅延送信CDTを行なわない場合は、位相回転量生成部218は位相回転量として「0」を出力し、これを受けた回転因子生成部212は、回転因子WkとしてW0すなわち1を、バタフライ演算部211へ出力する。バタフライ演算部211ではデータx、yと回転因子Wkを用いてバタフライ演算を行ない、結果がメモリ215へ格納される。
すなわち回転因子生成部212では回転因子Wωτ k=exp(−j(2πk/N+ωτ))の演算を行なう。第1ステージではk=0となるため、基数2のバタフライ演算は
X=x+yWωτ k
Y=x−yWωτ k
Wωτ k=exp(−jωτ)
と表すことができ、結果として入力データyに位相回転を施すことになる。
例えば、N=512として、ユーザ1にサブキャリア1,2,・・,75、ユーザ2にサブキャリア76,77,・・,150、ユーザ3にサブキャリア362,363,・・,436、ユーザ4にサブキャリア437,438,・・,511を割り当てて、ユーザ3のデータにのみCDTを行なう場合には、
第1ステージのバタフライ演算は、上記式より
X=F(ω)+F(ω+512/2)Wωτ k
Y=F(ω)−F(ω+512/2)Wωτ k
ω=0,1,2,・・,512/2−1
となり、回転因子を
Wωτ k=exp(−jωτ) (361<ω+256<437)
Wωτ k=exp(−j0)=1 (ω+256<362またはω+256>436)
となるように制御することで、ユーザ3の割り当てられたチャネルのデータにのみ位相回転(循環遅延)を施すことができる。
第1ステージのバタフライ演算が全て行なわれるとステージカウンタ217が2となり、上述の図4の基数2の基本IFFT演算のステージカウンタ2以降の逆高速フーリエ変換処理が行なわれる。
すなわち本実施形態に係るIFFT演算部では、第1ステージにおける式(4)の回転因子Wkを、通常のW0ではなく位相回転部18b〜18cの乗算係数としてバタフライ演算を行なうことにより位相回転部18b〜18cを削減することを可能にしている。
本実施形態では、上述のようにデータyに対してのみ位相回転処理を行なうため、循環遅延送信CDTを行うユーザをデータyの領域に割り当てる必要がある。しかし、逆高速フーリエ変換の第1ステージの処理と位相回転処理を同時に行なうため、回路規模の抑制と低消費電力化のみならず、第1の実施形態および図1に示した無線送信機と比較して位相回転処理時間を削減し、演算時間の短縮を可能にしている。
なお、IFFT演算部21b〜21cは、専用のハードウェアにより実現されるものであってもよく、また、このIFFT演算部21b〜21cはメモリおよびCPU(中央演算装置)により構成され、IFFT演算部21b〜21cの機能を実現するためのプログラムをメモリにロードして実行することによりその機能を実現させるものであってもよい。該プログラムによる場合の動作を図13に示すフローチャートを参照して説明する。
IFFT演算部21b〜21cは、入力データを受け付け、これをメモリに書込む(Sd1)。1OFDMシンボル分の入力データを受け付けるまで、ステップSd1を繰り返す(Sd2)。次に、IFFT演算部21b〜21cは、バタフライ演算を行うデータx、yをメモリから読み出す(Sd3)。次に、IFFT演算部21b〜21cは、スケジューリング部19から受けたブロック割り当て情報に基づき、ステップSd3にて読み出したデータyが、位相回転を与える対象であるか判定する(Sd4)。判定条件は、当該ステージが第1ステージであり、該データyが、周波数ダイバーシチ効果を出すユーザに割り当てられたブロックに所属していることである。ここで、位相回転を与える対象でなかった場合は、IFFT演算部21b〜21cは、データx、yに対してバタフライ演算を行うための回転因子Wkを生成し(Sd6:回転因子生成手段)、ステップSd7に遷移する。逆に、位相回転を与える対象であった場合は、ステップSd5に遷移し、データyに与える位相回転量φを生成し(位相回転量生成手段)、該位相回転量φに基づく乗算係数exp(jφ)を回転因子Wkとして出力した後(Sd5:回転因子生成手段)、ステップSd7に遷移する。
ステップSd7では、ステップSd3にて読み出したデータと、ステップSd5またはステップSd6にて生成した回転因子とに基づき、式(4)および式(5)によるバタフライ演算を行う(バタフライ演算手段)。次に、IFFT演算部21b〜21cは、ステップSd7にて演算した結果をメモリに書込む(Sb8)。第1ステージでは、該バタフライ演算を全ての入力データに対して実施し、第2ステージでは、バタフライ演算を第1ステージの全ての演算結果に対して実施し、以降、全てのステージが終了するまで、ステップSd3〜Sd8を繰り返す(Sd9)。
これにより、入力データに対して、循環遅延送信CDTを行う場合は位相回転(循環遅延)を与えた後に、逆高速フーリエ変換を実施することができる。
また、上記第1から第3の実施形態では位相回転の乗算係数としてexp(−jωτ)を用いている。τは送信アンテナ毎に定めた任意の値であり、ωはサブキャリア番号である。そのため、CDTを行なうチャネルのサブキャリア位置によって、位相回転の初期位相が変化する。初期位相が異なると受信端末における伝搬路環境が異なる結果となる。
ここでCDTを行なう各チャネルの開始サブキャリア番号をωsとおき、初期位相係数ω’=ωsとして、位相回転の乗算係数としてexp(−j(ω―ω’)τ)を用いることにより、任意の複数のチャネルの初期位相をそろえることが可能である。
また、受信手段にて、受信機から復調データのビット誤り率、パケット誤り率などの受信品質値の通知を受け、受信品質値が悪い場合は、位相回転量生成部にて、ω’の値を変える(すなわち初期位相を変える)ことにより、受信品質を変化させることが可能となる。他にも無線送信機ではスロット毎にチャネルの初期位相を変化させ、無線受信機から通知されるスロット毎の受信品質値を基に、最も受信品質値がよい初期位相を当該受信機に用いることも考えられる。
[第4の実施形態]
以下、本発明の第4の実施形態に係る無線送信機及び無線送信方法について、図面を参照しつつ説明を行なう。本実施形態においては基数4のIFFT演算を行なうIFFT演算部22a〜22c(図15)を用いる。ここで本実施形態におけるIFFT演算部の動作説明を行なう前に、基数4のIFFT演算についての説明を行なう。
図14に基数4のバタフライ演算をバタフライ演算とした、サンプル数N=16の時間間引き型の逆高速フーリエ変換の模式図を示す。2つのステージ(第1ステージ、第2ステージ)で構成されており、各ステージにおいて4つの後述するバタフライ演算が行なわれる。左端のF(n) (n=0,1,…,15)が入力信号であり、2つのステージのバタフライ演算が行なわれた結果が右端の逆高速フーリエ変換出力f(n) (n=0,1,…,15)となる。図6(c)が前述の図14のバタフライ演算表記である。この演算での4つの出力信号X(0),X(1),X(2),X(3)は、4つの入力信号x(0),x(1),x(2),x(3) 及びK(1),K(2),K(3)を用いて以下の式(7)で表される。
ここで、図14に示すように、第1ステージにおいては、K(1)=K(2)=K(3)=0であり、第2ステージにおいては1つ目のバタフライ演算においては、K(1)=K(2)=K(3)=0であり、2つ目のバタフライ演算においては、K(1)=−1、K(2)=−2、K(3)=−3であり、3つ目のバタフライ演算においては、K(1)=−2、K(2)=−4、K(3)=−6であり、4つ目のバタフライ演算においては、K(1)=−3、K(2)=−6、K(3)=−9である。
Wは、式(6)から求める。上述のバタフライ演算を組み合わせることにより逆高速フーリエ変換が行なわれる。
なお、ここではサンプル数N=16における説明を行なったが、N=4m(mは自然数)のサンプル数においても上記バタフライ演算を繰り返すことにより逆高速フーリエ変換が可能であり、またその際の第1ステージにおけるK(1),K(2),K(3)の値は常に0である。
本実施形態に係る無線送信機の簡略化したブロック図を図15に示す。図15は3本の送信アンテナ10a〜10cを用いる無線送信機であり、誤り訂正符号化部11、変調部12、チャネル割り当て部13、基数4のIFFT演算を行うIFFT演算部22a〜22c、GI付加部15a〜15c、D/A変換部16a〜16c、無線送信部17a〜17c、スケジューリング部19、パイロット信号生成部32から構成される。
ここで本実施形態における誤り訂正符号化部11、変調部12、チャネル割り当て部13、GI付加部15a〜15c、D/A変換部16a〜16c、無線送信部17a〜17c、スケジューリング部19、IFFT演算部22a、パイロット信号生成部32の動作は上述の無線送信機と同じであるため説明を省略し、以下ではIFFT演算部22b〜22cについて説明する。
各IFFT演算部22b〜22cは図16に示すように、バタフライ演算部221、回転因子生成部222、データセレクタ223、データセレクタ制御部224、メモリ225、アドレス生成部226、ステージカウンタ227、位相回転量生成部228から構成される。
N=16におけるIFFT演算部22b〜22cでは、1OFDMシンボル分のデータを処理する前にステージカウンタ227が0にリセットされる。データセレクタ制御部224はステージカウンタの値が0の時には、データセレクタ223を制御し、データセレクタ223は、チャネル割り当て部13からの入力データをメモリ225へ順次格納する。格納されるメモリ225のアドレスはアドレス生成部226により生成される。
全てのデータがメモリ225へ格納されるとステージカウンタ227が1になり、図14における第1ステージのバタフライ演算が実行される。アドレス生成部226で各バタフライ演算に用いられるデータx(0)、x(1)、x(2)、x(3)のアドレスが選択され、メモリ225内のデータがデータセレクタ223を通じてバタフライ演算部221に入力される。ここで回転因子生成部222は、第1ステージでは回転因子として通常、式(7)におけるK(1)=K(2)=K(3)=0の各回転因子W0〜W9を出力する。しかし、本実施形態においては、位相回転量生成部228が、ブロック割り当て情報を用いて、現在のバタフライ演算部221に入力されているデータx(1)、x(2)、x(3)が循環遅延送信CDTを行なうデータであるかを判断し、循環遅延送信CDTを行なうデータがある場合は、各データに対して、位相回転量φ(1)〜φ(3)を生成して、回転因子生成部222に出力する。回転因子生成部222は、位相回転量φ(1)〜φ(3)を受けると、K(1)〜K(3)の中で、当該循環遅延送信CDTを行なうデータの回転因子を算出する際に用いるものには位相回転量φ(1)〜φ(3)に基づき位相回転を行なうための値を代入し、循環遅延送信CDTを行なわないデータの回転因子を算出する際に用いるものには0を代入し、式(7)の回転因子W0+K(1)〜W9+K(3)を出力する。
バタフライ演算部221ではデータx(0)、x(1)、x(2)、x(3)と回転因子を用いてバタフライ演算を行ない、結果がメモリ225へ格納される。
第1ステージのバタフライ演算が全て行なわれるとステージカウンタ227の値が2となり、第1ステージと同様に第2ステージの処理が行なわれる。但し、第2ステージでは回転因子の算出において、上記位相回転のための処理は行なわず、図14に示す通常の逆高速フーリエ変換で用いられるKの値を用いる。
第2ステージの演算が終了するとステージカウンタ227の値は3となり、メモリ225内に格納されたデータを既定のアドレス順で出力データとしてGI付加部15b〜15cへと出力する。すべてのデータが出力されるとステージカウンタ227の値は0に戻り、次のOFDMシンボルを処理する。
すなわち本実施形態に係るIFFT演算部22b〜22cでは、第1ステージにおける式(7)の回転因子に用いるK(K(1)〜K(3))の値を0ではなく、exp(−j2πK/N)の値が式(3)におけるexp(−jωτ)となるようにKの値を選択することにより位相回転部18b〜18cを削減することを可能にしている。
本実施形態では、上述のようにデータx(1),x(2),x(3)に対してのみ位相回転処理を行なうため、循環遅延送信CDTを行うユーザをデータx(1),x(2),x(3)の領域に割り当てる必要がある。しかし、第3の実施形態と同様に位相回転処理時間の削減を可能にしている。
上記第1から第4の実施形態では、逆高速フーリエ変換におけるバタフライ演算として基数2あるいは基数4を仮定している。しかし、他の基数についても第1ステージのバタフライ演算で用いる回転因子を生成する際に、位相回転分を加えて生成することにより、第3、第4の実施形態と同様に、位相回転部18b〜18cを削減することができる。
また、上記第1から第4の実施形態では逆高速フーリエ変換におけるバタフライ演算は基数2あるいは基数4で固定の場合を述べているが、実際に位相回転を施すのはIFFT演算部201、211、221に入力されたデータをメモリ205、215、225へ格納する際(第2の実施形態の第0ステージ)、または逆高速フーリエ変換の第1ステージである。すなわち、第2ステージ以降の基数は第1ステージの基数と異なるものにすることが可能である。これは複数の基数を組み合わせて演算を行なうアルゴリズムに対応できることを意味する。図17にサンプル数N=8において、第1ステージでは基数4でバタフライ演算を行ない、第2ステージでは基数2でバタフライ演算をおこなう時間間引き型の逆高速フーリエ変換の模式図を示す。図17に示すように第1ステージは基数4のバタフライ演算を行なうため、第4の実施形態における位相回転処理を行なうことができる。
(回転因子生成部に関して)
回転因子生成部の実装に関して、回転因子Wkをk’の値をアドレスとしたルックアップテーブルとしてメモリ上に保持してもよい。k’はkをNで割った余りであり、k’=0,1,2,・・,N−1となる。
この回転因子生成部で位相回転の乗算係数を算出する場合、上述の実施形態より、Wk=exp(−j(2πk’/N+ωτ))である。ここで、τ’を整数として、τ=Nτ’/2πとおくと、前記式はWk=exp(−j2π/N(k’+ωτ’))となり、前記ルックアップテーブルのデータのみで乗算係数を算出することができるため、回路規模の増大を抑えることが可能である。
[第5の実施形態]
以下、本発明の第5の実施形態にかかる無線送信機及び無線送信方法について、図面を参照しつつ説明を行なう。
第3の実施形態に示した無線送信機では、データxについては位相回転を与えられない。その結果、チャネル割り当て部13から出力されるデータの半分については、循環遅延送信を実施することができない。
図18(a)は、第3の実施形態にかかる上記問題を説明するための図である。各データは、それぞれ互いに異なるサブキャリア(同図ではω=0乃至1023)に対応している。このサブキャリアの半分(同図ではω=512乃至1023)にかかるデータについて、第3の実施形態では循環遅延送信を実施することができない。
本実施形態では、遅延させることが必要なデータ全てについて、循環遅延送信を実施することができるようにするための構成を示す。
図19は、本実施の形態にかかる無線送信機のシステム構成を示す図である。同図に示すように、本実施の形態にかかる無線送信機は送信アンテナ10a〜10cを用いる無線送信機であり、誤り訂正符号化部11、変調部12、チャネル割り当て部13、基数2のIFFT演算部21a〜21c、GI付加部15a〜15c、D/A変換部16a〜16c、無線送信部17a〜17c、スケジューリング部30、パイロット信号生成部32を含んで構成される。ただし、送信アンテナおよびそれに連なる信号経路の個数は2以上の任意数であればよい。この無線送信機も、OFDMA方式を用いた無線通信システムに適用されるものである。
誤り訂正符号化部11、変調部12、チャネル割り当て部13、IFFT演算部21a〜21c、GI付加部15a〜15c、D/A変換部16a〜16c、無線送信部17a〜17c、パイロット信号生成部32の動作は、第3の実施形態において示したもの(図11)と同様である。以下では、スケジューリング部30の動作について説明する。
スケジューリング部30は、周波数軸と時間軸からなる送信空間における各サブチャネルが、循環遅延送信の対象であるか否かを示す情報を記憶する。ここで、循環遅延送信の対象であるサブチャネルとは、該サブチャネルを構成する複数のサブキャリアが、いずれも遅延ダイバーシチを実施できるサブキャリアであるサブチャネルである。
また、スケジューリング部19は、各ユーザの伝搬路状況を取得し、これに基づいてユーザごとの遅延の当否を判定する。つまり、循環遅延送信の対象とするか否かを判定する。そして、判定結果に応じて、上記割り当てを行う。具体的には、循環遅延送信の対象とするユーザに対し、循環遅延送信の対象であるサブチャネルのブロックを割り当てる。一方、循環遅延送信の対象としないユーザに対し、循環遅延送信の対象でないサブチャネルのブロックを割り当てる。
より具体的には、スケジューリング部19は、伝搬路変動の激しいユーザについては循環遅延送信の対象とすることとし、循環遅延送信の対象であるサブチャネルの中から複数のサブチャネルのブロックを割り当てる。一方、伝搬路変動の少ないユーザについては循環遅延送信の対象としないこととし、循環遅延送信の対象でないサブチャネルのうち、比較的伝搬路状況のよいサブチャネルのブロックを割り当てる。
以下、具体的な例を挙げて、スケジューリング部19の上記処理による効果を説明する。ここではサンプル数が2048であるとすると、位相回転を施すことができるのは図18(b)に示すように、ω=0乃至1023のデータである。このωの数は、図18(a)で示した全サブキャリア数と一致する。すなわち、サブキャリアの数を従来に比べて倍にすることにより、スケジューリング部19の上記処理の結果、全てのユーザについて遅延量が0でない場合にも、全てのデータについて、遅延ダイバーシチを実施することができるようになる。この場合、チャネル割り当て部13は、ω=1024乃至2047に対応するデータに、ヌルデータなどのダミーデータを設定することとなる。
以上説明したように、本実施形態にかかる無線送信機によれば、遅延させることが必要なデータの位相を、確実に回転させることができる。遅延させることが必要なデータが、遅延させることが必要でないデータに比して多いときにも、同様に、遅延させることが必要なデータの位相を、確実に回転させることができる。結果として、遅延させることが必要なデータ全てについて、循環遅延送信を実施することができるようになっている。
[第6の実施形態]
以下、本発明の第6の実施形態にかかる無線送信機及び無線送信方法について、図面を参照しつつ説明を行なう。
本実施形態では、サブキャリアが所定数ずつグループ化される。このグループはサブチャネル単位であってもよいし、そうでなくてもよい。そして、グループ(サブキャリアグループと称する。)ごとに少なくとも1つのサブキャリア(代表サブキャリアと称する。)について、1スロット内で送信される複数のデータのうちの1つを上記パイロット信号としている。無線受信機は、このパイロット信号に基づいて代表サブキャリア及びサブキャリアグループ内の他のサブキャリアの伝搬路状態を推定し、推定結果に基づいて、各サブキャリアにおいて送信される各データを受信する。具体的な例では、パイロット信号の受信電力から増幅率を決定する処理や、受信タイミングを取得する処理を行う。
このような前提の下では、代表サブキャリア以外のサブキャリアについては、適切に伝搬路状態が推定できない場合がある。その例を図20に示す。同図に示す例では、複数の代表サブキャリアにおいて送信される複数のパイロット信号の受信電力による線形補完を行い、他のサブキャリアの受信電力を推定しているが、周波数によって受信電力が大きく異なっているため、サブキャリアによっては、推定誤差が大きくなってしまっている。
上記各実施形態に示したような位相回転による循環遅延送信を行う場合、式(3)に示されるように、サブキャリアごとに位相回転量が異なる。周波数が互いに異なる2つのサブキャリア間で位相回転量が異なれば、他の撹乱要因がない場合であっても、両サブキャリアの受信電力が異なってしまうことが知られており、循環遅延送信により上記推定誤差が増大してしまう。そこで本実施形態では、サブキャリアグループ内で位相回転量を揃えることにより、循環遅延送信による上記推定誤差の増大を防止する。
図21は、本実施形態にかかる無線送信機のシステム構成を示す図である。同図に示すように、本実施の形態にかかる無線送信機は送信アンテナ10a〜10cを用いる無線送信機であり、誤り訂正符号化部11、変調部12、チャネル割り当て部31、基数2のIFFT演算部20a,23b,23c、GI付加部15a〜15c、D/A変換部16a〜16c、無線送信部17a〜17c、スケジューリング部19、パイロット信号生成部32を含んで構成される。ただし、送信アンテナおよびそれに連なる信号経路の個数は2以上の任意数であればよい。この無線送信機も、OFDMA方式を用いた無線通信システムに適用されるものである。
誤り訂正符号化部11、変調部12、GI付加部15a〜15c、D/A変換部16a〜16c、無線送信部17a〜17c、スケジューリング部19、IFFT演算部20a、パイロット信号生成部32の動作は、第2の実施形態において示したもの(図8)と同様である。以下では、チャネル割り当て部31、IFFT演算部23b,23cについて説明する。
チャネル割り当て部31は、各変調部12から複数のデータを取得するとともに、パイロット信号生成部32からパイロット信号を取得する。そして、ブロック割り当て情報に従ってこれらのデータを各サブチャネルに割り当てる。この場合において、チャネル割り当て部31は、代表サブキャリアについて、スロットごとに1つのパイロット信号を含めるようにする。
図22は、IFFT演算部23b,23cの内部構成を示す図である。同図に示すように、IFFT演算部23b,23cの各々は、バタフライ演算部201、回転因子生成部202、データセレクタ203、データセレクタ制御部204、メモリ205、アドレス生成部206、ステージカウンタ207、位相回転量生成部238を含んで構成される。
バタフライ演算部201、回転因子生成部202、データセレクタ203、データセレクタ制御部204、メモリ205、アドレス生成部206、ステージカウンタ207の動作は、第2の実施形態において示したもの(図9)と同様である。以下では、位相回転量生成部238について説明する。
位相回転量生成部238は、チャネル割り当て部31からデータが入力されると、まず、データ列を構成する各データシンボルを、サブキャリアグループに基づいてグループ化する。そして、関数A(ω)=ωDを定義する。ただし、ωはグループ内の各データシンボルに対応するサブキャリアを示し、ωDは代表サブキャリアを示している。
次に、位相回転量生成部238は、位相回転係数生成部181(図2)と同様の処理により、ブロック割り当て情報に基づいて、バタフライ演算部201に入力されているデータyが循環遅延送信の対象であるかを判断し、対象である場合には、遅延量τを取得する。そして、この遅延量τと、サブキャリアグループの構成と、に基づいて、位相回転を行なうための位相回転量φ=A(ω)τを算出し、回転因子生成部202に出力する。具体的には、遅延量τと上記関数A(ω)とに基づいて、位相回転を行なうための位相回転量φ=A(ω)τを算出し、回転因子生成部202に出力する。このようにして、位相回転量生成部238は、グループ内の各データについて、位相回転量を同一としている。
以上の処理の結果、位相回転量はサブキャリアグループ内で統一され、少なくとも位相回転量の相違によってサブキャリアグループ内で受信電力が異なることのないようにすることができる。図23には、このようにして循環遅延送信を行った場合の受信電力の具体的な例が示されている。同図において、点線は受信信号、黒点はパイロット信号についての周波数対受信電力を示し、サブキャリアグループ内の横方向の線分はサブキャリアグループ内のパイロット信号による伝搬路推定結果を示している。同図に示す例では、図20に示した例とは異なり線形補完を行っていないが、上記推定誤差はほとんどなくなっている。
以上の処理を、N=512の場合を例として取り上げ、より具体的に説明する。ここでは、スケジューリング部19が、サブキャリア1,2,・・,75にユーザ1のデータを、サブキャリア76,77,・・,150にユーザ2のデータを、サブキャリア362,363,・・,436にユーザ3のデータを、サブキャリア437,438,・・,511にユーザ4のデータを、それぞれ割り当てて、ユーザ3のデータのみ循環遅延送信を行なう場合を考える。この場合、回転因子は、以下の各式のようになる。
Wωτ k=exp(−jA(ω)τ) (361<ω+256<437)
Wωτ k=exp(−j0)=1 (ω+256<362またはω+256>436)
以上説明したように、本実施形態にかかる無線送信機によれば、循環遅延送信による上記推定誤差の増大が防止され、パイロット信号を含むサブキャリア以外のサブキャリアについても、正しい伝搬路状態が得られる可能性が高まる。
なお、位相回転量生成部238は、次のようにしてその処理を行ってもよい。すなわち、位相回転量生成部238は、代表サブキャリアに対応するデータについて位相回転量φ=ωτを算出する。この算出は、位相回転係数生成部181と同様の処理により、ブロック割り当て情報に基づいて行われる。位相回転量生成部238は、算出した各位相回転量φを、それぞれサブキャリアグループと対応付けて記憶する。次に、位相回転量生成部238は、バタフライ演算部201にデータyが入力されると、データyが循環遅延送信の対象であるかを判断する。そして、対象である場合には、データyの属するサブキャリアグループを取得する。そして、取得したサブキャリアグループと対応付けて記憶している位相回転量φを、回転因子生成部202に出力する。このようにしても、位相回転量生成部238の処理を行うことができる。
なお、上記各実施形態にかかる無線送信機の機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより、上記各処理を行ってもよい。
ここでいう「コンピュータシステム」とは、OSや周辺機器等のハードウェアを含むものであってもよい。また、この「コンピュータシステム」は、WWWシステムを利用している場合であれば、ホームページ提供環境(あるいは表示環境)も含むものとする。
また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、フラッシュメモリ等の書き込み可能な不揮発性メモリ、CD−ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。
さらに、「コンピュータ読み取り可能な記録媒体」には、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリ(例えばDRAM(Dynamic Random Access Memory))のように、一定時間プログラムを保持しているものも含むものとする。
また、上記プログラムは、このプログラムを記憶装置等に格納したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク(通信網)や電話回線等の通信回線(通信線)のように情報を伝送する機能を有する媒体のことをいう。
さらに、上記プログラムは、上述した各機能の一部を実現するためのものであってもよい。さらに、上述した各機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル(差分プログラム)であってもよい。
以上、この発明の実施形態を、図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。
10a〜10c…送信アンテナ 11…誤り訂正符号化部 12…変調部 13、31…チャネル割り当て部 14a〜14c…IFFT演算部 15a〜15c…GI付加部 16a〜16c…D/A変換部 17a〜17c…無線送信部 18b、18c…位相回転部 19、30…スケジューリング部 32…パイロット信号生成部 181…位相回転係数生成部 182…複素乗算部 183…カウンタ 141…バタフライ演算部 142…回転因子生成部 143…データセレクタ 144…データセレクタ制御部 145…メモリ 146…アドレス生成部 147…ステージカウンタ 20a〜20c、21a〜21c、22a〜22c…IFFT演算部 201、211、221…バタフライ演算部 202、212、222…回転因子生成部 203、213、223…データセレクタ 204、214、224…データセレクタ制御部 205、215、225…メモリ 206、216、226…アドレス生成部 207、217、227…ステージカウンタ 208、218、228、238…位相回転量生成部