A method and device for implementing LoRa network data aggregation
By setting specific modules on the LoRa gateway receiver, maximum likelihood signal demodulation and soft decision channel decoding are implemented, which solves the problem of data symbol collision in LoRa network data aggregation and improves the rate and decoding performance of data aggregation.
Patent Information
- Application Number
- CN202210861418.6
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-07-22
- Publication Date
- 2025-02-14
- Estimated Expiration
- 2042-07-22
AI Technical Summary
The existing LoRa network data aggregation technology has data symbol collision problems and data aggregation accuracy reduced due to time synchronization errors, which cannot effectively solve the data symbol collision problem during concurrent LoRa transmission.
Using a LoRa network data aggregation implementation method, the maximum likelihood signal demodulation and soft judgment are realized by setting a preamble detection module, offset and channel estimation module, symbol demodulation module and channel decoding module on the receiver of the LoRa gateway. Channel decoding, thereby solving the problem of data symbol collision.
It effectively solves the problem of data symbol collision during concurrent transmission of LoRa, improves the rate and decoding performance of data aggregation, and reduces the data aggregation delay.
Smart Images

Figure CN115243316B_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the field of Internet of Things communication technology, and in particular to a method and device for implementing LoRa network data aggregation based on concurrent transmission. Background Art
[0002] In the data aggregation query application scenario, the LoRa gateway needs to collect the aggregation functions (such as sum, average, minimum and maximum) of the data sensed by the LoRa sensor nodes in the network. To complete the LoRa data aggregation query, the industry generally adopts the following methods: (1) ALOHA protocol based on commercial LoRa nodes. Since the ALOHA protocol does not have carrier sensing, when a large number of LoRa nodes are connected, the signal collision is serious, resulting in a prolonged aggregation time, so the system throughput is low. (2) The TDMA protocol is adopted, that is, the LoRa gateway coordinates the LoRa nodes to access the channel in a time domain orthogonal manner. Although TDMA does not cause collisions when performing data aggregation, its transmission delay is still very long, because the data rate of LoRa transmission is very low, the data packet itself takes a long time to transmit, and the time domain orthogonal method causes the overall data aggregation time to be longer. Both of the above methods pose challenges to fast data aggregation.
[0003] In order to solve these problems (serious collisions and long aggregation query time), there are some LoRa network data aggregation technologies based on concurrent transmission in the industry. Several LoRa nodes transmit their sensed data at the same time, and the LoRa gateway directly calculates the aggregated data from the superimposed signals. This concurrent transmission method allows more LoRa nodes to transmit at the same time, improves the efficiency of data aggregation query, and is expected to achieve fast data aggregation. However, the existing methods based on concurrent transmission still have certain limitations.
[0004] The analog domain data aggregation technology ([1]AkshayGadre,Fan Yi,Anthony Rowe,Bob Iannucci,and SwarunKumar.Quick(and dirty)aggregate queries on low-power WANs.InACM / IEEE IPSN,2020.[2]Omid Abari,Hariharan Rahul,and Dina Katabi.Over-the-airfunction computation in sensor networks.ArXiv,2016.) implements data aggregation in the analog domain. Specifically, the gateway sends a synchronization signal. After receiving the synchronization signal from the gateway, the node modulates its data onto the amplitude of the signal and sends it. The gateway directly extracts the aggregated data from the amplitude of the superimposed node signal. When the time, phase and power of the nodes are completely synchronized, the analog domain data aggregation technology can achieve data aggregation. However, in actual systems, (1) the time and power synchronization accuracy of LoRa nodes is limited, so the analog domain aggregation method is not reliable. Even a small time synchronization error will cause the superimposed LoRa signals to cancel each other, greatly reducing the amplitude of the superimposed signal, thereby reducing the data aggregation accuracy. (2) Since LoRa nodes use channel coding, it does not make sense to directly aggregate the coded data signal. Therefore, this technology is not suitable for commercial LoRa nodes that use channel coding.
[0005] The multi-packet receiving technology based on frequency domain characteristics ([3] Rashad Eletreby, Diana Zhang, Swarun Kumar, and Osman Yaˇgan. Empowering low-power wide area networks in urban settings. In ACMSIGCOMM, 2017. [4] Bin Hu, Zhimeng Yin, Shuai Wang, Zhuqing Xu, and Tian He. SCLoRa: Leveraging multi-dimensionality in decoding collided LoRa transmissions. In IEEE ICNP, 2020.) realizes data aggregation in the digital domain and is suitable for commercial LoRa nodes. This technology uses the frequency domain characteristics (peak frequency offset, spectrum shape change, etc.) of the CSS signal used by the LoRa physical layer to decode randomly superimposed collision signals. The multi-packet receiving technology based on frequency domain characteristics does not require time synchronization and can directly decode the data of each node on the randomly superimposed collision signal, and then perform data aggregation. The multi-packet receiving technology based on frequency domain characteristics cannot solve the problem of data symbol collision (that is, in the same frequency domain demodulation window, the frequency domain peak positions corresponding to the data symbols of different nodes are similar or the same). When a data symbol collision occurs, this technology cannot decode the colliding node data.
[0006] The multi-packet receiving technology based on time domain characteristics ([5] Zhenqiang Xu, Pengjin Xie, and Jiliang Wang. Pyramid: Real-time LoRa collision decoding with peak tracking. In IEEE INFOCOM, 2021. [6] Xianjin Xia, Yuanqing Zheng, and Tao Gu. FTrack: Parallel decoding for LoRa transmissions. In ACM SenSys, 2019.) uses the time domain offset characteristics of the signal, that is, there is a large time offset (TO) between nodes, to achieve data aggregation in the digital domain. This technology uses the time domain and frequency domain characteristics of the CSS signal used by LoRa to correspond a certain time offset to a certain frequency offset, and uses sliding windows, interference elimination and other technologies to decipher the randomly superimposed collision signals. Although the probability of data symbol collision will be reduced in the large TO scenario, the multi-packet receiving technology based on time domain characteristics is still unable to decode the user data of the data symbol collision. On the other hand, this technology requires a large TO between signals to ensure the performance of the system, but the method based on large TO brings the problem of long aggregation time. Summary of the invention
[0007] The first purpose of the present invention is to provide a device for implementing data aggregation based on concurrent transmission of LoRa nodes in order to solve the above problems in the prior art. The device can demodulate the time synchronization superposition signal, especially solve the problem of data symbol collision. The device is applied to the receiver of the LoRa gateway to replace the traditional receiver.
[0008] Another object of the present invention is to provide a method for implementing LoRa network data aggregation. The method can implement maximum likelihood signal demodulation and soft decision channel decoding for LoRa time synchronization superposition signals, essentially solving the data symbol collision problem during LoRa concurrent transmission, improving decoding performance and data aggregation rate, and reducing data aggregation delay.
[0009] The device for realizing data aggregation of a LoRa network described in the present invention is provided with a preamble detection module, an offset and channel estimation module, a symbol demodulation module and a channel decoding module in sequence;
[0010] The preamble detection module is used to determine the starting position of the time synchronization superposition signal from the received signal;
[0011] The offset and channel estimation module is used to estimate the CFO, TO and channel coefficient of each node using the preamble and the frame start delimiter;
[0012] The symbol demodulation module is used to demodulate the data symbol belonging to each node from the synchronously superimposed data symbol signal;
[0013] The channel decoding module is used to use hard decision channel decoding or soft decision channel decoding for the data symbol of each node, and output the data bit of each node.
[0014] In the method for implementing LoRa network data aggregation, the LoRa gateway first coordinates M LoRa nodes to send signals simultaneously, and then the LoRa gateway calls the method proposed in the present invention to decode the superimposed signal of coarse time synchronization, and decodes M data packets for aggregation; the method of the present invention specifically includes the following steps:
[0015] 1) Preamble detection: detect the preamble of the synchronous superposition node signal to obtain the starting position of the valid signal;
[0016] 2) Offset and channel estimation: Use the preamble and frame start delimiter to estimate the CFO, TO and channel coefficient of each node
[0017] 3) Symbol demodulation: Extract the effective peak value of each demodulation window, and demodulate K groups of symbol sequences with the highest probability and their likelihood probabilities by combining CFO, TO and channel coefficients;
[0018] 4) Channel decoding: For the data symbol of each node, hard decision channel decoding or soft decision channel decoding is used. The soft decision channel decoding: the symbol-level probability of K groups of data sequences is transferred to the bit-level probability, and the data of each node is decoded through Gray soft mapping, deinterleaving, Hamming soft decoding and dewhitening; the hard decision channel decoding: the group of data symbol sequences with the highest probability is taken, and the standard LoRa channel decoding is used to obtain the data of each node;
[0019] 5) Aggregate the data of each node to obtain the aggregation result.
[0020] In step 1), the preamble detection specifically includes the following steps:
[0021] (1.1) Coarse synchronization: First, cross-correlate the received time synchronization superposition signal y with the standard up-chirp signal C, set the amplitude threshold to find all the peak points, and take the position of the smallest peak point as the rough position of the effective signal start;
[0022] (1.2) Window alignment: According to the starting position obtained by coarse synchronization, the window is slid in the direction of decreasing time to perform demodulation operation, that is, the time-synchronized superimposed signal y is aligned with the standard down-chirp signal C *Cross-correlation, fast Fourier transform, set the amplitude threshold to identify the peak in the demodulation window, and if the peak value no longer increases, the position of the highest peak point is taken as the starting position of the valid signal.
[0023] In step 2), the offset and channel estimation includes coarse estimation and fine estimation, and the specific steps are as follows:
[0024] (2.1) Rough estimate:
[0025] A) According to the starting position of the effective signal obtained by the preamble code detection, the two symbols of the preamble code and the frame start delimiter of the time synchronization superposition signal are sequentially intercepted and combined with the down chirp signal C * Perform cross-correlation, set the amplitude threshold, and obtain the peak point positions corresponding to M nodes based on the information with the same amplitude at the same node. and
[0026] B) Based on the CFO and TO calculation formula and Get a rough estimate and
[0027] C) Reconstruct the preamble signal using the roughly estimated CFO and TO in f(s) represents the frequency corresponding to data s, r τ (·) means filling with zeros and shifting right by τ sampling points;
[0028] D) Use the least squares estimation method to obtain the channel coefficient estimate in is the reconstructed preamble signal and the standard down-chirp signal C * The fast Fourier transform result after cross-correlation, · represents the cross-correlation operation, represents the fast Fourier transform operation;
[0029] (2.2) Detailed estimation: Based on the channel coefficient Reconstructed signal E f , the residual between the received symbol and the reconstructed symbol is obtained Minimize the residual function to find the best matching offset value, that is, Where m∈{1,…,M}, ∈ is the size of the FFT frequency point.
[0030] In step 3), the symbol demodulation is for the i-th data symbol (i∈[1,N s ]), perform symbol demodulation in sequence, the specific steps are as follows:
[0031] (3.1) Peak extraction: According to the starting position and LoRa frame structure, determine the starting position of the i-th data symbol and the demodulation window range; use the truncated down-chirp signal Perform cross-correlation to eliminate the interference caused by the previous symbol to the next symbol; extract all valid peaks above a certain threshold in the demodulation window and record the position {p 1 [i],p 2 [i],…,p V [i]}, where the peak number V does not exceed the number of nodes M;
[0032] (3.2) Likelihood mapping:
[0033] A) Based on the CFO, TO and the extracted effective peak position of each node, all possible data symbol arrangements corresponding to each node are generated Ω[i]={A 1 [i],A 2 [i],…,A W [i]}, where Represents the node data corresponding to the ω-th arrangement (assuming that the peak value corresponding to the m-th node is p n [i], then is the symbolic data of node m, where express The corresponding frequency offset, express corresponding frequency offset);
[0034] B) Calculate the log-likelihood probability corresponding to all permutations, where permutation A ω The corresponding log-likelihood probability of [i] is The calculation process is as follows: First, reconstruct A based on the CFO, TO and channel coefficient of each node ω [i] The corresponding time domain signal is expressed as make for The signal at the jth frequency point, y[i] is the received signal of the ith symbol, Y j [i]Yes The signal at the jth frequency point, then correspond The probability product of the frequency points is Since the σ noise power is the same, it can be equivalently expressed as
[0035] (3.3) Keep K groups of data symbol sequences with the highest probability And the corresponding likelihood probability is
[0036] In step 4), the channel decoding includes hard decision channel decoding and soft decision channel decoding;
[0037] The hard decision channel decoding may specifically include the following steps:
[0038] (a) For each symbol, extract the data symbol arrangement A with the highest probability (1) , extract the data of the mth node according to the node sequence number:
[0039] (b) Yes Use the standard LoRa channel decoder to decode and obtain the decoded data of each node;
[0040] The soft decision channel decoding may specifically include the following steps:
[0041] (a) Node data extraction: For each symbol, extract the demodulated data belonging to the mth node and the corresponding probability
[0042] (b) Symbol-bit probability conversion: For each bit, find the corresponding i-th symbol; iterate in sequence For each item, find the corresponding index set idx where the bit is equal to 0 and 1 0 and idx 1 ; Using this index set, in Separate idx 0 and idx 1 The corresponding log-likelihood probabilities are summed and finally normalized to obtain the bit-level probability;
[0043] (c) Gray mapping probability conversion: Perform probability conversion of the normalized bit-level probability by -1 operation and probability conversion of the XOR operation to obtain the soft probability after Gray mapping:
[0044] Perform probability conversion of -1 operation on normalized bit-level probability: for each bit after -1 operation, enumerate all possible bit sequences that cause the bit to be 0 before the operation, calculate the joint probability of these bit sequences and sum them up, and the difference between 1 and the sum value is the probability of the bit being 1;
[0045] Perform probability conversion on the XOR operation to obtain the soft probability after Gray mapping: for each bit after the XOR operation, enumerate all possible bit sequences that cause the bit to be 0 before the operation, calculate the joint probability of these bit sequences and sum them up, and the difference between 1 and the sum is the probability of the bit being 1;
[0046] (d) Deinterleaving soft probability conversion: The soft probabilities after Gray mapping are rearranged according to the deinterleaving formula to obtain the deinterleaved soft probabilities;
[0047] (e) Hamming soft decoding: A Hamming soft decoder is used to process the deinterleaved probability input and obtain data bit output;
[0048] (f) De-whitening: The bits of the Hamming soft decoding are XORed with the pseudo-random sequence to obtain the decoded data output.
[0049] Compared with the prior art, the present invention has the following outstanding technical effects and advantages:
[0050] 1. The demodulation method proposed in the present invention can essentially solve the data symbol collision problem during LoRa concurrent transmission. The LoRa gateway solves the data symbol collision problem by enumerating all possible sequences (in a sequence, the data of the nodes may be the same) and calculating the probabilities of all possible sequences.
[0051] 2. The soft decision channel decoding method proposed in the present invention improves the decoding performance of the LoRa time synchronization superposition signal compared with the traditional hard decision channel decoding algorithm;
[0052] 3. The present invention realizes the decoding and data aggregation of concurrent transmission LoRa in small TO scenarios. Small TO concurrent transmission and higher decoding performance increase the rate of data aggregation and also reduce data aggregation delay.
[0053] 4. In addition to being applicable to the LoRa network data aggregation process, the technical solution of the present invention may also be applied to the LoRa network multi-packet receiving process (because data aggregation is achieved by first decoding the data of each node and then aggregating it), and can also be applied to data aggregation of other types of low-power wide-area Internet of Things, such as SigFox and ZigBee. BRIEF DESCRIPTION OF THE DRAWINGS
[0054] Figure 1 It is a schematic diagram of the system framework of the present invention.
[0055] Figure 2 It is a schematic diagram of the device of the present invention.
[0056] Figure 3 It is a flow chart of the method of the present invention.
[0057] Figure 4 This is a schematic diagram of time-synchronous superposition signal demodulation.
[0058] Figure 5 It is a schematic diagram of Gray mapping probability conversion.
[0059] Figure 6 Schematic diagram of throughput of an embodiment, where (a) SER, (b) physical layer throughput, (c) BER, and (d) network layer throughput. DETAILED DESCRIPTION
[0060] The following embodiments will further illustrate the present invention in conjunction with the accompanying drawings.
[0061] The main innovative technical points of the present invention are summarized as follows:
[0062] 1. The present invention discloses a maximum likelihood signal demodulation method for LoRa time synchronization superposition signal;
[0063] 2. The present invention discloses a soft decision channel decoding method for LoRa time synchronization superposition signal;
[0064] Figure 1 The system framework or scenario diagram of the present invention is given. The LoRa gateway first coordinates M LoRa nodes to send signals simultaneously, and then the LoRa gateway calls the algorithm proposed by the present invention to decode the coarse time-synchronized superposition signal, and decodes M data packets for aggregation.
[0065] Figure 2 A schematic diagram of the device of the present invention is given. The device of the present invention is applied to the receiver of the LoRa gateway and needs to replace the traditional receiver. Specifically, the device of the present invention (i.e., the LoRa gateway receiver) includes a preamble detection module, an offset and channel estimation module, a symbol demodulation module, and a channel decoding module in sequence; the input is: a time synchronization superposition signal, and the output is: aggregated data (expressed in bits);
[0066] Preamble detection module: determines the starting position of the time synchronization superimposed data signal from the received signal;
[0067] Offset and channel estimation module: uses the preamble and frame start delimiter to estimate the CFO, TO and channel coefficient of each node;
[0068] Symbol demodulation module: demodulates the data symbol belonging to each node from the synchronously superimposed data symbol signal;
[0069] Channel decoding module: For the data symbol of each node, hard decision channel decoding or soft decision channel decoding is used to output the data bit of each node.
[0070] like Figure 3 As shown, the LoRa gateway first coordinates M LoRa nodes to send signals simultaneously, and then the LoRa gateway calls the method proposed in the present invention to decode the coarse time synchronized superposition signal, decodes M data packets for aggregation; the target scenario of the present invention is to decode M coarsely synchronized nodes and concurrently transmit data packets. Assume x m represents the transmission signal of node m, y represents the concurrent transmission signal received by the gateway, and δ m , τ m and h mRepresents the CFO, TO and channel coefficient of node m respectively. Each data packet contains N s data symbols; the specific method is as follows:
[0071] (I) Preamble detection:
[0072] 1) Coarse synchronization: firstly, cross-correlate the received time synchronization superposition signal y with the standard up-chirp signal C, set the amplitude threshold to find all the peak points, and take the position of the smallest peak point as the rough position of the effective signal start;
[0073] 2) Window alignment: According to the starting position obtained by coarse synchronization, the window is slid in the direction of decreasing time to perform demodulation operation, that is, y is aligned with the standard down-chirp signal C * Cross-correlation is performed, and then a fast Fourier transform is performed. The amplitude threshold is set to identify the peak in the demodulation window. If the peak value no longer increases, the position of the highest peak point is taken as the starting position of the valid signal.
[0074] (II) Offset and channel estimation:
[0075] 1) Rough estimate:
[0076] A) According to the starting position of the effective signal obtained by the preamble code detection, the two symbols of the preamble code and the frame start delimiter of the time synchronization superposition signal are sequentially intercepted and compared with C * Perform cross-correlation, set the amplitude threshold, and obtain the peak point positions corresponding to M nodes based on the information with the same amplitude at the same node. and
[0077] B) Based on the CFO and TO calculation formula and Get a rough estimate and
[0078] C) Reconstruct the preamble signal using the roughly estimated CFO and TO in f(s) represents the frequency corresponding to data s, r τ (·) means filling with zeros and shifting right by τ sampling points;
[0079] D) Use the least squares estimation method to obtain the channel coefficient estimate in is the reconstructed preamble signal and the standard down-chirp signal C * The fast Fourier transform result after cross-correlation, · represents the cross-correlation operation, represents the fast Fourier transform operation;
[0080] 2) Detailed estimation: Based on the channel coefficient Reconstructed signal E f , the residual between the received symbol and the reconstructed symbol is obtained Minimize the residual function to find the best matching offset value, that is, Where m∈{1,…,M}, ∈ is the size of the FFT frequency point.
[0081] (III) For the i-th data symbol (i∈[1,N s ]), and perform symbol demodulation in sequence:
[0082] 1) Peak extraction: According to the starting position and LoRa frame structure, determine the starting position of the i-th data symbol and the demodulation window range; use the truncated down-chirp signal Perform cross-correlation to eliminate the interference caused by the previous symbol to the next symbol; extract all valid peaks above a certain threshold in the demodulation window and record the position {p 1 [i],p 2 [i],…,p V [i]}, where the peak number V does not exceed the number of nodes M;
[0083] 2) Likelihood mapping:
[0084] A) Based on the CFO, TO and the extracted effective peak position of each node, all possible data symbol arrangements corresponding to each node are generated Ω[i]={A 1 [i],A 2 [i],…,A W [i]}, where Represents the node data corresponding to the ω-th arrangement (assuming that the peak value corresponding to the m-th node is p n [i], then is the symbolic data of node m, where express The corresponding frequency offset, express corresponding frequency offset);
[0085] B) Calculate the log-likelihood probability corresponding to all permutations, where permutation A ω The corresponding log-likelihood probability of [i] is The calculation process is as follows: First, reconstruct A based on the CFO, TO and channel coefficient of each node ω [i] The corresponding time domain signal is expressed as make for The signal at the jth frequency point, y[i] is the received signal of the ith symbol, Y j [i]Yes The signal at the jth frequency point, then correspond The probability product of the frequency points is Since the σ noise power is the same, it can be equivalently expressed as
[0086] 3) Keep K groups of data symbol sequences with the highest probability And the corresponding likelihood probability is
[0087] (IV) Channel decoding:
[0088] 1) Hard decision channel decoding:
[0089] A) For each symbol, extract the data symbol arrangement A with the highest probability (1) , extract the data of the mth node according to the node sequence number:
[0090] B) Yes Use the standard LoRa channel decoder to decode and obtain the decoded data of each node;
[0091] 2) or soft decision channel decoding:
[0092] A) Node data extraction: For each symbol, extract the demodulated data belonging to the mth node and the corresponding probability
[0093] B) Symbol-bit probability conversion: For each bit, find the corresponding i-th symbol; iterate in order For each item, find the corresponding index set idx where the bit is equal to 0 and 1 0 and idx 1 ; Using this index set, in Separate idx 0 and idx 1 The corresponding log-likelihood probabilities are summed and finally normalized to obtain the bit-level probability;
[0094] C) Gray mapping probability conversion:
[0095] a) Perform probability conversion of the normalized bit-level probability by -1 operation: for each bit after the -1 operation, enumerate all possible bit sequences that cause the bit to be 0 before the operation, calculate the joint probability of these bit sequences and sum them up, and the difference between 1 and the sum is the probability of the bit being 1;
[0096] b) Perform probability conversion on the XOR operation to obtain the soft probability after Gray mapping: For each bit after the XOR operation, enumerate all possible bit sequences that cause the bit to be 0 before the operation, calculate the joint probability of these bit sequences and sum them up, and the difference between 1 and the sum is the probability of the bit being 1;
[0097] D) De-interleaving soft probability conversion: rearrange the soft probabilities after Gray mapping according to the de-interleaving formula to obtain the de-interleaved soft probabilities;
[0098] E) Hamming soft decoding: A Hamming soft decoder is used to process the deinterleaved probability input and obtain data bit output;
[0099] F) De-whitening: XOR the Hamming soft-decoded bits with the pseudo-random sequence to obtain the decoded data output.
[0100] (V) Aggregate the data of each node to obtain the aggregation result.
[0101] Specific examples of the use of the device of the present invention are given below.
[0102] Figure 4 A schematic diagram of time synchronization superposition signal demodulation is given. In order to realize the aggregation of concurrently transmitted LoRa signal data, the LoRa gateway dispatches three LoRa nodes as an example. Assume that x 1 、x 2 and x 3 represents the transmission signals of nodes 1, 2 and 3, y represents the roughly synchronized superposition transmission signals of the three nodes received by the gateway, and δ m , τ m and h m They represent the CFO, TO and channel coefficient of node m, respectively, where m∈{1,2,3}, and the data packet of each node contains N s Symbols. The schematic diagram of node superposition signal is as follows Figure 4 Shown in the upper part.
[0103] The specific steps of this embodiment are as follows:
[0104] 1) The LoRa gateway broadcasts a scheduling frame, which contains the ID information of its scheduling node. After sending the scheduling frame, the LoRa gateway enters the receiving state and waits for the LoRa node to send a data frame;
[0105] 2) The LoRa node that receives the scheduling frame decodes the scheduling frame. If the ID information in the scheduling frame contains the node ID, the node sends the data frame according to a certain time synchronization protocol; if the scheduling frame does not contain the node ID, the node remains silent and waits for the next scheduling;
[0106] 3) (Preamble detection - coarse synchronization) The preamble detection module of the LoRa gateway continuously cross-correlates the signal with the standard up-chirp signal. If 8 peaks are detected continuously and the interval between the peaks is one symbol length, it is considered that the preamble of the time synchronization superposition signal is found; if no valid signal is detected after the timeout period, the scheduling frame is sent again for rescheduling;
[0107] 4) (Preamble detection-window alignment) The preamble module of the LoRa gateway further slides the demodulation window in the direction of time reduction according to the starting position obtained by cross-correlation coarse synchronization. When the amplitude value of the highest peak in the demodulation window no longer increases, it is considered to be aligned with the first data packet in the valid signal, and the required demodulation starting position is obtained;
[0108] 5) (Offset and channel estimation - rough estimation) The offset and channel estimation module of the LoRa gateway first estimates the CFO, TO and channel coefficient of each node. According to the starting position of the valid signal obtained by the preamble code detection, the preamble code and the two symbols of the frame start delimiter of the time synchronization superposition signal are sequentially intercepted and compared with the C * Perform cross-correlation, set the amplitude threshold, and obtain the peak point positions corresponding to the three nodes based on the information with the same amplitude at the same node. According to the formula and Get a rough estimate and The preambles of the three nodes can be reconstructed as in r τ represents zero padding and right shift by τ samples. The frequency domain closed-form least squares estimate of the channel coefficient can be expressed as in is the fast Fourier transform result of the reconstructed preamble;
[0109] 6) (Offset and channel estimation - fine estimation) Then, the offset and channel estimation module of the LoRa gateway further performs joint fine estimation for the rough estimation. Reconstructed signal E f , the residual between the received symbol and the reconstructed symbol is obtained Minimize the residual function to find the best matching offset value, that is, Where m∈{1,…,3}, ∈ is the size of the FFT frequency point. The method to minimize the residual function can be to traverse and search all possible offset values, or to use the SGD optimization algorithm;
[0110] 7) (Symbol demodulation-peak extraction) Figure 4As shown in the figure, the symbol demodulation module of the LoRa gateway first determines the starting position of the data symbol and the demodulation window range according to the signal starting position and the LoRa frame structure, and slides the demodulation window with a symbol length as the step length; a truncated down-chirp signal is used To eliminate the interference caused by the previous symbol to the next symbol; finally, extract all valid peaks above a certain threshold in each demodulation window, such as Figure 4 As shown, the peak index extracted from the second symbol is {54,90};
[0111] 8) (Symbol demodulation-likelihood mapping):
[0112] (1) For each symbol, the symbol demodulation module of the LoRa gateway generates all possible data symbol arrangements corresponding to each node according to the CFO, TO and the extracted effective peak position of each node. 1 [i],A 2 [i],…,A W [i]}, where Represents the node data corresponding to the ω-th arrangement. Figure 3 For example, since there are only two peaks for three users, The peak numbers corresponding to the possible arrangements are Assuming that the cumulative frequency offset between CFO and TO of node 1 is 1, the cumulative frequency offset between CFO and TO of node 2 is 2, and the cumulative frequency offset between CFO and TO of node 3 is 3, then the data corresponding to all permutations are
[0113] (2) Calculate the log-likelihood probability corresponding to all permutations, where permutation A ω The corresponding log-likelihood probability of [i] is The calculation process is as follows: First, reconstruct A based on the CFO, TO and channel coefficient of each node ω [i] The corresponding time domain signal is expressed as make for The signal at the jth frequency point, y[i] is the received signal of the ith symbol, Y j [i]Yes The signal at the jth frequency point is zero-mean additive Gaussian noise Under this condition, the probability of frequency point j can be expressed as
[0114]
[0115] Therefore, A W The log-likelihood of [i] can be expressed as
[0116]
[0117] in is the number of frequency points of FFT;
[0118] (3) Keep K groups of data symbol sequences with the highest probability And the corresponding likelihood probability is
[0119] 9) (Channel decoding - hard decision channel decoding) If hard decision channel decoding is used, the LoRa gateway decoding module selects the symbol with the highest probability for each symbol and arranges it in A (1) ,by Figure 3 Taking the second symbol as an example, the last arrangement {90,54,54} is selected with the highest probability; then the data of the mth node is extracted according to the node sequence number, and the data of each node is obtained using the standard LoRa channel decoder;
[0120] 10) (Channel decoding-soft decision channel decoding) If soft decision channel decoding is used, the LoRa gateway decoding module performs symbol bit probability conversion, Gray mapping probability conversion, deinterleaving soft probability conversion, Hamming soft decoding and dewhitening on each node according to the K most probable symbol sequences and their probabilities output by the symbol demodulation module, obtains the data of each node and aggregates it. The specific steps are as follows:
[0121] (1) (Channel decoding - soft decision channel decoding - node data extraction) For each symbol, extract the demodulated data belonging to the mth node and the corresponding probability
[0122] The symbol bit probability conversion algorithm is as follows:
[0123]
[0124]
[0125] (2) (Channel decoding-soft decision channel decoding-symbol bit probability conversion) For each bit, find the corresponding i-th symbol; iterate in order For each item, find the corresponding index set idx where the bit is equal to 0 and 1 0 and idx 1 ; Using this index set, in Separate idx 0 and idx 1 The corresponding log-likelihood probabilities are summed and finally normalized to obtain the bit-level probability. The algorithm is as follows Figure 4 As shown. Figure 3 Taking the second symbol of node 1 as an example, assuming that the data corresponding to all permutations is The corresponding symbol likelihood probabilities are {-20,-39,-13,-50,-126,-0.5}. Assuming K = 3, the possible permutations of node 1 are {53,89} = {(0110101) 2 ,(1011001) 2}, the corresponding likelihood probability is {-39,-13.5}, then the normalized probability of the highest bit being 0 is The remaining bits can be calculated in the same way to obtain the probability that each bit of the second symbol of node 1 is 0
[0126] (3) (Channel decoding - soft decision channel decoding - Gray mapping probability conversion) Perform a probability conversion by performing a -1 operation on the normalized bit-level probability. Figure 5 A reference diagram of Gray mapping probability conversion is given, such as Figure 5 As shown, the three (d 2 ,d 1 ,d 0 ) as an example. 2 =0 can be obtained from (0,0,0), (0,0,1), (0,1,0) and (0,1,1), and the probabilities of these arrangements can be transferred from (0,0,1), (0,1,0), (0,1,1) and (1,0,0) respectively. 2 The probability of zero is equivalent to the sum of the probabilities of the two cases: (1) d 2 =1,d 1 =d 0 =0; (2)d 2 =0,d 1 &d 0 ≠0. Therefore, the probability after the -1 operation is It can be expressed as in use The probability after XOR operation can be further calculated in Repeat the above steps for each bit to get the probability after Gray soft mapping;
[0127] (4) (Channel decoding-soft decision channel decoding-deinterleaving soft probability conversion) uses a standard deinterleaving module to rearrange the probability after Gray soft mapping according to the deinterleaving formula to obtain the probability after deinterleaving;
[0128] (5) (Channel decoding-soft decision channel decoding-Hamming soft decoding) uses a spherical Hamming soft decoder to process the bit-level probability input and obtain data bit output;
[0129] (6) (Channel decoding-soft decision channel decoding-dewhitening) uses a standard dewhitening module to perform an XOR operation on the bit data output by the Hamming soft decoding and the pseudo-random sequence to obtain the data of each node;
[0130] 11) The LoRa gateway aggregates the data of each node to obtain the aggregation result;
[0131] 12) The LoRa gateway has completed this round of scheduling and can proceed to the next round of scheduling, returning to step 1).
[0132] The USRP N210 and two commercial Heltec LoRa nodes were used for experimental evaluation. The USRP gateway contains a UBX daughterboard and a single VERT400 antenna, which can receive signals in the 470MHz band. The Heltec LoRa Node 151 contains an STM32 microcontroller and an SX1276 radio chip. The Heltec CubeCell GPS-6502 contains an ASR6502 microcontroller and an SX1262 radio chip. The experiments were conducted in an indoor environment, using a spreading factor of SF = 10 and a coding rate of And bandwidth BW = 125KHz. The collected single-node data packets are superimposed with different TOs to simulate concurrent transmission, and the energy between any two data packets is greater than 1.5dB. Finally, noise is added to the superimposed signal to accurately simulate different SNR conditions, namely high SNR (>15dB), medium SNR (5~15dB), low SNR (-5~5dB) and very low SNR (<-5dB). The present invention (LoRaPDA) is compared with a multi-packet receiving technology based on frequency domain characteristics (Choir) and a multi-packet receiving technology based on time domain characteristics (Pyramid), and the results are as follows:
[0133] 1. SER and physical layer throughput: Figure 6 As shown in (a), comparing the concurrent transmission of three nodes, under extremely low SNR, the symbol error rate (SER) of Pyramid and Choir reaches 89.5% and 74.6% respectively, while the SER of the present invention is only 14.7%. Under high SNR, the SER of the present invention is lower than 0.6%, while the SER of Pyramid and Choir is still higher than 40%. The physical layer throughput under all SNR conditions shown in the figure is better than that of Pyramid and Choir. Figure 6 As shown in (b), under extremely low SNR, the physical layer throughput of the present invention is 206.3 sym / s, which is 3.4 times that of Choir (61.3 sym / s) and 8.1 times that of Pyramid (25.5 sym / s).
[0134] 2. Comparison of BER between hard decision channel decoding and soft decision channel decoding: Figure 6 As shown in (c), for two nodes decoding concurrent signals, the BER of the hard decision channel decoding algorithm is still higher than 1×10 even at high SNR. -4 , and when the SNR is about -5dB, the BER of the soft decision channel decoding algorithm is less than 1×10 -4 ; When SNR>0dB, the soft decision channel decoding algorithm can achieve less than 1×10 -6 For four-node concurrent signal decoding, the BER of the hard decision channel decoding algorithm is always higher than 1×10 -3 , and when SNR ≥ 5dB, the BER of the soft decision channel decoding algorithm can be lower than 1×10 -4 Therefore, for SNR ≥ 0 dB, the BER of the soft-decision channel decoding algorithm is 10 times lower than that of the hard-decision channel decoding algorithm.
[0135] 3. Network layer throughput: The present invention and Choir use synchronous scheduling transmission with four nodes concurrently, while Pyramid uses synchronous scheduling transmission with six nodes concurrently or uncoordinated transmission (directly using the ALOHA protocol). Figure 6 As shown in (d), compared with non-coordinated transmission, the network layer throughput of the present invention is at least 2.1 times that of the non-coordinated transmission Pyramid. For example, under high SNR, the throughputs of the present invention and the non-coordinated transmission Pyramid are 1.2 kbit / s and 0.56 kbit / s, respectively. Compared with other coordinated transmissions, since the present invention can obtain a lower PER under high SNR and small TO, the network layer throughput of the present invention is 3.2 times (0.37 kbit / s) of the synchronous scheduled transmission Pyramid and 13.3 times (0.09 kbit / s) of Choir. In addition, the present invention can obtain a near-optimal network layer throughput (optimal throughput is 1.22 kbit / s) when the SNR conditions are low, medium, and high in the figure.
[0136] In addition to being applicable to the LoRa network data aggregation process, the technical solution of the present invention may also be applied to the LoRa network multi-packet receiving process (because data aggregation is achieved by first decoding the data of each node and then aggregating it), and may also be applied to data aggregation of other types of low-power wide-area Internet of Things, such as SigFox and ZigBee.
[0137] The English abbreviations involved in the present invention are shown in Table 1.
[0138] Table 1
[0139]
[0140] The above embodiments are only preferred embodiments of the present invention and cannot be considered to limit the scope of the present invention. All equivalent changes and improvements made within the scope of the present invention should still fall within the scope of the present invention.
Claims
1. A device for implementing LoRa network data aggregation, characterized in that A preamble detection module, an offset and channel estimation module, a symbol demodulation module, and a channel decoding module are sequentially provided; The preamble detection module is used to determine the starting position of the time synchronization superposition signal from the received LoRa node concurrent transmission signal; The offset and channel estimation module is used to estimate the carrier frequency offset CFO, time offset TO and channel coefficient of each node from the received preamble code and the frame start delimiter superimposed chirp signal; The symbol demodulation module is used to demodulate the data symbols belonging to each node from the superimposed data signal; the symbol demodulation module extracts the effective peak value of each demodulation window, and combines CFO, TO and channel coefficient to demodulate K groups of symbol sequences with the highest probability and their likelihood probabilities; The symbol demodulation is for the i-th data symbol, i∈[1,N s ], perform symbol demodulation in sequence, the specific steps are as follows: (1) Peak extraction: According to the starting position and LoRa frame structure, determine the starting position of the i-th data symbol and the demodulation window range; use the truncated down-chirp signal Perform cross-correlation to eliminate the interference caused by the previous symbol to the next symbol; extract all valid peaks above a certain threshold in the demodulation window and record the positions {p1[i], p2[i], …, p V [i]}, where the peak number V does not exceed the number of nodes M; (2) Likelihood mapping: A) Generate all possible data symbol arrangements corresponding to each node according to the CFO, TO and the extracted effective peak position Ω[i] = {A 1 [i],A 2 [i],…,A W [i]}, where Represents the data of each node corresponding to the ω-th arrangement. Assume that the peak value corresponding to the m-th node is p n [i] Then is the symbolic data of node m, where express The corresponding frequency offset, express The corresponding frequency offset; B) Calculate the log-likelihood probability corresponding to all permutations, where permutation A ω The corresponding log-likelihood probability of [i] is The calculation process is as follows: First, reconstruct A based on the CFO, TO and channel coefficient of each node ω [i] The corresponding time domain signal is expressed as make for The signal at the jth frequency point, y[i] is the received signal of the ith symbol, Y j [i]Yes The signal at the jth frequency point, then correspond The probability product of the frequency points is Since the σ noise power is the same, it can be expressed equivalently as (3) Keep K groups of data symbol sequences with the highest probability And the corresponding likelihood probability is The channel decoding module is used to use hard decision channel decoding or soft decision channel decoding for the data symbol of each node, and output the data bit of each node; The channel decoding module: for the data symbol of each node, hard decision channel decoding or soft decision channel decoding is used. The soft decision channel decoding: the symbol-level probability of K groups of data sequences is transferred to the bit-level probability, and the data of each node is obtained by decoding through Gray soft mapping, deinterleaving, Hamming soft decoding and dewhitening; the hard decision channel decoding: the group of data symbol sequences with the highest probability is taken, and the standard LoRa channel decoding is used to obtain the data of each node; The specific steps of the hard decision channel decoding are: (1) For each symbol, extract the data symbol arrangement A with the highest probability (1) , extract the data of the mth node according to the node sequence number: (2) Yes Use the standard LoRa channel decoder to decode and obtain the decoded data of each node; The specific steps of the soft decision channel decoding are: (1) Node data extraction: For each symbol, extract the demodulated data belonging to the mth node and the corresponding probability (2) Symbol-bit probability conversion: For each bit, find the corresponding i-th symbol; iterate in sequence For each item of , find the corresponding index sets idx0 and idx1 whose bits are equal to 0 and 1; using this index set, Separate the log-likelihood probabilities corresponding to idx0 and idx1 and sum them, and finally normalize them to get the bit-level probability; (3) Gray mapping probability conversion: Perform probability conversion of the normalized bit-level probability by -1 operation, and perform probability conversion of the XOR operation to obtain the soft probability after Gray mapping: (4) Deinterleaving soft probability conversion: The soft probabilities after Gray mapping are rearranged according to the deinterleaving formula to obtain the deinterleaved soft probabilities; (5) Hamming soft decoding: A Hamming soft decoder is used to process the deinterleaved probability input and obtain data bit output; (6) De-whitening: XOR the Hamming soft-decoded bits with the pseudo-random sequence to obtain the decoded data output; The specific steps of performing the probability conversion of the normalized bit-level probability by -1 operation are as follows: for each bit after the -1 operation, enumerate all possible bit sequences that cause the bit to be 0 before the operation, calculate the joint probability of these bit sequences and sum them, and the difference between 1 and the sum value is the probability that the bit is 1; The specific steps of performing probability conversion on the XOR operation to obtain the soft probability after Gray mapping are as follows: for each bit after the XOR operation, enumerate all possible bit sequences that cause the bit to be 0 before the operation, calculate the joint probability of these bit sequences and sum them up, and the difference between 1 and the sum value is the probability that the bit is 1.
2. A method for implementing LoRa network data aggregation, characterized in that The following steps are involved: 1) Preamble detection: detect the preamble of the time synchronization superposition signal to obtain the starting position of the valid signal; 2) Offset and channel estimation: Use the preamble and frame start delimiter to estimate the CFO, TO and channel coefficient of each node; 3) Symbol demodulation: Extract the effective peak value of each demodulation window, and demodulate K groups of symbol sequences with the highest probability and their likelihood probabilities by combining CFO, TO and channel coefficients; The symbol demodulation is for the i-th data symbol, i∈[1,N s ], perform symbol demodulation in sequence, the specific steps are as follows: (1) Peak extraction: According to the starting position and LoRa frame structure, determine the starting position of the i-th data symbol and the demodulation window range; use the truncated down-chirp signal Perform cross-correlation to eliminate the interference caused by the previous symbol to the next symbol; extract all valid peaks above a certain threshold in the demodulation window and record the positions {p1[i], p2[i], …, p V [i]}, where the peak number V does not exceed the number of nodes M; (2) Likelihood mapping: A) Generate all possible data symbol arrangements corresponding to each node according to the CFO, TO and the extracted effective peak position Ω[i] = {A 1 [i],A 2 [i],…,A W [i]}, where Represents the data of each node corresponding to the ω-th arrangement. Assume that the peak value corresponding to the m-th node is p n [i] Then is the symbolic data of node m, where express The corresponding frequency offset, express The corresponding frequency offset; B) Calculate the log-likelihood probability corresponding to all permutations, where permutation A ω The corresponding log-likelihood probability of [i] is The calculation process is as follows: First, reconstruct A based on the CFO, TO and channel coefficient of each node ω [i] The corresponding time domain signal is expressed as make for The signal at the jth frequency point, y[i] is the received signal of the ith symbol, Y j [i]Yes The signal at the jth frequency point, then correspond The probability product of the frequency points is Since the σ noise power is the same, it can be expressed equivalently as (3) Keep K groups of data symbol sequences with the highest probability And the corresponding likelihood probability is 4) Channel decoding: For the data symbol of each node, hard decision channel decoding or soft decision channel decoding is used. The soft decision channel decoding: the symbol-level probability of K groups of data sequences is transferred to the bit-level probability, and the data of each node is decoded through Gray soft mapping, deinterleaving, Hamming soft decoding and dewhitening; the hard decision channel decoding: the group of data symbol sequences with the highest probability is taken, and the standard LoRa channel decoding is used to obtain the data of each node; The specific steps of the hard decision channel decoding are: (1) For each symbol, extract the data symbol arrangement A with the highest probability (1) , extract the data of the mth node according to the node sequence number: (2) Yes Use the standard LoRa channel decoder to decode and obtain the decoded data of each node; The specific steps of the soft decision channel decoding are: (1) Node data extraction: For each symbol, extract the demodulated data belonging to the mth node and the corresponding probability (2) Symbol-bit probability conversion: For each bit, find the corresponding i-th symbol; iterate in sequence For each item of , find the corresponding index sets idx0 and idx1 whose bits are equal to 0 and 1; using this index set, Separate the log-likelihood probabilities corresponding to idx0 and idx1 and sum them, and finally normalize them to get the bit-level probability; (3) Gray mapping probability conversion: Perform probability conversion of the normalized bit-level probability by -1 operation, and perform probability conversion of the XOR operation to obtain the soft probability after Gray mapping: (4) Deinterleaving soft probability conversion: The soft probabilities after Gray mapping are rearranged according to the deinterleaving formula to obtain the deinterleaved soft probabilities; (5) Hamming soft decoding: A Hamming soft decoder is used to process the deinterleaved probability input and obtain data bit output; (6) De-whitening: XOR the Hamming soft-decoded bits with the pseudo-random sequence to obtain the decoded data output; The specific steps of performing the probability conversion of the normalized bit-level probability by -1 operation are as follows: for each bit after the -1 operation, enumerate all possible bit sequences that cause the bit to be 0 before the operation, calculate the joint probability of these bit sequences and sum them, and the difference between 1 and the sum value is the probability that the bit is 1; The specific steps of performing probability conversion on the XOR operation to obtain the soft probability after Gray mapping are as follows: for each bit after the XOR operation, enumerate all possible bit sequences that cause the bit to be 0 before the operation, calculate the joint probability of these bit sequences and sum them, and the difference between 1 and the sum value is the probability that the bit is 1; 5) Aggregate the data of each node to obtain the aggregation result.
3. A method for implementing LoRa network data aggregation as claimed in claim 2, characterized in that In step 1), the preamble detection specifically includes the following steps: (1) Coarse synchronization: First, cross-correlate the received synchronization superposition signal y with the standard up-chirp signal C, set the amplitude threshold to find all the peak points, and take the position of the smallest peak point as the rough starting position of the effective signal; (2) Window alignment: According to the starting position obtained by coarse synchronization, the window is slid in the direction of decreasing time to perform demodulation operation, that is, the synchronous superposition signal y is aligned with the standard down-chirp signal C * Cross-correlation, fast Fourier transform, set the amplitude threshold to identify the peak in the demodulation window, and if the peak value no longer increases, the position of the highest peak point is taken as the starting position of the valid signal.
4. A method for implementing LoRa network data aggregation as claimed in claim 2, characterized in that In step 2), the offset and channel estimation includes coarse estimation and fine estimation, and the specific steps are as follows: (1) Rough estimate: A) According to the starting position of the effective signal obtained by the preamble code detection, the two symbols of the preamble code and the frame start delimiter of the synchronous superimposed signal are sequentially intercepted and combined with the down chirp signal C * Perform cross-correlation, set the amplitude threshold, and obtain the peak point positions corresponding to M nodes based on the information with the same amplitude at the same node. B) According to the CFO and TO calculation formula and Get a rough estimate and C) Reconstruct the preamble signal using the roughly estimated CFO and TO in f(s) represents the frequency corresponding to data s, r τ (·) means filling with zeros and shifting right by τ sampling points; D) Use the least squares estimation method to obtain the channel coefficient estimate in is the reconstructed preamble signal and the standard down-chirp signal C * The fast Fourier transform result after cross-correlation, · represents the cross-correlation operation, represents the fast Fourier transform operation; (2) Detailed estimation: Based on the channel coefficient Reconstructed signal E f , the residual between the received symbol and the reconstructed symbol is obtained Minimize the residual function to find the best matching offset value, that is, Where m∈{1,…,M}, ∈ is the size of the FFT frequency point.
Citation Information
Patent Citations
Method for processing received OFDM data symbols and OFDM baseband receiver
CN102447656A
Modulation and demodulation method, device and system based on overlapped multiplexing
CN107846260A