Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Практические работы / Практическая работа №3 ПДБС

.docx
Скачиваний:
36
Добавлен:
03.10.2022
Размер:
110.44 Кб
Скачать

МИНИСТЕРСТВО ЦИФРОВОГО РАЗВИТИЯ И МАССОВЫХ КОММУНИКАЦИЙ РОССИЙСКОЙ ФЕДЕРАЦИИ

Федеральное государственное бюджетное образовательное учреждение

высшего образования

«Санкт-Петербургский государственный университет телекоммуникаций

им. проф. М. А. Бонч-Бруевича»

Кафедра сетей связи и передачи данных

Отчет по практической работе №3

«Расчет потерь на трассе радиоканала по моделям Уолфиша-Икегами и Кся-Бертони»

По дисциплине: «Передача данных в беспроводных сетях»

Цель работы:

Ознакомиться с принципами расчета потерь в радиоканале согласно моделям Уолфиша–Икегами и Кся–Бертони.

Исходные данные:

1. Для заданной частоты f рассчитать и построить графики зависимости величины потерь в дБ от расстояния (диапазон 200–1500 м, точки через 100 м) для нижеуказанных вариантов. Графики строить на одном рисунке.

а) Модель Уолфиша–Икегами. В зоне прямой видимости.

В зоне прямой видимости («line of sight», LOS) для вычисления величины потерь при распространении используется формула:

Изменяя от 200 до 1500 с шагом 100, получаем следующие значения для

Llos = 87.34934060082827 дБ

Llos = 91.92771333627599 дБ

Llos = 95.17612048809178 дБ

Llos = 97.69578082630125 дБ

Llos = 99.7544932235395 дБ

Llos = 101.49510975393545 дБ

Llos = 103.0029003753553 дБ

Llos = 104.33286595898721 дБ

Llos = 105.52256071356476 дБ

Llos = 106.59877052767862 дБ

Llos = 107.58127311080301 дБ

Llos = 108.48508787354251 дБ

Llos = 109.32188964119896 дБ

Llos = 110.10093344901247 дБ

б) Модель Уолфиша–Икегами. Вне зоны прямой видимости. Высота БС hbs1. Город средних размеров.

С помощью данного кода:

Lmsd_11 = np.zeros(14,)

Lnlos_1 = np.zeros(14,)

for i in range(14):

Lmsd_11 = Lbsh1 + ka1 + kd1 * math.log10(d[i]) + kfsr * math.log10(f) - 9 * math.log10 (b)

L_1 = Lrts + Lmsd_11

if (L_1 > 0):

Lnlos_1[i] = 32.44 + 20 * math.log10(d[i]) + 20 * math.log10(f) +Lmsd_11+Lrts

else:

Lnlos_1[i] = 32.44 + 20 * math.log10(d[i]) + 20 * math.log10(f)

print('Lnlos_1 = ',Lnlos_1[i], 'дБ')

Получим следующие значения:

Lnlos_1 = 112.99924168278172 дБ

Lnlos_1 = 119.6907095268976 дБ

Lnlos_1 = 124.438381518013 дБ

Lnlos_1 = 128.12096201231913 дБ

Lnlos_1 = 131.12984936212888 дБ

Lnlos_1 = 133.6738273680922 дБ

Lnlos_1 = 135.87752135324428 дБ

Lnlos_1 = 137.82131720624477 дБ

Lnlos_1 = 139.5601018475504 дБ

Lnlos_1 = 141.13302388356297 дБ

Lnlos_1 = 142.56898919736017 дБ

Lnlos_1 = 143.88994923521022 дБ

Lnlos_1 = 145.11296720332348 дБ

Lnlos_1 = 146.2515696916663 дБ

в) Модель Уолфиша–Икегами. Вне зоны прямой видимости. Высота БС hbs1. Город с плотной застройкой.

С помощью данного кода:

Lmsd_12 = np.zeros(14,)

Lnlos_2 = np.zeros(14,)

for i in range(14):

Lmsd_12 = Lbsh1 + ka1 + kd1 * math.log10(d[i]) + kfpl * math.log10(f) - 9 * math.log10 (b)

L_2 = Lrts + Lmsd_12

if (L_2 > 0):

Lnlos_2[i] = 32.44 + 20 * math.log10(d[i]) + 20 * math.log10(f) +Lmsd_12+Lrts

else:

Lnlos_2[i] = 32.44 + 20 * math.log10(d[i]) + 20 * math.log10(f)

print('Lnlos_2 = ',Lnlos_2[i], 'дБ')

Получим следующие значения:

Lnlos_2 = 114.29170509203333 дБ

Lnlos_2 = 120.98317293614922 дБ

Lnlos_2 = 125.73084492726461 дБ

Lnlos_2 = 129.41342542157076 дБ

Lnlos_2 = 132.4223127713805 дБ

Lnlos_2 = 134.96629077734377 дБ

Lnlos_2 = 137.1699847624959 дБ

Lnlos_2 = 139.11378061549638 дБ

Lnlos_2 = 140.85256525680205 дБ

Lnlos_2 = 142.42548729281458 дБ

Lnlos_2 = 143.86145260661178 дБ

Lnlos_2 = 145.18241264446183 дБ

Lnlos_2 = 146.40543061257506 дБ

