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

标签 python numpy fft

我有以下代码:

Ga=rfft2(A)

Afloat32 类型,但是 Gacomplex128 的形式出现,有效地使我的数据加倍。我怎样才能得到 complex64 数据?当然,这不是 fftw 的默认功能吗?

最佳答案

嗯,看起来类型在C代码中定义的很深。 fftpack_litemodule.c使用 NPY_CDOUBLE 作为数组类型,这基本上就是您的 complex128。我看到的唯一解决方案是使用 astype(np.complex64) 或使用 scipy.fftpack 将数组转换为 complex64返回 float64 数组的包,将复杂值编码为:

[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

关于python - 如何从 numpy.fft 获取 complex64 输出?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30826224/

相关文章:

Python CGI - UTF-8 不工作

python - 如何在 jinja 2 - Flask 中访问 session 变量

python - igraph:为什么 add_edge 函数与 add_edges 相比这么慢?

python - 从 scipy interpolate/griddata 检索数据点

python - 用 Python 计算线性回归标准化系数 (beta)

python - 上限为 32 位最大值,为什么我的代码无法将解决方案拉至此最大值之上?

r - 使用 fft 的带通滤波器 R

python - 使用 python 3 抓取需要登录的网站

image-processing - 计算卷积的最快方法

python - 相移后进行傅里叶变换