FFT 오퍼레이터

Operator Library: Transformation

FFT operator는 정방향 또는 역방향 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: 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 Properties

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

동기식 및 비동기식 입력

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

지원되는 Link Format

Link Parameter 입력 링크 IRe 입력 링크 IIm 출력 링크 ORe 출력 링크 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 파라미터
Default Forward
Range {Forward, Reverse}

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

LineLength
Type dynamic write 파라미터
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}입니다.

변환 포인트 수, 즉 라인 길이를 지정합니다.

사용 예

operator FFT의 사용법은 다음 예제에 나와 있습니다: