Operator FFT

Operator Library: Transformation

FFT 연산자는 정방향 또는 역방향 1차원 고속 푸리에 변환(Fast Fourier transform)을 수행합니다. 이 연산자는 입력단에서 복소수 값을 받아 복소수 값을 출력합니다. 입력과 출력에서 각각 실수부용과 허수부용으로 두 개의 포트를 사용합니다.

파라미터를 사용하여 연산자를 포인트 수, 즉 라인 너비에 맞게 구성할 수 있습니다. 라인 너비는 입력단의 픽셀 수와 일치해야 합니다.

두 번째 파라미터는 연산자가 정방향 변환을 수행할지 역방향 변환을 수행할지 정의합니다.

[참고] 제한된 구성만 지원

현재 이 연산자는 특정 구성에서만 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: 예

  • Data Format: 고정 소수점

  • 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 버전 9.1을 사용합니다. marathon 및 ironman은 Xilinx IP 버전 8.0을 사용합니다.

I/O Properties

Property Value
Operator Type M
Input Links IRe, 입력 실수부
IIm, 입력 허수부
Output Links ORe, 실수부 출력
OIm, 허수부 출력

동기식 및 비동기식 입력

  • 모든 입력은 서로 동기화됩니다. 즉, O-type operator의 임의 네트워크를 통해 동일한 M-type operator로부터 소싱되어야 합니다.

Supported Link Format

Link Parameter Input Link IRe Input Link IIm Output Link ORe Output 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

입력 Bit Width는 mE5 ironman에서 16 bit이고 mE5 marathon/LightBridge에서 32 bit입니다.

2

출력 Bit Width는 mE5 ironman에서 32 bit이고 mE5 marathon/LightBridge에서 64 bit입니다.

3

Parallelism은 imaFlex CXP-12 Penta 및 imaFlex CXP-12 Quad의 경우 1이며, mE5 ironman 및 mE5 marathon/LightBridge의 경우 2입니다.

4

mE5 ironman에서는 [2^3, 2^13], mE5 marathon/LightBridge에서는 [2^3, 2^11]입니다.

Parameters

TransformationMode
Type dynamic write parameter
Default Forward
Range {Forward, Reverse}

정방향 또는 역방향 변환을 지정합니다.

LineLength
Type dynamic write parameter
Default Points1024
Range 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 operator의 사용법은 다음 예시와 같습니다: