CN106464503B - Data transmission method and device - Google Patents

Data transmission method and device Download PDF

Info

Publication number
CN106464503B
CN106464503B CN201480078314.1A CN201480078314A CN106464503B CN 106464503 B CN106464503 B CN 106464503B CN 201480078314 A CN201480078314 A CN 201480078314A CN 106464503 B CN106464503 B CN 106464503B
Authority
CN
China
Prior art keywords
sending
data packets
data packet
codebook
receiving end
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201480078314.1A
Other languages
Chinese (zh)
Other versions
CN106464503A (en
Inventor
张力学
朱松
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
SHAANXI JIANFENG SHENGDA AEROSPACE TECHNOLOGY Co.,Ltd.
Original Assignee
Shaanxi Jianfeng Shengda Aerospace Technology Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shaanxi Jianfeng Shengda Aerospace Technology Co ltd filed Critical Shaanxi Jianfeng Shengda Aerospace Technology Co ltd
Publication of CN106464503A publication Critical patent/CN106464503A/en
Application granted granted Critical
Publication of CN106464503B publication Critical patent/CN106464503B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/08Allotting numbers to messages; Counting characters, words or messages

Abstract

The invention provides a semi-static scheduling method of fountain, which achieves the purpose of saving feedback resources by providing a data transmission method and feeding back the receiving condition after sending data packets for many times, and provides a corresponding coding algorithm and a corresponding decoding algorithm to construct redundant data, and a receiving end can also reconstruct the required original data packet by utilizing the redundancy of the data under the condition of losing a certain amount of data packets.

Description

Data transmission method and device
Technical Field
The embodiment of the invention relates to the technical field of communication, in particular to a data transmission method and device.
Background
With the development of communication technology, data information transmission via network has become an important way for people to exchange information, and the size of data transmission is increasing. In the application process of large-scale data transmission or reliable broadcast/multicast services, the problem of data transmission blocking usually exists.
In the prior art, a common Mobile communication network, such as long Term Evolution (L ong Term Evolution, abbreviated as L TE), Universal Mobile Telecommunications System (Universal Mobile Telecommunications System, abbreviated as UMTS), and short-range wireless communication technologies Wi-Fi and bluetooth, generally solves the problem of congestion in data transmission by using a fountain code encoding method, in which original data is divided into a plurality of data packets at a transmitting end, the data packets may be encoded to generate new encoded packets, and a receiving end may recover the original data through a decoding algorithm as long as receiving a certain number of encoded packets, which is characterized in that the redundancy of the new encoded packets is determined, and the receiving end may reconstruct the original data even if there is packet loss in a channel.
Disclosure of Invention
The embodiment of the invention provides a data transmission method, which feeds back the receiving condition after sending data packets for multiple times so as to achieve the purpose of saving feedback resources.
In a first aspect, a data transmission method is provided, including obtaining at least two first data packets, where the first data packets include information to be sent to a receiving end, and each first data packet has a first length; determining a sending number according to the number of the first data packets, wherein the sending number is the number of the first data packets sent to the receiving end, and the sending number is larger than 2 and smaller than the number of the first data packets; sending the plurality of first data packets to a receiving end according to the sending number; receiving a feedback message sent by the receiving end, wherein the feedback message carries indication information for continuously sending a data packet; obtaining the remaining sending quantity according to the indication information of the data packets to be sent continuously, wherein the remaining sending quantity is the quantity of the first data packets sent continuously by the sending end to the receiving end, and the remaining sending quantity is the difference value between the sending quantity and the quantity of the first data packets received by the receiving end; and sending the first data packets with the residual sending quantity to a receiving end.
In a first possible implementation manner of the first aspect, the plurality of first data packets are sent to a receiving end according to the sending number; receiving the feedback message of the receiving end includes: and acquiring the periodic transmission quantity, and receiving the feedback message of the receiving end after the periodic transmission quantity of first data packets is transmitted each time.
In a second possible implementation manner of the first aspect, before receiving the feedback message sent by the receiving end, the method further includes: and sending a feedback control message to the receiving end, wherein the feedback control message is used for informing the receiving end to send the feedback message.
In a third possible implementation manner of the first aspect, the indication information for continuing to send the data packet includes a remaining sending number; and/or: the indication information for continuously sending the data packets comprises the number of the first data packets correctly received by the receiving end; and/or the indication information of the data packet which is continuously sent comprises the number of the first data packets which cannot be correctly received by the receiving end; and/or: the indication information for continuously sending the data packets includes a ratio or a ratio of the number of the first data packets correctly received by the receiving end to the number of the first data packets sent by the sending end.
In a fourth possible implementation manner of the first aspect, when the obtained remaining number of transmissions is zero, the transmission of the first data packet is stopped.
In a fifth possible implementation manner of the first aspect, the obtaining at least two first data packets includes: the method comprises the steps of obtaining at least one original data packet, determining a cutting length, cutting the original data packet into at least two second data packets according to the cutting length, wherein the dimension of each second data packet is the cutting length; acquiring a first codebook, selecting codebook vectors with the same number as that of second data packets from the first codebook, wherein the dimensionality of the codebook vectors is equal to that of the second data packets, and multiplying each second data packet by the corresponding codebook vector to obtain a first data packet.
In a sixth possible implementation manner of the first aspect, a location identifier of a codebook vector corresponding to the first data packet in the first codebook is determined; when a first data packet is sent to a receiving end, the indication information of the position identification corresponding to the first data packet is sent.
In a seventh possible implementation manner of the first aspect, the sending the indication information of the location identifier corresponding to the first data packet includes: determining a system frame number according to the corresponding relation between the position identifier and the system frame number and the position identifier of the codebook vector corresponding to the first data packet in the first codebook, wherein the system frame number indicates the number of a sub-period in a second period, the sub-period corresponding to the system frame number is used for sending the first data packet, and the system frame number is used as the indicating information of the position identifier corresponding to the first data packet; the at least two first data packets are transmitted in at least two first periods, the first period comprises at least two second periods, the second period comprises at least two sub-periods, the number of the sub-periods included in all the second periods is equal, and one first data packet can be transmitted in each sub-period.
In an eighth possible implementation manner of the first aspect, the obtaining the first codebook includes receiving the first codebook; or setting the first codebook according to a second data packet, and sending the first codebook to a receiving end.
In a ninth possible implementation manner of the first aspect, the correspondence between the location identifier and the system frame number is a relationship between the location identifier Coefficient and the system frame number SFN, and satisfies:
Coefficient=function(SFN,Previous Reference)
the Previous Reference is an integer, which is initially 0 and is automatically incremented every first cycle.
A second aspect provides a data transmission method, which obtains a sending number, where the sending number is a number of first data packets sent by a sending end to a receiving end, and the first sending number is greater than 2 and smaller than the number of the first data packets; receiving the first data packets, wherein the first data packets contain information to be sent to a receiving end, and each first data packet has a first length; determining a feedback message according to the sending number and the number of the correctly received first data packets, wherein the feedback message carries indication information for continuously sending the first data packets; sending the feedback message to a sending end, and informing the sending end of continuing sending the first data packets with the residual quantity according to the indication information of the continuing sending data packets, wherein the residual quantity is the difference value between the sending quantity and the quantity of the first data packets received by a receiving end; and receiving the first data packets with the remaining sending quantity.
In a first possible implementation manner of the second aspect, the first data packet is received according to the sending number; and sending the feedback message to a sending end, wherein the sending end obtains the periodic receiving quantity, and after receiving the first data packets of the periodic sending quantity each time, the sending end sends the feedback message.
In a second possible implementation manner of the second aspect, before sending the feedback message to the sending end, the method further includes:
and receiving a feedback control message, and sending the feedback message according to the feedback control message.
In a third possible implementation manner of the second aspect, the indication information for continuing to send the data packet includes a remaining sending number; and/or the indication information of the data packet which is continuously sent contains the number of the first data packets which are correctly received by the receiving end; and/or the indication information of the data packet which is continuously sent comprises the number of the first data packets which cannot be correctly received by the receiving end; and/or the indication information of the continuous sending data packets comprises the ratio or the ratio of the number of the first data packets correctly received by the receiving end to the number of the first data packets sent by the sending end.
In a fourth possible implementation manner of the second aspect, the sending the feedback message with indication information of continuing sending the data packet includes: and feeding back the residual sending quantity to be zero when the sending end is determined not to be required to continuously send the first data packet.
In a fifth possible implementation manner of the second aspect, the method includes: acquiring a first codebook, wherein the first codebook comprises a plurality of codebook vectors and is used for decoding a first data packet; when a first data packet sent by a sending end is received, receiving position identification indicating information corresponding to the first data packet, wherein the position identification indicating information is used for determining a position identification of a codebook vector corresponding to the first data packet in a first codebook, and acquiring the codebook vector corresponding to the first data packet from the first codebook according to the position identification; acquiring at least two second data packets according to the received first data packets and corresponding codebook vectors, wherein the dimensionality of each second data packet is the cutting length; and combining the second data packets into an original data packet, wherein the original data packet contains information to be sent to a receiving end.
In a sixth possible implementation manner of the second aspect, the receiving the location identifier indication information corresponding to the first data packet includes: the position identification indication information corresponding to the first data packet is a corresponding relation between a position identification and a system frame number and a position identification of a codebook vector corresponding to the first data packet in the first codebook, the system frame number indicates a number of a sub-cycle in a second cycle, the sub-cycle corresponding to the system frame number is used for sending the first data packet, and the system frame number is used as indication information of the position identification corresponding to the first data packet; the at least two first data packets are transmitted in at least two first periods, the first period comprises at least two second periods, the second period comprises at least two sub-periods, the number of the sub-periods included in all the second periods is equal, and one first data packet can be transmitted in each sub-period.
In a seventh possible implementation manner of the second aspect, the obtaining the first codebook includes: receiving and acquiring a first codebook; or determining the first codebook according to a predefined mode, and sending the first codebook to a sending end, so that the sending end can encode the original data packet according to the first codebook.
In an eighth possible implementation manner of the second aspect, the correspondence between the location identifier and the system frame number is a relationship between the location identifier Coefficient and the system frame number SFN, and satisfies:
Coefficient=function(SFN,Previous Reference)
the Previous Reference is an integer, which is initially 0 and is automatically incremented every first cycle.
A third aspect provides a data transmission apparatus, including a first obtaining unit, configured to obtain at least two first data packets, where the first data packets include information to be sent to a receiving end, and each first data packet has a first length;
a first determining unit, configured to determine a sending number according to a number of first data packets, where the sending number is a number of first data packets sent to the receiving end, and the sending number is greater than 2 and smaller than the number of first data packets;
a first sending unit, configured to send the plurality of first data packets to a receiving end according to the sending number;
a first receiving unit, configured to receive a feedback message sent by the receiving end, where the feedback message carries indication information for continuing to send a data packet;
the signal processing unit is used for obtaining the residual sending quantity according to the indication information of the data packets to be sent continuously, wherein the residual sending quantity is the quantity of the first data packets which are sent continuously by the sending end to the receiving end, and the residual sending quantity is the difference value between the sending quantity and the quantity of the first data packets received by the receiving end;
the first sending unit is further configured to send the first data packets with the remaining sending number to the receiving end.
In a first possible implementation manner of the third aspect, the first obtaining unit is further configured to obtain a periodic transmission number, and receive the feedback message of the receiving end after the periodic transmission number of first data packets is sent each time.
In a second possible implementation manner of the third aspect, the first sending unit is further configured to send a feedback control message to the receiving end, where the feedback control message is used to notify the receiving end to send the feedback message.
In a third possible implementation manner of the third aspect, the indication information for continuing to send the data packet includes a remaining sending number; and/or the indication information of the data packet which is continuously sent contains the number of the first data packets which are correctly received by the receiving end; and/or the indication information of the data packet which is continuously sent comprises the number of the first data packets which cannot be correctly received by the receiving end; and/or the indication information of the continuous sending data packets comprises the ratio or the ratio of the number of the first data packets correctly received by the receiving end to the number of the first data packets sent by the sending end.
In a fourth possible implementation manner of the third aspect, the first sending unit is further configured to: and when the obtained remaining sending number is zero, stopping sending the first data packet.
In a fifth possible implementation manner of the third aspect, the first obtaining unit includes:
the second acquisition unit is used for acquiring at least one original data packet, and the original data packet contains information to be sent to a receiving end;
a second determining unit, configured to determine a cutting length, and cut the original data packet into at least two second data packets according to the cutting length, where the dimension of each second data packet is the cutting length;
a third acquiring unit configured to acquire the first codebook;
a selection unit configured to select codebook vectors from a first codebook, the codebook vectors having the same number as that of a second packet and having the same dimensionality as that of the second packet,
and the multiplier is used for multiplying each second data packet by the corresponding codebook vector respectively to obtain a first data packet.
In a sixth possible implementation manner of the third aspect, the apparatus includes a fourth obtaining unit, configured to determine a location identifier of a codebook vector corresponding to the first data packet in the first codebook;
the first sending unit is further configured to send, when sending a first data packet to a receiving end, indication information of a location identifier corresponding to the first data packet.
In a seventh possible implementation manner of the third aspect, the apparatus includes a fifth obtaining unit, configured to determine a location identifier of a codebook vector corresponding to a first data packet in the first codebook;
a third determining unit, configured to determine a system frame number according to a correspondence between the position identifier and the system frame number and a position identifier, in the first codebook, of a codebook vector corresponding to a first data packet, where the system frame number indicates a number of a sub-cycle in a second cycle, and the sub-cycle corresponding to the system frame number is used to send the first data packet; the at least two first data packets are transmitted in at least two first periods, the first period comprises at least two second periods, the second period comprises at least two sub-periods, the number of the sub-periods included in all the second periods is equal, and one first data packet can be transmitted in each sub-period.
In an eighth possible implementation manner of the third aspect, the third obtaining unit further includes:
a second receiving unit configured to receive the first codebook; or
A setting unit configured to set the first codebook according to a second packet; and the second sending unit is used for sending the first codebook to a receiving end.
In a ninth possible implementation manner of the third aspect, the corresponding relationship between the location identifier Coefficient and the system frame number SFN is:
Coefficient=function(SFN,Previous Reference)
the Previous Reference is an integer, which is initially 0 and is automatically incremented every first cycle.
A fourth aspect provides a data transmission apparatus, including a first obtaining unit, configured to obtain a sending number, where the sending number is a number of first data packets sent by a sending end to a receiving end, and the first sending number is greater than 2 and smaller than the number of the first data packets;
a first receiving unit, configured to receive the first data packets, where the first data packets include information to be sent to a receiving end, and each first data packet has a first length;
a first determining unit, configured to determine a feedback message according to the sending number and the number of correctly received first data packets, where the feedback message carries indication information for continuing to send the first data packets;
a first sending unit, configured to send the feedback message to a sending end, and notify the sending end to continue sending a remaining number of first data packets according to the indication information of the data packets to be sent continuously, where the remaining sending number is a difference between the sending number and a number of first data packets received by a receiving end;
the first receiving unit is further configured to receive the first data packets with the remaining sending number.
In a first possible implementation manner of the fourth aspect, the first sending unit sends a feedback message to the sending end after receiving a number of first data packets sent periodically each time.
In a second possible implementation manner of the fourth aspect, the first receiving unit is further configured to receive a feedback control message, and the second sending unit sends the feedback message according to the feedback control message.
In a third possible implementation manner of the fourth aspect, the indication information for continuing to send the data packet includes a remaining sending number; and/or:
the indication information for continuously sending the data packets comprises the number of the first data packets correctly received by the receiving end; and/or
The indication information of the continuously sent data packets comprises the number of the first data packets which cannot be correctly received by the receiving end; and/or:
the indication information for continuously sending the data packets includes a ratio or a ratio of the number of the first data packets correctly received by the receiving end to the number of the first data packets sent by the sending end.
In a fourth possible implementation manner of the fourth aspect, the first determining unit is further configured to: and feeding back the residual sending quantity to be zero when the sending end is determined not to be required to continuously send the first data packet.
In a fifth possible implementation manner of the fourth aspect, the apparatus includes a third obtaining unit, configured to obtain a first codebook, where the first codebook includes multiple codebook vectors and is used to perform a decoding operation on a first data packet;
the first receiving unit is configured to receive, when receiving a first data packet sent by a sending end, location identifier indication information corresponding to the first data packet, where the location identifier indication information is used to determine a location identifier of a codebook vector corresponding to the first data packet in the first codebook;
the third obtaining unit is further configured to obtain a codebook vector corresponding to the first data packet from a first codebook according to the location identifier;
a decoding unit, configured to obtain at least two second data packets according to a received first data packet and a corresponding codebook vector, where a dimension of each second data packet is the cutting length;
and the combination unit is used for combining the second data packet into an original data packet, and the original data packet contains information to be sent to a receiving end.
In a sixth possible implementation manner of the fourth aspect, the position identifier indication information corresponding to the first data packet is a system frame number for sending the first data packet, the system frame number indicates a number of a sub-period in a second period, and the sub-period corresponding to the system frame number is used for sending the first data packet; the at least two first data packets are transmitted in at least two first periods, the first period comprises at least two second periods, the second period comprises at least two sub-periods, the number of the sub-periods included in all the second periods is equal, and one first data packet can be transmitted in each sub-period.
In a seventh possible implementation manner of the fourth aspect, a fourth obtaining unit is included, configured to obtain the first codebook; or:
a second determining unit configured to determine the first codebook according to a predefined manner; and a third sending unit, configured to send the first codebook to a sending end, so that the sending end encodes an original data packet according to the first codebook.
In an eighth possible implementation manner of the fourth aspect, the corresponding relationship between the location identifier Coefficient and the system frame number SFN is:
Coefficient=function(SFN,Previous Reference)
the Previous Reference is an integer, which is initially 0 and is automatically incremented every first cycle.
By the scheme, because of the technology of redundancy coding such as fountain, the original data packet can be coded into the data packet with redundancy, resources required by feedback are reduced, and a retransmission mechanism after packet loss is avoided.
Drawings
Fig. 1 is a schematic flowchart of an embodiment of a method for sending data by a sending end according to the present invention;
fig. 2 is a flowchart illustrating an embodiment of a method for encoding data at a transmitting end according to the present invention;
fig. 3 is a flowchart illustrating a method for encoding data at a transmitting end according to another embodiment of the present invention;
FIG. 4 is a flowchart illustrating a method for receiving data by a receiving end according to an embodiment of the present invention;
FIG. 5 is a flowchart illustrating a method for decoding data at a receiving end according to an embodiment of the present invention;
fig. 6 is a schematic structural diagram of an embodiment of a transmitting apparatus provided in the present invention;
fig. 7 is a schematic structural diagram of an embodiment of a first obtaining unit of a transmitting apparatus provided in the present invention;
fig. 8 is a schematic structural diagram of an embodiment of a third obtaining unit of the transmitting apparatus provided in the present invention;
fig. 9 is a schematic structural diagram of a first transmitting unit of the transmitting apparatus according to an embodiment of the present invention;
fig. 10 is a schematic structural diagram of an embodiment of a receiving apparatus provided in the present invention;
fig. 11 is a schematic structural diagram of an embodiment of a third obtaining unit of the receiving apparatus provided in the present invention;
fig. 12 is a schematic diagram of a messaging system of the present invention.
FIG. 13 is a diagram of a messaging device in accordance with the present invention.
Detailed Description
The embodiment of the invention further provides an embodiment of a device for realizing the steps and the method in the embodiment of the method.
It should be noted that, the present invention relates to a method and an apparatus for transmitting and receiving data, and is not particularly limited to a base station side or a terminal side, and the transmitting apparatus and the receiving apparatus may be any communication device side, or may include both the transmitting apparatus and the receiving apparatus in the same communication device. In the apparatuses according to the embodiments of the present invention, integration of the respective transceiver apparatuses according to functions or other aspects is not limited.
Fig. 1 shows an embodiment of a method of transmitting data according to the present invention.
Step 101, obtaining at least two first data packets, wherein the first data packets contain information to be sent to a receiving end, and each first data packet has a first length;
fig. 2 shows that as an embodiment of step 101 of the present invention, at least two first packets are obtained in step 101, and the obtaining may be performed according to the following steps:
1011: the method comprises the steps of obtaining at least one original data packet, determining a cutting length, cutting the original data packet into at least two second data packets according to the cutting length, wherein the dimension of each second data packet is the cutting length;
before data transmission, at least two original data packets needing to be transmitted to a receiving end are determined, the at least two original data packets are integrated according to a certain sequence, optionally, the data packets can be directly arranged in sequence and are cut into at least two second data packets with equal dimensions, and the second data packets are combined into a first transmission vector according to a certain sequence for encoding. It is to be understood that when there are portions of the data packet having a dimension smaller than the cut length after the cutting, zero padding may be performed at the end as an embodiment of the present invention.
The manner of cutting the original data packet into at least two second data packets may be determined by negotiation, or a received message indicating the manner of cutting the original data packet into at least two data packets, which is not described herein again.
1012: acquiring a first codebook, acquiring codebook vectors with the same number as that of second data packets from the first codebook, wherein the dimensionality of the codebook vectors is equal to that of the second data packets, and multiplying each second data packet by the corresponding codebook vector to obtain a first data packet.
It should be understood that the present invention is not limited to the method for obtaining the first codebook, and may be preset in the system or selected from a plurality of codebooks. In one embodiment, the first codebook is set according to a second data packet, and the first codebook is sent to a receiving end.
In another embodiment, the obtaining of the first codebook is negotiated with the receiving end, or is generated according to a channel characteristic, a length characteristic of an original data packet, and a coding manner, which is not described herein again. Optionally, after the first codebook is determined, the first codebook is sent to the receiving end, or a method for generating the codebook is sent to the receiving end, so that the receiving end can obtain the first codebook according to the generating method or directly receive the generated first codebook.
In another embodiment of the present invention, the first codebook may be obtained by receiving, and optionally, may be obtained from a device for generating a codebook, or may be obtained by a receiving end.
The present invention does not limit the specific method for obtaining the first data packet by multiplying each second data packet by the corresponding codebook vector, and as an embodiment, the selected codebook vectors may form a first transmission matrix, and the number of columns of the first transmission matrix is the same as the first transmission vector formed by the second data packets, that is, each row vector is a codebook vector. For convenience of description, the first transmission matrix is denoted as a, the first transmission vector is denoted as x, and then the second transmission vector y calculated by the coding matrix is equal to Ax. y consists of all first packets. As an embodiment of the present invention, the number of columns of a, that is, the number of first codebook vectors is greater than the number of second data packets, and this coding mode is a fountain code coding mode, that is, in the first data packets obtained after coding, the dimension obtained by adding the dimensions of each first data packet is greater than the dimension of the first transmission vector. The redundancy of all the first data packets as a whole is ensured, wherein the condition that the number of the first codebook vectors is larger than the number of the second data packets can be applied to all the invention. When packet loss occurs during transmission, the number of the first data packets which are continuously transmitted is judged according to the second feedback information, the redundant first data packets are sent, and signals can be reconstructed according to the received first data packets as long as the number of the first data packets which are correctly transmitted is larger than the minimum number of the first data packets which are reconstructed signals. It should be understood that the present invention is not limited to the first transmission matrix having a row representing a codebook vector, but may also have a column or other logical encoding.
Step 102, determining a sending number according to the number of first data packets, wherein the sending number is the number of the first data packets sent to the receiving end, and the sending number is greater than 2 and smaller than the number of the first data packets;
103, sending the plurality of first data packets to a receiving end according to the sending quantity;
fig. 3 shows an embodiment of the present invention, corresponding to steps 1011 and 1012, the step 103 of transmitting the plurality of first data packets to the receiving end according to the transmission number may be performed according to the following steps:
step 1031, determining a position identifier of a codebook vector corresponding to the first data packet in the first codebook, for notifying a receiving end to reconstruct the original data packet according to the position identifier.
Step 1032, determining a system frame number according to a corresponding relationship between the position identifier and the system frame number and the position identifier of the codebook vector corresponding to the first data packet in the first codebook, wherein the system frame number indicates a number of a sub-period in a second period, the sub-period corresponding to the system frame number is used for sending the first data packet, and the system frame number is used as indication information of the position identifier corresponding to the first data packet; the at least two first data packets are transmitted in at least two first periods, the first period comprises at least two second periods, the second period comprises at least two sub-periods, the number of the sub-periods included in all the second periods is equal, and one first data packet can be transmitted in each sub-period.
Optionally, in step 1033, a first rule is obtained, where the first rule is: in the same first period, the ith sub-period under each second period can transmit one first data packet, and in the same kth second period in different first periods, the value of i is different, and i and k are set as system frame number parameters;
step 1034, when a first data packet is sent to the receiving end, sending the indication information of the position identifier corresponding to the first data packet.
104, receiving a feedback message sent by the receiving end, wherein the feedback message carries indication information for continuously sending a first data packet;
as an embodiment of the present invention, the feedback message may be, but is not limited to:
the indication information for continuously sending the data packets comprises the residual sending quantity; and/or:
the indication information of the continuously transmitted data packets comprises the number of the first data packets correctly received by the receiving end, and the transmitting end judges the number of the first data packets needing to be continuously transmitted according to the number of the first data packets correctly received; and/or
The indication information of the data packets to be continuously sent comprises the number of the first data packets which cannot be correctly received by a receiving end, and the number of the first data packets to be continuously sent is determined according to the number of the first data packets which cannot be correctly received by the receiving end; and/or:
the indication information of the continuous sending data packets comprises the ratio or the ratio of the number of the first data packets correctly received by the receiving end to the number of the first data packets sent by the sending end, and the number of the first data packets which need to be continuously sent is determined according to the ratio or the ratio.
It should be understood that the condition that the sender correctly sends the first data packet to the receiver may be notified in various forms, so that the sender may determine the number of the first data packets that need to be sent continuously according to the feedback message, which is not described herein again.
Step 105, obtaining a remaining sending quantity according to the indication information of the continuously sent data packets, wherein the remaining sending quantity is a quantity of the first data packets continuously sent to the receiving end by the sending end, and the remaining sending quantity is a difference value between the sending quantity and the quantity of the first data packets received by the receiving end;
and step 106, sending the first data packets with the residual sending quantity to the receiving end.
It should be understood that there are many ways to send the remaining number of first data packets to the receiving end, and as an embodiment of the present invention, the sending end obtains the number of periodic sending, and receives the feedback message of the receiving end after sending the number of first data packets of the periodic sending each time. And continuing to send the first data packet according to the feedback message. As another embodiment of the present invention, after sending the specified first data packets, a feedback control message may be sent, where the feedback control message is used to instruct the receiving end to send the feedback message.
Optionally, when the obtained remaining sending number is zero, the sending of the first data packet is stopped.
Optionally, step 107 is executed at any time, and the relationship between the system frame number parameter and the codebook vector index is obtained and sent, so that the receiving end can determine the first data packet and the corresponding codebook vector according to the values of i and k where the received first data packet is located.
Optionally, the corresponding relationship between the location identifier and the system frame number is a relationship between the location identifier Coefficient and the system frame number SFN, and satisfies:
Coefficient=function(SFN,Previous Reference)
the Previous Reference is an integer, which is initially 0 and is automatically incremented every first cycle.
The embodiment of the invention determines the number of the first data packets which are continuously sent by sending a plurality of first data packets and receiving the feedback message sent by the receiving end according to a plurality of feedback modes; because of the technology of redundant coding such as fountain, the original data packet can be coded into a data packet with redundancy, resources required by feedback are reduced, and a retransmission mechanism after packet loss is avoided.
Optionally, before step 101, the following steps may be performed:
step 108, sending a first scheduling message, wherein the first scheduling message is used for indicating to start semi-static scheduling;
step 109, receiving a first feedback message, where the first feedback message is used to confirm that a receiving end is ready to receive at least two first data packets;
as an embodiment of the present invention, the sending of the first scheduling message and the receiving of the first feedback message are Hybrid Automatic Repeat Request (HARQ) processes, and the first scheduling message is further used to instruct the receiving end to send an acknowledgement message; the first feedback message is also used for feeding back a response message.
Fig. 4 shows an embodiment of a method of receiving data according to the invention.
Step 201, acquiring a sending number, where the sending number is a number of first data packets that need to be sent to a receiving end by a sending end, and the first sending number is greater than 2 and smaller than the number of the first data packets;
step 202, receiving the first data packets, where the first data packets contain information to be sent to a receiving end, and each first data packet has a first length;
fig. 5 shows an embodiment of the invention, wherein receiving the plurality of first data packets according to the transmission number may be performed according to the following steps:
2021, obtaining a first codebook, where the first codebook includes a plurality of codebook vectors for performing a decoding operation on a first data packet;
optionally, a first codebook is obtained; or:
optionally, the first codebook is determined according to a predefined manner, and the first codebook is sent to a sending end, so that the sending end can encode an original data packet according to the first codebook.
It should be understood that the present invention is not limited to the method for obtaining the first codebook, and may be preset in the system or selected from a plurality of codebooks. In one embodiment, the first codebook is set according to a second data packet, and the first codebook is sent to a receiving end.
In another embodiment, the obtaining of the first codebook is negotiated with the receiving end, or is generated according to a channel characteristic, a length characteristic of an original data packet, and a coding manner, which is not described herein again. Optionally, after the first codebook is determined, the first codebook is sent to the receiving end, or a method for generating the codebook is sent to the receiving end, so that the receiving end can obtain the first codebook according to the generating method or directly receive the generated first codebook.
In another embodiment of the present invention, the first codebook may be obtained by receiving, and optionally, may be obtained from a device for generating a codebook, or may be obtained by a receiving end.
2022, when receiving a first data packet sent by a sending end, receiving location identifier indication information corresponding to the first data packet, where the location identifier indication information is used to determine a location identifier of a codebook vector corresponding to the first data packet in the first codebook, and obtaining the codebook vector corresponding to the first data packet from the first codebook according to the location identifier;
as an embodiment of the present invention, the position identifier indicating information corresponding to the first data packet is a corresponding relationship between a position identifier and a system frame number, and a position identifier of a codebook vector corresponding to the first data packet in the first codebook, where the system frame number indicates a number of a sub-cycle in a second cycle, the sub-cycle corresponding to the system frame number is used to send the first data packet, and the system frame number is used as indicating information of the position identifier corresponding to the first data packet; the at least two first data packets are transmitted in at least two first periods, the first period comprises at least two second periods, the second period comprises at least two sub-periods, the number of the sub-periods included in all the second periods is equal, and one first data packet can be transmitted in each sub-period.
Optionally, in step 2023, a first rule is obtained, where the first rule is: in the same first period, the ith sub-period under each second period can transmit one first data packet, and in the same kth second period in different first periods, the value of i is different, and i and k are set as system frame number parameters;
optionally, the corresponding relationship between the location identifier and the system frame number is a relationship between the location identifier Coefficient and the system frame number SFN, and satisfies:
Coefficient=function(SFN,Previous Reference)
the Previous Reference is an integer, which is initially 0 and is automatically incremented every first cycle.
Step 203, determining a feedback message according to the sending number and the number of the correctly received first data packets, wherein the feedback message carries indication information for continuously sending the first data packets; sending the feedback message to a sending end, and informing the sending end of continuing sending the first data packets with the residual quantity according to the indication information of the continuing sending data packets, wherein the residual quantity is the difference value between the sending quantity and the quantity of the first data packets received by a receiving end;
as an embodiment of the present invention, the feedback message may be, but is not limited to:
the indication information for continuously sending the data packets comprises the residual sending quantity; and/or:
the indication information of the continuously transmitted data packets comprises the number of the first data packets correctly received by the receiving end, and the transmitting end judges the number of the first data packets needing to be continuously transmitted according to the number of the first data packets correctly received; and/or
The indication information of the data packets to be continuously sent comprises the number of the first data packets which cannot be correctly received by a receiving end, and the number of the first data packets to be continuously sent is determined according to the number of the first data packets which cannot be correctly received by the receiving end; and/or:
the indication information of the continuous sending data packets comprises the ratio or the ratio of the number of the first data packets correctly received by the receiving end to the number of the first data packets sent by the sending end, and the number of the first data packets which need to be continuously sent is determined according to the ratio or the ratio.
It should be understood that the condition that the sender correctly sends the first data packet to the receiver may be notified in various forms, so that the sender may determine the number of the first data packets that need to be sent continuously according to the feedback message, which is not described herein again.
Step 204, receiving the first data packets with the remaining sending quantity.
It should be understood that there are many ways to receive the first data packets with the remaining sending number, and as an embodiment of the present invention, the receiving end obtains the periodic sending number, and sends a feedback message to the sending end after receiving the first data packets with the periodic sending number each time. And according to the feedback message, continuing to receive the first data packet. As another embodiment of the present invention, a feedback control message is received, where the feedback control message is used to instruct the receiving end to send the feedback message.
Optionally, when it is determined that the sending end is not required to continue sending the first data packet, the feedback remaining sending number is zero.
Optionally, when the received data packet needs to be restored to the original data packet, step 205 is executed: acquiring at least two second data packets according to the received first data packets and corresponding codebook vectors, wherein the dimensionality of each second data packet is the cutting length;
it should be understood that there are many ways to obtain at least two second data packets according to the received first data packets and the corresponding codebook vectors, and as an embodiment of the present invention, when the number of the received second data packets is less than or equal to the number of the first data packets, for example, if the dimension of the second transmission column vector composed of the first data packets is x; if the dimension of a first transmission column vector composed of second data packets is y, and y is equal to Ax and y is greater than x, where the codebook vector corresponding to each element of y is a row of the matrix a, according to y equal to Ax, a signal can be reconstructed from the received first data packets as long as the number of correctly transmitted first data packets is greater than the minimum number of first data packets of a reconstructed signal due to redundancy of information included in the first data packets. Solving the x, and determining the second data packet according to the relation of the second data packet at the x.
And combining the second data packets into an original data packet, wherein the original data packet contains information to be sent to a receiving end.
It should be understood that due to the redundancy of the first data packet, when a packet is lost during transmission, the number of the first data packets to be continuously transmitted is determined, and the redundant first data packets are sent, so long as the number of the first data packets to be correctly transmitted is greater than the minimum number of the first data packets of the reconstructed signal, the signal can be reconstructed according to the received first data packets. It should be understood that the present invention is not limited to one row of the first transmission matrix representing one codebook vector, and may also be one column, or be reconstructed by other logical coding methods, or be directly reconstructed from the first data packet and the corresponding codebook vector.
The embodiment of the invention determines the number of the first data packets which are continuously sent by receiving a plurality of first data packets and sending feedback messages according to a plurality of feedback modes; because of the technology of redundant coding such as fountain, the original data packet can be coded into a data packet with redundancy, resources required by feedback are reduced, and a retransmission mechanism after packet loss is avoided.
Optionally, before step 201, the following steps may be performed:
step 206, receiving a first scheduling message, where the first scheduling message is used to indicate to start semi-persistent scheduling;
step 207, sending a first feedback message, where the first feedback message is used to confirm that the receiving end is ready to receive at least two first data packets;
as an embodiment of the present invention, the receiving a first scheduling message and the sending a first feedback message are Hybrid Automatic Repeat Request (HARQ) processes, and the first scheduling message is further used to instruct the receiving end to send an acknowledgement message; the first feedback message is also used for feeding back a response message.
Fig. 6 shows an embodiment of an apparatus for transmitting data according to the present invention.
A first obtaining unit 301, configured to obtain at least two first data packets, where each first data packet includes information to be sent to a receiving end, and each first data packet has a first length;
fig. 7 shows an embodiment of the present invention, and the first obtaining unit 301 further includes:
a second obtaining unit 3011, configured to obtain at least one original data packet, where the original data packet includes information to be sent to a receiving end;
a second determining unit 3012, configured to determine a cutting length, and according to the cutting length, cut the original data packet into at least two second data packets, where a dimension of each second data packet is the cutting length;
specifically, before data transmission, the second determining unit determines at least two original data packets to be transmitted to the receiving end, integrates the at least two original data packets in a certain order, optionally, may directly arrange the data packets in sequence, and cut the data packets into at least two second data packets of equal dimensions, and combines the second data packets into a first transmission vector in a certain order for encoding. It is to be understood that when there are portions of the data packet having a dimension smaller than the cut length after the cutting, zero padding may be performed at the end as an embodiment of the present invention, which may be, but is not limited to, performed within the second determination unit, or by other external entities.
The manner of cutting the original data packet into at least two data packets may be determined by negotiation, or a received message indicating the manner of cutting the original data packet into at least two data packets, which is not described herein again.
A third obtaining unit 3013, configured to obtain the first codebook; it should be understood that the present invention is not limited to the method of acquiring the first codebook, and the third acquiring unit may acquire a preset first codebook in a memory of the system or select from a plurality of codebooks stored in the memory. In one embodiment shown in fig. 8, the third obtaining unit includes a setting unit 30131 configured to set the first codebook according to the second packet, and the third obtaining unit further includes a second sending unit 30132 configured to send the first codebook to the receiving end.
In another embodiment, the third obtaining unit 3013 obtains the first codebook according to negotiation with the receiving end, or generates the first codebook according to channel characteristics, length characteristics of an original data packet, and a coding manner, which is not described herein again. Optionally, after the first codebook is determined, the first codebook is sent to the receiving end, or a method for generating the codebook is sent to the receiving end, so that the receiving end can obtain the first codebook according to the generating method or directly receive the generated first codebook.
In another embodiment of the present invention, the first codebook may be received by the second receiving unit 30133, and optionally, may be obtained from a device for generating a codebook or determined by a receiving end.
A selecting unit 3014, configured to select codebook vectors with the same number as that of the second data packets from the first codebook, where the dimensionalities of the codebook vectors are equal to the dimensionality of the second data packets
And the multiplier 3015 is configured to multiply each second data packet with a corresponding codebook vector to obtain a first data packet.
The present invention does not limit the multiplication of each second data packet with the corresponding codebook vector, respectively. As an embodiment, the specific method for obtaining the first data packet may combine the selected codebook vectors into a first transmission matrix, where the number of columns of the first transmission matrix is the same as the first transmission vector formed by the second data packet, that is, each row vector is one codebook vector. For convenience of description, the first transmission matrix is denoted as a, the first transmission vector is denoted as x, and then the second transmission vector y calculated by the coding matrix is equal to Ax. y consists of all elements of the first packet. As an embodiment of the present invention, the number of columns of a, that is, the number of first codebook vectors is greater than the number of second data packets, and this coding mode is a fountain code coding mode, that is, in the first data packets obtained after coding, the dimension obtained by adding the dimensions of each first data packet is greater than the dimension of the first transmission vector. The redundancy of all the first data packets as a whole is ensured, wherein the condition that the number of the first codebook vectors is larger than the number of the second data packets can be applied to all the invention. When packet loss occurs during transmission, the number of the first data packets which are continuously transmitted is judged according to the second feedback information, the redundant first data packets are sent, and signals can be reconstructed according to the received first data packets as long as the number of the first data packets which are correctly transmitted is larger than the minimum number of the first data packets which are reconstructed signals. It should be understood that the present invention is not limited to the first transmission matrix having a row representing a codebook vector, but may also have a column or other logical encoding.
A first determining unit 302, configured to determine a sending number according to a number of first data packets, where the sending number is a number of first data packets sent to the receiving end, and the sending number is greater than 2 and smaller than the number of first data packets;
a first sending unit 303, configured to send the plurality of first data packets to a receiving end according to the sending number;
fig. 9 shows an embodiment of the first sending unit 303, and the embodiment of the first sending unit 303, corresponding to the second obtaining unit 3011, the second determining unit 3012, the third obtaining unit 3013, the selecting unit 3014, and the multiplier 3015, where the first sending unit 303 sends the plurality of first packets to the receiving end according to the sending number includes:
a fourth obtaining unit 3031, configured to determine a location identifier of a codebook vector corresponding to the first data packet in the first codebook; and the receiver is informed to decode and reconstruct the original data packet according to the position identifier.
A fifth obtaining unit 3032, configured to determine a location identifier of a codebook vector corresponding to the first data packet in the first codebook;
a third determining unit 3033, configured to determine a system frame number according to a corresponding relationship between the position identifier and the system frame number and a position identifier, in the first codebook, of a codebook vector corresponding to the first data packet, where the system frame number indicates a number of a sub-cycle in a second cycle, and the sub-cycle corresponding to the system frame number is used to send the first data packet; the at least two first data packets are transmitted in at least two first periods, the first period comprises at least two second periods, the second period comprises at least two sub-periods, the number of the sub-periods included in all the second periods is equal, and one first data packet can be transmitted in each sub-period.
Optionally, the third determining unit 3033 is further configured to obtain a first rule, where the first rule is: in the same first period, the ith sub-period under each second period can transmit one first data packet, and in the same kth second period in different first periods, the value of i is different, and i and k are set as system frame number parameters;
the first sending unit 303 is further configured to send, when sending a first data packet to a receiving end, indication information of a location identifier corresponding to the first data packet.
A first receiving unit 304, configured to receive a feedback message sent by the receiving end, where the feedback message carries indication information for continuing to send a data packet;
as an embodiment of the present invention, the feedback message may be, but is not limited to:
the indication information for continuously sending the data packets comprises the residual sending quantity; and/or:
the indication information of the continuously transmitted data packets comprises the number of the first data packets correctly received by the receiving end, and the transmitting end judges the number of the first data packets needing to be continuously transmitted according to the number of the first data packets correctly received; and/or
The indication information of the data packets to be continuously sent comprises the number of the first data packets which cannot be correctly received by a receiving end, and the number of the first data packets to be continuously sent is determined according to the number of the first data packets which cannot be correctly received by the receiving end; and/or:
the indication information of the continuous sending data packets comprises the ratio or the ratio of the number of the first data packets correctly received by the receiving end to the number of the first data packets sent by the sending end, and the number of the first data packets which need to be continuously sent is determined according to the ratio or the ratio.
It should be understood that the condition that the sender correctly sends the first data packet to the receiver may be notified in various forms, so that the sender may determine the number of the first data packets that need to be sent continuously according to the feedback message, which is not described herein again.
A signal processing unit 305, configured to obtain a remaining sending quantity according to the indication information of the continuously sending data packets, where the remaining sending quantity is a quantity of the sending end continuously sending the first data packets to the receiving end, and the remaining sending quantity is a difference between the sending quantity and a quantity of the first data packets received by the receiving end;
the first sending unit 303 is further configured to send the remaining number of first data packets to the receiving end.
It should be understood that there are many ways to send the remaining number of first data packets to the receiving end, and as an embodiment of the present invention, the first obtaining unit 301 is further configured to obtain the number of periodic sending, and receive the feedback message of the receiving end after each sending of the number of first data packets of the periodic sending is completed. According to the feedback message, the first sending unit 303 continues to send the first data packet. As another embodiment of the present invention, the first sending unit 303 may send a feedback control message after sending the specified first data packets, where the feedback control message is used to instruct the receiving end to send the feedback message.
Optionally, when the obtained remaining sending number is zero, the sending of the first data packet is stopped.
Optionally, the first obtaining unit 301 obtains a relationship between the system frame number parameter and the codebook vector index, and the first sending unit 303 sends the relationship between the system frame number parameter and the codebook vector index, so that the receiving end can determine the first data packet and the corresponding codebook vector according to values i and k of the received first data packet. The functions corresponding to the two modules can be executed at any time.
Optionally, the correspondence between the location identifier and the system frame number is:
Coefficient=function(SFN,Previous Reference)
the Previous Reference is an integer, which is initially 0 and is automatically incremented every first cycle.
The embodiment of the invention determines the number of the first data packets which are continuously sent by sending a plurality of first data packets and receiving the feedback message sent by the receiving end according to a plurality of feedback modes; because of the technology of redundant coding such as fountain, the original data packet can be coded into a data packet with redundancy, resources required by feedback are reduced, and a retransmission mechanism after packet loss is avoided.
Optionally, before the first obtaining unit 301 obtains at least two first data packets, the first sending unit 303 is further configured to send a first scheduling message, where the first scheduling message is used to indicate to start semi-persistent scheduling;
the first receiving unit 304 is further configured to receive a first feedback message, where the first feedback message is used to confirm that a receiving end is ready to receive at least two first data packets;
as an embodiment of the present invention, the sending of the first scheduling message and the receiving of the first feedback message are Hybrid Automatic Repeat Request (HARQ) processes, and the first scheduling message is further used to instruct the receiving end to send an acknowledgement message; the first feedback message is also used for feeding back a response message.
Fig. 10 illustrates a method embodiment of the present invention for receiving data.
A first obtaining unit 401, configured to obtain a sending number, where the sending number is a number of first data packets that need to be sent by a sending end to a receiving end, and the first sending number is greater than 2 and smaller than the number of the first data packets;
a first receiving unit 402, configured to receive the first data packets, where the first data packets include information to be sent to a receiving end, and each first data packet has a first length;
as an embodiment of the present invention, the first receiving unit 402 may further include:
a third obtaining unit 4021, configured to obtain a first codebook, where the first codebook includes a plurality of codebook vectors, and the codebook vectors are used for performing a decoding operation on a first data packet;
fig. 11 shows an embodiment of the present invention, where the second determining unit 40211 is configured to determine the first codebook according to a predefined manner, and the third transmitting unit 40212 is configured to transmit the first codebook to a transmitting end, so that the transmitting end encodes an original data packet according to the first codebook.
It should be understood that the present invention is not limited to the method for obtaining the first codebook, and may be preset in the memory of the system or selected from a plurality of codebooks contained in the memory. In an embodiment, the third obtaining unit 4021 is configured to set the first codebook according to a second data packet, and send the first codebook to a receiving end.
In another embodiment, the obtaining of the first codebook is that the fourth obtaining unit 40213 negotiates with the receiving end to obtain the first codebook, or generates the first codebook according to a channel characteristic, a length characteristic of an original data packet, and a coding manner, which is not described herein again. Optionally, after the first codebook is determined, the first codebook is sent to the receiving end, or a method for generating the codebook is sent to the receiving end, so that the receiving end can obtain the first codebook according to the generating method or directly receive the generated first codebook. It should be understood that the present invention is not limited to the splitting and merging of modules, and claims all logical embodiments and modifications and combinations of the claims.
In another embodiment of the present invention, the first codebook may be received by the first receiving unit 402, and optionally, may be obtained from a device for generating a codebook, or may be determined by a receiving end.
The first receiving unit 402 is further configured to receive, when receiving a first data packet sent by a sending end, location identifier indication information corresponding to the first data packet, where the location identifier indication information is used to determine a location identifier of a codebook vector corresponding to the first data packet in the first codebook,
the third obtaining unit 4021 is further configured to obtain a codebook vector corresponding to the first data packet from the first codebook according to the location identifier;
as an embodiment of the present invention, the first receiving unit 402 receives position identifier indicating information corresponding to a first data packet, where the position identifier indicating information corresponding to the first data packet is a system frame number for sending the first data packet, the system frame number indicates a number of a sub-cycle in a second cycle, and the sub-cycle corresponding to the system frame number is used for sending the first data packet; the at least two first data packets are transmitted in at least two first periods, the first period comprises at least two second periods, the second period comprises at least two sub-periods, the number of the sub-periods included in all the second periods is equal, and one first data packet can be transmitted in each sub-period.
Optionally, the first obtaining unit 401 is further configured to obtain a first rule, where the first rule is: in the same first period, the ith sub-period under each second period can transmit one first data packet, and in the same kth second period in different first periods, the value of i is different, and i and k are set as system frame number parameters;
optionally, the relationship between the location identifier Coefficient and the system frame number SFN satisfies:
Coefficient=function(SFN,Previous Reference)
the Previous Reference is an integer, which is initially 0 and is automatically incremented every first cycle.
A first determining unit 403, configured to determine a feedback message according to the sending number and the number of correctly received first data packets, where the feedback message carries indication information for continuing to send the first data packets;
a first sending unit 404, configured to send the feedback message to a sending end, and notify the sending end to continue sending a remaining number of first data packets according to the indication information of the data packets to be sent continuously, where the remaining sending number is a difference between the sending number and the number of first data packets received by a receiving end;
as an embodiment of the present invention, the first determining unit 403 is configured to determine, according to the sending number and the number of correctly received first data packets, that the feedback message may be, but is not limited to:
the indication information for continuously sending the data packets comprises the residual sending quantity; and/or:
the indication information of the continuously transmitted data packets comprises the number of the first data packets correctly received by the receiving end, and the transmitting end judges the number of the first data packets needing to be continuously transmitted according to the number of the first data packets correctly received; and/or
The indication information of the data packets to be continuously sent comprises the number of the first data packets which cannot be correctly received by a receiving end, and the number of the first data packets to be continuously sent is determined according to the number of the first data packets which cannot be correctly received by the receiving end; and/or:
the indication information of the continuous sending data packets comprises the ratio or the ratio of the number of the first data packets correctly received by the receiving end to the number of the first data packets sent by the sending end, and the number of the first data packets which need to be continuously sent is determined according to the ratio or the ratio.
It should be understood that the condition that the sender correctly sends the first data packet to the receiver may be notified in various forms, so that the sender may determine the number of the first data packets that need to be sent continuously according to the feedback message, which is not described herein again.
The first receiving unit 402 is further configured to receive the remaining number of first data packets.
It should be understood that there are many ways to receive the remaining number of first data packets, and as an embodiment of the present invention, the first sending unit 404 sends a feedback message to the sending end after receiving the number of first data packets sent periodically each time. The first receiving unit 402 continues to receive the first data packet according to the feedback message. As another embodiment of the present invention, before the first sending unit 404 sends a feedback message to a sending end, the first receiving unit 402 receives a feedback control message, where the feedback control message is used to instruct the receiving end to send the feedback message.
Optionally, the first determining unit 403 is further configured to determine that the feedback remaining transmission number is zero when it is determined that the transmitting end does not need to continue to transmit the first data packet.
Optionally, when the received data packet needs to be restored to an original data packet, the decoding unit 405 is configured to obtain at least two second data packets according to the received first data packet and the corresponding codebook vector, where a dimension of the second data packet is the cutting length;
it should be understood that there are many ways to obtain at least two second data packets according to the received first data packets and the corresponding codebook vectors, and as an embodiment of the present invention, when the number of the received second data packets is less than or equal to the number of the first data packets, for example, if the dimension of the second transmission column vector composed of the first data packets is x; if the dimension of a first transmission column vector composed of second data packets is y, and y is equal to Ax and y is greater than x, where the codebook vector corresponding to each element of y is a row of the matrix a, according to y equal to Ax, a signal can be reconstructed from the received first data packets as long as the number of correctly transmitted first data packets is greater than the minimum number of first data packets of a reconstructed signal due to redundancy of information included in the first data packets. Solving the x, and determining the second data packet according to the relation of the second data packet at the x.
A combining unit 406, configured to combine the second data packet into an original data packet, where the original data packet includes information that needs to be sent to a receiving end.
It should be understood that due to the redundancy of the first data packet, when a packet is lost during transmission, the number of the first data packets to be continuously transmitted is determined, and the redundant first data packets are sent, so long as the number of the first data packets to be correctly transmitted is greater than the minimum number of the first data packets of the reconstructed signal, the signal can be reconstructed according to the received first data packets. It should be understood that the present invention is not limited to one row of the first transmission matrix representing one codebook vector, and may also be one column, or be reconstructed by other logical coding methods, or be directly reconstructed from the first data packet and the corresponding codebook vector.
The embodiment of the invention determines the number of the first data packets which are continuously sent by receiving a plurality of first data packets and sending feedback messages according to a plurality of feedback modes; because of the technology of redundant coding such as fountain, the original data packet can be coded into a data packet with redundancy, resources required by feedback are reduced, and a retransmission mechanism after packet loss is avoided.
Optionally, before the first obtaining unit 401 obtains the sending number, the first receiving unit 402 is further configured to receive a first scheduling message, where the first scheduling message is used to indicate to start semi-persistent scheduling;
the first sending unit 404 is further configured to send a first feedback message, where the first feedback message is used to confirm that a receiving end is ready to receive at least two first data packets;
as an embodiment of the present invention, the receiving a first scheduling message and the sending a first feedback message are Hybrid Automatic Repeat Request (HARQ) processes, and the first scheduling message is further used to instruct the receiving end to send an acknowledgement message; the first feedback message is also used for feeding back a response message.
It should be noted that, the present invention relates to a method and an apparatus for transmitting and receiving data, and is not limited to a base station side or a terminal side specifically, and the transmitting apparatus and the receiving apparatus may be either a communication device side or may include two kinds of transmitting or receiving apparatuses in the same communication device. In the apparatuses according to the embodiments of the present invention, integration of the respective transceiver apparatuses according to functions or other aspects is not limited. The embodiments of the present invention relate to apparatuses, and do not limit integration of the respective transceiver apparatuses according to functions or other aspects. For example, the apparatus shown in fig. 6 and the apparatus shown in fig. 10 may both exist in one apparatus whole, and in this apparatus whole, include:
a first sending unit 303, further configured to send a first scheduling message, where the first scheduling message is used to indicate that semi-persistent scheduling is started;
the first receiving unit 304 is further configured to receive a first feedback message, where the first feedback message is used to confirm that a receiving end is ready to receive at least two first data packets;
further comprising: a first receiving unit 402, further configured to receive a first scheduling message, where the first scheduling message is used to indicate that semi-persistent scheduling is started;
the first sending unit 404 is further configured to send a first feedback message, where the first feedback message is used to confirm that the receiving end is ready to receive at least two first data packets, and then,
the first sending unit 303, the first receiving unit 304, the first receiving unit 402, and the first sending unit 404 may be integrated in one semi-persistent scheduling control module, and are responsible for starting the semi-persistent scheduling for other apparatuses and receiving semi-persistent scheduling indications sent by other apparatuses.
It should be understood that the semi-persistent scheduling control module described in the above example is only one example of the present invention, and the present invention claims the splitting and integration of various modules and the splitting and integration of various embodiments in accordance with the logic.
The following lists an example of a specific embodiment of the implementation of the present invention:
step 501, a sending end obtains at least one original data packet, the original data packet contains information to be sent to a receiving end, the at least one original data packet is formed into one data packet, the synthesized data packet is divided into a plurality of second data packets, and the dimensionality of each second data packet is the same; combining the plurality of second data packets into a first transmission vector;
in this embodiment, three original packets are taken as an example: x1, x2, x 3. The three original data packetsIs different, integrating X1, X2 and X3 into a data packet X and determining a cutting length b, cutting the integrated X into a plurality of second data packets z with the dimension bmIn the case where a packet of dimension b cannot be formed when the last element is cut, zero padding is performed at the end. The plurality of second packets are combined into a first transport vector Z.
Step 502, a sending end obtains a first transmission matrix, and obtains at least two first data packets according to the first transmission matrix and a second data packet; obtaining the relation between the first data packet and the corresponding codebook vector for the receiving end to perform decoding operation according to the system frame number parameter
The sending end and the receiving end acquire a first codebook, the first codebook comprises codebook vectors, and a first transmission matrix is acquired according to the first codebook; or directly acquire the first transmission matrix. As an embodiment of the present invention, for a first transmission vector Z with a length of m, a first transmission matrix a is obtained in the form:
Figure GPA0000215145430000311
where A is a matrix of n rows and m columns. In this embodiment, m < n. Each row of a is one of the codebook vectors. According to the first transmission matrix and the second data packet zmAnd performing encoding to obtain at least two first data packets, where the encoding manner in this embodiment is to multiply a first transmission matrix a by the left side of the first transmission vector Z integrated by the second data packets to obtain n first data packets ynI.e. Y ═ AZ:
Figure GPA0000215145430000312
since n > m, y ensures reasonable selection of codebooknSpecifically, for the encoding method of this embodiment, each row vector corresponds to a first data packet, and when the receiving end fails to correctly receive a certain number of the first data packets, because the receiving end receives the first data packets correctly, the receiving end receives the first data packets in the same way as the first data packets in the same way, the receiving end receives the first data packets in the same way asIn one embodiment, the value of n of the first transmission matrix is determined according to channel characteristic estimation, i.e. how many codebook vectors are used to encode Z is determined according to channel quality or channel estimation provided by a channel, e.g. m is 100, if it is estimated that a channel loses 10 first data packets at most during the transmission of 110 data packets, n is not less than 110, the number of first data packets obtained by encoding is not less than 110, which ensures that the receiving end can decode and obtain the original message according to 100 correctly received data packets.
In another embodiment of the present invention, another method is provided for enabling a receiving end to query a codebook vector corresponding to each first data packet, so that the transmitting apparatus can transmit the first data packet according to a first rule, specifically, obtain the first rule, where the first rule is: transmitting the at least two first data packets in at least two first periods, wherein the first periods comprise at least two second periods, the second periods comprise at least two sub-periods, the number of the sub-periods of all the second periods is equal, and one first data packet can be transmitted in each sub-period; in the same first period, the ith sub-period under each second period can transmit one first data packet, and in the same kth second period in different first periods, the value of i is different, and i and k are set as system frame number parameters; for example, in the 3 rd second period under the 1 st first period, the 5 th sub-period is used to transmit the first data packet, and in the 3 rd second period under all other first periods, the 5 th sub-period cannot be used to transmit the first data packet, so that it is ensured that the i and k values determine only one second data packet.
Optionally, the first period may be an SFN period and is formed by system frames, the second period is the system frame included in the SFN period, and each system frame includes at least two subframes.
Optionally, the first rule may be obtained by negotiation between the sending end and the receiving end, or issued by other control devices; or by sending a message or otherwise notifying the other party when the rule is determined by the one party. It should be understood that the present invention is not limited to the manner in which the first rule is obtained.
The receiving end and the transmitting end obtain the relationship between the system frame number parameter and the codebook vector index, so that the receiving end can determine the values of i and k according to the sub-cycle position of a second cycle under a first cycle where a received first data packet is located, then inquire the codebook vector corresponding to the first data packet according to the relationship between the values of i and k and the codebook vector index, and determine the codebook vector corresponding to the first data packet, so that the receiving end can reconstruct and obtain at least two second data packets according to all the received first data packets, and further reconstruct the original data packet.
It should be understood that, during the encoding process, the second data packet is formed by the original data packet, and preferably, the process of cutting the original data packet into the second data packet is an operation of arranging orders and partitioning according to equal length dimensions. Correspondingly, in the decoding process, the receiving end can directly decode and obtain all the original data packets according to the corresponding codebook vector reconstruction.
Step 503, the sending end sends a first scheduling message, where the first scheduling message is used to indicate to start semi-persistent scheduling;
step 504, the receiving end receives a first scheduling message;
step 505, the receiving end determines to prepare to receive semi-persistent scheduling according to the first scheduling message, and sends a first feedback message, where the first feedback message is used to confirm that the receiving end is prepared to receive at least two first data packets, where the first data packets include information that needs to be received from the sending end;
step 506, the sending end receives a first feedback message, where the first feedback message is used to confirm that a receiving end is ready to receive at least two first data packets;
as an embodiment of the present invention, the sending of the first scheduling message and the sending of the first feedback message by the receiving end are Hybrid Automatic Repeat Request (HARQ) processes, and the first scheduling message is further used to instruct the receiving end to send an acknowledgement message; the first feedback message is also used for feeding back a response message.
Step 507, the sending end and the receiving end determine a first sending number, where the first sending number is used to determine the number of the first data packets to be sent, and the first sending number is at least two, optionally, the sending end sends one first data packet in each second period, and sends the first data packet according to the first sending number and the second period; the receiving end determines a feedback message, and the feedback message is used for informing the sending end of the number of the first data packets which need to be sent continuously. And continuing to send the first data packet according to the feedback message.
The present invention realizes a data transmission mode in which the receiving end sends a feedback message after the sending end continuously sends a plurality of first data packets, and specifically, the present invention provides three specific embodiments:
in an embodiment of the present invention, the sending end sends the first data packets periodically, and the number of the first data packets sent periodically is the first sending number determined in the step 507. For example, if the determined first transmission number is 5, after every 5 first data packets are transmitted, the receiving end determines the number of the first data packets received correctly and/or the number of one first data packet that needs to be continuously transmitted, and transmits a second feedback message, where the second feedback message is used to notify the transmitting end of the number of data packets that need to be continuously transmitted, and corresponds to the second period, in this embodiment, one first data packet is transmitted in each second period, and after every 5 second periods, the receiving end transmits one second feedback message. The sending end continues to send the first data packets according to the number of the first data packets needing to be sent continuously, when the number of the data packets needing to be sent continuously is smaller than the first sending number, the sending end sends the second feedback message after the sending end finishes sending the first data packets which are not sent, if the second feedback message still feeds back the second feedback message which needs to be sent continuously by a certain number, the sending end continues to send the first data packets until the number of the data packets needing to be sent continuously, which is notified by the second feedback message, is zero.
In another embodiment of the present invention, the sending end sends the first data packets, and the determined first sending number is the number of the first data packets that need to be sent to the receiving end, for example, the receiving end needs to correctly receive 100 first data packets to correctly decode the original data packets, if according to the channel quality or channel estimation provided by the channel in step 502: when the sending end sends 110 first data packets, the receiving end may receive the 100 first data packets, then send 110 first data packets, after the sending end sends the 110 first data packets, the receiving end determines the number of correctly received first data packets and/or the number of one first data packet that needs to be sent continuously, and sends a second feedback message, the sending end receives the second feedback message, the second feedback message is used to notify the sending end of the number of data packets that need to be sent continuously, according to the number of data packets that need to be sent continuously, the sending end continues to send the first data packets, and when the sending is completed, receives the second feedback message again until the number of data packets that need to be sent continuously, which is notified by the second feedback message, is zero. It should be appreciated that the present invention is not limited to the first number of transmissions being determined based on the channel quality provided by the channel or the channel estimate in step 502, and may be any number of transmissions, or a first number of transmissions determined in other manners.
In still another embodiment of the present invention, the feedback message is controlled by the sending end: the sending end sends a feedback control message, the feedback control message is used for controlling the receiving end to send a third feedback message, the receiving end determines the number of the first data packets which are correctly received and/or the number of one first data packet which needs to be continuously sent, and sends a third feedback message, the third feedback message is used for informing the sending end of the number of the data packets which need to be continuously sent, and the receiving end receives the third feedback message. And according to the third feedback message, continuing to send the first data packet.
Step 508, decoding the at least two first data packets according to the first data packets, the relation between the first data packets and the corresponding codebook vectors, and the first transmission matrix; and acquiring the second data packet. Further reducing the data into the original data packet.
Optionally, when the received first data packet is transmitted according to the first rule in step 502, the values of i and k are determined according to the kth sub-period of the ith second period corresponding to each first data packet in the transmission process, and then the codebook vector relationship corresponding to the first data packet is queried according to the relationship between the values of i and k and the codebook vector index, so as to determine the codebook vector corresponding to the first data packet, so that the receiving end can reconstruct and acquire at least two second data packets according to all received first data packets. It should be understood that there are many kinds of decoding operations, and the description thereof is omitted in this embodiment.
This embodiment describes a method for transmitting and receiving data and a method for channel encoding and decoding, which are applicable to the present invention. After the original data packets to be sent are coded to have redundancy, the original data packets can be reconstructed even if the receiving end fails to correctly receive the first data packets with the number smaller than a certain threshold value. The invention saves the channel resources occupied by the problem that each sent data packet needs to be fed back, and correspondingly, the embodiment provides three different semi-static scheduling feedback modes. In this embodiment, a method for sending a first data packet is further introduced, where an index of a codebook vector corresponding to the first data packet is obtained according to a time i of a second period and a time value of a sub-period k of the second period in a period in which the first data packet is located, and further a codebook vector corresponding to the first data packet is obtained. The receiving end reconstructs data according to the relation between the first data packet and the corresponding codebook vector and the first data packet and the corresponding codebook vector.
Fig. 12 shows another embodiment of the present invention, in which three original data packets are obtained, and the three original data packets need to be sent to a receiving end, three groups of first data packet groups are obtained by integrating the ways related to encoding the original data packets to obtain first data packets, each group of first data packet group corresponds to the three original data packets, and only one first data packet of each group is scheduled each time, for this case, when three first data packets are sent each time, the three scheduled first data packets are independent from each other. Thus, in this case, the influence on each coding group is small, and the correlation of packets in the same coding group is reduced.
Fig. 13 shows a general computer system structure of the above-described apparatus.
The computer system may specifically be a processor-based computer, such as a general purpose Personal Computer (PC), a portable device such as a tablet computer, or a smart phone.
More specifically, the computer system may include a bus, a processor 1301, an input device 1302, an output device 1303, a communication interface 1304, and a memory 1305. The processor 1301, the input device 1302, the output device 1303, the communication interface 1304, and the memory 1305 are connected to each other via a bus. Wherein:
a bus may include a path that transfers information between components of a computer system.
The processor 1301 may be a general-purpose processor, such as a general-purpose Central Processing Unit (CPU), a Network Processor (NP), a microprocessor, etc., an application-specific integrated circuit (ASIC), or one or more integrated circuits for controlling the execution of the program according to the present invention. But may also be a Digital Signal Processor (DSP), an Application Specific Integrated Circuit (ASIC), an off-the-shelf programmable gate array (FPGA) or other programmable logic device, discrete gate or transistor logic, discrete hardware components.
The memory 1305 stores a program for executing the present invention, and may store an operating system and other application programs. In particular, the program may include program code including computer operating instructions. More specifically, memory 1805 may be a read-only memory (ROM), another type of static storage device that may store static information and instructions, a Random Access Memory (RAM), another type of dynamic storage device that may store information and instructions, a disk memory, or the like.
Input device 1302 may include a means for receiving data and information from a user, such as a keyboard, a mouse, a camera, a scanner, a light pen, a voice input device, a touch screen, etc.
Output device 1303 may include means for allowing information to be output to a user, such as a display screen, a printer, speakers, etc.
Communication interface 1304 may include any device that uses any transceiver or the like to communicate with other devices or communication networks, such as ethernet, Radio Access Network (RAN), wireless local area network (W L AN), etc.
The processor 1301 executes a program stored in the memory 1305 for implementing the method for providing local routing according to any embodiment of the present invention and any apparatus according to this embodiment.
It will be apparent to those skilled in the art from this disclosure that the present invention may be implemented in hardware, or firmware, or a combination thereof, that when implemented in software, the functions described above may be stored on or transmitted as one or more instructions or code on a computer-readable medium including computer storage media and communication media including any medium that facilitates transfer of computer programs from one place to another.
In short, the above description is only a preferred embodiment of the present invention, and is not intended to limit the scope of the present invention. Any modification, equivalent replacement, or improvement made within the spirit and principle of the present invention should be included in the protection scope of the present invention.

Claims (60)

1. A method of transmitting data, characterized by:
obtaining at least two first data packets, wherein the first data packets contain information to be sent to a receiving end, and each first data packet has a first length;
determining a sending number according to the number of the first data packets, wherein the sending number is the number of the first data packets sent to the receiving end, and the sending number is larger than 2 and smaller than the number of the first data packets;
sending the plurality of first data packets to a receiving end according to the sending number;
receiving a feedback message sent by the receiving end, wherein the feedback message carries indication information for continuously sending a data packet;
obtaining the remaining sending quantity according to the indication information of the data packets to be sent continuously, wherein the remaining sending quantity is the quantity of the first data packets sent continuously by the sending end to the receiving end, and the remaining sending quantity is the difference value between the sending quantity and the quantity of the first data packets received by the receiving end;
sending the first data packets with the residual sending quantity to a receiving end;
before receiving the feedback message sent by the receiving end, the method further comprises:
and sending a feedback control message to the receiving end, wherein the feedback control message is used for informing the receiving end to send the feedback message.
2. The method of claim 1, wherein the plurality of first packets are transmitted to a receiving end according to the transmission number; receiving the feedback message of the receiving end includes:
and acquiring the periodic transmission quantity, and receiving the feedback message of the receiving end after the periodic transmission quantity of first data packets is transmitted each time.
3. The method of claim 1, wherein the indication information for continuing to transmit the data packet includes a remaining transmission number; and/or:
the indication information for continuously sending the data packets comprises the number of the first data packets correctly received by the receiving end; and/or
The indication information of the continuously sent data packets comprises the number of the first data packets which cannot be correctly received by the receiving end; and/or:
the indication information for continuously sending the data packets includes a ratio or a ratio of the number of the first data packets correctly received by the receiving end to the number of the first data packets sent by the sending end.
4. The method of claim 2, wherein the indication information for continuing to transmit the data packet includes a remaining transmission number; and/or:
the indication information for continuously sending the data packets comprises the number of the first data packets correctly received by the receiving end; and/or
The indication information of the continuously sent data packets comprises the number of the first data packets which cannot be correctly received by the receiving end; and/or:
the indication information for continuously sending the data packets includes a ratio or a ratio of the number of the first data packets correctly received by the receiving end to the number of the first data packets sent by the sending end.
5. The method of claim 1, wherein the sending the remaining number of first packets to the receiving end comprises:
and when the obtained remaining sending number is zero, stopping sending the first data packet.
6. The method of claim 2, wherein the sending the remaining number of first packets to the receiving end comprises: and when the obtained remaining sending number is zero, stopping sending the first data packet.
7. The method of claim 3, wherein the sending the remaining number of first packets to the receiving end comprises: and when the obtained remaining sending number is zero, stopping sending the first data packet.
8. The method of claim 4, wherein the sending the remaining number of first packets to the receiving end comprises: and when the obtained remaining sending number is zero, stopping sending the first data packet.
9. The method according to any one of claims 1 to 8, wherein the obtaining at least two first data packets comprises:
the method comprises the steps of obtaining at least one original data packet, determining a cutting length, cutting the original data packet into at least two second data packets according to the cutting length, wherein the dimension of each second data packet is the cutting length;
acquiring a first codebook, selecting codebook vectors with the same number as that of second data packets from the first codebook, wherein the dimensionality of the codebook vectors is equal to that of the second data packets, and multiplying each second data packet by the corresponding codebook vector to obtain a first data packet.
10. The method of claim 9, further comprising:
determining a position identifier of a codebook vector corresponding to the first data packet in the first codebook;
when a first data packet is sent to a receiving end, the indication information of the position identification corresponding to the first data packet is sent.
11. The method of claim 10, wherein sending the information indicating the location identifier corresponding to the first packet comprises:
determining a system frame number according to the corresponding relation between the position identifier and the system frame number and the position identifier of the codebook vector corresponding to the first data packet in the first codebook, wherein the system frame number indicates the number of a sub-period in a second period, the sub-period corresponding to the system frame number is used for sending the first data packet, and the system frame number is used as the indicating information of the position identifier corresponding to the first data packet; the at least two first data packets are transmitted in at least two first periods, the first period comprises at least two second periods, the second period comprises at least two sub-periods, the number of the sub-periods included in all the second periods is equal, and one first data packet can be transmitted in each sub-period.
12. The method of claim 9, wherein obtaining the first codebook comprises:
receiving the first codebook; or
And setting the first codebook according to a second data packet, and sending the first codebook to a receiving end.
13. The method of claim 10, wherein obtaining the first codebook comprises:
receiving the first codebook; or
And setting the first codebook according to a second data packet, and sending the first codebook to a receiving end.
14. The method of claim 11, wherein obtaining the first codebook comprises:
receiving the first codebook; or
And setting the first codebook according to a second data packet, and sending the first codebook to a receiving end.
15. The method of claim 10, wherein the correspondence between the location identifier and the system frame number is a relationship between a location identifier Coefficient and a system frame number SFN, and satisfies:
Coefficient=function(SFN,Previous Reference)
the Previous Reference is an integer, which is initially 0 and is automatically incremented every first cycle.
16. The method of claim 11, wherein the correspondence between the location identifier and the system frame number is a relationship between a location identifier Coefficient and a system frame number SFN, and satisfies:
Coefficient=function(SFN,Previous Reference)
the Previous Reference is an integer, which is initially 0 and is automatically incremented every first cycle.
17. A method of transmitting data, characterized by:
obtaining at least two first data packets, wherein the first data packets contain information to be sent to a receiving end, and each first data packet has a first length;
determining a sending number according to the number of the first data packets, wherein the sending number is the number of the first data packets sent to the receiving end, and the sending number is larger than 2 and smaller than the number of the first data packets;
sending the plurality of first data packets to a receiving end according to the sending number;
receiving a feedback message sent by the receiving end, wherein the feedback message carries indication information for continuously sending a data packet;
obtaining the remaining sending quantity according to the indication information of the data packets to be sent continuously, wherein the remaining sending quantity is the quantity of the first data packets sent continuously by the sending end to the receiving end, and the remaining sending quantity is the difference value between the sending quantity and the quantity of the first data packets received by the receiving end;
sending the first data packets with the residual sending quantity to a receiving end;
wherein, the indication information of the continuous sending data packet comprises the residual sending quantity; and/or:
the indication information for continuously sending the data packets comprises the number of the first data packets correctly received by the receiving end; and/or
The indication information of the continuously sent data packets comprises the number of the first data packets which cannot be correctly received by the receiving end; and/or:
the indication information for continuously sending the data packets includes a ratio or a ratio of the number of the first data packets correctly received by the receiving end to the number of the first data packets sent by the sending end.
18. The method of claim 17, wherein the plurality of first packets are transmitted to a receiving end according to the transmission number; receiving the feedback message of the receiving end includes: and acquiring the periodic transmission quantity, and receiving the feedback message of the receiving end after the periodic transmission quantity of first data packets is transmitted each time.
19. The method according to claim 17 or 18, wherein said sending the first data packets with the remaining sending number to the receiving end comprises: and when the obtained remaining sending number is zero, stopping sending the first data packet.
20. A method of transmitting data, characterized by:
obtaining at least two first data packets, wherein the first data packets contain information to be sent to a receiving end, and each first data packet has a first length;
determining a sending number according to the number of the first data packets, wherein the sending number is the number of the first data packets sent to the receiving end, and the sending number is larger than 2 and smaller than the number of the first data packets;
sending the plurality of first data packets to a receiving end according to the sending number;
receiving a feedback message sent by the receiving end, wherein the feedback message carries indication information for continuously sending a data packet;
obtaining the remaining sending quantity according to the indication information of the data packets to be sent continuously, wherein the remaining sending quantity is the quantity of the first data packets sent continuously by the sending end to the receiving end, and the remaining sending quantity is the difference value between the sending quantity and the quantity of the first data packets received by the receiving end;
sending the first data packets with the residual sending quantity to a receiving end;
wherein the obtaining at least two first data packets comprises:
the method comprises the steps of obtaining at least one original data packet, determining a cutting length, cutting the original data packet into at least two second data packets according to the cutting length, wherein the dimension of each second data packet is the cutting length;
acquiring a first codebook, selecting codebook vectors with the same number as that of second data packets from the first codebook, wherein the dimensionality of the codebook vectors is equal to that of the second data packets, and multiplying each second data packet by the corresponding codebook vector to obtain a first data packet.
21. The method of claim 20, further comprising:
determining a position identifier of a codebook vector corresponding to the first data packet in the first codebook;
when a first data packet is sent to a receiving end, the indication information of the position identification corresponding to the first data packet is sent.
22. The method of claim 21, wherein sending the information indicating the location identifier corresponding to the first packet comprises:
determining a system frame number according to the corresponding relation between the position identifier and the system frame number and the position identifier of the codebook vector corresponding to the first data packet in the first codebook, wherein the system frame number indicates the number of a sub-period in a second period, the sub-period corresponding to the system frame number is used for sending the first data packet, and the system frame number is used as the indicating information of the position identifier corresponding to the first data packet; the at least two first data packets are transmitted in at least two first periods, the first period comprises at least two second periods, the second period comprises at least two sub-periods, the number of the sub-periods included in all the second periods is equal, and one first data packet can be transmitted in each sub-period.
23. The method of any one of claims 21 to 22, wherein obtaining the first codebook comprises:
receiving the first codebook; or
And setting the first codebook according to a second data packet, and sending the first codebook to a receiving end.
24. The method according to any one of claims 21 to 22, wherein the correspondence between the location identifier and the system frame number is a relationship between a location identifier Coefficient and a system frame number SFN, and satisfies:
Coefficient=function(SFN,Previous Reference)
the Previous Reference is an integer, which is initially 0 and is automatically incremented every first cycle.
25. The method of claim 23, wherein the correspondence between the location identifier and the system frame number is a relationship between a location identifier Coefficient and a system frame number SFN, and satisfies:
Coefficient=function(SFN,Previous Reference)
the Previous Reference is an integer, which is initially 0 and is automatically incremented every first cycle.
26. A method of receiving data, characterized by:
acquiring the sending quantity, wherein the sending quantity is the quantity of first data packets sent to a receiving end by a sending end, and the first sending quantity is more than 2 and less than the quantity of the first data packets;
receiving the first data packets, wherein the first data packets contain information to be sent to a receiving end, and each first data packet has a first length;
determining a feedback message according to the sending number and the number of the correctly received first data packets, wherein the feedback message carries indication information for continuously sending the first data packets; sending the feedback message to a sending end, and informing the sending end of continuing sending the first data packets with the residual quantity according to the indication information of the continuing sending data packets, wherein the residual quantity is the difference value between the sending quantity and the quantity of the first data packets received by a receiving end;
receiving the first data packets with the residual sending quantity;
before sending the feedback message to the sending end, the method further comprises: and receiving a feedback control message, and sending the feedback message according to the feedback control message.
27. The method of claim 26, wherein the first data packet is received according to the transmission number; sending the feedback message to a sending end, including:
and acquiring the periodic receiving quantity, and sending a feedback message to the sending end after receiving the first data packets of the periodic receiving quantity each time.
28. The method of claim 26, wherein the indication information for continuing to transmit the data packet includes a remaining transmission number; and/or:
the indication information for continuously sending the data packets comprises the number of the first data packets correctly received by the receiving end; and/or
The indication information of the continuously sent data packets comprises the number of the first data packets which cannot be correctly received by the receiving end; and/or:
the indication information for continuously sending the data packets includes a ratio or a ratio of the number of the first data packets correctly received by the receiving end to the number of the first data packets sent by the sending end.
29. The method of claim 27, wherein the indication information for continuing to transmit the data packet includes a remaining transmission number; and/or:
the indication information for continuously sending the data packets comprises the number of the first data packets correctly received by the receiving end; and/or
The indication information of the continuously sent data packets comprises the number of the first data packets which cannot be correctly received by the receiving end; and/or:
the indication information for continuously sending the data packets includes a ratio or a ratio of the number of the first data packets correctly received by the receiving end to the number of the first data packets sent by the sending end.
30. The method of claim 27, wherein the feedback message carries indication information for continuing to send data packets, and comprises:
and feeding back the residual sending quantity to be zero when the sending end is determined not to be required to continuously send the first data packet.
31. The method of claim 29, wherein the feedback message carries indication information for continuing to send data packets, and comprises:
and feeding back the residual sending quantity to be zero when the sending end is determined not to be required to continuously send the first data packet.
32. The method of any one of claims 26-31, further comprising:
acquiring a first codebook, wherein the first codebook comprises a plurality of codebook vectors and is used for decoding a first data packet;
when a first data packet sent by a sending end is received, receiving position identification indicating information corresponding to the first data packet, wherein the position identification indicating information is used for determining a position identification of a codebook vector corresponding to the first data packet in a first codebook, and acquiring the codebook vector corresponding to the first data packet from the first codebook according to the position identification;
acquiring at least two second data packets according to the received first data packets and corresponding codebook vectors, wherein the dimensionality of each second data packet is the cutting length;
and combining the second data packets into an original data packet, wherein the original data packet contains information to be sent to a receiving end.
33. The method of any one of claims 26-31, wherein receiving the location identity indication information corresponding to the first packet comprises:
the position identification indication information corresponding to the first data packet is a corresponding relation between a position identification and a system frame number and a position identification of a codebook vector corresponding to the first data packet in a first codebook, the system frame number indicates a number of a sub-cycle in a second cycle, the sub-cycle corresponding to the system frame number is used for sending the first data packet, and the system frame number is used as indication information of the position identification corresponding to the first data packet; the at least two first data packets are transmitted in at least two first periods, the first period comprises at least two second periods, the second period comprises at least two sub-periods, the number of the sub-periods included in all the second periods is equal, and one first data packet can be transmitted in each sub-period.
34. The method of claim 32, wherein receiving the location identity indication information corresponding to the first packet comprises:
the position identification indication information corresponding to the first data packet is a corresponding relation between a position identification and a system frame number and a position identification of a codebook vector corresponding to the first data packet in the first codebook, the system frame number indicates a number of a sub-cycle in a second cycle, the sub-cycle corresponding to the system frame number is used for sending the first data packet, and the system frame number is used as indication information of the position identification corresponding to the first data packet; the at least two first data packets are transmitted in at least two first periods, the first period comprises at least two second periods, the second period comprises at least two sub-periods, the number of the sub-periods included in all the second periods is equal, and one first data packet can be transmitted in each sub-period.
35. A method of receiving data, the method having all the features of the method of any one of claims 32 or 34, and wherein the obtaining a first codebook comprises:
receiving and acquiring a first codebook; or:
and determining the first codebook according to a predefined mode, and sending the first codebook to a sending end so that the sending end can encode the original data packet according to the first codebook.
36. The method of claim 35, wherein the correspondence between the location identifier and the system frame number is a relationship between a location identifier Coefficient and a system frame number SFN, and satisfies:
Coefficient=function(SFN,Previous Reference)
the Previous Reference is an integer, which is initially 0 and is automatically incremented every first cycle.
37. An apparatus for transmitting data, characterized in that:
the device comprises a first acquisition unit, a second acquisition unit and a processing unit, wherein the first acquisition unit is used for acquiring at least two first data packets, the first data packets comprise information needing to be sent to a receiving end, and each first data packet has a first length;
a first determining unit, configured to determine a sending number according to a number of first data packets, where the sending number is a number of first data packets sent to the receiving end, and the sending number is greater than 2 and smaller than the number of first data packets;
a first sending unit, configured to send the plurality of first data packets to a receiving end according to the sending number;
a first receiving unit, configured to receive a feedback message sent by the receiving end, where the feedback message carries indication information for continuing to send a data packet;
the signal processing unit is used for obtaining the residual sending quantity according to the indication information of the data packets to be sent continuously, wherein the residual sending quantity is the quantity of the first data packets which are sent continuously by the sending end to the receiving end, and the residual sending quantity is the difference value between the sending quantity and the quantity of the first data packets received by the receiving end;
the first sending unit is further configured to send the first data packets with the remaining sending number to the receiving end;
the first sending unit is further configured to send a feedback control message to the receiving end, where the feedback control message is used to notify the receiving end to send the feedback message.
38. The apparatus of claim 37, wherein the first obtaining unit is further configured to obtain a periodic transmission number, and receive the feedback message from the receiving end after each time the first data packets of the periodic transmission number are transmitted.
39. The apparatus of claim 37, wherein:
the indication information for continuously sending the data packets comprises the residual sending quantity; and/or:
the indication information for continuously sending the data packets comprises the number of the first data packets correctly received by the receiving end; and/or
The indication information of the continuously sent data packets comprises the number of the first data packets which cannot be correctly received by the receiving end; and/or:
the indication information for continuously sending the data packets includes a ratio or a ratio of the number of the first data packets correctly received by the receiving end to the number of the first data packets sent by the sending end.
40. The apparatus of claim 38, wherein:
the indication information for continuously sending the data packets comprises the residual sending quantity; and/or:
the indication information for continuously sending the data packets comprises the number of the first data packets correctly received by the receiving end; and/or
The indication information of the continuously sent data packets comprises the number of the first data packets which cannot be correctly received by the receiving end; and/or:
the indication information for continuously sending the data packets includes a ratio or a ratio of the number of the first data packets correctly received by the receiving end to the number of the first data packets sent by the sending end.
41. The apparatus of claim 37, wherein the first sending unit is further configured to:
and when the obtained remaining sending number is zero, stopping sending the first data packet.
42. The apparatus of claim 38, wherein the first sending unit is further configured to:
and when the obtained remaining sending number is zero, stopping sending the first data packet.
43. The apparatus of claim 39, wherein the first sending unit is further configured to:
and when the obtained remaining sending number is zero, stopping sending the first data packet.
44. The apparatus of claim 40, wherein the first sending unit is further configured to:
and when the obtained remaining sending number is zero, stopping sending the first data packet.
45. The apparatus according to any one of claims 37-44, wherein the first obtaining unit comprises:
the second acquisition unit is used for acquiring at least one original data packet, and the original data packet contains information to be sent to a receiving end;
a second determining unit, configured to determine a cutting length, and cut the original data packet into at least two second data packets according to the cutting length, where the dimension of each second data packet is the cutting length;
a third acquiring unit configured to acquire the first codebook;
a selection unit configured to select codebook vectors from a first codebook, the codebook vectors having the same number as that of a second packet and having the same dimensionality as that of the second packet,
and the multiplier is used for multiplying each second data packet by the corresponding codebook vector respectively to obtain a first data packet.
46. The apparatus of claim 45, further comprising:
a fourth obtaining unit, configured to determine a location identifier of a codebook vector corresponding to the first data packet in the first codebook;
the first sending unit is further configured to send, when sending a first data packet to a receiving end, indication information of a location identifier corresponding to the first data packet.
47. The apparatus of claim 45, further comprising:
a fifth obtaining unit, configured to determine a location identifier of a codebook vector corresponding to the first data packet in the first codebook;
a third determining unit, configured to determine a system frame number according to a correspondence between the position identifier and the system frame number and a position identifier, in the first codebook, of a codebook vector corresponding to a first data packet, where the system frame number indicates a number of a sub-cycle in a second cycle, and the sub-cycle corresponding to the system frame number is used to send the first data packet; the at least two first data packets are transmitted in at least two first periods, the first period comprises at least two second periods, the second period comprises at least two sub-periods, the number of the sub-periods included in all the second periods is equal, and one first data packet can be transmitted in each sub-period.
48. The apparatus of claim 46, wherein the third obtaining unit further comprises:
a second receiving unit configured to receive the first codebook; or
A setting unit configured to set the first codebook according to a second packet; and the second sending unit is used for sending the first codebook to a receiving end.
49. The apparatus of claim 47, wherein the third obtaining unit further comprises:
a second receiving unit configured to receive the first codebook; or
A setting unit configured to set the first codebook according to a second packet; and the second sending unit is used for sending the first codebook to a receiving end.
50. The apparatus of claim 46, wherein the corresponding relationship between the location identity Coefficient and a System Frame Number (SFN) is as follows:
Coefficient=function(SFN,Previous Reference)
the Previous Reference is an integer, which is initially 0 and is automatically incremented every first cycle.
51. The apparatus of claim 47, wherein the corresponding relationship between the location identity Coefficient and a system frame number SFN is as follows:
Coefficient=function(SFN,Previous Reference)
the Previous Reference is an integer, which is initially 0 and is automatically incremented every first cycle.
52. An apparatus for receiving data, comprising:
a first obtaining unit, configured to obtain a sending number, where the sending number is a number of first data packets sent by a sending end to a receiving end, and the first sending number is greater than 2 and smaller than the number of the first data packets;
a first receiving unit, configured to receive the first data packets, where the first data packets include information to be sent to a receiving end, and each first data packet has a first length;
a first determining unit, configured to determine a feedback message according to the sending number and the number of correctly received first data packets, where the feedback message carries indication information for continuing to send the first data packets;
a first sending unit, configured to send the feedback message to a sending end, and notify the sending end to continue sending a remaining number of first data packets according to the indication information of the data packets to be sent continuously, where the remaining number is a difference between the sending number and a number of first data packets received by a receiving end;
the first receiving unit is further configured to receive a remaining number of first data packets to be sent;
wherein the first receiving unit is further configured to receive a feedback control message,
the second sending unit is used for sending the feedback message according to the feedback control message.
53. The apparatus of claim 52, wherein the first sending unit sends a feedback message to the sending end after receiving a number of first packets each time after receiving a cycle.
54. The apparatus of claim 52, wherein the indication information for continuing to send the data packet includes a remaining number of transmissions; and/or:
the indication information for continuously sending the data packets comprises the number of the first data packets correctly received by the receiving end; and/or
The indication information of the continuously sent data packets comprises the number of the first data packets which cannot be correctly received by the receiving end; and/or:
the indication information for continuously sending the data packets includes a ratio or a ratio of the number of the first data packets correctly received by the receiving end to the number of the first data packets sent by the sending end.
55. The apparatus of claim 53, wherein the indication information for continuing to transmit the data packet includes a remaining transmission number; and/or:
the indication information for continuously sending the data packets comprises the number of the first data packets correctly received by the receiving end; and/or
The indication information of the continuously sent data packets comprises the number of the first data packets which cannot be correctly received by the receiving end; and/or:
the indication information for continuously sending the data packets includes a ratio or a ratio of the number of the first data packets correctly received by the receiving end to the number of the first data packets sent by the sending end.
56. The apparatus according to any of claims 52-55, wherein the first determining unit is further configured to: and feeding back the residual sending quantity to be zero when the sending end is determined not to be required to continuously send the first data packet.
57. An apparatus for receiving data, the apparatus having all the features of the apparatus of any one of claims 52 to 56 and further comprising:
a third obtaining unit, configured to obtain a first codebook, where the first codebook includes multiple codebook vectors and is used to perform a decoding operation on a first data packet;
the first receiving unit is configured to receive, when receiving a first data packet sent by a sending end, location identifier indication information corresponding to the first data packet, where the location identifier indication information is used to determine a location identifier of a codebook vector corresponding to the first data packet in the first codebook;
the third obtaining unit is further configured to obtain a codebook vector corresponding to the first data packet from a first codebook according to the location identifier;
a decoding unit, configured to obtain at least two second data packets according to a received first data packet and a corresponding codebook vector, where a dimension of each second data packet is a cutting length;
and the combination unit is used for combining the second data packet into an original data packet, and the original data packet contains information to be sent to a receiving end.
58. The apparatus according to claim 57, wherein the location identity indication information corresponding to the first packet is a system frame number for transmitting the first packet, the system frame number indicates a number of a sub-period in the second period, and the sub-period corresponding to the system frame number is used for transmitting the first packet; the at least two first data packets are transmitted in at least two first periods, the first period comprises at least two second periods, the second period comprises at least two sub-periods, the number of the sub-periods included in all the second periods is equal, and one first data packet can be transmitted in each sub-period.
59. An apparatus for receiving data, the apparatus having all the features of the apparatus of any one of claims 57 to 58, and the third obtaining unit comprising:
a fourth obtaining unit configured to obtain the first codebook; or:
a second determining unit configured to determine the first codebook according to a predefined manner; and a third sending unit, configured to send the first codebook to a sending end, so that the sending end encodes an original data packet according to the first codebook.
60. The apparatus of claim 59, wherein the corresponding relationship between the location identity Coefficient and a System Frame Number (SFN) is as follows:
Coefficient=function(SFN,Previous Reference)
the Previous Reference is an integer, which is initially 0 and is automatically incremented every first cycle.
CN201480078314.1A 2014-04-30 2014-04-30 Data transmission method and device Active CN106464503B (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2014/076637 WO2015165090A1 (en) 2014-04-30 2014-04-30 Data transmission method and apparatus

Publications (2)

Publication Number Publication Date
CN106464503A CN106464503A (en) 2017-02-22
CN106464503B true CN106464503B (en) 2020-07-14

Family

ID=54358044

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201480078314.1A Active CN106464503B (en) 2014-04-30 2014-04-30 Data transmission method and device

Country Status (2)

Country Link
CN (1) CN106464503B (en)
WO (1) WO2015165090A1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113645600A (en) * 2021-08-13 2021-11-12 Oppo广东移动通信有限公司 Data transmission method, device, terminal and storage medium

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW200511748A (en) * 2002-11-26 2005-03-16 Interdigital Tech Corp Bias error compensated initial transmission power control for data services
KR101141650B1 (en) * 2004-09-30 2012-05-17 엘지전자 주식회사 Method of data processing in MAC layer and mobile terminal
CN101258768B (en) * 2005-07-21 2011-06-01 T-移动国际股份及两合公司 Method and arrangement for optimizing the operational times and cell exchange performance of mobile terminals
US8774946B2 (en) * 2009-12-29 2014-07-08 Verizon Patent And Licensing Inc. Method and system for accurately determining service provider assets
US8391160B2 (en) * 2010-06-01 2013-03-05 Litepoint Corporation System and method for using multiple network addresses to establish synchronization of a device under test and test equipment controlling the test
KR101099345B1 (en) * 2010-12-01 2011-12-26 엘지전자 주식회사 Method for channel sounding in wireless local area network and apparatus for the same
CN102404702B (en) * 2011-11-07 2015-04-01 中兴通讯股份有限公司 Method, device and system for wireless data transmission
CN103078707B (en) * 2013-01-03 2015-06-10 北京理工大学 File transmission method in deep space communication

Also Published As

Publication number Publication date
WO2015165090A1 (en) 2015-11-05
CN106464503A (en) 2017-02-22

Similar Documents

Publication Publication Date Title
CN110769502B (en) Method, terminal equipment and network side equipment for multi-beam transmission of uplink channel
CN105376866B (en) The radio access technologies transmitted using discontinuous periodicity PUSCH
CN112152760B (en) PSFCH sending method and device
EP2624491B1 (en) Method and device for transmitting periodic feedback report
TW201705709A (en) Uplink control information transmission method and device
US20180176939A1 (en) Feedback information sending method, user equipment, and base station
CN106385309B (en) HARQ information sending and receiving method and node
CN109088702B (en) Communication method, network equipment and terminal
CN107370570B (en) Feedback information transmission method, UE, base station and system
US20200170033A1 (en) Transmission method, terminal device and base station
CN101645762B (en) Downlink scheduling method
CN115380596A (en) Transmission method and device for automatic retransmission request acknowledgement feedback information supporting multicast service
CN111566961B (en) Information transmission method and equipment
US20170171808A1 (en) Low power mode in a satellite-based broadcast data service
CN107483152B (en) Method, device and computer readable storage medium for sending and receiving data
CN106464503B (en) Data transmission method and device
US9232376B2 (en) Concurrent voice and data service on a same digital radio channel
RU2549138C2 (en) System and method of allocating transmission resources
CN109802800B (en) Communication method and device
CN110958040B (en) Receiving method and feedback method of channel state information, network side equipment and terminal
JP6310102B2 (en) Method and apparatus for data transmission
CN109309549B (en) Feedback duration indication and confirmation method, base station and user equipment
EP3621232A1 (en) Data transmission method, terminal, and base station
JP7148639B2 (en) Data transmission method and communication device
CN117441302A (en) Data processing method, device and system

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20200617

Address after: 710000 Xijing International Electric Center A914, Electronic Third Road, Yanta District, Xi'an City, Shaanxi Province

Applicant after: SHAANXI JIANFENG SHENGDA AEROSPACE TECHNOLOGY Co.,Ltd.

Address before: 518000 Baoan District Xin'an street, Shenzhen, Guangdong, No. 625, No. 625, Nuo platinum Plaza,

Applicant before: SHENZHEN SHANGGE INTELLECTUAL PROPERTY SERVICE Co.,Ltd.

Effective date of registration: 20200617

Address after: 518000 Baoan District Xin'an street, Shenzhen, Guangdong, No. 625, No. 625, Nuo platinum Plaza,

Applicant after: SHENZHEN SHANGGE INTELLECTUAL PROPERTY SERVICE Co.,Ltd.

Address before: 518129 Bantian HUAWEI headquarters office building, Longgang District, Guangdong, Shenzhen

Applicant before: HUAWEI TECHNOLOGIES Co.,Ltd.

GR01 Patent grant
GR01 Patent grant