WWW.DISSERS.RU

БЕСПЛАТНАЯ ЭЛЕКТРОННАЯ БИБЛИОТЕКА

   Добро пожаловать!


Pages:     || 2 | 3 | 4 | 5 |
МИНИСТЕРСТВО ОБЩЕГО И ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ РОССИЙСКОЙ ФЕДЕРАЦИИ Санкт-Петербургский государственный университет аэрокосмического приборостроения Г. И. Никитин П О М Е Х О У С Т О Й Ч И В Ы Е Ц И К Л И Ч Е С К И Е К О Д Ы Учебное пособие Санкт-Петербург 2003 2 Никитин Г. И.

Помехоустойчивые циклические коды: Учеб. пособие/СПбГУАП.

В пособии даётся классификация разновидностей, характеристик и параметров корректирующих кодов, изложены принципы построения, формирования и обработки помехоустойчивых циклических кодов, их определение, свойства и эффективность, а также реализация кодирующих и декодирующих устройств этих кодов на базе линейных переключательных схем. Приводятся примеры применения циклических кодов и линейных переключательных схем в радиотехнических системах, в том числе в космических системах передачи информации. Рассмотрен порядок выполнения лабораторной работы " Циклические коды".

Пособие предназначено для студентов, изучающих специальность "Радиотехника".

3 Список основных сокращений АКФ - автокорреляционная функция АРБ - аварийный радиобуй АТС - автоматическая телефонная станция БРК - бортовой радиокомплекс ВКФ - взаимнокорреляционная функция ДУ - декодирующее устройство ЗНД - защита от несанкционированного доступа ЗУ - запоминающее устройство ИКАО - Международная организация гражданской авиации ИМО - Международная морская организация ИС - источник сообщений ИСЗ - искусственный спутник Земли ИЦСС - интегрально-цифровые системы связи КЭАТС - квазиэлектронные АТС КУ - кодирующее устройство Коды:

БЧХ - Боуза-Чоудхури-Хоквингема РС - Рида-Соломона ЦК - циклические коды НДК - натуральный двоичный код СДК - симметричный двоичный код КПВ - код с постоянным весом КПЧ - код с проверкой на чётность Л П С - линейная переключательная схема МККТТ - Международный консультативный комитет по телефонии и телеграфии ММП - метод максимального правдоподобия ОКС - общий канал сигнализации ОФМ - относительная фазовая модуляция ПС - получатель сообщений ПСП - псевдослучайная последовательность П П И - пункт приёма информации ППРЧ - программная перестройка рабочих частот СМД - синдромный метод декодирования СПД - система передачи данных СР - сдвигающий регистр ТИ - тактовый импульс ЦС - центр системы ЧВМ - частотно-временная матрица ЭМС - электромагнитная совместимость Лабораторная работа № “ИССЛЕДОВАНИЕ ЦИКЛИЧЕСКИХ И БЧХ-КОДОВ” ЦЕЛЬ РАБОТЫ: изучение принципов помехоустойчивого кодирования, ознакомление с циклическими и БЧХ-кодами, с методами кодирования и декодирования с использованием линейных переключательных схем на примере циклических кодов (15,k) и БЧХ-кода (15,7).

ВВЕДЕНИЕ В настоящее время, в связи с многократно возросшими объёмами передаваемой и сохраняемой информации, ужесточились требования к её достоверности. Одним из самых перспективных методов решения этой проблемы является помехоустойчивое кодирование на основе корректирующих кодов. В последнее время коды, исправляющие ошибки, нашли применение во многих системах передачи и хранения информации. Наиболее известные из них – это сотовые системы связи, спутниковая спасательная система КОСПАС — САРСАТ, система глобальной морской связи ИНМАРСАТ, различные системы спутниковой телефонной связи, накопители информации на магнитных дисках, система звукозаписи на компакт-дисках и др. Во всех вышеприведённых примерах систем с помехозащищённой обработкой информации используются наиболее простые и эффективные циклические корректирующие коды, которые, наряду с простотой кодирования и декодирования, отличаются достаточно большой корректирующей способностью. Изучению этих кодов посвящена лабораторная работа.

1. МЕТОДИЧЕСКИЕ УКАЗАНИЯ ПО ПОДГОТОВКЕ К ЛАБОРАТОРНОЙ РАБОТЕ Для выполнения лабораторной работы студенты должны предварительно изучить раздел 1 настоящего методического руководства и получить у преподавателя допуск к работе.

