Данные фиксированной точки в 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. Получившееся значение фиксированной точки называется объектом 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 применяет масштабирующуюся информацию к сохраненному с плавающей точкой дважды, чтобы получить реальное значение. Хранение значения в двойном почти всегда устраняет проблемы точности и переполнение.

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

Функции