CN1823333A - 重新编码的基-2流水线fft处理器 - Google Patents

重新编码的基-2流水线fft处理器 Download PDF

Info

Publication number
CN1823333A
CN1823333A CN 200480020053 CN200480020053A CN1823333A CN 1823333 A CN1823333 A CN 1823333A CN 200480020053 CN200480020053 CN 200480020053 CN 200480020053 A CN200480020053 A CN 200480020053A CN 1823333 A CN1823333 A CN 1823333A
Authority
CN
China
Prior art keywords
fft
multiplier
butterfly
sampling
output
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
CN 200480020053
Other languages
English (en)
Inventor
肖恩·G·吉布
彼得·J·W·格劳曼
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.)
Cygnus Communications Canada Co
Original Assignee
Cygnus Communications Canada Co
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 Cygnus Communications Canada Co filed Critical Cygnus Communications Canada Co
Publication of CN1823333A publication Critical patent/CN1823333A/zh
Pending legal-status Critical Current

Links

Images

Landscapes

  • Complex Calculations (AREA)

Abstract

一种单路径延迟反馈流水线快速傅立叶变换处理器,包括至少一组三联体FFT级装置:第一FFT级装置,包括基-2蝶形、反馈存储器、和单位乘法;第二FFT级装置,包括平凡系数左乘、基-2蝶形、反馈存储器、和可选择单位或WN N/8的乘法;以及第三FFT级装置,包括平凡系数左乘、蝶形、反馈存储器、和使用旋转因子分解技术确定的系数的复旋转系数乘法。

Description

重新编码的基-2流水线FFT处理器
相关申请的交叉参考
本申请要求于2003年7月18日提交的美国临时专利申请第60/487,975号的优先权,其全部内容结合于此作为参考。
技术领域
本发明一般地涉及流水线FFT处理器。更具体地,本发明涉及单路径延迟反馈流水线快速傅立叶变换处理器。
背景技术
傅立叶变换是众所周知的数学运算,其被用于获得时变信号的频变表示。逆傅立叶变换执行相反的操作。虽然傅立叶变换是连续函数的有用的分析工具,但它不能变换离散函数,也不能变换在大多数应用中更常见的采样序列。离散傅立叶变换(DFT)实现了该目的。
在包括执行光谱分析或相关分析的数字信号处理***的许多数字信号处理***中,DFT是重要的功能元件。DFT的目的在于,已知另一个长度为N的数据序列{x(n)},计算具有N个复值数的序列{X(k)},用如下公式表示:
X ( k ) = Σ n = 0 N - 1 x ( n ) W N kn
其中
WN=e-j2π/N
从这些公式中可以观察到,对于每个值k,X(k)的直接计算涉及N个复数乘法和N-1个复数加法。因此,计算DFT的所有N个值将需要N2个复数乘法和N2-N个复数加法。通式解可用基于分治法(divide-and-conquer)的方法被分解,以减小与DFT相关的计算复杂度。使用分治法将数据序列分成多个部分,并单独地处理每个部分。每个单独部分可被进一步划分。该分解形成基本的快速傅立叶变换(FFT)操作,其中,最常用的抽取因子(decimating factor)是2或4(导致执行DFT的基-2或基-4FFT)。在分治法中,DFT的计算被分解成长度渐短的嵌套的DFT,直到DFT已经被减小到其基。随分治算法的进行,产生在复平面中有效地执行相位旋转的旋转因子(twiddle factor)。对于基-2分解,对输入数据序列{x(n)}执行长度2的DFT。长度2的DFT的第一级的结果使用长度2的DFT被合并,然后通过使最终值乘以适当的旋转因子在复平面中旋转最终值。继续该过程直到已经处理所有N个值并且产生最终输出序列{X(k)}。将输入序列分解成一系列较小序列,能够将与完成DFT相关的复杂度从N2阶复杂度减小到Nlog2N阶复杂度。
许多先前的解法提高了FFT处理器的吞吐量,同时通过使用基于流水线处理器的结构来平衡FFT等待时间和FFT处理器的面积需求之间的关系。在流水线处理器结构中,主要关心的是增加吞吐量并减少等待时间,同时还力图最小化处理器结构的面积需求。普通流水线FFT结构通过为DFT重组计算中的每个级执行单个长度2DFT(使用在蝶形单元中执行的基-2蝶形运算)实现了这一点。也可以在每个重组级使用少于或多于一个的蝶形单元,然而,在实时数字***中,这足够使FFT处理器的计算速度和输入数据速率相匹配。如果数据采集速度是每周期一个采样,那么每个重组级具有一个蝶形单元就足够了。
这里简单回顾了先前的流水线FFT结构,目的是透彻地了解根据本发明的FFT处理器。在该论述中,将包括执行基-2、基-4、和更复杂的***的算法。假设输入和输出次序是最适合该算法的任何形式。如果需要不同次序,那么考虑到与执行缓冲器相关的存储器代价,可在流水线FFT的输入端和输出端设置适当的重新排序的缓冲器。提供按次序的输入的***最适于数据一次到达一个采样并可被立即处理的***。无次序的输入最适于其中数据可以以任意次序从缓冲器被提取的缓冲数据。所有现有结构都基于DFT的频率抽取(Decimation-In-Frequency DIF)分解。输入和输出数据是复数的,并且所有的算术运算也是复数的。对于基-2算法,应用N是2的幂的限制。基-4算法将N限制为4的幂,而基-8算法(R23SDF)将N限制为8的幂。为了清楚起见,已经省略了所有控制和旋转因子的硬件要求。
图1示出现有技术的16点基-2多路径延迟换向器(R2MDC)流水线FFT的一般执行方式。一般地,R2MDC方法将输入序列分成两个并行数据流。在每个级,数据流的一半在存储器中被缓冲并且然后与数据流的另一半并行处理。R2MDC结构中的乘法器和加法器的利用率是50%。R2MDC结构需要
Figure A20048002005300101
个延迟寄存器。
图2示出现有技术的256点基4多路径延迟换向器(R4MDC)的一般执行方式。一般地,R4MDC是R2MDC的基-4形式,其将输入序列分成4个并行数据流。R4MDC结构仅有25%的时间利用所有组件。R4MDC结构需要
Figure A20048002005300102
个延迟寄存器。
图3示出现有技术的基-2单路径延迟反馈(R2SDF)流水线16-位FFT的一般执行方式。一般地,通过将蝶形单元输出存储在反馈移位寄存器中,R2SDF方法比R2MDC执行方式更有效地使用寄存器。R2SDF执行方式达到了乘法器和加法器的50%的利用率,并需要N-1个延迟寄存器。
图4示出现有技术的256点基-4单路径延迟反馈(R4SDF)流水线FFT的一般执行方式。一般地,R4SDF是R2SDF的基-4形式。在该执行方式中,乘法器的利用率增加到75%,然而加法器的利用率仅为25%。如同在R2SDF结构中一样,R4SDF结构需要N-1个延迟寄存器。如同R2SDF的情况一样,存储器被完全利用。
图5示出现有技术的256点基-4单路径延迟换向器(R4SDC)流水线FFT的一般执行方式。一般地,R4SDC使用修正基-4算法以达到乘法器的75%的利用率。R4SDC执行方式需要2N-2个存储器。
图6示出现有技术的256点基-22单路径延迟反馈(R22SDF)流水线FFT结构的一般执行方式。一般地,R22SDF结构用±1和±j的平凡乘法将一个基-4蝶形运算分成两个基-2蝶形运算,以达到75%的乘法器利用率和50%的加法器利用率。R22SDF结构需要N-1个存储器。
图7示出现有技术的512点基-23单路径延迟反馈(R23SDF)流水线FFT结构的一般执行方式。R23SDF结构通过利用类似于R22SDF结构的技术使基-8蝶形单元的硬件要求最小化。用内部蝶形延迟硬件和±1、±j、以及0.707(±1-j)的平凡乘法使用单个基-8蝶形单元作为三个基-2蝶形单元的组合。R23SDF结构需要N-1个存储器。
考虑到上述现有技术,显然,提供能够减小执行过程所需的硬件复杂度的FFT处理器是理想的。另外的提供能够在减小的半导体面积中被执行的FFT处理器也是理想的。制造能够获得这种减小的硬件复杂度和半导体面积的FFT用于任意的长度为2的幂的FFT运算也是理想的。
发明内容
本发明的目的在于消除或减轻先前的流水线FFT处理器的至少一个不足。
在本发明的第一方面,提供了一种用于接收输入序列的流水线快速傅立叶变换(FFT)处理器。该处理器包括至少一个FFT三联体,用于接收输入序列并输出表示输入序列的FFT的最终输出序列。该至少一个FFT三联体具有通过可选择乘法器串联的第一、第二、和第三蝶形模块。可选择乘法器对相邻蝶形模块的输出序列选择性地执行平凡系数乘法和复系数乘法。该至少一个FFT三联体中的每个在旋转因子乘法器中终止。乘法器对其各自的三联体的第三蝶形模块的输出应用旋转因子。
在本发明的第一方面的实施例中,每个蝶形模块包括基-2蝶形单元和反馈存储器,其中,优选地对于N个采样的输入序列,每个蝶形模块的输出序列X(k,n)均等于 x ( n ) + ( - 1 ) k x ( n + N 2 ) . 在本发明的另一个实施例中,至少一个可选择乘法器被集成在邻近蝶形模块中。在另一个实施例中,每个可选择乘法器均包括乘法器和用于旁通乘法器的开关。在另一个实施例中,第一和第二蝶形模块通过用于选择性地应用平凡系数乘法的可选择乘法器连接,并且第二和第三蝶形模块优选地通过用于执行平凡系数乘法的可选择乘法器和用于执行复系数乘法的可选择乘法器连接。在另一个实施例中,对于具有N个采样的输入序列,用于第一、第二、和第三蝶形模块的反馈存储器分别保存N/2、N/4、和N/8个采样。在另一个实施例中,处理器用于接收长度为N的输入序列,其中(log2N)mod3=1,处理器具有多个连续的FFT三联体,并进一步包括具有蝶形单元和大小为保存单个采样的相应的存储器的FFT终接器(terminator),FFT终接器用于从最终旋转因子乘法器接收输出序列并用于对接收的输出序列执行蝶形运算,以提供输入序列的FFT。在可选实施例中,处理器用于接收长度为N的输入序列,其中,(log2N)mod3=2,处理器具有多个连续的FFT三联体,并进一步包括具有第一和第二蝶形单元的FFT终接器,每个蝶形单元分别具有大小为保存两个采样和单个采样的相应的存储器,第一蝶形单元通过选择性乘法器连接至第二蝶形单元,该选择性乘法器用于选择性地将第一蝶形单元的输出乘以-j,FFT终接器从最终旋转因子乘法器接收输出序列并对接收的输出序列执行一对蝶形运算,以提供输入序列的FFT。在另一个实施例中,旋转因子乘法器是协调旋转数字计算机旋转器(cordic rotator)。
在本发明的第二实施例中,提供了一种用于接收N个采样的输入序列的流水线FFT处理器。该处理器包括至少一个FFT三联体。该至少一个FFT三联体具有第一FFT级、第二FFT级、和第三FFT级。第一FFT级具有:第一级基-2蝶形单元,用于接收输入序列并根据对输入序列执行的蝶形运算提供第一级输出序列,第一级基-2蝶形单元具有连接到其上的第一反馈存储器。第二FFT级具有:可选择乘法器,用于选择性地将第一级输出序列乘以平凡系数;以及第二级基-2蝶形单元,用于根据对可选择乘法器的输出执行的蝶形运算提供第二级输出序列,第二级基-2蝶形单元具有连接到其上的第二反馈存储器。第三FFT级具有:乘法可选择乘法器(multiplyselectable multiplier),用于选择性地将第二级输出序列乘以平凡系数和复系数中的至少一个;第三级基-2蝶形单元,用于根据对该乘法可选择乘法器的输出执行的蝶形运算提供蝶形输出,该第三级基-2蝶形单元具有连接到其上的第三反馈存储器;以及乘法器用于将蝶形输出乘以旋转因子,以提供对应于输入序列的FFT的输出序列。
在本发明的第二方面的实施例中,第一、第二、和第三级输出序列X(k,n)中的每个均等于 x ( n ) + ( - 1 ) k x ( n + N 2 ) . 在另一个实施例中,至少一个蝶形单元包括集成的左乘函数,用于对接收的输入序列应用平凡系数乘法。在另一个实施例中,FFT处理器包括根据输入序列的长度N确定的FFT终接器。在一个实施例中,FFT终接器包括具有大小为存储单个采样的存储器的蝶形模块,用于接收第三FFT级乘法器的输出作为终接器输入,并用于对该终接器输入执行蝶形运算以提供N个采样的输入序列的FFT。在可选实施例中,FFT终接器包括:第一蝶形模块,具有大小为存储一对采样的存储器,用于接收第三级乘法器的输出作为终接器输入,并用于对该终接器输入执行蝶形运算;以及第二蝶形模块,通过可选择乘法器连接至终接器的第一蝶形模块,该可选择乘法器用于选择性地将终接器的第一蝶形模块的输出乘以-j,该第二蝶形模块具有大小为存储单个采样的存储器,并用于对终接器的第一蝶形模块的选择性的乘法输出执行蝶形运算,以提供输出序列的FFT。
在本发明的第三实施例中,提供了一种用于在具有蝶形模块的FFT处理器中对N个采样的序列执行FFT的方法。该方法包括以下步骤:对所有整数1≤x≤log2N,重复下面的接收和缓冲、生成和选择性乘法的步骤。接收和缓冲步骤包括从具有N个采样的序列一次接收和缓冲 个采样。生成步骤包括使用第n个和第
Figure A20048002005300143
个采样生成2点FFT。选择性乘法步骤包括选择性地将生成的2点FFT序列乘以复值被乘数。重复上面的步骤后,本方法包括以下步骤:使用根据(log2N)mod3关系确定的终止序列终止FFT。
在本发明第三方面的实施例中,从包括1、-j、
Figure A20048002005300151
和通过旋转因子分解确定的复数旋转因子的列表中选择复值被乘数。在(log2N)mod3=1的实施例中,终止FFT的步骤包括:缓冲从最终选择性乘法接收的采样并且使用缓冲的采样和序列中的随后采样执行2点FFT,以获得N个采样的序列的FFT。在(log2N)mod3=2的实施例中,终止FFT的步骤包括:缓冲从最终选择性乘法接收的一对采样并且使用该两个缓冲的采样和序列中的两个随后采样执行成对的2点FFT;选择性地将成对的2点FFT的结果乘以-j;以及缓冲从成对的2点FFT的选择性乘法接收的采样并且使用缓冲的采样和序列中的随后采样执行2点FFT,以获得N个采样的序列的FFT。
对本领域的普通技术人员来说,通过结合附图参阅本发明的特定实施例的如下描述,本发明的其它方面和特征将变的显而易见。
附图说明
参照下面的附图对本发明进行描述,在附图中:
图1是现有技术的16点R2MDC FFT处理器的框图;
图2是现有技术的256点R4MDCX FFT处理器的框图;
图3是现有技术的16点R2DSF FFT处理器的框图;
图4是现有技术的256点R4SDF FFT处理器的框图;
图5是现有技术的256点R4SDC FFT处理器的框图;
图6是现有技术的16点R22SDF FFT处理器的框图;
图7是现有技术的512点R22SDF FFT处理器的框图;
图8是重新编码的基-2DIF FFT流程图,其中N=16;
图9是替换的重新编码的基-2DIF FFT流程图,其中N=16;
图10是RR2SDF流水线FFT的示例性实施例的框图,其中N=128;
图11示出RR2SDF FFT结构的示例性蝶形单元结构;
图12示出用于左乘平凡常数系数-j的RR2SDF FFT结构的替换的蝶形单元结构;
图13是替换的RR2SDF流水线FFT的框图,其中N=128;
图14是根据本发明的FFT三联体的框图;
图15是当(log2N)mod3=1时使用的FFT终接器的框图;
图16是当(log2N)mod3=2时使用的FFT终接器的框图;以及
图17是示出本发明的方法的流程图。
具体实施方式
本发明提供了用于以三联体的方式执行FFT的***和方法。本发明的一个实施例提供了基于三联体的FFT处理器,其允许在减小的半导体面积中的物理实现,这是由于与现有技术的许多***相比,硬件复杂度有所减小。
本发明的实施例通过最小化蝶形乘法复杂度同时保持简单的蝶形结构而在现有类似工作的基础上有所改进。描述了基-2频率抽取FFT处理器中基-8分解的乘法复杂度。蝶形的乘法复杂度可以是任何2的基数的幂,但在这里所计划的处理器中达到了实际极限,这是由于增加的过程控制复杂度优于使用所述技术获得的硬件增益。
通过本发明的实施例获得的硬件收益在单路径延迟反馈流水线快速傅立叶变换处理器中完成,一般地通过对FFT运算重新编码在VLSI芯片中实现。优选地使用用于从具有N个采样的x(n)的输入序列生成 X ( k , n ) = x ( n ) + - 1 k x ( x + N 2 ) 的输出映射的蝶形单元。该蝶形单元优选地采用带有2对1多路复用器的适当的简单加法器和减法器硬件。
在形成FFT三联体的三个FFT级中使用具有蝶形单元和适当大小的反馈存储器的蝶形模块。FFT级受工艺控制和时序电路支配,与来自源信号、存储器、或其它FFT级的其它数字输入通信,使得总的数据处理速率匹配或超过输入序列(也称为数字输入信号)的速率。这允许FFT处理器在没有停顿的情况下执行连续变换。
本发明的实施例的FFT处理器的周期是这样的,其数据处理速率优选地匹配或超过数字输入信号的速率,并且因此FFT能够在没有停顿的情况下执行连续变换。旋转因子分解技术被用于确定可在8的任何幂的边界处终止的复旋转系数,使得能够使用标准基-2单路径延迟反馈结构进行FFT运算,以便处理器因此能够通过切换到FFT的最终级中的基-2乘法复杂度FFT结构,来执行2的任何幂的FFT。这可以通过在4的幂长度的FFT早期终止旋转因子分解一个级并在严格2的幂长度的FFT早期终止旋转因子分解两个级来实现。下面将结合图14、15、和16,更加详细的描述对于2的幂的任何输入长度的本发明的三联体的使用。
开发本发明的方法和***的一个推动因素是减小蝶形乘法器复杂度,同时保持基-2算法的简单蝶形结构。系数重新编码方法基于旋转因子分解技术。重新编码基-2方法和***具有基-8分解的乘法复杂度,同时保持基-2分解的结构和优点。
如上所述,通过以下方程定义大小为N的DFT
X ( K ) = Σ n = 0 N x ( n ) W N kn 0≤k<N    (1)
其中WN是第N个旋转因子并由以下方程定义
WN=e-j2π/N
本发明的方法将通过将DFT方程的分治分解法的前三个步骤一起考虑而推导出。在三个分解步骤后,n和k的方程通过以下公式定义
n = N 2 n 1 + N 4 n 2 + N 8 n 3 + n 4
k=k1+2k2+4k3+8k4    (2)
用三个分解步骤将(2)中的方程应用于DFT方程(1),得到如下方程
X ( k 1 + 2 k 2 + 4 k 3 + 8 k 4 ) = Σ n 4 = 0 N 8 - 1 Σ n 3 = 0 1 Σ n 2 = 0 1 Σ n 1 = 0 1 x ( N 2 n 1 + N 4 n 2 + N 8 n 3 + n 4 ) W N ( N 2 n 1 + N 4 n 2 + N 8 n 3 + n 4 ) ( k 1 + 2 k 2 + 4 k 3 + 8 k 4 ) - - - ( 3 )
展开最里层的方程得到如下方程
X ( k 1 + 2 k 2 + 4 k 3 + 8 k 4 ) = Σ n 4 = 0 N 8 - 1 Σ n 3 = 0 1 Σ n 2 = 0 1 { B N 2 k 1 ( N 4 n 2 + N 8 n 3 + n 4 ) W N ( N 4 n 2 + N 8 n 3 + n 4 ) k 1 } W N ( N 4 n 2 + N 8 n 3 + n 4 ) ( 2 k 2 + 4 k 3 + 8 k 4 ) - - - ( 4 )
其中 表示蝶形运算并具有以下形式
B N 2 k 1 ( N 4 n 2 + N 8 n 3 + n 4 ) = x ( N 4 n 2 + N 8 n 3 + n 4 ) + ( - 1 ) k 1 x ( N 4 n 2 + N 8 n 3 + n 4 + N 2 ) - - - ( 5 )
可以使用标准分治法将(4)中的表达式进一步分解,直到获得标准基-2频率抽取FFT。然而,通过使用第二个分解步骤来减小旋转系数,可获得具有较小电路面积的两个蝶形结构。通过合并方程(4)中的两个旋转因子项并最小化,可获得以下方程
W N ( N 4 n 2 + N 8 n 3 + n 4 ) ( k 1 + 2 k 2 + 4 k 3 + 8 k 4 ) = W N 2 Nn 2 k 4 W N N ( n 2 k 3 + n 3 k 4 ) W N N 2 ( n 2 k 2 + n 3 k 3 ) W N N 4 ( n 2 k 1 + n 3 k 2 ) W N N 8 ( n 3 k 1 ) W N n 4 ( k 1 + 2 k 2 + 4 k 3 + 8 k 4 )
= ( - 1 ) ( n 2 k 2 + n 3 k 3 ) ( - j ) ( n 2 k 1 + n 3 k 2 ) W N N 8 ( n 3 k 1 ) W N n 4 ( k 1 + 2 k 2 + 4 k 3 ) W N 8 n 4 k 4 - - - - ( 6 )
其中
W N N / 8 = 2 2 - j 2 2 - - - ( 7 )
将方程(6)往回代入方程(4)并展开n2和n3的和得到
X ( k 1 + 2 k 2 + 4 k 3 + 8 k 4 ) = Σ n 4 = 0 N 8 - 1 [ Y ( k 1 , k 2 , k 3 , n 4 ) W N n 4 ( k 1 + 2 k 2 + 4 k 3 ) ] W N / 8 n 4 k 4 - - - ( 8 )
其中Y(k1,k2,k3,n4)可采用存在于方程(9)和方程(10)中的形式中的任一种。
Y ( k 1 , k 2 , k 3 , n 4 ) = { [ x ( n 4 ) + ( - 1 ) k 1 x ( n 4 + N 2 ) ] + ( - 1 ) k 2 ( ( - j ) k 1 [ x ( n 4 + N 4 ) + ( - 1 ) k 1 x ( n 4 + 3 N 4 ) ] ) } +
( - 1 ) k 3 { ( [ x ( n 4 + N 8 ) + ( - 1 ) k 1 x ( n 4 + 5 N 8 ) ] + ( - 1 ) k 2 ( ( - j ) k 1 [ x ( n 4 + 3 N 8 ) + ( - 1 ) k 1 x ( n 4 + 7 N 8 ) ] ) ) ( - j ) k 2 W N N 8 k 1 } - - - ( 9 )
对于N=16的FFT,该方程产生图8中示出的信号流程图。
可选地,重新编码的蝶形方程Y(k1,k2,k3,n4)可采用以下形式
Y ( k 1 , k 2 , k 3 , n 4 ) = { [ x ( n 4 ) + ( - 1 ) k 1 x ( n 4 + N 2 ) ] + ( - 1 ) k 2 ( ( - j ) k 1 [ x ( n 4 + N 4 ) + ( - 1 ) k 1 x ( n 4 + 3 N 4 ) ] ) } +
( - 1 ) k 3 { ( ( W N N 8 k 1 [ x ( n 4 + N 8 ) + ( - 1 ) k 1 x ( n 4 + 5 N 8 ) ] ) + ( - 1 ) k 2 ( ( - j ) k 1 W N N 8 k 1 [ x ( n 4 + 3 N 8 ) + ( - 1 ) k 1 x ( n 4 + 7 N 8 ) ] ) ) ( - j ) k 2 } - - - ( 10 )
用于该重新编码的N=16的FFT的信号流程图在图9中示出。
通过在4的幂或严格2的幂长度的FFT早期终止旋转因子分解,并继续标准基-2分解,可以建立用于任意2的幂长度的快速傅立叶变换。由于与噪声相关的原因,目前,方程(9)中的分解和图8比方程(10)中的分解和图9略微优选,这是因为带有平凡乘法的蝶形运算首先出现,然后带有WN N/8的乘法的蝶形运算。在给定噪声规格的实现中,标准分解允许小于使用交错分解获得的存储单元的第二级存储器单元。
通过将使用上述方法生成的重新编码的旋转系数映入R2SDF结构,获得重新编码的基-2单路径延迟反馈(RR2SDF)结构。图10示出N=128的RR2SDF FFT的示例性实施例。
 图10示出用于使用RR2SDF执行N=128的FFT的新型***90。采样序列从未示出的源被提供给基-2蝶形单元(BF2)102,该蝶形单元具有用于存储64个采样的反馈存储器104。本领域技术人员可以理解,选择大小为64个采样的反馈存储器以保存输入序列中的N=128个采样的一半。此外,BF2 102和反馈存储器104的组合可被称为蝶形模块100,下面描述的蝶形单元和反馈存储器的组合也能够称为蝶形模块。存储器104接收BF2 102的输出,并将其内容重新提供给BF2 102以便和随后接收的采样集合结合使用。BF2 102的输出由将输入乘以平凡系数-j的乘法器106改变。该布置被称为可选择乘法器。开关***允许选择乘以-j或乘以单位因子(unity factor),这被实现作为乘法器的旁通。本领域技术人员可以理解,乘法的作用在于简化在复平面中旋转BF2 102的输出。BF2102和乘法器106的输出被选择性地提供给第二蝶形单元BF2 108。BF2 108具有类似于连接到BF2 102的反馈存储器104的反馈存储器110。反馈存储器110的大小优选地为32个采样。BF2 108的输出被切换,并被间断地提供给乘法器112,以应用复系数WN N/8。乘法器112的输出和BF2 108的输出被切换为乘法器114的输入,其中该乘法器应用因子-j。该布置是乘法可选择乘法器,其中,任何一个因子或两个因子的单位可以选择地被应用到序列中。乘法器114的输入和输出被切换为BF2 116的输入,该BF2具有16个采样的反馈存储器118。WN N/8和-j的选择性应用用来仅在适当时在复平面中执行相位旋转。BF2 116具有大小为存储16个采样的反馈存储器118。这完成了第一三联体92。BF2 116的输出被提供到乘法器120,该乘法器将输出乘以W1(n)的旋转因子。BF2 116的输出在通过旋转因子相位旋转后作为输入被提供到BF2 122,该BF2具有大小为保存8个采样的反馈存储器124。BF2 122的输出被乘法器126选择性地乘以-j。BF2 122和乘法器126的输出被切换为BF2 128的输入,该BF2具有大小优选地为保存4个采样的反馈存储器130。BF 108后面的乘法可选择乘法器布置类似地在BF2 128后面应用,其中前面的乘法器130应用WN N/8,并且第二个乘法器132应用-j。乘法器132的输入和输出被选择性地切换为BF2 134的输入,该BF2具有大小为存储2个采样的反馈存储器136。BF2 134的输出被提供到乘法器138,该乘法器应用W2(n)的旋转因子。这表明第二三联体94的完成。BF2 134的输出在乘法器138中相位旋转后被提供给BF2 140,该BF2具有大小为存储一个采样的反馈存储器142。BF2 140的输出是输入序列的完整FFT。本领域技术人员将会理解,上述结构被描述为具有两个FFT三联体的流水线FFT处理器。第一三联体92是第一级BF2 102、第二级BF2 108、和第三级BF2 116以及相应的反馈存储器及旋转因子单元或乘法器的组合。第二三联体94是对应于BF2 122、BF2 128、和BF2 134的模块以及相应的反馈存储器和旋转因子单元或乘法器的组合。FFT处理器由BF2140和其形成FFT终接器96的相应的反馈存储器终止。本领域技术人员将理解,虽然反馈存储器大小存在差异,但前两个三联体基本类似。
