Xilinx FFT IP核详解(一)

引言FFT(快速傅里叶变换)在雷达信号处理、图像处理、无线通信等行业有着广泛的应用。本文及后续几篇文章,我们针对Xilinx的FFT IP核v9.0提供详细介绍。本文作为开篇,介绍以下内容:

  • Xilinx FFT IP核的特性
  • Xilinx FFT IP核输入输出接口介绍

1.Xilinx FFT IP核特性

图1、Xilinx FFT IP核

Xilinx®LogiCORE™ IP快速傅立叶变换(FFT)核实现了Cooley-Tukey-FFT算法,这是计算离散傅立叶变换(DFT)的有效方法。该IP核支持以下特性:

  • 正向和反向复数FFT(FFT和IFFT),实时可配置;
  • 转换点数N = 2m,m = 3~16
  • 数据采样精度bx = 8~34
  • 相位因子精度bw = 8~34
  • 算法类型:
  • 未缩放(全精度)定点
  • 缩放定点
  • 块浮点
  • 定点或浮点接口
  • 舍去或截断处理
  • 数据和相位因子存储可以选择BRAM或者分布式RAM
  • 缩放定点核支持运行时可配置缩放
  • 输出自然序或者倒序
  • 可选的循环前缀插入
  • 四种架构,支持资源和转换时间权衡
  • AXI4-Steram接口

2.FFT IP核概述

该IP核支持N点FFT或者IFFT计算,N为2m,m取值3~16。

对于定点输入,输入数据为N个复数向量,表示双路bx-bit二进制补码,即实部和虚部都为bx-bit二进制补码,bx = 8~34,相似地,相位因子bw也为8~34bit位宽。

对于单精度浮点输入,输入N个复数向量,表示双路32-bit浮点数据,相位因子为24或者25bit定点数。

FFT计算支持三种算法选项:

  • 全精度不缩放算法
  • 定点缩放,用户可以提供缩放因子
  • 块浮点(实时调整缩放)

所有的片上使用的存储器可以是块RAM(BRAM)或者分布式RAM(逻辑资源实现)。FFT输入数据可以是自然序方式,输出可以选择自然序或者倒序输出。倒序输出占用的资源更多一些。

转换点数N、正向或反向转换,缩放因子和循环前缀长度都是实时可配置的,转换类型(FFT或IFFT)、缩放因子和循环前缀长度可以在帧间进行改变。改变转换点数N需要复位IP核。

FFT核提供四种可选的算法:流水线I/O、Radix-4突发I/O、Radix-2突发I/O和Radix-2 Lite I/O。

图2、FFT IP核算法选择

3.算法概述

FFT核使用Radix-4和Radix-2分解计算DFT。对于突发I/O架构,使用DIT算法,DIF算法用于流水线I/O架构。当使用Radix-4分解时,N点FFT包含log4(N)级蝶形运算,每级包含N/4个Radix-4蝶形运算。如果N不是4的幂,则需要额外的Radix-2级来组合运算。类似,对于N点FFT使用Radix-2分解运算包含log2(N)级运算,每级包含N/2个Radix-2蝶形运算。

逆FFT(IFFT)是通过共轭对应的的FFT的相位因子来计算的。

4.FFT IP核接口介绍

图3、FFT IP核接口介绍


  • 2
    点赞
  • 37
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值