Опубликован: 26.10.2007 | Доступ: свободный | Студентов: 2354 / 787 | Оценка: 4.04 / 3.76 | Длительность: 17:47:00
ISBN: 978-5-94774-810-9
Лекция 8:

Импульсно-кодовое преобразование

< Лекция 7 || Лекция 8: 123456 || Лекция 9 >

Алгоритм компандирования по A-закону

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

Алгоритм определения составляющих формата компандирования по рис. 8.6 для числа N иллюстрируется таблицей 8.3 и выполняется в следующем порядке.

Таблица 8.3. Таблица линейных кодов и соответствующих номеров сегментов по A-закону
кодовая линейная комбинация Начальные точки следующего сегмента Шаг квантования Десятичный номер сегмента Двоичный номер сегмента
0000000wxyz- 2^{5} = 32 2^{1} = 2 0 000
0000001wxyz- 2^{6} = 64 2^{1} = 2 6 - 5 = 1 001
000001wxyz-- 2^{7} = 128 2^{2} = 4 7 - 5 = 2 010
00001wxyz---- 2^{8} = 256 2^{3} = 8 8 - 5 = 3 011
0001wxyz----- 2^{9} = 512 2^{4} = 16 9 - 5 = 4 100
001wxyz------ 2^{10} = 1024 2^{5} = 32 10 - 5 = 5 101
01wxyz---------- 2^{11} = 2048 2^{6} = 64 11 - 5 = 6 110
1wxyz----------- 2^{12} = 4096 2^{7} = 128 12 - 5 = 7 111

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

  • Знак определяется согласно знаку заданного числа N и кодируется следующим образом:

    0 — положительная величина отсчета,

    1 — отрицательная величина.

  • Номер сегмента

    Находится такое минимальное из возможных число C, что N < 2^{C}

    (точнее, 2^{C-1} < N < 2^{C} ).

    Номер сегмента определяется как

    S = C - 5.

  • Номер шага

    Номер шага квантования может быть определен несколькими способами.

    1-й способ. После определения номера сегмента вычисляется следующая разность:

    r = N - 2^{C-1}.

    Эта разность переводится в двоичную форму, содержащую С-1 разряд, и в конце двоичной комбинации удаляются S младших разрядов. Что дает

    C – 1 – S = C – 1 - (C - 5) = 4\ разряда.

    2-й способ. Определяются разряды номера шага, а именно wyxz.

    w определяется следующим образом.

a. Сравниваются числа N и 2^{C-2}.

Если N < 2^{C-2}, то w = 0. Устанавливается новое число N_{1} = N и выполняется шаг b этого алгоритма, в другом случае ( N > 2^{C-2} ) w = 1, вычисляется N_{1} = N - 2^{C-2} N и выполняется пункт b этого алгоритма.

Далее сравниваются числа N_{1} и 2^{C-3}.

Если N_{1} < 2^{C-3}, то y = 0. Устанавливается новое число N_{2} = N_{1} и выполняется следующий шаг этого алгоритма, в другом случае ( N_{1} > 2^{C-2} ) w = 1 и вычисляется N_{2} = N_{1} - 2^{C-3} и выполняется следующий шаг этого алгоритма.

Далее аналогичная процедура выполняется на следующих шагах для x и z.

Рассмотрим несколько примеров компандирования отсчетов.

Предположим, нам надо получить все характеристики значения отсчета 68.

Минимальное число, удовлетворяющее условию:

X < 2^{C} = 27

это C = 7.

Тогда десятичный номер сегмента равен S = С - 5 = 2 (или двоичное значение 010). Далее вычисляем остаток:

R = 67 - 2^{С-1} = 67 – 64 = 3.

Вычислим номер разряда первым способом. Двоичное значение для 6

(C – 1 = 6) оставшихся разрядов равно 000011, поскольку S = 2. Исключаем два последних разряда в двоичном представлении, получаем код шага квантования wxyz = 0000. Полный восьмиразрядный формат равен 0 010 0000.

Вычислим номер разряда вторым способом.

N = 3 < 2^{C-2} = 2^{5}, тогда\ w = 0

N_{1} = 3 < 2^{4}, то\ y = 0;

N_{2} = 3 < 2^{3}, то\ x = 0;

N_{3} = 3 < 2^{2}, то\ z = 0;

wxyz = 0000.

Рассмотрим число 125.

Из неравенства x < 128 получаем C = 7.

Номер сегмента S = 7 – 5 = 2.

Номер шага квантования.

Остаток 125 – 64 = 61.

Первый способ.

Двоичное представление остатка —111101. Исключая последние два знака, получаем код шага квантования wxyz = 1111.

Второй способ.

N = 61 > 2^{C-2} = 2^{5}, тогда\ w = 1 N_{1} = N - 2^{C-2} = 61 - 32 = 29.

N_{1} = 29 > 2^{4}, то\ y = 1 N_{2} = N_{1} - 2^{4} = 29 - 16 = 13;

N_{2} = 13 > 2^{3}, то\ x = 1 N_{3} = N_{4} - 2^{3} = 13 - 8 = 5;

N_{3} = 5 > 2^{2}, то\ z = 1;

wxyz = 1111.

< Лекция 7 || Лекция 8: 123456 || Лекция 9 >
Павел Ковалёв
Павел Ковалёв
Кристина Руди
Кристина Руди