Інформація про навчальний заклад

ВУЗ:
Національний університет Львівська політехніка
Інститут:
Не вказано
Факультет:
Не вказано
Кафедра:
Кафедра програмного забезпечення

Інформація про роботу

Рік:
2004
Тип роботи:
Курсова робота
Предмет:
Методи та засоби комп’ютерних інформаційних технологій

Частина тексту файла (без зображень, графіків і формул):

Міністерство освіти та науки України Національний університет “Львівська політехніка” Кафедра програмного забезпечення Курсова робота з курсу: “Методи та засоби комп’ютерних інформаційних технологій” ЛЬВІВ – 2004 Зміст Постановка задачі 3  Теоретичні відомості до завдання № 1 4  Розв’язання завдання № 1 5  Теоретичні відомості до завдання № 2 6  Розв’язання завдання № 2 7  Теоретичні відомості до завдання № 3 9  Розв’язання завдання № 3 11  Висновок 14   Постановка задачі (Варіант № 9) Завдання №1 При передачі повідомлень по каналу зв’язку із шумами отримана наступна статистика: частота f1 із 100 раз була прийнята 97 раз, два рази була прийнята f2, один раз – f3. При передачі f2 98 раз прийнята f2, два рази f1. При передачі f3 96 раз прийнята f3, два рази f2, два рази f4. При передачі f4 99 раз прийнята f4, і один раз f3. Скласти умовну канальну матрицю і визначити ентропію прийнятих повідомлень, якщо р(f1)=0,37, р(f2)=0,3, р(f3)=0,23, р(f4)=0,1 Завдання №2 Скласти програму для визначення еквівалентного опору та напругу Ucd приведеної схеми. Дано: U = 100 B; R1 = 80 Ом; R2 = 300 Ом; R3 = 160 Ом; R4 = 200 Ом; R5 = 20 Ом; R6 = 30 Ом. Дослідити залежність чутливості Ucd від R1, R2, R3. Побудувати залежності ΔUcd від ΔR1, ΔR2, ΔR3. Завдання №3 Написати програму побудови коду Хемінга для передачі 11-ти розрядної комбінації 10110110110 реалізувати процедуру вправлення коду і продемонструвати її, якщо помилка має місце в 5-му розряді коректуючого коду. Завдання №1 Теоретичні відомості Термін умовної ентропії в теорії інформації використовується при визначення взаємозалежності між символами алфавіту який кодується, для визначення втрат при передачі інформації по каналах зв’язку, при обчисленні ентропії об’єднання. У всіх випадках при обчисленні умовної ентропії в тому чи іншому вигляді використовуються умови ймовірності. Якщо при передачі n повідомлень символ А з’явився m раз, символ В з’явився l раз, а символ А разом з символом В – k раз, то ймовірність появлення символу А р(А)=m/n, ймовірність появлення символу В р(В)=l/n, ймовірність появлення символів А і В р(АВ)=k/n, умовна ймовірність появлення символу А відносно символу В і умовна ймовірність появлення символу В відносно символу А  Якщо відома умовна ймовірність, то можна визначити і ймовірність одночасного появлення символів А і В, використовуючи формулу:  Від класичного визначення, формула умовної ентропії відрізняється тим, що в ній ймовірності – умовні:   де індекс і вибраний для характеристики довільного стану джерела повідомлень А, індекс j вибраний для характеристики довільного стану адресату В. Розрізняють часткову і загальну умовну ентропю повідомлень. Загальна умовна ентропія повідомлення В відносно повідомлення А характеризує кількість інформації, яка міститься в любому символі алфавіту, і визначається визначенням середнього по всіх символах, тобто по всіх станах з урахуванням ймовірності появлення символів алфавіту на невизначеність, яка залишається після того як адресат прийняв сигнал.  Часткова умовна ентропія визначається за формулою:  Поняття загальної і часткової умовної ентропії широко використовується при обчисленні інформаційних втрат в каналах зв’язку з шумами. У випадку коли ми передаємо m сигналів А і очікуємо получити m сигналів В, дія перешкод в каналах звязку повністю описується з допомогою канальної матриці. Розв’язок задачі. Завдання: При передачі повідомлень по каналу зв’язку із шумами отримана наступна статистика: частота f1 із 100 раз була прийнята 97 раз, два рази була прийнята f2, один раз – f3. При передачі f2 98 раз прийнята f2, два рази f1. При передачі f3 96 раз прийнята f3, два рази f2, два рази f4. При передачі f4 99 раз прийнята f4, і один раз f3. Скласти умовну канальну матрицю і визначити ентропію прийнятих повідомлень, якщо р(f1)=0,37, р(f2)=0,3, р(f3)=0,23, р(f4)=0,1 Розв’язок: 1). Складаємо канальну матрицю:  2). Визначаємо ентропію прийнятих повідомлень.      Ентропія приймача буде рівна:  Завдання №2 Теоретичні відомості Резистор - пасивний лінійний елемент, що володіє властивістю електричного опору. Струм і напруга електричного опору зв’язані законом Ома: U = RI. Величина, обернена до опору, називається електричною провідністю: G = 1/R. Активні лінійні елементи – це джерела електромагнітної енергії. Активні елементи поділяють на незалежні і залежні джерела. Незалежні джерела можуть бути ідеальними чи реальними. Ідеальні джерела електрорушійної сили характеризуються напругою, яка не залежить від струму і характеризується електрорушійною силою Е. Внутрішній опір ідеального джерела ЕРС рівний нулю. Реальне джерело ЕРС має внутрішній опір і може бути відображене у вигляді послідовно з’єднаних ЕРС Е і опору R. Ідеальне джерело струму: струм J джерела струму не залежить від напруги (внутрішня провідність джерела струму рівна нулю, опір джерела струму безмежно великий). Реальне джерело струму (з внутрішньою провідністю G = 1/R) може бути відображене у вигляді паралельної схеми, що містить джерело струму J , який чисельно дорівнює струму короткого замикання джерела струму і провідності G. Перехід від схеми джерела ЕРС до еквівалентної схеми джерела струму за наступними співвідношеннями: J = E/R, E = J/G, R = 1/G. Закон Ома: на ділянці однорідного кола сила струму прямо пропорційна прикладеній напрузі та обернено пропорційна опору ділянки: I = U/R Закони Кіргофа. Для написання законів Кіргофа необхідно прийняти додатній напрям струму в кожній вітці. Перший закон Кіргофа – алгебраїчна сума всіх струмів, що сходяться в будь-якому вузлі, дорівнює нулю.  Струми, направлені від вузла, умовно приймаються додатніми, а направлені до нього – від’ємними (або навпаки). Другий закон Кіргофа – алгебраїчна сума ЕРС замкнутого контуру дорівнює алгебраїчній сумі спадів напруг в ньому.  Напрям обходу контура вибирається довільно. Розв’язок задачі. Спочатку визначаємо загальний опір електричного кола: .  Використавши закони Ома і Кулона, запишемо: ; ; ; ; . Обчислення: Rзаг = 200 Ом; I1 = 0,5 A; U2 = 60 B; I2 = 0,2 A; I3 = 0,3 A; Ucd = 12 B. Дослідимо тепер залежність Ucd від R1, R2, R3. Почергово фіксуємо два значення опорів і змінюємо третє. R1, Ом Ucd, В  10 18,46  24 16,67  38 15,19  52 13,95  66 12,9  80 12  94 11,21  108 10,53  122 9,92  136 9,38  150 8,89   R2, Ом Ucd, В  230 11,44  244 11,57  258 11,7  272 11,8  286 11,9  300 12  314 12,09  328 12,17  342 12,24  356 12,31  370 12,37   R3, Ом Ucd, В  80 16.35  100 15.24  120 14.28  143 13.43  153 12.67  160 12.00  184 11.39  200 10.85  207 10.35  213 9.89  232 9.48   Завдання №3 Теоретичні відомості Код Хемінга - це код, який виявляє і виправляє в слові всі одиничні помилки і виявляє подвійні помилки. Код Хемінга відноситься до систематичних кодів. Систематичні коди -- це коди, в яких інформаційні та надлишкові символи розташовані на певних наперед визначених місцях. Код Хемінга, як і будь-який (n,k)-код, містить k інформаційних і (n-k) надлишкових символів. Надлишкова частина коду будується таким чином, щоб при декодуванні можна було б встановити не лише факт наявності помилок в даній комбінації, Але й вказати номер позиції, в якій сталась помилка. Це досягається шляхом багатократної перевірки прийнятої комбінації на парність. Кількість перевірок рівна кількості надлишкових символів. При кожній перевірці отримують двійковий контрольний символ. Якщо результат перевірки дає парне число, то контрольному символу присвоюється ”0”, якщо непарне - то “1”. В результаті всіх перевірок утворюється (n-k)-розрядне двійкове число, що вказує на номер спотвореного символа. Для виправлення помилки достатньо змінити значення даного символа на протилежне. Необхідна кількість перевірочних символів виводиться з формули  . Значення перевірочних символів і номери їх позицій за методом Хемінга встановлюється одночасно з вибором контрольних груп кодової комбінації. Алгоритм кодування методом Хемінга: Маємо вхідний потік нулів і одиниць: k1 k2 k3 k4 k5 k6 ... kn Нехай кодова довжина (довжина відрізків, на які ділиться потік)рівна 7 біт.Для того,щоб їх закодувати, потрібно на певні визначені місцявнести надлишкові символи,які потім допоможуть декодувати цей потік. В коді Хемінга надлишкові символи ставляться на місцях,що є степенями числа 2. Тобто, вихідною стрічкою буде потік b1 b2 b3 b4 b5 b6 b7 b8 b9 b10 b11 r1 r2 k1 r3 k2 k3 k4 r4 k5 k6 k7 де r[i] - надлишкові символи, k[i] - інформаційні символи Методика побудови. Символи r[i] знаходяться наступним чином : порядковий номер в двійковій системі числення 00001 b1 r1=k1 xor k2 xor k4 xor k5 00010 b2 r2=k1 xor k3 xor k4 00011 b3 k1 00100 b4 r3=k2 xor k3 xor k4 00101 b5 k2 00110 b6 k3 00111 b7 k4 01000 b8 r4=k5 xor k6 xor k7 01001 b9 k5 01010 b10 k6 01011 b11 k7 r1-це сума по модулю 2 тих k[i], в яких в першому розряді порядкового номера "1"; r2-це сума по модулю 2 тих k[i], в яких в другому розряді порядкового номера "1"; r3- третьому; r4- четвертому; Алгоритм декодування методом Хемінга: Для декодування записують систему рівнянь наступного вигляду r1 xor k1 xor k2 xor k4 xor k5 xor k7 = 0 r2 xor k1 xor k3 xor k4 xor k6 xor k7 = 0 r3 xor k2 xor k3 xor k4 xor = 0 r4 xor k5 xor k6 xor k7 = 0 1 xor 1 = 0 0 xor 0 = 0 1 xor 0 = 1 0 xor 1 = 1 Якщо кодове слово правильне, то система рівнянь виконується. Якщо в кодовому слові є помилка, то права частина системи буде складатись не лише з нулів. Праву частину називають синдромом або розпізнавачем помилки. Щоб знайти помилку, необхідно прочитати синдром знизу вверх і перевести його в 10-ву систему числення. одержане число буде номером спотвореного символа. Розв’язок задачі. Текст програми uses crt,dos; var numpar:word; s:string; procedure code; var i,r1,r2,r3,r4,r5,n,k:word; a:array[1..20] of word; label point1,point2; begin for i:=1 to 20 do a[i]:=0; n:=length(s); k:=3; if n>4 then inc(k); if n>11 then inc(k); for i:=1 to n do a[i]:=word(s[i])-48; writeln('information symbols: ',n); writeln('excessive symbols: ',k); r1:=a[1] xor a[2] xor a[4] xor a[5] xor a[7] xor a[9] xor a[11] xor a[12] xor a[14]; { writeln('r1=',r1);} r2:=a[1] xor a[3] xor a[4] xor a[6] xor a[7] xor a[10] xor a[11] xor a[13] xor a[14]; { writeln('r2=',r2); } r3:=a[2] xor a[3] xor a[4] xor a[8] xor a[9] xor a[10] xor a[11] xor a[15]; { writeln('r3=',r3);} if n<5 then goto point1; r4:=a[5] xor a[6] xor a[7] xor a[8] xor a[9] xor a[10] xor a[11]; { writeln('r4=',r4);} if n<12 then goto point1; r5:=a[12] xor a[13] xor a[14] xor a[15]; { writeln('r5=',r5);} point1: insert (char(r1+48),s,1); insert (char(r2+48),s,2); insert (char(r3+48),s,4); if n<5 then goto point2; insert (char(r4+48),s,8); if n<12 then goto point2; insert (char(r5+48),s,16); point2: writeln('output flow: ',s); end; procedure decode; var i,r1,r2,r3,r4,r5,c1,c2,c3,c4,c5,n,k:word; a:array[1..30] of word; label point1,point2; begin for i:=1 to 30 do a[i]:=0; n:=length(s); k:=3; for i:=1 to n do a[i]:=word(s[i])-48; r1:=a[1]; r2:=a[2]; r3:=a[4]; r4:=a[8]; r5:=a[16]; if n>7 then inc(k); if n>15 then inc(k); writeln('information symbols: ',n); writeln('excessive symbols: ',k); delete (s,1,1); delete (s,1,1); delete (s,2,1); if n<8 then goto point2; delete (s,5,1); if n<16 then goto point2; delete (s,12,1); point2: for i:=1 to n do a[i]:=0; for i:=1 to n-k do a[i]:=word(s[i])-48; c1:=r1 xor a[1] xor a[2] xor a[4] xor a[5] xor a[7] xor a[9] xor a[11] xor a[12] xor a[14]; { writeln('c1=',c1);} c2:=r2 xor a[1] xor a[3] xor a[4] xor a[6] xor a[7] xor a[10] xor a[11] xor a[13] xor a[14]; { writeln('c2=',c2); } c3:=r3 xor a[2] xor a[3] xor a[4] xor a[8] xor a[9] xor a[10] xor a[11] xor a[15]; { writeln('c3=',c3);} if n<8 then goto point1; c4:=r4 xor a[5] xor a[6] xor a[7] xor a[8] xor a[9] xor a[10] xor a[11]; { writeln('c4=',c4);} if n<16 then goto point1; c5:=r5 xor a[12] xor a[13] xor a[14] xor a[15]; gotoxy(10,10); { writeln('c5=',c5);} point1: writeln('output flow: ',s); end; begin {clrscr;} if ParamCount = 0 then begin Writeln('Zinchenko Vitaliy (KN-37) Lviv - 2004'); Writeln('-------------------------------------'); Writeln('Error: No parameters in command line'); writeln('Usage: heming.exe <command> <code>'); writeln(' command: c - to code'); writeln(' d - to decode'); end else begin if ParamStr(1)='c' then begin Writeln('Zinchenko Vitaliy (KN-37) Lviv - 2004'); Writeln('-------------Coding------------------'); s:=paramstr(2); writeln('input flow: ',s); code; end else if ParamStr(1)='d' then begin Writeln('Zinchenko Vitaliy (KN-37) Lviv - 2004'); Writeln('-------------Decoding----------------'); s:=paramstr(2); writeln('input flow: ',s); decode; end else begin Writeln('Zinchenko Vitaliy (KN-37) Lviv - 2004'); Writeln('-------------------------------------'); Writeln('Error in command line'); writeln('Usage: heming.exe <command> <code>'); writeln(' command: c - to code'); writeln(' d - to decode'); end end; end. Висновок В даній курсовій роботі розглянуті одні з основних розділів науки, яка вивчає інформаційні технології. Розв’язані задачі торкаються таких тем як кількісна оцінка інформації, основні закони і методи розрахунку лінійних електричних ланцюгів, виявлення і виправлення помилок в повідомленнях. Таким чином, очевидно, що для вирішення реальних проблем розробки, проектування, реалізації інформаційних технологій необхідні знання в багатьох розділах математики, електротехніки, програмування і суміжних науках.
Антиботан аватар за замовчуванням

01.01.1970 03:01-

Коментарі

Ви не можете залишити коментар. Для цього, будь ласка, увійдіть або зареєструйтесь.

Ділись своїми роботами та отримуй миттєві бонуси!

Маєш корисні навчальні матеріали, які припадають пилом на твоєму комп'ютері? Розрахункові, лабораторні, практичні чи контрольні роботи — завантажуй їх прямо зараз і одразу отримуй бали на свій рахунок! Заархівуй всі файли в один .zip (до 100 МБ) або завантажуй кожен файл окремо. Внесок у спільноту – це легкий спосіб допомогти іншим та отримати додаткові можливості на сайті. Твої старі роботи можуть приносити тобі нові нагороди!
Нічого не вибрано
0%

Оголошення від адміністратора

Антиботан аватар за замовчуванням

Подякувати Студентському архіву довільною сумою

Admin

26.02.2023 12:38

Дякуємо, що користуєтесь нашим архівом!