//C2DFFT
//被执行2DFFT的是一个N*N的矩阵,在source_2d中按行顺序储存
//水平方向FFT
for (int i=0;i<N;i++)
{
fft1(&source_2d[i*N],&source_2d_1[i*N],N);
}
//转置列成行
for (int i=0;i<N*N;i++)
{
int x = i%N;
int y = i/N;
int index = x*N+y;
source_2d[index] = source_2d_1[i];
}
//垂直FFT
for(int i=0;i<N;i++)
{
fft1(&source_2d[i*N],&source_2d_1[i*N],N);
}
//转置回来
for (int i=0;i<N*N;i++)
{
int x = i%N;
int y = i/N;
int index = x*N+y;
source_2d[index] = source_2d_1[i];
}
二维fft及转置
最新推荐文章于 2024-06-05 20:45:54 发布