Two-dimensional cyclic shift network coding method

By performing cyclic shift operations from two dimensions in network encoding, the problem of insufficient data operation flexibility in the prior art is solved, and the effect of increasing flexibility and reducing encoding complexity is achieved.

CN119276428AActive Publication Date: 2025-01-07深圳倚宿科技有限公司
View PDF 5 Cites 0 Cited by

Patent Information

Application Number
CN202411465137.4
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-10-21
Publication Date
2025-01-07
Estimated Expiration
2044-10-21

AI Technical Summary

Technical Problem

The existing cyclic shift network encoding can only perform data operations in one dimension, limiting the flexibility of data operations.

Method used

Using the two-dimensional cyclic shift network encoding method, the data array is operated from two dimensions. By performing two-dimensional cyclic shift encoding and re-encoding on the source and intermediate nodes, new encoded data are generated and performed on the sink. Decode to restore the original data.

Benefits of technology

It increases the flexibility of data operation, realizes smaller column span coding, and reduces the complexity of linear coding operations of the intermediate nodes of the network, and enhances the application flexibility of cyclic shift network coding.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119276428A_ABST
    Figure CN119276428A_ABST
Patent Text Reader

Abstract

The invention relates to a two-dimensional cyclic shift network coding method, which comprises the following steps that: S1, an information source reconstructs received w groups of # imgabs0 # bit original data into a # imgabs1 # dimension binary data array, and generates new w groups of # imgabs2 # bit length first coded data; each output edge of the information source is responsible for transmitting a group of first coded data and a packet header to the network; s2, the intermediate node reconstructs the received first coded data into a binary data array of # imgabs3 # dimension, generates new second coded data of # imgabs4 # bit length, updates a packet header, and transmits the second coded data and the packet header to a next node through an outgoing edge; and S3, receiving the second coded data and the packet headers by each incoming edge of the information sink, and judging whether decoding can be performed or not according to w groups of packet headers so as to determine whether original data transmitted by the information source can be restored from the received second coded data or not.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] The invention belongs to the technical field of network coding communication theory, and specifically is a two-dimensional cyclic shift network coding method. Background Art

[0002] Linear network coding is a data exchange technology that combines routing and coding. Its core idea is to linearly process the data received on each channel at each node in the network, and then output the newly generated coded data to the downstream node. The intermediate node plays not only the role of a router, but also the role of an encoder. Compared with the traditional store-and-forward routing mode, network coding allows intermediate nodes to participate in encoding and decoding, thereby improving the network throughput.

[0003] In traditional cyclic shift network coding, Bit data is encoded in only one dimension, for example, dimensional row vector , if a j (1 ≤ j ≤ ) bits right shift and rotate operation to generate , then the operation can be expressed as ,in yes dimensional cyclic shift matrix, expressed as:

[0004] .

[0005] It can be seen that in the existing cyclic shift network coding, the cyclic shift operation can only be performed on the data in one dimension, which limits the flexibility of data operation. Summary of the invention

[0006] The present invention provides a two-dimensional cyclic shift network coding method to operate on data arrays from two dimensions, thereby increasing the flexibility of data operations. Compared with one-dimensional cyclic shift network coding, for data packets of the same size, smaller column span coding can be achieved while still having the relevant advantages of cyclic shift network coding.

[0007] The present invention provides a two-dimensional cyclic shift network coding method, comprising the steps of:

[0008] S1. Source s receives w groups The original data of bit length is grouped into w The original data of bit length is reconstructed into dimensional binary data array, and performing two-dimensional cyclic shift coding on the binary data array, wherein, , generate a new w group bit length of the first coded data, will reconstruct the generated A binary data array of dimension 1 is a A block matrix whose elements are each a A block submatrix of , where is any integer that satisfies , and are different prime numbers greater than 1. For ease of description, ;

[0009] The source s has w outgoing edges, each of which is responsible for converting a set of corresponding The first coded data of the bit length and its corresponding packet header are transmitted to the network;

[0010] S2. The intermediate node v takes each incoming edge d v Received The first coded data of bit length are respectively reconstructed into dimensional binary data array, and perform two-dimensional cyclic shift recoding on the binary data array to generate a new bit length of the second coded data, and update its corresponding packet header at the same time, The second coded data of bit length and the packet header are transmitted to the next node of the network via the outgoing edge e of the intermediate node v;

[0011] S3. Each destination t has w incoming edges, and each incoming edge d t All nodes connected to it can receive the data transmitted by the intermediate nodes. bit length of the second coded data and the corresponding packet header, and determines whether it can be decoded according to the w group of packet headers. If it can be decoded successfully, the destination t receives the w group of packets received. The w groups received by the source s are restored from the second coded data of bit length The raw data length in bits.

[0012] Furthermore, in step S1, each outgoing edge is obtained by two-dimensional cyclic shift coding at the source s. The transmitted bit length of the first coded data, where , specific two-dimensional cyclic shift coding scheme: when When the source s receives Raw data in bits Perform the following operations, including the steps:

[0013] Step S101: At the information source s, a group Raw data in bits Reconstruction generates a size of The two-dimensional matrix As a pre-processed data packet;

[0014] Step S102: In a two-dimensional matrix Add a line at the bottom of dimensional all-zero vector, and then in the two-dimensional matrix Add a column to the right of dimensional all-zero vector, we get a vector of size The two-dimensional matrix ,Right now ,in, , , T means transpose of G, I means the size is The unit matrix of Column vector of ;

[0015] Step S103: The information source s is a two-dimensional matrix Select a set of local encoding kernels, which are composed of Two-dimensional cyclic shift matrix pair Composition, among which, Is the size of The cyclic shift matrix of , Is the size of The cyclic shift matrix of , the cyclic shift matrix Power of satisfy , the cyclic shift matrix Power of satisfy , the number of two-dimensional cyclic shift matrix pairs contained in the local coding kernel satisfy , the form is The binary matrix pair of The local coding kernel for the two-dimensional cyclic shift operation, the variable l satisfies ;

[0016] Based on the local encoding kernel, the two-dimensional matrix The specific implementation of the two-dimensional circular shift operation is:

[0017] Starting from l = 1, follow l from 1 to The order of the two-dimensional matrix First loop upwards by row Then cycle right by column bits, and get a size of The two-dimensional matrix ,Right now , the corresponding packet header is defined as a sequence pair ;

[0018] Get , the header is a set of sequence pairs , represents a union;

[0019] Step S104: transform the two-dimensional matrix Add the last line to On each line before the last line, and delete the last line, the resulting The last column of the matrix is ​​added to On each column before the last column of , and delete the last column, we get a column of size The two-dimensional matrix ,Right now ,in, , ;

[0020] The source s has w outgoing edges, that is, there are w groups of data involved in encoding. When the original data received from each incoming edge According to the above steps S101-S104, a two-dimensional cyclic shift encoding operation is performed to generate an edge The transmitted bit length of the first coded data and the corresponding packet header, then the edge The transmitted The first coded data of bit length is , the corresponding packet header is , which contains sequence pairs;

[0021] Each outgoing edge Responsible for a group The first encoded data of the bit length and its corresponding packet header are transmitted to the network.

[0022] Furthermore, in step S2, the intermediate node v has The edge of the strip, When the edge , When the intermediate node v is connected to the incoming edge Received bit length of the first coded data is re-encoded to generate an edge The transmitted The second coded data of the bit length is obtained, and the corresponding packet header is updated, comprising the following steps:

[0023] Step S201: The intermediate node v is connected to the incoming edge Received The first coded data of bit length The two-dimensional matrix The corresponding packet header is , where t is a variable ranging from 1 to , w is the number of data groups participating in encoding;

[0024] Step S202: In a two-dimensional matrix Add a line at the bottom of dimensional all-zero vector, then in the two-dimensional matrix Add a column to the right of dimensional all-zero vector, we get a vector of size The two-dimensional matrix ,Right now ,in, , ;

[0025] Step S203: The intermediate node v is a two-dimensional matrix Select a set of local encoding kernels, which are composed of Two-dimensional cyclic shift matrix pair Composition, among which, , , , , in the form of The binary matrix pair of A local coding kernel for performing a two-dimensional cyclic shift operation, based on which a two-dimensional matrix The specific implementation of the two-dimensional circular shift operation is:

[0026] Starting from l = 1, follow l from 1 to The order of the two-dimensional matrix First loop upwards by row Then cycle right by column bits, and get a size of The two-dimensional matrix ,Right now , The corresponding packet header is ;

[0027] Get a two-dimensional matrix , The corresponding packet header is If the number of identical sequence pairs in the packet header is an odd number, one of the sequence pairs is retained. If the number of identical sequence pairs in the packet header is an even number, the sequence pair is not retained. There are at most sequence pairs;

[0028] Step S204: transform the two-dimensional matrix The last row of the two-dimensional matrix is ​​added On each line before the last line, and delete the last line, the resulting The last column of the matrix is ​​added to On each column before the last column of the matrix, and delete the last column, we get a matrix of size The two-dimensional matrix ,Right now ,in, , ;

[0029] when When the intermediate node v is connected to the incoming edge The received coded data is subjected to a two-dimensional cyclic shift operation according to steps S201-S204 to generate an edge The transmitted bit length of the second coded data and the corresponding packet header, then the edge The transmitted The second coded data with a bit length of , the corresponding packet header is If the number of identical sequence pairs in the packet header is an odd number, one of the sequence pairs is retained. If the number of identical sequence pairs in the packet header is an even number, the sequence pair is not retained. There are at most sequence pairs;

[0030] Each outgoing edge Responsible for generating The second encoded data of the bit length and its corresponding packet header are transmitted to the next node in the network.

[0031] Further, in step S3, the destination t has w incoming edges. When entering the edge The received packet header is , Indicates that the local encoding kernel is composed of The method for the destination t to determine whether the decoding can be successfully performed based on the received w groups of packet headers is:

[0032] structure Dimensional Matrix ,definition Representation Matrix The element in row i and column j is satisfy:

[0033] ,

[0034] Then, use Replace x with Instead of y, and The product of and The Kronecker product of Block Matrix , whose element in row i and column j is Dimensional Matrix ,but satisfy:

[0035] ,

[0036] in, represents the Kronecker product;

[0037] If the matrix Full rank, then the destination t can receive w groups from The w groups received by the source s are successfully restored from the second coded data of bit length The raw data length in bits.

[0038] Furthermore, in step S3, when the destination t is successfully decoded, the method for constructing the two-dimensional cyclic shift matrix pair corresponding to the decoding is:

[0039] Known Dimensional Matrix , then define Dimensional decoding matrix for:

[0040] ,

[0041] Where det(.) represents the determinant, Adj(.) represents the adjoint matrix, L = L1L2, represents the multiplication order of 2 modulo L, and defines Decoding matrix The element in row i and column j is Define a sequence pair that satisfies:

[0042] (1) If , then there is no corresponding sequence pair;

[0043] (2) If , then the corresponding sequence pair is:

[0044] ,in, Representing polynomials The number of items, Representing polynomials The power of x in the tth term, Representing polynomials The power of y in the tth term; if the polynomial There is a constant term 1 in , then the corresponding sequence pair is ; If the polynomial There are only powers of x in , then the corresponding sequence pair is ; If the polynomial There are only powers of y in , then the corresponding sequence pair is .

[0045] Further, in step S3, the sink t receives w groups After the second coded data of the received length w and the corresponding packet header are received, the packet header is judged to be successfully decoded, and the destination t can receive the received w group The w groups received by the source s are restored from the second coded data of bit length bit length of the original data, when The following steps are included:

[0046] Step S301: For the incoming edge from the sink t Received The second coded data of bit length is reconstructed to generate a The two-dimensional matrix ;

[0047] Step S302: In a two-dimensional matrix Add a line at the bottom of dimensional all-zero vector, and then in the two-dimensional matrix Add a column to the right of dimensional all-zero vector, we get a vector of size The two-dimensional matrix ,Right now ,in, , ;

[0048] Step S303: Decode the corresponding Dimensional decoding matrix Each position element in is regarded as a set of sequence pairs, and the destination t receives w groups bit length of the second encoded data, and the decoding matrix Multiply a column of The original data of bit length; suppose the two-dimensional matrix when decoding The corresponding sequence pair is , then we can get the two-dimensional matrix for decoding The corresponding two-dimensional cyclic shift matrix pair is , based on this matrix pair, for the two-dimensional matrix The specific implementation of the two-dimensional circular shift operation is:

[0049] Starting from t=1, follow the steps of t from 1 to The order of the two-dimensional matrix First loop upwards by row Then cycle right by column bits, and get a size of The two-dimensional matrix ,Right now ;

[0050] Get ;

[0051] Step S304: transform the two-dimensional matrix The last row of the two-dimensional matrix is ​​added On each line before the last line, and deleting the last line, the resulting The last column of the matrix is ​​added to On each of the first columns of the matrix, and deleting the last column, we get a matrix of size The two-dimensional matrix ,Right now ,in, , ;

[0052] when When a column of decoding sequence pairs is given, for the received The second coded data of bit length is subjected to a two-dimensional cyclic shift operation according to the above steps S301-S304 to restore a set of original data generated by the information source s, which is ; There are w columns of corresponding decoding sequence pairs in the decoding matrix, which can restore the w groups of original data received by the source s.

[0053] The two-dimensional cyclic shift network coding of the present invention can perform cyclic shift operations on data from two dimensions, further enhancing the application flexibility of cyclic shift network coding and providing more possibilities for exploring the application of cyclic shift network coding in actual network environments.

[0054] The present invention is Bit data is operated on in two dimensions, for example, dimensional row vector First, reconstruct the data to generate a two-dimensional data array of L1×L2 dimensions ,in, ,but It is expressed as:

[0055] .

[0056] If an i (1 ≤ i ≤ L1) bit upward circular shift operation is performed, and then a j (1 ≤ j ≤ L2) bit right circular shift operation is performed, the generated , then the operation can be expressed as , recorded as:

[0057] .

[0058] The beneficial effects of the present invention include:

[0059] 1. During the encoding process, the received The bit data is only subjected to cyclic shift and bit-by-bit XOR operation, which can greatly simplify the linear coding operation of the intermediate nodes in the network, thereby reducing the complexity of the coding operation.

[0060] 2. Compared with the traditional one-dimensional cyclic shift network coding, the present invention can achieve smaller column span coding for data packets of the same size.

