首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >CUFFT的比例因子

CUFFT的比例因子
EN

Stack Overflow用户
提问于 2011-03-10 05:56:13
回答 2查看 3.5K关注 0票数 6

我写了一个简单的测试程序,在那里我对复杂的FT做了复杂的处理,我只是生成了一些数据1..50,并将其插入到数组的每个索引的实部和虚部。

当我执行这样的操作时,IFFT(FFT(A)) =A

为了测试它们,我为每个库得到了不同的结果。

FFTW,我必须将输出除以len(A)以得到原始的A

但是,使用CUFFT进行正向FFT和反向FFT,看起来我必须除以(sqrt(2)*50)才能返回原始数据。

额外的平方根因子是从哪里来的?

根据CUFFT文档: CUFFT执行未归一化的FFT;即,对输入数据集执行正向FFT,然后对结果集执行反向FFT,产生的数据等于按元素数量缩放的输入。通过数据集大小的倒数来缩放任一变换都留给用户按照看起来合适的方式执行。

提前感谢

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-07-13 07:22:20

这最终导致计算复数的绝对值的方式出现问题。在std::complex库中,它计算向量的距离。

票数 1
EN

Stack Overflow用户

发布于 2011-06-24 05:28:18

CUFFT具有与FFTW相同的行为,它计算非标准化FFT。IFFT(FFT(A))=n A,其中n是向量的长度。长度n的单位是样本数(不是浮点数或字节数)。在使用C2R和R2C的FFTW和CUFFT之间存在一些填充差异,这可能会搞砸简单的比较,但对于C2C则不是。我会仔细检查你的数据设置和长度计算,并在FFTW和CUFFT中验证你的计划。

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5252672

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档