1D преобразование вдоль оси Y трехмерной матрицы с использованием fftw 3 - PullRequest
0 голосов
/ 14 декабря 2018

Я хочу знать, как выполнить 1D сложное ДПФ на каждой оси трехмерного массива с помощью FFTW3.

Допустим, существует трехмерный массив, имеющий форму (2, 3, 4).

Пример трехмерного массива

Я знаю, как выполнить 1D DFT вдоль оси x и z, используя FFTW3.

Если я правильно понимаю, параметры будут похожи,

-------------- 1D БПФ вдоль оси z -----------

int rank = 1;
int n[] = {4};
int istride = 1, ostride=1;
int idist = 4; odist = 4;
int inembed[] = {0};
int onembed[] = {0};
int batch = 2 * 3;

-------------- 1D БПФ вдоль оси x -----------

int rank = 1;
int n[] = {3};
int istride = 4, ostride=4;
int idist = 1; odist = 1;
int inembed[] = {0};
int onembed[] = {0};
int batch = 3 * 4;

Я имею в виду 1D БПФ столбцов и строк3D-матрица в CUDA

На этой странице описывается выполнение 1D FFT вдоль оси Y на трехмерном массиве с использованием CUFFT.

Но я не могу найти какие-либо способы реализовать этот метод дляFFTW3.

Кроме того, я не знаю, что такое «inembed» и «onembed» ...

Документация FFTW не помогает

Пожалуйста, помогите мне, и я помогуценю это

...