Чтобы создать модель фиксированной точки, сконфигурируйте блоки Simulink®, чтобы вывести сигналы фиксированной точки. Блоки Simulink, которые поддерживают фиксированную точку вывод, обеспечивают параметры, которые позволяют вам задавать, должен ли блок вывести сигналы фиксированной точки и, если так, размер, масштабирование и другие атрибуты фиксированной точки вывод. Эти параметры обычно появляются на панели Signal Attributes диалогового окна параметра блока.
Следующие разделы объясняют, как использовать эти параметры, чтобы сконфигурировать блок для фиксированной точки вывод.
Много блоков Simulink позволяют вам задавать тип выходных данных и масштабирующий использование параметра, который появляется на диалоговом окне блока. Этот параметр (обычно названный Output data type) предоставляет выпадающее меню, которое перечисляет типы данных, которые поддерживает конкретный блок. В целом можно задать тип выходных данных, как правило, который наследовал тип данных, встроенный тип данных, выражение, которое оценивает к типу данных или объекту типа данных Simulink. Для получения дополнительной информации смотрите Типы данных Управляющего сигнала (Simulink).
Программное обеспечение Fixed-Point Designer™ позволяет вам сконфигурировать блоки Simulink с:
Типы данных с фиксированной точкой
Типы данных с фиксированной точкой характеризуются их размером слова в битах и их двоичной точкой — средние значения, которыми масштабируются значения фиксированной точки. Смотрите Типы данных с фиксированной точкой для получения дополнительной информации.
Типы данных с плавающей точкой
Типы данных с плавающей точкой характеризуются их знаковым битом, часть (мантисса) поле и поле экспоненты. Смотрите Числа с плавающей запятой для получения дополнительной информации.
Чтобы сконфигурировать блоки с типами данных Fixed-Point Designer, задайте параметр типа данных на диалоговом окне блока как выражение, которое оценивает к типу данных. Также можно использовать ассистент, который упрощает задачу ввода выражений типа данных (см., Задают Типы данных с фиксированной точкой с Ассистентом Типа данных). Разделы, которые следуют, описывают варианты фиксированной точки и типов данных с плавающей точкой и соответствующих функций, которые вы используете, чтобы задать их.
Чтобы задать беззнаковое целое и целые числа со знаком, используйте uint
и функции sint
, соответственно.
Например, чтобы сконфигурировать 16-битное беззнаковое целое через диалоговое окно блока, задайте параметр Output data type как uint(16)
. Чтобы сконфигурировать 16-битное целое число со знаком, задайте параметр Output data type как sint(16)
.
Для целочисленных типов данных двоичная точка по умолчанию принята, чтобы лгать праву всех битов.
Задавать без знака и подписало дробные числа, используйте ufrac
и функции sfrac
, соответственно.
Например, чтобы сконфигурировать вывод как 16-битный дробный номер без знака через диалоговое окно блока, задайте параметр Output data type, чтобы быть ufrac(16)
. Чтобы сконфигурировать 16-битный дробный номер со знаком, задайте Output data type, чтобы быть sfrac(16)
.
Дробные числа отличает от целых чисел их масштабирование по умолчанию. Принимая во внимание, что целое число со знаком и типы данных беззнаковых целых чисел имеют двоичную точку по умолчанию справа от всех битов, дробные типы данных без знака имеют двоичную точку по умолчанию слева от всех битов, в то время как подписано дробные типы данных имеют двоичную точку по умолчанию справа от знакового бита.
И и подписанные дробные типы данных без знака поддерживают "сторожевые" разряды, которые действуют, чтобы принять меры против переполнения. Например, sfrac(16,4)
задает 16-битный дробный номер со знаком с 4 "сторожевыми" разрядами. "Сторожевые" разряды лгут левым двоичной точки по умолчанию.
Вы можете задать без знака и подписали обобщенные числа фиксированной точки с ufix
и функциями sfix
, соответственно.
Например, чтобы сконфигурировать вывод как 16-битный обобщенный номер фиксированной точки без знака через диалоговое окно блока, задайте параметр Output data type, чтобы быть ufix(16)
. Чтобы сконфигурировать 16-битный обобщенный номер фиксированной точки со знаком, задайте Output data type, чтобы быть sfix(16)
.
Обобщенные числа фиксированной точки отличает от целых чисел и fractionals отсутствие масштабирования по умолчанию. Для этих типов данных блок обычно наследовал свое масштабирование от другого блока.
Также можно использовать функцию fixdt
, чтобы создать целое число, дробные, и обобщенные объекты фиксированной точки. Функция fixdt
также позволяет вам задавать масштабирование для типов данных с фиксированной точкой.
Программное обеспечение Fixed-Point Designer поддерживает числа с плавающей запятой с двойной точностью и с одинарной точностью, как задано IEEE® Standard 754-1985 для Бинарной Арифметики С плавающей точкой. Можно задать числа с плавающей запятой с функцией float
Simulink.
Например, чтобы сконфигурировать вывод как число с плавающей запятой с одинарной точностью через диалоговое окно блока, задайте параметр Output data type как float('single')
. Чтобы сконфигурировать число с плавающей запятой с двойной точностью, задайте Output data type как float('double')
.
Data Type Assistant является интерактивным графическим инструментом, который упрощает задачу определения типов данных для блоков Simulink и объектов данных. Ассистент появляется на блоке и объектных диалоговых окнах, смежных с параметрами, которые обеспечивают управление типом данных, такое как параметр Output data type. Для получения дополнительной информации о доступе и взаимодействии с ассистентом, смотрите, Задают Типы данных Используя Ассистент Типа данных (Simulink).
Можно использовать Data Type Assistant, чтобы задать тип данных с фиксированной точкой. Когда вы выбираете Fixed point
в поле Mode, ассистент отображает поля для описания дополнительных атрибутов типа данных с фиксированной точкой, как показано в этом примере:
Можно установить следующие атрибуты фиксированной точки:
Выберите, хотите ли вы, чтобы данными фиксированной точки был Signed
или Unsigned
. Данные со знаком могут представлять положительные и отрицательные количества. Данные без знака представляют положительные значения только.
Задайте размер (в битах) слова, которое будет содержать квантованное целое число. Большие размеры слова представляют большие количества с большей точностью, чем небольшие размеры слова. Размеры слова фиксированной точки до 128 битов поддерживаются для симуляции.
Задайте метод для масштабирования ваших данных фиксированной точки, чтобы избежать условий переполнения и минимизировать ошибки квантования. Можно выбрать следующие режимы масштабирования:
Масштабирование режима | Описание |
---|---|
Binary point | Если вы выбираете этот режим, ассистент отображает поле Fraction length, задавая местоположение двоичной точки. Двоичные точки могут быть положительными или отрицательными целыми числами. Положительное целое число перемещает двоичную точку, оставленную самого правого бита той суммой. Например, запись 2 наборов двоичная точка перед вторым битом справа. Отрицательное целое число перемещает двоичную точку дальнейшее право самого правого бита той суммой, как в этом примере: Смотрите Единственное двоичной точкой Масштабирование для получения дополнительной информации. |
Slope and bias | Если вы выбираете этот режим, ассистент отображает поля для ввода Slope и Bias.
Смотрите Наклон и Смещение, Масштабирующееся для получения дополнительной информации. |
Best precision | Если вы выбираете этот режим, блок масштабирует постоянный вектор, или матрицируйте таким образом, что точность его элементов максимизируется. Этот режим доступен только для конкретных блоков. Смотрите Постоянное Масштабирование для Лучшей Точности для получения дополнительной информации. |
Программное обеспечение Fixed-Point Designer может автоматически вычислить значения “лучшей точности” и для Binary point
и для масштабирования Slope and bias
, на основе значений, которые вы задаете для других параметров на диалоговом окне. Чтобы вычислить значения лучшего масштабирования точности автоматически, введите значения для Output minimum блока и параметров Output maximum. Позже, нажмите кнопку Calculate Best-Precision Scaling в ассистенте.
Вы задаете, как числа фиксированной точки округлены с параметром Integer rounding mode. Следующие режимы округления поддерживаются:
Ceiling
— Этот режим округляется к положительной бесконечности и эквивалентен
функции MATLAB® ceil
.
Convergent
— Этот режим округляется к самому близкому представимому номеру со связями, округляющимися к самому близкому даже целое число. Конвергентное округление эквивалентно Fixed-Point Designer функция convergent
.
Пол
Этот режим округляется к отрицательной бесконечности и эквивалентен функции floor
MATLAB.
Самый близкий
Этот режим округляется к самому близкому представимому номеру с точной средней точкой, округленной к положительной бесконечности. Округление к самому близкому эквивалентно Fixed-Point Designer функция nearest
.
Вокруг
Этот режим округляется к самому близкому представимому номеру со связями для положительных чисел, округляющихся в направлении положительной бесконечности и связей для отрицательных чисел, округляющихся в направлении отрицательной бесконечности. Этот режим эквивалентен Fixed-Point Designer функция round
.
Simplest
— Этот режим автоматически выбирает между раундом к полу и вокруг к нулю, чтобы произвести сгенерированный код, который максимально эффективен.
Zero
— Этот режим округляется к нулю и эквивалентен функции fix
MATLAB.
Для получения дополнительной информации о каждом из этих режимов округления, смотрите Округление.
Чтобы управлять, как условия переполнения обработаны для операций фиксированной точки, используйте флажок Saturate on integer overflow.
Если это поле выбрано, переполнение насыщает или к максимальному или к минимальному значению, представленному, по условию вводят. Например, переполнение, сопоставленное с 8-битным целым числом со знаком, может насыщать к-128 или 127.
Если это поле не выбрано, переполнение переносится к соответствующему значению, которое является представимым, по условию вводят. Например, номер 130 не помещается в 8-битное целое число со знаком и перенесся бы к-126.
Если тип выходных данных является обобщенным номером фиксированной точки, у вас есть опция блокировки ее установки типа выходных данных путем установки флажка Lock output data type setting against changes by the fixed-point tools.
Когда заблокировано, Fixed-Point Tool и скрипт автоматического масштабирования autofixexp
не изменяют настройки типа выходных данных. В противном случае Fixed-Point Tool и скрипт autofixexp
свободны настроить установку типа выходных данных.
Можно сконфигурировать блоки Преобразования типа данных, чтобы обработать сигналы как реальные значения или как сохраненные целые числа с параметром Input and output to have equal.
Возможными значениями является Real World Value (RWV)
и Stored Integer (SI)
.
С точки зрения переменных, заданных в Масштабировании, реальное значение дано V, и сохраненное целочисленное значение дано Q. Можно хотеть обработать числа как сохраненные целочисленные значения, если вы моделируете оборудование, которое производит целые числа, как выведено.