WO2021063217A1 - Procédé et appareil de décodage - Google Patents

Procédé et appareil de décodage Download PDF

Info

Publication number
WO2021063217A1
WO2021063217A1 PCT/CN2020/116852 CN2020116852W WO2021063217A1 WO 2021063217 A1 WO2021063217 A1 WO 2021063217A1 CN 2020116852 W CN2020116852 W CN 2020116852W WO 2021063217 A1 WO2021063217 A1 WO 2021063217A1
Authority
WO
WIPO (PCT)
Prior art keywords
row
check matrix
ldpc code
decoding
decoded
Prior art date
Application number
PCT/CN2020/116852
Other languages
English (en)
Chinese (zh)
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 华为技术有限公司
Publication of WO2021063217A1 publication Critical patent/WO2021063217A1/fr

Links

Images

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/1105Decoding
    • H03M13/1108Hard decision decoding, e.g. bit flipping, modified or weighted bit flipping
    • 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
    • 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/1105Decoding
    • H03M13/1128Judging correct decoding and iterative stopping criteria other than syndrome check and upper limit for decoding iterations

Definitions

  • This application relates to the field of communication technology, and in particular to a decoding method and device.
  • the rapid evolution of wireless communication indicates that the fifth generation (5G) communication system in the future will show some new characteristics.
  • the three most typical communication scenarios include enhanced mobile broadband (eMBB) and massive machine connections.
  • Communication massive machine type communication, mMTC
  • high reliability and low latency communication ultra reliable low latency communication, URLLC
  • LTE long term evolution
  • channel coding is one of the important research objects to meet the needs of 5G communication.
  • Polar code is selected as the control channel coding method in the 5G standard.
  • Polar code is the first and only known channel coding method that can be strictly proven to "reach" the channel capacity. Under different code lengths, Especially for limited codes, Polar codes have better performance.
  • Low density parity check (LDPC) code is selected as the data channel coding method in the 5G standard.
  • LDPC code is a linear block code with a sparse check matrix, which not only has the limit of Shannon (Shannon) Good performance, low decoding complexity and flexible structure.
  • control channel and the data channel adopt different encoding methods, the information received by the control channel and the information received by the data channel need to be decoded separately, which leads to more complicated implementation and higher hardware overhead.
  • the present application provides a decoding method and device for realizing common mode decoding of the information received by the control channel and the information received by the data channel, effectively reducing hardware overhead.
  • an embodiment of the present application provides a decoding method, the method includes: obtaining a log-likelihood ratio LLR sequence corresponding to a bit sequence to be decoded, the LLR sequence includes 2 w LLRs, and the to-be-translated bit sequence
  • the code bit sequence is obtained by encoding a first bit sequence with a polarization code, the first bit sequence includes information bits; w is an integer greater than or equal to 1, and the low density corresponding to the bit sequence to be decoded is determined Parity check LDPC code check matrix; decode the LLR sequence based on the LDPC code check matrix to obtain a first decoding result; obtain a decoded bit sequence according to the first decoding result.
  • the LLR sequence corresponding to the bit sequence to be decoded can be used by the LDPC code decoder Perform decoding, so that polarization code decoding and LDPC code decoding can achieve common mode decoding, saving hardware overhead.
  • decoding the LLR sequence based on the LDPC code check matrix to obtain the first decoding result includes: using an LDPC code layered decoder based on the LDPC code check matrix Decoding the LLR sequence to obtain the first decoding result.
  • the LDPC code layered decoding method can improve the decoding performance and reduce the probability of decoding errors.
  • obtaining the decoded bit sequence according to the first decoding result includes: using a polarization code decoder to decode the first decoding result to obtain the decoded bit sequence .
  • the LDPC code decoder since the LDPC code decoder is used to decode the LLR sequence to obtain the first decoding result, it is only necessary to use the polarization code decoder to decode the first decoding result.
  • the complexity of the polarization code decoder required in the embodiment of the present application can be much less than that of the existing one.
  • the complexity of the polarization code decoder in the technology can effectively reduce the hardware overhead.
  • the polarization code factor graph can be deformed to obtain the LDPC code Tanner graph, and then the LDPC code check matrix corresponding to the bit sequence to be decoded can be obtained.
  • determining the LDPC code check matrix corresponding to the bit sequence to be decoded according to the 2 k *(k+1) variable nodes and 2 k *k check nodes includes: The 2 k * (k + 1) variable nodes and 2 k * k check nodes determine a first check matrix; perform one or more of the following operations on the first check matrix to obtain the LDPC code Check matrix: row swap, column swap, row merge, column merge, row delete, column delete.
  • the obtained LDPC code check matrix conforms to the polarization code decoding method and has serial characteristics in the decoding process, so as to facilitate the use of the LDPC code layered decoding method. Decoding to improve decoding performance.
  • the LDPC code check matrix corresponding to the bit sequence to be decoded is a quasi-cyclic QC-LDPC code check matrix.
  • the determined LDPC code check matrix is:
  • the LDPC code check matrix includes a first layer and a second layer, the first layer includes a first row, and the second layer includes a second row.
  • the w is an integer greater than or equal to 2; the determined LDPC code check matrix is:
  • the LDPC code check matrix includes a first layer, a second layer and a third layer, the first layer includes a first row and a second row, and the second layer includes a third row and a fourth row, The third layer includes a fifth row and a sixth row.
  • w is an integer greater than or equal to 3; the determined LDPC code check matrix is:
  • the LDPC code check matrix includes a first layer, a second layer, a third layer, and a fourth layer, the first layer includes the first row to the fourth row, and the second layer includes the fifth row to the fourth layer. Eight rows, the third layer includes the ninth row to the twelfth row, and the fourth layer includes the thirteenth row to the sixteenth row.
  • w is an integer greater than or equal to 4.
  • the determined LDPC code check matrix is:
  • the LDPC code check matrix includes the first layer to the fifth layer, the first layer includes the first row to the eighth row, the second layer includes the ninth row to the sixteenth row, and the first layer includes the ninth row to the sixteenth row.
  • the third layer includes the seventeenth row to the twenty-fourth row, the fourth layer includes the twenty-fifth row to the thirty-second row, and the fifth layer includes the thirty-third row to the fortieth row.
  • the present application provides a decoding device, which has the function of implementing the method described in the first aspect and any one of the possible designs of the first aspect.
  • the function can be realized by hardware, or by hardware executing corresponding software.
  • the hardware or software includes one or more modules or units corresponding to the above-mentioned functions.
  • the decoding device when part or all of the functions are realized by hardware, includes: an input interface circuit for obtaining the LLR sequence corresponding to the bit sequence to be decoded; and a logic circuit for executing The method described in the first aspect and any one of the possible designs of the first aspect; an output interface circuit for outputting a decoded bit sequence.
  • the decoding device may be a chip or an integrated circuit.
  • the decoding device when part or all of the function is realized by software, the decoding device includes: a memory for storing a program; a processor for executing the program stored in the memory, when When the program is executed, the decoding device can implement the method described in any one of the foregoing first aspect and the first aspect.
  • the foregoing memory may be a physically independent unit, or may be integrated with the processor.
  • the decoding device when part or all of the functions are implemented by software, the decoding device includes a processor.
  • the memory for storing the program is located outside the decoding device, and the processor is connected to the memory through a circuit/wire for reading and executing the program stored in the memory.
  • an embodiment of the present application provides a communication system.
  • the communication system includes a network device and a terminal device. Both the network device and the terminal device can perform any of the above-mentioned first aspect or any one of the first aspects. The method described in the design.
  • an embodiment of the present application provides a computer storage medium storing a computer program, and the computer program includes instructions for executing the method described in the first aspect or any one of the possible designs of the first aspect.
  • a computer program product containing instructions, which when running on a computer, causes the computer to execute the method described in the first aspect or any one of the possible designs of the first aspect.
  • FIG. 1a is a schematic diagram of a polarization channel unit provided by an embodiment of the application.
  • FIG. 1b is an example of a polarization code factor diagram (8 LLRs) provided by an embodiment of the application;
  • FIG. 1c is a schematic diagram of the SC decoding calculation process provided by an embodiment of the application.
  • FIG. 1d is a schematic diagram of a decoding path in the SCL decoding method provided by an embodiment of this application;
  • Figure 1e is a schematic diagram of a decoding calculation process provided by an embodiment of the application.
  • Figure 1f is an example of a Tanner graph of an LDPC code provided by an embodiment of the application.
  • FIG. 2 is a schematic diagram of a network architecture to which an embodiment of this application is applicable;
  • FIG. 3a is a schematic diagram of a polarization code encoding and decoding process provided by an embodiment of the application
  • FIG. 3b is a schematic diagram of the need to separately decode the information received by the control channel and the information received by the data channel according to an embodiment of the application;
  • 3c is a schematic diagram of common mode decoding of information received by a control channel and information received by a data channel using the decoding method provided by an embodiment of the present application;
  • FIG. 4 is a schematic flowchart corresponding to the decoding method provided by an embodiment of this application.
  • FIG. 5a is a schematic diagram of updating multiple layers of the LDPC check matrix in an iterative process
  • Fig. 5b is a Tanner graph obtained according to the factor graph shown in Fig. 1b;
  • FIG. 5c is an example of a polarization code factor diagram (16 LLRs) provided by an embodiment of the application.
  • FIG. 5d is an example of a Tanner diagram corresponding to a 2*2 polarization code butterfly network unit provided by an embodiment of the application;
  • Fig. 6 is a logical schematic diagram of a decoding process provided by an embodiment of the application.
  • Fig. 7 is a schematic diagram of the SCL decoder shown in Fig. 6;
  • FIG. 8 is a possible exemplary block diagram of a device involved in an embodiment of this application.
  • FIG. 9 is a schematic structural diagram of a decoding device provided by an embodiment of this application.
  • FIG. 10 is a schematic structural diagram of another decoding device provided by an embodiment of this application.
  • Polarization code is a linear block code
  • G N generator matrix
  • B N encoding process
  • I binary row vector with length N (ie code length)
  • B N is an N ⁇ N transposed matrix, such as a bit reverse transposed matrix; among them, B N is an optional quantity, and the calculation process of generating the matrix G N can omit the calculation of B N.
  • the Kronecker product of log 2 N matrices F 2 Are the encoded bits (also called codewords), After multiplying with the generator matrix G N , the encoded bits are obtained, and the multiplication process is the encoding process.
  • a part of the bits are used to carry information, which is called a set of information bits.
  • the other part of the bits is set to a fixed value agreed by the receiving end and the sending end in advance, which is called a fixed bit set or frozen bit set (frozen bits), and the set of indexes is used Complement Said.
  • the encoding process of the polarization code is equivalent to:
  • Is the set of G N The sub-matrix obtained by the rows corresponding to the index in, Is the set of G N The index corresponding to those rows in the sub-matrix.
  • the number is K
  • the fixed bit set in, whose number is (NK) is a known bit.
  • decoding methods for polarization codes such as serial cancellation (successive cancellation, SC) decoding method, serial cancellation list (successive cancellation list, SCL) decoding method, and probability propagation (belief propagation, BP) decoding method.
  • Code method The various decoding methods of the polarization code can be calculated based on the butterfly network of the polarization code (also known as the factor graph).
  • the structure of the factor graph is related to the structure of the polarization code.
  • the graph 1a is a schematic diagram of a polarized channel unit
  • u 1 u 2 is the input
  • the encoded x 1 x 2 can be written as
  • the channel capacity of one channel decreases, and the channel capacity of the other channel increases. Therefore, as long as the polarization unit is repeatedly and iteratively called, the channel capacity of some channels can be theoretically close to 1, and the channel capacity of another part of the channels can be close to 0, as long as the channel capacity is close to 1.
  • Information bits place known bits (freeze bits) on the channel whose channel capacity is close to 0, theoretically, error-free transmission can be realized.
  • the polarized unit network after repeated cascading can be called a butterfly network or a factor graph.
  • the SC decoding method refers to calculating the LLR of each decoding bit one by one according to the LLR sequence corresponding to the bit sequence to be decoded, and making a bit-by-bit decision.
  • the decoded bit is an information bit, if the LLR of the decoded bit>0, then the decoded bit is 0, if the LLR of the decoded bit ⁇ 0, then the decoded bit is 1; when the decoded bit is a fixed bit When, no matter what the LLR is, the decoding result is set to 0.
  • Figure 1c is a schematic diagram of the SC decoding calculation process.
  • F operation adopts simplified operation, and the formula of F operation is:
  • G operation adopts simplified operation, and the formula of G operation is:
  • the decoded bits obtained by sequential calculation are 1 ⁇ 2 ⁇ 3 ⁇ 4, and the decoding is completed.
  • the SCL decoding method means that according to the LLR sequence corresponding to the bit sequence to be decoded, when decoding each information bit, the decoding results corresponding to 0 and 1 are saved as two branch decoding paths (referred to as path splitting).
  • L preset path width
  • the L paths with the best value of) are saved and the paths are continued to be developed to interpret the subsequent decoded bits.
  • the PM value among them is used to judge the quality of the path, and the PM value is calculated by LLR. For each level of decoding bits, sort the PM values of the L paths from small to large, and filter the correct paths through the PM value, and repeat until the last bit is decoded.
  • the decoding operation will be introduced in conjunction with Figure 1e.
  • the right side is the LLR input side, or called the codeword side;
  • the left side is the information side, or called the decoding bit side.
  • yi is the information to be decoded
  • u i is the decoded bit.
  • N 16
  • the LLR is read in from the codeword side, and the probability is passed to obtain the LLR value of the first decoded bit.
  • the LLR value is judged to obtain the decoded result of the first decoded bit.
  • the decoded bits include fixed bits and information bits.
  • the fixed bit position has a decision bit value of 0 regardless of the LLR; the decision bit value of the information bit position can have two types, 0 and 1, so it can be split into two paths.
  • the BP decoding method refers to the butterfly network architecture based on the polarization code. It uses the confidence propagation formula to decode all input LLRs of the polarization code in parallel, and achieves high parallelism decoding through multiple iterations to convergence.
  • the LDPC code is a linear block code, which is determined by a sparse matrix H with m rows and n columns, where H is composed of elements 0 and 1. Since most of the elements in the matrix are 0, except for a few elements, which are 1, Called sparse matrix, sparse matrix H can also be called LDPC code check matrix. H satisfies the following conditions: row weight (number of 1 in each row), column weight (number of 1 in each column) and code length The ratio of is far less than 1; any two rows (columns) have at most one 1 at the same position; the number of any linearly independent columns should be as large as possible.
  • Quasi-cycle (QC)-LDPC codes are a subclass of LDPC codes, and their check matrix H has a cyclic characteristic.
  • the QC-LDPC code check matrix H can usually be expressed as the following array:
  • the sending end needs to use a check matrix to encode the information sequence group to be transmitted, and the receiving end also needs to decode based on the check matrix.
  • the design process of QC-LDPC codes involves three important concepts: circular permutation matrix (CPM), base graph and base matrix.
  • check matrix of QC-LDPC codes There are many ways to construct the check matrix of QC-LDPC codes.
  • One possible way to construct the check matrix of quasi-cyclic LDPC codes is: first construct a base matrix B of size ⁇ c, for example:
  • the fundamental pattern of the QC-LDPC code is a matrix with the same size as the base matrix, and the element is not 0 or 1: "1" means that the shift value of the corresponding position of the base matrix is not equal to -1; "0” means the corresponding position of the base matrix The shift value of is -1.
  • the base model diagram of the base matrix in the above example is:
  • each non-"-1" element in the base matrix B is expanded into a cyclic permutation matrix of size Z ⁇ Z, and the "-1" element is expanded into an all-zero matrix of size Z ⁇ Z.
  • P i ⁇ Z represents a cyclic permutation matrix Z, also referred to as a sub-base matrix circulant matrices, i of P i is referred to as the shift value.
  • P 0 is the unit matrix
  • each cyclic permutation matrix P i is actually obtained by cyclically shifting the unit matrix by i bits to the right.
  • Z a total of P i, i.e. i ⁇ ⁇ 0,1,2, .., Z- 1 ⁇ .
  • the LDPC code check matrix can be defined by the Tanner graph corresponding to the LDPC code check matrix.
  • Tanner graph corresponding to the LDPC code check matrix.
  • an example of an LDPC code check matrix and its corresponding check equation is:
  • the Tanner graph corresponding to the check matrix can be represented as shown in Figure 1f.
  • Each circular node in Figure 1f is a variable node, representing a column in the check matrix H
  • each square node is a check node, representing a check In a row of the matrix H
  • each edge connecting the check node and the variable node in Fig. 1f represents that there is a non-zero element at the intersection of the row and the column corresponding to the two nodes.
  • At least one of a, b, or c (a, kind) can represent: a, b, c, ab, ac, bc, or abc, where a, b, and c can be single or multiple A.
  • FIG. 2 is a schematic diagram of a network architecture to which an embodiment of the application is applicable.
  • the network architecture may include at least one network device 100 (only one is shown) and one or more terminal devices 200 connected to the network device 100.
  • the network device 100 may be a device that can communicate with the terminal device 200.
  • the network device 100 may be any device with a wireless transceiving function. Including but not limited to: base stations (for example, base station NodeB, evolved base station eNodeB, base stations in the fifth generation (5G) communication system, base stations or network equipment in future communication systems, and access nodes in WiFi systems , Wireless relay node, wireless backhaul node), etc.
  • the network device 100 may also be a wireless controller in a cloud radio access network (cloud radio access network, CRAN) scenario.
  • the network device 100 may also be a small station, a transmission reference point (TRP), and so on. Of course, the application is not limited to this.
  • the terminal device 200 is a device with wireless transceiver function that can be deployed on land, including indoor or outdoor, handheld, wearable or vehicle-mounted; it can also be deployed on water (such as ships, etc.); it can also be deployed in the air (such as airplanes, airplanes, etc.). Balloons and satellites are classy).
  • the terminal equipment may be a mobile phone (mobile phone), a tablet computer (Pad), a computer with wireless transceiver function, virtual reality (VR) terminal equipment, augmented reality (AR) terminal equipment, industrial control ( Wireless terminals in industrial control, wireless terminals in self-driving, wireless terminals in remote medical, wireless terminals in smart grid, and transportation safety Wireless terminals, wireless terminals in smart cities, wireless terminals in smart homes, and so on.
  • Terminal equipment can sometimes be referred to as user equipment (UE), access terminal equipment, UE unit, UE station, mobile station, mobile station, remote station, remote terminal equipment, mobile equipment, UE terminal equipment, terminal equipment, Wireless communication equipment, UE agent or UE device, etc.
  • UE user equipment
  • access terminal equipment UE unit
  • UE station mobile station
  • mobile station mobile station
  • remote station remote terminal equipment
  • mobile equipment UE terminal equipment
  • terminal equipment Wireless communication equipment
  • UE agent or UE device etc.
  • network architecture illustrated above can be applied to communication systems of various wireless access technologies, for example, 5G communication systems and other possible communication systems.
  • the sending end device (such as the network device 100) can encode the information bits (such as polarization code encoding or LDPC code encoding); accordingly, the receiving end The device (such as the terminal device 200) can perform decoding (if the transmitting end device uses polarization code encoding, the receiving end device performs polarization code decoding; if the transmitting end device uses LDPC code encoding, the receiving end device performs LDPC code decoding Code) to get information bits.
  • the polarization code encoding and decoding as an example, the polarization code encoding and decoding process involved in the communication process between the transmitting end device and the receiving end device is shown in FIG.
  • step 301 the transmitting end device obtains the encoded input bits Sequence (a bit sequence input for coding), the coding input bit sequence can include information bits and fixed bits.
  • step 302 The sender device performs verification (for example, cyclic redundancy check (CRC)) encoding to obtain a verification codeword.
  • step 303 The sending end device performs an interleaving operation on the check coded codeword.
  • Step 304 The transmitting end device performs polarization code encoding on the check code word after the interleaving operation to obtain a bit sequence output for coding.
  • Step 305 The transmitting end device maps the coded output bit sequence into modulation symbols, and processes and sends the coded output bit sequence through the channel.
  • Step 306 The receiving end device obtains the LLR sequence corresponding to the bit sequence to be decoded, where the LLR sequence includes multiple LLRs.
  • step 307 the receiving end device performs polarization code decoding according to the LLR sequence.
  • step 308 The receiving end device performs a de-interleaving operation on the decoded sequence.
  • Step 309 The receiving end device judges whether the decoding result is successfully decoded through the CRC check.
  • RNTI radio network temporary identity
  • Descrambling, de-rate matching, etc. which are not specifically limited.
  • the network device 100 and the terminal device 200 may transmit control information through a control channel, and may transmit data information through a data channel.
  • the control channel can be a physical downlink control channel (PDCCH).
  • the network device 100 can send to the terminal device 200 through the PDCCH Downlink control information (downlink control information, DCI);
  • the data channel may be a physical downlink shared channel (PDSCH), for example, the network device 100 may send data information to the terminal device 200 through the PDSCH.
  • PDSCH physical downlink shared channel
  • the control channel and the data channel use different encoding methods, for example, the control channel adopts the polar code encoding method, and the data channel adopts the LDPC code encoding method. Therefore, the receiving end device (such as the terminal device 200) responds to the information received by the control channel. The information received from the data channel and the data channel need to be decoded separately. As shown in Fig. 3b, the terminal device 200 inputs the information received from the control channel to the polarization code decoder for decoding to obtain the decoding result 1, and the data The information received by the channel is input to the LDPC code decoder for decoding to obtain the decoding result 2.
  • the hardware overhead is relatively high and the cost is relatively high.
  • the terminal device 200 is used as the transmitting end device and the network device 100 is used as the receiving end device, the same problem exists.
  • the embodiments of the present application provide a decoding method for realizing common mode decoding of the information received by the control channel and the information received by the data channel, thereby effectively reducing hardware overhead.
  • the method deforms the polarization code factor graph corresponding to the bit sequence to be decoded to have a structure similar to the LDPC code check matrix, so that the LDPC code decoder can be used to decode the bit sequence corresponding to the bit sequence.
  • the LLR sequence is decoded.
  • the receiving end device such as the terminal device 200
  • the receiving end device can input the information received from the control channel into the LDPC code decoder for decoding to obtain the decoding result 3, and then based on the decoding result 3.
  • the decoding result 1 (for example, input the decoding result 3 into the polarization code decoder to obtain the decoding result 1), and input the information received from the data channel into the LDPC code decoder for decoding to obtain the decoding Result 2. Since the LDPC code decoder is used to decode the LLR sequence, the structural complexity of the polar code decoder in Fig. 3c can be less than that of the polar code decoder in Fig. 3b, thereby reducing the hardware Overhead.
  • the decoding method provided by the embodiments of the present application may be executed by the receiving end device or a chip set in the receiving end device, where the receiving end device may be the network device 100 shown in FIG. 2, or also It may be the terminal device 200 illustrated in FIG. 2.
  • FIG. 4 is a schematic diagram of a process corresponding to the decoding method provided by an embodiment of the application. The following describes the method executed by the receiving end device as an example. As shown in Fig. 4, the method includes:
  • Step 401 Obtain a log-likelihood ratio LLR sequence corresponding to the bit sequence to be decoded.
  • the LLR sequence may include 2 w LLRs.
  • the bit sequence to be decoded is obtained by encoding a first bit sequence with a polarization code.
  • the first bit sequence is the bit sequence to be encoded as shown in FIG. 3a, and the first bit sequence may include information bits. , Can also include frozen bits.
  • the bit sequence to be decoded may include 2 w bits to be decoded (the bits to be decoded may include information bits to be decoded and frozen bits to be decoded), and 2 w bits to be decoded Each bit to be decoded in corresponds to an LLR.
  • the receiving end device may calculate the LLR corresponding to each bit to be decoded according to the noise variance of the channel.
  • the LLR corresponding to the bit to be decoded can be calculated by the following formula:
  • t represents the bit to be decoded
  • LLR(t) represents the LLR corresponding to the bit to be decoded
  • 0) represents the probability that the bit to be decoded is 0
  • 1) represents the bit to be decoded
  • represents the noise variance of the channel.
  • the LLR sequence is [1.5, 2, -1, -3].
  • 2 w can be understood as the length of the mother code of polarization
  • the receiver device may receive from the transmitting side apparatus 2 w th bits to be decoded ; If the sending end device performs rate matching (such as puncturing and/or shortening) when sending the bit sequence, the receiving end device can receive N'from the sending end device (N' can be less than 2
  • the value of w is not specifically limited) bits to be decoded, and the rate matching is performed according to the N'bits to be decoded to obtain 2 w bits to be decoded.
  • the above 2 w LLRs may include LLRs corresponding to punctured and/or truncated bits.
  • Step 402 Determine the LDPC code check matrix corresponding to the bit sequence to be decoded.
  • the LDPC code check matrix corresponding to the bit sequence to be decoded is the first check matrix described below or the target LDPC code check matrix, where the target LDPC code check matrix is performed on the first check matrix
  • One or more of the following operations row swap, column swap, row merge, column merge, row delete, column delete.
  • the LDPC code check matrix corresponding to the bit sequence to be decoded is taken as the target LDPC code check matrix as an example for description.
  • Step 403 Use an LDPC code decoder to decode the LLR sequence based on the LDPC code check matrix corresponding to the bit sequence to be decoded to obtain a first decoding result.
  • the LDPC code decoder may be an LDPC code hierarchical decoder or other possible LDPC code decoders (may be referred to as an LDPC code non-hierarchical decoder), which is not specifically limited.
  • an LDPC code non-hierarchical decoder can be used; when the LDPC code check matrix corresponding to the bit sequence to be decoded When it is the target LDPC code check matrix, the LDPC code layered decoder can be used.
  • the target LDPC check matrix can be divided into multiple layers according to rows.
  • each layer can be updated in parallel, and the rows in different layers can be updated serially, as shown in Figure 5a.
  • parallel update refers to the check node update and variable node update of all check formulas in the specified range at the same time;
  • serial update refers to the check node of the check formulas in the specified range in the order of the check formulas in the specified range.
  • Update and update of variable nodes Using LDPC code layered decoding method can improve decoding performance and reduce the probability of decoding errors.
  • Step 404 Obtain a decoded bit sequence according to the first decoding result.
  • a polarization code decoder is used to decode the first decoding result to obtain a decoded bit sequence.
  • the first decoding result can be understood as the soft values output by the LDPC code decoder (that is, the LLR sequence decoded by the LDPC decoder), and these soft values are input into the polar code decoder for further decoding. In turn, the decoded bit sequence is obtained.
  • the process of decoding through the LDPC code decoder and the polarization code decoder can be an iterative process, for example, the LLR sequence corresponding to the bit sequence to be decoded is input into the LDPC code decoder, LDPC code decoder Output the decoded result a1; input the decoded result a1 into the polarization code decoder, and the polarization code decoder outputs the decoded result b1; input the decoded result b1 into the LDPC code decoder, and the LDPC code decoder outputs the decoded result Code result a2; input the decoding result a2 into the polarization code decoder, and the polarization code decoder outputs the decoding result b2; and so on, after multiple iterations, the polarization code decoder can output the decoded bits sequence.
  • the number of iterations may be related to the number of LLRs in the LLR sequence corresponding to the bit sequence to be decoded. It can be seen that in communication devices that include both an LDPC code decoder and a polar code decoder (such as network equipment and terminal equipment in a 5G communication system), most of the decoding operations of the polar code can pass LDPC The decoder is implemented, so that the complexity of the polarization code decoder is greatly reduced.
  • the LDPC code decoder can be used to decode the bit sequence corresponding to the bit sequence to be decoded.
  • the LLR sequence is decoded, so that the polarization code decoding and the LDPC code decoding can achieve common mode decoding; further, because the LDPC code decoder is used to decode the LLR sequence to obtain the first decoding result, so , You only need to use the polarization code decoder to decode the first decoding result, that is, most of the decoding operations of the polarization code can be realized by the LDPC decoder, which is compared with the polarization code used in the prior art.
  • the complexity of the polar code decoder required in the embodiment of the present application can be much less than that of the polar code decoder in the prior art , which can effectively reduce hardware overhead.
  • step 402 there may be multiple implementation manners for the receiving end device to determine the target LDPC code check matrix corresponding to the bit sequence to be decoded.
  • multiple polarization code factor graphs can be deformed in advance through the process of determining the target LDPC code check matrix described below to obtain multiple LDPC code check matrices, and store them in In the storage medium accessible to the receiving end device, in step 402, the receiving end device can determine the target LDPC code check matrix from the multiple LDPC code check matrices according to the number of LLRs included in the LLR sequence, and further It is also possible to determine the target LDPC code check matrix according to the number of nodes in the polarization code factor graph corresponding to a variable node in the Tanner graph.
  • the receiving end device may also determine the target LDPC code check matrix according to the number of LLRs included in the LLR sequence through the process of determining the target LDPC code check matrix described below. Censor matrix.
  • the receiving end device can obtain the polarization code factor graph corresponding to the bit sequence to be decoded according to the number of LLRs in the LLR sequence, and then according to the check relationship between different nodes in the polarization code factor graph, Determine the LDPC code Tanner graph, and determine the first check matrix according to the LDPC code Tanner graph, and then obtain the target LDPC code check matrix according to the first check matrix.
  • the process of determining the target LDPC code check matrix includes two parts: (1) determining the first check matrix; (2) obtaining the target LDPC code check matrix according to the first check matrix. The two parts are described separately below.
  • the obtained polarization code factor graph may include w+1 layers, each layer includes 2 w nodes, and thus a total of 2 w (w+1) nodes.
  • the corresponding factor graph includes 5 layers, a total of 80 Nodes.
  • variable nodes in the Tanner graph can be determined according to the nodes in the factor graph.
  • a variable node in the Tanner graph can correspond to 2 p (p is an integer greater than or equal to 0) nodes in the factor graph.
  • p is an integer greater than or equal to 0
  • One variable node in the Tanner graph can correspond to two nodes in the factor graph, that is, every two nodes in the factor graph can be regarded as a variable node in the Tanner graph.
  • a variable node in the Tanner graph can correspond to a node in the factor graph. See the factor graph shown in Figure 1b.
  • the factor graph includes a total of 32 nodes.
  • variable node 0 corresponds to variable node 0 in the Tanner graph
  • node 4 corresponds to variable node 4
  • node 5 corresponds to variable node 5
  • variable node 0 variable node 4
  • variable node 5 can be Connect with the same check node (for example, check node 0).
  • a Tanner graph as shown in Figure 5b can be obtained.
  • the circular node is the variable node in the Tanner graph
  • the square node is the check node in the Tanner graph.
  • the first check matrix (referred to as LDPC code check matrix 1 for ease of description) is obtained according to the above-mentioned base model graph, as shown below:
  • Each row of the LDPC code check matrix 1 obtained above is in the order from top to bottom, corresponding to each square node in the Tanner graph shown in Fig. 5b in the order from right to left and from top to bottom, for example, LDPC code
  • the first row in the check matrix 1 corresponds to the square node at the upper right corner of the Tanner graph (that is, check node 0).
  • Each column of the LDPC code check matrix 1 obtained above is in the order from left to right, corresponding to each circular node in the Tanner graph shown in Figure 5b from right to left and from top to bottom, for example, LDPC code
  • the first column of check matrix 1 corresponds to the circular node at the upper right corner of the Tanner graph (that is, variable node 0).
  • the corresponding Tanner graph includes 2 w (w+1) variable nodes and 2 w *w check nodes
  • the corresponding first check matrix includes 2 w (w+1) columns and 2 w *w rows.
  • each dashed ellipse represents a variable node, and one variable node corresponds to two nodes in the factor graph.
  • Each element in the LDPC code check matrix 2 obtained above represents a 2*2 sub-matrix, where -1 represents a 2*2 all-zero matrix, and 0 represents a 2*2 identity matrix, that is, LDPC
  • the code check matrix 2 has a QC structure and is a QC-LDPC code check matrix.
  • a variable node of the Tanner graph includes a node in the factor graph, so that the complete factor graph can be deformed to obtain the LDPC code check matrix 1; in this case
  • the LDPC code check matrix 1 is not a QC-LDPC code check matrix, that is, the LDPC code check matrix obtained when the complete factor graph is deformed is not a QC-LDPC code check matrix.
  • a variable node of the Tanner graph includes multiple nodes (such as 2) in the factor graph, so that a part of the factor graph is deformed to obtain the LDPC code check matrix 2, which can be seen from Figure 9 In the figure, layer1 to layer4 are deformed, but layer0 is not deformed; in this case, the obtained LDPC code check matrix is a QC-LDPC code check matrix.
  • the above method can be referred to. .
  • each element in the obtained LDPC code check matrix represents a 2*2 sub-matrix
  • each element in the obtained LDPC code check matrix Both represent a 4*4 sub-matrix.
  • each element in the obtained LDPC code check matrix represents an 8*8 sub-matrix.
  • each element in the resulting LDPC code check matrix represents a 2 p *2 The sub-matrix of p.
  • the obtained target LDPC code check matrix can all be QC-LDPC code calibration
  • the test matrix has quasi-circular characteristics.
  • the target LDPC code check matrix can be divided into multiple layers for decoding using an LDPC layered decoder .
  • the first check matrix may be an LDPC code check matrix directly obtained by Tanner obtained by deforming the factor graph, such as the LDPC code check matrix 1 obtained in the above example 1 or the LDPC code check matrix obtained in the above example 2. Test matrix 2.
  • row transformation may be performed on the first check matrix to obtain the second check matrix; column merging and deletion are performed on the second check matrix to obtain the target LDPC code check matrix.
  • serial characteristics of the polarization code decoding method in the decoding process are specifically expressed as: 1In the factor graph, different layers are calculated layer by layer, and the next layer is calculated after the previous layer is calculated; 2 In a factor graph, calculations in the same layer include upper node calculations and lower node calculations. Usually, it is necessary to perform upper node calculations first, and then perform lower node calculations.
  • Figure 5d is an example of a Tanner graph corresponding to a 2*2 polarization code butterfly network unit.
  • C0, C1, C2, and C3 represent variable nodes, and R0 and R1 represent check nodes; among them, the upper node operation is also It can be called F operation, which refers to the calculation of the upper left node in the 2*2 polarization code butterfly network unit, as shown in Figure 5d, the calculation of node C2; the lower node operation can also be called G operation, It refers to the calculation of the node in the lower left corner in the 2*2 polarization code butterfly network unit, as shown in Figure 5d, the calculation of node C3.
  • F operation refers to the calculation of the upper left node in the 2*2 polarization code butterfly network unit, as shown in Figure 5d, the calculation of node C2
  • G operation It refers to the calculation of the node in the lower left corner in the 2*2 polarization code butterfly network unit, as shown in Figure 5d, the calculation of node C3.
  • Condition 1 in the check matrix of the LDPC code
  • condition 2 In a group of check lines at the same level in the corresponding factor graph, arrange the check lines corresponding to the upper node operation before the corresponding lower node check lines.
  • the Tanner graph of the corresponding factor graph is shown in FIG. 5b.
  • the 1st to 8th rows in the LDPC check matrix 2 correspond to the check nodes between layer2 and layer3 in the factor graph; the 9th to 16th rows in the LDPC check matrix 2 correspond to the difference between layer1 and layer2 in the factor graph
  • the check node between layer 0 and layer 1 in the LDPC code check matrix 2 corresponds to the check node between layer 0 and layer 1 in the factor graph.
  • the check lines of the same layer in the corresponding factor graph in the LDPC check matrix 2 are arranged consecutively, and the check lines of different layers in the corresponding factor graph are consecutive from right to left and top to bottom in the factor graph. Permutation, that is, the above condition 1 is satisfied; but because the condition 2 is not satisfied, the LDPC code check matrix 2 can be row-swapped to satisfy the condition 2.
  • the first to fourth rows in the LDPC code check matrix 2 correspond to the upper node operation of the check node between the factor graph layer2 and layer3
  • the fifth to eighth rows in the LDPC code check matrix 2 correspond to the factor graph layer2 and The next node operation of the check node between layer3, this part meets the condition 2, and no row exchange is required.
  • Row 9, 10, 13, and 14 of the LDPC check matrix 2 correspond to the upper node operation of the check node between layer1 and layer2, and rows 11, 12, 15, and 16 of the LDPC check matrix 2 correspond to the factor graph.
  • the lower node operation of the check node between layer1 and layer2 does not meet condition 2. Therefore, the original lines 9, 10, 13, and 14 can be adjusted to lines 9, 10, 11, and 12, and the original lines 11, 12, and 12 can be adjusted.
  • Line 15,16 is adjusted to line 13,14,15,16 to satisfy condition 2.
  • the 17th, 19th, 21st, and 23rd rows in the LDPC check matrix 2 correspond to the upper node operation of the check node between layer0 and layer1, and the 18th, 20th, 22nd and 24th rows in the LDPC check matrix 2 correspond to the factor graph.
  • the lower node operation of the check node between layer0 and layer1 does not meet condition 2. Therefore, the original lines 17, 19, 21, and 23 can be adjusted to lines 17, 18, 19, and 20, and the original lines 18, 20, and 20 can be adjusted. Lines 22 and 24 are adjusted to lines 21, 22, 23, and 24 to satisfy condition 2.
  • the row weight and column weight of the LDPC check matrix are explained: the row weight of the LDPC check matrix indicates the number of non-negative elements in a row in the LDPC check matrix; the column weight of the LDPC check matrix indicates the LDPC check matrix The number of non-negative elements in a column of the matrix. It should be noted that, here is an example in which all 0 elements in the LDPC check matrix are represented by -1, but other representation forms are not excluded.
  • the merging process includes the following steps:
  • Step 1 Add modulo 2 of column b to column a, that is, add modulo 2 between the value of column b and the value of column a, and use the value obtained by modulo 2 addition to update the value of column a; Step 2, delete b Column, or set all elements in column b to -1 to obtain the third check matrix.
  • delete all rows with a row weight equal to 0 and columns with a column weight equal to 0 in the third check matrix that is, delete the 5th row and the 12th column.
  • the two check nodes two columns connected to one of the rows with the row weight equal to 2 are combined as an example for description. If all rows in the second check matrix are resized If the rows equal to 2 are deformed, the target LDPC code check matrix can be obtained, as shown below:
  • the above is based on the modification of all rows of the second check matrix with a weight equal to 2 as an example.
  • the check node is the check node corresponding to the decoded bits in the factor graph. Considering that some decoding algorithms need to use the order of these check nodes, when doing column merging, the last 2 w columns may not participate in the column merging operation.
  • the target LDPC code check matrix obtained in this situation is as follows:
  • the target LDPC code check matrix obtained through the above operations can be adapted to the layered decoding algorithm of the LDPC code, and the check formulas in the same layer in the target LDPC code check matrix can be calculated in parallel without affecting the calculation performance.
  • Example 1 The LLR sequence includes 2 w LLRs, and when w is an integer greater than or equal to 1, the target LDPC code check matrix can be:
  • the target LDPC code check matrix includes a first layer and a second layer, the first layer includes a first row, and the second layer includes a second row.
  • the LLR sequence includes 2 w LLRs, and when w is an integer greater than or equal to 2, the target LDPC code check matrix can be:
  • the target LDPC code check matrix includes a first layer, a second layer, and a third layer.
  • the first layer includes the first row and the second row
  • the second layer includes the third row and the fourth row
  • the third layer includes The fifth and sixth rows.
  • Example 3 The LLR sequence includes 2 w LLRs, and when w is an integer greater than or equal to 3, the target LDPC code check matrix can be:
  • the target LDPC code check matrix includes the first layer, the second layer, the third layer, and the fourth layer.
  • the first layer includes the first row to the fourth row
  • the second layer includes the fifth row to the eighth row.
  • the third layer includes the ninth to twelfth rows
  • the fourth layer includes the thirteenth to sixteenth rows.
  • Example 4 The LLR sequence includes 2 w LLRs, and when w is an integer greater than or equal to 4, the target LDPC code check matrix can be:
  • the target LDPC code check matrix includes the first layer to the fifth layer, the first layer includes the first row to the eighth row, the second layer includes the ninth row to the sixteenth row, and the third layer includes the seventeenth row.
  • the fourth layer includes the twenty-fifth row to the thirty-second row, and the fifth layer includes the thirty-third row to the fortieth row.
  • the target LDPC code check matrix can also be expressed in other forms.
  • the target LDPC code check matrix shown in Example 1 can also be expressed in the form of a table as shown below :
  • the elements marked with values in the check matrix of the target LDPC code are recorded.
  • the first column of the table represents the current row number
  • the second column represents a corresponding column number in the row number
  • the third column Indicates the value of the corresponding element.
  • the above table indicates: in the 0th row, the 0th column, the 1st column, and the 2nd column have values, and their values are 0, 0, 0 respectively; in the 1st row, the first Two columns, column 0 and column 3, have values, and their values are 0,0 respectively.
  • Figure 6 is a logical schematic diagram of the decoding process provided by an embodiment of the application.
  • the decoding process can be implemented by cascading an LDPC code decoder and an SCL decoder, where the SCL decoder It can be an SCL2 (that is, the path width is 2) decoder, as shown in Figure 7.
  • the part in the dashed box in Figure 6 represents the LDPC code decoder that supports the target LDPC code matrix, which includes two parts: the target LDPC code matrix is calculated from the top to the bottom and the bottom is calculated from the bottom to the top.
  • the target LDPC code matrix shown in Example 2 above its specific implementation may include:
  • Step 1 Obtain the LLR sequence.
  • the LLR sequence includes 8 LLRs.
  • Step 2 Input 8 LLRs into the LDPC decoder.
  • the 8 LLRs correspond to the first 4 columns of the matrix in Example 2 from left to right. Perform the minimum sum of the target LDPC check matrix from top to bottom row by row (Min -Sum) or Sum-Product (Sum-Product) decoding until the last line.
  • Step 4 The SCL decoder performs SCL decoding on the two input LLRs to obtain two decoding paths. Each path contains 2 output bits. After the two paths obtained by SCL decoding are saturated according to the decoding results, It is fed back to the LDPC decoder; all subsequent operations include at least 2 paths.
  • Step 5 Perform Min-Sum or Sum-Product decoding on the target LDPC code check matrix from bottom to top row by row until the first row; then perform Min-Sum on the target LDPC code check matrix row by row from top to bottom Or Sum-Product decoding until the last line.
  • Step 6 Output the two LLRs corresponding to the second column among the LLRs corresponding to the last 4 columns of the target LDPC code check matrix, and input them into the SCL decoder.
  • Step 7 The SCL decoder performs SCL decoding on the two LLRs of the two input paths to obtain four new decoding paths. Each path contains 2 output bits. The SCL decoder selects the most reliable 2 among them. After updating their parent paths, the two decoding paths are fed back to the LDPC decoder.
  • Step 8 Perform Min-Sum or Sum-Product decoding on the target LDPC code check matrix from bottom to top row by row until the first row; then perform Min-Sum on the target LDPC code check matrix row by row from top to bottom Or Sum-Product decoding until the last line.
  • Step 9 Output the two LLRs corresponding to the third column among the LLRs corresponding to the last four columns of the target LDPC code check matrix, and input them into the SCL decoder.
  • Step 10 The SCL decoder performs SCL decoding on the two LLRs of the two input paths to obtain four new decoding paths. Each path contains 2 output bits. The SCL decoder selects the most reliable 2 among them. After updating their parent paths, the two decoding paths are fed back to the LDPC decoder.
  • Step 11 Perform Min-Sum or Sum-Product decoding on the target LDPC code check matrix from bottom to top row by row until the first row; then perform Min-Sum on the target LDPC code check matrix row by row from top to bottom Or Sum-Product decoding until the last line.
  • Step 12 Output the two LLRs corresponding to the fourth column among the LLRs corresponding to the last four columns of the target LDPC code check matrix, and input them into the SCL decoder.
  • Step 13 The SCL decoder performs SCL decoding on the two LLRs of the two input paths to obtain four new decoding paths. Each path contains 2 output bits. The SCL decoder selects the most reliable 2 among them. Among them, one decoding path that can pass the CRC check is selected as the decoded bit sequence for output. If both paths pass the CRC check, the more reliable one is selected for output as the decoded bit sequence.
  • the cascaded LDPC code decoder and SCL decoder can be used to achieve decoding, so that polarization code decoding and LDPC can be decoded.
  • Code decoding can be common-mode decoding, which effectively saves hardware overhead.
  • the decoding device may include hardware structures and/or software modules corresponding to each function.
  • the embodiments of the present application can be implemented in the form of hardware or a combination of hardware and computer software. Whether a function is executed by hardware or computer software-driven hardware depends on the specific application and design constraints of the technical solution. Professionals and technicians can use different methods for each specific application to implement the described functions, but such implementation should not be considered beyond the scope of this application.
  • FIG. 8 shows a possible exemplary block diagram of a device involved in an embodiment of the present application, and the device 800 may exist in the form of software.
  • the apparatus 800 may include:
  • the obtaining module 801 obtains the log-likelihood ratio LLR sequence corresponding to the bit sequence to be decoded, the LLR sequence includes 2 w LLRs, and the bit sequence to be decoded is obtained by encoding the first bit sequence with a polarization code ,
  • the first bit sequence includes information bits; w is an integer greater than or equal to 1;
  • the decoding module 802 is configured to determine the low-density parity check LDPC code check matrix corresponding to the bit sequence to be decoded;
  • the LLR sequence is decoded based on the LDPC code check matrix to obtain a first decoding result; and a decoded bit sequence is obtained according to the first decoding result.
  • the decoding module 802 is specifically configured to: use an LDPC code layered decoder to decode the LLR sequence based on the LDPC code check matrix to obtain the first decoding result.
  • the decoding module 802 is specifically configured to decode the first decoding result using a polarization code decoder to obtain the decoded bit sequence.
  • the decoding module 802 is specifically configured to: determine a first check matrix according to the 2 k *(k+1) variable nodes and 2 k *k check nodes; A check matrix performs one or more of the following operations to obtain the LDPC code check matrix: row swap, column swap, row merge, column merge, row delete, column delete.
  • the LDPC code check matrix corresponding to the bit sequence to be decoded is a quasi-cyclic QC-LDPC code check matrix.
  • the determined LDPC code check matrix is:
  • the LDPC code check matrix includes a first layer and a second layer, the first layer includes a first row, and the second layer includes a second row.
  • the w is an integer greater than or equal to 2; the determined LDPC code check matrix is:
  • the LDPC code check matrix includes a first layer, a second layer and a third layer, the first layer includes a first row and a second row, and the second layer includes a third row and a fourth row, The third layer includes a fifth row and a sixth row.
  • w is an integer greater than or equal to 3; the determined LDPC code check matrix is:
  • the LDPC code check matrix includes a first layer, a second layer, a third layer, and a fourth layer, the first layer includes the first row to the fourth row, and the second layer includes the fifth row to the fourth layer. Eight rows, the third layer includes the ninth row to the twelfth row, and the fourth layer includes the thirteenth row to the sixteenth row.
  • w is an integer greater than or equal to 4.
  • the determined LDPC code check matrix is:
  • the LDPC code check matrix includes the first layer to the fifth layer, the first layer includes the first row to the eighth row, the second layer includes the ninth row to the sixteenth row, and the first layer includes the ninth row to the sixteenth row.
  • the third layer includes the seventeenth row to the twenty-fourth row, the fourth layer includes the twenty-fifth row to the thirty-second row, and the fifth layer includes the thirty-third row to the fortieth row.
  • the division of the modules by the decoding device shown in FIG. 8 in the embodiments of the present application is illustrative, and is only a logical function division. In actual implementation, there may be other division methods.
  • the functional units in the various embodiments may be integrated into one processing unit, or may exist alone physically, or two or more units may be integrated into one unit.
  • the above-mentioned integrated unit can be implemented in the form of hardware or software functional unit.
  • an embodiment of the present application also provides a decoding device 900, which is used to execute the decoding method shown in FIG. 4. Part or all of the decoding method shown in FIG. 4 can be implemented by hardware or software.
  • the decoding device 900 includes: an input interface circuit 901 for obtaining a sequence of bits to be decoded Corresponding LLR sequence; logic circuit 902, used to implement the decoding method shown in FIG. 4; output interface circuit 903, used to output the decoded bit sequence.
  • the decoding device 900 may be a chip or an integrated circuit during specific implementation.
  • the decoding device 1000 when part or all of the decoding method shown in FIG. 4 is implemented by software, as shown in FIG. 10, the decoding device 1000 includes: a memory 1001 for storing programs; a processor 1002 for The program stored in the memory 1001 is executed, and when the program is executed, the decoding apparatus 1000 can implement the decoding method shown in FIG. 4.
  • the foregoing memory 1001 may be a physically independent unit, or may be integrated with the processor 1002.
  • the decoding apparatus 1000 may also only include the processor 1002.
  • the memory 1001 for storing programs is located outside the decoding device 1000, and the processor 1002 is connected to the memory 1001 through a circuit/wire for reading and executing the programs stored in the memory 1001.
  • the processor 1002 may be a central processing unit (CPU), a network processor (NP), or a combination of a CPU and an NP.
  • CPU central processing unit
  • NP network processor
  • the processor 1002 may further include a hardware chip.
  • the aforementioned hardware chip may be an application-specific integrated circuit (ASIC), a programmable logic device (PLD), or a combination thereof.
  • ASIC application-specific integrated circuit
  • PLD programmable logic device
  • the above-mentioned PLD may be a complex programmable logic device (CPLD), a field-programmable gate array (FPGA), a generic array logic (GAL) or any combination thereof.
  • CPLD complex programmable logic device
  • FPGA field-programmable gate array
  • GAL generic array logic
  • the memory 1001 may include a volatile memory (volatile memory), such as a random-access memory (random-access memory, RAM); the memory 1001 may also include a non-volatile memory (non-volatile memory), such as a flash memory (flash memory). memory), a hard disk drive (HDD) or a solid-state drive (SSD); the memory 1001 may also include a combination of the foregoing types of memories.
  • volatile memory such as a random-access memory (random-access memory, RAM
  • non-volatile memory such as a flash memory (flash memory).
  • flash memory flash memory
  • HDD hard disk drive
  • SSD solid-state drive
  • the embodiment of the present application also provides a computer storage medium storing a computer program, and the computer program includes a decoding method for executing the decoding method provided in the foregoing method embodiment.
  • the embodiments of the present application also provide a computer program product containing instructions, which when run on a computer, cause the computer to execute the decoding method provided by the foregoing method embodiments.
  • Any decoding device provided in the embodiments of the present application may also be a chip.
  • this application can be provided as methods, systems, or computer program products. Therefore, this application may adopt the form of a complete hardware embodiment, a complete software embodiment, or an embodiment combining software and hardware. Moreover, this application may adopt the form of a computer program product implemented on one or more computer-usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) containing computer-usable program codes.
  • computer-usable storage media including but not limited to disk storage, CD-ROM, optical storage, etc.
  • These computer program instructions can also be stored in a computer-readable memory that can guide a computer or other programmable data processing equipment to work in a specific manner, so that the instructions stored in the computer-readable memory produce an article of manufacture including the instruction device.
  • the device implements the functions specified in one process or multiple processes in the flowchart and/or one block or multiple blocks in the block diagram.
  • These computer program instructions can also be loaded on a computer or other programmable data processing equipment, so that a series of operation steps are executed on the computer or other programmable equipment to produce computer-implemented processing, so as to execute on the computer or other programmable equipment.
  • the instructions provide steps for implementing the functions specified in one process or multiple processes in the flowchart and/or one block or multiple blocks in the block diagram.

Landscapes

  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Error Detection And Correction (AREA)

Abstract

Procédé et appareil de décodage. Le procédé comprend : l'acquisition d'une séquence LLR correspondant à une séquence de bits à décoder (401), la séquence LLR comprenant 2w LLR, la séquence de bits étant obtenue au moyen d'un codage de code polaire sur une première séquence de bits, et w étant un nombre entier supérieur ou égal à 1 ; la détermination d'une matrice de vérification de code LDPC correspondant à la séquence de bits (402) ; sur la base de la matrice de vérification de code LDPC correspondant à la séquence de bits, l'utilisation d'un décodeur de code LDPC pour décoder la séquence LLR de façon à obtenir un premier résultat de décodage (403) ; selon le premier résultat de décodage, l'obtention d'une séquence de bits de décodage (404). En utilisant le procédé décrit, pour une séquence de bits à décoder qui est obtenue au moyen d'un codage de code polaire, l'utilisation d'un décodeur de code LDPD pour décoder une séquence LLR correspondant à la séquence de bits est activée au moyen de la détermination d'une matrice de vérification de code LDPC correspondant à la séquence de bits, ce qui permet un décodage de code polaire et un décodage de code LDPC pour obtenir un décodage de mode commun, et une économie sur des surcharges de matériel.
PCT/CN2020/116852 2019-09-30 2020-09-22 Procédé et appareil de décodage WO2021063217A1 (fr)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201910944426.5A CN112583419B (zh) 2019-09-30 2019-09-30 一种译码方法及装置
CN201910944426.5 2019-09-30

Publications (1)

Publication Number Publication Date
WO2021063217A1 true WO2021063217A1 (fr) 2021-04-08

Family

ID=75116683

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2020/116852 WO2021063217A1 (fr) 2019-09-30 2020-09-22 Procédé et appareil de décodage

Country Status (2)

Country Link
CN (1) CN112583419B (fr)
WO (1) WO2021063217A1 (fr)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116131864A (zh) * 2021-11-15 2023-05-16 深圳市中兴微电子技术有限公司 并行译码方法及装置、存储介质、电子装置
CN114866191B (zh) * 2022-05-12 2024-05-14 华中科技大学 一种适用于cpm调制的极化码编码调制方法及译码方法
WO2024036634A1 (fr) * 2022-08-19 2024-02-22 华为技术有限公司 Procédé et appareil de codage, et procédé et appareil de décodage

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103338047A (zh) * 2008-10-10 2013-10-02 松下电器产业株式会社 解码器、接收装置、解码方法和接收方法
CN104539393A (zh) * 2015-01-07 2015-04-22 北京邮电大学 一种基于极化码的信源编码方法
US20170353194A1 (en) * 2015-11-24 2017-12-07 Texas Instruments Incorporated LDPC Post-Processor Architecture and Method for Low Error Floor Conditions
CN109842417A (zh) * 2017-11-28 2019-06-04 财团法人资讯工业策进会 低密度奇偶检查码解码器及其解码方法
CN109906559A (zh) * 2016-11-02 2019-06-18 高通股份有限公司 流水线高吞吐量分层ldpc解码器架构

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104868925B (zh) * 2014-02-21 2019-01-22 中兴通讯股份有限公司 结构化ldpc码的编码方法、译码方法、编码装置和译码装置
EP3364578B1 (fr) * 2015-11-17 2023-07-26 Huawei Technologies Co., Ltd. Décodage parallèle de codes de type qc-ldpc
CN109995380B (zh) * 2018-01-02 2021-08-13 华为技术有限公司 译码方法及设备

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103338047A (zh) * 2008-10-10 2013-10-02 松下电器产业株式会社 解码器、接收装置、解码方法和接收方法
CN104539393A (zh) * 2015-01-07 2015-04-22 北京邮电大学 一种基于极化码的信源编码方法
US20170353194A1 (en) * 2015-11-24 2017-12-07 Texas Instruments Incorporated LDPC Post-Processor Architecture and Method for Low Error Floor Conditions
CN109906559A (zh) * 2016-11-02 2019-06-18 高通股份有限公司 流水线高吞吐量分层ldpc解码器架构
CN109842417A (zh) * 2017-11-28 2019-06-04 财团法人资讯工业策进会 低密度奇偶检查码解码器及其解码方法

Also Published As

Publication number Publication date
CN112583419B (zh) 2024-06-18
CN112583419A (zh) 2021-03-30

Similar Documents

Publication Publication Date Title
JP7152394B2 (ja) Ldpcコードを符号化および復号化するための方法および装置
WO2021063217A1 (fr) Procédé et appareil de décodage
CN107370490B (zh) 结构化ldpc的编码、译码方法及装置
KR101535225B1 (ko) 디코딩 방법 및 그 방법을 이용하는 메모리 시스템 장치
US11057049B2 (en) Generalized low-density parity check codes in digital communication system
CN100589357C (zh) 基于单位阵及其循环移位阵的ldpc码向量译码装置和方法
KR101895164B1 (ko) 코드 디코딩 에러 정정 방법 및 장치
CN108282259B (zh) 一种编码方法及装置
CN102412842A (zh) 一种低密度奇偶校验码的编码方法及装置
US10848182B2 (en) Iterative decoding with early termination criterion that permits errors in redundancy part
CN107919874A (zh) 用于非二进制ldpc码解码的校验子计算的基本校验节点处理
US20200153457A1 (en) Generalized low-density parity check codes (gldpc)
CN111130563A (zh) 处理信息的方法和装置
CN100544212C (zh) 高速的减少存储需求的低密度校验码解码器
WO2021073338A1 (fr) Procédé de décodage et décodeur
EP3731418A1 (fr) Procédé et dispositif de décodage
WO2018126914A1 (fr) Procédé et dispositif de codage de code de contrôle de parité à faible densité quasi-cyclique, et support de stockage
Shanth et al. Low Complexity Implementation of LDPC Decoder using MIN-Sum Algorithm
WO2023226689A1 (fr) Procédé et appareil de codage, et procédé et appareil de décodage
Kelley Codes over graphs
WO2023226690A1 (fr) Procédé et appareil de codage et de décodage
TWI712269B (zh) 以低密度奇偶校驗碼作為錯誤更正碼的資料解碼及其傳輸方法
CN114421972B (zh) 一种多进制ldpc码译码方法
Yu et al. Decoding of 5G NR Low-Density Parity-Check Codes
Doğan An investigation on belief propagation decoding of polar 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: 20870880

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 20870880

Country of ref document: EP

Kind code of ref document: A1