Network coding transmission method based on deep learning and channel prediction

Through deep learning, predicting the channel packet loss rate and generating an adaptive coding matrix, the problem of low transmission efficiency when the channel is non-stationary in wireless communication is solved, and higher transmission efficiency and stability are achieved.

CN116319183BActive Publication Date: 2025-01-07XIDIAN UNIV
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202310111317.1
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2023-02-14
Publication Date
2025-01-07
Estimated Expiration
2043-02-14

AI Technical Summary

Technical Problem

The existing wireless communication technology is difficult to effectively improve transmission efficiency when the channel is not stable, resulting in the data block size not meeting the channel conditions and low transmission efficiency.

Method used

Using a network encoding transmission method based on deep learning and channel prediction, the training set and test set are constructed, and the channel packet loss rate is predicted using a single-layer long and short-term memory network (LSTM), and network encoding transmission is carried out based on the prediction results to generate adaptive encoding. The matrix is ​​used to optimize the encoding rate.

Benefits of technology

The transmission efficiency and success rate when the channel is not stable is improved, and the prediction results are stable is high, which avoids the problem that the number of redundant packets does not match the actual packet loss rate in the traditional method, and significantly improves the transmission efficiency of network encoding.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116319183B_ABST
    Figure CN116319183B_ABST
Patent Text Reader

Abstract

The present invention discloses a network coding transmission method based on deep learning and channel prediction, which mainly solves the problem of low transmission efficiency of the prior art under non-stationary channels. Its implementation scheme is: divide the channel according to a fixed block size, count the packet loss rate of each group, and use it as the original data set; divide the original data set into a sample set by combining a sliding window and a slice, and then divide it into a training set and a test set according to a set ratio; select a single-layer long short-term memory network as a test neural network and train it using a training set; send the samples in the test set to the trained test neural network to obtain the predicted value of the packet loss rate of each sample in the test set; perform network coding transmission according to the predicted packet loss rate. The present invention improves the success rate of each packet data transmission and the transmission efficiency of network coding, and can be used in various application scenarios of smart cities, satellite communications, Internet of Vehicles, Internet of Things and 5G / 6G communications.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention belongs to the field of wireless communication technology, and specifically relates to a network coding method, which can be used in various application scenarios of smart cities, satellite communications, Internet of Vehicles, Internet of Things, and 5G / 6G communications. Background Art

[0002] Low-latency, ultra-reliable wireless communication networks have been widely used in various application scenarios such as smart cities, satellite communications, Internet of Vehicles, Internet of Things, and 5G / 6G communications. With the advent of the big data era, there are higher requirements for the high-speed and reliable transmission of massive data in wireless networks. In 2000, network coding technology was first proposed. Recoding was performed on relay nodes that previously only played a storage and forwarding role, which increased the amount of information transmitted in a single transmission and reduced the number of transmissions, so that network performance can reach the limit of maximum stream transmission, that is, the capacity of the network. The introduction of linear random network coding further proves that the use of network coding can approach the capacity of the network and improve the reliability of the network. In the early days, network coding was used in the field of multicast communication in limited networks, but due to various reasons such as high cost and limited resources, the research on network coding in the field of wireless communications has become a new hot topic in recent years.

[0003] However, in the actual transmission process, compared with wired transmission, wireless transmission has a higher packet loss rate due to poor anti-interference ability and more relay nodes, and the channel will be more unreliable. Automatic retransmission request ARQ technology is generally used to reduce this packet loss rate. But at the same time, although retransmission with feedback improves transmission efficiency, it also introduces the round-trip delay RTT of the retransmitted packet. In order to reduce the round-trip delay, the forward error correction code FEC is proposed to ensure transmission efficiency by adding redundancy in advance.

[0004] In 2007, Katti S et al. of MIT proposed a coding method for network coding in wireless networks in the paper "Wireless Network Coding: Opportunities and Challenges". The method first divides the transmitted information into several "data blocks", and then performs network coding on each data block. The data block contains the data packet to be transmitted and the added redundant packet. The size of each data block is determined before the data is transmitted through the channel, usually based on the average packet loss rate of the channel. However, after analysis, it was found that this processing method is only suitable for relatively stable channel conditions. Since the packet loss rate of each group in a relatively stable channel is almost the same, it can be expressed by the average packet loss rate. However, when the channel is non-stationary, if this method of adding redundancy continues to be used, the size of the data block will not meet the channel conditions, and the transmission efficiency will be low. Summary of the invention

