sandeepmistry / arduino-LoRa

An Arduino library for sending and receiving data using LoRa radios.
MIT License
1.64k stars 627 forks source link

Duty Cycle Limitations #289

Closed manvendra88 closed 4 years ago

manvendra88 commented 4 years ago

Does the duty-cycle limitation apply to any network that uses LoRa? Say, I am using this library in with SX1276 radios to form a network of 10 nodes, should I follow the duty-cycle limitations?

morganrallen commented 4 years ago

I'm unsure what you're asking, this library does not support SX1272 radios, it will fail the initialization version check.

manvendra88 commented 4 years ago

Hi, I am using the Dragino LoRa shield for Arduino which is based on SX1276/SX1278.

My question is if I am setting up a network of 5 such nodes and use this library to send sensor data to one transceiver (keeping in mind all the transmitter and receiver have same PHY config), should i obey the duty-cycle limitations of 1%?

manvendra88 commented 4 years ago

I am sorry, it was a typo, I meant SX1276 all along.

morganrallen commented 4 years ago

Ok that's fine. I still don't quite understand what you're asking. The duty cycle far as I can tell is set by the radio itself, and is limited to 1%.

There are only a few mentions of duty cycle in the datasheet and the only one the user seems to have control over is for the PreambleLength is this what you're referring to? If so, then I think I understand and each receiving should have the same or greater PreambleLength set.

From the datasheet section 4.1.1.6. The receiver undertakes a preamble detection process that periodically restarts. For this reason the preamble length should be configured identical to the transmitter preamble length. Where the preamble length is not known, or can vary, the maximum preamble length should be programmed on the receiver side.

scott2b commented 4 years ago

I’d have to dig into this to be sure but it is my understanding that Semtech only physically enforces the duty cycle when transmitting over a particular tx power level.

UPDATE:

I am reading sections 5.4.2 and 5.4.3 of the datasheet to mean that duty cycle is physically enforced over TX 17dB. Below that, you have to manage duty cycle yourself if you have duty cycle requirements.

Semtech datasheet: https://www.mouser.com/ds/2/761/sx1276-1278113.pdf

Also @manvendra88, regarding your original question: I don't know this for certain -- you will want to do some research for your specific situation -- but as I have understood it, there is not a duty cycle requirement in the US for the LoRa freqency band (915MHz) (I could be wrong about this!). However, the LoRaWan spec does impose a 1% duty cycle (which should only be relevant if you are using LoRaWan). Also, I think it might be the case that there is a duty cycle restriction for LoRa in Europe (operating in the 8-hundred whatever it is that LoRa uses in Europe.) So, "should I follow" ... well, it's complicated. It depends.

morganrallen commented 4 years ago

Right, that's also what I was reading. What I don't get from the datasheet is how to manage it. Is this some physical thing I'm too RF ignorant to understand?

scott2b commented 4 years ago

It is my impression that there is not a direct mechanism for regulating the duty cycle physically, aside from simply broadcasting at 18+ dB. You have to track your air time in software and regulate accordingly. How you do this exactly, I'm not yet sure, but would be interested in knowing if you run across anything.

scott2b commented 4 years ago

Some references that might be useful (have not scrutinized):

https://www.thethingsnetwork.org/forum/t/spreadsheet-for-lora-airtime-calculation/1190

https://www.loratools.nl/#/

I think that second link looks promising. Also semtech covers "time on air" in their design guide: https://www.semtech.com/uploads/documents/LoraDesignGuide_STD.pdf

morganrallen commented 4 years ago

Ah ah ah! I was thinking this was simply the case of being on air, thanks for the clarification.

manvendra88 commented 4 years ago

Thanks for your clarification. As for my country, India, I couldn't find any such regulations (Again, I could be wrong too) if you are not using LoRaWAN.For now, I am not taking care of the ToA (Time on Air) duty-cycle limitations of 1% for a small network that I am establishing with 5 tx and 1 Rx talking over same PHY config.

However, if the number of transmitters using the same PHY Config is more than 10 say, then the throughput would surely drop down drastically because we are using a single channel. Here, if we introduce duty-cycle limitation, we can still have the appreciable throughput.

TheotimeBalaguer commented 4 years ago

Information for European users, ETSI regulations are : Band 1 -> Freq. 868.0-868.6 MHz | Duty cycle 1% | Max ERP 25 mW / 14 dBm Band 2 -> Freq. 868.7-869.2 MHz | Duty cycle 0.1% | Max ERP 25 mW / 14 dBm Band 3 -> Freq. 869.4-869.65 MHz | Duty cycle 10% | Max ERP 500 mW / 27 dBm Band 4 -> Freq. 869.7-870 MHz | Duty cycle 1% | Max ERP 25 mW / 14 dBm

Source : ETSI TR 103 526, Table 12, Page 35

manvendra88 commented 4 years ago

Hi everyone, I am replying after a long while. Since, now working in a LoRaWAN network operator in India (SenRa), i think i should answer about the regulations for anybody who will see through this issue.

India (IN) doesn't have any regulation on the duty-cycle as of yet. However, it is worth noting at this point that, without duty-cycle limitations, a LoRaWAN network with large end-device would for sure have a bad Packet Success Rate (PSR).

Maybe, in the coming time, Indian bands will also be restricted over the duty-cycle.

Thus, as of now, the limitations on Indian ISM bands is solely on the transmission power emitted and i.e, EIRP<30 dBm.

Thank you very much everyone for your time to read and help me solve the issue.

Cheers!