Я хочу знать, как выполнить 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 не помогает
Пожалуйста, помогите мне, и я помогуценю это