Блочные коды с коррекцией ошибок

Страницы работы

Содержание работы


Cибирский Государственный Университет

телекоммуникаций и информатики

Кафедра  СРС

Реферат

на тему:

«Блочные коды с коррекцией ошибок»

Выполнили: студентки

группы М-12

Шачнева Е.А.

Баркеева К.С.

Проверила: Носкова Н.

Новосибирск 2005

Блочные коды с коррекцией ошибок

     Методы обнаружения ошибок широко применяются на практике в протоколах управления каналами передачи данных, таких, как HDLC, а также в транспорт­ных протоколах, таких, как TCP. В то же время под использованием кодов об­наружения ошибок подразумевается повторная передача блоков данных согласно процедуре ARQ). Для бес­проводных приложений такой подход неприемлем по двум причинам.

1.Уровень ошибок в беспроводном канале может быть довольно высок; в ре­зультате потребуется значительное число повторных передач.

2.В некоторых случаях, особенно в спутниковой связи, задержка распростране­ния сигнала довольно велика по сравнению с временем передачи одного кадра. При большом расстоянии между приемником и передатчиком ошибка в одном кадре приво­дит к необходимости повторной передачи множества кадров.

      Вместо повторной передачи было бы лучше, если бы приемник мог исправлять ошибки в полученном сигнале, используя информацию, содержащуюся в самом сиг­нале. На рис.1 представлена схема реализации этой идеи. С помощью кодера FEC (forward error correction— прямое исправление ошибок) передатчик преобразует каждый k-битовый блок данных в n- битовый блок (n>k), именуемый кодовым сло­вом, который затем передается (в беспроводной связи для передачи используется созданный модулятором аналоговый сигнал). При распространении сигнал может подвергаться воздействию шума, что может привести к появлению ошибочных битов. Приемник демодулирует полученный сигнал, преобразовывая его в строку битов, подобную переданной, но, возможно, с ошибками. Полученный блок данных обрабатывается декодером FEC, в результате возможны такие ситуации.

   1.При отсутствии ошибочных битов вход декодера FEC идентичен исходному кодовому слову, так что на выход декодера поступает исходный блок данных.

   2.Декодер может обнаружить и исправить определенные последовательности ошибок. Поэтому даже если вход декодера отличается от исходного кодового слова, из него можно получить исходные данные.

   3.Некоторые последовательности ошибок могут быть обнаружены декодером, но не могут быть исправлены. В этом случае декодер сообщает о наличии неисправимой ошибки.

   4.Наличие некоторых (обычно довольно редких ) последовательностей ошибок не может быть обнаружено декодером. В результате декодер преобразовывает входной n-битовый блок в k- битовую последовательность, которая отличается от переданной, но которую кодер считает правильной.




Рис.1 Прямое исправление ошибок


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

     В алгоритме FEC к входному k- битовому блоку данных добавляется (n-k) контрольных битов; в результате размер передаваемого блока составляет n бит; все биты исходного k- битового блока содержатся в полученном n-битовом блоке. Для некоторых схем прямого исправления ошибок  входная k-битовая последовательность так преобразовывается в n- битовое кодовое слово, что исходные kбит не фигурируют явно в кодовом слове.

Принципы блочных кодов

Расстоянием Хэмминга d(v1 ,v2) между двумя n-битовыми двоичными последовательностями v1 и v2  называют число несовпадающих разрядов v 1 и v2. Например,  если                                                     v1=011011

                                                            v2 = 110001,

                                                            то d(v1, v2)=3

     Рассмотрим теперь метод блочного кодирования с целью коррекции ошибок. Пусть требуется передать определенное количество k-битовых данных. Вместо передачи каждого блока как последовательности k-бит, преобразуем каждую k-битовую последовательность в уникальное n-битовое кодовое слово.

Пример. Для  k=2 и    n=5 имеем следующее присвоение:

Блок данных     Кодовое слово

00                       00000

01                       00111

10                       11001

11                       11110

Предположим, что кодовое слово было получено в виде последовательности битов 00100. Поскольку эта последовательность не соответствует ни одному из кодовых слов, приемник обнаружил ошибку. Kaк можно её исправить? Точно узнать, какой из блоков данных был передан, невозможно, поскольку шум мог изменить 1,2,3,4 или даже все 5 переданных блоков. Отметим, впрочем, что для преобразования приемлемого кодового слова 00000 в полученную  последовательность достаточно изменения одного бита. Соответственно, для преобразования 00111 в 00100 нужно изменить два бита; 11110 в 00100 — три бита;  11001 в 00100—  четыре бита.  Таким  образом,  можно сделать вывод, что  с наибольшей вероятностью был передан блок 00000,т.е. искомый блок данных -00. Подобное рассуждение и есть логика коррекции ошибки. Используя понятие "расстояние Xэмминга", его можно представить в следующей виде:

Похожие материалы

Информация о работе