В отдельной библиотеке классов реализуйте алгоритм расчета количества базовых станций (далее - БС). На сегодняшний день базовые станции по всему городу арендуются компанией ТНС. В связи с ростом количества абонентов руководство компании приняло решение о постепенной установке собственных базовых станций. В 2022 году планируется закупка необходимого оборудования для Адмиралтейского и Василеостровского района Санкт-Петербурга.
Количество базовых станций может быть рассчитано как на основании площади предполагаемой зоны обслуживания, так и на основании радиуса (в км). Также в качестве входных данных необходимо использовать площадь покрытия базовой станции и радиусы трех любых базовых станций (включая основную базовую).
Расчет радиуса зоны обслуживания R₀, км производится по формуле:
R₀ = √(s/π), где s - площадь района обслуживания
Сота - площадь, покрываемая одним приемопередатчиком (базовой станцией) сети сотовой связи.
Число сот L можно определить по формуле:
L = K * (R₀ / R)², где:
Радиус покрытия базовой станции вы должны рассчитать на основе площади (S) покрытия базовой станции, выразив R из формулы S = πR².
Коэффициенты застройки:
К = 1,21К = 0,9К = 0,47Количество базовых станций рассчитайте по формуле:
n = L / C, где
Обратите внимание, что при расчете количестве базовых станций по району значение L - среднее арифметическое по всем БС. Кластер состоит из С базовых станций, работающих в разных диапазонах частот. С - аддитивная (суммирующая) составляющая, равная:
С = D₁⁵/² + D₂³/² + D₃¹/², где D₁, D₂, D₃ - диаметры 3-х любых базовых станций с разной частотой, в порядке убывания, то есть - D₁ - наибольший диаметр, D₃ - наименьший диаметр.
Не забывайте, что D = 2R.
На рисунке пример расположения базовых станций.
При расчете количества базовых станций необходимо использовать показания хэндовера по указанным районам.
Хэндовер (Handover) – процедура передачи активного соединения между сотами. Хэндовер позволяет абонентам не быть привязанным к какой-либо географической точке и дает возможность передвигаться в пределах сети оператора без разрыва соединения.
Для каждого района с помощью соответствующего метода в API можно получить значение хэндовера.
Обратитесь к документации по работе с API в ресурсах. Так же в ресурсах изучите допустимые значения хэндовера.
Если средние показания хэндовера меньше допустимых значений хотя бы по одной из базовых станций, то используется формула n = L / C * 1,4.
Рассчитайте n общее для всех районов, и для каждого района отдельно.
Для выполнения процедуры тестирования созданной библиотеки вам необходимо создать отдельный проект модульных тестов.
В рамках проекта разработайте тесты, максимально полно покрывающие функционал методов. Ничего страшного, если ваши методы работают не совсем идеально и тесты могут быть не пройдены в связи с этим - в данном модуле это не так важно.
Обратите внимание, что имена тестов должны отражать их суть, т.е. вместо TestMethod1() тест следует назвать, например, BaseStations_OverHandover() для тестирования случая превышения показателя хэндовера.
Чтобы проверить работу своей библиотеки необходимо подготовить 10 unit-тестов.