Данные фиксированной точки в 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 Образцовой проверки Советника.

T или t

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

Примечание

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

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

Чтобы идентифицировать и заменить вызовы slDataTypeAndScale, используйте Проверку на вызовы slDataTypeAndScale Образцовой проверки Советника.

Данные фиксированной точки в 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 workspace в модель Simulink. Для этого данные должны быть в формате структуры с объектом fi в поле values. В формате массивов блок From Workspace только принимает действительный, с двойной точностью данные.

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

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

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

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

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

Функции

Была ли эта тема полезной?