JP5493646B2 - Discrete Fourier transform apparatus and discrete Fourier transform / discrete inverse Fourier transform method - Google Patents

Discrete Fourier transform apparatus and discrete Fourier transform / discrete inverse Fourier transform method Download PDF

Info

Publication number
JP5493646B2
JP5493646B2 JP2009220792A JP2009220792A JP5493646B2 JP 5493646 B2 JP5493646 B2 JP 5493646B2 JP 2009220792 A JP2009220792 A JP 2009220792A JP 2009220792 A JP2009220792 A JP 2009220792A JP 5493646 B2 JP5493646 B2 JP 5493646B2
Authority
JP
Japan
Prior art keywords
timing
output
control signal
data
fourier transform
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2009220792A
Other languages
Japanese (ja)
Other versions
JP2011070392A (en
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.)
NEC Corp
Original Assignee
NEC Corp
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 NEC Corp filed Critical NEC Corp
Priority to JP2009220792A priority Critical patent/JP5493646B2/en
Publication of JP2011070392A publication Critical patent/JP2011070392A/en
Application granted granted Critical
Publication of JP5493646B2 publication Critical patent/JP5493646B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Complex Calculations (AREA)

Description

本発明は、離散フーリエ変換装置および離散フーリエ変換方法に関し、特には、点数(ポイント数)が異なる離散フーリエ変換(DFT)を実行できる離散フーリエ変換装置および離散フーリエ変換方法に関する。   The present invention relates to a discrete Fourier transform apparatus and a discrete Fourier transform method, and more particularly to a discrete Fourier transform apparatus and a discrete Fourier transform method capable of executing discrete Fourier transform (DFT) with different points (point numbers).

周波数領域の信号を時間領域の信号に変換する処理と、時間領域の信号を周波数領域の信号に変換する処理と、を含む変復調処理を行う無線通信信号処理装置が知られている。変復調処理の例としては、LTE(Long Term Evolution)で用いられる離散フーリエ変換(DFT)と離散逆フーリエ変換(IDFT)とを行う処理が挙げられる。   There is known a wireless communication signal processing device that performs modulation / demodulation processing including processing for converting a frequency domain signal into a time domain signal and processing for converting a time domain signal into a frequency domain signal. As an example of the modulation / demodulation processing, there is processing for performing discrete Fourier transform (DFT) and discrete inverse Fourier transform (IDFT) used in LTE (Long Term Evolution).

一般に、DFTは以下の式で表わされる。   In general, DFT is expressed by the following equation.

Figure 0005493646
Figure 0005493646

ここで、Xは入力、Yは出力、NはDFTの点数である。また、 Here, X is an input, Y is an output, and N is a DFT score. Also,

Figure 0005493646
Figure 0005493646

である。 It is.

DFTを高速に実行する手法として、ある点数のDFTを、その点数より少ない点数のDFT処理の組み合わせとして処理するウィノグラードの方法がある。   As a technique for executing DFT at high speed, there is a Winograd method in which a DFT with a certain score is processed as a combination of DFT processing with a score less than that score.

図49は、ウィノグラードの方法を用いて、15点DFTを3点及び5点のDFTに分割して処理する手法を示した図である。   FIG. 49 is a diagram showing a technique of processing a 15-point DFT by dividing it into 3-point and 5-point DFT using the Winograd method.

ウィノグラードの方法によれば、15点のDFTは、3点DFTの前段演算部、5点DFTの前段演算部、乗算段、5点DFTの後段演算部、及び3点DFTの後段演算部から構成することができる。   According to the Winograd method, the 15-point DFT is derived from the 3-stage DFT pre-stage computation unit, the 5-point DFT pre-stage computation section, the multiplication stage, the 5-point DFT post-stage computation section, and the 3-point DFT post-stage computation section. Can be configured.

まず、3点DFTの前段演算部が、X(k)で示される入力データに対し、入力データ同士の加算処理を行う。   First, the pre-stage calculation unit of the three-point DFT performs an addition process between the input data on the input data indicated by X (k).

次に、3点DFTの前段演算部は、加算処理結果を5点DFTの前段演算部に出力し、5点DFTの前段演算部が、3点DFTの前段演算部からの加算処理結果について加算処理を行う。   Next, the 3-stage DFT pre-stage calculation unit outputs the addition processing result to the 5-point DFT pre-stage calculation section, and the 5-point DFT pre-stage calculation section adds the addition process results from the 3-point DFT pre-stage calculation section. Process.

次に、5点DFTの前段演算部は、加算処理結果を乗算段に送り、乗算段は、5点DFTの前段演算部からの加算処理結果と、あらかじめ用意しておいた乗算係数と、の乗算を行う。   Next, the 5-stage DFT pre-stage calculation unit sends the addition process result to the multiplication stage, and the multiplication stage calculates the addition process result from the 5-point DFT pre-stage calculation unit and the multiplication coefficient prepared in advance. Perform multiplication.

次に、乗算段は、乗算結果を5点DFTの後段演算部に送り、5点DFTの後段演算部は、入力されたデータ同士の加算処理を行う。   Next, the multiplication stage sends the multiplication result to the subsequent stage calculation unit of the 5-point DFT, and the subsequent stage calculation unit of the 5-point DFT performs an addition process between the input data.

最後に、5点DFTの後段演算部は、加算処理結果を3点DFTの後段演算部に送り、3点DFTの後段演算部が、入力されたデータ同士の加算処理を行い、結果を出力する。   Finally, the post-processing unit of the 5-point DFT sends the addition processing result to the post-processing unit of the 3-point DFT, and the post-processing unit of the 3-point DFT performs an addition process on the input data and outputs the result. .

ウィノグラードの方法を修正した手法とアーキテクチャがいくつか提案されている。   Several methods and architectures that modify the Winograd method have been proposed.

特許文献1には、デジタルチャネライザで用いられるDFTを効率よく処理するためのアーキテクチャが提案されている。特許文献1に開示の方法では、DFT以後の処理において、不必要なDFT出力を計算するDFT回路を削減することによって、後段演算部の加算器が削減されている。   Patent Document 1 proposes an architecture for efficiently processing a DFT used in a digital channelizer. In the method disclosed in Patent Document 1, the number of adders in the post-stage operation unit is reduced by reducing the number of DFT circuits that calculate unnecessary DFT output in the processing after DFT.

また、特許文献2には、特定のポイント数kのFFT回路がL個並列に配置され、k、2*k、..、L*kポイントのいずれのFFTも行えるサイズ可変離散フーリエ変換処理装置が記載されている。   In Patent Document 2, L FFT circuits having a specific number of points k are arranged in parallel, and k, 2 * k,. . , A variable-size discrete Fourier transform processing device capable of performing any FFT of L * k points is described.

特開2000−252934号公報JP 2000-252934 A 特開2000−123000号公報JP 2000-123000 A

特許文献1に開示されたDFT処理方法は、ポイント数に対して汎用性がなく、複数種類のポイント数のフーリエ変換に対応するためには、ポイント数ごとに、個別にDFT回路を設計しなければならない。このため、ポイント数の種類が増加するほど、DFT回路を構成する加算器および乗算器の個数が増加し、回路規模が大きくなってしまうという課題がある。また、DFTの点数毎に個別に回路を設計しなければならないため、設計に時間がかかってしまう。   The DFT processing method disclosed in Patent Document 1 is not versatile with respect to the number of points, and in order to support Fourier transformation of a plurality of types of points, a DFT circuit must be individually designed for each number of points. I must. For this reason, there is a problem that the number of adders and multipliers constituting the DFT circuit increases as the number of points increases, and the circuit scale increases. In addition, since the circuit must be individually designed for each DFT score, it takes time to design.

特許文献2に開示されたサイズ可変離散フーリエ変換処理装置は、ポイント数kのFFT回路をL個用いることによって、L種類のポイント数のフーリエ変換に対応している。このため、ポイント数の種類が増加するほど、DFT回路を構成する加算器および乗算器の個数が増加し、回路規模が大きくなってしまうという課題がある。   The size-variable discrete Fourier transform processing device disclosed in Patent Document 2 uses L FFT circuits with k points, thereby supporting Fourier transformation with L types of points. For this reason, there is a problem that the number of adders and multipliers constituting the DFT circuit increases as the number of points increases, and the circuit scale increases.

つまり、特許文献1、2に開示された技術では、ポイント数の種類が増加するほど、DFT回路を構成する加算器および乗算器の個数が増加し、回路規模が大きくなってしまうという課題がある。   In other words, the techniques disclosed in Patent Documents 1 and 2 have a problem that the number of adders and multipliers constituting the DFT circuit increases as the number of points increases, resulting in an increase in circuit scale. .

本発明の目的は、上記課題を解決可能な離散フーリエ変換装置および離散フーリエ変換方法を提供することである。   An object of the present invention is to provide a discrete Fourier transform apparatus and a discrete Fourier transform method capable of solving the above problems.

本発明の離散フーリエ変換装置は、 複数種類のポイント数のうちの一つと、処理が離散フーリエ変換であるのか離散逆フーリエ変換であるのかと、を示した制御信号と、複数のデータと、を受け付け、前記複数のデータに対して、前記制御信号にて示されたポイント数の離散フーリエ変換または離散逆フーリエ変換を実行する離散フーリエ変換装置であって、
前記複数のデータが、クロックにて規定される第一タイミングで入力されると、前記複数のデータに対して、前記離散フーリエ変換および前記離散逆フーリエ変換に応じた前段加算処理を実行する第一加算手段と、
前記第一タイミングよりも遅い第二タイミングで入力されたデータに対して、前記制御信号が示した処理に応じた乗算処理を実行する乗算手段と、
前記第二タイミングよりも遅い第三タイミングで入力されたデータに対して、前記離散フーリエ変換および前記離散逆フーリエ変換に応じた後段加算処理を実行する第二加算手段と、を含み、
前記第一加算手段は、前記前段加算処理の結果を、前記制御信号にて示されたポイント数に関わらず、前記第二タイミングで前記乗算手段に出力し、
前記乗算手段は、前記前段加算処理の結果に対して前記乗算処理を実行し、当該乗算処理の結果を、前記制御信号にて示されたポイント数に関わらず、前記第三タイミングで前記第二加算手段に出力し、
前記第二加算手段は、前記乗算処理の結果に対して前記後段加算処理を行い、当該後段加算処理の結果を、前記複数のデータに対して前記処理を実行した結果として出力し、
前記第一加算手段は、
前記第一タイミングで前記複数のデータを受け付けると、前記制御信号に従って、前記複数のデータ同士を選択的に加算する、もしくは、前記複数のデータをそのまま出力する第一演算手段と、
前記第一タイミングよりも遅く前記第二タイミングよりも早い第四タイミングで入力されたデータを、前記制御信号に従って、選択的に並べ替える、もしくは、そのまま出力する並び替え手段と、
前記第四タイミングよりも遅く前記第二タイミングよりも早い第五タイミングで入力されたデータを、前記制御信号に従って、選択的に加算する、もしくは、そのまま出力する第二演算手段と、
前記第五タイミングよりも遅く前記第二タイミングよりも早い第六タイミングで入力されたデータを、前記制御信号に従って、選択的に加算する、もしくは、そのまま出力する第三演算手段と、を有し、
前記第一演算手段は、前記制御信号にて示されたポイント数に関わらず、自己の出力を、前記第四タイミングで前記並び替え手段に出力し、
前記並び替え手段は、前記制御信号にて示されたポイント数に関わらず、自己の出力を、前記第五タイミングで前記第二演算手段に出力し、
前記第二演算手段は、前記制御信号にて示されたポイント数に関わらず、自己の出力を、前記第六タイミングで前記第三演算手段に出力し、
前記第三演算手段は、前記制御信号にて示されたポイント数に関わらず、自己の出力を、前記第二タイミングで前記乗算手段に出力する。また、
本発明の離散フーリエ変換装置は、複数種類のポイント数のうちの一つと、処理が離散フーリエ変換であるのか離散逆フーリエ変換であるのかと、を示した制御信号と、複数のデータと、を受け付け、前記複数のデータに対して、前記制御信号にて示されたポイント数の離散フーリエ変換または離散逆フーリエ変換を実行する離散フーリエ変換装置であって、
前記複数のデータが、クロックにて規定される第一タイミングで入力されると、前記複数のデータに対して、前記離散フーリエ変換および前記離散逆フーリエ変換に応じた前段加算処理を実行する第一加算手段と、
前記第一タイミングよりも遅い第二タイミングで入力されたデータに対して、前記制御信号が示した処理に応じた乗算処理を実行する乗算手段と、
前記第二タイミングよりも遅い第三タイミングで入力されたデータに対して、前記離散フーリエ変換および前記離散逆フーリエ変換に応じた後段加算処理を実行する第二加算手段と、を含み、
前記第一加算手段は、前記前段加算処理の結果を、前記制御信号にて示されたポイント数に関わらず、前記第二タイミングで前記乗算手段に出力し、
前記乗算手段は、前記前段加算処理の結果に対して前記乗算処理を実行し、当該乗算処理の結果を、前記制御信号にて示されたポイント数に関わらず、前記第三タイミングで前記第二加算手段に出力し、
前記第二加算手段は、前記乗算処理の結果に対して前記後段加算処理を行い、当該後段加算処理の結果を、前記複数のデータに対して前記処理を実行した結果として出力し、
前記乗算手段は、
前記ポイント数ごとに、当該ポイント数に対応する前記離散フーリエ変換用の乗算係数および当該ポイント数に対応する前記離散逆フーリエ変換用の乗算係数を格納する記憶手段と、
前記制御信号が示すポイント数および処理に対応する乗算係数を、前記記憶手段から読み出す読出し手段と、
前記第一加算手段の出力に、前記読出し手段が読み出した乗算係数を乗算する第一乗算手段と、
前記第一乗算手段の乗算結果に対し、前記制御信号に従って、選択的に純虚数を乗算する第二乗算手段と、を有する。また、
本発明の離散フーリエ変換装置は、複数種類のポイント数のうちの一つと、処理が離散フーリエ変換であるのか離散逆フーリエ変換であるのかと、を示した制御信号と、複数のデータと、を受け付け、前記複数のデータに対して、前記制御信号にて示されたポイント数の離散フーリエ変換または離散逆フーリエ変換を実行する離散フーリエ変換装置であって、
前記複数のデータが、クロックにて規定される第一タイミングで入力されると、前記複数のデータに対して、前記離散フーリエ変換および前記離散逆フーリエ変換に応じた前段加算処理を実行する第一加算手段と、
前記第一タイミングよりも遅い第二タイミングで入力されたデータに対して、前記制御信号が示した処理に応じた乗算処理を実行する乗算手段と、
前記第二タイミングよりも遅い第三タイミングで入力されたデータに対して、前記離散フーリエ変換および前記離散逆フーリエ変換に応じた後段加算処理を実行する第二加算手段と、を含み、
前記第一加算手段は、前記前段加算処理の結果を、前記制御信号にて示されたポイント数に関わらず、前記第二タイミングで前記乗算手段に出力し、
前記乗算手段は、前記前段加算処理の結果に対して前記乗算処理を実行し、当該乗算処理の結果を、前記制御信号にて示されたポイント数に関わらず、前記第三タイミングで前記第二加算手段に出力し、
前記第二加算手段は、前記乗算処理の結果に対して前記後段加算処理を行い、当該後段加算処理の結果を、前記複数のデータに対して前記処理を実行した結果として出力し、
前記第二加算手段は、
前記第三タイミングで前記乗算手段の出力を受け付けると、前記制御信号に従って、前記乗算手段の出力同士を選択的に加算する、もしくは、前記乗算手段の出力をそのまま出力する第四演算手段と、
前記第三タイミングよりも遅い第七タイミングで入力されたデータを、前記制御信号に従って、選択的に加算する、そのまま出力する、もしくは、選択的に加算した加算結果に選択的に純虚数を乗算する第五演算手段と、
前記第七タイミングよりも遅い第八タイミングで入力されたデータを、前記制御信号に従って、選択的に並べ替える、もしくは、そのまま出力するデータ並び替え手段と、
前記第八タイミングよりも遅い第九タイミングで入力されたデータを、前記制御信号に従って、選択的に加算する、もしくは、そのまま出力する第六演算手段と、を有し、
前記第四演算手段は、前記制御信号にて示されたポイント数に関わらず、自己の出力を、前記第七タイミングで前記第五演算手段に出力し、
前記第五演算手段は、前記制御信号にて示されたポイント数に関わらず、自己の出力を、前記第八タイミングで前記データ並び替え手段に出力し、
前記データ並び替え手段は、前記制御信号にて示されたポイント数に関わらず、自己の出力を、前記第九タイミングで前記第六演算手段に出力し、
前記第六演算手段は、自己の出力を、前記複数のデータに対して前記制御信号にて示されたポイント数の前記処理を実行した結果として出力する。
The discrete Fourier transform device of the present invention includes one of a plurality of types of points , a control signal indicating whether the process is a discrete Fourier transform or a discrete inverse Fourier transform, a plurality of data, A discrete Fourier transform device that executes discrete Fourier transform or discrete inverse Fourier transform of the number of points indicated by the control signal for the plurality of data,
When the plurality of data are input at a first timing defined by a clock, a first addition process is performed on the plurality of data according to the discrete Fourier transform and the discrete inverse Fourier transform . Adding means;
Multiplication means for executing multiplication processing according to the processing indicated by the control signal for data input at a second timing later than the first timing;
Second addition means for performing post-stage addition processing according to the discrete Fourier transform and the discrete inverse Fourier transform on data input at a third timing later than the second timing,
The first addition means outputs the result of the previous addition process to the multiplication means at the second timing regardless of the number of points indicated by the control signal,
The multiplication means performs the multiplication process on the result of the previous stage addition process, and the result of the multiplication process is determined at the third timing regardless of the number of points indicated by the control signal. Output to the adding means,
The second addition means performs the post-stage addition process on the result of the multiplication process, and outputs the result of the post-stage addition process as a result of executing the process on the plurality of data ,
The first adding means includes
When the plurality of data is received at the first timing, according to the control signal, the plurality of data is selectively added to each other, or first calculation means for outputting the plurality of data as they are;
Rearrangement means for selectively rearranging data input at a fourth timing later than the first timing and earlier than the second timing according to the control signal, or outputting the data as it is;
Data input at a fifth timing that is later than the fourth timing and earlier than the second timing, in accordance with the control signal, or a second calculation means that outputs the data as it is,
And third arithmetic means for selectively adding data input at a sixth timing later than the fifth timing and earlier than the second timing according to the control signal, or outputting the data as it is,
The first calculation means outputs its own output to the sorting means at the fourth timing regardless of the number of points indicated by the control signal,
The rearranging means outputs its own output to the second arithmetic means at the fifth timing regardless of the number of points indicated by the control signal,
The second calculation means outputs its own output to the third calculation means at the sixth timing regardless of the number of points indicated by the control signal,
The third calculation means outputs its own output to the multiplication means at the second timing regardless of the number of points indicated by the control signal. Also,
The discrete Fourier transform device of the present invention includes one of a plurality of types of points, a control signal indicating whether the process is a discrete Fourier transform or a discrete inverse Fourier transform, and a plurality of data. A discrete Fourier transform device that performs discrete Fourier transform or discrete inverse Fourier transform of the number of points indicated by the control signal for the plurality of data,
When the plurality of data are input at a first timing defined by a clock, a first addition process is performed on the plurality of data according to the discrete Fourier transform and the discrete inverse Fourier transform. Adding means;
Multiplication means for executing multiplication processing according to the processing indicated by the control signal for data input at a second timing later than the first timing;
Second addition means for performing post-stage addition processing according to the discrete Fourier transform and the discrete inverse Fourier transform on data input at a third timing later than the second timing,
The first addition means outputs the result of the previous addition process to the multiplication means at the second timing regardless of the number of points indicated by the control signal,
The multiplication means performs the multiplication process on the result of the previous stage addition process, and the result of the multiplication process is determined at the third timing regardless of the number of points indicated by the control signal. Output to the adding means,
The second addition means performs the post-stage addition process on the result of the multiplication process, and outputs the result of the post-stage addition process as a result of executing the process on the plurality of data,
The multiplication means is
Storage means for storing the multiplication coefficient for discrete Fourier transform corresponding to the number of points and the multiplication coefficient for discrete inverse Fourier transform corresponding to the number of points for each number of points;
Reading means for reading out the multiplication coefficient corresponding to the number of points and processing indicated by the control signal from the storage means;
First multiplication means for multiplying the output of the first addition means by the multiplication coefficient read by the reading means;
Second multiplication means for selectively multiplying the multiplication result of the first multiplication means by a pure imaginary number in accordance with the control signal. Also,
The discrete Fourier transform device of the present invention includes one of a plurality of types of points, a control signal indicating whether the process is a discrete Fourier transform or a discrete inverse Fourier transform, and a plurality of data. A discrete Fourier transform device that performs discrete Fourier transform or discrete inverse Fourier transform of the number of points indicated by the control signal for the plurality of data,
When the plurality of data are input at a first timing defined by a clock, a first addition process is performed on the plurality of data according to the discrete Fourier transform and the discrete inverse Fourier transform. Adding means;
Multiplication means for executing multiplication processing according to the processing indicated by the control signal for data input at a second timing later than the first timing;
Second addition means for performing post-stage addition processing according to the discrete Fourier transform and the discrete inverse Fourier transform on data input at a third timing later than the second timing,
The first addition means outputs the result of the previous addition process to the multiplication means at the second timing regardless of the number of points indicated by the control signal,
The multiplication means performs the multiplication process on the result of the previous stage addition process, and the result of the multiplication process is determined at the third timing regardless of the number of points indicated by the control signal. Output to the adding means,
The second addition means performs the post-stage addition process on the result of the multiplication process, and outputs the result of the post-stage addition process as a result of executing the process on the plurality of data,
The second adding means includes
When receiving the output of the multiplication means at the third timing, according to the control signal, selectively add the outputs of the multiplication means, or a fourth calculation means for outputting the output of the multiplication means as it is,
The data input at the seventh timing later than the third timing is selectively added according to the control signal, output as it is, or the addition result selectively added is selectively multiplied by a pure imaginary number. A fifth computing means;
Data rearranging means for selectively rearranging data inputted at an eighth timing later than the seventh timing according to the control signal, or outputting the data as it is,
Sixth arithmetic means for selectively adding the data input at the ninth timing later than the eighth timing according to the control signal, or outputting the data as it is,
The fourth calculation means outputs its own output to the fifth calculation means at the seventh timing regardless of the number of points indicated by the control signal,
The fifth computing means outputs its own output to the data rearranging means at the eighth timing regardless of the number of points indicated by the control signal,
The data rearranging means outputs its own output to the sixth arithmetic means at the ninth timing regardless of the number of points indicated by the control signal,
The sixth arithmetic means outputs its own output as a result of executing the processing of the number of points indicated by the control signal for the plurality of data.

本発明の離散フーリエ変換・離散逆フーリエ変換方法は、複数種類のポイント数のうちの一つと、処理が離散フーリエ変換であるのか離散逆フーリエ変換であるのかと、を示した制御信号と、複数のデータと、を受け付け、前記複数のデータに対して、前記制御信号にて示されたポイント数の離散フーリエ変換または離散逆フーリエ変換を実行する離散フーリエ変換装置での離散フーリエ変換・離散逆フーリエ変換方法であって、
前記複数のデータが、クロックにて規定される第一タイミングで入力されると、前記複数のデータに対して、前記離散フーリエ変換および前記離散逆フーリエ変換に応じた前段加算処理を実行する第一加算ステップと、
前記第一タイミングよりも遅い第二タイミングで入力されたデータに対して、前記制御信号が示した処理に応じた乗算処理を実行する乗算ステップと、
前記第二タイミングよりも遅い第三タイミングで入力されたデータに対して、前記離散フーリエ変換および前記離散逆フーリエ変換に応じた後段加算処理を実行する第二加算ステップと、を含み、
前記第一加算ステップでは、前記前段加算処理の結果を、前記制御信号にて示されたポイント数に関わらず、前記第二タイミングで出力し、
前記乗算ステップでは、前記前段加算処理の結果を前記第二タイミングで受け付け、当該前段加算処理の結果に対して前記乗算処理を実行し、当該乗算処理の結果を、前記制御信号にて示されたポイント数に関わらず、前記第三タイミングで出力し、
前記第二加算ステップでは、前記乗算処理の結果を前記第三タイミングで受け付け、当該乗算処理の結果に対して前記後段加算処理を行い、当該後段加算処理の結果を、前記複数のデータに対して前記処理を実行した結果として出力し、
前記第一加算ステップは、
前記第一タイミングで前記複数のデータを受け付けると、前記制御信号に従って、前記複数のデータ同士を選択的に加算する、もしくは、前記複数のデータをそのまま出力する第一演算ステップと、
前記第一タイミングよりも遅く前記第二タイミングよりも早い第四タイミングで入力されたデータを、前記制御信号に従って、選択的に並べ替える、もしくは、そのまま出力する並び替えステップと、
前記第四タイミングよりも遅く前記第二タイミングよりも早い第五タイミングで入力されたデータを、前記制御信号に従って、選択的に加算する、もしくは、そのまま出力する第二演算ステップと、
前記第五タイミングよりも遅く前記第二タイミングよりも早い第六タイミングで入力されたデータを、前記制御信号に従って、選択的に加算する、もしくは、そのまま出力する第三演算ステップと、を有し、
前記第一演算ステップでは、前記制御信号にて示されたポイント数に関わらず、自己の出力を前記第四タイミングで出力し、
前記並び替えステップでは、前記第一演算ステップでの出力を前記第四タイミングで受け付け、前記制御信号にて示されたポイント数に関わらず、自己の出力を前記第五タイミングで出力し、
前記第二演算ステップでは、前記並び替えステップでの出力を前記第五タイミングで受け付け、前記制御信号にて示されたポイント数に関わらず、自己の出力を前記第六タイミングで出力し、
前記第三演算ステップは、前記第二演算ステップでの出力を前記第六タイミングで受け付け、前記制御信号にて示されたポイント数に関わらず、自己の出力を前記第二タイミングで出力し、
前記乗算ステップでは、前記第三演算ステップでの出力を、前記前段加算処理の結果として前記第二タイミングで受け付け、当該前段加算処理の結果に対して前記乗算処理を実行するまた、
本発明の離散フーリエ変換・離散逆フーリエ変換方法は、複数種類のポイント数のうちの一つと、処理が離散フーリエ変換であるのか離散逆フーリエ変換であるのかと、を示した制御信号と、複数のデータと、を受け付け、前記複数のデータに対して、前記制御信号にて示されたポイント数の離散フーリエ変換または離散逆フーリエ変換を実行する離散フーリエ変換装置での離散フーリエ変換・離散逆フーリエ変換方法であって、
前記複数のデータが、クロックにて規定される第一タイミングで入力されると、前記複数のデータに対して、前記離散フーリエ変換および前記離散逆フーリエ変換に応じた前段加算処理を実行する第一加算ステップと、
前記第一タイミングよりも遅い第二タイミングで入力されたデータに対して、前記制御信号が示した処理に応じた乗算処理を実行する乗算ステップと、
前記第二タイミングよりも遅い第三タイミングで入力されたデータに対して、前記離散フーリエ変換および前記離散逆フーリエ変換に応じた後段加算処理を実行する第二加算ステップと、を含み、
前記第一加算ステップでは、前記前段加算処理の結果を、前記制御信号にて示されたポイント数に関わらず、前記第二タイミングで出力し、
前記乗算ステップでは、前記前段加算処理の結果を前記第二タイミングで受け付け、当該前段加算処理の結果に対して前記乗算処理を実行し、当該乗算処理の結果を、前記制御信号にて示されたポイント数に関わらず、前記第三タイミングで出力し、
前記第二加算ステップでは、前記乗算処理の結果を前記第三タイミングで受け付け、当該乗算処理の結果に対して前記後段加算処理を行い、当該後段加算処理の結果を、前記複数のデータに対して前記処理を実行した結果として出力し、
前記乗算ステップは、
前記ポイント数ごとに、当該ポイント数に対応する前記離散フーリエ変換用の乗算係数および当該ポイント数に対応する前記離散逆フーリエ変換用の乗算係数を記憶手段に格納する記憶ステップと、
前記制御信号が示すポイント数および処理に対応する乗算係数を、前記記憶手段から読み出す読出しステップと、
前記第一加算ステップでの出力に、前記読み出された乗算係数を乗算する第一乗算ステップと、
前記乗算の結果に対し、前記制御信号に従って、選択的に純虚数を乗算する第二乗算ステップと、を有する。また、
本発明の離散フーリエ変換・離散逆フーリエ変換方法は、複数種類のポイント数のうちの一つと、処理が離散フーリエ変換であるのか離散逆フーリエ変換であるのかと、を示した制御信号と、複数のデータと、を受け付け、前記複数のデータに対して、前記制御信号にて示されたポイント数の離散フーリエ変換または離散逆フーリエ変換を実行する離散フーリエ変換装置での離散フーリエ変換・離散逆フーリエ変換方法であって、
前記複数のデータが、クロックにて規定される第一タイミングで入力されると、前記複数のデータに対して、前記離散フーリエ変換および前記離散逆フーリエ変換に応じた前段加算処理を実行する第一加算ステップと、
前記第一タイミングよりも遅い第二タイミングで入力されたデータに対して、前記制御信号が示した処理に応じた乗算処理を実行する乗算ステップと、
前記第二タイミングよりも遅い第三タイミングで入力されたデータに対して、前記離散フーリエ変換および前記離散逆フーリエ変換に応じた後段加算処理を実行する第二加算ステップと、を含み、
前記第一加算ステップでは、前記前段加算処理の結果を、前記制御信号にて示されたポイント数に関わらず、前記第二タイミングで出力し、
前記乗算ステップでは、前記前段加算処理の結果を前記第二タイミングで受け付け、当該前段加算処理の結果に対して前記乗算処理を実行し、当該乗算処理の結果を、前記制御信号にて示されたポイント数に関わらず、前記第三タイミングで出力し、
前記第二加算ステップでは、前記乗算処理の結果を前記第三タイミングで受け付け、当該乗算処理の結果に対して前記後段加算処理を行い、当該後段加算処理の結果を、前記複数のデータに対して前記処理を実行した結果として出力し、
前記第二加算ステップは、
前記第三タイミングで前記乗算ステップでの出力を受け付けると、前記制御信号に従って、当該出力同士を選択的に加算する、もしくは、当該出力をそのまま出力する第四演算ステップと、
前記第三タイミングよりも遅い第七タイミングで入力されたデータを、前記制御信号に従って、選択的に加算する、そのまま出力する、もしくは、選択的に加算した加算結果に選択的に純虚数を乗算する第五演算ステップと、
前記第七タイミングよりも遅い第八タイミングで入力されたデータを、前記制御信号に従って、選択的に並べ替える、もしくは、そのまま出力するデータ並び替えステップと、
前記第八タイミングよりも遅い第九タイミングで入力されたデータを、前記制御信号に従って、選択的に加算する、もしくは、そのまま出力する第六演算ステップと、を有し、
前記第四演算ステップでは、前記制御信号にて示されたポイント数に関わらず、自己の出力を前記第七タイミングで出力し、
前記第五演算ステップでは、前記第四演算ステップでの出力を前記第七タイミングで受け付け、前記制御信号にて示されたポイント数に関わらず、自己の出力を前記第八タイミングで出力し、
前記データ並び替えステップでは、前記第五演算ステップでの出力を前記第八タイミングで受け付け、前記制御信号にて示されたポイント数に関わらず、自己の出力を前記第九タイミングで出力し、
前記第六演算ステップでは、前記データ並び替えステップでの出力を前記第九タイミングで受け付け、自己の出力を前記複数のデータに対して前記処理を実行した結果として出力する。
The discrete Fourier transform / discrete inverse Fourier transform method of the present invention includes a control signal indicating one of a plurality of types of points and whether the process is a discrete Fourier transform or a discrete inverse Fourier transform . a plurality of data, the reception, the on multiple data, discrete Fourier transform and discrete inverse of the discrete Fourier transform unit for performing a discrete Fourier transform or inverse discrete Fourier transform of the number of points indicated by the control signal A Fourier transform method,
When the plurality of data are input at a first timing defined by a clock, a first addition process is performed on the plurality of data according to the discrete Fourier transform and the discrete inverse Fourier transform . Adding step;
A multiplication step of executing multiplication processing according to the processing indicated by the control signal for data input at a second timing later than the first timing;
A second addition step of performing post-stage addition processing according to the discrete Fourier transform and the discrete inverse Fourier transform on data input at a third timing that is later than the second timing,
In the first addition step, the result of the previous stage addition process is output at the second timing regardless of the number of points indicated by the control signal,
In the multiplication step, the result of the previous stage addition process is received at the second timing, the multiplication process is performed on the result of the previous stage addition process, and the result of the multiplication process is indicated by the control signal Regardless of the number of points, output at the third timing,
In the second addition step, the result of the multiplication process is received at the third timing, the post-stage addition process is performed on the result of the multiplication process, and the result of the post-stage addition process is applied to the plurality of data. Output as a result of executing the process ,
The first adding step includes
When receiving the plurality of data at the first timing, according to the control signal, selectively adding the plurality of data, or outputting the plurality of data as they are,
Rearrangement step of selectively rearranging data input at a fourth timing later than the first timing and earlier than the second timing according to the control signal, or outputting the data as it is;
A second calculation step of selectively adding data input at a fifth timing later than the fourth timing and earlier than the second timing according to the control signal, or outputting the data as it is;
A third operation step of selectively adding data inputted at a sixth timing later than the fifth timing and earlier than the second timing according to the control signal, or outputting the data as it is,
In the first calculation step, regardless of the number of points indicated by the control signal, the output of its own is output at the fourth timing,
In the rearrangement step, the output in the first calculation step is received at the fourth timing, and regardless of the number of points indicated by the control signal, the output of the self is output at the fifth timing,
In the second calculation step, the output in the rearrangement step is received at the fifth timing, and regardless of the number of points indicated by the control signal, its own output is output at the sixth timing,
The third calculation step accepts the output in the second calculation step at the sixth timing, and outputs its own output at the second timing regardless of the number of points indicated by the control signal,
In the multiplication step, the output in the third calculation step is received at the second timing as a result of the previous stage addition process, and the multiplication process is executed on the result of the previous stage addition process . Also,
The discrete Fourier transform / discrete inverse Fourier transform method of the present invention includes a control signal indicating one of a plurality of types of points, whether the processing is discrete Fourier transform or discrete inverse Fourier transform, and a plurality of points Discrete Fourier transform / discrete inverse Fourier in a discrete Fourier transform device that receives discrete Fourier transform or discrete inverse Fourier transform of the number of points indicated by the control signal for the plurality of data. A conversion method,
When the plurality of data are input at a first timing defined by a clock, a first addition process is performed on the plurality of data according to the discrete Fourier transform and the discrete inverse Fourier transform. Adding step;
A multiplication step of executing multiplication processing according to the processing indicated by the control signal for data input at a second timing later than the first timing;
A second addition step of performing post-stage addition processing according to the discrete Fourier transform and the discrete inverse Fourier transform on data input at a third timing that is later than the second timing,
In the first addition step, the result of the previous stage addition process is output at the second timing regardless of the number of points indicated by the control signal,
In the multiplication step, the result of the previous stage addition process is received at the second timing, the multiplication process is performed on the result of the previous stage addition process, and the result of the multiplication process is indicated by the control signal Regardless of the number of points, output at the third timing,
In the second addition step, the result of the multiplication process is received at the third timing, the post-stage addition process is performed on the result of the multiplication process, and the result of the post-stage addition process is applied to the plurality of data. Output as a result of executing the process,
The multiplication step includes
For each point number, a storage step of storing in the storage means the multiplication coefficient for discrete Fourier transform corresponding to the number of points and the multiplication coefficient for discrete inverse Fourier transform corresponding to the number of points;
A reading step of reading out the multiplication coefficient corresponding to the number of points and processing indicated by the control signal from the storage means;
A first multiplication step of multiplying the output in the first addition step by the read multiplication coefficient;
A second multiplication step of selectively multiplying a result of the multiplication by a pure imaginary number in accordance with the control signal. Also,
The discrete Fourier transform / discrete inverse Fourier transform method of the present invention includes a control signal indicating one of a plurality of types of points, whether the processing is discrete Fourier transform or discrete inverse Fourier transform, and a plurality of points Discrete Fourier transform / discrete inverse Fourier in a discrete Fourier transform device that receives discrete Fourier transform or discrete inverse Fourier transform of the number of points indicated by the control signal for the plurality of data. A conversion method,
When the plurality of data are input at a first timing defined by a clock, a first addition process is performed on the plurality of data according to the discrete Fourier transform and the discrete inverse Fourier transform. Adding step;
A multiplication step of executing multiplication processing according to the processing indicated by the control signal for data input at a second timing later than the first timing;
A second addition step of performing post-stage addition processing according to the discrete Fourier transform and the discrete inverse Fourier transform on data input at a third timing that is later than the second timing,
In the first addition step, the result of the previous stage addition process is output at the second timing regardless of the number of points indicated by the control signal,
In the multiplication step, the result of the previous stage addition process is received at the second timing, the multiplication process is performed on the result of the previous stage addition process, and the result of the multiplication process is indicated by the control signal Regardless of the number of points, output at the third timing,
In the second addition step, the result of the multiplication process is received at the third timing, the post-stage addition process is performed on the result of the multiplication process, and the result of the post-stage addition process is applied to the plurality of data. Output as a result of executing the process,
The second adding step includes
When the output at the multiplication step is received at the third timing, the outputs are selectively added according to the control signal, or a fourth calculation step for outputting the output as it is,
The data input at the seventh timing later than the third timing is selectively added according to the control signal, output as it is, or the addition result selectively added is selectively multiplied by a pure imaginary number. A fifth operation step;
A data rearrangement step of selectively rearranging data input at an eighth timing later than the seventh timing according to the control signal, or outputting the data as it is,
A sixth operation step of selectively adding data inputted at a ninth timing later than the eighth timing according to the control signal, or outputting the data as it is,
In the fourth calculation step, regardless of the number of points indicated by the control signal, the self output is output at the seventh timing,
In the fifth calculation step, the output in the fourth calculation step is accepted at the seventh timing, and regardless of the number of points indicated by the control signal, its own output is output at the eighth timing,
In the data rearrangement step, the output in the fifth calculation step is accepted at the eighth timing, and regardless of the number of points indicated by the control signal, its own output is output at the ninth timing,
In the sixth operation step, the output in the data rearrangement step is received at the ninth timing, and the output of itself is output as a result of executing the processing on the plurality of data.

本発明によれば、離散フーリエ変換のポイント数の種類の増加に伴い加算器および乗算器の個数が増加することを防止することが可能になる。   According to the present invention, it is possible to prevent the number of adders and multipliers from increasing as the number of points in the discrete Fourier transform increases.

離散フーリエ変換装置200の構成を示した図である。2 is a diagram illustrating a configuration of a discrete Fourier transform apparatus 200. FIG. 前段第一加算ユニット204の構成を示す図である。FIG. 4 is a diagram showing a configuration of a first-stage first addition unit 204. 前段転置ユニット205の構成を示す図である。It is a figure which shows the structure of the front | former stage transposition unit 205. FIG. 前段第二加算ユニット206の構成を示す図である。FIG. 4 is a diagram showing a configuration of a front-stage second addition unit 206. 前段第三加算ユニット207の構成を示す図である。FIG. 6 is a diagram showing a configuration of a pre-stage third addition unit 207. 乗算ユニット202の構成を示す図である。FIG. 3 is a diagram illustrating a configuration of a multiplication unit 202. 後段第一加算ユニット210の構成を示す図である。FIG. 4 is a diagram showing a configuration of a rear first addition unit 210. 後段第二加算ユニット211の構成を示す図である。It is a figure which shows the structure of the back | latter stage 2nd addition unit 211. FIG. 後段転置ユニット212の構成を示す図である。It is a figure which shows the structure of the back | latter stage transposition unit 212. FIG. 後段第三加算ユニット213の構成を示す図である。It is a figure which shows the structure of the back | latter stage 3rd addition unit 213. FIG. 3点DFT/IDFTのデータフローを示す図である。It is a figure which shows the data flow of 3 point | piece DFT / IDFT. 5点DFT/IDFTのデータフローを示す図である。It is a figure which shows the data flow of 5-point DFT / IDFT. 9点DFT/IDFTのデータフローを示す図である。It is a figure which shows the data flow of 9 point | piece DFT / IDFT. 15点DFT/IDFTのデータフローを示す図である。It is a figure which shows the data flow of 15 points | pieces DFT / IDFT. 制御信号C_sigの内容を示す図である。It is a figure which shows the content of the control signal C_sig. 点数信号とDFT/IDFT点数の対応、及びDFT/IDFT選択信号とDFT, IDFTの対応を示す図である。It is a figure which shows the correspondence of a score signal and a DFT / IDFT score, and the correspondence of a DFT / IDFT selection signal, DFT, and IDFT. オフセットテーブル702の内容を示す図である。It is a figure which shows the content of the offset table 702. DFT乗算係数メモリ704、IDFT乗算係数メモリ705の内容を示す図である。FIG. 4 is a diagram illustrating the contents of a DFT multiplication coefficient memory 704 and an IDFT multiplication coefficient memory 705. 3、5、9、15点DFT/IDFTの離散フーリエ変換装置200への入出力フォーマットを示す図である。It is a figure which shows the input-output format to the discrete Fourier transform apparatus 200 of 3, 5, 9, 15-point DFT / IDFT. 3点DFT/IDFTの前段第一加算ユニット204における処理内容を示すタイムチャートである。It is a time chart which shows the processing content in the front | former stage 1st addition unit 204 of 3 point | piece DFT / IDFT. 3点DFT/IDFTの前段転置ユニット205における処理内容を示すタイムチャートである。It is a time chart which shows the processing content in the upstream transposition unit 205 of 3 point DFT / IDFT. 3点DFT/IDFTの前段第二加算ユニット206における処理内容を示すタイムチャートである。It is a time chart which shows the processing content in the front | former stage 2nd addition unit 206 of 3 point | piece DFT / IDFT. 3点DFT/IDFTの前段第三加算ユニット207における処理内容を示すタイムチャートである。It is a time chart which shows the processing content in the front | former stage 3rd addition unit 207 of 3 point | piece DFT / IDFT. 3点DFT/IDFTの乗算ユニット202における処理内容を示すタイムチャートである。It is a time chart which shows the processing content in the multiplication unit 202 of 3 point | piece DFT / IDFT. 3点DFT/IDFTの後段第一加算ユニット210における処理内容を示すタイムチャートである。It is a time chart which shows the processing content in the latter 1st addition unit 210 of 3 point | piece DFT / IDFT. 3点DFT/IDFTの後段第二加算ユニット211における処理内容を示すタイムチャートである。It is a time chart which shows the processing content in the back | latter stage 2nd addition unit 211 of 3 point | piece DFT / IDFT. 3点DFT/IDFTの後段転置ユニット212における処理内容を示すタイムチャートである。It is a time chart which shows the processing content in the rear stage transposition unit 212 of 3 point DFT / IDFT. 3点DFT/IDFTの後段第三加算ユニット213における処理内容を示すタイムチャートである。It is a time chart which shows the processing content in the latter stage 3rd addition unit 213 of 3 point | piece DFT / IDFT. 5点DFT/IDFTの前段第一加算ユニット204における処理内容を示すタイムチャートである。It is a time chart which shows the processing content in the front | former stage 1st addition unit 204 of 5-point DFT / IDFT. 5点DFT/IDFTの前段転置ユニット205における処理内容を示すタイムチャートである。It is a time chart which shows the processing content in the upstream transposition unit 205 of 5-point DFT / IDFT. 5点DFT/IDFTの前段第二加算ユニット206における処理内容を示すタイムチャートである。It is a time chart which shows the processing content in the front | former stage 2nd addition unit 206 of 5-point DFT / IDFT. 5点DFT/IDFTの前段第三加算ユニット207における処理内容を示すタイムチャートである。It is a time chart which shows the processing content in the front stage 3rd addition unit 207 of 5-point DFT / IDFT. 5点DFT/IDFTの乗算ユニット202における処理内容を示すタイムチャートである。It is a time chart which shows the processing content in the multiplication unit 202 of 5 point | piece DFT / IDFT. 5点DFT/IDFTの後段第一加算ユニット210における処理内容を示すタイムチャートである。It is a time chart which shows the processing content in the latter 1st addition unit 210 of 5 point | piece DFT / IDFT. 5点DFT/IDFTの後段第二加算ユニット211における処理内容を示すタイムチャートである。It is a time chart which shows the processing content in the latter stage 2nd addition unit 211 of 5-point DFT / IDFT. 5点DFT/IDFTの後段転置ユニット212における処理内容を示すタイムチャートである。It is a time chart which shows the processing content in the rear stage transposition unit 212 of 5-point DFT / IDFT. 5点DFT/IDFTの後段第三加算ユニット213における処理内容を示すタイムチャートである。It is a time chart which shows the processing content in the back | latter stage 3rd addition unit 213 of 5-point DFT / IDFT. 9点DFT/IDFTの前段第一加算ユニット204における処理内容を示すタイムチャートである。It is a time chart which shows the processing content in the pre-stage 1st addition unit 204 of 9 points | pieces DFT / IDFT. 9点DFT/IDFTの前段転置ユニット205における処理内容を示すタイムチャートである。It is a time chart which shows the processing content in the upstream transposition unit 205 of 9 points | piece DFT / IDFT. 9点DFT/IDFTの前段第二加算ユニット206における処理内容を示すタイムチャートである。It is a time chart which shows the processing content in the front | former stage 2nd addition unit 206 of 9 points | piece DFT / IDFT. 9点DFT/IDFTの前段第三加算ユニット207における処理内容を示すタイムチャートである。It is a time chart which shows the processing content in the pre-stage 3rd addition unit 207 of 9 points | piece DFT / IDFT. 9点DFT/IDFTの乗算ユニット202における処理内容を示すタイムチャートである。It is a time chart which shows the processing content in the multiplication unit 202 of 9 points | pieces DFT / IDFT. 9点DFT/IDFTの後段第一加算ユニット210における処理内容を示すタイムチャートである。It is a time chart which shows the processing content in the latter 1st addition unit 210 of 9 points | pieces DFT / IDFT. 9点DFT/IDFTの後段第二加算ユニット211における処理内容を示すタイムチャートである。It is a time chart which shows the processing content in the latter stage 2nd addition unit 211 of 9 points | pieces DFT / IDFT. 9点DFT/IDFTの後段転置ユニット212における処理内容を示すタイムチャートである。It is a time chart which shows the processing content in the rear stage transposition unit 212 of 9 point DFT / IDFT. 9点DFT/IDFTの後段第三加算ユニット213における処理内容を示すタイムチャートである。It is a time chart which shows the processing content in the latter stage 3rd addition unit 213 of 9 point | piece DFT / IDFT. 15点DFT/IDFTの乗算ユニット202における処理内容を示すタイムチャートである。It is a time chart which shows the processing content in the multiplication unit 202 of 15 points | pieces DFT / IDFT. 本発明の第二の実施形態の構成を示す図である。It is a figure which shows the structure of 2nd embodiment of this invention. ウィノグラードの方法を用いた、15点DFTの処理方法を示す図である。It is a figure which shows the processing method of 15 point | piece DFT using the method of Winograd.

次に、本発明の実施形態の離散フーリエ変換装置について図面を参照して詳細に説明する。   Next, a discrete Fourier transform apparatus according to an embodiment of the present invention will be described in detail with reference to the drawings.

(第1実施形態)
図1は、本発明の第1実施形態の離散フーリエ変換装置(以下「演算装置」とも称する)200を示すブロック図である。
(First embodiment)
FIG. 1 is a block diagram showing a discrete Fourier transform apparatus (hereinafter also referred to as “arithmetic apparatus”) 200 according to the first embodiment of the present invention.

図1において、演算装置200は、前加算ユニット201と、乗算ユニット202と、後加算ユニット203と、を含む。   In FIG. 1, the arithmetic device 200 includes a pre-addition unit 201, a multiplication unit 202, and a post-addition unit 203.

前加算ユニット201は、前段第一加算ユニット204と、前段転置ユニット205と、前段第二加算ユニット206と、前段第三加算ユニット207と、を含む。乗算ユニット202は、乗算器208と、制御ユニット209と、を含む。後加算ユニット203は、後段第一加算ユニット210と、後段第二加算ユニット211と、後段転置ユニット212と、後段第三加算ユニット213と、を含む。   The pre-addition unit 201 includes a pre-stage first addition unit 204, a pre-stage transposition unit 205, a pre-stage second addition unit 206, and a pre-stage third addition unit 207. The multiplication unit 202 includes a multiplier 208 and a control unit 209. The post-addition unit 203 includes a post-stage first addition unit 210, a post-stage second addition unit 211, a post-stage transposition unit 212, and a post-stage third addition unit 213.

演算装置200は、複数種類のポイント数のうちの1つを示した制御信号と、複数のデータと、を受け付けると、複数のデータに対して、制御信号にて示されたポイント数の離散フーリエ変換(DFT)を実行する。   When the arithmetic device 200 receives a control signal indicating one of a plurality of types of points and a plurality of data, the arithmetic device 200 performs a discrete Fourier having the number of points indicated by the control signal with respect to the plurality of data. Perform conversion (DFT).

本実施形態では、複数種類のポイント数は、3点、5点、9点および15点にて構成される。複数のデータのそれぞれは、DFTが施される複素数データである。   In this embodiment, the number of points of a plurality of types is configured by 3, 5, 9, and 15 points. Each of the plurality of data is complex number data subjected to DFT.

演算装置200は、制御信号と複数のデータとを受け付けると、まず、制御信号が示すポイント数のDFTに応じた前段加算処理を、複素数データに対して実行して、前段加算処理結果を生成する。   When receiving the control signal and the plurality of data, the arithmetic device 200 first performs a pre-stage addition process corresponding to the DFT having the number of points indicated by the control signal on the complex number data to generate a pre-stage addition process result. .

続いて、演算装置200は、制御信号が示すポイント数のDFTに応じた乗算処理を、その前段加算処理結果に対して実行して、乗算処理結果を生成する。   Subsequently, the arithmetic device 200 performs a multiplication process corresponding to the DFT of the number of points indicated by the control signal on the previous stage addition process result, and generates a multiplication process result.

続いて、演算装置200は、制御信号が示すポイント数のDFTに応じた後段加算処理を、その乗算処理結果に対して実行して、制御信号にて示されたポイント数のDFTの結果を出力する。   Subsequently, the arithmetic device 200 performs post-stage addition processing according to the DFT having the number of points indicated by the control signal on the result of the multiplication processing, and outputs the result of the DFT having the number of points indicated by the control signal. To do.

前段加算処理は、乗算処理の前に行われるべき加算処理であり、後段加算処理は、乗算処理の後に行われるべき加算処理である。   The pre-stage addition process is an addition process to be performed before the multiplication process, and the post-stage addition process is an addition process to be performed after the multiplication process.

なお、DFTの処理を、前段加算処理と乗算処理と後段加算処理とに分けて行うことは、例えば、ウィノグラードの方法等により公知である(図49参照)
前加算ユニット201は、一般的に第一加算手段と呼ぶことができる。
It is known that the DFT processing is divided into the pre-stage addition process, the multiplication process, and the post-stage addition process by, for example, the Winograd method (see FIG. 49).
Pre-addition unit 201 can be generally referred to as first addition means.

前加算ユニット201は、複数のデータが、第一タイミングで入力されると、その複数のデータに対して、制御信号が示すポイント数の離散フーリエ変換に応じた前段加算処理を実行する。   When a plurality of data is input at the first timing, the pre-addition unit 201 performs a pre-stage addition process corresponding to the discrete Fourier transform of the number of points indicated by the control signal on the plurality of data.

乗算ユニット202は、一般的に乗算手段と呼ぶことができる。   Multiplication unit 202 can be generally referred to as multiplication means.

乗算ユニット202は、第一タイミングよりも遅い第二タイミングで入力されたデータに対して、制御信号が示すポイント数の離散フーリエ変換に応じた乗算処理を実行する。   The multiplication unit 202 performs a multiplication process corresponding to the discrete Fourier transform of the number of points indicated by the control signal on the data input at the second timing that is later than the first timing.

後加算ユニット203は、一般的に第二加算手段と呼ぶことができる。   Post addition unit 203 can be generally referred to as second addition means.

後加算ユニット203は、第二タイミングよりも遅い第三タイミングで入力されたデータに対して、制御信号が示すポイント数の離散フーリエ変換に応じた後段加算処理を実行する。   The post-addition unit 203 performs post-stage addition processing corresponding to the discrete Fourier transform of the number of points indicated by the control signal on the data input at the third timing later than the second timing.

なお、前加算ユニット201は、前段加算処理の結果を、制御信号にて示されたポイント数に関わらず、第二タイミングで、乗算ユニット202に出力する。   The pre-addition unit 201 outputs the result of the pre-stage addition process to the multiplication unit 202 at the second timing regardless of the number of points indicated by the control signal.

また、乗算ユニット202は、前段加算処理の結果に対して乗算処理を実行し、その乗算処理の結果を、制御信号にて示されたポイント数に関わらず、第三タイミングで、後加算ユニット203に出力する。   In addition, the multiplication unit 202 performs a multiplication process on the result of the previous stage addition process, and outputs the result of the multiplication process at the third timing regardless of the number of points indicated by the control signal. Output to.

また、後加算ユニット203は、乗算処理の結果に対して後段加算処理を行い、その後段加算処理の結果を、複数のデータに対して制御信号にて示されたポイント数の離散フーリエ変換を実行した結果として出力する。   Further, the post-addition unit 203 performs post-stage addition processing on the result of the multiplication processing, and executes the discrete Fourier transform of the number of points indicated by the control signal on the plurality of data for the result of the post-stage addition processing Is output as a result.

前段第一加算ユニット204は、一般的に第一演算手段と呼ぶことができる。   The first-stage first addition unit 204 can be generally referred to as first calculation means.

前段第一加算ユニット204は、第一タイミングで複数のデータを受け付けると、制御信号に従って、複数のデータ同士を選択的に加算する(加算処理)、もしくは、複数のデータをそのまま出力する。   When receiving the plurality of data at the first timing, the first-stage first addition unit 204 selectively adds the plurality of data to each other according to the control signal (addition process) or outputs the plurality of data as they are.

前段転置ユニット205は、一般的に並び替え手段と呼ぶことができる。   The upstream transposition unit 205 can be generally referred to as rearrangement means.

前段転置ユニット205は、第一タイミングよりも遅く第二タイミングよりも早い第四タイミングで入力されたデータを、制御信号に従って、選択的に並べ替える(転置処理)、もしくは、そのまま出力(スルー処理)する。   The upstream transposition unit 205 selectively rearranges the data input at the fourth timing later than the first timing and earlier than the second timing according to the control signal (transposition processing) or outputs the data as it is (through processing). To do.

前段第二加算ユニット206は、一般的に第二演算手段と呼ぶことができる。   The pre-stage second addition unit 206 can be generally referred to as second calculation means.

前段第二加算ユニット206は、第四タイミングよりも遅く第二タイミングよりも早い第五タイミングで入力されたデータを、制御信号に従って、選択的に加算する(加算処理)、もしくは、そのまま出力する。   The pre-stage second addition unit 206 selectively adds the data input at the fifth timing later than the fourth timing and earlier than the second timing according to the control signal (addition processing) or outputs the data as it is.

前段第三加算ユニット207は、一般的に第三演算手段と呼ぶことができる。   The pre-stage third addition unit 207 can be generally referred to as third calculation means.

前段第三加算ユニット207は、第五タイミングよりも遅く第二タイミングよりも早い第六タイミングで入力されたデータを、制御信号に従って、選択的に加算する(加算処理)、もしくはそのまま出力する。   The pre-stage third addition unit 207 selectively adds the data input at the sixth timing later than the fifth timing and earlier than the second timing according to the control signal (addition processing) or outputs the data as it is.

なお、前段第一加算ユニット204は、制御信号にて示されたポイント数に関わらず、自己の出力を、第四タイミングで、前段転置ユニット205に出力する。   The first-stage first addition unit 204 outputs its own output to the first-stage transposition unit 205 at the fourth timing regardless of the number of points indicated by the control signal.

前段転置ユニット205は、制御信号にて示されたポイント数に関わらず、自己の出力を、第五タイミングで、前段第二加算ユニット206に出力する。   The upstream transposition unit 205 outputs its output to the upstream second addition unit 206 at the fifth timing regardless of the number of points indicated by the control signal.

前段第二加算ユニット206は、制御信号にて示されたポイント数に関わらず、自己の出力を、第六タイミングで、前段第三加算ユニット207に出力する。   The upstream second addition unit 206 outputs its own output to the upstream third addition unit 207 at the sixth timing regardless of the number of points indicated by the control signal.

前段第三加算ユニット207は、制御信号にて示されたポイント数に関わらず、自己の出力を、第二タイミングで、乗算ユニット202に出力する。   The pre-stage third addition unit 207 outputs its output to the multiplication unit 202 at the second timing regardless of the number of points indicated by the control signal.

乗算器208は、制御ユニット209から乗算係数を読み出し、その乗算係数を前段第三加算ユニット207の出力に乗算する乗算処理を行う。   The multiplier 208 reads the multiplication coefficient from the control unit 209 and performs a multiplication process of multiplying the multiplication coefficient by the output of the pre-stage third addition unit 207.

制御ユニット209は、ポイント数ごとに、そのポイント数に対応する複素数の乗算係数を蓄えたメモリ(記憶手段)と、制御信号が示すポイント数に対応する乗算係数をメモリから読み出すためのアドレスを生成するアドレス生成ユニット(読み出し手段)と、を含む。   For each point number, the control unit 209 generates a memory (storage means) that stores a complex multiplication coefficient corresponding to the number of points, and an address for reading out the multiplication coefficient corresponding to the number of points indicated by the control signal from the memory. An address generation unit (reading means).

後段第一加算ユニット210は、一般的に第四演算手段と呼ぶことができる。   The post-stage first addition unit 210 can be generally referred to as fourth arithmetic means.

後段第一加算ユニット210は、第三タイミングで乗算ユニット202の出力を受け付けると、制御信号に従って、乗算ユニット202の出力同士を選択的に加算する(加算処理)、もしくは、乗算ユニット202の出力をそのまま出力する。   When the post-stage first addition unit 210 receives the output of the multiplication unit 202 at the third timing, the output of the multiplication unit 202 is selectively added according to the control signal (addition process), or the output of the multiplication unit 202 is output. Output as is.

後段第二加算ユニット211は、一般的に第五演算手段と呼ぶことができる。   The post-secondary addition unit 211 can be generally referred to as fifth arithmetic means.

後段第二加算ユニット211は、第三タイミングよりも遅い第七タイミングで入力されたデータを、制御信号に従って、選択的に加算する(加算処理)、そのまま出力する、または、選択的に加算した加算結果に選択的に純虚数を乗算する。   The post-stage second addition unit 211 selectively adds the data input at the seventh timing later than the third timing according to the control signal (addition processing), outputs the data as it is, or the addition that is selectively added. The result is selectively multiplied by a pure imaginary number.

後段転置ユニット212は、一般的にデータ並び替え手段と呼ぶことができる。   The rear transposition unit 212 can be generally referred to as data rearranging means.

後段転置ユニット212は、第七タイミングよりも遅い第八タイミングで入力されたデータを、制御信号に従って、選択的に並べ替える(転置処理)、もしくは、そのまま出力(スルー処理)する。   The rear transposition unit 212 selectively rearranges the data input at the eighth timing later than the seventh timing (transposition processing) or outputs the data as it is (through processing).

後段第三加算ユニット213は、一般的に第六演算手段と呼ぶことができる。   The post-stage third addition unit 213 can be generally referred to as sixth arithmetic means.

後段第三加算ユニット213は、第八タイミングよりも遅い第九タイミングで入力されたデータを、制御信号に従って、選択的に加算する(加算処理)、もしくは、そのまま出力する。   The post-stage third addition unit 213 selectively adds the data input at the ninth timing later than the eighth timing according to the control signal (addition processing) or outputs the data as it is.

なお、後段第一加算ユニット210は、制御信号にて示されたポイント数に関わらず、自己の出力を、第七タイミングで、後段第二加算ユニット211に出力する。   The rear stage first addition unit 210 outputs its output to the rear stage second addition unit 211 at the seventh timing regardless of the number of points indicated by the control signal.

後段第二加算ユニット211は、制御信号にて示されたポイント数に関わらず、自己の出力を、第八タイミングで、後段転置ユニット212に出力する。   The rear stage second addition unit 211 outputs its own output to the rear stage transposition unit 212 at the eighth timing regardless of the number of points indicated by the control signal.

後段転置ユニット212は、制御信号にて示されたポイント数に関わらず、自己の出力を、第九タイミングで、後段第三加算ユニット213に出力する。   The rear transposition unit 212 outputs its own output to the rear third addition unit 213 at the ninth timing regardless of the number of points indicated by the control signal.

後段第三加算ユニット213は、自己の出力を、複数のデータに対して制御信号にて示されたポイント数の離散フーリエ変換を実行した結果として出力する。   The post-stage third addition unit 213 outputs its output as a result of executing the discrete Fourier transform of the number of points indicated by the control signal with respect to a plurality of data.

図2は、前段第一加算ユニット204を示したブロック図である。   FIG. 2 is a block diagram showing the first stage first addition unit 204.

図2において、前段第一加算ユニット204は、遅延回路Dと、クロスバ(Xbar)31および37と、加算器32、33、35および36と、セレクタ(Sel)34と、を含む。   In FIG. 2, the first stage first addition unit 204 includes a delay circuit D, crossbars (Xbar) 31 and 37, adders 32, 33, 35 and 36, and a selector (Sel) 34.

なお、前段第一加算ユニット204は、入力された制御信号C_sigを取り込み、また、制御信号C_sigをC_outとして出力する。   The pre-stage first addition unit 204 takes in the input control signal C_sig and outputs the control signal C_sig as C_out.

遅延回路Dは、演算装置200へ入力された複素数データin3を1クロック分遅延する。   The delay circuit D delays the complex number data in3 input to the arithmetic unit 200 by one clock.

クロスバ31は、制御信号C_sigに従って、遅延回路Dからの出力regr及び複素数データin1、in2、in3のそれぞれを、sel1、sel2、sel3、sel4、sel6、sel7、sel8のいずれかとして出力する。   The crossbar 31 outputs each of the output regr from the delay circuit D and the complex data in1, in2, and in3 as one of sel1, sel2, sel3, sel4, sel6, sel7, and sel8 according to the control signal C_sig.

加算器32は、sel3とsel4とを加算する加算処理を行う。   The adder 32 performs an addition process for adding sel3 and sel4.

加算器33は、sel3と符号を反転したsel4とを加算する加算処理を行う。   The adder 33 performs an addition process of adding sel3 and sel4 with the sign inverted.

セレクタ34は、制御信号C_sigに従って、sel2か加算器32の出力add_o_3かを選択して出力する。   The selector 34 selects and outputs either sel2 or the output add_o_3 of the adder 32 according to the control signal C_sig.

加算器35は、sel1とセレクタ34の出力sel5とを加算する加算処理を行う。   The adder 35 performs an addition process of adding sel1 and the output sel5 of the selector 34.

加算器36は、sel1と符号を反転したsel5とを加算する加算処理を行う。   The adder 36 performs an addition process of adding sel1 and sel5 with the sign inverted.

クロスバ37には、加算器35の出力add_o_1、加算器36の出力add_o_2、加算器32の出力add_o_3、加算器33の出力add_o_4、sel6、sel7、および、sel8が、入力可能である。   An output add_o_1 from the adder 35, an output add_o_2 from the adder 36, an output add_o_3 from the adder 32, an output add_o_4 from the adder 33, sel6, sel7, and sel8 can be input to the crossbar 37.

クロスバ37は、入力された信号のそれぞれを、制御信号C_sigに従って、out1、out2、out3、 out4として出力する。   The crossbar 37 outputs each of the input signals as out1, out2, out3, and out4 according to the control signal C_sig.

図3は、前段転置ユニット205を示したブロック図である。   FIG. 3 is a block diagram showing the upstream transposition unit 205.

図3において、複素数データin1は、前段第一加算ユニット204からのout1であり、複素数データin2は、前段第一加算ユニット204からのout2であり、複素数データin3は、前段第一加算ユニット204からのout3であり、複素数データin4は、前段第一加算ユニット204からのout4であり、制御信号C_sigは、前段第一加算ユニット204からのC_outである。   In FIG. 3, complex number data in1 is out1 from the first stage first addition unit 204, complex number data in2 is out2 from the first stage first addition unit 204, and complex number data in3 is sent from the first stage first addition unit 204. The complex number data in4 is out4 from the first-stage first addition unit 204, and the control signal C_sig is C_out from the first-stage first addition unit 204.

図3において、前段転置ユニット205は、複数の遅延回路Dと、クロスバ(Xbar)41、42および43と、を含む。なお、図3内の各遅延回路Dは、入力されたデータを1クロック遅延させる。   In FIG. 3, the former transposition unit 205 includes a plurality of delay circuits D and crossbars (Xbar) 41, 42 and 43. Each delay circuit D in FIG. 3 delays input data by one clock.

前段転置ユニット205は、入力された複素数データin1, in2, in3およびin4と、同じく入力された制御信号C_sigと、をペアとして扱う。すなわち、前段転置ユニット205内のクロスバなどに入力される個々の複素数データには、制御信号C_sigが付加されることになる。   The pre-transposition unit 205 treats the input complex number data in1, in2, in3 and in4 and the input control signal C_sig as a pair. That is, the control signal C_sig is added to each complex number data input to the crossbar or the like in the preceding transposition unit 205.

前段転置ユニット205は、制御信号と複素数データとの入力時に、制御信号と複素数データをペアにする処理を行う。以下では、この処理を「統合」と呼ぶこととする。   The upstream transposition unit 205 performs a process of pairing the control signal and the complex number data when the control signal and the complex number data are input. Hereinafter, this process is referred to as “integration”.

クロスバ41は、複素数データin1からin4の各々を、それぞれの複素数データに統合された制御信号C_sigに従って、Sel_1_1からSel_1_7のいずれかとして出力する。   The crossbar 41 outputs each of the complex number data in1 to in4 as one of Sel_1_1 to Sel_1_7 according to the control signal C_sig integrated with the respective complex number data.

クロスバ42は、遅延回路Dからの出力D_Sel_1_1からD_Sel_1_4を、各データに統合されている制御信号C_sigに従って、Sel_2_1からSel_2_4のいずれかとして出力する。   The crossbar 42 outputs the outputs D_Sel_1_1 to D_Sel_1_4 from the delay circuit D as one of Sel_2_1 to Sel_2_4 according to the control signal C_sig integrated with each data.

クロスバ43は、D_dt_1からD_dt_11の各信号を、それぞれに統合された制御信号に従って、Sel_3_1からSel_3_4のいずれかとして出力する。   The crossbar 43 outputs each signal from D_dt_1 to D_dt_11 as one of Sel_3_1 to Sel_3_4 according to the control signal integrated therein.

Sel_3_1からSel_3_4の各信号は、制御信号と複素数データとに分離される。この分離された信号のうち、複素数データのみが、本ユニットからの出力out1、out2、out3、out4として出力される。一方、制御信号は、図3のGNDで示したグラウンドに入力され、以降使用されることはない。また、制御信号C_sigは、10クロック遅延され、C_outとして出力される。   Each signal of Sel_3_1 to Sel_3_4 is separated into a control signal and complex data. Of the separated signals, only complex data is output as outputs out1, out2, out3, and out4 from this unit. On the other hand, the control signal is input to the ground indicated by GND in FIG. 3 and is not used thereafter. The control signal C_sig is delayed by 10 clocks and output as C_out.

図4は、前段第二加算ユニット206を示したブロック図である。   FIG. 4 is a block diagram showing the pre-stage second addition unit 206.

図4において、複素数データin1は、前段転置ユニット205からのout1であり、複素数データin2は、前段転置ユニット205からのout2であり、複素数データin3は、前段転置ユニット205からのout3であり、複素数データin4は、前段転置ユニット205からのout4であり、制御信号C_sigは、前段転置ユニット205からのC_outである。   In FIG. 4, the complex number data in1 is out1 from the preceding transposition unit 205, the complex data in2 is out2 from the previous transposing unit 205, the complex data in3 is out3 from the preceding transposing unit 205, and is a complex number. Data in4 is out4 from the preceding transposition unit 205, and the control signal C_sig is C_out from the previous transposing unit 205.

図4において、前段第二加算ユニット206は、複数の遅延回路Dと、クロスバ(Xbar)&符号反転器51と、加算器52、53、54および55と、を含む。   In FIG. 4, the front stage second addition unit 206 includes a plurality of delay circuits D, a crossbar (Xbar) & sign inverter 51, and adders 52, 53, 54 and 55.

クロスバ(Xbar)&符号反転器51は、制御信号C_sigに従って、入力in1からin4と、遅延回路Dの出力regr1からregr5と、の符号を反転し、それぞれを、sel1からsel9のいずれかとして出力する。   The crossbar (Xbar) & sign inverter 51 inverts the signs of the inputs in1 to in4 and the outputs regr1 to regr5 of the delay circuit D according to the control signal C_sig, and outputs each of them as one of sel1 to sel9 .

加算器52は、sel1とsel2とsel3とを加算する加算処理を行う。加算器53は、sel4とsel5とを加算する加算処理を行う。加算器54は、sel6とsel7とを加算する加算処理を行う。加算器55は、sel8とsel9とを加算する加算処理を行う。   The adder 52 performs an addition process of adding sel1, sel2, and sel3. The adder 53 performs an addition process of adding sel4 and sel5. The adder 54 performs an addition process of adding sel6 and sel7. The adder 55 performs an addition process of adding sel8 and sel9.

これら加算器の出力は、それぞれ、out1, out2, out3, out4として、本ユニットから出力される。   The outputs of these adders are output from this unit as out1, out2, out3, and out4, respectively.

また、制御信号C_sigは、1クロック遅延されて、C_outとして出力される。   Further, the control signal C_sig is delayed by one clock and output as C_out.

図5は、前段第三加算ユニット207を示したブロック図である。   FIG. 5 is a block diagram showing the pre-stage third addition unit 207.

図5において、複素数データin1は、前段第二加算ユニット206からのout1であり、複素数データin2は、前段第二加算ユニット206からのout2であり、複素数データin3は、前段第二加算ユニット206からのout3であり、複素数データin4は、前段第二加算ユニット206からのout4であり、制御信号C_sigは、前段第二加算ユニット206からのC_outである。   In FIG. 5, the complex number data in1 is out1 from the previous stage second addition unit 206, the complex number data in2 is out2 from the previous stage second addition unit 206, and the complex number data in3 is from the previous stage second addition unit 206. The complex number data in4 is out4 from the previous stage second addition unit 206, and the control signal C_sig is C_out from the previous stage second addition unit 206.

前段第三加算ユニット207は、複数の遅延回路Dと、クロスバ(Xbar)&符号反転器61と、加算器62、63、64および65と、を含む。   The front third adder unit 207 includes a plurality of delay circuits D, a crossbar (Xbar) & sign inverter 61, and adders 62, 63, 64 and 65.

クロスバ(Xbar)&符号反転器61は、制御信号C_sigに従って、入力in1からin4と、遅延回路Dの出力regr1からregr4と、の符号を反転し、それぞれを、sel1からsel10のいずれかとして出力する。   The crossbar (Xbar) & sign inverter 61 inverts the signs of the inputs in1 to in4 and the outputs regr1 to regr4 of the delay circuit D according to the control signal C_sig, and outputs each of them as one of sel1 to sel10 .

加算器62は、sel1とsel2とsel3とを加算する加算処理を行う。加算器63は、sel4とsel5とを加算する加算処理を行う。加算器64は、sel6とsel7とsel8とを加算する加算処理を行う。加算器65は、sel9とsel10とを加算する加算処理を行う。   The adder 62 performs an addition process for adding sel1, sel2, and sel3. The adder 63 performs an addition process of adding sel4 and sel5. The adder 64 performs an addition process of adding sel6, sel7, and sel8. The adder 65 performs an addition process for adding sel9 and sel10.

これら加算器の出力は、それぞれ、out1, out2, out3, out4として出力される。   The outputs of these adders are output as out1, out2, out3, and out4, respectively.

また、制御信号C_sigは、C_outとして出力される。   The control signal C_sig is output as C_out.

図6は、制御ユニット209と乗算器208を示したブロック図である。   FIG. 6 is a block diagram showing the control unit 209 and the multiplier 208.

図6において、複素数データin1は、前段第三加算ユニット207からのout1であり、複素数データin2は、前段第三加算ユニット207からのout2であり、複素数データin3は、前段第三加算ユニット207からのout3であり、複素数データin4は、前段第三加算ユニット207からのout4であり、制御信号C_sigは、前段第三加算ユニット207からのC_outである。   In FIG. 6, the complex number data in1 is out1 from the preceding stage third addition unit 207, the complex number data in2 is out2 from the preceding stage third addition unit 207, and the complex number data in3 is sent from the preceding stage third addition unit 207. The complex number data in4 is out4 from the preceding stage third addition unit 207, and the control signal C_sig is C_out from the preceding stage third addition unit 207.

図6において、制御ユニット209は、後述するクロック数信号に加算するオフセットを格納したオフセットテーブル702と、乗算係数メモリ704および705と、加算器703と、セレクタ706と、を含む。   In FIG. 6, the control unit 209 includes an offset table 702 that stores an offset to be added to a clock number signal described later, multiplication coefficient memories 704 and 705, an adder 703, and a selector 706.

乗算器208は、クロスバ(Xbar)701と、入力信号と乗算係数の、実数部と虚数部をそれぞれ乗算する並列乗算器707、708、709および710と、純虚数を乗算する純虚数乗算器711、712、713および714と、セレクタ715、716、717および718と、を含む。   The multiplier 208 includes a crossbar (Xbar) 701, parallel multipliers 707, 708, 709, and 710 that multiply the real part and the imaginary part of the input signal and the multiplication coefficient, respectively, and a pure imaginary multiplier 711 that multiplies the pure imaginary number. , 712, 713, and 714, and selectors 715, 716, 717, and 718.

制御ユニット209においては、制御信号C_sigが入力されると、C_sigに従ってオフセットテーブル702からオフセットが出力される。加算器703は、そのオフセットとクロック数信号とを加算する。この加算結果に従って、乗算係数メモリ704および705のそれぞれから、乗算係数が出力される。セレクタ706は、後述のDFT/IDFT選択信号に従って、乗算係数メモリ704からの乗算係数と乗算係数メモリ705からの乗算係数とのいずれかを、mult_cf1からmult_cf4として出力する。   In the control unit 209, when the control signal C_sig is input, an offset is output from the offset table 702 according to C_sig. The adder 703 adds the offset and the clock number signal. According to the addition result, the multiplication coefficient is output from each of the multiplication coefficient memories 704 and 705. The selector 706 outputs either a multiplication coefficient from the multiplication coefficient memory 704 or a multiplication coefficient from the multiplication coefficient memory 705 as mult_cf1 to mult_cf4 in accordance with a DFT / IDFT selection signal described later.

なお、クロック数信号、DFT/IDFT選択信号、および、メモリやテーブルの構成とそのアクセス方法については、後で詳細を説明する。   Details of the clock number signal, the DFT / IDFT selection signal, the configuration of the memory and table, and the access method thereof will be described later.

乗算器208では、クロスバ(Xbar)701は、制御信号C_sigに従って、入力in1からin4のそれぞれを、sel1からsel5のいずれかとして出力する。   In multiplier 208, crossbar (Xbar) 701 outputs each of inputs in1 to in4 as one of sel1 to sel5 in accordance with control signal C_sig.

並列乗算器707、708、709および710は、それぞれ、sel2とmult_cf4、sel3とmult_cf3、sel4とmult_cf2、sel5とmult_cf1を乗算し、それら乗算結果を、mult_sel1からmult_sel4のいずれかとして出力する。   The parallel multipliers 707, 708, 709 and 710 multiply sel2 and mult_cf4, sel3 and mult_cf3, sel4 and mult_cf2, and sel5 and mult_cf1, respectively, and output the multiplication results as one of mult_sel1 to mult_sel4.

純虚数乗算器711、712、713および714は、それぞれ、mult_sel1からmult_sel4に対し、純虚数を乗算し、それら乗算結果を、mult_i_sel1からmult_i_sel4のいずれかとして出力する。   Pure imaginary multipliers 711, 712, 713, and 714 respectively multiply mult_sel1 to mult_sel4 by pure imaginary numbers and output the multiplication results as one of mult_i_sel1 to mult_i_sel4.

セレクタ715、716、717および718は、それぞれ、C_sigに従って、mult_sel1からmult_sel4と、mult_i_sel1からmult_i_sel4とを、それぞれ選択的にout1からout4として出力する。   The selectors 715, 716, 717, and 718 selectively output mult_sel1 to mult_sel4 and mult_i_sel1 to mult_i_sel4 as out1 to out4, respectively, according to C_sig.

なお、クロスバ(Xbar)701の出力sel1は、out1として出力される。また、制御信号C_sigは、C_outとして出力される。   The output sel1 of the crossbar (Xbar) 701 is output as out1. The control signal C_sig is output as C_out.

図7は、後段第一加算ユニット210を示したブロック図である。   FIG. 7 is a block diagram showing the post-stage first addition unit 210.

図7において、複素数データin1は、乗算器208からのout1であり、複素数データin2は、乗算器208からのout2であり、複素数データin3は、乗算器208からのout3であり、複素数データin4は、乗算器208からのout4であり、複素数データin5は、乗算器208からのout5であり、制御信号C_sigは、乗算器208からのC_outである。   In FIG. 7, the complex number data in1 is out1 from the multiplier 208, the complex number data in2 is out2 from the multiplier 208, the complex number data in3 is out3 from the multiplier 208, and the complex number data in4 is , Out4 from the multiplier 208, the complex number data in5 is out5 from the multiplier 208, and the control signal C_sig is C_out from the multiplier 208.

図7において、後段第一加算ユニット210は、クロスバ(Xbar)81および85と、加算器82、83および84と、を含む。   In FIG. 7, the post-stage first addition unit 210 includes crossbars (Xbar) 81 and 85 and adders 82, 83 and 84.

クロスバ(Xbar)81は、制御信号C_sigに従って、入力in1からin6のそれぞれを、sel1からsel9のいずれかとして出力する。   The crossbar (Xbar) 81 outputs each of the inputs in1 to in6 as one of sel1 to sel9 according to the control signal C_sig.

加算器82は、sel4とsel5を加算し、その加算結果add_s1を出力する。加算器83は、sel6とsel7を加算し、その加算結果add_s2を出力する。加算器84は、sel8とsel9を加算し、その加算結果add_s3を出力する。   The adder 82 adds sel4 and sel5 and outputs the addition result add_s1. The adder 83 adds sel6 and sel7 and outputs the addition result add_s2. The adder 84 adds sel8 and sel9 and outputs the addition result add_s3.

クロスバ(Xbar)85は、sel1、sel2、sel3、add_s1、add_s2およびadd_s3を入力可能である。クロスバ(Xbar)85は、C_sigに従って、入力信号のそれぞれを、out1からout4のいずれかとして出力する。   The crossbar (Xbar) 85 can input sel1, sel2, sel3, add_s1, add_s2, and add_s3. The crossbar (Xbar) 85 outputs each of the input signals as one of out1 to out4 according to C_sig.

また、制御信号C_sigは、C_outとして出力される。   The control signal C_sig is output as C_out.

図8は、後段第二加算ユニット211を示したブロック図である。   FIG. 8 is a block diagram showing the second-stage second addition unit 211.

図8において、複素数データin1は、後段第一加算ユニット210からのout1であり、複素数データin2は、後段第一加算ユニット210からのout2であり、複素数データin3は、後段第一加算ユニット210からのout3であり、複素数データin4は、後段第一加算ユニット210からのout4であり、制御信号C_sigは、後段第一加算ユニット210からのC_outである。   In FIG. 8, complex number data in1 is out1 from the post-stage first addition unit 210, complex number data in2 is out2 from the post-stage first addition unit 210, and complex number data in3 is from the post-stage first addition unit 210. The complex number data in4 is out4 from the post-stage first addition unit 210, and the control signal C_sig is C_out from the post-stage first addition unit 210.

図8において、後段第二加算ユニット211は、複数の遅延回路Dと、クロスバ(Xbar)901と、加算器902、903、904および905と、純虚数乗算器906、907、908および909と、Sel(セレクタ)910、911、912および913と、を含む。   In FIG. 8, the second-stage second addition unit 211 includes a plurality of delay circuits D, a crossbar (Xbar) 901, adders 902, 903, 904, and 905, pure imaginary multipliers 906, 907, 908, and 909, Sel (selector) 910, 911, 912 and 913.

クロスバ(Xbar)901は、制御信号C_sigに従って、入力in1からin4と遅延回路Dの出力regr1からregr10とのそれぞれを、sel1からsel12のいずれかとして出力する。   The crossbar (Xbar) 901 outputs each of the inputs in1 to in4 and the outputs regr1 to regr10 of the delay circuit D as one of sel1 to sel12 according to the control signal C_sig.

加算器902は、sel1とsel2とsel3とを加算して、加算結果add_s1を出力する。加算器903は、sel4とsel5とsel6とを加算して、加算結果add_s2を出力する。加算器904は、sel7とsel8とsel9とを加算して、加算結果add_s3を出力する。加算器904は、sel10とsel11とsel12とを加算して、加算結果add_s4を出力する。   The adder 902 adds sel1, sel2, and sel3, and outputs an addition result add_s1. The adder 903 adds sel4, sel5, and sel6, and outputs an addition result add_s2. The adder 904 adds sel7, sel8, and sel9 and outputs an addition result add_s3. The adder 904 adds sel10, sel11, and sel12, and outputs an addition result add_s4.