本实施方式优选地使用执行以下方程描述的蝶形运算的蝶形单元,该蝶形运算可以使用将在下文中详细描述的图11示出的蝶形单元实现。
X ( k , n ) = x ( n ) + ( - 1 ) k x ( n + N 2 )
在前N/2s个周期中(其中,s是从1开始的蝶形级数目),蝶形单元通过旁通加法器和减法器硬件而在其反馈存储器中收集数据。这通过将选择信号Sn设置为零来实现。在随后的N/2s个周期中,蝶形单元对输入数据和在前N/2s个周期中存储在反馈寄存器中的数据执行2点FFT。蝶形单元的第一输出X(n)被发送到级乘法器,其后可以是单位乘法器(即,线)、WN N/8的常数乘法、或复旋转系数乘法器。乘法器的选择通过过程控制被编程。蝶形单元的第二输出X(n+N/2)被送回反馈存储器,以被延迟N/2s个周期。在被延迟后,第二输出X(n+N/2)被发送到级乘法器。重复该周期直到已经处理所有N个数据点。完整FFT输出将使最后单元处于逆位次序。由于FFT处理器的流水线本质,可以在没有停顿的情况下连续执行多个FFT。
图11通过出示例性基-2蝶形单元148的逻辑布局将其示出。该示例性蝶形单元148的运算对应于上述蝶形运算的方法。超大规模集成电路(VLSI)设计领域、数字信号处理器(DSP)设计领域、和多个相关领域的技术人员将易于理解,这可以使用专用硬件、可编程门阵列实现,或作为在通用或专用处理器芯片上执行的软件实现。图10的反馈存储器被用于允许存储部分蝶形运算以便和随后的采样一起使用。节点150接收第n个采样的实部xr(n),同时节点154接收第n个采样的虚部xi(n)。节点158接收第(n+N/2)个采样的实部xr(n+N/2),同时节点160接收第(n+N/2)个采样的虚部xi(n+N/2)。加法器152将节点150和节点158处的值(对应于两个采样的实部)相加,并将和传到节点150a。加法器156将节点154和节点162处的值(对应于两个采样的虚部)相加,并将和传到节点154a。加法器160将节点150的值和节点158的负值相加,以获得两个采样的实值的差。实值差被传到节点158a。加法器164将节点154的值和节点162的负值相加,以获得两个采样的虚值的差。虚值差被传到节点162a。本领域技术人员将理解,在不偏离本发明的情况下,加法器160和164起到减法器的作用并能够这样执行。蝶形单元148的输出由同步信号Sn控制,该同步信号控制每个输出处的开关。如上所述,根据开关信号确定Xr(n),以在节点150和节点150a处的值之间选择。如上所述,根据开关信号确定Xi(n),以在节点154和节点154a处的值之间选择。如上所述,根据开关信号确定Xr(n+N/2),以在节点158和节点158a处的值之间选择。如上所述,根据开关信号确定Xi(n+N/2),以在节点162和节点162a处的值之间选择。
可以将图11的蝶形运算左乘以常数系数(-j)k从而产生以下方程,其示例性执行方式在图12中示出。
X ( k 1 , k 2 , n ) = ( - j ) k 1 ( x ( n ) + ( - 1 ) k 2 x ( n + N 2 ) )
在蝶形单元中,在前N/2s个周期(其中,s是从1开始的蝶形级数目),FFT通过旁通蝶形单元加法器和减法器硬件而在反馈存储器中收集数据。这通过在2对1输出多路复用器上将选择信号Sn设置为0来实现。在随后的N/2s个周期,蝶形单元对输入数据和在前N/2s个周期中存储在反馈寄存器中的数据执行2点FFT。对于要求左乘以-j的FFT级,该乘法是平凡运算,其要求通过蝶形单元交换输入信号的实部和虚部并且在虚数据路径倒置加一减指向。对于前3N/2s+2个输入执行单位左乘,并且对于最后N/2s+2个输入执行-j复乘。蝶形单元的第一输出X(n)被发送到级乘法器,其后可以是单位乘法器(即,线)、WN N/8的常数乘法、或复旋转系数乘法器,并且该选择通过过程控制被编程。蝶形单元的第二输出X(n+N/2)被送回反馈存储器以被延迟N/2s个周期。在延迟后,第二输出X(n+N/2)被发送到级乘法器。完整FFT输出将使最后单元处于逆位次序。由于FFT处理器的流水线本质,可以在不停顿的情况下连续执行多个FFT。
图12通过示出示例性左乘基-2蝶形单元170的逻辑布局将其示出。该示例性左乘蝶形单元170的运算对应于上述蝶形运算的方法。如同前面一样,本领域技术人员可以理解,在多个平台上执行该示例性蝶形。节点172接收第n个采样的实部xr(n),同时节点176接收第n个采样的虚部xi(n)。如由控制信号确定的那样,节点180和184接收第(n+N/2)个采样的实部xr(n+N/2)和虚部xi(n+N/2)。控制信号还确定在这些节点的值到达加法器之前,对其应用实-虚交换。控制信号由接收交换信号Sn-1和Sn作为其输入的逻辑与门188提供。如将在下文描述的,Sn也用于在加法器之后的值之间切换。加法器174将节点172和180的值相加,并将和传到节点172a。如由188的控制信号确定的那样,加法器178将节点176的值和节点184的值或节点184的负值相加。这些值的和或差被传到节点176a。加法器182将节点172的值和节点180的负值相加,以获得两个节点的值的差。值的差被传到节点180a。如由188的控制信号确定的那样,加法器186将节点176的值和节点184的值或节点184的负值相加。值的和或差被传到节点184a。本领域技术人员将理解,加法器182起到减法器的作用,并且加法器178和186分别左乘-i起到加法器-减法器块的作用,并能够在不偏离本发明的情况下实施。蝶形单元170的输出由同步信号Sn控制,同步信号控制每个输出的开关。如上所述,根据开关信号确定Xr(n),以在节点172和172a处的值之间选择。如上所述,根据开关信号确定Xi(n),以在节点176和176a处的值之间选择。如上所述,根据开关信号确定Xr(n+N/2),以在节点180和180a处的值之间选择。如上所述,根据开关信号确定Xi(n+N/2),以在节点184和184a处的值之间选择。本领域技术人员可以理解,由该蝶形单元执行的左乘被选择性的应用,并允许选择性的平凡乘法和邻近蝶形单元的集成,该集成可在实施尺寸和复杂度方面具有优势。
图13示出用于使用RR2SDF实现FFT的新型***200,其中N=128。采样序列从未示出的源被提供到基-2蝶形单元(BF2)202,该蝶形单元具有用于存储64个采样的反馈存储器204。存储器接收BF2 202的输出,并将其内容重新提供给BF2 202,以便与随后接收的采样集合结合使用。BF2 202的输出被提供给乘法可选择乘法器,其中,其被间歇地提供给乘法器112以应用复系数WN N/8。乘法器112的输出和BF2 202的输出被切换为乘法器114的输入,该乘法器应用平凡系数-j。乘法器114的输入和输出被切换为BF2 208的输入。BF2 208具有与连接到BF2 202的反馈存储器204类似的反馈存储器210。反馈存储器210的大小优选地为保存32个采样。BF2 208的输出被提供给可选择乘法器,该实施例中是乘法器106,用于应用-j。BF2 208和乘法器106的输出被提供作为BF2 216的输入,该BF2具有16个采样反馈存储器218。BF2 216的输出被提供给乘法器120,该乘法器将输出乘以W1(n)的旋转因子。至此所述的***形成图13的***的第一三联体92a。本领域技术人员将理解,第一三联体92a的结构在构造上类似于图10示出的实施例的第一三联体92的结构。在图10和13的第一三联体92和92a中,BF2单元保持类似的安排,但旋转因子的应用被重新排列,因此在图10的实施例中的前两个BF2单元之间应用的旋转因子被应用在图13的实施例中第二和第三BF2之间,反之亦然。在***的第二三联体94a中,乘法器120的输出被用作BF2 222的输入,该BF2具有大小为保存8个采样的反馈存储器224。BF2 222的输出被提供给乘法器130和132的乘法可选择乘法器排列,其中,前面的乘法器130应用复系数WN N/8,而第二个乘法器132应用平凡系数-j。乘法器132的输入和输出被切换为BF2 228的输入,该BF2具有大小为存储4个采样的反馈存储器229。BF2 228的输出被应用平凡系数-j的乘法器126改变。BF2 228和乘法器126的输出被切换为BF2 234的输入,该BF2具有大小优选地为保存2个采样的反馈存储器236。BF2 234的输出被提供给乘法器138,其中,其被旋转因子W2(n)相位旋转。这形成了***中第二三联体。乘法器138的输出被提供给包括BF2 240的FFT终接器96a,该BF2具有大小为存储一个采样的反馈存储器242。BF2 240的输出是输入序列的完整FFT。
上面参考图10和13描述的实施方式采用乘法器、可选择乘法器、和乘法可选择乘法器。乘法器接收两个输入并提供其输入的产物作为输出。在图10和13的示例性实施例中使用乘法器,用于旋转因子的应用。可选择乘法器是乘法器和开关的组合,这样布置使得乘法器能够被旁通。在图10和13的示例性实施例中使用可选择乘法器,用于在两个蝶形模块之间的平凡系数-j的应用以及复系数WN N/8的应用。乘法可选择乘法器是串联的两个或更多个可选择乘法的排列。串联的可选择乘法器的布置允许没有、任一个、或两个乘法器将被旁通。在图10和13的示例性实施例中使用乘法可选择乘法器,用于平凡系数-j、复系数WN N/8、-j和WN N/8、或单位因子的应用。可选择乘法器或乘法可选择乘法器可以用于通过旁通乘法器来选择性地应用单位乘法。
注意,两个RR2SDF分解之间的蝶形结构是相同的,然而,WN N/8的平凡乘法的位置是不同的。当试图满足噪声规格时,第二和第五缓冲器的存储器缓冲器需求在替换的RR2SDF分解中将更大,超过前面示出的标准分解(standard decomposition)。这在第二缓冲器的情况下尤其重要,其中,第二缓冲器具有N/4个复合存储器存储元件。
用于前面讨论的流水线处理器FFT结构的复数乘法器、加法器、和存储器单元的数量的比较在表1中示出。在该表中,所有值已经使用可应用的基-4算法列出,以易于基-2、基-4、和基-8结构的比较。
  乘法器#   加法器#   存储器大小
  R2MDC   2(log4N-1)   4log4N   3N/2-2
  R4MDC   3(log4N-1)   8log4N   5N/2-4
  R2SDF   2(log4N-1)   4log4N   N-1
  R4SDF   log4N-1   8log4N   N-1
  R4SDC   log4N-1   3log4N   2N-2
  R22SDF   log4N-1   4log4N   N-1
  R23SDF   log4N-1   4log4N   N-1
  R2SDP   log4N-1   2log4N   N-1
  R2SDP(可用状态) log4N-1 2log4N 2N-2
  RR2SDF   log4N-1   4log4N   N-1
