prod-1143-1glavax

advertisement
1 параграф: Причины возникновения помех при передаче
данных и способы защиты от них.
При любой передаче данных канал связи подвержен внешним
воздействиям, или же в нем могут происходить внутренние процессы, в
которые
приводят
к
искажению
передаваемой
информации.
Такие
воздействия называются помехами или «шумами». Источники помех могут
быть внешними, например, грозовые разряды или одновременное действие
нескольких близко расположенных однотипных источников. Помехи также
могут возникать из-за внутренних особенностей данного канала, например,
из-за физической неоднородности носителя; процессов затухания сигнала в
линии связи, вызванных большой удаленностью источника и приемника.
Даже слабые шумы могут вызывать искажения передаваемой информации.
В настоящее время, существуют несколько видов зашиты от помех.
Одним из самых эффективных методов защиты от помех является
экранирование каналов связи. Экранирование –
способ защиты от
электромагнитных воздействий с помощью отражающего или поглощающего
материала. Для защиты от внешних помех вокруг сердечника кабеля
располагаются металлические оболочки (экраны). Обычно они представляют
собой сплошную цилиндрическую конструкцию из свинца, алюминия или
стали.
Металлический экран уменьшает энергию электромагнитных волн при
помощи либо поглощения этой энергии проводящей средой, либо при
помощи отражения энергии в месте границы двух сред. Такие проводники,
как,
например,
медь
и
алюминий
обладают
сильной
отражающей
способностью и защищают от электрических полей помех.
Метод экранирования является наиболее эффективным внешним
способом защиты от помех. Помимо него существуют также программные
способы защиты от действия помех во время передачи информации.
2 параграф: Понятие о помехоустойчивом кодировании.
Программные способы защиты от помех при передаче информации
заключаются
в
Помехоустойчивым
понятии
называется
помехоустойчивого
кодирование,
кодирования.
которое
позволяет
обнаруживать, и исправлять ошибки, появившиеся в результате процесса
передачи информации через канал с «шумами». Схема устройства передачи
информации по каналам связи выглядит следующим образом:
Источник
информации
Кодер
Канал
связи
Декодер
Получатель
Информация передается от источника к получателю. На первом этапе
специальное устройство кодер получает информацию от источника,
обрабатывает ее в соответствии с заданными алгоритмами и передает далее
по каналу связи вплоть до декодера. Декодер совершает над полученными
данными операции обратные тем, что были совершены кодером
и
отправляет информацию в конечный пункт – к получателю.
Корректирующиеся
коды
Хемминга
считаются
первыми
помехоустойчивыми кодами. Их разработчик Ричард Хемминг работал в
середине 1940 годов на электромашине Bell Model V в компании Bell labs.
Bell Model V - электромашина, использующая релейные блоки, скорость
оборота которых была низка (1 оборот за несколько секунд). В эту машину
данные вводились посредством перфокарт. Из-за этого были нередки ошибки
при чтении информации с данных перфокарт. В рабочие дни ошибки,
возникаемые
при
работе
машины,
исправлял
оператор-человек
и
перезапускал машину. В выходные дни программа просто завершалась и
запускалась другая. Желая застраховаться от сбоев работы программы и
ускорить процесс обработки данных, он разработал алгоритм, известный
сейчас как код Хемминга, обнаруживающий ошибки в коде.
Обнаружение ошибок в коде — совокупность действий, направленных
на контроль целостности данных при использовании информации или при её
передаче по каналам связи. Исправление ошибок коррекция ошибок —
совокупность методов, направленных на восстановление информации после
её использования из устройства хранения или после приема по каналу связи.
Только для обнаружения ошибок используют коды обнаружения
ошибок, а для нахождения ошибок и их последующего исправления —
корректирующие (помехоустойчивые коды).
При помехоустойчивом кодировании сообщение, передаваемое по
каналу
связи,
состоит
из
информационных
и
проверочных
бит.
Информационные биты составляют, непосредственно, само сообщение,
которое следует передать. Проверочные биты составляют добавочную
проверочную информацию. И тогда становится понятно, что избыточность
можно вычислить по формуле k/(i+k), где i — количество информационных
бит, k —количество проверочных бит.
Как было сказано выше, при помехоустойчивом кодировании в код
добавляют избыточную информацию, которую используют при чтении,
чтобы обнаружить и по возможности исправить ошибки. Количество,
которое может исправить помехоустойчивых код, ограничено и зависит от
применяемого кода. Коды обнаружения ошибок, упомянутые выше,
работают по очень схожему принципу с корректирующими кодами, но могут
лишь обнаружить ошибку без исправления. Все коды, обнаруживающие
ошибки, можно приспособить для корректирования ошибок, но при этом они
смогут исправить меньшее количество ошибок, чем найдут.
Помехоустойчивые коды можно разделить на две группы по способу
работы с данными: на блоковые и сверточные. Блоковые коды делят
информацию на фрагменты постоянной длины и работают с каждым
фрагментом отдельно. Сверточные коды работают с данными как с
непрерывным потоком. Коды Хемминга относятся к блоковым кодам.
3 параграф: Способы обнаружения ошибок при передаче
информации. Расстояние Хемминга.
Избыточность в помехоустойчивом коде является «ценой», которую
приходиться платить за получение достоверной информации.
Говорить о лучшем или худшем корректирующем коде тяжело.
Хороший помехоустойчивый код должен быть способен исправлять как
можно большее число ошибок, иметь как можно меньшую избыточность и
иметь простые алгоритмы кодирования и декодирования. Нетрудно заметить,
что отчасти эти требования противоречат друг другу, поэтому нет лучшего
или худшего кода, а их существует большое количество и каждый
приспособлен решать своего рода задачи.
Рассмотри самый простой алгоритм корректирующего кода – метод Nкратного дублирования. Метод заключается в дублировании каждого бита
данных N раз.
Рассмотрим
пример
трехкратного
дублирования.
Предположим,
изначально передавалась информация: 1010 (число 10). Кодер, действуя по
заданному алгоритму (утроение каждого бита), отправил по каналу связи к
декодеру данное сообщение: 111000111000. В данном сообщении 1,4,7,10 –
информационные, а 2,3,5,6,8,9,11,12 – проверочные. Предположим, что после
передачи данных по каналу связи, полученные данные выглядят следующим
образом: 011000111000. Совершенно очевидно, что во первый бит принятого
сообщения не соответствует первому биту отправленного сообщения. в
таком случае декодер сравнивает значение информационного бита и двух
следующих
за ним проверочных. Значение проверочных бит (2,3)
соответствует единице, а их значение должно соответствовать значению
информационного бита (1). В таком случае декодер при обработке кода
меняет значении первого информационного бита и удаляет проверочные.
Тогда конечное сообщение (1010) соответствует тому, которое передавали
(1010). У метода N-кратного дублирования есть существенные недостатки:
избыточность при таком методе увеличивается в N раз, и соответственно во
столько же раз уменьшается скорость передачи информации.
Еще один базовый метод – метод с применением контрольной суммы.
Рассмотрим, его алгоритм на примере. Предположим, нам следует передать
все тоже сообщение: 1010 (число 10). Сначала сообщение делится на
фрагменты по несколько бит, разделим наше сообщение на 2 фрагмента по 2
бита в каждом. Получаться фрагменты: 10 и 10. Кодер вычислил сумму для
обоих фрагментов, которая равна сумме значений всех битов фрагмента, и
добавил последний бит значения этой суммы к передаваемой информации.
Для обоих наших фрагментов контрольная сумма равна единице (1+0=1).
Следовательно, отправляемые сообщения будут выглядеть до передачи
следующим образом: 101 и 101. В момент приема сообщения уже декодер
опять вычисляет контрольную сумму обоих фрагментов и сравнивает.
Предположим, в обоих случаях произошла ошибка. Принятые фрагменты
выглядят следующим образом: 00 и 11. Декодер, считая контрольную сумму
для первого и второго фрагмента получает значения равные 0 (0+0=0) и 10
(1+1=10! Двоичная система) соответственно. Значения последнего бита
контрольной суммы для обоих фрагментов в данном случае не соответствуют
значениям последних бит контрольной суммы до передачи по каналу. (101 и
100 для обоих случаев) Следовательно, можно смело говорить об ошибке
при передачи. Исправление ошибок при применении метода контрольной
суммы происходит «дорогостоящим методом» - повторной передачей данных
по каналу связи. Контрольные биты обычно позволяют восстановить один
потерянный бит при условии, что известно, на какой позиции в коде он
должен находиться и, что в остальных битах нет ошибки. Если неизвестно,
на какой позиции есть ошибка, нужно перебрать все возможные варианты
(например, для 2-битного кода номера их будет 2), а из них выбрать наиболее
правдоподобные. Просто исправление контрольной цифры может привести
только к большей ошибке, никак не связанной с математикой.
Еще один базовый способ поиска ошибок – метод с использованием
бита четности. Алгоритм его работы почти такой же, как и для метода с
применением контрольной суммы. Различие только в том, что добавляется
кодером к исходному сообщению. В случае методом с битами четности, в
последний бит записываются разные значения (0 или 1) в зависимости от
того, кратна ли сумма значений всех бит или нет. И такой же алгоритм
происходит в декодере. Все остальные части алгоритма совпадают.
Для удобства описания и работы с методами обнаружения ошибок в
коде очень часто используют понятие расстояния Хемминга. Расстояние
Хемминга – количество позиций, в которых соответствующие биты в коде
одинаковой длины различны.
Пример: Рассмотрим двоичные числа 10101010 и 10101111. Для
простоты сравнения запишем одно число под другим. Далее, если значения
бита нижнего числа совпадает с значением бита предыдущего, то под ним
запишем «+», если нет, то – «-». Таблица будет выглядеть следующим
образом:
1 0 1 0 1 0 1 0
1 0 1 0 1 1 1 1
+ + + + + - + Количество несовпадающих битов (кол-во минусов) равно двум. Два –
это и является расстоянием Хемминга.
Download