Рис. 20. Способы реализации неравномерной шкалы квантования
В было показано, что для обеспечения одинаковой защищенности от помех квантования во всем динамическом диапазоне сигнала следует применять нелинейное квантование. Рассмотрим
как сочетается нелинейное квантование сигнала с операциями кодирования и декодирования.
Существует несколько способов осуществить это сочетание, три из которых показаны на рис. 20.
Во-первых (рис. 20,а), можно осуществить компрессирование аналогового сигнала с последующим его кодированием на передаче и декодированием на приеме 8-разрядными линейным кодером и декодером. Такой способ применялся при создании первых ЦТС, он отличается простотой реализации кодера и декодера. Однако работа аналогового компрессора сопровождается расширением спектра сигнала, что требует увеличения частоты его дискретизации, в противном случае в канале возникнут существенные нелинейные искажения. Расширения спектра не происходит при компандировании* сигнала по его огибающей, но в этом случае сопряжение амплитудных характеристик компрессора и экспандера оказывается довольно сложной задачей. Ошибки сопряжения характеристик также приводят к нелинейным искажениям в канале.
Во вторых (рис. 20,6), можно использовать линейные 12-разрядные кодер и декодер, а скорость передачи понизить посредством применения цифровых компрессора и экспандера. При цифровом компрессировании из 12-разрядных кодовых комбинаций малых сигналов удаляют нулевые старшие разряды, а из кодовых комбинаций больших сигналов удаляют малозначащие младшие разряды. Совместно с сохраненными разрядами передается информация о том, какие разряды удалены (команды восстановления). На приеме кодовые комбинации дополняются до 12-разрядных нулевыми символами согласно командам восстановления. Этот способ характеризуется высоким качеством передачи, возможностью оптимизации характеристик компрессии, но достаточно сложен в реализации.
В третьих (рис. 20,в), возможно использовать 8-разрядные кодер и декодер, но с нелинейными характеристиками квантования, выполненные на цифровой основе. Этот способ относительно широко применяется в настоящее время, поскольку прост в реализации и обеспечивает высокое качество передачи (несколько меньшее, чем предыдущий из-за невозможности перестройки параметров компрессирования). Рассмотрим подробнее процессы декодирования и кодирования при этом способе.
Рис. 21. Структурная схема декодера кодека с нелинейным квантованием
Функциональная схема декодера с нелинейной характеристикой квантования типа А-87,6/13 представлена на рис. 21. Декодер с нелинейной характеристикой имеет такую же функциональную схему, как и с линейной характеристикой (см. рис. 18), но более сложные узлы источника эталонных токов ИЭТ и управления логикой УЛ, которые работают следующим образом. При поступлении на вход кодового слова вида PXYZABCD, как и в декодере с линейной характеристикой, вначале анализируется разряд Р, после чего подключается эталонное напряжение соответствующего знака. Затем анализируются разряды XYZ, определяющие номер сегмента. После установления номера сегмента в соответствии с табл. 1 в ИЭТ активизируются эталоны, соответствующие:
- началу данного сегмента i, т.е. один из эталонов: 0 δ0 (нет эталона для нулевого сегмента), 16 δ0, 32 δ0, 64 δ0,...,1024 δ0;
- половине величины шага данного сегмента δ0/2;
а также величинам δi, 2 δi, 4 δi, и 8 δi.
Затем анализируются разряды ABCD и осуществляется их декодирование, как и в линейном декодере, только с применением эталонов, активизированных на предыдущем этапе. К полученному значению прибавляется значение, соответствующее началу сегмента и значение, равное половине шага квантования в этом сегменте δi/2. Суммарная величина подается на выход декодера. Поясним сказанное примером. Пусть на вход декодера поступила комбинация 01101110. «0» в первом разряде соответствует отрицательному мгновенному значению и далее работа проходит с отрицательными эталонами. Следующие три разряда «110» (см. табл. 1) соответствуют 6-му сегменту, шаг квантования в котором равен δ6 = 32 δ0, а начало - 512 δ0. Последние четыре разряда «1110» соответствуют значению согласно линейному декодированию 8 x32 δ0 + 4x32 δ0 + 2x32 δ0 + 0x32 δ0 = 448 δ0. На выход декодера поступит -(448 δ0 + 512 δ0 +32 δ0/2) = -976 δ0. Также как и декодер, кодер с нелинейной характеристикой квантования, функциональная схема которого приведена на рис. 22, отличается от кодера с линейной характеристикой устройством узлов ИЭТ и УЛ. При поступлении на вход кодера импульса АИМ-2, соответствующего данному мгновенному значению сигнала, вначале определяется его знак и в соответствии с этим формируется 1-й разряд (Р) кодовой комбинации. Затем в течение следующих трех тактов формируются разряды кода номера сегмента (XYZ). Алгоритм формирования кода номера сегмента показан на рис. 23. При формировании разряда X значение сигнала сравнивается с эталоном 128 Δ0. Если значение больше эталона, формируется «1» и осуществляется переход к эталону 512 Δ0. Если же меньше, то формируется «0» и осуществляется переход к эталону 32 Δ0. Аналогичные операции осуществляются при формировании разрядов Y и Z, в результате чего формируется трехразрядный код сегмента (коды показаны в нижнем ряду рисунка).
Рис. 22. Структурная схема кодера с нелинейным квантованием
На 4-м такте происходит также установка эталонов для кодирования шага внутри сегмента (см. табл. 1 ). Устанавливается эталон начала сегмента, шага Δi а также эталоны 2 Δi 4 Δi и 8 Δi,-. Далее из значения сигнала вычитается величина, равная началу сегмента, а оставшаяся часть кодируется как и в кодере с линейной характеристикой методом взвешивания. Поясним сказанное примером. Пусть на вход кодера поступает сигнал величиной -1000 Δ0. В первом разряде будет сформирован «0» (сигнал
Рис.23 Алгоритм формирования кода сегмента.
имеет отрицательную величину). Следующие три разряда, составят комбинацию 110 (6-й сегмент).
Из табл. 1 видно, что начало сегмента имеет значение 512 Δ0 (Δi= 32 Δ0), а эталоны для определения кода шага равны 32 Δ0, 64 Δ0, 128 Δ0 и 256 Δ0. Далее формируется символ первого разряда кода шага (5-го разряда кодового слова). Поскольку (1000 - 512) Δ0 я 488 Δ0> 256 Δ0, в нем формируется «1», эталон 256 Δ0 сохраняется и подключается следующий эталон 128 Δ0. Символ второго разряда кода шага также «1», поскольку 488 Δ0> 256 Δ0 + 128 Δ0. Очевидно, что и в остальных разрядах будут сформированы «1» и кодовая комбинация будет 01101111. Заметим, что при декодировании будет восстановлено значение -1008 Δ0 (с учетом добавления половины шага квантования, равной -16 Δ0); относительная ошибка квантования составит при этом [(1008 - 1000)/1000]100% = 0,8%.