4.2. Unconfirmed Transmission
Initially, we aim to model the average current consumption of an LR-FHSS ED in the unconfirmed mode, denoted
. To this end, we first identify and characterize the different states the ED goes through to perform an unconfirmed transmission in terms of the duration and current consumption for each state. To create a realistic model of the ED’s behavior, we carry out measurements using the experimental scenario presented in
Section 4.1. The measurements are performed only on the radio module of the ED. This is because our ED hardware platform comprises components (e.g., LEDs, communication interfaces, etc.) that are useful for development but unnecessarily increase energy consumption compared with that of a production-environment ED.
We assume that the LoRaWAN ED transmits data units periodically; therefore, we model its current consumption over one period. Each period includes the transmission of a frame (along with the necessary related LoRaWAN protocol procedures), with the device remaining in a sleep state otherwise.
An unconfirmed transmission comprises one uplink frame transmission and two subsequent receive windows. Recall that LR-FHSS is only used in uplink transmission; therefore, downlink traffic employs LoRa PHY.
Figure 6 shows a power analyzer capture of the complete procedure for the transmission of an unconfirmed data unit using DR8 with a PHYPayload size of 17 bytes (i.e., 4 bytes of FRM Payload size). We next identify and characterize each state involved in the transmission procedure (labeled with a tag composed of a number and a letter).
Details for every state depicted in
Figure 6 are shown in
Table 4. These states correspond to different operations of the radio interface. We measured the duration and current consumption of each state for several individual transmission processes, and the differences we found were negligible.
The actual frame transmission happens in state 1, whereas the first and the second receive windows correspond to states 3 and 5, respectively. States 1a, 3a, and 5a are the initial states whereby the radio module is preparing for the subsequent main state. States 1b, 3b, and 5b, on the other hand, correspond to the post-operational stages, during which the radio module transitions to the sleep state. The radio interface remains in sleep mode in states 2, 4, and 6. Moreover, taking a closer look at state 1, we observe the impact of the LR-FHSS frequency channel hops (i.e., physical carrier hops) on current consumption.
Figure 7 shows an expanded view of one such frequency hop. Each hop implies a brief and smooth drop in current consumption.
The average current consumption in the unconfirmed mode,
, is modeled in Equation (
1).
denotes the period between two consecutive transmissions.
and
represent the duration and current consumption, respectively, of a specific state
j in
Table 4. Note that frequency channel hops are encompassed in state 1.
Then, the duration of the sleep interval,
, which depends on several variables like
, is shown in Equation (
2).
where
represents the sum of all non-sleep-state durations of the states involved in the transmission of a frame (see Equation (
3)).
The total transmission time of a frame,
, depends on the time needed to transmit the physical header replicas, the physical layer payload, and the total time of the frequency channel hops performed during such header and payload transmission, denoted
,
, and
, respectively, as expressed in Equation (
4).
The duration of the header transmission,
, can be obtained as defined in Equation (
5) [
28].
N indicates the number of times that the header is transmitted, the values of which are listed in
Table 5. Note that the CR value refers to the coding rate used for the payload transmission, not for the header transmission. For the latter, CR is always defined as
.
can be calculated as expressed in Equation (
6).
and
M denote the PHYPayload size and the fragment size, respectively, with both being measured in bytes. The possible values for
M are shown in
Table 5. Note that other works based on the expressions listed in Table 108 of the Regional Parameters v1.0.4 specification [
28] provide a different equation for
(see
Appendix A), which we found is not accurate. We encountered inconsistencies between the measured values and the theoretical calculations predicted in the expressions provided in the current version of the specification [
28]. Following discussions with members of the LoRa Alliance, we provide the correct equation for
as Equation (
6). We need to take into account that the total amount of bytes to be transmitted in order to send the PHYPayload is
+ 2 + 6/8, since in addition to
, the 2-byte CRC and 6 bits of Trellis termination also need to be sent. FEC uses a convolutional encoding, so to help the decoder, six zeros are pushed in the encoder at the end of the packet.
denotes the duration of a frequency channel hop, referred to as state 1’ in
Table 4. To compute the amount of time that the ED spends hopping between channels, we have to first calculate the total number of said hops for a single uplink transmission, denoted as
and calculated using Equation (
7). Again, this depends on the CR that is used in the transmission of the payload. Note that for a given uplink transmission there will be one frequency channel hop after each header transmitted and one channel hop after each fragment transmission (except for the last one).
Finally, the actual duration of the total frequency channel hopping time for an uplink frame,
, can be calculated as in Equation (
8).
We next determine . After transmission of the uplink frame, the NS can transmit a downlink frame to the ED: either a data frame or an acknowledgment (ACK). The downlink frame is intended to be received in one of the two receive windows. Even if the uplink transmission is performed with LR-FHSS, downlink transmission will use the LoRa modulation. A receive window must be at least as long as the physical layer preamble of the downlink transmission to ensure the ED can detect the incoming downlink frames. The preamble consists of eight symbols for DR0 and DR1 and twelve symbols for the rest of the LoRa DRs (i.e., DR3, DR4, and DR5); the symbols are denoted as . When using LR-FHSS, the DR for Rx1 is DR1 for uplink frames transmitted with DR8 or DR10, whereas it is DR2 for uplink frames sent with DR9 or DR11. By default, the DR for Rx2 is fixed to DR0.
Rx1 will always be opened by the ED regardless of the communication mode (i.e., unconfirmed or confirmed). We calculate
using Equation (
9).
Following the LoRa specification [
34], Equation (
10) models the duration of a symbol,
, in the first receive window.
However, we have observed that there is a discrepancy between the calculations using Equation (
9) and the values measured in our testbed (cf.
Figure 6). Specifically, we measured a shorter value in our scenario, as the device waits for six symbols before closing Rx1. Therefore, we can use Equation (
9) to calculate the duration of the receive windows, but by using
= 6. In Rx2, the ED might be utilizing channel activity detection (CAD), which is a power-saving technique that shortens the duration of the second receive window when no incoming frame is being detected in that window [
35]. Then,
denotes the duration of Rx2 and is calculated using Equation (
11).
To complete the whole set of experiments,
Table 6 depicts the values missing from
Table 4, which were computed via the given equations or measured depending on the DR and FRM Payload size. For DR0 and DR5, values were extracted or derived from [
20]. We found that
accounts for approximately 0.2%, on average, of the total transmission time.
We can now utilize
to calculate the lifetime of a battery-operated LR-FHSS ED that periodically performs unconfirmed transmissions. This performance parameter is essential, as it gives an approximation of the amount of time that a battery-operated LR-FHSS device may function without requiring the recharging or replacing of its battery. Equation (
12) shows how
depends on the battery capacity,
, expressed in mAh, and on
, expressed in mA.
Finally, we can also calculate the energy cost of data transmission per bit,
, which refers to the amount of energy consumed by an LR-FHSS ED to transmit one bit of application data, as shown in Equation (
13).
V and
respectively denote the supply voltage and the application-layer protocol data unit (i.e., the FRM Payload size).
4.3. Confirmed Transmission
In contrast to unconfirmed uplink transmission, in confirmed uplink transmission, the NS informs the ED via a confirmation downlink frame that the uplink frame was successfully received. In this section, we model the current consumption of the ED when it performs a confirmed uplink transmission.
In a confirmed transmission, the ACK can be sent in the first window (see
Figure 8) or in the second one (
Figure 9) with probabilities of
and
, respectively. Equation (
14) models the average current consumption of an ED performing confirmed transmissions periodically,
, where
and
indicate the average current consumptions that correspond to receiving the downlink frame in the first and second receive windows, respectively. For the purpose of the model, we consider that the probability of receiving an ACK in the first or in the second receive window is
.
Figure 8 illustrates the case where the ACK is received in the first receive window, eliminating the need for the second receive window. This reduction in the number of states consequently leads to lower energy consumption. Specifically, compared with unconfirmed transmission, states 4, 5a, 5, and 5b from
Table 4 are removed, and
is variable depending on the DR and payload length used. To calculate
, we use Equation (
1), considering the states applicable to a confirmed transmission, the
value that corresponds to the DR used for the uplink transmission, as shown in
Table 7, and that an ACK has no FRM Payload.
If the ACK is received in the second receive window, the duration of the latter is extended, as depicted in
Figure 9. Therefore,
will change to a value that depends on the DR used. Typically, the data rate used for this window is the most robust one (i.e., DR0). From our measurements,
ms. Therefore,
is equal to
, obtained as in Equation (
1) except for this specific
value. Current consumption in the first receive window is higher when the ACK is received in it, but it is lower on average for the whole transmission process because the second receive window is eliminated, as opposed to unconfirmed uplink transmissions. Therefore, the current consumption increases when the ACK is received in the second receive window due to the contribution of both receive windows, including the first receive window and its already large duration (by default, it is configured to DR0).
After determining
, let
denote the lifetime of a battery-operated LR-FHSS ED performing confirmed transmissions periodically.
can be calculated as shown in Equation (
15).
Finally, the energy cost of transmitting each user data bit for confirmed uplink frames,
, is modeled in Equation (
16).