whn*_*whn 2 c++ cuda fft complex-numbers cufft
从我对fft函数的理解(例如,从类似这样的问题开始)
假设1D fft,给定N点实际数据,对于零频率,我将得到长度为N(但为复数)+1的双面fft。如果我采用相同的fft输出,并对其执行ifft,则将获得N个实数值,在理想情况下,这将与fft的原始输入完全匹配。
在cufft中,这似乎有很大不同。
根据Nvidia的研究,给N个实数分量将导致fft的N2 +1个复杂分量,而N2 + 1个复杂分量将导致N个实数分量。
看到这里(R =实数,C =复数,2 =到):
请注意,我认识到一半的复杂成分实际上是重复的(但共轭并颠倒了),因此对于输入输出值保留重建所需的所有日期而言并不是必需的,但这并不能解释Nvidia如何声称fft的输入和输出数据长度应该结构化,cufft的输入和输出长度所做的事情与我对此情况的预期相反。