Patent Description:
With widespread development of multimedia and broadband mobile communications services, a wireless communications system has a higher requirement for a transmission speed and reliability. A low-density parity-check (Low-Density Parity-Check, LDPC) code has been widely applied to fields such as microwave, an optical network, and Wireless Fidelity (Wireless Fidelity, Wi-Fi) because of its advantages such as low complexity, a low error floor, and a capability of full-parallel decoding.

Wireless network channel encoding requires a flexible bit rate, to satisfy a requirement for implementing hybrid automatic repeat request (Hybrid Automatic Repeat reQuest, HARQ). Raptor-like LDPC can easily support rate matching of an LDPC code, and supports an incremental redundancy hybrid automatic repeat request (incremental redundancy Hybrid Automatic Repeat reQuest, IR-HARQ), which has currently been selected as error correction coding of Enhanced Mobile Internet (Enhanced Mobile Broadband, eMBB) that is one of three scenarios of the <NUM>th Generation mobile communications system.

A method in which the Raptor-like LDPC code supports the IR-HARQ is sending all information bits and corresponding parity bits based on a preset code rate during initial transmission, and sending only a new parity bit during retransmission. Generally, there is relatively rich column weight distribution of a high bit rate check matrix corresponding to a bit sequence during initial transmission, and importance of these bits in a decoding process is also different from each other. If burst interference occurs, and some important bit information is damaged, decoding may completely fail, thereby reducing a system throughput rate.

In <CIT> a transmitter is provided, which includes: an encoder configured to generate a low density parity check (LDPC) codeword comprising information word bits, first parity bits and second parity bits based on a parity check matrix; an interleaver configured to interleave the LDPC codeword; and a constellation mapper configured to map the interleaved LDPC codeword on constellation points, wherein the first parity bits are generated based on one of parity submatrices constituting the parity check matrix and the second parity bits are generated based on another of the parity submatrices constituting the parity check matrix.

In <CIT> a transmitting apparatus is provided. The transmitting apparatus includes: an encoder configured to generate a low-density parity check (LDPC) codeword by LDPC encoding of input bits based on a parity check matrix including information word bits and parity bits, the LDPC codeword including a plurality of bit groups each including a plurality of bits; an interleaver configured to interleave the LDPC codeword; and a modulator configured to map the interleaved LDPC codeword onto a modulation symbol, wherein the interleaver is further configured to interleave the LDPC codeword such that a bit included in a predetermined bit group from among the plurality of bit groups constituting the LDPC codeword onto a predetermined bit of the modulation symbol.

In <CIT> a radio communication apparatus can consecutively read out an LDPC codeword from a circular buffer. In this apparatus, encoding section <NUM> performs LDPC coding on a transmission bit sequence inputted from CRC section <NUM> using a parity check matrix to obtain an LDPC codeword comprised of a plurality of systematic bits and a plurality of parity- bits. Interleaver <NUM> sorts the LDPC codeword inputted from encoding section <NUM> according to a puncturing order. Transmission circular buffer <NUM> stores the LDPC codeword inputted from interleaver <NUM> in a memory of a cyclic reading type buffer.

Therefore, how to improve a capability of the LDPC code resisting burst interference is an issue to be urgently resolved.

Embodiments of this invention provide a data transmission method, a data sending device, and a data receiving device, to improve a capability of an LDPC code resisting burst interference.

According to the data transmission method, the data sending device, and the data receiving device provided in the embodiments of this invention, interleaving may be performed on some bit sequences of an information bit sequence, the parity bit whose column weight is greater than <NUM>, and the parity bit whose column weight is <NUM> that are in the bit sequence obtained based on encoding by using LDPC, so as to disperse bits of an LDPC code that have different importance, thereby reducing impact of burst interference.

The following describes embodiments of this invention with reference to accompanying drawings.

A data transmission method provided in the embodiments of this invention may be applied to a wireless communications system in which channel encoding and decoding need to be performed. For example, in <FIG>, a data sending device encodes and modulates received information data, and sends the modulated information data through a channel; and a data receiving device performs processes such as demodulating and decoding after receiving a receiving signal, and outputs information data obtained based on decoding. The data sending device may encode the information data by using an LDPC code such as a Raptor-like LDPC code, and send, at a predetermined code rate, a bit sequence obtained based on encoding. There is relatively rich column weight distribution of a high bit rate check matrix corresponding to the sent bit sequence.

In this embodiment of this invention, some bit sequences in the bit sequence that has relatively rich column weight distribution of a high bit rate check matrix may be interleaved, to disperse bits having different importance in the bit sequence obtained based on encoding by using the LDPC code, thereby reducing impact of burst interference, and improving a capability of the LDPC code resisting burst interference.

In this embodiment of this invention, the following mainly describes the data transmission method for improving the capability of the Raptor-like LDPC code resisting burst interference by the data sending device and the data receiving device. The data sending device has an encoding function, an interleaving function, and a sending function. The data receiving device has a receiving function, a de-interleaving function, and a decoding function. The data sending device according to this embodiment of this invention may be a device integrating an encoder, an interleaver, and a transmitter, and the data receiving device may be a device integrating a receiver, a de-interleaver, and a decoder.

The data sending device and the data receiving device in this embodiment of this invention may be any device that is at a transmit end and a receive end respectively and that performs wireless data transmission. The data sending device and the data receiving device may be any device having a wireless transceiving function, and the device includes but is not limited to: a NodeB (NodeB), an evolved NodeB (eNodeB), and a base station in a <NUM>th Generation (the fifth generation, <NUM>) communications system, a base station or a network device in a future communications system, an access node in a Wi-Fi system, a wireless relay node, a wireless backhaul node, and user equipment (user equipment, UE). The UE may alternatively be referred to as a terminal Terminal, a mobile station (mobile station, MS), a mobile terminal (mobile terminal, MT), or the like. The UE may communicate with one or more core networks by using a radio access network (radio access network, RAN), or may access a distributed network in a self-organizing or grant-free manner. The UE may alternatively access a radio network in another manner for communication, or may directly perform wireless communication with another UE. This is not limited in this embodiment of this invention.

