Исправление ошибок в бчх кодах

Принципы исправления ошибок кодами БЧХ

Циклические коды, исправляющие кратные ошибки

Циклические коды, исправляющие кратные ошибки, обычно называются кодами БЧХ (от фамилий авторов: Боуз, Чоудхури, Хоквенгем). Хорошие корректирующие свойства и простота построения кодирующих к декодирующих устройств (особенно при необходимости обнаруживать ошибки) обеспечили кодам БЧХ широкое практическое применение. Согласно ГОСТ 17422-72, основанному на рекомендации МККТТ V×41, в системах передачи данных с решающей обратной связью предписывается использовать циклические коды со следующими параметрами: n=140, 260, 500 и 980, порождающий многочлен х16+х12+х5+1.

Алгоритмы декодирования кодов БЧХ довольно сложны, и их рассмотрение не входит в программу данного курса. В некоторых случаях при небольших длительностях кодовых комбинаций для исправления ошибок может быть применен описанный в подразделе 3.3.6. алгоритм декодирования в более развитом виде. В циклических кодах, исправляющих ошибки до кратности р, при расположении всех ошибок в проверочных разрядах синдром ошибок будет содержать не более р единиц, находящихся в разрядах с ошибками. Это значит, что исправлять ошибки в таком случае можно суммированием остатка с исправляемой комбинацией. Ошибкам в информационных разрядах соответствуют синдром с количеством единиц, большим чем р.

На основании изложенного методика исправления кратных ошибок кодом БЧХ при небольших длинах кодовых комбинаций может сводиться к следующему.

1. Принятая комбинация делится на порождающую.

2. Определяется количество q единиц в остатке:

а) если q≤p, где p – максимальное количество ошибок, исправляемых данным кодом, то ошибок в информационных разрядах нет;

3. Декодируемая комбинация сдвигается циклически влево на количество разрядов, равное количеству нулей, приписанных в процессе деления, остаток суммируется со сдвинутой комбинацией, после чего комбинация сдвигается в противоположную сторону, т.е. вправо, на то же количество разрядов.

Читайте также:  Ведьмак 2 ошибка соединения с сервером проверки обновлений код ошибки 255

Пример. Применен код БЧХ 15,5, способный исправлять почти все ошибки тройной кратности. Порождающий многочлен кода записывается так: р(х)=х10+х8+х5+х4+х3+х+1, что эквивалентно комбинации 10100110111. Требуется декодировать принятую комбинацию 100001101110101.

100001101110101 / 10100110111

В остатке три единицы, следовательно, на этом деление прекращаем. В процессе деления к делимой комбинации было дописано три нуля, поэтому для исправления ошибки декодируемую комбинацию сдвигаем на три разряда влево, суммируем с остатком:

и сдвигаем на три разряда вправо: 101001101110000. Ошибки исправлены. В соответствии с видом синдрома ошибки имели место в 1, 4 и 6-м разрядах сдвинутой комбинации, т.е. в 1, 3 и 13-м разрядах принятой комбинации.

Указанная методика пригодна, например, для кода (15,7), исправляющего одиночные и двойные ошибки. В коде (15,5), исправляющем и тройные ошибки, данная методика позволяет исправлять почти все тройные ошибки (не исправляются тройные ошибки только в случае их расположения в следующих разрядах: ai, ai+5, ai+10, где i≤1¸5).

1. Являются ли циклические коды групповыми?

2. Какими дополнительными свойствами, упрощающими технику кодирования и декодирования, обладают циклические коды по сравнению с групповыми?

3. Какими свойствами должен обладать порождающий многочлен циклического кода?

4. Как проще всего определять синдромы ошибок в циклических кодах.

1. Записать все разрешенные комбинации циклического кода (7,4) с порождающим многочленом 1011.

2. Записать все разрешенные комбинации циклического кода (7,4) с порождающей комбинацией 1101.

3. Задан циклический код (7,4) с порождающей комбинацией 1011. Записать синдромы всех исправляемых кодом ошибок. Декодировать полученную комбинацию 1011111.

4. Получена комбинация 1111010, закодированная циклическим кодом (7,4) с порождающей комбинацией 1101. Код используется для обнаружения одиночных и двойных ошибок. Указать возможные варианты ошибок в полученной комбинации.

5. Используется код БЧХ с порождающим многочленом

Читайте также:  Как исправить ошибку 0x80070057 при установке или обновлении Windows

Закодировать комбинацию 11111, ввести в закодированную комбинацию три ошибки и исправить их по указанной методике.

В корректирующих сверточных кодах избыточность вводится без разбивки последовательности символов на отдельные блоки. Кодовые символы определяются по мере поступления информационных с помощью некоторых рекуррентных соотношений, выбор которых определяет разновидность кода. Иногда такие коды называют рекуррентными, цепными, непрерывными. В общем используемые соотношения могут быть как линейными, так и нелинейными. В настоящее время на практике используются преимущественно линейные сверточные коды, причем для декодирования наиболее часто применяется алгоритм Витерби, что обусловлено преимуществами алгоритма, рассматриваемыми далее.

Сверточные коды также делятся на систематические и несистематические. В технике связи в настоящее время применяются и те, и другие, поэтому рассмотрим кратко оба вида.

Принципы исправления ошибок кодами БЧХ

Исправление ошибок в бчх кодах

Исправление ошибок в бчх кодах

Отсюда следует, что имеется взаимнооднозначное соответствие между элементами вектора ошибок и элементами поля GF(2m). Каждому ошибочному элементу ei соответствует элемент i-й строки (i=0,1,2,…,n-1) первого столбца транспонированной матрицы HT, т.е. элемент поля ai.

Исправление ошибок в бчх кодах

Функции Sjназывают синдромами.

Исправление ошибок в бчх кодах

разложение которого на линейные множители дает уравнение

Исправление ошибок в бчх кодах

S4-p1S3+p2S2-p3S1+4p4=0Рё С‚. Рґ.

РіРґРµ δ = 0 РїСЂРё i—четном Рё δ=1- РїСЂРё нечетном.

С учетом последнего тождества Ньютона можно перепи­сать так:

Исправление ошибок в бчх кодах

Исправление ошибок в бчх кодах

Исправление ошибок в бчх кодах

Исправление ошибок в бчх кодах

Исправление ошибок в бчх кодах

Исправление ошибок в бчх кодах

Исправление ошибок в бчх кодах

Исправление ошибок в бчх кодах

Если произошло в действительности t— 1 ошибок, то один из корней Х1, Х2,…Xt должен быть равен нулю. Следова­тельно, при решении уравнений (5.17) и (5.22) мы должны по­лучить pt =0. Если произошло t — 2 ошибки, то два корня рав­ны нулю и, следовательно, pt= рt-1= 0 и так далее.

На основании (5.17) и (5.22) составляем уравнения:

Исправление ошибок в бчх кодах

РїСЂРё условии, что S13+S3≠0.

Теперь найдем S2 и S4, обращаясь к табл. 1.1,

Исправление ошибок в бчх кодах

Исправление ошибок в бчх кодах

mybiblioteka.su – 2015-2023 РіРѕРґ. (0.014 сек.)

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *