从音频样本中获取频率和幅度

信息处理 声音的 频率 振幅
2022-02-17 03:40:01

我想知道如何从 16 位样本中获得频率和幅度。我实际上有一个 16 位有符号 int 数组,我想获得每个样本的频率和幅度。我听说过 FTT 和其他东西,但我对音频信号处理有点陌生。任何意见,将不胜感激,

谢谢。

3个回答

我想知道如何从 16 位样本中获取频率和幅度

这是没有意义的。单个样本只是一个数字。

数字没有频率。

数字本身就是幅度。

这取决于您想要什么:您是想编写自己的代码,还是只是为了找到解决方案?在第一种情况下,您必须学习很多:https ://en.wikipedia.org/wiki/Fourier_transform ,或者简单地使用 Matlab 或 Octave 函数。他们有很好的帮助。如果您只想进行一些基本分析,您可以尝试使用 Audacity 免费工具,该工具确实具有光谱分析,并且能够加载包含样本的文件。

我不知道这是否会有所帮助,但可以将单个样本视为以下信号x[n]=aδ[n]只为n=0,那么在单个样本的 这种解释下,相关的离散时间傅里叶变换将是:

X(ejω)=n=x[n]ejωn=n=00aejωn=a

因此我们有X(ejω)=a其频率为全部(幅度为a)且相位为零...