Свойства объектов fimath

Математика, округление и свойства переполнения

Можно всегда писать в следующие свойства fimath объекты:

СвойствоОписаниеДопустимые значения
CastBeforeSum

Брошены ли оба операнда к типу данных суммы перед сложением

  • 0 (значение по умолчанию) — не бросает перед суммой

  • 1 — бросьте перед суммой

Примечание

Это свойство скрыто когда SumMode установлен в FullPrecision.

MaxProductWordLength

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

  • 65535 (значение по умолчанию)

  • Любое положительное целое число

MaxSumWordLength

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

  • 65535 (значение по умолчанию)

  • Любое положительное целое число

OverflowAction

Действие, чтобы взять переполнение

  • Saturate (значение по умолчанию) — Насыщает к максимальному или минимальному значению области значений фиксированной точки на переполнении.

  • Wrap — Перенеситесь на переполнении. Этот режим также известен как дополнительное переполнение two.

ProductBias

Смещение типа данных продукта

  • 0 (значение по умолчанию)

  • Любое число с плавающей запятой

ProductFixedExponent

Фиксированная экспонента типа данных продукта

  • -30 (значение по умолчанию)

  • Любое положительное или отрицательное целое число

Примечание

ProductFractionLength отрицание ProductFixedExponent. Изменение одного свойства изменяет другой.

ProductFractionLength

Дробная длина, в битах, типа данных продукта

  • 30 (значение по умолчанию)

  • Любое положительное или отрицательное целое число

Примечание

ProductFractionLength отрицание ProductFixedExponent. Изменение одного свойства изменяет другой.

ProductMode

Задает, как тип данных продукта определяется

  • FullPrecision (значение по умолчанию) — Полная точность результата сохранена.

  • KeepLSB— Сохраните младшие значащие биты. Задайте размер слова продукта, в то время как дробная длина собирается обеспечить младшие значащие биты продукта.

  • KeepMSB — Сохраните старшие значащие биты. Задайте размер слова продукта, в то время как дробная длина собирается обеспечить старшие значащие биты продукта.

  • SpecifyPrecision— задайте слово и дробные длины или наклон и смещение продукта.

ProductSlope

Наклон типа данных продукта

  • 9.3132e-010 (значение по умолчанию)

  • Любое число с плавающей запятой

Примечание

ProductSlope=ProductSlopeAdjustmentFactor×2ProductFixedExponent

Изменение одного из этих свойств влияет на другие.

ProductSlopeAdjustmentFactor

Наклонный поправочный коэффициент типа данных продукта

  • 1 (значение по умолчанию)

  • Любое число с плавающей запятой, больше, чем или равный 1 и меньше чем 2

Примечание

ProductSlope=ProductSlopeAdjustmentFactor×2ProductFixedExponent

Изменение одного из этих свойств влияет на другие.

ProductWordLength

Размер слова, в битах, типа данных продукта

  • 32 (значение по умолчанию)

  • Любое положительное целое число

RoundingMethod

Округление метода

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

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

  • Convergent — Вокруг к самому близкому. Связывает до самого близкого даже сохраненного целого числа (наименее смещенный).

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

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

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

SumBias

Смещение типа данных суммы

  • 0 (значение по умолчанию)

  • Любое число с плавающей запятой

SumFixedExponent

Фиксированная экспонента типа данных суммы

  • -30 (значение по умолчанию)

  • Любое положительное или отрицательное целое число

Примечание

SumFractionLength отрицание SumFixedExponent. Изменение одного свойства изменяет другой.

SumFractionLength

Дробная длина, в битах, типа данных суммы

  • 30 (значение по умолчанию)

  • Любое положительное или отрицательное целое число

Примечание

SumFractionLength отрицание SumFixedExponent. Изменение одного свойства изменяет другой.

SumMode

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

  • FullPrecision (значение по умолчанию) — Полная точность результата сохранена.

  • KeepLSB — Сохраните младшие значащие биты. Задайте размер слова типа данных суммы, в то время как дробная длина собирается обеспечить младшие значащие биты суммы.

  • KeepMSB — Сохраните старшие значащие биты. Задайте размер слова типа данных суммы, в то время как дробная длина собирается обеспечить старшие значащие биты суммы и больше дробных битов, чем необходимый

  • SpecifyPrecision — Задайте слово и дробные длины или наклон и смещение типа данных суммы.

SumSlope

Наклон типа данных суммы

  • 9.3132e-010 (значение по умолчанию)

  • Любое число с плавающей запятой

