信息与通信工程学院 信号与信息处理综合实验报告 (FPGA 部分) 班 级: 姓 名: 学 号: 序 号: 实验三 用FPGA 实现快速傅里叶变换 一、 实验目的 (1) 掌握 Xilinx ISE 中 IP Core 的使用方法; (2) 初步掌握 Xilinx 公司的 FFT IPCore 的使用方法; (3) 比较 DSP 和 FPGA 实现FFT 的异同。 二、 实验内容 (1)按实验指导书所给出的步骤,用Xilinx IP Core 实现256 点的 FFT 并进行仿真和测试。 (2)将所给出的例子改写为 512 点的 IFFT 并进行仿真和测试。 三、实验过程说明 1、 Xilinx FFT IPcore 使用说明 在 Xilinx 公司的 IPCore 中,提供两不同的架构:Burst I/O 架构和 Streaming I/O 流水线架构。所谓的 Burst I/O 是指数据的输入和输出都是突发的,即输入输出是一段一段的而不是连续的;所谓的 Streaming I/O 流水线架构则是指输入数据和输出数据都是以一定的频率连续不断地进行的。Burst I/O 架构下,采用的是时间抽取(DIT)方法,而 在 Streaming I/O 流水线架构下采用的是频率抽取(DIF)方法。当采用基 4 分解时,N 点 FFT 共需 log4 (N) 级,每一级包含N/4 个基 4 的蝶形图,如果点数 N 不是 4 的幂次,则还需要另外一个基 2 的级。如果采用基 2 的分解,则共有 log2 (N)级,每一级包含 N/2 个基 2 蝶形。IFFT 通过将对应的 FFT 的相位因子取共轭实现。 本实验以 Streaming I/O 流水线架构为例学习Xilinx FFT IPcore 的使用方法。Streaming I/O 流水线架构示意图如下图所示。这种架构将多个基 2 的蝶形处理单元排成流水线形式以提供连续的数据处理,每个处理单元有它自己的存储单元用于存储输入和中间数据。数据数据可以连续输入到流水线的前级,经过一段计算时延 ,从 输出端 连续输出一个数据块 的数据。当然 ,这种架构也 允 许 在数据块 之 间添 加 一段时间的间隔 。 在 scaled fixed-point 模 式下,数据在每进行一对基 2 级之 后 都会 进行一次移位,移 位次数可以事 先 根 据输入数据范 围 确 定。除 了 这种模 式外,IP core 还提供一种块 浮 点模 式用于改善 性 能 。输出数据可以以比特 逆 序 输出,也 可以自然序 输出,当采用自然 序 输出时,需要用到额 外的存储资 源 。 与streaming I/O 架构不同,Bu rst I/O 以一...