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 23:03] – [4.2. Coverage] samerexploring_lora [2018/09/30 10:33] – [4.2. Coverage] samer
Line 69: Line 69:
 Download the {{ :sketch-1819.zip | basic sketches}} that implement a simple LoRa communication between the 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 the 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. 
  
-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 following extract from 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) 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.+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.
  
 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. 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.
Line 135: Line 135:
 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.
  
-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 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). +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 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 ensure different reliability levels (high, medium, and low reliability). 
  
 <WRAP center round help 100%> <WRAP center round help 100%>
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 using 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