Коды рида-соломона

Пример

Коды Боуза-Чоудхури-Хоквингема (коды БЧХ)

В теории кодирования доказано, что для любых значений m и t существует циклический код длиной n=2m-1, исправляющий все ошибки веса t и менее и содержащий не более r=m*t проверочных символов.

Требуется определить число проверочных символов r для кода с длиной информационной последовательности k=20, который может исправлять двойные ошибки tи=2.

Решение

Пусть m=3. Тогда 2m=8, n=7. Это значение меньше k=20, то есть, значение m следует выбирать больше.

Пусть m=5. Тогда 2m=32, n=31.

R=m*tи=5*2=10, получаем код с параметрами (n, k)=(31, 21).

Этот код обеспечивает кодовое расстояние не менее dmin=2*tи+1=5.

Коды БЧХ – это циклические коды, которые используются для исправления ошибок весом . Коды нашли широкое применение в цифровых системах записи звука (речь, музыка). Очень широкое распространение нашли коды БЧХ с кодовым расстоянием dmin =5, исправляющие двойные ошибки.

Длина кодовой комбинации кодов БЧХ должна удовлетворять условию n=2m-1, где n – всегда нечетное число.

Это очень широко используемый подкласс недвоичных кодов БЧХ. Коды Рида – Соломона используются в современных высокоскоростных системах передачи данных совместно со сверточным кодированием, а также при записи информации на различные устройства хранения данных. Коды позволяют исправлять ошибки, возникающие при передаче, и восстанавливать информацию с поврежденных устройств хранения данных.

Данные обрабатываются порциями по m бит, которые принято называть символами. Как правило, порция представляет собой байт, то есть m=8. Код Рида-Соломона (RS) характеризуется следующими параметрами:

Длина символа m бит
Длина блока n=2m-1 символов
Кодовое расстояние dmin=(2t+1) символов, где t – число символов, в пределах которых мы хотим исправлять ошибки
Длина контрольной части n-k=2t символов

Пусть t=1, m=8.

Длина блока равна 28-1=255 символов или 2040 бит.

Длина контрольной части – 2 символа или 16 бит

Код обнаруживает любой пакет ошибок, длина которого не более 16 бит, и исправляет ошибки в пределах одного байта.

Пример – Кодирование в технологии ADSL

В ADSL-модеме используется код Рида-Соломона (255, 239). То есть кодовая комбинация содержит 255 байт, из которых 239 байт – информационные и 16 байт – проверочные. Избыточность кода составляет 16/255=0,063. Минимальное кодовое расстояние равно 17 байт, обнаруживаются все 16-байтовые ошибки, исправляются – 8-байтовые ошибки. Если в кодовой комбинации разрушено более 8 байт, она отбрасывается и не обрабатывается, то есть происходит потеря блока в 255 байт. Чтобы уменьшить вероятность потери блоков, в системе используется режим передачи с чередованием байтов из различных блоков (кодовых комбинаций) – interleaving. Таким образом, помеха (например, импульсная), разрушившая на линии несколько байт подряд, на входе декодера разрушает не более одного байта в каждом блоке из 255 байт. Конечно, использование режима с чередованием приводит к дополнительной задержке за счет буферизации данных перед отправкой их в линию и на приемной стороне перед декодированием.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: