JP7848522B2 - 高速フーリエ変換装置、デジタルフィルタ装置、高速フーリエ変換方法、及びプログラム - Google Patents
高速フーリエ変換装置、デジタルフィルタ装置、高速フーリエ変換方法、及びプログラムInfo
- Publication number
- JP7848522B2 JP7848522B2 JP2022036908A JP2022036908A JP7848522B2 JP 7848522 B2 JP7848522 B2 JP 7848522B2 JP 2022036908 A JP2022036908 A JP 2022036908A JP 2022036908 A JP2022036908 A JP 2022036908A JP 7848522 B2 JP7848522 B2 JP 7848522B2
- Authority
- JP
- Japan
- Prior art keywords
- order
- data
- fast fourier
- fft
- output data
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/14—Fourier, Walsh or analogous domain transformations, e.g. Laplace, Hilbert, Karhunen-Loeve, transforms
- G06F17/141—Discrete Fourier transforms
- G06F17/142—Fast Fourier transforms, e.g. using a Cooley-Tukey type algorithm
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/22—Arrangements for sorting or merging computer data on continuous record carriers, e.g. tape, drum, disc
- G06F7/24—Sorting, i.e. extracting data from one or more carriers, rearranging the data in numerical or other ordered sequence, and rerecording the sorted data on the original carrier or on a different carrier or set of carriers sorting methods in general
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
- G06F7/52—Multiplying; Dividing
- G06F7/523—Multiplying only
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Mathematical Physics (AREA)
- Computational Mathematics (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Mathematical Analysis (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Algebra (AREA)
- Databases & Information Systems (AREA)
- Software Systems (AREA)
- Discrete Mathematics (AREA)
- Computing Systems (AREA)
- Computer Hardware Design (AREA)
- Complex Calculations (AREA)
Description
前記高速フーリエ変換装置は、連続して処理を行うF個(Fは2以上の正整数)の高速フーリエ変換又は逆高速フーリエ変換において、
第1の順序で入力するF×N個の第1の入力データを並べ替えて、第2の順序で第1の出力データを出力する第1のデータ並べ替え処理手段と、
前記第1の出力データに対して、バタフライ演算処理を行い、前記第1の順序で第2の出力データを出力するバタフライ演算処理手段と、
前記第2の出力データを並べ替えて、第3の順序で第3の出力データを出力する第2のデータ並べ替え処理手段と、
前記第3の出力データに対して、ひねり係数を乗算してひねり乗算処理を行い、前記第3の順序で第4の出力データを出力するひねり乗算処理手段と、を含み、
前記第3の順序は、連続して処理を行うF個の高速フーリエ変換又は逆高速フーリエ変換のそれぞれにおけるC番目のサイクル(Cは0≦C≦M-1の整数)の処理を、連続するサイクルにおいて処理する順序である。
連続して処理を行うF個(Fは2以上の正整数)の高速フーリエ変換又は逆高速フーリエ変換において、
第1の順序で入力するF×N個の第1の入力データを並べ替えて、第2の順序で第1の出力データを出力し、
前記第1の出力データに対して、バタフライ演算処理を行い、前記第1の順序で第2の出力データを出力し、
前記第2の出力データを並べ替えて、第3の順序で第3の出力データを出力し、
前記第3の出力データに対して、ひねり係数を乗算してひねり乗算処理を行い、前記第3の順序で第4の出力データを出力する方法であり、
前記第3の順序は、連続して処理を行うF個の高速フーリエ変換又は逆高速フーリエ変換のそれぞれにおけるC番目のサイクル(Cは0≦C≦M-1の整数)の処理を、連続するサイクルにおいて処理する順序である。
連続して処理を行うF個(Fは2以上の正整数)の高速フーリエ変換又は逆高速フーリエ変換において、
第1の順序で入力するF×N個の第1の入力データを並べ替えて、第2の順序で第1の出力データを出力する処理と、
前記第1の出力データに対して、バタフライ演算処理を行い、前記第1の順序で第2の出力データを出力する処理と、
前記第2の出力データを並べ替えて、第3の順序で第3の出力データを出力し、
前記第3の出力データに対して、ひねり係数を乗算してひねり乗算処理を行い、前記第3の順序で第4の出力データを出力する処理と、
を実行させ、
前記第3の順序は、連続して処理を行うF個の高速フーリエ変換又は逆高速フーリエ変換のそれぞれにおけるC番目のサイクル(Cは0≦C≦M-1の整数)の処理を、連続するサイクルにおいて処理する順序である。
(第1の実施形態)
図1は、第1の実施形態に係る高速フーリエ変換装置(以降、FFT装置という。)の一例を示すブロック図である。本実施形態に係るFFT装置10は、デジタルフィルタ装置における高速フーリエ変換処理又は逆高速フーリエ変換処理に用いられる。具体的には、FFT装置10は、入力された時間領域の入力データに対して、連続するN個(Nは2以上の正整数)の入力データごとに、Mサイクル(Mは2以上の正整数)で高速フーリエ変換又は逆高速フーリエ変換を行う。図1に示すように、FFT装置10は、第1のデータ並べ替え処理手段としての第1のデータ並べ替え処理部11、バタフライ演算処理手段としての第1のバタフライ演算処理部21、第2のデータ並べ替え処理手段としての第2のデータ並べ替え処理部12、ひねり乗算処理手段としてのひねり乗算処理部31を備える。そして、FFT装置10は、F個(Fは2以上の正整数)の高速フーリエ変換処理又は逆高速フーリエ変換処理を連続して行う。
図2は、本発明の第2の実施形態に係るデジタルフィルタ装置(「デジタルフィルタ回路」とも称する。)400の構成を示すブロック図である。デジタルフィルタ回路400は、FFT装置(「FFT回路」とも称する。)10、フィルタ処理手段としてのフィルタ処理部420、を備える。
x(n)=r(n)+js(n) ・・・(1)
を入力する。
X(k)=A(k)+jB(k) ・・・(2)
に変換する。
X‘(k)=X(k)×C(k) ・・・(3)
を計算して、複素数信号434として出力する。
デジタルフィルタ回路400は、連続して入力される時間領域における複素数信号に対して、N個の複素数信号ごとに上記の処理を繰り返して行う。
FFT装置10は、図14に示されたデータフロー500に従って、2段階の基数8のバタフライ処理に分解された64ポイントFFTを、パイプライン回路方式によって処理する。FFT装置10は、時間領域のデータx(n)(n=0,1,・・・,N-1)を入力し、x(n)をFFT処理によりフーリエ変換して周波数領域の信号X(k)(k=0,1,・・・,N-1)を生成し、出力する。ここで、NはFFTブロックサイズを表す正整数である。
ps(i)=8s+i
である。つまり、逐次順序とは、i・s個のデータを、先頭のデータからi個ずつデータ順に並べてデータ組をs個作成して並べたものである。
である。つまり、ビットリバース順序とは、i・s個のデータを、先頭のデータからi個ずつ8個おきに並べてデータ組をs個作成して並べたものである。
Qs(i)=Pi(s)
である。このように、Qs(i)とPi(s)とは、各データ組を構成するデータについて、データ組の順序とデータ組内のデータ位置に対する順序が入れ替えられた関係にある。従って、ビットリバース順序で入力されたデータを、ビットリバース順序に従って並べ替えると、逐次順序になる。
同様に、第1のバタフライ演算処理部21は、8サイクル目から15サイクル目に第2のFFT処理(F2)に関する処理を、16サイクル目から23サイクル目に第3のFFT処理(F3)に関する処理を、24サイクル目から31サイクル目に第4のFFT処理(F4)に関する処理を行う。
第2のデータ並べ替え処理部12は、読み出しアドレス生成部41が出力する読み出しアドレス51を入力して、出力順序を決定する。読み出しアドレス生成部41は、CPU(Central Processing Unit)などの上位回路(図示せず)から与えられる出力順序設定52を参照して、第2のデータ並べ替え処理部12に出力する読み出しアドレス51を生成する。
8から11サイクル目に第1から第4のFFT処理のQ2、
12から15サイクル目に第1から第4のFFT処理のQ3、
16から19サイクル目に第1から第4のFFT処理のQ4、
20から23サイクル目に第1から第4のFFT処理のQ5、
24から27サイクル目に第1から第4のFFT処理のQ6、
28から31サイクル目に第1から第4のFFT処理のQ7、を出力する。
ひねり乗算処理部31は、ひねり係数テーブル31a、及びひねり乗算部31b、から構成される。ひねり係数テーブル31aは、第2のデータ並べ替え処理部12が、「FFTフレーム相互配置ビットリバース順序」で出力するそれぞれのFFT処理におけるデータy(n)(n=0,1,・・・,63)に対応して、ひねり係数W(n)(n=0,1,・・・,63)を出力する。W(n)はデータy(n)に対応するひねり係数である。従って、ひねり乗算処理部31がひねり係数W(n)を出力する順序は、第2のデータ並べ替え処理部12が並べ替えたデータを出力する順序である「FFTフレーム相互配置ビットリバース順序」で一意に決定される。具体的には、第2のデータ並べ替え処理部12が図6に示す「FFTフレーム相互配置ビットリバース順序」で出力する場合、ひねり係数テーブル31aは、図7に示す順序でひねり係数を出力する。図6、及び図7から明らかのように、第2のデータ並べ替え処理部12が出力するy(n)に対して、ひねり乗算処理部31が出力するひねり係数W(n)(n=0,1,・・・,63)が対応する。
ひねり乗算部31bは、第2のデータ並べ替え処理部12が出力するy(n)とひねり乗算処理部31が出力するひねり係数W(n)とを乗算することでひねり乗算処理を行い、第2のバタフライ演算処理部22に出力する。
4サイクル目から7サイクル目において、バタフライ演算処理503を構成する#1の、
8サイクル目から11サイクル目において、バタフライ演算処理503を構成する#2の、
12サイクル目から15サイクル目において、バタフライ演算処理503を構成する#3の、
16サイクル目から19サイクル目において、バタフライ演算処理503を構成する#4の、
20サイクル目から23サイクル目において、バタフライ演算処理503を構成する#5の、
24サイクル目から27サイクル目において、バタフライ演算処理503を構成する#6の、
28サイクル目から31サイクル目において、バタフライ演算処理503を構成する#7の、
基数8バタフライ演算処理を行う。
サイクル4からサイクル7では、基数8バタフライ演算処理部22aは、第1から第4の4つのFFT処理(F1~F4)に関して、第2のデータ並べ替え処理部12が出力する、基数8バタフライ演算処理#1に対応するビットリバース順序のデータ組Q1を入力して、基数8のバタフライ演算処理#1を、
サイクル8からサイクル11では、基数8バタフライ演算処理部22aは、第1から第4の4つのFFT処理(F1~F4)に関して、第2のデータ並べ替え処理部12が出力する、基数8バタフライ演算処理#2に対応するビットリバース順序のデータ組Q2を入力して、基数8のバタフライ演算処理#2を、
サイクル12からサイクル15では、基数8バタフライ演算処理部22aは、第1から第4の4つのFFT処理(F1~F4)に関して、第2のデータ並べ替え処理部12が出力する、基数8バタフライ演算処理#3に対応するビットリバース順序のデータ組Q3を入力して、基数8のバタフライ演算処理#3を、
サイクル16からサイクル19では、基数8バタフライ演算処理部22aは、第1から第4の4つのFFT処理(F1~F4)に関して、第2のデータ並べ替え処理部12が出力する、基数8バタフライ演算処理#4に対応するビットリバース順序のデータ組Q4を入力して、基数8のバタフライ演算処理#4を、
サイクル20からサイクル23では、基数8バタフライ演算処理部22aは、第1から第4の4つのFFT処理(F1~F4)に関して、第2のデータ並べ替え処理部12が出力する、基数8バタフライ演算処理#5に対応するビットリバース順序のデータ組Q5を入力して、基数8のバタフライ演算処理#5を、
サイクル24からサイクル27では、基数8バタフライ演算処理部22aは、第1から第4の4つのFFT処理(F1~F4)に関して、第2のデータ並べ替え処理部12が出力する、基数8バタフライ演算処理#6に対応するビットリバース順序のデータ組Q6を入力して、基数8のバタフライ演算処理#6を、
サイクル28からサイクル31では、基数8バタフライ演算処理部22aは、第1から第4の4つのFFT処理(F1~F4)に関して、第2のデータ並べ替え処理部12が出力する、基数8バタフライ演算処理#7に対応するビットリバース順序のデータ組Q7を入力して、基数8のバタフライ演算処理#7を、行う。
部分データ並べ替え処理部206aのアドレス1、部分データ並べ替え処理部206bのアドレス1、部分データ並べ替え処理部206cのアドレス1、部分データ並べ替え処理部206dのアドレス1、
部分データ並べ替え処理部206aのアドレス2、部分データ並べ替え処理部206bのアドレス2、部分データ並べ替え処理部206cのアドレス2、部分データ並べ替え処理部206dのアドレス2、
部分データ並べ替え処理部206aのアドレス3、部分データ並べ替え処理部206bのアドレス3、部分データ並べ替え処理部206cのアドレス3、部分データ並べ替え処理部206dのアドレス3、
部分データ並べ替え処理部206aのアドレス4、部分データ並べ替え処理部206bのアドレス4、部分データ並べ替え処理部206cのアドレス4、部分データ並べ替え処理部206dのアドレス4、
部分データ並べ替え処理部206aのアドレス5、部分データ並べ替え処理部206bのアドレス5、部分データ並べ替え処理部206cのアドレス5、部分データ並べ替え処理部206dのアドレス5、
部分データ並べ替え処理部206aのアドレス6、部分データ並べ替え処理部206bのアドレス6、部分データ並べ替え処理部206cのアドレス6、部分データ並べ替え処理部206dのアドレス6、
部分データ並べ替え処理部206aのアドレス7、部分データ並べ替え処理部206bのアドレス7、部分データ並べ替え処理部206cのアドレス7、部分データ並べ替え処理部206dのアドレス7、
の順番で読み出しアドレスを与えた場合、データ並べ替え処理部200は、第1のFFT処理(F1)のデータ組a、第2のFFT処理(F2)のデータ組a、第3のFFT処理(F3)のデータ組a、第4のFFT処理(F4)のデータ組a、の順序で、記憶しているデータを出力し、それ以降も同様に、
第1から第4のFFT処理(F1~F4)にそれぞれ対応する4つのデータ組b、
第1から第4のFFT処理(F1~F4)にそれぞれ対応する4つのデータ組c、
第1から第4のFFT処理(F1~F4)にそれぞれ対応する4つのデータ組d、
第1から第4のFFT処理(F1~F4)にそれぞれ対応する4つのデータ組e、
第1から第4のFFT処理(F1~F4)にそれぞれ対応する4つのデータ組f、
第1から第4のFFT処理(F1~F4)にそれぞれ対応する4つのデータ組g、
第1から第4のFFT処理(F1~F4)にそれぞれ対応する4つのデータ組h、
の順番で、記憶しているデータを出力する。すなわち、図6に示したFFTフレーム相互配置ビットリバース順序でデータが出力される。ここで、データ組a~hは、サイクル順に並べられたデータ組A~Hに含まれるデータを、データ位置の順に並べ替えて1つの組としたものである。
ここで、本実施形態が第2のデータ並べ替え処理部12の出力以降で採用するデータ順序である「FFTフレーム相互配置ビットリバース順序」と、第2のデータ並べ替え処理部12の入力以前で採用する「ビットリバース順序」との違いについて説明する。
a:回路動作率、
C:負荷容量、
V:電圧、
f:動作周波数
ws(0)からws(7)までの8個のデータのビット単位の動作率が、回路動作率aに大きく影響するからである。すなわち、ws(0)からws(7)までの8個のデータのビット単位の動作率が小さくなる出力順序を選択することが、ひねり乗算処理部31の消費電力の低減に有効である。
本発明の第3の実施形態に係るデジタルフィルタ回路は、第2の実施形態に係るデジタルフィルタ回路400と同一の回路構成において、出力順序指定52に第2の実施形態とは異なる順序を指定した実施形態である。
8から11サイクル目に第1から第4のFFT処理のQ1を順に、
12から15サイクル目に第1から第4のFFT処理のQ7を順に、
16から19サイクル目に第1から第4のFFT処理のQ0を順に、
20から23サイクル目に第1から第4のFFT処理のQ2を順に、
24から27サイクル目に第1から第4のFFT処理のQ6を順に、
28から31サイクル目に第1から第4のFFT処理のQ4を順に、出力する。
すなわち、「FFTフレーム相互配置電力最適化ビットリバース順序」は、第2の実施形態に係る「FFTフレーム相互配置化ビットリバース順序」と同様に、連続して処理を行うF個のFFT処理(Fは2以上の正整数)のそれぞれのC番目のサイクル(Cは0≦C≦7の整数)の処理を、連続するサイクルにおいて処理するように、複数のFFT処理の処理順序を交互配置(インターリーブ)する順序といえる。
a:回路動作率、
C:負荷容量、
V:電圧、
f:動作周波数
ws(0)からws(7)までの8個のデータのビット単位の動作率が、回路動作率aに大きく影響するからである。すなわち、ws(0)からws(7)までの8個のデータのビット単位の動作率が小さくなる出力順序を選択することが、ひねり乗算処理部31の消費電力の低減に有効である。
データws(0)は、サイクル0ではW(3),サイクル1ではW(5),サイクル2ではW(1),サイクル3ではW(7),サイクル4ではW(0),サイクル5ではW(2),サイクル6ではW(6),サイクル7ではW(4)であるので、
H(0)=Hamming(3,5)+Hamming(5,1)+Hamming(1,7)+Hamming(7,0)+Hamming(0,2)+Hamming(2,6)+Hamming(6,4)
により算出することができる。
同様に、H(1)~H(7)について、
H(1)=Hamming(11,13)+Hamming(13,9)+Hamming(9,15)+Hamming(15,8)+Hamming(8,10)+Hamming(10,14)+Hamming(14,12)
H(2)=Hamming(19,21)+Hamming(21,17)+Hamming(17,23)+Hamming(23,16)+Hamming(16,18)+Hamming(18,22)+Hamming(22,20)
H(3)=Hamming(27,29)+Hamming(29,25)+Hamming(25,31)+Hamming(31,24)+Hamming(24,26)+Hamming(26,30)+Hamming(30,28)
H(4)=Hamming(35,37)+Hamming(37,33)+Hamming(33,39)+Hamming(39,32)+Hamming(32,34)+Hamming(34,38)+Hamming(38,36)
H(5)=Hamming(43,45)+Hamming(45,41)+Hamming(41,47)+Hamming(47,40)+Hamming(40,42)+Hamming(42,46)+Hamming(46,44)
H(6)=Hamming(51,53)+Hamming(53,49)+Hamming(49,55)+Hamming(55,48)+Hamming(48,50)+Hamming(50,54)+Hamming(54,52)
H(7)=Hamming(59,61)+Hamming(61,57)+Hamming(57,63)+Hamming(63,56)+Hamming(56,58)+Hamming(58,62)+Hamming(62,60)
により算出することができる。
従って、ひねり係数W(n)に関する動作率Aは、ひねり係数W(n)に関するハミング距離の総和Pから
A=P=H(0)+H(1)+H(2)+H(3)+H(4)+H(5)+H(6)+H(7)
で求められる。
11 第1のデータ並べ替え処理部(第1のデータ並べ替え処理手段)
12 第2のデータ並べ替え処理部(第2のデータ並べ替え処理手段、記憶手段)
21 第1のバタフライ演算処理部(バタフライ演算処理手段)
22 第2のバタフライ演算処理部
21a、22a 基数8バタフライ演算処理部
31 ひねり乗算処理部(ひねり乗算処理手段)
41 読み出しアドレス生成部(読み出しアドレス生成手段)
51 読み出しアドレス
52 出力順序設定
100、200 データ並べ替え処理部
101a~101h データ記憶位置
102a~102h データ読み出し位置
201a~201h データ記憶位置
202a~202h データ読み出し位置
400 デジタルフィルタ装置
420 フィルタ処理部(フィルタ処理手段)
421 フィルタ係数テーブル
422 フィルタ乗算部
431、434 複素数信号
500 データフロー
501 データ並べ替え処理
502、503 バタフライ演算処理
504 ひねり乗算処理
505a~505h 部分データフロー
Claims (7)
- 入力された時間領域の入力データに対して、連続するN個(Nは2以上の正整数)の入力データごとに、Mサイクル(Mは2以上の正整数)で高速フーリエ変換又は逆高速フーリエ変換を行う高速フーリエ変換装置であって、
前記高速フーリエ変換装置は、連続して処理を行うF個(Fは2以上の正整数)の高速フーリエ変換又は逆高速フーリエ変換において、
第1の順序で入力するF×N個の第1の入力データを並べ替えて、第2の順序で第1の出力データを出力する第1のデータ並べ替え処理手段と、
前記第1の出力データに対して、バタフライ演算処理を行い、前記第1の順序で第2の出力データを出力するバタフライ演算処理手段と、
前記第2の出力データを並べ替えて、第3の順序で第3の出力データを出力する第2のデータ並べ替え処理手段と、
前記第3の出力データに対して、ひねり係数を乗算してひねり乗算処理を行い、前記第3の順序で第4の出力データを出力するひねり乗算処理手段と、を含み、
前記第3の順序は、連続して処理を行うF個の高速フーリエ変換又は逆高速フーリエ変換のそれぞれにおけるC番目のサイクル(Cは0≦C≦M-1の整数)の処理を、連続するサイクルにおいて処理する順序であり、
前記ひねり乗算処理手段は、前記第3の出力データに対して、前記第3の順序でひねり係数を出力してひねり乗算処理を行い、前記第3の順序は、前記ひねり係数の連続するサイクル間のビット遷移率が小さい順序である、ことを特徴とする高速フーリエ変換装置。 - 前記第2のデータ並べ替え処理手段は、
M×N個の前記第2の出力データを記憶する記憶手段と、
出力順序設定に基づいて、前記記憶手段からF×N個の前記第3の出力データの読み出しアドレスを生成する読み出しアドレス生成手段と、を備え、
複数の前記第2の出力データを前記第2の順序で記憶し、前記第3順序で読み出す、ことを特徴とする請求項1に記載の高速フーリエ変換装置。 - 請求項1又は2に記載の高速フーリエ変換装置と、
前記高速フーリエ変換装置が前記第3の順序で出力する出力データに対して、
前記第3の順序でフィルタ係数を出力してフィルタ乗算処理を行うフィルタ処理手段と、
を備えるデジタルフィルタ装置。 - 入力された時間領域の入力データに対して、連続するN個(Nは2以上の正整数)の入力データごとに、Mサイクル(Mは2以上の正整数)で高速フーリエ変換又は逆高速フーリエ変換を行う高速フーリエ変換装置が、
連続して処理を行うF個(Fは2以上の正整数)の高速フーリエ変換又は逆高速フーリエ変換において、
第1の順序で入力するF×N個の第1の入力データを並べ替えて、第2の順序で第1の出力データを出力し、
前記第1の出力データに対して、バタフライ演算処理を行い、前記第1の順序で第2の出力データを出力し、
前記第2の出力データを並べ替えて、第3の順序で第3の出力データを出力し、
前記第3の出力データに対して、ひねり係数を乗算してひねり乗算処理を行い、前記第3の順序で第4の出力データを出力し、
前記第3の順序は、連続して処理を行うF個の高速フーリエ変換又は逆高速フーリエ変換のそれぞれにおけるC番目のサイクル(Cは0≦C≦M-1の整数)の処理を、連続するサイクルにおいて処理する順序であり、
前記ひねり乗算処理において、前記高速フーリエ変換装置は、前記第3の出力データに対して、前記第3の順序でひねり係数を出力してひねり乗算処理を行い、前記第3の順序は、前記ひねり係数の連続するサイクル間のビット遷移率が小さい順序である、ことを特徴とする高速フーリエ変換方法。 - 前記第2のデータ並べ替え処理において、前記高速フーリエ変換装置は、
M×N個の前記第2の出力データを記憶し、
出力順序設定に基づいて、M×N個の前記第2の出力データからF×N個の前記第3の出力データの読み出しアドレスを生成し、
複数の前記第2の出力データを前記第2の順序で記憶し、前記第3順序で読み出す、ことを特徴とする請求項4に記載の高速フーリエ変換方法。 - 入力された時間領域の入力データに対して、連続するN個(Nは2以上の正整数)の入力データごとに、Mサイクル(Mは2以上の正整数)で高速フーリエ変換又は逆高速フーリエ変換を行う高速フーリエ変換装置に、
連続して処理を行うF個(Fは2以上の正整数)の高速フーリエ変換又は逆高速フーリエ変換において、
第1の順序で入力するF×N個の第1の入力データを並べ替えて、第2の順序で第1の出力データを出力する処理と、
前記第1の出力データに対して、バタフライ演算処理を行い、前記第1の順序で第2の出力データを出力する処理と、
前記第2の出力データを並べ替えて、第3の順序で第3の出力データを出力し、
前記第3の出力データに対して、ひねり係数を乗算してひねり乗算処理を行い、前記第3の順序で第4の出力データを出力する処理と、
を実行させ、
前記第3の順序は、連続して処理を行うF個の高速フーリエ変換又は逆高速フーリエ変換のそれぞれにおけるC番目のサイクル(Cは0≦C≦M-1の整数)の処理を、連続するサイクルにおいて処理する順序であり、
前記ひねり乗算処理において、前記高速フーリエ変換装置に、前記第3の出力データに対して、前記第3の順序でひねり係数を出力してひねり乗算処理を実行させ、前記第3の順序は、前記ひねり係数の連続するサイクル間のビット遷移率が小さい順序である、ことを特徴とするプログラム。 - 前記第2のデータ並べ替え処理において、前記高速フーリエ変換装置に、
M×N個の前記第2の出力データを記憶する処理と、
出力順序設定に基づいて、M×N個の前記第2の出力データからF×N個の前記第3の出力データの読み出しアドレスを生成する処理と、
複数の前記第2の出力データを前記第2の順序で記憶し、前記第3順序で読み出す処理と、を実行させることを特徴とする請求項6に記載のプログラム。
Priority Applications (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2022036908A JP7848522B2 (ja) | 2022-03-10 | 2022-03-10 | 高速フーリエ変換装置、デジタルフィルタ装置、高速フーリエ変換方法、及びプログラム |
| US18/118,459 US20230289397A1 (en) | 2022-03-10 | 2023-03-07 | Fast fourier transform device, digital filtering device, fast fourier transform method, and non-transitory computer-readable medium |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2022036908A JP7848522B2 (ja) | 2022-03-10 | 2022-03-10 | 高速フーリエ変換装置、デジタルフィルタ装置、高速フーリエ変換方法、及びプログラム |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2023131901A JP2023131901A (ja) | 2023-09-22 |
| JP7848522B2 true JP7848522B2 (ja) | 2026-04-21 |
Family
ID=87931893
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2022036908A Active JP7848522B2 (ja) | 2022-03-10 | 2022-03-10 | 高速フーリエ変換装置、デジタルフィルタ装置、高速フーリエ変換方法、及びプログラム |
Country Status (2)
| Country | Link |
|---|---|
| US (1) | US20230289397A1 (ja) |
| JP (1) | JP7848522B2 (ja) |
Families Citing this family (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN120104933B (zh) * | 2025-05-09 | 2025-07-25 | 之江实验室 | 一种基于fpga的256k点的快速傅里叶变换方法、装置和介质 |
Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2007251451A (ja) | 2006-03-15 | 2007-09-27 | Fujitsu Ltd | 周波数分割多重送受信装置及び波数分割多重送受信装置並びにその方法 |
| WO2014115540A1 (ja) | 2013-01-23 | 2014-07-31 | 日本電気株式会社 | 高速フーリエ変換装置、高速フーリエ変換方法、及び高速フーリエ変換プログラム記憶媒体 |
| WO2021193947A1 (ja) | 2020-03-26 | 2021-09-30 | 日本電気株式会社 | デジタルフィルタ装置 |
-
2022
- 2022-03-10 JP JP2022036908A patent/JP7848522B2/ja active Active
-
2023
- 2023-03-07 US US18/118,459 patent/US20230289397A1/en active Pending
Patent Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2007251451A (ja) | 2006-03-15 | 2007-09-27 | Fujitsu Ltd | 周波数分割多重送受信装置及び波数分割多重送受信装置並びにその方法 |
| WO2014115540A1 (ja) | 2013-01-23 | 2014-07-31 | 日本電気株式会社 | 高速フーリエ変換装置、高速フーリエ変換方法、及び高速フーリエ変換プログラム記憶媒体 |
| WO2021193947A1 (ja) | 2020-03-26 | 2021-09-30 | 日本電気株式会社 | デジタルフィルタ装置 |
Also Published As
| Publication number | Publication date |
|---|---|
| US20230289397A1 (en) | 2023-09-14 |
| JP2023131901A (ja) | 2023-09-22 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP6288089B2 (ja) | デジタルフィルタ装置、デジタルフィルタ処理方法及びデジタルフィルタプログラムが記憶された記憶媒体 | |
| US9785614B2 (en) | Fast Fourier transform device, fast Fourier transform method, and recording medium storing fast Fourier transform program | |
| JP6256348B2 (ja) | 高速フーリエ変換回路、高速フーリエ変換処理方法及び高速フーリエ変換処理プログラム | |
| JP6489021B2 (ja) | デジタルフィルタ装置、デジタルフィルタ処理方法及びデジタルフィルタプログラム | |
| JP7848522B2 (ja) | 高速フーリエ変換装置、デジタルフィルタ装置、高速フーリエ変換方法、及びプログラム | |
| US11604852B2 (en) | Signal processing apparatus, method, program, and recording medium | |
| KR101222597B1 (ko) | 메모리의 판독 및 기록방법, 메모리 제어방법과, 그것을이용한 연산장치 | |
| US12019700B2 (en) | Signal processing apparatus, method, program, and recording medium | |
| JP6436087B2 (ja) | デジタルフィルタ装置、デジタルフィルタ処理方法およびプログラム | |
| JP6451647B2 (ja) | 高速フーリエ変換装置、高速フーリエ変換方法、及び高速フーリエ変換プログラム | |
| JP6992745B2 (ja) | デジタルフィルタ装置、デジタルフィルタ処理方法およびデジタルフィルタ処理プログラム | |
| WO2021193947A1 (ja) | デジタルフィルタ装置 | |
| JP6943283B2 (ja) | 高速フーリエ変換装置、データ並べ替え処理装置、高速フーリエ変換処理方法およびプログラム | |
| JP7639461B2 (ja) | 高速フーリエ変換装置及びデジタルフィルタ装置 | |
| US20250245005A1 (en) | Signal processing apparatus and method | |
| JP3943224B2 (ja) | ウェーブレット変換のベクトル処理を行う処理装置および方法 | |
| JP2025125514A (ja) | 計算装置及びその方法 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20250205 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20251021 |
|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20251022 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20251215 |
|
| 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: 20260310 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20260323 |