[0005] The purpose of the present invention is to address the deficiencies of the above-mentioned prior art and propose a network coding transmission method based on deep learning and channel prediction to improve the transmission efficiency when the channel is non-stationary.

[0006] To achieve the above object, the implementation scheme of the present invention includes the following:

[0007] (1) Construct training set and test set;

[0008] (1a) Divide the channel into multiple small blocks of length N, count the status of the data packets in the first several blocks, calculate the packet loss probability P of the channel in the corresponding block, and use it as the original data set;

[0009] (1b) Divide the original data set into sample sets by combining sliding windows and slicing, where the window size is set to L and the sliding step size is set to 1;

[0010] (1c) Divide the sample set into training set and test set in a ratio of 8:2;

[0011] (2) A single-layer long short-term memory network LSTM is selected as the test neural network;

[0012] (3) Train the test neural network:

[0013] (3a) Set the learning rate, weights, and batch size;

[0014] (3b) Set the activation function of the LSTM network to tanh, and use the mean square error as the loss function of the LSTM network;

[0015] (3c) Send the samples in the training set to the test neural network in batches, and use the gradient descent method to update the parameters until the loss value converges to obtain a trained test neural network;

[0016] (4) Send the samples in the test set to the trained test neural network to obtain the predicted value set ε of the packet loss rate of each sample in the test set, ε = {ε1, ε2, ...ε i ,...ε n}, where ε i represents the packet loss rate prediction value of the i-th sample in the test sample, 1≤i≤n, n represents the number of samples in the test set;

[0017] (5) Perform network coding transmission based on the predicted packet loss rate:

[0018] (5a) The source sends a group of data packets of size N each time, and the group number currently sent is recorded as j, and the initial value of j is 1;

[0019] (5b) Find the packet loss probability ε of the block channel corresponding to the current group data packet according to the group number j j ;

[0020] (5c) j Substitute into the optimization equation to ensure the maximum coding rate under the known delay and reliability constraints, and calculate the number of packets K expected to be successfully transmitted under the condition of maximum coding rate while meeting the delay and reliability requirements under the packet loss rate. j ;

[0021] (5d) Generate a systematic coding matrix for the current group that satisfies the MDS property of maximum distance separable codes over the finite field GF(q) Among them, the first K of the encoding matrix j The columns are all K j The identity matrix of order NK j The column is the checksum column obtained by XORing the non-coding packets in the previous column;

[0022] (5e) Using the coding matrix Encode the current packet and send the encoded data packet at the source end. The data packet is transmitted through the channel and the corresponding receiving matrix is ​​obtained at the receiving end.

[0023] (5f) Determine whether the rank of the current group receiving matrix satisfies the number of packets K that the group expects to transmit. j :

[0024] If it is satisfied, it means that the group of data packets is successfully transmitted. At this time, the total number of data packets M that the source needs to send is reduced to M', that is, M' = MK j , execute (5g);

[0025] If it is not satisfied, it means that the current group transmission fails. At this time, M does not change, then add 1 to the current group number j and return to (5a);

[0026] (5g) Determine the data packet M' that needs to be sent currently:

[0027] If M'≤0, the transmission ends;

[0028] If M'>0, add 1 to the current group number j and return to (5a) to transmit the next group of data packets.

[0029] Compared with the prior art, the present invention has the following advantages:

[0030] 1) Network coding has high transmission efficiency

[0031] The prior art does not distinguish between stationary channels and non-stationary channels. When transmitting data packets in groups, the number of redundant packets pre-added to each group is calculated based on the average packet loss rate of the channel. However, the packet loss rates of each block after the non-stationary channel segmentation are not uniform. Using the average packet loss rate as a substitute will cause the number of redundant packets added to be inconsistent with the actual channel packet loss rate, resulting in low transmission efficiency. On this basis, the present invention proposes a network coding transmission scheme based on learning and channel prediction, which uses a neural network to capture channel laws and predicts the packet loss rate of each block of the non-stationary channel. It can accurately and stably obtain the corresponding channel packet loss rate before each packet is sent, which increases the success rate of each packet transmission and also improves the transmission efficiency of network coding.

[0032] 2) The prediction results are more stable

[0033] The present invention selects a long short-term memory network as a test neural network to predict the packet loss rate of the channel. Compared with the traditional neural network, it can learn and save long-term information well, so that the prediction result depends on all the data before it, avoiding large changes in the prediction result due to a sudden change in a certain time step, and the prediction result is more stable. BRIEF DESCRIPTION OF THE DRAWINGS

[0034] Figure 1 Implementation flow chart of the present invention;

[0035] Figure 2 It is a comparison chart of the success rate and throughput of the two when the packet loss rates obtained by the present invention and the traditional method are used for network coding transmission. DETAILED DESCRIPTION

[0036] The embodiments and effects of the present invention are further described in detail below in conjunction with the accompanying drawings.

[0037] Reference Figure 1 , the implementation steps of this example are as follows:

[0038] Step 1: Get the original data set.

[0039] 1.1) Divide the channel into multiple small blocks of length N, each channel block consists of different 0 and 1 states, where 0 state represents packet loss and 1 state represents no packet loss;

[0040] 1.2) Calculate the number of 0 states and 1 states in each channel block, and obtain the packet loss probability P corresponding to each channel block:

[0041]

[0042] 1.3) Calculate the packet loss probabilities of the first several channel blocks according to step 1.2) and write them together in sequence to form the original data set.

[0043] Step 2: Divide the original data set into training set and test set.

[0044] 2.1) Set the sliding window size to L and the sliding step size to 1. Divide the original data set into sample sets by combining sliding windows and slicing. Each sample in the sample set consists of an input and an output. The input length is L-1 and the output length is 1.

[0045] 2.2) Divide the sample set obtained in step 2.1) into a training set and a test set in a ratio of 8:2.

[0046] Step 3: Select a single-layer long short-term memory network LSTM as the test neural network.

[0047] The single-layer long short-term memory network LSTM is an existing neural network for time series prediction, which includes a forget gate, an input gate, an output gate and a cell state, wherein:

[0048] The forget gate acts on the cell state of the previous layer, and is used to jointly decide to forget the information of the cell state of the previous layer based on the input of the current time step and the implicit state of the previous time step;

[0049] The input gate is used to select new information and record it into the cell state. The old cell state is updated according to the results of the forget gate and the input gate to obtain the current cell state.

[0050] The output gate is used to decide what to predict, that is, to predict the packet loss rate of the current group based on the packet loss rate of the previous L-1 groups.

[0051] In this example, the single-layer long short-term memory network LSTM is selected as the test neural network.

[0052] Step 4: Train the test neural network.

[0053] 4.1) Set the network’s learning rate, weights, and batch training size;

[0054] 4.2) Set the activation function of the LSTM network to tanh, and use the mean square error as the loss function Loss of the LSTM network. The expressions of the activation function and the loss function Loss are:

[0055]

[0056]

[0057] Among them, x is the input of the current time step, m is the number of samples, and y is i represents the actual target value of the sample, f(wx i+b) represents the predicted value calculated by the prediction function of the sample data, that is, y i -f(wx i +b) is the distance between the actual target value and the predicted value;

[0058] 4.3) Send the samples in the training set to the test neural network in batches, and use the gradient descent method to update the network parameters:

[0059] 4.3.1) Count the number of samples in the training set;

[0060] 4.3.2) Calculate the gradient of the weight w and bias b corresponding to each sample relative to the loss function and

[0061] 4.3.3) Calculate the sum of the gradients of all sample weights w and biases b;

[0062] 4.3.4) Calculate the average of the gradients of all sample weights w and biases b;

[0063] 4.3.5) Update the weight and bias value of each sample according to the following formula:

[0064]

[0065]

[0066] Among them, α represents the learning rate, w i represents the initial value of the weight, w i+1 represents the updated weight value, b i represents the initial value of the deviation, b i+1 Represents the updated deviation value;

[0067] 4.3.6) Repeat step 4.3.5) until the value of the loss function Loss converges to obtain a trained test neural network.

