(57)【要約】【課題】  ビット数の異なる入力信号に対し、それぞれのビット数に最適化された回路によりＩＦＦＴ処理およびＦＦＴ処理を実行する。【解決手段】  変換回路１００は、ビット数の多い入力信号であるＳｉｇ１０に対してバタフライ演算を実行する受信第１演算回路３１０と、Ｓｉｇ１０と比較してビット数の少ない入力信号であるＳｉｇ２０に対してバタフライ演算を実行する送信第１演算回路４１０と、をそれぞれ別の回路として含んでいる。【選択図】  図３
2007081745.tif 000002
【特許請求の範囲】
【請求項１】
第１のビット数の信号を入力する第１入力部と、
前記第１のビット数よりビット数の少ない第２のビット数の信号を入力する第２入力部と、
前記第１入力部による入力と、前記第２入力部による入力とのいずれかを選択する選択部と、
前記選択部において前記第１入力部による入力が選択された場合、前記第１入力部において入力した信号に対し、前記第１のビット数をもとにしたバタフライ演算を実行する第１処理部と、
前記選択部において前記第２入力部による入力が選択された場合、前記第２入力部において入力した信号に対し、前記第２のビット数をもとにしたバタフライ演算を実行することによって、前記第１処理部においてバタフライ演算が実行された信号と同等のビット数まで拡張した信号を出力する第２処理部と、
前記第１処理部においてバタフライ演算を実行した信号と、前記第２処理部において出力した信号とに対し、バタフライ演算を実行する少なくとも１つの第３処理部と、
を含むことを特徴とする変換回路。
【請求項２】
前記選択部において前記第１入力部による入力が選択されている場合、前記第２処理部の動作を停止し、前記選択部において前記第２入力部による入力が選択されている場合、前記第１処理部の動作を停止する演算制御部をさらに含むことを特徴とする請求項１に記載の変換回路。
【請求項３】
前記第１のビット数から前記第２のビット数を減算した第３のビット数の信号を記憶する第１シフトレジスタと、
前記第２のビット数の信号を記憶する第２シフトレジスタと、
前記第１入力部において入力した信号のうち、前記第３のビット数の部分を前記第１シフトレジスタに入力させ、前記第２のビット数の部分を前記第２シフトレジスタに入力させる手段と、前記第２入力部において入力した信号を前記第２シフトレジスタに入力させる手段とを含む制御部と、をさらに含み、
前記制御部は、前記選択部において前記第１入力部による入力が選択されている場合、前記第１シフトレジスタに記憶された信号と、前記第２シフトレジスタに記憶された信号とを対応づけながら結合した後に、前記第１処理部に出力する手段と、前記選択部において前記第２入力部による入力が選択されている場合、前記第２シフトレジスタに記憶された信号を前記第２処理部に出力する手段とをさらに含むことを特徴とする請求項１または請求項２に記載の変換回路。
【請求項４】
送信すべき周波数領域の信号を時間領域の信号に変換し、あるいは受信した時間領域の信号を周波数領域の信号に変換する変換部と、
前記変換部において変換した時間領域の信号を送信し、あるいは受信した時間領域の信号を前記変換部に出力する送受信部と、
を含み、
前記変換部は、
前記送受信部によって受信された第１のビット数の信号に対し、前記第１のビット数をもとにしたバタフライ演算を実行する第１処理部と、
前記第１のビット数よりビット数の少ない第２のビット数の送信すべき信号に対し、前記第２のビット数をもとにしたバタフライ演算を実行することによって、前記第１処理部においてバタフライ演算が実行された信号と同等のビット数まで拡張した信号を出力する第２処理部と、
前記第１処理部においてバタフライ演算を実行した信号と、前記第２処理部において出力した信号とに対し、バタフライ演算を実行する少なくとも１つの第３処理部と、
を含むことを特徴とする通信装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、信号の変換技術に関し、特に、信号を時間領域と周波数領域との間において相互に変換する変換回路およびそれを用いた通信装置に関する。
【背景技術】
【０００２】
従来、無線ＬＡＮのように、マルチキャリア方式のひとつであるＯＦＤＭ（Orthogonal Frequency Division Multiplexing）変調方式を用いた無線通信装置においては、送信データのＩＦＦＴ（Inversed Fast Fourie  Transform）処理と受信データのＦＦＴ（Fast Fourie  Transform）処理は、共有の回路で実行されていた（たとえば、下記非特許文献１参照）。この場合、共有の回路で実行することで回路面積を削減できる。
【非特許文献１】Zou,H.,Daneshrad, B.,McNair, B、「An Integrated OFDM Receiver for High-Speed Mobile Data Communications」、Proc. IEEE Globecomm 2001、 San Antonio、 TX、 Oct 2001.（Figure 9）
【発明の開示】
【発明が解決しようとする課題】
【０００３】
たとえばマッピング方法がＱＰＳＫ（Quadrature Phase Shift Keying）の場合、ＩＦＦＴ処理回路に入力される送信すべき信号は、Ｉ成分とＱ成分のそれぞれについて１ビットずつの計２ビットとなる。一方、ＦＦＴ処理回路に入力される受信信号は、無線伝送路の特性を反映すべきであるため、一般的に、送信すべき信号と比較してビット数が多い。したがって、これらのビット数の異なる信号を共有の回路で処理する場合、ビット数の少ない送信すべき信号の処理が冗長になり、消費電力が大きくなるなどの問題がある。すなわち、ビット数の異なる入力信号を共有の回路により処理する場合、共有の回路はビット数の多い方の信号を処理できるよう構成される必要があるため、共有の回路によりビット数の少ない信号を処理する際に無駄が生じてしまう。
【０００４】
本発明者はこうした状況に鑑みて本発明をなしたものであり、その目的は、ビット数の異なる入力信号に対し、それぞれのビット数に最適化された回路によりＩＦＦＴ処理およびＦＦＴ処理を実行できる変換回路およびそれを用いた通信装置を提供することにある。
【課題を解決するための手段】
【０００５】
上記課題を解決するために、本発明のある態様の変換回路は、第１のビット数の信号を入力する第１入力部と、第１のビット数よりビット数の少ない第２のビット数の信号を入力する第２入力部と、第１入力部による入力と、第２入力部による入力とのいずれかを選択する選択部と、選択部において第１入力部による入力が選択された場合、第１入力部において入力した信号に対し、第１のビット数をもとにしたバタフライ演算を実行する第１処理部と、選択部において第２入力部による入力が選択された場合、第２入力部において入力した信号に対し、第２のビット数をもとにしたバタフライ演算を実行することによって、第１処理部においてバタフライ演算が実行された信号と同等のビット数まで拡張した信号を出力する第２処理部と、第１処理部においてバタフライ演算を実行した信号と、第２処理部において出力した信号とに対し、バタフライ演算を実行する少なくとも１つの第３処理部と、を含む
【０００６】
「同等のビット数」は、第１のビット数と同じビット数であってもよく、第２のビット数より多いビット数であってもよい。第１処理部は第１のビット数をもとにしたバタフライ演算を実行する手段を１つ含んでもよく、複数含んでもよい。第２処理部は、第２のビット数をもとにしたバタフライ演算を実行する手段を１つ含んでもよく、複数含んでもよい。この態様によると、第１のビット数をもとにしたバタフライ演算を実行する第１処理部と、第２のビット数をもとにしたバタフライ演算を実行する第２処理部とを別々に設けたので、それぞれのビット数に最適化されたバタフライ演算を実行できる。また、第１処理部と第２処理部から出力されたビット数が同程度の信号は、共有の第３処理部においてバタフライ演算されるので、回路面積を減少できる。
【０００７】
選択部において第１入力部による入力が選択されている場合、第２処理部の動作を停止し、選択部において第２入力部による入力が選択されている場合、第１処理部の動作を停止する演算制御部をさらに含んでもよい。この場合、第１処理部および第２処理部の動作は、選択部における入力の選択をもとに適宜停止されるので、処理部により消費電力を低減できる。
【０００８】
第１のビット数から第２のビット数を減算した第３のビット数の信号を記憶する第１シフトレジスタと、第２のビット数の信号を記憶する第２シフトレジスタと、第１入力部において入力した信号のうち、第３のビット数の部分を第１シフトレジスタに入力させ、第２のビット数の部分を第２シフトレジスタに入力させる手段と、第２入力部において入力した信号を第２シフトレジスタに入力させる手段とを含む制御部と、をさらに含んでもよい。制御部は、選択部において第１入力部による入力が選択されている場合、第１シフトレジスタに記憶された信号と、第２シフトレジスタに記憶された信号とを対応づけながら結合した後に、第１処理部に出力する手段と、選択部において第２入力部による入力が選択されている場合、第２シフトレジスタに記憶された信号を第２処理部に出力する手段とをさらに含んでもよい。この場合、第２シフトレジスタは、第１入力部において入力した信号の一部を記憶する機能と、第２入力部において入力した信号の記憶する機能とを兼ね備えるので、それぞれの信号を別々のレジスタにおいて単独で記憶する場合と比較して回路規模を小さくできる。
【０００９】
本発明の別の態様は、通信装置である。この通信装置は、送信すべき周波数領域の信号を時間領域の信号に変換し、あるいは受信した時間領域の信号を周波数領域の信号に変換する変換部と、変換部において変換した時間領域の信号を送信し、あるいは受信した時間領域の信号を変換部に出力する送受信部と、を含む。変換部は、送受信部によって受信された第１のビット数の信号に対し、第１のビット数をもとにしたバタフライ演算を実行する第１処理部と、第１のビット数よりビット数の少ない第２のビット数の送信すべき信号に対し、第２のビット数をもとにしたバタフライ演算を実行することによって、第１処理部においてバタフライ演算が実行された信号と同等のビット数まで拡張した信号を出力する第２処理部と、第１処理部においてバタフライ演算を実行した信号と、第２処理部において出力した信号とに対し、バタフライ演算を実行する少なくとも１つの第３処理部と、を含む。
【００１０】
送受信部において信号の送信が行われている場合、第１処理部の動作を停止し、送受信部において信号の受信が行われている場合、第２処理部の動作を停止する演算制御部をさらに含んでもよい。第１のビット数から第２のビット数を減算した第３のビット数の信号を記憶する第１シフトレジスタと、第２のビット数の信号を記憶する第２シフトレジスタと、送受信部において入力した信号のうち、第３のビット数の部分を第１シフトレジスタに入力させ、第２のビット数の部分を第２シフトレジスタに入力させる手段と、送信すべき信号を第２シフトレジスタに入力させる手段とを含む制御部と、をさらに含んでもよい。制御部は、選択部において第１入力部による入力が選択されている場合、第１シフトレジスタに記憶された信号と、第２シフトレジスタに記憶された信号とを対応づけながら結合した後に、第１処理部に出力する手段と、選択部において第２入力部による入力が選択されている場合、第２シフトレジスタに記憶された信号を第２処理部に出力する手段とをさらに含んでもよい。この態様によると、第１のビット数をもとにしたバタフライ演算を実行する第１処理部と、第２のビット数をもとにしたバタフライ演算を実行する第２処理部とを別々に設けたので、変換部においては、それぞれのビット数に最適化されたバタフライ演算を実行できる。また、第１処理部と第２処理部から出力されたビット数が同程度の信号は、共有の第３処理部においてバタフライ演算されるので、変換部の回路面積を減少できる。
【００１１】
なお、以上の構成要素の任意の組合せ、本発明の表現を、方法、システムなどの間で変換したものもまた、本発明の態様として有効である。
【発明の効果】
【００１２】
本発明によれば、ビット数の異なる入力信号に対し、それぞれのビット数に最適化された回路によりＩＦＦＴ処理およびＦＦＴ処理を実行できる。
【発明を実施するための最良の形態】
【００１３】
実施の形態は、たとえば、ＵＷＢ（Ultra Wide Band）システムや無線ＬＡＮなどにおいて採用されているＯＦＤＭ変調方式に対応した通信装置に関する。この通信装置は、通信部において信号の送信・受信を切り替えながら実行する半二重無線通信を行う。この通信装置に含まれる変換回路は、送信すべき周波数領域の信号をＩＦＦＴ処理により時間領域に変換して出力する機能と、受信した時間領域の信号をＦＦＴ処理により周波数領域に変換して出力する機能とを有する。この変換回路は、送信すべき信号のＩＦＦＴ処理における最初のバタフライ演算を実行する回路と、受信した信号のＦＦＴ処理における最初のバタフライ演算を実行する回路とを別々に備える。これにより、ビット数の少ない送信すべき信号に対してバタフライ演算を実行する回路を、消費電力を少なく構成できるので、ビット数の異なる信号を共有の回路によりバタフライ演算を実行する場合の不都合を解消できる。また、変換回路は、処理の高速化の観点から、バタフライ演算を実行する回路を複数直列に接続している。また、変換回路は、送信すべき信号および受信した信号に対する２回目以降のバタフライ演算を実行する回路を共通とする。これにより、最初のバタフライ演算によりビット数が同等になった送信すべき信号および受信した信号を共有の回路により処理するので、回路面積を抑えうる。
【００１４】
図１は、実施の形態にかかる通信装置５００の構成を示す。通信装置５００は、符号化部２０と、復号部４０と、マッピング部４４と、デマッピング部４６と、変換回路１００と、Ｄ／Ａコンバータ６０と、Ａ／Ｄコンバータ８０と、通信部２００とを含む。符号化部２０は、送信すべきデータを符号化する。マッピング部４４は、符号化部２０において符号化したデータを、複素平面上に割り当てる。ここでは、マッピング方式をＱＰＳＫとする。この場合、マッピングしたデータ（以下、「Ｓｉｇ２０」という）のビット数は、Ｉ成分とＱ成分とがそれぞれ１ビットなので、合計２ビットである。
【００１５】
変換回路１００は、後述するように、Ｓｉｇ２０をＩＦＦＴ処理する。Ｄ／Ａコンバータ６０は、変換回路１００においてＩＦＦＴ処理した信号をアナログ信号に変換する。通信部２００は、Ｄ／Ａコンバータ６０においてアナログ信号に変換した信号を無線周波数に変換して送信する。また、通信部２００は、無線周波数の信号を受信し、ベースバンド周波数に変換する。ここで、通信部２００は、双方向通信を実行するが、送信と受信とを同時には実行しないものとする。Ａ／Ｄコンバータ８０は、通信部２００においてベースバンド周波数に変換された信号をデジタル信号（以下、「Ｓｉｇ１０」）に変換する。Ｓｉｇ１０のビット数は、特に限定されないが、ここでは８ビットとする。これは、Ａ／Ｄ変換の際の量子化ビット数に相当する。変換回路１００は、後述するように、Ａ／Ｄコンバータ８０において変換したＳｉｇ１０をＦＦＴ処理する。デマッピング部４６は、変換回路１００においてＦＦＴ処理した信号を複素平面上からデマッピングする。復号部４０は、デマッピング部４６においてデマッピングした信号を復号し、受信データを再生する。
【００１６】
上述した変換回路１００におけるＦＦＴ処理およびＩＦＦＴ処理には、たとえば、文献「ディジタル信号処理の基礎、辻井重男監修、社団法人電子情報通信学会編、（ｐ５７〜ｐ６８）」に記載されたＤＩＦ（Decimation-In-Frequency）形のアルゴリズムを用いることができる。以下、このＤＩＦ形のアルゴリズムについて簡単に説明する。Ｎポイントの複素数データ、ｆ（０），ｆ（１），・・・，ｆ（Ｎ−１）に対する離散フーリエ変換（以下、「ＤＦＴ」という）は、定数Wを
【数１】
2007081745.tif 000003
と定義すれば、
【数２】
2007081745.tif 000004
と表される。一方、離散フーリエ逆変換（以下、「ＩＤＦＴ」という）は、
【数３】
2007081745.tif 000005
と表される。式（２）と式（３）は係数１／ＮとＷの乗数の違いを除けば、同等の計算式の構成であるから、ＤＦＴおよびＩＤＦＴを実行する処理は、係数１／ＮとＷの乗数の処理を除いて同じである。ここで、式（１）より、式（２）のＷｋｎと式（３）のＷ−ｋｎは、複素平面上の単位円をＮ等分して得られる各点である。これらのデータは、ＤＦＴ、ＩＤＦＴのポイント数に応じて定まる値であるため、あらかじめ計算しておけばよい。たとえば、ポイント数をＮ＝８とした場合、式（２）を行列で表現すると、
【数４】
2007081745.tif 000006
となる。
【００１７】
ＦＦＴ、ＩＦＦＴは、式（２）、式（３）で表されるＤＦＴ、ＩＤＦＴの処理を高速に実行する手法である。ＦＦＴによる計算式は以下のように導出される。式（１）より
【数５】
2007081745.tif 000007
【数６】
2007081745.tif 000008
【数７】
2007081745.tif 000009
であるから、式（４）は、
【数８】
2007081745.tif 000010
と変形できる。ＦＦＴでは、式（８）を計算することで、高速にＤＦＴが求められる。ＩＦＦＴの場合は、８×８行列においてＷ１をＷ−１に、Ｗ２をＷ−２に、Ｗ３をＷ−３にそれぞれ置き換え、最終計算結果を８で除算すればよい。
【００１８】
また、式（３）によるＩＤＦＴは、
【数９】
2007081745.tif 000011
で処理することも可能である。ここで、ｆ（ｎ）ｉｑ−ｓｗａｐ、およびＦ（ｋ）ｉｑ−ｓｗａｐはそれぞれ、実数成分と虚数成分を入れ替えた値である。式（９）によれば、高速フーリエ変換と高速フーリエ逆変換を同じ回路で実行する場合、上述のようなＷの置き換えが発生しないので、予め計算されたＷを供給する回路、たとえばＲＯＭ（Read Only Memory）などの回路を共有可能になる。図２は、図１の変換回路１００における、式（８）にもとづくＦＦＴ処理のシグナルフローを示す。式（８）は、３回のバタフライ演算により実行できる。
【００１９】
変換回路１００は、上述のＤＩＦ形のアルゴリズム、すなわち、式（８）の行列の計算をハードウェアにより実行する。以下、変換回路１００の構成について述べる。図３は、実施の形態にかかる通信装置５００に含まれた変換回路１００の構成を示す。変換回路１００は、受信バッファ３００と、送信バッファ４００と、受信第１演算回路３１０と、送信第１演算回路４１０と、第１切替部１３０と、第２演算回路１４０と、第２切替部１５０と、第３演算回路１６０と、並替え部１７０と、制御部１９０とを含む。制御部１９０は、受信バッファ３００と、送信バッファ４００と、受信第１演算回路３１０と、送信第１演算回路４１０と、第１切替部１３０とに対し、図１の通信部２００が送信、受信のいずれを実行しているかを示す送受信識別信号Ｓｉｇ７０を出力する。また、制御部１９０は、第１切替部１３０に対し、第１切替制御信号Ｓｉｇ８０を出力し、第２切替部１５０に対し、第２切替制御信号Ｓｉｇ９０を出力する。第１切替制御信号Ｓｉｇ８０および第２切替制御信号Ｓｉｇ９０は、周期的にハイレベルとローレベルを繰り返し、第１切替部１３０および第２切替部１５０における切替えを制御する。繰り返しの周期は、処理する信号のビット数やサブキャリアの数などにより適宜決められる。
【００２０】
受信バッファ３００は、図１のＡ／Ｄコンバータ８０から入力された信号Ｓｉｇ１０を一定量蓄積し、蓄積した信号をバタフライ演算する順番に従って２列に並べて出力する。送信バッファ４００は、図１のマッピング部４４から入力されたＳｉｇ２０を一定量蓄積し、蓄積した信号をバタフライ演算する順番に従って２列に並べて出力する。送信バッファ４００において蓄積すべき信号の量は、受信バッファ３００において蓄積すべき信号の量より少ないので、送信バッファ４００は、受信バッファ３００と比較して小型に構成できる。ここで、受信バッファ３００は、制御部１９０から入力される送受信識別信号Ｓｉｇ７０をもとに、図１の通信部２００が信号を送信している場合は、動作を停止する。送信バッファ４００は、同様に、通信部２００が信号を受信している場合は、動作を停止する。なお、Ｓｉｇ１０およびＳｉｇ２０は、Ｉ成分およびＱ成分を含むが、図面の記載を分かりやすくするために、それらの通路を１本の線で示した。
【００２１】
受信第１演算回路３１０は、受信バッファ３００において出力した信号に対し、バタフライ演算を実行する。図４は、図３の受信第１演算回路３１０の回路構成を示す。受信第１演算回路３１０は、第１加算器３３０と、第２加算器３４０と、乗算器３５０と、受信位相テーブル３１４と、受信第１シフトレジスタ３１６と、受信クロックゲート３１８とを含む。第１加算器３３０および第２加算器３４０は、受信バッファ３００において出力した信号に対し、８ビットをもとにしたバタフライ演算の加減算を実行する。乗算器３５０は、バタフライ演算の減算結果と、受信位相テーブル３１４においてあらかじめ保存した位相回転ベクトルを複素乗算し、バタフライ演算の減算結果に対して位相回転を施す。受信第１シフトレジスタ３１６は、位相回転が施された減算結果を一定クロック遅延させて図３の第１切替部１３０に出力する（この出力を以下、「Ｓｉｇ３０」とする）。この遅延は、第２演算回路１４０においてバタフライ演算する順番に並べる処理の一部を構成する。バタフライ演算の加算結果は、そのまま図３の第１切替部１３０に出力される（この出力を以下、「Ｓｉｇ３２」とする）。受信クロックゲート３１８は、制御部１９０から入力された送受信識別信号Ｓｉｇ７０をもとに、図示しないクロック発生回路から入力されたクロックをゲーティングする。すなわち、図１の通信部２００が、信号を受信している場合は受信位相テーブル３１４および受信第１シフトレジスタ３１６に通し、通信部２００が、信号を送信している場合はクロックを遮断する。これにより、通信部２００が信号を送信している場合は、受信位相テーブル３１４および受信第１シフトレジスタ３１６の動作は停止される。図３にもどる。
【００２２】
送信第１演算回路４１０は、送信バッファ４００において出力した信号に対し、バタフライ演算を実行する。図５は、図３の送信第１演算回路４１０の回路構成を示す。送信第１演算回路４１０は、第１加算器４３０と、第２加算器４４０と、乗算器４５０と、定数乗算テーブル１２２と、送信位相テーブル４１４と、送信第１シフトレジスタ４１６と、送信クロックゲート４１８とを含む。第１加算器４３０および第２加算器４４０は、送信バッファ４００において出力した信号に対し、２ビットをもとにしたバタフライ演算の加減算を実行する。乗算器４５０、送信位相テーブル４１４および送信第１シフトレジスタ４１６の動作は、図４における乗算器３５０、受信位相テーブル３１４および受信第１シフトレジスタ３１６の動作と同様である。ただし、送信位相テーブル４１４は、バタフライ演算の減算結果に対して、位相回転とともに１／√２のレベル補正もする。位相回転および１／√２のレベル補正をした信号は、たとえば８ビットや１２ビットなどの多ビットで表す。すなわち、この時点で、送信すべき信号のビット数は受信信号のビット数、たとえば８ビットや１２ビットと同程度になる。送信第１シフトレジスタ４１６から図３の第１切替部１３０に出力されるデータを以下、「Ｓｉｇ３４」とする。定数乗算テーブル１２２は、バタフライ演算の加算結果に対し、１／√２のレベル補正をして図３の第１切替部１３０に出力する（この出力を以下、「Ｓｉｇ３６」とする）。送信クロックゲート４１８は、図１の通信部２００は、制御部１９０から入力された送受信識別信号Ｓｉｇ７０をもとにクロックをゲーティングする。ゲーティングの結果、図１の通信部２００が信号を受信している場合、送信位相テーブル４１４および送信第１シフトレジスタ４１６の動作は停止される。図３にもどる。
【００２３】
第１切替部１３０は、まず、制御部１９０から入力された送受信識別信号Ｓｉｇ７０をもとに、図１の通信部２００が信号を受信している場合、Ｓｉｇ３０およびＳｉｇ３２を選択し、図１の通信部２００が信号を送信している場合、Ｓｉｇ３４およびＳｉｇ３６を選択する。つぎに、第１切替制御信号Ｓｉｇ８０をもとに、選択した信号を切り替えながら出力する。図６は、図３の第１切替部１３０の回路構成を示す。第１切替部１３０は、第１セレクタ１３２と、第２セレクタ１３４と、第３セレクタ１３６と、第４セレクタ１３８と、ＮＯＴゲート１３９とを含む。第１セレクタ１３２および第２セレクタ１３４は、制御部１９０から入力された送受信識別信号Ｓｉｇ７０をもとに、図１の通信部２００が信号を受信している場合、Ｓｉｇ３０およびＳｉｇ３２を選択して出力し、図１の通信部２００が信号を送信している場合、Ｓｉｇ３４およびＳｉｇ３６を選択して出力する。ここでは、第１セレクタ１３２においてはＳｉｇ３０が出力され、第２セレクタ１３４においてはＳｉｇ３２が出力されているものとする。
【００２４】
第１セレクタ１３２および第２セレクタ１３４の出力は、第３セレクタ１３６および第４セレクタ１３８の双方に入力される。第３セレクタ１３６および第４セレクタ１３８は、制御部１９０から入力された第１切替制御信号Ｓｉｇ８０に基づき、入力された信号のうちの一方を図３の第２演算回路１４０に出力する。ここで、第４セレクタ１３８に入力される第１切替制御信号Ｓｉｇ８０は、ＮＯＴゲート１３９を通過して反転されるため、第３セレクタ１３６および第４セレクタ１３８は、互いに異なった信号を出力する。たとえば、第３セレクタ１３６がＳｉｇ３０を出力している間、第４セレクタ１３８はＳｉｇ３２を出力し、第３セレクタ１３６がＳｉｇ３２を出力している間、第４セレクタ１３８は、Ｓｉｇ３０を出力する。図３にもどる。
【００２５】
第２演算回路１４０は、第１切替部１３０において出力した信号に対してバタフライ演算を実行する。図７は、図３の第２演算回路１４０の回路構成を示す。第２演算回路１４０は、第１加算器４６０と、第２加算器４７０と、乗算器４８０と、第２シフトレジスタ１４２と、第１位相テーブル１４４と、第３シフトレジスタ１４６とを含む。第１加算器４６０、第２加算器４７０および乗算器４８０の動作は、図４における第１加算器３３０、第２加算器３４０および乗算器３５０の動作と同様である。第２シフトレジスタ１４２は、入力された信号を一定クロック遅延させて出力する。第１位相テーブル１４４および第３シフトレジスタ１４６の動作は、図４の受信位相テーブル３１４および受信第１シフトレジスタ３１６と同様である。バタフライ演算の加算結果および第３シフトレジスタ１４６の出力は、図３の第２切替部１５０に入力される。図３にもどる。
【００２６】
第２切替部１５０は、制御部１９０から入力された第２切替制御信号Ｓｉｇ９０をもとに、第２演算回路１４０においてバタフライ演算を実行した信号を切り替えながら第３演算回路１６０に出力する。図８は、図３の第２切替部１５０の回路構成を示す。第２切替部１５０は、第５セレクタ１５２と、第６セレクタ１５４と、ＮＯＴゲート１５９とを含む。第５セレクタ１５２、第６セレクタ１５４およびＮＯＴゲート１５９の動作は、図６の第３セレクタ１３６、第４セレクタ１３８およびＮＯＴゲート１３９の動作と同様である。第５セレクタ１５２および第６セレクタ１５４の出力は、図３の第３演算回路１６０に出力される。図３にもどる。
【００２７】
第３演算回路１６０は、入力された信号に対し、バタフライ演算を実行する。図９は、図３の第３演算回路１６０の回路構成を示す。第３演算回路１６０は、第１加算器５３０と、第２加算器５４０と、第４シフトレジスタ１６２を含む。第１加算器５３０および第２加算器５４０の動作は、図４における第１加算器３３０および第２加算器３４０の動作と同様である。第４シフトレジスタ１６２の動作は、第２演算回路１４０の第２シフトレジスタ１４２の動作と同様である。なお、第３演算回路１６０は、最終段のバタフライ演算を実行するので、バタフライ演算の減算結果に対する位相回転および遅延処理は不要である。図３にもどる。
【００２８】
第３演算回路１６０におけるバタフライ演算の結果は、上述した行列の式（８）を解いた結果に相当する。式（８）から分かるように、行列の式を解いた結果は、Ｆ（０），Ｆ（２），Ｆ（４），Ｆ（６），Ｆ（１），Ｆ（３），Ｆ（５），Ｆ（７）の順序であるため、これをＦ（０），Ｆ（１），Ｆ（２），Ｆ（３），Ｆ（４），Ｆ（５），Ｆ（６），Ｆ（７）の順序に並べ替える必要がある。並替え部１７０は、この並替え処理を実行する。並替え部１７０において並べ替えた結果の出力は、図１のＤ／Ａコンバータ６０またはデマッピング部４６に出力される。
【００２９】
実施の形態の通信装置によれば、ビット数の少ない送信信号に対してバタフライ演算を実行する送信第１演算回路４１０と、ビット数の多い受信信号に対してバタフライ演算を実行する受信第１演算回路３１０とをそれぞれ別に設けたので、送信第１演算回路４１０および受信第１演算回路３１０を、それぞれが処理する信号のビット数に最適化して構成できる。すなわち、送信信号、受信信号それぞれのビット数に最適化されたバタフライ演算を実行できる。したがって、ビット数の異なる信号を共有の回路によりバタフライ演算を実行する場合の不都合、特に、ビット数の多い信号を処理できる規模の回路でビット数の少ない信号を処理する場合の無駄を解消できる。
【００３０】
また、制御部１９０から入力される送受信識別信号Ｓｉｇ７０をもとに、通信部２００が信号の送信をしている場合、動作する必要のない受信バッファ３００および受信第１演算回路３１０は停止され、通信部２００が信号の受信をしている場合、動作する必要のない送信バッファ４００および送信第１演算回路４１０は停止されるので、変換回路１００の消費電力を低減できる。また、変換回路１００は、２回目以降のバタフライ演算を実行する第２演算回路１４０および第３演算回路１６０を送受信で兼用とするので、最初のバタフライ演算によりビット数が同等になった送信すべき信号および受信した信号を共有の回路により処理される。したがって、変換回路１００の回路面積を抑えうる。
【００３１】
実施の形態の変形例を説明する。受信バッファ３００および送信バッファ４００は、Ａ／Ｄコンバータ８０から入力された信号Ｓｉｇ１０と、マッピング部４４から入力されたＳｉｇ２０とをそれぞれ単独で蓄積したが、受信バッファ３００および送信バッファ４００に代えて、Ｓｉｇ１０の一部を蓄積するメモリと、Ｓｉｇ２０を蓄積するメモリとを兼用化したメモリを含む送受信バッファを用いることもできる。図１０は、変形例にかかる送受信バッファ７００の構成を示す。送受信バッファ７００は、図３における受信バッファ３００および送信バッファ４００に代えて使用される。送受信バッファ７００は、送受信セレクタ１１２と、第１メモリ７１２と、第２メモリ７１４と、第１連接ゲート７１６と、第２連接ゲート７１８と、バッファクロックゲート１１８とを含む。実施の形態と同様に、Ｓｉｇ１０のビット数を８ビット、Ｓｉｇ２０のビット数を２ビットとする。
【００３２】
送受信セレクタ１１２は、図３の制御部１９０から入力された送受信識別信号Ｓｉｇ７０にもとづき、Ｓｉｇ１０またはＳｉｇ２０のいずれかを出力する。図１の通信部２００が信号の受信をしている場合、すなわち、送受信セレクタ１１２においてＳｉｇ１０が出力される場合、第１メモリ７１２は、Ｓｉｇ１０のうちの６ビットの部分を記憶し、記憶した部分をバタフライ演算する順番に従って２列に並べて出力する。第２メモリ７１４は、Ｓｉｇ１０のうちの２ビットの部分を記憶し、記憶した部分をバタフライ演算する順番に従って２列に並べて出力する。このとき、たとえばサブキャリアが８つであれば、第１メモリ７１２は、６ビット×８＝４８ビットの容量を有し、第２メモリ７１４は、２ビット×８＝１６ビットの容量を有する。第１連接ゲート７１６および第２連接ゲート７１８は、第１メモリ７１２および第２メモリ７１４において並べて出力した第３のビット数の部分および第２のビット数の部分を対応づけながら結合し、図３の受信第１演算回路３１０に出力する。
【００３３】
図１の通信部２００が信号を送信している場合、すなわち、送受信セレクタ１１２においてＳｉｇ２０が出力される場合、第２メモリ７１４は、Ｓｉｇ２０を記憶し、記憶したＳｉｇ２０をバタフライ演算する順番に従って２列に並べて出力する。この出力は図３の送信第１演算回路４１０に入力される。このとき、バッファクロックゲート１１８は、入力されるクロックを遮断し、第１メモリ７１２の動作を停止する。変形例にかかる送受信バッファ７００を用いた場合、第２メモリ７１４は、Ｓｉｇ１０の一部を記憶するメモリとＳｉｇ２０を記憶するメモリとを兼ねるため、Ｓｉｇ１０を第１メモリ７１２単独で記憶する場合と比較して第１メモリ７１２のメモリの容量を少なくできる。よって回路規模を小さくできる。
【００３４】
上記実施の形態は例示であり、それらの各構成要素や各処理プロセスの組合せにいろいろな変形が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。
【００３５】
実施の形態において、変換回路１００は、通信装置５００に含まれたが、これには限定されない。変換回路１００は、ビット数の異なる信号に対してＦＦＴ処理およびＩＦＦＴ処理を実行する用途全般に利用できる。この場合、変換回路１００の適用範囲が広がる。また、実施の形態において、マッピング部４４におけるマッピング方式をＱＰＳＫとしたが、これには限定されず、マッピング方式としては、１６ＱＡＭ（Quadrature Amplitude Modulation）、ＢＰＳＫ（Bi-Phase Shift Keying）などのデジタル変調方式を利用できる。この場合、通信装置５００の設計の自由度が増す。
【００３６】
また、実施の形態においては、バタフライ演算を実行する回路が、受信第１演算回路３１０および送信第１演算回路４１０と、第２演算回路１４０と、第３演算回路１６０との３段である場合を説明したが、これには限定されない。バタフライ演算を実行する回路の段数は、使用されるサブキャリアの数によって決まるので、要求される通信速度や品質に応じて適宜変更すればよい。段数を増やす場合、図７に示される第２演算回路１４０と、図８に示される第２切替部１５０とを必要に応じて増やせばよい。この場合、変換回路１００、通信装置５００の適用範囲が広がる。また、実施の形態において、ＦＦＴ、ＩＦＦＴのアルゴリズムとしてＤＩＦ形のアルゴリズムを用いたが、回路構成を適宜変更することでＤＩＴ（Decimation-In-Time）形のアルゴリズムを用いることもできる。この場合、回路設計の自由度が増す。また、実施の形態においては、最初のバタフライ演算を実行する受信第１演算回路３１０および送信第１演算回路４１０を別々に設け、２回目以降のバタフライ演算を実行する回路は共有としたが、これには限定されない。２段目まで共有としてもよい。要するに、少なくとも最初のバタフライ演算を実行する回路を別々に設け、少なくとも最後のバタフライ演算を実行する回路を共有とすればよい。この場合も、回路設計の自由度が増す。
【図面の簡単な説明】
【００３７】
【図１】実施の形態にかかる通信装置の構成を示すブロック図である。
【図２】図１の変換回路における、式（８）にもとづくＦＦＴ処理のシグナルフローを示す図である。
【図３】実施の形態にかかる通信装置に含まれた変換回路の構成を示す回路図である。
【図４】図３の受信第１演算回路の回路構成を示す回路図である。
【図５】図３の送信第１演算回路の回路構成を示す回路図である。
【図６】図３の第１切替部の回路構成を示す回路図である。
【図７】図３の第２演算回路の回路構成を示す回路図である。
【図８】図３の第２切替部の回路構成を示す回路図である。
【図９】図３の第３演算回路の回路構成を示す回路図である。
【図１０】変形例にかかる送受信バッファの構成を示す回路図である。
【符号の説明】
【００３８】
２０  符号化部、  ４０  復号部、  ４４  マッピング部、  ４６  デマッピング部、  ６０  Ｄ／Ａコンバータ、  ８０  Ａ／Ｄコンバータ、  １００  変換回路、  １３０  第１切替部、  １４０  第２演算回路、  １５０  第２切替部、  １６０  第３演算回路、  １７０  並替え部、  １９０  制御部、  ２００  通信部、  ３００  受信バッファ、  ４００  送信バッファ、  ５００  通信装置、  ７００  送受信バッファ。
【図１】
2007081745.tif 000012
【図２】
2007081745.tif 000013
【図３】
2007081745.tif 000014
【図４】
2007081745.tif 000015
【図５】
2007081745.tif 000016
【図６】
2007081745.tif 000017
【図７】
2007081745.tif 000018
【図８】
2007081745.tif 000019
【図９】
2007081745.tif 000020
【図１０】
2007081745.tif 000021