(57)【要約】  時間軸上で並列する複数のデータ列を小規模な回路でＦＦＴ処理する。  マルチプレクサ（１１）は、時間軸上で並列する複数のデータ列を受信し、単位時間ごとに所定のデータ列順に各データ列の部分データを出力し、初段のバタフライ演算部（１２−１）は、マルチプレクサ（１１）が出力した部分データを第２の入力データとして入力し、初段のバタフライ演算部（１２−１）に対応して設けられた遅延部（１３−１）は、マルチプレクサ（１１）が出力した部分データをデータ列順に入力し、遅延して初段のバタフライ演算部（１２−１）の第１の入力データとして出力する。
2013042249.tif 000002
【特許請求の範囲】
【請求項１】
時間軸上で並列する複数のデータ列を受信し、単位時間ごとに所定のデータ列順に各データ列の部分データを出力するマルチプレクサと、
入力したデータを遅延して出力する複数の遅延部と、
前記複数の遅延部に対応して複数段設けられ、対応する遅延部の出力データを第１の入力データとして入力し、第２の入力データとの和及び差を演算し、一方の演算結果または前記第２の入力データを前記対応する遅延部に出力するバタフライ演算部と、
前記バタフライ演算部の他方の演算結果または前記対応する遅延部の出力データと、回転因子とを乗算して後段の前記バタフライ演算部の前記第２の入力データとして出力する乗算部と、を有し、
初段の前記バタフライ演算部は、前記マルチプレクサが出力した前記部分データを前記第２の入力データとして入力し、
前記複数の遅延部のうち、初段の前記バタフライ演算部に対応して設けられた遅延部は、前記マルチプレクサが出力した前記部分データを前記データ列順に入力し、遅延して初段の前記バタフライ演算部の前記第１の入力データとして出力する高速フーリエ変換回路。
【請求項２】
前記複数の遅延部では、前記第２の入力データに含まれる部分データと同じデータ列の部分データが含まれる前記第１の入力データが、当該第２の入力データと共に前記バタフライ演算部に入力されるように、データ列数及び部分データ数に応じて、遅延時間が設定されている請求の範囲第１項に記載の高速フーリエ変換回路。
【請求項３】
前記単位時間のデータ列数倍の周期のクロック信号を受信し、前記クロック信号の周波数を前記データ列数倍した逓倍クロック信号を生成する逓倍回路と、
前記逓倍クロック信号の周期で更新する前記マルチプレクサの選択信号を生成するとともに、前記逓倍クロック信号を前記データ列数倍に分周した制御信号を生成するカウンタと、
前記回転因子を前記制御信号に応じたタイミングで更新する回転因子生成部と、
を更に有する請求の範囲第１項または第２項に記載の高速フーリエ変換回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、高速フーリエ変換回路に関する。
【背景技術】
【０００２】
パイプライン型の高速フーリエ変換（以下ＦＦＴと呼ぶ）回路は、有線または無線通信装置、ＡＶ（Audio/Visual）機器など、産業上の広い分野において適用されている。
従来、時間軸上で並列する複数のデータ列である、複数チャンネルのストリームデータを処理する際、１つのパイプライン型のＦＦＴ回路を用い、ＳＩＳＯ（Single Input Single Output）で、入力を切り替えて１チャンネルごとデータ処理を行っていた。しかし、近年、無線のＭＩＭＯ（Multi Input Multi Output）に代表されるように、複数チャンネルのストリームデータを同時に処理したいという要求が高まっている。【０００３】
複数チャンネルのストリームデータを同時に処理する手法として、チャンネルごとにパイプライン型のＦＦＴ回路を設け、各ＦＦＴ回路にて複数チャンネルのストリームデータを独立に処理する手法が知られている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平６−３４２４４９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、複数のストリームデータを処理する従来のＦＦＴ回路は、チャンネルごとにパイプライン型のＦＦＴ回路を設けるため、回路規模が大きくなるという問題があった。
【課題を解決するための手段】
【０００６】
発明の一観点によれば、時間軸上で並列する複数のデータ列を受信し、単位時間ごとに所定のデータ列順に各データ列の部分データを出力するマルチプレクサと、入力したデータを遅延して出力する複数の遅延部と、前記複数の遅延部に対応して複数段設けられ、対応する遅延部の出力データを第１の入力データとして入力し、第２の入力データとの和及び差を演算し、一方の演算結果または前記第２の入力データを前記対応する遅延部に出力するバタフライ演算部と、前記バタフライ演算部の他方の演算結果または前記対応する遅延部の出力データと、回転因子とを乗算して後段の前記バタフライ演算部の前記第２の入力データとして出力する乗算部と、を有し、初段の前記バタフライ演算部は、前記マルチプレクサが出力した前記部分データを前記第２の入力データとして入力し、前記複数の遅延部のうち、初段の前記バタフライ演算部に対応して設けられた遅延部は、前記マルチプレクサが出力した前記部分データを前記データ列順に入力し、遅延して初段の前記バタフライ演算部の前記第１の入力データとして出力する高速フーリエ変換回路が提供される。
【発明の効果】
【０００７】
開示の高速フーリエ変換回路によれば、複数のストリームデータを小規模な回路でＦＦＴ処理できる。
本発明の上記および他の目的、特徴および利点は本発明の例として好ましい実施の形態を表す添付の図面と関連した以下の説明により明らかになるであろう。
【図面の簡単な説明】
【０００８】
【図１】本実施の形態におけるＦＦＴ回路の一例を示す図である。
【図２】ストリームデータの一例を示す図である。
【図３】逓倍クロック信号が１２回立ち上がったときのＦＦＴ回路の各部の信号の一例の状態を示す図である。
【図４】逓倍クロック信号が１８回立ち上がったときのＦＦＴ回路の各部の信号の一例の状態を示す図である。
【図５】逓倍クロック信号が２１回立ち上がったときのＦＦＴ回路の各部の信号の一例の状態を示す図である。
【図６】逓倍クロック信号が２２回立ち上がったときのＦＦＴ回路の各部の信号の一例の状態を示す図である。
【図７】逓倍クロック信号が２３回立ち上がったときのＦＦＴ回路の各部の信号の一例の状態を示す図である。
【発明を実施するための形態】
【０００９】
以下、本発明の実施の形態を、図面を参照しつつ説明する。
図１は、本実施の形態におけるＦＦＴ回路の一例を示す図である。
ＦＦＴ回路１０は、マルチプレクサ１１、バタフライ演算部１２−１，１２−２，１２−３、遅延部１３−１，１３−２，１３−３、乗算部１４−１，１４−２、回転因子生成部１５−１，１５−２、逓倍回路１６、カウンタ１７、制御部１８を有している。
【００１０】
本実施の形態のＦＦＴ回路１０は、バタフライ演算を用いて、フーリエ変換を行うパイプライン型のＦＦＴ回路である。計算アルゴリズムの詳細な説明は省略するが、パイプライン型のＦＦＴでは、ＦＦＴのデータ長をその約数に分割して演算が行われる。データ長が８の場合には、８＝２×２×２と表せるので、８の約数である、８、４、２をデータ長とする３つの段（ステージ）でＦＦＴ演算が行われる。なお、図１に示すＦＦＴ回路１０は、ＦＦＴのデータ長が８の場合の例を示すものであるが、これに限定されるものではない。
【００１１】
マルチプレクサ１１は、時間軸上で並列する複数のデータ列（以下ストリームデータと呼ぶ）を受信する。図１に示す例では、マルチプレクサ１１は、入力信号線ＩＮ１，ＩＮ２，ＩＮ３から、３つのストリームデータを受信する。
【００１２】
図２は、ストリームデータの一例を示す図である。横軸は時間軸である。
図２では、３つのストリームデータＳＤ１，ＳＤ２，ＳＤ３の例が示されている。ストリームデータＳＤ１は、部分データｘ０，ｘ１，ｘ２，…，ｘｎを有し、ストリームデータＳＤ２は、部分データｙ０，ｙ１，ｙ２，…，ｙｎを有し、ストリームデータＳＤ３は、部分データｚ０，ｚ１，ｚ２，…，ｚｎを有する。各部分データのデータ量は、たとえば、１ワードである。ストリームデータＳＤ１〜ＳＤ３の種類は、たとえば、画像データ、音声データなどであり、特に限定されるものではない。
【００１３】
マルチプレクサ１１は、たとえば、入力信号線ＩＮ１を介してストリームデータＳＤ１を受信し、入力信号線ＩＮ２を介してストリームデータＳＤ２を受信し、入力信号線ＩＮ３を介してストリームデータＳＤ３を受信する。ストリームデータＳＤ１〜ＳＤ３は、クロック信号に同期して、ＦＦＴ回路１０の外部から供給される。マルチプレクサ１１は、単位時間ごとに、所定のストリームデータ順に各ストリームの部分データを出力する。
【００１４】
たとえば、マルチプレクサ１１は、ストリームデータＳＤ１，ＳＤ２，ＳＤ３の順で、各ストリームデータＳＤ１〜ＳＤ３の１つの部分データを、単位時間ごとに出力していく。たとえば、図２のようなストリームデータＳＤ１〜ＳＤ３を受信するマルチプレクサ１１は、単位時間ごとに、部分データｘ０，ｙ０，ｚ０，ｘ１，ｙ１，ｚ１，…，ｘｎ，ｙｎ，ｚｎの順で出力を行う。
【００１５】
なお、単位時間は、逓倍回路１６で周波数がストリームデータ数倍されたクロック信号の周期である。
バタフライ演算部１２−１〜１２−３は、遅延部１３−１〜１３−３に対応して複数段設けられている。
【００１６】
なお、バタフライ演算部１２−１〜１２−３と、遅延部１３−１〜１３−３の段数は、ＦＦＴを行う各ストリームデータＳＤ１，ＳＤ２，ＳＤ３の部分データ数（ＦＦＴのデータ長）に応じて決まる。部分データ数が２3＝８の場合は、図１に示すように、３段のバタフライ演算部１２−１〜１２−３が設けられる。なお、部分データ数が２4＝１６の場合には、４段のバタフライ演算部が設けられることになる。
【００１７】
バタフライ演算部１２−１〜１２−３は、対応する遅延部１３−１〜１３−３の出力データを第１の入力データとして入力し、第２の入力データとの和及び差を演算する。そして、バタフライ演算部１２−１〜１２−３は、一方の演算結果または第２の入力データを対応する遅延部１３−１〜１３−３に出力する。
【００１８】
バタフライ演算部１２−１は、演算部１２ａ、セレクタ１２ｂ，１２ｃを有する。演算部１２ａは、端子Ｉ１により遅延部１３−１からの出力データを入力し、端子Ｉ２によりマルチプレクサ１１から出力された部分データを入力する。そして、演算部１２ａは、両者の和と差を演算し、差を端子ＳＵＢから出力し、和を端子ＡＤＤから出力する。
【００１９】
セレクタ１２ｂには、マルチプレクサ１１から出力される部分データと、演算部１２ａの端子ＳＵＢから出力される演算結果が入力される。セレクタ１２ｂは、制御部１８の端子Ｑ２から出力されるビットの値に応じて、２つの入力データのうち一方を選択して、遅延部１３−１に出力する。セレクタ１２ｂは、制御部１８の端子Ｑ２から出力されるビットが“０”のとき、マルチプレクサ１１から出力される部分データを選択して出力し、ビットが“１”のとき、演算部１２ａの端子ＳＵＢから出力される演算結果を選択して出力する。
【００２０】
セレクタ１２ｃには、遅延部１３−１からの出力データと、演算部１２ａの端子ＡＤＤから出力される演算結果が入力される。セレクタ１２ｃは、制御部１８の端子Ｑ２から出力されるビットの値に応じて、２つの入力データのうち一方を選択して、乗算部１４−１に出力する。セレクタ１２ｃは、制御部１８の端子Ｑ２から出力されるビットが“０”のとき、遅延部１３−１からの出力データを選択して出力し、ビットが“１”のとき、演算部１２ａの端子ＡＤＤから出力される演算結果を選択して出力する。
【００２１】
バタフライ演算部１２−２，１２−３も、バタフライ演算部１２−１と同様の回路を有するが、図１では図示を省略している。ただ、セレクタ１２ｂは、バタフライ演算部１２−２においては、マルチプレクサ１１から出力される部分データの代わりに、乗算部１４−１の演算結果を入力する。また、セレクタ１２ｂは、バタフライ演算部１２−３においては、マルチプレクサ１１から出力される部分データの代わりに、乗算部１４−２の演算結果を入力する。
【００２２】
また、最後段のバタフライ演算部１２−３は、出力信号線ＯＵＴと接続されており、出力信号線ＯＵＴを介して、ＦＦＴ回路１０の外部にＦＦＴ結果を出力する。
遅延部１３−１〜１３−３は、入力したデータを遅延して出力するものであり、バタフライ演算部１２−１〜１２−３の段数に対応して複数設けられる。図１の例では、３つの遅延部１３−１〜１３−３が設けられている。
【００２３】
初段のバタフライ演算部１２−１に対応して設けられた遅延部１３−１はシフトレジスタ１３ａを有しており、逓倍回路１６で生成される逓倍クロック信号に同期して取り込んだデータをシフトし、所定の遅延時間分遅延した後、出力する。遅延部１３−２，１３−３も同様のシフトレジスタを有しているが、図１では図示を省略している。
【００２４】
また、遅延部１３−１は、マルチプレクサ１１が出力した部分データを前述のストリームデータ順に入力し、遅延して初段のバタフライ演算部１２−１の第１の入力データとして出力する。図１では、部分データｘ０，ｙ０，ｚ０の順で、遅延部１３−１のシフトレジスタ１３ａに格納されている様子が示されている。
【００２５】
なお、バタフライ演算部１２−１〜１２−３へ第１の入力データを出力する遅延部１３−１〜１３−３では、ストリームデータ数及び部分データ数に応じて、遅延時間が以下のようになるように設定される。すなわち、遅延時間は、バタフライ演算部１２−１〜１２−３の第２の入力データに含まれる部分データと同じストリームデータの部分データが含まれる第１の入力データが共にバタフライ演算部１２−１〜１２−３に入力されるように設定される。
【００２６】
たとえば、ストリームデータＳＤ１の部分データｘ４がバタフライ演算部１２−１に入力されている場合、同じストリームデータＳＤ１の部分データｘ０が遅延部１３−１から出力されるように遅延時間が設定されている。
【００２７】
部分データ数が８のとき、３つの遅延部１３−１〜１３−３が設けられ、遅延時間は、遅延部１３−１では、４×ストリームデータ数×単位時間となる。また、遅延部１３−２では、遅延時間は、２×ストリームデータ数×単位時間となり、遅延部１３−３では、１×ストリームデータ数×単位時間となる。
【００２８】
したがって、ストリームデータ数が３つのとき、遅延部１３−１の遅延時間は、１２×単位時間、遅延部１３−２の遅延時間は、６×単位時間、遅延部１３−３の遅延時間は、３×単位時間となる。
【００２９】
これにより、各段のバタフライ演算部１２−１〜１２−３では、同じストリームデータの部分データによるバタフライ演算が可能になる。
乗算部１４−１，１４−２は、セレクタ１２ｃの選択結果に応じて、バタフライ演算部１２−１，１２−２の演算結果の一方または、遅延部１３−１，１３−２の出力データと、回転因子とを乗算して出力する。乗算部１４−１，１４−２から出力されたデータは、後段のバタフライ演算部１２−２，１２−３の第２の入力データとなる。
【００３０】
回転因子生成部１５−１，１５−２は、回転因子（ひねり係数（Twiddle factor）と呼ばれることもある）を生成する。回転因子生成部１５−１，１５−２は、制御部１８からの信号に応じて回転因子を更新する。回転因子は以下の式で表される。
【００３１】
ＷNn＝（ｅｘｐ-j(2π/N)）n
上式で、Ｎは各段（ステージ）のＦＦＴのデータ長である。データ長が８のＦＦＴ演算を行う図１のＦＦＴ回路１０では、初段のバタフライ演算部１２−１の出力に乗ずる回転因子を生成する回転因子生成部１５−１では、Ｎ＝８となる。２段目のバタフライ演算部１２−２の出力に乗ずる回転因子を生成する回転因子生成部１５−２では、Ｎ＝４となる。
【００３２】
またｎは、１０進数のステージステート番号であり、制御部１８の端子Ｑ０，Ｑ１，Ｑ２から出力されるビットによって決まる。以下、各端子Ｑ０〜Ｑ２から出力されるビットをビットＱ０〜Ｑ２と表記することにする。ビットＱ０が最下位ビット、ビットＱ２が最上位ビットである。
【００３３】
ステージステート番号ｎは、Ｎ＝８の場合、０〜７の値をとり、Ｎ＝４の場合、０〜３の値をとる。
たとえば、ビットＱ２，Ｑ１，Ｑ０の３ビットが２進数で（０００）の場合には、ｎ＝０であり、Ｗ80＝Ｗ40＝１となる。また、Ｎ＝８の場合、Ｗ8nは、ｎ＝４〜７のとき、“１”となり、Ｎ＝４の場合、Ｗ4nは、ｎ＝２，３のとき、“１”となる性質をもつ。
【００３４】
逓倍回路１６は、マルチプレクサ１１への入力タイミングを決めているクロック信号を、クロック信号線ＣＬＫを介して受信し、そのクロック信号の周波数をストリームデータ数倍した逓倍クロック信号を生成する。逓倍クロック信号の周期が、前述の単位時間となる。そのため、逆にクロック信号は、単位時間のストリームデータ数倍の周期をもつもの、といえる。
【００３５】
カウンタ１７は、逓倍クロック信号の周期で更新するマルチプレクサ１１の選択信号を生成するとともに、逓倍クロック信号をストリームデータ数倍に分周した制御信号（以下イネーブル信号と呼ぶ）を、制御部１８に対して出力する機能を有する。ストリームデータ数が３の場合、カウンタ１７は、３進数のバイナリカウンタであり、逓倍クロック信号の立ち上がりまたは立ち下がりエッジをカウントして、カウント値が２（２進数表記では（１０））のときに、制御部１８に対して“１”を出力する。
【００３６】
また、カウンタ１７は、カウント値をマルチプレクサ１１に対して選択信号として出力する。カウント値は、逓倍クロック信号の周期で更新するので、マルチプレクサ１１では、逓倍クロック信号の周期で、ストリームデータＳＤ１〜ＳＤ３の部分データを選択して出力していくことになる。
【００３７】
制御部１８は、ＦＦＴを行う部分データ数が８の場合、３ビットのバイナリカウンタである。制御部１８は、カウンタ１７から出力されるイネーブル信号を端子ＥＮで受信し、イネーブル信号が“１”のときは、端子ＣＫに入力される逓倍クロック信号の立ち上がりまたは立ち下がりエッジをカウントする。そして、制御部１８は、カウント値の最上位のビットＱ２をバタフライ演算部１２−１と回転因子生成部１５−１に送出する。
【００３８】
また、制御部１８は、カウント値の２番目のビットＱ１をバタフライ演算部１２−２と回転因子生成部１５−１，１５−２に送出し、最下位のビットＱ０をバタフライ演算部１２−３と回転因子生成部１５−１，１５−２に送出する。
【００３９】
これにより、回転因子生成部１５−１，１５−２は、イネーブル信号に応じたタイミング（すなわち、元のクロック信号の周期）で回転因子を更新できる。
このような本実施の形態のＦＦＴ回路１０とすることにより、以下にその動作の詳細を示すように、複数のストリームデータが部分データごとに、一本のパイプライン型のＦＦＴ回路１０にてＦＦＴ処理できるようになる。つまり、複数のストリームデータに対して、小規模な回路でＦＦＴを行うことが可能になる。
【００４０】
また、本実施の形態のＦＦＴ回路１０では、元のクロック信号の周波数をストリームデータ数倍した逓倍クロック信号の周期でマルチプレクサ１１から部分データを出力させ、回転因子についてはクロック信号の周期で更新させている。これにより、一本のパイプライン型のＦＦＴ回路１０でも、高速に複数のストリームデータのＦＦＴを行うことが可能になる。
【００４１】
以下、本実施の形態のＦＦＴ回路１０の動作を説明する。
なお、以下の説明では、図２に示したような３つのストリームデータＳＤ１〜ＳＤ３が、ＦＦＴ回路１０の外部から、入力信号線ＩＮ１〜ＩＮ３を介してマルチプレクサ１１に入力されるとする。また、ＦＦＴ回路１０は、クロック信号または逓倍クロック信号の立ち上がりタイミングに同期して動作するものとする。
【００４２】
マルチプレクサ１１はストリームデータＳＤ１〜ＳＤ３をクロック信号に同期して部分データごとに受信する。最初に、マルチプレクサ１１は、各ストリームデータＳＤ１〜ＳＤ３の最初の部分データｘ０，ｙ０，ｚ０を、クロック信号のある立ち上がりタイミングで受信する。
【００４３】
初期状態では、カウンタ１７のカウント値は（００）であり、このカウント値を選択信号とするマルチプレクサ１１は、ストリームデータＳＤ１の最初の部分データｘ０を選択して出力する。また初期状態では、制御部１８から出力されるビットＱ２，Ｑ１，Ｑ０は（０００）であり、バタフライ演算部１２−１のセレクタ１２ｂは、部分データｘ０を出力する。
【００４４】
なお、ビットＱ２，Ｑ１，Ｑ０が（０００）の場合、前述したように、回転因子生成部１５−１，１５−２で生成される回転因子は“１”である。
逓倍回路１６で生成された逓倍クロック信号が、Ｈ（High）レベルに立ち上がると、カウンタ１７のカウント値は（０１）となる。これにより、マルチプレクサ１１は、ストリームデータＳＤ２の最初の部分データｙ０を選択して出力する。カウンタ１７のカウント値が（０１）であるので、カウンタ１７から制御部１８に出力されるイネーブル信号は“０”のままである。そのため、制御部１８から出力されるビットＱ２，Ｑ１，Ｑ０も（０００）のままであり、バタフライ演算部１２−１のセレクタ１２ｂは、部分データｙ０を出力する。
【００４５】
また、このとき遅延部１３−１のシフトレジスタ１３ａは、前のタイミングでバタフライ演算部１２−１から出力された部分データｘ０を、逓倍クロック信号の立ち上がりに同期して取り込む。
【００４６】
逓倍クロック信号が次に立ち上がると、カウンタ１７のカウント値は（１０）となる。これにより、マルチプレクサ１１は、ストリームデータＳＤ３の最初の部分データｚ０を選択して出力する。また、カウンタ１７のカウント値が（１０）のとき、カウンタ１７から制御部１８に出力されるイネーブル信号が“１”となるが、次に逓倍クロック信号が立ち上がるまで、制御部１８から出力されるビットＱ２，Ｑ１，Ｑ０も（０００）のままである。そのため、バタフライ演算部１２−１のセレクタ１２ｂは、部分データｚ０を出力する。
【００４７】
また、このとき遅延部１３−１のシフトレジスタ１３ａは、既に取り込んだ部分データｘ０を後段のレジスタにシフトするとともに、部分データｙ０を逓倍クロック信号の立ち上がりに同期して取り込む。
【００４８】
逓倍クロック信号が次に立ち上がると、同様の処理が行われ、シフトレジスタ１３ａに部分データｚ０が取り込まれ、シフトレジスタ１３ａは、図１に示したような状態になる。また、イネーブル信号が“１”になっている状態で、逓倍クロック信号が入力されるため、制御部１８はカウントを行い、ビットＱ０が“１”となる。ただし、ビットＱ１，Ｑ２は、“０”のままである。そのため、バタフライ演算部１２−１において、セレクタ１２ｂは、同様に、マルチプレクサ１１が出力する部分データｘ１を選択して、遅延部１３ａに出力する。
【００４９】
以上の処理が繰り返され、処理を開始してから逓倍クロック信号が１２回立ち上がると、ＦＦＴ回路１０は、以下に示すような状態となる。
図３は、逓倍クロック信号が１２回立ち上がったときのＦＦＴ回路の各部の信号の一例の状態を示す図である。図１に示したマルチプレクサ１１、逓倍回路１６などについては図示を省略している。また、逓倍クロック信号をＣＬＫＭと表記している。
【００５０】
逓倍クロック信号ＣＬＫＭが１２回立ち上がったとき、シフトレジスタ１３ａは、図３に示すような状態になり、部分データｘ０を出力する。このときバタフライ演算部１２−１の演算部１２ａは、部分データｘ０と、マルチプレクサ１１から出力される部分データｘ４との和（ｘ０＋ｘ４）と差（ｘ０−ｘ４）を算出する。
【００５１】
また、逓倍クロック信号ＣＬＫＭが１２回立ち上がった状態において、制御部１８でのカウントが進んだ結果、ビットＱ２，Ｑ１，Ｑ０は（１００）になっている。そのため、バタフライ演算部１２−１のセレクタ１２ｂは、ｘ０−ｘ４を遅延部１３−１に出力し、セレクタ１２ｃは、ｘ０＋ｘ４を乗算部１４−１に出力する。
【００５２】
また、回転因子生成部１５−１は、前述したように、入力されるビットＱ２，Ｑ１，Ｑ０が（１００）のときは、“１”を出力する。よって、乗算部１４−１は、ｘ０＋ｘ４を出力する。次の段のバタフライ演算部１２−２において、セレクタ１２ｂは、選択信号として入力されるビットＱ１が“０”であるので、ｘ０＋ｘ４を遅延部１３−２に出力する。
【００５３】
なお、このときバタフライ演算部１２−２，１２−３の演算部１２ａの出力は、遅延部１３−２，１３−３からの供給される第１の入力データが確定していないので、まだ不定の状態となっている。
【００５４】
さらに処理が進み、処理を開始してから逓倍クロック信号ＣＬＫＭが１８回立ち上がると、ＦＦＴ回路１０は、以下に示すような状態となる。
図４は、逓倍クロック信号が１８回立ち上がったときのＦＦＴ回路の各部の信号の一例の状態を示す図である。
【００５５】
逓倍クロック信号ＣＬＫＭが１８回立ち上がったとき、シフトレジスタ１３ａは、図４に示すような状態になり、部分データｘ２を出力する。このときバタフライ演算部１２−１の演算部１２ａは、部分データｘ２と、マルチプレクサ１１から出力される部分データｘ６との和（ｘ２＋ｘ６）と差（ｘ２−ｘ６）を算出する。
【００５６】
また、逓倍クロック信号ＣＬＫＭが１８回立ち上がった状態において、制御部１８でのカウントが進んだ結果、ビットＱ２，Ｑ１，Ｑ０は（１１０）になっている。そのため、バタフライ演算部１２−１のセレクタ１２ｂは、ｘ２−ｘ６を遅延部１３−１に出力し、セレクタ１２ｃは、ｘ２＋ｘ６を乗算部１４−１に出力する。
【００５７】
また、回転因子生成部１５−１は、前述したように、入力されるビットＱ２，Ｑ１，Ｑ０が（１１０）のときも、“１”を出力する。よって、乗算部１４−１は、ｘ２＋ｘ６を出力する。
【００５８】
逓倍クロック信号ＣＬＫＭが１８回立ち上がったとき、２段目のバタフライ演算部１２−２に対応して設けられている遅延部１３−２のシフトレジスタ１３ｂは、図４に示すような状態になり、ｘ０＋ｘ４を出力する。このときバタフライ演算部１２−２の演算部１２ａは、ｘ０＋ｘ４と、乗算部１４−１から出力されるｘ２＋ｘ６との和（（ｘ０＋ｘ４）＋（ｘ２＋ｘ６））と差（（ｘ０＋ｘ４）−（ｘ２＋ｘ６））を算出する。
【００５９】
制御部１８から出力されるビットＱ１は“１”であるので、バタフライ演算部１２−２のセレクタ１２ｂは、（ｘ０＋ｘ４）−（ｘ２＋ｘ６）を遅延部１３−２に出力し、セレクタ１２ｃは、（ｘ０＋ｘ４）＋（ｘ２＋ｘ６）を乗算部１４−２に出力する。
【００６０】
また、回転因子生成部１５−２は、入力されるビットＱ０，Ｑ１が（１０）のときは、“１”を出力する。よって、乗算部１４−２は、（ｘ０＋ｘ４）＋（ｘ２＋ｘ６）を出力する。次の段のバタフライ演算部１２−３において、セレクタ１２ｂは、選択信号として入力されるビットＱ０が“０”であるので、（ｘ０＋ｘ４）＋（ｘ２＋ｘ６）を遅延部１３−３に出力する。
【００６１】
このとき、遅延部１３−３から出力されるバタフライ演算部１２−３への第１の入力データが確定していないので、バタフライ演算部１２−３の演算部１２ａの出力は、まだ不定の状態となっている。
【００６２】
さらに処理が進み、処理が開始してから逓倍クロック信号ＣＬＫＭが２１回立ち上がると、ＦＦＴ回路１０は、以下に示すような状態となる。
図５は、逓倍クロック信号が２１回立ち上がったときのＦＦＴ回路の各部の信号の一例の状態を示す図である。
【００６３】
逓倍クロック信号ＣＬＫＭが２１回立ち上がったとき、シフトレジスタ１３ａは、図５に示すような状態になり、部分データｘ３を出力する。このときバタフライ演算部１２−１の演算部１２ａは、部分データｘ３と、マルチプレクサ１１から出力される部分データｘ７との和（ｘ３＋ｘ７）と差（ｘ３−ｘ７）を算出する。
【００６４】
また、逓倍クロック信号ＣＬＫＭが２１回立ち上がった状態において、制御部１８でのカウントが進んだ結果、ビットＱ２，Ｑ１，Ｑ０は（１１１）になっている。そのため、バタフライ演算部１２−１のセレクタ１２ｂは、ｘ３−ｘ７を遅延部１３−１に出力し、セレクタ１２ｃは、ｘ３＋ｘ７を乗算部１４−１に出力する。また、回転因子生成部１５−１は、前述したように入力されるビットＱ２，Ｑ１，Ｑ０が（１１１）のときも、“１”を出力する。よって、乗算部１４−１は、ｘ３＋ｘ７を出力する。
【００６５】
逓倍クロック信号ＣＬＫＭが２１回立ち上がったとき、２段目のバタフライ演算部１２−２に対応して設けられている遅延部１３−２のシフトレジスタ１３ｂは、図５に示すような状態になり、ｘ１＋ｘ５を出力する。このときバタフライ演算部１２−２の演算部１２ａは、ｘ１＋ｘ５と、乗算部１４−１から出力されるｘ３＋ｘ７との和（（ｘ１＋ｘ５）＋（ｘ３＋ｘ７））と差（（ｘ１＋ｘ５）−（ｘ３＋ｘ７））を算出する。
【００６６】
制御部１８から出力されるビットＱ１は“１”であるので、バタフライ演算部１２−２のセレクタ１２ｂは、（ｘ１＋ｘ５）−（ｘ３＋ｘ７）を遅延部１３−２に出力し、セレクタ１２ｃは、（ｘ１＋ｘ５）＋（ｘ３＋ｘ７）を乗算部１４−２に出力する。
【００６７】
また、回転因子生成部１５−２は、入力されるビットＱ０，Ｑ１が（１１）のときは、“１”を出力する。よって、乗算部１４−２は、（ｘ１＋ｘ５）＋（ｘ３＋ｘ７）を出力する。
【００６８】
逓倍クロック信号ＣＬＫＭが２１回立ち上がったとき、３段目（最後段）のバタフライ演算部１２−３に対応して設けられている遅延部１３−３のシフトレジスタ１３ｃは、図５に示すような状態になり、（ｘ０＋ｘ４）＋（ｘ２＋ｘ６）を出力する。このときバタフライ演算部１２−３の演算部１２ａは、（ｘ０＋ｘ４）＋（ｘ２＋ｘ６）と、乗算部１４−２から出力される（ｘ１＋ｘ５）＋（ｘ３＋ｘ７）との和と差を算出する。和は、（（ｘ０＋ｘ４）＋（ｘ２＋ｘ６））＋（（ｘ１＋ｘ５）＋（ｘ３＋ｘ７））となり、差は、（（ｘ０＋ｘ４）＋（ｘ２＋ｘ６））−（（ｘ１＋ｘ５）＋（ｘ３＋ｘ７））となる。
【００６９】
制御部１８から出力されるビットＱ０は“１”であるので、バタフライ演算部１２−３のセレクタ１２ｂは、（（ｘ０＋ｘ４）＋（ｘ２＋ｘ６））−（（ｘ１＋ｘ５）＋（ｘ３＋ｘ７））を遅延部１３−３に出力する。また、セレクタ１２ｃは、（（ｘ０＋ｘ４）＋（ｘ２＋ｘ６））＋（（ｘ１＋ｘ５）＋（ｘ３＋ｘ７））を、ストリームデータＳＤ１のＦＦＴ結果の最初の値として出力する。
【００７０】
次に、逓倍クロック信号ＣＬＫＭが立ち上がると、ＦＦＴ回路１０は、以下に示すような状態となる。
図６は、逓倍クロック信号が２２回立ち上がったときのＦＦＴ回路の各部の信号の一例の状態を示す図である。
【００７１】
逓倍クロック信号ＣＬＫＭが２２回立ち上がったとき、シフトレジスタ１３ａは、図６に示すような状態になり、部分データｙ３を出力する。このときバタフライ演算部１２−１の演算部１２ａは、部分データｙ３と、マルチプレクサ１１から出力される部分データｙ７との和（ｙ３＋ｙ７）と差（ｙ３−ｙ７）を算出する。
【００７２】
また、逓倍クロック信号ＣＬＫＭが２２回立ち上がった状態では、イネーブル信号が“０”であるので、制御部１８から出力されるビットＱ２，Ｑ１，Ｑ０は（１１１）のままである。そのため、バタフライ演算部１２−１のセレクタ１２ｂは、ｙ３−ｙ７を遅延部１３−１に出力し、セレクタ１２ｃは、ｙ３＋ｙ７を乗算部１４−１に出力する。回転因子生成部１５−１は、“１”を出力しているので、乗算部１４−１は、ｙ３＋ｙ７を出力する。
【００７３】
逓倍クロック信号ＣＬＫＭが２２回立ち上がったとき、２段目のバタフライ演算部１２−２に対応して設けられている遅延部１３−２のシフトレジスタ１３ｂは、ｙ１＋ｙ５を出力する。このときバタフライ演算部１２−２の演算部１２ａは、ｙ１＋ｙ５と、乗算部１４−１から出力されるｙ３＋ｙ７との和（（ｙ１＋ｙ５）＋（ｙ３＋ｙ７））と差（（ｙ１＋ｙ５）−（ｙ３＋ｙ７））を算出する。
【００７４】
制御部１８から出力されるビットＱ１は“１”であるので、バタフライ演算部１２−２のセレクタ１２ｂは、（ｙ１＋ｙ５）−（ｙ３＋ｙ７）を遅延部１３−２に出力し、セレクタ１２ｃは、（ｙ１＋ｙ５）＋（ｙ３＋ｙ７）を乗算部１４−２に出力する。
【００７５】
また、回転因子生成部１５−２は、“１”を出力するので、乗算部１４−２は、（ｙ１＋ｙ５）＋（ｙ３＋ｙ７）を出力する。
逓倍クロック信号ＣＬＫＭが２２回立ち上がったとき、バタフライ演算部１２−３に対応して設けられている遅延部１３−３のシフトレジスタ１３ｃは、（ｙ０＋ｙ４）＋（ｙ２＋ｙ６）を出力する。このときバタフライ演算部１２−３の演算部１２ａは、（ｙ０＋ｙ４）＋（ｙ２＋ｙ６）と、乗算部１４−２から出力される（ｙ１＋ｙ５）＋（ｙ３＋ｙ７）の和と差を算出する。和は、（（ｙ０＋ｙ４）＋（ｙ２＋ｙ６））＋（（ｙ１＋ｙ５）＋（ｙ３＋ｙ７））となり、差は、（（ｙ０＋ｙ４）＋（ｙ２＋ｙ６））−（（ｙ１＋ｙ５）＋（ｙ３＋ｙ７））となる。
【００７６】
制御部１８から出力されるビットＱ０は“１”であるので、バタフライ演算部１２−３のセレクタ１２ｂは、（（ｙ０＋ｙ４）＋（ｙ２＋ｙ６））−（（ｙ１＋ｙ５）＋（ｙ３＋ｙ７））を遅延部１３−３に出力する。また、セレクタ１２ｃは、（（ｙ０＋ｙ４）＋（ｙ２＋ｙ６））＋（（ｙ１＋ｙ５）＋（ｙ３＋ｙ７））を、ストリームデータＳＤ２のＦＦＴ結果の最初の値として出力する。
【００７７】
次に、逓倍クロック信号ＣＬＫＭが立ち上がると、ＦＦＴ回路１０は、以下に示すような状態となる。
図７は、逓倍クロック信号が２３回立ち上がったときのＦＦＴ回路の各部の信号の一例の状態を示す図である。
【００７８】
逓倍クロック信号ＣＬＫＭが２３回立ち上がったとき、シフトレジスタ１３ａは、部分データｚ３を出力する。このときバタフライ演算部１２−１の演算部１２ａは、部分データｚ３と、マルチプレクサ１１から出力される部分データｚ７との和（ｚ３＋ｚ７）と差（ｚ３−ｚ７）を算出する。
【００７９】
また、逓倍クロック信号ＣＬＫＭが２３回立ち上がった状態では、イネーブル信号が“１”となるが、次に逓倍クロック信号ＣＬＫＭが立ち上がるまで、制御部１８から出力されるビットＱ２，Ｑ１，Ｑ０は（１１１）のままである。そのため、バタフライ演算部１２−１のセレクタ１２ｂは、ｚ３−ｚ７を遅延部１３−１に出力し、セレクタ１２ｃは、ｚ３＋ｚ７を乗算部１４−１に出力する。回転因子生成部１５−１は、“１”を出力しているので、乗算部１４−１は、ｚ３＋ｚ７を出力する。
【００８０】
逓倍クロック信号ＣＬＫＭが２３回立ち上がったとき、２段目のバタフライ演算部１２−２に対応して設けられている遅延部１３−２のシフトレジスタ１３ｂは、ｚ１＋ｚ５を出力する。このときバタフライ演算部１２−２の演算部１２ａは、ｚ１＋ｚ５と、乗算部１４−１から出力されるｚ３＋ｚ７との和（（ｚ１＋ｚ５）＋（ｚ３＋ｚ７））と差（（ｚ１＋ｚ５）−（ｚ３＋ｚ７））を算出する。
【００８１】
制御部１８から出力されるビットＱ１は“１”であるので、バタフライ演算部１２−２のセレクタ１２ｂは、（ｚ１＋ｚ５）−（ｚ３＋ｚ７）を遅延部１３−２に出力し、セレクタ１２ｃは、（ｚ１＋ｚ５）＋（ｚ３＋ｚ７）を乗算部１４−２に出力する。
【００８２】
また、回転因子生成部１５−２は、“１”を出力するので、乗算部１４−２は、（ｚ１＋ｚ５）＋（ｚ３＋ｚ７）を出力する。
逓倍クロック信号ＣＬＫＭが２３回立ち上がったとき、バタフライ演算部１２−３に対応して設けられている遅延部１３−３のシフトレジスタ１３ｃは、（ｚ０＋ｚ４）＋（ｚ２＋ｚ６）を出力する。このときバタフライ演算部１２−３の演算部１２ａは、（ｚ０＋ｚ４）＋（ｚ２＋ｚ６）と、乗算部１４−２から出力される（ｚ１＋ｚ５）＋（ｚ３＋ｚ７）の和と差を算出する。和は、（（ｚ０＋ｚ４）＋（ｚ２＋ｚ６））＋（（ｚ１＋ｚ５）＋（ｚ３＋ｚ７））となり、差は、（（ｚ０＋ｚ４）＋（ｚ２＋ｚ６））−（（ｚ１＋ｚ５）＋（ｚ３＋ｚ７））となる。
【００８３】
制御部１８から出力されるビットＱ０は“１”であるので、バタフライ演算部１２−３のセレクタ１２ｂは、（（ｚ０＋ｚ４）＋（ｚ２＋ｚ６））−（（ｚ１＋ｚ５）＋（ｚ３＋ｚ７））を遅延部１３−３に出力する。
【００８４】
また、セレクタ１２ｃは、（（ｚ０＋ｚ４）＋（ｚ２＋ｚ６））＋（（ｚ１＋ｚ５）＋（ｚ３＋ｚ７））を、ストリームデータＳＤ３のＦＦＴ結果の最初の値として出力する。
ここまでの処理で、ストリームデータＳＤ１〜ＳＤ３の最初のＦＦＴ結果が得られる。
【００８５】
以上のような処理を更に進めていくと、ストリームデータＳＤ１〜ＳＤ３の２番目以降のＦＦＴ結果の値が順に、最後段のバタフライ演算部１２−３のセレクタ１２ｃから出力される。
【００８６】
このように、本実施の形態のＦＦＴ回路１０では、マルチプレクサ１１は、単位時間ごとに１つのストリームデータの１つの部分データを所定のストリームデータ順に出力していく。そして、初段のバタフライ演算部１２−１に対応して設けられた遅延部１３−１が部分データをストリームデータ順に入力して遅延しバタフライ演算部１２−１に供給する。バタフライ演算部１２−１は、そのときマルチプレクサ１１が出力する部分データと遅延された部分データを用いて演算を行う。
【００８７】
これにより、複数のストリームデータが部分データごとに、一本のパイプライン型のＦＦＴ回路１０にてＦＦＴ処理でき、複数のストリームデータに対して、小規模な回路でＦＦＴを行うことができる。
【００８８】
なお、上記ではＳＤＦ（Single Path-Delay Feedback）方式を適用したＦＦＴ回路１０を説明したが、この方式に限らない。ＭＤＣ（Multi-Path Delay Commutator）方式あるいは、他の方式についても、同様の処理を行うパイプライン型のＦＦＴ回路を実現することができる。
【００８９】
また、上記では基数（Radix）を２としたＦＦＴを行うＦＦＴ回路１０について説明したが、基数も２に限定されるものではない。
上記のような本実施の形態の処理を実現するＦＦＴ回路は、複数のストリームデータを受信し、単位時間ごとに所定のストリームデータ順に各ストリームデータの部分データを出力するマルチプレクサを有するものとなる。また、初段のバタフライ演算部は、マルチプレクサが出力した部分データを一方の入力データとして入力する。そして、初段のバタフライ演算部に対応して設けられた遅延部は、マルチプレクサが出力した部分データを上記のストリームデータ順に入力し、遅延して初段のバタフライ演算部の他方の入力データとして出力する。
【００９０】
また、遅延部の遅延時間は、バタフライ演算部に入力されるデータの一方に含まれる部分データと同じストリームデータの部分データが含まれるものを、遅延部が出力するように、ストリーム数及び部分データ数に応じて設定されている。たとえば、図３のように、ストリームデータＳＤ１の部分データｘ４がバタフライ演算部１２−１に入力されている場合、同じストリームデータＳＤ１の部分データｘ０が遅延部１３−１から出力されるように遅延時間が設定されている。
【００９１】
また、本実施の形態の処理を実現するＦＦＴ回路は、単位時間のストリーム数倍の周期のクロック信号を受信し、クロック信号の周波数をデータ列数倍した逓倍クロック信号を生成する逓倍回路を有する。また、ＦＦＴ回路は、逓倍クロック信号の周期で更新するマルチプレクサの選択信号を生成するとともに、逓倍クロック信号をストリームデータ数倍に分周した制御信号を生成するカウンタを有する。さらに、ＦＦＴ回路は、回転因子を制御信号に応じたタイミングで更新する回転因子生成部を有する。
【００９２】
以上のような各要素を具備することで、前述のＦＦＴ回路１０に限らず、同様の効果が得られるＦＦＴ回路が実現できる。
なお、上記については単に本発明の原理を示すものである。さらに、多数の変形、変更が当業者にとって可能である。本発明は上記に示し、説明した正確な構成および応用例に限定されるものではなく、対応するすべての変形例および均等物は、添付の請求項およびその均等物による本発明の範囲とみなされる。
【符号の説明】
【００９３】
１０  ＦＦＴ回路
１１  マルチプレクサ
１２−１〜１２−３  バタフライ演算部
１２ａ  演算部
１２ｂ，１２ｃ  セレクタ
１３−１〜１３−３  遅延部
１３ａ  シフトレジスタ
１４−１，１４−２  乗算部
１５−１，１５−２  回転因子生成部
１６  逓倍回路
１７  カウンタ
１８  制御部
ＣＬＫ  クロック信号線
ＩＮ１〜ＩＮ３  入力信号線
ＯＵＴ  出力信号線
ｘ０，ｙ０，ｚ０  部分データ
【図１】
2013042249.tif 000003
【図２】
2013042249.tif 000004
【図３】
2013042249.tif 000005
【図４】
2013042249.tif 000006
【図５】
2013042249.tif 000007
【図６】
2013042249.tif 000008
【図７】
2013042249.tif 000009
【手続補正書】
【提出日】平成26年3月19日(2014.3.19)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】０００５
【補正方法】変更
【補正の内容】
【０００５】
しかしながら、複数チャンネルのストリームデータを処理する従来の手法は、チャンネルごとにパイプライン型のＦＦＴ回路を設けるため、回路規模が大きくなるという問題があった。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】００２３
【補正方法】変更
【補正の内容】
【００２３】
初段のバタフライ演算部１２−１に対応して設けられた遅延部１３−１はシフトレジスタ１３ａを有しており、逓倍回路１６で生成される逓倍クロック信号に同期して取り込んだデータをシフトし、所定の時間分遅延した後、出力する。遅延部１３−２，１３−３も同様のシフトレジスタを有しているが、図１では図示を省略している。
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】００３５
【補正方法】変更
【補正の内容】
【００３５】
カウンタ１７は、逓倍クロック信号の周期で更新するマルチプレクサ１１用の選択信号を生成するとともに、逓倍クロック信号をストリームデータ数で分周した制御信号（以下イネーブル信号と呼ぶ）を、制御部１８に対して出力する機能を有する。ストリームデータ数が３の場合、カウンタ１７は、３けたのバイナリカウンタであり、逓倍クロック信号の立ち上がりまたは立ち下がりエッジをカウントして、カウント値が２（２進数表記では（１０））のときに、制御部１８に対して“１”を出力する。
【手続補正４】
【補正対象書類名】明細書
【補正対象項目名】００４８
【補正方法】変更
【補正の内容】
【００４８】
逓倍クロック信号が次に立ち上がると、同様の処理が行われ、シフトレジスタ１３ａに部分データｚ０が取り込まれ、シフトレジスタ１３ａは、図１に示したような状態になる。また、イネーブル信号が“１”になっている状態で、逓倍クロック信号が入力されるため、制御部１８はカウントを行い、ビットＱ０が“１”となる。ただし、ビットＱ１，Ｑ２は、“０”のままである。そのため、バタフライ演算部１２−１において、セレクタ１２ｂは、マルチプレクサ１１が出力する部分データｘ１を選択して、遅延部１３−１に出力する。
【手続補正５】
【補正対象書類名】明細書
【補正対象項目名】００６０
【補正方法】変更
【補正の内容】
【００６０】
また、回転因子生成部１５−２は、入力されるビットＱ１，Ｑ０が（１０）のときは、“１”を出力する。よって、乗算部１４−２は、（ｘ０＋ｘ４）＋（ｘ２＋ｘ６）を出力する。次の段のバタフライ演算部１２−３において、セレクタ１２ｂは、選択信号として入力されるビットＱ０が“０”であるので、（ｘ０＋ｘ４）＋（ｘ２＋ｘ６）を遅延部１３−３に出力する。
【手続補正６】
【補正対象書類名】明細書
【補正対象項目名】００９１
【補正方法】変更
【補正の内容】
【００９１】
また、本実施の形態の処理を実現するＦＦＴ回路は、単位時間のストリームデータ数倍の周期のクロック信号を受信し、クロック信号の周波数をストリームデータ数倍した逓倍クロック信号を生成する逓倍回路を有する。また、ＦＦＴ回路は、逓倍クロック信号の周期で更新するマルチプレクサ用の選択信号を生成するとともに、逓倍クロック信号をストリームデータ数で分周した制御信号を生成するカウンタを有する。さらに、ＦＦＴ回路は、回転因子を制御信号に応じたタイミングで更新する回転因子生成部を有する。
【手続補正７】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
時間軸上で並列する複数のデータ列を受信し、単位時間ごとに所定のデータ列順に各データ列の部分データを出力するマルチプレクサと、
入力したデータを遅延して出力する複数の遅延部と、
前記複数の遅延部に対応して複数段設けられ、対応する遅延部の出力データを第１の入力データとして入力し、第２の入力データとの和及び差を演算し、一方の演算結果または前記第２の入力データを前記対応する遅延部に出力するバタフライ演算部と、
前記バタフライ演算部の他方の演算結果または前記対応する遅延部の出力データと、回転因子とを乗算して後段の前記バタフライ演算部の前記第２の入力データとして出力する乗算部と、を有し、
初段の前記バタフライ演算部は、前記マルチプレクサが出力した前記部分データを前記第２の入力データとして入力し、
前記複数の遅延部のうち、初段の前記バタフライ演算部に対応して設けられた遅延部は、前記マルチプレクサが出力した前記部分データを前記データ列順に入力し、遅延して初段の前記バタフライ演算部の前記第１の入力データとして出力する高速フーリエ変換回路。
【請求項２】
前記複数の遅延部では、前記第２の入力データに含まれる部分データと同じデータ列の部分データが含まれる前記第１の入力データが、当該第２の入力データと共に前記バタフライ演算部に入力されるように、データ列数及び部分データ数に応じて、遅延時間が設定されている請求項１に記載の高速フーリエ変換回路。
【請求項３】
前記単位時間のストリームデータ数倍の周期のクロック信号を受信し、前記クロック信号の周波数を前記ストリームデータ数倍した逓倍クロック信号を生成する逓倍回路と、
前記逓倍クロック信号の周期で更新する前記マルチプレクサ用の選択信号を生成するとともに、前記逓倍クロック信号を前記ストリームデータで分周した制御信号を生成するカウンタと、
前記回転因子を前記制御信号に応じたタイミングで更新する回転因子生成部と、
を更に有する請求項１または２に記載の高速フーリエ変換回路。
【国際調査報告】
2013042249.tif 000010
2013042249.tif 000011