JP3950466B2 - Fourier transform device - Google Patents
Fourier transform device Download PDFInfo
- Publication number
- JP3950466B2 JP3950466B2 JP2006033084A JP2006033084A JP3950466B2 JP 3950466 B2 JP3950466 B2 JP 3950466B2 JP 2006033084 A JP2006033084 A JP 2006033084A JP 2006033084 A JP2006033084 A JP 2006033084A JP 3950466 B2 JP3950466 B2 JP 3950466B2
- Authority
- JP
- Japan
- Prior art keywords
- fourier transform
- data
- intermediate buffer
- buffer memory
- long
- 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
本発明は、フーリエ変換装置に関するものである。 The present invention relates to a Fourier transform apparatus.
従来、時間成分の信号を周波数成分の信号に変換するための手法の1つに、DFT(離散的フーリエ変換)と呼ばれる手法がある。N点の信号(周期がNであることを示す)を周波数変換するためのDFTの一般式は、時間成分の信号値をSi 、周波数成分の信号値をSk とすると、次の(式1)のように表せる。 Conventionally, there is a technique called DFT (Discrete Fourier Transform) as one of the techniques for converting a time component signal into a frequency component signal. A general formula of DFT for frequency conversion of a signal at N points (indicating that the period is N) is as follows, where S i is a time component signal value and S k is a frequency component signal value: It can be expressed as 1).
この(式1)の演算を行うためには、乗算を4N2 回、加減算を2N2 +2N(N−1)回行う必要がある。すなわち、(式1)から分かるように、DFTは複素演算を行うものであるから、実際には次の(式2)で示される回転演算を引数k,iの各値について行っている。 In order to perform the calculation of (Equation 1), it is necessary to perform multiplication 4N 2 times and addition / subtraction 2N 2 + 2N (N−1) times. That is, as can be seen from (Equation 1), since the DFT performs complex operations, the rotation operation represented by the following (Equation 2) is actually performed for each value of the arguments k and i.
(式2)において、周波数成分の信号値Sk [real](実部)、Sk [imag](虚部)を求めるためには、時間成分の信号値Si [real]と cosθ、信号値Si [real]と sinθ、信号値Si [imag]と sinθ、信号値Si [imag]と cosθとの乗算をそれぞれiについてN回、それを更にkについてN回、2重のループで計算するから、全部で4N2 回の乗算が必要になる。 In (Equation 2), in order to obtain the frequency component signal values S k [real] (real part) and S k [imag] (imaginary part), the time component signal values S i [real], cos θ, The multiplication of the value S i [real] and sin θ, the signal value S i [imag] and sin θ, and the signal value S i [imag] and cos θ is performed N times for i, and further N times for k. Therefore, a total of 4N 2 multiplications are required.
さらに、上述の乗算により得られる信号値Si [real] cosθと信号値Si [imag] sinθとの減算、信号値Si [real] sinθと信号値Si [imag] cosθとの加算をそれぞれiについてN回、それを更にkについてN回、2重のループで計算するから、全部で2N2 +2N(N−1)回の加減算が必要になる。上述のようなフーリエ変換を行う装置の従来例は、例えば、特許文献1、2によって提案されている。
Furthermore, subtraction of the signal value S i [real] cosθ and the signal value S i [imag] sinθ obtained by multiplying the above, the addition of the signal value S i [real] sinθ and the signal value S i [imag] cosθ Since i is calculated N times for i and N times for k, and a double loop, a total of 2N 2 + 2N (N−1) times is required. For example,
以上のように、従来のDFTでは、数多くの乗算および加減算を行う必要があった。このため、処理に膨大な時間がかかってしまうという問題があった。そこで、従来、上記DFTの処理時間をできるだけ短くすることができるようにするために、FFT(高速フーリエ変換)と呼ばれる手法が開発され、デジタル信号処理の分野で多く用いられてきた。 As described above, in the conventional DFT, it is necessary to perform many multiplications and additions / subtractions. For this reason, there has been a problem that the processing takes an enormous amount of time. Therefore, conventionally, a technique called FFT (Fast Fourier Transform) has been developed and used in the field of digital signal processing in order to make the DFT processing time as short as possible.
このFFTは、バタフライ演算と呼ばれる基本演算を数段階に渡って繰り返して行うことにより、DFTの演算量を削減できるようにしたものである。つまり、FFTにおいて周期Nのフーリエ変換を実施する場合には、上記周期Nを所定の基数ごとに数段階に分けて、各基数のバタフライ演算をそれぞれ行うことで周波数解析を行っていた。 In this FFT, a basic calculation called butterfly calculation is repeatedly performed over several stages so that the calculation amount of the DFT can be reduced. That is, when performing Fourier transform of period N in FFT, frequency analysis is performed by dividing the period N into several stages for each predetermined radix and performing butterfly computation for each radix.
このFFTでは、数段階のバタフライ演算をパイプライン処理で並列に行うことが可能である。その場合には、数段階に渡って演算した結果をそれぞれ一時記憶しておくための中間バッファメモリが必要になる。しかしながら、従来のFFTでは、各中間バッファメモリの全メモリ容量が非常に大きくなってしまうという問題があった。 In this FFT, it is possible to perform several stages of butterfly operations in parallel by pipeline processing. In that case, an intermediate buffer memory is required to temporarily store the results calculated over several stages. However, the conventional FFT has a problem that the total memory capacity of each intermediate buffer memory becomes very large.
すなわち、FFTを構成する各バタフライ演算の性質上、その基数は比較的小さいものしか選択することができないため、バタフライ演算の段数が多くなってしまう。そのため、各バタフライ演算の結果を一時記憶しておくための中間バッファメモリの数が多くなるとともに、個々の中間バッファメモリの容量も大きくなってしまい、その結果、全メモリ容量が非常に大きくなってしまっていた。さらに、基本演算を数段階に渡って繰り返して行うことにより、容量が大きい中間バッファメモリへのアクセスが多くなる。大容量の中間バッファメモリにアクセスする場合は、1回のアクセスタイムが長くかかるのでアクセス回数が多くなると、アクセスタイムが膨大となり、フーリエ変換を行うための処理速度を低下させてしまうという問題点があった。 In other words, because of the nature of each butterfly computation that constitutes the FFT, only a relatively small number of radixes can be selected, resulting in an increase in the number of butterfly computation stages. For this reason, the number of intermediate buffer memories for temporarily storing the results of each butterfly operation increases, and the capacity of each intermediate buffer memory also increases, resulting in a very large total memory capacity. I was sorry. Furthermore, by repeatedly performing basic operations over several stages, access to the intermediate buffer memory having a large capacity increases. When accessing a large-capacity intermediate buffer memory, it takes a long access time. Therefore, if the number of accesses increases, the access time becomes enormous and the processing speed for performing the Fourier transform decreases. there were.
本発明は、このような問題を解決するために成されたものであり、デジタル信号処理においてフーリエ変換を行うための処理時間を短くすることができるようにするとともに、その処理の際に使用する中間バッファメモリの容量を小さくすることができるようにすることを目的とする。 The present invention has been made to solve such a problem, and makes it possible to shorten the processing time for performing Fourier transform in digital signal processing and to be used for the processing. It is an object to reduce the capacity of the intermediate buffer memory.
本発明のフーリエ変換装置は、横方向に周期n1、縦方向に周期n2の2次元状に配置された周期N(=n1×n2)の時間成分の信号に対して、縦方向に対する周期n2のフーリエ変換を行うm個のn2長フーリエ変換手段と、上記m個のn2長フーリエ変換手段による変換結果を一時記憶するためのm個の中間バッファメモリと、上記m個の中間バッファメモリに記憶されたデータに対して回転演算を施す回転演算手段と、上記回転演算手段による演算結果に対して、横方向に対する周期n1のフーリエ変換を行うm個のn1長フーリエ変換手段と、複数サイクルに亘って同じn2長フーリエ変換手段により求められたデータが同じ中間バッファメモリ内に記憶されることがないようにするとともに、同じn1長フーリエ変換手段により使用されるデータが同じ中間バッファメモリ内に記憶されることがないようにして、上記m個のn2長フーリエ変換手段によりそれぞれ求められたm個のデータを上記m個の中間バッファメモリに1個ずつ振り分けて記憶するようにするデータ振り分け手段とを有し、上記m個のn2長フーリエ変換手段を用いてn1回のn2長フーリエ変換処理を並列に行うとともに、上記m個のn1長フーリエ変換手段を用いてn2回のn1長フーリエ変換処理を並列に行うようにし、上記データ振り分け手段によって同一サイクルで振り分けられたm個のデータに対して、同じn1長フーリエ変換手段を用いて互いに異なるサイクルでn1長フーリエ変換処理を行うようにしたことを特徴とする。 The Fourier transform apparatus according to the present invention applies a time component signal of a period N (= n 1 × n 2 ) arranged in a two-dimensional manner with a period n 1 in the horizontal direction and a period n 2 in the vertical direction. M n 2 long Fourier transform means for performing a Fourier transform of period n 2 with respect to m, m intermediate buffer memories for temporarily storing the transformation results of the m n 2 long Fourier transform means, and the m pieces Rotation calculation means for performing rotation calculation on the data stored in the intermediate buffer memory, and m n 1 long Fouriers for performing Fourier transform of the period n 1 in the horizontal direction on the calculation result by the rotation calculation means conversion means, together with the data determined to not to allow the product to be stored in the same intermediate buffer memory by the same n 2 length Fourier transform means over a plurality of cycles, it is used by the same n 1 length Fourier transform means That data is not to allow the product to be stored in the same intermediate buffer memory, the m data obtained respectively by the m-number of n 2 length Fourier transform means one by one to the m-number of intermediate buffer memories and a data distributing means to be distributed and stored, performs n 1 times n 2 length Fourier transform processing by using the m-number of n 2 length Fourier transform means in parallel, the m-number of n 1 N 2 times of n 1 long Fourier transform processing is performed in parallel using the long Fourier transform means, and the same n 1 long Fourier transform means is applied to m data distributed in the same cycle by the data distribution means. The n 1 long Fourier transform process is performed in cycles different from each other.
本発明は、上記技術手段より成り、周期Nの時間成分の信号が周期Nのフーリエ変換によって一度に周波数変換されるのではなく、上記周期Nよりも小さな周期n1、n2のフーリエ変換の組み合わせによって周波数変換されることとなるので、フーリエ変換演算の性質上、上記小さな周期n1、n2のフーリエ変換でそれぞれ行われる演算量は、上記周期Nのフーリエ変換で行われる演算量に比べて格段に少ないものとなり、上記小さな周期n1、n2のフーリエ変換で行われる各演算量と回転演算で行われる演算量とを合計しても、上記周期Nのフーリエ変換によって一度に周波数変換を行うようになされた従来のDFTの演算量よりも演算量が少なくなる。また、上記小さな周期n1、n2のフーリエ変換をm個のn2長フーリエ変換手段及びn1長フーリエ変換手段を用いて並列に行うようにするとともに、同じ数の中間バッファメモリを用意して、複数サイクルに亘って同じn2長フーリエ変換手段により求められたデータが同じ中間バッファメモリ内に記憶されることがないようにするとともに、同じn1長フーリエ変換手段により使用されるデータが同じ中間バッファメモリ内に記憶されることがないようにして、上記m個のn2長フーリエ変換手段によりそれぞれ求められたm個のデータを上記m個の中間バッファメモリに1個ずつ振り分けて記憶するようにし、さらに上記データ振り分け手段によって同一サイクルで振り分けられたm個のデータに対して、同じn1長フーリエ変換手段を用いて互いに異なるサイクルでn1長フーリエ変換処理を行うようにしたので、演算サイクル数が少なくなるとともに、中間バッファメモリへのアクセスも効率よく並列化することが可能となり、アクセスタイムを格段と短くすることが可能となる。 The present invention comprises the above technical means, and the time component signal of period N is not frequency-transformed at once by the Fourier transform of period N, but the Fourier transform of periods n 1 and n 2 smaller than the period N is performed. Since the frequency conversion is performed by the combination, the amount of calculation performed by the Fourier transform of the small periods n 1 and n 2 is larger than the amount of calculation performed by the Fourier transform of the period N because of the nature of the Fourier transform operation. Even if the amount of calculation performed by the Fourier transform of the small cycles n 1 and n 2 and the amount of calculation performed by the rotation calculation are summed, the frequency conversion is performed at once by the Fourier transform of the cycle N. The amount of calculation is smaller than the amount of calculation of a conventional DFT designed to perform the above. Further, the Fourier transform of the small cycles n 1 and n 2 is performed in parallel using m n 2 long Fourier transform means and n 1 long Fourier transform means, and the same number of intermediate buffer memories are prepared. Thus, the data obtained by the same n 2 long Fourier transform means is prevented from being stored in the same intermediate buffer memory over a plurality of cycles, and the data used by the same n 1 long Fourier transform means is In order not to be stored in the same intermediate buffer memory, m data respectively obtained by the m n 2 long Fourier transform means are distributed and stored one by one in the m intermediate buffer memories. to make it, the relative further said data distribution unit m data distributed by the same cycle by the same n 1 length Fourier transform means Since to carry out the n 1 length Fourier transform processing at different cycles have, with the number of operation cycles is reduced, access to the intermediate buffer memory also becomes possible to efficiently parallelize, is shortened to remarkably access time It becomes possible.
本発明によれば、周期N(=n1×n2)の時間成分の信号の周波数解析を、上記周期Nよりも小さな周期である横方向に対する周期n1のフーリエ変換と縦方向に対する周期n2のフーリエ変換との組み合わせによって行うようにして、上記小さな周期n1、n2のフーリエ変換をm個のn2長フーリエ変換手段及びn1長フーリエ変換手段を用いて並列に行うとともに、同じ数の中間バッファメモリを用意して、複数サイクルに亘って同じn2長フーリエ変換手段により求められたデータが同じ中間バッファメモリ内に記憶されることがないようにするとともに、同じn1長フーリエ変換手段により使用されるデータが同じ中間バッファメモリ内に記憶されることがないようにして、上記m個のn2 長フーリエ変換手段によりそれぞれ求められたm個のデータを上記m個の中間バッファメモリに1個ずつ振り分けて記憶するようにし、さらに上記データ振り分け手段によって同一サイクルで振り分けられたm個のデータに対して、同じn1長フーリエ変換手段を用いて互いに異なるサイクルでn1長フーリエ変換処理を行うようにしたので、上記周期Nのフーリエ変換によって一度に周波数変換を行うようになされた従来のDFTの演算量よりも演算量を少なくすることができる。また、演算サイクル数を少なくすることができるとともに、中間バッファメモリへのアクセスを効率よく並列化してアクセスタイムを短くすることができる。これにより、全体としての中間バッファメモリの容量を格段に小さくすることができるとともに、フーリエ変換の処理速度を高速にすることができる。 According to the present invention, the frequency analysis of the signal of the time component of the cycle N (= n 1 × n 2 ) is performed by the Fourier transform of the cycle n 1 in the horizontal direction which is a cycle smaller than the cycle N and the cycle n in the vertical direction. be performed by a combination of two of the Fourier transform, performs in parallel with the small period n 1, m pieces of n 2 length Fourier transform means Fourier transform of n 2 and n 1 length Fourier transform unit, the same A plurality of intermediate buffer memories are prepared so that data obtained by the same n 2 long Fourier transform means is not stored in the same intermediate buffer memory over a plurality of cycles, and the same n 1 long Fourier as never data used by the conversion means is stored in the same intermediate buffer memory, it is respectively determined by the m-number of n 2 length Fourier transform means m data to be stored are distributed one by one to the m-number of intermediate buffer memory, further for m pieces of data sorted in the same cycle by the data distributing means, the same n 1 length Fourier transform means Since the n 1 long Fourier transform processing is performed in different cycles using the above, the amount of computation is made smaller than the amount of computation of the conventional DFT in which frequency transformation is performed at once by the Fourier transform of the period N. be able to. In addition, the number of operation cycles can be reduced, and access to the intermediate buffer memory can be efficiently parallelized to shorten the access time. Thereby, the capacity of the intermediate buffer memory as a whole can be remarkably reduced, and the processing speed of the Fourier transform can be increased.
以下、本発明の一実施例を図面に基づいて説明する。時間成分の信号を周波数成分の信号に周期Nで変換するための処理、すなわちN点DFTの処理を、従来は図2(0)に示すようにN長フーリエ変換で一度に行っていた。これに対し、本実施例のフーリエ変換装置では、図2(a)〜(e)に示すように第1〜第5のフェーズに分けて行っている。 Hereinafter, an embodiment of the present invention will be described with reference to the drawings. Conventionally, processing for converting a time component signal into a frequency component signal with a period N, that is, N-point DFT processing, is performed at once by N-length Fourier transform as shown in FIG. On the other hand, in the Fourier transform apparatus of the present embodiment, the process is divided into the first to fifth phases as shown in FIGS.
すなわち、第1のフェーズでは、図2(a)に示すように、入力される1次元状のN個のデジタル信号を横n1 個×縦n2 個の2次元状の配置に並べ替える。第2のフェーズでは、図2(b)に示すように、上記並べ替えた2次元状のデータ配置において、縦方向に対するn2 個のデータを用いてn2 長DFT処理を横方向の数n1 だけ行う。 That is, in the first phase, as shown in FIG. 2A, the input one-dimensional N digital signals are rearranged into a two-dimensional arrangement of n 1 horizontal × n 2 vertical. In the second phase, as shown in FIG. 2 (b), the side by side in the two-dimensional data arrangement for changing the number of n 2 length DFT processing in the transverse direction relative to the longitudinal direction using the n 2 pieces of data n Do only one .
次に、第3のフェーズでは、図2(c)に示すように、上記n2 長DFT処理で得られた結果に対して回転演算を施す。第4のフェーズでは、図2(d)に示すように、上記回転演算の結果に対して、横方向に対するn1 個のデータを用いてn1 長DFT処理を縦方向の数n2 だけ行う。最後に、第5のフェーズでは、図2(e)に示すように、上記n1 長DFT処理で得られた結果を1次元状のデータ配置に並べ替える。 Next, in the third phase, as shown in FIG. 2C, rotation calculation is performed on the result obtained by the n 2 long DFT process. In the fourth phase, as shown in FIG. 2 (d), the result of the rotation operation, performs n 1 length DFT processing the number n 2 of the vertical direction using the n 1 pieces of data in the lateral direction . Finally, in the fifth phase, as shown in FIG. 2E, the results obtained by the n 1 length DFT processing are rearranged into a one-dimensional data arrangement.
図1は、本実施例によるフーリエ変換装置の構成を示す図であって、図2に示した5つのフェーズの処理を行うための構成を示す図である。図1において、1は第1の並べ替え手段であり、上記第1のフェーズの処理を行う。この第1の並べ替え手段1は、例えば、メモリとアドレッシング装置とにより簡単に構成することが可能である。この並べ替え処理を式で表すと、次の(式3)のようになる。
FIG. 1 is a diagram showing a configuration of a Fourier transform apparatus according to the present embodiment, and is a diagram showing a configuration for performing the processing of the five phases shown in FIG. In FIG. 1,
2はn2 長フーリエ変換手段であり、次の(式4)に従って上記第2のフェーズの処理を行う。すなわち、上記第1の並べ替え手段1で並べ替えられた2次元状のデータ配置において、縦方向に対するn2 長のDFT処理をn1 回行う。
3は回転演算手段であり、次に示す(式5)に従って上記第3のフェーズの処理を行う。すなわち、上記n2 長フーリエ変換手段2による演算処理の結果得られたデータに対して回転演算を施す。
4は中間バッファメモリであり、上記n2 長フーリエ変換手段2によりフーリエ変換されたデータを一時記憶する。上述の回転演算手段3は、この中間バッファメモリ4に記憶されたデータに対して回転演算を行い、その演算結果をn1 長フーリエ変換手段5に供給するようになされている。
上記n1 長フーリエ変換手段5は、上記回転演算手段3による回転演算の結果得られるデータを用いて、次の(式6)に従って上記第4のフェーズの処理を行う。すなわち、上記並べ替えられた2次元状のデータ配置において、横方向に対するn1 長のDFT処理をn2 回行う。 The n 1 long Fourier transform means 5 uses the data obtained as a result of the rotation calculation by the rotation calculation means 3 to perform the fourth phase process according to the following (Equation 6). That is, in the rearranged two-dimensional data arrangement, n 1 -length DFT processing in the horizontal direction is performed n 2 times.
6は第2の並べ替え手段であり、上記第5のフェーズの処理を行う。すなわち、上記n1 長フーリエ変換手段5により求められたデータを次の(式7)に従って再び1次元状に並べ替えることにより、周波数成分の信号Sk を得る。なお、この第2の並べ替え手段6は、上記第1の並べ替え手段1と同様に、メモリとアドレッシング装置とにより構成することが可能である。
上記(式3)〜(式7)に示した5つのフェーズに分けて行っている本実施例のDFT処理は、従来の(式1)で行っているDFT処理と等価であり、同じ演算結果(同じ周波数成分の信号Sk )を得ることができる。一方、その演算結果を得るまでの演算量は、従来に比べて本実施例の方が少なくなっている。このことを以下に説明する。 The DFT processing of the present embodiment performed by dividing into the five phases shown in the above (Formula 3) to (Formula 7) is equivalent to the conventional DFT process performed in (Formula 1), and the same calculation result (Signal S k having the same frequency component) can be obtained. On the other hand, the amount of calculation until the calculation result is obtained is smaller in the present embodiment than in the prior art. This will be described below.
本実施例のDFT処理における第1のフェーズと第5のフェーズの処理は、単なるデータの並べ替え処理(メモリアドレッシング処理)であるから、演算は行っていない。そこで、本実施例における総演算量は、第2〜第4のフェーズにおける各処理の演算量を合計したものとなる。次に示す表1は、その演算量を示したものである。 Since the first and fifth phase processes in the DFT process of this embodiment are merely data rearrangement processes (memory addressing processes), no computation is performed. Therefore, the total calculation amount in this embodiment is the sum of the calculation amounts of the respective processes in the second to fourth phases. Table 1 below shows the amount of calculation.
この表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回である。 As is apparent from Table 1, the number of multiplications performed in the DFT processing of this embodiment is 4n 1 n 2 (n 1 + n 2 +1), and the number of additions / subtractions is 2n 1 n 2 (2n 1 + 2n 2 +1) times. On the other hand, as described in the conventional example, the number of multiplications performed in the conventional DFT processing is 4N 2 = 4n 1 2 n 2 2 times. The number of additions / subtractions is 2N 2 + 2N (N−1) = 4n 1 2 n 2 2 −2n 1 n 2 , and 2n 1 n 2 can be considered to be negligibly small. 1 2 n 2 2 times.
乗算を行う回数および加減算を行う回数をそれぞれ本実施例と従来とで比較してみれば分かるように、n1 とn2 の値を共に3以上とすれば、本実施例のDFT処理における演算量を従来のDFT処理における演算量よりも確実に少なくすることができる。 As can be seen by comparing the number of multiplications and the number of additions / subtractions between this embodiment and the prior art, if the values of n 1 and n 2 are both 3 or more, the calculation in the DFT processing of this embodiment is performed. The amount can be surely reduced as compared with the calculation amount in the conventional DFT processing.
次に、本実施例のDFT処理と従来のFFT処理とを比較してみると、従来のFFTは、本実施例のDFTの特別な例であると言える。すなわち、本実施例のDFTでは、実演算を第2〜第4のフェーズの3段に分離して行っている。これに対し、従来のFFTは、第2のフェーズと第3のフェーズまたは第3のフェーズと第4のフェーズとを一まとめにして演算の流れを再配置し、バタフライ演算という形にまとめて行うものである。 Next, comparing the DFT processing of this embodiment with the conventional FFT processing, it can be said that the conventional FFT is a special example of the DFT of this embodiment. That is, in the DFT of the present embodiment, the actual calculation is performed in three stages of the second to fourth phases. On the other hand, in the conventional FFT, the second phase and the third phase or the third phase and the fourth phase are grouped together to rearrange the flow of operations, and are performed in a form of butterfly computation. Is.
このため、演算量の観点からすれば、本実施例のDFTと従来のFFTとで差ほど変わりはないと言える。ところが、各フェーズの処理をパイプライン化して並列に行う場合に必要な中間バッファメモリの容量という観点からすると、本実施例のDFTでは、従来のFFTよりも格段に小さいメモリ容量で済むというメリットがある。 For this reason, from the viewpoint of the amount of calculation, it can be said that there is no difference between the DFT of the present embodiment and the conventional FFT. However, from the viewpoint of the capacity of the intermediate buffer memory that is required when the processing of each phase is pipelined and performed in parallel, the DFT of the present embodiment has an advantage that a memory capacity much smaller than that of the conventional FFT is required. is there.
すなわち、本実施例の場合、上記中間バッファメモリ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ワード分のメモリが必要になる。
That is, in this embodiment, the memory capacity required for the
以下同様にして、更に細かく周期を分離して縦方向のDFT処理と横方向のDFT処理とを行うようにすれば、例えばN=216点の周波数解析を行う場合、各中間バッファメモリで必要なメモリ容量は、図3(a)の各四角の中に示す数字のようになる。したがって、中間バッファメモリの全メモリ容量は、各中間バッファメモリのメモリ容量を合計して、66176ワード分となる。 In the same manner, if the period is further finely divided and the vertical DFT processing and the horizontal DFT processing are performed, for example, when performing frequency analysis of N = 2 16 points, it is necessary for each intermediate buffer memory. The memory capacity is as shown by the numbers in each square in FIG. Therefore, the total memory capacity of the intermediate buffer memory is 66176 words, which is the total memory capacity of the intermediate buffer memories.
もちろん、図3(a)に示したように周期が最も小さくなるまで細分化する必要は必ずしもなく、その場合に必要なメモリ容量は、上記66176ワードよりも小さくなる。 Of course, as shown in FIG. 3A, it is not always necessary to subdivide the period until the period becomes the smallest, and the memory capacity required in that case is smaller than the above 66176 words.
一方、従来のFFTでは、数段階のバタフライ演算によって周波数解析を実施しているが、上述したように各バタフライ演算の基数は小さい値しかとることができない。そこで、基数を2とした場合に各中間バッファメモリとして必要なメモリ容量を、図3(b)に示した。この図3(b)から、中間バッファメモリとして必要な全メモリ容量は、131102ワード分であることが分かる。 On the other hand, in the conventional FFT, frequency analysis is performed by butterfly calculations in several stages. However, as described above, the radix of each butterfly calculation can take only a small value. Therefore, the memory capacity required for each intermediate buffer memory when the radix is 2 is shown in FIG. FIG. 3B shows that the total memory capacity required for the intermediate buffer memory is 131102 words.
図3(a)と図3(b)とを比較すれば明らかなように、本実施例のDFT処理によれば、各フェーズの処理を並列化動作させる場合に必要な中間バッファメモリのメモリ容量を、従来のFFTで各バタフライ演算を並列化動作させる場合に必要なメモリ容量よりも小さくすることができる。 As is clear from comparison between FIG. 3A and FIG. 3B, according to the DFT processing of this embodiment, the memory capacity of the intermediate buffer memory required when the processing of each phase is operated in parallel. Can be made smaller than the memory capacity required for parallel operation of each butterfly operation in the conventional FFT.
以上説明したように、本実施例のフーリエ変換装置によれば、一連のフーリエ変換処理にかかる演算量を少なくすることができ、しかも、各フェーズを並列化動作させた場合に使用する中間バッファメモリの全メモリ容量を小さくすることもできるようになる。 As described above, according to the Fourier transform device of the present embodiment, the amount of calculation required for a series of Fourier transform processes can be reduced, and the intermediate buffer memory used when each phase is operated in parallel. It is also possible to reduce the total memory capacity.
なお、以上の実施例では、第1の並べ替え手段1と第2の並べ替え手段6とを含めたものを1つのフーリエ変換装置として扱っているが、このようなデータの並べ替えを行う手段が外部に存在すれば、これらの手段はフーリエ変換装置内に必ずしも設ける必要はない。 In the above embodiment, the device including the first rearranging means 1 and the second rearranging means 6 is treated as one Fourier transform device, but means for rearranging such data. Are not necessarily provided in the Fourier transform apparatus.
以上のような本実施例のフーリエ変換装置を利用して、以下に述べる幾つかの応用例を実現することができる。 Using the Fourier transform apparatus of the present embodiment as described above, several application examples described below can be realized.
まず第1番目の例は、ある小さな周期のフーリエ変換装置を2個直列に設けるとともに、その間に小規模の回転演算装置を付加することにより、より大きな周期のフーリエ変換装置を構成したものである。 In the first example, a Fourier transform device having a larger period is configured by providing two Fourier transform devices having a certain small period in series and adding a small-scale rotation arithmetic unit therebetween. .
例えば、図4に示すように、n2 長DFT装置11とn1 長DFT装置14とを直列に設けるとともに、その間に回転演算装置12と(n1 ×n2 )ワード分の容量を持つ中間バッファメモリ13とを付加することにより、N=n1 ×n2長の大きな周期のDFT装置を構成する。そして、n2 長DFTとn1 長DFTとをパイプライン処理することにより、N点の周波数解析を実施する。
For example, as shown in FIG. 4, an n 2 -
上述したように、大きな周期Nの周波数解析を1個のDFT装置で一度に行うのは演算負荷が非常に大きいのに対して、小さな周期n1 、n2 の組み合わせで周波数解析を行うのは演算負荷が小さい。したがって、本装置によれば、全体としての処理速度を高速にすることができるというメリットがある。 As described above, performing a frequency analysis of a large period N at a time with one DFT apparatus has a very large calculation load, whereas a frequency analysis is performed with a combination of small periods n 1 and n 2. The calculation load is small. Therefore, according to this apparatus, there is an advantage that the overall processing speed can be increased.
第2番目の例は、第2のフェーズにおけるn2 長DFT処理と第4のフェーズにおけるn1 長DFT処理とがそれぞれ独立性が高いことを利用して、上記n2長DFT処理を行う装置と上記n1 長DFT処理を行う装置とをそれぞれ複数個ずつ設けて1つのフーリエ変換装置を構成したものである。 The second example is n 2 length DFT process in the second phase and the n 1 length DFT process in the fourth phase by utilizing the higher respectively independent, performing the n 2 length DFT processor And a plurality of devices for performing the n 1 long DFT processing are provided to constitute one Fourier transform device.
例えば、図5に示すように、m1(ワード/秒) の演算能力を持つn2 長DFT装置21a,21b,…,21cをl1 個設けてn2 長DFT装置群21を構成するとともに、m2(ワード/秒) の演算能力を持つn1 長DFT装置24a,24b,…,24cをl2 個設けてn1 長DFT装置群24を構成する。
For example, as shown in FIG. 5, m 1 (word / s) n 2
そして、上記n2 長DFT装置群21と上記n1 長DFT装置群24との間にm3(ワード/秒) の演算能力を持つ回転演算装置22と(n1 ×n2 )ワード分の容量を持つ中間バッファメモリ23とを設けることにより、1つのフーリエ変換装置を構成する。
Then, between the n 2 long
既に説明したように、第2のフェーズではn2 長DFT処理をn1 回行う必要がある。そこで、n2 長DFT装置群21を構成するn2 長DFT装置21a,21b,…,21cをn1 個、あるいは適当な数で割った個数だけ設けることにより、n1 回のn2 長DFT処理を並列に行うようにする。これにより、n2 長DFT処理をより短時間で行うようにすることができる。
As already described, in the second phase, it is necessary to perform n 2 length DFT processing n 1 times. Therefore, n 2
例えば、n1 =4の場合、先に示した図4の例のように、1個のn2 長DFT装置11でn1 回のn2 長DFT処理を行うのでは4サイクルかかっていたのに対し、n2 長DFT装置を2個設ければ2サイクルで行うことができる。また、n2 長DFT装置を4個設ければ、1サイクルで行うことができる。 For example, the case of n 1 = 4, as in the example of Figure 4 shown above, than performing one in the n 2-length DFT unit 11 n 1 times n 2 length DFT process it takes 4 cycles On the other hand, if two n 2 long DFT devices are provided, it can be performed in two cycles. If four n 2 long DFT devices are provided, it can be performed in one cycle.
また、第4のフェーズについても同様に、n1 長DFT装置群24を構成するn1 長DFT装置24a,24b,…,24cをn2 個、あるいは適当な数で割った個数だけ設けることにより、n2 回のn1 長DFT処理を行う際の演算サイクル数を少なくすることができる。これにより、より高速なフーリエ変換装置を得ることができる。
Similarly, in the fourth phase, n 1
なお、上記n2 長DFT装置群21の全体としての演算能力はl1 ×m1(ワード/秒) であり、上記n1 長DFT装置群24の全体としての演算能力はl2 ×m2(ワード/秒) である。ここで、m3 ≦l1 ×m1 あるいはm3 ≦l2 ×m2が成立すると、上記n2 長DFT装置群21およびn1 長DFT装置群24は、m3(ワード/秒) の演算能力に制限される。
The overall computing capability of the n 2 long
第3番目の例は、ある小さな周期のフーリエ変換装置を複数個用い、それらを回転演算装置を介して積み重ねるようにして接続する(イメージとしては、図3(a)に示したツリー構造となるように接続する)ことにより、より大きな周期のフーリエ変換装置を構成したものである。 In the third example, a plurality of Fourier transform devices having a certain small period are used, and they are connected by being stacked via a rotation operation device (the image has the tree structure shown in FIG. 3A). In this way, a Fourier transform device having a larger period is configured.
例えば、複数個の4点フーリエ変換装置を用いて、より大きな周期の4096点フーリエ変換装置を構成する場合について考える。この場合、図6に示すように、4096点フーリエ変換装置は、大きく分けて16点フーリエ変換装置31と、4096点回転演算装置32と、4096ワード分の容量を持つ4096点バッファメモリ33と、256点フーリエ変換装置34とにより構成される。
For example, consider a case where a 4096-point Fourier transform apparatus having a larger period is configured using a plurality of 4-point Fourier transform apparatuses. In this case, as shown in FIG. 6, the 4096-point Fourier transform device is roughly divided into a 16-point
そして、上記16点フーリエ変換装置31は、2つの4点フーリエ変換装置31a,31dと、16点回転演算装置31bと、16ワード分の容量を持つ16点バッファメモリ31cとにより構成される。また、上記256点フーリエ変換装置34は、2つの16点フーリエ変換装置34a,34dと、256点回転演算装置34bと、256ワード分の容量を持つ256点バッファメモリ34cとにより構成される。
The 16-point
さらに、上記256点フーリエ変換装置34内にある一方の16点フーリエ変換装置34aは、上記16点フーリエ変換装置31と同様に、2つの4点フーリエ変換装置34a1 ,34a4 と、16点回転演算装置34a2 と、16ワード分の容量を持つ16点バッファメモリ34a3 とにより構成される。
Further, one 16-point
他方の16点フーリエ変換装置34dについても上記16点フーリエ変換装置31と同様に、2つの4点フーリエ変換装置34d1 ,34d4 と、16点回転演算装置34d2 と、16ワード分の容量を持つ16点バッファメモリ34d3とにより構成される。
Similarly to the 16-point
このように、小さな周期の4点フーリエ変換装置を複数個用い、それらを回転演算装置を介してツリー構造となるように接続することにより、より大きな周期の4096点フーリエ変換装置を構成している。なお、本装置において用いられている各回転演算装置は、ツリーの枝を結ぶ乗算の役目を果たしている。 In this way, a 4096-point Fourier transform apparatus with a larger period is configured by using a plurality of small-period 4-point Fourier transform apparatuses and connecting them so as to form a tree structure via a rotation arithmetic unit. . Note that each rotation arithmetic unit used in this apparatus plays a role of multiplication that connects branches of a tree.
つまり、この図6に示した装置では、4096点の周波数解析を、縦16点×横256点に分割して行う。そして、縦16点の周波数解析を行う際には、更に縦4点×横4点に分割して行う。また、横256点の周波数解析を行う場合も同様にして、縦4点×横4点のフーリエ変換にまで細分化して行う。 That is, in the apparatus shown in FIG. 6, the frequency analysis of 4096 points is performed by dividing it into 16 vertical points × 256 horizontal points. When performing frequency analysis of 16 vertical points, it is further divided into 4 vertical points × 4 horizontal points. Similarly, when performing frequency analysis of 256 horizontal points, it is divided into four vertical and four horizontal Fourier transforms.
4096点の周波数解析を1個の4096点フーリエ変換装置で一度に行うのは演算負荷が非常に大きいが、小さな周期の4点フーリエ変換装置の組み合わせで周波数解析を行うのは演算負荷が小さいことは上述した通りである。したがって、本装置によれば、全体としての演算負荷を小さくして処理速度を高速にすることができる。 Performing frequency analysis of 4096 points at one time with a single 4096-point Fourier transform device is very computationally intensive, but performing frequency analysis with a combination of four-point Fourier transform devices with a small period requires a small computational load. Is as described above. Therefore, according to the present apparatus, the processing load as a whole can be reduced and the processing speed can be increased.
また、本装置において用いている中間バッファメモリの総メモリ容量は、4096+16+256 +16+16=4440ワードである。これに対して、従来のFFTにより4096点フーリエ変換装置を構成すると、各バタフライ演算の基数を4とした場合でも、バッファメモリの総メモリ容量は、4096+1024+256 +64+16+4 ×6=5480ワードである。 Further, the total memory capacity of the intermediate buffer memory used in this apparatus is 4096 + 16 + 256 + 16 + 16 = 4440 words. On the other hand, when a 4096-point Fourier transform apparatus is configured by conventional FFT, the total memory capacity of the buffer memory is 4096 + 1024 + 256 + 64 + 16 + 4 × 6 = 5480 words even when the radix of each butterfly operation is 4.
以上のことから明らかなように、図6の装置によれば、4096点のDFT処理にかかる演算量を少なくしてFFTと同程度にまで処理時間を短くすることができるだけでなく、演算の過程で使用する中間バッファメモリのメモリ容量を、FFTを行う場合に比べて小さくすることもできている。 As is apparent from the above, according to the apparatus of FIG. 6, not only can the amount of calculation required for 4096 points of DFT processing be reduced to shorten the processing time to the same level as FFT, but also the calculation process. It is also possible to reduce the memory capacity of the intermediate buffer memory used in FIG.
第4番目の例は、図6に示した第3番目の例を応用した例である。すなわち、窓かけ演算にも流用できるようにした回転演算装置と16点フーリエ変換装置とを用いて1つのフーリエ変換装置を構成する。そして、これをタイムシェアリング(時分割)で用いることにより、より大きな周期(4096点)の周波数解析を行うことができるようにしたものである。 The fourth example is an example in which the third example shown in FIG. 6 is applied. That is, a single Fourier transform device is configured using a rotation computation device and a 16-point Fourier transform device that can be used for windowing computation. By using this in time sharing (time division), frequency analysis with a larger period (4096 points) can be performed.
フーリエ変換は、数学上の話では本来は無限長の周期で行うものである。しかし、これを実際に行うのは現実問題として無理である。そこで、実際には、周期Nで一定区間を区切り、その端点をつなげることによって無限長とみなして周波数解析を行っている。ところが、この場合に、端点に不連続点が存在すると、正常でない周波数成分、すなわち、周波数もれ成分が生じることがある。 The Fourier transform is originally performed in an infinitely long cycle in the mathematical story. However, it is impossible as a real problem to actually do this. Therefore, in practice, frequency analysis is performed by considering a fixed interval at a period N and connecting the end points to an infinite length. However, in this case, if there is a discontinuity at the end point, an abnormal frequency component, that is, a frequency leakage component may occur.
上述した窓かけ演算は、この端点の不連続点をなくし、周波数もれ成分を少なくすることを目的として行われるものであり、次の(式8)に示す演算式によって行われる。なお、(式8)中のSk はフーリエ解析するデータ、w(k) は窓関数、Sk ' は実サンプルデータを示している。 The windowing operation described above is performed for the purpose of eliminating this discontinuity at the end points and reducing the frequency leakage component, and is performed by the following equation (Equation 8). In (Equation 8), S k represents data to be subjected to Fourier analysis, w (k) represents a window function, and S k ′ represents actual sample data.
ところで、この窓かけ演算は、精密ではないが、次の(式9)に示す回転演算とほぼ同じと考えることができる。したがって、係数をうまく与えれば、回転演算装置を用いて窓かけ演算を行うことが可能である。そこで、この第4番目の例では、回転演算装置を窓かけ演算にも流用できるようにしている。 By the way, although this windowing operation is not precise, it can be considered to be almost the same as the rotation operation shown in the following (Equation 9). Therefore, if a coefficient is given well, it is possible to perform windowing calculation using a rotation calculation device. Therefore, in the fourth example, the rotation calculation device can be used for windowing calculation.
図7は、この第4番目の例を実現するための装置の構成を示す図である。図7に示したように、本装置は、窓かけ演算にも流用可能な窓かけ/回転演算装置41と、16点フーリエ変換装置42と、4096ワード分の容量を持つ4096点バッファメモリ43と、256ワード分の容量を持つ256点バッファメモリ44と、データ入力部45と、データ出力部46とにより構成されている。
FIG. 7 is a diagram showing a configuration of an apparatus for realizing the fourth example. As shown in FIG. 7, this apparatus includes a windowing /
上記回転演算装置41は、窓かけ演算を行う際に適当な係数を与える手段を具備している。また、上記16点フーリエ変換装置42は、図6中に示した各16点フーリエ変換装置と同様に、2つの4点フーリエ変換装置42a,42dと、16点回転演算装置42bと、16点バッファメモリ42cとにより構成されている。
The
このように構成したフーリエ変換装置は、図6中にα、β、γで示した部分(何れの部分も16点フーリエ変換装置と回転演算装置、あるいは16点フーリエ変換装置と窓かけ演算装置とを含んでいる)の処理を時分割で行うことにより、4096点の周波数解析を実施する。 The Fourier transform device configured in this way is a portion indicated by α, β, γ in FIG. 6 (all portions are a 16-point Fourier transform device and a rotation computation device, or a 16-point Fourier transform device and a windowing computation device). Frequency analysis of 4096 points is performed by performing the processing of (including the above) in a time-sharing manner.
すなわち、図8に示すように、まず最初に、データ入力部45を介して入力されるデータを用いて、図6中のαの部分に相当する演算が行われる。このとき、窓かけ/回転演算装置41では、適当な係数が与えられることにより窓かけ演算が行われる。このαの部分の演算結果は、データ出力部46を介して4096点バッファメモリ43に順次格納される。
That is, as shown in FIG. 8, first, using the data input via the data input unit 45, an operation corresponding to the portion of α in FIG. 6 is performed. At this time, the windowing /
そして、この4096点バッファメモリ43にデータがたまると、次にそのデータがデータ入力部45を介して入力され、図6中のβに相当する演算が行われる。このβの部分の演算結果は、データ出力部46を介して256点バッファメモリ44に順次格納される。次に、この256点バッファメモリ44にデータがたまると、そのデータがデータ入力部45を介して入力され、図6中のγに相当する演算が行われる。
When data is accumulated in the 4096-
このように、図7の装置によれば、小さな周期のフーリエ変換の組み合わせによって大きな周期のフーリエ変換を行っているので、4096点のDFT処理にかかる演算量を少なくして処理時間を短くすることができる。さらに、図6の装置と異なり、同じ装置を時分割で何度も用いているので、図6の装置に比べて、4点フーリエ変換装置や中間バッファメモリの使用数を減らすことができ、装置全体の規模を小さくすることができる。 As described above, according to the apparatus shown in FIG. 7, the Fourier transform of a large period is performed by a combination of Fourier transforms of a small period. Can do. Furthermore, unlike the device of FIG. 6, the same device is used many times in a time-sharing manner, so that the number of four-point Fourier transform devices and intermediate buffer memories can be reduced compared to the device of FIG. The overall scale can be reduced.
第5番目の例は、高速ページモードを持つメモリを用いて中間バッファメモリを構成し、その高速ページモードを持つメモリに中間バッファメモリを配置するときに、ストライプ状に配置するのではなく、縦横のブロック状に配置することにより、メモリアクセスタイムを短くできるようにしたものである。 In the fifth example, when an intermediate buffer memory is configured by using a memory having a high-speed page mode, and the intermediate buffer memory is arranged in the memory having the high-speed page mode, the intermediate buffer memory is not arranged in a stripe pattern, but vertically and horizontally. The memory access time can be shortened by arranging them in the form of blocks.
一般に、高速ページモードを持つICメモリは、2次元マトリクス状に作製される。そして、その行(カラム)と列(ロウ)とで位置を指定することにより所望のデータを得るようになされている。この場合、DRAMに代表されるメモリでは、その機構上の特徴により、先にロウアドレスを指定し、次にカラムアドレスを指定するようになっている。 In general, an IC memory having a high-speed page mode is manufactured in a two-dimensional matrix. The desired data is obtained by designating the position by the row (column) and the column (row). In this case, in a memory represented by a DRAM, a row address is designated first and a column address is designated next due to the feature of the mechanism.
そして、高速ページモードでは、同じロウアドレスについてカラムアドレスを連続して指定する場合には、異なるロウアドレスについてカラムアドレスを指定する場合に比べて高速にアクセスすることができるようになっている。このような高速ページモードを持つメモリの一例として、日立製のメモリ(HM511OOOA-6)がある。 In the high-speed page mode, when column addresses are successively specified for the same row address, access can be performed at a higher speed than when column addresses are specified for different row addresses. An example of a memory having such a high-speed page mode is a Hitachi memory (HM511OOOA-6).
ところで、上述したように、本実施例のフーリエ変換装置では、第2のフェーズで縦方向に対するDFT処理を行い、第4のフェーズで横方向に対するDFT処理を行っている。このため、2次元状に作られた中間バッファメモリの縦方向と横方向に対してそれぞれデータの読み書きを行っている。 By the way, as described above, in the Fourier transform apparatus of the present embodiment, the DFT process for the vertical direction is performed in the second phase, and the DFT process for the horizontal direction is performed in the fourth phase. For this reason, data is read and written in the vertical direction and the horizontal direction of the intermediate buffer memory formed in two dimensions.
ここで、中間バッファメモリ4を横方向にストライプ状に配置した場合には、縦方向に対する高速ページモードが使えないので、横方向に対するメモリアクセスタイムは速いが、縦方向に対するメモリアクセスタイムが遅くなってしまう。一方、ブロック状に配置すれば、縦方向に対するデータの読み書き時に高速ページモードが使えるので、横方向に対するアクセスタイムも縦方向に対するアクセスタイムも共に速くすることができるようになる。
Here, when the
図9は、上記した日立製のメモリのアクセスタイムの様子を示すタイムチャートである。この図9の例では、同じロウアドレスについて2つのカラムアドレスを連続して指定した場合について示している。 FIG. 9 is a time chart showing the state of access time of the above-mentioned Hitachi memory. In the example of FIG. 9, a case where two column addresses are successively specified for the same row address is shown.
すなわち、通常、1ワードのアクセスを行うのにかかる時間(サイクルタイム)は120nsecであるのに対して、高速ページモードにおいて2ワードのアクセスを行うのにかかる時間は155(=60+45+50)nsecである。つまり、1ワード当たりでは、77.5nsecと通常時よりもアクセス時間が短くなっていることが図9から読み取れる。 That is, normally, the time (cycle time) required to access one word is 120 nsec, while the time required to access two words in the high-speed page mode is 155 (= 60 + 45 + 50) nsec. . That is, it can be seen from FIG. 9 that the access time per word is 77.5 nsec, which is shorter than the normal time.
このような日立製のメモリを中間バッファメモリとして用いた場合の具体例を次に示す。なお、ここでは、中間バッファメモリの全メモリ容量は218ワード(縦29 ワード×横29 ワード)であるとする。
A specific example when such a Hitachi memory is used as an intermediate buffer memory is shown below. Here, the total memory capacity of the intermediate buffer memory is assumed to be 2 18 words (vertical 2 9 words ×
まず、図10に示すように、中間バッファメモリを29 ワード分ずつ横方向にストライプ状に配置する場合について考える。この場合、第2のフェーズで求められたデータを中間バッファメモリに縦方向に書き込む際には、高速ページモードが使えないので、縦方向に対して1ワード当たり120nsecの時間がかかる。 First, as shown in FIG. 10, consider the case of placing the intermediate buffer memory in stripes in the lateral direction by 2 9 words minutes. In this case, when the data obtained in the second phase is written in the intermediate buffer memory in the vertical direction, the high-speed page mode cannot be used, and therefore it takes 120 nsec per word in the vertical direction.
また、第4のフェーズにおいて上記中間バッファメモリからデータを読み出す際に、横方向に対して1ワード当たりにかかるアクセス時間は、(60+45×(29 −1)+50)/29 ≒45.13nsecである。よって、メモリアクセスに関するデータレートの上限は、120+45.13=165.13nsec/ワードとなる。 Further, when data is read from the intermediate buffer memory in the fourth phase, the access time per word in the horizontal direction is (60 + 45 × (2 9 −1) +50) / 2 9 ≈45.13 nsec. It is. Therefore, the upper limit of the data rate related to memory access is 120 + 45.13 = 165.13 nsec / word.
次に、図11に示すように、中間バッファメモリを29 ワード分ずつブロック状(縦24 個×横25 個)に配置する場合について考える。この場合、縦方向に対するメモリアクセス時に高速ページモードを使うことが可能であるので、第2のフェーズで求められたデータを中間バッファメモリに書き込む際にかかる時間は、縦方向に対して1ワード当たり(60+45×15+50)/16≒49.06nsecである。
Next, as shown in FIG. 11, consider the case of placing on the
また、第4のフェーズにおいて上記中間バッファメモリからデータを読み出す際に、横方向に対して1ワード当たりにかかるアクセス時間は、(60+45×31+50)/32≒47.03nsecである。よって、メモリアクセスに関するデータレートの上限は、49.06+47.03=96.09nsec/ワードとなる。 Further, when data is read from the intermediate buffer memory in the fourth phase, the access time per word in the horizontal direction is (60 + 45 × 31 + 50) /32≈47.03 nsec. Therefore, the upper limit of the data rate related to memory access is 49.06 + 47.03 = 96.09 nsec / word.
以上の計算結果から明らかなように、中間バッファメモリをブロック状に配置することにより、ストライプ状に配置する場合に比べてメモリアクセス時間を短くすることができる。これにより、上述したようにフーリエ変換処理を行う際の演算量を減らすことができるだけでなく、処理の過程で使用する中間バッファメモリへのアクセス時間を削減することもできるようになり、全体としての処理時間を更に短くすることができる。 As is apparent from the above calculation results, the memory access time can be shortened by arranging the intermediate buffer memory in a block shape as compared with the case where the intermediate buffer memory is arranged in a stripe shape. As a result, it is possible not only to reduce the amount of computation when performing the Fourier transform processing as described above, but also to reduce the access time to the intermediate buffer memory used in the process of processing, and as a whole The processing time can be further shortened.
第6番目の例は、第2のフェーズの処理と第4のフェーズの処理とを並列に動作させる場合に、中間バッファメモリにデータを読み書きする際のアドレッシング動作を工夫することにより、中間バッファメモリを1ページ分だけ用意すれば済むようにしたものである。 In the sixth example, when the processing of the second phase and the processing of the fourth phase are operated in parallel, the intermediate buffer memory is devised by devising the addressing operation when data is read from and written to the intermediate buffer memory. Is prepared for only one page.
第4のフェーズの処理を行う際には、第2のフェーズで求められたデータを用いるため、第2のフェーズの処理が終わらなければ第4のフェーズの処理は行うことができない。したがって、第2のフェーズの処理と第4のフェーズの処理とを並列に動作させる場合は、通常は、図12に示すように、第2のフェーズ用と第4のフェーズ用との2ページ分の中間バッファメモリが必要になる。 Since the data obtained in the second phase is used when the fourth phase process is performed, the fourth phase process cannot be performed unless the second phase process is completed. Therefore, when the processing of the second phase and the processing of the fourth phase are operated in parallel, normally, as shown in FIG. 12, two pages for the second phase and the fourth phase are used. Intermediate buffer memory is required.
すなわち、第2のフェーズと第4のフェーズとを並列動作させる場合には、図12(a)に示すように、第2のフェーズにおける縦方向のDFT処理で求められるデータを縦方向に順次記憶していくと同時に、図12(b)に示すように、既に求められたデータを第4のフェーズにおいて横方向に読み出して横方向のDFT処理を順次行っていく必要がある。 That is, when the second phase and the fourth phase are operated in parallel, as shown in FIG. 12A, the data obtained by the vertical DFT processing in the second phase is sequentially stored in the vertical direction. At the same time, as shown in FIG. 12B, it is necessary to read out already obtained data in the horizontal direction in the fourth phase and sequentially perform the DFT processing in the horizontal direction.
したがって、第2のフェーズで求められるデータを縦方向に順次記憶していくためのページと、第4のフェーズでデータを横方向に読み出して使用するためのページとの2ページが中間バッファメモリとして必要になる。しかし、このように中間バッファメモリを2ページも用意したのでは、メモリ容量が非常に大きくなってしまう。 Accordingly, the intermediate buffer memory includes two pages, a page for sequentially storing data required in the second phase in the vertical direction and a page for reading and using data in the horizontal direction in the fourth phase. I need it. However, if two pages of intermediate buffer memory are prepared in this way, the memory capacity becomes very large.
そこで、この第6番目の例では、今までのように第2のフェーズで求められたデータは縦方向に書き込み、第4のフェーズの処理ではデータを横方向に読み出すというように一定としないで、図13に示すように、1回目に行う第2、第4のフェーズではデータを縦方向に読み書きする。2回目に行う第2、第4のフェーズではデータを横方向に読み書きするというように、アドレッシングの方向を縦と横で交互に切り換えていくようにする。 Therefore, in the sixth example, the data obtained in the second phase is written in the vertical direction as before, and the data is read in the horizontal direction in the process of the fourth phase. As shown in FIG. 13, in the second and fourth phases performed for the first time, data is read and written in the vertical direction. In the second and fourth phases performed for the second time, the addressing direction is switched alternately between vertical and horizontal, such as reading and writing data in the horizontal direction.
すなわち、図13(a)において、1回目に行う第4のフェーズの処理では、中間バッファメモリに既に記憶されているデータ(この第4のフェーズの処理よりも前に行われた0回目の第2のフェーズの処理で求められたデータ)が縦方向に順次読み出される。 That is, in FIG. 13A, in the fourth phase process performed for the first time, the data already stored in the intermediate buffer memory (the zeroth process performed before the fourth phase process) is stored. Data obtained in the processing of the second phase) are sequentially read in the vertical direction.
そして、この第4のフェーズの処理と同時に行われている1回目の第2のフェーズの処理で求められたデータが、上記読み出しによって空になった縦方向の領域に順次書き込まれる。すると、最終的には、中間バッファメモリの全ての領域に、1回目の第2のフェーズの処理で求められたデータが記憶される。 Then, the data obtained in the first second-phase processing that is performed simultaneously with the fourth-phase processing is sequentially written in the vertical area emptied by the reading. Then, finally, the data obtained by the first second phase process is stored in all the areas of the intermediate buffer memory.
次に、図13(b)において、2回目に行う第4のフェーズの処理では、中間バッファメモリに記憶されているデータ(上記1回目の第2のフェーズの処理で求められたデータ)が横方向に順次読み出される。 Next, in FIG. 13B, in the process of the fourth phase performed for the second time, the data stored in the intermediate buffer memory (the data obtained in the process of the second phase of the first time) is changed horizontally. Read sequentially in the direction.
そして、この第4のフェーズの処理と同時に行われている2回目の第2のフェーズの処理で求められたデータが、上記読み出しによって空になった横方向の領域に順次書き込まれる。すると、最終的には、中間バッファメモリの全ての領域に、2回目の第2のフェーズの処理で求められたデータが記憶される。この後は、再び図13(a)に示す処理が行われる。 Then, the data obtained in the second second-phase processing that is performed simultaneously with the fourth-phase processing is sequentially written in the horizontal area emptied by the reading. Then, finally, the data obtained by the second second-phase process is stored in all areas of the intermediate buffer memory. Thereafter, the process shown in FIG. 13A is performed again.
以上のように、アドレッシングの方向を交互に切り換えてデータの読み書きを行うようにすれば、データを読み出して空きになった領域を有効に活用して、1つの中間バッファメモリを第2のフェーズ用と第4のフェーズ用とで共用することができ、中間バッファメモリを1ページ分だけ用意すれば済むようになる。 As described above, when the addressing direction is alternately switched to read / write data, the area that is freed by reading data is effectively used, and one intermediate buffer memory is used for the second phase. And the fourth phase can be shared, and only one page of intermediate buffer memory needs to be prepared.
第7番目の例は、図5に示した第2番目の例を応用した例である。図5に示したように複数のDFT装置を用いて処理を並列化させた場合には、中間バッファメモリ23へのアクセスが非常に多くなる。そこで、この第7番目の例は、上記中間バッファメモリ23を複数のメモリに分割して用意するとともに、クロスバスイッチなどのデータ振り分け装置を用いることにより、メモリアクセス時における並列動作性を高めることができるようにしたものである。
The seventh example is an example in which the second example shown in FIG. 5 is applied. As shown in FIG. 5, when the processes are parallelized using a plurality of DFT devices, access to the
図14は、この第7番目の例を実現するための装置の構成を示す図である。なお、この図14に示す装置は、図5に示した装置を変形したものであり、図5中に示した周期n1 、n2 の値をそれぞれ4とし、n1 長DFT処理を行う装置の数l1 、n2 長DFT処理を行う装置の数l2 をそれぞれ4個とした場合について示したものである。 FIG. 14 is a diagram showing a configuration of an apparatus for realizing the seventh example. The apparatus shown in FIG. 14 is a modification of the apparatus shown in FIG. 5, and sets the values of periods n 1 and n 2 shown in FIG. 5 to 4 and performs n 1 length DFT processing. number l 1, n 2 length DFT process the number l 2 of the apparatus for performing the illustrates the case of a four respectively.
すなわち、本装置は、第2のフェーズの処理を行う4個の4点フーリエ変換装置51a,51b,51c,51dと、データ振り分け装置52と、並列動作可能な4個の中間バッファメモリ53a,53b,53c,53dと、第4のフェーズの処理を行う4個の4点フーリエ変換装置54a,54b,54c,54dとにより構成される。なお、ここでは、説明の簡略化のため、回転演算装置は図示を省略している。
That is, this apparatus includes four four-point
次に、上記のように構成した装置の動作を、図15に示す中間データの配置図を参照しながら説明する。本装置では、第2のフェーズで縦方向に4点フーリエ変換を行い、第4のフェーズで横方向に4点フーリエ変換を行うことにより、第1〜第16ワード(図15に丸付の数字で示している)の16点周波数解析を実行する。
Next, the operation of the apparatus configured as described above will be described with reference to the layout diagram of intermediate data shown in FIG. In this apparatus, the four-point Fourier transform is performed in the vertical direction in the second phase, and the four-point Fourier transform is performed in the horizontal direction in the fourth phase. 16-point frequency analysis is performed.
このとき、上述した第2のフェーズの処理を行う4個の4点フーリエ変換装置51a,51b,51c,51dは、それぞれ図15の縦方向に対するデータを用いてフーリエ変換を同時に行う。これにより、第1サイクルでは、第1、第2、第3、第4ワードについてフーリエ変換されたデータが同時に得られる。
At this time, the four 4-point
このようにして同時に得られた4個のデータは、データ振り分け装置52により4個の中間バッファメモリ53a,53b,53c,53dに1ワードずつ振り分けられて記憶される。ここで、各ワードのデータが記憶される中間バッファメモリ53a,53b,53c,53dの種類を、それぞれA〜Dの符号を付して示した。
The four data simultaneously obtained in this way are sorted and stored one by one in the four
通常、4個のデータを1個の中間バッファメモリに書き込むためには、4サイクル必要であるが、本実施例では、4個のデータを4個の中間バッファメモリ53a,53b,53c,53dに振り分けて書き込むようにしているので、1サイクルで書き込みを行うことができる。
Normally, four cycles are required to write four data to one intermediate buffer memory. In this embodiment, four data are stored in four
また、第2サイクル〜第4サイクルの各サイクルで同時にフーリエ変換されたデータについても同様に、データ振り分け装置52により4個の中間バッファメモリ53a,53b,53c,53dに1ワードずつ振り分けられて記憶される。このとき、同じフーリエ変換装置で変換されたデータが同じ中間バッファメモリ内に記憶されないように振り分けが行われる。
Similarly, the data simultaneously Fourier-transformed in each cycle of the second cycle to the fourth cycle is also allocated to the four
以上のような書き込み動作により、4個の中間バッファメモリ53a,53b,53c,53dには、図15に示すような関係で各ワードのデータが記憶されることになる。すなわち、第1の中間バッファメモリ53aには、第1、第6、第11、第16ワードのデータが記憶され、第2の中間バッファメモリ53bには、第5、第10、第15、第4ワードのデータが記憶される。
As a result of the write operation as described above, the data of each word is stored in the four
また、第3の中間バッファメモリ53cには、第9、第14、第3、第8ワードのデータが記憶され、第4の中間バッファメモリ53dには、第13、第2、第7、第12ワードのデータが記憶される。
The third
次に、第4のフェーズの処理を行う際には、上述した第4のフェーズの処理を行う4個の4点フーリエ変換装置54a,54b,54c,54dは、それぞれ図15の横方向に対するデータを用いてフーリエ変換を同時に行う。すなわち、第1サイクルでは、上記4個の4点フーリエ変換装置54a,54b,54c,54dは、それぞれ第1、第5、第9、第13ワードのデータを読み出してフーリエ変換を同時に行う。
Next, when performing the process of the fourth phase, the four four-point
この場合、図15から明らかなように、各4点フーリエ変換装置54a,54b,54c,54dで同時に使用する4個のデータは、上記4個の中間バッファメモリ53a,53b,53c,53dに1ワードずつ分散して記憶されている。したがって、1個の中間バッファメモリに上記4個のデータが全て記憶されていたとしたなら読み出しに4サイクルかかるところを、本実施例では、1サイクルで読み出すことができる。
In this case, as is apparent from FIG. 15, four data simultaneously used by the four-point
以上説明したように、図14に示した第7番目の例の装置によれば、複数のフーリエ変換装置を用いてDFT処理を並列化動作させた場合に、中間バッファメモリへのアクセスも効率よく並列化させることができ、装置全体の並列動作性を向上させることができる。なお、参考のために、上述したデータの読み書きの手順を、図16に示しておく。 As described above, according to the device of the seventh example shown in FIG. 14, when the DFT processing is performed in parallel using a plurality of Fourier transform devices, the access to the intermediate buffer memory is also efficiently performed. Parallelization can be performed, and parallel operability of the entire apparatus can be improved. For reference, FIG. 16 shows the above-described data read / write procedure.
1 第1の並べ替え手段
2 n2 長フーリエ変換手段
3 回転演算手段
4 中間バッファメモリ
5 n1 長フーリエ変換手段
6 第2の並べ替え手段
DESCRIPTION OF
Claims (1)
上記m個のn2長フーリエ変換手段による変換結果を一時記憶するためのm個の中間バッファメモリと、
上記m個の中間バッファメモリに記憶されたデータに対して回転演算を施す回転演算手段と、
上記回転演算手段による演算結果に対して、横方向に対する周期n1のフーリエ変換を行うm個のn1長フーリエ変換手段と、
複数サイクルに亘って同じn2長フーリエ変換手段により求められたデータが同じ中間バッファメモリ内に記憶されることがないようにするとともに、同じn1長フーリエ変換手段により使用されるデータが同じ中間バッファメモリ内に記憶されることがないようにして、上記m個のn2長フーリエ変換手段によりそれぞれ求められたm個のデータを上記m個の中間バッファメモリに1個ずつ振り分けて記憶するようにするデータ振り分け手段とを有し、
上記m個のn2長フーリエ変換手段を用いてn1回のn2長フーリエ変換処理を並列に行うとともに、上記m個のn1長フーリエ変換手段を用いてn2回のn1長フーリエ変換処理を並列に行うようにし、上記データ振り分け手段によって同一サイクルで振り分けられたm個のデータに対して、同じn1長フーリエ変換手段を用いて互いに異なるサイクルでn1長フーリエ変換処理を行うようにしたことを特徴とするフーリエ変換装置。 For a time component signal of period N (= n 1 × n 2 ) arranged two-dimensionally with period n 1 in the horizontal direction and period n 2 in the vertical direction, a Fourier transform with period n 2 in the vertical direction is performed. M n 2 long Fourier transform means to perform;
M intermediate buffer memories for temporarily storing the conversion results by the m n 2 long Fourier transform means;
Rotation calculation means for performing rotation calculation on the data stored in the m intermediate buffer memories;
M number of n 1 long Fourier transform means for performing a Fourier transform of period n 1 in the lateral direction on the computation result by the rotation computation means;
The data obtained by the same n 2 long Fourier transform means is prevented from being stored in the same intermediate buffer memory over a plurality of cycles, and the data used by the same n 1 long Fourier transform means is the same intermediate. In order not to be stored in the buffer memory, the m data respectively obtained by the m n 2 long Fourier transform means are distributed and stored one by one in the m intermediate buffer memories. Data distribution means to
The m n 2 long Fourier transform means are used to perform n 1 times n 2 long Fourier transform processes in parallel, and the m n 1 long Fourier transform means are used to perform n 2 times n 1 long Fourier transform processes. The conversion processes are performed in parallel, and the n 1 long Fourier transform processes are performed in different cycles using the same n 1 long Fourier transform means on the m pieces of data distributed in the same cycle by the data distribution means. A Fourier transform device characterized by the above.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006033084A JP3950466B2 (en) | 2006-02-09 | 2006-02-09 | Fourier transform device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006033084A JP3950466B2 (en) | 2006-02-09 | 2006-02-09 | Fourier transform device |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP20381795A Division JP3839504B2 (en) | 1995-07-18 | 1995-07-18 | Fourier transform device |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2006164308A JP2006164308A (en) | 2006-06-22 |
JP3950466B2 true JP3950466B2 (en) | 2007-08-01 |
Family
ID=36666162
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006033084A Expired - Lifetime JP3950466B2 (en) | 2006-02-09 | 2006-02-09 | Fourier transform device |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3950466B2 (en) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5821104B2 (en) * | 2010-10-22 | 2015-11-24 | 株式会社レイトロン | Fourier transform processor |
JP5654373B2 (en) * | 2011-02-01 | 2015-01-14 | 株式会社富士通アドバンストエンジニアリング | Arithmetic apparatus, arithmetic method and program |
-
2006
- 2006-02-09 JP JP2006033084A patent/JP3950466B2/en not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
JP2006164308A (en) | 2006-06-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6609140B1 (en) | Methods and apparatus for fast fourier transforms | |
US20080208944A1 (en) | Digital signal processor structure for performing length-scalable fast fourier transformation | |
US7233968B2 (en) | Fast fourier transform apparatus | |
Govindaraju et al. | High performance discrete Fourier transforms on graphics processors | |
EP0535244B1 (en) | Quasi radix-16 processor and method | |
US6304887B1 (en) | FFT-based parallel system for array processing with low latency | |
US7461114B2 (en) | Fourier transform apparatus | |
KR20110079495A (en) | Transposing array data on simd multi-core processor architectures | |
US8880575B2 (en) | Fast fourier transform using a small capacity memory | |
KR101222597B1 (en) | Method for reading and writing a memory, memory control method and arithmetic unit using the same | |
US20100106758A1 (en) | Computing discrete fourier transforms | |
JP3938238B2 (en) | Fast Fourier transform processor | |
JP3950466B2 (en) | Fourier transform device | |
US8209485B2 (en) | Digital signal processing apparatus | |
US6728742B1 (en) | Data storage patterns for fast fourier transforms | |
Sorokin et al. | Conflict-free parallel access scheme for mixed-radix FFT supporting I/O permutations | |
Zheng | Encrypted cloud using GPUs | |
JP3839504B2 (en) | Fourier transform device | |
US6438568B1 (en) | Method and apparatus for optimizing conversion of input data to output data | |
JP2008052504A (en) | Discrete fourier transform device and discrete fourier inverse transform device | |
US6772183B1 (en) | Device for converting input data to output data using plural converters | |
JP2006331186A (en) | Fft operation device and fft operation method | |
CN114116012B (en) | Method and device for realizing vectorization of FFT code bit reverse order algorithm based on shuffle operation | |
KR102479480B1 (en) | Systolic array fast fourier transform apparatus and method based on shared memory | |
CN117633418A (en) | Multi-dimensional fast Fourier transformation acceleration method based on matrix operation |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060310 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20060310 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20060905 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20061205 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20061211 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070302 |
|
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: 20070327 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20070420 |
|
R150 | Certificate of patent (=grant) or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100427 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110427 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110427 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120427 Year of fee payment: 5 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313113 |
|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120427 Year of fee payment: 5 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120427 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130427 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130427 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140427 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 |