7. Схема кодера.
Розробимо схему кодера (Рис. 1):
Рис. 1 Схема кодера
8. Схема декодера.
Розробимо схему декодера (Рис. 2):
Рис. 2 Схема декодера
Висновок
В наслідок виконання завдання розраховані основні інформаційні характеристики каналу зв'язку для чого розроблена відповідна програма на алгоритмічній мові Паскаль, яка наведена в додатку.
Побудовано код за методом Хемінга для передачі повідомлень з виявленням і виправленням однократних помилок. Порядок побудови коду, процес кодування, декодування, виявлення та виправлення помилок розглянуто на прикладі інформаційного слова 0101.
Додання
Програма розрахунку інформаційних характеристик каналу зв'язку
{Расчетное задание по курсу ТИК}
Program Work20;
Uses CRT;
Const n=16;
arr_px:array[1..n] of real =
(0.31, 0.11, 0.02, 0.01, 0.03, 0.02, 0.05, 0.09, 0.07, 0.06, 0.07, 0.05, 0.03, 0.04, 0.01, 0.03);
arr_x:array[1..n,1..n] of real =
(( 0.98,0.01,0.01, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
( 0.01,0.97,0.02, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
( 0,0.01,0.98,0.01, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
( 0,0.01,0.02,0.94,0.02,0.01, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
( 0, 0, 0,0.01,0.98,0.01, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
( 0, 0, 0,0.01,0.01,0.96,0.01,0.01, 0, 0, 0, 0, 0, 0, 0, 0),
( 0, 0, 0, 0,0.01,0.02,0.94,0.02,0.01, 0, 0, 0, 0, 0, 0, 0),
( 0, 0, 0, 0, 0, 0,0.02,0.96,0.02, 0, 0, 0, 0, 0, 0, 0),
( 0, 0, 0, 0, 0, 0, 0,0.01,0.98,0.01, 0, 0, 0, 0, 0, 0),
( 0, 0, 0, 0, 0, 0, 0,0.01,0.01,0.96,0.01,0.01, 0, 0, 0, 0),
( 0, 0, 0, 0, 0, 0, 0, 0,0.01,0.01,0.96,0.01,0.01, 0, 0, 0),
( 0, 0, 0, 0, 0, 0, 0, 0, 0,0.01,0.01,0.95,0.02,0.01, 0, 0),
( 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,0.02,0.96,0.02, 0, 0),
( 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,0.01,0.02,0.94,0.02,0.01),
( 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,0.01,0.02,0.95,0.02),
( 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,0.01,0.01,0.98));
Type
vec=array[1..n] of real;
Var
f :text;
arr_S,arr_py :vec;
s,ds,H,HX,HY,HYX,Ik,Ck,V,T,Ic,Cn :real;
i,j :byte;
k :integer;
BEGIN
Assign(f,'d:\work20.txt');
Rewrite(f);
ClrScr;
T:=0.25E-3;
V:=1/T;
K:=1500;
Writeln(f,'Решение:');
Writeln(f);
{============ Определим энтропию источника информации ===============}
Textcolor(5);
Writeln('1.Энтропия источника информации равна:');
Writeln(f,'Энтропия источника информации равна:');
Writeln('Промежуточные суммы:'); Writeln(f,'Промежуточные суммы:');
Readkey;
TextColor(15);
s:=0;
For i:=1 to n do
Begin
ds:=arr_px[i]*ln(arr_px[i])/ln(2); s:=s+ds;
Write(ds:7:3);
Write(f,ds:7:3);
if i mod 8 =0 then
begin
writeln;
writeln(f);
end;
End;
Writeln;
Writeln('Результат:');
Writeln(f,'Результат:');
HX:=-s;
Writeln(f);
TextColor(15);
Writeln('H(X)=',HX:6:3,' бит/симв.');
Writeln(f,' H(X)= ',HX:6:3,' бит/симв.');
Writeln(f);
{== Определим вероятности появления символов на входе приемника информации ==}
For j:=1 to n do
Begin
s:=0;
For i:=1 to n do
s:=s+arr_px[i]*arr_x[j,i];
arr_py[j]:=s;
End;
Textcolor(5);
Writeln('2.Вероятности появления символов на входе приемника информации равны:');
Writeln(f,'Вероятности появления символов на входе приемника информации равны:');
Readkey;
For i:=1 to n do
Begin
Textcolor(15);
Write(arr_py[i]:7:4,' ':2);
Write(f,arr_py[i]:7:4,' ':2);
if i mod 8 =0 then
begin
writeln;
writeln(f);
end;
End;
For j:=1 to n do
Begin
write(f,'p(y',j,')=');
s:=0;
For i:=1 to n do
begin
s:=s+arr_px[i]*arr_x[j,i];
if arr_x[j,i]<>0 then
begin
write('+',arr_px[i]:2:2,'·',arr_x[j,i]:2:2);
write(f,'+',arr_px[i]:2:2,'·',arr_x[j,i]:2:2);
end;
end;
arr_py[j]:=s;
Writeln('=',s:5:4);
Writeln(f,'=',s:5:4);
End;
{=== Проверка ===}
s:=0;
Writeln(f);
Writeln(f,' Проверка:',' ':8);
Write(f,'S=');
Writeln;
Write(' Проверка:',' ':8);
For i:=1 to n do
begin
write(f,'+',arr_py[i]:2:4);
s:=s+arr_py[i];
end;
Writeln('s=',s:6:2);Writeln(f,'=',s:6:2,';');
Writeln(f);
{=============== Oпределим энтропию приемника информации ==============}
TextColor(5);
Writeln('Энтропия приемника информации равна:');
Writeln(f,'Энтропия приемника информации равна:');
Writeln('Промежуточные суммы:');
Writeln(f,'Промежуточные суммы:');
Readkey;
Textcolor(15);
write(f,'Entrop=');
for i:=1 to n do
write(f,'+',arr_py[i]:2:4,'·','log2(',arr_py[i]:2:4,')');
write(f,'= -(');
s:=0;
For i:=1 to n do
Begin
ds:=arr_py[i]*ln(arr_py[i])/ln(2);
Write(ds:7:3);Write(f,ds:7:3);
if i mod 8 =0 then writeln;
s:=s+ds;
End;
HY:=-s;
write(f,')=',HY:2:3);
Writeln;
Writeln(f);
Writeln('Результат:');
Writeln(f,'Результат:');
TextColor(15);
Writeln('H(Y)=',HY:6:3,' бит/симв.');
Writeln(f,' H(Y)=',HY:6:3,' бит/симв.');
Writeln(f);
{================ Определим общую условную энтропию ==================}
TextColor(5);
Writeln('3.Общая условная энтропия равна:');
Writeln(f,'Общая условная энтропия равна:');
Writeln('Промежуточные суммы:');
Writeln(f,'Промежуточные суммы:');
Readkey;
Textcolor(15);
H:=0;
write(f,'H(Y/X)=[');
For i:=1 to n do
Begin
s:=0;
write(f,'+',arr_px[i]:1:2,'·(');
For j:=1 to n do
IF arr_x[i,j]<>0 then
Begin
ds:=arr_px[i]*arr_x[i,j]*ln(arr_x[i,j])/ln(2);
Write(ds:7:3);Write(f,'+',arr_x[i,j]:1:2,'·log2(',arr_x[i,j]:1:2,')');
s:=s+ds;
End;
write(f,')');
Writeln;
H:=H+s;
End;
HYX:=-H;
write(f,']=',HYX:2:3);
Writeln;
Writeln(f);
Writeln('Результат:');
Writeln(f,'Результат:');
TextColor(15);
Writeln(' H(Y/X)=',HYX:6:3,' бит/симв.');
Writeln(f,' H(Y/X)=',HYX:6:3,' бит/симв.');
Writeln;
Writeln(f);
{============== Определим скорость передачи информации ==============}
TextColor(5);
Writeln('4.Скорость передачи инфoрмации равна:');
Writeln(f,'Скорость передачи информации равна:');
Writeln(f);
Readkey;
Ck:=V*(HY-HYX);
TextColor(15);
Writeln(' Ck=V[H(Y)-H(Y/X)]=V[H(X)-H(X/Y)]=',Ck:10,' бит/с');
Writeln(f,' Ck=V[H(Y)-H(Y/X)]=V[H(X)-H(X/Y)]=',Ck:10,' бит/с');
Writeln(f);
{== Определим потери в канале связи при передаче 500 символов алфавита ==}
TextColor(5);
Writeln('Потери в канале связи при передаче ',k,' символов алфавита равны:');
Writeln(f,'Потери в канале связи при передаче ',k,' символов алфавита равны:');
Writeln(f);
Readkey;
Ik:=k*HYX;
TextColor(15);
Writeln(' Ik=k*H(Y/X)=',Ik:10,' бит');
Writeln(f,' Ik=k*H(Y/X)=',Ik:10,' бит');
Writeln(f);
{========== Определим среднее количество принятой информации ==========}
TextColor(5);
Writeln('Среднее количество принятой информации равно:');
Writeln(f,'Среднее количество принятой информации равно:');
Writeln(f);
Readkey;
Ic:=k*(HY-HYX);
TextColor(15);
Writeln(' Ic=k*[H(Y)-H(Y/X)]=k*[H(X)-H(X/Y)]=',Ic:10,' бит');
Writeln(f,' Ic=k*[H(Y)-H(Y/X)]=k*[H(X)-H(X/Y)]=',Ic:10,' бит');
Writeln(f);
Readkey;
Close(f);
END.
Підсумок роботи програми
1.Энтропия источника информации равна:
Промежуточные суммы:
-0.524 -0.350 -0.113 -0.066 -0.152 -0.113 -0.216 -0.313
-0.269 -0.244 -0.269 -0.216 -0.152 -0.186 -0.066 -0.152
Результат:
H(X)= 3.399 бит/симв.
2.Вероятности появления символов на входе приемника информации равны:
0.3051 0.1102 0.0208 0.0117 0.0297 0.0210 0.0502 0.0888
0.0701 0.0604 0.0693 0.0498 0.0306 0.0392 0.0112 0.0299
Проверка: s= 1.00
Энтропия приемника информации равна:
Промежуточные суммы:
-0.523 -0.351 -0.116 -0.075 -0.151 -0.117 -0.217 -0.310
-0.269 -0.245 -0.267 -0.216 -0.154 -0.183 -0.073 -0.151
Результат:
H(Y)= 3.416 бит/симв.
3.Общая условная энтропия равна:
Промежуточные суммы:
-0.009 -0.021 -0.021
-0.007 -0.005 -0.012
-0.001 -0.001 -0.001
-0.001 -0.001 -0.001 -0.001 -0.001
-0.002 -0.001 -0.002
-0.001 -0.001 -0.001 -0.001 -0.001
-0.003 -0.006 -0.004 -0.006 -0.003
-0.010 -0.005 -0.010
-0.005 -0.002 -0.005
-0.004 -0.004 -0.003 -0.004 -0.004
-0.005 -0.005 -0.004 -0.005 -0.005
-0.003 -0.003 -0.004 -0.006 -0.003
-0.003 -0.002 -0.003
-0.003 -0.005 -0.003 -0.005 -0.003
-0.001 -0.001 -0.001 -0.001
-0.002 -0.002 -0.001Результат:
H(Y/X)= 0.248 бит/симв.
4. Скорость передачи инфoрмации равна:
Ck=V[H(Y)-H(Y/X)]=V[H(X)-H(X/Y)]= 1.267E+04 бит/с
5.Потери в канале связи при передаче 1500 символов алфавита равны:
Ik=k*H(Y/X)= 3.718E+02 бит
6.Среднее количество принятой информации равно:
Ic=k*[H(Y)-H(Y/X)]=k*[H(X)-H(X/Y)]= 4.752E+03 бит
Література
1 Гойфман Э.Ш., Лосев Ю.И. Передача информации в АСУ. – М.: Связь, 1976.
2 Колесник В.Д., Полтырев Г.Ш. Курс теории информации. –М.: Наука, 1982.
3 Цымбал В.П. Теория информации и кодирование. –М.: Высш. шк., 1986.
4 Гринченко А.Г. Теория информации и кодирование: Учебн. пособие. – Харьков: ХПУ, 2000.
... . 24 Вступ. Ціллю цієї курсової роботи являється закріплення знань основних положень курсу “Теорія Електричного зв’язку ”, шляхом проведення розрахунків характеристик різних систем передачі електрозв’язку та порівняння їх за допомогою розрахованих характеристик. Одним із пунктів курсової роботи являється підбір ...
... В АБС АКБ «ПРОМІНВЕСТБАНК» ТА ОЦІНКА РІВНЯ ВРАЗЛИВОСТІ БАНКІВСЬКОЇ ІНФОРМАЦІЇ 3.1 Постановка алгоритму задачі формування та опис елементів матриці контролю комплексної системи захисту інформації (КСЗІ) інформаційних об’єктів комерційного банку В дипломному дослідженні матриця контролю стану побудови та експлуатації комплексної системи захисту інформації в комерційному банку представлена у вигляді ...
... підрозділі менеджменту; організація ІСІЗМ вимагає введення науково обґрунтованої технології створення інформаційного забезпечення управління соціально-економічними та технологічними процесами в організаціях. Найважливішими відмінностями ІСІЗМ від інших інформаційних систем є: організація єдиного потоку даних між суб'єктом і об'єктом управління; побудова єдиної централізованої бази умовно-пості ...
... схеми експерименту і її опис, уточнення методики обробки отриманих експериментальних даних, отримання первинних експериментальних даних. На основі аналізу технологічного процесу як об'єкту управління і аналізу інформаційних потоків формулюється критерій управління і обмеження, розробляються попередні математичні моделі, формулюється завдання синтезу алгоритмів контролю і управління, здійснюється ...
0 комментариев