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Ввод'должен быть любой lowpass или highpass и не является чувствительным к регистру.

d = fdesign.halfband(spec) объект d построений и устанавливает его 'Specificationspec. Записи в 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