Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Лекции / Рекуррентные коды

.doc
Скачиваний:
64
Добавлен:
17.04.2013
Размер:
36.86 Кб
Скачать

Рекуррентные коды.

Рекуррентные ( непрерывные ) цепные коды.

Кодирование каждого ai осуществляется индивидуально.

Рекуррентные коды предназначены в основном для исправления пакетов ошибок.

Операции кодирования и декодирования осуществляются над непрерывной последовательностью символов.

…aj …ai …a5 a4 a3 a2 a1

1. При действии в к.с. ( канал связи ) пачек ошибок данный метод имеет существенные преимущества перед блочными кодами, т. к. предоставляет большие возможности для наиболее полного использования введенной избыточности.

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

При применении рекуррентных кодов достигается усреднение влияния помехи на большую последовательность передаваемых информационных символов.

  1. В рекуррентных кодах, так же как и в блоковых, проверочные символы получаются в результате проведения линейных операций ( чаще всего суммирование по mod2 ) над определенными информационными символами.

В процессе кодирования проверочные символы размещаются между информационными так, чтобы на каждые k непрерывно передаваемых информационных символов приходилось r проверочных.

  1. Структуру рекуррентного кода, размещение проверочных и информационных символов в общий кодовой последовательности рассмотрим на примере цепных кодов.

Цепные коды – простейшие рекуррентные коды, обладающие коэффициентом избыточности : r/n=0.5. Т. е. коды, имеющие одинаковое число информационных и проверочных символов

    1. Корректирующие способности кода определяются параметром, который называется шагом сложения: t.

Шаг сложения расстояние между двумя информационными элементами, суммируемыми по mod 2 для получения проверочных элементов bj.

Рассмотрим процедуры кодирования и декодирования и через основной параметр t определим структуру и основные параметры цепного кода.

Структурная схема кодирующего устройства

…ai+3 ai+2 ai+1 ai… …ai+2 bi+2 ai+1bi+1 ai bi

ai+2t …. ai+t …. ai

  1. Каждый информационный элемент ai участвует в формировании 2х проверочных элементов b­i:

bi-t = ai ai+t

bi-2t = ai-t  ai

Вместе с тем, каждый проверочный элемент формируется двумя информационными ai+2t , ai+t. Т.о.

количество информационных {ai} и проверочных {bi}элементов в кодовой последовательности, поступающей в к. с. – всегда одинаково.

  1. Проверка на наличие ошибки (и корректировке в случае наличия) осуществляется для каждого ai – индивидуально на приемной стороне в декодирующем устройстве.

Структурная схема декодирующего устройства

Примечание: ai, bi – до поступления в к.с.

ai’, bi’ – после к.с., т.е.

с возможными ошибками

Основной принцип проверки – очень прост: формирование bi-“нов и сравнение с выделенными символами: bi’.

Наличие не сравнения является признаком ошибки.

  1. Для цепных кодов ( k=r=1 ) проверка на наличие ошибок осуществляется для каждого ai индивидуально.

Данная проверка проводится в соответствии с формулами:

Проверка элемента ai

L1: сравнение bi-t, нов с bi-t’ => L1= bi-t’  (ai’ + ai+t’) (*)

L2: сравнение bi-2t, нов c bi-2t’ => L2 = bi-2t’  (ai-t’ + ai’) (**)

4. Анализируя полученное выражение, определим алгоритм коррекции и структуру цепного кода.

а.) В корректировке ai участвуют ai+t’, ai-t’, bi-t’, bi-2t’, которые в кодовой пследовательности расположены следующем образом :

…..ai+t bi+t ….. abi …..ai2tbi2t …..ai-2tbi-2t …..

При этом возможны следующие варианты:

а.) ai’ – ошибочен. Тогда это однозначно может быть обнаружено в том случае, если все остальные элементы, входящие в формулу (**) – принять без ошибок.

Тогда: 1.) Признаком того, что ai’ – ошибочен, является: L1=1, L2=1 => F=L1L2=1

2.) Пакет ошибок не должен «накрывать» вместе с ai – ai+t, ai-t, bi-t, bi-2t, а это налагает ограничения на возможную длину пакета ошибок: l  2t.

б.) F=0. Т.е. L1=0 или L2=0 или L1=L2=0.

При этом ai принят правильно, и он проходит без всякой коррекции.

в.) Возможен случай, когда в кодовой последовательности (в выделенном нами выше фрагменте) ошибочными оказались крайние : ai+t и bi-2t (а остальные правильные) – случай начала одной пачки и конца другой. Исходя из формулы (**), имеем F=1 и корректируем ai (по алгоритму п. ai-ого), что является ошибочным. Чтобы не происходило ложного исправления символов – требование к интервалу между пачками ошибок:

Расстояние между последним символом предыдущей пачки ошибок и первым символом следующей пачки ошибок L должно удовлетворять соотношению :

L  3*2t+1 ( 3*2t – длина воспроизводимого фрагмента,

внутри которого осуществляется коррекция ai)

Структура цепного кода.

В качестве конкретного примера построим функциональные схемы кодирующего и декодирующего устройств цепного кода, исправляющего 4-х разрядные пакеты ошибок:

l=4; t=2; L 13

Функциональная схема кодирующего устройства.

Функциональная схема декодирующего устройства.

Исправление ошибок осуществляется в соответствии с выражением (**).

Соседние файлы в папке Лекции