问题标签 [pyfftw]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
283 浏览

python - 尝试使用 pyfftw -“输出数组和输入数组 dtypes 不对应于有效的 fftw 方案。”

我正在使用 pyfftw 进行简单的 fft。我不确定如何使用 pyfftw 因为我收到错误:

这是我使用的代码:

任何关于为什么这不起作用的见解将不胜感激

0 投票
1 回答
183 浏览

python - 在实际 pyFFTW 中计算拉普拉斯算子

对于前向(多维)FFTW 算法,您可以指定输入numpy.ndarray是实数,输出应该是复数。这是在创建包含以下参数的字节对齐数组时完成的fft_object

输出阵列不对称,第二个轴被截断到正频率。对于复数 FFT,您可以使用以下公式计算拉普拉斯算子np.ndarray

在截断的情况下如何完成?我考虑过使用:

但是,这真的有用吗?似乎它忽略了“y”方向的负频率。

0 投票
1 回答
263 浏览

python - 这个傅里叶变换有什么问题?(在蟒蛇中)

正如阅读过我之前在该站点上的帖子的人所知道的那样,我一直在尝试实现一个在 Python 中使用 FFT 的 PDE 求解器。编程部分大部分都解决了,但是程序产生了一个(非常适合这个站点)溢出错误(基本上它会增长很多,直到它变成一个NaN)。

在排除了所有其他可能性后,我将问题归结为 FFT 以及我尝试进行衍生的方式,因此我决定使用以下代码测试两个不同的 FFT(模块和包numpyfftpyFFTW

这里的' np.ndarrays是我认为应该做离散拉普拉斯算子的。而我选择的函数eˣsin(y)是调和函数,所以它的拉普拉斯算子应该为零。LapwLapnp

但该计划的结果与这个预期值相差甚远。特别是我得到:

原函数 f 原始功能

f 与 pyFFTW 的“拉普拉斯算子” 这

使用 Numpy 的 f 的“拉普拉斯算子”的幅度和相位 幅度 阶段

查看这些图的值(请注意颜色栏中的范围以及 20000 不是任何与 0 的近似值这一事实)清楚地说明了为什么我制作的程序会溢出,但我不知道如何纠正这一点。任何帮助将不胜感激。

0 投票
0 回答
325 浏览

python - 在 pyFFTW 中设置真实的正向变换的正确方法是什么?

根据pyfftw.FFTW该类的文档,设置FFTW_FORWARDfloat32到的转换complex64是一个例外方案

但是,这个简单的设置示例设置了一个错误:

输出:

我在这里想念什么?

0 投票
0 回答
51 浏览

android - 如何用 buildozer 编译 pyfftw?

我正在尝试使用buildozer. 正在使用的源代码pyfftw未包含在食谱中。因此,库是用 pip 下载的。

我在 Ubuntu 16.04 中运行代码并使用 Python 3.6

我用不同的 arch armeabi-v7a、arm64-v8a 编译,但应用程序仍然崩溃。

我也尝试编写自己的食谱,但似乎没有什么不同。不过,不确定食谱是否正确。

尝试使用arm64-v8a. 我收到此错误:

ImportError: dlopen failed: "/data/data/org.test.opencvtest/files/app/_python_bundle/site-packages/pyfftw/pyfftw.so" has unexpected e_machine: 62 (EM_X86_64)

对此有任何想法吗?

0 投票
1 回答
119 浏览

python - 在 3-D numpy 数组的小切片上有效地使用 1-D pyfftw

我有一个大小约为 10,000x512x512 的 3D 数据立方体。我想重复解析沿 dim[0] 的向量窗口(例如 6)并有效地生成傅立叶变换。我想我正在将数组复制到 pyfftw 包中,这给了我巨大的开销。我现在正在查看文档,因为我认为我需要设置一个选项,但我可以在语法上使用一些额外的帮助。

这段代码最初是由另一个人用 numpy.fft.rfft 编写的,并用 numba 加速。但是该实现在我的工作站上不起作用,所以我重新编写了所有内容并选择使用 pyfftw。

会发生什么是我得到一个 4D 数组;变量通道块。我将每个通道保存为二进制文件(不包含在上面的代码中,但保存部分工作正常)。

这个过程适用于我们的解调项目,然后将 4D 数据立方体 channelChunks 解析为 eval(numChannel) 3D 数据立方体(电影),并且根据我们的实验设置,我们可以通过颜色分离电影。我希望我可以绕过编写一个通过 pyfftw 在矩阵上调用 fft 的 C++ 函数。

实际上,我在给定的 1 轴和 2 轴索引处沿 dataChunk 的 0 轴获取 windowSize=6 个元素并执行 1D FFT。我需要在整个 3D 数据块中执行此操作以生成解调电影。谢谢。

0 投票
1 回答
1322 浏览

python - Python 3.8 中 pyFFTW (scipy.fftpack) 的导入错误

我有一个数值模拟程序,在我所在的研究所运行良好,我有一个 Win10 盒子,我在其中安装了 Python 3.7.3 64 位。我正在尝试使用 Manjaro 和 Python 3.8.1 在我的笔记本电脑上运行相同的程序(我安装它时它也是 3.7.3,但滚动发布 ¬¬)。问题是在我的笔记本电脑中尝试导入 pyFFTW 时出现以下错误

据我所知,问题是由 pyFFTW 包本身的库引起的,但我不知道如何解决它。我尝试卸载并重新安装 pyFFTW (1.17.4) 和 scipy (1.4.1),但收效甚微。

我认为我可以在我的 Manjaro 框中安装 Python 上的另一个版本,并简单地“匹配”Win 框中的所有版本的包,但我正在寻找一个更少核的解决方案。

为了完整起见,MWE:

0 投票
0 回答
296 浏览

python - 安装 pyfftw 抛出错误缺少 fftw 头文件

我正在尝试在 Windows 32 位上安装 pyfftw。我不得不安装fftw。所以

1.我从这里下载了fftw-3.3.5-dll32.zip http://www.fftw.org/install/windows.html


2.我解压缩文件并通过 vs2019 的开发人员命令提示运行以下命令:
lib /machine:x86 /def:libfftw3-3.def
lib /machine:x86 /def:libfftw3f-3.def
lib /machine:x86 /def :libfftw3l-3.def

3.I add folder path to variable path

4.pip install pyfftw throws an error: could not find the fftw header 'fftw3.h'

有人知道解决办法吗?


Tnx 为您提供帮助

0 投票
0 回答
238 浏览

python - 比较python(scipy和pyfftw包)和matlab的FFT速度

我在python和matlab中比较了不同方法的FFT速度,结果看起来有点怪,不知道是不是做对了。python中的代码如下:

输出:

matlab中的代码如下:

时间成本为 0.721065 秒。pyfftw 和 scipy 以及 pyfftw 和 matlab 之间的时间成本是如此不同。我是否正确进行了比较,为什么差异如此明显?

0 投票
2 回答
131 浏览

python - 使用 pyfftw 和 scipy.fft 在 ifft 操作期间发生相位不连续

使用 pyfftw 对 2D ndarray 进行 ifft 时,我发现生成的相位在许多位置上是不连续的。我的代码如下:

相位图如下 在此处输入图像描述 最小相位值是-3.141592653589793和最大值是3.141592653589793并且它们的差大于2pi。使用 scipy.fft 只会得到相同的结果。但是,当我转向 Matlab 时,结果看起来更合理。我的代码是:

相位图像是 在此处输入图像描述

我想知道是什么导致了 python 代码中的相位不连续以及如何纠正它。