注意:此函数现在可以从IoSR Matlab工具箱中以IoSR.auditory.gammatoneFast的形式使用。
-------------------------
bm=γ快速(x,cfs,fs)
bm=gammatoneFast(…,对齐)
[bm,env]=gammatoneFast(…)
[bm,env,delay]=gammatoneFast(…)
此函数获取一个输入向量,并将其通过一组四阶伽马通滤波器,中心频率由cfs指定。该函数返回一个矩阵,每个行/列对应一个滤波器输出,其中心频率由cfs中的相应元素确定。输出的方向由输入的方向决定:如果x是行向量,则输出将包含每个过滤器输出的一行,反之亦然。
中心频率可以是低于奈奎斯特速率的任何值(由采样频率fs确定)。通常,中心频率在ERB速率标度上等距分布,因此可以计算:
cfs=MakeErbCFs(低cf、高cf、数字通道)
其中,low_cf是组中的最低频率,high_cf是最高频率,numchans是组中滤波器的数量。
bm=gammatoneFast(…,align)允许应用相位对准。如果align=false,则不应用对齐(默认)。当align=true时,应用精细结构和包络对齐,以便脉冲响应峰值出现在t=0。
[bm,env]=gammatoneFast(…)返回每个过滤器的瞬时包络env。
[bm,env,delay]=gammatoneFast(…)返回通过每个gammatone滤波器的相位校准消除的延迟(以样本为单位),即,如果align=false,则延迟(n)=0。延迟是一个与cfs大小相同的向量。
基于ZZ Jin编写的代码,由DLW于2007年1月和JF Woodruff于2008年11月改编
另请参见MakeErbCFs。