JPH10307811A - 演算装置および演算方法 - Google Patents

演算装置および演算方法

Info

Publication number
JPH10307811A
JPH10307811A JP9114713A JP11471397A JPH10307811A JP H10307811 A JPH10307811 A JP H10307811A JP 9114713 A JP9114713 A JP 9114713A JP 11471397 A JP11471397 A JP 11471397A JP H10307811 A JPH10307811 A JP H10307811A
Authority
JP
Japan
Prior art keywords
radix
circuit
input
output
complex
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.)
Granted
Application number
JP9114713A
Other languages
English (en)
Other versions
JP3951071B2 (ja
Inventor
Yasunari Ozaki
康成 小崎
Yasunari Ikeda
康成 池田
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.)
Sony Corp
Original Assignee
Sony 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 Sony Corp filed Critical Sony Corp
Priority to JP11471397A priority Critical patent/JP3951071B2/ja
Priority to AU63639/98A priority patent/AU6363998A/en
Priority to US09/067,802 priority patent/US6240062B1/en
Priority to EP98303475A priority patent/EP0875839A1/en
Publication of JPH10307811A publication Critical patent/JPH10307811A/ja
Application granted granted Critical
Publication of JP3951071B2 publication Critical patent/JP3951071B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/30007Arrangements for executing specific machine instructions to perform operations on data operands
    • G06F9/3001Arithmetic instructions
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/14Fourier, Walsh or analogous domain transformations, e.g. Laplace, Hilbert, Karhunen-Loeve, transforms
    • G06F17/141Discrete Fourier transforms
    • G06F17/142Fast Fourier transforms, e.g. using a Cooley-Tukey type algorithm

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Theoretical Computer Science (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Discrete Mathematics (AREA)
  • Algebra (AREA)
  • Databases & Information Systems (AREA)
  • Complex Calculations (AREA)

Abstract

(57)【要約】 【課題】 基数4および基数2のバタフライ演算を同一
の回路により実行する。 【解決手段】 基数2のバタフライ演算を行う場合に
は、破線で示す信号線をセレクタ等を用いて除外すると
ともに、複素乗算回路1と複素加算回路5を結ぶ信号
線、複素乗算回路2と複素加算回路7を結ぶ信号線、複
素乗算回路3と複素加算回路6を結ぶ信号線、および、
複素加算回路3と複素加算回路7を結ぶ信号線の乗数
を、それぞれ、−j,−1,−1,−jから−1,1,
1,−1に変更する。その結果、2組のバタフライ演算
回路(A,B)が形成される。また、基数4の演算を行
う場合には、破線で示す信号線を全て接続した状態とす
るとともに、各パスの乗数を図示するように設定する。
その結果、1組の基数4のバタフライ演算回路が形成さ
れる。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、信号処理装置およ
び信号処理方法に関し、特に、高速離散フーリエ変換等
において多用される信号処理装置および信号処理方法に
関する。
【0002】
【従来の技術】例えば、DVB−T(Digital Video Br
oadcasting-Terrestrial)などに用いられている高速離
散フーリエ変換(FFT:Fast Fourier Transform)は
バタフライ演算と呼ばれる複素演算の繰り返しにより実
現される。
【0003】ところで、バタフライ演算は基数と呼ばれ
る数により同時に演算するデータ数が異なり、一度のF
FTにおけるバタフライ演算の繰り返し回数もこの基数
に依存して異なる。
【0004】一般的には、種々の利便性(例えば、構成
の簡易性など)から基数4のバタフライ演算回路が用い
られる事が多いが、FFT演算の対象となるデータ数
(これをFFTのポイント数と呼ぶ)が4のべき乗で無
い場合は基数4のバタフライ演算のみでFFTを行うこ
とは出来ない。
【0005】その場合、基数4のバタフライ演算回路と
基数2のバタフライ演算を適宜組み合わせて用いなけれ
ばならない。従って、回路構成上は、基数2のバタフラ
イ演算回路を追加する必要が生ずる。
【0006】図5に従来の基数4のバタフライ演算回路
(図5(A))および基数2のバタフライ演算回路(図
5(B))の一例を示す。
【0007】図5(A)に示す回路は基数4のバタフラ
イ演算回路であり、複素乗算回路1乃至3および複素加
算回路4乃至7により構成されている。また、図の左側
の黒丸と、図の右側の複素加算回路4乃至7を結ぶ信号
線は、入力された複素データを1倍、−1倍、j倍、ま
たは、−j倍して出力するようになされている。
【0008】なお、入力データIA0乃至IA3はそれ
ぞれ複素データである。また、IB1乃至IB3は、複
素定数データであり、例えば、ROMなどに格納された
データが読み出されて供給されるようになされている。
【0009】次に、以上の従来例の動作について説明す
る。
【0010】複素乗算回路1乃至3は、IA1とIB
1、IA2とIB2、IA3とIB3をそれぞれ複素乗
算し、演算結果を出力する。
【0011】入力データIA0は、複素加算回路4乃至
5にそれぞれ入力される。複素乗算回路1の出力は、1
倍、−j倍、−1倍、または、j倍されて、それぞれ、
複素加算回路4乃至7に入力される。複素乗算回路2の
出力は、1倍、−1倍、1倍、または、−1倍されて、
それぞれ、複素加算回路4乃至5に入力される。複素乗
算回路3の出力は、1倍、j倍、−1倍、または、−j
倍されて、それぞれ、複素加算回路4乃至7に入力され
る。
【0012】複素加算回路4乃至7は、入力データIA
0および、複素乗算回路1乃至3の出力を定数倍(1
倍、−1倍、j倍、または、−j倍)したものをそれぞ
れ加算し、演算結果をO0乃至O3として出力する。
【0013】以上のような回路により、基数4のバタフ
ライ演算を実行することができる。
【0014】次に、図5(B)を参照して、従来におけ
る、基数2のバタフライ演算回路の構成例について説明
する。
【0015】図5(B)は、従来における基数2のバタ
フライ演算回路の構成例を示している。この図に示すよ
うに、基数2のバタフライ演算回路は、複素乗算回路8
および複素加算回路9,10により構成されている。な
お、IA0,IA1は入力データを示しており、また、
IB1は、例えば、ROMなどに格納されている定数デ
ータを示している。
【0016】次に、以上の構成例の動作について説明す
る。
【0017】入力データIA0は、複素加算回路9およ
び複素加算回路10にそれぞれ入力される。また、入力
データIA1と定数データIB1は、複素乗算回路8に
入力され、そこで複素乗算が行われた後、複素加算回路
9に供給されるとともに、−1倍されて複素加算回路1
0に供給される。
【0018】複素加算回路9は、入力データIA0と複
素乗算回路8の出力とを加算して、得られたデータをO
0として出力する。また、複素加算回路10は、入力デ
ータIA0と複素乗算回路8の出力が−1倍されたもの
とを加算してO1として出力する。
【0019】以上のような構成により、基数2のバタフ
ライ演算を実行することができる。
【0020】
【発明が解決しようとする課題】ところで、ポイント数
が4のべき乗では無い場合には、前述の基数4および基
数2のバタフライ演算回路の双方を用いてFFT回路を
構成する必要があり、ポイント数が4のべき乗の場合の
FFT回路に比べて基数2のバタフライ演算回路(図5
(B)の回路)の分だけ回路規模が増大する。しかも基
数2のバタフライ演算回路はFFTの処理過程において
一部でしか用いられないので、使用頻度の少ない回路を
別途形成しなければならない負担は甚大である。
【0021】本発明は、以上のような状況に鑑みてなさ
れたものであり、ポイント数が4のべき乗ではないFF
T回路において、基数2のバタフライ演算回路を別途形
成する手間を省くことを目的とし、以て、回路資源の有
効利用を図ることを目的とするものである。
【0022】
【課題を解決するための手段】請求項1に記載の演算装
置は、基数2または基数4の何れのバタフライ演算を実
行するかを示す信号が入力される入力手段と、入力手段
から入力される信号に応じて、所定のデータを選択する
選択手段と、入力手段から入力される信号に応じて、所
定のデータの実数部と虚数部とを置換する置換手段と、
入力手段から入力される信号に応じて、所定のデータの
実数部または虚数部の符号を反転する符号反転手段とを
備え、入力手段より基数2の演算を実行することを示す
信号が入力された場合は、2組の基数2のバタフライ演
算を並列して実行し、入力手段より基数4の演算を実行
することを示す信号が入力された場合には、1組の基数
4のバタフライ演算を実行することを特徴とする。
【0023】請求項3に記載の演算方法は、基数2また
は基数4の何れのバタフライ演算を実行するかを示す信
号が入力される入力ステップと、入力ステップから入力
される信号に応じて、所定のデータを選択する選択ステ
ップと、入力ステップから入力される信号に応じて、所
定のデータの実数部と虚数部とを置換する置換ステップ
と、入力ステップから入力される信号に応じて、所定の
データの実数部または虚数部の符号を反転する符号反転
ステップとを備え、入力ステップより基数2の演算を実
行することを示す信号が入力された場合は、2組の基数
2のバタフライ演算を並列して実行し、入力ステップよ
り基数4の演算を実行することを示す信号が入力された
場合には、1組の基数4のバタフライ演算を実行するこ
とを特徴とする。
【0024】請求項1に記載の演算装置においては、基
数2または基数4の何れのバタフライ演算を実行するか
を示す信号が入力手段より入力され、入力手段から入力
される信号に応じて、所定のデータを選択手段が選択
し、入力手段から入力される信号に応じて、所定のデー
タの実数部と虚数部とを置換手段が置換し、入力手段か
ら入力される信号に応じて、所定のデータの実数部また
は虚数部の符号を符号反転手段が反転し、入力手段より
基数2の演算を実行することを示す信号が入力された場
合は、2組の基数2のバタフライ演算を並列して実行
し、入力手段より基数4の演算を実行することを示す信
号が入力された場合には、1組の基数4のバタフライ演
算を実行する。例えば、入力手段から、基数2または基
数4のバタフライ演算を実行することを示す制御信号が
入力された場合には、選択手段であるセレクタが、回路
の各部の信号線の接続状態を適宜変更し、制御信号に応
じて置換手段であるセレクタが回路各部のデータの実数
部と虚数部を適宜置換し、更に、制御信号に応じて符号
反転手段である符号反転回路が回路各部のデータの実数
部または虚数部の符号を適宜反転する。
【0025】請求項3に記載の演算方法においては、基
数2または基数4の何れのバタフライ演算を実行するか
を示す信号が入力ステップより入力され、入力ステップ
から入力される信号に応じて、所定のデータを選択ステ
ップが選択し、入力ステップから入力される信号に応じ
て、所定のデータの実数部と虚数部とを置換ステップが
置換し、入力ステップから入力される信号に応じて、所
定のデータの実数部または虚数部の符号を符号反転ステ
ップが反転し、入力ステップより基数2の演算を実行す
ることを示す信号が入力された場合は、2組の基数2の
バタフライ演算を並列して実行し、入力ステップより基
数4の演算を実行することを示す信号が入力された場合
には、1組の基数4のバタフライ演算を実行する。例え
ば、入力ステップから、基数2または基数4のバタフラ
イ演算を実行することを示す制御信号が入力された場合
には、選択ステップであるセレクタが、回路の各部の信
号線の接続状態を適宜変更し、制御信号に応じて置換ス
テップであるセレクタが回路各部のデータの実数部と虚
数部を適宜置換し、更に、制御信号に応じて符号反転ス
テップである符号反転回路が回路各部のデータの実数部
または虚数部の符号を適宜反転する。
【0026】
【発明の実施の形態】図1は、本発明の演算装置の動作
原理を説明するための図である。この図において、図5
(A)と同一の部分には同一の符号を付してあるので、
その説明は適宜省略する。
【0027】この図において、破線で示されている信号
線が全て接続されている状態では、この回路は1組の基
数4のバタフライ演算回路になる。これは、図5(A)
に示す基数4のバタフライ演算回路と同様の構成となっ
ていることからも理解できる。
【0028】次に、破線で示されている信号線が接続さ
れていない状態であって、かつ、以下に示すように各信
号線の倍数が変更されると、図1に示す回路は、2組の
基数2のバタフライ演算回路となる。
【0029】1 複素乗算回路1と複素加算回路5を結
ぶ信号線の入力データに対する倍数を−j倍から−1倍
に変更する。 2 複素乗算回路3と複素加算回路6を結ぶ信号線の入
力データに対する倍数を−1倍から1倍に変更する。 3 複素乗算回路2と複素加算回路7を結ぶ信号線の入
力データに対する倍数を−1倍から1倍に変更する。 4 複素乗算回路3と複素加算回路7を結ぶ信号線の入
力データに対する倍数を−j倍から−1倍に変更する。
【0030】図2は、図1に示す破線で示す信号線の除
去操作と、各信号線の倍数を変更する操作を可能とする
回路の一例のブロック図を示している。
【0031】この図において、図1と対応する部分に
は、同一の符号を付してあるのでその説明は省略する。
この図において、加算回路101乃至112は、2入力
1出力の複素加算回路である。
【0032】セレクタ制御回路100(入力手段)は、
基数4の演算を行う場合は、セレクタ113乃至121
(選択手段、置換手段)に上側の入力端子を選択させ、
また、基数2の演算を行う場合には、下側の入力端子を
選択させるようになされている。
【0033】セレクタ113は、セレクタ制御回路10
0の制御に従って、基数4の演算を行う場合は複素乗算
回路2の出力を選択し、また、基数2の演算を行う場合
には定数データIA2を選択して出力するようになされ
ている。
【0034】セレクタ114は、セレクタ制御回路10
0の制御に従って、基数4の演算を行う場合は、−j倍
された複素乗算回路1の出力を選択して複素加算回路1
03に出力し、また、基数2の演算を行う場合には−1
倍された複素乗算回路1の出力を選択して複素加算回路
103に出力するようになされている。
【0035】セレクタ115は、セレクタ制御回路10
0の制御に従って、基数4の演算を行う場合は、−1倍
された複素乗算回路3の出力を選択して複素加算回路1
06に出力し、また、基数2の演算を行う場合には1倍
された複素乗算回路3の出力を選択して複素加算回路1
06に出力するようになされている。
【0036】セレクタ116は、セレクタ制御回路10
0の制御に従って、基数4の演算を行う場合は、−1倍
されたセレクタ113の出力を選択して複素加算回路1
08に出力し、また、基数2の演算を行う場合には1倍
されたセレクタ113の出力を選択して複素加算回路1
08に出力するようになされている。
【0037】セレクタ117は、セレクタ制御回路10
0の制御に従って、基数4の演算を行う場合は、−j倍
された複素乗算回路3の出力を選択して複素加算回路1
08に出力し、また、基数2の演算を行う場合には−1
倍された複素乗算回路3の出力を選択して複素加算回路
108に出力するようになされている。
【0038】セレクタ118は、セレクタ制御回路10
0の制御に従って、基数4の演算を行う場合は、複素加
算回路109の出力を選択して出力し、また、基数2の
演算を行う場合には複素加算回路101の出力を選択し
て出力するようになされている。
【0039】セレクタ119は、セレクタ制御回路10
0の制御に従って、基数4の演算を行う場合は、複素加
算回路110の出力を選択して出力し、また、基数2の
演算を行う場合には複素加算回路103の出力を選択し
て出力するようになされている。
【0040】セレクタ120は、セレクタ制御回路10
0の制御に従って、基数4の演算を行う場合は、複素加
算回路111の出力を選択して出力し、また、基数2の
演算を行う場合には複素加算回路106の出力を選択し
て出力するようになされている。
【0041】セレクタ121は、セレクタ制御回路10
0の制御に従って、基数4の演算を行う場合は、複素加
算回路112の出力を選択して出力し、また、基数2の
演算を行う場合には複素加算回路108の出力を選択し
て出力するようになされている。
【0042】いま、セレクタ制御回路100に基数2を
選択する制御信号が入力され、その結果、セレクタ11
3乃至121が全て下側の入力端子を選択しているとす
る。その場合、セレクタ118は、複素加算回路101
の出力を選択することになるので、出力O0は、以下の
式により表すことができる。
【0043】 O0=IA0+IA1×IB1 ・・・(1)
【0044】また、セレクタ119は、複素加算回路1
03の出力を選択しており、更に、複素加算回路103
は、セレクタ114から出力されている−1倍された
(IA1×IB1)と入力データIA0とを加算して出
力するので、出力O1は以下の式により表すことができ
る。
【0045】 O1=IA0−IA1×IB1 ・・・(2)
【0046】セレクタ120は、複素加算回路106の
出力を選択しており、更に、複素加算回路106は、セ
レクタ115から出力されている1倍された(IA3×
IB3)と定数データIA2(セレクタ113により選
択されているデータ)とを加算して出力するので、出力
O2は以下の式により表すことができる。
【0047】 O2=IA2+IA3×IB3 ・・・(3)
【0048】セレクタ121は、複素加算回路108の
出力を選択しており、更に、複素加算回路108は、セ
レクタ116から出力されている1倍されたIA2と、
セレクタ117から出力されている−1倍された(IA
3×IB3)とを加算して出力するので、出力O3は以
下の式により表すことができる。
【0049】 O3=IA2−IA3×IB3 ・・・(4)
【0050】従って、セレクタ113乃至121が全て
下側の入力端子を選択している場合には、以上の式
(1)乃至(4)が示すように、図2に示す回路は、図
5(B)に示す基数2のバタフライ演算回路となる。
【0051】次に、セレクタ113乃至121が全て上
側の入力端子を選択している場合について説明する。
【0052】セレクタ118が上側の入力端子を選択し
ている場合は、複素加算回路109の出力が選択される
ことになる。複素加算回路109は、複素加算回路10
1の出力と複素加算回路102の出力とを加算して出力
するので、出力信号O0は、以下の式によって表すこと
ができる。なお、このとき、セレクタ113は、複素乗
算回路2の出力を選択している。
【0053】 O0=IA0+IA1×IB1+IA2×IB2+IA3×IB3 ・・・(5)
【0054】セレクタ119が上側の入力端子を選択し
ている場合は、複素加算回路110の出力が選択される
ことになる。複素加算回路110は、複素加算回路10
3の出力と複素加算回路104の出力とを加算して出力
するので、出力信号O1は、以下の式によって表すこと
ができる。なお、このとき、セレクタ114は、−j倍
された複素乗算回路1の出力を選択している。
【0055】 O1=IA0−j・IA1×IB1−IA2×IB2+j・IA3×IB3 ・・・(6)
【0056】セレクタ120が上側の入力端子を選択し
ている場合は、複素加算回路111の出力が選択される
ことになる。複素加算回路111は、複素加算回路10
5の出力と複素加算回路106の出力とを加算して出力
するので、出力信号O2は、以下の式によって表すこと
ができる。なお、このとき、セレクタ115は、−1倍
された複素乗算回路3の出力を選択しているものとす
る。
【0057】 O2=IA0−IA1×IB1+IA2×IB2−IA3×IB3 ・・・(7)
【0058】セレクタ121が上側の入力端子を選択し
ている場合は、複素加算回路112の出力が選択される
ことになる。複素加算回路112は、複素加算回路10
7の出力と複素加算回路108の出力とを加算して出力
するので、出力信号O3は、以下の式によって表すこと
ができる。なお、このとき、セレクタ116は、−1倍
されたセレクタ113の出力(IA2×IB2)を選択
しており、また、セレクタ117は、−j倍された複素
乗算回路3の出力を選択している。
【0059】 O3=IA0+j・IA1×IB1−IA2×IB2−j・IA3×IB3 ・・・(8)
【0060】従って、セレクタ113乃至121が全て
上側の入力端子を選択している場合には、以上の式
(5)乃至(8)が示すように、図2に示す回路は、図
5(A)に示す基数4のバタフライ演算回路となる。
【0061】次に、図3を参照して、実際の回路構成例
について説明する。
【0062】図3は、実際の回路の構成例を示す回路図
である。この図において、図2と対応する部分には、対
応する符号が付してあるので、その説明は適宜省略す
る。
【0063】この図において、乗算回路1−1乃至1−
4、および、加算回路1−5,1−6は、図2に示す複
素乗算回路1を実数部と虚数部に分割したものである。
即ち、加算回路1−5は、乗算回路1−1によって算出
されたIA1の実数部(IA1_Re)とIB1の実数
部(IB1_Re)の積から、乗算回路1−2によって
算出されたIA1の虚数部(IA1_Im)とIB1の
虚数部(IB1_Im)の積を減算して得られた結果を
(IA1×IB1)の実数部として出力するようになさ
れている。
【0064】加算回路1−6は、乗算回路1−3によっ
て算出されたIA1の実数部(IA1_Re)とIB1
の虚数部(IB1_Im)の積と、乗算回路1−4によ
って算出されたIA1の虚数部(IA1_Im)とIB
1の実数部(IB1_Re)の積とを加算して、得られ
た結果を(IA1×IB1)の虚数部として出力するよ
うになされている。
【0065】加算回路2−5,2−6,3−5,3−7
も同様の演算処理を実行することにより、それぞれ、
(IA2×IB2)の実数部、(IA2×IB2)の虚
数部、(IA3×IB3)の実数部、または、(IA3
×IB3)の虚数部を出力するようになされている。
【0066】セレクタ113−1,113−2は、図2
に示すセレクタ113を実数部と虚数部に分割して示し
たものである。即ち、セレクタ113−1は、基数2の
演算が選択された場合は上側の入力端子に入力されてい
るIA2の実数部(IA2_Re)を選択して出力し、
基数4の円案が選択された場合には下側の入力端子に入
力されている(IA2×IB2)の実数部を選択して出
力する。同様に、セレクタ113−2は、基数2の演算
が選択された場合は、上側の入力端子に入力されている
IA2の虚数部(IA2_Im)を選択して出力し、基
数4の演算が選択された場合には下側の入力端子に入力
されている(IA2×IB2)の虚数部を選択して出力
する。
【0067】符号反転回路200乃至205(符号反転
手段)は、加算回路1−5,1−6、セレクタ113−
1,113−2、加算回路3−5,3−6の出力データ
の符号を反転して出力するようになされている。
【0068】加算回路210乃至225は、回路前段の
所定の2点の出力信号を加算して出力するようになされ
ている。
【0069】ところで、図3の回路図においては、図2
に示すセレクタ114乃至117が省略されている。こ
れは、加算回路210乃至225より後段の回路を工夫
することにより、これらのセレクタが不要となる構成と
したためである。
【0070】なお、以下では、説明を簡略化するために
複素数fの実数部をRe(f)で表し、また、複素数f
の虚数部をIm(f)で表すものとする。
【0071】加算回路210は、IA0_Reと加算回
路1−5の出力(Re(IA1×IB1))を加算して
出力するようになされている。
【0072】加算回路211は、セレクタ113−1の
出力(IA2_ReまたはRe(IA2×IB2))と
加算回路3−5の出力(Re(IA3×IB3))を加
算して出力するようになされている。
【0073】加算回路212は、IA0_Imと加算回
路1−6の出力(Im(IA1×IB1))を加算して
出力するようになされている。
【0074】加算回路213は、セレクタ113−2の
出力(IA2_ImまたはIm(IA2×IB2))と
加算回路3−6の出力(Im(IA3×IB3))を加
算して出力するようになされている。
【0075】加算回路214は、IA0_Reと加算回
路1−6の出力(Im(IA1×IB1))を加算して
出力するようになされている。
【0076】加算回路215は、符号反転回路202の
出力(−IA2_Reまたは−Re(IA1×IB
1))と符号反転回路205の出力(−Im(IA3×
IB3))を加算して出力するようになされている。
【0077】加算回路216は、IA0_Imと符号反
転回路200の出力(−Re(IA1×IB1))を加
算して出力するようになされている。
【0078】加算回路217は、符号反転回路203の
出力(−IA2_Imまたは−Im(IA2×IB
2))と加算回路3−5の出力(Re(IA3×IB
3))とを加算して出力するようになされている。
【0079】加算回路218は、IA0_Reと符号反
転回路200の出力(−Re(IA1×IB1))を加
算して出力するようになされている。
【0080】加算回路219は、セレクタ113−1の
出力(IA2_ReまたはRe(IA2×IB2))と
符号反転回路204の出力(−Re(IA3×IB
3))を加算して出力するようになされている。
【0081】加算回路220は、IA0_Imと符号反
転回路201の出力(−Im(IA1×IB1))とを
加算して出力するようになされている。
【0082】加算回路221は、セレクタ113−2の
出力(IA2_ImまたはIm(IA2×IB2))と
符号反転回路205の出力(−Im(IA3×IB
3))とを加算して出力するようになされている。
【0083】加算回路222は、IA0_Reと符号反
転回路201の出力(−Im(IA1×IB1))とを
加算して出力するようになされている。
【0084】加算回路223は、符号反転回路202の
出力(−IA2_Reまたは−Re(IA2×IB
2))と加算回路3−6の出力(Im(IA3×IB
3))とを加算して出力するようになされている。
【0085】加算回路224は、IA0_Imと加算回
路1−5の出力(Re(IA1×IB1))とを加算し
て出力するようになされている。
【0086】加算回路225は、符号反転回路203の
出力(−IA2_Imまたは−Im(IA2×IB
2))と符号反転回路204の出力(−Re(IA3×
IB3))とを加算して出力するようになされている。
【0087】次に、加算回路230は、加算回路210
の出力と加算回路211の出力を加算してセレクタ11
8−1の下側の端子に入力するようになされている。
【0088】加算回路231は、加算回路212の出力
と加算回路213の出力を加算してセレクタ118−2
の下側の端子に入力するようになされている。
【0089】加算回路232は、加算回路214の出力
と加算回路215の出力を加算してセレクタ119−1
の下側の端子に入力するようになされている。
【0090】加算回路233は、加算回路216の出力
と加算回路217の出力を加算してセレクタ119−2
の下側の端子に入力するようになされている。
【0091】加算回路234は、加算回路218の出力
と加算回路219の出力を加算してセレクタ120−1
の下側の端子に入力するようになされている。
【0092】加算回路235は、加算回路220の出力
と加算回路221の出力を加算してセレクタ120−2
の下側の端子に入力するようになされている。
【0093】加算回路236は、加算回路222の出力
と加算回路223の出力を加算してセレクタ121−1
の下側の端子に入力するようになされている。
【0094】加算回路237は、加算回路224の出力
と加算回路225の出力を加算してセレクタ121−2
の下側の端子に入力するようになされている。
【0095】セレクタ118−1乃至121−1および
セレクタ118−2乃至121−2は、セレクタ制御回
路100に制御され、基数2の演算を行う場合には上側
の入力端子を選択し、基数4の演算を行う場合には下側
の入力端子を選択する。
【0096】即ち、セレクタ118−1は、基数2の演
算を行う場合は加算回路210の出力を選択し、また、
基数4の演算を行う場合には、加算回路230の出力を
選択し、出力信号O0_Reとして出力する。
【0097】セレクタ118−2は、基数2の演算を行
う場合は加算回路212の出力を選択し、また、基数4
の演算を行う場合には、加算回路231の出力を選択
し、出力信号O0_Imとして出力する。
【0098】セレクタ119−1は、基数2の演算を行
う場合は加算回路218の出力を選択し、また、基数4
の演算を行う場合には、加算回路232の出力を選択
し、出力信号O1_Reとして出力する。
【0099】セレクタ119−2は、基数2の演算を行
う場合は加算回路220の出力を選択し、また、基数4
の演算を行う場合には、加算回路233の出力を選択
し、出力信号O1_Imとして出力する。
【0100】セレクタ120−1は、基数2の演算を行
う場合は加算回路211の出力を選択し、また、基数4
の演算を行う場合には、加算回路234の出力を選択
し、出力信号O2_Reとして出力する。
【0101】セレクタ120−2は、基数2の演算を行
う場合は加算回路213の出力を選択し、また、基数4
の演算を行う場合には、加算回路235の出力を選択
し、出力信号O2_Imとして出力する。
【0102】セレクタ121−1は、基数2の演算を行
う場合は加算回路219の出力を選択し、また、基数4
の演算を行う場合には、加算回路236の出力を選択
し、出力信号O3_Reとして出力する。
【0103】セレクタ121−2は、基数2の演算を行
う場合は加算回路221の出力を選択し、また、基数4
の演算を行う場合には、加算回路237の出力を選択
し、出力信号O3_Imとして出力する。
【0104】以上のような実施の形態において、セレク
タ制御回路100に基数2の演算を選択する制御信号が
入力されると、全てのセレクタが上側の入力端子を選択
することになる。その場合、図2を参照して前述したよ
うに、2組の基数2のバタフライ演算回路が形成され
る。また、全てのセレクタに下側の入力端子を選択させ
た場合には、1組の基数4のバタフライ演算回路が形成
されることになる。
【0105】以上のような実施の形態によれば、同一の
回路により、基数4または基数2のバタフライ演算を適
宜切り換えて実行することが可能となるので、ポイント
数が4のべき乗ではないFFT演算を行う場合において
も、回路規模を殆ど増大することなく、FFT演算回路
を構成することが可能となる。
【0106】図4は、以上の実施の形態を用いたFFT
演算回路の構成の一例を示すブロック図である。
【0107】この図において、入力バッファ400は、
入力されたデータを一時的に格納するようになされてい
る。バタフライ演算回路401は、図3に示す回路が内
蔵されており、制御回路403(信号生成手段)の制御
に応じて、基数2または基数4のバタフライ演算を行う
ようになされている。作業用メモリ402は、バタフラ
イ演算回路401が演算を行う際に、演算途中のデータ
などを一時的に格納するようになされている。
【0108】制御回路403は、装置各部を制御すると
ともに、バタフライ演算回路401に対して制御信号を
供給し、基数2または基数4のバタフライ演算の切換を
行うようになされている。出力バッファ404は、演算
の結果得られたデータを一時的に格納した後、外部の装
置のデータ速度に同期して出力するようになされてい
る。
【0109】次に、以上の実施の形態の動作について説
明する。
【0110】入力された演算の対象となるデータは、入
力バッファ400に一時的に格納され、演算の進行に合
わせて随時読み出されていく。入力バッファ400から
読み出されたデータは、信号線410を介して作業用メ
モリ402へ格納される。バタフライ演算回路401
は、必要に応じて作業用メモリ402に格納されている
データを読み出して所定の演算を行うとともに、演算の
結果得られたデータを再度作業用メモリ402に書き込
む。
【0111】但し、演算のタイミングによっては、入力
バッファメモリ400から読み出したデータを信号線4
11を介して直接バタフライ演算回路401へ入力して
演算した後、信号線412を介して出力バッファ404
へ直接出力するようにしてもよい。
【0112】バタフライ演算回路401は、作業用メモ
リ402との間でデータを授受しつつ、所定の回数だけ
バタフライ演算を実行する。制御回路403は、データ
転送のタイミングと転送される先(または元)のアドレ
スを制御するとともに、信号線413を介してバタフラ
イ演算回路401に対して制御信号を送り、基数4また
は基数2の演算の切り換えを行う。
【0113】最終的に全てのデータに対するバタフライ
演算が終了した時点で作業用メモリ402から信号線4
14を介して出力バッファ404へとデータが転送さ
れ、演算結果のデータが出力されることになる。
【0114】基数4と基数2の切り換えは回路方式に応
じて決定されるが、主として最初のステージまたは最後
のステージに基数2の演算が行われることから、最初の
ステージ終了後または最後のステージ開始前に切り換え
が行われることになる。ここでステージとはFFT演算
において全てのデータに対して一回のバタフライ演算を
行う過程を意味する。
【0115】以上の実施の形態によれば、所定の演算手
続きに応じてバタフライ演算回路401の演算の基数4
と基数2の切り換えを行うことにより、回路資源の有効
利用を図ることが可能となる。
【0116】
【発明の効果】請求項1に記載の演算装置および請求項
3に記載の演算方法によれば、基数2または基数4の何
れのバタフライ演算を実行するかを示す信号が入力さ
れ、入力された信号に応じて所定のデータを選択し、入
力された信号に応じて、所定のデータの実数部と虚数部
とを置換し、入力された信号に応じて、所定のデータの
実数部または虚数部の符号を反転し、基数2の演算を実
行することを示す信号が入力された場合は、2組の基数
2のバタフライ演算を並列して実行し、基数4の演算を
実行することを示す信号が入力された場合には、1組の
基数4のバタフライ演算を実行するようにしたので、同
一の演算装置により、基数2と基数4のバタフライ演算
を実行することが可能となるので、回路資源を有効に利
用することが可能となる。
【図面の簡単な説明】
【図1】本発明の演算装置の原理を説明する図である。
【図2】本発明の実施の形態の構成例を示すブロック図
である。
【図3】本発明の実施の形態の構成例を示す回路図であ
る。
【図4】本発明を適用したFFT演算装置の構成例を示
すブロック図である。
【図5】従来のバタフライ演算回路の構成例を示すブロ
ック図である。
【符号の説明】
100 セレクタ制御回路(入力手段), 113乃至
121 セレクタ(選択手段、置換手段), 200乃
至205 符号反転回路(符号反転手段),403 制
御回路(信号生成手段)

Claims (3)

    【特許請求の範囲】
  1. 【請求項1】 入力されたデータに対してバタフライ演
    算を行う演算装置において、 基数2または基数4の何れのバタフライ演算を実行する
    かを示す信号が入力される入力手段と、 前記入力手段から入力される信号に応じて、所定のデー
    タを選択する選択手段と、 前記入力手段から入力される信号に応じて、所定のデー
    タの実数部と虚数部とを置換する置換手段と、 前記入力手段から入力される信号に応じて、所定のデー
    タの実数部または虚数部の符号を反転する符号反転手段
    とを備え、 前記入力手段より基数2の演算を実行することを示す信
    号が入力された場合は、2組の基数2のバタフライ演算
    を並列して実行し、 前記入力手段より基数4の演算を実行することを示す信
    号が入力された場合には、1組の基数4のバタフライ演
    算を実行することを特徴とする演算装置。
  2. 【請求項2】 入力されたデータの数に応じて、基数2
    または基数4の何れのバタフライ演算を実行するかを示
    す信号を生成する信号生成手段を更に備えることを特徴
    とする請求項1に記載の演算装置。
  3. 【請求項3】 入力されたデータに対してバタフライ演
    算を行う演算方法において、 基数2または基数4の何れのバタフライ演算を実行する
    かを示す信号が入力される入力ステップと、 前記入力ステップから入力される信号に応じて、所定の
    データを選択する選択ステップと、 前記入力ステップから入力される信号に応じて、所定の
    データの実数部と虚数部とを置換する置換ステップと、 前記入力ステップから入力される信号に応じて、所定の
    データの実数部または虚数部の符号を反転する符号反転
    ステップとを備え、 前記入力ステップより基数2の演算を実行することを示
    す信号が入力された場合は、2組の基数2のバタフライ
    演算を並列して実行し、 前記入力ステップより基数4の演算を実行することを示
    す信号が入力された場合には、1組の基数4のバタフラ
    イ演算を実行することを特徴とする演算方法。
JP11471397A 1997-05-02 1997-05-02 演算装置および演算方法 Expired - Fee Related JP3951071B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP11471397A JP3951071B2 (ja) 1997-05-02 1997-05-02 演算装置および演算方法
AU63639/98A AU6363998A (en) 1997-05-02 1998-04-28 Fast fourier transform calculating apparatus and fast fourier transform calculating method
US09/067,802 US6240062B1 (en) 1997-05-02 1998-04-29 Fast fourier transform calculating apparatus and fast fourier transform calculating method
EP98303475A EP0875839A1 (en) 1997-05-02 1998-05-01 Calculating fast fourier transforms

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP11471397A JP3951071B2 (ja) 1997-05-02 1997-05-02 演算装置および演算方法

Publications (2)

Publication Number Publication Date
JPH10307811A true JPH10307811A (ja) 1998-11-17
JP3951071B2 JP3951071B2 (ja) 2007-08-01

Family

ID=14644765

Family Applications (1)

Application Number Title Priority Date Filing Date
JP11471397A Expired - Fee Related JP3951071B2 (ja) 1997-05-02 1997-05-02 演算装置および演算方法

Country Status (4)

Country Link
US (1) US6240062B1 (ja)
EP (1) EP0875839A1 (ja)
JP (1) JP3951071B2 (ja)
AU (1) AU6363998A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009505486A (ja) * 2005-08-08 2009-02-05 フリースケール セミコンダクター インコーポレイテッド マルチモード無線広帯域信号プロセッサシステムおよび方法
WO2009095959A1 (ja) * 2008-01-28 2009-08-06 Panasonic Corporation 直交変換装置および集積回路
JP2016514330A (ja) * 2013-03-13 2016-05-19 クゥアルコム・インコーポレイテッドQualcomm Incorporated マルチモード基数2のx乗のバタフライベクトル処理回路を提供するためのプログラマブルなデータパス構成を有するベクトル処理エンジン、ならびに関連ベクトルプロセッサ、システム、および方法

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20020036606A (ko) * 2000-11-10 2002-05-16 윤종용 오에프디엠 출력 비트 신호 보상을 위한 고속 퓨리에 변환장치 및 방법
US7428564B2 (en) * 2003-11-26 2008-09-23 Gibb Sean G Pipelined FFT processor with memory address interleaving
WO2005052798A1 (en) * 2003-11-26 2005-06-09 Cygnus Communications Canada Co. Interleaving memory
MX2007002071A (es) * 2004-08-18 2007-04-24 Nielsen Media Res Inc Metodos y aparatos para generar firmas.
US7675847B2 (en) 2007-07-10 2010-03-09 Wipro Limited Hardware implementation of a programmable FFT based on a half length FFT core
US20220043883A1 (en) * 2020-08-10 2022-02-10 Arris Enterprises Llc Hardware implementation of discrete fourier transform

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4689762A (en) 1984-09-10 1987-08-25 Sanders Associates, Inc. Dynamically configurable fast Fourier transform butterfly circuit
US4868776A (en) * 1987-09-14 1989-09-19 Trw Inc. Fast fourier transform architecture using hybrid n-bit-serial arithmetic
US5303172A (en) 1988-02-16 1994-04-12 Array Microsystems Pipelined combination and vector signal processor
GB2217058A (en) * 1988-03-23 1989-10-18 Benchmark Technologies Processing integral transform operations

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009505486A (ja) * 2005-08-08 2009-02-05 フリースケール セミコンダクター インコーポレイテッド マルチモード無線広帯域信号プロセッサシステムおよび方法
WO2009095959A1 (ja) * 2008-01-28 2009-08-06 Panasonic Corporation 直交変換装置および集積回路
JPWO2009095959A1 (ja) * 2008-01-28 2011-05-26 パナソニック株式会社 直交変換装置および集積回路
JP2016514330A (ja) * 2013-03-13 2016-05-19 クゥアルコム・インコーポレイテッドQualcomm Incorporated マルチモード基数2のx乗のバタフライベクトル処理回路を提供するためのプログラマブルなデータパス構成を有するベクトル処理エンジン、ならびに関連ベクトルプロセッサ、システム、および方法

Also Published As

Publication number Publication date
AU6363998A (en) 1998-11-05
JP3951071B2 (ja) 2007-08-01
EP0875839A1 (en) 1998-11-04
US6240062B1 (en) 2001-05-29

Similar Documents

Publication Publication Date Title
JP2007166535A (ja) デジタルフィルタ
JP3938238B2 (ja) 高速フーリエ変換処理装置
JPS6125188B2 (ja)
JPH10307811A (ja) 演算装置および演算方法
JP3668356B2 (ja) 高速フーリエ変換演算回路
JPH08320858A (ja) フーリエ変換演算装置および方法
EP0484944B1 (en) Vector calculation apparatus capable of rapidly carrying out vector calculation of two input vectors
JP3499460B2 (ja) 拡散符号発生回路および拡散符号発生方法
CN113095495B (zh) 卷积神经网络模块的控制方法
CN116974510A (zh) 数据流式处理电路、电路模组、电子芯片、方法和装置
JPH1153189A (ja) 演算装置、演算方法及びコンピュータ読み取り可能な記録媒体
JPH09245109A (ja) 関数変換演算器
JP3252954B2 (ja) 乗算方法および乗算回路
US20250190517A1 (en) Multi-mode multi-channel streaming fast fourier transform (fft) architecutre
CN113961870A (zh) 应用于脑电信号处理的fft芯片电路及其设计方法、装置
JP3620887B2 (ja) データ処理装置
CN115390924B (zh) 指令执行方法、执行引擎、处理器、芯片及电子设备
TWI564735B (zh) 資料分配裝置、訊號處理裝置及其資料分配方法
JP2007183712A (ja) データ駆動型情報処理装置
JP3865469B2 (ja) バタフライ演算器
JP5472123B2 (ja) Fft演算装置と電力演算方法
JPH0148582B2 (ja)
JP2002117015A (ja) 高速フーリエ変換回路
JP2968718B2 (ja) 演算装置
JP2000040080A (ja) 高速フーリエ変換回路

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20060601

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060606

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060807

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20070328

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20070410

LAPS Cancellation because of no payment of annual fees