JPWO2013042249A1 - Fast Fourier transform circuit - Google Patents

Fast Fourier transform circuit Download PDF

Info

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
Application number
JP2013534547A
Other languages
Japanese (ja)
Inventor
哲也 椋
哲也 椋
明文 武藤
明文 武藤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2013534547A priority Critical patent/JPWO2013042249A1/en
Publication of JPWO2013042249A1 publication Critical patent/JPWO2013042249A1/en
Pending legal-status Critical Current

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.

特開平6−342449号公報JP-A-6-342449

しかしながら、複数のストリームデータを処理する従来の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.

本実施の形態におけるFFT回路の一例を示す図である。It is a figure which shows an example of the FFT circuit in this Embodiment. ストリームデータの一例を示す図である。It is a figure which shows an example of stream data. 逓倍クロック信号が12回立ち上がったときのFFT回路の各部の信号の一例の状態を示す図である。It is a figure which shows the state of an example of the signal of each part of an FFT circuit when a multiplication clock signal rises 12 times. 逓倍クロック信号が18回立ち上がったときのFFT回路の各部の信号の一例の状態を示す図である。It is a figure which shows the state of an example of the signal of each part of an FFT circuit when a multiplication clock signal rises 18 times. 逓倍クロック信号が21回立ち上がったときのFFT回路の各部の信号の一例の状態を示す図である。It is a figure which shows the state of an example of the signal of each part of an FFT circuit when a multiplication clock signal rises 21 times. 逓倍クロック信号が22回立ち上がったときのFFT回路の各部の信号の一例の状態を示す図である。It is a figure which shows the state of an example of the signal of each part of an FFT circuit when a multiplication clock signal rises 22 times. 逓倍クロック信号が23回立ち上がったときのFFT回路の各部の信号の一例の状態を示す図である。It is a figure which shows the state of an example of the signal of each part of an FFT circuit when a multiplication clock signal rises 23 times.

以下、本発明の実施の形態を、図面を参照しつつ説明する。
図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 circuit 10 includes a multiplexer 11, butterfly operation units 12-1, 12-2, and 12-3, delay units 13-1, 13-2, and 13-3, multiplication units 14-1 and 14-2, and twiddle factor generation. Units 15-1 and 15-2, a multiplier circuit 16, a counter 17, and a control unit 18.

本実施の形態のFFT回路10は、バタフライ演算を用いて、フーリエ変換を行うパイプライン型のFFT回路である。計算アルゴリズムの詳細な説明は省略するが、パイプライン型のFFTでは、FFTのデータ長をその約数に分割して演算が行われる。データ長が8の場合には、8=2×2×2と表せるので、8の約数である、8、4、2をデータ長とする3つの段(ステージ)でFFT演算が行われる。なお、図1に示すFFT回路10は、FFTのデータ長が8の場合の例を示すものであるが、これに限定されるものではない。   The FFT circuit 10 of the present embodiment is a pipeline-type FFT circuit that performs Fourier transform using butterfly computation. Although a detailed description of the calculation algorithm is omitted, in a pipeline type FFT, an operation is performed by dividing the FFT data length into its divisors. When the data length is 8, it can be expressed as 8 = 2 × 2 × 2, and therefore, the FFT operation is performed in three stages (8), which are divisors of 8, and the data length is 8, 4, and 2. The FFT circuit 10 shown in FIG. 1 shows an example in which the FFT data length is 8, but the present invention is not limited to this.

マルチプレクサ11は、時間軸上で並列する複数のデータ列(以下ストリームデータと呼ぶ)を受信する。図1に示す例では、マルチプレクサ11は、入力信号線IN1,IN2,IN3から、3つのストリームデータを受信する。   The multiplexer 11 receives a plurality of data strings (hereinafter referred to as stream data) that are parallel on the time axis. In the example illustrated in FIG. 1, the multiplexer 11 receives three stream data from the input signal lines IN1, IN2, and IN3.

図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 multiplexer 11 receives the stream data SD1 via the input signal line IN1, receives the stream data SD2 via the input signal line IN2, and receives the stream data SD3 via the input signal line IN3. The stream data SD1 to SD3 are supplied from the outside of the FFT circuit 10 in synchronization with the clock signal. The multiplexer 11 outputs partial data of each stream in a predetermined stream data order for each unit time.

たとえば、マルチプレクサ11は、ストリームデータSD1,SD2,SD3の順で、各ストリームデータSD1〜SD3の1つの部分データを、単位時間ごとに出力していく。たとえば、図2のようなストリームデータSD1〜SD3を受信するマルチプレクサ11は、単位時間ごとに、部分データx0,y0,z0,x1,y1,z1,…,xn,yn,znの順で出力を行う。   For example, the multiplexer 11 outputs one partial data of each stream data SD1 to SD3 for each unit time in the order of the stream data SD1, SD2, and SD3. For example, the multiplexer 11 that receives the stream data SD1 to SD3 as shown in FIG. 2 outputs in the order of the partial data x0, y0, z0, x1, y1, z1,..., Xn, yn, zn for each unit time. Do.

なお、単位時間は、逓倍回路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 multiplier circuit 16.
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 calculation unit 12a and selectors 12b and 12c. The arithmetic unit 12a receives the output data from the delay unit 13-1 through the terminal I1 and the partial data output from the multiplexer 11 through the terminal I2. And the calculating part 12a calculates the sum and difference of both, outputs a difference from terminal SUB, and outputs a sum from terminal ADD.

セレクタ12bには、マルチプレクサ11から出力される部分データと、演算部12aの端子SUBから出力される演算結果が入力される。セレクタ12bは、制御部18の端子Q2から出力されるビットの値に応じて、2つの入力データのうち一方を選択して、遅延部13−1に出力する。セレクタ12bは、制御部18の端子Q2から出力されるビットが“0”のとき、マルチプレクサ11から出力される部分データを選択して出力し、ビットが“1”のとき、演算部12aの端子SUBから出力される演算結果を選択して出力する。   The partial data output from the multiplexer 11 and the calculation result output from the terminal SUB of the calculation unit 12a are input to the selector 12b. The selector 12b selects one of the two input data according to the value of the bit output from the terminal Q2 of the control unit 18, and outputs the selected data to the delay unit 13-1. The selector 12b selects and outputs the partial data output from the multiplexer 11 when the bit output from the terminal Q2 of the control unit 18 is “0”, and the terminal of the arithmetic unit 12a when the bit is “1”. A calculation result output from the SUB is selected and output.

セレクタ12cには、遅延部13−1からの出力データと、演算部12aの端子ADDから出力される演算結果が入力される。セレクタ12cは、制御部18の端子Q2から出力されるビットの値に応じて、2つの入力データのうち一方を選択して、乗算部14−1に出力する。セレクタ12cは、制御部18の端子Q2から出力されるビットが“0”のとき、遅延部13−1からの出力データを選択して出力し、ビットが“1”のとき、演算部12aの端子ADDから出力される演算結果を選択して出力する。   The selector 12c receives the output data from the delay unit 13-1 and the calculation result output from the terminal ADD of the calculation unit 12a. The selector 12c selects one of the two input data according to the value of the bit output from the terminal Q2 of the control unit 18, and outputs it to the multiplication unit 14-1. The selector 12c selects and outputs the output data from the delay unit 13-1 when the bit output from the terminal Q2 of the control unit 18 is "0", and when the bit is "1", the selector 12c The calculation result output from the terminal ADD is selected and output.

バタフライ演算部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 selector 12b inputs the calculation result of the multiplication unit 14-1 instead of the partial data output from the multiplexer 11. Further, in the butterfly calculation unit 12-3, the selector 12b inputs the calculation result of the multiplication unit 14-2 instead of the partial data output from the multiplexer 11.

また、最後段のバタフライ演算部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 FFT circuit 10 via the output signal line OUT.
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 shift register 13a, and shifts the data taken in synchronization with the multiplied clock signal generated by the multiplication circuit 16. , Output after delaying by a predetermined delay time. The delay units 13-2 and 13-3 have similar shift registers, but are not shown in FIG.

また、遅延部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 multiplexer 11 in the order of the stream data described above, delays it, and outputs it as the first input data of the first stage butterfly operation unit 12-1. FIG. 1 shows a state in which partial data x0, y0, and z0 are stored in the shift register 13a of the delay unit 13-1 in this order.

なお、バタフライ演算部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 selector 12c, the multiplying units 14-1 and 14-2 receive one of the calculation results of the butterfly calculation units 12-1 and 12-2 or the output data of the delay units 13-1 and 13-2. , Multiply by the twiddle factor and output. The data output from the multiplying units 14-1 and 14-2 becomes the second input data of the butterfly computing units 12-2 and 12-3 at the subsequent stage.

回転因子生成部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 control unit 18. The twiddle factor is expressed by the following equation.

