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' - Многополосный проект *

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

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

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

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

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

  • N - Порядок фильтра для конечная импульсная характеристика и порядков числителя и знаменателя для БИХ.

  • 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 для разработки многополосной ограниченной конечной импульсной характеристики фильтра.

Форсируйте частотную характеристику 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