Ім'я файлу: Теорія_інформації_Канали_Зв'язку.pdf
Розширення: pdf
Розмір: 387кб.
Дата: 03.12.2023
скачати

Міністерство освіти і науки України
Львівський національний університет імені Івана Франка
Факультет радіоелектроніки та комп’ютерних технологій
Кафедра радіофізики та комп’ютерних технологій
Звіт
Про виконання лабораторної роботи №4
Канали зв’язку
Виконав:
Студент групи ФеІм-11с
Підлужний Ілля
Перевірив:
Болеста І. М.
Львів 2023

Тема: Канали зв’язку
Мета: Виконавши завдання лабораторної роботи визначити які канали зв’язку надають більше інформації в залежності від ймовірності станів системи.
Хід роботи
№1 Мінімальне число зважувань, яке потрібне, аби серед 27 монет знайти фальшиву (легшу) = 3. Алгоритм буде наступним:
1. Ділимо всі монети на три частини.
2. Зважуємо дві випадкові частини одна з одною.
3. Якщо вони мають рівну масу, то фальшива монета в третій частині (яка не приймала участь у зважуванні).
4. Якщо одна з частин важить менше ніж інша - фальшива монета в ній.
5. Повторюємо до поки не знайдемо найлегшу монету
За умови, що монет 27 - частини будуть ділитись по 9-ть монет, потім по 3 монети, а потім по 1-й. Тому найменша кількість зважувань дорівнює трьом.
Це також можна обрахувати за формулою
𝑁 = log
3
(27)
, де N - кількість зважувань. В залежності від кількості монет - основу логарифма треба змінити на більш підходящу.
№2 Порахувавши кількість інформації, яка припадає на кожну букву в обох випадках. А саме, коли ймовірність використання букви - природня та штучна
(ймовірність появи кожної букви однакова).
Я дійшов висновку, що за рівно ймовірнісною появи букв - всі букви переносять рівну кількість інформації, а це значить, що будь-який набір букв матиме однакову кількість інформації, що не є правдою.
У випадку чітко сформованої-природньої ймовірності появи букв у тексті ми отримуємо вже знайомі нам слова - які переносять хоча б крихту
інформації. Відповідно невизначеність за рівномірного розподілу більша.

№4 При порівнянні кількості інформації й ентропії основною величиною виступає ймовірність появи дискретної величини. Відповідно, якщо в обох ансамблях ймовірності однакові - тоді й ентропії в них однакові.
№5 Створив програму, для визначення ентропії H(U), H(V), H
v
(U), H(UV).
(Результат роботи програми наведено на рисунку 1)
Column_Sum=np.sum(P,axis=0)
Row_Sum=np.sum(P,axis=1)
Hv-= (Rows[i]*m.log(Rows[i])) ##NATURAL log e
Hu-= (Columns[j]*m.log(Columns[j]))
Huv-=Rows[i]*(Columns[j]/Rows[i])*m.log(Rows[i])*m.log(Columns[j]
HvU-=Rows[j]*(Columns[i]/Rows[j])*m.log(Columns[i]/Rows[j])
Рис. 1. Результати визначення ентропії, використовуючи натуральний логарифм.

№6 Створив програму, для визначення кількості інформації I(z). (Результат роботи програми наведено на рисунку 2)
Hz -= m.log(Columns[i])
Hwz -= m.log(Columns[i]/Rows[j])
I(z)=H(Z)-Hw(Z)
Рис. 2. Результати визначення середньої кількості інформації, використовуючи натуральний логарифм.
Висновок: На цій лабораторній роботі я розширив своє розуміння тем ентропії, кількості інформації та каналів зв’язку. Описав алгоритм для знаходження фальшивої монети, порівняв невизначеності ансамблів даних за різних умов.
Написав програму для обрахунку ентропії та кількості інформації дискретних величин, які представлені у вигляді матриць.

Додаток 1 import math summa1 = 0 summa2 = 0
Nerivnomorna = [0.134,0.082,0.070,0.070,
0.056,0.051,0.046,0.043,
0.038,0.037,0.036,0.036,
0.033,0.028,0.028,0.027,
0.025,0.025,0.021,0.019,
0.015,0.013,0.011,0.010,
0.010,0.009,0.009,0.008,
0.007,0.006,0.005,0.005]
Rivnomorna = [0.03125,0.03125,0.03125,0.03125,
0.03125,0.03125,0.03125,0.03125,
0.03125,0.03125,0.03125,0.03125,
0.03125,0.03125,0.03125,0.03125,
0.03125,0.03125,0.03125,0.03125,
0.03125,0.03125,0.03125,0.03125,
0.03125,0.03125,0.03125,0.03125,
0.03125,0.03125,0.03125,0.03125,]
for i in range (len(Nerivnomorna)):
summa1 += (Nerivnomorna[i]*math.log(Nerivnomorna[i],2))
summa2 += (Rivnomorna[i]*math.log(Rivnomorna[i],2))
print ("Кількість інформації = ", summa1, "одиниць")
print ("Кількість інформації = ", summa2, "одиниць")
if summa2 print("Невизначеність за рівномірного розподілу більша")
else:
print("Невизначеність за нерівномірного розподілу більша
Додаток 2 import math as m import numpy as np
P=np.matrix ([[0.4, 0.1, 0.0], [0.0,0.2,0.1], [0.0,0.0,0.2]])
print("matrix",'\n',P,'\n')
Column_Sum=np.sum(P,axis=0)
Row_Sum=np.sum(P,axis=1)
print("Sum of rows: ",'\n',Row_Sum, '\n')
print("Sum of Colums: ",'\n',Column_Sum, '\n')
Rows = np.squeeze(np.asarray(Row_Sum))
Columns = np.squeeze(np.asarray(Column_Sum))
Hv=0
for i in range(3):
Hv-= (Rows[i]*m.log(Rows[i])) ##NATURAL LOG(E)
print("H(V) = ",Hv)
Hu=0
for j in range(3):
Hu-= (Columns[j]*m.log(Columns[j])) ##NATURAL LOG(E)
print("H(U) = ",Hu)
Huv=0
for i in range(3):
for j in range(3):
Huv-
=Rows[i]*(Columns[j]/Rows[i])*m.log(Rows[i])*m.log(Columns[j]/Rows[i])
print("H(UV) = ",Huv)
HvU=0
for i in range(3):
for j in range(3):
HvU-=Rows[j]*(Columns[i]/Rows[j])*m.log(Columns[i]/Rows[j])
print("Hv(U) =",HvU,'\n')
print("H(UV) = H(V)+Hv(U) =", Hv+HvU)
Додаток 3 import math as m import numpy as np
P=np.matrix ([[0.4, 0.1, 0.0], [0.0,0.2,0.1], [0.0,0.0,0.2]])
print("matrix",'\n',P,'\n')
Column_Sum=np.sum(P,axis=0)
Row_Sum=np.sum(P,axis=1)
print("Sum of rows: ",'\n',Row_Sum, '\n')
print("Sum of Colums: ",'\n',Column_Sum, '\n')
Rows = np.squeeze(np.asarray(Row_Sum))
Columns = np.squeeze(np.asarray(Column_Sum))
Hz=0
for i in range(3):
Hz-= m.log(Columns[i])
print("Апріорна невизначенність H(z) = ",Hz,'\n')
Hwz=0
for i in range(3):
for j in range(3):
Hwz -= m.log(Columns[i]/Rows[j])
print("H(z/w) = ", Hwz, '\n')
print("Кількість інформації I(z)=H(Z)-Hw(Z) = ", Hz-Hwz)

скачати

© Усі права захищені
написати до нас