dfilt.scalar

Дискретное время, скалярный фильтр

Синтаксис

dfilt.scalar(g)
dfilt.scalar

Описание

dfilt.scalar(g) возвращает дискретное время, скалярный объект фильтра с усилением g, где g является скаляром.

Сделайте этот фильтр фиксированной точкой или фильтром с одинарной точностью путем изменения значения свойства Arithmetic для фильтра hd можно следующим образом:

  • Чтобы измениться на фильтрацию с одинарной точностью, войти

    set(hd,'arithmetic','single');
  • Чтобы измениться на фильтрацию фиксированной точки, войти

    set(hd,'arithmetic','fixed');

Для получения дополнительной информации о свойстве Arithmetic, обратитесь к Арифметике.

dfilt.scalar возвращает значение по умолчанию, скаляр дискретного времени получают объект фильтра hd, с усилением 1.

Свойства

В этой таблице вы видите свойства, сопоставленные со скалярной реализацией объектов dfilt.

Примечание

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

get(hd)

где hd является фильтром.

Для получения дополнительной информации о свойствах этого фильтра или любого объекта dfilt, обратитесь к Свойствам фильтра Фиксированной точки.

PropertyName

Краткое описание

Arithmetic

Задает арифметику использование фильтра. Дает вам опции double, single и fixed. Короче говоря, это свойство задает рабочий режим для вашего фильтра.

CastBeforeSum

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

CoeffAutoScale

Задает, выбирает ли фильтр автоматически длину правильной дроби, чтобы представлять коэффициенты фильтра без переполнения. Выключение этого путем устанавливания значения к false позволяет вам изменить свойство CoeffFracLength задать используемую точность.

CoeffFracLength

Установите дробную длину использование фильтра интерпретировать коэффициенты. CoeffFracLength всегда доступен, но это только для чтения, пока вы не устанавливаете CoeffAutoScale на false.

CoeffWordLength

Задает размер слова, чтобы применяться к коэффициентам фильтра.

FilterStructure

Описывает поток сигналов для объекта фильтра, включая все активные элементы, которые выполняют операции во время фильтрации — усиления, задержки, суммы, продукты и ввод/вывод.

Gain

Возвращает усиление для скалярного фильтра. Скалярные фильтры не изменяют входные данные кроме путем добавления усиления.

InputFracLength

Задает дробную длину использование фильтра, чтобы интерпретировать входные данные.

InputWordLength

Задает размер слова, примененный, чтобы интерпретировать входные данные.

OutputFracLength

Определяет, как фильтр интерпретирует выходные данные фильтра. Можно изменить значение OutputFracLength, когда вы устанавливаете OutputMode на SpecifyPrecision.

OutputMode

Устанавливает режим использование фильтра масштабировать отфильтрованные данные для вывода. У вас есть следующий выбор:

  • AvoidOverflow — направляет фильтр, чтобы установить размер слова выходных данных и дробную длину стараться не заставлять данные переполняться.

  • BestPrecision — направляет фильтр, чтобы установить размер слова выходных данных и дробную длину максимизировать точность в выходных данных.

  • Определение точности позволяет вам установить слово и дробные длины, используемые выходными данными от фильтрации.

OutputWordLength

Определяет размер слова, используемый для выходных данных.

OverflowMode

Устанавливает режим, используемый, чтобы ответить на условия переполнения в вычислениях с фиксированной точкой. Выберите или из saturate (ограничьте вывод самым большим положительным или отрицательным представимым значением), или wrap (установленные переполняющиеся значения к самому близкому представимому значению с помощью арифметики в остаточных классах). Выбор, который вы делаете, влияет только на аккумулятор и выходную арифметику. Содействующая и входная арифметика всегда насыщает. Наконец, продукты никогда не переполняются — они поддерживают полную точность.

PersistentMemory

Задает, сбросить ли состояния фильтра и память перед каждой операцией фильтрации. Позволяет вам решить, сохраняет ли ваш фильтр состояния от предыдущих выполнений фильтрации. False является настройкой по умолчанию.

RoundMode

Устанавливает режим использование фильтра квантовать числовые значения, когда значения находятся между представимыми значениями для формата данных (слово и дробные длины).

  • потолок- Вокруг к положительной бесконечности.

  • convergent - Вокруг к самому близкому представимому целому числу. Связывает к самому близкому даже сохраненному целому числу. Это наименее смещено из методов, доступных в этом программном обеспечении.

  • фиксация- Вокруг к нулю.

  • пол- Вокруг к отрицательной бесконечности.

  • самый близкий- Вокруг к самому близкому. Связывает к положительной бесконечности.

  • вокруг- Вокруг к самому близкому. Связывает к отрицательной бесконечности для отрицательных чисел, и к положительной бесконечности для положительных чисел.

Выбор, который вы делаете, влияет только на аккумулятор и выходную арифметику. Коэффициент и входная арифметика всегда вокруг. Наконец, продукты никогда не переполняются — они поддерживают полную точность.

Signed

Задает ли использование фильтра подписанные или коэффициенты фиксированной точки без знака. Только коэффициенты отражают эту установку свойства.

States

Это свойство содержит состояния фильтра прежде, во время, и после работы фильтра. Состояния действуют как память фильтра между фильтрацией выполнений или сеансов. Состояния используют объекты fi со связанными свойствами от тех объектов. Для получения дополнительной информации обратитесь к filtstates в документации Signal Processing Toolbox™ или в Системе справочной информации.

Примеры

Создайте прямую форму I объектов фильтра hd_filt и скалярный объект с усилением 3 hd_gain и расположите каскадом их вместе.

b = [0.3 0.6 0.3];
a = [1 0 0.2];
hd_filt = dfilt.df1(b,a);
hd_gain = dfilt.scalar(3);
hd_cascade=cascade(hd_gain,hd_filt);
fvtool_handle = fvtool(hd_filt,hd_gain,hd_cascade);
legend(fvtool_handle,'IIR Filter (direct form I)',...
'Gain','Cascaded Filter');

Чтобы просмотреть этапы каскадного фильтра, использовать

hd.Stage(1)

и

hd.Stage(2)

Смотрите также

|

Введенный в R2011a