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

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

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

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

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

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

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

Подробный пример этого процесса показывают в Fixed-Point Designer, Подающем Типы данных с фиксированной точкой Используя пример Инструментирования Min/Max.