- •Лекция 7 циклические коды
- •7.1 Способы описания циклических кодов
- •7.2 Матричное задание кодов
- •7.3 Декодирование циклического кода
- •1. Способы декодирования с обнаружением ошибок
- •2 Способы декодирования с исправлением ошибок
- •Определение искаженного разряда с помощью матрицы ошибок.
- •Метод дополнительного деления первоначального остатка на образующий многочлен
- •Метод циклических сдвигов
- •7.4. Принципы построения кодирующих и декодирующих
7.3 Декодирование циклического кода
1. Способы декодирования с обнаружением ошибок
Процедура декодирования циклического кода с обнаружением ошибок, по аналогии с процессом кодирования, использует два способа:
- при кодировании "классическим" способом декодирование основано на использовании свойства делимости без остатка кодового многочлена F(x) циклического (n,m)-кода на порождающий многочлен g(x). Поэтому алгоритм декодирования включает в себя деление принятого кодового слова, описываемого многочленом F(x) на g(x), вычисление и анализ остатка R(x). Если R(x)=0, то принятое кодовое слово считается неискаженным. Если R(x)0, то принятое кодовое слово стирается и формируется сигнал "ошибка".
- при кодировании способом МККТТ декодирование основано на свойстве получения определенного контрольного остатка R0(x) при делении принятого кодового многочлена F(x) на порождающий многочлен g(x). Поэтому, если полученный при делении остаток =R0(x), то принятое кодовое слово считается неискаженным. Если остаток R0(x), то принятое кодовое слово стирается и формируется сигнал "ошибка". Значение контрольного остатка определяется из выражения R0(x)=Rg(x) x(1)r-1 xk.
2 Способы декодирования с исправлением ошибок
Декодирование заключается в определении номера искаженного разряда и его автоматического исправления. А также отделения информационных разрядов от контрольных.
Рассмотрим три методики декодирования
Определение искаженного разряда с помощью матрицы ошибок.
Если ошибок нет, то остаток от деления равен нулю
.
Матрица одиночных ошибок имеет вид
где - единичная матрица; - прямоугольная проверочная матрица.
Строки матрицы определяются из выражений
- остаток от деления на образующий полином ,
где - значение i-той строки матрицы ;
i - номер строки матрицы .
Пример. Матрица для (7,4)-кода на основе порождающего многочлена имеет вид
.
Единичная матрица размерности 7х7
.
Рассчитаем проверочную матрицу
при .
Определим остаток от деления на образующий полином .
.
При .
Определим остаток от деления на образующий полином .
.
При .
Определим остаток от деления на образующий полином .
111.
При .
101.
При .
100.
При .
010.
При .
001.
Тогда матрица ошибок
Для определения искаженного разряда необходимо определить остаток от деления принятой кодовой комбинации на порождающий многочлен .
Пример
Внесем искажения
Находим остаток
1 0 1 0 1 0 0 |
|
1 1 0 1 |
|
1 1 1 1 |
|
1 1 0 1 |
|
0 0 1 0 0 0 |
|
1 1 0 1 |
|
1 0 1 |
- остаток |
Н аходим строку в матрице ошибок с полученным остатком
Искаженный разряд – это разряд в данной строке в которой стоит «1».
Искаженный разряд исправляем посредством сложения строки в матрице ошибок полученной комбинации
.