JP5822791B2 - Fourier transform circuit, information processing apparatus, Fourier transform method, and Fourier transform program - Google Patents
Fourier transform circuit, information processing apparatus, Fourier transform method, and Fourier transform program Download PDFInfo
- Publication number
- JP5822791B2 JP5822791B2 JP2012137867A JP2012137867A JP5822791B2 JP 5822791 B2 JP5822791 B2 JP 5822791B2 JP 2012137867 A JP2012137867 A JP 2012137867A JP 2012137867 A JP2012137867 A JP 2012137867A JP 5822791 B2 JP5822791 B2 JP 5822791B2
- Authority
- JP
- Japan
- Prior art keywords
- unit
- value
- calculation
- fourier transform
- stage
- 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.)
- Expired - Fee Related
Links
Images
Description
本発明は、フーリエ変換回路、情報処理装置、フーリエ変換方法およびフーリエ変換プログラムに関するものである。 The present invention relates to a Fourier transform circuit, an information processing apparatus, a Fourier transform method, and a Fourier transform program.
従来のFFT(Fast Fourier Transform)演算回路は、例えば特許文献1に開示されている。
特許文献1が開示する技術は、下位ビットの切り捨てによる演算精度の劣化を抑えるために、バタフライ演算の入力系列の最大値に基づいてバタフライ演算の出力系列をビットシフトし、バタフライ演算のループの最終回において逆のビットシフトを行う、というものである。
A conventional FFT (Fast Fourier Transform) arithmetic circuit is disclosed in
In the technique disclosed in
従来のFFT演算回路を様々なシステムに適用する場合、システムによって必要な最小分解能が異なるため、例えばシステムが必要とする最小分解能がFFT演算回路が演算可能な最小分解能より低い場合も発生することが考えられる。
しかし、従来のFFT演算回路では、システムの最小分解能において演算結果が全ての0になる場合であっても最終ステージまで演算し続けるため余計な電力を消費してしまう、という課題があった。
When the conventional FFT arithmetic circuit is applied to various systems, the minimum resolution required by the system differs. For example, the minimum resolution required by the system may be lower than the minimum resolution that can be calculated by the FFT arithmetic circuit. Conceivable.
However, the conventional FFT operation circuit has a problem in that extra power is consumed because the operation continues until the final stage even when the operation result is all zero at the minimum resolution of the system.
本発明は、上記のような課題を解決するためになされたもので、余計な電力消費を削減するFFT演算回路を実現することを目的とする。 The present invention has been made to solve the above-described problems, and an object of the present invention is to realize an FFT arithmetic circuit that reduces unnecessary power consumption.
本発明のフーリエ変換回路は、
所定の値として最小指標値を記憶する最小指標値記憶部と、
入力値が入力される入力部と、
前記入力部に入力された入力値を用いてフーリエ変換のステージ演算を所定のステージ回数実行し、フーリエ変換のステージ演算を実行する毎に演算値を算出すると共に算出した演算値を演算値記憶部に記憶するステージ演算部と、
前記ステージ演算部がフーリエ変換のステージ演算を実行する毎に、前記ステージ演算部によって算出された演算値に基づいて、前記ステージ演算部がフーリエ変換のステージ演算を前記所定のステージ回数実行した場合に算出する演算値の範囲を予測して予測指標値を算出する予測指標値算出部と、
前記ステージ演算部がフーリエ変換のステージ演算を実行する毎に、前記予測指標値算出部によって算出された予測指標値と前記最小指標値記憶部に記憶された最小指標値との関係により前記ステージ演算の停止を判定する予測指標値判定部と、
前記予測指標値判定部の判定結果が前記ステージ演算の停止を示す場合、前記ステージ演算部と前記演算値記憶部との少なくともいずれかを停止させるステージ演算停止部とを備える。
The Fourier transform circuit of the present invention is
A minimum index value storage unit that stores a minimum index value as a predetermined value;
An input unit for inputting an input value;
The Fourier transform stage calculation is performed a predetermined number of times using the input value input to the input unit, and the calculated value is calculated every time the Fourier transform stage calculation is performed, and the calculated calculated value is stored in the calculated value storage unit. A stage calculation unit to store in
Each time the stage calculation unit executes a Fourier transform stage calculation, the stage calculation unit executes the Fourier transform stage calculation a predetermined number of times based on the calculation value calculated by the stage calculation unit. A prediction index value calculation unit that calculates a prediction index value by predicting a range of calculation values to be calculated;
Each time the stage calculation unit performs a Fourier transform stage calculation, the stage calculation is performed according to the relationship between the prediction index value calculated by the prediction index value calculation unit and the minimum index value stored in the minimum index value storage unit. A prediction index value determination unit for determining stoppage of
And a stage calculation stop unit that stops at least one of the stage calculation unit and the calculation value storage unit when the determination result of the prediction index value determination unit indicates the stop of the stage calculation.
本発明によれば、例えば、FFT演算回路による余計な電力消費を削減することができる。 According to the present invention, for example, unnecessary power consumption by the FFT operation circuit can be reduced.
実施の形態1.
FFT(Fast Fourier Transform)演算回路による余計な電力消費を削減する形態について説明する。
A mode of reducing unnecessary power consumption by an FFT (Fast Fourier Transform) arithmetic circuit will be described.
図1は、実施の形態1における情報処理装置200の構成図である。
実施の形態1における情報処理装置200の構成について、図1に基づいて説明する。
FIG. 1 is a configuration diagram of an
The configuration of the
情報処理装置200は、高速フーリエ変換演算または高速逆フーリエ変換演算(以下、「フーリエ変換」または「FFT」という)を含んだ情報処理を実行する装置である。情報処理の種類は問わない。
The
情報処理装置200は、情報処理部210、フーリエ変換部220およびFFT演算回路100(フーリエ変換回路の一例)を備える。
情報処理部210は、何らかの情報処理を実行するための機能構成である。フーリエ変換を実行する必要がある場合、情報処理部210は、フーリエ変換の入力データ(複数の入力値)をフーリエ変換部220に出力し、フーリエ変換部220から出力されるフーリエ変換の出力データ(複数の出力値)を入力する。
フーリエ変換部220は、フーリエ変換を実行するための機能構成である。フーリエ変換部220は、情報処理部210から出力された入力系列に対するフーリエ変換をFFT演算回路100を用いて実行し、FFT演算回路100を用いて得られたフーリエ変換の出力系列を情報処理部210に出力する。
FFT演算回路100は、フーリエ変換を実行する電子回路である。FFT演算回路100の詳細については別途説明する。
The
The
The Fourier
The
情報処理部210によって処理することが可能な数値の範囲は、ハードウェアまたはソフトウェアによって制限されている。
FFT演算回路100の演算結果が情報処理部210によって処理することが可能な最小値(例えば「2−3」)より小さな値(例えば「2−4」)である場合、情報処理部210は、演算結果が「0」であるものとして情報処理を行うものとする。
以下、情報処理部210によって処理することが可能な最小値(最小分解能)(以下、「システム最小値」という)に関する情報を「最小値情報」という。
The range of numerical values that can be processed by the
When the calculation result of the
Hereinafter, information regarding the minimum value (minimum resolution) (hereinafter referred to as “system minimum value”) that can be processed by the
図2は、実施の形態1におけるFFT演算回路100の機能構成図である。
実施の形態1におけるFFT演算回路100の機能構成について、図2に基づいて説明する。
FIG. 2 is a functional configuration diagram of the
A functional configuration of the
FFT演算回路100(フーリエ変換回路の一例)は、ステージ演算部110(ステージ演算部の一例)と、RAM部120(入力部、演算値記憶部の一例)と、最大桁検出部130と、シフト制御部140とを備える。
FFT演算回路100は、さらに、停止判定部150(最小指標値記憶部、予測指標値算出部、予測指標値判定部、ステージ演算停止部、予測増加量記憶部の一例)と、クリップ部160(演算結果出力部の一例)とを備える。
The FFT operation circuit 100 (an example of a Fourier transform circuit) includes a stage operation unit 110 (an example of a stage operation unit), a RAM unit 120 (an example of an input unit and an operation value storage unit), a maximum
The
RAM部120(RAM:Random Access Memory)は、FFT演算回路100に入力される入力データ101(入力系列ともいう)を記憶する。入力データ101は複数の入力値を含む。
また、RAM部120は、ステージ演算部110から出力される演算結果データ102を記憶する。演算結果データ102は複数の演算値を含む。
A RAM unit 120 (RAM: Random Access Memory) stores input data 101 (also referred to as an input series) input to the
The
ステージ演算部110は、RAM部120から入力データ101または前回の演算結果データ102を読み込む。
ステージ演算部110は、読み込んだデータに対してフーリエ変換のステージ演算を実行し、ステージ演算の演算結果データ102を出力する。このとき、ステージ演算部110は、後述する前回のシフト制御情報104に応じて各演算値のビットシフトを行う。
The stage calculation unit 110 reads the
The stage calculation unit 110 performs a stage calculation of Fourier transform on the read data, and outputs
最大桁検出部130は、ステージ演算部110から出力される演算結果データ102を入力し、入力した演算結果データ102に含まれる複数の演算値それぞれの絶対値の桁数を算出し、算出した桁数のうち最大の桁数を演算結果データ102の最大桁103として出力する。なお、最大桁の算出は、演算値の絶対値の最大値を算出してから、その桁数を最大桁としてもよい。
The maximum
シフト制御部140は、最大桁検出部130から出力される最大桁103を入力し、入力した最大桁103に基づいて次のステージのシフト制御情報104を生成し、生成したシフト制御情報104を出力する。
シフト制御情報104は、演算値のビット列をシフトするシフト数(以下、「シフトビット数」という)に関する情報を示す。
The
The shift control information 104 indicates information regarding the number of shifts (hereinafter referred to as “shift bit number”) for shifting the bit string of the operation value.
停止判定部150は、最大桁検出部130から出力される最大桁103、シフト制御部140から出力されるシフト制御情報104およびFFT演算回路100に入力される最小値情報109に基づいて、ステージ演算部110のステージ演算を停止するか否かを判定する。
ステージ演算部110のステージ演算を停止する場合、停止判定部150は、停止信号105を出力する。
The
When stopping the stage calculation of the stage calculation unit 110, the
クリップ部160は、所定のステージ数だけステージ演算を実行したステージ演算部110から出力される演算結果データ102を入力する。クリップ部160は、入力した演算結果データ102を後述するステージ指数(図示省略)に基づいたシフトを行ってから出力データ106として出力する。
但し、停止判定部150から停止信号105が出力された場合、クリップ部160は、所定の出力値「0(ゼロ)」を出力データ106として出力する。この場合、クリップ部160は、情報処理装置200が出力データ106を受け取ることができるように、出力データ106の出力タイミングを必要に応じて調整する。
The
However, when the stop signal 105 is output from the
図3は、実施の形態1における停止判定部150の機能構成図である。
実施の形態1における停止判定部150の機能構成について、図3に基づいて説明する。
FIG. 3 is a functional configuration diagram of the
The functional configuration of the
停止判定部150は、残ステージカウンタ部151、増加ビット算出部152(予測増加量記憶部の一例)、ステージ指数管理部153、最終値予測部154(予測指標値算出部の一例)および比較判定部155(最小指標値記憶部、予測指標値判定部、ステージ演算停止部の一例)を備える。
The
残ステージカウンタ部151は、ステージ演算部110によるステージ演算の実行回数を所定のステージ数から差し引いた値、を残りステージ数として算出する。
The remaining
増加ビット算出部152は、残ステージカウンタ部151によって算出された残りステージ数に基づいて、ステージ演算部110が所定のステージ数のステージ演算を実行した場合の演算量の増加し得るビット数を算出する。
以下、増加ビット算出部152によって算出されるビット数を「増加ビット数」という。
Based on the number of remaining stages calculated by the remaining
Hereinafter, the number of bits calculated by the increase
ステージ指数管理部153は、シフト制御情報104を入力し、入力したシフト制御情報104が示すシフトビット数に基づいて演算値の指数値を算出する。
以下、ステージ指数管理部153によって算出される指数値を「ステージ指数」という。
The stage
Hereinafter, the index value calculated by the stage
最終値予測部154は、最大桁103を入力し、入力した最大桁103と増加ビット算出部152によって算出された増加ビット数とステージ指数管理部153によって算出されたステージ指数とに基づいて最終ステージ最大値を算出する。
最終ステージ最大値は、ステージ演算部110が所定のステージ数のステージ演算を実行した場合に算出される演算値の最大値に関する値である。
The final
The final stage maximum value is a value related to the maximum value of calculation values calculated when the stage calculation unit 110 executes stage calculation for a predetermined number of stages.
比較判定部155は、最小値情報109を入力し、入力した最小値情報109が表すシステム最小値と最終値予測部154によって算出された最終ステージ最大値とを比較し、比較結果に基づいてステージ演算を停止するか否かを判定する。
ステージ演算を停止する場合、比較判定部155は、停止信号105を出力する。
The
When stopping the stage calculation, the
図4は、実施の形態1におけるFFT演算回路100のFFT演算処理を示すフローチャートである。
実施の形態1におけるFFT演算回路100のFFT演算処理(フーリエ変換方法の一例)について、図4に基づいて説明する。
FIG. 4 is a flowchart showing the FFT operation processing of the
An FFT operation process (an example of a Fourier transform method) of the
S101において、RAM部120は、FFT演算回路100に入力された入力データ101を記憶する。入力データ101は複数の入力値を含む。
S101の後、S102に進む。
In S <b> 101, the
After S101, the process proceeds to S102.
S102において、ステージ演算部110は、RAM部120から入力データ101を読み込む。
ステージ演算部110は、読み込んだ入力データ101に含まれる複数の入力値を用いてフーリエ変換のステージ演算を実行して複数の演算値を算出し、算出した複数の演算値を含んだ演算結果データ102を出力する。
RAM部120は、ステージ演算部110から出力された演算結果データ102を記憶する。
In S <b> 102, the stage calculation unit 110 reads the
The stage calculation unit 110 performs a Fourier transform stage calculation using a plurality of input values included in the read
The
例えば、ステージ演算部110は、「2」を基数とするバタフライ演算(以下、「基数「2」のバタフライ演算」という)を行う。
S102の後、S110に進む。
For example, the stage calculation unit 110 performs a butterfly calculation using “2” as a radix (hereinafter referred to as “butterfly calculation with a radix“ 2 ””).
It progresses to S110 after S102.
S110において、最大桁検出部130は、ステージ演算部110から出力された演算結果データ102を入力する。
最大桁検出部130は、演算結果データ102に含まれる複数の演算値それぞれの絶対値の桁数を算出し、算出した桁数のうち最大の桁数を演算結果データ102の最大桁103として出力する。なお、最大桁の算出は、演算値の絶対値の最大値を算出してから、その桁数を最大桁としてもよい。
例えば、絶対値が最も大きい演算値が「7」である場合、演算値「7」は2進数表現では3ビットの値「111」であるため、2進数表現における最大桁103は「3」である。
S110の後、S120に進む。
In S110, the maximum
The maximum
For example, when the calculated value having the largest absolute value is “7”, the calculated value “7” is the 3-bit value “111” in the binary number representation, and therefore the maximum digit 103 in the binary number representation is “3”. is there.
It progresses to S120 after S110.
S120において、シフト制御部140は、最大桁検出部130から出力された最大桁103を入力し、入力した最大桁103に基づいてシフトビット数を算出する。例えば、シフト制御部140は、次回のステージ演算で桁あふれが発生しないようなシフトビット数を算出する。最大桁103に基づいてシフトビット数を算出する方法は、例えば、特許文献1に開示されている。
シフト制御部140は、算出したシフトビット数を示すシフト制御情報104を生成し、生成したシフト制御情報104を出力する。
S120の後、S130に進む。
In S <b> 120, the
The
It progresses to S130 after S120.
S130において、停止判定部150は、最大桁検出部130から出力された最大桁103を入力する。
停止判定部150は、最大桁103と最小値情報109とに基づいてステージ演算を停止するか否かを判定する。
最小値情報109はFFT演算回路100に入力され、停止判定部150はFFT演算回路100に入力された最小値情報109を予め記憶しておくものとする。
ステージ演算を停止する場合、停止判定部150は停止信号105を出力する。
停止判定処理(S130)の詳細については、別途説明する。
S130の後、S140に進む。
In S <b> 130, the
The
The minimum value information 109 is input to the
When stopping the stage calculation, the
Details of the stop determination process (S130) will be described separately.
It progresses to S140 after S130.
S140において、クリップ部160は、停止判定部150から停止信号105が出力されたか否かを判定する。
停止信号105が出力された場合(YES)、S170に進む。
停止信号105が出力されなかった場合(NO)、S150に進む。
In S140, the
When the stop signal 105 is output (YES), the process proceeds to S170.
When the stop signal 105 is not output (NO), the process proceeds to S150.
S150において、クリップ部160は、ステージ演算部110が所定のステージ数のステージ演算を実行したか否かを判定する。
例えば、クリップ部160は、ステージ演算部110が演算結果データ102を出力した回数をカウントし、カウントした回数を所定のステージ数と比較する。カウントした回数が所定のステージ演算と同じ値である場合、ステージ演算部110は所定のステージ数のステージ演算を実行したことになる。
所定のステージ数は、実行するFFT点数に応じて定められる。所定のステージ数は予め記憶してもよいし、実行するFFT点数に応じて算出してもよい。
ステージ演算部110が所定のステージ数のステージ演算を実行したか否かの判定は、クリップ部160の代わりに停止判定部150が行ってもよい。
ステージ演算部110が所定のステージ数のステージ演算を実行した場合(YES)、S180に進む。
ステージ演算部110が所定のステージ数のステージ演算を実行していない場合(NO)、S160に進む。
In S150, the
For example, the
The predetermined number of stages is determined according to the number of FFT points to be executed. The predetermined number of stages may be stored in advance or may be calculated according to the number of FFT points to be executed.
The determination of whether or not the stage calculation unit 110 has performed a predetermined number of stages may be performed by the
If the stage calculation unit 110 has performed a stage calculation for a predetermined number of stages (YES), the process proceeds to S180.
When the stage calculation unit 110 has not performed the stage calculation for the predetermined number of stages (NO), the process proceeds to S160.
S160において、ステージ演算部110は、RAM部120から演算結果データ102を読み込む。
ステージ演算部110は、読み込んだ演算結果データ102に含まれる複数の演算値を用いてフーリエ変換のステージ演算(S102参照)を実行して新たな複数の演算値を算出し、算出した新たな複数の演算値を含んだ演算結果データ102を出力する。
RAM部120は、ステージ演算部110から出力された演算結果データ102を記憶する。
S160の後、S110に戻る。
In S160, the stage calculation unit 110 reads the
The stage calculation unit 110 performs a Fourier transform stage calculation (see S102) using a plurality of calculation values included in the read
The
After S160, the process returns to S110.
S170において、ステージ演算部110およびRAM部120は動作を停止する。つまり、ステージ演算部110は、所定のステージ数のステージ演算を実行していない場合であってもステージ演算の実行を終了し、以降の残りのステージ演算を実行しない。但し、ステージ演算部110とRAM部120とのいずれか一方だけが停止してもよい。また、RAM部が複数のRAMを備えている場合、一部のRAMだけが動作を停止してもよい。
クリップ部160は、全ての出力値が「0(ゼロ)」である出力データ106を出力する。
S170により、FFT演算処理は終了する。
In S170, the stage calculation unit 110 and the
The
By S170, the FFT operation processing is terminated.
S180において、クリップ部160は、ステージ演算部110から最後に出力された演算結果データ102(所定のステージ数のステージ演算が実行されたときの演算結果データ102)に対して停止判定部150によって最後に算出されたステージ指数に基づいたシフトを行い、シフトした演算結果データ102を出力データ106として出力する。
S180により、FFT演算処理は終了する。
In S <b> 180, the
By S180, the FFT calculation process is terminated.
図5は、実施の形態1における停止判定処理(S130)を示すフローチャートである。
実施の形態1における停止判定処理(S130)について、図5に基づいて説明する。
FIG. 5 is a flowchart showing the stop determination process (S130) in the first embodiment.
The stop determination process (S130) in the first embodiment will be described with reference to FIG.
S131において、残ステージカウンタ部151は、ステージ演算部110によるステージ演算の実行回数を所定のステージ数から差し引いた値、を残りステージ数として算出する。
残ステージカウンタ部151は、クリップ部160と同様に、所定のステージ数を算出してもよいし、予め記憶してもよい(図4のS150参照)。
残りステージ数は、所定のステージ数からステージ演算毎に1減ずることで算出してもよい。
S131の後、S132に進む。
In S131, the remaining
Similar to the
The remaining number of stages may be calculated by subtracting 1 from the predetermined number of stages for each stage calculation.
After S131, the process proceeds to S132.
S132において、増加ビット算出部152は、S131で算出された残りステージ数に対応する増加ビット数を増加ビット数テーブル107から取得する。
In S <b> 132, the increased
図6は、実施の形態1における増加ビット数テーブル107を示す図である。
増加ビット数テーブル107は、残りステージ数と増加ビット数とを対応付けたデータである。
FIG. 6 is a diagram showing the increased bit number table 107 in the first embodiment.
The increased bit number table 107 is data in which the number of remaining stages is associated with the increased number of bits.
増加ビット数は、残りステージ数に基づいて算出される値である。
例として基数「2」のバタフライ演算を行う場合の増加ビット数の算出例を示す。
The increased number of bits is a value calculated based on the number of remaining stages.
As an example, an example of calculating the increased number of bits when performing a radix “2” butterfly operation is shown.
まず、基数「2」のバタフライ演算の演算式(1)を示す。式(1)で使用している符号の意味は以下の通りである。
「X’」「Y’」は、バタフライ演算の出力値(演算値)である。
「X」「Y」は、バタフライ演算の入力値(または演算値)である。
「N」は、FFTの点数である。
「k」は、0から((N/2)−1)の整数である。例えば、「N=16」の場合、「k=0,1,・・・,7」である。
First, the calculation formula (1) for the radix “2” butterfly calculation is shown. The meanings of the symbols used in equation (1) are as follows.
“X ′” and “Y ′” are output values (calculation values) of the butterfly calculation.
“X” and “Y” are input values (or calculation values) of the butterfly calculation.
“N” is the FFT score.
“K” is an integer from 0 to ((N / 2) −1). For example, when “N = 16”, “k = 0, 1,..., 7”.
上記の式(1)の出力値「X’」「Y’」は実数成分「X’R」「Y’R」と虚数成分「X’I」「Y’I」とを用いて以下の式(2)で表すことができる。
式(2)において「j」は虚数単位である。また、「XR」「YR」は入力値の実数成分であり、「XI」「YI」は入力値の虚数成分である。
The output values “X ′” and “Y ′” in the above equation (1) are expressed by the following equations using real component “X ′ R ” “Y ′ R ” and imaginary component “X ′ I ” “Y ′ I ”. (2).
In Expression (2), “j” is an imaginary unit. “X R ” and “Y R ” are real number components of the input value, and “X I ” and “Y I ” are imaginary number components of the input value.
1回のステージ演算で算出される出力値「X’」「Y’」(上記式(2)参照)の範囲は、上記式(2a)より、ステージ演算の入力値の範囲の(1+√2)倍と計算できる。「√2」は2の平方根を意味する。
増加ビット数は、(1+√2)を残りステージ数nだけ累乗して(1+√2)nを算出し、「2」を底にした(1+√2)nの対数値「log2((1+√2)n)」を算出し、算出した対数値の小数点以下を切り上げて算出される。
The range of output values “X ′” and “Y ′” (see the above formula (2)) calculated by one stage calculation is (1 + √2) of the input value range of the stage calculation from the above formula (2a). ) Can be calculated as double. “√2” means the square root of 2.
The number of increased bits is (1 + √2) raised to the power of the remaining number of stages n to calculate (1 + √2) n , and the logarithmic value “log 2 (( 1 + √2) n ) ”is calculated, and the calculated logarithmic value is calculated by rounding up after the decimal point.
例えば、残りステージ数が「3」である場合、増加ビット数は「4」である(以下の式(3)参照)。
ceiling(X)はXの切り上げを意味する。
For example, when the number of remaining stages is “3”, the increased number of bits is “4” (see Expression (3) below).
Ceiling (X) means rounding up X.
増加ビット算出部152は、図6に示すような増加ビット数テーブル107を記憶する代わりに、増加ビット数を演算で算出してもよい。
The increase
図5に戻り、停止判定処理(S130)の説明を続ける。
S132の後、S133に進む。
Returning to FIG. 5, the description of the stop determination process (S130) will be continued.
It progresses to S133 after S132.
S133において、最終値予測部154は、最大桁103を入力し、最大桁103と増加ビット数とステージ指数とを用いて最終ステージ最大値を算出する。
最終ステージ最大値Mは、例えば「M=B+r+C」で算出する。ここで、「B」は増加ビット数であり、「r」は最大桁103であり、「C」はステージ指数である。
例えば、増加ビット数Bが「4」、最大桁rが「2」、ステージ指数Cが「−10」である場合、最終ステージ最大値Mは「4(=4+2+(−10))」となる。
S133の後、S134に進む。
In S133, the final
The final stage maximum value M is calculated by, for example, “M = B + r + C”. Here, “B” is the increased number of bits, “r” is the maximum digit 103, and “C” is the stage index.
For example, when the increment bit number B is “4”, the maximum digit r is “2”, and the stage index C is “−10”, the final stage maximum value M is “4 (= 4 + 2 + (− 10))”. .
It progresses to S134 after S133.
S134において、比較判定部155は、最小値情報109を入力し、入力した最小値情報109が示す値mとS144で算出された最終ステージ最大値Mとを比較する。
最小値情報109は例えばシステム最小値Tに対して「T=2m」を満たす値m、つまり、「2」を底とするシステム最小値Tの指数値mとする。
最終ステージ最大値Mが最小値情報109の値m以上である場合(YES)、S136に進む。
最終ステージ最大値Mが最小値情報109の値mより小さい場合(NO)、S135に進む。
In S134, the
The minimum value information 109 is, for example, a value m that satisfies “T = 2 m ” with respect to the system minimum value T, that is, an index value m of the system minimum value T with “2” as the base.
When the final stage maximum value M is greater than or equal to the value m of the minimum value information 109 (YES), the process proceeds to S136.
When the final stage maximum value M is smaller than the value m of the minimum value information 109 (NO), the process proceeds to S135.
S135において、比較判定部155は停止信号105を出力する。
S135の後、S136に進む。
In S135, the
After S135, the process proceeds to S136.
S136において、ステージ指数管理部153は、シフト制御情報104を入力し、入力したシフト制御情報104が示すシフトビット数に基づいて演算値の指数値(ステージ指数)を算出する。
ステージ指数Cは、V’を演算値の真の値、VをRAM部に格納する値とし、例えば「V’=V*2C」で表される数とする。
S136により、停止判定処理(S130)は終了する。
In S136, the stage
For the stage index C, V ′ is a true value of the operation value, V is a value stored in the RAM unit, and is a number represented by “V ′ = V * 2 C ”, for example.
With S136, the stop determination process (S130) ends.
図4および図5においてFFT演算処理を便宜上、フローチャートの形式で説明したが、各要素の処理タイミングは図4および図5に示したような逐次処理に限定されるものではなく,適宜並列処理を行ってもよい。 In FIG. 4 and FIG. 5, the FFT operation processing has been described in the form of a flowchart for the sake of convenience. However, the processing timing of each element is not limited to the sequential processing as shown in FIG. 4 and FIG. You may go.
FFT演算回路100は、図4および図5に基づいて説明したFFT演算処理により、途中のステージ演算で以降のステージ演算が不要であること(最終ステージ最大値M<最小値情報109の値m)を検出し、ステージ演算を停止することができる。
これにより、不要なステージ演算が省略され、消費電力の削減および処理時間の短縮を図ることができる。
The
Thereby, unnecessary stage calculation is omitted, and power consumption and processing time can be reduced.
図7は、実施の形態1における情報処理装置200のハードウェア資源の一例を示す図である。
図7において、情報処理装置200(コンピュータの一例)は、CPU901(Central Processing Unit)を備えている。CPU901は、バス902を介してROM903、RAM904、通信ボード905(通信装置)、ディスプレイ911(表示装置)、キーボード912、マウス913、ドライブ914、磁気ディスク装置920などのハードウェアデバイスと接続され、これらのハードウェアデバイスを制御する。ドライブ914は、FD(Flexible Disk Drive)、CD(Compact Disc)、DVD(Digital Versatile Disc)などの記憶媒体を読み書きする装置である。
ROM903、RAM904、磁気ディスク装置920およびドライブ914は記憶装置の一例である。キーボード912、マウス913および通信ボード905は入力装置の一例である。ディスプレイ911および通信ボード905は出力装置の一例である。
FIG. 7 is a diagram illustrating an example of hardware resources of the
In FIG. 7, the information processing apparatus 200 (an example of a computer) includes a CPU 901 (Central Processing Unit). The
The
通信ボード905は、有線または無線で、LAN(Local Area Network)、インターネット、電話回線などの通信網に接続している。
The
磁気ディスク装置920には、OS921(オペレーティングシステム)、プログラム群922、ファイル群923が記憶されている。
The
プログラム群922には、実施の形態において「〜部」として説明する機能を実行するプログラムが含まれる。プログラム(例えば、フーリエ変換プログラム)は、CPU901により読み出され実行される。すなわち、プログラムは、「〜部」としてコンピュータを機能させるものであり、また「〜部」の手順や方法をコンピュータに実行させるものである。
The
ファイル群923には、実施の形態において説明する「〜部」で使用される各種データ(入力、出力、判定結果、計算結果、処理結果など)が含まれる。
The
実施の形態において構成図およびフローチャートに含まれている矢印は主としてデータや信号の入出力を示す。
フローチャートなどに基づいて説明する実施の形態の処理はCPU901、記憶装置、入力装置、出力装置などのハードウェアを用いて実行される。
In the embodiment, arrows included in the configuration diagrams and flowcharts mainly indicate input and output of data and signals.
The processing of the embodiment described based on the flowchart and the like is executed using hardware such as the
実施の形態において「〜部」として説明するものは「〜回路」、「〜装置」、「〜機器」であってもよく、また「〜ステップ」、「〜手順」、「〜処理」であってもよい。すなわち、「〜部」として説明するものは、ファームウェア、ソフトウェア、ハードウェアまたはこれらの組み合わせのいずれで実装されても構わない。 In the embodiment, what is described as “to part” may be “to circuit”, “to apparatus”, and “to device”, and “to step”, “to procedure”, and “to processing”. May be. That is, what is described as “to part” may be implemented by any of firmware, software, hardware, or a combination thereof.
FFT演算回路100は本実施の形態で説明したものに限らない。
例えば、クリップ部160にてシフトを行う際に丸めを行う場合は、クリップ部160における丸めによる桁上りの影響を加味し、例えば最終ステージ最大値Mを「M=B+r+C+1」で算出して判定を行ってもよい。
また、本実施の形態では基数2の場合の判定の例を記載したが、基数が2以外のバタフライ演算を行う場合も同様に1ステージの範囲増加分を残りステージ数で累乗することで同様の判定を行うことができる。またクリップ部160は、停止信号105が出力された場合に「0」以外の値(例えば、システム最小値)を出力しても構わない。
The
For example, when rounding is performed when the
In the present embodiment, an example of determination in the case of
実施の形態1において、例えば、以下のようなフーリエ変換回路(FFT演算回路100)について説明した。括弧内に実施の形態1で用いた要素名を記す。
フーリエ変換回路は、最小指標値記憶部(比較判定部155)と、入力部(RAM部120)と、ステージ演算部(ステージ演算部110)と、予測指標値算出部(最終値予測部154)と、予測指標値判定部(比較判定部155)と、ステージ演算停止部(比較判定部155)とを備える。
最小指標値記憶部は、所定の値として最小指標値(最小値情報109)を記憶する。
入力部は、入力値(入力データ101)が入力される。
ステージ演算部は、前記入力部に入力された入力値を用いてフーリエ変換のステージ演算を所定のステージ回数実行し、フーリエ変換のステージ演算を実行する毎に演算値(演算結果データ102)を算出すると共に算出した演算値を演算値記憶部(RAM部120)に記憶する。
予測指標値算出部は、前記ステージ演算部がフーリエ変換のステージ演算を実行する毎に、前記ステージ演算部によって算出された演算値に基づいて、前記ステージ演算部がフーリエ変換のステージ演算を前記所定のステージ回数実行した場合に算出する演算値の範囲を予測して予測指標値(最終ステージ最大値)を算出する。
予測指標値判定部は、前記ステージ演算部がフーリエ変換のステージ演算を実行する毎に、前記予測指標値算出部によって算出された予測指標値と前記最小指標値記憶部に記憶された最小指標値との関係により前記ステージ演算の停止を判定する。
ステージ演算停止部は、前記予測指標値判定部の判定結果が前記ステージ演算の停止を示す場合、前記ステージ演算部と前記演算値記憶部との少なくともいずれかを停止させる。
In the first embodiment, for example, the following Fourier transform circuit (FFT operation circuit 100) has been described. The element names used in
The Fourier transform circuit includes a minimum index value storage unit (comparison / determination unit 155), an input unit (RAM unit 120), a stage calculation unit (stage calculation unit 110), and a predicted index value calculation unit (final value prediction unit 154). And a prediction index value determination unit (comparison determination unit 155) and a stage calculation stop unit (comparison determination unit 155).
The minimum index value storage unit stores a minimum index value (minimum value information 109) as a predetermined value.
An input value (input data 101) is input to the input unit.
The stage calculation unit performs a Fourier transform stage calculation a predetermined number of times using the input value input to the input unit, and calculates a calculation value (calculation result data 102) each time the Fourier transform stage calculation is executed. In addition, the calculated calculation value is stored in the calculation value storage unit (RAM unit 120).
The prediction index value calculation unit is configured so that the stage calculation unit performs the Fourier transform stage calculation based on the calculation value calculated by the stage calculation unit each time the stage calculation unit executes the Fourier transform stage calculation. The prediction index value (final stage maximum value) is calculated by predicting the range of the calculation value calculated when the number of stages is executed.
The prediction index value determination unit is configured such that the prediction index value calculated by the prediction index value calculation unit and the minimum index value stored in the minimum index value storage unit each time the stage calculation unit executes a stage calculation of Fourier transform. The stop of the stage calculation is determined based on the relationship.
The stage calculation stop unit stops at least one of the stage calculation unit and the calculation value storage unit when the determination result of the prediction index value determination unit indicates the stop of the stage calculation.
100 FFT演算回路、101 入力データ、102 演算結果データ、103 最大桁、104 シフト制御情報、105 停止信号、106 出力データ、107 増加ビット数テーブル、109 最小値情報、110 ステージ演算部、120 RAM部、130 最大桁検出部、140 シフト制御部、150 停止判定部、151 残ステージカウンタ部、152 増加ビット算出部、153 ステージ指数管理部、154 最終値予測部、155 比較判定部、160 クリップ部、200 情報処理装置、210 情報処理部、220 フーリエ変換部、901 CPU、902 バス、903 ROM、904 RAM、905 通信ボード、911 ディスプレイ、912 キーボード、913 マウス、914 ドライブ、920 磁気ディスク装置、921 OS、922 プログラム群、923 ファイル群。
100 FFT operation circuit, 101 input data, 102 operation result data, 103 maximum digit, 104 shift control information, 105 stop signal, 106 output data, 107 increment bit number table, 109 minimum value information, 110 stage operation unit, 120
Claims (10)
入力値が入力される入力部と、
前記入力部に入力された入力値を用いてフーリエ変換のステージ演算を所定のステージ回数実行し、フーリエ変換のステージ演算を実行する毎に演算値を算出すると共に算出した演算値を演算値記憶部に記憶するステージ演算部と、
前記ステージ演算部がフーリエ変換のステージ演算を実行する毎に、前記ステージ演算部によって算出された演算値に基づいて、前記ステージ演算部がフーリエ変換のステージ演算を前記所定のステージ回数実行した場合に算出する演算値の範囲を予測して予測指標値を算出する予測指標値算出部と、
前記ステージ演算部がフーリエ変換のステージ演算を実行する毎に、前記予測指標値算出部によって算出された予測指標値と前記最小指標値記憶部に記憶された最小指標値との関係により前記ステージ演算の停止を判定する予測指標値判定部と、
前記予測指標値判定部の判定結果が前記ステージ演算の停止を示す場合、前記ステージ演算部と前記演算値記憶部との少なくともいずれかを停止させるステージ演算停止部と
を備えることを特徴とするフーリエ変換回路。 A minimum index value storage unit that stores a minimum index value as a predetermined value;
An input unit for inputting an input value;
The Fourier transform stage calculation is performed a predetermined number of times using the input value input to the input unit, and the calculated value is calculated every time the Fourier transform stage calculation is performed, and the calculated calculated value is stored in the calculated value storage unit. A stage calculation unit to store in
Each time the stage calculation unit executes a Fourier transform stage calculation, the stage calculation unit executes the Fourier transform stage calculation a predetermined number of times based on the calculation value calculated by the stage calculation unit. A prediction index value calculation unit that calculates a prediction index value by predicting a range of calculation values to be calculated;
Each time the stage calculation unit performs a Fourier transform stage calculation, the stage calculation is performed according to the relationship between the prediction index value calculated by the prediction index value calculation unit and the minimum index value stored in the minimum index value storage unit. A prediction index value determination unit for determining stoppage of
And a stage calculation stop unit that stops at least one of the stage calculation unit and the calculation value storage unit when the determination result of the prediction index value determination unit indicates the stop of the stage calculation. Conversion circuit.
前記予測指標値判定部の判定結果が前記ステージ演算の停止を示す場合、予め決められた出力値を出力する演算結果出力部を備える
ことを特徴とする請求項1記載のフーリエ変換回路。 The Fourier transform circuit further includes:
The Fourier transform circuit according to claim 1, further comprising a calculation result output unit that outputs a predetermined output value when the determination result of the prediction index value determination unit indicates that the stage calculation is stopped.
ことを特徴とする請求項1から請求項3いずれかに記載のフーリエ変換回路。 The prediction index value calculation unit includes the number of remaining stages corresponding to a value obtained by subtracting the number of executions of the stage calculation of the Fourier transform performed by the stage calculation unit from the predetermined number of stages and the calculation value calculated by the stage calculation unit. The Fourier transform circuit according to any one of claims 1 to 3, wherein the prediction index value is calculated based on:
前記予測指標値算出部は、前記残りステージ数と同じステージ回数に対応付けられた演算値の予測増加量を前記予測増加量記憶部から取得し、取得した演算値の予測増加量と前記ステージ演算部によって算出された演算値とに基づいて前記予測指標値を算出する
ことを特徴とする請求項4記載のフーリエ変換回路。 The Fourier transform circuit further includes a predicted increase amount storage unit that associates the number of stages with the predicted increase amount of the operation value,
The predicted index value calculation unit acquires a predicted increase amount of a calculation value associated with the same number of stages as the number of remaining stages from the predicted increase amount storage unit, and acquires the predicted increase amount of the calculated value and the stage calculation The Fourier transform circuit according to claim 4, wherein the prediction index value is calculated based on the calculated value calculated by the unit.
前記予測指標値算出部は、前記残りステージ数と同じステージ回数に対応付けられた増加桁数と前記演算値の桁数とに基づいて予測桁数を前記予測指標値として算出する
ことを特徴とする請求項5記載のフーリエ変換回路。 The predicted increase amount storage unit stores an increased number of digits as a predicted increase amount of the calculated value,
The prediction index value calculation unit calculates a prediction digit number as the prediction index value based on an increased number of digits associated with the same number of stages as the number of remaining stages and a number of digits of the calculation value. The Fourier transform circuit according to claim 5.
ことを特徴とする請求項5または請求項6記載のフーリエ変換回路。 The predicted increase amount storage unit stores, as the predicted increase amount, a value obtained by rounding up the decimal point of the logarithmic value with 2 as the base for a value obtained by raising 1 + √2 (√2 is the square root of 2) by the number of stages. 7. The Fourier transform circuit according to claim 5, wherein the Fourier transform circuit is provided.
ことを特徴とする請求項1から請求項7いずれかに記載のフーリエ変換回路。 The stage calculation unit determines to stop the stage calculation when the predicted index value and the minimum index value indicate a predetermined magnitude relationship. 8. Fourier transform circuit.
ことを特徴とする請求項1から請求項8いずれかに記載のフーリエ変換回路。 The Fourier transform circuit according to claim 1, wherein the stage calculation unit performs a radix-2 butterfly calculation.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012137867A JP5822791B2 (en) | 2012-06-19 | 2012-06-19 | Fourier transform circuit, information processing apparatus, Fourier transform method, and Fourier transform program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012137867A JP5822791B2 (en) | 2012-06-19 | 2012-06-19 | Fourier transform circuit, information processing apparatus, Fourier transform method, and Fourier transform program |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2014002588A JP2014002588A (en) | 2014-01-09 |
JP5822791B2 true JP5822791B2 (en) | 2015-11-24 |
Family
ID=50035702
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2012137867A Expired - Fee Related JP5822791B2 (en) | 2012-06-19 | 2012-06-19 | Fourier transform circuit, information processing apparatus, Fourier transform method, and Fourier transform program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5822791B2 (en) |
-
2012
- 2012-06-19 JP JP2012137867A patent/JP5822791B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2014002588A (en) | 2014-01-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7331303B2 (en) | Artificial Neural Network Training with Flexible Floating-Point Tensors | |
JP6111543B2 (en) | Method and apparatus for extracting similar sub time series | |
US10983773B2 (en) | Technologies for translation cache management in binary translation systems | |
CN107357642B (en) | Calculation task adjusting method and device | |
US20190340099A1 (en) | System resource component utilization | |
US20160292234A1 (en) | Method and system for searching in a distributed database | |
CN111489830A (en) | Method and device for predicting epidemic situation data in sections, medium and electronic equipment | |
US20130275812A1 (en) | Determining root cause | |
US10296290B2 (en) | Digital signal processor | |
JP6345346B2 (en) | Analysis apparatus, analysis method, and analysis program | |
JP5822791B2 (en) | Fourier transform circuit, information processing apparatus, Fourier transform method, and Fourier transform program | |
WO2020059073A1 (en) | Information processing device, method, and program | |
JP2020201646A (en) | Arithmetic processing device, control method, and control program | |
JP6464980B2 (en) | Program, information processing apparatus and information processing method | |
US11216275B1 (en) | Converting floating point data into integer data using a dynamically adjusted scale factor | |
US10459689B2 (en) | Calculation of a number of iterations | |
JP2018160165A (en) | Image processor, image processing method and program | |
CN112099759A (en) | Numerical value processing method, device, processing equipment and computer readable storage medium | |
JP2017228223A (en) | Signal processor | |
KR101084581B1 (en) | Method and Apparatus for Operating of Fixed-point Exponential Function, and Recording Medium thereof | |
WO2018150588A1 (en) | Information processing device, information processing method, and information processing program | |
CN112163185A (en) | FFT/IFFT operation device and FFT/IFFT operation method based on the same | |
JP7353539B2 (en) | Steady range determination system, steady range determination method, and steady range determination program | |
GB2596473A (en) | Risk calculation device, risk calculation program, and risk calculation method | |
WO2018167940A1 (en) | Information processing device, information processing method, and information processing program |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20141203 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20150813 |
|
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: 20150908 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20151006 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5822791 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |