A network stream beacon encoding and decoding method based on RaptorQ fountain code

By adopting the cascaded encoding structure of RaptorQ fountain code and dynamic redundant check code in the network flow beacon encoding and decoding method, combining the cyclic incremental synchronization code and the start mark code, the reliability problem of data transmission in complex network environments is solved, and efficient anti-interference data transmission is achieved.

CN119011090BActive Publication Date: 2025-04-22NANJING UNIV OF INFORMATION SCI & TECH
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
CN202411493141.1
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2024-10-24
Publication Date
2025-04-22
Estimated Expiration
2044-10-24

AI Technical Summary

Technical Problem

In complex and changeable network environments, especially in encrypted multi-hop network scenarios, reliable data transmission faces huge challenges. Traditional encoding and transmission methods are difficult to effectively deal with interference such as bit flip, insertion, deletion and replacement, resulting in data corruption or inability to recover.

Method used

The network stream beacon encoding and decoding method based on RaptorQ fountain code is adopted, and a cascaded encoding structure combined with RaptorQ encoding and dynamic redundant verification code (DRCC) is added to add a cyclic incremental synchronization code and a start mark code to form a beacon bit sequence stream with verification information, and repetitive copy transmission is performed in the channel to improve the anti-interference ability and the reliability of data transmission.

Benefits of technology

Effectively respond to bit flip, replace, insert and other interferences in poor channel environments, ensure the integrity and accuracy of data transmission, and provide a reliable solution for beacon-based tracking and traceability in encrypted multi-hop networks.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119011090B_ABST
    Figure CN119011090B_ABST
Patent Text Reader

Abstract

The present invention provides a network stream beacon encoding and decoding method based on RaptorQ fountain code, including: step 1, performing RaptorQ encoding processing on the network stream beacon to form a continuous beacon bit sequence stream; step 2, adding a unique dynamic redundancy check code DRCC after each code segment in the beacon bit sequence stream, so that each code segment carries verification information; step 3, the beacon receiving end performs beacon detection; step 4, starting the detection of the synchronization code in each code segment; step 5, converting the synchronization code and the RaptorQ code segment into byte form and sending them to the RaptorQ decoder for decoding. The present invention adopts the design of RaptorQ fountain code, which effectively copes with the network environment that is susceptible to interference, and the interference errors that are prone to occur on the transmission channel, such as synchronization loss and delay jitter, etc. This method provides a reliable solution for realizing beacon-based tracking and tracing in an encrypted network environment.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the field of data encoding and decoding, and in particular to a network stream beacon encoding and decoding method based on RaptorQ fountain code. Background Art

[0002] With the development of modern communication technology, the transmission of network information has become an indispensable part of daily life and industrial applications. However, the complexity and variability of the network environment, especially in encryption and multi-hop network scenarios, poses a huge challenge to the reliable transmission of data. In this context, how to effectively encode, transmit and decode data to ensure the integrity and correctness of the data has become an urgent problem to be solved.

[0003] Traditional coding and transmission methods often seem to be unable to cope with various interferences in network environments. Common interferences include bit flipping, insertion, deletion, and substitution, which may cause serious damage to data or even make it impossible to recover. Therefore, it is of great practical significance to develop a coding and decoding method with strong robustness and high anti-interference ability. Summary of the invention

[0004] Purpose of the invention: The purpose of the present invention is to provide a network stream beacon encoding and decoding method based on RaptorQ fountain code, thereby effectively coping with interference effects such as network environment susceptible to interference and synchronization loss and delay jitter on the beacon transmission channel by adopting the design of RaptorQ fountain code. This method provides a reliable solution for realizing beacon-based tracking and tracing in encrypted multi-hop networks.

[0005] Technical solution: The network stream beacon encoding and decoding method based on RaptorQ fountain code described in the present invention comprises the following steps:

[0006] Step 1: Place the N o The network flow beacon with a length of bits is RaptorQ encoded. o The value of is a multiple of 8, and the binary data obtained after encoding is processed in segments, each encoding segment consists of N p bits, N p The value range is (8,10), add N before each coding segment s bits of cyclic increasing synchronization code, N s The value range is (4,8), then each code segment consists of N q bits, N q The value range of is (12,18), forming a continuous beacon bit sequence stream;

[0007] Step 2: Add a unique N after each code segment in the beacon bit sequence stream.r bits of Dynamic Redundancy Check Code (DRCC), N r The value range of is (8,10), so that each code segment has check information and is extended to N p +N s +N r bits in length; add T in front of the beacon bit sequence stream s bits of start marker code, T s The value range is (24,30); the beacon bit sequence stream with check information and start mark code is repeated N times c The bit sequence stream after X, N c The value range of is (2,5), and it is sent into the channel for transmission;

[0008] Step 3, the beacon receiver monitors the beacon bit sequence stream after being transmitted through the channel and performs beacon detection;

[0009] Step 4, after detecting the start mark code, start detecting the synchronization code in each code segment;

[0010] Step 5, for the code segments marked as valid data after verification, after removing the dynamic redundancy check code, the synchronization code and RaptorQ code segment are converted into byte form and sent to the RaptorQ decoder for decoding; during the decoding process, the integrity of each code segment is first verified; after decoding is completed, the beacon information corresponding to the code stream composed of the code segments is output.

[0011] Step 2 contains the following steps:

[0012] Step 2-1, N in each code segment in the beacon bit sequence code stream q bits, from N s Bit synchronization code and N p The RaptorQ coding segment constitutes the basic unit segment; N q The bit information is represented as Where f0 represents the first bit of information, Indicates the Nth q bits of information, N q Each bit of information in the bits represents the bit information of the basic unit segment 0 or 1, and the bit information of the basic unit segment is used as a polynomial The coefficient of each code segment is N q bits of data are represented as polynomials x is a mathematical variable with no actual physical meaning. It is only used to indicate the position of a data bit in a polynomial. x^i is used to indicate the power position of the bit.

[0013] Step 2-2, use dynamic redundancy check code and set N r The bit check information is in Indicates the Nth r bit check information, g0 represents the first bit check information, each bit check information represents bit check information 0 or 1, r The bit check information is also expressed as a polynomial The coefficients of the check information are expressed as polynomials

[0014] Step 2-3: N q Shift N bits of information to the left r bits, equivalent to multiplying by in the polynomial representation The polynomial becomes N q +N r Polynomial of bits

[0015] Step 2-4, divide the polynomial F′(x) by the polynomial G(x) to obtain the required remainder DRCC(x) for determining data integrity. The specific calculation is:

[0016]

[0017] Where Q(x) is the quotient generated during the polynomial division process; DRCC(x) is the remainder, which represents the dynamic redundancy check code;

[0018] Step 2-5, append the remainder DRCC(x) to the polynomial F ′ (x), then N of each code segment q bits of data to complete the addition of dynamic redundancy check code; finally, each code segment includes the original N q bits of information and an additional N r bits of dynamic redundancy check code, forming a length of N q +N r bits of code segment data;

[0019] Step 2-6, create a dynamic redundancy check code table to store N q The dynamic redundancy check code generated by the N bits of information; q The dynamic redundancy check code generated by the information in all cases of bits is stored in it to form a Dynamic redundancy check code table of elements.

[0020] Step 2-7, for each N qbits, and use a dynamic redundancy check code table to perform dynamic table lookup operations; according to N q The corresponding dynamic redundancy check code is searched for each bit of information, and the dynamic redundancy check code is added to each basic unit code segment to ensure that each segment of data carries the check information;

[0021] Step 2-8, add T in front of the sequence code stream s The start mark code composed of bits 0 and 1 generates a beacon bit sequence code stream, and the new code stream with the check information and the start mark code is repeated N times. c After that, the obtained beacon bit sequence stream X is sent into the channel for transmission;

[0022] Step 3 includes the following steps:

[0023] Step 3-1, monitor the code stream after transmission through the channel, and use a length of T c The dynamic window records the passing bit stream, T c The value range of is (20,32), which is recorded as the sequence code stream C;

[0024] Step 3-2, create a c +1)×(T s +1), each element D[l][j] in the matrix D represents the number of insertion, deletion, and replacement operations required to convert the first l bits of the sequence code stream C into the first j bits of the start mark code T, and the zeroth row and zeroth column of the matrix D are initialized, wherein the zeroth column element D[l][0]=l represents the number of insertion, deletion, and replacement operations required between the first l bits of the received sequence code stream C and the empty bit; the zeroth row element D[0][j]=j represents the number of insertion, deletion, and replacement operations required between the empty bit code and the first j bits of the start mark code;

[0025] Step 3-3: for each bit l in the sequence code stream C and each bit j in the start marker code T, l takes a value from 1 to T. c , j ranges from 1 to T s , if the bit in the sequence code stream C[l-1] is not equal to the bit in the start marker code T[j-1], then the intermediate parameter cs=1, otherwise the intermediate parameter cs=0; calculate and record D[l][j]=min{D[l-1][j]+cs,D[l][j-1]+cs,D[l-1][j-1]+cs};

[0026] Step 3-4, find the minimum value of the last row of matrix D, which is the minimum number of operations l between the sequence code stream C and the start mark code T d ;if That is, it is determined that the start mark code T is found;

[0027] Step 3-5: If the start marker code T is still not detected when the sequence code stream C ends, the beacon detection fails.

[0028] Step 4 includes the following steps:

[0029] Step 4-1, start the detection of the synchronization code of each code segment, and preset a N that increases from 0 s Bit binary number N;

[0030] Step 4-2, compare and detect the preset number N with the first synchronization code after the start mark code. If they are consistent, it is determined that the synchronization code is correct; if they are inconsistent, the preset number N is increased by one, and the (N) in the code stream is continued. q +N r )±3 bits to compare and detect the next synchronization code. If they are consistent, the synchronization code is determined to be correct. If they are inconsistent, the preset number N is increased by one again, and the number of bits in the code stream is continued to be 2(N q +N r )±3 bits to detect the next synchronization code until the correct synchronization code is found; the relationship between the code stream and the preset number detection is N×(N q +N r )±3;

[0031] Step 4-3, the pre-correct synchronization code and the pre-correct synchronization code after N p bits, and use a dynamic mapping method of a dynamic redundancy check code table to obtain the check bit value of the code segment through mapping;

[0032] Step 4-4, compare the check bit value with the Nth bit after the correct synchronization code p bits to Nth p +N r The code segments composed of bits are compared. If they are consistent, it means that the code segments in the code stream are complete and correct. The code segments are retained and marked as valid data. If they are inconsistent, the code segments are discarded.

[0033] Step 4-5: When the total number of bits in the code segment reaches the threshold N b When the threshold N b ≥8+N o , stop detection; if the number of all bits in the code segment does not reach the threshold N before detecting the next start marker code b , then continue to detect the synchronization code after the next start mark code, and repeat steps 4-1 to 4-4;

[0034] Step 4-6: After the detection is completed, the number of all bits in the code segment still does not reach the threshold N b , then the beacon detection fails.

[0035] Step 5 includes the following steps:

[0036] Step 5-1: For the code segments marked as valid data after verification, use the synchronization code to distinguish each code segment and remove the last N in the code segment. r bits of dynamic redundancy check code;

[0037] Step 5-2: retain the first N in each code segment q bits, of which the first N s bits are synchronization codes, followed by N p bits are RaptorQ coded segments; the synchronization code and the RaptorQ coded segment are converted into a byte form that can be decoded;

