CN103605634B - 一种基于混合基fft的数据访问地址生成的方法 - Google Patents

一种基于混合基fft的数据访问地址生成的方法 Download PDF

Info

Publication number
CN103605634B
CN103605634B CN201310287052.7A CN201310287052A CN103605634B CN 103605634 B CN103605634 B CN 103605634B CN 201310287052 A CN201310287052 A CN 201310287052A CN 103605634 B CN103605634 B CN 103605634B
Authority
CN
China
Prior art keywords
formula
address
accumulator
twiddle factor
expression
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
CN201310287052.7A
Other languages
English (en)
Other versions
CN103605634A (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.)
Beijing Institute of Technology BIT
Original Assignee
Beijing Institute of Technology BIT
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 Beijing Institute of Technology BIT filed Critical Beijing Institute of Technology BIT
Priority to CN201310287052.7A priority Critical patent/CN103605634B/zh
Publication of CN103605634A publication Critical patent/CN103605634A/zh
Application granted granted Critical
Publication of CN103605634B publication Critical patent/CN103605634B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Complex Calculations (AREA)

Abstract

本发明提出一种基于混合基FFT的数据访问地址生成的方法,首先给出混合基FFT的时域指数和频域指数用两个不同基表示的表达式;然后将两个表达式代入DFT表达式,将得到的式子进行分解得到DFT运算的迭代递归方程式,根据该组方程式得出任意级的通用迭代公式。分析该迭代公式可以求出所需操作数和旋转因子的地址。根据操作数和旋转因子地址的产生规律,发现操作数和旋转因子的地址可以通过一个基于混合基表示的累加器来获得。最后通过该累加器得到基于混合基FFT的操作数和旋转因子访问地址。本发明方法由一个累加器通过简单移位实现操作数和旋转因子访问地址的生成,降低了地址生成复杂度,对任意混合基FFT的硬件实现具有积极意义。

Description

