我正在从麦克风中读取数据,并想对其执行一些分析。我正在尝试生成一个频谱分析器,如下所示:

目前我所掌握的是:

我的理解是,我需要执行傅立叶分析-快速傅立叶变换?来提取分量频率及其振幅。
有没有人能确认我的理解是正确的,以及我需要应用什么类型的傅立叶变换?
目前,我正在从麦克风(使用NAudio)获取包含4k样本的帧。我得到的缓冲区是16bits/sample (简称有符号的)。作为参考,上图显示了大约半帧
我是用VB编写的,所以任何.Net库/示例(最好是在NuGet上)都是最有用的。我相信实现方式会有很大的不同,所以我需要处理的数据越少越好。
发布于 2012-05-02 09:36:32
顶部的曲线图是光谱仪的曲线图,其中每个垂直时间线基于输入波形的时间片(可能重叠)的FFT (可能是窗口的)结果的大小进行着色。要绘制的垂直点的数量(频率分辨率)与FFT的长度有关。几乎任何FFT都可以。如果您使用最常见的复数到复数的FFT,只需将每个复数输入样本的虚部设置为零,将输入波形样本的时间切片复制到“实数”部分,FFT,并获取每个复数结果框的幅值或对数幅值,然后根据您的偏好将这些值映射到颜色。
https://stackoverflow.com/questions/10406191
复制相似问题