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

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

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   × <reservedrangesplaceholder1>  ) + bias.

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

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

real-world value = <reservedrangesplaceholder0> × 2  -fraction length = <reservedrangesplaceholder0> × 2   0.

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

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.