The data transmission method provided in this embodiment of this invention may be applied to downlink data transmission, or may be applied to uplink data transmission, and may further be applied to device-to-device (device-to-device, D2D) data transmission. For the downlink data transmission, the sending device is a base station, and the corresponding receiving device is UE. For the uplink data transmission, the sending device is UE, and the corresponding receiving device is a base station. For the D2D data transmission, the sending device is UE, and the corresponding receiving device is also UE. This is not limited in this embodiment of this invention.

The sending device and the receiving device in this embodiment of this invention may be deployed on land, including indoors or outdoors, a handheld or in-vehicle device; or may be deployed on the water surface; or may be deployed on an aircraft, a balloon, and a satellite in the air. The UE in this embodiment of this invention may be a mobile phone (mobile phone), a pad (Pad), a computer with a wireless transceiving function, a virtual reality (Virtual Reality, VR) terminal device, an augmented reality (Augmented Reality, AR) terminal device, a wireless terminal used in industrial control (industrial control), a wireless terminal used in self driving (self driving), a wireless terminal used in telemedicine (remote medical), a wireless terminal used in smart grid (smart grid), a wireless terminal used in transportation safety (transportation safety), a wireless terminal used in a smart city (smart city), a wireless terminal used in a smart home (smart home), or the like. An invention scenario is not limited in this embodiment of this invention.

In this embodiment of this invention, the following uses that the LDPC code matrix is a Raptor-like LDPC code matrix as an example for description.

In this embodiment of this invention, each bit in the bit sequence obtained by encoding the information data by the data sending device by using the Raptor-like LDPC code matrix corresponds to one variable node in the check matrix of the Raptor-like LDPC code.

The check matrix of the Raptor-like LDPC code may be expressed by block as a structure shown in <FIG>. The check matrix of the Raptor-like LDPC code in <FIG> includes A, B, C, O, and I. A is a matrix block corresponding to an information bit sequence in a highest bit rate check matrix. B is a matrix block corresponding to a parity bit sequence in the highest bit rate check matrix, and a matrix structure corresponding to B is usually a lower triangular structure or a combined structure of three column weights and double diagonals. C is a matrix block extended from the highest bit rate check matrix, and corresponds to the information bit sequence and the parity bit sequence in the highest bit rate check matrix. O is a zero matrix, I is a matrix whose diagonal is <NUM> and remaining part is <NUM>, and O and I correspond to the parity bit sequence. It may be learned from <FIG> that, in this embodiment of this invention, a bit sequence obtained by encoding information data by using a Raptor-like LDPC code matrix may be segmented into an information bit sequence <MAT>, a parity bit <MAT> whose column weight is greater than <NUM>, and a parity bit <MAT> whose column weight is <NUM>. The parity bit <MAT> whose column weight is <NUM> is a parity bit sequence corresponding to a column whose column weight is <NUM> in a check matrix. The parity bit <MAT> whose column weight is greater than <NUM> is a parity bit sequence corresponding to a column whose column weight is greater than <NUM> in the check matrix.

In this embodiment of this invention, the data sending device may perform interleaving on some bit sequences of the information bit sequence, the parity bit whose column weight is greater than <NUM>, and the parity bit whose column weight is <NUM> that are in the bit sequence, so as to disperse bits of a Raptor-like LDPC code that have different importance, thereby reducing impact of burst interference.

The following describes possible implementations.

<FIG> is a schematic diagram of a data transmission method according to an embodiment of this invention. The method shown in <FIG> may be performed by a data sending device, or certainly may be performed by a component in the data sending device. In this embodiment of this invention, that the method is performed by the data sending device is described below.

S101: The data sending device encodes information data by using an LDPC code matrix, to obtain a bit sequence.

In this embodiment of this invention, the bit sequence obtained by encoding the information data by the data sending device by using the LDPC code matrix may be understood as encoded information data. In this embodiment of this invention, the LDPC code matrix may be a Raptor-like LDPC code matrix.

The bit sequence in the following embodiment of this invention is the bit sequence obtained by encoding the information data by using the LDPC code matrix.

The bit sequence in this embodiment of this invention includes a first bit sequence, and the first bit sequence includes at least one information bit in the bit sequence.

The first bit sequence may include at least one information bit in the bit sequence and at least one parity bit whose column weight is greater than <NUM> in the bit sequence. The first bit sequence may alternatively include at least one information bit in the bit sequence and at least one parity bit whose column weight is <NUM> in the bit sequence, or include at least one information bit in the bit sequence, at least one parity bit whose column weight is greater than <NUM> in the bit sequence, and at least one parity bit whose column weight is <NUM> in the bit sequence.

The first bit sequence may alternatively include all information bits in the bit sequence and all parity bits whose column weights are greater than <NUM> in the bit sequence; or the first bit sequence includes all information bits in the bit sequence, all parity bits whose column weights are greater than <NUM> in the bit sequence, and at least one parity bit whose column weight is <NUM> in the bit sequence.

S <NUM>: The data sending device interleaves a first bit sequence, to obtain a first interleaved bit sequence.

S103: The data sending device performs modulation based on the first interleaved bit sequence to obtain a sending signal, and sends the sending signal.

In this embodiment of this invention, some bit sequences in the bit sequence obtained based on encoding by using the LDPC code matrix are interleaved, so that bits of the LDPC code that have different importance can be dispersed, thereby reducing impact of burst interference, and improving a capability of the LDPC code resisting burst interference.

The data sending device uses the foregoing data transmission method in which at least one information bit sequence in the bit sequence obtained based on encoding by using the LDPC code matrix is interleaved, and a data receiving device may perform de-interleaving by using a method shown in <FIG>.

<FIG> is a schematic diagram of another data transmission method according to an embodiment of this invention. The method shown in <FIG> may be performed by a data receiving device, or may be performed by a component in the data receiving device. In this embodiment of this invention, the following uses that the method is performed by the data receiving device as an example for description.

S201: The data receiving device demodulates a receiving signal to obtain a soft value sequence.

In this embodiment of this invention, the soft value sequence may be understood as a real number sequence after a bit sequence is modulated, transmitted, channel transmitted, received, and demodulated, and each real value in the soft value sequence represents a possibility that a value of a corresponding bit is "<NUM>" or "<NUM>" at a receive end.

S202: The data receiving device de-interleaves the soft value sequence, to obtain a soft value sequence of a first bit sequence.

In this embodiment of this invention, the first bit sequence corresponding to the soft value sequence is a bit sequence obtained based on encoding by using an LDPC code matrix, and the first bit sequence includes at least one information bit in the bit sequence.

In this embodiment of this invention, the bit sequence obtained by encoding information data by using the LDPC code may further include a second bit sequence, and an intersection set between bits in the second bit sequence and bits in the first bit sequence is empty.

The bit sequences included in the first bit sequence and the second bit sequence have one of the following cases:.

In this embodiment of this invention, a process that the data sending device interleaves the bit sequence including the first bit sequence and the second bit sequence and performs data transmission may be shown in <FIG>.

The method execution steps S301 and S302 shown in <FIG> are the same as the method execution steps S101 and S102 shown in <FIG>. The following describes only differences.

S303: A data sending device interleaves the second bit sequence to obtain a second interleaved bit sequence.

There is no sequence between S302 and S303. For example, S302 may be performed before S303, or S303 may be performed before S302. Certainly, S302 and S303 may alternatively be performed synchronously.

S304: The data sending device performs modulation based on the first interleaved bit sequence and the second interleaved bit sequence to obtain a sending signal, and sends the sending signal.

The data sending device interleaves a first bit sequence and the second bit sequence by using the data transmission method shown in <FIG>, and a data receiving device may perform de-interleaving by using a method shown in <FIG>.

The method execution steps S401 and S402 shown in <FIG> are the same as the method execution steps S201 and S202 shown in <FIG>. The following describes only differences.

S403: A data receiving device de-interleaves the soft value sequence, to obtain a soft value sequence of a second bit sequence.

There is no sequence between S402 and S403. For example, S402 may be performed before S402, or S403 may be performed before S402. Certainly, S402 and S403 may alternatively be performed synchronously.

The bit sequence obtained by encoding information data by using an LDPC code in this embodiment of this invention may further include a third bit sequence, an intersection set between bits in the third bit sequence and bits in a first bit sequence is empty, and an intersection set between the bits in the third bit sequence and bits in the second bit sequence is empty.

The first bit sequence includes all information bits in the bit sequence, the second bit sequence includes all parity bits whose column weights are greater than <NUM> in the bit sequence, and the third bit sequence includes at least one parity bit whose column weight is equal to <NUM> in the bit sequence.

In this example useful for understanding of this invention, a process that a data sending device interleaves the bit sequence including the first bit sequence, the second bit sequence, and the third bit sequence and performs data transmission may be shown in <FIG>.

The method execution steps S501, S502, and S503 shown in <FIG> are the same as the method execution steps S301, S302, and S303 shown in <FIG>. The following describes only differences.

S504: A data sending device interleaves the third bit sequence to obtain a third interleaved bit sequence.

There is no sequence between S502, S503, and S504.

S505: The data sending device performs modulation based on the first interleaved bit sequence, the second interleaved bit sequence, and the third interleaved bit sequence to obtain a sending signal, and sends the sending signal.

The data sending device interleaves a first bit sequence and a second bit sequence by using the data transmission method shown in <FIG>, and a data receiving device may perform de-interleaving by using a method shown in <FIG>.

The method execution steps S601, S602, and S603 shown in <FIG> are the same as the method execution steps S401, S402, and S403 shown in <FIG>. The following describes only differences.

S604: A data receiving device de-interleaves the soft value sequence, to obtain a soft value sequence of a third bit sequence.

There is no sequence between S602, S603, and S604.

A process of interleaving performed by a data sending device in this embodiment of this invention may be performed in the following manner.

It is assumed that the to-be-interleaved bit sequence is <MAT> in this embodiment of this invention, where D is the length of the to-be-interleaved bit sequence.

In this embodiment of this invention, the length of the to-be-interleaved bit sequence, the quantity of rows of the interleaving matrix, and the quantity of columns of the interleaving matrix satisfy a formula D ≤ (M×N) , where D is the length of the to-be-interleaved bit sequence, M is the quantity of rows of the interleaving matrix, and N is the quantity of columns of the interleaving matrix.

In an interleaving matrix whose quantity of rows is M and whose quantity of columns is N in this embodiment of this invention, column numbers are successively <NUM>,<NUM>,<NUM>,···, N - <NUM> from left to right, and row numbers are successively <NUM>,<NUM>,<NUM>,···, M -<NUM> from top to bottom.

B: Determine, based on the determined quantity of rows of the interleaving matrix, the determined quantity of columns of the interleaving matrix, and the length of the to-be-interleaved bit sequence, an interleaving bit sequence written into the interleaving matrix.

In this embodiment of this invention, when (M×N) >D , a quantity ND= (M×N - D) of dummy bits (dummy bit) may be added to the interleaving bit sequence.

Therefore, a <NUM>th bit to an (ND-<NUM>)th bit in the interleaving bit sequence in this embodiment of this invention are dummy bits, where ND= (M×N - D) , and an NDth bit to an (M×N-<NUM>)th bit in the interleaving bit sequence are successively a <NUM>th bit to a (D-<NUM>)th bit in the to-be-interleaved bit sequence.

C: Write a bit in the interleaving bit sequence row by row into an interleaving matrix whose size is (M×N) ,.

In this embodiment of this invention, the interleaving bit sequence is expressed as yk, yk =<NULL>, k = <NUM>, <NUM>,. , and ND-<NUM>, and <NULL> indicates a dummy bit. <MAT>, and ND= (M×N-D) , where <MAT> indicates a to-be-interleaved bit. The bit interleaving sequence yk, starting from y<NUM>, is written row by row into the interleaving matrix whose size is (M×N) , a start write location of the matrix is at the <NUM>th column of the <NUM>th row, and the interleaving matrix into which the interleaving bit sequence is written may be expressed as: <MAT>.

