основным принципом построения кода для дальнейшего обнаружения ошибки является

Принципы обнаружения и исправления ошибок с использованием кодов

основным принципом построения кода для дальнейшего обнаружения ошибки является. Смотреть фото основным принципом построения кода для дальнейшего обнаружения ошибки является. Смотреть картинку основным принципом построения кода для дальнейшего обнаружения ошибки является. Картинка про основным принципом построения кода для дальнейшего обнаружения ошибки является. Фото основным принципом построения кода для дальнейшего обнаружения ошибки является основным принципом построения кода для дальнейшего обнаружения ошибки является. Смотреть фото основным принципом построения кода для дальнейшего обнаружения ошибки является. Смотреть картинку основным принципом построения кода для дальнейшего обнаружения ошибки является. Картинка про основным принципом построения кода для дальнейшего обнаружения ошибки является. Фото основным принципом построения кода для дальнейшего обнаружения ошибки является основным принципом построения кода для дальнейшего обнаружения ошибки является. Смотреть фото основным принципом построения кода для дальнейшего обнаружения ошибки является. Смотреть картинку основным принципом построения кода для дальнейшего обнаружения ошибки является. Картинка про основным принципом построения кода для дальнейшего обнаружения ошибки является. Фото основным принципом построения кода для дальнейшего обнаружения ошибки является основным принципом построения кода для дальнейшего обнаружения ошибки является. Смотреть фото основным принципом построения кода для дальнейшего обнаружения ошибки является. Смотреть картинку основным принципом построения кода для дальнейшего обнаружения ошибки является. Картинка про основным принципом построения кода для дальнейшего обнаружения ошибки является. Фото основным принципом построения кода для дальнейшего обнаружения ошибки является

основным принципом построения кода для дальнейшего обнаружения ошибки является. Смотреть фото основным принципом построения кода для дальнейшего обнаружения ошибки является. Смотреть картинку основным принципом построения кода для дальнейшего обнаружения ошибки является. Картинка про основным принципом построения кода для дальнейшего обнаружения ошибки является. Фото основным принципом построения кода для дальнейшего обнаружения ошибки является

основным принципом построения кода для дальнейшего обнаружения ошибки является. Смотреть фото основным принципом построения кода для дальнейшего обнаружения ошибки является. Смотреть картинку основным принципом построения кода для дальнейшего обнаружения ошибки является. Картинка про основным принципом построения кода для дальнейшего обнаружения ошибки является. Фото основным принципом построения кода для дальнейшего обнаружения ошибки является

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

Рассмотрим схему передачи данных, показанную на рис.7.3.

С кодирующего устройства в канал поступают закодированные блоки (кодовые слова) одинаковой длины основным принципом построения кода для дальнейшего обнаружения ошибки является. Смотреть фото основным принципом построения кода для дальнейшего обнаружения ошибки является. Смотреть картинку основным принципом построения кода для дальнейшего обнаружения ошибки является. Картинка про основным принципом построения кода для дальнейшего обнаружения ошибки является. Фото основным принципом построения кода для дальнейшего обнаружения ошибки является. В канале в результате действия различных помех в некоторых битах передаваемого сообщения могут происходить ошибки. Процедуру кодирования при передаче и

основным принципом построения кода для дальнейшего обнаружения ошибки является. Смотреть фото основным принципом построения кода для дальнейшего обнаружения ошибки является. Смотреть картинку основным принципом построения кода для дальнейшего обнаружения ошибки является. Картинка про основным принципом построения кода для дальнейшего обнаружения ошибки является. Фото основным принципом построения кода для дальнейшего обнаружения ошибки является

Рис. 7.3.Схема передачи данных

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

основным принципом построения кода для дальнейшего обнаружения ошибки является. Смотреть фото основным принципом построения кода для дальнейшего обнаружения ошибки является. Смотреть картинку основным принципом построения кода для дальнейшего обнаружения ошибки является. Картинка про основным принципом построения кода для дальнейшего обнаружения ошибки является. Фото основным принципом построения кода для дальнейшего обнаружения ошибки является

Рис. 7.4.Использование кодовой таблицы для кодирования и декодирования

В геометрической интерпретации эти блоки можно рассматривать как точки n-мерного пространства основным принципом построения кода для дальнейшего обнаружения ошибки является. Смотреть фото основным принципом построения кода для дальнейшего обнаружения ошибки является. Смотреть картинку основным принципом построения кода для дальнейшего обнаружения ошибки является. Картинка про основным принципом построения кода для дальнейшего обнаружения ошибки является. Фото основным принципом построения кода для дальнейшего обнаружения ошибки является, где основным принципом построения кода для дальнейшего обнаружения ошибки является. Смотреть фото основным принципом построения кода для дальнейшего обнаружения ошибки является. Смотреть картинку основным принципом построения кода для дальнейшего обнаружения ошибки является. Картинка про основным принципом построения кода для дальнейшего обнаружения ошибки является. Фото основным принципом построения кода для дальнейшего обнаружения ошибки является. Точки этого пространства представляют собой последовательности чисел 0 и 1 длины основным принципом построения кода для дальнейшего обнаружения ошибки является. Смотреть фото основным принципом построения кода для дальнейшего обнаружения ошибки является. Смотреть картинку основным принципом построения кода для дальнейшего обнаружения ошибки является. Картинка про основным принципом построения кода для дальнейшего обнаружения ошибки является. Фото основным принципом построения кода для дальнейшего обнаружения ошибки является. Пространства основным принципом построения кода для дальнейшего обнаружения ошибки является. Смотреть фото основным принципом построения кода для дальнейшего обнаружения ошибки является. Смотреть картинку основным принципом построения кода для дальнейшего обнаружения ошибки является. Картинка про основным принципом построения кода для дальнейшего обнаружения ошибки является. Фото основным принципом построения кода для дальнейшего обнаружения ошибки являетсядля основным принципом построения кода для дальнейшего обнаружения ошибки является. Смотреть фото основным принципом построения кода для дальнейшего обнаружения ошибки является. Смотреть картинку основным принципом построения кода для дальнейшего обнаружения ошибки является. Картинка про основным принципом построения кода для дальнейшего обнаружения ошибки является. Фото основным принципом построения кода для дальнейшего обнаружения ошибки являетсяможно представить в виде угловых точек единичного интервала (основным принципом построения кода для дальнейшего обнаружения ошибки является. Смотреть фото основным принципом построения кода для дальнейшего обнаружения ошибки является. Смотреть картинку основным принципом построения кода для дальнейшего обнаружения ошибки является. Картинка про основным принципом построения кода для дальнейшего обнаружения ошибки является. Фото основным принципом построения кода для дальнейшего обнаружения ошибки является), вершин квадрата со стороной, равной 1 (основным принципом построения кода для дальнейшего обнаружения ошибки является. Смотреть фото основным принципом построения кода для дальнейшего обнаружения ошибки является. Смотреть картинку основным принципом построения кода для дальнейшего обнаружения ошибки является. Картинка про основным принципом построения кода для дальнейшего обнаружения ошибки является. Фото основным принципом построения кода для дальнейшего обнаружения ошибки является), и вершин куба с ребрами длины 1 (основным принципом построения кода для дальнейшего обнаружения ошибки является. Смотреть фото основным принципом построения кода для дальнейшего обнаружения ошибки является. Смотреть картинку основным принципом построения кода для дальнейшего обнаружения ошибки является. Картинка про основным принципом построения кода для дальнейшего обнаружения ошибки является. Фото основным принципом построения кода для дальнейшего обнаружения ошибки является). Эти пространства условно изображены на рис.7.5.

Код, используемый для обнаружения и исправления ошибок, представляет собой некоторое подмножество пространства основным принципом построения кода для дальнейшего обнаружения ошибки является. Смотреть фото основным принципом построения кода для дальнейшего обнаружения ошибки является. Смотреть картинку основным принципом построения кода для дальнейшего обнаружения ошибки является. Картинка про основным принципом построения кода для дальнейшего обнаружения ошибки является. Фото основным принципом построения кода для дальнейшего обнаружения ошибки является. В качестве примера можно привести код основным принципом построения кода для дальнейшего обнаружения ошибки является. Смотреть фото основным принципом построения кода для дальнейшего обнаружения ошибки является. Смотреть картинку основным принципом построения кода для дальнейшего обнаружения ошибки является. Картинка про основным принципом построения кода для дальнейшего обнаружения ошибки является. Фото основным принципом построения кода для дальнейшего обнаружения ошибки является. Кодовые слова этого кода как точки пространства основным принципом построения кода для дальнейшего обнаружения ошибки является. Смотреть фото основным принципом построения кода для дальнейшего обнаружения ошибки является. Смотреть картинку основным принципом построения кода для дальнейшего обнаружения ошибки является. Картинка про основным принципом построения кода для дальнейшего обнаружения ошибки является. Фото основным принципом построения кода для дальнейшего обнаружения ошибки являетсяизображены на рис. 7.6 белыми кружками. Если представить куб расположенным в трехмерном пространстве, то словам данного кода соответствуют вершины тетраэдра. Более полезным

основным принципом построения кода для дальнейшего обнаружения ошибки является. Смотреть фото основным принципом построения кода для дальнейшего обнаружения ошибки является. Смотреть картинку основным принципом построения кода для дальнейшего обнаружения ошибки является. Картинка про основным принципом построения кода для дальнейшего обнаружения ошибки является. Фото основным принципом построения кода для дальнейшего обнаружения ошибки является

Рис. 7.5.Геометрическое представление пространства Bn для n = 1, 2 и 3

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

основным принципом построения кода для дальнейшего обнаружения ошибки является. Смотреть фото основным принципом построения кода для дальнейшего обнаружения ошибки является. Смотреть картинку основным принципом построения кода для дальнейшего обнаружения ошибки является. Картинка про основным принципом построения кода для дальнейшего обнаружения ошибки является. Фото основным принципом построения кода для дальнейшего обнаружения ошибки является

Рис. 7.6.Код в B3, обнаруживающий одну ошибку

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

Передавалось и было получено некоторое кодовое слово основным принципом построения кода для дальнейшего обнаружения ошибки является. Смотреть фото основным принципом построения кода для дальнейшего обнаружения ошибки является. Смотреть картинку основным принципом построения кода для дальнейшего обнаружения ошибки является. Картинка про основным принципом построения кода для дальнейшего обнаружения ошибки является. Фото основным принципом построения кода для дальнейшего обнаружения ошибки является. Эта ситуация, которая показана в верхней части рис.7.7, соответствует отсутствию ошибок при передаче.

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

основным принципом построения кода для дальнейшего обнаружения ошибки является. Смотреть фото основным принципом построения кода для дальнейшего обнаружения ошибки является. Смотреть картинку основным принципом построения кода для дальнейшего обнаружения ошибки является. Картинка про основным принципом построения кода для дальнейшего обнаружения ошибки является. Фото основным принципом построения кода для дальнейшего обнаружения ошибки является

Рис. 7.7.Возможные варианты передачи кодового слова через канал

В процессе передачи кодовое слово основным принципом построения кода для дальнейшего обнаружения ошибки является. Смотреть фото основным принципом построения кода для дальнейшего обнаружения ошибки является. Смотреть картинку основным принципом построения кода для дальнейшего обнаружения ошибки является. Картинка про основным принципом построения кода для дальнейшего обнаружения ошибки является. Фото основным принципом построения кода для дальнейшего обнаружения ошибки являетсяможет так исказиться из-за ошибок, что оно превратится в другое кодовое слово основным принципом построения кода для дальнейшего обнаружения ошибки является. Смотреть фото основным принципом построения кода для дальнейшего обнаружения ошибки является. Смотреть картинку основным принципом построения кода для дальнейшего обнаружения ошибки является. Картинка про основным принципом построения кода для дальнейшего обнаружения ошибки является. Фото основным принципом построения кода для дальнейшего обнаружения ошибки является. В этом случае ошибка не обнаруживается, поскольку полученное сообщение также является кодовым словом, и декодирование будет выполнено неверно. Такая ситуация показана в нижней части рис.7.7.

Источник

Алгоритмы обнаружения и коррекции ошибок

Пусть А и Б — две двоичные кодовые последовательности равной длины. Расстояние Хэмминга между двумя этими кодовыми последовательностями равно числу символов, которыми они отличаются. Например, расстояние Хэмминга между кодами 00111 и 10101 равно 2.

основным принципом построения кода для дальнейшего обнаружения ошибки является. Смотреть фото основным принципом построения кода для дальнейшего обнаружения ошибки является. Смотреть картинку основным принципом построения кода для дальнейшего обнаружения ошибки является. Картинка про основным принципом построения кода для дальнейшего обнаружения ошибки является. Фото основным принципом построения кода для дальнейшего обнаружения ошибки является

4.1. Алгоритмы коррекции ошибок

Исправлять ошибки труднее, чем их детектировать или предотвращать. Процедура коррекции ошибок предполагает два совмещеных процесса: обнаружение ошибки и определение места (идентификации сообщения и позиции в сообщении). После решения этих двух задач исправление тривиально — надо инвертировать значение ошибочного бита. В наземных каналах связи, где вероятность ошибки невелика, обычно используется метод детектирования ошибок и повторной пересылки фрагмента, содержащего дефект. Для спутниковых каналов с типичными для них большими задержками системы коррекции ошибок становятся привлекательными. Здесь используют коды Хэмминга или коды свертки.

Код Хэмминга представляет собой блочный код, который позволяет выявить и исправить ошибочно переданный бит в пределах переданного блока. Обычно код Хэмминга характеризуется двумя целыми числами, например, (11,7), используемыми при передаче 7-битных ASCII-кодов. Такая запись говорит, что при передаче 7-битного кода используется 4 контрольных бита (7 + 4 = 11). При этом предполагается, что имела место ошибка в одном бите и что ошибка в двух или более битах существенно менее вероятна. С учетом этого исправление ошибки осуществляется с определенной вероятностью. Например, пусть возможны следующие правильные коды (все они, кроме первого и последнего, отстоят друг от друга на расстояние Хэмминга 4):

Источник

Коды с обнаружением и исправлением ошибок

основным принципом построения кода для дальнейшего обнаружения ошибки является. Смотреть фото основным принципом построения кода для дальнейшего обнаружения ошибки является. Смотреть картинку основным принципом построения кода для дальнейшего обнаружения ошибки является. Картинка про основным принципом построения кода для дальнейшего обнаружения ошибки является. Фото основным принципом построения кода для дальнейшего обнаружения ошибки является основным принципом построения кода для дальнейшего обнаружения ошибки является. Смотреть фото основным принципом построения кода для дальнейшего обнаружения ошибки является. Смотреть картинку основным принципом построения кода для дальнейшего обнаружения ошибки является. Картинка про основным принципом построения кода для дальнейшего обнаружения ошибки является. Фото основным принципом построения кода для дальнейшего обнаружения ошибки является основным принципом построения кода для дальнейшего обнаружения ошибки является. Смотреть фото основным принципом построения кода для дальнейшего обнаружения ошибки является. Смотреть картинку основным принципом построения кода для дальнейшего обнаружения ошибки является. Картинка про основным принципом построения кода для дальнейшего обнаружения ошибки является. Фото основным принципом построения кода для дальнейшего обнаружения ошибки является основным принципом построения кода для дальнейшего обнаружения ошибки является. Смотреть фото основным принципом построения кода для дальнейшего обнаружения ошибки является. Смотреть картинку основным принципом построения кода для дальнейшего обнаружения ошибки является. Картинка про основным принципом построения кода для дальнейшего обнаружения ошибки является. Фото основным принципом построения кода для дальнейшего обнаружения ошибки является

основным принципом построения кода для дальнейшего обнаружения ошибки является. Смотреть фото основным принципом построения кода для дальнейшего обнаружения ошибки является. Смотреть картинку основным принципом построения кода для дальнейшего обнаружения ошибки является. Картинка про основным принципом построения кода для дальнейшего обнаружения ошибки является. Фото основным принципом построения кода для дальнейшего обнаружения ошибки является

основным принципом построения кода для дальнейшего обнаружения ошибки является. Смотреть фото основным принципом построения кода для дальнейшего обнаружения ошибки является. Смотреть картинку основным принципом построения кода для дальнейшего обнаружения ошибки является. Картинка про основным принципом построения кода для дальнейшего обнаружения ошибки является. Фото основным принципом построения кода для дальнейшего обнаружения ошибки является

Принцип обнаружения и исправления ошибок корректирующими кодами

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

Сущность обнаружения ошибок схематично поясняется на Рисунок 48а. Если в результате искажений в канале связи переданное (разрешенное) кодовое слово Ai (i= 1,2, …Nр)превращается в одно из запрещённых Bj (j= 1,2, …Nз), то ошибка обнаруживается, так как такое слово не могло быть передано. Ошибка не обнаруживается только в том случае, когда очередное передаваемое кодовое слово превращается в другое разрешенное, например Aj, которое также могло быть передано.

Если принятое кодовое слово попадает в подмножество запрещенных слов, не принадлежащих ни к одному из подмножеств ( i ) (i= 1,2, …Nр), то ошибка только обнаруживается, но не исправляется. Этот признак может быть использован для исправления ошибки другими методами, например, методом переспроса.

Свойства кода по обнаружению и исправлению ошибок характеризуются количественно коэффициентами обнаружения Kоб и исправления ошибок Kис, которые показывают, во сколько раз уменьшается вероятность ошибки после декодирования по сравнению с её величиной на входе приемного устройства (декодера), благодаря обнаружению ошибок или их исправлению соответственно. Ошибки в кодовых словах могут иметь произвольную конфигурацию, что определяется случайным характером помех в канале связи. Число ошибочных символов в принятом кодовом слове называется кратностью ошибки t, при длине кодового слова из nсимволов она изменяется в пределах от 0 до n.

Коэффициент исправления ошибок будет определяться выражением

основным принципом построения кода для дальнейшего обнаружения ошибки является. Смотреть фото основным принципом построения кода для дальнейшего обнаружения ошибки является. Смотреть картинку основным принципом построения кода для дальнейшего обнаружения ошибки является. Картинка про основным принципом построения кода для дальнейшего обнаружения ошибки является. Фото основным принципом построения кода для дальнейшего обнаружения ошибки является

где Pис— вероятность исправления ошибок в декодере.

Последняя численно равна вероятности ошибок в кодовом слове, кратность которых не превышает величины кратности гарантированно исправляемых ошибок tис, то есть Pис= Pвхtис, n).

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

Для реализации потенциальных возможностей кода, исправляющего ошибки, необходимо учитывать статистический характер ошибок в реальных каналах связи, в которых предполагается применение этого кода. Разбиение неразрешенных комбинаций на подмножества ( i ) должно выполняться таким образом, чтобы исправлялись ошибки, появление которых наиболее вероятно в данном канале связи.

В общем случае передаваемая кодовая комбинация искажается случайным образом, что определяется случайным характером помех в канале связи. В реальных системах связи при многообразии характера действующих в линии связи помех распределение кратностей ошибок в дискретном канале связи может быть самым различным. Поэтому построению декодера, исправляющего ошибки, должно предшествовать изучение статистических свойств канала связи. В качестве примера, на Рисунок 49 приведены кривые распределения кратностей ошибок Pn(t) для двух случаев: для двоичного канала с независимыми ошибками в кодовых символах p – кривая 1 (биномиальное распределение)

и кривая 2 для канала, в котором передаваемое кодовое слово с одинаковой вероятностью может превратиться в другое кодовое слово данного кода (из множества N)

Вероятность ошибки в передаваемом кодовом слове в канале с распределением кратностей ошибок Pn(t), соответствующим кривой 1(Рисунок 49), и вероятностью искажения символа кода p = 0,1 равна

Вероятность исправления ошибки (вероятность ошибки с кратностьюt=1):

В канале связи с распределением кратностей ошибок Pn(t), соответствующим кривой 2 (Рисунок 49), вероятность исправления ошибки (вероятность ошибки с кратностьюt=1) равна

Таким образом, один и тот же код в первом случае исправляет примерно в четыре раза больше ошибок, чем во втором. Это объясняется тем, что в первом случае наибольшее количество ошибок имееткратностьt=1 и исправляется данным кодом, у которого каждому разрешенному кодовому слову приписывается подмножество ближайших неразрешенных слов, а во втором случае наибольшее количество ошибок имееткратностьt>1, которые не исправляются данным кодом.

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

Источник

Корректирующие коды «на пальцах»

основным принципом построения кода для дальнейшего обнаружения ошибки является. Смотреть фото основным принципом построения кода для дальнейшего обнаружения ошибки является. Смотреть картинку основным принципом построения кода для дальнейшего обнаружения ошибки является. Картинка про основным принципом построения кода для дальнейшего обнаружения ошибки является. Фото основным принципом построения кода для дальнейшего обнаружения ошибки являетсяКорректирующие (или помехоустойчивые) коды — это коды, которые могут обнаружить и, если повезёт, исправить ошибки, возникшие при передаче данных. Даже если вы ничего не слышали о них, то наверняка встречали аббревиатуру CRC в списке файлов в ZIP-архиве или даже надпись ECC на планке памяти. А кто-то, может быть, задумывался, как так получается, что если поцарапать DVD-диск, то данные всё равно считываются без ошибок. Конечно, если царапина не в сантиметр толщиной и не разрезала диск пополам.

Как нетрудно догадаться, ко всему этому причастны корректирующие коды. Собственно, ECC так и расшифровывается — «error-correcting code», то есть «код, исправляющий ошибки». А CRC — это один из алгоритмов, обнаруживающих ошибки в данных. Исправить он их не может, но часто это и не требуется.

Давайте же разберёмся, что это такое.

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

Внимание! Много текста и мало картинок. Я постарался всё объяснить, но без карандаша и бумаги текст может показаться немного запутанным.

Каналы с ошибкой

Разберёмся сперва, откуда вообще берутся ошибки, которые мы собираемся исправлять. Перед нами стоит следующая задача. Нужно передать несколько блоков данных, каждый из которых кодируется цепочкой двоичных цифр. Получившаяся последовательность нулей и единиц передаётся через канал связи. Но так сложилось, что реальные каналы связи часто подвержены ошибкам. Вообще говоря, ошибки могут быть разных видов — может появиться лишняя цифра или какая-то пропасть. Но мы будем рассматривать только ситуации, когда в канале возможны лишь замены нуля на единицу и наоборот. Причём опять же для простоты будем считать такие замены равновероятными.

Ошибка — это маловероятное событие (а иначе зачем нам такой канал вообще, где одни ошибки?), а значит, вероятность двух ошибок меньше, а трёх уже совсем мала. Мы можем выбрать для себя некоторую приемлемую величину вероятности, очертив границу «это уж точно невозможно». Это позволит нам сказать, что в канале возможно не более, чем основным принципом построения кода для дальнейшего обнаружения ошибки является. Смотреть фото основным принципом построения кода для дальнейшего обнаружения ошибки является. Смотреть картинку основным принципом построения кода для дальнейшего обнаружения ошибки является. Картинка про основным принципом построения кода для дальнейшего обнаружения ошибки является. Фото основным принципом построения кода для дальнейшего обнаружения ошибки являетсяошибок. Это будет характеристикой канала связи.

Для простоты введём следующие обозначения. Пусть данные, которые мы хотим передавать, — это двоичные последовательности фиксированной длины. Чтобы не запутаться в нулях и единицах, будем иногда обозначать их заглавными латинскими буквами (основным принципом построения кода для дальнейшего обнаружения ошибки является. Смотреть фото основным принципом построения кода для дальнейшего обнаружения ошибки является. Смотреть картинку основным принципом построения кода для дальнейшего обнаружения ошибки является. Картинка про основным принципом построения кода для дальнейшего обнаружения ошибки является. Фото основным принципом построения кода для дальнейшего обнаружения ошибки является, основным принципом построения кода для дальнейшего обнаружения ошибки является. Смотреть фото основным принципом построения кода для дальнейшего обнаружения ошибки является. Смотреть картинку основным принципом построения кода для дальнейшего обнаружения ошибки является. Картинка про основным принципом построения кода для дальнейшего обнаружения ошибки является. Фото основным принципом построения кода для дальнейшего обнаружения ошибки является, основным принципом построения кода для дальнейшего обнаружения ошибки является. Смотреть фото основным принципом построения кода для дальнейшего обнаружения ошибки является. Смотреть картинку основным принципом построения кода для дальнейшего обнаружения ошибки является. Картинка про основным принципом построения кода для дальнейшего обнаружения ошибки является. Фото основным принципом построения кода для дальнейшего обнаружения ошибки является, …). Что именно передавать, в общем-то неважно, просто с буквами в первое время будет проще работать.

Кодирование и декодирование будем обозначать прямой стрелкой (основным принципом построения кода для дальнейшего обнаружения ошибки является. Смотреть фото основным принципом построения кода для дальнейшего обнаружения ошибки является. Смотреть картинку основным принципом построения кода для дальнейшего обнаружения ошибки является. Картинка про основным принципом построения кода для дальнейшего обнаружения ошибки является. Фото основным принципом построения кода для дальнейшего обнаружения ошибки является), а передачу по каналу связи — волнистой стрелкой (основным принципом построения кода для дальнейшего обнаружения ошибки является. Смотреть фото основным принципом построения кода для дальнейшего обнаружения ошибки является. Смотреть картинку основным принципом построения кода для дальнейшего обнаружения ошибки является. Картинка про основным принципом построения кода для дальнейшего обнаружения ошибки является. Фото основным принципом построения кода для дальнейшего обнаружения ошибки является). Ошибки при передаче будем подчёркивать.

Например, пусть мы хотим передавать только сообщения основным принципом построения кода для дальнейшего обнаружения ошибки является. Смотреть фото основным принципом построения кода для дальнейшего обнаружения ошибки является. Смотреть картинку основным принципом построения кода для дальнейшего обнаружения ошибки является. Картинка про основным принципом построения кода для дальнейшего обнаружения ошибки является. Фото основным принципом построения кода для дальнейшего обнаружения ошибки являетсяи основным принципом построения кода для дальнейшего обнаружения ошибки является. Смотреть фото основным принципом построения кода для дальнейшего обнаружения ошибки является. Смотреть картинку основным принципом построения кода для дальнейшего обнаружения ошибки является. Картинка про основным принципом построения кода для дальнейшего обнаружения ошибки является. Фото основным принципом построения кода для дальнейшего обнаружения ошибки является. В простейшем случае их можно закодировать нулём и единицей (сюрприз!):

основным принципом построения кода для дальнейшего обнаружения ошибки является. Смотреть фото основным принципом построения кода для дальнейшего обнаружения ошибки является. Смотреть картинку основным принципом построения кода для дальнейшего обнаружения ошибки является. Картинка про основным принципом построения кода для дальнейшего обнаружения ошибки является. Фото основным принципом построения кода для дальнейшего обнаружения ошибки является

Передача по каналу, в котором возникла ошибка будет записана так:

основным принципом построения кода для дальнейшего обнаружения ошибки является. Смотреть фото основным принципом построения кода для дальнейшего обнаружения ошибки является. Смотреть картинку основным принципом построения кода для дальнейшего обнаружения ошибки является. Картинка про основным принципом построения кода для дальнейшего обнаружения ошибки является. Фото основным принципом построения кода для дальнейшего обнаружения ошибки является

Цепочки нулей и единиц, которыми мы кодируем буквы, будем называть кодовыми словами. В данном простом случае кодовые слова — это основным принципом построения кода для дальнейшего обнаружения ошибки является. Смотреть фото основным принципом построения кода для дальнейшего обнаружения ошибки является. Смотреть картинку основным принципом построения кода для дальнейшего обнаружения ошибки является. Картинка про основным принципом построения кода для дальнейшего обнаружения ошибки является. Фото основным принципом построения кода для дальнейшего обнаружения ошибки являетсяи основным принципом построения кода для дальнейшего обнаружения ошибки является. Смотреть фото основным принципом построения кода для дальнейшего обнаружения ошибки является. Смотреть картинку основным принципом построения кода для дальнейшего обнаружения ошибки является. Картинка про основным принципом построения кода для дальнейшего обнаружения ошибки является. Фото основным принципом построения кода для дальнейшего обнаружения ошибки является.

Код с утроением

Давайте попробуем построить какой-то корректирующий код. Что мы обычно делаем, когда кто-то нас не расслышал? Повторяем дважды:

основным принципом построения кода для дальнейшего обнаружения ошибки является. Смотреть фото основным принципом построения кода для дальнейшего обнаружения ошибки является. Смотреть картинку основным принципом построения кода для дальнейшего обнаружения ошибки является. Картинка про основным принципом построения кода для дальнейшего обнаружения ошибки является. Фото основным принципом построения кода для дальнейшего обнаружения ошибки является

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

основным принципом построения кода для дальнейшего обнаружения ошибки является. Смотреть фото основным принципом построения кода для дальнейшего обнаружения ошибки является. Смотреть картинку основным принципом построения кода для дальнейшего обнаружения ошибки является. Картинка про основным принципом построения кода для дальнейшего обнаружения ошибки является. Фото основным принципом построения кода для дальнейшего обнаружения ошибки является

Какие выводы мы можем сделать, когда получили основным принципом построения кода для дальнейшего обнаружения ошибки является. Смотреть фото основным принципом построения кода для дальнейшего обнаружения ошибки является. Смотреть картинку основным принципом построения кода для дальнейшего обнаружения ошибки является. Картинка про основным принципом построения кода для дальнейшего обнаружения ошибки является. Фото основным принципом построения кода для дальнейшего обнаружения ошибки является? Понятно, что раз у нас не две одинаковые цифры, то была ошибка, но вот в каком разряде? Может, в первом, и была передана буква основным принципом построения кода для дальнейшего обнаружения ошибки является. Смотреть фото основным принципом построения кода для дальнейшего обнаружения ошибки является. Смотреть картинку основным принципом построения кода для дальнейшего обнаружения ошибки является. Картинка про основным принципом построения кода для дальнейшего обнаружения ошибки является. Фото основным принципом построения кода для дальнейшего обнаружения ошибки является. А может, во втором, и была передана основным принципом построения кода для дальнейшего обнаружения ошибки является. Смотреть фото основным принципом построения кода для дальнейшего обнаружения ошибки является. Смотреть картинку основным принципом построения кода для дальнейшего обнаружения ошибки является. Картинка про основным принципом построения кода для дальнейшего обнаружения ошибки является. Фото основным принципом построения кода для дальнейшего обнаружения ошибки является.

То есть, получившийся код обнаруживает, но не исправляет ошибки. Ну, тоже неплохо, в общем-то. Но мы пойдём дальше и будем теперь утраивать цифры.

основным принципом построения кода для дальнейшего обнаружения ошибки является. Смотреть фото основным принципом построения кода для дальнейшего обнаружения ошибки является. Смотреть картинку основным принципом построения кода для дальнейшего обнаружения ошибки является. Картинка про основным принципом построения кода для дальнейшего обнаружения ошибки является. Фото основным принципом построения кода для дальнейшего обнаружения ошибки является

основным принципом построения кода для дальнейшего обнаружения ошибки является. Смотреть фото основным принципом построения кода для дальнейшего обнаружения ошибки является. Смотреть картинку основным принципом построения кода для дальнейшего обнаружения ошибки является. Картинка про основным принципом построения кода для дальнейшего обнаружения ошибки является. Фото основным принципом построения кода для дальнейшего обнаружения ошибки является

Получили основным принципом построения кода для дальнейшего обнаружения ошибки является. Смотреть фото основным принципом построения кода для дальнейшего обнаружения ошибки является. Смотреть картинку основным принципом построения кода для дальнейшего обнаружения ошибки является. Картинка про основным принципом построения кода для дальнейшего обнаружения ошибки является. Фото основным принципом построения кода для дальнейшего обнаружения ошибки является. Тут у нас есть две возможности: либо это основным принципом построения кода для дальнейшего обнаружения ошибки является. Смотреть фото основным принципом построения кода для дальнейшего обнаружения ошибки является. Смотреть картинку основным принципом построения кода для дальнейшего обнаружения ошибки является. Картинка про основным принципом построения кода для дальнейшего обнаружения ошибки является. Фото основным принципом построения кода для дальнейшего обнаружения ошибки являетсяи было две ошибки (в крайних цифрах), либо это основным принципом построения кода для дальнейшего обнаружения ошибки является. Смотреть фото основным принципом построения кода для дальнейшего обнаружения ошибки является. Смотреть картинку основным принципом построения кода для дальнейшего обнаружения ошибки является. Картинка про основным принципом построения кода для дальнейшего обнаружения ошибки является. Фото основным принципом построения кода для дальнейшего обнаружения ошибки являетсяи была одна ошибка. Вообще, вероятность одной ошибки выше вероятности двух ошибок, так что самым правдоподобным будет предположение о том, что передавалась именно буква основным принципом построения кода для дальнейшего обнаружения ошибки является. Смотреть фото основным принципом построения кода для дальнейшего обнаружения ошибки является. Смотреть картинку основным принципом построения кода для дальнейшего обнаружения ошибки является. Картинка про основным принципом построения кода для дальнейшего обнаружения ошибки является. Фото основным принципом построения кода для дальнейшего обнаружения ошибки является. Хотя правдоподобное — не значит истинное, поэтому рядом и стоит вопросительный знак.

Если в канале связи возможна максимум одна ошибка, то первое предположение о двух ошибках становится невозможным и остаётся только один вариант — передавалась буква основным принципом построения кода для дальнейшего обнаружения ошибки является. Смотреть фото основным принципом построения кода для дальнейшего обнаружения ошибки является. Смотреть картинку основным принципом построения кода для дальнейшего обнаружения ошибки является. Картинка про основным принципом построения кода для дальнейшего обнаружения ошибки является. Фото основным принципом построения кода для дальнейшего обнаружения ошибки является.

Про такой код говорят, что он исправляет одну ошибку. Две он тоже обнаружит, но исправит уже неверно.

Это, конечно, самый простой код. Кодировать легко, да и декодировать тоже. Ноликов больше — значит передавался ноль, единичек — значит единица.

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

Расстояния между кодами

Рассмотрим поподробнее код с утроением. Итак, мы получили работающий код, который исправляет одиночную ошибку. Но за всё хорошее надо платить: он кодирует один бит тремя. Не очень-то и эффективно.

И вообще, почему этот код работает? Почему нужно именно утраивать для устранения одной ошибки? Наверняка это всё неспроста.

Давайте подумаем, как этот код работает. Интуитивно всё понятно. Нолики и единички — это две непохожие последовательности. Так как они достаточно длинные, то одиночная ошибка не сильно портит их вид.

Пусть мы передавали основным принципом построения кода для дальнейшего обнаружения ошибки является. Смотреть фото основным принципом построения кода для дальнейшего обнаружения ошибки является. Смотреть картинку основным принципом построения кода для дальнейшего обнаружения ошибки является. Картинка про основным принципом построения кода для дальнейшего обнаружения ошибки является. Фото основным принципом построения кода для дальнейшего обнаружения ошибки является, а получили основным принципом построения кода для дальнейшего обнаружения ошибки является. Смотреть фото основным принципом построения кода для дальнейшего обнаружения ошибки является. Смотреть картинку основным принципом построения кода для дальнейшего обнаружения ошибки является. Картинка про основным принципом построения кода для дальнейшего обнаружения ошибки является. Фото основным принципом построения кода для дальнейшего обнаружения ошибки является. Видно, что эта цепочка больше похожа на исходные основным принципом построения кода для дальнейшего обнаружения ошибки является. Смотреть фото основным принципом построения кода для дальнейшего обнаружения ошибки является. Смотреть картинку основным принципом построения кода для дальнейшего обнаружения ошибки является. Картинка про основным принципом построения кода для дальнейшего обнаружения ошибки является. Фото основным принципом построения кода для дальнейшего обнаружения ошибки является, чем на основным принципом построения кода для дальнейшего обнаружения ошибки является. Смотреть фото основным принципом построения кода для дальнейшего обнаружения ошибки является. Смотреть картинку основным принципом построения кода для дальнейшего обнаружения ошибки является. Картинка про основным принципом построения кода для дальнейшего обнаружения ошибки является. Фото основным принципом построения кода для дальнейшего обнаружения ошибки является. А так как других кодовых слов у нас нет, то и выбор очевиден.

Но что значит «больше похоже»? А всё просто! Чем больше символов у двух цепочек совпадает, тем больше их схожесть. Если почти все символы отличаются, то цепочки «далеки» друг от друга.

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

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

Расстояние Хэмминга называют расстоянием неспроста. Ведь в самом деле, что такое расстояние? Это какая-то характеристика, указывающая на близость двух точек, и для которой верны утверждения:

Достаточно разумные требования.

Математически это можно записать так (нам это не пригодится, просто ради интереса посмотрим):

Предлагаю читателю самому убедиться, что для расстояния Хэмминга эти свойства выполняются.

Окрестности

Таким образом, разные цепочки мы считаем точками в каком-то воображаемом пространстве, и теперь мы умеем находить расстояния между ними. Правда, если попытаться сколько нибудь длинные цепочки расставить на листе бумаги так, чтобы расстояния Хэмминга совпадали с расстояниями на плоскости, мы можем потерпеть неудачу. Но не нужно переживать. Всё же это особое пространство со своими законами. А слова вроде «расстояния» лишь помогают нам рассуждать.

Пойдём дальше. Раз мы заговорили о расстоянии, то можно ввести такое понятие как окрестность. Как известно, окрестность какой-то точки — это шар определённого радиуса с центром в ней. Шар? Какие ещё шары! Мы же о кодах говорим.

Но всё просто. Ведь что такое шар? Это множество всех точек, которые находятся от данной не дальше, чем некоторое расстояние, называемое радиусом. Точки у нас есть, расстояние у нас есть, теперь есть и шары.

Так, скажем, окрестность кодового слова основным принципом построения кода для дальнейшего обнаружения ошибки является. Смотреть фото основным принципом построения кода для дальнейшего обнаружения ошибки является. Смотреть картинку основным принципом построения кода для дальнейшего обнаружения ошибки является. Картинка про основным принципом построения кода для дальнейшего обнаружения ошибки является. Фото основным принципом построения кода для дальнейшего обнаружения ошибки являетсярадиуса 1 — это все коды, находящиеся на расстоянии не больше, чем 1 от него, то есть отличающиеся не больше, чем в одном разряде. То есть это коды:

основным принципом построения кода для дальнейшего обнаружения ошибки является. Смотреть фото основным принципом построения кода для дальнейшего обнаружения ошибки является. Смотреть картинку основным принципом построения кода для дальнейшего обнаружения ошибки является. Картинка про основным принципом построения кода для дальнейшего обнаружения ошибки является. Фото основным принципом построения кода для дальнейшего обнаружения ошибки является

Да, вот так странно выглядят шары в пространстве кодов.

А теперь посмотрите. Это же все возможные коды, которые мы получим в канале в одной ошибкой, если отправим основным принципом построения кода для дальнейшего обнаружения ошибки является. Смотреть фото основным принципом построения кода для дальнейшего обнаружения ошибки является. Смотреть картинку основным принципом построения кода для дальнейшего обнаружения ошибки является. Картинка про основным принципом построения кода для дальнейшего обнаружения ошибки является. Фото основным принципом построения кода для дальнейшего обнаружения ошибки является! Это следует прямо из определения окрестности. Ведь каждая ошибка заставляет цепочку измениться только в одном разряде, а значит удаляет её на расстояние 1 от исходного сообщения.

Аналогично, если в канале возможны две ошибки, то отправив некоторое сообщение основным принципом построения кода для дальнейшего обнаружения ошибки является. Смотреть фото основным принципом построения кода для дальнейшего обнаружения ошибки является. Смотреть картинку основным принципом построения кода для дальнейшего обнаружения ошибки является. Картинка про основным принципом построения кода для дальнейшего обнаружения ошибки является. Фото основным принципом построения кода для дальнейшего обнаружения ошибки является, мы получим один из кодов, который принадлежит окрестности основным принципом построения кода для дальнейшего обнаружения ошибки является. Смотреть фото основным принципом построения кода для дальнейшего обнаружения ошибки является. Смотреть картинку основным принципом построения кода для дальнейшего обнаружения ошибки является. Картинка про основным принципом построения кода для дальнейшего обнаружения ошибки является. Фото основным принципом построения кода для дальнейшего обнаружения ошибки являетсярадиусом 2.

Тогда всю нашу систему декодирования можно построить так. Мы получаем какую-то цепочку нулей и единиц (точку в нашей новой терминологии) и смотрим, в окрестность какого кодового слова она попадает.

Сколько ошибок может исправить код?

Чтобы код мог исправлять больше ошибок, окрестности должны быть как можно шире. С другой стороны, они не должны пересекаться. Иначе если точка попадёт в область пересечения, непонятно будет, к какой окрестности её отнести.

В коде с удвоением между кодовыми словами основным принципом построения кода для дальнейшего обнаружения ошибки является. Смотреть фото основным принципом построения кода для дальнейшего обнаружения ошибки является. Смотреть картинку основным принципом построения кода для дальнейшего обнаружения ошибки является. Картинка про основным принципом построения кода для дальнейшего обнаружения ошибки является. Фото основным принципом построения кода для дальнейшего обнаружения ошибки являетсяи основным принципом построения кода для дальнейшего обнаружения ошибки является. Смотреть фото основным принципом построения кода для дальнейшего обнаружения ошибки является. Смотреть картинку основным принципом построения кода для дальнейшего обнаружения ошибки является. Картинка про основным принципом построения кода для дальнейшего обнаружения ошибки является. Фото основным принципом построения кода для дальнейшего обнаружения ошибки являетсярасстояние равно 2 (оба разряда различаются). А значит, если мы построим вокруг них шары радиуса 1, то они будут касаться. Это значит, точка касания будет принадлежать обоим шарам и непонятно будет, к какому из них её отнести.

основным принципом построения кода для дальнейшего обнаружения ошибки является. Смотреть фото основным принципом построения кода для дальнейшего обнаружения ошибки является. Смотреть картинку основным принципом построения кода для дальнейшего обнаружения ошибки является. Картинка про основным принципом построения кода для дальнейшего обнаружения ошибки является. Фото основным принципом построения кода для дальнейшего обнаружения ошибки является

Именно это мы и получали. Мы видели, что есть ошибка, но не могли её исправить.

Что интересно, точек касания в нашем странном пространстве у шаров две — это коды основным принципом построения кода для дальнейшего обнаружения ошибки является. Смотреть фото основным принципом построения кода для дальнейшего обнаружения ошибки является. Смотреть картинку основным принципом построения кода для дальнейшего обнаружения ошибки является. Картинка про основным принципом построения кода для дальнейшего обнаружения ошибки является. Фото основным принципом построения кода для дальнейшего обнаружения ошибки являетсяи основным принципом построения кода для дальнейшего обнаружения ошибки является. Смотреть фото основным принципом построения кода для дальнейшего обнаружения ошибки является. Смотреть картинку основным принципом построения кода для дальнейшего обнаружения ошибки является. Картинка про основным принципом построения кода для дальнейшего обнаружения ошибки является. Фото основным принципом построения кода для дальнейшего обнаружения ошибки является. Расстояния от них до центров равны единице. Конечно же, в обычно геометрии такое невозможно, поэтому рисунки — это просто условность для более удобного рассуждения.

В случае кода с утроением, между шарами будет зазор.

основным принципом построения кода для дальнейшего обнаружения ошибки является. Смотреть фото основным принципом построения кода для дальнейшего обнаружения ошибки является. Смотреть картинку основным принципом построения кода для дальнейшего обнаружения ошибки является. Картинка про основным принципом построения кода для дальнейшего обнаружения ошибки является. Фото основным принципом построения кода для дальнейшего обнаружения ошибки является

Минимальный зазор между шарами равен 1, так как у нас расстояния всегда целые (ну не могут же две цепочки отличаться в полутора разрядах).

В общем случае получаем следующее.

основным принципом построения кода для дальнейшего обнаружения ошибки является. Смотреть фото основным принципом построения кода для дальнейшего обнаружения ошибки является. Смотреть картинку основным принципом построения кода для дальнейшего обнаружения ошибки является. Картинка про основным принципом построения кода для дальнейшего обнаружения ошибки является. Фото основным принципом построения кода для дальнейшего обнаружения ошибки является

Этот очевидный результат на самом деле очень важен. Он означает, что код с минимальным кодовым расстоянием основным принципом построения кода для дальнейшего обнаружения ошибки является. Смотреть фото основным принципом построения кода для дальнейшего обнаружения ошибки является. Смотреть картинку основным принципом построения кода для дальнейшего обнаружения ошибки является. Картинка про основным принципом построения кода для дальнейшего обнаружения ошибки является. Фото основным принципом построения кода для дальнейшего обнаружения ошибки являетсябудет успешно работать в канале с основным принципом построения кода для дальнейшего обнаружения ошибки является. Смотреть фото основным принципом построения кода для дальнейшего обнаружения ошибки является. Смотреть картинку основным принципом построения кода для дальнейшего обнаружения ошибки является. Картинка про основным принципом построения кода для дальнейшего обнаружения ошибки является. Фото основным принципом построения кода для дальнейшего обнаружения ошибки являетсяошибками, если выполняется соотношение

основным принципом построения кода для дальнейшего обнаружения ошибки является. Смотреть фото основным принципом построения кода для дальнейшего обнаружения ошибки является. Смотреть картинку основным принципом построения кода для дальнейшего обнаружения ошибки является. Картинка про основным принципом построения кода для дальнейшего обнаружения ошибки является. Фото основным принципом построения кода для дальнейшего обнаружения ошибки является

Полученное равенство позволяет легко определить, сколько ошибок будет исправлять тот или иной код. А сколько код ошибок может обнаружить? Рассуждения такие же. Код обнаруживает основным принципом построения кода для дальнейшего обнаружения ошибки является. Смотреть фото основным принципом построения кода для дальнейшего обнаружения ошибки является. Смотреть картинку основным принципом построения кода для дальнейшего обнаружения ошибки является. Картинка про основным принципом построения кода для дальнейшего обнаружения ошибки является. Фото основным принципом построения кода для дальнейшего обнаружения ошибки являетсяошибок, если в результате не получится другое кодовое слово. То есть, кодовые слова не должны находиться в окрестностях радиуса основным принципом построения кода для дальнейшего обнаружения ошибки является. Смотреть фото основным принципом построения кода для дальнейшего обнаружения ошибки является. Смотреть картинку основным принципом построения кода для дальнейшего обнаружения ошибки является. Картинка про основным принципом построения кода для дальнейшего обнаружения ошибки является. Фото основным принципом построения кода для дальнейшего обнаружения ошибки являетсядругих кодовых слов. Математически это записывается так:

основным принципом построения кода для дальнейшего обнаружения ошибки является. Смотреть фото основным принципом построения кода для дальнейшего обнаружения ошибки является. Смотреть картинку основным принципом построения кода для дальнейшего обнаружения ошибки является. Картинка про основным принципом построения кода для дальнейшего обнаружения ошибки является. Фото основным принципом построения кода для дальнейшего обнаружения ошибки является

Рассмотрим пример. Пусть мы кодируем 4 буквы следующим образом.

основным принципом построения кода для дальнейшего обнаружения ошибки является. Смотреть фото основным принципом построения кода для дальнейшего обнаружения ошибки является. Смотреть картинку основным принципом построения кода для дальнейшего обнаружения ошибки является. Картинка про основным принципом построения кода для дальнейшего обнаружения ошибки является. Фото основным принципом построения кода для дальнейшего обнаружения ошибки является

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

ABCD
A334
B343
C343
D433

Минимальное расстояние основным принципом построения кода для дальнейшего обнаружения ошибки является. Смотреть фото основным принципом построения кода для дальнейшего обнаружения ошибки является. Смотреть картинку основным принципом построения кода для дальнейшего обнаружения ошибки является. Картинка про основным принципом построения кода для дальнейшего обнаружения ошибки является. Фото основным принципом построения кода для дальнейшего обнаружения ошибки является, а значит основным принципом построения кода для дальнейшего обнаружения ошибки является. Смотреть фото основным принципом построения кода для дальнейшего обнаружения ошибки является. Смотреть картинку основным принципом построения кода для дальнейшего обнаружения ошибки является. Картинка про основным принципом построения кода для дальнейшего обнаружения ошибки является. Фото основным принципом построения кода для дальнейшего обнаружения ошибки является, откуда получаем, что такой код может исправить до основным принципом построения кода для дальнейшего обнаружения ошибки является. Смотреть фото основным принципом построения кода для дальнейшего обнаружения ошибки является. Смотреть картинку основным принципом построения кода для дальнейшего обнаружения ошибки является. Картинка про основным принципом построения кода для дальнейшего обнаружения ошибки является. Фото основным принципом построения кода для дальнейшего обнаружения ошибки являетсяошибок. Обнаруживает же он две ошибки.

основным принципом построения кода для дальнейшего обнаружения ошибки является. Смотреть фото основным принципом построения кода для дальнейшего обнаружения ошибки является. Смотреть картинку основным принципом построения кода для дальнейшего обнаружения ошибки является. Картинка про основным принципом построения кода для дальнейшего обнаружения ошибки является. Фото основным принципом построения кода для дальнейшего обнаружения ошибки является

Чтобы декодировать полученное сообщение, посмотрим, к какому символу оно ближе всего.

основным принципом построения кода для дальнейшего обнаружения ошибки является. Смотреть фото основным принципом построения кода для дальнейшего обнаружения ошибки является. Смотреть картинку основным принципом построения кода для дальнейшего обнаружения ошибки является. Картинка про основным принципом построения кода для дальнейшего обнаружения ошибки является. Фото основным принципом построения кода для дальнейшего обнаружения ошибки является

Минимальное расстояние получилось для символа основным принципом построения кода для дальнейшего обнаружения ошибки является. Смотреть фото основным принципом построения кода для дальнейшего обнаружения ошибки является. Смотреть картинку основным принципом построения кода для дальнейшего обнаружения ошибки является. Картинка про основным принципом построения кода для дальнейшего обнаружения ошибки является. Фото основным принципом построения кода для дальнейшего обнаружения ошибки является, значит вероятнее всего передавался именно он:

основным принципом построения кода для дальнейшего обнаружения ошибки является. Смотреть фото основным принципом построения кода для дальнейшего обнаружения ошибки является. Смотреть картинку основным принципом построения кода для дальнейшего обнаружения ошибки является. Картинка про основным принципом построения кода для дальнейшего обнаружения ошибки является. Фото основным принципом построения кода для дальнейшего обнаружения ошибки является

Итак, этот код исправляет одну ошибку, как и код с утроением. Но он более эффективен, так как в отличие от кода с утроением здесь кодируется уже 4 символа.

Таким образом, основная проблема при построении такого рода кодов — так расположить кодовые слова, чтобы они были как можно дальше друг от друга, и их было побольше.

Для декодирования можно было бы использовать таблицу, в которой указывались бы все возможные принимаемые сообщения, и кодовые слова, которым они соответствуют. Но такая таблица получилась бы очень большой. Даже для нашего маленького кода, который выдаёт 5 двоичных цифр, получилось бы основным принципом построения кода для дальнейшего обнаружения ошибки является. Смотреть фото основным принципом построения кода для дальнейшего обнаружения ошибки является. Смотреть картинку основным принципом построения кода для дальнейшего обнаружения ошибки является. Картинка про основным принципом построения кода для дальнейшего обнаружения ошибки является. Фото основным принципом построения кода для дальнейшего обнаружения ошибки являетсяварианта возможных принимаемых сообщений. Для более сложных кодов таблица будет значительно больше.

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

Интерлюдия: поле GF(2)

Для изложения дальнейшего материала нам потребуются матрицы. А при умножении матриц, как известно мы складываем и перемножаем числа. И тут есть проблема. Если с умножением всё более-менее хорошо, то как быть со сложением? Из-за того, что мы работаем только с одиночными двоичными цифрами, непонятно, как сложить 1 и 1, чтобы снова получилась одна двоичная цифра. Значит вместо классического сложения нужно использовать какое-то другое.

Введём операцию сложения как сложение по модулю 2 (хорошо известный программистам XOR):

основным принципом построения кода для дальнейшего обнаружения ошибки является. Смотреть фото основным принципом построения кода для дальнейшего обнаружения ошибки является. Смотреть картинку основным принципом построения кода для дальнейшего обнаружения ошибки является. Картинка про основным принципом построения кода для дальнейшего обнаружения ошибки является. Фото основным принципом построения кода для дальнейшего обнаружения ошибки является

Умножение будем выполнять как обычно. Эти операции на самом деле введены не абы как, а чтобы получилась система, которая в математике называется полем. Поле — это просто множество (в нашем случае из 0 и 1), на котором так определены сложение и умножение, чтобы основные алгебраические законы сохранялись. Например, чтобы основные идеи, касающиеся матриц и систем уравнений по-прежнему были верны. А вычитание и деление мы можем ввести как обратные операции.

Множество из двух элементов основным принципом построения кода для дальнейшего обнаружения ошибки является. Смотреть фото основным принципом построения кода для дальнейшего обнаружения ошибки является. Смотреть картинку основным принципом построения кода для дальнейшего обнаружения ошибки является. Картинка про основным принципом построения кода для дальнейшего обнаружения ошибки является. Фото основным принципом построения кода для дальнейшего обнаружения ошибки являетсяс операциями, введёнными так, как мы это сделали, называется полем Галуа GF(2). GF — это Galois field, а 2 — количество элементов.

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

основным принципом построения кода для дальнейшего обнаружения ошибки является. Смотреть фото основным принципом построения кода для дальнейшего обнаружения ошибки является. Смотреть картинку основным принципом построения кода для дальнейшего обнаружения ошибки является. Картинка про основным принципом построения кода для дальнейшего обнаружения ошибки является. Фото основным принципом построения кода для дальнейшего обнаружения ошибки является

Это свойство прямо следует из определения.

основным принципом построения кода для дальнейшего обнаружения ошибки является. Смотреть фото основным принципом построения кода для дальнейшего обнаружения ошибки является. Смотреть картинку основным принципом построения кода для дальнейшего обнаружения ошибки является. Картинка про основным принципом построения кода для дальнейшего обнаружения ошибки является. Фото основным принципом построения кода для дальнейшего обнаружения ошибки является

А в этом можно убедиться, прибавив основным принципом построения кода для дальнейшего обнаружения ошибки является. Смотреть фото основным принципом построения кода для дальнейшего обнаружения ошибки является. Смотреть картинку основным принципом построения кода для дальнейшего обнаружения ошибки является. Картинка про основным принципом построения кода для дальнейшего обнаружения ошибки является. Фото основным принципом построения кода для дальнейшего обнаружения ошибки являетсяк обеим частям равенства. Это свойство, в частности означает, что мы можем переносить в уравнении слагаемые в другую сторону без смены знака.

Проверяем корректность

Вернёмся к коду с утроением.

основным принципом построения кода для дальнейшего обнаружения ошибки является. Смотреть фото основным принципом построения кода для дальнейшего обнаружения ошибки является. Смотреть картинку основным принципом построения кода для дальнейшего обнаружения ошибки является. Картинка про основным принципом построения кода для дальнейшего обнаружения ошибки является. Фото основным принципом построения кода для дальнейшего обнаружения ошибки является

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

Пусть мы приняли вектор-строку основным принципом построения кода для дальнейшего обнаружения ошибки является. Смотреть фото основным принципом построения кода для дальнейшего обнаружения ошибки является. Смотреть картинку основным принципом построения кода для дальнейшего обнаружения ошибки является. Картинка про основным принципом построения кода для дальнейшего обнаружения ошибки является. Фото основным принципом построения кода для дальнейшего обнаружения ошибки являетсяиз трёх цифр. (Стрелочки над векторами рисовать не будем, так как у нас почти всё — это вектора или матрицы.)

основным принципом построения кода для дальнейшего обнаружения ошибки является. Смотреть фото основным принципом построения кода для дальнейшего обнаружения ошибки является. Смотреть картинку основным принципом построения кода для дальнейшего обнаружения ошибки является. Картинка про основным принципом построения кода для дальнейшего обнаружения ошибки является. Фото основным принципом построения кода для дальнейшего обнаружения ошибки является

Математически равенство всех трёх цифр можно записать как систему:

основным принципом построения кода для дальнейшего обнаружения ошибки является. Смотреть фото основным принципом построения кода для дальнейшего обнаружения ошибки является. Смотреть картинку основным принципом построения кода для дальнейшего обнаружения ошибки является. Картинка про основным принципом построения кода для дальнейшего обнаружения ошибки является. Фото основным принципом построения кода для дальнейшего обнаружения ошибки является

Или, если воспользоваться свойствами сложения в GF(2), получаем

основным принципом построения кода для дальнейшего обнаружения ошибки является. Смотреть фото основным принципом построения кода для дальнейшего обнаружения ошибки является. Смотреть картинку основным принципом построения кода для дальнейшего обнаружения ошибки является. Картинка про основным принципом построения кода для дальнейшего обнаружения ошибки является. Фото основным принципом построения кода для дальнейшего обнаружения ошибки является

основным принципом построения кода для дальнейшего обнаружения ошибки является. Смотреть фото основным принципом построения кода для дальнейшего обнаружения ошибки является. Смотреть картинку основным принципом построения кода для дальнейшего обнаружения ошибки является. Картинка про основным принципом построения кода для дальнейшего обнаружения ошибки является. Фото основным принципом построения кода для дальнейшего обнаружения ошибки является

В матричном виде эта система будет иметь вид

основным принципом построения кода для дальнейшего обнаружения ошибки является. Смотреть фото основным принципом построения кода для дальнейшего обнаружения ошибки является. Смотреть картинку основным принципом построения кода для дальнейшего обнаружения ошибки является. Картинка про основным принципом построения кода для дальнейшего обнаружения ошибки является. Фото основным принципом построения кода для дальнейшего обнаружения ошибки является

основным принципом построения кода для дальнейшего обнаружения ошибки является. Смотреть фото основным принципом построения кода для дальнейшего обнаружения ошибки является. Смотреть картинку основным принципом построения кода для дальнейшего обнаружения ошибки является. Картинка про основным принципом построения кода для дальнейшего обнаружения ошибки является. Фото основным принципом построения кода для дальнейшего обнаружения ошибки является

Транспонирование здесь нужно потому, что основным принципом построения кода для дальнейшего обнаружения ошибки является. Смотреть фото основным принципом построения кода для дальнейшего обнаружения ошибки является. Смотреть картинку основным принципом построения кода для дальнейшего обнаружения ошибки является. Картинка про основным принципом построения кода для дальнейшего обнаружения ошибки является. Фото основным принципом построения кода для дальнейшего обнаружения ошибки является— это вектор-строка, а не вектор-столбец. Иначе мы не могли бы умножать его справа на матрицу.

Будем называть матрицу основным принципом построения кода для дальнейшего обнаружения ошибки является. Смотреть фото основным принципом построения кода для дальнейшего обнаружения ошибки является. Смотреть картинку основным принципом построения кода для дальнейшего обнаружения ошибки является. Картинка про основным принципом построения кода для дальнейшего обнаружения ошибки является. Фото основным принципом построения кода для дальнейшего обнаружения ошибки являетсяпроверочной матрицей. Если полученное сообщение — это корректное кодовое слово (то есть, ошибки при передаче не было), то произведение проверочной матрицы на это сообщение будет равно нулевому вектору.

Умножение на матрицу — это гораздо более эффективно, чем поиск в таблице, но у нас на самом деле есть ещё одна таблица — это таблица кодирования. Попробуем от неё избавиться.

Кодирование

Итак, у нас есть система для проверки

основным принципом построения кода для дальнейшего обнаружения ошибки является. Смотреть фото основным принципом построения кода для дальнейшего обнаружения ошибки является. Смотреть картинку основным принципом построения кода для дальнейшего обнаружения ошибки является. Картинка про основным принципом построения кода для дальнейшего обнаружения ошибки является. Фото основным принципом построения кода для дальнейшего обнаружения ошибки является

Её решения — это кодовые слова. Собственно, мы систему и строили на основе кодовых слов. Попробуем теперь решить обратную задачу. По системе (или, что то же самое, по матрице основным принципом построения кода для дальнейшего обнаружения ошибки является. Смотреть фото основным принципом построения кода для дальнейшего обнаружения ошибки является. Смотреть картинку основным принципом построения кода для дальнейшего обнаружения ошибки является. Картинка про основным принципом построения кода для дальнейшего обнаружения ошибки является. Фото основным принципом построения кода для дальнейшего обнаружения ошибки является) найдём кодовые слова.

Правда, для нашей системы мы уже знаем ответ, поэтому, чтобы было интересно, возьмём другую матрицу:

основным принципом построения кода для дальнейшего обнаружения ошибки является. Смотреть фото основным принципом построения кода для дальнейшего обнаружения ошибки является. Смотреть картинку основным принципом построения кода для дальнейшего обнаружения ошибки является. Картинка про основным принципом построения кода для дальнейшего обнаружения ошибки является. Фото основным принципом построения кода для дальнейшего обнаружения ошибки является

Соответствующая система имеет вид:

основным принципом построения кода для дальнейшего обнаружения ошибки является. Смотреть фото основным принципом построения кода для дальнейшего обнаружения ошибки является. Смотреть картинку основным принципом построения кода для дальнейшего обнаружения ошибки является. Картинка про основным принципом построения кода для дальнейшего обнаружения ошибки является. Фото основным принципом построения кода для дальнейшего обнаружения ошибки является

Чтобы найти кодовые слова соответствующего кода нужно её решить.

В силу линейности сумма двух решений системы тоже будет решением системы. Это легко доказать. Если основным принципом построения кода для дальнейшего обнаружения ошибки является. Смотреть фото основным принципом построения кода для дальнейшего обнаружения ошибки является. Смотреть картинку основным принципом построения кода для дальнейшего обнаружения ошибки является. Картинка про основным принципом построения кода для дальнейшего обнаружения ошибки является. Фото основным принципом построения кода для дальнейшего обнаружения ошибки являетсяи основным принципом построения кода для дальнейшего обнаружения ошибки является. Смотреть фото основным принципом построения кода для дальнейшего обнаружения ошибки является. Смотреть картинку основным принципом построения кода для дальнейшего обнаружения ошибки является. Картинка про основным принципом построения кода для дальнейшего обнаружения ошибки является. Фото основным принципом построения кода для дальнейшего обнаружения ошибки является— решения системы, то для их суммы верно

основным принципом построения кода для дальнейшего обнаружения ошибки является. Смотреть фото основным принципом построения кода для дальнейшего обнаружения ошибки является. Смотреть картинку основным принципом построения кода для дальнейшего обнаружения ошибки является. Картинка про основным принципом построения кода для дальнейшего обнаружения ошибки является. Фото основным принципом построения кода для дальнейшего обнаружения ошибки является

что означает, что она тоже — решение.

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

Выразим сперва все зависимые слагаемые. Их столько же, сколько и уравнений. Выражать надо так, чтобы справа были только независимые. Проще всего выразить основным принципом построения кода для дальнейшего обнаружения ошибки является. Смотреть фото основным принципом построения кода для дальнейшего обнаружения ошибки является. Смотреть картинку основным принципом построения кода для дальнейшего обнаружения ошибки является. Картинка про основным принципом построения кода для дальнейшего обнаружения ошибки является. Фото основным принципом построения кода для дальнейшего обнаружения ошибки является.

Если бы нам не так повезло с системой, то нужно было бы складывая уравнения между собой получить такую систему, чтобы какие-то три переменные встречались по одному разу. Ну, или воспользоваться методом Гаусса. Для GF(2) он тоже работает.

основным принципом построения кода для дальнейшего обнаружения ошибки является. Смотреть фото основным принципом построения кода для дальнейшего обнаружения ошибки является. Смотреть картинку основным принципом построения кода для дальнейшего обнаружения ошибки является. Картинка про основным принципом построения кода для дальнейшего обнаружения ошибки является. Фото основным принципом построения кода для дальнейшего обнаружения ошибки является

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

основным принципом построения кода для дальнейшего обнаружения ошибки является. Смотреть фото основным принципом построения кода для дальнейшего обнаружения ошибки является. Смотреть картинку основным принципом построения кода для дальнейшего обнаружения ошибки является. Картинка про основным принципом построения кода для дальнейшего обнаружения ошибки является. Фото основным принципом построения кода для дальнейшего обнаружения ошибки является

Всевозможные суммы этих независимых решений (а именно они и будут кодовыми векторами) можно получить так:

основным принципом построения кода для дальнейшего обнаружения ошибки является. Смотреть фото основным принципом построения кода для дальнейшего обнаружения ошибки является. Смотреть картинку основным принципом построения кода для дальнейшего обнаружения ошибки является. Картинка про основным принципом построения кода для дальнейшего обнаружения ошибки является. Фото основным принципом построения кода для дальнейшего обнаружения ошибки является

где основным принципом построения кода для дальнейшего обнаружения ошибки является. Смотреть фото основным принципом построения кода для дальнейшего обнаружения ошибки является. Смотреть картинку основным принципом построения кода для дальнейшего обнаружения ошибки является. Картинка про основным принципом построения кода для дальнейшего обнаружения ошибки является. Фото основным принципом построения кода для дальнейшего обнаружения ошибки являетсяравны либо нулю или единице. Так как таких коэффициентов два, то всего возможно основным принципом построения кода для дальнейшего обнаружения ошибки является. Смотреть фото основным принципом построения кода для дальнейшего обнаружения ошибки является. Смотреть картинку основным принципом построения кода для дальнейшего обнаружения ошибки является. Картинка про основным принципом построения кода для дальнейшего обнаружения ошибки является. Фото основным принципом построения кода для дальнейшего обнаружения ошибки являетсясочетания.

Но посмотрите! Формула, которую мы только что получили — это же снова умножение матрицы на вектор.

основным принципом построения кода для дальнейшего обнаружения ошибки является. Смотреть фото основным принципом построения кода для дальнейшего обнаружения ошибки является. Смотреть картинку основным принципом построения кода для дальнейшего обнаружения ошибки является. Картинка про основным принципом построения кода для дальнейшего обнаружения ошибки является. Фото основным принципом построения кода для дальнейшего обнаружения ошибки является

Строчки здесь — линейно независимые решения, которые мы получили. Матрица основным принципом построения кода для дальнейшего обнаружения ошибки является. Смотреть фото основным принципом построения кода для дальнейшего обнаружения ошибки является. Смотреть картинку основным принципом построения кода для дальнейшего обнаружения ошибки является. Картинка про основным принципом построения кода для дальнейшего обнаружения ошибки является. Фото основным принципом построения кода для дальнейшего обнаружения ошибки являетсяназывается порождающей. Теперь вместо того, чтобы сами составлять таблицу кодирования, мы можем получать кодовые слова простым умножением на матрицу:

основным принципом построения кода для дальнейшего обнаружения ошибки является. Смотреть фото основным принципом построения кода для дальнейшего обнаружения ошибки является. Смотреть картинку основным принципом построения кода для дальнейшего обнаружения ошибки является. Картинка про основным принципом построения кода для дальнейшего обнаружения ошибки является. Фото основным принципом построения кода для дальнейшего обнаружения ошибки является

Найдём кодовые слова для этого кода. (Не забываем, что длина исходных сообщений должна быть равна 2 — это количество найденных решений.)

основным принципом построения кода для дальнейшего обнаружения ошибки является. Смотреть фото основным принципом построения кода для дальнейшего обнаружения ошибки является. Смотреть картинку основным принципом построения кода для дальнейшего обнаружения ошибки является. Картинка про основным принципом построения кода для дальнейшего обнаружения ошибки является. Фото основным принципом построения кода для дальнейшего обнаружения ошибки является

Итак, у нас есть готовый код, обнаруживающий ошибки. Проверим его в деле. Пусть мы хотим отправить 01 и у нас произошла ошибка при передаче. Обнаружит ли её код?

основным принципом построения кода для дальнейшего обнаружения ошибки является. Смотреть фото основным принципом построения кода для дальнейшего обнаружения ошибки является. Смотреть картинку основным принципом построения кода для дальнейшего обнаружения ошибки является. Картинка про основным принципом построения кода для дальнейшего обнаружения ошибки является. Фото основным принципом построения кода для дальнейшего обнаружения ошибки является

А раз в результате не нулевой вектор, значит код заподозрил неладное. Провести его не удалось. Ура, код работает!

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

основным принципом построения кода для дальнейшего обнаружения ошибки является. Смотреть фото основным принципом построения кода для дальнейшего обнаружения ошибки является. Смотреть картинку основным принципом построения кода для дальнейшего обнаружения ошибки является. Картинка про основным принципом построения кода для дальнейшего обнаружения ошибки является. Фото основным принципом построения кода для дальнейшего обнаружения ошибки является

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

Ошибка по синдрому

Ну хорошо, мы построили код обнаруживающий ошибки. Но мы же хотим их исправлять!

Для начала введём такое понятие, как вектор ошибки. Это вектор, на который отличается принятое сообщение от кодового слова. Пусть мы получили сообщение основным принципом построения кода для дальнейшего обнаружения ошибки является. Смотреть фото основным принципом построения кода для дальнейшего обнаружения ошибки является. Смотреть картинку основным принципом построения кода для дальнейшего обнаружения ошибки является. Картинка про основным принципом построения кода для дальнейшего обнаружения ошибки является. Фото основным принципом построения кода для дальнейшего обнаружения ошибки является, а было отправлено кодовое слово основным принципом построения кода для дальнейшего обнаружения ошибки является. Смотреть фото основным принципом построения кода для дальнейшего обнаружения ошибки является. Смотреть картинку основным принципом построения кода для дальнейшего обнаружения ошибки является. Картинка про основным принципом построения кода для дальнейшего обнаружения ошибки является. Фото основным принципом построения кода для дальнейшего обнаружения ошибки является. Тогда вектор ошибки по определению

основным принципом построения кода для дальнейшего обнаружения ошибки является. Смотреть фото основным принципом построения кода для дальнейшего обнаружения ошибки является. Смотреть картинку основным принципом построения кода для дальнейшего обнаружения ошибки является. Картинка про основным принципом построения кода для дальнейшего обнаружения ошибки является. Фото основным принципом построения кода для дальнейшего обнаружения ошибки является

Но в странном мире GF(2), где сложение и вычитание одинаковы, будут верны и соотношения:

основным принципом построения кода для дальнейшего обнаружения ошибки является. Смотреть фото основным принципом построения кода для дальнейшего обнаружения ошибки является. Смотреть картинку основным принципом построения кода для дальнейшего обнаружения ошибки является. Картинка про основным принципом построения кода для дальнейшего обнаружения ошибки является. Фото основным принципом построения кода для дальнейшего обнаружения ошибки является

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

Как мы уже говорили раньше, если мы получили сообщение основным принципом построения кода для дальнейшего обнаружения ошибки является. Смотреть фото основным принципом построения кода для дальнейшего обнаружения ошибки является. Смотреть картинку основным принципом построения кода для дальнейшего обнаружения ошибки является. Картинка про основным принципом построения кода для дальнейшего обнаружения ошибки является. Фото основным принципом построения кода для дальнейшего обнаружения ошибки являетсяс ошибкой, то основным принципом построения кода для дальнейшего обнаружения ошибки является. Смотреть фото основным принципом построения кода для дальнейшего обнаружения ошибки является. Смотреть картинку основным принципом построения кода для дальнейшего обнаружения ошибки является. Картинка про основным принципом построения кода для дальнейшего обнаружения ошибки является. Фото основным принципом построения кода для дальнейшего обнаружения ошибки является. Но ведь векторов, не равных нулю много! Быть может то, какой именно ненулевой вектор мы получили, подскажет нам характер ошибки?

