JP2008052504A - Discrete fourier transform device and discrete fourier inverse transform device - Google Patents
Discrete fourier transform device and discrete fourier inverse transform device Download PDFInfo
- Publication number
- JP2008052504A JP2008052504A JP2006228055A JP2006228055A JP2008052504A JP 2008052504 A JP2008052504 A JP 2008052504A JP 2006228055 A JP2006228055 A JP 2006228055A JP 2006228055 A JP2006228055 A JP 2006228055A JP 2008052504 A JP2008052504 A JP 2008052504A
- Authority
- JP
- Japan
- Prior art keywords
- data
- input data
- calculation
- storage means
- unit
- 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.)
- Withdrawn
Links
Images
Abstract
Description
本発明は、無線通信等におけるに離散フーリエ変換の回路規模を削減した離散フーリエ変換装置および離散フーリエ逆変換装置に関する。 The present invention relates to a discrete Fourier transform apparatus and a discrete Fourier inverse transform apparatus that reduce the circuit scale of discrete Fourier transform in wireless communication or the like.
従来から、時間軸上の離散信号を周波数軸上の離散信号に変換する方法として、離散フーリエ変換(以下DFTと称す:Discrete Fourier Transform)演算を効率よく行う高速フーリエ変換(以下FFTと称す:Fast Fourier Transform)が用いられる。FFTは、N=2G個(Gは正の整数)の時間軸上のデータをN個の周波数軸上のデータに変換する。 Conventionally, as a method of converting a discrete signal on a time axis into a discrete signal on a frequency axis, a fast Fourier transform (hereinafter referred to as FFT) that efficiently performs a discrete Fourier transform (hereinafter referred to as DFT: Discrete Fourier Transform) operation. (Fourier Transform) is used. The FFT converts N = 2 G pieces of data (G is a positive integer) on the time axis into data on N frequency axes.
FFT演算を行うデータ数(上記Nの値)が大きくなると、FFT演算の回路規模が大きくなり演算による遅延時間が増加する。この対策として、2つの入力データ列の記憶手段を備え、1つの記憶手段に記憶した入力データをFFT演算している間に、もう一方の記憶手段に次の入力データ列を記憶し、交互に入力手段を切り替えて入力データを1つのFFT演算手段で連続した演算を行う。またFFT演算結果の対象性を利用して、共通のFFT演算結果の部分データを同一の記憶手段に記憶することにより、FFT演算結果の記憶容量を削減する方法がある(特許文献1)。 When the number of data to be subjected to FFT calculation (the value of N above) increases, the circuit scale of the FFT calculation increases and the delay time due to the calculation increases. As a countermeasure, two input data string storage units are provided, and while the input data stored in one storage unit is subjected to an FFT operation, the next input data string is stored in the other storage unit and alternately. The input means is switched and input data is continuously calculated by one FFT operation means. Further, there is a method of reducing the storage capacity of the FFT calculation result by storing the partial data of the common FFT calculation result in the same storage means by using the objectivity of the FFT calculation result (Patent Document 1).
また、また2G個以外のデータ数に対しては、DFTの基本に基づき順次変換する方法がある。 In addition, for the number of data other than 2G, there is a method of sequentially converting based on the DFT basics.
また、周波数軸上の離散信号を時間軸上の離散信号に変換する方法として、離散フーリエ逆変換(以下IDFTと称す:Inverse Discrete Fourier Transform)演算を効率よく行う高速フーリエ逆変換(以下IFFTと称す:Inverse Fast Fourier Transform)が用いられる。IFFTは、N=2G個(Gは正の整数)の周波数軸上のデータをN個の時間軸上のデータに変換する。
先に説明したFFT演算によるDFTは、時間軸上のデータ数Nが2G個(Gは正の整数)の場合には適用できるが、2G個以外の場合は使えない。 The DFT based on the FFT operation described above can be applied when the number of data N on the time axis is 2 G (G is a positive integer), but cannot be used when the number of data is other than 2 G.
また、DFTの基本に基づき順次変換する方法における課題を次に説明する。 Further, problems in the method of sequentially converting based on the basics of DFT will be described.
N個(Nは正の整数)の時間軸上のデータのn番目のデータ値x(n)を、N個の周波数軸上のデータのk番目のデータ値X(k)に変換するDFTの基本式を(1)式に示す。 A DFT that converts the nth data value x (n) of data on N time axes (N is a positive integer) to the kth data value X (k) of data on N frequency axes. The basic formula is shown in Formula (1).
ただし、n=0、1、2、・・・、(N−1)、k=0、1、2、・・・、(N−1)である。
However, n = 0, 1, 2,..., (N−1), k = 0, 1, 2,.
またWは、複素平面の単位円をN等分した−2π/Nの角度回転を与える因子で、回転因子と呼ばれ(2)式で表わされる。 W is a factor that gives an angular rotation of −2π / N that is obtained by dividing a unit circle of the complex plane into N equal parts, and is called a twiddle factor and is expressed by the equation (2).
以下、Wのm乗(mは、0、1、2、・・・(N−1))をWmと記し、Wmは角度が(−2π/N)×m回転する回転因子を表す。
(2)式の関係により、Wmは複素数である。
(1)式をマトリクスで表すと(3)式となる。
Hereinafter, W to the m-th power (m is 0, 1, 2,... (N−1)) is denoted as W m, and W m represents a twiddle factor that rotates the angle by (−2π / N) × m. .
(2) W m is a complex number due to the relationship of the equation.
When the expression (1) is expressed in a matrix, the expression (3) is obtained.
データ数N=7個の場合について(Nが2Gでは表されない数)、従来方法によるDFT演算を説明する。
In the case of the number of data N = 7 (N is a number not represented by 2G ), the DFT operation by the conventional method will be described.
(3)式はN=7の場合、(4)式となる。 Equation (3) becomes Equation (4) when N = 7.
なお、(4)式右辺回転因子マトリクスの第3行の第5列の回転因子はW8とすべきであるが、回転因子W8は角度が(−2π/7)×8=−2π−(2π/7)×1でW1と同値であるからW1で表現し、同様に第6列の回転因子W10はW3と同値であり、第7列の回転因子W12はW5と同値であるからそれぞれW3とW5で表現する。
Incidentally, (4) and the right side twiddle factors in the third row fifth column of the twiddle factor matrix should be between W 8, the rotation factor W 8 is angle (-2π / 7) × 8 = -2π- (2 [pi / 7) in × 1 represented by W 1 and W 1 because it is equivalent, similarly sixth column rotation factor W 10 of a W 3 equivalent to the rotation factor W 12 of the seventh column W 5 Are represented by W 3 and W 5 respectively.
以下同様にして、(4)式右辺の回転因子マトリクスの第4行、第5行、第6行、第7行についてもすべてW0〜W6の回転因子で表現される。 Similarly, the fourth, fifth, sixth, and seventh rows of the twiddle factor matrix on the right side of the equation (4) are all expressed by the twiddle factors W 0 to W 6 .
また、(4)式の右辺第2項の入力データ列、x0、x1、・・・、x6は時間軸上のサンプル値で実数であるが、右辺第1項のWのマトリクスの各要素Wmは、(2)式の関係により複素数であるから、(4)式右辺の積と加算の演算は複素数の演算となる。 In addition, the input data string in the second term on the right side of equation (4), x 0 , x 1 ,..., X 6 is a sample value on the time axis and is a real number. Since each element W m is a complex number due to the relationship of equation (2), the product and addition operations on the right side of equation (4) are complex number operations.
従来方法によるDFT演算方法の具体例を説明する。 A specific example of a conventional DFT calculation method will be described.
図1に、従来技術により(4)式の演算を行うDFT演算装置の構成例を示す。 FIG. 1 shows a configuration example of a DFT arithmetic unit that performs the arithmetic operation of the equation (4) according to the conventional technique.
図1において、101はDFT演算装置、102は回転因子格納メモリ、103は回転因子選択処理A部、104は回転因子選択処理B部、105は入力データ格納レジスタ部、106は複素乗算A部、107は複素乗算B部、108は複素加算A部、109は複素加算B部、110は出力データ格納レジスタ部、111は制御部をそれぞれ示す。
In FIG. 1, 101 is a DFT arithmetic unit, 102 is a twiddle factor storage memory, 103 is a twiddle factor selection processing A section, 104 is a twiddle factor selection processing B section, 105 is an input data storage register section, 106 is a complex multiplication A section,
図2に従来技術による7個のデータのDFTを(4)式により演算するタイムチャートを示す。 FIG. 2 shows a time chart for calculating the DFT of seven data according to the prior art by the equation (4).
図2において、D201は入力クロック、D202は入力データ列、D203は演算1回目の回転因子処理A部のデータ列、D204は演算1回目の回転因子処理B部のデータ列、D205は演算1回目の複素乗算Aのデータ列および、複素加算Aの演算と演算結果の出力X0、D206は演算1回目の複素乗算Bのデータ列および、複素加算Bの演算と演算結果の出力X1、D207は演算2回目の回転因子処理A部のデータ列、D208は演算2回目の回転因子処理B部のデータ列、D209は演算2回目の複素乗算Aのデータ列および、複素加算Aの演算と演算結果の出力X2、D210は演算2回目の複素乗算Bのデータ列および、複素加算Bの演算と演算結果の出力X3、D211は演算3回目の回転因子処理A部のデータ列、D212は演算3回目の回転因子処理B部のデータ列、D213は演算3回目の複素乗算Aのデータ列および、複素加算Aの演算と演算結果の出力X4、D214は演算3回目の複素乗算Bのデータ列および、複素加算Bの演算と演算結果の出力X5、D215は演算4回目の回転因子処理A部のデータ列、D216は演算4回目の複素乗算Aのデータ列および、複素加算Aの演算と演算結果の出力X6をそれぞれ示す。 In FIG. 2, D201 is an input clock, D202 is an input data string, D203 is a data string of the twiddle factor process A part for the first calculation, D204 is a data string of the twiddle factor process B part for the first calculation, and D205 is the first calculation. data string of complex multiplication a and the output X 0 of the operation and the operation result of complex addition a, D206 data column of arithmetic first complex multiplication B and output X 1 of the operation and the operation result of complex addition B, D207 Is the data string of the twiddle factor process A part of the second calculation, D208 is the data string of the twiddle factor process B part of the second calculation, D209 is the data string of the second complex multiplication A and the calculation and calculation of the complex addition A the resulting output X 2, D210 data column of arithmetic second complex multiplication B and, calculation and calculation result of the output X 3 complex additions B, D211 arithmetic third rotation factor treatment a portion of the data , D 212 is operational third rotation factor treatment B of the data sequence, D213 is data string of operations third complex multiplication A and the calculation and the calculation result of complex additions A output X 4, D 214 are operational third complex Data string of multiplication B, calculation X of complex addition B and output X 5 and D 215 are data strings of the twiddle factor processing A part for the fourth calculation, D 216 are data string of complex multiplication A for the fourth calculation and complex shows the output X 6 of the operation and the arithmetic result of the addition a, respectively.
図2のDFTタイムチャートを中心に図1の構成図を参照しながら、従来技術によるDFT演算を説明する。 The DFT operation according to the prior art will be described with reference to the configuration diagram of FIG. 1 focusing on the DFT time chart of FIG.
DFT演算装置101に入力した時間軸上サンプルの入力データ列D202のx0、x1、・・・、x6は、入力データ格納レジスタ部105に一時記憶される。時間軸上サンプルの入力データ列D202と組みになって入力したクロックD201は、制御部111を介してDFT演算装置101内の各部に分配される。
X 0 , x 1 ,..., X 6 of the input data string D 202 of the time-axis samples input to the DFT
入力データ格納レジスタ部105に一時記憶された入力データ列は、クロックD201に同期して順次読み出されD202となり、(4)式右辺第2項の各要素x0、x1、・・・、x6を形成する。
The input data string temporarily stored in the input data
DFT演算1回目として、(4)式における左辺1行目の要素X0の演算を、回転因子選択処理A部103、複素演算A部106、複素加算A部108により行い、左辺2行目の要素X1の演算を、回転因子選択処理B部104、複素演算B部107、複素加算B部109により行い、X0とX1の2個を同時並列に演算する。
As the first DFT operation, the calculation of the element X 0 in the first row on the left side in the equation (4) is performed by the twiddle factor selection
X0を求めるDFT演算に対しては、回転因子選択処理A部103は、(4)式右辺第1項Wマトリックスの1行目を生成するため、回転因子格納メモリ102に記憶されたW0のアドレスを指定して読み出しD203とする。複素乗算A部106において、入力データ格納レジスタ部105に一時記憶された入力データ列D202のx0、x1、・・・、x6と、D203の各項との複素乗算をクロックD201に従い順次行い、乗算結果の7個の項D205は複素加算A部108において複素加算されX0が得られ、出力データ格納レジスタ部110に格納される。
For DFT calculation for obtaining the X 0, the rotation factor
X1を求めるDFT演算に対しては、回転因子選択処理B部104は、(4)式右辺第1項Wマトリックスの2行目を生成するため、回転因子格納メモリ102に記憶されたW0、W1、W2、・・W6のアドレスをクロックD201に従い順次指定して読み出し、7個のデータ列D204を得る。
For DFT calculation for obtaining the X 1, twiddle factor selection processing B 104 (4) for generating a right second line of the first term W matrix, stored in a twiddle
複素乗算B部107において、前記入力データ列D202のx0、x1、・・・、x6の各項とD204の各項との複素乗算をクロックD201に従い順次行い、乗算結果の7個の項D206は複素加算B部109において複素加算されX1が得られ、出力データ格納レジスタ部110に格納される。
In the complex
次に演算2回目として、(4)式における左辺3行目の要素X2の演算を、回転因子選択処理A部、複素演算A部、複素加算A部により行い、左辺4行目の要素X3の演算を、回転因子選択処理B部、複素演算B部、複素加算B部により行い、X2とX3の2個を同時並列に演算する。 Next, as the second calculation, the calculation of the element X2 in the third row on the left side in the equation (4) is performed by the twiddle factor selection processing A unit, the complex calculation A unit, and the complex addition A unit. 3 is performed by the twiddle factor selection processing unit B, complex operation unit B, and complex addition unit B, and two of X 2 and X 3 are calculated simultaneously in parallel.
X2を求めるDFT演算に対しては、回転因子選択処理A部103は、(4)式右辺第1項Wマトリックスの3行目を生成するため、回転因子格納メモリ102に記憶されたW0、W2、W4、・・W5のアドレスをクロックD201に従い順次指定して読み出し、7個のデータ列D207を得る。
For DFT calculation for obtaining the X 2, the rotation factor
複素乗算A部106において、前記入力データ列D202のx0、x1、・・・、x6の各項とD207の各項との複素乗算をクロックD201に従い順次行い、乗算結果の7個の項D209は複素加算A部108において複素加算されX2が得られ、出力データ格納レジスタ部110に格納される。
In the complex
X3を求めるDFT演算に対しては、回転因子選択処理B部104は、(4)式右辺第1項Wマトリックスの4行目を生成するため、回転因子格納メモリ102に記憶されたW0、W3、W6、・・W4のアドレスをクロックD201に従い順次指定して読み出し、7個のデータ列D208を得る。
For DFT calculation for obtaining the X 3, twiddle factor selection processing B 104 (4) to generate the right-
複素乗算B部107において、前記入力データ列D202のx0、x1、・・・、x6の各項とD208の各項との複素乗算をクロックD201に従い順次行い、乗算結果の7個の項D210は複素加算B部109において複素加算されX1が得られ、出力データ格納レジスタ部110に格納される。
In the complex
以下同様にして、DFT演算3回目ではX4とX5が並列演算され、演算4回目では残りのX6が演算され、出力データ格納レジスタ部110に格納される。
Similarly, X 4 and X 5 are calculated in parallel in the third DFT calculation, and the remaining X 6 is calculated in the fourth calculation and stored in the output data
出力データ格納レジスタ部110に格納されたDFT演算結果は、データ列X0、X1、X2、X3、X4、X5、X6の格納が終了すると、1系列の周波数軸上データ列として配列され外部へ出力される。
The DFT operation result stored in the output data
制御部111は、入力したクロックを各部に分配し、各部に動作開始時刻を指示し、各部における動作終了時刻の通知を受け、DFT演算装置101全体の制御を行う。
The
本方法は、2つの演算を同時に並列に行うので、DFT演算速度が速くなる利点があるが、回転因子マトリクスの並べ替えは、回転因子マトリクスの行すべてに亘って行う必要がある。回転因子マトリクスの行数はデータ数Nに等しいから、Nが増加すると回転因子選択処理A部103および回転因子選択処理B部104の配線数が増加するため、回路間の配線が込み合い、さらに配線長により処理時間が増加するという問題点がある。
Since this method performs two operations simultaneously in parallel, there is an advantage that the DFT operation speed is increased. However, the rearrangement of the twiddle factor matrix needs to be performed over all rows of the twiddle factor matrix. Since the number of rows in the twiddle factor matrix is equal to the number of data N, the number of wirings in the twiddle factor selection
また、周波数軸上の離散信号X0、X1、・・・、XN−1を、時間軸上の離散信号x0、x1、・・・、xN−1に変換する離散フーリエ逆変換(IDFT)においては、回転因子の逆数のマトリクスの行すべてに亘って行う必要があり、回路間の配線が込み合い、さらに配線長により処理時間が増加するという問題点がある。 Further, the discrete signals X 0, X 1 on the frequency axis, ..., inverse discrete Fourier the X N-1, to convert the time discrete signal x 0, x 1 on the shaft, ..., to the x N-1 The conversion (IDFT) needs to be performed over all rows of the reciprocal matrix of the twiddle factor, and there is a problem that the wiring between the circuits is crowded and the processing time increases due to the wiring length.
従って本発明の目的の1つは、変換演算量を削減し演算回路を簡素化した離散フーリエ変換装置および離散フーリエ逆変換装置を提供することである。 Accordingly, one of the objects of the present invention is to provide a discrete Fourier transform device and a discrete Fourier inverse transform device that reduce the amount of transform computation and simplify the computation circuit.
尚、上記目的に限らず、後述する発明を実施するための最良の形態に示す各構成により導かれる結果であって従来の技術によっては得られない効果も、本発明の他の目的の1つとして位置付けることが出来る。 The present invention is not limited to the above-described object, and the effects derived from the respective configurations shown in the best mode for carrying out the invention to be described later and which cannot be obtained by conventional techniques are another object of the present invention. Can be positioned as
(1)本発明では、N個(Nは正の整数)の入力データを記憶する第1の記憶手段と、N個の回転因子を記憶する第2の記憶手段と、前記第1の記憶手段から順番に読み出されたN個の入力データの各々と、前記第2の記憶手段から所定の順番で読み出されたN個の回転因子データの各々との積および、前記積の加算を行う第1の演算手段と、前記第1の記憶手段のN個の入力データに対し、第2番目から第N番目までの順番を逆に並べ替える並べ替え手段と、前記並べ替え手段から順番に読み出されたN個の入力データの各々と、前記第2の記憶手段から所定の順番で読み出されたN個の回転因子データの各々との積および、前記積の加算を行う第2の演算手段と、前記第1の演算手段と前記第2の演算手段で得られたデータとを記憶する第3の記憶手段と、前記第1および第2の演算手段の演算を並列に複数回動作させ、前記第3の記憶手段に記憶したデータ数がN個に達すると該N個のデータを所定の順番に配置して出力させる制御手段とを備えたことを特徴とする離散フーリエ変換装置を用いる。
(2)また、前記第1と第2の演算手段は、前記回転因子データとして離散フーリエ変換のN行N列から成る回転因子マトリクスにおける第1行を用いる時は、第1列から第N列までを順番に読み出し前記第1または第2の演算手段の一方で演算を行い、前記入力データ数N個が奇数の場合、前記回転因子マトリクスにおける第2行から第(N−1)/2+1行を用いる時は、それぞれ第1列から第N列までを順番に読み出し前記第1と第2の演算手段による演算に共通に用いて演算を行い、前記入力データ数N個が偶数の場合、前記回転因子マトリクスにおける第2行から第(N/2)行を用いる時は、それぞれ第1列から第N列までを順番に読み出し前記第1と第2の演算手段による演算に共通に用いて演算を行い、第(N/2)+1行を用いる時は第1列から第N列までを読み出し前記第1または第2の演算手段の一方で演算を行うことを特徴とする請求項1記載の離散フーリエ変換装置を用いる。
(3)本発明では、N個(Nは正の整数)の入力データを記憶する第1の記憶手段と、N個の回転因子を記憶する第2の記憶手段と、前記第1の記憶手段から順番に読み出されたN個の入力データの各々と、前記第2の記憶手段から所定の順番で読み出されたN個の回転因子の逆数のデータの各々との積および、前記積の加算を行う第1の演算手段と、前記第1の記憶手段のN個の入力データに対し、第2番目から第N番目までの順番を逆に並べ替える並べ替え手段と、前記並べ替え手段から順番に読み出されたN個の入力データの各々と、前記第2の記憶手段から所定の順番で読み出されたN個の回転因子の逆数のデータの各々との積および、前記積の加算を行う第2の演算手段と、前記第1の演算手段と前記第2の演算手段で得られたデータとを1/N倍して記憶する第3の記憶手段と、前記第1および第2の演算手段の演算を並列に複数回動作させ、前記第3の記憶手段に記憶したデータ数がN個に達すると該N個のデータを所定の順番に配置して出力させる制御手段と
を備えたことを特徴とする離散フーリエ逆変換装置を用いる。
(1) In the present invention, first storage means for storing N (N is a positive integer) input data, second storage means for storing N twiddle factors, and the first storage means The product of each of the N pieces of input data read out in sequence from each of the N pieces of twiddle factor data read out in a predetermined order from the second storage means, and the addition of the products A first calculating unit, a rearranging unit for rearranging the N-th input data of the first storage unit in reverse order from the second to the Nth, and reading in order from the rearranging unit; A product of each of the N input data that has been output and each of the N pieces of twiddle factor data read in a predetermined order from the second storage means, and a second operation for adding the products Means and data obtained by the first computing means and the second computing means are stored. When the number of data stored in the third storage unit reaches N, the
(2) When the first and second calculation means use the first row in a twiddle factor matrix composed of N rows and N columns of discrete Fourier transform as the twiddle factor data, the first to Nth columns. Are sequentially read out and one of the first or second calculation means performs the calculation, and when the number of input data N is an odd number, the second row to the (N−1) / 2 + 1th row in the twiddle factor matrix When the number of input data N is an even number, the first column to the Nth column are sequentially read and used in common for the calculation by the first and second calculation means. When using the second row to the (N / 2) th row in the twiddle factor matrix, the first column to the Nth column are sequentially read and used in common for the calculation by the first and second calculation means. To (N / 2) +1 line It uses a discrete Fourier transform apparatus of
(3) In the present invention, first storage means for storing N (N is a positive integer) input data, second storage means for storing N twiddle factors, and the first storage means Each of the N pieces of input data read in order from the second storage means and each of the reciprocal data of the N twiddle factors read out from the second storage means in a predetermined order, and A first computing means for performing addition, a rearranging means for rearranging the N input data of the first storage means in reverse order from the second to the Nth, and the rearranging means The product of each of the N input data read in order and the data of the reciprocal of the N twiddle factors read in a predetermined order from the second storage means, and the addition of the products A second arithmetic means for performing the processing, the data obtained by the first arithmetic means and the second arithmetic means. The third storage means for storing the data by multiplying by 1 / N and the operations of the first and second calculation means in parallel multiple times, and the number of data stored in the third storage means is N A discrete Fourier inverse transform device characterized by comprising control means for arranging and outputting the N pieces of data in a predetermined order when the number reaches the number is used.
好ましくは、前記第1と第2の演算手段は、前記回転因子の逆数のデータとして離散フーリエ変換のN行N列から成る回転因子の逆数のマトリクスにおける第1行を用いる時は、第1列から第N列までを順番に読み出し前記第1または第2の演算手段の一方で演算を行い、前記入力データ数N個が奇数の場合、前記回転因子の逆数のマトリクスにおける第2行から第(N−1)/2+1行を用いる時は、それぞれ第1列から第N列までを順番に読み出し前記第1と第2の演算手段による演算に共通に用いて演算を行い、前記入力データ数N個が偶数の場合、前記回転因子の逆数のマトリクスにおける第2行から第(N/2)行を用いる時は、それぞれ第1列から第N列までを順番に読み出し前記第1と第2の演算手段による演算に共通に用いて演算を行い、第(N/2)+1行を用いる時は第1列から第N列までを読み出し前記第1または第2の演算手段の一方で演算を行う、ことを特徴とする請求項3記載の離散フーリエ逆変換装置を用いる。 Preferably, when the first and second calculation means use the first row in the matrix of reciprocals of twiddle factors composed of N rows and N columns of discrete Fourier transform as the reciprocal data of the twiddle factors, the first column To the Nth column in order, one of the first or second calculation means performs the calculation, and when the number of input data N is an odd number, the second row in the matrix of the reciprocal number of the twiddle factor ( When (N-1) / 2 + 1 rows are used, the first column to the Nth column are sequentially read and used in common for the calculations by the first and second calculation means, and the number of input data N When the number is even, when the second to (N / 2) th rows are used in the reciprocal matrix of the twiddle factors, the first and second columns are sequentially read out from the first column to the Nth column, respectively. Commonly used for calculation by calculation means 4. An operation is performed, and when the (N / 2) + 1th row is used, the first to Nth columns are read and the operation is performed by one of the first or second operation means. The discrete Fourier inverse transform device described is used.
本発明により、DFT演算量を削減しDFT演算回路を簡素化したDFT演算装置とIDFT演算装置を提供することが出来る。 According to the present invention, it is possible to provide a DFT arithmetic device and an IDFT arithmetic device in which the DFT arithmetic amount is reduced and the DFT arithmetic circuit is simplified.
以下、図面を参照することにより本発明の実施の形態について説明する。
(実施例1)
実施例1では、入力データ列の時間軸上サンプル数が7個の場合についてDFT演算を行う。
Hereinafter, embodiments of the present invention will be described with reference to the drawings.
(Example 1)
In the first embodiment, the DFT operation is performed when the number of samples on the time axis of the input data string is seven.
実施例1に関し、図3にDFT演算装置構成、図4に回転因子格納メモリテーブル、図5に入力データ並べ替え処理部の動作、図6にDFT演算タイムチャートをそれぞれ示す。 FIG. 3 shows the configuration of the DFT operation apparatus, FIG. 4 shows the twiddle factor storage memory table, FIG. 5 shows the operation of the input data rearrangement processing unit, and FIG. 6 shows the DFT operation time chart.
図3において、301はDFT演算装置、302は回転因子格納メモリ、303は回転因子選択処理部、304は入力データ格納レジスタ部、305は入力データ並べ替え処理部、306は複素乗算A部、307は複素乗算B部、308は複素加算A部、309は複素加算B部、310は出力データ格納レジスタ部、311は制御部をそれぞれ示す。 3, 301 is a DFT arithmetic unit, 302 is a twiddle factor storage memory, 303 is a twiddle factor selection processing unit, 304 is an input data storage register unit, 305 is an input data rearrangement processing unit, 306 is a complex multiplication A unit, 307 Is a complex multiplication B section, 308 is a complex addition A section, 309 is a complex addition B section, 310 is an output data storage register section, and 311 is a control section.
図4において、D401は回転因子格納テーブルのアドレス番号、D402は回転因子データをそれぞれ示す。 In FIG. 4, D401 indicates an address number of the twiddle factor storage table, and D402 indicates twiddle factor data.
図5において、D501は入力データ格納レジスタ部の入力データ順序、D502は入力データ並べ替え処理部出力の入力データ順序をそれぞれ示す。 In FIG. 5, D501 indicates the input data order of the input data storage register unit, and D502 indicates the input data order of the input data rearrangement processing unit output.
図6において、D601は入力クロック、D602は入力データ列、D603は入力データ列が並べ替えされたデータ列、D604は演算1回目の回転因子処理部のデータ列、D605は演算1回目の複素乗算Aのデータ列および、複素加算Aの演算と演算結果の出力X0、D606は演算2回目の回転因子処理部のデータ列、D607は演算2回目の複素乗算Aのデータ列および、複素加算Aの演算と演算結果の出力X1、D608は演算2回目の複素乗算Bのデータ列および、複素加算Bの演算と演算結果の出力X6、D609は演算3回目の回転因子処理部のデータ列、D610は演算3回目の複素乗算Aのデータ列および、複素加算Aの演算と演算結果の出力X2、D611は演算3回目の複素乗算Bのデータ列および、複素加算Bの演算と演算結果の出力X5、D612は演算4回目の回転因子処理部のデータ列、D613は演算4回目の複素乗算Aのデータ列および、複素加算Aの演算と演算結果の出力X3、D614は演算4回目の複素乗算Bのデータ列および、複素加算Bの演算と演算結果の出力X4をそれぞれ示す。 In FIG. 6, D601 is an input clock, D602 is an input data string, D603 is a data string in which the input data string is rearranged, D604 is a data string of a twiddle factor processing unit for the first calculation, and D605 is a complex multiplication for the first calculation. A data string of A, and calculation output of the complex addition A and the output X 0 , D 606 are the data string of the second twiddle factor processing unit, D 607 are the data string of the second complex multiplication A and the complex addition A data sequence and outputs X 6 of the operation and the operation result of complex addition B, D609 data row of rotating factor treatment of operational third operation as a result of the operation output X 1, D608 arithmetic second complex multiplication B of , D610 is data string of operations third complex multiplication a and output X 2, D611 calculation and calculation result of complex additions a data sequence of operations third complex multiplication B and complex Calculation output X 5 of the operation with the operation result of B, D612 arithmetic fourth rotation factor processing unit of the data sequence, D613 is data string of calculation fourth complex multiplication A and the calculation and the calculation result of complex additions A output X 3 and D 614 respectively indicate the data string of the complex multiplication B for the fourth calculation, and the output X 4 of the calculation of the complex addition B and the calculation result.
本発明は、DFTの基本を示す(4)式において、回転因子Wマトリクスの第2行は第2〜第7列の列順を逆に入れ替えると第7行に等しくなり、回転因子Wマトリクスの第3行は第2〜第7列の列順を逆に入れ替えると第6行に等しくなり、回転因子Wマトリクスの第4行は第2〜第7列の列順を逆に入れ替えると第5行に等しくなる性質を利用する。 In the formula (4) showing the basics of DFT, the second row of the twiddle factor W matrix becomes equal to the seventh row by reversing the column order of the second to seventh columns. The third row is equal to the sixth row when the column order of the second to seventh columns is reversed, and the fourth row of the twiddle factor W matrix is fifth when the column order of the second to seventh columns is reversed. Take advantage of the property of being equal to a row.
前記の性質を利用して、本実施例1では入力データ列D602のx0、x1、x2、x3、x4、x5、x6をそのままの並びで、Wマトリクスの第2行D606のW0、W1、W2、W3、W4、W5、W6との積・加算を演算し出力X1を求める系列と、入力データ列の2項目以降の列順の並び替えを図5により行い、D602のx0、x6、x5、x4、x3、x2、x1と、前記と同じWマトリクスの第2行D606の、W0、W1、W2、W3、W4、W5、W6を共通に使い、積・加算演算しX6を求める系列とを並列動作させる。 In the first embodiment, x 0 , x 1 , x 2 , x 3 , x 4 , x 5 , x 6 of the input data string D602 are arranged as they are in the first embodiment, and the second row of the W matrix is utilized. D606 calculates a product / addition of W 0 , W 1 , W 2 , W 3 , W 4 , W 5 , and W 6 to obtain an output X 1 , and an arrangement of the column order after the second item of the input data string The change is made according to FIG. 5, and x 0 , x 6 , x 5 , x 4 , x 3 , x 2 , x 1 of D 602, and W 0 , W 1 , W 1 of the second row D 606 of the same W matrix as described above. 2 , W 3 , W 4 , W 5 , W 6 are used in common, and a product / addition operation and a sequence for obtaining X 6 are operated in parallel.
同様にして出力X2と出力X5は、Wマトリクスの第3行D609のW0、W2、W4、W6、W1、W3、W5を共通に使い、積・加算演算する系列の並列動作で演算できる。 Similarly, the output X 2 and the output X 5 use the W 0 , W 2 , W 4 , W 6 , W 1 , W 3 , and W 5 of the third row D609 of the W matrix in common, and perform a product / addition operation. It can be calculated by parallel operation of series.
同様にして出力X3と出力X4は、Wマトリクスの第4行D612のW0、W3、W6、W2、W5、W1、W4を共通に使い、積・加算演算する系列の並列動作で演算できる。 Similarly, the output X 3 and the output X 4 use the W 0 , W 3 , W 6 , W 2 , W 5 , W 1 , W 4 in the fourth row D 612 of the W matrix in common, and perform product / addition operations. It can be calculated by parallel operation of series.
また、(4)式の右辺第2項の入力データ列、x0、x1、・・・、x6は時間軸上のサンプル値で実数であるが、右辺第1項のWマトリクスの各要素Wmは、(2)式の関係により複素数であるから、右辺の積と加算の演算は複素数の演算となる。 The input data string in the second term on the right side of equation (4), x 0 , x 1 ,..., X 6 are sample values on the time axis and are real numbers. Since the element W m is a complex number due to the relationship of the expression (2), the product of the right-hand side and the addition operation are complex number operations.
図6のDFTタイムチャートを中心に、図3、図4、図5、図6を参照しながら実施例1のDFT演算を説明する。 The DFT operation of the first embodiment will be described with reference to FIGS. 3, 4, 5, and 6, focusing on the DFT time chart of FIG.
DFT演算装置301に入力した時間軸上サンプルデータ列x0、x1、・・・、x6は、入力データ格納レジスタ部304にD602として一時記憶される。時間軸上サンプルデータと組みになって入力したクロックD601は、制御部311を介してDFT演算装置301内の各部に分配される。
The time-axis sample data strings x 0 , x 1 ,..., X 6 input to the DFT
入力データ格納レジスタ部304に一時記憶された入力データ列D602は、クロックD601に同期して順次読み出され、(4)式右辺第2項の各要素x0、x1、・・・、x6を形成する。
The input data string D602 temporarily stored in the input data
DFT演算1回目として、(4)式における左辺1行目のW0に対しては、行の6列すべてが同じW0である行が他に無いので、Wマトリクス第1行のみを用い、回転因子選択処理部303、複素演算A部306、複素加算A部308によりX0のDFT演算を行う。
As the first DFT operation, for W 0 in the first row on the left side in equation (4), there are no other rows in which all six columns are the same W 0 , so only the first row of the W matrix is used. The twiddle factor
X0を求めるDFT演算に対しては、回転因子選択処理部303は、(4)式右辺第1項Wマトリックスの第1行を生成するため、回転因子格納メモリ102に記憶されたW0のアドレスを指定して読み出しD604とする。複素乗算A部306において、入力データ格納レジスタ部304に一時記憶された入力データ列D602の各項x0、x1、・・・、x6とD604の各項との複素乗算をクロックD601に従い順次行い、乗算結果の7個の項D605は複素加算A部308において複素加算されてX0が得られ、出力データ格納レジスタ部310に格納される。
For DFT calculation for obtaining the X 0, the rotation factor
次に演算2回目として、(4)式のWマトリクスの2行目を共通に使い、(4)式左辺第2行X1と第6行のX6のDFT演算を同時並列に行う。 Next, as the operation second, (4) W uses the second row of the matrix to a common, (4) performing the left side second row X 1 and the DFT calculation of X 6 in the sixth row simultaneously in parallel.
X1を求めるDFT演算に対しては、回転因子選択処理部303は、(4)式右辺第1項Wマトリックスの2行目を生成するため、回転因子格納メモリ302に記憶されたW0、W1、W2、・・W6のアドレスをクロックD601に従い順次指定して読み出し、Wの7個のデータ列D606を得る。複素乗算A部306において、前記入力データ列D602の各項と、D606のWの各項との複素乗算をクロックD601に従い順次行い、乗算結果の7個の項D607は複素加算A部306において複素加算されてX1が得られ、出力データ格納レジスタ部310に格納される。
For DFT calculation for obtaining the X 1, twiddle factor
X6を求めるDFT演算に対しては、回転因子選択処理部303は、前記X1の演算時と同じWの7個のデータ列D606を共通に用いる。
For DFT calculation for obtaining the X 6, the rotation
X6を求めるDFT演算は、(4)式右辺のWマトリクスの7行目と、xマトリクスの1列目の積であるが、Wマトリクスの7行目は2行目の2列目以降の列順を前後入れ替えたものである。 DFT calculation for obtaining the X 6 is (4) and line 7 W matrix equation right side is a first column of the product of x matrix, line 7 W matrix after the second column of the second row The column order is reversed.
それゆえ、X6を求めるDFT演算は、Wマトリクスの2行目と、xマトリクスの2行目以降の行順を図5により上下入れ替えたものとの各要素の積および加算に等しくなる。 Hence, DFT operation for obtaining the X 6 is a second row of W matrix is equal to the product and the addition of each element of those interchanged up and down by 5 the second and subsequent rows of the row order of x matrix.
前記入力データ列D602の各項、x0、x1、・・・、x6は、入力並べ替え処理部305において、D602の2列目以降の列順が前後入れ替わり入力データ列D603のx0、x6、x5、・・・、x1、となる。
Each term of the input data string D602, x 0, x 1, ···,
複素乗算B部307では、D603の各項とD606の各項の複素乗算をクロックD601に従い順次行い、乗算結果の7個の項D608は複素加算B部309において複素加算されX6が得られ、出力データ格納レジスタ部110に格納される。
The
以下同様にして、DFT演算3回目ではX2とX5が並列演算され、演算4回目ではX3とX4が並列演算され、出力データ格納レジスタ部110に格納される。
In the same manner, X 2 and X 5 are calculated in parallel in the third DFT calculation, and X 3 and X 4 are calculated in parallel in the fourth calculation and stored in the output data
出力データ格納レジスタ部110に格納されたDFT演算結果は、データX0、X1、X6、X2、X5、X3、X4の格納が終了すると、X0、X1、X2、X3、X4、X5、X6の順に配列され、1系列の周波数軸上データ列として外部へ出力される。
Output data
制御部311は、入力したクロックを各部に分配し、各部に動作開始時刻を指示し、各部における動作終了時刻の通知を受け、DFT演算装置301全体の制御を行う。
The
図6に示す様に、実施例1におけるDFT演算の回転因子Wマトリクスの並べ替え回数は4回であり、図2に示す従来例における回転因子Wマトリクスの並べ替え回数7回に比べ約1/2となる。さらに実施例1における回転因子選択処理部は、従来例の2個に対し1個で構成できる特徴がある。 As shown in FIG. 6, the number of rearrangements of the twiddle factor W matrix in the DFT operation in the first embodiment is four times, which is about 1 / compared to the number of rearrangements seven times of the twiddle factor W matrix in the conventional example shown in FIG. 2. Furthermore, the twiddle factor selection processing unit according to the first embodiment has a feature that it can be configured by one for two of the conventional examples.
また、実施例1の構成図3における入力並べ替え処理部305は、従来例の構成図1には無い新しいものであるが、入力データの並べ替えは一定で固定されており、ハードウエアの固定接続で行われるので、信号処理の遅延時間は無視できるほど小さい。
(実施例2)
実施例2では、入力データ列の周波数軸上サンプル数が7個の場合について、離散フーリエ逆変換(以下IDFTと称す:Inverse Discrete Fourier Transform)の演算を行う。
Further, the input
(Example 2)
In the second embodiment, an inverse discrete Fourier transform (hereinafter referred to as IDFT: Inverse Discrete Fourier Transform) is performed for a case where the number of samples on the frequency axis of the input data sequence is seven.
実施例2におけるIDFTは、入力データ列が周波数軸上のサンプルデータ列X0、X1、・・・X6であり、出力データが時間軸上のサンプルデータ列x0、x1、・・・x6となり、実施例1に示したDFTと比べると入出力の関係が逆になる。 In the IDFT according to the second embodiment, the input data string is the sample data string X 0 , X 1 ,... X 6 on the frequency axis, and the output data is the sample data string x 0 , x 1 ,. · x 6, and the relationship between the input and output as compared with the DFT shown in example 1 is reversed.
また、IDFTにおける回転因子は、DFTの場合のWに対し逆数W−1となり、マトリクスはW−mの要素で構成されたマトリクス(以下W−1マトリクスと称す)となる。 Further, the twiddle factor in the IDFT is an inverse number W −1 with respect to W in the case of DFT, and the matrix is a matrix composed of elements of W −m (hereinafter referred to as W −1 matrix).
また、周波数軸上のサンプルデータ列X0、X1、・・・X6とW−1マトリクスのデータ列の積と加算の演算結果が、(1/N)倍され、時間軸上のデータ列x0、x1、・・・x6が得られる。Nはデータ数で実施例2ではN=7である。 Further, the product of the sample data string X 0 , X 1 ,... X 6 on the frequency axis and the data string of the W −1 matrix and the addition result are multiplied by (1 / N), and the data on the time axis The columns x 0 , x 1 ,... X 6 are obtained. N is the number of data, and N = 7 in the second embodiment.
この基本関係は、(5)式で示される。 This basic relationship is expressed by equation (5).
(5)式はマトリクスで表すとN=7の場合(6)式となる。
When the expression (5) is expressed in a matrix, the expression (6) is obtained when N = 7.
図7にIDFT演算装置構成、図8に回転因子の逆数格納メモリテーブル、図9にIDFT演算タイムチャートをそれぞれ示す。
FIG. 7 shows the configuration of the IDFT arithmetic unit, FIG. 8 shows the reciprocal storage table of the twiddle factor, and FIG.
図7において、図と同じものは同一の番号を付してある。実施例2固有のものとして、701はIDFT演算装置、702は回転因子の逆数格納メモリ、703は出力データ格納レジスタ部、704は制御部をそれぞれ示す。
In FIG. 7, the same components as those in FIG. As specific to the second embodiment,
なお、図7の入力並べ替え処理部305は、実施例1では、時間軸上の入力データ列x0、x1、・・・、x6の順序の並べ替えを図5により行ったが、実施例2では、周波数軸上の入力データ列X0、X1、・・・、X6の順序の並べ替えを同じ方法で図5により行うので説明は省略する。
The input
図8において、D801は回転因子の逆数格納テーブルのアドレス番号、D802は回転因子データをそれぞれ示す。 In FIG. 8, D801 represents the address number of the reciprocal storage table of twiddle factors, and D802 represents twiddle factor data.
図9において、D901は入力クロック、D902は入力データ列、D903は入力データ列が並べ替えされたデータ列、D904は演算1回目の回転因子処理部のデータ列、D905は演算1回目の複素乗算Aのデータ列および、複素加算Aの演算と演算結果の出力x0、D906は演算2回目の回転因子処理部のデータ列、D907は演算2回目の複素乗算Aのデータ列および、複素加算Aの演算と演算結果の出力x1、D908は演算2回目の複素乗算Bのデータ列および、複素加算Bの演算と演算結果の出力x6、D909は演算3回目の回転因子処理部のデータ列、D910は演算3回目の複素乗算Aのデータ列および、複素加算Aの演算と演算結果の出力x2、D911は演算3回目の複素乗算Bのデータ列および、複素加算Bの演算と演算結果の出力x5、D912は演算4回目の回転因子処理部のデータ列、D913は演算4回目の複素乗算Aのデータ列および、複素加算Aの演算と演算結果の出力x3、D914は演算4回目の複素乗算Bのデータ列および、複素加算Bの演算と演算結果の出力x4をそれぞれ示す。 In FIG. 9, D901 is the input clock, D902 is the input data string, D903 is the data string in which the input data string is rearranged, D904 is the data string of the first twiddle factor processing unit, and D905 is the first complex multiplication. A data string of A and the output of the complex addition A and the result x 0 , D906 are the data string of the second twiddle factor processing unit, D907 is the data string of the second complex multiplication A and the complex addition A data stream and the output x 6 in operation and the operation result of complex addition B, D 909 is the data row of rotating factor treatment of operational third operation the output x 1 of the operation result, D908 arithmetic second complex multiplication B of , D910 is data string of operations third complex multiplication a and the output x 2, D911 calculation and calculation result of complex additions a data sequence of operations third complex multiplication B and complex Calculation output x 5 of the operation with the operation result of B, D912 arithmetic fourth rotation factor processing unit of the data sequence, D913 is data string of calculation fourth complex multiplication A and the calculation and the calculation result of complex additions A output x 3 and D 914 respectively indicate the data string of the complex multiplication B for the fourth calculation, and the output x 4 of the calculation of the complex addition B and the calculation result.
本発明は、IDFTの基本を示す(6)式において、回転因子W−1マトリクスの2行目の2〜7列の列順を逆に入れ替えると7行目に等しくなり、3行目の2〜7列の列順を逆に入れ替えると6行目に等しくなり、4行目の2〜7列の列順を逆に入れ替えると5行目に等しくなる性質を利用する。 In the formula (6) showing the basics of IDFT, the present invention is equivalent to the seventh row by reversing the column order of the second row to the seventh column of the second row of the twiddle factor W −1 matrix. When the column order of ˜7 columns is reversed, the property becomes equal to the sixth row, and when the column order of the second to seventh columns of the fourth row is reversed, the property becomes equal to the fifth row.
前記の性質を利用して、実施例2では入力データ列D902のX0、X1、X2、X3、X4、X5、X6をそのままの並びで、W−1マトリクスの2行目D906のW0、W−1、W−2、W−3、W−4、W−5、W−6との積・加算を演算し出力x1を求める系列と、入力データ列の2項目以降の列順の並び替えを行い、D903のX0、X6、X5、X4、X3、X2、X1と、前記と同じW−1マトリクスの2行目D906のW0、W−1、W−2、W−3、W−4、W−5、W−6を共通に使い、積・加算演算しx6を求める系列とを並列動作させる。
In the second embodiment, X 0 , X 1 , X 2 , X 3 , X 4 , X 5 , X 6 of the input data string D902 are arranged as they are in the second embodiment, and two rows of the W −1 matrix are used. W eyes D906 0, W -1, W -2 , W -3, W -4, W -5, and sequence to obtain the output x 1 calculates the product-sum of the W -6, the
同様にして出力x2と出力x5は、W−1マトリクスの3行目W0、W−2、W−4、W−6、W−1、W−3、W−5を共通に使い、積・加算演算する系列の並列動作で演算できる。 Similarly, the output x 2 and the output x 5 commonly use the third row W 0 , W −2 , W −4 , W −6 , W −1 , W −3 , and W −5 of the W− 1 matrix. , It can be calculated by parallel operation of the series of product / addition operation.
同様にして出力x3と出力x4は、W−1マトリクスの4行目D909のW0、W−3、W−6、W−2、W−5、W−1、W−4を共通に使い、積・加算演算する系列の並列動作で演算できる。 Output x 4 and the output x 3 in the same manner, the common W -1 W 0 of the matrix of 4 row D909, W -3, W -6, W -2, W -5, W -1, W -4 It can be used for parallel operation of series of product / addition operations.
また、(6)式の右辺第2項の入力データ列、X0、X1、・・・、X6は周波数軸上のサンプル値であって振幅と位相を有する複素数であり、右辺第1項のW−1マトリクスの各要素W−mは、(2)式によるWの逆数であるから複素数であり、右辺の積と加算の演算は複素数の演算となる。 In addition, the input data string in the second term on the right side of equation (6), X 0 , X 1 ,..., X 6 are sample values on the frequency axis, which are complex numbers having amplitude and phase. Each element W -m of the term W -1 matrix is a complex number because it is the reciprocal of W according to equation (2), and the product of the right-hand side and the addition are complex numbers.
図9のDFTタイムチャートを中心に、図7、図8、図9を参照しながら実施例2のIDFT演算を説明する。 The IDFT calculation of the second embodiment will be described with reference to FIGS. 7, 8, and 9, focusing on the DFT time chart of FIG.
IDFT演算装置701に入力した周波数軸上サンプルの入力データD902のX0、X1、・・・、X6は、入力データ格納レジスタ部304に一時記憶される。時間軸上サンプルデータと組みになって入力したクロックD901は、制御部704を介してIDFT演算装置901内の各部に分配される。
X 0 , X 1 ,..., X 6 of the frequency axis sample input data D 902 input to the IDFT
入力データ格納レジスタ部304に一時記憶された入力データ列は、クロックD901に同期して順次読み出されD902となり、(6)式右辺第2項の各要素X0、X1、・・・、X6を形成する。
The input data string temporarily stored in the input data
IDFT演算1回目として、(6)式における左辺1行目のW0に対しては、行の6列すべてが同じW0である行が他に無いので、1行目のみのX0のDFT演算を行う。回転因子選択処理部303、複素演算A部306、複素加算A部308、出力データ格納レジスタ部703(1/7倍の演算含む)によりDFT演算を行う。
As IDFT computation first, (6) for the W 0 on the left side first row in the equation, since the
x0を求めるIDFT演算に対しては、回転因子選択処理部303は、(4)式右辺第1項W−1マトリックスの1行目を生成するため、回転因子格納メモリ702に記憶されたW0のアドレスを指定して読み出しD904とする。複素乗算A部306において、入力データ格納レジスタ部304に一時記憶された入力データ列D902の各項、x0、x1、・・・、x6とD904の各項との複素乗算をクロックD901に従い順次行い、乗算結果の7個の項D905は複素加算A部308において複素加算され、出力データ格納レジスタ部703で1/7倍され出力データx0として格納される。
For the IDFT calculation for obtaining x 0 , the twiddle factor
次に演算2回目として、(6)式のW−1マトリクスの2行目を共通に使い、(6)式左辺2行目x1と6行目のx6のIDFT演算を同時並列に行う。 Next, as the operation second, (6) use the W -1 second row of the matrix of commonly performed simultaneously in parallel the IDFT computation of equation (6) left side second row x 1 and 6 row x 6 .
x1を求めるIDFT演算に対しては、回転因子選択処理部303は、(4)式右辺第1項Wマトリックスの2行目を生成するため、回転因子の逆数格納メモリ702に記憶されたW0、W−1、W−2、・・W−6のアドレスをクロックD901に従い順次指定して読み出し、W−1の7個のデータ列D906を得る。複素乗算A部306において、前記入力データ列D902の各項と、D906のW−1の各項との複素乗算をクロックD901に従い順次行い、乗算結果の7個の項D907は複素加算A部306において複素加算され、出力データ格納レジスタ部703で1/7倍され出力データx1として格納される。
For IDFT calculation for obtaining the x 1, twiddle factor
x6を求めるIDFT演算に対しては、回転因子選択処理部303は、前記x1の演算時と同じW−1の7個のデータ列D906を共通に用いる。
For IDFT calculation for obtaining the x 6, the rotation
x6を求めるIDFT演算は、(6)式右辺のW−1マトリクスの7行目と、xマトリクスの1列目の積であるが、W−1マトリクスの7行目は2行目の2列目以降の列順を前後入れ替えたものである。
The IDFT calculation for obtaining x 6 is the product of the seventh row of the W −1 matrix and the first column of the x matrix on the right side of equation (6), but the seventh row of the W −1 matrix is the
それゆえ、x6を求めるDFT演算は、W−1マトリクスの2行目と、xマトリクスの2行目以降の行順を上下入れ替えたものとの各要素の積および加算に等しくなる。 Hence, DFT operation to obtain the x 6 is, W -1 and the second row of the matrix is equal to the product and the addition of each element of those interchanged up and down the second row and subsequent rows order x matrix.
前記入力データ列D902の各項、X0、X1、・・・、X6は、入力並べ替え処理部305において、D902の2列目以降の列順が前後入れ替わりデータ列D903のX0、X6、X5、・・・、X1、となる。
Each item of the input data string D902, X 0 , X 1 ,..., X 6 , in the input
複素乗算B部307では、D903の各項とD906の各項の複素乗算をクロックD901に従い順次行い、乗算結果の7個の項は複素加算B部309において複素加算され、出力データ格納レジスタ部703で1/7倍され出力データx6として格納される。
The complex
以下同様にして、DFT演算3回目ではx2とx5が並列演算され、演算4回目ではx3とx4が並列演算され、出力データ格納レジスタ部703に出力データとして格納される。
Similarly, x 2 and x 5 are calculated in parallel in the third DFT calculation, and x 3 and x 4 are calculated in parallel in the fourth calculation and stored in the output data
出力データ格納レジスタ部703に格納されたIDFT演算結果は、データx0、x1、x6、x2、x5、x3、x4の格納が終了すると、x0、x1、x2、x3、x4、x5、x6の順に配列され、1系列の時間軸上データ列として外部へ出力される。
The IDFT calculation results stored in the output data
制御部704は、入力したクロックを各部に分配し、各部に動作開始時刻を指示し、各部における動作終了時刻の通知を受け、IDFT演算装置701全体の制御を行う。
The
図9に示す様に、実施例2におけるIDFT演算の回転因子W−1マトリクスの並べ替え回数は4回であり、図2に示す従来例における回転因子Wマトリクスの並べ替え回数7回に比べ約1/2となる。さらに実施例2における回転因子選択処理部は、従来例の2個に対し1個で構成できる特徴がある。 As shown in FIG. 9, the number of rearrangements of the twiddle factor W- 1 matrix in the IDFT calculation in the second embodiment is four times, which is about the number of rearrangements of the twiddle factor W matrix in the conventional example shown in FIG. 1/2. Furthermore, the twiddle factor selection processing unit according to the second embodiment has a feature that can be configured by one for two of the conventional examples.
また、実施例2の構成図7における入力並べ替え処理部305は、従来例の構成図1には無い新しいものであるが、入力データの並べ替えは一定で固定されており、ハードウエアの固定接続で行われるので、信号処理の遅延時間は無視できるほど小さい。
(付記1)
N個(Nは正の整数)の入力データを記憶する第1の記憶手段と、
N個の回転因子を記憶する第2の記憶手段と、
前記第1の記憶手段から順番に読み出されたN個の入力データの各々と、前記第2の記憶手段から所定の順番で読み出されたN個の回転因子データの各々との積および、前記積の加算を行う第1の演算手段と、
前記第1の記憶手段のN個の入力データに対し、第2番目から第N番目までの順番を逆に並べ替える並べ替え手段と、
前記並べ替え手段から順番に読み出されたN個の入力データの各々と、前記第2の記憶手段から所定の順番で読み出されたN個の回転因子データの各々との積および、前記積の加算を行う第2の演算手段と、
前記第1の演算手段と前記第2の演算手段で得られたデータとを記憶する第3の記憶手段と、
前記第1および第2の演算手段の演算を並列に複数回動作させ、前記第3の記憶手段に記憶したデータ数がN個に達すると該N個のデータを所定の順番に配置して出力させる制御手段と、
を備えたことを特徴とする離散フーリエ変換装置。
(付記2)
前記第1と第2の演算手段は、
前記回転因子データとして離散フーリエ変換のN行N列から成る回転因子マトリクスにおける第1行を用いる時は、第1列から第N列までを順番に読み出し前記第1または第2の演算手段の一方で演算を行い、
前記入力データ数N個が奇数の場合、前記回転因子マトリクスにおける第2行から第(N−1)/2+1行を用いる時は、それぞれ第1列から第N列までを順番に読み出し前記第1と第2の演算手段による演算に共通に用いて演算を行い、
前記入力データ数N個が偶数の場合、前記回転因子マトリクスにおける第2行から第(N/2)行を用いる時は、それぞれ第1列から第N列までを順番に読み出し前記第1と第2の演算手段による演算に共通に用いて演算を行い、第(N/2)+1行を用いる時は第1列から第N列までを読み出し前記第1または第2の演算手段の一方で演算を行う、
ことを特徴とする付記1記載の離散フーリエ変換装置。
(付記3)
N個(Nは正の整数)の入力データを記憶する第1の記憶手段と、
N個の回転因子の逆数を記憶する第2の記憶手段と、
前記第1の記憶手段から順番に読み出されたN個の入力データの各々と、前記第2の記憶手段から所定の順番で読み出されたN個の回転因子の逆数のデータの各々との積および、前記積の加算を行う第1の演算手段と、
前記第1の記憶手段のN個の入力データに対し、第2番目から第N番目までの順番を逆に並べ替える並べ替え手段と、
前記並べ替え手段から順番に読み出されたN個の入力データの各々と、前記第2の記憶手段から所定の順番で読み出されたN個の回転因子の逆数のデータの各々との積および、前記積の加算を行う第2の演算手段と、
前記第1の演算手段と前記第2の演算手段で得られたデータとを1/N倍して記憶する第3の記憶手段と、
前記第1および第2の演算手段の演算を並列に複数回動作させ、前記第3の記憶手段に記憶したデータ数がN個に達すると該N個のデータを所定の順番に配置して出力させる制御手段と、
を備えたことを特徴とする離散フーリエ逆変換装置。
(付記4)
前記第1と第2の演算手段は、
前記回転因子の逆数のデータとして離散フーリエ変換のN行N列から成る回転因子の逆数のマトリクスにおける第1行を用いる時は、第1列から第N列までを順番に読み出し前記第1または第2の演算手段の一方で演算を行い、
前記入力データ数N個が奇数の場合、前記回転因子の逆数のマトリクスにおける第2行から第(N−1)/2+1行を用いる時は、それぞれ第1列から第N列までを順番に読み出し前記第1と第2の演算手段による演算に共通に用いて演算を行い、
前記入力データ数N個が偶数の場合、前記回転因子の逆数のマトリクスにおける第2行から第(N/2)行を用いる時は、それぞれ第1列から第N列までを順番に読み出し前記第1と第2の演算手段による演算に共通に用いて演算を行い、第(N/2)+1行を用いる時は第1列から第N列までを読み出し前記第1または第2の演算手段の一方で演算を行う、
ことを特徴とする付記3記載の離散フーリエ逆変換装置。
The input
(Appendix 1)
First storage means for storing N (N is a positive integer) input data;
Second storage means for storing N twiddle factors;
A product of each of the N input data sequentially read from the first storage means and each of the N twiddle factor data read in a predetermined order from the second storage means; First computing means for adding the products;
Reordering means for reversing the order from the second to the Nth order for the N input data of the first storage means;
The product of each of the N input data read out in order from the rearrangement means and each of the N pieces of twiddle factor data read out in a predetermined order from the second storage means, and the product A second computing means for adding
Third storage means for storing data obtained by the first calculation means and the second calculation means;
When the number of data stored in the third storage means reaches N pieces, the N pieces of data are arranged in a predetermined order and output. Control means for causing
A discrete Fourier transform device comprising:
(Appendix 2)
The first and second computing means are:
When the first row in the twiddle factor matrix composed of N rows and N columns of discrete Fourier transform is used as the twiddle factor data, the first column to the Nth column are read in order and one of the first or second calculation means. Perform the operation with
When the number of input data N is an odd number, when the 2nd to (N-1) / 2 + 1th rows in the twiddle factor matrix are used, the first to Nth columns are sequentially read, respectively. And the arithmetic operation using the second arithmetic means in common,
When the number of input data N is an even number, when the second to (N / 2) th rows are used in the twiddle factor matrix, the first to Nth columns are read in order, respectively. When the (N / 2) + 1th row is used, the first column to the Nth column are read, and one of the first or second calculation units is used for calculation. I do,
The discrete Fourier transform device according to
(Appendix 3)
First storage means for storing N (N is a positive integer) input data;
Second storage means for storing reciprocals of N twiddle factors;
Each of the N pieces of input data read in order from the first storage means and each of the reciprocal data of the N twiddle factors read in a predetermined order from the second storage means A first computing means for adding the product and the product;
Reordering means for reversing the order from the second to the Nth order for the N input data of the first storage means;
A product of each of the N input data read in sequence from the rearranging means and each of the reciprocal data of the N twiddle factors read in a predetermined order from the second storage means; Second calculating means for adding the products;
Third storage means for storing 1 / N times the data obtained by the first calculation means and the second calculation means;
When the number of data stored in the third storage means reaches N pieces, the N pieces of data are arranged in a predetermined order and output. Control means for causing
A discrete Fourier inverse transform device characterized by comprising:
(Appendix 4)
The first and second computing means are:
When the first row in the inverse matrix of twiddle factors consisting of N rows and N columns of the discrete Fourier transform is used as the reciprocal data of the twiddle factors, the first to Nth columns are sequentially read out from the first to Nth columns. Perform computation on one of the two computing means,
When the number of input data N is an odd number, when the 2nd to (N-1) / 2 + 1th rows in the matrix of the reciprocal number of the twiddle factor are used, the first to Nth columns are sequentially read. Performing computation using the first and second computing means in common,
When the number of input data N is an even number, when the second to (N / 2) th rows in the reciprocal matrix of the twiddle factors are used, the first to Nth columns are read in order, respectively. When the (N / 2) + 1th row is used, the first to Nth columns are read out when the (N / 2) + 1th row is used. On the other hand,
4. The discrete Fourier inverse transform device according to
101 DFT演算装置
102 回転因子格納メモリ
103 回転因子選択処理A部
104 回転因子選択処理B部
105 入力データ格納レジスタ部
106 複素乗算A部
107 複素加算A部
109 複素加算B部
110 出力データ格納レジスタ部
111 制御部
301 DFT演算装置
302 回転因子格納メモリ
303 回転因子選択処理部
304 入力データ格納レジスタ部
305 入力データ並べ替え処理部
306 複素乗算A部
307 複素乗算B部
308 は複素加算B部
310 出力データ格納レジスタ部
311 制御部
701 IDFT演算装置
702 回転因子の逆数格納メモリ
703 出力データ格納レジスタ部
704 制御部
101 DFT
Claims (3)
N個の回転因子を記憶する第2の記憶手段と、
前記第1の記憶手段から順番に読み出されたN個の入力データの各々と、前記第2の記憶手段から所定の順番で読み出されたN個の回転因子データの各々との積および、前記積の加算を行う第1の演算手段と、
前記第1の記憶手段のN個の入力データに対し、第2番目から第N番目までの順番を逆に並べ替える並べ替え手段と、
前記並べ替え手段から順番に読み出されたN個の入力データの各々と、前記第2の記憶手段から所定の順番で読み出されたN個の回転因子データの各々との積および、前記積の加算を行う第2の演算手段と、
前記第1の演算手段と前記第2の演算手段で得られたデータとを記憶する第3の記憶手段と、
前記第1および第2の演算手段の演算を並列に複数回動作させ、前記第3の記憶手段に記憶したデータ数がN個に達すると該N個のデータを所定の順番に配置して出力させる制御手段と、
を備えたことを特徴とする離散フーリエ変換装置。 First storage means for storing N (N is a positive integer) input data;
Second storage means for storing N twiddle factors;
A product of each of the N input data sequentially read from the first storage means and each of the N twiddle factor data read in a predetermined order from the second storage means; First computing means for adding the products;
Reordering means for reversing the order from the second to the Nth order for the N input data of the first storage means;
The product of each of the N input data read out in order from the rearrangement means and each of the N pieces of twiddle factor data read out in a predetermined order from the second storage means, and the product A second computing means for adding
Third storage means for storing data obtained by the first calculation means and the second calculation means;
When the number of data stored in the third storage means reaches N pieces, the N pieces of data are arranged in a predetermined order and output. Control means for causing
A discrete Fourier transform device comprising:
前記回転因子データとして離散フーリエ変換のN行N列から成る回転因子マトリクスにおける第1行を用いる時は、第1列から第N列までを順番に読み出し前記第1または第2の演算手段の一方で演算を行い、
前記入力データ数N個が奇数の場合、前記回転因子マトリクスにおける第2行から第(N−1)/2+1行を用いる時は、それぞれ第1列から第N列までを順番に読み出し前記第1と第2の演算手段による演算に共通に用いて演算を行い、
前記入力データ数N個が偶数の場合、前記回転因子マトリクスにおける第2行から第(N/2)行を用いる時は、それぞれ第1列から第N列までを順番に読み出し前記第1と第2の演算手段による演算に共通に用いて演算を行い、第(N/2)+1行を用いる時は第1列から第N列までを読み出し前記第1または第2の演算手段の一方で演算を行う、
ことを特徴とする請求項1記載の離散フーリエ変換装置。 The first and second computing means are:
When the first row in the twiddle factor matrix composed of N rows and N columns of discrete Fourier transform is used as the twiddle factor data, the first column to the Nth column are read in order and one of the first or second calculation means. Perform the operation with
When the number of input data N is an odd number, when the 2nd to (N-1) / 2 + 1th rows in the twiddle factor matrix are used, the first to Nth columns are sequentially read, respectively. And the arithmetic operation using the second arithmetic means in common,
When the number of input data N is an even number, when the second to (N / 2) th rows are used in the twiddle factor matrix, the first to Nth columns are read in order, respectively. When the (N / 2) + 1th row is used, the first column to the Nth column are read, and one of the first or second calculation units is used for calculation. I do,
The discrete Fourier transform apparatus according to claim 1.
N個の回転因子の逆数を記憶する第2の記憶手段と、
前記第1の記憶手段から順番に読み出されたN個の入力データの各々と、前記第2の記憶手段から所定の順番で読み出されたN個の回転因子の逆数のデータの各々との積および、前記積の加算を行う第1の演算手段と、
前記第1の記憶手段のN個の入力データに対し、第2番目から第N番目までの順番を逆に並べ替える並べ替え手段と、
前記並べ替え手段から順番に読み出されたN個の入力データの各々と、前記第2の記憶手段から所定の順番で読み出されたN個の回転因子の逆数のデータの各々との積および、前記積の加算を行う第2の演算手段と、
前記第1の演算手段と前記第2の演算手段で得られたデータとを1/N倍して記憶する第3の記憶手段と、
前記第1および第2の演算手段の演算を並列に複数回動作させ、前記第3の記憶手段に記憶したデータ数がN個に達すると該N個のデータを所定の順番に配置して出力させる制御手段と、
を備えたことを特徴とする離散フーリエ逆変換装置。
First storage means for storing N (N is a positive integer) input data;
Second storage means for storing reciprocals of N twiddle factors;
Each of the N pieces of input data read in order from the first storage means and each of the reciprocal data of the N twiddle factors read in a predetermined order from the second storage means A first computing means for adding the product and the product;
Reordering means for reversing the order from the second to the Nth order for the N input data of the first storage means;
A product of each of the N input data read in sequence from the rearranging means and each of the reciprocal data of the N twiddle factors read in a predetermined order from the second storage means; Second calculating means for adding the products;
Third storage means for storing 1 / N times the data obtained by the first calculation means and the second calculation means;
When the number of data stored in the third storage means reaches N pieces, the N pieces of data are arranged in a predetermined order and output. Control means for causing
A discrete Fourier inverse transform device characterized by comprising:
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006228055A JP2008052504A (en) | 2006-08-24 | 2006-08-24 | Discrete fourier transform device and discrete fourier inverse transform device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006228055A JP2008052504A (en) | 2006-08-24 | 2006-08-24 | Discrete fourier transform device and discrete fourier inverse transform device |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2008052504A true JP2008052504A (en) | 2008-03-06 |
Family
ID=39236506
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006228055A Withdrawn JP2008052504A (en) | 2006-08-24 | 2006-08-24 | Discrete fourier transform device and discrete fourier inverse transform device |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2008052504A (en) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101930425A (en) * | 2009-06-24 | 2010-12-29 | 华为技术有限公司 | Signal processing method, data processing method and device |
JP2011114368A (en) * | 2009-11-24 | 2011-06-09 | Fujitsu Ltd | Communication device and method |
JP2011120017A (en) * | 2009-12-03 | 2011-06-16 | Fujitsu Ltd | Wireless communication device and wireless communication method |
CN112100568A (en) * | 2020-06-29 | 2020-12-18 | 北京理工大学 | Fixed-point Fourier transform (FFT) processor and processing method |
-
2006
- 2006-08-24 JP JP2006228055A patent/JP2008052504A/en not_active Withdrawn
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101930425A (en) * | 2009-06-24 | 2010-12-29 | 华为技术有限公司 | Signal processing method, data processing method and device |
JP2011114368A (en) * | 2009-11-24 | 2011-06-09 | Fujitsu Ltd | Communication device and method |
JP2011120017A (en) * | 2009-12-03 | 2011-06-16 | Fujitsu Ltd | Wireless communication device and wireless communication method |
CN112100568A (en) * | 2020-06-29 | 2020-12-18 | 北京理工大学 | Fixed-point Fourier transform (FFT) processor and processing method |
CN112100568B (en) * | 2020-06-29 | 2022-11-25 | 北京理工大学 | Fixed-point Fourier transform FFT processor and processing method |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP0329023A2 (en) | Apparatus for performing digital signal processing including fast fourier transform radix-4 butterfly computations | |
JP2744526B2 (en) | Quasi-hexadecimal processor and method | |
CN109144469B (en) | Pipeline structure neural network matrix operation architecture and method | |
JP3228927B2 (en) | Processor element, processing unit, processor, and arithmetic processing method thereof | |
US4769779A (en) | Systolic complex multiplier | |
KR101222597B1 (en) | Method for reading and writing a memory, memory control method and arithmetic unit using the same | |
JP2008506191A5 (en) | ||
JPH02504682A (en) | Conversion processing circuit | |
JP6003744B2 (en) | Arithmetic processing device and arithmetic processing method | |
JP2008052504A (en) | Discrete fourier transform device and discrete fourier inverse transform device | |
CN110688616B (en) | Convolution module of stripe array based on ping-pong RAM and operation method thereof | |
JP4160564B2 (en) | Fast Fourier transform apparatus with improved processing speed and processing method thereof | |
JPS63167967A (en) | Digital signal processing integrated circuit | |
US7653676B2 (en) | Efficient mapping of FFT to a reconfigurable parallel and pipeline data flow machine | |
US9098449B2 (en) | FFT accelerator | |
JP5549442B2 (en) | FFT arithmetic unit | |
JP7435602B2 (en) | Computing equipment and computing systems | |
US11281745B2 (en) | Half-precision floating-point arrays at low overhead | |
JP2008217359A (en) | Fast fourier transform device and fast fourier transform processing method | |
US20080228845A1 (en) | Apparatus for calculating an n-point discrete fourier transform by utilizing cooley-tukey algorithm | |
JP2006527868A5 (en) | ||
RU2005139390A (en) | DIVIDING RESULTS IN DATA PROCESSING SYSTEMS WITH ONE COMMAND STREAM AND MANY DATA STREAMS | |
JP2022181161A (en) | Sparse matrix multiplication in hardware | |
TWI402695B (en) | Apparatus and method for split-radix-2/8 fast fourier transform | |
RU188978U1 (en) | UNIFIED RECONFIGURED SCHEME OF COMMUTATION OF FAST FURIET TRANSFORMATION |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Withdrawal of application because of no request for examination |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20091110 |