2

我有一个假设的问题来理解这个概念..

假设我捕获了一个采样率为 8000hz 的单声道语音片段,即 4096 字节的数据。通过大小为 256 的 FFT 馈送前 512 字节(16 位编码),将返回 128 个值,我将其转换为幅度。所以我这个输出的频率是

FFT BIN #1
0: 0*8000/256
1: 1*8000/256
.
.
127: 127*8000/256

到目前为止这么好?所以现在我还剩下 3584 字节的未处理数据。所以我对 512 字节的数据执行另一个 256 大小的 fft。并获得相同数量的结果.. 所以为此我再次有以下频率:

FFT BIN #2:
Example1:
0: 0*8000/256
1: 1*8000/256
.
.
127: 127*8000/256

或者

FFT BIN #2
Example2:
128: 129*8000/256
139: 130*8000/256
.
.
255: 255*8000/256

因为我想绘制这个幅度/频率图。但我不明白所有这些 fft 箱是否应该像示例 1 一样在相同的频率上重叠,或者像第二个示例那样分散。

还是我正在尝试做一些完全多余的事情?因为我想要完成的是找到每 30-50ms 时间帧的峰值放大器值,用于比较其他声音文件..

如果有人能帮我解决这个问题,我将不胜感激。

4

2 回答 2

2

您的 FFT 结果箱表示每个 FFT 中的同一组频率,如示例 #1 中所示,但时间片不同。

每个 FFT 将允许您在大约 12 毫秒的时间窗口内绘制幅度与频率的关系图。

您还可以对 FFT 幅度进行矢量求和,以获得更长时间范围内的 Welch 方法 PSD(功率谱密度)。

于 2012-07-19T14:56:59.833 回答
1

如果您想找到每 30-50 毫秒时间帧的峰值安培值,您只需绘制每个时间帧中信号的安培频谱。

此外,如果您对每帧进行 256 个样本的 FFT,那么您应该得到 129 个,而不是 128 个频率分量。第一个是直流分量,最后一个是奈奎斯特频率分量。

于 2012-07-19T15:01:18.003 回答