
ПКвИС отчет 4 лабораторная
.docxФЕДЕРАЛЬНОЕ АГЕНСТВО СВЯЗИ
ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ОБРАЗОВАНИЯ
САНКТ-ПЕТЕРБУРГСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ ТЕЛЕКОММУНИКАЦИЙ ИМ. ПРОФ. М. А. БОНЧ-БРУЕВИЧА
Кафедра сетей связи и передачи данных
Отчет по лабораторной работе №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
Вывод: