CN105893328A - Cooley-Tukey-based fast Fourier transform (FFT) algorithm - Google Patents
Cooley-Tukey-based fast Fourier transform (FFT) algorithm Download PDFInfo
- Publication number
- CN105893328A CN105893328A CN201610244184.5A CN201610244184A CN105893328A CN 105893328 A CN105893328 A CN 105893328A CN 201610244184 A CN201610244184 A CN 201610244184A CN 105893328 A CN105893328 A CN 105893328A
- Authority
- CN
- China
- Prior art keywords
- fft
- tukey
- cooley
- algorithm
- twiddle factor
- 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.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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
Abstract
The invention discloses a Cooley-Tukey-based fast Fourier transform (FFT) algorithm. The Cooley-Tukey-based FFT algorithm utilizes a field programmable gate array (FPGA) chip and adopts Radix-4 dish operation to decompose N-point FFT into one or more short sequence FFTs. The Cooley-Tukey-based FFT algorithm decomposes the N-point FFT into the several short sequence FFTs, thus greatly reducing times of complex multiplication; by adopting the Radix-4 dish operation, the Cooley-Tukey-based FFT algorithm solves the problems of long computation delay and slow dynamic response speed; furthermore, the Cooley-Tukey-based FFT algorithm is realized by utilizing the rich logical resources of FPGA, thus solving the problem of occupying a large space of a random-access memory (RAM).
Description
Technical field
The present invention relates to Measurement of Harmonics in Power System field, especially with fpga chip realize based on Cooley-
The fft algorithm of Tukey.
Background technology
Fft algorithm is widely used in Harmonious Waves in Power Systems current detecting field, and conventional harmonic current detecting method is profit
Use traditional FFT algorithm detection harmonic current with dsp chip, but traditional method exists computation delay length, dynamic responding speed
Slowly the problem that, computational accuracy is the highest, take a large amount of ram space.
Summary of the invention
The technical problem to be solved in the present invention is existing fft algorithm computation delay length, dynamic responding speed is slow, calculate essence
Spend the highest, take a large amount of ram space.
For solving above-mentioned technical problem, the technical solution used in the present invention is: a kind of FFT based on Cooley-Tukey calculates
Method, utilizes fpga chip, uses the dish-shaped computing of Radix-4, N point FFT is resolved into the FFT, N=of more than one short sequence
R1*r2, comprises the following steps: step 1: x (n) is rewritten into x (n1, n0), utilizes x (n)=x (r2n1+n0)=x (n1,n0),Step 2: be the FFT of r2 r1 point, obtains X1 (k0, n0);
k0=0,1 ..., r1-1;Step 3: N number of X1 (k0, n0) is multiplied by corresponding twiddle factorComposition X1 ' (k0, n0);Step 4: be r1 r2 point FFT, obtain X2 (k0, k1);
k1=0,1 ..., r2-1;Step 5: carry out whole sequence, obtains X (k1, k0)=X (k), wherein k=r1*k1+k0;X(k1,k0)=X2
(k0,k1)。
Traditional FFT method, answering of N point FFT takes advantage of number of times to be equal to N2, amount of calculation is the hugest, computation delay length, dynamic response
Speed is slow;Use the fft algorithm of Cooley-Tukey, the FFT that N point FFT is resolved into several shorter sequence, can make to take advantage of number of times again
Greatly reduce;Fft algorithm based on Cooley-Tukey uses the dish-shaped computing of Radix-4 to be achieved in the design, phase
Traditional Radix-2 dish computing is greatly reduced at operation times and having had on operation time.
Further, in step 4, twiddle factorWith vector ejθThe form performance of=cos θ+jsin θ, with look-up table side
Formula realizes vector rotation operation;This vector real part and imaginary part store in a register, and be only stored in 1/8 circle in, i.e.Between twiddle factor;According to periodicity and the symmetry of twiddle factor, by exchange real part imaginary part and change sign
Obtain other twiddle factor.In the design, twiddle factor is only stored in 1/8 circle, greatly reduces the memory space of RAM.
The advantage that the present invention carries is: use the fft algorithm of Cooley-Tukey, N point FFT is resolved into several shorter sequence
FFT, greatly reduce and take advantage of number of times again;Use the dish-shaped computing of Radix-4, solve computation delay length, dynamic responding speed slow
Problem, and utilize FPGA to enrich logical resource to realize, solve the problem taking a large amount of ram space.
Accompanying drawing explanation
Fig. 1 is the dish-shaped computing schematic diagram of Radix-4.
Fig. 2 is complex adder structural representation.
Fig. 3 is complex subtraction device structural representation.
Fig. 4 is complex multiplier structural representation.
Fig. 5 be twiddle factor choose schematic diagram.
Fig. 6 be the inventive method realize block diagram.
Fig. 7 is the design diagram of butterfly unit of the present invention.
Detailed description of the invention
The present invention is further illustrated below in conjunction with the accompanying drawings.
Traditional FFT method, answering of N point FFT takes advantage of number of times to be equal to N2, amount of calculation is the hugest, computation delay length, dynamic response
Speed is slow;Use the fft algorithm of Cooley-Tukey, the FFT that N point FFT is resolved into several shorter sequence, can make to take advantage of number of times again
Greatly reduce, such as, N point FFT is resolved into twoPoint FFT, takes advantage of number of times to be reduced to the most again
Here with assuming to carry out the dimensional Co oley-Tukey fast algorithm of N=r1*r2, Cooley-Tukey is explained
Fast algorithm, point five steps:
A. x (n) is rewritten into x (n1, n0), utilizes
X (n)=x (r2n1+n0)=x (n1,n0),
B. it is the FFT of r2 r1 point, obtains X1 (k0, n0).
C. N number of X1 (k0, n0) is multiplied by corresponding twiddle factorComposition X1 ' (k0, n0).
D. it is r1 r2 point FFT, obtains X2 (k0, k1).
E. carry out whole sequence, obtain X (k1, k0)=X (k), wherein k=r1*k1+k0.
X(k1,k0)=X2(k0,k1)
Fft algorithm based on Cooley-Tukey uses the dish-shaped computing of Radix-4 to be achieved, relatively in the design
It is greatly reduced at operation times and having had on operation time in traditional Radix-2 dish computing;From five above-mentioned steps
Can draw in Zhou, fft algorithm based on Cooley-Tukey includes plural number addition and subtraction, complex multiplication and twiddle factor's
Access.
As it is shown in figure 1, be the dish-shaped computing calculation of Radix-4.
Computing formula is:
X (K)=A+BWP+CW2P+DW3P
X (K+N/4)=A-jBWP-CW2P+jDW3P
X (K+2N/4)=A-jBWP+CW2P-jDW3P
X (K+3N/4)=A+jBWP-CW2P-jDW3P
Computing formula can be divided into following complex operation:
X'[n]=[(x [n]+x [n+N/2])]+[(x [n+N/4]+x [n+3N/4])]
X'[n+N/2]=[(x [n]+x [n+N/2])]-[(x [n+N/4]+x [n+3N/4])]
X'[n+N/4]=[(x [n]-x [n+N/2])]-j* [(x [n+N/4]-x [n+3N/4])]
X'[n+3N/4]=[(x [n]-x [n+N/2])]+j* [(x [n+N/4]-x [n+3N/4])]
Formula 2
As Figure 2-3, from formula 2, plus-minus calculating can be summarized as a+b, tetra-kinds of forms of a-b, a+jb, a-jb.Adopt
This computing can be completed with complex adder and complex subtraction device.
As shown in Figure 4, from formula 2, multiplying can be to be summarized as following form:
Y=A × B=(a+jb) × (c+jd)=(ac-bd)+j (ad+bc)=yre+jyim
For for result Y that A, B are multiplied, its real part and imaginary part can be done such as down conversion:
yre=(ac-bd)=ac-ad+ad-bd=(c-d) a+ (a-b) d
yim=(ad+bc)=ad-bd+bd+bc=(c+d) b+ (a-b) d
As it is shown in fig. 7, be the butterfly unit according to the design of above-mentioned plus-minus multiplication method.
As it is shown in figure 5, twiddle factorVector e can be expressed asjθ=cos θ+jsin θ, this vector real part and
Imaginary part stores in a register, utilizes look-up table mode to realize vector rotation operation.In the design, in order to reduce depositing of RAM
Storage space, is only stored in 1/8 circle, i.e.Between twiddle factor.Other twiddle factor is all this 1/8 circumferential area
The conversion of interior twiddle factor.According to periodicity and the symmetry of twiddle factor, the twiddle factor in other regions, by exchange real part
Imaginary part and change sign obtain.
Such as: the A that sets up an office is for whereinA twiddle factor, it is assumed that it is write as vector form is A=cosx+j*
sinx。
Other 7 projections being then mapped in 4 quadrants are:
sin x+j*cos x;-cos x+j*sin x;-sin x+j*cos x;-cos x+j*(-sin x);
-sin x+j*(-cos x);sin x+j*(-cos x);cos x+j*(-sin x).
Add up and come to 8 data.
Have only to the numerical value of the real part by such a data and imaginary part, do not include that symbol is respectively stored in register same
In the data storage cell of one address, it is possible to after taking out these data, by conversion, arrange its real part and void properly
Portion, assigns its sign again, obtains other other 7 twiddle factors required in this grade of computing.
As shown in Figure 6, computing module (including plus and minus calculation and multiplying) is Radix-4 computing module, control module
Produce all of control signal, the read/write address of memory 1 and 2, write the enabling signal twiddle factor table of enable, computing module
The signals such as read/write address.
Claims (2)
1. a fft algorithm based on Cooley-Tukey, is characterized in that: utilize fpga chip, uses the dish fortune of Radix-4
Calculate, FFT, the N=r1*r2 that N point FFT is resolved into more than one short sequence, comprise the following steps:
Step 1: x (n) is rewritten into x (n1, n0), utilizes
Step 2: be the FFT of r2 r1 point, obtains X1 (k0, n0);
Step 3: N number of X1 (k0, n0) is multiplied by corresponding twiddle factorComposition X1 ' (k0, n0);
Step 4: be r1 r2 point FFT, obtain X2 (k0, k1);
Step 5: carry out whole sequence, obtains X (k1, k0)=X (k), wherein k=r1*k1+k0;
X(k1,k0)=X2(k0,k1)。
A kind of fft algorithm based on Cooley-Tukey the most according to claim 1, is characterized in that: in step 4, rotates
The factorWith vector ejθThe form performance of=cos θ+jsin θ, realizes vector rotation operation in look-up table mode;This vector
Real part and imaginary part store in a register, and be only stored in 1/8 circle in, i.e.Between twiddle factor;According to rotate because of
The periodicity of son and symmetry, obtain other twiddle factor by exchange real part imaginary part and change sign.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610244184.5A CN105893328A (en) | 2016-04-19 | 2016-04-19 | Cooley-Tukey-based fast Fourier transform (FFT) algorithm |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610244184.5A CN105893328A (en) | 2016-04-19 | 2016-04-19 | Cooley-Tukey-based fast Fourier transform (FFT) algorithm |
Publications (1)
Publication Number | Publication Date |
---|---|
CN105893328A true CN105893328A (en) | 2016-08-24 |
Family
ID=56705149
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610244184.5A Pending CN105893328A (en) | 2016-04-19 | 2016-04-19 | Cooley-Tukey-based fast Fourier transform (FFT) algorithm |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105893328A (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113569190A (en) * | 2021-07-02 | 2021-10-29 | 星思连接(上海)半导体有限公司 | Fast Fourier transform rotation factor calculation system and method |
CN117591784A (en) * | 2024-01-19 | 2024-02-23 | 武汉格蓝若智能技术股份有限公司 | FPGA-based twiddle factor calculation method and FPGA chip |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1777163A (en) * | 2004-11-16 | 2006-05-24 | 上海奇普科技有限公司 | Method for realizing 3780 point discrete Fourier's transform using ascending-sampling treatment |
CN101266594A (en) * | 2007-03-13 | 2008-09-17 | 劲取科技股份有限公司 | Device for fulfilling N points discrete Fourier transition by COOLEY-TUKEY calculating method |
CN102255838A (en) * | 2010-05-18 | 2011-11-23 | 杰脉通信技术(上海)有限公司 | Fast Fourier processing method used by SC-FDMA |
CN105045766A (en) * | 2015-06-29 | 2015-11-11 | 深圳市中兴微电子技术有限公司 | Data processing method and processor based on 3072-point fast Fourier transformation |
-
2016
- 2016-04-19 CN CN201610244184.5A patent/CN105893328A/en active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1777163A (en) * | 2004-11-16 | 2006-05-24 | 上海奇普科技有限公司 | Method for realizing 3780 point discrete Fourier's transform using ascending-sampling treatment |
CN101266594A (en) * | 2007-03-13 | 2008-09-17 | 劲取科技股份有限公司 | Device for fulfilling N points discrete Fourier transition by COOLEY-TUKEY calculating method |
CN102255838A (en) * | 2010-05-18 | 2011-11-23 | 杰脉通信技术(上海)有限公司 | Fast Fourier processing method used by SC-FDMA |
CN105045766A (en) * | 2015-06-29 | 2015-11-11 | 深圳市中兴微电子技术有限公司 | Data processing method and processor based on 3072-point fast Fourier transformation |
Non-Patent Citations (3)
Title |
---|
孙学: "基于FPGA实现可扩展高速FFT处理器的研究", 《中国优秀博硕士学位论文全文数据库 (硕士)信息科技辑》 * |
王延双等: "Cooley-TukeyFFT算法在LTE系统中的研究与应用", 《广西通信技术》 * |
王金川等: "基于FPGA的高速基4FFT设计与实现", 《物联网技术》 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113569190A (en) * | 2021-07-02 | 2021-10-29 | 星思连接(上海)半导体有限公司 | Fast Fourier transform rotation factor calculation system and method |
CN117591784A (en) * | 2024-01-19 | 2024-02-23 | 武汉格蓝若智能技术股份有限公司 | FPGA-based twiddle factor calculation method and FPGA chip |
CN117591784B (en) * | 2024-01-19 | 2024-05-03 | 武汉格蓝若智能技术股份有限公司 | FPGA-based twiddle factor calculation method and FPGA chip |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103970718A (en) | Quick Fourier transformation implementation device and method | |
CN101354700B (en) | Butterfly-shaped operation FFT processor | |
Luo et al. | Efficient memory-addressing algorithms for FFT processor design | |
CN103955447A (en) | FFT accelerator based on DSP chip | |
Xiao et al. | Reduced memory architecture for CORDIC-based FFT | |
WO2013187862A1 (en) | A FAST MECHANISM FOR ACCESSING 2n±1 INTERLEAVED MEMORY SYSTEM | |
Wang et al. | Novel memory reference reduction methods for FFT implementations on DSP processors | |
CN102495721A (en) | Single instruction multiple data (SIMD) vector processor supporting fast Fourier transform (FFT) acceleration | |
CN102209962A (en) | Method and device for computing matrices for discrete fourier transform (dft) coefficients | |
CN105893328A (en) | Cooley-Tukey-based fast Fourier transform (FFT) algorithm | |
US20140330880A1 (en) | Methods and devices for multi-granularity parallel fft butterfly computation | |
US20140089369A1 (en) | Multi-granularity parallel fft computation device | |
CN103544111B (en) | A kind of hybrid base FFT method based on real-time process | |
CN103034621B (en) | The address mapping method of base 2 × K parallel FFT framework and system | |
CN102129419B (en) | Based on the processor of fast fourier transform | |
CN102567282B (en) | In general dsp processor, FFT calculates implement device and method | |
CN112559954B (en) | FFT algorithm processing method and device based on software-defined reconfigurable processor | |
CN103176949A (en) | Circuit and method for achieving fast Fourier transform (FFT) / inverse fast Fourier transform (IFFT) | |
CN102541813B (en) | Method and corresponding device for multi-granularity parallel FFT (Fast Fourier Transform) butterfly computation | |
Bansal et al. | Memory-efficient Radix-2 FFT processor using CORDIC algorithm | |
CN103902506A (en) | FFTW3 optimization method based on loongson 3B processor | |
CN103198055B (en) | A kind of split-radix FFT construction design method | |
Xiu-fang et al. | Design and Implement of FFT Processor for OFDMA system using FPGA | |
CN101354701B (en) | FFT processor implementing base 4FFT/IFFT operation | |
CN103729867A (en) | Hardware accelerator based on BP back-projection imaging algorithm and data processing method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20160824 |
|
RJ01 | Rejection of invention patent application after publication |