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

Практические работы / Отчет по практической работе №6 ПДБС

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

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

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

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

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

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

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

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

«Оценка потерь на трассе радиоканала в случае дифракции на цилиндре»

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

Цель работы:

Целью данной работы является ознакомление с механизмом дифракции радиосигнала на цилиндре и принципами оценки величины потерь, вызываемых данным типом дифракции.

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

1. Для заданных частоты f и расстояния b рассчитать (двумя способами, для каждого способа считать отдельно для гладкой поверхности с R = 1 и отдельно для неровной R = 0,65) и построить графики зависимости величины потерь на дифракцию на цилиндре в дБ от расстояния d = d1 + d2 при изменении расстояния a (диапазон 1–10 км, точки через 1 км) для высоты препятствия H = H’ + h0(a) (учесть кривизну земной поверхности). Для сравнения привести график потерь в свободном пространстве, посчитанный по формуле (3.3) для тех же расстояний d. Графики строить на одном рисунке (всего должно получиться пять кривых).

Произведем расчет первым способом:

Ldif_1 = np.zeros(10,)

Ldif_1_65 = np.zeros(10,)

d = np.zeros(10,)

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

for i in range(10):

d_1 = (a[i]*10**-3)+(b*10**-3)

h0 = ((a[i]*10**-3)*(d_1-(a[i]*10**-3)))/17

H = H_ne + h0

d1 = math.sqrt(a[i]**2+(H-hT)**2)

d2 = math.sqrt(b**2+(H-hR)**2)

d[i] = d1+d2

beta1 = math.acos((H-hT)/d1)

beta2 = math.acos((H-hR)/d2)

beta = beta1 + beta2

alpha = (180*(math.pi/180))-beta

r = (2*Ds*a[i]*b)/(alpha*((a[i]**2) + (b**2)))

Lr = 11.7 * alpha * math.sqrt((math.pi*r)/lambd)

h = H - (hT+a[i]*((hR-hT)/(a[i]+b)))

v = h*math.sqrt((2/lambd)*(1/d1+1/d2))

if (v > - 0.7):

Lwdg = 6.9 + 20*math.log10(math.sqrt((v-0.1)**2+1)+v-0.1)

else:

Lwdg = 0

Ldif_1[i] = Lwdg + Lr

Ldif_1_65[i] = Lwdg + (Lr*0.65)

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

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

Получим данные значения:

Ldif_1 = 31.988390559840955 дБ

Ldif_1_65 = 26.445822978452583 дБ

Ldif_1 = 32.360359417218206 дБ

Ldif_1_65 = 26.296679186142832 дБ

Ldif_1 = 32.81412915402575 дБ

Ldif_1_65 = 26.465951577780082 дБ

Ldif_1 = 32.980165713068466 дБ

Ldif_1_65 = 26.52784484173771 дБ

Ldif_1 = 32.890938459680555 дБ

Ldif_1_65 = 26.457191715566605 дБ

Ldif_1 = 32.63317682608651 дБ

Ldif_1_65 = 26.293544960153945 дБ

Ldif_1 = 32.2816580220147 дБ

Ldif_1_65 = 26.078061449986627 дБ

Ldif_1 = 31.88836326462465 дБ

Ldif_1_65 = 25.84079076755467 дБ

Ldif_1 = 31.48589101409344 дБ

Ldif_1_65 = 25.600873512967482 дБ

Ldif_1 = 31.093242962486897 дБ

Ldif_1_65 = 25.369462430617986 дБ

Произведем расчет вторым способом:

Ldif_2 = np.zeros(10,)

Ldif_2_65 = np.zeros(10,)

for i in range(10):

pl = math.sqrt(((a[i]+b)**2)+(hT-hR)**2)

Hbeam = ((b*hT) + (a[i]*hR))/(a[i]+b)

d_1 = (a[i]*10**-3)+(b*10**-3)

h0 = ((a[i]*10**-3)*(d_1-(a[i]*10**-3)))/17

H = H_ne + h0

F = Hbeam - H

F1 = 17.31 * math.sqrt((1/(f*10**-3)) * (((a[i]*10**-3) * (b*10**-3))/((a[i]*10**-3)+(b*10**-3))))

x = F/F1

Lsph = -38.68 * x + 21.66

if (x >= -0.5):

Lwdg = (1.377 * (x**2)) - (11.31 * x) + 6

