5.18. Дополнительные замечания о взаимосвязи между динамическим диапазоном и уровнем шума округления
Следует сделать еще несколько замечаний относительно взаимосвязи между динамическим диапазоном и шумом округления в рекурсивных структурах. Выше рассматривалось квантование только с использованием округления. Если воспользоваться усечением, то наиболее существенное отличие будет состоять в том, что все источники шума, подключаемые к узлам суммирования, будут иметь ненулевые средние. Следовательно, и среднее значение шума на выходе будет отлично от нуля. Однако дисперсии ошибок усечения и округления одинаковы, поэтому дисперсия выходного шума при усечении будет такой же, как и при округлении. Использование усечения в первом приближении не требует изменения масштабирующих множителей. Однако из-за появления ненулевого среднего в выходном шуме предпочтение обычно отдают округлению.
Третий способ квантования, заключающийся в усечении чисел, представленных в прямом коде (с модулем и знаком), приводит к тому, что источники шума в узлах суммирования становятся коррелированными с входным сигналом (напомним, что ошибка положительна при положительных значениях сигнала и отрицательна при отрицательных). Поэтому предположения, использованныепри вычислении дисперсии выходного шума, в данном случае не справедливы, так что все формулы для расчета дисперсии выходного шума будут неверны.
Фиг. 5.24. Характеристика сумматора чисел в дополнительном коде (по Эберту, Мазо и Тейлору).
На практике этот способ квантования весьма, трудно анализировать, а дисперсия ошибки получается больше чем при округлении или при обычном усечении, поэтому его стараются не использовать. Однако в некоторых типах ЦВМ при реализации отдельных команд, возможно, придется использовать именно этот метод квантования.
В заключение рассмотрим, что произойдет, если, несмотря на масштабирование, сумма входных чисел сумматора в цифровом фильтре превысит максимально допустимый уровень (равный 1,0). Если числа представлены в обратном или дополнительном коде, как это обычно и бывает, то переполнения в процессе суммирования вполне допустимы, если только окончательная сумма меньше 1,0. На фиг. 5.24, а это обстоятельство проиллюстрировано графически с помощью представления чисел, записанных в дополнительном коде, в виде точек на окружности [все числа являются
-разрядными]. Таким образом, наибольшее из положительных чисел, равное
, оказывается рядом с наибольшим из отрицательных чисел, равным —1,0. Добавление положительного числа эквивалентно перемещению по окружности против часовой стрелки, а добавление отрицательного числа — перемещению по часовой стрелке. Таким образом, если окончательный результат лежит в пределах от —1,0 до
, то переполнения в процессе суммирования не играют роли. Иначе говоря, общая характеристика сумматора имеет вид, показанный на фиг. 5.24, б. Переполнение происходит только тогда, когда окончательный результат выходит за пределы интервала (-1, 1). При переполнении фильтр превращается в нелинейное устройство. Эберт, Мазо и Тейлор показали, что за счет переполнений в фильтре могут возникнуть незатухающие колебания.
Фиг. 5.25. Характеристика сумматора с насыщением.
Эти крайне нежелательные колебания необходимо устранить. Эберт, Мазо и Тейлор показали, что простым, но эффективным способом борьбы с ними является замена обычного сумматора чисел в дополнительном коде на сумматор с насыщением. Характеристика такого сумматора изображена на фиг. 5.25. Использование сумматора с подобной характеристикой гарантирует устойчивость фильтра при возникновении переполнений. Естественно, что в эти моменты фильтр становится нелинейным. Можно, однако, показать, что введение насыщения при возникновении переполнений является, по-видимому, наиболее целесообразным подходом. В силу зтого сумматоры с насыщением широко применяются в цифровых фильтрах для предотвращения колебаний, вызванных переполнениями.