带 API 的实时频谱分析仪
我正在寻找可以在 Windows 上对波形进行实时频谱分析的 C 或 C++ API。
我不完全确定需要多大的样本窗口来确定频率内容,但越小越好。例如,如果它可以处理 0.5 秒长的样本并确定 Hz 的频率内容,那就太棒了。
I'm looking for a C or C++ API that will give me real-time spectrum analysis of a waveform on Windows.
I'm not entirely sure how large a sample window it should need to determine frequency content, but the smaller the better. For example, if it can work with a 0.5 second long sample and determine frequency content to the Hz, that would be wicked-awesome.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
几年前我使用过FFTW。据说它速度很快(尽管我自己没有用它来做任何实时的事情),而且即使在 Windows 上也很容易使用。
关于窗口大小,请参见奈奎斯特-香农采样定理。
(我想在数据上使用窗口时还涉及其他问题,特别是对于低频,但我不是专家,我找不到任何关于此的有用信息,所以也许我错了。)
I used FFTW a few years ago. It is supposedly fast (though I didn't use it for anything real-time myself) and was certainly pretty easy to use, even on Windows.
Regarding the window size, see the Nyquist-Shannon sampling theorem.
(I imagine there are other issues involved when using a window on the data, particularly for low frequencies, but I'm no expert and I couldn't find any useful-looking info about this, so maybe I'm wrong.)
有关如何生成功率谱以及如何确定其频率分辨率的详细信息,请参阅我对此问题的回答:如何使用傅里叶变换从 WAV 文件中提取半精确频率
For details of how to generate a power spectrum and how to determine frequency resolution of same, please see my answer to this question: How to extract semi-precise frequencies from a WAV file using Fourier Transforms