表1-用于前面讨论的流水线处理器FFT结构的复数乘法器、加法器、和存储器单元的数量的比较
在表1中,RR2SDF结构的性能看起来似乎与R22SDF结构相同。然而,实际上,同传统R22SDF结构中的log8N-1个复数乘法器相比,RR2SDF结构通常仅具有log8N-1个复数乘法器(每个复数乘法器需要4个实乘法器和2个实加法器)和log8N-1个常数复数乘法器(每个运算需要2个实常数乘法器和2个实加法器)。RR2SDF和R23SDF结构具有同等数量的算子(operator),然而,与R23SDF结构不同,RR2SDF结构不局限于8的幂的FFT长度,而是能够是所有2的幂的FFT长度。R23SDF结构需要在不必存在于RR2SDF结构中的蝶形单元中有额外的寄存级。对于给定的噪声性能规格,标准RR2SDF结构中的常数乘法的次序允许用于第二级存储器的更好的实用硬件性能,优于替换的RR2SDF或R23SDF结构。
图14示出本发明的三联体。蝶形模块100a包括蝶形单元248和反馈存储器250。存储器250的大小优选地为保存N/2个采样,其中,三联体的序列长度是N(2的幂)。蝶形模块100a向可选择乘法器256提供2点FFT输出,该乘法器选择性地将100a的2点输出乘以复系数-j。可选择乘法器256的输出被提供到蝶形模块100b,该蝶形模块具有蝶形单元248和大小为保存N/4个采样的存储器252。蝶形模块100b对由可选择乘法器256提供的采样序列提供2点FFT输出。蝶形模块100b的2点FFT输出被提供到乘法可选择乘法器258,其选择性地将蝶形模块100b的输出适当的乘以WN N/8和/或-j。可选择乘法器258的最终输出被提供给蝶形模块100c,该蝶形模块具有蝶形单元248和大小为保存N/8个采样的存储器254。最终2点FFT输出被提供给乘法器,其将适当的旋转因子W1(n)应用于输出。
本领域技术人员将理解,本发明的三联体可与其它三联体串联使用,以设计用于任何8的幂长度的输入串的FFT处理器。本发明的FFT处理器需要最小数量的蝶形运算用于给定长度的序列。对于对长度N的序列的FFT运算,有三个不同的FFT终止条件,其允许执行任何2的幂长度的FFT。这三个终止条件与输入序列的长度N有关,并可通过对(log2N)mod3求值快速确定。当(log2N)mod3=0时,FFT不需要FFT终接器,因为FFT三联体系列已经执行了所需的蝶形运算数目。当(log2N)mod3=1时,除了一个所需的蝶形运算外,三联体已经执行了所需的所有蝶形运算。因此,当(log2N)mod3=1时,FFT处理器需要如图15所示的具有单个终止蝶形的FFT终接器。(log2N)mod3=1的终接器260包括具有大小为保存单个采样的存储器260的蝶形单元262。当(log2N)mod3=2时,除了两个所需的蝶形运算,三联体已经执行了所有所需的所有蝶形运算。因此,当(log2N)mod3=2时,FFT要求如图16所示的FFT终接器。(log2N)mod3=2的终接器包括具有大小为保存2个采样的存储器270的蝶形单元268。蝶形单元268的输出被选择性地由乘法器272做乘法,该乘法器选择性地应用-j。可选择乘法器272的输出被提供给蝶形单元274,该蝶形单元连接至大小为保存1个采样的反馈存储器276。当放置在适当的三联体系列之后时,终接器260和266终止FFT处理器,该FFT处理器允许用于任何输入序列长度N的处理器设计,其中N是2的幂。
图17是示出本发明的方法的流程图。在步骤300中,接收N个采样的输入序列。步骤306、308、和310对应于第一蝶形模块的运算,并形成步骤302。在步骤306中,前一半采样被缓冲。在步骤308中,缓冲的采样结合无缓冲的新近到达的采样成对使用,以生成2点FFT。为每对采样重复成对的生成2点FFT。在步骤310中,每个2点FFT序列被选择性地乘以复值被乘数。
步骤312对应于三联体中的第二蝶形模块的运算。在步骤314,四分之一的采样被缓冲。当缓冲N/4个采样时,在步骤316中,缓冲的采样和新近到达的采样被用于生成新的成对2点FFT序列。重复步骤316和314,直到序列中的所有N个采样被适当地处理。在步骤318中,步骤316的成对FFT序列被选择性地乘以复值被乘数。
步骤320对应于三联体中的第三蝶形模块的运算。在步骤322,由步骤318提供的采样的八分之一被缓冲。在步骤324中,基于缓冲的采样和新近到达的采样生成2点FFT。连续的生成FFT序列用于存储器中所有的配对,并且重复步骤322和324,直到所有N个采样被处理。在步骤326中,步骤324的结果被选择性地乘以复值旋转因子。
在步骤328中,根据(log2N)mod3的关系确定的适当的终止序列然后被应用到三联体中的第三蝶形模块的输出。
本发明的方法和***允许被执行用于FFT处理器的简化设计。本发明的FFT处理器利用FFT三联体和序列终接器(易于确定的终止元件)的重复结构。FFT三联体和适当的终接器的重复使用允许本发明的FFT处理器的可延伸性以适用于任意长度N的输入序列,其中N=2Q,且Q是非负整数。如上面指出的那样,本发明的结构提供了不大于现有技术解的实现,同时,提供对长度是2的幂的所有序列的可应用性,这与由现有技术的R23SDF实现所使用的8的幂相对。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (22)

