Data transmission device and method
Technical Field
The invention relates to the field of internet of things, in particular to a data transmission device and a data transmission method.
Background
In 3GPP (3rd Generation Partnership Project) LTE (Long Term Evolution) or LTE-a (LTE-advanced Evolution) systems, a terminal needs to transmit data to a base station to interact with the base station.
Currently, a terminal may transmit data to a base station in a following method, including: the terminal selects a redundancy version from the redundancy version set, acquires an initial position corresponding to the redundancy version, selects 288 bits of data (each wireless subframe can bear 288 bits of data) from the data to be transmitted according to the initial position, bears the selected 288 bits of data on the wireless subframe, bears the wireless subframe on a resource block, and sends the resource block to the base station to complete the data transmission process.
The redundancy version set includes 4 redundancy versions, which are respectively redundancy versions 0, 1, 2, and 3, and the starting positions corresponding to the redundancy versions 0, 1, 2, and 3 are shown in fig. 1.
In the process of implementing the invention, the inventor finds that the prior art has at least the following problems:
because only four redundancy versions exist in the redundancy version set, and the initial position of the data selection corresponding to each redundancy version is fixed, no matter how many times the data is transmitted, a part of data in the data to be transmitted can not be transmitted, so that a part of data in the data to be transmitted can be discarded, the code rate is high, and the coding gain can not be obtained.
Disclosure of Invention
In order to solve the problems in the prior art, embodiments of the present invention provide an apparatus and a method for data transmission. The technical scheme is as follows:
in a first aspect, the present invention provides an apparatus for data transmission, the apparatus comprising:
the encoding module is used for encoding first data to be transmitted to obtain second data;
a determining module, configured to determine a plurality of radio subframes required for transmitting the second data, and a data size that can be carried by each of the plurality of radio subframes;
a selecting module, configured to select, according to a data size of the second data and a data size that can be carried by each radio subframe, third data transmitted on each radio subframe from the second data, where the data size of the third data transmitted on each radio subframe is the same as the data size that can be carried by each radio subframe;
a transmission module, configured to transmit the third data on each of the radio subframes, respectively.
With reference to the first aspect, in a first possible implementation manner of the first aspect, the selecting module includes:
a first obtaining unit, configured to obtain a starting position of data selection of each radio subframe according to a data size of the second data;
a first selecting unit, configured to select, according to a starting position of the data selection of each radio subframe and a size of data that can be carried by each radio subframe, third data transmitted on each radio subframe from the second data.
With reference to the first possibility of the first aspect, in a second possible implementation manner of the first aspect, the first obtaining unit includes:
a first calculating subunit, configured to calculate, according to a data size of the second data and a data size that can be carried by each radio subframe, a number of redundancy versions required for transmitting the second data;
an obtaining subunit, configured to obtain, according to the number of redundancy versions, a redundancy version sequence number of the third data transmitted on each radio subframe;
and the second calculating subunit is used for calculating the starting position of data selection of each wireless subframe according to the data size and the redundancy version number of the second data and the redundancy version sequence number of the third data transmitted on each wireless subframe.
With reference to the second possibility of the first aspect, in a third possible implementation manner of the first aspect, the second calculating subunit is configured to calculate, according to a data size of the second data and a number of rows of an interleaver used for the second data, a number of columns of the interleaver; calculating the starting position of data selection of each wireless subframe according to the column number of the interleaver, the data size of the second data, the redundancy version number and the redundancy version sequence number of the third data transmitted on each wireless subframe by the following formula (1):
wherein k0 is the starting position selected for the data of each radio subframe,is the number of columns of the interleaver, NcbIs the data size, RV, of the second datanumFor the number of redundancy versions, rvindexAnd the sequence number of the redundancy version of the third data transmitted on each wireless subframe.
With reference to the second possibility of the first aspect, in a fourth possible implementation manner of the first aspect, the first calculating subunit is configured to calculate a ratio of a data size of the second data to a data size that can be carried by each radio subframe; and taking the upper round or the lower round of the ratio as the number of redundancy versions required for transmitting the second data.
With reference to the second possibility of the first aspect, in a fifth possible implementation manner of the first aspect, the obtaining subunit is configured to obtain a system frame number of each radio subframe; and calculating the redundancy version serial number of each wireless subframe according to the system frame number and the redundancy version number of each wireless subframe.
With reference to the fifth possibility of the first aspect, in a sixth possible implementation manner of the first aspect, the obtaining subunit is configured to calculate, according to the system frame number and the redundancy version number of each radio subframe, a redundancy version sequence number of each radio subframe according to the following formula (2):
rvindex=NTTImod RVnum;(2)
wherein, rvindexFor the redundancy version number, RV, of each radio subframenumFor said number of redundancy versions, NTTIThe system frame number of each wireless subframe is obtained.
With reference to the first aspect, in a seventh possible implementation manner of the first aspect, the selecting module includes:
a second obtaining unit, configured to obtain a starting position of data selection of each radio subframe according to a data size of the second data;
a second selecting unit for selecting one starting position from the starting positions of the data selection of each wireless subframe;
and a third selecting unit, configured to continuously and cyclically select, from the second data, third data to be transmitted on each radio subframe according to the selected starting position and the size of data that can be carried by each radio subframe.
In a second aspect, the present invention provides a method for data transmission, the method comprising:
coding first data to be transmitted to obtain second data;
determining a plurality of radio subframes required for transmitting the second data and a data size capable of being carried by each of the plurality of radio subframes;
selecting third data transmitted on each wireless subframe from the second data according to the data size of the second data and the data size capable of being carried by each wireless subframe, wherein the data size of the third data transmitted on each wireless subframe is the same as the data size capable of being carried by each wireless subframe;
transmitting the third data on each of the radio subframes, respectively.
With reference to the second aspect, in a first possible implementation manner of the second aspect, the selecting, according to the data size of the second data and the data size that can be carried by each radio subframe, third data transmitted on each radio subframe from the second data includes:
acquiring the initial position of data selection of each wireless subframe according to the data size of the second data;
and selecting third data transmitted on each wireless subframe from the second data according to the starting position of the data selection of each wireless subframe and the size of data which can be carried by each wireless subframe.
With reference to the first possibility of the second aspect, in a second possible implementation manner of the second aspect, the obtaining a starting position of data selection of each radio subframe according to a data size of the second data includes:
calculating the number of redundancy versions required for transmitting the second data according to the data size of the second data and the data size which can be borne by each wireless subframe;
acquiring a redundancy version sequence number of third data transmitted on each wireless subframe according to the redundancy version number;
and calculating the initial position of data selection of each wireless subframe according to the data size and the redundancy version number of the second data and the redundancy version sequence number of the third data transmitted on each wireless subframe.
With reference to the second possibility of the second aspect, in a third possible implementation manner of the second aspect, the calculating a starting position of data selection of each radio subframe according to the data size of the second data, the number of redundancy versions, and a redundancy version number of third data transmitted on each radio subframe includes:
calculating the column number of the interleaver according to the data size of the second data and the row number of the interleaver used by the second data;
calculating the starting position of data selection of each wireless subframe according to the column number of the interleaver, the data size of the second data, the redundancy version number and the redundancy version sequence number of the third data transmitted on each wireless subframe by the following formula (1):
wherein k0 is the starting position selected for the data of each radio subframe,is the number of columns of the interleaver, NcbIs the data size, RV, of the second datanumFor the number of redundancy versions, rvindexAnd the sequence number of the redundancy version of the third data transmitted on each wireless subframe.
With reference to the second possibility of the second aspect, in a fourth possible implementation manner of the second aspect, the calculating, according to the data size of the second data and the data size that can be carried by each radio subframe, the number of redundancy versions required for transmitting the second data includes:
calculating the ratio of the data size of the second data to the data size which can be carried by each radio subframe;
and taking the upper round or the lower round of the ratio as the number of redundancy versions required for transmitting the second data.
With reference to the second possibility of the second aspect, in a fifth possible implementation manner of the second aspect, the obtaining the sequence number of the redundancy versions of each radio subframe according to the number of the redundancy versions includes:
acquiring the system frame number of each wireless subframe;
and calculating the redundancy version serial number of each wireless subframe according to the system frame number and the redundancy version number of each wireless subframe.
With reference to the fifth possibility of the second aspect, in a sixth possible implementation manner of the second aspect, the calculating a redundancy version number of each radio subframe according to the system frame number and the redundancy version number of each radio subframe includes:
calculating the redundancy version sequence number of each wireless subframe according to the system frame number and the redundancy version number of each wireless subframe by the following formula (2):
rvindex=NTTImod RVnum;(2)
wherein, rvindexFor the redundancy version number, RV, of each radio subframenumFor said number of redundancy versions, NTTiThe system frame number of each wireless subframe is obtained.
With reference to the second aspect, in a seventh possible implementation manner of the second aspect, the selecting, according to the data size of the second data and the data size that can be carried by each radio subframe, third data transmitted on each radio subframe from the second data includes:
acquiring the initial position of data selection of each wireless subframe according to the data size of the second data;
selecting a starting position from the starting positions of the data selection of each wireless subframe;
and continuously and circularly selecting third data transmitted on each wireless subframe from the second data according to the selected starting position and the size of data which can be carried by each wireless subframe.
In a third aspect, the present invention provides an apparatus for data transmission, the apparatus comprising: a processor and a transmitter;
the processor is used for coding first data to be transmitted to obtain second data;
the processor is further configured to determine a plurality of radio subframes required for transmitting the second data and a data size that can be carried by each of the plurality of radio subframes;
the processor is further configured to select third data transmitted on each radio subframe according to the data size of the second data and the data size that can be carried by each radio subframe, where the data size of the third data transmitted on each radio subframe is the same as the data size that can be carried by each radio subframe;
the transmitter is further configured to transmit the third data on each of the radio subframes, respectively.
With reference to the third aspect, in a first possible implementation manner of the third aspect, the processor is further configured to obtain a start position of data selection of each radio subframe according to a data size of the second data;
the processor is further configured to select third data transmitted on each radio subframe from the second data according to a starting position of the data selection of each radio subframe and a data size that can be carried by each radio subframe.
With reference to the first possibility of the third aspect, in a second possible implementation manner of the third aspect, the processor is further configured to calculate, according to a data size of the second data and a data size that can be carried by each radio subframe, a number of redundancy versions required for transmitting the second data;
the processor is further configured to obtain a redundancy version number of third data transmitted on each radio subframe according to the redundancy version number;
the processor is further configured to calculate a starting position of data selection of each wireless subframe according to the data size of the second data, the number of redundancy versions, and a redundancy version sequence number of third data transmitted on each wireless subframe.
With reference to the second possibility of the third aspect, in a third possible implementation manner of the third aspect, the processor is further configured to calculate, according to the data size of the second data and the number of rows of an interleaver used by the second data, the number of columns of the interleaver;
the processor is further configured to calculate, according to the number of columns of the interleaver, the data size of the second data, the number of redundancy versions, and a redundancy version number of third data transmitted on each radio subframe, a starting position of data selection of each radio subframe by using the following formula (1), respectively:
wherein k0 is the starting position selected for the data of each radio subframe,is the number of columns of the interleaver, NcbIs the data size, RV, of the second datanumFor the number of redundancy versions, rvindexAnd the sequence number of the redundancy version of the third data transmitted on each wireless subframe.
With reference to the second possibility of the third aspect, in a fourth possible implementation manner of the third aspect, the processor is further configured to calculate a ratio of a data size of the second data to a data size that can be carried by each radio subframe;
the processor is further configured to use the rounding-up or rounding-down of the ratio as the number of redundancy versions required for transmitting the second data.
With reference to the second possibility of the third aspect, in a fifth possible implementation manner of the third aspect, the processor is further configured to obtain a system frame number of each radio subframe;
the processor is further configured to calculate a redundancy version number of each wireless subframe according to the system frame number and the redundancy version number of each wireless subframe.
With reference to the fifth possibility of the third aspect, in a sixth possible implementation manner of the third aspect, the processor is further configured to calculate, according to the system frame number and the redundancy version number of each radio subframe, a redundancy version sequence number of each radio subframe by using the following formula (2):
rvindex=NTTImod RVnum;(2)
wherein, rvindexFor the redundancy version number, RV, of each radio subframenumFor said number of redundancy versions, NTTIThe system frame number of each wireless subframe is obtained.
With reference to the third aspect, in a seventh possible implementation manner of the third aspect, the processor is further configured to obtain a start position of data selection of each radio subframe according to a data size of the second data;
the processor is further configured to select a starting position from the starting positions of the data selection of each radio subframe;
the processor is further configured to continuously and cyclically select third data transmitted on each radio subframe from the second data according to the selected starting position and the size of data that can be carried by each radio subframe.
The technical scheme provided by the embodiment of the invention has the beneficial effects that: coding first data to be transmitted to obtain second data; determining a plurality of radio subframes required for transmitting second data and a data size capable of being carried by each radio subframe in the plurality of radio subframes; selecting third data transmitted on each wireless subframe from the second data according to the data size of the second data and the data size capable of being carried by each wireless subframe, wherein the data size of the third data transmitted on each wireless subframe is the same as the data size capable of being carried by the corresponding wireless subframe; the third data is transmitted separately on each radio subframe. According to the invention, the third data transmitted on each wireless subframe is selected from the second data according to the data size of the second data and the data size capable of being carried by each wireless subframe, so that all information bits can be transmitted, the coding rate is reduced, and the coding gain is improved.
Drawings
In order to more clearly illustrate the technical solutions in the embodiments of the present invention, the drawings needed to be used in the description of the embodiments will be briefly introduced below, and it is obvious that the drawings in the following description are only some embodiments of the present invention, and it is obvious for those skilled in the art to obtain other drawings based on these drawings without creative efforts.
FIG. 1 is a schematic diagram of a starting position of data selection provided in the background of the invention;
fig. 2 is a schematic structural diagram of a data transmission apparatus according to embodiment 1 of the present invention;
fig. 3 is a flowchart of a method for data transmission according to embodiment 2 of the present invention;
fig. 4 is a flowchart of a method for data transmission according to embodiment 3 of the present invention;
fig. 5 is a schematic structural diagram of a data transmission apparatus according to embodiment 4 of the present invention.
Detailed Description
In order to make the objects, technical solutions and advantages of the present invention more apparent, embodiments of the present invention will be described in detail with reference to the accompanying drawings.
Example 1
Referring to fig. 2, an embodiment of the present invention provides a data transmission apparatus, which may be a terminal or a base station, and the apparatus includes: an encoding module 101, a determining module 102, a selecting module 103 and a transmitting module 104.
The encoding module 101 is configured to encode first data to be transmitted to obtain second data;
when a terminal transmits data to a base station or the base station transmits data to the terminal, the coding module 101 obtains the data to be transmitted, uses the data to be transmitted as first data, and codes the first data to obtain second data in order to improve the anti-interference capability of the first data.
The encoding module 101 may encode the first data to be transmitted in any encoding manner, for example, Turbo2/3 or Turbo1/3 encoding is performed on the first data to be transmitted to obtain the second data.
For example, if the data size of the first data to be transmitted is 1000, Turbo1/3 encoding is performed on the first data to obtain the second data, and the data size of the second data is 3000.
The specific process of Turbo1/3 encoding the first data is prior art and will not be described in detail herein.
A determining module 102, configured to determine a plurality of radio subframes required for transmitting the second data, and a data size that can be carried by each of the plurality of radio subframes;
when the terminal transmits the second data to the base station, or when the base station transmits the second data to the terminal, the determination module determines a plurality of radio subframes required for transmitting the second data, and then transmits the second data on the determined radio subframes.
The process of determining the size of data that can be carried by each radio subframe in the plurality of radio subframes by the determining module is as follows:
for each radio subframe, the total number of bits available for transmission of one transport block is denoted as G, that is, G represents, at a bit level, the resources that one transport block can occupy on the radio subframe, and in the embodiment of the present invention, G equals 288.
G ═ G/(N)L*Qm),NLEqual to 2 when transmit diversity is employed, otherwise, NLEqual to the number of layers to which a transport block is mapped, i.e. NLEqual to 1. When QPSK is used as modulation mode, Q is setm2; when the adopted modulation mode is 16QAM, Qm4; when the adopted modulation mode is 64QAM, Qm=6。
Let y be G' modC, C be the number of code blocks, the number of code blocks is related to the data size of the first data, if the data size of the first data is in the range of 0-6144, C be 1, if the data size of the first data is in the range of 6145-.
Let Er=NL*Qm*y,ErIndicating the data size that can be carried on the radio subframe, i.e. selecting the data size to be E for the radio subframe each timer。
For example, G-288, NL1, the modulation scheme adopted by the present invention is QPSK, i.e., QmWhen 2, G ═ G/(NL ═ Q)m) 144, the data size of the first data is 1000, and 1000 is in the range of 0-6144, then C is 1; then y ═ G' modC ═ 144, Er=NL*QmY-1-2-144-288, that is, the data size that can be carried on the radio subframe is 288 bits, that is, the data size of each selected data is 288 bits.
It should be noted that, each radio subframe calculates the size of data that can be carried on the radio subframe according to the above method, and the size of data that can be carried on each radio subframe may be the same or different.
A selecting module 103, configured to select, according to a data size of the second data and a data size that can be carried by each radio subframe, third data transmitted on each radio subframe from the second data, where the data size of the third data transmitted on each radio subframe is the same as the data size that can be carried by each radio subframe;
wherein, the selecting module 103 includes: the device comprises a first acquisition unit and a first selection unit.
A first obtaining unit, configured to obtain a start position of data selection of each radio subframe according to a data size of the second data;
when the second data is transmitted, the second data is carried on the radio subframe, and therefore, the first obtaining unit needs to obtain the starting position of data selection of each radio subframe, and according to the starting position of data selection of each radio subframe, the third data carried on the radio subframe is selected from the second data.
Wherein, first acquisition unit includes: a first calculating subunit, an acquiring subunit and a second calculating subunit.
The first calculating subunit is used for calculating the number of redundancy versions required for transmitting the second data according to the data size of the second data and the data size capable of being carried by each wireless subframe;
the first calculating subunit is used for calculating the ratio of the data size of the second data to the data size which can be carried by each wireless subframe; the upper or lower rounding of the ratio is taken as the number of redundancy versions required for transmitting the second data.
If the ratio is an integer, the first calculating subunit directly takes the ratio as the number of redundancy versions required for transmitting the second data; if the ratio is non-integer, the first calculating subunit adds one to the integer part of the ratio as the number of redundancy versions needed for transmitting the second data; if the ratio is non-integer, the integer part of the ratio may also be reduced by one as the number of redundancy versions required for transmitting the second data.
For example, the data size of the second data is 3000 bits, the data size that can be carried by each radio subframe is 288 bits, the ratio of 3000 to 288 is 10.4, the integer part of 10.4 is 10, and in the embodiment of the present invention, 10 plus 1, that is, 11 is taken as the number of redundancy versions RV required for transmitting the second datanum。
Wherein each redundancy version corresponds to a start position of a data selection.
An obtaining subunit, configured to obtain, according to the number of redundancy versions, a redundancy version number of third data transmitted on each radio subframe;
and when the second data is transmitted, selecting redundancy versions from the redundancy version set, wherein each redundancy version corresponds to a starting position of data selection, acquiring the starting positions of the data selection corresponding to the selected redundancy versions, and selecting third data transmitted on each wireless subframe from the second data according to the starting positions. Therefore, it is necessary to acquire the redundancy version number of the third data transmitted on each radio subframe.
The value range of the redundancy version serial number of the third data transmitted on each wireless subframe is 0-redundancy version number-1.
The acquiring subunit is further configured to acquire a system frame number of each radio subframe; and calculating the redundancy version serial number of each wireless subframe according to the system frame number and the redundancy version number of each wireless subframe.
The acquiring subunit is further configured to calculate, according to the system frame number and the redundancy version number of each radio subframe, a redundancy version number of each radio subframe by using the following formula (2):
rvindex=NTTImod RVnum;(2)
wherein, rvindexFor the redundancy version number, RV, of each radio subframenumFor the number of redundancy versions, NTTIThe system frame number for each radio subframe.
For example, if the system frame number of the current subframe is 23, the remainder between 23 and 11 is 1, and the sequence number of the redundancy version of the current subframe is 1.
In this step, the redundancy version number may be selected from the redundancy version set according to the number of transmission radio subframes. For example, when the second data is transmitted for the first time, the radio subframe selects redundancy version 0, and when the second data is transmitted for the second time, the radio subframe selects redundancy version 1, RVnumWhen the second data is transmitted, the wireless subframe selects the redundancy version RVnum1, RV-num+1 second data transmission, radio subframeRedundancy version 0 is selected, looping through.
And the second calculating subunit is used for calculating the starting position of data selection of each wireless subframe according to the data size of the second data, the number of redundancy versions and the redundancy version sequence number of the third data transmitted on each wireless subframe.
A second calculating subunit, configured to calculate, according to the data size of the second data and the row number of the interleaver used for the second data, the column number of the interleaver; according to the column number of the interleaver, the data size of the second data, the number of redundancy versions and the redundancy version number of the third data transmitted on each wireless subframe, respectively calculating the starting position of data selection of each wireless subframe by the following formula (1):
the number of rows of the interleaver is a fixed value 32, the number of columns of the interleaver is set according to the data size of the first data, and the number of columns of the interleaver satisfies the minimum value of the data size +4 ≦ of the first data (the number of rows and columns of the interleaver).
For example, if the data size of the first data is 1000, 1000+4 ≦ (32 × number of columns of the interleaver), the number of columns of the interleaver is calculated to be 32. Data size N of second datacb3000, number of redundancy versions RVnumTo 11, redundancy version number rv of each radio subframeindexRespectively 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, the starting position of the data selection for each radio subframe calculated by the above formula is respectively 64, 336, 609, 882, 1154, 1427, 1699, 1972, 2245, 2517, 2790.
And the first selection unit is used for selecting the third data transmitted on each wireless subframe from the second data according to the starting position of the data selection of each wireless subframe and the data size capable of being carried by each wireless subframe.
And the data size of the third data transmitted on each radio subframe is the same as the data size which can be carried by the radio subframe.
And the first selection unit is used for selecting third data with the data size capable of being carried by the wireless subframe from the starting position of the data selection of the wireless subframe in the second data according to the starting position of the data selection of each wireless subframe.
For example, each radio subframe can carry the same size of data, which is 288 bits, and 288 bits of data are selected from 64 bits in the second data according to the 64 bits of the starting position of data selection of the first radio subframe, that is, 64-351 bits of data are selected from the first radio subframe; according to the 336 bits of the starting position of the data selection of the second radio subframe, 288 bits of data are selected from 336 bits of the second data, namely 336 bits and 623 bits of data are selected from the second radio subframe; 288 bits of data are selected from 609 bits in the second data according to the 609 bits of the starting position of the data selection of the third radio subframe, namely the data with 609 bits and 896 bits are selected by the third radio subframe; 288 bits of data are selected from the second data 882 according to the starting position 882 of the data selection of the fourth radio subframe, namely the data of the fourth radio subframe selection 882 and 1169 bits are selected; according to the initial position 1154 of the data selection of the fifth wireless subframe, 288 bits of data are selected from the second data 1154, namely the fifth wireless subframe selects 1154 and 1441 bits of data; according to the starting position 1427 of data selection of the sixth radio subframe, 288 bits of data are selected from the second data 1427, that is, the sixth radio subframe selects 1427 and 1714 bits of data; 288 bit data are selected from the second data 1699 according to the starting position 1699 of the data selection of the seventh radio subframe, namely 1699-1986 bit data are selected by the seventh radio subframe; 288 bits of data are selected from the second data according to the starting position 1972 of the data selection of the eighth radio subframe, namely the eighth radio subframe selects 1972 and 2259 bits of data; according to the starting position 2245 of the data selection of the ninth radio subframe, 288 bits of data are selected from the second data 2245, that is, the ninth radio subframe selects 2245 and 2532 bits of data; 288 bits of data are selected from the second data 2517 according to the starting position 2517 of the data selection of the tenth wireless subframe, namely the tenth wireless subframe selects 2517 and 2804 bits of data; 288 bits of data are selected from the second data from 2790 according to the initial position 2790 of data selection of the eleventh radio subframe, since the data size of the second data is 3000, 2790 + 2999 bits of data, namely 210 bits of data, are selected from the second data, then 78 bits of data are selected from 0, namely 0-77 bits are selected, and 2790 + 3000 and 0-77 bits of data are selected for the eleventh radio subframe.
It can be seen that 0-2999 of the second data is selected, i.e., the second data is transmitted, and the second data is not discarded, which reduces the coding rate and improves the coding gain.
For another example, if the size of data that can be carried by the first radio subframe is 288, the starting position of data selection is 14, the size of data that can be carried by the second radio subframe is 144, and the starting position of data selection is 200, the third data selected from the second data in the first radio subframe is 14-301, and the third data selected from the second data in the second radio subframe is 200-.
Wherein, the selecting module 103 further includes: a second obtaining unit, a second selecting unit and a third selecting unit;
a second obtaining unit, configured to obtain a start position of data selection of each radio subframe according to a data size of the second data;
the starting position of the data selection for acquiring each wireless subframe by the second acquiring unit is the same as the starting position of the data selection for acquiring each wireless subframe by the first acquiring unit, and is not described herein again.
A second selection unit for selecting one start position from among start positions of data selection of each radio subframe;
the starting position of data selection of each radio subframe may be randomly selected from the starting positions of data selection of each radio subframe, or the starting position of data selection of a radio subframe corresponding to redundancy version 0 may be selected.
And a third selecting unit, configured to continuously and cyclically select, from the second data, third data transmitted on each radio subframe according to the selected starting position and the size of data that can be carried by each radio subframe.
When the data size from the starting position of the data selection to the last bit of the second data is smaller than the data size which can be carried by the wireless subframe, the data size from the starting position of the data selection to the last bit of the second data is selected from the second data, and then the data is selected circularly from the first bit of the second data until the third data size is equal to the data size which can be carried by the wireless subframe.
For example, if the data size of the second data is 3000, the bit range of the second data is 0-2999, the starting position of the data selection is 2944, the data size that can be carried by the radio subframe is 288 bits, if the data size of 2944 and 2999 is 55 smaller than the data size that can be carried by the radio subframe is 288 bits, 2944 and 0-231 bits of data are selected from the second data.
For example, the starting position of the data selection of the radio subframe corresponding to the redundancy version 0 is selected to be 64, the size of the data that can be carried by each radio subframe is 288 bits, starting from 64 bits of the second data, the first radio subframe selects 64-351 bits of data from the second data, the second radio subframe selects 352-, the tenth radio subframe is selected 2656 + 2943 from the second data and the eleventh radio subframe is selected 2944 + 2999 and 0-231 from the second data.
A transmission module 104, configured to transmit the third data on each radio subframe respectively.
Wherein, the transmission module includes: the device comprises a modulation unit, a first bearing unit, a second bearing unit and a transmission unit;
the modulation units are used for respectively modulating the third data to obtain modulated third data;
and sequentially connecting the bits of the third data to obtain continuous coded bits, and modulating the continuous coded bits to obtain modulated third data.
Any modulation processing, such as QPSK modulation, 16QAM or 64QAM, may be performed on the third data in the present invention, the modulation method is not specifically limited in the present invention, and the modulation processing on the third data is the prior art, and will not be described in detail here.
The first bearing unit is used for respectively bearing the modulated third data on one wireless subframe to obtain a plurality of wireless subframes for bearing the third data;
and the second bearing unit is used for respectively bearing each wireless subframe in the wireless subframes of the third data on one resource block to obtain a plurality of resource blocks bearing the third data.
When the terminal sends the second data to the base station, or the base station sends the second data to the terminal, the wireless subframe cannot be directly sent, and the wireless subframe needs to be carried on the resource block.
And the transmission unit is used for sequentially transmitting the plurality of resource blocks.
And transmitting one resource block at a time, and sequentially transmitting the obtained plurality of resource blocks bearing the third data to the base station, or sequentially transmitting the obtained plurality of resource blocks bearing the third data to the terminal.
Further, the base station sequentially receives a resource block carrying third data sent by the terminal, acquires the modulated third data from the resource block, demodulates the modulated third data to obtain a plurality of third data, and decodes the plurality of third data to obtain the first data.
Or the terminal receives the resource block carrying the third data sent by the base station in sequence, acquires the modulated third data from the resource block, demodulates the modulated third data to obtain a plurality of third data, and decodes the plurality of third data to obtain the first data.
If the base station determines that a certain third data is damaged in the transmission process, the base station can also send a retransmission request to the terminal, wherein the retransmission request carries an identifier of the third data to be retransmitted; the terminal receives a retransmission request sent by the base station, acquires an identifier of third data needing to be retransmitted, which is carried in the retransmission request, acquires the third data according to the identifier of the third data, loads the third data on a resource block corresponding to a wireless subframe, and sends the resource block to the base station.
In the embodiment of the invention, first data to be transmitted are coded to obtain second data; determining a plurality of radio subframes required for transmitting second data and a data size capable of being carried by each radio subframe in the plurality of radio subframes; selecting third data transmitted on each wireless subframe from the second data according to the data size of the second data and the data size capable of being carried by each wireless subframe, wherein the data size of the third data transmitted on each wireless subframe is the same as the data size capable of being carried by the corresponding wireless subframe; the third data is transmitted separately on each radio subframe. According to the invention, the third data transmitted on each wireless subframe is selected from the second data according to the data size of the second data and the data size capable of being carried by each wireless subframe, so that all information bits can be transmitted, the coding rate is reduced, and the coding gain is improved.
Example 2
Referring to fig. 3, an embodiment of the present invention provides a data transmission method, where an execution subject of the method may be a terminal or a base station, where the method includes:
step 201: coding first data to be transmitted to obtain second data;
step 202: determining a plurality of radio subframes required for transmitting second data and a data size capable of being carried by each radio subframe in the plurality of radio subframes;
step 203: selecting third data transmitted on each wireless subframe from the second data according to the data size of the second data and the data size capable of being carried by each wireless subframe, wherein the data size of the third data transmitted on each wireless subframe is the same as the data size capable of being carried by each wireless subframe;
step 204: the third data is transmitted separately on each radio subframe.
In the embodiment of the invention, first data to be transmitted are coded to obtain second data; determining a plurality of radio subframes required for transmitting second data and a data size capable of being carried by each radio subframe in the plurality of radio subframes; selecting third data transmitted on each wireless subframe from the second data according to the data size of the second data and the data size capable of being carried by each wireless subframe, wherein the data size of the third data transmitted on each wireless subframe is the same as the data size capable of being carried by the corresponding wireless subframe; the third data is transmitted separately on each radio subframe. According to the invention, the third data transmitted on each wireless subframe is selected from the second data according to the data size of the second data and the data size capable of being carried by each wireless subframe, so that all information bits can be transmitted, the coding rate is reduced, and the coding gain is improved.
Example 3
Referring to fig. 4, an embodiment of the present invention provides a data transmission method, where an execution subject of the method may be a terminal or a base station, where the method includes:
step 301: coding first data to be transmitted to obtain second data;
when the terminal transmits data to the base station, the terminal acquires the data to be transmitted, the data to be transmitted is used as first data, and the first data is coded to obtain second data in order to improve the anti-interference capacity of the first data. Or,
when the base station transmits data to the terminal, the base station acquires the data to be transmitted, takes the data to be transmitted as first data, and codes the first data to improve the anti-interference capability of the first data to obtain second data.
The first data to be transmitted may be encoded by any encoding method, for example, Turbo2/3 or Turbo1/3 encoding is performed on the first data to be transmitted to obtain the second data.
For example, if the data size of the first data to be transmitted is 1000, Turbo1/3 encoding is performed on the first data to obtain the second data, and the data size of the second data is 3000.
The specific process of Turbo1/3 encoding the first data is prior art and will not be described in detail herein.
Step 302: determining a plurality of radio subframes required for transmitting second data and a data size capable of being carried by each radio subframe in the plurality of radio subframes;
when the terminal transmits the second data to the base station, the base station determines a plurality of wireless subframes required for transmitting the second data, and sends the system frame number of the determined wireless subframes to the terminal.
When the base station transmits the second data to the terminal, the base station directly determines a plurality of radio subframes required for transmitting the second data and then transmits the second data on the determined radio subframes.
The process of determining the size of data that can be carried by each of the plurality of radio subframes is as follows:
for each radio subframe, the total number of bits available for transmission of one transport block is denoted as G, that is, G represents, at a bit level, the resources that one transport block can occupy on the radio subframe, and in the embodiment of the present invention, G equals 288.
G ═ G/(N)L*Qm),NLEqual to 2 when transmit diversity is employed, otherwise, NLEqual to the number of layers to which a transport block is mapped, i.e. NLEqual to 1. When QPSK is used as modulation mode, Q is setm2; when the adopted modulation mode is 16QAM, Qm4; when the adopted modulation mode is 64QAM, Qm=6。
Let y be G' modC, C be the number of code blocks, the number of code blocks is related to the data size of the first data, if the data size of the first data is in the range of 0-6144, C be 1, if the data size of the first data is in the range of 6145-.
Let Er=NL*Qm*y,ErIndicating the data size that can be carried on the radio subframe, i.e. selecting the data size to be E for the radio subframe each timer。
For example, G-288, NL1, the modulation scheme adopted by the present invention is QPSK, i.e., QmWhen 2, G ═ G/(NL ═ Q)m) 144, the data size of the first data is 1000, and 1000 is in the range of 0-6144, then C is 1; then y ═ G' modC ═ 144, Er=NL*QmY-1-2-144-288, that is, the data size that can be carried on the radio subframe is 288 bits, that is, the data size of each selected data is 288 bits.
It should be noted that, each radio subframe calculates the size of data that can be carried on the radio subframe according to the above method, and the size of data that can be carried on each radio subframe may be the same or different.
Step 303: acquiring the initial position of data selection of each wireless subframe according to the data size of the second data;
when the second data is transmitted, the second data is loaded on the wireless subframe, so that the starting position of the data selection of each wireless subframe needs to be acquired, and the third data loaded on the wireless subframe is selected from the second data according to the starting position of the data selection of each wireless subframe.
Wherein, step 303 can be realized by the following steps (1) to (3), including:
(1): calculating the number of redundancy versions required for transmitting the second data according to the data size of the second data and the data size capable of being carried by each wireless subframe;
specifically, a ratio of the data size of the second data to the data size that can be carried by each radio subframe is calculated, and the upper or lower integer of the ratio is used as the number of redundancy versions required for transmitting the second data.
It should be noted that, if the ratio is an integer, the ratio is directly used as the number of redundancy versions required for transmitting the second data; if the ratio is non-integer, adding one to the integer part of the ratio as the number of redundancy versions needed for transmitting the second data; if the ratio is non-integer, the integer part of the ratio may also be reduced by one as the number of redundancy versions required for transmitting the second data.
For example, the data size of the second data is 3000 bits, the data size that can be carried by each radio subframe is 288 bits, the ratio of 3000 to 288 is 10.4, the integer part of 10.4 is 10, and in the embodiment of the present invention, 10 plus 1, that is, 11 is taken as the number of redundancy versions RV required for transmitting the second datanum。
Wherein each redundancy version corresponds to a start position of a data selection.
(2): acquiring a redundancy version sequence number of third data transmitted on each wireless subframe according to the redundancy version number;
and when the second data is transmitted, selecting redundancy versions from the redundancy version set, wherein each redundancy version corresponds to a starting position of data selection, acquiring the starting positions of the data selection corresponding to the selected redundancy versions, and selecting third data transmitted on each wireless subframe from the second data according to the starting positions. Therefore, it is necessary to acquire the redundancy version number of the third data transmitted on each radio subframe.
The value range of the redundancy version serial number of the third data transmitted on each wireless subframe is 0-redundancy version number-1.
The step (2) may be: and acquiring the system frame number of each wireless subframe, and calculating the redundancy version serial number of each wireless subframe according to the system frame number and the redundancy version number of each wireless subframe.
Specifically, according to the system frame number and the number of redundancy versions of each radio subframe, the redundancy version number of each radio subframe is calculated by the following formula (2):
rvindex=NTTImod RVnum;(2)
wherein, rvindexFor the redundancy version number, RV, of each radio subframenumFor the number of redundancy versions, NTTIThe system frame number for each radio subframe.
For example, if the system frame number of the current subframe is 23, the remainder between 23 and 11 is 1, and the sequence number of the redundancy version of the current subframe is 1.
In this step, the redundancy version number may be selected from the redundancy version set according to the number of transmission radio subframes. For example, when the second data is transmitted for the first time, the radio subframe selects redundancy version 0, and when the second data is transmitted for the second time, the radio subframe selects redundancy version 1, RVnumWhen the second data is transmitted, the wireless subframe selects the redundancy version RVnum1, RV-numWhen +1 times of second data transmission, the radio subframe selects redundancy version 0, and the cycle is repeated.
(3): the data size of the second data, the number of redundancy versions and the redundancy version number of the third data transmitted on each wireless subframe, and the starting position of data selection of each wireless subframe are calculated.
The step (3) may be realized by the following steps (3-1) to (3-2), including:
(3-1): calculating the number of columns of the interleaver according to the data size of the second data and the number of rows of the interleaver for the second data
Before transmitting the second data, the second data needs to be interleaved by an interleaver, that is, each bit stream of the second data is written into a matrix of the interleaver according to rows, the matrix is subjected to column permutation, and then each bit stream is read out according to columns to obtain a bit stream v0 (i),v1 (i),v2 (i),i=0,1,2,KIIIs the number of bits per bit stream of the three bit streams of a code block after interleaving. The stream with i-0 contains information bits, the three bit streams are put into a buffer, and the buffer size N is the buffer size for the buffered datacb=Kw=3KIIThe bit in the buffer is recorded as wk,k=0,......Ncb-1。wk=vk (0),wKII+2k=vk (1),wKII+2k+1=vk (2),k=0,......KII-1. Therefore, the second data in the buffer is discharged as shown in table 1 below:
TABLE 1
| KIIBit (containing information bit K)r) |
2KIICheck bits |
The number of rows of the interleaver is a fixed value 32, the number of columns of the interleaver is set according to the data size of the first data, and the number of columns of the interleaver satisfies the minimum value of the data size +4 ≦ of the first data (the number of rows and columns of the interleaver).
For example, if the data size of the first data is 1000, 1000+4 ≦ (32 × number of columns of the interleaver), the number of columns of the interleaver is calculated to be 32.
(3-2): according to the column number of the interleaver, the data size of the second data, the number of redundancy versions and the redundancy version number of the third data transmitted on each wireless subframe, respectively calculating the starting position of data selection of each wireless subframe by the following formula (1):
wherein k0 is the starting position selected for the data of each radio subframe,is the number of columns of the interleaver, NcbIs as followsData size of two data, RVnumFor the number of redundancy versions, rvindexA redundancy version sequence number for the third data transmitted on each radio subframe.
E.g. number of columns of interleaver32, data size N of the second datacb3000, number of redundancy versions RVnumTo 11, redundancy version number rv of each radio subframeindexRespectively 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, the starting position of the data selection for each radio subframe calculated by the above formula is respectively 64, 336, 609, 882, 1154, 1427, 1699, 1972, 2245, 2517, 2790.
Step 304: selecting third data transmitted on each wireless subframe from the second data according to the starting position of the data selection of each wireless subframe and the size of data which can be carried by each wireless subframe;
and the data size of the third data transmitted on each radio subframe is the same as the data size which can be carried by the radio subframe.
Step 304 may be: and selecting third data with the data size capable of being carried by each wireless subframe from the starting position of the data selection of the wireless subframe in the second data according to the starting position of the data selection of each wireless subframe.
For example, each radio subframe can carry the same size of data, which is 288 bits, and 288 bits of data are selected from 64 bits in the second data according to the 64 bits of the starting position of data selection of the first radio subframe, that is, 64-351 bits of data are selected from the first radio subframe; according to the 336 bits of the starting position of the data selection of the second radio subframe, 288 bits of data are selected from 336 bits of the second data, namely 336 bits and 623 bits of data are selected from the second radio subframe; 288 bits of data are selected from 609 bits in the second data according to the 609 bits of the starting position of the data selection of the third radio subframe, namely the data with 609 bits and 896 bits are selected by the third radio subframe; 288 bits of data are selected from the second data 882 according to the starting position 882 of the data selection of the fourth radio subframe, namely the data of the fourth radio subframe selection 882 and 1169 bits are selected; according to the initial position 1154 of the data selection of the fifth wireless subframe, 288 bits of data are selected from the second data 1154, namely the fifth wireless subframe selects 1154 and 1441 bits of data; according to the starting position 1427 of data selection of the sixth radio subframe, 288 bits of data are selected from the second data 1427, that is, the sixth radio subframe selects 1427 and 1714 bits of data; 288 bit data are selected from the second data 1699 according to the starting position 1699 of the data selection of the seventh radio subframe, namely 1699-1986 bit data are selected by the seventh radio subframe; 288 bits of data are selected from the second data according to the starting position 1972 of the data selection of the eighth radio subframe, namely the eighth radio subframe selects 1972 and 2259 bits of data; according to the starting position 2245 of the data selection of the ninth radio subframe, 288 bits of data are selected from the second data 2245, that is, the ninth radio subframe selects 2245 and 2532 bits of data; 288 bits of data are selected from the second data 2517 according to the starting position 2517 of the data selection of the tenth wireless subframe, namely the tenth wireless subframe selects 2517 and 2804 bits of data; 288 bits of data are selected from the second data from 2790 according to the initial position 2790 of data selection of the eleventh radio subframe, since the data size of the second data is 3000, 2790 + 2999 bits of data, namely 210 bits of data, are selected from the second data, then 78 bits of data are selected from 0, namely 0-77 bits are selected, and 2790 + 3000 and 0-77 bits of data are selected for the eleventh radio subframe.
It can be seen that 0-2999 of the second data is selected, i.e., the second data is transmitted, and the second data is not discarded, which reduces the coding rate and improves the coding gain.
For example, if the size of data that can be carried by the first radio subframe is 288, the starting position of data selection is 14, the size of data that can be carried by the second radio subframe is 144, and the starting position of data selection is 200, the third data selected from the second data by the first radio subframe is 14-301, and the third data selected from the second data by the second radio subframe is 200-.
Wherein, step 304 can be replaced by: and selecting a starting position from the starting positions of the data selection of each wireless subframe, and continuously and circularly selecting third data transmitted on each wireless subframe from the second data according to the selected starting position and the size of data which can be carried by each wireless subframe.
When the data size from the starting position of the data selection to the last bit of the second data is smaller than the data size which can be carried by the wireless subframe, the data size from the starting position of the data selection to the last bit of the second data is selected from the second data, and then the data is selected circularly from the first bit of the second data until the third data size is equal to the data size which can be carried by the wireless subframe.
For example, if the data size of the second data is 3000, the bit range of the second data is 0-2999, the starting position of the data selection is 2944, the data size that can be carried by the radio subframe is 288 bits, if the data size of 2944 and 2999 is 55 smaller than the data size that can be carried by the radio subframe is 288 bits, 2944 and 0-231 bits of data are selected from the second data.
The starting position of data selection of each radio subframe may be randomly selected from the starting positions of data selection of each radio subframe, or the starting position of data selection of a radio subframe corresponding to redundancy version 0 may be selected.
For example, in this step, the starting position of the data selection of the radio subframe corresponding to the redundancy version 0 is selected to be 64, the size of the data that can be carried by each radio subframe is 288 bits, then starting from 64 bits of the second data, the first radio subframe selects 64-351 bits of data from the second data, the second radio subframe selects 352-639 from the second data, the third radio subframe selects 640-927 from the second data, the fourth radio subframe selects 928-1215 from the second data, the fifth radio subframe selects 1216-1503 from the second data, the sixth radio subframe selects 1791 from the second data, the seventh radio subframe selects 1792-2079 from the second data, the eighth radio subframe selects 2080-2367 from the second data, the ninth radio subframe selects 2368-2655 from the second data, the tenth radio subframe is selected 2656 + 2943 from the second data and the eleventh radio subframe is selected 2944 + 2999 and 0-231 from the second data.
Step 305: transmitting third data on each radio subframe respectively;
step 305 may be implemented by the following steps (1) to (4), including:
(1): respectively modulating the third data to obtain modulated third data;
and sequentially connecting the bits of the third data to obtain continuous coded bits, and modulating the continuous coded bits to obtain modulated third data.
Any modulation processing, such as QPSK modulation, 16QAM or 64QAM, may be performed on the third data in the present invention, the modulation method is not specifically limited in the present invention, and the modulation processing on the third data is the prior art, and will not be described in detail here.
(2): respectively bearing the modulated third data on a wireless subframe to obtain a plurality of wireless subframes bearing the third data;
(3): and respectively bearing each wireless subframe of the wireless subframes of the third data on one resource block to obtain a plurality of resource blocks bearing the third data.
When the terminal sends the second data to the base station, or the base station sends the second data to the terminal, the wireless subframe cannot be directly sent, and the wireless subframe needs to be carried on the resource block.
(4): a plurality of resource blocks are transmitted in sequence.
And transmitting one resource block at a time, and sequentially transmitting the obtained plurality of resource blocks bearing the third data to the base station, or sequentially transmitting the obtained plurality of resource blocks bearing the third data to the terminal.
Further, the base station sequentially receives a resource block carrying third data sent by the terminal, acquires the modulated third data from the resource block, demodulates the modulated third data to obtain a plurality of third data, and decodes the plurality of third data to obtain the first data.
Or the terminal receives the resource block carrying the third data sent by the base station in sequence, acquires the modulated third data from the resource block, demodulates the modulated third data to obtain a plurality of third data, and decodes the plurality of third data to obtain the first data.
If the base station determines that a certain third data is damaged in the transmission process, the base station can also send a retransmission request to the terminal, wherein the retransmission request carries an identifier of the third data to be retransmitted; the terminal receives a retransmission request sent by the base station, acquires an identifier of third data needing to be retransmitted, which is carried in the retransmission request, acquires the third data according to the identifier of the third data, loads the third data on a resource block corresponding to a wireless subframe, and sends the resource block to the base station.
In the embodiment of the invention, first data to be transmitted are coded to obtain second data; determining a plurality of radio subframes required for transmitting second data and a data size capable of being carried by each radio subframe in the plurality of radio subframes; selecting third data transmitted on each wireless subframe from the second data according to the data size of the second data and the data size capable of being carried by each wireless subframe, wherein the data size of the third data transmitted on each wireless subframe is the same as the data size capable of being carried by the corresponding wireless subframe; the third data is transmitted separately on each radio subframe. According to the invention, the third data transmitted on each wireless subframe is selected from the second data according to the data size of the second data and the data size capable of being carried by each wireless subframe, so that all information bits can be transmitted, the coding rate is reduced, and the coding gain is improved.
Example 4
Referring to fig. 5, an embodiment of the present invention provides a data transmission apparatus, which may be a terminal or a base station, where the apparatus includes: a processor 401 and a transmitter 402;
the processor 401 is configured to encode first data to be transmitted to obtain second data;
the processor 401 is further configured to determine a plurality of radio subframes required for transmitting the second data, and a data size that can be carried by each of the plurality of radio subframes;
the processor 401 is further configured to select, according to a data size of the second data and a data size that can be carried by each radio subframe, third data transmitted on each radio subframe, where the data size of the third data transmitted on each radio subframe is the same as the data size that can be carried by each radio subframe;
the transmitter 402 is further configured to transmit the third data on each of the radio subframes, respectively.
Preferably, the processor 401 is further configured to obtain a start position of data selection of each radio subframe according to the data size of the second data;
the processor 401 is further configured to select third data transmitted on each radio subframe from the second data according to a starting position of the data selection of each radio subframe and a size of data that can be carried by each radio subframe.
Preferably, the processor 401 is further configured to calculate, according to the data size of the second data and the data size that can be carried by each radio subframe, the number of redundancy versions required for transmitting the second data;
the processor 401 is further configured to obtain a redundancy version sequence number of the third data transmitted on each radio subframe according to the redundancy version number;
the processor 401 is further configured to calculate a starting position of data selection of each wireless subframe according to the data size of the second data, the number of redundancy versions, and a redundancy version number of third data transmitted on each wireless subframe.
Preferably, the processor 401 is further configured to calculate a column number of the interleaver according to the data size of the second data and the row number of the interleaver used by the second data;
the processor 401 is further configured to calculate, according to the number of columns of the interleaver, the data size of the second data, the number of redundancy versions, and the redundancy version number of the third data transmitted on each radio subframe, a starting position of data selection of each radio subframe by using the following formula (1), respectively:
wherein k0 is the starting position selected for the data of each radio subframe,is the number of columns of the interleaver, NcbIs the data size, RV, of the second datanumFor the number of redundancy versions, rvindexAnd the sequence number of the redundancy version of the third data transmitted on each wireless subframe.
Preferably, the processor 401 is further configured to calculate a ratio of a data size of the second data to a data size that can be carried by each radio subframe;
the processor 401 is further configured to use the rounding-up or rounding-down of the ratio as the number of redundancy versions required for transmitting the second data.
Preferably, the processor 401 is further configured to obtain a system frame number of each radio subframe;
the processor 401 is further configured to calculate a redundancy version sequence number of each radio subframe according to the system frame number and the redundancy version number of each radio subframe.
Preferably, the processor 401 is further configured to calculate a redundancy version sequence number of each radio subframe according to the system frame number and the redundancy version number of each radio subframe by the following formula (2):
rvindex=NTTImod RVnum;(2)
wherein, rvindexFor the redundancy version number, RV, of each radio subframenumFor said number of redundancy versions, NTTIThe system frame number of each wireless subframe is obtained.
Preferably, the processor 401 is further configured to obtain a start position of data selection of each radio subframe according to the data size of the second data;
the processor 401 is further configured to select a starting position from the starting positions of the data selection of each radio subframe;
the processor 401 is further configured to continuously and cyclically select third data transmitted on each radio subframe from the second data according to the selected starting position and the size of data that can be carried by each radio subframe.
In the embodiment of the invention, first data to be transmitted are coded to obtain second data; determining a plurality of radio subframes required for transmitting second data and a data size capable of being carried by each radio subframe in the plurality of radio subframes; selecting third data transmitted on each wireless subframe from the second data according to the data size of the second data and the data size capable of being carried by each wireless subframe, wherein the data size of the third data transmitted on each wireless subframe is the same as the data size capable of being carried by the corresponding wireless subframe; the third data is transmitted separately on each radio subframe. According to the invention, the third data transmitted on each wireless subframe is selected from the second data according to the data size of the second data and the data size capable of being carried by each wireless subframe, so that all information bits can be transmitted, the coding rate is reduced, and the coding gain is improved.
It will be understood by those skilled in the art that all or part of the steps for implementing the above embodiments may be implemented by hardware, or may be implemented by a program instructing relevant hardware, where the program may be stored in a computer-readable storage medium, and the above-mentioned storage medium may be a read-only memory, a magnetic disk or an optical disk, etc.
The above description is only for the purpose of illustrating the preferred embodiments of the present invention and is not to be construed as limiting the invention, and any modifications, equivalents, improvements and the like that fall within the spirit and principle of the present invention are intended to be included therein.