An efficient fusion random network coding method and system
By combining error detection at the destination end with a random network coding checksum and a guessing random additive noise decoding algorithm, data packets can be effectively recovered in wireless communication networks. This solves the packet loss problem in existing packet-level coding technologies and improves throughput.
Patent Information
- Application Number
- CN202411486252.X
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2024-10-23
- Publication Date
- 2025-11-25
- Estimated Expiration
- 2044-10-23
AI Technical Summary
Existing research on random network coding in wireless communication networks only considers packet-level random coding of data and packet loss, which leads to even a single bit error being judged as a wrong reception, resulting in the entire packet being discarded. Furthermore, the existing GRAND method has not been effectively integrated with the upper-layer RLNC decoding method.
An efficient fused random network coding method is adopted. The sink checks the data packet with an error detection code. If the reception is incomplete, the source continues to transmit the random network coding data packet. The sink uses a guessing random additive noise decoding algorithm to recover the data packet. The probability is measured by the fused random network coding checksum and Hamming weight until the original data packet is successfully decoded and restored.
Without increasing redundant information bits, the packet loss rate was reduced and the throughput performance of packet-level random network coding was improved.
Smart Images

Figure CN119519897B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of network coding technology, and in particular to an efficient method and system for incorporating random network coding. Background Technology
[0002] Random Linear Network Coding (RLNC) is a crucial coding technique for achieving ultra-high and reliable transmission of information with low latency in next-generation wireless communication networks operating in large-scale and high-density environments. Its main innovation lies in the fact that nodes in the network do not need to know the network topology in advance, eliminating the need for pre-coding. Instead, they simply append the coding coefficients to the header and transmit them along with the message, achieving distributed independent coding for all nodes in the network. This solves the problem of designing network coding schemes when the network topology is unknown. Furthermore, when applying RLNC, the receiving end only needs to receive a sufficient number of independently coded data packets to perform the decoding operation, without needing to worry about which packets are lost. RLNC exhibits good robustness to packet loss.
[0003] Most existing research on random network coding in wireless communication networks only considers packet-level random coding and packet loss. This means that even if a single bit in a packet is erroneous, it is considered an incorrect reception, leading to the entire packet being discarded. To decode and recover sparse erroneous bits in packets, a maximum likelihood channel decoding approach applicable to arbitrary codebooks in discrete channels—guessing random additive noise decoding—can identify and eliminate the impact of noise on the transmitted signal, achieving the goal of decoding sparse erroneous bit packets. GRAND (Guessing Random Additive Noise Decoding), a general maximum likelihood decoding algorithm for linear block codes, is currently a research hotspot in information theory and coding. However, most existing GRAND-related research focuses on various physical layer channel coding and decoding methods, without considering the integration of GRAND methods with upper-layer RLNC decoding methods. Summary of the Invention
[0004] To address the technical problems of existing technologies that only consider packet-level random data encoding and data packet loss, this invention provides an efficient method and system for integrating random network coding. The technical solution is as follows:
[0005] On the one hand, an efficient fused random network coding method is provided, which is implemented by an efficient fused random network coding device, and the method includes:
[0006] S1. The source broadcasts multiple raw data packets to the destination;
[0007] S2. The sink receives multiple raw data packets and determines whether an error has occurred during transmission by using an error detection code verification method.
[0008] S3a. When the number of data packets correctly received by the sink is equal to the number of original data packets broadcast by the source, the transmission process ends.
[0009] S4b. When the number of data packets correctly received by the sink is not equal to the number of original data packets broadcast by the source, the source continues to transmit random network-coded data packets until the sink decodes and restores the multiple original data packets sent by the source, and the transmission process ends.
[0010] Optionally, the single-hop wireless broadcast network includes: a single source and multiple destinations.
[0011] Optionally, the source in S4b continues to transmit random network-coded data packets until the destination decodes and recovers multiple original data packets, including:
[0012] S4b1. The sink receives a randomly network-coded data packet and selects random coding coefficients;
[0013] S4b2. The receiver calculates the fused random network coding checksum based on the received data packet, the randomly coded data packet, and the random coding coefficients.
[0014] S4b3: The sink obtains an estimated error vector based on the fused random network coding checksum and the guessing random additive noise decoding algorithm, and recovers the data packets actually transmitted by the source based on the estimated error vector;
[0015] S4b4. A new round of error detection code verification is used for checking. If the verification passes, the destination successfully restores the data packet.
[0016] S4b5. Determine whether multiple linearly independent and correct data packets have been received. If multiple linearly independent data packets exist, the sink decoder restores multiple original data packets. Otherwise, the source continues to transmit random network-coded data packets, repeating steps S4b1-S4b15 until the sink decoder restores multiple original data packets.
[0017] Optionally, the sink of S4b3 estimates the error vector based on the fused random network coding checksum, including:
[0018] S4b31. Set the estimation error vector to zero;
[0019] S4b32. Calculate the estimated error vector based on the fused random network coding checksum and preset conditions;
[0020] S4b33. Determine whether each data packet in the estimated error vector is an all-zero vector; if all are not zero, then the estimated error vector is the guessed estimated error vector; otherwise, calculate the erroneous received data packet; according to the error detection code verification method, determine whether the erroneous received data packet is equal to the data packet sent by the source; if it is equal, then the erroneous received data packet can be correctly received.
[0021] S4b34. Recalculate the fused random network coding checksum; calculate a new estimated error vector based on the recalculated fused random network coding checksum; save the new estimated error vectors that meet the preset conditions and combine them according to their probability of occurrence.
[0022] S4b35. Use the combination of vectors with the highest probability that have not been selected as the estimated vector;
[0023] S4b36. Determine whether each data packet in the new estimated error vector is an all-zero vector; if all packets are not zero, then the estimated error vector is the guessed estimated error vector; otherwise, repeat step S4b35 until the estimated error vector satisfies the condition of being an all-zero vector.
[0024] Optionally, the Hamming weight is used to measure the probability of occurrence; wherein, the smaller the Hamming weight, the higher the probability of occurrence, and the same Hamming weight has the same probability of occurrence.
[0025] Optionally, the transmission process ends when the number of data packets correctly received by the sink in S3a is equal to the number of original data packets broadcast by the source, including:
[0026] The transmission process ends when the number of data packets correctly received by the sink is equal to the number of original data packets broadcast by the source, and when each sink receives the original data packets broadcast by the source and successfully restores all data packets.
[0027] On the other hand, a high-efficiency fused random network coding system is provided, which is applied to the high-efficiency fused random network coding method. The system includes:
[0028] The information source is used to broadcast multiple raw data packets to the information destination;
[0029] The sink is used to receive multiple raw data packets and determine whether an error has occurred during transmission by using an error detection code verification method. When the number of data packets correctly received by the sink is equal to the number of raw data packets broadcast by the source, the transmission process ends. When the number of data packets correctly received by the sink is not equal to the number of raw data packets broadcast by the source, the source continues to transmit random network-coded data packets until the sink decodes and restores the multiple raw data packets sent by the source, at which point the transmission process ends.
[0030] Optionally, the single-hop wireless broadcast network includes: a single source and multiple destinations.
[0031] Optionally, the source continues to transmit random network-coded data packets until the destination decodes and recovers multiple original data packets, including:
[0032] (1) The receiver receives the random network-coded data packet and selects the random coding coefficient;
[0033] (2) The receiver calculates the fused random network coding checksum based on the received data packet, the randomly coded data packet, and the random coding coefficients;
[0034] (3) The sink obtains the estimated error vector by using the guessing random additive noise decoding algorithm based on the fused random network coding checksum, and recovers the data packets actually transmitted by the source based on the estimated error vector;
[0035] (4) A new round of error detection code verification is used to check the data packet. If the verification passes, the data packet is successfully restored by the recipient.
[0036] (5) Determine whether multiple linearly independent and correct data packets have been received. If multiple linearly independent data packets exist, the sink decodes and restores multiple original data packets. Otherwise, the source continues to transmit random network-coded data packets and repeats steps (1)-(5) until the sink decodes and restores multiple original data packets.
[0037] Optionally, the sink estimates the error vector based on the fused random network coding checksum, including:
[0038] (1) Set the estimation error vector to zero;
[0039] (2) Calculate the estimated error vector based on the fused random network coding checksum and preset conditions;
[0040] (3) Determine whether each data packet in the estimated error vector is an all-zero vector; if all are not zero, then the estimated error vector is the guessed estimated error vector; otherwise, calculate the erroneous received data packet; according to the error detection code verification method, determine whether the erroneous received data packet is equal to the data packet sent by the source; if it is equal, then the erroneous received data packet can be correctly received.
[0041] (4) Recalculate the fused random network coding checksum; calculate the new estimated error vector based on the recalculated fused random network coding checksum; save the new estimated error vectors that meet the preset conditions and combine them according to their probability of occurrence;
[0042] (5) Use the combination of vectors with the highest probability that have not been selected as the estimated vector;
[0043] (6) Determine whether each data packet in the new estimated error vector is an all-zero vector; if all are not zero, the estimated error vector is the guessed estimated error vector; otherwise, repeat step (5) until the estimated error vector satisfies the condition of being an all-zero vector.
[0044] Optionally, the Hamming weight is used to measure the probability of occurrence; wherein, the smaller the Hamming weight, the higher the probability of occurrence, and the same Hamming weight has the same probability of occurrence.
[0045] Optionally, the transmission process ends when the number of data packets correctly received by the sink is equal to the number of original data packets broadcast by the source, including:
[0046] The transmission process ends when the number of data packets correctly received by the sink is equal to the number of original data packets broadcast by the source, and when each sink has received the original data packets broadcast by the source and successfully restored all data packets.
[0047] On the other hand, a high-efficiency fused random network coding device is provided, the high-efficiency fused random network coding device comprising: a processor; a memory, the memory storing computer-readable instructions, which, when executed by the processor, implement any of the methods described above for high-efficiency fused random network coding.
[0048] On the other hand, a computer-readable storage medium is provided, wherein at least one instruction is stored therein, the at least one instruction being loaded and executed by a processor to implement any of the above-described efficient fusion random network coding methods.
[0049] The beneficial effects of the technical solutions provided in the embodiments of the present invention include at least the following:
[0050] In this embodiment of the invention, the source broadcasts multiple raw data packets to the sink; the sink receives the multiple raw data packets and determines whether an error has occurred during transmission by using an error detection code check method; when the number of data packets correctly received by the sink is equal to the number of raw data packets broadcast by the source, the transmission process ends; when the number of data packets correctly received by the sink is not equal to the number of raw data packets broadcast by the source, the source continues to transmit random network-coded data packets until the sink decodes and restores the multiple raw data packets sent by the source, at which point the transmission process ends.
[0051] This invention proposes a GRAND-based fusion cross-layer GF(2) model. L The RLNC method uses random encoded packets to generate fused random network coding checksums and decodes underlying burst bit errors through GRAND. This method reduces packet loss rate by using random network coding packets to perform underlying bit error decoding without increasing redundant information bits, thus improving the throughput performance of packet-level random network coding. Attached Figure Description
[0052] To more clearly illustrate the technical solutions in the embodiments of the present invention, the accompanying drawings used in the description of the embodiments will be briefly introduced below. Obviously, the accompanying drawings described below are only some embodiments of the present invention. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.
[0053] Figure 1 This is a flowchart of an efficient fusion random network coding method provided by an embodiment of the present invention;
[0054] Figure 2 This is a schematic diagram of a process for efficiently fusing random network coding provided by an embodiment of the present invention;
[0055] Figure 3 This is a schematic diagram of a single-hop wireless broadcast network provided in an embodiment of the present invention;
[0056] Figure 4 This is a schematic diagram of the original data packet and the encoded data packet provided in an embodiment of the present invention;
[0057] Figure 5 This is a flowchart of the GRAND-based error vector guessing scheme provided in an embodiment of the present invention;
[0058] Figure 6 This is a block diagram of an efficient fused random network coding system provided in an embodiment of the present invention;
[0059] Figure 7 This is a schematic diagram of the structure of a high-efficiency fused random network coding device provided in an embodiment of the present invention. Detailed Implementation
[0060] The technical solution of the present invention will now be described with reference to the accompanying drawings.
[0061] In embodiments of the present invention, words such as "exemplarily," "for example," etc., are used to indicate that something is an example, illustration, or description. Any embodiment or design described as "exemplary" in the present invention should not be construed as being more preferred or advantageous than other embodiments or designs. Specifically, the use of the word "exemplary" is intended to present the concept in a concrete manner. Furthermore, in embodiments of the present invention, the meaning expressed by "and / or" can be both, or either one.
[0062] In the embodiments of this invention, the terms "image" and "picture" may sometimes be used interchangeably. It should be noted that, without emphasizing the distinction between them, they convey the same meaning. Similarly, the terms "of," "corresponding (relevant)," and "corresponding" may sometimes be used interchangeably. It should be noted that, without emphasizing the distinction between them, they convey the same meaning.
[0063] In this embodiment of the invention, sometimes a subscript such as W1 may be written in a non-subscript form such as W1. When the difference is not emphasized, the meaning they express is the same.
[0064] To make the technical problems, technical solutions and advantages of the present invention clearer, a detailed description will be given below in conjunction with the accompanying drawings and specific embodiments.
[0065] This invention provides a high-efficiency fused random network coding method, which can be implemented by a high-efficiency fused random network coding device, which can be a terminal or a server. Figure 1 The flowchart of the efficient fusion random network coding method is shown below. Figure 2 The flowchart shown illustrates the efficient fusion of random network coding. The processing flow of this method may include the following steps:
[0066] S1: The source broadcasts multiple raw data packets to the destination.
[0067] Optionally, a single-hop wireless broadcast network may include: a single source and multiple destinations.
[0068] in, Figure 3 The diagram shown is a schematic of a single-hop wireless broadcast network provided in an embodiment of the present invention; wherein, the signal source needs to broadcast. R original data packets are transmitted to R destinations. For each data packet sent by the source, the probability of correct reception by each destination is: .
[0069] in, Figure 4 This is a schematic diagram of the original data packets and encoded data packets provided in an embodiment of the present invention; P original data packets are marked as... 1 ≤ j ≤ P, in this embodiment P is set to 20; the length of each data packet is M = 1024 bits, and each data packet... It consists of M / L = 128 data symbols, and each data symbol consists of L = 8 bits; let This indicates the data packet received by the destination r, let Represents the error vector .
[0070] S2. The receiver receives multiple raw data packets and uses an error detection code to determine whether an error has occurred during transmission.
[0071] Among them, the error detection code verification method includes: cyclic redundancy detection method.
[0072] S3a. The transmission process ends when the number of data packets correctly received by the sink is equal to the number of original data packets broadcast by the source.
[0073] In one feasible implementation, the error detection code verification method is used to determine... Is it true: If If so, an error occurs in the transmission of the original data packet; if Then each sink will correctly receive the original data packets transmitted by the source. This represents the set of indexes of erroneously received data packets, i.e. Where j represents the index of the data packet; d represents the round in which the random network-coded data packet is transmitted.
[0074] Optionally, the transmission process ends when the number of data packets correctly received by the sink of S3a is equal to the number of original data packets broadcast by the source, including:
[0075] The transmission process ends when the number of data packets correctly received by the sink is equal to the number of original data packets broadcast by the source, and when each sink has received the original data packets broadcast by the source and successfully restored all data packets.
[0076] In one feasible implementation, for a single destination, the transmission process ends when P raw data packets are correctly received.
[0077] S4b. When the number of data packets received by the sink is not equal to the number of original data packets broadcast by the source, the source continues to transmit random network-coded data packets until the sink decodes and restores the multiple original data packets sent by the source, and the transmission process ends.
[0078] Among them, since the correct reception rate of the receiver is p r Packet loss may occur, therefore
[0079] After broadcasting P raw data packets, the source continues to transmit random network-coded data packets. This continues until the destination can decode and recover P original data packets.
[0080] Optionally, the S4b source continues to transmit random network-coded data packets until the destination decodes and recovers multiple original data packets, including:
[0081] S4b1. The sink receives a randomly network-coded data packet and selects random coding coefficients;
[0082] When the receiver receives the d-th randomly encoded data packet, the random encoding coefficients can be randomly selected from the following set, where the random set can be represented by the following formula (1):
[0083] (1)
[0084] The d-th random encoded data packet can be represented as: ,in, Represents the random coding coefficients; This represents the data packet received by the source; GF() represents a finite field; L represents the primitive element of a finite field; L represents the dimension of the finite field. A set representing random codes;
[0085] Among them, when When the d-th encoded data packet received by the source is not equal to the encoded data packet sent by the destination, that is, the source has mistakenly received the d-th encoded data packet, the destination updates the index set of the erroneously received data packets to... .
[0086] S4b2. The receiver calculates the fused random network coding checksum based on the received data packet, the randomly coded data packet, and the random coding coefficients.
[0087] In one feasible implementation, the fused random network coding checksum can be represented by the following formula (2):
[0088] (2)
[0089] in, This indicates a fused random network coding checksum, where d ≥ 1.
[0090] S4b3: The sink obtains an estimated error vector based on the fused random network coding checksum and the guessing random additive noise decoding algorithm, and recovers the data packets actually transmitted by the source based on the estimated error vector;
[0091] The data packet recovery process can be represented by the following formula (3):
[0092] (3)
[0093] in, This represents the estimation error vector; This represents the j-th data packet in the estimated error vector; The error vector of the j-th data packet is equal to the probability of the j-th data packet in the estimated error vector; This represents the p+i-th data packet in the estimated error vector;
[0094] Optionally, the sink of S4b3 estimates the error vector based on the fused random network coding checksum, including:
[0095] S4b31. Set the estimation error vector to zero;
[0096] The error vector can be estimated using... Indicates; among which, S represents the data symbol, which is calculated from M / L.
[0097] S4b32. Calculate the estimated error vector based on the fused random network coding checksum and preset conditions;
[0098] In one feasible implementation, each non-zero symbol vector in the fused random network coding checksum can be represented by the following formula (4):
[0099] (4)
[0100] in, This represents the i-th data symbol in the j-th data packet; This represents the i-th data symbol in the (p+d)-th data packet.
[0101] in, This represents the vector of each non-zero symbol in the fused random network coding checksum.
[0102] In one feasible implementation, the estimated error vector can be represented by the following formula (5):
[0103] (5)
[0104] in, This represents the estimation error vector; Indicates the weight of the Hamming; express; This represents the i-th checksum.
[0105] S4b33. Determine whether each data packet in the estimated error vector is an all-zero vector; if all are not zero, then the estimated error vector is the guessed estimated error vector; otherwise, calculate the erroneous received data packet; according to the error detection code verification method, determine whether the erroneous received data packet is equal to the data packet sent by the source; if it is equal, then the erroneous received data packet can be correctly received.
[0106] In one feasible implementation, determining whether a data packet in the estimated error vector is an all-zero vector based on global information can be expressed by the following formula:
[0107]
[0108] The formula for calculating erroneously received data packets can be expressed by the following formula (6):
[0109] (6)
[0110] in, This indicates the estimated erroneous received data packets; This indicates the data packet received by the recipient.
[0111] Among them, the judgment is based on the error detection code verification method. Is it equal to ,like Then the data packet If correctly received, j will be transferred from... Remove from the middle to obtain the new original data packet and encoded data packet after the first GRAND.
[0112] S4b34. Recalculate the fused random network coding checksum; calculate a new estimated error vector based on the recalculated fused random network coding checksum; save the new estimated error vectors that meet the preset conditions and combine them according to their probability of occurrence.
[0113] The preset conditions can be expressed by the following formula (7):
[0114] (7)
[0115] S4b35. Use the combination of vectors with the highest probability that have not been selected as the estimated vector;
[0116] Optionally, Hamming weight can be used to measure the probability of occurrence; wherein, the smaller the Hamming weight, the higher the probability of occurrence, and the same Hamming weight has the same probability of occurrence.
[0117] In this embodiment of the invention, the weight of Hamming is increased to 2.
[0118] S4b36. Determine whether each data packet in the new estimated error vector is an all-zero vector; if all packets are not zero, then the estimated error vector is the guessed estimated error vector; otherwise, repeat step S4b35 until the estimated error vector satisfies the condition of being an all-zero vector.
[0119] Among them, determining whether the estimated vector satisfies If the condition is met, the estimated vector is the guessed incorrect vector; otherwise, delete the combination and repeat step S4b35 until the estimated vector satisfies the condition that all vectors are non-zero.
[0120] S4b4. A new round of error detection code verification is used for checking. If the verification passes, the destination successfully restores the data packet.
[0121] In one feasible implementation, for A new round of error detection code verification is performed, and when the condition is met... The receiver successfully recovered the data packet and removed j from the set. Removed from the middle.
[0122] S4b5. Determine whether multiple linearly independent and correct data packets have been received. If multiple linearly independent data packets exist, the sink decoder restores multiple original data packets. Otherwise, the source continues to transmit random network-coded data packets, and steps S4b1-S4b5 are repeated until the sink decoder restores multiple original data packets.
[0123] The number of data packets correctly received by the sink can be used as an indicator. express.
[0124] In one feasible implementation, for a memoryless binary symmetric channel model, Figure 5 This is a flowchart of a scheme for guessing error vectors based on GRAND provided in an embodiment of the present invention. In one feasible implementation, the source broadcasts 20 raw data packets. If the sink cannot correctly receive all the raw data packets, the source will select appropriate coding coefficients and transmit random network-coded data packets. A checksum is calculated based on the received data packets, and the error vector is estimated based on GRAND. Each data symbol is checked against a preset condition. If it meets the condition, the corresponding vector is the estimated error vector of the i-th column. If it does not meet the condition, the Hamming weight of the corresponding vector is incremented by one, and the preset condition is checked again. Then, it is determined whether each data packet of the obtained estimated error vector is an all-zero vector. If all packets are non-zero, the estimated error vector is the GRAND-guessed error vector. Otherwise, a cyclic redundancy check is used to determine whether the estimated error vector can correctly recover some data packets. If it can be correctly recovered, the index of the correctly recovered data packets is changed from the error number. The error vector is removed from the packet index set; then the checksum is recalculated based on the remaining erroneous received packets; based on the recalculated checksum, the error vector is estimated using GRAND, and each data symbol is checked against the preset conditions. If it meets the conditions, all corresponding vectors that meet the conditions are stored in the set of the i-th column and sorted according to their probability; if it does not meet the conditions, the Hamming weight of the corresponding vector is incremented by one and the preset conditions are checked again; after obtaining the sets of each column, the vector with the highest probability of occurrence is selected as the guess vector for the current column to form the estimated error vector; then it is checked whether each packet of the obtained estimated error vector is an all-zero vector. If all packets are non-zero, the estimated error vector is the GRAND guessed error vector; otherwise, the combination is removed, and the combination of vectors with the highest probability of occurrence is reselected until each packet of the estimated error vector is non-zero, then the estimated error vector is the GRAND guessed error vector.
[0125] In this embodiment of the invention, the source broadcasts multiple raw data packets to the sink; the sink receives the multiple raw data packets and determines whether an error has occurred during transmission by using an error detection code check method; when the number of data packets correctly received by the sink is equal to the number of raw data packets broadcast by the source, the transmission process ends; when the number of data packets correctly received by the sink is not equal to the number of raw data packets broadcast by the source, the source continues to transmit random network-coded data packets until the sink decodes and restores the multiple raw data packets sent by the source, at which point the transmission process ends.
[0126] This invention proposes a GRAND-based fusion cross-layer GF(2) model. L The RLNC method uses random encoded packets to generate fused random network coding checksums and decodes underlying burst bit errors through GRAND. This method can reduce packet loss rate by using random network coding packets to perform underlying bit error decoding without increasing redundant information bits, thus improving the throughput performance of packet-level random network coding.
[0127] Figure 6 This is a block diagram of an efficient fusion random network coding system according to an exemplary embodiment, which is used for efficiently fusing random network coding methods. (Refer to...) Figure 6 The system includes a source 610 and a destination 620. Among them:
[0128] The information source 610 is used to broadcast multiple raw data packets to the information destination;
[0129] The sink 620 is used to receive multiple raw data packets and determine whether an error has occurred during transmission by using an error detection code verification method. When the number of data packets correctly received by the sink is equal to the number of raw data packets broadcast by the source, the transmission process ends. When the number of data packets correctly received by the sink is not equal to the number of raw data packets broadcast by the source, the source continues to transmit random network-coded data packets until the sink decodes and restores the multiple raw data packets sent by the source, at which point the transmission process ends.
[0130] Optionally, the single-hop wireless broadcast network includes: a single source and multiple destinations.
[0131] Optionally, the source continues to transmit random network-coded data packets until the destination decodes and recovers multiple original data packets, including:
[0132] (1) The receiver receives the random network-coded data packet and selects the random coding coefficient;
[0133] (2) The receiver calculates the fused random network coding checksum based on the received data packet, the randomly coded data packet, and the random coding coefficients;
[0134] (3) The sink obtains the estimated error vector by using the guessing random additive noise decoding algorithm based on the fused random network coding checksum, and recovers the data packets actually transmitted by the source based on the estimated error vector;
[0135] (4) A new round of error detection code verification is used to check the data packet. If the verification passes, the data packet is successfully restored by the recipient.
[0136] (5) Determine whether multiple linearly independent and correct data packets have been received. If multiple linearly independent data packets exist, the sink decodes and restores multiple original data packets. Otherwise, the source continues to transmit random network-coded data packets and repeats steps (1)-(5) until the sink decodes and restores multiple original data packets.
[0137] Optionally, the sink estimates the error vector based on the fused random network coding checksum, including:
[0138] (1) Set the estimation error vector to zero;
[0139] (2) Calculate the estimated error vector based on the fused random network coding checksum and preset conditions;
[0140] (3) Determine whether each data packet in the estimated error vector is an all-zero vector; if all are not zero, then the estimated error vector is the guessed estimated error vector; otherwise, calculate the erroneous received data packet; according to the error detection code verification method, determine whether the erroneous received data packet is equal to the data packet sent by the source; if it is equal, then the erroneous received data packet can be correctly received.
[0141] (4) Recalculate the fused random network coding checksum; calculate the new estimated error vector based on the recalculated fused random network coding checksum; save the new estimated error vectors that meet the preset conditions and combine them according to their probability of occurrence;
[0142] (5) Use the combination of vectors with the highest probability that have not been selected as the estimated vector;
[0143] (6) Determine whether each data packet in the new estimated error vector is an all-zero vector; if all are not zero, the estimated error vector is the guessed estimated error vector; otherwise, repeat step (5) until the estimated error vector satisfies the condition of being an all-zero vector.
[0144] Optionally, the Hamming weight is used to measure the probability of occurrence; wherein, the smaller the Hamming weight, the higher the probability of occurrence, and the same Hamming weight has the same probability of occurrence.
[0145] Optionally, the transmission process ends when the number of data packets correctly received by the sink is equal to the number of original data packets broadcast by the source, including:
[0146] The transmission process ends when the number of data packets correctly received by the sink is equal to the number of original data packets broadcast by the source, and when each sink has received the original data packets broadcast by the source and successfully restored all data packets.
[0147] In this embodiment of the invention, the source broadcasts multiple raw data packets to the sink; the sink receives the multiple raw data packets and determines whether an error has occurred during transmission by using an error detection code check method; when the number of data packets correctly received by the sink is equal to the number of raw data packets broadcast by the source, the transmission process ends; when the number of data packets correctly received by the sink is not equal to the number of raw data packets broadcast by the source, the source continues to transmit random network-coded data packets until the sink decodes and restores the multiple raw data packets sent by the source, at which point the transmission process ends.
[0148] This invention proposes a GRAND-based fusion cross-layer GF(2) model. L The RLNC method uses random encoded packets to generate fused random network coding checksums and decodes underlying burst bit errors through GRAND. This method can reduce packet loss rate by using random network coding packets to perform underlying bit error decoding without increasing redundant information bits, thus improving the throughput performance of packet-level random network coding.
[0149] Figure 7 This is a schematic diagram of the structure of a high-efficiency fused random network coding device provided in an embodiment of the present invention, as shown below. Figure 7 As shown, the high-efficiency fusion random network coding device may include the above-mentioned Figure 6 The high-efficiency fused random network coding system is shown. Optionally, the high-efficiency fused random network coding device 710 may include a first processor 2001.
[0150] Optionally, the high-efficiency fused random network coding device 710 may also include a memory 2002 and a transceiver 2003.
[0151] The first processor 2001, memory 2002, and transceiver 2003 can be connected via a communication bus.
[0152] The following is combined Figure 7 A detailed introduction to each component of the high-efficiency fused random network coding device 710 is provided below:
[0153] The first processor 2001 is the control center of the high-efficiency fused random network coding device 710. It can be a single processor or a collective term for multiple processing elements. For example, the first processor 2001 can be one or more central processing units (CPUs), application-specific integrated circuits (ASICs), or one or more integrated circuits configured to implement embodiments of the present invention, such as one or more digital signal processors (DSPs), or one or more field-programmable gate arrays (FPGAs).
[0154] Optionally, the first processor 2001 can perform various functions of the efficient fused random network coding device 710 by running or executing software programs stored in the memory 2002 and calling data stored in the memory 2002.
[0155] In a specific implementation, as one example, the first processor 2001 may include one or more CPUs, for example... Figure 7 CPU0 and CPU1 are shown in the diagram.
[0156] In a specific implementation, as one example, the efficient fusion random network coding device 710 may also include multiple processors, for example... Figure 7 The first processor 2001 and the second processor 2004 are shown in the diagram. Each of these processors can be a single-core processor or a multi-core processor. Here, a processor can refer to one or more devices, circuits, and / or processing cores used to process data (such as computer program instructions).
[0157] The memory 2002 is used to store the software program that executes the present invention, and is controlled by the first processor 2001 to execute it. The specific implementation method can be referred to the above method embodiment, and will not be repeated here.
[0158] Optionally, the memory 2002 may be a read-only memory (ROM) or other type of static storage device capable of storing static information and instructions, random access memory (RAM) or other type of dynamic storage device capable of storing information and instructions, or electrically erasable programmable read-only memory (EEPROM), compact disc read-only memory (CD-ROM) or other optical disc storage, optical disc storage (including compressed optical discs, laser discs, optical discs, digital universal optical discs, Blu-ray discs, etc.), magnetic disk storage media or other magnetic storage devices, or any other medium capable of carrying or storing desired program code in the form of instructions or data structures and accessible by a computer, but not limited thereto. The memory 2002 may be integrated with the first processor 2001 or may exist independently, and may be connected via the interface circuit of the highly efficient integrated random network encoding device 710. Figure 7 (Not shown in the image) is coupled to the first processor 2001, and this embodiment of the invention does not specifically limit this.
[0159] The transceiver 2003 is used to communicate with network devices or with terminal devices.
[0160] Alternatively, transceiver 2003 may include a receiver and a transmitter. Figure 7 (Not shown separately). The receiver is used to implement the receiving function, and the transmitter is used to implement the transmitting function.
[0161] Optionally, the transceiver 2003 can be integrated with the first processor 2001, or it can exist independently, and can be connected to the interface circuit of the high-efficiency fusion random network coding device 710. Figure 7 (Not shown in the image) is coupled to the first processor 2001, and this embodiment of the invention does not specifically limit this.
[0162] It should be noted that, Figure 7 The structure of the efficient fusion random network coding device 710 shown in the diagram does not constitute a limitation on the router. Actual knowledge structure identification devices may include more or fewer components than shown, or combine certain components, or have different component arrangements.
[0163] Furthermore, the technical effects of the high-efficiency fusion random network coding device 710 can be referred to the technical effects of the high-efficiency fusion random network coding method described in the above method embodiments, and will not be repeated here.
[0164] It should be understood that the first processor 2001 in the embodiments of the present invention may be a central processing unit (CPU), or it may be other general-purpose processors, digital signal processors (DSPs), application-specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs), or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. The general-purpose processor may be a microprocessor or any conventional processor, etc.
[0165] It should also be understood that the memory in the embodiments of the present invention can be volatile memory or non-volatile memory, or may include both volatile and non-volatile memory. The non-volatile memory can be read-only memory (ROM), programmable read-only memory (PROM), erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), or flash memory. The volatile memory can be random access memory (RAM), which is used as an external cache. By way of example, but not limitation, many forms of random access memory (RAM) are available, such as static RAM (SRAM), dynamic RAM (DRAM), synchronous DRAM (SDRAM), double data rate synchronous DRAM (DDR SDRAM), enhanced synchronous DRAM (ESDRAM), synchronous linked DRAM (SLDRAM), and direct rambus RAM (DR RAM).
[0166] The above embodiments can be implemented, in whole or in part, by software, hardware (such as circuits), firmware, or any other combination thereof. When implemented using software, the above embodiments can be implemented, in whole or in part, as a computer program product. The computer program product includes one or more computer instructions or computer programs. When the computer instructions or computer programs are loaded or executed on a computer, all or part of the processes or functions described in the embodiments of the present invention are generated. The computer can be a general-purpose computer, a special-purpose computer, a computer network, or other programmable system. The computer instructions can be stored in a computer-readable storage medium or transmitted from one computer-readable storage medium to another. For example, the computer instructions can be transmitted from one website, computer, server, or data center to another website, computer, server, or data center via wired (e.g., infrared, wireless, microwave, etc.) means. The computer-readable storage medium can be any available medium that a computer can access or a data storage device such as a server or data center that includes one or more sets of available media. The available medium can be a magnetic medium (e.g., floppy disk, hard disk, magnetic tape), an optical medium (e.g., DVD), or a semiconductor medium. A semiconductor medium can be a solid-state drive.
[0167] It should be understood that the term "and / or" in this article is merely a description of the relationship between related objects, indicating that three relationships can exist. For example, A and / or B can represent: A existing alone, A and B existing simultaneously, or B existing alone. A and B can be singular or plural. Additionally, the character " / " in this article generally indicates an "or" relationship between the preceding and following related objects, but it can also represent an "and / or" relationship. Please refer to the context for a more accurate understanding.
[0168] In this invention, "at least one" means one or more, and "more than one" means two or more. "At least one of the following" or similar expressions refer to any combination of these items, including any combination of a single item or a plurality of items. For example, at least one of a, b, or c can represent: a, b, c, ab, ac, bc, or abc, where a, b, and c can be a single item or multiple items.
[0169] It should be understood that, in various embodiments of the present invention, the order of the above-mentioned process numbers does not imply the order of execution. The execution order of each process should be determined by its function and internal logic, and should not constitute any limitation on the implementation process of the embodiments of the present invention.
[0170] Those skilled in the art will recognize that the units and algorithm steps of the various examples described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, or a combination of computer software and electronic hardware. Whether these functions are implemented in hardware or software depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods to implement the described functions for each specific application, but such implementations should not be considered beyond the scope of this invention.
[0171] Those skilled in the art will clearly understand that, for the sake of convenience and brevity, the specific working processes of the devices, systems, and units described above can be referred to the corresponding processes in the foregoing method embodiments, and will not be repeated here.
[0172] In the embodiments provided by this invention, it should be understood that the disclosed devices, systems, and methods can be implemented in other ways. For example, the system embodiments described above are merely illustrative; for instance, the division of units is only a logical functional division, and in actual implementation, there may be other division methods. For example, multiple units or components may be combined or integrated into another device, or some features may be ignored or not executed. Furthermore, the coupling or direct coupling or communication connection shown or discussed may be through some interfaces; the indirect coupling or communication connection between systems or units may be electrical, mechanical, or other forms.
[0173] The units described as separate components may or may not be physically separate. The components shown as units may or may not be physical units; that is, they may be located in one place or distributed across multiple network units. Some or all of the units can be selected to achieve the purpose of this embodiment according to actual needs.
[0174] In addition, the functional units in the various embodiments of the present invention can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit.
[0175] If the aforementioned functions are implemented as software functional units and sold or used as independent products, they can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of this invention, or the part that contributes to the prior art, or a part of the technical solution, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) to execute all or part of the steps of the methods described in the various embodiments of this invention. The aforementioned storage medium includes various media capable of storing program code, such as USB flash drives, portable hard drives, read-only memory (ROM), random access memory (RAM), magnetic disks, or optical disks.
[0176] The above description is merely a specific embodiment of the present invention, but the scope of protection of the present invention is not limited thereto. Any variations or substitutions that can be easily conceived by those skilled in the art within the technical scope disclosed in the present invention should be included within the scope of protection of the present invention. Therefore, the scope of protection of the present invention should be determined by the scope of the claims.
Claims
1. A highly efficient method for integrating random network coding, characterized in that, The efficient fusion random network coding method is implemented using a single-hop radio broadcast network, which includes a source and a destination. The method includes: S1. The source broadcasts multiple raw data packets to the destination; S2. The sink receives multiple raw data packets and determines whether an error has occurred during transmission by using an error detection code verification method. S3a. When the number of data packets correctly received by the sink is equal to the number of original data packets broadcast by the source, the transmission process ends. S4b. When the number of data packets correctly received by the sink is not equal to the number of original data packets broadcast by the source, the source continues to transmit random network-coded data packets until the sink decodes and restores the multiple original data packets sent by the source, and the transmission process ends. In this process, the source in S4b continues to transmit random network-coded data packets until the destination decodes and recovers the original data packets sent by the source, including: S4b1. The sink receives a randomly network-coded data packet and selects random coding coefficients; S4b2. The receiver calculates the fused random network coding checksum based on the received data packet, the random network coding data packet, and the random coding coefficients. S4b3: The sink obtains an estimated error vector based on the fused random network coding checksum and the guessing random additive noise decoding algorithm, and recovers the data packets actually transmitted by the source based on the estimated error vector; S4b4. A new round of error detection code verification is used for checking. If the verification passes, the destination successfully restores the data packet. S4b5. Determine whether multiple linearly independent and correct data packets have been received. If multiple linearly independent data packets exist, the sink decoder restores multiple original data packets. Otherwise, the source continues to transmit random network-coded data packets, and steps S4b1-S4b5 are repeated until the sink decoder restores multiple original data packets.
2. The efficient fusion random network coding method according to claim 1, characterized in that, The single-hop wireless broadcast network includes: a single source and multiple destinations.
3. The efficient fusion random network coding method according to claim 1, characterized in that, The sink of S4b3 estimates the error vector based on the fused random network coding checksum, including: S4b31. Set the estimation error vector to zero; S4b32. Calculate the estimated error vector based on the fused random network coding checksum and preset conditions; S4b33. Determine whether each data packet in the estimated error vector is an all-zero vector; if each data packet is not an all-zero vector, then the estimated error vector is the guessed estimated error vector; otherwise, calculate the erroneous received data packet; according to the error detection code-based verification method, determine whether the erroneous received data packet is equal to the data packet sent by the source; if it is equal, then the erroneous received data packet can be correctly received. S4b34. Recalculate the fused random network coding checksum; calculate a new estimated error vector based on the recalculated fused random network coding checksum; save the new estimated error vectors that meet the preset conditions and combine them according to their probability of occurrence. S4b35. Use the combination of vectors with the highest probability that have not been selected as the estimation error vector; S4b36. Determine whether each data packet in the new estimated error vector is an all-zero vector; if each data packet is not an all-zero vector, then the estimated error vector is the guessed estimated error vector; otherwise, repeat step S4b35 until the estimated error vector satisfies the condition that all packets are not zero.
4. The efficient fusion random network coding method according to claim 3, characterized in that, The probability of occurrence is measured using Hamming weight; where a smaller Hamming weight indicates a higher probability of occurrence, and the same Hamming weight indicates an equal probability of occurrence.
5. The efficient fusion random network coding method according to claim 1, characterized in that, The transmission process ends when the number of data packets correctly received by the sink in S3a is equal to the number of original data packets broadcast by the source, including: The transmission process ends when the number of data packets correctly received by the sink is equal to the number of original data packets broadcast by the source, and when each sink receives the original data packets broadcast by the source and successfully restores all data packets.
6. A high-efficiency fused random network coding system, said high-efficiency fused random network coding system being used to implement the high-efficiency fused random network coding method as described in any one of claims 1-5, characterized in that, The system includes: The information source is used to broadcast multiple raw data packets to the information destination; The sink is used to receive multiple raw data packets and determine whether an error has occurred during transmission by using an error detection code verification method. When the number of data packets correctly received by the sink is equal to the number of raw data packets broadcast by the source, the transmission process ends. When the number of data packets correctly received by the sink is not equal to the number of raw data packets broadcast by the source, the source continues to transmit random network-coded data packets until the sink decodes and restores the multiple raw data packets sent by the source, at which point the transmission process ends.
7. The high-efficiency fused random network coding system according to claim 6, characterized in that, The single-hop wireless broadcast network includes: a single source and multiple destinations.
8. A high-efficiency fusion random network coding device, characterized in that, The high-efficiency fusion random network coding device includes: processor; A memory storing computer-readable instructions that, when executed by the processor, implement the method as described in any one of claims 1 to 5.
9. A computer-readable storage medium, characterized in that, The computer-readable storage medium contains program code that can be invoked by a processor to execute the method as described in any one of claims 1 to 5.
Citation Information
Patent Citations
Adaptive error control method combining random network coding and automatic repeat request
CN101938334A
Method and apparatus for multi-source dynamic network coding
CN104704760A