JPWO2013042249A1 - Fast Fourier transform circuit - Google Patents
Fast Fourier transform circuit Download PDFInfo
- Publication number
- JPWO2013042249A1 JPWO2013042249A1 JP2013534547A JP2013534547A JPWO2013042249A1 JP WO2013042249 A1 JPWO2013042249 A1 JP WO2013042249A1 JP 2013534547 A JP2013534547 A JP 2013534547A JP 2013534547 A JP2013534547 A JP 2013534547A JP WO2013042249 A1 JPWO2013042249 A1 JP WO2013042249A1
- Authority
- JP
- Japan
- Prior art keywords
- data
- unit
- output
- outputs
- clock signal
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Abstract
時間軸上で並列する複数のデータ列を小規模な回路でFFT処理する。マルチプレクサ(11)は、時間軸上で並列する複数のデータ列を受信し、単位時間ごとに所定のデータ列順に各データ列の部分データを出力し、初段のバタフライ演算部(12−1)は、マルチプレクサ(11)が出力した部分データを第2の入力データとして入力し、初段のバタフライ演算部(12−1)に対応して設けられた遅延部(13−1)は、マルチプレクサ(11)が出力した部分データをデータ列順に入力し、遅延して初段のバタフライ演算部(12−1)の第1の入力データとして出力する。A plurality of data strings parallel on the time axis are subjected to FFT processing by a small circuit. The multiplexer (11) receives a plurality of data strings parallel on the time axis, outputs partial data of each data string in order of a predetermined data string for each unit time, and the first stage butterfly operation unit (12-1) The partial data output from the multiplexer (11) is input as second input data, and the delay unit (13-1) provided corresponding to the first stage butterfly calculation unit (12-1) is connected to the multiplexer (11). Are output in the order of the data string, and output as the first input data of the first stage butterfly operation unit (12-1) with a delay.
Description
本発明は、高速フーリエ変換回路に関する。 The present invention relates to a fast Fourier transform circuit.
パイプライン型の高速フーリエ変換(以下FFTと呼ぶ)回路は、有線または無線通信装置、AV(Audio/Visual)機器など、産業上の広い分野において適用されている。
従来、時間軸上で並列する複数のデータ列である、複数チャンネルのストリームデータを処理する際、1つのパイプライン型のFFT回路を用い、SISO(Single Input Single Output)で、入力を切り替えて1チャンネルごとデータ処理を行っていた。しかし、近年、無線のMIMO(Multi Input Multi Output)に代表されるように、複数チャンネルのストリームデータを同時に処理したいという要求が高まっている。Pipeline type fast Fourier transform (hereinafter referred to as FFT) circuits are applied in a wide range of industrial fields such as wired or wireless communication devices, AV (Audio / Visual) devices, and the like.
Conventionally, when processing stream data of a plurality of channels, which are a plurality of data strings arranged in parallel on the time axis, a single pipeline type FFT circuit is used, and the input is switched by SISO (Single Input Single Output). Data processing was performed for each channel. However, in recent years, as represented by wireless MIMO (Multi Input Multi Output), there is an increasing demand to simultaneously process stream data of a plurality of channels.
複数チャンネルのストリームデータを同時に処理する手法として、チャンネルごとにパイプライン型のFFT回路を設け、各FFT回路にて複数チャンネルのストリームデータを独立に処理する手法が知られている。 As a technique for simultaneously processing stream data of a plurality of channels, a technique of providing a pipeline type FFT circuit for each channel and independently processing the stream data of a plurality of channels in each FFT circuit is known.
しかしながら、複数のストリームデータを処理する従来のFFT回路は、チャンネルごとにパイプライン型のFFT回路を設けるため、回路規模が大きくなるという問題があった。 However, the conventional FFT circuit for processing a plurality of stream data has a problem that the circuit scale becomes large because a pipeline type FFT circuit is provided for each channel.
発明の一観点によれば、時間軸上で並列する複数のデータ列を受信し、単位時間ごとに所定のデータ列順に各データ列の部分データを出力するマルチプレクサと、入力したデータを遅延して出力する複数の遅延部と、前記複数の遅延部に対応して複数段設けられ、対応する遅延部の出力データを第1の入力データとして入力し、第2の入力データとの和及び差を演算し、一方の演算結果または前記第2の入力データを前記対応する遅延部に出力するバタフライ演算部と、前記バタフライ演算部の他方の演算結果または前記対応する遅延部の出力データと、回転因子とを乗算して後段の前記バタフライ演算部の前記第2の入力データとして出力する乗算部と、を有し、初段の前記バタフライ演算部は、前記マルチプレクサが出力した前記部分データを前記第2の入力データとして入力し、前記複数の遅延部のうち、初段の前記バタフライ演算部に対応して設けられた遅延部は、前記マルチプレクサが出力した前記部分データを前記データ列順に入力し、遅延して初段の前記バタフライ演算部の前記第1の入力データとして出力する高速フーリエ変換回路が提供される。 According to one aspect of the invention, a multiplexer that receives a plurality of data strings parallel on the time axis and outputs partial data of each data string in a predetermined data string order for each unit time, and delays the input data A plurality of delay units to be output and a plurality of stages corresponding to the plurality of delay units are provided, and the output data of the corresponding delay unit is input as first input data, and the sum and difference with the second input data are calculated. A butterfly operation unit that calculates and outputs one operation result or the second input data to the corresponding delay unit, the other operation result of the butterfly operation unit or the output data of the corresponding delay unit, and a twiddle factor And a multiplication unit that outputs the second input data of the butterfly computation unit in the subsequent stage, and the butterfly computation unit in the first stage outputs the partial data output from the multiplexer. A delay unit provided corresponding to the first butterfly operation unit among the plurality of delay units, the partial data output by the multiplexer in the order of the data string. A fast Fourier transform circuit is provided that inputs and delays and outputs the first input data of the first butterfly computation unit.
開示の高速フーリエ変換回路によれば、複数のストリームデータを小規模な回路でFFT処理できる。
本発明の上記および他の目的、特徴および利点は本発明の例として好ましい実施の形態を表す添付の図面と関連した以下の説明により明らかになるであろう。According to the disclosed fast Fourier transform circuit, a plurality of stream data can be subjected to FFT processing with a small-scale circuit.
These and other objects, features and advantages of the present invention will become apparent from the following description taken in conjunction with the accompanying drawings which illustrate preferred embodiments by way of example of the present invention.
以下、本発明の実施の形態を、図面を参照しつつ説明する。
図1は、本実施の形態におけるFFT回路の一例を示す図である。
FFT回路10は、マルチプレクサ11、バタフライ演算部12−1,12−2,12−3、遅延部13−1,13−2,13−3、乗算部14−1,14−2、回転因子生成部15−1,15−2、逓倍回路16、カウンタ17、制御部18を有している。Hereinafter, embodiments of the present invention will be described with reference to the drawings.
FIG. 1 is a diagram illustrating an example of an FFT circuit in this embodiment.
The
本実施の形態のFFT回路10は、バタフライ演算を用いて、フーリエ変換を行うパイプライン型のFFT回路である。計算アルゴリズムの詳細な説明は省略するが、パイプライン型のFFTでは、FFTのデータ長をその約数に分割して演算が行われる。データ長が8の場合には、8=2×2×2と表せるので、8の約数である、8、4、2をデータ長とする3つの段(ステージ)でFFT演算が行われる。なお、図1に示すFFT回路10は、FFTのデータ長が8の場合の例を示すものであるが、これに限定されるものではない。
The
マルチプレクサ11は、時間軸上で並列する複数のデータ列(以下ストリームデータと呼ぶ)を受信する。図1に示す例では、マルチプレクサ11は、入力信号線IN1,IN2,IN3から、3つのストリームデータを受信する。
The
図2は、ストリームデータの一例を示す図である。横軸は時間軸である。
図2では、3つのストリームデータSD1,SD2,SD3の例が示されている。ストリームデータSD1は、部分データx0,x1,x2,…,xnを有し、ストリームデータSD2は、部分データy0,y1,y2,…,ynを有し、ストリームデータSD3は、部分データz0,z1,z2,…,znを有する。各部分データのデータ量は、たとえば、1ワードである。ストリームデータSD1〜SD3の種類は、たとえば、画像データ、音声データなどであり、特に限定されるものではない。FIG. 2 is a diagram illustrating an example of stream data. The horizontal axis is the time axis.
FIG. 2 shows an example of three stream data SD1, SD2, and SD3. The stream data SD1 has partial data x0, x1, x2,..., Xn, the stream data SD2 has partial data y0, y1, y2,..., Yn, and the stream data SD3 has partial data z0, z1. , Z2,..., Zn. The data amount of each partial data is, for example, one word. The types of the stream data SD1 to SD3 are, for example, image data, audio data, etc., and are not particularly limited.
マルチプレクサ11は、たとえば、入力信号線IN1を介してストリームデータSD1を受信し、入力信号線IN2を介してストリームデータSD2を受信し、入力信号線IN3を介してストリームデータSD3を受信する。ストリームデータSD1〜SD3は、クロック信号に同期して、FFT回路10の外部から供給される。マルチプレクサ11は、単位時間ごとに、所定のストリームデータ順に各ストリームの部分データを出力する。
For example, the
たとえば、マルチプレクサ11は、ストリームデータSD1,SD2,SD3の順で、各ストリームデータSD1〜SD3の1つの部分データを、単位時間ごとに出力していく。たとえば、図2のようなストリームデータSD1〜SD3を受信するマルチプレクサ11は、単位時間ごとに、部分データx0,y0,z0,x1,y1,z1,…,xn,yn,znの順で出力を行う。
For example, the
なお、単位時間は、逓倍回路16で周波数がストリームデータ数倍されたクロック信号の周期である。
バタフライ演算部12−1〜12−3は、遅延部13−1〜13−3に対応して複数段設けられている。The unit time is a cycle of the clock signal whose frequency is multiplied by the number of stream data by the
The butterfly computing units 12-1 to 12-3 are provided in a plurality of stages corresponding to the delay units 13-1 to 13-3.
なお、バタフライ演算部12−1〜12−3と、遅延部13−1〜13−3の段数は、FFTを行う各ストリームデータSD1,SD2,SD3の部分データ数(FFTのデータ長)に応じて決まる。部分データ数が23=8の場合は、図1に示すように、3段のバタフライ演算部12−1〜12−3が設けられる。なお、部分データ数が24=16の場合には、4段のバタフライ演算部が設けられることになる。The number of stages of the butterfly operation units 12-1 to 12-3 and the delay units 13-1 to 13-3 depends on the number of partial data (FFT data length) of each of the stream data SD1, SD2, and SD3 to be subjected to FFT. Determined. When the number of partial data is 2 3 = 8, as shown in FIG. 1, three stages of butterfly computing units 12-1 to 12-3 are provided. When the number of partial data is 2 4 = 16, a four-stage butterfly operation unit is provided.
バタフライ演算部12−1〜12−3は、対応する遅延部13−1〜13−3の出力データを第1の入力データとして入力し、第2の入力データとの和及び差を演算する。そして、バタフライ演算部12−1〜12−3は、一方の演算結果または第2の入力データを対応する遅延部13−1〜13−3に出力する。 The butterfly calculation units 12-1 to 12-3 receive the output data of the corresponding delay units 13-1 to 13-3 as the first input data, and calculate the sum and difference with the second input data. Then, the butterfly calculation units 12-1 to 12-3 output one calculation result or the second input data to the corresponding delay units 13-1 to 13-3.
バタフライ演算部12−1は、演算部12a、セレクタ12b,12cを有する。演算部12aは、端子I1により遅延部13−1からの出力データを入力し、端子I2によりマルチプレクサ11から出力された部分データを入力する。そして、演算部12aは、両者の和と差を演算し、差を端子SUBから出力し、和を端子ADDから出力する。
The butterfly calculation unit 12-1 includes a
セレクタ12bには、マルチプレクサ11から出力される部分データと、演算部12aの端子SUBから出力される演算結果が入力される。セレクタ12bは、制御部18の端子Q2から出力されるビットの値に応じて、2つの入力データのうち一方を選択して、遅延部13−1に出力する。セレクタ12bは、制御部18の端子Q2から出力されるビットが“0”のとき、マルチプレクサ11から出力される部分データを選択して出力し、ビットが“1”のとき、演算部12aの端子SUBから出力される演算結果を選択して出力する。
The partial data output from the
セレクタ12cには、遅延部13−1からの出力データと、演算部12aの端子ADDから出力される演算結果が入力される。セレクタ12cは、制御部18の端子Q2から出力されるビットの値に応じて、2つの入力データのうち一方を選択して、乗算部14−1に出力する。セレクタ12cは、制御部18の端子Q2から出力されるビットが“0”のとき、遅延部13−1からの出力データを選択して出力し、ビットが“1”のとき、演算部12aの端子ADDから出力される演算結果を選択して出力する。
The
バタフライ演算部12−2,12−3も、バタフライ演算部12−1と同様の回路を有するが、図1では図示を省略している。ただ、セレクタ12bは、バタフライ演算部12−2においては、マルチプレクサ11から出力される部分データの代わりに、乗算部14−1の演算結果を入力する。また、セレクタ12bは、バタフライ演算部12−3においては、マルチプレクサ11から出力される部分データの代わりに、乗算部14−2の演算結果を入力する。
The butterfly computing units 12-2 and 12-3 also have the same circuit as the butterfly computing unit 12-1, but are not shown in FIG. However, in the butterfly calculation unit 12-2, the
また、最後段のバタフライ演算部12−3は、出力信号線OUTと接続されており、出力信号線OUTを介して、FFT回路10の外部にFFT結果を出力する。
遅延部13−1〜13−3は、入力したデータを遅延して出力するものであり、バタフライ演算部12−1〜12−3の段数に対応して複数設けられる。図1の例では、3つの遅延部13−1〜13−3が設けられている。The butterfly computing unit 12-3 at the last stage is connected to the output signal line OUT, and outputs the FFT result to the outside of the
The delay units 13-1 to 13-3 output the input data with a delay, and a plurality of delay units 13-1 to 13-3 are provided corresponding to the number of stages of the butterfly calculation units 12-1 to 12-3. In the example of FIG. 1, three delay units 13-1 to 13-3 are provided.
初段のバタフライ演算部12−1に対応して設けられた遅延部13−1はシフトレジスタ13aを有しており、逓倍回路16で生成される逓倍クロック信号に同期して取り込んだデータをシフトし、所定の遅延時間分遅延した後、出力する。遅延部13−2,13−3も同様のシフトレジスタを有しているが、図1では図示を省略している。
The delay unit 13-1 provided corresponding to the first stage butterfly operation unit 12-1 has a
また、遅延部13−1は、マルチプレクサ11が出力した部分データを前述のストリームデータ順に入力し、遅延して初段のバタフライ演算部12−1の第1の入力データとして出力する。図1では、部分データx0,y0,z0の順で、遅延部13−1のシフトレジスタ13aに格納されている様子が示されている。
Also, the delay unit 13-1 inputs the partial data output from the
なお、バタフライ演算部12−1〜12−3へ第1の入力データを出力する遅延部13−1〜13−3では、ストリームデータ数及び部分データ数に応じて、遅延時間が以下のようになるように設定される。すなわち、遅延時間は、バタフライ演算部12−1〜12−3の第2の入力データに含まれる部分データと同じストリームデータの部分データが含まれる第1の入力データが共にバタフライ演算部12−1〜12−3に入力されるように設定される。 In the delay units 13-1 to 13-3 that output the first input data to the butterfly computing units 12-1 to 12-3, the delay time is as follows according to the number of stream data and the number of partial data. Is set to be That is, the delay time of both the first input data including the partial data of the same stream data as the partial data included in the second input data of the butterfly calculation units 12-1 to 12-3 is the butterfly calculation unit 12-1. ˜12-3 is set to be input.
たとえば、ストリームデータSD1の部分データx4がバタフライ演算部12−1に入力されている場合、同じストリームデータSD1の部分データx0が遅延部13−1から出力されるように遅延時間が設定されている。 For example, when the partial data x4 of the stream data SD1 is input to the butterfly operation unit 12-1, the delay time is set so that the partial data x0 of the same stream data SD1 is output from the delay unit 13-1. .
部分データ数が8のとき、3つの遅延部13−1〜13−3が設けられ、遅延時間は、遅延部13−1では、4×ストリームデータ数×単位時間となる。また、遅延部13−2では、遅延時間は、2×ストリームデータ数×単位時間となり、遅延部13−3では、1×ストリームデータ数×単位時間となる。 When the number of partial data is 8, three delay units 13-1 to 13-3 are provided, and the delay time is 4 × number of stream data × unit time in the delay unit 13-1. In the delay unit 13-2, the delay time is 2 × number of stream data × unit time, and in the delay unit 13-3, 1 × number of stream data × unit time.
したがって、ストリームデータ数が3つのとき、遅延部13−1の遅延時間は、12×単位時間、遅延部13−2の遅延時間は、6×単位時間、遅延部13−3の遅延時間は、3×単位時間となる。 Therefore, when the number of stream data is 3, the delay time of the delay unit 13-1 is 12 × unit time, the delay time of the delay unit 13-2 is 6 × unit time, and the delay time of the delay unit 13-3 is 3 × unit time.
これにより、各段のバタフライ演算部12−1〜12−3では、同じストリームデータの部分データによるバタフライ演算が可能になる。
乗算部14−1,14−2は、セレクタ12cの選択結果に応じて、バタフライ演算部12−1,12−2の演算結果の一方または、遅延部13−1,13−2の出力データと、回転因子とを乗算して出力する。乗算部14−1,14−2から出力されたデータは、後段のバタフライ演算部12−2,12−3の第2の入力データとなる。As a result, the butterfly computation units 12-1 to 12-3 at each stage can perform butterfly computation using partial data of the same stream data.
Depending on the selection result of the
回転因子生成部15−1,15−2は、回転因子(ひねり係数(Twiddle factor)と呼ばれることもある)を生成する。回転因子生成部15−1,15−2は、制御部18からの信号に応じて回転因子を更新する。回転因子は以下の式で表される。
The twiddle factor generators 15-1 and 15-2 generate a twiddle factor (sometimes referred to as a twist factor). The twiddle factor generation units 15-1 and 15-2 update the twiddle factor according to the signal from the
WN n=(exp-j(2π/N))n
上式で、Nは各段(ステージ)のFFTのデータ長である。データ長が8のFFT演算を行う図1のFFT回路10では、初段のバタフライ演算部12−1の出力に乗ずる回転因子を生成する回転因子生成部15−1では、N=8となる。2段目のバタフライ演算部12−2の出力に乗ずる回転因子を生成する回転因子生成部15−2では、N=4となる。W N n = (exp −j (2 π / N) ) n
In the above equation, N is the FFT data length of each stage. In the
またnは、10進数のステージステート番号であり、制御部18の端子Q0,Q1,Q2から出力されるビットによって決まる。以下、各端子Q0〜Q2から出力されるビットをビットQ0〜Q2と表記することにする。ビットQ0が最下位ビット、ビットQ2が最上位ビットである。
N is a decimal stage state number and is determined by bits output from the terminals Q0, Q1, and Q2 of the
ステージステート番号nは、N=8の場合、0〜7の値をとり、N=4の場合、0〜3の値をとる。
たとえば、ビットQ2,Q1,Q0の3ビットが2進数で(000)の場合には、n=0であり、W8 0=W4 0=1となる。また、N=8の場合、W8 nは、n=4〜7のとき、“1”となり、N=4の場合、W4 nは、n=2,3のとき、“1”となる性質をもつ。The stage state number n takes a value of 0 to 7 when N = 8, and takes a value of 0 to 3 when N = 4.
For example, if the three bits Q2, Q1, and Q0 are binary numbers (000), n = 0 and W 8 0 = W 4 0 = 1. When N = 8, W 8 n is “1” when n = 4 to 7, and when N = 4, W 4 n is “1” when n = 2, 3. Has properties.
逓倍回路16は、マルチプレクサ11への入力タイミングを決めているクロック信号を、クロック信号線CLKを介して受信し、そのクロック信号の周波数をストリームデータ数倍した逓倍クロック信号を生成する。逓倍クロック信号の周期が、前述の単位時間となる。そのため、逆にクロック信号は、単位時間のストリームデータ数倍の周期をもつもの、といえる。
The
カウンタ17は、逓倍クロック信号の周期で更新するマルチプレクサ11の選択信号を生成するとともに、逓倍クロック信号をストリームデータ数倍に分周した制御信号(以下イネーブル信号と呼ぶ)を、制御部18に対して出力する機能を有する。ストリームデータ数が3の場合、カウンタ17は、3進数のバイナリカウンタであり、逓倍クロック信号の立ち上がりまたは立ち下がりエッジをカウントして、カウント値が2(2進数表記では(10))のときに、制御部18に対して“1”を出力する。
The
また、カウンタ17は、カウント値をマルチプレクサ11に対して選択信号として出力する。カウント値は、逓倍クロック信号の周期で更新するので、マルチプレクサ11では、逓倍クロック信号の周期で、ストリームデータSD1〜SD3の部分データを選択して出力していくことになる。
The
制御部18は、FFTを行う部分データ数が8の場合、3ビットのバイナリカウンタである。制御部18は、カウンタ17から出力されるイネーブル信号を端子ENで受信し、イネーブル信号が“1”のときは、端子CKに入力される逓倍クロック信号の立ち上がりまたは立ち下がりエッジをカウントする。そして、制御部18は、カウント値の最上位のビットQ2をバタフライ演算部12−1と回転因子生成部15−1に送出する。
The
また、制御部18は、カウント値の2番目のビットQ1をバタフライ演算部12−2と回転因子生成部15−1,15−2に送出し、最下位のビットQ0をバタフライ演算部12−3と回転因子生成部15−1,15−2に送出する。
Further, the
これにより、回転因子生成部15−1,15−2は、イネーブル信号に応じたタイミング(すなわち、元のクロック信号の周期)で回転因子を更新できる。
このような本実施の形態のFFT回路10とすることにより、以下にその動作の詳細を示すように、複数のストリームデータが部分データごとに、一本のパイプライン型のFFT回路10にてFFT処理できるようになる。つまり、複数のストリームデータに対して、小規模な回路でFFTを行うことが可能になる。Thereby, the twiddle factor generation units 15-1 and 15-2 can update the twiddle factor at the timing according to the enable signal (that is, the period of the original clock signal).
By using the
また、本実施の形態のFFT回路10では、元のクロック信号の周波数をストリームデータ数倍した逓倍クロック信号の周期でマルチプレクサ11から部分データを出力させ、回転因子についてはクロック信号の周期で更新させている。これにより、一本のパイプライン型のFFT回路10でも、高速に複数のストリームデータのFFTを行うことが可能になる。
Also, in the
以下、本実施の形態のFFT回路10の動作を説明する。
なお、以下の説明では、図2に示したような3つのストリームデータSD1〜SD3が、FFT回路10の外部から、入力信号線IN1〜IN3を介してマルチプレクサ11に入力されるとする。また、FFT回路10は、クロック信号または逓倍クロック信号の立ち上がりタイミングに同期して動作するものとする。Hereinafter, the operation of the
In the following description, it is assumed that three stream data SD1 to SD3 as shown in FIG. 2 are input from the outside of the
マルチプレクサ11はストリームデータSD1〜SD3をクロック信号に同期して部分データごとに受信する。最初に、マルチプレクサ11は、各ストリームデータSD1〜SD3の最初の部分データx0,y0,z0を、クロック信号のある立ち上がりタイミングで受信する。
The
初期状態では、カウンタ17のカウント値は(00)であり、このカウント値を選択信号とするマルチプレクサ11は、ストリームデータSD1の最初の部分データx0を選択して出力する。また初期状態では、制御部18から出力されるビットQ2,Q1,Q0は(000)であり、バタフライ演算部12−1のセレクタ12bは、部分データx0を出力する。
In the initial state, the count value of the
なお、ビットQ2,Q1,Q0が(000)の場合、前述したように、回転因子生成部15−1,15−2で生成される回転因子は“1”である。
逓倍回路16で生成された逓倍クロック信号が、H(High)レベルに立ち上がると、カウンタ17のカウント値は(01)となる。これにより、マルチプレクサ11は、ストリームデータSD2の最初の部分データy0を選択して出力する。カウンタ17のカウント値が(01)であるので、カウンタ17から制御部18に出力されるイネーブル信号は“0”のままである。そのため、制御部18から出力されるビットQ2,Q1,Q0も(000)のままであり、バタフライ演算部12−1のセレクタ12bは、部分データy0を出力する。When bits Q2, Q1, and Q0 are (000), as described above, the twiddle factor generated by twiddle factor generators 15-1 and 15-2 is “1”.
When the multiplied clock signal generated by the
また、このとき遅延部13−1のシフトレジスタ13aは、前のタイミングでバタフライ演算部12−1から出力された部分データx0を、逓倍クロック信号の立ち上がりに同期して取り込む。
At this time, the
逓倍クロック信号が次に立ち上がると、カウンタ17のカウント値は(10)となる。これにより、マルチプレクサ11は、ストリームデータSD3の最初の部分データz0を選択して出力する。また、カウンタ17のカウント値が(10)のとき、カウンタ17から制御部18に出力されるイネーブル信号が“1”となるが、次に逓倍クロック信号が立ち上がるまで、制御部18から出力されるビットQ2,Q1,Q0も(000)のままである。そのため、バタフライ演算部12−1のセレクタ12bは、部分データz0を出力する。
When the multiplied clock signal rises next time, the count value of the
また、このとき遅延部13−1のシフトレジスタ13aは、既に取り込んだ部分データx0を後段のレジスタにシフトするとともに、部分データy0を逓倍クロック信号の立ち上がりに同期して取り込む。
At this time, the
逓倍クロック信号が次に立ち上がると、同様の処理が行われ、シフトレジスタ13aに部分データz0が取り込まれ、シフトレジスタ13aは、図1に示したような状態になる。また、イネーブル信号が“1”になっている状態で、逓倍クロック信号が入力されるため、制御部18はカウントを行い、ビットQ0が“1”となる。ただし、ビットQ1,Q2は、“0”のままである。そのため、バタフライ演算部12−1において、セレクタ12bは、同様に、マルチプレクサ11が出力する部分データx1を選択して、遅延部13aに出力する。
When the multiplied clock signal rises next, the same processing is performed, the partial data z0 is taken into the
以上の処理が繰り返され、処理を開始してから逓倍クロック信号が12回立ち上がると、FFT回路10は、以下に示すような状態となる。
図3は、逓倍クロック信号が12回立ち上がったときのFFT回路の各部の信号の一例の状態を示す図である。図1に示したマルチプレクサ11、逓倍回路16などについては図示を省略している。また、逓倍クロック信号をCLKMと表記している。When the above processing is repeated and the multiplied clock signal rises 12 times after the processing is started, the
FIG. 3 is a diagram illustrating a state of an example of a signal of each part of the FFT circuit when the multiplied clock signal rises 12 times. The
逓倍クロック信号CLKMが12回立ち上がったとき、シフトレジスタ13aは、図3に示すような状態になり、部分データx0を出力する。このときバタフライ演算部12−1の演算部12aは、部分データx0と、マルチプレクサ11から出力される部分データx4との和(x0+x4)と差(x0−x4)を算出する。
When the multiplied clock signal CLKM rises 12 times, the
また、逓倍クロック信号CLKMが12回立ち上がった状態において、制御部18でのカウントが進んだ結果、ビットQ2,Q1,Q0は(100)になっている。そのため、バタフライ演算部12−1のセレクタ12bは、x0−x4を遅延部13−1に出力し、セレクタ12cは、x0+x4を乗算部14−1に出力する。
Further, in the state where the multiplied clock signal CLKM rises 12 times, as a result of the count in the
また、回転因子生成部15−1は、前述したように、入力されるビットQ2,Q1,Q0が(100)のときは、“1”を出力する。よって、乗算部14−1は、x0+x4を出力する。次の段のバタフライ演算部12−2において、セレクタ12bは、選択信号として入力されるビットQ1が“0”であるので、x0+x4を遅延部13−2に出力する。
Further, as described above, when the input bits Q2, Q1, and Q0 are (100), the twiddle factor generation unit 15-1 outputs “1”. Therefore, the multiplication unit 14-1 outputs x0 + x4. In the butterfly operation unit 12-2 at the next stage, the
なお、このときバタフライ演算部12−2,12−3の演算部12aの出力は、遅延部13−2,13−3からの供給される第1の入力データが確定していないので、まだ不定の状態となっている。
At this time, the outputs of the
さらに処理が進み、処理を開始してから逓倍クロック信号CLKMが18回立ち上がると、FFT回路10は、以下に示すような状態となる。
図4は、逓倍クロック信号が18回立ち上がったときのFFT回路の各部の信号の一例の状態を示す図である。When the processing further proceeds and the multiplied clock signal CLKM rises 18 times after the processing is started, the
FIG. 4 is a diagram illustrating a state of an example of a signal of each part of the FFT circuit when the multiplied clock signal rises 18 times.
逓倍クロック信号CLKMが18回立ち上がったとき、シフトレジスタ13aは、図4に示すような状態になり、部分データx2を出力する。このときバタフライ演算部12−1の演算部12aは、部分データx2と、マルチプレクサ11から出力される部分データx6との和(x2+x6)と差(x2−x6)を算出する。
When the multiplied clock signal CLKM rises 18 times, the
また、逓倍クロック信号CLKMが18回立ち上がった状態において、制御部18でのカウントが進んだ結果、ビットQ2,Q1,Q0は(110)になっている。そのため、バタフライ演算部12−1のセレクタ12bは、x2−x6を遅延部13−1に出力し、セレクタ12cは、x2+x6を乗算部14−1に出力する。
Further, in the state where the multiplied clock signal CLKM rises 18 times, as a result of the count in the
また、回転因子生成部15−1は、前述したように、入力されるビットQ2,Q1,Q0が(110)のときも、“1”を出力する。よって、乗算部14−1は、x2+x6を出力する。 Further, as described above, the twiddle factor generation unit 15-1 outputs “1” even when the input bits Q2, Q1, and Q0 are (110). Therefore, the multiplication unit 14-1 outputs x2 + x6.
逓倍クロック信号CLKMが18回立ち上がったとき、2段目のバタフライ演算部12−2に対応して設けられている遅延部13−2のシフトレジスタ13bは、図4に示すような状態になり、x0+x4を出力する。このときバタフライ演算部12−2の演算部12aは、x0+x4と、乗算部14−1から出力されるx2+x6との和((x0+x4)+(x2+x6))と差((x0+x4)−(x2+x6))を算出する。
When the multiplied clock signal CLKM rises 18 times, the
制御部18から出力されるビットQ1は“1”であるので、バタフライ演算部12−2のセレクタ12bは、(x0+x4)−(x2+x6)を遅延部13−2に出力し、セレクタ12cは、(x0+x4)+(x2+x6)を乗算部14−2に出力する。
Since the bit Q1 output from the
また、回転因子生成部15−2は、入力されるビットQ0,Q1が(10)のときは、“1”を出力する。よって、乗算部14−2は、(x0+x4)+(x2+x6)を出力する。次の段のバタフライ演算部12−3において、セレクタ12bは、選択信号として入力されるビットQ0が“0”であるので、(x0+x4)+(x2+x6)を遅延部13−3に出力する。
The twiddle factor generator 15-2 outputs “1” when the input bits Q0 and Q1 are (10). Therefore, the multiplication unit 14-2 outputs (x0 + x4) + (x2 + x6). In the butterfly operation unit 12-3 in the next stage, the
このとき、遅延部13−3から出力されるバタフライ演算部12−3への第1の入力データが確定していないので、バタフライ演算部12−3の演算部12aの出力は、まだ不定の状態となっている。
At this time, since the first input data to the butterfly computing unit 12-3 output from the delay unit 13-3 is not fixed, the output of the
さらに処理が進み、処理が開始してから逓倍クロック信号CLKMが21回立ち上がると、FFT回路10は、以下に示すような状態となる。
図5は、逓倍クロック信号が21回立ち上がったときのFFT回路の各部の信号の一例の状態を示す図である。When the processing further proceeds and the multiplied clock signal CLKM rises 21 times after the processing is started, the
FIG. 5 is a diagram illustrating a state of an example of a signal of each part of the FFT circuit when the multiplied clock signal rises 21 times.
逓倍クロック信号CLKMが21回立ち上がったとき、シフトレジスタ13aは、図5に示すような状態になり、部分データx3を出力する。このときバタフライ演算部12−1の演算部12aは、部分データx3と、マルチプレクサ11から出力される部分データx7との和(x3+x7)と差(x3−x7)を算出する。
When the multiplied clock signal CLKM rises 21 times, the
また、逓倍クロック信号CLKMが21回立ち上がった状態において、制御部18でのカウントが進んだ結果、ビットQ2,Q1,Q0は(111)になっている。そのため、バタフライ演算部12−1のセレクタ12bは、x3−x7を遅延部13−1に出力し、セレクタ12cは、x3+x7を乗算部14−1に出力する。また、回転因子生成部15−1は、前述したように入力されるビットQ2,Q1,Q0が(111)のときも、“1”を出力する。よって、乗算部14−1は、x3+x7を出力する。
In addition, in the state where the multiplied clock signal CLKM has risen 21 times, as a result of the count in the
逓倍クロック信号CLKMが21回立ち上がったとき、2段目のバタフライ演算部12−2に対応して設けられている遅延部13−2のシフトレジスタ13bは、図5に示すような状態になり、x1+x5を出力する。このときバタフライ演算部12−2の演算部12aは、x1+x5と、乗算部14−1から出力されるx3+x7との和((x1+x5)+(x3+x7))と差((x1+x5)−(x3+x7))を算出する。
When the multiplied clock signal CLKM rises 21 times, the
制御部18から出力されるビットQ1は“1”であるので、バタフライ演算部12−2のセレクタ12bは、(x1+x5)−(x3+x7)を遅延部13−2に出力し、セレクタ12cは、(x1+x5)+(x3+x7)を乗算部14−2に出力する。
Since the bit Q1 output from the
また、回転因子生成部15−2は、入力されるビットQ0,Q1が(11)のときは、“1”を出力する。よって、乗算部14−2は、(x1+x5)+(x3+x7)を出力する。 The twiddle factor generator 15-2 outputs “1” when the input bits Q0 and Q1 are (11). Therefore, the multiplication unit 14-2 outputs (x1 + x5) + (x3 + x7).
逓倍クロック信号CLKMが21回立ち上がったとき、3段目(最後段)のバタフライ演算部12−3に対応して設けられている遅延部13−3のシフトレジスタ13cは、図5に示すような状態になり、(x0+x4)+(x2+x6)を出力する。このときバタフライ演算部12−3の演算部12aは、(x0+x4)+(x2+x6)と、乗算部14−2から出力される(x1+x5)+(x3+x7)との和と差を算出する。和は、((x0+x4)+(x2+x6))+((x1+x5)+(x3+x7))となり、差は、((x0+x4)+(x2+x6))−((x1+x5)+(x3+x7))となる。
When the multiplied clock signal CLKM rises 21 times, the
制御部18から出力されるビットQ0は“1”であるので、バタフライ演算部12−3のセレクタ12bは、((x0+x4)+(x2+x6))−((x1+x5)+(x3+x7))を遅延部13−3に出力する。また、セレクタ12cは、((x0+x4)+(x2+x6))+((x1+x5)+(x3+x7))を、ストリームデータSD1のFFT結果の最初の値として出力する。
Since the bit Q0 output from the
次に、逓倍クロック信号CLKMが立ち上がると、FFT回路10は、以下に示すような状態となる。
図6は、逓倍クロック信号が22回立ち上がったときのFFT回路の各部の信号の一例の状態を示す図である。Next, when the multiplied clock signal CLKM rises, the
FIG. 6 is a diagram illustrating a state of an example of a signal of each part of the FFT circuit when the multiplied clock signal rises 22 times.
逓倍クロック信号CLKMが22回立ち上がったとき、シフトレジスタ13aは、図6に示すような状態になり、部分データy3を出力する。このときバタフライ演算部12−1の演算部12aは、部分データy3と、マルチプレクサ11から出力される部分データy7との和(y3+y7)と差(y3−y7)を算出する。
When the multiplied clock signal CLKM rises 22 times, the
また、逓倍クロック信号CLKMが22回立ち上がった状態では、イネーブル信号が“0”であるので、制御部18から出力されるビットQ2,Q1,Q0は(111)のままである。そのため、バタフライ演算部12−1のセレクタ12bは、y3−y7を遅延部13−1に出力し、セレクタ12cは、y3+y7を乗算部14−1に出力する。回転因子生成部15−1は、“1”を出力しているので、乗算部14−1は、y3+y7を出力する。
In addition, when the multiplied clock signal CLKM rises 22 times, the enable signal is “0”, so the bits Q2, Q1, and Q0 output from the
逓倍クロック信号CLKMが22回立ち上がったとき、2段目のバタフライ演算部12−2に対応して設けられている遅延部13−2のシフトレジスタ13bは、y1+y5を出力する。このときバタフライ演算部12−2の演算部12aは、y1+y5と、乗算部14−1から出力されるy3+y7との和((y1+y5)+(y3+y7))と差((y1+y5)−(y3+y7))を算出する。
When the multiplied clock signal CLKM rises 22 times, the
制御部18から出力されるビットQ1は“1”であるので、バタフライ演算部12−2のセレクタ12bは、(y1+y5)−(y3+y7)を遅延部13−2に出力し、セレクタ12cは、(y1+y5)+(y3+y7)を乗算部14−2に出力する。
Since the bit Q1 output from the
また、回転因子生成部15−2は、“1”を出力するので、乗算部14−2は、(y1+y5)+(y3+y7)を出力する。
逓倍クロック信号CLKMが22回立ち上がったとき、バタフライ演算部12−3に対応して設けられている遅延部13−3のシフトレジスタ13cは、(y0+y4)+(y2+y6)を出力する。このときバタフライ演算部12−3の演算部12aは、(y0+y4)+(y2+y6)と、乗算部14−2から出力される(y1+y5)+(y3+y7)の和と差を算出する。和は、((y0+y4)+(y2+y6))+((y1+y5)+(y3+y7))となり、差は、((y0+y4)+(y2+y6))−((y1+y5)+(y3+y7))となる。Further, since the twiddle factor generation unit 15-2 outputs “1”, the multiplication unit 14-2 outputs (y1 + y5) + (y3 + y7).
When the multiplied clock signal CLKM rises 22 times, the
制御部18から出力されるビットQ0は“1”であるので、バタフライ演算部12−3のセレクタ12bは、((y0+y4)+(y2+y6))−((y1+y5)+(y3+y7))を遅延部13−3に出力する。また、セレクタ12cは、((y0+y4)+(y2+y6))+((y1+y5)+(y3+y7))を、ストリームデータSD2のFFT結果の最初の値として出力する。
Since the bit Q0 output from the
次に、逓倍クロック信号CLKMが立ち上がると、FFT回路10は、以下に示すような状態となる。
図7は、逓倍クロック信号が23回立ち上がったときのFFT回路の各部の信号の一例の状態を示す図である。Next, when the multiplied clock signal CLKM rises, the
FIG. 7 is a diagram illustrating a state of an example of a signal of each part of the FFT circuit when the multiplied clock signal rises 23 times.
逓倍クロック信号CLKMが23回立ち上がったとき、シフトレジスタ13aは、部分データz3を出力する。このときバタフライ演算部12−1の演算部12aは、部分データz3と、マルチプレクサ11から出力される部分データz7との和(z3+z7)と差(z3−z7)を算出する。
When the multiplied clock signal CLKM rises 23 times, the
また、逓倍クロック信号CLKMが23回立ち上がった状態では、イネーブル信号が“1”となるが、次に逓倍クロック信号CLKMが立ち上がるまで、制御部18から出力されるビットQ2,Q1,Q0は(111)のままである。そのため、バタフライ演算部12−1のセレクタ12bは、z3−z7を遅延部13−1に出力し、セレクタ12cは、z3+z7を乗算部14−1に出力する。回転因子生成部15−1は、“1”を出力しているので、乗算部14−1は、z3+z7を出力する。
In the state where the multiplied clock signal CLKM rises 23 times, the enable signal becomes “1”, but the bits Q2, Q1, and Q0 output from the
逓倍クロック信号CLKMが23回立ち上がったとき、2段目のバタフライ演算部12−2に対応して設けられている遅延部13−2のシフトレジスタ13bは、z1+z5を出力する。このときバタフライ演算部12−2の演算部12aは、z1+z5と、乗算部14−1から出力されるz3+z7との和((z1+z5)+(z3+z7))と差((z1+z5)−(z3+z7))を算出する。
When the multiplied clock signal CLKM rises 23 times, the
制御部18から出力されるビットQ1は“1”であるので、バタフライ演算部12−2のセレクタ12bは、(z1+z5)−(z3+z7)を遅延部13−2に出力し、セレクタ12cは、(z1+z5)+(z3+z7)を乗算部14−2に出力する。
Since the bit Q1 output from the
また、回転因子生成部15−2は、“1”を出力するので、乗算部14−2は、(z1+z5)+(z3+z7)を出力する。
逓倍クロック信号CLKMが23回立ち上がったとき、バタフライ演算部12−3に対応して設けられている遅延部13−3のシフトレジスタ13cは、(z0+z4)+(z2+z6)を出力する。このときバタフライ演算部12−3の演算部12aは、(z0+z4)+(z2+z6)と、乗算部14−2から出力される(z1+z5)+(z3+z7)の和と差を算出する。和は、((z0+z4)+(z2+z6))+((z1+z5)+(z3+z7))となり、差は、((z0+z4)+(z2+z6))−((z1+z5)+(z3+z7))となる。Further, since the twiddle factor generation unit 15-2 outputs “1”, the multiplication unit 14-2 outputs (z1 + z5) + (z3 + z7).
When the multiplied clock signal CLKM rises 23 times, the
制御部18から出力されるビットQ0は“1”であるので、バタフライ演算部12−3のセレクタ12bは、((z0+z4)+(z2+z6))−((z1+z5)+(z3+z7))を遅延部13−3に出力する。
Since the bit Q0 output from the
また、セレクタ12cは、((z0+z4)+(z2+z6))+((z1+z5)+(z3+z7))を、ストリームデータSD3のFFT結果の最初の値として出力する。
ここまでの処理で、ストリームデータSD1〜SD3の最初のFFT結果が得られる。In addition, the
With the processing so far, the first FFT result of the stream data SD1 to SD3 is obtained.
以上のような処理を更に進めていくと、ストリームデータSD1〜SD3の2番目以降のFFT結果の値が順に、最後段のバタフライ演算部12−3のセレクタ12cから出力される。
When the processing as described above is further advanced, the second and subsequent FFT result values of the stream data SD1 to SD3 are sequentially output from the
このように、本実施の形態のFFT回路10では、マルチプレクサ11は、単位時間ごとに1つのストリームデータの1つの部分データを所定のストリームデータ順に出力していく。そして、初段のバタフライ演算部12−1に対応して設けられた遅延部13−1が部分データをストリームデータ順に入力して遅延しバタフライ演算部12−1に供給する。バタフライ演算部12−1は、そのときマルチプレクサ11が出力する部分データと遅延された部分データを用いて演算を行う。
As described above, in the
これにより、複数のストリームデータが部分データごとに、一本のパイプライン型のFFT回路10にてFFT処理でき、複数のストリームデータに対して、小規模な回路でFFTを行うことができる。
As a result, a plurality of stream data can be subjected to FFT processing for each partial data by one pipeline-
なお、上記ではSDF(Single Path-Delay Feedback)方式を適用したFFT回路10を説明したが、この方式に限らない。MDC(Multi-Path Delay Commutator)方式あるいは、他の方式についても、同様の処理を行うパイプライン型のFFT回路を実現することができる。
In the above description, the
また、上記では基数(Radix)を2としたFFTを行うFFT回路10について説明したが、基数も2に限定されるものではない。
上記のような本実施の形態の処理を実現するFFT回路は、複数のストリームデータを受信し、単位時間ごとに所定のストリームデータ順に各ストリームデータの部分データを出力するマルチプレクサを有するものとなる。また、初段のバタフライ演算部は、マルチプレクサが出力した部分データを一方の入力データとして入力する。そして、初段のバタフライ演算部に対応して設けられた遅延部は、マルチプレクサが出力した部分データを上記のストリームデータ順に入力し、遅延して初段のバタフライ演算部の他方の入力データとして出力する。In the above description, the
The FFT circuit that realizes the processing of the present embodiment as described above includes a multiplexer that receives a plurality of stream data and outputs partial data of each stream data in a predetermined stream data order for each unit time. The first stage butterfly calculation unit inputs the partial data output from the multiplexer as one input data. Then, a delay unit provided corresponding to the first stage butterfly operation unit inputs the partial data output from the multiplexer in the order of the stream data, and outputs the delayed data as the other input data of the first stage butterfly operation unit.
また、遅延部の遅延時間は、バタフライ演算部に入力されるデータの一方に含まれる部分データと同じストリームデータの部分データが含まれるものを、遅延部が出力するように、ストリーム数及び部分データ数に応じて設定されている。たとえば、図3のように、ストリームデータSD1の部分データx4がバタフライ演算部12−1に入力されている場合、同じストリームデータSD1の部分データx0が遅延部13−1から出力されるように遅延時間が設定されている。 Also, the delay time of the delay unit is such that the number of streams and partial data are such that the delay unit outputs partial data of the same stream data as partial data included in one of the data input to the butterfly operation unit. It is set according to the number. For example, as shown in FIG. 3, when the partial data x4 of the stream data SD1 is input to the butterfly operation unit 12-1, the delay is performed so that the partial data x0 of the same stream data SD1 is output from the delay unit 13-1. The time is set.
また、本実施の形態の処理を実現するFFT回路は、単位時間のストリーム数倍の周期のクロック信号を受信し、クロック信号の周波数をデータ列数倍した逓倍クロック信号を生成する逓倍回路を有する。また、FFT回路は、逓倍クロック信号の周期で更新するマルチプレクサの選択信号を生成するとともに、逓倍クロック信号をストリームデータ数倍に分周した制御信号を生成するカウンタを有する。さらに、FFT回路は、回転因子を制御信号に応じたタイミングで更新する回転因子生成部を有する。 Further, the FFT circuit that realizes the processing of the present embodiment has a multiplication circuit that receives a clock signal having a period that is multiple times the number of streams per unit time and generates a multiplied clock signal that is obtained by multiplying the clock signal frequency by the number of data strings . The FFT circuit also has a counter that generates a selection signal for the multiplexer that is updated at the cycle of the multiplied clock signal, and generates a control signal that is obtained by dividing the multiplied clock signal by the number of times the number of stream data. Furthermore, the FFT circuit includes a twiddle factor generation unit that updates the twiddle factor at a timing according to the control signal.
以上のような各要素を具備することで、前述のFFT回路10に限らず、同様の効果が得られるFFT回路が実現できる。
なお、上記については単に本発明の原理を示すものである。さらに、多数の変形、変更が当業者にとって可能である。本発明は上記に示し、説明した正確な構成および応用例に限定されるものではなく、対応するすべての変形例および均等物は、添付の請求項およびその均等物による本発明の範囲とみなされる。By providing each element as described above, not only the
The above merely shows the principle of the present invention. Further, many variations and modifications are possible for those skilled in the art. The present invention is not limited to the exact configuration and application shown and described above, but all corresponding variations and equivalents are considered as the scope of the invention by the appended claims and their equivalents. .
10 FFT回路
11 マルチプレクサ
12−1〜12−3 バタフライ演算部
12a 演算部
12b,12c セレクタ
13−1〜13−3 遅延部
13a シフトレジスタ
14−1,14−2 乗算部
15−1,15−2 回転因子生成部
16 逓倍回路
17 カウンタ
18 制御部
CLK クロック信号線
IN1〜IN3 入力信号線
OUT 出力信号線
x0,y0,z0 部分データDESCRIPTION OF
しかしながら、複数チャンネルのストリームデータを処理する従来の手法は、チャンネルごとにパイプライン型のFFT回路を設けるため、回路規模が大きくなるという問題があった。 However, the conventional method for processing stream data of a plurality of channels has a problem that the circuit scale becomes large because a pipeline type FFT circuit is provided for each channel.
初段のバタフライ演算部12−1に対応して設けられた遅延部13−1はシフトレジスタ13aを有しており、逓倍回路16で生成される逓倍クロック信号に同期して取り込んだデータをシフトし、所定の時間分遅延した後、出力する。遅延部13−2,13−3も同様のシフトレジスタを有しているが、図1では図示を省略している。
The delay unit 13-1 provided corresponding to the first stage butterfly operation unit 12-1 has a
カウンタ17は、逓倍クロック信号の周期で更新するマルチプレクサ11用の選択信号を生成するとともに、逓倍クロック信号をストリームデータ数で分周した制御信号(以下イネーブル信号と呼ぶ)を、制御部18に対して出力する機能を有する。ストリームデータ数が3の場合、カウンタ17は、3けたのバイナリカウンタであり、逓倍クロック信号の立ち上がりまたは立ち下がりエッジをカウントして、カウント値が2(2進数表記では(10))のときに、制御部18に対して“1”を出力する。
The
逓倍クロック信号が次に立ち上がると、同様の処理が行われ、シフトレジスタ13aに部分データz0が取り込まれ、シフトレジスタ13aは、図1に示したような状態になる。また、イネーブル信号が“1”になっている状態で、逓倍クロック信号が入力されるため、制御部18はカウントを行い、ビットQ0が“1”となる。ただし、ビットQ1,Q2は、“0”のままである。そのため、バタフライ演算部12−1において、セレクタ12bは、マルチプレクサ11が出力する部分データx1を選択して、遅延部13−1に出力する。
When the multiplied clock signal rises next, the same processing is performed, the partial data z0 is taken into the
また、回転因子生成部15−2は、入力されるビットQ1,Q0が(10)のときは、“1”を出力する。よって、乗算部14−2は、(x0+x4)+(x2+x6)を出力する。次の段のバタフライ演算部12−3において、セレクタ12bは、選択信号として入力されるビットQ0が“0”であるので、(x0+x4)+(x2+x6)を遅延部13−3に出力する。
The twiddle factor generator 15-2 outputs “1” when the
また、本実施の形態の処理を実現するFFT回路は、単位時間のストリームデータ数倍の周期のクロック信号を受信し、クロック信号の周波数をストリームデータ数倍した逓倍クロック信号を生成する逓倍回路を有する。また、FFT回路は、逓倍クロック信号の周期で更新するマルチプレクサ用の選択信号を生成するとともに、逓倍クロック信号をストリームデータ数で分周した制御信号を生成するカウンタを有する。さらに、FFT回路は、回転因子を制御信号に応じたタイミングで更新する回転因子生成部を有する。 In addition, the FFT circuit that realizes the processing of the present embodiment includes a multiplication circuit that receives a clock signal having a period that is multiple times the number of stream data per unit time and generates a multiplied clock signal that is obtained by multiplying the frequency of the clock signal by the number of stream data. Have. Further, the FFT circuit has a counter that generates a selection signal for a multiplexer that is updated at a cycle of the multiplied clock signal and generates a control signal obtained by dividing the multiplied clock signal by the number of stream data. Furthermore, the FFT circuit includes a twiddle factor generation unit that updates the twiddle factor at a timing according to the control signal.
Claims (3)
入力したデータを遅延して出力する複数の遅延部と、
前記複数の遅延部に対応して複数段設けられ、対応する遅延部の出力データを第1の入力データとして入力し、第2の入力データとの和及び差を演算し、一方の演算結果または前記第2の入力データを前記対応する遅延部に出力するバタフライ演算部と、
前記バタフライ演算部の他方の演算結果または前記対応する遅延部の出力データと、回転因子とを乗算して後段の前記バタフライ演算部の前記第2の入力データとして出力する乗算部と、を有し、
初段の前記バタフライ演算部は、前記マルチプレクサが出力した前記部分データを前記第2の入力データとして入力し、
前記複数の遅延部のうち、初段の前記バタフライ演算部に対応して設けられた遅延部は、前記マルチプレクサが出力した前記部分データを前記データ列順に入力し、遅延して初段の前記バタフライ演算部の前記第1の入力データとして出力する高速フーリエ変換回路。A multiplexer that receives a plurality of data strings parallel on the time axis and outputs partial data of each data string in a predetermined data string order for each unit time;
A plurality of delay units for delaying and outputting input data; and
A plurality of stages are provided corresponding to the plurality of delay units, the output data of the corresponding delay unit is input as first input data, the sum and difference with the second input data are calculated, and one of the calculation results or A butterfly operation unit that outputs the second input data to the corresponding delay unit;
A multiplication unit that multiplies the other computation result of the butterfly computation unit or the output data of the corresponding delay unit and a twiddle factor and outputs the result as the second input data of the butterfly computation unit in the subsequent stage; ,
The butterfly operation unit in the first stage inputs the partial data output from the multiplexer as the second input data,
Among the plurality of delay units, a delay unit provided corresponding to the first stage butterfly operation unit inputs the partial data output from the multiplexer in the order of the data string, and delays the first stage butterfly operation unit. A fast Fourier transform circuit that outputs the first input data of
前記逓倍クロック信号の周期で更新する前記マルチプレクサの選択信号を生成するとともに、前記逓倍クロック信号を前記データ列数倍に分周した制御信号を生成するカウンタと、
前記回転因子を前記制御信号に応じたタイミングで更新する回転因子生成部と、
を更に有する請求の範囲第1項または第2項に記載の高速フーリエ変換回路。A multiplication circuit that receives a clock signal having a period that is the number of data strings times the unit time, and that generates a multiplied clock signal in which the frequency of the clock signal is multiplied by the number of data strings;
A counter that generates a selection signal of the multiplexer to be updated at a cycle of the multiplied clock signal, and generates a control signal obtained by dividing the multiplied clock signal by the number of times of the data string;
A twiddle factor generator that updates the twiddle factor at a timing according to the control signal;
The fast Fourier transform circuit according to claim 1 or 2, further comprising:
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013534547A JPWO2013042249A1 (en) | 2011-09-22 | 2011-09-22 | Fast Fourier transform circuit |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013534547A JPWO2013042249A1 (en) | 2011-09-22 | 2011-09-22 | Fast Fourier transform circuit |
Publications (1)
Publication Number | Publication Date |
---|---|
JPWO2013042249A1 true JPWO2013042249A1 (en) | 2015-03-26 |
Family
ID=52815887
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2013534547A Pending JPWO2013042249A1 (en) | 2011-09-22 | 2011-09-22 | Fast Fourier transform circuit |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPWO2013042249A1 (en) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS583068A (en) * | 1981-06-30 | 1983-01-08 | Nec Corp | Fourier conversion processor |
JPS62269519A (en) * | 1986-05-12 | 1987-11-24 | エヌ・ベ−・フィリップス・フル−イランペンファブリケン | Discrete cosine converting circuit |
JPH08320858A (en) * | 1995-05-25 | 1996-12-03 | Sony Corp | Unit and method for fourier transformation arithmetic operation |
JP2002501253A (en) * | 1998-01-21 | 2002-01-15 | テレフオンアクチーボラゲット エル エム エリクソン(パブル) | High-speed pipelined Fleier transform processor |
JP2007011421A (en) * | 2005-06-28 | 2007-01-18 | Ffc Ltd | Correlation arithmetic device and correlation arithmetic method |
JP2008506191A (en) * | 2004-07-08 | 2008-02-28 | アソクス リミテッド | Method and apparatus for performing variable size fast orthogonal transform |
JP2011133957A (en) * | 2009-12-22 | 2011-07-07 | Hitachi Kokusai Electric Inc | Arithmetic device |
-
2011
- 2011-09-22 JP JP2013534547A patent/JPWO2013042249A1/en active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS583068A (en) * | 1981-06-30 | 1983-01-08 | Nec Corp | Fourier conversion processor |
JPS62269519A (en) * | 1986-05-12 | 1987-11-24 | エヌ・ベ−・フィリップス・フル−イランペンファブリケン | Discrete cosine converting circuit |
JPH08320858A (en) * | 1995-05-25 | 1996-12-03 | Sony Corp | Unit and method for fourier transformation arithmetic operation |
JP2002501253A (en) * | 1998-01-21 | 2002-01-15 | テレフオンアクチーボラゲット エル エム エリクソン(パブル) | High-speed pipelined Fleier transform processor |
JP2008506191A (en) * | 2004-07-08 | 2008-02-28 | アソクス リミテッド | Method and apparatus for performing variable size fast orthogonal transform |
JP2007011421A (en) * | 2005-06-28 | 2007-01-18 | Ffc Ltd | Correlation arithmetic device and correlation arithmetic method |
JP2011133957A (en) * | 2009-12-22 | 2011-07-07 | Hitachi Kokusai Electric Inc | Arithmetic device |
Non-Patent Citations (1)
Title |
---|
JPN6011060388; 吉澤真吾、西一斗、富永喜一: '"OFDM方式コグニティブ無線における二次元的アーキテクチャをもつパイプライン型FFTプロセッサの設' 電子情報通信学会論文誌 第J91-D巻 第3号, 20080301, pp.687-695, 社団法人電子情報通信学会 * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110351087B (en) | Pipelined Montgomery modular multiplication operation method | |
Wang et al. | FPGA implementation of a large-number multiplier for fully homomorphic encryption | |
TW200414023A (en) | Method and system for performing a calculation operation and a device | |
WO1999038088A1 (en) | Method and apparatus for arithmetic operation | |
JP2011034566A (en) | Low power fir filter in multi-mac architecture | |
CN103942028A (en) | Large integer multiplication method and device applied to password technology | |
WO2013042249A1 (en) | Fast fourier transform circuit | |
Gokhale et al. | Design of area and delay efficient Vedic multiplier using Carry Select Adder | |
US20100011043A1 (en) | Fast fourier transform architecture | |
JP3940714B2 (en) | Arithmetic device and encryption / decryption arithmetic device | |
CN107885486B (en) | Composite finite field inversion device based on search tree | |
CN108897526B (en) | Compound finite field inverter based on multiple square operations and inversion method thereof | |
JPWO2013042249A1 (en) | Fast Fourier transform circuit | |
Feng et al. | A high performance FPGA implementation of 256-bit elliptic curve cryptography processor over GF (p) | |
Rahimzadeh et al. | Radix-4 implementation of redundant interleaved modular multiplication on FPGA | |
CN108268243B (en) | Composite domain multiplication device based on search | |
US20230176819A1 (en) | Pipelined processing of polynomial computation | |
JP2009245296A (en) | Product-sum operation circuit | |
JP7183079B2 (en) | semiconductor equipment | |
Chatterjee et al. | Performance modelling and acceleration of binary edwards curve processor on fpgas | |
TW200821865A (en) | Fast Fourier transform system | |
JP2009245407A (en) | Product-sum operation device and product-sum operation method for complex number | |
Tsoumanis et al. | On the design of modulo 2 n±1 residue generators | |
Pang et al. | F p 2 arithmetic acceleration based on modified Barrett modular multiplication algorithm | |
Patronik et al. | Design of an RNS reverse converter for a new five-moduli special set |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20150630 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20150828 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20160126 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20160324 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20160816 |