logo search
ISiT_Lekcii

2.3.3. Методы логического кодирования

Методы логического кодирования применяются для улучшения характеристик потенциальных кодов типа AMI, NRZI. Эти методы позволяют заменять длинные последовательности логических нулей, приводящие к постоянному потенциалу, вставками единиц. Для логического кодирования характерны два метода ‑ избыточные коды и скрэмблирование [13].

Избыточные коды основаны на разбиении исходной последовательности бит на порции, называемые символами. В процессе кодирования каждый исходный символ заменяется на новый, содержащий большее количество бит, чем исходный. Например, логический код 4В/5В, используемый в технологиях FDDI и Fast Ethernet, заменяет исходные символы длиной в 4 бита на символы длиной в 5 бит. Так как результирующие символы содержат избыточные биты, то общее количество битовых комбинаций в них больше, чем в исходных. Так, в коде 4В/5В результирующие символы могут содержать 25 битовых комбинации, в то время как исходные символы ‑ только 24. Поэтому в результирующем коде можно отобрать 16 таких комбинаций, которые не содержат большого количества нулей, а остальные считать запрещенными кодами (code violation). Кроме устранения постоянной составляющей и придания коду свойства самосинхронизации, избыточные коды позволяют приемнику распознавать искаженные биты. Если приемник принимает запрещенный код, значит на линии произошло искажение сигнала. Соответствие исходных и результирующих логических кодов 4В/5В представлены в табл. 2.1.

Таблица 2.1

Исход-ный код

Результи-рующий код

Исхо-дный код

Результи-рующий код

Исхо-дный код

Результи-рующий код

0000

11110

0110

01110

1100

11010

0001

01001

0111

01111

1101

11011

0010

10100

1000

10010

1110

11100

0011

10101

1001

10011

1111

11101

0100

01010

1010

10110

0101

01011

1011

10111

После замены символов код 4В/5В подвергается физическому кодированию по одному из методов потенциального кодирования, чувствительному только к длинным цепочкам нулей. Символы кода 4В/5В длиной 5 бит гарантируют, что при любом их сочетании на линии не могут встретиться более трех нулей подряд.

Использование таблицы перекодировки является очень простой операцией, поэтому этот подход не усложняет сетевые адаптеры и интерфейсные блоки коммутаторов и маршрутизаторов.

Для обеспечения заданной пропускной способности линии передатчик, использующий избыточный код, должен работать с повышенной тактовой частотой. Так, для передачи кодов 4В/5В со скоростью 100 Мб/с передатчик должен работать с тактовой частотой 125 МГц. При этом спектр сигнала на линии расширяется по сравнению со случаем, когда по линии передается чистый, не избыточный код. Тем не менее спектр избыточного потенциального кода оказывается уже спектра манчестерского кода, что оправдывает дополнительный этап логического кодирования, а также работу приемника и передатчика на повышенной тактовой частоте.

Скрэмблирование (scramble ‑ свалка, беспорядочная сборка) основано на предварительном «перемешивании» исходной информации таким образом, чтобы вероятность появления единиц и нулей на линии становилась приблизительно одинаковой. Устройства, выполняющие такую операцию, называются скрэмблерами.

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

Например, скрэмблер может реализовывать следующее соотношение:

Bi = Ai Bi-3  Bi-5,

где Bi ‑ двоичная цифра результирующего кода, полученная на i-м такте работы скрэмблера, Ai ‑ двоичная цифра исходного кода, поступающая на i-м такте на вход скрэмблера, Вi-3 и Вi-5 ‑ двоичные цифры результирующего кода, полученные на предыдущих тактах работы скрэмблера, соответственно на 3 и на 5 тактов ранее текущего такта,  ‑ операция «Cложение по модулю 2».

Например, для исходной последовательности 110110000001 скрэмблер даст следующий результирующий код:

B1 = А1 = 1

B2 = А2 = 1

B3 = А3 = 0

B4 = A4Bi = ll=0

B5 = А5  B2 = 1  1 = 0

B6 = А6  B3  B1 = 0  0  1 = 1

B7 = А7В4В2 = 00 1 = 1

B8 = А8В5Вз = 000 = 0

B9 = А9  B6  B4 = 0  1  0 = 1

В10 = А10  B7  B5 = 0  1  0 = 1

В11 = А11  B8  B6 = 0  0  1 = 1

B12 = А12  B9  B7 = 1  1  1 = 1.

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

Таким образом, на выходе скрэмблера появится последовательность 110001101111, в которой нет последовательности из шести нулей, присутствовавшей в исходном коде.

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

Q = Bi  Bi-3  Bi-5 = (Ai  Bi-3  Bi-5)  Bi-3  Bi-5 = Ai.

Различные алгоритмы скрэмблирования отличаются количеством слагаемых, дающих цифру результирующего кода, и сдвигом между слагаемыми. Так, в сетях ISDN при передаче данных от сети к абоненту используется преобразование со сдвигами в 5 и 23 позиции, а при передаче данных от абонента в сеть со сдвигами 18 и 23 позиции.