exponenta event banner

fdesign.arbmag

Объект спецификации фильтра произвольной величины отклика

Синтаксис

D= fdesign.arbmag
D= fdesign.arbmag(SPEC)
D = fdesign.arbmag(SPEC,specvalue1,specvalue2,...)
D = fdesign.arbmag(specvalue1,specvalue2,specvalue3)
D = fdesign.arbmag(...,Fs)

Описание

D= fdesign.arbmag создает объект спецификации фильтра произвольной величины D.

D= fdesign.arbmag(SPEC) инициализирует Specification свойство для SPEC. Входной аргумент SPEC должна быть одной из записей, показанных в следующей таблице. Записи спецификации не чувствительны к регистру.

Примечание

Для записей спецификации, помеченных звездочкой, требуется программное обеспечение DSP System Toolbox™.

  • 'N,F,A' - Однополосный дизайн (по умолчанию)

  • 'F,A,R' - Однополосный дизайн минимального порядка *

  • 'N,B,F,A' - Многополосный дизайн

  • 'N,B,F,A,C' - Ограниченная многополосная конструкция *

  • 'B,F,A,R' - Многополосный дизайн минимального заказа *

  • 'Nb,Na,F,A' - Однополосный дизайн *

  • 'Nb,Na,B,F,A' - Многополосный дизайн *

SPEC записи определяются следующим образом:

  • A - Амплитудный вектор. Значения в A определите амплитуду фильтра в частотных точках, указанных в f, частотный вектор. Если вы используете A, вы должны использовать F также. Значения амплитуды должны быть реальными. Для проектирования сложных значений используйте fdesign.arbmagnphase.

  • B - Количество полос в многополосном фильтре

  • C - Флаг ограниченной полосы. Это позволяет ограничить пульсацию полосы пропускания в многополосном дизайне. Нельзя одновременно ограничить пульсацию полосы пропускания во всех полосах.

  • F - Частотный вектор. Значения частоты в указаны в F укажите местоположения, в которых предоставляются определенные амплитуды отклика фильтра. Когда вы предоставите F, вы также должны предоставить A.

  • N - Порядок фильтров для фильтров FIR и порядок числителей и знаменателей для фильтров IIR.

  • Nb - Порядок нумераторов для фильтров БИХ

  • Na - Порядок знаменателей для конструкций фильтров БИХ

  • R - Рябь

По умолчанию этот метод предполагает, что все спецификации частоты предоставляются с нормированной частотой.

Задание частотных и амплитудных векторов

F и A - входные аргументы, используемые для определения требуемого отклика фильтра. Каждое значение частоты, указанное в F должно иметь соответствующее значение ответа в A. В следующей таблице показано, как F и A связаны между собой.

Определение частотного вектора F как [0 0.25 0.3 0.4 0.5 0.6 0.7 0.75 1.0]

Определение вектора отклика A как [1 1 0 0 0 0 0 1 1]

Эти спецификации подключаются F и A как показано здесь:

F (нормированная частота)

A (требуемая реакция при F)

0

1

0.25

1

0.3

0

0.4

0

0.5

0

0.6

0

0.7

0

0.75

1

1.0

1

Различные спецификации могут иметь различные методы проектирования. Использовать designmethods для получения списка методов конструирования, доступных для данной спецификации и объекта спецификации фильтра.

Использовать designopts для получения списка опций конструкции, доступных для объекта спецификации фильтра и заданного метода конструкции. Войти help(D,METHOD) для получения подробной справки по доступным вариантам конструкции для данного метода конструкции.

D = fdesign.arbmag(SPEC,specvalue1,specvalue2,...) инициализирует спецификации с помощью specvalue1, specvalue2. Использовать get(D,'Description') для описания различных спецификаций specvalue1, specvalue2, ... specvalueN.

D = fdesign.arbmag(specvalue1,specvalue2,specvalue3) использует спецификацию по умолчанию 'N,F,A', установка порядка фильтрации, частотного вектора фильтрации и амплитудного вектора в значения specvalue1, specvalue2, и specvalue3.

D = fdesign.arbmag(...,Fs) определяет частоту дискретизации в Гц. Все остальные частотные характеристики также предполагаются в Гц при указании Fs.

Примеры

свернуть все

Использовать fdesign.arbmag для проектирования трехдиапазонного фильтра.

  • Определение частотного вектора F = [0 0.25 0.3 0.4 0.5 0.6 0.7 0.75 1.0].

  • Определение вектора отклика A = [1 1 0 0 0 0 0 1 1].