else:

Lwdg = -50.4/(1.6 - x) + 36

Ldif_2[i] = Lwdg + (Lsph - Lwdg)

Ldif_2_65[i] = Lwdg + 0.65 * (Lsph - Lwdg)

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

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

Получим данные значения:

Ldif_2 = 59.38527293551196 дБ

Ldif_2_65 = 44.35078599090216 дБ

Ldif_2 = 53.94641509701022 дБ

Ldif_2_65 = 40.419940848298666 дБ

Ldif_2 = 52.30605092241662 дБ

Ldif_2_65 = 39.225266938861225 дБ

Ldif_2 = 51.71734866366435 дБ

Ldif_2_65 = 38.79539879561544 дБ

Ldif_2 = 51.55659712467309 дБ

Ldif_2_65 = 38.67791337018634 дБ

Ldif_2 = 51.6060609987903 дБ

Ldif_2_65 = 38.71406893916213 дБ

Ldif_2 = 51.771387576687076 дБ

Ldif_2_65 = 38.83488298953033 дБ

Ldif_2 = 52.00580637847003 дБ

Ldif_2_65 = 39.006104822892 дБ

Ldif_2 = 52.2838727270576 дБ

Ldif_2_65 = 39.209083397055934 дБ

Ldif_2 = 52.59075859477282 дБ

Ldif_2_65 = 39.43294454501556 дБ

Расчет потерь в свободном пространстве:

Llos = np.zeros(10,)

for i in range(10):

Llos[i] = 42.6 + 26*math.log10((a[i]*10**-3)+(b*10**-3)) + 20*math.log10(f)

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

Получим данные значения:

Llos = 127.49510975393544 дБ

Llos = 129.0029003753553 дБ

Llos = 130.3328659589872 дБ

Llos = 131.52256071356476 дБ

Llos = 132.5987705276786 дБ

Llos = 133.581273110803 дБ

Llos = 134.4850878735425 дБ

Llos = 135.32188964119894 дБ

Llos = 136.10093344901247 дБ

Llos = 136.8296802626188 дБ

Рисунок 1. графики зависимости величины потерь на дифракцию на цилиндре в дБ от расстояния d = d1 + d2 при изменении расстояния a.

2. Для заданных частоты f и расстояния a рассчитать (двумя способами, для каждого способа считать отдельно для гладкой поверхности с R = 1 и отдельно для неровной R = 0,65) и построить графики зависимости величины потерь на дифракцию на цилиндре в дБ от расстояния d = d1 + d2 при изменении расстояния b (диапазон 1–10 км, точки через 1 км) для высоты препятствия H = H 0 + h0(a) (учесть кривизну земной поверхности). Для сравнения привести график потерь в свободном пространстве, посчитанный по формуле (3.3) для тех же расстояний d. Графики строить на одном рисунке (всего должно получиться пять кривых).

Произведем расчет первым способом:

Ldif_1 = np.zeros(10,)

Ldif_1_65 = np.zeros(10,)

d = np.zeros(10,)

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

for i in range(10):

d_1 = (a*10**-3)+(b[i]*10**-3)

h0 = ((a*10**-3)*(d_1-(a*10**-3)))/17

H = H_ne + h0

d1 = math.sqrt(a**2+(H-hT)**2)

d2 = math.sqrt(b[i]**2+(H-hR)**2)

d[i] = d1+d2

beta1 = math.acos((H-hT)/d1)

beta2 = math.acos((H-hR)/d2)

beta = beta1 + beta2

alpha = (180*(math.pi/180))-beta

r = (2*Ds*a*b[i])/(alpha*((a**2) + (b[i]**2)))

Lr = 11.7 * alpha * math.sqrt((math.pi*r)/lambd)

h = H - (hT+a*((hR-hT)/(a+b[i])))

v = h*math.sqrt((2/lambd)*(1/d1+1/d2))

if (v > - 0.7):

Lwdg = 6.9 + 20*math.log10(math.sqrt((v-0.1)**2+1)+v-0.1)

else:

Lwdg = 0

Ldif_1[i] = Lwdg + Lr

Ldif_1_65[i] = Lwdg + (Lr*0.65)

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

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

Получим данные значения:

Ldif_1 = 42.9685082673074 дБ

Ldif_1_65 = 35.04654594324066 дБ

