dfilt.df1sos

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

Синтаксис

hd = dfilt.df1sos(s)
hd = dfilt.df1sos(b1,a1,b2,a2,...)
hd = dfilt.df1sos(...,g)
hd = dfilt.df1sos

Описание

hd = dfilt.df1sos(s) возвращает дискретное время, раздел второго порядка, прямая форма I объектов фильтра hd, с коэффициентами, данными в матрице s.

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

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

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

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

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

hd = dfilt.df1sos(b1,a1,b2,a2,...) возвращает дискретное время, раздел второго порядка, прямая форма I объектов фильтра hd, с коэффициентами для первого раздела, данного в b1 и векторах a1, для второго раздела, данного в b2 и векторах a2, и так далее.

hd = dfilt.df1sos(...,g) включает вектор усиления g. Элементы g являются усилениями для каждого раздела. Максимальная длина g является количеством разделов плюс один. Когда вы не задаете g, все значение по умолчанию усилений одному.

hd = dfilt.df1sos возвращает значение по умолчанию, дискретное время, раздел второго порядка, прямая форма I объектов фильтра, hd. Этот фильтр передает вход до неизменного вывода.

Примечание

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

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

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

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

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

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

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

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

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

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

Related Properties

DenAccumFrmt

AccumWordLength

DenAccumFracLength

AccumMode, CastBeforeSum

DenFrmt

CoeffWordLength

DenFracLength

CoeffAutoScale, Signed, Denominator

DenProdFrmt

ProductWordLength

DenProdFracLength

ProductMode

DenStateFrmt

DenStateWordLength

DenStateFracLength

CastBeforeSum, States

InputFrmt

InputWordLength

InputFracLength

'none'

NumAccumFrmt

AccumWordLength

NumAccumFracLength

AccumMode, CastBeforeSum

NumFrmt

CoeffWordLength

NumFracLength

CoeffAutoScale, Signed, Numerator

NumProdFrmt

ProductWordLength

NumProdFracLength

ProductMode

NumStateFrmt

NumStateWordLength

NumStateFracLength

States

OutputFrmt

OutputWordLength

OutputFracLength

OutputMode

ScaleValueFrmt

CoeffWordLength

ScaleValueFracLength

CoeffAutoScale, ScaleValues

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

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

Свойства

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

Примечание

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

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

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

PropertyName

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

AccumMode

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

AccumWordLength

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

Arithmetic

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

CastBeforeSum

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

CoeffAutoScale

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

CoeffWordLength

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

DenAccumFracLength

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

DenFracLength

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

DenProdFracLength

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

DenStateFracLength

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

DenStateWordLength

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

FilterStructure

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

InputFracLength

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

InputWordLength

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

NumAccumFracLength

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

NumFracLength

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

NumStateFracLength

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

NumWordFracLength

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

OptimizeScaleValues

Когда верный, фильтр пропускает масштабирование multiplication-one. Когда ложь, фильтр выполняет масштабирование multiplication-one.

OutputFracLength

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

OutputMode

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

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

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

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

OutputWordLength

Решает, что размер слова запросил выходные данные.

OverflowMode

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

ProductMode

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

ProductWordLength

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

PersistentMemory

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

RoundMode

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

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

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

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

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

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

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

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

ScaleValueFracLength

Масштабируйтесь значения работают с фильтрами SOS. Установка этого свойства управляет, как ваш фильтр интерпретирует значения шкалы путем установки дробной длины. Только доступный, когда вы отключаете AutoScaleMode путем установки его на false.

ScaleValues

Масштабирование для объектов фильтра в фильтрах SOS.

Signed

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

SosMatrix

Содержит коэффициенты фильтра как значения свойств. Отображается матрица в формате [разделяет x тип данных коэффициентов/раздела]. Матрица SOS [15x6 double] представляет фильтр с 6 коэффициентами на раздел и 15 разделов, с помощью типа данных double, чтобы представлять коэффициенты.

States

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

StateWordLength

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

Примеры

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

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

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

|

Введенный в R2011a