Speaking of the wireless communication technology of the Internet of Things, everyone must be familiar with LoRa, because it adopts the principle of spread spectrum modulation and a unique error correction mechanism to achieve ultra-long-distance wireless transmission. Wireless communication distance is longer.
Of course, the focus of this article is not to discuss the characteristics of LoRa, but to talk about several key core parameters in LoRa modulation.
1. Spreading Factor (SF)
LoRa spread spectrum employs multiple information chips to represent each bit of payload information. The speed at which spread information is sent is called the symbol rate (Rs), and the ratio between the chip rate and the nominal symbol rate is the spreading factor, which represents the number of symbols sent per information bit. The popular understanding is to represent a single data bit with multiple information chips.
To simplify the explanation in the digital domain, if we agree that 101110 means that the actual data bit is 1, a valid data packet such as 0xFF needs to be transmitted in the application, and the corresponding binary representation is: 1111 1111, then the information chip to be actually transmitted is:
Through the above method, the bit error rate of transmission can be reduced, thereby increasing the effective communication distance. However, when the number of transmitted information symbols is the same, the actual amount of effective data transmitted is reduced. Therefore, when other parameters are the same, The larger the SF parameter is set, the smaller the actual transmitted data rate.
LoRa spreading factor value range:
① The above table is taken from the SX127x data sheet;
② SF=6 can only be used in ImplicitHeader mode;
③ SX126x series can support SF=5
2. Modulation bandwidth BandWidth(BW)
Channel bandwidth is used to limit the frequency range allowed to pass through the current channel, which can be understood as a frequency passband.
The frequency allowed by a channel is usually 433.125MHz to 433.250MHz, and the corresponding BW=125kHz.
According to Shannon's theorem, increasing the channel bandwidth can increase the effective data rate to shorten the air delay time
However, it can be seen from the digital sensitivity calculation formula that increasing the channel bandwidth will reduce the system sensitivity, thus shortening the wireless communication distance.
Receive sensitivity S = 10lg(KTB) + NF + SNR, where B represents the channel bandwidth.
In LoRa modulation, the channel bandwidth is bilateral bandwidth (full channel bandwidth), while the BW of traditional FSK modulation refers to unilateral bandwidth or receiving bandwidth.
3. Coding Rate(CR)
In the process of LoRa communication, cyclic forward error correction technology is used internally, that is, part of the data in the actual data packet transmitted over the air is used for error correction decoding, and the ratio of the effective data length to the actual length of the air transmitted data packet is called encoding rate.
LoRa encoding rate value range and corresponding overhead ratio:
Note: The above pictures are taken from the SX127x data sheet
Based on the above, it can be seen that using the error correction algorithm will increase the link overhead and reduce the effective data transmission rate. However, due to the existence of the error correction code, the transmission has strong anti-interference ability and higher reliability.
Speaking of this, I feel that I need to go deeper, otherwise I will not be able to reflect my own level
Relationship between LoRa signal bandwidth BW, symbol rate Rs and data rate DR
Chip speed Rc:
As mentioned earlier, the bandwidth has a great relationship with the transmission rate of the signal. Here, the transmission rate of the chip is equal to the value of the bandwidth (unit Hz), that is:
Rc=BW = |BW|chips/s
Symbol rate Rs:
Each symbol has 2^SF chips, and the transmission rate of the chips is Rc, so the symbol transmission rate Rs is:
Rs= Rc/2^SF = BW/2^SF
Data transmission rate DR (or bit Rate):
DR= Rb(bits/sec) = SF * Rs * CR = SF * (BW/2^SF) * CR
4. Low Data Rate Optimization
In the cognition of many people, the core parameters of LoRa seem to be only SF, BW, and CR. The parameter value setting of Low Data Rate Optimization is easy to be ignored, but in the design process, this parameter is still very important, especially In the application process of low rate and large data packet transmission, the long-term continuous transmission of the transmitter may cause system frequency deviation and reduce the communication success rate. After enabling the Low Data Rate Optimization option, it can improve the communication robustness of LoRa under low rate conditions. sex.
The specific setting condition is that when the transmission time of a single symbol exceeds 16 milliseconds, the LowDataRateOptimize bit must be enabled, and both the transmitter and the receiver must have the same LowDataRateOptimize setting.
Take BW=500K, SF=9 as an example:
At this time RS =500kHz / 512, TS = 1 / RS = 512/500kHz= 1 ms
In this case, it is not necessary to enable Low Data Rate Optimization.
Take BW=25K, SF=10 as an example:
At this time RS =25kHz / 1024, TS = 1 / RS =1024/25kHz= 40.96 ms
In this case, Low Data Rate Optimization must be turned on.