Самовосстанавливающиеся коды

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

Пусть используется n-разрядный двоичный код. Ошибка при приеме кодовой комбинации состоит в том, что (под влиянием помехи) либо переданный нуль был принят, как единица, либо единица была принята, как нуль. Если в кодовой комбинации ошибка присутствует только в одном разряде, то такую ошибку будем называть одиночной, если в двух разрядах – двойной и т.д.

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

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

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


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



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