f_low
和f_high
这是我的频率最小和最大频段,我将在这两个频率值之间计算N个等距离的mel值。所以我写了
f_low=1000;
f_high=fs/2;
filt_num=26; % number of filters
stp=round(f_high/filt_num); % step
f=f_low:stp:f_high; % my frequency vector
但是我不能同等地划分我的f
向量,也许matlab中有一个函数可以做到,或者我错过了什么?请提前帮助和谢谢。
答案 0 :(得分:1)
有点挖掘让我相信你想要一个带有filt_num
条目的线性间隔向量,从f_low
开始到f_high
结束。您应该使用linspace
,如下所示:
f = linspace(f_low,f_high,filt_num);
这与您最后两行代码基本相同。请注意,只有当f_high
大于f_low
时,您的代码才有效。 linspace
没有这个问题,因为它也支持降序向量。