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 погіршує якість голосу.
Процес роботи
- Аналітика: збір даних drive test, рельєфу (SRTM), забудови (OSM), скарг. Формуємо demand map.
- Проектування: навчаємо ML-модель на історичних даних. Калібруємо threshold-и.
- Реалізація: запускаємо Integer Programming для вибору майданчиків. Формуємо план розміщення.
- Тест: пілот на 1–2 кластери, валідація actual vs predicted покриття.
- Деплой: інтеграція в 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-планування, і ми продемонструємо результат на ваших даних.







