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 обрабатывает целые числа как числа фиксированной точки с тривиальным масштабированием. В [Наклонное Смещение] представление, числа фиксированной точки представлены как
real-world value = (slope × integer) + bias.
В тривиальном случае, slope = 1 и bias = 0.
С точки зрения единственного двоичной точкой масштабирования двоичная точка справа от младшего значащего бита для тривиального масштабирования, означая, что дробная длина является нулем:
real-world value = integer × 2- fraction length = integer × 20.
В любом случае тривиальное масштабирование означает, что реальное значение равно сохраненному целочисленному значению:
real-world value = integer.
Все целые числа, включая Simulink встроенные целые числа, такие как uint8, обработаны как числа фиксированной точки с тривиальным масштабированием этим API. Однако Simulink, встроенные целые числа отличаются в том своем использовании, не заставляет лицензию на программное обеспечение Fixed-Point Designer быть проверенной.
Fixed-Point Tool позволяет вам выполнить различные переопределения типа данных на сигналах фиксированной точки в ваших симуляциях. Этот API может обработать сигналы, типы данных которых были заменены таким образом:
Сигнал, который был заменен с Single, обработан как Simulink встроенный single.
Сигнал, который был заменен с Double, обработан как Simulink встроенный double.
Сигнал, который был заменен с Scaled double, обработан как являющийся типа данных ScaledDouble.
Сигналы ScaledDouble являются гибридом между сигналами и фиксированной точки с плавающей точкой, в этом они хранятся как doubles с масштабированием, знаком и сохраненной информацией о размере слова. Значение хранится как double с плавающей точкой, но как с номером фиксированной точки, различием между сохраненным целочисленным значением и реальным значением остается. Масштабирующаяся информация применяется к сохраненному целочисленному double, чтобы получить реальное значение. Путем хранения значения в double почти всегда устраняются переполнение и проблемы точности. Обратитесь к любой отдельной странице с описанием API-функции в конце этого приложения, чтобы изучить, как эта функция обрабатывает сигналы ScaledDouble.
Для получения дополнительной информации о Fixed-Point Tool и переопределении типа данных, смотрите Fixed-Point Tool и страницу с описанием fxptdlg.