Необходимо обратить внимание на точность и область значений типов данных с фиксированной точкой и масштабирований, которые вы выбираете в порядке знать, будет ли округление методов вызвано или если переполнение или потери значимости произойдут.
Область значений является промежутком чисел, которые могут представлять тип данных с фиксированной точкой и масштабирование. Область значений представимых чисел для дополнительного количества фиксированной точки two размера слова Масштабирование и смещение проиллюстрирован ниже:
И для подписанных и для количеств фиксированной точки без знака любого типа данных, количество различных комбинаций двоичных разрядов 2wl.
Например, в дополнении two, отрицательные числа должны быть представлены, а также нуль, таким образом, максимальное значение 2wl-1 – 1. Поскольку существует только одно представление для нуля, существует неравное количество положительных и отрицательных чисел. Это означает, что существует представление для но не для :
Поскольку тип данных с фиксированной точкой представляет числа в конечной области значений, переполнение и потери значимости могут произойти, если результат операции больше или меньше, чем числа в той области значений.
Программное обеспечение Fixed-Point Designer™ позволяет вам или насыщать или переносить переполнение. Насыщение представляет положительное переполнение как самое большое положительное число в области значений, используемой и отрицательное переполнение как самое большое отрицательное число в используемой области значений. Перенос использования арифметика по модулю, чтобы бросить переполнение назад в представимую область значений типа данных.
Когда вы создаете объект fi
, любое переполнение насыщается. Свойством OverflowAction
значения по умолчанию fimath является saturate
. Можно регистрировать переполнение и потери значимости путем установки свойства LoggingMode
объекта fipref
к on
. Обратитесь к LoggingMode для получения дополнительной информации.
Точность номера фиксированной точки является различием между последовательными значениями, представимыми его типом данных и масштабированием, которое равно значению его младшего значащего бита. Значение младшего значащего бита, и поэтому точность номера, определяются количеством дробных битов. Значение фиксированной точки может быть представлено в половине точности его типа данных и масштабирования.
Например, представление фиксированной точки с четырьмя битами справа от двоичной точки имеет точность 2-4 или 0.0625, который является значением ее младшего значащего бита. Любой номер в области значений этого типа данных и масштабирования может быть представлен в (2-4)/2 или 0.03125, который является половиной точности. Это - пример представления номера с конечной точностью.
Когда вы представляете числа с конечной точностью, не, каждый номер в доступной области значений может быть представлен точно. Если номер не может быть представлен точно заданным типом данных и масштабированием, метод округления используется, чтобы бросить значение к представимому номеру. Несмотря на то, что точность всегда теряется в округляющейся операции, стоимость операции и объем смещения, которое введено, зависят от самого метода округления. Чтобы предоставить вам большую гибкость в компромиссе между стоимостью и смещением, программное обеспечение Fixed-Point Designer в настоящее время поддерживает следующие методы округления:
Ceiling
округляется к самому близкому представимому номеру в направлении положительной бесконечности.
Convergent
округляется к самому близкому представимому номеру. В случае связи convergent
округляется к самому близкому четному числу. Это - наименее смещенный метод округления, предоставленный тулбоксом.
Zero
округляется к самому близкому представимому номеру в направлении нуля.
Floor
, который эквивалентен дополнительному усечению two, раундам к самому близкому представимому номеру в направлении отрицательной бесконечности.
Nearest
округляется к самому близкому представимому номеру. В случае связи nearest
округляется к самому близкому представимому номеру в направлении положительной бесконечности. Этот метод округления является значением по умолчанию для создания объекта fi
и арифметики fi
.
Round
округляется к самому близкому представимому номеру. В случае связи, раундов метода round
:
Положительные числа к самому близкому представимому номеру в направлении положительной бесконечности.
Отрицательные числа к самому близкому представимому номеру в направлении отрицательной бесконечности.
Выбор Округления Метода. Каждый метод округления имеет набор неотъемлемых свойств. В зависимости от требований вашего проекта эти свойства могли сделать метод округления более или менее желательным вам. Путем знания требований проекта и понимания свойств каждого метода округления, можно определить, который является лучшим пригодным для потребностей. Самые важные свойства рассмотреть:
Стойте — Независимый от используемого оборудования, какого количества обработки расхода метод округления требует?
Низко — метод требует немногих циклов обработки.
Умеренный — метод требует умеренного количества обработки циклов.
Высоко — метод требует большего количества циклов обработки.
Оценки затрат, обеспеченные здесь, аппаратно-независимы. Некоторые процессоры имеют округление встроенных режимов, поэтому рассмотрите тщательно оборудование, которое вы используете прежде, чем вычислить истинную стоимость каждого режима округления.
Смещение — Что является ожидаемым значением округленных значений минус исходные значения: ?
— Метод округления вводит отрицательное смещение.
— Метод округления является несмещенным.
— Метод округления вводит положительное смещение.
Возможность Переполнения — метод округления вводит возможность переполнения?
Да — округленные значения могут превысить минимальное или максимальное представимое значение.
Нет — округленные значения никогда не будут превышать минимальное или максимальное представимое значение.
Следующая таблица показывает сравнение различных методов округления, доступных в продукте Fixed-Point Designer.
Режим округления Fixed-Point Designer | Стоимость | Смещение | Возможность переполнения |
---|---|---|---|
Ceiling | Низко | Большой положительный | Да |
Convergent | Высоко | Несмещенный | Да |
Zero | Низко |
| Нет |
Floor | Низко | Большое отрицание | Нет |
Nearest | Умеренный | Маленький положительный | Да |
Round | Высоко |
| Да |
Simplest (Только Simulink®) | Низко | Зависит от операции | Нет |