fixptbestprec

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

Синтаксис

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.

Примеры

Пример 1

Следующая команда возвращает максимальную точность, доступную для реального значения 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

Пример 2

Можно использовать максимальную точность в качестве масштабирования в блоках фиксированной точки. Это позволяет вам использовать 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™.

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

Представлено до R2006a