[0068] Step 5: Get the packet loss rate prediction value of the samples in the test set.

[0069] The samples in the test set are fed into the trained test neural network to obtain a set of predicted values ​​of the packet loss rate of each sample in the test set: ε = {ε1,ε2,...ε i ,...ε n},in:

[0070] ε i Represents the packet loss rate prediction value of the i-th sample in the test sample, that is, the packet loss probability; 1≤i≤n, n represents the number of samples in the test set.

[0071] Step 6: The source sends data and obtains the packet loss probability of the block channel.

[0072] At the source end, a group of data packets of size N are sent each time, and the group number currently sent is recorded as j, and the initial value of j is 1; according to the group number j, the packet loss probability ε of the block channel corresponding to the current group data packet is found j .

[0073] Step 7: Calculate the current packet loss probability ε j The number of packets K that the group expects to be successfully transmitted j .

[0074] This step is to convert the current packet loss probability ε j Substitute into the optimization equation to ensure the maximum coding rate under the known delay and reliability constraints, and calculate the number of packets K expected to be successfully transmitted under the condition of maximum coding rate while meeting the delay and reliability requirements under the packet loss rate. j , the specific implementation is as follows:

[0075] 7.1) Select the optimization equation for maximizing network transmission rate under delay and reliability constraints:

[0076]

[0077] in, is the error rate, D max =80 is the maximum delay constraint, is the maximum delay, represents the packet size during transmission, ε represents the packet loss rate that needs to be transmitted, K is the original data packet size, and K max is the maximum raw packet size that depends on memory;

[0078] 7.2) According to the first constraint T max ≤D max Calculate The value range of

[0079] 7.3) For the above calculated Traverse in sequence and calculate each Under all constraints and guarantee bit rate Maximum K:

[0080] 7.3.1) According to the second constraint 0≤K≤K max Calculate each The corresponding range of K is as follows:

[0081] 7.3.2) Set the packet loss rate ε j Substitute the third constraint P e ≤10 -5, calculate all K in 7.3.1) that satisfy the constraint condition;

[0082] 7.3.3) Find the maximum value of K in 7.3.2);

[0083] 7.4) The value of is set to K, and based on this value, find the corresponding maximum K in 7.3). This K is the maximum value in the packet loss rate ε j In this case, the packet size is fixed to N, and the above three constraints are met and the maximum transmission rate can be guaranteed. j .

[0084] Step 8: Generate a systematic encoding matrix over the finite field GF(q)

[0085] According to the MDS property of maximum distance separable code, a systematic coding matrix satisfying this property is generated on the finite field GF(q) for the current group.

[0086]

[0087] Among them, the first K of the encoding matrix j The columns are all K j The identity matrix of order NK j The columns are composed of the previous K j The check column is obtained by XORing the non-coding packets of the column; α is a variable, and the subscripts of α represent the row and column in the matrix, that is, Represents the Kth j Row K j +1 column; all columns of the matrix satisfy the MDS property, and from the Kth j +1 column, each column has This method uses col as the current column and q as the current q-tuple.

[0088] Step 9: Use the encoding matrix Encode the current packet and transmit it.

[0089] 9.1) Take out K in the current group j Original data packets The K j K packets correspond to j -dimensional row vector;

[0090] 9.2) K j The row vector of the dimension is right-multiplied by the encoding matrix Obtain the data packet after the group coding, and send the coded data packet at the source end, and the data packet is transmitted through the channel to obtain the corresponding receiving matrix at the receiving end;

[0091] 9.3) Determine whether the rank of the current group receiving matrix satisfies the number of packets K that the group expects to transmit. j Conditions:

[0092] If it is satisfied, it means that the group of data packets is successfully transmitted. At this time, the total number of data packets M that the source needs to send is reduced to M', that is, M' = MK j , execute step 9.4);

[0093] If it is not satisfied, it means that the current group transmission fails. At this time, M does not change, then add 1 to the current group number j and return to step 6;

[0094] 9.4) Determine the data packet M' that needs to be sent currently:

[0095] If M'≤0, the transmission ends;

[0096] If M'>0, then add 1 to the current group number j, and return to step 6 to transmit the next group of data packets.

[0097] The effect of the present invention can be further illustrated by the following simulation comparison:

