我使用matlab软件。对我的问题。
我有一个音频信号,我正在申请STFT。我看一段
信号(46 ms, specifially chosen)
中出现y(audio signal)
并在其上使用FFT
。然后我进入下一段,直到我的音频信号结束。
我的WAV文件长10.8526秒。如果我有一个采样频率
44100Hz,这意味着我的y
是10.8526*fs = 478599.66
在工作区中显示为478 6000 x2 double
。
fft
的长度为2048
。我的信号在较低频段[0 300]
,mfb [301 5000]
和hfb [5001 22050(fs/2)]
下有区别。
乐队只是一个例子而不是实际的matlab
代码。 Basicall
我想要的(或者我想要做的)是在定义的频段中获取我的箱子的值并对其进行算术平均。
我选择了46毫秒,因为我希望它只要fft
长度,或者几乎和fft
一样长。 (It is not exact).Afterwards
,我想尝试绘制它,但现在这并不重要。任何帮助表示赞赏。
答案 0 :(得分:1)
在大小为n的向量中,时域中信号的傅里叶变换将返回另一个大小为n的相同信号但在频域中的向量。
频域将从0(直流偏移)到您的采样频率。但是你只能用一半。下半部分具有相同的值,但是镜像了。
您可以通过以下方式获取每个有用垃圾箱的中心频率:
f = Fs*(0:(n/2))/n;