Скрэмблирование
Перемешивание данных скрэмблером перед передачей их в линию с помощью потенциального кода является другим
способом логического кодирования.
Методы скрэмблирования заключаются в побитном вычислении результирующего кода на основании бит исходного кода
и полученных в предыдущих тактах бит результирующего кода. Например, скрэмблер может реализовывать следующее соотношение:
где Bi - двоичная цифра результирующего кода, полученная на i-м такте работы скрэмблера,
Ai - двоичная цифра исходного кода, поступающая на i-м такте на вход скрэмблера, Bi-з и Bi-5 - двоичные цифры результирующего
кода, полученные на предыдущих тактах работы скрэмблера, соответственно на 3 и на 5 тактов ранее текущего такта,
- операция исключающего ИЛИ (сложение по модулю 2).
Например, для исходной последовательности 110110000001 скрэмблер даст следующий результирующий код:
B1 = А1 = 1 (первые три цифры результирующего кода будут совпадать с исходным, так как еще нет нужных предыдущих цифр)
Таким образом, на выходе скрэмблера появится последовательность 110001101111, в которой нет
последовательности из шести нулей, присутствовавшей в исходном коде.
После получения результирующей последовательности приемник передает ее дескрэмблеру, который восстанавливает
исходную последовательность на основании обратного соотношения:
Различные алгоритмы скрэмблирования отличаются количеством слагаемых, дающих цифру результирующего кода,
и сдвигом между слагаемыми. Так, в сетях ISDN при передаче данных от сети к абоненту используется преобразование со сдвигами в 5
и 23 позиции, а при передаче данных от абонента в сеть - со сдвигами 18 и 23 позиции.
Существуют и более простые методы борьбы с последовательностями единиц, также относимые к классу
скрэмблирования.
Для улучшения кода Bipolar AMI используются два метода, основанные на искусственном искажении
последовательности нулей запрещенными символами.
На рис. 2.17 показано использование метода B8ZS (Bipolar with 8-Zeros Substitution) и метода
HDB3 (High-Density Bipolar 3-Zeros) для корректировки кода AMI. Исходный код состоит из двух длинных последовательностей нулей:
в первом случае - из 8, а во втором - из 5.
Рис. 2.17. Коды B8ZS и HDB3. V - сигнал единицы запрещенной полярности; 1*-сигнал единицы
корректной полярности, но заменившей 0 в исходном коде
Код B8ZS исправляет только последовательности, состоящие из 8 нулей. Для этого он после первых трех нулей
вместо оставшихся пяти нулей вставляет пять цифр: V-1*-0-V-1*. V здесь обозначает сигнал единицы, запрещенной для данного
такта полярности, то есть сигнал, не изменяющий полярность предыдущей единицы, 1* - сигнал единицы корректной полярности,
а знак звездочки отмечает тот факт, что в исходном коде в этом такте была не единица, а ноль. В результате на 8 тактах приемник
наблюдает 2 искажения - очень маловероятно, что это случилось из-за шума на линии или других сбоев передачи. Поэтому приемник
считает такие нарушения кодировкой 8 последовательных нулей и после приема заменяет их на исходные 8 нулей. Код B8ZS построен
так, что его постоянная составляющая равна нулю при любых последовательностях двоичных цифр.
Код HDB3 исправляет любые четыре подряд идущих нуля в исходной последовательности. Правила формирования
кода HDB3 более сложные, чем кода B8ZS. Каждые четыре нуля заменяются четырьмя сигналами, в которых имеется один сигнал V.
Для подавления постоянной составляющей полярность сигнала V чередуется при последовательных заменах. Кроме того, для замены
используются два образца четырехтактовых кодов. Если перед заменой исходный код содержал нечетное число единиц, то используется
последовательность 000V, а если число единиц было четным - последовательность
1*00V.
Улучшенные потенциальные коды обладают достаточно узкой полосой пропускания для любых последовательностей
единиц и нулей, которые встречаются в передаваемых данных. На рис. 2.18 приведены спектры сигналов разных кодов, полученные
при передаче произвольных данных, в которых различные сочетания нулей и единиц в исходном коде равновероятны. При построении
графиков спектр усреднялся по всем возможным наборам исходных последовательностей. Естественно, что результирующие коды могут
иметь и другое распределение нулей и единиц. Из рис. 2.18 видно, что потенциальный код NRZ обладает хорошим спектром с одним
недостатком - у него имеется постоянная составляющая. Коды, полученные из потенциального путем логического кодирования,
обладают более узким спектром, чем манчестерский, даже при повышенной тактовой частоте (на рисунке спектр кода 4В/5В должен
был бы примерно совпадать с кодом B8ZS, но он сдвинут в область более высоких частот, так как его тактовая частота повышена
на 1/4 по сравнению с другими кодами). Этим объясняется применение потенциальных избыточных и скрэмблированных кодов в
современных технологиях, подобных FDDI, Fast Ethernet, Gigabit Ethernet, ISDN и т. п. вместо манчестерского и биполярного
импульсного кодирования.
Рис. 2.18. Спектры потенциальных и импульсных кодов
|