1.一种流水线快速傅立叶变换(FFT)处理器,用于接收输入序列,所述处理器包括:
至少一个FFT三联体,具有通过可选择乘法器串联的第一、第二、和第三蝶形模块,所述可选择乘法器用于对邻近蝶形模块的输出序列选择性地执行平凡系数乘法和复系数乘法,所述至少一个FFT三联体中的每个在旋转因子乘法器中终止,所述旋转因子乘法器用于对所述各个三联体的所述第三蝶形模块的输出应用旋转因子,所述至少一个FFT三联体用于接收所述输入序列并用于输出表示所述输入序列的FFT的最终输出序列。
2.根据权利要求1所述的处理器,其中,每个蝶形模块包括基-2蝶形单元和反馈存储器。
3.根据权利要求2所述的处理器,其中,对于N个采样的输入序列,每个蝶形模块的输出序列X(k,n)都等于 x ( n ) + ( - 1 ) k x ( n + N 2 ) .
4.根据权利要求1至3中的任一项所述的处理器,其中,至少一个用于执行平凡系数乘法的所述可选择乘法器被集成到邻近蝶形模块中。
5.根据权利要求1至4中的任一项所述的处理器,其中,所述可选择乘法器的每个都包括乘法器和用于旁通所述乘法器的开关。
6.根据权利要求1至5中的任一项所述的处理器,其中,所述第一和第二蝶形模块通过用于选择性地应用平凡系数乘法的可选择乘法器连接。
7.根据权利要求6所述的处理器,其中,所述第二和第三蝶形模块通过用于执行平凡系数乘法的可选择乘法器和用于执行WN N/8的复系数乘法的可选择乘法器连接。
8.根据权利要求2所述的处理器,其中,对于具有N个采样的输入序列,用于所述第一、第二、和第三蝶形模块的所述反馈存储器分别保存N/2、N/4、和N/8个采样。
9.根据权利要求1至8中的任一项所述的处理器,其中,所述输入序列的长度为N,其中(log2N)mod3=1,所述处理器具有串联的多个FFT三联体并进一步包括FFT终接器,所述FFT终接器具有蝶形单元和大小为保存单个采样的相应的存储器,所述FFT终接器用于接收来自所述最终旋转因子乘法器的所述输出序列,并用于对所述接收的输出序列执行蝶形运算,以提供所述输入序列的FFT。
10.根据权利要求1至9中的任一项所述的处理器,其中,所述输入序列的长度为N,其中(log2N)mod3=2,所述处理器具有串联的多个FFT三联体并进一步包括FFT终接器,所述FFT终接器具有第一和第二蝶形单元,所述蝶形单元具有大小分别为保存两个采样和单个采样的相应的存储器,所述第一蝶形单元通过可选择乘法器连接至所述第二蝶形单元,所述可选择乘法器用于选择性地将所述第一蝶形单元的输出乘以-j,所述FFT终接器用于接收来自所述最终旋转因子乘法器的所述输出序列,并用于对所述接收的输出序列执行一对蝶形运算,以提供所述输入序列的FFT。
11.根据权利要求1至10中的任一项所述的处理器,其中,所述旋转因子乘法器是协调旋转数字计算机旋转器。
12.一种流水线快速傅立叶变换(FFT)处理器,用于接收N个采样的输入序列,所述处理器包括:
至少一个FFT三联体,所述三联体具有:
第一FFT级,具有:第一级基-2蝶形单元,所述第一级基-2蝶形单元用于接收所述输入序列并用于根据对所述输入序列执行的蝶形运算提供第一级输出序列,所述第一级基-2蝶形单元具有连接到其上的第一反馈存储器;
第二FFT级,具有:可选择乘法器,用于选择性地将所述第一级输出序列乘以平凡系数;以及第二级基-2蝶形单元,用于根据对所述可选择乘法器的输出执行的所述蝶形运算提供第二级输出序列,所述第二级基-2蝶形单元具有连接到其上的第二反馈存储器;以及
第三FFT级,具有:乘法可选择乘法器,所述乘法可选择乘法器用于选择性地将所述第二级输出序列乘以所述平凡系数和复系数中的至少一个;第三级基-2蝶形单元,用于根据对所述乘法可选择乘法器的输出执行的所述蝶形运算提供蝶形输出,所述第三级基-2蝶形单元具有连接到其上的第三反馈存储器;以及乘法器,用于将所述蝶形输出乘以旋转因子,以提供对应于所述输入序列的FFT的输出序列。
13.一种流水线快速傅立叶变换(FFT)处理器,用于接收N个采样的输入序列,所述处理器包括:
至少一个FFT三联体,所述三联体具有:
第一FFT级,具有:第一级基-2蝶形单元,所述第一级基-2蝶形单元用于接收所述输入序列并用于根据对所述输入序列执行的蝶形运算提供第一级输出序列,所述第一级基-2蝶形单元具有连接到其上的第一反馈存储器;
第二FFT级,具有:乘法可选择乘法器,用于选择性地将所述第一级输出序列乘以所述平凡系数和常数复系数中的至少一个;以及第二级基-2蝶形单元,用于根据对所述可选择乘法器的输出执行的所述蝶形运算提供第二级输出序列,所述第二级基-2蝶形单元具有连接到其上的第二反馈存储器;以及
第三FFT级,具有:可选择乘法器,用于选择性地将所述第二级输出序列乘以平凡系数;第三级基-2蝶形单元,用于根据对所述可选择乘法器的输出执行的所述蝶形运算提供蝶形输出,所述第三级基-2蝶形单元具有连接到其上的第三反馈存储器;以及乘法器,用于将所述蝶形输出乘以旋转因子,以提供对应于所述输入序列的FFT的输出序列。
14.根据权利要求12和13中的任一项所述的FFT处理器,其中,所述第一、第二、和第三级输出序列X(k,n)中的每个都等于 x ( n ) + ( - 1 ) k x ( n + N 2 ) .
15.根据权利要求12至14中的任一项所述的FFT处理器,其中,所述蝶形单元的至少一个包括集成的左乘函数,用于对接收的输入序列应用平凡系数乘法。
16.根据权利要求12至15中的任一项所述的FFT处理器,进一步包括根据所述输入序列的长度N确定的FFT终接器。
17.根据权利要求16所述的FFT处理器,其中,所述FFT终接器包括具有大小为存储单个采样的存储器的蝶形模块,所述蝶形模块用于接收所述第三FFT级乘法器的输出作为终接器输入,并用于对所述终接器输入执行蝶形运算,以提供所述N个采样的输入序列的FFT。
18.根据权利要求16所述的FFT处理器,其中,所述FFT终接器包括具有大小为存储一对采样的存储器的第一蝶形模块,所述第一蝶形模块用于接收所述第三级乘法器的输出作为终接器输入,并用于对所述终接器输入执行蝶形运算;以及第二蝶形模块,通过可选择乘法器连接至所述终接器的所述第一蝶形模块,所述可选择乘法器用于选择性地将所述终接器的所述第一蝶形模块的输出乘以-j,所述第二蝶形模块具有大小为存储单个采样的存储器,并用于对所述终接器的所述第一蝶形模块的选择性乘法输出执行蝶形运算,以提供所述输出序列的FFT。
19.一种用于在具有蝶形模块的FFT处理器中对N个采样的序列执行FFT的方法,所述方法包括:
对所有整数1≤x≤log2N,重复以下步骤
从具有N个采样的序列一次接收并缓冲
Figure A2004800200530006C1
个采样;
使用第n个和第
Figure A2004800200530006C2
个采样生成2点FFT;
选择性地将所述生成的2点FFT序列乘以复值被乘数;
使用根据(log2N)mod3的关系确定的终止序列终止所述FFT。
20.根据权利要求19所述的方法,其中,所述复值被乘数从包括1、-j、 和复旋转因子系数的列表中选择。
21.根据权利要求19和20中的任一项所述的方法,其中,(log2N)mod3=1并且终止所述FFT的步骤包括:缓冲从所述最终选择性乘法接收的采样,并使用所缓冲的采样和所述序列中随后采样执行2点FFT,以获得N个采样的序列的FFT。
22.根据权利要求19至21中的任一项所述的方法,其中,(log2N)mod3=2并且终止所述FFT的步骤包括:
缓冲从所述最终选择性乘法接收的一对采样,并且使用所述两个缓冲的采样和所述序列中的两个随后采样执行成对的2点FFT;
选择性地将所述成对的2点FFT的结果乘以-j;以及缓冲从所述成对的2点FFT的所述选择性乘法接收的采样,并且使用所述缓冲的采样和所述序列中随后采样执行2点FFT,以获得所述N个采样的序列的FFT。
CN 200480020053 2003-07-18 2004-06-21 重新编码的基-2流水线fft处理器 Pending CN1823333A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US48797503P 2003-07-18 2003-07-18
US60/487,975 2003-07-18
US10/760,379 2004-01-21

