所有提交的电磁系统将被重定向到在线手稿提交系统。作者请直接提交文章在线手稿提交系统各自的杂志。

设计和64点FFT处理器的FPGA实现

g·克里希纳饶1,Bighneswar熊猫2,T.Sridhar3
  1. M。技术二年级,VLSI&ES ECE的部门,吉塔,Piridi, Bobbili, Vizianagaram(经销),印度安得拉邦
  2. 助理教授,部门的ECE、吉塔Piridi, Bobbili, Vizianagaram(经销),印度安得拉邦
  3. 副教授,部门的ECE、吉塔Piridi, Bobbili, Vizianagaram(经销),印度安得拉邦
相关文章Pubmed,谷歌学者

访问更多的相关文章国际先进研究期刊》的研究在电子、电子、仪表工程

文摘

在本文中,我们的目标是对细节的知识和技术,可以帮助电子电路的设计开发和优化自己的IP在合理的时间。出于这个原因,我们建议优化现有的低成本FPGA实现FFT算法。为此,我们使用短长度结构来获得更高的长度转换。事实上,我们可以通过使用log4获得VLSI结构(N) 4点FFT算法构造N-point FFT比(N / 8)日志(N) 8“FFT算法。此外,两种技术用于产生与VLSI架构。首先,修改radix-4 FFT处理一个样本每个时钟周期。其次,内存是共享的,分为4部分,以降低资源消耗和提高整体延迟

关键字

FPGA、8-pointFFT 4-pointFFT、空间分布、时间分布。

介绍

离散傅里叶变换(DFT)是最重要的工具之一,在数字信号处理应用程序中使用。它已经被广泛应用于数字通信系统,如雷达、超宽带(UWB)接收器和许多其他应用程序。计算这个操作计算要求很高,需要大量的操作(N2复杂的乘法和N (N - 1)复杂的添加)。这使得计算和实现非常难以实现。减少操作的一个快速算法引入Cooley-Tukey[1],快速傅里叶变换(FFT)。后者减少复杂性从O (N2) O (NlogN)。其他研究人员,提出众多技术asradix-4[2],分裂基数[3],以避免radix-2structure为了减少FFT算法的复杂性。这些架构是基于Decimation-in时间(说)或Decimation-in-Frequency(下降)。几个设计基于这些架构提出了为了实现这些算法。另一方面,越来越多的兴趣,现场可编程门阵列(fpga),因为他们的潜力大大加速计算密集的fft算法等算法。不幸的是,高阶FFT几乎进入高成本fpga实现。例如,它是不可能来实例化S12-point FFT Xilinx的斯巴达式的3家IP核心来实现它。会见这一挑战,我们提出本文VLSI架构允许高阶FFT的实现低成本fpga。 The remainder of this paper is organized as follows. In section II, definition and two kinds of distributions (spatial and temporal) are introduced. Section III is devoted to the proposed low area architecture. We detail the principle and the structure of 64-point FFT which may be generalized to higher orders. Then, techniques to save area are illustrated. Section IV presents the experimental results and comparisons with IP core and prior works quoted in the literature. Finally, we summarize and conclude this paper in section V.

背景

对于一个给定的序列x n的样本,DFT频率成分x (k)可以定义为
图像
图像
方程(3)意味着它可以实现N-point FFT首先分解成一个点,一个Tpoint FFT N = M。T,然后结合。来说明这个例子中,我们以64点为案例研究之后,我们可以推广到高阶。执行64点FFT我们可以选择M = T = 8。方程(3)
图像
方程(4)意味着可以表达64点FFT 8点FFT的二维结构。高阶FFT处理元素根据方程(3)8。因此,高长度取决于8“性能的性能。选择8点FFT结构变得至关重要。在这部作品中,8点FFT架构使用分割基数说因为它的低数量的算术运算。

b .空间分布

64点FFT的一个可能的实现提出了信号流图(SFG)图1。它可以观察到,计算64点FFT是由五个层次。第一层是由两个串行并行块用于存储数据的实部和虚部提出了串行的方式。二楼由8 8块FFT基数说分手。第三块包含49个复杂因子用于计算非琐碎复杂的乘法。第四是类似于第二个。最后一个层次是由两个平行连续块给数据串行的方式。在第64届时钟周期所有输入数据都可以进行。5个时钟周期后,8点FFT输出可用和乘法可以开始。块乘数需要2个时钟周期执行49复杂的乘法。
64点FFT输出可用5时钟周期最后阶段后8点FFT变换。因此,这个体系结构的主要优势是高速度和低延迟。然而,这个体系结构的实现FPGA高端内存需求,大量的复杂的乘数和复杂的蛇。因此,这种架构不适合低成本FPGA斯巴达等3家。

c .时间分布

另一个可能实现64点FFT见图2。根据这个结构,第一阶段由一个8块FFT实现而不是8如无花果。1。同样,第三个阶段是由只有一块8点FFT而不是8。因此,图2中的控制单元同步中扮演一个重要的角色
这种架构执行FFT管道。首先,输入数据是串行的方式。执行计算的输入数据并行。这是意识到通过S2P块实现通过延迟寄存器。另一方面,控制单元管理输入数据地址。第一个8输入数据格式的地址8 j, j E {O, 1,…7}。这些数据在第56时钟周期已经开始的第一阶段8点FFT。5个时钟周期后,8点FFT输出可用和乘法可以开始。同样,在第57届时钟周期、数据索引8 j + 1将转换后的第一个8“FFT, 7个时钟周期,数据结果将可以在乘法器的输出。 And so one until the last result of multiplier output which will be available at the 71st clock cycle. These results are stored on the fly on 64-complex data memory. Likewise, the second 8-point FFT stage will proceed the stored data to compute 64-point FFT.
图像

d .妥协分析

一些结论与本节所吸引。首先,分解高8点FFT算法FFT长度可能在空间或时间分布。在吞吐量方面,这两个分布呈现一个复杂的输出每个时钟周期自p2要序列化的数据组件。另一方面,代表了时间的延迟,第一个结果是相同的。事实上,对于一个给定的N = 8 N, N是数量的阶段,这两种架构的延迟可能被表示为L (N) = N + 7 log8 (N - 2)。这两个发行版之间的主要区别是消费区。显然,第二个建筑消耗平均7次不如第一个区域。8点FFT模块数量从16 - 2和重要的乘法器的数量从49 - 7。此外,图2中使用的复杂的数据内存可以避免存储S2P的乘法器输出寄存器。事实上,由于输入数据地址8 j, 8 j + l . .接着一个可以使用这些地址存储乘法器输出。
明确,主要缺点高FFT长度在8点FFT算法的分解与8点FFT的硬件消耗资源。合成结果分裂的基数说8点FFT的描述显示的比例占据片在Spartan3E XC3S500约为30%。因此,设计一个高阶FFT, FPGA资源将会溢出。另一个缺点是限制数量的输入与N = 8 N以来只8“FFT元素。要解决这个问题我们通过四点取代8“FFT使用radix-4 FFT算法。更是印证了这一选择的合成结果基数4片的职业就是约2%。

低区构架

答:定义

N-point FFT方程可以分为三个阶段根据下一个方程。
图像
N = 64,一个可能的解决方案包括建设64点FFT根据时间分布通过使用8分,4点FFT和2点FFT算法。获得的设计不是高度结构化和非均匀。第二个解决方案在于构建64点FFT四点FFT的三个阶段。L = M = K = 4, 64点FFT方程可以写成
图像

b .优化

使用radix-4处理元素,我们可以根据SFG代表the64-point FFT在图3中。64点FFT由控制单元,三个街区4点FFT单元,两个街区乘数单位与两相发电机单元和一个复杂的记忆单位64点。控制单元,事实上管理FFf4乘数和记忆单元,它也用于生成地址的每个块的输入和输出
1)Radix-4修改:输出的算法给出下一个方程
图像
的SFG radix-4结构见图4。结果表明,radix-4算法由8复杂的添加/删除工作。为了减少复杂的乘数,每次4点FFT和保持管道的方式修改4点FFT计算的设计架构。
图像
通常,计算radix-4 - multioutputs系统。这个结构需要4乘数在一个时钟周期。的确,这种结构提出了一种高速设计,但几乎p2块用于序列化数据。由于这些原因,我们整顿建筑为了有一个乘数每个时钟周期。所以,由此产生的设计有一个复杂的输入和给一个复杂的输出每个时钟周期图4中表示。中间信号A, B, C和D图表用于表示理解并行计算。
2)共享内存:为每个输出的4块FFT相位发生器生成记者捻系数和乘法器执行复杂的乘法64复杂数据并将结果存储在内存中。最后将重用和共享的所有块之间,因为它显示在图3。
通常,计算64点FFT基于四点FFT需要3复杂的记忆。在我们的架构我们只使用一个复杂的64点。此外,该内存分为四个小16复杂记忆为了提高延迟。的确,这背后的问题在于使用一个共享内存端口只有一个作家。这是不可能的,因为数据已经保存在内存的一部分是不习惯。此外,如果我们使用双端口内存,这将是合成作为BRAM块超大的和可用的低成本fpga的数量有限。
图像

实验结果

答:合成结果

图像

b .实现结果

图像

结论

技术来实现高阶FFT为低成本fpga提出和验证。经过一个全面的和比较研究现有的高阶FFT算法,优化提出了64点FFT的体系结构。64点和256点之间的过渡是剥削。高阶fft算法可以用相同的方式获得。FPGA实现我们的未来工作将致力于阻止乘数的优化和使用[7]中提出的方法来取代嵌入式乘数。

引用

  1. Yousri Ouerhani,马赫Jridi和a . Alfalou实现高阶ntechniques FFT为低成本FPGA运动队愿景,Laboratoire L@bISEN, CS 42807年,29228年布雷斯特Cedex 2, Franceemail: {yousri.ouerhani.maher。jridi和ayman.al-falou} @isen.fr
  2. w·厄尔和1。图基,一个机器算法计算复杂的傅里叶级数,数学。第一版。,vol. 19, pp. 297-301, April 1965.
  3. a . y .奥本海姆r·w·谢弗和j·r·巴克离散时间信号处理,第二版。恩格尔伍德悬崖,台北:普伦蒂斯·霍尔出版社,1998年。
  4. h·索伦森,m . Heindeman和c . Burrus splitradix FFT计算,IEEE反式。声学、演讲、信号流程、vo1.34 152 - 156年,1986页。
  5. k . Maharatna大肠草,乌尔里希Jagldhold 64点芯片高速无线局域网应用傅里叶变换使用OFDM, IEEE 1。固态电路,39卷,第493 - 484页,2004年3月。
  6. Xilinx产品规范、优质64点复杂FFTIIF Y.7.0 2009年6月(在线)。可以在:http://www.xilinx.com/ipcenter。
  7. m . Jridi和A . Alfalou低功耗。高速图像压缩的DCT架构:原理和实现,在Proc。超大规模集成系统。在芯片设计(VLSI-SoC),第309 - 304页,2010年9月。
  8. m . Jridi和a . Alfalou与CORDIC算法直接数字频率合成和泰勒级数近似数字接收器,欧元科研杂志,30卷,第4期,页542 - 553。