基于二维分解的大数据二维离散傅里叶变换的FPGA架构
摘要
基于离散傅立叶变换(DFT)的应用广泛应用于信号和数字图像处理的多个领域。尤其值得关注的是二维(2D)DFT,它比一维(1D)DFT的计算和带宽密集度更高。传统上,使用行列(RC)分解来计算2D DFT,其中沿行计算一维 DFT,然后沿列计算一维DFT。两种应用特定且可重新配置的硬件已将该方案用于二维 DFT的高性能实现。但是,由于内存带宽的限制,基于RC分解的体系结构对于大输入大小的数据效率不高。在本文中,我们提出了一种有效的体系结构,它基于一种新颖的二维分解算法为大型输入数据实现2二维DFT。通过利用由于算法分解而产生的固有并行性并利用外部存储器的逐行突发访问模式,该体系结构实现了非常高的吞吐量。设计了高吞吐量的内存接口,以最大程度地利用内存带宽。此外,提供了一个自动系统生成器,用于将该体系结构映射到Xilinx Virtex-5设备的可重新配置平台上。对于2 K times; 2 K的输入大小,在相同的内存约束下,所提出的体系结构比基于RC分解的实现快1.96倍,并且性能也优于其他现有实现。
关键词 多维信号处理 · DFT · 算法架构协同设计
1引言
离散傅立叶变换(DFT)广泛用于数字信号处理(DSP)和科学计算应用。尤其是,二维(2D)DFT用于需要光谱和频域分析的各种成像应用中,例如图像水印,指纹识别,合成孔径雷达(SAR)处理和医学成像。多年来,许多应用程序的图像尺寸都在增加。例如,在SAR处理[ 1 ],数字全息成像[ 2 ]和医学成像中,所需的数据大小可能高达2,048 times; 2,048。因此,需要新的算法和体系结构来支持大数据尺寸的2二维DFT。
现有的二维DFT实现包括软件解决方案,如FFTW [ 3 ],螺旋[ 4 ],英特尔MKL [ 5 ]和IPP [ 6 ],其可以在通用处理器,多核体系结构[运行7 ],和超级计算机[ 8 ,9 ]。尽管这些平台可以实现高性能,但它们不适合嵌入式应用程序。
也有许多硬件解决方案。其中一些基于快速傅立叶变换(FFT)[ 10 ]。这些包括专用FFT处理器芯片[ 2 ,11 - 14 ],和现场可编程门阵列(FPGA)实现基于[ 15 - 20 ]。至于FFT芯片,其制造成本很高,一旦制造出芯片,其功能和性能就无法再改变了。这就是为什么FPGA已成为二维DFT实现的有吸引力的替代方案的原因。实际上,FPGA已广泛用于各种嵌入式信号和图像处理系统,例如智能相机、雷达图像等,其中FFT是其中的关键组成部分。
在本文中,我们描述了针对大数据量的二维 DFT的FPGA体系结构。在诸如[ 17 ]中的体系结构中,当数据大小增加并且数据不适合片上存储器时,性能会大大降低。在这些架构中,瓶颈是片外和片内存储器之间的数据传输。此问题已在[ 2]中解决,但需要额外的转置操作。在这项工作中,我们通过实现新的二维(2D)分解算法来避免转置操作,并且还设计了可最大化外部存储器带宽的自定义存储器接口。所提出的算法将原始数据划分为子块网格,在子块之间执行蝶型运算,然后在每个子块上计算局部二维 DFT。子块的大小是可用FPGA资源的函数,并自动确定。实验结果表明,基于二维分解算法的体系结构比基于行列(RC)分解的优化体系结构具有更好的性能。
以上是毕业论文文献综述,课题毕业论文、任务书、外文翻译、程序设计、图纸设计等资料可联系客服协助查找。