(57)【要約】  乗算器を介して複数段連結する複数のバタフライ演算手段を有し、各バタフライ演算手段は、直列に接続する１対の第１の２入力２出力バタフライ演算器と第２の２入力２出力バタフライ演算器を有する基数４（Radix-4）アルゴリズムによる高速フーリエ変換処理装置を搭載した無線通信装置において、高速フーリエ変換処理装置の乗算器の回転因子の符号を反転させ、且つさらに、後段のバタフライ演算器BF2Bにおけるスワッピング処理の符号変換を実数成分と虚数成分において逆にすることで、Radix-4アルゴリズムによる高速逆フーリエ変換処理装置を実現する。
2009110022.tif 000002
【特許請求の範囲】
【請求項１】
高速逆フーリエ変換処理を実行する無線通信装置において、
乗算器を介して複数段連結する複数のバタフライ演算手段を有し、各バタフライ演算手段は、直列に接続する１対の第１の２入力２出力バタフライ演算器と第２の２入力２出力バタフライ演算器を有し、
前記第１の２入力２出力バタフライ演算器の一方の入力にデータが入力され、一方の出力は遅延フィードバックメモリを介して他方の入力に接続し、他方の出力は前記第２の２入力２出力バタフライ演算器の一方の入力に接続し、前記第２の２入力２出力バタフライ演算器の一方の出力は遅延フィードバックメモリを介して他方の入力に接続し、次段のバタフライ演算手段がある場合は他方の出力は乗算器を介して、次段の前記第１の２入力２出力バタフライ演算器の一方の入力に接続し、
前記第１の２入力２出力バタフライ演算器は、一方の入力に入力される入力データの実数成分及び虚数成分それぞれに対して所定の減算処理を行う２つの入力データ用加算器と、他方の入力に入力されるフィードバックデータの実数成分及び虚数成分それぞれに対して所定の加算処理を行う２つのフィードバックデータ用加算器とを有し、
前記第２の２入力２出力バタフライ演算器は、一方の入力に入力される入力データの実数成分に対して所定の減算処理又は制御信号に応じた切替制御による加算処理を選択的に実行する入力データ用加算器と虚数成分に対して所定の減算処理を行う別の入力データ用加算器と、他方の入力に入力されるフィードバックデータの実数成分に対して所定の加算処理又は制御信号に応じた切替制御による減算処理を選択的に実行するフィードバックデータ用加算器と虚数成分に対して所定の加算処理を行う別のフィードバックデータ用加算器と、一方の入力に入力される入力データの実数成分と虚数成分とを入れ替える第１の入れ替え手段とを有することを特徴とする無線通信装置。
【請求項２】
請求項１において、
初段の前記第１の２入力２出力バタフライ演算器は、一方の入力に入力される入力データの実数成分及び虚数成分と他方の入力に入力されるフィードバックデータの実数成分及び虚数成分とをそれぞれ入れ替える第２の入れ替え手段とを備えることを無線通信装置。
【請求項３】
高速フーリエ変換処理及び高速逆フーリエ変換処理を実行する無線通信装置において、
乗算器を介して複数段連結する複数のバタフライ演算手段を有し、各バタフライ演算手段は、直列に接続する１対の第１の２入力２出力バタフライ演算器と第２の２入力２出力バタフライ演算器を有し、
前記第１の２入力２出力バタフライ演算器の一方の入力にデータが入力され、一方の出力は遅延フィードバックメモリを介して他方の入力に接続し、他方の出力は前記第２の２入力２出力バタフライ演算器の一方の入力に接続し、前記第２の２入力２出力バタフライ演算器の一方の出力は遅延フィードバックメモリを介して他方の入力に接続し、次段のバタフライ演算手段がある場合は他方の出力は乗算器を介して、次段の前記第１の２入力２出力バタフライ演算器の一方の入力に接続し、
前記第１の２入力２出力バタフライ演算器は、一方の入力に入力される入力データの実数成分及び虚数成分それぞれに対して所定の減算処理を行う２つの入力データ用加算器と、他方の入力に入力されるフィードバックデータの実数成分及び虚数成分それぞれに対して所定の加算処理を行う２つのフィードバックデータ用加算器とを有し、
前記第２の２入力２出力バタフライ演算器は、一方の入力に入力されるデータの実数成分及び虚数成分それぞれに対して所定の減算処理を行う２つの入力データ用加算器と、他方の入力に入力されるデータの実数成分及び虚数成分それぞれに対して所定の加算処理を行う２つのフィードバックデータ用加算器とを有し、前記入力データ用加算器の一方は、制御信号に応じた切替制御による減算処理又は加算処理を選択的に実行し、前記フィードバックデータ用加算器の一方は、制御信号に応じた切替制御による加算処理又は減算処理を選択的に実行し、
さらに、前記第２の２入力２出力バタフライ演算器は、一方の入力に入力される入力データの実数成分と虚数成分とを入れ替える第１の入れ替え手段と、他方の入力に入力されるフィードバックデータの実数成分と虚数成分とを入れ替える第２の入れ替え手段と、一方の出力から出力されるデータの実数成分と虚数成分とを入れ替える第３の入れ替え手段と、他方の出力から出力されるデータの実数成分と虚数成分とを入れ替える第４の入れ替え手段とを有し、前記第１乃至第４の入れ替え手段それぞれの入れ替え動作は、高速フーリエ変換処理時と高速逆フーリエ変換処理時において反対となることを特徴とする無線通信装置。
【請求項４】
高速フーリエ変換処理及び高速逆フーリエ変換処理を実行する無線通信装置において、
乗算器を介して複数段連結する複数のバタフライ演算手段を有し、各バタフライ演算手段は、直列に接続する１対の第１の２入力２出力バタフライ演算器と第２の２入力２出力バタフライ演算器を有し、
前記第１の２入力２出力バタフライ演算器の一方の入力にデータが入力され、一方の出力は遅延フィードバックメモリを介して他方の入力に接続し、他方の出力は前記第２の２入力２出力バタフライ演算器の一方の入力に接続し、前記第２の２入力２出力バタフライ演算器の一方の出力は遅延フィードバックメモリを介して他方の入力に接続し、次段のバタフライ演算手段がある場合は他方の出力は乗算器を介して、次段の前記第１の２入力２出力バタフライ演算器の一方の入力に接続し、
前記第１の２入力２出力バタフライ演算器は、一方の入力に入力される入力データの実数成分及び虚数成分それぞれに対して所定の減算処理を行う２つの入力データ用加算器と、他方の入力に入力されるフィードバックデータの実数成分及び虚数成分それぞれに対して所定の加算処理を行う２つのフィードバックデータ用加算器とを有し、
前記第２の２入力２出力バタフライ演算器は、一方の入力に入力される入力データの実数成分及び虚数成分それぞれに対して所定の減算処理を行う２つの入力データ用加算器と、他方の入力に入力されるフィードバックデータの実数成分及び虚数成分それぞれに対して所定の加算処理を行う２つのフィードバックデータ用加算器とを有し、前記入力データ用加算器の一方は、制御信号に応じた切替制御による加算処理又は減算処理を選択的に実行し、前記フィードバックデータ用加算器の一方は、制御信号に応じた切替制御による減算処理又は加算処理を選択的に実行し、高速フーリエ変換処理時と高速逆フーリエ変換処理時において、前記２つの入力データ用加算器の一方と他方の加減則動作が入れ替わり、前記２つのフィードバックデータ用加算器の一方と他方の加減則動作が入れ替わることを特徴とする無線通信装置。
【請求項５】
高速フーリエ変換処理及び高速逆フーリエ変換処理の少なくとも一方を実行する無線通信装置において、
乗算器を介して複数段連結する複数のバタフライ演算手段を有し、各バタフライ演算手段は、直列に接続する１対の第１の２入力２出力バタフライ演算器と第２の２入力２出力バタフライ演算器を有し、
前記第１の２入力２出力バタフライ演算器の一方の入力にデータが入力され、一方の出力は遅延フィードバックメモリを介して他方の入力に接続し、他方の出力は前記第２の２入力２出力バタフライ演算器の一方の入力に接続し、前記第２の２入力２出力バタフライ演算器の一方の出力は遅延フィードバックメモリを介して他方の入力に接続し、次段のバタフライ演算手段がある場合は他方の出力は乗算器を介して、次段の前記第１の２入力２出力バタフライ演算器の一方の入力に接続し、
高速フーリエ変換処理又は高速逆フーリエ変換処理のデータ点数に応じて、初段の第１の２入力２出力バタフライ演算器から順に所定数のバタフライ演算器のバタフライ演算動作を停止させ、途中段の前記第１又は第２の２入力２出力バタフライ演算器からバタフライ演算動作が開始されることを特徴とする無線通信装置。
【請求項６】
請求項５において、
途中段の前記第２の２入力２出力バタフライ演算器からバタフライ演算動作が開始される場合、前記第２の２入力２出力バタフライ演算器は、前記第１の２入力２出力バタフライ演算器のバタフライ演算動作を実行することを特徴とする無線通信装置。
【請求項７】
高速フーリエ変換処理及び高速逆フーリエ変換処理の少なくとも一方を実行する無線通信装置において、
乗算器を介して複数段連結する複数のバタフライ演算手段をそれぞれ有するデータ点数N=2nで動作する複数ｐの処理部を備え、該複数の処理部は、データ点数N=2n×ｐによる並列処理動作を実行し、各バタフライ演算手段は、直列に接続する１対の第１の２入力２出力バタフライ演算器と第２の２入力２出力バタフライ演算器を有し、
前記第１の２入力２出力バタフライ演算器の一方の入力にデータが入力され、一方の出力は遅延フィードバックメモリを介して他方の入力に接続し、他方の出力は前記第２の２入力２出力バタフライ演算器の一方の入力に接続し、前記第２の２入力２出力バタフライ演算器の一方の出力は遅延フィードバックメモリを介して他方の入力に接続し、次段のバタフライ演算手段がある場合は他方の出力は乗算器を介して、次段の前記第１の２入力２出力バタフライ演算器の一方の入力に接続し、
データ点数N=2n×ｐによる並列処理動作を実行する前記複数の処理部を、データ点数N=2n+α（α：ｐ≧2αを満たす整数）による直列処理動作させる切替手段を有することを特徴とする無線通信装置。
【請求項８】
請求項７において、
直列処理動作時は、前記切替手段により、前記複数の処理部のうちの第１の処理部の少なくとも一つの第１又は第二のバタフライ演算器が、乗算器を介して前記複数の処理部のうちの第２の処理部の初段の第１の２入力２出力バタフライ演算器に直列に接続し、
前記複数の処理部における各バタフライ演算器に対応付けられた遅延フィードバックメモリを他のバタフライ演算器と共有可能とするために、各バタフライ演算器と各遅延フィードバックメモリはバス接続することを特徴とする無線通信装置。
【請求項９】
請求項７又は８において、
各処理部は、各バタフライ演算器に対応付けられていない少なくとも１ワード分の追加の遅延フィードバックメモリを備えることを特徴とする無線通信装置。
【請求項１０】
乗算器を介して複数段連結する複数のバタフライ演算手段を有し、各バタフライ演算手段は、直列に接続する１対の第１の２入力２出力バタフライ演算器と第２の２入力２出力バタフライ演算器を有する無線通信装置であって、前記第１の２入力２出力バタフライ演算器の一方の入力にデータが入力され、一方の出力は遅延フィードバックメモリを介して他方の入力に接続し、他方の出力は前記第２の２入力２出力バタフライ演算器の一方の入力に接続し、前記第２の２入力２出力バタフライ演算器の一方の出力は遅延フィードバックメモリを介して他方の入力に接続し、次段のバタフライ演算手段がある場合は他方の出力は乗算器を介して、次段の前記第１の２入力２出力バタフライ演算器の一方の入力に接続する前記無線通信装置の高速逆フーリエ変換処理方法において、
前記第１の２入力２出力バタフライ演算器は、一方の入力に入力される入力データの実数成分及び虚数成分それぞれに対して所定の減算処理を行い、他方の入力に入力されるフィードバックデータの実数成分及び虚数成分それぞれに対して所定の加算処理を行い、
前記第２の２入力２出力バタフライ演算器は、一方の入力に入力される入力データの実数成分に対して所定の減算処理又は制御信号に応じた切替制御による加算処理を選択的に実行し、虚数成分に対して所定の減算処理を行い、他方の入力に入力されるフィードバックデータの実数成分に対して所定の加算処理又は制御信号に応じた切替制御による減算処理を選択的に実行し、虚数成分に対して所定の加算処理を行い、一方の入力に入力される入力データの実数成分と虚数成分とを入れ替えることを特徴とする高速逆フーリエ変換処理方法。
【請求項１１】
請求項１０において、
初段の前記第１の２入力２出力バタフライ演算器は、一方の入力に入力される入力データの実数成分及び虚数成分と他方の入力に入力されるフィードバックデータの実数成分及び虚数成分とをそれぞれ入れ替えることを高速逆フーリエ変換処理方法。
【請求項１２】
乗算器を介して複数段連結する複数のバタフライ演算手段を有し、各バタフライ演算手段は、直列に接続する１対の第１の２入力２出力バタフライ演算器と第２の２入力２出力バタフライ演算器を有する無線通信装置であって、前記第１の２入力２出力バタフライ演算器の一方の入力にデータが入力され、一方の出力は遅延フィードバックメモリを介して他方の入力に接続し、他方の出力は前記第２の２入力２出力バタフライ演算器の一方の入力に接続し、前記第２の２入力２出力バタフライ演算器の一方の出力は遅延フィードバックメモリを介して他方の入力に接続し、次段のバタフライ演算手段がある場合は他方の出力は乗算器を介して、次段の前記第１の２入力２出力バタフライ演算器の一方の入力に接続する前記無線通信装置の高速フーリエ変換処理及び高速逆フーリエ変換処理方法において、
前記第１の２入力２出力バタフライ演算器は、一方の入力に入力される入力データの実数成分及び虚数成分それぞれに対して所定の減算処理を行い、他方の入力に入力されるフィードバックデータの実数成分及び虚数成分それぞれに対して所定の加算処理を行い、
前記第２の２入力２出力バタフライ演算器は、一方の入力に入力されるデータの実数成分及び虚数成分それぞれに対して所定の減算処理を行い、他方の入力に入力されるデータの実数成分及び虚数成分それぞれに対して所定の加算処理を行い、一方の入力に入力されるデータの実数成分及び虚数成分それぞれに対して制御信号に応じた切替制御による減算処理又は加算処理を選択的に実行し、他方の入力に入力されるデータの実数成分及び虚数成分それぞれに対して制御信号に応じた切替制御による加算処理又は減算処理を選択的に実行し、
さらに、前記第２の２入力２出力バタフライ演算器は、一方の入力に入力される入力データの実数成分と虚数成分とを入れ替え、他方の入力に入力されるフィードバックデータの実数成分と虚数成分とを入れ替え、一方の出力から出力されるデータの実数成分と虚数成分とを入れ替え、他方の出力から出力されるデータの実数成分と虚数成分とを入れ替え、それぞれの入れ替え動作は、高速フーリエ変換処理時と高速逆フーリエ変換処理時において反対となることを特徴とする高速フーリエ変換処理及び高速逆フーリエ変換処理方法。
【請求項１３】
乗算器を介して複数段連結する複数のバタフライ演算手段を有し、各バタフライ演算手段は、直列に接続する１対の第１の２入力２出力バタフライ演算器と第２の２入力２出力バタフライ演算器を有する無線通信装置であって、前記第１の２入力２出力バタフライ演算器の一方の入力にデータが入力され、一方の出力は遅延フィードバックメモリを介して他方の入力に接続し、他方の出力は前記第２の２入力２出力バタフライ演算器の一方の入力に接続し、前記第２の２入力２出力バタフライ演算器の一方の出力は遅延フィードバックメモリを介して他方の入力に接続し、次段のバタフライ演算手段がある場合は他方の出力は乗算器を介して、次段の前記第１の２入力２出力バタフライ演算器の一方の入力に接続する前記無線通信装置における高速フーリエ変換処理及び高速逆フーリエ変換処理方法において、
前記第１の２入力２出力バタフライ演算器は、一方の入力に入力される入力データの実数成分及び虚数成分それぞれに対して所定の減算処理を行い、他方の入力に入力されるフィードバックデータの実数成分及び虚数成分それぞれに対して所定の加算処理を行い、
前記第２の２入力２出力バタフライ演算器は、一方の入力に入力される入力データの実数成分及び虚数成分それぞれに対して所定の減算処理を行い、他方の入力に入力されるフィードバックデータの実数成分及び虚数成分それぞれに対して所定の加算処理を行い、一方の入力に入力される入力データの実数成分及び虚数成分それぞれに対して制御信号に応じた切替制御による加算処理又は減算処理を選択的に実行し、他方の入力に入力されるフィードバックデータの実数成分及び虚数成分それぞれに対して制御信号に応じた切替制御による減算処理又は加算処理を選択的に実行し、高速フーリエ変換処理時と高速逆フーリエ変換処理時において、前記切替制御による加減則動作が入れ替わることを特徴とする高速フーリエ変換処理及び高速逆フーリエ変換処理方法。
【請求項１４】
乗算器を介して複数段連結する複数のバタフライ演算手段を有し、各バタフライ演算手段は、直列に接続する１対の第１の２入力２出力バタフライ演算器と第２の２入力２出力バタフライ演算器を有する無線通信装置であって、前記第１の２入力２出力バタフライ演算器の一方の入力にデータが入力され、一方の出力は遅延フィードバックメモリを介して他方の入力に接続し、他方の出力は前記第２の２入力２出力バタフライ演算器の一方の入力に接続し、前記第２の２入力２出力バタフライ演算器の一方の出力は遅延フィードバックメモリを介して他方の入力に接続し、次段のバタフライ演算手段がある場合は他方の出力は乗算器を介して、次段の前記第１の２入力２出力バタフライ演算器の一方の入力に接続する前記無線通信装置における高速フーリエ変換処理及び高速逆フーリエ変換処理方法において、
高速フーリエ変換処理又は高速逆フーリエ変換処理のデータ点数に応じて、初段の第１の２入力２出力バタフライ演算器から順に所定数のバタフライ演算器のバタフライ演算動作を停止させ、途中段の前記第１又は第２の２入力２出力バタフライ演算器からバタフライ演算動作を開始させることを特徴とする高速フーリエ変換処理及び高速逆フーリエ変換処理方法。
【請求項１５】
請求項１４において、
途中段の前記第２の２入力２出力バタフライ演算器からバタフライ演算動作が開始される場合、前記第２の２入力２出力バタフライ演算器は、前記第１の２入力２出力バタフライ演算器のバタフライ演算動作を実行することを特徴とする高速フーリエ変換処理及び高速逆フーリエ変換処理方法。
【請求項１６】
乗算器を介して複数段連結する複数のバタフライ演算手段をそれぞれ有するデータ点数N=2nで動作する複数ｐの処理部を備え、該複数の処理部は、データ点数N=2n×ｐによる並列処理動作を実行し、各バタフライ演算手段は、直列に接続する１対の第１の２入力２出力バタフライ演算器と第２の２入力２出力バタフライ演算器を有する無線通信装置であって、前記第１の２入力２出力バタフライ演算器の一方の入力にデータが入力され、一方の出力は遅延フィードバックメモリを介して他方の入力に接続し、他方の出力は前記第２の２入力２出力バタフライ演算器の一方の入力に接続し、前記第２の２入力２出力バタフライ演算器の一方の出力は遅延フィードバックメモリを介して他方の入力に接続し、次段のバタフライ演算手段がある場合は他方の出力は乗算器を介して、次段の前記第１の２入力２出力バタフライ演算器の一方の入力に接続する前記無線通信装置の高速フーリエ変換処理及び高速逆フーリエ変換処理方法において、
切替手段が、データ点数N=2n×ｐによる並列処理動作を実行する前記複数の処理部を、データ点数N=2n+α（α：ｐ≧2αを満たす整数）による直列処理動作させることを特徴とする高速フーリエ変換処理及び高速逆フーリエ変換処理方法。
【請求項１７】
請求項１６において、
直列処理動作時は、前記切替手段により、前記複数の処理部のうちの第１の処理部の少なくとも一つの第１又は第二のバタフライ演算器が、乗算器を介して前記複数の処理部のうちの第２の処理部の初段の第１の２入力２出力バタフライ演算器に直列に接続させ、
前記複数の処理部における各バタフライ演算器に対応付けられた遅延フィードバックメモリを他のバタフライ演算器と共有可能とするために、各バタフライ演算器と各遅延フィードバックメモリをバス接続することを特徴とする高速フーリエ変換処理及び高速逆フーリエ変換処理方法。
【請求項１８】
請求項１６又は１７において、
各処理部に、各バタフライ演算器に対応付けられていない少なくとも１ワード分の追加の遅延フィードバックメモリが設けることを特徴とする高速フーリエ変換処理及び高速逆フーリエ変換処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、OFDM（直交周波数分割多重）方式の無線通信装置に関し、特に、基数４(Radix-4)アルゴリズムによる高速フーリエ変換装置又は高速逆フーリエ変換装置を搭載し、共通リソースにより高速フーリエ変換処理と高速逆フーリエ変換処理を実現し、さらにサブキャリア数が可変するスケーラブルOFDM方式に好適に適用される無線通信装置に関する。
【背景技術】
【０００２】
直交周波数分割多重(OFDM：Orthogonal
Frequency Division Multiplexing)方式は、高速の信号系列を複数の信号系列に並列化し、複数の低速のサブキャリアを用いて同時に伝送を行うマルチキャリア通信方式の一つであり、それぞれのサブキャリアが互いに直交するように配置される。送信側では、データを逆高速フーリエ変換(IFFT)処理を行って各サブキャリアの周波数多重化を行い、受信側では、高速フーリエ変換（FFT）処理を行って受信信号から各サブキャリア信号を分離する。【０００３】
図１は、高速フーリエ変換処理の従来の構成例を示す図である。図１の構成は、パイプライン高速フーリエ変換アーキテクチャの一例である（特許文献１の図９参照）。入力データは、最初の一対の２入力２出力バタフライ演算器（以下、バタフライ演算器と称する）9、10における前段のバタフライ演算器9の一方の入力に入力される。バタフライ演算器9の一方の出力は遅延フィードバックメモリ1と接続し、入力データはそのまま遅延フィードバックメモリ1に格納される。格納されたデータは、一定時間遅延させた後、バタフライ演算器9の他方の入力にフィードバックデータとして入力される。バタフライ演算器９によるバタフライ演算結果は、バタフライ演算器9の他方の出力から出力され、後段のバタフライ演算器10の一方の入力に入力される。【０００４】
バタフライ演算器10についても、その一方の出力は遅延フィードバックメモリ2と接続し、入力データはそのまま遅延フィードバックメモリ2に格納される。格納されたデータは、一定時間遅延させた後、バタフライ演算器10の他方の入力に入力される。バタフライ演算器10によるバタフライ演算結果は、バタフライ演算器10の他方の出力から出力され、乗算器17に入力される。乗算器17は、入力データに所定の回転因子W1を乗算し、その演算結果を出力し、次の一対のバタフライ演算器11、12における前段のバタフライ演算器11の一方の入力に入力される。【０００５】
以降、同一の演算を繰り返し、前段のバタフライ演算器11、13、15は、それぞれ前段のバタフライ演算器9と同一の構成及び機能を有し、それぞれ遅延フィードバックメモリ3、5、7が接続される。また、後段のバタフライ演算器12、14、16は、それぞれ後段のバタフライ演算器10と同一の構成及び機能を有し、それぞれ遅延フィードバックメモリ4、6、8が接続される。バタフライ演算器12と13間の乗算器18は、回転因子W2を入力データに対して乗算し、バタフライ演算器14と15の乗算器19は、回転因子W3を入力データに対して乗算する。バイナリカウンタ20は、クロックに基づいた同期制御手段及びアドレスカウンタとして機能する。【０００６】
図２は、前段のバタフライ演算器の構成例を示し、図３は、後段のバタフライ演算器の構成例を示す（特許文献１の図１０及び図１１参照）。各バタフライ演算器では、入力データX(n)の実数成分Xr(n)と虚数成分Xt(n)に分離して演算を行う。図２の前段のバタフライ演算器BF2A（図１の9、11、13、15）は、図示されるように、２つのフィードバックデータ用加算器21と２つの入力データ用加算器22（減算もマイナス値の加算として、減算を実行するものも加算器と称する）と４つのスイッチ23を備え、スイッチ23は、後段のバタフライ演算器に出力される加算又は減算されたデータ又は演算されずに遅延フィードバックメモリに送られるデータのいずれかを制御信号ｓにより選択する。【０００７】
図３の後段のバタフライ演算器BF2B（図１の10、12、14、16）も、２つのフィードバックデータ用加算器21と２つの入力データ用加算器22と４つのスイッチ23を備えるが、フィードバックデータ用加算器21の一方及び入力データ用加算器22の一方は、制御信号ｓ及びｔが入力される論理回路24の出力信号に基づいて、加算及び減算が切り替えられる。すなわち、虚数成分側のフィードバックデータ用加算器21は、論理回路24の出力信号の変化に応じて、減算処理を実施し、加算／減算が切り替えられ、虚数成分側の入力データ用加算器22は、論理回路24の出力信号の変化に応じて、加算処理を実施し、減算／加算が切り替えられる。【０００８】
さらに、入力データX(n+N/2)の実数成分Xr(n+N/2)と虚数成分Xt(n+N/2)とを入れ替えるスワッピング手段25を備え、遅延フィードバックメモリに格納されたデータが入力されるタイミング期間において、入力データX(n+N/2)の実数成分と虚数成分間の入れ替え処理を実施する。スワッピング手段25による入れ替え処理は、±90°の位相回転に対応する回転因子の乗算処理と等価の処理である。【０００９】
上述した図１の構成は、単一経路遅延フィードバックの基数４構造を形成するために、回転因子が分解されている基数２の高速フーリエ変換(FFT)である。すなわち、各バタフライ演算器の入力数は２であり、各バタフライ演算器は基数２による演算を行うが、乗算器の間には２つのバタフライ演算器が直列に接続され、乗算器間における入力数は４であるため、基数２２＝４構造となる。基数２２は、基数４のアルゴリズムとして同一の乗算複雑性を有するが、基数２のバタフライ構造を維持する。
【特許文献１】米国特許第６０９８０８８号公報
【発明の開示】
【発明が解決しようとする課題】
【００１０】
OFDM方式による無線信号を送受信する無線基地局装置（無線通信装置）などに搭載されるSoC(System
on Chip)は近年大規模化が加速している。OFDM方式などでは、乗算マクロを含むFIR（Finite Impulse Response :有限インパルス応答）フィルタの搭載は必須であり、ASIC（Application
Specific Integrated Circuit）やFPGA（Field Programmable Gate Array）などのバルクサイズは乗算マクロの使用個数が支配的となっているため、回路規模削減のためには、乗算マクロの使用個数を削減する必要がある。【００１１】
上述の図１の構成は、基数(Radixとも称する)４アルゴリズムを展開したパイプライン高速フーリエ変換(FFT)方式であり、２入力のバタフライ演算器２つに対して乗算器１つの構成であるため、基数２の構成（２入力のバタフライ演算器１つに対して１つの乗算器を有する構成）と比較して、乗算器の個数が削減されるが、基数２(Radix-2)アルゴリズムと異なり、図１の高速フーリエ変換(FFT)回路の構成を高速逆フーリエ変換(IFFT)回路としてそのまま単純利用できない。【００１２】
また、OFDM方式の無線通信装置において、TDD(Time
Division Duplex)による送受信を完全排他で時分割動作する場合、回路規模削減のためには、共通リソースにより高速フーリエ変換(FFT)処理と高速逆フーリエ変換(IFFT)処理が行われることが望ましい。【００１３】
図１の構成は、基数４(Radix-4)アルゴリズムに基づいているので、データ点数Ｎ＝２２ｍを前提としているので、各バタフライ演算器が基数２のバタフライ演算を行うパイプライン方式といえども、データ点数Ｎ２ｍ−１の演算には適さない。しかしながら、IEEE802.16-2004/16eなどの標準規格では、サブキャリア数（データ点数）N=128/256/512/1024というようなスケーラブルOFDM方式を規定しているため、サブキャリア数を柔軟に可変できる高速フーリエ変換回路及び高速逆フーリエ変換回路が要求される。【００１４】
さらに、OFDM方式によるマルチバンド対応の無線通信装置では、高速フーリエ変換処理回路と高速逆フーリエ変換処理回路は並列構成を採用する。従来においては、回路規模と処理能力のトレードオフにより、高速フーリエ変換処理回路と高速逆フーリエ変換処理回路の並列度はあらかじめ固定されており、通信環境の変動に応じて柔軟に並列度を可変できない。【００１５】
そこで、本装置の目的は、共通リソースにより高速フーリエ変換処理及び高速逆フーリエ変換処理を実現し、また、高速フーリエ変換処理及び高速逆フーリエ変換処理におけるサブキャリア数や並列度を柔軟に可変できる高速フーリエ変換処理装置又は高速逆フーリエ変換装置を搭載する無線通信装置を提供することにある。
【課題を解決するための手段】
【００１６】
上記目的を達成するための無線通信装置の第一の構成は、高速逆フーリエ変換処理を実行する無線通信装置において、乗算器を介して複数段連結する複数のバタフライ演算手段を有し、各バタフライ演算手段は、直列に接続する１対の第１の２入力２出力バタフライ演算器と第２の２入力２出力バタフライ演算器を有し、前記第１の２入力２出力バタフライ演算器の一方の入力にデータが入力され、一方の出力は遅延フィードバックメモリを介して他方の入力に接続し、他方の出力は前記第２の２入力２出力バタフライ演算器の一方の入力に接続し、前記第２の２入力２出力バタフライ演算器の一方の出力は遅延フィードバックメモリを介して他方の入力に接続し、次段のバタフライ演算手段がある場合は他方の出力は乗算器を介して、次段の前記第１の２入力２出力バタフライ演算器の一方の入力に接続し、前記第１の２入力２出力バタフライ演算器は、一方の入力に入力される入力データの実数成分及び虚数成分それぞれに対して所定の減算処理を行う２つの入力データ用加算器と、他方の入力に入力されるフィードバックデータの実数成分及び虚数成分それぞれに対して所定の加算処理を行う２つのフィードバックデータ用加算器とを有し、前記第２の２入力２出力バタフライ演算器は、一方の入力に入力される入力データの実数成分に対して所定の減算処理又は制御信号に応じた切替制御による加算処理を選択的に実行する入力データ用加算器と虚数成分に対して所定の減算処理を行う別の入力データ用加算器と、他方の入力に入力されるフィードバックデータの実数成分に対して所定の加算処理又は制御信号に応じた切替制御による減算処理を選択的に実行するフィードバックデータ用加算器と虚数成分に対して所定の加算処理を行う別のフィードバックデータ用加算器と、一方の入力に入力される入力データの実数成分と虚数成分とを入れ替える第１の入れ替え手段とを有する。【００１７】
本無線通信装置の第２の構成は、上記第１の構成において、初段の前記第１の２入力２出力バタフライ演算器は、一方の入力に入力される入力データの実数成分及び虚数成分と他方の入力に入力されるフィードバックデータの実数成分及び虚数成分とをそれぞれ入れ替える第２の入れ替え手段とを備える。【００１８】
本無線通信装置の第３の構成は、高速フーリエ変換処理及び高速逆フーリエ変換処理を実行する無線通信装置において、乗算器を介して複数段連結する複数のバタフライ演算手段を有し、各バタフライ演算手段は、直列に接続する１対の第１の２入力２出力バタフライ演算器と第２の２入力２出力バタフライ演算器を有し、前記第１の２入力２出力バタフライ演算器の一方の入力にデータが入力され、一方の出力は遅延フィードバックメモリを介して他方の入力に接続し、他方の出力は前記第２の２入力２出力バタフライ演算器の一方の入力に接続し、前記第２の２入力２出力バタフライ演算器の一方の出力は遅延フィードバックメモリを介して他方の入力に接続し、次段のバタフライ演算手段がある場合は他方の出力は乗算器を介して、次段の前記第１の２入力２出力バタフライ演算器の一方の入力に接続し、前記第１の２入力２出力バタフライ演算器は、一方の入力に入力される入力データの実数成分及び虚数成分それぞれに対して所定の減算処理を行う２つの入力データ用加算器と、他方の入力に入力されるフィードバックデータの実数成分及び虚数成分それぞれに対して所定の加算処理を行う２つのフィードバックデータ用加算器とを有し、前記第２の２入力２出力バタフライ演算器は、一方の入力に入力されるデータの実数成分及び虚数成分それぞれに対して所定の減算処理を行う２つの入力データ用加算器と、他方の入力に入力されるデータの実数成分及び虚数成分それぞれに対して所定の加算処理を行う２つのフィードバックデータ用加算器とを有し、前記入力データ用加算器の一方は、制御信号に応じた切替制御による減算処理又は加算処理を選択的に実行し、前記フィードバックデータ用加算器の一方は、制御信号に応じた切替制御による加算処理又は減算処理を選択的に実行し、さらに、前記第２の２入力２出力バタフライ演算器は、一方の入力に入力される入力データの実数成分と虚数成分とを入れ替える第１の入れ替え手段と、他方の入力に入力されるフィードバックデータの実数成分と虚数成分とを入れ替える第２の入れ替え手段と、一方の出力から出力されるデータの実数成分と虚数成分とを入れ替える第３の入れ替え手段と、他方の出力から出力されるデータの実数成分と虚数成分とを入れ替える第４の入れ替え手段とを有し、前記第１乃至第４の入れ替え手段それぞれの入れ替え動作は、高速フーリエ変換処理時と高速逆フーリエ変換処理時において反対となる。【００１９】
本無線通信装置の第４の構成は、高速フーリエ変換処理及び高速逆フーリエ変換処理を実行する無線通信装置において、乗算器を介して複数段連結する複数のバタフライ演算手段を有し、各バタフライ演算手段は、直列に接続する１対の第１の２入力２出力バタフライ演算器と第２の２入力２出力バタフライ演算器を有し、前記第１の２入力２出力バタフライ演算器の一方の入力にデータが入力され、一方の出力は遅延フィードバックメモリを介して他方の入力に接続し、他方の出力は前記第２の２入力２出力バタフライ演算器の一方の入力に接続し、前記第２の２入力２出力バタフライ演算器の一方の出力は遅延フィードバックメモリを介して他方の入力に接続し、次段のバタフライ演算手段がある場合は他方の出力は乗算器を介して、次段の前記第１の２入力２出力バタフライ演算器の一方の入力に接続し、前記第１の２入力２出力バタフライ演算器は、一方の入力に入力される入力データの実数成分及び虚数成分それぞれに対して所定の減算処理を行う２つの入力データ用加算器と、他方の入力に入力されるフィードバックデータの実数成分及び虚数成分それぞれに対して所定の加算処理を行う２つのフィードバックデータ用加算器とを有し、前記第２の２入力２出力バタフライ演算器は、一方の入力に入力される入力データの実数成分及び虚数成分それぞれに対して所定の減算処理を行う２つの入力データ用加算器と、他方の入力に入力されるフィードバックデータの実数成分及び虚数成分それぞれに対して所定の加算処理を行う２つのフィードバックデータ用加算器とを有し、前記入力データ用加算器の一方は、制御信号に応じた切替制御による加算処理又は減算処理を選択的に実行し、前記フィードバックデータ用加算器の一方は、制御信号に応じた切替制御による減算処理又は加算処理を選択的に実行し、高速フーリエ変換処理時と高速逆フーリエ変換処理時において、前記２つの入力データ用加算器の一方と他方の加減則動作が入れ替わり、前記２つのフィードバックデータ用加算器の一方と他方の加減則動作が入れ替わる。【００２０】
本無線通信装置の第５の構成は、高速フーリエ変換処理及び高速逆フーリエ変換処理の少なくとも一方を実行する無線通信装置において、乗算器を介して複数段連結する複数のバタフライ演算手段を有し、各バタフライ演算手段は、直列に接続する１対の第１の２入力２出力バタフライ演算器と第２の２入力２出力バタフライ演算器を有し、前記第１の２入力２出力バタフライ演算器の一方の入力にデータが入力され、一方の出力は遅延フィードバックメモリを介して他方の入力に接続し、他方の出力は前記第２の２入力２出力バタフライ演算器の一方の入力に接続し、前記第２の２入力２出力バタフライ演算器の一方の出力は遅延フィードバックメモリを介して他方の入力に接続し、次段のバタフライ演算手段がある場合は他方の出力は乗算器を介して、次段の前記第１の２入力２出力バタフライ演算器の一方の入力に接続し、高速フーリエ変換処理又は高速逆フーリエ変換処理のデータ点数に応じて、初段の第１の２入力２出力バタフライ演算器から順に所定数のバタフライ演算器のバタフライ演算動作を停止させ、途中段の前記第１又は第２の２入力２出力バタフライ演算器からバタフライ演算動作が開始される。【００２１】
本無線通信装置の第６の構成は、上記第５の構成において、途中段の前記第２の２入力２出力バタフライ演算器からバタフライ演算動作が開始される場合、前記第２の２入力２出力バタフライ演算器は、前記第１の２入力２出力バタフライ演算器のバタフライ演算動作を実行する。【００２２】
本無線通信装置の第７の構成は、高速フーリエ変換処理及び高速逆フーリエ変換処理の少なくとも一方を実行する無線通信装置において、乗算器を介して複数段連結する複数のバタフライ演算手段をそれぞれ有するデータ点数N=2nで動作する複数ｐの処理部を備え、該複数の処理部は、データ点数N=2n×ｐによる並列処理動作を実行し、各バタフライ演算手段は、直列に接続する１対の第１の２入力２出力バタフライ演算器と第２の２入力２出力バタフライ演算器を有し、前記第１の２入力２出力バタフライ演算器の一方の入力にデータが入力され、一方の出力は遅延フィードバックメモリを介して他方の入力に接続し、他方の出力は前記第２の２入力２出力バタフライ演算器の一方の入力に接続し、前記第２の２入力２出力バタフライ演算器の一方の出力は遅延フィードバックメモリを介して他方の入力に接続し、次段のバタフライ演算手段がある場合は他方の出力は乗算器を介して、次段の前記第１の２入力２出力バタフライ演算器の一方の入力に接続し、データ点数N=2n×ｐによる並列処理動作を実行する前記複数の処理部を、データ点数N=2n+α（α：ｐ≧2αを満たす整数）による直列処理動作させる切替手段を有する本無線通信装置の第８の構成は、上記第７の構成において、直列処理動作時は、前記切替手段により、前記複数の処理部のうちの第１の処理部の少なくとも一つの第１又は第二のバタフライ演算器が、乗算器を介して前記複数の処理部のうちの第２の処理部の初段の第１の２入力２出力バタフライ演算器に直列に接続し、前記複数の処理部における各バタフライ演算器に対応付けられた遅延フィードバックメモリを他のバタフライ演算器と共有可能とするために、各バタフライ演算器と各遅延フィードバックメモリはバス接続する。【００２３】
本無線通信装置の第９の構成は、上記第７又は第８の構成において、各処理部は、各バタフライ演算器に対応付けられていない少なくとも１ワード分の追加の遅延フィードバックメモリを備える。
【発明の効果】
【００２４】
開示の装置によれば、基数４アルゴリズムによる高速逆フーリエ変換装置が提供され、基数２による高速逆フーリエ変換装置と比べて、乗算器の数が低減され、また、基数４アルゴリズムによる高速フーリエ変換と高速逆フーリエ変換を共通リソースに処理可能となるので、回路規模の増大を抑制することができる。【００２５】
サブキャリア数や並列度を可変できる高速フーリエ変換処理装置又は高速逆フーリエ変換装置を提供することにより、スケーラブルOFDMに対して柔軟に対応可能な無線通信装置が実現可能となる。
【図面の簡単な説明】
【００２６】
【図１】高速フーリエ変換処理の従来の構成例を示す図である。
【図２】前段のバタフライ演算器の構成例を示す図である。
【図３】後段のバタフライ演算器の構成例を示す図である。
【図４】基数２(radix-2)アルゴリズムによる高速フーリエ変換のバタフライ演算フローを示す図である。
【図５】変形基数２(radix-2)アルゴリズムによる高速フーリエ変換のバタフライ演算フローを示す図である。
【図６】基数４(radix-4)アルゴリズムによる高速フーリエ変換のバタフライ演算フローを示す図である。
【図７】変形基数２(radix-2)アルゴリズムによる高速逆フーリエ変換のバタフライ演算フローを示す図である。
【図８】基数４(radix-4)アルゴリズムによる高速逆フーリエ変換のバタフライ演算フローを示す図であり、
【図９】Radix-4アルゴリズムによる高速逆フーリエ変換処理における後段のバタフライ演算器の構成例を示す。
【図１０】高速逆フーリエ変換処理における周波数配置の例について示す図である。
【図１１】周波数配置を並び替える場合の基数４(radix-4)アルゴリズムによる高速逆フーリエ変換のバタフライ演算フローを示す図である。
【図１２】図１１のRadix-4アルゴリズムによる高速逆フーリエ変換処理における前段のバタフライ演算器（先頭のバタフライ演算器のみ）の構成例を示す図である
【図１３】高速フーリエ変換処理及び高速逆フーリエ変換処理両方に適用可能な後段のバタフライ演算器の構成例を示す図である。
【図１４】第４の実施の形態における32点高速フーリエ変換装置の構成例を示す図である。
【図１５】図１４のバタフライ演算器42の構成例を示す図である。
【図１６】回転因子生成手段の構成例を示す図である。
【図１７】N＝28×４並列を例にした第５の実施の形態における高速フーリエ変換装置又は高速逆フーリエ変換装置の構成図を示す図である。
【図１８】遅延フィードバックメモリのバス接続実施例を示す図である。
【符号の説明】
【００２７】
１〜８：遅延フィードバックメモリ、９、１１、１３、１５：前段のバタフライ演算器、１０、１２、１４、１６：後段のバタフライ演算器、１７〜１９：乗算器、２０：バイナリカウンタ、２１、２２：加算器、２３：選択回路、２４：±ｊ制御用論理回路、２５：実数／虚数成分スワッピング手段、２６：入力データ／フィードバックデータスワッピング手段、２７：前段のバタフライ演算器用実数／虚数成分スワップ制御用論理回路、２８：後段のバタフライ演算器用実数／虚数成分スワップ制御用論理回路、３０：拡張遅延フィードバックメモリ、３７：アドレス変換部、３８：バッファ、３９、４１、４３、４５：前段のバタフライ演算器、４０、４２、４４、４６：後段のバタフライ演算器、５０：直列動作時バタフライ制御切替回路、５１：直列動作／並列動作切替用入力データストリーム選択回路、６４：象限識別部、６５：Ｃｏｓテーブル、６６：符号変換部、７１：書き込みバス制御部、７２：読み出しバス制御部、７３、７４、７５：セレクタ
【発明を実施するための最良の形態】
【００２８】
以下、図面を参照して実施の形態について説明する。しかしながら、かかる実施の形態例が、本発明の技術的範囲を限定するものではない。以下の各実施の形態例では、OFDM方式を採用する無線通信装置に搭載される高速フーリエ変換装置又は高速逆フーリエ変換装置の構成について説明する。【００２９】
（第１の実施の形態例）
第１の実施の形態例では、図１の構成を高速逆フーリエ変換処理（ＩＦＦＴ）に適用するための変形について説明する。以下では、一例として、データ点数N=16における基数２(radix-2)アルゴリズムによる高速フーリエ変換のバタフライ演算フローから、順次、基数４(radix-4)アルゴリズムによる高速フーリエ変換のバタフライ演算フローを求め、それに基づいて、基数４(radix-4)アルゴリズムによる高速逆フーリエ変換のバタフライ演算フローを導く。【００３０】
図４は、radix-２アルゴリズムによる高速フーリエ変換のバタフライ演算フローを示す図である。各ステージの演算は一つのバタフライ演算器の演算に相当し、各ステージ間の回転因子は乗算器による該回転因子の乗算に相当する。図４は、radix-２アルゴリズムであるため、各ステージ間、即ち一つのバタフライ演算器毎に乗算器を必要とする構成となる。回転因子Ｗの周期性を利用すると、図４の演算フローを図５のように変形することができる。【００３１】
図５は、変形radix-２アルゴリズムによる高速フーリエ変換のバタフライ演算フローを示す図である。図５では、第１ステージと第２ステージ間の回転因子、第３ステージと第４ステージ間の回転因子をW4のみとなるように変形している。回転因子W4（＝WＮ／４）は、−90°（以降−ｊと表記する）の位相に相当し、複素乗算では、±90°の位相回転は、実数成分と虚数成分のスワッピング（入れ替え）と符号変換により実現できることから、回転因子W4のための乗算器が不要となり、第１ステージと第２ステージ間の乗算器及び第３ステージと第４ステージ間の乗算器を削減することができ、radix-４アルゴリズムが実現される（図６参照）。【００３２】
図６は、radix-４アルゴリズムによる高速フーリエ変換のバタフライ演算フローを示す図である。図５における第１ステージと第２ステージ間の回転因子W4及び第３ステージと第４ステージ間の回転因子W4の乗算は、乗算器に代わって、実数成分と虚数成分のスワッピング操作により実現される（図３のスワッピング手段25に相当）。図６のバタフライ演算を実現する構成が、図１の構成であり、図１におけるバタフライ演算器の構成は図２及び図３の構成となる。【００３３】
パイプライン処理では、インターリーブ型処理と異なり、バタフライ演算器に接続する遅延フィードバックメモリ（ランダムアクセスメモリ、レジスタ）（図１の参照符号１〜８に相当）へ、N/2n（N：データ点数、n：バタフライ演算ステージ）サンプルバッファリングし、まず、前段のバタフライ演算器（第１ステージ又は第３ステージ）は、遅延フィードバックメモリから読み出したデータと入力データストリームでバタフライ演算を実施する。サンプルIndexが0〜N/2n-1の演算結果は後段のバタフライ演算器（第２ステージ又は第４ステージ）へ出力され、N/2n〜N/2n-1-1の演算結果は再び遅延フィードバックメモリへ格納する。N/2nサンプルバタフライ演算結果出力後、格納しておいたN/2nサンプルを遅延フィードバックメモリから読み出すと同時に入力データストリームを格納する。各ステージにおいて、以降同様のバタフライ演算を繰り返すことでパイプライン高速フーリエ変換(FFT)が実現される。【００３４】
次に、図６に示したradix-４アルゴリズムによる高速フーリエ変換を高速逆フーリエ変換に適用する場合を考える。式(1)は離散的フーリエ変換（DFT）の定義、式(2)は離散的逆フーリエ変換（IDFT）の定義である。２式の差異の一つは、回転因子の符号であり逆回転の関係にある。回転因子は複素数であるため、ハードウェアでの実現手段は虚数成分を×-1すればよい。もう一つの差異は積分結果の1/Nであり、データ数がN=2nなので、ハードウェアでの実現手段はnビットシフトで実現できる。【００３５】
【数１】
2009110022.tif 000003
【００３６】
【数２】
2009110022.tif 000004
【００３７】
G[k]  ：周波数関数
g[n]  ：時間関数
N  ：データ点数
WN＝e-j2π/N＝Cos(2π/N)−jSin(2π/N)：回転因子
図７は、変形radix-２アルゴリズムによる高速逆フーリエ変換のバタフライ演算フローを示す図であり、図５を(2)式に従い高速逆フーリエ変換（IFFT）フローに書き換えたものである。回転因子のコンスタレーションは、高速フーリエ変換（FFT）と等価であるが、符号はすべて反対となる。【００３８】
図８は、radix-４アルゴリズムによる高速逆フーリエ変換のバタフライ演算フローを示す図であり、図７のフローを、Radix-4アルゴリズムに変換したものである。この場合、乗算器による複素乗算処理が行われる回転因子については、高速フーリエ変換における回転方向と逆回転の回転因子を与えればよいが、前段のバタフライ演算器と後段のバタフライ演算器間にある回転因子（−W4）は、高速フーリエ変換（FFT）と逆に+90°(以降jと表記する)のスワッピング処理となり、図８に示すように、第１のステージと第２ステージ間及び第３ステージと第４ステージ間にスワッピング処理を含むバタフライ演算フローで実現する。このように、回転因子に対する処理について、複素乗算処理に代わってスワッピング処理が行われるため、乗算器に高速フーリエ変換処理の回転因子と逆回転の回転因子を与えるだけでは、高速逆フーリエ変換（IFFT）を実現することはできない。スワッピング処理についても、高速フーリエ変換処理のスワッピング処理と反対の符号変換を実施する必要がある。【００３９】
図９は、Radix-4アルゴリズムによる高速逆フーリエ変換処理における後段のバタフライ演算器の構成例を示す。図８に示すバタフライ演算フローで実現するための後段のバタフライ演算器は、図３の構成（Radix-4アルゴリズムによる高速フーリエ変換処理における後段のバタフライ演算器の構成）と同様に、入力データX(n+N/2)の実数成分Xr(n+N/2)と虚数成分Xt(n+N/2)とを入れ替えるスワッピング手段25bと２つのフィードバックデータ用加算器21と２つの入力データ用加算器22と４つのスイッチ23を備え、フィードバックデータ用加算器21の一方及び入力データ用加算器22の一方は、制御信号ｓ及びｔが入力される論理回路24の出力信号に基づいて、加算及び減算が切り替えられる。【００４０】
このとき、図３の構成と比較して、加算及び減算の切替が切り替えられるフィードバックデータ用加算器21と入力データ用加算器22が、図３の構成と反対とする。すなわち、高速フーリエ変換処理に対応する図３の構成は、虚数成分側のフィードバックデータ用加算器21と入力データ用加算器22の加算及び減算が切り替えられるが、図９の構成では、実数成分を演算するフィードバックデータ用加算器21と入力データ用加算器22の加算及び減算が切り替えられる。すなわち、実数成分側のフィードバックデータ用加算器21は、論理回路24の出力信号の変化に応じて、減算処理を実施し、加算／減算が切り替えられ、実数成分側の入力データ用加算器22は、論理回路24の出力信号の変化に応じて、加算処理を実施し、減算／加算が切り替えられる。【００４１】
このように、図８に示したRadix-4アルゴリズムによる高速逆フーリエ変換処理を実現する場合、図６に示したRadix-4アルゴリズムによる高速フーリエ変換処理を実現する図１の構成と比較して、乗算器における回転因子の符号を反転させるのみならず、後段のバタフライ演算器BF2Bにおけるスワッピング処理の符号変換を実数成分と虚数成分において逆にすることで、図８のRadix-4アルゴリズムによる高速逆フーリエ変換処理が実現される。パイプライン高速逆フーリエ変換に、Radix-4アルゴリズムを適用可能となることにより、Radix-2アルゴリズムに比べて乗算器の数が約半分となり、回路規模の増大を抑制できる。【００４２】
（第２の実施の形態例）
第２の実施の形態例では、高速逆フーリエ変換処理における周波数配置について説明する。図１０は、高速逆フーリエ変換処理における周波数配置の例について示す図であり、データ点数Ｎにおいて、図１０（ａ）は、サンプリング周波数の基準をインデックス(index)０に設定する場合（第１の周波数配置例）であり、図１０（ｂ）は、サンプリング周波数の基準をインデックスN/2に設定する場合（第２の周波数配置例）である。周波数配置については、高速逆フーリエ変換処理の前処理を実行するベースバンド部の構成により決定されるが、ベースバンド部でいずれか一方に決定された周波数配置を他方に変更する場合は、高速逆フーリエ変換処理前に変更する必要がある。第２の周波数配置例（図１０（ｂ））は、例えばWiMAX(Worldwide
Interoperability for Microwave Access)の標準規格IEEE802.16-2004/16e仕様で規定されており、従来のパイプライン処理で採用されている第１の周波数配置例（図１０（ａ））の周波数配置を第２の周波数配置例（図１０（ｂ））の周波数配置に変更するためには、第１のステージにおける前段のバタフライ演算前に並び替える必要がある。【００４３】
図１１は、周波数配置を並び替える場合のradix-４アルゴリズムによる高速逆フーリエ変換のバタフライ演算フローを示す図であり、図８のバタフライ演算フローに、第１の周波数配置例（図１０（ａ））から第２の周波数配置例（図１０（ｂ））への並べ替え処理80が加えられたものである。【００４４】
図１２は、図１１のRadix-4アルゴリズムによる高速逆フーリエ変換処理における前段のバタフライ演算器（先頭のバタフライ演算器のみ）の構成例を示す。前段のバタフライ演算器（先頭のみ）は、図２の構成に加えて、データインデックスを並べ替えるインデックス並べ替え処理手段26をバタフライ演算前に有する。【００４５】
このように、第２の実施の形態によれば、周波数配置の違いを、高速逆フーリエ変換回路で吸収するようにしたため、ベースバンド処理部の出力フォーマットが柔軟になり、異なる周波数配置が混在しても対応可能となる。【００４６】
（第３の実施の形態例）
第３の実施の形態例では、図９のバタフライ演算器を高速フーリエ変換処理にも適用可能にするための変形について説明する。第１の実施の形態例で述べたように、図３に示したradix-4アルゴリズムにおけるパイプライン高速フーリエ変換（FFT）における後段のバタフライ演算器（図３）において、入力データの実数成分と虚数成分をスワッピングし且つ実数成分と虚数成分間の加減則を切り替えることにより、radix-4アルゴリズムにおけるパイプライン高速逆フーリエ変換（IFFT）が実現される（図９）。【００４７】
従って、後段のバタフライ演算器での該加減則を固定して、入力データと出力データの両方において、実数成分と虚数成分間のスワッピング制御を行うことで、後段のバタフライ演算器を、高速フーリエ変換処理及び高速逆フーリエ変換処理のいずれにも適用可能とすることができる。【００４８】
図１３は、高速フーリエ変換処理及び高速逆フーリエ変換処理両方に適用可能な後段のバタフライ演算器の構成例を示す。図１３の構成は、図３の構成に対して、４つのスワッピング手段25が追加された構成であり、入力データX(n)の実数成分Xr(n)と虚数成分Xt(n)間を入れ替えるスワッピング手段25a、入力データX(n+N/2)の実数成分Xr(n+N/2)と虚数成分Xt(n+N/2)間を入れ替えるスワッピング手段25b、出力データＺ（ｎ）の実数成分Zr(n)と虚数成分Zt(n)間を入れ替えるスワッピング手段25c及び入力データZ(n+N/2)の実数成分Zr(n+N/2)と虚数成分Zt(n+N/2)間を入れ替えるスワッピング手段25dを有する。図９のスワッピング手段25bと図１３のスワッピング手段25bは同一の構成要素である。【００４９】
高速フーリエ変換処理と高速逆フーリエ変換処理を切り替えるための制御信号Ｍを各スワッピング手段25(25a、25b、25c、25d)に供給し、動作を切り替えることで高速フーリエ変換処理と高速逆フーリエ変換処理のいずれに適用可能となる。【００５０】
このように、第３の実施の形態例によれば、パイプライン高速フーリエ変換及び高速逆フーリエ変換を共通リソースで処理するため、回路規模を縮小できるだけでなく、スタンバイ電力の低下により低電力化も実現される。【００５１】
図１３の構成例では、スワッピング手段25a、25c、25dには制御信号Ｍがそのまま供給し、スワッピング手段25bには制御信号Mと論理回路24の出力信号との排他的論理和回路（EX-OR）28の出力信号を供給する（すなわち、スワッピング手段25a、25c、25dの論理値と反対の論理値を供給する）ことで、高速フーリエ変換処理(FFT)と高速逆フーリエ変換処理(IFFT)の切替が可能となる。【００５２】
回転因子については、クロック信号clkにより動作するバイナリカウンタに従い、実数成分にCos成分を虚数成分にSin成分を供給するが、上述したように高速フーリエ変換(FFT)と高速逆フーリエ変換（IFFT）では、回転因子の回転方向が逆であり、高速フーリエ変換処理(FFT)と高速逆フーリエ変換処理(IFFT)の切替を可能とするために、Sin成分を×(±1)する切替え機能を持たせる。生成方法としては、バイナリカウンタの下位2bit以外の上位ビットを反転して式(A)により得られるIndex
k’に、以下に示す表１のBinCnt[2(m-i-1)+1 : 2(m-i-1)]を乗じて、回転因子をテーブル変換により求める。
【数Ａ】
2009110022.tif 000005
【００５３】
【表１】
2009110022.tif 000006
【００５４】
（第４の実施の形態例）
第１乃至第３の実施の形態例におけるRadix-4アルゴリズムによる高速フーリエ変換装置及び高速逆フーリエ変換装置は、基数2のバタフライ演算器を用いたパイプライン方式といえども、Radix-4アルゴリズムはデータ点数N=22mを前提に考案されており、データ点数N=22m-1の演算には適さない。しかし、IEEE802.16-2004/16e等の標準規格では、サブキャリア数128/256/512/1024というようなスケーラブルOFDMシンボル変調方式を規定している。第４の実施の形態例では、それらに対応するためサブキャリア数を柔軟に可変できるパイプライン高速フーリエ変換(FFT)及び逆フーリエ変換(IFFT)方式を提供する。【００５５】
スケーラブルOFDMシンボル変調方式に対応するためには、データ点数N=22m-1のフーリエ変換が必須であり、Radix-4アルゴリズムを適用する場合、インターリーブ型の処理では最終ステージをRadix-2アルゴリズムにより処理するミックス型が一般的である。パイプライン処理では、ステージ毎のバタフライ演算回数（＝遅延フィードバックメモリ容量）を可変制御することになり繁雑性が増す。第４の実施の形態例では、初段ステージでRadix-2アルゴリズム処理し、以降Radix-4アルゴリズムを適用することにより可変制御を簡易化できる。図８中のN=23処理（点線囲い部分）において、第２ステージが初段ステージとなり、Radix-2アルゴリズム処理に相当する。【００５６】
図１の構成において、データ点数N≦2ｎの高速フーリエ変換(FFT)及び高速逆フーリエ変換(IFFT)を処理するためには、まず余剰なバタフライ演算をディセーブル処理させる必要がある。データ点数N=23処理であれば、図９の第1ステージが余剰なバタフライ演算に当たる。ディセーブル処理は、バタフライ演算段数に応じバイナリカウンタ20のMSB側から該当ビットをマスク（0固定）することで実現できる。高速フーリエ変換(FFT)も高速逆フーリエ変換(IFFT)も実現手段は共通のため、以降は図１４に示す32点高速フーリエ変換(FFT)を例に説明する。【００５７】
図１４は、第４の実施の形態における32点高速フーリエ変換装置の構成例を示す。バイナリカウンタ20は、如何なるデータ点数においてもリニアにカウントして構わない。バイナリカウンタ20のbit7〜bit5の出力を論理積31〜33でマスクすると、BF2Ａバタフライ演算器39と41のデータ選択信号sが0固定となり、入力データX[n+N/2]が単一遅延フィードバック経路よりN/2サンプル遅延してZ[n]へ出力される。同様に、後述するBF2Bバタフライ演算器40の実数／虚数データスワップ制御がディセーブルとなり、入力データX[n+N/2]が単一遅延フィードバック経路よりN/2サンプル遅延してZ[n]へ出力される。【００５８】
次に、複素乗算器17は、マスクされたバイナリカウンタ20の出力を使用することにより回転因子のIndex＝0となるためW0固定となる（上述の式(A)参照）。この複素乗算も処理遅延するだけで入力データが次段のバタフライ演算器へ出力される。これにより、256点FFT処理と同一のスループットで入力データが初段ステージとなるバタフライ演算器42に到達する。【００５９】
図１５は、図１４のバタフライ演算器42の構成例を示す。バタフライ演算器42は、前段のバタフライ演算器BF2Aと後段のバタフライ演算器BF2Bの両機能を切り替え可能な構成である。32点ＦＦＴのような場合に、BF2Bタイプのバタフライ演算器10（後段のバタフライ演算器）をRadix-2アルゴリズムとして使用しなければならない。これに対応するためにRadix-4アルゴリズムの後段のバタフライ演算器に設けられる実数／虚数データスワッピング手段２５は、初段演算指示f2により1固定とすることで、図１５のBF2Bバタフライ演算器42の論理積24は0固定（スワップなし）となり、BF2Aバタフライ演算器と等価論理となる。さらに、BF2Aバタフライ演算器と同様に入力データストリームX[n]とX[n+N/2]のスワッピング手段26（図１２参照）を有することで、高速逆フーリエ変換(IFFT)の周波数配置に柔軟に対応できる。BF2Bバタフライ演算器の構成は、図１３のフィードバックデータ用加算器21,
22の加減算則をフーリエ変換モードMで切り替える方式である。【００６０】
回転因子生成に関しては、WNの周期性を利用すると、上述のマスクしたバイナリカウンタ20を使用することで実現できる。任意の整数qに対して式(3)が成り立つので、条件式(A)から256点FFTの回転因子生成を使用した場合、32点FFTに対しq=8となっており等価性が保障される。【００６１】
【数３】
2009110022.tif 000007
【００６２】
また、スケーラブルOFDMシンボル変調方式に対応するには、サブキャリア数に応じてバイナリカウンタ20へ供給されるクロックレートも1/nする必要がある。ただし、そうすると、実遅延時間が遅くなる。それを調整するために、図１４に示されるように、高速フーリエ変換（FFT）も高速逆フーリエ変換（IFFT）も後段で、データインデックス並び替え処理のためバッファ38を実装する。これを利用してn倍速処理で変換を行い、スケーラブルシンボルレートの変換は並び替え処理で行う。n倍速処理にて空いた時間は、NULL処理又は時分割多重によりマルチバンド処理に利用できる。【００６３】
アドレス変換部３７は、バンド多重数に従いバイナリカウンタ20をデコードする。バンド多重数は、バイナリカウンタ20の上位ビットで識別し、バッファ38のバンク制御を行う。図１４の例ではマスクbitのbit7〜5に相当する。バイナリカウンタ20の残りのビットはリバースして書込みアドレスとする。読出し側で並び替えを行う場合には、ビットリバースせず書込みアドレスとする。また、後段のバッファ38は後述のように2面構成をとるため、OFDMシンボル周期で面情報を生成する。【００６４】
バッファ38は、書込み又は読出しアドレスの何れかがビットリバースによりランダム的なアクセスとなる。そのため、Read/Write競合を回避のために2面(N＝2n×2)構成とする。高速フーリエ変換(FFT)において、図１０（ｂ）の周波数配置に対応する場合は、バッファ38の読出し時に行うことで対応する。【００６５】
図１４の構成例の具体的な動作について、最大データ点数Nmax＝28の構成でNmax＝25×23マルチバンドのパイプライン高速逆フーリエ変換(IFFT)を処理する場合について説明する。【００６６】
a)バイナリカウンタマスク設定
バイナリカウンタイネーブル(EN[7:2])は、”000111”のようにバタフライ演算器39〜41に該当するビットをマスク設定する。【００６７】
b)周波数配置による入力データストリームスワップ制御
周波数配置を図１０（ｂ）の配置とすると、初段バタフライ演算器42（図１５参照）の入力データストリームスワップ指定(r=1)とし、その他のバタフライ演算器はスルー指定(r=0)とする。【００６８】
c)バイナリカウンタ
バイナリカウンタ20は、クロックclk入力によりサイクリックにインクリメントし、バタフライ演算器のデータ選択、遅延フィードバックメモリRead/Writeアドレス、回転因子生成コントローラ及び逆フーリエ変換結果格納アドレスとして使用する。【００６９】
d)入力データストリーム遅延
バタフライ演算器39, 40は、それぞれ遅延フィードバックメモリ1,
2の容量分遅延してデータを複素乗算器17へ送出する。複素乗算器17への回転因子は、W1(0)が供給され1+j0の演算によりスルーで乗算結果が出力され、バタフライ演算器41も同様に、遅延フィードバックメモリ3の容量分遅延して出力する。【００７０】
e)初段バタフライ演算
入力データN/2=16点をZ[n+N/2]経由で遅延フィードバックメモリ4に格納後、データを先頭から読出しながらX[n]とX[n+N/2]をスワップして(上述のb)項参照)、バタフライ演算を行う。演算結果のIndex
0〜N/2-1データはZ[n]に出力され、Index N/2〜N-1データはZ[n+N/2]経由で遅延フィードバックメモリ4に格納される。次のN/2データ期間は、遅延フィードバックメモリ4の先頭から演算結果を読出しZ[n]へ出力しつつ入力データストリームを格納する。以降、同じ処理を繰り返す。【００７１】
f)Radix-4アルゴリズム演算
複素乗算器18より入力された前段のバタフライ演算器43では、データN/2=8点をZ[n+N/2]経由で遅延フィードバックメモリ5に格納後、データを先頭から読出しながらX[n]とX[n+N/2]でバタフライ演算を行う。演算結果のIndex
0〜N/2-1データはZ[n]に出力され、Index N/2〜N-1データはZ[n+N/2]経由で遅延フィードバックメモリ5に格納される。次のN/2データ期間は、遅延フィードバックメモリ5の先頭から演算結果を読出しZ[n]へ出力しつつ入力データを格納する。【００７２】
後段のバタフライ演算器44では、データN/2=4点をZ[n+N/2]経由で遅延フィードバックメモリ6に格納後、データを先頭から読出しながらX[n]とX[n+N/2]でバタフライ演算を行う。この時、バイナリカウンタ20のbit3に従い加減算則制御t=1であれば加減算を実施し、t=0であれば±jのスワップ加算を実施する。演算結果のIndex
0〜N/2-1データはZ[n]に出力され、Index N/2〜N-1データはZ[n+N/2]経由で遅延フィードバックメモリ6に格納される。次のN/2データ期間は、遅延フィードバックメモリ6の先頭から演算結果を読出しZ[n]へ出力しつつ入力データを格納する。以降、同処理を繰り返す。【００７３】
次段のRadix-4アルゴリズム演算も遅延フィードバックメモリの容量が異なるだけで、等価動作となる。【００７４】
g)回転因子生成
図１６は回転因子生成手段の構成例を示す。各複素乗算器に供給される回転因子は独立動作する必要があり、本構成を複素乗算器と同数(本実施例：i=1,2,3)実装する。【００７５】
バイナリカウンタ20の出力は、Radix-4出力データと同調させる必要がある。バイナリカウンタ20が2n進カウタであることを利用して遅延段数相当減算（加算器61）すれば等価となる。この出力をバタフライ演算制御と同一論理でマスク処理62後、下位2bit以外の上位ビットをリバースし、n-(i+1)*2ビット左(上位)シフトしmod
N/4すると式(A)を実現したことになる。これに先程切り捨てた基準信号の下位2bitを乗じることでIndex kを求め、表１の回転因子を得る。【００７６】
本例では、回転因子を第1象限(N/4サンプル)のCosテーブル65にて生成する（N/8サンプルでも可能である）。Index
kの上位2bitにより象限を識別し、Cos/Sinアドレスを生成しテーブル変換した後、符号変換部66により符号変換すれば回転因子は求まる。フーリエ変換と逆フーリエ変換時の逆回転は、符号変換部66による符号変換処理で行うと効率がよい。得られた回転因子は、複素乗算器へ送出され乗算される。複素乗算器の構成は既知のため省略する。【００７７】
h)逆フーリエ変換結果格納アドレス変換
バンド多重がない場合には、単純にバイナリカウンタ20の出力をビットリバースすればよいが、バンド多重している場合には、多重数に応じてバンド識別する必要がある。但し、ハード処理遅延は、遅延相当の減算で調整する。バンド識別は、バイナリカウンタ20のbit
m-1〜b-b-1で行い、後段のバッファ38のバンク制御に使用する。書込みアドレスは、残りのビットをリバースすればよい。また、書込みアドレスの最終番地（All
‘1’）のタイミングで、面情報フラグをトグルする。書込みの時点で、データ並び替えは完了しているので、読出し側は書込み面と逆側を単純に読み出す。【００７８】
このように、第４の実施の形態例によれば、スケーラブルOFDM方式において、クロックレートを可変せずに、最大データ点数Nmax＝２2nという構成で、時分割多重処理することにより、Nmax＝２n×２のようなマルチバンド構成も提供可能となる。その場合、データ処理遅延が一定のため、バンド構成変更に伴う通信装置のRound
Trip遅延測定を省略できる。【００７９】
（第５の実施の形態例）
第５の実施の形態例では、並列構成の高速フーリエ変換装置及び高速逆フーリエ変換装置において、並列処理と直列処理とを切替可能とし、直列処理時に、動作していない系統のバタフライ演算器を、動作させる系統のバタフライ演算器と直列に接続するようにすることで、各系統に入力されるデータ点数より多いデータ点数での処理を実現する。【００８０】
ハードリソースを最適化し並列処理時にはデータ点数N＝2n×p（p：並列度）で動作し、拡張による直列処理時にはデータ点数N＝2n+α（α：p≧2αを満たす整数）でパイプライン高速フーリエ変換(FFT)及び高速逆フーリエ変換(IFFT)を実現する。【００８１】
図１７は、N＝28×４並列を例にした第５の実施の形態における高速フーリエ変換装置又は高速逆フーリエ変換装置の構成図を示す。図１７は、説明の簡略化のため拡張直列動作時のバタフライ演算経路を固定としている。具体的には、直列動作時において、直列動作する１系のバタフライ演算器39、40の前段に、２系のバタフライ演算器39、40及び乗算器17を直列に接続可能とする。系毎のパラメータ（変換モード、周波数配置、並列構成のマトリクス等）及び動作タイミングの独立制御も可能とする。【００８２】
第５の実施の形態例では、並列構成を拡張して直列構成とするために、遅延フィードバックメモリをバタフライ演算器と１対１に対応付けるのではなく、図示されるように、各バタフライ演算器39〜46が、遅延フィードバックメモリ1〜8をシェアリング（共有）可能なバス構成とする。しかし、データ点数N＝2n×p並列の遅延フィードバックメモリ容量は(2n−1)×p
wordであるため、最大データ点数Nmax＝2n+αの直列動作で使用する場合、遅延フィードバックメモリはp word(＝並列度)不足する。そこで、並列処理では未使用となる1wordの遅延フィードバックメモリ30を系毎にバス接続で追加配置する。【００８３】
並列動作時は、バイナリカウンタ20が2n進カウンタとして動作する。系毎の動作は、図１４の構成などのように、遅延フィードバックメモリ1〜8とバタフライ演算器39〜46を１対１に対応付けて動作する。但し、2系のバタフライ制御は、拡張指示信号Extendに従いバイナリカウンタ20の該当bitをセレクタ50により選択する。回転因子は、第４の実施の形態例と同様の手法により、拡張時と共通化するためデータ点数Nmax＝2n+αで生成する。【００８４】
拡張した直列動作時は、例えば2系のRadix-4演算構成の一部を1系に直列に接続する。具体的には、2系のバタフライ演算器39,
40経由、複素乗算器17の出力を直接/並列切替え信号Extendによりセレクタ51（直列動作／並列動作切替用入力データストリーム選択回路）で選択し1系の先頭のバタフライ演算器39に入力するようにする。次に、2系のバタフライ演算器39には2n+α-1の遅延フィードバックメモリが必要になるため、3,4系の遅延フィードバックメモリ1〜8及び30をバス接続し割当てる。同様に、2系のバタフライ演算器40には2m+α-2の遅延フィードバックメモリが必要になるため、2系の遅延フィードバックメモリ1〜8及び30をバス接続し割当てる。バイナリカウンタ20は2n+α進カウタとして動作させ、2系のバタフライ制御は拡張指示信号Extendに従いバイナリカウンタ20の拡張bit9-8をセレクタ50（直列動作時バタフライ制御切替回路）により選択する。また、Radix-4演算ステージが1段拡張されたことにより、2系の複素乗算器17に供給される回転因子W1(n)と1系に供給される回転因子W1(n)は、独立制御が必要になる。生成方法は並列処理時と同様で、第４の実施の形態例で説明されたアルゴリズムで対応できる。これにより、最大データ点数Nmax＝2n+αのパイプライン高速フーリエ変換(FFT)及び高速逆フーリエ変換(IFFT)回路が構築され、図中の網掛けブロックはディセーブルとなる。なお、パイプライン処理動作は、上述の各実施の形態例と同様である。【００８５】
第５の実施の形態例によれば、パイプライン高速フーリエ変換回路及びパイプライン高速逆フーリエ変換回路の並列度を可変となり、また、最大データ点数Nmaxに対しても柔軟に対応可能となる。すなわち、最大データ点数Nmax及び並列度により最適化した構成を提供することができる。【００８６】
図１７の構成例の具体的な動作について、データ点数N＝28×4並列の構成でN＝28+2に拡張したパイプライン高速フーリエ変換(FFT)を処理する場合について説明する。【００８７】
a)バイナリカウンタマスク設定
バイナリカウンタ出力イネーブル(EN[9]及びEN[7:2])は、全て有効設定とする。【００８８】
b)周波数配置による入力データストリームスワップ制御
高速フーリエ変換(FFT)の場合には、周波数配置は結果の並べ替え時に行うため不要であり全てスルー指定(ｒ=0)とする。【００８９】
c)バイナリカウンタ
バイナリカウンタ20は、クロックclk入力により拡張された210進でサイクリックにインクリメントし、バタフライ演算器のデータ選択、遅延フィードバックメモリRead/Writeアドレス、回転因子生成コントローラ及び図中では省略されているが変換結果格納アドレスとして使用する。【００９０】
d)遅延フィードバックメモリのシェアリング
図１８は、遅延フィードバックメモリ（RAM）のバス接続実施例を示す。図１８では、バス接続に着目し2〜4系の構成を示している。バスは、書込みと読出しバスを独立して確保する。【００９１】
書込みバス制御部71は、各系のバタフライ演算器39,
40の出力を引き込み、本構成例では2系の512点の遅延フィードバックメモリを3,4系で構成し、2系の256点の遅延フィードバックメモリを2系で構成している。セレクタ74,75は読出しデータ選択回路であるが、書込みバス制御部71からのデータを引き込んでいる。これはN=2m+α-1×2並列の構成を考慮しているためであり、バタフライ演算器39のZ[n+N/2]を遅延フィードバックメモリを介さずX[n]へ直接フィードバックする経路が必要になるからである。【００９２】
読出しバス制御部72は、系毎に全遅延フィードバックメモリデータバスを引き込み、本構成例では3,4系のバスセレクトしたデータを2系の入力とし、セレクタ74で選択する。同様に2系のバスセレクトしたデータを2系に戻し、セレクタ75で選択する。読出しバス選択回路の負荷を軽減するため、各メモリの読出しバスは後述するチップセレクトによりディセーブル時はAll
‘0’出力することにより論理和で構成できる。【００９３】
各遅延フィードバックメモリは、書込みバス制御部71及び読出しバス制御部72よりチップセレクトにてアクセス制御される。チップセレクト制御は、バイナリカウンタ20によりスケジューリングされる。また、遅延フィードバックメモリ30以外のものは、並列動作時は１対１に対応付けられたバタフライ演算器からのフィードバックと書込みバス制御部71からのフィードバックデータを選択するセレクタ73を有する。【００９４】
e)Radix-4アルゴリズム演算
X2(n)より入力されたデータストリームは2系の前段のバタフライ演算器39で、データN/2=512点をZ[n+N/2]経由で3,4系のバス接続された遅延フィードバックメモリに格納後、データを先頭から読出しながらX[n]とX[n+N/2]でバタフライ演算を行う。演算結果のIndex
0〜N/2-1のデータはZ[n]に出力され、Index N/2〜N-1のデータはZ[n+N/2]経由で3,4系のバス接続された遅延フィードバックメモリに格納される。次のN/2データ期間は、3,4系のバス接続された遅延フィードバックメモリの先頭から演算結果を読出しZ[n]へ出力しつつ入力データを格納する。【００９５】
2系の後段のバタフライ演算器40では、データN/2=256点をZ[n+N/2]経由で2系のバス接続された遅延フィードバックメモリに格納後、データを先頭から読出しながらX[n]とX[n+N/2]でバタフライ演算を行う。この時、バイナリカウンタ20のbit8に従い加減算則制御t=1であれば加減算を実施し、t=0であれば±jのスワップ加算を実施する。演算結果のIndex
0〜N/2-1のデータはZ[n]に出力され、Index N/2〜N-1のデータはZ[n+N/2]経由で2系のバス接続された遅延フィードバックメモリに格納される。次のN/2データ期間は、2系のバス接続された遅延フィードバックメモリの先頭から演算結果を読出しZ[n]へ出力しつつ入力データを格納する。以降、同処理を繰り返す。次段のRadix-4アルゴリズム演算も遅延フィードバックメモリの容量が異なるだけで、等価動作となる。【００９６】
1系のRadix-4アルゴリズム演算は、初段入力が2系の複素乗算器17の出力になるだけで、図１４の具体的な動作の説明におけるf)項と同様である。回転因子生成及びフーリエ変換結果格納アドレス変換の処理についても、それぞれ図１４の具体的な動作の説明におけるg)項及びh)項と同様である。
【産業上の利用可能性】
【００９７】
例えばIEEE802.16-2004/16eで規格化されている
WiMAX(Worldwide Interoperability for Microwave Access)やモバイルWiMAXなどOFDM方式を採用する無線通信装置（無線基地局装置及び無線端末装置を含む）に適用可能である。
【図１】
2009110022.tif 000008
【図２】
2009110022.tif 000009
【図３】
2009110022.tif 000010
【図４】
2009110022.tif 000011
【図５】
2009110022.tif 000012
【図６】
2009110022.tif 000013
【図７】
2009110022.tif 000014
【図８】
2009110022.tif 000015
【図９】
2009110022.tif 000016
【図１０】
2009110022.tif 000017
【図１１】
2009110022.tif 000018
【図１２】
2009110022.tif 000019
【図１３】
2009110022.tif 000020
【図１４】
2009110022.tif 000021
【図１５】
2009110022.tif 000022
【図１６】
2009110022.tif 000023
【図１７】
2009110022.tif 000024
【図１８】
2009110022.tif 000025
【手続補正書】
【提出日】平成22年6月7日(2010.6.7)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
高速逆フーリエ変換処理を実行する無線通信装置において、
乗算器を介して複数段連結する複数のバタフライ演算手段を有し、各バタフライ演算手段は、直列に接続する１対の第１の２入力２出力バタフライ演算器と第２の２入力２出力バタフライ演算器を有し、
前記第１の２入力２出力バタフライ演算器の一方の入力にデータが入力され、一方の出力は遅延フィードバックメモリを介して他方の入力に接続し、他方の出力は前記第２の２入力２出力バタフライ演算器の一方の入力に接続し、前記第２の２入力２出力バタフライ演算器の一方の出力は遅延フィードバックメモリを介して他方の入力に接続し、次段のバタフライ演算手段がある場合は他方の出力は乗算器を介して、次段の前記第１の２入力２出力バタフライ演算器の一方の入力に接続し、
前記第１の２入力２出力バタフライ演算器は、一方の入力に入力される入力データの実数成分及び虚数成分それぞれに対して所定の減算処理を行う２つの入力データ用加算器と、他方の入力に入力されるフィードバックデータの実数成分及び虚数成分それぞれに対して所定の加算処理を行う２つのフィードバックデータ用加算器とを有し、
前記第２の２入力２出力バタフライ演算器は、一方の入力に入力される入力データの実数成分に対して所定の減算処理又は制御信号に応じた切替制御による加算処理を選択的に実行する入力データ用加算器と虚数成分に対して所定の減算処理を行う別の入力データ用加算器と、他方の入力に入力されるフィードバックデータの実数成分に対して所定の加算処理又は制御信号に応じた切替制御による減算処理を選択的に実行するフィードバックデータ用加算器と虚数成分に対して所定の加算処理を行う別のフィードバックデータ用加算器と、一方の入力に入力される入力データの実数成分と虚数成分とを入れ替える第１の入れ替え手段とを有することを特徴とする無線通信装置。
【請求項２】
請求項１において、
初段の前記第１の２入力２出力バタフライ演算器は、一方の入力に入力される入力データの実数成分及び虚数成分と他方の入力に入力されるフィードバックデータの実数成分及び虚数成分とをそれぞれ入れ替える第２の入れ替え手段とを備えることを特徴とする無線通信装置。
【請求項３】
高速フーリエ変換処理及び高速逆フーリエ変換処理を実行する無線通信装置において、
乗算器を介して複数段連結する複数のバタフライ演算手段を有し、各バタフライ演算手段は、直列に接続する１対の第１の２入力２出力バタフライ演算器と第２の２入力２出力バタフライ演算器を有し、
前記第１の２入力２出力バタフライ演算器の一方の入力にデータが入力され、一方の出力は遅延フィードバックメモリを介して他方の入力に接続し、他方の出力は前記第２の２入力２出力バタフライ演算器の一方の入力に接続し、前記第２の２入力２出力バタフライ演算器の一方の出力は遅延フィードバックメモリを介して他方の入力に接続し、次段のバタフライ演算手段がある場合は他方の出力は乗算器を介して、次段の前記第１の２入力２出力バタフライ演算器の一方の入力に接続し、
前記第１の２入力２出力バタフライ演算器は、一方の入力に入力される入力データの実数成分及び虚数成分それぞれに対して所定の減算処理を行う２つの入力データ用加算器と、他方の入力に入力されるフィードバックデータの実数成分及び虚数成分それぞれに対して所定の加算処理を行う２つのフィードバックデータ用加算器とを有し、
前記第２の２入力２出力バタフライ演算器は、一方の入力に入力されるデータの実数成分及び虚数成分それぞれに対して所定の減算処理を行う２つの入力データ用加算器と、他方の入力に入力されるデータの実数成分及び虚数成分それぞれに対して所定の加算処理を行う２つのフィードバックデータ用加算器とを有し、前記入力データ用加算器の一方は、制御信号に応じた切替制御による減算処理又は加算処理を選択的に実行し、前記フィードバックデータ用加算器の一方は、制御信号に応じた切替制御による加算処理又は減算処理を選択的に実行し、
さらに、前記第２の２入力２出力バタフライ演算器は、一方の入力に入力される入力データの実数成分と虚数成分とを入れ替える第１の入れ替え手段と、他方の入力に入力されるフィードバックデータの実数成分と虚数成分とを入れ替える第２の入れ替え手段と、一方の出力から出力されるデータの実数成分と虚数成分とを入れ替える第３の入れ替え手段と、他方の出力から出力されるデータの実数成分と虚数成分とを入れ替える第４の入れ替え手段とを有し、前記第１乃至第４の入れ替え手段それぞれの入れ替え動作は、高速フーリエ変換処理時と高速逆フーリエ変換処理時において反対となることを特徴とする無線通信装置。
【請求項４】
高速フーリエ変換処理及び高速逆フーリエ変換処理の少なくとも一方を実行する無線通信装置において、
乗算器を介して複数段連結する複数のバタフライ演算手段を有し、各バタフライ演算手段は、直列に接続する１対の第１の２入力２出力バタフライ演算器と第２の２入力２出力バタフライ演算器を有し、
前記第１の２入力２出力バタフライ演算器の一方の入力にデータが入力され、一方の出力は遅延フィードバックメモリを介して他方の入力に接続し、他方の出力は前記第２の２入力２出力バタフライ演算器の一方の入力に接続し、前記第２の２入力２出力バタフライ演算器の一方の出力は遅延フィードバックメモリを介して他方の入力に接続し、次段のバタフライ演算手段がある場合は他方の出力は乗算器を介して、次段の前記第１の２入力２出力バタフライ演算器の一方の入力に接続し、
高速フーリエ変換処理又は高速逆フーリエ変換処理のデータ点数に応じて、初段の第１の２入力２出力バタフライ演算器から順に所定数のバタフライ演算器のバタフライ演算動作を停止させ、途中段の前記第１又は第２の２入力２出力バタフライ演算器からバタフライ演算動作が開始されることを特徴とする無線通信装置。
【請求項５】
請求項４において、
途中段の前記第２の２入力２出力バタフライ演算器からバタフライ演算動作が開始される場合、前記第２の２入力２出力バタフライ演算器は、前記第１の２入力２出力バタフライ演算器のバタフライ演算動作を実行することを特徴とする無線通信装置。
【国際調査報告】
2009110022.tif 000026
2009110022.tif 000027
2009110022.tif 000028
2009110022.tif 000029