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

Курсовой проект - Компьютеры, программирование

Другие курсовые по предмету Компьютеры, программирование

 

Для случая ошибок во вторых битах, тогда синдром ошибки примет вид

 

.

 

Для случая ошибок в третьих битах, тогда синдром ошибок примет вид

 

.

 

Сформируем матрицу однократных ошибок с 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 Программа закончила работу. );