[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

JP2002117016A - Fast fourier transform method and fast inverse fourier transform method - Google Patents

Fast fourier transform method and fast inverse fourier transform method

Info

Publication number
JP2002117016A
JP2002117016A JP2000369002A JP2000369002A JP2002117016A JP 2002117016 A JP2002117016 A JP 2002117016A JP 2000369002 A JP2000369002 A JP 2000369002A JP 2000369002 A JP2000369002 A JP 2000369002A JP 2002117016 A JP2002117016 A JP 2002117016A
Authority
JP
Japan
Prior art keywords
fourier transform
data
point
fast
inverse fourier
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2000369002A
Other languages
Japanese (ja)
Inventor
Kenichi Makino
堅一 牧野
Atsushi Matsumoto
淳 松本
Masayuki Nishiguchi
正之 西口
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sony Corp
Original Assignee
Sony Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sony Corp filed Critical Sony Corp
Priority to JP2000369002A priority Critical patent/JP2002117016A/en
Publication of JP2002117016A publication Critical patent/JP2002117016A/en
Pending legal-status Critical Current

Links

Landscapes

  • Complex Calculations (AREA)

Abstract

PROBLEM TO BE SOLVED: To attain N=M×2n (M is an odd number)-point FFT and IFFT for input data. SOLUTION: In step S1, (i) is set to 0 first and in step S2, M pieces of data are taken out. In step S3, M-point DFT of the data taken out in step S2 is performed. In step S4, the product of obtained y(k) and a twist coefficient w(i,k) is calculated and the result is stored in y(k). In step S5, the value of y(k) is overwritten to the array (x) where the original data were put. The mentioned processes are repeated N/M times for all pieces of data through steps S6 and S7. In step S9, N/M(=2n)-point FFT is carried out for 0<=k<M. Lastly, rearrangement is carried out in step S12.

Description

【発明の詳細な説明】DETAILED DESCRIPTION OF THE INVENTION

【0001】[0001]

【発明の属する技術分野】本発明は、一般的にポイント
数が2(2のべき乗)であり、それ以外のポイント数
でFFTを実行することは不可能であった高速フーリエ
変換方法及び高速逆フーリエ変換方法に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention generally relates to a fast Fourier transform method in which the number of points is 2 n (power of 2), and it is impossible to perform FFT with other number of points. It relates to an inverse Fourier transform method.

【0002】[0002]

【従来の技術】従来の高速フーリエ変換(Fast Fourier
Transform:FFT)では、ポイント数NがN=2
満たさなければならないという制限があり、それ以外の
場合は既存の装置を用いて離散フーリエ変換(Digital
Fourier Transform:DFT)の高速演算を行うことは
できなかった。
2. Description of the Related Art Conventional Fast Fourier Transform (Fast Fourier Transform)
Transform (FFT) has a restriction that the number of points N must satisfy N = 2n. Otherwise, the discrete Fourier transform (Digital) is performed using an existing device.
Fourier Transform (DFT) could not be performed at high speed.

【0003】[0003]

【発明が解決しようとする課題】従来の高速フーリエ変
換方法及び高速逆フーリエ変換方法では、不可能であっ
た、入力データに対するN=M×2(Mは奇数)ポイ
ントのFFT及びIFFTを可能とする高速フーリエ変
換方法及び高速逆フーリエ変換方法の提供を目的とす
る。
SUMMARY OF THE INVENTION N = M.times.2.sup.n (M is an odd number) points of FFT and IFFT on input data, which were impossible with the conventional fast Fourier transform and fast inverse Fourier transform, are now possible. It is an object of the present invention to provide a fast Fourier transform method and a fast inverse Fourier transform method.

【0004】[0004]

【課題を解決するための手段】本発明に係る高速フーリ
エ変換方法は、上記課題を解決するために、Mを奇数と
し、nを整数としてM×2ポイントの複素数データを
入力データとし、この入力データに高速フーリエ変換を
施し、M×2ポイントの複素数データを出力すること
を特徴とする。
According to the fast Fourier transform method of the present invention, in order to solve the above-mentioned problem, M is an odd number, n is an integer, and M × 2 n- point complex number data is used as input data. It is characterized by performing fast Fourier transform on input data and outputting M × 2 n- point complex number data.

【0005】この高速フーリエ変換方法は、上記入力デ
ータに対して、所定の前処理を施した後、M個の分割さ
れた領域で2ポイント高速フーリエ変換を施すことに
より、M×2ポイントの離散フーリエ変換結果を出力
する。
[0005] This fast Fourier transform method performs a predetermined pre-process on the input data, and then performs a 2 n- point fast Fourier transform on the M divided areas to obtain M × 2 n- points. Outputs the result of discrete Fourier transform of.

【0006】また、この高速フーリエ変換方法では、上
記所定の前処理では、上記入力データのデータ分割、分
割されたデータへのMポイント離散フーリエ変換、そし
て得られたMポイント離散フーリエ変換係数の乗算を順
にそれぞれ行う。
In the fast Fourier transform method, in the predetermined preprocessing, data division of the input data, M-point discrete Fourier transform on the divided data, and multiplication of the obtained M-point discrete Fourier transform coefficient Are performed in order.

【0007】また、この高速フーリエ変換方法では、上
記分割されたデータへMポイント離散フーリエ変換を施
して離散フーリエ変換係数を求める際に、三角関数の対
称性を用いて演算量を削減する。
In the fast Fourier transform method, when the divided data is subjected to an M-point discrete Fourier transform to obtain a discrete Fourier transform coefficient, the amount of calculation is reduced by using the symmetry of the trigonometric function.

【0008】本発明に係る高速逆フーリエ変換方法は、
上記課題を解決するために、Mを奇数とし、nを整数と
してM×2ポイントの複素数データを入力データと
し、この入力データに高速逆フーリエ変換を施し、M×
ポイントの複素数データを出力することを特徴とす
る。
[0008] The fast inverse Fourier transform method according to the present invention comprises:
In order to solve the above problem, M is an odd number, n is an integer, and M × 2 n- point complex number data is input data, and the input data is subjected to a fast inverse Fourier transform to obtain M × 2
It is characterized by outputting 2 n- point complex number data.

【0009】この高速逆フーリエ変換方法は、上記入力
データに対して、所定の前処理を施した後、M個の分割
された領域で2ポイント高速逆フーリエ変換を施すこ
とにより、M×2ポイントの離散逆フーリエ変換結果
を出力する。
In this fast inverse Fourier transform method, a predetermined pre-process is performed on the input data, and then 2 n- point fast inverse Fourier transform is performed on the M divided areas, thereby obtaining an M × 2 An n- point discrete inverse Fourier transform result is output.

【0010】また、この高速逆フーリエ変換方法の上記
所定の前処理では、上記入力データのデータ分割、分割
されたデータへのMポイント離散逆フーリエ変換、そし
て得られたMポイント離散逆フーリエ変換係数の乗算を
順にそれぞれ行う。
In the above-mentioned predetermined preprocessing of the fast inverse Fourier transform method, the data division of the input data, the M-point discrete inverse Fourier transform into the divided data, and the obtained M-point discrete inverse Fourier transform coefficient Are sequentially performed.

【0011】また、この高速逆フーリエ変換方法では、
上記分割されたデータへMポイント離散逆フーリエ変換
を施して離散逆フーリエ変換係数を求める際に、三角関
数の対称性を用いて演算量を削減する。
In this fast inverse Fourier transform method,
When performing M-point discrete inverse Fourier transform on the divided data to obtain a discrete inverse Fourier transform coefficient, the amount of calculation is reduced by using the symmetry of the trigonometric function.

【0012】[0012]

【発明の実施の形態】先ず、本発明の高速フーリエ変換
方法及び高速逆フーリエ変換方法の前提となるFFTの
原理について説明する。
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS First, the principle of FFT as a premise of the fast Fourier transform method and the fast inverse Fourier transform method of the present invention will be described.

【0013】離散フーリエ変換(DFT)は、与えられ
たN個のデータx(0),x(1),・・・,x(N-1)から、
フーリエ係数X(k)を次の(1)式に示すように求める
変換である。
The discrete Fourier transform (DFT) is based on given N data x (0), x (1),..., X (N-1).
This is a transform for obtaining the Fourier coefficient X (k) as shown in the following equation (1).

【0014】[0014]

【数1】 (Equation 1)

【0015】このDFTにおいて、総データ数NがN=
に因数分解できる時は、以下の式のようにn,
kを表現できる。
In this DFT, the total number of data N is N =
When it can be factored into N 1 N 2 , n,
k can be expressed.

【0016】[0016]

【数2】 (Equation 2)

【0017】ここで、(n,k=0...N
1;n,k=0...N−1)である。このと
き、上記(1)式は以下の(2)式、(3)式のように
書き直せる。
Here, (n 1 , k 2 = 0..N 1
1; n 2 , k 1 = 0. . . A N 2 -1). At this time, the above equation (1) can be rewritten as the following equations (2) and (3).

【0018】[0018]

【数3】 (Equation 3)

【0019】さらに、次の(4)式、(5)式のように
おけば、(6)式となる。
Further, if the following equations (4) and (5) are used, equation (6) is obtained.

【0020】[0020]

【数4】 (Equation 4)

【0021】[0021]

【数5】 (Equation 5)

【0022】上記(6)式は、kを定数と見れば、N
ポイントのDFTである。すなわち、上記(4)式と
(5)式の演算を行うことで、NポイントDFTをN
ポイントDFTN個に分割できるということである。
そして、Nをさらに因数分解できれば、上記方法を繰
り返し適用することにより更に小さいポイント数のDF
Tを分割することができる。このように、FFTでは分
割法によりDFTの演算を効率的に行う。
In the above equation (6), if k 1 is regarded as a constant, N 1
It is a two- point DFT. That is, by performing the calculations of the above equations (4) and (5), the N-point DFT is calculated as N 2
It is that it can be divided into one point DFTN.
Then, if further factorized N 2, the smaller the number of points by applying repeatedly the above method DF
T can be divided. Thus, in the FFT, the DFT operation is efficiently performed by the division method.

【0023】逆変換の定義は次の(7)式であるので、
順変換と同様の方法で分割計算可能である。
Since the definition of the inverse transformation is the following equation (7),
The division calculation can be performed in the same manner as in the forward conversion.

【0024】[0024]

【数6】 (Equation 6)

【0025】次に、本発明の実施の形態となる、ポイン
ト数M×2のFFT装置について説明する。先ず、順
変換について説明する。
Next, an FFT apparatus having the number of points M × 2n , which is an embodiment of the present invention, will be described. First, the forward conversion will be described.

【0026】ポイント数N=M×2(Mは奇数)のF
FTは、上述したNへMを、NへN/M(=2
をあてはめることで、既存のポイント数N=2のFF
Tを用いて実現できる。図1は、そのフローチャートで
ある。以下の説明や図1では、配列は複素数であるもの
とし、配列の要素間の代入では実数部と虚数部が代入さ
れるものとする。例えば、x'(i)=x(i)と書けば、x
(i)の実数部と虚数部がそれぞれx'(i)の実数部と虚数
部へ代入される。また、N個の入力データはx(0),x
(1),・・・,x(N-1)のように配列xに格納されているも
のとする。
F of the number of points N = M × 2 n (M is an odd number)
FT is the M to N 1 described above, the N 2 N / M (= 2 n)
Is applied to the existing point number N = 2 n FF
This can be realized using T. FIG. 1 is a flowchart thereof. In the following description and FIG. 1, it is assumed that the array is a complex number, and that the real part and the imaginary part are substituted in the substitution between the elements of the array. For example, if x '(i) = x (i), x
The real and imaginary parts of (i) are substituted into the real and imaginary parts of x '(i), respectively. Also, N input data are x (0), x
(1),..., X (N−1) are stored in the array x.

【0027】以下、図1に沿ってポイント数M×2
FFT方法の説明を行う。先ず、ステップS1にてi=
0としてから、ステップS2にてM個のデータをx'(j)
(0≦j<M)に取り出す。次に、ステップS3では上
記ステップS2で取り出したデータに上記(4)式の演
算、すなわちMポイントDFTを施す。つまり、次の
(8)式の計算を行う。
The FFT method with the number of points M × 2n will be described below with reference to FIG. First, in step S1, i =
Then, in step S2, the M pieces of data are converted to x ′ (j).
(0 ≦ j <M). Next, in step S3, the data obtained in step S2 is subjected to the calculation of the above equation (4), that is, the M-point DFT. That is, the following equation (8) is calculated.

【0028】[0028]

【数7】 (Equation 7)

【0029】この(8)式の計算は、後述する手順で行
うことにより、高速化ができる。つづいてステップS4
では、得られたy(k)とひねり係数w(i,k)の積をとり
(上記(5)式の演算)、結果をy(k)に格納する。ひ
ねり係数w(i,k)は次の(9)式で定義される値であ
る。
The calculation of the equation (8) can be performed at high speed by performing the procedure described later. Next, step S4
Then, the product of the obtained y (k) and the twist coefficient w (i, k) is calculated (calculation of the above equation (5)), and the result is stored in y (k). The twist coefficient w (i, k) is a value defined by the following equation (9).

【0030】[0030]

【数8】 (Equation 8)

【0031】ひねり係数w(i,k)はk=0のとき1となる
ため、この演算は1≦k≦M−1の範囲で行えばよい。
Since the twist coefficient w (i, k) becomes 1 when k = 0, this operation may be performed in the range of 1 ≦ k ≦ M−1.

【0032】ステップS5ではy(k)の値をもとのデー
タが入っていた配列xに上書きする。上書きせずに、別
の配列を用意してそこに格納してもよい。
In step S5, the value of y (k) is overwritten on the array x containing the original data. Instead of overwriting, another array may be prepared and stored there.

【0033】図2は、図1のステップS1〜ステップS
5の演算を模式的に表したものである。配列xからN/
MおきにデータをM個取り出して、DFTとひねり係数
の積の演算を施し、結果をもとに配列に戻している。こ
の演算をステップS6及びステップS7を介してN/M
回繰り返し、全ての入力データに対して行う。
FIG. 2 shows steps S1 to S in FIG.
5 is a schematic representation of the operation of FIG. From array x to N /
M pieces of data are taken out at every M, an operation of the product of the DFT and the twist coefficient is performed, and the result is returned to the array based on the result. This calculation is performed by N / M through steps S6 and S7.
Repeat for all input data.

【0034】次に、上記(6)式の演算を通常のFFT
で行えばよい。そこで、ステップS8の後、ステップS
9ではN/M(=2)ポイントのFFTを0≦k<M
について行っている。このFFTを施した結果を元の配
列に戻したとすると配列xに求めるべき値が得られてい
るのだが、データがある位置と実際の配列のインデック
スとの関係は図3のようになっているため、図1のステ
ップS10及びS11の後、ステップS12で以下のよ
うにして並べ替えを行う。
Next, the operation of the above equation (6) is performed by a normal FFT
It should be done in. Then, after step S8, step S8
9, the FFT of N / M (= 2 n ) points is defined as 0 ≦ k <M
About going. If the result of this FFT is returned to the original array, the value to be obtained for the array x is obtained. The relationship between the position where data is present and the index of the actual array is as shown in FIG. Therefore, after steps S10 and S11 in FIG. 1, rearrangement is performed in step S12 as follows.

【0035】[0035]

【数9】 (Equation 9)

【0036】この配列X(k)(0≦k<N)に、x(i)の
離散フーリエ係数が得られる。
In this array X (k) (0 ≦ k <N), discrete Fourier coefficients of x (i) are obtained.

【0037】次に、逆変換について説明する。逆変換は
図1において、2のDFTを次の式に示すIDFTとす
る。
Next, the inverse transformation will be described. In the inverse transform, the DFT of 2 is an IDFT shown in the following equation in FIG.

【0038】[0038]

【数10】 (Equation 10)

【0039】また、図1のステップS4でw(i,k)を次
の式に示すようにする。
In step S4 of FIG. 1, w (i, k) is set as shown in the following equation.

【0040】[0040]

【数11】 [Equation 11]

【0041】そして、図1のステップS9のFFTをI
FFTとすることにより、順変換と同じ手順で計算でき
る。
Then, the FFT of step S9 in FIG.
By using the FFT, the calculation can be performed in the same procedure as the forward transform.

【0042】次に、高速MポイントDFTについて説明
する。
Next, the high-speed M-point DFT will be described.

【0043】[0043]

【数12】 (Equation 12)

【0044】上記式で示したM(Mは奇数)ポイントD
FTは、三角関数の対称性を利用することにより、高速
に計算可能である。複素数x(n)(0≦n≦M−1)
を、次の式のようにおくと、y(k)は次の(10)式と
なる。
M (M is an odd number) point D shown in the above equation
The FT can be calculated at high speed by using the symmetry of the trigonometric function. Complex number x (n) (0 ≦ n ≦ M−1)
Is given by the following equation, y (k) becomes the following equation (10).

【0045】[0045]

【数13】 (Equation 13)

【0046】[0046]

【数14】 [Equation 14]

【0047】ここで、上記(10)式の各項を、以下の
(11)、(12)、(13)、(14)式とする。
Here, the terms of the above equation (10) are expressed by the following equations (11), (12), (13) and (14).

【0048】[0048]

【数15】 (Equation 15)

【0049】[0049]

【数16】 (Equation 16)

【0050】[0050]

【数17】 [Equation 17]

【0051】[0051]

【数18】 (Equation 18)

【0052】すると、上記(10)式は、次の(15)
式となる。
Then, the above equation (10) becomes the following equation (15)
It becomes an expression.

【0053】[0053]

【数19】 [Equation 19]

【0054】また、1≦n≦M−1において、次の式が
成り立つ。
Further, the following equation holds when 1 ≦ n ≦ M−1.

【0055】[0055]

【数20】 (Equation 20)

【0056】このため、上記(11)式〜(14)式
は、以下の(16)、(17)、(18)、(19)式
のようにして計算することで、演算量を削減できる。
Therefore, the above equations (11) to (14) are calculated as in the following equations (16), (17), (18) and (19), so that the amount of calculation can be reduced. .

【0057】[0057]

【数21】 (Equation 21)

【0058】[0058]

【数22】 (Equation 22)

【0059】[0059]

【数23】 (Equation 23)

【0060】[0060]

【数24】 (Equation 24)

【0061】一方、1≦k≦(M−1)/2のkについ
ては次の(20)式が成立する。
On the other hand, for k of 1 ≦ k ≦ (M−1) / 2, the following equation (20) holds.

【0062】[0062]

【数25】 (Equation 25)

【0063】上記(15)式と(20)式を比較すれば
明かなように、y(k)を、Y(k)、Y(k)、Y(k)、
(k)を部分計算してから求めることにより、その部
分計算を用いて加減算の演算のみからy(M−k)を求
めることができる。また、k=0のときは、以下の式が
成り立つ。
As is clear from comparison between the above equations (15) and (20), y (k) is represented by Y 1 (k), Y 2 (k), Y 3 (k),
By calculating Y 4 (k) after performing partial calculation, y (M−k) can be obtained only from addition / subtraction operations using the partial calculation. When k = 0, the following equation is established.

【0064】[0064]

【数26】 (Equation 26)

【0065】この式から加算だけで計算可能なのが分か
る。
It can be seen from this equation that the calculation can be performed only by addition.

【0066】以上より、MポイントDFTの高速計算
は、以下の図4のフローチャートに示すようにまとめら
れることがわかる。
From the above, it can be understood that the high-speed calculation of the M-point DFT can be summarized as shown in the flowchart of FIG.

【0067】先ず、y(0)=x(0)+x(1)...x(M-
1)を計算する。次に、以下の(a)(b)を、1≦k
≦(M-1)/2のkについて繰り返す。ここで、(a)は
(16)式〜(19)式に従って、Y(k)、Y(k)、
(k)、Y(k)を求めるものであり、(b)は(a)
で求めた値を用いて、(15)と(20)式に従い、y
(k)とy(M-k)を求めるものである。
First, y (0) = x (0) + x (1). . . x (M-
1) Calculate. Next, the following (a) and (b) are expressed as 1 ≦ k
Repeat for k of ≤ (M-1) / 2. Here, (a) represents Y 1 (k), Y 2 (k), and Y 1 (k) in accordance with equations (16) to (19).
Y 3 (k) and Y 4 (k) are obtained, and (b) is (a)
Using the value obtained in step (15) and (20), y
(k) and y (Mk).

【0068】同様に、次の式で示すIFFTについて
も、上記の高速計算法は適用できる。
Similarly, the above high-speed calculation method can be applied to the IFFT expressed by the following equation.

【0069】[0069]

【数27】 [Equation 27]

【0070】そして、y(n)=y(n)+jy(n)と
し、1≦k≦(M−1)/2において、以下の(2
1)、(22)、(23)、(24)、(25)、(2
6)とおく。
Then, assuming that y (n) = y r (n) + ji i (n) and 1 ≦ k ≦ (M−1) / 2, the following (2)
1), (22), (23), (24), (25), (2)
6)

