Прокис Дж. - Цифровая связь (1266501), страница 82
Текст из файла (страница 82)
8.1.9. Перемежение кодовых символов в каналах с пакетами ошибок Большинство хорошо известных кодов, которые были разработаны для увеличения надежности при передачи информации, являются эффективными, когда ошибки, вызванные каналом, статистически независимы. Это случай канала с АБГШ. Однако, имеются каналы, в которых появляются пакеты ошибок. Один пример — это класс каналов, 400 характеризуемых многопутевостью и замираниями, которые в подробностях описаны в главе 14. Замирания сигнала, обусловленные меняющимся во времени многопутевым распространением волн, часто вызывают снижение уровня сигнала ниже уровня шума, что приводит к большому числу ошибок. Второй пример - это класс каналов магнитной записи (ленточной или дисковой), в которых дефекты в записывающей среде приводят к пачкам ошибок.
Такие группы ошибок обычно не исправляются кодами, оптимально рассчитанными для статистически независимых ошибок. Значительные работы были выполнены по синтезу кодов, которые способны исправить пакеты ошибок. Вероятно, наиболее известными кодами, исправляющими пакеты ошибок, является подкласс циклических кодов, называемых кодами Файра, в честь П,Файра (1959), который их открыл.
Другой класс циклических кодов для исправления пакетов ошибок был позднее открыт Буртоном (1969). Пакет ошибок длины (> определяется как последовательность из Ь символов (бит) ошибок, первым и последним из которых является «1». Способность кода исиравшггь папки огггггбок определяется длиной наиболее короткой пачки ошибок, которую он не может исправить.
Относительно просто можно показать, что систематический (гг,я) код, который имеет и- 1 проверочных символов, может корректировать пачки ошибок длиной ь<Я( -~)1. Эффективный метод работы в каналах с пачками ошибок заключается в перемеженип ходовых посылок таким путем, что канал с пачками ошибок трансформируется в канал, имеющий независимые ошибки. Затем используется код, рассчитанный на независимые ошибки в канале (короткие пакеты). Блок-схема системы связи, которая использует перемежение символов, показана на рис. 8.1.20. Рис.
8.1.20. Блок-схема системы связи, использующей пеоемегкеиие а каиале с группироваиием ошибок Кодированные данные перегруппируются перемежителем и передаются по каналу. На приеме, после (жестких или мягких решений) демодулятора деперемежитель аосстанавливает символы в нужной последовательности и направляет их к декодеру. Как результат перемежения-деперемежения, пачки ошибок рассеиваются во времени так, что ошибки внутри кодовых слов становятся независимыми.
Перемежитель может принять одну из двух форм: блоковая структура или сверточная структура. Блоковым ггеремежгглгель формирует кодированные данные в прямоугольный 26-56 401 массив из т строк и и столбцов. Обычно, каждая строка массива состоит из кодового слова длин и. Перемежитель степени иг состоит нз иг столбцов (т кодовых слов), как показана на рис. 8.1.21. Сяятняьяяе ьимявия бя г я вьлтяят~~ а. м и 1 о Л Ю в и' ь К У Рис.
8. !.21. Псрсыежитель мьгированных бит Биты считываются по столбцам и передаются по каналу. В приемнике деперемежитель располагает данные в тот же прямоугольный формат, но теперь онп считываются по строкам, одно кодовое слово за раз. Результат такой перегруппировки данных прн передаче по каналу сводится к тому, что пачка ошибок длины / — т1г разбивается на и! пачек длиной Ь каждая. Таким образом, код (и,к), который может справляться с пачкой ошибок длины Ь <~~а(и 7г)) можно соединить с перемежителем степени ги для того, чтобы образовывать блоковьш код (иги,ий), который может справляться с пачками ошибок длиной l = ий. г'ее)типичный трелгегггитеиь можно использовать вместо блокового перемежителя таким же путем.
Сверточные перемежители лучше согласованы к использованию совместно со сверточными кодами, которые описываются в следующем разделе. Структура сверточнаго перемежителя была описана Рамсеем (1970) и Форни (1971). 8.2. СВЕ*РТОЧНЫЕ КОДЫ Сверточный код создается прохождением передаваемой информационной последовательности через линейный сдвигавый регистр с конечным числом состояний. В общем, регистр сдвига состоит из К (7г-битовых) ячеек и линейного преобразователя, состоящего из и функциональных генераторов и выполняющего алгебраические функции.
как показано на рис. 8.2.1. Входные данные к кодеру, которые считаются двоичными, продвигаются вдоль регистра сдвига па и бит за раз. Число выходных битов для каждой «-битовой входной последовательности равно и. Следовательно, кодовая скорость, определенная как Л вЂ” 1г/и, согласуется с определением скорости блокового кода. Параметр К называется кодовым ! г ограничением сверточного кода . Чаще всего при ~=! кодовым ограничением называют число К-1 (прп) Во многих случаях кодовое ограниченно кода задается скорее в битах, чем в /г-битовых блоках.
Следовательно, рспктр сдвига можно назвать Л-ячесчным регистром сдвига, где 1. Кл . Более того, в обгнсм слу гас Х может и нс быть кратным К. Рис. Я.2.1. Ссарточиый кодер 1 2 ъ Выхад Рис. 8.2.2. Свсрточный ыдср с К=3, ~=1, н — 3 403 ) ! Я о ~а 1и я, и, ць н, . ям ';: Один метод для описания сверточного кода сводится к заданию его порождающей ",:,':матрицы, так же, как мы это делали для блоковых кодов. В общем, порождающая матрица '::;: для сверточного кода полубесконечная, поскольку входная последовательность :-::.вояубесконечная.
Можно использовать эквивалентное представление кода, в котором мы -:"; лпределяем набор из и векторов, один вектор для каждого из и сумматоров по тос~2. "",Каждый вектор имеет К/т измерений и содержит в себе информацию о соединениях =,":кодера с сумматорами по пюд2. «1» в 1-ой позиции вектора указывает на то. что ~',.'аютветсгвующая ячейка регистра сдвига подсоединена к сумматору по шоИ 2, а 0 в данной -'.возиции указывает на то, что такого соединения нет. Для конкретности рассмотрим двоичный сверточный кодер с кодовым ограничением ' 'К=З, ( =1 и д=3, показанный парис. 8.2.2.
.„"-". Считается, что первоначально все ячейки регистра сдвига находятся в нулевом янин. Допустим, что первый входной бит «1». Он без задержки появляется на выходе вой (левой) ячейки регистра и, соответственно, на всех трех входах выходного ключа ' льтиплексора). Ключ поочерйдно вьщает содержимое входов, и выходная едовательность из 3 бит 111.
Допустим, что второй входной бит «0». Он записывается ;,':.'аервую ячейку регистра, проталкивает предыдущий бит (<с1») во вторую ячейку — и на ' '.дах мультиплексора (сверху вниз) появляются О, 0 и 1. Тогда вторая выходная едовательность 001. Если третий входной бит 1, выходная последовательность 100 — и "'' далее. Таким образом„в ответ на каждый входной бит (1=1) сверточный кодер откликается тремя битами, по числу функциональных генераторов (н = 3). Пронумеруем функциональные генераторы и их выходы в соответствии с порядком считывания мультиплексором (1, 2 и 3). Затем, поскольку с первым функциональным генератором соединена только первая ячейка (сумматор по лют 2 не нужен) генератор можно отобразить вектором 8, = [100[. Второй функциональный генератор соединен с ячейками 1 и 3. Следовательно, 8в = [101[.
Наконец 8, =[1111. Генераторы (порождающие полиномы) для этого кода обычно дают в восьмеричной форме как 8=(4, 5, 7). Мы заключаем, что, когда Ф вЂ” 1, требуются п генераторов, каждый размерностью К, чтобы описать кодер. В общем случае при и >1 и кодовом ограничении К эти л генераторов отображаются КФ-мерными векторами, как оговорено выше. Следующий пример иллюстрирует случай„ когда к = 2 и п = 3. Пример 8.2Л.
Рассмотрим сверточный кодер со скоростью кода 2/3, показанный на рис. 8.2.3. В этом кодере каждый раз два бита поступают на вход регистров сдвига, а иа выходе генерируется три бита. Выход Рис. 8.2.3. Свсрточный кодер с А= — 2, ~=2, в=3 Генераторы определяются векторами 8, -[10111, ав =[11011, 8, =[1010]. В восьмеричной форме 8--(13, 15, 12) Имеются три альтернативных метода, которые часто используются для описания сверточного кода. Это древовидная диаграмма, решетчатая диаграмма и диаграмма состояний. Для примера, древовидная диаграмма для сверточного кодера, показанного на рис. 8.2.2, иллюстрируется на рис.
8.2.4. Предположим, что кодер находится первоначально в нулевом состоянии (во всех ячейках нули). Диаграмма показывает, что, если первый вход Π— выходная последовательность 000, а если первый вход 1 — выходная последовательность 111. Теперь, если первый вход 1, а второй 0 — второй набор выходных битов 001. Продвигаясь по дереву видим„что если третий входной бит О, тогда выходной 011, если же третий выходной бит 1, то выход 100.
Видим, что частная последовательность обуславливает выбор узла дерева, а правило движения по ветвям дерева такое — надо двигаться к верхней ветви, если следующий битО и к нижней, если следующий бит 1, Таким образом, траектория частного пути по дереву определяется входной последовательностью. оов Рне. Х.2А.
Древовидная дввгрвммв длв еворточного код'Ь имеющего скорость 1(3, Е-3 Внимательное наблюдение за деревом, показанном на рис. 8.2.4, обнаруживает, что струюгура повторяет себя после третьего такта. Правый столбец выходных «троек» бит распадается на две одинаковые совокупности по 8 «троек». Это поведение согласуется с тем фактом, что кодовое ограничение К = 3 . Это значит, трехбитовые выходные последовательности на каждом такте определяются входным битом и двумя предыдущими входными битами, т.е. двумя битами, содержащимися в первых двух ячейках регистра сдвига.