exponenta event banner

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 FIR-фильтр, начиная с передачи нового типа спецификации и значений спецификации в fdesign.halfband.

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

В этом примере передайте спецификации фильтра, а затем создайте фильтр FIR с наименьшими квадратами из объекта, используя 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);

Однополосный фильтр с нулевой фазой 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» действительна только для равнополосных полуполосных конструкций со спецификацией «N, TW». Нельзя одновременно задать значения MinPhase и ZeroPhase как true.

Представлен в R2011a