【0071】[0071]

【数28】 [Equation 28]

【0072】[0072]

【数29】 (Equation 29)

【0073】[0073]

【数30】 [Equation 30]

【0074】[0074]

【数31】 (Equation 31)

【0075】[0075]

【数32】 (Equation 32)

【0076】[0076]

【数33】 [Equation 33]

【0077】そして、先ず、x〜(0)=y(0)+y
(1)...y(M-1)を計算する。次に、1≦k≦(M-1)/2
のkについて、(21)式〜(24)式に従って、X
(k)、X(k)、X(k)、X(k)を求め、(15)式と
(20)式にしたがって、x〜(k)とx〜(M-k)を求め
る。以上により、IFFTの計算ができる。
First, x〜 (0) = y (0) + y
(1). . . Calculate y (M-1). Next, 1 ≦ k ≦ (M-1) / 2
For k of X 1, according to the equations (21) to (24), X 1
(k), X 2 (k), X 3 (k), and X 4 (k) are obtained, and x〜 (k) and x〜 (Mk) are obtained according to the equations (15) and (20). As described above, the IFFT can be calculated.

【0078】次に、演算量について説明する。一般に実
数加減算と実数乗算の演算コストは、計算機のアーキテ
クチュに依存するものだが、演算量の見積もりを単純化
するため、それらの演算コストが全て1であるとする。
さらに、複素数の加減算の演算コストを実数加減算2回
分(合計2)とし、複素数乗算の演算コストを実数乗算
4回と実数加減算2回分(合計6)であるとする。
Next, the calculation amount will be described. In general, the operation costs of real number addition / subtraction and real number multiplication depend on the architecture of a computer, but it is assumed that all the operation costs are 1 in order to simplify the estimation of the operation amount.
Further, it is assumed that the operation cost of addition and subtraction of a complex number is two real number additions and subtractions (total 2), and the operation cost of complex number multiplication is four times of real number multiplication and two times of real number addition and subtraction (total 6).

