Данные фиксированной точки в MATLAB и Simulink

Данные фиксированной точки в Simulink

Можно использовать fixdt функция в Simulink®, чтобы задать тип данных с фиксированной точкой. fixdt функция создает Simulink.NumericType объект.

Тип данных с фиксированной точкой и масштабирующееся обозначение

Имена типов данных Simulink должны быть допустимыми идентификаторами MATLAB® меньше чем с 128 символами. Имя типа данных предоставляет информацию о контейнерном типе, кодировании номера и масштабировании.

Следующая таблица обеспечивает ключ для различных символов, которые, кажется, в продуктах Simulink указывают на тип данных и масштабирование значения фиксированной точки.

Символ

Описание

Пример

Контейнерный тип

ufix

Тип данных с фиксированной точкой без знака

ufix8 8-битный тип данных с фиксированной точкой без знака

sfix

Тип данных с фиксированной точкой со знаком

sfix128 128-битный тип данных с фиксированной точкой со знаком

fltu

Масштабируемое двойное переопределение типа данных с фиксированной точкой без знака (ufix)

fltu32 масштабированное, удваивает переопределение ufix32

flts

Масштабируемое двойное переопределение типа данных с фиксированной точкой со знаком (sfix)

flts64 масштабированное, удваивает переопределение sfix64

Кодирование номера

e

10^

125e8 равняется 125*(10^(8))

n

Отрицательный

n31 равняется -31

p

Десятичная точка

1p5 равняется 1.5

p2 равняется 0.2

Масштабирование кодирования

S

Наклон

ufix16_S5_B7 16-битный тип данных с фиксированной точкой без знака с Slope из 5 и Bias из 7

B

Смещение

ufix16_S5_B7 16-битный тип данных с фиксированной точкой без знака с Slope из 5 и Bias из 7

E

Фиксированная экспонента (2^)

Отрицательная фиксированная экспонента описывает дробную длину

sfix32_En31 32-битный тип данных с фиксированной точкой со знаком с дробной длиной 31

F

Наклонный поправочный коэффициент

ufix16_F1p5_En50 16-битный тип данных с фиксированной точкой без знака с SlopeAdjustmentFactor из 1.5 и FixedExponent из -50

C, c, D, или d

Сжатое кодирование для Смещения

Примечание

Если вы передаете этот вектор символов slDataTypeAndScale функция, это возвращает допустимый fixdt тип данных.

Никакой доступный пример. Для назад совместимости только.

Идентифицировать и заменять вызовы slDataTypeAndScale, используйте Проверку на вызовы slDataTypeAndScale проверки Model Advisor.

T или t

Сжатое кодирование для Наклона

Примечание

Если вы передаете этот вектор символов slDataTypeAndScale, это возвращает допустимый fixdt тип данных.

Никакой доступный пример. Для назад совместимости только.

Идентифицировать и заменять вызовы slDataTypeAndScale, используйте Проверку на вызовы slDataTypeAndScale проверки Model Advisor.

Данные фиксированной точки в MATLAB

Чтобы присвоить тип данных с фиксированной точкой номеру или переменной в MATLAB, используйте fi (Fixed-Point Designer) конструктор. Получившееся значение фиксированной точки называется fi объект. Например, следующее создает fi a объектов и b с атрибутами, показанными в отображении, все из которых мы можем задать, когда переменные создаются. Обратите внимание на то, что, когда FractionLength свойство не задано, оно установлено автоматически в "лучшую точность" для данного размера слова, сохранив старшие значащие биты значения. Когда WordLength свойство не задано это значения по умолчанию к 16 битам.

a = fi(pi)
a = 

              3.1416015625

          DataTypeMode: Fixed-point: binary point scaling
            Signedness: Signed
            WordLength: 16
        FractionLength: 13
b = fi(0.1)
b = 

        0.0999984741210938

          DataTypeMode: Fixed-point: binary point scaling
            Signedness: Signed
            WordLength: 16
        FractionLength: 18

Считайте данные фиксированной точки из рабочей области

Используйте блок From Workspace, чтобы считать данные фиксированной точки из рабочего пространства MATLAB в модель Simulink. Для этого данные должны быть в формате структуры с fi объект в values поле . В формате массивов блок From Workspace только принимает действительные, данные с двойной точностью.

Запишите данные фиксированной точки в рабочую область

Можно записать фиксированной точке выход от модели до рабочего пространства MATLAB через  блок To Workspace или в массиве или в формате структуры. Данные фиксированной точки, записанные блоком To Workspace в рабочую область в формате структуры, могут быть считаны назад в модель Simulink в формате структуры блоком From Workspace.

Масштабируемый удваивается

Масштабируемый удваивается, гибрид между числами и фиксированной точки с плавающей точкой. Fixed-Point Designer™ хранит их, как удваивается с масштабированием, знаком и сохраненной информацией о размере слова. Например, контейнер устройства хранения данных для типа данных с фиксированной точкой sfix16_En14 int16. Контейнер устройства хранения данных масштабируемого эквивалента удваивает тип данных, flts16_En14 double с плавающей точкой. Fixed-Point Designer применяет масштабирующуюся информацию к сохраненному с плавающей точкой дважды, чтобы получить реальное значение. Хранение значения в двойном почти всегда устраняет проблемы точности и переполнение.

Смотрите также

Функции