[0098] 1. Simulation conditions

[0099] Assume that the network needs to transmit 12,000 data packets, and the block channel size K after segmentation is set to 100, then the length of the corresponding packet is also 100.

[0100] 2. Simulation content

[0101] Simulation 1: Before the transmission starts, the packet loss rate of the channel is obtained using the traditional solution and the present invention respectively:

[0102] The traditional method of obtaining the packet loss rate is as follows: Calculate the average packet loss probability of the entire channel and use it as the packet loss rate of the channel block corresponding to each packet: Count the number of all 0 states on the channel to obtain the average packet loss probability of the channel:

[0103]

[0104] The present invention obtains the packet loss rate in the following manner: by using an LSTM neural network to predict the channel packet loss rate, each group of channel packet loss rates is jointly determined based on the historical packet loss rates of several previous groups, that is, using LSTM to extract channel features and capture channel laws, so that each prediction result is completely dependent on the changing law of the channel.

[0105] Simulation 2: The packet loss rates obtained by the traditional method and the present invention are respectively put into the packet network coding scheme under the delay and reliability constraints for transmission, and the success rates P of the two are calculated after the transmission is completed. sucand throughput T r :

[0106]

[0107] Compare the performance indicators of the two, such as Figure 2 As shown. Figure 2 It can be seen that the success rate P of the present invention suc and throughput T r In particular, when the non-stationarity of the channel is higher, that is, the state change of the channel is greater, the advantages of the present invention will be more obvious.

[0108] The above description is only a specific example of the present invention, but the protection scope of the present invention is not limited thereto. Those skilled in the art can understand that various replacements, transformations and modifications to the content of the invention are possible without departing from the spirit and scope of the present invention, but these all belong to the protection scope of the present invention.

Claims

1. A network coding transmission method based on deep learning and channel prediction, characterized in that: The following steps are involved: (1) Construct training set and test set; (1a) Divide the channel into multiple small blocks of length N, count the status of the data packets in the first several blocks, calculate the packet loss probability P of the channel in the corresponding block, and use it as the original data set; (1b) Divide the original data set into sample sets by combining sliding windows and slicing, where the window size is set to L and the sliding step size is set to 1; (1c) Divide the sample set into training set and test set in a ratio of 8:2; (2) A single-layer long short-term memory network LSTM is selected as the test neural network; (3) Train the test neural network: (3a) Set the learning rate, weights, and batch size; (3b) Set the activation function of the LSTM network to tanh, and use the mean square error as the loss function of the LSTM network; (3c) Send the samples in the training set to the test neural network in batches, and use the gradient descent method to update the parameters until the loss value converges to obtain a trained test neural network; (4) Send the samples in the test set to the trained test neural network to obtain the predicted value set ε of the packet loss rate of each sample in the test set, ε = {ε1, ε2, ...ε i ,...ε n }, where ε i represents the packet loss rate prediction value of the i-th sample in the test sample, 1≤i≤n, n represents the number of samples in the test set; (5) Perform network coding transmission based on the predicted packet loss rate: (5a) The source sends a group of data packets of size N each time, and the group number currently sent is recorded as j, and the initial value of j is 1; (5b) Find the packet loss probability ε of the block channel corresponding to the current group data packet according to the group number j j ; (5c) j Substitute into the optimization equation to ensure the maximum coding rate under the known delay and reliability constraints, and calculate the number of packets K expected to be successfully transmitted under the condition of maximum coding rate while meeting the delay and reliability requirements under the packet loss rate. j ; The implementation is as follows: (5c1) Select the optimization equation for maximizing network transmission rate under delay and reliability constraints: in, is the error rate, D max =80 is the maximum delay constraint, is the maximum delay, represents the packet size during transmission, ε represents the packet loss rate that needs to be transmitted, K is the original data packet size, and K max is the maximum raw packet size that depends on memory; (5c2) According to the first constraint T max ≤D max Calculate The value range of (5c3) For the above calculated Traverse in sequence and calculate each Under all constraints and guarantee bit rate Maximum K: (5c3.1) According to the second constraint 0≤K≤K max Calculate each The corresponding range of K is as follows: (5c3.2) The packet loss rate ε j Substitute the third constraint P e ≤10 -5 , calculate all K in (5c3.1) that satisfy the constraint; (5c3.3) Find the maximum value of K in (5c3.2); (5c4) The value of is set to N, and the packet loss rate ε is obtained. j In this case, the packet size is fixed to N, and the above three constraints are met and the maximum transmission rate can be guaranteed. j ; (5d) Generate a systematic coding matrix for the current group that satisfies the MDS property of maximum distance separable codes over the finite field GF(q) Among them, the first K of the encoding matrix j The columns are all K j The identity matrix of order NK j The columns are composed of the previous K j The checksum column obtained by XORing the non-coded packet of the column; (5e) Using the coding matrix Encode the current packet and send the encoded data packet at the source end. The data packet is transmitted through the channel and the corresponding receiving matrix is ​​obtained at the receiving end. (5f) Determine whether the rank of the current group receiving matrix satisfies the number of packets K that the group expects to transmit. j : If it is satisfied, it means that the group of data packets is successfully transmitted. At this time, the total number of data packets M that the source needs to send is reduced to M', that is, M' = MK j , execute (5g); If it is not satisfied, it means that the current group transmission fails. At this time, M does not change, then add 1 to the current group number j and return to (5a); (5g) Determine the data packet M' that needs to be sent currently: If M'≤0, the transmission ends; If M'>0, add 1 to the current group number j and return to (5a) to transmit the next group of data packets.

