JP4791172B2 - FFT operation circuit - Google Patents
FFT operation circuit Download PDFInfo
- Publication number
- JP4791172B2 JP4791172B2 JP2005366731A JP2005366731A JP4791172B2 JP 4791172 B2 JP4791172 B2 JP 4791172B2 JP 2005366731 A JP2005366731 A JP 2005366731A JP 2005366731 A JP2005366731 A JP 2005366731A JP 4791172 B2 JP4791172 B2 JP 4791172B2
- Authority
- JP
- Japan
- Prior art keywords
- unit
- output
- complex
- input
- fft
- 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.)
- Active
Links
- 238000004364 calculation method Methods 0.000 claims description 34
- 238000006243 chemical reaction Methods 0.000 claims description 19
- 238000007792 addition Methods 0.000 description 61
- 108010076504 Protein Sorting Signals Proteins 0.000 description 15
- 230000015654 memory Effects 0.000 description 14
- 238000000034 method Methods 0.000 description 11
- 230000008569 process Effects 0.000 description 10
- 238000010586 diagram Methods 0.000 description 5
- 230000001413 cellular effect Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 230000009977 dual effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000005236 sound signal Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/14—Fourier, Walsh or analogous domain transformations, e.g. Laplace, Hilbert, Karhunen-Loeve, transforms
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- General Physics & Mathematics (AREA)
- Pure & Applied Mathematics (AREA)
- Mathematical Optimization (AREA)
- Mathematical Analysis (AREA)
- Computational Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Theoretical Computer Science (AREA)
- Algebra (AREA)
- Databases & Information Systems (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Complex Calculations (AREA)
Description
本発明は、データ通信や画像・音声信号のデジタル信号処理に用いられるFFT(Fast Fourier Transform:高速フーリエ変換)演算回路に関する。 The present invention relates to an FFT (Fast Fourier Transform) arithmetic circuit used for data communication and digital signal processing of image / audio signals.
FFTは、時間領域における一連の信号データに潜む周波数成分を抽出するのに用いられる手法であり、多数のデータを短時間で処理できるという優れた特徴を有する。また、FFTをハードウェアにより実現する際には、面積の小さい回路が必要とされる。
一方、携帯電話などの無線通信の規格において、様々なCellular方式や無線LAN方式が用いられている。一般の利用者としては、これらの規格の利点を利用して、効率的な無線通信を行えることを望んでいる。
FFT is a technique used to extract frequency components lurking in a series of signal data in the time domain, and has an excellent feature that a large number of data can be processed in a short time. Further, when the FFT is realized by hardware, a circuit having a small area is required.
On the other hand, various cellular systems and wireless LAN systems are used in wireless communication standards such as cellular phones. As a general user, it is hoped that efficient wireless communication can be performed using the advantages of these standards.
例えば、データ通信の分野においては、FFTのデータ長(FFT長)が用途により異なり、一例として、無線LANの規格の1つであるIEEE802.11aにてデータ長64であり、4G-Mobileの規格の候補の1つが1024である。
そのため、1つの携帯端末に複数の機能を持たせる場合、外部からの設定により、処理するデータ長に対応して上述した2つの演算を切り替え、1つのFFT回路で実現することが必要となってくる。すなわち、複数の規格を1つのハードウェアにより構成するMulti−Mode端末が最近用いられているが、複数のチップセットを用いているため、実装面積を無駄とし、ハードウェアが大型化してしまう欠点がある。したがって、1つのチップセットによって、複数の規格に対応するFFT演算回路が必要となる。
For example, in the field of data communication, the data length of FFT (FFT length) varies depending on the application. As an example, IEEE802.11a, which is one of the wireless LAN standards, has a data length of 64, which is a 4G-Mobile standard. One of the candidates is 1024.
Therefore, when one mobile terminal is provided with a plurality of functions, it is necessary to switch between the two operations described above corresponding to the data length to be processed by an external setting, and to realize it with one FFT circuit. come. That is, although a multi-mode terminal that configures a plurality of standards by a single piece of hardware has recently been used, since a plurality of chipsets are used, there is a disadvantage that the mounting area is wasted and the hardware becomes large. is there. Therefore, an FFT operation circuit corresponding to a plurality of standards is required by one chip set.
上述した課題に対して、特許文献1に記載されているFFT専用プロセッサは、FFT演算を行う処理回路に、FFT演算を行うFFT長として複数の値に対応させるため、複数の基数に対応した複数の演算回路が設けられており、FFT演算の各ステージにおける基数に対応した演算回路を選択して使用する構成となっている。
しかしながら、上記特許文献1に示すFFT専用プロセッサは、複数のFFT長の種類に対応させるため、基数に対応した複数の演算回路を設けているため、回路規模が大きくなり、消費電力が増大するという欠点がある。
本発明は、このような事情に鑑みてなされたもので、従来のように、基数に対応した複数の演算回路を設けず、複数のFFT長に対応することができ、回路数を削減し、消費電力を低下させることができるFFT演算回路を提供することを目的とする。
However, the FFT-dedicated processor shown in Patent Document 1 is provided with a plurality of arithmetic circuits corresponding to the radix in order to correspond to a plurality of types of FFT lengths, so that the circuit scale increases and the power consumption increases. There are drawbacks.
The present invention has been made in view of such circumstances, and unlike the prior art, it does not include a plurality of arithmetic circuits corresponding to a radix, can correspond to a plurality of FFT lengths, reduces the number of circuits, An object of the present invention is to provide an FFT operation circuit capable of reducing power consumption.
本発明のFFT演算回路は、複数の直列に接続されたバタフライ演算部(例えば、実施形態におけるバタフライ演算器11〜15)からなり、演算対象のFFT長を任意に選択して設定するFFT演算器であり、前記バタフライ演算部が、入力される信号を一旦格納する一時記憶部を備え、バタフライ演算において複素乗算及び複素加減算を行う順番に、順次信号を読み出す信号順変換部(例えば、実施形態における入力アドレス生成部23,25と、セレクタ24,28と記憶部22から構成されている)と、FFT長及びバタフライ演算部の段数に対応して、各信号に複素乗算する複素係数が記憶された複素係数記憶部(例えば、実施形態におけるFFT回転因子テーブル)と、読み出された前記信号毎に、前記複素係数記憶部から対応する複素係数を順次読み出して複素乗算する複素乗算部と、該複素乗算部から出力される、複素係数が複素乗算された信号に対し、順次複素加減算を行う複素加減算部とを有することを特徴とする。
The FFT operation circuit of the present invention includes a plurality of butterfly operation units connected in series (for example,
上述した構成により、本発明のFFT演算回路は、複数のバタフライ演算部が直列に接続されて形成されているため、FFT長に応じたバタフライ演算の回数に対応したバタフライ演算部から出力を選択することにより、複数のFFT長の種類に対応した演算が行うことができる。 With the configuration described above, the FFT operation circuit of the present invention is formed by connecting a plurality of butterfly operation units in series, and therefore selects an output from the butterfly operation unit corresponding to the number of butterfly operations corresponding to the FFT length. Thus, an operation corresponding to a plurality of types of FFT lengths can be performed.
以上説明したように、発明によれば、従来のように、基数に対応した複数の演算回路を設けずに、複数のFFT長に対応したFFT演算を行うことができるため、従来例のように、基数に対応する複数の演算回路を設ける必要がなく、従来例に比較して回路規模を小さくすることができ、消費電力を削減することが可能となる効果が得られる。 As described above, according to the invention, it is possible to perform an FFT operation corresponding to a plurality of FFT lengths without providing a plurality of arithmetic circuits corresponding to a radix as in the prior art. There is no need to provide a plurality of arithmetic circuits corresponding to the radix, and the circuit scale can be reduced as compared with the conventional example, so that the effect of reducing power consumption can be obtained.
以下、本発明の一実施形態によるFFT演算回路を図面を参照して説明する。図1は同実施形態によるFFT演算回路1の構成例を示すブロック図である。
本実施形態においては、基数4を用いたバタフライ演算を例にとり説明するが、基数を2のn乗とした2,4,8,16,…としても同様に回路を構成することができる。また、外部から入力されるFFT演算の対象としてのサンプル(チャンネル)数により、使用されるバタフライ演算器の数が変化する。FFT演算回路1は、基数4にて、FFT長が64,256及び1024各々に対するFFT演算に対応する構成である。
すなわち、本実施形態のFFT演算回路1は、バタフライ演算器11、12,13,14及び15各々がそれぞれの出力端子と次段の入力端子とを接続した直列接続となっている。また、本実施形態のFFT演算回路1は、FFT長が64,256及び1024に対応した構成のため、上記バタフライ演算器13,14及び15のいずれかの出力を、FFT長の情報により選択して、選択された演算結果をFFT演算結果として出力する構成となっている。
Hereinafter, an FFT operation circuit according to an embodiment of the present invention will be described with reference to the drawings. FIG. 1 is a block diagram showing a configuration example of an FFT operation circuit 1 according to the embodiment.
In the present embodiment, a butterfly operation using a radix 4 will be described as an example, but a circuit can be similarly configured even with 2, 4, 8, 16,. In addition, the number of butterfly calculators to be used varies depending on the number of samples (channels) as an FFT calculation target input from the outside. The FFT operation circuit 1 has a configuration corresponding to the FFT operation for radix 4 and FFT lengths of 64, 256, and 1024, respectively.
That is, in the FFT operation circuit 1 of the present embodiment, the
本実施形態において、例えば、FFT長が64(43)の場合、4の3乗のため3段目のバタフライ演算器13からFFTの演算結果が出力され、FFT長が256(44)の場合、4の4乗のため4段目のバタフライ演算器14からFFTの演算結果が出力され、FFT長が1024(45)の場合、4の5乗のため5段目のバタフライ演算器15から演算結果が出力される。また、FFT長が256の際、バタフライ演算器13からは中間データとしてのバタフライ演算結果がバタフライ演算器14に出力され、すなわち、FFT長に必要なバタフライ演算器の前段までのバタフライ演算器からは、計算途中のFFT長と同数の中間データが出力される。
In the present embodiment, for example, when the FFT length is 64 (4 3 ), the FFT calculation result is output from the third
バタフライ演算器(11〜15)各々は、後に詳細に述べるが、外部から入力されるFFT長を示すFFT長情報により、外部からまたは前段から入力される信号各々(入力信号)に複素乗算する複素係数のデータ(以下、係数データまたは係数とする)を変化させ、FFT長に対応したバタフライ演算に必要な段の前段まで、上記中間データに対応したバタフライ演算を行い、FFT長に対応したバタフライ演算に必要な段のバタフライ演算器から最終的な演算結果が出力されるように、動作が設定される。ここでの、信号とは、初段のバタフライ演算器11に入力されるサンプル、または後段のバタフライ演算器12〜15に入力される前段からの中間データの双方を含むものとする。例えば、FFT長が256の場合、バタフライ演算器11〜13までは、中間データ生成としての演算を行い、バタフライ演算器14がバタフライ演算器13から出力される中間データから最終的なFFT演算結果を出力信号として出力する。
セレクタ16は、各バタフライ演算器からの出力が入力されており、上記FFT長及びバタフライ演算器の段数(何番目のバタフライ演算器であるか)により、FFT演算結果が出力される段のバタフライ演算器からの出力を選択して、出力信号として出力する。
As will be described in detail later, each of the butterfly calculators (11 to 15) is configured to perform complex multiplication on each signal (input signal) input from the outside or from the previous stage by FFT length information indicating the FFT length input from the outside. Change the coefficient data (hereinafter referred to as coefficient data or coefficient), perform the butterfly operation corresponding to the intermediate data up to the stage required for the butterfly operation corresponding to the FFT length, and perform the butterfly operation corresponding to the FFT length The operation is set so that the final operation result is output from the butterfly operation unit at the stage required for the operation. Here, the signal includes both a sample input to the
The
次に、図2を参照して、図1に示すバタフライ演算器11の説明を行う。図2は、本実施形態におけるFFT演算回路1を構成するバタフライ演算器を代表して、バタフライ演算器11の構成例を説明する。他のバタフライ演算器12,13,14及び15各々の構成は、バタフライ演算器11と同様のバタフライ演算を行う構成となっている。各演算器が異なる点は、次段に対して出力する中間データを演算する際、入力されるデータに対して複素乗算する係数が異なることと、この係数が複素乗算された結果を加減演算する信号(サンプルまたは中間データ)の組合せが異なることにある。
また、バタフライ演算器14はFFT長が256個と1024個の場合のみ、バタフライ演算を行うため、FFT長が64の場合のバタフライ演算に対応する構成を必要とせず、バタフライ演算器15はFFT長が1024個の場合のみ、バタフライ演算を行うため、FFT長が64及び256の場合のバタフライ演算に対応する構成を必要としない。このため、バタフライ演算器14及び15は、バタフライ演算器11〜13と同様の回路構成でも、また必要とする回路のみで構成しても、どちらでも良い。
Next, the
Further, since the
記憶部22には、外部から時系列に入力される入力信号x(k)、すなわち{x(0),x(1),x(2),…,x(k-1),x(k)}の信号列が、セレクタ24から出力される入力アドレス(下記に説明)に従い、対応する入力アドレス、例えば初段のバタフライ演算器11においては連続したアドレスに順次書き込み、次段以降のバタフライ演算器12〜15においては前段の出力アドレスと同一のアドレスに入力される。
入力アドレス生成部23は、記憶部22に対して、信号を順次書き込むアドレスを生成する。このアドレス生成部23は、FFT長64に対応する入力アドレスを生成する入力アドレス生成64部23Aと,FFT長256に対応する入力アドレスを生成する入力アドレス生成部256部23Bと、FFT長1024に対応する入力アドレスを生成する入力アドレス生成1024部23Cとから構成されている。
セレクタ24は、入力アドレス生成部23より入力される入力アドレスから、入力されるFFT長情報に従い、FFT長に対応する入力アドレスを選択し、入力アドレスとして、記憶部22へ出力する。
In the
The input
The
上記記憶部22は、読み出しと書き込みとが同一のタイミングで行える、例えばデュアルポートRAM(ランダムアクセスメモリ)で構成され、かつ記憶領域が2つに分割され、ダブルバッファ構造として入力信号x(k)(すなわち入力される信号)を書き込むための記憶領域が第1及び第2の記憶領域として2つある。したがって、本実施形態において、記憶部22は、1024のFFT長に対応した構成となっているため、2048個の信号に対応する容量を有している。
The
また、記憶部22は、例えば、図3に示すように、上述したアドレス数が2048のメモリ空間を有している。このメモリ空間におけるメモリマップとしては、FFT長が64の場合、使用するアドレス空間がアドレス数が64のため、書き込み及び読み出しを交互に交代させるアドレス空間としてはアドレス数が128となる。記憶部22においては、この128を示すアドレスの最上位ビットが「0」のアドレス空間(第1の記憶領域)と、最上位ビットが「1」のアドレス空間(第2の記憶領域)とで、FFT長64に対する2つのアドレス空間を構成することになる。
Further, for example, as shown in FIG. 3, the
また、同様に、記憶部22において、このメモリ空間におけるメモリマップとしては、FFT長が256の場合、使用するアドレス空間がアドレス数が256のため、書き込み及び読み出しを交互に交代させる(切り替える)アドレス空間としてはアドレス数が512となる。記憶部22においては、この512を示すアドレスの最上位ビットが「0」のアドレス空間(第1の記憶領域)と、最上位ビットが「1」のアドレス空間(第2の記憶領域)とで、FFT長256に対する2つのアドレス空間を構成することになる。
Similarly, in the
また、同様に、記憶部22において、このメモリ空間におけるメモリマップとしては、FFT長が1024の場合、使用するアドレス空間がアドレス数が1024のため、書き込み及び読み出しを交互に交代させるアドレス空間としてはアドレス数が2048となる。記憶部22においては、この2048を示すアドレスの最上位ビットが「0」のアドレス空間(第1の記憶領域)と、最上位ビットが「1」のアドレス空間(第2の記憶領域)とで、FFT長1024に対する2つのアドレス空間を構成することになる。
アドレス生成部23は、入力するFFT長に対応した各入力アドレス生成部が、上述した記憶部22のアドレス空間に対応する記憶部22のアドレスを生成する。
Similarly, in the
In the
出力アドレス生成部25は、複素複素乗算部26が記憶部22から、信号を順次読み出すアドレスを生成する。この出力アドレス生成部25は、FFT長64に対応する出力アドレスを生成する出力アドレス生成64部25Aと,FFT長256に対応する出力アドレスを生成する出力アドレス生成部256部25Bと、FFT長1024に対応する出力アドレスを生成する出力アドレス生成1024部25Cとから構成されている。
また、出力アドレス生成部25は、上述したFFT長及び、各バタフライ演算器の上記段数により、読み出すための出力アドレスが異なるため、それぞれの場合に対応した出力アドレスを生成する。
The output
The output
上記出力アドレス生成64部25Aは、FFT長が64個の場合において、後述ように複素加減算部27において、複素加減算部27において実行される複素加減算を行う組み合わせの順に、信号のデータが記憶部22から読み出されるように、記憶されている信号のデータを読み出す順に、対応するアドレスとして出力アドレスを順次生成する。すなわち、入力アドレス生成部23,出力アドレス生成部25及び記憶部22は、信号順変換部を構成し、信号が入力された順番のアドレスに対し、後に複素加減算部27にて加減演算を行う信号の組合せ(基数4なので組合せの信号または中間データは4個)が連続して複素複素乗算部26に出力されるように読み出す出力アドレスに変換する。
また、同様に、出力アドレス生成256部25B及び出力アドレス1024部25C各々は、FFT長が256個及び1024個それぞれの場合において、後述ように複素加減算部27において、複素加減算部27において実行される複素加減算を行う信号の組み合わせの順に、信号のデータが記憶部22から読み出されるように、記憶されている信号のデータを読み出す順に、対応するアドレスとして出力アドレスを順次生成する。
When the FFT length is 64, the output address generation 64
Similarly, the output address generation unit 256B and the
例えば、基数4で、FFT長が256の場合を例にとり説明すると、本実施形態における(FFT演算のアルゴリズによって以下の式は異なる)基数4のバタフライ演算が、信号のデータとして、x(k)が0≦k≦255の範囲で入力されてくる。
DFT(離散フーリエ変換)として、
X(n)=Σx(k)WN nk …(1)
とする(1/Nを省略)。
上述した式において、信号番号nと周波数を示すインデックスkとは以下のように示される。
n=64n3+16n2+4n1+n0 ;(n0,n1,n2,n3=0,1,2,3)
k=64k3+16k2+4k1+k0 ;(k0,k1,k2,k3=0,1,2,3)…(2)
For example, the case where the radix is 4 and the FFT length is 256 will be described as an example. The radix 4 butterfly operation in the present embodiment (the following equation is different depending on the algorithm of the FFT operation) is x (k) as signal data. Is input in the range of 0 ≦ k ≦ 255.
As DFT (Discrete Fourier Transform)
X (n) = Σx (k) W N nk (1)
(1 / N is omitted).
In the above equation, the signal number n and the index k indicating the frequency are expressed as follows.
n = 64n 3 + 16n 2 + 4n 1 + n 0 ; (n 0 , n 1 , n 2 , n 3 = 0, 1 , 2 , 3)
k = 64 k 3 +16 k 2 +4 k 1 + k 0 ; (k 0 , k 1 , k 2 , k 3 = 0 , 1 , 2 , 3) (2)
DFTは、
X(n3,n2,n1,n0)
=ΣΣΣΣx(k3,k2,k1,k0)WN n(64k3+16k2+4k1+k0) …(3)
と示される。このk3,k2,k1,k0の各々和において、第1段目のバタフライ演算器11にてk3についての和を求め、第2段目のバタフライ演算器12にてk2についての和を求め、第3段目のバタフライ演算器13にてk1についての和を求め、第4段目のバタフライ演算器14にてk0についての和を求めることとなる。
この場合には、上記(3)式が以下の(4)〜(7)を順番に、対応する各バタフライ演算器において演算することにより、バタフライ演算の最終結果であるDFTとしてX(n3,n2,n1,n0)が求められる。
DFT
X (n 3 , n 2 , n 1 , n 0 )
= ΣΣΣΣx (k 3 , k 2 , k 1 , k 0 ) W N n (64 k 3 +16 k 2 +4 k 1 + k 0 ) (3)
It is indicated. For each sum of k 3 , k 2 , k 1 , k 0 , the first
In this case, the above equation (3) calculates the following (4) to (7) in order in each corresponding butterfly computing unit, and as a DFT that is the final result of the butterfly computation, X (n 3 , n 2 , n 1 , n 0 ) are obtained.
x1(n0,k2,k1,k0)=Σx(k3,k2,k1,k0)W4 n0k3 …(4)
x2(n0,n1,k1,k0)=Σx1(n0,k2,k1,k0)WN 16n0k2W4 n1k2 …(5)
x3(n0,n1,n2,k0)=Σx2(n0,n1,k1,k0)WN 4(4n1+n0)k1W4 n2k1 …(6)
x4(n0,n1,n2,n3)=Σx3(n0,n1,n2,k0)WN (16n2+4n1+n0)k0W4 n3k0…(7)
ここで、x4(n0,n1,n2,n3)がX(n3,n2,n1,n0)である。
(4)式が1段目のバタフライ演算器11の出力であり、(5)式が2段目のバタフライ演算器12の出力であり、(6)式が3段目のバタフライ演算器13の出力であり、(7)式が4段目のバタフライ演算器14の出力、すなわちFFT長256におけるDFTである。また、上記x1,x2,x3が、DFT演算における各バタフライ演算器での中間データとなる。
x 1 (n 0 , k 2 , k 1 , k 0 ) = Σx (k 3 , k 2 , k 1 , k 0 ) W 4 n0k3 (4)
x 2 (n 0 , n 1 , k 1 , k 0 ) = Σx 1 (n 0 , k 2 , k 1 , k 0 ) W N 16n0k2 W 4 n1k2 (5)
x 3 (n 0 , n 1 , n 2 , k 0 ) = Σx 2 (n 0 , n 1 , k 1 , k 0 ) W N 4 (4n1 + n0) k1 W 4 n2k1 (6)
x 4 (n 0 , n 1 , n 2 , n 3 ) = Σx 3 (n 0 , n 1 , n 2 , k 0 ) W N (16n2 + 4n1 + n0) k0 W 4 n3k0 (7)
Here, x 4 (n 0 , n 1 , n 2 , n 3 ) is X (n 3 , n 2 , n 1 , n 0 ).
The expression (4) is the output of the first
この場合、バタフライ演算器11は、(4)式における、入力される信号への係数「W4 n0k3」の複素乗算、すなわち「+1」,「−1」,「+j」または「−j」の複素乗算については、複素加減算部27において加算するか減算するかにより設定されているため、特に複素乗算の処理は行われない。複素加減算部27においては、係数「W4 n0k3」におけるn0が0,1,2,3の4つの場合に対応した4つの減算または加算が行われ、4つの中間データが出力される。
同様に、バタフライ演算器12は、(5)式における、入力される信号(中間データ)への係数「W4 n1k2」の複素乗算、すなわち「+1」,「−1」,「+j」または「−j」の複素乗算については、複素加減算部27において加算するか減算するかにより設定されているため、特に複素乗算の処理は行われない。複素加減算部27においては、係数「W4 n1k2」におけるn1が0,1,2,3の4つの場合に対応した4つの減算または加算が行われ、4つの中間データが出力される。
In this case, the
Similarly, the
また、バタフライ演算器13は、(6)式における、入力される信号(中間データ)への係数「W4 n2k1」の複素乗算、すなわち「+1」,「−1」,「+j」または「−j」の複素乗算については、複素加減算部27において加算するか減算するかにより設定されているため、特に複素乗算の処理は行われない。複素加減算部27においては、係数「W4 n2k1」におけるn2が0,1,2,3の4つの場合に対応した4つの減算または加算が行われ、4つの中間データが出力される。
また、バタフライ演算器12は、(7)式における、入力される信号(中間データ)への係数「W4 n3k0」の複素乗算、すなわち「+1」,「−1」,「+j」または「−j」の複素乗算については、複素加減算部27において加算するか減算するかにより設定されているため、特に複素乗算の処理は行われない。複素加減算部27においては、係数「W4 n3k0」におけるn3が0,1,2,3の4つの場合に対応した4つの減算または加算が行われ、4つの中間データが出力される。
Further, the
Also, the
バタフライ演算器11に対しては、信号x(k)が、すでに述べたようにk=0〜255まで順番に入力され、記憶部22の連続したアドレスに順に書き込まれる。このため、記憶部22からの読み出しとして、以下のような出力アドレスが必要となる。
上記(4)式において、k3についての和を求めているため、複素加減算部27においては、信号x(k3,k2,k1,k0)の組として、初めの組がx(k3,0,0,0)となり、k3を0,1,2,3と変化させた信号x(0),x(64),x(128),x(192)の4つを組として所定の複素加減算を行う。
次に、x(k3,0,0,1)として、k3を0,1,2,3と変化させた信号x(k)が4つの信号の組の信号列として順次読み出される必要がある。
したがって、バタフライ演算器11における出力アドレス生成256部25Bは、記憶部22から信号列を読み出す順番として、kの数値を表現した(2)式における4進数の最も高い桁(64)、すなわちこのバタフライ演算器11にて和をとる番号k3の桁を基準とし、他の桁を固定し、基準とした桁を0,1,2,3と変化させて、順次出力アドレスを生成することとなる。
As described above, the signal x (k) is input to the
In the above equation (4), since the sum for k 3 is obtained, the complex addition /
Next, as x (k 3 , 0, 0, 1), the signal x (k) in which k 3 is changed to 0, 1, 2, 3 needs to be sequentially read out as a signal sequence of a set of four signals. is there.
Therefore, the output address generation unit 256B in the
以下、バラフライ演算部12、13,14も同様に、以下の様に求められる。
同様に、(5)式において、k2についての和を求めているため、複素加減算部27(バタフライ演算器12)においては、信号x1(n0,k2,k1,k0)の組として、初めの組がx1(0,k2,0,0)となり、k2を0,1,2,3と変化させた信号x1(0),x1(16),x1(32),x1(48)の4つを組として所定の複素加減算を行う。
次に、x1(0,k2,0,1)として、k2を0,1,2,3と変化させた信号x(k)が4つの信号の組の信号列として、順次読み出される必要がある。
したがって、バタフライ演算器12における出力アドレス生成256部25Bは、記憶部22から信号列を読み出す順番として、kの数値を表現した(2)式における4進数の2番目に高い桁(16)、すなわちこのバタフライ演算器12にて和をとる番号k2を基準とし、他の桁を固定し、基準とした桁を0,1,2,3と変化させて順次出力アドレスを生成することとなる。
Hereinafter, the fly-
Similarly, in equation (5), since the sum for k 2 is obtained, in the complex addition / subtraction unit 27 (butterfly computing unit 12), the signal x 1 (n 0 , k 2 , k 1 , k 0 ) As a set, the first set is x 1 (0, k 2 , 0, 0), and signals x 1 (0), x 1 (16), x 1 in which k 2 is changed to 0, 1, 2 , 3 (32), x 1 (48) are used as a set, and predetermined complex addition / subtraction is performed.
Next, as x 1 (0, k 2 , 0, 1), the signal x (k) in which k 2 is changed to 0, 1, 2 , 3 is sequentially read out as a signal sequence of a set of four signals. There is a need.
Therefore, the output address generation 256
また、(6)式において、k1についての和を求めているため、複素加減算部27(バタフライ演算器13)では、信号x2(n0,n1,k1,k0)の組として、初めの組がx2(0,0,k1,0)となり、k1を0,1,2,3と変化させた信号x2(0),x2(4),x2(8),x2(12)の4つを組として所定の複素加減算を行う。
このため、x2(0,0,k1,1)として、k1を0,1,2,3と変化させた信号x(k)が4つの信号の組の信号列として、順次読み出される必要がある。
したがって、バタフライ演算器13における出力アドレス生成256部25Bは、記憶部22から信号列を読み出す順番として、kの数値を表現した(2)式における4進数の3番目に高い桁(4)、すなわちこのバタフライ演算器13にて和をとる番号k1を基準とし、他の桁を固定し、基準とした桁を0,1,2,3と変化させて順次出力アドレスを生成することとなる。
In addition, in equation (6), since the sum of k 1 is obtained, the complex addition / subtraction unit 27 (butterfly computing unit 13) sets the signal x 2 (n 0 , n 1 , k 1 , k 0 ) as a set. , The first set is x 2 (0, 0, k 1 , 0), and the signals x 2 (0), x 2 (4), x 2 (8) with k 1 changed to 0, 1 , 2, 3 ), X 2 (12) as a set, and a predetermined complex addition / subtraction is performed.
Therefore, as x 2 (0, 0, k 1 , 1), the signal x (k) in which k 1 is changed to 0, 1 , 2, 3 is sequentially read out as a signal sequence of a set of four signals. There is a need.
Therefore, the output address generation 256
同様に、(7)式において、k0についての和を求めているため、複素加減算部27(バタフライ演算器14)では、信号x3(n0,n1,n2,k0)の組として、初めの組がx3(0,0,0,k0)となり、k0を0,1,2,3と変化させた信号x3(0),x3(1),x3(2),x3(3)の4つを組として所定の複素加減算を行う。
次に、x3(0,0,1,k0)として、k0を0,1,2,3と変化させた信号x(k)が4つの信号の組を信号列として、順次読み出される必要がある。
したがって、バタフライ演算器14における出力アドレス生成256部25Bは、記憶部22から信号列を読み出す順番として、kの数値を表現した(2)式における4進数の最も低い桁(1)、すなわちこのバタフライ演算器13にて和をとる番号k0を基準とし、他の桁を固定し、基準とした桁を0,1,2,3と変化させて順次出力アドレスを生成することとなる。
Similarly, in equation (7), since the sum for k 0 is obtained, the complex addition / subtraction unit 27 (butterfly computing unit 14) sets a set of signals x 3 (n 0 , n 1 , n 2 , k 0 ). as initially set is x 3 (0,0,0, k 0), and the signal x 3 to the k 0 is varied with 0,1,2,3 (0), x 3 ( 1), x 3 ( 2), x 3 (3) are used as a set, and a predetermined complex addition / subtraction is performed.
Then, x 3 (0,0,1, k 0 ) as the k 0 as the set of signal sequence of the signal x was varied with 0, 1, 2, 3 (k) four signals are sequentially read out There is a need.
Accordingly, the output address generation 256
すなわち、出力アドレス生成部25の各FFT長に対応したアドレス生成部は、対応する各バタフライ演算器における和を求める桁を基準とし、この基準となる桁以外の桁を順次変化させ、この変化させた値毎に、基準となる桁をn進数(基数に対応)で変化、例えば4進数であれば、0,1,2,3と変化させ、複素加減算部27で用いる基数に対応する数の信号列に対する出力アドレスを生成する。
また、出力アドレス生成部25の各アドレス生成部は、基準となる桁以外の桁の変化において、演算のアルゴリズムにより異なるが、例えば、より桁数の小さい桁から順に変化させることとする。
That is, the address generation unit corresponding to each FFT length of the output
In addition, each address generation unit of the output
上述したことから、各バタフライ演算器における出力アドレス部25における出力アドレス生成64部25Aは、FFT長64に対応しているため、(2)式の表現が以下の式のようになる。
n=16n2+4n1+n0 ;(n0,n1,n2=0,1,2,3)
k=16k2+4k1+k0 ;(k0,k1,k2=0,1,2,3)
As described above, since the output address generation 64
n = 16n 2 + 4n 1 + n 0 ; (n 0 , n 1 , n 2 = 0 , 1 , 2, 3)
k = 16 k 2 +4 k 1 + k 0 ; (k 0 , k 1 , k 2 = 0 , 1 , 2, 3)
同様に、各バタフライ演算器における出力アドレス部25における出力アドレス生成1024部25Cは、FFT長1024に対応しているため、(2)式の表現が以下の式のようになる。
n=256n4+64n3+16n2+4n1+n0 ;(n0,n1,n2,n3,n4=0,1,2,3)
k=256n4+64k3+16k2+4k1+k0 ;(k0,k1,k2,k3,k4=0,1,2,3)
Similarly, since the
n = 256 n 4 +64 n 3 +16 n 2 +4 n 1 + n 0 ; (n 0 , n 1 , n 2 , n 3 , n 4 = 0 , 1 , 2 , 3)
k = 256 n 4 +64 k 3 +16 k 2 +4 k 1 + k 0 ; (k 0 , k 1 , k 2 , k 3 , k 4 = 0 , 1 , 2 , 3)
上述したように、(2)式の表現が、FFT長が異なると、読み出される信号のデータの組合せ(信号が入力されて記憶部22に記憶された順番から、記憶部22から複素複素乗算部26に対して読み出す順番の変更)も異なってくるため、出力アドレスの生成は、FFT長(すなわちFFT長情報)に対応して、各出力アドレス生成部(出力アドレス生成64部25A,出力アドレス生成256部25B,出力アドレス生成1024部25C)により、基数とFFT長とから決まる読み出しアドレスの演算式により、順次出力アドレスの演算が行われる。
As described above, when the expression of the expression (2) has different FFT lengths, the data combination of the signals to be read (from the order in which the signals are input and stored in the
また、各バタフライ演算器において、(2)式における和をとる桁を最小桁とし、以降は(2)式の桁数の低い方から順に桁上がりをするカウンタを形成して、各出力アドレス生成回路25を構成してもよい。
また、上記各出力アドレス部は、対応するFFT長に対応して、上述した組で信号のデータを読み出す出力アドレスが順番に記憶されたROM(読み出し専用メモリ)から、時系列に順番にこのROMのアドレスをアクセスして、記憶された出力アドレスを読み出し、出力アドレスを生成する構成としてもよい。
Also, in each butterfly computing unit, a counter that increments in order from the lowest number of digits in equation (2) is formed by setting the summation digit in equation (2) as the minimum digit, and generating each output address The
In addition, each of the output address sections corresponds to the corresponding FFT length, and the ROMs (read-only memories) in which the output addresses for reading out the signal data in the above-described pairs are stored in order from the ROM in this order. The address may be accessed, the stored output address is read, and the output address may be generated.
セレクタ27は、入力されるFFT長に従い、FFT長に対応する出力アドレスを選択し、出力アドレスとして、記憶部22へ出力する。
複素複素乗算部25は、記憶部22から時系列に入力される信号のデータx(k)に対して、FFT回転因子テーブル部27(請求項における複素係数記憶部に対応)から読み出される係数、例えば、FFT長が256の場合、バタフライ演算器11においては「1」、バタフライ演算器12においては「WN 16n0k2」、バタフライ演算器13においては「WN 4(4n1+n0)k1」、バタフライ演算器14においてはWN (16n2+4n1+n0)k0を順次複素乗算して、複素乗算結果を出力する。
複素係数(または複素回転因子)としての上記各係数各々は、複素乗算する対象の信号毎(すなわち、FFT長及びバタフライ演算器の段数に対応して)に異なるため、図4に示すように、FFT回転因子テーブル部27には、FFT長及びバタフライ演算器の段数各々に対応したテーブルを設けておく。このテーブルはROMに予め記憶させるようにして形成しても良いし、RAMに演算を開始させる前に、外部から読み込んでおくように形成してもよい。
The
The complex
Since each of the above coefficients as a complex coefficient (or complex twiddle factor) differs for each signal to be complex-multiplied (that is, corresponding to the FFT length and the number of stages of the butterfly calculator), as shown in FIG. The FFT twiddle
FFT回転因子テーブル部27は、図4に示すように、FFT長毎に対応した係数の記憶領域から構成されており、FFT長が1024個の場合に使用する係数が記憶されている領域D64と、FFT長が256個の場合に使用する係数が記憶されている領域D256と、FFT長が1024個の場合に使用する係数が記憶されている領域D1024とから構成されている。
アドレス生成部28は、領域D64に記憶されている係数を順番に読み出す因子アドレスを生成する因子アドレス生成64部28Aと、領域D256に記憶されている係数を順番に読み出す因子アドレスを生成する因子アドレス生成256部28Bと、領域D1024に記憶されている係数を順番に読み出す因子アドレスを生成する因子アドレス生成1024部28Cとから構成されている。
As shown in FIG. 4, the FFT twiddle
The
アドレス生成部28は、FFT長に応じて記憶部22から順次読み出される信号のデータに対して複素乗算する係数を、信号の読み出しに同期して読み出すため、FFT回転因子テーブル27から係数を読み出す因子アドレス順次生成する。
セレクタ29は、入力されるFFT長情報により、因子アドレス生成64部28A,因子アドレス生成256部28B及び因子アドレス生成1024部28C各々が生成して出力する因子アドレスのいずれかを選択し、選択した因子アドレスをFFT回転因子テーブル27へ出力する。
The
The
複素複素乗算部26は、記憶部22から時系列に入力される信号のデータ各々に対し、FFT回転因子テーブル27から順番に読み出される各係数を、順次複素乗算してシリアル/パラレル変換部30へ出力する。
パラレル/シリアル変換部30は、係数が複素乗算された、4つの信号のデータの組がシリアルに(直列に)、出力アドレス生成部25から出力されるアドレスに従い、記憶部22から読み出された順に、例えば、{x(0),x(64),x(128),x(192)}、{x(1),x(65),x(129),x(193)}、…の順に入力された時点で、一旦この組の信号のデータを記憶し、これら信号のデータをパラレルに(並列に)、複素加減算部27へ出力する。
The complex
The parallel /
また、複素加減算部27は、各バタフライ演算器毎に、対応する上記(4)式から(7)式の加減演算を行い、得られた演算結果をパラレル/シリアル変換器31へ並列に出力する。例えば、バタフライ演算器11における複素加減算部27は、入力される{x(0),x(64),x(128),x(192)}の信号の組に対して所定の複素加減算を行い、演算結果として、中間データ{x1(0),x1(64),x1(128),x1(192)}を並列に出力する。
パラレル/シリアル変換器31は、並列に入力される演算結果{x1(0),x1(64),x1(128),x1(192)}の並びを、パラレルからシリアルに変換して、x1(0),x1(64),x1(128),x1(198)の順で出力する。
Further, the complex addition /
The parallel /
タイミング生成部32は、記憶部22に信号のデータが書き込まれるタイミング、入力アドレス生成部23が入力アドレスを生成して出力するタイミング、出力アドレス生成部25が出力アドレスを生成して出力するタイミング、セレクタ24,28,29各々が選択処理を行うタイミング、複素複素乗算部26が複素乗算するタイミング、シリアル/パラレル変換部30がシリアル・パラレル変換処理を行うタイミング、複素加減算部27が複素加減算を行うタイミング及び、パラレル/シリアル変換部27が複素加減算部27の出力をパラレル・シリアル変換を行うタイミング各々を制御する動作クロックを、上記各部に対して出力し、FFT長情報の示すFFT長に応じて各部の動作を制御する。
すなわち、FFT長が64の場合、64個のデータが入力される毎に、またFFT長が256の場合、256個のデータが入力される毎に、またFFT長が1024の場合、1024個のデータが入力される毎に、下記に説明するFFT演算を周期的に行う。
また、記憶部22におけるダブルバッファとしての、第1及び第2の記憶領域は上記周期毎に、書き込みが行われる領域と、読み出しが行われる領域とに、セレクタ24及びセレクタ28それぞれにより順次切り替えて使用される。
The
That is, when the FFT length is 64, every time 64 pieces of data are input, when the FFT length is 256, every time 256 pieces of data are inputted, and when the FFT length is 1024, there are 1024 pieces of data. Each time data is input, the FFT operation described below is performed periodically.
Further, the first and second storage areas as the double buffer in the
次に、図1及び図2を参照して、本願発明のFFT演算回路1の動作の説明を行う。ここで、入力されるFFT長が256である場合を説明する。
FFT演算回路1には、入力信号x(k),0≦k≦255として、すなわち{x(0),x(1),x(2),x(3),…,x(254),x(255)}の信号列が入力される。また、FFT演算回路1には、FFT長が256であることを示すFFT長情報が入力される。
Next, the operation of the FFT operation circuit 1 of the present invention will be described with reference to FIGS. Here, a case where the input FFT length is 256 will be described.
The FFT operation circuit 1 has an input signal x (k), 0 ≦ k ≦ 255, that is, {x (0), x (1), x (2), x (3),..., X (254), x (255)} signal sequence is input. Further, FFT length information indicating that the FFT length is 256 is input to the FFT operation circuit 1.
上記信号列は、直列にバタフライ演算器11へ入力される。バタフライ演算器11において、FFT長が256個であることを示すFFT長情報がセレクタ24へ入力されているため、セレクタ24は入力アドレス生成256部23Bから入力される入力アドレスを記憶部22に対し出力する。
そして、記憶部22には、入力される上記入力アドレスに対応して、最上位ビットとして「0」を加えたアドレス(第1の記憶領域)に、順次、入力される信号列{x(0),x(1),x(2),x(3),…,x(254),x(255)}の信号を、記憶部22の第1の記憶領域に対して連続した入力アドレスによって書き込む。
The signal sequence is input to the
Then, in the
ここで、入力アドレス生成256部23Bは、0〜255番目までの信号列に対する入力アドレスの生成及び出力を終了すると、次のFFT演算の周期における0〜255番目までの信号列に対する入力アドレスの出力を開始する。
これにより、記憶部22には、次に入力される信号列を、入力アドレスに対して、最上位ビットとして「1」を加えたアドレス(第2の記憶領域)に、順次、入力される信号列{x(0),x(1),x(2),x(3),…,x(254),x(255)}の信号の書き込み処理が開始される。
Here, when the input address generation 256
As a result, signals that are input next to the
また、FFT長が256個であることを示すFFT長情報がセレクタ28へ入力されているため、セレクタ28は出力アドレス生成256部28Bから入力される出力アドレスを記憶部22に対し順次出力、すなわち入力アドレスに対して読み出しの順番が変換された出力アドレスを順次出力する。
このとき、セレクタ28は、出力アドレスの最上位ビットが、FFT長に対応した256個の信号に対応する出力アドレスの出力を終了する毎に、出力アドレスの最上位ビットを「0」と「1」との間で順番に切り替えるように構成されている。このとき、出力アドレス生成256部28Bが出力する出力アドレスに対し、最上位ビットとして「0」を加えたアドレスを、順次、記憶部22に対して出力する。
Further, since the FFT length information indicating that the FFT length is 256 is input to the
At this time, the
ここで、出力アドレス生成256部28Bは、加減演算で行う演算処理に対応した信号の順番として、上記(4)式の演算が複素加減算部27で行われるとした場合、セレクタ28は、出力アドレス生成256部28Bが出力する出力アドレスを順に時系列に出力する。この出力アドレスが入力されることにより、記憶部22から{x(0),x(64),x(128),x(192),x(1),x(65),x(129),x(193)…,x(63),x(127),x(191),x(255)}の信号が順に読み出されて、複素演算部26へ入力される。
このとき、FFT長が256個であることを示すFFT長情報がセレクタ29へ入力されているため、セレクタ29は因子アドレス生成256部29Bから入力される因子アドレスをFFT回転因子テーブル27へ順次出力する。
Here, when the calculation of the above equation (4) is performed by the complex addition /
At this time, since the FFT length information indicating that the FFT length is 256 is input to the
これにより、FFT回転因子テーブル27は、{x(0),x(64),x(128),x(192),x(1),x(65),x(129),x(193)…,x(63),x(127),x(191),x(255)}の信号各々に複素乗算する256個の係数を順次、因子アドレス生成256部28Aの出力するアドレスに従って出力する。
しかしながら、(4)式から判るように、本実施形態の場合、バタフライ演算器11においては、各信号に複素乗算する係数は整数「1」(複素数の実数部分のみ)である。しかしながら、演算アルゴリズムによっては、対応する係数が複素乗算されるため、対応した係数がFFT回転因子テーブルから読み出され、複素複素乗算部26において対応する信号に複素乗算される。
したがって、複素演算部26は、{x(0),x(64),x(128),x(192),…,x(63),x(127),x(191),x(255)}各々に、それぞれ係数「1」を複素乗算し、{x(0),x(64),x(128),x(192),…,x(63),x(127),x(191),x(255)}として、順次、シリアル/パラレル変換部30へ出力する。
As a result, the FFT twiddle factor table 27 has {x (0), x (64), x (128), x (192), x (1), x (65), x (129), x (193). .., X (63), x (127), x (191), x (255)} are sequentially outputted in accordance with the addresses output by the factor address generation 256
However, as can be seen from the equation (4), in the case of the present embodiment, in the
Therefore, the complex
上記出力される演算結果に対して、シリアル/パラレル変換部30は、入力される係数が複素乗算された信号が4個ずつの組、例えば{x(0),x(64),x(128),x(192)}が直列に入力された時点において、これらの信号を並列に並べ直して、複素加減算部27へ出力する。
これにより、複素加減算部27は、上記{x(0),x(64),x(128),x(192)}の各データを用い、上記(4)式における係数「W4 n0k3」に対応した加減演算を行い、演算結果として{x1(0),x1(64),x1(128),x1(192)}を並列に出力する。
The serial /
Thereby, the complex addition /
そして、パラレル/シリアル変換部31は、これら複素加減算結果{x1(0),x1(64),x1(128),x1(192)}を、x1(0)→x1(64)→x1(128)→x1(192)の順番にて直列に変換して、シリアル出力とする。そして、基数4で、かつFFT長が256個であるため、計算単位として64つの組合せに分割されるため、上述した加減演算を64回行い、4つの信号データの演算から求められた4つの中間データの組み合わせとして、64組、すなわち256個の中間データを出力することで、FFT演算の1つの周期(256個の信号に対するFFT処理)を終了する。
Then, the parallel /
このバタフライ演算器11からのパラレル/シリアル変換されたシリアル出力は、次段のバタフライ演算器12の入力信号となり、256個の信号に対するFFT演算における1段目のステージによる中間データである。
バタフライ演算器11は、上述したバタフライ演算の処理を、記憶部22のダブルバッファにおいて、第1及び第2の記憶領域のいずれか一方から信号のデータを読み出してバタフライ演算を行っている際、他方に新たな信号列を書き込んでいる。
The parallel / serial converted serial output from the
The
次に、バタフライ演算器12は、バタフライ演算器11から入力される中間データ列{x1(0),x1(1),x1(2),x1(3),…,x1(253),x1(254),x1(255)}、すなわち中間データx1(k)を、入力データとして入力する。ここで、入力アドレス生成256部25Bは、前段の出力アドレスと同一の入力アドレスを出力する。入力される中間データは、この入力アドレスに従い、記憶部22へ書き込まれる。そして入力後、バタフライ演算器12は、バタフライ演算器11と同様なバタフライ演算の処理を行う。以下の処理は、特に説明が無い限り、バタフライ演算器12におけるバタフライ演算の処理について説明する。この中間データx1(n0,k2,k1,k0)において、中間データの番号kは、
k=64n0+16k2+4k1+k0 ;(k0,k1,k2,n0=0,1,2,3)
で決定される。
Next, the
k = 64 n 0 +16 k 2 +4 k 1 + k 0 ; (k 0 , k 1 , k 2 , n 0 = 0, 1 , 2 , 3)
Determined by
すなわち、バタフライ演算器12においても、バタフライ演算器11と同様に、FFT長が256個であることを示すFFT長情報がセレクタ24へ入力されているため、セレクタ24は入力アドレス生成256部23Bから入力される入力アドレスを記憶部22に対し出力する。これにより、記憶部22には、上記入力アドレスに従い、バタフライ演算器11から入力される中間データが、前段の出力アドレスと同一の値の入力アドレスに順番に書き込まれる(バタフライ演算器11と同様に、記憶部22は第1及び第2の記憶領域からなるダブルバッファ構成となっており、データの書き込み読み出しの処理も同様である)。
That is, in the
バタフライ演算器12において、FFT長が256個であることを示すFFT長情報がセレクタ25へ入力されているため、セレクタ25は出力アドレス生成256部25Bから入力される入力アドレスを記憶部22に対し出力する。
同様に、FFT長が256個であることを示すFFT長情報がセレクタ28へ入力されているため、セレクタ28は因子アドレス生成256部28Bから入力される因子アドレスをFFT回転因子テーブル27に対し出力する。
In the
Similarly, since FFT length information indicating that the FFT length is 256 is input to the
このとき、出力アドレス生成256部25Bは、複素加減算部27により、(5)式の演算が行われるため、すなわち16の位の桁k2についての和を求めるため、k2以外のn0,k1,k0を固定し、x1(0,k2,0、0)としてk2を0,1,2,3で変化させ、中間データx1(0),x1(16),x1(32),x1(48)を読み出すアドレスを生成し、次にx1(0,k2,0、1)としてk2を0,1,2,3で変化させ、x1(1),x1(17),x1(33),x1(49)として、順次出力アドレスを生成する。
これにより、記憶部22に書き込まれた中間データが、出力アドレス生成256部25Bの出力する出力アドレスにより、読み出されて複素複素乗算部26へ出力される。
At this time, the output address generation 256
Thus, the intermediate data written in the
すなわち、上記出力アドレス生成256部25Bは、バタフライ演算器11から入力される中間データx1(k)を、複素加減算部27にて、係数「W4 n1k2」に対応して複素加減算する際の、中間データの組となるように、記憶部22(例えば、第1の記憶領域)に記憶されている入力順に対して並べ替える出力アドレスを生成して出力する。
同様に、FFT回転因子テーブル27は、因子アドレス生成256部28Bから出力される因子アドレスに対応した回転因子である係数「WN 16n0k2」を出力する。
ここで、バタフライ演算器12のFFT回転因子テーブル27は、各FFT長毎に対応したテーブルを有している。これらのテーブルには、第2のステージであるバタフライ演算器12において、記憶部22から出力される中間データx1(k)各々に複素乗算する係数が、FFT長毎に記憶されている。
That is, the output address generation unit 256B performs complex addition / subtraction on the intermediate data x 1 (k) input from the
Similarly, the FFT twiddle factor table 27 outputs a coefficient “W N 16n0k2 ” which is a twiddle factor corresponding to the factor address output from the factor address generation 256
Here, the FFT twiddle factor table 27 of the
次に、複素複素乗算部26は、バタフライ演算器11で説明したと同様に、記憶部22から出力される中間データ各々に、FFT回転因子テーブル27から出力される係数を順次複素乗算して、シリアル/パラレル変換部30へ出力する。
この後の、シリアル・パラレル変換部30,複素加減算部27及びパラレル/シリアル変換部31における処理は、バタフライ演算器11の場合と同様のため、説明を省略する。
そして、バタフライ演算器12は、第2ステージのバタフライ演算の結果として、中間データ列x2(k),0≦k≦256を出力する。
Next, as described in the
The subsequent processing in the serial /
Then, the
次に、バタフライ演算器13は、バタフライ演算器12から入力される中間データ列{x2(0),x2(1),x2(2),x2(3),…,x2(253),x2(254),x2(255)}、すなわち中間データx2(k)を、入力データとして入力する。ここで、入力アドレス生成256部25Bは、前段の出力アドレスと同一の入力アドレスを出力する。入力される中間データは、この入力アドレスに従い、記憶部22へ書き込まれる。そして入力後、バタフライ演算器13は、バタフライ演算器12と同様なバタフライ演算の処理を行う。以下の処理は、特に説明が無い限り、バタフライ演算器13におけるバタフライ演算の処理について説明する。この中間データx2(n0,n1,k1,k0)において、中間データの番号kは、
k=64n0+16n1+4k1+k0 ;(k0,k1,n1,n0=0,1,2,3)
で決定される。
Next, the
k = 64n 0 + 16n 1 + 4k 1 + k 0; (k 0, k 1, n 1, n 0 = 0,1,2,3)
Determined by
すなわち、バタフライ演算器13においても、バタフライ演算器11及び12と同様に、FFT長が256個であることを示すFFT長情報がセレクタ24へ入力されているため、セレクタ24は入力アドレス生成256部23Bから入力される入力アドレスを記憶部22に対し出力する。これにより、記憶部22には、上記入力アドレスに従い、バタフライ演算器12から入力される中間データを、前段の出力アドレスと同様の値の入力アドレスに順番に書き込まれる(バタフライ演算器11及び12と同様に、記憶部22は第1及び第2の記憶領域からなるダブルバッファ構成となっており、データの書き込み読み出しの処理も同様である)。
That is, in the
バタフライ演算器13において、FFT長が256個であることを示すFFT長情報がセレクタ25へ入力されているため、セレクタ25は出力アドレス生成256部25Bから入力される入力アドレスを記憶部22に対し出力する。
同様に、FFT長が256個であることを示すFFT長情報がセレクタ28へ入力されているため、セレクタ28は因子アドレス生成256部28Bから入力される因子アドレスをFFT回転因子テーブル27に対し出力する。
In the
Similarly, since FFT length information indicating that the FFT length is 256 is input to the
このとき、出力アドレス生成256部25Bは、複素加減算部27により、(6)式の演算が行われるため、すなわち4の位の桁k1についての和を求めるため、k1以外のn0,n1,k0を固定し、x2(0,0,k1,0)としてk1を0,1,2,3で変化させ、中間データx2(0),x2(4),x2(8),x2(12)を読み出すアドレスを生成し、次にx3(0,0,k1,1)としてk1を0,1,2,3で変化させ、x2(1),x2(5),x2(9),x2(13)として、順次出力アドレスを生成する。
これにより、記憶部22に書き込まれた中間データが、出力アドレス生成256部25Bの出力する出力アドレスにより、読み出されて複素複素乗算部26へ出力される。
At this time, the output address generation 256
Thus, the intermediate data written in the
すなわち、上記出力アドレス生成256部25Bは、バタフライ演算器12から入力される中間データx2(k)を、複素加減算部27にて、係数「W4 n2k1」に対応して複素加減算する際の、中間データの組となるように、記憶部22(例えば、第1の記憶領域)に記憶されている入力順に対して並べ替える出力アドレスを生成して出力する。
同様に、FFT回転因子テーブル27は、因子アドレス生成256部28Bから出力される因子アドレスに対応した回転因子である係数「WN 4(4n1+n0)k1」を出力する。
ここで、バタフライ演算器13のFFT回転因子テーブル27は、各FFT長毎に対応したテーブルを有している。これらのテーブルには、第3のステージであるバタフライ演算器13において、記憶部22から出力される中間データx2(k)各々に複素乗算する係数が、FFT長毎に記憶されている。
That is, the output address generation unit 256B performs the complex addition / subtraction of the intermediate data x 2 (k) input from the
Similarly, the FFT twiddle factor table 27 outputs a coefficient “W N 4 (4n1 + n0) k1 ” that is a twiddle factor corresponding to the factor address output from the factor address generation 256
Here, the FFT twiddle factor table 27 of the
次に、複素複素乗算部26は、バタフライ演算器12で説明したと同様に、記憶部22から出力される中間データ各々に、FFT回転因子テーブル27から出力される係数を順次複素乗算して、シリアル/パラレル変換部30へ出力する。
この後の、シリアル・パラレル変換部30,複素加減算部27及びパラレル/シリアル変換部31における処理は、バタフライ演算器11の場合と同様のため、説明を省略する。
そして、バタフライ演算器13は、第3ステージのバタフライ演算の結果として、中間データ列x2(k),0≦k≦256を出力する。
上述したように、バタフライ演算器13も、バタフライ演算器12と同様な処理により、第3ステージにおける中間データ列x3(k),0≦k≦256を出力する。
Next, as described in the
The subsequent processing in the serial /
Then, the
As described above, the
次に、バタフライ演算器14は、バタフライ演算器13から入力される中間データ列{x3(0),x3(1),x3(2),x3(3),…,x3(253),x3(254),x3(255)}、すなわち中間データx3(k)を、入力データとして入力する。ここで、入力アドレス生成256部25Bは、前段の出力アドレスと同一の入力アドレスを出力する。入力される中間データは、この入力アドレスに従い、記憶部22へ書き込まれる。そして入力後、バタフライ演算器14は、バタフライ演算器12及び13と同様なバタフライ演算の処理を行う。以下の処理は、特に説明が無い限り、バタフライ演算器14におけるバタフライ演算の処理について説明する。この中間データx3(n0,n1,n2,k0)において、中間データの番号kは、
k=64n0+16n1+4n2+k0 ;(k0,n2,n1,n0=0,1,2,3)
で決定される。
Next, the
k = 64n 0 + 16n 1 + 4n 2 + k 0 ; (k 0 , n 2 , n 1 , n 0 = 0, 1 , 2 , 3)
Determined by
すなわち、バタフライ演算器14においても、バタフライ演算器12及び13と同様に、FFT長が256個であることを示すFFT長情報がセレクタ24へ入力されているため、セレクタ24は入力アドレス生成256部23Bから入力される入力アドレスを記憶部22に対し出力する。これにより、記憶部22には、上記入力アドレスに従い、バタフライ演算器13から入力される中間データが、前段の出力アドレスと同一の値の入力アドレスに順番に書き込まれる(バタフライ演算器11及び12と同様に、記憶部22は第1及び第2の記憶領域からなるダブルバッファ構成となっており、データの書き込み読み出しの処理も同様である)。
That is, in the
バタフライ演算器14において、FFT長が256個であることを示すFFT長情報がセレクタ25へ入力されているため、セレクタ25は出力アドレス生成256部25Bから入力される入力アドレスを記憶部22に対し出力する。
同様に、FFT長が256個であることを示すFFT長情報がセレクタ28へ入力されているため、セレクタ28は因子アドレス生成256部28Bから入力される因子アドレスをFFT回転因子テーブル27に対し出力する。
In the
Similarly, since FFT length information indicating that the FFT length is 256 is input to the
このとき、出力アドレス生成256部25Bは、複素加減算部27により、(7)式の演算が行われるため、すなわち1の位の桁k0についての和を求めるため、k0以外のn0,n1,n2を固定し、x3(0,0,0,k0)としてk0を0,1,2,3で変化させ、中間データx3(0),x3(1),x3(2),x3(3)を読み出すアドレスを生成し、次にx3(0,0,1,k0)としてk0を0,1,2,3で変化させ、x3(4),x3(5),x3(6),x3(7)として、順次出力アドレスを生成する。
これにより、記憶部22に書き込まれた中間データが、出力アドレス生成256部25Bの出力する出力アドレスにより、読み出されて複素複素乗算部26へ出力される。
At this time, the output address generation 256
Thus, the intermediate data written in the
すなわち、上記出力アドレス生成256部25Bは、バタフライ演算器12から入力される中間データx3(k)を、複素加減算部27にて、係数「W4 n3k0」に対応して複素加減算する際の、中間データの組となるように、記憶部22(例えば、第1の記憶領域)に記憶されている入力順に対して並べ替える出力アドレスを生成して出力する。
同様に、FFT回転因子テーブル27は、因子アドレス生成256部28Bから出力される因子アドレスに対応した回転因子である係数「WN (16n2+4n1+n0)k0」を出力する。
ここで、バタフライ演算器13のFFT回転因子テーブル27は、各FFT長毎に対応したテーブルを有している。これらのテーブルには、第4のステージであるバタフライ演算器14において、記憶部22から出力される中間データx3(k)各々に複素乗算する係数が、FFT長毎に記憶されている。
That is, the output address generation unit 256B performs complex addition / subtraction on the intermediate data x 3 (k) input from the
Similarly, the FFT twiddle factor table 27 outputs a coefficient “W N (16n2 + 4n1 + n0) k0 ”, which is a twiddle factor corresponding to the factor address output from the factor address generation 256
Here, the FFT twiddle factor table 27 of the
次に、複素複素乗算部26は、バタフライ演算器13で説明したと同様に、記憶部22から出力される中間データ各々に、FFT回転因子テーブル27から出力される係数を順次複素乗算して、シリアル/パラレル変換部30へ出力する。
この後の、シリアル・パラレル変換部30,複素加減算部27及びパラレル/シリアル変換部31における処理は、バタフライ演算器13の場合と同様のため、説明を省略する。
そして、バタフライ演算器12は、第4ステージのバタフライ演算の結果として、中間データ列x4(k),0≦k≦256を出力する。
上述したように、バタフライ演算器14も、バタフライ演算器12と同様な処理により、第4ステージにおける中間データ列x4(k),0≦k≦256を出力する。
Next, as described in the
The subsequent processing in the serial /
Then, the
As described above, the
ここで、FFT長情報がFFT長が256個であることを示しているため、セレクタ16は、バタフライ演算器14の中間データx4,0≦k≦256を選択して、FFT演算結果であるX(n),0≦n≦256として出力する。
したがって、バタフライ演算器14は、FFT長が256個である場合に、入力信号である信号列{x(0),x(1),x(2),x(3),…,x(254),x(255)}のFFT演算結果である出力信号{X(0),X(1),X(2),X(3),…,X(254),X(255)}を出力し、FFT演算回路1のFFT演算結果とする。
Here, since the FFT length information indicates that the FFT length is 256, the
Therefore, when the FFT length is 256, the
上述したように、バタフライ演算器11,12,13,14及び15各々は、FFT長が64,256及び1024個の場合それぞれにおいて、入力信号である信号または中間データに対して、係数の複素乗算及び、係数が複素乗算された信号(サンプルまたは中間データ)の加減演算に対応して、記憶部22からの信号(中間データ)の読み出し順の変更処理と、FFT回転因子テーブル27に記憶された係数の数値とが異なっているが、基本的に同様な処理を行っている。
As described above, the
また、バタフライ演算器11,12,13,14及び15は、入力される信号、または前段からの中間データのバタフライ演算を行うため、各々の構成違いとして以下の点にある。
バタフライ演算器11,12及び13は、信号及び中間データに対するバタフライ演算を行う必要があるため、FFT長が64、256及び1024個の場合に対応して、入力アドレス生成部23に入力アドレス生成64部23A,入力アドレス生成256部23B及び入力アドレス生成1024部23Cが設けられ、出力アドレス生成部25に出力アドレス生成64部25A,出力アドレス生成256部25B,出力アドレス生成1024部25C、また因子アドレス生成部28に因子アドレス生成64部28A,因子アドレス生成256部25B,因子アドレス生成1024部25Cが設けられ、FFT回転因子テーブル27にFFT長64、256,1024それぞれの場合の係数が記憶されている。また、バタフライ演算器11,12及び13のセレクタ24、28及び29は、上述した構成に対応して、FFT長がFFT長64、256,1024の場合に対応して切り替えられる。
The
Since the
しかしながら、バタフライ演算器14は、FFT長が64の場合においてバタフライ演算を行う必要がないため、FFT長が256及び1024個の場合に対応して、入力アドレス生成部23に入力アドレス生成256部23B及び入力アドレス生成1024部23Cが設けられ、出力アドレス生成部25に出力アドレス生成256部25B,出力アドレス生成1024部25C、また因子アドレス生成部28に因子アドレス生成256部25B,因子アドレス生成1024部25Cが設けられ、FFT回転因子テーブル27にFFT長256,1024それぞれの場合の係数が記憶されている。また、バタフライ演算器14のセレクタ24、28及び29は、上述した構成に対応して、FFT長がFFT長256,1024の場合に対応して切り替えられる。
However, since the
同様に、バタフライ演算器15は、FFT長が1024の場合においてのみ、バタフライ演算を行うため、FFT長が1024個の場合に対応して、入力アドレス生成部23に入力アドレス生成1024部23Cが設けられ、出力アドレス生成部25に出力アドレス生成1024部25C、また因子アドレス生成部28に因子アドレス生成1024部25Cが設けられ、FFT回転因子テーブル27に信号1024の係数が記憶されている。また、バタフライ演算器14には、FFT長が1024個の場合のみの入力アドレス,出力アドレス及び因子アドレス、そして、中間データに複素乗算する係数しか必要とされないため、セレクタが設けられていない。
Similarly, the
ここで、バタフライ演算器14及び15も、バタフライ演算器セルとして、バタフライ演算器11〜13と同様な回路構成とし、必要な部分のみ使用するように構成してもよい。
また、バタフライ演算器14及び15は、FFT長情報がFFT長64を示している場合に動作を停止し、バタフライ演算器15は、FFT長情報がFFT長256を示している場合に動作を停止するように構成してもよい。
Here, the
The
また、信号順変換部としての、入力アドレス生成部23,出力アドレス生成部25及び記憶部22において、上述した構成では、記憶部22の連続したアドレスに、入力された順番に、記憶部21が順次信号を書き込んでいた。そして、FFT長に対応して、出力アドレス生成部25が、複素乗算する順番に記憶部22から信号を読み出す出力アドレスを生成するようにした。
しかしながら、信号順変換部として、記憶部22に書き込む入力アドレスを、信号が複素乗算される順番に連続して記憶部22に記憶されるアドレスとして生成し、その入力アドレスに対応して、入力する信号を順次記憶部22に書き込むようにしてもよい。これにより、上述した実施形態と同様に、入力される信号順を各演算を行う順番に変換することができる。これにより、出力アドレス生成部25は記憶部22の連続したアドレスを生成し、順次、記憶部22から信号を読み出すこととなる。
Moreover, in the input
However, as a signal order conversion unit, an input address to be written in the
また、上述した本実施形態のFFT演算回路は、各バタフライ演算器における回転因子のテーブルにおける係数と、加減演算の式とを変更することにより、逆FFT演算回路として用いることが可能である。 Further, the above-described FFT operation circuit of this embodiment can be used as an inverse FFT operation circuit by changing the coefficient in the table of twiddle factors in each butterfly operation unit and the equation for addition / subtraction operation.
1…FFT演算回路
11,12,13,14,15…バタフライ演算器
16,24,28,29…セレクタ
22…記憶部
23…入力アドレス生成部
23A…入力アドレス生成63部
23B…入力アドレス生成256部
23C…入力アドレス生成1024部
25…出力アドレス生成部
25A…出力アドレス生成63部
25B…出力アドレス生成256部
25C…出力アドレス生成1024部
26…複素複素乗算部
27…複素加減算部
28…因子アドレス生成部
28A…因子アドレス生成63部
28B…因子アドレス生成256部
28C…因子アドレス生成1024部
30…シリアル/パラレル変換部
31…パラレル/シリアル変換部
32…タイミング生成部
DESCRIPTION OF SYMBOLS 1 ...
Claims (4)
前記バタフライ演算部が、
入力される信号を一旦格納する一時記憶部を備え、バタフライ演算において複素乗算及び複素加減算を行う順番に、順次信号を読み出す信号順変換部と、
FFT長及びバタフライ演算部の段数に対応して、各信号に複素乗算する複素係数が記憶された複素係数記憶部と、
読み出された前記信号毎に、前記複素係数記憶部から対応する複素係数を順次読み出して複素乗算する複素乗算部と、
該複素乗算部から出力される、複素係数が複素乗算された信号に対し、順次複素加減算を行う複素加減算部と
を有し、
前記バタフライ演算部の間はシリアルで信号が転送され、前記複素乗算部から出力されるシリアル信号はシリアル/パラレル変換部でパラレル信号に変換されて前記複素加減算部に入力され、前記複素加減算部から出力されるパラレル信号はパラレル/シリアル変換部でシリアル信号に変換されて、次段のバタフライ演算部に入力されることを特徴とするFFT演算回路。 An FFT operation circuit comprising a plurality of butterfly operation units connected in series, arbitrarily selecting and setting the FFT length to be calculated,
The butterfly computing unit is
A signal storage unit that temporarily stores an input signal, a signal forward conversion unit that sequentially reads out signals in order of performing complex multiplication and complex addition / subtraction in butterfly computation;
Corresponding to the FFT length and the number of stages of the butterfly operation unit, a complex coefficient storage unit that stores complex coefficients for complex multiplication of each signal,
For each of the read signals, a complex multiplication unit that sequentially reads out corresponding complex coefficients from the complex coefficient storage unit and performs complex multiplication,
Output from the complex-multiplication unit, on signals complex coefficients are complex-multiplied, possess a complex addition and subtraction unit for performing sequential complex addition and subtraction,
A serial signal is transferred between the butterfly operation units, and a serial signal output from the complex multiplication unit is converted into a parallel signal by a serial / parallel conversion unit and input to the complex addition / subtraction unit. The output parallel signal is converted into a serial signal by a parallel / serial conversion unit and input to a butterfly calculation unit at the next stage .
入力される前記信号を順次前記一時記憶部に書き込む入力アドレスを生成する入力アドレス生成部と、
FFT長に対応して、複素乗算部が読み出した前記複素係数を複素乗算する順番に読み出す出力アドレスを生成する出力アドレス生成部と、
該出力アドレスに対応して、前記一時記憶部から信号を順次読み出す読出回路と
を有することを特徴とする請求項1または請求項2に記載のFFT演算回路。 The signal forward conversion unit,
An input address generation unit for generating an input address for sequentially writing the input signals to the temporary storage unit;
An output address generation unit that generates an output address that is read in the order of complex multiplication of the complex coefficients read by the complex multiplication unit, corresponding to the FFT length;
The FFT operation circuit according to claim 1, further comprising: a readout circuit that sequentially reads out signals from the temporary storage unit corresponding to the output address.
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005366731A JP4791172B2 (en) | 2005-12-20 | 2005-12-20 | FFT operation circuit |
KR1020060101573A KR100878765B1 (en) | 2005-12-20 | 2006-10-18 | Circuit for FFT Operation |
US11/641,864 US7979485B2 (en) | 2005-12-20 | 2006-12-20 | Circuit for fast fourier transform operation |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005366731A JP4791172B2 (en) | 2005-12-20 | 2005-12-20 | FFT operation circuit |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2007172157A JP2007172157A (en) | 2007-07-05 |
JP4791172B2 true JP4791172B2 (en) | 2011-10-12 |
Family
ID=38298659
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2005366731A Active JP4791172B2 (en) | 2005-12-20 | 2005-12-20 | FFT operation circuit |
Country Status (2)
Country | Link |
---|---|
JP (1) | JP4791172B2 (en) |
KR (1) | KR100878765B1 (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101969542B1 (en) * | 2017-12-21 | 2019-04-16 | 엘아이지넥스원 주식회사 | Apparatus for generating IP address using user information and system for communicating D2D with the apparatus and method thereof |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS5887655A (en) * | 1981-11-20 | 1983-05-25 | Asahi Chem Ind Co Ltd | High speed fourier transformation device of pipeline |
JP2848134B2 (en) * | 1992-07-03 | 1999-01-20 | 富士通株式会社 | Variable fast Fourier transform circuit |
JP3757782B2 (en) * | 2000-10-30 | 2006-03-22 | 日本電気株式会社 | FFT operation circuit |
JP3917522B2 (en) * | 2001-02-28 | 2007-05-23 | 富士通株式会社 | Fourier transform device |
KR100444729B1 (en) * | 2001-12-24 | 2004-08-16 | 한국전자통신연구원 | Fast fourier transform apparatus using radix-8 single-path delay commutator and method thereof |
KR100846485B1 (en) * | 2002-04-09 | 2008-07-17 | 삼성전자주식회사 | Method and apparatus of hadamard transform |
US7415584B2 (en) * | 2003-11-26 | 2008-08-19 | Cygnus Communications Canada Co. | Interleaving input sequences to memory |
KR100576520B1 (en) * | 2003-12-01 | 2006-05-03 | 전자부품연구원 | Variable fast fourier transform processor using iteration algorithm |
-
2005
- 2005-12-20 JP JP2005366731A patent/JP4791172B2/en active Active
-
2006
- 2006-10-18 KR KR1020060101573A patent/KR100878765B1/en active IP Right Grant
Also Published As
Publication number | Publication date |
---|---|
KR100878765B1 (en) | 2009-01-14 |
JP2007172157A (en) | 2007-07-05 |
KR20070065778A (en) | 2007-06-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100313501B1 (en) | Fft processor with cbfp algorithm | |
KR20150132287A (en) | Vector processing engines having programmable data path configurations for providing multi-mode radix-2x butterfly vector processing circuits, and related vector processors, systems, and methods | |
CN114968173A (en) | Polynomial multiplication method and polynomial multiplier based on NTT and INTT structures | |
Lenart et al. | A 2048 complex point FFT processor using a novel data scaling approach | |
US7979485B2 (en) | Circuit for fast fourier transform operation | |
RU2700194C1 (en) | Unified reconfigurable fast fourier transform switching circuit and method of its formation | |
JP4791172B2 (en) | FFT operation circuit | |
US8788558B2 (en) | Method and device for transform computation | |
US4991132A (en) | Apparatus for executing division by high-speed convergence processing | |
JPWO2011102291A1 (en) | Fast Fourier transform circuit | |
US7925213B2 (en) | Method and system for audio signal processing for Bluetooth wireless headsets using a hardware accelerator | |
JP6687803B2 (en) | Systems and methods for piecewise linear approximation | |
JP3065979B2 (en) | Fast Fourier transform apparatus and method, variable bit reverse circuit, inverse fast Fourier transform apparatus and method, and OFDM reception and transmission apparatus | |
CN114281304A (en) | Random calculation method, circuit, chip and equipment | |
Muscedere et al. | On efficient techniques for difficult operations in one and two-digit DBNS index calculus | |
JP3913921B2 (en) | Circuit for reciprocal of arbitrary element in finite field | |
JPH1139289A (en) | Arithmetic circuit | |
Ho | Design and Implementation of a Polynomial Basis Multiplier Architecture Over GF (2 m) | |
Chen et al. | Optimal circuits for parallel bit reversal | |
Hazarika et al. | High performance multiplierless serial pipelined VLSI architecture for real-valued FFT | |
US20210342102A1 (en) | Signal processing apparatus, method, program, and recording medium | |
RU2730174C1 (en) | Reconfigurable fast fourier transform computer of super-long transform length | |
JP4461669B2 (en) | Arithmetic system | |
JP2697619B2 (en) | N-point FFT dedicated processor | |
JPS6220590B2 (en) |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20080925 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20110223 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20110301 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20110601 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20110621 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20110721 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140729 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 4791172 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |