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
.