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

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

Bj= Aj В}_з Bj_5.

Здесь Bj — двоичная цифра результирующего кода, полученная на i-м такте ра­боты скремблера, Aj — двоичная цифра исходного кода, поступающая на i-м так­те на вход скремблера, Bj_3 и В{_5 — двоичные цифры результирующего кода, по­лученные на предыдущих тактах работы скремблера (соответственно на 3 и на 5 тактов ранее текущего такта) и объединенные операцией исключающего ИЛИ (сложение по модулю 2).

Например, для исходной последовательности 110110000001 скремблер даст сле­дующий результирующий код (первые три цифры результирующего кода будут совпадать с исходным кодом, так как еще нет нужных предыдущих цифр):

Bt - А, - 1

В2 = А2 = 1 В3 - А3 = 0 В4= А4 Вх = 1 1 = 0 В5 = А5 В2 = 1 1 = 0 В6 = А6 В3 В, = 0 0 1 = 1 в7 = а7 В4 В2 = 0 0 1 = 1

В8 = А8 В5 В3 = 0 0 0 = О

В9 - А9 В6 В4 - 0 1 0 - 1

В10 - А10 В7 В5 - О 1 0 = 1

Ви - Аи В8 В6 - О О 1 - 1

В12 - А12 В9 В7 - 1 1 1 - 1

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

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

Q - Bj Bj_3 Bj_5 = (А{ В{_з В|_5) Bj_3 Bj_5 = Aj. Различные алгоритмы скремблирования отличаются количеством слагаемых, дающих цифру результирующего кода, и сдвигом между слагаемыми. Так, в се­тях ISDN при передаче данных от сеги к абоненту используется преобразование со сдвигами на 5 и 23 позиции, а при передаче данных от абонента в сеть — со сдвигами на 18 и 23 позиции.

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

Рисунок 9.9 иллюстрирует использование методов B8ZS (Bipolar with 8-Zeros Substitution) и HDB3 (High-Density Bipolar 3-Zeros) для корректировки кода AMI. Исходный код состоит из двух длинных последовательностей нулей: в первом случае — из 8, а во втором — из 5.

о I о

Биполярный код AMI

B8ZS 0 0 V

HDB3

Г

0 I 0

Рис. 9.9. Коды B8ZS и HDB3

Код B8ZS исправляет только последовательности, состоящие из 8 нулей. Для этого он после первых трех нулей вместо оставшихся пяти нулей вставляет пять цифр: V-l*-0-V-l*. Здесь V обозначает сигнал единицы, запрещенной (Violations) для данного такта полярности, то есть сигнал, не изменяющий полярность предыду­щей единицы, 1* — сигнал единицы корректной полярности (знак звездочки от­мечает тот факт, что в исходном коде в этом такте была не единица, а ноль). В результате на 8 тактах приемник наблюдает 2 искажения — очень маловероят­но, что это случается из-за шума на линии или других сбоев передачи. Поэтому приемник считает такие нарушения кодировкой 8 последовательных нулей и по­сле приема заменяет их исходными 8 нулями. Код B8ZS построен так, что его постоянная составляющая равна нулю при любых последовательностях двоич­ных цифр.

Код HDB3 исправляет любые четыре смежных нуля в исходной последователь­ности. Правила формирования кода HDB3 более сложные, чем кода B8ZS. Каждые четыре нуля заменяются четырьмя сигналами, в которых имеется один сигнал V. Для подавления постоянной составляющей полярность сигнала V чередуется при последовательных заменах. Кроме того, для замены используются два образца четырехтактовых кодов. Если перед заменой исходный код содержал нечетное число единиц, задействуется последовательность 000V, а если число единиц было четным — последовательность 1*00V.

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


NRZ 2B1Q B8ZS 4В/5В

1,2 А -
А -

N N N 8 4 2

N

3N 2

2N

 

N — скорость передачи данных, бит/с; А — амплитуда сигнала

Рис. 9.10. Спектры потенциальных и импульсных кодов

При построении графиков спектр усреднялся по всем возможным наборам ис­ходных последовательностей. Естественно, что результирующие коды могут иметь и другое распределение нулей и единиц. Из рисунка видно, что потенциальный код NRZ обладает хорошим спектром с одним недостатком — у него имеется по­стоянная составляющая. Коды, полученные из потенциального кода путем логи­ческого кодирования, обладают более узким спектром, чем манчестерский код, даже при повышенной тактовой частоте (на рисунке спектр кода 4В/5В должен был бы примерно совпадать с кодом B8ZS, но он сдвинут в область более высо­ких частот, так как его тактовая частота повышена на 1 /4 по сравнению с други­ми кодами). Этим объясняется преимущественное применение потенциальных избыточных и скремблированных кодов в современных технологиях, подобных FDDI, Fast Ethernet, Gigabit Ethernet, ISDN и т. п. вместо манчестерского и би­полярного импульсного кодирования.