純虚数乗算器906は、加算結果add_s1に純虚数を乗算して、乗算結果add_i_s1を出力する。純虚数乗算器907は、加算結果add_s2に純虚数を乗算して、乗算結果add_i_s2を出力する。純虚数乗算器908は、加算結果add_s3に純虚数を乗算して、乗算結果add_i_s3を出力する。純虚数乗算器909は、加算結果add_s4に純虚数を乗算して、乗算結果add_i_s4を出力する。   The pure imaginary multiplier 906 multiplies the addition result add_s1 by a pure imaginary number and outputs a multiplication result add_i_s1. The pure imaginary multiplier 907 multiplies the addition result add_s2 by the pure imaginary number and outputs the multiplication result add_i_s2. The pure imaginary multiplier 908 multiplies the addition result add_s3 by the pure imaginary number and outputs a multiplication result add_i_s3. The pure imaginary multiplier 909 multiplies the addition result add_s4 by the pure imaginary number and outputs a multiplication result add_i_s4.

セレクタSel910は、C_sigに従って、加算器902の出力か純虚数乗算器906の出力かを選択して、その選択結果を、out1として出力する。セレクタSel911は、C_sigに従って、加算器903の出力か純虚数乗算器907の出力かを選択して、その選択結果を、out2として出力する。セレクタSel912は、C_sigに従って、加算器904の出力か純虚数乗算器908の出力かを選択して、その選択結果を、out3として出力する。セレクタSel913は、C_sigに従って、加算器905の出力か純虚数乗算器909の出力かを選択して、その選択結果を、out4として出力する。   The selector Sel910 selects either the output of the adder 902 or the output of the pure imaginary multiplier 906 according to C_sig, and outputs the selection result as out1. The selector Sel 911 selects either the output of the adder 903 or the output of the pure imaginary multiplier 907 according to C_sig, and outputs the selection result as out2. The selector Sel 912 selects either the output of the adder 904 or the output of the pure imaginary multiplier 908 according to C_sig, and outputs the selection result as out3. The selector Sel 913 selects either the output of the adder 905 or the output of the pure imaginary multiplier 909 according to C_sig, and outputs the selection result as out4.

C_sigは、2クロック遅延され、C_outとして出力される。   C_sig is delayed by 2 clocks and output as C_out.

図9は、後段転置ユニット212を示したブロック図である。   FIG. 9 is a block diagram showing the rear stage transposition unit 212.

図9において、複素数データin1は、後段第二加算ユニット211からのout1であり、複素数データin2は、後段第二加算ユニット211からのout2であり、複素数データin3は、後段第二加算ユニット211からのout3であり、複素数データin4は、後段第二加算ユニット211からのout4であり、制御信号C_sigは、後段第二加算ユニット211からのC_outである。   In FIG. 9, the complex number data in1 is out1 from the second-stage second addition unit 211, the complex number data in2 is out2 from the second-stage second addition unit 211, and the complex number data in3 is sent from the second-stage second addition unit 211. The complex number data in4 is out4 from the second-stage second addition unit 211, and the control signal C_sig is C_out from the second-stage second addition unit 211.

図9において、後段転置ユニット212は、複数の遅延回路Dと、クロスバ(Xbar)1001、1002、1003および1004と、を含む。   In FIG. 9, the rear transposition unit 212 includes a plurality of delay circuits D and crossbars (Xbar) 1001, 1002, 1003, and 1004.

後段転置ユニット212では、まず、入力in1、in2、in3、in4が、制御信号C_sigと統合される。   In the rear stage transposition unit 212, first, the inputs in1, in2, in3, and in4 are integrated with the control signal C_sig.

クロスバ(Xbar)1001は、これらの信号を、それぞれ、Sel1_1からSel1_7のいずれかとして出力する。   The crossbar (Xbar) 1001 outputs these signals as one of Sel1_1 to Sel1_7, respectively.

クロスバ(Xbar)1002は、Sel1_1と、遅延回路Dの出力D_Sel1_1からD_Sel1_3を、それぞれが有する制御信号に従って、Sel2_1からSel2_4のいずれかに振り分ける。   The crossbar (Xbar) 1002 distributes Sel1_1 and the outputs D_Sel1_1 to D_Sel1_3 of the delay circuit D to any of Sel2_1 to Sel2_4 according to the control signal of each.

クロスバ(Xbar)1003は、遅延回路Dの出力D_Sel2_1からD_Sel2_3を、それぞれが有する制御信号に従って、Sel3_1、Sel3_2、Sel3_3のいずれかに振り分ける。   The crossbar (Xbar) 1003 distributes the outputs D_Sel2_1 to D_Sel2_3 of the delay circuit D to one of Sel3_1, Sel3_2, and Sel3_3 in accordance with the control signal of each.

クロスバ(Xbar)1004は、D_Sel3_1からD_Sel3_3と、D_Sel2_1からD_Sel2_3と、Sel2_4、Sel1_5、Sel1_6、および、Sel1_7を、それぞれが有する制御信号に従って、Sel4_1からSel4_4のいずれかに振り分ける。   The crossbar (Xbar) 1004 distributes D_Sel3_1 to D_Sel3_3, D_Sel2_1 to D_Sel2_3, Sel2_4, Sel1_5, Sel1_6, and Sel1_7 to any one of Sel4_1 to Sel4_4.

Sel4_1からSel4_4は、制御信号と複素数データに分離される。複素数データのそれぞれは、out1、out2、out3、out4のいずれかとして出力される。一方、制御信号は、図9のGNDで示されるグラウンドへと出力され、以降使用されることはない。   Sel4_1 to Sel4_4 are separated into a control signal and complex data. Each of the complex number data is output as one of out1, out2, out3, and out4. On the other hand, the control signal is output to the ground indicated by GND in FIG. 9 and is not used thereafter.

また、制御信号C_sigは、遅延回路Dによって3クロック遅延され、C_outとして出力される。   Further, the control signal C_sig is delayed by 3 clocks by the delay circuit D and output as C_out.

図10は、後段第三加算ユニット213を示したブロック図である。   FIG. 10 is a block diagram showing the post-stage third addition unit 213.

図10において、複素数データin1は、後段転置ユニット212からのout1であり、複素数データin2は、後段転置ユニット212からのout2であり、複素数データin3は、後段転置ユニット212からのout3であり、複素数データin4は、後段転置ユニット212からのout4であり、制御信号C_sigは、後段転置ユニット212からのC_outである。   In FIG. 10, complex data in1 is out1 from the rear transposition unit 212, complex data in2 is out2 from the rear transposition unit 212, and complex data in3 is out3 from the rear transposition unit 212. Data in4 is out4 from the rear stage transposition unit 212, and the control signal C_sig is C_out from the rear stage transposition unit 212.

図10において、後段第三加算ユニット213は、複数の遅延回路Dと、クロスバ(Xbar)1101および1108と、加算器1102、1103、1106および1107と、Sel(セレクタ)1104および1105と、を含む。   In FIG. 10, the rear stage third addition unit 213 includes a plurality of delay circuits D, crossbars (Xbar) 1101 and 1108, adders 1102, 1103, 1106 and 1107, and Sel (selectors) 1104 and 1105. .

クロスバ(Xbar)1101は、制御信号C_sigに従って、入力in1からin4と遅延回路Dの出力regr1からregr5とのそれぞれを、sel1からsel7のいずれかとして出力する。   The crossbar (Xbar) 1101 outputs each of the inputs in1 to in4 and the outputs regr1 to regr5 of the delay circuit D as one of sel1 to sel7 according to the control signal C_sig.

加算器1102は、sel1とsel2を加算して、加算結果add_o_1を出力する。加算器1103は、sel1と符号を反転したsel2とを加算し、加算結果add_o_2を出力する。   The adder 1102 adds sel1 and sel2, and outputs an addition result add_o_1. The adder 1103 adds sel1 and sel2 whose sign is inverted, and outputs an addition result add_o_2.

セレクタSel1104は、制御信号C_sigに従って、sel1とadd_o_2のいずれかを選択し、その選択結果をadd_sel1として出力する。セレクタSel1105は、制御信号C_sigに従って、sel3とadd_o_1のいずれかを選択し、その選択結果をadd_sel2として出力する。   The selector Sel1104 selects either sel1 or add_o_2 according to the control signal C_sig, and outputs the selection result as add_sel1. The selector Sel1105 selects either sel3 or add_o_1 according to the control signal C_sig, and outputs the selection result as add_sel2.

加算器1106は、add_sel2とsel4を加算して、加算結果add_o_3を出力する。加算器1107は、add_sel2と符号を反転したsel4を加算して、加算結果add_o_4を出力する。   The adder 1106 adds add_sel2 and sel4, and outputs an addition result add_o_3. The adder 1107 adds add_sel2 and sel4 with the sign inverted, and outputs an addition result add_o_4.

クロスバ(Xbar)1108は、add_sel1、add_o_1、add_o_3、add_o_4、sel5、sel6およびsel7を入力可能である。クロスバ(Xbar)1108は、制御信号C_sigに従って、入力信号のそれぞれを、out1からout4のいずれかとして出力する。   The crossbar (Xbar) 1108 can input add_sel1, add_o_1, add_o_3, add_o_4, sel5, sel6 and sel7. The crossbar (Xbar) 1108 outputs each of the input signals as one of out1 to out4 according to the control signal C_sig.

次に、演算装置200が、制御信号に従って、3、5、9、15点DFT/IDFTを行う例を説明する。   Next, an example in which the arithmetic device 200 performs 3, 5, 9, 15-point DFT / IDFT according to the control signal will be described.

まず、演算装置200が処理する3点DFT/IDFT、5点DFT/IDFT、9点DFT/IDFT、15点DFT/IDFTのデータフローのそれぞれを、図11、図12、図13、図14に示す。   First, the data flows of the 3-point DFT / IDFT, 5-point DFT / IDFT, 9-point DFT / IDFT, and 15-point DFT / IDFT processed by the arithmetic device 200 are shown in FIGS. 11, 12, 13, and 14, respectively. Show.

なお、DFTとIDFTは、後述の乗算係数を変えるだけで、その他は同じデータフローで処理することができる。このため、本説明では、各点数のDFTとIDFTを、それぞれの点数について、1つの図、すなわち、3点DFT/IDFTを図11、5点DFT/IDFTを図12、9点DFT/IDFTを図13、15点DFT/IDFTを図14を用いて説明する。   Note that DFT and IDFT can be processed with the same data flow by simply changing the later-described multiplication coefficient. For this reason, in this description, DFT and IDFT for each score are shown in one diagram for each score, that is, three-point DFT / IDFT in FIG. 11, five-point DFT / IDFT in FIG. 12, and nine-point DFT / IDFT. 13 and 15 point DFT / IDFT will be described with reference to FIG.

図11、図12、図13、図14において、矢印が重なる箇所は加算を示し、“−”で示すボックスは、そこを通過した信号の符号を反転することを意味し、“i”で示すボックスは、そこを通過した信号に純虚数を乗算することを示し、“×”で示す記号は、そこを通過する信号と、×記号の上部に矢印で示された乗算係数と、を乗算することを示す。   11, 12, 13, and 14, a portion where the arrows overlap indicates addition, and a box indicated by “−” indicates that the sign of the signal that has passed there is inverted, and is indicated by “i”. The box indicates that the signal passing there is multiplied by a pure imaginary number, and the symbol indicated by “x” multiplies the signal passing there by the multiplication factor indicated by the arrow above the × symbol. It shows that.

また、15点DFT/IDFTは、処理の途中で並べ替えを行う必要があるが、その処理は、図14の“並べ替え”と記載された箇所で行われる。   Further, the 15-point DFT / IDFT needs to be rearranged in the middle of the process, but the process is performed at a location indicated as “reorder” in FIG.

また、各DFT/IDFTの入力Xおよび出力Yのインデクスは、数1で示した式のX、Yのインデクスに対応する。   Also, the input X and output Y indexes of each DFT / IDFT correspond to the X and Y indexes of the equation shown in Equation 1.

次に、入力される信号について説明する。   Next, input signals will be described.

演算装置200に入力されるデータは、複素数データであり、実数部と虚数部は、それぞれ、浮動小数形式で表されたデータであるものとする。   Data input to the arithmetic unit 200 is complex number data, and the real part and the imaginary part are data expressed in a floating-point format.

また、本ユニットに入力される制御信号C_sigは、図15に記載のフォーマットを使用する。図15に示したとおり、C_sigは、DFT/IDFTの3、5、9、15点のいずれかを2ビットで示す点数信号と、点数信号で示されたDFT/IDFTが開始されてから経過したクロック数を3ビットで示すクロック数信号と、制御信号で行う処理がDFTであるのかIDFTであるのかを1ビットで示すDFT/IDFT選択信号と、を含む。なお、点数信号とDFT/IDFT点数の対応、および、DFT/IDFT選択信号とDFT、IDFTの対応は、図16に示すとおりである。   The control signal C_sig input to this unit uses the format shown in FIG. As shown in FIG. 15, C_sig has passed since the start of the DFT / IDFT indicated by the point signal and the DFT / IDFT indicated by the point signal in any of 3, 5, 9, and 15 points of DFT / IDFT. A clock number signal indicating the number of clocks in 3 bits, and a DFT / IDFT selection signal indicating in 1 bit whether the process performed by the control signal is DFT or IDFT. The correspondence between the score signal and the DFT / IDFT score and the correspondence between the DFT / IDFT selection signal and the DFT / IDFT are as shown in FIG.

次に、図6に記載のオフセットテーブル702の構成を図17に示す。   Next, FIG. 17 shows the configuration of the offset table 702 shown in FIG.

オフセットテーブル702は、図15に示す点数信号をアドレスとして用い、各アドレスが示す内容には、乗算係数メモリ704、705にアクセスするためのオフセットが格納されている。すなわち、外部よりオフセットテーブル702に点数信号が入力されると、それに対応したオフセットがオフセットテーブル702より読み出され、オフセットテーブル702の外部へと出力される。   The offset table 702 uses the point signal shown in FIG. 15 as an address, and the contents indicated by each address store an offset for accessing the multiplication coefficient memories 704 and 705. That is, when a score signal is input from the outside to the offset table 702, the corresponding offset is read from the offset table 702 and output to the outside of the offset table 702.

次に、DFT乗算係数メモリ704、及びIDFT乗算係数メモリ705について図18を用いて説明する。   Next, the DFT multiplication coefficient memory 704 and the IDFT multiplication coefficient memory 705 will be described with reference to FIG.

図18に示すように、DFT乗算係数メモリ704およびIDFT乗算係数メモリ705は、それぞれ4つのメモリを持つ。また、これら4つのメモリにアドレスが入力されると、図18の“アドレス”に記載の値に対応した行の、各メモリに格納された4つの値が読み出され、図6のmult_cf1, mult_cf2, mult_cf3, mult_cf4として、それぞれ出力される。   As shown in FIG. 18, the DFT multiplication coefficient memory 704 and the IDFT multiplication coefficient memory 705 each have four memories. When addresses are input to these four memories, the four values stored in each memory in the row corresponding to the value described in “Address” in FIG. 18 are read out, and mult_cf1, mult_cf2 in FIG. , mult_cf3 and mult_cf4, respectively.

例として、DFT乗算係数メモリ704にアドレス“2”が入力されたとすると、メモリ1からは0.559017、メモリ2からは1.538842、メモリ3からは-0.36327、メモリ4からは-0.58779が読み出される。   As an example, if the address “2” is input to the DFT multiplication coefficient memory 704, 0.559017 is read from the memory 1, 1.538842 is read from the memory 2, −0.36327 is read from the memory 3, and −0.58779 is read from the memory 4.

なお、図18には、図11、図12、図13、図14に示した乗算係数の係数名も併記した。また、表内の斜線は、その箇所に値が格納されていないことを示すものである。さらに、DFT乗算係数メモリおよびIDFT乗算係数メモリの4つのメモリに入力されるアドレスとは、クロック数信号と、オフセットテーブル702から読み出されたオフセット値と、を加算したものである。   In FIG. 18, the coefficient names of the multiplication coefficients shown in FIGS. 11, 12, 13, and 14 are also shown. A diagonal line in the table indicates that no value is stored at that location. Furthermore, the addresses input to the four memories, the DFT multiplication coefficient memory and the IDFT multiplication coefficient memory, are obtained by adding the clock number signal and the offset value read from the offset table 702.

演算装置200への3点、5点、9点、15点のDFT/IDFTのデータの入力フォーマットを、図19を用いて説明する。   An input format of 3-point, 5-point, 9-point, and 15-point DFT / IDFT data to the arithmetic device 200 will be described with reference to FIG.

図19は、3点、5点、9点、15点DFT/IDFTの入力XをDFT/IDFT回路に入力して、出力Yを得る様子を示した図である。   FIG. 19 is a diagram illustrating a state where an input X of a 3-point, 5-point, 9-point, and 15-point DFT / IDFT is input to a DFT / IDFT circuit to obtain an output Y.

なお、入力Xの上部に示したCは、制御信号を示しており、C(DFT/IDFT選択信号値、クロック数、点数信号)のフォーマットとなっている。なお、本説明においては、DFTを例として説明を行うが、IDFTは後述する乗算ユニット部以外はDFTと同一の処理であるため、説明を省略する。   Note that C shown at the top of the input X indicates a control signal, and has a format of C (DFT / IDFT selection signal value, number of clocks, point signal). In this description, DFT will be described as an example, but IDFT is the same processing as DFT except for a multiplication unit section described later, and thus description thereof is omitted.

なお、5点DFT/IDFTについて、演算装置200では3つの系列を同時に行うことができる。   In addition, with respect to the 5-point DFT / IDFT, the arithmetic device 200 can simultaneously perform three sequences.

ここで、系列とは、図12に示す処理を1回分とする処理である。よって、3つの系列とは、図12に示す処理を3つ同時に行うことを意味する。   Here, the series is a process for performing the process shown in FIG. 12 once. Therefore, the three series means that three processes shown in FIG. 12 are performed simultaneously.

以下では3つの系列のそれぞれを、系列0、系列1、系列2として呼ぶこととする。   Hereinafter, each of the three series will be referred to as series 0, series 1, and series 2.

図19のXの()内のインデクスは、(図12の各信号に付されたインデクス、系列番号)を示している。例として、X(0,0)は、系列0のX0を示すものである。   The index in parentheses (X) in FIG. 19 indicates (index and sequence number assigned to each signal in FIG. 12). As an example, X (0,0) indicates X0 of the series 0.

(3点DFT/IDFT)
次に、演算装置200による3点DFT/IDFTの処理を説明する。
(3-point DFT / IDFT)
Next, three-point DFT / IDFT processing by the arithmetic device 200 will be described.

図20を用いて、前段第一加算ユニット204の処理を説明する。なお、図20において、何も記述されていない箇所の値は0値をとるものとし、以降に示すタイムチャートも同様であるとする。   The process of the first-stage first addition unit 204 will be described with reference to FIG. In FIG. 20, it is assumed that the value of a part where nothing is described is 0, and the time charts shown below are the same.

前段第一加算ユニット204では、図11に示すb0、b1、b2を算出する処理を、1サイクルで行う。   In the first-stage first addition unit 204, the process of calculating b0, b1, and b2 shown in FIG. 11 is performed in one cycle.

具体的には、入力されたC_sigに従って、クロスバ(Xbar)31が、sel1としてX(0)を、sel3としてX(1)を、sel4としてX(2)を出力する。   Specifically, according to the input C_sig, the crossbar (Xbar) 31 outputs X (0) as sel1, X (1) as sel3, and X (2) as sel4.

次に、加算器35がb0を出力し、加算器32がb1を出力し、加算器33がb2を出力する。   Next, the adder 35 outputs b0, the adder 32 outputs b1, and the adder 33 outputs b2.

最後に、Xbar37が、制御信号C_sigに従って、b0をout1に出力し、b1をout2に出力し、b2をout3に出力する。   Finally, Xbar 37 outputs b0 to out1, outputs b1 to out2, and outputs b2 to out3 according to the control signal C_sig.

このように、Xbarおよびセレクタは、入力されたC_sigによって、入力の出力先を変更する。以下では、各Xbarやセレクタの詳しい説明は省略し、信号名に出力される信号値のみを説明中で示すこととする。   In this way, the Xbar and the selector change the output destination of the input according to the input C_sig. In the following, detailed description of each Xbar and selector is omitted, and only the signal value output in the signal name is shown in the description.

図21を用いて、前段転置ユニット205の処理を説明する。   The process of the upstream transposition unit 205 will be described with reference to FIG.

前段転置ユニット205では、まず、入力されたデータin1、in2、in3を、クロスバ(Xbar)41が、D_Sel_1_1、D_Sel_1_2、D_Sel_1_3として出力する。   In the upstream transposition unit 205, first, the crossbar (Xbar) 41 outputs the input data in1, in2, and in3 as D_Sel_1_1, D_Sel_1_2, and D_Sel_1_3.

次に、クロスバ(Xbar)42が、D_Sel_1_1からD_Sel_1_3を、それぞれSel_2_1からSel_2_3として出力し、クロスバ(Xbar)43が、out1、out2、out3を出力する。   Next, the crossbar (Xbar) 42 outputs D_Sel_1_1 to D_Sel_1_3 as Sel_2_1 to Sel_2_3, respectively, and the crossbar (Xbar) 43 outputs out1, out2, and out3.

図22を用いて、前段第二加算ユニット206の処理内容を説明する。   With reference to FIG. 22, the processing contents of the pre-stage second addition unit 206 are described.

前段転置ユニット205では、特に加算処理を行わず、入力されたデータを遅延回路Dによって遅延させ、次のユニットに出力する。   The upstream transposition unit 205 does not particularly perform addition processing, delays the input data by the delay circuit D, and outputs it to the next unit.

図23を用いて、前段第三加算ユニット207の処理内容を説明する。   The processing content of the pre-stage third addition unit 207 will be described with reference to FIG.

前段第三加算ユニット207では、特に加算処理を行わず、入力されたデータをスルーさせ、次のユニットに出力する。   The pre-stage third addition unit 207 passes through the input data without performing any particular addition processing, and outputs it to the next unit.

図24を用いて、制御ユニット209、乗算器208の処理内容を説明する。   The processing contents of the control unit 209 and the multiplier 208 will be described with reference to FIG.

制御ユニット209は、1サイクル目で乗算係数T_3_1およびT_3_2を読み出し、乗算器208は、それをb1、b2に乗算して、out2、out3に出力する。なお、乗算器208は、b0には、特に係数を乗算せず、out1として出力する。   The control unit 209 reads the multiplication coefficients T_3_1 and T_3_2 in the first cycle, and the multiplier 208 multiplies them by b1 and b2, and outputs them to out2 and out3. Note that the multiplier 208 does not particularly multiply b0 by a coefficient and outputs it as out1.

図25を用いて、後段第一加算ユニット210の処理内容を説明する。   The processing content of the post-stage first addition unit 210 will be described with reference to FIG.

後段第一加算ユニット210は、特に処理を行わず、入力データin1、in2、in3を、それぞれsel1、sel2、sel3として出力し、それをout1、out2、out3として出力する。   The post-stage first addition unit 210 performs no particular processing and outputs the input data in1, in2, and in3 as sel1, sel2, and sel3, respectively, and outputs them as out1, out2, and out3.

図26を用いて、後段第二加算ユニット211の処理内容を説明する。   The processing contents of the second-stage second addition unit 211 will be described with reference to FIG.

後段第二加算ユニット211は、特に加算処理を行わないが、入力されたデータを2クロック遅延させて出力する。具体的には、後段第二加算ユニット211は、入力データin1、in2、in3をそれぞれregr2、regr5、regr7として出力し、さらに、それらをsel1、sel4、sel7として出力する。その後、各加算器82および84は、それぞれ、sel4、sel7に0を加算することによって、sel4、sel7と同じ値のadd_s1、add_s2を出力する。最終的にout1、out2、out3が出力される。   The post-secondary addition unit 211 does not particularly perform addition processing, but outputs the input data with a delay of two clocks. Specifically, the second-stage second addition unit 211 outputs the input data in1, in2, and in3 as regr2, regr5, and regr7, respectively, and further outputs them as sel1, sel4, and sel7. Thereafter, the adders 82 and 84 add 0 to sel4 and sel7, respectively, to output add_s1 and add_s2 having the same values as sel4 and sel7. Finally, out1, out2, and out3 are output.

図27を用いて、後段転置ユニット212の処理内容を説明する。   The processing content of the rear stage transposition unit 212 will be described with reference to FIG.

後段転置ユニット212では、入力されたデータin1、in2、in3を、Sel_1_1、Sel_1_2、Sel_1_3として出力し、その後、遅延回路Dによって遅延された信号を、クロスバ(Xbar)1002が、Sel_2_1、Sel_2_2、Sel_2_3として出力する。   In the rear transposition unit 212, the input data in1, in2, and in3 are output as Sel_1_1, Sel_1_2, and Sel_1_3, and then the signal delayed by the delay circuit D is sent to the crossbar (Xbar) 1002 by the Sel_2_1, Sel_2_2, Sel_2_3 Output as.

このとき、後段転置ユニット212は、特に入力されたデータを入れ替える処理などは行わない。その後、それぞれの信号は、D_Sel_2_1、D_Sel_2_2、D_Sel_2_3として出力され、その後、クロスバ(Xbar)1004およびSel_4_1、Sel_4_2、Sel_4_3を通過してout1、out2、out3として出力される。   At this time, the rear-stage transposition unit 212 does not perform a process of exchanging input data in particular. Thereafter, the respective signals are output as D_Sel_2_1, D_Sel_2_2, and D_Sel_2_3, and then output as out1, out2, and out3 through the crossbar (Xbar) 1004 and Sel_4_1, Sel_4_2, and Sel_4_3.

図28を用いて、後段第三加算ユニット213の処理内容を説明する。   The processing content of the post-stage third addition unit 213 will be described with reference to FIG.

後段第三加算ユニット213では、入力されたデータを1クロック遅延させた上で加算処理を行う。具体的には、入力データin1、in2、in3は、それぞれ、regr2、regr3、reg4として出力される。その後、加算器1102がm0+m1の計算を行い、加算器1107がm0+m1-m2の計算を行う。また、m0はsel5として出力される。最後に、クロスバ(Xbar)1108から、3点DFT/IDFT結果y0、y1およびy2が、それぞれ、out1、out2、out3として出力される。   The post-stage third addition unit 213 performs addition processing after delaying the input data by one clock. Specifically, the input data in1, in2, and in3 are output as regr2, regr3, and reg4, respectively. Thereafter, the adder 1102 calculates m0 + m1, and the adder 1107 calculates m0 + m1-m2. M0 is output as sel5. Finally, three-point DFT / IDFT results y0, y1, and y2 are output from the crossbar (Xbar) 1108 as out1, out2, and out3, respectively.

このように、演算装置200は、3点DFT/IDFTを指示する制御信号を受け付けると、3点DFT/IDFTを実行する。   As described above, when the arithmetic device 200 receives the control signal instructing the three-point DFT / IDFT, the arithmetic device 200 executes the three-point DFT / IDFT.

(5点DFT/IDFT)
次に、演算装置200による5点DFT/IDFTの処理を説明する。
(5-point DFT / IDFT)
Next, the 5-point DFT / IDFT processing by the arithmetic device 200 will be described.

図29を用いて、前段第一加算ユニット204の処理内容を説明する。   The processing contents of the first stage first addition unit 204 will be described with reference to FIG.

前段第一加算ユニット204は、特に加算処理を行わず、データをスルーして出力する。具体的には、前段第一加算ユニット204は、入力データin1、in2、in3を、それぞれ、sel6、sel7、sel8として出力する。また、制御信号は、第1サイクル目より1クロックずつ順に出力される。   The pre-stage first addition unit 204 does not perform the addition process and outputs the data through. Specifically, the pre-stage first addition unit 204 outputs the input data in1, in2, and in3 as sel6, sel7, and sel8, respectively. Further, the control signal is sequentially output by one clock from the first cycle.

図30を用いて、前段転置ユニット205の処理内容を説明する。   The processing contents of the upstream transposition unit 205 will be described with reference to FIG.

前段転置ユニット205は、5点DFT/IDFTのデータの転置処理を行う。   The upstream transposition unit 205 performs transposition processing of 5-point DFT / IDFT data.

具体的には、第1サイクルにおいて、in1、in2、in3として入力されたデータX(0,0)、X(0,1)、X(0,2)が、それぞれ、Sel_1_5、Sel_1_6、Sel_1_7として出力され、遅延回路Dに入力される。   Specifically, in the first cycle, the data X (0,0), X (0,1), X (0,2) input as in1, in2, and in3 are respectively Sel_1_5, Sel_1_6, and Sel_1_7 Is output and input to the delay circuit D.

次に、第2サイクルにおいては、in1、in2、in3として入力されたデータX(1,0)、X(1,1)、X(1,2)が、それぞれ、Sel_1_1、Sel_1_2、Sel_1_4として出力され、遅延回路Dに入力される。   Next, in the second cycle, the data X (1,0), X (1,1), X (1,2) input as in1, in2, and in3 are output as Sel_1_1, Sel_1_2, and Sel_1_4, respectively And input to the delay circuit D.

次に、第3サイクルにおいては、in1、in2、in3として入力されたデータX(2,0)、X(2,1)、X(2,2)が、それぞれ、Sel_1_1、Sel_1_2、Sel_1_4として出力され、遅延回路Dに入力される。   Next, in the third cycle, the data X (2,0), X (2,1), X (2,2) input as in1, in2, and in3 are output as Sel_1_1, Sel_1_2, and Sel_1_4, respectively And input to the delay circuit D.

次に、第4サイクルにおいては、in1、in2、in3として入力されたデータX(3,0)、X(3,1)、X(3,2)が、それぞれ、Sel_1_1、Sel_1_2、Sel_1_4として出力され、遅延回路Dに入力される。   Next, in the fourth cycle, the data X (3,0), X (3,1), and X (3,2) input as in1, in2, and in3 are output as Sel_1_1, Sel_1_2, and Sel_1_4, respectively. And input to the delay circuit D.

次に、第5サイクルにおいては、in1、in2、in3として入力されたデータX(4,0)、X(4,1)、X(4,2)が、それぞれ、Sel_1_1、Sel_1_2、Sel_1_4として出力され、遅延回路Dに入力される。同時に、D_Sel_1_1として、C(0,01,1)と統合されたX(1,0)が出力され、これはSel_2_1として出力される。   Next, in the fifth cycle, the data X (4,0), X (4,1), and X (4,2) input as in1, in2, and in3 are output as Sel_1_1, Sel_1_2, and Sel_1_4, respectively. And input to the delay circuit D. At the same time, X (1,0) integrated with C (0,01,1) is output as D_Sel_1_1, which is output as Sel_2_1.

次に、第6サイクルにおいては、D_Sel_1_1、D_Sel_1_2として、C(0,01,2)と統合されたX(2,0)、C(0,01,1)と統合されたX(1,1)が、それぞれ、出力される。このうち、C(0,01,2)と統合されたX(2,0)は、Sel_2_2として出力される。一方、C(0,01,1)と統合されたX(1,1)は、Sel_2_1として出力される。このように、前段転置ユニット205は、入力されたデータの順序を入れ替えて出力する。   Next, in the sixth cycle, as D_Sel_1_1 and D_Sel_1_2, X (2,0) integrated with C (0,01,2) and X (1,1 integrated with C (0,01,1) ) Are respectively output. Among these, X (2,0) integrated with C (0,01,2) is output as Sel_2_2. On the other hand, X (1,1) integrated with C (0,01,1) is output as Sel_2_1. In this way, the upstream transposition unit 205 changes the order of the input data and outputs it.

次に、第7サイクルにおいては、D_Sel_1_1、D_Sel_1_2として、C(0,01,3)と統合されたX(3,0)、C(0,01,1)と統合されたX(2,1)が、それぞれ、出力される。また、C(0,01,3)と統合されたX(3,0)は、Sel_2_3として出力される。C(0,01,1)と統合されたX(2,1)は、Sel_2_2として出力される。   Next, in the seventh cycle, as D_Sel_1_1 and D_Sel_1_2, X (3,0) integrated with C (0,01,3) and X (2,1 integrated with C (0,01,1) ) Are respectively output. X (3,0) integrated with C (0,01,3) is output as Sel_2_3. X (2,1) integrated with C (0,01,1) is output as Sel_2_2.

次に、第8サイクルにおいては、D_Sel_1_1、D_Sel_1_2、D_Sel_1_4として、C(0,01,4)と統合されたX(4,0)、C(0,01,1)と統合されたX(3,1)、 C(0,01,1)と統合されたX(1,2)が、それぞれ、出力される。また、C(0,01,4)と統合されたX(4,0)は、Sel_2_4として出力される。C(0,01,1)と統合されたX(3,1)は、Sel_2_3として出力される。C(0,01,1)と統合されたX(1,2)は、Sel_2_1として出力される。   Next, in the eighth cycle, as D_Sel_1_1, D_Sel_1_2, and D_Sel_1_4, X (4,0) integrated with C (0,01,4), X (3 with C (0,01,1) integrated) , 1) and X (1,2) integrated with C (0,01,1) are output respectively. X (4,0) integrated with C (0,01,4) is output as Sel_2_4. X (3,1) integrated with C (0,01,1) is output as Sel_2_3. X (1,2) integrated with C (0,01,1) is output as Sel_2_1.

次に、第9サイクルにおいては、D_Sel_1_2、D_Sel_1_4として、C(0,01,1)と統合されたX(4,1)、C(0,01,1)と統合されたX(2,2)が、それぞれ、出力される。また、C(0,01,1)と統合されたX(4,1)は、Sel_2_4として出力される。C(0,01,1)と統合されたX(2,2)は、Sel_2_2として出力される。   Next, in the ninth cycle, X (4,1) integrated with C (0,01,1) and X (2,2 integrated with C (0,01,1) as D_Sel_1_2 and D_Sel_1_4 ) Are respectively output. Also, X (4,1) integrated with C (0,01,1) is output as Sel_2_4. X (2,2) integrated with C (0,01,1) is output as Sel_2_2.

次に、第10サイクルおいては、D_Sel_1_4として、C(0,01,1)と統合されたX(3,2)が出力される。ここで、このデータはSel_2_3としても出力される。   Next, in the tenth cycle, X (3,2) integrated with C (0,01,1) is output as D_Sel_1_4. Here, this data is also output as Sel_2_3.

次に、第11サイクルにおいては、D_Sel_1_4として、C(0,01,1)と統合されたX(4,2)が出力される。ここで、このデータは、Sel_2_4としても出力される。また、同時にSel_3_1として、C(0,01,1)と統合されたX(1,0)が出力され、Sel_3_2として、C(0,01,2)と統合されたX(2,0)が出力され、Sel_3_3として、C(0,01,3)と統合されたX(3,0)が出力され、 Sel_3_4として、C(0,01,4)と統合されたX(4,0)が出力される。これらデータからは制御信号が分離され、データだけがoutとして出力される。すなわち、out1としてX(1,0)が出力され、out2としてX(2,0)が出力され、out3としてX(3,0)が出力され、out4としてX(4,0)が出力される。さらに、C_outとしてC(0,01,0)が出力される。   Next, in the eleventh cycle, X (4,2) integrated with C (0,01,1) is output as D_Sel_1_4. Here, this data is also output as Sel_2_4. At the same time, X (1,0) integrated with C (0,01,1) is output as Sel_3_1, and X (2,0) integrated with C (0,01,2) is output as Sel_3_2. Output, X (3,0) integrated with C (0,01,3) is output as Sel_3_3, and X (4,0) integrated with C (0,01,4) is output as Sel_3_4 Is output. The control signal is separated from these data, and only the data is output as out. That is, X (1,0) is output as out1, X (2,0) is output as out2, X (3,0) is output as out3, and X (4,0) is output as out4 . Further, C (0,01,0) is output as C_out.

次に、第12サイクルにおいては、Sel_3_1として、C(0,01,1)と統合されたX(1,1)が出力される。また、Sel_3_2として、C(0,01,2)と統合されたX(2,1)が出力される。また、Sel_3_3として、C(0,01,3)と統合されたX(3,1)が出力される。また、Sel_3_4として、C(0,01,4)と統合されたX(4,1)が出力される。これらデータからは制御信号が分離され、データだけがoutとして出力される。すなわち、out1としてX(1,1)が出力され、out2としてX(2,1)が出力され、out3としてX(3,1)が出力され、out4としてX(4,1)が出力される。さらに、C_outとして、C(0,01,1)が出力される。   Next, in the twelfth cycle, X (1,1) integrated with C (0,01,1) is output as Sel_3_1. Further, X (2,1) integrated with C (0,01,2) is output as Sel_3_2. Further, X (3,1) integrated with C (0,01,3) is output as Sel_3_3. Further, X (4,1) integrated with C (0,01,4) is output as Sel_3_4. The control signal is separated from these data, and only the data is output as out. That is, X (1,1) is output as out1, X (2,1) is output as out2, X (3,1) is output as out3, and X (4,1) is output as out4 . Further, C (0,01,1) is output as C_out.

次に、第13サイクルにおいては、Sel_3_1として、C(0,01,0)と統合されたX(0,0)が出力される。また、Sel_3_2として、C(0,01,1)と統合されたX(0,1)が出力される。これらデータからは制御信号が分離され、データだけがoutとして出力される。すなわち、out1としてX(0,0)が出力され、out2としてX(0,1)が出力される。さらに、C_outとしてC(0,01,2)が出力される。   Next, in the thirteenth cycle, X (0,0) integrated with C (0,01,0) is output as Sel_3_1. Further, X (0,1) integrated with C (0,01,1) is output as Sel_3_2. The control signal is separated from these data, and only the data is output as out. That is, X (0,0) is output as out1, and X (0,1) is output as out2. Furthermore, C (0,01,2) is output as C_out.

次に、第14サイクルにおいては、Sel_3_1として、C(0,01,1)と統合されたX(1,2)が出力される。また、Sel_3_2として、C(0,01,2)と統合されたX(2,2)が出力される。また、Sel_3_3として、C(0,01,3)と統合されたX(3,2)が出力される、また、Sel_3_4としてC(0,01,4)と統合されたX(4,2)が出力される。これらデータからは制御信号が分離され、データだけがoutとして出力される。すなわち、out1としてX(1,2)が出力され、out2としてX(2,2)が出力され、out3としてX(3,2)が出力され、out4としてX(4,2)が出力される。   Next, in the 14th cycle, X (1,2) integrated with C (0,01,1) is output as Sel_3_1. Further, X (2,2) integrated with C (0,01,2) is output as Sel_3_2. Also, X (3,2) integrated with C (0,01,3) is output as Sel_3_3, and X (4,2) integrated with C (0,01,4) as Sel_3_4 Is output. The control signal is separated from these data, and only the data is output as out. That is, X (1,2) is output as out1, X (2,2) is output as out2, X (3,2) is output as out3, and X (4,2) is output as out4 .

さらに、C_outとしてC(0,01,3)が出力される。   Furthermore, C (0,01,3) is output as C_out.

最後に、第15サイクルにおいては、Sel_3_1として、C(0,01,0)と統合されたX(0,2)が出力される。このデータからは制御信号が分離され、データだけがoutとして出力される。すなわち、out1として、X(0,2)が出力される。さらに、C_outとしてC(0,01,4)が出力される。   Finally, in the fifteenth cycle, X (0,2) integrated with C (0,01,0) is output as Sel_3_1. The control signal is separated from this data, and only the data is output as out. That is, X (0,2) is output as out1. Furthermore, C (0,01,4) is output as C_out.

また、制御信号は、第11サイクル目より、1クロックごとに1つずつ出力される。   Further, one control signal is output every clock from the 11th cycle.

図31を用いて、前段第二加算ユニット206の処理内容を説明する。   With reference to FIG. 31, the processing content of the pre-stage second addition unit 206 is described.

前段第二加算ユニット206は、図12に示したa0、a1、a2、a3、a4を算出する処理を行う。   The pre-stage second addition unit 206 performs a process of calculating a0, a1, a2, a3, a4 shown in FIG.

具体的には、前段第二加算ユニット206での5点DFT/IDFT用処理での2サイクル目に、regr1、regr3、regr4、 regr5として、それぞれ、X(1,0)、X(2,0)、X(3,0)、X(4,0)が出力される。また、加算器52がX(1,0)+X(2,0)を計算し、その計算結果a1(0)をout1として出力する。また、加算器53がX(1,0)-X(2,0)を計算し、その計算結果a4(0)をout2として出力する。また、加算器54がX(3,0)+X(4,0)を計算し、その計算結果a2(0)をout3として出力する。また、加算器55がX(3,0)-X(4,0)を計算し、その計算結果a3(0)をout4として出力する。ここで、aに付随する()内の数字は系列番号を示す。例として、a1(0)は、系列0の入力Xの途中計算結果a1であることを示す。   Specifically, as regr1, regr3, regr4, and regr5 in the second cycle in the 5-point DFT / IDFT processing in the second addition unit 206 at the preceding stage, X (1,0), X (2,0, respectively) ), X (3,0), and X (4,0) are output. The adder 52 calculates X (1,0) + X (2,0), and outputs the calculation result a1 (0) as out1. The adder 53 calculates X (1,0) -X (2,0), and outputs the calculation result a4 (0) as out2. The adder 54 calculates X (3,0) + X (4,0) and outputs the calculation result a2 (0) as out3. The adder 55 calculates X (3,0) −X (4,0), and outputs the calculation result a3 (0) as out4. Here, the numbers in parentheses attached to a indicate a sequence number. As an example, a1 (0) indicates the intermediate calculation result a1 of the input X of the series 0.

3サイクル目では2サイクル目と同様の処理が行われ、a1(1)、a4(1)、a2(1)、a3(1)が出力される。   In the third cycle, processing similar to that in the second cycle is performed, and a1 (1), a4 (1), a2 (1), and a3 (1) are output.

4サイクル目では、前段第二加算ユニット206は、a(0)、a(1)を出力する。具体的には、regr1、regr3として、それぞれ、X(0,0)、X(0,1)が出力される。それらは、それぞれsel1、sel4として出力される。加算器52および加算器53は、それぞれ、sel1、sel4に0を加算し、その加算された値を、out1、out2として出力する。   In the fourth cycle, the front stage second addition unit 206 outputs a (0) and a (1). Specifically, X (0,0) and X (0,1) are output as regr1 and regr3, respectively. They are output as sel1 and sel4, respectively. The adder 52 and the adder 53 add 0 to sel1 and sel4, respectively, and output the added values as out1 and out2.

5サイクル目では、2、3サイクル目と同様の処理が行われ、a1(2)、a4(2)、a2(2)、a3(2)が出力される。   In the fifth cycle, processing similar to that in the second and third cycles is performed, and a1 (2), a4 (2), a2 (2), and a3 (2) are output.

6サイクル目では、a(2)が出力される。具体的には、regr1としてX(0,2)が出力され、X(0,2)がsel1として出力され、加算器52が、sel1に0を加算し、その加算結果をout1として出力する。   In the sixth cycle, a (2) is output. Specifically, X (0,2) is output as regr1, X (0,2) is output as sel1, and the adder 52 adds 0 to sel1, and outputs the addition result as out1.

また、制御信号は、第2サイクル目より1クロックごとに1つずつ出力される。   Further, one control signal is output every clock from the second cycle.

図32を用いて、前段第三加算ユニット207の処理内容を説明する。   The processing contents of the pre-stage third addition unit 207 will be described with reference to FIG.

前段第三加算ユニット207では、図12に示したc0からc5を算出する処理を行う。   The pre-stage third addition unit 207 performs a process of calculating c0 to c5 shown in FIG.

具体的には、第1サイクル目において、加算器62は、a1(0)-a2(0)を行って算出結果c2(0)を得て、c2(0)をout1として出力する。また、加算器65は、a3(0)+a(4)を行って算出結果c5(0)を得て、c5(0)をout4として出力する。また、クロスバ61は、a3(0)、a4(0)を、それぞれ、sel4、sel7として出力する。加算器63は、sel4に0を加算し、加算結果c3(0)をout2として出力する。また、加算器64は、sel7に0を加算し、加算結果c4(0)をout3として出力する。   Specifically, in the first cycle, the adder 62 performs a1 (0) -a2 (0) to obtain a calculation result c2 (0), and outputs c2 (0) as out1. Further, the adder 65 performs a3 (0) + a (4) to obtain a calculation result c5 (0), and outputs c5 (0) as out4. The crossbar 61 outputs a3 (0) and a4 (0) as sel4 and sel7, respectively. The adder 63 adds 0 to sel4 and outputs the addition result c3 (0) as out2. The adder 64 adds 0 to sel7 and outputs the addition result c4 (0) as out3.

次に、第2サイクル目においては、第1サイクル目と同様の処理が行われ、c2(1)、c3(1)、c4(1)、c5(1)が、それぞれ、out1、out2、out3、out4として出力される。   Next, in the second cycle, the same processing as in the first cycle is performed, and c2 (1), c3 (1), c4 (1), and c5 (1) are out1, out2, and out3, respectively. , Output as out4.

次に、第3サイクル目においては、in1、in2のデータa0(0)とa0(1)、および、regr1、regr2、regr3、regr4としてそれぞれ出力されるa1(0)、a2(0)、a1(1)、a2(1)を使い、c0(0)、c1(0)、c0(1)、c1(1)が、それぞれ算出される。   Next, in the third cycle, data a0 (0) and a0 (1) of in1, in2 and a1 (0), a2 (0), a1 outputted as regr1, regr2, regr3, regr4, respectively. Using (1) and a2 (1), c0 (0), c1 (0), c0 (1), and c1 (1) are respectively calculated.

具体的には、加算器62が、a0(0)+a1(0)+a2(0)を計算して計算結果c0(0)を得て、c0(0)をout1として出力する。また、加算器63が、a1(0)+a2(0)を計算して計算結果c1(0)を得て、c1(0)をout2として出力する。また、加算器64が、a0(1)+a1(1)+a2(1)を計算して計算結果c0(1)を得て、c0(1)をout3として出力する。また、加算器65が、a1(1)+a2(1)を計算して計算結果c1(1)を得て、c1(1)をout4として出力する。   Specifically, the adder 62 calculates a0 (0) + a1 (0) + a2 (0) to obtain a calculation result c0 (0), and outputs c0 (0) as out1. Further, the adder 63 calculates a1 (0) + a2 (0) to obtain a calculation result c1 (0), and outputs c1 (0) as out2. The adder 64 calculates a0 (1) + a1 (1) + a2 (1) to obtain a calculation result c0 (1), and outputs c0 (1) as out3. The adder 65 calculates a1 (1) + a2 (1) to obtain a calculation result c1 (1), and outputs c1 (1) as out4.

次に、第4サイクル目においては、第1、2サイクル目と同様の処理が行われ、c2(2)、 c3(2)、c4(2)、c5(2)が、それぞれ、out1、out2、out3、out4として出力される。   Next, in the fourth cycle, the same processing as in the first and second cycles is performed, and c2 (2), c3 (2), c4 (2), and c5 (2) are out1, out2 respectively. , Out3, and out4.

最後に、第5サイクル目においては、第3サイクル目と同様のほぼ同様の処理が行われ、c0(2)、c1(2)が得られる。   Finally, in the fifth cycle, substantially the same processing as in the third cycle is performed, and c0 (2) and c1 (2) are obtained.

また、制御信号は、第1サイクル目より1クロックごとに1つずつ出力される。   Further, one control signal is output every clock from the first cycle.

図33を用いて、制御ユニット209、乗算器208の処理内容を説明する。制御ユニット209と乗算器208では、図12に示したm0からm5までの係数を求める処理を行う。   The processing contents of the control unit 209 and the multiplier 208 will be described with reference to FIG. The control unit 209 and the multiplier 208 perform processing for obtaining coefficients m0 to m5 shown in FIG.

具体的には、第1サイクル目では、乗算器208は、入力されたc2(0)、c3(0)、c4(0)、c5(0)に、それぞれ、T5_2、T5_3、T_5_4、T5_5の係数を乗算する。さらに、乗算器208は、c3(0)、c4(0)、c5(0)に関しては、上記係数をかけた後に、純虚数を乗算する。以上により、m2(0)、m3(0)、m4(0)、m5(0)が算出され、これらは、それぞれ、out1、out2、out3、out4として出力される。   Specifically, in the first cycle, the multiplier 208 converts the input c2 (0), c3 (0), c4 (0), and c5 (0) to T5_2, T5_3, T_5_4, and T5_5, respectively. Multiply by a coefficient. Further, the multiplier 208 multiplies pure imaginary numbers after multiplying the above coefficients for c3 (0), c4 (0), and c5 (0). As described above, m2 (0), m3 (0), m4 (0), and m5 (0) are calculated, and these are output as out1, out2, out3, and out4, respectively.

第2サイクル目では、第1サイクル目と同様の処理が行われ、m2(1)、m3(1)、m4(1)、m5(1)のそれぞれが算出され、これらはout1、out2、out3、out4として出力される。   In the second cycle, the same processing as in the first cycle is performed, and m2 (1), m3 (1), m4 (1), and m5 (1) are calculated, and these are out1, out2, out3 , Output as out4.

第3サイクル目では、乗算器208は、入力されたc0(0)、c1(0)、c0(1)、c1(1)に対し、それぞれ、T5_0、T5_1、T5_0、T5_1の係数を乗算する処理を行い、m0(0)、m1(0)、m0(1)、m1(1)を得る。これらはそれぞれ、out1、out2、out3、out4として出力される。   In the third cycle, the multiplier 208 multiplies the input c0 (0), c1 (0), c0 (1), and c1 (1) by the coefficients of T5_0, T5_1, T5_0, and T5_1, respectively. Processing is performed to obtain m0 (0), m1 (0), m0 (1), and m1 (1). These are output as out1, out2, out3, and out4, respectively.

第4サイクル目では、第1サイクル目と同様の処理が行われ、m2(2)、m3(2)、m4(2)、m5(2)が算出され、これらは、それぞれ、out1、out2、out3、out4として出力される。   In the fourth cycle, the same processing as in the first cycle is performed, and m2 (2), m3 (2), m4 (2), and m5 (2) are calculated, which are out1, out2, Output as out3 and out4.

第5サイクル目では、第3サイクル目と同様の処理が行われ、m0(2)、m1(2)が得られる。これらは、それぞれ、out1、out2として出力される。   In the fifth cycle, processing similar to that in the third cycle is performed, and m0 (2) and m1 (2) are obtained. These are output as out1 and out2, respectively.

また、制御信号は、第1サイクル目より1クロックごとに1つずつ出力される。   Further, one control signal is output every clock from the first cycle.

図34を用いて、後段第一加算ユニット210の処理内容を説明する。本ユニットでは図12に示したn0からn4を求める処理を行う。   The processing contents of the post-stage first addition unit 210 will be described with reference to FIG. This unit performs the process of obtaining n0 to n4 shown in FIG.

具体的には、第1サイクル目では、m2(0)が、sel1さらに言えばn2(0)として出力される。さらに、加算器82が、m3(0)+m5(0)を計算し、その計算結果n3(0)をadd_s1として出力する。また、加算器83が、m4(0)+m5(0)を計算し、その計算結果n4(0)をadd_s2として出力する。クロスバ85は、n2(0)、n3(0)、n4(0)を、それぞれ、out1、out2、out3として出力する。   Specifically, in the first cycle, m2 (0) is output as sel1, more specifically, n2 (0). Further, the adder 82 calculates m3 (0) + m5 (0), and outputs the calculation result n3 (0) as add_s1. The adder 83 calculates m4 (0) + m5 (0) and outputs the calculation result n4 (0) as add_s2. The crossbar 85 outputs n2 (0), n3 (0), and n4 (0) as out1, out2, and out3, respectively.

第2サイクル目では、第1サイクルと同様の処理が行われ、n2(1)、n3(1)、n4(1)が得られる。これらはそれぞれ、out1、out2、out3として出力される。   In the second cycle, processing similar to that in the first cycle is performed, and n2 (1), n3 (1), and n4 (1) are obtained. These are output as out1, out2, and out3, respectively.

第3サイクル目では、sel1、sel2さらに言えばn0(0), n0(1)として、m0(0)、m0(1)がそれぞれ出力される。さらに、加算器82が、m0(0)+m1(0)を計算し、その計算結果n1(0)をadd_s1として出力する。また、加算器83が、m0(1)+m1(1)を計算し、その計算結果n1(1)をadd_s2として出力する。クロスバ85は、n0(0)、n0(1)、n1(0)、n1(1)を、それぞれ、out1、out2、out3、out4に出力する。   In the third cycle, m0 (0) and m0 (1) are output as sel1, sel2, and more specifically as n0 (0), n0 (1), respectively. Further, the adder 82 calculates m0 (0) + m1 (0), and outputs the calculation result n1 (0) as add_s1. The adder 83 calculates m0 (1) + m1 (1) and outputs the calculation result n1 (1) as add_s2. The crossbar 85 outputs n0 (0), n0 (1), n1 (0), and n1 (1) to out1, out2, out3, and out4, respectively.

第4サイクル目では、第1、2サイクル目と同様の処理が行われ、n2(2)、n3(2)、n4(2)が得られる。これらはそれぞれ、out1、out2、out3として出力される。   In the fourth cycle, the same processing as in the first and second cycles is performed, and n2 (2), n3 (2), and n4 (2) are obtained. These are output as out1, out2, and out3, respectively.

第5サイクル目では、第3サイクル目と同様の処理が行われ、n0(2)、n1(2)が得られる。これらはそれぞれ、out1、out2として出力される。   In the fifth cycle, processing similar to that in the third cycle is performed, and n0 (2) and n1 (2) are obtained. These are output as out1 and out2, respectively.

また、制御信号は、第1サイクル目より、1クロックごとに1つずつ出力される。   Further, one control signal is output for each clock from the first cycle.

図35を用いて、後段第二加算ユニット211の処理内容を説明する。   The processing contents of the second-stage second addition unit 211 will be described with reference to FIG.

後段第二加算ユニット211では、図12に示したy0からy4を計算する。   The latter second addition unit 211 calculates y0 to y4 shown in FIG.

具体的には、後段第二加算ユニット211は、第1サイクル目、第2サイクル目では、特に加算処理を行わず、第3サイクル目において、加算器902がn1(0)+n2(0)+n4(0)を計算し、その計算結果y1(0)をadd_s1として出力する。また、加算器903がn1(0)+n2(0)-n4(0)を計算し、その計算結果y4(0)をadd_s2として出力する。また、加算器904がn1(0)-n2(0)+n3(0)を計算し、その計算結果y2(0)をadd_s3として出力する。また、加算器905がn1(0)-n2(0)-n3(0)を計算し、その計算結果y3(0)をadd_s4として出力する。これらはそれぞれ、out1、out2、out3、out4として出力される。   Specifically, the post-second addition unit 211 does not particularly perform addition processing in the first cycle and the second cycle, and the adder 902 performs n1 (0) + n2 (0) in the third cycle. + n4 (0) is calculated, and the calculation result y1 (0) is output as add_s1. The adder 903 calculates n1 (0) + n2 (0) −n4 (0), and outputs the calculation result y4 (0) as add_s2. The adder 904 calculates n1 (0) -n2 (0) + n3 (0), and outputs the calculation result y2 (0) as add_s3. The adder 905 calculates n1 (0) -n2 (0) -n3 (0) and outputs the calculation result y3 (0) as add_s4. These are output as out1, out2, out3, and out4, respectively.

