КАТЕГОРИИ: Архитектура-(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) |
Корректирующих однократные ошибки
В зависимости от требуемой разрядности кода записывается единичная матрица (n n) С помощью этой матрицы можно записать все комбинации n-разрядного оптимального кода. Чтобы образовать на основании этой матрицы код, корректирующий однократную ошибку, необходимо расширить ее до m разрядов, т. е. (n n) → (n m). Для этого справа приписывается матрица контрольных разрядов, содержащая k столбцов (m = n + k).
Полученная матрица называется производящей. Путем суммирования по модулю 2 строк этой матрицы можно получить равномерный избыточный код. В этом коде выделены информационная и сервисная части, поэтому такой код называется систематическим. К матрице А предъявляются следующие требования:
Передаваемые кодовые комбинации на приемной стороне должны быть подвержены контролю с целью выявления наличия или отсутствия ошибки в любом месте кодовой комбинации. Для этого на приемной стороне используют проверочную матрицу, задача которой состоит в обнаружении ошибки и указании ее местоположения. Проверочная матрица строится следующим образом: к единичной матрице размером k k слева приписывается матрица из n столбцов и k строк (n k). При этом строка приписываемой матрицы является столбцом дополнительной матрицы из матрицы A.
К матрице П предъявляется следующее требование. Сумма единиц по модулю 2 любой строки проверочной матрицы должна быть четным числом (или во всех строках нечетная), т.к. сумма по модулю 2 равна нулю при четности. Это является условием обнаружения и локализации ошибки в любой кодовой комбинации. Локализация ошибки основана на индивидуальной кодовой комбинации (опознавателях), и эта кодовая комбинация представляется в виде f0 f1 f2 … fk-1 (количество контрольных разрядов) Пример: требуется построить систематический код, позволяющий обнаружить ошибочное отображение любого числа от 0 до 9 на семисегментном индикаторе и исправить его. Согласно условию задачи количество отображенных чисел (сообщений) М = 10. Для представления этих чисел n = 4, k = 3. Составим производящую матрицу. Выполняется условие: не менее (d-1) единиц. На основании этой матрицы можно построить 16 кодовых комбинаций с разрядностью . Составим 10 кодовых комбинаций, которые будут необходимы для индикации требующихся цифр. Пусть это будут следующие комбинации: Первые четыре кодовые комбинации – это строки матрицы А. Последние 6 кодовых комбинаций являются суммами строк по модулю 2, соответственно: , , , , , . Строим проверочную матрицу Проверочная матрица показывает, что k0 контролирует 1,2,3 разряды, k1 – 0,2,3 разряды, k2 – 0,1,3 разряды. На основании проверочной матрицы можно составить уравнения кодов-опознавателей местоположения ошибки: (*) Последовательность f0 f1 f2 – является кодом ошибочной или безошибочной комбинации Если кодовая комбинация не содержит ошибок, то согласно (*) все позиции будут содержать нули, следовательно, получится код f0 f1 f2 = 0 0 0. Рассмотрим подчеркнутую кодовую комбинацию 1 0 1 0 1 0 1 и начнем последовательно вводить ошибки.
Вводим ошибку в разряд a0 и получаем код опознавателя ошибки в этом разряде: , f0 f1 f2 = 0 1 1. Затем вводим ошибку в разряд а1 и получаем код опознавателя ошибки в этом разряде; затем в вводим ошибку а2 и получаем код опознавателя ошибки в этом разряде и т.д. Например, ошибка в разряде а3: , f0 f1 f2 = 1 1 1 В итоге получаем таблицу кодов опознавателей ошибок: Проверим получившийся результат. Пусть передали комбинацию 1000011, а получили 100 1 011. Определяем код опознавателя: , f0 f1 f2 = 1 1 1 следовательно, ошибка в разряде а3 . Недостатком такого способа является то, что коды опознавателей ошибок не соответствуют десятичным числам.
Дата добавления: 2015-07-02; Просмотров: 374; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |