Добавил:
t.me Инфо для ГУАП студентов от меня: https://kafaka.notion.site/99e6d9b70ca74f7baef3daea17839e5a Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Z9411_КафкаРС_МСРР_ЛР.docx
Скачиваний:
11
Добавлен:
18.06.2024
Размер:
377 Кб
Скачать
☆
  1. Описание разработанной программы

Код программы представлен в приложении А, в конце лабораторной работы.

Основные переменные, используемые в программе, представлены в таблице 2.

Таблица 2 – Таблица используемых переменных

Переменная

Описание

R

Радиус действия базовой станции, в пределах которого располагаются абонентские станции.

n

Количество абонентских станций для генерации.

Ptx

Мощность сигнала, излучаемого базовой станцией.

Pn

Мощность теплового шума, принимаемая абонентской станцией.

f

Полоса пропускания канала связи.

f0

Центральная частота сигнала, излучаемого базовой станцией.

K

Коэффициент, используемый в формуле для расчета потерь сигнала на проложенном расстоянии.

subs

DataFrame, содержащий информацию о расположении и характеристиках абонентских станций.

distans

Расстояние от абонентской станции до базовой станции.

angle

Угол положения абонентской станции относительно базовой станции.

x, y

Координаты абонентских станций в декартовой системе координат.

CC

Максимальная пропускная способность канала связи для абонентской станции.

L

Уровень потерь сигнала на расстоянии от базовой до абонентской станции.

Prx

Мощность сигнала, принимаемого абонентской станцией.

SNR

Отношение сигнал/шум на абонентской станции.

D

Скорость передачи данных для абонента в соответствии с выбранным алгоритмом распределения.

D_grade

DataFrame с результатами измерений для различных алгоритмов распределения ресурсов.

N_test

Количество итераций тестирования для усреднения результатов.

N_subs_pow2

Максимальная степень двойки для количества абонентов, используемая в тестах.

isPrintLocGraph

Флаг для вывода графика расположения абонентских станций.

kn

Коэффициент теплового шума приемника.

T

Абсолютная температура окружающей среды.

Программа предназначена для анализа и визуализации распределения абонентских станций в заданном радиусе и их способностей по передаче данных. Она состоит из нескольких функций, каждая из которых выполняет свою роль в анализе:

  • graph_location_subs_stations(subs_data): Функция строит график расположения станций на полярных координатах, используя расстояние от центра и угол как координаты. Это позволяет визуализировать пространственное распределение абонентских станций в заданной области.

  • subs_generator(R, n, Ptx, Pn, f, f0, K): Генерирует DataFrame, содержащий позиции (в полярных и декартовых координатах) и емкости коммуникационного канала n абонентских станций, случайно распределенных в круге радиуса R. Рассчитывает емкость канала каждой станции на основе заданных параметров, таких как мощность передачи, мощность шума, частота и коэффициенты потерь сигнала.

  • Алгоритмы распределения ресурсов (equal_blind(CC), maximum_throughput(CC), proportion_fair(CC)): Эти функции реализуют различные стратегии распределения коммуникационных ресурсов между станциями. Каждая стратегия возвращает DataFrame с метриками, такими как минимальная, средняя и общая скорости передачи данных для абонентов под этой стратегией.

    • Equal Blind: Выделяет равные скорости передачи всем абонентам.

    • Maximum Throughput: Дает приоритет абонентам в лучших условиях для максимизации общей пропускной способности.

    • Proportion Fair: Распределяет ресурсы пропорционально для обеспечения справедливости между абонентами.

  • plot_M_gradeD(D_grade): Визуализирует результаты работы алгоритмов распределения ресурсов с помощью линейных графиков, показывая, как различные метрики (минимальная, средняя и общая скорости) изменяются в зависимости от количества абонентов.

  • get_M_gradeD(R, Ptx, Pn, f, f0, K, N_test=100, N_subs_pow2=6, isPrintLocGraph=False): Функция организует симуляцию, генерируя абонентские станции и оценивая три алгоритма распределения ресурсов при различном количестве абонентов. Результаты усредняются за несколько итераций для статистической точности и визуализируются по запросу.

  • main(): Настраивает параметры симуляции (например, радиус, мощность излучения, частоту базовой станции, полосу пропускания, фактор шума, температуру) и выполняет анализ, вызывая get_M_gradeD. Также выводит DataFrame, содержащий усредненные результаты работы алгоритмов распределения ресурсов для различного количества абонентов.