wikiroute

networking recipes

User Tools

Site Tools


exploring_lora

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
exploring_lora [2018/10/10 08:39] – [1.3. Installation] samerexploring_lora [2021/10/20 12:52] (current) – [4.2 Collisions and Packet Delivery Ratio] samer
Line 9: Line 9:
 </WRAP> </WRAP>
  
-===== -Setting the Lab =====+===== - Setting the Lab =====
  
-==== -Hardware Platform ====+==== - Hardware Platform ====
  
 In order to design and implement experiments with LoRa, you will use the following devices:   In order to design and implement experiments with LoRa, you will use the following devices:  
Line 24: Line 24:
   * Give an estimated cost of your devices.   * Give an estimated cost of your devices.
 </WRAP> </WRAP>
-==== -Software Tools ====+==== - Software Tools ====
  
 Download the following software on your PC: Download the following software on your PC:
Line 31: Line 31:
  
 Unzip the RadioHead library and copy it to your sketchbook library folder as detailed in [[https://www.arduino.cc/en/Guide/Libraries]]. Unzip the RadioHead library and copy it to your sketchbook library folder as detailed in [[https://www.arduino.cc/en/Guide/Libraries]].
-==== -Installation ====+ 
 +<WRAP center round tip 75%> 
 +Make sure to restart your computer after the installation of Arduino IDE and run the software as administrator. 
 +</WRAP> 
 + 
 + 
 +==== - Installation ====
  
 Start by plugging the Dragino shields on the Arduino devices and mounting the antennas as shown in Fig. 1. Start by plugging the Dragino shields on the Arduino devices and mounting the antennas as shown in Fig. 1.
Line 42: Line 48:
  
 <WRAP center round tip 75%> <WRAP center round tip 75%>
-For Arduino Mega 2560, additional drivers for Microsoft Windows 7 or 8 can be installed from [[http://wch.cn/download/CH341SER_ZIP.html]].+For Arduino Mega 2560, additional drivers for Microsoft Windows can be installed from [[http://wch.cn/download/CH341SER_ZIP.html]].
 For Arduino Duemilanove, additional drivers can be installed from  For Arduino Duemilanove, additional drivers can be installed from 
 [[https://www.ftdichip.com/Drivers/CDM/CDM21228_Setup.zip]] [[https://www.ftdichip.com/Drivers/CDM/CDM21228_Setup.zip]]
  
 </WRAP> </WRAP>
-===== -Theoretical Study =====+===== - Theoretical Study =====
  
 In this section, you will perform a theoretical assessment of the performance of LoRa modulation. You will later compare this theoretical results to the experimental ones as in a typical scientific study.   In this section, you will perform a theoretical assessment of the performance of LoRa modulation. You will later compare this theoretical results to the experimental ones as in a typical scientific study.  
Line 63: Line 69:
  
 In the remainder of this lab, you will conduct measurements to validate the obtained theoretical receiver sensitivity. In the remainder of this lab, you will conduct measurements to validate the obtained theoretical receiver sensitivity.
-===== -Configuring and Running the Lab =====+===== - Configuring and Running the Lab =====
  
-==== -Modifying the Radio Parameters ====+==== - Modifying the Radio Parameters ====
  
-Download the {{ :sketch-1819.zip | basic sketches}} that implement a simple LoRa communication between two devices: a client and a server. Open the sketches with Arduino IDE. Make sure to choose the correct ''Board'' and ''Port'' in the ''Tools'' menu. +Download the {{ :sketch-1819.zip | basic sketches}} that implement a simple LoRa communication between two devices: a client and a server. Open the sketches with Arduino IDE (it is preferable to run Arduino IDE as administrator). Make sure to choose the correct ''Board'' and ''Port'' in the ''Tools'' menu. 
  
 Take a look at the source code in ''rf95_client.ino'' and ''rf95_server.ino''. Particularly, the following extract from the ''setup'' function configures the radio parameters of your LoRa devices: Take a look at the source code in ''rf95_client.ino'' and ''rf95_server.ino''. Particularly, the following extract from the ''setup'' function configures the radio parameters of your LoRa devices:
Line 108: Line 114:
 |       11            868.7      | |       11            868.7      |
 |       12            868.9      | |       12            868.9      |
-==== -Running Basic Sketches ====+==== - Running Basic Sketches ====
  
 Now you can compile and upload the client and server sketches on the two arduino devices, respectively. On the serial interfaces, you should obtain similar results as in Fig. 2 and Fig. 3. The client sends periodically a short packet towards the server. The server outputs the RSSI (received power in dBm) for each received packet. Now you can compile and upload the client and server sketches on the two arduino devices, respectively. On the serial interfaces, you should obtain similar results as in Fig. 2 and Fig. 3. The client sends periodically a short packet towards the server. The server outputs the RSSI (received power in dBm) for each received packet.
Line 114: Line 120:
 [{{ :client-iotlab1.png?direct&600 ||Figure 2. Client serial monitor}}] [{{ :client-iotlab1.png?direct&600 ||Figure 2. Client serial monitor}}]
 [{{ :server-iotlab1.png?direct&600 ||Figure 3. Server serial monitor}}] [{{ :server-iotlab1.png?direct&600 ||Figure 3. Server serial monitor}}]
-===== -Performance Evaluation =====+===== - Performance Evaluation =====
 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://www.gnuplot.info | gnuplot]], [[https://matplotlib.org/index.html#|matplotlib]] with Python, and MATLAB. Take some time to become familiar with one of these software as you will be required to use them in different occasions of your academic programme. 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://www.gnuplot.info | gnuplot]], [[https://matplotlib.org/index.html#|matplotlib]] with Python, and MATLAB. Take some time to become familiar with one of these software as you will be required to use them in different occasions of your academic programme.
  
 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://www.data-to-viz.com]]. 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://www.data-to-viz.com]].
-==== -Time on Air ====+==== - Time on Air ====
  
 In this section, you will measure the Time on Air (ToA) that is given by the time necessary to transmit a packet on the radio interface. You will assess the impact of the spreading factor, bandwidth, coding rate, and packet size on the ToA. In this section, you will measure the Time on Air (ToA) that is given by the time necessary to transmit a packet on the radio interface. You will assess the impact of the spreading factor, bandwidth, coding rate, and packet size on the ToA.
Line 125: Line 131:
  
 For example, the scenario for assessing the impact of the spreading factor on the ToA consists of sending 100 packets for three different spreading factors //e.g.,// 7, 9, and 10, and drawing the average ToA or the distribution in a boxplot for comparing the results. For example, the scenario for assessing the impact of the spreading factor on the ToA consists of sending 100 packets for three different spreading factors //e.g.,// 7, 9, and 10, and drawing the average ToA or the distribution in a boxplot for comparing the results.
 +
 +As for the theoretical computation of the ToA, you can refer to the the following documents : 
 +
 +  * The Semtech {{ :ds_sx1276-7-8-9_w_app_v5.pdf |specification}} (section 4.1.1.6) 
 +  * An explanatory video: https://www.youtube.com/watch?v=C_Rh5GSENA4 
 +  * Various calculation tools available online: https://www.loratools.nl/#/airtime, [[https://docs.google.com/spreadsheets/d/1voGAtQAjC1qBmaVuP1ApNKs1ekgUjavHuVQIXyYSvNc/edit?usp=sharing |Spreadsheet]]
 +
 +Note that all messages sent and received by the [[https://www.airspayce.com/mikem/arduino/RadioHead/classRH__RF95.html| RH_RF95 RadioHead]] driver we are using conform to this packet format:
 +
 +  * 8 symbol PREAMBLE
 +  * Explicit header with header CRC (handled internally by the radio)
 +  * 4 octets HEADER: (TO, FROM, ID, FLAGS)
 +  * 0 to 251 octets DATA
 +  * CRC (handled internally by the radio)
  
 <WRAP center round help 100%> <WRAP center round help 100%>
Line 132: Line 152:
   * Analyze the obtained results and compare with the theoretical computations. You can superpose the theoretical results and the experimental ones on the same graph.   * Analyze the obtained results and compare with the theoretical computations. You can superpose the theoretical results and the experimental ones on the same graph.
 </WRAP> </WRAP>
-==== -. Coverage ====+==== - Collisions and Packet Delivery Ratio ====
  
-In this section, you will measure the coverage of LoRa under different radio configurations.+In this section, you will compute the impact of the packet arrival rate on the collision rate and consequently the Packet Delivery Ratio (PDR).
  
-Start by identifying a set of five geographical locations or Test Points (TP). These TPs should be astutely chosen to explore the limits of LoRa coverage. Then, you should implement function on the server that measures the ratio of successfully delivered packets or PDR (Packet Delivery Ratio). Now, you should run the experiment for three different radio configurations: such configurations should provide different reliability levels (high, medium, and low reliability)+Let us consider an ALOHA model for the random access in LoRaWAN network.
  
 <WRAP center round help 100%> <WRAP center round help 100%>
-  * Draw the test points on map and motivate your choices. +  * What are the advantages of random access in a wireless IoT context? What are the shortcomings?
-  * Describe the radio configurations you selected and their impact on the reliability of the transmission.   +
-  * Visualise the experimental results by plotting the PDR for each TP and each radio configuration.  +
-  * Analyze the obtained results.+
 </WRAP> </WRAP>
-==== -. [Classroom activity] Collisions and Packet Delivery Ratio ==== 
  
-In this section, you will measure the impact of the packet arrival rate on the collision rate and consequently the PDR.+Suppose that the packet length is 50 bytes.
  
-The setting for this experiment is unique: +<WRAP center round help 100%> 
-  * Only one server is required in the classroomThis server should compute the ratio of successfully delivered packets or PDR. +  * What is the maximum packet generation rate for each spreading factor (SF7 to SF12)? Explain your answer. 
-  * All groups are required to use the same frequency, spreading factor, and coding rate. +</WRAP> 
-  * The average packet arrival rate is equal for all clients. The delay between two packets is drawn uniformly in a predefined interval.+ 
 +In the following we consider N devices transmitting 50 bytes packets using SF7. The packet generation rate is assumed to be equal to the maximum possible rate given the duty cycle limitation.
  
 <WRAP center round help 100%> <WRAP center round help 100%>
-  * Draw the PDR as a function of the average arrival rateAnalyze your results.  +  * Compute the number of successful transmissions per hour for 50, 100, and 200 devices respectively. Comment the obtained results. 
-  * What type of mathematical model enables to theoretically compute the PDR? Verify the obtained results.+  * Plot the number of successful transmissions per hour as a function of the number of devices for SF7 and SF12Analyse the obtained figure and attach the simulation code. 
 +  * Plot the packet delivery ratio as a function of the number of devices for different SFs. Give the details of your computation and the simulation code
 +  * Plot the number of successful transmissions per hour per device as a function of the number of generated packets per hour per device for 20 and for 100 devices. Note well the duty cycle limitation.
 </WRAP> </WRAP>
-===== -Coverage Challenge =====+===== - Coverage Challenge =====
  
-In this section, you are required to establish a record of LoRa coverage. You can certainly unleash your scientific imagination, but some rules must be followed to validate the record:+Start by identifying a set of three geographical locations or Test Points (TP). These TPs should be astutely chosen to explore the limits of LoRa coverage. Then, you should implement a function on the server that measures the ratio of successfully delivered packets or PDR (Packet Delivery Ratio). Now, you should run the experiment for three different radio configurations: such configurations should provide different reliability levels (high, medium, and low reliability).  
 + 
 +<WRAP center round help 100%> 
 +  * Draw the test points on a map and motivate your choices. 
 +  * Describe the radio configurations you selected and their impact on the reliability of the transmission.   
 +  * Visualise the experimental results by plotting the PDR for each TP and each radio configuration.  
 +  * Analyze the obtained results. 
 +</WRAP> 
 + 
 +You are now required to establish a record of LoRa coverage. You can certainly unleash your scientific imagination, but some rules must be followed to validate the record:
  
   * Direct transmission between the two devices is only considered.   * Direct transmission between the two devices is only considered.
-  * 3D distance is computed between devices. +  * 3D distance is computed between devices [[http://www.radiofresnel.com/ | radiofresnel]]
-  * PDR must be higher than 10% as computed for 100 packets.  +  * PDR must be higher than 10% as computed for 100 packets.  
 +  * Supporting live video and screen capture should be used to authenticate the record.   
 + 
 +You can use [[https://cloudrf.com/ | Cloud RF]] or [[http://radiomobile.pe1mew.nl/index.php?Welcome... | Radio Mobile]] online service to obtain information on the elevation, Fresnel zone [[http://www.radiofresnel.com/ | radiofresnel]], and estimated path loss. 
  
 <WRAP center round help 100%> <WRAP center round help 100%>
-  * Compute the Fresnel zone for your transmission. +  * Compute the Fresnel zone for your transmission. Comment the result
-  * Provide the expression of the link budget and compute the received power using two different pathloss models. +  * Provide the expression of the link budget and compute the received power using two different path loss models (ITM, Line of sight) with Cloud RF
-  * Compare the received power obtained experimentally with the theoretical results. +  * Compare the received power obtained experimentally with the results of the online simulators
-  * Prepare a short presentation to describe your experiment.+  * Prepare a short presentation (5 minutes pitch) to describe your experiment.
 </WRAP> </WRAP>
  
Line 175: Line 206:
 This challenge and the corresponding grading is considered as a part of the final project. This challenge and the corresponding grading is considered as a part of the final project.
 </WRAP> </WRAP>
-===== -Grading =====+===== - Grading =====
  
 |                                         ^ Exemplary                                                                                                                                                                                  ^ Accomplished                                                                                                                                                      ^ Developing                                                                                                                                                  ^ Beginning                                                                                                                                                   ^ |                                         ^ Exemplary                                                                                                                                                                                  ^ Accomplished                                                                                                                                                      ^ Developing                                                                                                                                                  ^ Beginning                                                                                                                                                   ^
exploring_lora.1539153560.txt.gz · Last modified: 2018/10/10 08:39 by samer