D: After column transformation is performed on the interleaving matrix into which the interleaving bit sequence is written, output a bit sequence column by column except the dummy bits, to obtain an interleaved bit sequence.

In this embodiment of this invention, a pattern used during column transformation of the interleaving matrix into which the interleaving bit sequence is written may be obtained through table lookup.

In this embodiment of this invention, the pattern for column transformation may be expressed as 〈p(j)〉 j∈{<NUM>,<NUM>,···,N-<NUM>}, where p(j) is an original column number of the jth column after the column transformation. In this embodiment of this invention, a matrix obtained after the column transformation of the interleaving matrix written into the interleaving bit sequence is performed may be expressed as: <MAT>.

In this embodiment of this invention, the bit sequence output column by column may be expressed as <MAT>, where <MAT> corresponds to yp(<NUM>) , <MAT> corresponds to yp(<NUM>)+N ,. , and KΠ = (M×N).

A process that the soft value sequence is de-interleaved by the data receiving device in this embodiment of this invention may be performed in the following manner.

The length of the to-be-deinterleaved soft value sequence, the quantity of rows of the de-interleaving matrix, and the quantity of columns of the de-interleaving matrix satisfy a formula D ≤ (M×N), where D is the length of the to-be-deinterleaved soft value sequence, M is the quantity of rows of the de-interleaving matrix, and N is the quantity of columns of the de-interleaving matrix.

It may be understood that de-interleaving is an inverse process of interleaving. Therefore, for more details about the description of the de-interleaving process in the embodiments of this invention, reference may be made to the process related to interleaving.

In this embodiment of this invention, the data sending device may perform interleaving by using an interleaver, and the data receiving device may perform de-interleaving by using a de-interleaver.

In this embodiment of this invention, the following describes, with reference to actual invention, a process that the data sending device interleaves, by using an interleaver, an information bit sequence <MAT>, a parity bit <MAT> whose column weight is greater than <NUM>,and at least one parity bit <MAT> whose column weight is <NUM>, and the data receiving device performs corresponding de-interleaving.

In a possible implementation, the data sending device separately interleaves, by using different interleavers, the information bit sequence <MAT>, the parity bit <MAT> whose column weight is greater than <NUM>, and the parity bit <MAT> whose column weight is <NUM>. For example, in <FIG>, all information bit sequences <MAT> are interleaved by using an interleaver <NUM> to output an interleaved bit sequence <MAT>. All parity bits <MAT> whose column weights are greater than <NUM> are interleaved by using an interleaver <NUM> to output an interleaved bit sequence <MAT>. All parity bits <MAT> whose column weights are <NUM> are interleaved by using an interleaver <NUM> to output an interleaved bit sequence <MAT>.

The data receiving device de-interleaves the soft value sequence by using different de-interleavers, to obtain soft value sequences of all information bit sequences, soft value sequences of all parity bits whose column weights are greater than <NUM>, and soft value sequences of all parity bits whose column weights are <NUM>. For example, in <FIG>, a soft value sequence is de-interleaved by using a de-interleaver <NUM> to output a soft value sequence of an information bit sequence <MAT>, is de-interleaved by using a de-interleaver <NUM> to output a soft value sequence of a parity bit <MAT> whose column weight is greater than <NUM>, and is de-interleaved by using a de-interleaver <NUM> to output a soft value sequence of a parity bit <MAT> whose column weight is <NUM>.

In this example useful for understanding of this invention, the data sending device separately interleaves, by using different interleavers, the information bit sequence <MAT>, the parity bit <MAT> whose column weight is greater than <NUM>, and the parity bit <MAT> whose column weight is <NUM>. The interleaver <NUM>, the interleaver <NUM>, and the interleaver <NUM> are three independent interleavers, which can inherit current communications protocols in a Long Term Evolution system.

In a possible implementation, the data sending device interleaves, by using a first interleaver, all information bit sequences and all the parity bits whose column weights are greater than <NUM>.

The data sending device interleaves, by using a second interleaver, all or some of the parity bits whose column weights are <NUM>. For example, in <FIG>, all information bit sequences and all parity bits <MAT> whose column weights are greater than <NUM> are interleaved by using the interleaver <NUM> to output an interleaved bit sequence <MAT>. All parity bits <MAT> whose column weights are <NUM> are interleaved by using the interleaver <NUM> to output an interleaved bit sequence <MAT>.

The data receiving device de-interleaves a soft value sequence by using a first de-interleaver, to obtain soft value sequences that are of all information bit sequences and that are of all parity bits whose column weights are greater than <NUM>, and de-interleaves the soft value sequence by using a second de-interleaver, to obtain soft value sequences of some parity bits whose column weights are <NUM> or soft value sequences of all parity bits whose column weights are <NUM>. For example, in <FIG>, a soft value sequence is de-interleaved by using a de-interleaver <NUM> to output soft value sequences that are of all information bit sequences and that are of all parity bits <MAT> whose column weights are greater than <NUM>, and is de-interleaved by using a de-interleaver <NUM> to output soft value sequences of all parity bits <MAT> whose column weights are <NUM>.

In this example useful for understanding of this invention, a manner in which the data sending device interleaves, by using the first interleaver, all information bit sequences and all the parity bits whose column weights are greater than <NUM>, and interleaves, by using the second interleaver, all parity bits whose column weights are <NUM> may be applied to a scenario with relatively abundant storage resources.

In a possible implementation, the data sending device interleaves, by using the first interleaver, all information bit sequences and all the parity bits whose column weights are greater than <NUM>, and does not interleave any parity bit whose column weight is <NUM>. For example, in <FIG>, all information bit sequences and all parity bits <MAT> whose column weights are greater than <NUM> are interleaved by using an interleaver <NUM> to output an interleaved bit sequence <MAT>. Any parity bit <MAT> whose column weight is <NUM> is not interleaved.

The data receiving device de-interleaves the soft value sequence by using the first de-interleaver, to obtain soft value sequences that are of all information bit sequences and that are of all parity bits whose column weights are greater than <NUM>. For example, as shown in <FIG>, a soft value sequence is de-interleaved by using a de-interleaver <NUM> to output soft value sequences that are of all information bit sequences and that are of all parity bits <MAT> whose column weights are greater than <NUM>.

In this example useful for understanding of this invention, the data sending device interleaves, by using the first interleaver, all information bit sequences and all the parity bits whose column weights are greater than <NUM>, and does not interleave any parity bit whose column weight is <NUM>. An interleaver has a relatively small size, a low storage pressure, and a low latency.

In a possible implementation, the data sending device interleaves, by using the first interleaver, all information bit sequences, all the parity bits whose column weights are greater than <NUM>, and some parity bits whose column weights are <NUM>.

The data sending device interleaves, by using the second interleaver, another parity bit, whose column weight is <NUM> and that is different from some parity bits whose column weights are <NUM> and that are interleaved by using the first interleaver, in parity bits whose column weights are <NUM>. For example, as shown in <FIG>, all information bit sequences, all parity bits whose column weights are greater than <NUM>, and some parity bits <MAT> whose column weights are <NUM> are interleaved by using an interleaver <NUM> to output an interleaved bit sequence <MAT>. Another parity bit <MAT> , whose column weight is <NUM> and that is different from some parity bits whose column weights are <NUM> and that are interleaved by using the first interleaver, in parity bits whose column weights are <NUM> is interleaved by using an interleaver <NUM> to output an interleaved bit sequence <MAT>.

The data receiving device de-interleaves a soft value sequence by using the first de-interleaver, to obtain soft value sequences that are of all information bit sequences, that are of all parity bits whose column weights are greater than <NUM>, and that are of some parity bits whose column weights are <NUM>, and de-interleaves the soft value sequence by using the second de-interleaver, to obtain a soft value sequence of another parity bit, whose column weight is <NUM> and that is different from some parity bits whose column weights are <NUM> and that are obtained by performing de-interleaving by using the first de-interleaver, in the parity bits whose column weights are <NUM>. For example, in <FIG>, a soft value sequence is de-interleaved by using a de-interleaver <NUM> to output soft value sequences that are of all information bit sequences, that are of all parity bits whose column weights are greater than <NUM>, and that are of some parity bits <MAT> whose column weights are <NUM>, and is de-interleaved by using a de-interleaver <NUM> to output a soft value sequence of another parity bit <MAT>, whose column weight is <NUM> and that is different from some parity bits whose column weights are <NUM> and that are interleaved by using the first interleaver, in the parity bits whose column weights are <NUM>.

In this embodiment of this invention, the foregoing some parity bits <MAT> whose column weights are <NUM> may be set based on a bit rate during initial transmission. If the bit rate during initial transmission is lower than <MAT>, where | | indicates a length of a sequence, the first <MAT> bits are selected from <MAT> , to enable a sequence <MAT> to satisfy the bit rate during initial transmission.

In this embodiment of this invention, the data sending device interleaves, by using the first interleaver, all information bit sequences, all parity bits whose column weights are greater than <NUM>, and some parity bits whose column weights are <NUM>, and interleaves, by using the second interleaver, another parity bit, whose column weight is <NUM> and that is different from some parity bits whose column weights are <NUM> and that are interleaved by using the first interleaver, in the parity bits whose column weights are <NUM>, so that there is a relatively large quantity of bits that may be interleaved, to disperse bits of a Raptor-like LDPC code that have different importance to a greater extent.

The data sending device does not interleave another parity bit, whose column weight is <NUM> and that is different from some parity bits whose column weights are <NUM> and that are interleaved by using the first interleaver, in parity bits whose column weights are <NUM>. For example, as shown in <FIG>, all information bit sequences, all parity bits whose column weights are greater than <NUM>, and some parity bits <MAT> whose column weights are <NUM> are interleaved by using an interleaver <NUM> to output an interleaved bit sequence <MAT>. Another parity bit <MAT>, whose column weight is <NUM> and that is different from some parity bits whose column weights are <NUM> and that are interleaved by using the first interleaver, in the parity bits whose column weights are <NUM> is not interleaved.

The data receiving device de-interleaves a soft value sequence by using the first de-interleaver, to obtain soft value sequences that are of all information bit sequences, that are of all parity bits whose column weights are greater than <NUM>, and that are of some parity bits whose column weights are <NUM>. For example, as shown in <FIG>, a soft value sequence is de-interleaved by using a de-interleaver <NUM> to output soft value sequences that are of all information bit sequences, that are of all parity bits whose column weights are greater than <NUM>, and that are of some parity bits <MAT> whose column weights are <NUM>.

In this embodiment of this invention, the foregoing some parity bits <MAT> whose column weights are <NUM> may be set according to an actual status.

In this embodiment of this invention, the data sending device interleaves, by using the first interleaver, all information bit sequences, all parity bits whose column weights are greater than <NUM>, and some parity bits whose column weights are <NUM>, and does not interleave another parity bit, whose column weight is <NUM> and that is different from some parity bits whose column weights are <NUM> and that are interleaved by using the first interleaver, in the parity bits whose column weights are <NUM>, so that there is a relatively small quantity of interleavers for use, and a storage resource is saved when a quantity of bits that may be interleaved is ensured.

In a possible implementation, the data sending device interleaves all information bit sequences by using the first interleaver, and interleaves, by using the second interleaver, all the parity bits whose column weights are greater than <NUM>, and all or some of the parity bits whose column weights are <NUM>. For example, in <FIG>, all information bit sequences <MAT> are interleaved by using an interleaver <NUM> to output an interleaved bit sequence <MAT>. All parity bits whose column weights are greater than <NUM> and all parity bits <MAT> whose column weights are <NUM> are interleaved by using an interleaver <NUM> to output an interleaved bit sequence <MAT>.

