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');

Figure contains an axes. The axes contains 2 objects of type line. These objects represent with 'ZeroPhase', true, with 'ZeroPhase' false.

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

Введенный в R2011a