Читайте также:
|
|
Систематические коды Рида-Соломона, исправляющие однократные ошибки, отличаются более простой реализацией. Эти (n,k) коды характеризуются минимальным кодовым расстоянием dmin=3, образующим полиномом g(x)=(x+1)(x+a) и проверочной матрицей
Учитывая (6.8), выражения для синдромов So и S1 в случае однократной ошибки с полиномом е (х) = YX будут следующие:
=Y
S1=e(a)-Yai, (6.18)
где X = аi — локатор ошибки, указывающий на i-ю ошибочную позицию в комбинации, a Y — значение ошибки. Из уравнений (6.18) видно, что
S1a-i+S0=0 (6.19)
Уравнение (6.19) позволяет легко осуществить исправление ошибки.
Для этого при выводе из буферного накопителя 1-го элемента кодовой комбинации h-t каждый раз будем умножать синдром S1 на a-i и сравнивать с SQ. В тот момент, когда будет выполняться уравнение (6.19), к выходному элементу hследует добавить по модулю два синдром So, который представляет собой значение ошибки. Тем самым ошибка будет исправлена.
Функциональная схема декодера, исправляющего однократные ошибки, представлена на рис. 6.6.
Рис. 6.6. Функциональная схема декодера кода
Рида—Соломона, исправляющего однократные
ошибки
При решении некоторых задач целесообразно построить код Рида—Соломона с dmin > 3, который исправлял бы однократные ошибки и обнаруживал ошибки более высокой кратности. Очевидно, принцип построения кодирующего устройства не будет отличаться от рассмотренного выше. Процедура же декодирования упростится. Рассмотрим процедуру исправления однократных ошибок и обнаружения ошибок более высокой кратности для того же примера кода, который был ранее выбран для исправления двухкратных ошибок, а именно для кода (п, k) == (7, 3) с dmin= 5; Р (х) = 1 + х + х3 и образующим
Задачей декодера является исправление однократной ошибки и
обнаружение всех ошибок второй и третьей кратности. Очевид
но, в состав декодера должен входить индикатор однократной
ошибки. Проанализировав выражения (6.20) для синдромов
при однократной ошибке, легко заметить, что
Отсюда следует вывод, что индикатором однократной ошибки будет одновременное выполнение уравнений (6.21) при ненулевых синдромах. Если все четыре синдрома равны нулю, то это свидетельствует об отсутствии или необнаружении ошибок. Если же все или часть синдромов не равны нулю и хотя бы одно из уравнений (6.21) не выполняется, то это говорит о возникновении ошибок второй или большей кратности, которые обнаружены кодом.
Рис. 6.7. Обобщенная схема декодера кода Рила—Соломона, исправляющего однократные ошибки и обнаруживающего часть ошибок более высокой кратности
Процедура непосредственного исправления однократной ошибки не отличается от рассмотренной ранее для кодов Рида— Соломона с dmin = 3,
Схема декодера кода PC, исправляющего однократные ошибки с обнаружением ошибок более высокой кратности, представлена на рис. 6.7. В случае однократной ошибки появится сигнал на выходе Qиндикатора однократной ошибки и будет удерживаться в течение считывания принятой комбинации кода PC из буферного накопителя. Этот сигнал Q совместно с сигналом со схемы сравнения откроют ключ, который пропустит сидром So на выходной сумматор в момент считывания из накопителя ошибочного элемента. Таким образом ошибка будет исправлена.
В случае появления обнаруживаемых ошибок второй или большей кратности на другом выходе индикатора однократной ошибки появится сигнал Q, с помощью которого в случае необходимости можно стереть принятую с ошибками кодовую комбинацию.
Рассмотрим пример исправления однократной ошибки для кода (7, 3) с теми же, что и ранее образующими многочленами Р (х) и g (х). Пусть полином ошибки равен e(x) = YX, где Y = а4 — значение ошибки, а X = а3 — локатор ошибки. Тогда на основании (6.20) синдромы будут иметь значения:
Подставив значения синдромов в уравнения (6.21), заметим, что все три сравнения выполняются, т. е. имеет место однократная ошибка.
Аналогично можно показать, что при двухкратных и трехкратных ошибках уравнения (6.21) не выполняются, что свидетельствует об обнаружении ошибок.
Дата добавления: 2015-07-16; просмотров: 111 | Нарушение авторских прав
<== предыдущая страница | | | следующая страница ==> |
Кодированиеи декодирование кодов PC | | | Использование кодов Рида—Соломона для исправления стираний |