Скачиваний:
70
Добавлен:
01.06.2021
Размер:
194.15 Кб
Скачать

ГУАП

КАФЕДРА № 41

ОТЧЕТ ЗАЩИЩЕН С ОЦЕНКОЙ

ПРЕПОДАВАТЕЛЬ

ассистент

Н.В. Апанасенко

должность, уч. степень, звание

подпись, дата

инициалы, фамилия

ОТЧЕТ О ЛАБОРАТОРНОЙ РАБОТЕ №1

МЕХАНИЗМЫ РАСПРЕДЕЛЕНИЯ РЕСУРСОВ НИСХОДЯЩЕГО КАДРА В ТЕЛЕКОММУНИКАЦИОННЫХ СЕТЯХ

по курсу: МОДЕЛИРОВАНИЕ СИСТЕМЫ РАСПРЕДЕЛНИЯ РЕСУРСОВ

РАБОТУ ВЫПОЛНИЛА

СТУДЕНТКА ГР. №

4716

С.А. Янышева

подпись, дата

инициалы, фамилия

Санкт-Петербург

2021

Лабораторная работа №1 Механизмы распределения ресурсов нисходящего кадра в телекоммуникационных сетях

  1. Цель лабораторной работы

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

Вариант 18

Модель распространения

R, м

PTX, Вт

f0, МГц

, МГц

kn

18

ITU,

office area

20

0.05

2400

20

4

  1. Пример расчёта параметров моделируемой системы

    1. Расчет мощности шума

PN = 1.38 * 10-23 Дж/К * 300К * 20 * 106 Гц * 4 = 33.12 * 10-14 Вт

    1. Расчет уровня потерь в канале связи (для конкретных АБ)

L = 10(20 * lg(2400 МГц) + 29 + lg(10 м)+0-28)/10 = 106.68 = 7.2 * 106

    1. Расчет мощности сигнала, принятой АБ

PRX =

    1. Расчет отношение сигнал/шум

SNR = 21.14 * 103

    1. Расчет пропускную способность канала связи

С = 20 * 106 Гц * log2(1 + 21.14 * 103) = 287 Мбит/c

Анализируемые алгоритмы распределения ресурсов:

  • Equal blind

Данный алгоритм обеспечивает равные скорости между всеми абонентами. Доля ресурса времени, выделяемая каждому абоненту (выравнивает скорость)

Скорость для абонента i может быть выражена как:

  • Maximum Throughput

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

  • Proportion Fair

Данный алгоритм выделяет равные доли ресурсов всем абонентам. Доля ресурса времени, выделяемая каждому абоненту, находится как:

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

  1. Пример сгенерированных расположений абонентов

На рисунке 1 представлен пример расположения абонентов.

Рисунок 1 – Распределения абонентов вокруг базовой станции

На рисунке 2 изображена гистограмма, отражающие равномерность распределения абонентов вокруг базовой станции. Видно, что график растет равномерно, то есть пропорционально увеличению расстояния от базовой станции растёт и количество абонентов, что подтверждает равномерность их распределения.

Рисунок 2 – Гистограмма плотности распределения абонентов относительно их удалённости от базовой станции

Рисунок 3 – Эмпирическая функция распределения абонентов относительно их удалённости от базовой станции

Гистограмма плотности распределения абонентов растёт равномерно. А также теоретическая и оценочная эмпирические функции распределения абонентов примерно совпадают, следовательно, абоненты распределены равномерно по всей площади вокруг базовой станции.

  1. Результаты моделирования

Синий – Blind_eq

Зеленый – Proportion_fair

Оранжевый – Max_throughput


На рисунке 4 представлен график зависимости средней суммарной скорости передачи данных от количества абонентов.

Рисунок 4 – Минимальная оценки скоростей абонентов относительно количества абонентов

Max_throughput - одному все ресурсы, исходит из максимальной скорости, по

На рисунке 5 представлен график зависимости средней скорости передачи данных от количества абонентов.

Рисунок 5 – Средняя оценки скоростей абонентов относительно количества абонентов

Рисунок 6 – Суммарная оценки скоростей абонентов относительно количества абонентов

Max_throughput – ориентируется на абонента с минимальной скоростью

По графикам видно, что алгоритмы распределена ресурсов Equal Blind и Proportion Fair отличаются незначительно, а алгоритм Maximum Throughput отдаёт приоритет передачи данных абоненту с максимальной пропускной способностью, поэтому, когда в сети более одного абонента, передача остальным не происходит.

  1. Выводы

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

Кроме того, по полученным графикам видно, что алгоритмы распределена ресурсов Equal Blind и Proportion Fair отличаются незначительно. Это обоняется небольшом расстоянием от базовой станции (20 метров), то есть пропускные способности абонентов не сильно отличаются, следовательно, доли распределяемых ресурсов у обоих алгоритмов схожи. Средняя и минимальная оценки скоростей уменьшаются с увеличением числа абонентов, так как каждому новому абоненту выделяется некоторая доля ресурсов, при этом график суммарной оценки практически не изменяется.

С алгоритмом Maximum Throughput ситуация совсем иная, приоритет передачи данных отдаётся абоненту с максимальной пропускной способностью, поэтому, когда в сети более одного абонента, передача остальным не происходит, это хорошо видно на графике оценки минимальной скорости передачи (рисунок 4). Поэтому данный алгоритм не подходит для обслуживания большого количества абонентов. Кроме того, по рисунку 6 можно сделать вывод, что при увеличении количества абонентов растёт суммарная скорость передачи данных, а связано это с тем, что появляются новые абоненты, которые находятся ближе к базовой станции, и соответственно пропускная способность их канала связи уже выше.

Листинг программы

import numpy as np import pandas as pd from matplotlib import pyplot as plt def subs_generator(r, n, Ptx, Pn, f, f0, K): subs = pd.DataFrame(columns=['range', 'angle', 'x', 'y', 'CC']) for i in range(n):

# Расстояние от абонента (d) до вышки (базовая станция) s_range = r * np.random.random()**.5 angle = np.random.random()*2*np.pi #угол координат x = s_range * np.cos(angle) #раскладывает на координаты для окружности y = s_range * np.sin(angle) L = 10**((20*np.log10(f0) + K*np.log10(s_range) - 28)/10)

Prx = Ptx/L

# Отношение сигнал/шум (SNR) SNR = Prx/Pn

# [Мах] пропускная способность канала связи (Сhannel Сapacity) (C) CC = f * np.log2(1 + SNR) subs = subs.append({'range': s_range, 'angle': angle, 'x': x, 'y': y, 'CC': CC}, ignore_index=True) return subs

# ПРС - равные скорости абонентам def equal_blind(CC):

# Суммарная скорость передачи D = sum([cc**-1 for cc in CC])**-1 return {'alg': 'eb', 'count': len(CC), 'min': D, 'mean': D, 'sum': D*len(subs)}

# ПСС - максимальная суммарная скорость передачи данных def max_throughput(CC): max_cc = max(CC) equal_max = np.array(CC) == max_cc

# Суммарная скорость передачи D = [1/sum(equal_max) * cc * equal_max[i] for i, cc in enumerate(CC)] return {'alg': 'mt', 'count': len(CC), 'min': min(D), 'mean': np.mean(D), 'sum': sum(D)}

# ПРД - равные доли выделенных ресурсов def proportion_fair(CC):

# Суммарная скорость передачи D = [cc/len(CC) for cc in CC] return {'alg': 'pf', 'count': len(CC), 'min': min(D), 'mean': np.mean(D), 'sum': sum(D)} subs_num = [2**i for i in range(10)] #количество абонентов (1,2,4,...,1024) #---данные из варианта--- r = 20 #радиус Ptx = .1 #излучаемая мощность БС f0 = 5600 #частота БС f = 20 #полоса пропускания канала связи kn = 4 #коэф. теплового шума приёмника T = 300 #абсолютная температура Pn = f * 10**6 * T * kn * 1.38 * 10**-23 #мощность теплового шума K = 29 #------------------------ D_estimate = pd.DataFrame(columns=['alg', 'count', 'min', 'mean', 'sum'])#таблица for n in subs_num: for _ in range(100): subs = subs_generator(r, n, Ptx, Pn, f, f0, K)#генерация по варианту D_estimate = D_estimate.append(equal_blind(subs['CC'].tolist()), ignore_index=True) D_estimate = D_estimate.append(max_throughput(subs['CC'].tolist()), ignore_index=True) D_estimate = D_estimate.append(proportion_fair(subs['CC'].tolist()), ignore_index=True) D_estimate.set_index(['alg', 'count'], inplace=True) D_estimate = D_estimate.groupby(level=['alg', 'count']).mean() print(D_estimate) #окружность с абонентами _, ax = plt.subplots() ax.add_artist(plt.Circle((0,0), r, zorder = 1)) plt.scatter(subs['x'], subs['y'], marker='o', color='orange', zorder = 2) plt.show() #гистограмма кол-во абонентов относительно радиуса bar_range = r/(1 + int(np.log2(len(subs)))) bars = np.arange(0, r + bar_range, bar_range) plt.hist(subs['range'], bars) plt.xlabel('r') plt.ylabel('subs') plt.show() #эмпирическая функция распределения plt.plot(sorted(subs['range']), [i/len(subs) for i in range(len(subs))], label = 'est') plt.plot(np.arange(0, r, .01), [x**2/r**2 for x in np.arange(0, r, .01)], label = 'theor') plt.legend() plt.show() #оценка минимальной, средней и суммарной скоростей передачи plt.title('D estimate') for i, est in enumerate(['min', 'mean', 'sum']): for alg in ['eb', 'mt', 'pf']: plt.plot(D_estimate.loc[alg, est], label=alg) plt.title('D estimate') plt.xlabel('Количество АБ') plt.ylabel('Пропускная способность Мбит/c') plt.show()

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