КАТЕГОРИИ: Архитектура-(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) |
Обеспечение надежности передачи данных
К. Шеннон доказал теоретическую возможность передачи сообщения без потерь информации по реальным каналам, если при этом выполнен ряд условий. При передаче информации по каналу с шумом всегда имеется способ кодирования, при котором сообщение будет передаваться со сколь угодно высокой достоверностью, если скорость передачи не превышает пропускной способности канала. Помехоустойчивость достигается за счет повышения избыточности кода (т.е. увеличения длины кодовой цепочки); безусловно, возрастает время передачи, что следует считать платой за надежность. При помехоустойчивом кодировании сообщения для канала связи могут ставиться две задачи: • кодирование обеспечивает только установление факта искажения информации - в этом случае исправление производится путем ее повторной передачи; • кодирование позволяет локализовать и автоматически исправить ошибку передачи. Общим условием является использование только равномерных кодов. Надежность передачи при кодировании помехоустойчивым кодом обеспечивается тем, что вместе с разрядами сообщения Кс передается Кк контрольных разрядов. Избыточность сообщения для реального канала L характеризуется относительной величиной: L = (Кс + Кк)/Кс = 1 + (Кк/Кс). Относительная избыточность сообщения - это характеристика, показывающая, во сколько раз требуется удлинить сообщение, чтобы обеспечить его надежную (безошибочную) передачу (хранение).
1. Коды, обнаруживающие ошибку Пусть имеется цепочка информационных бит длиной Кс. Добавим к ним один контрольный бит Кк, значение которого определяется тем, что новая кодовая цепочка из (Кс + 1) бит должна содержать четное количество единиц - по этой причине такой контрольный бит называется битом четности. Например, для информационного байта 01010100 бит четности будет иметь значение 1, а для байта 11011011 бит четности равен 0. Избыточность сообщения L = 1 + (1/Кс)
2. Коды, исправляющие одиночную ошибку Минимальная избыточность кода, исправляющего одиночную ошибку определяется: 1) Н = -p*log2p - (1 - p) *log2(1 - р) – неопределенность передачи одного бита сообщения; где р - вероятность появления ошибки в сообщении. Для восстановления информационного содержания сообщения, очевидно, следует дополнительно передать количество информации не менее величины ее потерь, т.е. вместо передачи каждого 1 бит информации следует передавать (1 + Н) бит. В этом случае избыточность сообщения составит Lmin =(1 +H)/1 = 1 – p* log2p - (1 - p) *log2(1 - р) В 1948 г. Р. Хемминг предложил код, устраняющий одиночные ошибки. Основная идея состоит в добавлении к информационным битам нескольких битов четности, каждый из которых контролирует определенные информационные биты. Если пронумеровать все передаваемые биты, начиная с 1 слева направо (стоит напомнить, что информационные биты нумеруются с 0 и справа налево), то контрольными (проверочными) оказываются биты, номера которых равны степеням числа 2, а все остальные являются информационными. Например, для 8-битного информационного кода контрольными окажутся биты с номерами 1, 2, 4 и 8:
Номера кода Хеминга 1 2 3 4 5 6 7 8 9 10 11 12 11 10 9 8 7 6 5 4 3 2 1 0 Номера информационных битов Контрольные разряды Номера контролируемых битов для каждого проверочного приведены в таблице.
В перечень контролируемых битов входит и тот, в котором располагается проверочный. При этом состояние проверочного бита устанавливается таким образом, чтобы суммарное количество единиц в контролируемых им битах было бы четным. Легко усматривается принцип выделения контролируемых битов в таблице: для любого номера проверочного бита (n), начиная с него, п бит подряд оказываются проверяемыми, затем - группа n непроверяемых бит; далее происходит чередование групп. При построении кода начинают со старшего проверочного разряда кода сообщения. Пример. Закодировать по коду Хемминга сообщение 01101101. 1 шаг – формируется значение 8-го старшего для данного кода значение контрольного разряда _ _ 0_110 ÿ 1101. Значение 8 разряда будет 1, т.к. в исходном коде значение 8 – 11 разрядов при сложении по модулю два дают 1. 2 шаг – формирование 4-го контрольного разряда по исходному коду011011101. Оно будет равно 1. Код станет 0111011101. 3 шаг – определение значение второго контрольного разряда. Оно будет равно 0. 4 шаг – значение первого контрольного разряда равно 0. Значение передаваемого кода будет 000111011101. Пусть вместо указанной выше последовательности 000111011101 на приемном конце принята последовательность, у которой в пятом разряде вместо 1 принят 0. При проверке анализируются проверочные разряды, начиная с младшего: 1 шаг – значение первого проверочного разряда 1 – не верно, что означает ошибку в одном из нечетных разрядов; 2 шаг – значение второго проверочного разряда 0 – верно, что означает отсутствие ошибки в 3, 7 и 11 разрядах кода (остаются 5 и 9разряды); 3 шаг – значение четвертого проверочного разряда 1 - не верно, что означает отсутствие ошибки в 9 разряде и наличие ошибки в 5 разряде. Номер бита, содержащего ошибку (5), равен сумме номеров контрольных битов, указавших на ее существование (1 и 4) - это не случайное совпадение, а общее свойство кодов Хемминга. На основании сказанного можно сформулировать простой алгоритм проверки и исправления передаваемой последовательности бит в представлении Хемминга: (a) произвести проверку всех битов четности; (b) если все биты четности верны, то перейти к п.(е); (c) вычислить сумму номеров всех неправильных битов четности; (d) инвертировать содержимое бита, номер которого равен сумме, найденной в п.(с); (e) исключить биты четности, передать правильный информационный код. Избыточность кодов Хемминга для различных длин передаваемых последовательностей приведена ниже:
Безусловно, данный способ кодирования требует увеличения объема памяти компьютера приблизительно на одну треть при 16-битной длине машинного слова, однако, он позволяет автоматически исправлять одиночные ошибки. Поэтому, оценивая время наработки на отказ, следует исходить из вероятности появления парной ошибки в одной последовательности (т.е. сбои должны произойти в двух битах одновременно). Расчеты показывают, что для указанного ранее количества ячеек в памяти объемом 1 Мбайт среднее время появления ошибки составляет более 80 лет, что, безусловно, можно считать вполне приемлемым с практической точки зрения.
Дата добавления: 2014-01-06; Просмотров: 1559; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |