
Добавил:
KaFaka
t.me
Инфо для ГУАП студентов от меня: https://kafaka.notion.site/99e6d9b70ca74f7baef3daea17839e5a
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Zadaniye1
.1.py import math
import numpy as np
def calc_power_of_noise(delta_f, T, k, kn):
return delta_f * T * k * kn
def calc_received_power(PTX, delta_f, hBS, hAB, S, f0):
L_dB = 46.3 + 33.9 * np.log10(f0) - 13.82 * np.log10(hBS) - 4 * (hAB) + (44.9 - 6.55 * np.log10(hAB)) * delta_f + S
L = 10**(L_dB / 10)
PRX = PTX / L
return PRX
def calc_snr(PRX, PN):
return PRX / PN
def calc_max_channel_capacity(delta_f, snr):
return delta_f * math.log2(1 + snr)
def plot_max_channel_capacity_vs_distance(PTX, delta_f, hBS, S, T, k, kn, f0):
distances = [1, 5, 10, 15, 20, 25, 30, 35, 40, 45, 50]
max_channel_capacities = []
for hAB in distances:
PN = calc_power_of_noise(delta_f, T, k, kn)
PRX = calc_received_power(PTX, delta_f, hBS, hAB, S, f0)
snr = calc_snr(PRX, PN)
max_channel_capacity = calc_max_channel_capacity(delta_f, snr)
max_channel_capacities.append(max_channel_capacity)
import matplotlib.pyplot as plt
plt.plot(distances, max_channel_capacities)
plt.xlabel("Distance (meters)")
plt.ylabel("Max Channel Capacity (Mbits/sec)")
plt.title("Max Channel Capacity vs Distance")
plt.show()
PTX = 1
delta_f = 80 * 10**6
hBS = 30
S = 3
T = 300
k = 1.38 * 10**-23
kn = 2
f0 = 900
plot_max_channel_capacity_vs_distance(PTX, delta_f, hBS, S, T, k, kn, f0)
import numpy as np
def calc_power_of_noise(delta_f, T, k, kn):
return delta_f * T * k * kn
def calc_received_power(PTX, delta_f, hBS, hAB, S, f0):
L_dB = 46.3 + 33.9 * np.log10(f0) - 13.82 * np.log10(hBS) - 4 * (hAB) + (44.9 - 6.55 * np.log10(hAB)) * delta_f + S
L = 10**(L_dB / 10)
PRX = PTX / L
return PRX
def calc_snr(PRX, PN):
return PRX / PN
def calc_max_channel_capacity(delta_f, snr):
return delta_f * math.log2(1 + snr)
def plot_max_channel_capacity_vs_distance(PTX, delta_f, hBS, S, T, k, kn, f0):
distances = [1, 5, 10, 15, 20, 25, 30, 35, 40, 45, 50]
max_channel_capacities = []
for hAB in distances:
PN = calc_power_of_noise(delta_f, T, k, kn)
PRX = calc_received_power(PTX, delta_f, hBS, hAB, S, f0)
snr = calc_snr(PRX, PN)
max_channel_capacity = calc_max_channel_capacity(delta_f, snr)
max_channel_capacities.append(max_channel_capacity)
import matplotlib.pyplot as plt
plt.plot(distances, max_channel_capacities)
plt.xlabel("Distance (meters)")
plt.ylabel("Max Channel Capacity (Mbits/sec)")
plt.title("Max Channel Capacity vs Distance")
plt.show()
PTX = 1
delta_f = 80 * 10**6
hBS = 30
S = 3
T = 300
k = 1.38 * 10**-23
kn = 2
f0 = 900
plot_max_channel_capacity_vs_distance(PTX, delta_f, hBS, S, T, k, kn, f0)
Соседние файлы в предмете Вычислительные системы, сети и телекоммуникации