【0079】ここで、上記の演算コストの考え方から、
上述した高速MポイントDFTの演算量について説明す
る。高速MポイントDFTの演算量CDFT(M)を、
上記図4に沿って求める。
Here, from the concept of the above calculation cost,
The calculation amount of the high-speed M-point DFT will be described. The calculation amount C DFT (M) of the high-speed M-point DFT is
It is determined according to FIG.

【0080】先ず、図4のステップS11でk=0とし
てからステップS12において、M−1回の複素数加減
算を行う。次に、ステップS13でk+1してから、ス
テップS14にて、(M−1)/2×(4M−6)回の
実数加減算と、(M−1)/2×(2M−1)回の実数
乗算を行う。そして、ステップS15にて、(M−1)
/2×4回の実数加減算を行う。以上の処理をステップ
S16にてk<(M-1)/2でなくなるまで繰り返す。
First, after setting k = 0 in step S11 in FIG. 4, in step S12, M-1 complex number additions and subtractions are performed. Next, after adding k + 1 in step S13, in step S14, (M−1) / 2 × (4M−6) real number additions and subtractions and (M−1) / 2 × (2M−1) times are performed. Perform real number multiplication. Then, in step S15, (M-1)
Perform real number addition / subtraction twice / four times. The above processing is repeated until k <(M−1) / 2 is not satisfied in step S16.

