Data sending and receiving methods based on LoRa

A data transmission method and original data technology, applied in the field of Internet of Things, can solve problems such as LoRa channel transmission interference, and achieve the effects of enhanced anti-interference ability, strong practicability, and low encoding and decoding complexity

Active Publication Date: 2018-09-04
TSINGHUA UNIV
6 Cites 7 Cited by

AI-Extracted Technical Summary

Problems solved by technology

[0005] The present invention provides a method for sending and receiving data based on LoRa in ord...
the structure of the environmentally friendly knitted fabric provided by the present invention; figure 2 Flow chart of the yarn wrapping machine for environmentally friendly knitted fabrics and storage devices; image 3 Is the parameter map of the yarn covering machine
View more

Method used

In a specific embodiment of the present invention, by calculating the likelihood ratio of received data, path selection and cyclic redundancy check, obtain the original data based on the LoRa transmission of polar coding, strengthen the anti-jamming ability of LoRa channel transmission , which improves the transmission reliability of the LoRa Internet of Things, and at the same time has the advantages of low coding and decoding complexity and strong practicability.
In this example, on the basis of applying LoRa to carry out data transmission, original data has been carried out polarization encoding, has strengthened the anti-jamming ability of LoRa channel transmission, has improved the transmission reliability of LoRa Internet of Things, possesses codec at the same time The advantages of low complexity and strong practicability.
[0043] S12, the transmitting end divides the current channel into multiple sub-channels through channel polarization. Wherein, the number of the sub-channels is a second p...
the structure of the environmentally friendly knitted fabric provided by the present invention; figure 2 Flow chart of the yarn wrapping machine for environmentally friendly knitted fabrics and storage devices; image 3 Is the parameter map of the yarn covering machine
View more

Abstract

The invention provides data sending and receiving methods based on LoRa. The sending method comprises the steps of performing CRC coding on original data to acquire a first sequence, wherein the length of the first sequence is a first parameter; if a current channel is polarized to a second parameter of sub-channels, selecting the first parameter of sub-channels with the maximum channel capacity from each sub-channel to serve as information bit transmission channels and recording numbers, wherein the second parameter is a polarization length; based on each number, placing each piece of bit information in the first sequence to a corresponding bit of the second sequence to form a third sequence, wherein the length of the second sequence is the second parameter, and each piece of bit information is 0; performing linear conversion on the third sequence to acquire a fourth sequence; deleting the corresponding bit in the fourth sequence according to the serial number of the bit to be deletedto form a fifth sequence; and modulating and then transmitting the fifth sequence via a LoRa module. According to the method provided by the invention, the anti-interference capacity of LoRa channeltransmission is enhanced, and the transmission reliability of the LoRa Internet of Things is improved.

Application Domain

Technology Topic

Channel capacityInternet of Things +5

Image

  • Data sending and receiving methods based on LoRa
  • Data sending and receiving methods based on LoRa
  • Data sending and receiving methods based on LoRa

Examples

  • Experimental program(1)

Example Embodiment

[0037] The specific embodiments of the present invention will be described in further detail below with reference to the accompanying drawings and embodiments. The following examples are intended to illustrate the present invention, but not to limit the scope of the present invention.
[0038] In order to solve the problem of serious interference of LoRa channel transmission in the prior art, the present invention provides a LoRa-based data transmission and reception method, and describes the LoRa-based data transmission method and data reception from the perspectives of the transmitter and the receiver respectively. method.
[0039] First, the LoRa data sending method of the sender is described as follows:
[0040] figure 1 It is a schematic flowchart of a LoRa-based data transmission method according to a specific embodiment of the present invention, such as figure 1As shown, a LoRa-based data transmission method includes: S11, performing cyclic redundancy check coding on the original data to obtain a first sequence; the length of the first sequence is a first parameter; S12, if the current channel is extremely into the second parameter sub-channels, select the first parameter sub-channel with the largest channel capacity from the sub-channels as the information bit transmission channel, and record the number of each information bit transmission channel; the second parameter is The preset polarization length; S13, based on the number of the transmission channel of each information bit, place the information of each bit in the first sequence on the corresponding bit of the second sequence to form a third sequence; the second sequence The length of the second parameter is the second parameter, and the information of each bit of the second sequence is 0; S14, perform linear transformation on the third sequence to obtain the fourth sequence; S15, delete the fourth sequence according to the sequence number of the bit to be deleted The corresponding bits in the sequence constitute the fifth sequence; the sequence numbers of the bits to be deleted are obtained based on the quasi-uniform punching method, and the number of the sequence numbers of the bits to be deleted is the polarization length and the payload part sequence of the LoRa module The difference in length; S16, the fifth sequence is modulated by the LoRa module and then transmitted.
[0041] Specifically, in S11, the transmitting end performs cyclic redundancy check encoding on the original data to obtain the first sequence. The transmitting end defines the length of the first sequence as the first parameter. In a specific embodiment of the present invention, the original data is data obtained after sampling and quantization by the sensor. In addition, the original data can also be any information that needs to be transmitted through LoRa, and is not limited thereto.
[0042] Further, the cyclic redundancy check (Cyclic Redundancy Check, CRC) is a kind of hash function that generates a short fixed-digit check code according to data such as network data packets or computer files, and is mainly used for detection or calibration. errors that may occur after data transmission or saving. The CRC performs error detection through the principle of division and remainder.
[0043] S12, the transmitting end divides the current channel into multiple sub-channels by channel polarization. The number of the subchannels is a second parameter, and the second parameter is a preset polarization length. In the specific embodiment of the present invention, the channel polarization is to linearly combine the inputs of multiple identical channels, so that the error rate of the partial equivalent subchannels is reduced, and the error rate of the partial equivalent subchannels is increased. The channel with low error rate is selected to transmit information bits, and the channel with high error rate is used to transmit non-information bits, which can reduce the bit error rate.
[0044] Then, on the basis of knowing the channel capacity of each sub-channel, the transmitting end selects the first parameter sub-channel with the largest channel capacity from all the sub-channels into which the current channel is divided, and defines the above-selected sub-channel as information Bit transmission channel, record the number corresponding to each information bit transmission channel.
[0045] S13, the transmitting end initializes a sequence whose length is a preset polarization length and whose information is all 0, and defines the sequence as the second sequence. According to the recorded codes corresponding to each information bit transmission channel, the information of each bit in the first sequence is sequentially placed on the numbered bits of the information bit transmission channel corresponding to the second sequence, and the second sequence to which the first sequence information is added is added. Defined as the third sequence.
[0046] S14, the transmitting end performs linear transformation on the third sequence, and defines the third sequence after the linear transformation as the fourth sequence.
[0047] S15, the transmitting end deletes the bit corresponding to the sequence number of the bit to be deleted in the fourth sequence, and defines the fourth sequence from which the bit corresponding to the sequence number of the bit to be deleted is deleted as the fifth sequence.
[0048] Wherein, the sequence number of the bit to be deleted is obtained according to a quasi-uniform puncturing method. In the quasi-uniform puncturing method (Quasi-uniform Puncturing, QUP), the polarization length, that is, the code length of the mother code, is N=2 n , the sequence length of the payload part of the LoRa module is N t , the number of bit sequence numbers to be deleted, that is, the number of puncturing bits is N p =N-N t , the puncturing vector p is a binary vector, and the element whose value is 0 indicates the puncturing bit position, that is, the sequence number of the bit to be deleted.
[0049] Further, the quasi-uniform drilling method is as follows:
[0050] 1) The initialization vector p is all 1, and the first N is set p elements are 0;
[0051] 2) A bit-reversal permutation operation is performed on the vector p, so as to obtain a puncturing vector, that is, the bit sequence number to be deleted.
[0052] For example, for N=8, N t =5, N p =3, the initialization vector p=(00011111), the vector after bit inversion sorting, that is, the puncturing vector p=(01010111). The positions with the serial numbers of 1, 3 and 5 are the positions of the puncturing bits, that is, the serial numbers of the bits to be deleted are 1, 3 and 5.
[0053] S16, the transmitter uses the LoRa module to modulate and transmit the fifth sequence obtained in the above steps.
[0054] In the specific embodiment of the present invention, before applying LoRa for data transmission, polarization coding is performed on the original data, which enhances the anti-interference ability of LoRa channel transmission, improves the transmission reliability of the LoRa Internet of Things, and has the complexity of coding and decoding. The advantages of low cost and strong practicability.
[0055] Based on the above specific embodiment, a method for sending data based on LoRa, the step S11 further includes: performing cyclic redundancy code check on the original data to obtain check data; attaching the check data to the original data Then, a first sequence is formed; wherein, the length of the first sequence is a first parameter, and the first parameter is the sum of the length of the original data and the length of the check data.
[0056] Specifically, in the step S11, the process of performing CRC encoding on the original data further includes performing CRC on the original data to generate verification data, and splicing the original data and the verification data to form a first sequence two parts.
[0057] It can be seen that, correspondingly, the first sequence is composed of original data and check data, and the check data is attached to the original data as a check digit of the original data.
[0058] Further, the cyclic redundancy check (Cyclic Redundancy Check, CRC) can be performed by a table look-up method or a calculation method, and is not limited thereto.
[0059] For example, CRC-16 encoding the raw data. Let the length of the original data be K r , the length of the first sequence obtained after encoding, that is, the first parameter is K, where K=K r +16.
[0060] Treat raw data as binary numbers. CRC-16 generator polynomial is x 16 +x 15 +x 2 +1 for 1 1000 00000000 0101 (simplified representation is 0x8005).
[0061] Use the calculation method to obtain the 16-bit check digit information:
[0062] (1a) Initialize the 16-bit CRC register to 0xFFFF.
[0063] (1b) Convert the first byte of the original data (ie, the first 8 bits ) and the lower 8 bits of the CRC register to perform bitwise XOR, and store the result in the lower 8 bits of the CRC register.
[0064] (1c) Shift the CRC register value to the right by one bit (toward the lower bit), fill the most significant bit with zeros, and check the least significant bit that is shifted out.
[0065] (1d) If the least significant bit is 0, repeat step (1c) directly; if it is 1, then XOR the current CRC register value with 0xA001 bitwise, and store the result in the CRC register. Among them, 0xA001 is 1 1010 0000 0000 0001, and the valid check digit (last 16 bits) is the result of the inversion of the valid check digit bit order of 0x8005.
[0066] (1e) Repeat steps (1c) and (1d) until 8 right shifts are completed, that is, the processing of the first byte of the original data is completed.
[0067] (1f) Process the next byte of the original data according to steps (1b) to (1e) until the processing of all bytes of the original data is completed.
[0068] (1g) Swap the high eight bits and low eight bits of the 16-bit CRC value in the register, and attach it to K as a check bit r After the original data of the bits is formed, a K-bit data sequence including the original data and the check information is formed, that is, the first sequence.
[0069] In the specific embodiment of the present invention, the application of the cyclic redundancy check coding assisted polar code in the field of LoRa data transmission helps to improve the transmission performance under low signal-to-noise ratio.
[0070] Based on any of the above specific embodiments, a method for sending data based on LoRa, before the step S12, further comprising: if the current channel polarization is the second parameter sub-channel, then according to the Monte Carlo method or the density evolution under the Gaussian approximation The log-likelihood ratio of each sub-channel is calculated by the method, and the channel capacity of each sub-channel is obtained through the log-likelihood ratio of each sub-channel.
[0071] Specifically, before selecting subchannels according to the channel capacity, the channel capacity of each subchannel needs to be calculated. In the specific embodiment of the present invention, the log-likelihood ratio of a sub-channel is used as a parameter to measure the channel capacity of the corresponding sub-channel, wherein the log-likelihood ratio (LLR) is usually used for soft decoding in communication.
[0072] Further, algorithms for calculating the log-likelihood ratio of sub-channels such as Monte Carlo method and density evolution method under Gaussian approximation.
[0073] Among them, the Monte Carlo method, also known as the statistical simulation method, is a very important numerical calculation method guided by the theory of probability and statistics. When the problem to be solved is the probability of a random event, or When it is the expected value of a random variable, through some "experimental" method, the probability of this random event is estimated by the frequency of this event, or some numerical characteristics of this random variable are obtained, and it is used as the problem. untie.
[0074] For example, applying the density evolution algorithm under the Gaussian approximation to calculate the log-likelihood ratio of the sub-channel includes the following steps:
[0075] (3a) Set a signal-to-noise ratio parameter cS1NR;
[0076] (3b) According to cS1NR, set the variance of the Gaussian distribution:
[0077]
[0078] (3c) Using an N-bit register to store the log-likelihood ratio LLR of each sub-channel after polarization, the bits corresponding to the determined bits to be deleted are initialized to 0, and the remaining bits are initialized to 2/σ 2;
[0079] (3d) Consider a segment length 2Δ, Δ=2 i , i is initialized to 0, and the sequence of length N is split into N/2Δ segments;
[0080](3e) Set j to an integer increasing from 1 to N/2Δ, consider an integer k under each value of j, and in the process of increasing k from 1 to j-1, for each value of k The new log-likelihood ratio sequence llr is calculated according to the following formula:
[0081]
[0082] Among them, the values ​​of subscript t and S1 are:
[0083]
[0084] Among them, the function used with the inverse function They are:
[0085]
[0086]
[0087] Among them, the parameters are: α=0.0564, β=0.4856, γ=0.86;
[0088] (3f) After completing the calculation in (3e), assign the obtained new log-likelihood ratio sequence llr to LLR;
[0089] (3g) Expand the segment length Δ in (3d) by two times, that is, Δ=2 i+1 , repeat steps (3e) and (3f); complete the calculation of (3e) and (3f) under Δ=N/2, terminate, and obtain the capacity of each subchannel after polarization is completed through the LLR value at this time.
[0090] In the specific embodiment of the present invention, a calculation method of channel capacity is given, which provides a basis for the selection of sub-channels after polarization.
[0091] Based on any of the above-mentioned specific embodiments, a LoRa-based data transmission method, the step S12 further includes: if the current channel polarization is the second parameter sub-channel, using a sorting algorithm based on the channel capacity of each sub-channel from large to large Sort the sub-channels in the smallest order; the sorting algorithm includes at least a quick sorting algorithm and/or a selection sorting algorithm; sequentially select the first parameter sub-channel with the largest channel capacity as the information bit transmission channel, and record each sub-channel. The number of the information bit transmission channel; the second parameter is the preset polarization length.
[0092] Specifically, in the process of selecting sub-channels as information bit transmission channels according to channel capacity, it is first necessary to sort each sub-channel in descending order of channel capacity through a sorting algorithm. In a specific embodiment of the present invention, the sorting algorithm is an internal sorting algorithm, that is, sorting data records in memory, such as bubble sorting algorithm, direct insertion sorting algorithm, Hill sorting algorithm, heap sorting algorithm, quick sorting algorithm and Selection sort algorithm, etc.
[0093] Among them, the selection sorting algorithm is a simple and intuitive sorting algorithm. Its working principle is: initially find the smallest (largest) element in the sequence, and put it at the starting position of the sequence as the sorted sequence; then, from the remaining unsorted Continue to find the smallest (largest) element in the element and put it at the end of the sorted sequence. And so on until all elements are sorted.
[0094] Quicksort is a sorting algorithm developed by Tony Hall. On average, sorting n elements takes O(nlogn) comparisons. O(n^2) comparisons are required in the worst case, but this is not common. In fact, quicksort is usually significantly faster than other O(nlogn) algorithms because its inner loop can be implemented efficiently on most architectures.
[0095] Subsequently, the first parameter sub-channels with the largest channel capacity are sequentially selected as the information bit transmission channels, and the serial number of each information bit transmission channel is recorded.
[0096] In the specific embodiment of the present invention, the sorting algorithm provides convenience for selecting the sub-channel with the largest channel capacity,
[0097] Based on any of the above-mentioned specific embodiments, figure 2 is a schematic diagram of the third sequence linear transformation in the specific embodiment of the present invention, such as figure 2 As shown, a LoRa-based data transmission method, the step S14 further includes: S141, according to the following formula, the third sequence convert to vector
[0098]
[0099] where N is the polarization length, s 2m-1 and s 2m respectively the vector 2m-1 and 2mth bits of information in, u 2m-1 and u 2m respectively the third sequence 2m-1 and 2mth bits of information in , m is a positive integer; S142, according to the following formula to the vector Reorder to get a vector
[0100]
[0101] In the formula, v m and v 2(m-N/2) respectively the vector The mth and 2nd (m-N/2) bits of information in ; S143, the vector into vectors and S144, the vectors are respectively and as Step S141 is executed.
[0102] Specifically, after the third sequence is linearly transformed, the process of transmitting each bit through the channel in turn can be regarded as an N-dimensional vector Combined channel W N transmission, linear transformation and equivalent combined channel W N Recursive representation follows the above rules.
[0103] When N=2, the way of linear transformation is as follows image 3 shown:
[0104]
[0105] When the number of polarized channels is doubled, that is, N=4, the linear transformation method is as follows Figure 4 shown:
[0106]
[0107] according to figure 2 Medium Combined Channel W 4 with W 2 relationship, see W 4 by two W 2 channel and a permutation matrix R 4 composition.
[0108] Consider N=2 i situation, such as figure 2 shown, by two channels and a permutation matrix constitute.
[0109] The following describes the LoRa data receiving method at the receiving end:
[0110] Based on any of the above-mentioned specific embodiments, Figure 5 A schematic flowchart of a LoRa-based data receiving method according to a specific embodiment of the present invention, such as Figure 5 As shown, a LoRa-based data receiving method includes: S21, demodulating the received transmission information through a LoRa module to obtain a sixth sequence; S22, starting from the first bit of the sixth sequence, obtaining sequentially The decoding sequence when each information bit of the sixth sequence is 0 and 1 respectively, and the possibility of the decoding sequence is calculated; if the total number of the decoding sequences is greater than the preset number of sequences, the possibility of retaining the maximum The said sequence is several decoding sequences; the information bits are the corresponding bits of the encoding of the information bit transmission channel in the sixth sequence; S23, respectively perform a cyclic redundancy code check on each of the decoding sequences, according to The original data is obtained from the check result and possibility of each decoding sequence.
[0111] Specifically, S21, the receiving end receives the transmission information sent by the LoRa module of the transmitting end through the LoRa module, demodulates the transmission information, and defines the demodulated transmission information as a sixth sequence.
[0112] S22, the receiving end starts from the first bit of the sixth sequence, sequentially obtains the decoding sequences corresponding to each information bit in the sixth sequence when each of the information bits is 0 and 1, and obtains 0 and 1 for each information bit. When 1, the probability of the corresponding decoding sequence is calculated.
[0113] Further, in the specific embodiment of the present invention, the decoding sequence corresponding to the bit is also obtained by judging whether any bit in the sixth sequence is the number of bits corresponding to the information bit transmission channel coding. If the number of bits corresponding to this bit is the encoding of the information bit transmission channel, the bit is an information bit, and the corresponding decoding sequences when the bit is 0 and 1 are obtained; otherwise, the bit is a non-information bit, only the corresponding decoding sequence is obtained. The corresponding decoding sequence when the bit is 0.
[0114] Therefore, when the jth bit is decoded, l can be obtained j decoding sequences, and l j ≤2 j.
[0115] Let the preset number of sequences be L, when l jL, the receiver starts from the current l j Among the decoding sequences, the L most likely decoding sequences are reserved, and the remaining decoding sequences are deleted.
[0116] Subsequently, the receiving end enters into the decoding of the j+1th bit of the sixth sequence, repeats the decoding process of the above steps, and screens the decoding sequence according to the possibility. The decoding of each bit in the sixth sequence is completed in sequence, and finally L decoding sequences are reserved.
[0117] S23, the receiving end performs a cyclic redundancy code check on the L decoding sequences finally reserved in step S22, and obtains the original code from the L decoding sequences according to the check results and possibilities of the decoding sequences. data.
[0118] Further, the cyclic redundancy check (Cyclic Redundancy Check, CRC) is a kind of hash function that generates a short fixed-digit check code according to data such as network data packets or computer files, and is mainly used for detection or calibration. errors that may occur after data transmission or saving. The CRC performs error detection through the principle of division and remainder.
[0119] In the specific embodiment of the present invention, the original data of LoRa transmission based on polarization coding is obtained through the likelihood ratio calculation, path selection and cyclic redundancy check of the received data, which enhances the anti-interference ability of LoRa channel transmission and improves the The transmission reliability of LoRa IoT also has the advantages of low coding and decoding complexity and strong practicability.
[0120] Based on any of the above specific embodiments, a LoRa-based data receiving method, in step S22, the calculating the possibility of the decoding sequence further comprises: applying the following iterative formula to the logarithm similarity of the decoding sequence 1 Ran ratio is calculated:
[0121]
[0122] in, and are in the form of:
[0123]
[0124]In the formula, the initial form of iteration is
[0125] For bits that are deleted during quasi-uniform puncturing, the log-likelihood ratio is initially 0.
[0126] represents the log-likelihood ratio of a decoding sequence l of length i, and sequence The subsequence formed when the first bit of information is even and odd, is the sixth sequence.
[0127] For a decoding sequence l of length i, its probability Pr is defined as:
[0128]
[0129] in, is the probability of decoding the ith iteration of sequence l, Indicates the value of the j+1th bit in the decoding sequence l.
[0130] The Pr of the decoded sequence l is calculated iteratively by the log-likelihood ratio using the following formula:
[0131]
[0132] in, is a symbolic function, but but but
[0133] In the specific embodiment of the present invention, the calculation of the possibility of each decoding sequence in the decoding process is realized by an iterative algorithm.
[0134] Based on any of the above specific embodiments, a LoRa-based data receiving method, the step S23 further includes: if the original data is m bits, respectively performing a cyclic redundancy code on the first m bits in each of the decoding sequences check, and obtain check data; if the check data corresponding to any one of the decoding sequences is equal to the check digit of the decoding sequence, the decoding sequence passes the cyclic redundancy code check; the decoding sequence The check bit is the part after the mth bit of the decoding sequence; the first m bits of the decoding sequence with the highest probability are selected as the original data among the decoding sequences that have passed the cyclic redundancy code check.
[0135] Specifically, when the cyclic redundancy code check is performed on the decoding sequence, first m bits of each decoding sequence are extracted according to the length m of the original data.
[0136] Secondly, the first m bits of each decoding sequence are respectively checked for cyclic redundancy codes, and the check result of each decoding sequence is correspondingly obtained.
[0137] Then, compare the check result of any decoding sequence with the check digit of the decoding sequence:
[0138] If the check result of the decoding sequence is equal to the check bit, it is considered that the decoding sequence has passed the cyclic redundancy check;
[0139] Otherwise, it is considered that the decoded sequence fails the CRC check.
[0140] Wherein, the parity bits of the decoding sequence are bits m+1 to K of the decoding sequence, and K is the length of the decoding sequence.
[0141] Finally, in the decoding sequence that has passed the cyclic redundancy check, the decoding sequence with the highest probability is selected, and the first m bits of the decoding sequence with the highest probability are used as the original data.
[0142] The specific embodiment of the present invention provides a method for determining the closest original data through cyclic redundancy code checksum probability comparison, which has low coding and decoding complexity and strong practicability.
[0143] Based on any of the above specific embodiments, in a LoRa-based data receiving method, the step S23 further includes: if none of the decoding sequences pass the cyclic redundancy code check, the transmission information is an error block.
[0144] Specifically, when the above-mentioned cyclic redundancy code check is performed on the decoding sequence, there is still a situation where the check results of all the decoding sequences are different from the check bits, that is, in this case, the original data that meets the requirements cannot be selected, Then, it is considered that the transmission information received by the receiving end this time is an error block. The erroneous block is a data block containing one or more bit errors.
[0145] In order to better understand and apply a method for sending and receiving data based on LoRa proposed by the present invention, the present invention performs the following examples, and the present invention is not limited to the following examples.
[0146] Image 6 A schematic diagram of a LoRa-based data transmission and reception method according to a specific embodiment of the present invention, refer to Image 6 , and explain the LoRa-based data transmission method and data reception method from the perspective of the sender and the receiver respectively.
[0147] First, the LoRa data sending method of the sender is described as follows:
[0148] 11) The sender performs CRC-16 encoding on the original data obtained by sampling and quantization of the sensor to obtain the first sequence. Among them, the original data is K r bits, the first sequence obtained after encoding is K bits, where K=K r +16.
[0149] 12) The sequence length of the payload part of the data transmitted by the LoRa module is N t , the polarization length is an integer power N of 2, and N=2 n , N/2 t ≤N. According to the quasi-uniform drilling method, determine N-N t number of bits to be deleted.
[0150] In the quasi-uniform drilling method, the subscripts 1 to N are reduced by one and then represented by binary numbers, and then the bit order of the binary numbers corresponding to each subscript is reversed to obtain a new set of binary numbers, Figure 7 It is a schematic diagram of bit sequence reversal of N=8 in a specific embodiment of the present invention. The first N-N in the new binary number t number (0 to N-N t -1) The corresponding original subscript is the sequence number of the bit to be deleted.
[0151] 13) Using algorithms such as the Monte Carlo method or the density evolution method under the Gaussian approximation, calculate the log-likelihood ratio of each bit sub-channel when the current channel is polarized into N channels, and calculate the log-likelihood ratio of each bit sub-channel through the log-likelihood ratio of each bit sub-channel. Then, the channel capacity of each sub-channel can be obtained.
[0152] After completing the channel capacity calculation, sort the channel capacity of all sub-channels. Since the length of the sequence transmitted by LoRa technology is short, the N value is small, and sorting algorithms such as quick sort and selection sort can be used. After sorting, the K channels with the largest LLR values ​​are selected as the information bit transmission channels, which are used to place the information bits during transmission, and the numbers of the K channels are recorded.
[0153] 14) According to the codes corresponding to the recorded transmission channels of each information bit, place the information of each bit in the first sequence in turn on the numbering bits of the transmission channel corresponding to the information bits of the second sequence, and add the first sequence information to the numbered bits of the information bit transmission channel. The second sequence is defined as the third sequence The second sequence is a sequence initialized by the sender with a length of N and each bit of information being 0. Figure 8 This is a schematic diagram of the third sequence configuration of a specific embodiment of the present invention.
[0154] 15) Apply the following recursive method to convert the third sequence Convert to the fourth sequence:
[0155] 151) according to the following formula will the third sequence convert to vector
[0156]
[0157] where N is the polarization length, s 2m-1 and s 2m respectively the vector 2m-1 and 2mth bits of information in, u 2m-1 and u 2m respectively the third sequence In the 2m-1 and 2mth bits of information, m is a positive integer;
[0158] 152) according to the following formula to the vector Reorder to get a vector
[0159]
[0160] In the formula, v m and v 2(m-N/2) respectively the vector The mth and 2nd (m-N/2) bits of information in ;
[0161] 153) put the vector into vectors and
[0162] 154) respectively the vector and as Go to step 151).
[0163] 16) The transmitting end deletes the bit corresponding to the sequence number of the bit to be deleted in the fourth sequence, and defines the fourth sequence from which the bit corresponding to the sequence number of the bit to be deleted is deleted as the fifth sequence.
[0164] 17) The transmitter uses the LoRa module to modulate and transmit the fifth sequence obtained in the above steps.
[0165] The following describes the LoRa data receiving method at the receiving end:
[0166] 21) The receiving end receives the transmission information sent by the LoRa module of the transmitting end through the LoRa module, demodulates the transmission information, and defines the demodulated transmission information as the sixth sequence.
[0167] 22) Log-likelihood ratio when decoding the i-th bit of the fifth sequence It is calculated using an iterative formula of the form:
[0168]
[0169] in, and are in the form of:
[0170]
[0171] In the formula, the initial form of iteration is represents the log-likelihood ratio of a decoding sequence l of length i, and sequence The subsequence formed when the first bit of information is even and odd, is the sixth sequence.
[0172] For a decoding sequence l of length i, its probability Pr is defined as:
[0173]
[0174] in, is the probability of decoding the ith iteration of sequence l, Indicates the value of the j+1th bit in the decoding sequence l.
[0175] The Pr of the decoded sequence l is calculated iteratively by the log-likelihood ratio using the following formula:
[0176]
[0177] in, is a symbolic function, but but but
[0178] 23) Consider the current decoding sequence obtained when the i-th bit is 0 or 1, then when the j-th bit is decoded, 2 is obtained. j a possible sequence. L is the specified list length, when 2 jl, for the current 2 j The possibilities of the sequences are sorted, and the L decoding sequences with the highest probability are reserved for the decoding of the J+1th bit.
[0179] 24) For the decoding of bits J+1 to N, repeat the ordering and screening of possibilities in 22) and 23).
[0180] 25) After completing the decoding of the Nth bit and the sequence screening, a total of L decoding sequences are obtained. Extract the information bits of the L sequences to perform CRC check, and select the sequence with the highest probability among the sequences that pass the check as the final decoding result and output, that is, as the original data.
[0181] In the process of CRC check, for the first K of the K information bits r The CRC-16 standard in step 11) is used to calculate the check digit, and the calculated check digit is compared with the check digit part in the decoding result. If the two are equal, it is regarded as passing the CRC check, Not equal to pass.
[0182] If none of the L sequences after the N-bit decoding has passed the CRC check, the data packet received this time is regarded as an error block.
[0183] In this example, on the basis of applying LoRa for data transmission, the original data is polarized, which enhances the anti-interference ability of LoRa channel transmission, improves the transmission reliability of LoRa IoT, and has low coding and decoding complexity. , The advantages of strong practicability.
[0184] Finally, the method of the present application is only a preferred embodiment, and is not intended to limit the protection scope of the present invention. Any modification, equivalent replacement, improvement, etc. made within the spirit and principle of the present invention shall be included within the protection scope of the present invention.
the structure of the environmentally friendly knitted fabric provided by the present invention; figure 2 Flow chart of the yarn wrapping machine for environmentally friendly knitted fabrics and storage devices; image 3 Is the parameter map of the yarn covering machine
Login to view more

PUM

no PUM

Description & Claims & Application Information

We can also present the details of the Description, Claims and Application information to help users get a comprehensive understanding of the technical details of the patent, such as background art, summary of invention, brief description of drawings, description of embodiments, and other original content. On the other hand, users can also determine the specific scope of protection of the technology through the list of claims; as well as understand the changes in the life cycle of the technology with the presentation of the patent timeline. Login to view more.
the structure of the environmentally friendly knitted fabric provided by the present invention; figure 2 Flow chart of the yarn wrapping machine for environmentally friendly knitted fabrics and storage devices; image 3 Is the parameter map of the yarn covering machine
Login to view more

Similar technology patents

Multi-model transverse fuzzy control method based on vehicle speed partition

InactiveCN107024866ASolve problems that are difficult to model accuratelyImprove anti-interference abilityAdaptive controlController designDifferential equation
Owner:JIANGSU UNIV

Delay unit circuit

InactiveCN103647545AImprove anti-interference abilityLogic circuit coupling/interface arrangementsIntermediate stageCapacitance
Owner:WUXI ZGMICRO ELECTRONICS CO LTD

Classification and recommendation of technical efficacy words

  • Improve anti-interference ability
  • Improve transmission reliability

Wireless communication method in multiantenna communication system

InactiveUS20090046806A1Improving throughput of data transmittedImprove transmission reliabilityMultiplex communicationDiversity/multi-antenna systemsData transmissionData combination
Owner:PANASONIC CORP
Who we serve
  • R&D Engineer
  • R&D Manager
  • IP Professional
Why Eureka
  • Industry Leading Data Capabilities
  • Powerful AI technology
  • Patent DNA Extraction
Social media
Try Eureka
PatSnap group products