У вас вопросы?
У нас ответы:) SamZan.net

Тема 5. КОДИРОВАНИЕ В ЦСПИ продолжение Введение 5

Работа добавлена на сайт samzan.net:

Поможем написать учебную работу

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

Предоплата всего

от 25%

Подписываем

договор

Выберите тип работы:

Скидка 25% при заказе до 29.12.2024

ПОМЕХОУСТОЙЧИВЫЕ КОДЫ ПРИМЕНЯЕМЫЕ В ЦСПИ

Лекция  № 15

Программные вопросы лекции

Тема №5. КОДИРОВАНИЕ В ЦСПИ (продолжение)

Введение

5.7. Кодирование и декодирование систематических кодов

5.8. Циклические коды

Заключение

Литература

Л1. Авиационные радиосвязные устройства. / Под. ред. Тихонова В.И. - М.: ВВИА им. проф. Н.Е. Жуковского, 1986, с. 171…184.

Л2. Величкин А.И., Азаров Г.С., Саютин Ю.В. Средства связи и передачи данных ВВС. – М.: ВВИА им. проф. Н.Е. Жуковского, 1985, с. 125…132.

Л4. Егоров М.П. Теоретические основы и принципы построения радиотехнических систем передачи информации. Часть II. Учебное пособие.- Тамбов: ТВАИИ, 2003, с.22…41.

Наглядные пособия и приложения

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

Лекция №15

Тема №5. КОДИРОВАНИЕ В ЦСПИ (продолжение)

Тема лекции. ПОМЕХОУСТОЙЧИВЫЕ КОДЫ ПРИМЕНЯЕМЫЕ

В ЦСПИ

Введение

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

В настоящее время для повышения помехоустойчивости передачи цифровых сигналов часто применяются систематические и циклические коды. В соответствии с принципами, заложенными в данных двух методах кодирования, строятся кодеры каналов современных ЦСПИ.

5.7. Кодирование и декодирование систематических кодов

Как уже указывалось выше, в систематических кодах информационные символы при кодировании не изменяются, а проверочные символы получают в результате суммирования по модулю 2 определенного числа информационных символов. Запишем разрешенную кодовую комбинацию систематического (n,k) – кода в виде

,                                                 (5.9)

где - множество информационных символов, а - множество проверочных символов. Тогда значение любого проверочного символа можно представить как

, ,                              (5.10)

где  - весовые коэффициенты, принимающие значение 1 или 0 в зависимости от того, участвует или нет данный информационный символ aj в формировании проверочного символа bi 

Обнаружение и исправление ошибок систематическим кодом сводится к определению и последующему анализу синдрома или вектора ошибок. Под синдромом понимают совокупность символов , сформированных путем сложения по модулю 2 принятых проверочных символов  и вычисленных проверочных символов :

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

Если при приеме информационных и проверочных символов не произошло ошибок, то принятые и вычисленные проверочные символы будут равны. В этом случае все разряды синдрома будут представлены нулями. Таким образом, нулевой синдром соответствует случаю отсутствия ошибок. Если в принятой комбинации есть ошибки, то в разрядах синдрома появятся единицы. Это и есть способ обнаружения ошибок систематическим кодом. Если код имеет минимальное кодовое расстояние , то он способен исправлять ошибки. Это означает, что по виду синдрома можно определить номер ошибочной позиции в принятой кодовой комбинации. Процедура построения систематического кода, способного обнаруживать ошибки, сводится к выбору весовых коэффициентов  в (5.10), таким образом, чтобы синдром, рассматриваемый как двоичное число, указывал номер ошибочной позиции.

Поясним на конкретном примере, как это можно сделать. Пусть требуется построить систематический код длиной , способный исправлять одиночные ошибки. Тогда из неравенства (5.5) находим, что . Пользуясь условием границы Плоткина, находим, что минимально необходимое число проверочных символов . Тогда число информационных символов . Следовательно, необходимо построить код (7,4), кодовые комбинации которого имеют вид

,

а три проверочных символа находятся путем суммирования информационных символов по правилу

;

;                                    (5.12)

.

Найдем весовые коэффициенты . Для этого запишем все возможные трехразрядные кодовые комбинации синдрома: 000; 001; 010; 011; 100; 101; 110; 111 и присвоим их ошибочным символам кодовой комбинации.

Когда в принятой кодовой комбинации  нет ошибок, синдром будет состоять из трех нулей:

