2

我用matlab软件。对于我的问题。我有一个音频信号,我在其上应用 STFT。(46 ms, specifially chosen)我从信号中取出一段 y(audio signal)并在上面使用 a FFT。然后我进入下一段,直到我的音频信号结束。

我的 WAV 文件长 10.8526 秒。如果我的采样频率为 44100Hz,这意味着我y的 is10.8526*fs = 478599.66在工作区中显示为478 6000 x2 double.

我的长度fft2048. 我的信号在较低频段下是有区别的[0 300]mfb [301 5000]并且hfb [5001 22050(fs/2)]

乐队只是一个例子,而不是实际的matlab代码。Basicall我想要(或我想要做的)是在定义的频带中获取我的 bin 的值并对其进行算术平均值。

我选择 46 ms 是因为,我希望它与长度一样fft长,或者几乎与fft. (It is not exact).Afterwards,我想尝试绘制它,但这并不重要。任何帮助表示赞赏。

4

1 回答 1

1

在大小为 n 的向量中对时域中的信号进行傅里叶变换将返回另一个大小为 n 的相同信号但在频域中的向量。

频域将从 0(直流偏移)到您的采样频率。但是你只能使用其中的一半。后半部分将具有相同的值但已镜像。

您可以通过以下方式获得每个有用箱的中心频率:

f = Fs*(0:(n/2))/n;
于 2016-12-20T11:24:59.297 回答