JP4295777B2 - 高速フーリエ変換回路及び高速フーリエ変換方法 - Google Patents

高速フーリエ変換回路及び高速フーリエ変換方法 Download PDF

Info

Publication number
JP4295777B2
JP4295777B2 JP2006261323A JP2006261323A JP4295777B2 JP 4295777 B2 JP4295777 B2 JP 4295777B2 JP 2006261323 A JP2006261323 A JP 2006261323A JP 2006261323 A JP2006261323 A JP 2006261323A JP 4295777 B2 JP4295777 B2 JP 4295777B2
Authority
JP
Japan
Prior art keywords
data
fourier transform
bits
fast fourier
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.)
Active
Application number
JP2006261323A
Other languages
English (en)
Other versions
JP2008083852A (ja
Inventor
貴光 羽深
雅人 田中
博次 赤堀
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Lapis Semiconductor Co Ltd
Original Assignee
Oki Semiconductor Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Oki Semiconductor Co Ltd filed Critical Oki Semiconductor Co Ltd
Priority to JP2006261323A priority Critical patent/JP4295777B2/ja
Priority to KR1020070092430A priority patent/KR101412646B1/ko
Priority to CN2007101535314A priority patent/CN101154216B/zh
Priority to US11/859,863 priority patent/US8032576B2/en
Publication of JP2008083852A publication Critical patent/JP2008083852A/ja
Application granted granted Critical
Publication of JP4295777B2 publication Critical patent/JP4295777B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/14Fourier, Walsh or analogous domain transformations, e.g. Laplace, Hilbert, Karhunen-Loeve, transforms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/14Fourier, Walsh or analogous domain transformations, e.g. Laplace, Hilbert, Karhunen-Loeve, transforms
    • G06F17/141Discrete Fourier transforms
    • G06F17/142Fast Fourier transforms, e.g. using a Cooley-Tukey type algorithm

Landscapes

  • Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Theoretical Computer Science (AREA)
  • Algebra (AREA)
  • Databases & Information Systems (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Discrete Mathematics (AREA)
  • Complex Calculations (AREA)

Description

この発明は、高速フーリエ変換回路及び高速フーリエ変換方法に係り、特に、各々所定ビット数の2のn乗個(nは0より大きい自然数)の入力データに対して、複数の段階に分けてバタフライ演算を行なうことにより離散時間フーリエ変換演算を行なう高速フーリエ変換回路及び高速フーリエ変換方法に関する。
近年のディジタル技術の発展に伴い、地上波テレビ放送などの放送がアナログ放送からディジタル放送へ移行してきている。このディジタル放送では変調方式として直交周波数分割多重変調方式(以下、OFDM(Orthogonal Frequency Division Multiplexing)という。)が採用されている。このOFDMでは搬送波の変復調に高速フーリエ変換(以下、FFT(Fast Fourier Transform)ともいう。)が用いられている。
この高速フーリエ変換は、離散時間フーリエ変換(以下、DFT(Discrete-time Fourier Transform)ともいう。)の演算量を低減するための手法である。この高速フーリエ変換には非常に多くの演算手法が提案されており、一般的によく知られている演算手法の一つに、入力データに対して複数のステージ(段階)に分けてバタフライ演算を行なうことにより離散時間フーリエ変換を行なうCooley-Tukey型の演算手法がある。なお、関連技術として特許文献1には、このバタフライ演算の処理効率を向上させる技術が開示されている。
以下に、基数を2とした周波数間引きCooley-Tukey型の高速フーリエ変換について説明する。なお、以下では、離散時間フーリエ変換のデータ点数(サンプリングされたデータの個数)Nを4とする。
離散時間フーリエ変換の定義式は、以下の(1)式により表わされる。なお、(1)式のWを回転因子という。
Figure 0004295777
このため、データ点数が4点の離散時間フーリエ変換は、以下の(2)式の行列式で表される。
Figure 0004295777
Cooley-Tukey型の演算手法では、上記(2)式の各X(k)(k=1、2、3、4)を以下の(3)式のように並べ換える。
Figure 0004295777
この(3)式の4×4行列を以下の(4)式に示すように表わすものとする。
Figure 0004295777
ところで、この各回転因子Wは、図9に示すように、複素平面の単位円上の各点として表わされる。このため、回転因子には、以下の(5)式、(6)式に示す関係が成り立つ。
Figure 0004295777
これにより、(3)式は、以下の(7)式のように変形できる。
Figure 0004295777
Figure 0004295777
よって、(3)式を2×2の零行列O2及び2×2の単位行列I2を用いて表すと、以下の(8)式のようになる。
Figure 0004295777
すなわち、データ点数Nが4点の離散時間フーリエ変換を、データ点数Nが2点の離散時間フーリエ変換からなる行列の積として分解することができる。このような分解は、データ点数Nが4点の場合に限らず、データ点数Nが2のn乗(nは0より大きい自然数)である場合に一般的に成立する。
この上記(8)式に示される分解は、図10に示すように表され、図11に示されるバタフライ演算の組み合わせにより表すことができる。
また、同様に、データ点数Nが8点の離散時間フーリエ変換を例にすると、X(k)を並べ換えることによりデータ点数Nが8点の離散時間フーリエ変換をデータ点数Nが4点の離散時間フーリエ変換に分解でき、そのデータ点数Nが4点の離散時間フーリエ変換をさらにデータ点数Nが2点離散時間フーリエ変換に分解することができ、この分解は、図12のように表される。
図10(データ点数N=4の高速フーリエ変換)及び図12(データ点数N=8の高速フーリエ変換)に示されるように、高速フーリエ変換はバタフライ演算の組み合わせにより実現でき、そのバタフライ演算のステージ数は、logNとして表すことができる。例えば、データ点数Nが8点の高速フーリエ変換の場合、ステージ数はlog8=3となる。
図13には、Cooley-Tukey型の高速フーリエ変換を実現する固定小数点型の高速フーリエ変換回路10’の一例が示されている。
この高速フーリエ変換回路10’が基数を2として、データ点数Nが8点の高速フーリエ変換を行なうものとした場合の動作を簡単に説明する。
(1)高速フーリエ変換回路10’に入力された各入力データはFFT入力データ格納RAM12’に記憶される。ステージ制御回路14’は、ステージ信号(いずれのステージで動作しているのかを示す信号)を出力してセレクタ16’及びFFT演算部22’の動作を制御しており、最初に第1ステージを示すステージ信号を出力する。
(2)ステージ制御回路14’より出力されるステージ信号が第1ステージを示す場合、セレクタ16’によりFFT入力データ格納RAM12’からのデータが選択され、FFT演算部22’にFFT入力データ格納RAM12’からのデータが入力する。
(3)FFT演算部22’は、回転因子記憶部20’に記憶された回転因子テーブル18’よりステージ信号により示されるステージに応じた各回転因子を読み出し、入力したデータに対して読み出した各回転因子を用いてバタフライ演算を行う。
(4)バタフライ演算結果をFFT演算結果格納RAM28’に記憶する。ステージ制御回路14’は、バタフライ演算結果が全てFFT演算結果格納RAM28’に記憶されると、次のステージを示すステージ信号を出力する。
(5)ステージ制御回路14’より出力されるステージ信号が第2ステージ以降を示す場合、セレクタ16’によりFFT演算結果格納RAM28’からのデータが選択され、FFT演算部22’にFFT演算結果格納RAM28’からのデータが入力する。
(6)以降、上記(3)〜(5)の動作をデータ点数Nに応じたステージ数の回数だけ繰り返す。
(7)バタフライ演算をステージ数の回数だけ終了した後(データ点数Nが8点の場合は第3ステージ終了後)のFFT演算結果格納RAM28’に記憶されたデータを高速フーリエ変換の出力データとする。
特開平5−266059号公報
ところで、上記Cooley-Tukey型の高速フーリエ変換演算をハードウェアに実際に実装する場合、FFT入力データ格納RAM12’やFFT演算結果格納RAM28’、FFT演算部22’等では、無限のビット幅のデータを保持することができないため、必ず回路上のビット幅制約がある。
例えば、FFT入力データ格納RAM12’及びFFT演算結果格納RAM28’の1データのビット幅が16ビットに制限されているものとし、また、各回転因子WN iのビット幅が10ビットであるとする。この場合、FFT演算部22’によるバタフライ演算の結果出力される出力データのビット幅は、図14に示すように、16ビットの加算1回と、加算結果と回転因子との乗算1回を行うため、最大27ビットのデータになる。
しかし、FFT演算結果格納RAM28’のビット幅は16ビットに制限されている。このため、従来の高速フーリエ変換回路10’では、図15に示すように、ビット抜出部24’を設けて、当該ビット抜出部24’により27ビットから16ビットのデータの抜き出しを行なって、FFT演算結果格納RAM28’に格納する必要がある。
このビット抜出部24’では、27ビット中どの16ビットのデータを抜き出すかは予め定められており、例えば、27ビットの信号の最上位16ビットのデータを常に抜き出すなど常に固定的に抜き出しを行う。
しかし、このようにビット抜出部24’によるデータを抜き出す範囲が固定されている場合、高速フーリエ変換回路10’に入力される各入力データの性質(振幅値の大小、ランダム性が高いか低いか、ピークが局所的にあるインパルス性のデータなのか等)によって、データを抜き出す範囲が適切な範囲とならない場合がある。このように、データを抜き出す範囲が適切な範囲とならない場合、高速フーリエ変換の演算途中でオーバーフローやアンダーフロー、誤差の増大などが発生して最終的に高速フーリエ変換の演算誤差が大きくなってしまう場合がある、という問題点があった。
本発明は上記問題点を解決するためになされたものであり、演算誤差を小さくすることができる高速フーリエ変換回路及び高速フーリエ変換方法を提供することを目的とする。
上記目的を達成するため、請求項1記載の発明は、各々所定ビット数の2のn乗個(nは0より大きい自然数)の入力データに対して、バタフライ演算を行なって前記所定ビット数よりも多いビット数の2のn乗個の演算結果データを算出する演算を複数の段階に分けて行なうことにより離散時間フーリエ変換演算を行なう演算手段と、各段階毎の前記演算結果データにおいて前記所定ビット数と同一のビット数の有効な範囲を示す範囲情報を予め記憶した記憶手段と、前記演算手段により算出された各演算結果データから各段階毎に前記記憶手段に記憶された範囲情報により示される範囲のデータを抜き出す抜出手段と、前記抜出手段により抜き出された前記所定ビット数の各データを、前記演算手段により次の段階のバタフライ演算を行なう際の入力データとして設定する設定手段と、を備えている。
請求項1記載の発明は、演算手段により、各々所定ビット数の2のn乗個(nは0より大きい自然数)の入力データに対して、バタフライ演算を行なって前記所定ビット数よりも多いビット数の2のn乗個の演算結果データを算出する演算を複数の段階に分けて行なうことにより離散時間フーリエ変換演算を行なうものとされており、各段階毎の演算結果データにおいて所定ビット数と同一のビット数の有効な範囲を示す範囲情報が予め記憶手段に記憶され、抜出手段により、演算手段により算出された各演算結果データから各段階毎に前記記憶手段に記憶された範囲情報により示される範囲のデータが抜き出され、設定手段により、抜出手段により抜き出された所定ビット数の各データが、演算手段により次の段階のバタフライ演算を行なう際の入力データとして設定される。
このように請求項1記載の発明によれば、各段階毎の演算結果データにおいて所定ビット数と同一のビット数の有効な範囲を示す範囲情報が予め記憶手段に記憶され、各々所定ビット数の2のn乗個の入力データに対して、各段階に応じたバタフライ演算が行なわれて算出される各演算結果データから、各段階毎に、記憶手段に記憶された範囲情報により示される範囲のデータを抜き出し、抜き出した所定ビット数の各データを、次の段階のバタフライ演算を行なう際の入力データとして設定しているので、演算誤差を小さくすることができる。
一方、上記目的を達成するため、請求項記載の発明は、各々所定ビット数の2のn乗個(nは0より大きい自然数)の入力データに対して、バタフライ演算を行なって前記所定ビット数よりも多いビット数の2のn乗個の演算結果データを算出する演算を複数の段階に分けて行なうことにより離散時間フーリエ変換演算を行なう際に、記憶手段に予め記憶された各段階毎の前記演算結果データにおいて前記所定ビット数と同一のビット数の有効な範囲を示す範囲情報に基づいて、各段階毎に、算出された各演算結果データから前記範囲情報により示される範囲のデータを抜き出し、抜き出した前記所定ビット数の各データを、前記演算手段により次の段階のバタフライ演算を行なう際の入力データとして設定する。
よって、請求項に記載の発明は、請求項1記載の発明と同様に作用するので、請求項1記載の発明と同様に、演算誤差を小さくすることができる。
一方、上記目的を達成するため、請求項記載の発明は、入力したデータに対してバタフライ演算を行なって、m(mは2以上の自然数)ビットのバタフライ演算結果を出力するステップと、記憶手段に予め記憶された各段階毎の前記演算結果において有効な範囲を示す範囲情報に基づいて、前記mビットのバタフライ演算結果のうち、所定のn(nはmより小さくかつ0より大きい自然数)ビットを抜き出すステップと、前記抜き出されたnビットのバタフライ演算結果を用いてバタフライ演算を行なうステップと、を有することを特徴とする。
以上説明したように、本発明によれば、各々所定ビット数の2のn乗個の入力データに対して、各段階に応じたバタフライ演算が行なわれて算出される各演算結果データから、各段階毎に、所定ビット数と同一のビット数で、かつバタフライ演算で有効な範囲として予め定められた範囲のデータを抜き出し、抜き出した所定ビット数の各データを、次の段階のバタフライ演算を行なう際の入力データとして設定しているので、演算誤差を小さくすることができる、という優れた効果を有する。
以下、図面を参照して、本発明の実施の形態について詳細に説明する。
[第1の実施の形態]
図1には、本実施の形態に係る高速フーリエ変換回路10の構成が示されている。
同図に示されるように、高速フーリエ変換回路10は、高速フーリエ変換を行なう対象として入力された各入力データを記憶するFFT入力データ格納RAM12と、入力された各データに対して高速フーリエ変換を行なう際の各ステージを示すステージ信号を出力するステージ制御回路14と、ステージ制御回路14より入力するステージ信号により示されるステージに応じてFFT入力データ格納RAM12又は後述するFFT演算結果格納RAM28に記憶されているデータを選択的に出力するセレクタ16と、各ステージのバタフライ演算で用いる各回転因子が記憶された回転因子テーブル18を予め記憶する回転因子記憶部20と、を備えている。
また、高速フーリエ変換回路10は、ステージ制御回路14より入力するステージ信号により示されるステージに応じて回転因子記憶部20に記憶された回転因子テーブル18から回転因子を読み出し、セレクタ16より入力する各データに対して、読み出した各回転因子を用いてステージに応じたバタフライ演算を行なうFFT演算部22と、FFT演算部22により算出される演算結果データから、各ステージ毎に、後述するレジスタ26に予め記憶された範囲のデータを抜き出すビット抜出部24と、ビット抜出部24が各ステージ毎に抜き出す範囲を示す情報を予め記憶するレジスタ26と、ビット抜出部24により抜き出された各データを、上記FFT演算部22により次のステージのバタフライ演算を行なう際の入力データに設定するものとして記憶するFFT演算結果格納RAM28と、をさらに備えている。
なお、高速フーリエ変換回路10は、FFT入力データ格納RAM12に高速フーリエ変換を行なう対象として各々16ビットの8点の入力データが記憶される。
FFT演算部22は、各入力データに対して、各ステージに応じたバタフライ演算を行なって入力データのビット数よりも多いビット数の演算結果データを算出する。本実施の形態に係るFFT演算部22は、各々16ビットの8点の入力データに対して各ステージに応じたバタフライ演算を行なって各27ビットの8点の演算結果データを算出するものとされている。
レジスタ26には、各ステージ毎にバタフライ演算で有効な範囲として8点の各演算結果データからそれぞれデータを抜き出す16ビットの範囲を示すステージ別範囲情報が予め記憶されている。レジスタ26は、ステージ制御回路14よりステージ信号が入力されると、ステージ別範囲情報から当該ステージ信号により示されるステージに対応する情報を抽出し、抜き出し範囲情報として出力する。
ビット抜出部24は、FFT演算部22により算出された演算結果データから、レジスタ26より入力された抜き出し範囲情報により示される範囲のデータを抜き出すものとされている。
次に、本実施の形態に係る高速フーリエ変換回路10の作用を説明する。
図2(A)には、データ点数Nが8点の離散時間フーリエ変換をCooley-Tukey型の高速フーリエ変換に分解した場合の演算の流れが示されており、図2(B)には、図1の各ブロックを、高速フーリエ変換を行なう際の各ステージ順(処理順)に並べた図が示されている。
本実施の形態に係る高速フーリエ変換回路10は、データ点数が8点の高速フーリエ変換であるため、図2(A)(B)に示されるように、バタフライ演算を行なうステージ数はlog8=3となる。なお、図2(B)は、ステージ順に各ブロックを並べているため、FFT演算部22、回転因子記憶部20、ビット抜出部24及びFFT演算結果格納RAM28が複数含まれているが、それぞれ同一のものである。
図3には、入力データに対して高速フーリエ変換を行なう際にステージ制御回路14により実行される高速フーリエ変換制御処理の動作の流れを示すフローチャートが示されている。
同図のステップ100では、第1ステージを示すステージ信号を出力し、次のステップ102では、当該ステージの処理の終了待ちを行なう。
セレクタ16(図1参照。)は、入力されたステージ信号が第1ステージを示す場合、FFT入力データ格納RAM12に格納されているデータを選択してFFT演算部22に出力し、ステージ信号が第2ステージ以降を示す場合、FFT演算結果格納RAM28に格納されているデータを選択してFFT演算部22に出力する。
一方、レジスタ26は、記憶しているステージ別範囲情報から、入力されたステージ信号により示されるステージに対応する情報を抽出し、抜き出し範囲情報として出力する
FFT演算部22は、セレクタ16より入力する各入力データに対して、入力されたステージ信号により示されるステージに応じて図2(A)に示されるようなバタフライ演算を行なって演算結果データを算出する。
ビット抜出部24は、FFT演算部22により算出される演算結果データから、レジスタ26より入力された抜き出し範囲情報により示される範囲のデータを抜き出す。
ビット抜出部24により抜き出された各データは、FFT演算結果格納RAM28に記憶される。全てのデータがFFT演算結果格納RAM28に記憶されると、各ステージの処理が終了となる。
次のステップ104では、全ステージの処理が終了したか否かを判定し、否定判定となった場合はステップ106へ移行する一方、肯定判定となった場合は、高速フーリエ変換制御処理を終了する。
ステップ106では、次のステージを示すステージ信号を出力して再度ステップ102へ移行する。
高速フーリエ変換回路10は、上記高速フーリエ変換制御処理によりバタフライ演算をステージ数の回数だけ終了した後にFFT演算結果格納RAM28に記憶されているデータを高速フーリエ変換の出力データとして出力する。
ここで、例えば、図4(A)に示されるように、インパルス性の信号をサンプリングした入力データを高速フーリエ変換回路10により高速フーリエ変換するものとし、例えば、従来手法のように、ビット抜出部24が、各々27ビットの演算結果データの最上位16ビットのデータを常に抜き出し、次のステージの入力データとして設定するものとした場合、各ステージ毎にビット抜出部24により下位側のビットが切り捨てられるため、ステージが進む毎に各演算結果データから抜き出された各データにより示される値のピーク値は、図4(B)に示されるように遷移することがわかっている。
一方、本実施の形態に係るビット抜出部24の場合、高速フーリエ変換により変復調する信号に応じて、図4(C)に示されるように、各ステージ毎に、入力データのビット数と同一のビット数で、かつバタフライ演算で有効な範囲として予め定められた範囲のデータを抜き出すため、切り捨てられる下位側のビット数が少なくなるため、誤差を小さくすることができる。
ここで、一例として、地上波デジタル放送で用いられている方式であるOFDMの信号に対して本実施の形態に係る高速フーリエ変換回路10により高速フーリエ変換を行なった場合を説明する。
なお、以下では、図5に示すように、各入力データのビット数を8ビットとし、FFT演算結果格納RAM28のビット幅を8ビットとする。また、入力データのデータ点数を1024点とし、高速フーリエ変換回路10は、データ点数が1024であるため、基数が4のバタフライ演算を5ステージ繰り返して高速フーリエ変換の演算結果を得るものとする。さらに、FFT演算部22から出力される各演算結果データは、21ビットであり、ビット抜出部24は、この21ビットの各演算結果データからそれぞれ8ビットのデータを抜き出すものとする。
以下の表1には、このような高速フーリエ変換回路10において、従来手法のように、ビット抜出部24において、演算及びデータを抜き出し過程でのオーバーフロー等を考慮して、常に17ビット目〜10ビット目の範囲の8ビットのデータを固定的に抜き出すものとした場合と、第1の実施の形態のように、ビット抜出部24において、ステージ毎に表1のような範囲のデータの抜き出しを行うものとした場合の相対的な演算誤差が示されている。なお、表1中の数字の、たとえば(17−10)は17ビット目から10ビット目のデータを抜き出すことを示している。
Figure 0004295777

表1に示されるように、第1の実施の形態のように、ビット抜出部24において、各ステージ毎にデータの抜き出し範囲の最適化を行った方が相対的な演算誤差が小さくなる。
なお、上述したように、高速フーリエ変換回路10では、ビット抜出部24においてデータの抜き出しを行なうと、下位側のビットが切り捨てられるため、ステージが進む毎に抜き出された各データにより示される値が低下する。このため、この相対的な演算誤差は、従来手法及び本実施の形態の手法を用いた高速フーリエ変換回路10により高速フーリエ変換された出力データに対して、それぞれビット抜出部24でデータを抜き出す際に切り捨てられたビット数に応じた値を乗算し、乗算の結果得られた値の、理想的な高速フーリエ変換の演算結果の値に対する誤差の割合を示している。従って、乗算した結果得られた値が理想的な高速フーリエ変換の演算結果の値と一致する場合、相対的な演算誤差は0%になる。
すなわち、入力データが地上波デジタル放送のものであり、入力データ及び出力データのビット数を8ビットとした場合、ステージが進むにつれてデータの抜き出し範囲を下位ビットの方にシフトさせるにより、相対的な演算誤差を小さくすることができる。なお、データ抜き出し範囲と各ステージとの関係は、入力データ及び出力データのビット数や入力データの性質によって表1に示した範囲と異なっている。
以上のように、本実施の形態によれば、各ステージ毎に、各入力データに対してバタフライ演算を行なって算出される各演算結果データから、各段階毎に、入力データのビット数と同一のビット数で、かつ前記バタフライ演算で有効な範囲のデータを抜き出し、抜き出した各データを、次の段階のバタフライ演算を行なう際の入力データとして設定することにより、各ステージ毎の相対的な演算誤差を小さくすることができる。したがって、最終的な高速フーリエ変換の演算結果の相対的な演算誤差を小さくすることが可能となる。
また、本実施の形態に係る高速フーリエ変換回路10によれば、各ステージ毎にバタフライ演算後のデータを抜き出す範囲を変えることより相対的な演算誤差を小さくすることができるため、浮動小数点型の高速フーリエ変換演算回路に比べ、非常に簡単な回路構成で実現でき、低消費電力化の効果も期待できる。
[第2の実施の形態]
ところで、上記第1の実施の形態に係る高速フーリエ変換回路10では、高速フーリエ変換を行なう信号の性質が既知でないと各ステージでのデータの抜き出し範囲を最適化することは難しい。特に、入力データがインパルス信号をサンプリングしたものである場合は、ピーク値が急激に変動するため、予め信号の性質を予め知り得ていないとデータの抜き出し範囲を最適化できず、演算誤差も大きくなってしまう。
そこで、FFT演算部22によりバタフライ演算される各入力データを解析して当該入力データに応じてビット抜出部24によるデータを抜き出す範囲を定める形態例について説明する。
図6には、第2の実施の形態に係る高速フーリエ変換回路10の構成が示されている。なお、同図における図1と同一の構成要素には図1と同一の符号を付して、その説明を省略する。
同図に示すように、高速フーリエ変換回路10は、高速フーリエ変換を行なう対象として入力された各入力データ又はビット抜出部24により抜き出された各データを選択的に出力するセレクタ30と、セレクタ30より入力する各データを解析し、その結果どのような性質の信号であるかを推定して各演算結果データからのデータの抜き出す範囲を制御する抜出範囲制御部32と、を備えている。
図7には、第2の実施の形態に係る抜出範囲制御部32の詳細な構成が示されている。
同図に示すように、抜出範囲制御部32は、データが示す値を絶対値に変換する絶対値変換部40と、絶対値化された各データの中からピーク値(最大値)を検出するピーク検出部42と、ピーク検出部42により検出されたピーク値となるデータに基づき、ビット抜出部24において各演算結果データからデータを抜き出す範囲を特定し、特定した範囲を示す抜き出し範囲情報を出力する抜き出し範囲特定部44と、を備えている。
なお、抜き出し範囲特定部44は、データ中のMSB(Most Significant Bit)側のマージンビット数とデータを抜き出す範囲とを一対一に対応させた抜出範囲テーブルを予め記憶している。抜き出し範囲特定部44は、ピーク検出部42により検出されたピーク値のデータにおいて、最もMSB側にある“1”がデータ中のどの位置にあるかを求めてMSB側に何ビットのマージンがあるかを検出し、抜出範囲テーブルから上位側のマージンビット数に対応する情報を抽出し、抜き出し範囲情報として出力する。
次に、本実施の形態に係る高速フーリエ変換回路10の作用について説明する。なお、本実施の形態に係る高速フーリエ変換回路10は、データ点数が512点の入力データの高速フーリエ変換を行なうものであり、各入力データのビット数が27ビットであるものとする。
セレクタ30は、ステージ制御回路14より入力されたステージ信号が第1ステージを示す場合、高速フーリエ変換を行なう対象として入力された各入力データを選択して抜出範囲制御部32に出力し、ステージ信号が第2ステージ以降を示す場合、ビット抜出部24により抜き出された各データを選択して抜出範囲制御部32に出力する。なお、最終ステージ以外の場合、このビット抜出部24により抜き出された各データが、次のステージの入力データとして設定されるデータである。
すなわち、抜出範囲制御部32は、FFT演算部22によりバタフライ演算される各入力データに基づきデータを抜き出す範囲の特定を行なう。
図8(A)〜(E)には、抜出範囲制御部32によりデータを抜き出す範囲を特定する際の流れが示されている。
絶対値変換部40は、例えば、図8(A)に示される各データにより示される値を、図8(B)に示されるように絶対値に変換する。
ピーク検出部42は、図8(C)に示されるように、絶対値に変換された各値の中からピーク値(最大値)を検出する。
抜き出し範囲特定部44は、図8(D)に示されるように、検出されたピーク値において、最もMSB側にある“1”が27ビット中のどの位置にあるかを求めてMSB側に何ビットのマージンがあるかを検出する。そして、抜き出し範囲特定部44は、図8(E)に示されるように、抜出範囲テーブルから上位側のマージンビット数に対応する情報を抽出し、抜き出し範囲情報として出力する。
例えば、抜き出し範囲特定部44は、図8(C)に示されるように、ピーク値が10進数で1500000と仮定すると、27ビット中、22ビット目〜7ビット目の計16ビットのデータを抜き出す範囲と特定する。
以上のように、本実施の形態によれば、FFT演算部22により各ステージのバタフライ演算を行なう際の入力データを解析して当該入力データの性質に応じてバタフライ演算による演算結果データからデータを抜き出す範囲を制御しているので、高速フーリエ変換の各ステージの相対的な演算誤差を小さくすることができる。したがって、最終的な高速フーリエ変換の演算結果の相対的な演算誤差を小さくすることが可能となる。
また、本実施の形態に係る高速フーリエ変換回路10によれば、第1の実施の形態と同様に、浮動小数点型の高速フーリエ変換演算回路に比べて簡単な回路構成で実現できるため、低消費電力化の効果も期待できる。
なお、第1及び第2の実施の形態では、FFT入力データ格納RAM12及びFFT演算結果格納RAM28にRAMを用いて説明したが、本発明はこれに限定されるものではなく、例えば、データを格納又は保持できる機能を持つメモリ、レジスタ等であってもよい。この場合も、本実施の形態と同様の効果を奏することができる。
また、第1の実施の形態では、レジスタ26からデータを抜き出す範囲を示す抜き出し範囲情報をビット抜出部24に供給する場合について説明したが、本発明はこれに限定されるものではなく、ビット抜出部24が外部からデータを抜き出す範囲を変更可能であれば、何れから抜き出し範囲情報を受信してもよい。また、ビット抜出部24において各ステージ毎にデータを抜き出す範囲を記憶するものとしてもよい。この場合も、本実施の形態と同様の効果を奏することができる。
また、第1の実施の形態では、データ点数が8点の高速フーリエ変換の場合を例として説明したが、本発明はこれに限定されるものではなく、データ点数が2のn乗(nは0より大きい自然数)であれば、いずれであっても適用可能である。
また、第1及び第2の実施の形態では、基数を2として離散時間フーリエ変換を分解した高速フーリエ変換の演算法について説明したが、ビット抜出部24によるデータの抜き出しについては、基数に限定されず、さらに複数の基数の組み合わせを行った離散時間フーリエ変換の分解時にも適用可能である。
さらに、第2の実施の形態では、図8(E)において、抜出範囲テーブルを用いてデータを抜き出す範囲を特定する場合を説明したが、本発明はこれに限定されるものではなく、例えば、マージンビット数を入力値として演算式等によりデータを抜き出す範囲を算出するものとしてもよい。
その他、第1及び第2の実施の形態で説明した高速フーリエ変換回路10の構成(図1、図2、図5及び図6参照。)、抜出範囲制御部32の構成(図7参照。)は、一例であり、本発明の主旨を逸脱しない範囲内において適宜変更可能であることは言うまでもない。
また、第1の実施の形態で説明した高速フーリエ変換制御処理(図3参照。)の流れも一例であり、本発明の主旨を逸脱しない範囲内において適宜変更可能であることは言うまでもない。
また、第2の実施の形態で説明した抜出範囲テーブル(図8(E)参照。)のデータ構造も一例であり、本発明の主旨を逸脱しない範囲内において適宜変更可能であることは言うまでもない。
第1の実施の形態に係る高速フーリエ変換回路の構成を示す構成図である。 (A)はデータ点数が8点の高速フーリエ変換の演算の流れを示す図であり、(B)は高速フーリエ変換を行なう際の各ステージ順に図1の各ブロックを並べた図である。 第1の実施の形態に係る高速フーリエ変換制御処理の流れを示すフローチャートである。 (A)はインパルス性の信号を示す図であり、(B)は従来の高速フーリエ変換による各ステージ毎の各演算結果データからデータを抜出す範囲を示すグラフであり、(C)は第1の実施の形態に係る高速フーリエ変換の各ステージ毎の各演算結果データからデータを抜出す範囲を示すグラフである。 入力データのビット数及びFFT演算結果格納RAMのビット幅が異なる高速フーリエ変換回路の構成を示す構成図である。 第2の実施の形態に係る高速フーリエ変換回路の構成を示す構成図である。 第2の実施の形態に係る抜出範囲制御部の詳細な構成を示す構成図である。 (A)〜(E)はデータを抜き出す範囲を特定する際の流れを示す図である。 複素平面上での回転因子を示す図である。 データ点数が4点の高速フーリエ変換の演算の流れを示す図である。 バタフライ演算の流れを示す図である。 データ点数が8点の高速フーリエ変換の演算の流れを示す図である。 従来の高速フーリエ変換回路の構成を示す構成図である。 バタフライ演算によるビット数の変化を示す図である。 従来の高速フーリエ変換回路の構成を示す構成図である。
符号の説明
10 高速フーリエ変換回路
16 セレクタ(設定手段)
22 FFT演算部(演算手段)
24 ビット抜出部(抜出手段)
32 抜出範囲制御部(制御手段)

Claims (3)

  1. 各々所定ビット数の2のn乗個(nは0より大きい自然数)の入力データに対して、バタフライ演算を行なって前記所定ビット数よりも多いビット数の2のn乗個の演算結果データを算出する演算を複数の段階に分けて行なうことにより離散時間フーリエ変換演算を行なう演算手段と、
    各段階毎の前記演算結果データにおいて前記所定ビット数と同一のビット数の有効な範囲を示す範囲情報を予め記憶した記憶手段と、
    前記演算手段により算出された各演算結果データから各段階毎に前記記憶手段に記憶された範囲情報により示される範囲のデータを抜き出す抜出手段と、
    前記抜出手段により抜き出された前記所定ビット数の各データを、前記演算手段により次の段階のバタフライ演算を行なう際の入力データとして設定する設定手段と、
    を備えた高速フーリエ変換回路。
  2. 各々所定ビット数の2のn乗個(nは0より大きい自然数)の入力データに対して、バタフライ演算を行なって前記所定ビット数よりも多いビット数の2のn乗個の演算結果データを算出する演算を複数の段階に分けて行なうことにより離散時間フーリエ変換演算を行なう際に、記憶手段に予め記憶された各段階毎の前記演算結果データにおいて前記所定ビット数と同一のビット数の有効な範囲を示す範囲情報に基づいて、各段階毎に、算出された各演算結果データから前記範囲情報により示される範囲のデータを抜き出し、
    抜き出した前記所定ビット数の各データを、前記演算手段により次の段階のバタフライ演算を行なう際の入力データとして設定する
    高速フーリエ変換方法。
  3. 入力したデータに対してバタフライ演算を行なって、m(mは2以上の自然数)ビットのバタフライ演算結果を出力するステップと、
    記憶手段に予め記憶された各段階毎の前記演算結果において有効な範囲を示す範囲情報に基づいて、前記mビットのバタフライ演算結果のうち、所定のn(nはmより小さくかつ0より大きい自然数)ビットを抜き出すステップと、
    前記抜き出されたnビットのバタフライ演算結果を用いてバタフライ演算を行なうステップと、
    を有することを特徴とする高速フーリエ変換方法。
JP2006261323A 2006-09-26 2006-09-26 高速フーリエ変換回路及び高速フーリエ変換方法 Active JP4295777B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2006261323A JP4295777B2 (ja) 2006-09-26 2006-09-26 高速フーリエ変換回路及び高速フーリエ変換方法
KR1020070092430A KR101412646B1 (ko) 2006-09-26 2007-09-12 고속 푸리에 변환 회로 및 고속 푸리에 변환 방법
CN2007101535314A CN101154216B (zh) 2006-09-26 2007-09-20 用于ofdm载波的调制解调的快速傅立叶变换电路及变换方法
US11/859,863 US8032576B2 (en) 2006-09-26 2007-09-24 Fast fourier transform circuit and fast fourier transform method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006261323A JP4295777B2 (ja) 2006-09-26 2006-09-26 高速フーリエ変換回路及び高速フーリエ変換方法

Publications (2)

Publication Number Publication Date
JP2008083852A JP2008083852A (ja) 2008-04-10
JP4295777B2 true JP4295777B2 (ja) 2009-07-15

Family

ID=39255881

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006261323A Active JP4295777B2 (ja) 2006-09-26 2006-09-26 高速フーリエ変換回路及び高速フーリエ変換方法

Country Status (4)

Country Link
US (1) US8032576B2 (ja)
JP (1) JP4295777B2 (ja)
KR (1) KR101412646B1 (ja)
CN (1) CN101154216B (ja)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5251411B2 (ja) * 2008-10-03 2013-07-31 富士通セミコンダクター株式会社 Ofdm復調装置およびofdm復調方法
KR101002771B1 (ko) * 2008-10-15 2010-12-21 한국전자통신연구원 푸리에 변환 장치 및 방법
US8572149B2 (en) * 2009-03-28 2013-10-29 Qualcomm Incorporated Apparatus and methods for dynamic data-based scaling of data such as staged fast fourier transform (FFT) while enhancing performance
CN101788974B (zh) * 2010-03-12 2012-05-23 华为技术有限公司 可变点fft/ifft运算方法、装置及系统
CN102760117B (zh) * 2011-04-28 2016-03-30 深圳市中兴微电子技术有限公司 一种实现矢量运算的方法和系统
CN103176950B (zh) * 2011-12-20 2017-04-05 中国科学院深圳先进技术研究院 实现fft/ifft变换的电路及方法
CN103034621B (zh) * 2012-12-13 2015-08-19 合肥工业大学 基2×k并行fft架构的地址映射方法及系统
WO2019232091A1 (en) * 2018-05-29 2019-12-05 Jaber Technology Holdings Us Inc. Radix-23 fast fourier transform for an embedded digital signal processor
CN115859003A (zh) * 2021-09-27 2023-03-28 华为技术有限公司 执行fft的方法、装置及设备

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3816729A (en) * 1969-10-06 1974-06-11 Raytheon Co Real time fourier transformation apparatus
GB2176321B (en) * 1985-06-03 1988-09-21 Westinghouse Brake & Signal Apparatus for performing a fast fourier transform
JPH05266059A (ja) 1992-03-24 1993-10-15 Ricoh Co Ltd アドレス発生回路
KR20020036606A (ko) * 2000-11-10 2002-05-16 윤종용 오에프디엠 출력 비트 신호 보상을 위한 고속 퓨리에 변환장치 및 방법
US20020156822A1 (en) * 2001-01-10 2002-10-24 Masaharu Tanai High-speed FFT processing method and FFT processing system
JP2002288151A (ja) * 2001-03-28 2002-10-04 Hitachi Kokusai Electric Inc 高速フーリエ変換回路及び高速フーリエ逆変換回路
US7088791B2 (en) * 2001-10-19 2006-08-08 Texas Instruments Incorporated Systems and methods for improving FFT signal-to-noise ratio by identifying stage without bit growth
JP2004032568A (ja) 2002-06-28 2004-01-29 Hitachi Kokusai Electric Inc 相関検出装置およびフーリエ変換装置
KR100513968B1 (ko) * 2003-11-28 2005-09-13 한국전자통신연구원 소프트 판정용 비트 변환 방법 및 이를 이용한 무선 수신기
US7496618B2 (en) * 2004-11-01 2009-02-24 Metanoia Technologies, Inc. System and method for a fast fourier transform architecture in a multicarrier transceiver
KR100604926B1 (ko) * 2005-01-07 2006-07-28 삼성전자주식회사 Dvb-t 수신장치 및 dvb-t 수신장치의 채널 및fft 윈도우 선택 방법

Also Published As

Publication number Publication date
CN101154216B (zh) 2013-03-20
KR101412646B1 (ko) 2014-06-26
US20080215656A1 (en) 2008-09-04
JP2008083852A (ja) 2008-04-10
KR20080028281A (ko) 2008-03-31
CN101154216A (zh) 2008-04-02
US8032576B2 (en) 2011-10-04

Similar Documents

Publication Publication Date Title
JP4295777B2 (ja) 高速フーリエ変換回路及び高速フーリエ変換方法
Chang An efficient VLSI architecture for normal I/O order pipeline FFT design
CN101847986B (zh) 一种实现fft/ifft变换的电路及方法
CN110765709A (zh) 一种基于fpga的基2-2快速傅里叶变换硬件设计方法
US20050131975A1 (en) Function arithmetic method and function arithmetic circuit
US9727531B2 (en) Fast fourier transform circuit, fast fourier transform processing method, and program recording medium
CN102043760A (zh) 数据处理方法及系统
US8838661B2 (en) Radix-8 fixed-point FFT logic circuit characterized by preservation of square root-i operation
CN114996638A (zh) 一种顺序架构的可配置快速傅里叶变换电路
Ramachandran et al. Performance analysis of mantissa multiplier and Dadda tree multiplier and implementing with DSP architecture
US7657587B2 (en) Multi-dimensional fast fourier transform
CN112347413A (zh) 信号处理方法、信号处理器、设备及存储介质
CN113111300A (zh) 具有优化资源消耗的定点fft实现架构
Ferizi et al. Design and implementation of a fixed-point radix-4 FFT optimized for local positioning in wireless sensor networks
CN116578819A (zh) 一种稀疏分数傅里叶变换fpga实现方法及系统
KR100892292B1 (ko) 병렬 구조 및 파이프라인 방식을 이용한 Radix 2의4승 고속 푸리에 변환 프로세서
KR20070061357A (ko) 고속 푸리에 변환 시스템의 메모리 주소 계산 방법 및 그를이용한 트위들 팩터 생성 장치
US12019700B2 (en) Signal processing apparatus, method, program, and recording medium
US20230289397A1 (en) Fast fourier transform device, digital filtering device, fast fourier transform method, and non-transitory computer-readable medium
US20230418897A1 (en) Signal processing system for performing a fast fourier transform with adaptive bit shifting, and methods for adaptive bit shifting
CN113378110A (zh) 一种基于rns动态范围扩展fft系统
JP3514566B2 (ja) 除算/開平回路
CN117709408A (zh) 激活函数运算方法、终端设备以及计算机可读存储介质
Lee et al. Bit-precision and performance analysis of dynamic kernel function fast fourier transform
Chalermsuk et al. Flexible-length fast fourier transform for COFDM

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080815

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A712

Effective date: 20081210

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20081211

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20081216

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20090202

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090213

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: 20090407

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20090410

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120417

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4295777

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120417

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130417

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140417

Year of fee payment: 5

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350