N 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 FFT circuit 10 of FIG. 1 that performs an FFT operation with a data length of 8, N = 8 in the twiddle factor generation unit 15-1 that generates a twiddle factor that multiplies the output of the first stage butterfly operation unit 12-1. In the twiddle factor generation unit 15-2 that generates the twiddle factor multiplied by the output of the second stage butterfly calculation unit 12-2, N = 4.

また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 control unit 18. Hereinafter, the bits output from the terminals Q0 to Q2 will be referred to as bits Q0 to Q2. Bit Q0 is the least significant bit and bit Q2 is the most significant bit.

ステージステート番号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 multiplier circuit 16 receives a clock signal that determines the input timing to the multiplexer 11 via the clock signal line CLK, and generates a multiplied clock signal by multiplying the frequency of the clock signal by the number of stream data. The period of the multiplied clock signal is the unit time described above. Therefore, conversely, it can be said that the clock signal has a cycle that is several times the number of stream data per unit time.

カウンタ17は、逓倍クロック信号の周期で更新するマルチプレクサ11の選択信号を生成するとともに、逓倍クロック信号をストリームデータ数倍に分周した制御信号(以下イネーブル信号と呼ぶ)を、制御部18に対して出力する機能を有する。ストリームデータ数が3の場合、カウンタ17は、3進数のバイナリカウンタであり、逓倍クロック信号の立ち上がりまたは立ち下がりエッジをカウントして、カウント値が2(2進数表記では(10))のときに、制御部18に対して“1”を出力する。   The counter 17 generates a selection signal of the multiplexer 11 that is updated at the cycle of the multiplied clock signal, and also sends a control signal (hereinafter referred to as an enable signal) obtained by dividing the multiplied clock signal to the number of stream data to the control unit 18. Output function. When the number of stream data is 3, the counter 17 is a ternary binary counter, and counts the rising or falling edge of the multiplied clock signal, and the count value is 2 ((10) in binary notation). , “1” is output to the control unit 18.

また、カウンタ17は、カウント値をマルチプレクサ11に対して選択信号として出力する。カウント値は、逓倍クロック信号の周期で更新するので、マルチプレクサ11では、逓倍クロック信号の周期で、ストリームデータSD1〜SD3の部分データを選択して出力していくことになる。   The counter 17 outputs the count value to the multiplexer 11 as a selection signal. Since the count value is updated at the cycle of the multiplied clock signal, the multiplexer 11 selects and outputs partial data of the stream data SD1 to SD3 at the cycle of the multiplied clock signal.

制御部18は、FFTを行う部分データ数が8の場合、3ビットのバイナリカウンタである。制御部18は、カウンタ17から出力されるイネーブル信号を端子ENで受信し、イネーブル信号が“1”のときは、端子CKに入力される逓倍クロック信号の立ち上がりまたは立ち下がりエッジをカウントする。そして、制御部18は、カウント値の最上位のビットQ2をバタフライ演算部12−1と回転因子生成部15−1に送出する。   The control unit 18 is a 3-bit binary counter when the number of partial data to be subjected to FFT is 8. The control unit 18 receives the enable signal output from the counter 17 at the terminal EN, and counts rising or falling edges of the multiplied clock signal input to the terminal CK when the enable signal is “1”. Then, the control unit 18 sends the most significant bit Q2 of the count value to the butterfly calculation unit 12-1 and the twiddle factor generation unit 15-1.

また、制御部18は、カウント値の2番目のビットQ1をバタフライ演算部12−2と回転因子生成部15−1,15−2に送出し、最下位のビットQ0をバタフライ演算部12−3と回転因子生成部15−1,15−2に送出する。   Further, the control unit 18 sends the second bit Q1 of the count value to the butterfly calculation unit 12-2 and the twiddle factor generation units 15-1 and 15-2, and the least significant bit Q0 to the butterfly calculation unit 12-3. And sent to the twiddle factor generators 15-1 and 15-2.

これにより、回転因子生成部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 circuit 10 of this embodiment as described above, as will be described in detail below, a plurality of stream data is subjected to FFT in one pipeline type FFT circuit 10 for each partial data. It can be processed. That is, it is possible to perform FFT on a plurality of stream data with a small circuit.

また、本実施の形態のFFT回路10では、元のクロック信号の周波数をストリームデータ数倍した逓倍クロック信号の周期でマルチプレクサ11から部分データを出力させ、回転因子についてはクロック信号の周期で更新させている。これにより、一本のパイプライン型のFFT回路10でも、高速に複数のストリームデータのFFTを行うことが可能になる。   Also, in the FFT circuit 10 of the present embodiment, partial data is output from the multiplexer 11 at the cycle of the multiplied clock signal obtained by multiplying the frequency of the original clock signal by the number of stream data, and the twiddle factor is updated at the cycle of the clock signal. ing. Thereby, even a single pipelined FFT circuit 10 can perform FFT of a plurality of stream data at high speed.

以下、本実施の形態のFFT回路10の動作を説明する。
なお、以下の説明では、図2に示したような3つのストリームデータSD1〜SD3が、FFT回路10の外部から、入力信号線IN1〜IN3を介してマルチプレクサ11に入力されるとする。また、FFT回路10は、クロック信号または逓倍クロック信号の立ち上がりタイミングに同期して動作するものとする。
Hereinafter, the operation of the FFT circuit 10 of the present embodiment will be described.
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 FFT circuit 10 to the multiplexer 11 via the input signal lines IN1 to IN3. The FFT circuit 10 operates in synchronization with the rising timing of the clock signal or the multiplied clock signal.

マルチプレクサ11はストリームデータSD1〜SD3をクロック信号に同期して部分データごとに受信する。最初に、マルチプレクサ11は、各ストリームデータSD1〜SD3の最初の部分データx0,y0,z0を、クロック信号のある立ち上がりタイミングで受信する。   The multiplexer 11 receives the stream data SD1 to SD3 for each partial data in synchronization with the clock signal. First, the multiplexer 11 receives the first partial data x0, y0, z0 of the stream data SD1 to SD3 at a rising timing of the clock signal.

初期状態では、カウンタ17のカウント値は(00)であり、このカウント値を選択信号とするマルチプレクサ11は、ストリームデータSD1の最初の部分データx0を選択して出力する。また初期状態では、制御部18から出力されるビットQ2,Q1,Q0は(000)であり、バタフライ演算部12−1のセレクタ12bは、部分データx0を出力する。   In the initial state, the count value of the counter 17 is (00), and the multiplexer 11 using this count value as the selection signal selects and outputs the first partial data x0 of the stream data SD1. In the initial state, the bits Q2, Q1, and Q0 output from the control unit 18 are (000), and the selector 12b of the butterfly calculation unit 12-1 outputs the partial data x0.

なお、ビット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 multiplier circuit 16 rises to the H (High) level, the count value of the counter 17 becomes (01). Thereby, the multiplexer 11 selects and outputs the first partial data y0 of the stream data SD2. Since the count value of the counter 17 is (01), the enable signal output from the counter 17 to the control unit 18 remains “0”. Therefore, the bits Q2, Q1, and Q0 output from the control unit 18 also remain (000), and the selector 12b of the butterfly calculation unit 12-1 outputs partial data y0.

また、このとき遅延部13−1のシフトレジスタ13aは、前のタイミングでバタフライ演算部12−1から出力された部分データx0を、逓倍クロック信号の立ち上がりに同期して取り込む。   At this time, the shift register 13a of the delay unit 13-1 takes in the partial data x0 output from the butterfly operation unit 12-1 at the previous timing in synchronization with the rising edge of the multiplied clock signal.

逓倍クロック信号が次に立ち上がると、カウンタ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 counter 17 becomes (10). Thereby, the multiplexer 11 selects and outputs the first partial data z0 of the stream data SD3. When the count value of the counter 17 is (10), the enable signal output from the counter 17 to the control unit 18 is “1”, but is output from the control unit 18 until the next multiplied clock signal rises. Bits Q2, Q1, and Q0 also remain (000). Therefore, the selector 12b of the butterfly calculation unit 12-1 outputs the partial data z0.

また、このとき遅延部13−1のシフトレジスタ13aは、既に取り込んだ部分データx0を後段のレジスタにシフトするとともに、部分データy0を逓倍クロック信号の立ち上がりに同期して取り込む。   At this time, the shift register 13a of the delay unit 13-1 shifts the already acquired partial data x0 to the subsequent register and acquires the partial data y0 in synchronization with the rising edge of the multiplied clock signal.

逓倍クロック信号が次に立ち上がると、同様の処理が行われ、シフトレジスタ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 shift register 13a, and the shift register 13a is in the state shown in FIG. In addition, since the multiplied clock signal is input while the enable signal is “1”, the control unit 18 counts and the bit Q0 becomes “1”. However, the bits Q1 and Q2 remain “0”. Therefore, in the butterfly operation unit 12-1, the selector 12b similarly selects the partial data x1 output from the multiplexer 11 and outputs the selected partial data x1 to the delay unit 13a.

以上の処理が繰り返され、処理を開始してから逓倍クロック信号が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 FFT circuit 10 is in a state as shown below.
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 multiplexer 11, the multiplier circuit 16, and the like shown in FIG. 1 are not shown. The multiplied clock signal is denoted as CLKM.

逓倍クロック信号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 shift register 13a enters the state shown in FIG. 3 and outputs the partial data x0. At this time, the calculation unit 12a of the butterfly calculation unit 12-1 calculates the sum (x0 + x4) and the difference (x0−x4) of the partial data x0 and the partial data x4 output from the multiplexer 11.

また、逓倍クロック信号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 control unit 18 being advanced, the bits Q2, Q1, and Q0 are (100). Therefore, the selector 12b of the butterfly computation unit 12-1 outputs x0-x4 to the delay unit 13-1, and the selector 12c outputs x0 + x4 to the multiplication unit 14-1.

また、回転因子生成部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 selector 12b outputs x0 + x4 to the delay unit 13-2 because the bit Q1 input as the selection signal is “0”.

なお、このときバタフライ演算部12−2,12−3の演算部12aの出力は、遅延部13−2,13−3からの供給される第1の入力データが確定していないので、まだ不定の状態となっている。   At this time, the outputs of the calculation units 12a of the butterfly calculation units 12-2 and 12-3 are not yet determined because the first input data supplied from the delay units 13-2 and 13-3 has not been determined. It is in the state of.

さらに処理が進み、処理を開始してから逓倍クロック信号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 FFT circuit 10 is in a state as shown below.
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 shift register 13a enters the state shown in FIG. 4 and outputs the partial data x2. At this time, the calculation unit 12a of the butterfly calculation unit 12-1 calculates the sum (x2 + x6) and the difference (x2-x6) of the partial data x2 and the partial data x6 output from the multiplexer 11.

また、逓倍クロック信号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 control unit 18 being advanced, the bits Q2, Q1, and Q0 are (110). Therefore, the selector 12b of the butterfly calculation unit 12-1 outputs x2-x6 to the delay unit 13-1, and the selector 12c outputs x2 + x6 to the multiplication unit 14-1.

また、回転因子生成部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 shift register 13b of the delay unit 13-2 provided corresponding to the second stage butterfly calculation unit 12-2 is in a state as shown in FIG. x0 + x4 is output. At this time, the calculation unit 12a of the butterfly calculation unit 12-2 calculates the sum ((x0 + x4) + (x2 + x6)) and the difference ((x0 + x4) − (x2 + x6)) of x0 + x4 and x2 + x6 output from the multiplication unit 14-1. Is calculated.

制御部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 control unit 18 is “1”, the selector 12b of the butterfly operation unit 12-2 outputs (x0 + x4) − (x2 + x6) to the delay unit 13-2, and the selector 12c x0 + x4) + (x2 + x6) is output to the multiplier 14-2.

また、回転因子生成部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 selector 12b outputs (x0 + x4) + (x2 + x6) to the delay unit 13-3 because the bit Q0 input as the selection signal is “0”.

このとき、遅延部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 computing unit 12a of the butterfly computing unit 12-3 is still in an indefinite state. It has become.

さらに処理が進み、処理が開始してから逓倍クロック信号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 FFT circuit 10 is in a state as shown below.
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 shift register 13a enters the state shown in FIG. 5 and outputs the partial data x3. At this time, the calculation unit 12a of the butterfly calculation unit 12-1 calculates the sum (x3 + x7) and the difference (x3-x7) of the partial data x3 and the partial data x7 output from the multiplexer 11.

また、逓倍クロック信号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 control unit 18 being advanced, the bits Q2, Q1, and Q0 are (111). Therefore, the selector 12b of the butterfly calculation unit 12-1 outputs x3-x7 to the delay unit 13-1, and the selector 12c outputs x3 + x7 to the multiplication unit 14-1. The twiddle factor generator 15-1 also outputs “1” when the input bits Q2, Q1, and Q0 are (111) as described above. Therefore, the multiplication unit 14-1 outputs x3 + x7.

逓倍クロック信号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 shift register 13b of the delay unit 13-2 provided corresponding to the second stage butterfly calculation unit 12-2 is in a state as shown in FIG. x1 + x5 is output. At this time, the calculation unit 12a of the butterfly calculation unit 12-2 adds ((x1 + x5) + (x3 + x7)) and difference ((x1 + x5) − (x3 + x7)) between x1 + x5 and x3 + x7 output from the multiplication unit 14-1. Is calculated.

制御部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 control unit 18 is “1”, the selector 12b of the butterfly operation unit 12-2 outputs (x1 + x5) − (x3 + x7) to the delay unit 13-2, and the selector 12c x1 + x5) + (x3 + x7) is output to the multiplier 14-2.

