exploring_lora
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revisionNext revisionBoth sides next revision | ||
exploring_lora [2018/09/29 12:51] – [3.1. Modifying the Radio Parameters] samer | exploring_lora [2018/09/29 15:35] – [4.3. Coverage] samer | ||
---|---|---|---|
Line 2: | Line 2: | ||
As defined by Semtech, [[http:// | As defined by Semtech, [[http:// | ||
- | In this lab, you will implement a prototype of LoRa communication between two wireless | + | In this lab, you will implement a prototype of LoRa communication between two wireless |
<WRAP center round help 100%> | <WRAP center round help 100%> | ||
Line 57: | Line 57: | ||
* What is the relation between processing gain and spreading factor in LoRa modulation? Explain. | * What is the relation between processing gain and spreading factor in LoRa modulation? Explain. | ||
* How does the spreading factor impact the coverage of a LoRa transmitter? | * How does the spreading factor impact the coverage of a LoRa transmitter? | ||
- | * For each of the three possible configurations of your LoRa module, what is the transmission bit rate? Explain your computation. | + | * For each of the three possible configurations of your LoRa device, what is the transmission bit rate? Explain your computation. |
* Compute the receiver sensitivity, | * Compute the receiver sensitivity, | ||
* Compare the computed sensitivity to that provided by the {{ : | * Compare the computed sensitivity to that provided by the {{ : | ||
Line 67: | Line 67: | ||
==== -. Modifying the Radio Parameters ==== | ==== -. Modifying the Radio Parameters ==== | ||
- | Download the {{ : | + | Download the {{ : |
+ | |||
+ | Take a look at the source code in '' | ||
+ | |||
+ | * Central frequency (freq) | ||
+ | * Spreading Factor (SF) | ||
+ | * Bandwidth (Bw) | ||
+ | * Coding Rate (CR) | ||
+ | * Transmit power (Pow) | ||
+ | |||
+ | <code c++> | ||
+ | rf95.setFrequency(frequency); | ||
+ | // Setup Power,dBm | ||
+ | rf95.setTxPower(13); | ||
+ | |||
+ | // Setup Spreading Factor (6 ~ 12) | ||
+ | rf95.setSpreadingFactor(7); | ||
+ | |||
+ | // Setup BandWidth, option: 7800, | ||
+ | //Lower BandWidth for longer distance. | ||
+ | rf95.setSignalBandwidth(125000); | ||
+ | |||
+ | // Setup Coding Rate: | ||
+ | rf95.setCodingRate4(5); | ||
+ | </ | ||
+ | |||
+ | In order to reduce collisions, configure the central frequency of your LoRa devices | ||
^ Group Number | ^ Group Number | ||
Line 83: | Line 109: | ||
| | | | ||
- | Note that the radio parameters of your LoRa devices: Spreading Factor (SF), Bandwidth (Bw), and Coding Rate (CR) are configured in the '' | ||
==== -. Running Basic Sketches ==== | ==== -. Running Basic Sketches ==== | ||
- | Now you can compile and upload the client and server sketches on the two arduino | + | Now you can compile and upload the client and server sketches on the two arduino |
[{{ : | [{{ : | ||
Line 93: | Line 118: | ||
In the following, you will design and implement a set of scenarios that enable to evaluate the performance of the LoRa modulation. As you will deal with scientific assessment, you are required to use scientific tools to show the results. You have the choice between [[http:// | In the following, you will design and implement a set of scenarios that enable to evaluate the performance of the LoRa modulation. As you will deal with scientific assessment, you are required to use scientific tools to show the results. You have the choice between [[http:// | ||
+ | As we are in presence of variable radio conditions, some experiments should be repeated multiple times and results can be shown as probability distributions. Take a look at this excellent repository of data visualisation tools [[https:// | ||
==== -. Time on Air ==== | ==== -. Time on Air ==== | ||
- | In this section, you will measure the Time on Air (ToA) under the three different radio configurations and for different message sizes. The ToA is the time necessary to send a message on the radio interface. | + | In this section, you will measure the Time on Air (ToA) as given by the time necessary to transmit |
- | For this, you can start by implementing a function on the client that measures the time necessary for sending a message. For example, you can use the [[https:// | + | For this, you will start by implementing a function on the client that measures the time necessary for sending a message. For example, you can use the [[https:// |
<WRAP center round help 100%> | <WRAP center round help 100%> | ||
- | * Join commented extracts of your code and explain your approach for computing the ToA. | + | |
- | * Draw a box plot of the ToA under the three different radio configurations and for three different | + | |
- | * Analyze the obtained results and compare with the theoretical computations. You can superpose the theoretical results and the practical | + | * Visualise the experimental results by plotting the ToA as a function of each one of the different |
+ | * Analyze the obtained results and compare with the theoretical computations. You can superpose the theoretical results and the experimental | ||
</ | </ | ||
- | ==== -. Packet Delivery Ratio ==== | ||
- | In this section, you will measure the Packet | + | ==== -. [Classroom activity] Collisions and Packet Delivery Ratio ==== |
+ | |||
+ | In this section, you will measure the Packet | ||
- | Only for this test, all groups are required to use the same frequency (for example 868.10 MHz). | + | You will start by implementing a function on the server that measures the ratio of successfully delivered packets. |
+ | |||
<WRAP center round help 100%> | <WRAP center round help 100%> | ||
Line 117: | Line 146: | ||
==== -. Coverage ==== | ==== -. Coverage ==== | ||
+ | In this section, you will measure the coverage of LoRa under the three different radio configurations. Such configurations should ensure different reliability levels. | ||
- | In this section, you will measure the coverage of LoRa modules under the three different radio configurations. For this, you can start by identifying a set of Test Points (TP) on the campus. Then, you should implement a function that sends packets with different radio configurations. Note that the following functions in the Arduino sketch enable to modify //on the fly// the LoRa parameters: | + | For this, you will start by identifying a set of Test Points (TP). Then, you should implement a function that sends packets with different radio configurations. Note that the following functions in the Arduino sketch enable to modify //on the fly// the LoRa parameters: |
<code c++> | <code c++> |
exploring_lora.txt · Last modified: 2021/10/20 12:52 by samer