Скачиваний:
20
Добавлен:
03.10.2022
Размер:
18.58 Кб
Скачать

ФЕДЕРАЛЬНОЕ АГЕНСТВО СВЯЗИ

ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ОБРАЗОВАНИЯ

САНКТ-ПЕТЕРБУРГСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ ТЕЛЕКОММУНИКАЦИЙ ИМ. ПРОФ. М. А. БОНЧ-БРУЕВИЧА

Кафедра сетей связи и передачи данных

Отчет по лабораторной работе №4

«Вычисления в полях Галуа с использованием системы Octave»

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

Цель работы

Рассмотреть на примере и получить навыки в решении задач по теме «Конечные поля Галуа» в части, относящейся к вопросам помехоустойчивого кодирования.

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

4.3.1.

Для заданного образующего полинома p2(x) получить первые двадцать элементов конечного поля.

>> primpoly(7,"all")

Primitive polynomial(s) =

D^7+D+1

D^7+D^3+1

D^7+D^3+D^2+D+1

D^7+D^4+1

D^7+D^4+D^3+D^2+1

D^7+D^5+D^2+D+1

D^7+D^5+D^3+D+1

D^7+D^5+D^4+D^3+1

D^7+D^5+D^4+D^3+D^2+D+1

D^7+D^6+1

D^7+D^6+D^3+D+1

D^7+D^6+D^4+D+1

D^7+D^6+D^4+D^2+1

D^7+D^6+D^5+D^2+1

D^7+D^6+D^5+D^3+D^2+D+1

D^7+D^6+D^5+D^4+1

D^7+D^6+D^5+D^4+D^2+D+1

D^7+D^6+D^5+D^4+D^3+D^2+1

ans =

Columns 1 through 17:

131 137 143 145 157 167 171 185 191 193 203 211 213 229 239 241 247

Column 18:

253

>> de2bi(241)

ans =

1 0 0 0 1 1 1 1

>> F = gf_field (7,241);

>> F(1:20)

ans =

GF(2^7) array. Primitive Polynomial = D^7+D^6+D^5+D^4+1 (decimal 241)

Array elements =

Columns 1 through 17:

1 2 4 8 16 32 64 113 19 38 76 105 35 70 125 11 22

Columns 18 through 20:

44 88 65

>> de2bi (F(1:20).x)

ans =

1 0 0 0 0 0 0

0 1 0 0 0 0 0

0 0 1 0 0 0 0

0 0 0 1 0 0 0

0 0 0 0 1 0 0

0 0 0 0 0 1 0

0 0 0 0 0 0 1

1 0 0 0 1 1 1

1 1 0 0 1 0 0

0 1 1 0 0 1 0

0 0 1 1 0 0 1

1 0 0 1 0 1 1

1 1 0 0 0 1 0

0 1 1 0 0 0 1

1 0 1 1 1 1 1

1 1 0 1 0 0 0

0 1 1 0 1 0 0

0 0 1 1 0 1 0

0 0 0 1 1 0 1

1 0 0 0 0 0 1

4.3.2

Для поля Галуа GF(24 ) (p(x) = x4 + x + 1) осуществить расчет по заданной формуле

>> primpoly(4,"all")

Primitive polynomial(s) =

D^4+D+1

D^4+D^3+1

ans =

19 25

>> F = gf_field (4,19);

>> F (1:20)

ans =

GF(2^4) array. Primitive Polynomial = D^4+D+1 (decimal 19)

Array elements =

Columns 1 through 16:

1 2 4 8 3 6 12 11 5 10 7 14 15 13 9 0

Columns 17 through 20:

0 0 0 0

>> (F(4)/F(10))+(F(12)+F(10)^6)*F(7)

ans =

GF(2^4) array. Primitive Polynomial = D^4+D+1 (decimal 19)

Array elements =

15

4.3.3.

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

Одним из свойств расширенного поля Галуа GF(pm), является то, что любой элемент поля может быть выражен суммой не более чем m элементов поля. Как правило, для выражения элементов используются первые m элементов [1, ε, ε 2 ,..., εm−1 ], получившие название левый степенной базис.

function gfFLD = gf_field (gfSTP,gfPOL)

gfLNG = 2^gfSTP-1;

gfFLD = gf (zeros (1,gfLNG),gfSTP,gfPOL);

gfFLD(1)=1;

gfFLD(2)=2;

for CNTR = 3:1:gfSTP

gfFLD(CNTR)=gfFLD(CNTR-1)*gfFLD(2);

endfor

endfunction

>> F = gf_field11 (7,241);

>> F(1:20)

ans =

GF(2^7) array. Primitive Polynomial = D^7+D^6+D^5+D^4+1 (decimal 241)

Array elements =

1 2 4 8 16 32 64 0 0 0 0 0 0 0 0 0

Вывод: