Программа для исследования помехоустойчивости линейного аддитивного блочного кода заданного вида синдромным методом
Курсовой проект - Компьютеры, программирование
Другие курсовые по предмету Компьютеры, программирование
Для случая ошибок во вторых битах, тогда синдром ошибки примет вид
.
Для случая ошибок в третьих битах, тогда синдром ошибок примет вид
.
Сформируем матрицу однократных ошибок с 1-го по 7-ые биты и найдем синдром векторов ошибок
.
7. Заключение
В результате проделанной работе были изучены основные возможности системы SciLab. Рассмотрен синдромный метод помехоустойчивого кодирования. Приведённый пример подтверждает работоспособность программы. Также получены дополнительные знания для работы с текстовым редактором Microsoft Word и изучены вузовские стандарты по оформлению курсовой работы. Система научных и инженерных расчетов SciLab может использоваться для различных видов научной и учебной деятельности.
Список использованных источников
1.Алексеев Е.Р. А47 Scilab: Решение инженерных и математических задач / Алексеев Е.Р., Чеснокова О.В., Рудченко Е.А. _ М.: ALT Linux; БИНОМ. Лаборатория знаний, 2008. - 260 с.: ил.; 8 с. цв. вклейки. (Библиотека ALT Linux).
2.Шульгин В.И. Основы теории передачи информации. Ч.1. Экономное кодирование. / В.И. Шульгин. - учебн. пособ. - Харьков: Нац. Аэрокосм. ун-т "Харьк. авиац. ин-т", 2003. - 196 с. (электр. версия).
.Шульгин В.И. Основы теории передачи информации. Ч.2. Помехоустойчивое кодирование/ В.И. Шульгин. - учебн. пособ. - Харьков: Нац. Аэрокосм. ун-т "Харьк. авиац. ин-т", 2003. - 87 с. (электр. версия).
.Кологривов В.А. Принцип аддитивного алгебраического кодирования и декодирования. / В.А. Кологривов. - учебн. - мет. пособ. - Томск: ТУСУР, 2010. - 102 с.
Приложения
Приложение А
Листинг главной программы для исследования помехоустойчивости линейного аддитивного блочного кода заданного вида синдромным методом
// Курсовая работа Крючкова А.В. студента 1 курса
// ТУСУРа РТФ кафедра СРС весенний семестр 2011г
// Программа разработана в среде SciLab-5.3.0
// Программа для исследования помехоустойчивости линейного аддитивного
// блочного кода заданного вида синдромным методом
// Рассмотрим код вида (7,3)
// Имя файла - Kursovaya2. sci
clc; clear; format (v,25); mode (0);
function c=umn_bin_mat (a, b);
// Умножения бинарных матриц по модулю2+
// Входные данные:
// a,b - сопряжённые по размерностям бинарные матрицы
// Выходные данные:
// с-бинарная матрица, полученная путём умножения матриц a,b по модулю 2+
[n,k1] =size (a);
[k2,m] =size (b);=zeros (n,m);i=1: n;j=1: m; k=1: k1;
// Нахождение значение (i; j) элемента матрицы "c"
// при помощи операции сложения по модулю 2+(i,j) =bool2s (~isequal (c (i,j), (a (i,k) *b (k,j))));
end;;;
endfunction;
printf (\n Программа для исследования помехоустойчивости линейного аддитивного блочного кода);(\n заданного вида синдромным методом\n Рассмотрим код вида (7,3) \n\n);( Массив входных символов кодера \n);= [0,0,1;
0,1,0;
,1,1;
,0,0;
,0,1;
,1,0;
,1,1]
printf (\n Матрица коэффицентов системы определяющих уравнений кодера \n);= [1,0,0;
0,1,0;
,0,1;
,1,1;
,0,1;
,1,0;
,1,1]
printf (\n Генерирующая матрица кодера \n);=Gt; // Транспонируем матрицу Gt(\n Кодирование. \n Массив кодовых символов* (на выходе кодера) \n);
y=umn_bin_mat (x,G);
y(\n*-где каждому входному символу соответствует один единственный кодовый символ);(\n\n Проверочная матрица H (из условия её ортогональности порождающей матрице G) \n);= [0,1,1,1;
1,0,1,1;
,1,0,1;
,0,0,0;
,1,0,0;
,0,1,0;
,0,0,1]
printf (\n Декодирование. \n На вход декодера поступают принятые кодовые символы \n);(\n на выходе декодера имеем массив вектор-строк синдромов ошибок \n);( Случай без ошибочной передачи \n);
s=umn_bin_mat (y,Ht)(\n Пусть с ошибкой приняты первые биты кодовых символов \n);= [1,0,1,1,1,0,1;
1,1,0,1,0,1,1;
,1,1,0,1,1,0;
,0,0,0,1,1,1;
,0,1,1,0,1,0;
,1,0,1,1,0,0;
,1,1,0,0,0,1]
printf (\n Тогда синдром ошибки будит иметь вид \n)
s1=umn_bin_mat (r1,Ht)
printf (\n Пусть с ошибкой приняты вторые биты кодовых символов \n);= [0,1,1,1,1,0,1;
0,0,0,1,0,1,1;
,0,1,0,1,1,0;
,1,0,0,1,1,1;
,1,1,1,0,1,0;
,0,0,1,1,0,0;
,0,1,0,0,0,1]
printf (\n Тогда синдром ошибки будит иметь вид \n)
s2=umn_bin_mat (r2,Ht)
printf (\n Пусть с ошибкой приняты третьи биты кодовых символов \n);= [0,0,0,1,1,0,1;
0,1,1,1,0,1,1;
,1,0,0,1,1,0;
,0,1,0,1,1,1;
,0,0,1,0,1,0;
,1,1,1,1,0,0;
,1,0,0,0,0,1]
printf (\n Тогда синдром ошибки будит иметь вид \n)
s3=umn_bin_mat (r3,Ht)
printf (\n Сформируем матрицу однократных ошибок с 1-го по 7-ые биты \n);( и найдём синдромы векторов ошибок\n)= [1,0,0,0,0,0,0;
0,1,0,0,0,0,0;
,0,1,0,0,0,0;
,0,0,1,0,0,0;
,0,0,0,1,0,0;
,0,0,0,0,1,0;
,0,0,0,0,0,1]
printf (\n Тогда синдром ошибки будит иметь вид \n)
se=umn_bin_mat (re,Ht)
printf (\n\n Программа закончила работу. );