JP2008052504A - Discrete fourier transform device and discrete fourier inverse transform device - Google Patents

Discrete fourier transform device and discrete fourier inverse transform device Download PDF

Info

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
Application number
JP2006228055A
Other languages
Japanese (ja)
Inventor
Takayuki Sasaki
隆行 佐々木
Yoshimitsu Saito
吉光 斎藤
Junichi Oyama
淳一 大山
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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2006228055A priority Critical patent/JP2008052504A/en
Publication of JP2008052504A publication Critical patent/JP2008052504A/en
Withdrawn legal-status Critical Current

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To provide a discrete Fourier transform device and a discrete Fourier inverse transform device in which transform operation quantity is reduced and an arithmetic circuit is simplified. <P>SOLUTION: The discrete Fourier transform device is provided with: a first operation means for executing the product operation of each of N (N is a positive integer) input data and each of N rotation factors selected in prescribed order; a second operation means for adding N data obtained by the first operation means; a third operation means for executing product operation of data obtained by reversely arranging the order of data from the second data up to the N-th data out of N input data and each of the N rotation factors; a fourth operation means for adding N data obtained by the third operation means; a storage means for storing output data from the fourth operation means; and a control means for driving the first operation means up to the fourth operation means twice or more, and when the number of data stored in the storage means reaches N data, arranging the N data in the prescribed order and outputting the arranged data. <P>COPYRIGHT: (C)2008,JPO&INPIT

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=2個(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).

また、また2個以外のデータ数に対しては、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=2個(Gは正の整数)の周波数軸上のデータをN個の時間軸上のデータに変換する。
特開平6−35951号公報
As a method for converting a discrete signal on the frequency axis into a discrete signal on the time axis, a fast Fourier inverse transform (hereinafter referred to as IFFT) that efficiently performs an inverse discrete Fourier transform (hereinafter referred to as IDFT: Inverse Discrete Fourier Transform) operation. : Inverse Fast Fourier Transform). The IFFT converts N = 2 G pieces of data on the frequency axis (G is a positive integer) into N pieces of data on the time axis.
JP-A-6-35951

先に説明したFFT演算によるDFTは、時間軸上のデータ数Nが2個(Gは正の整数)の場合には適用できるが、2個以外の場合は使えない。 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).

Figure 2008052504

ただし、n=0、1、2、・・・、(N−1)、k=0、1、2、・・・、(N−1)である。
Figure 2008052504

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).

Figure 2008052504

以下、Wのm乗(mは、0、1、2、・・・(N−1))をWと記し、Wは角度が(−2π/N)×m回転する回転因子を表す。
(2)式の関係により、Wは複素数である。
(1)式をマトリクスで表すと(3)式となる。
Figure 2008052504

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.

Figure 2008052504

データ数N=7個の場合について(Nが2では表されない数)、従来方法によるDFT演算を説明する。
Figure 2008052504

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.

Figure 2008052504

