JP3065979B2 - 高速フーリエ変換装置および方法、可変ビットリバース回路、逆高速フーリエ変換装置および方法、並びにofdm受信および送信装置 - Google Patents

高速フーリエ変換装置および方法、可変ビットリバース回路、逆高速フーリエ変換装置および方法、並びにofdm受信および送信装置

Info

Publication number
JP3065979B2
JP3065979B2 JP10006247A JP624798A JP3065979B2 JP 3065979 B2 JP3065979 B2 JP 3065979B2 JP 10006247 A JP10006247 A JP 10006247A JP 624798 A JP624798 A JP 624798A JP 3065979 B2 JP3065979 B2 JP 3065979B2
Authority
JP
Japan
Prior art keywords
address
ram
data
fourier transform
fast fourier
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP10006247A
Other languages
English (en)
Other versions
JPH11110370A (ja
Inventor
祐二 中居
暁広 古田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Panasonic Corp
Panasonic Holdings Corp
Original Assignee
Panasonic Corp
Matsushita Electric Industrial Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Panasonic Corp, Matsushita Electric Industrial Co Ltd filed Critical Panasonic Corp
Priority to JP10006247A priority Critical patent/JP3065979B2/ja
Publication of JPH11110370A publication Critical patent/JPH11110370A/ja
Application granted granted Critical
Publication of JP3065979B2 publication Critical patent/JP3065979B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Complex Calculations (AREA)

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は高速フーリエ変換
(FFT:Fast Fourier Transform)を行う高速フーリ
エ変換装置及び方法に関する。
【0002】
【従来の技術】近年、ディジタル通信技術と半導体集積
技術の進歩に伴い、テレビ、ラジオ放送のディジタル化
が進められている。地上波を用いたディジタル放送で
は、多くの場合、変復調方式にOFDM(Orthogonal Fr
equency Division Multiplex :直交周波数分割多重) が
採用されている。OFDMはいくつもの情報を限られた
周波数帯域の中で効率よく伝送する方式であり、マルチ
パスの妨害に強いという地上波放送向けの特徴を持つ。
しかし、OFDMでは数千サンプルの大規模な高速フー
リエ変換を行う必要があり、実用化のためには高速フー
リエ変換装置の低コスト化が重要な課題となっている。
【0003】従来の高速フーリエ変換装置の一例とし
て、A.Delaruelle et al. “A Channel Demodulator IC
for Digital Audio Broadcasting ”(IEEE Custom In
tegrated Circuit Conference, May 1994 )に記載され
たものがある。この高速フーリエ変換装置は、記憶装置
として3つのRAM(Random Access Memory)を備えて
おり、1つを入力データを格納する入力バッファ用RA
M、2つを演算時の中間データ及び出力データを格納す
る高速フーリエ変換用RAMとして用いる。フーリエ変
換を行うサンプル数分のデータを1シンボルとすると、
連続する複数シンボルの処理では、現在のシンボルに対
する処理を2つの高速フーリエ変換用RAMを用いて行
うと共に、次のシンボルの入力データを入力バッファ用
RAMに格納する。
【0004】また、従来の高速フーリエ変換装置の他の
例として、E.Bidet et al.“A FastSingle Chip Implem
entation of 8192 Complex Points FFT”(IEEE Custom
Integrated Circuit Conference, May 1994 )に記載
されたものがある。この高速フーリエ変換装置は、記憶
装置として演算器間に所定の段数のパイプラインレジス
タを備え、各演算器をパイプライン動作させて処理を行
うものである。パイプラインレジスタを用いた場合、記
憶容量の面では2つのRAMを用いた場合と等価になる
が、処理の終わったデータから順に出力されるため入力
データと出力データとの順序が異なるという問題があ
る。変復調に用いる高速フーリエ変換装置では、高速フ
ーリエ変換以降の処理を軽減するため入力データと出力
データとの順序が等しいことが好ましいので、データ並
び換え用のRAMを追加して出力データの並び換えを行
う。結果として、記憶容量は前記の3つのRAMを用い
た高速フーリエ変換装置と等価になる。
【0005】
【発明が解決しようとする課題】高速フーリエ変換装置
は、1シンボル分の入力データ、演算時の中間データ、
及び出力データを格納するための記憶装置を必要とす
る。また変復調に用いる高速フーリエ変換装置では、連
続する複数シンボルの処理を行う必要があるため、現在
のシンボルに対する処理と並行して次のシンボルの入力
データを格納するための記憶装置をさらに必要とする。
これらの記憶装置は高速フーリエ変換装置の大部分を占
めるので、必要となる記憶容量を削減することにより高
速フーリエ変換装置の低コスト化を実現することができ
る。
【0006】従来の高速フーリエ変換装置として示した
2つの例は、記憶容量に関しては同等である。しかしA
SIC等で実現する場合、記憶装置としてRAMライブ
ラリを用いることができる前者の方が低コスト化に有利
であるので、前者の構成がASIC等でよく用いられて
いる。
【0007】しかしながら前者のようなRAMを用いる
構成では、1シンボル分のデータを格納可能な記憶容量
を有するRAMを、入力バッファ用RAMとして1個、
高速フーリエ変換用RAMとして2個、計3個必要とす
るので、これにより高速フーリエ変換装置の回路規模が
増大するという問題を有していた。この問題は1シンボ
ル当たりのサンプル数が増えるにつれてより顕著にな
る。
【0008】そこで本発明では、高速フーリエ変換用R
AMに格納された出力データを読み出した後にこの高速
フーリエ変換用RAMに次のシンボルの入力データを書
き込むことができれば、入力バッファ用RAMの機能を
高速フーリエ変換用RAMに持たせることができ、入力
バッファ用RAMを省略できる点に、新たに着目した。
【0009】入力バッファ用RAMを省略した場合、高
速フーリエ変換は次のように行われる。まず入力データ
を高速フーリエ変換用RAMに格納し、この高速フーリ
エ変換用RAMに中間データを格納しながらバタフライ
演算を行い、最後に高速フーリエ変換用RAMに格納さ
れたデータを読み出して出力データとする。
【0010】ところがこの場合、新たな問題が生じる。
高速フーリエ変換用RAMに格納される入出力データに
着目すると、高速フーリエ変換アルゴリズムの特徴よ
り、シンボル中の順序を表すインデックスが共通する入
力データ及び出力データは高速フーリエ変換用RAMの
同一アドレスには格納されない。したがって、通常の構
成では、RAMに格納された出力データを読み出したア
ドレスの順に次のシンボルの入力データを書き込むた
め、入力データと出力データとの順序が異なってしま
う。入力データと出力データとの順序を等しくするため
には、入力データ又は出力データをRAMに格納した後
にデータの並び替えを行えばよいが、この場合には、1
シンボル分のデータを格納可能な記憶容量を有するデー
タ並び替え用RAMを追加する必要があり、したがっ
て、結果として記憶容量を削減することができない。
【0011】前記の問題に鑑み、本発明は、高速フーリ
エ変換において、必要となる記憶容量を削減することに
より低コスト化を実現することを課題とする。
【0012】
【課題を解決するための手段】前記の課題を解決するた
め、本発明は、一のシンボルの出力データと次のシンボ
ルの入力データとにおいてシンボル中の順序を表すイン
デックスが共通するデータを、RAMの同一アドレスに
格納可能にするために、RAMをアクセスするアドレス
をシンボル毎に変換するものである。言い換えると、デ
ータの並び替えと等価な動作をアドレス変換により実現
するものである。またアドレス変換にビットリバース処
理を用い、基準となるアドレスに対するビットリバース
回数をシンボル毎に変化させることによってアドレス変
換を行うものである。
【0013】このような構成によって、出力データを読
み出した後のRAMの空き領域を次のシンボルの入力デ
ータを格納する入力バッファとして用いることができ、
入力バッファ用RAMを省略することができる。RAM
は、格納された一のシンボルの出力データを読み出した
後に同一アドレスに次のシンボルの入力データを書き込
む。これにより、連続する複数のシンボルのうち偶数番
目のシンボルの処理を第1のRAMを用いて行うと共に
奇数番目のシンボルの処理を第2のRAMを用いて行う
ことにより、2つのRAMによる構成が可能になる。
【0014】具体的に請求項1の発明が講じた解決手段
は、高速フーリエ変換(FFT:Fast Fourier Transfo
rm)を行う高速フーリエ変換装置として、入力データ
を、高速フーリエ変換を行うデータのまとまりであるシ
ンボル毎に格納するRAM(Random Access Memory)
と、前記RAMに格納された入力データに対し、バタフ
ライ演算を用いた高速フーリエ変換処理(FFT処理)
を行うFFT処理部とを備え、前記RAMは、当該RA
Mに格納された一のシンボルの入力データに対する前記
FFT処理部によるFFT処理の結果得られたデータ
を、前記一のシンボルの出力データとして格納するもの
とし、前記FFT処理部は、前記RAMをアクセスする
アドレスを生成するRAMアドレス生成部を備え、この
RAMアドレス生成部によって生成されたアドレスにし
たがって前記RAMをアクセスするものでとし、前記R
AMアドレス生成部は、アドレスのビットをバタフライ
演算の基 数に基づきグループ化し、グループ単位でビッ
トの順序を入れ換えるビットリバース処理を用いて、一
のシンボルの出力データおよびこの一のシンボルの出力
データの次に前記RAMに格納される他のシンボルの入
力データにおいて、シンボル中の順序を表すインデック
スが共通するデータが、前記RAMの同一アドレスに格
納されるよう、生成するアドレスをシンボル毎に変換す
るものである。
【0015】請求項1の発明によると、RAMアドレス
生成部が、ビットリバース処理を用いて、RAMをアク
セスするアドレスをシンボル毎に変換することによっ
て、一のシンボルの出力データおよび次のシンボルの入
力データにおいて、シンボル中の順序を表すインデック
スが共通するデータが、RAMの同一アドレスに格納可
能になる。言い換えると、データの並び替えと等価な動
作をアドレス変換によって実現することができる。この
ため、出力データを読み出した後のRAMの空き領域を
次のシンボルの入力データを格納する入力バッファとし
て用いることができ、データ並び替え用RAMを追加す
ることなく、入力バッファ用RAMを省略することがで
きる。これにより、高速フーリエ変換において必要とな
る記憶容量を削減することができる。
【0016】そして、請求項2の発明では、前記請求項
の高速フーリエ変換装置におけるRAMアドレス生成
部は基準となるアドレスに対しビットリバース処理を所
定の回数繰り返して行うことによってアドレスを生成す
るものであり、ビットリバース処理を繰り返し行ったと
き元のアドレスに戻る回数から1を減じた回数を最大ビ
ットリバース回数Rmax (Rmax は正の整数)とする
と、前記RAMアドレス生成部は基準となるアドレスに
対するビットリバース処理の繰り返し回数を、0回から
Rmax 回まで順に巡回するようシンボル毎にインクリメ
ントすることにより、生成するアドレスをシンボル毎に
変換するものとする。
【0017】さらに、請求項3の発明では、前記請求項
の高速フーリエ変換装置において、前記FFT処理部
は基数4のバタフライ演算を優先的に用いてFFT処理
を行うものであり、最大ビットリバース回数Rmax は1
シンボルのデータ数であるサンプル数が4m (mは正の
整数)のとき1でありサンプル数が4m ・2のとき2m
であるものとする。
【0018】また、請求項4の発明では、前記請求項2
の高速フーリエ変換装置におけるRAMアドレス生成部
は、ビットリバース処理を指定された回数繰り返し行う
可変ビットリバース部を備え、前記可変ビットリバース
部は、各々1回のビットリバース処理を行う,直列に接
続された複数のビットリバース回路を有し、この複数の
ビットリバース回路のうち、指定されたビットリバース
回数に相当する個数のものがビットリバースを行い、残
りのものはデータをスルーするものとする。
【0019】そして、請求項5の発明では、前記請求項
の高速フーリエ変換装置における可変ビットリバース
部は、複数のサンプル数に対応してビットリバースを行
うものであり、かつ、入力データと出力データとにおい
て有効なビットの位置が合うよう、前記複数のビットリ
バース回路によってビットリバースされたデータをビッ
トシフトするビットシフト手段を備えているものとす
る。
【0020】さらに、請求項6の発明では、前記請求項
の高速フーリエ変換装置における可変ビットリバース
部は、前記複数のビットリバース回路のいずれかの前段
に、ビット交換を行うビット交換手段が設けられている
ものとする。
【0021】また、請求項7の発明が講じた解決手段
は、高速フーリエ変換を行う高速フーリエ変換装置とし
て、入力データを高速フーリエ変換を行うデータのまと
まりであるシンボル毎に格納する第1及び第2のRAM
と、前記第1又は第2のRAMに格納された入力データ
に対し、バタフライ演算を用いた高速フーリエ変換処理
(FFT処理)を行うFFT処理部とを備え、前記第1
及び第2のRAMは、それぞれ、当該RAMに格納され
た一のシンボルの入力データに対する前記FFT処理部
によるFFT処理の結果得られたデータを、前記一のシ
ンボルの出力データとして格納するものとし、当該高速
フーリエ変換装置は、前記第1及び第2のRAMのうち
の一方を用いて偶数番目のシンボルのFFT処理を行う
一方、他方を用いて奇数番目のシンボルのFFT処理を
行うものとし、前記FFT処理部は、前記第1及び第2
のRAMをアクセスするアドレスを生成するRAMアド
レス生成部と、前記第1又は第2のRAMに格納された
データを基にして、バタフライ演算を行うバタフライ演
算部と、当該高速フーリエ変換装置の入力データ又は前
記バタフライ演算部の演算結果データを入力とし、前記
第1又は第2のRAMに選択出力する第1のデータ選択
部と、前記第1又は第2のRAMの出力データを入力と
し、当該高速フーリエ変換装置の出力データとして又は
前記バタフライ演算部に選択出力する第2のデータ選択
部と、前記RAMアドレス生成部、並びに前記第1及び
第2のデータ選択部を制御する制御部とを備え、前記R
AMアドレス生成部は、前記第1又は第2のRAMに一
のシンボルの入力データ及び出力データを格納するアド
レスの基準となる入出力用仮アドレスを生成する入出力
アドレス生成部と、前記第1又は第2のRAMに一のシ
ンボルのバタフライ演算時の中間データを格納するアド
レスの基準となるバタフライ演算用仮アドレスを生成す
るバタフライアドレス生成部と、前記入出力アドレス生
成部によって生成された入出力用仮アドレスを入出力用
実アドレスに変換すると共に前記バタフライアドレス生
成部によって生成されたバタフライ演算用仮アドレスを
バタフライ演算用実アドレスに変換し、前記入出力用実
アドレス及びバタフライ演算用実アドレスのうち、一方
を前記第1のRAMに出力する一方、他方を前記第2の
RAMに出力するRAMアドレス変換部とを備え、i
(iは正の整数)番目のシンボルの出力データおよび
(i+2)番目のシンボルの入力データにおいて、シン
ボル中の順序を表すインデックスが共通するデータが、
前記第1又は第2のRAMの同一アドレスに格納される
よう、生成するアドレスをシンボル毎に変換するもので
ある。
【0022】請求項7の発明によると、FFT処理部の
FFT処理によって、i番目のシンボルの出力データお
よび(i+2)番目のシンボルの入力データにおいて、
シンボル中の順序を表すインデックスが共通するデータ
が、第1または第2のRAMの同一アドレスに格納可能
になる。このため、出力データを読み出した後の第1ま
たは第2のRAMの空き領域を次のシンボルの入力デー
タを格納する入力バッファとして用いることができ、デ
ータ並び替え用RAMを追加することなく、入力バッフ
ァ用RAMを省略することができる。したがって、連続
する複数のシンボルのうち偶数番目のシンボルの処理を
第1のRAMを用いて行うとともに奇数番目のシンボル
の処理を第2のRAMを用いて行うことによって、2つ
のRAMによる構成が可能になり、高速フーリエ変換に
おいて必要となる記憶容量を削減することができる。
【0023】そして、請求項8の発明では、前記請求項
の高速フーリエ変換装置において、i(iは正の整
数)番目のシンボルのデータ出力期間に(i+2)番目
のシンボルのデータ入力を行うと共に(i+1)番目の
シンボルのバタフライ演算を行うものとする。
【0024】さらに、請求項9の発明では、前記請求項
の高速フーリエ変換装置におけるRAMアドレス変換
部は、前記入出力アドレス生成部によって生成された入
出力用仮アドレスに対し、ビットリバース処理を前記制
御部から出力された入出力用ビットリバース信号により
指示された回数行うことにより、入出力用実アドレスを
生成する第1の可変ビットリバース部と、前記バタフラ
イアドレス生成部によって生成されたバタフライ演算用
仮アドレスに対し、ビットリバース処理を前記制御部か
ら出力されたバタフライ演算用ビットリバース信号によ
り指示された回数行うことにより、バタフライ演算用実
アドレスを生成する第2の可変ビットリバース部と、前
記第1の可変ビットリバース部によって生成された入出
力用実アドレス及び前記第2の可変ビットリバース部に
よって生成されたバタフライ演算用実アドレスを入力と
し、前記制御部から出力されたRAM選択信号にしたが
って、一方を前記第1のRAMのアドレスとし、他方を
前記第2のRAMのアドレスとして選択出力するアドレ
ス選択部とを備えているものとする。
【0025】そして、請求項10の発明では、前記請求
項9の高速フーリエ変換装置において、ビットリバース
処理を繰り返し行ったとき元のアドレスに戻る回数から
1を減じた回数を最大ビットリバース回数Rmax (Rma
x は正の整数)とし、1シンボル分のデータ入力期間を
シンボル期間とすると、前記制御部は前記入出力用ビッ
トリバース信号及びバタフライ演算用ビットリバース信
号を2シンボル期間毎に、指示するビットリバース処理
の繰り返し回数が0回からRmax 回まで順に巡回するよ
うそれぞれ更新するものとする。
【0026】また、請求項11の発明では、前記請求項
の高速フーリエ変換装置におけるRAMアドレス変換
部は、前記入出力アドレス生成部によって生成された入
出力用仮アドレス及び前記バタフライアドレス生成部に
よって生成されたバタフライ演算用仮アドレスを入力と
し、前記制御部から出力されたRAM選択信号にしたが
って、一方を前記第1のRAMの仮アドレスとし、他方
を前記第2のRAMの仮アドレスとして選択出力するア
ドレス選択部と、前記アドレス選択部によって選択出力
された前記第1のRAMの仮アドレスに対し、ビットリ
バース処理を前記制御部から出力された第1のRAM用
ビットリバース信号により指示された回数行うことによ
り、前記第1のRAMのアドレスを生成する第1の可変
ビットリバース部と、前記アドレス選択部によって選択
出力された前記第2のRAMの仮アドレスに対し、ビッ
トリバース処理を前記制御部から出力された第2のRA
M用ビットリバース信号により指示された回数行うこと
により、前記第2のRAMのアドレスを生成する第2の
可変ビットリバース部とを備えているものとする。
【0027】そして、請求項12の発明では、前記請求
項11の高速フーリエ変換装置において、ビットリバー
ス処理を繰り返し行ったとき元のアドレスに戻る回数か
ら1を減じた回数を最大ビットリバース回数Rmax (R
max は正の整数)とし、1シンボル分のデータ入力期間
を1シンボル期間とすると、前記制御部は、前記第1の
RAM用ビットリバース信号及び第2のRAM用ビット
リバース信号を、2シンボル期間毎に、指示するビット
リバース処理の回数が0回からRmax 回まで順に巡回す
るようそれぞれ更新するものとする。
【0028】さらに、請求項13の発明では、前記請求
項10又は12の高速フーリエ変換装置において、前記
FFT処理部は基数4のバタフライ演算を優先的に用い
てFFT処理を行うものであり、最大ビットリバース回
数Rmax は1シンボルのデータ数であるサンプル数が4
m (mは正の整数)のとき1でありサンプル数が4m
2のとき2mであるものとする。
【0029】また、請求項14の発明が講じた解決手段
は、RAMを用いて高速フーリエ変換を行う高速フーリ
エ変換方法として、高速フーリエ変換を行うデータのま
とまりである1シンボル分の変換対象のデータをRAM
に格納する第1のステップと、前記第1のステップにお
いて前記RAMに格納した変換対象のデータに対してバ
タフライ演算を用いた高速フーリエ変換処理(FFT処
理)を行い、処理結果データを前記RAMに格納する第
2のステップと、前記第2のステップにおいて前記RA
Mに格納した処理結果データを、前記RAMから読み出
す第3のステップとを繰り返し行うものであり、前記第
2のステップは、アドレスのビットをバタフライ演算の
基数に基づきグループ化し、グループ単位でビットの順
序を入れ換えるビットリバース処理を用いて、N(Nは
正の整数)回目の繰り返しにおいて前記RAMに格納し
た処理結果データ及び(N+1)回目の繰り返しにおい
て前記RAMに格納した変換対象のデータにおいてシン
ボル中の順序を表すインデックスが共通するデータが、
前記RAMの同一アドレスに格納されるよう、前記RA
Mをアクセスするアドレスを繰り返しの度に変換するも
のである。
【0030】請求項14の発明によると、ビットリバー
ス処理を用いて、RAMをアクセスするアドレスを繰り
返しの度に変換することによって、一のシンボルの出力
データおよび次のシンボルの入力データにおいて、シン
ボル中の順序を表すインデックスが共通するデータが、
RAMの同一アドレスに格納可能になる。言い換える
と、データの並び替えと等価な動作がアドレス変換によ
って実現される。このため、出力データを読み出した後
のRAMの空き領域を次のシンボルの入力データを格納
する入力バッファとして用いることができ、データ並び
替え用RAMを追加することなく、入力バッファ用RA
Mを省略することができる。これにより、高速フーリエ
変換において必要となる記憶容量を削減することができ
る。
【0031】そして、請求項15の発明では、前記請求
項14の高速フーリエ変換方法における第2のステップ
は、前記RAMをアクセスするアドレスを、基準となる
アドレスに対しビットリバース処理を所定の回数繰り返
して行うことによって生成するものであり、ビットリバ
ース処理を繰り返し行ったとき元のアドレスに戻る回数
から1を減じた回数を最大ビットリバース回数Rmax
(Rmax は正の整数)とすると、前記第2のステップ
は、基準となるアドレスに対するビットリバース処理の
繰り返し回数を0回からRmax 回まで順に巡回するよう
繰り返しの度にインクリメントすることにより前記RA
Mをアクセスするアドレスを繰り返しの度に変換するも
のである。
【0032】そして、請求項16の発明では、前記請求
項15の高速フーリエ変換方法において、前記第2のス
テップは基数4のバタフライ演算を優先的に用いたFF
T処理を行うものであり、最大ビットリバース回数Rma
x は1シンボルのデータ数であるサンプル数が4m (m
は正の整数)のとき1でありサンプル数が4m ・2のと
き2mであるものとする。
【0033】また、請求項17の発明が講じた解決手段
は、バタフライ演算のためのビットリバース処理を指定
された回数繰り返し行う可変ビットリバース回路とし
て、各々1回のビットリバース処理を行う,直列に接続
された複数のビットリバース回路を備え、前記複数のビ
ットリバース回路のうち、指定されたビットリバース回
数に相当する個数のものがビットリバースを行い、残り
のものはデータをスルーするものである。
【0034】そして、請求項18の発明では、前記請求
項17の可変ビットリバース回路は、複数のサンプル数
に対応してビットリバースを行うものであり、かつ、入
力データと出力データとにおいて有効なビットの位置が
合うよう、前記複数のビットリバース回路によってビッ
トリバースされたデータをビットシフトするビットシフ
ト手段を備えているものとする。
【0035】さらに、請求項19の発明では、前記請求
項18の可変ビットリバース回路において、前記複数の
ビットリバース回路のいずれかの前段に、ビット交換を
行うビット交換手段が設けられているものとする。
【0036】また、請求項20の発明が講じた解決手段
は、請求項1の発明を逆高速フーリエ変換に適用したも
のであり、逆高速フーリエ変換を行う逆高速フーリエ変
換装置として、入力データを逆高速フーリエ変換を行う
データのまとまりであるシンボル毎に格納するRAM
と、前記RAMに格納された入力データに対し、バタフ
ライ演算を用いた逆高速フーリエ変換処理(IFFT処
理)を行うIFFT処理部とを備え、前記RAMは、前
記RAMに格納された一のシンボルの入力データに対す
る前記IFFT処理部によるIFFT処理の結果得られ
たデータを、前記一のシンボルの出力データとして格納
するものであり、前記IFFT処理部は、前記RAMを
アクセスするアドレスを生成するRAMアドレス生成部
を備え、前記RAMアドレス生成部によって生成された
アドレスにしたがって、前記RAMをアクセスするもの
であり、前記RAMアドレス生成部は、アドレスのビッ
トをバタフライ演算の基数に基づきグループ化し、グル
ープ単位でビットの順序を入れ換えるビットリバース処
理を用いて、一のシンボルの出力データおよびこの一の
シンボルの出力データの次に前記RAMに格納される他
のシンボルの入力データにおいて、シンボル中の順序を
表すインデックスが共通するデータが、前記RAMの同
一アドレスに格納されるよう、生成するアドレスをシン
ボル毎に変換するものである。
【0037】そして、請求項21の発明では、前記請求
項20の逆高速フーリエ変換装置におけるRAMアドレ
ス生成部は、基準となるアドレスに対し、ビットリバー
ス処理を所定の回数繰り返して行うことによってアドレ
スを生成するものであり、ビットリバース処理を繰り返
し行ったとき元のアドレスに戻る回数から1を減じた回
数を最大ビットリバース回数Rmax (Rmax は正の整
数)とすると、前記RAMアドレス生成部は、基準とな
るアドレスに対するビットリバース処理の繰り返 し回数
を、0回からRmax 回まで順に巡回するようシンボル毎
にインクリメントすることにより、生成するアドレスを
シンボル毎に変換するものとする。
【0038】また、請求項22の発明が講じた解決手段
は、請求項14の発明を逆高速フーリエ変換に適用した
ものであり、RAMを用いて逆高速フーリエ変換を行う
逆高速フーリエ変換方法として、逆高速フーリエ変換を
行うデータのまとまりである1シンボル分の変換対象の
データをRAMに格納する第1のステップと、前記第1
のステップにおいて前記RAMに格納した変換対象のデ
ータに対してバタフライ演算を用いた逆高速フーリエ変
換処理(IFFT処理)を行い、処理結果データを前記
RAMに格納する第2のステップと、前記第2のステッ
プにおいて前記RAMに格納した処理結果データを、記
RAMから読み出す第3のステップとを繰り返し行うも
のであり、前記第2のステップは、アドレスのビットを
バタフライ演算の基数に基づきグループ化し、グループ
単位でビットの順序を入れ換えるビットリバース処理を
用いて、N(Nは正の整数)回目の繰り返しにおいて前
記RAMに格納した処理結果データ及び(N+1)回目
の繰り返しにおいて前記RAMに格納した変換対象のデ
ータにおいて、シンボル中の順序を表すインデックスが
共通するデータが、前記RAMの同一アドレスに格納さ
れるよう、前記RAMをアクセスするアドレスを繰り返
しの度に変換するものである。
【0039】そして、請求項23の発明では、前記請求
項22の逆高速フーリエ変換方法における第2のステッ
プは、前記RAMをアクセスするアドレスを、基準とな
るアドレスに対しビットリバース処理を所定の回数繰り
返して行うことによって生成するものであり、ビットリ
バース処理を繰り返し行ったとき元のアドレスに戻る回
数から1を減じた回数を最大ビットリバース回数Rmax
(Rmax は正の整数)とすると、前記第2のステップ
は、基準となるアドレスに対するビットリバース処理の
繰り返し回数を、0回からRmax 回まで順に巡回するよ
う繰り返しの度にインクリメントすることにより、前記
RAMをアクセスするアドレスを繰り返しの度に変換す
るものとする。
【0040】また、請求項24の発明は、受信したOF
DM信号を受信データに復調するOFDM受信装置とし
て、OFDM信号をベースバンド信号に復調するディジ
タル復調部と、このディジタル復調部によって復調され
たベースバンド信号に対して高速フーリエ変換を行い、
搬送波の複素データを復号する高速フーリエ変換部とを
備え、この搬送波の複素データを基にして受信データを
生成するものであり、前記高速フーリエ変換部は、請求
項1または2の高速フーリエ変換装置からなるものであ
る。
【0041】また、請求項25の発明では、送信データ
をOFDM信号に変調するOFDM送信装置として、送
信データから生成された搬送波の複素データに対して逆
高速フーリエ変換を行う逆高速フーリエ変換部と、この
逆高速フーリエ変換部の出力に対して周波数変換を行
い、OFDM信号を生成するディジタル変調部とを備え
たものであり、前記逆高速フーリエ変換部は、請求項
0または21の逆高速フーリエ変換装置からなるもので
ある。
【0042】
【発明の実施の形態】(第1の実施形態) 以下、本発明の第1の実施形態に係る高速フーリエ変換
装置について、図面を参照しながら説明する。
【0043】図1は本発明の第1の実施形態に係る高速
フーリエ変換装置の構成を示すブロック図である。図1
において、101,102は入出力データ及びバタフラ
イ演算時の中間データを格納する第1及び第2のRAM
(図1ではRAM#0,RAM#1と記している)、1
03はバタフライ演算を行うバタフライ演算部、104
はバタフライ演算で用いる回転子を生成する回転子生成
部、105は第1及び第2のRAM101,102をア
クセスするためのアドレスを生成するRAMアドレス生
成部、106はRAMアドレス生成部105等を制御す
る制御部である。
【0044】RAMアドレス生成部105の構成要素と
して、111はデータ入出力の際のRAMアドレスの基
準となる入出力用仮アドレスDADを生成する入出力ア
ドレス生成部、112はバタフライ演算の際のRAMア
ドレスの基準となるバタフライ演算用仮アドレスBAD
を生成するバタフライアドレス生成部、113は入出力
アドレス生成部111により生成された入出力用仮アド
レスDADに対し、入出力用ビットリバース信号DBR
により指示された回数だけビットリバース処理(詳細は
後述する)を行うことによって入出力用実アドレスRD
ADを生成する第1の可変ビットリバース部、114は
バタフライアドレス生成部112により生成されたバタ
フライ演算用仮アドレスBADに対し、バタフライ演算
用ビットリバース信号BBRにより指示された回数だけ
ビットリバース処理を行うことによってバタフライ演算
用実アドレスRBADを生成する第2の可変ビットリバ
ース部、115は第1の可変ビットリバース部113か
ら出力された入出力用実アドレスRDAD及び第2の可
変ビットリバース部114から出力されたバタフライ演
算用実アドレスRBADを入力とし、一方を第1のRA
M101のアドレスとし、他方を第2のRAM102の
アドレスとして選択出力するアドレス選択部である。第
1及び第2の可変ビットリバース部113,114、及
びアドレス選択部115によってRAMアドレス変換部
131が構成されている。
【0045】また、121は当該高速フーリエ変換装置
の入力データ及びバタフライ演算部103の演算結果デ
ータを入力とし、一方を第1のRAM101の入力デー
タとし、他方を第2のRAM102の入力データとして
選択出力する第1のデータ選択部、122は第1及び第
2のRAM101,102の出力データを入力とし、一
方を当該高速フーリエ変換装置の出力データとし、他方
をバタフライ演算部103の入力データとして選択出力
する第2のデータ選択部である。
【0046】バタフライ演算部103,回転子生成部1
04、RAMアドレス生成部105、制御部106、並
びに第1及び第2のデータ選択部121,122によっ
て、FFT処理部が構成されている。
【0047】以上のように構成された本実施形態に係る
高速フーリエ変換装置について、以下、その動作を説明
する。以下の説明では、フーリエ変換を行うサンプル数
分のデータを1シンボルというものとする。
【0048】図2は本実施形態に係る高速フーリエ変換
装置における処理タイミングを示すタイミングチャート
である。本実施形態では図2に示すように、i番目(i
は整数)のシンボルの処理として、シンボル入力後、
(i+1)番目のシンボル入力の期間にバタフライ演算
を行い、(i+2)番目のシンボル入力の期間にフーリ
エ変換後のシンボル出力を行う(図2において斜線を付
した部分)。すなわち本実施形態では、1つのシンボル
入力を行う期間を1シンボル期間とすると、1シンボル
期間に、シンボル入力と1つ前のシンボルのバタフライ
演算と2つ前のシンボル出力とをオーバーラップさせて
行う。言い換えると、i番目のシンボル入力期間に、
(i−1)番目のシンボルのバタフライ演算と(i−
2)番目のシンボル出力とを並列に行うことになる。
【0049】以上のような動作を、本実施形態では、2
つのRAM101,102を適宜切り替えて用いること
によって実現する。
【0050】図3は本実施形態に係る高速フーリエ変換
装置におけるRAM切り替えタイミングを示すタイミン
グチャートである。図3はサンプル数N(Nは正の整
数)の高速フーリエ変換を行う場合のRAM切り替えタ
イミングを示しており、x(0)〜x(N-1) は各シンボル
における入力データ(変換前のデータ)、X(0) 〜X(N
-1) は各シンボルにおける出力データ(変換後のデー
タ)である。また、FFT処理(i) (iは整数)はi番
目のシンボルの高速フーリエ変換処理を示している。
【0051】本実施形態では2つのRAM101,10
2(RAM#0,RAM#1)のうち一方を用いて偶数
番目のシンボルの高速フーリエ変換を行い、他方を用い
て奇数番目のシンボルの高速フーリエ変換を行う。図3
に示すように、FFT処理(i) では、i番目のシンボル
入力の期間に入力データx(0) 〜x(N-1) を第1のRA
M101に格納し(シンボル入力(i) )、(i+1)番
目のシンボル入力の期間に第1のRAM101に中間デ
ータを格納しながらバタフライ演算を行い(バタフライ
演算(i) )、(i+2)番目のシンボル入力の期間に第
1のRAM101に格納されたデータを出力データX
(0) 〜X(N-1) として読み出す(シンボル出力(i) )。
同様に、FFT処理(i-2) 及びFFT処理(i+2) は第1
のRAM101を用いて実行され、一方、FFT処理(i
-1) 及びFFT処理(i+1) は第2のRAM102を用い
て実行される。
【0052】またシンボル入力(i) とシンボル出力(i-
2) とは、同一のRAMを用いて1シンボル期間内でオ
ーバラップして行われる。結果として、2つのRAM1
01,102はそれぞれ、シンボル入出力用又はバタフ
ライ演算用として1シンボル期間毎に交互に切り替えて
用いられる。2つのRAM101,102の切り替えは
データ選択部121,122により行われる。
【0053】シンボル入力とシンボル出力のオーバラッ
プにより、多くのRAMアクセス及び演算を必要とする
バタフライ演算の演算期間として1シンボル期間を充て
ることができる。このことは、第1及び第2のRAM1
01,102に要求される動作速度の低減及びバタフラ
イ演算部103の回路規模の削減を実現する。
【0054】図4は高速フーリエ変換アルゴリズムの一
例としての基数4×2時間間引き方法を示すシグナルフ
ローグラフである。また図5はシグナルフローグラフに
おける演算エレメントを示す図である。図4はサンプル
数N=32の場合のシグナルフローグラフであり、x
(0) 〜x(N-1) は変換前の入力データ、X(0) 〜X(N-
1) は変換後の出力データ、Wi は回転子乗算の係数で
ある。基数4×2とは、基数4バタフライ演算と基数2
バタフライ演算とを組み合わせた演算であることを示
す。
【0055】図4に示すように、高速フーリエ変換アル
ゴリズムでは、入力データx(0) 〜x(N-1) に対して数
ステージ分のバタフライ演算とステージ間の回転子乗算
とを行うことにより、出力データX(0) 〜X(N-1) を生
成する。図4に示す基数4×2時間間引き方法では、前
半の2ステージ(ステージ0,ステージ1)において基
数4バタフライ演算を行い、最終ステージ(ステージ
2)において基数2バタフライ演算を行う。
【0056】また図5に示すように、各演算は次のよう
な演算式に従って行われる。 <基数4バタフライ演算> X0=x0+x1+x2+x3 X1=x0−j・x1−x2+j・x3 X2=x0−x1+x2−x3 X3=x0+j・x1−x2−j・x3 <基数2バタフライ演算> X0=x0+x1 X1=x0−x1 <回転子乗算> Y=y・Wi W=e-j 2π/N
【0057】高速フーリエ変換アルゴリズムでは、入力
データx(0) 〜x(N-1) と出力データX(0) 〜X(N-1)
との順序が異なるという特徴がある。図4に示す基数4
×2時間間引き方法では、出力データX(j) が上からj
=0,1,2,3…と昇順になるのに対し、入力データ
x(j) は上からj=0,8,16,24…と飛び飛びの
値になる。
【0058】シンボル入力とシンボル出力とをオーバラ
ップさせるためには、出力データの読み出しと入力デー
タの書き込みとを並列に行う必要があり、このために
は、一のシンボルの出力データと次のシンボルの入力デ
ータとにおいてシンボル中の順序を表すインデックスが
共通するデータが、RAMの同一アドレスに格納される
ようにする必要がある。したがって、従来は、入力デー
タと出力データのRAMに格納される順序を合わせるた
めに、例えば図4に示す高速フーリエ変換アルゴリズム
において入力データx(j) の順序を出力データX(j) と
同様に上からj=0,1,2,3…とするような、デー
タの並び替えを必要としていた。
【0059】これに対して本実施形態は、RAMをアク
セスするアドレスをビットリバース処理を用いてシンボ
ル毎に変換することによりデータの並び替えと等価な処
理を実現し、データの並び替えを不要にするものであ
る。具体的には、基準となるアドレスに対するビットリ
バース処理の繰り返し回数をシンボル毎に変更する(こ
れを「可変ビットリバース」という)ことによって、R
AMをアクセスするアドレスをシンボル毎に変換する。
【0060】図6及び図7は本実施形態におけるアドレ
スの可変ビットリバースによる効果を示すための図であ
り、図6はアドレスの可変ビットリバースなしのRAM
間データ転送を示す図、図7はアドレスの可変ビットリ
バースありのRAM間データ転送を示す図である。図6
及び図7は共にサンプル数N=8の場合のRAM間デー
タ転送を示しており、高速フーリエ変換装置が備えてい
る2つのRAMのうちの一方のRAMについてのみ示し
ている。前記一方のRAMには、偶数番目又は奇数番目
のいずれか一方のシンボルの入出力データ及びこのシン
ボルの入力データのバタフライ演算における中間データ
が格納される。
【0061】i番目のシンボルに対する高速フーリエ変
換であるFFT処理[i] では、シンボル入力として入力
データx(0) 〜x(7) をRAMに格納した後で、RAM
に演算時の中間データを格納しながらバタフライ演算を
行い、RAMに格納された出力データX(0) 〜X(7) を
読み出してシンボル出力する。
【0062】この場合、図6に示すようなアドレスの可
変ビットリバースなしのRAM間データ転送では、FF
T処理[i] の出力データX(k) とFFT処理[i+2] の入
力データx(k) とはRAMの同一アドレスには必ずしも
格納されない。したがって、FFT処理[i] の出力デー
タX(k) を読み出した後で同一アドレスにFFT処理[i
+2] の入力データx(k) を格納するためには、データの
並び替えを必要とする。
【0063】一方、図7に示すような本実施形態に係る
アドレスの可変ビットリバースありのRAM間データ転
送では、入出力用アドレス及びバタフライ演算用アドレ
スをビットリバースによってFFT処理毎に変化させる
ことにより、FFT処理[i]の出力データX(k) が格納
されたRAMアドレスとFFT処理[i+2] の入力データ
x(k) を格納するRAMアドレスとを同一アドレスとす
ることができる。これにより、FFT処理[i] の出力デ
ータX(k) を読み出した後、同一アドレスにFFT処理
[i+2] の入力データx(k) を格納することができ、シン
ボル入力と2つ前のシンボル出力とのオーバラップを実
現することができる。
【0064】入出力用アドレス及びバタフライ演算用ア
ドレスの変化は、ビットリバース回数により制御され
る。ビットリバース回数はFFT処理毎にインクリメン
トされ、最大ビットリバース回数Rmax (Rmax は正の
整数)になった後に0に初期化される。最大ビットリバ
ース回数Rmax とは、ビットリバース処理を繰り返し行
ったとき元のアドレスに戻る回数から1を減じた回数で
あり、サンプル数やFFT処理に用いるバタフライ演算
の種類等によって決定される。図7に示す例では最大ビ
ットリバース回数Rmax は2回であり、ビットリバース
回数は0から2までを巡回するようにFFT処理毎に更
新される。
【0065】図8はビットリバースの概要を示す図であ
る。ビットリバースはデータの入力順序から高速フーリ
エ変換に必要なデータの順序を算出するための方法であ
る。具体的には図8に示すように、まずデータの入力順
序を表す2進数のビットをバタフライ演算における各ス
テージに対応させてLSBから順にグループ化する。ス
テージsに対応するビット数をr(s)とすると、 r(s)=log2 (ステージsの基数) …(1) (s=0,1,…,M−1:Mはステージ数) となる。次にグループ化したビットを、グループ内のビ
ット位置は保持したまま上位と下位を入れ替えることに
よってビットリバースを行う。
【0066】図9はビットリバースの一例を示す図であ
り、図4に示すようなサンプル数N=32の場合の基数
4×2時間間引き方法におけるビットリバースを示す図
である。サンプル数N=32の場合、 N=32=25 から、データの入力順序を表す2進数は5ビットにな
る。まずバタフライ演算における各ステージに対応させ
て2進数をLSBから順にグループ化する。図4に示す
ようにステージ0,1では基数4バタフライ演算を行
い、ステージ2では基数2バタフライ演算を行うので、
式(1)から、 r(0)=r(1)=log2 4=2 r(2)=log2 2=1 となり、したがってデータの入力順序を表す2進数をL
SBから2ビット、2ビット、1ビットにグループ化す
る。グループ化した後、グループ内のビット位置を保持
したまま上位と下位を入れ換えることによってビットリ
バースを行う。この結果、図9に示すように、ビットリ
バース前のビット列a4 a3 a2 a1 a0はビットリバ
ースによってビット列a1 a0 a3 a2 a4 に変換され
る。
【0067】本実施形態では、図8及び図9に示すよう
なビットリバースを繰り返し行う可変ビットリバースを
採用し、データ入出力及びバタフライ演算におけるRA
Mアドレスを適宜変換する。
【0068】図10は可変ビットリバースによるアドレ
スの変化の一例を示す図であり、図7に示すRAM間デ
ータ転送に対応させた図である。図7はサンプル数N=
8の場合の基数4×2時間間引き方法におけるRAM間
データ転送を示しているので、アドレスのビット数は、 N=8=23 から3ビットになり、そして3ビットのアドレスはLS
Bから順に2ビット,1ビットにグループ化されてビッ
トリバースされる。したがって、ビットリバース前の仮
アドレスa2 a1 a0 から、実アドレスとして、a2 a
1 a0 (ビットリバース回数=0),a1 a0 a2 (ビ
ットリバース回数=1),a0 a2 a1 (ビットリバー
ス回数=2)がビットリバースによって生成される。ま
た、各アドレスビットの右に付した数字の列は、各アド
レスビットによるアドレスの順序を10進数で表したも
のである。
【0069】図11は可変ビットリバースによるアドレ
スの変化を示す図であり、サンプル数N=32の場合の
基数4×2時間間引き方法におけるRAM間データ転送
に対応した図である。図11において、サンプル数Nが
32(=25 )なのでアドレスのビット数は5であり、
ステージ0,1では基数4バタフライ演算を行いステー
ジ2では基数2バタフライ演算を行うものとすると、5
ビットのアドレスはLSBから順に2ビット,2ビッ
ト,1ビットにグループ化されてビットリバースされ
る。したがって、ビットリバース前の仮アドレスa4 a
3 a2 a1 a0 から、実アドレスとして、a4 a3 a2
a1 a0 (ビットリバース回数=0),a1a0 a3 a2
a4 (ビットリバース回数=1),a2 a4 a0 a3
a1 (ビットリバース回数=2),a3 a1 a4 a0 a
2 (ビットリバース回数=3)、及びa0 a2 a1 a4
a3 (ビットリバース回数=4)がビットリバースによ
って生成される。
【0070】図12は可変ビットリバースによるアドレ
スの変化を示す図であり、サンプル数N=16の場合の
基数4×2時間間引き方法におけるRAM間データ転送
に対応した図である。図12において、サンプル数Nが
16(=24 )なのでアドレスのビット数は4であり、
ステージ0,1では共に基数4バタフライ演算を行うも
のとすると、アドレスのビットはLSBから順に2ビッ
ト,2ビットにグループ化されてビットリバースされ
る。したがって、ビットリバース前の仮アドレスa3 a
2 a1 a0 から、実アドレスとして、a3 a2 a1 a0
(ビットリバース回数=0)及びa1 a0 a3 a2 (ビ
ットリバース回数=1)がビットリバースによって生成
される。
【0071】図10〜図12から明らかなように、アド
レスのビットリバースを繰り返し行うと必ず元のアドレ
スに戻る。したがって、必要となる実アドレスの個数は
有限であり、例えば、基準となるアドレスに対するビッ
トリバース処理の繰り返し回数を0回から最大ビットリ
バース回数Rmax 回まで順に巡回するようインクリメン
トすることによって、実アドレスを生成することができ
る。
【0072】また最大ビットリバース回数Rmax は、図
10の場合はビットリバースを3回繰り返すと元のアド
レスに戻るので2となる。同様に、図11の場合は最大
ビットリバース回数Rmax は4、図12の場合は最大ビ
ットリバース回数Rmax は1となる。基数4×2時間間
引き方法を基数4バタフライ演算を優先して用いる場
合、サンプル数Nと最大ビットリバース回数Rmax との
関係は次のような式で表すことができる。 N=4m (mは正の整数)の場合 :Rmax =1 N=4m ・2(mは正の整数)の場合 :Rmax =log2 N−1 =2m …(2)
【0073】以下、サンプル数N=32の場合を例にと
って、図1に示す本実施形態に係る高速フーリエ変換装
置の各部の詳細な構成と動作について説明する。
【0074】図13はサンプル数N=32の場合のシグ
ナルフローグラフであり、本実施形態におけるバタフラ
イ演算の演算順序を示すものである。図13において、
バタフライ演算に相当する部分に付した番号が本実施形
態におけるバタフライ演算の順序である。装置の消費電
力を低減するため、回転子演算の係数の変化が少なくな
るように、基数4のステージではバタフライ演算を上か
ら順に4s(sはステージ番号:s=0,1,…)個お
きに実行し、基数2のステージではバタフライ演算を上
から順に実行する。
【0075】図13に示す演算順序で処理を行うものと
して、本実施形態に係る高速フーリエ変換装置の各部の
構成及び動作について説明する。
【0076】図14及び図15は制御部106が生成出
力するRAMアドレス生成部105を制御するための信
号を示すタイミングチャートである。図14において、
DCNは入出力アドレス生成部111の動作タイミング
を制御する入出力用タイミング信号、BCN,BSTは
バタフライアドレス生成部112の動作タイミングを制
御するバタフライ演算用タイミング信号及びバタフライ
演算用ステージ信号である。サンプル数をNとすると、
入出力用タイミング信号DCNはlog2 (N)ビット
の信号であり、その値は1シンボル期間中に0から(N
−1)まで順に変化し、シンボル期間毎に巡回する。こ
こではN=32なので入出力用タイミング信号DCNは
5(=log2 32)ビットの信号である。また、バタ
フライ演算のステージ数をMとすると、バタフライ演算
用ステージ信号BSTの値は1シンボル期間中に0から
(M−1)まで順に変化し、さらにバタフライ演算用タ
イミング信号BCNはバタフライ演算用ステージ信号B
STの値が一定である期間において0から(N−1)ま
で順に変化する。
【0077】また図15において、DBRは第1の可変
ビットリバース部113を制御する入出力用ビットリバ
ース信号、BBRは第2の可変ビットリバース部を制御
するバタフライ演算用ビットリバース信号、RSLはア
ドレス選択部115の選択動作を制御するRAM選択信
号である。バタフライ演算用ビットリバース信号BBR
は0から最大ビットリバース回数Rmax まで順に巡回す
るように更新され、入出力用ビットリバース信号DBR
はバタフライ演算用ビットリバース信号BBRよりも1
シンボル期間遅れて0からRmax まで順に巡回するよう
に更新される。また、RAM選択信号RSLはシンボル
期間毎に“H”レベルと“L”レベルとに切り替わる。
【0078】図16はバタフライ演算部103の演算タ
イミングを示すタイミングチャートである。バタフライ
演算部103は、基数4のバタフライ演算を行うステー
ジでは3つの回転子乗算及び1つの基数4バタフライ演
算を行い、基数2のバタフライ演算を行うステージで
は、2つの回転子乗算及び2つの基数2バタフライ演算
を行う。すなわち、4入力4出力の演算を行う。したが
って図16に示すように、バタフライ演算部103は第
1のRAM101又は第2のRAM102から第2のデ
ータ選択部122を介して読み出された入力データD0
〜D3 に対し回転子乗算及び基数4又は基数2のバタフ
ライ演算を行い、データX0 〜X3 を出力する。データ
の入出力は制御部106により生成されるバタフライ演
算用タイミング信号BCNの更新周期毎に行われ、入力
データD0 〜D3 の入力タイミングに対し、出力データ
X0 〜X3 の出力タイミングは4周期だけ遅れることに
なる。
【0079】入出力アドレス生成部111は、制御部1
06により生成された入出力用タイミング信号DCNを
入力とし、入出力用仮アドレスDADを生成する。入出
力用仮アドレスDADはビットリバース回数に関係なく
決定され、入力アドレス生成部111は5ビットの信号
である入出力タイミング信号DCNをそのまま入出力用
仮アドレスDADとして出力する。
【0080】バタフライアドレス生成部112は、制御
部106により生成されたバタフライ演算用タイミング
信号BCNを入力とし、バタフライ演算用仮アドレスB
ADを生成する。バタフライ演算用仮アドレスBADは
ビットリバース回数に関係なくステージ番号及びバタフ
ライ演算の基数により決定され、バタフライアドレス生
成部112はバタフライ演算用タイミング信号BCNの
一部又は全てのビットを用いて、バタフライ演算用ステ
ージ信号BSTにしたがってバタフライ演算用仮アドレ
スBADを生成する。
【0081】第1の可変ビットリバース部113は、入
出力アドレス生成部111により生成された入出力用仮
アドレスDADを入力とし、この入出力用仮アドレスD
ADに対して制御部106により生成された入出力用ビ
ットリバース信号DBRにより指示された回数のビット
リバース処理を行い、入出力用実アドレスRDADを生
成する。同様に、第2の可変ビットリバース部114
は、バタフライアドレス生成部112により生成された
バタフライ演算用仮アドレスBADを入力とし、このバ
タフライ演算用仮アドレスBADに対して制御部106
により生成されたバタフライ演算用ビットリバース信号
BBRにより指示された回数のビットリバース処理を行
い、バタフライ演算用実アドレスRBADを生成する。
【0082】図17は第1及び第2の可変ビットリバー
ス部113,114の構成の一例を示す図である。
【0083】図17(a)はセレクタ形式の構成例であ
り、入力された仮アドレスDAD(BAD)に対し、ビ
ットリバースなしのアドレス、1回ビットリバース部5
01によりビットリバースを1回行った結果のアドレ
ス、2回ビットリバース部502によりビットリバース
を2回行った結果のアドレス、…、Rmax 回ビットリバ
ース部503によりビットリバースをRmax 回行った結
果のアドレスをそれぞれ生成し、生成したアドレスの中
からセレクタ504によりビットリバース信号DBR
(BBR)に従って実アドレスRDAD(RBAD)を
選択出力するものである。
【0084】また図17(b)はテーブル形式の構成例
であり、仮アドレスDAD(BAD)に対してビットリ
バースした結果の各アドレスが予めテーブル(ROM)
505に格納されており、入力された仮アドレスDAD
(BAD)の上位(又は下位)にビット連結回路506
によってビットリバース信号DBR(BBR)が連結さ
れたデータを参照アドレスとして、テーブル505から
実アドレスRDAD(RBAD)を読み出すものであ
る。
【0085】図18は本実施形態における入出力アドレ
ス生成部111及び第1の可変ビットリバース部113
による入出力用アドレス生成の動作を表す図であり、入
出力用タイミング信号DCN及び入出力用ビットリバー
ス信号DBRと入出力用仮アドレスDAD及び入出力用
実アドレスRDADとの対応を示す図である。図18に
示すように、入出力用仮アドレスDADは入出力用ビッ
トリバース信号DBRの値に関係なく常に入出力用タイ
ミング信号DCNと等しくなる。また入出力用実アドレ
スRDADは、入出力用仮アドレスDADに対し、LS
Bから2ビット、2ビット、1ビットとグループ分けし
て入出力用ビットリバース信号DBRの値の回数だけビ
ットリバースを繰り返したものになる。
【0086】図19は本実施形態におけるバタフライア
ドレス生成部112及び第2の可変ビットリバース部1
14によるバタフライ演算用アドレス生成の動作を表す
図であり、バタフライ演算用タイミング信号BCN,バ
タフライ演算用ステージ信号BST及びバタフライ演算
用ビットリバース信号BBRとバタフライ演算用仮アド
レスBAD及びバタフライ演算用実アドレスRBADと
の対応を示す図である。図19に示すように、バタフラ
イ演算用仮アドレスBADはバタフライ演算用ビットリ
バース信号BBRの値に関係なく、バタフライ演算用タ
イミング信号BCNを基準にしてバタフライ演算用ステ
ージ信号BSTにしたがって決定される。またバタフラ
イ演算用実アドレスRBADは、バタフライ演算用仮ア
ドレスBADに対し、LSBから2ビット、2ビット、
1ビットとグループ分けしてバタフライ演算用ビットリ
バース信号BBRの値の回数だけビットリバースを繰り
返したものになる。
【0087】アドレス選択部115は、第1のビットリ
バース回路113から出力された入出力用実アドレスR
DAD及び第2のビットリバース回路114から出力さ
れた、バタフライ演算用実アドレスRBADを入力と
し、制御部106から入力されたRAM選択信号RSL
に従って、一方を第1のRAM101のアドレスとし
て、他方を第2のRAM102のアドレスとして選択出
力する。
【0088】図20はアドレス選択部115の構成を示
す図である。図20において、601〜603は選択回
路であり、611〜614はレジスタである。第1及び
第2のRAM101,102のうちアドレス選択部11
5により入出力用実アドレスRDADが出力されるRA
Mは、指定されたアドレスRDADに格納された出力デ
ータを読み出した後、同一アドレスに入力データを書き
込む。一方、アドレス選択部115によりバタフライ演
算用実アドレスRBADを出力されるRAMも同様に、
指定されたアドレスRBADに格納されたデータをバタ
フライ演算部103の入力データとして読み出した後、
同一アドレスにバタフライ演算部103の出力データを
書き込む。
【0089】ただし図16に示すようにバタフライ演算
部103からのデータ出力はデータ入力に対してタイミ
ングが遅れるため、アドレス選択部115は図20に示
すように、バタフライ演算用アドレスRBADを所定の
期間保持するためのレジスタ611〜614を備えてい
る。レジスタ611〜614はバタフライ演算用タイミ
ング信号BCNの更新周期に同期して動作し、このよう
なレジスタを4段シリアル接続することによって、アド
レス選択部115はバタフライ演算部113のデータ出
力がデータ入力に対して遅れる4周期の間、バタフライ
演算用実アドレスRBADを保持することができる。選
択回路603は、バタフライ演算用実アドレスRBAD
及び4周期分遅延されたバタフライ演算用実アドレスR
BADのいずれか一方をバタフライ演算用アドレス選択
信号BADSLにしたがって選択出力する。選択回路6
01及び602は、RAM選択信号RSLにしたがっ
て、入出力用実アドレスRDAD及び選択回路603か
ら出力されたバタフライ演算用実アドレスRBADのう
ち、一方を第1のRAM101のアドレスとして、他方
を第2のRAM102のアドレスとして選択出力する。
【0090】図21及び図22はアドレス選択部115
が出力するRAMアドレスすなわちRAMアドレス生成
部105が生成するRAMアドレスを用いたRAMアク
セスタイミングを示すタイミングチャートである。図2
1はデータ入出力におけるRAMのアクセスタイミング
を示す図であり、図22はバタフライ演算を行う際のR
AMのアクセスタイミングを示す図である。図21,図
22において、斜線を付した部分は同一アドレスのRA
Mアクセスを示す。
【0091】図21に示すように、データ入出力では、
入出力用タイミング信号DCNの更新周期を半分に分
け、前半を読み出しサイクル、後半を書き込みサイクル
としてRAMアクセスを行う。このとき、入出力用タイ
ミング信号DCNの一の更新周期におけるデータ読み出
しとデータ書き込みとは、同一アドレスに対して行われ
る。
【0092】一方バタフライ演算では、図22に示すよ
うに、バタフライ演算用タイミング信号BCNの更新周
期を半分に分け、前半を読み出しサイクル、後半を書き
込みサイクルとしてRAMアクセスを行う。このとき、
バタフライ演算用タイミング信号BCNの一の更新周期
におけるデータ読み出しと前記一の更新周期から4周期
遅れの更新周期におけるデータ書き込みとが、同一アド
レスに対して行われる。
【0093】以上説明したように、本実施形態は、RA
Mをアクセスするアドレスを、基準となるアドレスに対
するビットリバース回数をシンボル毎に変化させること
によって、シンボル毎に変換するものであり、これによ
り、一のシンボルの出力データと次のシンボルの入力デ
ータとにおいてシンボル中の順序を表すインデックスが
共通するデータをRAMの同一アドレスに格納可能にな
る。すなわち、RAMから一のシンボルの出力データを
読み出した後に同一アドレスに次のシンボルの入力デー
タを書き込むことができ、出力データを読み出した後の
RAMの空き領域を次のシンボルの入力データを格納す
る入力バッファとして用いることができるので、入力バ
ッファ用RAMが不要になる。したがって、連続する複
数のシンボルのうち偶数番目のシンボルの処理を第1の
RAMを用いて行うと共に、奇数番目のシンボルの処理
を第2のRAMを用いて行うようRAMを適宜切り替え
ることによって、2つのRAMによる構成が可能にな
る。
【0094】なお、図17に示す可変ビットリバース部
113,114の構成は、サンプル数が固定された場合
におけるものである。一方、高速フーリエ変換装置を通
信機器に用いる場合には、その通信の規格上、数種類の
サンプル数の高速フーリエ変換を実行可能でなければな
らない。本実施形態に係る高速フーリエ変換装置を複数
のサンプル数に対応させるためには、各サンプル数に対
してアドレス生成が可能なように可変ビットリバース部
113,114を構成する必要がある。言い換えると、
変換パターンが異なる複数の可変ビットリバースを実行
可能な可変ビットリバース回路が求められる。
【0095】例えば、図17(a)に示すような構成を
各サンプル数についてそれぞれ設けることによって、各
サンプル数に対してアドレス生成が可能な可変ビットリ
バース回路を構成することは可能である。ところがこの
場合には、回路規模が膨大になり、ひいてはRAMアド
レス生成部105の回路規模の増大につながり、好まし
くない。
【0096】そこで、本実施形態では、変換パターンの
異なる複数の可変ビットリバースを小規模な回路で実現
する可変ビットリバース回路の構成を示すことにする。
【0097】図23は第1および第2の可変ビットリバ
ース部113,114の構成の他の例を示す図であり、
変換パターンの異なる複数の可変ビットリバースを小規
模な回路で実現する可変ビットリバース回路を示す回路
図である。具体的には、図23に示す可変ビットリバー
ス回路は、サンプル数N=4,8,16,32に対して
それぞれ可変ビットリバースを実行可能なように構成さ
れている。図23において、701〜704はビットリ
バース回路(BR)、711はビット交換手段としての
ビット交換回路(BC)、721はビットシフト手段と
してのバレルシフタ(BS)である。
【0098】図24は図23に示す可変ビットリバース
回路を構成する各回路の構成を示す回路図であり、同図
中、(a)はビットリバース回路BRの構成を、(b)
はビット交換回路BCの構成を、(c)はバレルシフタ
BSの構成を、それぞれ示している。
【0099】図23に示すように、各ビットリバース回
路701〜704はビットリバース制御信号BRSEL
の各ビットによって制御される。そして図24(a)に
示すように、各ビットリバース回路701〜704は、
ビットリバース制御信号BRSELの対応するビット
が、“0”のときは入力データをスルーしてそのまま出
力する一方、“1”のときは図9に示すようなサンプル
数N=32の場合の基数4×2時間間引き方法における
ビットリバースを行う。動作の切替はビットリバース制
御信号BRSELに従いセレクタ801によって行われ
る。
【0100】また、ビット交換回路711はビット交換
制御信号BCSELによって制御される。そして図24
(b)に示すように、ビット交換制御信号BCSELが
“0”のときは入力データをスルーしてそのまま出力す
る一方、“1”のときは入力データのビットを上下入れ
替えて出力する。動作の切替はビット交換制御信号BC
SELに従いセレクタ802によって行われる。
【0101】さらに、バレルシフタ721はシフト制御
信号BSSEL(2ビット)によって制御され、図24
(c)に示すように、シフト制御信号BSSELの下位
ビットによって切替制御されるセレクタ803と上位ビ
ットによって切替制御されるセレクタ804とが直列接
続されてなる。セレクタ803は、シフト制御信号BS
SELの下位ビットが“0”のときは入力データをスル
ーしてそのまま出力し、“1”のときは入力データを1
ビット右シフトする。セレクタ804は、シフト制御信
号BSSELの上位ビットが“0”のときは入力データ
をスルーしてそのまま出力し、“1”のときは入力デー
タを2ビット右シフトする。このような動作により、バ
レルシフタ721に入力されたデータは、シフト制御信
号BSSELが、“00”のときはそのまま、“01”
のときは1ビット右シフトされ、“10”のときは2ビ
ット右シフトされ、“11”のときは3ビット右シフト
され、出力される。
【0102】図25は図23に示す可変ビットリバース
回路の各制御信号の設定値を示す図であり、同図中、
(a)はサンプル数N=32、(b)はサンプル数N=
16、(c)はサンプル数N=8、(d)はサンプル数
N=4の場合における各制御信号の設定値を示してい
る。
【0103】ビットリバース制御信号BRSELはビッ
トリバース回数に応じて変化し、ビットリバース回路7
01〜704のうち入力側からビットリバース回数分の
もののみがビットリバースを行うように、値が設定され
る。例えばサンプル数N=32の場合は、図25(a)
に示すように、ビットリバース制御信号BRSELは、
ビットリバース回数が1のときはビットリバース回路7
01のみがビットリバースを行うよう“0001”に設
定され、またビットリバース回数が3のときはビットリ
バース回路701〜703のみがビットリバースを行う
よう“0111”に設定される。
【0104】ビット交換制御信号BCSELはサンプル
数N=8の場合のみビットリバース回数に応じて変化
し、ビットリバース回路701がビットリバースを行う
ときのみ“1”に設定される。すなわち、ビット交換回
路711は、サンプル数N=8の場合であってビットリ
バース回数が1または2のときのみビット交換を行う。
【0105】シフト制御信号BSSELはサンプル数N
=32以外の場合において、ビットリバース回数が奇数
のとき“00”以外の値になる。またその値は、サンプ
ル数に応じて設定される。サンプル数N=16のときは
図25(b)に示すように“01”になり、サンプル数
N=8のときは図25(c)に示すように“10”にな
り、サンプル数N=4のときは図25(d)に示すよう
に“11”になる。すなわちバレルシフタ721は、サ
ンプル数N=16の場合はビットリバース回数が1のと
きデータを1ビット右シフトし、サンプル数N=8の場
合はビットリバース回数が1のときデータを2ビット右
シフトし、サンプル数N=4の場合はビットリバース回
数が1のときデータを3ビット右シフトする。
【0106】図23に示す可変ビットリバース回路の動
作について、サンプル数N=8の場合を例にとって説明
する。この場合の可変ビットリバースは図10に示すよ
うに、ビットリバース前の仮アドレスa2 a1 a0 か
ら、実アドレスとして、a2 a1 a0 (ビットリバース
回数=0),a1 a0 a2 (ビットリバース回数=
1),a0 a2 a1 (ビットリバース回数=2)を生成
するものである。
【0107】図26はサンプル数N=8の場合の図23
に示す可変ビットリバース回路の動作を示す図であり、
同図中、(a)はビットリバース回数が1のとき、
(b)はビットリバース回数が2のときの動作を示して
いる。
【0108】ビットリバース回数が1のときは、図26
(a)に示すように、ビット交換、ビットリバース、お
よび2ビットシフトが行われる。すなわち、ビット交換
制御信号BCSELが“1”になるのでビット交換回路
711によってビット交換が行われ、ビットリバース制
御信号BRSELが“0001”になるのでビットリバ
ース回路701のみによってビットリバースが行われ、
さらに、ビットシフト制御信号BSSELが“10”に
なるのでバレルシフタ721によって2ビットのビット
シフトが行われる。このような動作によって生成された
ビット列の下位3ビットが有効アドレスとなり、アドレ
スa2 a1 a0 から実アドレスとしてa1 a0 a2 が生
成される。
【0109】ビットリバース回数が2のときは、図26
(b)に示すように、ビット交換、および2回のビット
リバースが行われる。すなわち、ビット交換制御信号B
CSELが“1”になるのでビット交換回路711によ
ってビット交換が行われ、ビットリバース制御信号BR
SELが“0011”になるのでビットリバース回路7
01,702によってビットリバースが行われる。一
方、ビットシフト制御信号BSSELは“00”になる
のでバレルシフタ721によるビットシフトは行われな
い。このような動作によって生成されたビット列の下位
3ビットが有効アドレスとなり、仮アドレスa2 a1 a
0 から実アドレスとしてa0 a2 a1 が生成される。
【0110】サンプル数N=8の場合においてビットリ
バース回数が1または2のときは、ビット交換を行わな
ければ、誤った実アドレスが生成されることになる。図
27はビット交換なしの場合の動作を示す図であり、ビ
ットリバース回数が1のときは、(a)に示すように実
アドレスとしてa1 a0 a3 が生成され、ビットリバー
ス回数が2のときは、(b)に示すように実アドレスと
してa0 a3 a1 が生成され、ともに誤動作となる。
【0111】本実施形態に係る可変ビットリバース回路
を一般的に拡張した場合の、構成方法および制御方法に
ついて説明する。ここでの説明では、次のような変数を
用いる。 N(i) … 対応するサンプル数 ただし、N(i)=2i (iは正の整数:Mmin ≦i≦Mmax ) Rmax (i)… サンプル数N(i)における最大ビッ
トリバース回数 AD[0]〜AD[Mmax −1] … 可変ビットリバースを行うアドレス
【0112】<構成方法> ・ビットリバース回路BR サンプル数N(Mbr)の可変ビットリバースが可能にな
るだけの段数を設ける。ここで、 Mbr=Mmax (Mmax が奇数のとき) Mbr=Mmax +1 (Mmax が偶数のとき) とする。すなわち、Mbrは常に奇数となる。したがっ
て、 BRの段数=Rmax (Mbr) =Mbr−1 となる。 ・ビット交換回路BC AD[m]、AD[m−1](mはMbr以外の奇数)の
ビット位置において、((m−1)/2)個のビット交
換回路を、入力側から、ビットリバース回路BRの2段
おきに挿入する。 ・バレルシフタBS ビットリバース回路BRの最終段の次に、最大シフト数
が(Mmax −Mmin )のバレルシフタBSを設ける。
【0113】図28は、前記のような構成方法によって
構成した、本実施形態に係るサンプル数N=2i (2≦
i≦11)に対応可能な可変ビットリバース回路の構成
図である。
【0114】<制御方法> ・ビットリバース回路BR 入力側からビットリバース回数分のビットリバース回路
BRを、動作させる。 ・ビット交換回路BC サンプル数N(m)(mはMbr以外の奇数)の場合にお
いてビットリバース回数が0以外のとき、AD[m]、
AD[m−1]のビット位置のビット交換回路BCを、
動作するビットリバース回路BRよりも入力側にあるも
ののみ、動作させる。 ・バレルシフタBS サンプル数N(n)の場合において、ビットリバース回
数が奇数のとき、(Mmax −n)ビットだけ右シフト動
作をさせる。
【0115】(第2の実施形態) 以下、本発明の第2の実施形態について図面を参照しな
がら説明する。
【0116】図29は本発明の第2の実施形態に係る高
速フーリエ変換装置の構成を示すブロック図である。本
実施形態に係る高速フーリエ変換装置は、図1に示す第
1の実施形態に係る高速フーリエ変換装置とRAMアド
レス生成部の内部構成及び制御信号の一部が異なるだけ
なので、図29ではRAMアドレス生成部205及び制
御部206のみを示している。本実施形態に係る高速フ
ーリエ変換装置は、図1の構成において、RAMアドレ
ス生成部105及び制御部106を図29に示すRAM
アドレス生成部205及び制御部206に置き換えたも
のになる。バタフライ演算部103,回転子生成部10
4、RAMアドレス生成部205、制御部206、並び
に第1および第2のデータ選択部121,122によっ
て、FFT処理部が構成されている。
【0117】図29に示す本実施形態に係るRAMアド
レス生成部205が図1に示す第1の実施形態に係るR
AMアドレス生成部105と異なるのは、第1及び第2
の可変ビットリバース部113,114の前段にアドレ
ス選択部215を備えた点である。
【0118】入出力アドレス生成部111は入出力用タ
イミング信号DCNを入力とし、入出力用仮アドレスD
ADを生成出力する。一方、バタフライアドレス生成部
112はバタフライ演算用タイミング信号BCN及びバ
タフライ演算用ステージ信号BSTを入力とし、バタフ
ライ演算用仮アドレスBADを生成出力する。これらの
動作は第1の実施形態と同様である。
【0119】アドレス選択部215は入出力アドレス生
成部111から出力された入出力用仮アドレスDAD及
びバタフライアドレス生成部112から出力されたバタ
フライ演算用仮アドレスBADを入力とし、RAM選択
信号RSLにしたがって、一方を第1のRAM101の
仮アドレスとして、他方を第2のRAM102の仮アド
レスとして選択出力する。
【0120】第1の可変ビットリバース部113はアド
レス選択部215から出力された第1のRAM101の
仮アドレスに対し、制御部206から出力された第1の
RAM用ビットリバース信号RBR0によって指示され
た回数のビットリバースを行い、第1のRAM101の
実アドレスとして出力する。一方、第2の可変ビットリ
バース部114はアドレス選択部215から出力された
第2のRAM102の仮アドレスに対し、制御部206
から出力された第2のRAM用ビットリバース信号RB
R1によって指示された回数のビットリバースを行い、
第2のRAM102の実アドレスとして出力する。
【0121】したがって、本実施形態に係る高速フーリ
エ変換装置においても第1実施形態と実質的には同様に
RAMアドレスの指定が行われる。
【0122】図30は制御部206が生成する第1のR
AM用ビットリバース信号RBR0及び第2のRAM用
ビットリバース信号RBR1と第1及び第2のRAM1
01,102(RAM#0,RAM#1)の動作との関
係を示すタイミングチャートである。第1実施形態と同
様に最大ビットリバース回数をRmax とすると、第2の
RAM用ビットリバース信号RBR1は0からRmax ま
で巡回するように更新され、第1のRAM用ビットリバ
ース信号RBR0は第2のRAM用ビットリバース信号
RBR1から1シンボル期間遅れて0からRmax まで巡
回するように更新される。また、第1及び第2のRAM
101,102は、データ入出力及びバタフライ演算を
交互に繰り返し行う。
【0123】以上のような構成によって、第1実施形態
と同様の動作を実現することができ、第1の実施形態と
同様の効果を得ることができる。
【0124】(第3の実施形態) 以下、本発明の第3の実施形態について図面を参照しな
がら説明する。
【0125】図31は本発明の第3の実施形態を示す高
速フーリエ変換装置の構成を示すブロック図である。図
1に示す第1の実施形態に係る高速フーリエ変換装置と
異なるのは、RAMアドレス生成部305が可変ビット
リバース部を備えておらず、代わりにバタフライ演算部
303が時間間引き方法によるバタフライ演算に加え周
波数間引き方法によるバタフライ演算を行う機能も備え
た点である。
【0126】本実施形態では、時間間引き方法によるバ
タフライ演算を用いた高速フーリエ変換と周波数間引き
方法によるバタフライ演算を用いた高速フーリエ変換と
をシンボル毎に交互に行う。時間間引き方法と周波数間
引き方法とは高速フーリエ変換としては等価であるが、
入力データの順序と出力データの順序との関係が対称に
なる。本実施形態はこのことを利用して、時間間引き方
法と周波数間引き方法とを交互に行うことによりデータ
並び替えを不要にするものである。
【0127】図31において、303はバタフライ演算
部であり、周波数間引き方法によるバタフライ演算を行
う周波数間引き演算部341、時間間引き方法によるバ
タフライ演算を行う時間間引き演算部342、及び制御
部306から供給された間引き方法切替信号TSLにし
たがって周波数間引き演算部341及び時間間引き演算
部342の演算結果のうちいずれか一方を選択出力する
選択回路343を備えている。304は時間間引き方法
又は周波数間引き方法によるバタフライ演算で用いる回
転子を生成する回転子生成部である。305は第1及び
第2のRAM101,102を制御するためのアドレス
を生成するRAMアドレス生成部である。図31におい
て、図1と同一の機能を有するものには同一の符号を付
してここではその詳細な説明を省略する。バタフライ演
算部303,回転子生成部304、RAMアドレス生成
部305、制御部306、並びに第1および第2のデー
タ選択部121,122によって、FFT処理部が構成
されている。
【0128】以上のように構成された本実施形態に係る
高速フーリエ変換装置は、第1実施形態と同様に、2つ
のRAM101、102のうち一方を用いて偶数番目の
シンボルの高速フーリエ変換を行い、他方を用いて奇数
番目の高速フーリエ変換を行う。
【0129】データの並び替えを行わずにシンボル入力
と2つ前のシンボル出力のオーバーラップを実現するた
め、第1及び第2の実施形態では可変ビットリバースに
よりRAMアドレスをシンボル毎に更新していたが、本
実施形態では、時間間引き方法によるバタフライ演算と
周波数間引き方法によるバタフライ演算とをシンボル毎
に交互に行うようにバタフライ演算部を制御する。
【0130】図32は高速フーリエ変換アルゴリズムの
一例として、基数2の時間間引き方法及び周波数間引き
方法を示すシグナルフローグラフである。同図中、
(a)は基数2時間間引き方法、(b)は基数2周波数
間引き方法を示しており、共にサンプル数N=8の場合
のシグナルフローグラフである。図32(a)に示すよ
うに基数2時間間引き方法では、入力データx(j) のイ
ンデックスが上からj=0,4,2,6…となるとき出
力データX(j) のインデックスが上からj=0,1,
2,3…と昇順になる。一方、図32(b)に示すよう
に周波数間引き方法では、入力データx(j) のインデッ
クスを図32(a)に示す時間間引き方法における出力
データに合わせて上からj=0,1,2,3…と昇順に
すると、出力データX(j) のインデックスは上からj=
0,4,2,6…となり、図32(a)に示す時間間引
き方法における入力データと一致する。すなわち、周波
数間引き方法における入力データ及び出力データの順序
は、時間間引き方法における出力データ及び入力データ
の順序と一致する。
【0131】図33は本実施形態におけるRAM間デー
タ転送の一例を示す図であり、時間間引き方法と周波数
間引き方法とをシンボル毎に交互に行う場合のRAM間
データ転送を示すものである。図33に示す例はサンプ
ル数N=8の場合のものであり、2つのRAM101,
102のうちの一方のRAMについて示している。
【0132】図33において、FFT処理[i] では時間
間引き方法によるバタフライ演算を行い、FFT処理[i
+2] では周波数間引き方法によるバタフライ演算を行
う。図33に示すように、時間間引き方法によるバタフ
ライ演算と周波数間引き方法によるバタフライ演算とを
交互に行うことにより、時間間引き方法によるバタフラ
イ演算(FFT処理[i] )の出力データX(J) の順序と
周波数間引き方法によるバタフライ演算(FFT処理[i
+2] )の入力データx(j) の順序とが一致すると共に、
周波数間引き方法によるバタフライ演算(FFT処理[i
+2] )の出力データX(j) の順序と時間間引き方法によ
るバタフライ演算(FFT処理[i] )の入力データx
(J) の順序とが一致するので、各FFT処理の出力デー
タと次のFFT処理の入力データとの順序が一致する。
したがって、各FFT処理の出力データX(k) の読み出
しアドレスと次のFFT処理の入力データx(k)の書き
込みアドレスとは同一になる。これにより、FFT処理
の出力データX(k) を読み出した後で同一アドレスに次
のFFT処理の入力データx(k) を格納することができ
るので、シンボル入力と2つ前のシンボル出力とのオー
バラップを実現することができる。
【0133】以上説明したように、本実施形態による
と、時間間引き方法によるバタフライ演算と周波数間引
き方法によるバタフライ演算とをシンボル毎に交互に行
うことによって、一のシンボルの出力データと次のシン
ボルの入力データとにおいてシンボル中の順序を表すイ
ンデックスが共通するデータが、RAMの同一アドレス
に格納可能になる。すなわち、RAMから一のシンボル
の出力データを読み出した後に同一アドレスに次のシン
ボルの入力データを書き込むことができ、出力データを
読み出した後のRAMの空き領域を次のシンボルの入力
データを格納する入力バッファとして用いることができ
るので、入力バッファ用RAMが不要になる。したがっ
て、連続する複数のシンボルのうち偶数番目のシンボル
の処理を第1のRAMを用いて行うと共に、奇数番目の
シンボルの処理を第2のRAMを用いて行うようRAM
を適宜切り替えることによって、2つのRAMによる構
成が可能になる。
【0134】(第4の実施形態) 以下本発明の第4の実施形態について図面を参照しなが
ら説明する。
【0135】図34は本発明の第4の実施形態に係る高
速フーリエ変換装置の構成を示す図である。図34にお
いて、401は入出力データ及びバタフライ演算時の中
間データを格納するRAM、402はバタフライ演算及
びRAM401のアドレス算出を行うCPU、403,
404はRAM401とCPU402とを接続するため
のバスであり、403はアドレスバス、404はデータ
バスである。
【0136】本実施形態では、RAM401の記憶領域
を2つの記憶領域405,406に分割し、2つの記憶
領域405,406のうち一方を用いて偶数番目のシン
ボルの高速フーリエ変換を行い、他方を用いて奇数番目
の高速フーリエ変換を行う。CPU402はRAM40
1の2つの記憶領域405,406に入出力データ及び
バタフライ演算時の中間データを格納するためのアドレ
スを生成する。またCPU402はRAM401から読
み出したデータを入力としてバタフライ演算を行い、演
算結果をRAM401に出力する。
【0137】以上の構成により、第1の実施形態に係る
高速フーリエ変換装置と同様の動作を実現することがで
きる。本実施形態では、RAMの記憶領域を第1と第2
の記憶領域に分割し、連続する複数シンボルのうち偶数
番目と奇数番目の高速フーリエ変換をそれぞれ第1と第
2の記憶領域を用いて行うことにより、RAMの記憶容
量を削減することができる。
【0138】なお、第1〜第3実施形態において、入出
力データ及び演算時の中間データを格納するために2個
のRAMを備えたが、第4の実施形態と同様に1つのR
AMを2つの記憶領域に分割して用いてもよい。
【0139】また、第1及び第2実施形態において、高
速フーリエ変換アルゴリズムとして時間間引き方法を用
いたが、周波数間引き方法を用いてもよい。周波数間引
き方法を用いる場合には、バタフライ演算部による演算
を変更すると共に、可変ビットリバース部によるビット
リバースにおけるアドレスビットのグループ分けを変更
すればよい。
【0140】また、第1及び第2実施形態において、R
AMアドレス生成部に2つの可変ビットリバース部を備
えたが、1つの可変ビットリバース部を備え、入出力用
アドレスとバタフライ演算用アドレスのビットリバース
処理を時分割処理してもよい。
【0141】また、第1〜第3実施形態において、入出
力データ及び演算時の中間データを格納するために2個
のRAMを備えたが、本発明におけるRAMの個数は2
個に限られるものではなく、1個であっても3個以上で
あってもかまわない。
【0142】(逆高速フーリエ変換への適用) なお本発明は、逆高速フーリエ変換においても、各実施
形態において示した高速フーリエ変換における場合と同
様にして実施することができる。
【0143】逆高速フーリエ変換のアルゴリズムは、高
速フーリエ変換のアルゴリズムにおける一部の演算を変
換することのみによって実現することができる。例え
ば、逆高速フーリエ変換アルゴリズムの一例としての基
数4×2時間間引き方法は、図4に示すような高速フー
リエ変換アルゴリズムと同様のシグナルフローグラフに
よって示される。ただし、演算エレメントの演算式の一
部が高速フーリエ変換アルゴリズムとは異なる。
【0144】図35は図4のシグナルフローグラフが逆
高速フーリエ変換アルゴリズムを示すものである場合に
おける、演算エレメントを示す図である。逆高速フーリ
エ変換アルゴリズムにおいては、図35に示すように各
演算は次のような演算式に従って行われる。なお図5の
高速フーリエ変換における演算エレメントの各演算式と
異なるものに下線を付している。 <基数4バタフライ演算> X0=x0+x1+x2+x3 X1=x0+j・x1−x2−j・x3 X2=x0−x1+x2−x3 X3=x0−j・x1−x2+j・x3 <基数2バタフライ演算> X0=x0+x1 X1=x0−x1 <回転子乗算> Y=y・Wi W=ej 2π/N
【0145】したがって、第1および第2の実施形態に
おいては、バタフライ演算部103および回転子生成部
104における演算の変更、第3の実施形態において
は、バタフライ演算部303および回転子生成部304
における演算の変更、第4の実施形態においては、CP
U402によるバタフライ演算および回転子乗算の変更
を行うことによって、本発明に係る高速フーリエ逆変換
を実施することが可能になる。この場合、例えば第1の
実施形態においては、バタフライ演算部103,回転子
生成部104、RAMアドレス生成部105、制御部1
06、並びに第1および第2のデータ選択部121,1
22によって、バタフライ演算を用いた逆高速フーリエ
変換処理を行うIFFT処理部が構成される。
【0146】(OFDM受信・送信装置への適用) なお本発明に係る高速フーリエ変換装置は、例えばOF
DM受信装置において用いられる。図36は本発明に係
る高速フーリエ変換装置を備えたOFDM受信装置の構
成を示すブロック図であり、このOFDM受信装置では
本発明に係る高速フーリエ変換装置が高速フーリエ変換
部12として用いられている。ディジタル復調部11は
入力されたOFDM信号をディジタル復調によってベー
スバンド信号に変換し、高速フーリエ変換部12はディ
ジタル復調部11から出力されたベースバンド信号に対
して高速フーリエ変換を行う。OFDM信号は互いに直
交関係にある多数の搬送波を用いた変調信号であり、高
速フーリエ変換によって各搬送波の複素データが復号さ
れる。すなわち、高速フーリエ変換部12の出力が復号
された各搬送波の複素データに相当する。誤り訂正・デ
インターリーブ・デマッピング部13は高速フーリエ変
換部12の出力に所定の誤り訂正・デインターリーブ・
デマッピング処理を行い、受信データを復号する。高速
フーリエ変換部12として本発明に係る高速フーリエ変
換装置を適用することによって、高速フーリエ変換部1
2に必要となる記憶容量が削減され、これによってOF
DM受信装置全体の低コスト化を実現することができ
る。
【0147】同様に、本発明に係る逆高速フーリエ変換
装置は、例えばOFDM送信装置において用いられる。
図37は本発明に係る逆高速フーリエ変換装置を備えた
OFDM送信装置の構成を示すブロック図であり、この
OFDM送信装置では本発明に係る逆高速フーリエ変換
装置が逆高速フーリエ変換部22として用いられてい
る。図37に示すOFDM送信装置は、OFDM信号を
生成するために、図36に示すOFDM受信装置と逆の
処理を行う。すなわち、符号化・インターリーブ・マッ
ピング部21は送信データに所定の誤り訂正用符号化・
インターリーブ・マッピング処理を行い、各搬送波の複
素データを生成する。逆高速フーリエ変換部22は各搬
送波の複素データに対して逆高速フーリエ変換処理を行
い、ディジタル変調部は逆高速フーリエ変換部22の出
力の周波数変換を行って、OFDM信号を生成する。逆
高速フーリエ変換部22として本発明に係る逆高速フー
リエ変換装置を適用することによって、逆高速フーリエ
変換部22に必要となる記憶容量が削減され、これによ
ってOFDM送信装置全体の低コスト化を実現すること
ができる。
【0148】
【発明の効果】本発明によると、シンボル毎にアドレス
のビットリバース回数を変化させてRAMアクセスを行
うことにより、一のシンボルの出力データと次のシンボ
ルの入力データとにおいてシンボル中の順序を表すイン
デックスが共通するデータをRAMの同一アドレスに格
納可能になるので、データの並び替えを必要とせずにシ
ンボル入力とシンボル出力とのオーバーラップを実現す
ることができる。
【0149】このため従来必要であった入力バッファ用
RAMが不要になり、記憶容量の削減により高速フーリ
エ変換装置の低コスト化を実現することができる。RA
Mは高速フーリエ変換装置の大部分を占め、記憶容量の
削減による低コスト化の効果は大である。
【0150】また、データの並び替えが不要になるの
で、記憶容量の削減と共に、変復調に用いる高速フーリ
エ変換装置において、高速フーリエ変換以降の処理を軽
減することができる。
【図面の簡単な説明】
【図1】本発明の第1の実施形態に係る高速フーリエ変
換装置の構成を示すブロック図である。
【図2】本発明の第1実施形態に係る高速フーリエ変換
装置における処理タイミングを示すタイミングチャート
である。
【図3】本発明の第1実施形態に係る高速フーリエ変換
装置におけるRAM切り換えタイミングを示すタイミン
グチャートである。
【図4】高速フーリエ変換アルゴリズムの一例としての
基数4×2時間間引き方法を示すシグナルフローグラフ
である。
【図5】シグナルフローにおける演算エレメントを示す
図である。
【図6】アドレスの可変ビットリバースなしの場合のR
AM間データ転送を示す図である。
【図7】アドレスの可変ビットリバースありの場合のR
AM間データ転送を示す図である。
【図8】ビットリバースの概要を示す図である。
【図9】ビットリバースの一例を示す図であり、サンプ
ル数N=32の場合の基数4×2時間間引き方法におけ
るビットリバースを示す図である。
【図10】可変ビットリバースによるアドレスの変化の
一例を示す図であり、図7に示すRAM間データ転送に
対応させた図である。
【図11】可変ビットリバースによるアドレスの変化を
示す図であり、サンプル数N=32の場合の基数4×2
時間間引き方法におけるRAM間データ転送に対応した
図である。
【図12】可変ビットリバースによるアドレスの変化を
示す図であり、サンプル数N=16の場合の基数4×2
時間間引き方法におけるRAM間データ転送に対応した
図である。
【図13】サンプル数N=32の場合のシグナルフロー
グラフであり、本発明の第1実施形態におけるバタフラ
イ演算の演算順序を示す図である。
【図14】図1に示す本発明の第1の実施形態に係る高
速フーリエ変換装置において、制御部106が生成出力
する,RAMアドレス生成部105を制御するための信
号を示すタイミングチャートである。
【図15】図1に示す本発明の第1の実施形態に係る高
速フーリエ変換装置において、制御部106が生成出力
する,RAMアドレス生成部105を制御するための信
号を示すタイミングチャートである。
【図16】図1に示す本発明の第1の実施形態に係る高
速フーリエ変換装置におけるバタフライ演算部103の
演算タイミングを示すタイミングチャートである。
【図17】図1に示す本発明の第1の実施形態に係る高
速フーリエ変換装置における第1及び第2の可変ビット
リバース部113,114の構成の一例を示す図であ
り、(a)はセレクタ形式の構成例、(b)はテーブル
形式の構成例である。
【図18】本発明の第1の実施形態に係る高速フーリエ
変換装置における入出力アドレス生成部111及び第1
の可変ビットリバース部113による入出力用アドレス
生成の動作を表す図であり、入出力用タイミング信号D
CN及び入出力用ビットリバース信号DBRと入出力用
仮アドレスDAD及び入出力用実アドレスRDADとの
対応を示す図である。
【図19】本発明の第1の実施形態に係る高速フーリエ
変換装置におけるバタフライアドレス生成部112及び
第2の可変ビットリバース部114によるバタフライ演
算用アドレス生成の動作を表す図であり、バタフライ演
算用タイミング信号BCN,バタフライ演算用ステージ
信号BST及びバタフライ演算用ビットリバース信号B
BRとバタフライ演算用仮アドレスBAD及びバタフラ
イ演算用実アドレスRBADとの対応を示す図である。
【図20】本発明の第1実施形態に係る高速フーリエ変
換装置におけるアドレス選択部115の構成を示す図で
ある。
【図21】本発明の第1実施形態に係る高速フーリエ変
換装置における、データ入出力におけるRAMのアクセ
スタイミングを示す図である。
【図22】本発明の第1実施形態に係る高速フーリエ変
換装置における、バタフライ演算におけるRAMのアク
セスタイミングを示す図である。
【図23】第1および第2の可変ビットリバース部11
3,114の構成の他の例を示す図であり、サンプル数
N=4,8,16,32に対してそれぞれ可変ビットリ
バースを実行可能なように構成された可変ビットリバー
ス回路を示す回路図である。
【図24】図23に示す可変ビットリバース回路を構成
する各回路の構成を示す回路図であり、(a)はビット
リバース回路BRの構成を、(b)はビット交換回路B
Cの構成を、(c)はバレルシフタBSの構成を、それ
ぞれ示す図である。
【図25】図23に示す可変ビットリバース回路の各制
御信号の設定値を示す図であり、(a)はサンプル数N
=32、(b)はサンプル数N=16、(c)はサンプ
ル数N=8、(d)はサンプル数N=4の場合における
各制御信号の設定値を示す図である。
【図26】サンプル数N=8の場合の図23に示す可変
ビットリバース回路の動作を示す図であり、(a)はビ
ットリバース回数が1のとき、(b)はビットリバース
回数が2のときの動作を示す図である。
【図27】ビット交換なしの場合における、サンプル数
N=8のときの図23に示す可変ビットリバース回路の
動作を示す図であり、(a)はビットリバース回数が1
のとき、(b)はビットリバース回数が2のときの動作
を示す図である。
【図28】本実施形態に係るサンプル数N=2i (2≦
N≦11)に対応可能な可変ビットリバース回路の構成
図である。
【図29】本発明の第2の実施形態に係る高速フーリエ
変換装置の構成を示すブロック図である。
【図30】本発明の第2の実施形態に係る高速フーリエ
変換装置において、第1のRAM用ビットリバース信号
RBR0及び第2のRAM用ビットリバース信号RBR
1と第1及び第2のRAM101,102(RAM#
0,RAM#1)の動作との関係を示すタイミングチャ
ートである。
【図31】本発明の第3実施形態における高速フーリエ
変換装置の構成を示すブロック図である。
【図32】高速フーリエ変換アルゴリズムの一例を示す
シグナルフローグラフであり、(a)は基数2時間間引
き方法を示すシグナルフローグラフ、(b)は基数2周
波数間引き方法を示すシグナルフローグラフである。
【図33】本発明の第3の実施形態におけるRAM間デ
ータ転送の一例を示す図であり、時間間引き方法と周波
数間引き方法とをシンボル毎に交互に行う場合のRAM
間データ転送を示す図である。
【図34】本発明の第4実施形態に係る高速フーリエ変
換装置の構成を示す図である。
【図35】逆高速フーリエ変換を示すシグナルフローに
おける演算エレメントを示す図である。
【図36】本発明に係る高速フーリエ変換装置を用いた
OFDM受信装置の構成を示す図である。
【図37】本発明に係る逆高速フーリエ変換装置を用い
たOFDM送信装置の構成を示す図である。
【符号の説明】
101 第1のRAM 102 第2のRAM 103 バタフライ演算部 105 RAMアドレス生成部 106 制御部 111 入出力アドレス生成部 112 バタフライアドレス生成部 113 第1の可変ビットリバース部 114 第2の可変ビットリバース部 115 アドレス選択部 121 第1のデータ選択部 122 第2のデータ選択部 131 RAMアドレス変換部 205 RAMアドレス生成部 206 制御部 215 アドレス選択部 231 RAMアドレス変換部 303 バタフライ演算部 305 RAMアドレス生成部 306 制御部 341 周波数間引き演算部 342 時間間引き演算部 DAD 入出力用仮アドレス BAD バタフライ演算用仮アドレス RDAD 入出力用実アドレス RBAD バタフライ演算用実アドレス DBR 入出力用ビットリバース信号 BBR バタフライ演算用ビットリバース信号 RSL RAM選択信号 RBR0 第1のRAM用ビットリバース信号 RBR1 第2のRAM用ビットリバース信号 701〜704 ビットリバース回路 711 ビット交換回路(ビット交換手段) 721 バレルシフタ(ビットシフト手段) 11 ディジタル復調部 12 高速フーリエ変換部 22 逆高速フーリエ変換部 23 ディジタル変調部
───────────────────────────────────────────────────── フロントページの続き (56)参考文献 特開 平2−242471(JP,A) 特開 平7−234863(JP,A) 特開 平9−18443(JP,A) 特開 平4−31965(JP,A) 特開 平2−237374(JP,A) 特開 平1−303565(JP,A) 特開 昭54−82941(JP,A) (58)調査した分野(Int.Cl.7,DB名) G06F 17/14 H04J 11/00 JICSTファイル(JOIS)

Claims (25)

    (57)【特許請求の範囲】
  1. 【請求項1】 高速フーリエ変換(FFT:Fast Fouri
    er Transform)を行う高速フーリエ変換装置であって、 入力データを、高速フーリエ変換を行うデータのまとま
    りであるシンボル毎に格納するRAM(Random Access
    Memory)と、 前記RAMに格納された入力データに対し、バタフライ
    演算を用いた高速フーリエ変換処理(FFT処理)を行
    うFFT処理部とを備え、 前記RAMは、当該RAMに格納された一のシンボルの
    入力データに対する前記FFT処理部によるFFT処理
    の結果得られたデータを、前記一のシンボルの出力デー
    タとして格納するものであり、 前記FFT処理部は、前記RAMをアクセスするアドレ
    スを生成するRAMアドレス生成部を備え、このRAM
    アドレス生成部によって生成されたアドレスにしたがっ
    て前記RAMをアクセスするものであり、 前記RAMアドレス生成部は、アドレスのビットをバタ
    フライ演算の基数に基づきグループ化し、グループ単位
    でビットの順序を入れ換えるビットリバース処理を用い
    て、一のシンボルの出力データおよびこの一のシンボル
    の出力データの次に前記RAMに格納される他のシンボ
    ルの入力データにおいて、シンボル中の順序を表すイン
    デックスが共通するデータが、前記RAMの同一アドレ
    スに格納されるよう、生成するアドレスをシンボル毎に
    変換するものである ことを特徴とする高速フーリエ変換
    装置。
  2. 【請求項2】 請求項1記載の高速フーリエ変換装置に
    おいて、 前記RAMアドレス生成部は、基準となるアドレスに対
    し、ビットリバース処理を所定の回数繰り返して行うこ
    とによってアドレスを生成するものであり、 ビットリバース処理を繰り返し行ったとき元のアドレス
    に戻る回数から1を減じた回数を最大ビットリバース回
    数Rmax (Rmax は正の整数)とすると、 前記RAMアドレス生成部は、基準となるアドレスに対
    するビットリバース処理の繰り返し回数を、0回からR
    max 回まで順に巡回するようシンボル毎にインクリメン
    トすることにより、生成するアドレスをシンボル毎に変
    換するものであることを特徴とする高速フーリエ変換装
    置。
  3. 【請求項3】 請求項2記載の高速フーリエ変換装置に
    おいて、 前記FFT処理部は、基数4のバタフライ演算を優先的
    に用いてFFT処理を行うものであり、 最大ビットリバース回数Rmax は、1シンボルのデータ
    数であるサンプル数が4m (mは正の整数)のとき1で
    あり、サンプル数が4m ・2のとき2mであることを特
    徴とする高速フーリエ変換装置。
  4. 【請求項4】 請求項2記載の高速フーリエ変換装置に
    おいて、 前記RAMアドレス生成部は、ビットリバース処理を指
    定された回数繰り返し行う可変ビットリバース部を備
    え、 前記可変ビットリバース部は、各々1回のビットリバー
    ス処理を行う,直列に接続された複数のビットリバース
    回路を有し、この複数のビットリバース回路のうち、指
    定されたビットリバース回数に相当する個数のものがビ
    ットリバースを行い、残りのものはデータをスルーする
    ものであることを特徴とする高速フーリエ変換装置。
  5. 【請求項5】 請求項4記載の高速フーリエ変換装置に
    おいて、 前記可変ビットリバース部は、複数のサンプル数に対応
    してビットリバースを行うものであり、かつ、入力デー
    タと出力データとにおいて有効なビットの位置が合うよ
    う、前記複数のビットリバース回路によってビットリバ
    ースされたデータをビットシフトするビットシフト手段
    を備えていることを特徴とする高速フーリエ変換装置。
  6. 【請求項6】 請求項5記載の高速フーリエ変換装置に
    おいて、 前記可変ビットリバース部は、前記複数のビットリバー
    ス回路のいずれかの前段に、ビット交換を行うビット交
    換手段が設けられていることを特徴とする高速フーリエ
    変換装置。
  7. 【請求項7】 高速フーリエ変換を行う高速フーリエ変
    換装置であって、 入力データを、高速フーリエ変換を行うデータのまとま
    りであるシンボル毎に格納する第1及び第2のRAM
    と、 前記第1又は第2のRAMに格納された入力データに対
    し、バタフライ演算を用いた高速フーリエ変換処理(F
    FT処理)を行うFFT処理部とを備え、 前記第1及び第2のRAMは、それぞれ、当該RAMに
    格納された一のシンボルの入力データに対する前記FF
    T処理部によるFFT処理の結果得られたデータを、前
    記一のシンボルの出力データとして格納するものであ
    り、 当該高速フーリエ変換装置は、前記第1及び第2のRA
    Mのうちの一方を用いて偶数番目のシンボルのFFT処
    理を行う一方、他方を用いて奇数番目のシンボルのFF
    T処理を行うものであり、 前記FFT処理部は、前記第1及び第2のRAMをアクセスするアドレスを生
    成するRAMアドレス生成部と、 前記第1又は第2のRAMに格納されたデータを基にし
    て、バタフライ演算を行うバタフライ演算部と、 当該高速フーリエ変換装置の入力データ又は前記バタフ
    ライ演算部の演算結果データを入力とし、前記第1又は
    第2のRAMに選択出力する第1のデータ選択部と、 前記第1又は第2のRAMの出力データを入力とし、当
    該高速フーリエ変換装置の出力データとして又は前記バ
    タフライ演算部に選択出力する第2のデータ選択部と、 前記RAMアドレス生成部、並びに前記第1及び第2の
    データ選択部を制御する制御部とを備え、 前記RAMアドレス生成部は、 前記第1又は第2のRAMに一のシンボルの入力データ
    及び出力データを格納するアドレスの基準となる入出力
    用仮アドレスを生成する入出力アドレス生成部と、 前記第1又は第2のRAMに一のシンボルのバタフライ
    演算時の中間データを 格納するアドレスの基準となるバ
    タフライ演算用仮アドレスを生成するバタフライアドレ
    ス生成部と、 前記入出力アドレス生成部によって生成された入出力用
    仮アドレスを入出力用実アドレスに変換すると共に前記
    バタフライアドレス生成部によって生成されたバタフラ
    イ演算用仮アドレスをバタフライ演算用実アドレスに変
    換し、前記入出力用実アドレス及びバタフライ演算用実
    アドレスのうち、一方を前記第1のRAMに出力する一
    方、他方を前記第2のRAMに出力するRAMアドレス
    変換部とを備え、 i(iは正の整数)番目のシンボルの出力データおよび
    (i+2)番目のシンボルの入力データにおいて、シン
    ボル中の順序を表すインデックスが共通するデータが、
    前記第1又は第2のRAMの同一アドレスに格納される
    よう、生成するアドレスをシンボル毎に変換するもので
    ある ことを特徴とする高速フーリエ変換装置。
  8. 【請求項8】 請求項7記載の高速フーリエ変換装置に
    おいて、 i(iは正の整数)番目のシンボルのデータ出力期間
    に、(i+2)番目のシンボルのデータ入力を行うと共
    に(i+1)番目のシンボルのバタフライ演算を行うこ
    とを特徴とする高速フーリエ変換装置。
  9. 【請求項9】 請求項7記載の高速フーリエ変換装置に
    おいて、 前記RAMアドレス変換部は、 前記入出力アドレス生成部によって生成された入出力用
    仮アドレスに対し、ビットリバース処理を前記制御部か
    ら出力された入出力用ビットリバース信号により指示さ
    れた回数行うことにより、入出力用実アドレスを生成す
    る第1の可変ビットリバース部と、 前記バタフライアドレス生成部によって生成されたバタ
    フライ演算用仮アドレスに対し、ビットリバース処理を
    前記制御部から出力されたバタフライ演算用ビットリバ
    ース信号により指示された回数行うことにより、バタフ
    ライ演算用実アドレスを生成する第2の可変ビットリバ
    ース部と、 前記第1の可変ビットリバース部によって生成された入
    出力用実アドレス及び前記第2の可変ビットリバース部
    によって生成されたバタフライ演算用実アドレスを入力
    とし、前記制御部から出力されたRAM選択信号にした
    がって、一方を前記第1のRAMのアドレスとし、他方
    を前記第2のRAMのアドレスとして選択出力するアド
    レス選択部とを備えていることを特徴とする高速フーリ
    エ変換装置。
  10. 【請求項10】 請求項9記載の高速フーリエ変換装置
    において、 ビットリバース処理を繰り返し行ったとき元のアドレス
    に戻る回数から1を減じた回数を最大ビットリバース回
    数Rmax (Rmax は正の整数)とし、1シンボル分のデ
    ータ入力期間をシンボル期間とすると、 前記制御部は、 前記入出力用ビットリバース信号及びバタフライ演算用
    ビットリバース信号を、2シンボル期間毎に、指示する
    ビットリバース処理の繰り返し回数が0回からRmax 回
    まで順に巡回するようそれぞれ更新することを特徴とす
    る高速フーリエ変換装置。
  11. 【請求項11】 請求項7記載の高速フーリエ変換装置
    において、 前記RAMアドレス変換部は、 前記入出力アドレス生成部によって生成された入出力用
    仮アドレス及び前記バタフライアドレス生成部によって
    生成されたバタフライ演算用仮アドレスを入力とし、前
    記制御部から出力されたRAM選択信号にしたがって、
    一方を前記第1のRAMの仮アドレスとし、他方を前記
    第2のRAMの仮アドレスとして選択出力するアドレス
    選択部と、 前記アドレス選択部によって選択出力された前記第1の
    RAMの仮アドレスに対し、ビットリバース処理を前記
    制御部から出力された第1のRAM用ビットリバース信
    号により指示された回数行うことにより、前記第1のR
    AMのアドレスを生成する第1の可変ビットリバース部
    と、 前記アドレス選択部によって選択出力された前記第2の
    RAMの仮アドレスに対し、ビットリバース処理を前記
    制御部から出力された第2のRAM用ビットリバース信
    号により指示された回数行うことにより、前記第2のR
    AMのアドレスを生成する第2の可変ビットリバース部
    とを備えていることを特徴とする高速フーリエ変換装
    置。
  12. 【請求項12】 請求項11記載の高速フーリエ変換装
    置において、 ビットリバース処理を繰り返し行ったとき元のアドレス
    に戻る回数から1を減じた回数を最大ビットリバース回
    数Rmax (Rmax は正の整数)とし、1シンボル分のデ
    ータ入力期間を1シンボル期間とすると、 前記制御部は、前記第1のRAM用ビットリバース信号
    及び第2のRAM用ビットリバース信号を、2シンボル
    期間毎に、指示するビットリバース処理の回数が0回か
    らRmax 回まで順に巡回するようそれぞれ更新すること
    を特徴とする高速フーリエ変換装置。
  13. 【請求項13】 請求項10又は12記載の高速フーリ
    エ変換装置において、 前記FFT処理部は、基数4のバタフライ演算を優先的
    に用いてFFT処理を行うものであり、 最大ビットリバース回数Rmax は、1シンボルのデータ
    数であるサンプル数が4m (mは正の整数)のとき1で
    あり、サンプル数が4m ・2のとき2mであることを特
    徴とする高速フーリエ変換装置。
  14. 【請求項14】 RAMを用いて高速フーリエ変換を行
    う高速フーリエ変換方法であって、 高速フーリエ変換を行うデータのまとまりである1シン
    ボル分の変換対象のデータを、RAMに格納する第1の
    ステップと、 前記第1のステップにおいて前記RAMに格納した変換
    対象のデータに対してバタフライ演算を用いた高速フー
    リエ変換処理(FFT処理)を行い、処理結果データを
    前記RAMに格納する第2のステップと、 前記第2のステップにおいて前記RAMに格納した処理
    結果データを、前記RAMから読み出す第3のステップ
    とを繰り返し行うものであり、 前記第2のステップは、アドレスのビットをバタフライ演算の基数に基づきグル
    ープ化し、グループ単位でビットの順序を入れ換えるビ
    ットリバース処理を用いて、 N(Nは正の整数)回目の繰り返しにおいて前記RAM
    に格納した処理結果データおよび(N+1)回目の繰り
    返しにおいて前記RAMに格納した変換対象のデータに
    おいて、シンボル中の順序を表すインデックスが共通す
    るデータが、前記RAMの同一アドレスに格納されるよ
    う、前記RAMをアクセスするアドレスを繰り返しの度
    に変換することを特徴とする高速フーリエ変換方法。
  15. 【請求項15】 請求項14記載の高速フーリエ変換方
    法において、 前記第2のステップは、前記RAMをアクセスするアド
    レスを、基準となるアドレスに対しビットリバース処理
    を所定の回数繰り返して行うことによって生成するもの
    であり、 ビットリバース処理を繰り返し行ったとき元のアドレス
    に戻る回数から1を減じた回数を最大ビットリバース回
    数Rmax (Rmax は正の整数)とすると、 前記第2のステップは、基準となるアドレスに対するビ
    ットリバース処理の繰り返し回数を、0回からRmax 回
    まで順に巡回するよう繰り返しの度にインクリメントす
    ることにより、前記RAMをアクセスするアドレスを繰
    り返しの度に変換するものであることを特徴とする高速
    フーリエ変換方法。
  16. 【請求項16】 請求項15記載の高速フーリエ変換方
    法において、 前記第2のステップは、基数4のバタフライ演算を優先
    的に用いたFFT処理を行うものであり、 最大ビットリバース回数Rmax は、1シンボルのデータ
    数であるサンプル数が4m (mは正の整数)のとき1で
    あり、サンプル数が4m ・2のとき2mであることを特
    徴とする高速フーリエ変換方法。
  17. 【請求項17】 バタフライ演算のためのビットリバー
    ス処理を、指定された回数繰り返し行う可変ビットリバ
    ース回路であって、 各々1回のビットリバース処理を行う,直列に接続され
    た複数のビットリバース回路を備え、 前記複数のビットリバース回路のうち、指定されたビッ
    トリバース回数に相当する個数のものがビットリバース
    を行い、残りのものはデータをスルーすることを特徴と
    する可変ビットリバース回路。
  18. 【請求項18】 請求項17記載の可変ビットリバース
    回路において、 当該可変ビットリバース回路は、複数のサンプル数に対
    応してビットリバースを行うものであり、かつ、 入力データと出力データとにおいて有効なビットの位置
    が合うよう、前記複数のビットリバース回路によってビ
    ットリバースされたデータをビットシフトするビットシ
    フト手段を備えていることを特徴とする可変ビットリバ
    ース回路。
  19. 【請求項19】 請求項18記載の可変ビットリバース
    回路において、 前記複数のビットリバース回路のいずれかの前段に、ビ
    ット交換を行うビット交換手段が設けられていることを
    特徴とする可変ビットリバース回路。
  20. 【請求項20】 逆高速フーリエ変換を行う逆高速フー
    リエ変換装置であって、 入力データを、逆高速フーリエ変換を行うデータのまと
    まりであるシンボル毎に格納するRAMと、 前記RAMに格納された入力データに対し、バタフライ
    演算を用いた逆高速フーリエ変換処理(IFFT処理)
    を行うIFFT処理部とを備え、 前記RAMは、前記RAMに格納された一のシンボルの
    入力データに対する前記IFFT処理部によるIFFT
    処理の結果得られたデータを、前記一のシンボルの出力
    データとして格納するものであり、 前記IFFT処理部は、前記RAMをアクセスするアド
    レスを生成するRAMアドレス生成部を備え、前記RA
    Mアドレス生成部によって生成されたアドレスにしたが
    って、前記RAMをアクセスするものであり、 前記RAMアドレス生成部は、アドレスのビットをバタ
    フライ演算の基数に基づきグループ化し、グループ単位
    でビットの順序を入れ換えるビットリバース処理を用い
    て、一のシンボルの出力データおよびこの一のシンボル
    の出力データの次に前記RAMに格納される他のシンボ
    ルの入力データにおいて、シンボル中の順序を表すイン
    デックスが共通するデータが、前記RAMの同一アドレ
    スに格納されるよう、生成するアドレスをシンボル毎に
    変換するものである ことを特徴とする逆高速フーリエ変
    換装置。
  21. 【請求項21】 請求項20記載の逆高速フーリエ変換
    装置において、 前記RAMアドレス生成部は、基準となるアドレスに対
    し、ビットリバース処理を所定の回数繰り返して行うこ
    とによってアドレスを生成するものであり、 ビットリバース処理を繰り返し行ったとき元のアドレス
    に戻る回数から1を減じた回数を最大ビットリバース回
    数Rmax (Rmax は正の整数)とすると、 前記RAMアドレス生成部は、基準となるアドレスに対
    するビットリバース処理の繰り返し回数を、0回からR
    max 回まで順に巡回するようシンボル毎にインクリメン
    トすることにより、生成するアドレスをシンボル毎に変
    換するものであることを特徴とする逆高速フーリエ変換
    装置。
  22. 【請求項22】 RAMを用いて逆高速フーリエ変換を
    行う逆高速フーリエ変換方法であって、 逆高速フーリエ変換を行うデータのまとまりである1シ
    ンボル分の変換対象のデータを、RAMに格納する第1
    のステップと、 前記第1のステップにおいて前記RAMに格納した変換
    対象のデータに対してバタフライ演算を用いた逆高速フ
    ーリエ変換処理(IFFT処理)を行い、処理結果デー
    タを前記RAMに格納する第2のステップと、 前記第2のステップにおいて前記RAMに格納した処理
    結果データを、前記RAMから読み出す第3のステップ
    とを繰り返し行うものであり、 前記第2のステップは、アドレスのビットをバタフライ演算の基数に基づきグル
    ープ化し、グループ単位でビットの順序を入れ換えるビ
    ットリバース処理を用いて、 N(Nは正の整数)回目の繰り返しにおいて前記RAM
    に格納した処理結果データ及び(N+1)回目の繰り返
    しにおいて前記RAMに格納した変換対象のデータにお
    いて、シンボル中の順序を表すインデックスが共通する
    データが、前記RAMの同一アドレスに格納されるよ
    う、前記RAMをアクセスするアドレスを繰り返しの度
    に変換することを特徴とする逆高速フーリエ変換方法。
  23. 【請求項23】 請求項22記載の逆高速フーリエ変換
    方法において、 前記第2のステップは、前記RAMをアクセスするアド
    レスを、基準となるアドレスに対しビットリバース処理
    を所定の回数繰り返して行うことによって生成するもの
    であり、 ビットリバース処理を繰り返し行ったとき元のアドレス
    に戻る回数から1を減じた回数を最大ビットリバース回
    数Rmax (Rmax は正の整数)とすると、 前記第2のステップは、基準となるアドレスに対するビ
    ットリバース処理の繰り返し回数を、0回からRmax 回
    まで順に巡回するよう繰り返しの度にインクリメントす
    ることにより、前記RAMをアクセスするアドレスを繰
    り返しの度に変換するものであることを特徴とする逆高
    速フーリエ変換方法。
  24. 【請求項24】 受信したOFDM信号を受信データに
    復調するOFDM受信装置であって、 OFDM信号をベースバンド信号に復調するディジタル
    復調部と、このディジタル復調部によって復調されたベ
    ースバンド信号に対して高速フーリエ変換を行い、搬送
    波の複素データを復号する高速フーリエ変換部とを備
    え、この搬送波の複素データを基にして受信データを生
    成するものであり、 前記高速フーリエ変換部は、請求項1または2記載の高
    速フーリエ変換装置からなることを特徴とするOFDM
    受信装置。
  25. 【請求項25】 送信データをOFDM信号に変調する
    OFDM送信装置であって、 送信データから生成された搬送波の複素データに対して
    逆高速フーリエ変換を行う逆高速フーリエ変換部と、こ
    の逆高速フーリエ変換部の出力に対して周波数変換を行
    い、OFDM信号を生成するディジタル変調部とを備え
    たものであり、 前記逆高速フーリエ変換部は、請求項20または21
    載の逆高速フーリエ変換装置からなることを特徴とする
    OFDM送信装置。
JP10006247A 1997-01-22 1998-01-16 高速フーリエ変換装置および方法、可変ビットリバース回路、逆高速フーリエ変換装置および方法、並びにofdm受信および送信装置 Expired - Fee Related JP3065979B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP10006247A JP3065979B2 (ja) 1997-01-22 1998-01-16 高速フーリエ変換装置および方法、可変ビットリバース回路、逆高速フーリエ変換装置および方法、並びにofdm受信および送信装置

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
JP920497 1997-01-22
JP9-212861 1997-08-07
JP21286197 1997-08-07
JP9-9204 1997-08-07
JP10006247A JP3065979B2 (ja) 1997-01-22 1998-01-16 高速フーリエ変換装置および方法、可変ビットリバース回路、逆高速フーリエ変換装置および方法、並びにofdm受信および送信装置

Publications (2)

Publication Number Publication Date
JPH11110370A JPH11110370A (ja) 1999-04-23
JP3065979B2 true JP3065979B2 (ja) 2000-07-17

Family

ID=27277079

Family Applications (1)

Application Number Title Priority Date Filing Date
JP10006247A Expired - Fee Related JP3065979B2 (ja) 1997-01-22 1998-01-16 高速フーリエ変換装置および方法、可変ビットリバース回路、逆高速フーリエ変換装置および方法、並びにofdm受信および送信装置

Country Status (1)

Country Link
JP (1) JP3065979B2 (ja)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100836050B1 (ko) * 2001-05-23 2008-06-09 엘지전자 주식회사 고속 푸리에 변환 연산 장치
KR100492124B1 (ko) * 2002-12-12 2005-06-02 삼성전자주식회사 구현이 간단한 고속 퓨리에 변환 장치를 가지는 유럽향디지털 오디오 방송 수신기 및 그의 동작방법
JP4647296B2 (ja) * 2004-11-30 2011-03-09 リーダー電子株式会社 遅延プロファイル測定装置
US20070239815A1 (en) * 2006-04-04 2007-10-11 Qualcomm Incorporated Pipeline fft architecture and method
CN101930426B (zh) * 2009-06-24 2015-08-05 华为技术有限公司 信号处理方法、数据处理方法及装置
JPWO2011102291A1 (ja) * 2010-02-16 2013-06-17 日本電気株式会社 高速フーリエ変換回路
FR2972091A1 (fr) * 2011-02-28 2012-08-31 France Telecom Procede de modulation d'un signal multiporteuse de type oqam, programme d'ordinateur et modulateur correspondants

Also Published As

Publication number Publication date
JPH11110370A (ja) 1999-04-23

Similar Documents

Publication Publication Date Title
US6115728A (en) Fast fourier transforming apparatus and method, variable bit reverse circuit, inverse fast fourier transforming apparatus and method, and OFDM receiver and transmitter
US7464127B2 (en) Fast fourier transform apparatus
JP4022546B2 (ja) 高速フーリエ変換を用いた混合−基数方式の変調装置
JPH1049518A (ja) 演算装置および方法
KR100989797B1 (ko) Fft/ifft 연산코어
WO2010108371A1 (zh) 一种实现fft/ifft变换的电路及方法
JP3065979B2 (ja) 高速フーリエ変換装置および方法、可変ビットリバース回路、逆高速フーリエ変換装置および方法、並びにofdm受信および送信装置
US9727531B2 (en) Fast fourier transform circuit, fast fourier transform processing method, and program recording medium
US20100128818A1 (en) Fft processor
WO2006109240A2 (en) Fast fourier transform architecture
JPH0462504B2 (ja)
WO2007068438A2 (en) Circular fast fourier transform
JP2000224051A (ja) たたみこみインタ―リ―ビング用の効率的メモリアドレス指定方式
JPH08320858A (ja) フーリエ変換演算装置および方法
WO2011102291A1 (ja) 高速フーリエ変換回路
US6789097B2 (en) Real-time method for bit-reversal of large size arrays
US5563816A (en) High-resolution digital filter
JP2001056806A (ja) 高速フーリエ変換装置
KR100484418B1 (ko) 고속푸리에변환장치및방법,가변비트리버스회로,역고속푸리에변환장치및방법과직교주파수분할다중수신및송신장치
JP2001024621A (ja) 実数入力データのストリームを複素出力シンボル・ストリームに変換する方法および装置
JP3499460B2 (ja) 拡散符号発生回路および拡散符号発生方法
KR100577005B1 (ko) 고속 하다마드 변환 및 고속 푸리에 변환의 선택적 수행장치 및 방법
JPS5965376A (ja) アドレス制御回路
JP5131346B2 (ja) 無線通信装置
CA2352683C (en) Real-time method for bit-reversal of large size arrays

Legal Events

Date Code Title Description
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20000418

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090512

Year of fee payment: 9

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100512

Year of fee payment: 10

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110512

Year of fee payment: 11

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110512

Year of fee payment: 11

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120512

Year of fee payment: 12

LAPS Cancellation because of no payment of annual fees