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

лабы / лаба 3 / Описание Лаб 3 ПК

.pdf
Скачиваний:
0
Добавлен:
13.05.2026
Размер:
336.62 Кб
Скачать

ФЕДЕРАЛЬНОЕ АГЕНСТВО СВЯЗИ Федеральное государственное образовательное бюджетное учреждение

высшего профессионального образования

Московский Технический Университет Связи и Информатики

Кафедра радиотехнических систем

Лабораторная работа № 3 ПК

«Исследование процессов кодирования и декодирования кодов Рида-Соломона»

по дисциплине «Помехоустойчивое кодирование»

Москва 2014

ФЕДЕРАЛЬНОЕ АГЕНСТВО СВЯЗИ Федеральное государственное образовательное бюджетное учреждение

высшего профессионального образования

Московский Технический Университет Связи и Информатики

Кафедра радиотехнических систем

«Утверждено на Совете факультета радио и телевидения»

Декан А.В. Пестряков

Протокол № 7 от «20» марта 2014 г.

Лабораторная работа № 3 ПК

«Исследование процессов кодирования и декодирования кодов Рида-Соломона»

по дисциплине «Помехоустойчивое кодирование»

«Утверждено на заседании кафедры радиотехнических систем

Зав. кафедрой

Ю.С Шинаков

Протокол № 4

от « 18 » февраля 2014 г.

Москва 2014

УДК 6820.3.042.5 : 6220.39 План подготовки УМД 2013/2014 уч. года

Лабораторная работа № 3 ПК

«Исследование процессов кодирования и декодирования кодов Рида-Соломона»

по дисциплине «Помехоустойчивое кодирование»

Предлагаемое издание является учебным пособием для лабораторного практикума по курсу «Помехоустойчивое кодирование». Издание содержит описание лабораторной работы и исходные данные для её выполнения. Издание предназначено для студентов радиотехнических и телекоммуникационных специальностей.

Составители: В.Э. Русанов, к.т.н., доцент, С.А. Силина, студентка гр. ПС 0902 МТУСИ.

Рецензент: профессор каф РТС: А.А. Локтев, д.ф-м.н., доцент

Издание утверждено Советом факультета радио и телевидения. Протокол № 7 от 20 марта 2014 г.

Лабораторная работа №3 Исследование процессов кодирования и декодирования

Кодов Рида-Соломона

Цель работы:

1.Получение практических навыков по формированию поля Галуа для построения кодов Рида-Соломона, изучение алгоритмов формирования кодовых слов.

2.Изучение процессов декодирования кодов Рида-Соломона, алгоритма обнаружения и исправления ошибок в кодовых словах.

Порядок выполнения работы

1. Исходные данные для выполнения работы:

а) образующий неприводимый полином для построения поля Галуа. Задаётся по таблице для различных вариантов учебных заданий.

Таблица неприводимых полиномов

Вари

Дв. код

Восьм

Образующий полином

ант

 

код

поля Галуа G(x)

1

10000112

1038

x6+ x+1

2

11001112

1478

x6+ x5 + x2+x+1

3

10110112

1338

x6+ x4 + x3+ x+1

4

100000112

2038

x7+ x+1

5

100010012

2118

x7+ x3+ 1

6

100011112

2178

x7+ x3+ x2+x+1

7

101001112

2478

x7+ x5+ x2+x+1

8

101010112

2538

x7+ x5+ x3+ x+1

9

110010112

3138

x7+ x6+ x5+ x4 + x3+ x2+x+1

10

100111012

2358

x7+ x4 + x3+ x2+ 1

11

101111112

2778

x7+ x5+ x4 + x3+ x2+x+1

12

11 101 1112

3578

x7+ x6+ x5+ x3+ x2+x+1

13

1100001112

6078

x8+ x7+ x2+x+1

14

1001010112

4538

x8+ x5+ x3+x+1

15

1011000112

5438

x8+ x6+ x5 +x+1

16

1000111012

4358

x8+ x4 + x3+ x2 +1

17

1001011012

4558

x8+ x5+ x3+ x2+ 1

18

1010011012

5158

x8+ x6+ x3+ x2 +1

19

1010111112

5378

x8+ x6+ x4 + x3+ x2+x+1

20

1110011112

7178

x8+ x7+ x6+ x3+ x2+x+1

б) разрядность символов 6-8 бит в зависимости от степени образующего полинома поля m;

б) n =15 количество символов в кодовом слове (блоке) циклического кода ; в) количество обнаруживаемых и исправляемых ошибок в блоке t=2.

1. Пусть степень образующего полинома поля согласно заданию: m=6 (либо 7, либо 8 в зависимости от варианта задания).

Построить поле Галуа GF(2m). Его i-тый элемент определяется как степень примитивного элемента a=10 (2 в двоичной системе) по модулю образующего полинома поля G(x), то есть как остаток от деления степени примитивного элемента на образующий полином поля

i 10i modG(x) ,

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

2. Найти порождающий многочлен кода Рида-Соломона с корнями в виде степеней примитивного элемента.

3. Сформировать блок исходной информационной последовательности длиной m*11 бит (11 m-битовых элементов поля Галуа). Первые два m- битовых символа определяются по таблице 1. Остальные биты будут нулевые (9 m-битовых нулевых символов).

4. Сформировать кодовое слово c(x) кода Рида-Соломона длиной 15*m бит путём полиномиального кодирования информационной последовательности в систематическом виде. Для этого определяем проверочные символы (4*m бит) как p(x) - полином-остаток от деления

xr a(x) . g(x)

Аналитическая запись этого остатка: p(x) xr a(x)mod g(x)

5. Внести ошибку во втором бите первого символа кодового слова c(x). Выразить искаженные символы через элементы поля Галуа. Выполнить декодирование искажённого кодового слова c(x), определив синдром ошибки

s(x) как остаток от деления: c(x) .

g(x)

То есть, формула вычисления синдрома: s(x) c'(x)mod g(x)

Для выполнения операции деления полиномов в поле Галуа используется программа Pdiv256.exe из каталога ПК3 на “рабочем столе” лабораторного компьютера. В этом же каталоге должны быть 4 вспомогательных файла с расширениями *.dll и *.bpl.

Содержание отчета

1.Наименование и цель работы.

2.Исходные данные для выполнения работы.

3.Результаты выполнения работы.

4.Выводы.

ПРИЛОЖЕНИЕ

Формирование информационных блоков.

Информационные блоки формируются по таблице 2 с вариантами задания. Номер задания определяется по списочному номеру учащегося. К полученной двоичной последовательности из двух символов по 6, 7 или 8 бит (в зависимости от варианта) добавляются 9 нулевых символов. Оставшиеся 9 символов блока, по 6 (7,8) бит каждое, будут нулевыми. В результате информационный блок будет содержать блок k=11 символов.

Полученную последовательность из 11 символов кода Рида-Соломона надо представить как 11 коэффициентов полинома блока исходной информации. Коэффициенты представляются как элементы поля Галуа, то есть степени примитивного элемента из таблицы элементов поля GF(2m).

Таблица1

кодируемой информации.

 

 

 

Код

 

 

 

Код

 

варианта

 

 

 

 

варианта

 

 

1

010010

011101

 

17

10001010

11001100

2

001011 101011

 

18

10000100

10111010

3

010101 101101

 

19

10011001

1101 1100

4

0010010

1100101

 

20

10011111

1010 1110

5

0010111

0101100

 

21

10101100

10001010

6

0101110

0110001

 

22

10101110

01100011

7

1001100

1010011

 

23

10110110

10010111

8

1010001

1101001

 

24

10111010

11101001

9

1010110

1000111

 

25

11000110

11011100

10

0110001

0001100

 

26

11001100

10101100

11

0101000

0100110

 

27

11100001

01010110

12

0101001

1101001

 

28

11011100

10011001

13

0110 0110

1111 0011

 

29

11010011

00101101

14

0110 0001

1110 1001

 

30

11101001

00101110

15

01111000 11011100

 

31

11110011

10110001

16

01111110 11100001

 

32

11111110

0110 0110

Пример. Пусть списочный номер 3. Полученная 12-ти битовая последовательность: 010101 101101. Рассчитаем элементы поля Галуа:

α-∞

α0

α1

α2

α3

 

 

α12

 

α28

 

 

α59

α60

α61

α62

000000

000001

000010

000100

001000

----

----

010101

----

101101

----

----

111011

100110

101001

100011

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Найдём в данной рассчитанной таблице элементы поля Галуа, равные приведённым шестизначным кодам. Ими оказались элементы с 12 и 28

степенью. Тогда кодируемую информацию можно выразить в форме

элементов поля Галуа: a(x)=α12x+ α28

После дополнения информационной последовательности нулевыми элементами получим 66 бит блока (11 шестизначных элементов поля GF(26)) 010101 101101 000000 000000 000000 000000 000000 000000 000000 000000 000000.

Им соответствует полином (слагаемые с нулевыми коэффициентами

можно не писать):

a(x) 12x10 28x9 .

Этот полином и будет использоваться при помехоустойчивом кодировании для расчёта по 11 информационным символам 4-х проверочных как

коэффициентов полинома – остатка от деления xr a(x) . g(x)

Работа с программой деления полиномов поля GF(2m)

При запуске программы на экран последовательно выводятся диалоговые окна, в которых надо последовательно задать полиномы делимого (числителя) и делителя (знаменателя). Для задания полинома в диалоговых окнах компьютерной программы последовательно задают каждую степень i его аргумента xi и степень j соответствующего коэффициента aj . Степени задаются целыми числами от 0 до 255 (каждая степень в отдельном окне). Сначала задаются степени в полиноме делимого, а затем - в полиноме делителя, начиная со старших степеней аргумента полинома, и кончая нулевой степенью.

Степени для коэффициентов полиномов задаются целыми числами:

 

0

1

2

3

4

5

 

6

 

7

 

 

 

98

 

99

100

 

101

102

-1

0

1

2

3

4

5

 

6

 

7

 

 

 

98

 

99

100

 

101

102

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Нулевые коэффициенты (это

0 , а не

0 1 ) при вводе в компьютер

можно

игнорировать, так

как

порядок

расположения

коэффициентов

определяется соответствующими степенями при

x. Вместо (знак минус

бесконечности) в программе используется символ

-1.

 

 

 

 

 

Частное и остаток от деления

программа выведет в полиномиальной форме,

например :

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Частное: X^5 * A^10 + X^9 * A^9+ X^2 * A^34+ A^90,

что соответствует полиному:

p(x) 10x5 9x9 34x2 90

Вопросы к защите лабораторной работы №3 по кодам Рида-Соломона

1.Как связаны разрядность кода Рида-Соломона и количество неповторяющихся элементов поля Галуа?

2.Какие полиномы пригодны для построения поля Галуа?

3. От чего зависит число корней порождающего полинома?

4. Как учитывается число исправляемых символов при построении порождающего полинома?

5. Какое максимальное количество бит может исправить код РидаСоломона для поля GF(28), имеющего два корня в образующем полиноме?

6. Что определяется в результате декодирования кода Рида-Соломона? 7. Как вычислить проверочные символы систематического кода Рида-

Соломона?

8. Как вычислить синдром ошибки систематического кода РидаСоломона?

9. Чему равен максимальный вес символа кода Рида-Соломона для поля CF(64)?

10. Как выразить нулевой элемент поля Галуа через степень примитивного элемента?

11. Какие данные используются при построении поля Галуа?

12. Алгоритм кодирования систематического кода Рида-Соломона. 13. Алгоритм декодирования систематического кода Рида-Соломона. 14. Как определяется порождающий полином кода Рида-Соломона.

15.Что такое таблица синдромов и вектор ошибки?

16.Как обнаруживаются и исправляются ошибки при декодировании кода Рида-Соломона?

17.В каких каналах применяют код Рида-Соломона?

Учебное издание Русанов Владимир Эдуардович

Силина Светлана Андреевна

Лабораторная работа № 3 ПК

«Исследование процессов кодирования и декодирования кодов Рида-Соломона»

по дисциплине «Помехоустойчивое кодирование»

Учебное пособие

Соседние файлы в папке лаба 3