Последовательность максимальной длины обладаетследующими свойствами:
В полном цикле (2M - 1 тактов) число лог. 1на единицу больше, чем числолог. 0. Добавочная лог. 1 появляется засчетисключения состояния, при котором врегистре присутствовал бы нулевой код.Этоможно интерпретировать так, что вероятности появления на выходе регистралог. 0и лог. 1 практически одинаковы.
Рис. 7. Генератор псевдослучайной битовойпоследовательности максимальной длины:
а — схема; б — таблица для выбора промежуточной точки подключения обратнойсвязи
В полном цикле (2M-1 тактов) половина серийиз последовательных лог. 1 имеет длину 1, одна четвертая серий -длину 2, однавосьмая — длину 3 и т.д. Такими же свойствами обладают и серии из лог. 0 с учетомпропущенного лог. 0. Это говорит о том, что вероятности появления «орлов» и«решек» не зависят от исходовпредыдущих «подбрасываний». Поэтому вероятностьтого, что серия из последовательных лог. 1 или лог. 0 закончится при следующемподбрасывании, равна 1/2 вопреки обывательскому пониманию «закона о среднем».
Если последовательность полногоцикла (2M-1тактов) сравнивать с этой же последовательностью, но циклически сдвинутой налюбое число тактов W (W не является нулем или числом, кратным 2M-1),то число несовпадений будет на единицу больше, чем число совпадений.
Наиболее распространены две основные схемы построенияпар «скремблер-дескремблер»: с неизолированными и изолированными генераторамипсевдослучайных битовых последовательностей. Рассмотрим эти схемы и ихмодификации.
В схеме, приведенной на рис. 8.14, скремблер идескремблер выполнены на основе рассмотренных генераторов псевдослучайныхбитовых последовательностей. Оба генератора имеют одинаковую разрядность иоднотипную структуру обратных связей. Все процессы, протекающие в системепередачи данных, синхронизируются от тактового генератора (на рисунке непоказан). Этот генератор размещен на передающей стороне системы и можетпринадлежать источнику данных либо скремблеру. В каждом такте на входскремблера подается очередной бит передаваемых данных SD, а в сдвиговомрегистре RGI накопленный код продвигается на один разряд вправо.
Если предположить, что источник данных посылает вскремблер длинную последовательность лог. 0, то элемент XOR1 можнорассматривать как повторитель сигнала Y1 с выхода элемента XOR2. В этойситуации регистр RG1 замкнут в кольцо и генерирует точно такую жепсевдослучайную последовательность битов, как и в рассмотренной ранее схеме(см. рис. 7). Если от источника данных поступает произвольная битоваяпоследовательность, то она взаимодействует с последовательностью битов с выходаэлемента XOR2. В результате формируется новая (скремблированная)последовательность битов SCRD, по структуре близкая случайной. Этапоследовательность, в свою очередь, продвигается по регистру RG1, формируетпоток битов на выходе элемента XOR2 и т.д.
Рис. 8. Система передачи данных, в которой скремблер идескремблер содержат неизолированные генераторы псевдослучайных битовыхпоследовательностей
Скремблированная последовательность битов SCRDпередается по линии и поступает в дескремблер. С помощью генератора с фазовойавтоподстройкой частоты (этот генератор на рисунке не показан) из входногосигнала выделяется тактовый сигнал. Под управлением тактового сигнала биты SCRDпродвигаются в регистре RG2, а в приемник данных поступают дескремблированныеданные RD.
Потоки данных RD и SD совпадают с точностью дозадержки передачи по линии. Действительно, в установившемся режиме в сдвиговыхрегистрах RG1 и RG2 присутствуют одинаковые коды, так как на входы этихрегистров поданы одни и те же данные SCRD, а тактовая частота, по сути, общая.Поэтому Y2 = Y1, и, с учетом этого, RD = SCRD ⊕Y2 = SD ⊕ Y1 ⊕ Y2 = SD ⊕ Y1 ⊕ Yl = SD ⊕ 0 = SD.
Рассмотренная система передачи данных не требуетприменения какой-либо специальной процедуры начальной синхронизации. После заполнениясдвигового регистра RG2, как было показано, генераторы псевдослучайных битовыхпоследовательностей работают синхронно (их состояния всегда одинаковы). Припоявлении одиночной ошибки в линии синхронизация временно нарушается, но затемавтоматически восстанавливается, как только правильные данные вновь заполнятрегистр RG2. Однако в процессе продвижения ошибочного бита по сдвиговомурегистру RG2, а именно, в периоды его попадания сначала на первый, а затем навторой вход элемента XOR3 сигнал Y2 дважды принимает неправильное значение. Этоприводит к размножению одиночной ошибки — она впервые появляется в сигнале RD вмомент поступления из линии и затем возникает еще два раза при последующемдвукратном искажении сигнала Y. Еще один недостаток рассмотренной системыпередачи данных связан с тем, что существуют некоторые неблагоприятные кодовыеситуации, с которыми скремблер «не справляется».
В схеме, приведенной на рис. 9, генераторыпсевдослучайных битовых последовательностей включены так, что они изолированыот каких-либо нежелательных внешних воздействий. Генераторы, как и в предыдущейсхеме, работают синхронно, поэтому скремблирующий Z1 и дескремблирующий Z2сигналы одинаковы. Ошибка в линии не размножается дескремблером, так как она непопадает в сдвиговый регистр RG2. Недостаток этой схемы — отсутствиесамосинхронизации генератора псевдослучайной битовой последовательностидескремблера (напомним, что в предыдущей схеме такая синхронизация имеется).
Рис. 9. Система передачи данных, в которой скремблер идескремблер содержат изолированные генераторы псевдослучайных битовыхпоследовательностей
Рассмотрим улучшенный вариант скремблера-дескремблера,построенного на основе двух одинаковых генераторов псевдослучайныхпоследовательностей битов, рис. 10. Улучшение состоит в устраненииупоминавшихся в п. 2.2 неблагоприятных кодовых ситуаций. В отличие от схемы,приведенной на рис. 8, применены средства коррекции состояний генераторов дляустранения нежелательных последовательностей битов.
Рис. 10. Система передачи данных, в которой скремблер идескремблер содержат неизолированные генераторы псевдослучайных битовыхпоследовательностей (улучшенный вариант)
Скремблер содержит сдвиговый регистр RG1 с логическимиэлементами Исключающее ИЛИ (XOR1 и XOR2) в цепи обратной связи, а также двадвоичных счетчика.
Счетчик лог. 0 устанавливается в нуль всякий раз,когда скремблированный сигнал данных SCRD = 1. Если SCRD = 0, то содержимоесчетчика увеличивается на единицу по фронту сигнала CLK1. При накоплениизаданного числа единиц (например пяти) счетчик автоматически устанавливается внулевое состояние и формирует импульс SET установки в единицу некоторогоразряда (или группы разрядов) сдвигового регистра. Таким образом, счетчик лог.0 служит детектором цепочек лог. 0 заданной длины. При обнаружении такойцепочки корректируется код в сдвиговом регистре.
Счетчик лог. 1 построен симметрично. Онустанавливается в нуль всякий раз, когда скремблированный сигнал данных SCRD =0. Если SCRD = 1, то содержимое счетчика увеличивается на единицу по фронтусигнала CLK1. При накоплении заданного числа единиц (например пяти) счетчикавтоматически устанавливается в нулевое состояние и формирует импульс RESETустановки в нуль некоторого разряда (или группы разрядов) сдвигового регистра.Счетчик лог. 1 служит детектором цепочек лог. 1 заданной длины.
Дескремблер построен аналогично. Он дополнительносодержит схему выделения синхросигнала CLK2 из скремблированного сигнала SCRD.Эта схема может быть выполнена на основе петли фазовой авто подстройки частотыPLL (Phase Locked Loop).
Система передачи данных функционирует следующимобразом. Источник данных формирует синхронный битовый поток SD исоответствующий синхросигнал CLK1. Этот поток проходит через логический элементXOR2. На второй вход этого элемента поступает последовательность скремблирующихбитов SC1. Суммарный (скремблированный) поток SCRD передается по линии ипоступает в дескремблер.
После заполнения регистра RG2 информация в нем в точностисовпадает с той, которая присутствует в регистре RG1. В дальнейшем всеизменения информации в этих регистрах происходят синхронно, так как на их входыподается один и тот же сигнал SCRD (разумеется, с учетом задержки передачи полинии связи). Благодаря этому, SC2 = SC1. Логический элемент XOR4 формируетсигнал принимаемых данных RD, который повторяет исходный сигнал SD. Это следуетиз того, что
RD = SCRD ⊕ SC2 =SCRD ⊕ SC1 = SD ⊕ SC1 ⊕ SC1 = SD.
Уточним роль счетчиков лог. 0 и лог. 1, о которых ужекратко упоминалось. Предположим, что эти счетчики исключены из схем скремблераи дескремблера. Схема остается работоспособной при условии, что поток SD несодержит некоторых опасных последовательностей сигналов. Рассмотрим этипоследовательности.
При работе системы не исключено, что поступающие отисточника данные SD таковы, что логический элемент XOR2 скремблера в Мпоследовательных тактах сформирует сигнал лог. 0 (М — разрядность сдвиговогорегистра). Тогда сдвиговый регистр RG1 (а синхронно с ним и регистр RG2)заполнится нулевыми битами. Если после этого источник сигнала начнет передаватьдлинную последовательность лог. 0, то на обоих входах логического элемента XOR2будут постоянно присутствовать нулевые сигналы, сигнал SCRD также в течениедлительного времени будет оставаться нулевым, что крайне нежелательно.