また、回転因子生成部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 shift register 13c of the delay unit 13-3 provided corresponding to the third stage (last stage) butterfly operation unit 12-3 is as shown in FIG. State, and (x0 + x4) + (x2 + x6) is output. At this time, the calculation unit 12a of the butterfly calculation unit 12-3 calculates the sum and difference of (x0 + x4) + (x2 + x6) and (x1 + x5) + (x3 + x7) output from the multiplication unit 14-2. The sum is ((x0 + x4) + (x2 + x6)) + ((x1 + x5) + (x3 + x7)), and the difference is ((x0 + x4) + (x2 + x6)) − ((x1 + x5) + (x3 + x7)).

制御部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 control unit 18 is “1”, the selector 12b of the butterfly operation unit 12-3 outputs ((x0 + x4) + (x2 + x6)) − ((x1 + x5) + (x3 + x7)) as a delay unit. Output to 13-3. The selector 12c outputs ((x0 + x4) + (x2 + x6)) + ((x1 + x5) + (x3 + x7)) as the first value of the FFT result of the stream data SD1.

次に、逓倍クロック信号CLKMが立ち上がると、FFT回路10は、以下に示すような状態となる。
図6は、逓倍クロック信号が22回立ち上がったときのFFT回路の各部の信号の一例の状態を示す図である。
Next, when the multiplied clock signal CLKM rises, the FFT circuit 10 is in a state as shown below.
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 shift register 13a enters the state shown in FIG. 6 and outputs partial data y3. At this time, the computing unit 12a of the butterfly computing unit 12-1 calculates the sum (y3 + y7) and the difference (y3-y7) of the partial data y3 and the partial data y7 output from the multiplexer 11.

また、逓倍クロック信号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 control unit 18 remain (111). Therefore, the selector 12b of the butterfly calculation unit 12-1 outputs y3-y7 to the delay unit 13-1, and the selector 12c outputs y3 + y7 to the multiplication unit 14-1. Since the twiddle factor generation unit 15-1 outputs “1”, the multiplication unit 14-1 outputs y3 + y7.

逓倍クロック信号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 shift register 13b of the delay unit 13-2 provided corresponding to the second stage butterfly operation unit 12-2 outputs y1 + y5. At this time, the computation unit 12a of the butterfly computation unit 12-2 calculates the sum ((y1 + y5) + (y3 + y7)) and difference ((y1 + y5) − (y3 + y7)) of y1 + y5 and y3 + y7 output from the multiplication unit 14-1. Is calculated.

制御部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 control unit 18 is “1”, the selector 12b of the butterfly operation unit 12-2 outputs (y1 + y5) − (y3 + y7) to the delay unit 13-2, and the selector 12c ( y1 + y5) + (y3 + y7) is output to the multiplier 14-2.

また、回転因子生成部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 shift register 13c of the delay unit 13-3 provided corresponding to the butterfly operation unit 12-3 outputs (y0 + y4) + (y2 + y6). At this time, the calculation unit 12a of the butterfly calculation unit 12-3 calculates the sum and difference of (y0 + y4) + (y2 + y6) and (y1 + y5) + (y3 + y7) output from the multiplication unit 14-2. The sum is ((y0 + y4) + (y2 + y6)) + ((y1 + y5) + (y3 + y7)), and the difference is ((y0 + y4) + (y2 + y6)) − ((y1 + y5) + (y3 + y7)).

制御部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 control unit 18 is “1”, the selector 12b of the butterfly operation unit 12-3 outputs ((y0 + y4) + (y2 + y6)) − ((y1 + y5) + (y3 + y7)) as a delay unit. Output to 13-3. The selector 12c outputs ((y0 + y4) + (y2 + y6)) + ((y1 + y5) + (y3 + y7)) as the first value of the FFT result of the stream data SD2.

次に、逓倍クロック信号CLKMが立ち上がると、FFT回路10は、以下に示すような状態となる。
図7は、逓倍クロック信号が23回立ち上がったときのFFT回路の各部の信号の一例の状態を示す図である。
Next, when the multiplied clock signal CLKM rises, the FFT circuit 10 is in a state as shown below.
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 shift register 13a outputs partial data z3. At this time, the calculation unit 12a of the butterfly calculation unit 12-1 calculates the sum (z3 + z7) and the difference (z3-z7) of the partial data z3 and the partial data z7 output from the multiplexer 11.

