
- •Коды Рида-Соломона
- •Вероятность появления ошибок для кодов Рида-Соломона
- •8.1.2. Почему коды Рида-Соломона эффективны при борьбе с импульсными помехами
- •8.1.3. Рабочие характеристики кода Рида-Соломона как функция размера, избыточности и степени кодирования
- •8.1.4. Конечные поля
- •8.1.4.1. Операция сложения в поле расширения gf(2m)
- •8.1.4.2. Описание конечного поля с помощью примитивного полинома
- •8.1.4.3. Поле расширения gf(23)
- •8.1.4.4. Простой тест для проверки полинома на примитивность
- •8.1.5. Кодирование Рида-Соломона.
- •8.1.5.1. Кодирование в систематической форме
- •8.1.5.2. Систематическое кодирование с помощью (n-k)-разрядного регистра сдвига
- •8.1.6. Декодирование Рида-Соломона
- •8.1.6. Декодирование Рида-Соломона
- •8.1.6.3. Значения ошибок
Лекция 24.
Циклические коды Рида - Соломона. Сверточные коды
Коды Рида-Соломона
Коды Рида-Соломона – это недвоичные циклические коды, символы которых представляют собой m-битовые последовательности, где т–положительное целое число, большее 2. Код (n, K) определен на m-битовых символах при всех п и k, для которых
где
k – число
информационных битов, подлежащих
кодированию, а
–
число кодовых символов в кодируемом
блоке. Для большинства сверточных кодов
Рида-Соломона
где
t
–количество
ошибочных битов в символе, которые может
исправить код, а и
– число
контрольных символов. Расширенный код
Рида-Соломона можно получить при
, но не более того.
Код Рида-Соломона обладает наибольшим минимальным расстоянием, возможным для линейного кода с одинаковой длиной входных и выходных блоков кодера. Для недвоичных кодов расстояние между двумя кодовыми словами определяется (по аналогии с расстоянием Хэмминга) как число символов, которыми отличаются последовательности. Для кодов Рида-Соломона минимальное расстояние определяется следующим образом [1]
Код, который исправляет все искаженные символы, содержащие ошибку в t или меньшем числе бит, можно выразить следующим образом.
Здесь [x] означает наибольшее целое, не превышающее х. Из уравнения (20.4) видно, что коды Рида-Соломона, исправляющие t символьных ошибок, требуют не более 2t контрольных символов. Из уравнения (20.4) следует, что декодер имеет п-k "используемых" избыточных символов, количество которых вдвое превышает количество исправляемых ошибок. Для каждой ошибки один избыточный символ используется для обнаружения ошибки и один – для определения правильного значения. Способность кода к коррекции стираний выражается следующим образом.
Возможность одновременной коррекции ошибок и стираний можно выразить как требование.
Здесь
—
число символьных ошибочных комбинаций,
которые можно исправить, а
—
количество комбинаций символьных
стираний, которые могут быть исправлены.
Преимущества недвоичных кодов, подобных
кодам Рида-Соломона, можно увидеть в
следующем сравнении. Рассмотрим двоичный
код (п,
k)
= (7, 3). Полное пространство n-кортежей
содержит
n-кортежей,
из которых
(или 1/16 часть всех n-кортежей)
являются кодовыми словами. Затем
рассмотрим недвоичный код (n,
k)=(7,
3), где каждый символ состоит из т
= 3 бит.
Пространство n-кортежей
содержит
n-кортежа,
из которых
(или 1/4096 часть всех n-кортежей)
являются кодовыми словами. Если операции
производятся над недвоичными символами,
каждый из которых образован т
битами, то
только незначительная часть (т.е.
из большого числа
)
возможных n-кортежей
является кодовыми словами. Эта часть
уменьшается с ростом т.
Здесь важным
является то, что если в качестве кодовых
слов используется незначительная часть
пространства n-кортежей,
то можно достичь большего
.
Любой линейный код дает возможность исправить n-k комбинаций символьных стираний, если все n-k стертых символов приходятся на контрольные символы. Однако коды Рида-Соломона имеют замечательное свойство, выражающееся в том, что они могут исправить любой набор п-k символов стираний в блоке. Можно сконструировать коды с любой избыточностью. Впрочем, с увеличением избыточности растет сложность ее высокоскоростной реализации. Поэтому наиболее привлекательные коды Рида-Соломона обладают высокой степенью кодирования (низкой избыточностью).