【0081】したがって、高速MポイントDFTの演算
量CDFT(M)は、次の式のように求められる。
Therefore, the computation amount C DFT (M) of the high-speed M-point DFT can be obtained by the following equation.

【0082】[0082]

【数34】 (Equation 34)

【0083】次に、M×2ポイントFFTの演算量に
ついて説明する。FFTとIFFTでは、演算量は変わ
らないため、以下ではFFTの演算量についてのみ考え
る。
Next, the calculation amount of the M × 2 n- point FFT will be described. Since the calculation amount does not change between FFT and IFFT, only the calculation amount of FFT will be considered below.

【0084】先ず、N=2ポイントFFTを基数2で
行った場合の演算量CFFT(N)を求める。N=2
ポイントFFTでは、ひねり係数との積をとるのに、N
/2・log(N)回の複素数乗算、バタフライ演算に
N・log(N)回の複素数加算の演算を行うため、C
FFT(N)は次の式により求められる
First, a calculation amount C FFT (N) when the N = 2 n- point FFT is performed in the radix-2 is obtained. N = 2 n
In the point FFT, the product with the twist coefficient is N
/ 2 · log 2 (N) complex number multiplications and N · log 2 (N) complex number additions for the butterfly operation, C
FFT (N) is obtained by the following equation.

