Чтобы создать модель фиксированной точки, сконфигурируйте Simulink® блоки, чтобы вывести сигналы фиксированной точки. Блоки Simulink, которые поддерживают фиксированную точку выход, обеспечивают параметры, которые позволяют вам задавать, должен ли блок вывести сигналы фиксированной точки и, если так, размер, масштабирование и другие атрибуты фиксированной точки выход. Эти параметры обычно появляются на панели Signal Attributes диалогового окна параметра блока.
Следующие разделы объясняют, как использовать эти параметры, чтобы сконфигурировать блок для фиксированной точки выход.
Много блоков Simulink позволяют вам задавать тип выходных данных и масштабирующий использование параметра, который появляется на диалоговом окне блока. Этот параметр (обычно названный Output data type) предоставляет выпадающее меню, которое перечисляет типы данных, которые поддерживает конкретный блок. В общем случае можно задать тип выходных данных, как правило, который наследовал тип данных, встроенный тип данных, выражение, которое оценивает к типу данных или объекту типа данных 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® Стандартные 754–1985 для Бинарной Арифметики С плавающей точкой. Можно задать числа с плавающей запятой с Simulink float
функция.
Например, чтобы сконфигурировать выход как число с плавающей запятой с одинарной точностью через диалоговое окно блока, задайте параметр Output data type как float('single')
. Чтобы сконфигурировать число с плавающей запятой с двойной точностью, задайте Output data type как float('double')
.
Data Type Assistant является интерактивным графическим инструментом, который упрощает задачу определения типов данных для блоков Simulink и объектов данных. Ассистент появляется на блоке и объектных диалоговых окнах, смежных с параметрами, которые обеспечивают управление типом данных, такое как параметр Output data type. Для получения дополнительной информации о доступе и взаимодействии с ассистентом, смотрите, Задают Типы данных Используя Ассистент Типа данных.
Можно использовать 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
— Этот режим округляется к отрицательной бесконечности и эквивалентен floor
MATLAB функция.
Nearest
— Этот режим округляется к самому близкому представимому номеру с точной средней точкой, округленной к положительной бесконечности. Округление к самому близкому эквивалентно Fixed-Point Designer nearest
функция.
Round
— Этот режим округляется к самому близкому представимому номеру со связями для положительных чисел, округляющихся в направлении положительной бесконечности и связей для отрицательных чисел, округляющихся в направлении отрицательной бесконечности. Этот режим эквивалентен 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
скрипт свободен настроить установку типа выходных данных.
Можно сконфигурировать блоки Data Type Conversion, чтобы обработать сигналы как реальные значения или как сохраненные целые числа параметром Input and output to have equal.
Возможными значениями является Real World Value (RWV)
и Stored Integer (SI)
.
В терминах переменных, заданных в Масштабировании, реальное значение дано V, и сохраненное целочисленное значение дано Q. Можно хотеть обработать числа как сохраненные целочисленные значения, если вы моделируете оборудование, которое производит целые числа, как выведено.