对于我当前的 C++ / Qt 项目,我需要一个库(首选 LGPL),它可以根据信号(基本上是双精度数组)计算频谱图。我已经将 Qwt 用于 GUI 部分。

有什么建议么?谢谢。

有帮助吗?

解决方案

将您自己的频谱图放在一起将相当容易。步骤是:

  1. 窗口函数(相当微不足道, 例如汉宁)
  2. FFT(FFTW 将是 一个不错的选择,但如果许可是一个 问题然后去 Kiss FFT 或 相似)
  3. 计算对数幅度 频域分量 (琐碎:log(sqrt(re * re + im * im))

其他提示

“如何创建频率与时间图?” 列出了几个库,每个库都可以根据信号计算频谱图。

从我自己的答案中复制并粘贴:

一些要生成的源代码 频谱图 / 瀑布图 从音频数据:

图像到频谱图 与上述实用程序的方向相反。

您可以使用FFTW(fftw.org)来计算频谱,你仍然需要绘制的数据,但是这不应该是一个问题。

可以使用FFT码从此处 >。它使用C ++模板元编程的效率。完整源是由作者此处

这是建议以包括此代码到本征供其使用的模板化(类型友好)码。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top