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

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

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.