Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Reliability2.doc
Скачиваний:
35
Добавлен:
27.10.2018
Размер:
1.2 Mб
Скачать

6.4. Вычисление минимального расстояния по проверочной матрице

Формула (6.1) нахождения минимального расстояния в терминах порождающей матрицы записывается как

. (6.8)

Вычисление по этой формуле требует перебора по ненулевым словам кода. Возвращаясь к примеру (1000,500)-кода, легко понять, почему на практике мы часто пользуемся кодами, минимальное расстояние которых никому не известно.

В тех случаях, когда , т.е. скорость кода больше 1/2, проверочная матрица имеет меньший размер, чем порождающая. Нельзя ли воспользоваться этим для упрощения поиска минимального расстояния кода?

Согласно формуле (6.5) кодовому слову веса соответствует некоторый набор столбцов, сумма которых – нулевой вектор. Это означает, что соответствующие столбцы линейно зависимы. Следовательно, для нахождения минимального расстояния кода нужно найти минимальный набор линейно зависимых столбцов. Приходим к следующей теореме.

Теорема. Минимальное расстояние линейного -кода равно в том и только в том случае, когда любые столбцов линейно независимы и существует набор из линейно зависимых столбцов.

Подумав над тем, сколько всего может быть линейно независимых столбцов в матрице с строками, получаем следующую интересную границу на минимальное расстояние.

Теорема 6.3. (Граница Синглтона) Минимальное расстояние линейного -кода удовлетворяет неравенству .

Упражнение 6.10. Докажите, что если в нет нулевых столбцов, то минимальное расстояние кода не меньше 2.

Упражнение 6.11. Докажите, что если в все столбцы различны, то минимальное расстояние кода не меньше 3.

Упражнение 6.12. Докажите, что если одна из строк не содержит нулей, то минимальное расстояние кода четно.

Упражнение 6.13. Найдите минимальные расстояния кодов примера 6.3.

Дуальным к данному коду называется код, порождающая матрица которого совпадает с проверочной матрицей данного кода.

Упражнение 6.14. Найдите минимальные расстояния кодов дуальных к кодам примера 6.3.

6.5. Примеры кодов

Сформулированные в упражнениях свойства линейных кодов позволяют построить коды с маленькими расстояниями.

Пример 6.4. Код с порождающей матрицей

представляет собой -код со скорость 1 и минимальным расстоянием . Поскольку число проверочных символов , проверочная матрица неопределена. Заметим, что код удовлетворяет границе Синглтона.

Пример 6.5. Из упражнения 6.10 понятно, что -код с проверочной матрицей

(вектор из единиц) имеет минимальное расстояние . Его порождающая матрица имеет вид

.

Этот код – самый экономный код, позволяющий ценой одного избыточного символа обнаруживать любые однократные ошибки и любые другие комбинации ошибок нечетного веса. Его называют кодом с проверкой на четность.

Отметим, что и этот код удовлетворяет границе Синглтона.

Пример 6.6. Пусть

.

Этот код – двойственный к коду предыдущего примера. Очевидно, в таком коде всего два слова, т.е. имеем -код. Его проверочная матрица

.

Расстояние кода , он исправляет до половины ошибок при передаче кодового слова.

Пример 6.7. Построим код, исправляющий любые однократные ошибки. Для этого нужно составить проверочную матрицу из различных столбцов (см. упражнение 6.11). При числе проверочных символов длина кода равна , а число информационных символов равно . Такие -коды называются кодами Хэмминга. Таким образом, имеем бесконечную последовательность кодов с расстоянием 3.

В качестве примера рассмотрим случай , т.е.

.

Очевидно, столбцы с номерами 5, 6 и 7 линейно независимы. Используя этот факт, находим порождающую матрицу

.

Для кода Хэмминга легко указать процедуру исправления ошибок. Предположим, что передаваемое сообщение имеет вид . Ему соответствует кодовое слово .

Предположим, что при передаче этой последовательности произошла ошибка и принятая последовательность имеет вид

,

где через обозначен вектор ошибки.

Декодер начинает с проверки того, является ли принятая последовательность кодовым словом. По формуле (6.5) находим

.

Полученная последовательность оказалась двоичной записью номера ошибочной позиции. Легко убедиться в том, что это верно для любой одиночной ошибки. Попробуйте объяснить, почему это свойство имеет место.

Упражнение 6.15. Получите из кода Хэмминга кода с минимальным расстоянием .

На этом мы заканчиваем рассмотрение кодов, исправляющих ошибки.

Смысл нашего короткого введения – демонстрация одного из изящных и далеко не тривиальных способов внесения избыточности в передаваемую информацию с целью повышения надежности ее передачи либо хранения.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]