fdesign.halfband

Объект спецификации полуленточного фильтра

Синтаксис

d = fdesign.halfband
d = fdesign.halfband('type',type)
d = fdesign.halfband(spec)
d = fdesign.halfband(spec,specvalue1,specvalue2,...)
d = fdesign.halfband(specvalue1,specvalue2)
d = fdesign.halfband(...,fs)
d = fdesign.halfband(...,magunits)

Описание

d = fdesign.halfband создает объект d спецификации полуленточного фильтра, применяя значения по умолчанию для свойств tw и ast.

Используя fdesign.halfband наряду с design метод генерирует Систему object™, если флаг 'SystemObject' в методе design установлен в true.

d = fdesign.halfband('type',type) инициализирует свойство 'Type' разработчика фильтра с type. 'type' должен быть или lowpass или highpass и не является чувствительным к регистру.

d = fdesign.halfband(spec) объект d построений и наборы его 'Specification' к spec. Записи в spec представляют различные функции ответа фильтра, такие как порядок фильтра, которые управляют проектом фильтра. Действительные доступы для spec показывают ниже. Эти опции не являются чувствительными к регистру.

  • tw, ast (spec по умолчанию)

  • n, tw

  • n

  • n, ast

где,

  • \ast затухание в полосе задерживания в децибелах (модули по умолчанию).

  • n отфильтруйте порядок.

  • tw — ширина области перехода между передачей и полосами задерживания. Заданный в нормированных единицах частоты.

По умолчанию все спецификации частоты приняты, чтобы быть в нормированных единицах частоты. Кроме того, все спецификации значения приняты, чтобы быть в дБ. Различные типы спецификации могут иметь различные методы разработки в наличии.

Методы разработки фильтра, которые применяются к изменению объекта спецификации полуленточного фильтра в зависимости от выбора Specification. Используйте designmethods, чтобы определить, какой метод разработки применяется к объекту и его выбору спецификации. Различные методы разработки фильтра также имеют опции, которые можно задать. Используйте designopts с методом разработки видеть доступные параметры. Например:

f=fdesign.halfband('N,TW');
designmethods(f)

d = fdesign.halfband(spec,specvalue1,specvalue2,...) создает объект d и устанавливает его спецификации во время создания.

d = fdesign.halfband(specvalue1,specvalue2) создает объект d, принимающий свойство Specification по умолчанию tw,ast, с помощью значений, вы предусматриваете входные параметры specvalue1 и specvalue2 для tw и ast.

d = fdesign.halfband(...,fs) добавляет аргумент fs, заданный в Гц, чтобы задать частоту дискретизации, чтобы использовать. В этом случае все частоты в спецификациях находятся в Гц также.

d = fdesign.halfband(...,magunits) задает модули для любой спецификации значения, которую вы обеспечиваете во входных параметрах. magunits может быть одним из

  • linear — задайте значение в линейных модулях

  • dB — задайте значение в дБ (децибелы)

  • squared — задайте значение в блоках питания

Когда вы не используете аргумент magunits, fdesign принимает, что все значения находятся в децибелах. Обратите внимание на то, что fdesign хранит все спецификации значения в децибелах (преобразовывающий в децибелы когда необходимый) независимо от того, как вы задаете значения.

Примеры

свернуть все

Создайте объект спецификаций полуленточного фильтра по умолчанию.

d=fdesign.halfband;

Создайте другой объект полуленточного фильтра, передав значения спецификации объекту вместо того, чтобы принять значения по умолчанию для n и ast.

d2 = fdesign.halfband('n,ast', 42, 80);

Для другого примера передайте значения фильтра, которые соответствуют Спецификации по умолчанию - n, ast.

d3 = fdesign.halfband(.01, 80);

Этот пример разрабатывает equiripple КИХ-фильтр, запускающийся путем передачи нового типа спецификации и значений спецификации к fdesign.halfband.

hs = fdesign.halfband('n,ast',80,70);
hd =design(hs,'equiripple','SystemObject',true);

В этом примере передайте спецификации для фильтра, и затем разработайте КИХ-фильтр наименьших квадратов от объекта, с помощью firls как метод разработки.

hs = fdesign.halfband('n,tw', 42, .04);
hd2 = design(hs,'firls','SystemObject',true);

Создайте два equiripple полуленточных фильтра с и без неотрицательного нулевого фазового отклика:

f=fdesign.halfband('N,TW',12,0.2);

Полуленточный фильтр Equiripple с неотрицательным нулевым фазовым откликом

Hd1 = design(f,'equiripple','ZeroPhase',true,'SystemObject',true);

Полуленточный фильтр Equiripple с нулевой ложью фазы 'zerophase', ложь является значением по умолчанию

Hd2=design(f,'equiripple','ZeroPhase',false,'SystemObject',true);

Получите амплитуды с действительным знаком (не значения)

[Hr_zerophase,~]=zerophase(Hd1);
[Hr,W]=zerophase(Hd2);

Постройте и сравните ответ

plot(W,Hr_zerophase,'k','linewidth',2);
xlabel('Radians/sample'); ylabel('Amplitude');
hold on;
plot(W,Hr,'r');
axis tight; grid on;
legend('with ''ZeroPhase'', true','with ''ZeroPhase'' false');

Обратите внимание на то, что амплитуда нулевого фазового отклика (черная линия) является неотрицательной для всех частот. Опция 'ZeroPhase' допустима только для equiripple проектов полуполосы с and, TW' спецификация. Вы не можете задать 'MinPhase' и 'ZeroPhase', чтобы быть одновременно 'верными'.

Введенный в R2011a