论文部分内容阅读
图像的处理按照作用域可以分为时域处理和频域处理,在大多数实际应用中都采用时域中处理的方法,但是在一些特殊的处理中,比如图像融合、增强等,频域算法有着很大的优势。数字信号处理中FFT是常用的运算,而把图像从时域转换到频域就需要把FFT扩展到二维。2D FFT(二维FFT)在合成孔径雷达成像(SAR)、数字水印以及医学成像等方面有着重要的意义。随着对处理信息量的增长,对系统的处理速度要求越来越高,对系统性能要求也越来严格。目前国内外对2D FFT算法的实现多数采用DSP、专用集成电路,但这些都存在着些许不足。随着半导体工艺的发展,现在,采用可移植性好,处理速度更快,具有并行运行特征FPGA实现实时的2D FFT运算成为了研究的热点。本文根据研究趋势,对2D FFT算法的硬件实现做了深入研究,并结合实际应用设计基于FPGA点数为256*256点的2D FFT处理器。根据分析比较采用基-4 FFT实现2D FFT算法,数据格式采用定点数表达方式,运用流水线的硬件结构,加快数据吞吐速度。采用自顶向下的设计方法对系统进行了模块划分,把二维的FFT进行行列方向上的分解,分解成两个方向上的FFT。并对一维FFT和转置缓存模块进行了设计。采用verilog实现了各个模块,并针对复数乘法单元和蝶形计算单元进行了改进,在旋转因子模块也采用了节省存储资源的方案。在硬件结构的实现和转置矩阵的实现进行了延伸,针对硬件资源不同时可以采用不同结构,在点数较大时采用高效的转置存储算法效果更为突出。在面对实数的2D FFT算法上,分析了可优化的方向。利用Altera公司的FPGA开发工具Quartus ⅡⅡ和第三方仿真工具Modelsim对关键性的设计进行了综合实现和仿真测试。最后把程序下载到开发板上进行验证,把处理数据结果在Matlab中显示并与直接用Matlab处理的数据进行比较分析,能达到一定精度,最终取得了良好的效果。基-4 FFT算法在资源消耗上有所增加,但在速度上有所提高,在未来片内资源急剧增长的情况下,具有很好的应用前景。