如何优化N滤波器矢量?

时间:2014-10-16 09:10:36

标签: c++ matrix signal-processing mfcc

我有40个三角形Mel间隔滤波器组矢量,每个矢量257个元素。

我希望将它们与我的功率谱(使用20ms音频帧的FFT生成)结果相乘,然后对结果求和,这样我就可以获得梅间距功率谱。

问题虽然是257的值,其中大多数值为零是有点矫枉过正。简单地说,我只能存储非零元素而不是整个257值,但我认为有一种更聪明的方法可以应用多个滤波器组,可能使用矩阵乘法。我的推理是否正确?如果是,它是如何完成的?

1 个答案:

答案 0 :(得分:1)

你的FFT也是257分,所以它是一个简单的元素乘法?您的滤波器组可能在边缘处具有大部分零点。如果你将每个filterbank存储为第一个和最后一个非零元素的索引,你可以消除很多这些零,并将切片存储在最小值和最大值之间。

因此,要将FFT与该滤波器组相乘,可将所有FFT系数设置为低于最小值且高于最大值为零,并且只将切片乘以最小值和最大值。