Появление одной единицы в синдроме связано с ошибками в проверочной части кодовой комбинации:

100 – ошибка в ; 010 – ошибка в ; 001 – ошибка в ,

а появление большего числа единиц связано с ошибками в информационной части.

Присвоим информационным символам с ошибками оставшиеся синдромы в порядке возрастания их двоичных чисел (по существу, безразлично, какие двоичные числа присваивать информационным символам):

011 – ошибка в ; 101 – ошибка в ; 110 – ошибка в ; 111 – ошибка в .

Итак, каждому символу кодовой комбинации соответствует двоичное число, представляющее синдром (таблица 5.1).

Теперь осталось определить весовые коэффициенты  в (5.12). Для этого необходимо их подобрать так, чтобы при возникновении ошибки в - символе появлялся соответствующий синдром. Например, для появления синдрома 011 (ошибка в )

весовые коэффициенты при символе  в уравнениях (5.12) должны иметь значения . Аналогично, появление остальных синдромов обеспечивают коэффициенты:

101 (ошибка в ;

110 (ошибка в ;

111 (ошибка в .

Окончательно правило формирования проверочных символов (5.12) принимает вид

;

;                                                (5.13)

.

Формирование систематического кода (7,4) по правилу (5.13) поясняется рис.5.12.

 Пример. Дана кодовая комбинация 1101. Построить разрешенную кодовую комбинацию систематического кода (7,4) и показать, что данный код исправляет одну ошибку.

Находим проверочные элементы согласно правилу (5.13):

;

;

;

.

Таким образом, разрешенная кодовая комбинация имеет вид

.

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

.

По принятой кодовой комбинации вычисляем проверочные символы:

;

;

.

Теперь находим синдром

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

5.8. Циклические коды

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

 Сущность циклической перестановки заключается в том, что крайний левый символ кодовой комбинации (символ старшего разряда) занимает место первого, первый – второго и т.д. до тех пор, пока предпоследний символ не займет место последнего. Запишем совокупность кодовых комбинаций, получающихся циклическим сдвигом n-разрядной кодовой комбинации, например пятиразрядной 10011:

10011, 00111, 01110, 11100, 11001.

При работе с циклическими кодами принято кодовые комбинации рассматривать в виде полиномов (многочленов) некоторой степени

,

где x – основание системы счисления; bi – цифры данной системы счисления. Для двоичной системы счисления x=2, а bi равны 0 или 1. Например, двоичную последовательность 010101 можно представить в виде многочлена . Действительно,

;

.

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

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

 Пример. В результате суммирования по модулю двух полиномов

G1(x) = x6+x5+x2+1  и  G2(x) = x5+x3  получим  G(x) = x6+x3+x2+1.

Для рассмотрения принципа построения циклических кодов введем следующие обозначения: G(x) - полином степени k-1, отображающий кодовую комбинацию первичного кода; P(x) - образующий (порождающий) полином степени r=n-k  и F(x) - полином степени n-1, отражающий кодовую комбинацию (кодовое слово) циклического кода.

В качестве разрешенных кодовых комбинаций циклического кода принимаются такие комбинации, которые делятся без остатка на заранее выбранный образующий полином P(x), выбираемый из таблицы порождающих полиномов. Построение циклического кода сводится к определению полинома F(x) для известных G(x) и P(x) при условии, что F(x) делится без остатка на P(x).

Существует два способа получения кодового слова циклического кода.

1. F(x) получается путем прямого перемножения полиномов P(x) и G(x). Однако, при этом образуется неразделимый код, декодирование кодовых комбинаций которого очень сложно (информационные и  проверочные знаки неразделимы).

2. Представляем информационную часть кодовой комбинации длиной k в виде полинома G(x).

Далее:

а) умножаем G(x) на одночлен xr и получаем G(x)xr, т. е. производим сдвиг k-разрядной кодовой комбинации на r разрядов;

б) делим многочлен G(x)xr на образующий полином P(x) степень которого равна r;

в) полученный остаток R(x) (очевидно его наивысшая степень равна r-1) складываем по модулю два с G(x) xr и получим, таким образом, разрешенную кодовую комбинацию F(x) = G(x) xr  R(x).

Пример. Закодируем циклическим кодом длиной n=10 КК  1110001.

Решение

1). r =n – k = 10  7 = 3. Из таблицы образующих полиномов выберем P(x) степени 3