[0038] Step 5-3, inputting the code segment converted into byte form into a RaptorQ decoder for RaptorQ decoding;

[0039] Step 5-4, decode and restore the complete network stream beacon.

[0040] The present invention also provides a computer storage medium on which a computer program is stored, and the method described above is implemented when the computer program is executed.

[0041] The present invention also provides a computer device, comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the method described is implemented when the processor executes the computer program.

[0042] Beneficial effects: Compared with the prior art, the present invention has the following advantages:

[0043] 1. The design uses RaptorQ fountain code as the inner code and DRCC code as the cascade coding structure of the outer code, which can effectively deal with interference such as bit flipping, replacement, and insertion caused by poor channel environment. RaptorQ fountain code has the characteristics of cumulative restoration, and as an indefinite length code, it can achieve efficient data recovery. Dynamic redundancy check DRCC code is used as the outer code, and the correctness of the data is verified by using a new polynomial, which further improves the reliability and anti-interference ability of data transmission.

[0044] 2. The design adopts the method of adding synchronization code. In the case of poor channel environment, it can accurately locate the correct starting position of each piece of information to ensure the integrity and accuracy of data transmission. Through the marking function of the synchronization code, it can effectively deal with different types of interference in the channel and maintain the stability of data transmission. BRIEF DESCRIPTION OF THE DRAWINGS

[0045] Figure 1 The present invention is a flowchart of the steps of the method.

[0046] Figure 2 Added process diagram for RaptorQ encoding and synchronization code.

[0047] Figure 3 This is a diagram of the dynamic redundancy check encoding process.

[0048] Figure 4 This is a diagram of the process of detecting the start marker code.

[0049] Figure 5 This is a diagram of the synchronization code detection process.

[0050] Figure 6 This is a diagram of the RaptorQ decoding process. DETAILED DESCRIPTION

[0051] The present invention will be further described in detail below in conjunction with the accompanying drawings and specific embodiments, and the above and / or other advantages of the present invention will become more clear.

[0052] like Figure 1 As shown, a specific embodiment of the present invention discloses a network flow beacon encoding and decoding method based on RaptorQ fountain code, including: step 1, performing RaptorQ encoding processing on the network flow beacon to be implanted, and dividing the encoded data into several segments, each encoding segment consists of N p bits, add N before each coded segment s bits of synchronization code to form a continuous beacon bit sequence stream; Step 2, add N bits after each synchronization code and code segment r bits of dynamic redundancy check code (DRCC), extending each coding segment to N q bits, and add T in front of the total bitstream s Repeat N times the new code stream with the checksum information and the start marker code. c After that, it is sent into the channel for transmission; Step 3, the code stream is detected at the receiving end. Whenever the start marker code is detected, the synchronization code before each code segment in the code stream is detected; when the synchronization code is detected, the DRCC table dynamic mapping method is used to verify the data segment, and the code segments that pass the test are retained; in the retained code segments, when the accumulated number of code segments reaches the threshold, the beacon information is extracted by decoding the synchronization code and RaptorQ code, and the correctness of the beacon code is verified.

[0053] In a specific embodiment of the present invention, Figure 2 As shown, the method of the present invention specifically comprises the following steps:

[0054] Step 1-1, performing RaptorQ encoding processing on the network flow beacon with a size of 16 bits to be embedded;

[0055] Step 1-2, set the redundancy size to 18, and obtain a total of 160 bits of data after RaptorQ encoding, which is divided into equal segments; each encoding segment consists of 8 bits;

[0056] Step 1-3, add a 4-bit cyclic increasing synchronization code before each coding segment. The synchronization code starts from

[0000] and increases by 1 each time until it increases to

[1111] and starts a further cycle. At this time, each segment consists of 12 bits, forming a continuous beacon bit sequence stream.

[0057] In this embodiment, if Figure 3 As shown, step 2 includes the following steps:

