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

Планування покриття мережі вручну часто призводить до зон без покриття та зайвих витрат на виїзні вимірювання. Ми розробляємо AI-системи, які автоматизують прогнозування радіопокриття та оптимізують розміщення базових станцій. Наша команда реалізує проєкт під ключ — від аналізу даних до впровадження та подальшої підтримки, забезпечуючи надійне та масштабоване рішення для вашої мережі.
Часті запитання

RF-інженер отримує задачу: спланувати покриття мережі LTE на території 1000 кв. км. У запасі три місяці, бюджет обмежений. Він використовує класичну модель Okumura-Hata, але після розгортання виявляються зони з RSRP нижче -110 dBm — 30% площі недопокриті. Абоненти скаржаться, NPS падає. Наша AI-система вирішує цю проблему, автоматизуючи планування з точністю ±2 dB. Такий підхід скорочує кількість виїздів вимірювальних машин до 40%, заощаджуючи до 60–75% бюджету на drive test. Це означає економію до десятків мільйонів гривень на рік для оператора середнього розміру. Зв'яжіться з нами, щоб дізнатися, як це працює на вашій мережі.

Як AI прогнозує радіопокриття?

ML-корекція фізичної моделі — ключовий компонент. Беремо модель Okumura-Hata як базовий прогноз і навчаємо градієнтний бустинг (LightGBM) на різниці з реальними вимірами.

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

Ознаки включають рельєф, забудову, відстань та кут до БС. Після навчання модель прогнозує RSRP у будь-якій точці сцени — це замінює до 75% виїздів вимірювальних машин. Економія на drive test становить до 60–75% бюджету. ML-модель у 3 рази точніша за фізичну модель: RMSE 2.1 dB проти 6 dB. Це приклад того, як AI для телеком вирішує завдання прогнозування RSRP за допомогою ML-моделей розповсюдження сигналу.

Чому 5G mmWave потребує AI?

Міліметрові хвилі (26/28 GHz) мають вирішальну перевагу за пропускною здатністю, але покриття обмежене 150–300 м. Будь-яка перешкода — дерево, людина, навіть дощ — може блокувати сигнал. Традиційні моделі (наприклад, 3GPP TR 38.901) дають лише грубу оцінку. ML-моделі, навчені на даних ray tracing або реальних вимірах, прогнозують ймовірність блокування з точністю до 1.5 dB. Beam management — ще одне завдання: з 64 можливих beam потрібно обрати найкращий для кожного UE. ML класифікує кутовий профіль каналу та прогнозує оптимальний beam, скорочуючи час перемикання на 40%.

Що дає оптимізація розміщення БС?

Integer Programming — математична оптимізація вибору майданчиків під бюджет. Завдання: максимізувати зважене покриття (за трафіком або кількістю абонентів) при обмеженні CAPEX.

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

Порівняння з ручним підходом:

Параметр Традиційний (ручний) Наш AI-підхід
Час на регіон (1000 км²) 4–6 місяців 2–3 тижні
Точність RSRP ± 6 dB 2 dB
Обсяг drive test 100% вулиць 25–40% вулиць
Оптимальність вибору Суб'єктивна Глобальний оптимум

Порівняння методів прогнозу RSRP:

Метод Точність (RMSE) Потрібні дані Час розрахунку
Okumura-Hata 6 dB тільки рельєф миттєво
ML (LightGBM) 2.1 dB рельєф+забудова+виміри 1 сек на точку
Гібрид (ML+фізика) 2.0 dB ті ж 1.1 сек

Поєднання RF-інженерії та машинного навчання дає глобальний оптимум розміщення.

Коли потрібна оптимізація small cells?

У гетерогенних мережах (HetNet) макросоти забезпечують базове покриття, а small cells (femto, pico) — ємність у точках з високим попитом. Однак неправильне розміщення small cells створює інтерференцію. Ми використовуємо ML кластеризацію для визначення оптимальних позицій: алгоритм DBSCAN групує запити абонентів, а потім Integer Programming обирає точки встановлення. Це знижує inter-cell interference на 3–5 dB і збільшує пропускну здатність на 20%.

Coverage gap аналіз

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

При плануванні покриття часто зустрічаються помилки: використання лише фізичної моделі без калібрування призводить до помилок до 10 dB; ігнорування сезонних змін завищує прогноз на 3–5 dB влітку; неврахування інтерференції сусідніх сот знижує реальне покриття; оптимізація лише за RSRP без урахування SINR погіршує якість голосу.

Процес роботи

  1. Аналітика: збір даних drive test, рельєфу (SRTM), забудови (OSM), скарг. Формуємо demand map.
  2. Проектування: навчаємо ML-модель на історичних даних. Калібруємо threshold-и.
  3. Реалізація: запускаємо Integer Programming для вибору майданчиків. Формуємо план розміщення.
  4. Тест: пілот на 1–2 кластери, валідація actual vs predicted покриття.
  5. Деплой: інтеграція в OSS, CI/CD пайплайн для перенавчання моделі раз на квартал.

Строки орієнтовно

  • MVP з ML-прогнозуванням та оптимізацією для однієї технології (LTE) — 3–5 місяців.
  • Повноцінна система з 5G mmWave та HetNet — 6–9 місяців.
  • Вартість розраховується індивідуально під обсяг даних та кількість майданчиків.

Що входить у роботу

Робота включає: ML-модель прогнозу RSRP на базі LightGBM з feature engineering, solver для Integer Programming (PuLP/CBC), дашборд з картою покриття та рекомендаціями, документацію (model card, API специфікація, інструкція з оновлення), навчання RF-інженерів роботі з системою та підтримку протягом трьох місяців після впровадження.

Досвід та гарантії

У нас 5+ років досвіду в AI/ML для телеком, понад 20 завершених проектів з оптимізації мереж LTE/5G. Сертифіковані інженери з LTE та 5G NR. Гарантуємо точність прогнозу ±2 dB на валідації. RF-інженерія та машинне навчання інтегровані в єдину систему, дозволяючи скоротити час планування в 5 разів. Зв'яжіться з нами для пілотного проекту або замовте консультацію з AI-планування, і ми продемонструємо результат на ваших даних.

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

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

  • Розробка сайту компанії B2B ADVANCE
    Розробка сайту компанії B2B ADVANCE
    1542
  • Розробка веб-додатків для компанії FEEDME
    Розробка веб-додатків для компанії FEEDME
    1394
  • Розробка веб-сайту для компанії БЕЛФІНГРУП
    Розробка веб-сайту для компанії БЕЛФІНГРУП
    1081
  • Розробка інтернет магазину для компанії FURNORO
    Розробка інтернет магазину для компанії FURNORO
    1369
  • Розробка логотипу компанії B2B Advance
    Розробка логотипу компанії B2B Advance
    816
  • Розробка веб-додатків для компанії Enviok
    Розробка веб-додатків для компанії Enviok
    1142