Спецификация фильтра октавы
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 и IEC 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;