Логическое кодирование
1 1 1 1 1 1 1 1 1 1 Рейтинг 4.72 [9 Голоса (ов)]

Логическое кодирование употребляется для совершенствования потенциальных кодов на подобии:

  • Потенциальный код с инверсией при единице NRZI; 
  • Метод биполярного кодирования с альтернативной инверсией AMI;
  • Потенциальный код 2B1Q.

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

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

  • избыточные коды;
  • скремблирование.

Избыточные коды

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

В свою очередь логический код 4В/5В, применяющийся в технологиях локальных сетей: FDDI и FastEthernet, заменяет подряд идущие 4 бита исходной последовательности на 5 бит. Из-за чего размер передаваемых данных увеличивается. В результате, вместо 16 битовых комбинаций, получаем 32 битовых комбинации, в которых можно выбрать такие комбинации бит, которые будут содержать наименьшее количество подрят идущих одиннаковых последовательностей бит. А оставшиеся 16 комбинаций пометить как запрещенные, что придает избыточному коду свойство распозновать искаженные биты. Если поступила запрещенная комбинация - сигнал исказился.

Таблица - Соответствие исходных и результирующих кодов 4В/5В

4B/5B

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

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

Скремблирование

Скремблирование (англ. scramble — перемешивать) — разновидность кодирования информации, для передачи по каналам связи и хранения, улучшаюшая спектральные и статиcтические характеристики.

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

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

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

Скремблирование

где Вi, — двоичная цифра результирующего кода, полученная на i-м такте работы скремблера, Ai — двоичная цифра исходного кода, поступающая на вход скремблера, Вi-3 и Bi-5 — двоичные цифры результирующего кода, полученные на предыдущих тактах работы скремблера, соответственно на 3 и на 5 тактов ранее текущего такта, операция исключающего ИЛИ (сложение по модулю 2).

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

Скремблирование

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

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

дескремблирование

Произведем обратную операцию с последовательностью 111110001100, для получения исходной последовательности:

дескремблирование

Получаем исходную последовательность: 111000000001.

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

Для улучшения кода AMI используются два метода, основанные на искусственном искажении последовательности нулей запрещенными символами:

  • метод B8ZS (Bipolarwith 8-ZerosSub¬stitution) - исправляет только последовательности, состоящие из 8 нулей. Для этого он после первых трех нулей вместо оставшихся пяти нулей вставляет пять цифр: V-l*-0-V-l*. V здесь обозначает сигнал единицы, запрещенной для данного такта полярности, то есть сигнал, не изменяющий полярность предыдущей единицы, 1* — сигнал единицы корректной полярности, а знак звездочки отмечает тот факт, что в исходном коде в этом такте была не единица, а ноль.
B8ZS
  • метода HDB3 (High-DensityBipolar 3-Zeros) - исправляет любые четыре подряд идущих нуля в исходной последовательности. Каждые четыре нуля заменяются четырьмя сигналами, в которых имеется один сигнал V. Для подавления постоянной составляющей полярность сигнала V чередуется при последовательных заменах. Кроме того, для замены используются два образца четырехтактовых кодов. Если перед заменой исходный код содержал не¬четное число единиц, то используется последовательность 000V, а если число единиц было четным — последовательность l*00V.
HDB3

V - сигнал единицы запрещенной полярности;

1* - сигнал единицы корректной полярности, но заменившей 0 в исходном коде