问题标签 [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 投票
2 回答
517 浏览

c++ - Borland C++中的Kiss fft链接器错误

我在编译我的程序时遇到问题。我在我的项目中使用 Kiss FFT 库,但是当我尝试构建它时,我得到了这些错误:

我认为这是函数名称之前的“_”,但到目前为止我不知道如何解决它。

代码:

Unit4.cpp - gist.github.com/anonymous/fa33e0982240b00ff8c8

Unit4.h - gist.github.com/anonymous/b35e9abf93c93aeb1d45

[编辑]

我切换到 FFWT 库,但我有同样的问题。我已经编译了库并将它们添加到编译器路径和链接器路径中的 Borland 项目。

例如,当我使用

0 投票
1 回答
539 浏览

c++ - 如何释放 Kiss FFT 分配的内存?

我正在使用 FRDM-KL25Z 板来测量振动的 C++ 项目。我的代码正在运行,但我需要它在循环中运行。我的内存有问题,我没有足够的空间来存储两次值。我使用了 free() 命令,但即使我什么都没有,也无法恢复我的所有记忆。有人知道如何清理kiss-fft使用的所有内存吗?它没有免费功能,或者在列表中它所拥有的功能无法正常工作。

我有足够的内存只运行一次并显示结果。我试图用这个函数做一个循环,但即使使用免费命令,我也无法恢复我的初始记忆。

0 投票
0 回答
508 浏览

c - 在 dsPIC33 上亲吻 FFT

我一直试图让 KissFFT 在 dsPIC 上工作,但是在尝试了各种不同的方式之后,输出不是它应该的样子。我希望得到一些帮助,看看是否有任何我可能忽略的配置,或者它只是我没有想到的东西?

我在 MPLABX 中使用带有 XC16 编译器的 dsPIC33EP256MC202。

声明和内存分配。

从面包板上的加速度计获取读数并填充浮点数组(使用毕达哥拉斯将 3 轴合并为一个信号)。输入 XYZ 值按比例缩小,因为它们平均在 -2400 到 2400 之间。

一旦浮点数组充满了值,就用浮点数组中的值填充输入复数数组的实部。然后执行 Kiss FFT 并用 Kiss FFT 的 out 数组的每个实部和虚部的绝对值填充一个浮点数组 (arrayDFTOUT),最后循环使任何负值为正。

最后使用面包板上的 UART 通过串行显示输出值。

并且是结果。在执行 KissFFT 后,第一个值设置为 1 的所有零的分隔符。有任何想法吗?

控制台输出

0 投票
2 回答
832 浏览

algorithm - KissFFT and Power of Two

I have read in a lot of different places that an FFT algorithm needs to have an input array size that is a power of two, like 512 or 1024. I also found a lot of different algorithms that compute FFT, like Cooley-Tuckey and Bluestein (this one also works with numbers that follow prime factors like 2,3,5,7).

Well, I'm using KissFFT and inputting an array of length 200. Why is it working? Does someone know what is happening in this case? Is it truncating the size to 128 (2^7), or maybe using another algorithm? If it is using another algorithm, does it still give the right answer but just take longer to compute? (Time is not actually a problem for me in this case.)

0 投票
2 回答
2987 浏览

matlab - 计算傅立叶变换之前的fftshift:Matlab

我正在查看 matlab 项目中的一些 FFT 代码,FFT 和逆 FFT 是这样计算的:

我试图在网上找到一些信息,但不知道为什么在计算 FFT 之前需要完成 fftshift。

我的另一个问题是这是否真的是 Matlab 特有的东西。例如,我计划将此代码移植到 C++ 并使用 KISS FFT。我需要对此有所不同吗?

0 投票
1 回答
438 浏览

c - 在 Visual Studio 和 Eclips 中包含 Kiss_FFT 库

几天前我开始学习 C,我想在 Visual Studio 和Eclips 中包含KISS_FFT 库。请帮助我如何做到这一点。

您将在此链接中找到该库:

0 投票
1 回答
978 浏览

signal-processing - Kiss fft 在给它超过 32 个样本后不起作用

我正在尝试从加速度计中获取数据并将 Kiss FFT 应用于样本。我正在使用飞思卡尔 Kinetis FRDM-K22F 板。我想使用 64 个样本,但是当我运行程序时,我收到一条错误消息:“kiss fft 使用错误:不正确的分配”程序只是停止并且不返回任何错误。给它更多的样本会得到类似的结果。

我尝试了如何设置 FFT 并关注了一些网站和论坛帖子:

Kiss_fftr 的 KissFFT 输出

http://digiphd.com/programming-reconstruction-fast-fourier-transform-real-signal-kiss-fft-libraries/

在 dsPIC33 上亲吻 FFT

据我所知,我没有做任何与上述网站和论坛所做的不同的事情。我在下面包含了我的代码。非常感谢任何帮助或建议。

0 投票
0 回答
87 浏览

kissfft - KISS_FTT 应用于 o 大型阵列,其中 2048 个样本的窗口从 100 移动到 100

我必须通过一个大数组(读取音频文件产生 86 464 个结果),其中有一个从 100 到 100 的 2048 个样本的 Kiss_fft 窗口,并将每个结果(一个 2048 个数组)作为矩阵中的列。目标是从音频文件中获取语音图像。

我在 Matlab 中做了这个:

它工作得很好,但我的 C 实现有问题:

我没有错误或警告,但它崩溃了。

0 投票
0 回答
313 浏览

c - Kissfft 函数的链接器错误(语言:C/C++)

我正在尝试使用 Kiss_fft 库进行简单的 FFT,但我不断收到链接错误,并希望有人能阐明这种情况。这是我的代码(我希望就kiss_fft的使用而言是正确的):

这是我得到的错误:

根据kissFFT的自述文件,我唯一需要包含的是kiss_fft标头,我应该没问题。除此之外,程序本身根本没有涉及,我不确定可能是什么问题。C 也不是我的首选语言,所以我可能做错了什么。有任何想法吗?

0 投票
1 回答
1174 浏览

audio - 如何将真实的kiss_fft用于音频分析仪?

我正在尝试实现吻 FFT 实际计算。

我相信每个人都知道我不是第一个在这里询问kiss FFT的人,也不是专门询问kiss_fftr的人。我对 FFT 相当陌生,但已经掌握了大部分基础知识,现在正尝试在 ATxmega192A3 的音频分析仪中实现它。

这是我复制和修改的基本代码,试图将 512 个 8 位 ADC 样本输入 FFT 以获得 256 个输出频率箱。

以下是我的问题:

  1. 出垃圾箱中是否有任何重叠?意思是如果我正在查看.. 说 12Hz 输出箱是否仅显示 12Hz 而不是部分在 12.1Hz 中舍入(我知道音频不是那么精确,所以会有残留的物理效应导致干扰)?

  2. 我很难弄清楚如何使用 Kiss_fftr_cfg。我不确定所有选项都标记在哪里,只要将其与 8 位整数(或 16 位)一起使用,但这是否意味着我的所有输入样本都需要为 16 位?之前代码中的所有内容,包括cfg 的声明除了他所做的前两个 int 声明之外我不理解,并且不确定他为什么使用 memset 而不是允许kiss_fftr 分配空间。我在哪里可以找到更多信息??我已经浏览了大部分包含带有kiss_fft的文件,并且似乎没有找到太多有用的信息来挖掘代码,花费数小时和数小时。