
3.2. Методы скремблирования
Скремблирование (scramble — перемешивание) заключается в перемешивании исходной последовательности нулей и единиц с целью улучшения спектральных характеристик и самосинхронизирующих свойств результирующей последовательности битов. Осуществляется скремблирование путем побитовой операции исключающего ИЛИ исходной последовательности с псевдослучайной последовательностью. В результате получается «зашифрованный» поток, который восстанавливается на стороне приемника с помощью дескремблера.
С аппаратной точки зрения, скремблер состоит из нескольких логических элементов «Исключающее ИЛИ» и регистров сдвига. Логический элемент "Исключающее ИЛИ" совершает над двумя булевыми операндами x и y, которые могут принимать значение 0 или 1, логическую операцию суммирования по модулю два.
Другим составным элементом скремблера является регистр сдвига. Регистр сдвига состоит из нескольких последовательно связанных друг с другом элементарных запоминающих ячеек, выполненных на основе триггерных схем и передающих информационный сигнал с входа на выход по управляющему сигналу — тактирующему импульсу. Регистры сдвига могут реагировать как на положительный фронт тактирующего импульса (то есть при переходе управляющего сигнала из состояния 0 в состояние 1), так и на отрицательный фронт.
Рассмотрим представленную на рис.3 простейшую запоминающую ячейку регистра сдвига, управляемую по положительному фронту тактирующего импульса С
Рис. 3.
В момент изменения тактирующего импульса из состояния 0 в состояние 1 на выход ячейки передается тот сигнал, который был на его входе в предыдущий момент времени, то есть когда управляющий сигнал С был равен 0. После этого состояние выхода не изменяется (ячейка заперта) вплоть до прихода следующего положительного фронта тактирующего импульса.
Используя цепочку, состоящую из нескольких последовательно связанных запоминающих ячеек с одним и тем же управляющим сигналом, можно составить регистр сдвига (Рис.4), в котором информационные биты будут последовательно передаваться от одной ячейки к другой синхронно по положительному фронту тактирующего импульса.
Рис. 4. Принцип действия регистра сдвига
На рис.5 приведен пример скремблера, на вход которого подается исходная последовательность подвергаемая скремблированию
Рис.5
Рассматриваемый скремблер осуществляет следующую логическую операцию:
,
где Ai - двоичная цифра исходного кода, поступающая на i-м такте работы на вход скремблера, Bi - двоичная цифра результирующего кода, полученная на i-м такте работы, Bi-3 и Bi-4 — двоичные цифры результирующего кода, полученные на предыдущих тактах работы скремблера, соответственно на 3 и на 4 такта ранее текущего момента.
После раскодирования полученной таким образом последовательности на стороне приемника используется дескремблер. Схема дескремблера выполняет логическую операцию следующего вида:
,
что, как легко видеть
дает в результате
.
Рассмотренная четырехразрядная схема скремблера является одной из простейших. В технологии 1000Base-T используется значительно более сложный скремблер на 33 разряда. В сетях ISDN при передаче данных от сети к абоненту используется преобразование со сдвигами в 5 и 23 позиции, а при передаче данных от абонента в сеть - со сдвигами 18 и 23 позиции.
Рассмотрим еще два метода скремблирования, основанных на искусственном искажении последовательности нулей запрещенными символами. Они предназначены для улучшения свойств биполярного кода AMI.
Метод B8ZS.
Название метода "Bipolar with 8-Zeros Substitution". Метод исправляет только последовательности, состоящие из 8 нулей, следующим образом. После первых трех нулей вместо последующих 5 нулей вставляются 5 цифр:
V-1*-0-V-1*,
гдеV- сигнал единицы, запрещенной для данного такта полярности, 1*- сигнал единицы корректной полярности, * обозначает, что в исходном коде в этом такте была не 1, а 0.
На рис.6,б представлен результат скремблирования исходной последовательности, приведенной на рис.6,а.
Рис. 6
Как видно из графика, на 8 тактах, в которых в исходном коде были нули, приемник наблюдает 2 искажения. Поскольку такое событие из-за наличия шума на линии или сбоя передачи маловероятно, то принятые данные рассматриваются как кодировка 8 нулей и соответственно заменяются приемником на 8 нулей.
Метод HDB3.
Название метода "High Density Bipolar 3-Zeros". Этим методом исправляются любые идущие подряд 4 нуля на 4 сигнала, в числе которых имеется один сигнал V. Алгоритм, положенный в основу этого метода, предусматривает использование для замены 4 нулей двух образцов четырехтактовых кодов:
000V используется, если исходный код содержит нечетное число стандартных АMI-импульсов (единиц) с момента последнего нарушения полярности,
1*00V используется, если код исходный код содержит четное число стандартных АMI-импульсов с момента последнего нарушения полярности. При последовательных заменах полярность сигнала V чередуется. Это делается для подавления постоянной составляющей.
Для определенности выбора того или иного образца кода для первой подстановки в нашей работе будем подсчитывать число стандартных АMI-импульсов с начала кодовой последовательности.
На рис. 7,б показан результат скремблирования исходной последовательности, приведенной на рис.7,а, методом HDB3.
Рис. 7
Задание по 1-ой части
Формирование исходного кода
Сформировать исходную последовательность битов, подлежащую передаче по сети связи, последовательно записав:
шестиразрядное двоичное число, обозначающее две последние цифры номера группы,
четырехразрядное двоичное число, обозначающее количество букв в Вашей фамилии (обозначим его n),
пятиразрядное двоичное число, обозначающее Ваш порядковый номер в групповом журнале,
9 нулей,
четырехразрядное двоичное число, обозначающее количество букв в Вашем имени (обозначим его m),.
Применение методов аналоговой модуляции
Для передачи сформированной исходной последовательности битов применить к несущему синусоидальному сигналу:
амплитудную модуляцию,
частотную модуляцию,
фазовую модуляцию.
Цифровое кодирование
Закодировать исходную последовательность с использованием следующих цифровых кодов:
NRZ,
NRZI,
биполярного кода AMI,
кода RZ,
манчестерского кода.
Проанализировать полученные кодовые последовательности и показать необходимость их преобразования перед передачей по линии связи.
Применение методов улучшения свойств потенциальных кодов
4.1. Выполнить логическое кодирование исходной последовательности методом 4B/5B. Полученную в результате последовательность битов закодировать посредством кода NRZI.
4.2. Исследовать метод скремблирования по заданному логическому выражению.
4.2.1. Выполнить логическое кодирование исходной последовательности методом скремблирования в соответствии с выражением
,
где n и m – количество букв в Вашей фамилии и имени соответственно.
4.2.2. Закодировать полученную в соответствии с п.4.2. последовательность битов с использованием кода NRZI (для студентов, у которых порядковый номер в журнале - нечетное число) либо AMI (используется теми, у кого порядковый номер в журнале - четное число).
4.2.3. Сравнить полученную в п. 4.2.2 кодовую последовательность с соответствующим кодом, сформированным в п.3.
4.2.4. Построить функциональную схему скремблера, реализующую использованный в п.4.2 алгоритм скремблирования.
4.2.5. Составить таблицу, показывающую состояния выходов всех логических элементов и всех триггеров схемы для 28 тактов работы скремблера.
4.2.6. Выполнив операцию дескремблирования, получить последовательность битов, которая должна совпасть с исходной.
4.2.7. Построить функциональную схему дескремблера, реализующую требуемый алгоритм.
4.3. Выполнить скремблирование исходной последовательности, закодированной посредством биполярного кода AMI, методом B8ZS.
4.4. Выполнить скремблирование исходной последовательности, закодированной посредством биполярного кода AMI, методом HDB3.