Главное меню

Коды Рида- Соломона

Коды Рида-Соломона (Reed-Solomon code, R-S code) — это недвоичные циклические коды, символы которых представляют собой m-битовые последовательности, где т — положительное целое число, большее 2. Код (n,к) определен на m-битовых символах при всех n и k, для которых

(11.1)

где k - число информационных битов, подлежащих кодированию, а n - число кодовых символов в кодируемом блоке. Для большинства сверточных кодов Рида-Соломона (n, к)

(11.2)

где t - количество ошибочных битов в символе, которые может исправить код, а n-k = 2t- число контрольных символов. Расширенный код Рида-Соломона можно получить при n = 2m или n= 2m+ 1, но не более того.

Код Рида-Соломона обладает наибольшим минимальным расстоянием, возможным для линейного кода с одинаковой длиной входных и выходных блоков кодера. Для недвоичных кодов расстояние между двумя кодовыми словами определяется (по аналогии с расстоянием Хэмминга) как число символов, которыми отличаются последовательности. Для кодов Рила-Соломона минимальное расстояние определяется следующим образом.

(11.3)

Сверточные коды.

Особенностью линейного блочного кода, который описывается двумя целыми числами, n и k, и полиномиальным или матричным генератором является то, что каждый из n-кортежей кодовых слов однозначно определяется k-кортeжeм входного сообщения. Целое число к указывает на число бит данных, которые образуют вход блочного кодера. Целое число п - это суммарное количество разрядов в соответствующем кодовом слове на выходе кодера. Отношение k/n, называемое степенью кодирования кода (code rate), является мерой добавленной избыточности. Сверточный код описывается тремя целыми числами n, k и К, где отношение k/n имеет такое же значение степени кодирования (информация, приходящаяся на закодированный бит), как и для блочного кода; однако п не определяет длину блока или кодового слова, как это было в блочных кодах. Целое число К является параметром, называемым длиной кодового ограничения (constrain! length); оно указывает число разрядов k-кортежа в кодирующем регистре сдвига. Важная особенность сверточных кодов, в отличие от блочных, состоит в том, что кодер имеет память - n-кортежи, получаемые при сверточном кодировании, являются функцией не только одного входного k-кортежа, но и предыдущих К-1 входных k-кортежей. На практике nи к - это небольшие целые числа, а К изменяется с целью контроля мощности и сложности кода.

Методы декодирования корректирующих кодов.

Существует несколько вариантов декодирования циклических кодов. Один из них заключается в следующем:

1. Числение остатка (синдрома). Принятую комбинацию делят на образующий многочлен Р(Х). Остаток R(X)=0 означает, что комбинации принята без ошибок;

2. Подсчет веса остатка W. Если вес остатка равен или меньше числа исправляемых ошибок, т.е. W≤s, то принятую комбинацию складывают по модулю 2 с остатком и получают исправленную комбинацию;

3. Циклический сдвиг на один символ влево. Если W>s, то производят циклический сдвиг влево и полученную комбинацию снова делят на образующий многочлен. Если вес остатка W≤s , то циклически сдвинутую комбинацию складывают с остатком и затем циклически сдвигают ее в обратную строну вправо на один символ. В результате получают исправленную комбинацию;

Перейти на страницу: 1 2 3

Другое по теме:

Методологические принципы проектирования комплекса технических средств АСУ
Использование вычислительной техники в процессе управления не может являться самоцелью. Созданная на основе квалифицированно выполненного системного анализа АСУ ориентирована на конечный результат – повышение эффективности функцио ...

Copyright © www.techproof.ru