A 分帧

A1 简单分帧

A1-1 帧数目计算与补零

A1-2 帧划分实现

A1-3 从采样点位置倒推帧位置

A2 有重叠窗

A1-1 帧数目计算与补零

A1-2 帧划分实现

A1-3 从采样点位置倒推帧位置

A1-4 从所有帧逐段合成所有采样点数据

另一种方法就是为每帧的数据叠加上一个汉明窗后,并一段段地加到空白序列上。唯一可惜的地方就是各采样点之间没有标准化。还是得靠每个采样点位置的汉明窗之和来进行标准化。

samples_num = (len(frames) - 1) * hop_length + frame_length
h_signal = np.zeros(samples_num, dtype=np.float64)
hamming_window = np.hamming(frame_length)
for m in range(len(frames)):
    begin_sample = m * hop_length
    oend_sample = begin_sample + frame_length
    h_signal[begin_sample:oend_sample] += h_frames[m] * hamming_window
# if standardation needed
for n in range(samples_num):
    h_signal[n] /= frame_profile_of_samples[n]['hamming'].sum()

B 加窗

B1 汉明窗、汉宁窗

C 光滑函数