Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Основные понятия. Помехозащищенные коды




Помехозащищенные коды

Лекция № 5

 

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

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

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

 

При n =1 n–мерный куб превращается в прямую длиной d=1, на одном конце которой располагается 1, а на другом 0. (n – число разрядов)

При n =2 имеем четыре возможные комбинации (N = 22 =4), которые располагаются на четырех вершинах квадрата. При этом комбинации 00 и 11, а также 10 и 01 отличаются друг от друга в двух разрядах, т.е. d = 2.

Кодовое расстояние между двумя комбинациями двоичного кода равно числу единиц, полученных при сложении этих комбинаций по модулю 2, например, 10 01 = 11 и 00 11 = 11. Такое определение кодового расстояния удобно при большой разрядности кодов. Так, складывая комбинации 10110101101

10000000010

мы определяем, что расстояние между ними d =7.

Для кода с n =3 восемь кодовых комбинаций размещаются на вершинах трехмерного куба. Этот куб строится так, что одна из его вершин лежит в начале координат. Каждой вершине куба приписывается кодовая комбинация по следующему правилу: на i -ом месте кодовой комбинации ставится 0, если проекция этой вершины на i -ую ось координат равна 0, и 1, если проекция равна 1. Например, мы хотим узнать, какую следует записать комбинацию в вершине А6. Проектируя эту вершину на ось X1, мы получим единицу.

На втором месте комбинации запишется также 1 (проекция на ось X 2 равна единице). Т.к. проекция на ось X3 равна нулю (проекция в начале координат), то на третьем месте комбинации запишется 0. Вся комбинация в точке А6 – 110. Если использовать все восемь слов, то образуется двоичный код на все сочетания. Как было показано выше, такой код непомехоустойчив. Если же уменьшить число используемых комбинаций с 8 до 4,то появится возможность обнаружения одиночных ошибок. Для этого выберем только такие комбинации, которые отстоят друг от друга на расстоянии d= 2, например, А0 А6 А3 А5

000 110 011 101

Если будет принята комбинация 100, отстоящая от комбинации 000, 110 и 101 на расстоянии d =1, то очевидно, что при приеме такой комбинации произошла одиночная ошибка.

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

Кроме указанной выше группы комбинаций, в кубе можно найти еще одну группу комбинаций с кодовым расстоянием d =2 А7 А1 А2 А4

(111 001 010 100)

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

Таким образом, в помехозащищенных кодах есть комбинации разрешенные, составленные по определенному правилу и есть комбинации запрещенные, не соответствующие этому правилу. Так, если из восьми комбинаций трехразрядного кода мы образовали четыре комбинации, позволяющие обнаруживать одиночную ошибку (например, 111, 001, 010 и 100), то эти комбинации будут разрешенными, а остальные четыре (000, 011, 101, 110) являются запрещенными и должны фиксироваться на приеме как искаженные. Иногда совокупность разрешенных кодовых комбинаций, которые при заданных возможных искажениях не могут перейти друг в друга, называют системой непереходящих друг в друга сигналов.

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

Выберем в трехмерном кубе такие вершины, кодовые обозначения которых отличались бы друг от друга на d =3. Такие вершины расположены на концах пространственных диагоналей куба. Их может быть только четыре пары: 000 и 111 или 001 и 110, или 100 и 011, или 010 и 101. Однако из этих четырех пар для передачи можно использовать только одну любую пару, т.к. использование большего числа пар приведет к тому, что в передаче будут использоваться комбинации, отличающиеся друг от друга на d <3.

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

Пусть, например, передается код, состоящий из слов 001 и 110. На приеме получена комбинация 100. Сравнение ее с исходными комбинациями показывает, что от комбинации 110 она отличается в одном (втором) разряде, а от комбинации 001 в двух разрядах. Если считать, что сделана одна ошибка, то полученную комбинацию 100 следует исправить на 110.

От разрешенной комбинации 001 отличаются на d =1 комбинации 011, 000 и 101, а от комбинации 110 – комбинации 111,100 и 010. Они и являются своего рода комбинациями – спутниками, которые после приема можно относить к той или иной исходной комбинации.

Когда мы говорим об исправлении одиночной ошибки, то считаем, что вероятность двойной ошибки в канале связи пренебрежимо мала. Если такая вероятность достаточно велика, то код с d =3 можно использовать для обнаружения двойных ошибок, но при этом он уже исправлять одиночную ошибку не может. Действительно, если в нашем примере была принята комбинация 100,то уже нельзя утверждать, что была передана комбинация 110, т.к. при двойных ошибках это могла быть и искаженная комбинация 001.

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

Корректирующая способность кода тесно связана с кодовым расстоянием:

а) при d =1 ошибка не обнаруживается;

б) при d =2 обнаруживаются одиночные ошибки;

в) при d =3 исправляются одиночные ошибки или обнаруживаются двойные.

В общем случае d=r+s+1, (3-5)

где d – минимальное кодовое расстояние;

r – число обнаруживаемых ошибок в слове;

s – число исправляемых ошибок в слове.

При этом обязательным условием является . Если r=s, то код обнаруживает 2 x или исправляет x ошибок. Так в нашем примере d= 3, и если r=s =1, то код может обнаружить одну ошибку и исправить ее, т.е. x= 1. Если r= 2, s= 0, то код может обнаружить только две ошибки. Как следует из уравнения (3-5), для того чтобы код мог исправить одну ошибку и обнаружить две, необходимо, чтобы d= 2+1+1=4. При том же d= 4 может быть и вариант, когда r= 3, s= 0. Если d= 5, то могут быть уже три варианта: r= s= 2; r= 3, s= 1; r= 4, s= 0.

Если код только обнаруживает ошибки, то d=r+1, т.е. r=d - 1 (3-6)

Если код только исправляет ошибки, то d= 2 s+ 1, т.е. (3-7)

Итак, использование геометрических моделей позволяет просто строить малоразрядные корректирующие коды. Однако при длине кода n > 3 трудно уже воспользоваться геометрической моделью, т.к. такая модель должна быть многомерной. Если еще для n =4 можно вычертить четырехмерный “куб”, так называемый гиперкуб, то для n >4 это практически сделать невозможно. Поэтому для построения многоразрядных помехоустойчивых кодов используются различные правила и методики, к рассмотрению которых мы и перейдем.




Поделиться с друзьями:


Дата добавления: 2014-01-07; Просмотров: 3043; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.037 сек.