Спецификация фильтра октавы
Примечание
fdesign.octave
функция будет удалена из DSP System Toolbox™ в будущем релизе. Существующие экземпляры функции продолжают запускаться. Для нового кода используйте octaveFilter
Объект (Audio Toolbox) вместо этого.
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;