Добавил:
t.me Установите расширение 'SyncShare' для решения тестов в LMS (Moodle): https://syncshare.naloaty.me/ . На всякий лучше отключить блокировщик рекламы с ним. || Как пользоваться ChatGPT в России: https://habr.com/ru/articles/704600/ || Также можно с VPNом заходить в bing.com через Edge браузер и общаться с Microsoft Bing Chat, но в последнее время они форсят Copilot и он мне меньше нравится. || Студент-заочник ГУАП, группа Z9411. Ещё учусь на 5-ом курсе 'Прикладной информатики' (09.03.03). || Если мой материал вам помог - можете написать мне 'Спасибо', мне будет очень приятно :) Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Zadaniye1

.3.py
Скачиваний:
0
Добавлен:
24.10.2023
Размер:
830 б
Скачать
import numpy as np
import matplotlib.pyplot as plt

def L_dB(h_AB, h_BS, d, S, f0=900, a=4.6):
return 46.3 + 33.9 * np.log10(f0) - 13.82 * np.log10(h_BS) - a * (h_AB) + (44.9 - 6.55 * np.log10(h_AB)) * np.log10(d) + S

def L(L_dB):
return 10**(L_dB / 10)

def P_N(Δf, T, k_N=2):
return Δf * T * k_N

def P_RX(P_TX, L):
return P_TX / L

def SNR(P_RX, P_N):
return P_RX / P_N

h_BS = 30
h_AB = 1
d = np.linspace(1, 1000, 1000)
S = 3
f0 = 900
a = 4.6
Δf = 80
T = 300
P_TX = 1

L_dB_values = L_dB(h_AB, h_BS, d, S, f0, a)
L_values = L(L_dB_values)
P_N_value = P_N(Δf, T)
P_RX_values = P_RX(P_TX, L_values)
SNR_values = SNR(P_RX_values, P_N_value)

plt.plot(d, np.log2(1 + SNR_values))
plt.xlabel("distance (d)")
plt.ylabel("maximum throughput (log2(1 + SNR))")
plt.show()
Соседние файлы в предмете Вычислительные системы, сети и телекоммуникации