[0061] 3. The present invention can perform cyclic shift operations on data from two dimensions, thereby increasing the flexibility of data operations and the number of optional encoding cores. BRIEF DESCRIPTION OF THE DRAWINGS

[0062] Figure 1 This is a schematic diagram of the (4, 2) combination network of an embodiment of the present invention.

[0063] Figure 2 is a flow chart of an embodiment of the present invention. DETAILED DESCRIPTION

[0064] To make the purpose, technical scheme and advantages of the embodiments of the present application clearer, the technical scheme in the embodiments of the present application will be clearly and completely described below in conjunction with the drawings in the embodiments of the present application. Obviously, the described embodiments are only a part of the embodiments of the present application, rather than all of the embodiments. The components of the embodiments of the present application described and shown in the drawings here can be arranged and designed in various configurations. Therefore, the following detailed description of the embodiments of the present application provided in the drawings is not intended to limit the scope of the application claimed for protection, but merely represents the selected embodiments of the present application. Based on the embodiments of the present application, all other embodiments obtained by those skilled in the art without making creative work belong to the scope of protection of the present application.

[0065] like Figure 1 and Figure 2 As shown, this embodiment specifically describes a two-dimensional cyclic shift network coding method proposed by the present invention in combination with a classic (4, 2) multicast network. The multicast network consists of a source s, a coding node u, four intermediate nodes and six sinks. The number of outgoing edges of the source w = 2. Let , , For the convenience of description, .

[0066] It should be noted here that in a single-source multi-destination multicast network, there are multiple intermediate nodes v, and each intermediate node v can perform the same operation. The above-mentioned encoding node u and the four intermediate nodes are all specific forms of the intermediate node v.

[0067] The present invention proposes a two-dimensional cyclic shift network coding method, comprising the steps of:

[0068] Step S1: The source s receives w=2 sets of original data, each set of original data is 8 bits ( bits), encoded at the source s to generate an edge The transmitted 8-bit coded data, when the number of outgoing edges i = 1, 2, includes the following steps:

[0069] Step S101: The source s receives two groups of 8-bit original data and Reconstruct and generate separately Dimensional two-dimensional matrix , as pre-processed data packets, are represented as:

[0070] ,

[0071] ;

[0072] Step S102: and Add a row of 4-dimensional all-0 vectors at the bottom of and Add a column of 3-dimensional all-0 vectors to the right of Dimensional matrix and ,Right now , ,in, , , T means transpose of G, I means the size is The unit matrix of Column vector of and Respectively expressed as:

[0073] ,

[0074] ;

