Skip to content
Aramesh-AriaPublic

About

ML-assisted SNR prediction and transmission power control for energy-efficient LoRaWAN networks (academic project).

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

بهینه‌سازی مصرف انرژی در شبکه‌های LoRaWAN با استفاده از یادگیری ماشین

این مخزن شامل پیاده‌سازی یک 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 پیاده‌سازی‌شده شامل مراحل زیر است:

  1. پیش‌پردازش داده‌های LoRaWAN
  2. آموزش مدل‌های یادگیری ماشین برای پیش‌بینی SNR
  3. اعمال الگوریتم Transmission Power Control مبتنی بر SNR پیش‌بینی‌شده
  4. محاسبه مصرف انرژی نرمال‌شده
  5. مقایسه کمی با Baseline ثابت (ADR-like)

📊 نتایج کلیدی

🔹 کیفیت پیش‌بینی SNR

مقایسه SNR واقعی و پیش‌بینی‌شده توسط مدل ML:

SNR Prediction


🔹 رفتار تطبیقی الگوریتم (SF / TP)

توزیع پارامترهای انتخاب‌شده پس از اعمال TPC:

SF Distribution


🔹 مقایسه نهایی: Baseline در برابر ML-Assisted TPC

شکل زیر، تحلیل عددی و آماری عملکرد الگوریتم پیشنهادی را در مقایسه با پیکربندی baseline ثابت (ADR-like) نشان می‌دهد:

TPC vs Baseline

🔸 پیکربندی Baseline

در حالت baseline، تمامی نمونه‌ها با تنظیمات محافظه‌کارانه زیر ارسال شده‌اند:

  • Spreading Factor (SF) = 12
  • Transmission Power (TP) = 14 dBm

این پیکربندی با هدف حفظ پایداری لینک انتخاب شده، اما منجر به مصرف انرژی بالا می‌شود.

🔸 رفتار الگوریتم ML-Assisted TPC

الگوریتم پیشنهادی با تکیه بر 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.

About

ML-assisted SNR prediction and transmission power control for energy-efficient LoRaWAN networks (academic project).

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Contributors

Languages