Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ПДС с поиском.doc
Скачиваний:
311
Добавлен:
15.03.2015
Размер:
17.88 Mб
Скачать

8.4.6. Наиболее известные сверточные коды

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

Затем при данном просвете df минимизируется число путей или число ошибочных би­тов данных, которые представляют путь. Процедуру выбора можно усовершенство­вать, рассматривая количество путей или ошибочных битов при df+1, df + 2 и т.д., пока не останется только один код или класс кодов. Список наиболее известных ко­дов со степенью кодирования 1/2 при К, равном от 3 до 9, и со степенью кодирования 1/3 при К, равном от 3 до 8, соответствующих этому критерию, был составлен Оденуальдером (Odenwalder) и приводится в табл. 8.4. Векторы связи в этой таблице представляют наличие или отсутствие (1 или 0) соединения между соответствующими регистрами сверточного кодера, причем крайний левый элемент соответствует край­нему левому разряду регистра кодера. Интересно, что эти соединения можно обратить (заменить в указанной выше схеме крайние левые на крайние правые). При декоди­ровании по алгоритму Витерби обратные соединения приведут к кодам с точно таки­ми же пространственными характеристиками, а значит, и с такими же рабочими ха­рактеристиками, как показаны в табл. 8.4.

8.5. Задачи

1. Для передачи речи в сетях мобильной связи GSM используется оптимальный сверточный код с порождающими многочленами g1(x) =1+х34 и g2(x) =1+х+х34, имеющий свободное расстояние, равное dfree= 7 [7]. Построить схему кодера и определить число его состояний. Сколько метрик должен вычислять декодер на каждом шаге декодирования? Сколько выживших путей выбирается для продолжения декодирования?

2. Для передачи данных в сети GSM используется сверточный код с порождающими многочленами g1(x) =1+х34, g2(x) =1+х+х34, g1(x) =1+х24 и g3(x) =1+ х+х234, имеющий свободное расстояние, равное dfree= 12 [7]. Построить схему кодера и определить число его состояний. Сколько метрик должен вычислять декодер на каждом шаге декодирования? Сколько выживших путей выбирается для продолжения декодирования?

3. Наиболее широко используемый до настоящего времени сверточный код это, так называемый стандартный код НАСА США [3]. Он характеризуется следующими данными: k/n=1/2, К=7, dfree=10, вектора связи:1001111 и 1101101. Построить схему кодера и определить число его состояний.

4. Построить порождающую матрицу для каждого кода из трех предыдущих задач.

Тема 9. Некоторые специальные классы кодов. Составные коды

9.1. Коды для исправления пачек ошибок

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

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

Вполне понятно, что некоторый (n, k) – код обладает способностью обнаруживать или исправлять пачки ошибок длины l и менее тогда и только тогда, если его кодовые комбинации не содержат в своем составе пачек данной длины.

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

Во-первых, необходимо, чтобы такой код не содержал пачек длины l и менее. Определим, когда это возможно. Рассмотрим разложение группы, составленной из п – элементных векторов не смежные классы по подгруппе, образующей данный (n, k) – код. Если кодовые комбинации не содержат пачек длины l и менее, то в одном и том же смежном классе не могут существовать 2 комбинации, в которых, начиная с одного и того же разряда, размещены пачки длины l и менее, так как в противном случае их сумма, являющаяся кодовой комбинацией, должна содержать пачку длины меньшей l.

Так как для некоторого фиксированного разряда кодовой комбинации можно указать 2l различных комбинаций, которые в силу сказанного выше должны принадлежать различным смежным классам, то число смежных классов не может быть меньшим 2l.

Таким образом, доказано следующее свойство групповых кодов.

Свойство 9.1. Групповой код, обнаруживающий все пачки ошибок длины l и менее, должен содержать, по крайней мере, l проверочных символов.

В случае циклического кода эта нижняя граница для числа проверочных символов является точной. Действительно, любая кодовая комбинация циклического кода может быть представлена как произведение гдеg(x) – порождающий многочлен кода степени n-k. Значит каждая кодовая комбинация циклического кода содержит или пачку длины nk+1 (комбинации ) или линейную комбинацию циклически сдвинутых пачек длиныnk+1, сумма которых всегда дает пачку большей длины, т.е. справедливо следующее свойство.

Свойство 9.2. Любой циклический (n, k) – код обнаруживает все пачки ошибок длины (n - k) и менее.

В случае исправления пачек ошибок можно аналогичными рассуждениями получить нижнюю границу для числа проверочных элементов. Действительно, пусть известно, что групповой (n, k) – код исправляет все пачки ошибок длины b. Значит общее число смежных классов в таблице декодирования должно быть не меньше, чем число возможным пачек длины b. В комбинации длины п возможно всего п пачек длины 1, п-1 пачек длины 2, 2(п-2) пачек длины 3 и т.д. Общее число пачек длины b в комбинации длины п равно . Таким образом, число смежных классов равно

Используя формулу для арифметико-геометрической прогрессии, данное выражение прообразуем к виду

откуда, логарифмируя по основанию 2, получаем . Итак, справедливо следующее свойство групповых кодов.

Свойство 9.3. Число проверочных элементов (n, k) – кода, исправляющего все пачки ошибок длины b и менее равно самое меньшее .

Одним из самых обширных из известных в настоящее время классов кодов, специально предназначенных для исправления пачек ошибок, являются коды Файра.

Коды Файра – циклические коды, порождающий многочлен которых имеет вид , гдеР(х) – неприводимый многочлен степени r, входящий в разложение и не являющийся сомножителем никакого двучлена меньшей степени.

Необходимо при этом, чтобы с не делилось на е. Длина кодовой комбинации п равна наименьшему общему кратному чисел е и с, т.к. только в этом случае g(x) делит

Число проверочных элементов равно , а число информационных. В [1] показано, что коды Файра исправляют любую одиночную пачку ошибок длиныbили меньше и одновременно обнаруживают любую пачку ошибок длиныили меньше, если выполняются соотношенияиЕсли применять эти коды только для обнаружения ошибок, то можно обнаружить любую комбинацию из двух пачек ошибок, длина наименьшей из которых не превосходитr, а сумма длин которых не превосходитс+1, а так же и любую одиночную пачку ошибок, длина которой не превосходит числа проверочных символовс+r.

Указанные свойства кодов Файра обусловлены видом порождающего многочлена. Наличие в g(x)сомножителядостаточно для обнаружения одиночной пачки ошибок длиныс.Дополнительная информация, требуемая для определения положения пачки ошибок, обеспечивается сомножителемР(х).

Пример 9.1. Код Файра порождается многочленом Определить параметры кода и его корректирующие свойства.

Здесь r=3, е=7, с=4, n-k=r+c=7;

Итак, порождает код Файра (28,21). Данный код может исправить пачки ошибок длиныb=2 и b=1, а также дополнительно обнаружить при этом пачки длины b=3 и b=4 соответственно. Если использовать этот код только для обнаружение ошибок, то модно обнаружить любую одиночную пачку ошибок длины 7 и комбинацию из двух пачек ошибок, из которых одна не превосходит 3, а сумма длин обоих равна 5 или менее.

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

и

.

Для кодов с обнаружением пачек ошибок:

и

На основании этих формул определяется эффективность кодов. Для случая исправления и обнаружения пачек ошибок

.

Для случая обнаружения пачек ошибок

.

Из определения кодов Файра вытекает, что при с=1 они совпадают с кодами Хэмминга, имеющими dmin=4, если при этом .