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

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

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

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

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

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

  • 1 - приведение перед суммой

Примечание

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

MaxProductWordLength

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

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

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

MaxSumWordLength

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

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

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

OverflowAction

Действие, которое необходимо принять при переполнении

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

  • Wrap - Перенос при переполнении. Этот режим также известен как переполнение дополнения двух.

ProductBias

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

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

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

ProductFixedExponent

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

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

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

Примечание

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

ProductFractionLength

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

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

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

Примечание

The 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 (по умолчанию)

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

Примечание

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

SumFractionLength

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

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

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

Примечание

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

SumMode

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

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

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

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

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

SumSlope

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

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

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

Примечание

SumSlope=SumSlopeAdjustmentFactor×2SumFixedExponent

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

SumSlopeAdjustmentFactor

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

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

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

Примечание

SumSlope=SumSlopeAdjustmentFactor×2SumFixedExponent

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

SumWordLength

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

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

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

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

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

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

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

SumSlope=SumSlopeAdjustmentFactor×2SumFixedExponent

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

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

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 в графическом интерфейсе пользователя.

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

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

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

F.RoundingMethod
ans =

Convergent

Чтобы задать OverflowAction от F,

F.OverflowAction = 'Wrap'
F =
 

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