Publications (1)

Publication Number Publication Date
CN1823333A true CN1823333A (zh) 2006-08-23

Family

ID=36923842

Family Applications (1)

Application Number Title Priority Date Filing Date
CN 200480020053 Pending CN1823333A (zh) 2003-07-18 2004-06-21 重新编码的基-2流水线fft处理器

Country Status (1)

Country Link
CN (1) CN1823333A (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101154215B (zh) * 2006-09-27 2011-08-24 昆山杰得微电子有限公司 基23频域取样快速傅立叶变换的硬件结构
CN101290613B (zh) * 2007-04-16 2011-10-05 卓胜微电子(上海)有限公司 Fft处理器的数据存储***和方法
CN101571849B (zh) * 2008-05-04 2012-01-25 中兴通讯股份有限公司 一种快速傅立叶变换处理器及其方法
CN101499987B (zh) * 2008-02-02 2012-03-14 卓胜微电子(上海)有限公司 低复杂度通用时频变换实现方法及装置
CN105718424A (zh) * 2016-01-26 2016-06-29 北京空间飞行器总体设计部 一种并行快速傅立叶变换处理方法
CN112256236A (zh) * 2020-10-30 2021-01-22 东南大学 一种基于近似定常数复数乘法器的fft电路及实现方法
JP2022115959A (ja) * 2017-04-11 2022-08-09 ザ ガバニング カウンシル オブ ザ ユニバーシティ オブ トロント 準同型暗号下での安全な計算を加速するための準同型処理ユニット(hpu)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101154215B (zh) * 2006-09-27 2011-08-24 昆山杰得微电子有限公司 基23频域取样快速傅立叶变换的硬件结构
CN101290613B (zh) * 2007-04-16 2011-10-05 卓胜微电子(上海)有限公司 Fft处理器的数据存储***和方法
CN101499987B (zh) * 2008-02-02 2012-03-14 卓胜微电子(上海)有限公司 低复杂度通用时频变换实现方法及装置
CN101571849B (zh) * 2008-05-04 2012-01-25 中兴通讯股份有限公司 一种快速傅立叶变换处理器及其方法
CN105718424A (zh) * 2016-01-26 2016-06-29 北京空间飞行器总体设计部 一种并行快速傅立叶变换处理方法
CN105718424B (zh) * 2016-01-26 2018-11-02 北京空间飞行器总体设计部 一种并行快速傅立叶变换处理方法
JP2022115959A (ja) * 2017-04-11 2022-08-09 ザ ガバニング カウンシル オブ ザ ユニバーシティ オブ トロント 準同型暗号下での安全な計算を加速するための準同型処理ユニット(hpu)
CN112256236A (zh) * 2020-10-30 2021-01-22 东南大学 一种基于近似定常数复数乘法器的fft电路及实现方法

Similar Documents

Publication Publication Date Title
Jung et al. New efficient FFT algorithm and pipeline implementation results for OFDM/DMT applications
Lin et al. A dynamic scaling FFT processor for DVB-T applications
Lin et al. Low-power variable-length fast Fourier transform processor
CN1109991C (zh) 流水线式快速傅里叶变换处理器
Chang et al. On the fixed-point accuracy analysis of FFT algorithms
US20060010188A1 (en) Method of and apparatus for implementing fast orthogonal transforms of variable size
Kuo et al. VLSI design of a variable-length FFT/IFFT processor for OFDM-based communication systems
JP2009535678A (ja) パイプラインfftのアーキテクチャおよび方法
WO2005008516A2 (en) Recoded radix-2 pipelined fft processor
Garrido et al. Hardware architectures for the fast Fourier transform
CN100346336C (zh) 使用主要因素算法的最佳离散傅利叶转换方法及装置
Park et al. Fixed-point analysis and parameter selections of MSR-CORDIC with applications to FFT designs
Ismail et al. Design of pipelined radix-2, 4 and 8 based multipath delay commutator (MDC) FFT
Feng et al. Design of an area-effcient million-bit integer multiplier using double modulus NTT
EP2144172A1 (en) Computation module to compute a multi radix butterfly to be used in DTF computation
CN1823333A (zh) 重新编码的基-2流水线fft处理器
Chang et al. An OFDM-specified lossless FFT architecture
JP5486226B2 (ja) ルリタニアマッピングを用いるpfaアルゴリズムに従って種々のサイズのdftを計算する装置及び方法
CN100547580C (zh) 用于实现可变大小的快速正交变换的方法和装置
Jang et al. Area-efficient scheduling scheme based FFT processor for various OFDM systems
JP2010016831A (ja) 種々のサイズを有するdftを計算する装置
US6460061B1 (en) 2-dimensional discrete cosine transform using a polynomial transform
Singhal et al. Design and implementation of fast fourier transform (FFT) using VHDL code
Szedo et al. High-performance FFT processing using reconfigurable logic
More et al. FPGA implementation of FFT processor using vedic algorithm

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication