
- •Принципы обнаружения и исправления ошибок в кодовых комбинациях
- •Основные характеристики блоковых корректирующих кодов
- •1. Разрядность кода
- •2. Число информационных символов.
- •3. Относительная скорость передачи.
- •4. Избыточность кода
- •5. Минимальное хэммингово расстояние кода, кодовое расстояние.
- •6. Корректирующая способность кода
- •7. Верность передачи сообщений кодом.
Принципы обнаружения и исправления ошибок в кодовых комбинациях
Все коды делятся на корректирующие и некорректирующие. Корректирующим называется код, позволяющий обнаруживать или исправлять искаженные символы, появляющиеся в его комбинациях в результате действия помех, искажений в канале связи и отказов элементов аппаратуры. Некорректирующим называется код, который не обеспечивает возможности обнаруживать искаженные символы в своих комбинациях.
Искажение символа комбинации кода при передаче является лишь отражением искажения сигнала, которым данный символ представляется и передается. Поскольку степень искажения сигнала может быть разной, то обычно различают две степени искажения символов: полную и неполную. Под полным искажением символа или ошибкой понимают замену истинного его значения другим – ложным значением. Под неполным искажением символа или стиранием понимают замену истинного его значения специальным значением. Это специальное значение, которое мы будем обозначать через Z, присваивается символу тогда, когда по принятому сигналу невозможно надежно определить, какой символ передавался.
Обнаружением или исправление искаженных символов в блоковом коде производятся в каждой комбинации независимо от других комбинаций.
Для характеристики числа искаженных символов в одной комбинации блокового кода пользуются понятием «кратность искажения», определяемым как число искаженных символов в кодовой комбинации.
, (1)
где
и
– соответственно число ошибочных и
стертых символов. В дальнейшем учитываются
только ошибочные символы.
Идея обнаружения
ошибочных символов в комбинациях
равномерного блокового кода с основанием
m
и длиной
основана на том, что в него входят не
всеN0=mn
кодовых комбинации нормального кода,
а только часть из них N
[1].
N < N0 (2)
Используемые в корректирующем коде комбинации называются разрешенными, а остальные комбинации нормального кода, число которых N−N0, – запрещенными.
Если принятая комбинация является запрещенной, то это говорит о том, что при передаче разрешенной комбинации в ней появились ошибочные символы. Естественно, что в ряде случаев ошибки могут перевести одну разрешенную комбинацию в другую. В этом случае ошибки не обнаруживаются. Сказанное выше поясняется графом, представленным на рис.1
Рис. 1 Граф, поясняющий принцип обнаружения ошибки в коде:
1 случай: A1 A1, 000000ошибки нет; 2 случай:A2 В4,A1 В1, 000001, 011100, 101100ошибка есть и она обнаруживается; 3 случай:A2 АN, 101110ошибка есть, но она не обнаруживается.
Возможность исправления ошибок в комбинациях равномерного блокового кода также основана на использовании в нем лишь части комбинаций N из общего числа N0=mn, возможных в нормальном коде длины n. Если получена запрещенная комбинация, что свидетельствует о наличии в переданной комбинации ошибок, то исправление этих ошибок состоит в замене полученной запрещенной комбинации одной из разрешенных, находящейся по определенному правилу.
Таким образом, код, удовлетворяющий условию (2), может быть использован и как код с обнаружением, и как код с исправлением ошибок. Если комбинации кода известны, и он используется как код с исправлением ошибок, то способ разбиения запрещенных комбинаций Bj на подмножества Mi определяется статистикой ошибок, возникающих в его комбинациях. Обычно это разбиение выполняется так, чтобы максимизировать среднюю вероятность исправления неправильной комбинации на выходе устройства исправления ошибок.
Поскольку из корректирующих кодов наибольшее распространение получили двоичные коды с символами 0 и 1, то в дальнейшем, будут рассмотрены только такие коды.
Для удобства
представления ошибок, возникающих в
комбинациях двоичного кода длины
n,
введем понятие «комбинация ошибок» или
«вектор ошибок»
.
Под комбинацией ошибок
понимается такая комбинация длины n,
с двумя возможными значениями символов
(0 или 1), в которой на всех позициях,
соответствующих искаженным символам
комбинации кода, стоят 1, а все остальные
позиции заняты 0.
Рис.
2. Граф, поясняющий принцип исправления
ошибок в коде:
1 случай: A1 A1, 001001, 110110ошибки нет; 2 случай:A1 В1A1, 001000001, 110111110ошибка есть, она обнаруживается и исправляется; 3 случай:A2 В2A1, 001100110ошибка есть, она обнаруживается и исправляется неверно; 4 случай:A2 АN, 110001, 001100ошибка есть, но она не обнаруживается.
Число единиц в комбинации ошибок, называемое весом w комбинации, определяет кратность ошибок νош в комбинации кода ((w(ei)=νош). Искаженная комбинация кода Vi* при использовании понятия «комбинация ошибок» может быть представлена как результат сложения по модулю 2 одноименной неискаженной комбинации Vi и комбинации ei:
. (3)
Поскольку в комбинации двоичного кода длины n возможно искажение любого числа символов в пределах n и искаженные символы могут занимать любые позиции, то общее число E различных ненулевых комбинаций ошибок ei, i = 1,2,…,n
E=2n –1 (4)
Единица в этой формуле соответствует комбинациям ошибок, состоящей из одних нулей.
Из формулы (3) можно получить и способ исправления ошибок. Если известна комбинация ошибок ei, то исправление комбинации кода может быть сведено к сложению по модулю 2 V* и ei.
Действительно
.