JP5414434B2 - Fast Fourier transform arithmetic unit - Google Patents
Fast Fourier transform arithmetic unit Download PDFInfo
- Publication number
- JP5414434B2 JP5414434B2 JP2009211576A JP2009211576A JP5414434B2 JP 5414434 B2 JP5414434 B2 JP 5414434B2 JP 2009211576 A JP2009211576 A JP 2009211576A JP 2009211576 A JP2009211576 A JP 2009211576A JP 5414434 B2 JP5414434 B2 JP 5414434B2
- Authority
- JP
- Japan
- Prior art keywords
- fourier transform
- fast fourier
- shift amount
- unit
- bit shift
- 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
Landscapes
- Complex Calculations (AREA)
Description
この発明は、バタフライ演算を固定小数点演算で行い、FFT(高速フーリエ変換)演算またはIFFT(逆高速フーリエ変換)演算を繰り返し実行し続ける高速フーリエ変換演算装置に関するものである。 The present invention relates to a fast Fourier transform computing device that performs butterfly computation by fixed-point computation and continuously executes FFT (fast Fourier transform) computation or IFFT (inverse fast Fourier transform) computation.
一般に、固定小数点は、浮動小数点に比べて演算回路が簡単となり、回路規模を小さくできるという利点がある反面、扱うことのできる数のダイナミックレンジが狭いという問題を抱えている。なお、このような演算装置においては、入力されるデータの傾向が似通っている(急変することが少ない)問題を扱うことが多い。 In general, the fixed point has an advantage that the arithmetic circuit is simpler than the floating point and the circuit scale can be reduced, but the dynamic range of the number that can be handled is narrow. Such an arithmetic device often deals with a problem in which the tendency of input data is similar (rarely changes rapidly).
上記のようなダイナミックレンジが狭いという問題を改善するために、従来から、特定のバタフライ演算のみでビットシフトを行うという演算方法および演算装置が提案されている(たとえば、特許文献1参照)。
ただし、上記特許文献1では、バタフライ演算における桁あふれを監視しておらず、ビットシフトを行う位置を固定している。
In order to improve the problem that the dynamic range is narrow as described above, a calculation method and a calculation apparatus that perform bit shift only by a specific butterfly calculation have been conventionally proposed (for example, see Patent Document 1).
However, in the above-mentioned patent document 1, the overflow in the butterfly calculation is not monitored, and the position where the bit shift is performed is fixed.
従来の高速フーリエ変換演算装置は、上記特許文献1に記載のように、バタフライ演算で桁あふれが生じても、これを回避することができないという課題があった。 As described in Patent Document 1, the conventional fast Fourier transform arithmetic apparatus has a problem that even if overflow occurs in the butterfly calculation, this cannot be avoided.
この発明は、上記のような課題を解決するためになされたものであり、桁あふれが生じた場合に、ビットシフト量を更新することにより、後続データの演算処理の際に、桁あふれの発生を抑制することのできる高速フーリエ変換演算装置を得ることを目的とする。 The present invention has been made to solve the above-described problems. When overflow occurs, the bit shift amount is updated, thereby generating overflow in the subsequent data calculation process. An object of the present invention is to obtain a fast Fourier transform arithmetic unit capable of suppressing the above.
この発明に係る高速フーリエ変換演算装置は、入力データに対して、固定ビット長の固定小数点演算で高速フーリエ変換を行う複数のバタフライ演算部を有する高速フーリエ変換演算装置であって、前記入力データを取り込む入力線と、前記複数のバタフライ演算部の少なくとも1つの演算データに対してビットシフトを行うビットシフト部と、前記ビットシフト部のうちの最も下流側に設けられたビットシフト部に接続されて演算結果を出力する出力線と、前記ビットシフト部におけるビットシフト量を制御するシフト量制御部と、前記入力線の下流側に挿入されて前記入力データを蓄積する入力バッファと、前記出力線の上流側に挿入されて前記演算結果を蓄積する出力バッファと、を備え、前記複数のバタフライ演算部の少なくとも1つは、自身の桁あふれを検出する機能を有し、前記シフト量制御部は、前記複数のバタフライ演算部のいずれかで桁あふれが検出された場合に、前記ビットシフト量を調整するとともに、前記入力バッファに蓄積された入力データを、前記複数のバタフライ演算部のうちの最も上流側のバタフライ演算部に導入して、演算処理を再実行させるものである。 Fast Fourier transform arithmetic unit according to the present invention, the input data, a fast Fourier transform operation unit having a plurality of butterfly operation unit for performing fast Fourier transform by a fixed point arithmetic fixed bit length, said input data an input line for capturing the plurality of butterfly operation sections of the at least one bit shift unit that performs bit shift with respect to operation data, and is connected to the bit shifter most provided downstream of said bit shift unit an output line for outputting an operation result, and a shift amount control unit for controlling the bit shift amount in the bit shift unit, an input buffer for storing the input data is inserted downstream of the input line, said output line inserted upstream side and an output buffer for storing said operation result, at least one of the plurality of butterfly operation unit Has a function of detecting its own overflow, the shift amount control unit, when overflow in any of the plurality of butterfly operation unit is detected, thereby adjusting the bit shift amount, the The input data stored in the input buffer is introduced into the most upstream butterfly computation unit among the plurality of butterfly computation units, and the computation process is re-executed .
この発明によれば、桁あふれの有無に応じて、ビットシフト量(ビットシフト位置)を制御することにより、桁あふれが発生しても、その後のデータ処理においてビットシフトの制御を補正して、桁あふれの発生を抑制することができる。 According to the present invention, by controlling the bit shift amount (bit shift position) according to the presence or absence of a digit overflow, even if a digit overflow occurs, the bit shift control is corrected in the subsequent data processing, The occurrence of overflow can be suppressed.
実施の形態1.
以下、図面を参照しながら、この発明の実施の形態1について説明する。
図1はこの発明の実施の形態1に係る高速フーリエ変換演算装置を示すブロック構成図であり、最大で214(=16384)点のFFT(または、IFFT)演算を実行可能な構成を示している。
Embodiment 1 FIG.
Embodiment 1 of the present invention will be described below with reference to the drawings.
FIG. 1 is a block configuration diagram showing a fast Fourier transform calculation apparatus according to Embodiment 1 of the present invention, showing a configuration capable of executing FFT (or IFFT) calculation of 2 14 (= 16384) points at maximum. Yes.
図1において、高速フーリエ変換演算装置は、高速フーリエ変換の対象となる入力データを取り込む入力線1と、入力データに対して高速フーリエ変換演算を行う高速フーリエ変換部2と、高速フーリエ変換部2のビットシフト量を制御するシフト量制御部3と、高速フーリエ変換の結果(出力データ)を出力する出力線4とを備えている。
In FIG. 1, a fast Fourier transform calculation device includes an input line 1 that takes in input data to be subjected to fast Fourier transform, a fast Fourier
高速フーリエ変換部2は、バタフライ演算を行う14個(a、b、・・・、m、n)のバタフライ演算部5a〜5nと、ビットシフトを行うビットシフト部6a〜6nとを備えている。
バタフライ演算部5a〜5nとビットシフト部6a〜6nとは、交互にかつ順次に配置されるとともに、それぞれ、シフト量制御部3に接続されている。
The fast
The
すなわち、バタフライ演算部5a〜5nのデータ出力端子には、ビットシフト部6a〜6nが個別に接続され、バタフライ演算部5a〜5nは、ビットシフト部6a〜6mを介して順次に直列接続されており、最終段のビットシフト部6nには、出力線4が接続されている。
That is, bit shift units 6a to 6n are individually connected to data output terminals of
バタフライ演算部5a〜5nは、各々の演算データを、下段側のビットシフト部6a〜6nに個別に入力するとともに、シフト量制御部3に入力する。
ビットシフト部6a〜6nは、シフト量制御部3の制御下で入力データに対するビットシフトを行い、ビットシフト部6a〜6mは、下段側のバタフライ演算部5b〜5nに対して順次にビットシフト後のデータを入力し、最終段のビットシフト部6nは、出力線4を介して出力データを出力する。
The
The bit shift units 6a to 6n perform bit shift on the input data under the control of the shift
以下、図1に示したこの発明の実施の形態1に係る高速フーリエ変換演算装置の各部の機能および動作について説明する。
(1)まず、入力線1からのデータが、高速フーリエ変換部2内の最上段側のバタフライ演算部5aに入力される。
(2)高速フーリエ変換部2は、シフト量制御部3の指示にしたがって、入力データに対してFFT(または、IFFT)演算を順次に実行する。
(3)高速フーリエ変換部2は、最終的なFFT(または、IFFT)の演算結果を、ビットシフト部6nから出力線2を介して出力する。
The function and operation of each part of the fast Fourier transform arithmetic unit according to Embodiment 1 of the present invention shown in FIG. 1 will be described below.
(1) First, data from the input line 1 is input to the uppermost
(2) The fast Fourier
(3) The fast Fourier
(4)このとき、シフト量制御部3は、高速フーリエ変換部2内の各バタフライ演算部5a〜5nから「桁あふれ状況(または、最大値)」を取り込み、高速フーリエ変換部2内の各ビットシフト部6a〜6nに対する指示内容を更新する。
(5)以下、高速フーリエ変換部2およびシフト量制御部3は、次の入力データ(後続データ)に対して、上記(1)〜(4)の処理を実行する。
(4) At this time, the shift
(5) Hereinafter, the fast Fourier
次に、高速フーリエ変換部2の内部における動作について、さらに詳細に説明する。
(6)まず、最上段側のバタフライ演算部5aは、常に、入力データに対してバタフライ演算を実行して、演算データを下段側に出力する。
(7)バタフライ演算部5aは、バタフライ演算時の「桁あふれ」の有無情報を、シフト量制御部3に報告する。
(8)以下、下段側のバタフライ演算部5b〜5nは、バタフライ演算部5aと同じように、上記処理動作を順次に実行する。
Next, the operation inside the fast
(6) First, the
(7) The
(8) Hereinafter, the
(9)一方、バタフライ演算部5aに接続されたビットシフト部6aは、常に、入力データに対してビットシフトを行い、ビットシフト後のデータを出力する。このとき、ビットシフト部6aによるビットシフト量は、シフト量制御部3からの指示にしたがって決定される。
(10)以下、下段側のビットシフト部6b〜6nは、ビットシフト部6aと同じように、上記処理動作(9)を実行する。このとき、シフト量制御部3は、ビットシフト5a〜5nに対して、個別にビットシフト量を指示する。
(9) On the other hand, the bit shift unit 6a connected to the
(10) Hereinafter, the lower
以上の処理動作(1)〜(10)により、高速フーリエ変換演算装置は、高速フーリエ変換を実行し続けることができる。
なお、バタフライ演算部5a〜5nは、内部メモリ(図示せず)を有し、バタフライ演算の実行時に、データの入れ替え処理も同時に行う。
また、図1に示した高速フーリエ変換演算装置は、出力線4の後段処理(図示せず)で必要となる場合には、桁あふれの有無やビットシフト量の情報を、後段処理に渡すことができるように構成されているものとする。
With the above processing operations (1) to (10), the fast Fourier transform arithmetic unit can continue to perform the fast Fourier transform.
The
In addition, the Fast Fourier Transform arithmetic unit shown in FIG. 1 passes the information on the presence / absence of overflow and the bit shift amount to the post-stage process when necessary in the post-process (not shown) of the
ここで、シフト量制御部3の動作例について補足説明する。
シフト量制御部3は、シミュレーション結果や事前観測結果に基づいて、ビットシフト部6a〜6nに対するシフト量の初期値を定める。これにより、各ビットシフト部6a〜6nは、それぞれに指定されたシフト量のビットシフトを行う。
Here, the operation example of the shift
The shift
このとき、各ビットシフト部6a〜6nに対するシフト量の初期値は、たとえば、以下のような値に定められる。
奇数番目のビットシフト部6a、6c、6e、6g、6i、6k、6mに対するシフト量は、「1」に設定される。
偶数番目のビットシフト部6b、6d、6f、6h、6j、6l、6nに対するシフト量は、「0」に設定される。
At this time, the initial value of the shift amount for each of the bit shift units 6a to 6n is set to the following value, for example.
The shift amounts for the odd-numbered
The shift amounts for the even-numbered
シフト量制御部3は、バタフライ演算部5b〜5nのいずれかから「桁あふれ」が報告された場合に、「桁あふれ」を報告したバタフライ演算部の上段側に接続されたビットシフト部のシフト量を変更する。
The shift
このときのシフト量の変更処理は、具体的には、たとえば以下のように実行される。
「桁あふれ」を検出したバタフライ演算部よりも上段側で、かつ、「桁あふれ」を検出したバタフライ演算部に最も近い位置のビットシフト部の値を「1」だけ増加させる。
なお、バタフライ演算部5aから「桁あふれ」が報告された場合には、一過性のものと見なして、特に対処(シフト量の変更処理)を行わないものとする。
Specifically, the shift amount changing process at this time is executed as follows, for example.
The value of the bit shift unit on the upper side of the butterfly operation unit that detects “overflow” and closest to the butterfly operation unit that detects “overflow” is increased by “1”.
When “overflow” is reported from the
以上のように、この発明の実施の形態1(図1)に係る高速フーリエ変換演算装置は、入力データに対して、固定ビット長の固定小数点演算で高速フーリエ変換を行う複数のバタフライ演算部5a〜5nを有する高速フーリエ変換演算装置であって、入力データを取り込む入力線1と、複数のバタフライ演算部5a〜5nの少なくとも1つの演算データに対してビットシフトを行うビットシフト部6a〜6nと、ビットシフト部6a〜6nのうちの最終段のビットシフト部6nに接続されて演算結果を出力する出力線4と、ビットシフト部6a〜6nにおけるビットシフト量を制御するシフト量制御部3とを備えている。
As described above, the fast Fourier transform operation apparatus according to Embodiment 1 (FIG. 1) of the present invention performs a plurality of
複数のバタフライ演算部5a〜5nの少なくとも1つは、自身の桁あふれを検出する機能を有し、シフト量制御部3は、複数のバタフライ演算部5a〜5nのいずれかで「桁あふれ」が検出された場合に、ビットシフト部6a〜6n(の少なくとも1つ)のビットシフト量を調整(変更)する。
このシフト量変更処理により、同様の傾向を有する後続データに対してFFT(または、IFFT)演算を行う際に、「桁あふれ」の発生を抑制することができる。
At least one of the plurality of
By this shift amount changing process, it is possible to suppress the occurrence of “overflow” when performing FFT (or IFFT) operation on subsequent data having the same tendency.
なお、上記説明では、バタフライ演算部5aから「桁あふれ」が報告された場合に対処しなかったが、シフト量制御部3から入力線1の前段処理部に向けて制御線(図示せず)を設け、バタフライ演算部5aから「桁あふれ」が報告された場合に、バタフライ演算部5aの前段処理に対して、シフト量制御部3から入力データのレベル値の低解させる要求を出力してもよい。これにより、バタフライ演算部5aにおける「桁あふれ」も抑制することができる。
In the above description, the case where “overflow” is reported from the
また、バタフライ演算部5aにおける「桁あふれ」を抑制するために、バタフライ演算部5aの上段側にビットシフト部(図示せず)を増設し、増設したビットシフト部に対して、シフト量制御部3からシフト量「1」を指定してもよい。
これにより、同様の傾向を有する後続データにFFT(または、IFFT)演算を行う際に、バタフライ演算部5aでの「桁あふれ」の発生が一過性とならない場合であっても、「桁あふれ」の発生を抑制することができる。
Further, in order to suppress “digit overflow” in the
As a result, when performing the FFT (or IFFT) operation on the subsequent data having the same tendency, even if the occurrence of “digit overflow” in the
実施の形態2.
上記実施の形態1(図1)では、バタフライ演算部5a〜5nとビットシフト部6a〜6nとにより14個の対を構成し、かつ、ビットシフト部6a〜6nの各シフト量を任意に設定したが、偶数番目のビットシフト部6b、6d、6f、6h、6j、6l、6nを削減して、2回のバタフライ演算処理に対して1回のビットシフト処理を行うように構成してもよい。
In the first embodiment (FIG. 1), the
また、上記のようにビットシフト部を削減する代わりに、図1の構成を変更せずに、各ビットシフト部6a〜6nで指定可能なシフト量を最大「1」としてもよい。
以下、シフト量を最大「1」とした場合のシフト量制御部3の動作について、補足説明する。
Further, instead of reducing the bit shift units as described above, the maximum shift amount that can be designated by each of the bit shift units 6a to 6n may be set to “1” without changing the configuration of FIG.
Hereinafter, the operation of the shift
この場合、シフト量制御部3は、バタフライ演算部5b〜5nのいずれかから「桁あふれ」が報告された場合に、以下の条件(a)〜(c)のすべてを満たすビットシフト部のシフト量を「1」に変更する。
(a)「桁あふれ」を検出したバタフライ演算部よりも上段側に位置する。
(b)シフト量が「0」である。
(c)上記(a)、(b)の両方を満たすビットシフト部のうち、最も下段側に位置する。
In this case, the shift
(A) It is located on the upper side of the butterfly calculation unit that detects “overflow”.
(B) The shift amount is “0”.
(C) Among the bit shift units satisfying both (a) and (b), it is located on the lowermost side.
なお、上記シフト量変更処理において、シフト量が更新されるビットシフト部は、14個のビットシフト部6a〜6nのうちの1個のみであるが、シフト量が更新されたビットシフト部よりも下段側のすべてのビットシフト部のシフト量を変更してもよい。
たとえば、前述の条件(a)〜(c)を満たすビットシフト部が、ビットシフト部6dのみであった場合、ビットシフト部6dおよび下段側のビットシフト部6e〜6nのシフト量(「0」または「1」)が反転することになる。
In the shift amount changing process, the shift amount is updated by only one of the 14 bit shift units 6a to 6n, but is more than the bit shift unit having the updated shift amount. The shift amounts of all the bit shift units on the lower side may be changed.
For example, when the bit shift unit that satisfies the above-described conditions (a) to (c) is only the bit shift unit 6d, the shift amount (“0”) of the bit shift unit 6d and the lower-stage bit shift units 6e to 6n. Or “1”) will be inverted.
このシフト量変更処理の場合、ビットシフト部6a〜6nのうちの1個のみのシフト量を「1」に変更する場合よりも、「桁あふれ」に対する抑制作用が弱くなるので、シフト量制御部3は、「桁あふれ」に対して、さらに緩やかな調整を行うことができる。
これにより、「桁あふれ」の発生を抑制しつつ、さらに小さい回路規模で高速フーリエ変換演算装置を実現することができる。
In the case of this shift amount changing process, the effect of suppressing “overflow” is weaker than when only one shift amount of the bit shift units 6a to 6n is changed to “1”. 3 can perform a more gradual adjustment for “overflow”.
As a result, it is possible to realize a fast Fourier transform operation device with a smaller circuit scale while suppressing the occurrence of “overflow”.
なお、以上の説明では、シフト量制御部3において、バタフライ演算部5a〜5nのうちのどこで「桁あふれ」が発生したかが検出可能な場合を例にとって説明したが、「桁あふれ」の発生の有無さえ検出できれば、バタフライ演算部5a〜5nのうちのどこで発生したかが検出不可能な場合であっても、上記と同様の対応を行うことができる。
In the above description, the shift
たとえば、「桁あふれ」の発生位置が区別不可能な場合、「桁あふれ」の発生箇所を、以下の基準(A)または(B)のいずれか一方で設定することにより、前述の対応が可能になる。
(A)最終段のバタフライ演算部5nで発生したと見なす。
(B)シフト量が「0」であるビットシフト部のうち、最も上段側に位置するビットシフト部の直後のバタフライ演算部で発生したものと見なす。
上記基準(A)、(B)のいずれを採用するかは、高速フーリエ変換演算装置の使用目的などに応じて任意に選択され得る。
For example, if the occurrence location of “overflow” is indistinguishable, the above-mentioned measures can be taken by setting the occurrence location of “overflow” in one of the following criteria (A) or (B) become.
(A) It is considered that it occurred in the
(B) Among the bit shift units having a shift amount of “0”, it is considered that the signal is generated in the butterfly operation unit immediately after the bit shift unit located on the uppermost side.
Which of the above criteria (A) and (B) is adopted can be arbitrarily selected according to the purpose of use of the fast Fourier transform arithmetic unit.
以上のように、この発明の実施の形態2によれば、前述の実施の形態1よりも構成が簡略化するので、さらに小さい回路規模で高速フーリエ変換演算装置を実現することができる。 As described above, according to the second embodiment of the present invention, since the configuration is simplified as compared with the first embodiment described above, a fast Fourier transform arithmetic apparatus can be realized with a smaller circuit scale.
実施の形態3.
なお、上記実施の形態1(図1)では、最終段のビットシフト部6nを出力線4に接続したが、図2のように、ビットシフト部6nと出力線4との間に最大値検出部7を挿入してもよい。
In the first embodiment (FIG. 1), the
図2はこの発明の実施の形態3に係る高速フーリエ変換演算装置を示すブロック構成図であり、前述(図1参照)と同様のものについては、前述と同一符号を付して、または、符号の後に「A」を付して詳述を省略する。
この場合、図1との相違点は、高速フーリエ変換部2A内に最大値検出部7が追加された点のみである。
FIG. 2 is a block diagram showing a fast Fourier transform arithmetic unit according to
In this case, the only difference from FIG. 1 is that a
以下、図2に示したこの発明の実施の形態3による動作について説明する。
図2において、最大値検出部7は、ビットシフト部6nからの出力データに基づいて、FFT(または、IFFT)の演算結果の塊ごとに絶対値の最大値を検出し、最大値をシフト量制御部3Aに報告するとともに、出力線4を介して外部に出力する。
The operation according to the third embodiment of the present invention shown in FIG. 2 will be described below.
In FIG. 2, the maximum
シフト量制御部3Aは、最大値検出部7から受け取った最大値が所定値よりも小さい場合には、ビットシフト部6a〜6nに指示するシフト量を削減する。
たとえば、各データのビット幅が「16ビット」であるのに対し、受け取った最大値が213(=8192)未満であった場合には、出力データ値を4倍にしても16ビットの表現範囲内に収まることが明らかなので、ビットシフト部6a〜6nのうちでシフト量が「1」以上で、かつ、最も下段側に位置するビットシフト部のシフト量を「1」だけ減らす。
When the maximum value received from the maximum
For example, when the bit width of each data is “16 bits” but the received maximum value is less than 2 13 (= 8192), even if the output data value is quadrupled, the 16-bit representation Since it is clear that it falls within the range, among the bit shift units 6a to 6n, the shift amount is “1” or more, and the shift amount of the bit shift unit located on the lowest side is reduced by “1”.
これにより、「桁あふれ」を抑制すると同時に、出力データ値の大きさが小さいレベルに固定されることを防ぐことができる。 As a result, “digit overflow” can be suppressed, and at the same time, the size of the output data value can be prevented from being fixed to a small level.
なお、前述の図1(最大値検出部7を有していない)の構成においても、以下のシフト量制御部3の動作(A1)、(A2)を選択することにより、同様に、「桁あふれ」を抑制すると同時に、出力データ値の大きさが小さいレベルに固定されることを防ぐことができる。
In the configuration shown in FIG. 1 (not including the maximum value detection unit 7), by selecting the following operations (A1) and (A2) of the shift
(A1)「桁あふれ」が発生しない期間が設定値を超えた場合に、シフト量を初期値に戻す。
(A2)シフト量の変更履歴を保持し、「桁あふれ」が発生しない期間が設定値を超えるごとに、変更履歴を逆にたどって、順次に変更を元に戻す。
(A1) When the period during which “digit overflow” does not occur exceeds the set value, the shift amount is returned to the initial value.
(A2) The shift amount change history is retained, and each time the period during which “digit overflow” does not occur exceeds the set value, the change history is reversed to sequentially reverse the changes.
以上のように、この発明の実施の形態3(図2)に係る高速フーリエ変換演算装置によれば、出力線4の上段側に挿入された最大値検出部7を備え、シフト量制御部3Aは、最大値検出部7の検出結果に応じて、ビットシフト量を調整するので、図1の(最大値検出部7を有していない)構成においても、「桁あふれ」を抑制すると同時に、出力データ値の大きさが小さいレベルに固定されることを防ぐことができる。
As described above, according to the fast Fourier transform arithmetic unit according to Embodiment 3 (FIG. 2) of the present invention, the
実施の形態4.
なお、上記実施の形態3(図2)では、出力線4の上段側に最大値検出部7のみを挿入したが、図3のように、入力線1の下段側に入力バッファ8を挿入するとともに、出力線4の上段側にさらに出力バッファ9を挿入してもよい。
In the third embodiment (FIG. 2), only the maximum
図3はこの発明の実施の形態4に係る高速フーリエ変換演算装置を示すブロック構成図であり、前述(図1、図2参照)と同様のものについては、前述と同一符号を付して、または、符号の後に「B」を付して詳述を省略する。
この場合、図2との相違点は、高速フーリエ変換部2B内に入力バッファ8および出力バッファ9が追加された点のみである。
FIG. 3 is a block diagram showing a fast Fourier transform arithmetic unit according to
In this case, the only difference from FIG. 2 is that an input buffer 8 and an output buffer 9 are added in the fast
入力バッファ8は、後述する「桁あふれ」の発生時において、シフト量制御部3Bの制御下で、蓄積した入力データを再送する。
また、出力バッファ9は、「桁あふれ」の発生時において、シフト量制御部3Bの制御下で、蓄積した出力データを破棄する。
The input buffer 8 retransmits the accumulated input data under the control of the shift
The output buffer 9 discards the accumulated output data under the control of the shift
以下、図3を参照しながら、この発明の実施の形態4による動作について、前述との相違部に着目して説明する。
まず、入力線1から入力されたデータは、一度、入力バッファ8に蓄えられ、入力バッファ8を介して高速フーリエ変換部2Bに取り込まれる。
Hereinafter, the operation according to the fourth embodiment of the present invention will be described with reference to FIG. 3 while focusing on the difference from the above.
First, data input from the input line 1 is once stored in the input buffer 8 and taken into the fast
以下、高速フーリエ変換部2Bは、入力データに対して高速フーリエ変換演算を行い、演算結果を、最大値検出部7を介して出力バッファ9に蓄えた後、出力線4から演算結果(出力データ)を出力する。
Thereafter, the fast
このとき、バタフライ演算部5a〜5nのいずれにおいても「桁あふれ」が発生していなければ、データは、入力バッファ8および出力バッファ9を経由するのみであり、前述と比べて、出力線4から得られる出力データ値に変化はない。
At this time, if no “overflow” has occurred in any of the
一方、バタフライ演算部5a〜5nのいずれかで「桁あふれ」が発生した場合には、次の動作(B1)〜(B5)により対処が可能になる。
(B1)「桁あふれ」が発生したバタフライ演算部は、「桁あふれ」をシフト量制御部3Bに報告する。
(B2)すべてのバタフライ演算部5a〜5nは、一度、演算処理を打ち切る。
(B3)出力バッファ9は、既に演算済みのデータを途中まで受け取っていたとしても、これを破棄する。
(B4)シフト量制御部3Bは、ビットシフト部6a〜6nのシフト量を更新する。
(B5)シフト量制御部3Bは、入力バッファ8にデータの再送を指示する。
On the other hand, when a “digit overflow” occurs in any of the
(B1) The butterfly operation unit in which “overflow” has occurred reports “overflow” to the shift
(B2) All
(B3) Even if the output buffer 9 has already received halfway data, it discards it.
(B4) The shift
(B5) The shift
以上のように、この発明の実施の形態4(図3)に係る高速フーリエ変換演算装置は、入力線1の下段側に挿入されて入力データを蓄積する入力バッファ8と、出力線4の上段側に挿入されて演算結果を蓄積する出力バッファ9とを備えている。
As described above, the fast Fourier transform arithmetic operation apparatus according to Embodiment 4 (FIG. 3) of the present invention includes the input buffer 8 inserted in the lower stage side of the input line 1 and stores the input data, and the upper stage of the
シフト量制御部3Bは、複数のバタフライ演算部5a〜5nのいずれかで「桁あふれ」が発生した場合に、ビットシフト部のビットシフト量を調整するとともに、入力バッファ8に蓄積された入力データを、複数のバタフライ演算部5a〜5nのうちの最上段のバタフライ演算部5aに導入して、演算処理を再実行させる。
これにより、「桁あふれ」が生じていないFFT(または、IFFT)の演算結果を、出力線4の下段側に送ることができる。
The shift
As a result, the operation result of FFT (or IFFT) in which “digit overflow” does not occur can be sent to the lower stage side of the
実施の形態5.
なお、上記実施の形態4(図3)では、各FFT(または、IFFT)演算を独立に扱うものとしたが、複数回分(たとえば、8000個分)を1つの塊として扱い、その塊内においては、同一のシフト量で演算処理を施してもよい。
Embodiment 5 FIG.
In the fourth embodiment (FIG. 3), each FFT (or IFFT) operation is handled independently. However, a plurality of times (for example, 8000) are handled as one lump, May perform arithmetic processing with the same shift amount.
ただし、図3の構成において、1つの塊とする数が大きい場合には、何度もやり直しが発生して、大幅に処理時間が増大する可能性がある。
したがって、処理時間の増大を回避するために、シフト量制御部3Bの制御下で、以下の動作を行うことが望ましい。
However, in the configuration of FIG. 3, if the number of one block is large, redoing may occur many times, and processing time may increase significantly.
Therefore, in order to avoid an increase in processing time, it is desirable to perform the following operation under the control of the shift
図3において、まず、シフト量制御部3Bは、塊の中から数個のFFT(または、IFFT)をサンプルとして取り出し、入力バッファ8を介して高速フーリエ変換部2Bに導入する。
以下、高速フーリエ変換部2Bによる演算処理において「桁あふれ」が発生すれば、前述のようにシフト量を調整し、すべてのサンプルに対して上記を施す。この間、出力バッファ9は、受け取るデータをすべて破棄する。
In FIG. 3, first, the shift
Hereinafter, if “digit overflow” occurs in the arithmetic processing by the fast
続いて、入力バッファ8は、1つの塊内のデータのすべてを高速フーリエ変換部2Bに導入し、高速フーリエ変換部2Bは、高速フーリエ変換を行う。このとき、「桁あふれ」が発生しても、シフト量の更新や演算処理のやり直しは行わない。
Subsequently, the input buffer 8 introduces all of the data in one block to the fast
なお、「桁あふれ」の発生時において、出力バッファ9は、サンプルとして処理した結果を破棄せず、また、入力バッファ8は、高速フーリエ変換部2Bに導入するデータをサンプル以外に限定することにより、サンプルに対する重複処理を回避してもよい。
上記動作により、「桁あふれ」を完全には抑制することができないものの、処理時間の大幅な増加を招かずに処理を行う高速フーリエ変換演算装置を得ることができる。
When “digit overflow” occurs, the output buffer 9 does not discard the result processed as a sample, and the input buffer 8 limits the data to be introduced into the fast
With the above operation, although it is impossible to completely suppress “overflow”, it is possible to obtain a fast Fourier transform arithmetic unit that performs processing without causing a significant increase in processing time.
以上のように、この発明の実施の形態5によれば、シフト量制御部3Bは、複数回の高速フーリエ変換演算処理を1つの塊として、1つの塊の間のビットシフト量を共通に設定し、1つの塊として演算処理を行う。
また、シフト量制御部3Bは、1つの塊の中からサンプルを取得して、サンプルに対してビットシフト量を決定する。
As described above, according to the fifth embodiment of the present invention, the shift
The shift
これにより、1つの塊内の処理条件を同一にすることができる。
また、出力線4よりも後段の処理において、同一塊内の異なるFFT(または、IFFT)の演算結果について、相互に比較および参照する処理を行うことができる。
Thereby, the processing conditions in one lump can be made the same.
Further, in the processing subsequent to the
実施の形態6.
なお、上記実施の形態1〜5(図1〜図3)では、単一の高速フーリエ変換部に対してビットシフト量を制御したが、図4のように、複数の高速フーリエ変換部2a〜2dに対してビットシフト量を制御してもよい。
Embodiment 6 FIG.
In the first to fifth embodiments (FIGS. 1 to 3), the bit shift amount is controlled for a single fast Fourier transform unit. However, as shown in FIG. 4, a plurality of fast
図4はこの発明の実施の形態6に係る高速フーリエ変換演算装置を示すブロック構成図であり、前述(図1参照)と同様のものについては、前述と同一符号を付して、または、符号の後に「C」を付して詳述を省略する。 FIG. 4 is a block diagram showing a fast Fourier transform arithmetic unit according to Embodiment 6 of the present invention. Components similar to those described above (see FIG. 1) are denoted by the same reference numerals as those described above, or Is followed by "C" and detailed description is omitted.
図4において、高速フーリエ変換演算装置は、直列配置された複数(たとえば、4個)の高速フーリエ変換部2a〜2dと、高速フーリエ変換部2a、2cの出力データを蓄えるメモリ11a、11bと、高速フーリエ変換部2bと高速フーリエ変換部2cとの間に挿入されて任意の処理を行う中間処理部12とを備えている。
In FIG. 4, the fast Fourier transform arithmetic unit includes a plurality of (for example, four) fast
入力線1は、最上段の高速フーリエ変換部2aに接続され、演算結果を出力する出力線4は、最終段の高速フーリエ変換部2dに接続されている。
シフト量制御部3Cは、高速フーリエ変換部2a〜2dのビットシフト量を制御する。
高速フーリエ変換部2a〜2dは、それぞれ、前述の実施の形態1〜5のいずれかで示したものと同様の構成を有している。
The input line 1 is connected to the uppermost fast
The shift
The fast
ここでは、高速フーリエ変換演算処理を複数回実行する一例として、まず、高速フーリエ変換部2a、2bにおいて2次元FFT演算を行い、中間処理部12において中間処理を施した後で、さらに、高速フーリエ変換部2c、2dにおいて2次元IFFT演算を行う場合の構成を示している。
Here, as an example of executing the fast Fourier transform operation processing a plurality of times, first, the fast
図5はこの発明の実施の形態6による演算処理を示す説明図である。
図5において、2次元FFTは、2次元データ100に対して、横軸の1次元FFT演算と縦軸の1次元FFT演算との両方を行うことにより実現する。
FIG. 5 is an explanatory diagram showing the arithmetic processing according to the sixth embodiment of the present invention.
In FIG. 5, the two-dimensional FFT is realized by performing both the one-dimensional FFT operation on the horizontal axis and the one-dimensional FFT operation on the vertical axis on the two-
以下、図4および図5を参照しながら、この発明の実施の形態6による動作(C1)〜(C11)について説明する。
(C1)まず、入力線1を介して、高速フーリエ変換部2aに2次元データが入力される。
(C2)高速フーリエ変換部2aは、シフト量制御部3Cの指示にしたがって、図5内の横軸の1次元FFT演算を行う。
(C3)高速フーリエ変換部2aは、FFTの演算結果をメモリ11aに格納する。
Hereinafter, operations (C1) to (C11) according to the sixth embodiment of the present invention will be described with reference to FIGS.
(C1) First, two-dimensional data is input to the fast
(C2) The fast
(C3) The fast
(C4)次段の高速フーリエ変換部2bは、メモリ11aから、図5内の縦軸の1次元FFT演算を実行可能な順番でデータを取り出す。
(C5)高速フーリエ変換部2bは、シフト量制御部3Cの指示にしたがって、図5内の縦軸の1次元FFT演算を行う。
(C6)高速フーリエ変換部2bは、FFTの演算結果を中間処理部12に送る。
(C4) The next-stage fast
(C5) The fast
(C6) The fast
(C7)中間処理部12は、高速フーリエ変換部2bの演算結果にデータ処理を施し、高速フーリエ変換部2cに入力する。
(C8)高速フーリエ変換部2cは、シフト量制御部3Cの指示にしたがって、図5内の縦軸の1次元IFFT演算を行う。
(C9)高速フーリエ変換部2cは、FFTの演算結果をメモリ11bに格納する。
(C7) The
(C8) The fast
(C9) The fast
(C10)最終段の高速フーリエ変換部2dは、メモリ11bから、図5内の横軸の1次元IFFTを実行できる順番でデータを取り出す。
(C11)高速フーリエ変換部2dは、シフト量制御部3Cの指示にしたがって、図5内の横軸の1次元IFFT演算を行う。
(C10) The fast
(C11) The fast
ここで、シフト量制御部3Cは、個々の高速フーリエ変換部2a〜2dに対し、シミュレーション結果や事前観測結果に基づいて、それぞれに個別のシフト量を設定する。
また、シフト量制御部3Cは、たとえば高速フーリエ変換2b内の最上段のバタフライ演算部で「桁あふれ」が発生した場合に、前述の実施の形態1で述べた複数の高速フーリエ変換部に対するシフト量制御も行う。
Here, the shift
Further, the shift
すなわち、シフト量制御部3Cは、高速フーリエ変換2b内の最上段のバタフライ演算部で「桁あふれ」が発生した場合には、高速フーリエ変換2a内の最終段のビットシフト部のシフト量を調整することになる。
That is, the shift
以上のように、この発明の実施の形態6(図4)によれば、シフト量制御部3Cは、複数の高速フーリエ変換演算処理のうちの、複数の同じ高速フーリエ変換演算処理に対しても、それぞれに異なるビットシフト量を与え、各ビットシフト量を調整する。
As described above, according to the sixth embodiment (FIG. 4) of the present invention, the shift
これにより、複数の高速フーリエ変換部2a〜2dを用いて複数の演算処理を行う際に、高速フーリエ変換ごとに適したシフト量に基づき演算を行うことのできる高速フーリエ変換演算装置を得ることができる。
Thus, when performing a plurality of arithmetic processes using the plurality of fast
1 入力線、2、2A、2B、2a〜2d 高速フーリエ変換部、3、3A、3B、3C シフト量制御部、4 出力線、5a〜5n バタフライ演算部、6a〜6n ビットシフト部、7 最大値検出部、8 入力バッファ、9 出力バッファ、11a、11b メモリ、12 中間処理部。 1 input line, 2, 2A, 2B, 2a to 2d fast Fourier transform unit, 3, 3A, 3B, 3C shift amount control unit, 4 output line, 5a to 5n butterfly operation unit, 6a to 6n bit shift unit, 7 maximum Value detection unit, 8 input buffer, 9 output buffer, 11a, 11b memory, 12 intermediate processing unit.
Claims (5)
前記入力データを取り込む入力線と、
前記複数のバタフライ演算部の少なくとも1つの演算データに対してビットシフトを行うビットシフト部と、
前記ビットシフト部のうちの最も下流側に設けられたビットシフト部に接続されて演算結果を出力する出力線と、
前記ビットシフト部におけるビットシフト量を制御するシフト量制御部と、
前記入力線の下流側に挿入されて前記入力データを蓄積する入力バッファと、
前記出力線の上流側に挿入されて前記演算結果を蓄積する出力バッファと、を備え、
前記複数のバタフライ演算部の少なくとも1つは、自身の桁あふれを検出する機能を有し、
前記シフト量制御部は、前記複数のバタフライ演算部のいずれかで桁あふれが検出された場合に、前記ビットシフト量を調整するとともに、前記入力バッファに蓄積された入力データを、前記複数のバタフライ演算部のうちの最も上流側のバタフライ演算部に導入して、演算処理を再実行させることを特徴とする高速フーリエ変換演算装置。 A fast Fourier transform operation device having a plurality of butterfly operation units for performing fast Fourier transform on fixed-point operations with a fixed bit length for input data,
An input line for capturing the input data;
A bit shift unit that performs a bit shift on at least one calculation data of the plurality of butterfly calculation units;
An output line connected to a bit shift unit provided on the most downstream side of the bit shift unit and outputting an operation result;
A shift amount control unit for controlling a bit shift amount in the bit shift unit;
An input buffer that is inserted downstream of the input line and stores the input data;
An output buffer that is inserted upstream of the output line and accumulates the operation result ,
At least one of the plurality of butterfly calculation units has a function of detecting its own overflow,
The shift amount control unit adjusts the bit shift amount and detects the input data accumulated in the input buffer when the overflow is detected in any of the plurality of butterfly calculation units. A fast Fourier transform arithmetic apparatus , which is introduced into the most upstream butterfly arithmetic section of the arithmetic sections and re-executes arithmetic processing .
前記シフト量制御部は、前記最大値検出部の検出結果に応じて、前記ビットシフト量を調整することを特徴とする請求項1に記載の高速フーリエ変換演算装置。 A maximum value detector inserted upstream of the output buffer ;
2. The fast Fourier transform arithmetic apparatus according to claim 1, wherein the shift amount control unit adjusts the bit shift amount according to a detection result of the maximum value detection unit.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2009211576A JP5414434B2 (en) | 2009-09-14 | 2009-09-14 | Fast Fourier transform arithmetic unit |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2009211576A JP5414434B2 (en) | 2009-09-14 | 2009-09-14 | Fast Fourier transform arithmetic unit |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2011060177A JP2011060177A (en) | 2011-03-24 |
| JP5414434B2 true JP5414434B2 (en) | 2014-02-12 |
Family
ID=43947704
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2009211576A Expired - Fee Related JP5414434B2 (en) | 2009-09-14 | 2009-09-14 | Fast Fourier transform arithmetic unit |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP5414434B2 (en) |
Families Citing this family (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP6253365B2 (en) | 2013-11-22 | 2017-12-27 | キヤノン株式会社 | Image processing method, imaging apparatus, and image processing apparatus |
Family Cites Families (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS60225279A (en) * | 1984-04-23 | 1985-11-09 | Mitsubishi Electric Corp | Fourier transform device |
| JPH09319733A (en) * | 1996-05-30 | 1997-12-12 | Jisedai Digital Television Hoso Syst Kenkyusho:Kk | FFT calculation method and FFT calculation circuit |
-
2009
- 2009-09-14 JP JP2009211576A patent/JP5414434B2/en not_active Expired - Fee Related
Also Published As
| Publication number | Publication date |
|---|---|
| JP2011060177A (en) | 2011-03-24 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN108733596B (en) | Statically schedulable feed and drain structures for systolic array architectures | |
| CN112465110A (en) | Hardware accelerator for convolution neural network calculation optimization | |
| JP2012231401A5 (en) | ||
| US9934199B2 (en) | Digital filter device, digital filtering method, and storage medium having digital filter program stored thereon | |
| JP5414434B2 (en) | Fast Fourier transform arithmetic unit | |
| WO2012127571A1 (en) | Rolling control apparatus, rolling control method, and rolling control program | |
| US20230393971A1 (en) | Read performance from disaggregated storage using distributed storage agents | |
| JP2013173617A5 (en) | Sheet post-processing apparatus and image forming apparatus | |
| US11087428B2 (en) | Image processing apparatus, data processing apparatus, and image processing method | |
| JP6489021B2 (en) | Digital filter device, digital filter processing method, and digital filter program | |
| EP2190206A1 (en) | Device for motion search in dynamic image encoding | |
| WO2013097436A1 (en) | Fft/dft reverse arrangement system and method and computing system thereof | |
| CN109657373B (en) | A multi-agent fault detection method and device | |
| KR101672539B1 (en) | Graphics processing unit and caching method thereof | |
| JP5269137B2 (en) | Arithmetic unit | |
| US20100074391A1 (en) | Shift Register with Dynamic Entry Point Particularly Useful for Aligning Skewed Data | |
| JP6791540B2 (en) | Convolution calculation processing device and convolution calculation processing method | |
| US9451206B2 (en) | Image processing apparatus, frame rate control process determination apparatus, and method | |
| CN104320400B (en) | Web vulnerability scanning method and devices | |
| JP5241594B2 (en) | Radar signal processing device | |
| JP2011080949A (en) | Radar image processing device | |
| JP2023131901A (en) | Fast Fourier transform device, digital filter device, fast Fourier transform method, and program | |
| CN108574642B (en) | Congestion management method and device for switching network | |
| CN116451743B (en) | Pooling computing implementation system | |
| JP6005578B2 (en) | Information processing apparatus and information processing method |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20120201 |
|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20130619 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20130625 |
|
| A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20130809 |
|
| A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20131015 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20131112 |
|
| LAPS | Cancellation because of no payment of annual fees |