Возврат   Обзоры рынка
   
июнь 1997 г.


Коды передачи


Для передачи данных в канале связи двоичные значения "1" (Mark) и "0" (Space) должны быть преобразованы (закодированы) в токовые посылки разной полярности, а при использовании более современных алгоритмов и разной амплитуды. Широко известный класс кодов - "Non Return to Zero" (NRZ). NRZ-коды бывают различных типов. Например, NRZ Mark Code в начале каждого бит-периода, представляющего "1", изменяет полярность передаваемого сигнала. При передаче двоичного значения "0" такого изменения не происходит.

Однако эти алгоритмы плохо подходят для синхронного режима передачи, так как при следовании нескольких "0" подряд такт из самого сигнала не генерируется. В целях избежания длинных последовательностей сигналов одной полярности применяется битсинхронный код NRZ Space. Он обеспечивает обязательное изменение фазы сигнала после следования шести импульсов одной полярности.

Двухфазный код ("Bi Phase") генерирует такт независимо от передаваемого значения. При этом в середине каждого бит-периода происходит переход от "0" к "1" и наоборот. Направление перехода определяет передаваемое двоичное значение. Вариантом данного кода является манчестерский код (называемый еще Bi Phase Mark). Он обеспечивает изменение полярности сигнала в начале каждого передаваемого бита, тем самым генерируя такт. Однако при передаче значения "1" в середине битпериода происходит дополнительное изменение полярности сигнала.

Схема
Коды передачи NRZ, NRZ Mark, Bi Phase, Bi Phase Mark, Биимпульс, AMI

До сих пор мы рассматривали двоичное кодирование. Существуют также троичные и четверичные коды. Примером первого может служить код "биимпульс". Сигнал в линии в этом случае может приобретать три значения: "-", "0" и "+". Двоичное значение "1" кодируется двойным импульсом (первая половина бит-периода - положительным, вторая - отрицательным импульсом); при двоичном значении "0" импульс вообще не передается. Особенность этого кода - эффект взаимного уничтожения положительных и отрицательных импульсов, в результате чего между ними ток не передается (возникает составляющая постоянного тока). Собственно эта характеристика присуща и двухфазным кодам. Их ведь можно также интерпретировать как двуимпульсное кодирование, поскольку для передачи значения "1" в течение полупериода используется сначала положительный, а затем отрицательный импульс. То же самое происходит и со значением "0". Только сначала передается отрицательный, а затем положительный импульс.

Код AMI (Alternate Mark Insertion) также является троичным. Однако он позволяет отказаться от составляющей постоянного тока внутри бит-периода. При использовании этого кода двоичное значение "1" в течение всего бит-периода передается одиночным импульсом, в соответствии с порядком перехода он может быть то положительным, то отрицательным.

При длинных последовательностях "0" код AMI не обеспечивает генерацию такта из передаваемого сигнала. Для преодоления этого недостатка применяются коды CHDB (Compatible High Density Binary). Они обеспечивают после n периодов следования значения "0" обязательную смену полярности сигнала. Так, код CHDB3 (обычно называемый просто HDB3) предполагает, что максимум после трех "0" обязательно передается импульс. Для того чтобы на приемной стороне он не был воспринят как "1", применяется нарушение правила перехода, требующего обязательного чередования положительных и отрицательных импульсов. При кодировании по методу HDB3 после трех значений "0" передается импульс того же знака, что и последний импульс, представлявший значение "1".

Стоит подробнее остановиться на алгоритме кодирования HDB3, поскольку в Европе в соответствии с рекомендацией G.703 МККТТ он применяется для организации цифровых потоков со скоростью 2,048 Мбит/с. HDB3 не допускает возникновения составляющих постоянного тока. Например, при передаче сигнала, приведенного на рис. 2, во второй и третьей последовательности четырех "0" согласно требованию нарушения правила перехода должен был бы передаваться опять отрицательный импульс, что привело бы к суммированию этих импульсов. В целях недопущения подобного суммирования алгоритм HDB3 требует, чтобы нарушения правила перехода попеременно осуществлялись в положительную и отрицательную сторону. Как видно из рисунка, это второе правило приводит к тому, что первое значение из последовательности четырех "0" передается как "1", т. е. импульсом без нарушения правила перехода, а четвертое значение "0" этой последовательности - с нарушением правила перехода.

Схема
Код HDB3

Следующий класс кодов при передаче по каналу связи отображает группу двоичных значений группой троичных значений. К нему относится код 4В3Т (4 binary 3 ternary), применяемый, в частности, в немецком национальном стандарте ISDN. При данном кодировании четыре двоичных значения преобразуются в три троичных. В зависимости от типа кода последовательности троичных "0" (начиная с трех) или троичных значений "+" или "-" (начиная с пяти) используются для синхронизации.

Наконец, в европейском стандарте ISDN, а также в МФЛ и HDSL-модемах многих компаний применяется код 2В1Q (2 binary 1 quaternary). Он представляет каждую пару двоичных знаков четырьмя дискретными значениями амплитуды и полярности сигнала.