Примечание

SumSlope=SumSlopeAdjustmentFactor×2SumFixedExponent

Изменение одного из этих свойств влияет на другие.

SumSlopeAdjustmentFactor

Наклонный поправочный коэффициент типа данных суммы

  • 1 (значение по умолчанию)

  • Любое число с плавающей запятой, больше, чем или равный 1 и меньше чем 2

Примечание

SumSlope=SumSlopeAdjustmentFactor×2SumFixedExponent

Изменение одного из этих свойств влияет на другие.

SumWordLength

Размер слова, в битах, типа данных суммы

  • 32 (значение по умолчанию)

  • Любое положительное целое число

Для получения дополнительной информации об этих свойствах, обратитесь к fi Свойствам объектов. Изучить, как задать свойства для fimath объекты в программном обеспечении Fixed-Point Designer™, отошлите к Установке fimath Свойства объектов.

Как Связаны Свойства

Суммируйте свойства типа данных

Наклон суммы двух fi объекты связаны с SumSlopeAdjustmentFactor и SumFixedExponent свойства

SumSlope=SumSlopeAdjustmentFactor×2SumFixedExponent

Если какое-либо из этих свойств обновляется, другие изменяются соответственно.

В FullPrecision суммируйте, получившийся размер слова представлен

Ws=integer length+Fs

где

integer length=max(WaFa,WbFb)+ceil(log2(NumberOfSummands))

и

Fs=max(Fa,Fb)

Когда SumMode установлен в KeepLSB, получившийся размер слова и дробная длина определяются

Ws=заданный в  SumWordLength свойствоFs=max(Fa,Fb)

Когда SumMode установлен в KeepMSB, получившийся размер слова и дробная длина определяются

Ws=заданный в  SumWordLength свойствоFs=Wsцелочисленная длина

где

integer length=max(WaFa,WbFb)+ceil(log2(NumberOfSummands))

Когда SumMode установлен в SpecifyPrecision, вы задаете обоих слово и дробная длина или наклон и смещение типа данных суммы с SumWordLength и SumFractionLength, или SumSlope и SumBias свойства соответственно.

Свойства типа данных продукта

Наклон продукта двух fi объекты связаны с ProductSlopeAdjustmentFactor и ProductFixedExponent свойства

ProductSlope=ProductSlopeAdjustmentFactor×2ProductFixedExponent

Если какое-либо из этих свойств обновляется, другие изменяются соответственно.

В FullPrecision умножьтесь, получившийся размер слова и дробная длина представлены

Wp=Wa+WbFp=Fa+Fb

Когда ProductMode KeepLSB размер слова и дробная длина определяются

Wp=заданный в  ProductWordLength свойствоFp=Fa+Fb

Когда ProductMode KeepMSB размер слова и дробная длина

Wp=заданный в  ProductWordLength свойствоFp=Wpцелочисленная длина

где

integer length=(Wa+Wb)(Fa+Fb)

Когда ProductMode установлен в SpecifyPrecision, вы задаете обоих слово и дробная длина или наклон и смещение типа данных продукта с ProductWordLength и ProductFractionLength, или ProductSlope и ProductBias свойства соответственно.

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

Установка fimath Свойства объектов

Установка свойств fimath при Создании объекта

Можно установить свойства fimath объекты во время создания объекта включением свойств после аргументов fimath функция конструктора.

Например, чтобы установить действие переполнения на Saturate и метод округления к Convergent,

F = fimath('OverflowAction','Saturate','RoundingMethod','Convergent')
F =
 

        RoundingMethod: Convergent
        OverflowAction: Saturate
           ProductMode: FullPrecision
               SumMode: FullPrecision

В дополнение к созданию fimath объект в командной строке, можно также установить fimath свойства с помощью диалогового окна Insert fimath Constructor. Для примера этого подхода смотрите Создание fimath Конструкторы Object в графический интерфейсе пользователя.

Используя Прямую Ссылку Свойства с fimath

Можно сослаться непосредственно в свойство для установки или получения fimath значения свойства объекта с помощью MATLAB® подобная структуре ссылка. Вы делаете так при помощи периода, чтобы индексировать в свойство по наименованию.

Например, чтобы получить RoundingMethod off,

F.RoundingMethod
ans =

Convergent

Установить OverflowAction off,

F.OverflowAction = 'Wrap'
F =
 

        RoundingMethod: Convergent
        OverflowAction: Wrap
           ProductMode: FullPrecision
               SumMode: FullPrecision