Импульсно-кодовое преобразование
Алгоритм компандирования по A-закону
Процесс компандирования при современных параметрах микросхем может осуществляться с помощью постоянных запоминающих устройств прямым табличным преобразованием. Однако существуют алгоритмы, позволяющие делать другое преобразование путем несложного пересчета.
Алгоритм определения составляющих формата компандирования по рис. 8.6 для числа
иллюстрируется таблицей 8.3 и выполняется в следующем порядке.
В таблице показана линейная комбинация, содержащая старшие разряды величины отсчета.
указывает номер шага квантования, прочерки указывают на те разряды, которые могут быть пропущены в связи с уменьшением точности для данной величины отсчета.
- Знак определяется согласно знаку заданного числа N и кодируется следующим образом:
0 — положительная величина отсчета,
1 — отрицательная величина.
- Номер сегмента
Находится такое минимальное из возможных число
, что 
(точнее,
).Номер сегмента определяется как
. - Номер шага
Номер шага квантования может быть определен несколькими способами.
1-й способ. После определения номера сегмента вычисляется следующая разность:
.Эта разность переводится в двоичную форму, содержащую
разряд, и в конце двоичной комбинации удаляются
младших разрядов. Что дает
.2-й способ. Определяются разряды номера шага, а именно
.
определяется следующим образом.
a. Сравниваются числа
и
.
Если
, то
. Устанавливается новое число
и выполняется шаг
этого алгоритма, в другом случае (
)
, вычисляется
и выполняется пункт
этого алгоритма.
Далее сравниваются числа
и
.
Если
, то
. Устанавливается новое число
и выполняется следующий шаг этого алгоритма, в другом случае (
)
и вычисляется
и выполняется следующий шаг этого алгоритма.
Далее аналогичная процедура выполняется на следующих шагах для
и
.
Рассмотрим несколько примеров компандирования отсчетов.
Предположим, нам надо получить все характеристики значения отсчета 68.
Минимальное число, удовлетворяющее условию:

это
.
Тогда десятичный номер сегмента равен
(или двоичное значение 010). Далее вычисляем остаток:
.
Вычислим номер разряда первым способом. Двоичное значение для 6
оставшихся разрядов равно 000011, поскольку
. Исключаем два последних разряда в двоичном представлении, получаем код шага квантования
. Полный восьмиразрядный формат равен 0 010 0000.
Вычислим номер разряда вторым способом.




.
Рассмотрим число 125.
Из неравенства
получаем
.
Номер сегмента
.
Остаток
.
Первый способ.
Двоичное представление остатка
. Исключая последние два знака, получаем код шага квантования
.
Второй способ.
.



.



