【0085】[0085]

【数35】 (Equation 35)

【0086】続いて、N=M×2ポイントのFFTを
本発明の方法で行う場合の演算量C'FFT(N)を求
める。演算量を図1に沿って求めると、先ず、図1のス
テップS3において、DFTをN/M回行うため、N/
M×C DFT(M)の演算量を求める。次に図1のステ
ップS4において、N/M×(M−1)回の複素数乗算
を行うので、6×N/M×(M−1)の演算量を求め
る。そして、図1のステップS9において、N/Mポイ
ントFFTをM回行うので、M×CFFT(N/M)の
演算量を求める。すると、次の式が得られる。
Subsequently, N = M × 2nPoint FFT
Calculation amount C ′ when performed by the method of the present inventionFFT(N)
Confuse. When the amount of calculation is determined along FIG.
In step S3, since DFT is performed N / M times, N / M
M × C DFTThe calculation amount of (M) is obtained. Next, FIG.
In step S4, N / M × (M−1) complex number multiplications
Therefore, the calculation amount of 6 × N / M × (M−1) is obtained.
You. Then, in step S9 in FIG.
Since the FFT is performed M times, M × CFFT(N / M)
Find the amount of computation. Then, the following equation is obtained.

【0087】[0087]

【数36】 [Equation 36]

【0088】したがって、本発明のFFTにおいても、
MがNより十分小さければ、ほぼNlog(N)のオー
ダーの演算量で済むことが分かる。
Therefore, in the FFT of the present invention,
It can be seen that if M is sufficiently smaller than N, the calculation amount on the order of N log 2 (N) is sufficient.

【0089】例えば、本発明のFFTとDFTの演算量
を比較すると、例えばN=5×2(=2560)のと
き、CDFT(2560)/C'FFT(2560)=208であ
り、DFTの場合と比較して、約200倍の速度で計算
を実行できる。
For example, comparing the operation amounts of the FFT and the DFT of the present invention, when N = 5 × 2 9 (= 2560), for example, C DFT (2560) / C ′ FFT (2560) = 208, and DFT The calculation can be performed about 200 times faster than in the case of.

【0090】また、本発明のFFTと従来の2を基数と
するFFTの演算量を比較するために、演算量の増加率
を、次の式のように定義することができる。
Further, in order to compare the amount of operation between the FFT of the present invention and the conventional FFT using the radix of 2, the rate of increase in the amount of operation can be defined as in the following equation.

【0091】[0091]

【数37】 (37)

【0092】実際には、2のべき乗でない値Nに基数2
のFFTの演算量の関数CFFT(N)を適用すること
はできないが、比較の目安を得るため、このようにして
いる。以下は、いくつかのNとMの組み合わせにおけ
る、RFFT(N,M)の値である。
In practice, the value N which is not a power of 2 is a radix 2
Although the function C FFT (N) of the FFT operation amount cannot be applied, this is used in order to obtain a reference for comparison. The following are the values of R FFT (N, M) for some N and M combinations.

【0093】[0093]

【表1】 [Table 1]

【0094】上記表より、Mが極端に大きくならなけれ
ば、数十%の増加ですむことが分かる。
From the above table, it can be seen that if M does not become extremely large, an increase of several tens of percent is sufficient.

【0095】[0095]

【発明の効果】従来の装置では不可能であった、N=M
×2n(Mは奇数)ポイントのFFTが可能となる。ま
た、高速化されたFFTの装置がある場合に、その装置
を活用することで、全く新規に装置を作る場合に比べて
開発コストも小さく抑えることができる。
According to the present invention, N = M, which is impossible with the conventional device.
FFT of × 2n points (M is an odd number) becomes possible. In addition, if there is an FFT device with a high speed, by utilizing the device, the development cost can be reduced as compared with a case where a completely new device is manufactured.

【図面の簡単な説明】[Brief description of the drawings]

【図1】ポイント数N=M×2(Mは奇数)のFFT
を実現するためのフローチャートである。
FIG. 1 is an FFT of the number of points N = M × 2 n (M is an odd number)
It is a flowchart for realizing.

【図2】上記図1に示したフローチャートの演算を模式
的に表した図である。
FIG. 2 is a diagram schematically showing an operation of the flowchart shown in FIG. 1;

【図3】配列のデータの位置と適切なインデックス位置
との関係を示す図である。
FIG. 3 is a diagram illustrating a relationship between a position of array data and an appropriate index position.

【図4】DFTの高速計算のフローチャートである。FIG. 4 is a flowchart of high-speed calculation of DFT.

【符号の説明】[Explanation of symbols]

S2 配列xからM個のデータを取り出す処理、S3
M個のデータにDFTを施す処理、S4 DFT係数に
ひねり係数を乗算する処理、S5 S4で得られた結果
を配列xに上書きする処理
S2: a process of extracting M data from the array x, S3
DFT processing for M data, S4 DFT coefficient multiplication by a twist coefficient, S5 Processing to overwrite the result obtained in S4 on array x

───────────────────────────────────────────────────── フロントページの続き (72)発明者 西口 正之 東京都品川区北品川6丁目7番35号 ソニ ー株式会社内 Fターム(参考) 5B056 AA02 BB13 CC03 DD04  ────────────────────────────────────────────────── ─── Continued on the front page (72) Inventor Masayuki Nishiguchi 6-35 Kita Shinagawa, Shinagawa-ku, Tokyo Sony Corporation F-term (reference) 5B056 AA02 BB13 CC03 DD04

Claims (10)

【特許請求の範囲】[Claims] 【請求項1】 Mを奇数、nを整数とするときにM×2
ポイントの複素数データを入力データとし、この入力
データに高速フーリエ変換を施し、M×2ポイントの
複素数データを出力することを特徴とする高速フーリエ
変換方法。
1. When M is an odd number and n is an integer, M × 2
The complex number data for n points as input data, performs a fast Fourier transform on the input data, Fast Fourier transform method and outputting the complex data of the M × 2 n points.
【請求項2】 上記入力データに対して、所定の前処理
を施した後、M個に分割された領域で2ポイント高速
フーリエ変換を施すことにより、M×2ポイントの離
散フーリエ変換結果を出力することを特徴とする請求項
1記載の高速フーリエ変換方法。
2. Performing a predetermined pre-process on the input data, and then performing a 2 n- point fast Fourier transform on the M-divided region to obtain an M × 2 n- point discrete Fourier transform result 2. The fast Fourier transform method according to claim 1, wherein
【請求項3】 上記所定の前処理は、上記入力データの
データ分割、分割されたデータへのMポイント離散フー
リエ変換、そして得られたMポイント離散フーリエ変換
係数への所定の係数の乗算を順にそれぞれ行うことを特
徴とする請求項2記載の高速フーリエ変換方法。
3. The predetermined preprocessing includes, in order, data division of the input data, M-point discrete Fourier transform into the divided data, and multiplication of the obtained M-point discrete Fourier transform coefficients by a predetermined coefficient. 3. The fast Fourier transform method according to claim 2, wherein each method is performed.
【請求項4】 上記所定の前処理は、配列xを構成する
Nポイントを奇数Mで分割したN/M毎にMポイントの
データを取り出し、このMポイントのデータに離散フー
リエ変換を施し、得られたMポイント離散フーリエ変換
係数にひねり係数を乗算し、その乗算結果を上記配列x
に戻すことを特徴とする請求項3記載の高速フーリエ変
換方法。
4. The predetermined preprocessing includes extracting data of M points for each N / M obtained by dividing N points constituting an array x by an odd number M, performing a discrete Fourier transform on the data of the M points, and The M-point discrete Fourier transform coefficient is multiplied by a twist coefficient, and the multiplication result is represented by the array x
4. The fast Fourier transform method according to claim 3, wherein
【請求項5】 上記所定の前処理は、上記分割されたデ
ータへMポイント離散フーリエ変換を施して離散フーリ
エ変換係数を求める際に、三角関数の対称性を用いて演
算量を削減することを特徴とする請求項3記載の高速フ
ーリエ変換方法。
5. The method according to claim 1, wherein the predetermined preprocessing is to reduce an operation amount by using a symmetry of a trigonometric function when performing M-point discrete Fourier transform on the divided data to obtain a discrete Fourier transform coefficient. 4. The fast Fourier transform method according to claim 3, wherein:
【請求項6】 Mを奇数、nを整数とするときにM×2
ポイントの複素数データを入力データとし、この入力
データに高速逆フーリエ変換を施し、M×2ポイント
の複素数データを出力することを特徴とする高速逆フー
リエ変換方法。
6. When M is an odd number and n is an integer, M × 2
A fast inverse Fourier transform method, characterized in that n- point complex number data is used as input data, the input data is subjected to fast inverse Fourier transform, and M × 2 n- point complex number data is output.
【請求項7】 上記入力データに対して、所定の前処理
を施した後、M個の分割された領域で2ポイント高速
逆フーリエ変換を施すことにより、M×2ポイントの
離散逆フーリエ変換結果を出力することを特徴とする請
求項6記載の高速逆フーリエ変換方法。
7. After performing predetermined pre-processing on the input data, a discrete inverse Fourier transform of M × 2 n points is performed by performing a 2 n- point fast inverse Fourier transform on the M divided regions. 7. The fast inverse Fourier transform method according to claim 6, wherein a conversion result is output.
【請求項8】 上記所定の前処理は、上記入力データの
データ分割、分割されたデータへのMポイント離散逆フ
ーリエ変換、そして得られたMポイント離散逆フーリエ
変換係数への所定の係数の乗算を順にそれぞれ行うこと
を特徴とする請求項7記載の高速逆フーリエ変換方法。
8. The predetermined pre-processing includes data division of the input data, M-point discrete inverse Fourier transform to the divided data, and multiplication of the obtained M-point discrete inverse Fourier transform coefficient by a predetermined coefficient. 8. The fast inverse Fourier transform method according to claim 7, wherein
【請求項9】 上記所定の前処理は、配列xを構成する
Nポイントを奇数Mで分割したN/M毎にMポイントの
データを取り出し、このMポイントのデータに離散逆フ
ーリエ変換を施し、得られたMポイント逆離散フーリエ
変換係数にひねり係数を乗算し、その乗算結果を上記配
列xに戻すことを特徴とする請求項8記載の高速逆フー
リエ変換方法。
9. The predetermined preprocessing includes extracting M-point data for each N / M obtained by dividing N points constituting an array x by an odd number M, and performing a discrete inverse Fourier transform on the M-point data; 9. The fast inverse Fourier transform method according to claim 8, wherein the obtained M-point inverse discrete Fourier transform coefficient is multiplied by a twist coefficient, and the multiplication result is returned to the array x.
【請求項10】 上記所定の前処理は、上記分割された
データへMポイント離散逆フーリエ変換を施して離散逆
フーリエ変換係数を求める際に、三角関数の対称性を用
いて演算量を削減することを特徴とする請求項8記載の
高速逆フーリエ変換方法。
10. The predetermined pre-processing reduces an operation amount by using the symmetry of a trigonometric function when performing M-point discrete inverse Fourier transform on the divided data to obtain a discrete inverse Fourier transform coefficient. 9. The fast inverse Fourier transform method according to claim 8, wherein:
JP2000369002A 2000-07-31 2000-12-04 Fast fourier transform method and fast inverse fourier transform method Pending JP2002117016A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2000369002A JP2002117016A (en) 2000-07-31 2000-12-04 Fast fourier transform method and fast inverse fourier transform method

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2000232469 2000-07-31
JP2000-232469 2000-07-31
JP2000369002A JP2002117016A (en) 2000-07-31 2000-12-04 Fast fourier transform method and fast inverse fourier transform method

