def erb_frilter_bank(x, fcoefs):
a0 = fcoefs[:, 0]
a11 = fcoefs[:, 1]
a12 = fcoefs[:, 2]
a13 = fcoefs[:, 3]
a14 = fcoefs[:, 4]
a2 = fcoefs[:, 5]
b0 = fcoefs[:, 6]
b1 = fcoefs[:, 7]
b2 = fcoefs[:, 8]
gain = fcoefs[:, 9]
output = np.zeros((np.size(gain, 0), np.size(x, 0)))
for chan in range(np.size(gain, 0)):
y1 = lfilter(np.array([a0[chan] / gain[chan], a11[chan] / gain[chan], a2[chan] / gain[chan]]),
np.array([b0[chan], b1[chan], b2[chan]]), x)
y2 = lfilter(np.array([a0[chan], a12[chan], a2[chan]]),
np.array([b0[chan], b1[chan], b2[chan]]), y1)
y3 = lfilter(np.array([a0[chan], a13[chan], a2[chan]]),
np.array([b0[chan], b1[chan], b2[chan]]), y2)
y4 = lfilter(np.array([a0[chan], a14[chan], a2[chan]]),
np.array([b0[chan], b1[chan], b2[chan]]), y3)
output[chan, :] = y4
return output
cochleagram_extractor.py 文件源码
python
阅读 29
收藏 0
点赞 0
评论 0
评论列表
文章目录