Практические работы / Практическая работа №4 ПДБС
.docxМИНИСТЕРСТВО ЦИФРОВОГО РАЗВИТИЯ И МАССОВЫХ КОММУНИКАЦИЙ РОССИЙСКОЙ ФЕДЕРАЦИИ
Федеральное государственное бюджетное образовательное учреждение
высшего образования
«Санкт-Петербургский государственный университет телекоммуникаций
им. проф. М. А. Бонч-Бруевича»
Кафедра сетей связи и передачи данных
Отчет по практической работе №4
«Оценка потерь на трассе радиоканала в случае дифракции на клине при одном препятствии»
По дисциплине: «Передача данных в беспроводных сетях»
Цель работы:
Целью данной работы является ознакомление с механизмом дифракции радиосигнала на клине при одном препятствии, а также принципами оценки величины потерь, вызываемых данным типом дифракции.
Исходные данные:
2. Для заданных частоты f и расстояния b рассчитать и построить графики зависимости величины потерь на дифракцию на клине в дБ от расстояния d = a + b при изменении расстояния a (диапазон 5–15 км, точки через 1 км) для каждой из высот препятствия и . Для сравнения привести график потерь в свободном пространстве, посчитанный по формуле (3.3) для тех же расстояний d. Графики строить на одном рисунке.
Рассчитаем дифракцию на клине в дБ при изменении расстояния a и высоте препятствия :
Для этого используем формулы:
Определяется приведенная высота препятствия, т. е. степень перекрытия трассы препятствием:
Вычисляется безразмерный параметр ν через геометрические параметры, описывающие взаимное положение передатчика, приемника и препятствия на трассе:
Если полученное значение ν > −0,7, то приближенное значение потерь на дифракцию оценивается выражением
Если ν ≤ −0,7, то
C помощью данного кода:
lambd = (3*10**8)/(f*10**6)
Ldif_H1_a = np.zeros(11,)
for i in range(11):
h_H1_a = H1 - (hT+a[i]*((hR-hT)/(a[i]+b)))
d1_H1_a = math.sqrt(a[i]**2+(H1-hT)**2)
d2_H1_a = math.sqrt(b**2+(H1-hR)**2)
v_H1_a = h_H1_a*math.sqrt((2/lambd)*(1/d1_H1_a+1/d2_H1_a))
print('v = ', v_H1_a)
if (v_H1_a > - 0.7):
Ldif_H1_a[i] = 6.9 + 20*math.log10(math.sqrt((v_H1_a-0.1)**2+1)+v_H1_a-0.1)
else:
Ldif_H1_a[i] = 0
print('Ldif_H1_a = ', Ldif_H1_a[i], 'дБ')
Получаем следующие значения:
Рассчитаем дифракцию на клине в дБ при изменении расстояния a и высоте препятствия :
C помощью данного кода:
lambd = (3*10**8)/(f*10**6)
Ldif_H2_a = np.zeros(11,)
for i in range(11):
h_H1_a = H2 - (hT+a[i]*((hR-hT)/(a[i]+b)))
d1_H1_a = math.sqrt(a[i]**2+(H2-hT)**2)
d2_H1_a = math.sqrt(b**2+(H2-hR)**2)
v_H1_a = h_H1_a*math.sqrt((2/lambd)*(1/d1_H1_a+1/d2_H1_a))
print('v = ', v_H1_a)
if (v_H1_a > - 0.7):
Ldif_H2_a[i] = 6.9 + 20*math.log10(math.sqrt((v_H1_a-0.1)**2+1)+v_H1_a-0.1)
else:
Ldif_H2_a[i] = 0
print('Ldif_H2_a = ', Ldif_H2_a[i], 'дБ')
Получаем следующие значения:
Рассчитаем потери в свободном пространстве:
C помощью данного кода:
L0_a= np.zeros(11,)
for i in range(11):
L0_a[i] = 32.44 + 20*math.log10(a[i]*10**-3+b*10**-3) + 20*math.log10(f)
print('L0 = ',L0_a[i], 'дБ')
Получаем следующие значения:
Построим графики зависимости величины потерь на дифракцию на клине в дБ от расстояния d = a + b при изменении расстояния a
Рисунок 1. Графики зависимости величины потерь на дифракцию на клине в дБ от расстояния d = a + b при изменении расстояния a
Рисунок 2. Графики зависимости величины потерь на дифракцию на клине в дБ от расстояния d = a + b при изменении расстояния a
3. Для заданных частоты f и расстояния a рассчитать и построить графики зависимости величины потерь на дифракцию на клине в дБ от расстояния d при изменении расстояния b (диапазон 10–20 км, точки через 1 км) для каждой из высот препятствия , .Для сравнения привести график потерь в свободном пространстве, посчитанный по формуле (3.3) для тех же расстояний d. Графики строить на одном рисунке.
Рассчитаем дифракцию на клине в дБ при изменении расстояния b и высоте препятствия :
C помощью данного кода:
lambd = (3*10**8)/(f*10**6)
Ldif_H1_b = np.zeros(11,)
for i in range(11):
h_H1_b = H1 - (hT+a*((hR-hT)/(a+b[i])))
d1_H1_b = math.sqrt(a**2+(H1-hT)**2)
d2_H1_b = math.sqrt(b[i]**2+(H1-hR)**2)
v_H1_b = h_H1_b*math.sqrt((2/lambd)*(1/d1_H1_b+1/d2_H1_b))
print('v = ', v_H1_b)
if (v_H1_a > - 0.7):
Ldif_H1_b[i] = 6.9 + 20*math.log10(math.sqrt((v_H1_b-0.1)**2+1)+v_H1_b-0.1)
else:
Ldif_H1_b[i] = 0
print('Ldif_H1_b = ', Ldif_H1_b[i], 'дБ')
Получаем следующие значения:
Рассчитаем дифракцию на клине в дБ при изменении расстояния b и высоте препятствия :
lambd = (3*10**8)/(f*10**6)
Ldif_H2_b = np.zeros(11,)
for i in range(11):
h_H2_b = H2 - (hT+a*((hR-hT)/(a+b[i])))
d1_H2_b = math.sqrt(a**2+(H2-hT)**2)
d2_H2_b = math.sqrt(b[i]**2+(H2-hR)**2)
v_H2_b = h_H2_b*math.sqrt((2/lambd)*(1/d1_H2_b+1/d2_H2_b))
print('v = ', v_H1_a)
if (v_H1_a > - 0.7):
Ldif_H2_b[i] = 6.9 + 20*math.log10(math.sqrt((v_H1_b-0.1)**2+1)+v_H1_b-0.1)
else:
Ldif_H2_b[i] = 0
print('Ldif_H2_b = ', Ldif_H2_b[i], 'дБ')
Получаем следующие значения:
Рассчитаем потери в свободном пространстве:
C помощью данного кода:
L0_b = np.zeros(11,)
for i in range(11):
L0_b[i] = 32.44 + 20*math.log10(a*10**-3+b[i]*10**-3) + 20*math.log10(f)
print('L0 = ',L0_b[i], 'дБ')
Получаем следующие значения:
Построим графики зависимости величины потерь на дифракцию на клине в дБ от расстояния d = a + b при изменении расстояния b
Рисунок 3. Графики зависимости величины потерь на дифракцию на клине в дБ от расстояния d = a + b при изменении расстояния b
Рисунок 4. Графики зависимости величины потерь на дифракцию на клине в дБ от расстояния d = a + b при изменении расстояния b
Вывод:
По результатам расчетов можно сделать выводы о том, что — потери в свободном пространстве— является преобладающими.