一种基于混合基FFT的数据访问地址生成的方法
技术领域
本发明属于数字信号处理技术领域,涉及一种低复杂度的混合基FFT(快速傅里叶变换)地址生成的方法。
背景技术
随着数字信号处理技术和大规模集成电路的发展,FFT算法的重要性不言而喻,广泛应用于各种科学工程领域,如雷达、声纳、通信等,同时对小型化和实时性等的要求越来越高。
传统的设计算法主要集中在基2和基4的结构上,因其蝶形单元简单和地址生成的复杂度低而得到广泛的应用。而对于基3,基6等点数的FFT因其复杂的蝶形处理单元和地址生成通常被应用在形如N=q×2m长度的FFT处理器中,q为3,5等整数值,m为幂指数。而针对(r1,r2为任意整数值,且r1≠r2)的点数研究的很少,因此需要采用低复杂度的算法来实现混合基FFT处理器。
同时,传统的基2和基4FFT算法,点数限制在2的幂或4的幂次方,这样限制了其点数的可选择范围。对于一些应用,比如SAR(合成孔径雷达)信号处理中,由于处理时间和面积的限制,不能将每个处理的点数都要扩展至满足基2或基4FFT算法,尤其对于大点数的FFT,否则会延长计算时间以及消耗更多的存储空间。
为了扩展FFT处理器的使用范围,需要研究非基2或基4的FFT处理算法。本发明提出一种混合基FFT算法。这样对于那些列长不符合基2或基4FFT,却可以满足点数,可以采用混合基算法,从而尽可能采用短的序列进行计算来满足实际需求。
本发明的目的是采用低复杂度的混合基地址生成算法,这样可将混合基广泛应用,并扩展了FFT处理点数。目前混合基的算法主要是以基2为主,比如基2/4,基2/8,基4/8等,或基q/2mFFT算法,还有复杂的嵌套循环索引方法和基于素因子等方法。
发明内容
鉴于此,本发明基于原位存储,时域抽取结构,在固定基FFT算法的基础上提出一种基于混合基FFT的数据访问地址生成的方法,旨在降低混合基FFT处理器的地址变换复杂度,达到扩展FFT点数范围,减少处理时间以及降低存储占用的目的。
为了解决上述技术问题,本发明是这样实现的:一种基于混合基FFT的数据访问地址生成的方法,包括以下步骤:
步骤一:根据离散傅里叶变换DFT的通用表达式,求出基于混合基的时域指数和频域指数表达形式;
步骤二:将时域指数和频域指数表达形式代入DFT表达式中,将得到的表达式进行分解得到DFT运算的迭代递归方程式,根据该组方程式得出任意级的通用迭代公式;
步骤三:分析步骤二得到的通用迭代公式,推导出由基于时域指数和频域指数表示的操作数的访问地址;设一基于混合基表示的累加器,通过分析并比较由迭代公式获得的操作数访问地址表达式和累加器表达式,得出每级FFT蝶形运算时由累加器表达的操作数的访问地址;
步骤四:根据步骤二得到的通用迭代公式,推导出旋转因子的访问地址;设一基于混合基表示的累加器,通过分析并比较推导出的旋转因子访问地址表达式和累加器表达式,得出由累加器表达的旋转因子的访问地址。
本发明的工作原理:由于数据访问地址与DFT(离散傅里叶变换)表达式中的时域指数和频域指数有关,首先给出混合基FFT的时域指数和频域指数用两个不同基表示的表达式;然后将两个表达式代入DFT表达式,将得到的式子进行分解得到DFT运算的迭代递归方程式,根据该组方程式得出任意级的通用迭代公式。分析该迭代公式可以求出所需操作数和旋转因子的地址。因此根据步骤二和三可得,基于混合基FFT的数据访问地址,即操作数和旋转因子的访问地址,仅由一个累加器即可获得,使得地址生成复杂度降低,电路实现简单。为了在硬件实现中以一种快速并且电路实现简单的地址生成方法,根据操作数和旋转因子地址的产生规律,发现操作数和旋转因子的地址都可以通过一个基于混合基表示的累加器来获得。最后通过该累加器得到基于混合基FFT的操作数和旋转因子访问地址。
有益效果:
对比已有技术,本发明方法由一个累加器通过简单移位实现操作数和旋转因子访问地址的生成,降低了地址生成复杂度,对任意混合基FFT的硬件实现具有积极意义。
附图说明
图1为第m级N点FFT操作数地址生成示意图。
具体实施方式
下面结合附图对本发明方法的实施方式做详细说明。
一种基于混合基FFT的数据访问地址生成的方法,其具体步骤包括:
步骤一、分析混合基FFT表达形式。首先,N点序列x(n),n=0,1,...,N-1的DFT(离散傅里叶变换)表达式为:
X ( k ) = Σ n = 0 N - 1 x ( n ) W N k n , 0 ≤ k ≤ N - 1 , 其中 W N k n = e - j 2 π k n / N , j = - 1 - - - ( 1 ) 当N分解为N=N1×N2时,并满足当r1≠r2时,式(1)称之为混合基FFT。根据固定基(即r1=r2)FFT地址生成算法,基于混合基FFT的时域指数n和频域指数k可分别表示如下:
n = r 1 s 1 × r 2 s 2 - 1 × n s - 1 + r 1 s 1 × r 2 s 2 - 2 × n s - 2 + ... + r 1 s 1 × r 2 0 × n s - s 2 + r 1 s 1 - 1 × n s 1 - 1 + r 1 s 1 - 2 × n s 1 - 2 + ... + r 1 1 × n 1 + r 1 0 × n 0 . k = r 1 s 1 - 1 × r 2 s 2 × k s - 1 + r 1 s 1 - 2 × r 2 s 2 × k s - 2 + ... + r 1 0 × r 2 s 2 × k s - s 1 + r 2 s 2 - 1 × k s 2 - 1 + r 2 s 2 - 2 × k s 2 - 2 + ... + r 2 1 × k 1 + r 2 0 × k 0 . - - - ( 2 )
其中 n s - 1 , n s - 2 , ... , n s 1 = 0 , ... , r 2 ; n s 1 - 1 , ... , n 0 = 0 , ... , r 1 .
k s 2 - 1 , k s 2 - 2 , ... , k 0 = 0 , ... , r 2 ; k s - 1 , ... , k s 2 = 0 , ... , r 1 .
为方便推导混合基FFT每级数据访问地址情况,设式(2)另一种表达形式为:
n = ( n s - 1 n s - 2 ... n 2 n 1 n 0 ) | m i x e d - r a d i x , k = ( k s - 1 k s - 2 ... 3 k 2 k 1 k 0 ) | m i x e d - r a d i x . - - - ( 3 )
步骤二、求操作数地址生成情况。FFT输入数据需存储于双端口存储器中,每级FFT进行蝶形运算时需要读取存储器中的数据作为蝶形运算输入端的操作数,蝶形运算完成后再将输出数据存储于对应的存储器地址中,因此需对该存储器进行读/写地址操作。由于采用原位存储结构,输出数据存储地址和输入端数据的读地址是相同的,因此只需求出读地址即可。
设参数 c s - 1 = r 1 s 1 · r 2 s 2 - 1 , c s - 2 = r 1 s 1 · r 2 s 2 - 2 , ... , c s - s 2 = c s 1 = r 1 s 1 · r 2 0 , c s 1 - 1 = r 1 s 1 - 1 ,
c s 1 - 2 = r 1 s 1 - 2 , ... , c 1 = r 1 1 , c 0 = r 1 0 .
将式(2,3)代入式(1)中可得FFT的第m(m=1,2,...,s;s=s1+s2)级迭代式
x m ( k 0 k 1 ... k m - 1 n s - 1 - m n s - 2 - m ... n 0 ) = Σ n s - m = 0 r ′ - 1 x m - 1 ( k 0 k 1 ... k m - 1 n s - 1 - m n s - 2 - m ... n 0 ) W N k ( c s - m n s - m ) - - - ( 4 )
其中r'∈(r1,r2),当1≤m≤s2,r'=r2,当s2<m≤s,r'=r1
式(4)中的xm(k0k1…km-1ns-1-mns-2-m…n0)即为第m级FFT,地址为(k0k1…km-1ns-1- mns-2-m…n0)|mixed-radix的操作数。下面介绍如何用一个累加器得到该地址。
设一累加器C=(Cs-1Cs-2Cs-3...C2C1C0)|mixed-radix,由于该累加器是基于混合基FFT,所以该累加器在不同的迭代级数中表示是不同的。当1≤m≤s2时,为r1进制,为r2进制。当s2<m≤s时,为r1进制,为r2进制。
根据迭代第m级操作数读地址(k0k1…km-1ns-1-mns-2-m…n0)|mixed-radix,可以得出数据地址和对应的累加器之间的关系如图1所示。图1中Counter表示第m级的累加器,对应的数据地址为该地址的获得即:将生成的Counter的最低位C0移位至第Cs-m位前一位(注:这里的位是数据位,不是比特位,与进制数有关,比如,如果C0为三进制数,C0的值为0,1,2。这样需要两位二进制数表示该一位三进制数,当移位时,需将该两位二进制数表示的三进制数看做一个整体进行处理),即为混合基FFT蝶形单元的操作数访问地址。
步骤三、下面求旋转因子地址。
FFT蝶形运算时需要操作数的同时,还有旋转因子的参与。由于旋转因子是一组固定的数据,因此把旋转因子存储于初始化的只读存储器ROM中,初始化的数值即为旋转因子值,这里需要对ROM进行读操作。
设一组参数 c ′ s - 1 = r 1 s 1 - 1 · r 2 s 2 , c ′ s - 2 = r 1 s 1 - 2 · r 2 s 2 , ... , c s - s 1 ′ = c s 2 ′ = r 1 0 · r 2 s 2 , c s 2 - 1 ′ = r 2 s 2 - 1 , ... , c 1 ′ = r 2 1 , c 0 ′ = r 2 0 . 将式(2)代入式(1)中的旋转因子项Wkn中,得
分析这三部分,其中只有Part3与读取旋转因子地址有关。
β'可由(Cs-m+1Cs-m+2...Cs-1)|mixed-radix来表示。令β=cs-m×β'。
设C=(Cs-1Cs-2...C1C0)|mixed-radix的逆序为Creverse=(C0C1…Cs-mCs-m+1Cs-m+2…Cs- 2Cs-1)mixed-radix,所以第m级β与累加器的关系为(用VHDL语言描述):
β(m)=[Creverse((m-2)downto 0)&zeros((s-2)downto(m-1))] (6)
所以m级r'个旋转因子的地址为:
Addr t w i ( m ) = 0 , c s - m = 0 ; β ( m ) , c s - m = 1 ; 2 × β ( m ) , c s - m = 2 ; ... ( r ′ - 1 ) × β ( m ) , c s - m = r ′ - 1. - - - ( 7 )
图1和式(7)分别是由累加器C得出的读/些操作数地址和读旋转因子地址。
自此,就完成了基于混合基FFT的数据访问地址生成。
虽然结合了附图描述了本发明的实施方式,但是对于本领域技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进,这些也应视为属于本发明的保护范围。

Claims (1)

1.一种基于混合基FFT的数据访问地址生成的方法,其特征在于,包括以下步骤:
步骤一:根据离散傅里叶变换DFT的通用表达式,求出基于混合基的时域指数和频域指数表达形式;
步骤二:将时域指数和频域指数表达形式代入DFT表达式中,将得到的表达式进行分解得到DFT运算的迭代递归方程式,根据该组方程式得出任意级的通用迭代公式;
步骤三:分析步骤二得到的通用迭代公式,推导出由基于时域指数和频域指数表示的操作数的访问地址;设一基于混合基表示的累加器,通过分析并比较由迭代公式获得的操作数访问地址表达式和累加器表达式,得出每级FFT蝶形运算时由累加器表达的操作数的访问地址;
步骤四:根据步骤二得到的通用迭代公式,推导旋转因子的访问地址;设一基于混合基表示的累加器,通过分析并比较推导出的旋转因子访问地址表达式和累加器表达式,得出由累加器表达的旋转因子的访问地址。
CN201310287052.7A 2013-07-09 2013-07-09 一种基于混合基fft的数据访问地址生成的方法 Active CN103605634B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310287052.7A CN103605634B (zh) 2013-07-09 2013-07-09 一种基于混合基fft的数据访问地址生成的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310287052.7A CN103605634B (zh) 2013-07-09 2013-07-09 一种基于混合基fft的数据访问地址生成的方法

