JP4796339B2 - メモリの読み出し及び書き込み方法 - Google Patents

メモリの読み出し及び書き込み方法 Download PDF

Info

Publication number
JP4796339B2
JP4796339B2 JP2005179387A JP2005179387A JP4796339B2 JP 4796339 B2 JP4796339 B2 JP 4796339B2 JP 2005179387 A JP2005179387 A JP 2005179387A JP 2005179387 A JP2005179387 A JP 2005179387A JP 4796339 B2 JP4796339 B2 JP 4796339B2
Authority
JP
Japan
Prior art keywords
fft
register
data
processing
stage
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.)
Active
Application number
JP2005179387A
Other languages
English (en)
Other versions
JP2006350922A (ja
Inventor
輝昭 上原
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Lapis Semiconductor Co Ltd
Original Assignee
Oki Semiconductor 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 Oki Semiconductor Co Ltd filed Critical Oki Semiconductor Co Ltd
Priority to JP2005179387A priority Critical patent/JP4796339B2/ja
Priority to KR1020060008721A priority patent/KR101222597B1/ko
Priority to CN200610006837A priority patent/CN100594490C/zh
Priority to US11/454,863 priority patent/US7792892B2/en
Publication of JP2006350922A publication Critical patent/JP2006350922A/ja
Application granted granted Critical
Publication of JP4796339B2 publication Critical patent/JP4796339B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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
    • EFIXED CONSTRUCTIONS
    • E02HYDRAULIC ENGINEERING; FOUNDATIONS; SOIL SHIFTING
    • E02DFOUNDATIONS; EXCAVATIONS; EMBANKMENTS; UNDERGROUND OR UNDERWATER STRUCTURES
    • E02D29/00Independent underground or underwater structures; Retaining walls
    • E02D29/02Retaining or protecting walls
    • E02D29/0216Cribbing walls
    • EFIXED CONSTRUCTIONS
    • E01CONSTRUCTION OF ROADS, RAILWAYS, OR BRIDGES
    • E01FADDITIONAL WORK, SUCH AS EQUIPPING ROADS OR THE CONSTRUCTION OF PLATFORMS, HELICOPTER LANDING STAGES, SIGNS, SNOW FENCES, OR THE LIKE
    • E01F8/00Arrangements for absorbing or reflecting air-transmitted noise from road or railway traffic
    • E01F8/0005Arrangements for absorbing or reflecting air-transmitted noise from road or railway traffic used in a wall type arrangement
    • EFIXED CONSTRUCTIONS
    • E02HYDRAULIC ENGINEERING; FOUNDATIONS; SOIL SHIFTING
    • E02DFOUNDATIONS; EXCAVATIONS; EMBANKMENTS; UNDERGROUND OR UNDERWATER STRUCTURES
    • E02D29/00Independent underground or underwater structures; Retaining walls
    • E02D29/02Retaining or protecting walls
    • E02D29/025Retaining or protecting walls made up of similar modular elements stacked without mortar
    • EFIXED CONSTRUCTIONS
    • E02HYDRAULIC ENGINEERING; FOUNDATIONS; SOIL SHIFTING
    • E02DFOUNDATIONS; EXCAVATIONS; EMBANKMENTS; UNDERGROUND OR UNDERWATER STRUCTURES
    • E02D2600/00Miscellaneous
    • E02D2600/20Miscellaneous comprising details of connection between elements

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Analysis (AREA)
  • Computational Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Theoretical Computer Science (AREA)
  • Structural Engineering (AREA)
  • Civil Engineering (AREA)
  • Discrete Mathematics (AREA)
  • Paleontology (AREA)
  • Mining & Mineral Resources (AREA)
  • General Life Sciences & Earth Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Algebra (AREA)
  • Environmental & Geological Engineering (AREA)
  • Databases & Information Systems (AREA)
  • Software Systems (AREA)
  • Architecture (AREA)
  • Complex Calculations (AREA)
  • Memory System (AREA)

Description

本発明は、例えば、高速フーリエ変換(Fast Fourier Transformation、以下「FFT」という。)や、このFFTの1つである逆FFT(InverseFFT、以下「IFFTという。)の処理をハード(回路)で実行する演算装置において、FFT(又はIFFT)の演算を行う演算手段と、この演算時に使用するデータを格納する複数のメモリバンクとの間に位置し、FFT(又はIFFT)処理を実現するために要求されるメモリ量を削減するために、データをどのメモリバンクに書き込むかを制御するメモリ制御手段と、を用いたメモリの読み出し及び書き込み方法に関するものである。
近年、通信処理において直交波周波数分割多重(Orthogonal Frequency Division Multiplexing、以下「OFDM」という。)が多用され、具体的には 地上波デジタル放送、IEEE802.11a、g等の無線ローカル・エリア・ネットワーク(LAN)、電力線モデム等の伝送方式に採用されている。
OFDMの処理の大部分はFFT(又はIFFT)処理であり、OFDMを実現するためには高速動作するFFT(又はIFFT)回路を小さく実現する必要がある。高速処理を実現するためにFFT(又はIFFT)処理は、ハードウェアで実現されるのが一般的である。このFFTについての概略が、例えば、次の文献に記載されている。
大浦拓哉著"高速Fourier変換の概略メモ"、p.1−3、[online]、京都大学数理解析研究所、[平成17年6月3日検索]、インターネット〈URL:http://www.kurims.kyoto-u.ac.jp/~ooura/fftman/fft_note_s.pdf〉
この非特許文献1に記載されているように、N点の離散Fourier変換(以下「DFT」という。)を計算するためにはN回の計算が必要であるが、FFTを用いるとNlogNに比例する計算で済む。このFFTの基本原理は、簡単な添字の変換で大きなサイズのDFTを計算が楽な小さなDFTに分解するという考えに基づいている。
例えば、N点のDFTの(1)式を計算する場合を考える。
Figure 0004796339
この場合、A0〜AN−1までの各項の計算にN回の乗算が入るため、全体でN回の乗算が必要となるが、仮にNが2で割り切れるならば、添字kを偶数と奇数に分けることで、N点のDFTを2つのN/2点のDFTにおける(2)式と(3)式に分解出来る。
Figure 0004796339
Figure 0004796339
N/2点のDFTの(2)式及び(3)式は、それぞれN/4回の乗算で計算出来るので、この分解で計算量が約半分に減る。更に、この分解を2回、3回と繰り返せば計算量は約1/4、1/8と減少する。これがCooley-TukeyFFT(即ち、基数2、周波数間引きCooley-TukeyFFT)の基本的な考え方である。
図5は、非特許文献1の図1に記載された基数2周波数間引きFFTのデータフローを示す図である。
(2)式、(3)式の分解をlogN回行い、1点のDFTになるまで行ったときの計算量を考える。この分解自体には各々の段でW を乗ずるN/2回の複素数乗算とN回の複素数加算が必要で、複素数乗算回数は(N/2)logNに減少する。そのため、浮動小数点演算の量はNlogNのオーダとなる。これは、Cooley-TukeyFFTの典型的な演算量であり、様々なFFTの演算量の削減アルゴリズムは、基本的にこのオーダの比例定数と、NlogNより低い次数の項を小さくするものである。
次に、FFTの添字による一般的な分解方法について説明する。
例えば、NがN=Nと因数分解出来ると仮定する。(1)式の添字jを次の2つの添字j(=0,1,2,・・・,N−1)とj(=0,1,2,・・・,N−1)に置き換える。添字j,jをある自然数として、j,jからjに変換する写像を(4)式のように定義する。
Figure 0004796339
先ず第1に、(4)式の写像は、1対1とならなければならないが、このための必要十分条件は、p,qをある自然数とするとき、次の(a)、(b)の2つである。
(a) NとNが互いに素の場合
J1=pN,J2=qNの少なくとも一方が満たされ、且つgcd(J,N)=gcd(J,N)=1
(b) NとNが互いに素ではない場合
Figure 0004796339
(1)式に対してこれらの変換を適用すると、(6)式のようになる。
Figure 0004796339
この(6)式中の2番目と3番目のWの項が邪魔になるので、(6)式のままでは演算ブロックの順序を入れ換えることができず、小さなDFTに分解することはできない。仮に、(7)式のような条件J2,の少なくとも一方が成り立つのならば、(6)式はNとNの2つの小さなDFTに分解されることが分かる。
Figure 0004796339
(7)式の条件を満たす例として、次の(i)、(ii)の2種類の分解が考えられる。
(i) NとNが互いに素の場合
=N、且つJ=N、且つK=N、且つK=N
(ii) NとNが任意の場合
=N、且つJ=1、且つK=1、且つK=N
又は
=1、且つJ=N、且つK=N、且つK=1
このような第1の場合は、N1とN2が互いに素の場合のみに用いられる分解であり、(6)式のW の項を2つ消去してN1 とN2 の2次元DFT に分解する。この分解は、N1,N2 を互いに素になるように選ぶ必要があるが、分解に必要な演算量は零である。しかし、分解しきれずに残ったDFTは概ね素数の長さであり、ある程度の計算量は必要になる。この分解によるFFT は素因数FFT [5, 2, 7]やWinograd DFT アルゴリズム[5, 9] に用いられる。
一方、第2の分解は、NとNは任意でよい代わりに、(6)式のWの項は1つしか消去されず、NとNのDFTへの分解にWを乗算する演算(回転因子の乗算)が必要になる。しかし、N又はNをDFTが容易に計算出来る数に固定出来るため、分解以外に必要な計算量は少なくなる。この分解によるFFTはCooley-TukeyFFT[3]であり、Nを固定して分解を再帰的に繰り返すのが基本アルゴリズムである。このときNを基数といい、(6)式の2項目のW を消し去るのが周波数間引き、3項目のWを消し去るのが時間間引きアルゴリズムと呼ばれる。このCooley-TukeyFFTには多くの種類があり、通常の基数2のFFT、任意基数FFT、混合基数FFT、演算量が少ないとされるSplit-Radix FFT[4,6,8]等が挙げられる。
以上が非特許文献1に記載されたFFTの概略の説明である。
FFT(又はIFFT)処理は基数に依って、例えばRadix2(基数=2)、Radix4(基数=4)、Radix8(基数=8)等が使用されるが、Radix4は同一量のデータを処理するために必要な演算量がRadix2の約75%であるため、良く採用されている。
FFT(又はIFFT)処理を並列に行う場合、処理の基数に依って同時に必要なデータ数はRadix2の時2複素データ、Radix4の時4複素データである。又、同時にデータを供給するためにはメモリを複数のバンクに分割し、同時に使用されるデータは別のメモリバンクに格納しておく必要がある。
図6は、従来のRadix4FFT演算装置を示す概略の構成図である。
このRadix4FFT演算装置は、Radix4FFT処理をハードで実行する装置であり、Radix4FFT演算回路1と、この演算回路1に対して複素データを与えるランダム・アクセス・メモリ(以下「RAM」という。)等のメモリ10とを備えている。メモリ10は、4個のメモリバンク11−1〜11−4に分割され、これらの各メモリバンク11−1〜11−4に対してアクセス用のアドレスを与えるための各アドレス発生回路(adr-gen)12−1〜12−4がそれぞれ接続されている。4個のメモリバンク11−1〜11−4は、FFT演算回路1に対して4個の複素データを同時に供給可能となっており、又、複素データの格納も同時に4個可能な構成になっている。
図7は、従来のRadix2、Radix4のFFT(又はIFFT)処理の演算フローを示す図である。この図7では、データ数が4(=a0−a15)の場合の例が示されている。なお、図7中の実線は加算パス、破線は減算パスを示している。
ここでFFT処理(又はIFFT処理、このIFFT処理はFFT処理と同様に行われるので、以下説明を簡略化するためにFFT処理について説明する。)に同時に使用されるデータに注目し、Radix2の場合のFFT処理(1)と、Radix4の場合のFFT処理(2)について説明する。
(1) Radix2の場合のFFT処理
図7のフローで示される1回のFFT処理(Radix2FFT基本演算処理)を左から1段目処理T1、2段目処理T2、3段目処理T3、4段目処理T4とする。図示しないクロックに同期して1段目処理T1から4段目処理T4へ実行されて行く。
1段目処理T1では、データ(a0,a8),(a1,a9),(a2,a10),(a3,a11),(a4,a12),(a5,a13),(a6,a14),(a7,a15)が同時に使用されている。つまり、1段目処理T1のためにはデータa0,a1,a2,a3,a4,a5,a6,a7が同一メモリバンク(例えば、11−1)に格納され、データa8,a9,a10,a11,a12,a13,a14,a15が別のメモリバンク(例えば、11−2)に格納されている必要がある。
2段目処理T2では、データ(a0,a4),(a1,a5),(a2,a6),(a3,a7),(a8,a12),(a9,a13),(a10,a14),(a11,a15)が同時に使用されている。つまり、2段目処理T2のためにはデータa0,a1,a2,a3,a8,a9,a10,a11が同一メモリバンク(例えば、11−3)に格納され、データa4,a5,a6,a7,a12,a13,a14,a15が別のメモリバンク(例えば、11−4)に格納されている必要がある。
ここで、1段目処理T1の結果としてデータa0,a8は同時に得られるが、2段目処理T2で使用されることを考慮した場合、データa0,a8は同一のメモリバンクに格納される必要がある。そのため、複数のクロックを用いて、データの格納先の変更処理が必要になり、高速処理を阻害していた。
(2) Radix4の場合のFFT処理
FFTフローグラフで示される1回のFFT処理(Radix4FFT基本演算処理)を左から1段目処理T10、2段目処理T20とする。
1段目処理T10では、データ(a0,a4,a8,a12),(a1,a5,a9,a13),(a2,a6,a10,a14),(a3,a7,a11,a18)が同時に使用されている。つまり、1段目処理T10のためにはデータa0,a1,a2,a3がメモリバンク11−1に格納され、データa4,a5,a6,a7 がメモリバンク11−2に格納され、データa8,a9,a10,a11がメモリバンク11−3に格納され、データa12,a13,a14,a15がメモリバンク11−4に格納されている必要がある。
2段目処理T20では、データ(a0,a1,a2,a3),(a4,a5,a6,a7),(a8,a9,a10,a11),(a12,a13,a14,a15)が同時に使用されている。つまり、2段目処理T20のためにはデータa0,a4,a8,a12がメモリバンク11−1に格納され、データa1,a5,a9,a13 がメモリバンク11−2に格納され、データa2,a6,a10,a14がメモリバンク11−3に格納され、データ a3,a7,a11,a15がメモリバンク11−4に格納されている必要がある。
ところが、1段目処理T10の結果として、データa0,a4,a8,a12は同時に得られる。2段目処理T20の処理で使用されることを考慮した場合、データa0,a4,a8,a12は同一のメモリバンクに格納される必要がある。そのため、複数のクロックを用いて、データの格納先の変更処理が必要になり、高速処理を阻害していた。
このような問題を図8を参照しつつ詳細に説明する。
図8は、従来のRadix4のFFT処理(データ数4=1024、データa0〜a1023)の一例を示す図である。
Radix4の1024ポイント(point)のFFTを4個のメモリバンク11−1〜11−4で実現する時、データa0〜a1023をどのメモリバンク11−1〜11−4に入れるかを考える。
(1) FFT1段目処理T10の入力
メモリバンク11−1: 0,1,2,3,4,5,…,255
メモリバンク11−2: 256,257,258,259,…,511
メモリバンク11−3: 512,513,514,515,…,767
メモリバンク11−4: 768,769,770,771, …,1023
(2) FFT2段目処理T20の入力
メモリバンク11−1: 0,1,…,63, 256,257,…,319, 512,513,…,575, 768,769,…,831
メモリバンク11−2: 64,65,…,127, 320,321,…,383, 576,577,…,639, 832,833,…,895
メモリバンク11−3: 128,129,…,191, 384,385,…,447, 640,641,…,703, 896,897,…,959
メモリバンク11−3: 192,193,…,255, 448,449,…,511, 704,705,…,767, 960,961,…,1023
(3) FFT3段目処理T30の入力
メモリバンク11−1:0,1,…,15, 64,65,…,79, 128,129,…,143, … 960,961,…,975
メモリバンク11−2:16,17,…,31, 80,81,…,95, 144,145,…,159, … 976,977,…,991
メモリバンク11−3:32,33,…,47, 96,97,…,111, 160,161,…,175, … 992,993,…,1007
メモリバンク11−3:48,49,…,63, 112,113,…,127, 176,177,…,191, … 1008,1009,…,1023
(4) FFT4段目処理T40の入力
メモリバンク11−1:0,1,2,3, 16,17,18,19, 32,33,34,35, … 1008,1009,1010,1011
メモリバンク11−2:4,5,6,7, 20,21,22,23, 36,37,38,39, … 1012,1013,1014,1015
メモリバンク11−3:8,9,10,11, 24,25,26,27, 40,41,42,43, … 1016,1017,1018,1019
メモリバンク11−3:12,13,14,15, 28,29,30,31, 44,45,46,47, … 1020,1021,1022,1023
(5) FFT5段目処理T50の入力
メモリバンク11−1: 0, 4, 8, 12, … 1008,1012,1016,1020
メモリバンク11−2: 1, 5, 9, 13, … 1009,1013,1017,1021
メモリバンク11−3: 2, 6, 10, 14, … 1010,1014,1018,1022
メモリバンク11−3: 3, 7, 11, 15, … 1011,1015,1019,1023
これから分かるように、単純にデータa0〜a1023順にFFTを行うと、次段のFFT処理時にデータを提供できない。つまり、FFTの1段目処理T10ではメモリバンク11−1であるデータa0〜a255は、FFTの2段目処理T20では64個づつの4メモリバンク11−1〜11−4となる。
前記従来の課題を解決するために、本発明のメモリの読み出し及び書き込み方法では、第1のデータをm(但し、mは任意の正整数)行目且つn(但し、nは任意の正整数)列目に、第2のデータをm行目且つ(n+1)列目に、第3のデータを(m+1)行目且つn列目に、第4のデータを(m+1)行目且つ(n+1)列目に指定される場所にそれぞれ格納する。そして、前記第1及び第3のデータを読み出し、前記第3のデータを読み出した後、前記第2のデータを前記(m+1)行目且つ前記n列目に指定される場所に移動し、前記第2のデータを移動した後、前記m行目且つ前記n列目に第5のデータを書き込み、前記第2のデータを移動した後、前記m行目且つ前記(n+1)列目に第6のデータを書き込むようにしている。
本発明のメモリの読み出し及び書き込み方法によれば、次の(1)、(2)のような効果がある。
(1) 演算手段(或いは演算回路)の1回の演算結果データを次回の演算処理に最適なメモリの指定箇所(或いはブロック分けされる形でメモリバンク)に格納することが可能となる。これより演算処理を中断することなく、効率よく実現出来る。
(2) 或る回の演算処理で使用されたデータと同じメモリ指定箇所(或いはメモリバンクアドレス)に次回の演算処理で使用されるデータを書き込むことが可能となるため、従来は2面それぞれ必要だった複数個のメモリバンクをそれぞれ1面にすることが出来、ハード規模を小さくすることが可能となる。
本発明を実施するための最良の形態の演算装置では、指定されたアドレスに複数のデータを上書きの形で同時に書き込み又は同時に読み出せる複数個のメモリバンクと、前記複数個のメモリバンクから同時に読み出された複数の被演算データが供給されると、前記複数の被演算データを用い所定の演算処理を行って複数の演算結果を同時に出力し、前記演算処理を所定回数繰り返すFFT(又はIFFT)処理を行う演算回路と、前記演算回路から同時に出力された前記複数の演算結果を入力し、前記演算回路が次回の演算処理に必要とする複数のデータを同時に供給可能なようにデータ順を入れ替えて前記複数個のメモリバンクに上書きの形で書き込むメモリ制御回路と、を備えている。
(実施例1の構成)
図1(a)、(b)は、本発明の実施例1のRadix4FFT演算装置を示す概略の構成図であり、同図(a)が全体図、及び同図(b)がその中のFFTメモリ制御回路の構成図である。
図1(a)に示すRadix4FFT演算装置は、Radix4FFT処理をハードで実行する装置であり、従来の図6と同様に、演算手段(例えば、Radix4FFT演算回路)20と、この演算回路20に対して複素データを与えるRAM等のメモリ30とを備えている。メモリ30は、複数個(例えば、4個)のメモリバンク31−1〜31−4に分割され、これらの各メモリバンク31−1〜31−4に対してアクセス用のアドレスを指定するための各アドレス発生回路(adr-gen)32−1〜32−4がそれぞれ接続されている。4個のメモリバンク31−1〜31−4は、FFT演算回路20に対して4個の複素データを同時に供給可能となっており、又、複素データの格納も同時に4個可能な構成になっている。
本実施例1のRadix4FFT処理装置では、Radix4FFT演算回路20とメモリ30との間に、データ順を入れ替えるためのメモリ制御手段(例えば、FFTメモリ制御回路)40が新たに設けられている点が、従来の装置と異なっている。FFTメモリ制御回路40は、FFT演算回路20から4個の演算結果が入力され、同時に次段のFFT処理を考慮して(即ち、同時に必要なデータが同時に提供可能なようにバンク分けして)、データ順を入れ替えた演算結果をメモリ30へ出力する回路である。
例えば、1段目のFFT処理を0,64,128,192,1,65,129,193,・・・の順番で行う。すると出力は、
1段目0: 0,256,512,768 ← 2段目ではメモリバンク31−1
1段目64: 64,320,576,832← 2段目ではメモリバンク31−2
1段目128: 128,384,640,896← 2段目ではメモリバンク31−3
1段目192: 192,448,704,960← 2段目ではメモリバンク31−4
となる。これにFFTメモリ制御回路40を使用することで、2段目のFFT処理時に同時出力可能なようにメモリバンク31−1〜31−4に書き込むことが出来る。
図1(b)に示すFFTメモリ制御回路40は、FFT演算回路20から出力されたデータ等を保持するための複数個の初段データ保持回路及び複数個且つ複数段の後段データ保持回路(例えば、4×4個のレジスタ(Reg))41−00〜41−03,・・・,41−30〜41−33と、各段のレジスタ間に設けられた複数個の段間セレクタ(例えば、6個の2入力1出力のセレクタ)42−00〜41−33と、メモリバンク31−1〜31−4へデータを出力するために出力段に設けられた複数個の出力段セレクタ(例えば、4個の4入力1出力のセレクタ)43−1〜43−4とを有している。
各セレクタ42−00〜41−33,43−1〜43−4の入出力は、図示しない制御信号等により切り替えられるようになっている。レジスタ間のセレクタ42−00〜41−33の内、1段目セレクタ42−00は、1段目レジスタ41−00,41−01の出力のいずれか一方を選択して2段目レジスタ41−10へ与え、2段目セレクタ42−10は、2段目レジスタ41−10の出力又は1段目レジスタ41−02の出力のいずれか一方を選択して3段目レジスタ41−20へ与え、2段目セレクタ42−11は、2段目レジスタ41−11,41−12の出力のいずれか一方を選択して3段目レジスタ41−21へ与え、3段目セレクタ42−20は、3段目レジスタ41−20の出力又は1段目レジスタ41−03の出力のいずれか一方を選択して4段目レジスタ41−30へ与え、3段目セレクタ42−21は、3段目レジスタ41−21の出力又は2段目レジスタ41−13の出力のいずれか一方を選択して4段目レジスタ41−31へ与え、3段目セレクタ42−22は、3段目レジスタ41−22,41−23の出力のいずれか一方を選択して4段目レジスタ41−32へ与えるように接続されている。
出力段のセレクタ43−1〜43−4の内、セレクタ43−1は、4段目レジスタ41−30〜41−33の出力のいずれか1つを選択してメモリバンク31−1へ与え、セレクタ43−2は、4段目レジスタ41−32又は3段目レジスタ41−20〜41−22の出力のいずれか1つを選択してメモリバンク31−2へ与え、セレクタ43−3は、4段目レジスタ41−30、3段目レジスタ41−21又は2段目レジスタ41−10,41−11の出力のいずれか1つを選択してメモリバンク31−3へ与え、セレクタ43−4は、4段目レジスタ41−30、3段目レジスタ41−20、2段目レジスタ41−10又は1段目レジスタ41−00の出力のいずれか1つを選択してメモリバンク31−4へ与えるように接続されている。
(実施例1のメモリ制御方法)
図2は、図1(b)のレジスタ41−00〜41−33の時刻(以下「Time」という。)0〜Time3におけるデータ格納状態を示す図である。
図2において、例えば、Time0では、1024ポイント(以下「point」という。)のRadix4FFTの1段目の4回目の処理結果がFFTメモリ制御回路40に入った時を示している。この時、レジスタ41−00にpoint192の1段目FFT処理結果が入り、レジスタ41−10にpoint128の1段目FFT処理結果が入っていることを示している。又、括弧[ ]書きの数字がメモリ30への出力データ、括弧( )書きの数字がFFT演算回路20からの入力データを示している。図2の他のTime1〜Time3を示す図も同様である。
FFTメモリ制御回路40では、図示しないクロックに同期して、以下の(1)〜(5)のようなTime0〜Time3の処理を繰り返す。
(1) Time0の処理
Time0では同時に以下の処理を行う。
レジスタ41−30(point0の処理結果)をセレクタ43−1からメモリバンク31−1に出力し、レジスタ41−03(point960の処理結果)をセレクタ42−20を介してレジスタ41−30に入力する。
レジスタ41−20(point64の処理結果)をセレクタ43−2からメモリバンク31−2に出力し、レジスタ41−02(point704の処理結果)をセレクタ42−10を介してレジスタ41−20に入力する。
レジスタ41−10(point128の処理結果)をセレクタ43−3からメモリバンク31−3に出力し、レジスタ41−01(point448の処理結果)をセレクタ42−00を介してレジスタ42−10に入力する。
レジスタ41−00(point192の処理結果)をセレクタ43−4からメモリバンク31−4に出力し、FFT演算回路20からpoint1の処理結果をレジスタ41−00に入力する。
レジスタ41−01にFFT演算回路20からpoint257の処理結果を入力する。
レジスタ41−02にFFT演算回路20からpoint523の処理結果を入力する。
レジスタ41−03にFFT演算回路20からpoint769の処理結果を入力する。
(2) Time1の処理
Time1では同時に以下の処理を行う。
レジスタ41−31(point256の処理結果)をセレクタ43−1からメモリバンク31−1に出力し、レジスタ41−13(point896の処理結果)をセレクタ42−21を介してレジスタ41−31に入力する。
レジスタ41−21(point320の処理結果)をセレクタ43−2からメモリバンク31−2に出力し、レジスタ41−12(point640の処理結果)をセレクタ42−11を介してレジスタ41−21に入力する。
レジスタ41−11(point384の処理結果)をセレクタ43−3からメモリバンク31−3に出力し、レジスタ41−01(point257の処理結果)をレジスタ41−11に入力する。
レジスタ41−10(point448の処理結果)をセレクタ43−4からメモリバンク31−4に出力し、レジスタ41−00(point1の処理結果)をセレクタ42−00を介してレジスタ41−10に入力する。
レジスタ41−12にレジスタ41−02(point523の処理結果)を入力する。
レジスタ41−13にレジスタ41−03(point769の処理結果)を入力する。
レジスタ41−00にFFT演算回路20からpoint65の処理結果を入力する。
レジスタ41−01にFFT演算回路20からpoint321の処理結果を入力する。
レジスタ41−02にFFT演算回路20からpoint577の処理結果を入力する。
レジスタ41−03にFFT演算回路20からpoint833の処理結果を入力する。
(3) Time2の処理
Time2では同時に以下の処理を行う。
レジスタ41−32(point512の処理結果)をセレクタ43−1からメモリバンク31−1に出力し、レジスタ41−23(point832の処理結果)をセレクタ42−22を介してレジスタ41−32に入力する。
レジスタ41−22(point576の処理結果)をセレクタ43−2からメモリバンク31−2に出力し、レジスタ41−12(point523の処理結果)をレジスタ41−22に入力する。
レジスタ41−21(point640の処理結果)をセレクタ43−3からメモリバンク31−3に出力し、レジスタ41−11(point257の処理結果)をセレクタ42−11を介してレジスタ41−21に入力する。
レジスタ41−20(point704の処理結果)をセレクタ43−4を介してメモリバンク31−4に出力し、レジスタ41−10(point1の処理結果)をセレクタ42−10を介してレジスタ41−20に入力する。
レジスタ41−23にレジスタ41−13の値を入力する。
レジスタ41−10にセレクタ42−00を介してレジスタ41−00の値を入力する。
レジスタ41−11にレジスタ41−01の値を入力する。
レジスタ41−12にレジスタ41−02の値を入力する。
レジスタ41−13にレジスタ41−03の値を入力する。
レジスタ41−01にFFT演算回路20からpoint129の処理結果を入力する。
レジスタ41−01にFFT演算回路20からpoint385の処理結果を入力する。
レジスタ41−02にFFT演算回路20からpoint641の処理結果を入力する。
レジスタ41−03にFFT演算回路20からpoint897の処理結果を入力する。
(4) Time3の処理
Time3では同時に以下の処理を行う。
レジスタ41−33(point768の処理結果)をセレクタ43−1からメモリバンク31−1に出力し、レジスタ41−23(point769の処理結果)をレジスタ41−33に入力する。
レジスタ41−32(point832の処理結果)をセレクタ43−2からメモリバンク31−2に出力し、レジスタ41−22(point523の処理結果)をセレクタ42−22を介してレジスタ41−32に入力する。
レジスタ41−31(point896の処理結果)をセレクタ43−3からメモリバンク31−3に出力し、レジスタ41−21(point257の処理結果)をセレクタ42−21を介してレジスタ41−31に入力する。
レジスタ41−30(point960の処理結果)をセレクタ43−4からメモリバンク31−4に出力し、レジスタ41−20(point1の処理結果)をセレクタ42−20を介してレジスタ41−30に入力する。
レジスタ41−20にセレクタ42−10を介してレジスタ41−10の値を入力する。
レジスタ41−21にセレクタ42−11を介してレジスタ41−11の値を入力する。
レジスタ41−22にレジスタ41−12の値を入力する。
レジスタ41−23にレジスタ41−13の値を入力する。
レジスタ41−10にセレクタ42−00を介してレジスタ41−00の値を入力する。
レジスタ41−11にレジスタ41−01の値を入力する。
レジスタ41−12にレジスタ41−02の値を入力する。
レジスタ41−13にレジスタ41−03の値を入力する。
レジスタ41−00にFFT演算回路20からpoint193の処理結果を入力する。
レジスタ41−01にFFT演算回路20からpoint449の処理結果を入力する。
レジスタ41−02にFFT演算回路20からpoint705の処理結果を入力する。
レジスタ41−03にFFT演算回路20からpoint961の処理結果を入力する。
(5) Time3の処理終了後
Time3での処理終了後のFFTメモリ制御回路40の状態はTime0と同じ状態である。即ち、Time0の動作を繰り返す。
(メモリ制御方法の数式表現)
図1の演算装置を用いたメモリ制御方法を数式で表現すると、以下のようになる。
図1の演算装置を有効に使用するためには、メモリアクセスが重要になる。例えば、Radix4の場合では、メモリ30が4分割されたメモリバンク31−1〜31−4の内容を次のように読み込んでいく必要がある。
0番目のアドレス(メモリバンク31−1〜31−4共に)のデータ
64番目のアドレス(メモリバンク31−1〜31−4)のデータ
128番目のアドレス(メモリバンク31−1〜31−4)のデータ
即ち、メモリアドレッシングも必要な構成要素となる。アドレッシングとしては、ポイント数であるデータ数がR(但し、RはRadix数、nは処理の回数)で表現される場合、Radix4ならばR=4である。処理の回数nは、例えば1024データのRadix4FFTならば、4=1024から、n=5となる。
FFTの処理の段数kとしては、n回行われるので、次のようになる。
1回目はR(n−2)毎のデータを読み込み →Radix4の時は 43=64
2回目はR(n−3)毎のデータを読み込み →Radix4の時は 42=16
3回目はR(n−4)毎のデータを読み込み →Radix4の時は 41=4
4回目はR(n−5)毎のデータを読み込み →Radix4の時は 40=1
5回目はR(n−5)毎のデータを読み込み →Radix4の時は 40=1
但し、最後の処理段数(k=5)のみ特別扱いとなる。こうすることによって図1の演算装置は有効に使用できる。因みにR=2,8(Radix2,Radix8)の時も同様である。以上のことを数式で表現すると、次のようになる。
図1の演算装置を用いたメモリの制御方法では、メモリ(30)をR(Radix数)に分割したメモリバンク(31−1〜31−4)のk段目のFFT処理(又はIFFT処理)において、R(n−k−1)間隔のデータを読み込みこと(但し、FFT最後の段の処理は間隔は1)を特徴としている。
(実施例1の効果)
本実施例1によれば、FFT演算回路20とメモリ30との間にFFTメモリ制御回路40を設け、このFFTメモリ制御回路40を、次段のFFT処理で同時に必要なデータを別々のメモリバンク31−1〜31−4に格納可能とし、且つ使用したメモリ番地に上書きの形でのFFT処理を実現可能としたので、次の(a)〜(c)のような効果がある。
(a) FFTの1段の演算結果データを次段の演算処理に最適なブロック分けされる形でメモリ30に格納することが可能となる。これよりFFT処理を中断することなく効率よく実現出来る。
(b) ある段のFFT処理で使用されたデータ、同じアドレスに次段のFFT処理で使用されるデータを書き込むことが可能となるため、従来の図6では2面必要だったメモリ10,10を1面(30)にすることが出来、ハード規模を小さくすることが可能となる。
(c) 本実施例1によるFFTメモリ制御回路40では、データの並べ替えを行うとき必要なレジスタ41−00〜41−33を最小限に出来るため、ハードコストを最小にすることが出来る。しかも、レジスタ間に設けられるセレクタ42−00〜42−22が2入力1出力型のセレクタのみであり、小さい回路で実現することが可能である。
(実施例2の構成)
図3は、本発明の実施例2を示すRadix2&Radix4兼用型のRadix2&Radix4FFT演算回路及びFFTメモリ制御回路の構成図であり、実施例1を示す図1中の要素と共通の要素には共通の符号が付されている。
本実施例2は、Radix2&Radix4兼用型のFFT演算装置において、演算手段(例えば、Radix2&Radix4FFT演算回路)20Aとメモリ30との間に、メモリ制御手段(例えば、FFTメモリ制御回路)40Aが設けられている。Radix2&Radix4FFT演算回路20Aは、第1のFFT処理(例えば、Radix2FFT演算)機能と第2のFFT処理(例えば、Radix4FFT演算)機能とを有し、これらが切り替えられるようになっている。FFTメモリ制御回路40Aは、図1のFFTメモリ制御回路40に対して、レジスタ間において2入力1出力のセレクタ(Reg)42−02,42−12,42−13が追加され、図1の出力段の4入力1出力のセレクタ43−2,43−1に代えて、5入力1出力のセレクタ43−2A,43−1Aが設けられている点が異なっている。
追加されたレジスタ間のセレクタ42−02,42−12,42−13は、これらの入出力が図示しない制御信号により切り替えられるものであり、この内、セレクタ42−02は、1段目レジスタ41−02,41−03の出力のいずれか一方を選択して2段目レジスタ41−12へ与え、セレクタ42−12は、1段目レジスタ41−02又は2段目レジスタ41−12の出力のいずれか一方を選択して出力段レジスタ43−2Aへ与え、セレクタ42−13は、2段目レジスタ41−12,41−13の出力のいずれか一方を選択して出力段レジスタ43−1Aへ与えるように接続されている。
本実施例2のRadix2&Radix4兼用型のFFT処理装置は、Radix4とRadix2FFTの両方に対応し、これはFFTのpoint数を任意に定めた場合に有効である。この理由は、以下の通りである。
Radix4FFTはRadix2FFTに比べて同じpoint数のFFTを実行する場合、演算回数を約25%少なく出来るが、FFTのpoint数が4のべきで表現される必要がある。このため、4のべきで表現出来ないpoint数のFFTを実行する場合、Radix4FFTとRadix2FFTと混在して使用する。本回路はそれに対応している。
(実施例2のメモリ制御方法)
FFTメモリ制御回路40Aは、Radix4FFTの処理の時は、図1のFFTメモリ制御回路40と同様の処理を行う。例えば、1024point Radix2FFT処理の時は、レジスタ41−20,41−21,41−22,41−23,41−30,41−31,41−32,41−33を使用しない。
図4は、図3のレジスタ41−00〜41−33のTime0〜Time1におけるデータ格納状態を示す図である。この図の意味は図2と同様である。
例えば、1024point Radix2FFT処理の場合、FFTメモリ制御回路40Aは、図示しないクロックに同期して、以下の(1)〜(3)のようなTime0〜Time1の処理を繰り返す。
(1) Time0の処理
Time0では同時に以下の処理を行う。
レジスタ41−00(point64の処理結果)をセレクタ43−4からメモリバンク31−4に出力し、FFT演算回路20Aからpoint128の処理結果をレジスタ41−00に入力する。
レジスタ41−10(point0の処理結果)をセレクタ43−3からメモリバンク31−3に出力し、レジスタ41−01(point320の処理結果)をセレクタ42−00を介してレジスタ41−10に入力する。
レジスタ41−02(point576の処理結果)をセレクタ42−12,43−2Aからメモリバンク31−2に出力し、FFT演算回路20Aからpoint640の処理結果をレジスタ41−02に入力する。
レジスタ41−12(point512の処理結果)をセレクタ42−13,43−1Aからメモリバンク31−1に出力し、レジスタ41−03(point320の処理結果)をセレクタ42−02を介してレジスタ41−12に入力する。
レジスタ41−01にFFT演算回路20Aからpoint384の処理結果を入力する。
レジスタ41−03にFFT演算回路20Aからpoint896の処理結果を入力する。
(2) Time1の処理
Time1では同時に以下の処理を行う。
レジスタ41−10(point320の処理結果)をセレクタ43−4からメモリバンク31−4に出力し、レジスタ41−00(point128の処理結果)をセレクタ42−00を介してレジスタ41−10に入力する。
レジスタ41−11(point256の処理結果)をセレクタ43−3からメモリバンク31−3に出力し、レジスタ41−01(point384の処理結果)をレジスタ41−11に入力する。
レジスタ41−12(point832の処理結果)をセレクタ42−12,43−2Aからメモリバンク31−2に出力し、レジスタ41−02(point640の処理結果)をセレクタ42−02を介してレジスタ41−12に入力する。
レジスタ41−13(point768の処理結果)をセレクタ42−13,43−1Aからメモリバンク31−1に出力し、レジスタ41−03(point896の処理結果)をレジスタ41−13に入力する。
レジスタ41−00にFFT演算回路20Aからpoint192の処理結果を入力する。
レジスタ41−01にFFT演算回路20Aからpoint448の処理結果を入力する。
レジスタ41−02にFFT演算回路20Aからpoint704の処理結果を入力する。
レジスタ41−03にFFT演算回路20Aからpoint960の処理結果を入力する。
(3) Time1終了後
Time1での処理終了後のFFTメモリ制御回路40Aの状態は、Time0と同じ状態である。即ち、Time0の動作を繰り返すこととなる。
(実施例2の効果)
本実施例2のFFTメモリ制御回路40Aによれば、次段のFFT処理で同時に必要なデータを別々のメモリバンク31−1〜31−4に格納可能とし、使用したメモリ番地に上書きの形でのFFT処理を実現可能とし、且つRadix2FFTとRadix4FFTの両者に対応可能な構成にしたので、実施例1とほぼ同様の効果がある上に、FFTのpoint数を任意に定めた場合に有効である。
本発明は上記実施例1、2に限定されず、種々の変形が可能である。この変形例である実施例3としては、例えば、次の(A)〜(C)のようなものがある。
(A) 実施例1、2では、メモリ30を4分割したメモリバンク31−1〜31−4を使用する例について説明したが、これに代えて、メモリ30中の4つの指定場所を使用しても良い。例えば、メモリ30において、m(但し、mは任意の正整数)行目且つn(但し、nは任意の正整数)列目の指定場所(メモリバンク31−1に対応)、m行目且つ(n+1)列目の指定場所(メモリバンク31−2に対応)、(m+1)行目且つn列目の指定場所(メモリバンク31−3に対応)、及び、(m+1)行目且つ(n+1)列目の指定場所(メモリバンク31−4に対応)を使用して、データの読み出しと書き込みを行うようにしても、実施例1、2とほぼ同様の作用効果を奏することが出来る。
(B) 実施例1、2では、FFT処理について説明したが、IFFT処理に適用しても、ほぼ同様の作用効果が得られる。
(C) 図1のFFT演算回路20,20Aは、Radix2FFT、Radix4FFT以外の構成に変更したり、メモリバンク31−1〜31−4の個数(或いはメモリ30の指定場所の数)を4個以外の数に変更したり、図1、図3のFFTメモリ制御回路40,40Aの構成要素を図示以外の段数や個数等に変更しても良い。
本発明の実施例1のRadix4FFT演算装置を示す概略の構成図である。 図1(b)のレジスタにおけるデータ格納状態を示す図である。 本発明の実施例2を示すRadix2&Radix4兼用型のRadix2&Radix4FFT演算回路及びFFTメモリ制御回路の構成図である。 図3のレジスタにおけるデータ格納状態を示す図である。 非特許文献1に記載された基数2周波数間引きFFTのデータフローを示す図である。 従来のRadix4FFT演算装置を示す概略の構成図である。 従来のRadix2、Radix4のFFT処理の演算フローを示す図である。 従来のRadix4のFFT処理の一例を示す図である。
符号の説明
20,20A FFT演算回路
30 メモリ
31−1〜31−4 メモリバンク
40,40A FFTメモリ制御回路
41−00〜41−33 レジスタ
42−00〜42−22,43−1〜43−4,43−1A,43−2A セレクタ

Claims (1)

  1. 第1のデータをm(但し、mは任意の正整数)行目且つn(但し、nは任意の正整数)列目に、第2のデータをm行目且つ(n+1)列目に、第3のデータを(m+1)行目且つn列目に、第4のデータを(m+1)行目且つ(n+1)列目に指定される場所にそれぞれ格納するメモリの読み出し及び書き込み方法であって、
    前記第1及び第3のデータを読み出し、
    前記第3のデータを読み出した後、前記第2のデータを前記(m+1)行目且つ前記n列目に指定される場所に移動し、
    前記第2のデータを移動した後、前記m行目且つ前記n列目に第5のデータを書き込み、
    前記第2のデータを移動した後、前記m行目且つ前記(n+1)列目に第6のデータを書き込むことを特徴とするメモリの読み出し及び書き込み方法。
JP2005179387A 2005-06-20 2005-06-20 メモリの読み出し及び書き込み方法 Active JP4796339B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2005179387A JP4796339B2 (ja) 2005-06-20 2005-06-20 メモリの読み出し及び書き込み方法
KR1020060008721A KR101222597B1 (ko) 2005-06-20 2006-01-27 메모리의 판독 및 기록방법, 메모리 제어방법과, 그것을이용한 연산장치
CN200610006837A CN100594490C (zh) 2005-06-20 2006-02-05 存储器控制方法及运算装置
US11/454,863 US7792892B2 (en) 2005-06-20 2006-06-19 Memory control method for storing operational result data with the data order changed for further operation

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005179387A JP4796339B2 (ja) 2005-06-20 2005-06-20 メモリの読み出し及び書き込み方法

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2011127120A Division JP5444287B2 (ja) 2011-06-07 2011-06-07 演算装置

Publications (2)

Publication Number Publication Date
JP2006350922A JP2006350922A (ja) 2006-12-28
JP4796339B2 true JP4796339B2 (ja) 2011-10-19

Family

ID=37574653

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005179387A Active JP4796339B2 (ja) 2005-06-20 2005-06-20 メモリの読み出し及び書き込み方法

Country Status (4)

Country Link
US (1) US7792892B2 (ja)
JP (1) JP4796339B2 (ja)
KR (1) KR101222597B1 (ja)
CN (1) CN100594490C (ja)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007127938A2 (en) * 2006-04-28 2007-11-08 Qualcomm Incorporated Multi-port mixed-radix fft
CN101184079B (zh) * 2007-12-24 2011-09-14 北京创毅视讯科技有限公司 一种频域载波信道估计方法及装置
EP2144174A1 (en) * 2008-07-07 2010-01-13 Mitsubishi Electric R&D Centre Europe B.V. Parallelized hardware architecture to compute different sizes of DFT
FR2953310B1 (fr) * 2009-11-30 2012-08-17 Commissariat Energie Atomique Operateur materiel d'additions/soustractions, processeur et terminal de telecommunication incluant un tel operateur
FR2953356B1 (fr) * 2009-11-30 2014-12-05 Commissariat Energie Atomique Processeur de traitement de donnees numeriques a operateur papillon pour l'execution d'une fft/ifft et terminal de telecommunication
US8194532B1 (en) * 2010-01-25 2012-06-05 Xilinx, Inc. Mixed radix discrete fourier transform
CN102339272A (zh) * 2010-07-16 2012-02-01 联咏科技股份有限公司 分裂基数-2/8快速傅立叶转换装置及方法
US11094371B2 (en) 2019-03-11 2021-08-17 Samsung Electronics Co., Ltd. Memory device for processing operation and method of operating the same
CN112822139B (zh) * 2021-02-04 2023-01-31 展讯半导体(成都)有限公司 数据输入、数据转换方法及装置
CN118626411A (zh) * 2024-08-13 2024-09-10 北京大有半导体有限责任公司 基于滑动fft的数据读写方法、装置、系统及存储介质

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3951066B2 (ja) * 1996-05-16 2007-08-01 ソニー株式会社 Fft演算装置およびfft演算方法
AU2002332820A1 (en) * 2001-09-01 2003-03-18 Bermai, Inc. Ram-based fast fourier transform unit for wireless communications
JP4022546B2 (ja) * 2002-06-27 2007-12-19 サムスン エレクトロニクス カンパニー リミテッド 高速フーリエ変換を用いた混合−基数方式の変調装置
US7496618B2 (en) * 2004-11-01 2009-02-24 Metanoia Technologies, Inc. System and method for a fast fourier transform architecture in a multicarrier transceiver

Also Published As

Publication number Publication date
CN100594490C (zh) 2010-03-17
US7792892B2 (en) 2010-09-07
KR20060133446A (ko) 2006-12-26
CN1885287A (zh) 2006-12-27
JP2006350922A (ja) 2006-12-28
US20060288068A1 (en) 2006-12-21
KR101222597B1 (ko) 2013-01-16

Similar Documents

Publication Publication Date Title
JP4796339B2 (ja) メモリの読み出し及び書き込み方法
US6609140B1 (en) Methods and apparatus for fast fourier transforms
US20050256917A1 (en) Address generators integrated with parallel FFT for mapping arrays in bit reversed order
US7415584B2 (en) Interleaving input sequences to memory
US9934199B2 (en) Digital filter device, digital filtering method, and storage medium having digital filter program stored thereon
US6993547B2 (en) Address generator for fast fourier transform processor
US7653676B2 (en) Efficient mapping of FFT to a reconfigurable parallel and pipeline data flow machine
US6728742B1 (en) Data storage patterns for fast fourier transforms
JP5444287B2 (ja) 演算装置
EP1447752A2 (en) Method and system for multi-processor FFT/IFFT with minimum inter-processor data communication
EP1426872A2 (en) Linear scalable FFT/IFFT computation in a multi-processor system
US20030212722A1 (en) Architecture for performing fast fourier-type transforms
EP1538533A2 (en) Improved FFT/IFFT processor
JP2008052504A (ja) 離散フーリエ変換装置および離散フーリエ逆変換装置
KR100602272B1 (ko) 고속으로 데이터를 처리하는 고속 퓨리에 변환 장치 및 방법
JP3950466B2 (ja) フーリエ変換装置
JPH09245109A (ja) 関数変換演算器
CN104572578B (zh) 用于显著改进微控制器中fft性能的新颖方法
JP4248027B2 (ja) データ要素の系列を変換する装置
US7447722B2 (en) Low latency computation in real time utilizing a DSP processor
JP2002504250A (ja) データ要素の系列を変換する装置
JP2005215058A5 (ja)
JP2751531B2 (ja) ループコードfft演算方式
CN118312709A (zh) 基于快速傅里叶变换的并行计算系统及方法
Jaervinen et al. Unified Architecture for Discrete Fourier and Inverse Cosine Transforms

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080304

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A712

Effective date: 20081203

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20090406

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110330

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110412

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110607

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: 20110705

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110729

R150 Certificate of patent or registration of utility model

Ref document number: 4796339

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20140805

Year of fee payment: 3

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350