Определите максимальную точность, доступную для представления фиксированной точки значения
out = fixptbestprec(RealWorldValue,TotalBits,IsSigned)
out = fixptbestprec(RealWorldValue,FixPtDataType)
out = fixptbestprec(RealWorldValue,TotalBits,IsSigned)
определяет максимальную точность для представления фиксированной точки реального значения, заданного RealWorldValue
. Вы задаете количество битов для номера фиксированной точки с TotalBits
, и вы задаете, подписывается ли номер фиксированной точки с IsSigned
. Если IsSigned
1
, номер подписывается. Если IsSigned
0
, номер не подписывается. Максимальная точность возвращена в out
.
out = fixptbestprec(RealWorldValue,FixPtDataType)
определяет максимальную точность на основе типа данных, заданного FixPtDataType
.
Следующая команда возвращает максимальную точность, доступную для реального значения 4/3 использование 8-битного номера со знаком:
out = fixptbestprec(4/3,8,1)
out = 0.015625
В качестве альтернативы можно задать тип данных с фиксированной точкой:
out = fixptbestprec(4/3,sfix(8))
out = 0.015625
Это значение означает, что максимальная точность, доступная для 4/3, получена путем размещения шести битов справа от двоичной точки, поскольку 2-6 равняется 0.015625:
01.010101
Можно использовать максимальную точность в качестве масштабирования в блоках фиксированной точки. Это позволяет вам использовать fixptbestprec
выполнять тип автомасштабирования, если требуется определять известную область значений симуляции. Например, если ваша известная область значений-13 к 22, и вы используете запас прочности 30%:
knownMax = 22; knownMin = -13; localSafetyMargin = 30; slope = max( fixptbestprec( (1+localSafetyMargin/100)* ... [knownMax,knownMin], sfix(16) ) );
Переменная slope
может затем использоваться в выражении, которое вы задаете для параметра типа Выходных данных в маске блока. Обязательно выберите установку типа выходных данных Блокировки против изменений флажком Fixed-Point Tool в том же блоке, чтобы препятствовать тому, чтобы Fixed-Point Tool заменил масштабирование. Если вы знаете область значений, можно использовать этот метод вместо доверия симуляции модели, чтобы предоставить спектр к инструменту автомасштабирования, как описано в autofixexp
(Fixed-Point Designer).