JP2001331473A - メモリアドレス変換方法及び高速フーリエ変換装置 - Google Patents

メモリアドレス変換方法及び高速フーリエ変換装置

Info

Publication number
JP2001331473A
JP2001331473A JP2000151554A JP2000151554A JP2001331473A JP 2001331473 A JP2001331473 A JP 2001331473A JP 2000151554 A JP2000151554 A JP 2000151554A JP 2000151554 A JP2000151554 A JP 2000151554A JP 2001331473 A JP2001331473 A JP 2001331473A
Authority
JP
Japan
Prior art keywords
address
data
memory
memory device
output
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.)
Pending
Application number
JP2000151554A
Other languages
English (en)
Inventor
Yoshihiko Fukuhara
佳彦 福原
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.)
NTT Electronics Corp
Original Assignee
NTT Electronics Corp
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 NTT Electronics Corp filed Critical NTT Electronics Corp
Priority to JP2000151554A priority Critical patent/JP2001331473A/ja
Publication of JP2001331473A publication Critical patent/JP2001331473A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Complex Calculations (AREA)

Abstract

(57)【要約】 【課題】本発明の課題は、メモリ装置の小型化と同時に
高速化が可能となり、演算所要期間の短縮が可能となる
メモリアドレス変換方法及び高速フーリエ変換装置を提
供することにある。 【解決手段】本発明は、バタフライ演算装置13とメモ
リ装置43,44で構成される高速フーリエ変換装置に
おけるメモリアドレス変換方法であって、前記メモリ装
置43,44を高速フーリエ変換における基数の値に装
置分割し、該メモリ装置43,44へ供給するアドレス
ビット列を2を底とする基数の指数の値のビット数で分
割し、前記分割されたアドレスビットで表示できる数値
の総和の下位から前記指数の値のビット数で表現される
ビット列を前記メモリ装置43,44の装置選択アドレ
スとして読出しおよび書込みデータを選択することを特
徴とする。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は高速フーリエ変換を
数値演算するものであり、具体的には、数値演算に使用
するメモリ装置の入出力データ転送量を増大させ、また
はメモリ装置を小形化するメモリアドレス変換方法及び
高速フーリエ変換装置に関するものである。
【0002】
【従来の技術】高速フーリエ変換は時系列データを周波
数系列データへ変換する離散フーリエ変換またはその逆
変換である逆離散フーリエ変換を高速に演算する方法で
あり、ディジタル信号処理の分野で使用されている。
【0003】図7は16個の時系列データを基数2で離
散フーリエ変換する公知の動作フローの例であり、左端
のf(0)からf(15)が時系列入力データ、右端の
F(0)からF(15)が出力周波数系列データであ
り、4段のバタフライ演算で動作する。図7の第1段で
は8個離れた入力データ間のバタフライ演算を8回、第
2段では4個離れた入力データ間のバタフライ演算を8
回、第3段では2個離れた入力データ間バタフライ演算
を8回、第4段では1個離れた入力データ間バタフライ
演算を8回実行すると出力F(0)からF(15)が得
られる。図中に示すW0からW7は各バタフライ演算で
必要なツイドル係数を表す。バタフライ演算ユニットの
構成は文献1(OppenheimとSchaferの
共著「Discrete−time signal p
rocessing」)などに記載されているため説明
を省略するが、2個の入力データh0とh1を入力し、
積和演算により2個の出力データH0とH1を出力す
る。
【0004】図8は図7の動作フローを実現する装置の
従来の構成例であり、11はメモリ装置、12はデマル
チプレクサ、13はバタフライ演算装置、14はマルチ
プレクサであり、メモリ装置11のアドレスA0からA
3にはアドレス信号AD0からAD3が各々接続され、
メモリ装置11の読出し出力DOはデマルチプレクサ1
2に接続され、デマルチプレクサ12の2個の出力はバ
タフライ演算装置13の2個の入力h0とh1に接続さ
れ、バタフライ演算装置13の2個の出力H0とH1は
マルチプレクサ14の入力に接続され、マルチプレクサ
14の出力はメモリ装置11の書込み入力DIに接続さ
れている。メモリ装置11は16ワードの記憶容量を持
ち、まず図7に示した16個の入力データf(0)から
f(15)をアドレス0000から1111に入力デー
タ番号に対応して書込む。ただし、図8の構成例では書
込みの構成は省略してある。バタフライ演算装置13は
2個の入力データが必要なため、メモリ装置11を2サ
イクル動作させて2個のデータを読出し、デマルチプレ
クサ12で2個1組の並列データへ変換してバタフライ
演算装置13へ入力し、バタフライ演算装置13の2個
の出力データをマルチプレクサ14で2個の直列(時系
列)データに変換し、メモリ装置11を2サイクル動作
させて2個のデータを書込む。すなわち、バタフライ演
算装置13の1動作に対してメモリ装置11は4サイク
ルを必要とする。
【0005】図9は図8のアドレス信号AD0からAD
3のアドレスデータを示し、第1段では8アドレス離れ
た2個のデータを読出し、バタフライ演算装置13で演
算したデータを同一アドレスに書込む動作を8回、第2
段では4アドレス離れた2個のデータの前記処理を8
回、第3段では2アドレス離れた2個のデータの前記処
理を8回、第4段では1アドレス離れた2個のデータの
前記処理を8回順次実行すれば図7の動作フローを実現
できる。なお、図9のアドレスデータは左からA3、A
2、A1、A0の順番に配列してあり、アドレス番号は
4ビットの2進数で表すものとする。図9において、第
1段では左端のアドレスA3のみが異なる(残りのアド
レスA2〜A0は同一)アドレスに対応したデータの処
理であり、以下第n段ではアドレスA(4−n)のみが
異なるアドレスに対応したデータの処理である。上記の
異なるアドレスが全てのアドレスを順次移動するため、
メモリ装置11を2個に分割し、演算したい2個のデー
タを同時に読出しまたは書込みが可能となる構成は実現
出来ない。
【0006】図10はバタフライ演算装置13の1動作
に対してメモリ装置11は4サイクルを必要とする問題
を改良する従来の例であり、21はメモリ装置、13は
図8と同一のバタフライ演算装置である。メモリ装置2
1は公知の2ポートメモリであり、2組のアドレスAA
0からAA3とBA0からBA3、2組の読出しデータ
出力ADOとBDO、2組の書込みデータ入力ADIと
BDIを有し、読出しデータ出力ADOとBDOは各々
バタフライ演算装置13の入力h0とh1に接続され、
書込みデータ入力ADIとBDIは各々バタフライ演算
装置13の出力H0とH1に接続され、アドレスAA0
からAA3にアドレス信号AAD0からAAD3が、ア
ドレスBA0からBA3にアドレス信号BAD0からB
AD3が接続される。2ポートメモリは2個のアドレス
により同時に2個の読出しまたは書込みができるため、
図9に示した2個1組のアドレスを各々アドレス信号A
AD0からAAD3とアドレス信号BAD0からBAD
3とすれば、メモリ装置21の1回の読出しサイクルで
2個のデータをバタフライ演算装置13の入力に供給で
き、バタフライ演算装置13の2個の出力を1回の書込
みサイクルでメモリ装置21へ記憶できるため、図8の
構成と比べてメモリ装置の動作サイクル数を1/2へ低
減でき、半導体集積回路で高速フーリエ変換装置を実現
する方法として良く用いられている。しかし、半導体集
積回路で実現できる2ポートメモリ装置は図8で使用し
た1ポートメモリ装置と比べて約2倍の面積を必要と
し、かつ動作速度も低速となる欠点を有する。
【0007】図11は16個の時系列データを基数4で
離散フーリエ変換する公知の動作フローであり、左端の
f(0)からf(15)が時系列入力データ、右端のF
(0)からF(15)が出力周波数系列データであり、
2段のバタフライ演算で動作する。バタフライ演算ユニ
ットは4個の入力データを積和演算して4個のデータ出
力する。バタフライ演算ユニットの構成は前記した文献
1などに記載されているため説明を省略する。図11に
おいて、第1段にはバタフライ演算は1個しか記載され
ていないが、4個ずつ離れた4個のデータを入力しバタ
フライ演算結果を同一データ位置に出力し、上記動作を
入力データを1個ずつずらして4回のバタフライ演算を
行い、第2段では、隣接する4個の第1段出力データを
入力とするバタフライ演算を入力データを4個ずつずら
して4回のバタフライ演算を行い出力周波数系列データ
F(0)からF(15)を得る。基数4の場合には、基
数2の場合と比べてバタフライ演算の回数が各段で1/
2となり、段数が1/2となるため全体の演算所要期間
を1/4に低減できる利点がある。
【0008】図12は図11に示した動作フローを実現
する従来の構成例であり、11は図8と同一のメモリ装
置、32はデマルチプレクサ、33はバタフライ演算装
置、34はマルチプレクサであり、メモリ装置11の読
出し出力DOはデマルチプレクサ32に接続され、デマ
ルチプレクサ32の4個の出力はバタフライ演算装置3
3の4個の入力h0からh3に接続され、バタフライ演
算装置33の4個の出力H0からH4はマルチプレクサ
34の入力に接続され、マルチプレクサ34の出力はメ
モリ装置11の書込み入力DIに接続されている。バタ
フライ演算装置33は4個の入力を必要とするため、デ
マルチプレクサ32はメモリ装置11の4回の読出しサ
イクルによる直列(時系列)データを4個の並列データ
に変換してバタフライ演算装置33に入力し、マルチプ
レクサ34はバタフライ演算装置33の4個の出力を直
列(時系列)データに変換してメモリ装置11の4回の
書込みサイクルによりメモリ装置11へ記憶する。以上
より、図12の動作は図8の動作と比べて読出しサイク
ル、書込みサイクル共2倍を必要とする。図13は図1
2のアドレス信号AD0からAD3のアドレスデータを
示し、第1段では4アドレスずつ離れた4個のデータを
読出しおよび書込む動作を4回、第2段では1アドレス
ずつ離れた4個のデータの読出しおよび書込む動作を4
回実行することを表す。図13において、第1段では左
端から2ビットのアドレスA3とA2のみが異なる(残
りのアドレスA1とA0は同一)アドレスに対応したデ
ータの処理であり、以下第2段ではアドレスA1とA0
のみが異なるアドレスに対応したデータの演算を行う。
図12の構成では、基数4としたことにより図8の構成
と比べてバタフライ演算の回数が1/4に低減したにも
関わらずメモリ装置11の動作サイクルが2倍となるた
め演算所要期間の短縮効果を阻害する欠陥がある。この
欠点を改善するため図10と同様に同時に独立した4ア
ドレスの読出しおよび書込みが可能な4ポートメモリが
あればメモリ装置の動作サイクル回数を低減できるが、
現在の半導体集積回路技術では4ポートメモリの設計は
困難であり、例え実現できても極めて低速度となる。他
の解法として、図10で説明した2ポートメモリを使用
し図8で示したデマルチプレクサ12とマルチプレクサ
13を各々2組使用し、読出しサイクルおよび書込みサ
イクルを2回ずつ行う構成例もあるが、図10で説明し
た様に2ポートメモリの欠点がある。
【0009】フーリエ変換に使用する基数をさらに増加
すればバタフライ演算の演算回数は2の羃数に反比例し
て低減できるが、メモリ装置の読出しサイクルおよび書
込みサイクルは基数の値に比例して増加するため演算所
要時間の短縮を阻害する欠点がある。
【0010】以上の説明では時系列データを入力し出力
周波数系列データを出力する離散フーリエ変換の構成に
ついて説明したが、この逆の逆離散フーリエ変換をする
構成は前述したツイドル係数が異なるだけで装置構成は
同一である。
【0011】
【発明が解決しようとする課題】以上述べた様に従来の
フーリエ変換を演算する装置ではメモリ装置の読出しお
よび書込みの動作期間が演算所要期間を増加させる問題
点がある。2ポートメモリを使用すればメモリ装置の動
作期間を1/2に改善できるが、2ポートメモリは1ポ
ートメモリに比べて面積が大きく動作速度も低速な欠点
を有する。
【0012】本発明は上記の事情に鑑みてなされたもの
で、メモリ装置の小型化と同時に高速化が可能となり、
演算所要期間の短縮が可能となるメモリアドレス変換方
法及び高速フーリエ変換装置を提供することを目的とす
る。
【0013】
【課題を解決するための手段】上記目的を達成するため
に本発明は、バタフライ演算装置とメモリ装置で構成さ
れる高速フーリエ変換装置におけるメモリアドレス変換
方法であって、前記メモリ装置を高速フーリエ変換にお
ける基数の値に装置分割し、該メモリ装置へ供給するア
ドレスビット列を2を底とする基数の指数の値のビット
数で分割し、前記分割されたアドレスビットで表示でき
る数値の総和の下位から前記指数の値のビット数で表現
されるビット列を前記メモリ装置の装置選択アドレスと
して読出しおよび書込みデータを選択することを特徴と
する。
【0014】また本発明の高速フーリエ変換装置は、入
力時系列データ及び演算データが記憶され、高速フーリ
エ変換における基数Rの値に分割されたメモリ装置と、
前記各メモリ装置から読出されたデータが入力され前記
各メモリ装置へ書込む演算データを出力するR個の入力
と出力を有するバタフライ演算装置と、前記各メモリ装
置へ供給するアドレスビット列を2を底とする基数Rの
指数の値のビット数で分割し、前記分割されたアドレス
ビットで表示できる数値の総和の下位から前記指数の値
のビット数で表現されるビット列を出力するアドレス演
算装置と、前記アドレス演算装置から出力されたビット
列が入力され、前記複数のメモリ装置の1回の読出しサ
イクルでR個の読出しデータを前記バタフライ演算装置
へ供給すると共に、前記バタフライ演算装置で演算した
R個のデータを前記複数のメモリ装置の1回の書込みサ
イクルで書込むセレクタとを具備することを特徴とする
ものである。
【0015】本発明は、メモリ装置のアドレスを変換し
て高速で面積が小さい1ポートメモリにより該メモリ装
置の読出しおよび書込みを基数の値に関わらず各1サイ
クルとするものである。
【0016】
【発明の実施の形態】以下図面を参照して本発明の実施
形態例を詳細に説明する。
【0017】図1は本発明による16個の時系列データ
を基数2で離散フーリエ変換する構成例であり、41,
42はアドレス演算装置、43,44はメモリ装置、4
5,46,47,48はセレクタ、13は図8と同一の
バタフライ演算装置であり、アドレス信号AAD0から
AAD3はアドレス演算装置41の入力A0からA3に
各々接続され、アドレス信号AAD0からAAD2はメ
モリ装置43のアドレスA0からA2に各々接続され、
アドレス信号BAD0からBAD3はアドレス演算装置
42の入力A0からA3に各々接続され、アドレス信号
BAD0からBAD2はメモリ装置44のアドレスA0
からA2に各々接続され、メモリ装置43の読出し出力
DOはセレクタ45と46の入力B0に接続され、メモ
リ装置44の読出し出力DOはセレクタ45と46の入
力B1に接続され、セレクタ45と46の出力Xはバタ
フライ演算装置13の入力h0とh1に各々接続され、
バタフライ演算装置13の出力H0はセレクタ47と4
8の入力B0に接続され、バタフライ演算装置13の出
力H1はセレクタ47と48の入力B1に接続され、セ
レクタ47と48の出力Xはメモリ装置43と44の書
込み入力DIに各々接続され、アドレス演算装置41の
出力Sはセレクタ45と47の入力Sに接続され、アド
レス演算装置42の出力Sはセレクタ46と48の入力
Sに接続されている。メモリ装置43とメモリ装置44
は各々8ワードを有し、メモリ装置2個で16個の入力
時系列データおよび演算データを記憶する構成をとる。
図2は同一の機能を有するアドレス演算装置41と42
の動作を説明するための回路例であり、51,52,5
3は排他OR(排他的論理和)であり、入力A0とA1
が排他OR51の入力に、入力A2とA3が排他OR5
2の入力に各々接続され、排他OR51の出力と排他O
R52の出力が各々排他OR53の入力に接続され、排
他OR53の出力が出力Sに接続されている。アドレス
演算装置41と42の出力SはA0からA3までの4個
の入力の排他ORであり、A0からA3までの総和の最
下位値と等しい。図3はアドレス演算装置41と42へ
図9に示したアドレスデータの各ビットを入力して最上
位1ビットを上記アドレス演算装置41と42の出力で
置換した変換アドレスデータであり、1組2個のアドレ
スデータの最上位ビットは全て0と1の組合せとなって
いるため、メモリ装置43の装置選択アドレスを
“0”、メモリ装置44の装置選択アドレス“1”と
し、上記アドレス演算装置41と42の出力によりメモ
リ装置43または44を選定して読出しデータをバタフ
ライ演算装置13へ入力し、バタフライ演算装置13の
出力を上記の選択されたメモリ装置43または44へ書
込めば、1回の読出しサイクルでメモリ装置43と44
から2個のデータを読出し、バタフライ演算装置13で
演算された2個のデータを1回の書込みサイクルでメモ
リ装置43と44へ書込むことが可能となる。図3に示
す1組2個のアドレスデータの最上位ビットは全てのア
ドレスデータの組合せにおいて異なる理由は図9で説明
した様に全てのアドレスデータの組合せにおける2個の
アドレスデータは1ビットを除いて同一であるため、ア
ドレスデータの各ビットを加算した最下位ビットは同一
とならないことによる。図3に示した1組2個のアドレ
スデータを図1で示したアドレス信号AAD0からAA
D3とアドレス信号BAD0からBAD3とすることは
図10の動作と同一である。セレクタ45,46,4
7,48は同一の機能を有するセレクタであり、入力S
が“0”の時入力B0を選択して出力Xに出力し、入力
Sが“1”の時入力B1を選択して出力Xに出力する公
知の2−1セレクタの機能を有する。セレクタ45と4
6はアドレス演算装置41と42の出力Sの値すなわち
図3に示した2個のアドレスデータの最上位ビットの値
により、バタフライ演算装置13の入力h0とh1にい
ずれのメモリ装置43または44の読出しデータを入力
するか選択する。アドレス演算装置41と42の出力S
の値は同一値とはならないため、バタフライ演算装置1
3の入力h0とh1に同一のメモリ装置43または44
の読出しデータが入力されることはない。セレクタ47
と48はバタフライ演算装置13の出力H0とH1をい
ずれのメモリ装置43または44へ書込むか選択する。
アドレス演算装置41の出力Sが“0”の場合には、メ
モリ装置43の読出しデータをバタフライ演算装置13
の入力h0へ送出し、バタフライ演算装置13の出力H
0のデータをメモリ装置43へ書込み、この場合アドレ
ス演算装置42の出力Sは“1”であるから、メモリ装
置44の読出しデータをバタフライ演算装置13の入力
h1へ送出し、バタフライ演算装置13の出力H1のデ
ータをメモリ装置44へ書込みができる。アドレス演算
装置41の出力Sが“1”の場合には、メモリ装置44
の読出しデータをバタフライ演算装置13の入力h0へ
送出し、バタフライ演算装置13の出力H0のデータを
メモリ装置44へ書込み、この場合アドレス演算装置4
2の出力Sは“0”であるから、メモリ装置43の読出
しデータをバタフライ演算装置13の入力h1へ送出
し、バタフライ演算装置13の出力H1のデータをメモ
リ装置43へ書込みができる。図1のその他の動作は図
10の構成と同一であるため省略する。
【0018】以上の説明より、図1に示した本発明によ
る構成例は演算処理する時系列データ数と同一のワード
数を2分割した2個の1ポートメモリを使用し、2ポー
トメモリを使用した従来の構成と同一の動作を実現でき
る。前記のワード数を2分割した2個の1ポートメモリ
の面積はほぼワード線を分割しない1ポートメモリ1個
の面積とほぼ同一であるから、1ポートメモリを使用し
た従来の構成と比べればほぼ同一面積でメモリ装置の動
作サイクル数を1/2に低減でき、2ポートメモリを使
用した従来の構成と比べてほぼ1/2の面積で同一のメ
モリ動作サイクル数を実現できる。
【0019】図4は本発明による16個の時系列データ
を基数4で離散フーリエ変換する構成例であり、61,
62,63,64はアドレス演算装置、65,66,6
7,68はメモリ装置、69,70,71,72,7
3,74,75,76はセレクタ、33は図12と同一
のバタフライ演算装置であり、アドレス信号AAD0か
らAAD3はアドレス演算装置61の入力A0からA3
に各々接続され、アドレス信号AAD0とAAD1はメ
モリ装置65のアドレスA0とA1に各々接続され、ア
ドレス信号BAD0からBAD3はアドレス演算装置6
2の入力A0からA3に各々接続され、アドレス信号B
AD0とBAD1はメモリ装置66のアドレスA0とA
1に各々接続され、アドレス信号CAD0からCAD3
はアドレス演算装置63の入力A0からA3に各々接続
され、アドレス信号CAD0とCAD1はメモリ装置6
7のアドレスA0とA1に各々接続され、アドレス信号
DAD0からDAD3はアドレス演算装置64の入力A
0からA3に各々接続され、アドレス信号DAD0とD
AD1はメモリ装置68のアドレスA0とA1に各々接
続され、メモリ装置65の読出し出力DOはセレクタ6
9,70,71,72の入力B0に接続され、メモリ装
置66の読出し出力DOはセレクタ69,70,71,
72の入力B1に接続され、メモリ装置67の読出し出
力DOはセレクタ69,70,71,72の入力B2に
接続され、メモリ装置68の読出し出力DOはセレクタ
69,70,71,72の入力B3に接続され、セレク
タ69,70,71,72の出力Xはバタフライ演算装
置33の4個の入力h0、h1、h2、h3に各々接続
され、バタフライ演算装置33の出力H0はセレクタ7
3の入力B0、セレクタ74の入力B2、セレクタ75
の入力B0、セレクタ76の入力B2に接続され、バタ
フライ演算装置33の出力H1はセレクタ73の入力B
3、セレクタ74の入力B1、セレクタ75の入力B
3、セレクタ76の入力B1に接続され、バタフライ演
算装置33の出力H2はセレクタ73の入力B2、セレ
クタ74の入力B0、セレクタ75の入力B2、セレク
タ76の入力B0に接続され、バタフライ演算装置33
の出力H3はセレクタ73の入力B1、セレクタ74の
入力B3、セレクタ75の入力B1、セレクタ76の入
力B3に接続され、セレクタ73,74,75,76の
出力Xはメモリ装置65,66,67,68の書込み入
力DIに各々接続され、アドレス演算装置61の出力S
0とS1はセレクタ69と73の入力S0とS1に各々
接続され、アドレス演算装置62の出力S0とS1はセ
レクタ70と74の入力S0とS1に各々接続され、ア
ドレス演算装置63の出力S0とS1はセレクタ71と
75の入力S0とS1に各々接続され、アドレス演算装
置64の出力S0とS1はセレクタ72と76の入力S
0とS1に各々接続されている。メモリ装置65,6
6,67,68は各々4ワードを有し、メモリ装置4個
で16個の入力時系列データおよび演算データを記憶す
る構成をとる。図5は同一の機能を有するアドレス演算
装置61,62,63,64の動作を説明するための回
路例であり、81は半加算器、82は全加算器であり、
入力A0とA2が半加算器81の入力AとBに各々接続
され、入力A1とA3が全加算器82の入力AとBに各
々接続され、半加算器81の桁上げ出力COが全加算器
82の桁上げ入力CIに接続され、半加算器81の和出
力Sが出力S0に,全加算器82の和出力Sが出力S1
にそれぞれ接続されており、入力A1とA0で表される
2ビットの数値と入力A3とA2で表される2ビットの
数値を加算し、出力S1とS0で表される2ビットの和
を出力する公知の加算器である。図6は図5に示したア
ドレス演算装置へ図13に示したアドレスデータを入力
して、上位2ビットを上記アドレス演算装置の出力で置
換したアドレスデータであり、1組4個のアドレスデー
タの上位2ビットは全て00、01、10、11の組合
せになっているため、メモリ装置65の装置選択番地を
00、メモリ装置66の装置選択番地を01、メモリ装
置67の装置選択番地を10、メモリ装置68の装置選
択番地を11とすれば、1組4個のアドレスに記憶され
たデータはメモリ装置65,66,67,68に配置で
きるため、1回の読出しサイクルで4個のデータを読出
し、バタフライ演算装置33で演算された4個のデータ
を1回の書込みサイクルで4個のメモリ装置65,6
6,67,68へ書込むことが可能となる。図6に示す
4個のアドレスデータの上位2ビットは全てのアドレス
データの組合せにおいて4個とも異なる理由は図13で
説明した様に全てのアドレスデータの組合せにおける4
個のアドレスデータは2ビットを除いて同一であり他の
2ビットは00、01、10、11となっているため、
アドレスデータを2ビットずつ区切り、これらを全て加
算した下位2ビットは同一とならないことによる。図4
において、アドレスAAD3からAAD0、アドレスB
AD3からBAD0、アドレスCAD3からCAD0、
アドレスDAD3からDAD0には、図13に示した1
組4個のアドレスデータが供給される。セレクタ69,
70,71,72,73,74,75,76は同一の機
能を有するセレクタであり、入力S1とS0が“00”
の時入力B0を選択して出力Xに出力し、入力S1とS
0が“01”の時入力B1を選択して出力Xに出力し、
入力S1とS0が“10”の時入力B2を選択して出力
Xに出力し、入力S1とS0が“11”の時入力B3を
選択して出力Xに出力する公知の4−1セレクタの機能
を有する。セレクタ69,70,71,72はアドレス
演算装置61,62,63,64の出力S1とS0の値
すなわち図6に示した4個のアドレスデータの上位2ビ
ットの値により、バタフライ演算装置33の入力h0、
h1、h2、h3にいずれのメモリ装置65,66,6
7,68の読出しデータD0を入力するか選択する。ア
ドレス演算装置61,62,63,64の出力S1とS
0の値“00”、“01”、“10”、“11”を前記
の様にメモリ装置65,66,67,68の装置選択ア
ドレスとしたため、セレクタ69,70,71,72の
入力B0にはメモリ装置65の読出し出力D0が、入力
B1にはメモリ装置66の読出し出力D0が、入力B2
にはメモリ装置67の読出し出力D0が、入力B3には
メモリ装置68の読出し出力D0が入力される。セレク
タ73,74,75,76はバタフライ演算装置33の
出力H0、H1、H2、H3のデータをいずれのメモリ
装置65,66,67,68へ書込むか選択する。アド
レス演算装置61の出力S1とS0が“00”の場合に
は、アドレス演算装置62の出力は“01”、アドレス
演算装置63の出力は“10”、アドレス演算装置64
の出力は“11”であるから、バタフライ演算装置33
の出力H0のデータをセレクタ73を通してメモリ装置
65へ書込み、バタフライ演算装置33の出力H1のデ
ータをセレクタ74を通してメモリ装置66へ書込み、
バタフライ演算装置33の出力H2のデータをセレクタ
75を通してメモリ装置67へ書込み、バタフライ演算
装置33の出力H3のデータをセレクタ76を通してメ
モリ装置68へ書込む。アドレス演算装置61の出力S
1とS0が“01”の場合には、アドレス演算装置62
の出力は“10”、アドレス演算装置63の出力は“1
1”、アドレス演算装置64の出力は“00”であるか
ら、バタフライ演算装置33の出力H0のデータをセレ
クタ74を通してメモリ装置66へ書込み、バタフライ
演算装置33の出力H1のデータをセレクタ75を通し
てメモリ装置67へ書込み、バタフライ演算装置33の
出力H2のデータをセレクタ76を通してメモリ装置6
8へ書込み、バタフライ演算装置33の出力H3のデー
タをセレクタ73を通してメモリ装置65へ書込む。ア
ドレス演算装置61の出力S1とS0が“10”の場合
には、アドレス演算装置62の出力は“11”、アドレ
ス演算装置63の出力は“00”、アドレス演算装置6
4の出力は“01”であるから、バタフライ演算装置3
3の出力H0のデータをセレクタ75を通してメモリ装
置67へ書込み、バタフライ演算装置33の出力H1の
データをセレクタ76を通してメモリ装置68へ書込
み、バタフライ演算装置33の出力H2のデータをセレ
クタ73を通してメモリ装置65へ書込み、バタフライ
演算装置33の出力H3のデータをセレクタ74を通し
てメモリ装置66へ書込む。アドレス演算置61の出力
S1とS0が“11”の場合には、アドレス演算装置6
2の出力は“00”、アドレス演算装置63の出力は
“01”、アドレス演算装置64の出力は“10”であ
るから、バタフライ演算装置33の出力H0のデータを
セレクタ76を通してメモリ装置68へ書込み、バタフ
ライ演算装置33の出力H1のデータをセレクタ73を
通してメモリ装置65へ書込み、バタフライ演算装置3
3の出力H2のデータをセレクタ74を通してメモリ装
置66へ書込み、バタフライ演算装置33の出力H3の
データをセレクタ75を通してメモリ装置67へ書込
む。以上の説明よりバタフライ演算装置33の入力h
0、h1、h2、h3へアドレス演算装置61,62,
63,64の出力S1とS0の値で決まるメモリ装置6
5,66,67,68から読出したデータを供給し、バ
タフライ演算装置33の出力H0、H1、H2、H3の
データをアドレス演算装置61,62,63,64の出
力S1とS0の値で決まるメモリ装置65,66,6
7,68へ書込むことができる。
【0020】以上の説明より、図4に示した本発明によ
る構成例は演算処理する時系列データ数と同一のワード
数を4分割した4個の1ポートメモリを使用し、1ポー
トメモリを使用した従来の構成と比べればほぼ同一面積
で演算所要期間を1/4に低減でき、2ポートメモリを
使用した従来の構成と比べればほぼ1/2の面積で演算
所要期間を1/2にすることができる。
【0021】以上の構成例の説明では基数が2と4の場
合のみ説明したが、一般に基数R(但しRは2の羃乗)
の場合には、N個の入力時系列データおよび演算データ
を記憶するメモリ装置をR個に分割し、上記メモリ装置
のアドレスビット列を2を底とする基数の指数log2
Rの値のビット数で均等に分割し、前記分割されたアド
レスビットで表示できる数値の総和の下位から上記指数
の値のビット数で表現されるビット列でセレクタを制御
することにより、R個に分割されたメモリ装置からR個
の入力と出力を有するバタフライ演算装置へ上記複数の
メモリ装置の1回の読出しサイクルでR個の読出しデー
タを供給でき、上記バタフライ演算装置で演算したR個
のデータを上記複数のメモリ装置の1回の書込みサイク
ルで書込むことが可能となる。これによりメモリ装置の
読出しサイクルおよび書込みサイクル数は従来構成の1
/Rへ低減し、または2ポートメモリを使用した従来の
構成と比べてメモリ装置の読出しサイクルおよび書込み
サイクル数は2/Rへ低減し同時に面積がほぼ1/2で
かつ高速な1ポートメモリで構成できる利点があり、基
数Rの値が大きいほど効果が大きくなる。なお、上記メ
モリ装置のアドレスビット列を2を底とする基数の指数
log2 Rの値のビット数で均等に分割できない場合に
は、余ったアドレス列に対して前記基数Rより小さい基
数でフーリエ変換演算をすればよいことは前記文献1な
どより明らかである。
【0022】以上説明した様にバタフライ演算装置とメ
モリ装置で構成される高速フーリエ変換装置において、
前記メモリ装置を高速フーリエ変換における基数の値に
装置分割し、該メモリ装置へ供給するアドレスビット列
を2を底とする基数の指数の値で分割し、前記分割され
た複数のメモリ装置の読出しおよび書込みデータを前記
分割されたアドレスビットの総和の下位より前記指数の
値を前記メモリ装置の装置選択アドレスとして読出しお
よび書込みデータを選択することにより、1回の読出し
サイクルで前記バタフライ演算装置に前記基数個分の読
出しデータを供給でき、かつ前記バタフライ演算装置に
よる前記基数個分の演算結果データを該メモリ装置へ1
回の書込みサイクルで書込むことが可能となるため、演
算所要期間の短縮が可能となる。また、従来の構成で用
いられた2ポートメモリ装置を使用する必要がないため
メモリ装置の小型化と同時に高速化が可能となり、本発
明は極めて有用である。
【0023】本発明はバタフライ演算装置とメモリ装置
で構成される高速フーリエ変換装置を半導体集積回路で
実現する場合、高性能かつメモリ装置の占有面積の縮小
が可能となり、安価な製品を実現できる。
【0024】
【発明の効果】以上述べたように本発明によれば、メモ
リ装置の小型化と同時に高速化が可能となり、演算所要
期間の短縮が可能となるメモリアドレス変換方法及び高
速フーリエ変換装置を提供することができる。
【図面の簡単な説明】
【図1】本発明の一実施形態例を示す構成説明図であ
る。
【図2】図1のアドレス演算装置を示す回路図である。
【図3】図1の説明で使用するアドレスデータを示す説
明図である。
【図4】本発明の他の実施形態例を示す構成説明図であ
る。
【図5】図4のアドレス演算装置を示す構成説明図であ
る。
【図6】図4の説明で使用するアドレスデータを示す説
明図である。
【図7】従来の離散フーリエ変換の動作フローの一例を
示す説明図である。
【図8】従来の離散フーリエ変換装置の第1の例を示す
構成説明図である。
【図9】図8の説明で使用するアドレスデータを示す説
明図である。
【図10】従来の離散フーリエ変換装置の第2の例を示
す構成説明図である。
【図11】従来の離散フーリエ変換の動作フローの他の
例を示す説明図である。
【図12】従来の離散フーリエ変換装置の第3の例を示
す構成説明図である。
【図13】図12の説明で使用するアドレスデータを示
す説明図である。
【符号の説明】
11 メモリ装置 12 デマルチプレクサ 13 バタフライ演算装置 14 マルチプレクサ 21 メモリ装置 32 デマルチプレクサ 33 バタフライ演算装置 34 マルチプレクサ 41,42 アドレス演算装置 43,44 メモリ装置 45,46,47,48 セレクタ 51,52,53 排他OR 61,62,63,64 アドレス演算装置 65,66,67,68 メモリ装置 69,70,71,72,73,74,75,76
セレクタ

Claims (2)

    【特許請求の範囲】
  1. 【請求項1】 バタフライ演算装置とメモリ装置で構成
    される高速フーリエ変換装置におけるメモリアドレス変
    換方法であって、前記メモリ装置を高速フーリエ変換に
    おける基数の値に装置分割し、該メモリ装置へ供給する
    アドレスビット列を2を底とする基数の指数の値のビッ
    ト数で分割し、前記分割されたアドレスビットで表示で
    きる数値の総和の下位から前記指数の値のビット数で表
    現されるビット列を前記メモリ装置の装置選択アドレス
    として読出しおよび書込みデータを選択することを特徴
    とするメモリアドレス変換方法。
  2. 【請求項2】 入力時系列データ及び演算データが記憶
    され、高速フーリエ変換における基数Rの値に分割され
    たメモリ装置と、 前記各メモリ装置から読出されたデータが入力され前記
    各メモリ装置へ書込む演算データを出力するR個の入力
    と出力を有するバタフライ演算装置と、 前記各メモリ装置へ供給するアドレスビット列を2を底
    とする基数Rの指数の値のビット数で分割し、前記分割
    されたアドレスビットで表示できる数値の総和の下位か
    ら前記指数の値のビット数で表現されるビット列を出力
    するアドレス演算装置と、 前記アドレス演算装置から出力されたビット列が入力さ
    れ、前記複数のメモリ装置の1回の読出しサイクルでR
    個の読出しデータを前記バタフライ演算装置へ供給する
    と共に、前記バタフライ演算装置で演算したR個のデー
    タを前記複数のメモリ装置の1回の書込みサイクルで書
    込むセレクタとを具備することを特徴とする高速フーリ
    エ変換装置。
