在2分钟内使用2个通道的44.1KhZ采样频率,则正在查看大量样本。实际上,在整个数量上进行一英尺实际需要花费相当长的时间,更不用说估计会产生偏差,因为信号的均值和方差将在整个持续时间内急剧变化。为了避免这种情况,您希望首先对时域信号进行帧构建,这些帧可以小至20ms-40ms(通常用于语音),并且经常重叠(频谱估计的韦尔奇方法)。然后,您可以应用诸如汉明(Hamming)或汉宁(Hanning)窗之类的窗函数来减少频谱泄漏,并为每帧计算N点fft。其中N是该帧中样本数之上的2的下一个幂。
例如:
- Fs = 8Khz,单通道;
- 时间= 120秒;
- no_samples =时间* Fs = 960000;
- 帧长T_length = 20ms;
- 样本中的帧长N_length = 160;
- 帧重叠T_overlap = 10ms;
- 样本中的帧重叠N_overlap = 80;
- 帧数N_frames =(no_samples-(N_length-N_overlap))/ N_overlap = 11999;
- FFT长度= 256;
因此,您总共将处理11999帧,但是FFT长度会很小。
您只需要256的FFT长度(比帧长160高2的整数倍)。
大多数实现fft的算法都要求信号长度和fft长度相同。
您要做的就是将零添加到已成帧的信号中,直到256。在每个帧上填充x的零数量,其中x = FFT_length-N_length。
FFT的长度N将确定频域中的分辨率:
resolution