The data receiving device de-interleaves the soft value sequence by using the first de-interleaver, to obtain soft value sequences of all information bit sequences, and de-interleaves the soft value sequence by using the second de-interleaver, to obtain soft value sequences that are of all parity bits whose column weights are greater than <NUM> and that are of some parity bits whose column weights are <NUM>, or obtain soft value sequences that are of all parity bits whose column weights are greater than <NUM> and that are of all parity bits whose column weights are <NUM>. For example, in <FIG>, a soft value sequence is de-interleaved by using a de-interleaver <NUM> to output soft value sequences of all information bit sequences <MAT>, and is de-interleaved by using a de-interleaver <NUM> to output soft value sequences that are all parity bits whose column weights are greater than <NUM> and that are of all parity bits <MAT> whose column weights are <NUM>.

In a possible implementation, the data sending device interleaves, by using the first interleaver, some parity bits whose column weights are <NUM>, and all the information bit sequences, or some parity bits whose column weights are <NUM> and some information bit sequences, or all the parity bits whose column weights are <NUM> and all the information bit sequences, or all parity bits whose column weights are <NUM> and some information bit sequences. The data sending device interleaves a margin bit sequence by using the second interleaver. The margin bit sequence is a bit sequence that has a specified length and that is selected in descending order of priorities from a remaining information bit sequence that is not interleaved by the first interleaver, a parity bit whose column weight is greater than <NUM>, and a remaining parity bit whose column weight is <NUM> and that is not interleaved by the first interleaver. For example, in <FIG>, some parity bits whose column weights are <NUM> and some information bit sequence <MAT> are interleaved by using an interleaver <NUM> to output an interleaved bit sequence <MAT>. The margin bit sequence includes a remaining information bit sequence <MAT> that is not interleaved by the first interleaver, and a parity bit <MAT> whose column weight is greater than <NUM>. A margin bit sequence <MAT> is interleaved by using the interleaver <NUM> to output an interleaved bit sequence <MAT>.

The data receiving device de-interleaves the soft value sequence by using the first de-interleaver, to obtain soft value sequences that are of some parity bits whose column weights are <NUM> and that are of all information bit sequences, or soft value sequences that are of some parity bits whose column weights are <NUM> and that are of some information bit sequences, or soft value sequences that are of all the parity bits whose column weights are <NUM> and that are of all the information bit sequences, or soft value sequences that are of all parity bits whose column weights are <NUM> and that are of some information bit sequences. The data receiving device de-interleaves the soft value sequence by using the second de-interleaver, to obtain a soft value sequence of a margin bit sequence. The margin bit sequence is a bit sequence that has a specified length and that is selected in descending order of priorities from a remaining information bit sequence that is not de-interleaved by the first de-interleaver, a parity bit whose column weight is greater than <NUM>, and a remaining parity bit whose column weight is <NUM> and that is not de-interleaved by the first de-interleaver. For example, in <FIG>, a soft value sequence is de-interleaved by using a de-interleaver <NUM> to output soft value sequences that are of some parity bits whose column weights are <NUM> and that are of some information bit sequences <MAT>, and is de-interleaved by using a de-interleaver <NUM> to output a soft value sequence of a margin bit sequence <MAT>.

In this example useful for understanding of this invention, a manner in which some (or all) parity bits whose column weights are <NUM> and all (or some) information bit sequences are interleaved by using the first interleaver, and the margin bit sequence is interleaved by using the second interleaver may be applied to a scenario of data packet retransmission. The length of the bit sequence selected from the margin bit sequence may be determined based on a length of a retransmitted data packet. For example, during retransmission, if the length of the retransmitted data packet is greater than a length of a parity bit whose column weight is <NUM> and that should have been transmitted previously but was not transmitted, some or all information bit sequences are selected to form a retransmitted data packet with the parity bit whose column weight is <NUM> and that should have been transmitted but was not transmitted. If a data packet needs to be retransmitted again, a new data packet is formed, based on a length of the data packet that is retransmitted again, by a remaining information bit sequence that is not interleaved by the first interleaver, a parity bit whose column weight is greater than <NUM>, and a remaining parity bit whose column weight is <NUM> and that is not interleaved by the first interleaver.

Based on the data transmission method in the foregoing embodiments, the embodiments of this invention further provide a data sending device and a data receiving device. It may be understood that, to implement the foregoing functions, the data sending device and the data receiving device include a corresponding hardware structure and/or software module for performing the functions. The embodiments of this invention can be implemented in a form of hardware or a combination of hardware and computer software with reference to units and algorithm steps of examples described in the embodiments disclosed in this invention. Whether a function is performed by hardware or hardware driven by computer software depends on particular inventions and design constraints of the technical solutions. A person skilled in the art may use different methods to implement the described functions for each particular invention, but it should not be considered that the implementation goes beyond the scope of the technical solutions of the embodiments of this invention.

Division of functional units may be performed on the data sending device and the data receiving device according to the foregoing method examples in the embodiments of this invention. For example, each functional unit may be divided according to each function, or two or more functions may be integrated into one processing unit. It should be noted that the division of the units in the embodiments of this invention is an example, and is merely logical function division, and there may be another division manner during actual implementation.

In a case that an integrated unit is used, <FIG> is a schematic structural diagram of a data sending device <NUM> according to an embodiment of this invention. Referring to <FIG>, the data sending device <NUM> includes an encoding unit <NUM>, an interleaving unit <NUM>, a modulation unit <NUM>, and a sending unit <NUM>.

The encoding unit <NUM> is configured to encode information data by using an LDPC code matrix, to obtain a bit sequence, where the bit sequence includes a first bit sequence, and the first bit sequence includes at least one information bit in the bit sequence. The interleaving unit <NUM> is configured to interleave the first bit sequence obtained by the encoding unit <NUM> based on encoding, to obtain a first interleaved bit sequence. The modulation unit <NUM> is configured to perform modulation based on the first interleaved bit sequence obtained by the interleaving unit <NUM> by interleaving, to obtain a sending signal. The sending unit <NUM> is configured to send the sending signal obtained by performing modulation by the modulation unit <NUM>,.

The first bit sequence further includes at least one parity bit whose column weight is greater than <NUM> in the bit sequence.

The first bit sequence further includes at least one parity bit whose column weight is <NUM> in the bit sequence.

The first bit sequence includes all information bits in the bit sequence and all parity bits whose column weights are greater than <NUM> in the bit sequence. Alternatively, the first bit sequence includes all information bits in the bit sequence, all parity bits whose column weights are greater than <NUM> in the bit sequence, and at least one parity bit whose column weight is <NUM> in the bit sequence.

In a possible implementation, the bit sequence further includes a second bit sequence, and an intersection set between bits in the second bit sequence and bits in the first bit sequence is empty. The interleaving unit <NUM> is further configured to interleave the second bit sequence to obtain a second interleaved bit sequence. The modulation unit <NUM> performs modulation based on the first interleaved bit sequence and the second interleaved bit sequence to obtain the sending signal.

The first bit sequence includes all information bits in the bit sequence and all parity bits whose column weights are greater than <NUM> in the bit sequence, and the second bit sequence includes all parity bits whose column weights are <NUM> in the bit sequence. Alternatively, the first bit sequence includes all information bits in the bit sequence, all parity bits whose column weights are greater than <NUM> in the bit sequence, and at least one parity bit whose column weight is <NUM> in the bit sequence; and the second bit sequence includes at least one parity bit whose column weight is <NUM> in the bit sequence. Alternatively, the first bit sequence includes all information bits in the bit sequence, and the second bit sequence includes a parity bit whose column weight is greater than <NUM> in the bit sequence and at least one parity bit whose column weight is <NUM> in the bit sequence. Alternatively, the first bit sequence includes all information bits in the bit sequence and all parity bits whose column weights are <NUM> in the bit sequence, and the second bit sequence includes all parity bits whose column weights are greater than <NUM> in the bit sequence. Alternatively, the first bit sequence includes all information bits in the bit sequence and at least one parity bit whose column weight is <NUM> in the bit sequence, and the second bit sequence includes all parity bits whose column weights are greater than <NUM> in the bit sequence and at least one parity bit whose column weight is <NUM> in the bit sequence. Alternatively, the first bit sequence includes at least one information bit in the bit sequence and all parity bits whose column weights are <NUM> in the bit sequence, and the second bit sequence includes all parity bits whose column weights are greater than <NUM> in the bit sequence and at least one information bit in the bit sequence. Alternatively, the first bit sequence includes at least one information bit in the bit sequence and at least one parity bit whose column weight is <NUM> in the bit sequence, and the second bit sequence includes all parity bits whose column weights are greater than <NUM> in the bit sequence, at least one information bit in the bit sequence, and at least one parity bit whose column weight is <NUM> in the bit sequence.

In another possible implementation, the bit sequence further includes a third bit sequence, an intersection set between bits in the third bit sequence and the bits in the first bit sequence is empty, and an intersection set between the bits in the third bit sequence and the bits in the second bit sequence is empty.

The interleaving unit <NUM> is further configured to interleave the third bit sequence to obtain a third interleaved bit sequence. The modulation unit <NUM> performs modulation based on the first interleaved bit sequence, the second interleaved bit sequence, and the third interleaved bit sequence to obtain the sending signal.

The interleaving unit <NUM> performs interleaving in the following manner:
determining a quantity of rows of an interleaving matrix and a quantity of columns of the interleaving matrix based on a length of a to-be-interleaved bit sequence, where the length of the to-be-interleaved bit sequence, the quantity of rows of the interleaving matrix, and the quantity of columns of the interleaving matrix satisfy a formula D ≤ (M×N), where D is the length of the to-be-interleaved bit sequence, M is the quantity of rows of the interleaving matrix, and N is the quantity of columns of the interleaving matrix; determining, based on the determined quantity of rows of the interleaving matrix, the determined quantity of columns of the interleaving matrix, and the length of the to-be-interleaved bit sequence, an interleaving bit sequence written into the interleaving matrix, where a <NUM>th bit to an (ND-<NUM>)th bit in the interleaving bit sequence are dummy bits, ND= (M×N - D), and an NDth bit to an (M×N-<NUM>)th bit in the interleaving bit sequence are successively a <NUM>th bit to a (D-<NUM>)th bit in the to-be-interleaved bit sequence; writing a bit in the interleaving bit sequence row by row into an interleaving matrix whose size is (M×N) ; and after performing column transformation on the interleaving matrix into which the interleaving bit sequence is written, outputting a bit sequence column by column except the dummy bits, to obtain an interleaved bit sequence.

During implementation in a form of hardware, in this embodiment of this invention, the encoding unit <NUM> may be an encoder, the interleaving unit <NUM> may be an interleaver, the modulation unit <NUM> may be a modulator, and the sending unit <NUM> may be a transmitter. <FIG> is another schematic structural diagram of a data sending device according to an embodiment of this invention. Referring to <FIG>, the data sending device <NUM> includes an encoder <NUM>, an interleaver <NUM>, a modulator <NUM>, and a transmitter <NUM>.

The encoder <NUM> has a same function as the encoding unit <NUM>, and is configured to implement a function of obtaining a bit sequence by encoding information data by using LDPC. The interleaver <NUM> has a same function as the interleaving unit <NUM>, and is configured to implement a function of interleaving a first bit sequence, a second bit sequence, and/or a third bit sequence. The modulator <NUM> has a same function as the modulation unit <NUM>, and is configured to implement a function of modulating a first interleaved bit sequence, a second interleaved bit sequence, and/or a third interleaved bit sequence. The transmitter <NUM> has a same function as the sending unit <NUM>, and is configured to implement a function of transmitting a sending signal. For specific functions of the encoder <NUM>, the interleaver <NUM>, the modulator <NUM>, and the transmitter <NUM> in the data sending device <NUM>, reference may be made to the description of the data sending device <NUM> in the foregoing embodiment.

