![]() |
Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология Образование Политология Производство Психология Стандартизация Технологии |
Коды Хэмминга, исправляющие ошибки. Декодирование, синдром ошибки.
17.3.4. Коды Хемминга, исправляющие одиночные ошибки. Для иллюстрации кода, исправляющего одиночные ошибки, рассмотрим проверочную матрицу:
С учетом этого уравнение (17.12) может быть записано в виде:
Из этого следует, что при наличии одиночной ошибки в кодовом слове из n символов, например, в j-й позиции, последовательность ошибок состоит из всех нулей за исключением единицы в j-й позиции, и тогда
Поэтому при появлении одиночной ошибки в j-й позиции принимаемого кодового слова формируется синдром, равный в j-й вектор- строке проверочной матрицы. Если необходимо обнаружить все одиночные ошибки, то все вектор- строки, образующие проверочную матрицу, должны быть различными. При этом вектор, содержащий все нули, должен быть исключен, поскольку нулевой синдром означает отсутствие ошибок. Поскольку имеется 2 n- k различных последовательностей длиной (n - k ), то проверочная матрица содержит 2 n- k - 1 строк. Таким образом, n и k связаны между собой соотношением: n = 2 n- k – 1, (17.16) где (n – k ) – количество проверочных символов. Пример 17.3. Код Хемминга (7, 4). Рассмотри код с (n – k )= 3 проверочными символами. Имеется 23 – 1 = 7 последовательностей длиной 3 (исключая последовательность из всех нулей). Эти семь последовательностей являются строками проверочной матрицы. Из этого следует, что n = 7 и k = 4. Для систематического (7, 4) кода первые четыре строки проверочной матрицы представляют последовательности, содержащие более одной двоичной единицы. Порядок следования строк произвольный и никак не влияет на характеристики кода. Одна из возможных проверочных матриц кода, исправляющего одиночные ошибки, имеет вид:
Этой проверочной матрице соответствует порождающая матрица кода:
Информационной последовательности
Так как синдром совпадает с пятой строкой проверочной матрицы, то ошибка произошла в пятой позиции.
а) б) Рис. 17.3 Кодирование циклическим кодом (7.4) а) структурная схема кодера; б) таблица содержимого регистра сдвига кодера. Теперь предположим, что ошибки имеют место во второй и пятой позициях, так что вектор ошибки На рис. 17.3 приведена структурная схема кодера, иллюстрирующая процедуру кодирования.
3.1.3. Синдромное декодирование кода Хемминга, исправляющего одиночные ошибки
Коды Хемминга бывают двоичными и недвоичными. Двоичные коды включают класс кодов со свойствами: (n, k) = (2m -1, 2m-1 - m), (3.23) где m –целое положительное число; при m =3 имеем код (7, 4). Проверочная матрица Однако, при m > 1 можно найти 3 столбца из Для иллюстрации синдромного декодирования кода Хемминга, исправляющего одиночные ошибки, рассмотрим проверочную матрицу:
где В этом случае уравнение синдрома (3.22) имеет вид:
При наличии одиночной ошибки в кодовом слове из n символов, например, в j -й позиции, последовательность ошибок
Поэтому при одиночной ошибке в j -й позиции принимаемого кодового слова формируется ненулевой синдром, равный j-й вектор-строке проверочной матрицы. Если необходимо обнаружить все одиночные ошибки, то все вектор-строки проверочной матрицы должны быть различными. При этом вектор, содержащий все нули, должен быть исключен, поскольку нулевой синдром означает отсутствие ошибок. Так как имеется 2 n-k различных последовательностей длиной ( n-k ), то проверочная матрица содержит 2 n - k- 1 строк. Таким образом, n и k в (3.25) связаны между собой соотношением:
n = 2 n - k – 1, (3.27) где ( n – k ) – количество проверочных символов
Популярное:
|
Последнее изменение этой страницы: 2016-03-17; Просмотров: 2173; Нарушение авторского права страницы