[0058] Step 2-1, the basic unit segment in the beacon bit sequence code stream consists of 4 bits of synchronization code and 8 bits of RaptorQ code, and each basic unit segment has a total of 12 bits;

[0059] Step 2-2, each segment of 12 bits of information is represented by {f 11 ,f 10 ,f9,…,…,f1,f0}, and use this information as the polynomial {x 11 ,x 10 ,…,x 1 ,x 0}, expressed as a polynomial For example, the basic unit code segment bit information is {f 11 ,f 10 ,f9,…,…,f1,f0}={0,0,0,…,…,1,1}, the polynomial is

[0060]

[0061] Step 2-3, set 8 bits of check information to {g7, g6, g5, …, …, g1, g0} = {1, 0, 1, 1, 1, 1, 1} as the polynomial {x 7 ,x 6 ,…,x 1 ,x 0}, expressed as the generating polynomial

[0062] Step 2-4, each 12-bit message to be sent is shifted 8 bits to the left, which is equivalent to multiplying x in the polynomial representation. 8 , the polynomial becomes a 12+8=20-bit polynomial F′(x)=x 8 F(x);

[0063] Step 2-5, use the polynomial F′(x) to divide the generating polynomial G(x) to obtain the required 8-bit remainder DRCC(x) for determining data integrity; the specific calculation is Among them, Q(x) is the quotient generated in the process of polynomial division; DRCC(x) is the remainder, that is, the dynamic redundancy check code.

[0064] Step 2-6, after the 8-bit remainder DRCC(x) is added to the polynomial F′(x), each basic unit code segment of 12 bits of data completes adding a dynamic redundancy check code to form a code segment data with a length of 20 bits;

[0065] Step 2-7, create a 2 12 ×12 dynamic redundancy check code table;

[0066] Step 2-8, for the basic unit code segment composed of 12 bits of information 01 in all cases, the calculated 8-bit DRCC code is added to the 12 bits of information, and the calculation process is the same as step 2-1 to step 2-6, and the calculated result is put into the dynamic redundancy check code table;

[0067] Step 2-9, processing the bit information in the beacon bit sequence code stream, and performing a dynamic table lookup operation using a dynamic redundancy check code table for each basic unit code segment consisting of 12 bits;

[0068] Step 2-10, searching for the corresponding dynamic redundancy check code according to the 12 bits of information;

[0069] Step 2-11, adding the dynamic redundancy check code found after the search to each 12-bit basic unit code segment to ensure that each data segment carries the check information;

[0070] Step 2-12, add a start marker code consisting of 25 01 bits in front of the beacon bit sequence code stream, T = {1,0,0,1,1,1,1,0,0,1,1,1,0,0,0,1,0,0,1,1,1,1,0,0,1};

[0071] Step 2-13, after the beacon bit sequence code stream with the check information and the start mark code is copied three times, the obtained sequence code stream X is sent to the channel for transmission.

[0072] In this embodiment, if Figure 4 As shown, step 3 includes the following steps:

[0073] Step 3-1, use T c The dynamic window with a bit length range of (20,30) records the serial code stream after transmission through the channel, which is recorded as serial code stream C.

[0074] Step 3-2, create a c +1)×26 matrix D, each element D[l][j] in the matrix D represents the number of insertion, deletion, and replacement operations required to convert the first l bits of the sequence code stream C into the first j bits of the start mark code T, and the zeroth row and zeroth column of the matrix D are initialized, wherein the zeroth column D[l][0]=l represents the number of insertion, deletion, and replacement operations required between the first l bits of the received sequence code stream C and the empty bit; the zeroth row D[0][j]=j represents the number of insertion, deletion, and replacement operations required between the empty bit code and the first j bits of the start mark code;

[0075] Step 3-3: for each bit l in the sequence code stream C and each bit j in the start marker code T, l takes a value from 1 to T. c , j takes a value of 1 to 25. If the bit in the sequence code stream C[l-1] is not equal to the bit in the start marker code T[j-1], the intermediate parameter cs = 1, otherwise the intermediate parameter cs = 0; calculate and record

