помехозащищенное кодирование

May 19, 2011 08:41


Биты информации передаются обычно пачками - байтами, словами, двойными словами и т.д. Так как есть вероятность сбоя в процессе передачи, к последовательности бит, несущих информацию, добавляют служебный бит. Он никакой информации пользователю не несет, а служит только для гарантии правильности остальных бит.

Например, добавим к восьми информационным один служебный бит. Пусть он будет битом четности, то есть вычисляется по правилу: равен 1 когда количество символов "1" в информационных битах четное, и равен 0 - если нечетное. При таком подходе защита от помех работает следующим образом: приняв посылку, посчитать все 1, включая бит четности; если их количество нечетное, все нормально; если число единиц четное, значит в момент передачи один 0 превратился в 1 или наоборот. Ошибка обнаружена. Сказать в каком бите произошел сбой мы не можем. После обнаружения ошибки можно попросить повторить передачу. Очевидно, такой подход обнаруживает только однократную ошибку; если в момент передачи произошло два сбоя, принятое сообщение будет выглядеть как правильное, не являясь таковым. Сбой может произойти и в служебном бите. Тогда произойдет ложное срабатывание: будет "обнаружена" несуществующая ошибка.

Для обнаружения двойной ошибки нужно добавить еще один служебный бит, и т.д. При достаточном количестве служебных бит можно не только обнаружить, но и исправить ошибку. Существует множество изощренных способов кодирования, гораздо более эффективных, чем контроль четности. Однако все они требуют избыточности: сообщение удлиняется, либо повторяется многократно. Причем, защита от бесконечного числа ошибок невозможна теоретически - при ухудшении качества связи длина сообщения или время передачи стремится к бесконечности. На практике это не требуется: обычно вероятность однократной ошибки самая высокая, двукратной - меньше и т.д. ( dailyscope)

интернет, информация

Previous post Next post
Up