Програмний комплекс моделювання кіберфізичних систем безпілотних літальних апаратів
Software Complex for Modeling Cyber-Physical Systems of Unmanned Aerial Vehicles
This software addresses the following formal research questions in the dissertation "Methods and Software Tools for Modeling Electromagnetic Interference for Countermeasures Against Unmanned Aerial Vehicles":
-
Under what geometric and environmental conditions does electromagnetic interference achieve effective disruption of UAV control links, and how does Al-Hourani A2G propagation modelling capture the altitude-dependent LOS transition that governs jamming effectiveness at the ranges typical of C-UAS operations (0.1–5 km)?
-
How do propagation model selection and uncertainty quantification affect the reliability of jamming-effectiveness predictions, and what is the quantitative improvement of the integrated multi-model framework over single-model baselines (Friis-only and Al-Hourani-only without fading)?
-
What are the quantitative limitations of simulation-based V&V for C-UAS systems in the absence of field measurements, and how should prediction uncertainty be formally communicated to system designers using ASME V&V 20?
-
REB (Радіоелектронна боротьба / Radio Electronic Combat) — the use of electromagnetic energy to disrupt, deny, or degrade adversary use of the electromagnetic spectrum, primarily targeting UAV control and telemetry links. Synonym of electronic warfare (EW) in the Ukrainian military context.
-
EMI (Електромагнітні завади / Electromagnetic Interference) — in this project: intentional electromagnetic interference (jamming) applied to UAV control links, as opposed to unintentional EMI in the EMC/compliance sense. All analyses assume a deliberate jamming source targeting the ground-control-station-to-UAV uplink.
UAV-CPS-Analyzer — комплексний програмний інструмент для моделювання та аналізу надійності кіберфізичних систем безпілотних літальних апаратів в умовах електромагнітних завад. Інтегрує 10 фізичних моделей розповсюдження, 8 верифікованих AI/ML модулів (GP-Байєс оптимізація, сурогатні мережі, Q-learning RL, генетичний алгоритм та ін.), формальну валідацію за ASME V&V 20 та 48 еталонних сценаріїв з 6 верифікованих відкритих науково-технічних джерел.
Автори: Новицький П.С., Степаняк М.В., Національний університет «Львівська політехніка», 2025-2026
- 10 моделей розповсюдження — Friis, COST 231-Hata, Rice fading, Shadow fading, Al-Hourani A2G, Altitude-dependent, BER/PER soft degradation, Doppler, ITU-R P.676 atmospheric absorption, urban multi-path correction
- Монте-Карло симуляція — QMC (Sobol), antithetic variates, адаптивна збіжність, просторова кореляція (Gudmundson), N=10 000
- Емуляція FHSS — DJI OcuSync 2.0/3.0/3+, 5 стратегій глушіння, LFSR-16
- Аналіз C-UAS — Dempster-Shafer 4-сенсорна фузія, Парето-оптимізація сенсорних комплексів
- 8 AI/ML модулів — GP-Байєс оптимізація (EI), сурогатна модель (2000–3000×, R² на синтетичних даних), Q-learning RL, ансамблевий класифікатор (99.6% на синтетичних даних¹), Nash ко-еволюція, PCE+активне навчання, GB-корекція, генетичний алгоритм
- Мережі глушників — координоване об'єднання потужностей, генетична оптимізація розміщення
- Сценарії роїв — 4 типи атак (cooperative/decentralized/kamikaze/decoy+strike)
- Формальна валідація — ASME V&V 20, 48 еталонних випадків з 6 верифікованих джерел
pip install numpy scipy matplotlib scikit-learnPython 3.9+, без додаткових залежностей.
# Повний аналіз (26 кроків, ~160 с)
python run_analysis.py
# Окремі модулі
python validation.py
python ai_threat_classifier.py
python multi_jammer_coordination.pyUAV-CPS-Analyzer/
│
├── Core modules (Layer 1 — Physics)
│ ├── propagation_models.py # 10 RF/propagation models
│ ├── fhss_emulator.py # FHSS protocol emulation
│ ├── monte_carlo_engine.py # MC + QMC + antithetic, N=10 000
│ ├── cps_analyzer.py # Dempster-Shafer sensor fusion, C-UAS
│ └── config.py # Drone DB, jammer specs, environments
│
├── Statistical & Validation (Layer 2)
│ ├── sensitivity.py # Sobol S1/ST, Morris elementary effects
│ ├── validation.py # ASME V&V 20, 48 cases, per-domain MAPE
│ ├── reporting.py # LaTeX booktabs tables, Markdown reports
│ ├── baseline_models.py # Friis/Al-Hourani baselines, run_baseline_comparison()
│ └── literature_dataset.py # A2G data from Khawaja (2019), data_origin labels
│
├── AI/ML & Advanced (Layer 3)
│ ├── ai_surrogate.py # MLP/GP/ensemble surrogate, R²=0.965 (synthetic), 2000–3000×
│ ├── ai_optimizer.py # Bayesian optimization (GP + EI acquisition)
│ ├── ai_propagation_correction.py # Gradient Boosting residual correction
│ ├── ai_adaptive_jamming.py # Q-learning RL jammer agent
│ ├── ai_threat_classifier.py # MLP+RF+GBT ensemble, 99.6% accuracy (synthetic data)
│ ├── ai_coevolution.py # Adversarial AI-vs-AI, Nash equilibrium
│ ├── ai_uncertainty_active.py # PCE (Hermite order-3), active learning
│ ├── multi_jammer_coordination.py # Jammer networks, genetic optimizer
│ ├── swarm_scenarios.py # UAV swarm attacks (4 types)
│ ├── trajectory_scenarios.py # Time-varying trajectories (4 types)
│ └── visualization.py # 5 publication figures (300 DPI PDF+PNG)
│
├── run_analysis.py # 26-step integrated pipeline
│
├── docs/
│ ├── en/README.md # Full English documentation
│ └── ua/README.md # Повна українська документація
│
└── output_v1.5/ # Generated artifacts
├── fig_*.pdf / fig_*.png # 5 publication figures (300 DPI)
├── table3.tex / table4.tex / table7.tex
└── summary_report.md
| Модуль | Результат |
|---|---|
| Surrogate model | R²=0.965, RMSE=3.32 dB, 2000–3000× speedup ¹ |
| BER/PER threshold | Реальний поріг J/S ≈ −10 dB (не +10 dB) → 100× менша потужність |
| FHSS protection | Narrowband втрачає 97% ефективності проти FHSS ² |
| Nash equilibrium | frequency_diversity ~40–45% — домінантна стратегія захисника |
| ThreatClassifier (3-class) | 99.6% accuracy (vs 32% D-S) — synthetic data only ¹ |
| DroneRFClassifier (drone/no-drone) | Trained on real DroneRF measurements (Mohammed et al. 2019) ³ |
| RL jammer (adversarial) | +112% vs best fixed strategy |
| Spatial correlation | Ігнорування → +9–30% завищення ширини CI |
| Baseline comparison (integrated vs Friis) | Integrated model MAPE 35.7% vs Friis-only (see baseline table) |
| Validation (medium range) | MAPE 24.9%, PASS rate 53% (ASME V&V 20, 17 кейсів) |
| Validation (field_measurement) | MAPE 16.5% (Khawaja 2019, 5 A2G кейсів) |
| Validation (field_meas_estimated) | MAPE 29.9% (Khawaja 2019, 7 A2G кейсів) |
| Validation (overall, 48 кейсів) | MAPE 35.7%, CI coverage 50%, PASS 29% |
¹ ThreatClassifier accuracy measured on synthetic test data (ThreatDataGenerator). Real-world accuracy for FIBER_OPTIC and AUTONOMOUS classes is unknown — no public field measurement dataset exists for these classes. See ai_threat_classifier.py module docstring.
² FHSS effectiveness results are theoretical analytical bounds (Torrieri 2018, Poisel 2008, Adamy 2015). No open-access OcuSync-specific measurement data was available for empirical validation.
³ DroneRFClassifier covers RF-controlled commercial drones (Bebop, AR Drone, Phantom 3) only. Accuracy on real held-out DroneRF test split. Requires DroneRF dataset path at runtime.
@software{uav_cps_analyzer_2025,
author = {Novitskyi, Pavlo and Stepaniak, Maksym},
title = {UAV-CPS-Analyzer: Software Complex for Cyber-Physical Systems
Analysis of UAV Communication Reliability},
year = {2025},
institution = {Lviv Polytechnic National University},
version = {1.5.0}
}GNU General Public License v3.0 — see LICENSE file.