
- •Корректирующие коды
- •Введение
- •Принципы обнаружения и исправления искаженных символов в комбинациях.
- •Основные характеристики блоковых корректирующих кодов
- •Корректирующие коды, обнаруживающие ошибки код с проверкой на четность
- •Код с повторением без инверсии
- •Код с повторением и инверсией
- •Корреляционный код - код с удвоением элементов
- •Код с постоянным весом
- •Линейные (n,k)-коды
- •Линейный систематический код
- •Линейный не систематичекий код
- •Описание стендов
- •Стенд №1
- •Описание передней панели стенда
- •Стенд №2
- •6. Исправление одиночной ошибки
- •Порядок выполения работы, с использованием стенда №1
- •Построение корректирующих кодов.
- •Код с проверкой на четность
- •Нахождение хэмминговых и кодовых расстояний.
- •Обнаружение и исправление ошибок Нахождение синдромов.
- •Нахождение синдрома ошибки
- •1.Операция деления
- •2.Операция умножения
- •3.Формирование корректирующего кода
- •4. Обнаружение ошибки
- •5. Исправление ошибок
- •Библиографический список
- •Корректирующие коды
- •119454, Москва, пр. Вернадского, 78
Основные характеристики блоковых корректирующих кодов
К основным характеристикам блоковых корректирующих кодов относятся следующие:
1. Разрядность кода
Под разрядностью
корректирующего кода понимается длина
его кодовых комбинаций, выраженная в
числе символов.
2. Число информационных символов.
Пусть корректирующим кодом необходимо закодировать N сообщений. Вначале эти сообщения кодируются равномерным двоичным нормальным кодом. Минимальное число разрядов k, которое может содержать такой код, определяется из неравенства.
(5)
Затем выполним кодирование N сообщений корректирующим кодом разрядности n k. Построить комбинации такого кода можно двумя способами:
а) К k символам каждой комбинации нормального двоичного кода, которым и выполнено первичное кодирование N сообщений, добавляется еще r символов, значения которых находятся в соответствии с некоторым законом. Разрядность получаемого кода n=k + r.
б) Каждому из N сообщений сразу ставится в соответствие некоторая кодовая комбинация n – разрядного кода, причем в эту комбинацию не входит составной частью комбинация нормального двоичного кода, которой первично может кодироваться данное сообщение. Основные k символов, которые входят в комбинации корректирующего кода, построенного по первому способу, называются информационными, а r символов, которые добавляются к информационным символам, называются проверочными.
k = kэ символов, которые необходимы для кодирования N сообщений нормальным двоичным кодом при втором способе построения корректирующего кода называются эквивалентными информационными символами, а rэ = n − kэ символов при этом способе — эквивалентными проверочными символами.
Коды, построенные по первому способу называются разделимыми, по второму способу – неразделимыми.
3. Относительная скорость передачи.
Относительная скорость передачи q характеризует степень использования в корректирующем коде информационных возможностей двоичных последовательностей длины n. Относительная скорость передачи определяется как
(6)
В частном случае, когда N=2k,
(7)
4. Избыточность кода
Под избыточностью корректирующего кода понимается степень выполнения неравенства (2.) N<N0. Оценку избыточности будем проводить при помощи коэффициента избыточности И, определяемого как
(8)
Такое определение коэффициента избыточности является универсальным, так как в этой форме он может быть использован для оценки избыточности любого кода, удовлетворяющего неравенству (2.), при любом способе построения его комбинаций. Когда N = N0, т.е. избыточности нет, И=0; если N=const, а
N0 → ∞, то И → ∞. При N0 = 2n и N = 2k
(9)
5. Минимальное хэммингово расстояние кода, кодовое расстояние.
Хэмминговым расстоянием между двумя кодовыми комбинациями называют число разрядов, в которых эти комбинации имеют разные символы в соответствующих одноименных разрядах.
Хэммингово расстояние между двумя кодовыми комбинациями удобно находить, используя операцию сложения по mod2, так как результат сложения по mod2 только тогда равен 1, когда складываемые символы различаются. Учитывая это, можно определить расстояние между любыми двумя комбинациями n-разрядного кода Vi = (a1a2...an) и Vj = (b1b2...bn) следующим образом:
(10)
Это расстояние можно трактовать и несколько иначе, а именно, как число единиц в той комбинации, которая получается в результате разрядного сложения по mod2 двух исходных комбинаций: VΣ=V1V2
Например, суммой по mod2 комбинаций V1 = 1110 и V2 = 0100 является комбинация V = 1010.
Число единиц в комбинации двоичного кода называют весом комбинации. Если обозначить вес комбинации V через w(V), то сказанное можно выразить следующим равенством:
d (V1, V2) = w(V). (11)
Кодовое расстояние, определяется как минимальное Хэммингово расстояние, взятое по всем возможным парам комбинаций.
(12)
где dij вычисляется в соответствии с (10).
Код длины n, состоящий из N комбинаций, называется оптимальным по d, если он имеет максимально возможное d = dмакс, то есть если из N0 = 2n комбинаций нормального кода длины n не может быть составлен никой другой код с N комбинациями, имеющий d = dмакс. Обычно при заданных n и N существует несколько кодов, оптимальных по d.
6. Корректирующая способность кода
Под корректирующей способностью кода понимается его способность обнаруживать или исправлять ошибки, возникающие в кодовых комбинациях. Корректирующая способность определяется только избыточностью кода (степенью выполнения неравенства (2)). Вид же комбинаций кода определяет, какие комбинации ошибок будут обнаруживаться и (если выполнено разбиение запрещенных комбинаций на подмножества Mi) исправляться при одной и той же корректирующей способности.
Для того, чтобы код мог обнаруживать любую одиночную ошибку в любой своей комбинации, необходимо, чтобы при таких ошибках разрешенная кодовая комбинация переходила в запрещенную. Это возможно только тогда, когда d >1, или , так как d— целое, d ≥ 2.
Аналогично, для того, чтобы код мог обнаруживать любые ошибки кратности ν0 и менее, необходимо, чтобы d кода удовлетворяло условию
(13)
Вопрос о том, может ли обнаруживать ошибки код с d = 1, решается из рассмотрения неравенства (2.). Если для кода указанное неравенство выполняется, то он может обнаруживать некоторые, хотя и не любые, одиночные и более высокой кратности ошибки; если (2) не выполняется, то код не обладает корректирующей способностью.
Несколько сложнее обстоит дело с исправлением ошибок. Обычно исправление ошибок преследует цель минимизировать вероятность выдачи неправильной кодовой комбинации получателю. Естественно, что достижение этой цели возможно только при учете статистики появления ошибок. Зная такую статистику, нетрудно выполнить разбиение запрещенных комбинаций Bj на подмножества Mi так, чтобы вероятность неправильного исправления ошибок была минимальной.
Статистика ошибок в комбинациях определяется каналом, по которому производится передача. В настоящее время статистика ошибок получена для большинства реальных каналов. Это позволило разработать различные математические модели, с той или иной степенью точности отражающие процессы передачи символов по данным каналам и служащие для их теоретического исследования. Из широко используемых моделей каналов рассматривается только один — двоичный симметричный канал без памяти, рассмотренный, например, в [2]. В отношении этой модели корректирующие коды исследованы наиболее полно.
Ориентация на двоичный симметричный канал (ДСК) при исследовании свойств кодов, несмотря на то, что эта модель лишь весьма приближенно описывает большинство реальных каналов связи, объясняется ее простотой. Действительно, ДСК характеризуется тем, что искажения отдельных символов в передаваемых по нему комбинациях независимы и вероятности искажений символов 0 и 1 одинаковы (p01= p10 = p). Поэтому процесс передачи любого двоичного символа комбинации кода по ДСК может быть описан при помощи всего двух чисел — вероятности искажения символа p и вероятность правильной передачи q = 1 – p. ДСК обычно представляют графом, изображенным на рис. 3.
Рис. 3. Двоичный симметричный код
Для ДСК при p < q справедливо утверждение: если на выход канала пришла некоторая запрещенная комбинация, то вероятность того, что она появилась в результате ошибок меньшей кратности, больше, чем вероятность того, что она порождена ошибками большей кратности. Отсюда следует, что для минимизации вероятности появления ложной кодовой комбинации на выходе устройства, осуществляющего передачу информации по ДСК с исправлением ошибок, необходимо, чтобы при коде в первую очередь обеспечивалось исправление ошибок меньшей кратности. Такой принцип исправления ошибок определяет следующее правило разбиения запрещенных комбинаций на подмножества Mi: запрещенная комбинация Bj приписывается такой разрешенной кодовой комбинации Vi, от которой она отличается в наименьшем числе символов. Исправление ошибок в соответствии с указанным принципом получило название «исправление по методу максимального правдоподобия».
Определим теперь, каким минимальным d должен обладать корректирующий код, который по методу максимального правдоподобия позволил бы исправлять ошибки с кратностью от 1 до νu. В соответствии с этим методом запрещенная комбинация, получаемая из некоторой кодовой в результате искажения νu символов, должна отличаться от любой другой кодовой комбинации больше, чем νu символами, то есть расстояние между любыми кодовыми комбинациями должно удовлетворять условию d > 2νu, или
(14)
Из (14) видно, например, что для того, чтобы код обеспечивал исправление любой одиночной ошибки, он должен иметь
d ≥ 3.
Теперь найдем, каково должно быть d кода, чтобы он мог обнаруживать ошибки кратности ν0. и менее и исправлять ошибки кратности νu и менее. Во-первых, заметим, что для того, чтобы код мог исправлять ошибки кратности от 1 до νu, он должен их прежде обнаруживать, поэтому всегда νu ν0.
Во-вторых, чтобы код мог обнаруживать ошибки кратности ν0 эти ошибки не должны переводить кодовые комбинации в такие закрещенные, которые исправляются в другие кодовые комбинации и, следовательно, отличаются от последних не более чем в ν0 символах. Поэтому для такого кода
(15)
Нетрудно убедиться, что при ν0 = 0 (15) переходит в (13), а при νи = ν0 — в (14) .
Отметим, что конкретное использование d кода определяет разработчик устройства передачи информации.
7. Верность передачи сообщений кодом.
Под верностью передачи сообщений корректирующим кодом будем понимать степень соответствия между комбинацией на выходе устройства обнаружения и исправления ошибок и комбинацией на входе канала. Верность передачи характеризуется вероятностью получения неправильной кодовой комбинации на выходе устройства обнаружения и исправления ошибок. Верность передачи является производной характеристикой, зависящей как от корректирующей способности кода, так и от типа канала и условий передачи по нему символов комбинаций. При постоянной корректирующей способности кода изменение условий передачи символов по каналу приводит к изменению верности передачи.
Рассмотрим передачу
комбинаций кода по ДСК. При подаче на
вход канала некоторой комбинации длины
вероятность получить ее на выходе без
ошибок.
PБО = qn (16)
с
ошибочными символами:
(17)
(где pν — вероятность искажения символов; qn−ν — вероятность того, что оставшиеся n- символов в комбинации будут неискаженны; Cnν — число возможных случаев искажения в комбинации ν символов n), и наконец, содержащую не более ν ошибочных символов.
(18)
Двоичный корректирующий код длины n с N разрешенными комбинациями называется оптимальным для ДСК, если вероятность Pош неправильной комбинации на выходе устройства исправления ошибок для него не превышает Pош для любого другого двоичного кода с той же разрядностью n и тем же числом комбинаций N Показано [3], что все квазисовершенные коды оптимальны для ДСК, однако среди оптимальных кодов есть достаточно большое число и не квазисовершенных.
Обратим внимание на то, что не всегда при передаче комбинации по ДСК наибольшее значение в сумме (14) имеет первый член. Найдем, при каких значениях p вероятность двойных ошибок в ДСК больше вероятности одиночных ошибок. Для этого воспользуемся неравенством
,
где q
= 1–
p
(19)
Решая это неравенство относительно p, найдем, что оно удовлетворяется при всех p =2/(n+1). Таким образом, если p>2/(n+1), то вероятность того, что при передаче кодовой комбинации по ДСК в ней будут искажены два символа, больше, чем вероятность того, что будет искажен один символ.