WO2015165093A1 - 一种数据发送方法和装置 - Google Patents

一种数据发送方法和装置 Download PDF

Info

Publication number
WO2015165093A1
WO2015165093A1 PCT/CN2014/076641 CN2014076641W WO2015165093A1 WO 2015165093 A1 WO2015165093 A1 WO 2015165093A1 CN 2014076641 W CN2014076641 W CN 2014076641W WO 2015165093 A1 WO2015165093 A1 WO 2015165093A1
Authority
WO
WIPO (PCT)
Prior art keywords
check
variable node
codeword sequence
ldpc code
bit
Prior art date
Application number
PCT/CN2014/076641
Other languages
English (en)
French (fr)
Inventor
陈州辉
马征
林伟
Original Assignee
华为技术有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 华为技术有限公司 filed Critical 华为技术有限公司
Priority to EP23205483.3A priority Critical patent/EP4340267A3/en
Priority to CN201480078088.7A priority patent/CN106464421B/zh
Priority to EP14890885.8A priority patent/EP3131219B1/en
Priority to PCT/CN2014/076641 priority patent/WO2015165093A1/zh
Publication of WO2015165093A1 publication Critical patent/WO2015165093A1/zh
Priority to US15/337,703 priority patent/US10135466B2/en

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/11Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
    • H03M13/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
    • H03M13/1148Structural properties of the code parity-check or generator matrix
    • H03M13/1177Regular LDPC codes with parity-check matrices wherein all rows and columns have the same row weight and column weight, respectively
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/11Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
    • H03M13/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
    • H03M13/1148Structural properties of the code parity-check or generator matrix
    • H03M13/116Quasi-cyclic LDPC [QC-LDPC] codes, i.e. the parity-check matrix being composed of permutation or circulant sub-matrices
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/11Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
    • H03M13/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
    • H03M13/1148Structural properties of the code parity-check or generator matrix
    • H03M13/118Parity check matrix structured for simplifying encoding, e.g. by having a triangular or an approximate triangular structure
    • H03M13/1185Parity check matrix structured for simplifying encoding, e.g. by having a triangular or an approximate triangular structure wherein the parity-check matrix comprises a part with a double-diagonal
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/61Aspects and characteristics of methods and arrangements for error correction or error detection, not provided for otherwise
    • H03M13/615Use of computational or mathematical techniques
    • H03M13/616Matrix operations, especially for generator matrices or check matrices, e.g. column or row permutations
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/63Joint error correction and other techniques
    • H03M13/635Error control coding in combination with rate matching
    • H03M13/6362Error control coding in combination with rate matching by puncturing
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/65Purpose and implementation aspects
    • H03M13/6522Intended application, e.g. transmission or communication standard
    • H03M13/6527IEEE 802.11 [WLAN]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/0001Systems modifying transmission characteristics according to link quality, e.g. power backoff
    • H04L1/0009Systems modifying transmission characteristics according to link quality, e.g. power backoff by adapting the channel coding
    • H04L1/0013Rate matching, e.g. puncturing or repetition of code symbols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0057Block codes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0067Rate matching
    • H04L1/0068Rate matching by puncturing
    • H04L1/0069Puncturing patterns

Definitions

  • the present invention relates to the field of wireless communication technologies, and in particular, to a data transmission method and apparatus for encoding using a Low Density Parity Check (LDPC) code.
  • LDPC Low Density Parity Check
  • LDPC code has many advantages such as parallel high-speed decoding, low error leveling, self-interlacing, and flexible rate design, so it becomes a wireless local area network (WLAN).
  • WLAN wireless local area network
  • An optional channel coding scheme for the standard ie, the Institute of Electrical and Electronic Engineers, IEEE 802.11ac standard.
  • the LDPC code check matrix H ⁇ H ⁇ , most of the elements are 0, and some of the elements are 1, that is, ⁇ is a sparse matrix.
  • the LDPC code can also be equivalently determined by its factor graph (tanner graph), and the Tanner graph corresponds to the LDPC code check matrix.
  • the Tanner graph includes the variable node set ⁇ ⁇ and the check node set, in the Tanner graph.
  • the check node corresponds to the first row in ⁇ , ie the first check equation in the matrix; and the variable node corresponds to the first column in ⁇ , ie the first bit in the encoded codeword.
  • the LDPC code check matrix is as follows:
  • FIG. 1 is a Tanner graph corresponding to the LDPC code check matrix ⁇ .
  • the check node in the Tanner graph C; ⁇ corresponding to the first row, and the variable node in a Tanner graph corresponding to the column ⁇ , for example, corresponding to check node ⁇ check equation: + 3 + 5 + 7 0.
  • the node set 3 3 7 , ⁇ in Fig. 1 constitutes a ring of length 4.
  • the LDPC code check matrix H used in the existing WLAN standard (IEEE 802.11 ac) has a systemic (systematic) and quasi-cyclic (Quasi-Cyclic) structure.
  • an error control strategy based on adaptive coding rates according to different channel conditions can be used to improve the transmission efficiency of the system while ensuring reliability.
  • the implementation of multiple encoder and decoder pairs is too complex, so the rate-compatible channel coding scheme using a single pair of codecs is more achievable.
  • the rate compatible with the LDPC coding scheme first design a parity code LDPC code check matrix as the mother code, and then flexibly improve the bit rate by Puncturing or reduce the code rate by repetition.
  • the parity bit in the codeword sequence is randomly deleted, and the high rate code of the code rate is obtained.
  • the punching mode is random puncturing.
  • the puncturing method of the LDPC code mostly adopts a random punching scheme. In this mode, each time a high rate LDPC code is constructed from a low rate LDPC code, the deleted bit positions are randomly selected.
  • each transmission requires additional overhead to transmit the deletion matrix to the receiving end, which causes waste of system resources.
  • random puncturing does not optimize the puncturing position and order of the LDPC code check matrix, so it cannot provide better puncturing performance.
  • the above punching method is improved, and a punching method based on the degree distribution of the variable nodes is proposed. That is, the parity bit with a smaller degree of the corresponding variable node is preferentially punched.
  • This method is based on the analysis of the decoding performance of the irregular LDPC code.
  • the higher variable node can obtain more parity information in the iterative decoding, so the decoding convergence is faster and the reliability is higher. Based on this analysis, the lower the degree of the variable node, the smaller the impact on the decoding performance.
  • the LDPC code used in the WLAN standard is a system code. In the matrix obtained by encoding the LDPC code check matrix, the left half is the information part, and the right half is the check part.
  • the bits corresponding to the columns in the information portion are information bits in the encoded codeword, and the bits corresponding to the columns in the check portion are the check bits in the encoded codeword.
  • all schemes are punctured only for parity bits.
  • the LDPC code check matrix H in the WLAN standard has a degree of 3 in the front z-column. The degree of the column is 2.
  • the IEEE 802.11ac standard specifies that the last column of the LDPC code check matrix is punctured in advance, that is, the LDPC code puncturing scheme adopted by the WLAN standard is punctured based on the degree distribution.
  • the present invention provides a data transmission method and apparatus, which solves the problem of poor performance of a high code rate LDPC code obtained by using an existing puncturing method based on a variable node degree distribution.
  • the first aspect a data sending method, the method comprising:
  • the row destructive power is used to measure the impact of the variable node in the LDPC code check matrix on the correct decoding of the variable node adjacent to the variable node, where the adjacent variable node is a variable node adjacent to the variable node among the variable nodes connected to the check nodes connected to the variable node;
  • the ring breaking force is used to measure the variable node in the LDPC code check matrix
  • RowDestruction( ) D(m) .
  • D(m) represents the check node CNO in the check matrix of the LDPC code) and the variable node fw (o phase) The number of adjacent variable nodes.
  • the row destructive power of the LDPC code check matrix is determined according to a variable node corresponding to each check bit in the codeword sequence. Determining a puncturing priority of each parity bit in the codeword sequence, including:
  • the puncturing priority of the parity bit corresponding to the variable node whose value of the row destructive power is small is lower than the puncturing priority of the parity bit corresponding to the variable node whose value of the row destructive power is large.
  • the schools in the codeword sequence are Checking the bit, determining the ring breaking force of the variable node corresponding to the check bit on the check matrix of the LDPC code according to the following formula:
  • CycNumii represents the variable node N in the LDPC code check matrix (the minimum ring formed by the connection of the variable node and the check node around it) Number
  • S is the set optimization factor, and S >0.
  • the ring destructive power of the LDPC code check matrix is determined according to a variable node corresponding to each check bit in the codeword sequence Determining a puncturing priority of each parity bit in the codeword sequence, including:
  • the puncturing priority of the parity bit corresponding to the variable node whose value of the ring breaking force is small is lower than the puncturing priority of the parity bit corresponding to the variable node whose value of the ring breaking force is large.
  • variable corresponding to each check bit in the codeword sequence Determining the puncturing priority of each parity bit in the codeword sequence by the node to the row destructive power and the ring destructive force of the LDPC code check matrix, including:
  • variable node corresponding to the check bit is summed with the row destructive power and the ring destructive force of the LDPC code check matrix, and the obtained sum value is used as the check bit.
  • the schools in the codeword sequence are Performing a puncturing priority of the bit, performing a puncturing process on the codeword sequence, including: determining, in the codeword sequence, a number of parity bits that need to be punctured;
  • the codeword sequence is punctured according to the determined number of parity bits to be punctured according to the order in which the puncturing priorities of the check bits in the codeword sequence are from small to large.
  • a data transmitting apparatus comprising:
  • An encoding module configured to encode, by using an LDPC code check matrix, information bits that need to be sent, to obtain a codeword sequence, where the codeword sequence includes the information bits and check bits;
  • a priority determining module configured to determine a row destructive power and/or a ring destructive force of the LDPC code check matrix according to a variable node corresponding to each check bit in the codeword sequence, and determine each check bit Punch priority
  • a puncturing module configured to perform puncturing on the codeword sequence according to a puncturing priority of each parity bit in the codeword sequence
  • a sending module configured to generate a bit sequence according to the punctured codeword sequence, and send the bit sequence, where the row destructive power is used to measure the variable node pair in the LDPC code check matrix and the variable node
  • the effect of the correct decoding of the adjacent variable node wherein the adjacent variable node is a variable node adjacent to the variable node among the variable nodes connected to the check nodes connected to the variable node;
  • the ring breaking force is used to measure the influence of the variable node in the LDPC code check matrix on the correct decoding of the variable node traversed by the minimum ring corresponding to the variable node, where the minimum ring corresponding to the variable node is the variable
  • the closed graph with the smallest length formed by the node and the surrounding variable node and check node.
  • the priority determining module determines, according to the following formula, a variable node corresponding to the check bit to the LDPC code
  • the row destructive power of the check matrix
  • RowDestruction( ) ⁇ D(m) .
  • the number of the parity bits in the codeword sequence is;
  • G c (0 represents the variable nodes VN (f) check nodes connected to the CN () collection, m ..., M, M represents a variable node ⁇ ⁇ ⁇ ' The number of connected check nodes;
  • D(m) indicates the number of variable nodes adjacent to the variable node PW (O) among the variable nodes connected to the check node CNO in the LDPC code check matrix.
  • the puncturing priority of the parity bit corresponding to the variable node whose value of the row destructive power is small is lower than the puncturing priority of the parity bit corresponding to the variable node whose value of the row destructive power is large.
  • the priority determining module determines, according to the following formula, a variable node corresponding to the check bit to the LDPC code Check the ring breaking force of the matrix:
  • the priority determining module is specifically configured to:
  • the puncturing priority of the parity bit corresponding to the variable node whose value of the ring breaking force is small is lower than the puncturing priority of the parity bit corresponding to the variable node whose value of the ring breaking force is large.
  • the priority determining module is specifically configured to: for each check bit in the codeword sequence, the variable node corresponding to the check bit is
  • the row destructive power and the ring destructive force of the LDPC code check matrix are summed, and the obtained sum value is used as the total destructive power of the variable node corresponding to the check bit to the LDPC code check matrix;
  • the puncturing module is specifically configured to: determine, in the codeword sequence, a number of parity bits that need to be punctured;
  • the codeword sequence is punctured according to the determined number of parity bits to be punctured according to the order in which the puncturing priorities of the check bits in the codeword sequence are from small to large.
  • a third aspect is a communication device, the device comprising:
  • a processor configured to encode, by using an LDPC code check matrix, information bits to be transmitted, to obtain a codeword sequence, where the codeword sequence includes the information bits and check bits; according to each of the codeword sequences Determining, by the variable node corresponding to the parity bit, a row destructive power and/or a ring destructive force of the LDPC code check matrix, determining a puncturing priority of each parity bit; according to each parity bit in the codeword sequence Punching priority, performing a puncturing process on the codeword sequence; and generating a bit sequence according to the punctured codeword sequence;
  • a transmitter configured to send a bit sequence generated by the processor
  • the row destructive power is used to measure the impact of the variable node in the LDPC code check matrix on the correct decoding of the variable node adjacent to the variable node, where the adjacent variable node is a variable node adjacent to the variable node among the variable nodes connected to the check nodes connected to the variable node; the ring breaking force is used to measure the variable node in the check matrix of the LDPC code, and the variable The effect of correct decoding of the variable nodes traversed by the smallest loop formed by the connection of the node to the surrounding variable and check nodes.
  • the transmitter and the processor are connected by a bus.
  • the processor determines, according to the following formula, a variable node corresponding to the check bit to
  • RowDestruction(z) ⁇ D(m) .
  • D(m) denotes the variable node connected to the check node CN( ) in the check matrix of the LDPC code
  • the processor is specifically configured to:
  • the puncturing priority of the parity bit corresponding to the variable node whose value of the row destructive power is small is lower than the puncturing priority of the parity bit corresponding to the variable node whose value of the row destructive power is large.
  • the processor determines, according to the following formula, a variable node corresponding to the check bit to verify the LDPC code according to each check bit in the codeword sequence.
  • the ring breaking force of the matrix is
  • the processor is specifically configured to:
  • the puncturing priority of the parity bit corresponding to the variable node whose value of the ring breaking force is small is lower than the puncturing priority of the parity bit corresponding to the variable node whose value of the ring breaking force is large.
  • any one of the first to fourth possible implementation manners of the third aspect in a fifth possible implementation, is specifically configured to:
  • variable node corresponding to the check bit is summed with the row destructive power and the ring destructive force of the LDPC code check matrix, and the obtained sum value is used as the check bit.
  • the processor is specifically configured to: determine, in the codeword sequence, a number of parity bits that need to be punctured;
  • the codeword sequence is punctured according to the determined number of parity bits to be punctured according to the order in which the puncturing priorities of the check bits in the codeword sequence are from small to large.
  • the data transmitting method, device or communication device provided by the present invention utilizes a variable node corresponding to each parity bit in the codeword sequence to the LDPC code check matrix when puncturing the check bits in the codeword sequence Destructive power and/or ring breaking force, determining the puncturing priority corresponding to each parity bit, and puncturing the codeword sequence according to the puncturing priority corresponding to each parity bit in the codeword sequence, thereby being effective
  • the check bits of the LDPC code are distinguished to improve the performance of the obtained high code rate LDPC code.
  • 1 is a Tanner graph corresponding to an LDPC code check matrix provided by the background art
  • FIG. 3 is a schematic flowchart diagram of a data sending method provided by the present invention.
  • FIG. 4 is a schematic diagram of an example of a variable node connected to a check node CNA in a Tanner graph provided by the present invention
  • FIG. 5 is a schematic diagram of an example of a minimum ring of length 4 in an LDPC code check matrix provided by the present invention
  • FIG. 6 is a schematic diagram of an example of a minimum ring of length 6 in an LDPC code check matrix provided by the present invention
  • FIG. 7 is a schematic diagram of an example of determining a row destructive force of a variable node according to the present invention
  • FIG. 8 is a schematic diagram of a simulation result according to Embodiment 1 of the present invention
  • Embodiment 9 is a schematic diagram of simulation results of Embodiment 2 provided by the present invention.
  • Embodiment 10 is a schematic diagram of simulation results of Embodiment 3 provided by the present invention.
  • FIG. 11 is a schematic structural diagram of a data transmitting apparatus according to the present invention.
  • FIG. 12 is a schematic structural diagram of a communication device according to the present invention. detailed description
  • the present invention utilizes the row destructive power and/or the ring destructive force of the variable node corresponding to each parity bit in the codeword sequence to determine the puncturing priority corresponding to each parity bit, and according to the codeword sequence.
  • the puncturing priority corresponding to each parity bit, puncturing the codeword sequence can effectively distinguish the LDPC code check bits in the WLAN standard, improve the performance of the obtained high code rate LDPC code, and improve the performance. Its error control performance.
  • the present invention provides a data transmission method. As shown in FIG. 3, the method includes: Step 31: Encoding an information bit to be transmitted by using an LDPC code check matrix to obtain a codeword sequence. Step 32: Determine a puncturing priority of each parity bit according to a row destructive power and/or a ring destructive force of the LDPC code check matrix of the variable node corresponding to each parity bit in the codeword sequence.
  • the row destructive power of each variable node to the LDPC code check matrix is used to measure the influence of the variable node in the check matrix of the LDPC code check matrix on the correct decoding of the variable node adjacent to the variable node, wherein the phase
  • the adjacent variable node is a variable node adjacent to the variable node among the variable nodes connected to the check nodes connected to the variable node;
  • the ring breaking force of each variable node to the LDPC code check matrix is used to measure the effect of the variable node of the LDPC code check matrix on the correct decoding of the variable node traversed by the minimum loop corresponding to the variable node, wherein the variable The minimum ring corresponding to the node is the closed graph with the smallest length formed by the variable node connecting with the surrounding variable node and the check node.
  • Step 33 Perform a puncturing process on the codeword sequence according to the puncturing priority of each parity bit in the codeword sequence.
  • the puncturing of the codeword sequence refers to puncturing the parity bits in the codeword sequence.
  • the number of parity bits that need to be punctured by the puncturing process in the codeword sequence may be determined according to parameters such as the code rate and code length of the LDPC code to be enhanced.
  • Step 34 Generate a bit sequence according to the coded sequence of the punctured code and send it.
  • a bit sequence is generated according to the information bits to be sent and the punctured check bits, wherein the bit sequence includes information bits and punctured check bits.
  • the receiving end after receiving the bit sequence, performs reverse puncturing on the punctured codeword sequence to recover the punctured parity bit; and according to the restored codeword sequence, the codeword sequence Decoding processing is performed to obtain information bits.
  • the LDPC code check matrix is used to encode the information bits to be transmitted to obtain a codeword sequence; according to the variable node corresponding to each check bit in the codeword sequence, the row destructive power of the LDPC code check matrix is / or ring breaking force, determining the puncturing priority of each parity bit; puncturing the codeword sequence according to the puncturing priority of each parity bit in the codeword sequence; and, according to the punctured A sequence of codewords, generating a sequence of bits and transmitting.
  • each check in the codeword sequence Due to the use of each check in the codeword sequence
  • the row destructive power and/or the ring destructive force of the LDPC code check matrix of the variable node corresponding to the bit determine the puncturing priority corresponding to each parity bit, and according to the puncturing priority corresponding to each parity bit in the codeword sequence
  • the puncturing of the codeword sequence can effectively distinguish the check bits of the LDPC code, improve the performance of the obtained high code rate LDPC code, and improve the error control performance.
  • the determination of the puncturing priority of each check bit can be completed offline, and the puncturing pattern of the code word sequence can be determined in advance, so
  • the punching scheme of the invention does not increase the complexity of the system implementation and has strong competitiveness.
  • the row destructive power of the variable node to the LDPC code check matrix is used to measure the effect of the variable node in the LDPC code check matrix on the correct decoding of the variable node adjacent to the variable node.
  • the adjacent variable node is a variable node adjacent to the variable node among the variable nodes connected to the check nodes connected to the variable node.
  • variable nodes connected to the check node CNA (Check Node A) in the Tanner graph corresponding to an LDPC code check matrix include VN1 (Variable Node 1), VN3, and VN4.
  • VN1 Variable Node 1
  • VN3 Variable Node 1
  • VN3 Variable Node 3
  • VN4 the iterative decoding initial likelihood message of the variable node VN3 is assigned when the receiving end performs the reverse puncturing decoding.
  • An initial likelihood message of 0, VN3, does not provide any message that facilitates overall decoding recovery.
  • variable nodes VN1 and VN4 connected to CNA and adjacent to VN3 at the time of decoding the message receive a value of 0 for the destructive update message, which will have a destructive effect on the correct decoding of VN1 and VN4.
  • variable node VN3 is punctured, a value of 2 will be generated for the row of the check node CNA in the LDPC code check matrix (ie, the row of the check node CNA is connected to the CNA and the variable node VN3 is The row destructive power of the number of adjacent variable nodes.
  • the ring breaking force of the variable node to the LDPC code check matrix is used to measure the variable node in the LDPC code check matrix, and the correct translation of the variable node traversed by the minimum ring corresponding to the variable node The impact of the code.
  • the minimum ring corresponding to the variable node is a closed figure with the smallest length formed by sequentially connecting the variable node and the surrounding variable node and the check node, and the closed figure (ie, the minimum formed)
  • the length of the ring is the number of variable nodes and check nodes traversed by the closed figure.
  • variable nodes VN1, VN2 and the check nodes CNA and CNC form a ring of length 4, as shown by the thick line in Fig. 5.
  • the iterative decoding initial likelihood message of the variable node VN1 has a value of 0. It can be seen from FIG. 5 that when the variable node VN2 performs the likelihood message update in the iterative decoding process, it will simultaneously receive the destructive message transmitted by the check node CNA and the CNC connected to the variable node VN1 (ie, the update with a value of 0).
  • variable nodes VN1, VN2, VN3 and the check nodes CNA, CNB, and CNC form a loop of length 6, as shown by the thick lines in Fig. 6.
  • the iterative decoding initial likelihood message of the variable node VN1 is assigned a value of 0, the minimum ring.
  • the variable nodes VN2 and VN3 perform the likelihood message update in the iterative decoding process, they will receive the destructive message sent by the check nodes CNA, CNB, and CNC (that is, the update message with the value of 0), which is serious.
  • the row destructive power of the variable node corresponding to the check bit to the LDPC code check matrix is determined according to the following formula:
  • Row )eWrwcf/o «(/) indicates that the variable node VN(f) corresponding to the first check bit in the codeword sequence causes the LDPC code check matrix
  • the line destructive power, 1, 2, ..., N, N represents the number of check bits in the code word sequence
  • G c ( ) represents the check node CN( ) connected to the variable node fw (o)
  • D (m, represents the variable node in the LDPC code check matrix connected to the check node CN ( ) and the variable Node VN ⁇ i) The number of adjacent variable nodes.
  • the check nodes connected to the variable node VN3 are CAN, CNB, and CNC. Therefore, in the encoding, in order to improve the LDPC code rate, if the variable node VN3 is punctured, the destructive power caused by the row of the check node CNA in the LDPC code check matrix is 2, and the LDPC code is verified.
  • the ring breaking force of the variable node corresponding to the check bit to the LDPC code check matrix is determined according to the following formula:
  • the value of the optimization factor S can be obtained by simulating the puncturing performance according to the performance of the LDPC code.
  • the value of the optimization factor S is 2.
  • the value of the simulation optimization factor S is taken as 2, a good LDPC code performance can be obtained.
  • step 32 determining, according to the row destructive power and/or the ring breaking force of the LDPC code check matrix, the variable node corresponding to each check bit in the codeword sequence, determining each check bit Punch priority, including the following three optional implementations:
  • the puncturing priority of each parity bit in the codeword sequence is determined according to the row destructive power of the LDPC code check matrix corresponding to the variable node corresponding to the parity bit.
  • the punch priority of each check bit in the codeword sequence is determined, including: According to the variable node corresponding to each check bit in the codeword sequence, the value of the row destructive power of the LDPC code check matrix is changed from small to large, and the punch priority of each check bit in the codeword sequence is determined in turn, wherein the row breaks The puncturing priority of the parity bit corresponding to the variable node having a small value of force is lower than the puncturing priority of the parity bit corresponding to the variable node having a large value of the row destructive force.
  • the parity bits corresponding to the variable nodes having the same value of the destructive force have the same puncturing priority.
  • the check bits in the codeword sequence may be divided into at least one set according to the value of the row destructive power of the LDPC code check matrix of the variable node corresponding to each check bit in the codeword sequence, in each set.
  • the variable nodes corresponding to the check bits have the same row destructive power for the LDPC code check matrix, that is, each check bit in the same set has the same punch priority.
  • step 33 the puncturing process of the codeword sequence according to the puncturing priority of each parity bit in the codeword sequence includes:
  • the code word sequence is punctured according to the order in which the puncturing priorities of the check bits in the code word sequence are from small to large.
  • the number of the check bits that need to be punctured in the puncturing process is predicted, and may be determined according to the parameters such as the code rate and the code length of the LDPC code to be upgraded, which is the same as the prior art, and is not described here.
  • the code word sequence is punctured according to the order of the puncturing priorities of the check bits in the codeword sequence from small to large. The number of check bits that are erased.
  • puncturing is performed by a random selection method.
  • the puncturing priority of each parity bit in the codeword sequence is determined according to the ring breaking force of the LDPC code check matrix corresponding to the variable node corresponding to the parity bit.
  • the punch priority of each check bit in the codeword sequence is determined, including:
  • the ring of the LDPC code check matrix is broken.
  • the value of the bad force is changed from small to large, and the puncturing priority of each parity bit in the codeword sequence is determined in turn, wherein the puncturing priority of the parity bit corresponding to the large variable node.
  • the parity bits corresponding to the variable nodes having the same value of the ring breaking force have the same puncturing priority.
  • the parity bit in the codeword sequence may be divided into at least one set according to the value of the ring destructive power of the LDPC code check matrix of the variable node corresponding to each check bit in the codeword sequence, in each set.
  • the value of the ring destructive force of the LDPC code check matrix is the same for the variable node corresponding to the check bit, that is, each check bit in the same set has the same puncturing priority.
  • step 33 the puncturing process of the codeword sequence according to the puncturing priority of each parity bit in the codeword sequence includes:
  • the code word sequence is punctured according to the order in which the puncturing priorities of the check bits in the code word sequence are from small to large.
  • the code word sequence is punctured according to the order of the puncturing priorities of the check bits in the codeword sequence from small to large. The number of check bits that are erased.
  • puncturing is performed by a random selection method.
  • the punch priority of each check bit in the codeword sequence is determined, including:
  • the variable node corresponding to the check bit is used to sum the row destructive power and the ring destructive force of the LDPC code check matrix, and the obtained sum value is used as the variable node corresponding to the check bit.
  • variable node corresponding to each check bit in the codeword sequence the value of the total destructive power of the LDPC code check matrix is changed from small to large, and the punch priority of each check bit in the codeword sequence is determined in turn, wherein The puncturing priority of the parity bit corresponding to the variable node having a small destructive power value is lower than the puncturing priority of the parity bit corresponding to the variable node having a large total destructive power value.
  • the parity bits corresponding to the variable nodes having the same total destructive power have the same puncturing priority.
  • the check bits in the codeword sequence may be divided into at least one set according to the value of the total destructive power of the LDPC code check matrix of the variable node corresponding to each check bit in the codeword sequence, in each set.
  • the value of the total destructive power of the LDPC code check matrix is the same for the variable node corresponding to the check bit, that is, each check bit in the same set has the same puncturing priority.
  • the check bits are diversity according to the value of the total destructive power, and the total destructive power corresponding to all the check bits in each set is equal. Assume that all the check bits to be punched can be divided into J sets Set(l),...,Set(J), and satisfy:
  • step 33 performing a puncturing process on the codeword sequence according to the puncturing priority of each parity bit in the codeword sequence includes:
  • the code word sequence is punctured according to the order in which the puncturing priorities of the check bits in the code word sequence are from small to large.
  • the codeword sequence is in the order of puncturing priority of each check bit in the codeword sequence from small to large.
  • puncturing is performed by a random selection method.
  • the value of the total destructive force can be reduced from small to In a large order, the check bits in each set are punctured, that is, the check bits in the set of priority sets (1), and then the check bits in the set (2) are punched, and the holes are punched in this order. Until the desired LDPC code rate is obtained.
  • the mode of punching in the data transmitting method provided by the present invention will be described by taking the mode 3 as an example.
  • the parity bits to be punctured are set Set(1), all check bits in the set Set(2), and 81 check bits in the set Set(3) (equivalent to 3 The check bits corresponding to the 27-dimensional sub-matrix blocks); wherein, 81 check bits are randomly selected from the set Set(3) for puncturing.
  • the parity bits to be punctured are all the check bits in the set Set(1), the set Set(2), the set Set( 3 ), and the set Set( 4 ).
  • the check bits that need to be punctured are all Set bits (1), Set Set (2), Set Set (3), Set Set (4), and Set Set (5). 43 check bits; wherein, 43 check bits are randomly selected from the set Set (5) for puncturing.
  • FIG. 8 shows a simulation result of the performance of the LDPC code after punching using the punching method provided by the present invention and the performance of the LDPC code after punching using the existing punching method, that is, the block error is 648.
  • the channels used in the simulation process are all Additive White Gaussian Noise (AWGN) channels, and the modulation methods are Binary Phase Shift Keying (BPSK).
  • the decoding algorithms are all logarithmic.
  • the Log-Likelihood Ratio-Belief Propagation (LLR-BP) algorithm and decoding have a large number of iterations of 50 times.
  • LLR-BP Log-Likelihood Ratio-Belief Propagation
  • the parity bits to be punctured are set Set(1), all check bits in the set Set(2), and 54 check bits in the set Set(3) (equivalent to A parity bit corresponding to one 54-dimensional sub-matrix block); wherein, 54 parity bits are randomly selected from the set Set(3) for puncturing.
  • the parity bits to be punctured are all the check bits in the set Set(1), the set Set(2), the set Set(3), and the set Set(4).
  • the parity bits to be punctured are set Set(1), Set Set(2), Set Set(3), all check bits in Set Set(4), and Set( 86 check bits in 5); Among them, 86 check bits are randomly selected from the set Set (5) for puncturing.
  • FIG. 9 shows a simulation result of the performance of the LDPC code after punching by the punching method provided by the present invention and the performance of the LDPC code after punching using the existing punching method, that is, the block error is 1296.
  • the channels used in the simulation process are all AWGN channels, the modulation methods are all BPSK, the decoding algorithms are all LLR-BP algorithms, and the decoding times are 50 times. It can be seen from Fig. 9 that, when the code length is 1296, the performance of the LDPC code after punching in this embodiment is better than that of the LDPC code after punching using the existing punching method at each code rate.
  • the parity bits required to be punctured are all the check bits in the set Set(l) and the set Set(2).
  • the parity bits to be punctured are all the check bits in the set Set(1), the set Set(2), and the set Set(3).
  • the parity bits required for puncturing are all the check bits in the set Set(1), the set Set(2), the set Set(3), and 130 schools in the Set(4). The bit is checked; wherein, 130 check bits are randomly selected from the set Set (4) for puncturing.
  • Figure 10 shows the LDPC after punching using the punching method provided by the present invention when the code length is 1944.
  • the performance of the code is compared with the performance of the LDPC code after punching using the existing punching method, that is, the performance of the block error rate (BLER).
  • the channels used in the simulation process are all AWGN channels
  • the modulation methods are all BPSK
  • the decoding algorithms are all LLR-BP algorithms
  • the decoding times are 50 times.
  • the performance of the LDPC code after punching in this embodiment is better than that of the LDPC code after punching with the existing punching method at each code rate.
  • the data in the above simulation results is converted into a tabular form, and the BLER is 1.0x10- ⁇ .
  • the gain of the punching method provided by the present invention relative to the WLAN punching method is as shown in Table 4:
  • the punching method provided by the present invention has a significant performance improvement over the existing WLAN standard LDPC code punching method.
  • the check matrix used in the standard is fixed, the punch pattern can be determined in advance by the punching method provided by the present invention, so the hardware complexity is not increased, so the punching method provided by the present invention has strong competitiveness. .
  • the above method processing flow can be implemented by a software program, which can be stored in a storage medium, and when the stored software program is called, the above method steps are performed.
  • the present invention provides a data transmitting apparatus.
  • the structure of the apparatus is shown in FIG. 11, and includes:
  • the encoding module 110 is configured to encode the information bits to be sent by using an LDPC code check matrix to obtain a codeword sequence, where the codeword sequence includes the information bits and check bits.
  • the priority determining module 111 is configured to determine each check bit according to a row destructive power and/or a ring destructive force of the LDPC code check matrix according to a variable node corresponding to each check bit in the codeword sequence. Punch priority;
  • the puncturing module 112 is configured to perform puncturing priority according to each check bit in the codeword sequence. Decoding the sequence of code words;
  • a sending module 113 configured to generate a bit sequence according to the punctured codeword sequence, and send the bit sequence, where the row destructive power is used to measure the variable node pair and the variable node in the LDPC code check matrix
  • the effect of correct decoding of adjacent variable nodes wherein the adjacent variable nodes are variable nodes adjacent to the variable node among the variable nodes connected to the check nodes connected to the variable node;
  • the ring breaking force is used to measure the impact of the variable node in the LDPC code check matrix on the correct decoding of the variable node traversed by the minimum ring corresponding to the variable node, where the minimum ring corresponding to the variable node is
  • the closed graph with the smallest length formed by the variable node and the surrounding variable node and check node.
  • the priority determining module 111 determines the row destructive power of the variable node corresponding to the check bit to the LDPC code check matrix according to the following formula:
  • RowDestruction( ) ⁇ D(m) .
  • the priority determining module 111 is specifically configured to:: perform, according to a variable node corresponding to each check bit in the codeword sequence, a value of a row destructive force of the LDPC code check matrix From small to large, the puncturing priority of each parity bit in the codeword sequence is determined in turn, wherein the puncturing priority of the parity bit corresponding to the variable node with a small value of the destructive power is lower than the value of the row destructive power The puncturing priority of the parity bit corresponding to the large variable node.
  • the priority determining module 111 determines, according to the following formula, a ring of the variable node corresponding to the check bit to the LDPC code check matrix. Force:
  • the number of check bits CycNumii) represents the number of minimum nodes formed by the variable node ⁇ V (the variable node and the check node connected to it in the LDPC code check matrix
  • S is the set optimization factor, And S >0.
  • the priority determining module 111 is specifically configured to:: determine, according to a variable node corresponding to each check bit in the codeword sequence, a value of a ring breaking force of the LDPC code check matrix From small to large, the puncturing priority of each parity bit in the codeword sequence is determined in turn, wherein the puncturing priority of the parity bit corresponding to the variable node with a small value of the ring breaking force is lower than the value of the ring breaking force The puncturing priority of the parity bit corresponding to the large variable node.
  • the priority determining module 111 is specifically configured to:
  • variable node corresponding to the check bit is summed with the row destructive power and the ring destructive force of the LDPC code check matrix, and the obtained sum value is used as the check bit.
  • the puncturing module 112 is specifically configured to:
  • each of the check bits is determined by utilizing the row destructive power and/or the ring breaking force of the variable node corresponding to each check bit in the codeword sequence to the LDPC code check matrix.
  • Corresponding puncturing priority level, and puncturing the codeword sequence according to the puncturing priority corresponding to each parity bit in the codeword sequence thereby effectively distinguishing the LDPC code check bits in the WLAN standard, thereby improving
  • the performance of the obtained high code rate LDPC code also improves its error control performance.
  • the present invention also provides a communication device.
  • the structure of the communication device includes a transmitter 120 and a processor 121, wherein:
  • the processor 121 is configured to encode, by using an LDPC code check matrix, the information bits to be sent, to obtain a codeword sequence, where the codeword sequence includes the information bits and check bits; according to each of the codeword sequences Determine the puncturing priority of each parity bit by the variable node corresponding to the parity bit on the row destructive power and/or the ring damaging force of the LDPC code check matrix; according to each parity bit in the codeword sequence a puncturing priority level, performing a puncturing process on the codeword sequence; and generating a bit sequence according to the punctured codeword sequence;
  • a transmitter 120 configured to send a bit sequence generated by the processor 121;
  • the row destructive power is used to measure the impact of the variable node in the LDPC code check matrix on the correct decoding of the variable node adjacent to the variable node, where the adjacent variable node is a variable node adjacent to the variable node among the variable nodes connected to the check nodes connected to the variable node;
  • the ring breaking force is used to measure the variable node in the LDPC code check matrix
  • the transmitter 120 in the communication device provided by the present invention is connected to the processor 121 via a bus.
  • the processor 121 determines, according to the following formula, the row destructive power of the variable node corresponding to the check bit to the LDPC code check matrix:
  • RowDestruction( ) - ⁇ D(m) RowDestruction( ) - ⁇ D(m) .
  • G c represents N variable nodes () connected to a check node
  • m .., M, M represents the connection with the variable node iW (the number of check nodes connected to 0;
  • D(m) represents the check node CNO in the check matrix of the LDPC code)
  • the processor 121 is specifically configured to:
  • the puncturing priority of the parity bit corresponding to the variable node whose value of the row destructive power is small is lower than the puncturing priority of the parity bit corresponding to the variable node whose value of the row destructive power is large.
  • the processor 121 determines, according to the following formula, a ring breaking force of the variable node corresponding to the check bit to the check matrix of the LDPC code:
  • CycDestruction(z') CycNum( ) * S;
  • the processor 121 is specifically configured to:
  • the puncturing priority of the parity bit corresponding to the variable node whose value of the ring breaking force is small is lower than the puncturing priority of the parity bit corresponding to the variable node whose value of the ring breaking force is large.
  • the processor 121 is specifically configured to:
  • variable node corresponding to the check bit is summed with the row destructive power and the ring destructive force of the LDPC code check matrix, and the obtained sum value is used as the check bit.
  • the LDPC code check moment The value of the total destructive power of the array is changed from small to large, and the puncturing priority of each parity bit in the codeword sequence is determined in turn, wherein the puncturing priority of the parity bit corresponding to the variable node having a small total destructive power value is small The puncturing priority of the parity bit corresponding to the variable node having a larger value of the total destructive power.
  • the processor 121 is specifically configured to:
  • the punch priority corresponding to each check bit is determined.
  • Level, and puncturing the codeword sequence according to the puncturing priority corresponding to each check bit in the codeword sequence thereby effectively distinguishing the check bits of the LDPC code in the WLAN standard, and improving the obtained high code
  • the performance of the LDPC code also improves its error control performance.
  • embodiments of the present invention can be provided as a method, system, or computer program product. Accordingly, the present invention may take the form of an entirely hardware embodiment, an entirely software embodiment, or a combination of software and hardware. Moreover, the invention can be embodied in the form of one or more computer program products embodied on a computer-usable storage medium (including but not limited to disk storage, CD-ROM, optical storage, etc.) in which computer usable program code is embodied.
  • a computer-usable storage medium including but not limited to disk storage, CD-ROM, optical storage, etc.
  • the instructions in the production result include an article of manufacture of an instruction device that implements the functions specified in a block or blocks of a flow or a flow and/or a block diagram of the flowchart.
  • These computer program instructions can also be loaded onto a computer or other programmable data processing device such that a series of operational steps are performed on a computer or other programmable device to produce computer-implemented processing for execution on a computer or other programmable device.
  • the instructions provide steps for implementing the functions specified in one or more of the flow or in a block or blocks of a flow diagram.

Landscapes

  • Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Computational Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Algebra (AREA)
  • Computing Systems (AREA)
  • Error Detection And Correction (AREA)

Abstract

本发明公开了一种数据发送方法和装置,解决了现有的基于变量节点度分布的打孔方式,不能对所采用LDPC码的待打孔的校验比特进行有效区分,所获得的高码率LDPC码性能较差的问题。方法包括:采用LDPC码校验矩阵对需要发送的信息比特进行编码,得到码字序列;根据该码字序列中的每个校验比特对应的变量节点对LDPC码校验矩阵的行破坏力和/或环破坏力,确定每个校验比特的打孔优先级;按照该码字序列中各校验比特的打孔优先级,对该码字序列进行打孔处理;根据打孔后的码字序列,生成比特序列并发送,从而提高了得到的高码率LDPC码的性能。

Description

一种数据发送方法和装置
技术领域
本发明涉及无线通信技术领域, 特别涉及一种采用低密度校验 (Low Density Parity Check, LDPC)码进行编码的数据发送方法和装置。 背景技术
未来宽带无线通信系统需要在有限的频谱资源上实现综合业务内容的高 速可靠传输, 因此需要高可靠性的信道编码方案。 作为一类性能可逼近信道 容量的信道编码方案, LDPC码具有并行高速译码、 低错误平层、 自交织性、 码率设计灵活等诸多优点, 因此成为无线局域网络 (Wireless Local Area Networks, WLAN )标准(即电气和电子工程师学会 ( Institute of Electrical and Electronic Engineers, IEEE) 802.11ac标准) 的可选信道编码方案。
是一类特殊的 线性分组码, W 分别为码长和信息比特长度, LDPC 码校验矩阵 H = {H }中大部分元素为 0, 少部分元素为 1, 即 Η为稀疏矩阵。 LDPC码也可等效的由其因子图( Tanner图)确定, Tanner图与 LDPC码校验 矩阵之间一一对应, Tanner图中包括变量节点集 { }和校验节点集 其中, Tanner 图中校验节点 对应于 Η中的第 行, 即矩阵中第 个校验方程; 而变 量节点 对应于 Η中的第 列, 即编码后码字中第 个比特。 下面以 4x8维度 的 LDPC码校验矩阵为例进行说明, LDPC码校验矩阵 Η如下:
1 0 1 0 1 0 1 0
1 0 0 1 0 1 0 1
Η
0 1 1 0 0 1 1 0
0 1 0 1 1 0 0 1 图 1为该 LDPC码校验矩阵 Η对应的 Tanner图。 其中, Tanner图中的校 验节点 C;对应于 Η中的第 行, 且 Tanner图中的变量节点 对应于 Η中的第 列, 例如, 校验节点 ς所对应的校验方程为: + 3+ 5+ 7=0。 图 1中节点集 3 3 7,ς}构成了一个长度为 4的环。 现有 WLAN标准( IEEE 802.11 ac ) 中采用的 LDPC码校验矩阵 H具有系 统( Systematic )和准循环( Quasi-Cyclic )结构。图 2为所釆用的一个码长 N = 648 且码率 W = l/ 2的 LDPC码校验矩阵 H。该 12 χ 24维度的母矩阵中的每个元素 表示一个 z = N/ 24阶的方阵, 其中,该母矩阵中的 "-"表示 zxz阶的全零方阵, / (0≤/≤ζ-1)表示 zxz阶单位阵中各行循环右移 z'位得到的方阵 , 0 为 ζχζ阶 单位阵, 的示例如下:
Figure imgf000003_0001
在可获得信道状态信息的时变信道, 采用根据不同的信道条件自适应编 码速率的差错控制策略, 可在保证可靠性的前提下提高系统的传输效率。 这 种情况下, 采用多个编码器和译码器对的方案, 实现复杂度过高, 因此采用 单对编译码器的速率兼容信道编码方案更具有可实现性。设计速率兼容 LDPC 编码方案时, 首先设计一个码率适中的 LDPC码校验矩阵作为母码, 随后可 灵活的通过打孔 ( Puncturing )提高码率或通过重复(Repetition ) 降低码率。
对于给定参数的 LDPC码, 其码率为 R = K I N , 想要得到码率为 ?' > R的 高速率码, 需要打孔的变量节点数为 = W-^W。 在采用 LDPC码校验矩阵 编码后码字序列中的校验比特部分随机删除 个比特, 得到码率为 的高速 率码, 该打孔方式为随机打孔。 目前的混合自动重传请求 (HARQ, Hybrid Automatic Repeat reQuest ) 系统中, LDPC码的打孔方式大多采用随机打孔方 案。 该方式下, 每次由低速率 LDPC码构造高速率 LDPC码时, 删除的比特 位置是随机选择的。 由于译码时接收端需要预知删除矩阵, 使得每次传输都 需要额外的开销将删除矩阵发送给接收端, 这会造成系统资源的浪费。 另夕卜, 随机打孔没有对 LDPC码校验矩阵的打孔位置和顺序进行优化, 因此无法提 供较优的打孔性能。
对上述打孔方式进行改进, 提出了基于变量节点的度分布的打孔方式, 即优先打孔所对应变量节点度较小的校验比特。这种方式基于对非规则 LDPC 码的译码性能的分析, 度较高的变量节点可在迭代译码中获得更多的校验信 息, 因此译码收敛更快且可靠性越高。 基于这种分析, 度越低的变量节点对 译码性能的影响越小。 WLAN标准中采用的 LDPC码为系统码, 采用 LDPC 码校验矩阵进行编码后得到的矩阵中, 左半部分为信息部分, 右半部分为校 验部分。 信息部分中列对应的比特为编码后码字中的信息比特, 校验部分中 列对应的比特为编码后码字中的校验比特。 在进行码率变换时, 所有方案打 孔时只针对校验比特进行打孔, 由图 2可见, WLAN标准中 LDPC码校验矩 阵 H的校验部分前 z列的度均为 3, 后面所有列的度均为 2。 IEEE 802.11ac标 准规定由 LDPC码校验矩阵的最后列依次往前打孔, 即 WLAN标准采用的 LDPC码打孔方案是基于度分布进行打孔。 然而, 由于 WLAN标准中的校验 矩阵的校验比特所对应的度大部分为 2, 只有小部分为 3, 按度分布打孔并不 能有效的区分校验比特,很难确定优先打孔的校验比特。 由于该方式在度为 2 的所有校验比特中也是随机筛选进行打孔, 也无法提供较优的打孔性能。
综上所述, 现有的基于变量节点度分布的打孔方式, 不能对所采用 LDPC 码的待打孔的校验比特进行有效区分, 所获得的高码率 LDPC码性能较差。 发明内容
本发明提供了一种数据发送方法和装置, 解决了采用现有的基于变量节 点度分布的打孔方式, 获得的高码率 LDPC码的性能较差的问题。
第一方面, 一种数据发送方法, 该方法包括:
采用低密度校验 LDPC码校验矩阵对需要发送的信息比特进行编码, 得 到码字序列, 所述码字序列包括所述信息比特和校验比特;
根据所述码字序列中的每个校验比特对应的变量节点对所述 LDPC码校 验矩阵的行破坏力和 /或环破坏力, 确定每个校验比特的打孔优先级;
按照所述码字序列中各校验比特的打孔优先级, 对所述码字序列进行打 孔处理; 根据打孔后的码字序列, 生成比特序列并发送;
其中, 所述行破坏力用于衡量所述 LDPC码校验矩阵中所述变量节点对 与该变量节点相邻的变量节点的正确译码的影响, 其中, 所述相邻的变量节 点为与该变量节点相连的各校验节点所连接的变量节点中与该变量节点相邻 的各变量节点; 所述环破坏力用于衡量所述 LDPC码校验矩阵中所述变量节 点对该变量节点对应的最小环所遍历的变量节点的正确译码的影响, 其中, 该变量节点对应的最小环为该变量节点与周围的变量节点和校验节点连接形 成的长度最小的封闭图形。
结合第一方面, 在第一种可能的实现方式中, 针对所述码字序列中各校 验比特, 按照以下公式确定该校验比特对应的变量节点对所述 LDPC码校验 矩阵的行破坏力:
RowDestruction( ) = D(m) . 其中, Row )eWn o«(/)表示所述码字序列中的第 z个校验比特对应的变 量节点 对所述 LDPC码校验矩阵造成的行破坏力, i= ,2, 、N , N表示 所述码字序列中校验比特的个数; Gc(0表示与变量节点 N(0连接的校验节点 CNO)的集合, m= ..,M , M表示与变量节点 iW(0连接的校验节点的个数; D(m)表示所述 LDPC码校验矩阵中校验节点 CNO)所连接的变量节点中与变 量节点 fw(o相邻的变量节点的个数。
结合第一方面的第一种可能的实现方式, 在第二种可能的实现方式中, 根据所述码字序列中各校验比特对应的变量节点对所述 LDPC码校验矩阵的 行破坏力, 确定所述码字序列中各校验比特的打孔优先级, 包括:
按照所述码字序列中各校验比特对应的变量节点对所述 LDPC码校验矩 阵的行破坏力的值从小到大, 依次确定所述码字序列中各校验比特的打孔优 先级, 其中, 行破坏力的值小的变量节点对应的校验比特的打孔优先级低于 行破坏力的值大的变量节点对应的校验比特的打孔优先级。
结合第一方面, 在第三种可能的实现方式中, 针对所述码字序列中各校 验比特, 按照以下公式确定该校验比特对应的变量节点对所述 LDPC码校验 矩阵的环破坏力:
CycDestruction(/') = CycNum(/') * S;
其中, CycDestruction(i、表示所述码字序列中的第 ζ·个校验比特对应的变量 节点 iW(z')对所述 LDPC码校验矩阵造成的环破坏力, =1, 2, · · ·, , N表示所 述码字序列中校验比特的个数; CycNumii 表示所述 LDPC码校验矩阵中变量 节点 N(0与其周围的变量节点和校验节点连接形成的最小环的个数; S为设 定的优化因子, 且 S >0。
结合第一方面的第三种可能的实现方式, 在第四种可能的实现方式中, 根据所述码字序列中各校验比特对应的变量节点对所述 LDPC码校验矩阵的 环破坏力, 确定所述码字序列中各校验比特的打孔优先级, 包括:
按照所述码字序列中各校验比特对应的变量节点对所述 LDPC码校验矩 阵的环破坏力的值从小到大, 依次确定所述码字序列中各校验比特的打孔优 先级, 其中, 环破坏力的值小的变量节点对应的校验比特的打孔优先级低于 环破坏力的值大的变量节点对应的校验比特的打孔优先级。
结合第一方面、 第一方面的第一种至第四种可能的实现方式中的任一项, 在第五种可能的实现方式中, 根据所述码字序列中各校验比特对应的变量节 点对所述 LDPC码校验矩阵的行破坏力和环破坏力, 确定所述码字序列中各 校验比特的打孔优先级, 包括:
针对所述码字序列中各校验比特, 将该校验比特对应的变量节点对所述 LDPC码校验矩阵的行破坏力和环破坏力求和,并将得到的和值作为该校验比 特对应的变量节点对所述 LDPC码校验矩阵的总破坏力; 以及,
按照所述码字序列中各校验比特对应的变量节点对所述 LDPC码校验矩 阵的总破坏力的值从小到大, 依次确定所述码字序列中各校验比特的打孔优 先级, 其中, 总破坏力的值小的变量节点对应的校验比特的打孔优先级低于 总破坏力的值大的变量节点对应的校验比特的打孔优先级。
结合第一方面, 在第六种可能的实现方式中, 按照所述码字序列中各校 验比特的打孔优先级, 对所述码字序列进行打孔处理, 包括: 在所述码字序列中确定出需要打孔的校验比特的个数;
根据确定出的需要打孔的校验比特的个数, 按照所述码字序列中各校验 比特的打孔优先级从小到大的顺序, 对所述码字序列进行打孔处理。
第二方面, 一种数据发送装置, 该装置包括:
编码模块, 用于采用 LDPC码校验矩阵对需要发送的信息比特进行编码, 得到码字序列, 所述码字序列包括所述信息比特和校验比特;
优先级确定模块, 用于根据所述码字序列中的每个校验比特对应的变量 节点对所述 LDPC码校验矩阵的行破坏力和 /或环破坏力, 确定每个校验比特 的打孔优先级;
打孔模块, 用于按照所述码字序列中各校验比特的打孔优先级, 对所述 码字序列进行打孔处理;
发送模块, 用于才艮据打孔后的码字序列, 生成比特序列并发送; 其中, 所述行破坏力用于衡量所述 LDPC码校验矩阵中所述变量节点对 与该变量节点相邻的变量节点的正确译码的影响, 其中, 所述相邻的变量节 点为与该变量节点相连的各校验节点所连接的变量节点中与该变量节点相邻 的各变量节点; 所述环破坏力用于衡量所述 LDPC码校验矩阵中所述变量节 点对该变量节点对应的最小环所遍历的变量节点的正确译码的影响, 其中, 该变量节点对应的最小环为该变量节点与周围的变量节点和校验节点连接形 成的长度最小的封闭图形。
结合第二方面, 在第一种可能的实现方式中, 针对所述码字序列中各校 验比特, 所述优先级确定模块按照以下公式确定该校验比特对应的变量节点 对所述 LDPC码校验矩阵的行破坏力:
RowDestruction( ) = ^ D(m) . 其中, Row eWn o"( )表示所述码字序列中的第 个校验比特对应的变 量节点 ^(0对所述 LDPC码校验矩阵造成的行破坏力, i= 2, ',N , N表示 所述码字序列中校验比特的个数; Gc(0表示与变量节点 VN(f)连接的校验节点 CN( )的集合, m …, M , M表示与变量节点 ί^Ο')连接的校验节点的个数; D(m)表示所述 LDPC码校验矩阵中校验节点 CNO)所连接的变量节点中与变 量节点 PW(O相邻的变量节点的个数。
结合第二方面的第一种可能的实现方式, 在第二种可能的实现方式中, 所述优先级确定模块具体用于:
按照所述码字序列中各校验比特对应的变量节点对所述 LDPC码校验矩 阵的行破坏力的值从小到大, 依次确定所述码字序列中各校验比特的打孔优 先级, 其中, 行破坏力的值小的变量节点对应的校验比特的打孔优先级低于 行破坏力的值大的变量节点对应的校验比特的打孔优先级。
结合第二方面, 在第三种可能的实现方式中, 针对所述码字序列中各校 验比特, 所述优先级确定模块按照以下公式确定该校验比特对应的变量节点 对所述 LDPC码校验矩阵的环破坏力:
CycDestruction(/') = CycNum(/') * S;
其中, CycDestructioni 表示所述码字序列中的第 个校验比特对应的变量 节点 对所述 LDPC码校验矩阵造成的环破坏力, i= , 2 '、N , N表示所 述码字序列中校验比特的个数; CycNum(i、表示所述 LDPC码校验矩阵中变量 节点^ V(0与其周围的变量节点和校验节点连接形成的最小环的个数; S为设 定的优化因子, 且 >0。
结合第二方面的第三种可能的实现方式, 在第四种可能的实现方式中, 所述优先级确定模块具体用于:
按照所述码字序列中各校验比特对应的变量节点对所述 LDPC码校验矩 阵的环破坏力的值从小到大, 依次确定所述码字序列中各校验比特的打孔优 先级, 其中, 环破坏力的值小的变量节点对应的校验比特的打孔优先级低于 环破坏力的值大的变量节点对应的校验比特的打孔优先级。
结合第二方面、 第二方面的第一种至第四种可能的实现方式中的任一项, 在第五种可能的实现方式中, 所述优先级确定模块具体用于: 针对所述码字序列中各校验比特, 将该校验比特对应的变量节点对所述
LDPC码校验矩阵的行破坏力和环破坏力求和,并将得到的和值作为该校验比 特对应的变量节点对所述 LDPC码校验矩阵的总破坏力; 以及,
按照所述码字序列中各校验比特对应的变量节点对所述 LDPC码校验矩 阵的总破坏力的值从小到大, 依次确定所述码字序列中各校验比特的打孔优 先级, 其中, 总破坏力的值小的变量节点对应的校验比特的打孔优先级低于 总破坏力的值大的变量节点对应的校验比特的打孔优先级。
结合第二方面, 在第六种可能的实现方式中, 所述打孔模块具体用于: 在所述码字序列中确定出需要打孔的校验比特的个数;
根据确定出的需要打孔的校验比特的个数, 按照所述码字序列中各校验 比特的打孔优先级从小到大的顺序, 对所述码字序列进行打孔处理。
第三方面, 一种通信设备, 该设备包括:
处理器, 用于采用 LDPC码校验矩阵对需要发送的信息比特进行编码, 得到码字序列, 所述码字序列包括所述信息比特和校验比特; 根据所述码字 序列中的每个校验比特对应的变量节点对所述 LDPC码校验矩阵的行破坏力 和 /或环破坏力, 确定每个校验比特的打孔优先级; 按照所述码字序列中各校 验比特的打孔优先级, 对所述码字序列进行打孔处理; 以及根据打孔后的码 字序列, 生成比特序列;
发射机, 用于发送所述处理器生成的比特序列;
其中, 所述行破坏力用于衡量所述 LDPC码校验矩阵中所述变量节点对 与该变量节点相邻的变量节点的正确译码的影响, 其中, 所述相邻的变量节 点为与该变量节点相连的各校验节点所连接的变量节点中与该变量节点相邻 的各变量节点; 所述环破坏力用于衡量所述 LDPC码校验矩阵中所述变量节 点, 对该变量节点与周围的变量节点和校验节点连接形成的最小环所遍历的 变量节点的正确译码的影响。
本发明提供的通信设备中发射机与处理器之间通过总线连接。 结合第三方面, 在第一种可能的实现方式中, 针对所述码字序列中各校 验比特, 所述处理器按照以下公式确定该校验比特对应的变量节点对所述
LDPC码校验矩阵的行破坏力:
RowDestruction(z) = ^ D(m) . 其中, RowZ)eWr"c o"()表示所述码字序列中的第 个校验比特对应的变 量节点 对所述 LDPC码校验矩阵造成的行破坏力, i= ,2, ',N , N表示 所述码字序列中校验比特的个数; Gc(0表示与变量节点 VN(f)连接的校验节点 CN( )的集合, =l,...,M , M表示与变量节点 W (0连接的校验节点的个数; D(m)表示所述 LDPC码校验矩阵中校验节点 CN( )所连接的变量节点中与变 量节点 VN()相邻的变量节点的个数。
结合第三方面的第一种可能的实现方式, 在第二种可能的实现方式中, 所述处理器具体用于:
按照所述码字序列中各校验比特对应的变量节点对所述 LDPC码校验矩 阵的行破坏力的值从小到大, 依次确定所述码字序列中各校验比特的打孔优 先级, 其中, 行破坏力的值小的变量节点对应的校验比特的打孔优先级低于 行破坏力的值大的变量节点对应的校验比特的打孔优先级。
结合第三方面, 在第三种可能的实现方式中, 针对所述码字序列中各校 验比特, 所述处理器按照以下公式确定该校验比特对应的变量节点对所述 LDPC码校验矩阵的环破坏力:
CycDestruction(z') = CycNum() * S;
其中, CycDestmctwnd)表示所述码字序列中的第 个校验比特对应的变量 节点 WV(0对所述 LDPC码校验矩阵造成的环破坏力, =1,2,' ,N, N表示所 述码字序列中校验比特的个数; CycNum 表示所述 LDPC码校验矩阵中变量 节点 WV(/)与其周围的变量节点和校验节点连接形成的最小环的个数; S为设 定的优化因子, 且 S>0。
结合第三方面的第三种可能的实现方式, 在第四种可能的实现方式中, 所述处理器具体用于:
按照所述码字序列中各校验比特对应的变量节点对所述 LDPC码校验矩 阵的环破坏力的值从小到大, 依次确定所述码字序列中各校验比特的打孔优 先级, 其中, 环破坏力的值小的变量节点对应的校验比特的打孔优先级低于 环破坏力的值大的变量节点对应的校验比特的打孔优先级。
结合第三方面、 第三方面的第一种至第四种可能的实现方式中的任一项, 在第五种可能的实现方式中, 所述处理器具体用于:
针对所述码字序列中各校验比特, 将该校验比特对应的变量节点对所述 LDPC码校验矩阵的行破坏力和环破坏力求和,并将得到的和值作为该校验比 特对应的变量节点对所述 LDPC码校验矩阵的总破坏力; 以及,
按照所述码字序列中各校验比特对应的变量节点对所述 LDPC码校验矩 阵的总破坏力的值从小到大, 依次确定所述码字序列中各校验比特的打孔优 先级, 其中, 总破坏力的值小的变量节点对应的校验比特的打孔优先级低于 总破坏力的值大的变量节点对应的校验比特的打孔优先级。
结合第三方面, 在第六种可能的实现方式中, 所述处理器具体用于: 在所述码字序列中确定出需要打孔的校验比特的个数;
根据确定出的需要打孔的校验比特的个数, 按照所述码字序列中各校验 比特的打孔优先级从小到大的顺序, 对所述码字序列进行打孔处理。
本发明提供的数据发送方法、 装置或者通信设备, 由于在对码字序列中 的校验比特进行打孔时, 利用了码字序列中各校验比特对应的变量节点对 LDPC 码校验矩阵的行破坏力和 /或环破坏力, 确定各校验比特对应的打孔优 先级, 并按照码字序列中各校验比特对应的打孔优先级, 对码字序列进行打 孔, 从而能够有效的对 LDPC码的校验比特进行区分, 提高了得到的高码率 LDPC码的性能。 附图说明
图 1为背景技术提供的 LDPC码校验矩阵对应的 Tanner图; 图 2为背景技术提供的码长 N = 648且码率 R = l / 2的 LDPC码的校验矩阵 的示意图;
图 3为本发明提供的一种数据发送方法的流程示意图;
图 4为本发明提供的 Tanner图中与校验节点 CNA相连的变量节点的示例 的示意图;
图 5为本发明提供的 LDPC码校验矩阵中长度为 4的最小环的示例的示 意图;
图 6为本发明提供的 LDPC码校验矩阵中长度为 6的最小环的示例的示 意图;
图 7为本发明提供的一种确定变量节点的行破坏力的示例的示意图; 图 8为本发明提供的实施例一的仿真结果示意图;
图 9为本发明提供的实施例二的仿真结果示意图;
图 10为本发明提供的实施例三的仿真结果示意图;
图 11为本发明提供的一种数据发送装置的结构示意图;
图 12为本发明提供的一种通信设备的结构示意图。 具体实施方式
本发明利用码字序列中各校验比特对应的变量节点对 LDPC码校验矩阵 的行破坏力和 /或环破坏力, 确定各校验比特对应的打孔优先级, 并按照码字 序列中各校验比特对应的打孔优先级, 对码字序列进行打孔, 能有效的对 WLAN标准中 LDPC码的校验比特进行区分, 提高了得到的高码率 LDPC码 的性能, 也提高了其差错控制性能。
下面结合说明书附图对本发明作进一步详细描述。 应当理解, 此处所描 述的实施例仅用于说明和解释本发明, 并不用于限定本发明。
本发明提供了一种数据发送方法, 参见图 3所示, 该方法包括: 步骤 31、 采用 LDPC码校验矩阵对需要发送的信息比特进行编码, 得到 码字序列。 步骤 32、 根据该码字序列中每个校验比特对应的变量节点对 LDPC码校 验矩阵的行破坏力和 /或环破坏力, 确定每个校验比特的打孔优先级。
其中, 每个变量节点对 LDPC码校验矩阵的行破坏力用于衡量 LDPC码 校验矩阵中该变量节点对与该变量节点相邻的变量节点的正确译码的影响, 其中, 所述相邻的变量节点为与该变量节点相连的各校验节点所连接的变量 节点中与该变量节点相邻的各变量节点;
每个变量节点对 LDPC码校验矩阵的环破坏力用于衡量 LDPC码校验矩 阵中该变量节点对该变量节点对应的最小环所遍历的变量节点的正确译码的 影响, 其中, 该变量节点对应的最小环为该变量节点与周围的变量节点和校 验节点连接形成的长度最小的封闭图形。
步骤 33、 按照码字序列中各校验比特的打孔优先级, 对该码字序列进行 打孔处理。
本步骤中, 对该码字序列进行打孔处理是指对码字序列中的校验比特进 行打孔处理。
本步骤中, 码字序列中需要通过打孔处理打掉的校验比特的数量可以根 据所需提升的 LDPC码的码率、 码长等参数确定。
步骤 34、 根据打孔后的码字序列, 生成比特序列并发送。
本步骤中, 根据需要发送的信息比特和打孔后的校验比特, 生成比特序 列, 其中, 该比特序列包括信息比特和打孔后的校验比特。
相应的, 接收端在接收到上述比特序列后, 对打孔后的码字序列进行反 打孔处理, 以恢复被打孔的校验比特; 并根据恢复后的码字序列, 对码字序 列进行译码处理, 以得到信息比特。
本发明中, 采用 LDPC码校验矩阵对需要发送的信息比特进行编码, 得 到码字序列; 根据该码字序列中每个校验比特对应的变量节点对 LDPC码校 验矩阵的行破坏力和 /或环破坏力, 确定每个校验比特的打孔优先级; 按照码 字序列中各校验比特的打孔优先级, 对该码字序列进行打孔处理; 以及, 根 据打孔后的码字序列, 生成比特序列并发送。 由于利用了码字序列中各校验 比特对应的变量节点对 LDPC码校验矩阵的行破坏力和 /或环破坏力, 确定各 校验比特对应的打孔优先级, 并按照码字序列中各校验比特对应的打孔优先 级, 对码字序列进行打孔, 从而能够有效的对 LDPC码的校验比特进行区分, 提高了得到的高码率 LDPC码的性能, 也提高了其差错控制性能。
本发明中, 由于标准中所釆用的 LDPC码校验矩阵是固定的, 因此, 各 校验比特的打孔优先级的确定可离线完成, 即可预先确定码字序列的打孔图 样, 因此, 本发明的打孔方案不增加系统实现的复杂度, 具有较强的竟争力。
下面举例说明本发明中涉及的行破坏力和环破坏力的定义。
一、 针对每个变量节点, 该变量节点对 LDPC码校验矩阵的行破坏力用 于衡量 LDPC码校验矩阵中该变量节点对与该变量节点相邻的变量节点的正 确译码的影响, 其中, 所述相邻的变量节点为与该变量节点相连的各校验节 点所连接的变量节点中与该变量节点相邻的各变量节点。
如图 4所示, 叚设一个 LDPC码校验矩阵对应的 Tanner图中与校验节点 CNA ( Check Node A )相连的变量节点包括 VN1 ( Variable Node 1 ), VN3以 及 VN4。 为了提高该 LDPC码的码率, 若编码时对变量节点 VN3对应的校验 比特进行打孔, 则接收端在进行反打孔译码时, 变量节点 VN3的迭代译码初 始似然消息被赋值为 0, 即 VN3的初始似然消息不提供任何有助于整体译码 恢复的消息。 此时, 译码消息传递时与 CNA相连且与 VN3相邻的变量节点 VN1、 VN4收到破坏性的更新消息的值为 0, 这将对 VN1、 VN4的正确译码 造成破坏性的影响。 此时, 若变量节点 VN3被打孔, 将会对 LDPC码校验矩 阵中校验节点 CNA所在行造成值为 2 (即校验节点 CNA所在行中与该 CNA 连接且与该变量节点 VN3相邻的变量节点的个数 ) 的行破坏力。
二、 针对每个变量节点, 该变量节点对 LDPC码校验矩阵的环破坏力用 于衡量 LDPC码校验矩阵中该变量节点, 对该变量节点对应的最小环所遍历 的变量节点的正确译码的影响。
其中, 该变量节点对应的最小环为该变量节点与周围的变量节点和校验 节点依次连接所形成的长度最小的封闭图形, 该封闭图形 (即所形成的最小 环 ) 的长度即为该封闭图形所遍历的变量节点及校验节点的个数。
如图 5所示, 变量节点 VN1、 VN2与校验节点 CNA、 CNC构成了一个 长度为 4的环, 如图 5中的粗线条所示。 此时, 若编码时对变量节点 VN1对 应的校验比特进行打孔, 则接收端进行反打孔译码时, 变量节点 VN1的迭代 译码初始似然消息^ U武值为 0。 由图 5可见, 变量节点 VN2在迭代译码过程 中进行似然消息更新时, 将同时收到与变量节点 VN1相连的校验节点 CNA、 CNC传递来的破坏性消息 (即值为 0 的更新消息), 从而严重影响变量节点 VN2 的正确译码。 同时, 译码器第二次迭代时, 该破坏性的似然消息又传回 给变量节点 VN1, 从而加剧了 VN1的恢复难度, 因此会对译码性能造成严重 的不良影响。
又如图 6所示, 变量节点 VN1、 VN2、 VN3与校验节点 CNA、 CNB、 CNC构成了一个长度为 6的环, 如图 6中的粗线条所示。 此时, 若编码时对 变量节点 VN1对应的校验比特进行打孔, 则接收端在进行反打孔译码时, 变 量节点 VN1的迭代译码初始似然消息被赋值为 0 ,该最小环中的变量节点 VN2 和 VN3 在迭代译码过程中进行似然消息更新时, 均会收到校验节点 CNA、 CNB、 CNC传递来的破坏性消息(即值为 0的更新消息), 从而严重影响该最 小环中的变量节点 VN2、 VN3的正确译码。 同时, 译码器在第三次迭代时, 破坏性的似然消息将传回到 VN1 , 从而进一步影响整个译码器的译码性能。 由以上分析可见, 应尽量减少被打孔的校验比特所对应的变量节点所参与的 最小环的数目, 从而提高打孔后码字的译码性能。
基于上述任一实施例, 针对码字序列中各校验比特, 按照以下公式确定 该校验比特对应的变量节点对 LDPC码校验矩阵的行破坏力:
RowDestruction(?) - ^ D(m) 公式 ^ . 其中, Row )eWrwcf/o«(/)表示码字序列中的第 个校验比特对应的变量节 点 VN(f)对 LDPC码校验矩阵造成的行破坏力, 1, 2,… , N, N表示所述码字 序列中校验比特的个数; Gc ( )表示与变量节点 fw(o连接的校验节点 CN( ) 的集合, m=\,—,M , Μ表示与变量节点 连接的校验节点的个数; D(m、 表示 LDPC 码校验矩阵中校验节点 CN( )所连接的变量节点中与变量节点 VN{i)相邻的变量节点的个数。
举例说明, 如图 7所示, 与变量节点 VN3相连的校验节点有 CAN, CNB 以及 CNC。 因此, 在进行编码时, 为了提高 LDPC码码率, 若变量节点 VN3 被打孔,则将会对 LDPC码校验矩阵中校验节点 CNA所在行造成的破坏力为 2 , 对 LDPC码校验矩阵中校验节点 CNB所在行造成的破坏力为 1 , 对 LDPC 码校验矩阵中校验节点 CNC所在行造成的破坏力为 1。因此,若变量节点 VN3 被打孔, 则对整个 LDPC码校验矩阵造成的破坏力为 2+1+1=4。
基于上述任一实施例, 针对码字序列中各校验比特, 按照以下公式确定 该校验比特对应的变量节点对 LDPC码校验矩阵的环破坏力:
CycDestruction(z) = CycNum( ) * 5* 公式 2; 其中, CycDestmctton i)表示码字序 中的第 /个校验比特对应的变量节点 PW(0对 LDPC码校验矩阵造成的环破坏力, i= , 2 - - , N , N表示所述码字序 列中校验比特的个数; CycN漏 d 示 LDPC码校验矩阵中变量节点 与 其周围的变量节点和校验节点连接形成的最小环的个数; S为设定的优化因 子, JL S >0。
优化因子 S的值可根据 LDPC码的性能,通过对打孔性能进行仿真取性能 较好的 S值。 可选的, 优化因子 S的值为 2。 通过仿真优化因子 S的值取 2时, 可得到良好的 LDPC码性能。
基于上述任一实施例 , 步骤 32中 , 根据该码字序列中每个校验比特对应 的变量节点对 LDPC码校验矩阵的行破坏力和 /或环破坏力 , 确定每个校验比 特的打孔优先级, 包括以下三种可选的实现方式:
方式 1、该码字序列中各校验比特的打孔优先级是根据该校验比特对应的 变量节点对该 LDPC码校验矩阵的行破坏力确定的。
该方式下, 根据码字序列中各校验比特对应的变量节点对 LDPC码校验 矩阵的行破坏力, 确定该码字序列中各校验比特的打孔优先级, 包括: 按照码字序列中各校验比特对应的变量节点对 LDPC码校验矩阵的行破 坏力的值从小到大, 依次确定该码字序列中各校验比特的打孔优先级, 其中, 行破坏力的值小的变量节点对应的校验比特的打孔优先级低于行破坏力的值 大的变量节点对应的校验比特的打孔优先级。
在实施中, 行破坏力的值相同的变量节点对应的校验比特具有相同的打 孔优先级。
可选的, 可以按照码字序列中各校验比特对应的变量节点对 LDPC码校 验矩阵的行破坏力的值, 将码字序列中的校验比特划分为至少一个集合, 每 个集合中的校验比特对应的变量节点对 LDPC码校验矩阵的行破坏力的值相 同, 即同一集合中的各校验比特具有相同的打孔优先级。
该方式下, 进一步, 步骤 33中, 按照码字序列中各校验比特的打孔优先 级, 对该码字序列进行打孔处理, 包括:
根据确定出的需要打掉的校验比特的个数, 按照码字序列中各校验比特 的打孔优先级从小到大的顺序, 对该码字序列进行打孔处理。
其中, 打孔处理中需要打掉的校验比特的个数是预知的, 可以根据所需 提升的 LDPC码的码率、 码长等参数确定, 与现有技术相同, 此处不再赘述。
具体的, 在进行打孔处理时, 根据需要打掉的校验比特的个数, 按照码 字序列中各校验比特的打孔优先级从小到大的顺序, 对该码字序列进行打孔 打掉的校验比特的个数。
在实施中, 对于同一打孔优先级的校验比特 (即包含在同一集合中的校 验比特), 釆用随机选择方式进行打孔。
方式 2、该码字序列中各校验比特的打孔优先级是根据该校验比特对应的 变量节点对该 LDPC码校验矩阵的环破坏力确定的。
该方式下, 根据码字序列中各校验比特对应的变量节点对 LDPC码校验 矩阵的环破坏力, 确定该码字序列中各校验比特的打孔优先级, 包括:
按照码字序列中各校验比特对应的变量节点对 LDPC码校验矩阵的环破 坏力的值从小到大, 依次确定该码字序列中各校验比特的打孔优先级, 其中, 大的变量节点对应的校验比特的打孔优先级。
在实施中, 环破坏力的值相同的变量节点对应的校验比特具有相同的打 孔优先级。
可选的, 可以按照码字序列中各校验比特对应的变量节点对 LDPC码校 验矩阵的环破坏力的值, 将码字序列中的校验比特划分为至少一个集合, 每 个集合中的校验比特对应的变量节点对 LDPC码校验矩阵的环破坏力的值相 同, 即同一集合中的各校验比特具有相同的打孔优先级。
该方式下, 进一步, 步骤 33中, 按照码字序列中各校验比特的打孔优先 级, 对该码字序列进行打孔处理, 包括:
根据确定出的需要打掉的校验比特的个数, 按照码字序列中各校验比特 的打孔优先级从小到大的顺序, 对该码字序列进行打孔处理。
具体的, 在进行打孔处理时, 根据需要打掉的校验比特的个数, 按照码 字序列中各校验比特的打孔优先级从小到大的顺序, 对该码字序列进行打孔 打掉的校验比特的个数。
在实施中, 对于同一打孔优先级的校验比特 (即包含在同一集合中的校 验比特), 釆用随机选择方式进行打孔。
方式 3、该码字序列中各校验比特的打孔优先级是根据该校验比特对应的 变量节点对该 LDPC码校验矩阵的行破坏力和环破坏力确定的。
该方式下, 根据码字序列中各校验比特对应的变量节点对 LDPC码校验 矩阵的行破坏力和环破坏力, 确定该码字序列中各校验比特的打孔优先级, 包括:
针对码字序列中各校验比特, 将该校验比特对应的变量节点对 LDPC码 校验矩阵的行破坏力和环破坏力求和, 并将得到的和值作为该校验比特对应 的变量节点对 LDPC 码校验矩阵的总破坏力 , 即 SumDestmction = RowDestruction(i) + CycDestruction(z); 以及,
按照该码字序列中各校验比特对应的变量节点对 LDPC码校验矩阵的总 破坏力的值从小到大, 依次确定该码字序列中各校验比特的打孔优先级, 其 中, 总破坏力的值小的变量节点对应的校验比特的打孔优先级低于总破坏力 的值大的变量节点对应的校验比特的打孔优先级。
在实施中, 总破坏力的值相同的变量节点对应的校验比特具有相同的打 孔优先级。
可选的, 可以按照码字序列中各校验比特对应的变量节点对 LDPC码校 验矩阵的总破坏力的值, 将码字序列中的校验比特划分为至少一个集合, 每 个集合中的校验比特对应的变量节点对 LDPC码校验矩阵的总破坏力的值相 同, 即同一集合中的各校验比特具有相同的打孔优先级。
举例说明, 将这些校验比特按该总破坏力的值的大小进行分集, 每个集 合中所有校验比特所对应的总破坏力的值相等。 假设所有待打孔校验比特可 分为 J个集合 Set(l),...,Set(J), 且满足:
SumDestruction^ei(1) < SumDestruction^i(2) < < SumDestructi on Set J )。 该方式下, 进一步, 步骤 33中, 按照码字序列中各校验比特的打孔优先 级, 对该码字序列进行打孔处理, 包括:
在码字序列中确定出需要打掉的校验比特的个数;
根据确定出的需要打掉的校验比特的个数, 按照码字序列中各校验比特 的打孔优先级从小到大的顺序, 对该码字序列进行打孔处理。
具体的, 在进行打孔处理时, 根据确定出的需要打掉的校验比特的个数, 按照码字序列中各校验比特的打孔优先级从小到大的顺序, 对该码字序列进
到需要打掉的校验比特的个数。
在实施中, 对于同一打孔优先级的校验比特 (即包含在同一集合中的校 验比特), 采用随机选择方式进行打孔。
举例说明, 以上述分集后的校验比特为例, 可按照总破坏力的值从小到 大的顺序, 对各集合中的校验比特进行打孔, 即优先打孔集合 Set(l)中的校验 比特,随后打孔集合 Set(2)中的校验比特,依此顺序打孔,直到得到所需 LDPC 码码率。
下面结合以下三个实施例, 以采用方式 3 为例, 对本发明提供的数据发 送方法中的打孔方式进行说明。
实施例一、对于现有 WLAN标准中所采用的码长 N = 648比特、码率 R = \ I 2 的 LDPC码, 其 LDPC码校验矩阵 H是由 27x 27的循环移位方阵组成。 按照本 发明提供的打孔方法, 对该校验矩阵中校验比特所对应的变量节点进行分集, 可分为 7个集合, 具体如表 1所示:
表 1 ;
Figure imgf000020_0001
若需要将该 LDPC码码率提高至 Λ' = 2 / 3,则需要打孔掉 162个校验比特。 按本发明提供的方法, 需要打孔的校验比特为集合 Set(l)、 集合 Set(2)中的所 有校验比特, 以及集合 Set(3)中的 81个校验比特 (相当于 3个 27维子矩阵块 所对应的校验比特);其中,随机从集合 Set(3)中选择 81个校验比特进行打孔。
若需要将该 LDPC码码率提高至 /?' = 3 / 4 ,则需要打孔掉 216个校验比特。 按本发明提供的方法, 需要打孔的校验比特为集合 Set(l)、 集合 Set(2)、 集合 Set(3)、 集合 Set(4)中的所有校验比特。
若需要将该 LDPC码码率提高至 Λ' = 5 / 6 ,则需要打孔掉 259个校验比特。 按本发明提供的方法, 需要打孔的校验比特为集合 Set(l)、 集合 Set(2)、 集合 Set(3)、 集合 Set(4)中的所有校验比特, 以及集合 Set(5)中 43个校验比特; 其 中, 随机从集合 Set(5)中选择 43个校验比特进行打孔。
图 8示出了码长为 648时, 采用本发明提供的打孔方法打孔后的 LDPC 码性能与采用现有的打孔方法打孔后的 LDPC码性能的仿真结果, 即块误码 字率 (Block Error Rate, BLER ) 的性能对比。 该仿真过程中所采用的信道均 为加性白高斯噪声 (Additive White Gaussian Noise, AWGN )信道、 调制方式 均为二进制移相键控 ( Binary Phase Shift Keying , BPSK )、 译码算法均为对数 似然比-置信传播( Log-Likelihood Ratio-Belief Propagation , LLR-BP ) 算法、 译码虽大迭代次数均为 50次。从图 8可以看出,码长为 648时,在各码率下, 本实施例打孔后 LDPC码性能均优于釆用现有的打孔方法打孔后的 LDPC码 性能。
实施例二、 对于现有 WLAN 标准中所采用的码长 N = 1296比特、 码率 W = 1 / 2的 LDPC码, 其 LDPC码校验矩阵 H是由 54x 54的循环移位方阵组成。 按照本发明提供的打孔方法, 对该校验矩阵中校验比特部分所对应变量节点 进行分集, 可分为 7个集合, 具体如表 2所示:
表 2;
Figure imgf000021_0001
若需要将该 LDPC码码率提高至 ' = 2 / 3 ,则需要打孔掉 324个校验比特。 按照本发明提供的打孔方法, 需要打孔的校验比特为集合 Set(l)、 集合 Set(2) 中的所有校验比特, 以及集合 Set(3)中 54个校验比特(相当于 1个 54维子矩 阵块所对应的校验比特); 其中, 随机从集合 Set(3)中选择 54个校验比特进行 打孔。
若需要将该 LDPC码码率提高至 7?' = 3 / 4,则需要打孔掉 432个校验比特。 按照本发明提供的打孔方法, 需要打孔的校验比特为集合 Set(l)、集合 Set(2)、 集合 Set(3)、 集合 Set(4)中的所有校验比特。
若需要将该 LDPC码码率提高至 /?' = 5 / 6 ,则需要打孔掉 518个校验比特。 按照本发明提供的打孔方法, 需要打孔的校验比特为集合 Set(l)、集合 Set(2)、 集合 Set(3)、 集合 Set(4)中的所有校验比特, 以及 Set(5)中的 86个校验比特; 其中, 随机从集合 Set(5)中选择 86个校验比特进行打孔。
图 9示出了码长为 1296时, 釆用本发明提供的打孔方法打孔后的 LDPC 码性能与采用现有的打孔方法打孔后的 LDPC码性能的仿真结果, 即块误码 率 (Block Error Rate, BLER ) 的性能对比。 该仿真过程中所采用的信道均为 AWGN信道、 调制方式均为 BPSK、 译码算法均为 LLR-BP算法、 译码虽大 迭代次数均为 50次。 从图 9可以看出, 码长为 1296时, 在各码率下, 本实 施例打孔后 LDPC码性能均优于采用现有的打孔方法打孔后的 LDPC码性能。
实施例三、 对于现有 WLAN 标准中所采用的码长 N = 1944比特、 码率 W = l / 2的 LDPC码, 其校验矩阵 H是由 81x81的循环移位方阵组成。 按照本发 明提供的打孔方法, 对该矩阵中校验比特部分所对应变量节点进行分集, 可 分为 6个集合, 具体如表 3所示:
表 3;
Figure imgf000022_0001
若需要将该 LDPC码码率提高至 ' = 2 / 3 ,则需要打孔掉 486个校验比特。 按照本发明提供的打孔方法, 需要打孔的校验比特为集合 Set(l)、 集合 Set(2) 中的所有校验比特。
若需要将该 LDPC码码率提高至 ?' = 3 / 4 ,则需要打孔掉 648个校验比特。 按照本发明提供的打孔方法, 需要打孔的校验比特为集合 Set(l)、集合 Set(2)、 集合 Set(3)中的所有校验比特。
若需要将该 LDPC码码率提高至 /?' = 5 / 6 ,则需要打孔掉 778个校验比特。 按照本发明提供的打孔方法, 需要打孔的校验比特为集合 Set(l)、集合 Set(2)、 集合 Set(3)中的所有校验比特, 以及 Set(4)中 130个校验比特; 其中, 随机从 集合 Set(4)中选择 130个校验比特进行打孔。
图 10示出了码长为 1944时,采用本发明提供的打孔方法打孔后的 LDPC 码性能与采用现有的打孔方法打孔后的 LDPC码性能的仿真结果, 即块误码 率 (Block Error Rate, BLER ) 的性能对比。 该仿真过程中所釆用的信道均为 AWGN信道、 调制方式均为 BPSK、 译码算法均为 LLR-BP算法、 译码虽大 迭代次数均为 50次。 从图 10可以看出, 码长为 1944时, 在各码率下, 本实 施例打孔后 LDPC码性能均优于釆用现有的打孔方法打孔后的 LDPC码性能。
基于上述三个实施例, 将以上仿真结果中的数据转化为表格形式, BLER 在 1.0x10- †, 本发明提供的打孔方法相对于 WLAN打孔方法的增益如表 4 所示:
表 4;
Figure imgf000023_0001
由表 4可见, 相对于现有 WLAN标准 LDPC码打孔方法, 本发明提供的 打孔方法有明显的性能提升。 同时, 由于标准中所采用的校验矩阵固定, 可 以通过本发明提供的打孔方法预先确定打孔图样, 所以并不增加硬件复杂度, 因此本发明提供的打孔方法具有较强竟争力。
上述方法处理流程可以用软件程序实现, 该软件程序可以存储在存储介 质中, 当存储的软件程序被调用时, 执行上述方法步骤。
基于同一发明构思, 本发明提供的一种数据发送装置, 该装置的结构参 见图 11所示, 包括:
编码模块 110,用于采用 LDPC码校验矩阵对需要发送的信息比特进行编 码, 得到码字序列, 所述码字序列包括所述信息比特和校验比特;
优先级确定模块 111 ,用于根据所述码字序列中的每个校验比特对应的变 量节点对所述 LDPC码校验矩阵的行破坏力和 /或环破坏力, 确定每个校验比 特的打孔优先级;
打孔模块 112 , 用于按照所述码字序列中各校验比特的打孔优先级, 对所 述码字序列进行打孔处理;
发送模块 113, 用于才艮据打孔后的码字序列, 生成比特序列并发送; 其中, 所述行破坏力用于衡量所述 LDPC码校验矩阵中所述变量节点对 与该变量节点相邻的变量节点的正确译码的影响, 其中, 所述相邻的变量节 点为与该变量节点相连的各校验节点所连接的变量节点中与该变量节点相邻 的各变量节点; 所述环破坏力用于衡量所述 LDPC码校验矩阵中所述变量节 点对该变量节点对应的最小环所遍历的变量节点的正确译码的影响, 其中, 该变量节点对应的最小环为该变量节点与周围的变量节点和校验节点连接形 成的长度最小的封闭图形。
在实施中, 针对所述码字序列中各校验比特, 优先级确定模块 111 按照 以下公式确定该校验比特对应的变量节点对所述 LDPC码校验矩阵的行破坏 力:
RowDestruction( ) = ^ D(m) . 其中, RowDestruction(i表示所述码字序列中的第 z个校验比特对应的变 量节点 ^ (0对所述 LDPC码校验矩阵造成的行破坏力, =1, 2, N表示 所述码字序列中校验比特的个数; Gc(0表示与变量节点 PW(0连接的校验节点 CNO)的集合, =l,...,M, M表示与变量节点^ (0连接的校验节点的个数; D(m)表示所述 LDPC码校验矩阵中校验节点 CN( )所连接的变量节点中与变 量节点 VN(f)相邻的变量节点的个数。
进一步, 作为第一种可选的实现方式, 优先级确定模块 111具体用于: 按照所述码字序列中各校验比特对应的变量节点对所述 LDPC码校验矩 阵的行破坏力的值从小到大, 依次确定所述码字序列中各校验比特的打孔优 先级, 其中, 行破坏力的值小的变量节点对应的校验比特的打孔优先级低于 行破坏力的值大的变量节点对应的校验比特的打孔优先级。
在实施中, 针对所述码字序列中各校验比特, 优先级确定模块 111 按照 以下公式确定该校验比特对应的变量节点对所述 LDPC码校验矩阵的环破坏 力:
CycDestruction(/') = CycNum(/') * S;
其中, CycDestructioni 表示所述码字序列中的第 个校验比特对应的变量 节点 对所述 LDPC码校验矩阵造成的环破坏力, i= , 2 '、N , N表示所 述码字序列中校验比特的个数; CycNumii)表示所述 LDPC码校验矩阵中变量 节点^ V(0与其周围的变量节点和校验节点连接形成的最小环的个数; S为设 定的优化因子, 且 S >0。
进一步, 作为第二种可选的实现方式, 优先级确定模块 111具体用于: 按照所述码字序列中各校验比特对应的变量节点对所述 LDPC码校验矩 阵的环破坏力的值从小到大, 依次确定所述码字序列中各校验比特的打孔优 先级, 其中, 环破坏力的值小的变量节点对应的校验比特的打孔优先级低于 环破坏力的值大的变量节点对应的校验比特的打孔优先级。
基于上述任一实施例, 作为第三种可选的实现方式, 优先级确定模块 111 具体用于:
针对所述码字序列中各校验比特, 将该校验比特对应的变量节点对所述 LDPC码校验矩阵的行破坏力和环破坏力求和,并将得到的和值作为该校验比 特对应的变量节点对所述 LDPC码校验矩阵的总破坏力; 以及,
按照所述码字序列中各校验比特对应的变量节点对所述 LDPC码校验矩 阵的总破坏力的值从小到大, 依次确定所述码字序列中各校验比特的打孔优 先级, 其中, 总破坏力的值小的变量节点对应的校验比特的打孔优先级低于 总破坏力的值大的变量节点对应的校验比特的打孔优先级。
基于上述任一实施例, 打孔模块 112具体用于:
在所述码字序列中确定出需要打孔的校验比特的个数; 以及根据确定出 的需要打孔的校验比特的个数, 按照所述码字序列中各校验比特的打孔优先 级从小到大的顺序, 对所述码字序列进行打孔处理。
本发明提供的数据发送装置中, 由于利用了码字序列中各校验比特对应 的变量节点对 LDPC码校验矩阵的行破坏力和 /或环破坏力, 确定各校验比特 对应的打孔优先级, 并按照码字序列中各校验比特对应的打孔优先级, 对码 字序列进行打孔, 从而能够有效的对 WLAN标准中 LDPC码的校验比特进行 区分, 提高了得到的高码率 LDPC码的性能, 也提高了其差错控制性能。
基于同一发明构思, 本发明还提供了一种通信设备, 该通信设备的结构 参见图 12所示, 包括发射机 120和处理器 121, 其中:
处理器 121 , 用于采用 LDPC码校验矩阵对需要发送的信息比特进行编 码, 得到码字序列, 所述码字序列包括所述信息比特和校验比特; 根据所述 码字序列中的每个校验比特对应的变量节点对所述 LDPC码校验矩阵的行破 坏力和 /或环破坏力, 确定每个校验比特的打孔优先级; 按照所述码字序列中 各校验比特的打孔优先级, 对所述码字序列进行打孔处理; 以及根据打孔后 的码字序列, 生成比特序列;
发射机 120, 用于发送处理器 121生成的比特序列;
其中, 所述行破坏力用于衡量所述 LDPC码校验矩阵中所述变量节点对 与该变量节点相邻的变量节点的正确译码的影响, 其中, 所述相邻的变量节 点为与该变量节点相连的各校验节点所连接的变量节点中与该变量节点相邻 的各变量节点; 所述环破坏力用于衡量所述 LDPC码校验矩阵中所述变量节 点对该变量节点对应的最小环所遍历的变量节点的正确译码的影响, 其中, 该变量节点对应的最小环为该变量节点与周围的变量节点和校验节点连接形 成的长度最小的封闭图形。
本发明提供的通信设备中的发射机 120与处理器 121之间通过总线连接。 在实施中, 针对所述码字序列中各校验比特, 处理器 121 按照以下公式 确定该校验比特对应的变量节点对所述 LDPC码校验矩阵的行破坏力:
RowDestruction( ) - ^ D(m) . 其中, Row )eWrwcf/o«(/)表示所述码字序列中的第 z个校验比特对应的变 量节点 ^ (0对所述 LDPC码校验矩阵造成的行破坏力, =1, 2, N表示 所述码字序列中校验比特的个数; Gc(0表示与变量节点 N( )连接的校验节点 CNO)的集合, m= ..,M , M表示与变量节点 iW(0连接的校验节点的个数; D(m)表示所述 LDPC码校验矩阵中校验节点 CNO)所连接的变量节点中与变 量节点 fw(o相邻的变量节点的个数。
进一步, 作为第一种可选的实现方式, 处理器 121具体用于:
按照所述码字序列中各校验比特对应的变量节点对所述 LDPC码校验矩 阵的行破坏力的值从小到大, 依次确定所述码字序列中各校验比特的打孔优 先级, 其中, 行破坏力的值小的变量节点对应的校验比特的打孔优先级低于 行破坏力的值大的变量节点对应的校验比特的打孔优先级。
在实施中, 针对所述码字序列中各校验比特, 处理器 121 按照以下公式 确定该校验比特对应的变量节点对所述 LDPC码校验矩阵的环破坏力:
CycDestruction(z') = CycNum( ) * S;
其中, CycDestmctwnii)表示所述码字序列中的第 个校验比特对应的变量 节点 i^W(0对所述 LDPC码校验矩阵造成的环破坏力, i=\, 2, ' , N , N表示所 述码字序列中校验比特的个数; CycNumif)表示所述 LDPC码校验矩阵中变量 节点^ V(0与其周围的变量节点和校验节点连接形成的最小环的个数; S为设 定的优化因子, 且 S〉0。
进一步, 作为第二种可选的实现方式, 处理器 121具体用于:
按照所述码字序列中各校验比特对应的变量节点对所述 LDPC码校验矩 阵的环破坏力的值从小到大, 依次确定所述码字序列中各校验比特的打孔优 先级, 其中, 环破坏力的值小的变量节点对应的校验比特的打孔优先级低于 环破坏力的值大的变量节点对应的校验比特的打孔优先级。
基于上述任一实施例, 作为第三种可选的实现方式, 处理器 121 具体用 于:
针对所述码字序列中各校验比特, 将该校验比特对应的变量节点对所述 LDPC码校验矩阵的行破坏力和环破坏力求和,并将得到的和值作为该校验比 特对应的变量节点对所述 LDPC码校验矩阵的总破坏力; 以及,
按照所述码字序列中各校验比特对应的变量节点对所述 LDPC码校验矩 阵的总破坏力的值从小到大, 依次确定所述码字序列中各校验比特的打孔优 先级, 其中, 总破坏力的值小的变量节点对应的校验比特的打孔优先级低于 总破坏力的值大的变量节点对应的校验比特的打孔优先级。
基于上述任一实施例, 处理器 121具体用于:
在所述码字序列中确定出需要打孔的校验比特的个数; 以及根据确定出 的需要打孔的校验比特的个数, 按照所述码字序列中各校验比特的打孔优先 级从小到大的顺序, 对所述码字序列进行打孔处理。
本发明提供的通信设备中, 由于利用了码字序列中各校验比特对应的变 量节点对 LDPC码校验矩阵的行破坏力和 /或环破坏力, 确定各校验比特对应 的打孔优先级, 并按照码字序列中各校验比特对应的打孔优先级, 对码字序 列进行打孔,从而能够有效的对 WLAN标准中 LDPC码的校验比特进行区分, 提高了得到的高码率 LDPC码的性能, 也提高了其差错控制性能。
本领域内的技术人员应明白, 本发明的实施例可提供为方法、 系统、 或 计算机程序产品。 因此, 本发明可采用完全硬件实施例、 完全软件实施例、 或结合软件和硬件方面的实施例的形式。 而且, 本发明可釆用在一个或多个 其中包含有计算机可用程序代码的计算机可用存储介质 (包括但不限于磁盘 存储器、 CD-ROM、 光学存储器等) 上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、 设备(系统)、 和计算机程序产 品的流程图和 /或方框图来描述的。 应理解可由计算机程序指令实现流程图 和 /或方框图中的每一流程和 /或方框、 以及流程图和 /或方框图中的流程 和 /或方框的结合。 可提供这些计算机程序指令到通用计算机、 专用计算机、 嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器, 使得通 过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流 程图一个流程或多个流程和 /或方框图一个方框或多个方框中指定的功能的 中的指令产生包括指令装置的制造品, 该指令装置实现在流程图一个流程或 多个流程和 /或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上, 使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的 处理, 从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图 一个流程或多个流程和 /或方框图一个方框或多个方框中指定的功能的步 骤。
尽管已描述了本发明的优选实施例, 但本领域内的技术人员一旦得知了 基本创造性概念, 则可对这些实施例作出另外的变更和修改。 所以, 所附权 利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然, 本领域的技术人员可以对本发明进行各种改动和变型而不脱离本 发明的精神和范围。 这样, 倘若本发明的这些修改和变型属于本发明权利要 求及其等同技术的范围之内, 则本发明也意图包含这些改动和变型在内。

Claims

权 利 要 求
1、 一种数据发送方法, 其特征在于, 该方法包括:
采用低密度校验 LDPC码校验矩阵对需要发送的信息比特进行编码, 得 到码字序列, 所述码字序列包括所述信息比特和校验比特;
根据所述码字序列中的每个校验比特对应的变量节点对所述 LDPC码校 验矩阵的行破坏力和 /或环破坏力, 确定每个校验比特的打孔优先级;
按照所述码字序列中各校验比特的打孔优先级, 对所述码字序列进行打 孔处理;
根据打孔后的码字序列, 生成比特序列并发送;
其中, 所述行破坏力用于衡量所述 LDPC码校验矩阵中所述变量节点对 与该变量节点相邻的变量节点的正确译码的影响, 其中, 所述相邻的变量节 点为与该变量节点相连的各校验节点所连接的变量节点中与该变量节点相邻 的各变量节点; 所述环破坏力用于衡量所述 LDPC码校验矩阵中所述变量节 点对该变量节点对应的最小环所遍历的变量节点的正确译码的影响, 其中, 该变量节点对应的最小环为该变量节点与周围的变量节点和校验节点连接形 成的长度最小的封闭图形。
2、 如权利要求 1所述的方法, 其特征在于, 针对所述码字序列中各校验 比特, 按照以下公式确定该校验比特对应的变量节点对所述 LDPC码校验矩 阵的行破坏力:
RowDestruction( ) = ^ D(m) . 其中, Row eWn o"( )表示所述码字序列中的第 个校验比特对应的变 量节点 i^W(0对所述 LDPC码校验矩阵造成的行破坏力, i=\, 2 '、N , N表示 所述码字序列中校验比特的个数; Gc(0表示与变量节点 n 连接的校验节点 CN( )的集合, =l, ...,M , M表示与变量节点 fW(0连接的校验节点的个数; D(m)表示所述 LDPC码校验矩阵中校验节点 CN( )所连接的变量节点中与变 量节点 fw(0相邻的变量节点的个数。
3、 如权利要求 2所述的方法, 其特征在于, 根据所述码字序列中各校验 比特对应的变量节点对所述 LDPC码校验矩阵的行破坏力, 确定所述码字序 列中各校验比特的打孔优先级, 包括:
按照所述码字序列中各校验比特对应的变量节点对所述 LDPC码校验矩 阵的行破坏力的值从小到大, 依次确定所述码字序列中各校验比特的打孔优 先级, 其中, 行破坏力的值小的变量节点对应的校验比特的打孔优先级低于 行破坏力的值大的变量节点对应的校验比特的打孔优先级。
4、 如权利要求 1所述的方法, 其特征在于, 针对所述码字序列中各校验 比特, 按照以下公式确定该校验比特对应的变量节点对所述 LDPC码校验矩 阵的环破坏力:
CycDestruction(z') = CycNum( ) * S;
其中, CycDestmctwnii)表示所述码字序列中的第 个校验比特对应的变量 节点^ (0对所述 LDPC码校验矩阵造成的环破坏力, i=\, 2 ' - , N , N表示所 述码字序列中校验比特的个数; CycNum 表示所述 LDPC码校验矩阵中变量 节点^ V(0与其周围的变量节点和校验节点连接形成的最小环的个数; S为设 定的优化因子, 且 >0。
5、 如权利要求 4所述的方法, 其特征在于, 根据所述码字序列中各校验 比特对应的变量节点对所述 LDPC码校验矩阵的环破坏力, 确定所述码字序 列中各校验比特的打孔优先级, 包括:
按照所述码字序列中各校验比特对应的变量节点对所述 LDPC码校验矩 阵的环破坏力的值从小到大, 依次确定所述码字序列中各校验比特的打孔优 先级, 其中, 环破坏力的值小的变量节点对应的校验比特的打孔优先级低于 环破坏力的值大的变量节点对应的校验比特的打孔优先级。
6、 如权利要求 1~5任一项所述的方法, 其特征在于, 根据所述码字序列 中各校验比特对应的变量节点对所述 LDPC码校验矩阵的行破坏力和环破坏 力, 确定所述码字序列中各校验比特的打孔优先级, 包括:
针对所述码字序列中各校验比特, 将该校验比特对应的变量节点对所述 LDPC码校验矩阵的行破坏力和环破坏力求和,并将得到的和值作为该校验比 特对应的变量节点对所述 LDPC码校验矩阵的总破坏力; 以及,
按照所述码字序列中各校验比特对应的变量节点对所述 LDPC码校验矩 阵的总破坏力的值从小到大, 依次确定所述码字序列中各校验比特的打孔优 先级, 其中, 总破坏力的值小的变量节点对应的校验比特的打孔优先级低于 总破坏力的值大的变量节点对应的校验比特的打孔优先级。
7、 如权利要求 1所述的方法, 其特征在于, 按照所述码字序列中各校验 比特的打孔优先级, 对所述码字序列进行打孔处理, 包括:
在所述码字序列中确定出需要打孔的校验比特的个数;
根据确定出的需要打孔的校验比特的个数, 按照所述码字序列中各校验 比特的打孔优先级从小到大的顺序, 对所述码字序列进行打孔处理。
8、 一种数据发送装置, 其特征在于, 该装置包括:
编码模块, 用于采用 LDPC码校验矩阵对需要发送的信息比特进行编码, 得到码字序列, 所述码字序列包括所述信息比特和校验比特;
优先级确定模块, 用于根据所述码字序列中的每个校验比特对应的变量 节点对所述 LDPC码校验矩阵的行破坏力和 /或环破坏力, 确定每个校验比特 的打孔优先级;
打孔模块, 用于按照所述码字序列中各校验比特的打孔优先级, 对所述 码字序列进行打孔处理;
发送模块, 用于才艮据打孔后的码字序列, 生成比特序列并发送; 其中, 所述行破坏力用于衡量所述 LDPC码校验矩阵中所述变量节点对 与该变量节点相邻的变量节点的正确译码的影响, 其中, 所述相邻的变量节 点为与该变量节点相连的各校验节点所连接的变量节点中与该变量节点相邻 的各变量节点; 所述环破坏力用于衡量所述 LDPC码校验矩阵中所述变量节 点对该变量节点对应的最小环所遍历的变量节点的正确译码的影响, 其中, 该变量节点对应的最小环为该变量节点与周围的变量节点和校验节点连接形 成的长度最小的封闭图形。
9、 如权利要求 8所述的装置, 其特征在于, 针对所述码字序列中各校验 比特, 所述优先级确定模块按照以下公式确定该校验比特对应的变量节点对 所述 LDPC码校验矩阵的行破坏力:
RowDestruction(z) = ^ D(m) . 其中, RowZ)eWr"c o"()表示所述码字序列中的第 个校验比特对应的变 量节点 对所述 LDPC码校验矩阵造成的行破坏力, i= ,2, ',N , N表示 所述码字序列中校验比特的个数; Gc(0表示与变量节点 VN(f)连接的校验节点 CN( )的集合, =l,...,M , M表示与变量节点 W (0连接的校验节点的个数; D(m)表示所述 LDPC码校验矩阵中校验节点 CN( )所连接的变量节点中与变 量节点 VN()相邻的变量节点的个数。
10、 如权利要求 9 所述的装置, 其特征在于, 所述优先级确定模块具体 用于:
按照所述码字序列中各校验比特对应的变量节点对所述 LDPC码校验矩 阵的行破坏力的值从小到大, 依次确定所述码字序列中各校验比特的打孔优 先级, 其中, 行破坏力的值小的变量节点对应的校验比特的打孔优先级低于 行破坏力的值大的变量节点对应的校验比特的打孔优先级。
11、 如权利要求 8 所述的装置, 其特征在于, 针对所述码字序列中各校 验比特, 所述优先级确定模块按照以下公式确定该校验比特对应的变量节点 对所述 LDPC码校验矩阵的环破坏力:
CycDestruction(z') = CycNum() * S;
其中, CycDestmctwnd)表示所述码字序列中的第 个校验比特对应的变量 节点 WV(0对所述 LDPC码校验矩阵造成的环破坏力, =1,2,' ,N, N表示所 述码字序列中校验比特的个数; CycNum 表示所述 LDPC码校验矩阵中变量 节点 WV(/)与其周围的变量节点和校验节点连接形成的最小环的个数; S为设 定的优化因子, 且 S>0。
12、 如权利要求 11所述的装置, 其特征在于, 所述优先级确定模块具体 用于:
按照所述码字序列中各校验比特对应的变量节点对所述 LDPC码校验矩 阵的环破坏力的值从小到大, 依次确定所述码字序列中各校验比特的打孔优 先级, 其中, 环破坏力的值小的变量节点对应的校验比特的打孔优先级低于 环破坏力的值大的变量节点对应的校验比特的打孔优先级。
13、 如权利要求 8~12任一项所述的装置, 其特征在于, 所述优先级确定 模块具体用于:
针对所述码字序列中各校验比特, 将该校验比特对应的变量节点对所述 LDPC码校验矩阵的行破坏力和环破坏力求和,并将得到的和值作为该校验比 特对应的变量节点对所述 LDPC码校验矩阵的总破坏力; 以及,
按照所述码字序列中各校验比特对应的变量节点对所述 LDPC码校验矩 阵的总破坏力的值从小到大, 依次确定所述码字序列中各校验比特的打孔优 先级, 其中, 总破坏力的值小的变量节点对应的校验比特的打孔优先级低于 总破坏力的值大的变量节点对应的校验比特的打孔优先级。
14、 如权利要求 8所述的装置, 其特征在于, 所述打孔模块具体用于: 在所述码字序列中确定出需要打孔的校验比特的个数;
根据确定出的需要打孔的校验比特的个数, 按照所述码字序列中各校验 比特的打孔优先级从小到大的顺序, 对所述码字序列进行打孔处理。
PCT/CN2014/076641 2014-04-30 2014-04-30 一种数据发送方法和装置 WO2015165093A1 (zh)

Priority Applications (5)

Application Number Priority Date Filing Date Title
EP23205483.3A EP4340267A3 (en) 2014-04-30 2014-04-30 Data sending method and apparatus
CN201480078088.7A CN106464421B (zh) 2014-04-30 2014-04-30 一种数据发送方法和装置
EP14890885.8A EP3131219B1 (en) 2014-04-30 2014-04-30 Puncturing of ldpc codes
PCT/CN2014/076641 WO2015165093A1 (zh) 2014-04-30 2014-04-30 一种数据发送方法和装置
US15/337,703 US10135466B2 (en) 2014-04-30 2016-10-28 Data sending method and apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2014/076641 WO2015165093A1 (zh) 2014-04-30 2014-04-30 一种数据发送方法和装置

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US15/337,703 Continuation US10135466B2 (en) 2014-04-30 2016-10-28 Data sending method and apparatus

Publications (1)

Publication Number Publication Date
WO2015165093A1 true WO2015165093A1 (zh) 2015-11-05

Family

ID=54358046

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2014/076641 WO2015165093A1 (zh) 2014-04-30 2014-04-30 一种数据发送方法和装置

Country Status (4)

Country Link
US (1) US10135466B2 (zh)
EP (2) EP4340267A3 (zh)
CN (1) CN106464421B (zh)
WO (1) WO2015165093A1 (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109391360B (zh) 2017-08-11 2022-04-12 中兴通讯股份有限公司 数据编码方法及装置
CN110011756B (zh) * 2018-01-05 2021-11-09 中兴通讯股份有限公司 一种无源光网络编码处理方法及装置
CN109409901B (zh) * 2018-08-20 2021-08-10 同济大学 用于商品外包装的打孔式信息编解码方法
CN109889418B (zh) * 2018-12-29 2020-12-08 百度在线网络技术(北京)有限公司 基于can总线的数据传输方法和装置
CN112187402B (zh) * 2019-07-05 2024-05-17 北京京东振世信息技术有限公司 一种数据处理的方法、装置和存储介质
CN113395132A (zh) * 2020-03-13 2021-09-14 华为技术有限公司 Ldpc码的速率匹配的方法和通信装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007085653A1 (en) * 2006-01-27 2007-08-02 Jacobs University Bremen Ggmbh Check-irregular ldpc codes for uep
CN101630989A (zh) * 2008-07-14 2010-01-20 上海华为技术有限公司 一种数据发送方法、装置及通信系统
CN102546122A (zh) * 2010-12-17 2012-07-04 华为技术有限公司 校验矩阵构造方法及设备、编解码方法及设备
WO2013055046A2 (ko) * 2011-10-10 2013-04-18 삼성전자주식회사 통신/방송 시스템에서 데이터 송수신 장치 및 방법

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7222284B2 (en) * 2003-06-26 2007-05-22 Nokia Corporation Low-density parity-check codes for multiple code rates
US20100107033A1 (en) * 2007-01-31 2010-04-29 Kenichi Kuri Radio communication device and puncturing method
US8392789B2 (en) * 2009-07-28 2013-03-05 Texas Instruments Incorporated Method and system for decoding low density parity check codes
KR101670511B1 (ko) * 2010-05-07 2016-10-28 삼성전자주식회사 저밀도 패리티 검사 부호를 사용하는 통신 시스템에서 채널 부호/복호 방법 및 장치
EP2525495A1 (en) * 2011-05-18 2012-11-21 Panasonic Corporation Bit-interleaved coding and modulation (BICM) with quasi-cyclic LDPC codes
CN105356890B (zh) * 2015-11-30 2019-03-12 华侨大学 一种基于重要性采样技术的ldpc码打孔方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007085653A1 (en) * 2006-01-27 2007-08-02 Jacobs University Bremen Ggmbh Check-irregular ldpc codes for uep
CN101630989A (zh) * 2008-07-14 2010-01-20 上海华为技术有限公司 一种数据发送方法、装置及通信系统
CN102546122A (zh) * 2010-12-17 2012-07-04 华为技术有限公司 校验矩阵构造方法及设备、编解码方法及设备
WO2013055046A2 (ko) * 2011-10-10 2013-04-18 삼성전자주식회사 통신/방송 시스템에서 데이터 송수신 장치 및 방법

Also Published As

Publication number Publication date
EP3131219A1 (en) 2017-02-15
EP3131219A4 (en) 2017-05-10
EP3131219B1 (en) 2023-11-15
EP4340267A3 (en) 2024-04-10
CN106464421A (zh) 2017-02-22
US20170047945A1 (en) 2017-02-16
CN106464421B (zh) 2019-10-18
EP4340267A2 (en) 2024-03-20
US10135466B2 (en) 2018-11-20

Similar Documents

Publication Publication Date Title
Guo et al. Multi-CRC polar codes and their applications
CN110545110B (zh) 级联极化编码和滑动窗口极化编码
CN106685586B (zh) 生成用于在信道中传输的低密度奇偶校验码的方法及设备
WO2015165093A1 (zh) 一种数据发送方法和装置
KR100929079B1 (ko) 저밀도 패리티 검사 부호를 사용하는 통신 시스템의 복호 장치 및 방법
EP2372919B1 (en) Rate compatible low-density parity-check (LDPC) codes for H-ARQ systems
CN101217337B (zh) 一种支持递增冗余混合自动重传的低密度奇偶校验码编码装置和方法
CN107276594A (zh) 使用硬选取硬译码模式下的译码器产生软信息的方法
US7934146B2 (en) Method, apparatus and computer program product providing for data block encoding and decoding
Williamson et al. Variable-length convolutional coding for short blocklengths with decision feedback
CN108282259B (zh) 一种编码方法及装置
CN103281166A (zh) 一种基于极化码的混合自动重传请求传输方法
CN107248866A (zh) 一种降低极化码译码时延的方法
TWI580197B (zh) 低密度奇偶檢查碼之編解碼方法
CN101615913A (zh) Ldpc码的快速收敛译码算法
JP5371623B2 (ja) 通信システム及び受信装置
CN104993905B (zh) 删除信道下系统lt码的度分布优化方法及编译码方法
WO2017214851A1 (zh) 一种信号传输的方法、发射端及接收端
Shang et al. Second-order memory based LT encoder design
JP5772622B2 (ja) 復号装置および復号方法
CN101471743A (zh) 低密度生成矩阵码的编码方法
Jensen Polar Codes and LDPC Codes in 5G New Radio
Zhou et al. A puncturing algorithm for rate-compatible LDPC convolutional codes

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 14890885

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

REEP Request for entry into the european phase

Ref document number: 2014890885

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 2014890885

Country of ref document: EP