Пред.
След.
Макеты страниц
Распознанный текст, спецсимволы и формулы могут содержать ошибки, поэтому с корректным вариантом рекомендуем ознакомиться на отсканированных изображениях учебника выше Также, советуем воспользоваться поиском по сайту, мы уверены, что вы сможете найти больше информации по нужной Вам тематике ДЛЯ СТУДЕНТОВ И ШКОЛЬНИКОВ ЕСТЬ
ZADANIA.TO
5.4. НЕКОТОРЫЕ РАЗНОВИДНОСТИ СИСТЕМАТИЧЕСКИХ КОДОВВ поисках более простой техники кодирования и декодирования был найден подкласс линейных систематических двоичных кодов, называемых циклическими и нашедшими широкое применение в технике связи. Название этих кодов связано с тем, что каждый вектор, получаемый из кодового путем циклической перестановки его символов, также принадлежит коду. Примером циклического кода является код (7, 4), определяемый матрицами (5.18) и (5.19). Так, например, циклические перестановки вектора 1000101 являются также кодовыми векторами Теория циклических кодов основана на изоморфизме пространства двоичных
где коэффициенты а принимают значения 0 и 1. Множество таких полиномов образует линейное пространство, если определить сложение полиномов как суммирование коэффициентов при соответствующих степенях х по модулю 2. Переменная х является символической, и ее значение иикак не влияет на свойства пространства. Легко видеть, что между полиномами (5.21) и
Любой полином
Среди циклических кодов особое значение имеет класс кодов, предложенных Боузом и Рой-Чоудхури и независимо от них Хоквингемом. Коды Боуза — Чоудхури — Хоквингема (обозначаемые сокращением БЧХ) отличаются специальным выбором порождающего полинома, вследствие чего для них существуют сравнительно просто реализуемые процедуры декодирования. Доказано, что для любой пары натуральных чисел Относительно простой является процедура мажоритарного декодирования, применимая для некоторого класса двоичных линейных, в том числе циклических кодов. Основана она на том, что в этих кодах каждый информационный символ можно несколькими способами выразить через другие символы кодовой комбинации. Если, для некоторого символа эти способы проверки дают неодинаковые результаты (одни дают результат Примером кода, допускающего мажоритарное декодирование, является код
Символ
Каждый из символов принятого блока входит только в одну из этих проверок для Код, для которого выполняется это условие, называется кодом с разделенными проверками. Предположим, что один из символов блока принят с ошибкой. Тогда три из проверок (5.23) дадут одно (правильное) значение После принятия решения о символе (7, 3) — циклический, соответствующие проверки получаются из (5.23) циклической перестановкой. Мощные коды (т. е. коды с длинными блоками и большим кодовым расстоянием
Процесс построения кода можно продолжить в При декодировании каждого блока 1-й ступени производятся обнаружение и исправление ошибок. После того как принят весь двумерный блок, осуществляется вновь исправление ошибок и стираний, но уже по столбцам, кодом 2-й ступени, причем приходится исправлять только те ошибки, которые не были исправлены (или были ложно «исправлены») кодом 1-й ступени. Легко убедиться, что минимальное кодовое расстояние для двумерного итеративного кода На итеративный код похож каскадный код, но между ними имеется существенное различие. Первая ступень кодирования в каскадном коде осуществляется так же, как в итеративном. Однако после того, как сформированы строк — блоков кода матрица, как при итеративном двумерном коде. При приеме сначала декодируются (с обнаружением или исправлением ошибок) все строки (блоки внутреннего кода), а затем декодируется блок внешнего Все операции с матрицами и полиномами над конечным полем, составляющие процедуру кодирования и декодирования, осуществляются средствами вычислительной техники. Для коротких систематических кодов они довольно просты и выполняются с помощью триггеров, объединенных в цепочки (регистры сдвига) и логические схемы. С увеличением длины кода эти операции усложняются. Хотя благодаря особой алгебраической структуре кодов БЧХ сложность растет медленно, тем не менее, при использовании эффективных длинных кодов Примером иеблочного кода, используемого в технике связи, может служить рекуррентный, или цепной, код. Это непрерывный код. В простейшем его варианте информационные символы чередуются с проверочными, образуя последовательность
где
причем сложение производится по модулю 2. Цепной код, содержащий на Цепной код (5.24) позволяет исправлять ошибки, расположенные на любом месте, при условии, что между двумя любыми ошибочно принятыми имеются, но крайней мере, три правильно принятых символа. Это легко показать, исследуя алгоритмы проверки (5.25). В последние годы начали находить применение предложенные довольно давно сверточные коды, представляющие другую разновидность рекуррентных кодов. Для них разработаны специальные алгоритмы так называемого последовательного декодирования, позволяющие эффективно исправлять ошибки при относительно небольшой сложности. Описание этих кодов и алгоритмов [4] выходит за рамки данного учебника. Правило декодирования по наименьшему расстоянию, как уже отмечалось, обеспечивает максимальную верность декодирования только в симметричном канале без памяти. Для несимметричных каналов и каналов с памятью (с которыми очень часто приходится встречаться на практике) оптимальными могут оказаться другие правила. Так, в каналах с памятью вероятность возникновения ошибок кратностью Для каналов с группированием ошибок часто применяют метод перемежения символов, или декорреляции ошибок. Он заключается в том, что символы, входящие в одну кодовую комбинацию, передаются не непосредственно друг за другом, а перемежаются символами других кодовых комбинаций. Если интервал между символами, входящими в одну комбинацию, сделать длиннее «памяти» (интервала корреляции) канала, то в пределах комбинации группирования ошибок не будет и можно декодировать, как в канале без памяти. Простой пример представляет дискретный канал, образованный при передаче сигналов с ОФМ. Как было указано в § 4.5, в таком канале ошибки имеют тенденцию сдваиваться, так что вероятность появления двух смежных ошибок больше, чем вероятность появления двух несмежных ошибок, и даже больше, чем вероятность одиночной ошибки. Если в таком канале объединить в один блок Очень часто «память» канала оказывается очень длинной и приходится расставлять символы, связанные кодом, на большие расстояния. Это сравнительно просто достигается при использовании цепного кода (5.24), если его несколько видоизменить. С этой целью символы, входящие в уравнение (5.25), расставляются на большое расстояние и проверочные символы связаны не с соседними информационными, а с удаленными на некоторый шаг
Величина Упомянем еще один класс блочных, равномерных нелинейных кодов — коды с постоянным весом. В этих кодах все блоки имеют одинаковое количество единиц. Если длина блока могут гарантированно только обнаруживать одиночные ошибки. Однако они используются обычно в несимметричных каналах, в которых вероятность перехода
|
1 |
Оглавление
|