Publications (2)

Publication Number Publication Date
CN103605634A CN103605634A (zh) 2014-02-26
CN103605634B true CN103605634B (zh) 2016-08-10

Family

ID=50123863

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310287052.7A Active CN103605634B (zh) 2013-07-09 2013-07-09 一种基于混合基fft的数据访问地址生成的方法

Country Status (1)

Country Link
CN (1) CN103605634B (zh)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5473556A (en) * 1992-04-30 1995-12-05 Sharp Microelectronics Technology, Inc. Digit reverse for mixed radix FFT
CN101083643A (zh) * 2006-05-31 2007-12-05 中国科学院微电子研究所 一种低存储器开销的混合基fft处理器及其方法
CN101763338A (zh) * 2010-01-08 2010-06-30 浙江大学 一种点数可变的混合基fft/ifft实现装置及其方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5473556A (en) * 1992-04-30 1995-12-05 Sharp Microelectronics Technology, Inc. Digit reverse for mixed radix FFT
CN101083643A (zh) * 2006-05-31 2007-12-05 中国科学院微电子研究所 一种低存储器开销的混合基fft处理器及其方法
CN101763338A (zh) * 2010-01-08 2010-06-30 浙江大学 一种点数可变的混合基fft/ifft实现装置及其方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
A Generalized Mixed-Radix Algorithm for Memory-Based FFT Processors;chen-fong Hsiao et al.;《IEEE TRANSACTIONS ON CIRCUITS AND SYSTEMS-Ⅱ:EXPRESS BRIEFS》;20100131;第57卷(第1期);第26-30页 *
一种快速FFT处理器的地址生成方法;陆涛等;《北京理工大学学报》;20060131;第26卷(第1期);第68-71页 *

Also Published As

Publication number Publication date
CN103605634A (zh) 2014-02-26

Similar Documents

Publication Publication Date Title
Stankovic et al. Time-frequency signal analysis with applications
Greenside et al. Impracticality of a box-counting algorithm for calculating the dimensionality of strange attractors
Minden et al. Fast spatial Gaussian process maximum likelihood estimation via skeletonization factorizations
Daescu On the sensitivity equations of four-dimensional variational (4D-Var) data assimilation
Ryttov et al. Scheme transformations in the vicinity of an infrared fixed point
CN101937424A (zh) 基于fpga实现高速fft处理的方法
DE102016118734A1 (de) Skalierung von Festkomma-Schnelle-Fourier-Transformationen bei Radar- und Sonaranwendungen
CN101636714A (zh) 随机数产生装置和方法
US20120101781A1 (en) Operation circuit and method thereof
Park Guaranteed-stable sliding DFT algorithm with minimal computational requirements
CN103646011A (zh) 一种基于线性调频z变换的信号频谱细化方法
CN102209962A (zh) 计算离散傅里叶变换(dft)系数矩阵的方法和设备
CN103544111B (zh) 一种基于实时性处理的混合基fft方法
Blayo et al. Optimized Schwarz waveform relaxation algorithms with nonconforming time discretization for coupling convection-diffusion problems with discontinuous coefficients
CN103605634B (zh) 一种基于混合基fft的数据访问地址生成的方法
CN104731762A (zh) 基于循环移位的立方相位信号参数估计方法
Clarke De la Cerda et al. Wiener integrals with respect to the Hermite random field and applications to the wave equation
CN104102471A (zh) 一种应用fpga定点化技术实现指数cordic算法收敛域扩张的方法
CN105301354A (zh) 一种乘性和加性噪声中谐波信号频率估计方法
Toyokawa On the existence of a σ-finite acim for a random iteration of intermittent Markov maps with uniformly contractive part
Sowjanya et al. Design and Performance Analysis of 32 and 64 Point FFT using Multiple Radix Algorithms
CN103700136A (zh) 一种利用三变量双调和B-spline函数进行医学体数据矢量化的方法
Wala et al. Conformal mapping via a density correspondence for the double-layer potential
CN103823789B (zh) 一种低复杂度的通用混合基fft设计方法
Sileshi et al. Accelerating hardware Gaussian random number generation using Ziggurat and CORDIC algorithms

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant