Используйте fipref
DataTypeOverride
свойство заменить fi
объекты с одиночными играми, удваивается, или масштабируемый удваивается. Переопределение типа данных только происходит когда fi
функция конструктора называется. Объекты, которые создаются, в то время как переопределение типа данных включено, имеют замененный тип данных. Они обеспечивают тот тип данных, когда переопределение типа данных позже выключено. Чтобы получить объект с типом данных, который не является типом данных переопределения, необходимо создать объект, когда переопределение типа данных прочь:
p = fipref('DataTypeOverride', 'TrueDoubles') p = NumberDisplay: 'RealWorldValue' NumericTypeDisplay: 'full' FimathDisplay: 'full' LoggingMode: 'Off' DataTypeOverride: 'TrueDoubles' a = fi(pi) a = 3.1416 DataTypeMode: Double p = fipref('DataTypeOverride', 'ForceOff') p = NumberDisplay: 'RealWorldValue' NumericTypeDisplay: 'full' FimathDisplay: 'full' LoggingMode: 'Off' DataTypeOverride: 'ForceOff' a a = 3.1416 DataTypeMode: Double b = fi(pi) b = 3.1416 DataTypeMode: Fixed-point: binary point scaling Signedness: Signed WordLength: 16 FractionLength: 13
Совет
Сбрасывать fipref
возразите против его использования значений по умолчанию reset(fipref)
или reset(p)
, где p
fipref
объект. Это полезно, чтобы гарантировать, что переопределение типа данных и логгирование выключены.
Выбор масштабирования для переменных фиксированной точки в ваших алгоритмах может затруднить. В программном обеспечении Fixed-Point Designer™ можно использовать комбинацию переопределения типа данных и логгирования min / макс. логгирования, чтобы помочь вам обнаружить числовые области значений, которые должны покрыть ваши типы данных с фиксированной точкой. Эти области значений диктуют соответствующие масштабирования для ваших типов данных с фиксированной точкой. В общем случае процедура
Реализуйте свой алгоритм с помощью фиксированной точки fi
объекты, с помощью начальной буквы “лучше всего предполагают” для размеров слова и масштабирований.
Установите fipref
DataTypeOverride
свойство к ScaledDoubles
, TrueSingles
, или TrueDoubles
.
Установите fipref
LoggingMode
свойство к on
.
Используйте maxlog
и minlog
функции, чтобы регистрировать максимальные и минимальные значения, достигнутые переменными в вашем алгоритме в режиме с плавающей точкой.
Установите fipref
DataTypeOverride
свойство к ForceOff
.
Используйте информацию, полученную на шаге 4, чтобы установить фиксированную точку, масштабирующуюся для каждой переменной в вашем алгоритме, таким образом, что полная числовая область значений каждой переменной является представимой ее типом данных и масштабированием.
Подробный пример этого процесса показывают в Fixed-Point Designer Поданные Типы данных Используя пример Инструментирования Min/Max.