问题标签 [fftw]
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.
c++ - CUFFT 输出与 FFTW 输出未对齐
我正在做一维 FFT。我有与 FFTW 中相同的输入数据,但是,来自 CUFFT 的返回似乎并不像 FFTW 那样“对齐”。也就是说,在我的 FFTW 代码中,我可以计算零填充的中心,然后进行一些移动以“左对齐”我的所有数据,并使用尾随零。
在 CUFFT 中,FFT 的结果是看起来相同的数据,但是,输出中的零点不是“居中”的,所以我的算法的其余部分会中断。(在错误的移位之后,数据左对齐的移位仍然有一个“间隙”)。
谁能给我任何见解?我认为这与那些兼容性标志有关,但即使与 cufftSetCompatibilityMode(plan, CUFFT_COMPATIBILITY_FFTW_ALL); 我仍然得到一个不好的结果。
下面是第一行数据的大小图。左边的数据是逆CUFFT的输出,右边的输出是逆FFTW的输出。
谢谢!
这是 FFTW 和 CUFFT 计划的设置代码
袖口:
并执行代码:
袖口:
完成了一些测试代码:
当我转储这两个 FFT 调用的输出时,它看起来确实一样。我不确定我在看什么。第 75 行的数据值为 100。那是对的吗?
c++ - 使用 FFTW 的分段错误
我有一个非常复杂的程序,它使用内部 FFT 算法。我最近决定尝试使用 FFTW 来提高性能。作为确保 FFTW 链接和运行的简单测试,我将以下代码添加到应用程序的开头,但是,当我运行时,我在创建时遇到分段错误fftwf_plan
:
有什么想法会导致这种情况吗?
使用 FFTW 3.3。尝试了 2 种不同的编译器,g++ 4.1.1 和 icc 11.1。此外,核心文件文件没有任何意义:
编辑
我使用以下命令重新配置 FFTW 以添加调试:
当程序出现分段错误时,它位于fftwf_plan_dft_1d()
方法中的随机位置,但是,堆栈跟踪始终显示它位于或低于search
调用的函数mkplan
。
installation - 如何在 Fedora 下安装 FFTW 包并让 Octave 将其识别为已加载?
Octave 中对 FFTW 的所有引用使它听起来像是仅适用于 Octave 的软件包(不太正确,但很接近),并通过在 Octave 命令行上键入“pkg install”来提供安装 tar.gz 文件的说明。但是 FFTW 网站本身说要使用 RPM,或者更好的是,使用您自己的分发包。好吧,Fedora 确实有一个包,名为(惊喜)'fftw'。但是在使用 yum 安装它之后,我仍然不知道在 Octave 命令行上使用 pkg install 命令使用什么名称:明显的“fftw”不起作用。也没有创建 /etc/fftw 目录(我忘记了哪个方向说这应该发生,但它没有)。
那么在安装完 Fedora 软件包之后我的下一步是什么?我不需要从源代码构建 FFTW,是吗?
optimization - 快速求和傅立叶级数的方法?
我已经使用 FFTW 生成了系数,现在我想重建原始数据,但只使用第一个numCoefs
系数而不是所有系数。目前我正在使用下面的代码,这很慢:
有更快的方法吗?
visual-studio - fftw计算不准确
我正在使用 FFTW 库计算像素为双倍的图像的 fft,为此我使用 Visual Studio 2008 中的库 fftw(http://www.fftw.org/) 库并使用 ITK (http:/ /www.itk.org/)。
当我从双指针计算 fft 时,使用方法 'fftw_plan_dft_c2r_2d' 进行计算但引入了不准确性,大约为 +- 0.5...</p>
我真的不知道出了什么问题,也许是像素之间的间距?使用的数据类型?以前有人遇到过这个问题或类似的问题吗?
非常感谢。
安东尼奥
代码:
代码在这里:
我想对名为 f1 的双指针进行 FFT。
fft - FFT 和逆 FFT 之间有什么实际区别吗?
FFTW 或 numpy.fft 等 FFT 库通常提供两个函数fft()
和ifft()
(以及用于实值输入的特殊版本)。这些功能似乎被定义为
和
在复杂输入之间进行选择ifft()
和操作时,是否有任何实际或技术原因需要考虑?fft()
虽然X
(信号、时间或空间域)和fft(X)
(频谱、频域)的解释不同,但它在计算上是否重要?
image-processing - 带有 fftw 库的 FFT 图像/像素颜色
我正在尝试向前快速傅里叶传输图像,然后向后快速傅里叶传输它。我正在使用来自http://www.fftw.org/的库。问题是我已按列出的顺序将 RGB 值存储在一个一维数组中。我认为可行的方法是为每种颜色分配数组并为每个数组执行单独的 FFT。像这样:
我对 FFT 了解不多,但对我来说,这似乎不是一种理想的方式。有人可以告诉我是否有更好的方法可以使用来自 fftw.org 的库对图像中的所有像素颜色进行 FFT?
谢谢。
c++ - 前向 FFT 图像和后向 FFT 图像以获得相同的结果
我正在尝试使用来自http://www.fftw.org/的库对图像进行 FFT,以便我可以在频域中进行卷积。但我不知道如何使它工作。为了理解如何做到这一点,我试图将图像转发为像素颜色数组,然后将其向后 FFT 以获得相同的像素颜色数组。这就是我所做的:
有人可以向我展示如何转发 FFT 图像然后使用 FFTW 向后 FFT 图像以获得相同结果的示例吗?我一直在看很多例子来展示如何使用 FFTW 到 FFT,但我无法弄清楚它如何适用于我的情况,即我有一个代表图像的像素颜色数组。
memory-management - dft_c2r_2d 和 FFTW_PRESERVE_INPUT 的分配内存错误
我想做一个'complex_to_real'转换,这意味着IFFT。我意识到我需要保留转换的输入以供以后使用,因此我在“dft”的计划中添加了标志:“PRESERVE_INPUT”。
添加此标志后,我在编译时遇到问题,它转到'dbgmalloc.c',这意味着它应该是分配内存问题,但我没有更改任何内容,并且没有新标志它可以正常工作。
你能给我一些提示吗?
问候
安东尼奥
c++ - 如何在 iOS 上编译 fftw3
现在我只想在iOS上使用FFTW3,因为我已经成功编译成i386版本供iOS模拟器使用,剩下的工作就是编译成armv6(或v7)版本并将这两个版本一起lipo,如下是我不正确的配置:
./configure CC=/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/arm-apple-darwin10-gcc-4.2.1 LD=/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/ld CCFLAGS ="-I /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS4.2.sdk/usr/lib/gcc/arm-apple-darwin10/4.2.1/include/ -I /Developer/Platforms/iPhoneOS.平台/开发者/SDKs/iPhoneOS4.2.sdk/usr/include/ -miphoneos-version-min=2.2 -arch armv6 -isysroot /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS4.2.sdk" LDFLAGS= “-arch armv6 -isysroot /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS4.2.sdk” --enable-float --host=arm-apple-darwin --build=arm-apple-darwin10 --禁用-fortran
当使用它来构建 fftw3 时,我总是得到这个:
检查与 BSD 兼容的安装... /usr/bin/install -c 检查构建环境是否正常... 是 检查 arm-apple-darwin-strip... 不检查 strip... strip 配置:警告:使用不带主机三元组前缀的交叉工具检查线程安全 mkdir -p... ./install-sh -c -d 检查 gawk... 不检查 mawk... 不检查 nawk.. . 不检查 awk... awk 检查是否 make 设置 $(MAKE)... 是检查是否启用 Makefile 的维护者特定部分... 不检查构建系统类型... arm-apple-darwin10 检查主机系统键入... arm-apple-darwin 检查 arm-apple-darwin-gcc ... /Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/arm-apple-darwin10-gcc-4.2.1 检查是否C 编译器工作...没有配置:错误:在/Users/chencyz/Desktop/Development/Misc/fftw3/fftw-3.3':
configure: error: C compiler cannot create executables
See
config.log' 以获取更多详细信息
我不太清楚这个问题(C编译器不起作用?),谁能给我一些指导,非常感谢!