以下、CI信号を用いて伝播路推定をする原理について説明する。CI信号はOFDM信号の各サブキャリアの位相を揃えることにより生成される。各サブキャリアに例として1+j0を入力し、逆離散フーリエ変換(以下「IDFT」と称する。)を行うと、時間波形においてt=0の位置にインパルスが出力される。この波形を送信し、フェージング環境下を通過した受信波形を離散フーリエ変換(以下「DFT」と称する。)することにより周波数応答が求まる。
このままのCI波形では、PAPR(Peak to Average Power Ratio)が大きく、増幅器に負担がかかるため、各サブキャリアに特定の乱数を乗じることにより、インパルスの送信波形を時間的に拡散することができる。受信時には拡散に使用した乱数をDFT後の各サブキャリアに乗じることで正常な周波数応答を求めることができる。この周波数応答をIDFTすることにより、拡散されていないインパルス応答を求めることができる。
上記の概要について図2を参照して説明を行う。図2(a)は、送信された伝播路推定用の波形で、点線で直交している矢印が実軸、虚軸成分を表し、斜め方向に延びる太線の矢印が周波数軸を示す。また、太い矢印が各周波数の変調データak、bkを表している。
フェージング等の伝播路の影響が全くない理想的な受信ができた場合、図2(a)が拡散用符号乗算部の入力になる。(f0についてのみ抜き出して下部に示している)符号乗算部では、拡散用乱数の複素共役信号が乗ぜられるので、図2(b)に示すような実軸で振幅が同一の信号となる。これをIDFT処理すると、IDFTの性質から、図2(c)に示すように、t=0にのみインパルス信号が見えることになる。
実際にフェージングがあると、符号乗算部の出力は、フェージングの影響により位相に回転が加えられ、振幅も変動する。この様子を示す波形を図2(d)に示す。これを、同様にIDFTすると、図2(e)に示すような波形が見られる。図2(b)と図2(d)との差が伝播路応答であることから、図2(c)のインパルスレスポンスが図2(e)になる。
ここで、複数の送信機やアンテナなどの送信源が同時にこの伝播路推定信号を使用する場合を考える。この場合、得られる各送信源毎のインパルス応答が重なってしまい、各端末毎のインパルス応答を求めることができない。これを解決するために送信源毎のインパルスの位置を変更できるようにする。
フーリエ変換の時間シフトの関係を示す以下の式
から、各サブキャリアの位相を変化させることによりインパルスの時間軸上の位置が変わることが判る。
この様子を図3に示す。ここでは、判りやすいように拡散は除いて考えている。図3(a)は、各サブキャリアの位相を回転させている様子を示す図である。この状態でIDFTを行うと、図3(b)に示すように、t=1の位置にインパルスが発生する。判りやすいように16ポイントのIDFTを行う場合の各サブキャリアの位相回転量をグラフにしたものが図3(c)である。全体で2π(rad)回転させた場合、1サンプルだけインパルスの位置がずれ、t=1の所にインパルスが発生する。この様子を図3(d)に示す。
以下に、本発明の実施例1について説明を行う。
図1は、一般的な技術を利用してCIを利用した伝播路推定を行う装置の構成例を示す図である。図1(a)は、送信側ブロックを、図1(b)は受信側ブロックを示す図である。符号101は入力信号を各サブキャリア毎に処理するために並列化するシリアル−パラレル変換器を、符号102は各サブキャリアのデータの位相を調整する位相シフトブロックを、符号103は各サブキャリアのデータを拡散する乗算ブロックを、符号104は各サブキャリアのデータを読み込んで時間軸波形に変換する逆離散フーリエ変換処理を行うIDFTブロックを、符号105は受信した時間軸信号を各サブキャリア毎の信号に変換する離散フーリエ変換処理を行うDFTブロックを、符号106は送信時に使用した符号の複素共役を乗じてデータの拡散を解除する乗算ブロックを、符号107は各サブキャリアの位相を位相シフトブロック102で調整した分を逆に補正する位相シフトブロックを、符号108は各サブキャリア毎の信号を逆離散フーリエ変換することで時間軸波形に変換するIDFTブロックを、符号109はインパルス波形から不要な信号を取り除く時間軸フィルタを、符号110は整形されたインパルス波形から周波数応答を求めるための離散フーリエ変換処理を行うDFTブロックを示す。
上記の構成例では、送信部と受信部とは完全に同期しているものとする。同期を取るためには、同期用シンボルなどを使用する仕組みを用いれば良い。例えば、この仕組みとしては一般的な仕組みが使用可能であり、IEEE802.11a規格に準じた機器に使用できる仕組みが使用可能である。その仕組みに関しては公知であるため、ここでの説明は省略する。
しかしながら、上記の構成においては、インパルス波形の時間位置を調整するために各サブキャリアに対して位相調整するためにサブキャリア数分の複素乗算器が必要となり、回路規模が増大するという問題がある。これに関して、本発明の第1実施例による装置では、インパルスの位置を制御するための新たな手段を提供する。
CI信号は直交している正弦波の集合である。そのため、各サブキャリアの位相を制御して時間軸上の位置を制御した結果は、各サブキャリアの位相の特定の状態における時間軸上の波形を、特定の位相と目的の位相の状態との差に相当する時間だけローテート(回転)させた波形と等しくなる。図4(a)にその概略を示す。ここでは、簡単のために波形の拡散を行わない状態を例にして説明する。
図4(a)は、特定の位相と目的の位相の状態との差に相当する時間だけローテート(回転)させた場合と全てのサブキャリアの位相が0(rad)の波形を2πfk分だけ、つまり1サンプル分だけずらした場合とが等価な処理であることについて説明した図である。位相が0(rad)の波形の最後の1サンプル分をそのままローテートして先頭に配置すると、各サブキャリアの位相を制御して1サンプルずらした時の波形と等価であることがわかる。
尚、図4(a)においては、帯域内全てにサブキャリアを配置しているが、DCに相当するキャリアや、帯域の両端のキャリアを使用せずにヌルキャリアとする場合は、帯域内のヌルキャリアも含めて位相制御を行う必要がある。
ヌルキャリアのある場合のキャリア配置の様子を図23(a)に示す。符号2501はDFT/IDFTを行うサブキャリア全てを意味する。符号2502、符号2505は帯域の両端の1サブキャリアをヌルキャリアとする場合にヌルキャリアとするサブキャリアを示している。符号2503はDCに相当するセンターキャリアの位置で、符号2504は他の理由、例えば適応変調によりデータを乗せないため電力を削減された結果ヌルキャリアとなった例を示す。
このように全帯域の一部がヌルキャリアとなっている場合は、図23(a)において点線で表示されているヌルキャリアに対しても位相制御をするものとする。この一例を図23(b)に示す。符号2506はヌルキャリアを表す。ヌルキャリアでない符号2507、符号2508のキャリアはヌルキャリア2506がある場合と同様の位相制御をする必要がある 図4(b)は、上記の動作を行う送信回路の機能ブロック図を示す図である。尚、第1実施例の場合と同様に、送信側と受信側とでは、完全に同期が取れているものとする。符号401は入力信号をシリアル−パラレル変換して各サブキャリア毎の信号を生成するシリアル−パラレル変換ブロックであり、符号402は各サブキャリアのデータを拡散する拡散ブロック、符号403は各サブキャリアのデータを読み込んで時間軸波形に変換する逆離散フーリエ変換処理を行うIDFTブロック、符号404はIDFTブロック403から出力された信号をローテートするデータローテート部である。
本実施例では、各サブキャリアの位相を0(rad)とするため、シリアル−パラレル変換ブロック401に対して入力信号として1+j0の信号を入力する。各サブキャリアの信号は拡散ブロック402において乱数ρで拡散され、IDFTブロック403で時間軸波形に変換される。このIDFTブロックから出力された波形は、各サブキャリアの位相が0(rad)の時の波形である。この波形をデータローテート部404で所望の時間分ローテートさせた信号を作成する。この処理は1CI信号分蓄積し、蓄積したデータをローテートすることで実現できる。
本実施例による通信装置では、各ブロックが、以上に示した動作をすることにより、各サブキャリア毎の位相調整処理を行うことなしに伝播路推定用信号の時間軸調整を行うことが出来るという利点がある。
以上が送信側ブロック側に関する説明である。
以下、受信側ブロックについても同様に説明を行う。CI信号は直交している正弦波の集合である。そのため、受信側においても各サブキャリアの位相を制御して時間軸上の位置を制御した結果は、各サブキャリアの位相の特定の状態における時間軸上の波形を、特定の位相と目的の位相の状態との差に相当する時間だけローテート(回転)させた波形と等しくなる。図5(a)は、その概略を示す図である。ここでは、判りやすくするため、波形の拡散を行わない状態を示している。図5(a)は、全てのサブキャリアの位相を2πfk分だけ、つまり1サンプル分だけずらした状態を補正する場合と等価な処理について説明した図である。全てのサブキャリアの位相が2πfk分だけ、つまり1サンプル分だけずらした波形の最初の1サンプル分をそのままローテートして最後に配置すると、各サブキャリアの位相を制御して1サンプル分だけ補正した時の波形と等価であることがわかる。
図5(b)は、上記の動作を行う受信回路の一構成例を示す機能ブロック図である。尚、ここでは、送信側と受信側では完全に同期が取れているものとする。
符号501は受信信号を各サブキャリア毎の信号に分解するためのDFTを行うDFTブロックであり、符号502は送信側で行った拡散処理を元に戻すために送信時に使用した乱数の複素共役を乗じることで逆拡散を行う乗算ブロックであり、符号503は逆拡散後の信号からインパルスに変換するIDFTブロック、符号504はインパルスを時間軸上で調整するデータローテート部、符号505はインパルス波形から不要な信号を取り除く時間軸フィルタ、符号506は整形後のインパルス波形をDFTして周波数応答を求めるDFTブロックである。
まず受信した信号をDFTブロック501でDFTし各サブキャリア毎の信号に分解する。その後、乗算ブロック502において送信側で使用した乱数ρの複素共役を乗じることにより逆拡散を行い、拡散前の信号を取り出す。次に、逆拡散後の信号をIDFTブロック503においてIDFTすることによりインパルスを取り出す。このインパルスをデータローテート部504においてT=0の位置に補正し、時間軸フィルタ505において時間窓をかけて不要な信号を取り除いた後、DFTブロック506でDFTを行うことで伝播路の周波数応答が求められる。このように処理を行うことにより、周波数軸上で各サブキャリアの位相調整を行うことなしにインパルスの位置を調整することが可能となる。
尚、本実施例では、サンプリング周波数は必要なサブキャリア数のOFDM信号を生成するために必要最低限の、つまりサブキャリア数とDFT/IDFTのポイント数とが同じ状態を想定している。オーバーサンプリングを行った場合は、必要最低限のサンプリング周波数の時のローテート量に相当する時間だけデータをローテートする必要がある。
以上に説明したように、本実施例による通信装置においては、従来は時間シフトを角サブキャリアの位相調整によって行っていたものを、時間軸のローテート処理で位相調整を行う構成としたことにより、処理負担を軽減することができる。
本発明の実施例2について説明する。OFDMシステムにおいて、チャネル多重数を増やすために、1または複数のサブキャリア単位でFDMAを行うOFDM/FDMA(以下「OFDMA」と称する。)技術がある。FDMAを行う単位をサブチャネルと呼ぶ。OFDMAの概要の一例を図6(a)に示す。ここでは512本のサブキャリアを、64サブキャリアを有する8つのサブチャネル分けて使用している例を示している。
このようなOFDMAシステムにおいては、端末の複雑度に応じて同時に使用するサブチャネルの数が複数種類あることが考えられる。この時、例えば1サブチャネルのみを受信する装置が、上記実施例1において説明した処理を行おうとした場合に、伝播路推定の際の処理が複雑になる可能性がある。この様子を図6(b)を参照しつつ説明する。
図6(b)では、送信側において、全サブキャリアで位相が2πだけ回るように各サブキャリアの位相が調整されている例を示す図である。この状態で(1)の位置の1サブチャネルのみ抜き出して受信した信号を見ると、位相の変化は0〜1/4π、(2)の位置の1サブチャネルのみを抜き出した時は1/4π〜1/2πとなり、サブチャネルを抜き出す場所によって、サブキャリアの位相が変わるため処理が複雑になる。
また、第1実施例に示したように、インパルスの位置に関して時間軸上で処理しようとすると、1サブチャネル内の総位相回転量が1/4πと2πの整数倍とならないため、逆拡散後にIDFT処理を行うとインパルスの位置が時間軸上のサンプル点と一致せずにインパルス波形が広がってしまうという現象が発生する。この状態はインパルスを正確に表せない状態であり、DFTにより周波数応答を求めたとしても後続のデータシンボルの伝播路を表現しているとは言えず、伝播路を正確に補正することができない。
また、拡散のために使用する乱数も1サブチャネルのみの受信では系列の一部のみが使用されることになり、受信するサブチャネルの位置で使用する乱数を切り替える必要がある。そこで、本実施例では、1サブチャネルのみ受信する機器の処理が複雑にならず、また複数サブチャネルを受信する機器も正常に受信できるようにした。図6(c)は、送信側で行う位相制御の一例を示す図である。この例では1サブキャリア内で位相が1/2π(rad)から始まって2π(rad)分回転する。これを全てのサブチャネルで同様の位相回転が行われるように制御する。この位相回転量は1サブチャネル内で2πの正の整数倍(0を含む)となっていれば良い。図6(d)は、1サブチャネルで4π回転している例を示す図である。また拡散に使用する乱数ρは以下のような系列を使用する。
ρ(k+Nscn)=ρ‘(k)
ここでNscnは1サブチャネル当たりのサブキャリア数であり、ρはρ’の系列がサブチャネル分繰り返された系列であることを示す。この概略を図6(e)に示す。このような系列を使用しなくても良いが、その場合は受信するサブチャネルに合わせてこのρを変更する必要がある。上記に示した系列を使用すれば、受信するサブチャネル数だけを考慮し、その分のρ’を繰り返した系列を用意すればよい。
送信側で以上に示したように各サブキャリアの位相と拡散用の制御を行うことにより、1サブチャネルのみ受信する機器では受信処理が複雑にならず、複数サブチャネルを受信する機器でも正常に受信できる送信波形を作ることが出来る。
1サブチャネルのみを受信する機器では、受信するサブチャネルの帯域のみを切り出し、例えば、第1実施例において説明した構成の受信機で受信すれば良い。
複数サブチャネルを受信する機器では、第1実施例に示した構成では問題が発生する。受信するサブチャネルの数によってインパルスの立つ位置が変わってしまうため、同様の処理では正確な周波数応答を求めることが出来ない。この概要について図7に示す。
この例では、1サブチャネルのみを受信するとインパルスの位置がt=1の位置に立ち、2サブチャネルを受信するとt=2の位置にインパルスが立つことを表している。このように、複数サブチャネルを受信する際は、補正を考慮する必要がある。
図8は、補正を考慮した回路の一構成例を示すブロック図である。尚、第1実施例と同様に、送信側と受信側とでは完全に同期が取れているものとする。
符号801は受信信号を各サブキャリア毎の成分に分離するためにDFTを行うDFTブロックであり、符号802は送信側で行った拡散処理を元に戻すために送信時に使用した乱数の複素共役を乗じて逆拡散を行う乗算ブロック、符号803は逆拡散後の信号からインパルスに変換するIDFTブロック、符号804はインパルスを時間軸上で調整するデータローテート部、符号805はインパルス波形から不要な信号を取り除く時間軸フィルタ、符号806は整形後のインパルス波形をDFTして周波数応答を求めるDFTブロックである。尚、図中のNschは受信するサブチャネル数であり、Nscnは1サブチャネル当たりのサブキャリア数であり、Nrscはサブチャネル1つをそのまま復調するとインパルスが何サンプル遅れるかを表す。
まず、受信した信号をDFTブロック801で各サブキャリア毎の信号に分離する。その後乗算ブロック802において送信側で使用した乱数ρの複素共役を乗じることにより逆拡散を行い、拡散前の信号を取り出す。この乱数ρはρ(k+Nscn)=ρ’(k)を満たす系列であり、ρ’を繰り返した系列である。次に、逆拡散後の信号をIDFTブロック803でIDFTすることでインパルス波形を求める。このインパルスをデータローテート部804でT=0の位置に補正する。この時の補正量は、受信するサブチャネル数に応じた値Nsch×Nrscとする。時間軸補正後の信号を時間軸フィルタ805で時間窓をかけて不要な信号を取り除いた後、DFTブロック806でDFTを行うことで伝播路の周波数応答が求められる。このように処理を行うことにより、周波数軸上で各サブキャリアの位相調整を行うこと無しにインパルスの位置を調整することが可能となる。
次に実施例3について説明する。通常OFDMを使用した無線通信装置では、遅延波によりOFDMのシンボル間干渉が起こらないようにシンボルの間にガードインターバル(以下「GI」と称する。)を挿入する。このGIは、原理的にはどのような信号を使用しても良いが、実際にはDFTの窓同期の精度等の問題があるため、OFDMシンボルの後半の一部を利用し、GIとOFDMシンボル間で各サブキャリアの波形が連続するようにし、窓同期が若干ずれても正常にDFTが行えるようにする。
このGIの生成の概略を図9(a)に示す。元のOFDMシンボル901の後半の一部を利用したGI902をOFDMシンボルの先頭に付加して送信し、受信側で受信したシンボルの先頭に付いているGI903を除去し、残った信号904をOFDMシンボルとして復調する。
GIの付加・除去を行う装置の一構成例について図9(b)に示す。符号905はOFDMの各キャリアの送信データを生成する送信キャリア処理部であり、符号906は各キャリアの送信データを逆フーリエ変換して時間軸波形に変換するIFFT部、符号907はGIを付加するGI付加ブロック、符号908はGIを付加した波形を送信する送信部、符号909は受信した波形からシンボル同期を行い、GIが付加された状態のシンボルの信号を取り出す受信部、符号910はGIを取り除き1シンボル分のOFDM信号を取り出すGI除去部、符号911はOFDM信号をフーリエ変換し各キャリア毎の信号を取り出すDFT部、符号912は各キャリア毎の信号からデータ列を取り出す受信キャリア処理部である。
GIの付加・除去の処理は、OFDMシンボルを蓄積したメモリから情報を読み出す位置を制御することにより行う場合が多いが、この処理は前述の実施例に示した位相調整のためにOFDM信号をローテートする処理と類似した処理であることがわかる。従って、前述のローテート処理とDIの付加・除去に関する処理とに使用するメモリを共用することが可能である。また、このメモリにはDFT/IDFTのメモリの一部を使用することが可能である。
DFT処理そのものは一般的なものであるため、その処理の概要と、DFTの実装例の一例については、簡単に説明をするに留める。
NポイントのDFTは通常以下の式で示される演算である。
また、NポイントのIDFTは以下の式で示される演算である。
IDFTは、DFTの演算時の係数が異なるのみであり、処理内容はほぼ等価である。IDFTを行う際にはDFTの係数を変更すれば良い。以下、DFTを実現する手法の一例についてブロック図を参照して説明を行う。
図17は、DFTを実現するための回路の一構成例を示す機能ブロック図である。符号1701は入力データを蓄積する入力メモリであり、符号1702は制御部1708からの指示で入力メモリ1701からどのデータを読み出すかを選択する第1セレクタ、符号1703は制御部1708からの指示で乗算処理時の係数((2)式でWに相当)を発生させる係数発生部、符号1704は選択された入力データと設定された係数との複素乗算を行う乗算部、符号1705は乗算部1704の出力を累積加算する加算部、符号1706は制御部1708の指示で出力メモリ1707上に加算処理後のデータを書き込む位置を選択する第2セレクタ、符号1707は出力データを格納する出力メモリ、符号1708は入力タイミング信号に従って各ブロックを制御し、出力メモリ1707上にDFT後のデータを蓄積し、出力タイミング信号を出力する制御部である。
まず外部から入力メモリ1701にDFTを行うデータがセットされ、その後、制御部1708に入力タイミング信号が入力される。入力タイミング信号が入力されると、制御部は上記式(3)に従って、最初の出力A0に着目し第2セレクタ1706をA0が格納される位置に設定し、加算部1705を0クリアする。その後に、係数発生部1703と第1セレクタ1702を制御しながら上記(2)式のΣ内部の演算を行い、A0についての計算をし、全ての入力データに対する演算が終了した後に出力メモリ1707に対しデータの書き込みを行う。次にA1に着目し、第2セレクタをA1が格納される位置に設定し、加算部1705を0クリアする。以下、上記処理を全ての出力ポイントに対して行い、出力メモリ1707上にDFT後のデータが格納された後に出力タイミング信号を制御部1708から出力することによりDFT処理が完了する。IDFTの場合も、係数生成部で発生させる係数の値を適切に選ぶことにより同様の回路構成を用いて実現可能である。
次にDFT処理を高速に行うFFTの場合について簡単に説明する。DFTの高速化に関しては様々な方法が提案されているが、ここでは一般的なCooley-Tukey型について、その概略と実装の一例を説明する。DFTを行うポイント数Nが2^n(nは自然数)で表される場合を考える。式(2)は2の倍数である場合、以下の2式に分割できる。
これは長さがN/2になると、乗算回数がN^2/4回で済むことを示す。これらの(4)、(5)式を、さらに分割することにより演算数を減らすことができる。これがCooley-Tukey 型の原理である。 これを利用し、データの並び替え、一部演算の最適化を行ったN=8のCooley-Tukey 型FFTの演算処理の流れを示すフローチャート図を図18(a)に示す。図18(a)に示すように、FFTは2つのデータ間で加算・減算を行い、係数Wを乗じる演算、バタフライ演算を、ステージ毎に繰り返すことにより実行される。図18(b)は、このフローを実現する回路の一構成例を示す機能ブロック図である。図18(b)に示すように、符号1801は入力データならびに作業中のデータ、変換後のデータを格納するメモリを示し、符号1802は外部からの指示を受け、他のブロックを制御してFFTを行い、FFT終了タイミングを外部に出力する制御部を示す。符号1803は制御部1802の指示でバタフライ演算を行うデータを選択するデータ選択部を示し、符号1804は制御部1802から指示された係数で選択されたデータ間でバタフライ演算を行い、演算後のデータを書き戻すバタフライ演算部を示す。
まず、外部から予め決められた並びでメモリ1801上にデータをセットし、その後、制御部1802に対してデータ入力タイミング信号を入力する。制御部1802は、図18(a)に示すように、予め決められた処理の流れに従ってバタフライ演算を行うデータを選択するようにメモリ選択部(セレクタ)1803を制御し、同時に係数をバタフライ演算部1804にセットしてバタフライ演算を行う。全ての処理が終了した段階で、外部にデータ出力タイミング信号を出力し、FFTが終了したことを示す。外部ではFFT終了を確認してメモリ1801上のFFT後のデータを読み出す。このような構成のFFTでは、図18(b)に示すように、データ入力のメモリとデータ出力のメモリを兼用することが可能である。
尚、IFFTもIDFTと同様に係数を変更することによりFFTと同様の構成で実現可能である。
以下に、GIの追加・除去と位相回転のためのOFDM信号のローテート処理のメモリを兼用した場合の実施例を示す。図10(a)は送信機の一構成例を示すブロック図であり、図10(b)は受信機の一構成例を示すブロック図である。尚、実施例1と同様に送信側と受信側とでは同期が取れているものとする。
図10(a)において、符号1001は入力信号をシリアル−パラレル変換して各サブキャリア毎の信号を生成するシリアル−パラレル変換ブロックであり、符号1002は各サブキャリアのデータに乱数を乗じて拡散処理を行う乗算ブロックであり、符号1003は各サブキャリアのデータを読み込んで時間軸波形に変換する逆離散フーリエ変換処理を行うIDFTブロックであり、符号1004はIDFTブロック1003から出力される信号を読み出しながらローテートし、GIを付加するデータローテート/GI付加部である。
符号1005は、受信した信号をDFTブロック1006の入力メモリに制御しながら入力するGI除去/データローテート部であり、符号1006は受信信号を各サブキャリア毎の信号に分解するためのDFTを行うDFTブロックであり、符号1007は送信側で行った拡散処理を元に戻すために送信時に使用した乱数の複素共役を乗じて逆拡散を行う乗算ブロックであり、符号1008は逆拡散後の信号からインパルスに変換するIDFTブロックであり、符号1009はインパルス波形から不要な信号を取り除く時間軸フィルタであり、符号1010は整形後のインパルス波形をDFTして周波数応答を求めるDFTブロックである。
本実施例では、送信側で各サブキャリアの位相を0(rad)とするため、シリアル−パラレル変換ブロック1001には入力信号として1+j0の信号が入力する。各サブキャリアの信号は乗算ブロック1002において乱数ρで拡散され、IDFTブロック1003において時間軸波形に変換される。このIDFTブロック1003から出力される波形は、各サブキャリアの位相が0(rad)の時の波形である。この出力波形をデータローテート/GI付加部1004が読み出すときに読み出し位置を調整することで所望の時間分ローテートさせた信号にGIを付加した信号を作成する。この処理の概要を図11(a)、図11(b)を参照して説明する。
図11(a)は、IDFTブロック1003が出力した信号である。図11(a)では、判りやすいように、ローテートさせる領域に斜線を施している。データローテート/GI付加部1004が読み出す際に、矢印で示すように、まずBからDの領域、次いでAからCの領域という順番で読み出すことにより、ローテートとGI付加とを一度に行うことができる。
図11(b)は、処理後の信号の概略を示す図である。GIは、図11(a)の符号Bから符号Cまでの領域に相当する。尚、ここでは符号Bの位置から読み出すものとして説明しているが、ローテート処理は、いずれの位置から開始しても結果は同様であり、読み出し開始位置は特に限定されるものではない。これは本実施例の全ての場合に当てはまる。
以下、受信側の処理について説明する。
まず受信した信号をDFTブロック1006に入力する際に、GI除去部/データローテート部1005がデータ位置を考慮しながら入力する。この概略について図11(c)及び図11(d)を利用して説明する。まずGI除去部/データローテート部1005は、図11(c)に示される入力信号のEからFまでの領域(GIに相当する領域)を読み飛ばす。その後に、矢印に示すように、FからGまでの領域を図11(d)に示すDFTブロック1006の入力部のJからKまでの領域に入力するとともに、入力信号のGからHまでの領域をDFTブロック1006の入力部のIからKまでの領域に入力する。この処理により、GI除去と位相回転のためのデータローテートとを一度に行ったことになる。
尚、本実施例においては、データローテート部1005の位置が実施例3に示した場合と異なるが、DFT、IDFT処理が線形であるため最終的な信号は同じものが得られる。
その後、乗算ブロック1007で送信側で使用した乱数ρの複素共役を乗じることにより逆拡散を行い、拡散前の信号を取り出す。但し、DFT前にローテート処理を行うために拡散時に使用する系列は予めデータローテート部のローテート量に合わせてρをローテート処理したρ’’を使用する必要がある。次に、逆拡散後の信号をIDFTブロック1008でIDFTすることによりインパルスを取り出す。このインパルスを時間軸フィルタ1009において時間窓をかけて不要な信号を取り除いた後、DFTブロック1010でDFTを行うことにより伝播路の周波数応答が求められる。
以上のように処理を行うことにより、使用するメモリを削減しながらGIの挿入・削除を行い、周波数軸上で各サブキャリアの位相調整を行うことなしにインパルスの位置を調整することが可能となる。
次に、本発明の実施例4について説明を行う。上記の実施例1から実施例3までは、フーリエ変換、逆フーリエ変換の手段としてDFT、IDFTを用いている。しかし、高速化のため、フーリエ変換、逆フーリエ変換は基数が2の高速フーリエ変換(以下「FFT」と称する。)、逆高速フーリエ変換(以下「IFFT」と称する。)が使用されることが多い。OFDMのサブキャリア数とFFT/IFFTのポイント数が異なる場合の実施例を以下に示す。
図13に示すように、全体のサブキャリア数を768、1サブチャネル当たりのサブキャリア数を64、サブチャネル数を12、FFT/IFFTのポイント数を1024とする。図13(a)は、総サブキャリア数とDFTのポイントが同じ場合の概略図であり、図13(b)は総サブキャリア数とFFTポイント数とが異なる場合の概略図である。上記の構成を例にして説明を行う。図12は、本発明の実施例4による通信装置の一構成例を示す機能ブロック図である。尚、送信側と受信側とで同期が取れているものとして説明を行う。図12に示すように、符号1201は入力信号をシリアル−パラレル変換して各サブキャリア毎の信号を生成するシリアル−パラレル変換ブロックを示し、符号1202は、各サブキャリアのデータに乱数を乗じて拡散処理を行う乗算ブロックであり、符号1203は各サブキャリアのデータを読み込んで時間軸波形に変換する逆離散フーリエ変換処理を行うIFFTブロック、符号1204はIFFTブロック1203から出力された信号をローテートするデータローテート部である。
符号1205は、受信信号を各サブキャリア毎の成分に分離するためにFFTを行うFFTブロック、符号1206は送信側で行った拡散処理を元に戻すため送信時に使用した乱数の複素共役を乗じて逆拡散を行う乗算ブロック、符号1207は逆拡散後の信号からインパルスに変換するIFFTブロック、符号1208はインパルスを時間軸上で調整するデータローテート部、符号1209はインパルス波形から不要な信号を取り除く時間軸フィルタ、符号1210は整形後のインパルス波形をFFTして周波数応答を求めるFFTブロックである。尚、図中のNschは、送受信するサブチャネル数であり、Nscnは1サブチャネル当たりのサブキャリア数、Nrscはサブチャネル1つ、ここでは64サブキャリアをそのまま復調するとインパルスが何サンプル遅れるかを表す。FFTpointはFFT/IFFTで使用するポイント数である。
まず、送信部から各ブロックの動作を説明する。本実施例では各サブキャリアの位相を0(rad)とするため、シリアル−パラレル変換ブロック1201には入力信号として1+j0の信号が入力する。各サブキャリアの信号は乗算ブロック1202で乱数ρで拡散され、IFFTブロック1203で時間軸波形に変換される。乱数ρは を満たす系列で、ρ’を繰り返した系列である。このIFFTブロックから出力された波形は各サブキャリアの位相が0(rad)の時の波形である。この波形をデータローテート部1204で所望の時間分ローテートさせた信号を作成する。この処理は1CI信号分蓄積し、蓄積したデータをローテートすることで実現できる。ここでローテートさせる量はNsch×Nscn=768ポイントのIDFTで処理を行った場合と同一信号となるように
となる。これはIDFTをIFFTに変えることによりサンプリング周波数が変わるためであり、これに合わせてローテート量を変えなければならないためである。但し、1サブチャネルだけ復調した場合にきっちりNrscサンプルだけずれる位相を選択する必要がある。尚、FFT
point/N
SCNが割り切れる必要がある。この割り切れるということは、nが自然数になるということを意味する。
次に受信部の各ブロックの動作について図12(b)を参照しつつ説明する。まず、受信した信号をFFTブロック1205で各サブキャリア毎の信号に分離する。その後、乗算ブロック1206において送信側で使用した乱数ρの複素共役を乗じることにより逆拡散を行い、拡散前の信号を取り出す。この乱数ρは送信側で使用したρ(k+Nscn)=ρ’(k)を満たす系列で、ρ’を繰り返した系列である。次に逆拡散後の信号をIFFTブロック1207でIFFTすることによりインパルス波形を求める。このインパルス波形をデータローテート部1208においてT=0の位置に補正する。この時の補正量は送信時と同様に受信するサブチャネル数に応じた値Nrsc・FFTpoint/Nscnとする。時間軸補正後の信号を時間軸フィルタ1209において時間窓をかけて不要な信号を取り除いた後、FFTブロック1210でFFTを行うことにより伝播路の周波数応答が求められる。以上の処理によれば、周波数軸上で各サブキャリアの位相調整を行うことなしにインパルスの位置を調整することが可能となる。
次に、本発明の実施例5による通信装置について説明を行う。
上記実施例4において、1つ目のFFTブロック1205とIFFTブロック1207とで処理ポイント数が異なる場合は、2つ目のFFTブロック1210の処理ポイント数をFFTpointとして使用することにより、同じように処理することができる。以下、1つ目のFFTブロック1205と2つ目のFFTブロックとの処理ポイント数が異なる場合の実施例について図14を参照しつつ説明を行う。図14に示すように、符号1401は受信信号を各サブキャリア毎の成分に分離するためにFFTを行うFFTブロックであり、符号1402は送信側で行った拡散処理を元に戻すために送信時に使用した乱数の複素共役を乗じて逆拡散を行う乗算ブロック、符号1403は逆拡散後の信号から必要なサブチャネルを取り出すデマルチプレクサ、符号1404はデマルチプレクサで選択された信号からインパルスに変換するIFFTブロック、符号1405はインパルスを時間軸上で調整するデータローテート部、符号1406はインパルス波形から不要な信号を取り除く時間軸フィルタ、符号1407は整形後のインパルス波形をFFTして周波数応答を求めるFFTブロックである。尚、図14中のNsch1は、送受信するサブチャネル数であり、Nsch2はIFFTで処理するサブチャネル数、Nscnは1サブチャネル当たりのサブキャリア数、Nrscはサブチャネル1つ、ここでは64サブキャリアをそのまま復調するとインパルスが何サンプル遅れるかを示す。FFTpointは、FFTブロック1401で使用するポイント数であり、IFFTpointはIFFTブロック1404で使用するポイント数であり、FFTpoint=Nsch1×Nscn、IFFTpoint=Nsch2×Nscnの関係にあるものとする。
本実施例による通信装置の動作は、上記実施例4の通信装置の動作と基本的には同様であるが、データローテート部1405でのローテート量をIFFTpointに合わせて変更する点が異なる。ローテート量はNrsc・IFFTpoint/Nscnとなる。デマルチプレクサ1403において、必要なサブチャネルを選択した後に0データを外挿することで以降の処理をオーバーサンプリングによって行うことが出来るが、この場合はオーバーサンプリングの倍数をmとすると、(Nrsc・IFFTpoint/Nscn)×mだけローテート処理を行う必要がある。また、実施例3のようにデータローテート部1405をFFTブロック1401の前段に配置する構成も可能である。この場合には、ローテート量はIFFTpointではなく、FFTpointを基準にする必要があり、Nrsc・IFFTpoint/Nscnとなる。
以上に説明したように、本実施例による通信装置によれば、1つ目のFFTブロック1205とIFFTブロック1207とで処理ポイント数が異なる場合でも、周波数軸上で各サブキャリアの位相調整を行うことなしにインパルスの位置を調整することが可能となる。
次に、実施例6について説明する。実施例1から5までは、伝播路推定用信号がOFDMシンボル内のサブキャリアに連続的に配置される事を暗黙的に前提としている。しかしながら、本実施の形態は必ずしも伝播路推定用信号がOFDMシンボル内のサブキャリアに連続的に配置される必要はない。本実施例においては、1サブキャリアおきに伝播路推定用信号を配置し、残ったサブキャリアには通信データを割り当てることを特徴とする。尚、伝播路推定用信号は必ずしも1サブキャリアおきに配置しなければならないわけではなく、必要な特性に応じて配置方法を自由に選択することが可能である。
図24は、使用する伝播路推定用信号の概略例を示す図である。実線で示したところが伝播路推定用信号を配置するサブキャリアであり、一点鎖線で示したところが通信データを配置するサブキャリアを示している。また、各サブキャリアの下に記してあるP1からP3までの値がそのサブキャリアを基準位置からどれだけ回転させるかを表している。P1は0(rad)、P2は2/3π(rad)、P3は4/3π(rad)を表す。隣接したサブキャリア間で2/3π位相が変わるように回転処理を行っていることを示す。尚、サブキャリア数は必要な性能に従って自由に決めてよいが、本実施例では768本とし、周波数軸から時間軸への変換には768ポイントのIDFTを使用するものとする。
図24の信号を発生させる送信装置のブロック図を図25に示す。図25において、符号2701は送信データを各サブキャリアにマッピングし、各サブキャリアの値を決める変調部であり、符号2702は変調データと伝播路推定用信号を切り替えるスイッチ部、符号2703は各サブキャリアのデータをIDFT処理して時間軸データに変換するIDFT部、符号2704は時間軸に変換された信号に対して回転処理を行い、同時にガードインターバルを付加する回転/カードインターバル付加部である。
まず伝播路推定用信号を含んだOFDMシンボルを生成する場合、スイッチ部2702は伝播路推定用信号側に切り替えられる。伝播路推定用信号は既知であればどのようなものでも構わないが、本実施例では各サブキャリアで1+0jとなる信号を使用する。そして1サブキャリアおきにIDFTの入力に伝播路推定用信号がセットされる。送信データは変調部2701により各サブキャリア毎の信号に変換され、IDFTの入力部の伝播路推定用信号がセットされていない部分に入力される。入力信号がそろったところで、IFFT部2703はIDFTを行う。IDFT処理が終了した後に、回転/ガードインターバル付加部2704はIDFT部2703の出力メモリからIDFT処理後の結果を読み出しながら回転・ガードインターバル付加動作を行う。この動作は実施例3に示したものである。回転量はサブキャリア768波で2/3π×768で512πとなるため256ポイントとなる。
以上のように動作することにより、各サブキャリアの位相計算無しに各アンテナに対し図24に示した信号を送ることが可能となる。
次に上記のように送信されたデータを復調する方法について説明する。図26は、本実施例を説明するためのブロック図であり、受信機の一部に相当する。符号2801は、OFDMシンボルとして入力されたデータの順序を回転させ、DFT部に入力するローテンション部であり、符号2802はDFT部(本実施例では768ポイント)、符号2803は数本おきに配置されたパイロット信号(本実施例では1本おき)から全てのサブキャリアに対する周波数応答を求める伝播路推定部、符号2804は伝播路推定部で推定された周波数応答も元に、各サブキャリアのデータを復調する復調部である。
上記送信データは、サブキャリア全体で512πの回転が施されているため、ローテーション部では時系列に入力されたOFDMシンボルの1番目から768番目のデータに対し、DFT部に、513番目から768番目をDFTポイントの1から256ポイント、また1番目から512番目に対しては257ポイントから768ポイントに入力する。これにより、送信側で施された、サブキャリア毎に与えられた2/3πの回転がすべて0に戻ることになる。
伝播路推定部での動作は様々な形態が考えられるが、1例として直線補間の例を示す。送信側の実施例で示したように、送受信機で既知のパイロットキャリアは1サブキャリアおきに配置されている。従って、パイロット間のサブキャリアに対する周波数応答については、2本のパイロットキャリアから直線近似で推定することが一般的である。今、周波数応答を求める位置の周波数応答を(x、y)、その両側のサブキャリアの周波数応答を(a、b)および(c、d)とした場合、x=(a+c)/2、y=(b+d)/2とすることで、パイロットが配置されないサブキャリアの周波数応答を求めることができる。
以上のような送受信機構成にすることで、伝播路推定用のサブキャリアが全体のサブキャリアを使用している場合に加え、間にデータが挿入された場合でも、簡易な回路構成でデータを受信できることがわかる。
次に、本発明の実施例7による通信装置について図面を参照しつつ説明を行う。本実施例は、MIMO(Multi Input Muli Output)システムに適用した例である。
すなわち、実施例1から実施例5までの通信装置においては、送信源が1つのシステムである場合について説明したが、MIMOシステムにも適用可能である。以下、MIMOシステムによる送信装置に上記の技術を適用した場合の例について説明する。図15は、本実施例によるMIMOシステムの一構成例を示す機能ブロック図である。図15(a)において、符号1501はMIMO制御部であり、符号1502は第1送信データ生成部、符号1503は第2送信データ生成部、符号1504は第1送信アンテナ、符号1505は第2送信アンテナである。
図15(b)は、本実施例による送信データ生成部の内部構成例を示す機能ブロック図である。図15(b)において、符号1506は予め決められた各キャリアのデータに拡散データを乗じる乗算部であり、符号1507は伝播路推定用信号と送信変調データ信号を切り替えるスイッチ部、符号1508は各キャリアの信号を時間軸信号に変換するIFFT部、符号1509は時間軸信号をローテート処理しながらガードインターバルを付加するローテート/ガードインターバル付加部、符号1510はベースバンド信号を送信周波数帯に変換し、電力増幅した後にアンテナへ供給するRF部、符号1511は送信データを各キャリア毎に変調された送信変調データに変換する変調部、符号1512は送信データの送信要求により、伝播路推定用信号を送信し、その後送信データを送信するためのタイミング制御を行い、ローテート量の制御を行う制御部である。
まず送信データを入力されたMIMO制御部(コントローラ)1501は、第1TX(送信)データ生成部1502と第2TX(送信)データ生成部1503とに対してデータを振り分けるとともに、それぞれの送信部で使用するローテーション量を指示する。第1送信データ生成部1502及び第2送信データ生成部1503は、先頭に指示された量のローテート処理された伝播路推定用信号を付加し、続いて入力された送信データを変調した信号が続く送信信号を生成し、それぞれの送信部に対応したアンテナ1504・1505から送信される。
送信データ生成部は、図15(b)に示すように、乗算器1506と、IFFT部1508と、ローテート/ガードインターバル付加部1509とを有する伝播路推定信号生成ブロックと、変調部1511と、IFFT部1508と、ローテート/ガードインターバル付加部1509と、を有するOFDM信号生成ブロックと、を、制御部1512がスイッチ部1507を利用して切り替えることにより送信信号を生成する。両者において、IFFT部1508とローテート/ガードインターバル付加部1509とは共用である。
制御部1512に送信データ(Tx Data)が入力されると、スイッチ部1507を乗算部1506側に切り替える指示を行い、所定の拡散符号を乗じたデータをIFFT部1508に入力するとともに、ローテート/ガードインターバル付加部1509を入力されたローテート情報に従ってローテートしながらガードインターバルを付加するように設定する。
このようにして、1OFDMシンボル分の伝播路推定用信号を生成する。この伝播路推定用信号の生成原理については、実施例1から実施例5までに示したものと同様である。
以降は、スイッチ部1507を変調部1511側に切り替え、OFDM信号を送信データとして生成する。この時は、ローテート/ガードインターバル付加部1509の設定をローテート処理なしでガードインターバルを付加するのみに変更する。このように動作することで送信信号を生成し、RF部1510においてアンテナに入力する信号に変換する。以上のように動作することにより、送信アンテナ毎にローテート量の異なる伝播路推定信号が付加されたMIMO信号を送信することが出来るという利点がある。
この送信装置から送信されたMIMO信号を復調する受信装置を実施例1から実施例5までに示した方法を利用して構成することが可能である。受信装置の一構成例を図16に示す。ここでは2×2のMIMOの場合を示す。
図16において、符号1601は第1受信アンテナであり、符号1602は第2受信アンテナ、符号1603は第1RF部、符号1604は第2RF部、符号1605は第1マルチ伝播路推定部、符号1606は第2マルチ伝播路推定部、符号1607は信号分離部、符号1608は第1復調部、符号1609は第2復調部である。
図16に示すように、第1受信アンテナ1601で受信された信号は第1RF部1603でベースバンドのデジタル信号に変換され、第1マルチ伝播路推定部1605と信号分離部1607とに入力される。第1マルチ伝播路推定部1605は、ローテート量を変えた複数の送信アンテナから送信された伝播路推定信号を受信し、それぞれのアンテナから第1受信アンテナ1601までの伝播路情報を求める。第1マルチ伝播路推定部1605に関しては、上記実施例1から実施例5までに示した手段を利用可能である。上記実施例では、一度に1つのローテートされた信号しか扱っていなかったが、上記の実施例の回路を複数並べ、複数のローテートした伝播路推定用信号を処理するか、あるいは、一度信号を蓄積して同一の回路を繰り返し処理することで複数のローテートした伝播路推定用信号を処理することで複数の送信アンテナからの伝播路情報を推定することができる。尚、第2受信アンテナ1602で受信された信号についても同様に処理が行われる。
信号分離部1607では、受信信号、伝播路情報を利用して複数の送信アンテナ毎の受信信号に分離する処理を行う。この処理は様々な方法で実施可能である。一例としては、伝播路情報の行列式としたときに、その行列の逆行列を求め、求めた逆行列を受信信号に乗じることにより送信アンテナ毎の信号を取り出すゼロフォース法などを使用することが可能である。
それぞれの送信アンテナ毎の信号に分離した後は、第1復調部1608、第2復調部によりそれぞれの受信信号が復調され、受信データが取り出される。なお、復調部はIEEE802.11aなどで使用されるような一般的なOFDM復調装置が使用可能である。
以上に説明したように、本実施例のように、伝播路推定信号生成ブロックと、OFDM信号生成ブロックと、を、切り替えることにより、MIMOシステムによる送信装置に適用可能である。
401…シリアル−パラレル変換ブロック、402…拡散ブロック、403…IDFTブロック、404…データローテート部、501…DFTブロック、502…乗算ブロック、503…IDFTブロック、504…データローテート部、505…時間軸フィルタ、506…DFTブロック。