Спецификация фильтра октавы
d = fdesign.octave(l)
d = fdesign.octave(l, MASK)
d = fdesign.octave(l, MASK, spec)
d = fdesign.octave(...,
Fs)
d = fdesign.octave(l)
создает октавный объект спецификации фильтров d
, с l
полосы на октаву. Значение по умолчанию для l
это единица.
Примечание
Фильтры, созданные fdesign.octave
соответствовать ANSI® S1.11-2004 и стандарты МЭК 61260:1995.
d = fdesign.octave(l, MASK)
создает октавный объект спецификации фильтров d
с l
полосы на октаву и MASK
спецификация для FVTool. Доступные значения для маски:
'class 0'
'class 1'
'class 2'
d = fdesign.octave(l, MASK, spec)
создает октавный объект спецификации фильтров d
с l
полосы на октаву, MASK
спецификация для FVTool и spec
спецификация вектора символов. Доступные спецификации:
'N, F0'
(не чувствительный к регистру), где:
N
- порядок фильтра
F0
- центральная частота. Центральная частота задается в нормированных частотных модулях, принимая частоту дискретизации 48 кГц, если частота дискретизации в Гц не включена в спецификацию: d = fdesign.octave(...,
Fs)
. Если вы задаете недопустимую центральную частоту, выдается предупреждение, и центральная частота округляется до ближайшего допустимого значения. Можно определить допустимые центральные частоты для проекта при помощи validfrequencies
с твоего октавного объекта спецификации фильтров. Для примера:
d = fdesign.octave(1,'Class 1','N,F0',6,1000,44.1e3); validcenterfreq = validfrequencies(d);
Должно быть более 20 Гц и менее 20 кГц, если вы задаете частоту дискретизации. Область значений 20 Гц до 20 кГц является стандартной областью значений слуха человека.
Вычисляются согласно следующему алгоритму, если количество полос на октаву, L
, чётно:
G = 10^(3/10); x = -1000:1350; validcenterfreq = 1000*(G.^((2*x-59)/(2*L))); validcenterfreq = validcenterfreq(validcenterfreq>20 & validcenterfreq<2e4);
Вычисляются согласно следующему алгоритму, если количество полос на октаву, L
, нечетно:
G = 10^(3/10); x = -1000:1350; validcenterfreq = 1000*(G.^((x-30)/L)); validcenterfreq = validcenterfreq(validcenterfreq>20 & validcenterfreq<2e4);
Сохраняются только центральные частоты больше 20 и меньше 20 000. Центральные частоты и соответствующие верхние частоты полосы должны быть меньше частоты Найквиста, что составляет половину частоты дискретизации (samplingfreq
). Вектор частот верхней полосы (upperbandfreq
), соответствующий центральным частотам (validcenterfreq
) вычисляется с помощью следующего алгоритма:
upperbandfreq = validcenterfreq.*(G^(1/(2*L)));
validcenterfreq = validcenterfreq(upperbandfreq < samplingfreq/2);
fdesign.octave
принимает samplingfreq
48 кГц. Чтобы получить действительные нормированные центральные частоты, оставшиеся центральные частоты делятся на 24 000. validcenterfreq = validcenterfreq/24000;