exponenta event banner

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

Свойства «Математика», «Округление» и «Переполнение»

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

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

Выполняется ли приведение обоих операндов к типу данных sum перед добавлением

  • 0 (по умолчанию) - не приводить перед суммой

  • 1 - отливка перед суммой

Примечание

Это свойство скрыто, когда SumMode имеет значение FullPrecision.

MaxProductWordLength

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

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

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

MaxSumWordLength

Максимально допустимая длина слова для типа данных sum

  • 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 = ProductSlopeAdjustiveFactor × 2ProductFixedExponent

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

ProductSlopeAdjustmentFactor

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

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

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

Примечание

ProductSlope = ProductSlopeAdjustiveFactor × 2ProductFixedExponent

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

ProductWordLength

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

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

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

RoundingMethod

Метод округления

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

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

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

  • Zero - Округлый к нулю.

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

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

SumBias

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

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

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

SumFixedExponent

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

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

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

Примечание

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

SumFractionLength

Длина дроби, в битах, типа данных sum

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

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

Примечание

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

SumMode

Определяет способ определения типа данных суммы

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

  • KeepLSB - Сохранить младшие биты. Укажите длину слова типа sum data, в то время как длина дроби устанавливается для сохранения младших битов суммы.

  • KeepMSB - Сохранить наиболее важные биты. Укажите длину слова типа sum data, в то время как длина дроби устанавливается так, чтобы поддерживать наиболее значащие биты суммы и не более дробные биты, чем необходимо

  • SpecifyPrecision - укажите длину слова и дроби или наклон и смещение типа данных sum.

SumSlope

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

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

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

Примечание

SumSlope = SumSlopeAdjustiveFactor × 2SumFixedExponent

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

SumSlopeAdjustmentFactor

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

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

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

Примечание

SumSlope = SumSlopeAdjustiveFactor × 2SumFixedExponent

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

SumWordLength

Длина слова в битах типа данных sum

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

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

Дополнительные сведения об этих свойствах см. в разделе Свойства объекта fi. Как задать свойства для fimath объекты в программе Fixed-Point Designer™ см. раздел Настройка свойств объекта fimath.

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

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

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

SumSlope = SumSlopeAdjustiveFactor × 2SumFixedExponent

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

В FullPrecision sum, результирующая длина слова представлена

Ws целочисленная длина + Fs

где

целочисленная длина = max (Wa Fa, Wb − Fb) + ceil (log2 (NumberOfSummands))

и

Fs = max (Fa, Fb)

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

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

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

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

где

целочисленная длина = max (Wa Fa, Wb − Fb) + ceil (log2 (NumberOfSummands))

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

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

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

ProductSlope = ProductSlopeAdjustiveFactor × 2ProductFixedExponent

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

В FullPrecision умножить, результирующие длина слова и длина дроби представлены

Wp = Wa + WbFp = Fa + Fb

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

Wp = указано в свойстве  ProductWordLength Fp = Fa + Fb

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

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

где

целочисленная длина = (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 с помощью диалогового окна «Вставить конструктор fimath». Пример этого подхода см. в разделе Построение конструкторов объектов fimath в графическом интерфейсе пользователя.

Использование прямых ссылок на свойства с помощью fimath

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

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

F.RoundingMethod
ans =

Convergent

Для установки OverflowAction из F,

F.OverflowAction = 'Wrap'
F =
 

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