CN105893328A - Cooley-Tukey-based fast Fourier transform (FFT) algorithm - Google Patents

Cooley-Tukey-based fast Fourier transform (FFT) algorithm Download PDF

Info

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
Application number
CN201610244184.5A
Other languages
Chinese (zh)
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.)
NANJING APAITEK TECHNOLOGY Co Ltd
Original Assignee
NANJING APAITEK TECHNOLOGY 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 NANJING APAITEK TECHNOLOGY Co Ltd filed Critical NANJING APAITEK TECHNOLOGY Co Ltd
Priority to CN201610244184.5A priority Critical patent/CN105893328A/en
Publication of CN105893328A publication Critical patent/CN105893328A/en
Pending legal-status Critical Current

Links

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
    • G06F17/141Discrete Fourier transforms
    • G06F17/142Fast 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

A kind of fft algorithm based on Cooley-Tukey
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 eThe 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).
X 1 ( k 0 , n 0 ) = Σ n 1 = 0 r 1 - 1 x ( n 1 , n 0 ) W r 1 n 1 k 0 , k 0 = 0 , 1 , ... , r 1 - 1
C. N number of X1 (k0, n0) is multiplied by corresponding twiddle factorComposition X1 ' (k0, n0).
X 1 ′ ( k 0 , n 0 ) = X 1 ( k 0 , n 0 ) W N n 0 k 0
D. it is r1 r2 point FFT, obtains X2 (k0, k1).
X 2 ( k 0 , k 1 ) = Σ n 0 = 0 r 2 - 1 X 1 ′ ( k 0 , n 0 ) W r 2 n 0 k 1 , k 1 = 0 , 1 , ... , r 2 - 1
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 as=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
x ( n ) = x ( r 2 n 1 + n 0 ) = x ( n 1 , n 0 ) , n 1 = 0 , 1 , 2 , ... , r 1 - 1 n 0 = 0 , 1 , 2 , ... , r 2 - 1 ;
Step 2: be the FFT of r2 r1 point, obtains X1 (k0, n0);
X 1 ( k 0 , n 0 ) = Σ n 1 = 0 r 1 - 1 x ( n 1 , n 0 ) W r 1 n 1 k 0 , k 0 = 0 , 1 , ... , r 1 - 1 ;
Step 3: N number of X1 (k0, n0) is multiplied by corresponding twiddle factorComposition X1 ' (k0, n0);
X 1 ′ ( k 0 , n 0 ) = X 1 ( k 0 , n 0 ) W N n 0 k 0
Step 4: be r1 r2 point FFT, obtain X2 (k0, k1);
X 2 ( k 0 , k 1 ) = Σ n 0 = 0 r 2 - 1 X 1 ′ ( k 0 , n 0 ) W r 2 n 0 k 1 , k 1 = 0 , 1 , ... , r 2 - 1 ;
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 eThe 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.
CN201610244184.5A 2016-04-19 2016-04-19 Cooley-Tukey-based fast Fourier transform (FFT) algorithm Pending CN105893328A (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (4)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
Title
孙学: "基于FPGA实现可扩展高速FFT处理器的研究", 《中国优秀博硕士学位论文全文数据库 (硕士)信息科技辑》 *
王延双等: "Cooley-TukeyFFT算法在LTE系统中的研究与应用", 《广西通信技术》 *
王金川等: "基于FPGA的高速基4FFT设计与实现", 《物联网技术》 *

Cited By (3)

* Cited by examiner, † Cited by third party
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