【发布时间】:2017-01-26 22:19:12
【问题描述】:
我正在对包含语音和音乐的音频文件执行 fft (stft)。我从信号中取出 1-200 的范围,并将其保存在一个变量中,例如,frequency_band1。我如何从变量中计算频率区间,该变量存储我之前应用过 fft 的特别选择的信号。?我想,在某处读到,我需要计算 fs/fftpoints。就我而言,44100/4096。我是否将它与我的变量 frequency_band1*(44100/4096) 相乘?这是在 matlab 上完成的,我需要用 stft 来完成。
【问题讨论】:
-
DFT (FFT) 的输出值位于频率
[0:n-1]/n*fs,其中n是 DFT 大小,fs是采样频率 -
@Lusi Mendo,带“n”,你的意思是fft点吗?我不太确定,因为我是 matlab 的新手。这与我的问题有什么关系,如果您能启发我,我将不胜感激。
-
我已经包含了一个示例的答案
-
@Luis Mendo 好的,谢谢,现在我明白了。最后一个问题,很抱歉打扰了,但是“numel”是否代表正弦曲线中的元素数量,以便您可以创建频率向量?
-
是的,
numel是向量x的大小。您实际上应该使用fft的输出大小,以防它与输入的大小不同(也就是说,如果您使用fft的第二个参数)。我已经编辑了
标签: matlab audio signal-processing dft