این مخزن شامل پیادهسازی یک Pipeline انتهابهانتها برای کاهش مصرف انرژی در شبکههای LoRaWAN با تکیه بر پیشبینی SNR و کنترل تطبیقی توان ارسال (ML-Assisted TPC) است.
هدف پروژه، جایگزینی تصمیمگیری محافظهکارانهی ADR استاندارد با یک رویکرد دادهمحور، سریع و کممصرف میباشد.
گزارش علمی کامل این پروژه که مبنای مفهومی و تحلیلی طراحی و پیادهسازی کد حاضر بوده است، در فایل زیر ارائه شده است:
📘 Energy_Optimization_IOT_Using ML.pdf
در این گزارش، مسئله بهینهسازی مصرف انرژی در شبکههای LoRaWAN بهصورت نظاممند بررسی شده و رویکردهای یادگیریمحور مطرح در ادبیات مورد تحلیل قرار گرفتهاند. محورهای اصلی گزارش شامل موارد زیر است:
- تحلیل محدودیتهای ADR استاندارد، بهویژه وابستگی به تاریخچه SNR و انتخاب محافظهکارانه Link Margin
- مرور رویکردهای مبتنی بر یادگیری ماشین و یادگیری تقویتی (ML/RL) برای تخصیص تطبیقی پارامترهای LoRaWAN
- تشریح مفهوم Excess Margin (Me) بهعنوان شاخصی برای سنجش اتلاف انرژی در مقابل پایداری لینک
- بررسی و تبیین چارچوب ML-Assisted Transmission Power Control (TPC) مبتنی بر پیشبینی SNR بهجای اتکا به SNR گذشته
علاوه بر این، دادهها و منطق اصلی کنترل توان در این پروژه، متأثر از مقاله زیر است که بر پایه دادههای میدانی واقعی، پیشبینی SNR و کنترل تطبیقی توان ارسال را بررسی میکند:
Machine-Learning-Assisted Transmission Power Control for LoRaWAN
Considering Environments With High Signal-to-Noise Variation
نویسندگان این مقاله، دیتاست و پیادهسازی مرجع خود را بهصورت عمومی منتشر کردهاند که بهعنوان مبنای مفهومی و مقایسهای در این پروژه مورد استفاده قرار گرفته است.
Pipeline پیادهسازیشده شامل مراحل زیر است:
- پیشپردازش دادههای LoRaWAN
- آموزش مدلهای یادگیری ماشین برای پیشبینی SNR
- اعمال الگوریتم Transmission Power Control مبتنی بر SNR پیشبینیشده
- محاسبه مصرف انرژی نرمالشده
- مقایسه کمی با Baseline ثابت (ADR-like)
مقایسه SNR واقعی و پیشبینیشده توسط مدل ML:
توزیع پارامترهای انتخابشده پس از اعمال TPC:
شکل زیر، تحلیل عددی و آماری عملکرد الگوریتم پیشنهادی را در مقایسه با پیکربندی baseline ثابت (ADR-like) نشان میدهد:
در حالت baseline، تمامی نمونهها با تنظیمات محافظهکارانه زیر ارسال شدهاند:
- Spreading Factor (SF) = 12
- Transmission Power (TP) = 14 dBm
این پیکربندی با هدف حفظ پایداری لینک انتخاب شده، اما منجر به مصرف انرژی بالا میشود.
الگوریتم پیشنهادی با تکیه بر SNR پیشبینیشده، پارامترهای SF و TP را بهصورت تطبیقی تنظیم کرده و بخش قابل توجهی از نمونهها را به مقادیر پایینتر منتقل کرده است.
نتایج کمی نشان میدهد که:
- درصد لینکهای پایدار (Me ≥ 0) در حدود 68.8٪ حفظ شده و کاهش نیافته است.
- میانگین انرژی نرمالشده از 1.0 در حالت baseline به 0.38 کاهش یافته است (حدود 62٪ کاهش).
- میانه انرژی نرمالشده به 0.099 رسیده که نشاندهنده کاهش انرژی در بیش از نیمی از نمونهها تا حدود 90٪ است.
- حدود 60٪ از نمونهها مصرف انرژی کمتری نسبت به baseline داشتهاند.
این نتایج نشان میدهد که روش پیشنهادی بدون افت محسوس در پایداری لینک، موفق به کاهش قابل توجه مصرف انرژی شده و بهرهوری انرژی شبکه را بهطور معنیدار بهبود داده است.
.
├── data/ دادههای ورودی
├── models_trained/ مدلهای آموزشدیده
├── notebooks/ اجرای نمایشی end-to-end
├── outputs/
│ ├── figures/ نمودارها و تحلیلها
│ └── predictions/ خروجیهای عددی (CSV)
├── src/
│ ├── run_pipeline.py
│ ├── tpc.py
│ ├── energy.py
│ ├── analyze_tpc_vs_baseline.py
│ └── ...
├── Energy_Optimization_IOT_Using ML.pdf
└── README.md
pip install -r requirements.txt
python -m src.run_pipeline
python -m src.analyze_tpc_vs_baselineاین پروژه نشان میدهد که:
- پیشبینی SNR با یادگیری ماشین
- امکان تصمیمگیری سریعتر و دقیقتر نسبت به ADR استاندارد را فراهم میکند
- و منجر به کاهش مصرف انرژی در شبکههای LoRaWAN میشود
[1] M. González-Palacio, D. Tobón-Vallejo, L. M. Sepúlveda-Cano,
M. Luna-DelRisco, C. Röehrig, and L. B. Le,
“Machine-Learning-Assisted Transmission Power Control for LoRaWAN Considering Environments With High Signal-to-Noise Variation,”
IEEE Access, 2024.
- GitHub Repository (Authors):
https://github.com/magonzalezudem/snr_tpc_ieee_access