[0075] Step S103: The information source s selects a two-dimensional cyclic shift matrix pair As a pair The local coding kernel for the two-dimensional cyclic shift operation selects the two-dimensional cyclic shift matrix pair ( As a pair A local coding kernel for a two-dimensional cyclic shift operation; Based on these two local coding kernels, the two-dimensional matrix and The specific implementation of the two-dimensional circular shift operation is:

[0076] For a two-dimensional matrix First, loop up 1 bit by row, then loop right 2 bits by column, and get a value of The two-dimensional matrix ,Right now , the corresponding packet header is a sequence pair (1, 1, 2);

[0077] For a two-dimensional matrix First, loop up 2 bits by row, then loop right 3 bits by column, and get a value of The two-dimensional matrix ,Right now , the corresponding packet header is a sequence pair (1, 2, 3);

[0078] Get , the header is a set of sequence pairs ; It is expressed as:

[0079] .

[0080] For a two-dimensional matrix Circulate 3 bits to the right by column to get a size of The two-dimensional matrix ,Right now , the corresponding packet header is a sequence pair (2, 0, 3);

[0081] For a two-dimensional matrix First, loop up 2 bits by row, then loop right 4 bits by column, and get a value of The two-dimensional matrix ,Right now , the corresponding packet header is a sequence pair (2, 2, 4);

[0082] Get , the header is a set of sequence pairs ; It is expressed as:

[0083] .

[0084] Step S104: transform the two-dimensional matrix The third row of the matrix is ​​added to the first and second rows, and the third row is deleted. The fifth column of the resulting 2×5 matrix is ​​added to each of the previous columns, and the fifth column is deleted to obtain a 2×4 two-dimensional matrix. ,Right now ,in, , ; Similarly, for the two-dimensional matrix Following the above operation, we can get a two-dimensional matrix of size 2×4 ,Right now ; From this we can get the outgoing edge of the source s The 8-bit encoded data transmitted is: , the corresponding packet header is: .

[0085] Similarly, for the original data and Perform two-dimensional cyclic shift coding according to steps S101-S104 to generate the outgoing edge of the signal source s The transmitted 8-bit coded data and the corresponding packet header. At this time, in step S103, the source s is and The selected two-dimensional cyclic shift matrix pairs are , ( , the generated outgoing edge The 8-bit encoded data transmitted is: , the corresponding packet header is: .

[0086] Outgoing edge of source s and The corresponding coded data and packet header are transmitted to the coding node u in the network (by Figure 1 It can be seen that and It is both the outgoing edge of the information source s and the incoming edge of the encoding node u).

[0087] Step S2: Encode node u to define edge pairs The corresponding local encoding kernel is , side The corresponding local encoding kernel is 0, and the edge pair The corresponding local encoding kernel is , side The corresponding local encoding kernel is , side The corresponding local encoding kernel is 0, and the edge pair The corresponding local encoding kernel is , side The corresponding local encoding kernel is , side The corresponding local encoding kernel is The encoding node u receives the and After the encoded data and packet header, the encoding node u is used to encode the incoming edge and The received 8-bit encoded data is re-encoded to generate the edge Taking the transmitted 8-bit coded data as an example, the coding operation at the intermediate node is described, including the following steps:

[0088] Step S201: At the coding node u, The received 8-bit coded data Reconstruction generates a size of The two-dimensional matrix ; The corresponding packet header is ;

[0089] At the encoding node u, the incoming edge The received 8-bit coded data Reconstruction generates a size of The two-dimensional matrix ; The corresponding packet header is ;

[0090] Step S202: In a two-dimensional matrix Add a line at the bottom of dimensional all-zero vector, then in the two-dimensional matrix Add a column to the right of dimensional all-zero vector, we get a vector of size The two-dimensional matrix ,Right now ,in, , ;

[0091] In a two-dimensional matrix Add a line at the bottom of dimensional all-zero vector, then in the two-dimensional matrix Add a column to the right of dimensional all-zero vector, we get a vector of size The two-dimensional matrix ,Right now ,in, , ;

[0092] Step S203: Define edge pairs The corresponding local encoding kernel is , side The corresponding local encoding kernel is , a binary matrix pair and As pairs and A local coding kernel for a two-dimensional cyclic shift operation is used to perform a two-dimensional matrix and The specific implementation of the two-dimensional circular shift operation is:

[0093] For a two-dimensional matrix First, loop up 1 bit by row, then loop right 4 bits by column, and get a value of The two-dimensional matrix ,Right now , The corresponding packet header is ;

[0094] For a two-dimensional matrix First, loop up 1 bit by row, then loop right 1 bit by column, and get a value of The two-dimensional matrix ,Right now , The corresponding packet header is ;

[0095] Step S204: transform the two-dimensional matrix and The last line of each is added to each of the previous lines, and the last line of each is deleted. The last column of the matrix is ​​added to each of the previous columns, and the last column of each is deleted, resulting in a matrix of size The two-dimensional matrix and ,Right now , ,in, , ;

[0096] Based on the above operations, we can get the outgoing edge of the encoding node u The encoded data transmitted is: , the corresponding packet header is: .

[0097] Similarly, we can get the outgoing edge of the encoding node u The encoded data transmitted is: , Baotou is ; Out edge The encoded data transmitted is , Baotou is ; Out edge The encoded data transmitted is , Baotou is ;

[0098] Step S3: The third layer of the (4, 2) combined network has four intermediate nodes, each of which has one incoming edge and three outgoing edges. Define the edge pair The corresponding local encoding kernel is , side The corresponding local encoding kernel is , side The corresponding local encoding kernel is , side The corresponding local encoding kernel is , side The corresponding local encoding kernel is , side The corresponding local encoding kernel is , side The corresponding local encoding kernel is , side The corresponding local encoding kernel is , side The corresponding local encoding kernel is , side The corresponding local encoding kernel is , side The corresponding local encoding kernel is , side The corresponding local encoding kernel is .

[0099] Similarly, according to the operation method encoded in the intermediate node, the outgoing edge can be obtained The second coded data transmitted is , the corresponding packet header is ; Out edge The second coded data transmitted is , the corresponding packet header is ; Out edge The second coded data transmitted is , the corresponding packet header is ; Out edge The second coded data transmitted is , the corresponding packet header is ; Out edge The second coded data transmitted is , the corresponding packet header is ; Out edge The second coded data transmitted is , the corresponding packet header is ; Out edge The second coded data transmitted is , the corresponding packet header is ; Out edge The second coded data transmitted is , the corresponding packet header is ; Out edge The second coded data transmitted is , the corresponding packet header is ; Out edge The second coded data transmitted is , the corresponding packet header is ; Out edge The second coded data transmitted is , the corresponding packet header is ; Out edge The second coded data transmitted is , the corresponding packet header is ;

[0100] By letter Take the example to explain how to determine whether the destination can successfully decode. There are 2 incoming edges and , enter the edge and the entry edge The received packet headers are and , when judging whether the decoding can be successfully completed based on the two groups of packet headers received, construct Dimensional Matrix for:

[0101] ,

[0102] Furthermore, define Dimensional Matrix for:

[0103] .

[0104] Because the matrix Full rank, so the letter stays From the received 2 groups The second coded data with a bit length is used to restore the two groups received by the source. The raw data length in bits.

[0105] According to the above method, it is concluded that when When, Xinsu All can be decoded successfully.

[0106] By letter This paper describes the construction method of two-dimensional cyclic shift matrix pairs in the decoding process. It can be successfully decoded. The construction method of the corresponding two-dimensional cyclic shift matrix pair during decoding is as follows:

[0107] Known Dimensional Matrix , then define Dimensional decoding matrix for

[0108] ,

[0109] definition Decoding matrix The element in row i and column j is Define sequence pairs, The corresponding sequence pair is ; The corresponding sequence pair is ; The corresponding sequence pair is ; The corresponding sequence pair is ;

[0110] when When the sink is constructed according to the above method The corresponding two-dimensional cyclic shift matrix pair during decoding.

[0111] Then use the letter The specific decoding process is described below. Receive 2 sets of 8-bit second coded data and After that, restoring the two groups of 8-bit original data received by the source from the two groups of 8-bit second coded data received comprises the following steps:

[0112] Step S301: Received The second coded data of bit length Reconstruction generates a size of The two-dimensional matrix ;

[0113] From the input side Received Bit length of the encoded data Reconstruction generates a size of The two-dimensional matrix ;

[0114] Step S302: In a two-dimensional matrix Add a row of 4-dimensional all-0 vectors to the bottom of the 2D matrix Add a 3-dimensional all-zero vector to the right of The two-dimensional matrix ,Right now ,in, , ;

[0115] In a two-dimensional matrix Add a row of 4-dimensional all-0 vectors to the bottom of the 2D matrix Add a 3-dimensional all-zero vector to the right of The two-dimensional matrix ,Right now ;

[0116] Step S303: The above sink The construction method of the two-dimensional cyclic shift matrix pair in the decoding process described in the description shows that the two-dimensional matrix The corresponding sequence pair is , and then we can get the two-dimensional matrix when decoding The corresponding two-dimensional cyclic shift matrix pair is , represents the second number in each sequence pair, Represents the third number in each sequence pair. Based on this matrix pair, the two-dimensional matrix The specific implementation of the two-dimensional circular shift operation is:

[0117] Starting from t = 1, the two-dimensional matrix is ​​sequentially First loop upwards by row Then cycle right by column bits, and get a size of The two-dimensional matrix ,Right now ;

[0118] Get a two-dimensional matrix ;

[0119] When decoding, the two-dimensional matrix The corresponding sequence pair is , and then we can get the two-dimensional matrix when decoding The corresponding two-dimensional cyclic shift matrix pair is , represents the second number in each sequence pair, Represents the third number in each sequence pair. Based on this matrix pair, the two-dimensional matrix The specific implementation of the two-dimensional circular shift operation is:

[0120] Starting from t = 1, the two-dimensional matrix is ​​sequentially First loop upwards by row Then cycle right by column bits, and get a size of The two-dimensional matrix , that is, a two-dimensional matrix ;

[0121] Get a two-dimensional matrix ;

[0122] Step S304: transform the two-dimensional matrix Add the last line of to each of the previous lines and delete the last line. The last column of the matrix is ​​added to each of the previous columns and the last column is deleted, resulting in a matrix of size The two-dimensional matrix , that is, a two-dimensional matrix ,in, , ;

[0123] The two-dimensional matrix Add the last line of to each of the previous lines and delete the last line. The last column of the matrix is ​​added to each of the previous columns and the last column is deleted, resulting in a matrix of size The two-dimensional matrix , that is, a two-dimensional matrix ;

[0124] The received second coded data and According to the above steps S301-S304, the two-dimensional cyclic shift operation is completed to restore a set of original data received by the source, which is ;

[0125] Two-dimensional matrix when decoding The corresponding sequence pair is , a two-dimensional matrix The corresponding sequence pair is , follow the above steps for the two-dimensional matrix and A two-dimensional cyclic shift operation is performed to restore the original data received by another group of information sources.

[0126] The above embodiments only express the specific implementation methods of the present application, and the description is relatively specific and detailed, but it cannot be understood as limiting the scope of the present application. For ordinary technicians in this field, several modifications and improvements made without departing from the concept of the present application all belong to the protection scope of the present application.

Claims

1. A method for two-dimensional cyclic shift network coding, characterized by: Includes steps: S1. Source s receives w groups The original data of bit length is grouped into w The original data of bit length is reconstructed into dimensional binary data array, and performing two-dimensional cyclic shift coding on the binary data array, wherein, , generate a new w group bit length of the first coded data, will reconstruct the generated A binary data array of dimension 1 is a A block matrix whose elements are each a A block submatrix of , where is any integer that satisfies , and are different prime numbers greater than 1. For ease of description, ; The source s has w outgoing edges, each of which is responsible for converting a set of corresponding The first coded data of the bit length and its corresponding packet header are transmitted to the network; S2. The intermediate node v takes each incoming edge d v Received The first coded data of bit length are respectively reconstructed into dimensional binary data array, and perform two-dimensional cyclic shift recoding on the binary data array to generate a new bit length of the second coded data, and update its corresponding packet header at the same time, The second coded data of bit length and the packet header are transmitted to the next node of the network via the outgoing edge e of the intermediate node v; S3. Each destination t has w incoming edges, and each incoming edge d t All nodes connected to it can receive the data transmitted by the intermediate nodes. bit length of the second coded data and the corresponding packet header, and determines whether it can be decoded according to the w group of packet headers. If it can be decoded successfully, the destination t receives the w group of packets received. The w groups received by the source s are restored from the second coded data of bit length The raw data length in bits.

2. A two-dimensional cyclic shift network coding method as claimed in claim 1, characterized in that: In step S1, each outgoing edge is obtained by two-dimensional cyclic shift coding at the source s The transmitted bit length of the first coded data, where , specific two-dimensional cyclic shift coding scheme: when When the source s receives Raw data in bits Perform the following operations, including the steps: Step S101: At the information source s, a group Raw data in bits Reconstruction generates a size of The two-dimensional matrix As a pre-processed data packet; Step S102: In a two-dimensional matrix Add a line at the bottom of dimensional all-zero vector, and then in the two-dimensional matrix Add a column to the right of dimensional all-zero vector, we get a vector of size The two-dimensional matrix ,Right now ,in, , , T means transpose of G, I means the size is The unit matrix of Column vector of ; Step S103: The information source s is a two-dimensional matrix Select a set of local encoding kernels, which are composed of Two-dimensional cyclic shift matrix pair Composition, among which, Is the size of The cyclic shift matrix of , Is the size of The cyclic shift matrix of , the cyclic shift matrix Power of satisfy , the cyclic shift matrix Power of satisfy , the number of two-dimensional cyclic shift matrix pairs contained in the local coding kernel satisfy , the form is The binary matrix pair of The local coding kernel for the two-dimensional cyclic shift operation, the variable l satisfies ; Based on the local encoding kernel, the two-dimensional matrix The specific implementation of the two-dimensional circular shift operation is: Starting from l = 1, follow l from 1 to The order of the two-dimensional matrix First loop upwards by row Then cycle right by column bits, and get a size of The two-dimensional matrix ,Right now , the corresponding packet header is defined as a sequence pair ; Get , the header is a set of sequence pairs , represents a union; Step S104: transform the two-dimensional matrix Add the last line to On each line before the last line, and delete the last line, the resulting The last column of the matrix is ​​added to On each column before the last column of , and delete the last column, we get a column of size The two-dimensional matrix ,Right now ,in, , ; The source s has w outgoing edges, that is, there are w groups of data involved in encoding. When the original data received from each incoming edge According to the above steps S101-S104, a two-dimensional cyclic shift encoding operation is performed to generate an edge The transmitted bit length of the first coded data and the corresponding packet header, then the edge The transmitted The first coded data of bit length is , the corresponding packet header is , which contains sequence pairs; Each outgoing edge Responsible for a group The first encoded data of the bit length and its corresponding packet header are transmitted to the network.

3. A two-dimensional cyclic shift network coding method as claimed in claim 1, characterized in that: In step S2, the intermediate node v has The edge of the strip, When the edge , When the intermediate node v is connected to the incoming edge Received bit length of the first coded data is re-encoded to generate an edge The transmitted The second coded data of the bit length is obtained, and the corresponding packet header is updated, comprising the following steps: Step S201: The intermediate node v is connected to the incoming edge Received The first coded data of bit length is reconstructed to generate a The two-dimensional matrix , the corresponding packet header is , where t is a variable ranging from 1 to , w is the number of data groups participating in encoding; Step S202: In a two-dimensional matrix Add a line at the bottom of dimensional all-zero vector, then in the two-dimensional matrix Add a column to the right of dimensional all-zero vector, we get a vector of size The two-dimensional matrix ,Right now ,in, , ; Step S203: The intermediate node v is a two-dimensional matrix Select a set of local encoding kernels, which are composed of Two-dimensional cyclic shift matrix pair Composition, among which, , , , , in the form of The binary matrix pair of A local coding kernel for performing a two-dimensional cyclic shift operation, based on which a two-dimensional matrix The specific implementation of the two-dimensional circular shift operation is: Starting from l = 1, follow l from 1 to The order of the two-dimensional matrix First loop upwards by row Then cycle right by column bits, and get a size of The two-dimensional matrix ,Right now , The corresponding packet header is ; Get a two-dimensional matrix , The corresponding packet header is If the number of identical sequence pairs in the packet header is an odd number, one of the sequence pairs is retained. If the number of identical sequence pairs in the packet header is an even number, the sequence pair is not retained. There are at most sequence pairs; Step S204: transform the two-dimensional matrix The last row of the two-dimensional matrix is ​​added On each line before the last line, and delete the last line, the resulting The last column of the matrix is ​​added to On each column before the last column of the matrix, and delete the last column, we get a matrix of size The two-dimensional matrix ,Right now ,in, , ; when When the intermediate node v is connected to the incoming edge The received coded data is subjected to a two-dimensional cyclic shift operation according to steps S201-S204 to generate an edge The transmitted bit length of the second coded data and the corresponding packet header, then the edge The transmitted The second coded data with a bit length of , the corresponding packet header is If the number of identical sequence pairs in the packet header is an odd number, one of the sequence pairs is retained. If the number of identical sequence pairs in the packet header is an even number, the sequence pair is not retained. There are at most sequence pairs; Each outgoing edge Responsible for generating The second encoded data of the bit length and its corresponding packet header are transmitted to the next node in the network.

4. A two-dimensional cyclic shift network coding method as claimed in claim 1, characterized in that: In step S3, the destination t has w incoming edges. When entering the edge The received packet header is , Indicates that the local encoding kernel is composed of The method for the destination t to determine whether the decoding can be successfully performed based on the received w groups of packet headers is: structure Dimensional Matrix ,definition Representation Matrix The element in row i and column j is satisfy: , Then, use Replace x with Instead of y, and The product of and The Kronecker product of Block Matrix , whose element in row i and column j is Dimensional Matrix ,but satisfy: , in, represents the Kronecker product; If the matrix Full rank, then the destination t can receive w groups from The w groups received by the source s are successfully restored from the second coded data of bit length The raw data length in bits.

5. A two-dimensional cyclic shift network coding method as claimed in claim 4, characterized in that: In step S3, when the destination t is successfully decoded, the method for constructing the two-dimensional cyclic shift matrix pair corresponding to the decoding is: Known Dimensional Matrix , then define Dimensional decoding matrix for: , Where det(.) represents the determinant, Adj(.) represents the adjoint matrix, L = L1L2, represents the multiplication order of 2 modulo L, and defines Decoding matrix The element in row i and column j is Define a sequence pair that satisfies: (1) If , then there is no corresponding sequence pair; (2) If , then the corresponding sequence pair is: ,in, Representing polynomials The number of items, Representing polynomials The power of x in the tth term, Representing polynomials The power of y in the tth term; if the polynomial There is a constant term 1 in , then the corresponding sequence pair is ; If the polynomial There are only powers of x in , then the corresponding sequence pair is ; If the polynomial There are only powers of y in , then the corresponding sequence pair is .

6. A two-dimensional cyclic shift network coding method as claimed in claim 5, characterized in that: In step S3, the destination t receives w groups After the second coded data of the received length w and the corresponding packet header are received, the packet header is judged to be successfully decoded, and the destination t can receive the received w group The w groups received by the source s are restored from the second coded data of bit length The original data of bit length is The following steps are included: Step S301: For the incoming edge from the sink t Received The second coded data of bit length is reconstructed to generate a The two-dimensional matrix ; Step S302: In a two-dimensional matrix Add a line at the bottom of dimensional all-zero vector, and then in the two-dimensional matrix Add a column to the right of dimensional all-zero vector, we get a vector of size The two-dimensional matrix ,Right now ,in, , ; Step S303: Decode the corresponding Dimensional decoding matrix Each position element in is regarded as a set of sequence pairs, and the destination t receives w groups bit length of the second encoded data, and the decoding matrix Multiply a column of The original data of bit length; suppose the two-dimensional matrix when decoding The corresponding sequence pair is , then we can get the two-dimensional matrix for decoding The corresponding two-dimensional cyclic shift matrix pair is , based on this matrix pair, for the two-dimensional matrix The specific implementation of the two-dimensional circular shift operation is: Starting from t=1, follow the steps of t from 1 to The order of the two-dimensional matrix First loop upwards by row Then cycle right by column bits, and get a size of The two-dimensional matrix ,Right now ; Get ; Step S304: transform the two-dimensional matrix The last row of the two-dimensional matrix is ​​added On each line before the last line, and deleting the last line, the resulting The last column of the matrix is ​​added to On each of the first columns of the matrix, and deleting the last column, we get a matrix of size The two-dimensional matrix ,Right now ,in, , ; when When a column of decoding sequence pairs is given, for the received The second coded data of bit length is subjected to a two-dimensional cyclic shift operation according to the above steps S301-S304 to restore a set of original data generated by the information source s, which is ; There are w columns of corresponding decoding sequence pairs in the decoding matrix, which can restore the w groups of original data received by the source s.

Citation Information

Patent Citations

  • Method for constructing quasi-cyclic low-density parity check (LDPC) code

    CN101854228A

  • Linear network coding method

    CN107302420A

  • Cyclic shift network code construction method

    CN109547160A

  • Multi-hop wireless communication system

    US20110149835A1

  • Modulation coding for two-dimensional recording

    US8885277B1