问题标签 [kissfft]

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 投票
0 回答
223 浏览

c++ - 在 3D 矩阵上使用 Kiss_fftnd 时结果错误?

我正在尝试在一些 3D 矩阵上使用 Kiss FFT,但我的结果与使用 Matlab 时得到的结果不匹配。我想知道是否有人可以帮助我确定我是否使用错误的库。

如果在 Matlab 中对以下 2x3x2 矩阵进行 fftn

我得到这个结果

在使用 Kiss_fftnd 执行 FFT 时,我得到了这个结果(当手动格式化结果时)。注意第二行第二列的区别。

我在 C++ 中表示矩阵时使用行主排序,因此输入数组如下

这是我使用 Kiss FFT 执行 FFT 的代码:

我得到的输出如下(添加i到标记复杂部分):

使用图书馆时我做错了吗?我认为 Kiss FFT 使用行主排序(我尝试过使用列主排序,但与 Matlab 相比我仍然得到错误的结果。)

0 投票
1 回答
406 浏览

ios - FFTW 在 KISS FFT 中的 fftw_plan_r2r_2d 等价

目前,我正在使用 FFTW 的“fftw_plan_r2r_2d”,其中 FFTW_REDFT10 作为一种,FFTW_ESTIMATE 作为我项目中的标志。我正在考虑使用 KISSFFT 进行转换。我需要在 KISS FFT 中执行相同操作所需的一组调用。

我正在开发一个 ios 应用程序,所以我想知道是否可以使用 ios Accelerate Framework 进行转换。

0 投票
2 回答
533 浏览

c++ - 在同一个应用程序中编译带有浮动和双重支持的吻 fft

我试图让kiss fft使用visual studio 2013在同一个应用程序中编译float和double实现。我看到我需要做的就是将kiss_fft_scalar设置为double并重新编译以获得double。

为此,我整理了一个标头,其中包含带有 Kiss_fft_scalar 的标头在 2 个不同的命名空间中更改,如下所示:

但是,我无法弄清楚如何包含 cpp 代码。我试过单独的 KissFloat 和 KissDouble 文件。然后我在 cpp 文件中尝试了一些东西,但我尝试的一切都以编译错误结束。通常与结构重定义有关。

任何人都可以想出一种方法来完成这项工作吗?还是我最好使用模板重写kiss fft?

0 投票
1 回答
253 浏览

c++ - 如何在fft之后设置我的阵列的频带

如何从 KissFFT 为我的阵列设置频带?采样频率为 44100,我需要将其设置为我的数组 realPartFFT。我不知道,它是如何工作的。我需要绘制我的频谱图,看看它是否正确。当我现在绘制它时,它在 x 轴上仍然只有 513 个数字,没有指定的频率。

0 投票
1 回答
162 浏览

c - 在 Beaglebone black 上运行 KissFFT 时出错

我正在尝试在 BeagleBone Black 上使用 KissFFT,运行 Debian 7.5 和 3.8 内核。当我尝试运行程序时,程序已编译,它显示错误

真正的 FFT 优化必须是偶数

.

相同的程序可以在 Ubuntu 笔记本电脑上正常运行。我也尝试了各种fft 窗口长度,但错误仍然相同。谁能指出我哪里出错了?特此附上代码和要点并突出显示。

我使用以下方法编译它:

gcc -g sinwave.c Kiss_fft.c 工具/kiss_fftr.c -o fsin -I "kiss_fft130/" -lm

0 投票
1 回答
183 浏览

c++ - Kiss_fftr 后跟 Kiss_fftri(具有非常大的窗口大小)不返回输入信号

我正在较短的音频剪辑(44100 * 14 个样本)和较长的音频剪辑(44100 * 60 * 6 个样本)之间执行互相关。据我了解,因此我无法打开 FFT。在测试kiss_fftr 和kiss_fftri 时,我发现逆运算返回的噪声很大(但在节奏上仍与输入相似)。我已经确认我的输入音频是正确的,并且损坏仅发生在此函数中:

与输入相比,输出如下所示: 放大以显示细节:

如果您想知道内存,该程序是 64 位的,只使用几 GB 的内存(只是几场演出,没什么大不了的:P)

0 投票
0 回答
237 浏览

c++ - 从 KissFFT 和 QAudioProbe 创建频谱

我正在尝试通过QAudioProbe创建一个简单的频谱,但我的频谱没有“感觉节拍”。频谱中的每个 bin 都会变得高低。 这是我来自 QAudioProbe 的代码处理缓冲区:

我不知道上面的代码有什么问题。我一直在尝试很多其他方法,但光谱仍然很奇怪。

0 投票
1 回答
169 浏览

c - 没有从 Kissfft 获得图像的 2d-fft invrese

我正确地获得了图像的 2d-fft,但没有从同一图像的 2d-fft 中得到相反的结果。
从同一张图像的 2d-fft 得到逆的正确要求是什么???

0 投票
1 回答
409 浏览

c++ - 使用 KissFFT 获取频域图像并返回

我们已经编译了 KissFFT 库,它似乎运行良好,但我们不确定如何使用它来获取 2d 图像的频域。任何帮助都会很棒。

PS。我们在 After Effects SDK 中运行它。

0 投票
0 回答
136 浏览

fft - Kiss FFT:逆 2D 变换后跟前向变换给出错误的结果

下面的代码对 4x4 频率数组(设置为谐波数)进行逆 2D FFT,然后对结果进行正向 FFT。缩小结果,它应该等于原始频率。其中一些确实匹配,但其中一些明显不同。我究竟做错了什么?

输出是