Переопределение типа данных Настроек с помощью fipref

Переопределение типа данных объектов fi

Используйте 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/max, чтобы помочь вам обнаружить числовые области значений, которые должны охватывать ваши типы данных с фиксированной точкой. Эти области значений диктуют соответствующие масштабирования для типов данных с фиксированной точкой. В целом процедура является

  1. Реализуйте свой алгоритм с помощью fi с фиксированной точкой объекты, используя начальные «лучшие догадки» для размеров слова и масштабирования.

  2. Установите fipref DataTypeOverride свойство к ScaledDoubles, TrueSingles, или TrueDoubles.

  3. Установите fipref LoggingMode свойство к on.

  4. Используйте maxlog и minlog функции для регистрации максимального и минимального значений, достигнутых переменными в вашем алгоритме в режиме с плавающей точкой.

  5. Установите fipref DataTypeOverride свойство к ForceOff.

  6. Используйте информацию, полученную на шаге 4, чтобы задать масштабирование с фиксированной точкой для каждой переменной в вашем алгоритме таким образом, чтобы полная численная область значений каждой переменной был представляема ее типом данных и масштабированием.

Подробный пример этого процесса показан в примере Fixed-Point Designer Set Types Using Min/Max Instrumentation.