また、逓倍クロック信号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 control unit 18 are (111) until the next multiplied clock signal CLKM rises. ). Therefore, the selector 12b of the butterfly calculation unit 12-1 outputs z3-z7 to the delay unit 13-1, and the selector 12c outputs z3 + z7 to the multiplication unit 14-1. Since the twiddle factor generation unit 15-1 outputs “1”, the multiplication unit 14-1 outputs z3 + z7.

逓倍クロック信号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 shift register 13b of the delay unit 13-2 provided corresponding to the second stage butterfly operation unit 12-2 outputs z1 + z5. At this time, the calculation unit 12a of the butterfly calculation unit 12-2 calculates the difference ((z1 + z5) − (z3 + z7)) between the sum ((z1 + z5) + (z3 + z7)) of z1 + z5 and z3 + z7 output from the multiplication unit 14-1. Is calculated.

制御部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 control unit 18 is “1”, the selector 12b of the butterfly operation unit 12-2 outputs (z1 + z5) − (z3 + z7) to the delay unit 13-2, and the selector 12c ( z1 + z5) + (z3 + z7) is output to the multiplier 14-2.

また、回転因子生成部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 shift register 13c of the delay unit 13-3 provided corresponding to the butterfly operation unit 12-3 outputs (z0 + z4) + (z2 + z6). At this time, the calculation unit 12a of the butterfly calculation unit 12-3 calculates the sum and difference of (z0 + z4) + (z2 + z6) and (z1 + z5) + (z3 + z7) output from the multiplication unit 14-2. The sum is ((z0 + z4) + (z2 + z6)) + ((z1 + z5) + (z3 + z7)), and the difference is ((z0 + z4) + (z2 + z6)) − ((z1 + z5) + (z3 + z7)).

制御部18から出力されるビットQ0は“1”であるので、バタフライ演算部12−3のセレクタ12bは、((z0+z4)+(z2+z6))−((z1+z5)+(z3+z7))を遅延部13−3に出力する。   Since the bit Q0 output from the control unit 18 is “1”, the selector 12b of the butterfly operation unit 12-3 outputs ((z0 + z4) + (z2 + z6)) − ((z1 + z5) + (z3 + z7)) as a delay unit. Output to 13-3.

また、セレクタ12cは、((z0+z4)+(z2+z6))+((z1+z5)+(z3+z7))を、ストリームデータSD3のFFT結果の最初の値として出力する。
ここまでの処理で、ストリームデータSD1〜SD3の最初のFFT結果が得られる。
In addition, the selector 12c outputs ((z0 + z4) + (z2 + z6)) + ((z1 + z5) + (z3 + z7)) as the first value of the FFT result of the stream data SD3.
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 selector 12c of the butterfly computation unit 12-3 at the last stage.

このように、本実施の形態のFFT回路10では、マルチプレクサ11は、単位時間ごとに1つのストリームデータの1つの部分データを所定のストリームデータ順に出力していく。そして、初段のバタフライ演算部12−1に対応して設けられた遅延部13−1が部分データをストリームデータ順に入力して遅延しバタフライ演算部12−1に供給する。バタフライ演算部12−1は、そのときマルチプレクサ11が出力する部分データと遅延された部分データを用いて演算を行う。   As described above, in the FFT circuit 10 according to the present embodiment, the multiplexer 11 outputs one partial data of one stream data in a predetermined stream data order every unit time. Then, a delay unit 13-1 provided corresponding to the first stage butterfly calculation unit 12-1 inputs the partial data in the order of the stream data, delays it, and supplies it to the butterfly calculation unit 12-1. The butterfly computation unit 12-1 performs computation using the partial data output from the multiplexer 11 and the delayed partial data at that time.

これにより、複数のストリームデータが部分データごとに、一本のパイプライン型の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-type FFT circuit 10, and FFT can be performed on the plurality of stream data by a small circuit.

なお、上記ではSDF(Single Path-Delay Feedback)方式を適用したFFT回路10を説明したが、この方式に限らない。MDC(Multi-Path Delay Commutator)方式あるいは、他の方式についても、同様の処理を行うパイプライン型のFFT回路を実現することができる。   In the above description, the FFT circuit 10 to which the SDF (Single Path-Delay Feedback) method is applied has been described. However, the present invention is not limited to this method. A pipeline-type FFT circuit that performs the same processing can also be realized for the MDC (Multi-Path Delay Commutator) method or other methods.

また、上記では基数(Radix)を2としたFFTを行うFFT回路10について説明したが、基数も2に限定されるものではない。
上記のような本実施の形態の処理を実現するFFT回路は、複数のストリームデータを受信し、単位時間ごとに所定のストリームデータ順に各ストリームデータの部分データを出力するマルチプレクサを有するものとなる。また、初段のバタフライ演算部は、マルチプレクサが出力した部分データを一方の入力データとして入力する。そして、初段のバタフライ演算部に対応して設けられた遅延部は、マルチプレクサが出力した部分データを上記のストリームデータ順に入力し、遅延して初段のバタフライ演算部の他方の入力データとして出力する。
In the above description, the FFT circuit 10 that performs FFT with a radix of 2 has been described. However, the radix is not limited to 2.
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 FFT circuit 10 described above but also an FFT circuit that can obtain the same effect can be realized.
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 SYMBOLS 10 FFT circuit 11 Multiplexer 12-1 to 12-3 Butterfly operation part 12a Operation part 12b, 12c Selector 13-1 to 13-3 Delay part 13a Shift register 14-1, 14-2 Multiplication part 15-1, 15-2 Rotation factor generator 16 Multiplier circuit 17 Counter 18 Controller CLK Clock signal line IN1-IN3 Input signal line OUT Output signal line x0, y0, z0 Partial data

しかしながら、複数チャンネルのストリームデータを処理する従来の手法は、チャンネルごとにパイプライン型の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 shift register 13a, and shifts the data taken in synchronization with the multiplied clock signal generated by the multiplication circuit 16. after a delay during content at any given time, and outputs. The delay units 13-2 and 13-3 have similar shift registers, but are not shown in FIG.

カウンタ17は、逓倍クロック信号の周期で更新するマルチプレクサ11の選択信号を生成するとともに、逓倍クロック信号をストリームデータ数分周した制御信号(以下イネーブル信号と呼ぶ)を、制御部18に対して出力する機能を有する。ストリームデータ数が3の場合、カウンタ17は、3けたのバイナリカウンタであり、逓倍クロック信号の立ち上がりまたは立ち下がりエッジをカウントして、カウント値が2(2進数表記では(10))のときに、制御部18に対して“1”を出力する。 The counter 17 generates a selection signal for the multiplexer 11 that is updated at the cycle of the multiplied clock signal, and sends a control signal (hereinafter referred to as an enable signal) obtained by dividing the multiplied clock signal by the number of stream data to the control unit 18. Output function. When the number of stream data is 3, the counter 17 is a 3- digit binary counter that counts the rising or falling edge of the multiplied clock signal and the count value is 2 ((10) in binary notation). , “1” is output to the control unit 18.

逓倍クロック信号が次に立ち上がると、同様の処理が行われ、シフトレジスタ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 shift register 13a, and the shift register 13a is in the state shown in FIG. In addition, since the multiplied clock signal is input while the enable signal is “1”, the control unit 18 counts and the bit Q0 becomes “1”. However, the bits Q1 and Q2 remain “0”. Therefore, in butterfly operation unit 12-1, the selector 12b selects the partial data x1 to multiplexer 11 outputs, and outputs to the delay unit 13 -1.

また、回転因子生成部15−2は、入力されるビットQ,Qが(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 Q 1 and Q 0 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 selector 12b outputs (x0 + x4) + (x2 + x6) to the delay unit 13-3 because the bit Q0 input as the selection signal is “0”.

また、本実施の形態の処理を実現する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
前記複数の遅延部では、前記第2の入力データに含まれる部分データと同じデータ列の部分データが含まれる前記第1の入力データが、当該第2の入力データと共に前記バタフライ演算部に入力されるように、データ列数及び部分データ数に応じて、遅延時間が設定されている請求の範囲第1項に記載の高速フーリエ変換回路。   In the plurality of delay units, the first input data including partial data of the same data string as the partial data included in the second input data is input to the butterfly calculation unit together with the second input data. The fast Fourier transform circuit according to claim 1, wherein a delay time is set according to the number of data strings and the number of partial data. 前記単位時間のデータ列数倍の周期のクロック信号を受信し、前記クロック信号の周波数を前記データ列数倍した逓倍クロック信号を生成する逓倍回路と、
前記逓倍クロック信号の周期で更新する前記マルチプレクサの選択信号を生成するとともに、前記逓倍クロック信号を前記データ列数倍に分周した制御信号を生成するカウンタと、
前記回転因子を前記制御信号に応じたタイミングで更新する回転因子生成部と、
を更に有する請求の範囲第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:
JP2013534547A 2011-09-22 2011-09-22 Fast Fourier transform circuit Pending JPWO2013042249A1 (en)

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)

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

Patent Citations (7)

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

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