[0076] D[l][j]=min{D[l-1][j]+cs,D[l][j-1]+cs,D[l-1][j-1]+cs};

[0077] Step 3-4, find the minimum value of the last row of matrix D, which is the minimum number of operations l between the sequence code stream C and the start mark code T d ;if That is, it is considered that the start marker code T = {1,0,0,1,1,1,1,0,0,1,1,1,0,0,0,1,0,0,1,1,1,1,0,0,1} is found;

[0078] In step 3-5, if the start marker code T = {1,0,0,1,1,1,1,0,0,1,1,1,0,0,0,1,0,0,1,1,1,1,0,0,1} is not detected at the end of the sequence code stream segment, the network stream beacon detection fails.

[0079] In this embodiment, if Figure 5 As shown, step 4 includes the following steps:

[0080] Step 4-1, start detection of the synchronization code of each code segment, and preset a number N that increases from 0;

[0081] Step 4-2, converting the preset number N into a four-bit binary number, and comparing it with the first synchronization code after the start mark code;

[0082] Step 4-3, if the comparison is consistent, the synchronization code is considered to be correct;

[0083] Step 4-4, if they are inconsistent, increase the preset number N by one, and continue to compare and detect the next synchronization code within the range of (20±3) bits in the code stream; if they are consistent, the synchronization code is considered to be pre-correct; if they are inconsistent, increase the preset number N by one, and continue to compare and detect the next synchronization code within the range of 2×(20)±3 bits in the code stream; if they are consistent, the synchronization code is considered to be pre-correct; if they are inconsistent, increase the preset number N by one again, and the relationship between the code stream and the preset number detection is N×(20)±3, until the pre-correct synchronization code is found;

[0084] Step 4-5, the code segment consisting of the pre-corrected synchronization code and the 8 bits thereafter is mapped using a dynamic mapping method of a dynamic redundancy check code table to obtain a check value for the code segment;

[0085] Step 4-6, compare the check value with the synchronization code and the 8 bits after the encoding segment in the code stream; if they are consistent, it means that this segment of information is complete and correct, and the code segment is retained and marked as valid data; if they are inconsistent, the code segment is discarded;

[0086] Step 4-7, when the total number of bits in the code segment reaches the threshold of 36 bits, stop the detection; if the number of bits does not reach the threshold before the next start marker code is detected, continue to detect the synchronization code after the next start marker code, and repeat the above process;

[0087] Step 4-8: If the threshold is still not reached after all code streams in the code segment are detected, the beacon detection fails.

[0088] In this embodiment, if Figure 6 As shown, step 5 includes the following steps:

[0089] Step 5-1, for the code segments marked as valid data after verification, use the synchronization code to distinguish each code segment. Remove the last 8 bits of dynamic redundancy check code in the code segment;

[0090] Step 5-2, retain the first 12 bits in each code segment, of which the first 4 bits are the synchronization code and the last 8 bits are the RaptorQ coding segment; convert the synchronization code and the RaptorQ coding segment into a decodable byte form, wherein the 4-bit synchronization code is filled with 4 0 bits in front and converted into a byte form.

[0091] Step 5-3, inputting the code segment converted into byte form into a RaptorQ decoder for RaptorQ decoding;

[0092] Step 5-4, decode and restore the complete network stream beacon.

[0093] The present invention provides a network stream beacon encoding and decoding method based on RaptorQ fountain code. There are many methods and ways to implement the technical solution. The above is only a preferred implementation of the present invention. It should be pointed out that for ordinary technicians in this technical field, several improvements and modifications can be made without departing from the principle of the present invention. These improvements and modifications should also be regarded as the protection scope of the present invention. All components not specified in this embodiment can be implemented by existing technologies.

Claims

