<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Publishing DTD v1.3 20210610//EN" "JATS-journalpublishing1-3-mathml3.dtd">
<article xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:ali="http://www.niso.org/schemas/ali/1.0/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" article-type="research-article" dtd-version="1.3" xml:lang="EN">
<front>
<journal-meta>
<journal-id journal-id-type="publisher-id">Front. Comput. Sci.</journal-id>
<journal-title-group>
<journal-title>Frontiers in Computer Science</journal-title>
<abbrev-journal-title abbrev-type="pubmed">Front. Comput. Sci.</abbrev-journal-title>
</journal-title-group>
<issn pub-type="epub">2624-9898</issn>
<publisher>
<publisher-name>Frontiers Media S.A.</publisher-name>
</publisher>
</journal-meta>
<article-meta>
<article-id pub-id-type="doi">10.3389/fcomp.2025.1666262</article-id>
<article-version article-version-type="Corrected Version of Record" vocab="NISO-RP-8-2008"/>
<article-categories>
<subj-group subj-group-type="heading">
<subject>Original Research</subject>
</subj-group>
</article-categories>
<title-group>
<article-title>Machine learning-based spreading factor optimization in LoRaWAN networks</article-title>
</title-group>
<contrib-group>
<contrib contrib-type="author" corresp="yes">
<name><surname>Nisar</surname> <given-names>Farhan</given-names></name>
<xref ref-type="aff" rid="aff1"><sup>1</sup></xref>
<xref ref-type="corresp" rid="c001"><sup>&#x0002A;</sup></xref>
<role vocab="credit" vocab-identifier="https://credit.niso.org/" vocab-term="Conceptualization" vocab-term-identifier="https://credit.niso.org/contributor-roles/conceptualization/">Conceptualization</role>
<role vocab="credit" vocab-identifier="https://credit.niso.org/" vocab-term="Data curation" vocab-term-identifier="https://credit.niso.org/contributor-roles/data-curation/">Data curation</role>
<role vocab="credit" vocab-identifier="https://credit.niso.org/" vocab-term="Writing &#x2013; original draft" vocab-term-identifier="https://credit.niso.org/contributor-roles/writing-original-draft/">Writing &#x2013; original draft</role>
<uri xlink:href="https://loop.frontiersin.org/people/3165392"/>
</contrib>
<contrib contrib-type="author">
<name><surname>Amin</surname> <given-names>Muhammad</given-names></name>
<xref ref-type="aff" rid="aff1"><sup>1</sup></xref>
<role vocab="credit" vocab-identifier="https://credit.niso.org/" vocab-term="Supervision" vocab-term-identifier="https://credit.niso.org/contributor-roles/supervision/">Supervision</role>
<role vocab="credit" vocab-identifier="https://credit.niso.org/" vocab-term="Writing &#x2013; review &amp; editing" vocab-term-identifier="https://credit.niso.org/contributor-roles/writing-review-editing/">Writing &#x2013; review &#x00026; editing</role>
</contrib>
<contrib contrib-type="author">
<name><surname>Touseef Irshad</surname> <given-names>Muhammad</given-names></name>
<xref ref-type="aff" rid="aff2"><sup>2</sup></xref>
<role vocab="credit" vocab-identifier="https://credit.niso.org/" vocab-term="Data curation" vocab-term-identifier="https://credit.niso.org/contributor-roles/data-curation/">Data curation</role>
<role vocab="credit" vocab-identifier="https://credit.niso.org/" vocab-term="Supervision" vocab-term-identifier="https://credit.niso.org/contributor-roles/supervision/">Supervision</role>
<role vocab="credit" vocab-identifier="https://credit.niso.org/" vocab-term="Writing &#x2013; review &amp; editing" vocab-term-identifier="https://credit.niso.org/contributor-roles/writing-review-editing/">Writing &#x2013; review &#x00026; editing</role>
</contrib>
<contrib contrib-type="author">
<name><surname>Hadi</surname> <given-names>Hassan Jalil</given-names></name>
<xref ref-type="aff" rid="aff3"><sup>3</sup></xref>
<role vocab="credit" vocab-identifier="https://credit.niso.org/" vocab-term="Writing &#x2013; review &amp; editing" vocab-term-identifier="https://credit.niso.org/contributor-roles/writing-review-editing/">Writing &#x2013; review &#x00026; editing</role>
<role vocab="credit" vocab-identifier="https://credit.niso.org/" vocab-term="Methodology" vocab-term-identifier="https://credit.niso.org/contributor-roles/methodology/">Methodology</role>
<uri xlink:href="https://loop.frontiersin.org/people/2927462"/>
</contrib>
<contrib contrib-type="author">
<name><surname>Ahmad</surname> <given-names>Naveed</given-names></name>
<xref ref-type="aff" rid="aff4"><sup>4</sup></xref>
<role vocab="credit" vocab-identifier="https://credit.niso.org/" vocab-term="Writing &#x2013; review &amp; editing" vocab-term-identifier="https://credit.niso.org/contributor-roles/writing-review-editing/">Writing &#x2013; review &#x00026; editing</role>
<role vocab="credit" vocab-identifier="https://credit.niso.org/" vocab-term="Resources" vocab-term-identifier="https://credit.niso.org/contributor-roles/resources/">Resources</role>
<role vocab="credit" vocab-identifier="https://credit.niso.org/" vocab-term="Visualization" vocab-term-identifier="https://credit.niso.org/contributor-roles/visualization/">Visualization</role>
<uri xlink:href="https://loop.frontiersin.org/people/1696717"/>
</contrib>
<contrib contrib-type="author">
<name><surname>Ladan</surname> <given-names>Mohamad</given-names></name>
<xref ref-type="aff" rid="aff5"><sup>5</sup></xref>
<role vocab="credit" vocab-identifier="https://credit.niso.org/" vocab-term="Writing &#x2013; review &amp; editing" vocab-term-identifier="https://credit.niso.org/contributor-roles/writing-review-editing/">Writing &#x2013; review &#x00026; editing</role>
<role vocab="credit" vocab-identifier="https://credit.niso.org/" vocab-term="Funding acquisition" vocab-term-identifier="https://credit.niso.org/contributor-roles/funding-acquisition/">Funding acquisition</role>
<uri xlink:href="https://loop.frontiersin.org/people/3182643"/>
</contrib>
</contrib-group>
<aff id="aff1"><label>1</label><institution>Department of Physical &#x00026; Numerical Sciences, Qurtuba University of Science &#x00026; Information Technology</institution>, <city>Peshawar</city>, <country country="pk">Pakistan</country></aff>
<aff id="aff2"><label>2</label><institution>National University of Modern Languages Peshawar Campus</institution>, <city>Peshawar</city>, <country country="pk">Pakistan</country></aff>
<aff id="aff3"><label>3</label><institution>Center of Excellence in Cyber Security (CYBEX), Prince Sultan University</institution>, <city>Riyadh</city>, <country country="sa">Saudi Arabia</country></aff>
<aff id="aff4"><label>4</label><institution>Software Engineering Department, Prince Sultan University</institution>, <city>Riyadh</city>, <country country="sa">Saudi Arabia</country></aff>
<aff id="aff5"><label>5</label><institution>College of Computer and Information Sciences, Prince Sultan University</institution>, <city>Riyadh</city>, <country country="sa">Saudi Arabia</country></aff>
<author-notes>
<corresp id="c001"><label>&#x0002A;</label>Correspondence: Farhan Nisar, <email xlink:href="mailto:Farhansnisar@yahoo.com">Farhansnisar@yahoo.com</email></corresp>
</author-notes>
<pub-date publication-format="electronic" date-type="pub" iso-8601-date="2025-09-17">
<day>17</day>
<month>09</month>
<year>2025</year>
</pub-date>
<pub-date publication-format="electronic" date-type="corrected" iso-8601-date="2025-09-19">
<day>19</day>
<month>09</month>
<year>2025</year>
</pub-date>
<pub-date publication-format="electronic" date-type="collection">
<year>2025</year>
</pub-date>
<volume>7</volume>
<elocation-id>1666262</elocation-id>
<history>
<date date-type="received">
<day>15</day>
<month>07</month>
<year>2025</year>
</date>
<date date-type="accepted">
<day>25</day>
<month>08</month>
<year>2025</year>
</date>
</history>
<permissions>
<copyright-statement>Copyright &#x000A9; 2025 Nisar, Amin, Touseef Irshad, Hadi, Ahmad and Ladan.</copyright-statement>
<copyright-year>2025</copyright-year>
<copyright-holder>Nisar, Amin, Touseef Irshad, Hadi, Ahmad and Ladan</copyright-holder>
<license>
<ali:license_ref start_date="2025-09-17">https://creativecommons.org/licenses/by/4.0/</ali:license_ref>
<license-p>This is an open-access article distributed under the terms of the <ext-link ext-link-type="uri" xlink:href="https://creativecommons.org/licenses/by/4.0/">Creative Commons Attribution License (CC BY)</ext-link>. The use, distribution or reproduction in other forums is permitted, provided the original author(s) and the copyright owner(s) are credited and that the original publication in this journal is cited, in accordance with accepted academic practice. No use, distribution or reproduction is permitted which does not comply with these terms.</license-p>
</license>
</permissions>
<abstract>
<p>The Internet of Things (IoT) has experienced rapid growth and adoption in recent years, enabling applications across diverse industries, including agriculture, logistics, smart cities, and healthcare. Long Range Wide Area Network (LoRaWAN) has emerged as a leading choice among IoT communication technologies due to its long-range, low-power, and cost-effective capabilities. However, the rapid proliferation of IoT devices has intensified the challenge of efficient resource management, particularly in spreading factor (SF) allocation for LoRaWAN networks. In this paper, we propose a Machine Learning-based Adaptive Data Rate (ML-ADR) approach for SF management to address this issue. A Long Short-Term Memory (LSTM) network was trained on a dataset generated using ns-3 for optimal SF classification. The pre-trained LSTM model was then utilized on the end-device side for efficient SF allocation with newly generated data during simulation. The results demonstrate improved packet delivery ratios and reduced energy consumption.</p></abstract>
<kwd-group>
<kwd>LoRaWAN</kwd>
<kwd>Internet of Things (IoT)</kwd>
<kwd>machine learning (ML)</kwd>
<kwd>LSTM</kwd>
<kwd>spreading factor (SF)</kwd>
<kwd>transmission power (TP)</kwd>
</kwd-group>
<funding-group>
<funding-statement>The author(s) declare that financial support was received for the research and/or publication of this article. Article Processing Charges (APC) were provided by Prince Sultan University.</funding-statement>
</funding-group>
<counts>
<fig-count count="9"/>
<table-count count="6"/>
<equation-count count="6"/>
<ref-count count="68"/>
<page-count count="17"/>
<word-count count="10868"/>
</counts>
<custom-meta-group>
<custom-meta>
<meta-name>section-at-acceptance</meta-name>
<meta-value>Networks and Communications</meta-value>
</custom-meta>
</custom-meta-group>
</article-meta>
</front>
<body>
<sec sec-type="intro" id="s1">
<label>1</label>
<title>Introduction</title>
<p>The Internet of Things (IoT) has emerged as a transformative paradigm, enabling seamless integration of physical and digital worlds through interconnected devices. IoT applications span diverse domains, including smart cities, precision agriculture, industrial automation, and healthcare, revolutionizing data-driven decision-making (<xref ref-type="bibr" rid="B6">Augustin et al., 2016</xref>). A critical enabler of IoT is Low-Power Wide Area Network (LPWAN) technology, which provides long-range communication with minimal energy consumption. Among LPWAN solutions, SigFox, Narrowband IoT (NB-IoT), Weightless, and Long-Term Evolution for Machines (LTE-M) (<xref ref-type="bibr" rid="B47">Mekki et al., 2019</xref>; <xref ref-type="bibr" rid="B35">Gomez et al., 2019</xref>; <xref ref-type="bibr" rid="B28">Farhad et al., 2020a</xref>; <xref ref-type="bibr" rid="B59">Singh et al., 2020</xref>), Long Range Wide Area Network (LoRaWAN) has gained prominence due to its open standard, scalability, and adaptability to heterogeneous IoT deployments (<xref ref-type="bibr" rid="B47">Mekki et al., 2019</xref>).</p>
<p><xref ref-type="table" rid="T1">Table 1</xref> highlights the distinguishing characteristics of these IoT solutions. SigFox is recognized for its straightforward and economical deployment, whereas NB-IoT capitalizes on established cellular networks to deliver improved data throughput. The Weightless standard stands out for its adaptability and scalability, while LTE-M excels in mobility support and extended coverage. Notably, LoRaWAN (<xref ref-type="bibr" rid="B41">LoRa, 2020</xref>) has emerged as a dominant low-power wide-area network (LPWAN) technology, attracting considerable interest due to its long-range capabilities combined with energy efficiency. Consequently, it has seen widespread adoption across both academic and industrial IoT implementations.</p>
<table-wrap position="float" id="T1">
<label>Table 1</label>
<caption><p>Comparative analysis of prominent IoT communication technologies (<xref ref-type="bibr" rid="B24">Farhad et al., 2022a</xref>; <xref ref-type="bibr" rid="B30">Farhad and Pyun, 2023b</xref>,<xref ref-type="bibr" rid="B31">c</xref>).</p></caption>
<table frame="box" rules="all">
<thead>
<tr>
<th valign="top" align="left"><bold>Technology aspect</bold></th>
<th valign="top" align="left"><bold>LoRaWAN</bold></th>
<th valign="top" align="left"><bold>Sigfox</bold></th>
<th valign="top" align="left"><bold>NB-IoT</bold></th>
<th valign="top" align="left"><bold>Weightless</bold></th>
<th valign="top" align="left"><bold>LTE-M</bold></th>
</tr>
</thead>
<tbody>
<tr>
<td valign="top" align="left">Frequency band</td>
<td valign="top" align="left">Unlicensed ISM bands (e.g., 868 MHz EU, 915 MHz US)</td>
<td valign="top" align="left">Unlicensed ISM bands (e.g., 868 MHz EU, 902 MHz US)</td>
<td valign="top" align="left">Licensed LTE bands (in-band, guard-band, standalone)</td>
<td valign="top" align="left">Sub-1 GHz ISM bands</td>
<td valign="top" align="left">Licensed LTE bands</td>
</tr> <tr>
<td valign="top" align="left">Channel bandwidth</td>
<td valign="top" align="left">125 kHz, 250 kHz, 500 kHz</td>
<td valign="top" align="left">100 Hz (uplink), 600 Hz (downlink)</td>
<td valign="top" align="left">180 kHz</td>
<td valign="top" align="left">12.5 kHz</td>
<td valign="top" align="left">1.4 MHz</td>
</tr>
<tr>
<td valign="top" align="left">Modulation scheme</td>
<td valign="top" align="left">CSS (Chirp Spread Spectrum)</td>
<td valign="top" align="left">DBPSK (uplink), GFSK (downlink)</td>
<td valign="top" align="left">QPSK</td>
<td valign="top" align="left">GMSK, QPSK</td>
<td valign="top" align="left">QPSK, 16 QAM</td>
</tr>
<tr>
<td valign="top" align="left">Max. application payload</td>
<td valign="top" align="left">51 to 242 bytes (region-dependent)</td>
<td valign="top" align="left">12 bytes (uplink), 8 bytes (downlink)</td>
<td valign="top" align="left">&#x0007E;1,600 bytes</td>
<td valign="top" align="left">Variable, app-defined</td>
<td valign="top" align="left">&#x0007E;1,500 bytes</td>
</tr>
<tr>
<td valign="top" align="left">Data throughput</td>
<td valign="top" align="left">0.3 kbps to 50 kbps</td>
<td valign="top" align="left">100 bps (uplink), 600 bps (downlink)</td>
<td valign="top" align="left">&#x0007E;250 kbps (downlink), &#x0007E;20 kbps (uplink)</td>
<td valign="top" align="left">Up to 100 kbps</td>
<td valign="top" align="left">Up to 1 Mbps</td>
</tr>
<tr>
<td valign="top" align="left">Typical range [km]</td>
<td valign="top" align="left">Urban &#x02248; 2&#x02013;5, Rural &#x0003E; 15</td>
<td valign="top" align="left">Urban &#x02248; 3&#x02013;10, Rural &#x02248; 30&#x02013;50</td>
<td valign="top" align="left">Urban &#x02248; 1&#x02013;2, Rural &#x02264; 10</td>
<td valign="top" align="left">Urban &#x02248; 2</td>
<td valign="top" align="left">Enhanced coverage up to 10 km</td>
</tr>
<tr>
<td valign="top" align="left">Adaptive rate control</td>
<td valign="top" align="left">Yes</td>
<td valign="top" align="left">No</td>
<td valign="top" align="left">Yes</td>
<td valign="top" align="left">Yes</td>
<td valign="top" align="left">Yes</td>
</tr>
<tr>
<td valign="top" align="left">Power profile</td>
<td valign="top" align="left">Extremely low</td>
<td valign="top" align="left">Extremely low</td>
<td valign="top" align="left">Low</td>
<td valign="top" align="left">Low</td>
<td valign="top" align="left">Moderate</td>
</tr>
<tr>
<td valign="top" align="left">Mobility</td>
<td valign="top" align="left">Supported (handovers can be challenging)</td>
<td valign="top" align="left">Not supported</td>
<td valign="top" align="left">Supported in connected mode</td>
<td valign="top" align="left">Supported</td>
<td valign="top" align="left">Full, seamless handovers</td>
</tr>
<tr>
<td valign="top" align="left">Positioning method</td>
<td valign="top" align="left">Uplink TDoA and RSSI (<xref ref-type="bibr" rid="B22">Farahsari et al., 2022</xref>; <xref ref-type="bibr" rid="B63">Torres-Sospedra et al., 2022</xref>)</td>
<td valign="top" align="left">Network-based trilateration</td>
<td valign="top" align="left">OTDOA, E-CID</td>
<td valign="top" align="left">Supported</td>
<td valign="top" align="left">OTDOA, E-CID</td>
</tr>
<tr>
<td valign="top" align="left">Private deployment</td>
<td valign="top" align="left">Yes, fully supported</td>
<td valign="top" align="left">No, public network only</td>
<td valign="top" align="left">Yes, via network slicing</td>
<td valign="top" align="left">Yes</td>
<td valign="top" align="left">Yes, via network slicing</td>
</tr>
<tr>
<td valign="top" align="left">Two-Way communication</td>
<td valign="top" align="left">Fully bidirectional</td>
<td valign="top" align="left">Limited (uplink-focused)</td>
<td valign="top" align="left">Fully bidirectional</td>
<td valign="top" align="left">Fully bidirectional</td>
<td valign="top" align="left">Fully bidirectional</td>
</tr>
<tr>
<td valign="top" align="left">Network model</td>
<td valign="top" align="left">Public or private</td>
<td valign="top" align="left">Public (operator-led)</td>
<td valign="top" align="left">Public (operator-led)</td>
<td valign="top" align="left">Open standard</td>
<td valign="top" align="left">Public (operator-led)</td>
</tr>
<tr>
<td valign="top" align="left">Available simulators [public]</td>
<td valign="top" align="left">Yes (<xref ref-type="bibr" rid="B56">Sartori, 2023</xref>; <xref ref-type="bibr" rid="B68">Zorbas et al., 2021</xref>; <xref ref-type="bibr" rid="B8">Beltramelli et al., 2021</xref>; <xref ref-type="bibr" rid="B40">Loh et al., 2021</xref>; <xref ref-type="bibr" rid="B14">Casals et al., 2021</xref>; <xref ref-type="bibr" rid="B67">Zorbas et al., 2020</xref>; <xref ref-type="bibr" rid="B2">Abdelfadeel et al., 2019</xref>; <xref ref-type="bibr" rid="B13">Callebaut et al., 2019</xref>; <xref ref-type="bibr" rid="B61">Ta et al., 2019</xref>; <xref ref-type="bibr" rid="B54">Reynders et al., 2018</xref>; <xref ref-type="bibr" rid="B62">To and Duda, 2018</xref>; <xref ref-type="bibr" rid="B60">Slabicki et al., 2018</xref>; <xref ref-type="bibr" rid="B12">Bounceur et al., 2018</xref>; <xref ref-type="bibr" rid="B16">Croce et al., 2018</xref>; <xref ref-type="bibr" rid="B43">Magrin et al., 2017</xref>; <xref ref-type="bibr" rid="B64">Van den Abeele et al., 2017</xref>; <xref ref-type="bibr" rid="B53">Pop et al., 2017</xref>; <xref ref-type="bibr" rid="B11">Bor et al., 2016</xref>)</td>
<td valign="top" align="left">Yes (Weyn and Contributors, <xref ref-type="bibr" rid="B66">2023</xref>; <xref ref-type="bibr" rid="B17">DEIS-Tools Project Team, 2023</xref>; <xref ref-type="bibr" rid="B55">SAPGAN Team, 2023</xref>)</td>
<td valign="top" align="left">Yes (<xref ref-type="bibr" rid="B34">Gdbranco, 2023</xref>; <xref ref-type="bibr" rid="B1">a3794110</xref>, <xref ref-type="bibr" rid="B1">2023</xref>)</td>
<td valign="top" align="left">Not publicly available</td>
<td valign="top" align="left">Yes</td>
</tr></tbody>
</table>
</table-wrap>
<sec>
<label>1.1</label>
<title>LoRa and LoRaWAN: an overview</title>
<p>Long Range (LoRa) is the physical layer (PHY) technology that underpins LoRaWAN, utilizing Chirp Spread Spectrum (CSS) modulation to achieve robust, long-range communication. CSS modulates data into chirp signals that sweep across a wide frequency band, offering inherent resistance to noise, multipath fading, and Doppler effects (<xref ref-type="bibr" rid="B52">Pasolini, 2021</xref>). This modulation technique enables LoRa to achieve a link budget exceeding 150 dB, supporting communication ranges of up to 15 km in rural areas and 2&#x02013;5 km in urban environments (<xref ref-type="bibr" rid="B28">Farhad et al., 2020a</xref>) (<xref ref-type="fig" rid="F1">Figure 1</xref>).</p>
<fig position="float" id="F1">
<label>Figure 1</label>
<caption><p>LoRaWAN architecture comprising end devices, gateways, network servers, and application servers.</p></caption>
<graphic mimetype="image" mime-subtype="tiff" xlink:href="fcomp-07-1666262-g0001.tif">
<alt-text content-type="machine-generated">Diagram illustrating data transmission flow between devices, gateway, network server, and application servers. Arrows indicate uplink and downlink transmission via LTE/Ethernet between components.</alt-text>
</graphic>
</fig>
<p>LoRaWAN, the Medium Access Control (MAC) layer protocol, manages network operations, including device authentication, adaptive data rate (ADR), and bidirectional communication. It operates in the unlicensed Industrial, Scientific, and Medical (ISM) bands (e.g., 868 MHz in Europe, 915 MHz in North America) and supports data rates from 0.3 kbps to 50 kbps, dynamically adjustable based on channel conditions (<xref ref-type="bibr" rid="B41">LoRa, 2020</xref>). Compared to alternatives like Sigfox and NB-IoT, LoRaWAN offers superior flexibility in private network deployments and Quality of Service (QoS) customization (<xref ref-type="bibr" rid="B47">Mekki et al., 2019</xref>).</p>
</sec>
<sec>
<label>1.2</label>
<title>LoRaWAN architecture and components</title>
<p>LoRaWAN employs a star-of-stars topology (<xref ref-type="fig" rid="F2">Figure 2</xref>), comprising three primary components:</p>
<list list-type="order">
<list-item><p>End Devices (EDs): battery-powered sensors or actuators that collect and transmit data using LoRa modulation. EDs are optimized for energy efficiency, with lifetimes ranging from 2 to 10 years (<xref ref-type="bibr" rid="B59">Singh et al., 2020</xref>).</p></list-item>
<list-item><p>Gateways (GWs): relay nodes that receive ED transmissions and forward them to the network server. Gateways support multi-channel, multi-SF reception, leveraging the &#x0201C;capture effect&#x0201D; to decode overlapping signals (<xref ref-type="bibr" rid="B42">Magrin et al., 2021</xref>).</p></list-item>
<list-item><p>Network Server (NS): the central component of LoRaWAN, responsible for deduplication, security, ADR optimization, and routing data to application servers (<xref ref-type="bibr" rid="B24">Farhad et al., 2022a</xref>).</p></list-item>
</list>
<fig position="float" id="F2">
<label>Figure 2</label>
<caption><p>Class A receive windows operations.</p></caption>
<graphic mimetype="image" mime-subtype="tiff" xlink:href="fcomp-07-1666262-g0002.tif">
<alt-text content-type="machine-generated">Diagram depicting a packet transmission and acknowledgment process between a gateway (GW) and an endpoint device (ED). It shows initial UL packet transmission with two response slots, RX1 and RX2, occurring at intervals of one and two seconds, respectively. The first acknowledgment (ACK) is lost. After a retransmission timeout, the UL packet is retransmitted, followed by another ACK which is successfully received.</alt-text>
</graphic>
</fig>
</sec>
<sec>
<label>1.3</label>
<title>Chirp spread spectrum and spreading factors</title>
<p>Chirp Spread Spectrum (CSS) modulation encodes data into chirp signals whose frequency increases or decreases linearly over time. This approach provides a processing gain, enhancing the signal-to-noise ratio (SNR) by expanding the signal bandwidth. This technique also enables orthogonality, allowing simultaneous transmissions on the same frequency by assigning different spreading factors (SFs) to end devices. The available SFs, ranging from 7 to 12, create an explicit trade-off between data rate, robustness, and range (<xref ref-type="bibr" rid="B20">ETSI, 2018</xref>). For example, a lower factor such as SF7 supports a higher data rate of 5.5 kbps, while a higher factor like SF12 reduces the throughput to 250 bps but can increase the communication range by 20% (<xref ref-type="bibr" rid="B11">Bor et al., 2016</xref>).</p>
</sec>
<sec>
<label>1.4</label>
<title>Device classes and class a operation</title>
<p>LoRaWAN classifies end devices into three distinct categories (Class <italic>A</italic>, Class <italic>B</italic>, and Class <italic>C</italic>) based on their communication patterns and power requirements (<xref ref-type="bibr" rid="B23">Farhad et al., 2020b</xref>). This classification system allows device manufacturers and application developers to select the most appropriate operational mode based on specific use case requirements. Class <italic>A</italic> devices, which represent the baseline implementation, employ an asynchronous, battery-optimized communication scheme where downlink messages are only permitted during two brief receive windows following each uplink transmission. This ALOHA-based approach minimizes energy consumption, making Class <italic>A</italic> ideal for applications like environmental sensors that transmit data infrequently and can tolerate some communication latency. Class <italic>B</italic> devices extend this functionality by introducing scheduled receive windows through periodic beacon messages from the gateway. These beacons synchronize the network and enable predictable downlink communication slots, which are particularly useful for applications such as firmware updates or configuration changes that require guaranteed delivery windows without maintaining constant connectivity. However, this additional functionality comes at the cost of moderately higher power consumption compared to Class <italic>A</italic>. Class <italic>C</italic> devices represent the most capable but power-intensive option, maintaining nearly continuous reception availability except during transmission periods. This class is typically employed for powered devices or applications requiring real-time bidirectional communication, such as street lighting control or industrial automation systems where immediate command execution is critical. The hierarchical class structure of LoRaWAN provides developers with flexibility to balance energy efficiency with communication responsiveness based on their specific application requirements.</p>
</sec>
<sec>
<label>1.5</label>
<title>Class A receive windows</title>
<p>When a Class A device transmits an uplink, it subsequently opens two receive windows, as shown in <xref ref-type="fig" rid="F2">Figure 2</xref>. The first, RX1, opens after a fixed delay (e.g., 1 s in the EU868 region) and utilizes the same frequency and spreading factor (SF) as the preceding uplink transmission. Following this, a second configurable window, RX2, opens (e.g., 2 s later). RX2 operates on a default frequency and SF (e.g., SF12), serving as a fallback for the network server to respond if it misses the opportunity during RX1.</p>
</sec>
<sec>
<label>1.6</label>
<title>Adaptive data rate and blind adaptive data rate</title>
<p>LoRaWAN includes a built-in Adaptive Data Rate (ADR) mechanism that aims to improve communication efficiency by dynamically adjusting the SF and transmission power (TP) of end devices (EDs) (<xref ref-type="bibr" rid="B44">Marini et al., 2021</xref>; <xref ref-type="bibr" rid="B5">Anwar et al., 2021</xref>; <xref ref-type="bibr" rid="B49">Moysiadis et al., 2021</xref>; <xref ref-type="bibr" rid="B51">Park et al., 2020</xref>; <xref ref-type="bibr" rid="B9">Benkahla et al., 2019</xref>; <xref ref-type="bibr" rid="B57">Semtech, 2019a</xref>,<xref ref-type="bibr" rid="B58">b</xref>; <xref ref-type="bibr" rid="B20">ETSI, 2018</xref>; <xref ref-type="bibr" rid="B26">Farhad et al., 2021</xref>). This adjustment is typically handled by the network server (NS), which evaluates the signal-to-noise ratio (SNR) over the most recent 20 uplink transmissions. Based on this assessment, the NS may increment or decrement the TP in steps of 2 dBm and modify the SF to optimize energy consumption and spectral usage (<xref ref-type="bibr" rid="B58">Semtech, 2019b</xref>).</p>
<p>While ADR works effectively for static or quasi-static devices, it exhibits slow responsiveness and increased packet loss in mobile or rapidly changing environments. The reliance of ADR on historical SNR data leads to sluggish adaptation to changing radio conditions, making it suboptimal for mobile devices (<xref ref-type="bibr" rid="B5">Anwar et al., 2021</xref>). Furthermore, adjusted SF/TP settings may become outdated in real time, especially during mobility, resulting in failed transmissions and unnecessary retransmissions (<xref ref-type="bibr" rid="B29">Farhad and Pyun, 2023a</xref>).</p>
<p>To address these limitations, a more agile strategy termed Blind Adaptive Data Rate (BADR) has been proposed by Semtech (<xref ref-type="bibr" rid="B26">Farhad et al., 2021</xref>), as illustrated in <xref ref-type="fig" rid="F3">Figure 3</xref>. BADR operates at the ED side, where SF12 is assigned once, SF7 thrice, and SF10 twice in a 60-min duration, blindly. Unlike conventional ADR, BADR allows end devices to infer optimal transmission parameters autonomously, without relying on downlink feedback from the network server. This is particularly valuable in uplink-heavy LoRaWAN applications where frequent ACKs are infeasible due to duty cycle constraints and limited gateway availability.</p>
<fig position="float" id="F3">
<label>Figure 3</label>
<caption><p>Blind adaptive data rate operation.</p></caption>
<graphic mimetype="image" mime-subtype="tiff" xlink:href="fcomp-07-1666262-g0003.tif">
<alt-text content-type="machine-generated">Diagram showing a series of arrows with alternating shaded and unshaded rectangles below each arrow. The arrows represent a 60-minute time span. Numbers below the rectangles indicate &#x0201C;SF&#x0201D; values (12, 7, 10) and &#x0201C;DR&#x0201D; values (0, 5, 2) in a repeating pattern.</alt-text>
</graphic>
</fig>
</sec>
<sec>
<label>1.7</label>
<title>Problem statement</title>
<p>While ADR and BADR provide baseline methods for configuring SF and TP, they either adapt too slowly (ADR) or fail to adapt at all (BADR). Consequently, there remains a critical need for a resource allocation mechanism that can react swiftly and intelligently to changing wireless conditions. To this end, we propose a Machine Learning-based ADR (ML-ADR) approach, wherein a trained model predicts the optimal SF for each ED based on real-time input features. By leveraging historical data and contextual parameters, ML-ADR aims to minimize packet loss, improve the packet success ratio (PSR), and reduce energy consumption&#x02014;thereby overcoming the limitations of both ADR and BADR.</p>
</sec>
<sec>
<label>1.8</label>
<title>Contribution of the paper</title>
<p>The contribution of this paper is as follows:</p>
<list list-type="order">
<list-item><p>We design a deep neural network model that can learn optimal SF strategies based on underlying network conditions and requirements to address the SF allocation issue.</p></list-item>
<list-item><p>The deep neural network model is trained on a one-time dataset generated in the ns-3 simulator, considering the propagation environment, device positions, distance between GW and ED, and successful SF. After training, the pre-trained model is utilized at the NS for optimal SF allocation to EDs during network simulations.</p></list-item>
<list-item><p>During the simulation-based deployment scenario using ns-3, the proposed ML-ADR allocates the best SF to EDs, thereby enhancing the packet delivery ratio and reducing energy consumption.</p></list-item>
</list>
</sec>
<sec>
<label>1.9</label>
<title>Structure of paper</title>
<p>Section 2 presents an in-depth review of existing AI-based solutions for resource management in LoRaWAN. Section 3 elaborates on the dataset collection, discusses the required features, and highlights the most suitable ML methods for resource allocation based on the features. Section 4 presents the operation of the proposed ML-ADR. Section 5 presents a detailed discussion of experiments and result analysis in offline mode. Section 6 presents the result analysis in ns-3, where the ML algorithm is utilized with the simulation data. Finally, Section 8 provides concluding remarks.</p>
</sec>
</sec>
<sec id="s2">
<label>2</label>
<title>Literature review</title>
<p>Recent studies have explored various machine learning approaches to optimize LoRaWAN resource allocation, particularly focusing on spreading factor assignment, transmission power control, and device classification. These efforts can be categorized into three main paradigms: reinforcement learning for dynamic SF adaptation, supervised learning, and hybrid approaches combining their strengths.</p>
<sec>
<label>2.1</label>
<title>Reinforcement learning approaches</title>
<p>Several reinforcement learning methods (RL) have demonstrated effectiveness in resource allocation. The mixed multi-armed bandit approach developed by <xref ref-type="bibr" rid="B7">Azizi et al. (2022)</xref> achieved notable improvements in packet delivery ratio and energy efficiency within simulated single-gateway networks. Their Python-based implementation considered 100 end devices under EU-868 MHz regulatory constraints, demonstrating the feasibility of RL solutions for static node deployments. Building upon this work, <xref ref-type="bibr" rid="B15">Chen et al. (2023)</xref> introduced a score table-based reinforcement learning method that reduced energy consumption by 24&#x02013;27% compared to conventional ADR techniques. Their Matlab-based simulations confirmed the lightweight nature of the algorithm, making it suitable for practical implementations.</p>
<p>One study proposed a resource allocation mechanism using two independent ML approaches: a centralized supervised ML approach for transmission power allocation and a decentralized RL approach using the EXP4 algorithm for SF allocation, treating it as a contextual multi-arm bandit problem for maximizing packet reception ratio (PRR) (<xref ref-type="bibr" rid="B32">Garlisi et al., 2021</xref>). This approach aims to minimize energy consumption per packet (EPP) by addressing energy minimization and PRR maximization separately. The proposed method showed significant improvements in both network goodput and energy consumption, especially in large and congested networks, and the RL algorithm converged much faster than previous methods by using expert advice. A potential issue was that the algorithm requires feedback (e.g., ACK) from the gateway for every uplink packet during the training phase to update its reward and probabilities, which consumes channel resources and energy, although downlink ACKs can be eliminated after training.</p>
</sec>
<sec>
<label>2.2</label>
<title>Supervised and deep learning approaches</title>
<p>Supervised learning approaches have showed particular promise for device classification tasks. A study implemented a support vector machine classifier that accurately distinguished between mobile and static end devices using limited training data. While the study successfully demonstrated device classification, it did not extend to adaptive data rate selection based on mobility patterns. Deep learning methods achieved superior performance in complex scenarios, with <xref ref-type="bibr" rid="B27">Farhad et al. (2022b)</xref> reporting 96% classification accuracy using a gated recurrent unit network. Their ns-3 simulations with 500 nodes validated the model&#x00027;s effectiveness, achieving a 98% packet delivery ratio in moderate-density networks.</p>
<p>A study in <xref ref-type="bibr" rid="B38">Hazarika and Choudhury (2024)</xref> investigated a smart SF assignment technique utilizing deep learning architectures, specifically Fully Connected Neural Networks (FCNN) and Convolutional Neural Networks (CNN), for joint collision detection and optimal SF selection in a static environment. The proposed technique demonstrated higher prediction accuracy compared to traditional machine learning algorithms and improved network energy consumption. However, the CNN model showed lower accuracy due to the lack of spatial correlation in the converted data, and the prediction accuracy generally decreased with an increasing number of nodes due to the entanglement of differently labeled samples in the dataset.</p>
<p>The authors in <xref ref-type="bibr" rid="B3">Acosta-Garcia et al. (2024)</xref> proposed a proactive ADR mechanism, for mobile LoRa-based IoT devices that utilizes trajectory estimation and the k-nearest neighbors (KNN) algorithm to forecast the signal-to-noise ratio (SNR) and proactively adapt transmission parameters (SF and TP). This approach aims to quickly adapt parameters without requiring long data acquisition times, considering device dynamics and environmental factors to predict signal quality variations as nodes move. The KDR mechanism demonstrated significant improvements in reducing SNR infringements and Bit Error Rate (BER), as well as lowering energy consumption compared to traditional ADR and Blind ADR, maintaining performance even with varying device speeds and limited SNR information. A potential issue is that energy consumption slightly increases with a larger number of available buffered SNR samples, although this is seen as necessary to ensure compliance with quality metrics.</p>
</sec>
<sec>
<label>2.3</label>
<title>Hybrid and emerging approaches</title>
<p>Hybrid approaches combining multiple techniques have emerged as particularly effective. <xref ref-type="bibr" rid="B48">Minhaj et al. (2023)</xref> demonstrated that integrating RL for SF allocation with ML for TP control outperformed single-method solutions. The authors developed an augmented sensing method that fused LoRaWAN signal metrics with environmental sensor data, reducing estimation errors by 17% compared to standalone approaches.</p>
<p>The surveyed literature reveals three critical gaps that directly motivate our ML-ADR solution: (1) RL methods like <xref ref-type="bibr" rid="B7">Azizi et al. (2022)</xref>; <xref ref-type="bibr" rid="B15">Chen et al. (2023)</xref> achieve dynamic adaptation but rely on slow reward feedback loops, resulting in latency issues; (2) supervised approaches (<xref ref-type="bibr" rid="B27">Farhad et al., 2022b</xref>; <xref ref-type="bibr" rid="B38">Hazarika and Choudhury, 2024</xref>) improve classification accuracy but lack real-time adaptability, mirroring the static limitations of BADR; and (3) hybrid techniques (<xref ref-type="bibr" rid="B32">Garlisi et al., 2021</xref>; <xref ref-type="bibr" rid="B48">Minhaj et al., 2023</xref>) partially address mobility but introduce computational overhead unsuitable for constrained EDs. Our work bridges these gaps by unifying temporal modeling (LSTM), lightweight inference, adapting to channel dynamics while maintaining energy efficiency. <xref ref-type="table" rid="T2">Table 2</xref> summarizes these comparative insights.</p>
<table-wrap position="float" id="T2">
<label>Table 2</label>
<caption><p>Summary of existing approaches in LoRaWAN for SF optimization.</p></caption>
<table frame="box" rules="all">
<thead>
<tr>
<th valign="top" align="left"><bold>Reference</bold></th>
<th valign="top" align="left"><bold>Method</bold></th>
<th valign="top" align="left"><bold>Resource Management</bold></th>
<th valign="top" align="left"><bold>Key Improvement</bold></th>
</tr>
</thead>
<tbody>
<tr>
<td valign="top" align="left"><xref ref-type="bibr" rid="B7">Azizi et al. (2022)</xref></td>
<td valign="top" align="left">MIX-MAB RL</td>
<td valign="top" align="left">SF allocation</td>
<td valign="top" align="left">22% PDR increase</td>
</tr>
<tr>
<td valign="top" align="left"><xref ref-type="bibr" rid="B15">Chen et al. (2023)</xref></td>
<td valign="top" align="left">STEP RL</td>
<td valign="top" align="left">SF allocation</td>
<td valign="top" align="left">26% energy reduction</td>
</tr>
<tr>
<td valign="top" align="left"><xref ref-type="bibr" rid="B48">Minhaj et al. (2023)</xref></td>
<td valign="top" align="left">Hybrid ML/RL</td>
<td valign="top" align="left">SF/TP control</td>
<td valign="top" align="left">Combined optimization</td>
</tr>
<tr>
<td valign="top" align="left"><xref ref-type="bibr" rid="B10">Bertocco et al. (2023)</xref></td>
<td valign="top" align="left">Augmented sensing</td>
<td valign="top" align="left">Soil monitoring</td>
<td valign="top" align="left">1.53% RMSE</td>
</tr>
<tr>
<td valign="top" align="left"><xref ref-type="bibr" rid="B65">Vangelista et al. (2023)</xref></td>
<td valign="top" align="left">SVM</td>
<td valign="top" align="left">Device classification</td>
<td valign="top" align="left">94% accuracy</td>
</tr>
<tr>
<td valign="top" align="left"><xref ref-type="bibr" rid="B27">Farhad et al. (2022b)</xref></td>
<td valign="top" align="left">GRU network</td>
<td valign="top" align="left">SF classification</td>
<td valign="top" align="left">98% PDR</td>
</tr>
<tr>
<td valign="top" align="left"><xref ref-type="bibr" rid="B29">Farhad and Pyun (2023a)</xref></td>
<td valign="top" align="left">DNN</td>
<td valign="top" align="left">Mobile SF allocation</td>
<td valign="top" align="left">82% accuracy</td>
</tr>
<tr>
<td valign="top" align="left"><xref ref-type="bibr" rid="B19">Elkarim et al. (2022)</xref></td>
<td valign="top" align="left">Deep Learning (FCNN, CNN)</td>
<td valign="top" align="left">SF Allocation</td>
<td valign="top" align="left">Energy consumption</td>
</tr>
<tr>
<td valign="top" align="left"><xref ref-type="bibr" rid="B48">Minhaj et al. (2023)</xref></td>
<td valign="top" align="left">Supervised ML &#x0002B; RL (EXP4)</td>
<td valign="top" align="left">SF, TP</td>
<td valign="top" align="left">Energy consumption</td>
</tr>
<tr>
<td valign="top" align="left"><xref ref-type="bibr" rid="B38">Hazarika and Choudhury (2024)</xref></td>
<td valign="top" align="left">K-means &#x0002B; RL</td>
<td valign="top" align="left">SF Allocation</td>
<td valign="top" align="left">Packet success rate</td>
</tr>
<tr>
<td valign="top" align="left"><xref ref-type="bibr" rid="B3">Acosta-Garcia et al. (2024)</xref></td>
<td valign="top" align="left">KNN</td>
<td valign="top" align="left">Proactive ADR</td>
<td valign="top" align="left">Energy consumption</td>
</tr></tbody>
</table>
</table-wrap>
</sec>
</sec>
<sec id="s3">
<label>3</label>
<title>Data generation and preprocessing framework</title>
<p>The proposed data generation and preprocessing framework is engineered to handle LoRaWAN transmission data through a novel methodology based on 20-step sequence windows. Each sequence encapsulates information derived from the selection of an optimal SF determined from simultaneous multi-SF transmissions.</p>
<sec>
<label>3.1</label>
<title>Transmission protocol</title>
<p>The core of the data acquisition process relies on a specific transmission protocol executed by each ED. In this protocol, an identical data packet is transmitted concurrently utilizing all six available spreading factors, spanning <italic>SF</italic>7 through <italic>SF</italic>12. These transmissions are conducted in the confirmed mode, mandating the reception of an ACK signal from the GW for successful communication verification. For every transmission attempt originating from an ED, which comprises six parallel transmissions (one per <italic>SF</italic>), the receiving GW meticulously records the reception status (successful or failed) along with pertinent signal quality metrics for each individual <italic>SF</italic> transmission. Correspondingly, the originating ED logs the ACK reception status, represented as a binary value (1 for received, 0 for not received), for each of the six <italic>SF</italic>s employed in the simultaneous transmission event.</p>
</sec>
<sec>
<label>3.2</label>
<title>Optimal spreading factor determination and feature extraction</title>
<p>Subsequent to each multi-SF transmission event, an optimal SF, denoted as <italic>SF</italic><sup>&#x0002A;</sup>, is identified. This <italic>SF</italic><sup>&#x0002A;</sup> is determined by selecting the minimum <italic>SF</italic> value among those transmissions for which a corresponding ACK was successfully received by the ED. This selection process is formally expressed as:</p>
<disp-formula id="EQ1"><mml:math id="M1"><mml:mtable class="eqnarray" columnalign="left"><mml:mtr><mml:mtd><mml:mi>S</mml:mi><mml:msup><mml:mrow><mml:mi>F</mml:mi></mml:mrow><mml:mrow><mml:mo>*</mml:mo></mml:mrow></mml:msup><mml:mo>=</mml:mo><mml:mo class="qopname">min</mml:mo><mml:msubsup><mml:mrow><mml:mrow><mml:mo>{</mml:mo><mml:mrow><mml:mi>S</mml:mi><mml:msub><mml:mrow><mml:mi>F</mml:mi></mml:mrow><mml:mrow><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:mo>|</mml:mo><mml:msub><mml:mrow><mml:mtext class="textrm" mathvariant="normal">ACK</mml:mtext></mml:mrow><mml:mrow><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mo>}</mml:mo></mml:mrow></mml:mrow><mml:mrow><mml:mi>j</mml:mi><mml:mo>=</mml:mo><mml:mn>7</mml:mn></mml:mrow><mml:mrow><mml:mn>12</mml:mn></mml:mrow></mml:msubsup></mml:mtd></mml:mtr></mml:mtable></mml:math><label>(1)</label></disp-formula>
<p>In scenarios where no ACKs are received across the entire set of transmitted <italic>SF</italic>s (<italic>SF</italic>7&#x02013;<italic>SF</italic>12), a default assignment of <italic>SF</italic>12 is made for <italic>SF</italic><sup>&#x0002A;</sup>. The identified optimal <italic>SF</italic><sup>&#x0002A;</sup> is then paired with a comprehensive feature vector, <bold>f</bold>, encapsulating the relevant signal characteristics and contextual information associated with that specific successful transmission (or the <italic>SF</italic>12 transmission if no ACK was received). This feature vector is structured as follows:</p>
<disp-formula id="EQ2"><mml:math id="M2"><mml:mtable class="eqnarray" columnalign="left"><mml:mtr><mml:mtd><mml:mstyle mathvariant="bold"><mml:mtext>f</mml:mtext></mml:mstyle><mml:mo>=</mml:mo><mml:mrow><mml:mo>[</mml:mo><mml:mrow><mml:mi>x</mml:mi><mml:mo>,</mml:mo><mml:mi>y</mml:mi><mml:mo>,</mml:mo><mml:mi>d</mml:mi><mml:mo>,</mml:mo><mml:mtext class="textrm" mathvariant="normal">SNR</mml:mtext><mml:mo>,</mml:mo><mml:msub><mml:mrow><mml:mtext class="textrm" mathvariant="normal">SNR</mml:mtext></mml:mrow><mml:mrow><mml:mtext class="textrm" mathvariant="normal">req</mml:mtext></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mrow><mml:mtext class="textrm" mathvariant="normal">SNR</mml:mtext></mml:mrow><mml:mrow><mml:mtext class="textrm" mathvariant="normal">margin</mml:mtext></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mrow><mml:mi>d</mml:mi></mml:mrow><mml:mrow><mml:mtext class="textrm" mathvariant="normal">norm</mml:mtext></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mrow><mml:mi>P</mml:mi></mml:mrow><mml:mrow><mml:mi>r</mml:mi><mml:mi>x</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mo>]</mml:mo></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:math><label>(2)</label></disp-formula>
<p>Here, <italic>x</italic> and <italic>y</italic> represent the Cartesian coordinates of the ED, <italic>d</italic> is the calculated Euclidean distance to the GW derived as <inline-formula><mml:math id="M3"><mml:mi>d</mml:mi><mml:mo>=</mml:mo><mml:msqrt><mml:mrow><mml:msup><mml:mrow><mml:mi>x</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msup><mml:mo>&#x0002B;</mml:mo><mml:msup><mml:mrow><mml:mi>y</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:msqrt></mml:math></inline-formula>, SNR denotes the measured Signal-to-Noise Ratio, SNR<sub>req</sub> signifies the minimum required SNR threshold for successful demodulation at the given <italic>SF</italic><sup>&#x0002A;</sup>, SNR<sub>margin</sub> is the calculated SNR margin defined as SNR<sub>margin</sub> &#x0003D; SNR &#x02212; SNR<sub>req</sub>, <italic>d</italic><sub>norm</sub> represents the distance normalized by the maximum communication range <italic>R</italic><sub>max</sub> (i.e., <italic>d</italic><sub>norm</sub> &#x0003D; <italic>d</italic>/<italic>R</italic><sub>max</sub>), and <italic>P</italic><sub><italic>rx</italic></sub> is the received signal power measured at the GW.</p>
</sec>
<sec>
<label>3.3</label>
<title>Temporal sequence construction</title>
<p>Input samples for subsequent analysis or machine learning model training are systematically generated using a sliding window technique over the time series of optimal <italic>SF</italic><sup>&#x0002A;</sup> selections and their corresponding feature vectors <bold>f</bold>. Each input sample, designated as <bold>X</bold><sub><italic>i</italic></sub>, is constructed as a matrix comprising the feature vectors from 20 consecutive transmission events, specifically encompassing the data from time step <italic>i</italic>&#x02212;19 through the current time step <italic>i</italic>. The structure of this input matrix is represented by:</p>
<disp-formula id="EQ3"><mml:math id="M4"><mml:mtable class="eqnarray" columnalign="left"><mml:mtr><mml:mtd><mml:msub><mml:mrow><mml:mstyle mathvariant="bold"><mml:mtext>X</mml:mtext></mml:mstyle></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:msub><mml:mrow><mml:mrow><mml:mo>[</mml:mo><mml:mrow><mml:mtable style="text-align:axis;" equalrows="false" columnlines="none none none none none none none none none" equalcolumns="false" class="array"><mml:mtr><mml:mtd><mml:msub><mml:mrow><mml:mstyle mathvariant="bold"><mml:mtext>f</mml:mtext></mml:mstyle></mml:mrow><mml:mrow><mml:mi>i</mml:mi><mml:mo>-</mml:mo><mml:mn>19</mml:mn></mml:mrow></mml:msub></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:msub><mml:mrow><mml:mstyle mathvariant="bold"><mml:mtext>f</mml:mtext></mml:mstyle></mml:mrow><mml:mrow><mml:mi>i</mml:mi><mml:mo>-</mml:mo><mml:mn>18</mml:mn></mml:mrow></mml:msub></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mo>&#x022EE;</mml:mo></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:msub><mml:mrow><mml:mstyle mathvariant="bold"><mml:mtext>f</mml:mtext></mml:mstyle></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub></mml:mtd></mml:mtr></mml:mtable></mml:mrow><mml:mo>]</mml:mo></mml:mrow></mml:mrow><mml:mrow><mml:mn>20</mml:mn><mml:mo>&#x000D7;</mml:mo><mml:mn>8</mml:mn></mml:mrow></mml:msub></mml:mtd></mml:mtr></mml:mtable></mml:math><label>(3)</label></disp-formula>
<p>The associated target label for this input matrix <bold>X</bold><sub><italic>i</italic></sub>, denoted by <italic>y</italic><sub><italic>i</italic></sub>, is the optimal <italic>SF</italic><sup>&#x0002A;</sup>, specifically <inline-formula><mml:math id="M5"><mml:mi>S</mml:mi><mml:msubsup><mml:mrow><mml:mi>F</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow><mml:mrow><mml:mo>*</mml:mo></mml:mrow></mml:msubsup></mml:math></inline-formula>, corresponding to the final time step <italic>i</italic> within the window. Consequently, each input matrix <bold>X</bold><sub><italic>i</italic></sub> has dimensions of 20 rows (temporal steps) and 8 columns (features per step), resulting in a total of 160 feature values per input sample.</p>
<p>The simulations were conducted with 500 EDs over a 24-h period, with ED transmitting six confirmed uplink messages per hour, resulting in &#x0007E; 72,000 raw transmission events. After applying the 20-step sliding window, the final processed dataset comprised 71,981 sequences, each with 160 features (20 timesteps &#x000D7; 8 features) and a corresponding optimal SF label, as shown in <xref ref-type="table" rid="T3">Table 3</xref>.</p>
<table-wrap position="float" id="T3">
<label>Table 3</label>
<caption><p>Data structure before and after windowing.</p></caption>
<table frame="box" rules="all">
<thead>
<tr>
<th valign="top" align="left"><bold>Property</bold></th>
<th valign="top" align="center"><bold>Raw data</bold></th>
<th valign="top" align="center"><bold>Windowed</bold></th>
</tr>
</thead>
<tbody>
<tr>
<td valign="top" align="left">Data</td>
<td valign="top" align="center">72,000</td>
<td valign="top" align="center">71,981</td>
</tr>
<tr>
<td valign="top" align="left">Timesteps per sample</td>
<td valign="top" align="center">1</td>
<td valign="top" align="center">20</td>
</tr>
<tr>
<td valign="top" align="left">Features per timestep</td>
<td valign="top" align="center">8</td>
<td valign="top" align="center">8</td>
</tr>
<tr>
<td valign="top" align="left">Total features per sample</td>
<td valign="top" align="center">8</td>
<td valign="top" align="center">160</td>
</tr>
<tr>
<td valign="top" align="left">Label dimension</td>
<td valign="top" align="center">1</td>
<td valign="top" align="center">1</td>
</tr></tbody>
</table>
</table-wrap>
</sec>
<sec>
<label>3.4</label>
<title>Framework characteristics</title>
<p>This data generation and preprocessing methodology possesses several key characteristics pertinent to modeling LoRaWAN channel behavior. The utilization of 20-step temporal windows inherently incorporates temporal context, enabling the potential to capture patterns related to channel variations and signal quality fluctuations over time. The feature vector <bold>f</bold> provides a rich, multi-dimensional representation of the communication link state at each time step, integrating metrics related to signal strength, signal quality relative to requirements, and spatial positioning. Moreover, defining the target label <italic>SF</italic><sup>&#x0002A;</sup> based on empirically successful transmissions furnishes a form of ground truth that reflects practically achievable link performance under the observed conditions. The employed multi-SF transmission protocol also offers efficiency in data collection, as a single transmission event yields data points pertaining to the reception status and signal metrics across the full operational range of <italic>SF</italic>s.</p>
</sec>
</sec>
<sec id="s4">
<label>4</label>
<title>Proposed methodology</title>
<p>We propose a machine learning framework based on Long Short-Term Memory (LSTM) networks for optimizing LoRaWAN communication parameters, with particular focus on dynamic SF selection. The choice of LSTM is motivated by its demonstrated effectiveness in modeling temporal dependencies within sequential data, a critical requirement for analyzing time-varying LoRa signal characteristics (<xref ref-type="bibr" rid="B29">Farhad and Pyun, 2023a</xref>). Unlike traditional machine learning approaches such as Random Forests or Support Vector Machines that treat each data sample independently, LSTMs explicitly model the temporal relationships between consecutive transmissions. This capability is especially valuable in LoRaWAN environments where channel conditions, interference patterns, and device mobility create complex temporal dynamics that influence optimal SF selection.</p>
<p>The proposed methodology addresses three key challenges in LoRaWAN optimization: (1) the non-stationary nature of wireless channels in IoT deployments, (2) the trade-off between data rate and communication range inherent in SF selection, and (3) the need for energy-efficient communication strategies. Our LSTM-based approach captures these aspects through a hierarchical learning architecture that processes sequences of transmission events while maintaining memory of long-term patterns. This contrasts with conventional approaches that either use static SF assignments or rely on instantaneous channel measurements without historical context.</p>
<sec>
<label>4.1</label>
<title>LSTM-based temporal modeling</title>
<p>The LSTM architecture employed in this study is designed to model temporal dependencies across sequential LoRaWAN transmission events. The input to the LSTM is a matrix <bold>X</bold> &#x02208; &#x0211D;<sup><italic>T</italic> &#x000D7; <italic>D</italic></sup>, where <italic>T</italic> denotes the number of time steps and <italic>D</italic> represents the feature dimension per step. Based on domain-specific empirical insights, we set <italic>T</italic> &#x0003D; 20 to include sufficient temporal history from the last twenty uplink transmissions, which balances information richness and computational efficiency. Each timestep in <bold>X</bold> is an 8-dimensional vector composed of features such as <italic>P</italic><sub><italic>rx</italic></sub>, SNR, x, y, distance between ED and GW, SNR marging, as specified in <xref ref-type="disp-formula" rid="EQ2">Equation 2</xref>.</p>
<p>The internal architecture of the LSTM unit aligns with the standard gating-based formulation. At each timestep <italic>t</italic>, the model processes the input vector <bold>x</bold><sub><italic>t</italic></sub> alongside the previous hidden state <bold>h</bold><sub><italic>t</italic>&#x02212;1</sub> and the previous cell state <bold>C</bold><sub><italic>t</italic>&#x02212;1</sub>. These vectors are concatenated and passed through three distinct gates: the forget gate <bold>f</bold><sub><italic>t</italic></sub>, the input gate <bold>i</bold><sub><italic>t</italic></sub>, and the output gate <bold>o</bold><sub><italic>t</italic></sub>. Additionally, a candidate cell state <inline-formula><mml:math id="M7"><mml:msub><mml:mrow><mml:mover accent="true"><mml:mrow><mml:mstyle mathvariant="bold"><mml:mtext>C</mml:mtext></mml:mstyle></mml:mrow><mml:mo>&#x0007E;</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mi>t</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula> is computed to propose an update to the memory content. Each gate is parameterized by its own learnable weights and biases, which are optimized during training.</p>
<disp-formula id="EQ4"><mml:math id="M8"><mml:mtable class="eqnarray" columnalign="left"><mml:mtr><mml:mtd><mml:mtable style="text-align:axis;" equalrows="false" columnlines="none" equalcolumns="false" class="array"><mml:mtr><mml:mtd><mml:msub><mml:mrow><mml:mstyle mathvariant="bold"><mml:mtext>f</mml:mtext></mml:mstyle></mml:mrow><mml:mrow><mml:mi>t</mml:mi></mml:mrow></mml:msub></mml:mtd><mml:mtd><mml:mo>=</mml:mo><mml:mi>&#x003C3;</mml:mi><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mstyle mathvariant="bold"><mml:mtext>W</mml:mtext></mml:mstyle></mml:mrow><mml:mrow><mml:mi>f</mml:mi></mml:mrow></mml:msub><mml:mrow><mml:mo>[</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mstyle mathvariant="bold"><mml:mtext>h</mml:mtext></mml:mstyle></mml:mrow><mml:mrow><mml:mi>t</mml:mi><mml:mo>-</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>;</mml:mo><mml:msub><mml:mrow><mml:mstyle mathvariant="bold"><mml:mtext>x</mml:mtext></mml:mstyle></mml:mrow><mml:mrow><mml:mi>t</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mo>]</mml:mo></mml:mrow><mml:mo>&#x0002B;</mml:mo><mml:msub><mml:mrow><mml:mstyle mathvariant="bold"><mml:mtext>b</mml:mtext></mml:mstyle></mml:mrow><mml:mrow><mml:mi>f</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:msub><mml:mrow><mml:mstyle mathvariant="bold"><mml:mtext>i</mml:mtext></mml:mstyle></mml:mrow><mml:mrow><mml:mi>t</mml:mi></mml:mrow></mml:msub></mml:mtd><mml:mtd><mml:mo>=</mml:mo><mml:mi>&#x003C3;</mml:mi><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mstyle mathvariant="bold"><mml:mtext>W</mml:mtext></mml:mstyle></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mrow><mml:mo>[</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mstyle mathvariant="bold"><mml:mtext>h</mml:mtext></mml:mstyle></mml:mrow><mml:mrow><mml:mi>t</mml:mi><mml:mo>-</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>;</mml:mo><mml:msub><mml:mrow><mml:mstyle mathvariant="bold"><mml:mtext>x</mml:mtext></mml:mstyle></mml:mrow><mml:mrow><mml:mi>t</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mo>]</mml:mo></mml:mrow><mml:mo>&#x0002B;</mml:mo><mml:msub><mml:mrow><mml:mstyle mathvariant="bold"><mml:mtext>b</mml:mtext></mml:mstyle></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:msub><mml:mrow><mml:mstyle mathvariant="bold"><mml:mtext>o</mml:mtext></mml:mstyle></mml:mrow><mml:mrow><mml:mi>t</mml:mi></mml:mrow></mml:msub></mml:mtd><mml:mtd><mml:mo>=</mml:mo><mml:mi>&#x003C3;</mml:mi><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mstyle mathvariant="bold"><mml:mtext>W</mml:mtext></mml:mstyle></mml:mrow><mml:mrow><mml:mi>o</mml:mi></mml:mrow></mml:msub><mml:mrow><mml:mo>[</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mstyle mathvariant="bold"><mml:mtext>h</mml:mtext></mml:mstyle></mml:mrow><mml:mrow><mml:mi>t</mml:mi><mml:mo>-</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>;</mml:mo><mml:msub><mml:mrow><mml:mstyle mathvariant="bold"><mml:mtext>x</mml:mtext></mml:mstyle></mml:mrow><mml:mrow><mml:mi>t</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mo>]</mml:mo></mml:mrow><mml:mo>&#x0002B;</mml:mo><mml:msub><mml:mrow><mml:mstyle mathvariant="bold"><mml:mtext>b</mml:mtext></mml:mstyle></mml:mrow><mml:mrow><mml:mi>o</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:msub><mml:mrow><mml:mover accent="true"><mml:mrow><mml:mstyle mathvariant="bold"><mml:mtext>C</mml:mtext></mml:mstyle></mml:mrow><mml:mo>&#x0007E;</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mi>t</mml:mi></mml:mrow></mml:msub></mml:mtd><mml:mtd><mml:mo>=</mml:mo><mml:mo class="qopname">tanh</mml:mo><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mstyle mathvariant="bold"><mml:mtext>W</mml:mtext></mml:mstyle></mml:mrow><mml:mrow><mml:mi>C</mml:mi></mml:mrow></mml:msub><mml:mrow><mml:mo>[</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mstyle mathvariant="bold"><mml:mtext>h</mml:mtext></mml:mstyle></mml:mrow><mml:mrow><mml:mi>t</mml:mi><mml:mo>-</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>;</mml:mo><mml:msub><mml:mrow><mml:mstyle mathvariant="bold"><mml:mtext>x</mml:mtext></mml:mstyle></mml:mrow><mml:mrow><mml:mi>t</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mo>]</mml:mo></mml:mrow><mml:mo>&#x0002B;</mml:mo><mml:msub><mml:mrow><mml:mstyle mathvariant="bold"><mml:mtext>b</mml:mtext></mml:mstyle></mml:mrow><mml:mrow><mml:mi>C</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:msub><mml:mrow><mml:mstyle mathvariant="bold"><mml:mtext>C</mml:mtext></mml:mstyle></mml:mrow><mml:mrow><mml:mi>t</mml:mi></mml:mrow></mml:msub></mml:mtd><mml:mtd><mml:mo>=</mml:mo><mml:msub><mml:mrow><mml:mstyle mathvariant="bold"><mml:mtext>f</mml:mtext></mml:mstyle></mml:mrow><mml:mrow><mml:mi>t</mml:mi></mml:mrow></mml:msub><mml:mo>&#x02299;</mml:mo><mml:msub><mml:mrow><mml:mstyle mathvariant="bold"><mml:mtext>C</mml:mtext></mml:mstyle></mml:mrow><mml:mrow><mml:mi>t</mml:mi><mml:mo>-</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>&#x0002B;</mml:mo><mml:msub><mml:mrow><mml:mstyle mathvariant="bold"><mml:mtext>i</mml:mtext></mml:mstyle></mml:mrow><mml:mrow><mml:mi>t</mml:mi></mml:mrow></mml:msub><mml:mo>&#x02299;</mml:mo><mml:msub><mml:mrow><mml:mover accent="true"><mml:mrow><mml:mstyle mathvariant="bold"><mml:mtext>C</mml:mtext></mml:mstyle></mml:mrow><mml:mo>&#x0007E;</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mi>t</mml:mi></mml:mrow></mml:msub></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:msub><mml:mrow><mml:mstyle mathvariant="bold"><mml:mtext>h</mml:mtext></mml:mstyle></mml:mrow><mml:mrow><mml:mi>t</mml:mi></mml:mrow></mml:msub></mml:mtd><mml:mtd><mml:mo>=</mml:mo><mml:msub><mml:mrow><mml:mstyle mathvariant="bold"><mml:mtext>o</mml:mtext></mml:mstyle></mml:mrow><mml:mrow><mml:mi>t</mml:mi></mml:mrow></mml:msub><mml:mo>&#x02299;</mml:mo><mml:mo class="qopname">tanh</mml:mo><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mstyle mathvariant="bold"><mml:mtext>C</mml:mtext></mml:mstyle></mml:mrow><mml:mrow><mml:mi>t</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mtd></mml:mtr></mml:mtable></mml:math><label>(4)</label></disp-formula>
<p>In <xref ref-type="disp-formula" rid="EQ4">Equation 4</xref>, the forget gate <bold>f</bold><sub><italic>t</italic></sub> modulates how much of the previous cell state <bold>C</bold><sub><italic>t</italic>&#x02212;1</sub> should be retained. The input gate <bold>i</bold><sub><italic>t</italic></sub> determines the extent to which the newly proposed memory content <inline-formula><mml:math id="M9"><mml:msub><mml:mrow><mml:mover accent="true"><mml:mrow><mml:mstyle mathvariant="bold"><mml:mtext>C</mml:mtext></mml:mstyle></mml:mrow><mml:mo>&#x0007E;</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mi>t</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula> should influence the current cell state. The cell state <bold>C</bold><sub><italic>t</italic></sub> is updated via element-wise combinations of the retained past memory and the newly accepted content. Finally, the output gate <bold>o</bold><sub><italic>t</italic></sub> governs how much of the updated cell state should be exposed as the hidden state <bold>h</bold><sub><italic>t</italic></sub> for downstream layers or subsequent time steps. The sigmoid (&#x003C3;) and hyperbolic tangent (tanh) activation functions ensure bounded nonlinearity and numerical stability, in accordance with the flow shown in <xref ref-type="fig" rid="F4">Figure 4</xref>.</p>
<fig position="float" id="F4">
<label>Figure 4</label>
<caption><p>LSTM architecture used for temporal modeling of LoRaWAN uplink transmissions. The model receives sequential input vectors <bold>x</bold><sub><italic>t</italic></sub> alongside the hidden state <bold>h</bold><sub><italic>t</italic>&#x02212;1</sub> and cell state <bold>C</bold><sub><italic>t</italic>&#x02212;1</sub>. It processes these through gating mechanisms&#x02014;forget gate (<bold>f</bold><sub><italic>t</italic></sub>), input gate (<bold>i</bold><sub><italic>t</italic></sub>), candidate cell state (<inline-formula><mml:math id="M6"><mml:msub><mml:mrow><mml:mover accent="true"><mml:mrow><mml:mstyle mathvariant="bold"><mml:mtext>C</mml:mtext></mml:mstyle></mml:mrow><mml:mo>&#x0007E;</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mi>t</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula>), and output gate (<bold>o</bold><sub><italic>t</italic></sub>)&#x02014;to update its internal memory <bold>C</bold><sub><italic>t</italic></sub> and generate the hidden representation <bold>h</bold><sub><italic>t</italic></sub> at each timestep. Nonlinearities &#x003C3; and tanh are used to enable stable, bounded transformations within the network. This architecture allows the model to retain long-term dependencies and adaptively control information flow over time.</p></caption>
<graphic mimetype="image" mime-subtype="tiff" xlink:href="fcomp-07-1666262-g0004.tif">
<alt-text content-type="machine-generated">Diagram of a Long Short-Term Memory (LSTM) unit displaying data flow and operations. Inputs include Xt, ht-1, and Ct-1. Outputs are ht and Ct. The diagram shows gates such as the forget gate ft, input gate it, and output gate ot, as well as operations like sigmoid &#x003C3; and tanh functions. The bias b, vector operations for scaling and adding information, and key components of the LSTM model are labeled.</alt-text>
</graphic>
</fig>
<p>All matrix parameters <bold>W</bold><sub><italic>f</italic></sub>, <bold>W</bold><sub><italic>i</italic></sub>, <bold>W</bold><sub><italic>o</italic></sub>, <bold>W</bold><sub><italic>C</italic></sub> and their corresponding biases <bold>b</bold><sub><italic>f</italic></sub>, <bold>b</bold><sub><italic>i</italic></sub>, <bold>b</bold><sub><italic>o</italic></sub>, <bold>b</bold><sub><italic>C</italic></sub> are jointly learned via backpropagation through time. The architecture thus enables effective modeling of both short-term signal fluctuations and long-term temporal dependencies in LoRaWAN uplink sequences, capturing the dynamics essential for reliable SF classification.</p>
</sec>
<sec>
<label>4.2</label>
<title>LSTM training mechanism</title>
<p>The implemented network employs a stacked LSTM architecture with two layers, each containing 128 hidden units, as illustrated in <xref ref-type="table" rid="T4">Table 4</xref>. We chose LSTM due to its stronger memory capacity for modeling long-term dependencies in time-series data, which is critical in capturing trends across successive transmissions in a dynamic wireless channel. LSTM provides sufficient capacity to model complex temporal relationships while avoiding excessive computational overhead. The first LSTM layer processes the raw input sequence, while the second layer extracts higher-level temporal patterns from the first layer&#x00027;s output. Between these layers, we maintain sequence continuity through stateful processing, where the final state of one batch serves as the initial state for the next batch during training.</p>
<table-wrap position="float" id="T4">
<label>Table 4</label>
<caption><p>LSTM-based training configuration for SF classification.</p></caption>
<table frame="box" rules="all">
<thead>
<tr>
<th valign="top" align="left"><bold>Component</bold></th>
<th valign="top" align="left"><bold>Setting</bold></th>
<th valign="top" align="left"><bold>Purpose</bold></th>
</tr>
</thead>
<tbody>
<tr>
<td valign="top" align="left">LSTM layers</td>
<td valign="top" align="left">Two layers, 128 units each</td>
<td valign="top" align="left">Temporal modeling of input sequences</td>
</tr>
<tr>
<td valign="top" align="left">Stateful training</td>
<td valign="top" align="left">Hidden/cell state passed between batches</td>
<td valign="top" align="left">Sequence continuity across batches</td>
</tr>
<tr>
<td valign="top" align="left">Activation function</td>
<td valign="top" align="left">ReLU in dense layers</td>
<td valign="top" align="left">Nonlinear transformation after LSTM output</td>
</tr>
<tr>
<td valign="top" align="left">Dropout</td>
<td valign="top" align="left"><italic>p</italic> &#x0003D; 0.2</td>
<td valign="top" align="left">Regularization against neuron co-adaptation</td>
</tr>
<tr>
<td valign="top" align="left">L2 regularization</td>
<td valign="top" align="left">Weight decay added to loss function</td>
<td valign="top" align="left">Penalize large weights to reduce overfitting</td>
</tr>
<tr>
<td valign="top" align="left">Output layer</td>
<td valign="top" align="left">Softmax over 6 SF classes (SF7-SF12)</td>
<td valign="top" align="left">Probabilistic classification of optimal SF</td>
</tr>
<tr>
<td valign="top" align="left">Loss function</td>
<td valign="top" align="left">Categorical cross-entropy</td>
<td valign="top" align="left">Compare predicted SF with ground truth</td>
</tr>
<tr>
<td valign="top" align="left">Optimizer</td>
<td valign="top" align="left">Adam (&#x003B1; &#x0003D; 10<sup>&#x02212;3</sup>, &#x003B2;<sub>1</sub> &#x0003D; 0.9, &#x003B2;<sub>2</sub> &#x0003D; 0.999)</td>
<td valign="top" align="left">Stable and adaptive parameter updates</td>
</tr>
<tr>
<td valign="top" align="left">Early stopping</td>
<td valign="top" align="left">Patience = 10 validation epochs</td>
<td valign="top" align="left">Prevent overfitting during training</td>
</tr>
<tr>
<td valign="top" align="left">Learning objective</td>
<td valign="top" align="left">Predict optimal SF</td>
<td valign="top" align="left">Data-driven adaptive SF allocation</td>
</tr></tbody>
</table>
</table-wrap>
<p>Following the LSTM layers, the architecture incorporates a series of fully connected (dense) layers with ReLU activation functions (max(0, <italic>x</italic>)). These layers transform the temporal features extracted by the LSTMs into spatial representations suitable for final classification. The ReLU activation provides nonlinear modeling capability while avoiding the vanishing gradient issues associated with sigmoid or tanh activations in deep networks. To prevent overfitting&#x02013;a critical concern given the relatively small size of typical LoRaWAN datasets&#x02013;we implement two regularization strategies:</p>
<list list-type="bullet">
<list-item><p><italic>Dropout</italic>: applied with probability <italic>p</italic> &#x0003D; 0.2 during training, this randomly deactivates 20% of neurons in the dense layers, forcing the network to develop robust features that don&#x00027;t rely on specific neurons.</p></list-item>
<list-item><p><italic>L2 weight regularization</italic>: added to the loss function, this penalizes large weight values to prevent over-specialization to training data.</p></list-item>
</list>
<p>The final layer employs a softmax activation function to produce a probability distribution <bold>p</bold> &#x02208; &#x0211D;<sup>6</sup> over the six possible Spreading Factors (<italic>SF</italic>7 through <italic>SF</italic>12). This probabilistic output allows for flexible decision-making, where the highest-probability SF can be selected automatically or combined with additional constraints (e.g., energy budgets or latency requirements). The softmax function ensures output normalization through:</p>
<disp-formula id="EQ5"><mml:math id="M10"><mml:mtable class="eqnarray" columnalign="left"><mml:mtr><mml:mtd><mml:msub><mml:mrow><mml:mi>p</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mfrac><mml:mrow><mml:msup><mml:mrow><mml:mi>e</mml:mi></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mi>z</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msup></mml:mrow><mml:mrow><mml:mstyle displaystyle="true"><mml:munderover accentunder="false" accent="false"><mml:mrow><mml:mo>&#x02211;</mml:mo></mml:mrow><mml:mrow><mml:mi>j</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mn>6</mml:mn></mml:mrow></mml:munderover></mml:mstyle><mml:msup><mml:mrow><mml:mi>e</mml:mi></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mi>z</mml:mi></mml:mrow><mml:mrow><mml:mi>j</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msup></mml:mrow></mml:mfrac><mml:mtext>&#x02003;</mml:mtext><mml:mtext class="textrm" mathvariant="normal">for</mml:mtext><mml:mi>i</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn><mml:mo>,</mml:mo><mml:mo>&#x02026;</mml:mo><mml:mo>,</mml:mo><mml:mn>6</mml:mn></mml:mtd></mml:mtr></mml:mtable></mml:math><label>(5)</label></disp-formula>
<p>where <italic>z</italic><sub><italic>i</italic></sub> represents the logit value for SF <italic>i</italic>. During training, we minimize the categorical cross-entropy loss between predicted probabilities and true SF labels:</p>
<disp-formula id="EQ6"><mml:math id="M11"><mml:mtable class="eqnarray" columnalign="left"><mml:mtr><mml:mtd><mml:mrow><mml:mi mathvariant="bold-script">L</mml:mi></mml:mrow><mml:mo>=</mml:mo><mml:mo>-</mml:mo><mml:mstyle displaystyle="true"><mml:munderover accentunder="false" accent="false"><mml:mrow><mml:mo>&#x02211;</mml:mo></mml:mrow><mml:mrow><mml:mi>i</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mn>6</mml:mn></mml:mrow></mml:munderover></mml:mstyle><mml:msub><mml:mrow><mml:mi>y</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo class="qopname">log</mml:mo><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mi>p</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:math><label>(6)</label></disp-formula>
<p>where <italic>y</italic><sub><italic>i</italic></sub> is the one-hot encoded ground truth label. The Adam optimizer is employed with an initial learning rate of 10<sup>&#x02212;3</sup> and exponential decay rates &#x003B2;<sub>1</sub> &#x0003D; 0.9, &#x003B2;<sub>2</sub> &#x0003D; 0.999 for parameter updates. Early stopping monitors validation loss with patience of 10 epochs to prevent overfitting while ensuring convergence.</p>
<p>The complete system processes LoRaWAN transmission sequences through this neural pipeline, learning to predict optimal SFs based on historical channel conditions and transmission patterns. This approach provides adaptive, data-driven SF selection that outperforms static allocation schemes while maintaining computational efficiency suitable for deployment on network servers.</p>
</sec>
</sec>
<sec id="s5">
<label>5</label>
<title>Performance evaluation of LSTM-offline mode</title>
<p>For model training and evaluation, the dataset of 71,981 sequences was partitioned using a hold-out strategy to ensure temporal independence and prevent data leakage. We allocated 80% of the sequences (&#x0007E;57,585 samples) for training and 20% (&#x0007E;14,396 samples) for testing, with splits performed chronologically based on simulation timestamps. Within the training portion, 10% (&#x0007E;5,759 samples) was reserved as a validation set for hyperparameter optimization and early stopping. Cross-validation was not utilized due to the time-series nature of the data and the high computational cost of retraining LSTM models on large sequences; instead, the validation set and early stopping (with a patience of 10 epochs) were employed to monitor and prevent overfitting, aligning with best practices for sequential data modeling.</p>
<p><xref ref-type="table" rid="T5">Table 5</xref> presents a comprehensive comparison of various machine learning models evaluated on the task of LoRaWAN SF classification. The models assessed include Random Forest, Gradient Boosting, Support Vector Machine (SVM), K-Nearest Neighbors (KNN), XGBoost, Multi-Layer Perceptron (MLP), and the proposed LSTM network. Performance is evaluated based on standard classification metrics: Accuracy, Precision, Recall, and F1 Score. Additionally, the computational cost is considered through Training Time (measured in seconds) and deployed Model Size (measured in Megabytes).</p>
<table-wrap position="float" id="T5">
<label>Table 5</label>
<caption><p>Model performance comparison on LoRaWAN SF classification.</p></caption>
<table frame="box" rules="all">
<thead>
<tr>
<th valign="top" align="left"><bold>Model</bold></th>
<th valign="top" align="center"><bold>Accuracy</bold></th>
<th valign="top" align="center"><bold>Precision</bold></th>
<th valign="top" align="center"><bold>Recall</bold></th>
<th valign="top" align="center"><bold>F1</bold></th>
<th valign="top" align="center"><bold>Train time (s)</bold></th>
<th valign="top" align="center"><bold>Size (MB)</bold></th>
</tr>
</thead>
<tbody>
<tr>
<td valign="top" align="left">Random Forest</td>
<td valign="top" align="center">0.6991</td>
<td valign="top" align="center">0.5958</td>
<td valign="top" align="center">0.6991</td>
<td valign="top" align="center">0.6022</td>
<td valign="top" align="center">469.59</td>
<td valign="top" align="center">67.76</td>
</tr>
<tr>
<td valign="top" align="left">Gradient Boosting</td>
<td valign="top" align="center">0.7103</td>
<td valign="top" align="center">0.5712</td>
<td valign="top" align="center">0.7103</td>
<td valign="top" align="center">0.5902</td>
<td valign="top" align="center">8254.48</td>
<td valign="top" align="center">0.93</td>
</tr>
<tr>
<td valign="top" align="left">SVM</td>
<td valign="top" align="center">0.7123</td>
<td valign="top" align="center">0.5031</td>
<td valign="top" align="center">0.7123</td>
<td valign="top" align="center">0.5887</td>
<td valign="top" align="center">1464.74</td>
<td valign="top" align="center">4.28</td>
</tr>
<tr>
<td valign="top" align="left">KNN</td>
<td valign="top" align="center">0.6787</td>
<td valign="top" align="center">0.5971</td>
<td valign="top" align="center">0.6787</td>
<td valign="top" align="center">0.6180</td>
<td valign="top" align="center">13.55</td>
<td valign="top" align="center">6.63</td>
</tr>
<tr>
<td valign="top" align="left">XGBoost</td>
<td valign="top" align="center">0.6891</td>
<td valign="top" align="center">0.5946</td>
<td valign="top" align="center">0.6891</td>
<td valign="top" align="center">0.6123</td>
<td valign="top" align="center">67.46</td>
<td valign="top" align="center">1.71</td>
</tr>
<tr>
<td valign="top" align="left">MLP</td>
<td valign="top" align="center">0.7193</td>
<td valign="top" align="center">0.5031</td>
<td valign="top" align="center">0.7193</td>
<td valign="top" align="center">0.5887</td>
<td valign="top" align="center">20.31</td>
<td valign="top" align="center">0.21</td>
</tr>
<tr>
<td valign="top" align="left"><bold>LSTM-proposed</bold></td>
<td valign="top" align="center"><bold>0.7290</bold></td>
<td valign="top" align="center"><bold>0.5141</bold></td>
<td valign="top" align="center"><bold>0.7290</bold></td>
<td valign="top" align="center"><bold>0.5917</bold></td>
<td valign="top" align="center"><bold>131.26</bold></td>
<td valign="top" align="center"><bold>0.84</bold></td>
</tr></tbody>
</table>
</table-wrap>
<p>The results indicate that the LSTM model achieves the highest classification accuracy at 0.7290, closely followed by the MLP model at 0.7193. SVM and Gradient Boosting also demonstrate competitive accuracy scores of 0.7123 and 0.7103, respectively. Models such as Random Forest (0.6991) and XGBoost (0.6891) show slightly lower accuracy, while KNN exhibits the lowest accuracy (0.6787) among the evaluated models. In terms of other metrics, the recall values often mirror the accuracy due to the nature of the calculation in multi-class settings presented here. Precision scores are generally lower, with KNN, XGBoost, and Random Forest showing relatively higher precision around 0.59, while LSTM, MLP and SVM are lower around 0.50&#x02013;0.51. The F1 scores, which balance precision and recall, show KNN and XGBoost performing slightly better in this combined metric, despite lower accuracy. A significant trade-off is observed in computational resources; Gradient Boosting requires substantially longer training time (8,254.48 s), whereas MLP and KNN offer very fast training (20.31 s and 13.55 s, respectively). Similarly, model sizes vary drastically, with Random Forest being the largest (67.76 MB) and MLP being exceptionally compact (0.21 MB), followed by LSTM (0.84 MB) and Gradient Boosting (0.93 MB).</p>
<p><xref ref-type="fig" rid="F5">Figure 5</xref> provides a visual representation of the primary performance metric, classification accuracy, across the different models evaluated. The bar chart clearly illustrates the relative performance, highlighting the LSTM model&#x00027;s superior accuracy compared to the other approaches. It visually confirms the ranking observed in <xref ref-type="table" rid="T5">Table 5</xref>, with MLP, SVM, and Gradient Boosting forming a cluster of next-best performing models, followed by Random Forest, XGBoost, and finally KNN. This visualization aids in quickly discerning the most effective models solely based on classification accuracy.</p>
<fig position="float" id="F5">
<label>Figure 5</label>
<caption><p>Classification accuracy.</p></caption>
<graphic mimetype="image" mime-subtype="tiff" xlink:href="fcomp-07-1666262-g0005.tif">
<alt-text content-type="machine-generated">Bar chart displaying the accuracy of various machine learning models. KNN has 0.679, XGBoost 0.690, Random Forest 0.699, Gradient Boosting 0.710, SVM 0.712, MLP 0.719, and LSTM 0.729. LSTM shows the highest accuracy.</alt-text>
</graphic>
</fig>
<p>Based on comparative empirical evaluation, the LSTM network was selected for deployment within the ns-3 framework for SF classification. Quantitative results demonstrated that the LSTM model yielded the highest classification accuracy (0.7290) relative to the suite of evaluated machine learning algorithms, including Random Forest, SVM, and MLP. Although performance variations were noted across secondary metrics like F1-score and model size, the superior predictive accuracy achieved by LSTM was deemed the primary criterion for selection in the context of optimizing SF prediction within the simulation environment.</p>
</sec>
<sec id="s6">
<label>6</label>
<title>LoRaWAN network performance evaluation-online mode</title>
<p>During the deployment, in ns-3 online simulation, we maintain a per-device circular buffer that stores the last 20 transmission features in real time. This buffer is updated after each transmission and used as input to the model before every new SF decision.</p>
<sec>
<label>6.1</label>
<title>Simulation setting and application</title>
<p>This investigation evaluates end devices operating in confirmed data mode within a single-gateway LoRaWAN network covering a 5 km radius. To simulate industrial asset monitoring scenarios, we employ a two-dimensional random mobility pattern where devices change direction after traversing 200 meters at speeds between 1.0&#x02013;2.0 m/s following established mobility models for IoT applications (<xref ref-type="bibr" rid="B24">Farhad et al., 2022a</xref>; <xref ref-type="bibr" rid="B36">GSMA-3GPP, 2016</xref>).</p>
<p>The simulation framework requires each device to transmit six confirmed uplink messages per hour across a 24-h operational period. To ensure statistical reliability, we conduct ten independent simulation trials and report averaged performance metrics.</p>
<p>The experimental setup examines both stationary and mobile deployment scenarios. For static evaluations, we distribute 100&#x02013;1,000 end devices uniformly across the coverage area. Mobile scenarios incorporate the described random mobility model to simulate asset tracking use cases. All configurations utilize the parameter set detailed in <xref ref-type="table" rid="T6">Table 6</xref> which adheres to LoRaWAN regional specifications for European frequency allocations.</p>
<table-wrap position="float" id="T6">
<label>Table 6</label>
<caption><p>Network simulation configuration.</p></caption>
<table frame="box" rules="all">
<thead>
<tr>
<th valign="top" align="left"><bold>Parameter</bold></th>
<th valign="top" align="left"><bold>Specification</bold></th>
</tr>
</thead>
<tbody>
<tr>
<td valign="top" align="left">Transmission attempts</td>
<td valign="top" align="left">8 total (1 initial &#x0002B; 7 retries)</td>
</tr>
<tr>
<td valign="top" align="left">Device velocity range</td>
<td valign="top" align="left">1.0&#x02013;2.0 m/s (<xref ref-type="bibr" rid="B25">Farhad et al., 2020c</xref>)</td>
</tr>
<tr>
<td valign="top" align="left">Path update interval</td>
<td valign="top" align="left">Every 200 meters traversed</td>
</tr>
<tr>
<td valign="top" align="left">Frequency band</td>
<td valign="top" align="left">EU 868 MHz ISM</td>
</tr>
<tr>
<td valign="top" align="left">Operational channels</td>
<td valign="top" align="left">868.1, 868.3, 868.5 MHz</td>
</tr>
<tr>
<td valign="top" align="left">Initial parameters</td>
<td valign="top" align="left">SF12 at 14 dBm transmit power</td>
</tr></tbody>
</table>
</table-wrap>
</sec>
<sec>
<label>6.2</label>
<title>Performance evaluation</title>
<p>The results presented in <xref ref-type="fig" rid="F6">Figure 6</xref> depict the Packet Delivery Ratio (PDR) achieved by different spreading factor allocation algorithms as a function of the number of EDs in a simulated LoRaWAN environment under mobility conditions. The algorithms compared include the proposed ML-ADR (SF Classification method) along with standard ADR, BADR and the TF algorithm, which serves as a baseline from prior work. In TinyML, TF refers to TensorFlow, specifically TensorFlow Lite for Microcontrollers. The analysis clearly illustrates the superior performance of the ML-ADR approach in maintaining a higher PDR across the tested range of network densities in this mobile scenario. While the PDR for all algorithms generally decreases with an increasing number of EDs due to heightened interference and collisions, the ML-ADR method demonstrates a more resilient performance curve, indicating its effectiveness in adapting to changing channel conditions and mobility-induced signal variations. The TF algorithm performs notably better than both ADR and BADR positioning itself as the second most effective method in this comparison, confirming its utility as a relevant baseline. In contrast, both ADR and particularly BADR exhibit a significant degradation in PDR as network load increases, underscoring their limitations in dynamic and dense mobile LoRaWAN deployments. This comparative analysis highlights the significant advantages of leveraging ML-ADR techniques for enhancing the reliability of packet delivery in mobile LoRaWAN networks, offering a substantial improvement over conventional ADR mechanisms and the TF baseline by more effectively managing radio resources in a dynamic environment.</p>
<fig position="float" id="F6">
<label>Figure 6</label>
<caption><p>Packet delivery ratio performance for mobile devices. Comparison of ML-ADR (proposed Machine Learning-based Adaptive Data Rate), TF (TinyML-TensorFlow Lite for microcontrollers <xref ref-type="bibr" rid="B4">Ali Lodhi et al., 2024</xref>), ADR (standard Adaptive Data Rate), and BADR (standard Blind Adaptive Data Rate).</p></caption>
<graphic mimetype="image" mime-subtype="tiff" xlink:href="fcomp-07-1666262-g0006.tif">
<alt-text content-type="machine-generated">Bar chart showing the Packet Delivery Ratio for different numbers of end devices (200, 400, 600, 800, and 1000) compared across four methods: ML-ADR (striped), TF (yellow), ADR (purple), and BADR (green). ML-ADR consistently achieves the highest ratio, while BADR has the lowest across all device counts.</alt-text>
</graphic>
</fig>
<p>The performance of the proposed ML-ADR algorithm in terms of PDR for static devices is presented in <xref ref-type="fig" rid="F7">Figure 7</xref>, alongside comparisons with the standard ADR, BADR, and the TF algorithm. The results demonstrate that the ML-ADR consistently outperforms the other evaluated algorithms across all tested network densities ranging from 200 to 1,000 EDs. As anticipated, the PDR for all algorithms decreases as the number of EDs increases, reflecting the growing impact of collisions in denser networks operating under the pure ALOHA access scheme. However, the proposed ML-ADR method exhibits a significantly higher PDR compared to its counterparts, indicating its effectiveness in optimizing spreading factor allocation and mitigating packet loss even under increased load in static scenarios. The TF algorithm generally achieves the second highest PDR, showing better performance than both ADR and BADR. Standard ADR provides moderate performance, while BADR consistently registers the lowest PDR values, particularly in larger networks where collisions become more prevalent. This analysis underscores the considerable advantage of employing the proposed ML-ADR technique for enhancing the reliability of data delivery in static LoRaWAN deployments by intelligently adapting data rates and spreading factors based on network conditions.</p>
<fig position="float" id="F7">
<label>Figure 7</label>
<caption><p>Packet delivery ratio performance for static devices. Comparison of ML-ADR (proposed Machine Learning-based Adaptive Data Rate), TF (TinyML-TensorFlow Lite for Microcontrollers <xref ref-type="bibr" rid="B4">Ali Lodhi et al., 2024</xref>), ADR (standard Adaptive Data Rate), and BADR (standard Blind Adaptive Data Rate).</p></caption>
<graphic mimetype="image" mime-subtype="tiff" xlink:href="fcomp-07-1666262-g0007.tif">
<alt-text content-type="machine-generated">Bar chart comparing packet delivery ratios across different end device counts (200, 400, 600, 800, 1000) for four methods: ML-ADR, TF, ADR, and BADR. ML-ADR consistently shows the highest ratio, followed by TF, ADR, and BADR.</alt-text>
</graphic>
</fig>
<p>The energy consumption characteristics of the proposed ML-ADR algorithm are presented in <xref ref-type="fig" rid="F8">Figure 8</xref> for mobile device scenarios, compared against the performance of ADR, BADR, and TF. Analysis of the figure reveals a consistent trend where the proposed ML-ADR method demonstrates superior energy efficiency, exhibiting the lowest energy consumption across the entire range of tested ED densities. This lower energy consumption is caused due to lower retransmission rates and better SF estimation, reduced airtime from preferential use of lower SFs when channel conditions allow, and fewer downlink requests due to more reliable uplinks.</p>
<fig position="float" id="F8">
<label>Figure 8</label>
<caption><p>Energy consumption performance for mobile devices. Comparison of ML-ADR (proposed Machine Learning-based Adaptive Data Rate), TF (TinyML-TensorFlow Lite for Microcontrollers <xref ref-type="bibr" rid="B4">Ali Lodhi et al., 2024</xref>), ADR (standard Adaptive Data Rate), and BADR (standard Blind Adaptive Data Rate).</p></caption>
<graphic mimetype="image" mime-subtype="tiff" xlink:href="fcomp-07-1666262-g0008.tif">
<alt-text content-type="machine-generated">Bar chart showing energy consumption in joules across four methods: ML-ADR, TF, ADR, and BADR, for end devices ranging from 200 to 1000. Energy consumption increases with more end devices, with BADR consistently highest and TF lowest.</alt-text>
</graphic>
</fig>
<p>As the number of mobile EDs increases, the energy consumed by all algorithms generally rises, but the increment is least pronounced for ML-ADR. The TF algorithm performs as the second most energy-efficient method, showing lower consumption than both conventional ADR and BADR. Notably, BADR consistently records the highest energy consumption, particularly at greater network scales, indicating its limited suitability for energy-constrained mobile deployments. The comparison clearly indicates that ML-ADR offers a significant reduction in energy expenditure compared to existing approaches in mobile LoRaWAN environments, which is critical for extending the battery life of mobile IoT devices and improving overall network sustainability.</p>
<p>The energy consumption performance of the proposed ML-ADR algorithm for static devices is depicted in <xref ref-type="fig" rid="F9">Figure 9</xref>, presenting a comparative analysis against the standard ADR, BADR, and the TF algorithm. These results, generated under static network conditions, clearly demonstrate the significant energy efficiency achieved by the ML-ADR approach. Across all tested network densities ranging from 200 to 1,000 EDs, the ML-ADR consistently registers the lowest energy consumption values. While energy consumption generally increases for all algorithms as the number of EDs grows due to increased network activity, the ML-ADR&#x00027;s increase is notably more gradual compared to ADR and BADR. The TF algorithm generally exhibits the second lowest energy consumption, positioning it between the highly efficient ML-ADR and the less efficient conventional methods. Both standard ADR and particularly BADR show substantially higher energy consumption, with BADR demonstrating the least energy-efficient performance across all network sizes. This comparative evaluation underscores the critical advantage of employing the proposed ML-ADR technique for optimizing energy usage in static LoRaWAN deployments, showcasing its capability to significantly prolong the operational lifetime of battery-powered end devices by intelligently managing transmission parameters based on learned network conditions.</p>
<fig position="float" id="F9">
<label>Figure 9</label>
<caption><p>Energy consumption performance for static devices. Comparison of ML-ADR (proposed Machine Learning-based Adaptive Data Rate), TF (TinyML-TensorFlow Lite for Microcontrollers <xref ref-type="bibr" rid="B4">Ali Lodhi et al., 2024</xref>), ADR (standard Adaptive Data Rate), and BADR (standard Blind Adaptive Data Rate).</p></caption>
<graphic mimetype="image" mime-subtype="tiff" xlink:href="fcomp-07-1666262-g0009.tif">
<alt-text content-type="machine-generated">Bar graph comparing energy consumption in joules for different numbers of end devices (200, 400, 600, 800, 1000) using four methods: ML-ADR, TF, ADR, and BADR. BADR shows the highest energy consumption across all device counts, while ML-ADR consistently shows the lowest.</alt-text>
</graphic>
</fig>
</sec>
</sec>
<sec sec-type="discussion" id="s7">
<label>7</label>
<title>Discussion</title>
<sec>
<label>7.1</label>
<title>Analysis of offline mode results</title>
<p>The comparative evaluation of machine learning models for LoRaWAN Spreading Factor classification, as presented in <xref ref-type="table" rid="T5">Table 5</xref>, yields three significant findings. First, the LSTM network demonstrates superior classification accuracy (0.7290) compared to conventional methods, which suggests its enhanced capability to capture temporal patterns in LoRaWAN signal propagation characteristics. This performance advantage over Random Forest (0.6991) and SVM (0.7123) aligns with established literature on temporal feature extraction in wireless networks. Second, the marginal accuracy difference between LSTM and MLP (0.7193) reveals an important computational trade-off. While both models achieve comparable predictive performance, the MLP requires substantially less training time (20.31 s vs. 131.26 s), making it potentially more suitable for resource-constrained deployment scenarios. However, the precision of LSTM is relatively lower, indicating that the model favors lower false negatives, which is intentional in our context. Therefore, assigning a more robust SF (even if slightly lower) is preferable over underestimating link requirements, which may result in packet loss and energy waste due to retransmissions.</p>
<p>The observed disparity between precision and recall metrics across models warrants particular attention. Models such as KNN and XGBoost exhibit higher precision values (&#x0007E;0.59) but lower recall, indicating potential bias in handling specific Spreading Factor classes. This phenomenon likely stems from inherent imbalances in real-world LoRaWAN deployments, where certain Spreading Factors occur more frequently due to their transmission range characteristics. The LSTM model shows the opposite pattern, with lower precision (0.5141) but higher recall (0.7290), suggesting a design bias toward minimizing false negatives at the potential cost of increased false positives.</p>
<p>From an implementation perspective, the model size comparisons prove particularly insightful. The MLP (0.21 MB) and LSTM (0.84 MB) demonstrate exceptional compactness compared to the resource-intensive Random Forest implementation (67.76 MB). This size differential has direct implications for edge deployment feasibility, where memory constraints often dictate model selection criteria. These results corroborate recent advancements in efficient model architectures for IoT applications. Our deployed model (0.84 MB) can be hosted efficiently on GW with typical ARM Cortex-A class processors or embedded edge servers. On constrained EDs, however, real-time inference is not feasible. As such, we retain the inference at the gateway/network server side, while the end-device passively receives SF adjustments.</p>
<p>The marginal accuracy improvement of LSTM over MLP (0.7290 vs. 0.7193) and XGBoost (0.6891) raises a valid question about whether it justifies the increased computational demands, including longer training time (131.26 s for LSTM vs. 20.31 s for MLP and 67.46 s for XGBoost) and greater model complexity. In time-series tasks like LoRaWAN SF classification, where data exhibits strong temporal dependencies due to fluctuating channel conditions and sequential transmission patterns, the gating mechanisms of LSTM provide a nuanced advantage in modeling long-term dependencies that simpler feedforward models like MLP or tree-based ensembles like XGBoost may not capture as effectively. Recent survey on time-series forecasting and deep learning, indicate that even small accuracy gains (1&#x02013;2%) with LSTM can be worthwhile when they translate to substantial real-world benefits, such as improved reliability in resource-constrained environments (<xref ref-type="bibr" rid="B39">Kim et al., 2025</xref>). In our case, the offline training phase mitigates runtime concerns, as deployment occurs on network servers where inference is lightweight and fast. While MLP offers a compelling alternative for scenarios prioritizing speed and compactness, the amplified downstream impacts observed in our online evaluations&#x02013;such as higher PDR and lower energy consumption&#x02013;validate the selection of LSTM for optimizing LoRaWAN performance.</p>
</sec>
<sec>
<label>7.2</label>
<title>Implications of online mode performance</title>
<p>The online evaluation results, presented in <xref ref-type="fig" rid="F6">Figure 6</xref> through <xref ref-type="fig" rid="F9">Figure 9</xref>, demonstrate the operational advantages of the ML-ADR approach across multiple performance dimensions. In mobile deployment scenarios (<xref ref-type="fig" rid="F6">Figure 6</xref>), the ML-ADR algorithm maintains a 22 percent higher Packet Delivery Ratio than the TF baseline at network densities of 1,000 end devices. This performance advantage stems from two key algorithmic features: dynamic SF adaptation based on real-time channel conditions, and intelligent retransmission scheduling that minimizes acknowledgment collisions.</p>
<p>The static deployment results (<xref ref-type="fig" rid="F7">Figure 7</xref>) reveal similar performance trends, with ML-ADR consistently outperforming conventional approaches across all tested network scales. The energy efficiency metrics (<xref ref-type="fig" rid="F8">Figures 8</xref>, <xref ref-type="fig" rid="F9">9</xref>) further validate the practical benefits of the proposed approach. ML-ADR reduces median energy consumption by 30 percent compared to standard ADR implementations, while simultaneously maintaining superior packet delivery reliability. This dual improvement directly addresses two critical constraints in LoRaWAN deployments: limited battery capacity in end devices and the need for reliable communication in congested networks.</p>
</sec>
<sec>
<label>7.3</label>
<title>Limitations and future directions</title>
<p>Four primary limitations of the current approach merit discussion. First, the reliance on offline model training introduces inherent latency in adapting to new network configurations or propagation environments. This offline paradigm, while computationally efficient for initial deployment, can result in suboptimal performance during sudden environmental shifts, such as abrupt weather changes or device mobility patterns not represented in the training data. For instance, if channel conditions evolve rapidly (e.g., due to vehicular traffic in urban areas), the pre-trained LSTM may require retraining, potentially delaying adaptation by hours or days in operational settings.</p>
<p>Second, the evaluation assumes ideal channel state information availability, which may not fully capture real-world operational conditions with dynamic interference patterns and multipath effects. In ns-3 simulations, we model controlled propagation losses, but practical deployments often encounter unpredictable interference from coexisting networks (e.g., WiFi, other LPWANs, or industrial machinery), which can increase packet error rates in dense environments as reported in recent interference management studies (<xref ref-type="bibr" rid="B50">OrbiWise, 2023</xref>). Multipath fading, particularly in urban or indoor scenarios, further exacerbates this by causing signal fluctuations that our model, trained on simplified path loss models, might not generalize to&#x02013;potentially leading to incorrect SF predictions and higher retransmission rates. Additionally, the ns-3 framework, while versatile, does not fully replicate hardware-specific variations (e.g., antenna imperfections or clock drifts in low-cost LoRa modules) or firmware-level constraints (e.g., duty cycle enforcement), which could degrade ML-ADR&#x00027;s effectiveness in field trials. To mitigate this, future work will focus on porting the model to physical testbeds using commercial hardware (e.g., SX1276-based nodes) and large-scale deployments via platforms like The Things Network, incorporating real-time interference datasets for retraining.</p>
<p>Third, the single-gateway network model, while useful for controlled evaluation, does not account for the complexities of multi-cell deployments with handover scenarios. In real-world setups with multiple gateways, issues such as inter-gateway interference, overlapping coverage zones, and handover delays during device mobility can introduce additional packet loss (<xref ref-type="bibr" rid="B37">Harinda et al., 2022</xref>). This limitation is particularly pronounced in scalable networks where load balancing across gateways is required to prevent bottlenecks, yet our simulations assume a centralized single-gateway architecture, potentially underestimating collision rates in distributed topologies.</p>
<p>Fourth, scalability remains a critical concern, as our evaluations are limited to networks of up to 1,000 end devices, which may not extend to massive IoT deployments with tens of thousands of nodes. The LSTM model&#x00027;s computational overhead&#x02013;requiring sequence processing for each device&#x00027;s historical data&#x02013;could strain network server resources in ultra-dense scenarios, leading to inference delays or increased energy consumption at the server side. Recent surveys highlight that ML-based resource allocation in LoRaWAN often faces scalability bottlenecks in single-hop architectures, with performance degrading beyond 5,000 devices due to heightened contention and model complexity (<xref ref-type="bibr" rid="B46">Maurya et al., 2025</xref>; <xref ref-type="bibr" rid="B30">Farhad and Pyun, 2023b</xref>; <xref ref-type="bibr" rid="B18">Elgharbi et al., 2025</xref>). Furthermore, training data generation via ns-3 becomes prohibitively time-intensive for larger scales, limiting the diversity of scenarios captured.</p>
<p>Future research should address these limitations through complementary approaches. First, federated learning architectures could enable distributed model refinement across network GWs while preserving data locality, facilitating real-time adaptation without full retraining. Second, the integration of real-time channel estimation techniques, such as RL for dynamic interference mitigation, would enhance robustness against fading and coexistence issues (<xref ref-type="bibr" rid="B21">Fahmida et al., 2023</xref>). Third, extending simulations to multi-GW models with handover protocols and exploring multi-hop extensions could better evaluate distributed deployments (<xref ref-type="bibr" rid="B45">Matni et al., 2020</xref>). Finally, to tackle scalability, hybrid architectures combining LSTM with lighter models (e.g., edge-optimized ML and TinyML) or scalable data-driven solutions similar those in recent surveys could optimize for massive networks, potentially incorporating online learning to handle evolving device densities dynamically (<xref ref-type="bibr" rid="B33">Garrido-Hidalgo et al., 2023</xref>).</p>
</sec>
</sec>
<sec sec-type="conclusions" id="s8">
<label>8</label>
<title>Conclusions</title>
<p>In this paper, we addressed the critical challenge of efficient spreading factor allocation in LoRaWAN networks, a necessity driven by the rapid expansion of Internet of Things deployments and the limitations of existing adaptive data rate mechanisms. We proposed and evaluated a Machine Learning-based Adaptive Data Rate (ML-ADR) approach specifically designed for intelligent spreading factor management. Leveraging machine learning, including deep learning techniques such as LSTM, trained on data generated from extensive ns-3 simulations, our methodology dynamically allocates optimal spreading factors to end devices.</p>
<p>The comprehensive performance evaluation demonstrated that the proposed ML-ADR significantly improves key network metrics. Specifically, our results showed enhanced packet delivery ratio and reduced energy consumption compared to conventional algorithms like ADR, BADR, and the TF baseline, across both static and mobile device scenarios. The ML-ADR consistently outperformed these existing methods, exhibiting higher packet delivery rates and lower energy expenditure, which are crucial for the scalability and sustainability of LoRaWAN deployments.</p>
<p>This work underscores the potential of machine learning to optimize resource allocation in LPWANs, offering a robust solution to improve overall network efficiency and prolong device lifetimes in diverse deployment environments.</p>
</sec>
</body>
<back>
<sec sec-type="data-availability" id="s9">
<title>Data availability statement</title>
<p>The original contributions presented in the study are included in the article/supplementary material, further inquiries can be directed to the corresponding author.</p>
</sec>
<sec sec-type="author-contributions" id="s10">
<title>Author contributions</title>
<p>FN: Conceptualization, Data curation, Writing &#x02013; original draft. MA: Supervision, Writing &#x02013; review &#x00026; editing. MT: Supervision, Writing &#x02013; review &#x00026; editing, Data curation. HH: Writing &#x02013; review &#x00026; editing, Methodology. NA: Resources, Visualization, Writing &#x02013; review &#x00026; editing. ML: Funding acquisition, Writing &#x02013; review &#x00026; editing.</p>
</sec>
<ack><p>The authors would like to thanks Prince Sultan University for paying the Article Processing Charges (APC) of this publication.</p></ack>
<sec sec-type="COI-statement" id="conf1">
<title>Conflict of interest</title>
<p>The authors declare that the research was conducted in the absence of any commercial or financial relationships that could be construed as a potential conflict of interest.</p>
</sec>
<sec sec-type="correction-note" id="s100">
<title>Correction note</title>
<p>This article has been corrected with minor changes. These changes do not impact the scientific content of the article.</p>
</sec>
<sec sec-type="ai-statement" id="s12">
<title>Generative AI statement</title>
<p>The author(s) declare that no Gen AI was used in the creation of this manuscript.</p>
<p>Any alternative text (alt text) provided alongside figures in this article has been generated by Frontiers with the support of artificial intelligence and reasonable efforts have been made to ensure accuracy, including review by the authors wherever possible. If you identify any issues, please contact us.</p>
</sec>
<sec sec-type="disclaimer" id="s13">
<title>Publisher&#x00027;s note</title>
<p>All claims expressed in this article are solely those of the authors and do not necessarily represent those of their affiliated organizations, or those of the publisher, the editors and the reviewers. Any product that may be evaluated in this article, or claim that may be made by its manufacturer, is not guaranteed or endorsed by the publisher.</p>
</sec>
<ref-list>
<title>References</title>
<ref id="B1">
<mixed-citation publication-type="web"><person-group person-group-type="author"><collab>a3794110</collab></person-group>. (<year>2023</year>). <source>NS-3-Based Module for Narrow Band-IOT</source>. Available online at: <ext-link ext-link-type="uri" xlink:href="https://github.com/a3794110/ns-3-NB-IoT">https://github.com/a3794110/ns-3-NB-IoT</ext-link> (Accessed May 30, 2023).</mixed-citation>
</ref>
<ref id="B2">
<mixed-citation publication-type="journal"><person-group person-group-type="author"><name><surname>Abdelfadeel</surname> <given-names>K. Q.</given-names></name> <name><surname>Zorbas</surname> <given-names>D.</given-names></name> <name><surname>Cionca</surname> <given-names>V.</given-names></name> <name><surname>Pesch</surname> <given-names>D.</given-names></name></person-group> (<year>2019</year>). <article-title><italic>free</italic>&#x02014;fine-grained scheduling for reliable and energy-efficient data collection in lorawan</article-title>. <source>IEEE Internet Things J</source>. <volume>7</volume>, <fpage>669</fpage>&#x02013;<lpage>683</lpage>. doi: <pub-id pub-id-type="doi">10.1109/JIOT.2019.2949918</pub-id></mixed-citation>
</ref>
<ref id="B3">
<mixed-citation publication-type="book"><person-group person-group-type="author"><name><surname>Acosta-Garcia</surname> <given-names>L.</given-names></name> <name><surname>Aznar-Poveda</surname> <given-names>J.</given-names></name> <name><surname>Garcia-Sanchez</surname> <given-names>A.-J.</given-names></name> <name><surname>Garcia-Haro</surname> <given-names>J.</given-names></name> <name><surname>Fahringer</surname> <given-names>T.</given-names></name></person-group> (<year>2024</year>). <article-title>&#x0201C;Proactive adaptation of data rate in mobile lora-based iot devices using machine learning,&#x0201D;</article-title> in <source>2024 IEEE 99th Vehicular Technology Conference (VTC2024-Spring)</source> (<publisher-loc>Singapore</publisher-loc>: <publisher-name>IEEE</publisher-name>), <fpage>1</fpage>&#x02013;<lpage>5</lpage>. doi: <pub-id pub-id-type="doi">10.1109/VTC2024-Spring62846.2024.10683082</pub-id></mixed-citation>
</ref>
<ref id="B4">
<mixed-citation publication-type="journal"><person-group person-group-type="author"><name><surname>Ali Lodhi</surname> <given-names>M.</given-names></name> <name><surname>Obaidat</surname> <given-names>M. S.</given-names></name> <name><surname>Wang</surname> <given-names>L.</given-names></name> <name><surname>Mahmood</surname> <given-names>K.</given-names></name> <name><surname>Ibrahim Qureshi</surname> <given-names>K.</given-names></name> <name><surname>Chen</surname> <given-names>J.</given-names></name> <etal/></person-group>. (<year>2024</year>). <article-title>Tiny machine learning for efficient channel selection in lorawan</article-title>. <source>IEEE Internet Things J</source>. <volume>11</volume>, <fpage>30714</fpage>&#x02013;<lpage>30724</lpage>. doi: <pub-id pub-id-type="doi">10.1109/JIOT.2024.3413585</pub-id></mixed-citation>
</ref>
<ref id="B5">
<mixed-citation publication-type="journal"><person-group person-group-type="author"><name><surname>Anwar</surname> <given-names>K.</given-names></name> <name><surname>Rahman</surname> <given-names>T.</given-names></name> <name><surname>Zeb</surname> <given-names>A.</given-names></name> <name><surname>Khan</surname> <given-names>I.</given-names></name> <name><surname>Zareei</surname> <given-names>M.</given-names></name> <name><surname>Vargas-Rosales</surname> <given-names>C.</given-names></name></person-group> (<year>2021</year>). <article-title>RM-ADR: resource management adaptive data rate for mobile application in lorawan</article-title>. <source>Sensors</source> <volume>21</volume>:<fpage>7980</fpage>. doi: <pub-id pub-id-type="doi">10.3390/s21237980</pub-id><pub-id pub-id-type="pmid">34883985</pub-id></mixed-citation></ref>
<ref id="B6">
<mixed-citation publication-type="journal"><person-group person-group-type="author"><name><surname>Augustin</surname> <given-names>A.</given-names></name> <name><surname>Yi</surname> <given-names>J.</given-names></name> <name><surname>Clausen</surname> <given-names>T.</given-names></name> <name><surname>Townsley</surname> <given-names>W. M.</given-names></name></person-group> (<year>2016</year>). <article-title>A study of lora: long range and low power networks for the internet of things</article-title>. <source>Sensors</source> <volume>16</volume>:<fpage>1466</fpage>. doi: <pub-id pub-id-type="doi">10.3390/s16091466</pub-id><pub-id pub-id-type="pmid">27618064</pub-id></mixed-citation></ref>
<ref id="B7">
<mixed-citation publication-type="journal"><person-group person-group-type="author"><name><surname>Azizi</surname> <given-names>F.</given-names></name> <name><surname>Teymuri</surname> <given-names>B.</given-names></name> <name><surname>Aslani</surname> <given-names>R.</given-names></name> <name><surname>Rasti</surname> <given-names>M.</given-names></name> <name><surname>Tolvaneny</surname> <given-names>J.</given-names></name> <name><surname>Nardelli</surname> <given-names>P. H. J.</given-names></name></person-group> (<year>2022</year>). <article-title>&#x0201C;Mix-mab: reinforcement learning-based resource allocation algorithm for lorawan,&#x0201D;</article-title> in <source>2022 IEEE 95th Vehicular Technology Conference: (VTC2022-Spring), 19&#x02013;22 June 2022</source> (<publisher-loc>IEEE</publisher-loc>: <publisher-name>Helsinki, Finland</publisher-name>), <fpage>1</fpage>&#x02013;<lpage>6</lpage>. doi: <pub-id pub-id-type="doi">10.1109/VTC2022-Spring54318.2022.9860807</pub-id></mixed-citation>
</ref>
<ref id="B8">
<mixed-citation publication-type="journal"><person-group person-group-type="author"><name><surname>Beltramelli</surname> <given-names>L.</given-names></name> <name><surname>Mahmood</surname> <given-names>A.</given-names></name> <name><surname>&#x000D6;sterberg</surname> <given-names>P.</given-names></name> <name><surname>Gidlund</surname> <given-names>M.</given-names></name> <name><surname>Ferrari</surname> <given-names>P.</given-names></name> <name><surname>Sisinni</surname> <given-names>E.</given-names></name></person-group> (<year>2021</year>). <article-title>Energy efficiency of slotted lorawan communication with out-of-band synchronization</article-title>. <source>IEEE Trans. Instrum. Meas</source>. <volume>70</volume>, <fpage>1</fpage>&#x02013;<lpage>11</lpage>. doi: <pub-id pub-id-type="doi">10.1109/TIM.2021.3051238</pub-id></mixed-citation>
</ref>
<ref id="B9">
<mixed-citation publication-type="book"><person-group person-group-type="author"><name><surname>Benkahla</surname> <given-names>N.</given-names></name> <name><surname>Tounsi</surname> <given-names>H.</given-names></name> <name><surname>Ye-Qiong</surname> <given-names>S.</given-names></name> <name><surname>Frikha</surname> <given-names>M.</given-names></name></person-group> (<year>2019</year>). <article-title>&#x0201C;Enhanced ADR for lorawan networks with mobility,&#x0201D;</article-title> in <source>2019 15th International Wireless Communications and Mobile Computing Conference (IWCMC), Tangier, Morocco, 24&#x02013;28 June</source> (<publisher-loc>IEEE</publisher-loc>: <publisher-name>Tangier, Morocco</publisher-name>), <fpage>1</fpage>&#x02013;<lpage>6</lpage>. doi: <pub-id pub-id-type="doi">10.1109/IWCMC.2019.8766738</pub-id><pub-id pub-id-type="pmid">33198298</pub-id></mixed-citation></ref>
<ref id="B10">
<mixed-citation publication-type="journal"><person-group person-group-type="author"><name><surname>Bertocco</surname> <given-names>M.</given-names></name> <name><surname>Parrino</surname> <given-names>S.</given-names></name> <name><surname>Peruzzi</surname> <given-names>G.</given-names></name> <name><surname>Pozzebon</surname> <given-names>A.</given-names></name></person-group> (<year>2023</year>). <article-title>Estimating volumetric water content in soil for IoUT contexts by exploiting RSSI-based augmented sensors via machine learning</article-title>. <source>Sensors</source> <volume>23</volume>:<fpage>2033</fpage>. doi: <pub-id pub-id-type="doi">10.3390/s23042033</pub-id><pub-id pub-id-type="pmid">36850627</pub-id></mixed-citation></ref>
<ref id="B11">
<mixed-citation publication-type="book"><person-group person-group-type="author"><name><surname>Bor</surname> <given-names>M. C.</given-names></name> <name><surname>Roedig</surname> <given-names>U.</given-names></name> <name><surname>Voigt</surname> <given-names>T.</given-names></name> <name><surname>Alonso</surname> <given-names>J. M.</given-names></name></person-group> (<year>2016</year>). <article-title>&#x0201C;Do lora low-power wide-area networks scale?,&#x0201D;</article-title> in <source>Proceedings of the 19th ACM International Conference on Modeling, Analysis and Simulation of Wireless and Mobile Systems</source> (<publisher-loc>Malta</publisher-loc>), <fpage>59</fpage>&#x02013;<lpage>67</lpage>. doi: <pub-id pub-id-type="doi">10.1145/2988287.2989163</pub-id></mixed-citation>
</ref>
<ref id="B12">
<mixed-citation publication-type="book"><person-group person-group-type="author"><name><surname>Bounceur</surname> <given-names>A.</given-names></name> <name><surname>Marc</surname> <given-names>O.</given-names></name> <name><surname>Lounis</surname> <given-names>M.</given-names></name> <name><surname>Soler</surname> <given-names>J.</given-names></name> <name><surname>Clavier</surname> <given-names>L.</given-names></name> <name><surname>Combeau</surname> <given-names>P.</given-names></name> <etal/></person-group>. (<year>2018</year>). <article-title>&#x0201C;Cupcarbon-lab: an IOT emulator,&#x0201D;</article-title> in <source>15th IEEE Annual Consumer Communications and Networking Conference (CCNC), 12&#x02013;15 January 2018</source> (<publisher-loc>IEEE</publisher-loc>: <publisher-name>Las Vegas, NV, USA</publisher-name>), <fpage>1</fpage>&#x02013;<lpage>2</lpage>. doi: <pub-id pub-id-type="doi">10.1109/CCNC.2018.8319313</pub-id></mixed-citation>
</ref>
<ref id="B13">
<mixed-citation publication-type="book"><person-group person-group-type="author"><name><surname>Callebaut</surname> <given-names>G.</given-names></name> <name><surname>Ottoy</surname> <given-names>G.</given-names></name> <name><surname>van der Perre</surname> <given-names>L.</given-names></name></person-group> (<year>2019</year>). <article-title>&#x0201C;Cross-layer framework and optimization for efficient use of the energy budget of iot nodes,&#x0201D;</article-title> in <source>IEEE Wireless Communications and Networking Conference (WCNC), 15&#x02013;18 April 2019</source> (<publisher-loc>IEEE</publisher-loc>: <publisher-name>Marrakesh, Morocco</publisher-name>), <fpage>1</fpage>&#x02013;<lpage>6</lpage>. doi: <pub-id pub-id-type="doi">10.1109/WCNC.2019.8885739</pub-id></mixed-citation>
</ref>
<ref id="B14">
<mixed-citation publication-type="journal"><person-group person-group-type="author"><name><surname>Casals</surname> <given-names>L.</given-names></name> <name><surname>Gomez</surname> <given-names>C.</given-names></name> <name><surname>Vidal</surname> <given-names>R.</given-names></name></person-group> (<year>2021</year>). <article-title>The SF12 well in lorawan: problem and end-device-based solutions</article-title>. <source>Sensors</source> <volume>21</volume>:<fpage>6478</fpage>. doi: <pub-id pub-id-type="doi">10.3390/s21196478</pub-id><pub-id pub-id-type="pmid">34640804</pub-id></mixed-citation></ref>
<ref id="B15">
<mixed-citation publication-type="journal"><person-group person-group-type="author"><name><surname>Chen</surname> <given-names>M.</given-names></name> <name><surname>Mokdad</surname> <given-names>L.</given-names></name> <name><surname>Ben-Othman</surname> <given-names>J.</given-names></name> <name><surname>Fourneau</surname> <given-names>J.-M.</given-names></name></person-group> (<year>2023</year>). <article-title>Dynamic parameter allocation with reinforcement learning for lorawan</article-title>. <source>IEEE Internet Things J</source>. <volume>10</volume>, <fpage>10250</fpage>&#x02013;<lpage>10265</lpage>. doi: <pub-id pub-id-type="doi">10.1109/JIOT.2023.3239301</pub-id></mixed-citation>
</ref>
<ref id="B16">
<mixed-citation publication-type="journal"><person-group person-group-type="author"><name><surname>Croce</surname> <given-names>D.</given-names></name> <name><surname>Gucciardo</surname> <given-names>M.</given-names></name> <name><surname>Mangione</surname> <given-names>S.</given-names></name> <name><surname>Santaromita</surname> <given-names>G.</given-names></name> <name><surname>Tinnirello</surname> <given-names>I.</given-names></name></person-group> (<year>2018</year>). <article-title>Impact of lora imperfect orthogonality: analysis of link-level performance</article-title>. <source>IEEE Commun. Lett</source>. <volume>22</volume>, <fpage>796</fpage>&#x02013;<lpage>799</lpage>. doi: <pub-id pub-id-type="doi">10.1109/LCOMM.2018.2797057</pub-id></mixed-citation>
</ref>
<ref id="B17">
<mixed-citation publication-type="web"><person-group person-group-type="author"><collab>DEIS-Tools Project Team</collab></person-group>. (<year>2023</year>). <source>NS-3 module for sigfox</source>. Available online at: <ext-link ext-link-type="uri" xlink:href="https://github.com/DEIS-Tools/ns3-sigfox">https://github.com/DEIS-Tools/ns3-sigfox</ext-link> (Accessed May 26, 2023).</mixed-citation>
</ref>
<ref id="B18">
<mixed-citation publication-type="journal"><person-group person-group-type="author"><name><surname>Elgharbi</surname> <given-names>S. E.</given-names></name> <name><surname>Iturralde</surname> <given-names>M.</given-names></name> <name><surname>Dupuis</surname> <given-names>Y.</given-names></name> <name><surname>Gaugue</surname> <given-names>A.</given-names></name></person-group> (<year>2025</year>). <article-title>Maritime monitoring through lorawan: resilient decentralised mesh networks for enhanced data transmission</article-title>. <source>Comput. Commun</source>. <volume>241</volume>:<fpage>108276</fpage>. doi: <pub-id pub-id-type="doi">10.1016/j.comcom.2025.108276</pub-id></mixed-citation>
</ref>
<ref id="B19">
<mixed-citation publication-type="book"><person-group person-group-type="author"><name><surname>Elkarim</surname> <given-names>S. I. A.</given-names></name> <name><surname>Elsherbini</surname> <given-names>M.</given-names></name> <name><surname>Mohammed</surname> <given-names>O.</given-names></name> <name><surname>Khan</surname> <given-names>W. U.</given-names></name> <name><surname>Waqar</surname> <given-names>O.</given-names></name> <name><surname>ElHalawany</surname> <given-names>B. M.</given-names></name></person-group> (<year>2022</year>). <article-title>&#x0201C;Deep learning based joint collision detection and spreading factor allocation in lorawan,&#x0201D;</article-title> in <source>2022 IEEE 42nd International Conference on Distributed Computing Systems Workshops (ICDCSW), 10&#x02013;10 July 2022</source> (<publisher-loc>IEEE</publisher-loc>: <publisher-name>Bologna, Italy</publisher-name>), <fpage>187</fpage>&#x02013;<lpage>192</lpage>. doi: <pub-id pub-id-type="doi">10.1109/ICDCSW56584.2022.00043</pub-id></mixed-citation>
</ref>
<ref id="B20">
<mixed-citation publication-type="web"><person-group person-group-type="author"><collab>ETSI</collab></person-group>. (<year>2018</year>). System reference document (SRDOC); technical characteristics for low power wide area networks and chirp spread spectrum (LPWAN-CSS) operating in the UHF spectrum below 1 GHZ; ETSI TR 103 526 v1.1.1 (2018&#x02013;04). Available online at: <ext-link ext-link-type="uri" xlink:href="https://www.etsi.org/deliver/etsi_tr/103500_103599/103526/01.01.01_60/tr_103526v010101p.pdf">https://www.etsi.org/deliver/etsi_tr/103500_103599/103526/01.01.01_60/tr_103526v010101p.pdf</ext-link></mixed-citation>
</ref>
<ref id="B21">
<mixed-citation publication-type="book"><person-group person-group-type="author"><name><surname>Fahmida</surname> <given-names>S.</given-names></name> <name><surname>Modekurthy</surname> <given-names>V. P.</given-names></name> <name><surname>Rahman</surname> <given-names>M.</given-names></name> <name><surname>Saifullah</surname> <given-names>A.</given-names></name></person-group> (<year>2023</year>). <article-title>&#x0201C;Handling coexistence of lora with other networks through embedded reinforcement learning,&#x0201D;</article-title> in <source>Proceedings of the 8th ACM/IEEE Conference on Internet of Things Design and Implementation</source> (<publisher-loc>San Antonio, TX</publisher-loc>), <fpage>410</fpage>&#x02013;<lpage>423</lpage>. doi: <pub-id pub-id-type="doi">10.1145/3576842.3582383</pub-id></mixed-citation>
</ref>
<ref id="B22">
<mixed-citation publication-type="journal"><person-group person-group-type="author"><name><surname>Farahsari</surname> <given-names>P. S.</given-names></name> <name><surname>Farahzadi</surname> <given-names>A.</given-names></name> <name><surname>Rezazadeh</surname> <given-names>J.</given-names></name> <name><surname>Bagheri</surname> <given-names>A.</given-names></name></person-group> (<year>2022</year>). <article-title>A survey on indoor positioning systems for iot-based applications</article-title>. <source>IEEE Internet Things J</source>. <volume>9</volume>, <fpage>7680</fpage>&#x02013;<lpage>7699</lpage>. doi: <pub-id pub-id-type="doi">10.1109/JIOT.2022.3149048</pub-id><pub-id pub-id-type="pmid">38139747</pub-id></mixed-citation></ref>
<ref id="B23">
<mixed-citation publication-type="journal"><person-group person-group-type="author"><name><surname>Farhad</surname> <given-names>A.</given-names></name> <name><surname>Kim</surname> <given-names>D.-H.</given-names></name> <name><surname>Pyun</surname> <given-names>J.-Y.</given-names></name></person-group> (<year>2020b</year>). <article-title>Resource allocation to massive internet of things in lorawans</article-title>. <source>Sensors</source> <volume>20</volume>, <fpage>1</fpage>&#x02013;<lpage>20</lpage>. doi: <pub-id pub-id-type="doi">10.3390/s20092645</pub-id><pub-id pub-id-type="pmid">32384656</pub-id></mixed-citation></ref>
<ref id="B24">
<mixed-citation publication-type="journal"><person-group person-group-type="author"><name><surname>Farhad</surname> <given-names>A.</given-names></name> <name><surname>Kim</surname> <given-names>D.-H.</given-names></name> <name><surname>Pyun</surname> <given-names>J.-Y.</given-names></name></person-group> (<year>2022a</year>). <article-title>R-ARM: retransmission-assisted resource management in lorawan for the internet of things</article-title>. <source>IEEE Internet Things J</source>. <volume>9</volume>, <fpage>7347</fpage>&#x02013;<lpage>7361</lpage>. doi: <pub-id pub-id-type="doi">10.1109/JIOT.2021.3111167</pub-id></mixed-citation>
</ref>
<ref id="B25">
<mixed-citation publication-type="journal"><person-group person-group-type="author"><name><surname>Farhad</surname> <given-names>A.</given-names></name> <name><surname>Kim</surname> <given-names>D.-H.</given-names></name> <name><surname>Subedi</surname> <given-names>S.</given-names></name> <name><surname>Pyun</surname> <given-names>J.-Y.</given-names></name></person-group> (<year>2020c</year>). <article-title>Enhanced lorawan adaptive data rate for mobile internet of things devices</article-title>. <source>Sensors</source> <volume>20</volume>:<fpage>6466</fpage>. doi: <pub-id pub-id-type="doi">10.3390/s20226466</pub-id><pub-id pub-id-type="pmid">33198298</pub-id></mixed-citation></ref>
<ref id="B26">
<mixed-citation publication-type="book"><person-group person-group-type="author"><name><surname>Farhad</surname> <given-names>A.</given-names></name> <name><surname>Kim</surname> <given-names>D.-H.</given-names></name> <name><surname>Yoon</surname> <given-names>J.-S.</given-names></name> <name><surname>Pyun</surname> <given-names>J.-Y.</given-names></name></person-group> (<year>2021</year>). <article-title>&#x0201C;Feasibility study of the lorawan blind adaptive data rate,&#x0201D;</article-title> in <source>Twelfth International Conference on Ubiquitous and Future Networks</source> (<publisher-loc>ICUFN</publisher-loc>: <publisher-name>Jeju Island, Republic of Korea</publisher-name>), <fpage>67</fpage>&#x02013;<lpage>69</lpage>. doi: <pub-id pub-id-type="doi">10.1109/ICUFN49451.2021.9528716</pub-id></mixed-citation>
</ref>
<ref id="B27">
<mixed-citation publication-type="book"><person-group person-group-type="author"><name><surname>Farhad</surname> <given-names>A.</given-names></name> <name><surname>Kim</surname> <given-names>D.-H.</given-names></name> <name><surname>Yoon</surname> <given-names>J.-S.</given-names></name> <name><surname>Pyun</surname> <given-names>J.-Y.</given-names></name></person-group> (<year>2022b</year>). <article-title>&#x0201C;Deep learning-based channel adaptive resource allocation in lorawan,&#x0201D;</article-title> in <source>2022 International Conference on Electronics, Information, and Communication (ICEIC), 06&#x02013;09 February 2022</source> (<publisher-loc>IEEE</publisher-loc>: <publisher-name>Jeju, Republic of Korea</publisher-name>), <fpage>1</fpage>&#x02013;<lpage>5</lpage>. doi: <pub-id pub-id-type="doi">10.1109/ICEIC54506.2022.9748580</pub-id></mixed-citation>
</ref>
<ref id="B28">
<mixed-citation publication-type="journal"><person-group person-group-type="author"><name><surname>Farhad</surname> <given-names>A.</given-names></name> <name><surname>Kim</surname> <given-names>D. H.</given-names></name> <name><surname>Kim</surname> <given-names>B. H.</given-names></name> <name><surname>Mohammed</surname> <given-names>A. F. Y.</given-names></name> <name><surname>Pyun</surname> <given-names>J. Y.</given-names></name></person-group> (<year>2020a</year>). <article-title>Mobility-aware resource assignment to iot applications in long-range wide area networks</article-title>. <source>IEEE Access</source> <volume>8</volume>, <fpage>186111</fpage>&#x02013;<lpage>186124</lpage>. doi: <pub-id pub-id-type="doi">10.1109/ACCESS.2020.3029575</pub-id></mixed-citation>
</ref>
<ref id="B29">
<mixed-citation publication-type="journal"><person-group person-group-type="author"><name><surname>Farhad</surname> <given-names>A.</given-names></name> <name><surname>Pyun</surname> <given-names>J.-Y.</given-names></name></person-group> (<year>2023a</year>). <article-title>AI-ERA: artificial intelligence-empowered resource allocation for lora-enabled iot applications</article-title>. <source>IEEE Trans. Ind. Informatics</source> pages <volume>19</volume>, <fpage>1</fpage>&#x02013;<lpage>13</lpage>. doi: <pub-id pub-id-type="doi">10.1109/TII.2023.3248074</pub-id></mixed-citation>
</ref>
<ref id="B30">
<mixed-citation publication-type="journal"><person-group person-group-type="author"><name><surname>Farhad</surname> <given-names>A.</given-names></name> <name><surname>Pyun</surname> <given-names>J.-Y.</given-names></name></person-group> (<year>2023b</year>). <article-title>Lorawan meets ML: a survey on enhancing performance with machine learning</article-title>. <source>Sensors</source> <volume>23</volume>, <fpage>1</fpage>&#x02013;<lpage>36</lpage>. doi: <pub-id pub-id-type="doi">10.3390/s23156851</pub-id><pub-id pub-id-type="pmid">37571633</pub-id></mixed-citation></ref>
<ref id="B31">
<mixed-citation publication-type="journal"><person-group person-group-type="author"><name><surname>Farhad</surname> <given-names>A.</given-names></name> <name><surname>Pyun</surname> <given-names>J.-Y.</given-names></name></person-group> (<year>2023c</year>). <article-title>Terahertz meets AI: the state of the art</article-title>. <source>Sensors</source> <volume>23</volume>:<fpage>5034</fpage>. doi: <pub-id pub-id-type="doi">10.3390/s23115034</pub-id><pub-id pub-id-type="pmid">37299760</pub-id></mixed-citation></ref>
<ref id="B32">
<mixed-citation publication-type="journal"><person-group person-group-type="author"><name><surname>Garlisi</surname> <given-names>D.</given-names></name> <name><surname>Tinnirello</surname> <given-names>I.</given-names></name> <name><surname>Bianchi</surname> <given-names>G.</given-names></name> <name><surname>Cuomo</surname> <given-names>F.</given-names></name></person-group> (<year>2021</year>). <article-title>Capture aware sequential waterfilling for lorawan adaptive data rate</article-title>. <source>IEEE Trans. Wireless Commun</source>. <volume>20</volume>, <fpage>2019</fpage>&#x02013;<lpage>2033</lpage>. doi: <pub-id pub-id-type="doi">10.1109/TWC.2020.3038638</pub-id></mixed-citation>
</ref>
<ref id="B33">
<mixed-citation publication-type="journal"><person-group person-group-type="author"><name><surname>Garrido-Hidalgo</surname> <given-names>C.</given-names></name> <name><surname>Roda-Sanchez</surname> <given-names>L.</given-names></name> <name><surname>Ram&#x000ED;rez</surname> <given-names>F. J.</given-names></name> <name><surname>Fern&#x000E1;ndez-Caballero</surname> <given-names>A.</given-names></name> <name><surname>Olivares</surname> <given-names>T.</given-names></name></person-group> (<year>2023</year>). <article-title>Efficient online resource allocation in large-scale lorawan networks: a multi-agent approach</article-title>. <source>Comput. Netw</source>. <volume>221</volume>:<fpage>109525</fpage>. doi: <pub-id pub-id-type="doi">10.1016/j.comnet.2022.109525</pub-id></mixed-citation>
</ref>
<ref id="B34">
<mixed-citation publication-type="web"><person-group person-group-type="author"><collab>Gdbranco</collab></person-group>. (<year>2023</year>). <source>NS-3-Based NB-Iot Simulator Module</source>. Available online at: <ext-link ext-link-type="uri" xlink:href="https://github.com/gdbranco/RA5G_NS3">https://github.com/gdbranco/RA5G_NS3</ext-link> (Accessed May 26, 2023).</mixed-citation>
</ref>
<ref id="B35">
<mixed-citation publication-type="journal"><person-group person-group-type="author"><name><surname>Gomez</surname> <given-names>C.</given-names></name> <name><surname>Veras</surname> <given-names>J. C.</given-names></name> <name><surname>Vidal</surname> <given-names>R.</given-names></name> <name><surname>Casals</surname> <given-names>L.</given-names></name> <name><surname>Paradells</surname> <given-names>J.</given-names></name></person-group> (<year>2019</year>). <article-title>A sigfox energy consumption model</article-title>. <source>Sensors</source> <volume>19</volume>:<fpage>681</fpage>. doi: <pub-id pub-id-type="doi">10.3390/s19030681</pub-id><pub-id pub-id-type="pmid">30736457</pub-id></mixed-citation></ref>
<ref id="B36">
<mixed-citation publication-type="journal"><person-group person-group-type="author"><collab>GSMA-3GPP</collab></person-group>. (<year>2016</year>). <source>3GPP Low Power Wide Area Technologies</source>.</mixed-citation>
</ref>
<ref id="B37">
<mixed-citation publication-type="journal"><person-group person-group-type="author"><name><surname>Harinda</surname> <given-names>E.</given-names></name> <name><surname>Wixted</surname> <given-names>A. J.</given-names></name> <name><surname>Qureshi</surname> <given-names>A.-U.-H.</given-names></name> <name><surname>Larijani</surname> <given-names>H.</given-names></name> <name><surname>Gibson</surname> <given-names>R. M.</given-names></name></person-group> (<year>2022</year>). <article-title>Performance of a live multi-gateway lorawan and interference measurement across indoor and outdoor localities</article-title>. <source>Computers</source> <volume>11</volume>:<fpage>25</fpage>. doi: <pub-id pub-id-type="doi">10.3390/computers11020025</pub-id></mixed-citation>
</ref>
<ref id="B38">
<mixed-citation publication-type="book"><person-group person-group-type="author"><name><surname>Hazarika</surname> <given-names>A.</given-names></name> <name><surname>Choudhury</surname> <given-names>N.</given-names></name></person-group> (<year>2024</year>). <article-title>&#x0201C;ISFA: intelligent sf allocation approach for lora-based mobile and static end devices,&#x0201D;</article-title> in <source>2024 IEEE Wireless Communications and Networking Conference (WCNC)</source> (<publisher-loc>IEEE</publisher-loc>: <publisher-name>Dubai, United Arab Emirates</publisher-name>), <fpage>1</fpage>&#x02013;<lpage>6</lpage>. doi: <pub-id pub-id-type="doi">10.1109/WCNC57260.2024.10570655</pub-id></mixed-citation>
</ref>
<ref id="B39">
<mixed-citation publication-type="journal"><person-group person-group-type="author"><name><surname>Kim</surname> <given-names>J.</given-names></name> <name><surname>Kim</surname> <given-names>H.</given-names></name> <name><surname>Kim</surname> <given-names>H.</given-names></name> <name><surname>Lee</surname> <given-names>D.</given-names></name> <name><surname>Yoon</surname> <given-names>S.</given-names></name></person-group> (<year>2025</year>). <article-title>A comprehensive survey of deep learning for time series forecasting: architectural diversity and open challenges</article-title>. <source>Artif. Intell. Rev</source>. <volume>58</volume>, <fpage>1</fpage>&#x02013;<lpage>95</lpage>. doi: <pub-id pub-id-type="doi">10.1007/s10462-025-11223-9</pub-id></mixed-citation>
</ref>
<ref id="B40">
<mixed-citation publication-type="book"><person-group person-group-type="author"><name><surname>Loh</surname> <given-names>F.</given-names></name> <name><surname>Mehling</surname> <given-names>N.</given-names></name> <name><surname>Metzger</surname> <given-names>F.</given-names></name> <name><surname>Ho&#x000DF;feld</surname> <given-names>T.</given-names></name> <name><surname>Hock</surname> <given-names>D.</given-names></name></person-group> (<year>2021</year>). <article-title>&#x0201C;Loraplan: a software to evaluate gateway placement in lorawan,&#x0201D;</article-title> in <source>17th International Conference on Network and Service Management (CNSM), 25&#x02013;29 October 2021</source> (<publisher-loc>IEEE</publisher-loc>: <publisher-name>Izmir, Turkey</publisher-name>), <fpage>385</fpage>&#x02013;<lpage>387</lpage>. doi: <pub-id pub-id-type="doi">10.23919/CNSM52442.2021.9615586</pub-id></mixed-citation>
</ref>
<ref id="B41">
<mixed-citation publication-type="journal"><person-group person-group-type="author"><collab>LoRa</collab></person-group>. (<year>2020</year>). <source>Lorawan <sup>&#x024C7;</sup> Regional Parameters. RP002-1.0.2</source>.</mixed-citation>
</ref>
<ref id="B42">
<mixed-citation publication-type="journal"><person-group person-group-type="author"><name><surname>Magrin</surname> <given-names>D.</given-names></name> <name><surname>Capuzzo</surname> <given-names>M.</given-names></name> <name><surname>Zanella</surname> <given-names>A.</given-names></name> <name><surname>Vangelista</surname> <given-names>L.</given-names></name> <name><surname>Zorzi</surname> <given-names>M.</given-names></name></person-group> (<year>2021</year>). <article-title>Performance analysis of lorawan in industrial scenarios</article-title>. <source>IEEE Trans. Ind. Informatics</source> <volume>17</volume>, <fpage>6241</fpage>&#x02013;<lpage>6250</lpage>. doi: <pub-id pub-id-type="doi">10.1109/TII.2020.3044942</pub-id></mixed-citation>
</ref>
<ref id="B43">
<mixed-citation publication-type="book"><person-group person-group-type="author"><name><surname>Magrin</surname> <given-names>D.</given-names></name> <name><surname>Centenaro</surname> <given-names>M.</given-names></name> <name><surname>Vangelista</surname> <given-names>L.</given-names></name></person-group> (<year>2017</year>). <article-title>&#x0201C;Performance evaluation of lora networks in a smart city scenario,&#x0201D;</article-title> in <source>2017 IEEE International Conference on Communications (ICC), 21&#x02013;25 May 2017</source> (<publisher-loc>IEEE</publisher-loc>: <publisher-name>Paris, France</publisher-name>), <fpage>1</fpage>&#x02013;<lpage>7</lpage>. doi: <pub-id pub-id-type="doi">10.1109/ICC.2017.7996384</pub-id></mixed-citation>
</ref>
<ref id="B44">
<mixed-citation publication-type="journal"><person-group person-group-type="author"><name><surname>Marini</surname> <given-names>R.</given-names></name> <name><surname>Cerroni</surname> <given-names>W.</given-names></name> <name><surname>Buratti</surname> <given-names>C.</given-names></name></person-group> (<year>2021</year>). <article-title>A novel collision-aware adaptive data rate algorithm for lorawan networks</article-title>. <source>IEEE Internet Things J</source>. <volume>8</volume>, <fpage>2670</fpage>&#x02013;<lpage>2680</lpage>. doi: <pub-id pub-id-type="doi">10.1109/JIOT.2020.3020189</pub-id></mixed-citation>
</ref>
<ref id="B45">
<mixed-citation publication-type="journal"><person-group person-group-type="author"><name><surname>Matni</surname> <given-names>N.</given-names></name> <name><surname>Moraes</surname> <given-names>J.</given-names></name> <name><surname>Oliveira</surname> <given-names>H.</given-names></name> <name><surname>Ros&#x000E1;rio</surname> <given-names>D.</given-names></name> <name><surname>Cerqueira</surname> <given-names>E.</given-names></name></person-group> (<year>2020</year>). <article-title>Lorawan gateway placement model for dynamic internet of things scenarios</article-title>. <source>Sensors</source> <volume>20</volume>:<fpage>4336</fpage>. doi: <pub-id pub-id-type="doi">10.3390/s20154336</pub-id><pub-id pub-id-type="pmid">32759657</pub-id></mixed-citation></ref>
<ref id="B46">
<mixed-citation publication-type="journal"><person-group person-group-type="author"><name><surname>Maurya</surname> <given-names>P.</given-names></name> <name><surname>Hazra</surname> <given-names>A.</given-names></name> <name><surname>Kumari</surname> <given-names>P.</given-names></name> <name><surname>S&#x000F8;rensen</surname> <given-names>T. B.</given-names></name> <name><surname>Das</surname> <given-names>S. K.</given-names></name></person-group> (<year>2025</year>). <article-title>A comprehensive survey of data-driven solutions for lorawan: challenges and future directions</article-title>. <source>ACM Trans. Internet Things</source> <volume>6</volume>, <fpage>1</fpage>&#x02013;<lpage>36</lpage>. doi: <pub-id pub-id-type="doi">10.1145/3711953</pub-id></mixed-citation>
</ref>
<ref id="B47">
<mixed-citation publication-type="journal"><person-group person-group-type="author"><name><surname>Mekki</surname> <given-names>K.</given-names></name> <name><surname>Bajic</surname> <given-names>E.</given-names></name> <name><surname>Chaxel</surname> <given-names>F.</given-names></name> <name><surname>Meyer</surname> <given-names>F.</given-names></name></person-group> (<year>2019</year>). <article-title>A comparative study of lpwan technologies for large-scale iot deployment</article-title>. <source>ICT Express</source> <volume>5</volume>, <fpage>1</fpage>&#x02013;<lpage>7</lpage>. doi: <pub-id pub-id-type="doi">10.1016/j.icte.2017.12.005</pub-id></mixed-citation>
</ref>
<ref id="B48">
<mixed-citation publication-type="journal"><person-group person-group-type="author"><name><surname>Minhaj</surname> <given-names>S. U.</given-names></name> <name><surname>Mahmood</surname> <given-names>A.</given-names></name> <name><surname>Abedin</surname> <given-names>S. F.</given-names></name> <name><surname>Hassan</surname> <given-names>S. A.</given-names></name> <name><surname>Bhatti</surname> <given-names>M. T.</given-names></name> <name><surname>Ali</surname> <given-names>S. H.</given-names></name> <etal/></person-group>. (<year>2023</year>). <article-title>Intelligent resource allocation in lorawan using machine learning techniques</article-title>. <source>IEEE Access</source> <volume>11</volume>, <fpage>10092</fpage>&#x02013;<lpage>10106</lpage>. doi: <pub-id pub-id-type="doi">10.1109/ACCESS.2023.3240308</pub-id><pub-id pub-id-type="pmid">37571633</pub-id></mixed-citation></ref>
<ref id="B49">
<mixed-citation publication-type="journal"><person-group person-group-type="author"><name><surname>Moysiadis</surname> <given-names>V.</given-names></name> <name><surname>Lagkas</surname> <given-names>T.</given-names></name> <name><surname>Argyriou</surname> <given-names>V.</given-names></name> <name><surname>Sarigiannidis</surname> <given-names>A.</given-names></name> <name><surname>Moscholios</surname> <given-names>I. D.</given-names></name> <name><surname>Sarigiannidis</surname> <given-names>P.</given-names></name></person-group> (<year>2021</year>). <article-title>Extending ADR mechanism for lora enabled mobile end-devices</article-title>. <source>Simul. Model. Pract. Theory</source> <volume>113</volume>:<fpage>102388</fpage>. doi: <pub-id pub-id-type="doi">10.1016/j.simpat.2021.102388</pub-id></mixed-citation>
</ref>
<ref id="B50">
<mixed-citation publication-type="web"><person-group person-group-type="author"><collab>OrbiWise</collab></person-group>. (<year>2023</year>). <source>Interference Management in LoRaWAN Deployments</source>. Available online at: <ext-link ext-link-type="uri" xlink:href="https://orbiwise.com/news/interference-management-in-lorawan-deployments/">https://orbiwise.com/news/interference-management-in-lorawan-deployments/</ext-link> (Accessed August 9, 2025).</mixed-citation>
</ref>
<ref id="B51">
<mixed-citation publication-type="journal"><person-group person-group-type="author"><name><surname>Park</surname> <given-names>J.</given-names></name> <name><surname>Park</surname> <given-names>K.</given-names></name> <name><surname>Bae</surname> <given-names>H.</given-names></name> <name><surname>Kim</surname> <given-names>C.-K.</given-names></name></person-group> (<year>2020</year>). <article-title>Earn: enhanced ADR with coding rate adaptation in lorawan</article-title>. <source>IEEE Internet Things J</source>. <volume>7</volume>, <fpage>11873</fpage>&#x02013;<lpage>11883</lpage>. doi: <pub-id pub-id-type="doi">10.1109/JIOT.2020.3005881</pub-id></mixed-citation>
</ref>
<ref id="B52">
<mixed-citation publication-type="journal"><person-group person-group-type="author"><name><surname>Pasolini</surname> <given-names>G.</given-names></name></person-group> (<year>2021</year>). <article-title>On the lora chirp spread spectrum modulation. signal properties and their impact on transmitter and receiver architectures</article-title>. <source>IEEE Trans. Wireless Commun</source>. <volume>21</volume>, <fpage>357</fpage>&#x02013;<lpage>369</lpage>. doi: <pub-id pub-id-type="doi">10.1109/TWC.2021.3095667</pub-id></mixed-citation>
</ref>
<ref id="B53">
<mixed-citation publication-type="book"><person-group person-group-type="author"><name><surname>Pop</surname> <given-names>A.-I.</given-names></name> <name><surname>Raza</surname> <given-names>U.</given-names></name> <name><surname>Kulkarni</surname> <given-names>P.</given-names></name> <name><surname>Sooriyabandara</surname> <given-names>M.</given-names></name></person-group> (<year>2017</year>). <article-title>&#x0201C;Does bidirectional traffic do more harm than good in lorawan based lpwa networks?&#x0201D;</article-title> in <source>GLOBECOM 2017-2017 IEEE Global Communications Conference, 04&#x02013;08 December 2017</source> (<publisher-loc>IEEE</publisher-loc>: <publisher-name>Singapore</publisher-name>), <fpage>1</fpage>&#x02013;<lpage>6</lpage>. doi: <pub-id pub-id-type="doi">10.1109/GLOCOM.2017.8254509</pub-id></mixed-citation>
</ref>
<ref id="B54">
<mixed-citation publication-type="book"><person-group person-group-type="author"><name><surname>Reynders</surname> <given-names>B.</given-names></name> <name><surname>Wang</surname> <given-names>Q.</given-names></name> <name><surname>Pollin</surname> <given-names>S.</given-names></name></person-group> (<year>2018</year>). <article-title>&#x0201C;A lorawan module for NS-3: implementation and evaluation,&#x0201D;</article-title> in <source>Proceedings of the 10th Workshop on NS-3</source> (<publisher-loc>Surathkal</publisher-loc>), <fpage>61</fpage>&#x02013;<lpage>68</lpage>. doi: <pub-id pub-id-type="doi">10.1145/3199902.3199913</pub-id></mixed-citation>
</ref>
<ref id="B55">
<mixed-citation publication-type="web"><person-group person-group-type="author"><collab>SAPGAN Team</collab></person-group>. (<year>2023</year>). <source>Blockchain-Based Iot Simulator</source>. Available online at: <ext-link ext-link-type="uri" xlink:href="https://github.com/sapgan/NS3-IoT-Simulator">https://github.com/sapgan/NS3-IoT-Simulator</ext-link> (Accessed May 26, 2023).</mixed-citation>
</ref>
<ref id="B56">
<mixed-citation publication-type="web"><person-group person-group-type="author"><name><surname>Sartori</surname> <given-names>A.</given-names></name></person-group> (<year>2023</year>). Lora simulator (lorasim). Available online at: <ext-link ext-link-type="uri" xlink:href="https://github.com/AlexSartori/LoRaSim">https://github.com/AlexSartori/LoRaSim</ext-link> (Accessed May 3, 2023).</mixed-citation>
</ref>
<ref id="B57">
<mixed-citation publication-type="web"><person-group person-group-type="author"><collab>Semtech</collab></person-group>. (<year>2019a</year>). <source>Lorawan Mobile Applications: Blind ADR</source>. Available online at: <ext-link ext-link-type="uri" xlink:href="https://lora-developers.semtech.com/documentation/tech-papers-and-guides/blind-adr/">https://lora-developers.semtech.com/documentation/tech-papers-and-guides/blind-adr/</ext-link> (Accessed May 31, 2023).</mixed-citation>
</ref>
<ref id="B58">
<mixed-citation publication-type="journal"><person-group person-group-type="author"><collab>Semtech</collab></person-group>. (<year>2019b</year>). <source>Understanding the lora Adaptive Data Rate</source>.</mixed-citation>
</ref>
<ref id="B59">
<mixed-citation publication-type="journal"><person-group person-group-type="author"><name><surname>Singh</surname> <given-names>R. K.</given-names></name> <name><surname>Puluckul</surname> <given-names>P. P.</given-names></name> <name><surname>Berkvens</surname> <given-names>R.</given-names></name> <name><surname>Weyn</surname> <given-names>M.</given-names></name></person-group> (<year>2020</year>). <article-title>Energy consumption analysis of lpwan technologies and lifetime estimation for iot application</article-title>. <source>Sensors</source> <volume>20</volume>:<fpage>4794</fpage>. doi: <pub-id pub-id-type="doi">10.3390/s20174794</pub-id><pub-id pub-id-type="pmid">32854350</pub-id></mixed-citation></ref>
<ref id="B60">
<mixed-citation publication-type="book"><person-group person-group-type="author"><name><surname>Slabicki</surname> <given-names>M.</given-names></name> <name><surname>Premsankar</surname> <given-names>G.</given-names></name> <name><surname>Di Francesco</surname> <given-names>M.</given-names></name></person-group> (<year>2018</year>). <article-title>&#x0201C;Adaptive configuration of lora networks for dense iot deployments,&#x0201D;</article-title> in <source>NOMS 2018-2018 IEEE/IFIP Network Operations and Management Symposium, 23&#x02013;27 April 2018</source> (<publisher-loc>IEEE</publisher-loc>: <publisher-name>Taipei, Taiwan</publisher-name>), <fpage>1</fpage>&#x02013;<lpage>9</lpage>. doi: <pub-id pub-id-type="doi">10.1109/NOMS.2018.8406255</pub-id></mixed-citation>
</ref>
<ref id="B61">
<mixed-citation publication-type="book"><person-group person-group-type="author"><name><surname>Ta</surname> <given-names>D.-T.</given-names></name> <name><surname>Khawam</surname> <given-names>K.</given-names></name> <name><surname>Lahoud</surname> <given-names>S.</given-names></name> <name><surname>Adjih</surname> <given-names>C.</given-names></name> <name><surname>Martin</surname> <given-names>S.</given-names></name></person-group> (<year>2019</year>). <article-title>&#x0201C;Lora-MAB: a flexible simulator for decentralized learning resource allocation in iot networks,&#x0201D;</article-title> in <source>2019 12th IFIP Wireless and Mobile Networking Conference (WMNC)</source> (<publisher-loc>IEEE</publisher-loc>: <publisher-name>Paris, France</publisher-name>), <fpage>55</fpage>&#x02013;<lpage>62</lpage>. doi: <pub-id pub-id-type="doi">10.23919/WMNC.2019.8881393</pub-id></mixed-citation>
</ref>
<ref id="B62">
<mixed-citation publication-type="book"><person-group person-group-type="author"><name><surname>To</surname> <given-names>T.-H.</given-names></name> <name><surname>Duda</surname> <given-names>A.</given-names></name></person-group> (<year>2018</year>). <article-title>&#x0201C;Simulation of lora in NS-3: improving lora performance with CSMA,&#x0201D;</article-title> in <source>IEEE International Conference on Communications (ICC), 20&#x02013;24 May 2018</source> (<publisher-loc>IEEE</publisher-loc>: <publisher-name>Kansas City, MO, USA</publisher-name>), <fpage>1</fpage>&#x02013;<lpage>7</lpage>. doi: <pub-id pub-id-type="doi">10.1109/ICC.2018.8422800</pub-id></mixed-citation>
</ref>
<ref id="B63">
<mixed-citation publication-type="journal"><person-group person-group-type="author"><name><surname>Torres-Sospedra</surname> <given-names>J.</given-names></name> <name><surname>Gaibor</surname> <given-names>D. P. Q.</given-names></name> <name><surname>Nurmi</surname> <given-names>J.</given-names></name> <name><surname>Koucheryavy</surname> <given-names>Y.</given-names></name> <name><surname>Lohan</surname> <given-names>E. S.</given-names></name> <name><surname>Huerta</surname> <given-names>J.</given-names></name></person-group> (<year>2022</year>). <article-title>Scalable and efficient clustering for fingerprint-based positioning</article-title>. <source>IEEE Internet Things J</source>. <volume>10</volume>, <fpage>3484</fpage>&#x02013;<lpage>3499</lpage>. doi: <pub-id pub-id-type="doi">10.1109/JIOT.2022.3230913</pub-id></mixed-citation>
</ref>
<ref id="B64">
<mixed-citation publication-type="journal"><person-group person-group-type="author"><name><surname>Van den Abeele</surname> <given-names>F.</given-names></name> <name><surname>Haxhibeqiri</surname> <given-names>J.</given-names></name> <name><surname>Moerman</surname> <given-names>I.</given-names></name> <name><surname>Hoebeke</surname> <given-names>J.</given-names></name></person-group> (<year>2017</year>). <article-title>Scalability analysis of large-scale lorawan networks in ns-3</article-title>. <source>IEEE Internet Things J</source> <volume>4</volume>, <fpage>2186</fpage>&#x02013;<lpage>2198</lpage>. doi: <pub-id pub-id-type="doi">10.1109/JIOT.2017.2768498</pub-id></mixed-citation>
</ref>
<ref id="B65">
<mixed-citation publication-type="journal"><person-group person-group-type="author"><name><surname>Vangelista</surname> <given-names>L.</given-names></name> <name><surname>Calabrese</surname> <given-names>I.</given-names></name> <name><surname>Cattapan</surname> <given-names>A.</given-names></name></person-group> (<year>2023</year>). <article-title>Mobility classification of lorawan nodes using machine learning at network level</article-title>. <source>Sensors</source> <volume>23</volume>:<fpage>1806</fpage>. doi: <pub-id pub-id-type="doi">10.3390/s23041806</pub-id><pub-id pub-id-type="pmid">36850405</pub-id></mixed-citation></ref>
<ref id="B66">
<mixed-citation publication-type="web"><person-group person-group-type="author"><name><surname>Weyn</surname> <given-names>M.</given-names></name> <collab>Contributors</collab></person-group>. (<year>2023</year>). Sigfox simulator. Available online at: <ext-link ext-link-type="uri" xlink:href="https://github.com/maartenweyn/lpwansimulation">https://github.com/maartenweyn/lpwansimulation</ext-link> (Accessed May 26, 2023).</mixed-citation>
</ref>
<ref id="B67">
<mixed-citation publication-type="journal"><person-group person-group-type="author"><name><surname>Zorbas</surname> <given-names>D.</given-names></name> <name><surname>Abdelfadeel</surname> <given-names>K.</given-names></name> <name><surname>Kotzanikolaou</surname> <given-names>P.</given-names></name> <name><surname>Pesch</surname> <given-names>D.</given-names></name></person-group> (<year>2020</year>). <article-title>Ts-lora: time-slotted lorawan for the industrial internet of things</article-title>. <source>Comput. Commun</source>. <volume>153</volume>, <fpage>1</fpage>&#x02013;<lpage>10</lpage>. doi: <pub-id pub-id-type="doi">10.1016/j.comcom.2020.01.056</pub-id></mixed-citation>
</ref>
<ref id="B68">
<mixed-citation publication-type="journal"><person-group person-group-type="author"><name><surname>Zorbas</surname> <given-names>D.</given-names></name> <name><surname>Caillouet</surname> <given-names>C.</given-names></name> <name><surname>Abdelfadeel Hassan</surname> <given-names>K.</given-names></name> <name><surname>Pesch</surname> <given-names>D.</given-names></name></person-group> (<year>2021</year>). <article-title>Optimal data collection time in lora networks&#x02014;a time-slotted approach</article-title>. <source>Sensors</source> <volume>21</volume>:<fpage>1193</fpage>. doi: <pub-id pub-id-type="doi">10.3390/s21041193</pub-id><pub-id pub-id-type="pmid">33567627</pub-id></mixed-citation></ref>
</ref-list>
<fn-group>
<fn fn-type="custom" custom-type="edited-by" id="fn0001">
<p>Edited by: <ext-link ext-link-type="uri" xlink:href="https://loop.frontiersin.org/people/1933862/overview">Stefano Rinaldi</ext-link>, University of Brescia, Italy</p>
</fn>
<fn fn-type="custom" custom-type="reviewed-by" id="fn0002">
<p>Reviewed by: <ext-link ext-link-type="uri" xlink:href="https://loop.frontiersin.org/people/3149597/overview">Vitor Fialho</ext-link>, Instituto Polit&#x000E9;cnico de Lisboa, Portugal; <ext-link ext-link-type="uri" xlink:href="https://loop.frontiersin.org/people/3158786/overview">Arshad Farhad</ext-link>, Bahria University, Pakistan</p>
</fn>
</fn-group>
</back>
</article>