如何从numpy.fft获取complex64输出?

时间:2015-06-14 05:29:35

标签: python numpy fft

我有以下代码:

Ga=rfft2(A)

A的类型为float32,但Ga的格式为complex128,有效地使我的数据倍增。如何获取complex64数据?当然,这不是fftw的默认功能吗?

1 个答案:

答案 0 :(得分:2)

好吧,似乎在C代码中定义了相当深的类型。 fftpack_litemodule.c使用NPY_CDOUBLE作为数组类型,基本上是您的complex128。我看到的唯一解决方案是使用complex64将数组转换为astype(np.complex64)或使用scipy.fftpack包返回一个float64数组,将复数值编码为:< / p>

[y(0),Re(y(1)),Im(y(1)),...,Re(y(n/2))]              if n is even
[y(0),Re(y(1)),Im(y(1)),...,Re(y(n/2)),Im(y(n/2))]   if n is odd