
Добавил:
KaFaka
t.me
Инфо для ГУАП студентов от меня: https://kafaka.notion.site/99e6d9b70ca74f7baef3daea17839e5a
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл: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()
Соседние файлы в предмете Вычислительные системы, сети и телекоммуникации