JPH05266059A - アドレス発生回路 - Google Patents

アドレス発生回路

Info

Publication number
JPH05266059A
JPH05266059A JP4065636A JP6563692A JPH05266059A JP H05266059 A JPH05266059 A JP H05266059A JP 4065636 A JP4065636 A JP 4065636A JP 6563692 A JP6563692 A JP 6563692A JP H05266059 A JPH05266059 A JP H05266059A
Authority
JP
Japan
Prior art keywords
bit
data
circuit
address
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
JP4065636A
Other languages
English (en)
Inventor
Hirofumi Sakagami
弘文 阪上
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.)
Ricoh Co Ltd
Original Assignee
Ricoh 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 Ricoh Co Ltd filed Critical Ricoh Co Ltd
Priority to JP4065636A priority Critical patent/JPH05266059A/ja
Publication of JPH05266059A publication Critical patent/JPH05266059A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Complex Calculations (AREA)

Abstract

(57)【要約】 【目的】 バタフライ演算の制御を容易にし、ビット逆
順の並べ換え等を不要にし、処理効率を向上させる。 【構成】 Nビットのカウンタ21と、カウンタ21出
力の最下位ビットLSBのみを反転させてNビットのデ
ータを出力する最下位ビット反転回路22と、最下位ビ
ット反転回路22出力につき(N−n)ビット分だけ上
位方向へビットシフトする第1ビットシフト回路23
と、最下位ビット反転回路22出力を第1ビットシフト
回路23出力の上位に対して接続してFFT演算の段数
mのビット数だけ上位方向にシフトしてその上位Nビッ
トを出力する第2ビットシフト回路24と、第2ビット
シフト回路24出力が最上位ビットMSBから最下位ビ
ットLSBまでの並び順を逆順として入力されて下位方
向へ(N−n)ビット分だけビットシフトする第3ビッ
トシフト回路26とを設けた。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、高速フーリエ変換(以
下、適宜“FFT”と略す)におけるバタフライ演算用
ないしは回転因子を記憶したメモリをアクセスするため
のFFT用又は逆FFT用のアドレス発生回路に関す
る。
【0002】
【従来の技術】一般に、FFT演算は、データ列をビッ
ト逆順の並べ換えと称される方法に従い並べ換えを行
い、並べ換えられたデータ列をバタフライ演算と称され
る2点フ
【外7】 ものである。このようなFFT演算は、デジタル信号処
理全般、ファクシミリのモデム、音声信号処理等の分野
において、周波数特性を調べる場合や、相関演算を高速
に計算する場合などに広く利用される。
【0003】このようなFFT演算のためのアドレス発
生回路として、従来種々のものが提案されている。第1
の従来例として、特開平2−220172号公報に示さ
れるように、ビット並び変更手段とバタフライ演算の段
数に応じた制御信号の発生手段とよりなる簡単なハード
構成のアドレス発生回路がある。
【0004】図11はその構成例を示すもので、ビット
並び変更手段として(n−1)個のマルチプレクサ
1,12,…,1n-1 を用い、FFTのバタフライ演算
時の段数に応じて、レジスタ2に保持したデータで、各
マルチプレクサ11,12,…,1n-1 の入力切換えを設
定し、図12に示すように、データのビット並びを変更
させるようにしたものである。
【0005】このようなアドレス発生回路(データアド
レス供給回路)により、例えば図13に示すようなFF
Tのバタフライ演算を行う場合、入力a0,a1,a2
対して、表1に示すような出力が得られる。
【0006】
【表1】
【0007】第1の従来例は、FFTのバタフライ演算
時に必要なビット逆順による並べ換え処理が予め行われ
ていることを前提としている。即ち、メモリアドレス
0,1,2,3,4,5,6,7にはx(0),x(4),
x(2),x(6),x(1),x(5),x(3),x(7)の順
でサンプルデータが格納されている(括弧内の数字はサ
ンプルデータの入力順序を示す)。
【0008】また、第2の従来例として、特開昭57−
106981号公報に示されるように、カウンタとこの
カウンタ出力の任意の信号線間に最下位ビットLSBを
挿入するための切換え手段とを設けたFFTアドレス発
生回路がある。
【0009】図14はその構成例を示すもので、28
イントのFFTのバタフライ演算時のアドレス回路であ
り、クロック信号によりカウントアップするカウンタ3
と7個の切換えスイッチ41〜47とデコーダ5とにより
構成され、カウンタ3から出力されるデータ中のLSB
データを上位7ビットの信号中の任意の位置に挿入する
ようにしたものである。
【0010】このような構成により、カウンタ3が“0
0000000”から“11111111”までの値を
繰返し出力し、LSBデータの挿入位置によって、表2
に示すような出力データが得られることになる。8ポイ
ントのFFTの場合であれば、出力データは表3のよう
になる。
【0011】
【表2】
【0012】
【表3】
【0013】このように、第2の従来例にあっては、ビ
ット逆順による並べ換え処理を行わずに、LSBデータ
の挿入位置を変化させるだけでアドレスを発生させるよ
うにしたものである。
【0014】第3の従来例として、特開平2−2241
79号公報に示されるように、バタフライ演算の段数に
応じたビット数分だけカウントアップするようにしたも
のがある。これは、FFT演算の回転因子を記憶したメ
モリをアクセスするためのものであり、図15にその構
成例を示す。これは、(n−1)個のフリップフロップ
0〜6n-2と、(n−1)個のマルチプレクサ70〜7
n-2と、各マルチプレクサ70〜7n-2の入力切換えを設
定するためのレジスタ8とにより構成されている。
【0015】このような構成により、FFT演算の段数
に応じたレジスタ8のデータによりマルチプレクサ70
〜7n-2の入力切換えが行われ、データの最上位ビット
MSB側から1,2,…個のフリップフロップ6が縦列
接続されてカウンタを構成する。この結果、例えば8ポ
イントのFFTの場合、4個の回転因子を必要とし、表
4に示すような出力データが得られる。
【0016】
【表4】
【0017】第4の従来例として、特開平2−1015
75号公報に示されるように、バタフライ演算の回転因
子としてπ/2だけ位相をずらしたcos 関数の対をテー
ブルとしてメモリに格納することで、メモリ量の削減と
アクセスの高速化とを図ったものがある。
【0018】図16にその構成例として、FFT演算の
回転因子を記憶するメモリ9におけるデータの並びを示
す。即ち、FFTのサンプルデータ数をNとして、 A=cos2π(i/N) B=cos2π〔{(N/4)−i}/N〕 なる値を対(ペア)として、メモリ9に格納するように
したものである。例えば、16ポイントのFFTを演算
する場合、8個の回転因子が必要となるが、各回転因子
は、各々次の(1)〜(8)式のように変形できる。
【0019】
【数1】
【0020】ここで、上から順に、4つのペア、即ち、
(1)(2)式、(3)(4)式、(5)(6)式及び(7)(8)式
は、各々2つずつの“105”の値を持っている。従っ
て、図16に示すメモリ9中から2つずつ値を読出し、
実数部と虚数部との入換え及び符号反転を行うことによ
り、記憶すべきデータ量を削減したものである。
【0021】
【発明が解決しようとする課題】ところが、第1の従来
例による場合、 バタフライ演算の段数に応じて、各マルチプレクサ
1の入力切換え設定用のデータをレジスタ2へ送出する
必要がある。 ビット逆順による並べ換えの別処理が必要である。
といった欠点がある。
【0022】また、第2の従来例による場合には、次の
ような欠点がある。一般に、バタフライ演算は、入力し
たサンプルデータから2サンプルずつ取出して演算を行
うものであるが、この際、同時に回転因子なる複素数の
係数(図13中に示すWk )、即ち、Mをポイント数と
した時、 Wk =cos(2π/M)k−jsin(2π/M)k を入力する必要がある。表3にはこのように入力すべき
係数Wk の値も併せて示した。即ち、表3の例では、第
3段目において、係数Wk の入力順序がW0,W2
1,W3となっており、回転因子をメモリに記憶させて
アクセスする場合に、順序を変更する処理を行わなけれ
ばならないという欠点を持つ。
【0023】また、これらの第1,2の従来例による場
合、ともに処理効率が下がってしまう欠点がある。この
点について、一般的な1単位のバタフライ演算を模式的
に示す図17を参照して説明する。即ち、1つの乗算器
10と2つの加減算器11,12とにより構成されてお
り、a,bにサンプルデータを入力し、cに回転因子を
入力して、d=a+b×c,e=a−b×cを算出する
ものである。この際、第1,2の従来例によるアドレス
発生回路では、a,bの順にデータを入力することにな
る。しかし、b×cの演算が終了した後で、aのデータ
が必要になるので、実質的にaの入力期間中はb×cの
演算が実行できず、処理効率が下がってしまうものであ
る。
【0024】よって、これらの第1,2の従来例を考察
した場合、下記のような条件 バタフライ演算の制御が容易であること。 ビット逆順の並べ換え処理を包含するアドレスを発
生し得ること。 回転因子のアクセスが容易であること。 データ入力順序によるバタフライ演算の処理効率が
高いこと。 を満たし得るアドレス発生回路が要望される。
【0025】一方、第3の従来例による場合、FFT演
算の段数に応じた制御データをレジスタ8に送出しなけ
ればならないものであり、より制御の容易な回転因子メ
モリをアクセスするためのアドレス発生回路が要望され
る。
【0026】さらに、第4の従来例による場合、対でデ
ータを格納しているため、データが重複し、結果的に、
例えば8個の回転因子のために8個のアドレス空間を使
用してしまうものであり、かつ、符号反転や実数部と虚
数部との入換え処理を必要とする、といった欠点があ
る。よって、この観点からは、回転因子の周期性を利用
してデータを重複せずにメモリに記憶させ、かつ、符号
反転等のデータ処理を不要にし得る、回転因子メモリの
ためのアドレス発生回路が要望される。
【0027】
【課題を解決するための手段】
【外8】 る整数)とするFFT演算用のアドレス発生回路におい
て、Nビットのカウンタと、このカウンタからの出力が
入力されてその最下位ビットのみを反転させてNビット
のデータを出力する最下位ビット反転回路と、この最下
位ビット反転回路からの出力が入力されて(N−n)ビ
ット分だけ上位方向へビットシフトする第1ビットシフ
ト回路と、前記最下位ビット反転回路からの出力をこの
第1ビットシフト回路からの出力の上位に対して接続し
てFFT演算の段数m(ただし、m=0,1,2,…,
n−1なる整数)に相当するビット数だけ上位方向にシ
フトしてその上位Nビットを出力する第2ビットシフト
回路と、この第2ビットシフト回路からの出力が最上位
ビットから最下位ビットまでの並び順を逆順として入力
されて下位方向へ(N−n)ビット分だけビットシフト
する第3ビットシフト回路とを設けた。
【0028】
【外9】 る整数)とするFFT演算の回転因子を記憶したメモリ
をアクセスするためのアドレス発生回路において、(N
−1)ビットのカウンタと、このカウンタからの出力の
下位に(N−1)ビット分の“0”データを接続してF
FT演算の段数m(ただし、m=0,1,2,…,n−
1なる整数)に相当するビット数だけ下位方向にシフト
してその下位(N−1)ビットを出力するビットシフト
回路とを設けた。
【0029】
【外10】 る整数)とするサンプル数を2のn乗(ただし、n=
1,2,…,Nなる整数)とするFFT演算の回転因子
を記憶したメモリをアクセスするためのFFT演算用の
アドレス発生回路において、(N−1)ビットのカウン
タと、このカウンタからの出力の下位に(N−1)ビッ
ト分の“0”データを接続して(N−n)ビット分だけ
上位方向にシフトしてその上位(N−1)ビットを出力
するビットシフト回路と、このビットシフト回路からの
出力が入力されてFFT演算の段数m(ただし、m=
0,1,2,…,n−1なる整数)に相当するビット数
のデータをそのまま出力し残りの下位ビットのデータを
“0”にして出力するマスク回路とを設けた。
【0030】
【外11】 憶したメモリをアクセスするためのアドレス発生回路に
おいて、(N−1)ビットのアドレスデータが入力され
てその最上位ビットが“1”の時には下位(N−2)ビ
ット分を反転させた後で最下位ビットに最上位ビットを
加算して(N−1)ビット分のデータを出力するアドレ
ス折返し回路と、このアドレス折返し回路からの出力の
最上位ビットを反転させるとともにその上位側に反転前
の最上位ビットを加えてNビットのデータを出力するオ
フセット回路と、前記(N−1)ビットのアドレスデー
タの上位に“0”データを加えたNビットのデータとこ
のオフセット回路からの出力されるデータとを入力とし
て何れか一方を前記メモリのアドレス入力として出力す
るデータセレクタとを設けた。
【0031】
【外12】 たメモリをアクセスするためのアドレス発生回路におい
て、(N−1)ビットのアドレスデータが入力されてそ
の最上位ビットのみを反転させる最上位ビット反転回路
と、この最上位ビット反転回路からの出力が入力されて
その最上位ビットが“1”の時には下位(N−2)ビッ
ト分を反転させた後で最下位ビットに最上位ビットを加
算して(N−1)ビット分のデータを出力するアドレス
折返し回路と、このアドレス折返し回路から出力される
データと前記アドレスデータとを入力として何れか一方
を前記メモリのアドレス入力として出力するデータセレ
クタとを設けた。
【0032】
【外13】 ワードのデータを記憶したメモリをアクセスするための
アドレス発生回路において、(N−1)ビットのアドレ
スデータが入力されてFFT演算時にはそのまま、逆F
FT演算時には最上位ビットのみを反転させて(N−
1)ビットのデータを出力する制御信号入力端子付き最
上位ビット反転回路と、この最上位ビット反転回路から
の出力が入力されてその最上位ビットが“1”の時には
下位(N−2)ビット分を反転させた後で最下位ビット
に最上位ビットを加算して(N−1)ビット分のデータ
を出力するアドレス折返し回路と、このアドレス折返し
回路から出力される(N−1)ビット分のデータが入力
されてこの入力データの最上位ビットに対してFFT演
算時には“1”を加算し、逆FFT演算時には“0”を
加算してそのキャリービットを上位に加えたNビットの
データを出力する制御信号入力端子付きオフセット回路
と、前記アドレスデータの上位に“0”データを加えた
Nビットのデータとこのオフセット回路からの出力され
るNビットのデータとを入力として何れか一方を前記メ
モリのアドレス入力として出力するデータセレクタとを
設けた。
【0033】
【作用】請求項1記載の発明によれば、バタフライ演算
において回転因子に乗算されるデータを先に入力させる
ことができるので、演算処理効率が向上するものとな
る。また、回転因子のアクセス順序が規則性を持つた
め、回転因子のアクセスが容易となる。また、データの
ビット逆順の並べ換え処理をアドレスデータの変換処理
として行うようにしたので、FFT演算に先立ちビット
逆順でサンプルデータをメモリに入力させるとか、メモ
リ内容を並べ換えるといったデータ処理が不要
【外14】 定だけで、アドレスを発生し得るので、演算時の制御も
容易となる。
【0034】また、請求項2記載の発明によれば、FF
T演算の段数mの指定だけで、回転因子メモリをアクセ
スするためのアドレスを発生し得るので、制御がより容
易化される。
【0035】
【外15】 び段数mの指定だけで、回転因子メモリをアクセスする
ためのアドレスを発生し得るので、請求項2記載の発明
の場合と同様に、制御がより容易化される。さらには、
各段において、カウンタは同一のカウントアップを繰返
すため、カウンタへの入力クロックパルス数を一定にで
きることになり、外部からのクロック制御も容易とな
る。
【0036】一方、請求項4記載の発明によれば、FF
T演算時の回転因子として、実数部のデータのみを重複
せずにメモリへ記憶し、アドレス折返し回路とオフセッ
ト回路とによりアドレスデータの変換処理を行い、回転
因子の虚数部データを出力するので、データの符号反転
処理や、実数部と虚数部との入換え処理等が不要とな
る。
【0037】また、請求項5記載の発明によれば、逆F
FT演算時の回転因子として、実数部のデータのみを重
複せずにメモリへ記憶し、最上位ビット反転回路とアド
レス折返し回路とによりアドレスデータの変換処理を行
い、回転因子の虚数部データを出力するので、やはり、
請求項4記載の発明の場合と同様に、データの符号反転
処理や、実数部と虚数部との入換え処理等が不要とな
る。
【0038】さらに、請求項6記載の発明によれば、F
FT演算及び逆FFT演算時の回転因子として、実数部
のデータのみを重複せずにメモリへ記憶し、最上位ビッ
ト反転回路とアドレス折返し回路とオフセット回路とに
よりアドレスデータの変換処理を行い、回転因子の虚数
部データを出力するので、データの符号反転処理や、実
数部と虚数部との入換え処理等を不要として、FFT演
算及び逆FFT演算に両用し得るものとなる。
【0039】
【実施例】請求項1記載の発明の一実施例を図1に基づ
き説明する。本実施例は、サンプ
【外16】 レス発生回路であり、Nビットのカウンタ21と、この
カウンタ21出力中の最下位ビットLSBのみを反転さ
せてNビットのデータを出力するLSB反転回路(最下
位ビット反転回路)22と、このLSB反転回路22出
力について(N−n)ビット分だけ上位方向へビットシ
フトする第1バレルシフタ(第1ビットシフト回路)2
3と、これらのLSB反転回路22、第1バレルシフタ
23出力についてFFT演算の段数m(ただし、m=
0,1,2,…,n−1なる整数)に相当するビット数
だけ上位方向にビットシフトする第2バレルシフタ(第
2ビットシフト回路)24と、この第2バレルシフタ2
4のNビットの出力データを最上位ビットMSBから最
下位ビットLSBまでの並び順を逆にする並べ換え部2
5を通して入力させ(N−n)ビット分だけ下位方向に
ビットシフトさせる第3バレルシフタ(第3ビットシフ
ト回路)26とを順に接続して構成されている。
【0040】このような構成において、例えば、N=
8、n=3、即ち、最大28 サンプルのFFT演算が可
能であり、23 =8サンプルのFFT演算を行う場合を
例にとり、その動作を説明する。まず、各構成要素の出
力データをまとめて表5に示す。
【0041】
【表5】
【0042】ここでは、8ポイントのFFTであるた
め、カウンタ21は0〜7までを巡回し、段数が3段
(m=0,1,2)であるため、3回繰返すことにな
る。この結果、本実施例のアドレス発生回路の出力とし
ては、表5中の端部に示す「4,2,6,2,…」のよ
うな系列のデータが得られる。これが、図13に示した
バタフライ演算におけるサンプルデータを記憶したメモ
リのアクセスを行う時のアドレスとなる。
【0043】表6は、より一般化し、N=8、n=4、
即ち、16ポイントのFFT演算を行う場合の各構成要
素の出力データをまとめて示すものである。この場合、
カウンタ21は0〜15を4回繰返してFFT演算を終
了する。
【0044】
【表6】
【0045】
【外17】 1,2,…,N)の形で可変となる。また、図17に示
したようなバタフライ演算回路にデータを入力する順序
が、従来では、a→bであったが、本実施例によれば、
LSB反転回路22によりb→aとなる特徴を持つ。さ
らに、第1,2バレルシフタ23,24の処理により、
サンプル数に対応した必要なアドレスビット(表5では
3ビット、表6では4ビット)内で段数に応じた巡回シ
フトを行っているため、バタフライ演算時のデータ入力
と同時に入力する回転因子Wk の入力順序を、表5の例
で示せば、W0,W0→W2,W0→W1→W2→W3 のよう
に規則的な順序とすることができる。また、並べ換え部
25及び第3バレルシフタ26により、任意のサンプル
数のFFT演算に対するビット逆順による並べ換え処理
をアドレス変換の形で行うことができる。
【0046】つづいて、請求項2記載の発明の一実施例
を図2により説明する。本実施例は
【外18】 モリに対するアクセス回路として構成したものである。
即ち、メモリには実数デ
【外19】 が、同一アドレスに格納されている場合である。
【0047】このため、本実施利例では、(N−1)ビ
ットのカウンタ27と、このカウンタ27出力の下位に
(N−1)ビット分の“0”データを接続してFFT演
算の段数mのビット数だけ下位方向にビットシフトして
その下位(N−1)ビットを出力するバレルシフタ(ビ
ットシフト回路)28とにより構成され、バレルシフタ
28の出力が回転因子を記憶した実数部、虚数部用のR
OMテーブル29,30のアドレスとして入力されるよ
うに構成されている。
【0048】このような構成において、その動作の様子
を表7にまとめて示す。
【0049】
【表7】
【0050】まず、FFT演算の第1段目(m=0)で
は、カウンタ27は“0”を出力し、バレルシフタ28
のシフトビット数は“0”であるため、下位の“0”デ
ータ
【外20】 のバタフライ演算で必要とされる回転因子として、全て
同一アドレスのデータ(cos0−jsin0)が使用され
る。
【0051】
【外21】 イ演算時には“00…01”を出力する。この結果、バ
レルシフタ28の出力は“00…0”と“10…0”と
なり、ROMテーブル29,30からは、cos0−jsin
0及びcos(π/2)−jsin(π/2)が出力される。
【0052】
【外22】 …011”を出力する。その後、バレルシフタ28で2
ビット下位方向へシフトした結果、“000…0”,
“010…0”,“100…0”,“110…0”が出
力される。よって、ROMテーブル29,30からは、
cos0−jsin0,cos(π/4)−jsin(π/4),cos(π
/2)−jsin(π/2)及びcos(3π/4)−jsin(3π
/4)が出力される。
【0053】以下、同様にして、FFT演算の段数mを
指定するだけでFFT演算の各段数に対応した回転因子
メモリをアクセスするためのアドレスを発生させること
ができる。
【0054】また、請求項3記載の発明の一実施例を図
3により説明する。本実施例は、前
【外23】 =1,2,…,N)サンプルのFFT演算時にアクセス
するためのアドレス発生回路に関するものである。この
ため、(N−1)ビットのカウンタ31と、このカウン
タ31出力の下位に(N−1)ビット分の“0”データ
を接続して上位方向へ(N−n)ビット分だけビットシ
フトするためのバレルシフタ(ビットシフト回路)32
と、このバレルシフタ32の出力についてFFT演算の
段数mのビット数だけ上位ビットを通過させる一方、残
りの下位ビットについては“0”データを設定するマス
ク回路33とにより構成されている。このマスク回路3
3は段数mが入力されるデコーダ34と、このデコーダ
34の出力に応じて前記バレルシフタ32の各ビット出
力をゲートするための多数のANDゲート35とにより
構成されている。
【0055】ここに、前記デコーダ34は、表8に示す
ように、段数m情報に対応する出力端子からのみ“0”
を出力し、他の出力端子からは全て“1”を出力する機
能を持つものが用いられている。
【0056】
【表8】
【0057】また、N=8,n=3とした場合のカウン
タ31、バレルシフタ32及びマスク回路33の出力の
ビットパターンをまとめて表9に示す。
【0058】
【表9】
【0059】本実施例の場合、前記実施例(図2)の場
合と異なり、カウンタ31はFFT
【外24】 数を繰返す特徴を持つ。表9の例で説明すれば、mの値
に拘らず、カウンタ31は“0…0”〜“0…011”
を出力する。そして、バレルシフタ32により必要な
(n−1)ビット分が上位にシフトされる。その後、マ
スク回路33により、m=0の時には常に“00…0”
が出力され、m=1の時には前半2個が“00…0”、
後半2個が“10…0”として出力され、m=2の時に
は“000…0”,“010…0”,“100…0”,
“110…0”が出力される。
【0060】
【外25】 nとを指定するだけで、回転因子メモリをアクセスし得
るものとなる。
【0061】さらに、請求項4記載の発明の一実施例を
図4ないし図7により説明する。本
【外26】 するためのアドレス発生回路に関するものであるが、図
2、図3により説明した前述の実施例と異なり、虚数部
のデータを記憶するメモリ(ROMテーブル30)を使
用しないアドレス発生回路に関する。
【0062】このため、本実施例では、(N−1)ビッ
ト分のアドレスデータが入力されるアドレス折返し回路
36と、このアドレス折返し回路36出力に対して所定
の処理を施してNビット分のデータを出力するオフセッ
ト回路37と、入力される(N−1)ビット分のアドレ
スデータの上位に1ビットの“0”データを付加したデ
ータと、前記オフセット回路37から出力されたデータ
とを入力として、何れか一方を出力するデータセレクタ
38とにより構成され、このデータセレクタ38の出力
が回転因子データを記憶したROMテーブル39のアド
レスとして入力されるように構成されている。
【0063】ここに、前記アドレス折返し回路36は図
5に示すように(N−1)個の排他的ORゲート40
と、これらの排他的ORゲート40出力をA端子入力と
し(最上位ビットMSBは“0”データ)、“0”デー
タがB端子入力(最下位ビットLSBは最上位ビットM
SBのデータ)とされた加算器41とにより構成されて
いる。これにより、(N−1)ビットのアドレスデータ
が入力されてその最上位ビットMSBが“1”の時には
下位(N−2)ビット分を反転させた後で最下位ビット
LSBに最上位ビットMSBを加算して(N−1)ビッ
ト分のデータを出力するものとなる。
【0064】また、オフセット回路37は図6に示すよ
うに構成されており、前記アドレス折返し回路36から
の(N−1)ビット分の出力の最上位ビットMSBをイ
ンバータ42により反転させるとともにさらにその上位
側に反転前の最上位ビットMSBを加えてNビットのデ
ータを出力するものである。
【0065】このような構成において、本実施例の動作
原理を、回転因子メモリのデータ値とアドレスとの関係
を模式的に示す図7を参照して説明する。まず、回転因
子として実数部のデータをメモリより出力する場合は、
入力されたアドレスデータをそのままROMテーブル3
9のアドレスとして入力すればよい。一方、回転因子
【外27】
【0066】図4において、データセレクタ38のA入
力には回転因子として実数部のデータを出力する場合の
アドレスが与えられ、B入力には回転因子として虚数部
のデータを出力する場合のアドレスが与えられている。
【0067】しかして、N=8,n=4とした場合にお
ける、このような本実施例による各構成要素の出力デー
タのビットパターンをまとめて表10に示す。
【0068】
【表10】
【0069】
【外28】 37によって所望のアドレスデータを発生させているも
のである。
【0070】
【外29】 を入力し、実数部又は虚数部の何れを出力するかを指定
するだけで、回転因子データを出力し得るものとなる。
【0071】つづいて、請求項5記載の発明の一実施例
を図8及び図9により説明する。本
【外30】 ためのアドレス発生回路に関するものである。逆FFT
演算の場合、回転因子は
【外31】 と、虚数部の符号が反転する。この点に着目し、本実施
例では実数部のデータのみをメモリに格納し、メモリを
アクセスするアドレスのみを操作することで、逆FFT
演算のための回転因子を得るようにしたものである。
【0072】このため、前記実施例との対比では、アド
レス折返し回路36の前段側にMSB反転回路(最上位
ビット反転回路)43が付加され、アドレス折返し回路
36後段のオフセット回路37が省略されて構成されて
いる。ここに、MSB反転回路43は(N−1)ビット
のアドレスデータが入力されてその最上位ビットMSB
のみをインバータ44により反転させるようにしたもの
である。
【0073】このような構成において、本実施例の動作
原理を、回転因子メモリのデータ値とアドレスとの関係
を模式的に示す図9を参照して説明する。まず、回転因
子として実数部のデータをメモリより出力する場合は、
入力されたアドレスデータをそのままROMテーブル3
9のアドレスとして入力すればよい。一方、回転因子
【外32】
【0074】そのため、本実施例では、まず、入力され
たアドレスの最上位ビットMSBを
【外33】
【0075】しかして、N=8,n=4とした場合にお
ける、このような本実施例による各構成要素の出力デー
タのビットパターンをまとめて表11に示す。
【0076】
【表11】
【0077】
【外34】 までのアドレスデータを入力し、実数部又は虚数部の何
れを出力するかを指定するだけで、回転因子データを出
力し得るものとなる。
【0078】さらに、請求項6記載の発明の一実施例を
図10により説明する。本実施例は
【外35】 クセスするためのアドレス発生回路に関するものであっ
て、FFT演算及び逆FFT演算の何れのアクセスにも
対応し得るようにしたものである。
【0079】このため、基本的には、図4及び図8に示
した前述の実施例を組合せた構成とされるが、アドレス
折返し回路36、データセレクタ38及びROMテーブ
ル39の他は、FFT演算時と逆FFT演算時とで切換
え制御するため、制御信号入力端子付きMSB反転回路
45と制御信号入力端子付きオフセット回路46とが、
MSB反転回路43、オフセット回路37に代えて設け
られている。
【0080】ここに、制御信号入力端子付きMSB反転
回路45はアドレスデータの最上位ビットMSBに対し
て排他的ORゲート47を介在させ、この排他的ORゲ
ート47の一方を制御信号入力端子48として、FFT
演算時には“0”、逆FFT演算時には“1”なる制御
信号を与えるように構成されている。これにより、FF
T演算時には(N−1)ビットのアドレスデータをその
まま出力させる(反転処理を行わない)が、逆FFT演
算時には図8で説明した場合と同様に最上位ビットMS
Bのみを反転させて(N−1)ビットのデータを出力す
ることになる。
【0081】また、制御信号入力端子付きオフセット回
路46はアドレスデータの最上位ビットMSBに対して
ゲート回路による加算器49を介在させ、この加算器4
9の一方を制御信号入力端子48として、FFT演算時
には“0”、逆FFT演算時には“1”なる制御信号を
与えるように構成されている。これにより、入力データ
の最上位ビットMSBに対してFFT演算時には“1”
を加算し、逆FFT演算時には“0”を加算してそのキ
ャリービットを上位に加えたNビットのデータを出力す
ることになる。
【0082】即ち、制御信号入力端子48に対する制御
信号の切換えにより、FFT演算時であれば図4に示し
た場合と同様の構成・動作を示すものとなり、逆FFT
演算時であれば図8に示した場合と同様の構成・動作を
示すものとなり、FFT演算と逆FFT演算との両用が
可能となる。
【0083】このように、本実施例によれば、FFT演
算と逆FFT演算との何れの場合で
【外36】 の何れを出力するかを指定し、かつ、FFT演算と逆F
FT演算との何れの演算を行うかを指定するだけで、回
転因子データを出力し得るものとなる。
【0084】
【発明の効果】
【外37】 (ただし、n=1,2,…,Nなる整数)とするFFT
演算用のアドレス発生回路において、Nビットのカウン
タと、このカウンタからの出力が入力されてその最下位
ビットのみを反転させてNビットのデータを出力する最
下位ビット反転回路と、この最下位ビット反転回路から
の出力が入力されて(N−n)ビット分だけ上位方向へ
ビットシフトする第1ビットシフト回路と、前記最下位
ビット反転回路からの出力をこの第1ビットシフト回路
からの出力の上位に対して接続してFFT演算の段数m
(ただし、m=0,1,2,…,n−1なる整数)に相
当するビット数だけ上位方向にシフトしてその上位Nビ
ットを出力する第2ビットシフト回路と、この第2ビッ
トシフト回路からの出力が最上位ビットから最下位ビッ
トまでの並び順を逆順として入力されて下位方向へ(N
−n)ビット分だけビットシフトする第3ビットシフト
回路とを設けたので、バタフライ演算において回転因子
に乗算されるデータを先に入力させることができ、演算
処理効率を向上させることができ、また、回転因子のア
クセス順序が規則性を持つため、回転因子のアクセスも
容易とすることができ、また、データのビット逆順の並
べ換え処理をアドレスデータの変換処理として行うよう
にしたので、FFT演算に先立ちビット逆順でサンプル
データをメモリに入力させるとか、メモリ内容を並べ換
える、といったデータ処理も不要にでき、さらには、F
FT演算のサンプル数であ
【外38】 制御も容易なものとすることができる。
【0085】
【外39】 ,Nなる整数)とするFFT演算の回転因子を記憶した
メモリをアクセスするためのアドレス発生回路におい
て、(N−1)ビットのカウンタと、このカウンタから
の出力の下位に(N−1)ビット分の“0”データを接
続してFFT演算の段数m(ただし、m=0,1,2,
…,n−1なる整数)に相当するビット数だけ下位方向
にシフトしてその下位(N−1)ビットを出力するビッ
トシフト回路とを設けて、FFT演算の段数mの指定だ
けで、回転因子メモリをアクセスするためのアドレスを
発生し得るようにしたので、制御をより容易なものとす
ることができる。
【0086】同様に、請求項3記載の発明では、(N−
1)ビットのカウンタと、このカウンタからの出力の下
位に(N−1)ビット分の“0”データを接続して(N
−n)ビット分だけ上位方向にシフトしてその上位(N
−1)ビットを出力するビットシフト回路と、このビッ
トシフト回路からの出力が入力されてFFT演算の段数
m(ただし、m=0,1,2,…,n−1なる整数)に
相当するビット数のデータをそのまま出力し、残りの下
位ビットのデータを“0”にして出力するマス
【外40】 定だけで、回転因子メモリをアクセスするためのアドレ
スを発生し得るようにしたので、請求項2記載の発明の
場合と同様に、回転因子メモリをアクセスするための制
御をより容易化でき、さらには、各段において、カウン
タは同一のカウントアップを繰返すため、カウンタへの
入力クロックパルス数を一定にできることにもなり、外
部からのクロック制御も容易にできる。
【0087】
【外41】 憶したメモリをアクセスするためのアドレス発生回路に
おいて、(N−1)ビットのアドレスデータが入力され
てその最上位ビットが“1”の時には下位(N−2)ビ
ット分を反転させた後で最下位ビットに最上位ビットを
加算して(N−1)ビット分のデータを出力するアドレ
ス折返し回路と、このアドレス折返し回路からの出力の
最上位ビットを反転させるとともにその上位側に反転前
の最上位ビットを加えてNビットのデータを出力するオ
フセット回路と、前記(N−1)ビットのアドレスデー
タの上位に“0”データを加えたNビットのデータとこ
のオフセット回路からの出力されるデータとを入力とし
て何れか一方を前記メモリのアドレス入力として出力す
るデータセレクタとを設けて、FFT演算時の回転因子
として、実数部のデータのみを重複せずにメモリへ記憶
し、アドレス折返し回路とオフセット回路とによりアド
レスデータの変換処理を行い、回転因子の虚数部データ
を出力するようにしたので、データの符号反転処理や、
実数部と虚数部との入換え処理等を不要にできる。
【0088】
【外42】 たメモリをアクセスするためのアドレス発生回路におい
て、(N−1)ビットのアドレスデータが入力されてそ
の最上位ビットのみを反転させる最上位ビット反転回路
と、この最上位ビット反転回路からの出力が入力されて
その最上位ビットが“1”の時には下位(N−2)ビッ
ト分を反転させた後で最下位ビットに最上位ビットを加
算して(N−1)ビット分のデータを出力するアドレス
折返し回路と、このアドレス折返し回路から出力される
データと前記アドレスデータとを入力として何れか一方
を前記メモリのアドレス入力として出力するデータセレ
クタとを設けて、逆FFT演算時の回転因子として、実
数部のデータのみを重複せずにメモリへ記憶し、最上位
ビット反転回路とアドレス折返し回路とによりアドレス
データの変換処理を行い、回転因子の虚数部データを出
力するようにしたので、やはり、請求項4記載の発明の
場合と同様に、データの符号反転処理や、実数部と虚数
部との入換え処理等を不要にできる。
【0089】
【外43】 ワードのデータを記憶したメモリをアクセスするための
アドレス発生回路において、(N−1)ビットのアドレ
スデータが入力されてFFT演算時にはそのまま、逆F
FT演算時には最上位ビットのみを反転させて(N−
1)ビットのデータを出力する制御信号入力端子付き最
上位ビット反転回路と、この最上位ビット反転回路から
の出力が入力されてその最上位ビットが“1”の時には
下位(N−2)ビット分を反転させた後で最下位ビット
に最上位ビットを加算して(N−1)ビット分のデータ
を出力するアドレス折返し回路と、このアドレス折返し
回路から出力される(N−1)ビット分のデータが入力
されてこの入力データの最上位ビットに対してFFT演
算時には“1”を加算し、逆FFT演算時には“0”を
加算してそのキャリービットを上位に加えたNビットの
データを出力する制御信号入力端子付きオフセット回路
と、前記アドレスデータの上位に“0”データを加えた
Nビットのデータとこのオフセット回路からの出力され
るNビットのデータとを入力として何れか一方を前記メ
モリのアドレス入力として出力するデータセレクタとを
設けて、FFT演算及び逆FFT演算時の回転因子とし
て、実数部のデータのみを重複せずにメモリへ記憶し、
最上位ビット反転回路とアドレス折返し回路とオフセッ
ト回路とによりアドレスデータの変換処理を行い、回転
因子の虚数部データを出力するようにしたので、データ
の符号反転処理や、実数部と虚数部との入換え処理等を
不要として、FFT演算及び逆FFT演算に両用し得る
ものとなる。
【図面の簡単な説明】
【図1】請求項1記載の発明の一実施例を示すブロック
図である。
【図2】請求項2記載の発明の一実施例を示すブロック
図である。
【図3】請求項3記載の発明の一実施例を示すブロック
図である。
【図4】請求項4記載の発明の一実施例を示すブロック
図である。
【図5】そのアドレス折返し回路の構成例を示す回路図
である。
【図6】そのオフセット回路の構成例を示す回路図であ
る。
【図7】回転因子メモリにおけるデータ値とアドレスと
の関係を示す模式図である。
【図8】請求項5記載の発明の一実施例を示すブロック
図である。
【図9】回転因子メモリにおけるデータ値とアドレスと
の関係を示す模式図である。
【図10】請求項6記載の発明の一実施例を示すブロッ
ク図である。
【図11】第1の従来例を示すブロック図である。
【図12】そのビット並び変更処理を示す説明図であ
る。
【図13】バタフライ演算処理を示す模式図である。
【図14】第2の従来例を示すブロック図である。
【図15】第3の従来例を示すブロック図である。
【図16】第4の従来例を示すメモリマップである。
【図17】1単位のバタフライ演算処理を示す模式図で
ある。
【符号の説明】
21 カウンタ 22 最下位ビット反転回路 23 第1ビットシフト回路 24 第2ビットシフト回路 26 第3ビットシフト回路 27 カウンタ 28 ビットシフト回路 31 カウンタ 32 ビットシフト回路 33 マスク回路 36 アドレス折返し回路 37 オフセット回路 38 データセレクタ 43 最上位ビット反転回路 45 制御信号入力端子付き最上位ビット反転回路 46 制御信号入力端子付きオフセット回路

Claims (6)

    【特許請求の範囲】
  1. 【請求項1】 【外1】 エ変換演算用のアドレス発生回路において、Nビットの
    カウンタと、このカウンタからの出力が入力されてその
    最下位ビットのみを反転させてNビットのデータを出力
    する最下位ビット反転回路と、この最下位ビット反転回
    路からの出力が入力されて(N−n)ビット分だけ上位
    方向へビットシフトする第1ビットシフト回路と、前記
    最下位ビット反転回路からの出力をこの第1ビットシフ
    ト回路からの出力の上位に対して接続して高速フーリエ
    変換演算の段数m(ただし、m=0,1,2,…,n−
    1なる整数)に相当するビット数だけ上位方向にシフト
    してその上位Nビットを出力する第2ビットシフト回路
    と、この第2ビットシフト回路からの出力が最上位ビッ
    トから最下位ビットまでの並び順を逆順として入力され
    て下位方向へ(N−n)ビット分だけビットシフトする
    第3ビットシフト回路とを設けたことを特徴とするアド
    レス発生回路。
  2. 【請求項2】 【外2】 エ変換演算の回転因子を記憶したメモリをアクセスする
    ためのアドレス発生回路において、(N−1)ビットの
    カウンタと、このカウンタからの出力の下位に(N−
    1)ビット分の“0”データを接続して高速フーリエ変
    換演算の段数m(ただし、m=0,1,2,…,n−1
    なる整数)に相当するビット数だけ下位方向にシフトし
    てその下位(N−1)ビットを出力するビットシフト回
    路とを設けたことを特徴とするアドレス発生回路。
  3. 【請求項3】 【外3】 エ変換演算の回転因子を記憶したメモリをアクセスする
    ための高速フーリエ変換演算用のアドレス発生回路にお
    いて、(N−1)ビットのカウンタと、このカウンタか
    らの出力の下位に(N−1)ビット分の“0”データを
    接続して(N−n)ビット分だけ上位方向にシフトして
    その上位(N−1)ビットを出力するビットシフト回路
    と、このビットシフト回路からの出力が入力されて高速
    フーリエ変換演算の段数m(ただし、m=0,1,2,
    …,n−1なる整数)に相当するビット数のデータをそ
    のまま出力し残りの下位ビットのデータを“0”にして
    出力するマスク回路とを設けたことを特徴とするアドレ
    ス発生回路。
  4. 【請求項4】 【外4】 するためのアドレス発生回路において、(N−1)ビッ
    トのアドレスデータが入力されてその最上位ビットが
    “1”の時には下位(N−2)ビット分を反転させた後
    で最下位ビットに最上位ビットを加算して(N−1)ビ
    ット分のデータを出力するアドレス折返し回路と、この
    アドレス折返し回路からの出力の最上位ビットを反転さ
    せるとともにその上位側に反転前の最上位ビットを加え
    てNビットのデータを出力するオフセット回路と、前記
    (N−1)ビットのアドレスデータの上位に“0”デー
    タを加えたNビットのデータとこのオフセット回路から
    の出力されるデータとを入力として何れか一方を前記メ
    モリのアドレス入力として出力するデータセレクタとを
    設けたことを特徴とするアドレス発生回路。
  5. 【請求項5】 【外5】 るためのアドレス発生回路において、(N−1)ビット
    のアドレスデータが入力されてその最上位ビットのみを
    反転させる最上位ビット反転回路と、この最上位ビット
    反転回路からの出力が入力されてその最上位ビットが
    “1”の時には下位(N−2)ビット分を反転させた後
    で最下位ビットに最上位ビットを加算して(N−1)ビ
    ット分のデータを出力するアドレス折返し回路と、この
    アドレス折返し回路から出力されるデータと前記アドレ
    スデータとを入力として何れか一方を前記メモリのアド
    レス入力として出力するデータセレクタとを設けたこと
    を特徴とするアドレス発生回路。
  6. 【請求項6】 【外6】 を記憶したメモリをアクセスするためのアドレス発生回
    路において、(N−1)ビットのアドレスデータが入力
    されて高速フーリエ変換演算時にはそのまま、逆高速フ
    ーリエ変換演算時には最上位ビットのみを反転させて
    (N−1)ビットのデータを出力する制御信号入力端子
    付き最上位ビット反転回路と、この最上位ビット反転回
    路からの出力が入力されてその最上位ビットが“1”の
    時には下位(N−2)ビット分を反転させた後で最下位
    ビットに最上位ビットを加算して(N−1)ビット分の
    データを出力するアドレス折返し回路と、このアドレス
    折返し回路から出力される(N−1)ビット分のデータ
    が入力されてこの入力データの最上位ビットに対して高
    速フーリエ変換演算時には“1”を加算し、逆高速フー
    リエ変換演算時には“0”を加算してそのキャリービッ
    トを上位に加えたNビットのデータを出力する制御信号
    入力端子付きオフセット回路と、前記アドレスデータの
    上位に“0”データを加えたNビットのデータとこのオ
    フセット回路からの出力されるNビットのデータとを入
    力として何れか一方を前記メモリのアドレス入力として
    出力するデータセレクタとを設けたことを特徴とするア
    ドレス発生回路。
JP4065636A 1992-03-24 1992-03-24 アドレス発生回路 Pending JPH05266059A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP4065636A JPH05266059A (ja) 1992-03-24 1992-03-24 アドレス発生回路

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP4065636A JPH05266059A (ja) 1992-03-24 1992-03-24 アドレス発生回路

Publications (1)

Publication Number Publication Date
JPH05266059A true JPH05266059A (ja) 1993-10-15

Family

ID=13292714

Family Applications (1)

Application Number Title Priority Date Filing Date
JP4065636A Pending JPH05266059A (ja) 1992-03-24 1992-03-24 アドレス発生回路

Country Status (1)

Country Link
JP (1) JPH05266059A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7719906B2 (en) 2007-07-20 2010-05-18 Elpida Memory, Inc. Semiconductor device
US8032576B2 (en) 2006-09-26 2011-10-04 Oki Semiconductor Co., Ltd. Fast fourier transform circuit and fast fourier transform method

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8032576B2 (en) 2006-09-26 2011-10-04 Oki Semiconductor Co., Ltd. Fast fourier transform circuit and fast fourier transform method
US7719906B2 (en) 2007-07-20 2010-05-18 Elpida Memory, Inc. Semiconductor device

Similar Documents

Publication Publication Date Title
JP4022546B2 (ja) 高速フーリエ変換を用いた混合−基数方式の変調装置
KR100836050B1 (ko) 고속 푸리에 변환 연산 장치
JPH06139268A (ja) 高速フーリエ変換用ディジット反転のためのアドレス発生器及び反転フィールドシーケンス発生器並びにディジット反転シーケンス信号発生方法
US5491652A (en) Fast Fourier transform address generator
US4594687A (en) Address arithmetic circuit of a memory unit utilized in a processing system of digitalized analogue signals
JP4755610B2 (ja) 高速フーリエ変換装置
JP2006074758A (ja) 偶数簡約グレイ・コードの生成方法
JPH05266059A (ja) アドレス発生回路
US4974188A (en) Address sequence generation by means of reverse carry addition
USH570H (en) Fast Fourier transform data address pre-scrambler circuit
JP2001056806A (ja) 高速フーリエ変換装置
JPH11110370A (ja) 高速フーリエ変換装置および方法、可変ビットリバース回路、逆高速フーリエ変換装置および方法、並びにofdm受信および送信装置
JPS6043742A (ja) 可変長デ−タ読出し回路
JPH05324697A (ja) 高速フーリエ変換演算用回転因子生成回路
JP5072558B2 (ja) データ処理装置
JP2803788B2 (ja) パリテイ予測およびストリング制御を有する高速パイプライン・シフタ要素
JP2001177378A (ja) Firデジタルフィルタ
JP3390599B2 (ja) 除算装置
JP2751531B2 (ja) ループコードfft演算方式
KR100256463B1 (ko) 임의의 베이스의 심볼을 가산하거나 감산하는 프로세스 및 시스템
JP2000232488A (ja) π/4シフトQPSK変調器および通信装置
JPS63205767A (ja) ビツトリバ−ス装置
JPS5811121B2 (ja) デイジタル正弦波合成器
JP2643576B2 (ja) 高速フーリエ変換用番地発生回路
JPH0588887A (ja) データ処理装置