1. A network stream beacon encoding and decoding method based on RaptorQ fountain code, characterized in that: The following steps are involved: Step 1: Place the N o The network flow beacon with a length of bits is RaptorQ encoded. o The value of is a multiple of 8, and the binary data obtained after encoding is processed in segments, each encoding segment consists of N p bits, add N before each coded segment s bits of cyclic increasing synchronization code, each code segment consists of N q bits, forming a continuous beacon bit sequence stream; Step 2: Add a unique N after each code segment in the beacon bit sequence stream. r bits of dynamic redundancy check code, so that each code segment has check information and is extended to N p +N s +N r bits in length; add T in front of the beacon bit sequence stream s bits of start marker code; Repeat the beacon bit sequence stream with checksum information and start marker code N times c The bit sequence stream X after the second is sent into the channel for transmission; Step 3, the beacon receiver monitors the beacon bit sequence stream after being transmitted through the channel and performs beacon detection; Step 4, after detecting the start mark code, start detecting the synchronization code in each code segment; Step 5, for the code segments marked as valid data after verification, after removing the dynamic redundancy check code, the synchronization code and the RaptorQ coding segment are converted into byte form and sent to the RaptorQ decoder for decoding; during the decoding process, the integrity of each code segment is first verified; after decoding is completed, the beacon information corresponding to the code stream composed of the code segments is output; Step 2 contains the following steps: Step 2-1, N in each code segment in the beacon bit sequence stream q bits, from N s Bit synchronization code and N p The RaptorQ coding segment constitutes the basic unit segment; q The bit information is represented as Where f0 represents the first bit of information, Indicates the Nth q bits of information, N q Each bit of information in the bits represents the bit information of the basic unit segment 0 or 1, and the bit information of the basic unit segment is used as a polynomial The coefficient of each code segment is N q Bits of data are represented as polynomials: Step 2-2, use dynamic redundancy check code and set N r The bit check information is Where N r =8, Indicates the Nth r bit check information, g0 represents the first bit check information, each bit check information represents bit check information 0 or 1, r The bit check information is also expressed as a polynomial The coefficients of the check information are expressed as polynomials Step 2-3: N q Shift N bits of information to the left r bits, equivalent to multiplying the coefficients in the polynomial F(x) The polynomial becomes N q +N r Polynomial of bits Step 2-4, divide the polynomial F′(x) by the polynomial G(x) to obtain the required remainder DRCC(x) for determining data integrity. The specific calculation is: Where Q(x) is the quotient generated during the polynomial division process; DRCC(x) is the remainder, which represents the dynamic redundancy check code; Step 2-5, after adding the remainder DRCC(x) to the polynomial F′(x), the N of each code segment is q bits of data to complete the addition of dynamic redundancy check code; finally, each code segment includes the original N q bits of information and an additional N r bits of dynamic redundancy check code, forming a length of N q +N r bits of code segment data; Step 2-6, create a dynamic redundancy check code table to store N q The dynamic redundancy check code generated by the N bits of information; q The dynamic redundancy check code generated by the information in all cases of bits is stored in it to form a Dynamic redundancy check code table of elements; Step 2-7, for each N q bits, and uses a dynamic redundancy check code table for dynamic table lookup operations; according to N q The corresponding dynamic redundancy check code is searched for each bit of information, and the dynamic redundancy check code is added to each basic unit segment to ensure that each segment of data carries the check information; Step 2-8, add T in front of the beacon bit sequence stream s The start mark code composed of bits 0 and 1 is repeated N times to copy the new code stream with the check information and the start mark code c After times, the obtained bit sequence stream X is sent into the channel for transmission.

2. The method according to claim 1, characterized in that Step 3 includes the following steps: Step 3-1, monitor the code stream after transmission through the channel, and use a length of T c The dynamic window records the code stream that passes through, which is recorded as the sequence code stream C; Step 3-2, create a c +1)×(T s +1), each element D[l][j] in the matrix D represents the number of insertion, deletion, and replacement operations required to convert the first l bits of the sequence code stream C into the first j bits of the start mark code T, and the zeroth row and zeroth column of the matrix D are initialized, wherein the zeroth column element D[l][0]=l represents the number of insertion, deletion, and replacement operations required between the first l bits of the received sequence code stream C and the empty bit; the zeroth row element D[0][j]=j represents the number of insertion, deletion, and replacement operations required between the empty bit code and the first j bits of the start mark code; Step 3-3: for each bit l in the sequence code stream C and each bit j in the start marker code T, l takes a value from 1 to T. c , j ranges from 1 to T s , if the bit in the sequence code stream C[l-1] is not equal to the bit in the start marker code T[j-1], then the intermediate parameter cs=1, otherwise the intermediate parameter cs=0; calculate and record: D[l][j]=min{D[l-1][j]+cs,D[l][j-1]+cs,D[l-1][j-1]+cs} Step 3-4, find the minimum value of the last row of matrix D, which is the minimum number of operations l between the sequence code stream C and the start mark code T d ;if That is, it is determined that the start mark code T is found; Step 3-5: If the start marker code T is still not detected when the sequence code stream C ends, the beacon detection fails.

3. The method according to claim 2, characterized in that Step 4 includes the following steps: Step 4-1, start the detection of the synchronization code of each code segment, and preset a N that increases from 0 s Bit binary number N; Step 4-2, compare and detect the preset number N with the first synchronization code after the start mark code. If they are consistent, it is determined that the synchronization code is correct; if they are inconsistent, the preset number N is increased by one, and the (N) in the code stream is continued. q +N r )±3 bits to compare and detect the next synchronization code. If they are consistent, the synchronization code is determined to be correct. If they are inconsistent, the preset number N is increased by one again, and the number of bits in the code stream is continued to be 2(N q +N r )±3 bits to detect the next synchronization code until the correct synchronization code is found; the relationship between the code stream and the preset number detection is N×(N q +N r )±3; Step 4-3, the pre-correct synchronization code and the pre-correct synchronization code after N p bits, and use a dynamic mapping method of a dynamic redundancy check code table to obtain the check bit value of the code segment through mapping; Step 4-4, compare the check bit value with the Nth bit after the correct synchronization code p bits to Nth p +N r The code segments composed of bits are compared. If they are consistent, it means that the code segments in the code stream are complete and correct. The code segments are retained and marked as valid data. If they are inconsistent, the code segments are discarded. Step 4-5: When the total number of bits in the code segment reaches the threshold N b When the threshold N b ≥8+N o , stop detection; if the number of all bits in the code segment does not reach the threshold N before detecting the next start marker code b , then continue to detect the synchronization code after the next start mark code, and repeat steps 4-1 to 4-4; Step 4-6: After the detection is completed, the number of all bits in the code segment still does not reach the threshold N b , then the beacon detection fails.

4. The method according to claim 3, characterized in that Step 5 includes the following steps: Step 5-1: For the code segments marked as valid data after verification, use the synchronization code to distinguish each code segment and remove the last N in the code segment. r bits of dynamic redundancy check code; Step 5-2: retain the first N in each code segment q bits, of which the first N s bits are synchronization codes, followed by N p bits are RaptorQ coded segments; the synchronization code and the RaptorQ coded segment are converted into a byte form that can be decoded; Step 5-3, inputting the code segment converted into byte form into a RaptorQ decoder for RaptorQ decoding; Step 5-4, decode and restore the complete network stream beacon.

5. A computer storage medium having a computer program stored thereon, characterized in that: When the computer program is executed, the method according to any one of claims 1 to 4 is implemented.

6. A computer device comprising a memory, a processor and a computer program stored in the memory and executable on the processor, characterized in that: When the processor executes the computer program, the method according to any one of claims 1 to 4 is implemented.

Citation Information

Patent Citations

  • Data transmission method and communication device

    CN113381838A