Ldif_1 = 40.17428829828392 дБ

Ldif_1_65 = 32.304549733470935 дБ

Ldif_1 = 38.06270670834047 дБ

Ldif_1_65 = 30.455703043999378 дБ

Ldif_1 = 36.15499822809981 дБ

Ldif_1_65 = 28.920130307096915 дБ

Ldif_1 = 34.42535437427678 дБ

Ldif_1_65 = 27.596132498957722 дБ

Ldif_1 = 32.890938459680555 дБ

Ldif_1_65 = 26.457191715566605 дБ

Ldif_1 = 31.55272403108568 дБ

Ldif_1_65 = 25.484114565169747 дБ

Ldif_1 = 30.39655335032792 дБ

Ldif_1_65 = 24.65610148927653 дБ

Ldif_1 = 29.401397453535225 дБ

Ldif_1_65 = 23.95218693153097 дБ

Ldif_1 = 28.545014917858232 дБ

Ldif_1_65 = 23.353068738056336 дБ

Ldif_1_65 = 25.84079076755467 дБ

Ldif_1 = 31.48589101409344 дБ

Ldif_1_65 = 25.600873512967482 дБ

Ldif_1 = 31.093242962486897 дБ

Ldif_1_65 = 25.369462430617986 дБ

Произведем расчет вторым способом:

Ldif_2 = np.zeros(10,)

Ldif_2_65 = np.zeros(10,)

for i in range(10):

pl = math.sqrt(((a+b[i])**2)+(hT-hR)**2)

Hbeam = ((b[i]*hT) + (a*hR))/(a+b[i])

d_1 = (a*10**-3)+(b[i]*10**-3)

h0 = ((a*10**-3)*(d_1-(a*10**-3)))/17

H = H_ne + h0

F = Hbeam - H

F1 = 17.31 * math.sqrt((1/(f*10**-3)) * (((a*10**-3) * (b[i]*10**-3))/((a*10**-3)+(b[i]*10**-3))))

x = F/F1

Lsph = -38.68 * x + 21.66

if (x >= -0.5):

Lwdg = (1.377 * (x**2)) - (11.31 * x) + 6

else:

Lwdg = -50.4/(1.6 - x) + 36

Ldif_2[i] = Lwdg + (Lsph - Lwdg)

Ldif_2_65[i] = Lwdg + 0.65 * (Lsph - Lwdg)

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

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

Получим данные значения:

Ldif_2 = 85.7478091926844 дБ

Ldif_2_65 = 62.91983610845921 дБ

Ldif_2 = 67.83501715839088 дБ

Ldif_2_65 = 50.37871201808758 дБ

Ldif_2 = 60.29157483679535 дБ

Ldif_2_65 = 45.001639780422586 дБ

Ldif_2 = 56.065837835225224 дБ

Ldif_2_65 = 41.95703276909668 дБ

Ldif_2 = 53.38226644906662 дБ

Ldif_2_65 = 40.00958036119884 дБ

Ldif_2 = 51.55659712467309 дБ

Ldif_2_65 = 38.67791337018634 дБ

Ldif_2 = 50.26263119101101 дБ

Ldif_2_65 = 37.73053521935238 дБ

Ldif_2 = 49.32309502006565 дБ

Ldif_2_65 = 37.04072804744864 дБ

Ldif_2 = 48.63260462835153 дБ

Ldif_2_65 = 36.53270372902624 дБ

Ldif_2 = 48.12426148319976 дБ

Ldif_2_65 = 36.1581017658273 дБ

Расчет потерь в свободном пространстве:

Llos = np.zeros(10,)

for i in range(10):

Llos[i] = 42.6 + 26*math.log10((a*10**-3)+(b[i]*10**-3)) + 20*math.log10(f)

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

Получим данные значения:

Llos = 125.7544932235395 дБ

Llos = 127.49510975393544 дБ

Llos = 129.0029003753553 дБ

Llos = 130.3328659589872 дБ

Llos = 131.52256071356476 дБ

Llos = 132.5987705276786 дБ

Llos = 133.581273110803 дБ

Llos = 134.4850878735425 дБ

Llos = 135.32188964119894 дБ

Llos = 136.10093344901247 дБ

Рисунок 2. графики зависимости величины потерь на дифракцию на цилиндре в дБ от расстояния d = d1 + d2 при изменении расстояния b.