Лайонс Р. Цифровая обработка сигналов. Второе издание. Пер. с англ. (2006) (1095938), страница 95
Текст из файла (страница 95)
Чтобы понять значение выражения (12-24), подставим в него некоторые числа. В первом примере, для деления 31/16, где Т = 4 и частное Ж- 1, относительная ошибка составляет 100 ° (1 — 0.0625)/(1 -~- 1 — 0.0625) = 100 ° (0..9375/1.Я75) = 48.4 % 488 Глава 12. и оные о маты данных и их ель в об аботке сигналов Построив график по (12-24) для трех разных значений сдвига как функцию частного Ж после усечения, получаем рисунок 12.8. 50 45 40 З5 30 25 20 15 10 5 0 1 3 5 7 9 11 1315171921 2325272931 3335 3739 19 Рис.
12.8. Максимальная ошибка при использовании сдвига и усечения для реализации деления на 27. Т= 1 означает деление на 2; Т=2 соответствуетделению на 4, а Т= 8 — делению на 256 Таким образом, чтобы минимизировать этот тип ошибок деления, нам нужно, чтобы значение частного %было как можно больше.
Помните, что (12-24) описывает наихудший случай, когда все усекаемые биты равны единице. С другой стороны, если бы все отбрасываемые биты оказались равными нулю, ошибка была бы равной нулю. На практике ошибки будут где-то между этими крайними значениями. Практический пример того, как деление с усечением может порождать серьезные численные ошибки, приводится в 19], 12.3.4.
Округление данных Округление — другой способ борьбы с ошибками переполнения, когда значение данных представляется ближайшим уровнем квантования, или округляется до него. Если уровни квантойания представлены целыми числами, число 1.2 в результате квантования даст 1, а квантование числа 1.6 даст результат, равный 2. Это показано на рисунке 12.9 (д), где все значения х в диапазоне — 0.5 < х < 0.5 в результате округления превращаются в О, значения х в диапазоне 0.5 < х < 1.5 превращаются в 1, значения х в диапазоне 1.5 < х < 2.5 дают 2, и т. д. Функция плотности вероятности ошибки, вносимой при округлении, показана на рисунке 12.9 (Ц.
На рисунке 12.9 (а) уровень квантования д равен 1, так что в этом случае мы можем иметь модуль ошибки не более 0/2, или 1/2. И снова, используя (П-11) и (П-12) из приложения П, мы можем выразить среднее и дисперсию равномерной функции плотности вероятности как (12-25) и 02 12. (12-26) округления Ч / Поскольку средняя и максимальная ошибки, вызванные округлением, меньше соответствующих ошибок усечения, на практике обычно отдают предпочтение округлению, чтобы минимизировать ошибки переполнения. 12.3. екты конечнойдлины слова...
(а) Функция плотности вероятности (Ь) -ф2 0 п12 Значение ошибки Рис. 12.9. Округление: (а) нелинейная характеристика квантования; (Ь) функция плотности вероятности ошибки В цифровой обработке сигналов статистический анализ влияния ошибки квантования обычно очень сложен.
Аналитические результаты зависят от типов ошибок квантования, амплитуды квантуемого сигнала, от используемого формата данных и от того, какую из множества структур БПФ или цифровых фильтров мы используем. Как бы то ни было, эксперты цифровой обработки сигналов разработали упрощенные модели ошибки, анализ которых оказался полезным. Обсуждение этих методов анализа и их результатов выходит за рамки этой вводной книги, но для активного читателя найдется множество дополнительных источников информации 110-18]. (В работе 1111 приведен обширный библиографический список по теме анализа ошибок квантования.) Проблемы переполнения при использовании двоичных форматов с фиксированной запятой, последствия которых мы пытаемся облегчить с помощью усечения и округления, возникают снова и снова, потому что многочисленные алгоритмы цифровой обработки сигналов включают огромное количество сложений и умножений.
Это препятствие, особенно при аппаратурной реализации цифровых фильтров и БПФ, разработчикам удается обойти с помощью использования двоичных форматов с плавающей запятой. ° В 4ВО Глава 12. и овые о матыданныхи их оль в об аботке сигналов 12.4. Двоичные форматы с плавающей запятой Двоичные форматы с плавающей запятой позволяют нам преодолеть большинство ограничений точности и динамического диапазона, накладываемых двоичными форматами с фиксированной запятой, особенно при уменьшении вредоносных эффектов переполнения [19].
В форматах с плавающей запятой слово данных разбивается на две части: мантиссу т и порядок е. Используя эти части, значение двоичного числа с плавающей запятой и можно вычислить как и =т ° 2е. (12-27) порядок дробная часть 11.1011,=~ (12-28) двоичная запятая 1 Например, десятичный логарифм числа 256 равен 2.4082. Двойка слева от десятичной запятой называется характеристикой логарифма, а разряды 4082 называются мантиссой. Двойка в 2А082 не означает умножение .4082 на 10З. Она значит, что мы берем антялогарифм числа.4082, получаем 2 56, затем умножаем это число на 10з, получая 256.
т. е. значение числа представляет собой произведение мантиссы на двойку, возведенную в степень, равную порядку. (Мантисса — не очень удачный термин, поскольку здесь ее смысл очень сильно отличается от смысла мантиссы логарифмов. Изначально мантиссой называли дробную часть логарифма'. Однако вследствие распространенности этого термина в литературе мы будем и дальше использовать его.) Конечно, и мантисса, и порядок в (12-27) могут быть либо положительными, либо отрицательными числами. Предположим, что Ь-битовое число с плавающей запятой использует Ь битов для порядка в формате с фиксированной запятой и со знаком и Ь битов для мантиссы в том же формате. Чем больше количество битов Ь„тем больше динамический диапазон числа.
Чем больше Ь, тем выше разрешение, или точность, числа. Ранние компьютерные модели, использованные разработчиками Ь-битовых форматов с плавающей запятой, показали, что компромисс достигается при Ье = Ь/4 н Ьт = 3Ь/4. Мы увидим, что для типового 32-битового формата с плавающей запятой, используемого в наше время, Ь, = 8 битов и Ь = 24 бита. Чтобы использовать полный динамический диапазон мантиссы, большинство реализаций чисел с плавающей запятой рассматривают мантиссу как дробное двоичное число с фиксированной запятой, сдвигают ее вправо или влево так, чтобы старший бит оказался равным единице и соответственно корректируют порядок.
Это соглашение называют нормализацией. В нормализованном числе мантиссу обычно называют дробной частью. Например, десятичное число 3.687510 можно представить в виде двоичного дробного числа 11.10112. Если мы используем двухбитовую экспоненту и шестибитовую мантиссу, мы можем также представить 11.10112 посредством сдвига вправо на два бита и установки порядка, равного 2, в виде 12.4. аоичные о маты с плаваю ей запятой 461 Это число с плавающей запятой можно преобразовать обратно в десятичное следующим образом [о(1 2 1) +('1'2 2) +(1.2-3) +(0,2-4) +(1е2-5) +(1е2 е)] 22 = =[о(1 1/2) + (1 ° 1/4) + (1 ° 1/8) + (О 1/16) +(1 ° 1/32) + (1 ° 1/64)] 22- =[05+ 025+ 0.125+ 00625+ 003125+ 0015625] 22= (12-29) - 0.921875 '4 =3.6875.
Приобретя некоторый опыт нормализации чисел с плавающей запятой, люди скоро осознали, что хранить старший бит, который всегда равен единице, расточительно. Этот избыточный бит занимает позицию одного бита во всех словах данных и не приносит никакой пользы. Соответственно в практических реализациях форматов с плавающей запятой этот бит отбрасывается, а его присутствие подразумевается, при этом количество полезных битов дробной части увеличивается на единицу. Вот почему в описаниях некоторых форматов с плавающей запятой используется термин скрытый бит. Одновременно с повышением точности представления мантиссы эта схема использует меньший объем памяти, потому что скрытый бит просто учитывается в аппаратуре арифметического устройства.
При использовании скрытого бита дробная часть в (12-28) сдвигается влево на одну позицию и приобретает вид порядок дробная часть 1 ~~ло~ь=~ ю~ ноно ] (12-30) двоичная запятая значение = (-1) ' ° 1о/ ° 2е ~27 1ЕЕЕ 1 скрытый бит (12-31) Вспомним теперь, что порядок и мантисса представляют собой числа со знаком и с фиксированной запятой, а мы обсуждали несколько форматов представления таких чисел, а именно модуль со знаком, двоичный дополнительный и двоичный со смещением.
Все три перечисленных формата используются в стандартных форматах с плавающей запятой. Наиболее часто используемые форматы с плавающей запятой, использующие 32-битовые слова, перечислены в таблице 12.3. Формат 1ЕЕЕ Р754 пользуется наибольшей популярностью, т. к. многие производители интегральный схем реализуют именно его [8, 20-22]. Его порядок е представляется в двоичном формате со смещением (смещенный порядок), а дробная часть представляет собой двоичное число в формате модуля со знаком и со скрытым битом, значение которого предполагается равным 2О. Десятичное представление нормализованного числа с плавающей запятой в формате 1ЕЕЕ Р754 вычисляется как 462 Глава 12. и оные о метыденныхиих ель зоб аботкесигналов значениетвм - ( — 1) ° 007' 16~ ~.