JP6861887B1 - フーリエ変換装置及びフーリエ変換方法 - Google Patents

フーリエ変換装置及びフーリエ変換方法 Download PDF

Info

Publication number
JP6861887B1
JP6861887B1 JP2020505946A JP2020505946A JP6861887B1 JP 6861887 B1 JP6861887 B1 JP 6861887B1 JP 2020505946 A JP2020505946 A JP 2020505946A JP 2020505946 A JP2020505946 A JP 2020505946A JP 6861887 B1 JP6861887 B1 JP 6861887B1
Authority
JP
Japan
Prior art keywords
fourier transform
data
phase
result
points
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
JP2020505946A
Other languages
English (en)
Other versions
JPWO2021053779A1 (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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Application granted granted Critical
Publication of JP6861887B1 publication Critical patent/JP6861887B1/ja
Publication of JPWO2021053779A1 publication Critical patent/JPWO2021053779A1/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

Landscapes

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

Abstract

K×M個のデータのうち、1番目のデータを起点とする並び順で((k−1)M+1)(k=1,2)番目のデータがK個のデータ列におけるそれぞれの先頭のデータであり、K個のデータ列が、K×M個のデータのうち、それぞれの先頭のデータを起点とする並び順で、連続しているM個のデータをそれぞれ含んでいる。K個のデータ列に含まれているそれぞれのM個のデータの中で、それぞれの先頭のデータを起点とする並び順でm(m=1,・・・,M)番目のデータであるK個のデータの総和を算出する加算器(2)と、加算器(2)により算出されたM個の総和に対するM点のフーリエ変換、又は、M個の総和に対するM点の逆フーリエ変換を実施する変換器(3)とを備えるように、フーリエ変換装置を構成した。

Description

この発明は、フーリエ変換又は逆フーリエ変換を実施するフーリエ変換装置及びフーリエ変換方法に関するものである。
以下の特許文献1には、ポイント数2NのFFT(Fast Fourier Transform)回路よりも、低ポイント数のFFT回路として、ポイント数NのFFT回路を用いて、ポイント数2Nのデータ列をフーリエ変換するフーリエ変換回路が開示されている。
特開2003−115813号公報
特許文献1に開示されているフーリエ変換回路は、後段の回路が、フーリエ変換結果の一部のみを必要とする場合であっても、ポイント数2Nのデータ列をフーリエ変換しなければならない。したがって、後段の回路が、フーリエ変換結果の一部のみを必要とする場合であっても、フーリエ変換の処理時間を短縮することができないという課題があった。
この発明は上記のような課題を解決するためになされたもので、後段の回路が、フーリエ変換結果の一部、又は、逆フーリエ変換結果の一部のみを必要とする場合、フーリエ変換結果の全部、又は、逆フーリエ変換結果の全部を必要する場合よりも、フーリエ変換の処理時間、又は、逆フーリエ変換の処理時間を短縮することができるフーリエ変換装置及びフーリエ変換方法を得ることを目的とする。
この発明に係るフーリエ変換装置は、K×M(Kは2以上の整数、Mは2以上の整数)個のデータのうち、k(k=1,・・・,K)番目のデータがK個のデータ列におけるそれぞれの先頭のデータであり、K個のデータ列が、K×M個のデータのうち、それぞれの先頭のデータを起点とする並び順でK個おきのM個のデータをそれぞれ含んでおり、K個のデータ列のうち、いずれか1つのデータ列に含まれているM個のデータに対するM点のフーリエ変換、又は、いずれか1つのデータ列に含まれているM個のデータに対するM点の逆フーリエ変換を実施し、M点の変換結果として、M点のフーリエ変換の変換結果、又は、M点の逆フーリエ変換の変換結果を出力するK個の変換器と、K個の変換器の中の、2番目の変換器からK番目の変換器のうち、いずれか1つの変換器から出力されたM点の変換結果に含まれているc(c=1,・・・,M)番目の変換結果の位相を、2π((c−1)(k−1)/(K×M))(k=2,・・・,K)だけ遅らせる移相を実施し、位相移相後のM点の変換結果を出力する(K−1)個の第1の位相乗算器と、K個の変換器の中の、1番目の変換器から出力されたM点の変換結果と、(K−1)個の第1の位相乗算器から出力されたM点の変換結果とを加算する加算器とを備えるようにしたものである。
この発明によれば、後段の回路が、フーリエ変換結果の一部、又は、逆フーリエ変換結果の一部のみを必要とする場合、フーリエ変換結果の全部、又は、逆フーリエ変換結果の全部を必要する場合よりも、フーリエ変換の処理時間、又は、逆フーリエ変換の処理時間を短縮することができる。
実施の形態1に係るフーリエ変換装置を示す構成図である。 実施の形態1に係る他のフーリエ変換装置を示す構成図である。 フーリエ変換装置が、ソフトウェア又はファームウェア等によって実現される場合のコンピュータのハードウェア構成図である。 図1に示すフーリエ変換装置の処理手順であるフーリエ変換方法を示すフローチャートである。 実施の形態2に係るフーリエ変換装置を示す構成図である。 実施の形態2に係る他のフーリエ変換装置を示す構成図である。 実施の形態3に係るフーリエ変換装置を示す構成図である。 実施の形態3に係る他のフーリエ変換装置を示す構成図である。 実施の形態4に係るフーリエ変換装置を示す構成図である。 実施の形態4に係る他のフーリエ変換装置を示す構成図である。 実施の形態5に係るフーリエ変換装置を示す構成図である。
以下、この発明をより詳細に説明するために、この発明を実施するための形態について、添付の図面に従って説明する。
実施の形態1.
図1は、実施の形態1に係るフーリエ変換装置を示す構成図である。
図1に示すフーリエ変換装置には、K個のデータ列1(k=1,・・・,K)が入力される。Kは、2以上の整数である。
K個のデータ列1は、K×M個のデータのうち、1番目のデータを起点とする並び順で((k−1)M+1)番目のデータを先頭のデータとして含んでいる。
K個のデータ列1は、それぞれの先頭のデータのほかに、K×M個のデータのうち、それぞれの先頭のデータを起点とする並び順で、連続している(M−1)個のデータをそれぞれ含んでいる。
Mは、2以上の整数である。K×M個のデータは、実数のデータであってもよいし、複素数のデータであってもよい。
K個のデータ列1の具体例は、以下の通りである。
データ列1は、データD、データD、・・・、データDを含んでおり、データD、データD、・・・、データDの順番で加算器2に入力される。
データ列1={D、D、・・・、D
データ列1は、データDM+1、データDM+2、・・・、データD2Mを含んでおり、データDM+1、データDM+2、・・・、データD2Mの順番で加算器2に入力される。
データ列1={DM+1、DM+2、・・・、D2M
データ列1は、データD2M+1、データD2M+2、・・・、データD3Mを含んでおり、データD2M+1、データD2M+2、・・・、データD3Mの順番で加算器2に入力される。
データ列1={D2M+1、D2M+2、・・・、D3M
データ列1は、データD(K−1)M+1、データD(K−1)M+2、・・・、データDK×Mを含んでおり、データD(K−1)M+1、データD(K−1)M+2、・・・、データDK×Mの順番で加算器2に入力される。
データ列1={D(K−1)M+1、D(K−1)M+2、・・・、DK×M
加算器2は、例えば、加算回路によって実現される。
加算器2は、K個のデータ列1に含まれているそれぞれのM個のデータの中から、それぞれの先頭のデータを起点とする並び順でm(m=1,・・・,M)番目のデータであるK個のデータの入力を受け付ける。
加算器2は、K個のデータの入力を受け付ける毎に、K個のデータの総和を算出し、算出したK個のデータの総和を変換器3に出力する。
変換器3は、例えば、変換回路によって実現される。
変換器3は、加算器2により算出されたM個の総和に対するM点のフーリエ変換、又は、M個の総和に対するM点の逆フーリエ変換を実施する。
変換器3は、変換結果4として、M点のフーリエ変換の変換結果(以下、「フーリエ変換結果」と称する)、又は、M点の逆フーリエ変換の変換結果(以下、「逆フーリエ変換結果」と称する)を外部に出力する。
変換器3により実施されるフーリエ変換は、高速フーリエ変換に限るものではなく、例えば、離散フーリエ変換も含まれる。
また、変換器3により実施される逆フーリエ変換は、逆高速フーリエ変換に限るものではなく、例えば、逆離散フーリエ変換も含まれる。
図1に示すフーリエ変換装置では、加算器2と変換器3とがシリアルに接続されている。しかし、これは一例に過ぎず、図2に示すように、加算器2と変換器3とがバス接続されているフーリエ変換装置であってもよい。図2は、実施の形態1に係る他のフーリエ変換装置を示す構成図である。
図1及び図2では、フーリエ変換装置の構成要素である加算器2及び変換器3のそれぞれが、専用のハードウェアによって実現されるものを想定している。
フーリエ変換装置の構成要素である加算器2及び変換器3のそれぞれは、例えば、単一回路、複合回路、プログラム化したプロセッサ、並列プログラム化したプロセッサ、ASIC(Application Specific Integrated Circuit)、FPGA(Field−Programmable Gate Array)、又は、これらを組み合わせたものが該当する。
フーリエ変換装置の構成要素は、専用のハードウェアによって実現されるものに限るものではなく、フーリエ変換装置が、ソフトウェア、ファームウェア、又は、ソフトウェアとファームウェアとの組み合わせによって実現されるものであってもよい。
ソフトウェア又はファームウェアは、プログラムとして、コンピュータのメモリに格納される。コンピュータは、プログラムを実行するハードウェアを意味し、例えば、CPU(Central Processing Unit)、中央処理装置、処理装置、演算装置、マイクロプロセッサ、マイクロコンピュータ、プロセッサ、あるいは、DSP(Digital Signal Processor)が該当する。
図3は、フーリエ変換装置が、ソフトウェア又はファームウェア等によって実現される場合のコンピュータのハードウェア構成図である。
フーリエ変換装置が、ソフトウェア又はファームウェア等によって実現される場合、加算器2及び変換器3の処理手順をコンピュータに実行させるためのプログラムがメモリ21に格納される。そして、コンピュータのプロセッサ22がメモリ21に格納されているプログラムを実行する。
また、図1及び図2では、フーリエ変換装置の構成要素のそれぞれが専用のハードウェアによって実現される例を示し、図3では、フーリエ変換装置がソフトウェア又はファームウェア等によって実現される例を示している。しかし、これは一例に過ぎず、フーリエ変換装置における一部の構成要素が専用のハードウェアによって実現され、残りの構成要素がソフトウェア又はファームウェア等によって実現されるものであってもよい。
次に、図1に示すフーリエ変換装置の動作について説明する。
図4は、図1に示すフーリエ変換装置の処理手順であるフーリエ変換方法を示すフローチャートである。
K個のデータ列1(k=1,・・・,K)は、並列に並べられている。
例えば、データ列1に含まれているデータDが加算器2に入力されるタイミングでは、データ列1に含まれているデータDM+1と、データ列1に含まれているデータD2M+1と、データ列1に含まれているデータD(K−1)M+1とが加算器2に入力される。
また、例えば、データ列1に含まれているデータDが加算器2に入力されるタイミングでは、データ列1に含まれているデータD2Mと、データ列1に含まれているデータD3Mと、データ列1に含まれているデータDK×Mとが加算器2に入力される。
加算器2は、K個のデータ列1に含まれているそれぞれのM個のデータの中から、それぞれの先頭のデータを起点とする並び順でm(m=1,・・・,M)番目のデータであるK個のデータの入力を受け付ける。
加算器2は、K個のデータの入力を受け付ける毎に、入力を受け付けたK個のデータの総和Σ(m=1,・・・,M)を算出する(図4のステップST1)。
m=1,・・・,Mであるため、加算器2は、K個のデータの総和ΣをM回算出し、M個の総和Σを変換器3に出力する。
加算器2によるK個のデータの具体的な総和算出は、以下の通りである。
加算器2は、例えば、m=1であれば、データD、データDM+1、データD2M+1、・・・及びデータD(K−1)M+1の入力を受け付ける。
加算器2は、以下の式(1)に示すように、データD、データDM+1、データD2M+1、・・・及びデータD(K−1)M+1の総和Σを算出する。
Σ=D+DM+1+D2M+1+・・・+D(K−1)M+1 (1)
加算器2は、例えば、m=2であれば、データD、データDM+2、データD2M+2、・・・及びデータD(K−1)M+2の入力を受け付ける。
加算器2は、以下の式(2)に示すように、データD、データDM+2、データD2M+2、・・・及びデータD(K−1)M+2の総和Σを算出する。
Σ=D+DM+2+D2M+2+・・・+D(K−1)M+2 (2)
加算器2は、例えば、m=Mであれば、データD、データD2M、データD3M、・・・及びデータDK×Mの入力を受け付ける。
加算器2は、以下の式(3)に示すように、データD、データD2M、データD3M、・・・及びデータDK×Mの総和Σを算出する。
Σ=D+D2M+D3M+・・・+ΣK×M (3)
変換器3は、加算器2からM個の総和Σを受けると、M個の総和Σに対するM点のフーリエ変換、又は、M個の総和Σに対するM点の逆フーリエ変換を実施する(図4のステップST2)。
変換器3は、変換結果4として、フーリエ変換結果{R、RM+1、R2M+1、・・・、R(K−1)M+1}、又は、逆フーリエ変換結果{R’、R’M+1、R’2M+1、・・・、R’(K−1)M+1}を外部に出力する。
例えば、K=2、M=4であり、K×M(=8)個のデータが{D、D、・・・、D}であれば、データ列1(k=1,2)は、以下の通りである。
={D、D、D、D
={D、D、D、D
データ列1(k=1,2)が加算器2に入力されると、変換器3から、変換結果4として、4点のフーリエ変換結果{R、R、R、R}、又は、4点の逆フーリエ変換結果{R’、R’、R’、R’}が外部に出力される。
したがって、変換器3から変換結果4を受ける外部の回路が、例えば、8点のフーリエ変換結果{R、R、・・・、R}のうち、4点のフーリエ変換結果{R、R、R、R}のみを必要とする場合、図1に示すフーリエ変換装置を外部の回路に適用することができる。
また、変換器3から変換結果4を受ける外部の回路が、例えば、8点の逆フーリエ変換結果{R’、R’、・・・、R’}のうち、4点の逆フーリエ変換結果{R’、R’、R’、R’}のみを必要とする場合、図1に示すフーリエ変換装置を外部の回路に適用することができる。
図1に示すフーリエ変換装置は、K×M点のフーリエ変換を実施するFFT回路と比べて、処理速度が約K倍速くなり、かつ、回路規模が約K分の1になる。
例えば、K=2であれば、図1に示すフーリエ変換装置は、K×M点のフーリエ変換を実施するFFT回路と比べて、処理速度が約2倍速くなり、かつ、回路規模が約2分の1になる。
例えば、K=3であれば、図1に示すフーリエ変換装置は、K×M点のフーリエ変換を実施するFFT回路と比べて、処理速度が約3倍速くなり、かつ、回路規模が約3分の1になる。
なお、加算器2の回路規模は、変換器3の回路規模と比べて十分に小さいため、図1に示すフーリエ変換装置の回路規模として、加算器2の回路規模を考慮していない。
以上の実施の形態1は、K×M個のデータのうち、1番目のデータを起点とする並び順で((k−1)M+1)(k=1,2)番目のデータがK個のデータ列におけるそれぞれの先頭のデータであり、K個のデータ列が、K×M個のデータのうち、それぞれの先頭のデータを起点とする並び順で、連続しているM個のデータをそれぞれ含んでいる。K個のデータ列に含まれているそれぞれのM個のデータの中で、それぞれの先頭のデータを起点とする並び順でm(m=1,・・・,M)番目のデータであるK個のデータの総和を算出する加算器2と、加算器2により算出されたM個の総和に対するM点のフーリエ変換、又は、M個の総和に対するM点の逆フーリエ変換を実施する変換器3とを備えるように、フーリエ変換装置を構成した。したがって、フーリエ変換装置は、後段の回路である外部の回路が、フーリエ変換結果の一部、又は、逆フーリエ変換結果の一部のみを必要とする場合、フーリエ変換結果の全部、又は、逆フーリエ変換結果の全部を必要する場合よりも、フーリエ変換の処理時間、又は、逆フーリエ変換の処理時間を短縮することができる。
実施の形態2.
実施の形態2では、加算器2及び変換器3のほかに、第1の位相乗算器5及び第2の位相乗算器6を備えるフーリエ変換装置について説明する。
図5は、実施の形態2に係るフーリエ変換装置を示す構成図である。
図5に示すフーリエ変換装置では、図1に示すフーリエ変換装置と同様に、Kは2以上の整数、Mは2以上の整数である。
図5において、図1と同一符号は同一又は相当部分を示すので説明を省略する。
第1の位相乗算器5は、例えば、位相乗算回路によって実現される。
第1の位相乗算器5は、K個のデータ列1(k=1,・・・,K)に含まれているそれぞれのM個のデータの中から、それぞれの先頭のデータを起点とする並び順でm番目のデータであるK個のデータの入力を受け付ける。
第1の位相乗算器5は、K個のデータの入力を受け付ける毎に、入力を受け付けたK個のデータのうち、k(k=1,・・・,K)番目のデータの位相を、2π(k−1)s/Kだけ進ませる移相を実施する。
第1の位相乗算器5は、位相移相後のM個のデータを含むK個のデータ列1を加算器2に出力する。
sは、0以上(K−1)以下のうちのいずれかの整数であり、変換器3によるM点のフーリエ変換結果{R1+s、R(K+1)+s、R(2K+1)+s、・・・、R((M−1)K+1)+s}、又は、M点の逆フーリエ変換結果{R’1+s、R’(K+1)+s、R’(2K+1)+s、・・・、R’((M−1)K+1)+s}に応じて決定される。
具体的には、例えば、K=2、M=4であるとき、4点のフーリエ変換結果{R、R、R、R}、又は、4点の逆フーリエ変換結果{R’、R’、R’、R’}を外部の回路に出力する必要がある場合、sは、0に決定される。
例えば、K=2、M=4であるとき、4点のフーリエ変換結果{R、R、R、R}、又は、4点の逆フーリエ変換結果{R’、R’、R’、’R}を外部の回路に出力する必要がある場合、sは、1に決定される。
sは、第1の位相乗算器5及び第2の位相乗算器6におけるそれぞれの内部メモリに格納されていてもよいし、図5に示すフーリエ変換装置の外部から与えられるものであってもよい。
第2の位相乗算器6は、例えば、位相乗算回路によって実現される。
第2の位相乗算器6は、加算器2により算出されたM個の総和Σの位相を、2π(m−1)s/Nだけ遅らせる移相を実施し、位相移相後のM個の総和Σ’を変換器3に出力する。N=K×Mである。
図5に示すフーリエ変換装置では、第1の位相乗算器5と、加算器2と、第2の位相乗算器6と、変換器3とがシリアルに接続されている。しかし、これは一例に過ぎず、図6に示すように、第1の位相乗算器5と、加算器2と、第2の位相乗算器6と、変換器3とがバス接続されているフーリエ変換装置であってもよい。図6は、実施の形態2に係る他のフーリエ変換装置を示す構成図である。
図5及び図6では、フーリエ変換装置の構成要素である第1の位相乗算器5、加算器2、第2の位相乗算器6及び変換器3のそれぞれが、専用のハードウェアによって実現されるものを想定している。
フーリエ変換装置の構成要素である第1の位相乗算器5、加算器2、第2の位相乗算器6及び変換器3のそれぞれは、例えば、単一回路、複合回路、プログラム化したプロセッサ、並列プログラム化したプロセッサ、ASIC、FPGA、又は、これらを組み合わせたものが該当する。
フーリエ変換装置の構成要素は、専用のハードウェアによって実現されるものに限るものではなく、フーリエ変換装置が、ソフトウェア、ファームウェア、又は、ソフトウェアとファームウェアとの組み合わせによって実現されるものであってもよい。
フーリエ変換装置が、ソフトウェア又はファームウェア等によって実現される場合、第1の位相乗算器5、加算器2、第2の位相乗算器6及び変換器3の処理手順をコンピュータに実行させるためのプログラムが図3に示すメモリ21に格納される。そして、図3に示すプロセッサ22がメモリ21に格納されているプログラムを実行する。
次に、図5に示すフーリエ変換装置の動作について説明する。
第1の位相乗算器5は、K個のデータ列1(k=1,・・・,K)に含まれているそれぞれのM個のデータの中から、それぞれの先頭のデータを起点とする並び順でm(m=1,・・・,M)番目のデータであるK個のデータの入力を受け付ける。
第1の位相乗算器5は、K個のデータの入力を受け付ける毎に、入力を受け付けたK個のデータのうち、k番目のデータの位相を、2π(k−1)s/Kだけ進ませる移相を実施する。
第1の位相乗算器5は、位相移相後のM個のデータを含むK個のデータ列1を加算器2に出力する。
第1の位相乗算器5によるk番目のデータの位相を進ませる具体的な移相は、以下の通りである。
例えば、m=1であれば、第1の位相乗算器5は、データD、データDM+1、データD2M+1、・・・及びデータD(K−1)M+1の入力を受け付ける。
第1の位相乗算器5は、例えば、s=0であれば、入力を受け付けたK個のデータ{D、DM+1、D2M+1、・・・、D(K−1)M+1}のうち、k番目のデータの位相を、0だけ進ませる移相を実施する。
第1の位相乗算器5は、例えば、s=1であれば、入力を受け付けたK個のデータ{D、DM+1、D2M+1、・・・、D(K−1)M+1}のうち、k番目のデータの位相を、2π(k−1)/Kだけ進ませる移相を実施する。
第1の位相乗算器5は、例えば、s=2であれば、入力を受け付けたK個のデータ{D、DM+1、D2M+1、・・・、D(K−1)M+1}のうち、k番目のデータの位相を、4π(k−1)/Kだけ進ませる移相を実施する。
第1の位相乗算器5は、例えば、s=K−1であれば、入力を受け付けたK個のデータ{D、DM+1、D2M+1、・・・、D(K−1)M+1}のうち、k番目のデータの位相を、2π(k−1)(K−1)/Kだけ進ませる移相を実施する。
加算器2は、第1の位相乗算器5から出力されたK個のデータ列1に含まれているそれぞれのM個のデータの中から、それぞれの先頭のデータを起点とする並び順でm(m=1,・・・,M)番目のデータであるK個のデータの入力を受け付ける。
加算器2は、K個のデータの入力を受け付ける毎に、図1に示す加算器2と同様に、入力を受け付けたK個のデータの総和Σを算出する。m=1,・・・,Mであるため、加算器2は、K個のデータの総和ΣをM回算出し、M個の総和Σを第2の位相乗算器6に出力する。
第2の位相乗算器6は、加算器2から出力されたM個の総和Σを取得する。
第2の位相乗算器6は、取得したM個の総和Σの位相を、2π(m−1)s/Nだけ遅らせる移相を実施する。
第2の位相乗算器6は、位相移相後のM個の総和Σ’を変換器3に出力する。
第2の位相乗算器6による総和Σの位相を遅らせる移相の移相量は、以下の通りである。
例えば、s=0であれば、総和Σの位相を遅らせる移相の移相量は、0である。
例えば、s=1、m=1であれば、総和Σの位相を遅らせる移相の移相量は、2π(1−1)×1/N=0である。
例えば、s=1、m=2であれば、総和Σの位相を遅らせる移相の移相量は、2π(2−1)×1/N=2π/Nである。
例えば、s=1、m=3であれば、総和Σの位相を遅らせる移相の移相量は、2π(3−1)×1/N=4π/Nである。
例えば、s=1、m=Mであれば、総和Σの位相を遅らせる移相の移相量は、2π(M−1)×1/N=2π(M−1)/Nである。
例えば、s=2、m=1であれば、総和Σの位相を遅らせる移相の移相量は、2π(1−1)×2/N=0である。
例えば、s=2、m=2であれば、総和Σの位相を遅らせる移相の移相量は、2π(2−1)×2/N=4π/Nである。
例えば、s=2、m=3であれば、総和Σの位相を遅らせる移相の移相量は、2π(3−1)×2/N=8π/Nである。
例えば、s=2、m=Mであれば、総和Σの位相を遅らせる移相の移相量は、2π(M−1)×2/N=4π(M−1)/Nである。
変換器3は、第2の位相乗算器6から位相移相後のM個の総和Σ’(m=1,・・・,M)を受けると、M個の総和Σ’に対するM点のフーリエ変換、又は、M個の総和Σ’に対するM点の逆フーリエ変換を実施する。
変換器3は、変換結果4として、M点のフーリエ変換結果{R1+s、R(K+1)+s、R(2K+1)+s、・・・、R((M−1)K+1)+s}、又は、M点の逆フーリエ変換結果{R’1+s、R’(K+1)+s、R’(2K+1)+s、・・・、R’((M−1)K+1)+s}を外部に出力する。
例えば、K=4、M=4であるとき、s=0であれば、M=4点のフーリエ変換結果は、{R、R、R、R13}、M=4点の逆フーリエ変換結果は、{R’、R’、R’、R’13}である。
例えば、K=4、M=4であるとき、s=1であれば、M=4点のフーリエ変換結果は、{R、R、R10、R14}、M=4点の逆フーリエ変換結果は、{R’、R’、R’10、R’14}である。
図5に示すフーリエ変換装置は、K×M点のフーリエ変換を実施するFFT回路と比べて、処理速度が約K倍速くなり、かつ、回路規模が約K分の1になる。
なお、第1の位相乗算器5、加算器2及び第2の位相乗算器6の回路規模は、変換器3の回路規模と比べて十分に小さいため、図5に示すフーリエ変換装置の回路規模として、第1の位相乗算器5、加算器2及び第2の位相乗算器6の回路規模を考慮していない。
図5に示すフーリエ変換装置は、図1に示すフーリエ変換装置と同様に、後段の回路である外部の回路が、フーリエ変換結果の一部、又は、逆フーリエ変換結果の一部のみを必要とする場合、フーリエ変換結果の全部、又は、逆フーリエ変換結果の全部を必要する場合よりも、フーリエ変換の処理時間、又は、逆フーリエ変換の処理時間を短縮することができる。
また、図5に示すフーリエ変換装置は、sの値を変えることで、変換器3の変換結果4を変えることができる。
実施の形態3.
実施の形態3では、K個の変換器32〜32を備えるフーリエ変換装置について説明する。
図7は、実施の形態3に係るフーリエ変換装置を示す構成図である。
図7に示すフーリエ変換装置には、K個のデータ列31(k=1,・・・,K)が入力される。Kは、2以上の整数である。
K個のデータ列31は、K×M個のデータのうち、k番目のデータを先頭のデータとして含んでいる。
K個のデータ列31は、先頭のデータのほかに、K×M個のデータのうち、先頭のデータを起点とする並び順でK個おきの(M−1)個のデータをそれぞれ含んでいる。
Mは、2以上の整数である。K×M個のデータは、実数のデータであってもよいし、複素数のデータであってもよい。
K個のデータ列31の具体例は、以下の通りである。
データ列31は、データD、データDK+1、・・・、データD(M−1)K+1を含んでおり、データD、データDK+1、・・・、データD(M−1)K+1の順番で変換器32に入力される。
データ列31={D、DK+1、・・・、D(M−1)K+1
データ列31は、データD、データDK+2、・・・、データD(M−1)K+2を含んでおり、データD、データDK+2、・・・、データD(M−1)K+2の順番で変換器32に入力される。
データ列31={D、DK+2、・・・、D(M−1)K+2
データ列31は、データD、データDK+3、・・・、データD(M−1)K+3を含んでおり、データD、データDK+3、・・・、データD(M−1)K+3の順番で変換器32に入力される。
データ列31={D、DK+3、・・・、D(M−1)K+3
データ列31は、データD、データD2K、・・・、データDMKを含んでおり、データD、データD2K、・・・、データDMKの順番で変換器32に入力される。
データ列31={D、D2K、・・・、DMK
変換器32(k=1,・・・,K)は、例えば、変換回路によって実現される。
変換器32は、データ列31に対するM点のフーリエ変換、又は、データ列31に対するM点の逆フーリエ変換を実施する。
変換器32は、M点の変換結果として、M点のフーリエ変換結果{R、RK+1、・・・、R(M−1)K+1}、又は、M点の逆フーリエ変換結果{R’、R’K+1、・・・、R’(M−1)K+1}を加算器34に出力する。
変換器32(k=2,・・・,K)は、M点の変換結果として、M点のフーリエ変換結果{R、RK+k、・・・、R(M−1)K+k}、又は、M点の逆フーリエ変換結果{R’、R’K+k、・・・、R’(M−1)K+k}を第1の位相乗算器33に出力する。
変換器32(k=1,・・・,K)により実施されるフーリエ変換は、高速フーリエ変換に限るものではなく、例えば、離散フーリエ変換も含まれる。
また、変換器32(k=1,・・・,K)により実施される逆フーリエ変換は、逆高速フーリエ変換に限るものではなく、例えば、逆離散フーリエ変換も含まれる。
第1の位相乗算器33(k=2,・・・,K)は、例えば、位相乗算回路によって実現される。
第1の位相乗算器33は、変換器32から出力されたM点のフーリエ変換結果{R、RK+k、・・・、R(M−1)K+k}、又は、M点の逆フーリエ変換結果{R’、R’K+k、・・・、R’(M−1)K+k}の入力を受け付ける。
第1の位相乗算器33は、M点のフーリエ変換結果{R、RK+k、・・・、R(M−1)K+k}に含まれているc(c=1,・・・,M)番目の変換結果の位相、又は、M点の逆フーリエ変換結果{R’、R’K+k、・・・、R’(M−1)K+k}に含まれているc番目の変換結果の位相を、2π((c−1)(k−1)/(K×M))だけ遅らせる移相を実施する。
第1の位相乗算器33は、位相移相後のM点の変換結果を加算器34に出力する。
加算器34は、例えば、加算回路によって実現される。
加算器34は、変換器32から出力されたM点の変換結果と、変換器32〜32から出力されたM点の変換結果とを加算し、加算後の変換結果35を外部に出力する。
図7に示すフーリエ変換装置では、変換器32と、加算器34とがシリアルに接続され、また、変換器32(k=2,・・・,K)と、第1の位相乗算器33(k=2,・・・,K)と、加算器34とがシリアルに接続されている。しかし、これは一例に過ぎず、図8に示すように、変換器32(k=1,・・・,K)と、第1の位相乗算器33(k=2,・・・,K)と、加算器34とがバス接続されているフーリエ変換装置であってもよい。図8は、実施の形態3に係る他のフーリエ変換装置を示す構成図である。
図7及び図8では、フーリエ変換装置の構成要素である変換器32(k=1,・・・,K)、第1の位相乗算器33(k=2,・・・,K)及び加算器34のそれぞれが、専用のハードウェアによって実現されるものを想定している。
フーリエ変換装置の構成要素である変換器32、第1の位相乗算器33及び加算器34のそれぞれは、例えば、単一回路、複合回路、プログラム化したプロセッサ、並列プログラム化したプロセッサ、ASIC、FPGA、又は、これらを組み合わせたものが該当する。
フーリエ変換装置の構成要素は、専用のハードウェアによって実現されるものに限るものではなく、フーリエ変換装置が、ソフトウェア、ファームウェア、又は、ソフトウェアとファームウェアとの組み合わせによって実現されるものであってもよい。
フーリエ変換装置が、ソフトウェア又はファームウェア等によって実現される場合、変換器32、第1の位相乗算器33及び加算器34の処理手順をコンピュータに実行させるためのプログラムが図3に示すメモリ21に格納される。そして、図3に示すプロセッサ22がメモリ21に格納されているプログラムを実行する。
次に、図7に示すフーリエ変換装置の動作について説明する。
変換器32(k=1,・・・,K)は、データ列31の入力を受け付ける。
例えば、K=4、M=4であれば、以下に示すデータ列31が変換器32に入力され、以下に示すデータ列31が変換器32に入力される。また、以下に示すデータ列31が変換器32に入力され、以下に示すデータ列31が変換器32に入力される。
データ列31={D、D、D、D13
データ列31={D、D、D10、D14
データ列31={D、D、D11、D15
データ列31={D、D、D12、D16
変換器32は、データ列31に対するM点のフーリエ変換、又は、データ列31に対するM点の逆フーリエ変換を実施する。
例えば、K=4、M=4であれば、変換器32は、4点のフーリエ変換結果{R、R、R、R13}、又は、4点の逆フーリエ変換結果{R’、R’、R’、R’13}を加算器34に出力する。変換器32は、4点のフーリエ変換結果{R、R、R10、R14}、又は、4点の逆フーリエ変換結果{R’、R’、R’10、R’14}を第1の位相乗算器33に出力する。
変換器32は、4点のフーリエ変換結果{R、R、R11、R15}、又は、4点の逆フーリエ変換結果{R’、R’、R’11、R’15}を第1の位相乗算器33に出力する。変換器32は、4点のフーリエ変換結果{R、R、R12、R16}、又は、4点の逆フーリエ変換結果{R’、R’、R’12、R’16}を第1の位相乗算器33に出力する。
第1の位相乗算器33(k=2,・・・,K)は、変換器32から出力されたM点のフーリエ変換結果{R、RK+k、・・・、R(M−1)K+k}、又は、M点の逆フーリエ変換結果{R’、R’K+k、・・・、R’(M−1)K+k}の入力を受け付ける。
例えば、K=4、M=4であれば、第1の位相乗算器33は、4点のフーリエ変換結果{R、R、R10、R14}、又は、4点の逆フーリエ変換結果{R’、R’、R’10、R’14}の入力を受け付ける。第1の位相乗算器33は、4点のフーリエ変換結果{R、R、R11、R15}、又は、4点の逆フーリエ変換結果{R’、R’、R’11、R’15}の入力を受け付ける。第1の位相乗算器33は、4点のフーリエ変換結果{R、R、R12、R16}、又は、4点の逆フーリエ変換結果{R’、R’、R’12、R’16}の入力を受け付ける。
第1の位相乗算器33は、入力を受け付けたM点のフーリエ変換結果{R、RK+k、・・・、R(M−1)K+k}に含まれているc(c=1,・・・,M)番目の変換結果の位相、又は、入力を受け付けたM点の逆フーリエ変換結果{R’、R’K+k、・・・、R’(M−1)K+k}に含まれているc番目の変換結果の位相を、2π((c−1)(k−1)/(K×M))だけ遅らせる移相を実施する。
第1の位相乗算器33は、位相移相後のM点の変換結果を加算器34に出力する。
例えば、K=4、M=4であれば、第1の位相乗算器33は、4点のフーリエ変換結果{R、R、R10、R14}、又は、4点の逆フーリエ変換結果{R’、R’、R’10、R’14}の入力を受け付ける。
第1の位相乗算器33は、4点のフーリエ変換結果{R、R、R10、R14}のうち、c=1番目の変換結果Rの位相、又は、4点の逆フーリエ変換結果{R’、R’、R’10、R’14}のうち、c=1番目の変換結果R’の位相を、2π×(1−1)×(2−1)/(4×4)=0だけ遅らせる移相を実施する。第1の位相乗算器33は、c=2番目の変換結果Rの位相、又は、c=2番目の変換結果R’の位相を、2π×(2−1)×(2−1)/(4×4)=π/8だけ遅らせる移相を実施する。第1の位相乗算器33は、c=3番目の変換結果R10の位相、又は、c=3番目の変換結果R’10の位相を、2π×(3−1)×(2−1)/(4×4)=π/4だけ遅らせる移相を実施する。第1の位相乗算器33は、c=4番目の変換結果R14の位相、又は、c=4番目の変換結果R’14の位相を、2π×(4−1)×(2−1)/(4×4)=3π/8だけ遅らせる移相を実施する。
第1の位相乗算器33は、4点のフーリエ変換結果{R、R、R11、R15}、又は、4点の逆フーリエ変換結果{R’、R’、R’11、R’15}の入力を受け付ける。
第1の位相乗算器33は、4点のフーリエ変換結果{R、R、R11、R15}のうち、c=1番目の変換結果Rの位相、又は、4点の逆フーリエ変換結果{R’、R’、R’11、R’15}のうち、c=1番目の変換結果R’の位相を、2π×(1−1)×(3−1)/(4×4)=0だけ遅らせる移相を実施する。第1の位相乗算器33は、c=2番目の変換結果Rの位相、又は、c=2番目の変換結果R’の位相を、2π×(2−1)×(3−1)/(4×4)=π/4だけ遅らせる移相を実施する。第1の位相乗算器33は、c=3番目の変換結果R11の位相、又は、c=3番目の変換結果R’11の位相を、2π×(3−1)×(3−1)/(4×4)=π/2だけ遅らせる移相を実施する。第1の位相乗算器33は、c=4番目の変換結果R15の位相、又は、c=4番目の変換結果R’15の位相を、2π×(4−1)×(3−1)/(4×4)=3π/4だけ遅らせる移相を実施する。
第1の位相乗算器33は、4点のフーリエ変換結果{R、R、R12、R16}、又は、4点の逆フーリエ変換結果{R’、R’、R’12、R’16}の入力を受け付ける。
第1の位相乗算器33は、4点のフーリエ変換結果{R、R、R12、R16}のうち、c=1番目の変換結果Rの位相、又は、4点の逆フーリエ変換結果{R’、R’、R’12、R’16}のうち、c=1番目の変換結果R’の位相を、2π×(1−1)×(4−1)/(4×4)=0だけ遅らせる移相を実施する。第1の位相乗算器33は、c=2番目の変換結果Rの位相、又は、c=2番目の変換結果R’の位相を、2π×(2−1)×(4−1)/(4×4)=3π/8だけ遅らせる移相を実施する。第1の位相乗算器33は、c=3番目の変換結果R12の位相、又は、c=3番目の変換結果R’12の位相を、2π×(3−1)×(4−1)/(4×4)=3π/4だけ遅らせる移相を実施する。第1の位相乗算器33は、c=4番目の変換結果R16の位相、又は、c=4番目の変換結果R’16の位相を、2π×(4−1)×(4−1)/(4×4)=9π/8だけ遅らせる移相を実施する。
加算器34は、変換器32から出力されたM点の変換結果と、変換器32〜32から出力された位相移相後のM点の変換結果とを加算する。
加算器34は、加算後の変換結果35を外部に出力する。
例えば、K=4、M=4であれば、加算器34は、変換器32から出力されたフーリエ変換結果{R、R、R、R13}と、第1の位相乗算器33から出力されたフーリエ変換結果{R、R、R10、R14}と、第1の位相乗算器33から出力されたフーリエ変換結果{R、R、R11、R15}と、第1の位相乗算器33から出力されたフーリエ変換結果{R、R、R12、R16}とを加算する。
加算器34は、4点のフーリエ変換結果として、{R+R+R+R、R+R+R+R、R+R10+R11+R12、R13+R14+R15+R16}を外部に出力する。
4点のフーリエ変換結果{R+R+R+R、R+R+R+R、R+R10+R11+R12、R13+R14+R15+R16}は、K×M(=4×4)個のデータに対する16点のフーリエ変換結果{R、R、R、・・・R16}に含まれているフーリエ変換結果{R、R、R、R}に相当する。
あるいは、加算器34は、変換器32から出力された逆フーリエ変換結果{R’、R’、R’、R’13}と、第1の位相乗算器33から出力された逆フーリエ変換結果{R’、R’、R’10、R’14}と、第1の位相乗算器33から出力された逆フーリエ変換結果{R’、R’、R’11、R’15}と、第1の位相乗算器33から出力された逆フーリエ変換結果{R’、R’、R’12、R’16}とを加算する。加算器34は、4点の逆フーリエ変換結果として、{R’+R’+R’+R’、R’+R’+R’+R’、R’+R’10+R’11+R’12、R’13+R’14+R’15+R’16}を外部に出力する。
4点の逆フーリエ変換結果{R’+R’+R’+R’、R’+R’+R’+R’、R’+R’10+R’11+R’12、R’13+R’14+R’15+R’16}は、K×M(=4×4)個のデータに対する16点の逆フーリエ変換結果{R’、R’、R’、・・・R’16}に含まれている逆フーリエ変換結果{R’、R’、R’、R’}に相当する。
図7に示すフーリエ変換装置は、K×M点のフーリエ変換を実施するFFT回路と比べて、処理速度が約K倍速くなる。
例えば、K=4であれば、処理速度が約4倍速くなり、例えば、K=8であれば、処理速度が約8倍速くなる。
以上の実施の形態3では、K個のデータ列のうち、いずれか1つのデータ列に含まれているM個のデータに対するM点のフーリエ変換、又は、いずれか1つのデータ列に含まれているM個のデータに対するM点の逆フーリエ変換を実施し、M点の変換結果として、M点のフーリエ変換の変換結果、又は、M点の逆フーリエ変換の変換結果を出力するK個の変換器32〜32と、K個の変換器32〜32の中の、2番目の変換器32からK番目の変換器32のうち、いずれか1つの変換器32から出力されたM点の変換結果に含まれているc(c=1,・・・,M)番目の変換結果の位相を、2π((c−1)(k−1)/(K×M))(k=2,・・・,K)だけ遅らせる移相を実施し、位相移相後のM点の変換結果を出力する(K−1)個の第1の位相乗算器33〜33と、K個の変換器32〜32の中の、1番目の変換器32から出力されたM点の変換結果と、(K−1)個の第1の位相乗算器33〜33から出力されたM点の変換結果とを加算する加算器34とを備えるように、フーリエ変換装置を構成した。したがって、フーリエ変換装置は、後段の回路である外部の回路が、フーリエ変換結果の一部、又は、逆フーリエ変換結果の一部のみを必要とする場合、フーリエ変換結果の全部、又は、逆フーリエ変換結果の全部を必要する場合よりも、フーリエ変換の処理時間、又は、逆フーリエ変換の処理時間を短縮することができる。
実施の形態4.
実施の形態4では、第2の位相乗算器36を備えるフーリエ変換装置について説明する。
図9は、実施の形態4に係るフーリエ変換装置を示す構成図である。
図9に示すフーリエ変換装置では、図7に示すフーリエ変換装置と同様に、Kは2以上の整数、Mは2以上の整数である。
図9において、図7と同一符号は同一又は相当部分を示すので説明を省略する。
第2の位相乗算器36は、例えば、位相乗算回路によって実現される。
第2の位相乗算器36は、K個の変換器32〜32の中の、1番目の変換器32から出力されたM点の変換結果を加算器34に出力する。
第2の位相乗算器36は、(K−1)個の第1の位相乗算器33〜33のうち、k(k=2,・・・,K)番目の第1の位相乗算器33から出力されたM点の変換結果の位相を、2π((k−1)/K)だけ進める移相を実施する。
第2の位相乗算器36は、位相移相後のM点の変換結果を加算器34に出力する。
図9に示すフーリエ変換装置では、変換器32と、第2の位相乗算器36と、加算器34とがシリアルに接続され、また、変換器32(k=2,・・・,K)と、第1の位相乗算器33(k=2,・・・,K)と、第2の位相乗算器36と、加算器34とがシリアルに接続されている。しかし、これは一例に過ぎず、図10に示すように、変換器32(k=1,・・・,K)と、第1の位相乗算器33(k=2,・・・,K)と、第2の位相乗算器36と、加算器34とがバス接続されているフーリエ変換装置であってもよい。図10は、実施の形態4に係る他のフーリエ変換装置を示す構成図である。
図9及び図10では、フーリエ変換装置の構成要素である変換器32(k=1,・・・,K)、第1の位相乗算器33(k=2,・・・,K)、第2の位相乗算器36及び加算器34のそれぞれが、専用のハードウェアによって実現されるものを想定している。
フーリエ変換装置の構成要素である変換器32、第1の位相乗算器33、第2の位相乗算器36及び加算器34のそれぞれは、例えば、単一回路、複合回路、プログラム化したプロセッサ、並列プログラム化したプロセッサ、ASIC、FPGA、又は、これらを組み合わせたものが該当する。
フーリエ変換装置の構成要素は、専用のハードウェアによって実現されるものに限るものではなく、フーリエ変換装置が、ソフトウェア、ファームウェア、又は、ソフトウェアとファームウェアとの組み合わせによって実現されるものであってもよい。
フーリエ変換装置が、ソフトウェア又はファームウェア等によって実現される場合、変換器32、第1の位相乗算器33、第2の位相乗算器36及び加算器34の処理手順をコンピュータに実行させるためのプログラムが図3に示すメモリ21に格納される。そして、図3に示すプロセッサ22がメモリ21に格納されているプログラムを実行する。
次に、図9に示すフーリエ変換装置の動作について説明する。
第2の位相乗算器36以外は、図7に示すフーリエ変換装置と同様であるため、ここでは、主に、第2の位相乗算器36の動作を説明する。
第2の位相乗算器36は、変換器32から出力されたM点の変換結果と、変換器32〜32から出力された位相移相後のM点の変換結果とを取得する。
第2の位相乗算器36は、変換器32から出力されたM点の変換結果の位相については、移相せずに、M点の変換結果を加算器34に出力する。
第2の位相乗算器36は、(K−1)個の第1の位相乗算器33〜33のうち、k(k=2,・・・,K)番目の第1の位相乗算器33から出力された変換結果の位相については、2π((k−1)/K)だけ進める移相を実施し、位相移相後のM点の変換結果を加算器34に出力する。
例えば、K=4、M=4であれば、第2の位相乗算器36は、第1の位相乗算器33から出力された4点のフーリエ変換結果{R、R、R10、R14}の位相を2π((2−1)/4)=π/2だけ進める移相を実施する。第2の位相乗算器36は、第1の位相乗算器33から出力された4点のフーリエ変換結果{R、R、R11、R15}の位相を2π((3−1)/4)=πだけ進める移相を実施する。第2の位相乗算器36は、第1の位相乗算器33から出力された4点のフーリエ変換結果{R、R、R12、R16}の位相を2π((4−1)/4)=3π/2だけ進める移相を実施する。
加算器34は、第2の位相乗算器36から出力されたK個のフーリエ変換結果を加算し、又は、第2の位相乗算器36から出力されたK個の逆フーリエ変換結果を加算する。
加算器34は、加算後の変換結果35を外部に出力する。
例えば、K=4、M=4であれば、加算器34は、第2の位相乗算器36から出力されたフーリエ変換結果{R、R、R、R13}と、第2の位相乗算器36から出力されたフーリエ変換結果{R、R、R10、R14}と、第2の位相乗算器36から出力されたフーリエ変換結果{R、R、R11、R15}と、第2の位相乗算器36から出力されたフーリエ変換結果{R、R、R12、R16}とを加算する。
加算器34は、4点のフーリエ変換結果として、{R+R+R+R、R+R+R+R、R+R10+R11+R12、R13+R14+R15+R16}を外部に出力する。
4点のフーリエ変換結果{R+R+R+R、R+R+R+R、R+R10+R11+R12、R13+R14+R15+R16}は、K×M(=4×4)個のデータに対する16点のフーリエ変換結果{R、R、R、・・・R16}に含まれているフーリエ変換結果{R、R、R、R}に相当する。
あるいは、加算器34は、変換器32から出力された逆フーリエ変換結果{R’、R’、R’、R’13}と、第1の位相乗算器33から出力された逆フーリエ変換結果{R’、R’、R’10、R’14}と、第1の位相乗算器33から出力された逆フーリエ変換結果{R’、R’、R’11、R’15}と、第1の位相乗算器33から出力された逆フーリエ変換結果{R’、R’、R’12、R’16}とを加算する。
加算器34は、4点の逆フーリエ変換結果として、{R’+R’+R’+R’、R’+R’+R’+R’、R’+R’10+R’11+R’12、R’13+R’14+R’15+R’16}を外部に出力する。
4点の逆フーリエ変換結果{R’+R’+R’+R’、R’+R’+R’+R’、R’+R’10+R’11+R’12、R’13+R’14+R’15+R’16}は、K×M(=4×4)個のデータに対する16点の逆フーリエ変換結果{R’、R’、R’、・・・R’16}に含まれている逆フーリエ変換結果{R’、R’、R’、R’}に相当する。
以上の実施の形態4では、K個の変換器32〜32の中の、1番目の変換器32から出力されたM点の変換結果を加算器34に出力し、(K−1)個の第1の位相乗算器33〜33のうち、k(k=2,・・・,K)番目の第1の位相乗算器33から出力されたM点の変換結果の位相を、2π((k−1)/K)だけ進める移相を実施し、位相移相後のM点の変換結果を加算器34に出力する第2の位相乗算器36を備えるように、フーリエ変換装置を構成した。したがって、フーリエ変換装置は、後段の回路である外部の回路が、フーリエ変換結果の一部、又は、逆フーリエ変換結果の一部のみを必要とする場合、フーリエ変換結果の全部、又は、逆フーリエ変換結果の全部を必要する場合よりも、フーリエ変換の処理時間、又は、逆フーリエ変換の処理時間を短縮することができる。
図9に示すフーリエ変換装置では、第2の位相乗算器36が、(K−1)個の第1の位相乗算器33〜33のうち、k(k=2,・・・,K)番目の第1の位相乗算器33から出力されたM点の変換結果の位相を、2π((k−1)/K)だけ進める移相を実施している。
しかし、これは一例に過ぎず、第2の位相乗算器36は、(K−1)個の第1の位相乗算器33〜33のうち、k(k=2,・・・,K)番目の第1の位相乗算器33から出力されたM点の変換結果の位相を、2πi((k−1)/K)(iは1以上の整数)だけ進める移相を実施するものであってもよい。
例えば、K=4、M=4であるとき、i=1であれば、加算器34から外部に出力される4点のフーリエ変換結果{R+R+R+R、R+R+R+R、R+R10+R11+R12、R13+R14+R15+R16}は、K×M(=4×4)個のデータに対する16点のフーリエ変換結果{R、R、R、・・・R16}に含まれているフーリエ変換結果{R、R、R、R}に相当する。i=2であれば、加算器34から外部に出力される4点のフーリエ変換結果{R+R+R+R、R+R+R+R、R+R10+R11+R12、R13+R14+R15+R16}は、K×M(=4×4)個のデータに対する16点のフーリエ変換結果{R、R、R、・・・R16}に含まれているフーリエ変換結果{R、R10、R11、R12}に相当する。i=3であれば、加算器34から外部に出力される4点のフーリエ変換結果{R+R+R+R、R+R+R+R、R+R10+R11+R12、R13+R14+R15+R16}は、K×M(=4×4)個のデータに対する16点のフーリエ変換結果{R、R、R、・・・R16}に含まれているフーリエ変換結果{R13、R14、R15、R16}に相当する。
あるいは、例えば、K=4、M=4であるとき、i=1であれば、加算器34から外部に出力される4点の逆フーリエ変換結果{R’+R’+R’+R’、R’+R’+R’+R’、R’+R’10+R’11+R’12、R’13+R’14+R’15+R’16}は、K×M(=4×4)個のデータに対する16点の逆フーリエ変換結果{R’、R’、R’、・・・R’16}に含まれている逆フーリエ変換結果{R’、R’、R’、R’}に相当する。i=2であれば、加算器34から外部に出力される4点の逆フーリエ変換結果{R’+R’+R’+R’、R’+R’+R’+R’、R’+R’10+R’11+R’12、R’13+R’14+R’15+R’16}は、K×M(=4×4)個のデータに対する16点の逆フーリエ変換結果{R’、R’、R’、・・・R’16}に含まれている逆フーリエ変換結果{R’、R’10、R’11、R’12}に相当する。i=3であれば、加算器34から外部に出力される4点の逆フーリエ変換結果{R’+R’+R’+R’、R’+R’+R’+R’、R’+R’10+R’11+R’12、R’13+R’14+R’15+R’16}は、K×M(=4×4)個のデータに対する16点の逆フーリエ変換結果{R’、R’、R’、・・・R’16}に含まれている逆フーリエ変換結果{R’13、R’14、R’15、R’16}に相当する。
また、第2の位相乗算器36は、k(k=2,・・・,K)番目の第1の位相乗算器33から出力されたM点の変換結果のうち、一部の変換結果の位相を0だけ進める移相を実施して、残りの変換結果の位相を、2π((k−1)/K)だけ進める移相を実施するようにしてもよい。
ここでは、K=4、M=16、N=64であるとき、加算器34が、64点のフーリエ変換結果{R、R、R、・・・R64}のうち、g(gは、1以上、49以下の整数)番目のフーリエ変換結果を起点とする16点のフーリエ変換結果{R、Rg+1、Rg+2、・・・Rg+14、Rg+15}を出力する場合の動作を説明する。以下、g=11の例を説明する。なお、gは、第2の位相乗算器36及び加算器34におけるそれぞれの内部メモリに格納されているものとする。ただし、gは、フーリエ変換装置の外部から与えられるものであってもよい。
第2の位相乗算器36は、k(k=2,・・・,K)番目の第1の位相乗算器33により移相が進められた16点の変換結果を取得する例を説明する。
第2の位相乗算器36は、例えば、第1の位相乗算器33により移相が進められた16点の変換結果{R、R、R10、・・・、R62}を取得し、例えば、第1の位相乗算器33により移相が進められた16点の変換結果{R、R、R11、・・・、R63}を取得する。また、第2の位相乗算器36は、例えば、第1の位相乗算器33により移相が進められた16点の変換結果{R、R、R12、・・・、R64}を取得する。
なお、第2の位相乗算器36は、変換器32から出力された16点の変換結果{R、R、R、・・・、R61}も取得する。
第2の位相乗算器36は、変換器32から出力された16点の変換結果{R、R、R、・・・、R61}の位相については、移相せずに、16点の変換結果{R、R、R、・・・、R61}を加算器34に出力する。
第2の位相乗算器36は、取得した16点の変換結果{R、R、R10、・・・、R62}のうち、先頭の変換結果Rを起点として、並び順でg−1(=10)点の変換結果{R、R、R10、・・・、R38}の位相を、0だけ進める移相を実施する。0だけ進める移相の実施は、10点の変換結果{R、R、R10、・・・、R38}の位相を進めないことに相当する。
第2の位相乗算器36は、取得した16点の変換結果{R、R、R10、・・・、R62}のうち、残りの6点の変換結果{R42、R46、R50、・・・、R62}の位相を、2π((2−1)/4)=π/2だけ進める移相を実施する。
第2の位相乗算器36は、取得した16点の変換結果{R、R、R11、・・・、R63}のうち、先頭の変換結果Rを起点として、並び順でg−1(=10)点の変換結果{R、R、R11、・・・、R39}の位相を、0だけ進める移相を実施する。
第2の位相乗算器36は、取得した16点の変換結果{R、R、R11、・・・、R63}のうち、残りの6点の変換結果{R43、R47、R51、・・・、R63}の位相を、2π((3−1)/4)=πだけ進める移相を実施する。
第2の位相乗算器36は、取得した16点の変換結果{R、R、R12、・・・、R64}のうち、先頭の変換結果Rを起点として、並び順でg−1(=10)点の変換結果{R、R、R12、・・・、R40}の位相を、0だけ進める移相を実施する。
第2の位相乗算器36は、取得した16点の変換結果{R、R、R12、・・・、R64}のうち、残りの6点の変換結果{R44、R48、R52、・・・、R64}の位相を、2π((4−1)/4)=3π/2だけ進める移相を実施する。
加算器34は、第2の位相乗算器36から出力された変換結果{R、R、R、・・・、R61}と、第2の位相乗算器36から出力された変換結果{R、R、R10、・・・、R62}と、第2の位相乗算器36から出力された変換結果{R、R、R11、・・・、R63}と、第2の位相乗算器36から出力された変換結果{R、R、R12、・・・、R64}とを加算する。
加算器34は、フーリエ変換結果として、{R+R+R+R、R+R+R+R、R+R10+R11+R12、R13+R14+R15+R16、・・・、R61+R62+R63+R64}を外部に出力する。
フーリエ変換結果{R+R+R+R、R+R+R+R、R+R10+R11+R12、R13+R14+R15+R16、・・・、R61+R62+R63+R64}は、N(=64)個のデータに対する64点のフーリエ変換結果{R、R、R、・・・R64}に含まれているフーリエ変換結果{R11、R12、R13、R14、R15、R16、R17、R18、R19、R20、R21、R22、R23、R24、R25、R26}に相当する。
実施の形態5.
図9に示すフーリエ変換装置では、(K−1)個の第1の位相乗算器33〜33と、第2の位相乗算器36とが別々のハードウェアであるものを示している。
しかし、これは一例に過ぎず、図11に示すように、(K−1)個の第1の位相乗算器33〜33と、第2の位相乗算器36とが、1つの位相乗算器37に含まれているものであってもよい。
図11は、実施の形態5に係るフーリエ変換装置を示す構成図である。
図11において、図9と同一符号は同一又は相当部分を示すので説明を省略する。
位相乗算器37は、(K−1)個の第1の位相乗算器33〜33と、第2の位相乗算器36とを備えている。
図11に示すフーリエ変換装置の動作は、図9に示すフーリエ変換装置の動作と同様である。
位相乗算器37は、図9に示す第1の位相乗算器33〜33における移相の実施と、図9に示す第2の位相乗算器36における移相の実施とを別々に行ってもよい。しかし、これに限るものではなく、位相乗算器37は、図9に示す第1の位相乗算器33〜33における移相処理と、図9に示す第2の位相乗算器36における移相処理とを統合し、統合した移相処理を実施するようにしてもよい。
なお、本願発明はその発明の範囲内において、各実施の形態の自由な組み合わせ、あるいは各実施の形態の任意の構成要素の変形、もしくは各実施の形態において任意の構成要素の省略が可能である。
この発明は、フーリエ変換又は逆フーリエ変換を実施するフーリエ変換装置及びフーリエ変換方法に適している。
,1,1,・・・,1 データ列、2 加算器、3 変換器、4 変換結果、5 第1の位相乗算器、6 第2の位相乗算器、21 メモリ、22 プロセッサ、31,31,31,・・・,31 データ列、32〜32 変換器、33〜33 第1の位相乗算器、34 加算器、35 変換結果、36 第2の位相乗算器、37 位相乗算器。

Claims (5)

  1. K×M(Kは2以上の整数、Mは2以上の整数)個のデータのうち、k(k=1,・・・,K)番目のデータがK個のデータ列におけるそれぞれの先頭のデータであり、前記K個のデータ列が、前記K×M個のデータのうち、それぞれの先頭のデータを起点とする並び順でK個おきのM個のデータをそれぞれ含んでおり、
    前記K個のデータ列のうち、いずれか1つのデータ列に含まれているM個のデータに対するM点のフーリエ変換、又は、前記いずれか1つのデータ列に含まれているM個のデータに対するM点の逆フーリエ変換を実施し、M点の変換結果として、M点のフーリエ変換の変換結果、又は、M点の逆フーリエ変換の変換結果を出力するK個の変換器と、
    前記K個の変換器の中の、2番目の変換器からK番目の変換器のうち、いずれか1つの変換器から出力されたM点の変換結果に含まれているc(c=1,・・・,M)番目の変換結果の位相を、2π((c−1)(k−1)/(K×M))(k=2,・・・,K)だけ遅らせる移相を実施し、位相移相後のM点の変換結果を出力する(K−1)個の第1の位相乗算器と、
    前記K個の変換器の中の、1番目の変換器から出力されたM点の変換結果と、前記(K−1)個の第1の位相乗算器から出力されたM点の変換結果とを加算する加算器と
    を備えたフーリエ変換装置。
  2. 前記1番目の変換器から出力されたM点の変換結果を前記加算器に出力し、前記(K−1)個の第1の位相乗算器のうち、k(k=2,・・・,K)番目の第1の位相乗算器から出力されたM点の変換結果の位相を、2π((k−1)/K)だけ進める移相を実施し、位相移相後のM点の変換結果を前記加算器に出力する第2の位相乗算器を備え、
    前記加算器は、前記1番目の変換器から出力されたM点の変換結果と、前記第2の位相乗算器から出力された(K−1)個のM点の変換結果とを加算することを特徴とする請求項記載のフーリエ変換装置。
  3. 前記第2の位相乗算器は、前記1番目の変換器から出力されたM点の変換結果を前記加算器に出力し、前記(K−1)個の第1の位相乗算器のうち、k(k=2,・・・,K)番目の第1の位相乗算器から出力されたM点の変換結果の位相を、2πi((k−1)/K)(iは1以上の整数)だけ進める移相を実施し、位相移相後のM点の変換結果を前記加算器に出力することを特徴とする請求項記載のフーリエ変換装置。
  4. 前記(K−1)個の第1の位相乗算器と、前記第2の位相乗算器とが、1つの位相乗算器に含まれていることを特徴とする請求項記載のフーリエ変換装置。
  5. K×M(Kは2以上の整数、Mは2以上の整数)個のデータのうち、k(k=1,・・・,K)番目のデータがK個のデータ列におけるそれぞれの先頭のデータであり、前記K個のデータ列が、前記K×M個のデータのうち、それぞれの先頭のデータを起点とする並び順でK個おきのM個のデータをそれぞれ含んでおり、
    K個の変換器のそれぞれが、前記K個のデータ列のうち、いずれか1つのデータ列に含まれているM個のデータに対するM点のフーリエ変換、又は、前記いずれか1つのデータ列に含まれているM個のデータに対するM点の逆フーリエ変換を実施し、M点の変換結果として、M点のフーリエ変換の変換結果、又は、M点の逆フーリエ変換の変換結果を出力し、
    (K−1)個の第1の位相乗算器のそれぞれが、前記K個の変換器の中の、2番目の変換器からK番目の変換器のうち、いずれか1つの変換器から出力されたM点の変換結果に含まれているc(c=1,・・・,M)番目の変換結果の位相を、2π((c−1)(k−1)/(K×M))(k=2,・・・,K)だけ遅らせる移相を実施して、位相移相後のM点の変換結果を出力し、
    加算器が、前記K個の変換器の中の、1番目の変換器から出力されたM点の変換結果と、前記(K−1)個の第1の位相乗算器から出力されたM点の変換結果とを加算する
    フーリエ変換方法。
JP2020505946A 2019-09-19 2019-09-19 フーリエ変換装置及びフーリエ変換方法 Active JP6861887B1 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2019/036685 WO2021053779A1 (ja) 2019-09-19 2019-09-19 フーリエ変換装置及びフーリエ変換方法

Publications (2)

Publication Number Publication Date
JP6861887B1 true JP6861887B1 (ja) 2021-04-21
JPWO2021053779A1 JPWO2021053779A1 (ja) 2021-09-30

Family

ID=74884421

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020505946A Active JP6861887B1 (ja) 2019-09-19 2019-09-19 フーリエ変換装置及びフーリエ変換方法

Country Status (2)

Country Link
JP (1) JP6861887B1 (ja)
WO (1) WO2021053779A1 (ja)

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4124620B2 (ja) * 2002-07-11 2008-07-23 松下電器産業株式会社 Ofdm受信装置
JP2007243546A (ja) * 2006-03-08 2007-09-20 Nec Corp アンテナ校正装置およびアンテナ校正方法

Also Published As

Publication number Publication date
WO2021053779A1 (ja) 2021-03-25
JPWO2021053779A1 (ja) 2021-09-30

Similar Documents

Publication Publication Date Title
US9712185B2 (en) System and method for improved fractional binary to fractional residue converter and multipler
Matutino et al. Arithmetic units for RNS moduli {2n-3} and {2n+ 3} operations
US9146707B2 (en) Generating a fast 3x multiplicand term for radix-8 booth multiplication
US8396913B2 (en) Fast fourier transform architecture
US7634524B2 (en) Arithmetic method and function arithmetic circuit for a fast fourier transform
Saenz et al. FPGA design and implementation of radix-2 fast Fourier transform algorithm with 16 and 32 points
JP6861887B1 (ja) フーリエ変換装置及びフーリエ変換方法
US7653676B2 (en) Efficient mapping of FFT to a reconfigurable parallel and pipeline data flow machine
JP4883251B1 (ja) 半導体集積回路及び指数算出方法
JP3003467B2 (ja) 演算装置
JP5310720B2 (ja) Cordicに基づいたfft及びifft装置並びに方法
US20040128335A1 (en) Fast fourier transform (FFT) butterfly calculations in two cycles
Amerbaev et al. Efficient calculation of cyclic convolution by means of fast Fourier transform in a finite field
JP7003299B2 (ja) フーリエ変換装置及びフーリエ変換方法
Sankaran et al. Design and Implementation of 1024 Point Pipelined Radix 4 FFT Processor on FPGA for Biomedical Signal Processing Applications
TWI564735B (zh) 資料分配裝置、訊號處理裝置及其資料分配方法
JP2005514599A5 (ja)
Verdoscia et al. A data-flow methodology for accelerating fft
KR101829383B1 (ko) 지수연산 명령이 지원되지 않는 논리 장치에서 삼각함수를 이용한 지수 연산 장치
JP2008158855A (ja) 相関演算器及び相関演算方法
US20150113030A1 (en) Novel approach for significant improvement of fft performance in microcontrollers
Drolshagen et al. A residue number arithmetic based circuit for pipelined computation of autocorrelation coefficients of speech signal
RU2649955C1 (ru) Функциональный преобразователь
JPH0535773A (ja) ベクトル除算方式とその装置
JPH02500310A (ja) スライスされた加数の加速された加算を行うための方法および装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200203

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20200203

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20200623

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200630

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200818

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20200818

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20201027

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20201204

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210330

R150 Certificate of patent or registration of utility model

Ref document number: 6861887

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150