1.4.1. Практические методы формирования цифровой последовательности
1.4.2. Методы двоичного кодирования и ошибки квантования
1.4.3. Параметры стандартных ИКМ систем
1.4.4. Практические методы линейного кодирования потока данных в канале
1.4.1. Практические методы формирования цифровой последовательности
Рассмотрим простой пример дискретизации в системе ИКМ с n-канальным мультиплексированием, внутриканальной синхронизацией (путем вставки синхро-группы из k бит после m фреймов) и линейного симметричного квантования с числом уровней l. Для примера выберем п=4, k=4, m=2, l=8. Условимся, что мгновенное значение сигнала изменяется в интервале (-4,+4). Пример иллюстрируется рис. 1-6. Для компактности все процессы дискретизации, квантования, кодификации, мультиплексирования и выравнивания показаны на одном рисунке.
ИКМ система последовательно выполняет следующие стандартные функции:
- дискретизацию сигнала в каждом из четырех каналов (к1 - к4) с частотой /ц (конкретное значение не играет роли) в последовательные нормированные моменты времени О (к1), 1 (к2),2(к3),3(к4),4(к1)ит.д. При отсутствии выравнивания выборки берутся периодически с периодом дискретизации 4 единицы, например, для к1 - в моменты: 0, 4, 8, 12, ... , для к2: 1, 5, 9, 13, ... и т. д., что соответствует фрейму, состоящему из 4 тайм-слотов;
- квантование выборок сигнала каждого канала, т.е. отображение непрерывного множества значений амплитуд выборок а из интервала (-4,+4) на дискретное множество из 8 уровней квантования, либо 0, 1, ..., 7 - одностороннее (несимметричное) отображение (однополярный сигнал), либо, например, -3, -2, .... +4 - двустороннее (симметричное с точностью до уровня) отображение (двухполярный сигнал);
- двоичное кодированиние, или кодификацию (см. термин в 1.6.) квантованных значений. При схеме кодирования: знак-номер уровня и 8 уровнях квантования достаточно 4 бита на выборку: 1 знаковый бит и 3 бита на формирование двоичного номера уровня (2^3 = 8). Используем простой алгоритм отображения множеств, или алгоритм кодификации: если n-1 < а < n, то a=n для всех а. Следовательно, если а = 3.55, то-есть, если 3 < а < 4, то а = 4, а если а = -0.78, т.е. -1 < а < О, то а = О. В результате требований симметричности квантования, получаем поток бит, показанный на рис, 1-6, где -3 —> 1011, ..., 0 ---> 0000, ... , +4 —> 0100;
- мультиплексирование каналов по схеме: объединение 4 каналов на входе в один канал на выходе - 4:1 - т.е. с чередованием выборок отдельных каналов для создания потока бит выходного канала. Без учета синхронизации процесс мультиплексирования создает регулярный поток фреймов, состоящих из четырех выборок. Его регулярность нарушается необходимостью синхронизации, которая при внутриканальной синхронизации сводится к вставке синхрогруппы после m фреймов -этот процесс называется выравниванием фрейма. Для выравнивания по нашей схеме необходимо сформировать мультифрейм - структуру состоящую из двух фреймов, что еще больше осложняет процесс мультиплексирования;
- выравнивание фрейма (а точнее мультифрейма) осуществляется путем формирования и вставки легко идентифицируемой синхрогруппы "1111" (не используемой в процессе кодификации) после двух регулярных фреймов, для чего выделяется один дополнительный тайм-слот. В результате на приемной стороне происходит синхронизация приемника с передатчиком, а повторяющаяся структура - результирующий мультифрейм - принимает вид: 8 выборок + синхрогруппа = 9 тайм-слотов. Можно ввести также понятие результирующий фрейм - формальный параметр, равный 9/2=4.5, показывающий, что период повторения регулярного фрейма изменился с 4 до 4.5 тайм-слотов. Из этого ясно, что мультиплексирование осуществляется "регулярно в среднем", с периодом повторения 4.5 слота, формируя за цикл один результирующий фрейм. Физически же информационные выборки формируются нерегулярно. Например, выборки в к1, берутся теперь в моменты времени 0, 4, 9, 13, 18, 22, 27, и т.д. .
Общий вид четырех входных сигналов, с выборками, взятыми последовательно в моменты времени 0, 1, 2, 3, и т. д., и их квантованные значения, полученные в результате кодификации, с учетом выравнивания, показаны на рис. 1-6. Сформированный таким образом поток бит приведен в нижней части рисунка.
На приемной стороне происходит демультиплексирование указанной последовательности так, что в канал к1 попадут только квантованные кодифицированные выборки, взятые в моменты: 0, 4, 9, 13, 18, 22, ... . Из них затем (если нужно) и будут восстановлены с помощью фильтрации фильтрами нижних частот (ФНЧ) исходные аналоговые сигналы.
1.4.2. Методы двоичного кодирования и ошибки квантования
Для цифровых систем, как и для аналоговых, существуют шумы канала связи и шумы, возникающие в процессе преобразования сигнала, а значит и к ним применимы такие понятия, как отношение сиг-чал/шум и динамический диапазон.
Специфическими для цифровых систем являются шумы квантования. На рис. 1-7, например, показана разность между идеальным и реальным преобразованным сигналами - искажение, квалифицированное как шум, возникающий при линейном квантовании. Неприятной особенностью является то, что амплитуда искажений не зависит от амплитуды сигнала, делая наиболее уязвимой передачу сигналов низкого уровня. Ясно, что для уменьшения искажений нужно увеличивать число уровней квантования, но, в отличие от звуковых Hi-Fi систем, где используется 16, 18 и 20 бит на выборку, в цифровых системах связи выше 8 бит на выборку практически не используют, чтобы не увеличивать максимально необходимую скорость передачи.
Для улучшения ситуации используют методы нелинейного двоичного кодирования при квантовании (нелинейной кодификации). Они идейно основаны на методах компандерного расширения динамического диапазона при передаче по каналу связи с ограниченным динамическим диапазоном, используемых в аналоговых системах (например, в системах магнитной записи). В них на входе системы сигнал сжимается с помощью компрессора до уровня, приемлемого для передачи по каналу связи, а на выходе из канала связи сигнал с помощью эспандера (осуществляющего обратное преобразование) восстанавливается (см. рис. 1-8).
Для реализации такой схемы нелинейной кодификации, достаточно выбрать требуемую степень компрессии и закон нелинейного преобразования, а затем решить проблему аппроксимации функции, соответствующей выбранному закону преобразования.
Для нелинейных (прямого и обратного) преобразований входа/выхода идеально подходит пара ехр(х) - lп(х). Ее и апроксимируют затем по методу близкому к линейной неравномерной адаптивной аппроксимации, оптимально выбирая число и наклон прямолинейных аппроксимирующих сегментов. В результате получают некий закон, который, будучи стандартизован, используется в коммерческих системах. Используются два таких закона для симметричного входного сигнала: А-закон (параметр А) и μ-закон (параметр μ), ниже х - вход, у - выход:
А-закон: y=sgn(x)[z/(1+lnA)], где z=А /х/ для 0≤х≤1/А или z=1+lnA /х/ для (1/А)</х/≤1;
μ.-закон: y=sgn(x)[ln(1+μ|x|) / ln(1+μ)].
А-закон (А=87.6) используется в европейских системах ИКМ и дает минимальный шаг квантования 2/4096, mu-закон используется в американских системах ИКМ (D1 с μ=100 и D2 с μ=255), давая минимальный шаг квантования 2/8159 (см. ITU-T Rec. G.711 [30]). Указанный подход позволяет добиваться отношения сигнал/шум (С/Ш) 30 дБ в динамическом диапазоне 48 дБ, что соответствует эквивалентной схеме кодирования с 13 битами на выборку.
1.4.3. Параметры стандартных ИКМ систем
Существует несколько реализации ИКМ систем, признанных в качестве стандартных:
- Т1 (AT&T, США, 1962), позднее названная Bell D1 - 24-канальная система с выходным потоком Т1 = 1544 кбит/с;
- D2 (Bell, США) - 24-канальная система, описана в ITU-T Rec. G.733 [31];
- U.K. (Англия) - 24-канальная система с выходным потоком 1536 кбит/с;
- СЕРТ (Европа) - 30-канальная система с выходным потоком Е1 = 2048 кбит/с, описана в ITU-
Т Rec. G.732 [32]. Параметры этих систем сведены в таблицу 1-1:
Указанные в таблице параметры практически не требуют дополнительных объяснений. Укажем только их некоторые их особенности.
Системы типа Bell D1 (как модификация системы Т1) до сих пор существуют в северной Америке в силу большой распространенности в прошлом. Эти 4-х проводные системы используются и для передачи цифровых данных со скоростью 56 кбит/с по цифровым каналам, начало которому было положено компанией AT&T (видимо не раньше 1973 года, после внедрения тарифа "267"), предложившей услуги Dataphone Digital Service [1].
Система Bell D2 в отличие от D1 более продвинута: использует 8 бит на выборку в пятерках (1-5 и 7-11) фреймов и 7 бит в 6-ом и 12-ом фреймах, редуцируя закон кодификации при переходе с 8-на 7-битное квантование. Система использует выравнивание мультифреймов (12 фреймов) и допускает сигнализацию по обшему каналу. В силу широкого распространения в северной Америке, Японии и юго-восточной Азии, система была стандартизована комитетом CCITT [31].
Английская система, как и D1, использует 7-битное кодирование, но выравнивание осуществляет по мультифрейму (4 фрейма), что позволяет обойтись без 193-го бита (отсюда скорость 1536 кбит/с). Система использует европейский закон кодификации (с 1968 года), что важно для целей совместимости. Практически вытесняется системой СЕРТ.
Система СЕРТ начала развиваться с начала 70-х годов. Она целиком базировалась на двоичных, а не на двоично-десятичных эквивалентах (как три предыдущие). В результате была выбрана 8-битная схема кодификации и 32 (а не 24) канала для первичного уровня мультиплексирования. Один из каналов (тайм-слот 0) целиком используется для синхронизации (выравнивания фреймов) и передачи системного статуса, второй (тайм-слот 16) - для организации общего канала сигнализации - 64 кбит/с. Число фреймов в мультифрейме также кратно 2 и зависит от типа сигнализации. При внутри-канальной сигнализации используется 16 фреймов на мультифрейм, при использовании общего канала сигнализации - 2 фрейма на мультифрейм. Схема выравнивания проста и кратна 2: 8 бит на фрейм при выравнивании фрейма и 8 бит на 16 фреймов для выравнивания мультифрейма. Система СЕРТ фактически стала доминирующей не только в Европе но и в мире.
1.4.4. Практические методы линейного кодирования потока данных в канале
Сформированная в результате мультиплексирования и выравнивания цифровая двоично-кодированная ИКМ последовательность подается в канал связи, на входе которого, как правило, используется устройство сопряжения с каналом, или интерфейсный блок, и собственно передатчик. Учитывая, что канал, рассматриваемый как среда передачи, может быть электрическим, оптическим или радио-каналом, полученную последовательность приходится еще по крайней мере дважды перекодировать для оптимизации ее прохождения через интерфейс (интерфейсное кодирование) и линию связи (линейное кодирование). Два других вида кодирования: помехоустойчивое кодирование для обнаружения и исправления ошибок, возникающих в процессе передачи, а также шифрование данных, передаваемых такой последовательностью, здесь не рассматриваются.
Поток бит, полученный в результате квантования и двоичного кодирования (кодификации), оптимален только с точки зрения уменьшения ошибок квантования, но непригоден для передачи по каналу связи по ряду причин, основные из которых следующие:
- выходной цифровой поток имеет широкий спектр, что затрудняет его передачу по каналу связи с ограниченной полосой пропускания и осложняет процесс регенерации сигнала синхронизации, передаваемого в канале, особенно в случае восстановления потерянного синхронизма;
- спектр сигнала имеет значительную долю низкочастотных составляющих, которые могут интерферировать с составляющими передаваемого низкочастотного сигнала;
- спектр содержит большую постоянную составляющую, усложняющую фильтрацию
напряжения сети питания.
Для оптимизации спектра сигнала, подаваемого в линию связи, используется так называемое линейное кодирование. Оно должно обеспечить:
- минимальную спектральную плотность на нулевой частоте и ее ограничение на нижних частотах;
- информацию о тактовой частоте передаваемого сигнала в виде дискретной составляющей, легко выделяемой на фоне непрерывной части спектра;
- непрерывный спектр должен быть достаточно узкополосным для передачи через канал связи без искажений;
- малую избыточность, для снижения относительной скорости передачи в канале связи;
- минимально возможные длины блоков повторяющихся символов ("1" или "О") и диспаритетность (неравенство числа "1" и "О" в кодовых комбинациях).
Для двоичного кодирования число уровней входного сигнала m = 2, а число уровней выходного сигнала n может быть 2 (двухуровневое кодирование) или 3 (трехуровневое кодирование). Двухуровневое кодирование может быть однополярным (+1, 0) и двухполярным, или симметричным (+1, -1); трехуровневое - однополярным (+2, +1, 0) и двухполярным (+1, 0, -1). Например, оптические линии связи требуют однополярных методов кодирования, тогда как электрические линии связи могут использовать как однополярные, так и двухполярные методы кодирования.
В различных методах кодирования "1" может быть представлена положительным прямоугольным импульсом на полную или на половинную длину двоичного интервала, или переходом с "+1" на "О" или "-1" (ступенькой вниз) в центре интервала, а "О" - соответствующей длины отрицательным импульсом, или отсутствием импульса, или обратным переходом с "-1" или "О" на "+1" (ступенькой вверх) в центре интервала.
Для ограничения длины блоков повторяющихся символов типа "11... 11" или "00...00" используется инверсия ("обращение" или незапланированное (преднамеренное) изменение) полярности импульсов регулярной кодовой последовательности, обозначаемая ниже буквой "V". Наряду с инверсией иногда используются вставки (дополнительные символы определенной полярности, обозначаемые ниже буквой В), позволяющие сохранить паритет кодовой комбинации.
Алгоритмы кодирования в большинстве случаев просты и могут быть описаны словесно, однако исчерпывающее описание дается направленным графом состояний, описывающим множество всех возможных состояний и переходов из одного в другое.
На рис. 1-9 для иллюстрации приведены некоторые линейные коды. Использованы следующие обозначения: (а) - исходная двоичная последовательность - взята из примера, приведенного на рис.1-6, (б)-(к) - соответствующие ей идеальные формы несимметричных (однополярных) и симметричных (двухполярных) импульсных последовательностей, полученные в результате применения специальных методов кодирования к исходной двоичной последовательности. На рис. 1-9 приведены следующие коды:
б) - однополярный код без возвращения к нулю - NRZ;
в) - двухполярный NRZ или симметричный телеграфный код;
г) - двухполярный код с возвращением к нулю - RZ; д) - код с поразрядно-чередующейся инверсией - ADI; е) - код с чередующейся инверсией на "1" - AMI; ж) - код с инверсией кодовых комбинаций - CMI; з) - двухполярный двухуровневый код Миллера; и) - биполярный код высокой плотности порядка 3 - HDB3;
к) - однополярный эквивалент кода HDB3 в оптической линии связи.
Ниже приведены расшифровки сокращений и краткие определения алгоритмов формирования кодов, используемых в практике цифровой связи:
1b2b - широко используемый частный случай класса блочных кодов (см. ниже), в котором 1 бит исходной И КМ последовательности длительностью Т кодируется комбинацией из 2 бит длительностью Т/2 (относительная скорость передачи в канале связи при этом возрастает в 2 раза). К этому классу (из приведенных нами) относятся коды CMI и Миллера.
ADI - Alternate Digit Invertion code - двоичный код с инверсией полярности сигнала на каждом втором двоичном разряде (не важно, какой он: "1" или "О"); в результате формируется двухполярный двухуровневый код.
AMI -Alternate Mark Inversion code - двоичный код RZ с инверсией на каждой "1", может быть получен из кода ADI путем инверсии каждой четной "1"; в результате формируется двухполярный трехуровневый код.
B3ZS - Bipolar with 3 Zero Substitution code - биполярный код с подстановкой альтернативныхблоков вместо блоков из трех "О", т.е. вместо блока "000" происходит подстановка блоков "OOV" или "BOV" для сохранения паритета - аналог кода HDB2 (см. ниже).
B6ZS - Bipolar with 6 Zero Substitution code - биполярный код с подстановкой альтернативных блоков вместо блоков из 6-ти "О", т.е. вместо "000000" блоков "OVBOVB".
B8ZS - Bipolar with 8 Zero Substitution code - биполярный код с подстановкой альтернативных блоков вместо блоков из 8-ми "О" , т.е. вместо "00000000" блоков "OOOVBOVB".
СМ1 - Coded Mark Inversion code - двухуровневый без возвращения к нулю двоичный код класса 1В2В с инверсией полярности кодовой комбинации на полный интервал на каждой "1" (т.е. каждой "1" ставится в соответствие либо комбинация "11", либо "00") и изменением полярности в середине каждого интервала "О" (т.е. каждому "О" ставится в соответствие дипульс "01").
HDB2 - High-Density Bipolar code of order 2 - двухполярный код высокой плотности порядка 2 -код RZ с инверсией на "1" (аналогичен AMI), в котором каждый блок "000" заменяется на блок "OOV" или "BOV", где В - вставка импульса "1", выполняемая так, чтобы число В импульсов между последовательными V импульсами было нечетным. В результате формируется трехуровневый код.
HDB3 - High-Density Bipolar code of order 3 - двухполярный код высокой плотности порядка 3 -код с инверсией на "1", в котором каждый блок "0000" заменяется на блок "OOOV" или "BOOV" , где В - вставка импульса "1" выполняемая так, чтобы число В импульсов между последовательными V импульсами было нечетным. В результате формируется трехуровневый код.
mbnb - общее обозначение класса блочных кодов - где т - длина (в битах) блоков, на которые разбивается исходная ИКМ последовательность, an- соответствующая им длина (в битах) блоков, составленных из кодовых символов. Из них наиболее широко используется класс 1В2В (см. выше).
NRZ - Won Return to Zero code - основополагающий двухуровневый код без возвращения к нулю, может быть как двуполярным, так и однополярным.
RZ - Return to Zero code - основополагающий трехуровневый код с возвращением к нулю.
Miller code - двуполярный двухуровневый код Миллера класса 1В2В, имеющий множество состояний{00, 01, 10, 11}, переходы между которыми описываются графом, приведенным на рис. 1-10. Например, для приведенной на рис. 1-9 исходной последовательности 1101101000000 ... порождаемые графом кодовые комбинации имееют вид: 11 10 00 01 10 00 01 11 ..., а сам процесс генерации (перехода из состояния в состояние) имеет вид:
1->11-1->10-0->00-1->01-1->10-0->00-1->01-0->1Г и т. д.
Нужно иметь ввиду, что указанные коды могут быть использованы и как интерфейсные коды, и как линейные коды. Для электрических линий связи интерфейсные и линейные коды могут совпадать, для оптических, как правило, - нет в силу невозможности непосредственного использования биполярных кодов в оптическом кабеле. Например, при использовании биполярного интерфейсного кода HDB3 в оптических линиях связи могут использоваться коды CMI, MCMI (модифицированный CMI) или код типа mВnВ, либо использо
ваться его оптические аналоги, например, однополярный эквивалент кода HDB3 (см. 1-10,к). Более подробно о линейном кодировании в каналах связи см. например, в [33], главу 5.