Lnlos_2 = 147.54403310091794 дБ

г) Модель Уолфиша–Икегами. Вне зоны прямой видимости. Высота БС hbs2. Город средних размеров.

С помощью данного кода:

Lmsd_21 = np.zeros(14,)

Lnlos_3 = np.zeros(14,)

for i in range(14):

if (hbs2 > hr):

ka2 = 54

elif (d[i] >= 0.5 and hbs2 <= hr):

ka2 = 54 - 0.8*Dhbs2

elif (d[i] < 0.5 and hbs2 <= hr):

ka2 = 54 - 1.6*Dhbs2*d[i]

Lmsd_21 = Lbsh2 + ka2 + kd2 * math.log10(d[i]) + kfsr * math.log10(f) - 9 * math.log10 (b)

L_3 = Lrts + Lmsd_21

if (L_3 > 0):

Lnlos_3[i] = 32.44 + 20 * math.log10(d[i]) + 20 * math.log10(f) +Lmsd_21+Lrts

else:

Lnlos_3[i] = 32.44 + 20 * math.log10(d[i]) + 20 * math.log10(f)

print('Lnlos_3 = ',Lnlos_3[i], 'дБ')

Получим следующие значения:

Lnlos_3 = 131.21289699901132 дБ

Lnlos_3 = 140.05156385428535 дБ

Lnlos_3 = 146.6480451422825 дБ

Lnlos_3 = 152.0159340458023 дБ

Lnlos_3 = 155.48671199755654 дБ

Lnlos_3 = 158.42121294303175 дБ

Lnlos_3 = 160.9631932855537 дБ

Lnlos_3 = 163.20537885283056 дБ

Lnlos_3 = 165.21108218907347 дБ

Lnlos_3 = 167.0254615551757 дБ

Lnlos_3 = 168.68186014082772 дБ

Lnlos_3 = 170.2055991318565 дБ

Lnlos_3 = 171.6163610863029 дБ

Lnlos_3 = 172.92974904434755 дБ

д) Модель Уолфиша–Икегами. Вне зоны прямой видимости. Высота БС hbs2. Город с плотной застройкой.

С помощью данного кода:

Lmsd_22 = np.zeros(14,)

Lnlos_4 = np.zeros(14,)

for i in range(14):

if (hbs2 > hr):

ka2 = 54

elif (d[i] >= 0.5 and hbs2 <= hr):

ka2 = 54 - 0.8*Dhbs2

elif (d[i] < 0.5 and hbs2 <= hr):

ka2 = 54 - 1.6*Dhbs2*d[i]

Lmsd_22 = Lbsh2 + ka2 + kd2 * math.log10(d[i]) + kfpl * math.log10(f) - 9 * math.log10 (b)

L_4 = Lrts + Lmsd_22

if (L_4 > 0):

Lnlos_4[i] = 32.44 + 20 * math.log10(d[i]) + 20 * math.log10(f) +Lmsd_22+Lrts

else:

Lnlos_4[i] = 32.44 + 20 * math.log10(d[i]) + 20 * math.log10(f)

print('Lnlos_4 = ',Lnlos_4[i], 'дБ')

Получим следующие значения:

Lnlos_4 = 132.50536040826296 дБ

Lnlos_4 = 141.344027263537 дБ

Lnlos_4 = 147.9405085515341 дБ

Lnlos_4 = 153.30839745505392 дБ

Lnlos_4 = 156.77917540680812 дБ

Lnlos_4 = 159.71367635228336 дБ

Lnlos_4 = 162.25565669480528 дБ

Lnlos_4 = 164.49784226208214 дБ

Lnlos_4 = 166.5035455983251 дБ

Lnlos_4 = 168.31792496442728 дБ

Lnlos_4 = 169.9743235500793 дБ

Lnlos_4 = 171.49806254110808 дБ

Lnlos_4 = 172.90882449555454 дБ

Lnlos_4 = 174.22221245359913 дБ

е) Модель Кся–Бертони. Высота БС hbs1.

С помощью данного кода:

x = w/2

teta = math.atan(Dhms/x)

r = math.sqrt(Dhms**2+x**2)

lambd = (3*10**8)/(f*10**6)

pi = math.pi

L = np.zeros(14,)

for i in range(14):

L[i] = -10*math.log10((lambd/(4*pi*d[i]*10**3))**2)-10*math.log10((lambd/(2*pi**2*r))*(1/teta-(1/((2*pi)+teta)))**2)-10*math.log10(2.35**2*((Dhbs1/(d[i]*10**3))*math.sqrt(b/lambd))**1.8)

print('L = ',L[i], 'дБ')

Получим следующие значения:

L = 110.23925904319415 дБ

L = 116.93072688731004 дБ

L = 121.67839887842544 дБ

L = 125.36097937273159 дБ

L = 128.36986672254133 дБ

L = 130.91384472850464 дБ

L = 133.11753871365673 дБ

L = 135.06133456665722 дБ

L = 136.80011920796287 дБ

L = 138.37304124397542 дБ

L = 139.80900655777262 дБ

L = 141.12996659562265 дБ

L = 142.35298456373593 дБ

L = 143.49158705207876 дБ

Рисунок 1. Графики зависимости величины потерь в дБ от расстояния.