第4サイクル目においては、第3サイクル目と同様の処理が行われ、y(1,1)、y(4,1)、y(2,1)、y(3,1)が得られる。これらはそれぞれ、out1、out2、out3、out4として出力される。   In the fourth cycle, processing similar to that in the third cycle is performed, and y (1,1), y (4,1), y (2,1), and y (3,1) are obtained. These are output as out1, out2, out3, and out4, respectively.

第5サイクル目においては、第3、4サイクル目と同様の処理が行われ、y(1,2)、y(4,2)、y(2,2)、y(3,2)が得られる。これらはそれぞれ、out1、out2、out3、out4として出力される。   In the fifth cycle, the same processing as in the third and fourth cycles is performed, and y (1,2), y (4,2), y (2,2), and y (3,2) are obtained. It is done. These are output as out1, out2, out3, and out4, respectively.

第6サイクル目においては、sel1、sel4、sel7として、それぞれ、n0(0)、n0(1)、n0(2)が出力される。また、加算器902は、sel1に0を加算し、その加算結果y(0,0)をadd_s1として出力する。また、加算器903は、sel4に0を加算し、その加算結果y(0,1)をadd_s2として出力する。また、加算器904は、sel7に0を加算し、その加算結果y(0,2)をadd_s3として出力する。これらはそれぞれ、out1、out2、out3として出力される。   In the sixth cycle, n0 (0), n0 (1), and n0 (2) are output as sel1, sel4, and sel7, respectively. The adder 902 adds 0 to sel1, and outputs the addition result y (0,0) as add_s1. The adder 903 adds 0 to sel4 and outputs the addition result y (0,1) as add_s2. The adder 904 adds 0 to sel7 and outputs the addition result y (0, 2) as add_s3. These are output as out1, out2, and out3, respectively.

また、制御信号は、第3サイクル目より1クロックごとに1つずつ出力される。   Also, one control signal is output every clock from the third cycle.

図36を用いて、後段転置ユニット212の処理内容を説明する。   The processing content of the rear stage transposition unit 212 is demonstrated using FIG.

後段転置ユニット212は、入力されたデータを並べ替える処理を行う。   The rear transposition unit 212 performs a process of rearranging the input data.

具体的には、第1サイクル目では、入力されたy(1,0)、y(4,0)、y(2,0)、y(3,0)は、それぞれ、制御信号C(0,01,0)と統合され、Sel_1_1、Sel_1_2、Sel_1_3、Sel_1_4として出力される。また、y(1,0)は、Sel_2_1として出力される。   Specifically, in the first cycle, the input y (1,0), y (4,0), y (2,0), y (3,0) are respectively controlled by the control signal C (0 , 01,0) and output as Sel_1_1, Sel_1_2, Sel_1_3, and Sel_1_4. Moreover, y (1,0) is output as Sel_2_1.

第2サイクル目では、入力されたy(1,1)、y(4,1)、y(2,1)、y(3,1)は、それぞれ、制御信号C(0,01,1)と統合され、Sel_1_1、Sel_1_2、Sel_1_3、Sel_1_4として出力される。また、D_Sel_1_1として、C(0,01,0)と統合されたy(4,0)が出力され、このデータは、さらにSel_2_1としても出力される。一方、Sel_1_1として出力されたy(1,1)は、Sel_2_2としても出力される。   In the second cycle, the input y (1,1), y (4,1), y (2,1), y (3,1) are the control signals C (0,01,1), respectively. And are output as Sel_1_1, Sel_1_2, Sel_1_3, and Sel_1_4. Also, y (4,0) integrated with C (0,01,0) is output as D_Sel_1_1, and this data is also output as Sel_2_1. On the other hand, y (1,1) output as Sel_1_1 is also output as Sel_2_2.

第3サイクル目では、入力されたy(1,2)、y(4,2)、y(2,2)、y(3,2)は、それぞれ、制御信号C(0,01,2)と統合され、Sel_1_1、Sel_1_2、Sel_1_3、Sel_1_4として出力される。また、D_Sel_1_1、D_Sel_1_2として、それぞれ、C(0,01,1)と統合されたy(4,1)、C(0,01,0)と統合されたy(2,0)が出力される。さらに、Sel_2_1、Sel_2_2、Sel_2_3として、それぞれ、C(0,01,0)と統合されたy(2,0)、C(0,01,1)と統合されたy(4,1)、C(0,01,2)と統合されたy(1,2)が出力される。   In the third cycle, the input y (1,2), y (4,2), y (2,2), y (3,2) are controlled by the control signal C (0,01,2), respectively. And are output as Sel_1_1, Sel_1_2, Sel_1_3, and Sel_1_4. Also, y (4,1) integrated with C (0,01,1) and y (2,0) integrated with C (0,01,0) are output as D_Sel_1_1 and D_Sel_1_2, respectively. . Furthermore, as Sel_2_1, Sel_2_2, and Sel_2_3, y (2,0) integrated with C (0,01,0), y (4,1), C combined with C (0,01,1), respectively Y (1,2) integrated with (0,01,2) is output.

第4サイクル目では、入力されたy(0,0)、y(0,1)、y(0,2)は、それぞれ、制御信号C(0,01,3)と統合され、Sel_1_5、Sel_1_6、Sel_1_7として出力され、その後、Sel_4_1、Sel_4_2、Sel_4_3として出力される。これらの信号では、制御信号とデータが分離され、データだけがoutとして出力される。すなわち、y(0,0)、y(0,1)、y(0,2)が、それぞれ、out1、out2、out3として出力される。一方、D_Sel_1_1、D_Sel_1_2、D_Sel_1_3としては、それぞれ、C(0,01,2)と統合されたy(4,2)、C(0,01,1)と統合されたy(2,1)、C(0,01,0)と統合されたy(3,0)が出力される。これらは、それぞれ、Sel_2_3、Sel_2_2、Sel_2_1として出力される。さらに、D_Sel_2_1、D_Sel_2_2、D_Sel_2_3として、C(0,01,0)と統合されたy(1,0)、C(0,01,1)と統合されたy(1,1)、C(0,01,2)と統合されたy(1,2)が出力され、これらはそれぞれSel_3_1、 Sel_3_2、Sel_3_3として出力される。   In the fourth cycle, the input y (0,0), y (0,1), y (0,2) are integrated with the control signal C (0,01,3), respectively, and Sel_1_5, Sel_1_6 , Sel_1_7, and then output as Sel_4_1, Sel_4_2, and Sel_4_3. In these signals, the control signal and data are separated and only the data is output as out. That is, y (0,0), y (0,1), and y (0,2) are output as out1, out2, and out3, respectively. On the other hand, as D_Sel_1_1, D_Sel_1_2, D_Sel_1_3, y (4,2) integrated with C (0,01,2), y (2,1) integrated with C (0,01,1), respectively Y (3,0) integrated with C (0,01,0) is output. These are output as Sel_2_3, Sel_2_2, and Sel_2_1, respectively. Furthermore, as D_Sel_2_1, D_Sel_2_2, D_Sel_2_3, y (1,0) integrated with C (0,01,0), y (1,1), C (0 integrated with C (0,01,1) , 01,2) and y (1,2) are output, which are output as Sel_3_1, Sel_3_2, and Sel_3_3, respectively.

