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 [2017/10/10 21:31] – [7. Rubrics] samerexploring_lora [2018/09/27 10:33] samer
Line 24: Line 24:
  
 Download the following software on your PC: Download the following software on your PC:
-  * RadioHead: The Packet Radio library for embedded microprocessors can be downloaded from [[http://www.airspayce.com/mikem/arduino/RadioHead/]] or from this [[http://www.airspayce.com/mikem/arduino/RadioHead/RadioHead-1.80.zip|direct link]].  +  * RadioHead: The Packet Radio library for embedded microprocessors can be downloaded from [[http://www.airspayce.com/mikem/arduino/RadioHead/]] or from this [[http://www.airspayce.com/mikem/arduino/RadioHead/RadioHead-1.86.zip|direct link]].  
-  * Arduino IDE: Specific OS versions can be downloaded from [[https://www.arduino.cc/en/Main/Software]] or easier for the course Moodle+  * Arduino IDE: Specific OS versions can be downloaded from [[https://www.arduino.cc/en/Main/Software]].
  
 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]].
 +
 +<WRAP center round tip 75%>
 +Note well the location of the library folder on your computer. In the following, you will be required to modify source files located in this folder. 
 +</WRAP>
 ===== -. Installation ===== ===== -. Installation =====
  
Line 41: Line 45:
 For Arduino Mega 2560, additional drivers for Microsoft Windows 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]].
 </WRAP> </WRAP>
 +
 +===== -. Theoretical Analysis =====
 +
 +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.  
 +
 +<WRAP left round help 100%>
 +  * 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? 
 +  * For each of the three possible configurations of your LoRa module, what is the transmission bit rate? Explain your computation.
 +  * 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.
 +</WRAP>
 +
 ===== -. Running Basic Sketches ===== ===== -. Running Basic Sketches =====
 Start by setting the central frequency of the LoRa modules. For this, open the ''RH_RF95.cpp'' file locate in the ''RadioHead'' folder and change the frequency to 868.10 (Group 1), 868.30 (Group 2), and 868.50 MHz (Group 3). Start by setting the central frequency of the LoRa modules. For this, open the ''RH_RF95.cpp'' file locate in the ''RadioHead'' folder and change the frequency to 868.10 (Group 1), 868.30 (Group 2), and 868.50 MHz (Group 3).
Line 52: Line 69:
 [{{ :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}}]
 +
 ===== -. Modifying the Radio Parameters ===== ===== -. Modifying the Radio Parameters =====
  
Line 65: Line 83:
 </file> </file>
  
-<WRAP left round help 100%> +In the remainder of this labyou will conduct measurements to validate the obtained theoretical receiver sensitivity.
-  * 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?  +
-  * For each of the three possible configurations of your LoRa modulewhat is the transmission bit rate? Explain your computation. +
-  * 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. +
-</WRAP>+
  
-In the remainder of this lab, you will conduct measurements to validate the obtained theoretical receiver sensitivity. 
 ===== -. 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 off 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. 
-==== -. Round Trip Time ====+ 
 +==== -. Time on Air ====
  
-In this section, you will measure the Round Trip Time of LoRa communication under the three different radio configurations. For this, you can start by implementing a function on the client that measures the time between the message sending and the reception of the acknowledge from the server. For example, you can use the [[https://www.arduino.cc/en/Reference/Micros| micros()]] function available in the arduino libraries.+In this section, you will measure the Time on Air (ToA) under the three different radio configurations and for different message sizes. 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://www.arduino.cc/en/Reference/Micros| micros()]] function available in the arduino libraries.
  
 <WRAP center round help 100%> <WRAP center round help 100%>
-  * Draw a box plot of the RTT under the three different radio configurations. +  * Draw a box plot of the ToA under the three different radio configurations and for three different message sizes
   * Analyze the obtained results and compare with the theoretical computations.   * Analyze the obtained results and compare with the theoretical computations.
 </WRAP> </WRAP>
Line 96: Line 108:
   * What type of mathematical models enables to theoretically compute the PER?   * What type of mathematical models enables to theoretically compute the PER?
 </WRAP> </WRAP>
 +
 ==== -. Coverage ==== ==== -. Coverage ====
  
Line 124: Line 137:
    
 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. 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.
 +===== -. Coverage Challenge =====
 +
 +
 ===== -. Grading ===== ===== -. Grading =====
  
Line 130: Line 146:
 ^ Design experiments                            |                    |                    |                    | ^ Design experiments                            |                    |                    |                    |
 ^ Analyse results          |                      |                    |                    |                    | ^ Analyse results          |                      |                    |                    |                    |
- 
exploring_lora.txt · Last modified: 2021/10/20 12:52 by samer