(57)【特許請求の範囲】
【請求項１】
演算されるべきデータが低速のクロックで書き込まれて一時的に記憶され、この一時的に記憶された演算されるべきデータが高速のクロックで読み出される第１の記憶手段であって、所定の順番で入力され記憶されたデータが、前記所定の順番に対するディジット逆順に出力される第１の記憶手段と、
前記第１の記憶手段からのディジット逆順に出力されたデータまたは演算途中のデータが記憶される第２の記憶手段と、
前記第２の記憶手段から、所定の基数に対応するＮ個の演算されるデータを読み出し、それらのデータに対してバタフライ演算を行い、前記第２の記憶手段の前記Ｎ個のデータを読み出したアドレスに前記Ｎ個の演算結果をそれぞれ記憶させる演算手段と、
前記演算手段により演算されたデータが高速のクロックで書き込まれて一時的に記憶され、この一時的に記憶されたデータが低速のクロックで読み出される第３の記憶手段と
を備えることを特徴とする演算装置。
【請求項２】
演算されるべきデータが低速のクロックで書き込まれて一時的に記憶され、この一時的に記憶された演算されるべきデータが高速のクロックで読み出される第１の記憶手段であって、所定の順番で入力され記憶されたデータが、前記所定の順番に対するディジット逆順に出力される第１の記憶手段と、
演算途中のデータが記憶される第２の記憶手段と、
前記第１の記憶手段または前記第２の記憶手段から、所定の基数に対応するＮ個の演算されるデータを読み出し、それらのデータに対してバタフライ演算を行い、前記第２の記憶手段の前記Ｎ個のデータを読み出したアドレスに前記Ｎ個の演算結果をそれぞれ記憶させる演算手段と、
前記演算手段により演算されたデータが高速のクロックで書き込まれて一時的に記憶され、この一時的に記憶されたデータが低速のクロックで読み出される第３の記憶手段と
を備えることを特徴とする演算装置。
【請求項３】
前記演算手段は、時間間引き型アルゴリズムで、バタフライ演算を行う
ことを特徴とする請求項１または請求項２に記載の演算装置。
【請求項４】
前記第１の記憶手段は、演算される所定の数の前記Ｎ個のデータの組を、前記所定の順番における順番の小さいデータを含む前記Ｎ個のデータの組から順次、前記演算手段に対して出力する
ことを特徴とする請求項１または請求項２に記載の演算装置。
【請求項５】
第１の記憶部において、演算されるべきデータが低速のクロックで書き込まれて一時的に記憶され、この一時的に記憶された演算されるべきデータが高速のクロックで読み出され、所定の順番で入力され記憶されたデータが、前記所定の順番に対するディジット逆順に出力され、
第２の記憶部において、前記第１の記憶部からのディジット逆順に出力されたデータまたは演算途中のデータが記憶され、
演算部において、前記第２の記憶部から、所定の基数に対応するＮ個の演算されるデータを読み出し、それらのデータに対してバタフライ演算を行い、前記第２の記憶部の前記Ｎ個のデータを読み出したアドレスに前記Ｎ個の演算結果をそれぞれ記憶させ、
第３の記憶部において、前記演算部により演算されたデータが高速のクロックで書き込まれて一時的に記憶され、この一時的に記憶されたデータが低速のクロックで読み出される
ステップを含むことを特徴とする演算方法。
【請求項６】
第１の記憶部において、演算されるべきデータが低速のクロックで書き込まれて一時的に記憶され、この一時的に記憶された演算されるべきデータが高速のクロックで読み出され、所定の順番で入力され記憶されたデータが、前記所定の順番に対するディジット逆順に出力され、
第２の記憶部において、演算途中のデータが記憶され、
演算部において、前記第１の記憶部または前記第２の記憶部から、所定の基数に対応するＮ個の演算されるデータを読み出し、それらのデータに対してバタフライ演算を行い、前記第２の記憶部の前記Ｎ個のデータを読み出したアドレスに前記Ｎ個の演算結果をそれぞれ記憶させ、
第３の記憶部において、前記演算部により演算されたデータが高速のクロックで書き込まれて一時的に記憶され、この一時的に記憶されたデータが低速のクロックで読み出される
をステップを含むことを特徴とする演算方法。
【請求項７】
演算されるべきデータが低速のクロックで書き込まれて一時的に記憶され、この一時的に記憶された演算されるべきデータが高速のクロックで読み出される第１の記憶手段と、
前記第１の記憶手段から出力されたデータまたは演算途中のデータが記憶される第２の記憶手段と、
前記第２の記憶手段から、所定の基数に対応するＮ個の演算されるデータを読み出し、それらのデータに対してバタフライ演算を行い、前記第２の記憶手段の前記Ｎ個のデータを読み出したアドレスに前記Ｎ個の演算結果をそれぞれ記憶させる演算手段と、
前記演算手段により演算されたデータが高速のクロックで書き込まれて一時的に記憶され、この一時的に記憶されたデータが低速のクロックで読み出される第３の記憶手段であって、前記第２の記憶手段から入力された前記演算結果がディジット逆順に記憶される第３の記憶手段と
を備えることを特徴とする演算装置。
【請求項８】
演算されるべきデータが低速のクロックで書き込まれて一時的に記憶され、この一時的に記憶された演算されるべきデータが高速のクロックで読み出される第１の記憶手段と、
演算途中のデータが記憶される第２の記憶手段と、
前記第１の記憶手段または前記第２の記憶手段から、所定の基数に対応するＮ個の演算されるデータを読み出し、それらのデータに対してバタフライ演算を行い、前記第２の記憶手段の前記Ｎ個のデータを読み出したアドレスに前記Ｎ個の演算結果をそれぞれ記憶させる演算手段と、
前記演算手段により演算されたデータが高速のクロックで書き込まれて一時的に記憶され、この一時的に記憶されたデータが低速のクロックで読み出される第３の記憶手段であって、前記演算手段から入力された前記演算結果がディジット逆順に記憶される第３の記憶手段と
を備えることを特徴とする演算装置。
【請求項９】
前記演算手段は、周波数間引き型アルゴリズムで、バタフライ演算を行う
ことを特徴とする請求項７または請求項８に記載の演算装置。
【請求項１０】
前記第３の記憶手段は、所定の数の前記Ｎ個の演算結果の組を、前記ディジット逆順における順番の小さいデータを含む前記Ｎ個の演算結果の組から順次記憶する
ことを特徴とする請求項７または請求項８に記載の演算装置。
【請求項１１】
第１の記憶部において、演算されるべきデータが低速のクロックで書き込まれて一時的に記憶され、この一時的に記憶された演算されるべきデータが高速のクロックで読み出され、
第２の記憶部において、前記第１の記憶部から出力されたデータまたは演算途中のデータが記憶され、
演算部において、前記第２の記憶部から、所定の基数に対応するＮ個の演算されるデータを読み出し、それらのデータに対してバタフライ演算を行い、前記第２の記憶部の前記Ｎ個のデータを読み出したアドレスに前記Ｎ個の演算結果をそれぞれ記憶させ、
第３の記憶部において、前記演算部により演算されたデータが高速のクロックで書き込まれて一時的に記憶され、この一時的に記憶されたデータが低速のクロックで読み出され、前記第２の記憶部から入力された前記演算結果がディジット逆順に記憶される
ステップを含むことを特徴とする演算方法。
【請求項１２】
第１の記憶部において、演算されるべきデータが低速のクロックで書き込まれて一時的に記憶され、この一時的に記憶された演算されるべきデータが高速のクロックで読み出され、
第２の記憶部において、演算途中のデータが記憶され、
演算部において、前記第１の記憶部または前記第２の記憶部から、所定の基数に対応するＮ個の演算されるデータを読み出し、それらのデータに対してバタフライ演算を行い、前記第２の記憶部の前記Ｎ個のデータを読み出したアドレスに前記Ｎ個の演算結果をそれぞれ記憶させ、
第３の記憶部において、前記演算部により演算されたデータが高速のクロックで書き込まれて一時的に記憶され、この一時的に記憶されたデータが低速のクロックで読み出され、前記演算部から入力された前記演算結果がディジット逆順に記憶される
ステップを含むことを特徴とする演算方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、演算装置および方法に関し、特に、所定の順番で入力されたデータを、所定の順番に対するディジット逆順に並べ換えた後、バタフライ演算を行う、あるいは、バタフライ演算を行った後に、演算結果をディジット逆順に並べ換える演算装置および方法に関する。
【０００２】
【従来の技術】
最近、放送技術においてもデジタル化が普及しつつある。図１８は、オーディオ信号をデジタル化して放送するデジタルラジオ放送の１つであるＤＡＢ（Digital Audio Broadcasting）の受信装置の構成例を示している。
【０００３】
チューナ９２は、アンテナ９１を介して受信した信号から、所定の放送局（チャンネル）の信号を選択し、その信号をＡ／Ｄ変換器９３に出力する。Ａ／Ｄ変換器９３は、供給された信号をＡ／Ｄ変換し、変換後のデジタルデータをメモリ１００に記憶させる。
【０００４】
メモリ１００は、そのデータを、ディジット逆順に並べ換えた後、ＦＦＴ（Fast Fourier Transform）回路９４に出力する。なお、ディジット逆順とは、所定の順番の第Ｎ番目のデータを、Ｎを所定の基数ｒに対応するｒ進数で表現した角ディジットの上位と下位の関係を反転させた番号に並べ換えたときの順番である。
【０００５】
例えば、８個のデータを処理する場合（即ち、８点のＦＦＴ演算を行う場合）、８個のデータの順番（０乃至７）は３ビットの２進数（ｒ＝２）で表すことできる。従って、第３（０１１Ｂ）番目のデータは、ディジット逆順においては、第６（１１０Ｂ）番目のデータとなる（Ｂは２進数を表している）。同様にして、８個のデータｆ（０）乃至ｆ（７）は、ｆ（０），ｆ（４），ｆ（２），ｆ（６），ｆ（１），ｆ（５），ｆ（３），ｆ（７）という順番（ディジット逆順）に並べ換えられる。
【０００６】
ＦＦＴ回路９４は、ＦＦＴ演算を行い、供給された時間軸上のデータを、複数の副搬送波の周波数軸上のデータに変換することにより、例えばＯＦＤＭ（Orthogonal Frequency Division Multiplexing）方式で送信されたデータを復調する。なお、このＦＦＴ回路９４には、時間軸上において隣接するシンボル（所定の量のデータを含む所定の期間の変調信号）との間に設けられているガード・インタバル成分が除去された後のシンボル成分が供給される。
【０００７】
デインタリーブ回路および誤り訂正回路９５は、ＦＦＴ回路９４より供給されたデータに対してデインタリーブ処理を行うとともに、誤り訂正処理を実行する。デインタリーブ回路および誤り訂正回路９５により処理された信号は、その一部が復号化回路９６に供給される。復号化回路９６は、供給された信号を、ＤＱＰＳＫ（Differential Quadrature Phase Shift Keying）復調し、復調したデータを、アナログのオーディオ信号に変換した後、左チャンネルのオーディオ信号と、右チャンネルのオーディオ信号を、スピーカ９７，９８にそれぞれ出力し、それらの信号に対応する音声を出力させる。
【０００８】
また、付加データ出力回路９９は、デインタリーブ回路および誤り訂正回路９５より供給された信号から、番組内容、交通情報などの付加データを分離して出力する。
【０００９】
図１９は、ＦＦＴ回路９４の一構成例を示している。入力バッファ１０２は、低速のクロック（この受信装置のシステムクロック）で、図２０に示すように、メモリ１００においてディジット逆順に並び換えられたデータｆ（０），ｆ（４），ｆ（２），ｆ（６），ｆ（１），ｆ（５），ｆ（３），ｆ（７）を記憶する。そして、入力バッファ１０２は、供給されたデータを、そのままの順番で、ＦＦＴ回路９４の高速な内部クロックに同期してセレクタ１０３に出力するようになされている。即ち、入力バッファ１０２は、受信装置の低速なシステムクロックとＦＦＴ回路９４の高速な内部クロックとの間の速度の調節を行っている。
【００１０】
そして、セレクタ１０３は、入力バッファ１０２からのデータを、図２０のメモリ１０４の最も左側に示すように記憶させる。
【００１１】
次に、セレクタ１０５は、まず、メモリ１０４の第０番目のデータｆ（０）と第１番目のデータｆ（４）をバタフライ演算器１０６に出力する。バタフライ演算器１０６は、それらのデータに対して第１段目のバタフライ演算を行い、演算結果をセレクタ１０３を介して、メモリ１０４に第０番目のデータＲ１（０）および第１番目のデータＲ１（１）として記憶させる。
【００１２】
なお、これらの動作は、高速な内部クロックに同期して行われる。
【００１３】
同様にして、メモリ１０４の第２番目のデータｆ（２）と第３番目のデータｆ（６）、第４番目のデータｆ（１）と第５番目のデータｆ（５）、並びに、第６番目のデータｆ（３）と第７番目のデータｆ（７）に対してバタフライ演算を行い、それらの演算結果をメモリ１０４の第２番目のデータＲ１（２）乃至第７番目のデータＲ１（７）としてそれぞれ記憶させる。
【００１４】
次に、セレクタ１０５は、メモリ１０４の第０番目のデータＲ１（０）および第２番目のデータＲ１（２）を読み出し、バタフライ演算器１０６に出力する。バタフライ演算器１０６は、それらのデータに対して第２段目のバタフライ演算を行い、演算結果をセレクタ１０３を介して、メモリ１０４に第０番目のデータＲ２（０）および第２番目のデータＲ２（２）として記憶させる。
【００１５】
さらに、セレクタ１０５は、メモリ１０４の第１番目のデータＲ１（１）および第３番目のデータＲ１（３）を読み出し、バタフライ演算器１０６に出力する。バタフライ演算器１０６は、それらのデータに対して第２段目のバタフライ演算を行い、演算結果をセレクタ１０３を介して、メモリ１０４に第１番目のデータＲ２（１）および第３番目のデータＲ２（３）として記憶させる。
【００１６】
同様にして、メモリ１０４の第４番目のデータＲ１（４）および第６番目のデータＲ１（６）に対してバタフライ演算を行い、演算結果をメモリ１０４の第４番目のデータＲ２（４）および第６番目のデータＲ２（６）として記憶させ、メモリ１０４の第５番目のデータＲ１（５）および第７番目のデータＲ１（７）に対してバタフライ演算を行い、演算結果をメモリ１０４の第５番目のデータＲ２（５）および第７番目のデータＲ２（７）として記憶させる。
【００１７】
次に、セレクタ１０５は、メモリ１０４の第０番目のデータＲ２（０）および第４番目のデータＲ２（４）を読み出し、バタフライ演算器１０６に出力する。バタフライ演算器１０６は、それらのデータに対して第３段目のバタフライ演算を行い、演算結果をセレクタ１０３を介して、メモリ１０４に第０番目のデータＦ（０）および第４番目のデータＦ（４）として記憶させる。
【００１８】
同様にして、メモリ１０４の第１番目のデータＲ２（１）および第５番目のデータＲ２（５）に対して第３段目のバタフライ演算を行い、演算結果をメモリ１０４の第１番目のデータＦ（１）および第５番目のデータＦ（５）として記憶させる。さらに、メモリ１０４の第２番目のデータＲ２（２）および第６番目のデータＲ２（６）に対してバタフライ演算を行い、演算結果をメモリ１０４の第２番目のデータＦ（２）および第６番目のデータＦ（６）として記憶させ、メモリ１０４の第３番目のデータＲ２（３）および第７番目のデータＲ２（７）に対してバタフライ演算を行い、演算結果をメモリ１０４の第３番目のデータＦ（３）および第７番目のデータＦ（７）として記憶させる。
【００１９】
次に、セレクタ１０５は、メモリ１０４に記憶されているデータＦ（０）乃至Ｆ（７）を高速な内部クロックに同期して出力バッファ１０７に出力する。
【００２０】
そして、出力バッファ１０７は、ＦＦＴ演算されたデータＦ（０）乃至Ｆ（７）を、低速なシステムクロックに同期してデインタリーブ回路および誤り訂正回路９５に出力する。即ち、出力バッファ１０７は、ＦＦＴ回路９４の高速な内部クロックと受信装置の低速なシステムクロックとの間の速度の調節を行っている。
【００２１】
【発明が解決しようとする課題】
しかしながら、上述の装置においては、メモリ１００を利用して、データをディジット逆順に並べ換えた後、ＦＦＴ回路９４でＦＦＴ演算を行うので、メモリ１００が必要となり、装置のコストが高くなるという問題を有している。
【００２２】
本発明は、このような状況に鑑みてなされたもので、所定の順番で入力されたデータを、所定の順番に対するディジット逆順に並べ換えた後、バタフライ演算を行うことで、予めデータの順番をディジット逆順に並べ換えるための回路を不要とし、コストを低減することができる。
【００２３】
【課題を解決するための手段】
請求項１に記載の演算装置は、演算されるべきデータが低速のクロックで書き込まれて一時的に記憶され、この一時的に記憶された演算されるべきデータが高速のクロックで読み出される第１の記憶手段であって、所定の順番で入力され記憶されたデータが、所定の順番に対するディジット逆順に出力される第１の記憶手段と、第１の記憶手段からのディジット逆順に出力されたデータまたは演算途中のデータが記憶される第２の記憶手段と、 第２の記憶手段から、所定の基数に対応するＮ個の演算されるデータを読み出し、それらのデータに対してバタフライ演算を行い、第２の記憶手段のＮ個のデータを読み出したアドレスにＮ個の演算結果をそれぞれ記憶させる演算手段と、演算手段により演算されたデータが高速のクロックで書き込まれて一時的に記憶され、この一時的に記憶されたデータが低速のクロックで読み出される第３の記憶手段を備えることを特徴とする。
請求項２に記載の演算装置は、演算されるべきデータが低速のクロックで書き込まれて一時的に記憶され、この一時的に記憶された演算されるべきデータが高速のクロックで読み出される第１の記憶手段であって、所定の順番で入力され記憶されたデータが、所定の順番に対するディジット逆順に出力される第１の記憶手段と、演算途中のデータが記憶される第２の記憶手段と、第１の記憶手段または第２の記憶手段から、所定の基数に対応するＮ個の演算されるデータを読み出し、それらのデータに対してバタフライ演算を行い、第２の記憶手段のＮ個のデータを読み出したアドレスにＮ個の演算結果をそれぞれ記憶させる演算手段と、演算手段により演算されたデータが高速のクロックで書き込まれて一時的に記憶され、この一時的に記憶されたデータが低速のクロックで読み出される第３の記憶手段を備えることを特徴とする。
【００２４】
請求項５に記載の演算方法は、第１の記憶部において、演算されるべきデータが低速のクロックで書き込まれて一時的に記憶され、この一時的に記憶された演算されるべきデータが高速のクロックで読み出され、所定の順番で入力され記憶されたデータが、所定の順番に対するディジット逆順に出力され、第２の記憶部において、第１の記憶部からのディジット逆順に出力されたデータまたは演算途中のデータが記憶され、演算部において、第２の記憶部から、所定の基数に対応するＮ個の演算されるデータを読み出し、それらのデータに対してバタフライ演算を行い、第２の記憶部のＮ個のデータを読み出したアドレスにＮ個の演算結果をそれぞれ記憶させ、第３の記憶部において、演算部により演算されたデータが高速のクロックで書き込まれて一時的に記憶され、この一時的に記憶されたデータが低速のクロックで読み出されるステップを含むことを特徴とする。
請求項６に記載の演算方法は、第１の記憶部において、演算されるべきデータが低速のクロックで書き込まれて一時的に記憶され、この一時的に記憶された演算されるべきデータが高速のクロックで読み出され、所定の順番で入力され記憶されたデータが、所定の順番に対するディジット逆順に出力され、第２の記憶部において、演算途中のデータが記憶され、演算部において、第１の記憶部または第２の記憶部から、所定の基数に対応するＮ個の演算されるデータを読み出し、それらのデータに対してバタフライ演算を行い、第２の記憶部のＮ個のデータを読み出したアドレスにＮ個の演算結果をそれぞれ記憶させ、第３の記憶部において、演算部により演算されたデータが高速のクロックで書き込まれて一時的に記憶され、この一時的に記憶されたデータが低速のクロックで読み出されるステップを含むことを特徴とする。
【００２５】
請求項７に記載の演算装置は、演算されるべきデータが低速のクロックで書き込まれて一時的に記憶され、この一時的に記憶された演算されるべきデータが高速のクロックで読み出される第１の記憶手段と、第１の記憶手段から出力されたデータまたは演算途中のデータが記憶される第２の記憶手段と、第２の記憶手段から、所定の基数に対応するＮ個の演算されるデータを読み出し、それらのデータに対してバタフライ演算を行い、第２の記憶手段のＮ個のデータを読み出したアドレスにＮ個の演算結果をそれぞれ記憶させる演算手段と、演算手段により演算されたデータが高速のクロックで書き込まれて一時的に記憶され、この一時的に記憶されたデータが低速のクロックで読み出される第３の記憶手段であって、第２の記憶手段から入力された演算結果がディジット逆順に記憶される第３の記憶手段を備えることを特徴とする。
請求項８に記載の演算装置は、演算されるべきデータが低速のクロックで書き込まれて一時的に記憶され、この一時的に記憶された演算されるべきデータが高速のクロックで読み出される第１の記憶手段と、演算途中のデータが記憶される第２の記憶手段と、第１の記憶手段または第２の記憶手段から、所定の基数に対応するＮ個の演算されるデータを読み出し、それらのデータに対してバタフライ演算を行い、第２の記憶手段のＮ個のデータを読み出したアドレスにＮ個の演算結果をそれぞれ記憶させる演算手段と、演算手段により演算されたデータが高速のクロックで書き込まれて一時的に記憶され、この一時的に記憶されたデータが低速のクロックで読み出される第３の記憶手段であって、演算手段から入力された演算結果がディジット逆順に記憶される第３の記憶手段を備えることを特徴とする。
【００２６】
請求項１１に記載の演算方法は、第１の記憶部において、演算されるべきデータが低速のクロックで書き込まれて一時的に記憶され、この一時的に記憶された演算されるべきデータが高速のクロックで読み出され、第２の記憶部において、第１の記憶部から出力されたデータまたは演算途中のデータが記憶され、演算部において、第２の記憶部から、所定の基数に対応するＮ個の演算されるデータを読み出し、それらのデータに対してバタフライ演算を行い、第２の記憶部のＮ個のデータを読み出したアドレスにＮ個の演算結果をそれぞれ記憶させ、第３の記憶部において、演算部により演算されたデータが高速のクロックで書き込まれて一時的に記憶され、この一時的に記憶されたデータが低速のクロックで読み出され、第２の記憶部から入力された演算結果がディジット逆順に記憶されるステップを含むことを特徴とする。
請求項１２に記載の演算方法は、第１の記憶部において、演算されるべきデータが低速のクロックで書き込まれて一時的に記憶され、この一時的に記憶された演算されるべきデータが高速のクロックで読み出され、第２の記憶部において、演算途中のデータが記憶され、演算部において、第１の記憶部または第２の記憶部から、所定の基数に対応するＮ個の演算されるデータを読み出し、それらのデータに対してバタフライ演算を行い、第２の記憶部のＮ個のデータを読み出したアドレスにＮ個の演算結果をそれぞれ記憶させ、第３の記憶部において、演算部により演算されたデータが高速のクロックで書き込まれて一時的に記憶され、この一時的に記憶されたデータが低速のクロックで読み出され、演算部から入力された演算結果がディジット逆順に記憶されるステップを含むことを特徴とする。
【００２７】
請求項１に記載の演算装置においては、演算されるべきデータが低速のクロックで書き込まれて一時的に記憶され、この一時的に記憶された演算されるべきデータが高速のクロックで読み出され、所定の順番で入力され記憶されたデータが、所定の順番に対するディジット逆順に出力され、第１の記憶手段からのディジット逆順に出力されたデータまたは演算途中のデータが記憶され、第２の記憶手段から、所定の基数に対応するＮ個の演算されるデータを読み出し、それらのデータに対してバタフライ演算を行い、第２の記憶手段のＮ個のデータを読み出したアドレスにＮ個の演算結果をそれぞれ記憶させ、演算手段により演算されたデータが高速のクロックで書き込まれて一時的に記憶され、この一時的に記憶されたデータが低速のクロックで読み出される。
請求項２に記載の演算装置においては、演算されるべきデータが低速のクロックで書き込まれて一時的に記憶され、この一時的に記憶された演算されるべきデータが高速のクロックで読み出され、所定の順番で入力され記憶されたデータが、所定の順番に対するディジット逆順に出力され、演算途中のデータが記憶され、第１の記憶手段または第２の記憶手段から、所定の基数に対応するＮ個の演算されるデータを読み出し、それらのデータに対してバタフライ演算を行い、第２の記憶手段のＮ個のデータを読み出したアドレスにＮ個の演算結果をそれぞれ記憶させ、演算手段により演算されたデータが高速のクロックで書き込まれて一時的に記憶され、この一時的に記憶されたデータが低速のクロックで読み出される。
【００２８】
請求項５に記載の演算方法においては、演算されるべきデータが低速のクロックで書き込まれて一時的に記憶され、この一時的に記憶された演算されるべきデータが高速のクロックで読み出され、所定の順番で入力され記憶されたデータが、所定の順番に対するディジット逆順に出力され、第１の記憶部からのディジット逆順に出力されたデータまたは演算途中のデータが記憶され、第２の記憶部から、所定の基数に対応するＮ個の演算されるデータを読み出し、それらのデータに対してバタフライ演算を行い、第２の記憶部のＮ個のデータを読み出したアドレスにＮ個の演算結果をそれぞれ記憶させ、演算部により演算されたデータが高速のクロックで書き込まれて一時的に記憶され、この一時的に記憶されたデータが低速のクロックで読み出される。
請求項６に記載の演算方法おいては、演算されるべきデータが低速のクロックで書き込まれて一時的に記憶され、この一時的に記憶された演算されるべきデータが高速のクロックで読み出され、所定の順番で入力され記憶されたデータが、所定の順番に対するディジット逆順に出力され、演算途中のデータが記憶され、第１の記憶部または第２の記憶部から、所定の基数に対応するＮ個の演算されるデータを読み出し、それらのデータに対してバタフライ演算を行い、第２の記憶部のＮ個のデータを読み出したアドレスにＮ個の演算結果をそれぞれ記憶させ、演算部により演算されたデータが高速のクロックで書き込まれて一時的に記憶され、この一時的に記憶されたデータが低速のクロックで読み出される。
【００２９】
請求項７に記載の演算装置においては、演算されるべきデータが低速のクロックで書き込まれて一時的に記憶され、この一時的に記憶された演算されるべきデータが高速のクロックで読み出され、第１の記憶手段から出力されたデータまたは演算途中のデータが記憶され、第２の記憶手段から、所定の基数に対応するＮ個の演算されるデータを読み出し、それらのデータに対してバタフライ演算を行い、第２の記憶手段のＮ個のデータを読み出したアドレスにＮ個の演算結果をそれぞれ記憶させ、演算手段により演算されたデータが高速のクロックで書き込まれて一時的に記憶され、この一時的に記憶されたデータが低速のクロックで読み出され、第２の記憶手段から入力された演算結果がディジット逆順に記憶される。
請求項８に記載の演算装置においては、演算されるべきデータが低速のクロックで書き込まれて一時的に記憶され、この一時的に記憶された演算されるべきデータが高速のクロックで読み出され、演算途中のデータが記憶され、第１の記憶手段または第２の記憶手段から、所定の基数に対応するＮ個の演算されるデータを読み出し、それらのデータに対してバタフライ演算を行い、第２の記憶手段のＮ個のデータを読み出したアドレスにＮ個の演算結果をそれぞれ記憶させ、演算手段により演算されたデータが高速のクロックで書き込まれて一時的に記憶され、この一時的に記憶されたデータが低速のクロックで読み出され、演算部から入力された演算結果がディジット逆順に記憶される。
【００３０】
請求項１１に記載の演算方法においては、演算されるべきデータが低速のクロックで書き込まれて一時的に記憶され、この一時的に記憶された演算されるべきデータが高速のクロックで読み出され、第１の記憶部から出力されたデータまたは演算途中のデータが記憶され、第２の記憶部から、所定の基数に対応するＮ個の演算されるデータを読み出し、それらのデータに対してバタフライ演算を行い、第２の記憶部のＮ個のデータを読み出したアドレスにＮ個の演算結果をそれぞれ記憶させ、演算部により演算されたデータが高速のクロックで書き込まれて一時的に記憶され、この一時的に記憶されたデータが低速のクロックで読み出され、第２の記憶部から入力された演算結果がディジット逆順に記憶される。
請求項１２に記載の演算方法においては、演算されるべきデータが低速のクロックで書き込まれて一時的に記憶され、この一時的に記憶された演算されるべきデータが高速のクロックで読み出され、演算途中のデータが記憶され、第１の記憶部または第２の記憶部から、所定の基数に対応するＮ個の演算されるデータを読み出し、それらのデータに対してバタフライ演算を行い、第２の記憶部のＮ個のデータを読み出したアドレスにＮ個の演算結果をそれぞれ記憶させ、演算部により演算されたデータが高速のクロックで書き込まれて一時的に記憶され、この一時的に記憶されたデータが低速のクロックで読み出され、演算部から入力された演算結果がディジット逆順に記憶される。
【００３１】
【発明の実施の形態】
図１は、本発明の演算装置の第１の実施例の構成を示している。本実施例は、例えば、図１８の受信装置におけるメモリ１００およびＦＦＴ回路９４の代わりに利用されるＦＦＴ演算装置である。
【００３２】
入力バッファ１（第１の記憶手段、第１の記憶部）は、所定の回路（例えば、図１８のＡ／Ｄ変換器９３）より、低速のクロック（例えば、図１８の受信装置のシステムクロック）で供給されたデータ（ディジット逆順に並べ換えられていないデータ）を一時的に記憶し、本実施例の装置における高速な内部クロックに同期して、そのデータをディジット逆順にセレクタ２に出力するようになされている。即ち、入力バッファ１は、外部装置（例えば、図１８の受信装置）の低速なシステムクロックと、本装置の高速な内部クロックとの間の速度の調節を行うようになされている。
【００３３】
セレクタ２は、入力バッファ１より供給されたデータをメモリ４（第２の記憶手段、第２の記憶部）に記憶させるようになされている。
【００３４】
また、セレクタ２は、バタフライ演算器３（演算手段）によりバタフライ演算された２つのデータ（演算結果）を、メモリ４における、演算前のデータが格納されていたアドレスにそれぞれ記憶させるようになされている。
【００３５】
バタフライ演算器３は、高速な内部クロックで動作し、内蔵するＲＯＭに記憶されている回転演算子データを適宜読み出し、そのデータを利用して、セレクタ５より供給された２つのデータに対してバタフライ演算を行い、２つの演算結果をセレクタ２に出力するようになされている。
【００３６】
メモリ４は、処理途中のデータを記憶するようになされている。
【００３７】
セレクタ５は、メモリ４より２つのデータを読み出し、それらのデータをバタフライ演算器３に供給するようになされている。
【００３８】
また、セレクタ５は、メモリ４よりデータを読み出し、そのデータを（並べ換えないで）、高速な内部クロックに同期して出力バッファ６（第３の記憶手段、第３の記憶部）に出力するようになされている。
【００３９】
出力バッファ６は、高速な内部クロックに同期してセレクタ５より供給されたデータを一時的に記憶し、所定の回路（例えば、図１８のデインタリーブ回路および誤り訂正回路９５）に、低速のクロックに同期して出力するようになされている。即ち、出力バッファ６は、本装置の高速な内部クロックと、外部装置（例えば、図１８の受信装置）の低速なシステムクロックとの間の速度の調節を行うようになされている。
【００４０】
次に、図２のフローチャートおよび図３を参照して、第１の実施例の動作について説明する。
【００４１】
最初に、ステップＳ１において、入力バッファ１は、低速のクロックで供給されたデータ（図３の最も左側に示すように、ディジット逆順に並べ換えられていないもの）を記憶し、そのデータを、ディジット逆順に、高速な内部クロックに同期してセレクタ２に出力する。
【００４２】
次に、ステップＳ２において、セレクタ２は、図４に示すように、入力バッファ１より供給されたディジット逆順のデータを、メモリ４に記憶させる。
【００４３】
そして、ステップＳ３においては、バタフライ演算器３は、メモリ４に記憶されているデータに対して、図３に示すように３段のバタフライ演算を、高速な内部クロックに同期して順次行っていく。
【００４４】
図５は、バタフライ演算におけるデータの流れの一例を示している。セレクタ５は、メモリ４からデータを２つずつ順次読み出し、それらのデータをバタフライ演算器３に出力する。
【００４５】
バタフライ演算器３は、それらのデータに対してバタフライ演算を行い、演算結果をセレクタ２に出力する。そして、セレクタ２は、セレクタ５により読み出されたデータが格納されていたメモリ４のアドレスに、演算結果を記憶させる。即ち、本実施例においては、インプレイス方式（データが格納されていたアドレスに、そのデータに対応する演算結果を上書きする方式）で、メモリ４に対してデータ（演算結果）の読み出しおよび書き込みが行われる。
【００４６】
このようなバタフライ演算を、図３に示すように、３段に渡って順次行っていく。第１段目のバタフライ演算においては、第０番目のデータｆ（０）と第１番目のデータｆ（４）、第２番目のデータｆ（２）と第３番目のデータｆ（６）、第４番目のデータｆ（１）と第５番目のデータｆ（５）、並びに、第６番目のデータｆ（３）と第７番目のデータｆ（７）に対して、バタフライ演算が行われる。
【００４７】
第２段目のバタフライ演算においては、第０番目のデータＲ１（０）と第２番目のデータＲ１（２）、第１番目のデータＲ１（１）と第３番目のデータＲ１（３）、第４番目のデータＲ１（４）と第６番目のデータＲ１（６）、並びに、第５番目のデータＲ１（５）と第７番目のデータＲ１（７）に対して、バタフライ演算が行われる。
【００４８】
第３段目のバタフライ演算においては、第０番目のデータＲ２（０）と第４番目のデータＲ２（４）、第１番目のデータＲ２（１）と第５番目のデータＲ２（５）、第２番目のデータＲ２（２）と第６番目のデータＲ２（６）、並びに、第３番目のデータＲ２（３）と第７番目のデータＲ２（７）に対して、バタフライ演算が行われる。
【００４９】
次に、ステップＳ４において、セレクタ５は、メモリ４より、第３段目のバタフライ演算の演算結果であるデータＦ（０）乃至Ｆ（７）を読み出し、そのデータを同じ順番で出力バッファ６に高速のクロックに同期して記憶させる。
【００５０】
そして、ステップＳ５において、出力バッファ６は、そのデータを所定の回路に低速のクロックに同期して出力する。
【００５１】
このようにして、速度緩衝用の入力バッファ１からメモリ４にデータを移動するときに、データをディジット逆順に並べ換え、そのデータに対してバタフライ演算を行うことによりＦＦＴの処理を行う。なお、上述の実施例のおいては、入力バッファ１からメモリ４にデータを移動させるときに、データをディジット逆順に並べ換えるようにしているが、メモリ４から出力バッファ６にデータを移動させるときに、データをディジット逆順に並べ換えるようにしてもよい。
【００５２】
なお、上述の動作は、時間間引き型のアルゴリズムに従った場合のものであり、次に、周波数間引き型のアルゴリズムに従った場合の動作について、図６を参照して説明する。
【００５３】
セレクタ２は、入力バッファ１からデータを読み出し、ディジット逆順にせずに、そのままの順番でメモリ４に記憶させる。
【００５４】
そして、３段のバタフライ演算のうちの第１段目のバタフライ演算においては、第０番目のデータｆ（０）と第４番目のデータｆ（４）、第１番目のデータｆ（１）と第５番目のデータｆ（５）、第２番目のデータｆ（２）と第６番目のデータｆ（６）、並びに、第３番目のデータｆ（３）と第７番目のデータｆ（７）に対して、バタフライ演算が行われる。
【００５５】
第２段目のバタフライ演算においては、第０番目のデータＲ１（０）と第２番目のデータＲ１（２）、第１番目のデータＲ１（１）と第３番目のデータＲ１（３）、第４番目のデータＲ１（４）と第６番目のデータＲ１（６）、並びに、第５番目のデータＲ１（５）と第７番目のデータＲ１（７）に対して、バタフライ演算が行われる。
【００５６】
第３段目のバタフライ演算においては、第０番目のデータＲ２（０）と第１番目のデータＲ２（１）、第２番目のデータＲ２（２）と第３番目のデータＲ２（３）、第４番目のデータＲ２（４）と第５番目のデータＲ２（５）、並びに、第６番目のデータＲ２（６）と第７番目のデータＲ２（７）に対して、バタフライ演算が行われる。
【００５７】
３段のバタフライ演算が終了した後、セレクタ５は、図７に示すように、メモリ４より、第３段目のバタフライ演算の演算結果であるデータＦ（０），Ｆ（４），Ｆ（２），Ｆ（６），Ｆ（１），Ｆ（５），Ｆ（３），Ｆ（７）を読み出し、そのデータをディジット逆順で（即ち、Ｆ（０），Ｆ（１），・・・，Ｆ（７）の順番で）出力バッファ６に記憶させる。
【００５８】
以上のように、３段のバタフライ演算の終了した後、メモリ４から出力バッファ６にデータを移動させるとき、データをディジット逆順に並べ換える。なお、上述の実施例のおいては、メモリ４から出力バッファ６にデータを移動させるとき、データをディジット逆順に並べ換えるようにしているが、入力バッファ１からメモリ４にデータを移動させるときに、データをディジット逆順に並べ換えるようにしてもよい。
【００５９】
図８は、本発明の演算装置の第２の実施例の構成を示している。本実施例は、第１の実施例と同様に、例えば、図１８の受信装置におけるメモリ１００およびＦＦＴ回路９４の代わりに利用されるＦＦＴ演算装置である。
【００６０】
入力バッファ２１（第１の記憶手段、第１の記憶部）は、所定の回路（例えば、図１８のＡ／Ｄ変換器９３）より、低速のクロック（例えば、図１８の受信装置のシステムクロック）で供給されたデータ（ディジット逆順に並べ換えられていないデータ）を一時的に記憶し、本実施例の装置における高速な内部クロックに同期して、そのデータをセレクタ２２に出力するようになされている。即ち、入力バッファ２１は、外部装置（例えば、図１８の受信装置）の低速なシステムクロックと、本装置の高速な内部クロックとの間の速度の調節を行うようになされている。
【００６１】
セレクタ２２は、バタフライ演算を行うデータとして、そのデータの順番に対応するディジット逆順における順番のデータを入力バッファ２１から読み出し、バタフライ演算器２４（演算手段）に出力するようになされている。
【００６２】
また、セレクタ２２は、メモリ２３（第２の記憶手段）より２つのデータを読み出し、それらのデータをバタフライ演算器２４に供給するようになされている。
【００６３】
メモリ２３は、処理途中のデータを記憶するようになされている。
【００６４】
バタフライ演算器２４は、高速な内部クロックで動作し、内蔵するＲＯＭに記憶されている回転演算子データを適宜読み出し、そのデータを利用して、供給された２つのデータに対してバタフライ演算を行うようになされている。
【００６５】
セレクタ２５は、バタフライ演算器２４により演算された２つのデータ（演算結果）を、演算前の２つのデータが格納されていたメモリ２３のアドレスにそれぞれ記憶させるようになされている。
【００６６】
また、セレクタ２５は、バタフライ演算器２４により演算されたデータを（並べ換えないで）、高速な内部クロックに同期して出力バッファ２６（第３の記憶手段、第２の記憶部）に出力するようになされている。
【００６７】
出力バッファ２６は、セレクタ２５より高速な内部クロックに同期して供給されたデータを一時的に記憶し、所定の回路（例えば、図１８のデインタリーブ回路および誤り訂正回路９５）に、低速のクロックに同期して出力するようになされている。即ち、出力バッファ２６は、本装置の高速な内部クロックと、外部装置（例えば、図１８の受信装置）の低速なシステムクロックとの間の速度の調節を行うようになされている。
【００６８】
次に、図９のフローチャートおよび図１０を参照して、第２の実施例の動作について説明する。
【００６９】
最初に、ステップＳ２１において、入力バッファ２１は、図１０の最も左側に示すように、低速のクロックで供給されたデータ（ディジット逆順に並べ換えられていないもの）を記憶し、バタフライ演算を行う２つのデータとして、そのデータの順番に対応するディジット逆順における順番のデータを、高速な内部クロックに同期してセレクタ２２に出力する。例えば、第０番目のデータと第１番目のデータに対してバタフライ演算を行う場合、入力バッファ２１は、第０番目のデータｆ（０）と第４番目のデータｆ（４）を出力する。
【００７０】
次に、ステップＳ２２においては、供給されたデータに対して第１段目のバタフライ演算が行われる。セレクタ２２は、図１０および図１１に示すように、入力バッファ２１より供給されたデータを、バタフライ演算器２４に出力する。そして、バタフライ演算器２４により処理されたデータ（演算結果）は、セレクタ２５を介してメモリ２３に記憶される。
【００７１】
即ち、図１０に示すように、入力バッファ２１の第０番目のデータｆ（０）と第４番目のデータｆ（４）が読み出され、バタフライ演算が行われ、演算結果がメモリ２３の第０番目のデータＲ１（０）と第１番目のデータＲ１（１）として記憶される。
【００７２】
なお、これらの動作は、高速な内部クロックに同期して行われる。
【００７３】
次に、図１０および図１１に示すように、入力バッファ２１の第２番目のデータｆ（２）と第６番目のデータｆ（６）が読み出され、バタフライ演算が行われ、演算結果がメモリ２３の第２番目のデータＲ１（２）と第３番目のデータＲ１（３）として記憶される。
【００７４】
そして、入力バッファ２１の第１番目のデータｆ（１）と第５番目のデータｆ（５）が読み出され、バタフライ演算が行われ、演算結果がメモリ２３の第４番目のデータＲ１（４）と第５番目のデータＲ１（５）として記憶される。
【００７５】
最後に、入力バッファ２１の第３番目のデータｆ（３）と第７番目のデータｆ（７）が読み出され、バタフライ演算が行われ、演算結果がメモリ２３の第６番目のデータＲ１（６）と第７番目のデータＲ１（７）として記憶される。
【００７６】
次に、ステップＳ２３においては、第２段目のバタフライ演算が行われる。セレクタ２２は、メモリ２３の２つのデータを読み出し、それらのデータをバタフライ演算器２４に供給する。そして、バタフライ演算器２４は、それらのデータに対してバタフライ演算を行い、演算結果をセレクタ２５に出力する。セレクタ２５は、演算結果を、演算前のデータが記憶されていたメモリ２３のアドレスに記憶させる。
【００７７】
第２段目のバタフライ演算においては、第０番目のデータＲ１（０）と第２番目のデータＲ１（２）、第１番目のデータＲ１（１）と第３番目のデータＲ１（３）、第４番目のデータＲ１（４）と第６番目のデータＲ１（６）、並びに、第５番目のデータＲ１（５）と第７番目のデータＲ１（７）に対して、バタフライ演算が行われる。
【００７８】
そして、ステップＳ２４においては、第３段目のバタフライ演算が行われる。セレクタ２２は、メモリ２３の２つのデータを読み出し、それらのデータをバタフライ演算器２４に供給する。そして、バタフライ演算器２４は、それらのデータに対してバタフライ演算を行い、演算結果をセレクタ２５に出力する。セレクタ２５は、演算結果を、演算前のデータと同じ順番で、出力バッファ２６に記憶させる。
【００７９】
第３段目のバタフライ演算においては、第０番目のデータＲ２（０）と第４番目のデータＲ２（４）に対してバタフライ演算を行い、演算結果Ｆ（０），Ｆ（４）を出力バッファ２６に記憶させ、第１番目のデータＲ２（１）と第５番目のデータＲ２（５）に対してバタフライ演算を行い、演算結果Ｆ（１），Ｆ（５）を出力バッファ２６に記憶させる。さらに、第２番目のデータＲ２（２）と第６番目のデータＲ２（６）に対してバタフライ演算を行い、演算結果Ｆ（２），Ｆ（６）を出力バッファ２６に記憶させ、第３番目のデータＲ２（３）と第７番目のデータＲ２（７）に対してバタフライ演算を行い、演算結果Ｆ（３），Ｆ（７）を出力バッファ２６に記憶させる。
【００８０】
そして、ステップＳ２５において、出力バッファ２６は、そのデータを所定の回路に低速のクロックに同期して出力する。
【００８１】
このようにして、入力バッファ２１が、バタフライ演算を行うデータとして、そのデータの順番に対応するディジット逆順における順番のデータを、セレクタ２２を介してバタフライ演算器２４に出力し、そのデータに対してＦＦＴの処理を行う。なお、上述の実施例のおいては、入力バッファ２１がディジット逆順における順番のデータをバタフライ演算器２４に出力するようにしているが、その代わりに、バタフライ演算器２４が、出力バッファ２６にデータを出力するときに、データをディジット逆順に並べ換えるようにしてもよい。
【００８２】
なお、上述の動作は、時間間引き型のアルゴリズムに従った場合のものであり、次に、周波数間引き型のアルゴリズムに従った場合の動作について、図１２を参照して説明する。
【００８３】
セレクタ２２は、入力バッファ２１から、第１段目のバタフライ演算を行う２つのデータを（ディジット逆順ではなく、そのままの順番で）読み出し、バタフライ演算器２４に出力する。
【００８４】
周波数間引き型のアルゴリズムにおける、第１段目のバタフライ演算においては、第０番目のデータｆ（０）と第４番目のデータｆ（４）、第１番目のデータｆ（１）と第５番目のデータｆ（５）、第２番目のデータｆ（２）と第６番目のデータｆ（６）、並びに、第３番目のデータｆ（３）と第７番目のデータｆ（７）に対して、バタフライ演算が行われる。
【００８５】
第２段目のバタフライ演算においては、第０番目のデータＲ１（０）と第２番目のデータＲ１（２）、第１番目のデータＲ１（１）と第３番目のデータＲ１（３）、第４番目のデータＲ１（４）と第６番目のデータＲ１（６）、並びに、第５番目のデータＲ１（５）と第７番目のデータＲ１（７）に対して、バタフライ演算が行われる。
【００８６】
第３段目のバタフライ演算においては、図１３に示すように、第０番目のデータＲ２（０）と第１番目のデータＲ２（１）に対してバタフライ演算を行い、演算結果を、ディジット逆順にして出力バッファ２６に第０番目のデータＦ（０）と第４番目のデータＦ（４）として記憶させ、第２番目のデータＲ２（２）と第３番目のデータＲ２（３）に対してバタフライ演算を行い、演算結果を、ディジット逆順にして出力バッファ２６に第２番目のデータＦ（２）と第６番目のデータＦ（６）として出力バッファ２６に記憶させる。
【００８７】
さらに、第４番目のデータＲ２（４）と第５番目のデータＲ２（５）に対してバタフライ演算を行い、演算結果を、ディジット逆順にして出力バッファ２６に第１番目のデータＦ（１）と第５番目のデータＦ（５）として出力バッファ２６に記憶させ、第６番目のデータＲ２（６）と第７番目のデータＲ２（７）に対してバタフライ演算を行い、演算結果を、ディジット逆順にして出力バッファ２６に第３番目のデータＦ（３）と第７番目のデータＦ（７）として出力バッファ２６に記憶させる。
【００８８】
このように、第３段目のバタフライ演算が終了し、出力バッファ２６に演算結果を記憶させるとき、データをディジット逆順に並べ換える。なお、上述の実施例のおいては、出力バッファ２６に演算結果を記憶させるとき、データをディジット逆順に並べ換えるようにしているが、その代わりに、入力バッファ２１がディジット逆順における順番のデータをバタフライ演算器２４に出力するようにしてもよい。
【００８９】
以上のように、第２の実施例においては、入力バッファ２１からバタフライ演算器２４にデータが供給されるとき、または、第３段目のバタフライ演算が終了し、バタフライ演算器２４から出力バッファ２６に演算結果が出力されるときに、データがディジット逆順に変換されるので、ＦＦＴの処理を、より速く行うことができる。
【００９０】
次に、本発明の第３の実施例について説明する。第３の実施例の構成は、第２の実施例の構成と同一であるので、その説明を省略する。
【００９１】
次に、図１４を参照して、第３の実施例の動作について説明する。
【００９２】
入力バッファ２１は、全データの半分より多くのデータ（今の場合、ｆ（０）乃至ｆ（４））が供給されると、バタフライ演算を行う２つのデータの出力を開始する（今の場合、最初に、ｆ（０）とｆ（４）が出力される）。
【００９３】
セレクタ２２は、入力バッファ２１より供給された２つのデータをバタフライ演算器２４に出力する。
【００９４】
そして、バタフライ演算器２４は、供給されたデータに対して第１段目のバタフライ演算を行う。入力バッファ２１は、図１５に示すように、バタフライ演算を行う２つのデータとして、そのデータの順番に対応するディジット逆順における順番のデータを、セレクタ２２を介してバタフライ演算器２４に出力する。このとき、入力バッファ２１は、バタフライ演算を行う２つのデータとして、より小さい順番のデータを含む２つのデータから順次出力していく。即ち、本実施例においては、入力バッファ２１は、ｆ（０）とｆ（４），ｆ（１）とｆ（５），ｆ（２）とｆ（６），ｆ（３）とｆ（７）の順番で、データｆ（０）乃至ｆ（７）を出力する。
【００９５】
そして、バタフライ演算器２４により処理されたデータは、セレクタ２５を介してメモリ２３に記憶される。
【００９６】
最初に、入力バッファ２１の第０番目のデータｆ（０）と第４番目のデータｆ（４）が読み出され、バタフライ演算が行われ、演算結果がメモリ２３の第０番目のデータＲ１（０）と第１番目のデータＲ１（１）として記憶される。
【００９７】
次に、第３の実施例においては、図１４に示すように、入力バッファ２１の第１番目のデータｆ（１）と第５番目のデータｆ（５）が読み出され、バタフライ演算が行われ、演算結果がメモリ２３の第４番目のデータＲ１（４）と第５番目のデータＲ１（５）として記憶される。
【００９８】
そして、入力バッファ２１の第２番目のデータｆ（２）と第６番目のデータｆ（６）が読み出され、バタフライ演算が行われ、演算結果がメモリ２３の第２番目のデータＲ１（２）と第３番目のデータＲ１（３）として記憶される。
【００９９】
最後に、入力バッファ２１の第３番目のデータｆ（３）と第７番目のデータｆ（７）が読み出され、バタフライ演算が行われ、演算結果がメモリ２３の第６番目のデータＲ１（６）と第７番目のデータＲ１（７）として記憶される。
【０１００】
第２段目のバタフライ演算、第３段目のバタフライ演算、および、出力バッファ２６へのデータの出力は、第２の実施例と同様であるので、その説明を省略する。
【０１０１】
このようにすることにより、入力バッファ２１に全データの半分より多くのデータが供給されたとき処理を開始し、処理を順次進めることができるので、データの入力時の待ち時間（システムディレイ）を減少させることができ、ＦＦＴの処理を高速に行うことができる。なお、第２の実施例と同様に、入力バッファ２１がディジット逆順における順番のデータをバタフライ演算器２４に出力する代わりに、バタフライ演算器２４が、出力バッファ２６にデータを出力するときに、データをディジット逆順に並べ換えるようにしてもよい。
【０１０２】
なお、上述の動作は、時間間引き型のアルゴリズムに従った場合のものであり、次に、周波数間引き型のアルゴリズムに従った場合の動作について、図１６を参照して説明する。
【０１０３】
入力バッファ２１からバタフライ演算器２４へのデータの入力、第１段目のバタフライ演算、および、第２段目のバタフライ演算は、第２の実施例と同様であるので、その説明を省略する。
【０１０４】
そして、第３段目のバタフライ演算においては、図１７に示すように、最初に、第０番目のデータＲ２（０）と第１番目のデータＲ２（１）に対してバタフライ演算を行い、演算結果を、ディジット逆順にして出力バッファ２６に第０番目のデータＦ（０）と第４番目のデータＦ（４）として記憶させ、次に、第４番目のデータＲ２（４）と第５番目のデータＲ２（５）に対してバタフライ演算を行い、演算結果を、ディジット逆順にして出力バッファ２６に第１番目のデータＦ（１）と第５番目のデータＦ（５）として出力バッファ２６に記憶させる。
【０１０５】
そして、第２番目のデータＲ２（２）と第３番目のデータＲ２（３）に対してバタフライ演算を行い、演算結果を、ディジット逆順にして出力バッファ２６に第２番目のデータＦ（２）と第６番目のデータＦ（６）として出力バッファ２６に記憶させ、最後に、第３番目のデータＲ２（３）と第７番目のデータＲ２（７）に対してバタフライ演算を行い、演算結果を、ディジット逆順にして出力バッファ２６に第３番目のデータＦ（３）と第７番目のデータＦ（７）として出力バッファ２６に記憶させる。
【０１０６】
このように、第３段目のバタフライ演算が終了し、出力バッファ２６に演算結果を記憶させるとき、データをディジット逆順に並べ換える。
【０１０７】
以上のようにすることにより、演算結果Ｆ（０）乃至Ｆ（３）が、出力バッファ２６に順次記憶され、同時に、演算結果Ｆ（４）乃至Ｆ（７）が、出力バッファ２６に順次記憶されるので、第０番目の演算結果Ｆ（０）が記憶されたとき、出力バッファ２６からのデータの出力を開始し、データの出力を順次行うことができ、データ（演算結果）の出力時における待ち時間を減少させることができ、ＦＦＴの処理を速く行うことができる。なお、第２の実施例と同様に、バタフライ演算器２４が、出力バッファ２６にデータを出力するときにデータをディジット逆順に並べ換える代わりに、入力バッファ２１がディジット逆順における順番のデータをバタフライ演算器２４に出力するようにしてもよい。
【０１０８】
なお、上記実施例においては、８個のデータ（ｆ（０）乃至ｆ（７））に対してＦＦＴを行っているが、勿論、他の数のデータに対してＦＦＴを行うようにすることもできる。
【０１０９】
また、上記実施例においては、基数Ｎ（即ち、バタフライ演算器３，２４が１回の演算で処理するデータの数）を２（Ｎ＝２）としているが、基数Ｎを２に限定するものではない。
【０１１０】
【発明の効果】
以上のごとく、請求項１に記載の演算装置および請求項５に記載の演算方法によれば、演算されるべきデータが低速のクロックで書き込まれて一時的に記憶され、この一時的に記憶された演算されるべきデータが高速のクロックで読み出され、所定の順番で入力され記憶されたデータが、所定の順番に対するディジット逆順に出力され、第１の記憶部からのディジット逆順に出力されたデータまたは演算途中のデータが記憶され、第２の記憶部から、所定の基数に対応するＮ個の演算されるデータを読み出し、それらのデータに対してバタフライ演算を行い、第２の記憶部のＮ個のデータを読み出したアドレスにＮ個の演算結果をそれぞれ記憶させ、演算部により演算されたデータが高速のクロックで書き込まれて一時的に記憶され、この一時的に記憶されたデータが低速のクロックで読み出されるようにしたので、データを入力する前に、そのデータをディジット逆順に並べ換える必要がなく、ディジット逆順に並べ換えるためのメモリなどが不要となり、装置のコストを低減することができる。
請求項２に記載の演算装置および請求項６に記載の演算方法によれば、演算されるべきデータが低速のクロックで書き込まれて一時的に記憶され、この一時的に記憶された演算されるべきデータが高速のクロックで読み出され、所定の順番で入力され記憶されたデータが、所定の順番に対するディジット逆順に出力され、演算途中のデータが記憶され、第１の記憶部または第２の記憶部から、所定の基数に対応するＮ個の演算されるデータを読み出し、それらのデータに対してバタフライ演算を行い、第２の記憶部のＮ個のデータを読み出したアドレスにＮ個の演算結果をそれぞれ記憶させ、演算部により演算されたデータが高速のクロックで書き込まれて一時的に記憶され、この一時的に記憶されたデータが低速のクロックで読み出されるようにしたので、データを入力する前に、そのデータをディジット逆順に並べ換える必要がなく、ディジット逆順に並べ換えるためのメモリなどが不要となり、装置のコストを低減することができる。
【０１１１】
請求項７に記載の演算装置および請求項１１に記載の演算方法によれば、演算されるべきデータが低速のクロックで書き込まれて一時的に記憶され、この一時的に記憶された演算されるべきデータが高速のクロックで読み出され、第１の記憶部から出力されたデータまたは演算途中のデータが記憶され、第２の記憶部から、所定の基数に対応するＮ個の演算されるデータを読み出し、それらのデータに対してバタフライ演算を行い、第２の記憶部のＮ個のデータを読み出したアドレスにＮ個の演算結果をそれぞれ記憶させ、演算部により演算されたデータが高速のクロックで書き込まれて一時的に記憶され、この一時的に記憶されたデータが低速のクロックで読み出され、第２の記憶部から入力された演算結果がディジット逆順に記憶されるようにしたので、データを出力した後に、そのデータをディジット逆順に並べ換えるためのメモリなどが不要となり、装置のコストを低減することができる。
請求項８に記載の演算装置および請求項１２に記載の演算方法によれば、演算されるべきデータが低速のクロックで書き込まれて一時的に記憶され、この一時的に記憶された演算されるべきデータが高速のクロックで読み出され、演算途中のデータが記憶され、第１の記憶部または第２の記憶部から、所定の基数に対応するＮ個の演算されるデータを読み出し、それらのデータに対してバタフライ演算を行い、第２の記憶部のＮ個のデータを読み出したアドレスにＮ個の演算結果をそれぞれ記憶させ、演算部により演算されたデータが高速のクロックで書き込まれて一時的に記憶され、この一時的に記憶されたデータが低速のクロックで読み出され、演算部から入力された演算結果がディジット逆順に記憶されるようにしたので、データを出力した後に、そのデータをディジット逆順に並べ換えるためのメモリなどが不要となり、装置のコストを低減することができる。
【図面の簡単な説明】
【図１】本発明の演算装置の第１の実施例の構成を示すブロック図である。
【図２】図１に示す第１の実施例の動作を説明するフローチャートである。
【図３】時間間引き型のアルゴリズムを利用した場合の、第１の実施例におけるシグナルフローを説明する図である。
【図４】図１のセレクタ２の動作を説明する図である。
【図５】バタフライ演算におけるデータの流れの一例を示す図である。
【図６】周波数間引き型のアルゴリズムを利用した場合の、第１の実施例におけるシグナルフローを説明する図である。
【図７】図１のセレクタ５の動作を説明する図である。
【図８】本発明の演算装置の第２の実施例の構成を示すブロック図である。
【図９】図８に示す第２の実施例の動作を説明するフローチャートである。
【図１０】時間間引き型のアルゴリズムを利用した場合の、第２の実施例におけるシグナルフローを説明する図である。
【図１１】時間間引き型のアルゴリズムを利用した場合の、図８のセレクタ２２およびセレクタ２５の動作を説明する図である。
【図１２】周波数間引き型のアルゴリズムを利用した場合の、第２の実施例におけるシグナルフローを説明する図である。
【図１３】周波数間引き型のアルゴリズムを利用した場合の、図８のセレクタ２２およびセレクタ２５の動作を説明する図である。
【図１４】時間間引き型のアルゴリズムを利用した場合の、第３の実施例におけるシグナルフローを説明する図である。
【図１５】時間間引き型のアルゴリズムを利用した場合の、セレクタ２２およびセレクタ２５の動作を説明する図である。
【図１６】周波数間引き型のアルゴリズムを利用した場合の、第３の実施例におけるシグナルフローを説明する図である。
【図１７】周波数間引き型のアルゴリズムを利用した場合の、セレクタ２２およびセレクタ２５の動作を説明する図である。
【図１８】ＤＡＢの受信装置の一構成例を示すブロック図である。
【図１９】従来の演算装置である図１８のＦＦＴ回路９４の一構成例を示すブロック図である。
【図２０】図１９のＦＦＴ回路９４におけるシグナルフローを説明する図である。
【符号の説明】
１  入力バッファ，  ２  セレクタ，  ３  バタフライ演算器，  ４  メモリ，  ５  セレクタ，  ６  出力バッファ，  ２１  入力バッファ，  ２２  セレクタ，  ２３  メモリ，  ２４  バタフライ演算器，  ２５  セレクタ，  ２６出力バッファ，  ９１  アンテナ，  ９２  チューナ，  ９３  Ａ／Ｄ変換器，  ９４  ＦＦＴ回路，  ９５  デインタリーブ回路および誤り訂正回路  ９６復号化回路，  ９７，９８  スピーカ，  ９９  付加データ出力回路，  １００  メモリ，  １０２  入力バッファ，  １０３  セレクタ，  １０４  メモリ，  １０５  セレクタ，  １０６  バタフライ演算器，  １０７  出力バッファ
【図１】
0003821316.tif 000002
【図２】
0003821316.tif 000003
【図３】
0003821316.tif 000004
【図４】
0003821316.tif 000005
【図５】
0003821316.tif 000006
【図６】
0003821316.tif 000007
【図７】
0003821316.tif 000008
【図８】
0003821316.tif 000009
【図９】
0003821316.tif 000010
【図１０】
0003821316.tif 000011
【図１１】
0003821316.tif 000012
【図１２】
0003821316.tif 000013
【図１３】
0003821316.tif 000014
【図１４】
0003821316.tif 000015
【図１５】
0003821316.tif 000016
【図１６】
0003821316.tif 000017
【図１７】
0003821316.tif 000018
【図１８】
0003821316.tif 000019
【図１９】
0003821316.tif 000020
【図２０】
0003821316.tif 000021