从 PCM 信号中提取频率

信息处理 频谱 频率 频域
2022-02-08 10:24:34

我有一个 PCM(脉冲编码调制)信号。如果我想计算样本 long 的频率,我计算样本的峰/谷数,然后除以频率的等效 dB就是整个信号的等效 dBxx20Hz>20000Hz

但是,我想创建一个如下所示类型的频谱分析仪。这需要提取信号中不同频率的等效分贝。所以我需要将信号分成不同频率的不同信号,所以我有等信号。20Hz>5000Hz5000Hz>10000Hz10000Hz>20000Hz

如何从一个主信号中提取不同频率的信号?

图形均衡器

2个回答

目前尚不清楚您是否要可视化信号或处理/转换它(“图形均衡器”是一种效果/转换,在各个频带中独立调整信号电平,而不是可视化 - 一个更正确的术语,用于您发布的表示图像是“频谱分析仪”)。

目前尚不清楚您是在模拟领域还是数字领域工作,以及您想要采用哪种技术(模拟电子设备?在 DSP 芯片或微控制器上运行的计算机代码?在台式计算机上?)。

你的信号是音频信号吗?在这种情况下,您必须注意有意义的表示应该显示 20 Hz .. 20kHz 范围(人类听觉范围),并且应该以对数方式细分。

要获得这种可视化,有两种解决方案:

  • 一堆带通滤波器(以及低通和高通道的低通+高通)。然后,您测量每个波段中的(对数)能量以获得每个条的“高度”。这可以在模拟域中完成(一组用于滤波器的运算放大器、一个用于测量信号电平的整流器和一个用于以对数刻度获取能量的对数放大器;或使用 MSGEQ7 等专用 IC);或在数字域中使用数字滤波器
  • FFT + 一些相邻 bin的分组(或多或少相当于在频域中计算滤波器组)。请注意,这只能用于数字信号。

信号是 PCM 数据,因此 FFT 算法是合适的(如上所述)。有很多共享软件应用程序可以执行此操作,因此除非您对开发此类应用程序的快感感兴趣,否则请搜索“pc 频谱分析仪”之类的内容。如果您想开发应用程序,您可能希望找到一些提供预设信号处理算法的库。同样,您可以毫不费力地搜索和找到这些东西。也许其他用户可以提供对他们使用过的库的引用。