Efficient fusion random network coding method and system
By integrating the GRAND decoding algorithm and RLNC method in a wireless communication network, the sink receives the original data packet and uses the error detection code to verify the error. The source continues to transmit the random network-encoded data packets until the sink decodes and restores the original data packets, solving the problem of inability to effectively handle packet bit errors in the prior art, and achieving efficient packet recovery and throughput improvement.
Patent Information
- Application Number
- CN202411486252.X
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-10-23
- Publication Date
- 2025-02-25
- Estimated Expiration
- 2044-10-23
AI Technical Summary
Random network coding research in existing wireless communication networks only considers packet-level random encoding and packet loss, and cannot effectively process single bit data errors in data packets, resulting in the entire data packet being discarded, and the GRAND method and RLNC decoding method are not fused.
An efficient fusion random network encoding method is proposed, which receives the original data packet through the sink and uses an error detection code to verify the error. If the reception error is wrong, the source continues to transmit the random network encoding data packet until the sink decodes and restores the original data packet. This method uses the GRAND decoding algorithm to generate a fused random network encoding checker, estimates the error vector and recovers the data packet.
Without adding redundant information bits, the underlying bit error decoding is performed through random network coded packets to reduce the packet loss rate and improve the throughput performance of random network encoding at packet level.
Smart Images

Figure CN119519897A_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the technical field of network coding, and in particular to an efficient fusion random network coding method and system. Background Art
[0002] Random Linear Network Cooding (RLNC) is one of the important coding technologies that can achieve ultra-high and reliable delay information transmission in the next generation of wireless communication networks with large scale and high density environment; its main innovation is that the nodes in the network do not need to know the network topology in advance, and no pre-coding is required. The coding coefficients only need to be attached to the header and sent together with the information, realizing distributed independent coding of all nodes in the network and solving the problem of network coding scheme design when the network topology is unknown. In addition, when applying random network coding, the destination only needs to receive enough independent coded data packets to perform decoding operations, and there is no need to pay attention to which data packets are lost. The random network has good robustness to data packet loss.
[0003] Most of the existing studies on random network coding in wireless communication networks only consider random coding of data at the packet level and packet loss, which means that even if a single bit of data in a packet is erroneous, it is judged as an erroneous reception, causing the entire packet to be discarded. In order to decode and recover the sparse error bits in the packet, a maximum likelihood channel decoding idea applicable to any codebook in a discrete channel—guessing random additive noise decoding—can identify and eliminate the impact of noise on the transmitted signal, thereby achieving the purpose of decoding sparse error bit packets. GRAND (Guessing Random Additive Noise Decoding), a general maximum likelihood decoding algorithm for linear block codes, is one of the current research hotspots in the field of information theory and coding. However, most of the existing GRAND-related research focuses on various channel coding and decoding methods at the physical layer, and does not consider integrating the GRAND method with the upper-layer RLNC decoding method. Summary of the invention
[0004] In order to solve the technical problems of only considering random coding of data at the packet level and data packet loss in the prior art, an embodiment of the present invention provides an efficient fusion random network coding method and system. The technical solution is as follows:
[0005] On the one hand, a high-efficiency fusion random network coding method is provided, which is implemented by a high-efficiency fusion random network coding device, and the method includes:
[0006] S1, the information source broadcasts multiple original data packets to the information destination;
[0007] S2, the destination receives multiple original data packets and determines whether an error occurs in the transmission by using an error detection code check method;
[0008] S3a, when the number of data packets correctly received by the destination 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 destination 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 destination decodes and restores multiple original data packets sent by the source, and the transmission process ends.
[0010] Optionally, the single-hop wireless broadcast network includes: a single information source and multiple information destinations.
[0011] Optionally, the information source of S4b continues to transmit random network coded data packets until the information sink decodes and restores a plurality of original data packets, including:
[0012] S4b1, the destination receives a random network coding data packet and selects a random coding coefficient;
[0013] S4b2, the sink calculates the fused random network coding syndrome according to the received data packet, the random coding data packet and the random coding coefficient;
[0014] S4b3, the sink obtains an estimated error vector based on the fused random network coding syndrome and the guessed random additive noise decoding algorithm, and recovers the data packet actually transmitted by the source based on the estimated error vector;
[0015] S4b4, using a new round of error detection code verification method to check, if the verification passes, the sink successfully restores the data packet;
[0016] S4b5. Determine whether multiple linearly independent and correct data packets are received. If multiple linearly independent data packets exist, the destination decodes and restores multiple original data packets. Otherwise, the source continues to transmit random network coded data packets, and repeats steps S4b1-S4b15 until the destination decodes and restores multiple original data packets.
[0017] Optionally, the sink of S4b3 estimates the error vector according to the fused random network coding syndrome, including:
[0018] S4b31, set the estimated error vector to zero;
[0019] S4b32, performing calculation according to the fused random network coding syndrome and preset conditions to obtain an estimated error vector;
[0020] S4b33, determine whether each data packet in the estimated error vector is an all-zero vector; if all are not zero, the estimated error vector is the guessed estimated error vector; otherwise, calculate the error received data packet; according to the error detection code verification method, determine whether the error received data packet is equal to the data packet sent by the source; if equal, the error received data packet can be correctly received;
[0021] S4b34, recalculate the fused random network coding syndrome; calculate a new estimated error vector based on the recalculated fused random network coding syndrome; save the new estimated error vector that meets the preset conditions, and combine them according to the probability of occurrence;
[0022] S4b35, taking the vector combination with the largest probability and not 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 are not zero, the estimated error vector is a guessed estimated error vector; otherwise, re-execute step S4b35 until the estimated error vector satisfies the condition that all are not zero vectors.
[0024] Optionally, the Hamming weight is used to measure the occurrence probability; wherein, the smaller the Hamming weight, the higher the occurrence probability, and the occurrence probabilities of the same Hamming weights are equal.
[0025] Optionally, when the number of data packets correctly received by the destination in S3a is equal to the number of original data packets broadcast by the source, the transmission process ends, including:
[0026] When the number of data packets correctly received by the destination is equal to the number of original data packets broadcast by the source, and each destination receives the original data packets broadcast by the source and successfully restores all data packets, the transmission process ends.
[0027] On the other hand, a highly efficient fusion random network coding system is provided, which is applied to the highly efficient fusion random network coding method, and the system includes:
[0028] The information source is used to broadcast multiple original data packets to the information destination;
[0029] The sink is used to receive multiple original data packets and determine whether an error occurs in the transmission by adopting an error detection code verification method; 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; 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.
[0030] Optionally, the single-hop wireless broadcast network includes: a single information source and multiple information destinations.
[0031] Optionally, the information source continues to transmit the random network coded data packet until the information sink decodes and restores a plurality of original data packets, including:
[0032] (1) The destination receives a random network coding data packet and selects a random coding coefficient;
[0033] (2) The destination calculates the fused random network coding syndrome based on the received data packet, the random coding data packet, and the random coding coefficient;
[0034] (3) The destination obtains an estimated error vector based on the fused random network coding syndrome and the guessed random additive noise decoding algorithm, and recovers the data packet actually transmitted by the source based on the estimated error vector.
[0035] (4) A new round of error detection code verification is used. If the verification passes, the destination successfully restores the data packet.
[0036] (5) Determine whether multiple linearly independent and correct data packets are 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) to (5) until the sink decodes and restores multiple original data packets.
[0037] Optionally, the sink estimates an error vector according to a fused random network coding syndrome, including:
[0038] (1) Set the estimated error vector to zero;
[0039] (2) Calculate based on the fused random network coding syndrome and preset conditions to obtain an estimated error vector;
[0040] (3) Determine whether each data packet in the estimated error vector is an all-zero vector; if all are not zero, the estimated error vector is the guessed estimated error vector; otherwise, calculate the erroneous received data packet; based on the error detection code verification method, determine whether the erroneous received data packet is equal to the data packet sent by the source; if they are equal, the erroneous received data packet can be correctly received;
[0041] (4) Recalculating the fused random network coding syndrome; calculating a new estimated error vector based on the recalculated fused random network coding syndrome; saving the new estimated error vectors that meet the preset conditions and combining them according to the probability of occurrence;
[0042] (5) Take the vector combination with the highest probability and that has 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, re-execute step (5) until the estimated error vector satisfies the condition that all are not zero vectors.
[0044] Optionally, the Hamming weight is used to measure the occurrence probability; wherein, the smaller the Hamming weight, the higher the occurrence probability, and the occurrence probabilities of the same Hamming weights are equal.
[0045] Optionally, when the number of data packets correctly received by the destination is equal to the number of original data packets broadcast by the source, the transmission process ends, including:
[0046] When the number of data packets correctly received by the destination is equal to the number of original data packets broadcast by the source, and each destination receives the original data packets broadcast by the source and successfully restores all data packets, the transmission process ends.
[0047] On the other hand, a high-efficiency fusion random network coding device is provided, the high-efficiency fusion random network coding device comprising: a processor; a memory, the memory storing computer-readable instructions, and when the computer-readable instructions are executed by the processor, any one of the above-mentioned high-efficiency fusion random network coding methods is implemented.
[0048] On the other hand, a computer-readable storage medium is provided, wherein at least one instruction is stored in the storage medium, and the at least one instruction is loaded and executed by a processor to implement any one of the above-mentioned efficient fusion random network coding methods.
[0049] The beneficial effects brought about by the technical solution provided by the embodiment of the present invention include at least:
[0050] In an embodiment of the present invention, a source broadcasts multiple original data packets and transmits them to a destination; the destination receives the multiple original data packets and determines whether an error occurs in the transmission by using an error detection code verification method; when the number of data packets correctly received by the destination is equal to the number of original data packets broadcast by the source, the transmission process ends; when the number of data packets correctly received by the destination 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 destination decodes and restores the multiple original data packets sent by the source, and the transmission process ends.
[0051] The embodiment of the present invention proposes a fusion cross-layer GF (2 based on GRAND) L )-RLNC method uses random coding packets to generate fused random network coding syndromes and decodes the underlying burst bit errors through GRAND. This method uses random network coding packets to first perform underlying bit error decoding to reduce the packet loss rate without adding redundant information bits, which can improve the throughput performance of packet-level random network coding. BRIEF DESCRIPTION OF THE DRAWINGS
[0052] In order to more clearly illustrate the technical solutions in the embodiments of the present invention, the following briefly introduces the drawings required for use in the description of the embodiments. Obviously, the drawings described below are only some embodiments of the present invention. For ordinary technicians in this field, other drawings can be obtained based on these drawings without creative work.
[0053] Figure 1 This is a flow chart of an efficient fusion random network coding method provided by an embodiment of the present invention;
[0054] Figure 2 It is a schematic diagram of a process of efficient fusion random network coding provided by an embodiment of the present invention;
[0055] Figure 3 is a schematic diagram of a single-hop wireless broadcast network provided by an embodiment of the present invention;
[0056] Figure 4 is a schematic diagram of an original data packet and an encoded data packet provided by an embodiment of the present invention;
[0057] Figure 5 is a flow chart of a solution based on GRAND guessing error vectors provided by an embodiment of the present invention;
[0058] Figure 6 It is a block diagram of an efficient fusion random network coding system provided by an embodiment of the present invention;
[0059] Figure 7 It is a structural diagram of an efficient fusion random network coding device provided by an embodiment of the present invention. DETAILED DESCRIPTION
[0060] The technical solution of the present invention is described below in conjunction with the accompanying drawings.
[0061] In the embodiments of the present invention, words such as "exemplarily" and "for example" are used to indicate examples, illustrations or explanations. Any embodiment or design described as "example" in the present invention should not be interpreted as being more preferred or more advantageous than other embodiments or designs. Specifically, the use of the word "example" is intended to present the concept in a specific way. In addition, in the embodiments of the present invention, the meaning expressed by "and / or" can be both, or it can be either of the two.
[0062] In the embodiments of the present invention, "image" and "picture" can sometimes be used interchangeably. It should be noted that when the difference between them is not emphasized, the meanings they intend to express are the same. "of", "corresponding, relevant" and "corresponding" can sometimes be used interchangeably. It should be noted that when the difference between them is not emphasized, the meanings they intend to express are the same.
[0063] In the embodiments of the present invention, sometimes a subscript such as W1 may be written as a non-subscript such as W1. When the difference is not emphasized, the meanings to be expressed are the same.
[0064] In order to make the technical problems, technical solutions and advantages to be solved by the present invention more clear, a detailed description will be given below with reference to the accompanying drawings and specific embodiments.
[0065] The embodiment of the present invention provides a high-efficiency fusion random network coding method, which can be implemented by a high-efficiency fusion random network coding device, and the high-efficiency fusion random network coding device can be a terminal or a server. Figure 1 The flowchart of the efficient fusion random network coding method is shown in Figure 2 The process flow diagram of efficient fusion random network coding shown in FIG. 1 may include the following steps:
[0066] S1. The source broadcasts multiple original data packets to the destination.
[0067] Optionally, a single-hop wireless broadcast network includes: a single information source and multiple information destinations.
[0068] in, Figure 3 The figure shows a schematic diagram of a single-hop wireless broadcast network provided by an embodiment of the present invention; wherein the information source needs to broadcast The original data packets are transmitted to R destinations. For each data packet sent by the source, the correct reception probability of each destination is .
[0069] in, Figure 4 is a schematic diagram of an original data packet and an encoded data packet provided by 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, each of which consists of L=8 bits; Represents the data packet received by the destination r, let Represents the error vector .
[0070] S2. The destination receives multiple original data packets and determines whether an error occurs in the transmission by using an error detection code check method.
[0071] Among them, the error detection code detection method is adopted, including: a cyclic redundancy detection method.
[0072] S3a: When the number of data packets correctly received by the destination is equal to the number of original data packets broadcast by the source, the transmission process ends.
[0073] In a feasible implementation mode, the error detection code verification method is used to determine Is it established: If , then an error occurs in the transmission of the original data packet; if , then each destination correctly receives the original data packet transmitted by the source. Indicates the index set of erroneously received data packets, i.e. ; where j represents the index of the data packet; d represents the round of transmitting the random network coded data packet.
[0074] Optionally, when the number of data packets correctly received by the destination of S3a is equal to the number of original data packets broadcast by the source, the transmission process ends, including:
[0075] When the number of data packets correctly received by the destination is equal to the number of original data packets broadcast by the source, and each destination receives the original data packets broadcast by the source and successfully restores all data packets, the transmission process ends.
[0076] In a feasible implementation manner, for a single destination, the transmission process ends when P original data packets are correctly received.
[0077] S4b, when the number of data packets received by the destination 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 destination decodes and restores multiple original data packets sent by the source, and the transmission process ends.
[0078] Among them, since the correct reception rate of the destination is p r , there is packet loss, so
[0079] After the source broadcasts P original data packets, the source continues to transmit random network coded data packets , until the destination can decode and restore P original data packets.
[0080] Optionally, the source of S4b continues to transmit random network coded data packets until the sink decodes and restores multiple original data packets, including:
[0081] S4b1, the destination receives a random network coding data packet and selects a random coding coefficient;
[0082] When the destination receives the dth random coding data packet, the random coding coefficient can be randomly selected from the following set, where the random set can be expressed by the following formula (1):
[0083] (1)
[0084] Among them, the dth randomly encoded data packet can be expressed as ,in, represents random coding coefficients; Represents the data packet received by the source; GF() represents a finite field; represents the primitive element of the finite field; L represents the dimension of the finite field; represents a collection of random codes;
[0085] Among them, when , when the dth coded data packet received by the source is not equal to the coded data packet sent by the sink, that is, the source incorrectly receives the dth coded data packet, then the sink updates the index set of the incorrectly received data packet to .
[0086] S4b2, the sink calculates the fused random network coding syndrome according to the received data packet, the random coding data packet and the random coding coefficient;
[0087] In a feasible implementation, the fused random network coding syndrome can be expressed by the following formula (2):
[0088] (2)
[0089] in, represents the fused random network coding syndrome, d ≥ 1.
[0090] S4b3, the sink obtains an estimated error vector based on the fused random network coding syndrome and the guessed random additive noise decoding algorithm, and recovers the data packet actually transmitted by the source based on the estimated error vector;
[0091] The data packet recovery process can be expressed by the following formula (3):
[0092] (3)
[0093] in, represents the estimation error vector; represents the jth packet in the estimated error vector; The error vector representing the jth packet is equal to the probability of the jth packet in the estimated error vector; represents the p+ith packet in the estimated error vector;
[0094] Optionally, the sink of S4b3 estimates the error vector according to the fused random network coding syndrome, including:
[0095] S4b31, set the estimated error vector to zero;
[0096] The estimated error vector is available Indicates; among them, , S represents the data symbol, which is calculated by M / L.
[0097] S4b32, performing calculation according to the fused random network coding syndrome and preset conditions to obtain an estimated error vector;
[0098] In a feasible implementation, for each non-zero symbol vector in the fused random network coding syndrome, it can be expressed by the following formula (4):
[0099] (4)
[0100] in, represents the i-th data symbol in the j-th data packet; Represents the i-th data symbol in the (p+d)-th data packet.
[0101] in, represents each non-zero symbol vector in the fused random network coding syndrome.
[0102] In a feasible implementation, the estimated error vector can be expressed by the following formula (5):
[0103] (5)
[0104] in, represents the estimation error vector; represents the Hamming weight; express; represents the i-th syndrome.
[0105] S4b33, determine whether each data packet in the estimated error vector is an all-zero vector; if all are not zero, the estimated error vector is the guessed estimated error vector; otherwise, calculate the error received data packet; according to the error detection code verification method, determine whether the error received data packet is equal to the data packet sent by the source; if equal, the error received data packet can be correctly received;
[0106] In a feasible implementation manner, judging whether a data packet in an estimated error vector is an all-zero vector by global information can be expressed by the following formula:
[0107]
[0108] The formula for calculating the number of erroneous received data packets can be expressed by the following formula (6):
[0109] (6)
[0110] in, Indicates the estimated erroneous received data packet; Indicates the data packet received by the sink.
[0111] Among them, according to the error detection code verification method, Is it equal to ,like , then the data packet is correctly received, and j is Remove it from the GRAND packet list to get the new original data packet and encoded data packet after the first GRAND.
[0112] S4b34, recalculate the fused random network coding syndrome; calculate a new estimated error vector based on the recalculated fused random network coding syndrome; save the new estimated error vector that meets the preset conditions, and combine them according to the probability of occurrence;
[0113] The preset condition can be expressed by the following formula (7):
[0114] (7)
[0115] S4b35, taking the vector combination with the largest probability and not selected as the estimated vector;
[0116] Optionally, the Hamming weight is used to measure the occurrence probability; wherein, the smaller the Hamming weight, the higher the occurrence probability, and the same Hamming weight has the same occurrence probability.
[0117] Among them, the Hamming weight in the embodiment of the present invention is increased to 2.
[0118] S4b36, 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 a guessed estimated error vector; otherwise, re-execute step S4b35 until the estimated error vector satisfies the condition that all are not zero vectors.
[0119] Among them, it is judged whether the estimated vector satisfies If the condition is met, the estimated vector is a guessed estimated error vector; otherwise, the combination is deleted and step S4b35 is executed again until the estimated vector satisfies that all vectors are not zero.
[0120] S4b4, using a new round of error detection code verification method to check, if the verification passes, the sink successfully restores the data packet;
[0121] In a feasible implementation mode, for , through a new round of error detection code verification, when it meets , the sink successfully recovers the data packet and removes j from the set Removed.
[0122] S4b5. Determine whether multiple linearly independent and correct data packets are received. If multiple linearly independent data packets exist, the destination decodes and restores multiple original data packets. Otherwise, the source continues to transmit random network coded data packets, and repeats steps S4b1-S4b5 until the destination decodes and restores multiple original data packets.
[0123] Among them, the number of data packets correctly received by the destination is available express.
[0124] In a feasible implementation, for a memoryless binary symmetric channel model, Figure 5 It is a flow chart of a solution based on GRAND guessing error vector provided by an embodiment of the present invention; in a feasible implementation manner, a source broadcasts 20 original data packets. If a destination cannot correctly receive all the original data packets, the source will select a suitable coding coefficient and transmit a random network coding data packet; a syndrome is calculated based on the received data packet, and an error vector is estimated based on GRAND, and each data symbol is judged one by one whether it meets the preset condition. If it meets the preset condition, the corresponding vector is the estimated error vector of the i-th column; if it does not meet the preset condition, the Hamming weight of the corresponding vector is increased by one to judge whether the preset condition is met again; then, it is judged whether each data packet of the obtained estimated error vector is an all-zero vector. If all are not zero, the estimated error vector is the error vector guessed by GRAND; otherwise, a cyclic redundancy check is used to judge whether the estimated error vector can correctly recover part of the data packet. If it can be correctly recovered, the index of the correctly recovered data packet is removed from the error number The first step is to firstly delete the data packets from the index set of the received data packets; then recalculate the syndrome according to the remaining erroneous received data packets; according to the recalculated syndrome, based on the GRAND estimated error vector, determine whether each data symbol meets the preset conditions one by one. If yes, save all corresponding vectors that meet the conditions in the set of the i-th column and sort them according to the probability; if not, add one to the Hamming weight of the corresponding vector to determine whether the preset conditions are met again; after obtaining the sets of each column, select the vector with the highest probability of occurrence as the guess vector of the current column to form the estimated error vector; then determine whether each data packet of the obtained estimated error vector is an all-zero vector. If all are not zero, the estimated error vector is the error vector guessed by GRAND; otherwise, delete the combination and reselect the vector combination with the highest probability of occurrence until all data packets of the estimated error vector are not zero, then the estimated error vector is the error vector guessed by GRAND.
[0125] In an embodiment of the present invention, a source broadcasts multiple original data packets and transmits them to a destination; the destination receives the multiple original data packets and determines whether an error occurs in the transmission by using an error detection code verification method; when the number of data packets correctly received by the destination is equal to the number of original data packets broadcast by the source, the transmission process ends; when the number of data packets correctly received by the destination 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 destination decodes and restores the multiple original data packets sent by the source, and the transmission process ends.
[0126] The embodiment of the present invention proposes a fusion cross-layer GF (2 based on GRAND) L )-RLNC method uses random coding packets to generate fused random network coding syndromes, and uses GRAND decoding to decode the underlying burst bit errors. This method can use random network coding packets to first perform underlying bit error decoding to reduce the packet loss rate without increasing redundant information bits, and can improve the throughput performance of packet-level random network coding.
[0127] Figure 6 is a block diagram of an efficient fusion random network coding system according to an exemplary embodiment, the system is used for efficient fusion random network coding method. Figure 6 The system includes a signal source 610 and a signal sink 620. Among them:
[0128] The information source 610 is used to broadcast multiple original data packets to the information destination;
[0129] The sink 620 is used for receiving multiple original data packets at the sink, and determining whether an error occurs in the transmission by adopting an error detection code verification method; 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; 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.
[0130] Optionally, the single-hop wireless broadcast network includes: a single information source and multiple information destinations.
[0131] Optionally, the information source continues to transmit the random network coded data packet until the information sink decodes and restores a plurality of original data packets, including:
[0132] (1) The destination receives a random network coding data packet and selects a random coding coefficient;
[0133] (2) The destination calculates the fused random network coding syndrome based on the received data packet, the random coding data packet, and the random coding coefficient;
[0134] (3) The destination obtains an estimated error vector based on the fused random network coding syndrome and the guessed random additive noise decoding algorithm, and recovers the data packet actually transmitted by the source based on the estimated error vector.
[0135] (4) A new round of error detection code verification is used. If the verification passes, the destination successfully restores the data packet.
[0136] (5) Determine whether multiple linearly independent and correct data packets are 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) to (5) until the sink decodes and restores multiple original data packets.
[0137] Optionally, the sink estimates an error vector according to a fused random network coding syndrome, including:
[0138] (1) Set the estimated error vector to zero;
[0139] (2) Calculate based on the fused random network coding syndrome and preset conditions to obtain an estimated error vector;
[0140] (3) Determine whether each data packet in the estimated error vector is an all-zero vector; if all are not zero, the estimated error vector is the guessed estimated error vector; otherwise, calculate the erroneous received data packet; based on the error detection code verification method, determine whether the erroneous received data packet is equal to the data packet sent by the source; if they are equal, the erroneous received data packet can be correctly received;
[0141] (4) Recalculating the fused random network coding syndrome; calculating a new estimated error vector based on the recalculated fused random network coding syndrome; saving the new estimated error vectors that meet the preset conditions and combining them according to the probability of occurrence;
[0142] (5) Take the vector combination with the highest probability and that has 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, re-execute step (5) until the estimated error vector satisfies the condition that all are not zero vectors.
[0144] Optionally, the Hamming weight is used to measure the occurrence probability; wherein, the smaller the Hamming weight, the higher the occurrence probability, and the occurrence probabilities of the same Hamming weights are equal.
[0145] Optionally, when the number of data packets correctly received by the destination is equal to the number of original data packets broadcast by the source, the transmission process ends, including:
[0146] When the number of data packets correctly received by the destination is equal to the number of original data packets broadcast by the source, and each destination receives the original data packets broadcast by the source and successfully restores all data packets, the transmission process ends.
[0147] In an embodiment of the present invention, a source broadcasts multiple original data packets and transmits them to a destination; the destination receives the multiple original data packets and determines whether an error occurs in the transmission by using an error detection code verification method; when the number of data packets correctly received by the destination is equal to the number of original data packets broadcast by the source, the transmission process ends; when the number of data packets correctly received by the destination 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 destination decodes and restores the multiple original data packets sent by the source, and the transmission process ends.
[0148] The embodiment of the present invention proposes a fusion cross-layer GF (2 based on GRAND) L )-RLNC method uses random coding packets to generate fused random network coding syndromes, and uses GRAND decoding to decode the underlying burst bit errors. This method can use random network coding packets to first perform underlying bit error decoding to reduce the packet loss rate without increasing redundant information bits, and can improve the throughput performance of packet-level random network coding.
[0149] Figure 7 is a schematic diagram of the structure of an efficient fusion random network coding device provided by an embodiment of the present invention, such as Figure 7 As shown, the efficient fusion random network coding device may include the above Figure 6 The high-efficiency fusion random network coding system shown. Optionally, the high-efficiency fusion random network coding device 710 may include a first processor 2001 .
[0150] Optionally, the efficient fusion random network coding device 710 may further include a memory 2002 and a transceiver 2003 .
[0151] The first processor 2001, the memory 2002 and the transceiver 2003 may be connected via a communication bus.
[0152] Combine the following Figure 7 The components of the efficient fusion random network coding device 710 are specifically introduced as follows:
[0153] The first processor 2001 is the control center of the efficient fusion random network coding device 710, which can be a processor or a general term for multiple processing elements. For example, the first processor 2001 is one or more central processing units (CPUs), or an application specific integrated circuit (ASIC), or one or more integrated circuits configured to implement the embodiments of the present invention, such as one or more microprocessors (digital signal processors, DSPs), or one or more field programmable gate arrays (field programmable gate arrays, FPGAs).
[0154] Optionally, the first processor 2001 may perform various functions of the efficient fusion random network coding device 710 by running or executing a software program stored in the memory 2002 and calling data stored in the memory 2002 .
[0155] In a specific implementation, as an embodiment, the first processor 2001 may include one or more CPUs, such as Figure 7 CPU0 and CPU1 are shown in FIG.
[0156] In a specific implementation, as an embodiment, the efficient fusion random network coding device 710 may also include multiple processors, such as Figure 7 The first processor 2001 and the second processor 2004 are shown in FIG. Each of these processors may be a single-core processor (single-CPU) or a multi-core processor (multi-CPU). The processor here may refer to one or more devices, circuits, and / or processing cores for processing data (e.g., computer program instructions).
[0157] The memory 2002 is used to store the software program for executing the solution of the present invention, and is controlled to be executed by the first processor 2001. The specific implementation method can refer to the above method embodiment, which will not be repeated here.
[0158] Optionally, the memory 2002 may be a read-only memory (ROM) or other types of static storage devices that can store static information and instructions, a random access memory (RAM) or other types of dynamic storage devices that can store information and instructions, or an electrically erasable programmable read-only memory (EEPROM), a compact disc read-only memory (CD-ROM) or other optical disc storage, optical disc storage (including compressed optical disc, laser disc, optical disc, digital versatile disc, Blu-ray disc, etc.), a magnetic disk storage medium or other magnetic storage device, or any other medium that can be used to carry or store the desired program code in the form of instructions or data structures and can be accessed by a computer, but is not limited thereto. The memory 2002 may be integrated with the first processor 2001, or may exist independently, and may be efficiently integrated with the interface circuit ( Figure 7 (not shown) is coupled to the first processor 2001, which is not specifically limited in this embodiment of the present invention.
[0159] The transceiver 2003 is used to communicate with a network device or a terminal device.
[0160] Optionally, the transceiver 2003 may include a receiver and a transmitter ( Figure 7 The receiver is used to implement a receiving function, and the transmitter is used to implement a sending function.
[0161] Optionally, the transceiver 2003 may be integrated with the first processor 2001, or may exist independently, and efficiently integrate the interface circuit ( Figure 7 (not shown) is coupled to the first processor 2001, which is not specifically limited in this embodiment of the present invention.
[0162] It should be noted that Figure 7 The structure of the efficient fusion random network coding device 710 shown in the figure does not constitute a limitation on the router, and the actual knowledge structure recognition device may include more or fewer components than shown in the figure, or combine certain components, or arrange the components differently.
[0163] In addition, the technical effects of the efficient fusion random network coding device 710 can refer to the technical effects of the efficient fusion random network coding method described in the above method embodiment, which will not be repeated here.
[0164] It should be understood that the first processor 2001 in the embodiment of the present invention may be a central processing unit (CPU), and the processor may also be other general-purpose processors, digital signal processors (DSP), application specific integrated circuits (ASIC), field programmable gate arrays (FPGA) or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. The general-purpose processor may be a microprocessor or the processor may also be any conventional processor, etc.
[0165] It should also be understood that the memory in the embodiments of the present invention may be a volatile memory or a non-volatile memory, or may include both volatile and non-volatile memories. Among them, the non-volatile memory may be a read-only memory (ROM), a programmable read-only memory (PROM), an erasable programmable read-only memory (EPROM), an electrically erasable programmable read-only memory (EEPROM), or a flash memory. The volatile memory may be a random access memory (RAM), which is used as an external cache. By way of example and not limitation, many forms of random access memory (RAM) are available, such as static RAM (SRAM), dynamic random access memory (DRAM), synchronous DRAM (SDRAM), double data rate synchronous dynamic random access memory (DDR SDRAM), enhanced synchronous dynamic random access memory (ESDRAM), synchronous link 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. When implemented by software, the above embodiments can be implemented in whole or in part in the form of 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, the process or function described in the embodiment of the present invention is generated in whole or in part. 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 computer-readable storage medium. For example, the computer instructions can be transmitted from one website, computer, server or data center to another website, computer, server or data center by wired (such as infrared, wireless, microwave, etc.). The computer-readable storage medium can be any available medium that can be accessed by a computer or a data storage device such as a server or data center that contains one or more available media sets. The available medium can be a magnetic medium (for example, a floppy disk, a hard disk, a tape), an optical medium (for example, a DVD), or a semiconductor medium. The semiconductor medium can be a solid-state hard disk.
[0167] It should be understood that the term "and / or" in this article is only a description of the association relationship of associated objects, indicating that there can be three relationships. For example, A and / or B can represent: A exists alone, A and B exist at the same time, and B exists alone. A and B can be singular or plural. In addition, the character " / " in this article generally indicates that the associated objects before and after are in an "or" relationship, but it may also indicate an "and / or" relationship. Please refer to the context for specific understanding.
[0168] In the present invention, "at least one" means one or more, and "plurality" means two or more. "At least one of the following" or similar expressions refers to any combination of these items, including any combination of single items or plural items. For example, at least one of a, b, or c can mean: a, b, c, ab, ac, bc, or abc, where a, b, and c can be single or multiple.
[0169] It should be understood that in various embodiments of the present invention, the size of the serial numbers of the above-mentioned processes does not mean 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 appreciate that the units and algorithm steps of each example 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 performed in hardware or software depends on the specific application and design constraints of the technical solution. Professional and technical personnel can use different methods to implement the described functions for each specific application, but such implementation should not be considered to be beyond the scope of the present invention.
[0171] Those skilled in the art can clearly understand that, for the convenience and brevity of description, the specific working processes of the above-described devices, systems and units can refer to the corresponding processes in the aforementioned method embodiments and will not be repeated here.
[0172] In the several embodiments provided by the present 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 only schematic. For example, the division of the units is only a logical function division. There may be other division methods in actual implementation, such as multiple units or components can be combined or integrated into another device, or some features can be ignored or not executed. Another point is that the mutual coupling or direct coupling or communication connection shown or discussed can be through some interfaces, indirect coupling or communication connection of the system or unit, which can be electrical, mechanical or other forms.
[0173] The units described as separate components may or may not be physically separated, and the components shown as units may or may not be physical units, that is, they may be located in one place or distributed on multiple network units. Some or all of the units may be selected according to actual needs to achieve the purpose of the solution of this embodiment.
[0174] In addition, each functional unit in each embodiment of the present invention may be integrated into one processing unit, or each unit may exist physically separately, or two or more units may be integrated into one unit.
[0175] If the functions are implemented in the form of 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 the present invention, or the part that contributes to the prior art, or the part of the technical solution, can be embodied in the form of a software product. The computer software product is stored in a storage medium, including several instructions for enabling a computer device (which can be a personal computer, server, or network device, etc.) to perform all or part of the steps of the methods described in various embodiments of the present invention. The aforementioned storage medium includes: U disk, mobile hard disk, read-only memory (ROM), random access memory (RAM), disk or optical disk, and other media that can store program codes.
[0176] The above is only a specific embodiment of the present invention, but the protection scope of the present invention is not limited thereto. Any person skilled in the art can easily think of changes or substitutions within the technical scope disclosed by the present invention, which should be included in the protection scope of the present invention. Therefore, the protection scope of the present invention should be based on the protection scope of the claims.
Claims
1. An efficient fusion random network coding method, characterized in that: The efficient fusion random network coding method is implemented by a single-hop wireless broadcast network, wherein the single-hop wireless broadcast network includes a signal source and a signal sink, and the method includes: S1, the information source broadcasts multiple original data packets to the information destination; S2, the destination receives multiple original data packets and determines whether an error occurs in the transmission by using an error detection code check method; S3a, when the number of data packets correctly received by the destination 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 destination 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 destination decodes and restores multiple original data packets sent by the source, and the transmission process ends.
2. The efficient fusion random network coding method according to claim 1 is characterized in that: The single-hop wireless broadcast network includes: a single information source and multiple information destinations.
3. The efficient fusion random network coding method according to claim 1 is characterized in that: The information source of S4b continues to transmit random network coded data packets until the information sink decodes and restores a plurality of original data packets, including: S4b1, the destination receives a random network coding data packet and selects a random coding coefficient; S4b2, the sink calculates the fused random network coding syndrome according to the received data packet, the random coding data packet and the random coding coefficient; S4b3, the sink obtains an estimated error vector based on the fused random network coding syndrome and the guessed random additive noise decoding algorithm, and recovers the data packet actually transmitted by the source based on the estimated error vector; S4b4, using a new round of error detection code verification method to check, if the verification passes, the sink successfully restores the data packet; S4b5. Determine whether multiple linearly independent and correct data packets are received. If multiple linearly independent data packets exist, the destination decodes and restores multiple original data packets. Otherwise, the source continues to transmit random network coded data packets, and repeats steps S4b1-S4b5 until the destination decodes and restores multiple original data packets.
4. The efficient fusion random network coding method according to claim 3 is characterized in that: The destination of S4b3 estimates the error vector according to the fused random network coding syndrome, including: S4b31, set the estimated error vector to zero; S4b32, performing calculation according to the fused random network coding syndrome and preset conditions to obtain an estimated error vector; S4b33, determine whether each data packet in the estimated error vector is an all-zero vector; if all are not zero, the estimated error vector is the guessed estimated error vector; otherwise, calculate the error received data packet; according to the error detection code verification method, determine whether the error received data packet is equal to the data packet sent by the source; if equal, the error received data packet can be correctly received; S4b34, recalculate the fused random network coding syndrome; calculate a new estimated error vector based on the recalculated fused random network coding syndrome; save the new estimated error vector that meets the preset conditions, and combine them according to the probability of occurrence; S4b35, taking the vector combination with the largest probability and not selected as the estimated vector; S4b36, 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 a guessed estimated error vector; otherwise, re-execute step S4b35 until the estimated error vector satisfies the condition that all are not zero vectors.
5. The efficient fusion random network coding method according to claim 4 is characterized in that: The Hamming weight is used to measure the occurrence probability; wherein, the smaller the Hamming weight, the higher the occurrence probability, and the occurrence probabilities of the same Hamming weights are equal.
6. The efficient fusion random network coding method according to claim 1 is characterized in that: When the number of data packets correctly received by the destination in S3a is equal to the number of original data packets broadcast by the source, the transmission process ends, including: When the number of data packets correctly received by the destination is equal to the number of original data packets broadcast by the source, and each destination receives the original data packets broadcast by the source and successfully restores all data packets, the transmission process ends.
7. An efficient fusion random network coding system, the efficient fusion random network coding system is used to implement the efficient fusion random network coding method according to any one of claims 1 to 6, characterized in that: The system comprises: The information source is used to broadcast multiple original data packets to the information destination; The sink is used to receive multiple original data packets and determine whether an error occurs in the transmission by adopting an error detection code verification method; 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; 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.
8. The efficient fusion random network coding system according to claim 7, characterized in that: The single-hop wireless broadcast network includes: a single information source and multiple information destinations.
9. An efficient fusion random network coding device, characterized in that: The efficient fusion random network coding device comprises: processor; A memory having computer-readable instructions stored thereon, wherein when the computer-readable instructions are executed by the processor, the method according to any one of claims 1 to 6 is implemented.
10. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores program codes, which can be called by a processor to execute the method according to any one of claims 1 to 6.
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
Hybrid transmission method based on linear network code, electronic equipment and storage medium
CN109525368A
Homomorphic Signatures and Network Coding Signatures
US20130346755A1