Operator FFT

Operator Library: Transformation

FFT 算子用于执行正向或反向的一维快速傅里叶变换。该算子接受输入端传来的复数值,并输出复数值。它在输入端和输出端各使用两个端口:一个用于实部,另一个用于虚部。

通过使用参数,可以将算子配置为指定的点数,即线宽。线宽必须与输入端的像素数量相匹配。

第二个参数用于定义算子执行的是正向变换还是反向变换。

[注意] 仅限受支持的配置

目前该算子仅可在特定的配置下用于 imaFlex CXP-12 Penta、imaFlex CXP-12 Quad、microEnable 5 ironman、microEnable 5 marathon 和 LightBridge 采集卡。

该算子仅限于 imaFlex CXP-12 Penta、imaFlex CXP-12 Quad、mE5 ironman 以及 mE5 marathon / LightBridge。以下列出了允许的配置和特性。

imaFlex CXP-12 Penta 和 imaFlex CXP-12 Quad:

  • Points (image width): {8, 16, 32, 64, 128, 256, 512, 1024, 2048}

  • Parallelism: 1

  • Input bit width: 32

  • Output bit width: 48

mE5 ironman:

  • Points (image width): {8, 16, 32, 64, 128, 256, 512, 1024, 2048, 4096, 8192}

  • Parallelism: 2

  • Input bit width: 16

  • Output bit width: 32

mE5 marathon / LightBridge:

  • Points (image width): {8, 16, 32, 64, 128, 256, 512, 1024, 2048}

  • Parallelism: 2

  • Input bit width: 32

  • Output bit width: 48

该算子使用具有以下参数配置的 Xilinx FFT IP 核:

  • Architecture: Pipelined Streaming IO

  • Run Time Configurable Transform Length: yes

  • Data Format: Fixed Point

  • Twiddle Width (Phase Factor Width): 10

  • Scaling Option: Unscaled

  • Rounding Mode: truncation

有关 FFT 算法的更多信息,请访问 https://www.xilinx.com/products/intellectual-property/fft.html#overview。imaFlex CXP-12 Penta 和 imaFlex CXP-12 Quad 使用 Xilinx IP version 9.1。marathon 和 ironman 使用 Xilinx IP version 8.0。

I/O Property

Property 值
Operator Type M
输入链路 IRe,输入实部
IIm,输入虚部
Output Links ORe,输出实部
OIm,输出虚部

同步和异步输入

  • 所有输入彼此同步,即它们必须由同一个 M 型算子通过任意的 O 型算子网络提供源。

Supported Link Format

Link Parameter 输入 Link IRe 输入 Link IIm 输出 Link ORe 输出 Link OIm
Bit Width 16 或 32 1 同 IRe auto2 同 ORe
Arithmetic signed signed signed signed
Parallelism 取决于平台3 取决于平台3 取决于平台3 取决于平台3
Kernel Columns 1 1 1 1
Kernel Rows 1 1 1 1
Img Protocol {VALT_IMAGE2D, VALT_LINE1D} 同 IRe 同 IRe 同 IRe
Color Format VAF_GRAY VAF_GRAY VAF_GRAY VAF_GRAY
Color Flavor FL_NONE FL_NONE FL_NONE FL_NONE
Max. Img Width 取决于平台4 同 IRe 同 IRe 同 IRe
Max. Img Height any 同 IRe 同 IRe 同 IRe

1

在 mE5 ironman 上,输入的 Bit Width 为 16 bit,而在 mE5 marathon/LightBridge 上为 32 bit。

2

在 mE5 ironman 上,输出的 Bit Width 为 32 bit,而在 mE5 marathon/LightBridge 上为 64 bit。

3

imaFlex CXP-12 Penta 和 imaFlex CXP-12 Quad 的 Parallelism 为 1,mE5 ironman 以及 mE5 marathon/LightBridge 的 Parallelism 为 2。

4

在 mE5 ironman 上为 [2^3, 2^13],在 mE5 marathon/LightBridge 上为 [2^3, 2^11]。

参数

TransformationMode
键入 动态写入参数
默认 Forward
范围 {Forward, Reverse}

指定正向或反向变换。

LineLength
键入 动态写入参数
默认 Points1024
范围 在 mE5 ironman 上为 {8, 16, 32, 64, 128, 256, 512, 1024, 2048, 4096, 8192},在 mE5 marathon/LightBridge 以及 imaFlex CXP-12 Penta 和 imaFlex CXP-12 Quad 上为 {8, 16, 32, 64, 128, 256, 512, 1024, 2048}

指定变换点数,即线长度。

使用示例

以下示例展示了算子 FFT 的使用: