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 сигналы.
Дополнительные сведения об инструменте «Фиксированная точка» и переопределении типа данных см. в разделе Инструмент «Фиксированная точка».