P(x) = x3 +x2+1

2). Исходной кодовой комбинации соответствует полином

G(x) =x6 +x5 + x4 + 1.

3). Умножим полином сообщение на x3

G(x)·x3 =x9 +x8 + x7 + x3.

4). Полученное произведение разделим на образующий полином P(x)

   x9 + x8 + x7 + x3       x3 + x2 +1

x9 + x8 + x6                   ________________

  ___________________         x6 + x4 +x

          x7 + x6 +x3

        x7 + x6 + x4

        _________________

                   x4 + x3

                 x4 + x3 +x

                 _______________

                                 R(x) = x

Ответ: Полином, отображающий комбинацию циклического кода, будет иметь вид

F(x)= G(x)xr + R(x) = x9+x8+x7+x3+x .

 Ему соответствует передаваемая в канал КК циклического кода: 1110001 010.

 А. Обнаружение ошибок при циклическом кодировании

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

 Б. Исправление ошибок

 Остаток от деления свидетельствует о наличии ошибки. Для исправления ошибок (обнаружение места ошибки) необходимо обеспечить условие, при котором количество различных ненулевых остатков равно числу комбинаций из n по t (t- количество ошибок исправляемых кодом). Это означает, например, что с n=15 при t=2 следует иметь С215 =105 остатков, что обеспечивается при  r = 7 (27-1=127). Следовательно необходимо выбрать образующий полином с r=7 и код (15,7).

Исправление ошибки рассмотрим на конкретном примере.

 Пример. Дан (11,7)-код с Р(0,1)=1001. (Р(0,1) есть образующий полином Р(х), выраженный в кодовой последовательностью 1 и 0-й). Пусть передается разрешенная комбинация

F(0,1) = 10110111100

Предположим, ошибка произошла в старшем разряде, т.е.

F*(0,1) = 00110111100

Для определения одной ошибки введем многочлен ошибки степени n.

E = 10000000000 (т. е. х10)

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

В случае, если ошибка произошла в середине принимаемого кода, остатки R1 и R2 не совпадут. При этом к принимаемой кодовой комбинации F*(0,1) необходимо справа дописать 0 и получить R1 (т.е. сдвинуть последовательность влево). Такой сдвиг осуществлять до тех пор, пока R1 и R2 не будут одинаковыми. Число сдвигов плюс 1 покажет разряд, где произошла ошибка (относительно старшего разряда).

Заключение

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

Таблица 5.1

Синдром

Символ кодовой комбинации с ошибкой

000

нет ошибок

001

b3

010

b2

011

a1

100

b1

101

a2

110

a3

111

a4

Разрешенная

кодовая

комбинация (n=7)

Информационные

символы (k=4)

a1

a2

a3

a4

a1

a2

a3

a4

b1

b2

b3

Рис.5.12 Формирование систематического кода (7,4)




1. Агрессия и способность к прогнозированию в подростковом возрасте
2. Научнопознавательная деятельность Секреты речи Срок реализации- 1 год Возраст учащихся- 7 лет
3. інтелектуальний потенціал
4. тема регулювання соціальнотрудових відносин у розвинутих країнах
5. Правовий вплив і правове регулювання проблеми співвідношення
6. 0 E2 P0102 Низкий уровень сигнала датчика массового расхода воздуха Р0103 Высокий уровень сигнала датчика массово
7. статьям и книгам о писателях об их произведениях заинтересовался историей литературы
8. УТВЕРЖДАЮ Зав. Кафедрой психологии Льдокова Г.
9. до 20х0 года 571 Проект разработки Программы улучшения работы министерства предприятия организации
10. Бонитировка Михайловского района по сибирской косуле
11. Образи-символи у казці Бориса Грінченка Сопілка
12. Совершенствование организации производства продукции и учета затрат в молочном скотоводстве
13. Основные классы неорганических соединений Взаимосвязь между основными классами неорганических веществ
14. Лицензирование отдельных видов деятельности
15. і ~деби тілімізде сан жа~ынан мол кездесетіні ~ фонетикалы~ дублеттер
16. Происхождение и начальное развитие жизни на Земле
17. Міжнародні стандарти проведення виборів
18. Тема- Бюджетные расходы Вопросы- Институт бюджетных расходов в системе финансового права
19. а Учениця- Білими пелюстками заіскрився сніг Ватяними згустками на подвір~я ліг
20. Болезнь желчнокаменная