Data processing method, communication node, and storage medium
By determining the number and size of data packets according to preconfigured parameters in wireless communication technology, and encoding the data packets using FEC technology, the problems of ARQ prolongation and resource consumption when channel quality is poor are solved, and higher data transmission reliability and throughput are achieved.
Patent Information
- Application Number
- PCT/CN2024/100941
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2023-11-20
- Filing Date
- 2024-06-24
- Publication Date
- 2025-05-30
AI Technical Summary
In the existing wireless communication technology, automatic retransmission request (ARQ) causes an increase in information transmission delay in the case of poor channel quality, and repeated transmission consumes too much resources on larger data packets, which cannot effectively ensure load balancing.
In the data processing method, the number, size, and number of second source data packets are determined according to preconfigured or encoded parameters, and the data packets are encoded using forward error correction (FEC) technology to generate encoded data packets for transmission.
Improves the reliability and throughput of data transmission, reduces retransmission delay, and achieves load balancing under different link quality conditions.
Smart Images

Figure CN2024100941_30052025_PF_FP_ABST
Abstract
Description
Data processing method, communication node and storage medium Technical Field
[0001] The present application relates to the field of wireless communication technology, for example, to a data processing method, a communication node and a storage medium. Background Art
[0002] To address data message transmission failures, the Radio Link Control (RLC) sublayer of the Data Link Layer (Layer 2) uses Automatic Repeat Request (ARQ) for error control. However, ARQ does not effectively utilize the communication channel and, under poor channel quality conditions, can cause significant information transmission delays. The Packet Data Convergence Protocol (PDCP) sublayer uses duplication, delivering duplicate PDCP Protocol Data Units (PDUs) to multiple RLC entities. These RLC entities independently process the data packets and transmit them to the Medium Access Control (MAC) sublayer. In carrier aggregation (CA) scenarios, multiple copies of the data are processed by the MAC layer and transmitted across different cells. In dual connectivity (DC) scenarios, multiple copies of the data are processed by the MAC layer and transmitted across different cell groups. While repeated transmission can improve packet transmission reliability and reduce retransmission latency, for larger packets, repetition can lead to excessive resource consumption. Furthermore, since the same data is transmitted on each link, if one link is of good quality and the other is of poor quality, information cannot be distributed based on link quality, and load balancing cannot be effectively achieved. Consequently, current data transmission methods suffer from low efficiency and reliability.
[0003] Summary of the Invention
[0004] The present application provides a data processing method, a communication node, and a storage medium.
[0005] The present invention provides a data processing method, including:
[0006] When the first source data packet is obtained, determining the number of second source data packets, the size of the second source data packet, and the number of check data packets according to preconfigured or encoded parameters;
[0007] Encoding the second source data packet according to the number of the second source data packets, the size of the second source data packet, the number of the check data packets and the encoding matrix to obtain an encoded data packet;
[0008] The encoded data packet is sent.
[0009] An embodiment of the present application further provides a communication node, comprising: a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor implements the above-mentioned data processing method when executing the program.
[0010] An embodiment of the present application further provides a computer-readable storage medium, on which a computer program is stored, and when the program is executed by a processor, the above-mentioned data processing method is implemented. BRIEF DESCRIPTION OF THE DRAWINGS
[0011] FIG1 is a schematic diagram of an application scenario of a data processing method provided by an embodiment;
[0012] FIG2 is a schematic diagram of another application scenario of a data processing method provided by an embodiment;
[0013] FIG3 is a flow chart of a data processing method provided by an embodiment;
[0014] FIG4 is a schematic diagram of a coding matrix provided by an embodiment;
[0015] FIG5 is a schematic diagram of another encoding matrix provided by an embodiment;
[0016] FIG6 is a schematic diagram of another encoding matrix provided by an embodiment;
[0017] FIG7 is a flow chart of another data processing method provided by an embodiment;
[0018] FIG8 is a schematic structural diagram of a data processing device provided by an embodiment;
[0019] FIG9 is a schematic structural diagram of another data processing device provided by an embodiment;
[0020] FIG10 is a schematic diagram of the hardware structure of a communication node provided by an embodiment. DETAILED DESCRIPTION
[0021] The present application is described below in conjunction with the accompanying drawings and examples. It will be understood that the specific embodiments described herein are merely used to explain the present application and are not intended to limit the present application. It should be noted that, unless there is a conflict, the embodiments in the present application and the features therein may be arbitrarily combined with each other. It should also be noted that, for ease of description, only some, but not all, structures related to the present application are shown in the accompanying drawings. In addition, although a logical order is shown in the flowchart, in some cases, the steps shown or described may be performed in an order different from that in the flowchart. The terms "first", "second", etc. are used to distinguish similar objects and are not necessarily used to describe a specific order or sequence.
[0022] The International Telecommunication Union-Radiocommunication Sector (ITU-R) categorizes fifth-generation (5G) mobile communications (5G) application scenarios into three main categories: enhanced mobile broadband (eMBB), massive machine-type communication (mMTC), and ultra-reliable and low-latency communication (uRLLC). As 5G continues to expand into vertical industries, scenarios such as extended reality (XR), vehicle-to-everything (V2X), and the Industrial Internet of Things (IIoT) are placing higher demands on uRLLC, requiring communication networks to provide services with higher reliability, lower latency, and higher throughput. Ideally, 5G technology promises high communication speeds, high reliability, and low latency. However, because 5G utilizes higher frequency bands (e.g., Frequency Range (FR) 1: 410MHz-7125MHz; FR2: 24250MHz-52600MHz), the higher the frequency, the poorer the diffraction of electromagnetic waves, resulting in more areas of coverage loss during signal propagation. Particularly in densely populated areas, where 5G base stations cannot meet coverage requirements, poor channel quality leads to data message errors and retransmissions, making it difficult to meet communication speed and latency requirements. To address data message transmission failures, the Radio Link Control (RLC) sublayer of the Data Link Layer (Layer 2) implements Automatic Repeat Request (ARQ) for error control. However, ARQ does not effectively utilize the communication channel and, in poor channel quality, can cause significant information transmission delays, making it difficult to meet the requirements of uRLLC scenarios.
[0023] To further improve information transmission reliability, the Packet Data Convergence Protocol (PDCP) sublayer implements duplication, passing duplicate PDCP Protocol Data Units (PDUs) to multiple RLC entities. The RLC entities independently process the packets and transmit them to the Medium Access Control (MAC) sublayer. In carrier aggregation (CA) scenarios, multiple copies of the data are processed by the MAC layer and transmitted across different cells; in dual connectivity (DC) scenarios, multiple copies are processed by the MAC layer and transmitted across different cell groups. This duplication improves packet transmission reliability and reduces retransmission latency. However, due to resource overhead, it is primarily applicable to smaller packets. For larger packets, duplication can lead to excessive resource consumption. Furthermore, since the same data information is transmitted on each link, if one link has good quality and the other has poor, it is impossible to distribute information based on link quality, thereby achieving effective load balancing.
[0024] Similarly, in scenarios with multiple communication routes, such as dual connectivity, integrated access and backhaul (IAB), and multi-transmission / receipt point (mTRP), reliability and throughput are improved by transmitting data across multiple routes. However, if the source data is evenly divided and distributed to different routes for transmission, the quality of each route may vary. This may lead to data packet loss due to poor communication quality on one route, making it impossible to recover the source data at the receiving end, affecting throughput and reliability.
[0025] In an embodiment of the present application, a forward error correction (FEC) technology can be used to encode the source data. Assuming that there are k groups of source data packets, n groups of coded data packets are obtained after encoding (n>k). The encoded n groups of coded data packets are sent to the receiving end through at least one link. At the receiving end, only any k groups of linearly independent coded data packets need to be received to restore the source data packets, thereby improving the reliability of data transmission and reducing retransmission delay. The embodiment of the present application describes how to determine the number of source data packets, the size of source data packets, and the number of check data packets, and how to encode and obtain coded data packets based on the number of source data packets, the size of source data packets, the number of check data packets, and the coding matrix.
[0026] Figure 1 is a schematic diagram illustrating an application scenario of a data processing method provided by one embodiment. As shown in Figure 1 , the entities involved in data processing include, but are not limited to, a first communication node 11 and a second communication node 12. Second communication node 12 and first communication node 11 can transmit and receive wireless signals, and perform related interactions.
[0027] In one embodiment, the relative positions and number of the second communication nodes 12 and the first communication nodes 11 can be configured accordingly based on the specific application scenario. For example, the first communication node 11 can radiate signals outward, and the second communication node 12 can move along the trajectory formed by the first communication node 11 when radiating signals outward. It is understood that if there are multiple second transmission nodes 12 and different second transmission nodes 12 are configured in the above manner, they can receive the wireless signal transmitted by the first communication node 11 at different spatial locations. It is worth noting that the spatial locations here can be different geographical conditions.
[0028] FIG2 is a schematic diagram of another application scenario of a data processing method provided by an embodiment. The application scenario may also include, but is not limited to, a third communication node 13. The coded data packet or part of the coded data packet generated by the first communication node is sent to the second communication node 12 after being processed by the third communication node 13. The coded data packet or part of the coded data packet generated by the first communication node 11 is directly sent to the second communication node. Among them, wireless signals can be sent, received, and related interactions can be performed between the first communication node 11 and the third communication node 13, and between the second communication node 12 and the third communication node 13. It is understandable that there may be multiple third communication nodes. The coded data packet obtained at the first communication node can be directly sent in whole or in part to the second communication node. The coded data packet obtained at the first communication node can also be directly sent in whole or in part to one or more third communication nodes, which then send the coded data packet to the second communication node.
[0029] In one embodiment, the number of third communication nodes 13 is not limited and can be one or more, and can be specifically set according to the actual application scenario requirements of technical personnel in this field. That is, the second communication node 12 can interact with one third communication node 13 alone or interact with multiple third communication nodes 13 separately, without affecting the functional application of the second communication node 12.
[0030] In a feasible implementation, the first communication node 11 and the third communication node 13 may include, but are not limited to, one of the following devices: a base station (BS), an access point (AP), a node B, a g node B (g node B, generalized node B), a radio network controller (RNC), an evolved Node B (eNB), a base station controller (BSC), a base transceiver station (BTS), a transceiver function (TF), a radio router, a radio transceiver, a basic service set (BSS), an extended service set (ESS) or a radio base station (RBS). This embodiment does not specifically limit this.
[0031] In one feasible embodiment, the second communication node 12 may be referred to as an access terminal, user equipment (UE), a user unit, a user station, a mobile station, a mobile station, a remote station, a remote terminal, a mobile device, a user terminal, a wireless communication device, a user agent, or a user device. For example, the second communication node may be a cellular phone, a cordless phone, a Session Initiation Protocol (SIP) phone, a Wireless Local Loop (WLL) station, a Personal Digital Assistant (PDA), a handheld device with wireless communication capabilities, a computing device or other processing device connected to a wireless modem, an in-vehicle device, a wearable device, a terminal device in a 5G network or a future 5G or higher network, etc., and this embodiment does not specifically limit this.
[0032] In one embodiment, the implementation environment for executing the data processing method may be, but is not limited to, the 5G Technical Specification (TS) of the 3rd Generation Partnership Project (3GPP). However, it is understandable that in the future development of 6G (6th Generation) communication technology, there will be higher requirements for data transmission rate, transmission delay, and data transmission reliability. Different application industries also have more refined requirements for communication reliability, delay, and rate. The componentized design of the radio interface protocol stack may become a key research direction. Enterprises can select components according to their own needs within the framework allowed by the radio interface protocol stack to build a communication network that meets their requirements. Network coding can also be an optional option in 6G technology in the form of components, playing an important role in improving data transmission reliability and throughput. In other words, the implementation environment for executing the data processing method in this embodiment can also be, but is not limited to, application in 6G (6th Generation) communication and even higher-level communication networks.
[0033] The first communication node 11 has at least the functions of determining the number of second source data packets, the size of second source data packets and the number of verification data packets according to preconfigured or encoding parameters when obtaining the first source data packet, encoding the second source data packet according to the number of second source data packets, the size of second source data packets, the number of verification data packets and the encoding matrix to obtain an encoded data packet, and sending the encoded data packet to the second communication node.
[0034] The second communication node 12 has at least the functions of receiving the encoded data packet sent by the first communication node 11 or the third communication node 13 and processing the encoded data packet, wherein the encoded data packet is obtained by the first communication node 11 based on encoding the second source data packet.
[0035] The third communication node 13 has at least the function of receiving a coded data packet sent by the first communication node 11 or sending a coded data packet to the second communication node 12 , wherein the coded data packet sent to the second communication node 12 is calculated by the first communication node 11 .
[0036] FIG3 is a flow chart of a data processing method provided by an embodiment. The method can be applied to a first communication node, which can also be understood as a data transmitter. As shown in FIG3 , the method provided by this embodiment includes:
[0037] In step 110, when the first source data packet is obtained, the number of second source data packets, the size of the second source data packet and the number of check data packets are determined according to preconfigured or encoded parameters.
[0038] In step 120, the second source data packet is encoded according to the number of the second source data packets, the size of the second source data packet, the number of the check data packets, and the encoding matrix to obtain an encoded data packet.
[0039] In step 130, the encoded data packet is sent.
[0040] In this embodiment, when the sending end obtains the first source data packet, it determines the number of second source data packets, the size of the second source data packet and the number of verification data packets based on pre-configured or encoding parameters, so that in subsequent steps, the second source data packet can be encoded by the number of second source data packets, the size of the second source data packet and the number of verification data packets to generate an encoded data packet.
[0041] The second communication node (receiving end) only needs to receive any k linearly independent data packets to complete data recovery. Furthermore, because the transmitting end only needs to send the corresponding encoded data to the second communication node, the second communication node can effectively complete decoding. This can avoid the delay caused by repeated data packet transmission and the additional physical resource consumption caused by sending duplicate data packets across multiple links. This can improve data transmission reliability and throughput while using less resource overhead.
[0042] In one embodiment, the first source data packet includes at least one of the following:
[0043] Data packets of the PDCP sublayer in the radio interface protocol stack;
[0044] Data packets of the RLC sublayer in the radio interface protocol stack;
[0045] Data packets of the MAC sublayer in the radio interface protocol stack;
[0046] Data packets at the physical layer in the radio interface protocol stack.
[0047] In one embodiment, the size of the second source data packet is determined according to the first control signaling; the first control signaling indicates the size of the second source data packet in at least one of the following ways: one or more bits; selected from a finite set.
[0048] In one embodiment, the number of bits belongs to [1, 16]; the finite set includes {2 t A subset of Byte|t∈[0,15]}.
[0049] In one embodiment, when the first source data packet is obtained, the size T of the second source data packet is determined according to a control signaling preconfiguration. The value of the second source data packet size T is indicated by i bits, where the value of i satisfies the following relationship: i∈[1,16]. In one example, the decimal number corresponding to i bits is I, and T=I+1 bytes.
[0050] In one embodiment, when the first source data packet is acquired, the size T of the second source data packet is pre-configured and determined according to control signaling. The value of the second source data packet size T is selected from a finite set, where T is a positive integer. Directly pre-configuring the size of T through control signaling facilitates manual customization of the value of the second source data packet size T, thereby providing greater freedom of choice.
[0051] In one embodiment, when the first source data packet is obtained, the size T of the second source data packet is determined according to the control signaling preconfiguration, and the value of the second source data packet size T is selected from a finite set, and T belongs to a subset of the following set: {2 t Byte|t∈[0,15]}, and satisfies T≤M, where M is the size of the first source data packet.
[0052] After the size T of the second source data packet is determined according to the control signaling, the first source data packet S is expressed as S=[a0, a1, ..., a M-1 ]=[a0,a1,...,a T-1 ,a T ,...,a (k-1)*T-1 ,a (k-1)*T ,...,a M-1 ], where k satisfies If mod(M, T) is not equal to 0, then (k*TM) zero bytes are added to the first source data packet S to obtain S1, and the size of S1 is an integer multiple of T. In a specific example, S1=[a0, a1, ..., a T-1 ,a T ,...,a (k-1)*T-1 ,a (k-1)*T ,...,a M-1 ,0 M ,...,0 k*M-1 ], S1 is divided into k parts in sequence, each part has T bytes, and each part is used as a second source data packet. In another specific example, S1=[0 M ,...,0 k*M-1 ,a0,a1,...,a T-1 ,a T ,...,a (k-1)*T-1 ,a (k-1)*T ,...,a M-1], split S1 into k parts in sequence, each part has T bytes, and each part serves as a second source data packet.
[0053] In step 110, the encoding parameters include but are not limited to: a first encoding parameter, a second encoding parameter, and a third encoding parameter.
[0054] In one embodiment, the size of the second source data packet is determined according to a first encoding parameter; the first encoding parameter includes at least one of the following: the size of the first source data packet; the number of second source data packets.
[0055] In the present embodiment, when the first source data packet is obtained, the second source data packet size T is determined according to at least one of the following first encoding parameters: the first source data packet size M, the second source data packet number k. When the first encoding parameter includes the first source data packet size M and the second source data packet number k, step 110 may include but is not limited to: when determining the first mapping relationship between the second source data packet size and the first source data packet size and the second source data packet number, obtaining the second source data packet number according to the first source data packet size, the second source data packet number and the first mapping relationship. Wherein, the first mapping relationship is used to characterize the relationship between the second source data packet size and the first source data packet size and the second source data packet number. By determining the first mapping relationship between the second source data packet size and the first source data packet size and the second source data packet number, the second source data packet size T can be obtained according to the first source data packet size, the second source data packet number and the first mapping relationship. In this way, the size of T can be adaptively calculated when M and k are known.
[0056] In one embodiment, when the first encoding parameter includes a first source data packet size M and a second source data packet number k, the second source data packet size T is obtained based on M and k, that is, a first mapping relationship f:(M,k)→T exists between the second source data packet size T and the first source data packet size M and the second source data packet number k. The first mapping relationship includes but is not limited to: a mapping formula, a mapping table, a mapping diagram, and other forms of expression. In one example, the second source data packet size T satisfies the following first mapping relationship:
[0057] After the size T of the second source data packet is determined according to M and k, the first source data packet S is expressed as S=[a0, a1, ..., a M-1 ]=[a0,a1,...,a T-1 ,a T ,...,a (k-1)*T-1 ,a (k-1)*T ,...,a M-1], if mod(M,k) is not equal to 0, then (k*TM) zero bytes are added to the first source data packet S to obtain S1, and the size of S1 is an integer multiple of k, so that each second source data packet has the same size T. In a specific example, S1=[a0,a1,...,a T-1 ,a T ,...,a (k-1)*T-1 ,a (k-1)*T ,...,a M-1 ,0 M ,...,0 k*M-1 ], S1 is divided into k parts in sequence, each part has T bytes, and each part is used as a second source data packet. In another specific example, S1=[0 M ,...,0 k*M-1 ,a0,a1,...,a T-1 ,a T ,...,a (k-1)*T-1 ,a (k-1)*T ,...,a M-1 ], split S1 into k parts in sequence, each part has T bytes, and each part serves as a second source data packet.
[0058] In one embodiment, the (k*TM) padded bytes are not limited to zero bytes but can be other element values. Furthermore, the (k*TM) padded bytes are not limited to the header or tail of the first source data packet but can be distributed anywhere in the first source data packet. The second communication node knows the locations of the (k*TM) padded bytes before processing the encoded data packet. The first communication node obtains the padded location from at least one of the following, including but not limited to: obtaining the padded location from a preconfiguration; obtaining the padded location from signaling. Obtaining the padded location from a preconfiguration means that the first communication node and the second communication node both know the locations of the (k*TM) padded bytes. In one example, the first communication node and the second communication node both know that the padded bits are located at the header of S1; in another example, the first communication node and the second communication node both know that the padded bits are located at the tail of S1. Obtaining the padded location from signaling means that before the first communication node processes the first source data packet, the first communication node obtains the location of the padded data packet from the second communication node through signaling interaction. Signaling is transmitted via at least one of the following channel types: a physical uplink control channel or a random access channel.
[0059] In one embodiment, the number of second source data packets is determined based on second control signaling; the second control signaling indicates the number of second source data packets in at least one of the following ways: one or more bits; a value selected from a continuous integer range; a value selected from a finite set.
[0060] In one embodiment, the number of bits belongs to [1,7]; the continuous integer range is [k min ,k max ], k min is an integer and k min ∈[1,4], k max is an integer and k max ∈[10,32]; the finite set includes subsets of {1,2,4,6,8,10,12,14,16,18,20,22,24,26,28,32}.
[0061] In one embodiment, when the first source data packet is obtained, the number k of the second source data packets is determined according to a control signaling preconfiguration, and the number of the second source data packets is indicated by j bits, where the value of j satisfies the following relationship: j∈[1,7]. In one example, the decimal number corresponding to j bits is k.
[0062] In one embodiment, when the first source data packet is obtained, the number k of the second source data packet is determined according to the control signaling preconfiguration, and the value of the second source data packet number k is a continuous integer range [k min ,k max ], k is a non-negative integer, k min is an integer and k min ∈[1,4], k max is an integer and k max ∈[10,32]. In this example, the size of k is directly preconfigured through control signaling, which facilitates manual customization of the value of the number k of the second source data packets, thereby providing more freedom of choice.
[0063] In one embodiment, when the first source data packet is obtained, the number k of the second source data packets in step 110 is determined according to the control signaling preconfiguration, and the value of the second source data packet number k is a continuous integer range [k min ,k max ], k is a non-negative integer, k min is an integer and k min ∈[1,4], k max is an integer and k max In one example, k includes, but is not limited to, one of the following consecutive integer ranges: k∈[1,10], k∈[1,16], k∈[1,24], k∈[1,32], k∈[2,16].
[0064] In one embodiment, when the first source data packet is acquired, the number k of the second source data packets is pre-configured and determined based on control signaling. The value of the second source data packet number k is selected from a finite set, where k is a non-negative integer. Directly pre-configuring the value of k through control signaling facilitates manual customization of the value of the second source data packet number k, thereby providing greater freedom of choice.
[0065] In one embodiment, when the first source data packet is obtained, the number k of the second source data packets is determined based on a control signaling preconfiguration. The value of the second source data packet number k is selected from a finite set, where k includes, but is not limited to, a subset of the following set: {1, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 32}. Because the second communication node uses Gaussian elimination or CPU instructions to accelerate the recovery of the first source data packet in an extreme mode, limiting the value of k can avoid a surge in computational complexity.
[0066] In one embodiment, the number of the second source data packets is determined based on a second encoding parameter; the second encoding parameter includes at least one of the following: the size of the first source data packet, the size of the second source data packet, an encoding bit rate, channel state information, throughput, user equipment capabilities, a network frequency range, and an application scenario. The channel state information includes at least one of the following: channel quality indication information, rank indication information, and precoding matrix indication information.
[0067] In this embodiment, the number of second source data packets k is determined based on at least one of the following second encoding parameters: first source data packet size M, second source data packet size T, encoding bit rate R, channel state information, throughput (Transaction Per, TP), user equipment capability, network frequency range, and application scenario.
[0068] In one embodiment, when the second encoding parameter includes the first source data packet size and the second source data packet size, the second source data packet quantity in step 110 is further described, and step 110 may include but is not limited to: when determining the second source data packet quantity and the second source data packet size and the second source data packet size, obtain the second source data packet quantity according to the first source data packet size, the second source data packet size and the second mapping relationship. Wherein, the second mapping relationship is used to characterize the relationship between the second source data packet quantity and the first source data packet size and the second source data packet size. By determining the second source data packet quantity and the second source data packet size and the second mapping relationship, then the second source data packet quantity k can be obtained according to the first source data packet size, the second source data packet size and the second mapping relationship. In this way, it is possible to adaptively calculate the size of k when M and T are known.
[0069] In one embodiment, when the second encoding parameter includes a first source data packet size M and a second source data packet size T, the second source data packet size k is obtained based on M and T, that is, a second mapping relationship f:(M,T)→k exists between the number of second source data packets k and the first source data packet size M and the second source data packet size T. The second mapping relationship includes but is not limited to: a mapping formula, a mapping table, a mapping diagram, and the like. In one example, the number of second source data packets k satisfies the following second mapping relationship: When M and T are known, segmentation of the first source data packet can be completed with minimal padding bytes.
[0070] In one embodiment, when the second coding parameter includes a coding rate, step 110 may include but is not limited to: when determining the third mapping relationship between the second source data packet quantity and the coding rate, obtaining the second source data packet quantity according to the coding rate and the third mapping relationship. Wherein, the third mapping relationship is used to characterize the relationship between the coding rate and the second source data packet quantity. By determining the mapping relationship between the second source data packet quantity and the coding rate, then the second source data packet quantity k can be obtained according to the coding rate and the third mapping relationship. It can be ensured that the k value of integer value is obtained when the code rate is determined.
[0071] In one embodiment, when the second encoding parameter includes an encoding bit rate, the second source data packet size k is obtained according to the encoding bit rate R, that is, a third mapping relationship f:R→k exists between the number of second source data packets k and the encoding bit rate R. The third mapping relationship includes, but is not limited to, a mapping formula, a mapping table, a mapping diagram, or the like. In one example, the third mapping relationship is: The third mapping relationship is expressed as the minimum k' value when the ratio of k' to R is an integer as the number of second source data packets, but the number of second source data packets k does not exceed the maximum allowable value k Max . N + In a specific example, the coding rate R = 4 / 5, and the ratio of k' to R is a positive integer: {4, 8, 12, ...}, where the smallest integer is 4, so k = 4. In another specific example, k Max =16, R = 17 / 21, and the ratio of k' to R is a positive integer: {17, 34, 51, ...}, all of which are greater than k Max , so k=16.
[0072] In one embodiment, when the second encoding parameter includes channel state information, a larger k value is used when the channel quality is poor. The larger the k value, the smaller the size T of each second source data packet, and the higher the probability of successful recovery under the same bit error rate. When the channel quality is good, a smaller k value is used to reduce segmentation and improve throughput. Step 110 may include but is not limited to at least one of the following:
[0073] When the channel state information includes channel quality indication information, in a case where a fourth mapping relationship between the number of second source data packets and the channel quality indication information is determined, obtaining the number of second source data packets according to the channel quality indication information and the fourth mapping relationship;
[0074] When the channel state information includes rank indication information, in a case where a fifth mapping relationship between the number of second source data packets and the rank indication information is determined, obtaining the number of second source data packets according to the rank indication information and the fifth mapping relationship;
[0075] When the channel state information includes precoding matrix indication information, in a case where a sixth mapping relationship between the number of second source data packets and the precoding matrix indication information is determined, obtaining the number of second source data packets according to the precoding matrix indication information and the sixth mapping relationship;
[0076] Among them, the fourth mapping relationship is used to characterize the relationship between the channel quality indication information and the number of second source data packets; the fifth mapping relationship is used to characterize the relationship between the rank indication information and the number of second source data packets; and the sixth mapping relationship is used to characterize the relationship between the precoding matrix indication information and the number of second source data packets.
[0077] In one embodiment, when the channel state information includes channel quality indication information, the second source data packet size k is obtained based on the channel quality indication information, i.e., a fourth mapping relationship f:CQI→k exists between the number of second source data packets k and the channel quality indication information (CQI) index. The fourth mapping relationship includes, but is not limited to, representations in the form of a mapping formula, a mapping table, a mapping graph, and the like. In one example, the fourth mapping relationship can be represented using a mapping table, where a larger k value is used for a smaller CQI index number. One fourth mapping relationship is shown in Table 1. Another fourth mapping relationship is shown in Table 2.
[0078] Table 1 A mapping relationship between the number k of the second source data packets and the channel quality indicator
[0079] Table 2 Another mapping relationship between the second source data packet quantity k value and the channel quality indicator in step 110
[0080] In one embodiment, when the channel state information includes rank indication information, the size k of the second source data packet is obtained based on the rank indication information, that is, there is a fifth mapping relationship f:RI→k between the number of second source data packets k and the rank indication information (RI). The fifth mapping relationship includes but is not limited to: a mapping formula, a mapping table, a mapping diagram, and the like. In one example, the fifth mapping relationship can be represented using a mapping table, where a larger k value is used for a smaller RI. One fifth mapping relationship is shown in Table 3. Another fifth mapping relationship is shown in Table 4.
[0081] Table 3 A mapping relationship between the number k of the second source data packets and the rank indication
[0082] Table 4 Another mapping relationship between the second source data packet number k value and rank indication
[0083] In one embodiment, when the channel state information includes precoding matrix indication information, the size k of the second source data packet is obtained according to the precoding matrix indication information, that is, there is a sixth mapping relationship f:PMI→k between the number of second source data packets k and the precoding matrix indication information (Precoder Matrix Indicator, PMI). The sixth mapping relationship includes but is not limited to: a mapping formula, a mapping table, a mapping diagram, and the like. In one example, for a single-layer transmission of four antenna ports with transform precoding, the number of second source data packets is determined according to the precoding matrix indication index value indication. The sixth mapping relationship can be represented by a mapping table. The smaller the PMI, the larger the k value. A sixth mapping relationship is shown in Table 5.
[0084] Table 5 Mapping relationship between the second source data packet number k value and the precoding matrix indication
[0085] In one embodiment, when the second coding parameter includes throughput, step 110 may include but is not limited to: when determining the seventh mapping relationship between at least two second source data packet quantities and throughput, selecting and obtaining the second source data packet quantity from each preset second source data packet quantity according to throughput and the seventh mapping relationship. Wherein, the seventh mapping relationship is used to characterize the throughput supported by the second source data packet quantity. By determining the seventh mapping relationship between the preset second source data packet quantity and throughput, then the second source data packet quantity k can be selected from each preset second source data packet quantity according to throughput and the seventh mapping relationship. The second source data packet quantity obtained in this way can be well associated with the throughput, and has higher accuracy.
[0086] In one embodiment, when the second encoding parameter includes throughput, the second number of source data packets k is obtained according to the throughput requirement, that is, there is a seventh mapping relationship f:TP→k between the second number of source data packets and the throughput requirement TP, wherein the seventh mapping relationship includes but is not limited to: a mapping formula, a mapping table, a mapping diagram, and the like. When the number of second source data packets is not greater than k1, the throughput requirement it supports is TP1; when the number of the second source data packets is greater than k1 and not greater than k2, the throughput requirement it supports is TP2; when the number of the second source data packets is greater than k2 and not greater than k3, the throughput requirement it supports is TP3. In one example, k1, k2, and k3 are positive integers, k1 is less than k2, and k2 is less than k3; in one example, TP1 is greater than TP2, and TP2 is greater than TP3; in one example, the maximum value of TP3 is equal to a real number between 1 Gbps and 10 Gbps, the maximum value of TP2 is equal to a real number between 10 Gbps and 50 Gbps, and the maximum value of TP1 is equal to a real number between 50 Gbps and 100 Gbps.
[0087] In a specific example, the number of second source data packets includes: 4, 16, and 32, the maximum value of TP1 is equal to 100Gbps, the maximum value of TP2 is equal to 50Gbps, and the maximum value of TP3 is equal to 10Gbps. The throughput value range corresponding to the second source data packet number k=32 is greater than 1Gbps and less than or equal to 10Gbps, the throughput value range corresponding to the second source data packet number k=16 is greater than 10Gbps and less than or equal to 50Gbps, and the throughput value range corresponding to the second source data packet number k=4 is greater than 50Gbps and less than or equal to 100Gbps. The fewer the number of second source data packets, the lower the amount of calculation during decoding, and a higher throughput can be obtained. The multi-segment value range is not limited to the values described above and can be equal to other values.
[0088] It can be understood that the number of second source data packets in this example is not limited to 4, 16, and 32. For example, it can include but is not limited to at least two values in the following numerical range: [2, 32].
[0089] In one embodiment, when the second encoding parameter includes user equipment capability information, step 110 may include but is not limited to at least one of the following:
[0090] When the user equipment capability information includes a maximum number of supported antennas, upon determining an eighth mapping relationship between at least two numbers of second source data packets and the maximum number of supported antennas, selecting the number of second source data packets from each preset number of second source data packets according to the maximum number of antennas supported by the user equipment and the eighth mapping relationship;
[0091] When the user equipment capability information includes a maximum supported modulation order, upon determining a ninth mapping relationship between at least two quantities of second source data packets and the maximum supported modulation order, selecting the number of second source data packets from each preset number of second source data packets according to the maximum supported modulation order of the user equipment and the ninth mapping relationship;
[0092] When the user equipment capability information includes a maximum supported data rate, in a case where a tenth mapping relationship between at least two second source data packet quantities and the maximum supported data rate is determined, the number of second source data packets is obtained by selecting from each preset number of second source data packets according to the maximum supported data rate of the user equipment and the tenth mapping relationship;
[0093] By determining the specific capability information of the user equipment, the number of corresponding adapted second source data packets can be selected according to the determined specific capability information of the user equipment, so as to achieve optimal adaptation.
[0094] It is understandable that the more powerful the user equipment is, the greater the number of second source data packets it can support, and the higher the reliability it has under the condition of equal bit error rate.
[0095] In one embodiment, when the user equipment capability includes the maximum number of antennas supported, the size k of the second source data packet is obtained based on the maximum number of antennas supported by the user equipment, that is, there is an eighth mapping relationship f:ANT→k between the number of second source data packets k and the maximum number of antennas ANT supported by the user equipment. The eighth mapping relationship includes, but is not limited to, a mapping formula, a mapping table, a mapping diagram, and the like. In one example, when the maximum number of antennas supported by the user equipment is in the range [ANT1, ANT2], the corresponding range of the number of second source data packets is [k4, k5], where ANT1 and ANT2 are integers greater than 0, and ANT1 is less than or equal to ANT2; k4 and k5 are integers greater than 0, and k4 is less than or equal to k5; in a specific example, ANT1 = 2, ANT2 = 4, k4 = 4, and k5 = 8. In another example, the eighth mapping relationship can be represented using a mapping table, where smaller values of k are used as ANT decreases. One eighth mapping relationship is shown in Table 6.
[0096] Table 6: A mapping relationship between the number of second source data packets k and the maximum number of antennas supported by the user equipment
[0097] In one embodiment, when the user equipment capability includes the maximum supported modulation order, the second source data packet size k is obtained according to the maximum supported modulation order of the user equipment, that is, there is a ninth mapping relationship f:Q→k between the number of second source data packets k and the maximum supported modulation order Q of the user equipment. The ninth mapping relationship includes but is not limited to: a mapping formula, a mapping table, a mapping diagram, and the like. In one example, when the maximum supported modulation order range of the user equipment is [Q1, Q2], the corresponding second source data packet number range is [k6, k7], wherein Q1 and Q2 are integers greater than 0, and Q1 is less than or equal to Q2; k6 and k7 are integers greater than 0, and k6 is less than or equal to k7; in a specific example, Q1=2, Q2=4, k6=2, k7=10. In one example, the ninth mapping relationship can be represented by a mapping table, and the smaller the Q, the smaller the k value. A ninth mapping relationship is shown in Table 7.
[0098] Table 7: A mapping relationship between the number of second source data packets k and the maximum modulation order supported by the user equipment
[0099] In one embodiment, when the user equipment capability includes a maximum supported data rate, the second source data packet size k is obtained according to the maximum supported data rate of the user equipment, that is, there is a tenth mapping relationship f:V→k between the number of second source data packets k and the maximum supported data rate V of the user equipment. The tenth mapping relationship includes but is not limited to: a mapping formula, a mapping table, a mapping diagram, and the like. In one example, when the maximum supported data rate range of the user equipment is [V1, V2], the corresponding second source data packet number range is [k8, k9], where V1 and V2 are integers greater than 0, and V1 is less than or equal to V2; k8 and k9 are integers greater than 0, and k8 is less than or equal to k9; in a specific example, V1 = 500Mbps, V2 = 1Gbps, k8 = 2, and k9 = 10. In one example, the tenth mapping relationship can be represented using a mapping table, where smaller values of k are used as V decreases. A tenth mapping relationship is shown in Table 8.
[0100] Table 8: A mapping relationship between the number k of the second source data packets and the maximum supported data rate of the user equipment
[0101] In one embodiment, when the second encoding parameter includes a network frequency range, step 110 may include, but is not limited to: in the case of determining the eleventh mapping relationship between the number of second source data packets and the network frequency range, selecting the second source data packet number from each preset second source data packet number according to the network frequency range and the eleventh mapping relationship. Wherein, the eleventh mapping relationship is used to characterize the relationship between the second source data packet number and the network frequency range. By determining the eleventh mapping relationship between the preset second source data packet number and the network frequency range, the second source data packet number k can be selected from each preset second source data packet number according to the frequency range and the eleventh mapping relationship.
[0102] In one embodiment, when the second encoding parameter includes a network frequency range, the second source data packet number k is obtained according to the network frequency range, that is, there is an eleventh mapping relationship f:F→k between the second source data packet number and the network frequency range, wherein the eleventh mapping relationship includes but is not limited to: a mapping formula, a mapping table, a mapping diagram, and the like. When the frequency range is [F1, F2] MHz, the corresponding optional second source data packet number range is [k10, k11], wherein F1 and F2 are integers greater than 0, and F1 is less than or equal to F2; k10 and k11 are integers greater than 0, and k10 is less than or equal to k11. In one example, the network frequency range includes: FR1, FR2, the range of the optional second source data packet number of FR1 is [2, 16], and the range of the optional second source data packet number of FR2 is [2, 32].
[0103] In one embodiment, the second encoding parameter includes an application scenario, and step 110 may include but is not limited to at least one of the following:
[0104] When the application scenario is ultra-reliable low-latency communication, the number of second source data packets ranges from [k12, k13];
[0105] When the application scenario is enhanced mobile broadband, the number of second source data packets is in the range of [k14, k15];
[0106] When the application scenario is massive machine-type communication, the number of second source data packets ranges from [k16, k17];
[0107] In this embodiment, by determining a specific application scenario, the number of second source data packets corresponding to the application scenario can be selected according to the determined specific application scenario. Wherein, k12 is smaller than k13, k14 is smaller than k15, k16 is smaller than k17, and all are integers greater than 0.
[0108] In one embodiment, the application scenarios include ultra-reliable low-latency communication, enhanced mobile broadband, and massive machine-type communication. In one example, at least two of the application scenarios have different numbers of second source data packets.
[0109] In one example, if the application scenario is ultra-high reliability and low latency communication, the number of second source data packets is in the range of [2,16], which has higher reliability and lower data recovery calculation amount.
[0110] In an example, if the application scenario is enhanced mobile broadband, the number of second source data packets ranges from [1, 16].
[0111] In one example, if the application scenario is massive machine-type communication, the number of second source data packets ranges from [1, 32]. A larger optional range can satisfy on-demand encoding processing of massive amounts of different terminal data.
[0112] In one embodiment, the number of check data packets is determined based on a third control signaling; the third control signaling indicates the number of check data packets in at least one of the following ways: one or more bits; selection from a continuous integer range; selection of a value from a finite set; equal to the number of second source data packets.
[0113] In one embodiment, the number of bits belongs to [1,7];
[0114] The continuous integer range is [m min ,m max ],m min is an integer and m min ∈[1,4],m max is an integer and k max ∈[10,128];
[0115] The finite set includes a subset of {1, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 32, 64, 128}.
[0116] In one embodiment, when the first source data packet is obtained, the number m of check packets in step 110 is determined based on a control signaling preconfiguration. The number of check packets is indicated by c bits, where the value of c satisfies the following relationship: c∈[1,7]. In one example, the decimal number corresponding to c bits is m.
[0117] In one embodiment, when the first source data packet is obtained, the number m of the check data packets in step 110 is determined according to the control signaling preconfiguration, and the value of the number m of the check data packets is from a continuous integer range [m min ,mmax ], m is a non-negative integer, m min is an integer and m min ∈[1,4],m max is an integer and k max ∈[10,128]. In this example, the size of m is directly preconfigured through control signaling, which facilitates manual customization of the value of the number of verification packets m, thereby providing more freedom of choice.
[0118] In one embodiment, when the first source data packet is obtained, the number m of the check data packets in step 110 is determined according to the control signaling preconfiguration, and the value of the number m of the check data packets is from a continuous integer range [m min ,m max ], m is a non-negative integer, m min is an integer and m min ∈[1,4],m max is an integer and k max ∈[10,128]. In one example, m includes, but is not limited to, one belonging to the following consecutive integer ranges: m∈[1,10], m∈[1,16], m∈[1,24], m∈[1,32], m∈[1,128].
[0119] In one embodiment, upon obtaining the first source data packet, the number m of verification data packets in step 110 is determined based on a preconfigured control signaling configuration. The value of m is selected from a finite set, where m is a non-negative integer. In this example, the value of m is directly preconfigured via control signaling, thereby facilitating manual customization of the value of m, thereby providing greater freedom of choice.
[0120] In one embodiment, when the first source data packet is obtained, the number m of verification data packets in step 110 is determined based on control signaling preconfiguration. The value of m is selected from a finite set, including but not limited to a subset of the following set: {1, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 32, 64, 128}. When link quality is poor, the value of m can be increased to improve reliability at the expense of transmission efficiency.
[0121] In one embodiment, the number of check data packets is determined based on a third coding parameter; the third coding parameter includes at least one of the following: the number of second source data packets, reliability requirements, erasure rate, coding rate, channel state information; the channel state information includes at least one of the following: channel quality indication information, rank indication information, precoding matrix indication information.
[0122] In this embodiment, the number m of verification data packets in step 110 is determined based on at least one of the following third coding parameters: the number k of second source data packets, reliability requirements, erasure rate, coding rate, and channel state information.
[0123] In one embodiment, when the third encoding parameter includes the size of the second source data packet, step 110 may include, but is not limited to: upon determining a twelfth mapping relationship between the number of verification data packets and the number of second source data packets, obtaining the number of verification data packets based on the number of the second source data packets and the twelfth mapping relationship. The twelfth mapping relationship is used to characterize the relationship between the number of verification data packets and the number of second source data packets. By determining the twelfth mapping relationship between the number of verification data packets and the number of second source data packets, the number of verification data packets m can be obtained based on the number of second source data packets and the twelfth mapping relationship.
[0124] In one embodiment, when the third encoding parameter includes the number of second source data packets, the number of verification data packets, m, is obtained based on the number of second source data packets. That is, a twelfth mapping relationship, f:k→m, exists between the number of verification data packets, m, and the number of second source data packets, k. The twelfth mapping relationship includes, but is not limited to, representations in the form of a mapping formula, a mapping table, a mapping diagram, or the like.
[0125] In one embodiment, the twelfth mapping relationship is: m = x·k, where x is a non-negative integer, including but not limited to x = 1, 2, and 3. In one specific example, x = 1, m = k, the number of check packets is equal to the number of second source packets, and k different coded packets can be sent on the two links, respectively, which has higher reliability than simply repeatedly sending k second source packets on the two links. In another specific example, x = 3, m = 3*k, the number of check packets is three times the number of second source packets, and k different coded packets can be sent on four links, respectively, which has higher reliability than simply repeatedly sending k second source packets on four links.
[0126] In one embodiment, the twelfth mapping relationship is: when the number of second source data packets is in the range [k18, k19], the corresponding verification data packet range is [m1, m2], where k18 and k19 are integers greater than 0, and k18 is less than or equal to k19; m1 and m2 are non-negative integers, and m1 is less than or equal to m2. In a specific example, k18 = 6, k19 = 10, m1 = 3, and m2 = 5. In one example, the twelfth mapping relationship can be represented using a mapping table. One example of the twelfth mapping relationship is shown in Table 9.
[0127] Table 9: A mapping relationship between the number of check packets m and the number of second source packets k
[0128] In one embodiment, when the third encoding parameter includes a reliability requirement, step 110 may include, but is not limited to, determining a thirteenth mapping relationship between the reliability requirement and the number of verification source data packets, and obtaining the number of verification data packets based on the reliability requirement and the thirteenth mapping relationship. The thirteenth mapping relationship is used to characterize the relationship between the number of verification data packets and the reliability requirement. By determining the thirteenth mapping relationship between the number of verification data packets and the reliability requirement, the number of verification data packets m can be obtained based on the reliability requirement and the thirteenth mapping relationship.
[0129] In one embodiment, when the third encoding parameter includes a reliability requirement, the number m of verification packets is obtained based on the reliability requirement, i.e., a thirteenth mapping relationship f:P→m exists between the number m of verification packets and the reliability requirement P. The thirteenth mapping relationship includes, but is not limited to, representations in the form of a mapping formula, a mapping table, a mapping diagram, and the like.
[0130] In one embodiment, the thirteenth mapping relationship is: when the reliability requirement is in the interval [P1, P2], the corresponding number of verification packets is [m3, m4], where P1 and P2 are real numbers greater than 0 and less than 1, and P1 is less than or equal to P2; m3 and m4 are non-negative integers, and m3 is less than or equal to m4. In one example, the higher the reliability requirement, the larger the corresponding number of verification packets.
[0131] In a specific example, P1 = 0.9999, P2 = 0.99999, m3 = 2, m4 = 4, that is, when the reliability requirement is in the interval [0.9999, 0.99999], the corresponding value range of m is [2, 4];
[0132] In a specific example, P1 = 0.99999, P2 = 0.999999, m3 = m4 = 6, that is, when the reliability requirement is in the interval [0.99999, 0.999999], the corresponding value of m is m = 6;
[0133] In another specific example, the number of verification data packets m is not only related to the reliability requirement P, but also has a mapping relationship with the number of second source data packets k. For example, P1 = 0.999999, P2 = 0.9999999, m3 = m4 = k, that is, when the reliability requirement is in the interval [0.999999, 0.9999999], the corresponding value of m is m = k.
[0134] In one embodiment, when the third encoding parameter includes an erasure rate, step 110 may include, but is not limited to, determining a fourteenth mapping relationship between the erasure rate and the number of verification packets, and obtaining the number of verification packets based on the erasure rate and the fourteenth mapping relationship. The fourteenth mapping relationship is used to characterize the relationship between the number of verification packets and the erasure rate. By determining the fourteenth mapping relationship between the number of verification packets and the erasure rate, the number of verification packets, m, can be obtained based on the erasure rate and the fourteenth mapping relationship.
[0135] In one embodiment, when the third encoding parameter includes an erasure rate, the number of verification packets, m, is obtained based on the erasure rate. Specifically, a fourteenth mapping relationship, f:E→m, exists between the number of verification packets, m, and the erasure rate, E. The fourteenth mapping relationship includes, but is not limited to, a mapping formula, a mapping table, a mapping diagram, or other representations. In one example, the erasure rate represents the erasure rate of the encoded packets.
[0136] In one embodiment, a fourteenth mapping relationship is: when the erasure rate is in the interval [E1, E2], the corresponding number of verification packets is [m5, m6], where E1 and E2 are real numbers greater than 0 and less than 1, and E1 is less than or equal to E2; m5 and m6 are non-negative integers, and m5 is less than or equal to m6. In one example, a higher erasure rate corresponds to a larger number of verification packets.
[0137] In a specific example, E1 = 0.01, E2 = 0.1, m5 = 2, m6 = 6, that is, when the erasure rate is in the interval [0.01, 0.1], the corresponding value range of m is [2, 6];
[0138] In a specific example, E1 = 0.1, E2 = 0.2, m5 = 6, m6 = 10, that is, when the erasure rate is in the interval [0.1, 0.2], the corresponding value range of m is [6, 10];
[0139] In another specific example, the number of verification data packets m is not only related to the erasure rate E, but also has a mapping relationship with the number of second source data packets k. For example, E1=0.2, P2=0.5, m5=m6=k, that is, when the packet loss rate is in the interval [0.2,0.5], the corresponding value of m is m=k.
[0140] In one embodiment, when the third encoding parameter includes the number of second source data packets, reliability requirements, and erasure rate, step 110 may include but is not limited to: there is a fifteenth mapping relationship between at least two of the number of second source data packets, reliability requirements, and erasure rate and the number of verification data packets, and the number of verification data packets is obtained based on the at least two of the number of second source data packets, reliability requirements, and erasure rate and the fifteenth mapping relationship. The fifteenth mapping relationship is used to characterize the relationship between the number of verification data packets and at least two of the number of second source data packets, reliability requirements, and erasure rate. By determining the fifteenth mapping relationship between the number of verification data packets and at least two of the number of second source data packets, reliability requirements, and erasure rate, the number of verification data packets m can be obtained based on the at least two of the number of second source data packets, reliability requirements, and erasure rate and the fifteenth mapping relationship.
[0141] In one embodiment, when the third encoding parameter includes the number of second source data packets, a reliability requirement, and an erasure rate, the number of verification data packets, m, is obtained based on at least two of the number of second source data packets, the reliability requirement, and the erasure rate. That is, a fifteenth mapping relationship, f:(k, P, E)→m, exists between the number of verification data packets, m, and at least two of the number of second source data packets, k, the reliability requirement, P, and the erasure rate, E. The fifteenth mapping relationship includes, but is not limited to, representations in the form of a mapping formula, a mapping table, a mapping diagram, and the like.
[0142] In one embodiment, the fifteenth mapping relationship is: when the reliability requirement is in the interval [P3, P4] and the erasure rate is in the interval [E3, E4], the corresponding verification data packet number interval is Among them, P3 and P4 are real numbers greater than 0 and less than 1, and P3 is less than or equal to P4, E3 and E4 are real numbers greater than 0 and less than 1, and E3 is less than or equal to E4, y1 and y2 are real numbers greater than or equal to 0.1 and less than or equal to 7, and y1 is less than or equal to y2.
[0143] In a specific example, P3 = 0.99999, P4 = 0.999999, E3 = 0.01, E4 = 0.1, y1 = 0.5, y2 = 1, that is, when the reliability requirement is in the interval [0.99999, 0.999999] and the erasure rate is in the interval [0.01, 0.1], the corresponding value range of m is
[0144] In another specific example, P3=P4=0.999999, E3=E4=0.01, y1=y2=1, that is, when the reliability requirement is 0.999999 and the erasure rate is 0.01, the number of verification data packets is m=k.
[0145] In one embodiment, when the third encoding parameter includes the encoding rate and the second source data packet, step 110 may include but is not limited to: when determining the sixteenth mapping relationship between the number of verification data packets, the encoding rate, and the second source data packet, obtaining the number of verification data packets according to the encoding rate, the second source data packet, and the sixteenth mapping relationship. The sixteenth mapping relationship is used to characterize the relationship between the encoding rate, the second source data packet, and the number of verification data packets. By determining the mapping relationship between the number of verification data packets, the encoding rate, and the second source data packet, the number of verification data packets m can be obtained according to the encoding rate, the second source data packet, and the sixteenth mapping relationship. It can be ensured that an integer value m is obtained when the encoding rate and the second source data packet are determined.
[0146] In one embodiment, when the third encoding parameter includes the encoding rate and the second source data packet, the size of the verification data packet m is obtained based on the encoding rate R and the second source data packet k, that is, the number of verification data packets m and the encoding rate R and the second source data packet k have a sixteenth mapping relationship f:(R,k)→m. The sixteenth mapping relationship includes but is not limited to: a mapping formula, a mapping table, a mapping diagram, etc. In one example, the sixteenth mapping relationship is: or The above sixteenth mapping relationship is expressed as (1-R) multiplied by the ratio of R and k, and then rounded to the positive infinity direction. The minimum m' value is used as the number of verification packets m, but the number of verification packets m does not exceed the maximum allowable value m Max .
[0147] In a specific example, the encoding rate R=4 / 5, the number of second source data packets k=8, m Max =16, then the number of check packets m = 10 <m Max .
[0148] In another specific example, the encoding rate R=2 / 5, the number of second source data packets k=8, m Max =16, then since m'=20>m Max , check the number of data packets m = k Max =16.
[0149] In one embodiment, when the second encoding parameter includes channel state information and the number of second source data packets, the number of verification data packets in step 110 is further explained. When the channel quality is poor, the ratio of m to k is increased. The larger the ratio, the greater the redundancy, which can provide higher reliability. When the channel quality is good, the ratio of m to k is decreased. Even if redundancy is reduced, the throughput is improved while meeting reliability requirements. Step 110 may include, but is not limited to, at least one of the following:
[0150] When the channel state information of the second coding parameter includes channel quality indication information, when determining the seventeenth mapping relationship between the number of second source data packets and the channel quality indication information and the second source data packets, the number of verification data packets is obtained according to the channel quality indication information, the second source data packets and the seventeenth mapping relationship.
[0151] When the channel state information of the second coding parameter includes rank indication information, when determining the eighteenth mapping relationship between the number of second source data packets and the second source data packets and the rank indication information, the number of verification data packets is obtained according to the rank indication information, the second source data packets and the eighteenth mapping relationship.
[0152] When the channel state information of the second coding parameter includes precoding matrix indication information, when determining the nineteenth mapping relationship between the number of second source data packets and the second source data packets and the precoding matrix indication information, the number of verification data packets is obtained according to the precoding matrix indication information, the second source data packets and the nineteenth mapping relationship.
[0153] Among them, the seventeenth mapping relationship is used to characterize the relationship between the channel quality indication information, the second source data packet and the number of verification data packets; the eighteenth mapping relationship is used to characterize the relationship between the rank indication information, the second source data packet and the number of verification data packets; the nineteenth mapping relationship is used to characterize the relationship between the precoding matrix indication information, the second source data packet and the number of verification data packets.
[0154] In one embodiment, when the channel state information of the second coding parameter includes channel quality indication information, the number of verification data packets m is obtained according to the channel quality indication information and the number of second source data packets, that is, the number of verification data packets m and the number of second source data packets k and the channel quality indication information CQI index have a seventeenth mapping relationship f: (CQI, k) → m. The seventeenth mapping relationship includes but is not limited to: a mapping formula, a mapping table, a mapping diagram, and the like. In one example, the seventeenth mapping relationship can be represented by a mapping table, where m remains unchanged or increases as the k value increases, and m remains unchanged or increases as the CQI value decreases. A seventeenth mapping relationship is shown in Table 10. It can be understood that the content shown in Table 10 is a feasible example and should not be understood as a limitation to this embodiment. The content in the table may have other numerical forms.
[0155] Table 10: A mapping relationship table of the verification data packet quantity m value, the second source data packet quantity, and the channel quality indicator
[0156] In one embodiment, when the channel state information of the second coding parameter includes rank indication information, the number of check data packets m is obtained according to the rank indication information and the number of second source data packets, that is, the check data packet m and the number of second source data packets k and the rank indication information RI have an eighteenth mapping relationship f: (RI, k) → m. The eighteenth mapping relationship includes but is not limited to: a mapping formula, a mapping table, a mapping diagram, and the like. In one example, the eighteenth mapping relationship can be represented by a mapping table, where m remains unchanged or increases as the value of k increases, and m remains unchanged or increases as the value of RI decreases. An eighteenth mapping relationship is shown in Table 11. It can be understood that the content shown in Table 11 is a feasible example and should not be understood as a limitation to this embodiment. The content in the table may have other numerical forms.
[0157] Table 11: A mapping relationship table between the number of verification data packets m and the number of second source data packets and rank indication
[0158] In one embodiment, when the channel state information of the second coding parameter includes precoding matrix indication information, the number of check packets m is obtained according to the precoding matrix indication information and the number of second source packets, that is, the number of check packets and the number of second source packets k and the precoding matrix indication information PMI have an eighteenth mapping relationship f: (PMI, k) → m. The eighteenth mapping relationship includes but is not limited to: a mapping formula, a mapping table, a mapping diagram and the like. In one example, for a single-layer transmission with four antenna ports having transform precoding, the number of check packets is determined according to the number of second source packets and the precoding matrix indication index value. The eighteenth mapping relationship can be represented by a mapping table, m remains unchanged or increases as the k value increases, and m remains unchanged or increases as the PMI value decreases. An eighteenth mapping relationship is shown in Table 12. It can be understood that the content shown in Table 12 is a feasible example and should not be understood as a limitation to this embodiment. The content in the table can have other numerical forms.
[0159] Table 12 Relationship between the number of check packets m and the number of second source packets and precoding matrix indication
[0160] In one embodiment, the encoding matrix includes at least one of the following: a k*k first matrix; an m*k second matrix; wherein m and k are both positive integers, and the first matrix is a unit matrix.
[0161] In one embodiment, the encoding matrix G in step 120 includes but is not limited to one of the following features: a k*k first matrix and an m*k second matrix. FIG4 is a schematic diagram of an encoding matrix provided by one embodiment. As shown in FIG4, the first matrix 1201 is a unit matrix, wherein the second matrix 1202 is composed of elements g in the Galois field GF(q) i,j The first matrix 1201 and the second matrix 1202 together form a coding matrix 1200, where 0≤i≤m-1, 0≤j≤k-1. Here, q is a power of 2. In one example, q=2, and in another example, q=256.
[0162] In one embodiment, the second matrix has r rows of third matrices, each element in a 1*k matrix obtained by bitwise XORing elements of the r rows of the third matrix is equal to 1, and r is a positive integer.
[0163] In this embodiment, the second matrix has r rows of a third matrix, and each element in a 1*k matrix obtained by bitwise XORing the elements of the r rows of the third matrix is equal to 1. Where r is an integer greater than or equal to 1 and less than or equal to m, and the dimension of the third matrix is r*k.
[0164] In one embodiment, the second matrix included in the encoding matrix G contains a third matrix with r rows, where each element in a 1*k matrix obtained by bitwise XORing the elements of the third matrix in the r rows is equal to 1. Figure 5 is a schematic diagram of another encoding matrix provided by one embodiment. In one example, when r = 1, a feasible example is shown in Figure 5. The first matrix 1201 is a unit matrix, and the second matrix 1202 contains a row of 1*k matrices in which each element is equal to 1. The first matrix 1201 and the second matrix 1202 together constitute the encoding matrix 1200.
[0165] In one embodiment, the second matrix included in the encoding matrix G has a third matrix with r rows, wherein each element in the 1*k matrix obtained by bitwise XOR of the elements of the third matrix in the r rows is equal to 1. FIG6 is a schematic diagram of another encoding matrix provided by one embodiment. In one example, when r=2, a feasible example is shown in FIG6, wherein the first row of the second matrix 1202 is The first row of the second matrix 1202 is element 1. The first element is element 0, before the second row of 1202 The second row after element 0, 1202 The first matrix 1201 and the second matrix 1202 together constitute the encoding matrix 1200 .
[0166] In one embodiment, the second matrix included in the encoding matrix G has a third matrix with r rows, wherein each element in the 1*k matrix obtained by bitwise XOR of the elements of the r rows of the third matrix is equal to 1. In one example, r is equal to the number of links L from the first communication node to the second communication node shown in Figure 2, and the encoded data packet transmitted by the i-th link includes: the second source data packet corresponding to the element 1 of the i-th row of the third matrix, the check data packet generated by the i-th row of the third matrix, or 0 or more check data packets generated by the last mr rows of the third matrix.
[0167] In one embodiment, the number of links from the first communication node to the second communication node is L = r = 2, the number of second source data packets is k = 8, the number of check data packets is m = 8, the first four elements of the first row of the third matrix are 1, and the last four elements are 0, and the first four elements of the second row of the third matrix are 0, and the last four elements are 1. The check data packets transmitted by the first link include: the first four source data packets corresponding to the first row of the third matrix being 1, the check data packets generated by the first row of the third matrix, and zero or more check data packets generated by the last mr = 6 rows of the third matrix; the check data packets transmitted by the second link include: the last four source data packets corresponding to the second row of the third matrix being 1, the check data packets generated by the second row of the third matrix, and zero or more check data packets generated by the last mr = 6 rows of the third matrix.
[0168] In one embodiment, the second matrix has a fourth matrix with mr rows, the square matrix formed by the mr rows of the fourth matrix and any mr columns is full rank under a finite field, the dimension of the fourth matrix is (mr)*k, and the third matrix and the fourth matrix do not overlap.
[0169] In this embodiment, the second matrix included in the encoding matrix G contains a fourth matrix with mr rows, where the square matrix formed by the mr rows and any mr columns of the fourth matrix is full rank under the finite field GF(q), the dimension of the fourth matrix is (mr)*k, and the third matrix and the fourth matrix do not overlap. In one example, the fourth matrix includes, but is not limited to, being obtained from the following matrices: a Vandermonde matrix and a Cauchy matrix.
[0170] In one embodiment, the process of encoding the second source data packet S to obtain the encoded data packet D according to the number k of the second source data packets, the size T of the second source data packets, the number m of the check data packets, and the encoding matrix G includes but is not limited to: D = G * S. Wherein, the number n of the encoded data packets is equal to k + m, and the size of each encoded data packet is equal to T bytes. In one example, the process of encoding to obtain the encoded data packet D is as follows:
[0171] k second source data packets S=[s0,s1,...,s k-1], the size of each second source data packet is T, and after encoding, k+m encoded data packets D=[d0,d1,...,d k+m-1 ].
[0172] In one embodiment, each coded data packet has a unique index identifier, and the index is used to indicate a corresponding relationship between the coded data packet and a row number index of the coding matrix.
[0173] In this embodiment, each transmitted coded data packet has a unique index identifier. The index identifier is used to indicate the correspondence between the coded data packet and the index of the coding matrix row number. In one example, the index identifier of the coded data packet generated by the i-th row of the coding matrix is i-1. In a specific example, the index identifiers of the n coded data packets are [0, 1, 2, ..., n-1], respectively. In another example, the index identifier of the coded data packet generated by the i-th row of the coding matrix is i. In a specific example, the index identifiers of the n coded data packets are [1, 2, 3, ..., n], respectively.
[0174] In the above-mentioned data processing method, the sending end determines the number of second source data packets, the size of second source data packets and the number of check data packets according to pre-configured or coding parameters, and then encodes the second source data packets based on the determined number of second source data packets, the size of second source data packets, the number of check data packets and the coding matrix to obtain coded data, and transmits the coded data to the second communication node, so that the second communication node receives enough coded data packets for processing. That is, the sending end only sends the corresponding coded data to the second communication node, and the second receiving end only needs to receive k linearly independent coded data packets to effectively complete the decoding. Therefore, the delay caused by repeated sending of data packets can be avoided, thereby improving the reliability of data transmission while using less physical resource overhead.
[0175] FIG7 is a flow chart of a data processing method provided by an embodiment, which can be applied to a second communication node. As shown in FIG7 , the method provided by this embodiment includes:
[0176] In step 210, an encoded data packet is received, where the encoded data packet is obtained by encoding the second source data packet according to the number of second source data packets, the size of the second source data packet, the number of check data packets, and the encoding matrix.
[0177] In step 220, the second source data packet is restored according to the decoding matrix and the encoded data packet.
[0178] In step 230, a first source data packet is obtained according to the size of the first source data packet and the second source data packet.
[0179] In this embodiment, a second communication node receives an encoded data packet sent by a first communication node and processes the encoded data packet to obtain a first source data packet of the first communication node. The encoded data packet is obtained by the first communication node determining the number of second source data packets, the size of the second source data packets, and the number of check data packets according to preconfigured or encoding parameters, and then encoding the second source data packet based on the determined number of second source data packets, the size of the second source data packets, the number of check data packets, and the encoding matrix.
[0180] In one embodiment, the process of processing the received encoded data packet to obtain the first source data packet includes but is not limited to:
[0181] Determining a decoding matrix according to the index of the coded data packet;
[0182] Recovering a second source data packet of the first communication node according to the decoding matrix and the received coded data packet;
[0183] The first source data packet of the first communication node is obtained according to the size of the first source data packet and the recovered second source data packet.
[0184] In one embodiment, the first source data packet includes at least one of the following:
[0185] Data packets of the PDCP sublayer in the radio interface protocol stack;
[0186] Data packets of the RLC sublayer in the radio interface protocol stack;
[0187] Data packets of the MAC sublayer in the radio interface protocol stack;
[0188] Data packets at the physical layer in the radio interface protocol stack.
[0189] In one embodiment, the size of the second source data packet is determined according to the first control signaling; the first control signaling indicates the size of the second source data packet in at least one of the following ways: one or more bits; selected from a finite set.
[0190] In one embodiment, the number of bits belongs to [1, 16]; the finite set includes {2 t A subset of Byte|t∈[0,15]}.
[0191] In one embodiment, the size of the second source data packet is determined according to a first encoding parameter; the first encoding parameter includes at least one of the following: the size of the first source data packet; the number of second source data packets.
[0192] In one embodiment, the number of the second source data packets is determined based on a second control signaling; the second control signaling indicates the number of the second source data packets in at least one of the following ways: one or more bits; a value selected from a continuous integer range; a value selected from a finite set.
[0193] In one embodiment, the number of bits belongs to [1,7];
[0194] The continuous integer range is [k min ,k max ], k min is an integer and k min ∈[1,4], k max is an integer and k max ∈[10,32];
[0195] The finite set includes a subset of {1, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 32}.
[0196] In one embodiment, the number of second source data packets is determined based on a second encoding parameter; the second encoding parameter includes at least one of the following: first source data packet size, second source data packet size, encoding bit rate, channel state information, throughput, user equipment capability, network frequency range, application scenario; the channel state information includes at least one of the following: channel quality indication information, rank indication information, precoding matrix indication information.
[0197] In one embodiment, the number of check data packets is determined based on a third control signaling; the third control signaling indicates the number of check data packets in at least one of the following ways: one or more bits; selection from a continuous integer range; selection of a value from a finite set; equal to the number of second source data packets.
[0198] In one embodiment, the number of bits belongs to [1,7];
[0199] The continuous integer range is [m min ,m max ],m min is an integer and m min ∈[1,4],m max is an integer and k max ∈[10,128];
[0200] The finite set includes a subset of {1, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 32, 64, 128}.
[0201] In one embodiment, the number of verification data packets is determined according to a third encoding parameter; the third encoding parameter includes at least one of the following: the number of second source data packets, reliability requirements, erasure rate, encoding rate, and channel state information;
[0202] The channel state information includes at least one of the following: channel quality indication information, rank indication information, and precoding matrix indication information.
[0203] In one embodiment, the encoding matrix includes at least one of the following:
[0204] A k*k first matrix; an m*k second matrix; wherein m and k are both positive integers, and the first matrix is the identity matrix.
[0205] In one embodiment, the second matrix has r rows of third matrices, each element in a 1*k matrix obtained by bitwise XORing elements of the r rows of third matrices is equal to 1, and r is a positive integer.
[0206] In one embodiment, the second matrix has a fourth matrix with mr rows, the square matrix formed by the mr rows of the fourth matrix and any mr columns is full rank under a finite field, the dimension of the fourth matrix is (mr)*k, and the third matrix and the fourth matrix do not overlap.
[0207] In one embodiment, each of the encoded data packets has a unique index identifier, and the index is used to indicate a corresponding relationship between the encoded data packet and a row number index of the encoding matrix.
[0208] The present application also provides a data processing device. FIG8 is a schematic diagram of the structure of a data processing device provided by an embodiment. As shown in FIG8, the data processing device includes:
[0209] The determining module 310 is configured to determine the number of second source data packets, the size of the second source data packets, and the number of check data packets according to preconfigured or encoded parameters when the first source data packet is obtained;
[0210] An encoding module 320 is configured to encode the second source data packet according to the number of the second source data packets, the size of the second source data packet, the number of the check data packets, and an encoding matrix to obtain an encoded data packet;
[0211] The sending module 330 is configured to send the encoded data packet.
[0212] In one embodiment, the first source data packet includes at least one of the following:
[0213] Data packets of the PDCP sublayer in the radio interface protocol stack;
[0214] Data packets of the RLC sublayer in the radio interface protocol stack;
[0215] Data packets of the MAC sublayer in the radio interface protocol stack;
[0216] Data packets at the physical layer in the radio interface protocol stack.
[0217] In one embodiment, the size of the second source data packet is determined according to the first control signaling; the first control signaling indicates the size of the second source data packet in at least one of the following ways:
[0218] one or more bits;
[0219] Select from a finite set.
[0220] In one embodiment, the number of bits belongs to [1, 16];
[0221] The finite set includes {2 t A subset of Byte|t∈[0,15]}.
[0222] In one embodiment, the size of the second source data packet is determined according to the first encoding parameter;
[0223] The first encoding parameter includes at least one of the following: a first source data packet size; a second source data packet quantity.
[0224] In one embodiment, the number of the second source data packets is determined according to a second control signaling; the second control signaling indicates the number of the second source data packets in at least one of the following ways: one or more bits;
[0225] A value selected from a continuous range of integers;
[0226] A value selected from a finite set.
[0227] In one embodiment, the number of bits belongs to [1,7];
[0228] The continuous integer range is [k min ,k max ], k min is an integer and k min ∈[1,4], k max is an integer and k max ∈[10,32];
[0229] The finite set includes a subset of {1, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 32}.
[0230] In one embodiment, the number of the second source data packets is determined according to a second encoding parameter;
[0231] The second encoding parameter includes at least one of the following: first source data packet size, second source data packet size, encoding rate, channel state information, throughput, user equipment capability, network frequency range, and application scenario;
[0232] The channel state information includes at least one of the following: channel quality indication information, rank indication information, and precoding matrix indication information.
[0233] In one embodiment, the number of verification data packets is determined according to third control signaling; and the third control signaling indicates the number of verification data packets in at least one of the following ways:
[0234] one or more bits;
[0235] Select from a continuous range of integers;
[0236] Select values from a finite set;
[0237] Equal to the number of second source data packets.
[0238] In one embodiment, the number of bits belongs to [1,7];
[0239] The continuous integer range is [m min ,m max ],m min is an integer and m min ∈[1,4],m max is an integer and k max ∈[10,128];
[0240] The finite set includes a subset of {1, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 32, 64, 128}.
[0241] In one embodiment, the number of verification packets is determined based on a third encoding parameter;
[0242] The third encoding parameter includes at least one of the following: the number of second source data packets, reliability requirements, erasure rate, encoding rate, and channel state information;
[0243] The channel state information includes at least one of the following: channel quality indication information, rank indication information, and precoding matrix indication information.
[0244] In one embodiment, the encoding matrix includes at least one of the following:
[0245] A k*k first matrix; an m*k second matrix; wherein m and k are both positive integers, and the first matrix is the identity matrix.
[0246] In one embodiment, the second matrix has r rows of third matrices, each element in a 1*k matrix obtained by bitwise XORing elements of the r rows of third matrices is equal to 1, and r is a positive integer.
[0247] In one embodiment, the second matrix has a fourth matrix with mr rows, the square matrix formed by the mr rows of the fourth matrix and any mr columns is full rank under a finite field, the dimension of the fourth matrix is (mr)*k, and the third matrix and the fourth matrix do not overlap.
[0248] In one embodiment, each of the encoded data packets has a unique index identifier, and the index is used to indicate a corresponding relationship between the encoded data packet and a row number index of the encoding matrix.
[0249] The data processing device proposed in this embodiment and the data processing method proposed in the above embodiment belong to the same inventive concept. Technical details not fully described in this embodiment can be referred to any of the above embodiments, and this embodiment has the same beneficial effects as executing the data processing method.
[0250] The present application also provides a data processing device. FIG9 is a schematic diagram of the structure of a data processing device provided by an embodiment. As shown in FIG9, the data processing device includes:
[0251] A receiving module 410 is configured to receive a coded data packet, wherein the coded data packet is obtained by encoding the second source data packet according to the number of second source data packets, the size of the second source data packet, the number of check data packets, and the coding matrix;
[0252] A second source data packet determining module 420 is configured to recover the second source data packet according to a decoding matrix and the coded data packet;
[0253] The first source data packet determining module 430 is configured to obtain the first source data packet according to the size of the first source data packet and the second source data packet.
[0254] In one embodiment, the first source data packet includes at least one of the following:
[0255] Data packets of the PDCP sublayer in the radio interface protocol stack;
[0256] Data packets of the RLC sublayer in the radio interface protocol stack;
[0257] Data packets of the MAC sublayer in the radio interface protocol stack;
[0258] Data packets at the physical layer in the radio interface protocol stack.
[0259] In one embodiment, the size of the second source data packet is determined according to the first control signaling; the first control signaling indicates the size of the second source data packet in at least one of the following ways:
[0260] one or more bits;
[0261] Select from a finite set.
[0262] In one embodiment, the number of bits belongs to [1, 16];
[0263] The finite set includes {2 t A subset of Byte|t∈[0,15]}.
[0264] In one embodiment, the size of the second source data packet is determined according to the first encoding parameter;
[0265] The first encoding parameter includes at least one of the following: a first source data packet size; a second source data packet quantity.
[0266] In one embodiment, the number of the second source data packets is determined according to a second control signaling; the second control signaling indicates the number of the second source data packets in at least one of the following ways: one or more bits;
[0267] A value selected from a continuous range of integers;
[0268] A value selected from a finite set.
[0269] In one embodiment, the number of bits belongs to [1,7];
[0270] The continuous integer range is [k min ,k max ], k min is an integer and k min ∈[1,4], k max is an integer and k max ∈[10,32];
[0271] The finite set includes a subset of {1, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 32}.
[0272] In one embodiment, the number of the second source data packets is determined according to a second encoding parameter;
[0273] The second encoding parameter includes at least one of the following: first source data packet size, second source data packet size, encoding rate, channel state information, throughput, user equipment capability, network frequency range, and application scenario;
[0274] The channel state information includes at least one of the following: channel quality indication information, rank indication information, and precoding matrix indication information.
[0275] In one embodiment, the number of verification data packets is determined according to third control signaling; and the third control signaling indicates the number of verification data packets in at least one of the following ways:
[0276] one or more bits;
[0277] Select from a continuous range of integers;
[0278] Select values from a finite set;
[0279] Equal to the number of second source data packets.
[0280] In one embodiment, the number of bits belongs to [1,7];
[0281] The continuous integer range is [m min ,m max ],m min is an integer and m min ∈[1,4],m max is an integer and k max ∈[10,128];
[0282] The finite set includes a subset of {1, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 32, 64, 128}.
[0283] In one embodiment, the number of verification packets is determined based on a third encoding parameter;
[0284] The third encoding parameter includes at least one of the following: the number of second source data packets, reliability requirements, erasure rate, encoding rate, and channel state information;
[0285] The channel state information includes at least one of the following: channel quality indication information, rank indication information, and precoding matrix indication information.
[0286] In one embodiment, the encoding matrix includes at least one of the following:
[0287] A k*k first matrix; an m*k second matrix; wherein m and k are both positive integers, and the first matrix is the identity matrix.
[0288] In one embodiment, the second matrix has r rows of third matrices, each element in a 1*k matrix obtained by bitwise XORing elements of the r rows of third matrices is equal to 1, and r is a positive integer.
[0289] In one embodiment, the second matrix has a fourth matrix with mr rows, the square matrix formed by the mr rows of the fourth matrix and any mr columns is full rank under a finite field, the dimension of the fourth matrix is (mr)*k, and the third matrix and the fourth matrix do not overlap.
[0290] In one embodiment, each of the encoded data packets has a unique index identifier, and the index is used to indicate a corresponding relationship between the encoded data packet and a row number index of the encoding matrix.
[0291] The data processing device proposed in this embodiment and the data processing method proposed in the above embodiment belong to the same inventive concept. Technical details not fully described in this embodiment can be referred to any of the above embodiments, and this embodiment has the same beneficial effects as executing the data processing method.
[0292] An embodiment of the present application also provides a communication node. Figure 10 is a schematic diagram of the hardware structure of a communication node provided by an embodiment. As shown in Figure 10, the communication node provided by the present application includes a processor 510 and a memory 520; the processor 510 in the communication node can be one or more, and Figure 10 takes one processor 510 as an example; the memory 520 is configured to store one or more programs; the one or more programs are executed by the one or more processors 510, so that the one or more processors 510 implement the data processing method as described in the embodiment of the present application.
[0293] The communication node further includes: a communication device 530 , an input device 540 and an output device 550 .
[0294] The processor 510, memory 520, communication device 530, input device 540 and output device 550 in the communication node may be connected via a bus or other means. FIG10 takes the bus connection as an example.
[0295] The input device 540 may be used to receive input digital or character information and generate key signal input related to user settings and function control of the communication node. The output device 550 may include a display device such as a display screen.
[0296] The communication device 530 may include a receiver and a transmitter. The communication device 530 is configured to perform information transmission and reception communication according to the control of the processor 510.
[0297] The memory 520, as a computer-readable storage medium, can be configured to store software programs, computer executable programs, and modules, such as program instructions / modules corresponding to the data processing method described in the embodiment of the present application (for example, the determination module 310, the encoding module 320, and the sending module 330 in the data processing device). The memory 520 may include a program storage area and a data storage area, wherein the program storage area may store an operating system, an application required for at least one function; the data storage area may store data created according to the use of the communication node, etc. In addition, the memory 520 may include a high-speed random access memory, and may also include a non-volatile memory, such as at least one disk storage device, a flash memory device, or other non-volatile solid-state storage device. In some instances, the memory 520 may further include a memory remotely arranged relative to the processor 510, and these remote memories may be connected to the communication node via a network. Examples of the above-mentioned network include, but are not limited to, the Internet, an intranet, a local area network, a mobile communication network, and combinations thereof.
[0298] The embodiment of the present application also provides a storage medium, which stores a computer program, and when the computer program is executed by a processor, it implements the data processing method described in any one of the embodiments of the present application. The method includes: when a first source data packet is obtained, determining the number of second source data packets, the size of the second source data packet and the number of check data packets according to preconfigured or encoding parameters; encoding the second source data packet according to the number of the second source data packets, the size of the second source data packet, the number of check data packets and the encoding matrix to obtain an encoded data packet; and sending the encoded data packet. Alternatively, the method includes: receiving an encoded data packet, the encoded data packet is encoded according to the number of second source data packets, the size of the second source data packet, the number of check data packets and the encoding matrix to obtain the second source data packet; restoring the second source data packet according to the decoding matrix and the encoded data packet; obtaining the first source data packet according to the size of the first source data packet and the second source data packet.
[0299] The computer storage medium of the embodiment of the present application can adopt any combination of one or more computer-readable media.Computer-readable media can be computer-readable signal media or computer-readable storage media.Computer-readable storage media can be, for example, but not limited to: electrical, magnetic, optical, electromagnetic, infrared, or semiconductor systems, devices or devices, or any combination of the above.More specific examples (non-exhaustive list) of computer-readable storage media include: electrical connections with one or more wires, portable computer disks, hard disks, random access memories (RAM), read-only memories (ROM), erasable programmable read-only memories (EPROM), flash memories, optical fibers, portable CD-ROMs, optical storage devices, magnetic storage devices, or any suitable combination of the above.Computer-readable storage media can be any tangible medium containing or storing a program, which can be used by an instruction execution system, device or device or used in combination with it.
[0300] A computer-readable signal medium may include a data signal propagated in baseband or as part of a carrier wave, carrying computer-readable program code. Such a propagated data signal may take a variety of forms, including but not limited to electromagnetic signals, optical signals, or any suitable combination thereof. A computer-readable signal medium may also be any computer-readable medium other than a computer-readable storage medium that can transmit, propagate, or transport a program for use by or in conjunction with an instruction execution system, apparatus, or device.
[0301] The program code contained on the computer-readable medium may be transmitted using any appropriate medium, including but not limited to wireless, wire, optical cable, radio frequency (RF), etc., or any suitable combination of the foregoing.
[0302] The computer program code for performing the operations of the present application can be written in one or more programming languages or a combination thereof, including object-oriented programming languages such as Java, Smalltalk, C++, and conventional procedural programming languages such as "C" or similar programming languages. The program code can be executed entirely on the user's computer, partially on the user's computer, as an independent software package, partially on the user's computer and partially on a remote computer, or entirely on a remote computer or server. In the case of a remote computer, the remote computer can be connected to the user's computer through any type of network, including a local area network (LAN) or a wide area network (WAN), or can be connected to an external computer (e.g., using an Internet service provider to connect via the Internet).
[0303] The above description is merely an exemplary embodiment of the present application and is not intended to limit the scope of protection of the present application.
[0304] It will be understood by those skilled in the art that the term user terminal covers any suitable type of wireless user equipment, such as a mobile phone, a portable data processor, a portable web browser or a vehicle-mounted mobile station.
[0305] In general, various embodiments of the present application may be implemented in hardware or dedicated circuits, software, logic, or any combination thereof. For example, some aspects may be implemented in hardware, while other aspects may be implemented in firmware or software that can be executed by a controller, microprocessor, or other computing device, although the present application is not limited thereto.
[0306] Embodiments of the present application may be implemented by executing computer program instructions by a data processor of a mobile device, for example, in a processor entity, or by hardware, or by a combination of software and hardware. The computer program instructions may be assembly instructions, instruction set architecture (ISA) instructions, machine instructions, machine-dependent instructions, microcode, firmware instructions, state setting data, or source code or object code written in any combination of one or more programming languages.
[0307] The block diagram of any logical flow in the drawings of this application may represent program steps, or may represent interconnected logical circuits, modules and functions, or may represent a combination of program steps and logical circuits, modules and functions. A computer program may be stored on a memory. The memory may be of any type suitable for the local technical environment and may be implemented using any suitable data storage technology, such as but not limited to read-only memory (ROM), random access memory (RAM), optical storage devices and systems (digital versatile discs (DVD) or compact disks (CD), etc.). Computer-readable media may include non-transitory storage media. The data processor may be of any type suitable for the local technical environment, such as but not limited to a general-purpose computer, a special-purpose computer, a microprocessor, a digital signal processor (DSP), an application-specific integrated circuit (ASIC), a field-programmable gate array (FPGA), and a processor based on a multi-core processor architecture.
[0308] The above description of exemplary embodiments of the present application has been provided by way of exemplary and non-limiting examples. However, various modifications and adaptations of the above embodiments will be apparent to those skilled in the art, when considered in conjunction with the accompanying drawings and the appended claims, without departing from the scope of the present application. Therefore, the proper scope of the present application will be determined by reference to the appended claims.
Claims
1. A data processing method, comprising: When the first source data packet is obtained, determining the number of second source data packets, the size of the second source data packet and the number of check data packets according to preconfigured or encoded parameters; Encoding the second source data packet according to the number of the second source data packets, the size of the second source data packet, the number of the verification data packets and the encoding matrix to obtain an encoded data packet; The encoded data packet is sent.
2. The method according to claim 1, wherein: The first source data packet includes at least one of the following: Data packets of the Packet Data Convergence Protocol (PDCP) sublayer in the radio interface protocol stack; Data packets of the radio link control RLC sublayer in the radio interface protocol stack; Data packets of the media access control MAC sublayer in the radio interface protocol stack; Data packets at the physical layer in the radio interface protocol stack.
3. The method according to claim 1, wherein: The size of the second source data packet is determined according to the first control signaling; the first control signaling indicates the size of the second source data packet in at least one of the following ways: at least one bit; Select from a finite set.
4. The method according to claim 3, wherein: The number of bits belongs to [1,16]; The finite set includes {2 t A subset of Byte|t∈[0,15]}.
5. The method according to claim 1, wherein: The size of the second source data packet is determined according to the first encoding parameter; The first encoding parameter includes at least one of the following: a first source data packet size; a second source data packet quantity.
6. The method according to claim 1, wherein: The number of the second source data packets is determined according to the second control signaling; the second control signaling indicates the number of the second source data packets in at least one of the following ways: at least one bit; A value selected from a continuous range of integers; A value selected from a finite set.
7. The method according to claim 6, wherein: The number of bits belongs to [1,7]; The continuous integer range is [k min ,k max ],k min is an integer and k min ∈[1,4], k max is an integer and k max ∈[10,32]; The finite set includes a subset of {1, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 32}.
8. The method according to claim 1, wherein: The number of the second source data packets is determined according to a second encoding parameter; The second encoding parameter includes at least one of the following: the first source data packet size, the second source data packet size, the encoding rate, the channel state information, the throughput, the user equipment capability, the network frequency range, and the application scenario; The channel state information includes at least one of the following: channel quality indication information, rank indication information, and precoding matrix indication information.
9. The method according to claim 1, wherein: The number of verification data packets is determined according to a third control signaling; the third control signaling indicates the number of verification data packets in at least one of the following ways: at least one bit; Select from a continuous range of integers; Select values from a finite set; The number is equal to that of the second source data packets.
10. The method according to claim 9, wherein: The number of bits belongs to [1,7]; The continuous integer range is [m min ,m max ],m min is an integer and m min ∈[1,4],m max is an integer and k max ∈[10,128]; The finite set includes a subset of {1, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 32, 64, 128}.
11. The method according to claim 1, wherein: The number of verification data packets is determined according to a third encoding parameter; The third encoding parameter includes at least one of the following: the number of the second source data packets, reliability requirements, erasure rate, encoding rate, and channel state information; The channel state information includes at least one of the following: channel quality indication information, rank indication information, and precoding matrix indication information.
12. The method according to claim 1, wherein: The encoding matrix includes at least one of the following: A k*k first matrix; an m*k second matrix; wherein m and k are both positive integers, and the first matrix is a unit matrix.
13. The method according to claim 12, wherein: The second matrix has r rows of third matrices, and each element in a 1*k matrix obtained by bitwise XOR of elements in the r rows of the third matrix is equal to 1, and r is a positive integer.
14. The method according to claim 13, wherein: The second matrix has a fourth matrix with mr rows, the square matrix formed by the mr rows of the fourth matrix and any mr columns is full rank under a finite field, the dimension of the fourth matrix is (mr)*k, and the third matrix does not overlap with the fourth matrix.
15. The method according to claim 1, wherein: Each of the coded data packets has a unique index identifier, and the index is used to indicate the corresponding relationship between the coded data packet and the row number index of the coding matrix.
16. A data processing method, comprising: receiving a coded data packet, wherein the coded data packet is obtained by encoding the second source data packet according to the number of second source data packets, the size of the second source data packet, the number of check data packets and the coding matrix; Recover the second source data packet according to the decoding matrix and the coded data packet; A first source data packet is obtained according to the size of the first source data packet and the second source data packet.
17. A communication node, comprising: memory, and at least one processor; The memory is configured to store at least one program; When the at least one program is executed by the at least one processor, the at least one processor implements the data processing method according to any one of claims 1 to 16.
18. A computer-readable storage medium having a computer program stored thereon, wherein: When the program is executed by a processor, the data processing method as described in any one of claims 1 to 16 is implemented.
Citation Information
Patent Citations
Data transmission method and apparatus
CN101494517A
Method, apparatus and system for forward error correction
CN101877620A
Data recovery method and system
CN115269258A
Communication method and device and readable storage medium
CN115473607A
Calculation and cache-friendly efficient Reed-Solomon code coding method
CN115865105A