JP3839504B2 - フーリエ変換装置 - Google Patents
フーリエ変換装置 Download PDFInfo
- Publication number
- JP3839504B2 JP3839504B2 JP20381795A JP20381795A JP3839504B2 JP 3839504 B2 JP3839504 B2 JP 3839504B2 JP 20381795 A JP20381795 A JP 20381795A JP 20381795 A JP20381795 A JP 20381795A JP 3839504 B2 JP3839504 B2 JP 3839504B2
- Authority
- JP
- Japan
- Prior art keywords
- fourier transform
- data
- long
- intermediate buffer
- buffer memory
- 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.)
- Expired - Lifetime
Links
Images
Landscapes
- Complex Calculations (AREA)
Description
【発明の属する技術分野】
本発明は、フーリエ変換装置に関するものである。
【0002】
【従来の技術】
従来、時間成分の信号を周波数成分の信号に変換するための手法の1つに、DFT(離散的フーリエ変換)と呼ばれる手法がある。N点の信号(周期がNであることを示す)を周波数変換するためのDFTの一般式は、時間成分の信号値をSi 、周波数成分の信号値をSk とすると、次の(式1)のように表せる。
【0003】
【数1】
【0004】
この(式1)の演算を行うためには、乗算を4N2 回、加減算を2N2 +2N(N−1)回行う必要がある。すなわち、(式1)から分かるように、DFTは複素演算を行うものであるから、実際には次の(式2)で示される回転演算を引数k,iの各値について行っている。
【0005】
【数2】
【0006】
(式2)において、周波数成分の信号値Sk [real](実部)、Sk [imag](虚部)を求めるためには、時間成分の信号値Si [real]と cosθ、信号値Si [real]と sinθ、信号値Si [imag]と sinθ、信号値Si [imag]と cosθとの乗算をそれぞれiについてN回、それを更にkについてN回、2重のループで計算するから、全部で4N2 回の乗算が必要になる。
【0007】
さらに、上述の乗算により得られる信号値Si [real] cosθと信号値Si [imag] sinθとの減算、信号値Si [real] sinθと信号値Si [imag] cosθとの加算をそれぞれiについてN回、それを更にkについてN回、2重のループで計算するから、全部で2N2 +2N(N−1)回の加減算が必要になる。
【0008】
【発明が解決しようとする課題】
以上のように、従来のDFTでは、数多くの乗算および加減算を行う必要があった。このため、処理に膨大な時間がかかってしまうという問題があった。そこで、従来、上記DFTの処理時間をできるだけ短くすることができるようにするために、FFT(高速フーリエ変換)と呼ばれる手法が開発され、デジタル信号処理の分野で多く用いられてきた。
【0009】
このFFTは、バタフライ演算と呼ばれる基本演算を数段階に渡って繰り返して行うことにより、DFTの演算量を削減できるようにしたものである。つまり、FFTにおいて周期Nのフーリエ変換を実施する場合には、上記周期Nを所定の基数ごとに数段階に分けて、各基数のバタフライ演算をそれぞれ行うことで周波数解析を行っていた。
【0010】
このFFTでは、数段階のバタフライ演算をパイプライン処理で並列に行うことが可能である。その場合には、数段階に渡って演算した結果をそれぞれ一時記憶しておくための中間バッファメモリが必要になる。したがって、従来のFFTでは、各中間バッファメモリの全メモリ容量が非常に大きくなってしまうという問題があった。
【0011】
すなわち、FFTを構成する各バタフライ演算の性質上、その基数は比較的小さいものしか選択することができないため、バタフライ演算の段数が多くなってしまう。そのため、各バタフライ演算の結果を一時記憶しておくための中間バッファメモリの数が多くなるとともに、個々の中間バッファメモリの容量も大きくなってしまい、その結果、全メモリ容量が非常に大きくなってしまっていた。また、上述したように、周期Nを所定の基数ごとに数段階に分けて、各基数のバタフライ演算を行うようにしたフーリエ変換においては、上記数段階に分けた端点をつなげることによって周期Nについて周波数解析を行っている。しかしながら、上記端点の接続部分に不連続点が存在すると、正常でない周波数成分、すなわち、周波数もれ成分が生じることがある。このような不都合を防止して、端点の不連続点をなくすために、パイプライン処理を行うようにしたフーリエ変換装置においては、窓かけ演算装置と呼ばれる演算装置を設けて、上述した周波数もれ成分を少なくするようにしていた。このため、従来のフーリエ変換装置においては、周波数もれのない高速処理を実現しようとすると、メモリ容量を大きくしたり演算装置を増やしたりしなければならず、装置が大掛かりになってしまう問題点があった。
【0012】
本発明は、このような問題を解決するために成されたものであり、メモリ容量を大きくしたり演算装置を増やしたりすることなく、周波数もれのない高速処理を実現できるようにすることを目的とする。
【0013】
【課題を解決するための手段】
本発明のフーリエ変換装置は、横方向に周期n1 、縦方向に周期n2 の2次元状に配置された周期N(=n1 ×n2 )の時間成分の信号に対して、縦方向に対する周期n2のフーリエ変換をn1 回行うn2 長フーリエ変換手段と、上記n2 長フーリエ変換手段による変換結果を一時記憶するための第1の中間バッファメモリと、上記n2 長フーリエ変換手段の前段に設けられ、与える係数を変えることにより窓かけ演算または回転演算の何れかを行う窓かけ回転演算手段と、上記第1の中間バッファメモリに記憶されたデータに対して回転演算を行う回転演算手段と、上記回転演算手段により行われた回転演算結果に対して、横方向に対する周期n1 のフーリエ変換をn2 回行うn1 長フーリエ変換手段と、上記n1 長フーリエ変換手段の出力結果を一時記憶するための第2の中間バッファメモリとを具備し、上記第2の中間バッファメモリの記憶内容を上記窓かけ回転演算手段に供給して、上記窓かけ回転演算手段、上記n2 長フーリエ変換手段、上記回転演算手段、及び上記n1長フーリエ変換手段による処理を時分割で繰り返して行うようにしたことを特徴とする。
【0020】
本発明の他の特徴とするところは、上記第1の中間バッファメモリを高速ページモードを持つメモリを用いて構成したフーリエ変換装置であって、上記高速ページモードを持つメモリ上において所定ワード分の中間バッファメモリを縦横のブロック状に順次配置するようにしたことを特徴とする。
【0021】
本発明のその他の特徴とするところは、上記n2 長フーリエ変換手段と上記n1 長フーリエ変換手段とを並列に動作させるようにしたフーリエ変換装置において、上記n2 長フーリエ変換手段によりフーリエ変換されたデータを上記第1の中間バッファメモリに記憶する際に、最初にn1 回のフーリエ変換が完了するまでは、上記n1 長フーリエ変換手段で使用するために読み出されて空きにされた横方向の領域に上記データを書き込み、次にn1 回のフーリエ変換が完了するまでは、同様にして空にされた縦方向の領域に上記データを書き込むというように、データの書き込み方向を縦と横とで交互に変換するようにするとともに、上記n1 長フーリエ変換手段において上記第1の中間バッファメモリに記憶されたデータを使用する際に、最初にn2 回のフーリエ変換が完了するまでは横方向に上記データを読み出し、次にn2 回のフーリエ変換が完了するまでは縦方向に上記データを読み出すというようにデータの読み出し方向を縦と横とで交互に変換するようにするアドレッシング手段を設けたことを特徴とする。
【0024】
【作用】
本発明は、上記技術手段より成るので、周期Nの時間成分の信号が周期Nのフーリエ変換によって一度に周波数変換されるのではなく、上記周期Nよりも小さな周期n1 、n2 のフーリエ変換の組み合わせによって周波数変換される。さらに、フーリエ変換されたデータが再び同じ装置に入力されて更に大きな周期のフーリエ変換が行われていくこととなるので、フーリエ変換演算の性質上、上記小さな周期n1 、n2 のフーリエ変換でそれぞれ行われる演算量は、上記周期Nのフーリエ変換で行われる演算量に比べて格段に少ないものとなり、上記小さな周期n1 、n2 のフーリエ変換で行われる各演算量と回転演算で行われる演算量とを合計した演算量を、上記周期Nの時間成分の信号を周期Nのフーリエ変換によって一度に周波数変換を行う場合よりも少なくすることが可能となる。また、大きな周期のフーリエ変換を行うために必要なフーリエ変換装置及び回転演算装置の数を少なくすることが可能となる。さらに、各フーリエ変換の結果を一時記憶しておくための中間バッファメモリの数を、従来のFFTにおけるバタフライ演算を並列化動作させる場合に比べて少なくすることが可能でとなり、個々の中間バッファメモリの容量を少なくすることが可能となる。また、メモリ容量を大きくしたり演算装置を増やしたりすることなく、周波数もれのない高速フーリエ変換処理を実現することが可能となる。
【0028】
請求項2に記載の発明によれば、ブロック状に配置された中間バッファメモリの縦方向に対してデータの読み書きを行うときには高速ページモードを使って高速に読み書きをすることが可能となるので、縦方向に対しても横方向に対してもメモリアクセスを高速に行うことが可能となる。これにより、ストライプ状に配置した場合に、縦横の一方の方向に対するデータの読み書きは速いが、他方の方向に対するデータの読み書きが非常に遅くなり、その結果、縦方向と横方向とのそれぞれに対してフーリエ変換を行う際に必要なデータを読み書きするのにかかる時間が長くなってしまうという不都合を防止することが可能となる。
【0029】
請求項3に記載の発明によれば、n1 長フーリエ変換手段で使用するためにデータが読み出されることによって順次空きにされた領域に、n2 長フーリエ変換手段でフーリエ変換されたデータが順次記憶されていくこととなり、データの読み出しによって空にされた領域を有効に使って、1つの中間バッファメモリをn2 長フーリエ変換用とn1 長フーリエ変換用とで共用することが可能となる。
【0032】
【実施例】
以下、本発明の一実施例を図面に基づいて説明する。
時間成分の信号を周波数成分の信号に周期Nで変換するための処理、すなわちN点DFTの処理を、従来は図2(0)に示すようにN長フーリエ変換で一度に行っていた。これに対し、本実施例のフーリエ変換装置では、図2(a)〜(e)に示すように第1〜第5のフェーズに分けて行っている。
【0033】
すなわち、第1のフェーズでは、図2(a)に示すように、入力される1次元状のN個のデジタル信号を横n1 個×縦n2 個の2次元状の配置に並べ替える。第2のフェーズでは、図2(b)に示すように、上記並べ替えた2次元状のデータ配置において、縦方向に対するn2 個のデータを用いてn2 長DFT処理を横方向の数n1 だけ行う。
【0034】
次に、第3のフェーズでは、図2(c)に示すように、上記n2 長DFT処理で得られた結果に対して回転演算を施す。第4のフェーズでは、図2(d)に示すように、上記回転演算の結果に対して、横方向に対するn1 個のデータを用いてn1 長DFT処理を縦方向の数n2 だけ行う。最後に、第5のフェーズでは、図2(e)に示すように、上記n1 長DFT処理で得られた結果を1次元状のデータ配置に並べ替える。
【0035】
図1は、本実施例によるフーリエ変換装置の構成を示す図であって、図2に示した5つのフェーズの処理を行うための構成を示す図である。
図1において、1は第1の並べ替え手段であり、上記第1のフェーズの処理を行う。この第1の並べ替え手段1は、例えば、メモリとアドレッシング装置とにより簡単に構成することが可能である。この並べ替え処理を式で表すと、次の(式3)のようになる。
【0036】
【数3】
【0037】
2はn2 長フーリエ変換手段であり、次の(式4)に従って上記第2のフェーズの処理を行う。すなわち、上記第1の並べ替え手段1で並べ替えられた2次元状のデータ配置において、縦方向に対するn2 長のDFT処理をn1 回行う。
【0038】
【数4】
【0039】
3は回転演算手段であり、次に示す(式5)に従って上記第3のフェーズの処理を行う。すなわち、上記n2 長フーリエ変換手段2による演算処理の結果得られたデータに対して回転演算を施す。
【0040】
【数5】
【0041】
4は中間バッファメモリであり、上記n2 長フーリエ変換手段2によりフーリエ変換されたデータを一時記憶する。上述の回転演算手段3は、この中間バッファメモリ4に記憶されたデータに対して回転演算を行い、その演算結果をn1 長フーリエ変換手段5に供給するようになされている。
【0042】
上記n1 長フーリエ変換手段5は、上記回転演算手段3による回転演算の結果得られるデータを用いて、次の(式6)に従って上記第4のフェーズの処理を行う。すなわち、上記並べ替えられた2次元状のデータ配置において、横方向に対するn1 長のDFT処理をn2 回行う。
【0043】
【数6】
【0044】
6は第2の並べ替え手段であり、上記第5のフェーズの処理を行う。すなわち、上記n1 長フーリエ変換手段5により求められたデータを次の(式7)に従って再び1次元状に並べ替えることにより、周波数成分の信号Sk を得る。なお、この第2の並べ替え手段6は、上記第1の並べ替え手段1と同様に、メモリとアドレッシング装置とにより構成することが可能である。
【0045】
【数7】
【0046】
上記(式3)〜(式7)に示した5つのフェーズに分けて行っている本実施例のDFT処理は、従来の(式1)で行っているDFT処理と等価であり、同じ演算結果(同じ周波数成分の信号Sk )を得ることができる。一方、その演算結果を得るまでの演算量は、従来に比べて本実施例の方が少なくなっている。このことを以下に説明する。
【0047】
本実施例のDFT処理における第1のフェーズと第5のフェーズの処理は、単なるデータの並べ替え処理(メモリアドレッシング処理)であるから、演算は行っていない。そこで、本実施例における総演算量は、第2〜第4のフェーズにおける各処理の演算量を合計したものとなる。次に示す表1は、その演算量を示したものである。
【0048】
【表1】
【0049】
この表1から明らかなように、本実施例のDFT処理で行う乗算の回数は、4n1 n2 (n1 +n2 +1)回であり、加減算を行う回数は、2n1 n2 (2n1 +2n2 +1)回である。一方、従来例のところで述べたように、従来のDFT処理で行う乗算の回数は、4N2 =4n1 2n2 2回である。また、加減算を行う回数は、2N2 +2N(N−1)=4n1 2n2 2−2n1 n2 回であり、2n1 n2 は殆ど無視できるほど小さいと考えてよいから、結局4n1 2n2 2回である。
【0050】
乗算を行う回数および加減算を行う回数をそれぞれ本実施例と従来とで比較してみれば分かるように、n1 とn2 の値を共に3以上とすれば、本実施例のDFT処理における演算量を従来のDFT処理における演算量よりも確実に少なくすることができる。
【0051】
次に、本実施例のDFT処理と従来のFFT処理とを比較してみると、従来のFFTは、本実施例のDFTの特別な例であると言える。すなわち、本実施例のDFTでは、実演算を第2〜第4のフェーズの3段に分離して行っている。これに対し、従来のFFTは、第2のフェーズと第3のフェーズまたは第3のフェーズと第4のフェーズとを一まとめにして演算の流れを再配置し、バタフライ演算という形にまとめて行うものである。
【0052】
このため、演算量の観点からすれば、本実施例のDFTと従来のFFTとで差ほど変わりはないと言える。ところが、各フェーズの処理をパイプライン化して並列に行う場合に必要な中間バッファメモリの容量という観点からすると、本実施例のDFTでは、従来のFFTよりも格段に小さいメモリ容量で済むというメリットがある。
【0053】
すなわち、本実施例の場合、上記中間バッファメモリ4に必要なメモリ容量はn1 ×n2 ワード分である。さらに、第2のフェーズにおけるn1 長DFT処理の周期n1 を更に細かく分離して横方向n11、縦方向n12(n1 =n11×n12)として処理することとすれば、その中間部にn11×n12ワード分のメモリが必要になる。また、第4のフェーズにおけるn2 長DFT処理の周期n2 を更に細かく分離して横方向n21、縦方向n22(n2 =n21×n22)として処理することとすれば、その中間部にn21×n22ワード分のメモリが必要になる。
【0054】
以下同様にして、更に細かく周期を分離して縦方向のDFT処理と横方向のDFT処理とを行うようにすれば、例えばN=216点の周波数解析を行う場合、各中間バッファメモリで必要なメモリ容量は、図3(a)の各四角の中に示す数字のようになる。したがって、中間バッファメモリの全メモリ容量は、各中間バッファメモリのメモリ容量を合計して、66176ワード分となる。
【0055】
もちろん、図3(a)に示したように周期が最も小さくなるまで細分化する必要は必ずしもなく、その場合に必要なメモリ容量は、上記66176ワードよりも小さくなる。
【0056】
一方、従来のFFTでは、数段階のバタフライ演算によって周波数解析を実施しているが、上述したように各バタフライ演算の基数は小さい値しかとることができない。そこで、基数を2とした場合に各中間バッファメモリとして必要なメモリ容量を、図3(b)に示した。この図3(b)から、中間バッファメモリとして必要な全メモリ容量は、131102ワード分であることが分かる。
【0057】
図3(a)と図3(b)とを比較すれば明らかなように、本実施例のDFT処理によれば、各フェーズの処理を並列化動作させる場合に必要な中間バッファメモリのメモリ容量を、従来のFFTで各バタフライ演算を並列化動作させる場合に必要なメモリ容量よりも小さくすることができる。
【0058】
以上説明したように、本実施例のフーリエ変換装置によれば、一連のフーリエ変換処理にかかる演算量を少なくすることができ、しかも、各フェーズを並列化動作させた場合に使用する中間バッファメモリの全メモリ容量を小さくすることもできるようになる。
【0059】
なお、以上の実施例では、第1の並べ替え手段1と第2の並べ替え手段6とを含めたものを1つのフーリエ変換装置として扱っているが、このようなデータの並べ替えを行う手段が外部に存在すれば、これらの手段はフーリエ変換装置内に必ずしも設ける必要はない。
【0060】
以上のような本実施例のフーリエ変換装置を利用して、以下に述べる幾つかの応用例を実現することができる。
【0061】
まず第1番目の例は、ある小さな周期のフーリエ変換装置を2個直列に設けるとともに、その間に小規模の回転演算装置を付加することにより、より大きな周期のフーリエ変換装置を構成したものである。
【0062】
例えば、図4に示すように、n2 長DFT装置11とn1 長DFT装置14とを直列に設けるとともに、その間に回転演算装置12と(n1 ×n2 )ワード分の容量を持つ中間バッファメモリ13とを付加することにより、N=n1 ×n2 長の大きな周期のDFT装置を構成する。そして、n2 長DFTとn1 長DFTとをパイプライン処理することにより、N点の周波数解析を実施する。
【0063】
上述したように、大きな周期Nの周波数解析を1個のDFT装置で一度に行うのは演算負荷が非常に大きいのに対して、小さな周期n1 、n2 の組み合わせで周波数解析を行うのは演算負荷が小さい。したがって、本装置によれば、全体としての処理速度を高速にすることができるというメリットがある。
【0064】
第2番目の例は、第2のフェーズにおけるn2 長DFT処理と第4のフェーズにおけるn1 長DFT処理とがそれぞれ独立性が高いことを利用して、上記n2 長DFT処理を行う装置と上記n1 長DFT処理を行う装置とをそれぞれ複数個ずつ設けて1つのフーリエ変換装置を構成したものである。
【0065】
例えば、図5に示すように、m1(ワード/秒) の演算能力を持つn2 長DFT装置21a,21b,…,21cをl1 個設けてn2 長DFT装置群21を構成するとともに、m2(ワード/秒) の演算能力を持つn1 長DFT装置24a,24b,…,24cをl2 個設けてn1 長DFT装置群24を構成する。
【0066】
そして、上記n2 長DFT装置群21と上記n1 長DFT装置群24との間にm3(ワード/秒) の演算能力を持つ回転演算装置22と(n1 ×n2 )ワード分の容量を持つ中間バッファメモリ23とを設けることにより、1つのフーリエ変換装置を構成する。
【0067】
既に説明したように、第2のフェーズではn2 長DFT処理をn1 回行う必要がある。そこで、n2 長DFT装置群21を構成するn2 長DFT装置21a,21b,…,21cをn1 個、あるいは適当な数で割った個数だけ設けることにより、n1 回のn2 長DFT処理を並列に行うようにする。これにより、n2 長DFT処理をより短時間で行うようにすることができる。
【0068】
例えば、n1 =4の場合、先に示した図4の例のように、1個のn2 長DFT装置11でn1 回のn2 長DFT処理を行うのでは4サイクルかかっていたのに対し、n2 長DFT装置を2個設ければ2サイクルで行うことができる。また、n2 長DFT装置を4個設ければ、1サイクルで行うことができる。
【0069】
また、第4のフェーズについても同様に、n1 長DFT装置群24を構成するn1 長DFT装置24a,24b,…,24cをn2 個、あるいは適当な数で割った個数だけ設けることにより、n2 回のn1 長DFT処理を行う際の演算サイクル数を少なくすることができる。これにより、より高速なフーリエ変換装置を得ることができる。
【0070】
なお、上記n2 長DFT装置群21の全体としての演算能力はl1 ×m1(ワード/秒) であり、上記n1 長DFT装置群24の全体としての演算能力はl2 ×m2(ワード/秒) である。ここで、m3 ≦l1 ×m1 あるいはm3 ≦l2 ×m2 が成立すると、上記n2 長DFT装置群21およびn1 長DFT装置群24は、m3(ワード/秒) の演算能力に制限される。
【0071】
第3番目の例は、ある小さな周期のフーリエ変換装置を複数個用い、それらを回転演算装置を介して積み重ねるようにして接続する(イメージとしては、図3(a)に示したツリー構造となるように接続する)ことにより、より大きな周期のフーリエ変換装置を構成したものである。
【0072】
例えば、複数個の4点フーリエ変換装置を用いて、より大きな周期の4096点フーリエ変換装置を構成する場合について考える。この場合、図6に示すように、4096点フーリエ変換装置は、大きく分けて16点フーリエ変換装置31と、4096点回転演算装置32と、4096ワード分の容量を持つ4096点バッファメモリ33と、256点フーリエ変換装置34とにより構成される。
【0073】
そして、上記16点フーリエ変換装置31は、2つの4点フーリエ変換装置31a,31dと、16点回転演算装置31bと、16ワード分の容量を持つ16点バッファメモリ31cとにより構成される。また、上記256点フーリエ変換装置34は、2つの16点フーリエ変換装置34a,34dと、256点回転演算装置34bと、256ワード分の容量を持つ256点バッファメモリ34cとにより構成される。
【0074】
さらに、上記256点フーリエ変換装置34内にある一方の16点フーリエ変換装置34aは、上記16点フーリエ変換装置31と同様に、2つの4点フーリエ変換装置34a1 ,34a4 と、16点回転演算装置34a2 と、16ワード分の容量を持つ16点バッファメモリ34a3 とにより構成される。
【0075】
他方の16点フーリエ変換装置34dについても上記16点フーリエ変換装置31と同様に、2つの4点フーリエ変換装置34d1 ,34d4 と、16点回転演算装置34d2 と、16ワード分の容量を持つ16点バッファメモリ34d3 とにより構成される。
【0076】
このように、小さな周期の4点フーリエ変換装置を複数個用い、それらを回転演算装置を介してツリー構造となるように接続することにより、より大きな周期の4096点フーリエ変換装置を構成している。なお、本装置において用いられている各回転演算装置は、ツリーの枝を結ぶ乗算の役目を果たしている。
【0077】
つまり、この図6に示した装置では、4096点の周波数解析を、縦16点×横256点に分割して行う。そして、縦16点の周波数解析を行う際には、更に縦4点×横4点に分割して行う。また、横256点の周波数解析を行う場合も同様にして、縦4点×横4点のフーリエ変換にまで細分化して行う。
【0078】
4096点の周波数解析を1個の4096点フーリエ変換装置で一度に行うのは演算負荷が非常に大きいが、小さな周期の4点フーリエ変換装置の組み合わせで周波数解析を行うのは演算負荷が小さいことは上述した通りである。したがって、本装置によれば、全体としての演算負荷を小さくして処理速度を高速にすることができる。
【0079】
また、本装置において用いている中間バッファメモリの総メモリ容量は、4096+16+256 +16+16=4440ワードである。これに対して、従来のFFTにより4096点フーリエ変換装置を構成すると、各バタフライ演算の基数を4とした場合でも、バッファメモリの総メモリ容量は、4096+1024+256 +64+16+4 ×6 =5480ワードである。
【0080】
以上のことから明らかなように、図6の装置によれば、4096点のDFT処理にかかる演算量を少なくしてFFTと同程度にまで処理時間を短くすることができるだけでなく、演算の過程で使用する中間バッファメモリのメモリ容量を、FFTを行う場合に比べて小さくすることもできている。
【0081】
第4番目の例は、図6に示した第3番目の例を応用した例である。すなわち、窓かけ演算にも流用できるようにした回転演算装置と16点フーリエ変換装置とを用いて1つのフーリエ変換装置を構成する。そして、これをタイムシェアリング(時分割)で用いることにより、より大きな周期(4096点)の周波数解析を行うことができるようにしたものである。
【0082】
フーリエ変換は、数学上の話では本来は無限長の周期で行うものである。しかし、これを実際に行うのは現実問題として無理である。そこで、実際には、周期Nで一定区間を区切り、その端点をつなげることによって無限長とみなして周波数解析を行っている。ところが、この場合に、端点に不連続点が存在すると、正常でない周波数成分、すなわち、周波数もれ成分が生じることがある。
【0083】
上述した窓かけ演算は、この端点の不連続点をなくし、周波数もれ成分を少なくすることを目的として行われるものであり、次の(式8)に示す演算式によって行われる。なお、(式8)中のSk はフーリエ解析するデータ、w(k) は窓関数、Sk ' は実サンプルデータを示している。
【0084】
【数8】
【0085】
ところで、この窓かけ演算は、精密ではないが、次の(式9)に示す回転演算とほぼ同じと考えることができる。したがって、係数をうまく与えれば、回転演算装置を用いて窓かけ演算を行うことが可能である。そこで、この第4番目の例では、回転演算装置を窓かけ演算にも流用できるようにしている。
【0086】
【数9】
【0087】
図7は、この第4番目の例を実現するための装置の構成を示す図である。図7に示したように、本装置は、窓かけ演算にも流用可能な窓かけ/回転演算装置41と、16点フーリエ変換装置42と、4096ワード分の容量を持つ4096点バッファメモリ43と、256ワード分の容量を持つ256点バッファメモリ44と、データ入力部45と、データ出力部46とにより構成されている。
【0088】
上記回転演算装置41は、窓かけ演算を行う際に適当な係数を与える手段を具備している。また、上記16点フーリエ変換装置42は、図6中に示した各16点フーリエ変換装置と同様に、2つの4点フーリエ変換装置42a,42dと、16点回転演算装置42bと、16点バッファメモリ42cとにより構成されている。
【0089】
このように構成したフーリエ変換装置は、図6中にα、β、γで示した部分(何れの部分も16点フーリエ変換装置と回転演算装置、あるいは16点フーリエ変換装置と窓かけ演算装置とを含んでいる)の処理を時分割で行うことにより、4096点の周波数解析を実施する。
【0090】
すなわち、図8に示すように、まず最初に、データ入力部45を介して入力されるデータを用いて、図6中のαの部分に相当する演算が行われる。このとき、窓かけ/回転演算装置41では、適当な係数が与えられることにより窓かけ演算が行われる。このαの部分の演算結果は、データ出力部46を介して4096点バッファメモリ43に順次格納される。
【0091】
そして、この4096点バッファメモリ43にデータがたまると、次にそのデータがデータ入力部45を介して入力され、図6中のβに相当する演算が行われる。このβの部分の演算結果は、データ出力部46を介して256点バッファメモリ44に順次格納される。次に、この256点バッファメモリ44にデータがたまると、そのデータがデータ入力部45を介して入力され、図6中のγに相当する演算が行われる。
【0092】
このように、図7の装置によれば、小さな周期のフーリエ変換の組み合わせによって大きな周期のフーリエ変換を行っているので、4096点のDFT処理にかかる演算量を少なくして処理時間を短くすることができる。さらに、図6の装置と異なり、同じ装置を時分割で何度も用いているので、図6の装置に比べて、4点フーリエ変換装置や中間バッファメモリの使用数を減らすことができ、装置全体の規模を小さくすることができる。
【0093】
第5番目の例は、高速ページモードを持つメモリを用いて中間バッファメモリを構成し、その高速ページモードを持つメモリに中間バッファメモリを配置するときに、ストライプ状に配置するのではなく、縦横のブロック状に配置することにより、メモリアクセスタイムを短くできるようにしたものである。
【0094】
一般に、高速ページモードを持つICメモリは、2次元マトリクス状に作製される。そして、その行(カラム)と列(ロウ)とで位置を指定することにより所望のデータを得るようになされている。この場合、DRAMに代表されるメモリでは、その機構上の特徴により、先にロウアドレスを指定し、次にカラムアドレスを指定するようになっている。
【0095】
そして、高速ページモードでは、同じロウアドレスについてカラムアドレスを連続して指定する場合には、異なるロウアドレスについてカラムアドレスを指定する場合に比べて高速にアクセスすることができるようになっている。このような高速ページモードを持つメモリの一例として、日立製のメモリ(HM511OOOA-6 )がある。
【0096】
ところで、上述したように、本実施例のフーリエ変換装置では、第2のフェーズで縦方向に対するDFT処理を行い、第4のフェーズで横方向に対するDFT処理を行っている。このため、2次元状に作られた中間バッファメモリの縦方向と横方向に対してそれぞれデータの読み書きを行っている。
【0097】
ここで、中間バッファメモリ4を横方向にストライプ状に配置した場合には、縦方向に対する高速ページモードが使えないので、横方向に対するメモリアクセスタイムは速いが、縦方向に対するメモリアクセスタイムが遅くなってしまう。一方、ブロック状に配置すれば、縦方向に対するデータの読み書き時に高速ページモードが使えるので、横方向に対するアクセスタイムも縦方向に対するアクセスタイムも共に速くすることができるようになる。
【0098】
図9は、上記した日立製のメモリのアクセスタイムの様子を示すタイムチャートである。この図9の例では、同じロウアドレスについて2つのカラムアドレスを連続して指定した場合について示している。
【0099】
すなわち、通常、1ワードのアクセスを行うのにかかる時間(サイクルタイム)は120nsecであるのに対して、高速ページモードにおいて2ワードのアクセスを行うのにかかる時間は155(=60+45+50)nsecである。つまり、1ワード当たりでは、77.5nsecと通常時よりもアクセス時間が短くなっていることが図9から読み取れる。
【0100】
このような日立製のメモリを中間バッファメモリとして用いた場合の具体例を次に示す。なお、ここでは、中間バッファメモリの全メモリ容量は218ワード(縦29 ワード×横29 ワード)であるとする。
【0101】
まず、図10に示すように、中間バッファメモリを29 ワード分ずつ横方向にストライプ状に配置する場合について考える。この場合、第2のフェーズで求められたデータを中間バッファメモリに縦方向に書き込む際には、高速ページモードが使えないので、縦方向に対して1ワード当たり120nsecの時間がかかる。
【0102】
また、第4のフェーズにおいて上記中間バッファメモリからデータを読み出す際に、横方向に対して1ワード当たりにかかるアクセス時間は、(60+45×(29 −1)+50)/29 ≒45.13nsecである。よって、メモリアクセスに関するデータレートの上限は、120+45.13=165.13nsec/ワードとなる。
【0103】
次に、図11に示すように、中間バッファメモリを29 ワード分ずつブロック状(縦24 個×横25 個)に配置する場合について考える。この場合、縦方向に対するメモリアクセス時に高速ページモードを使うことが可能であるので、第2のフェーズで求められたデータを中間バッファメモリに書き込む際にかかる時間は、縦方向に対して1ワード当たり(60+45×15+50)/16≒49.06nsecである。
【0104】
また、第4のフェーズにおいて上記中間バッファメモリからデータを読み出す際に、横方向に対して1ワード当たりにかかるアクセス時間は、(60+45×31+50)/32≒47.03nsecである。よって、メモリアクセスに関するデータレートの上限は、49.06+47.03=96.09nsec/ワードとなる。
【0105】
以上の計算結果から明らかなように、中間バッファメモリをブロック状に配置することにより、ストライプ状に配置する場合に比べてメモリアクセス時間を短くすることができる。これにより、上述したようにフーリエ変換処理を行う際の演算量を減らすことができるだけでなく、処理の過程で使用する中間バッファメモリへのアクセス時間を削減することもできるようになり、全体としての処理時間を更に短くすることができる。
【0106】
第6番目の例は、第2のフェーズの処理と第4のフェーズの処理とを並列に動作させる場合に、中間バッファメモリにデータを読み書きする際のアドレッシング動作を工夫することにより、中間バッファメモリを1ページ分だけ用意すれば済むようにしたものである。
【0107】
第4のフェーズの処理を行う際には、第2のフェーズで求められたデータを用いるため、第2のフェーズの処理が終わらなければ第4のフェーズの処理は行うことができない。したがって、第2のフェーズの処理と第4のフェーズの処理とを並列に動作させる場合は、通常は、図12に示すように、第2のフェーズ用と第4のフェーズ用との2ページ分の中間バッファメモリが必要になる。
【0108】
すなわち、第2のフェーズと第4のフェーズとを並列動作させる場合には、図12(a)に示すように、第2のフェーズにおける縦方向のDFT処理で求められるデータを縦方向に順次記憶していくと同時に、図12(b)に示すように、既に求められたデータを第4のフェーズにおいて横方向に読み出して横方向のDFT処理を順次行っていく必要がある。
【0109】
したがって、第2のフェーズで求められるデータを縦方向に順次記憶していくためのページと、第4のフェーズでデータを横方向に読み出して使用するためのページとの2ページが中間バッファメモリとして必要になる。しかし、このように中間バッファメモリを2ページも用意したのでは、メモリ容量が非常に大きくなってしまう。
【0110】
そこで、この第6番目の例では、今までのように第2のフェーズで求められたデータは縦方向に書き込み、第4のフェーズの処理ではデータを横方向に読み出すというように一定としないで、図13に示すように、1回目に行う第2、第4のフェーズではデータを縦方向に読み書きする。2回目に行う第2、第4のフェーズではデータを横方向に読み書きするというように、アドレッシングの方向を縦と横で交互に切り換えていくようにする。
【0111】
すなわち、図13(a)において、1回目に行う第4のフェーズの処理では、中間バッファメモリに既に記憶されているデータ(この第4のフェーズの処理よりも前に行われた0回目の第2のフェーズの処理で求められたデータ)が縦方向に順次読み出される。
【0112】
そして、この第4のフェーズの処理と同時に行われている1回目の第2のフェーズの処理で求められたデータが、上記読み出しによって空になった縦方向の領域に順次書き込まれる。すると、最終的には、中間バッファメモリの全ての領域に、1回目の第2のフェーズの処理で求められたデータが記憶される。
【0113】
次に、図13(b)において、2回目に行う第4のフェーズの処理では、中間バッファメモリに記憶されているデータ(上記1回目の第2のフェーズの処理で求められたデータ)が横方向に順次読み出される。
【0114】
そして、この第4のフェーズの処理と同時に行われている2回目の第2のフェーズの処理で求められたデータが、上記読み出しによって空になった横方向の領域に順次書き込まれる。すると、最終的には、中間バッファメモリの全ての領域に、2回目の第2のフェーズの処理で求められたデータが記憶される。この後は、再び図13(a)に示す処理が行われる。
【0115】
以上のように、アドレッシングの方向を交互に切り換えてデータの読み書きを行うようにすれば、データを読み出して空きになった領域を有効に活用して、1つの中間バッファメモリを第2のフェーズ用と第4のフェーズ用とで共用することができ、中間バッファメモリを1ページ分だけ用意すれば済むようになる。
【0116】
第7番目の例は、図5に示した第2番目の例を応用した例である。図5に示したように複数のDFT装置を用いて処理を並列化させた場合には、中間バッファメモリ23へのアクセスが非常に多くなる。そこで、この第7番目の例は、上記中間バッファメモリ23を複数のメモリに分割して用意するとともに、クロスバスイッチなどのデータ振り分け装置を用いることにより、メモリアクセス時における並列動作性を高めることができるようにしたものである。
【0117】
図14は、この第7番目の例を実現するための装置の構成を示す図である。なお、この図14に示す装置は、図5に示した装置を変形したものであり、図5中に示した周期n1 、n2 の値をそれぞれ4とし、n1 長DFT処理を行う装置の数l1 、n2 長DFT処理を行う装置の数l2 をそれぞれ4個とした場合について示したものである。
【0118】
すなわち、本装置は、第2のフェーズの処理を行う4個の4点フーリエ変換装置51a,51b,51c,51dと、データ振り分け装置52と、並列動作可能な4個の中間バッファメモリ53a,53b,53c,53dと、第4のフェーズの処理を行う4個の4点フーリエ変換装置54a,54b,54c,54dとにより構成される。なお、ここでは、説明の簡略化のため、回転演算装置は図示を省略している。
【0119】
次に、上記のように構成した装置の動作を、図15に示す中間データの配置図を参照しながら説明する。
本装置では、第2のフェーズで縦方向に4点フーリエ変換を行い、第4のフェーズで横方向に4点フーリエ変換を行うことにより、第1〜第16ワード(図15に丸付の数字で示している)の16点周波数解析を実行する。
【0120】
このとき、上述した第2のフェーズの処理を行う4個の4点フーリエ変換装置51a,51b,51c,51dは、それぞれ図15の縦方向に対するデータを用いてフーリエ変換を同時に行う。これにより、第1サイクルでは、第1、第2、第3、第4ワードについてフーリエ変換されたデータが同時に得られる。
【0121】
このようにして同時に得られた4個のデータは、データ振り分け装置52により4個の中間バッファメモリ53a,53b,53c,53dに1ワードずつ振り分けられて記憶される。ここで、各ワードのデータが記憶される中間バッファメモリ53a,53b,53c,53dの種類を、それぞれA〜Dの符号を付して示した。
【0122】
通常、4個のデータを1個の中間バッファメモリに書き込むためには、4サイクル必要であるが、本実施例では、4個のデータを4個の中間バッファメモリ53a,53b,53c,53dに振り分けて書き込むようにしているので、1サイクルで書き込みを行うことができる。
【0123】
また、第2サイクル〜第4サイクルの各サイクルで同時にフーリエ変換されたデータについても同様に、データ振り分け装置52により4個の中間バッファメモリ53a,53b,53c,53dに1ワードずつ振り分けられて記憶される。このとき、同じフーリエ変換装置で変換されたデータが同じ中間バッファメモリ内に記憶されないように振り分けが行われる。
【0124】
以上のような書き込み動作により、4個の中間バッファメモリ53a,53b,53c,53dには、図15に示すような関係で各ワードのデータが記憶されることになる。すなわち、第1の中間バッファメモリ53aには、第1、第6、第11、第16ワードのデータが記憶され、第2の中間バッファメモリ53bには、第5、第10、第15、第4ワードのデータが記憶される。
【0125】
また、第3の中間バッファメモリ53cには、第9、第14、第3、第8ワードのデータが記憶され、第4の中間バッファメモリ53dには、第13、第2、第7、第12ワードのデータが記憶される。
【0126】
次に、第4のフェーズの処理を行う際には、上述した第4のフェーズの処理を行う4個の4点フーリエ変換装置54a,54b,54c,54dは、それぞれ図15の横方向に対するデータを用いてフーリエ変換を同時に行う。すなわち、第1サイクルでは、上記4個の4点フーリエ変換装置54a,54b,54c,54dは、それぞれ第1、第5、第9、第13ワードのデータを読み出してフーリエ変換を同時に行う。
【0127】
この場合、図15から明らかなように、各4点フーリエ変換装置54a,54b,54c,54dで同時に使用する4個のデータは、上記4個の中間バッファメモリ53a,53b,53c,53dに1ワードずつ分散して記憶されている。したがって、1個の中間バッファメモリに上記4個のデータが全て記憶されていたとしたなら読み出しに4サイクルかかるところを、本実施例では、1サイクルで読み出すことができる。
【0128】
以上説明したように、図14に示した第7番目の例の装置によれば、複数のフーリエ変換装置を用いてDFT処理を並列化動作させた場合に、中間バッファメモリへのアクセスも効率よく並列化させることができ、装置全体の並列動作性を向上させることができる。なお、参考のために、上述したデータの読み書きの手順を、図16に示しておく。
【0129】
【発明の効果】
本発明によれば、周期N(=n1 ×n2 )の時間成分の信号の周波数解析を、上記周期Nよりも小さな周期である横方向に対する周期n1 のフーリエ変換と縦方向に対する周期n2 のフーリエ変換との組み合わせによって行うようにして、さらに与える係数を変えることにより窓かけ演算または回転演算の何れかを行う窓かけ回転演算装置を設け、上記周波数解析の出力結果を上記窓かけ回転演算装置に供給して上記窓かけ回転演算装置による処理および上記周波数解析を時分割で繰り返して行うようにしたので、周期Nの信号を周期Nのフーリエ変換によって一度に周波数変換する場合に比べて演算量を少なくすることができるとともに、小さな周期のフーリエ変換を繰り返して演算負荷を小さくすることができる。また、各フーリエ変換の結果を一時記憶しておくための中間バッファメモリの数を従来のFFTにおけるバタフライ演算を並列化動作させる場合に比べて少なくすることができるとともに、個々の中間バッファメモリの容量を小さくすることができる。これにより、フーリエ変換の処理速度を高速にすることができるとともに、全体としての中間バッファメモリの容量を格段に小さくすることができる。さらに、メモリ容量を大きくしたり演算装置を増やしたりすることなく、周波数もれのない高速フーリエ変換処理を実現することができる。
【0134】
また、本発明の他の特徴によれば、高速ページモードを持つメモリ上において所定ワード分の中間バッファメモリを縦横のブロック状に順次配置するようにして中間バッファメモリを構成したので、ブロック状に配置された中間バッファメモリの縦方向に対してデータの読み書きを行うときには高速ページモードを使って高速に読み書きをすることが可能となり、縦方向に対しても横方向に対してもメモリアクセスを高速に行うことができるようになる。したがって、演算量の削減によってフーリエ変換の処理速度を速くすることができるだけでなく、メモリアクセス時間の削減によっても処理速度を速くすることができ、より高速にフーリエ変換を行うことができるようになる。
【0135】
また、本発明のその他の特徴によれば、n2 長フーリエ変換手段によりフーリエ変換されたデータを中間バッファメモリに書き込む際、およびn1 長フーリエ変換手段において中間バッファメモリに記憶されたデータを読み出す際に、データの読み書きの方向を縦と横とで交互に変換するようにし、n1 長フーリエ変換手段で使用するためにデータが読み出されることによって順次空きにされた領域に、n2 長フーリエ変換手段でフーリエ変換されたデータを順次記憶していくようにしたので、データの読み出しによって空にされた領域を有効に使って、1つの中間バッファメモリをn2 長フーリエ変換用とn1 長フーリエ変換用とで共用するようにすることができ、1ページ分の中間バッファメモリを用意するだけでn2 長フーリエ変換処理とn1 長フーリエ変換処理とを並列に動作させることができるようになる。
【図面の簡単な説明】
【図1】本発明の一実施例であるフーリエ変換装置の構成を示すブロック図である。
【図2】図1のフーリエ変換装置によって行われる第1〜第5のフェーズの処理内容を説明するための図である。
【図3】本実施例のフーリエ変換装置をツリー構造にした場合に必要な中間バッファメモリの容量を、FFTの各バタフライ演算を並列化動作させた場合に必要な中間バッファメモリの容量と比較するための図である。
【図4】第1番目の応用例による装置の構成を示す図である。
【図5】第2番目の応用例による装置の構成を示す図である。
【図6】第3番目の応用例による装置の構成を示す図である。
【図7】第4番目の応用例による装置の構成を示す図である。
【図8】図7に示した装置によって行われる時分割処理の様子を説明するための図である。
【図9】第5番目の応用例で使用される高速ページモードを持つ中間バッファメモリのアクセスタイムの様子を示すタイムチャートである。
【図10】中間バッファメモリをストライプ状に配置した様子を示す図である。
【図11】中間バッファメモリをブロック状に配置した様子を示す図である。
【図12】2ページ分の中間バッファメモリを用いてデータの読み書きを行う様子を説明するための図である。
【図13】第6番目の応用例によるデータの読み書きの様子を説明するための図であり、1ページ分の中間バッファメモリを用いてデータの読み書きを行う様子を説明するための図である。
【図14】第7番目の応用例による装置の構成を示す図である。
【図15】複数の中間バッファメモリとそれに記憶されるデータとの関係を説明するための図である。
【図16】第7番目の応用例によるデータの読み書きの手順を示す図である。
【符号の説明】
1 第1の並べ替え手段
2 n2 長フーリエ変換手段
3 回転演算手段
4 中間バッファメモリ
5 n1 長フーリエ変換手段
6 第2の並べ替え手段
Claims (3)
- 横方向に周期n1 、縦方向に周期n2 の2次元状に配置された周期N(=n1 ×n2 )の時間成分の信号に対して、縦方向に対する周期n2のフーリエ変換をn1 回行うn2 長フーリエ変換手段と、
上記n2 長フーリエ変換手段による変換結果を一時記憶するための第1の中間バッファメモリと、
上記n2 長フーリエ変換手段の前段に設けられ、与える係数を変えることにより窓かけ演算または回転演算の何れかを行う窓かけ回転演算手段と、
上記第1の中間バッファメモリに記憶されたデータに対して回転演算を行う回転演算手段と、
上記回転演算手段により行われた回転演算結果に対して、横方向に対する周期n1 のフーリエ変換をn2 回行うn1 長フーリエ変換手段と、
上記n1 長フーリエ変換手段の出力結果を一時記憶するための第2の中間バッファメモリとを具備し、
上記第2の中間バッファメモリの記憶内容を上記窓かけ回転演算手段に供給して、上記窓かけ回転演算手段、上記n2 長フーリエ変換手段、上記回転演算手段、及び上記n1長フーリエ変換手段による処理を時分割で繰り返して行うようにしたことを特徴とするフーリエ変換装置。 - 上記第1の中間バッファメモリを高速ページモードを持つメモリを用いて構成したフーリエ変換装置であって、
上記高速ページモードを持つメモリ上において所定ワード分の中間バッファメモリを縦横のブロック状に順次配置するようにしたことを特徴とする請求項1に記載のフーリエ変換装置。 - 上記n2 長フーリエ変換手段と上記n1 長フーリエ変換手段とを並列に動作させるようにしたフーリエ変換装置において、
上記n2 長フーリエ変換手段によりフーリエ変換されたデータを上記第1の中間バッファメモリに記憶する際に、最初にn1 回のフーリエ変換が完了するまでは、上記n1 長フーリエ変換手段で使用するために読み出されて空きにされた横方向の領域に上記データを書き込み、次にn1 回のフーリエ変換が完了するまでは、同様にして空にされた縦方向の領域に上記データを書き込むというように、データの書き込み方向を縦と横とで交互に変換するようにするとともに、
上記n1 長フーリエ変換手段において上記第1の中間バッファメモリに記憶されたデータを使用する際に、最初にn2 回のフーリエ変換が完了するまでは横方向に上記データを読み出し、次にn2 回のフーリエ変換が完了するまでは縦方向に上記データを読み出すというようにデータの読み出し方向を縦と横とで交互に変換するようにするアドレッシング手段を設けたことを特徴とする請求項1に記載のフーリエ変換装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP20381795A JP3839504B2 (ja) | 1995-07-18 | 1995-07-18 | フーリエ変換装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP20381795A JP3839504B2 (ja) | 1995-07-18 | 1995-07-18 | フーリエ変換装置 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006033084A Division JP3950466B2 (ja) | 2006-02-09 | 2006-02-09 | フーリエ変換装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH0934876A JPH0934876A (ja) | 1997-02-07 |
JP3839504B2 true JP3839504B2 (ja) | 2006-11-01 |
Family
ID=16480216
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP20381795A Expired - Lifetime JP3839504B2 (ja) | 1995-07-18 | 1995-07-18 | フーリエ変換装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3839504B2 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2002069182A1 (fr) * | 2001-02-28 | 2002-09-06 | Fujitsu Limited | Dispositif a transformee de fourrier |
-
1995
- 1995-07-18 JP JP20381795A patent/JP3839504B2/ja not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
JPH0934876A (ja) | 1997-02-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5091875A (en) | Fast fourier transform (FFT) addressing apparatus and method | |
US20080208944A1 (en) | Digital signal processor structure for performing length-scalable fast fourier transformation | |
US7233968B2 (en) | Fast fourier transform apparatus | |
US6304887B1 (en) | FFT-based parallel system for array processing with low latency | |
US6609140B1 (en) | Methods and apparatus for fast fourier transforms | |
US5313413A (en) | Apparatus and method for preventing I/O bandwidth limitations in fast fourier transform processors | |
US4821224A (en) | Method and apparatus for processing multi-dimensional data to obtain a Fourier transform | |
Jamieson et al. | FFT algorithms for SIMD parallel processing systems | |
US20030088600A1 (en) | Matrix transposition in a computer system | |
JP2002518730A (ja) | 単一命令複数データシステムに使用するレジスタにアクセスするレジスタおよびアクセス方法 | |
US7461114B2 (en) | Fourier transform apparatus | |
US20120254273A1 (en) | Information Processing Apparatus, Control Method Thereof, Program, and Computer-Readable Storage Medium | |
JPH09153029A (ja) | 高速フーリエ変換を行うメモリ分散型並列計算機およびその方法 | |
US20180373677A1 (en) | Apparatus and Methods of Providing Efficient Data Parallelization for Multi-Dimensional FFTs | |
US20070088773A1 (en) | Digital signal processing apparatus | |
JP3950466B2 (ja) | フーリエ変換装置 | |
JP3839504B2 (ja) | フーリエ変換装置 | |
US6728742B1 (en) | Data storage patterns for fast fourier transforms | |
Zheng | Encrypted cloud using GPUs | |
US6438568B1 (en) | Method and apparatus for optimizing conversion of input data to output data | |
US6772183B1 (en) | Device for converting input data to output data using plural converters | |
Portnoff | An efficient parallel-processing method for transposing large matrices in place | |
Johnson et al. | An efficient two-dimensional FFT algorithm | |
JP2580501B2 (ja) | 並列デ−タ処理装置 | |
CN114116012B (zh) | 基于混洗操作的fft码位反序算法向量化实现方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20050803 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20050809 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20051109 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20051121 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060209 |
|
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: 20060725 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20060803 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100811 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110811 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110811 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120811 Year of fee payment: 6 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313113 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120811 Year of fee payment: 6 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120811 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130811 Year of fee payment: 7 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
EXPY | Cancellation because of completion of term |