exponenta event banner

Поддержка типов данных

Поддерживаемые типы данных

API для написанных пользователем S-функций с фиксированной точкой обеспечивает поддержку различных типов данных Simulink ® и Fixed-Point Designer™, включая

  • Встроенные типы данных Simulink

    • single

    • double

    • uint8

    • int8

    • uint16

    • int16

    • uint32

    • int32

  • Типы данных Simulink с фиксированной точкой, такие как

    • sfix16_En15

    • ufix32_En16

    • ufix128

    • sfix37_S3_B5

  • Типы данных, являющиеся результатом переопределения типа данных с помощью Scaled double, такие как

    • flts16

    • flts16_En15

    • fltu32_S3_B5

Дополнительные сведения см. в разделах Тип данных с фиксированной точкой и Масштабирование обозначений.

Обработка целых чисел

API рассматривает целые числа как числа с фиксированной точкой с тривиальным масштабированием. В представлении [Уклон уклона] числа фиксированных точек представлены как

действительное значение = (наклон  × целое число) + смещение.

В тривиальном случае наклон = 1 и смещение = 0. 

С точки зрения бинарного масштабирования, бинарная точка находится справа от младшего разряда для тривиального масштабирования, что означает, что длина дроби равна нулю:

действительное значение = целое число × 2-дробная длина = целое число ×  20.

В любом случае тривиальное масштабирование означает, что действительное значение равно сохраненному целому значению:

действительное значение = целое число.

Все целые числа, включая встроенные целые числа Simulink, такие как uint8, обрабатываются этим API как числа с фиксированной точкой с тривиальным масштабированием. Однако встроенные целые числа Simulink отличаются тем, что их использование не приводит к извлечению лицензии на программное обеспечение Fixed-Point Designer.

Переопределение типа данных

Инструмент Fixed-Point Tool позволяет выполнять различные переопределения типов данных для сигналов Fixed-Point в моделировании. Этот API может обрабатывать сигналы, типы данных которых были переопределены следующим образом:

  • Сигнал, который был переопределен Single рассматривается как встроенный Simulink single.

  • Сигнал, который был переопределен Double рассматривается как встроенный Simulink double.

  • Сигнал, который был переопределен Scaled double рассматривается как тип данных ScaledDouble.

ScaledDouble сигналы представляют собой гибрид между сигналами с плавающей запятой и сигналами с фиксированной запятой, поскольку они сохраняются в виде doubles с сохранением информации о масштабировании, знаке и длине слова. Значение сохраняется как плавающая точка double, но, как и в случае числа с фиксированной точкой, различие между запомненным целым значением и действительным значением остается. Информация о масштабировании применяется к сохраненному целому числу double для получения реальной стоимости. Путем сохранения значения в doubleпроблемы переполнения и точности почти всегда устраняются. Обратитесь к любой отдельной справочной странице функции API в конце этого приложения, чтобы узнать, как эта функция обращается ScaledDouble сигналы.

Дополнительные сведения об инструменте «Фиксированная точка» и переопределении типа данных см. в разделе Инструмент «Фиксированная точка».