Publications (1)

Publication Number Publication Date
JP2002117016A true JP2002117016A (en) 2002-04-19

Family

ID=26597122

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000369002A Pending JP2002117016A (en) 2000-07-31 2000-12-04 Fast fourier transform method and fast inverse fourier transform method

Country Status (1)

Country Link
JP (1) JP2002117016A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020152826A1 (en) * 2019-01-24 2020-07-30 三菱電機株式会社 Fourier transform device and fourier transform method

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020152826A1 (en) * 2019-01-24 2020-07-30 三菱電機株式会社 Fourier transform device and fourier transform method
JPWO2020152826A1 (en) * 2019-01-24 2021-03-18 三菱電機株式会社 Fourier transform device and Fourier transform method
JP7003299B2 (en) 2019-01-24 2022-01-20 三菱電機株式会社 Fourier transform device and Fourier transform method

Similar Documents

Publication Publication Date Title
Kolba et al. A prime factor FFT algorithm using high-speed convolution
US6366936B1 (en) Pipelined fast fourier transform (FFT) processor having convergent block floating point (CBFP) algorithm
US4821224A (en) Method and apparatus for processing multi-dimensional data to obtain a Fourier transform
JPH07236143A (en) High-speed digital signal decoding method
US20010032227A1 (en) Butterfly-processing element for efficient fast fourier transform method and apparatus
KR20060061796A (en) Record radix-2 pipeline FFT processor
WO2023045516A1 (en) Fft execution method, apparatus and device
US4646256A (en) Computer and method for the discrete bracewell transform
US6993547B2 (en) Address generator for fast fourier transform processor
US7437394B2 (en) Merge and split discrete cosine block transform method
Harvey et al. Faster integer and polynomial multiplication using cyclotomic coefficient rings
Buijs et al. Implementation of a fast Fourier transform (FFT) for image processing applications
KR102376492B1 (en) Fast Fourier transform device and method using real valued as input
JP3129392B2 (en) Two-dimensional IDCT circuit
US20050278405A1 (en) Fourier transform processor
JPH03100771A (en) Array processing method
JP2002117016A (en) Fast fourier transform method and fast inverse fourier transform method
EP1538533A2 (en) Improved FFT/IFFT processor
US20180373676A1 (en) Apparatus and Methods of Providing an Efficient Radix-R Fast Fourier Transform
US7555509B2 (en) Parallel fast Fourier transformation method of concealed-communication type
Hua et al. A novel unified method for the fast computation of discrete image moments on grayscale images
Thomas et al. A natively real-valued FFT algorithm
US7099908B2 (en) Merge and split generalized block transform method
US6859816B2 (en) Fast Fourier transform method and inverse fast Fourier transform method
JP3709291B2 (en) Fast complex Fourier transform method and apparatus

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070302

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20080807

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080819

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20081017

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20090127