dfilt.df1

Дискретное время, прямая форма я фильтрую

Синтаксис

hd = dfilt.df1

Описание

hd = dfilt.df1 возвращает дискретное время по умолчанию, прямая форма I объектов фильтра, которые используют арифметику с двойной точностью. По умолчанию числитель и коэффициенты знаменателя b и установлены в 1. С этими коэффициентами фильтр передает вход выходу без изменений.

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

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

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

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

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

Примечание

a(1), ведущий коэффициент знаменателя, не может быть 0. Позволить вам изменять арифметические настройки к fixed или single, a(1) должно быть равно 1.

Структура фильтра фиксированной точки

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

Примечания о схеме потока сигналов

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

Метки используют распространенный формат — префикс, сопровождаемый словом “формат”. В этом использовании “формат” означает размер слова и дробную длину, сопоставленную с частью фильтра, упомянутой префиксом.

Например, метка InputFormat относится к размеру слова, и дробная длина раньше интерпретировала ввод данных к фильтру. Свойства формата InputWordLength и InputFracLength (как показано в таблице), хранят размер слова и дробную длину в битах. Или рассмотрите NumFormat, который обращается к слову и дробным длинам (CoeffWordLength, NumFracLength) сопоставленный с представлением коэффициентов числителя фильтра.

Метка потока сигналов

Соответствующее свойство размера слова

Соответствующее дробное свойство длины

Related Properties

DenAccumFormat

AccumWordLength

DenAccumFracLength

AccumMode, CastBeforeSum

DenFormat

CoeffWordLength

DenFracLength

CoeffAutoScale , SignedDenominator

DenProdFormat

CoeffWordLength

DenProdFracLength

ProductMode, ProductWordLength

'InputFormat'

InputWordLength

InputFracLength

'none'

NumAccumFormat

AccumWordLength

NumAccumFracLength

AccumMode, CastBeforeSum

NumFormat

CoeffWordLength

NumFracLength

CoeffAutoScale, Signed, Numerator

NumProdFormat

CoeffWordLength

NumProdFracLength

ProductWordLength, ProductMode

'OutputFormat'

OutputWordLength

OutputFracLength

OutputMode

Самый важный положение метки в схеме, которая идентифицирует, где формат применяется.

Как один пример, посмотрите на метку DenProdFormat, которая всегда следует за содействующим элементом умножения знаменателя в потоке сигналов. Метка указывает, что коэффициенты знаменателя оставляют элемент умножения с размером слова и дробной длиной сопоставленным с операциями продукта, которые включают коэффициенты знаменателя. От рассмотрения таблицы вы видите, что DenProdFormat обращается к свойствам ProdWordLength, ProductMode и DenProdFracLength это полностью задает формат знаменателя после того, как умножат (или продукт) операции.

Свойства

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

Примечание

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

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

PropertyName

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

AccumMode

Определяет, как аккумулятор выходные параметры сохранил значения. Выберите из полной точности (FullPrecision), или ли сохранить старшие значащие биты (KeepMSB) или младшие значащие биты (KeepLSB) когда выведенным результатам нужен более короткий размер слова, чем поддержки аккумулятора. Чтобы позволить вам установить размер слова и точность (дробная длина) используемый выходом от аккумулятора, устанавливает AccumMode к SpecifyPrecision.

AccumWordLength

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

Arithmetic

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

CastBeforeSum

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

CoeffAutoScale

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

CoeffWordLength

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

DenAccumFracLength

Задает дробную длину использование алгоритма фильтра, чтобы интерпретировать результаты операций продукта включающие коэффициенты знаменателя. Можно изменить значение для этого свойства, когда вы устанавливаете AccumMode к SpecifyPrecision.

DenFracLength

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

Denominator

Хранит коэффициенты знаменателя для БИХ-фильтра.

DenProdFracLength

Задает, как алгоритм фильтра интерпретирует результаты операций продукта включающие коэффициенты знаменателя. Можно изменить это значение свойства, когда вы устанавливаете ProductMode к SpecifyPrecision.

FilterStructure

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

InputFracLength

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

InputWordLength

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

NumAccumFracLength

Задает, как алгоритм фильтра интерпретирует результаты операций сложения включающие коэффициенты числителя. Можно изменить значение этого свойства после того, как вы установите AccumMode к SpecifyPrecision.

Numerator

Содержит содействующие значения числителя для фильтра.

NumFracLength

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

NumProdFracLength

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

OutputFracLength

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

OutputWordLength

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

OverflowMode

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

ProductMode

Определяет, как фильтр обрабатывает выход операций продукта. Выберите из полной точности (FullPrecision), или ли сохранить старший значащий бит (KeepMSB) или младший значащий бит (KeepLSB) в результате, когда необходимо сократить слова данных. Для вас, чтобы смочь установить точность (дробная длина) используемый выходом от умножения, вы устанавливаете ProductMode к SpecifyPrecision.

ProductWordLength

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

PersistentMemory

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

RoundMode

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

  • ceil Округление в сторону плюс бесконечности.

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

  • fix Округление в сторону нуля.

  • floor Округление в сторону минус бесконечности.

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

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

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

Signed

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

States

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

Примеры

Задайте прямую форму второго порядка, которую я структурирую для dfilt объект, hd, со следующим кодом:

b = [0.3 0.6 0.3];
a = [1 0 0.2];
hd = dfilt.df1(b,a);
% Convert hd to fixed-point filter
set(hd,'arithmetic','fixed')

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

| | |

Введенный в R2011a