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
Next revisionBoth sides next revision
exploring_lora [2018/09/29 17:29] – [4.2. Coverage] samerexploring_lora [2018/09/30 10:28] – [3.1. Modifying the Radio Parameters] samer
Line 71: Line 71:
 Take a look at the source code in ''rf95_client.ino'' and ''rf95_server.ino''. Particularly, 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 ''setup'' function configures the radio parameters of your LoRa devices:
    
-  * Central frequency (freq) +  * Central frequency 
-  * Spreading Factor (SF) +  * Spreading Factor 
-  * Bandwidth (Bw) +  * Bandwidth 
-  * Coding Rate (CR)  +  * Coding Rate  
-  * Transmit power (Pow)+  * Transmit power
  
 <code c++> <code c++>
Line 121: Line 121:
 ==== -. Time on Air ==== ==== -. Time on Air ====
  
-In this section, you will measure the Time on Air (ToA) as given by the time necessary to transmit a message on the radio interface. You will assess the impact of the spreading factor, bandwidth, coding rate, and the message 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 message on the radio interface . You will assess the impact of the spreading factor, bandwidth, coding rate, and message size on the ToA.
  
-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://www.arduino.cc/en/Reference/Micros| micros()]] function available in the arduino libraries. Now, you can modify one of the parameters (spreading factor, bandwidth, coding rate, message size) and record the impact on the ToA. Note well that you may need to repeat the experiment in order to obtain the statistical distributions.+Start by implementing a function on the client that measures the time necessary for sending a message. For example, you can use the [[https://www.arduino.cc/en/Reference/Micros| micros()]] function available in the arduino libraries. Now, you can modify one of the parameters (spreading factor, bandwidth, coding rate, message size) and record the impact on the ToA. Note well that you may need to repeat the experiment multiple times in order to obtain the statistical distribution.
  
 <WRAP center round help 100%> <WRAP center round help 100%>
Line 131: Line 131:
   * 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 ==== ==== -. Coverage ====
  
 In this section, you will measure the coverage of LoRa under different radio configurations. In this section, you will measure the coverage of LoRa under different radio configurations.
  
-For this, you will start by identifying a set of 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 for three different radio configurations. Such configurations should ensure different reliability levels. +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. Thenyou should implement a function on the server that measures the ratio of successfully delivered packets or PDR. Now, you should run the experiment for three different radio configurations: such configurations should ensure different reliability levels (high, medium, and low reliability)
  
 <WRAP center round help 100%> <WRAP center round help 100%>
   * Draw the test points on a map and motivate your choices.   * 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.    * Visualise the experimental results by plotting the PDR for each TP and each radio configuration. 
   * Analyze the obtained results.   * Analyze the obtained results.
Line 145: Line 145:
 ==== -. [Classroom activity] Collisions and Packet Delivery Ratio ==== ==== -. [Classroom activity] Collisions and Packet Delivery Ratio ====
  
-In this section, you will measure the impact of collisions on the network throughput under different transmission periods.+In this section, you will measure the impact of the packet arrival rate on the collision rate and consequently the PDR.
  
 The setting for this experiment is unique: The setting for this experiment is unique:
Line 151: Line 151:
   * Only one server is required in the classroom. This server should compute the ratio of successfully delivered packets or PDR.   * Only one server is required in the classroom. This server should compute the ratio of successfully delivered packets or PDR.
   * All groups are required to use the same frequency, spreading factor, and coding rate.   * All groups are required to use the same frequency, spreading factor, and coding rate.
 +  * On each client, packets will be generated following a Poisson process with the same average arrival rate for all groups. 
  
 <WRAP center round help 100%> <WRAP center round help 100%>
-  * Draw the PER as a function of the transmission period. Analyze your results.  +  * Draw the PDR as a function of the average arrival rate. Analyze your results.  
-  * What type of mathematical models enables to theoretically compute the PER?+  * What type of mathematical model enables to theoretically compute the PDRVerify the obtained results.
 </WRAP> </WRAP>
- 
 ===== -. Coverage Challenge ===== ===== -. Coverage Challenge =====
  
-In this section, you will study the properties of the radio channel as used by the LoRa technologyFor this, you should obtain a large set of RSSI values for different distances, preferably in a free space setting.  +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: 
 + 
 +  * Direct transmission between the two devices is only considered. 
 +  * 3D distance is computed between devices. 
 +  * PDR must be higher than 10% as computed for 100 packets.  
  
 <WRAP center round help 100%> <WRAP center round help 100%>
-  * Provide the expression of the link budget+  * Compute the Fresnel zone for your transmission
-  * Draw the RSSI values as a function of the distance.  +  * Provide the expression of the link budget and compute the received power using two different pathloss models
-  * What is the path loss exponent?  +  * Compare the received power obtained experimentally with the theoretical results
-  * Using regressions, compute a value of the path loss exponent. Analyze the result+  * Write an article (blog, wiki, ...) to describe your experiment.
-  * Compare the obtained sensitivity with the theoretical results computed in the previous section.+
 </WRAP> </WRAP>
-  
-In order to compute distances in your experiment, you can get the GPS coordinates as recorded by your smartphone using an application such as [[https://play.google.com/store/apps/details?id=com.flashlight.lite.gps.logger&hl=en|Ultra GPS Logger]]. You can export the time-location correspondence in a CSV format from this application. As for the time-RSSI correspondence, you can use a {{ :log-windows.py.zip |logger file}} on your laptop. Finally, the time matching enables you to obtain the RSSI for each GPS location, hence for different distances. 
- 
- 
 ===== -. Grading ===== ===== -. Grading =====
  
exploring_lora.txt · Last modified: 2021/10/20 12:52 by samer