JP2000151554A 2000-05-23 2000-05-23 メモリアドレス変換方法及び高速フーリエ変換装置 Pending JP2001331473A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2000151554A JP2001331473A (ja) 2000-05-23 2000-05-23 メモリアドレス変換方法及び高速フーリエ変換装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2000151554A JP2001331473A (ja) 2000-05-23 2000-05-23 メモリアドレス変換方法及び高速フーリエ変換装置

Publications (1)

Publication Number Publication Date
JP2001331473A true JP2001331473A (ja) 2001-11-30

Family

ID=18657095

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000151554A Pending JP2001331473A (ja) 2000-05-23 2000-05-23 メモリアドレス変換方法及び高速フーリエ変換装置

Country Status (1)

Country Link
JP (1) JP2001331473A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008186396A (ja) * 2007-01-31 2008-08-14 Mitsubishi Electric Corp 高速フーリエ変換装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008186396A (ja) * 2007-01-31 2008-08-14 Mitsubishi Electric Corp 高速フーリエ変換装置
JP4755610B2 (ja) * 2007-01-31 2011-08-24 三菱電機株式会社 高速フーリエ変換装置

Similar Documents

Publication Publication Date Title
US7529139B2 (en) N-port memory circuits allowing M memory addresses to be accessed concurrently and signal processing methods thereof
JP2500740B2 (ja) デュアルポ―トメモリ
KR20030027321A (ko) 분산 산술 처리장치 및 그 방법과 그를 이용한 이차원이산여현변환 처리장치 및 그 방법
JPH06139268A (ja) 高速フーリエ変換用ディジット反転のためのアドレス発生器及び反転フィールドシーケンス発生器並びにディジット反転シーケンス信号発生方法
JP2002351858A (ja) 処理装置
JP5549442B2 (ja) Fft演算装置
JPH06274528A (ja) ベクトル演算処理装置
JPS63278411A (ja) 多段デジタル・フィルタ
JP2001331473A (ja) メモリアドレス変換方法及び高速フーリエ変換装置
CN116050492A (zh) 一种扩展单元
JPH09198862A (ja) 半導体メモリ
JP2001056806A (ja) 高速フーリエ変換装置
CN111580867B (zh) 一种用于fft运算的块浮点处理方法及装置
JP6943283B2 (ja) 高速フーリエ変換装置、データ並べ替え処理装置、高速フーリエ変換処理方法およびプログラム
EP4325726A1 (en) Interleave circuit and communication device
CN115658145B (zh) 数据循环移位方法和电路、以及芯片
JP5072558B2 (ja) データ処理装置
JPH10116226A (ja) 半導体記憶装置のアドレス整列装置
JP3937418B2 (ja) 記憶装置および記憶読み出し制御方法
WO2021090711A1 (ja) データ処理装置および情報処理装置
JPH07160676A (ja) 高速フーリエ変換装置及び高速フーリエ変換方法
JP2001160736A (ja) デジタルフィルタ回路
JP2022152001A (ja) 高速フーリエ変換装置及びデジタルフィルタ装置
JP3675948B2 (ja) データ変換方法及びその装置
JPS6220590B2 (ja)