Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Копия Kursovoy_TES_variant_15_gotovyy.docx
Скачиваний:
3
Добавлен:
04.08.2019
Размер:
213.31 Кб
Скачать

Заключение

В данном курсовом проекте была разработана система передачи дискретных сообщений, в соответствии с условиями технического задания. Для этого, сначала, была рассчитана минимальная скорость передачи, необходимая для передачи информации и выбрано УПС, удовлетворяющее требованиям. После определения характеристик канала, было принято решение о необходимости использования помехоустойчивого циклического кода. Однако, после применения помехоустойчивого кода минимальная необходимая скорость увеличилась, что потребовало применения УПС с более высокой скоростью передачи. Далее, для повышения надежности работы СПДС было определено необходимое количество дублирующих элементов, обеспечивающих максимальную надежность работы системы при ограниченном бюджете.

Список использованных источников

  1. Проектирование СПДС: Методическое указание/ А.В Кулаев.; КГТУ 2004.

  2. Методические указания к выполнению лабораторной работы № 4 «Циклические коды» по предмету «Теория электрической связи, часть 2» / В.В. Золотухин. – Красноярск, 2011. – 8 с.

Приложение а (обязательное) Листинг программы для кодера

#include "stdafx.h"

#include <iostream>

#include <math.h>

#include "stdlib.h"

#include <conio.h>

#include <locale.h>

using namespace std;

void Vyvod(int g[], int kol)

{

int i;

for(i=0; i<kol; i++)

cout<<g[i]<<"\t";

cout<<endl;

}

void Prover(int kol, int n, int t, int m, int x[], int y[], int g[], int d[])

{

int i, r, k, j;

i=0;

r=0;

do

{

if(g[i]!=0)

{

for(j=i, k=0; k<m; j++, k++)

{

g[j]=g[i+k]+y[k];

if(g[j]>1)

g[j]=0;

}

Vyvod(g,kol);

}

else

{

r++;

i++;

}

}

while(r!=n);

cout <<"Проверочная комбинация : "<<endl;

for(i=0; i<t; i++)

{

d[i]=g[n+i];

cout<<d[i]<<"\t";

}

cout<<endl;

}

inline int *Pamyat(int kol)

{

int *g=new int[kol];

return g;

}

int _tmain(int argc, _TCHAR* argv[])

{

setlocale(LC_ALL, "Russian");

int n, i, m, t, kol, r;

cout<<"Введите количество всех эелментов kol, и информационных кодов n (kol,n) : ";

cin>>kol;

cin>>n;

cout<<"("<<kol<<","<<n<<")"<<endl;

cout<<"Введите количество элементов производящего элемента : ";

cin>>m;

t=kol-n;

int *g1, *d, *x1, *y;

x1=Pamyat(n);

g1=Pamyat(kol);

d=Pamyat(t);

y=Pamyat(m);

cout<<"Введите производящий полином : "<<endl;

for(i=0; i<m; i++)

cin >>y[i];

cout<<"Кодирование : "<<endl;

cout<<"Введите комбинацию из "<<n<<" информационных элементов "<<endl;

for(i=0; i<n; i++)

cin >>x1[i];

for(i=0; i<kol; i++)

{

if(i>=n)

g1[i]=0;

else

g1[i]=x1[i];

}

Vyvod(g1,kol);

Prover(kol,n,t,m,x1,y,g1,d);

system("pause");

return 0;

Приложение б (обязательное) Листинг программы для оптимизации спдс

function TES_KURS

clc

p=[0.70 0.70 0.50 0.50 0.60 0.70;

0.80 0.80 0.70 0.70 0.70 0.80;

0.90 0.90 0.80 0.80 0.80 0.90;]

c=[10 20 20 30 40 10;

20 30 30 50 80 20;

30 50 50 80 110 30;]

Cmax=230

N=6

n=3

P1=0;

C1=0;

for i=1:1:n

for j=1:1:n

for k=1:1:n

for f=1:1:n

for h=1:1:n

for l=1:1:n

P=p(i,1)*p(j,2)*p(k,3)*p(f,4)*p(h,5)*p(l,N);

C=c(i,1)+c(j,2)+c(k,3)+c(f,4)+c(h,5)+c(l,N);

if(C<=Cmax)

if(P>P1)

C1=C;

P1=P;

ii=i;

jj=j;

kk=k;

ff=f;

hh=h;

ll=l;

end

end

end

end

end

end

end

end

C1

P1

M=[p(ii,1) p(jj,2) p(kk,3) p(ff,4) p(hh,5) p(ll,6)]

M1=[c(ii,1) c(jj,2) c(kk,3) c(ff,4) c(hh,5) c(ll,6)]

M2=[ii, jj kk ff hh ll]

end

ПРИЛОЖЕНИЕ В

(обязательное)

Структурная схема СПДС

ПРИЛОЖЕНИЕ Г

(обязательное)

Структурная схема кодера

ПРИЛОЖЕНИЕ Д

(обязательное)

График зависимости вероятности ошибки от кратности