1.1. Классификация корректирующих кодов С классификацией корректирующих кодов студенты уже знакомы по материалам, приведённым в ЛР №3. В связи с этим напомним только основные положения, касающиеся циклических кодов.

Все корректирующие коды можно разделить на два класса: блочные и непрерывные.

Блочные коды — коды, в которых каждому сообщению (или элементу) сопоставляется блок из n символов (кодовый вектор длиной n). Операции кодирования и декодирования в каждом блоке производятся отдельно.

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

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

Разделимые коды предусматривают возможность чёткого разграничения информационных и проверочных символов.

Неразделимые коды не предусматривают такой возможности и к ним относятся, например, коды с постоянным весом (КПВ).

Разделимые коды делятся, в свою очередь, на систематические (линейные или групповые) и несистематические (нелинейные).

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

Кроме того, в систематических кодах информационные символы, как правило, не изменяются при кодировании и занимают определённые заранее заданные места. Проверочные символы вычисляются как линейная комбинация информационных, откуда и возникло другое наименование этих кодов — линейные. Для систематических кодов принимается обозначение [n, k] - код, где k — число информационных символов в кодовой комбинации, n — общее число символов в коде.



Несистематические коды не обладают отмеченными выше свойствами и применяются значительно реже, чем систематические, в частности, в несимметричных каналах связи. К этому классу кодов относятся такие, например, коды как КПВ, итеративные, комбинационные и антифединговые [3].

Циклические коды составляют большую группу наиболее широко используемых на практике линейных, систематических кодов. Их основное свойство, давшее им название, состоит в том, что каждый вектор, получаемый из исходного кодового вектора путём циклической перестановки его символов, также является разрешённым кодовым вектором. Принято описывать циклические коды (ЦК) при помощи порождающих полиномов G(Х) степени r = n — k, где r — число проверочных символов в кодовом слове.

В связи с этим ЦК относятся к разновидности полиномиальных кодов.

Операции кодирования и декодирования ЦК сводятся к известным процедурам умножения и деления полиномов. Для двоичных кодов эти операции легко реализуются технически с помощью линейных переключательных схем (ЛПС), при этом получаются относительно простые схемы кодеков, в чём состоит одно из практических достоинств ЦК.

Среди циклических кодов особое место занимает класс кодов, предложенных Боузом и Чоудхури и независимо от них Хоквингемом. Коды Боуза—ЧоудхуриХоквингема получили сокращённое наименование БЧХ- коды.

БЧХ- коды являются обобщением кодов Хемминга на случай исправления нескольких независимых ошибок (gи >1). Частными случаями БЧХ- кодов являются коды Файра, предназначенные для обнаружения и исправления серийных ошибок ("пачек" ошибок), код Голея - код, исправляющий одиночные, двойные и тройные ошибки (dmin=7), коды Рида-Соломона (РС- коды), у которых символами кода являются многоразрядные двоичные числа.

1.2. Полиномиальное определение циклических кодов и операции с ними Циклические коды являются частным случаем систематических, линейных [n, k]кодов. Название ЦК получили из-за своего основного свойства: циклическая перестановка символов разрешённой кодовой комбинации даёт также разрешённую кодовую комбинацию. При циклической перестановке символы кодового слова перемещаются слева направо на одну позицию, причем крайний справа символ переносится на место крайнего левого.

Если, например, А1 - 101100, то разрешённой кодовой комбинацией будет и А2 - 010110, полученная циклической перестановкой. Отметим, что перестановка производится вместе с проверочными символами, и по правилам линейных кодов сумма по модулю 2 двух разрешённых кодовых комбинаций даёт также очередную разрешённую кодовую комбинацию.

Описание ЦК связано с представлением кодовых комбинаций в виде полиномов (многочленов) фиктивной переменной "X". Для примера переведём кодовое слово А1 = 101100 в полиномиальный вид 6 5 4 3 2 i к о д 1 0 1 1 0 При этом А1(X) = 1 · X5 + 0 · X4 + 1 · X3 + 1 · X2 + 0 · X1 + 0 · X0 = X5 + X3 + X2.

Действия с кодовыми векторами, представленными в виде полиномов, производятся по правилам арифметики по модулю 2, в которой вычитание равносильно сложению. Так, из равенства Хn -1 = 0 получаем Хn =1. Прибавив к левой и правой частям по единице, имеем Хn + 1 = 1 1= 0. Таким образом, вместо двучлена Хn -1 можно ввести бином Хn +1 или 1 + Хn, из чего следует, что Хk Хk = Хk (1 1) = 0 и при последующих операциях с полиномами необходимо вычёркивать пары фиктивных переменных X с одинаковыми степенями.

Приведём далее порядок суммирования (вычитания), умножения и деления полиномов с учётом того, что операция суммирования осуществляется по модулю 2. В примерах используем вышеприведённые кодовые комбинации А1(X) = X5 + X3 + X2 и А2(X) = X4 + X2+ X.

Суммирование (вычитание):

А1 + А2 = А1 - А2 = X5 + X4 + X3 + X2 + X2+ X = X5 + X4 + X3+ X или А1 А2 _ 111010 = X5 + X4 + X3+ X.

Умножение:

А1 А2 = ( X5 + X3 + X2 ) ( X4 + X2+ X) = X9 + X7 + X6+ X7 + X5 + + X4 + X6 + X4 + X3= X9 + X5 + X3 = 1000101000.

AДеление:

A X5 + X3 + X2 X4 + X2+ X - —————— X5 + X3 + X2 X —————— 0 0 0 - остаток при делении R(X) = 0.

Из последнего примера следует, что при циклическом сдвиге вправо на один разряд необходимо исходную кодовую комбинацию поделить на X, а умножение на X эквивалентно сдвигу влево на один символ.

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

1.3. Порождающие полиномы циклических кодов Формирование разрешённых кодовых комбинаций ЦК Bi (X) основано на предварительном выборе так называемого порождающего (образующего) полинома G(X), который обладает важным отличительным признаком: все комбинации Bi (X) делятся на порождающий полином G(X) без остатка, т. е.

Bi( X ) = Ai( X ) ( при остатке R( X ) = 0 ), (4.1) G( X ) где Аi(Х) — информативный полином (кодовая комбинация первичного кода, преобразуемого в корректирующий ЦК).

Поскольку, как отмечалось выше, ЦК относятся к классу блочных разделимых кодов, у которых при общем числе символов n число информационных символов в Аi(Х) равно k, то степень порождающего полинома определяет число проверочных символов r = n - k.





Из этого свойства следует сравнительно простой способ формирования разрешённых кодовых комбинаций ЦК — умножение комбинаций информационного кода Аi(Х) на порождающий полином G(X):

Bi (X) = Ai (X)·G(X). (4.2) В теории циклических кодов доказывается, что порождающими могут быть только такие полиномы, которые являются делителями двучлена (бинома) Xn+1:

n X += H( X ) ( при остатке R( X ) = 0 ). (4.3) G( X ) Возможные порождающие полиномы, найденные с помощью ЭВМ, сведены в обширные таблицы. Так, в [6] приведены таблицы G(X) с записью полиномов в восьмеричной системе счисления (mod 8). В этом случае весовые коэффициенты ki представляют три двоичных знака в соответствии со следующим кодом:

0 - 000 2 - 010 4 - 100 6 - (4.4) 1 - 001 3 - 011 5 - 101 7 - Двоичные символы являются весовыми коэффициентами порождающих полиномов, коэффициенты восьмеричной системы счисления расположены слева от них с учётом того, что 0 ki 7 (при mod 8). Например, 3425 обозначает многочлен 10-й степени, В двоичной записи числу 3425 (mod 8) эквивалентно число 011100010101 и соответствующий многочлен равен X10 + X9 + X8 + X4 + X2 + 1. Как видно из этого примера, восьмеричная система счисления для записи многочленов выбрана, в частности, из соображений экономии длины записи (бумаги) в три раза при больших объёмах табулированных значений, что подчёркивает известный недостаток двоичной системы счисления.

Некоторые из порождающих полиномов приведены в табл. 1.

Следует отметить, что с увеличением максимальной степени порождающих полиномов r резко увеличивается их количество. Так, при r = 3 имеется всего два полинома, а при r = 10 их уже несколько десятков.

Первый порождающий полином минимальной степени r=1, удовлетворяющий условию (4.3), формирует код с проверкой на чётность при двух информативных символах и одном проверочном, обеспечивающем обнаружение однократной ошибки, поскольку минимальное кодовое расстояние dmin= 2. В общем случае коэффициент избыточности КПЧ минимален:

r = =, (4.5) n n а относительная скорость кода – максимальна и равна k n -Bk = =, (4.6) n n В связи с этим КПЧ иногда называют быстрым кодом.

Таблица r-степень ПорождаюЗапись поли- Запись поли n k Примечание полинома щий полином нома по mod 2 нома по mod G(X) G(X) Код с проверкой на 1 X+1 11 3 3 чётность (КПЧ) 2 X2+X+1 111 7 3 1 Код с повторением Классический код 3 X3+X2+1 1101 13 7 Хемминга X3+X+1 1011 15 7 Классический код X4+X3+1 11001 31 15 Хемминга 4 X4+ X+1 10011 23 15 Коды ФайраX4+X2+X+1 10111 27 7 Абрамсона X4+X3+X2+1 11101 35 7 Классический код X5+X2+1 100101 45 31 Хемминга 5 X5+X3+1 101001 51 31...

... Код с повторением X6+X5+X4+ 1111111 177 7 6 +X3+X2+X1+...

...

Второй порождающий полином степени r =2, являющийся "партнёром" первого G(X) = X+ 1 при разложении бинома с n = 3, определяет код с повторением единственного информативного символа k =1 ("0" или "1").

Отметим, что ЦК принадлежат к классу линейных кодов, у которых кодовые комбинации "000... 00" и "111... 11 " являются разрешёнными.

У кода с повторением возможности обнаружения и исправления ошибок безграничны, поскольку число повторений [1] определяет минимальное кодовое расстояние:

d min =. (4.7) В общем случае коэффициент избыточности кодов с повторением кодовых комбинаций является максимально возможным:

nl - n l -1 = = =1-, nl l l и при увеличении приближается к 1, а скорость (4.6) - минимальна Bk =1- =. (4.8) l Таким образом, коды с проверкой на чётность и коды с повторением - до некоторой степени антиподы. Первый код очень быстр (всего один дополнительный символ), но зачастую "легкомыслен". Возможности второго кода с повторением по исправлению ошибок теоретически безграничны, но он крайне "медлителен" [7].

Следующие порождающие полиномы в табл. 1 со степенью r = 3 позволяют сформировать набор классических корректирующих кодов Хемминга (7, 4), которые исследовались студентами ранее при выполнении лабораторной работы N3 "Корректирующие коды". Коды Хемминга также принадлежат к классу ЦК, однако при этом гpyппa проверочных символов кода получается сразу "в целом" при делении информативной кодовой группы на порождающий полином, а не "поэлементно", как это показано в ЛР №3, когда последовательное суммирование по модулю 2 соответствующих информативных символов давало очередной символ проверочной группы. Отметим, что два варианта порождающих полиномов кода Хемминга (7,4), с записью по модулю 2 в виде 1101 и 1011, представляют собой так называемые двойственные многочлены (полиномы).

Двойственные многочлены определяются следующим образом: если задан полином в виде h(X) = h0 +h1X + h2X2 + … + hrXr, то двойственным к нему полиномом является ~ h(X) = h0Xr + h1Xr-1 +... + hr, (4.9) т. е. весовые коэффициенты исходного полинома, зачитываемые слева направо, становятся весовыми коэффициентами двойственного полинома при считывании их справа налево. Говоря образно, набор весовых коэффициентов "вывёртывается наизнанку".

Обратим внимание на то, что в полных таблицах порождающих ЦК полиномов двойственные полиномы, как правило, не приводятся [6].

Наряду с тем, что порождающие полиномы кода Хемминга (7,4) являются двойственными друг другу, они также являются неприводимыми.

Неприводимые полиномы не делятся ни на какой другой полином степени меньше r, поэтому их называют ещё неразложимыми, простыми и примитивными.

Pages:     || 2 | 3 | 4 | 5 |










© 2011 www.dissers.ru - «Бесплатная электронная библиотека»

Материалы этого сайта размещены для ознакомления, все права принадлежат их авторам.
Если Вы не согласны с тем, что Ваш материал размещён на этом сайте, пожалуйста, напишите нам, мы в течении 1-2 рабочих дней удалим его.