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:32] – [4.3. [Classroom activity] Collisions and Packet Delivery Ratio] samerexploring_lora [2018/10/04 17:36] – [2. Theoretical Study] melhem
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 device, what is the transmission bit rate? Explain your computation.+  * What is the transmission bit rate for each of the following configurations of your LoRa device? Explain your computation
 +  ** Configuration 1: channel bandwidth = 125 kHz, spreading factor = 7, coding rate = 4/5. 
 +  ** Configuration 2: channel bandwidth = 500 kHz, spreading factor = 7, coding rate = 4/5. 
 +  ** Configuration 3: channel bandwidth = 125 kHz, spreading factor = 12, coding rate = 1/2.
   * Compute the receiver sensitivity, assuming the following parameters: channel bandwidth = 125 kHz, spreading factor = 7, coding rate = 4/5, bit error rate (BER) target = 10<sup>-4</sup>, and receiver noise figure = 6 dB. Refer to this {{ :1705.05899.pdf | article}} to determine the mapping between the BER and the SNR.   * Compute the receiver sensitivity, assuming the following parameters: channel bandwidth = 125 kHz, spreading factor = 7, coding rate = 4/5, bit error rate (BER) target = 10<sup>-4</sup>, and receiver noise figure = 6 dB. Refer to this {{ :1705.05899.pdf | article}} to determine the mapping between the BER and the SNR.
   * Compare the computed sensitivity to that provided by the {{ :an1200.22.pdf |Semtech Application Note AN1200.22}} for the same parameters.   * Compare the computed sensitivity to that provided by the {{ :an1200.22.pdf |Semtech Application Note AN1200.22}} for the same parameters.
Line 69: Line 72:
 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 124:
 ==== -. 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 134:
   * 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 (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%> <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 148:
 ==== -. [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 154:
   * 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