第5サイクル目では、D_Sel_1_2、D_Sel_1_3として、それぞれ、C(0,01,2)と統合されたy(2,2)、C(0,01,1)と統合されたy(3,1)が出力され、これらはそれぞれ、Sel_2_3、 Sel_2_2として出力される。一方、D_Sel_2_1、D_Sel_2_2、D_Sel_2_3としては、C(0,01,0)と統合されたy(4,0)、C(0,01,1)と統合されたy(4,1)、C(0,01,2)と統合されたy(4,2)が出力され、これらはそれぞれ、Sel_3_1、Sel_3_2、Sel_3_3として出力される。さらに、Sel_4_1、Sel_4_2、Sel_4_3としては、それぞれ、C(0,01,0)と統合されたy(1,0)、C(0,01,1)と統合されたy(1,1)、C(0,01,2)と統合されたy(1,2)が出力される。これらの信号では制御信号とデータが分離され、データだけがoutとして出力される。すなわち、y(1,0)、y(1,1)、y(1,2)が、out1、out2、out3として出力される。   In the fifth cycle, as D_Sel_1_2 and D_Sel_1_3, y (2,2) integrated with C (0,01,2) and y (3,1) integrated with C (0,01,1), respectively Are output as Sel_2_3 and Sel_2_2, respectively. On the other hand, as D_Sel_2_1, D_Sel_2_2, and D_Sel_2_3, y (4,0) integrated with C (0,01,0), y (4,1), C ( 0 (01,2) and y (4,2) integrated are output, and these are output as Sel_3_1, Sel_3_2, and Sel_3_3, respectively. Furthermore, as Sel_4_1, Sel_4_2, and Sel_4_3, y (1,0) integrated with C (0,01,0), y (1,1) integrated with C (0,01,1), respectively. Y (1,2) integrated with C (0,01,2) is output. With these signals, the control signal and data are separated, and only the data is output as out. That is, y (1,0), y (1,1), and y (1,2) are output as out1, out2, and out3.

第6サイクル目では、D_Sel_1_3として、C(0,01,2)と統合されたy(3,2)が出力され、これはSel_2_3として出力される。また、D_Sel_2_1、D_Sel_2_2、D_Sel_2_3としては、C(0,01,0)と統合されたy(2,0)、C(0,01,1)と統合されたy(2,1)、C(0,01,2)と統合されたy(2,2)が出力され、これらはそれぞれ、Sel_3_1、Sel_3_2、Sel_3_3として出力される。さらに、Sel_4_1、Sel_4_2、Sel_4_3としては、それぞれ、C(0,01,0)と統合されたy(4,0)、C(0,01,1)と統合されたy(4,1)、C(0,01,2)と統合されたy(4,2)が出力される。これらの信号では、制御信号とデータが分離され、データだけがoutとして出力される。すなわち、y(4,0)、y(4,1)、y(4,2)が、out1、out2、out3として出力される。   In the sixth cycle, y (3,2) integrated with C (0,01,2) is output as D_Sel_1_3, which is output as Sel_2_3. D_Sel_2_1, D_Sel_2_2, and D_Sel_2_3 are y (2,0) integrated with C (0,01,0), y (2,1), C ( 0 (01,2) and y (2,2) integrated are output, and these are output as Sel_3_1, Sel_3_2, and Sel_3_3, respectively. Furthermore, as Sel_4_1, Sel_4_2, and Sel_4_3, y (4,0) integrated with C (0,01,0), y (4,1) integrated with C (0,01,1), respectively. Y (4,2) integrated with C (0,01,2) is output. In these signals, the control signal and data are separated and only the data is output as out. That is, y (4,0), y (4,1), and y (4,2) are output as out1, out2, and out3.

第7サイクル目では、D_Sel_2_1、D_Sel_2_2、D_Sel_2_3として、C(0,01,0)と統合されたy(3,0)、C(0,01,1)と統合されたy(3,1)、C(0,01,2)と統合されたy(3,2)が出力され、これらはそれぞれSel_3_1、Sel_3_2、Sel_3_3として出力される。さらに、Sel_4_1、Sel_4_2、Sel_4_3としては、それぞれ、C(0,01,0)と統合されたy(2,0)、C(0,01,1)と統合されたy(2,1)、C(0,01,2)と統合されたy(2,2)が出力される。これらの信号では、制御信号とデータが分離され、データだけがoutとして出力される。すなわち、y(2,0)、y(2,1)、y(2,2)が、out1、out2、out3に出力される。   In the 7th cycle, as D_Sel_2_1, D_Sel_2_2, D_Sel_2_3, y (3,0) integrated with C (0,01,0), y (3,1) integrated with C (0,01,1) , C (0,01,2) and y (3,2) are output, which are output as Sel_3_1, Sel_3_2, and Sel_3_3, respectively. Furthermore, as Sel_4_1, Sel_4_2, and Sel_4_3, y (2,0) integrated with C (0,01,0), y (2,1) integrated with C (0,01,1), respectively. Y (2,2) integrated with C (0,01,2) is output. In these signals, the control signal and data are separated and only the data is output as out. That is, y (2,0), y (2,1), and y (2,2) are output to out1, out2, and out3.

第8サイクル目では、Sel_4_1、Sel_4_2、Sel_4_3として、それぞれ、C(0,01,0)と統合されたy(3,0)、C(0,01,1)と統合されたy(3,1)、C(0,01,2)と統合されたy(3,2)が出力される。これらの信号では、制御信号とデータが分離され、データだけがoutとして出力される。すなわち、y(3,0)、y(3,1)、y(3,2)が、out1、out2、out3として出力される。   In the eighth cycle, as Sel_4_1, Sel_4_2, and Sel_4_3, y (3,0) combined with C (0,01,0) and y (3,0,1) combined with C (0,01,1), respectively. 1), y (3,2) integrated with C (0,01,2) is output. In these signals, the control signal and data are separated and only the data is output as out. That is, y (3,0), y (3,1), and y (3,2) are output as out1, out2, and out3.

また、制御信号は、4サイクル目より、1クロックごとに1つずつ出力される。   Also, one control signal is output for each clock from the fourth cycle.

図37を用いて、後段第三加算ユニット213の処理内容を説明する。   The processing content of the post-stage third addition unit 213 will be described with reference to FIG.

後段第三加算ユニット213では、入力されたデータを1クロックの遅延をつけて出力するだけで、特に加算処理を行わない。具体的には、遅延回路Dによって1クロック遅延されたin1、in2、in3のデータが、sel5、sel6、sel7として出力され、その後、out1、out2、out3として出力される。   The post-stage third addition unit 213 simply outputs the input data with a delay of one clock, and does not perform any addition processing. Specifically, in1, in2, and in3 data delayed by one clock by the delay circuit D are output as sel5, sel6, and sel7, and then output as out1, out2, and out3.

このように、演算装置200は、5点DFT/IDFTを指示する制御信号を受け付けると、5点DFT/IDFTを実行する。   As described above, when the arithmetic device 200 receives the control signal instructing the 5-point DFT / IDFT, the arithmetic device 200 executes the 5-point DFT / IDFT.

(9点DFT/IDFT)
次に、演算装置200による9点DFT/IDFTの処理を説明する。
(9 points DFT / IDFT)
Next, 9-point DFT / IDFT processing by the arithmetic device 200 will be described.

図38を用いて、前段第一加算ユニット204の処理内容を説明する。   The processing contents of the first-stage first addition unit 204 will be described with reference to FIG.

前段第一加算ユニット204は、図13に示したa1からa8の係数を算出する処理を行う。   The pre-stage first addition unit 204 performs processing for calculating coefficients a1 to a8 shown in FIG.

具体的には、第1サイクル目では、加算器35および加算器36が、それぞれ、X(1)+X(8)、X(1)-X(8)の処理を行うことにより、a1、a2を算出し、それらを、out1、out2として出力する。   Specifically, in the first cycle, the adder 35 and the adder 36 perform the processing of X (1) + X (8), X (1) −X (8), respectively, thereby a1, Calculate a2 and output them as out1 and out2.

次に、第2サイクル目では、加算器32、加算器33、加算器35、および、加算器36が、それぞれ、X(4)+X(5)、X(4)-X(5)、X(2)+X(7)、X(2)-X(7)を行うことにより、a3、a4、a5、a6をそれぞれ算出する。これらデータは、それぞれ、out1、out2、out3、out4として出力される。   Next, in the second cycle, the adder 32, the adder 33, the adder 35, and the adder 36 are respectively X (4) + X (5), X (4) -X (5), By performing X (2) + X (7) and X (2) -X (7), a3, a4, a5, and a6 are calculated, respectively. These data are output as out1, out2, out3, and out4, respectively.

次に第3サイクル目では、加算器35および加算器36が、それぞれ、X(3)+X(6)、X(3)-X(6)を計算し、a7、a8を得る。これらはout3、out4として出力される。さらに、X(0)がsel6として出力され、その後、out1として出力する。   Next, in the third cycle, the adder 35 and the adder 36 calculate X (3) + X (6) and X (3) −X (6), respectively, and obtain a7 and a8. These are output as out3 and out4. Further, X (0) is output as sel6 and then output as out1.

図39を用いて、前段転置ユニット205の処理内容を説明する。   The processing contents of the upstream transposition unit 205 will be described with reference to FIG.

前段転置ユニット205は、特にデータの並べ替え処理などは行わずに、入力されたデータを出力する。具体的には、 in1、in2、in3、in4として入力されたデータは、それぞれ、Sel_1_1、Sel_1_2、Sel_1_3、Sel_1_4として出力され、次に、Sel_2_1、Sel_2_2、Sel_2_3、Sel_2_4として出力され、さらに、D_dt_1、D_dt_2、D_dt3、D_dt_4として出力され、最後にout1、out2、out3、out4として出力される。   The upstream transposition unit 205 outputs the input data without particularly performing the data rearrangement process. Specifically, the data input as in1, in2, in3, in4 is output as Sel_1_1, Sel_1_2, Sel_1_3, Sel_1_4, respectively, and then output as Sel_2_1, Sel_2_2, Sel_2_3, Sel_2_4, and D_dt_1, Output as D_dt_2, D_dt3, D_dt_4, and finally output as out1, out2, out3, out4.

図40を用いて、前段第二加算ユニット206の処理内容を説明する。   With reference to FIG. 40, the processing contents of the second-stage second addition unit 206 will be described.

前段第二加算ユニット206は、図13に示したa7'、a8'、および、a9からa16を算出する処理を行う。   The pre-stage second addition unit 206 performs processing for calculating a7 ′, a8 ′, and a9 to a16 shown in FIG.

具体的には、第1サイクル目では、加算処理が行われず、第2サイクル目において、加算器52、加算器53、加算器54、加算器55が、それぞれ、a1+a3+a5、a5-a1、a1-a3、a5-a3を計算して、算出結果a15、a9、a10、a11を出力する。それらはout1、out2、out3、out4として出力される。   Specifically, the addition process is not performed in the first cycle, and in the second cycle, the adder 52, the adder 53, the adder 54, and the adder 55 are a1 + a3 + a5, a5- a1, a1-a3, a5-a3 are calculated, and calculation results a15, a9, a10, a11 are output. They are output as out1, out2, out3, out4.

次に、第3サイクル目において、加算器52、加算器53、加算器54、加算器55が、それぞれ、a6-a4+a2、-a6-a4、a2-a6、a2-a4を計算して、算出結果a16、a14、a12、a13を出力する。これらはout1、out2、out3、out4として出力される。   Next, in the third cycle, the adder 52, the adder 53, the adder 54, and the adder 55 calculate a6-a4 + a2, -a6-a4, a2-a6, a2-a4, respectively. The calculation results a16, a14, a12, and a13 are output. These are output as out1, out2, out3, and out4.

最後に、第4サイクル目においては、X0'、a7、a8は、それぞれ、sel1、sel4、sel6として出力され、その後、加算器52、加算器53、加算器54において0が加算され、その後、それぞれ、out1、out2、out3として出力される。   Finally, in the fourth cycle, X0 ′, a7, and a8 are output as sel1, sel4, and sel6, respectively, and then 0 is added in the adder 52, adder 53, and adder 54, and then Output as out1, out2, and out3, respectively.

図41を用いて、前段第三加算ユニット207の処理内容を説明する。本処理では、図 13に示したa17が算出される。   The processing contents of the pre-stage third addition unit 207 will be described with reference to FIG. In this process, a17 shown in FIG. 13 is calculated.

具体的には、第1サイクル目においては、入力されたデータin1、in2、in3、in4が、それぞれ、sel1、sel4、sel6、sel9として出力され、その後、加算器62、加算器63、加算器64、加算器65にて0と加算され、その後、それぞれ、out1、out2、out3、out4として出力される。   Specifically, in the first cycle, input data in1, in2, in3, and in4 are output as sel1, sel4, sel6, and sel9, respectively, and then adder 62, adder 63, and adder 64, 0 is added by the adder 65, and then output as out1, out2, out3, and out4, respectively.

第2サイクル目においては、第1サイクル目と同様の処理が行われる。   In the second cycle, the same processing as in the first cycle is performed.

第3サイクル目においては、加算器62が、a15+x0''+a7'を行い、加算結果a17をout1として出力する。さらに、x0''、a7'、a8が、第1、第2サイクル目と同様の方法で、それぞれ、out2、out3、out4として出力される。   In the third cycle, the adder 62 performs a15 + x0 ″ + a7 ′ and outputs the addition result a17 as out1. Further, x0 ″, a7 ′, and a8 are output as out2, out3, and out4, respectively, in the same manner as in the first and second cycles.

図42を用いて、制御ユニット209、乗算器208の処理内容を説明する。   The processing contents of the control unit 209 and the multiplier 208 will be described with reference to FIG.

制御ユニット209と乗算器208は、図13においてmで示された係数を算出する処理を行う。   The control unit 209 and the multiplier 208 perform processing for calculating a coefficient indicated by m in FIG.

具体的には、第1サイクル目において、乗算器208は、a15'、a9'、a10'、a11'と乗算係数T9_9、T9_1、T9_2、T9_3の乗算処理を行い、それぞれ、算出結果m9、m1、m2、m3を出力する。これらはそれぞれout2、out3、out4、out5として出力される。   Specifically, in the first cycle, the multiplier 208 performs multiplication processing of a15 ′, a9 ′, a10 ′, a11 ′ and the multiplication coefficients T9_9, T9_1, T9_2, T9_3, and the calculation results m9, m1 respectively. , M2, and m3 are output. These are output as out2, out3, out4, and out5, respectively.

第2サイクル目においては、第1サイクル目と同様の処理が行われ、m10、m6、m4、m5という係数が得られる。   In the second cycle, processing similar to that in the first cycle is performed, and coefficients m10, m6, m4, and m5 are obtained.

第3サイクル目においては、第1、2サイクル目と同様の処理が行われ、a7'''、m7、m8、a17'という係数が得られる。さらに、X0'''係数が、sel1として出力され、その後、out1として出力される。   In the third cycle, the same processing as in the first and second cycles is performed, and coefficients a7 ′ ″, m7, m8, and a17 ′ are obtained. Further, the X0 ′ ″ coefficient is output as sel1, and then output as out1.

図43を用いて、後段第一加算ユニット210の処理内容を説明する。   The processing contents of the post-stage first addition unit 210 will be described with reference to FIG.

後段第一加算ユニット210は、図13におけるc、および、xa0で示される係数を求める処理を行う。   The post-stage first addition unit 210 performs processing for obtaining coefficients indicated by c and xa0 in FIG.

具体的には、第1サイクル目において、m9が、sel1として出力され、その後out1として出力される。さらに、加算器82、加算器83、加算器84が、それぞれ、m1+m2、m2-m3、m1+m3を計算し、それぞれ、計算結果c4、c2、c3を得る。これらは、それぞれ、out2、out3、out4として出力される。   Specifically, in the first cycle, m9 is output as sel1 and then output as out1. Further, the adder 82, the adder 83, and the adder 84 calculate m1 + m2, m2-m3, and m1 + m3, respectively, and obtain calculation results c4, c2, and c3, respectively. These are output as out2, out3, and out4, respectively.

第2サイクル目においては、m10が、sel1として出力され、その後out1として出力される。さらに、加算器82、加算器83、加算器84が、それぞれ、m4-m6、m5-m6、m4-m5を計算し、それぞれ、計算結果c8、c9、c10を得る。これらは、それぞれ、out2、out3、out4として出力される。   In the second cycle, m10 is output as sel1 and then output as out1. Further, the adder 82, the adder 83, and the adder 84 calculate m4-m6, m5-m6, and m4-m5, respectively, and obtain calculation results c8, c9, and c10, respectively. These are output as out2, out3, and out4, respectively.

第3サイクル目においては、m8、a17'が、それぞれ、sel1、sel2として出力され、その後out1、out2として出力される。さらに、加算器82、加算器83が、それぞれ、x0''''-m7、x0''''+a7'''を計算し、それぞれ、計算結果c1、xa0を得る。これらは、それぞれ、out3、out4として出力される。   In the third cycle, m8 and a17 ′ are output as sel1 and sel2, respectively, and then output as out1 and out2. Further, the adder 82 and the adder 83 calculate x0 ″ ″ − m7 and x0 ″ ″ + a7 ′ ″, respectively, and obtain calculation results c1 and xa0, respectively. These are output as out3 and out4, respectively.

図44を用いて、後段第二加算ユニット211の処理内容を説明する。   The processing contents of the second-stage second addition unit 211 will be described with reference to FIG.

後段第二加算ユニット211は、図13に示した、c7、c6、c5、c14、c11*i、c12*i、c13*i、および、m10''*iを算出する処理を行う。   The post-stage second addition unit 211 performs processing for calculating c7, c6, c5, c14, c11 * i, c12 * i, c13 * i, and m10 ″ * i shown in FIG.

具体的には、第1サイクル、第2サイクル目では、特に加算処理は行われず、第3サイクル目において、加算器902がc1-c4-c2を行い、加算器903がc1+4+c3を行い、加算器904がc1+c2-c3を行い、加算器905がxa0-m9'を行い、それぞれ、c7、c6、c5、c14を得る。これらは、out1、out2、out3、out4にそれぞれ出力される。   Specifically, no addition processing is particularly performed in the first cycle and the second cycle. In the third cycle, the adder 902 performs c1-c4-c2, and the adder 903 performs c1 + 4 + c3. The adder 904 performs c1 + c2-c3, and the adder 905 performs xa0-m9 ′ to obtain c7, c6, c5, and c14, respectively. These are output to out1, out2, out3, and out4, respectively.

第4サイクル目においては、加算器902がc8+c9+m8'を計算し、加算器903がc8+c10-m8'を計算し、加算器904が-c9+c10+m8'を計算する。さらに、これらに対して、純虚数乗算器906、907、908が、それぞれ、純虚数を乗算し、その乗算結果を、それぞれ、out1、out2、ou3として出力する。   In the fourth cycle, the adder 902 calculates c8 + c9 + m8 ′, the adder 903 calculates c8 + c10−m8 ′, and the adder 904 calculates −c9 + c10 + m8 ′. Further, pure imaginary multipliers 906, 907, and 908 are multiplied by pure imaginary numbers, respectively, and the multiplication results are output as out1, out2, and ou3, respectively.

第5サイクル目においては、a17''、m10'が、それぞれ、sel1、sel4として出力され、その後、加算器902、903にて0が加算されて出力される。さらに、これらに対して、純虚数乗算器906、907が、それぞれ、純虚数を乗算し、その乗算結果を、それぞれout1、out2として出力する。   In the fifth cycle, a17 ″ and m10 ′ are output as sel1 and sel4, respectively, and then 0 is added by the adders 902 and 903 and output. Further, pure imaginary multipliers 906 and 907 are multiplied by pure imaginary numbers, respectively, and the multiplication results are output as out1 and out2, respectively.

図45を用いて、後段転置ユニット212の処理内容について説明する。   The processing contents of the rear stage transposition unit 212 will be described with reference to FIG.

後段転置ユニット212は、特に、入力されたデータの並べ替え処理などを行わない。   The post-transposition unit 212 does not particularly perform input data rearrangement processing.

具体的には、in1、in2、in3、in4として入力されたデータは、それぞれ、Sel_1_1、Sel_1_2、Sel_1_3、Sel_1_4として出力され、次に、Sel_2_1、Sel_2_2、Sel_2_3、Sel_2_4として出力され、さらに、Sel_1_1、Sel_4_2、Sel_4_3、Sel_4_4として出力され、最後にout1、out2、out3、out4として出力される。   Specifically, the data input as in1, in2, in3, in4 is output as Sel_1_1, Sel_1_2, Sel_1_3, Sel_1_4, respectively, and then output as Sel_2_1, Sel_2_2, Sel_2_3, Sel_2_4, and Sel_1_1, It is output as Sel_4_2, Sel_4_3, Sel_4_4, and finally output as out1, out2, out3, out4.

図46を用いて、後段第三加算ユニット213の処理内容を説明する。   The processing contents of the post-stage third addition unit 213 will be described with reference to FIG.

後段第三加算ユニット213は、図13においてyで示される出力を算出する。   The post-stage third addition unit 213 calculates an output indicated by y in FIG.

具体的には、第1サイクル目では特に加算処理は行われず、第2サイクル目において、加算器1102、加算器1103、加算器1106、加算器1107が、それぞれ、c5+c11*i、c5-c11*i、c6+c12*i、c6-c12*iを計算し、計算結果y8、y1、y7、y2を得る。これらは、それぞれ、out1、out2、out3、out4として出力される。   Specifically, no particular addition processing is performed in the first cycle, and in the second cycle, the adder 1102, the adder 1103, the adder 1106, and the adder 1107 are respectively c5 + c11 * i, c5- c11 * i, c6 + c12 * i, and c6-c12 * i are calculated to obtain calculation results y8, y1, y7, and y2. These are output as out1, out2, out3, and out4, respectively.

第3サイクル目では、第2サイクル目と同様の処理が行われ、y5、y4、y6、y3が計算され、それぞれ、out1、out2、out3、out4として出力される。   In the third cycle, processing similar to that in the second cycle is performed, and y5, y4, y6, and y3 are calculated and output as out1, out2, out3, and out4, respectively.

第4サイクル目では、a17'''が、sel5として出力され、その後、out1として出力される。   In the fourth cycle, a17 ′ ″ is output as sel5 and then output as out1.

このように、演算装置200は、9点DFT/IDFTを指示する制御信号を受け付けると、9点DFT/IDFTを実行する。   As described above, when the arithmetic device 200 receives the control signal instructing the 9-point DFT / IDFT, it executes the 9-point DFT / IDFT.

(15点DFT/IDFT)
次に、演算装置200による15点DFT/IDFT処理内容を説明する。ここで、15点DFT/IDFTは、乗算ユニットを除いては、3点DFT/IDFT処理及び5点DFT/IDFT処理の組み合わせで行うことができる。よって以降では、乗算ユニット以外のユニットでは3点DFT/IDFT、5点DFT/IDFTのどちらの処理を行うかについて示し、詳細な説明は省略する。
(15 points DFT / IDFT)
Next, the 15-point DFT / IDFT processing content by the arithmetic device 200 will be described. Here, 15-point DFT / IDFT can be performed by a combination of 3-point DFT / IDFT processing and 5-point DFT / IDFT processing, except for the multiplication unit. Therefore, in the following, units other than the multiplication unit will be described as to which of 3 point DFT / IDFT and 5 point DFT / IDFT processing is performed, and detailed description thereof will be omitted.

まず、前段第一加算ユニット204は、3点DFT/IDFTの処理を行う。ここで、3点DFT/IDFTでは、1サイクルで入出力が完了するのに対し、15点DFT/IDFTでは、3点DFT/IDFTの処理を5サイクル分繰り返して計算及び出力が行われる。   First, the first-stage first addition unit 204 performs a three-point DFT / IDFT process. Here, in the 3-point DFT / IDFT, input / output is completed in one cycle, whereas in the 15-point DFT / IDFT, calculation and output are performed by repeating the 3-point DFT / IDFT processing for 5 cycles.

前段転置ユニット205は、5点DFT/IDFTの処理を行う。   The upstream transposition unit 205 performs a 5-point DFT / IDFT process.

前段第二加算ユニット206は、5点DFT/IDFTの処理を行う。   The pre-stage second addition unit 206 performs 5-point DFT / IDFT processing.

前段第三加算ユニット207は、5点DFT/IDFTの処理を行う。   The pre-stage third addition unit 207 performs 5-point DFT / IDFT processing.

図47を用いて、制御ユニット209、乗算器208の処理内容の説明を行う。   The processing contents of the control unit 209 and the multiplier 208 will be described with reference to FIG.

制御ユニット209と乗算器208は、図14においてeで示される係数に乗算係数をかけ、mで示される係数を算出する処理を行う。   The control unit 209 and the multiplier 208 perform a process of multiplying the coefficient indicated by e in FIG. 14 by the multiplication coefficient and calculating the coefficient indicated by m.

具体的には、第1サイクル目では、乗算器208は、e2に対してT15_2を乗算し、m2係数を得る。これはout1として出力される。同時に、e3、e4、e5係数が入力され、乗算器208は、これらにT15_3、T15_4、T15_5を乗算する。さらに、これら係数に関しては、純虚数を乗算する処理を純虚数乗算器907、908、909が行いm3、m4、m5を得る。これらは、out2、out3、out4として出力される。   Specifically, in the first cycle, the multiplier 208 multiplies e2 by T15_2 to obtain an m2 coefficient. This is output as out1. At the same time, e3, e4, and e5 coefficients are input, and the multiplier 208 multiplies them by T15_3, T15_4, and T15_5. Further, regarding these coefficients, pure imaginary number multipliers 907, 908, and 909 perform processing for multiplying pure imaginary numbers to obtain m3, m4, and m5. These are output as out2, out3, and out4.

第2サイクル目では、第1サイクル目と同様の処理が行われ、m8、m9、m10、m11係数が得られる。これらは、それぞれ、out1、out2、out3、out4として出力される。   In the second cycle, processing similar to that in the first cycle is performed, and m8, m9, m10, and m11 coefficients are obtained. These are output as out1, out2, out3, and out4, respectively.

第3サイクル目では、e0、e1、e6、e7係数が入力され、それぞれにT15_0、T15_1、T15_6、T15_7が乗算され、m0、m1、m6、m7が算出される。これらはそれぞれ、out1、out2、out3、out4として出力される。   In the third cycle, e0, e1, e6, and e7 coefficients are input and multiplied by T15_0, T15_1, T15_6, and T15_7, respectively, and m0, m1, m6, and m7 are calculated. These are output as out1, out2, out3, and out4, respectively.

第4サイクル目では、e15、e16、e17係数が入力され、これらにT15_15、T15_16、T15_17が乗算され、m15、m16、m17が算出される。これらはout2、out3、out4として出力される。同時にe14が入力され、これにT15_14係数が乗算される。さらに、純虚数乗算器906が、その乗算結果に純虚数を乗算し、その乗算結果をout1として出力する。   In the fourth cycle, e15, e16, and e17 coefficients are input, and these are multiplied by T15_15, T15_16, and T15_17 to calculate m15, m16, and m17. These are output as out2, out3, and out4. At the same time, e14 is input, and this is multiplied by the T15_14 coefficient. Further, the pure imaginary multiplier 906 multiplies the multiplication result by a pure imaginary number and outputs the multiplication result as out1.

第5サイクル目には、e12、e13係数が入力され、これにT15_12、T15_13係数が乗算される。さらに、純虚数乗算器906、907が、それぞれ、その乗算結果に純虚数を乗算し、その乗算結果を、out1、out2として出力する。   In the fifth cycle, the e12 and e13 coefficients are input, and this is multiplied by the T15_12 and T15_13 coefficients. Further, pure imaginary multipliers 906 and 907 respectively multiply the multiplication results by pure imaginary numbers and output the multiplication results as out1 and out2.

後段第一加算ユニット210は、5点DFT/IDFTの処理を行う。   The latter first addition unit 210 performs a 5-point DFT / IDFT process.

後段第二加算ユニット211は、5点DFT/IDFTの処理を行う。   The rear stage second addition unit 211 performs a 5-point DFT / IDFT process.

後段転置ユニット212は、5点DFT/IDFTの処理を行う。   The rear transposition unit 212 performs a 5-point DFT / IDFT process.

後段第三加算ユニット213は、3点DFT/IDFTの処理を行う。   The post-stage third addition unit 213 performs 3-point DFT / IDFT processing.

このように、演算装置200は、15点DFT/IDFTを指示する制御信号を受け付けると、15点DFT/IDFTを実行する。   As described above, when the arithmetic device 200 receives the control signal instructing the 15-point DFT / IDFT, it executes the 15-point DFT / IDFT.

(その他の実施形態)
図28に本発明の第2実施形態を示す。本実施形態は、離散フーリエ変換装置(演算装置)200と、離散フーリエ変換装置200を制御するCPU1と、データを格納するメモリユニット2と、を含む。
(Other embodiments)
FIG. 28 shows a second embodiment of the present invention. The present embodiment includes a discrete Fourier transform device (arithmetic device) 200, a CPU 1 that controls the discrete Fourier transform device 200, and a memory unit 2 that stores data.

本実施形態においては、CPU1が、CPU-メモリユニットアドレス信号にて、メモリユニット2にアクセスするアドレスを発行すると、メモリユニット2は、CPU-メモリユニットデータ信号にて、発行されたアドレスに対応したデータをCPU1に出力する。   In this embodiment, when the CPU 1 issues an address for accessing the memory unit 2 by the CPU-memory unit address signal, the memory unit 2 corresponds to the issued address by the CPU-memory unit data signal. Data is output to CPU1.

次に、CPU1は、上記の3、5、9、15点DFT/IDFTの制御信号とともにデータを離散フーリエ変換装置200に出力する。   Next, the CPU 1 outputs data to the discrete Fourier transform device 200 together with the control signals of the above-mentioned 3, 5, 9, 15-point DFT / IDFT.

離散フーリエ変換装置200は、CPU1から制御信号とデータを受け取ると、制御信号に従ってDFT/IDFTを実行し、その結果をCPU1に返す。   When receiving a control signal and data from the CPU 1, the discrete Fourier transform apparatus 200 executes DFT / IDFT according to the control signal and returns the result to the CPU 1.

このような実施形態においては、離散フーリエ変換装置200がサポートする3、5、9、15点DFT/IDFT以外の点数のDFT/IDFTをCPU1が行うことにより、さらにDFT点数の種類を増やすことができる。   In such an embodiment, the number of DFT points can be further increased by the CPU 1 performing DFT / IDFT of points other than 3, 5, 9, 15 points DFT / IDFT supported by the discrete Fourier transform apparatus 200. it can.

上記各実施形態によれば、3、5、9、15点のDFT/IDFTを共通の回路で処理できる。このため、3、5、9、15点のDFT/IDFTの回路を、それぞれ、個別の回路で構成した場合と比較して、乗算器と加算器の数を削減することができる点である。   According to each of the embodiments described above, 3, 5, 9, and 15 points of DFT / IDFT can be processed by a common circuit. For this reason, the number of multipliers and adders can be reduced as compared with the case where the DFT / IDFT circuits of 3, 5, 9, and 15 points are respectively configured by individual circuits.

また、3、5、9、15点のDFT/IDFTに対し、設計する回路は1つの回路で済む。このため、3、5、9、15点のDFT/IDFTの回路を、それぞれ、個別の回路で構成した場合と比較して、設計及び実装に要する時間が短縮できる。   In addition, for a DFT / IDFT of 3, 5, 9, 15 points, only one circuit is required to design. For this reason, the time required for design and mounting can be shortened as compared with the case where the DFT / IDFT circuits of 3, 5, 9, and 15 points are each constituted by individual circuits.

また、3、5、9、15点という異なる点数のDFT/IDFTが行われても、データが各ユニットに出力されるタイミングを合わせているので、各ユニットは、DFT/IDFTのポイント数に関わらず、予め定められたタイミングで動作することができる。このため、各ユニットの動作開始タイミングを、DFT/IDFTのポイント数に応じて変更するような制御を行うことなく、異なる点数のDFT/IDFTを共通の回路を用いて行うことが可能になる。
[産業上の利用可能性]
本実施形態の活用例として、LTEで必要となる無線信号処理を実行する基地局装置が挙げられる。
Also, even if DFT / IDFT with different points such as 3, 5, 9, 15 is performed, the timing at which data is output to each unit is matched, so each unit is related to the number of points of DFT / IDFT. Instead, it can operate at a predetermined timing. For this reason, it is possible to perform DFT / IDFT with different points using a common circuit without performing control to change the operation start timing of each unit according to the number of points of DFT / IDFT.
[Industrial applicability]
As an application example of the present embodiment, a base station apparatus that executes radio signal processing required in LTE can be cited.

1 CPU
2 メモリユニット
200 離散フーリエ変換装置(演算装置)
201 前加算ユニット
202 乗算ユニット
203 後加算ユニット
204 前段第一加算ユニット
205 前段転置ユニット
206 前段第二加算ユニット
207 前段第三加算ユニット
208 乗算器
209 制御ユニット
210 後段第一加算ユニット
211 後段第二加算ユニット
212 後段転置ユニット
213 後段第三加算ユニット
1 CPU
2 Memory unit 200 Discrete Fourier transform device (arithmetic unit)
201 Pre-adder unit 202 Multiply unit 203 Post-adder unit 204 Pre-stage first adder unit 205 Pre-stage transpose unit 206 Pre-stage second adder unit 207 Pre-stage third adder unit 208 Multiplier 209 Control unit 210 Post-stage first adder unit 211 Post-stage second adder Unit 212 Rear transposition unit 213 Rear third addition unit

Claims (10)

複数種類のポイント数のうちの一つと、処理が離散フーリエ変換であるのか離散逆フーリエ変換であるのかと、を示した制御信号と、複数のデータと、を受け付け、前記複数のデータに対して、前記制御信号にて示されたポイント数の離散フーリエ変換または離散逆フーリエ変換を実行する離散フーリエ変換装置であって、
前記複数のデータが、クロックにて規定される第一タイミングで入力されると、前記複数のデータに対して、前記離散フーリエ変換および前記離散逆フーリエ変換に応じた前段加算処理を実行する第一加算手段と、
前記第一タイミングよりも遅い第二タイミングで入力されたデータに対して、前記制御信号が示した処理に応じた乗算処理を実行する乗算手段と、
前記第二タイミングよりも遅い第三タイミングで入力されたデータに対して、前記離散フーリエ変換および前記離散逆フーリエ変換に応じた後段加算処理を実行する第二加算手段と、を含み、
前記第一加算手段は、前記前段加算処理の結果を、前記制御信号にて示されたポイント数に関わらず、前記第二タイミングで前記乗算手段に出力し、
前記乗算手段は、前記前段加算処理の結果に対して前記乗算処理を実行し、当該乗算処理の結果を、前記制御信号にて示されたポイント数に関わらず、前記第三タイミングで前記第二加算手段に出力し、
前記第二加算手段は、前記乗算処理の結果に対して前記後段加算処理を行い、当該後段加算処理の結果を、前記複数のデータに対して前記処理を実行した結果として出力し、
前記第一加算手段は、
前記第一タイミングで前記複数のデータを受け付けると、前記制御信号に従って、前記複数のデータ同士を選択的に加算する、もしくは、前記複数のデータをそのまま出力する第一演算手段と、
前記第一タイミングよりも遅く前記第二タイミングよりも早い第四タイミングで入力されたデータを、前記制御信号に従って、選択的に並べ替える、もしくは、そのまま出力する並び替え手段と、
前記第四タイミングよりも遅く前記第二タイミングよりも早い第五タイミングで入力されたデータを、前記制御信号に従って、選択的に加算する、もしくは、そのまま出力する第二演算手段と、
前記第五タイミングよりも遅く前記第二タイミングよりも早い第六タイミングで入力されたデータを、前記制御信号に従って、選択的に加算する、もしくは、そのまま出力する第三演算手段と、を有し、
前記第一演算手段は、前記制御信号にて示されたポイント数に関わらず、自己の出力を、前記第四タイミングで前記並び替え手段に出力し、
前記並び替え手段は、前記制御信号にて示されたポイント数に関わらず、自己の出力を、前記第五タイミングで前記第二演算手段に出力し、
前記第二演算手段は、前記制御信号にて示されたポイント数に関わらず、自己の出力を、前記第六タイミングで前記第三演算手段に出力し、
前記第三演算手段は、前記制御信号にて示されたポイント数に関わらず、自己の出力を、前記第二タイミングで前記乗算手段に出力する、離散フーリエ変換装置。
One of a plurality of types of points , and a control signal indicating whether the process is a discrete Fourier transform or a discrete inverse Fourier transform, and a plurality of data are received, and the plurality of data are received. A discrete Fourier transform device for performing discrete Fourier transform or discrete inverse Fourier transform of the number of points indicated by the control signal,
When the plurality of data are input at a first timing defined by a clock, a first addition process is performed on the plurality of data according to the discrete Fourier transform and the discrete inverse Fourier transform . Adding means;
Multiplication means for executing multiplication processing according to the processing indicated by the control signal for data input at a second timing later than the first timing;
Second addition means for performing post-stage addition processing according to the discrete Fourier transform and the discrete inverse Fourier transform on data input at a third timing later than the second timing,
The first addition means outputs the result of the previous addition process to the multiplication means at the second timing regardless of the number of points indicated by the control signal,
The multiplication means performs the multiplication process on the result of the previous stage addition process, and the result of the multiplication process is determined at the third timing regardless of the number of points indicated by the control signal. Output to the adding means,
The second addition means performs the post-stage addition process on the result of the multiplication process, and outputs the result of the post-stage addition process as a result of executing the process on the plurality of data ,
The first adding means includes
When the plurality of data is received at the first timing, according to the control signal, the plurality of data is selectively added to each other, or first calculation means for outputting the plurality of data as they are;
Rearrangement means for selectively rearranging data input at a fourth timing later than the first timing and earlier than the second timing according to the control signal, or outputting the data as it is;
Data input at a fifth timing that is later than the fourth timing and earlier than the second timing, in accordance with the control signal, or a second calculation means that outputs the data as it is,
And third arithmetic means for selectively adding data input at a sixth timing later than the fifth timing and earlier than the second timing according to the control signal, or outputting the data as it is,
The first calculation means outputs its own output to the sorting means at the fourth timing regardless of the number of points indicated by the control signal,
The rearranging means outputs its own output to the second arithmetic means at the fifth timing regardless of the number of points indicated by the control signal,
The second calculation means outputs its own output to the third calculation means at the sixth timing regardless of the number of points indicated by the control signal,
The discrete Fourier transform device , wherein the third calculation means outputs its own output to the multiplication means at the second timing regardless of the number of points indicated by the control signal .
前記乗算手段は、
前記ポイント数ごとに、当該ポイント数に対応する前記離散フーリエ変換用の乗算係数および当該ポイント数に対応する前記離散逆フーリエ変換用の乗算係数を格納する記憶手段と、
前記制御信号が示すポイント数および処理に対応する乗算係数を、前記記憶手段から読み出す読出し手段と、
前記第一加算手段の出力に、前記読出し手段が読み出した乗算係数を乗算する第一乗算手段と、
前記第一乗算手段の乗算結果に対し、前記制御信号に従って、選択的に純虚数を乗算する第二乗算手段と、を有する、請求項に記載の離散フーリエ変換装置。
The multiplication means is
Storage means for storing the multiplication coefficient for discrete Fourier transform corresponding to the number of points and the multiplication coefficient for discrete inverse Fourier transform corresponding to the number of points for each number of points ;
Reading means for reading out the multiplication coefficient corresponding to the number of points and processing indicated by the control signal from the storage means;
First multiplication means for multiplying the output of the first addition means by the multiplication coefficient read by the reading means;
The result of the multiplication to the first multiplication means, in accordance with said control signal comprises a second multiplying means for multiplying the selectively pure imaginary, the discrete Fourier transform device of claim 1.
複数種類のポイント数のうちの一つと、処理が離散フーリエ変換であるのか離散逆フーリエ変換であるのかと、を示した制御信号と、複数のデータと、を受け付け、前記複数のデータに対して、前記制御信号にて示されたポイント数の離散フーリエ変換または離散逆フーリエ変換を実行する離散フーリエ変換装置であって、
前記複数のデータが、クロックにて規定される第一タイミングで入力されると、前記複数のデータに対して、前記離散フーリエ変換および前記離散逆フーリエ変換に応じた前段加算処理を実行する第一加算手段と、
前記第一タイミングよりも遅い第二タイミングで入力されたデータに対して、前記制御信号が示した処理に応じた乗算処理を実行する乗算手段と、
前記第二タイミングよりも遅い第三タイミングで入力されたデータに対して、前記離散フーリエ変換および前記離散逆フーリエ変換に応じた後段加算処理を実行する第二加算手段と、を含み、
前記第一加算手段は、前記前段加算処理の結果を、前記制御信号にて示されたポイント数に関わらず、前記第二タイミングで前記乗算手段に出力し、
前記乗算手段は、前記前段加算処理の結果に対して前記乗算処理を実行し、当該乗算処理の結果を、前記制御信号にて示されたポイント数に関わらず、前記第三タイミングで前記第二加算手段に出力し、
前記第二加算手段は、前記乗算処理の結果に対して前記後段加算処理を行い、当該後段加算処理の結果を、前記複数のデータに対して前記処理を実行した結果として出力し、
前記乗算手段は、
前記ポイント数ごとに、当該ポイント数に対応する前記離散フーリエ変換用の乗算係数および当該ポイント数に対応する前記離散逆フーリエ変換用の乗算係数を格納する記憶手段と、
前記制御信号が示すポイント数および処理に対応する乗算係数を、前記記憶手段から読み出す読出し手段と、
前記第一加算手段の出力に、前記読出し手段が読み出した乗算係数を乗算する第一乗算手段と、
前記第一乗算手段の乗算結果に対し、前記制御信号に従って、選択的に純虚数を乗算する第二乗算手段と、を有する離散フーリエ変換装置。
One of a plurality of types of points , and a control signal indicating whether the process is a discrete Fourier transform or a discrete inverse Fourier transform, and a plurality of data are received, and the plurality of data are received. A discrete Fourier transform device for performing discrete Fourier transform or discrete inverse Fourier transform of the number of points indicated by the control signal,
When the plurality of data are input at a first timing defined by a clock, a first addition process is performed on the plurality of data according to the discrete Fourier transform and the discrete inverse Fourier transform . Adding means;
Multiplication means for executing multiplication processing according to the processing indicated by the control signal for data input at a second timing later than the first timing;
Second addition means for performing post-stage addition processing according to the discrete Fourier transform and the discrete inverse Fourier transform on data input at a third timing later than the second timing,
The first addition means outputs the result of the previous addition process to the multiplication means at the second timing regardless of the number of points indicated by the control signal,
The multiplication means performs the multiplication process on the result of the previous stage addition process, and the result of the multiplication process is determined at the third timing regardless of the number of points indicated by the control signal. Output to the adding means,
The second addition means performs the post-stage addition process on the result of the multiplication process, and outputs the result of the post-stage addition process as a result of executing the process on the plurality of data ,
The multiplication means is
Storage means for storing the multiplication coefficient for discrete Fourier transform corresponding to the number of points and the multiplication coefficient for discrete inverse Fourier transform corresponding to the number of points for each number of points;
Reading means for reading out the multiplication coefficient corresponding to the number of points and processing indicated by the control signal from the storage means;
First multiplication means for multiplying the output of the first addition means by the multiplication coefficient read by the reading means;
And a second multiplying unit that selectively multiplies the multiplication result of the first multiplying unit by a pure imaginary number in accordance with the control signal .
前記第二加算手段は、
前記第三タイミングで前記乗算手段の出力を受け付けると、前記制御信号に従って、前記乗算手段の出力同士を選択的に加算する、もしくは、前記乗算手段の出力をそのまま出力する第四演算手段と、
前記第三タイミングよりも遅い第七タイミングで入力されたデータを、前記制御信号に従って、選択的に加算する、そのまま出力する、もしくは、選択的に加算した加算結果に選択的に純虚数を乗算する第五演算手段と、
前記第七タイミングよりも遅い第八タイミングで入力されたデータを、前記制御信号に従って、選択的に並べ替える、もしくは、そのまま出力するデータ並び替え手段と、
前記第八タイミングよりも遅い第九タイミングで入力されたデータを、前記制御信号に従って、選択的に加算する、もしくは、そのまま出力する第六演算手段と、を有し、
前記第四演算手段は、前記制御信号にて示されたポイント数に関わらず、自己の出力を、前記第七タイミングで前記第五演算手段に出力し、
前記第五演算手段は、前記制御信号にて示されたポイント数に関わらず、自己の出力を、前記第八タイミングで前記データ並び替え手段に出力し、
前記データ並び替え手段は、前記制御信号にて示されたポイント数に関わらず、自己の出力を、前記第九タイミングで前記第六演算手段に出力し、
前記第六演算手段は、自己の出力を、前記複数のデータに対して前記制御信号にて示されたポイント数の前記処理を実行した結果として出力する、請求項1から3のいずれか1項に記載の離散フーリエ変換装置。
The second adding means includes
When receiving the output of the multiplication means at the third timing, according to the control signal, selectively add the outputs of the multiplication means, or a fourth calculation means for outputting the output of the multiplication means as it is,
The data input at the seventh timing later than the third timing is selectively added according to the control signal, output as it is, or the addition result selectively added is selectively multiplied by a pure imaginary number. A fifth computing means;
Data rearranging means for selectively rearranging data inputted at an eighth timing later than the seventh timing according to the control signal, or outputting the data as it is,
Sixth arithmetic means for selectively adding the data input at the ninth timing later than the eighth timing according to the control signal, or outputting the data as it is,
The fourth calculation means outputs its own output to the fifth calculation means at the seventh timing regardless of the number of points indicated by the control signal,
The fifth computing means outputs its own output to the data rearranging means at the eighth timing regardless of the number of points indicated by the control signal,
The data rearranging means outputs its own output to the sixth arithmetic means at the ninth timing regardless of the number of points indicated by the control signal,
The said 6th calculating means outputs an output of self as a result of having performed the said process of the number of points shown by the said control signal with respect to these data. Discrete Fourier transform device described in 1.
複数種類のポイント数のうちの一つと、処理が離散フーリエ変換であるのか離散逆フーリエ変換であるのかと、を示した制御信号と、複数のデータと、を受け付け、前記複数のデータに対して、前記制御信号にて示されたポイント数の離散フーリエ変換または離散逆フーリエ変換を実行する離散フーリエ変換装置であって、
前記複数のデータが、クロックにて規定される第一タイミングで入力されると、前記複数のデータに対して、前記離散フーリエ変換および前記離散逆フーリエ変換に応じた前段加算処理を実行する第一加算手段と、
前記第一タイミングよりも遅い第二タイミングで入力されたデータに対して、前記制御信号が示した処理に応じた乗算処理を実行する乗算手段と、
前記第二タイミングよりも遅い第三タイミングで入力されたデータに対して、前記離散フーリエ変換および前記離散逆フーリエ変換に応じた後段加算処理を実行する第二加算手段と、を含み、
前記第一加算手段は、前記前段加算処理の結果を、前記制御信号にて示されたポイント数に関わらず、前記第二タイミングで前記乗算手段に出力し、
前記乗算手段は、前記前段加算処理の結果に対して前記乗算処理を実行し、当該乗算処理の結果を、前記制御信号にて示されたポイント数に関わらず、前記第三タイミングで前記第二加算手段に出力し、
前記第二加算手段は、前記乗算処理の結果に対して前記後段加算処理を行い、当該後段加算処理の結果を、前記複数のデータに対して前記処理を実行した結果として出力し、
前記第二加算手段は、
前記第三タイミングで前記乗算手段の出力を受け付けると、前記制御信号に従って、前記乗算手段の出力同士を選択的に加算する、もしくは、前記乗算手段の出力をそのまま出力する第四演算手段と、
前記第三タイミングよりも遅い第七タイミングで入力されたデータを、前記制御信号に従って、選択的に加算する、そのまま出力する、もしくは、選択的に加算した加算結果に選択的に純虚数を乗算する第五演算手段と、
前記第七タイミングよりも遅い第八タイミングで入力されたデータを、前記制御信号に従って、選択的に並べ替える、もしくは、そのまま出力するデータ並び替え手段と、
前記第八タイミングよりも遅い第九タイミングで入力されたデータを、前記制御信号に従って、選択的に加算する、もしくは、そのまま出力する第六演算手段と、を有し、
前記第四演算手段は、前記制御信号にて示されたポイント数に関わらず、自己の出力を、前記第七タイミングで前記第五演算手段に出力し、
前記第五演算手段は、前記制御信号にて示されたポイント数に関わらず、自己の出力を、前記第八タイミングで前記データ並び替え手段に出力し、
前記データ並び替え手段は、前記制御信号にて示されたポイント数に関わらず、自己の出力を、前記第九タイミングで前記第六演算手段に出力し、
前記第六演算手段は、自己の出力を、前記複数のデータに対して前記制御信号にて示されたポイント数の前記処理を実行した結果として出力する、離散フーリエ変換装置。
One of a plurality of types of points , and a control signal indicating whether the process is a discrete Fourier transform or a discrete inverse Fourier transform, and a plurality of data are received, and the plurality of data are received. A discrete Fourier transform device for performing discrete Fourier transform or discrete inverse Fourier transform of the number of points indicated by the control signal,
When the plurality of data are input at a first timing defined by a clock, a first addition process is performed on the plurality of data according to the discrete Fourier transform and the discrete inverse Fourier transform . Adding means;
Multiplication means for executing multiplication processing according to the processing indicated by the control signal for data input at a second timing later than the first timing;
Second addition means for performing post-stage addition processing according to the discrete Fourier transform and the discrete inverse Fourier transform on data input at a third timing later than the second timing,
The first addition means outputs the result of the previous addition process to the multiplication means at the second timing regardless of the number of points indicated by the control signal,
The multiplication means performs the multiplication process on the result of the previous stage addition process, and the result of the multiplication process is determined at the third timing regardless of the number of points indicated by the control signal. Output to the adding means,
The second addition means performs the post-stage addition process on the result of the multiplication process, and outputs the result of the post-stage addition process as a result of executing the process on the plurality of data ,
The second adding means includes
When receiving the output of the multiplication means at the third timing, according to the control signal, selectively add the outputs of the multiplication means, or a fourth calculation means for outputting the output of the multiplication means as it is,
The data input at the seventh timing later than the third timing is selectively added according to the control signal, output as it is, or the addition result selectively added is selectively multiplied by a pure imaginary number. A fifth computing means;
Data rearranging means for selectively rearranging data inputted at an eighth timing later than the seventh timing according to the control signal, or outputting the data as it is,
Sixth arithmetic means for selectively adding the data input at the ninth timing later than the eighth timing according to the control signal, or outputting the data as it is,
The fourth calculation means outputs its own output to the fifth calculation means at the seventh timing regardless of the number of points indicated by the control signal,
The fifth computing means outputs its own output to the data rearranging means at the eighth timing regardless of the number of points indicated by the control signal,
The data rearranging means outputs its own output to the sixth arithmetic means at the ninth timing regardless of the number of points indicated by the control signal,
The sixth arithmetic means outputs a self-output as a result of executing the processing of the number of points indicated by the control signal with respect to the plurality of data .
複数種類のポイント数のうちの一つと、処理が離散フーリエ変換であるのか離散逆フーリエ変換であるのかと、を示した制御信号と、複数のデータと、を受け付け、前記複数のデータに対して、前記制御信号にて示されたポイント数の離散フーリエ変換または離散逆フーリエ変換を実行する離散フーリエ変換装置での離散フーリエ変換・離散逆フーリエ変換方法であって、
前記複数のデータが、クロックにて規定される第一タイミングで入力されると、前記複数のデータに対して、前記離散フーリエ変換および前記離散逆フーリエ変換に応じた前段加算処理を実行する第一加算ステップと、
前記第一タイミングよりも遅い第二タイミングで入力されたデータに対して、前記制御信号が示した処理に応じた乗算処理を実行する乗算ステップと、
前記第二タイミングよりも遅い第三タイミングで入力されたデータに対して、前記離散フーリエ変換および前記離散逆フーリエ変換に応じた後段加算処理を実行する第二加算ステップと、を含み、
前記第一加算ステップでは、前記前段加算処理の結果を、前記制御信号にて示されたポイント数に関わらず、前記第二タイミングで出力し、
前記乗算ステップでは、前記前段加算処理の結果を前記第二タイミングで受け付け、当該前段加算処理の結果に対して前記乗算処理を実行し、当該乗算処理の結果を、前記制御信号にて示されたポイント数に関わらず、前記第三タイミングで出力し、
前記第二加算ステップでは、前記乗算処理の結果を前記第三タイミングで受け付け、当該乗算処理の結果に対して前記後段加算処理を行い、当該後段加算処理の結果を、前記複数のデータに対して前記処理を実行した結果として出力し、
前記第一加算ステップは、
前記第一タイミングで前記複数のデータを受け付けると、前記制御信号に従って、前記複数のデータ同士を選択的に加算する、もしくは、前記複数のデータをそのまま出力する第一演算ステップと、
前記第一タイミングよりも遅く前記第二タイミングよりも早い第四タイミングで入力されたデータを、前記制御信号に従って、選択的に並べ替える、もしくは、そのまま出力する並び替えステップと、
前記第四タイミングよりも遅く前記第二タイミングよりも早い第五タイミングで入力されたデータを、前記制御信号に従って、選択的に加算する、もしくは、そのまま出力する第二演算ステップと、
前記第五タイミングよりも遅く前記第二タイミングよりも早い第六タイミングで入力されたデータを、前記制御信号に従って、選択的に加算する、もしくは、そのまま出力する第三演算ステップと、を有し、
前記第一演算ステップでは、前記制御信号にて示されたポイント数に関わらず、自己の出力を前記第四タイミングで出力し、
前記並び替えステップでは、前記第一演算ステップでの出力を前記第四タイミングで受け付け、前記制御信号にて示されたポイント数に関わらず、自己の出力を前記第五タイミングで出力し、
前記第二演算ステップでは、前記並び替えステップでの出力を前記第五タイミングで受け付け、前記制御信号にて示されたポイント数に関わらず、自己の出力を前記第六タイミングで出力し、
前記第三演算ステップは、前記第二演算ステップでの出力を前記第六タイミングで受け付け、前記制御信号にて示されたポイント数に関わらず、自己の出力を前記第二タイミングで出力し、
前記乗算ステップでは、前記第三演算ステップでの出力を、前記前段加算処理の結果として前記第二タイミングで受け付け、当該前段加算処理の結果に対して前記乗算処理を実行する、離散フーリエ変換・離散逆フーリエ変換方法。
One of a plurality of types of points , and a control signal indicating whether the process is a discrete Fourier transform or a discrete inverse Fourier transform, and a plurality of data are received, and the plurality of data are received. A discrete Fourier transform / discrete inverse Fourier transform method in a discrete Fourier transform apparatus that performs discrete Fourier transform or discrete inverse Fourier transform of the number of points indicated by the control signal,
When the plurality of data are input at a first timing defined by a clock, a first addition process is performed on the plurality of data according to the discrete Fourier transform and the discrete inverse Fourier transform . Adding step;
A multiplication step of executing multiplication processing according to the processing indicated by the control signal for data input at a second timing later than the first timing;
A second addition step of performing post-stage addition processing according to the discrete Fourier transform and the discrete inverse Fourier transform on data input at a third timing that is later than the second timing,
In the first addition step, the result of the previous stage addition process is output at the second timing regardless of the number of points indicated by the control signal,
In the multiplication step, the result of the previous stage addition process is received at the second timing, the multiplication process is performed on the result of the previous stage addition process, and the result of the multiplication process is indicated by the control signal Regardless of the number of points, output at the third timing,
In the second addition step, the result of the multiplication process is received at the third timing, the post-stage addition process is performed on the result of the multiplication process, and the result of the post-stage addition process is applied to the plurality of data. Output as a result of executing the process ,
The first adding step includes
When receiving the plurality of data at the first timing, according to the control signal, selectively adding the plurality of data, or outputting the plurality of data as they are,
Rearrangement step of selectively rearranging data input at a fourth timing later than the first timing and earlier than the second timing according to the control signal, or outputting the data as it is;
A second calculation step of selectively adding data input at a fifth timing later than the fourth timing and earlier than the second timing according to the control signal, or outputting the data as it is;
A third operation step of selectively adding data inputted at a sixth timing later than the fifth timing and earlier than the second timing according to the control signal, or outputting the data as it is,
In the first calculation step, regardless of the number of points indicated by the control signal, the output of its own is output at the fourth timing,
In the rearrangement step, the output in the first calculation step is received at the fourth timing, and regardless of the number of points indicated by the control signal, the output of the self is output at the fifth timing,
In the second calculation step, the output in the rearrangement step is received at the fifth timing, and regardless of the number of points indicated by the control signal, its own output is output at the sixth timing,
The third calculation step accepts the output in the second calculation step at the sixth timing, and outputs its own output at the second timing regardless of the number of points indicated by the control signal,
In the multiplication step, the output at the third operation step, accepted by the second timing as a result of the preceding addition process, performing said multiplication process on the result of the preceding addition process, discrete Fourier transform and discrete Inverse Fourier transform method.
前記乗算ステップは、
前記ポイント数ごとに、当該ポイント数に対応する前記離散フーリエ変換用の乗算係数および当該ポイント数に対応する前記離散逆フーリエ変換用の乗算係数を記憶手段に格納する記憶ステップと、
前記制御信号が示すポイント数および処理に対応する乗算係数を、前記記憶手段から読み出す読出しステップと、
前記第一加算ステップでの出力に、前記読み出された乗算係数を乗算する第一乗算ステップと、
前記乗算の結果に対し、前記制御信号に従って、選択的に純虚数を乗算する第二乗算ステップと、を有する請求項に記載の離散フーリエ変換・離散逆フーリエ変換方法。
The multiplication step includes
For each point number, a storage step of storing in the storage means the multiplication coefficient for discrete Fourier transform corresponding to the number of points and the multiplication coefficient for discrete inverse Fourier transform corresponding to the number of points ;
A reading step of reading out the multiplication coefficient corresponding to the number of points and processing indicated by the control signal from the storage means;
A first multiplication step of multiplying the output in the first addition step by the read multiplication coefficient;
The discrete Fourier transform / discrete inverse Fourier transform method according to claim 6 , further comprising: a second multiplication step of selectively multiplying a result of the multiplication by a pure imaginary number in accordance with the control signal.
複数種類のポイント数のうちの一つと、処理が離散フーリエ変換であるのか離散逆フーリエ変換であるのかと、を示した制御信号と、複数のデータと、を受け付け、前記複数のデータに対して、前記制御信号にて示されたポイント数の離散フーリエ変換または離散逆フーリエ変換を実行する離散フーリエ変換装置での離散フーリエ変換・離散逆フーリエ変換方法であって、
前記複数のデータが、クロックにて規定される第一タイミングで入力されると、前記複数のデータに対して、前記離散フーリエ変換および前記離散逆フーリエ変換に応じた前段加算処理を実行する第一加算ステップと、
前記第一タイミングよりも遅い第二タイミングで入力されたデータに対して、前記制御信号が示した処理に応じた乗算処理を実行する乗算ステップと、
前記第二タイミングよりも遅い第三タイミングで入力されたデータに対して、前記離散フーリエ変換および前記離散逆フーリエ変換に応じた後段加算処理を実行する第二加算ステップと、を含み、
前記第一加算ステップでは、前記前段加算処理の結果を、前記制御信号にて示されたポイント数に関わらず、前記第二タイミングで出力し、
前記乗算ステップでは、前記前段加算処理の結果を前記第二タイミングで受け付け、当該前段加算処理の結果に対して前記乗算処理を実行し、当該乗算処理の結果を、前記制御信号にて示されたポイント数に関わらず、前記第三タイミングで出力し、
前記第二加算ステップでは、前記乗算処理の結果を前記第三タイミングで受け付け、当該乗算処理の結果に対して前記後段加算処理を行い、当該後段加算処理の結果を、前記複数のデータに対して前記処理を実行した結果として出力し、
前記乗算ステップは、
前記ポイント数ごとに、当該ポイント数に対応する前記離散フーリエ変換用の乗算係数および当該ポイント数に対応する前記離散逆フーリエ変換用の乗算係数を記憶手段に格納する記憶ステップと、
前記制御信号が示すポイント数および処理に対応する乗算係数を、前記記憶手段から読み出す読出しステップと、
前記第一加算ステップでの出力に、前記読み出された乗算係数を乗算する第一乗算ステップと、
前記乗算の結果に対し、前記制御信号に従って、選択的に純虚数を乗算する第二乗算ステップと、を有する離散フーリエ変換・離散逆フーリエ変換方法。
One of a plurality of types of points , and a control signal indicating whether the process is a discrete Fourier transform or a discrete inverse Fourier transform, and a plurality of data are received, and the plurality of data are received. A discrete Fourier transform / discrete inverse Fourier transform method in a discrete Fourier transform apparatus that performs discrete Fourier transform or discrete inverse Fourier transform of the number of points indicated by the control signal,
When the plurality of data are input at a first timing defined by a clock, a first addition process is performed on the plurality of data according to the discrete Fourier transform and the discrete inverse Fourier transform . Adding step;
A multiplication step of executing multiplication processing according to the processing indicated by the control signal for data input at a second timing later than the first timing;
A second addition step of performing post-stage addition processing according to the discrete Fourier transform and the discrete inverse Fourier transform on data input at a third timing that is later than the second timing,
In the first addition step, the result of the previous stage addition process is output at the second timing regardless of the number of points indicated by the control signal,
In the multiplication step, the result of the previous stage addition process is received at the second timing, the multiplication process is performed on the result of the previous stage addition process, and the result of the multiplication process is indicated by the control signal Regardless of the number of points, output at the third timing,
In the second addition step, the result of the multiplication process is received at the third timing, the post-stage addition process is performed on the result of the multiplication process, and the result of the post-stage addition process is applied to the plurality of data. Output as a result of executing the process ,
The multiplication step includes
For each point number, a storage step of storing in the storage means the multiplication coefficient for discrete Fourier transform corresponding to the number of points and the multiplication coefficient for discrete inverse Fourier transform corresponding to the number of points;
A reading step of reading out the multiplication coefficient corresponding to the number of points and processing indicated by the control signal from the storage means;
A first multiplication step of multiplying the output in the first addition step by the read multiplication coefficient;
A discrete Fourier transform / discrete inverse Fourier transform method comprising: a second multiplication step of selectively multiplying a result of the multiplication by a pure imaginary number according to the control signal .
前記第二加算ステップは、
前記第三タイミングで前記乗算ステップでの出力を受け付けると、前記制御信号に従って、当該出力同士を選択的に加算する、もしくは、当該出力をそのまま出力する第四演算ステップと、
前記第三タイミングよりも遅い第七タイミングで入力されたデータを、前記制御信号に従って、選択的に加算する、そのまま出力する、もしくは、選択的に加算した加算結果に選択的に純虚数を乗算する第五演算ステップと、
前記第七タイミングよりも遅い第八タイミングで入力されたデータを、前記制御信号に従って、選択的に並べ替える、もしくは、そのまま出力するデータ並び替えステップと、
前記第八タイミングよりも遅い第九タイミングで入力されたデータを、前記制御信号に従って、選択的に加算する、もしくは、そのまま出力する第六演算ステップと、を有し、
前記第四演算ステップでは、前記制御信号にて示されたポイント数に関わらず、自己の出力を前記第七タイミングで出力し、
前記第五演算ステップでは、前記第四演算ステップでの出力を前記第七タイミングで受け付け、前記制御信号にて示されたポイント数に関わらず、自己の出力を前記第八タイミングで出力し、
前記データ並び替えステップでは、前記第五演算ステップでの出力を前記第八タイミングで受け付け、前記制御信号にて示されたポイント数に関わらず、自己の出力を前記第九タイミングで出力し、
前記第六演算ステップでは、前記データ並び替えステップでの出力を前記第九タイミングで受け付け、自己の出力を前記複数のデータに対して前記処理を実行した結果として出力する、請求項6から8のいずれか1項に記載の離散フーリエ変換・離散逆フーリエ変換方法。
The second adding step includes
When the output at the multiplication step is received at the third timing, the outputs are selectively added according to the control signal, or a fourth calculation step for outputting the output as it is,
The data input at the seventh timing later than the third timing is selectively added according to the control signal, output as it is, or the addition result selectively added is selectively multiplied by a pure imaginary number. A fifth operation step;
A data rearrangement step of selectively rearranging data input at an eighth timing later than the seventh timing according to the control signal, or outputting the data as it is,
A sixth operation step of selectively adding data inputted at a ninth timing later than the eighth timing according to the control signal, or outputting the data as it is,
In the fourth calculation step, regardless of the number of points indicated by the control signal, the self output is output at the seventh timing,
In the fifth calculation step, the output in the fourth calculation step is accepted at the seventh timing, and regardless of the number of points indicated by the control signal, its own output is output at the eighth timing,
In the data rearrangement step, the output in the fifth calculation step is accepted at the eighth timing, and regardless of the number of points indicated by the control signal, its own output is output at the ninth timing,
And in the sixth operation step receives the output at the data rearrangement step in the ninth timing, and outputs its own output as a result of executing the processing to the plurality of data, from the claims 6 8 The discrete Fourier transform / discrete inverse Fourier transform method according to any one of the above items.
複数種類のポイント数のうちの一つと、処理が離散フーリエ変換であるのか離散逆フーリエ変換であるのかと、を示した制御信号と、複数のデータと、を受け付け、前記複数のデータに対して、前記制御信号にて示されたポイント数の離散フーリエ変換または離散逆フーリエ変換を実行する離散フーリエ変換装置での離散フーリエ変換・離散逆フーリエ変換方法であって、
前記複数のデータが、クロックにて規定される第一タイミングで入力されると、前記複数のデータに対して、前記離散フーリエ変換および前記離散逆フーリエ変換に応じた前段加算処理を実行する第一加算ステップと、
前記第一タイミングよりも遅い第二タイミングで入力されたデータに対して、前記制御信号が示した処理に応じた乗算処理を実行する乗算ステップと、
前記第二タイミングよりも遅い第三タイミングで入力されたデータに対して、前記離散フーリエ変換および前記離散逆フーリエ変換に応じた後段加算処理を実行する第二加算ステップと、を含み、
前記第一加算ステップでは、前記前段加算処理の結果を、前記制御信号にて示されたポイント数に関わらず、前記第二タイミングで出力し、
前記乗算ステップでは、前記前段加算処理の結果を前記第二タイミングで受け付け、当該前段加算処理の結果に対して前記乗算処理を実行し、当該乗算処理の結果を、前記制御信号にて示されたポイント数に関わらず、前記第三タイミングで出力し、
前記第二加算ステップでは、前記乗算処理の結果を前記第三タイミングで受け付け、当該乗算処理の結果に対して前記後段加算処理を行い、当該後段加算処理の結果を、前記複数のデータに対して前記処理を実行した結果として出力し、
前記第二加算ステップは、
前記第三タイミングで前記乗算ステップでの出力を受け付けると、前記制御信号に従って、当該出力同士を選択的に加算する、もしくは、当該出力をそのまま出力する第四演算ステップと、
前記第三タイミングよりも遅い第七タイミングで入力されたデータを、前記制御信号に従って、選択的に加算する、そのまま出力する、もしくは、選択的に加算した加算結果に選択的に純虚数を乗算する第五演算ステップと、
前記第七タイミングよりも遅い第八タイミングで入力されたデータを、前記制御信号に従って、選択的に並べ替える、もしくは、そのまま出力するデータ並び替えステップと、
前記第八タイミングよりも遅い第九タイミングで入力されたデータを、前記制御信号に従って、選択的に加算する、もしくは、そのまま出力する第六演算ステップと、を有し、
前記第四演算ステップでは、前記制御信号にて示されたポイント数に関わらず、自己の出力を前記第七タイミングで出力し、
前記第五演算ステップでは、前記第四演算ステップでの出力を前記第七タイミングで受け付け、前記制御信号にて示されたポイント数に関わらず、自己の出力を前記第八タイミングで出力し、
前記データ並び替えステップでは、前記第五演算ステップでの出力を前記第八タイミングで受け付け、前記制御信号にて示されたポイント数に関わらず、自己の出力を前記第九タイミングで出力し、
前記第六演算ステップでは、前記データ並び替えステップでの出力を前記第九タイミングで受け付け、自己の出力を前記複数のデータに対して前記処理を実行した結果として出力する、離散フーリエ変換・離散逆フーリエ変換方法。
One of a plurality of types of points , and a control signal indicating whether the process is a discrete Fourier transform or a discrete inverse Fourier transform, and a plurality of data are received, and the plurality of data are received. A discrete Fourier transform / discrete inverse Fourier transform method in a discrete Fourier transform apparatus that performs discrete Fourier transform or discrete inverse Fourier transform of the number of points indicated by the control signal,
When the plurality of data are input at a first timing defined by a clock, a first addition process is performed on the plurality of data according to the discrete Fourier transform and the discrete inverse Fourier transform . Adding step;
A multiplication step of executing multiplication processing according to the processing indicated by the control signal for data input at a second timing later than the first timing;
A second addition step of performing post-stage addition processing according to the discrete Fourier transform and the discrete inverse Fourier transform on data input at a third timing that is later than the second timing,
In the first addition step, the result of the previous stage addition process is output at the second timing regardless of the number of points indicated by the control signal,
In the multiplication step, the result of the previous stage addition process is received at the second timing, the multiplication process is performed on the result of the previous stage addition process, and the result of the multiplication process is indicated by the control signal Regardless of the number of points, output at the third timing,
In the second addition step, the result of the multiplication process is received at the third timing, the post-stage addition process is performed on the result of the multiplication process, and the result of the post-stage addition process is applied to the plurality of data. Output as a result of executing the process ,
The second adding step includes
When the output at the multiplication step is received at the third timing, the outputs are selectively added according to the control signal, or a fourth calculation step for outputting the output as it is,
The data input at the seventh timing later than the third timing is selectively added according to the control signal, output as it is, or the addition result selectively added is selectively multiplied by a pure imaginary number. A fifth operation step;
A data rearrangement step of selectively rearranging data input at an eighth timing later than the seventh timing according to the control signal, or outputting the data as it is,
A sixth operation step of selectively adding data inputted at a ninth timing later than the eighth timing according to the control signal, or outputting the data as it is,
In the fourth calculation step, regardless of the number of points indicated by the control signal, the self output is output at the seventh timing,
In the fifth calculation step, the output in the fourth calculation step is accepted at the seventh timing, and regardless of the number of points indicated by the control signal, its own output is output at the eighth timing,
In the data rearrangement step, the output in the fifth calculation step is accepted at the eighth timing, and regardless of the number of points indicated by the control signal, its own output is output at the ninth timing,
And in the sixth operation step, the reception output of the data rearrangement step in the ninth timing, and outputs as a result of its own output to perform the processing on the plurality of data, a discrete Fourier transform and inverse discrete Fourier transform method.
JP2009220792A 2009-09-25 2009-09-25 Discrete Fourier transform apparatus and discrete Fourier transform / discrete inverse Fourier transform method Active JP5493646B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009220792A JP5493646B2 (en) 2009-09-25 2009-09-25 Discrete Fourier transform apparatus and discrete Fourier transform / discrete inverse Fourier transform method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009220792A JP5493646B2 (en) 2009-09-25 2009-09-25 Discrete Fourier transform apparatus and discrete Fourier transform / discrete inverse Fourier transform method

Publications (2)

Publication Number Publication Date
JP2011070392A JP2011070392A (en) 2011-04-07
JP5493646B2 true JP5493646B2 (en) 2014-05-14

Family

ID=44015627

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009220792A Active JP5493646B2 (en) 2009-09-25 2009-09-25 Discrete Fourier transform apparatus and discrete Fourier transform / discrete inverse Fourier transform method

Country Status (1)

Country Link
JP (1) JP5493646B2 (en)

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3757782B2 (en) * 2000-10-30 2006-03-22 日本電気株式会社 FFT operation circuit
JP2007336164A (en) * 2006-06-14 2007-12-27 Mitsubishi Electric Corp Dbf signal processing apparatus, and dbf signal processing method
JP4755610B2 (en) * 2007-01-31 2011-08-24 三菱電機株式会社 Fast Fourier transform device

Also Published As

Publication number Publication date
JP2011070392A (en) 2011-04-07

Similar Documents

Publication Publication Date Title
CN103106180A (en) Constant geometry split radix FFT
US9785614B2 (en) Fast Fourier transform device, fast Fourier transform method, and recording medium storing fast Fourier transform program
US7792892B2 (en) Memory control method for storing operational result data with the data order changed for further operation
US7653676B2 (en) Efficient mapping of FFT to a reconfigurable parallel and pipeline data flow machine
JP5493646B2 (en) Discrete Fourier transform apparatus and discrete Fourier transform / discrete inverse Fourier transform method
US20140195578A1 (en) Fast fourier transform circuit
US11604852B2 (en) Signal processing apparatus, method, program, and recording medium
JP6451647B2 (en) Fast Fourier transform apparatus, fast Fourier transform method, and fast Fourier transform program
Glittas et al. Pipelined FFT architectures for real-time signal processing and wireless communication applications
JPH11110370A (en) Fast fourier transforming device and method, variable bit reverse circuit, inverse fast fourier transforming device and method and ofdm receiving and transmitting device
CN109753629B (en) Multi-granularity parallel FFT computing device
US20210342102A1 (en) Signal processing apparatus, method, program, and recording medium
JP6436087B2 (en) Digital filter device, digital filter processing method and program
WO2020152826A1 (en) Fourier transform device and fourier transform method
CN101490671A (en) Folding of input data values to a transform function
JPWO2013183096A1 (en) Multistage filter processing apparatus and method
JP2009245407A (en) Product-sum operation device and product-sum operation method for complex number
JP2002504250A (en) Device for converting a sequence of data elements
JP2016218528A (en) Data processing device and data processing method
JP4586114B1 (en) Product-sum operation unit
KR101074112B1 (en) Apparatus and method for executing fourier transform
JP2001067338A (en) High speed convolutional operation system, its arithmetic unit, high speed interpolation system and high speed interpolation device
WO2018092183A1 (en) Arithmetic device and arithmetic method
CN110399588A (en) System and method for calculating oscillating function
JP2010072981A (en) Product-sum operation device and product-sum operation method for complex number

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120814

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20131016

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20131119

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140115

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20140204

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140217

R150 Certificate of patent or registration of utility model

Ref document number: 5493646

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150