Назовём результат умножения на проверочную матрицу синдромом:

основным принципом построения кода для дальнейшего обнаружения ошибки является. Смотреть фото основным принципом построения кода для дальнейшего обнаружения ошибки является. Смотреть картинку основным принципом построения кода для дальнейшего обнаружения ошибки является. Картинка про основным принципом построения кода для дальнейшего обнаружения ошибки является. Фото основным принципом построения кода для дальнейшего обнаружения ошибки является

И заметим следующее

основным принципом построения кода для дальнейшего обнаружения ошибки является. Смотреть фото основным принципом построения кода для дальнейшего обнаружения ошибки является. Смотреть картинку основным принципом построения кода для дальнейшего обнаружения ошибки является. Картинка про основным принципом построения кода для дальнейшего обнаружения ошибки является. Фото основным принципом построения кода для дальнейшего обнаружения ошибки является

Это означает, что для ошибки синдром будет таким же, как и для полученного сообщения.

Разложим все возможные сообщения, которые мы можем получить из канала связи, по кучкам в зависимости от синдрома. Тогда из последнего соотношения следует, что в каждой кучке будут вектора с одной и той же ошибкой. Причём вектор этой ошибки тоже будет в кучке. Вот только как его узнать?

А очень просто! Помните, мы говорили, что у нескольких ошибок вероятность ниже, чем у одной ошибки? Руководствуясь этим соображением, наиболее правдоподобным будет считать вектором ошибки тот вектор, у которого меньше всего единиц. Будем называть его лидером.

Давайте посмотрим, какие синдромы дают всевозможные 5-элементные векторы. Сразу сгруппируем их и подчеркнём лидеров — векторы с наименьшим числом единиц.

основным принципом построения кода для дальнейшего обнаружения ошибки является. Смотреть фото основным принципом построения кода для дальнейшего обнаружения ошибки является. Смотреть картинку основным принципом построения кода для дальнейшего обнаружения ошибки является. Картинка про основным принципом построения кода для дальнейшего обнаружения ошибки является. Фото основным принципом построения кода для дальнейшего обнаружения ошибки являетсяосновным принципом построения кода для дальнейшего обнаружения ошибки является. Смотреть фото основным принципом построения кода для дальнейшего обнаружения ошибки является. Смотреть картинку основным принципом построения кода для дальнейшего обнаружения ошибки является. Картинка про основным принципом построения кода для дальнейшего обнаружения ошибки является. Фото основным принципом построения кода для дальнейшего обнаружения ошибки является
основным принципом построения кода для дальнейшего обнаружения ошибки является. Смотреть фото основным принципом построения кода для дальнейшего обнаружения ошибки является. Смотреть картинку основным принципом построения кода для дальнейшего обнаружения ошибки является. Картинка про основным принципом построения кода для дальнейшего обнаружения ошибки является. Фото основным принципом построения кода для дальнейшего обнаружения ошибки являетсяосновным принципом построения кода для дальнейшего обнаружения ошибки является. Смотреть фото основным принципом построения кода для дальнейшего обнаружения ошибки является. Смотреть картинку основным принципом построения кода для дальнейшего обнаружения ошибки является. Картинка про основным принципом построения кода для дальнейшего обнаружения ошибки является. Фото основным принципом построения кода для дальнейшего обнаружения ошибки является
основным принципом построения кода для дальнейшего обнаружения ошибки является. Смотреть фото основным принципом построения кода для дальнейшего обнаружения ошибки является. Смотреть картинку основным принципом построения кода для дальнейшего обнаружения ошибки является. Картинка про основным принципом построения кода для дальнейшего обнаружения ошибки является. Фото основным принципом построения кода для дальнейшего обнаружения ошибки являетсяосновным принципом построения кода для дальнейшего обнаружения ошибки является. Смотреть фото основным принципом построения кода для дальнейшего обнаружения ошибки является. Смотреть картинку основным принципом построения кода для дальнейшего обнаружения ошибки является. Картинка про основным принципом построения кода для дальнейшего обнаружения ошибки является. Фото основным принципом построения кода для дальнейшего обнаружения ошибки является
основным принципом построения кода для дальнейшего обнаружения ошибки является. Смотреть фото основным принципом построения кода для дальнейшего обнаружения ошибки является. Смотреть картинку основным принципом построения кода для дальнейшего обнаружения ошибки является. Картинка про основным принципом построения кода для дальнейшего обнаружения ошибки является. Фото основным принципом построения кода для дальнейшего обнаружения ошибки являетсяосновным принципом построения кода для дальнейшего обнаружения ошибки является. Смотреть фото основным принципом построения кода для дальнейшего обнаружения ошибки является. Смотреть картинку основным принципом построения кода для дальнейшего обнаружения ошибки является. Картинка про основным принципом построения кода для дальнейшего обнаружения ошибки является. Фото основным принципом построения кода для дальнейшего обнаружения ошибки является
основным принципом построения кода для дальнейшего обнаружения ошибки является. Смотреть фото основным принципом построения кода для дальнейшего обнаружения ошибки является. Смотреть картинку основным принципом построения кода для дальнейшего обнаружения ошибки является. Картинка про основным принципом построения кода для дальнейшего обнаружения ошибки является. Фото основным принципом построения кода для дальнейшего обнаружения ошибки являетсяосновным принципом построения кода для дальнейшего обнаружения ошибки является. Смотреть фото основным принципом построения кода для дальнейшего обнаружения ошибки является. Смотреть картинку основным принципом построения кода для дальнейшего обнаружения ошибки является. Картинка про основным принципом построения кода для дальнейшего обнаружения ошибки является. Фото основным принципом построения кода для дальнейшего обнаружения ошибки является
основным принципом построения кода для дальнейшего обнаружения ошибки является. Смотреть фото основным принципом построения кода для дальнейшего обнаружения ошибки является. Смотреть картинку основным принципом построения кода для дальнейшего обнаружения ошибки является. Картинка про основным принципом построения кода для дальнейшего обнаружения ошибки является. Фото основным принципом построения кода для дальнейшего обнаружения ошибки являетсяосновным принципом построения кода для дальнейшего обнаружения ошибки является. Смотреть фото основным принципом построения кода для дальнейшего обнаружения ошибки является. Смотреть картинку основным принципом построения кода для дальнейшего обнаружения ошибки является. Картинка про основным принципом построения кода для дальнейшего обнаружения ошибки является. Фото основным принципом построения кода для дальнейшего обнаружения ошибки является
основным принципом построения кода для дальнейшего обнаружения ошибки является. Смотреть фото основным принципом построения кода для дальнейшего обнаружения ошибки является. Смотреть картинку основным принципом построения кода для дальнейшего обнаружения ошибки является. Картинка про основным принципом построения кода для дальнейшего обнаружения ошибки является. Фото основным принципом построения кода для дальнейшего обнаружения ошибки являетсяосновным принципом построения кода для дальнейшего обнаружения ошибки является. Смотреть фото основным принципом построения кода для дальнейшего обнаружения ошибки является. Смотреть картинку основным принципом построения кода для дальнейшего обнаружения ошибки является. Картинка про основным принципом построения кода для дальнейшего обнаружения ошибки является. Фото основным принципом построения кода для дальнейшего обнаружения ошибки является
основным принципом построения кода для дальнейшего обнаружения ошибки является. Смотреть фото основным принципом построения кода для дальнейшего обнаружения ошибки является. Смотреть картинку основным принципом построения кода для дальнейшего обнаружения ошибки является. Картинка про основным принципом построения кода для дальнейшего обнаружения ошибки является. Фото основным принципом построения кода для дальнейшего обнаружения ошибки являетсяосновным принципом построения кода для дальнейшего обнаружения ошибки является. Смотреть фото основным принципом построения кода для дальнейшего обнаружения ошибки является. Смотреть картинку основным принципом построения кода для дальнейшего обнаружения ошибки является. Картинка про основным принципом построения кода для дальнейшего обнаружения ошибки является. Фото основным принципом построения кода для дальнейшего обнаружения ошибки является
основным принципом построения кода для дальнейшего обнаружения ошибки является. Смотреть фото основным принципом построения кода для дальнейшего обнаружения ошибки является. Смотреть картинку основным принципом построения кода для дальнейшего обнаружения ошибки является. Картинка про основным принципом построения кода для дальнейшего обнаружения ошибки является. Фото основным принципом построения кода для дальнейшего обнаружения ошибки являетсяосновным принципом построения кода для дальнейшего обнаружения ошибки является. Смотреть фото основным принципом построения кода для дальнейшего обнаружения ошибки является. Смотреть картинку основным принципом построения кода для дальнейшего обнаружения ошибки является. Картинка про основным принципом построения кода для дальнейшего обнаружения ошибки является. Фото основным принципом построения кода для дальнейшего обнаружения ошибки является

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

Обратите внимание, что в некоторых строчках два лидера. Это значит для для данного синдрома два паттерна ошибки равновероятны. Иными словами, код обнаружил две ошибки, но исправить их не может.

Лидеры для всех возможных одиночных ошибок находятся в отдельных строках, а значит код может исправить любую одиночную ошибку. Ну, что же… Попробуем в этом убедиться.

основным принципом построения кода для дальнейшего обнаружения ошибки является. Смотреть фото основным принципом построения кода для дальнейшего обнаружения ошибки является. Смотреть картинку основным принципом построения кода для дальнейшего обнаружения ошибки является. Картинка про основным принципом построения кода для дальнейшего обнаружения ошибки является. Фото основным принципом построения кода для дальнейшего обнаружения ошибки является

Вектор ошибки равен основным принципом построения кода для дальнейшего обнаружения ошибки является. Смотреть фото основным принципом построения кода для дальнейшего обнаружения ошибки является. Смотреть картинку основным принципом построения кода для дальнейшего обнаружения ошибки является. Картинка про основным принципом построения кода для дальнейшего обнаружения ошибки является. Фото основным принципом построения кода для дальнейшего обнаружения ошибки является, а значит ошибка в третьем разряде. Как мы и загадали.

Что же дальше?

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

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

Если вас заинтересовали подробности, то можете почитать замечательную книжку Аршинова и Садовского «Коды и математика». Там изложено гораздо больше, чем представлено в этой статье. Если интересует математика кодирования — то поищите «Теория и практика кодов, контролирующих ошибки» Блейхута. А вообще, материалов по этой теме довольно много.

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

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *