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) инициализирует свойство filter designer 'Type' с type.' type'должно быть либо lowpass или highpass и не учитывает регистр.

d = fdesign.halfband(spec) создает d объекта и устанавливает его 'Specification'to 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);

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

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

Равномерный полуфазный фильтр с неотрицательным нулевым фазовым откликом

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

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

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 с спецификацией 'N, TW'. Вы не можете задать 'MinPhase' и 'ZeroPhase', чтобы быть одновременно 'true'.

Введенный в R2011a