N = 150;
B = 3;
F = [0 .25 .3 .4 .5 .6 .7 .75 1];
A = [1 1 0 0 0 0 0 1 1];
A1 = A(1:2);
A2 = A(3:7);
A3 = A(8:end);
F1 = F(1:2);
F2 = F(3:7);
F3 = F(8:end);
d = fdesign.arbmag('N,B,F,A',N,B,F1,A1,F2,A2,F3,A3);
Hd = design(d);
fvtool(Hd)

Figure Filter Visualization Tool - Magnitude Response (dB) contains an axes and other objects of type uitoolbar, uimenu. The axes with title Magnitude Response (dB) contains 2 objects of type line.

Ответ с двумя полосами пропускания - один примерно между 0 и 0,25 и второй между 0,75 и 1 - является результатом отображения между F и A.

Использовать fdesign.arbmag для конструирования однополосного эквиппельного фильтра.

Укажите 100 точки частоты.

n = 120;
f = linspace(0,1,100);

as = ones(1,100)-f*0.2;
absorb = [ones(1,30),1-0.6*bohmanwin(10)',ones(1,5), ...
    1-0.5*bohmanwin(8)',ones(1,47)];
a = as.*absorb;

d = fdesign.arbmag('N,F,A',n,f,a);
hd1 = design(d,'equiripple');

Спроектируйте фильтр с минимальной фазой. Визуализируйте полюса и нули двух фильтров.

hd2 = design(d,'equiripple','MinPhase',true);

hfvt = fvtool(hd1,hd2,'Analysis','polezero');
legend(hfvt,'Equiripple Filter','Minimum-phase Equiripple Filter')

Figure Filter Visualization Tool - Pole-Zero Plot contains an axes and other objects of type uitoolbar, uimenu. The axes with title Pole-Zero Plot contains 6 objects of type line, text. These objects represent Equiripple Filter: Zero, Equiripple Filter: Pole, Minimum-phase Equiripple Filter: Zero, Minimum-phase Equiripple Filter: Pole.

Использовать fdesign.arbmag для создания многополосного фильтра минимального порядка.

Поместите надрезы на 0,25δ и 0,55δ рад/образец.

d = fdesign.arbmag('B,F,A,R');
d.NBands = 5;
d.B1Frequencies = [0 0.2];
d.B1Amplitudes = [1 1];
d.B1Ripple = 0.25;
d.B2Frequencies = 0.25;
d.B2Amplitudes = 0;
d.B3Frequencies = [0.3 0.5];
d.B3Amplitudes = [1 1];
d.B3Ripple = 0.25;
d.B4Frequencies = 0.55;
d.B4Amplitudes = 0;
d.B5Frequencies = [0.6 1];
d.B5Amplitudes = [1 1];
d.B5Ripple = 0.25;
Hd = design(d,'equiripple');

Визуализация частотной характеристики результирующего фильтра.

fvtool(Hd)

Figure Filter Visualization Tool - Magnitude Response (dB) contains an axes and other objects of type uitoolbar, uimenu. The axes with title Magnitude Response (dB) contains 2 objects of type line.

Использовать fdesign.arbmag для создания многополосного фильтра FIR с ограничениями.

Принудительное изменение частотной характеристики при 0,15δ рад/выборка до 0 дБ.

d = fdesign.arbmag('N,B,F,A,C',82,2);
d.B1Frequencies = [0 0.06 0.1];
d.B1Amplitudes = [0 0 0];
d.B2Frequencies = [0.15 1];
d.B2Amplitudes = [1 1];

Создайте фильтр без ограничений.

Hd1 = design(d,'equiripple','B2ForcedFrequencyPoints',0.15);

Добавьте ограничение к первой полосе, чтобы увеличить затухание.

d.B1Constrained = true;
d.B1Ripple = 0.001;
Hd2 = design(d,'equiripple','B2ForcedFrequencyPoints',0.15);

Визуализация частотной характеристики.

hfvt = fvtool(Hd1,Hd2);
legend(hfvt,'Original Design','Design with Constrained Stopband Ripple')

Figure Filter Visualization Tool - Magnitude Response (dB) contains an axes and other objects of type uitoolbar, uimenu. The axes with title Magnitude Response (dB) contains 2 objects of type line. These objects represent Original Design, Design with Constrained Stopband Ripple.

См. также

| |

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