Розробка AI-системи для планування покриття мережі

Проектуємо та впроваджуємо системи штучного інтелекту: від прототипу до production-ready рішення. Наша команда поєднує експертизу в машинному навчанні, дата-інжинірингу та MLOps, щоб AI працював не в лабораторії, а в реальному бізнесі.
Показано 1 з 1Усі 1566 послуг
Розробка AI-системи для планування покриття мережі
Середній
~1-2 тижні
Часті запитання

Напрямки AI-розробки

Етапи розробки AI-рішення

Останні роботи

  • image_website-b2b-advance_0.webp
    Розробка сайту компанії B2B ADVANCE
    1288
  • image_web-applications_feedme_466_0.webp
    Розробка веб-додатків для компанії FEEDME
    1198
  • image_websites_belfingroup_462_0.webp
    Розробка веб-сайту для компанії БЕЛФІНГРУП
    902
  • image_ecommerce_furnoro_435_0.webp
    Розробка інтернет магазину для компанії FURNORO
    1122
  • image_logo-advance_0.webp
    Розробка логотипу компанії B2B Advance
    589
  • image_crm_enviok_479_0.webp
    Розробка веб-додатків для компанії Enviok
    859

Розробка AI-системи для планування покриття мережі

p align="justify"> Планування радіопокриття - ітераційне завдання: розставити мінімальну кількість базових станцій для забезпечення заданого покриття при обмеженому бюджеті. AI замінює місяці ручного аналізу RF-інженерів на тижні автоматизованого планування.

Прогнозування радіопокриття

Моделі поширення радіосигналу:

Фізичні моделі (Okumura-Hata, COST 231) дають базовий прогноз втрат сигналу. Обмеження: не враховують локального рельєфу, забудови, рослинності.

ML-корекція фізичної моделі:

import numpy as np
import pandas as pd
from lightgbm import LGBMRegressor

class PropagationMLModel:
    """
    ML-поправки к физической модели распространения сигнала.
    Данные: измерения уровня сигнала от drive test + CQT
    """

    def build_features(self, measurement_df, dem_raster, building_footprints):
        """
        measurement_df: GPS + RSRP/RSSI измерения
        dem_raster: цифровая модель рельефа (SRTM/Copernicus 30m)
        building_footprints: OSM или кадастр
        """
        df = measurement_df.copy()

        # Рельефные признаки
        df['elevation'] = self._sample_dem(df[['lat', 'lon']], dem_raster)
        df['elevation_diff'] = df['elevation'] - self._sample_dem_bs(df['bs_id'])
        df['terrain_roughness'] = self._calculate_roughness(df[['lat', 'lon']], dem_raster, radius_m=500)

        # Застройка
        df['building_density_500m'] = self._building_coverage(df[['lat', 'lon']],
                                                               building_footprints, radius=500)
        df['mean_building_height_200m'] = self._mean_height(df[['lat', 'lon']],
                                                             building_footprints, radius=200)

        # Геометрия от БС
        df['distance_to_bs'] = self._haversine_distance(df[['lat', 'lon']], df['bs_location'])
        df['angle_to_bs'] = self._bearing(df[['lat', 'lon']], df['bs_location'])
        df['los_probability'] = self._estimate_los(df, building_footprints)

        # Физическая модель как базовая фича
        df['okumura_hata_pred'] = self._okumura_hata(df)

        return df

    def train(self, features_df, target='rsrp_dbm'):
        feature_cols = [c for c in features_df.columns
                       if c not in [target, 'lat', 'lon', 'timestamp', 'bs_id']]
        self.model = LGBMRegressor(n_estimators=500, learning_rate=0.03, num_leaves=64)
        self.model.fit(features_df[feature_cols], features_df[target])
        return self

Drive Test заміна AI-передбаченнями:

Традиційний підхід: проїхати всіма вулицями з вимірювальним обладнанням. AI-підхід: ML-модель за навченими даними передбачає RSRP у будь-якій точці → зниження обсягу drive tests на 60–75%.

Оптимізація розміщення БС

Integer Programming для вибору майданчиків:

import pulp

def optimize_site_selection(
    candidate_sites,   # возможные площадки с характеристиками
    coverage_predictions,  # матрица: site × pixel → predicted RSRP
    demand_map,        # карта спроса на трафик
    budget_usd,
    rsrp_threshold=-95  # минимально допустимый RSRP в dBm
):
    prob = pulp.LpProblem("site_selection", pulp.LpMaximize)

    # Бинарные переменные: строить ли сайт i
    build = [pulp.LpVariable(f"build_{i}", cat='Binary') for i in range(len(candidate_sites))]

    # Переменные покрытия: покрыт ли пиксель j
    covered = [pulp.LpVariable(f"covered_{j}", cat='Binary')
               for j in range(coverage_predictions.shape[1])]

    # Objective: максимизировать взвешенное покрытие (по трафику)
    prob += pulp.lpSum(demand_map[j] * covered[j] for j in range(len(covered)))

    # Бюджет
    prob += pulp.lpSum(candidate_sites[i]['cost'] * build[i]
                       for i in range(len(candidate_sites))) <= budget_usd

    # Пиксель покрыт если хотя бы один сайт обеспечивает нужный RSRP
    for j in range(len(covered)):
        covering_sites = [i for i in range(len(candidate_sites))
                         if coverage_predictions[i][j] >= rsrp_threshold]
        if covering_sites:
            prob += covered[j] <= pulp.lpSum(build[i] for i in covering_sites)
        else:
            prob += covered[j] == 0  # этот пиксель нельзя покрыть

    prob.solve(pulp.PULP_CBC_CMD(msg=0, timeLimit=120))

    selected_sites = [i for i, b in enumerate(build) if b.value() > 0.5]
    return selected_sites

5G планування

Міліметрові хвилі (mmWave, 26/28 GHz):

mmWave - висока пропускна здатність, але дуже обмежене покриття: - Radio Line-of-Sight вимога: будь-яка перешкода (дерево, людина) = значні втрати - Міжсайтова відстань: 150-300 м vs. 500-1000 м для Sub-6GHz

ML-завдання специфічні для 5G mmWave: - Blockage prediction: ймовірність втрати LoS на конкретному маршруті руху - Beam management: вибір оптимального beam з 64 можливих за кутовим профілем каналу - Dual connectivity: коли перемикатися з 5G на 4G LTE (fallback)

Small cells & HetNet:

Вуличні малі стільники (small cells, femtocells) + макро-мережі (HetNet): - ML clustering точок з високим попитом → оптимальні позиції для small cells - Interference coordination: AI управляє потужністю/частотою для мінімізації inter-cell interference

Аналітика покриття

Coverage gap analysis:

  • Скарги абонентів + GPS → карта проблемних зон - Нейронна мережа пов'язує скарги з параметрами мережі → точні причини - Автоматична приоритизація: де покращення дасть найбільший приріст NPS

Термін розробки: 3-5 місяців для AI-системи планування покриття з ML-передбаченням RSRP та оптимізацією розміщення БС.