Точность и область значений

Примечание

Вы должны обратить внимание на точность и область значений типов данных с фиксированной точкой и масштабированиями, которые вы выбираете в порядок, чтобы знать, будут ли вызываться методы округления или будут ли происходить переполнения или нижние потоки.

Область значений

Область значений является диапазоном чисел, которые могут представлять тип данных с фиксированной точкой и масштабирование. Область значений представимых чисел для дополнительного числа размера слова с фиксированной точкой wl, масштабирование S и смещение B проиллюстрировано ниже:

Для как подписанных, так и неподписанных номеров с фиксированной точкой любого типа данных количество различных битовых шаблонов составляет 2wl.

Например, в дополнении двух отрицательные числа должны быть представлены, а также нули, поэтому максимальное значение равно 2wl -1 – 1. Поскольку существует только одно представление для нуля, существует неравное число положительных и отрицательных чисел. Это означает, что существует представление для 2wl1 но не для 2wl1:

Обработка переполнения

Поскольку тип данных с фиксированной точкой представляет числа в конечной области значений, переполнения и нижние потоки могут возникнуть, если результат операции больше или меньше, чем числа в этой области значений.

Программное обеспечение Fixed-Point Designer™ позволяет вам либо насыщать, либо обернуть переполнения. Насыщение представляет положительное переполнение как самое большое положительное число в используемой области значений и отрицательное переполнение как самое большое отрицательное число в используемой области значений. Wrapping использует арифметику по модулю, чтобы привести переполнение назад в представимую область значений типа данных.

Когда вы создаете fi объект, любые переполнения насыщены. The OverflowAction свойство fimath по умолчанию saturate. Можно вести журнал переполнений и подтоков путем установки LoggingMode свойство fipref объект к on.

Точность

Точность числа с фиксированной точкой является различием между последовательными значениями, представимыми его типом данных, и масштабированием, которое равно значению его наименее значимого бита. Значение наименее значимого бита, и, следовательно, точность числа, определяется количеством дробных бит. Значение с фиксированной точкой может быть представлено в пределах половины точности его типа данных и масштабирования.

Для примера представление с фиксированной точкой с четырьмя битами справа от двоичной точки имеет точность 2-4 или 0,0625, которое является значением его наименее значимого бита. Любое число в области значений этого типа данных и масштабирования может быть представлено в пределах (2-4)/2 или 0,03125, что вдвое меньше точности. Это пример представления числа с конечной точностью.

Методы округления

Когда вы представляете числа с конечной точностью, не каждое число в доступной области значений может быть точно представлено. Если число не может быть точно представлено заданным типом данных и масштабированием, для приведения значения к представляемому числу используется метод округления. Хотя точность всегда теряется в операции округления, стоимость операции и количество введенного смещения зависят от самого метода округления. Чтобы предоставить вам большую гибкость в компромиссе между стоимостью и смещением, программное обеспечение Fixed-Point Designer в настоящее время поддерживает следующие методы округления:

  • Ceiling округляет до ближайшего представимого числа в направлении положительной бесконечности.

  • Convergent округляет до ближайшего представимого числа. В случае галстука convergent округляет до ближайшего четного числа. Это наименее смещенный метод округления, предоставляемый тулбоксом.

  • Zero округляет до ближайшего представимого числа в направлении нуля.

  • Floor, что эквивалентно усечению дополнения двух, округлится до ближайшего представимого числа в направлении отрицательной бесконечности.

  • Nearest округляет до ближайшего представимого числа. В случае галстука nearest округляет до ближайшего представимого числа в направлении положительной бесконечности. Этот метод округления является методом по умолчанию для fi создание и fi объектов арифметика.

  • Round округляет до ближайшего представимого числа. В случае галстука, round округи метода:

    • Положительные числа к ближайшему представляемому числу в направлении положительной бесконечности.

    • Отрицательные числа к ближайшему представляемому числу в направлении отрицательной бесконечности.

Выбор метода округления.  Каждый метод округления имеет набор присущих ему свойств. В зависимости от требований вашего проекта, эти свойства могут сделать метод округления более или менее желательным для вас. Зная требования вашего проекта и понимая свойства каждого метода округления, можно определить, который лучше всего подходит для ваших нужд. Наиболее важными свойствами, которые необходимо учитывать, являются:

  • Стоимость - Независимо от используемого оборудования, сколько затрат на обработку требует метод округления?

    • Низкий - метод требует мало циклов обработки.

    • Умеренный - метод требует умеренного количества циклов обработки.

    • Высокий - метод требует больше циклов обработки.

    Примечание

    Представленные здесь сметы расходов являются независимыми от оборудования. Некоторые процессоры имеют встроенные режимы округления, поэтому внимательно рассмотрим оборудование, которое вы используете, прежде чем вычислять истинную стоимость каждого режима округления.

  • Смещение - каково ожидаемое значение округленных значений минус исходные значения: Ε(θ^θ)?

    • Ε(θ^θ)<0 - Метод округления вводит отрицательное смещение.

    • Ε(θ^θ)=0 - Метод округления объективен.

    • Ε(θ^θ)>0 - Метод округления вводит положительное смещение.

В следующей таблице показано сравнение различных методов округления, доступных в продукте Fixed-Point Designer.

Режим округления Fixed-Point DesignerСтоимостьУклон
CeilingНизкоБольшой позитив
ConvergentВысокоБеспристрастный
ZeroНизко
  • Большой позитив для отрицательных выборок

  • Объективный для выборок с равномерно распределенными положительными и отрицательными значениями

  • Большой минус для положительных выборок

FloorНизкоБольшой минус
NearestУмеренныйМалый позитив
RoundВысоко
  • Небольшой минус для отрицательных выборок

  • Объективный для выборок с равномерно распределенными положительными и отрицательными значениями

  • Малый положительный для положительных выборок

Simplest
(Simulink® только)
НизкоЗависит от операции