In this embodiment of this invention, the data sending device <NUM> and the data sending device <NUM> have the function of performing data transmission by the data sending device in the foregoing method embodiments. For more details about descriptions of the embodiments of this invention, reference may be made to related descriptions of the foregoing embodiments. Details are not described herein in the embodiments of this invention.

In a case that an integrated unit is used, <FIG> is a schematic structural diagram of a data receiving device <NUM> according to an embodiment of this invention. Referring to <FIG>, the data receiving device <NUM> includes a receiving unit <NUM>, a demodulation unit <NUM>, and a de-interleaving unit <NUM>,.

The receiving unit <NUM> is configured to receive a receiving signal. The demodulation unit <NUM> is configured to demodulate the receiving signal received by the receiving unit <NUM>, to obtain a soft value sequence. The de-interleaving unit <NUM> is configured to de-interleave the soft value sequence to obtain a soft value sequence of a first bit sequence. The first bit sequence is a bit sequence obtained based on encoding by using an LDPC code matrix, and the first bit sequence includes at least one information bit in the bit sequence.

In a possible implementation, the de-interleaving unit <NUM> is further configured to: after the demodulation unit <NUM> demodulates the receiving signal to obtain the soft value sequence, de-interleave the soft value sequence to obtain a soft value sequence of a second bit sequence. The second bit sequence is a bit sequence obtained based on encoding by using the LDPC code matrix, and an intersection set between bits in the second bit sequence and bits in the first bit sequence is empty.

In another possible implementation, the de-interleaving unit <NUM> is further configured to: after the demodulation unit <NUM> demodulates the receiving signal to obtain the soft value sequence, to obtain a soft value sequence of a third bit sequence. The third bit sequence is a bit sequence obtained based on encoding by using the LDPC code matrix, an intersection set between bits in the third bit sequence and the bits in the first bit sequence is empty, and an intersection set between the bits in the third bit sequence and the bits in the second bit sequence is empty.

The de-interleaving unit <NUM> de-interleaves the soft value sequence in the following manner:
determining a quantity of rows of a de-interleaving matrix and a quantity of columns of the de-interleaving matrix based on a length of a to-be-deinterleaved soft value sequence, where the length of the to-be-deinterleaved soft value sequence, the quantity of rows of the de-interleaving matrix, and the quantity of columns of the de-interleaving matrix satisfy a formula D ≤ (M×N) , where D is the length of the to-be-deinterleaved soft value sequence, M is the quantity of rows of the de-interleaving matrix, and N is the quantity of columns of the de-interleaving matrix; writing, by the data receiving device, a soft value in the to-be-deinterleaved soft value sequence column by column into a de-interleaving matrix whose size is (M×N) ; and outputting a soft value sequence row by row after performing column transformation on the de-interleaving matrix into which the soft value is written, to obtain a de-interleaved soft value sequence.

During implementation in a form of hardware, in this embodiment of this invention, the receiving unit <NUM> may be a receiver, the demodulation unit <NUM> may be a demodulator, and the de-interleaving unit <NUM> may be a de-interleaver. <FIG> is another schematic structural diagram of a data receiving device according to an embodiment of this invention. Referring to <FIG>, the data receiving device <NUM> includes a receiver <NUM>, a demodulator <NUM>, and a de-interleaver <NUM>.

The receiver <NUM> has a same function as the receiving unit <NUM>, and is configured to implement a function of receiving a receiving signal. The demodulator <NUM> has a same function as the demodulation unit <NUM>, and is configured to implement a function of demodulating the receiving signal to obtain a bit sequence including a first bit sequence, a second bit sequence, and/or a third bit sequence. The de-interleaver <NUM> has a same function as the de-interleaving unit <NUM>, and is configured to implement a function of de-interleaving a soft value sequence to obtain a soft value sequence that is of the first bit sequence, the second bit sequence, and/or the third bit sequence. For specific functions of the receiver <NUM>, the demodulator <NUM>, and the de-interleaver <NUM> in the data receiving device <NUM>, reference may be made to the description of the data receiving device <NUM> in the foregoing embodiment.

In this embodiment of this invention, the data receiving device <NUM> and the data receiving device <NUM> have the function of performing data transmission by the data receiving device in the foregoing method embodiments. For more details about descriptions of the embodiments of this invention, reference may be made related to descriptions of the foregoing embodiments.

Claim 1:
A data transmission method, comprising:
encoding (S101), by a data sending device, information data by using a Raptor-like low-density parity-check, LDPC, code matrix, to obtain a bit sequence, wherein the bit sequence comprises a first bit sequence, and the first bit sequence comprises at least one information bit in the bit sequence;
interleaving (S102), by the data sending device, the first bit sequence to obtain a first interleaved bit sequence; and
performing (S103), by the data sending device, modulation based on the first interleaved bit sequence to obtain a sending signal, and sending the sending signal;
wherein the Raptor-like LDPC code matrix includes a matrix block corresponding to an information bit sequence in a highest bit rate check matrix (A), a matrix block corresponding to a parity bit sequence in the highest bit rate check matrix (B), a matrix block extended from the highest bit rate check matrix (C), a zero matrix (O), and a matrix whose diagonal is <NUM> and remaining part is <NUM> (I); the first bit sequence comprises all information bits in the bit sequence corresponding to the sequence of aligned columns in A and C of the Raptor-like LDPC code matrix and all parity bits in the bit sequence corresponding to the sequence of aligned columns in B and C of the Raptor-like LDPC code matrix whose column weights are greater than <NUM> and a plurality of parity bits in the bit sequence corresponding to the sequence of aligned columns in O and I of the Raptor-like LDPC code matrix whose column weights are <NUM>, and wherein a number of the plurality of parity bits in the bit sequence corresponding to the sequence of aligned columns in O and I of the Raptor-link LDPC code matrix whose column weights are <NUM> is selected so that the first bit sequence satisfies the bit rate during initial transmission.