Компандирование по µ-закону
Этот закон отличается большим числом дискрет для кодирования сигнала. Их 8159, что позволяет более точно кодировать слабые сигналы. По статистике таковых больше, чем сигналов с большой амплитудой. Это обстоятельство повышает качество речи (но, как показала практика, незначительно). При этом шаги квантования меняются в каждом сегменте и равны 1, 2, 4, 8, 16, 32, 64, 128, 256. Ниже приводится таблица кодирования (табл. 8.4).
Таблица 8.4. Кодирование-декодирование согласно µ-закону |
||||
Диапазон входных амплитуд |
размер шага |
код сегмента |
код шага квантования |
Амплитуда на выходе декодера |
0-1 |
1 |
|
0000 |
0 |
1-3 3-5 • • • 29-31 |
2 |
000 |
0000 • • • • 1111 |
2 4 • • • 30 |
31-35 • • • 91-95 |
4 |
001 |
0000 • • • • 1111 |
33 • • • • 93 |
95-103 • • • 215-223 |
8 |
010 |
0000 • • • • 1111 |
99 • • • • 219 |
223-239 • • • 463-479 |
16 |
011 |
0000 • • • • 1111 |
231 • • • • 471 |
479-511 • • • 959-991 |
32 |
100 |
0000 • • • • 1111 |
495 • • • • 975 |
991-1055 • • • 1951-2015 |
64 |
101 |
0000 • • • • 1111 |
1023 • • • • 1983 |
2015-2143 • • • 3935-4063 |
128 |
110 |
0000 • • • • 1111 |
2079 • • • • 3999 |
4063-4319 • • • 7903-8159 |
256 |
111 |
0000 • • • • 1111 |
4191 • • • • 8031 |
При передаче все биты инвертируются.
Алгоритм определения составляющих формата компандирования по рис. 8.6 для числа иллюстрируется таблицей 8.5 и выполняется в следующем порядке.
Таблица 8.5. Таблица линейных кодов и соответствующих номеров сегментов µ-закону |
||||
кодовая линейная комбинация |
Начальные точки следующего сегмента |
Величина шага квантования |
Десятичный номер сегмента |
Двоичный номер сегмента |
00000000wxyz- |
|
|
|
000 |
0000001wxyz- |
|
|
|
001 |
000001wxyz--- |
|
|
|
010 |
00001wxyz--- |
|
|
|
011 |
0001wxyz---- |
|
|
|
100 |
001wxyz----- |
|
|
|
101 |
01wxyz------- |
|
|
|
110 |
1wxyz--------- |
|
|
|
111 |
Знак определяется согласно знаку заданного числа и кодируется:
2 — положительная величина отсчета;
3 — отрицательная величина.
Номер сегмента
— Находится такое минимальное из возможных чисел , что (точнее, ).
— Номер сегмента определяется как
.
Номер шага
Номер шага квантования может быть определен несколькими способами.
1-й способ. После определения номера сегмента вычисляется следующая разность:
.
Эта разность переводится в двоичную форму длиной , и в конце двоичной комбинации удаляются или младших разрядов.
2-й способ. Определяются разряды номера шага, а именно wyxz.
w определяется следующим образом. Сравниваются числа и .
Если , то устанавливается новое число и выполняется шаг этого алгоритма, в другом случае ( ) , вычисляется и выполняется пункт b этого алгоритма.
Далее сравниваются числа и .
Если , то устанавливается новое число и выполняется следующий шаг этого алгоритма, в другом случае ( ) и вычисляется и выполняется следующий шаг этого алгоритма.
Далее аналогичная процедура выполняется на следующих шагах для и .
Рассмотрим несколько примеров компандирования отсчетов.
Предположим, нам надо получить все характеристики значения отсчета 68.
Минимальное число, удовлетворяющее условию
,
это .
Тогда десятичный номер сегмента равен (или двоичное значение 001). Далее вычисляем остаток:
или двоичное значение семи ( ) оставшихся разрядов равно 000100.
Вычислим номер разряда первым способом. Поскольку , исключаем 2 последних разряда в двоичном представлении, получаем код шага квантования . Полный восьмиразрядный формат равен 0 010 0001.
Вычислим номер разряда вторым способом.
;
;
;
;
.
Полный восьмиразрядный формат равен 0 010 0001.
Рассмотрим число 125.
Из неравенства получаем .
Номер сегмента .
Номер шага квантования
Остаток
1-й способ.
Семиразрядное ( ) Двоичное представление остатка — 0011110. Исключая последние два знака, получаем код шага квантования .
2-й способ.
, тогда ;
, то ;
, то ;
, то ;
.
Полный восьмиразрядный формат равен 0 010 0011.