Пред.
След.
Макеты страниц
Распознанный текст, спецсимволы и формулы могут содержать ошибки, поэтому с корректным вариантом рекомендуем ознакомиться на отсканированных изображениях учебника выше Также, советуем воспользоваться поиском по сайту, мы уверены, что вы сможете найти больше информации по нужной Вам тематике ДЛЯ СТУДЕНТОВ И ШКОЛЬНИКОВ ЕСТЬ
ZADANIA.TO
12.7. ОБЕРТОЧНЫЕ КОДЫ ДЛЯ ИСПРАВЛЕНИЯ ПАКЕТОВ ОШИБОКПакетом ошибок длины называется любая последовательность символов, первый и последний символы которой не равны нулю. В бесконечно длинном слове, принятом декодером сверточного кода, может появиться много ошибок, и мы можем считать, что эти ошибки собраны в пакеты различной длины. Если отдельные пакеты ошибок приходят не часто, то декодер в каждый момент времени содержит лишь один пакет ошибок. Сверточный код, для которого декодер может исправлять любой изолированный пакет ошибок длины (при условии, что другие пакеты ошибок находятся достаточно далеко), называется сверточным кодом, способным исправлять пакеты ошибок длины Очевидно, что любой сверточный -код, исправляющий ошибок, будет исправлять любой пакет ошибок длины Сверточный код для испрааления более длинных пакетов может быть получен перемежением. Чтобы получить сверточный -код из -кода, возьмем одинаковых -кодеров и построим кодовые слова, чередуя их выходные символы. Если исходный код может исправлять любой пакет ошибок длины то, очевидно, код-перемежение может исправлять пакет ошибок длины Например, систематический сверточный -код с длиной кодового ограничения 6 и порождающими многочленами
может исправлять два любых ошибочных символа в любом интервале длины 14. Взяв четыре одинаковых -кода и перемежая символы, можно получить -код, который будет исправлять все пакеты ошибок длины 8. Методом перемежения можно получить сверточный код из сверточного кода. Если порождающий многочлен исходного кода, то порождающий многочлен кода-перемежения. В приведенном выше примере порождающие многочлены после перемежения принимают вид
Мы уже видели, что коды-перемежения для циклических блоковых кодов ведут себя аналогично. Перемежая приведенные на рис. 12.13 короткие сверточные коды, исправляющие случайные ошибки, можно построить большое число сверточных кодов, исправляющих пакеты ошибок. Эти коды-перемежения будут исправлять не только пакеты ошибок, но и многие конфигурации случайных ошибок. Однако если требуется исправлять только пакеты ошибок, то можно получить лучшие характеристики, используя коды, предложенные специально для исправления пакетов ошибок. Классом таких кодов, способных исправлять любые пакеты ошибок длины не более где k — конструктивный параметр, являются коды Ивадаре. Определение 12.7.1. Пусть - любые положительные целые числа. Кодом Ивадаре называется исправляющий пакеты ошибок двоичный систематический сверточный код со следующей порождающей -матрицей из многочленов:
где для матричных элементов использовалось сокращенное обозначение и
Наибольшую степень, равную ( имеет порождающий многочлен Поэтому коды Ивадаре являются сверточными с числом кадров равным
Как мы увидим, этот код исправляет любые пакеты ошибок длины не более . Проверочная матрица из многочленов такого кода равна
Так как имеется лишь один синдромный многочлен
Декодер использует этот многочлен для обнаружения пакетов ошибок. Предположим, что пакет начинается в первом кадре и содержит битов. Если он начинается не в нервом бите первого кадра, то он может захватывать кадр. Чтобы доказать, что этот код может исправлять такой пакет ошибок, необходимо показать, что декодер может восстановить по синдрому пакет ошибок, а также что пакет ошибок, начинающийся в более позднем кадре, не вызовет сбоя в работе декодера. Декодирование кодов Ивадаре лучше всего нояснить на примере, поскольку структура всех этих кодов одинакова. В качестве примера рассмотрим -код Ивадаре с следовательно, с Кодер представлен на рис. 12.21. Обозначим через многочлен проверочных битов, а через многочлены информационных битов. Соответствующими мноючленами ошибок будут Синдромный многочлен равен
где для пакета ошибок, начинающегося в первом кадре,
Заметим, что если пакет начинается в первом кадре, то ем равняется нулю. Если, далее, отличен от пуля, то равны нулю: если отличен от нуля, то равен нулю. Это следует из того, что длина пакета не превосходит 12. На рис. 12.22 представлены коэффициенты для трех случаев, в которых пакет ошибок начинается в или соответственно. Порождающие многочлены были выбраны так, чтобы на каждый бит синдрома влиял лишь один ошибочный бит. Кроме того, заметим, что, хотя в начале многочлены перемежены и располагаются при формировании синдрома в порядке над их образами затем производится обратное перемежение и они появляются в обратном порядке, т. е. в порядке
Рис. 12.21. Кодер для -кода Ивадаре.
Рис. 12.22. Структура синдрома для -кода Ивадаре. Каждый бит многочлена воздействует на синдром дважды: за его первым появлением следует отклик с задержкой на 15 битов. Аналогично каждый бит многочлена воздействует на синдром дважды, за его первым появлением следует отклик с задержкой на 14 битов. Так как не могут одновременно быть ненулевыми, эти пары ошибок никогда не перекрываются. Каждый бит многочлена воздействует на синдром один раз; за его первым появлением следуют только нули — один с задержкой на 14 битов, а другой с задержкой на 15 битов. Эти нули определяют Если в действительности пакет ошибок начинается в кадре, то синдром сдвигается вправо на I битов и перед ним вставляется I нулей. Процедура декодирования построена таким образом, что эта конфигурация не будет восприниматься как пакет ошибок, начинающийся в первом кадре. Перейдем к описанию декодера, изображенного на рис. 12.23. После того как в него поступили первые 20 кадров, в регистре синдрома хранятся первые 20 битов синдрома, причем располагается справа. Диалогично первый принятый бит многочлена находится в крайнем правом разряде -регистра. В течение еще четырех последующих тактов первый принятый бит не достигнет крайнего правого разряда и, -регистра. Описание работы декодера начнем с этого момента времени. Первые четыре бита синдрома зависит лишь от ошибок в нринитых проверочных битах и нас не интересуют. Следовательно, та часть рис. 12.23,
Рис. 12.23. Декодер для -кода Ивадаре, которая нанесена штриховыми линиями, может быть опущена. Заштрихованные разряды регистра сдвига также могут быть опущены, может вводиться непосредственно из предшествующего сумматора по модулю 2. Сначвла декодер исправляет второй бит каждого кадра пакета ошибок, а затем возвращается к началу пакета и исправляет первый бит каждогокадра. Поэтому декодер имеет четырехразрядный регистр сдвига, в котором он хранит после завершения исправления. Третий бит каждого кадра является проверочным; он не исправляется. Для исправления ошибки в декодер проверяет компоненты синдрома. Если обе компоненты равны единице, то правый бит является ошибочным и в потоке данных, а также регистре синдрома делаются соответствующие исправления. Пакет ошибок начинающийся в более позднем кадре, не может вызвать сбоя, так как отклик равен нулю. Параллельно с этим для нахождения ошибки в декодер четырьмя кадрами позднее проверяет компоненты синдрома. Если они обе равны единице, равна нулю, то правый бит -регистра ошибочен. Такая проверка не приводит к нахождению ошибок в течение первых четырех тактов, но затем начинает исправлять ошибки в Пакет начинающийся в более позднем кадре, не может вызвать сбоя, так как отклик равен нулю. В силу выбора способа проверки еще не исправленный также не может вызвать сбоя, и поэтому равна нулю. После появления пакета ошибок длины 12 принятое слово не должно содержать больше ошибок, чтобы синдрому ничто не мешало во время исправления этого пакета. Для этого необходимо, чтобы до кадра не происходило ошибок. Следовательно, между пакетами ошибок должно быть свободно от ошибок не менее 24 кадров (72 хороших Сита). При выполвении этого правила декодер будет успешно исправлять следующие друг за другом пакеты ошибок длины не больше 12 каждый.
|
1 |
Оглавление
|