2. The method according to claim 1, characterized in that: In step (1a), the packet loss probability within each channel block is calculated as follows: Count the number of 0 states and 1 states in each channel block, where 0 state represents packet loss and 1 state represents no packet loss; According to the state of each channel block, the packet loss probability P corresponding to each block is obtained:

3. The method according to claim 1, characterized in that: In the sample set divided in step (1b), each sample consists of two parts: input and output. The input length is L-1 and the output length is 1.

4. The method according to claim 1, characterized in that: In step (2), the neural network is tested, including the forget gate, input gate, output gate and cell state; The forget gate acts on the cell state of the previous layer and is used to jointly decide to forget the information of the cell state of the previous layer based on the input of the current time step and the implicit state of the previous time step; The input gate is used to select new information and record it into the cell state, and update the old cell state according to the results of the forget gate and the input gate to obtain the current cell state; The output gate is used to decide what to predict, that is, to predict the packet loss rate of the current group based on the packet loss rate of the previous L-1 groups.

5. The method according to claim 1, characterized in that: Step (3b) sets the activation function tanh and loss function Loss of the LSTM network, which are expressed as follows: Where x is the input of the current time step, m is the number of samples, and y is i represents the actual target value of the sample, f(wx i +b) represents the sample data x i The predicted value calculated by the prediction function f, that is, y i -f(wx i +b) is the distance between the actual target value and the predicted value.

6. The method according to claim 1, characterized in that: In step (3c), the gradient descent method is used to update the network parameters of the test neural network, which is implemented as follows: (3c1) Count the number of samples in the training set; (3c2) Calculate the gradient of the weight w and bias b corresponding to each sample relative to the loss function and (3c3) Calculate the sum of the gradients of all sample weights w and biases b; (3c4) Calculate the average of the gradients of all sample weights w and biases b; (3c5) Update the weight and bias value of each sample according to the following formula: Among them, α represents the learning rate, w i represents the initial value of the weight, w i+1 represents the updated weight value, b i represents the initial value of the deviation, b i+1 Represents the updated deviation value; (3c6) Repeat step (3c5) until the loss function converges and remains unchanged.

7. The method according to claim 1, characterized in that: The systematic encoding matrix in step (5d) It is expressed as follows: Among them, α is a variable, and the subscripts of α represent the row and column in the matrix, that is, Represents the Kth j Row K j +1 column; all columns of the matrix satisfy the MDS property, and from the Kth j +1 column, each column has This method uses col as the current column and q as the current q-tuple.

8. The method according to claim 1, characterized in that: In step (5e), ​​the encoding matrix G is used Kj×N To encode the current group, take out K from the current group. j Original data packets Use the K j The K packets generated j The row vector of the dimension is right-multiplied by the encoding matrix The data packet after the group encoding can be obtained.