Добавил:
KaFaka
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
.5.pyimport numpy as np
import pandas as pd
import matplotlib.pyplot as plt
if __name__ == "__main__":
# Constants
power_tx = 1
noise_temperature = 300
height_rx = 1.5
height_bs = 30
freq_0 = 900
shadowing = 3
distance = np.logspace(0, 1, 20)
log_distance = np.log10(distance)
# Noise power
k_boltzmann = 1.38 * 10**-23
noise_power = noise_temperature * k_boltzmann * freq_0
# Path loss model
arhs = (1.1 * np.log10(freq_0) - 0.7) * height_rx - (1.56 * np.log10(freq_0) - 0.8)
loss_db = 46.3 + 33.9 * np.log10(freq_0) - 12.82 * np.log10(height_bs) - arhs + np.abs(44.9 - 6.55 * np.log10(height_rx)) * log_distance + shadowing
loss = 10 ** (loss_db / 10)
# Receive power
power_rx = power_tx / loss
snr = power_tx / power_rx / noise_power
channel_capacity = freq_0 * np.log2(1 + power_tx / power_rx / noise_power)
# DataFrame
df = pd.DataFrame({"distance": distance, "log_distance": log_distance, "loss_db": loss_db, "loss": loss, "power_rx": power_rx, "snr": snr, "channel_capacity": channel_capacity})
print(df)
plt.figure()
plt.plot(channel_capacity, distance, 'go-')
plt.title("Зависимость максимальной пропускной способности\n канала связи от расстояния:")
plt.xlabel('d')
plt.ylabel('C')
plt.show()
Соседние файлы в предмете Вычислительные системы, сети и телекоммуникации