Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
МСРР_ЛР1_Иванова_4117.docx
Скачиваний:
0
Добавлен:
29.04.2025
Размер:
325.47 Кб
Скачать

3 Описание разработанной программы

Список использованных переменных с описанием приведён в Таблице 1.

Таблица 1 – Описание основных использованных переменных

Переменная

Описание

R

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

Ptx

Мощность передатчика

f0

Частота сигнала (МГц)

df

Ширина полосы пропускания канала (МГц)

kn

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

T

Температура (К)

K

Коэффициент типа помещения

Pn

Мощность теплового шума

subs

Список сгенерированных абонентов (в виде словарей)

distance, CC)

angle

Случайный угол расположения абонента (в радианах)

distance

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

L_dB

Потери сигнала в децибелах

L

Потери сигнала в абсолютных единицах

Prx

Принятая мощность сигнала

SNR

Отношение сигнал/шум

CC

Пропускная способность абонента (бит/с)

CC_list

Список пропускных способностей всех абонентов

D

Скорость передачи данных

D_list

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

n_ab

Список рассматриваемого количества абонентов

tests

Количество прогонов

results

Словарь со средними оценками по каждому алгоритму

calculations

Словарь для хранения результатов прогонов каждого алгоритма

avg

Усреднённые значения оценок алгоритмов

rating

Ключи для метрик оценки (`minD`, `meanD`, `sumD`)

data['minD']

Минимальная скорость для каждого количества абонентов

data['meanD']

Средняя скорость

data['sumD']

Суммарная скорость

Описание кода программы, согласно приложениям:

1) Приложение А:

В начале задаются константы, которые используются для расчёта пропускной способности абонентов.

Функция generate_ab(n) отвечает за генерацию n числа абонентов, случайным образом распределённых в пределах радиуса действия базовой станции. Положение каждого абонента задаётся в полярной системе координат: случайный угол и расстояние от центра.

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

График расположения абонентов строится функцией plot_ab(subs), которой передаётся список абонентов. Для визуализации используется полярная система координат: точки размещаются в соответствии с углом и расстоянием до центра

2) Приложение Б:

Функция plot_ab_histogram(subs) визуализирует угловое распределение абонентов для оценки его равномерности. Сначала строится гистограмма углов, показывающая, насколько равномерно абоненты размещены по окружности. Затем отображается эмпирическая функция распределения, позволяющая оценить накопленное распределение углов.

3) Приложение В:

Реализованы три алгоритма распределения ресурсов между абонентами.

Функция equal_blind (CC_list) реализует алгоритм Equal Blind, при котором для всех абонентов устанавливается одинаковая скорость передачи.

Функция maximum_throughput (CC_list) реализует алгоритм Maximum Throughput, при котором ресурсы выделяются абонентам, расположенным ближе всех к базовой станции, достигается максимальная суммарная скорость передачи.

Функция proportion_fair (CC_list) реализует алгоритм Proportion Fair, обеспечивающий равное распределение ресурсов. Каждый абонент получает долю, пропорциональную своей пропускной способности.

4) Приложение Г:

Здесь реализовано моделирование работы системы. Функция modulate (n_ab, tests) запускает процесс, в котором для каждого значения количества абонентов из списка n_ab выполняется 100 прогонов. В каждом прогоне генерируются случайные абоненты, рассчитываются их пропускные способности, затем применяются разные алгоритмы распределения ресурсов.

Результаты каждого алгоритма накапливаются, а затем усредняются с помощью функции average_val (), которая рассчитывает средние значения по трём метрикам: минимальная, средняя и суммарная скорость передачи данных (minD, meanD, sumD). Усреднённые значения сохраняются в результирующем словаре results отдельно для каждого алгоритма и каждого количества абонентов.

5) Приложение Д:

Реализуется визуализация оценок работы алгоритмов и основной запуск программы. Функция plot_results(results) строит графики зависимости средней суммарной скорости, средней минимальной скорости и средней скорости передачи данных от числа абонентов.

Функция main () запускает процесс генерирования абонентов, построения графиков, моделирования работы системы.

Выводы

В результате выполнения лабораторной работы получены навыки моделирования стандартных сценариев работы телекоммуникационных систем с топологией типа «звезда». Изучены свойства алгоритмов планирования ресурсов нисходящего кадра в подобных системах, на примере алгоритмов Equal Blind, Proportion fair, Maximum Throughput.

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

Установлено, что алгоритмы Equal Blind и Proportion Fair демонстрируют схожие результаты по равномерности распределения ресурсов между абонентами, обеспечивая стабильную, но снижающуюся при увеличении числа абонентов скорость. Алгоритм Maximum Throughput, в свою очередь, обеспечивает более высокую суммарную скорость за счёт приоритета абонентов с лучшими условиями приёма, но неравномерно распределяет ресурсы между абонентами, из-за чего минимальная скорость передачи данных при увеличении нагрузки стремиться к нулю.

Ответы на вопросы

Соседние файлы в предмете Моделирование систем распределения ресурсов