なお、(4)式右辺回転因子マトリクスの第3行の第5列の回転因子はWとすべきであるが、回転因子Wは角度が(−2π/7)×8=−2π−(2π/7)×1でWと同値であるからWで表現し、同様に第6列の回転因子W10はWと同値であり、第7列の回転因子W12はWと同値であるからそれぞれWとWで表現する。
Figure 2008052504

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行についてもすべてW〜Wの回転因子で表現される。 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項の入力データ列、x、x、・・・、xは時間軸上のサンプル値で実数であるが、右辺第1項のWのマトリクスの各要素Wは、(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, Reference numeral 107 denotes a complex multiplication B section, 108 denotes a complex addition A section, 109 denotes a complex addition B section, 110 denotes an output data storage register section, and 111 denotes a control 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の演算と演算結果の出力X、D206は演算1回目の複素乗算Bのデータ列および、複素加算Bの演算と演算結果の出力X、D207は演算2回目の回転因子処理A部のデータ列、D208は演算2回目の回転因子処理B部のデータ列、D209は演算2回目の複素乗算Aのデータ列および、複素加算Aの演算と演算結果の出力X、D210は演算2回目の複素乗算Bのデータ列および、複素加算Bの演算と演算結果の出力X、D211は演算3回目の回転因子処理A部のデータ列、D212は演算3回目の回転因子処理B部のデータ列、D213は演算3回目の複素乗算Aのデータ列および、複素加算Aの演算と演算結果の出力X、D214は演算3回目の複素乗算Bのデータ列および、複素加算Bの演算と演算結果の出力X、D215は演算4回目の回転因子処理A部のデータ列、D216は演算4回目の複素乗算Aのデータ列および、複素加算Aの演算と演算結果の出力Xをそれぞれ示す。 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のx、x、・・・、xは、入力データ格納レジスタ部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 arithmetic unit 101 are temporarily stored in the input data storage register unit 105. The clock D201 input in combination with the input data string D202 of the time-axis sample is distributed to each unit in the DFT arithmetic unit 101 via the control unit 111.

入力データ格納レジスタ部105に一時記憶された入力データ列は、クロックD201に同期して順次読み出されD202となり、(4)式右辺第2項の各要素x、x、・・・、xを形成する。 The input data string temporarily stored in the input data storage register unit 105 is sequentially read out in synchronization with the clock D201 to become D202, and each element x 0 , x 1 ,. to form a x 6.

DFT演算1回目として、(4)式における左辺1行目の要素Xの演算を、回転因子選択処理A部103、複素演算A部106、複素加算A部108により行い、左辺2行目の要素Xの演算を、回転因子選択処理B部104、複素演算B部107、複素加算B部109により行い、XとXの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 processing A unit 103, the complex operation A unit 106, and the complex addition A unit 108. the operation of the elements X 1, twiddle factor selection processing unit B 104, the complex operation B 107 performs the complex adder B 109 calculates two X 0 and X 1 simultaneously in parallel.

を求めるDFT演算に対しては、回転因子選択処理A部103は、(4)式右辺第1項Wマトリックスの1行目を生成するため、回転因子格納メモリ102に記憶されたWのアドレスを指定して読み出しD203とする。複素乗算A部106において、入力データ格納レジスタ部105に一時記憶された入力データ列D202のx、x、・・・、xと、D203の各項との複素乗算をクロックD201に従い順次行い、乗算結果の7個の項D205は複素加算A部108において複素加算されXが得られ、出力データ格納レジスタ部110に格納される。 For DFT calculation for obtaining the X 0, the rotation factor selection process A 103, (4) for generating the right-hand side first line of the first term W matrix, stored in a twiddle factor storage memory 102 W 0 Is designated as a read D203. The complex multiplication A unit 106 sequentially performs complex multiplication of x 0 , x 1 ,..., X 6 of the input data string D202 temporarily stored in the input data storage register unit 105 with each term of D203 according to the clock D201. performed, seven sections D205 multiplication results X 0 are complex addition in the complex adder a portion 108 is obtained and stored in the output data storage register unit 110.

を求めるDFT演算に対しては、回転因子選択処理B部104は、(4)式右辺第1項Wマトリックスの2行目を生成するため、回転因子格納メモリ102に記憶されたW、W、W、・・Wのアドレスをクロック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 factor storage memory 102 W 0 , W 1 , W 2 ,... W 6 are sequentially designated and read according to the clock D201 to obtain seven data strings D204.

複素乗算B部107において、前記入力データ列D202のx、x、・・・、xの各項とD204の各項との複素乗算をクロックD201に従い順次行い、乗算結果の7個の項D206は複素加算B部109において複素加算されXが得られ、出力データ格納レジスタ部110に格納される。 In the complex multiplication B unit 107, complex multiplication of each term of x 0 , x 1 ,..., X 6 of the input data string D202 and each term of D204 is sequentially performed according to the clock D201, and seven multiplication results are obtained. section D206 is X 1 is the complex addition is obtained at the complex adder B 109, is stored in the output data storage register unit 110.

次に演算2回目として、(4)式における左辺3行目の要素Xの演算を、回転因子選択処理A部、複素演算A部、複素加算A部により行い、左辺4行目の要素Xの演算を、回転因子選択処理B部、複素演算B部、複素加算B部により行い、XとXの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.

を求めるDFT演算に対しては、回転因子選択処理A部103は、(4)式右辺第1項Wマトリックスの3行目を生成するため、回転因子格納メモリ102に記憶されたW、W、W、・・WのアドレスをクロックD201に従い順次指定して読み出し、7個のデータ列D207を得る。 For DFT calculation for obtaining the X 2, the rotation factor selection process A 103, (4) to generate the right side third row of the first term W matrix, stored in a twiddle factor storage memory 102 W 0 , W 2 , W 4 ,... W 5 are sequentially designated and read according to the clock D 201 to obtain seven data strings D 207.

複素乗算A部106において、前記入力データ列D202のx、x、・・・、xの各項とD207の各項との複素乗算をクロックD201に従い順次行い、乗算結果の7個の項D209は複素加算A部108において複素加算されXが得られ、出力データ格納レジスタ部110に格納される。 In the complex multiplication A section 106, complex multiplication of each term of x 0 , x 1 ,..., X 6 of the input data string D202 and each term of D207 is sequentially performed according to the clock D201, and seven multiplication results are obtained. section D209 is X 2 are the complex addition is obtained at the complex adder a unit 108, is stored in the output data storage register unit 110.

を求めるDFT演算に対しては、回転因子選択処理B部104は、(4)式右辺第1項Wマトリックスの4行目を生成するため、回転因子格納メモリ102に記憶されたW、W、W、・・WのアドレスをクロックD201に従い順次指定して読み出し、7個のデータ列D208を得る。 For DFT calculation for obtaining the X 3, twiddle factor selection processing B 104 (4) to generate the right-hand side line 4 of Paragraph 1 W matrix, stored in a twiddle factor storage memory 102 W 0 , W 3 , W 6 ,... W 4 are sequentially designated and read in accordance with the clock D201 to obtain seven data strings D208.

複素乗算B部107において、前記入力データ列D202のx、x、・・・、xの各項とD208の各項との複素乗算をクロックD201に従い順次行い、乗算結果の7個の項D210は複素加算B部109において複素加算されXが得られ、出力データ格納レジスタ部110に格納される。 In the complex multiplication B unit 107, complex multiplication of each term of x 0 , x 1 ,..., X 6 of the input data string D202 and each term of D208 is sequentially performed according to the clock D201, and seven multiplication results are obtained. section D210 is X 1 is the complex addition is obtained at the complex adder B 109, is stored in the output data storage register unit 110.

以下同様にして、DFT演算3回目ではXとXが並列演算され、演算4回目では残りのXが演算され、出力データ格納レジスタ部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 storage register unit 110.

出力データ格納レジスタ部110に格納されたDFT演算結果は、データ列X、X、X、X、X、X、Xの格納が終了すると、1系列の周波数軸上データ列として配列され外部へ出力される。 The DFT operation result stored in the output data storage register unit 110 is a series of data on the frequency axis when storage of the data strings X 0 , X 1 , X 2 , X 3 , X 4 , X 5 , X 6 is completed. It is arranged as a column and output to the outside.

制御部111は、入力したクロックを各部に分配し、各部に動作開始時刻を指示し、各部における動作終了時刻の通知を受け、DFT演算装置101全体の制御を行う。   The control unit 111 distributes the input clock to each unit, instructs the operation start time to each unit, receives notification of the operation end time in each unit, and controls the DFT arithmetic unit 101 as a whole.

本方法は、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 processing section A 103 and the twiddle factor selection section B 104 increases as N increases. There is a problem that the processing time increases due to the length.

また、周波数軸上の離散信号X、X、・・・、XN−1を、時間軸上の離散信号x、x、・・・、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 storage unit 3 and the first and second calculation units are operated a plurality of times in parallel. A discrete Fourier transform device characterized by comprising control means for arranging and outputting in order is used.
(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 claim 1, wherein the performing operations with one of the first or second calculating means reads from the first column to the N columns when used.
(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の演算と演算結果の出力X、D606は演算2回目の回転因子処理部のデータ列、D607は演算2回目の複素乗算Aのデータ列および、複素加算Aの演算と演算結果の出力X、D608は演算2回目の複素乗算Bのデータ列および、複素加算Bの演算と演算結果の出力X、D609は演算3回目の回転因子処理部のデータ列、D610は演算3回目の複素乗算Aのデータ列および、複素加算Aの演算と演算結果の出力X、D611は演算3回目の複素乗算Bのデータ列および、複素加算Bの演算と演算結果の出力X、D612は演算4回目の回転因子処理部のデータ列、D613は演算4回目の複素乗算Aのデータ列および、複素加算Aの演算と演算結果の出力X、D614は演算4回目の複素乗算Bのデータ列および、複素加算Bの演算と演算結果の出力Xをそれぞれ示す。 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のx、x、x、x、x、x、xをそのままの並びで、Wマトリクスの第2行D606のW、W、W、W、W、W、Wとの積・加算を演算し出力Xを求める系列と、入力データ列の2項目以降の列順の並び替えを図5により行い、D602のx、x、x、x、x、x、xと、前記と同じWマトリクスの第2行D606の、W、W、W、W、W、W、Wを共通に使い、積・加算演算しXを求める系列とを並列動作させる。 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.

同様にして出力Xと出力Xは、Wマトリクスの第3行D609のW、W、W、W、W、W、Wを共通に使い、積・加算演算する系列の並列動作で演算できる。 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.

同様にして出力Xと出力Xは、Wマトリクスの第4行D612のW、W、W、W、W、W、Wを共通に使い、積・加算演算する系列の並列動作で演算できる。 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項の入力データ列、x、x、・・・、xは時間軸上のサンプル値で実数であるが、右辺第1項のWマトリクスの各要素Wは、(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に入力した時間軸上サンプルデータ列x、x、・・・、xは、入力データ格納レジスタ部304にD602として一時記憶される。時間軸上サンプルデータと組みになって入力したクロックD601は、制御部311を介してDFT演算装置301内の各部に分配される。 The time-axis sample data strings x 0 , x 1 ,..., X 6 input to the DFT arithmetic unit 301 are temporarily stored as D 602 in the input data storage register unit 304. The clock D601 input in combination with the sample data on the time axis is distributed to each unit in the DFT arithmetic unit 301 via the control unit 311.

入力データ格納レジスタ部304に一時記憶された入力データ列D602は、クロックD601に同期して順次読み出され、(4)式右辺第2項の各要素x、x、・・・、xを形成する。 The input data string D602 temporarily stored in the input data storage register unit 304 is sequentially read out in synchronization with the clock D601, and each element x 0 , x 1 ,. 6 is formed.

DFT演算1回目として、(4)式における左辺1行目のWに対しては、行の6列すべてが同じWである行が他に無いので、Wマトリクス第1行のみを用い、回転因子選択処理部303、複素演算A部306、複素加算A部308によりXの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 selection processing unit 303, the complex operation A unit 306, and the complex addition A unit 308 perform X 0 DFT operation.

を求めるDFT演算に対しては、回転因子選択処理部303は、(4)式右辺第1項Wマトリックスの第1行を生成するため、回転因子格納メモリ102に記憶されたWのアドレスを指定して読み出しD604とする。複素乗算A部306において、入力データ格納レジスタ部304に一時記憶された入力データ列D602の各項x、x、・・・、xとD604の各項との複素乗算をクロックD601に従い順次行い、乗算結果の7個の項D605は複素加算A部308において複素加算されてXが得られ、出力データ格納レジスタ部310に格納される。 For DFT calculation for obtaining the X 0, the rotation factor selection processing section 303, (4) right side of the equation for generating the first row of the first term W matrix of W 0 stored in a twiddle factor storage memory 102 An address is designated and read out as D604. In the complex multiplication A unit 306, complex multiplication of each term x 0 , x 1 ,..., X 6 and D604 of the input data string D602 temporarily stored in the input data storage register unit 304 is performed according to the clock D601. sequentially performed, seven sections D605 multiplication results X 0 are complex addition in the complex adder a 308 is obtained and stored in the output data storage register unit 310.

次に演算2回目として、(4)式のWマトリクスの2行目を共通に使い、(4)式左辺第2行Xと第6行のXの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.

を求めるDFT演算に対しては、回転因子選択処理部303は、(4)式右辺第1項Wマトリックスの2行目を生成するため、回転因子格納メモリ302に記憶されたW、W、W、・・WのアドレスをクロックD601に従い順次指定して読み出し、Wの7個のデータ列D606を得る。複素乗算A部306において、前記入力データ列D602の各項と、D606のWの各項との複素乗算をクロックD601に従い順次行い、乗算結果の7個の項D607は複素加算A部306において複素加算されてXが得られ、出力データ格納レジスタ部310に格納される。 For DFT calculation for obtaining the X 1, twiddle factor selection processing section 303, (4) for generating a right second line of the first term W matrix, W 0 stored in a twiddle factor storage memory 302, The addresses of W 1 , W 2 ,... W 6 are sequentially designated and read according to the clock D601 to obtain seven data strings D606 of W. In the complex multiplication A unit 306, complex multiplication of each term of the input data string D602 and each term of W of D606 is sequentially performed according to the clock D601, and the seven terms D607 of the multiplication result are complexed in the complex addition A unit 306. X 1 is obtained by addition and is stored in the output data storage register unit 310.

を求めるDFT演算に対しては、回転因子選択処理部303は、前記Xの演算時と同じWの7個のデータ列D606を共通に用いる。 For DFT calculation for obtaining the X 6, the rotation factor selecting section 303 uses the seven data string D606 having the same W as when operation of the X 1 in common.

を求める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.

それゆえ、Xを求める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の各項、x、x、・・・、xは、入力並べ替え処理部305において、D602の2列目以降の列順が前後入れ替わり入力データ列D603のx、x、x、・・・、x、となる。 Each term of the input data string D602, x 0, x 1, ···, x 6 is the input sorting unit 305, x 0 after the second column of the column order D602 front and rear turnover input data sequence D603 , X 6 , x 5 ,..., X 1 .

複素乗算B部307では、D603の各項とD606の各項の複素乗算をクロックD601に従い順次行い、乗算結果の7個の項D608は複素加算B部309において複素加算されXが得られ、出力データ格納レジスタ部110に格納される。 The complex multiplier B 307, is sequentially performed according to the clock D601 complex multiplication of each term of the terms and D606 of D603, 7 pieces of section D608 of the multiplication result is X 6 is complex addition in the complex adder B 309 is obtained, It is stored in the output data storage register unit 110.

以下同様にして、DFT演算3回目ではXとXが並列演算され、演算4回目ではXとXが並列演算され、出力データ格納レジスタ部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 storage register unit 110.

出力データ格納レジスタ部110に格納されたDFT演算結果は、データX、X、X、X、X、X、Xの格納が終了すると、X、X、X、X、X、X、Xの順に配列され、1系列の周波数軸上データ列として外部へ出力される。 Output data storage register unit 110 DFT calculation results stored in, when storing data X 0, X 1, X 6 , X 2, X 5, X 3, X 4 is completed, X 0, X 1, X 2 , X 3 , X 4 , X 5 , X 6 are arranged in this order and output to the outside as a series of data strings on the frequency axis.

制御部311は、入力したクロックを各部に分配し、各部に動作開始時刻を指示し、各部における動作終了時刻の通知を受け、DFT演算装置301全体の制御を行う。   The control unit 311 distributes the input clock to each unit, instructs the operation start time to each unit, receives notification of the operation end time in each unit, and controls the entire DFT arithmetic unit 301.

図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 rearrangement processing unit 305 in the configuration diagram 3 of the first embodiment is a new one not shown in the configuration diagram 1 of the conventional example, but the rearrangement of the input data is fixed and the hardware is fixed. Since it is performed by connection, the signal processing delay time is negligibly small.
(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は、入力データ列が周波数軸上のサンプルデータ列X、X、・・・Xであり、出力データが時間軸上のサンプルデータ列x、x、・・・xとなり、実施例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).

また、周波数軸上のサンプルデータ列X、X、・・・XとW−1マトリクスのデータ列の積と加算の演算結果が、(1/N)倍され、時間軸上のデータ列x、x、・・・xが得られる。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).

Figure 2008052504

(5)式はマトリクスで表すとN=7の場合(6)式となる。
Figure 2008052504

When the expression (5) is expressed in a matrix, the expression (6) is obtained when N = 7.

Figure 2008052504

図7にIDFT演算装置構成、図8に回転因子の逆数格納メモリテーブル、図9にIDFT演算タイムチャートをそれぞれ示す。
Figure 2008052504

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, reference numeral 701 denotes an IDFT arithmetic unit, 702 denotes a reciprocal storage memory of a twiddle factor, 703 denotes an output data storage register unit, and 704 denotes a control unit.

なお、図7の入力並べ替え処理部305は、実施例1では、時間軸上の入力データ列x、x、・・・、xの順序の並べ替えを図5により行ったが、実施例2では、周波数軸上の入力データ列X、X、・・・、Xの順序の並べ替えを同じ方法で図5により行うので説明は省略する。 The input rearrangement processing unit 305 in FIG. 7 performs the rearrangement of the order of the input data strings x 0 , x 1 ,..., X 6 on the time axis in FIG. In the second embodiment, the rearrangement of the order of the input data strings X 0 , X 1 ,..., X 6 on the frequency axis is performed by the same method with reference to FIG.

図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の演算と演算結果の出力x、D906は演算2回目の回転因子処理部のデータ列、D907は演算2回目の複素乗算Aのデータ列および、複素加算Aの演算と演算結果の出力x、D908は演算2回目の複素乗算Bのデータ列および、複素加算Bの演算と演算結果の出力x、D909は演算3回目の回転因子処理部のデータ列、D910は演算3回目の複素乗算Aのデータ列および、複素加算Aの演算と演算結果の出力x、D911は演算3回目の複素乗算Bのデータ列および、複素加算Bの演算と演算結果の出力x、D912は演算4回目の回転因子処理部のデータ列、D913は演算4回目の複素乗算Aのデータ列および、複素加算Aの演算と演算結果の出力x、D914は演算4回目の複素乗算Bのデータ列および、複素加算Bの演算と演算結果の出力xをそれぞれ示す。 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のX、X、X、X、X、X、Xをそのままの並びで、W−1マトリクスの2行目D906のW、W−1、W−2、W−3、W−4、W−5、W−6との積・加算を演算し出力xを求める系列と、入力データ列の2項目以降の列順の並び替えを行い、D903のX、X、X、X、X、X、Xと、前記と同じW−1マトリクスの2行目D906のW、W−1、W−2、W−3、W−4、W−5、W−6を共通に使い、積・加算演算しxを求める系列とを並列動作させる。 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 input data sequence 2 The column order is rearranged after the items, and X 0 , X 6 , X 5 , X 4 , X 3 , X 2 , X 1 of D 903 and W 0 of the second row D 906 of the same W −1 matrix as described above. , W −1 , W −2 , W −3 , W −4 , W −5 , and W −6 are used in common, and the product / addition operation and the sequence for obtaining x 6 are operated in parallel.

同様にして出力xと出力xは、W−1マトリクスの3行目W、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.

同様にして出力xと出力xは、W−1マトリクスの4行目D909のW、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項の入力データ列、X、X、・・・、Xは周波数軸上のサンプル値であって振幅と位相を有する複素数であり、右辺第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のX、X、・・・、Xは、入力データ格納レジスタ部304に一時記憶される。時間軸上サンプルデータと組みになって入力したクロックD901は、制御部704を介してIDFT演算装置901内の各部に分配される。 X 0 , X 1 ,..., X 6 of the frequency axis sample input data D 902 input to the IDFT arithmetic unit 701 are temporarily stored in the input data storage register unit 304. The clock D901 input in combination with the sample data on the time axis is distributed to each unit in the IDFT arithmetic unit 901 via the control unit 704.

入力データ格納レジスタ部304に一時記憶された入力データ列は、クロックD901に同期して順次読み出されD902となり、(6)式右辺第2項の各要素X、X、・・・、Xを形成する。 The input data string temporarily stored in the input data storage register unit 304 is sequentially read out in synchronization with the clock D901 to become D902, and each element X 0 , X 1 ,. to form an X 6.

IDFT演算1回目として、(6)式における左辺1行目のWに対しては、行の6列すべてが同じWである行が他に無いので、1行目のみのXの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 rows 6 columns all have the same W 0 line is not in the other, the X 0 only one row DFT Perform the operation. A DFT operation is performed by the twiddle factor selection processing unit 303, the complex operation A unit 306, the complex addition A unit 308, and the output data storage register unit 703 (including 1/7 times the operation).

を求めるIDFT演算に対しては、回転因子選択処理部303は、(4)式右辺第1項W−1マトリックスの1行目を生成するため、回転因子格納メモリ702に記憶されたWのアドレスを指定して読み出しD904とする。複素乗算A部306において、入力データ格納レジスタ部304に一時記憶された入力データ列D902の各項、x、x、・・・、xとD904の各項との複素乗算をクロックD901に従い順次行い、乗算結果の7個の項D905は複素加算A部308において複素加算され、出力データ格納レジスタ部703で1/7倍され出力データxとして格納される。 For the IDFT calculation for obtaining x 0 , the twiddle factor selection processing unit 303 generates the first row of the first term W −1 matrix on the right side of the equation (4), so that the W stored in the twiddle factor storage memory 702 is stored. The address 0 is designated and read D904. In the complex multiplication A unit 306, the complex multiplication of each term of the input data string D902, x 0 , x 1 ,..., X 6 and D904 of the input data string D902 temporarily stored in the input data storage register unit 304 is performed by the clock D901. sequentially performed in accordance with, seven sections D905 multiplication results are complex addition in the complex adder a 308, is 1/7 times the output data storage register unit 703 are stored as output data x 0.

次に演算2回目として、(6)式のW−1マトリクスの2行目を共通に使い、(6)式左辺2行目xと6行目のxの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 .

を求めるIDFT演算に対しては、回転因子選択処理部303は、(4)式右辺第1項Wマトリックスの2行目を生成するため、回転因子の逆数格納メモリ702に記憶されたW、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倍され出力データxとして格納される。 For IDFT calculation for obtaining the x 1, twiddle factor selection processing section 303, (4) for generating a right second line of the first term W matrix, stored in the inverse storage memory 702 of the rotation factors W The addresses of 0 , W −1 , W −2 ,... W −6 are sequentially designated and read according to the clock D901 to obtain seven data strings D906 of W− 1 . In the complex multiplication A unit 306, complex multiplication of each term of the input data string D902 and each term of W- 1 of D906 is sequentially performed according to the clock D901, and the seven terms D907 of the multiplication result are the complex addition A unit 306. in the complex adder is stored is 1/7 times the output data storage register unit 703 as output data x 1.

を求めるIDFT演算に対しては、回転因子選択処理部303は、前記xの演算時と同じW−1の7個のデータ列D906を共通に用いる。 For IDFT calculation for obtaining the x 6, the rotation factor selecting section 303 uses the seven data string D906 having the same W -1 as when operation of the x 1 in common.

を求める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 second row 2. The order of the columns after the column is reversed.

それゆえ、xを求める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の各項、X、X、・・・、Xは、入力並べ替え処理部305において、D902の2列目以降の列順が前後入れ替わりデータ列D903のX、X、X、・・・、X、となる。 Each item of the input data string D902, X 0 , X 1 ,..., X 6 , in the input rearrangement processing unit 305, the column order after the second column of D902 is replaced by X 0 , X 6 , X 5 ,..., X 1 .

複素乗算B部307では、D903の各項とD906の各項の複素乗算をクロックD901に従い順次行い、乗算結果の7個の項は複素加算B部309において複素加算され、出力データ格納レジスタ部703で1/7倍され出力データxとして格納される。 The complex multiplication B unit 307 sequentially performs complex multiplication of each term of D903 and each term of D906 according to the clock D901, and the seven terms of the multiplication result are complex-added by the complex addition B unit 309, and the output data storage register unit 703 in the 1/7 times it is stored as output data x 6.

以下同様にして、DFT演算3回目ではxとxが並列演算され、演算4回目ではxとxが並列演算され、出力データ格納レジスタ部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 storage register unit 703 as output data.

出力データ格納レジスタ部703に格納されたIDFT演算結果は、データx、x、x、x、x、x、xの格納が終了すると、x、x、x、x、x、x、xの順に配列され、1系列の時間軸上データ列として外部へ出力される。 The IDFT calculation results stored in the output data storage register unit 703 are stored in the data x 0 , x 1 , x 6 , x 2 , x 5 , x 3 , x 4 when storage of the data x 0 , x 1 , x 2 is completed. , X 3 , x 4 , x 5 , x 6 are arranged in this order, and are output to the outside as a series of data strings on the time axis.

制御部704は、入力したクロックを各部に分配し、各部に動作開始時刻を指示し、各部における動作終了時刻の通知を受け、IDFT演算装置701全体の制御を行う。   The control unit 704 distributes the input clock to each unit, instructs the operation start time to each unit, receives notification of the operation end time in each unit, and controls the entire IDFT arithmetic unit 701.

図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 rearrangement processing unit 305 in the configuration diagram of the second embodiment shown in FIG. 7 is a new one not shown in the configuration diagram of the conventional example, but the rearrangement of input data is fixed and the hardware is fixed. Since it is performed by connection, the signal processing delay time is negligibly small.
(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 supplementary note 1, wherein:
(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 appendix 3, wherein

DFT演算装置構成(従来例)を示す図である。It is a figure which shows a DFT arithmetic unit structure (conventional example). DFT演算タイムチャート(従来例)を示す図である。It is a figure which shows a DFT calculation time chart (conventional example). DFT演算装置構成(実施例1)を示す図である。It is a figure which shows DFT arithmetic unit structure (Example 1). 回転因子格納メモリテーブル(実施例1)を示す図である。It is a figure which shows a twiddle factor storage memory table (Example 1). 入力データ並べ替え処理部の機能(実施例1)を示す図である。It is a figure which shows the function (Example 1) of an input data rearrangement process part. DFT演算タイムチャート(実施例1)を示す図である。It is a figure which shows the DFT calculation time chart (Example 1). IDFT演算装置構成(実施例2)を示す図である。It is a figure which shows IDFT arithmetic unit structure (Example 2). 回転因子の逆数格納メモリテーブル(実施例2)を示す図である。It is a figure which shows the reciprocal number storage memory table (Example 2) of a twiddle factor. IDFT演算タイムチャート(実施例2)を示す図である。It is a figure which shows IDFT calculation time chart (Example 2).

符号の説明Explanation of symbols

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 Arithmetic Unit 102 Rotation Factor Storage Memory 103 Rotation Factor Selection Processing A Unit 104 Rotation Factor Selection Processing B Unit 105 Input Data Storage Register Unit 106 Complex Multiplication A Unit 107 Complex Addition A Unit 109 Complex Addition B Unit 110 Output Data Storage Register Unit 111 Control Unit 301 DFT Operation Unit 302 Rotation Factor Storage Memory 303 Rotation Factor Selection Processing Unit 304 Input Data Storage Register Unit 305 Input Data Rearrangement Processing Unit 306 Complex Multiplication A Unit 307 Complex Multiplication B Unit 308 is Complex Addition B Unit 310 Output Data Storage register unit 311 Control unit 701 IDFT arithmetic unit 702 Rotation factor reciprocal storage memory 703 Output data storage register unit 704 Control unit

Claims (3)

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個のデータを所定の順番に配置して出力させる制御手段と、
を備えたことを特徴とする離散フーリエ変換装置。
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:
前記第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記載の離散フーリエ変換装置。
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個(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個のデータを所定の順番に配置して出力させる制御手段と、
を備えたことを特徴とする離散フーリエ逆変換装置。
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:
JP2006228055A 2006-08-24 2006-08-24 Discrete fourier transform device and discrete fourier inverse transform device Withdrawn JP2008052504A (en)

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)

* Cited by examiner, † Cited by third party
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

Cited By (5)

* Cited by examiner, † Cited by third party
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