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

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

Примечание

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

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

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

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

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

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

Ограничения на область значений

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

В двоичной арифметике процессор может должен быть взять n-bit номер фиксированной точки и сохранить ее в m битах, где mn. Если m <n, область значений номера уменьшалась, и операция может произвести условие переполнения. Некоторые процессоры идентифицируют это условие как Inf или NaN. Для других процессоров, особенно цифровых сигнальных процессоров (DSPS), значение насыщает или переносится.

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

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

Если m> n, область значений номера была расширена. Расширение области значений слова требует включения "сторожевых" разрядов, которые действуют, чтобы принять меры против потенциального переполнения.

Программное обеспечение Simulink® поддерживает насыщение и переносящийся для всех типов данных с фиксированной точкой, в то время как "сторожевые" разряды поддерживаются только для дробных типов данных.

Точность

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

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

Ограничения на точность

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

VV˜=SQ+B=22Q+32,

где V = 35.375.

Двумя самыми близкими приближениями к реальному значению является Q = 13 и Q = 14:

V˜=22(13)+32=35.25,V˜=22(14)+32=35.50.

В любом случае абсолютная погрешность является тем же самым:

|V˜V|=0.125=S2=F2E2.

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

|V˜V|<F2E.

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

Параметры типа данных с фиксированной точкой

Низкий предел, высокий предел и единственное двоичной точкой масштабирование по умолчанию для поддерживаемых типов данных с фиксированной точкой, обсужденных в Единственном двоичной точкой Масштабировании, даны в следующей таблице.

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

Имя

Тип данных

Низкий предел

Высокий предел

Значение по умолчанию, масштабирующееся (~Precision)

Целое число без знака

fixdt(0,ws,0)

0

2ws1

1

Целое число со знаком

fixdt(1,ws,0)

2ws1

2ws11

1

Двоичная точка без знака

fixdt(0,ws,fl)

0

(2ws1)2fl

2fl

Двоичная точка со знаком

fixdt(1,ws,fl)

2ws1fl

(2ws11)2fl

2fl

Наклонное смещение без знака

fixdt(0,ws,s,b)

b

s(2ws1)+b

s

Наклонное смещение со знаком

fixdt(1,ws,s,b)

s(2ws1)+b

s(2ws11)+b

s

s = наклон, b = смещение, ws = WordLength, fl = FractionLength

Область значений и точность 8-битного типа данных с фиксированной точкой — единственное двоичной точкой масштабирование

Точность, область значений значений со знаком и область значений значений без знака для 8-битного обобщенного типа данных с фиксированной точкой с единственным двоичной точкой масштабированием перечислены в следовать таблице. Обратите внимание на то, что первое значение масштабирования (21) представляет двоичную точку, которая не непрерывна со словом.

Масштабирование

Точность

Область значений значений со знаком (низко, высоко)

Область значений значений без знака (низко, высоко)

21

2.0

-256, 254

0, 510

20

1.0

-128, 127

0, 255

2-1

0.5

-64, 63.5

0, 127.5

2-2

0.25

-32, 31.75

0, 63.75

2-3

0.125

-16, 15.875

0, 31.875

2-4

0.0625

-8, 7.9375

0, 15.9375

2-5

0.03125

-4, 3.96875

0, 7.96875

2-6

0.015625

-2, 1.984375

0, 3.984375

2-7

0.0078125

-1, 0.9921875

0, 1.9921875

2-8

0.00390625

-0.5, 0.49609375

0, 0.99609375

Область значений и точность 8-битного типа данных с фиксированной точкой — наклон и масштабирование смещения

Точность и области значений значений без знака и со знаком для 8-битного типа данных с фиксированной точкой с помощью наклона и масштабирования смещения перечислены в следующей таблице. Наклон запускается в значении 1.25 со смещением 1.0 для всех наклонов. Обратите внимание на то, что наклон совпадает с точностью.

Смещение

Наклон/Точность

Область значений Значений Со знаком (низко, высоко)

Область значений Значений Без знака (низко, высоко)

1

1.25

-159, 159.75

1, 319.75

1

0.625

-79, 80.375

1, 160.375

1

0.3125

-39, 40.6875

1, 80.6875

1

0.15625

-19, 20.84375

1, 40.84375

1

0.078125

-9, 10.921875

1, 20.921875

1

0.0390625

-4, 5.9609375

1, 10.9609375

1

0.01953125

-1.5, 3.48046875

1, 5.98046875

1

0.009765625

-0.25, 2.240234375

1, 3.490234375

1

0.0048828125

0.375, 1.6201171875

1, 2.2451171875

Похожие темы