WO2021063217A1 - Decoding method and apparatus - Google Patents

Decoding method and apparatus 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
French (fr)
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/en

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.

Abstract

A decoding method and apparatus. The method comprises: acquiring an LLR sequence corresponding to a bit sequence to be decoded (401), wherein the LLR sequence comprises 2w LLRs, the bit sequence is obtained by means of performing polar code encoding on a first bit sequence, and w is an integer greater than or equal to 1; determining an LDPC code check matrix corresponding to the bit sequence (402); on the basis of the LDPC code check matrix corresponding to the bit sequence, using an LDPC code decoder to decode the LLR sequence so as to obtain a first decoding result (403); according to the first decoding result, obtaining a decoding bit sequence (404). By using the described method, for a bit sequence to be decoded that is obtained by means of polar code encoding, the use of an LDPD code decoder to decode an LLR sequence corresponding to the bit sequence is enabled by means of determining an LDPC code check matrix corresponding to the bit sequence, thereby enabling polar code decoding and LDPC code decoding to achieve common mode decoding, and saving on hardware overheads.

Description

一种译码方法及装置Decoding method and device
相关申请的交叉引用Cross-references to related applications
本申请要求在2019年09月30日提交中国专利局、申请号为201910944426.5、申请名称为“一种译码方法及装置”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。This application claims the priority of a Chinese patent application filed with the Chinese Patent Office on September 30, 2019, the application number is 201910944426.5, and the application name is "a decoding method and device", the entire content of which is incorporated into this application by reference .
技术领域Technical field
本申请涉及通信技术领域,尤其涉及一种译码方法及装置。This application relates to the field of communication technology, and in particular to a decoding method and device.
背景技术Background technique
无线通信的快速演进预示着未来第五代(5th generation,5G)通信系统将呈现出一些新的特点,最典型的三个通信场景包括增强型移动互联网(enhance mobile broadband,eMBB)、海量机器连接通信(massive machine type communication,mMTC)和高可靠低延迟通信(ultra reliable low latency communication,URLLC),这些通信场景的需求将对现有长期演进(long term evolution,LTE)技术提出新的挑战。信道编码作为最基本的无线接入技术,是满足5G通信需求的重要研究对象之一。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) and high reliability and low latency communication (ultra reliable low latency communication, URLLC), the requirements of these communication scenarios will pose new challenges to existing long term evolution (LTE) technologies. As the most basic wireless access technology, channel coding is one of the important research objects to meet the needs of 5G communication.
极化(Polar)码在5G标准中被选作控制信道编码方式,Polar码是第一种、也是已知的唯一能够被严格证明“达到”信道容量的信道编码方法,在不同码长下,尤其对于有限码,Polar码的性能较优。低密度奇偶校验(low density parity check,LDPC)码在5G标准中被选作数据信道编码方式,LDPC码是一种具有稀疏校验矩阵的线性分组码,不仅具有逼近香农(Shannon)极限的良好性能,而且译码复杂度较低,结构灵活。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.
由于控制信道和数据信道采用不同的编码方式,因此对控制信道接收到的信息和数据信道接收到的信息需要分别译码,从而导致实现较为复杂,且硬件开销较大。Since the 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.
发明内容Summary of the invention
有鉴于此,本申请提供了一种译码方法及装置,用于实现对控制信道接收到的信息和数据信道接收到的信息进行共模译码,有效降低硬件开销。In view of this, 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.
第一方面,本申请实施例提供了一种译码方法,该方法包括:获取待译码比特序列对应的对数似然比LLR序列,所述LLR序列包括2 w个LLR,所述待译码比特序列是通过对第一比特序列进行极化码编码得到的,所述第一比特序列中包括信息比特;w为大于或等于1的整数;确定所述待译码比特序列对应的低密度奇偶校验LDPC码校验矩阵;基于所述LDPC码校验矩阵对所述LLR序列进行译码,得到第一译码结果;根据所述第一译码结果得到译码比特序列。 In the first aspect, 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.
采用上述方法,针对于通过极化码编码得到的待译码比特序列,通过确定待译码比特序列对应的LDPC码校验矩阵,能够使用LDPC码译码器对待译码比特序列对应的LLR序列进行译码,从而使得极化码译码和LDPC码译码可以实现共模译码,节省硬件开销。Using the above method, for the bit sequence to be decoded obtained by polarization code encoding, by determining the LDPC code check matrix corresponding to the bit sequence to be decoded, 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.
在一种可能的设计中,基于所述LDPC码校验矩阵对所述LLR序列进行译码,得到第一译码结果,包括:基于所述LDPC码校验矩阵使用LDPC码分层译码器对所述LLR序 列进行译码,得到所述第一译码结果。In a possible design, 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.
如此,采用LDPC码分层译码方法可改善译码性能,降低译码错误的概率。In this way, the LDPC code layered decoding method can improve the decoding performance and reduce the probability of decoding errors.
在一种可能的设计中,根据所述第一译码结果得到译码比特序列,包括:使用极化码译码器对所述第一译码结果进行译码,得到所述译码比特序列。In a possible design, 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 .
采用上述方法,由于使用LDPC码译码器对LLR序列进行译码得到了第一译码结果,因此,只需使用极化码译码器对第一译码结果进行译码即可,相比于现有技术中使用极化码译码器对待译码比特序列对应的LLR序列进行译码来说,本申请实施例中所需的极化码译码器的复杂度可以远远小于现有技术中极化码译码器的复杂度,从而能够有效降低硬件开销。Using the above method, 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. In the prior art using a polarization code decoder to decode the LLR sequence corresponding to the bit sequence to be decoded, 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.
在一种可能的设计中,确定所述待译码比特序列对应的LDPC码校验矩阵,包括:确定所述待译码比特序列对应的极化码因子图,所述极化码因子图包括2 w*(w+1)个节点;根据所述极化码因子图中不同节点之间的校验关系,确定LDPC码Tanner图,所述Tanner图中包括2 k*(k+1)个变量节点和2 k*k个校验节点,每个所述变量节点对应所述极化码因子图中的2 p个节点,k为大于或等于1的整数,p为大于或等于0的整数,w=p+k;根据所述2 k*(k+1)个变量节点和所述2 k*k个校验节点确定所述待译码比特序列对应的LDPC码校验矩阵。 In a possible design, determining the LDPC code check matrix corresponding to the bit sequence to be decoded includes: determining a polarization code factor graph corresponding to the bit sequence to be decoded, where the polarization code factor graph includes 2 w *(w+1) nodes; determine the LDPC code Tanner graph according to the check relationship between different nodes in the polarization code factor graph, and the Tanner graph includes 2 k *(k+1) Variable nodes and 2 k * k check nodes, each of the variable nodes corresponds to 2 p nodes in the polarization code factor graph, k is an integer greater than or equal to 1, and p is an integer greater than or equal to 0 , W=p+k; the LDPC code check matrix corresponding to the bit sequence to be decoded is determined according to the 2 k *(k+1) variable nodes and the 2 k *k check nodes.
如此,通过分析极化码因子图中不同节点之间的校验关系,从而能够对极化码因子图进行变形得到LDPC码Tanner图,进而得到待译码比特序列对应的LDPC码校验矩阵。In this way, by analyzing the check relationship between different nodes in the polarization code factor graph, 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.
在一种可能的设计中,根据所述2 k*(k+1)个变量节点和2 k*k个校验节点确定所述待译码比特序列对应的LDPC码校验矩阵,包括:根据所述2 k*(k+1)个变量节点和2 k*k个校验节点确定第一校验矩阵;对所述第一校验矩阵执行以下一种或多种操作得到所述LDPC码校验矩阵:行交换、列交换、行合并、列合并、行删除、列删除。 In a possible design, 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.
如此,通过对第一校验矩阵执行上述操作,从而使得得到的LDPC码校验矩阵符合极化码译码方法在译码过程中具有串行特性,以便于使用LDPC码分层译码方法进行译码,改善译码性能。In this way, by performing the above operations on the first check matrix, 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.
在一种可能的设计中,所述待译码比特序列对应的LDPC码校验矩阵为准循环QC-LDPC码校验矩阵。In a possible design, the LDPC code check matrix corresponding to the bit sequence to be decoded is a quasi-cyclic QC-LDPC code check matrix.
在一种可能的设计中,确定出的LDPC码校验矩阵为:In a possible design, the determined LDPC code check matrix is:
Figure PCTCN2020116852-appb-000001
Figure PCTCN2020116852-appb-000001
其中,所述LDPC码校验矩阵包括第一层和第二层,所述第一层包括第一行,所述第二层包括第二行。Wherein, 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.
在一种可能的设计中,所述w为大于或等于2的整数;确定出的LDPC码校验矩阵为:In a possible design, the w is an integer greater than or equal to 2; the determined LDPC code check matrix is:
Figure PCTCN2020116852-appb-000002
Figure PCTCN2020116852-appb-000002
其中,所述LDPC码校验矩阵包括第一层、第二层和第三层,所述第一层包括第一行和第二行,所述第二层包括第三行和第四行,所述第三层包括第五行和第六行。Wherein, 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为大于或等于3的整数;确定出的LDPC码校验矩阵为:In a possible design, w is an integer greater than or equal to 3; the determined LDPC code check matrix is:
Figure PCTCN2020116852-appb-000003
Figure PCTCN2020116852-appb-000003
其中,所述LDPC码校验矩阵包括第一层、第二层、第三层和第四层,所述第一层包括第一行至第四行,所述第二层包括第五行至第八行,所述第三层包括第九行至第十二行,所述第四层包括第十三行至第十六行。Wherein, 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为大于或等于4的整数;确定出的LDPC码校验矩阵为:In a possible design, w is an integer greater than or equal to 4; the determined LDPC code check matrix is:
Figure PCTCN2020116852-appb-000004
Figure PCTCN2020116852-appb-000004
其中,所述LDPC码校验矩阵包括第一层至第五层,所述第一层包括第一行至第八行,所述第二层包括第九行至第十六行,所述第三层包括第十七行至第二十四行,所述第四层包括第二十五行至第三十二行,所述第五层包括第三十三行至第四十行。Wherein, 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.
第二方面,本申请提供一种译码装置,该装置具有实现上述第一方面和第一方面的任一种可能的设计中所述的方法的功能。所述功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。所述硬件或软件包括一个或多个与上述功能相对应的模块或单元。In a second aspect, 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.
在一个可能的设计中,当所述功能的部分或全部通过硬件实现时,所述译码装置包括:输入接口电路,用于获取待译码比特序列对应的LLR序列;逻辑电路,用于执行上述第一方面和第一方面的任一种可能的设计中所述的方法;输出接口电路,用于输出译码比特序列。In a possible design, when part or all of the functions are realized by hardware, the decoding device 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.
可选的,所述译码装置可以是芯片或者集成电路。Optionally, the decoding device may be a chip or an integrated circuit.
在一个可能的设计中,当所述功能的部分或全部通过软件实现时,所述译码装置包括:存储器,用于存储程序;处理器,用于执行所述存储器存储的所述程序,当所述程序被执行时,所述译码装置可以实现如上述第一方面和第一方面的任一种可能的设计中所述的方 法。In a possible design, 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.
可选的,上述存储器可以是物理上独立的单元,也可以与处理器集成在一起。Optionally, the foregoing memory may be a physically independent unit, or may be integrated with the processor.
在一个可能的设计中,当所述功能的部分或全部通过软件实现时,所述译码装置包括处理器。用于存储程序的存储器位于所述译码装置之外,处理器通过电路/电线与存储器连接,用于读取并执行所述存储器中存储的程序。In a possible design, 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.
第三方面,本申请实施例提供一种通信系统,该通信系统包括网络设备和终端设备,所述网络设备、所述终端设备均可以执行如上述第一方面或第一方面的任一种可能的设计所述的方法。In a third aspect, 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.
第四方面,本申请实施例提供一种计算机存储介质,存储有计算机程序,该计算机程序包括用于执行上述第一方面或第一方面的任一种可能的设计所述的方法的指令。In a fourth aspect, 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.
第五方面,提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述第一方面或第一方面的任一种可能的设计所述的方法。In a fifth aspect, a computer program product containing instructions is provided, 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.
附图说明Description of the drawings
图1a为本申请实施例提供的一个极化信道单元的示意图;FIG. 1a is a schematic diagram of a polarization channel unit provided by an embodiment of the application;
图1b为本申请实施例提供的一个极化码因子图(8个LLR)示例;FIG. 1b is an example of a polarization code factor diagram (8 LLRs) provided by an embodiment of the application;
图1c为本申请实施例提供的SC译码计算过程示意图;FIG. 1c is a schematic diagram of the SC decoding calculation process provided by an embodiment of the application;
图1d为本申请实施例提供的SCL译码方法中的译码路径示意图;FIG. 1d is a schematic diagram of a decoding path in the SCL decoding method provided by an embodiment of this application;
图1e为本申请实施例提供的译码计算过程示意图;Figure 1e is a schematic diagram of a decoding calculation process provided by an embodiment of the application;
图1f为本申请实施例提供的一个LDPC码Tanner图示例;Figure 1f is an example of a Tanner graph of an LDPC code provided by an embodiment of the application;
图2为本申请实施例适用的一种网络架构示意图;FIG. 2 is a schematic diagram of a network architecture to which an embodiment of this application is applicable;
图3a为本申请实施例提供的一种极化码编译码过程示意图;FIG. 3a is a schematic diagram of a polarization code encoding and decoding process provided by an embodiment of the application;
图3b为本申请实施例提供的对控制信道接收到的信息和数据信道接收到的信息需要分别译码示意图;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为采用本申请实施例提供的译码方法对控制信道接收到的信息和数据信道接收到的信息进行共模译码示意图;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;
图4为本申请实施例提供的译码方法所对应的流程示意图;FIG. 4 is a schematic flowchart corresponding to the decoding method provided by an embodiment of this application;
图5a为LDPC校验矩阵在迭代过程中多个层的更新示意图;FIG. 5a is a schematic diagram of updating multiple layers of the LDPC check matrix in an iterative process;
图5b为根据图1b所示意的因子图得到的Tanner图;Fig. 5b is a Tanner graph obtained according to the factor graph shown in Fig. 1b;
图5c为本申请实施例提供的一个极化码因子图(16个LLR)示例;FIG. 5c is an example of a polarization code factor diagram (16 LLRs) provided by an embodiment of the application;
图5d为本申请实施例提供的2*2的极化码蝶形网络单元对应的Tanner图示例;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;
图6为本申请实施例提供的译码过程的逻辑示意图;Fig. 6 is a logical schematic diagram of a decoding process provided by an embodiment of the application;
图7为图6中所示意的SCL译码器示意图;Fig. 7 is a schematic diagram of the SCL decoder shown in Fig. 6;
图8为本申请实施例中所涉及的装置的可能的示例性框图;FIG. 8 is a possible exemplary block diagram of a device involved in an embodiment of this application;
图9为本申请实施例提供的一种译码装置的结构示意图;FIG. 9 is a schematic structural diagram of a decoding device provided by an embodiment of this application;
图10为本申请实施例提供的又一种译码装置的结构示意图。FIG. 10 is a schematic structural diagram of another decoding device provided by an embodiment of this application.
具体实施方式Detailed ways
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地 描述。The technical solutions in the embodiments of the present application will be clearly and completely described below in conjunction with the drawings in the embodiments of the present application.
首先对本申请实施例中所涉及的极化码、极化码译码以及LDPC码和LDPC码译码进行介绍。First, the polarization code, polarization code decoding, and LDPC code and LDPC code decoding involved in the embodiments of the present application are introduced.
(1)极化码的编码(1) Encoding of polarization codes
极化码的编码策略利用无噪信道传输用户有用的信息,全噪信道传输约定的信息或者不传信息。极化码是一种线性块码,其生成矩阵为G N,其编码过程为
Figure PCTCN2020116852-appb-000005
Figure PCTCN2020116852-appb-000006
是一个二进制的行矢量,长度为N(即码长);且
Figure PCTCN2020116852-appb-000007
这里
Figure PCTCN2020116852-appb-000008
B N是一个N×N的转置矩阵,例如比特逆序转置矩阵;其中,B N是可选量,生成矩阵G N的运算过程可以省略B N的运算。
Figure PCTCN2020116852-appb-000009
定义为log 2N个矩阵F 2的克罗内克(Kronecker)乘积,
Figure PCTCN2020116852-appb-000010
是编码后的比特(也叫码字),
Figure PCTCN2020116852-appb-000011
与生成矩阵G N相乘后就得到编码后的比特,相乘的过程就是编码的过程。
The coding strategy of the polarization code uses the noise-free channel to transmit useful information for the user, and the all-noise channel transmits the agreed information or does not transmit information. Polarization code is a linear block code, its generator matrix is G N , and its encoding process is
Figure PCTCN2020116852-appb-000005
Figure PCTCN2020116852-appb-000006
Is a binary row vector with length N (ie code length); and
Figure PCTCN2020116852-appb-000007
Here
Figure PCTCN2020116852-appb-000008
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.
Figure PCTCN2020116852-appb-000009
Defined as the Kronecker product of log 2 N matrices F 2,
Figure PCTCN2020116852-appb-000010
Are the encoded bits (also called codewords),
Figure PCTCN2020116852-appb-000011
After multiplying with the generator matrix G N , the encoded bits are obtained, and the multiplication process is the encoding process.
极化码的编码过程中,
Figure PCTCN2020116852-appb-000012
中的一部分比特用来携带信息,称为信息比特集合,这些比特的索引的集合记作
Figure PCTCN2020116852-appb-000013
另外的一部分比特设置为接收端和发送端预先约定的固定值,称之为固定比特集合或冻结比特集合(frozen bits),其索引的集合用
Figure PCTCN2020116852-appb-000014
的补集
Figure PCTCN2020116852-appb-000015
表示。极化码的编码过程相当于:
Figure PCTCN2020116852-appb-000016
这里,
Figure PCTCN2020116852-appb-000017
是G N中由集合
Figure PCTCN2020116852-appb-000018
中的索引对应的那些行得到的子矩阵,
Figure PCTCN2020116852-appb-000019
是G N中由集合
Figure PCTCN2020116852-appb-000020
中的索引对应的那些行得到的子矩阵。
Figure PCTCN2020116852-appb-000021
Figure PCTCN2020116852-appb-000022
中的信息比特集合,数量为K;
Figure PCTCN2020116852-appb-000023
Figure PCTCN2020116852-appb-000024
中的固定比特集合,其数量为(N-K),是已知比特。这些固定比特通常被设置为0,但是只要接收端和发送端预先约定,固定比特可以被任意设置。从而,极化码的编码输出可简化为:
Figure PCTCN2020116852-appb-000025
During the encoding process of the polarization code,
Figure PCTCN2020116852-appb-000012
A part of the bits are used to carry information, which is called a set of information bits.
Figure PCTCN2020116852-appb-000013
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
Figure PCTCN2020116852-appb-000014
Complement
Figure PCTCN2020116852-appb-000015
Said. The encoding process of the polarization code is equivalent to:
Figure PCTCN2020116852-appb-000016
Here,
Figure PCTCN2020116852-appb-000017
Is the set of G N
Figure PCTCN2020116852-appb-000018
The sub-matrix obtained by the rows corresponding to the index in,
Figure PCTCN2020116852-appb-000019
Is the set of G N
Figure PCTCN2020116852-appb-000020
The index corresponding to those rows in the sub-matrix.
Figure PCTCN2020116852-appb-000021
for
Figure PCTCN2020116852-appb-000022
The set of information bits in, the number is K;
Figure PCTCN2020116852-appb-000023
for
Figure PCTCN2020116852-appb-000024
The fixed bit set in, whose number is (NK), is a known bit. These fixed bits are usually set to 0, but as long as the receiving end and the sending end agree in advance, the fixed bits can be set arbitrarily. Therefore, the encoding output of the polarization code can be simplified as:
Figure PCTCN2020116852-appb-000025
(2)极化码的译码(2) Decoding of polarization codes
极化码的译码方法可以有多种,比如串行抵消(successive cancellation,SC)译码方法、串行抵消列表(successive cancellation list,SCL)译码方法、概率传播(belief propagation,BP)译码方法。极化码的各种译码方法都可以基于极化码的蝶形网络(也可以称为因子图(factor graph))进行计算,因子图的结构与极化码的构造结构有关,例如,图1a为一个极化信道单元的示意图,u 1u 2为输入,经编码后的x 1x 2可写作 There are many 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. For example, the graph 1a is a schematic diagram of a polarized channel unit, u 1 u 2 is the input, and the encoded x 1 x 2 can be written as
x 1=u 1+u 2 x 1 = u 1 + u 2
x 2=u 2 x 2 = u 2
其中,“+”表示模2加。Among them, "+" means modulo 2 plus.
经过如上图所示极化单元运算后,得到两个新的信道(W1和W2),其中一个信道的信道容量下降,另一个信道的信道容量提升。因此,只要反复迭代调用该极化单元,理论上就可以使一部分信道的信道容量趋近于1,而另一部分信道的信道容量趋近于0,只要在信道容量趋近于1的信道上放置信息比特,在信道容量趋近于0的信道上放置已知比特(冻结比特),理论上即可实现无差错传输。反复级联后的极化单元网络可以称作蝶形网络或者因子图,如图1b所示,LLR序列中包括2 3=8个LLR,分别为LLR0、LLR1、LLR2、LLR3、LLR4、LLR5、LLR6、LLR7,该因子图中包含3+1=4层(分别为layer0、layer1、layer2、layer3)、每一层中包括2 3个节点,共2 3(3+1)=32个节点(如图中所示的灰色圆点),图中每个交叉的单元表示图1a中所示的一个极化单元。 After the operation of the polarization unit as shown in the figure above, two new channels (W1 and W2) are obtained. 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. As shown in Figure 1b, the LLR sequence includes 2 3 = 8 LLRs, namely LLR0, LLR1, LLR2, LLR3, LLR4, LLR5, LLR6, LLR7, the factor graph contains 3+1=4 layers (respectively layer0, layer1, layer2, layer3), each layer includes 2 3 nodes, a total of 2 3 (3+1)=32 nodes ( The gray circle shown in the figure), each intersecting unit in the figure represents a polarization unit shown in Fig. 1a.
其中,SC译码方法是指根据待译码比特序列对应的LLR序列逐个计算每一个译码比 特的LLR,进行逐比特判决。当译码比特为信息比特时,若译码比特的LLR>0,则该译码比特为0,若译码比特的LLR<0,则该译码比特为1;当译码比特为固定比特时,无论LLR为多少译码结果都置为0。图1c为SC译码计算过程示意图,以译码比特为4个为例,图1c中共有8个计算节点,其中有4个F节点,4个G节点,F节点和G节点分别对应F运算和G运算。F节点的运算需要其右侧2项LLR输入,G节点的运算需要其右侧2项LLR输入以及上一级的输出也作为输入,只有输入项计算完成后,才能计算输出。Among them, 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. When 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. Taking 4 decoding bits as an example, there are 8 calculation nodes in Figure 1c, of which there are 4 F nodes, 4 G nodes, F and G nodes respectively correspond to F operations Calculate with G. The operation of the F node requires the 2 LLR inputs on the right side, and the operation of the G node requires the 2 LLR inputs on the right side and the output of the previous stage as inputs. The output can only be calculated after the input items are calculated.
其中,F运算采用简化运算,F运算公式为:Among them, F operation adopts simplified operation, and the formula of F operation is:
F(a,b)=sign(a)sign(b)min(|a|,|b|);F(a,b)=sign(a)sign(b)min(|a|,|b|);
G运算采用简化运算,G运算公式为:G operation adopts simplified operation, and the formula of G operation is:
Figure PCTCN2020116852-appb-000026
Figure PCTCN2020116852-appb-000026
按照上述计算规则,图1c中从右侧开始,按序计算获得的译码比特依次为①→②→③→④,至此译码完成。According to the above calculation rules, starting from the right in Figure 1c, the decoded bits obtained by sequential calculation are ①→②→③→④, and the decoding is completed.
SCL译码方法是指根据待译码比特序列对应的LLR序列,在译码每个信息比特时,将0和1对应的译码结果都保存作为2个分支译码路径(简称路径分裂),图1d为SCL译码方法中的译码路径示意图,如图1d所示,每一层代表1个译码比特,若译码结果为0,则沿着左子树发展路径,若译码结果为1,则沿着右子树发展路径,当译码路径的总数超过预设的路径宽度L(一般L=2、4、8、16或32)时,选择出路径度量(path metric,PM)值最佳的L条路径保存并继续发展路径以译出后续的译码比特,其中的PM值用于判断路径的好坏,PM值通过LLR计算得出。对于每一级的译码比特,对L条路径的PM值按照从小到大排序,并通过PM值筛选出正确的路径,如此反复,直到译完最后一个比特。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). Figure 1d is a schematic diagram of the decoding path in the SCL decoding method. As shown in Figure 1d, each layer represents 1 decoding bit. If the decoding result is 0, it follows the left subtree development path. If the decoding result If the value is 1, the path is developed along the right subtree. When the total number of decoding paths exceeds the preset path width L (usually L=2, 4, 8, 16 or 32), the path metric (PM) is selected. 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.
下面再结合图1e来介绍一下译码运算,如图1e所示,右侧为LLR输入侧,或者称为码字侧;左侧为信息侧,或者称为译码比特侧。y i为待译码信息,u i为译码比特。从译码开始,层级依次为s=4、s=3、s=2、s=1和s=0。假设待译码信息的长度N=16,若采用SCL译码方法,则在s=4的层级上,待译码信息对应的16个LLR进行F/G运算,得到s=3的层级上的8个LLR。则s=3的层级上的8个LLR继续进行F/G运算,得到s=2的层级上的4个LLR,s=2的层级上的4个LLR继续进行F/G运算,得到s=1的层级上的2个LLR,s=1的层级上的2个LLR继续进行F/G运算,得到s=0的层级上的1个LLR,在s=0的层级上逐比特分裂路径。译码开始时,从码字侧读入LLR,并进行概率传递,得到第一个译码比特的LLR值,对LLR值进行判决,得到第一个译码比特的译码结果,第一个译码比特的判决比特值作为第二个译码比特的输入,进行第二个译码比特的计算,直到计算完s=0层级上的所有译码比特。译码比特中包含固定比特和信息比特,固定比特位置无论LLR为多少判决比特值都为0;信息比特位置的判决比特值可以有0和1两种,因此可以分裂为两个路径。 Next, the decoding operation will be introduced in conjunction with Figure 1e. As shown in 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, and u i is the decoded bit. From the beginning of decoding, the levels are s=4, s=3, s=2, s=1, and s=0 in sequence. Assuming that the length of the information to be decoded is N=16, if the SCL decoding method is adopted, at the level of s=4, the 16 LLRs corresponding to the information to be decoded are subjected to F/G operation, and the information on the level of s=3 is obtained. 8 LLRs. Then the 8 LLRs on the level of s=3 continue to perform F/G operations, and 4 LLRs on the level of s=2 are obtained, and the 4 LLRs on the level of s=2 continue to perform F/G operations, and s= The two LLRs on the level of 1, and the two LLRs on the level of s=1 continue the F/G operation to obtain one LLR on the level of s=0, and the path is split bit by bit on the level of s=0. At the beginning of decoding, 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 decision bit value of the decoded bit is used as the input of the second decoded bit, and the calculation of the second decoded bit is performed until all the decoded bits on the s=0 level are calculated. 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.
BP译码方法是指基于极化码的蝶形网络架构,采用置信度传播公式,对极化码的所有输入LLR并行译码,通过多次迭代至收敛以实现高并行度的译码。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.
(3)LDPC码校验矩阵(3) LDPC code check matrix
LDPC码是一种线性分组码,由m行n列的稀疏矩阵H确定,其中,H由元素0和元素1构成,由于矩阵中除了少数元素为1外,其余大部分元素都是0,所以称之为稀疏矩阵,稀疏矩阵H又可称为LDPC码校验矩阵,H满足以下条件:矩阵的行重(每行1的个 数)、列重(每列1的个数)与码长的比值远小于1;任意两行(列)最多只有一个相同位置上的1;任意线性无关的列数尽量大。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码是LDPC码的一个子类,其校验矩阵H具有循环的特性。QC-LDPC码校验矩阵H通常可以表示为如下阵列: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:
Figure PCTCN2020116852-appb-000027
Figure PCTCN2020116852-appb-000027
其中,每个矩阵A i,j都是大小为Z×Z的循环矩阵。如果将校验矩阵H的行数和列数分别记为M=ρZ和N=cZ的话,待传输的信息序列分组长度则为K=N-M。发送端需要用校验矩阵对待传输的信息序列分组进行编码,而接收端也需要基于校验矩阵进行译码。QC-LDPC码的设计过程涉及三个重要概念:循环置换矩阵(Circular permutation matrix,CPM)、基模图(Base graph)和基矩阵。 Among them, each matrix A i, j is a circulant matrix of size Z×Z. If the number of rows and columns of the check matrix H are denoted as M=ρZ and N=cZ, respectively, the packet length of the information sequence to be transmitted is K=NM. 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.
QC-LDPC码校验矩阵的构造方法有很多种,一种构造准循环LDPC码校验矩阵的可能的方法为:首先构造一个大小为ρ×c的基矩阵B,例如: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:
Figure PCTCN2020116852-appb-000028
Figure PCTCN2020116852-appb-000028
QC-LDPC码的基模图是与基矩阵大小相同的矩阵,元素非0即1的:“1”表示基矩阵相应位置的移位值不等于-1;“0”则表示基矩阵相应位置的移位值为-1。例如,上述例子中基矩阵的基模图为: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. For example, the base model diagram of the base matrix in the above example is:
Figure PCTCN2020116852-appb-000029
Figure PCTCN2020116852-appb-000029
然后,将基矩阵B中的每个非“-1”元素扩展成大小为Z×Z的循环置换矩阵,将“-1”元素则扩展成大小为Z×Z的全零矩阵。假设采用P i表示一个Z×Z的循环置换矩阵,也称为基矩阵的子循环矩阵,i则称为P i的移位值。例如: Then, 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. Assuming 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. E.g:
Figure PCTCN2020116852-appb-000030
Figure PCTCN2020116852-appb-000030
以Z=8为例:Take Z=8 as an example:
Figure PCTCN2020116852-appb-000031
Figure PCTCN2020116852-appb-000031
可以看出,P 0为单位阵,每个循环置换矩阵P i实际上是由单位阵循环右移i位得到。而且,对于一个给定的Z,共有Z个P i,即i∈{0,1,2,..,Z-1}。每个P i(0≤i<Z)用于对基矩阵B中取值为i的元素进行扩展。 It can be seen that P 0 is the unit matrix, and each cyclic permutation matrix P i is actually obtained by cyclically shifting the unit matrix by i bits to the right. Furthermore, for a given Z, Z a total of P i, i.e. i∈ {0,1,2, .., Z- 1}. Each P i (0≤i <Z) for the base matrix B to expand the value of element i.
这样,可以根据不同的码率,截取基矩阵B的不同部分扩展为相应的校验矩阵,其中,最大可以得到一个(ρZ)×(cZ)的检验矩阵;从而可以根据获得的不同检验矩阵,在不同码率下对待传输的信息序列进行编解码。In this way, according to different code rates, different parts of the base matrix B can be intercepted and expanded into the corresponding check matrix. Among them, a check matrix of (ρZ)×(cZ) can be obtained at most; thus, according to the different check matrices obtained, Encode and decode the information sequence to be transmitted under different code rates.
(4)Tanner图(4) Tanner diagram
LDPC码校验矩阵可以由LDPC码校验矩阵对应的Tanner图来定义。比如,LDPC码校验矩阵和其对应校验方程的一个示例为:The LDPC code check matrix can be defined by the Tanner graph corresponding to the LDPC code check matrix. For example, an example of an LDPC code check matrix and its corresponding check equation is:
Figure PCTCN2020116852-appb-000032
Figure PCTCN2020116852-appb-000032
其中,“+”表示模2加。Among them, "+" means modulo 2 plus.
该校验矩阵对应的Tanner图可以表示如图1f所示,图1f中的每个圆形节点为变量节点,代表校验矩阵H中的一列,每个方形节点为校验节点,代表校验矩阵H中的一行,图1f中的每条连接校验节点和变量节点的边代表这两个节点所对应的行与列交汇的位置存在一个非零元素。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, and 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.
(5)本申请实施例中涉及的第一、第二等各种数字编号仅为描述方便进行的区分,并不用来限制本申请实施例的范围,也不表示先后顺序。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。“至少一个”是指一个或者多个。至少两个是指两个或者多个。“至少一个”或其类似表达,是指的这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b或c中的至少一项(个、种),可以表示:a,b,c,a-b,a-c,b-c,或a-b-c,其中a,b,c可以是单个,也可以是多个。(5) The various numerical numbers such as first and second involved in the embodiments of the present application are only for easy distinction for description, and are not used to limit the scope of the embodiments of the present application, and do not indicate a sequence. "And/or" describes the association relationship of the associated objects, indicating that there can be three types of relationships, for example, A and/or B, which can mean: A alone exists, A and B exist at the same time, and B exists alone. "At least one" means one or more. At least two refers to two or more. "At least one" or similar expressions refers to any combination of these items, including any combination of single item (a) or plural items (a). For example, 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.
以及,除非有特别说明,本申请实施例提及“第一”、“第二”等序数词是用于对多个对象进行区分,不用于限定多个对象的顺序、时序、优先级或者重要程度。And, unless otherwise specified, the ordinal numbers such as "first" and "second" mentioned in the embodiments of this application are used to distinguish multiple objects, and are not used to limit the order, timing, priority, or importance of multiple objects. degree.
图2为本申请实施例适用的一种网络架构示意图。该网络架构可以包括至少一个网络设备100(仅示出1个)以及与网络设备100连接的一个或多个终端设备200。Figure 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.
网络设备100可以是能和终端设备200通信的设备。网络设备100可以是任意一种具有无线收发功能的设备。包括但不限于:基站(例如,基站NodeB、演进型基站eNodeB、 第五代(the fifth generation,5G)通信系统中的基站、未来通信系统中的基站或网络设备、WiFi系统中的接入节点、无线中继节点、无线回传节点)等。网络设备100还可以是云无线接入网络(cloud radio access network,CRAN)场景下的无线控制器。网络设备100还可以是小站,传输节点(transmission reference point,TRP)等。当然不申请不限于此。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.
终端设备200是一种具有无线收发功能的设备可以部署在陆地上,包括室内或室外、手持、穿戴或车载;也可以部署在水面上(如轮船等);还可以部署在空中(例如飞机、气球和卫星上等)。所述终端设备可以是手机(mobile phone)、平板电脑(Pad)、带无线收发功能的电脑、虚拟现实(virtual rality,VR)终端设备、增强现实(augmented reality,AR)终端设备、工业控制(industrial control)中的无线终端、无人驾驶(self driving)中的无线终端、远程医疗(remote medical)中的无线终端、智能电网(smart grid)中的无线终端、运输安全(transportation safety)中的无线终端、智慧城市(smart city)中的无线终端、智慧家庭(smart home)中的无线终端等等。本申请的实施例对应用场景不做限定。终端设备有时也可以称为用户设备(user equipment,UE)、接入终端设备、UE单元、UE站、移动站、移动台、远方站、远程终端设备、移动设备、UE终端设备、终端设备、无线通信设备、UE代理或UE装置等。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. The embodiments of this application do not limit the application scenarios. 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.
需要说明的是,上述所示意的网络架构可以适用于各种无线接入技术的通信系统中,例如,5G通信系统以及其它可能的通信系统中。It should be noted that the 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 system architecture and business scenarios described in the embodiments of this application are intended to more clearly illustrate the technical solutions of the embodiments of this application, and do not constitute a limitation on the technical solutions provided in the embodiments of this application. Those of ordinary skill in the art will know that with communication With the evolution of the system architecture and the emergence of new business scenarios, the technical solutions provided in the embodiments of the present application are equally applicable to similar technical problems.
在图2所示意的网络架构中,为对抗信息发送中的干扰,发送端设备(比如网络设备100)可以对信息比特进行编码(比如极化码编码或LDPC码编码);相应地,接收端设备(比如终端设备200)可以进行译码(若发送端设备采用极化码编码,则接收端设备进行极化码译码;若发送端设备采用LDPC码编码,则接收端设备进行LDPC码译码)以得到信息比特。示例性地,以极化码编译码为例,发送端设备和接收端设备通信过程中所涉及的极化码编译码流程如图3a所示,包括:步骤301、发送端设备获取编码输入比特序列(a bit sequence input for coding),编码输入比特序列中可以包括信息比特和固定比特。步骤302、发送端设备进行校验(比如循环冗余校验(cyclic redundancy check,CRC))编码,获得校验编码码字。步骤303、发送端设备对校验编码码字进行交织操作。步骤304、发送端设备对交织操作后的校验编码码字进行极化码编码,得到编码输出比特序列(a bit sequence output for coding)。步骤305,发送端设备将编码输出比特序列映射成调制符号,并通过信道来处理和发送编码输出比特序列。步骤306、接收端设备获取待译码比特序列对应的LLR序列,LLR序列包括多个LLR。步骤与307,接收端设备根据LLR序列进行极化码译码。步骤308、接收端设备对译码后的序列进行解交织操作。步骤309,接收端设备通过CRC校验判断译码结果是否译码成功。需要说明的是,图3a仅是一种简单示例,具体实施中,还可以在图3a的基础上增加其它可能的步骤,比如无线网络临时标识(radio network tempory identity,RNTI)加扰、速率匹配、解扰、解速率匹配等,具体不做限定。In the network architecture shown in Figure 2, in order to combat interference in information transmission, 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. Exemplarily, taking 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. 3a, including: 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. In 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. It should be noted that Figure 3a is only a simple example. In specific implementation, other possible steps can be added to Figure 3a, such as radio network temporary identity (RNTI) scrambling and rate matching. , Descrambling, de-rate matching, etc., which are not specifically limited.
以5G通信系统为例,网络设备100和终端设备200可以通过控制信道传输控制信息,以及可以通过数据信道传输数据信息。下面以网络设备100为发送端设备,终端设备200 为接收端设备为例,控制信道可以为物理下行控制信道(physical downlink control channel,PDCCH),比如,网络设备100可以通过PDCCH向终端设备200发送下行控制信息(downlink control information,DCI);数据信道可以为物理下行共享信道(physical downlink shared channel,PDSCH),比如,网络设备100可以通过PDSCH向终端设备200发送数据信息。Taking a 5G communication system as an example, 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. Taking the network device 100 as the transmitting end device and the terminal device 200 as the receiving end device as an example, the control channel can be a physical downlink control channel (PDCCH). For example, 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.
然而,由于控制信道和数据信道采用不同的编码方式,比如控制信道采用极化码编码方式,数据信道采用LDPC码编码方式,因此,接收端设备(比如终端设备200)对控制信道接收到的信息和数据信道接收到的信息需要分别译码,如图3b所示,终端设备200将从控制信道接收到的信息输入到极化码译码器进行译码得到译码结果1,以及将从数据信道接收到的信息输入到LDPC码译码器进行译码得到译码结果2。由于极化码译码器和LDPC译码器分别对应不同的硬件结构,从而导致硬件开销较大,成本较高。类似地,当终端设备200作为发送端设备,网络设备100作为接收端设备时,也存在同样的问题。However, since 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. Since the polarization code decoder and the LDPC decoder respectively correspond to different hardware structures, the hardware overhead is relatively high and the cost is relatively high. Similarly, when 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.
基于此,本申请实施例提供一种译码方法,用于实现对控制信道接收到的信息和数据信道接收到的信息进行共模译码,有效降低硬件开销。示例性地,该方法通过对待译码比特序列对应的极化码因子图进行变形,使其具有和LDPC码校验矩阵相似的结构,从而可以通过LDPC码译码器对待译码比特序列对应的LLR序列进行译码。采用该方法,如图3c所示,接收端设备(比如终端设备200)可以将从控制信道接收到的信息输入到LDPC码译码器进行译码得到译码结果3,进而基于译码结果3得到译码结果1(比如将译码结果3输入到极化码译码器得到译码结果1),以及可以将从数据信道接收到的信息输入到LDPC码译码器进行译码得到译码结果2。由于使用LDPC码译码器对LLR序列进行了译码,因此,图3c中极化码译码器的结构复杂度可以小于图3b中极化码译码器的结构复杂度,从而能够降低硬件开销。Based on this, 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. Exemplarily, 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. Using this method, as shown in Figure 3c, the receiving end device (such as the terminal device 200) 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. Obtain 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.
需要说明的是,本申请实施例提供的译码方法可以由接收端设备或者设置在接收端设备中的芯片来执行,其中,接收端设备可以为图2中所示意的网络设备100,或者也可以为图2中所示意的终端设备200。It should be noted that 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.
图4为本申请实施例提供的译码方法所对应的流程示意图。下面以该方法由接收端设备来执行为例进行描述,如图4所示,该方法包括: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:
步骤401,获取待译码比特序列对应的对数似然比LLR序列,LLR序列可以包括2 w个LLR。 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.
示例性地,待译码比特序列是通过对第一比特序列进行极化码编码得到的,第一比特序列即为图3a中所示意的待编码比特序列,第一比特序列中可以包括信息比特,还可以包括冻结比特。Exemplarily, 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.
本申请实施例中,待译码比特序列中可以包括2 w个待译码比特(待译码比特可以包括待译码的信息比特和待译码的冻结比特),2 w个待译码比特中的每个待译码比特对应一个LLR。 In the embodiment of this application, 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.
示例性地,接收端设备可以根据信道的噪声方差,计算得到每个待译码比特对应的LLR。在一个示例中,可以通过如下公式计算待译码比特对应的LLR:Exemplarily, the receiving end device may calculate the LLR corresponding to each bit to be decoded according to the noise variance of the channel. In an example, the LLR corresponding to the bit to be decoded can be calculated by the following formula:
Figure PCTCN2020116852-appb-000033
Figure PCTCN2020116852-appb-000033
其中,t表示待译码比特,LLR(t)表示待译码比特对应的LLR,p(t|0)表示待译码比特取值为0的概率,p(t|1)表示待译码比特取值为1的概率,σ表示信道的噪声方差。Among them, t represents the bit to be decoded, LLR(t) represents the LLR corresponding to the bit to be decoded, p(t|0) represents the probability that the bit to be decoded is 0, and p(t|1) represents the bit to be decoded The probability that the bit value is 1, and σ represents the noise variance of the channel.
举个例子,2 w=4,4个待译码比特分别为t 1、t 2、t 3、t 4,4个待译码比特的LLR分别为:LLR(t 1)=1.5、LLR(t 2)=2、LLR(t 3)=-1、LLR(t 3)=-3。如此可得LLR序列为[1.5、2、-1、-3]。 For example, 2 w = 4, the 4 bits to be decoded are t 1 , t 2 , t 3 , t 4 , and the LLRs of the 4 bits to be decoded are: LLR(t 1 )=1.5, LLR( t 2 )=2, LLR(t 3 )=-1, LLR(t 3 )=-3. In this way, the LLR sequence is [1.5, 2, -1, -3].
需要说明的是,2 w也可以理解为极化码母码的长度,若发送端设备在发送比特序列时未进行速率匹配,则接收端设备可以从发送端设备接收2 w个待译码比特;若发送端设备在发送比特序列时进行了速率匹配(比如打孔(puncturing)和/或截短(shortening)),则接收端设备可以从发送端设备接收N’(N’可以为小于2 w的数值,具体不做限定)个待译码比特,并根据N’个待译码比特进行解速率匹配,得到2 w个待译码比特。也就是说,上述2 w个LLR中可以包含被打孔和/或被截短的比特对应的LLR。 Incidentally, 2 w can be understood as the length of the mother code of polarization, if the transmission side apparatus is not performed when the transmission rate matching bit sequence, 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. In other words, the above 2 w LLRs may include LLRs corresponding to punctured and/or truncated bits.
步骤402,确定待译码比特序列对应的LDPC码校验矩阵。Step 402: Determine the LDPC code check matrix corresponding to the bit sequence to be decoded.
此处,待译码比特序列对应的LDPC码校验矩阵为下文所描述的第一校验矩阵或者目标LDPC码校验矩阵,其中,目标LDPC码校验矩阵是通过对第一校验矩阵执行以下一种或多种操作得到的:行交换、列交换、行合并、列合并、行删除、列删除。本申请实施例中,以待译码比特序列对应的LDPC码校验矩阵为目标LDPC码校验矩阵为例进行描述。Here, 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. In the embodiment of the present application, 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.
步骤403,基于待译码比特序列对应的LDPC码校验矩阵使用LDPC码译码器对LLR序列进行译码,得到第一译码结果。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.
示例性地,LDPC码译码器可以为LDPC码分层译码器或者其它可能的LDPC码译码器(可以称为LDPC码非分层译码器),具体不做限定。比如,待译码比特序列对应的LDPC码校验矩阵为下文所描述的第一校验矩阵时,可以采用LDPC码非分层译码器;当待译码比特序列对应的LDPC码校验矩阵为目标LDPC码校验矩阵时,可以采用LDPC码分层译码器。采用LDPC分层译码器可以将目标LDPC校验矩阵按行划分成多个层,每次迭代过程中,每层内的行可以并行更新,不同层内则是串行更新,如图5a所示。其中,并行更新是指对指定范围内所有校验式同时做校验节点更新和变量节点更新;串行更新是指按指定范围内校验式的排列顺序,逐次对校验式做校验节点更新和变量节点更新。采用LDPC码分层译码方法可改善译码性能,降低译码错误的概率。Exemplarily, 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. For example, when the LDPC code check matrix corresponding to the bit sequence to be decoded is the first check matrix described below, 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. Using the LDPC layered decoder, the target LDPC check matrix can be divided into multiple layers according to rows. During each iteration, the rows in each layer can be updated in parallel, and the rows in different layers can be updated serially, as shown in Figure 5a. Show. Among them, 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.
步骤404,根据第一译码结果得到译码比特序列。Step 404: Obtain a decoded bit sequence according to the first decoding result.
示例性地,使用极化码译码器对第一译码结果进行译码,得到译码比特序列。其中,第一译码结果可以理解为LDPC码译码器输出的软值(即经过LDPC译码器译码得到的LLR序列),将这些软值输入极化码译码器做进一步译码,进而得到译码比特序列。Exemplarily, a polarization code decoder is used to decode the first decoding result to obtain a decoded bit sequence. Among them, 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.
进一步地,通过LDPC码译码器和极化码译码器进行译码的过程可以为迭代过程,比如,将待译码比特序列对应的LLR序列输入LDPC码译码器,LDPC码译码器输出译码结果a1;将译码结果a1输入极化码译码器,极化码译码器输出译码结果b1;将译码结果b1输入LDPC码译码器,LDPC码译码器输出译码结果a2;将译码结果a2输入极化码译码器,极化码译码器输出译码结果b2;以此类推,经过多次迭代后,极化码译码器可以输出译码比特序列。其中,迭代次数可以与待译码比特序列对应的LLR序列中的LLR个数有关。由此可知,在同时包含LDPC码译码器和极化码译码器的通信装置(如5G通信系统中的网络设备和终端设备)中,由于极化码的大部分译码操作可通过LDPC译码器实现,从而使得极化码译码器的复杂度大大降低。Further, 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. Wherein, 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.
本申请实施例中,针对于通过极化码编码得到的待译码比特序列,通过确定待译码比特序列对应的LDPC码校验矩阵,能够使用LDPC码译码器对待译码比特序列对应的LLR序列进行译码,从而使得极化码译码和LDPC码译码可以实现共模译码;进一步地,由于使用LDPC码译码器对LLR序列进行译码得到了第一译码结果,因此,只需使用极化码译码器对第一译码结果进行译码即可,即可以通过LDPC译码器实现极化码的大部分译码操作,相比于现有技术中使用极化码译码器对待译码比特序列对应的LLR序列进行译码来说,本申请实施例中所需的极化码译码器的复杂度可以远远小于现有技术中极化码译码器的复杂度,从而能够有效降低硬件开销。In the embodiment of the present application, for the bit sequence to be decoded obtained by polarization code encoding, by determining the LDPC code check matrix corresponding to the bit sequence to be decoded, 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. For the code decoder to decode the LLR sequence corresponding to the bit sequence to be decoded, 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.
示例性地,上述步骤402中,接收端设备确定待译码比特序列对应的目标LDPC码校验矩阵的实现方式可以有多种。比如,在一种可能的实现方式中,可以预先通过下文所描述的确定目标LDPC码校验矩阵的过程对多种极化码因子图进行变形,得到多个LDPC码校验矩阵,并存储在接收端设备可以访问的存储介质中,如此,在步骤402中,接收端设备可以依据LLR序列所包括的LLR的个数从多个LDPC码校验矩阵中确定出目标LDPC码校验矩阵,进一步地,还可以依据Tanner图中的一个变量节点所对应的极化码因子图中的节点的个数来确定目标LDPC码校验矩阵,比如,LLR的个数为16,Tanner图中的一个变量节点所对应的极化码因子图中的节点的个数为2,进而可以确定出目标LDPC码校验矩阵为下文中示例3所示意的目标LDPC码校验矩阵。在又一种可能的实现方式中,在步骤402中,接收端设备也可以依据LLR序列所包括的LLR的个数通过下文所描述的确定目标LDPC码校验矩阵的过程来确定目标LDPC码校验矩阵。Exemplarily, in the foregoing 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. For example, in a possible implementation manner, 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. For example, the number of LLRs is 16, and one variable in the Tanner graph The number of nodes in the polarization code factor graph corresponding to the node is 2, and then it can be determined that the target LDPC code check matrix is the target LDPC code check matrix shown in Example 3 below. In another possible implementation manner, in step 402, 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.
下面对确定目标LDPC码校验矩阵的过程进行详细说明。The process of determining the target LDPC code check matrix will be described in detail below.
本申请实施例中,接收端设备可以根据LLR序列中LLR的个数,得到待译码比特序列对应的极化码因子图,进而根据极化码因子图中不同节点之间的校验关系,确定LDPC码Tanner图,并根据LDPC码Tanner图确定第一校验矩阵,进而根据第一校验矩阵得到目标LDPC码校验矩阵。由此可知,确定目标LDPC码校验矩阵的过程包括两部分内容:(1)确定第一校验矩阵;(2)根据第一校验矩阵得到目标LDPC码校验矩阵。下面对这两部分内容分别进行描述。In the embodiment of the present application, 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. It can be seen that 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.
(1)确定第一校验矩阵(1) Determine the first check matrix
示例性地,当LLR序列包括2 w个LLR时,得到的极化码因子图中可以包含w+1层,每一层包含2 w个节点,进而共有2 w(w+1)个节点。比如LLR序列中LLR的个数为4(此时w=2),则对应的因子图中包括3层,共12个节点;又比如,LLR序列中LLR的个数为8(此时w=3),则对应的因子图中包括4层,共32个节点;又比如,LLR序列中LLR的个数为16(此时w=4),则对应的因子图中包括5层,共80个节点。 Exemplarily, when the LLR sequence includes 2 w LLRs, 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. For example, the number of LLRs in the LLR sequence is 4 (w=2 at this time), the corresponding factor graph includes 3 layers, and a total of 12 nodes; for example, the number of LLRs in the LLR sequence is 8 (w= 3), the corresponding factor graph includes 4 layers, a total of 32 nodes; for example, the number of LLRs in the LLR sequence is 16 (w=4 at this time), then the corresponding factor graph includes 5 layers, a total of 80 Nodes.
根据因子图中的节点可以确定Tanner图中的变量节点,比如Tanner图中的一个变量节点可以对应因子图中的2 p(p为大于或等于0的整数)个节点。当p等于0时,Tanner图中的一个变量节点可以对应因子图中的一个节点,即因子图中的每一个节点可以视为Tanner图中的一个变量节点;当p大于0时(比如p=1),Tanner图中的一个变量节点可以对应因子图中的2个节点,即因子图中的每两个节点可以视为Tanner图中的一个变量节点。 The variable nodes in the Tanner graph can be determined according to the nodes in the factor graph. For example, 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. When p is equal to 0, a variable node in the Tanner graph can correspond to a node in the factor graph, that is, each node in the factor graph can be regarded as a variable node in the Tanner graph; when p is greater than 0 (for example, p = 1) 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.
在该实现方式的一个示例(示例1)中,Tanner图中的一个变量节点可以对应因子图中的一个节点,参见图1b所示意的因子图,该因子图中共包括32个节点,则对应的Tanner 图中包括32个变量节点。该因子图中的不同节点之间具有一定的校验关系,比如x 0+x 4=x 5,进而有x 0+x 4+x 5=0,其中,x 0表示节点0,x 4表示节点4,x 5表示节点5,因此,若节点0对应Tanner图中的变量节点0、节点4对应变量节点4、节点5对应变量节点5时,变量节点0、变量节点4、变量节点5可以与同一校验节点(比如校验节点0)连接。进而基于因子图中不同节点之间的校验关系,可以得到如图5b所示意的Tanner图。图5b中,圆形节点为Tanner图中的变量节点,方形节点为Tanner图中的校验节点,进而将该Tanner图写成基模图的形式,如下所示: In an example of this implementation (Example 1), 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. The Tanner graph includes 32 variable nodes. There is a certain check relationship between different nodes in the factor graph, such as x 0 + x 4 = x 5 , and then x 0 + x 4 + x 5 = 0, where x 0 represents node 0 and x 4 represents Node 4 and x 5 represent node 5. Therefore, if node 0 corresponds to variable node 0 in the Tanner graph, node 4 corresponds to variable node 4, and node 5 corresponds to variable node 5, variable node 0, variable node 4, and variable node 5 can be Connect with the same check node (for example, check node 0). Furthermore, based on the check relationship between different nodes in the factor graph, a Tanner graph as shown in Figure 5b can be obtained. In Figure 5b, the circular node is the variable node in the Tanner graph, and the square node is the check node in the Tanner graph. Then write the Tanner graph in the form of a base model graph, as shown below:
Figure PCTCN2020116852-appb-000034
Figure PCTCN2020116852-appb-000034
进一步地,根据上述基模图得到第一校验矩阵(为便于描述,称为LDPC码校验矩阵1),如下所示:Further, 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:
Figure PCTCN2020116852-appb-000035
Figure PCTCN2020116852-appb-000035
上述所得到的LDPC码校验矩阵1的每一行按照从上到下的顺序,对应图5b所示意的Tanner图中按从右往左从上到下顺序的每一个方形节点,例如,LDPC码校验矩阵1中第一行对应Tanner图中最右上角处的方形节点(即校验节点0)。上述所得到的LDPC码校验矩阵1的每一列按照从左到右的顺序,对应图5b所示意的Tanner图中从右往左从上到下顺序的每一个圆形节点,例如,LDPC码校验矩阵1中第一列对应Tanner图中最右上 角处的圆形节点(即变量节点0)。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).
由此可知,在该示例中,若因子图包括2 w(w+1)个节点,则对应的Tanner图中包括2 w(w+1)个变量节点和2 w*w个校验节点,进而对应的第一校验矩阵中包括2 w(w+1)列,2 w*w行。 It can be seen that, in this example, if the factor graph includes 2 w (w+1) nodes, the corresponding Tanner graph includes 2 w (w+1) variable nodes and 2 w *w check nodes, Furthermore, the corresponding first check matrix includes 2 w (w+1) columns and 2 w *w rows.
在该实现方式的又一个示例(称为示例2)中,Tanner图中的一个变量节点可以对应因子图中的多个节点,以Tanner图中的一个变量节点可以对应因子图中的2个节点(即p=1)为例,参见图5c所示意的因子图,该因子图中共包括80(2 4(4+1)=80,即w=4)个节点,则对应的Tanner图中包括32(2 3(3+1)=32,即k=w-p=3)个变量节点,如图5c中每个虚线椭圆代表一个变量节点,一个变量节点对应因子图中的两个节点。根据32个变量节点之间的校验关系,可以得到与32个变量节点连接的24(2 3*3=24)个校验节点。此种情形下,只对因子图右侧4层做变换,即图中虚线圆圈包含的部分。这对于该因子图的layer1至layer4,若是将其中每相邻两个节点看成一个整体,则需要变形的部分和一个图1b中因子图的连接关系是完全等价的,因此对图5c所示意的因子图的layer1至layer4变形后得到的第一校验矩阵(为便于描述,称为LDPC码校验矩阵2),如下所示: In another example of this implementation (referred to as example 2), one variable node in the Tanner graph can correspond to multiple nodes in the factor graph, and one variable node in the Tanner graph can correspond to 2 nodes in the factor graph (I.e. p = 1) as an example, refer to the factor graph shown in Figure 5c. The factor graph includes 80 (2 4 (4+1) = 80, ie w = 4) nodes, and the corresponding Tanner graph includes 32 (2 3 (3+1)=32, that is, k=wp=3) variable nodes. In Fig. 5c, each dashed ellipse represents a variable node, and one variable node corresponds to two nodes in the factor graph. According to the check relationship between the 32 variable nodes, 24 (2 3 *3=24) check nodes connected to the 32 variable nodes can be obtained. In this case, only the 4 layers on the right side of the factor graph are transformed, that is, the part contained by the dotted circle in the figure. For layer1 to layer4 of the factor graph, if every two adjacent nodes are regarded as a whole, the part that needs to be deformed is completely equivalent to the connection relationship of a factor graph in Figure 1b. The first check matrix obtained after layer1 to layer4 of the schematic factor graph is deformed (for ease of description, it is called LDPC code check matrix 2), as follows:
Figure PCTCN2020116852-appb-000036
Figure PCTCN2020116852-appb-000036
上述所得到的LDPC码校验矩阵2中的每个元素都表示一个2*2的子矩阵,其中-1表示一个2*2的全0矩阵,0表示一个2*2的单位矩阵,即LDPC码校验矩阵2具有QC结构,为QC-LDPC码校验矩阵。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.
针对于上述示例1和示例2可知:上述示例1中,Tanner图的一个变量节点包括因子图中的一个节点,从而能够对完整的因子图进行变形,得到LDPC码校验矩阵1;此种情形下,LDPC码校验矩阵1并非QC-LDPC码校验矩阵,也就是说,当对完整的因子图进行变形时所得到的LDPC码校验矩阵不是QC-LDPC码校验矩阵。示例2中,Tanner图的一个变量节点包括因子图中的多个节点(比如2个),从而对因子图的一部分进行变形得到LDPC码校验矩阵2,从图9中可以看出是对因子图中的layer1至layer4进行变形,而未对layer0进行变形;此种情形下,所得到的LDPC码校验矩阵为QC-LDPC码校验矩阵。Regarding the above example 1 and example 2, it can be seen that in the above example 1, 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 Next, 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. In Example 2, 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.
需要说明的是:上述示例2中,是以Tanner图的一个变量节点包括因子图中的2(p =1)个节点为例进行描述,当p的取值为其它数值时可以参照上述方式执行。其中,当p=1时,所得到的LDPC码校验矩阵中的每个元素都表示一个2*2的子矩阵,当p=2时,所得到的LDPC码校验矩阵中的每个元素都表示一个4*4的子矩阵,当p=3时,所得到的LDPC码校验矩阵中的每个元素都表示一个8*8的子矩阵。也就是说,当Tanner图中的一个变量节点包括因子图中的2 p(p为大于或等于0的整数)个节点时,所得到的LDPC码校验矩阵中的每个元素都表示一个2 p*2 p的子矩阵。示例性地,当Tanner图中的一个变量节点对应极化码因子图中的多个节点(即p大于或等于1)时,所得到的目标LDPC码校验矩阵均可以为QC-LDPC码校验矩阵,即具有准循环特征。 It should be noted that: in the above example 2, a variable node of the Tanner graph includes 2 (p = 1) nodes in the factor graph as an example for description. When the value of p is other values, the above method can be referred to. . Among them, when p=1, each element in the obtained LDPC code check matrix represents a 2*2 sub-matrix, when p=2, each element in the obtained LDPC code check matrix Both represent a 4*4 sub-matrix. When p=3, each element in the obtained LDPC code check matrix represents an 8*8 sub-matrix. In other words, when a variable node in the Tanner graph includes 2 p (p is an integer greater than or equal to 0) nodes in the factor graph, each element in the resulting LDPC code check matrix represents a 2 p *2 The sub-matrix of p. Exemplarily, when a variable node in the Tanner graph corresponds to multiple nodes in the polarization code factor graph (that is, p is greater than or equal to 1), the obtained target LDPC code check matrix can all be QC-LDPC code calibration The test matrix has quasi-circular characteristics.
(2)根据第一校验矩阵得到目标LDPC码校验矩阵(2) Obtain the target LDPC code check matrix according to the first check matrix
示例性地,可以对第一校验矩阵进行以下一种或多种操作:行交换、列交换、行合并、列合并、列删除。比如,通过对第一校验矩阵执行上述一种或多种操作得到目标LDPC码校验矩阵,目标LDPC码校验矩阵可以被划分为多个层,以使用LDPC分层译码器进行译码。其中,第一校验矩阵可以为根据因子图变形得到的Tanner直接得到的LDPC码校验矩阵,比如上述示例1中所得到的LDPC码校验矩阵1或上述示例2中所得到的LDPC码校验矩阵2。Exemplarily, one or more of the following operations may be performed on the first check matrix: row swap, column swap, row merge, column merge, column delete. For example, by performing one or more operations on the first check matrix to obtain the target LDPC code check matrix, the target LDPC code check matrix can be divided into multiple layers for decoding using an LDPC layered decoder . Wherein, 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.
在一个示例中,可以对第一校验矩阵进行行变换,得到第二校验矩阵;对第二校验矩阵进行列合并和删除,得到目标LDPC码校验矩阵。In an example, 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.
下面分别对行变换、列合并和删除分别进行说明。The row transformation, column merging, and deletion are explained separately below.
①行变换① Line transformation
由于极化码译码方法在译码过程中具有串行特性,因此可考虑对第一校验矩阵进行行变换,以满足极化码译码方法的串行特性。Since the polarization code decoding method has serial characteristics in the decoding process, row transformation of the first check matrix can be considered to meet the serial characteristics of the polarization code decoding method.
示例性地,极化码译码方法在译码过程中的串行特征具体表现为:①因子图里,不同层之间逐层进行计算,前一层计算完后再计算后一层;②因子图里,同一层内的计算包含上节点运算和下节点运算两部分,通常需要先进行上节点运算,再进行下节点运算。图5d为2*2的极化码蝶形网络单元对应的Tanner图示例,图5d中的C0、C1、C2、C3代表变量节点,R0和R1代表校验节点;其中,上节点运算,也可以称为F运算,是指在2*2的极化码蝶形网络单元中,计算左上角节点的运算,如图5d中计算节点C2的运算;下节点运算,也可以称为G运算,是指在2*2的极化码码蝶形网络单元中,计算左下角节点的运算,如图5d中计算节点C3的运算。由于因子图里的每一层包含的校验节点都和LDPC码校验矩阵中的行一一对应,为符合上述串行特征,需要满足以下两个条件:条件1,LDPC码校验矩阵中对应因子图中同一层的校验行连续排列,对应因子图中不同层的校验行按因子图中从左到右(或者从右到左)、从上到下的顺序连续排列;条件2,在对应因子图中同一层的一组校验行中,将对应上节点运算的校验行排列在对应下节点校验行之前。根据上述确定第一校验矩阵的过程可知,第一校验矩阵满足条件1,因此可以调整第一校验矩阵中行的顺序(即进行行交换),以满足条件2,进而符合上述串行特征。Exemplarily, the serial characteristics of the polarization code decoding method in the decoding process are specifically expressed as: ①In the factor graph, different layers are calculated layer by layer, and the next layer is calculated after the previous layer is calculated; ② 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. In Figure 5d, 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. Since the check nodes contained in each layer of the factor graph correspond to the rows in the check matrix of the LDPC code, in order to meet the above serial characteristics, the following two conditions need to be met: Condition 1, in the check matrix of the LDPC code The check lines of the same layer in the corresponding factor graph are arranged consecutively, and the check lines of different layers in the corresponding factor graph are arranged continuously from left to right (or from right to left) and top to bottom in the factor graph; 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. According to the above process of determining the first check matrix, it can be seen that the first check matrix satisfies condition 1, so the order of the rows in the first check matrix (that is, row exchange) can be adjusted to satisfy condition 2, and thus meet the above serial characteristics .
在一个示例中,对第一校验矩阵进行行交换可以为:假设第一校验矩阵具有2 w*w行(即为第1行至第2 w*w行),将第2 w*i+1行至第2 w*(i+1)行中对应因子图中上节点运算的行按照从上到下的顺序调整至第2 w*i+1行至第2 w*i+2 w-1行,将第2 w*i+1行至第2 w*(i+1)行中对应因子图中下节点运算的行按照从上到下的顺序调整至第2 w*i+2 w-1+1行至第2 w*(i+1)行,其中,i=1,2,…,w-1。 In an example, the row swapping of the first check matrix may be: assuming that the first check matrix has 2 w *w rows (that is, the first row to the second w *w row), and the second w *i +1 -th to 2 w * (i + 1) row lines corresponding to the factor graph on the second node operation is adjusted to 2 w * i + 1 row to 2 w * i + 2 w in order from top to bottom -1 row, adjust the row corresponding to the lower node operation in the factor graph from the 2nd w *i+1 row to the 2nd w *(i+1) row from top to bottom to the 2nd w *i+2 line w-1 +1 to line 2 w *(i+1), where i=1, 2,...,w-1.
举例来说,以LDPC码校验矩阵2为例,其对应的因子图的Tanner图如图5b所示。其中,LDPC码校验矩阵2中第1至第8行对应因子图中layer2和layer3之间的校验节点;LDPC码校验矩阵2中第9至第16行对应因子图中layer1和layer2之间的校验节点;LDPC码校验矩阵2中第17至第24行对应因子图中layer0和layer1之间的校验节点。由此可知,LDPC码校验矩阵2中对应因子图中同一层的校验行连续排列,对应因子图中不同层的校验行按因子图中从右到左、从上到下的顺序连续排列,即满足上述条件1;但由于不满足条件2,故可以对LDPC码校验矩阵2进行行交换,以满足条件2。For example, taking the LDPC code check matrix 2 as an example, the Tanner graph of the corresponding factor graph is shown in FIG. 5b. Among them, 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. It can be seen that 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.
示例性地,LDPC码校验矩阵2中第1至第4行对应因子图layer2和layer3间校验节点的上节点运算,LDPC码校验矩阵2中第5至第8行对应因子图layer2和layer3间校验节点的下节点运算,该部分满足条件2,不需要做行交换。Exemplarily, 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, and 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.
LDPC码校验矩阵2中第9,10,13,14行对应因子图layer1和layer2间校验节点的上节点运算,LDPC码校验矩阵2中第11,12,15,16行对应因子图layer1和layer2间校验节点的下节点运算,不满足条件2,因此,可以将原先第9,10,13,14行调整至第9,10,11,12行,将原先第11,12,15,16行调整至第13,14,15,16行,从而满足条件2。 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.
LDPC码校验矩阵2中第17,19,21,23行对应因子图layer0和layer1间校验节点的上节点运算,LDPC码校验矩阵2中第18,20,22,24行对应因子图layer0和layer1间校验节点的下节点运算,不满足条件2,因此,可以将原先第17,19,21,23行调整至第17,18,19,20行,将原先第18,20,22,24行调整至第21,22,23,24行,从而满足条件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.
最终,经过上述行变换后,得到满足条件1和条件2的第二校验矩阵,如下所示:Finally, after the above row transformation, the second parity check matrix that satisfies condition 1 and condition 2 is obtained, as shown below:
Figure PCTCN2020116852-appb-000037
Figure PCTCN2020116852-appb-000037
②列合并②Column merge
首先对LDPC校验矩阵的行重和列重进行说明:LDPC校验矩阵的行重,表示LDPC校验矩阵中一行内非负元素的个数;LDPC校验矩阵的列重,表示LDPC校验矩阵中一列内非负元素的个数。需要说明的是,此处是以LDPC校验矩阵中全0元素用-1表示为例,但不排除其他的表示形式。First, 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.
由于LDPC校验矩阵中所有行重等于2的行是将与其相连的变量节点的信息传递给另一个变量节点,因此可以把与行重等于2的行相连的两个校验节点(两列)合并,以减小 LDPC校验矩阵的尺寸,进而减少译码过程中无效的运算。Since all rows of the LDPC check matrix with a row weight equal to 2 pass the information of the variable node connected to it to another variable node, the two check nodes (two columns) connected to the row with the row weight equal to 2 can be connected. Combine to reduce the size of the LDPC check matrix, thereby reducing invalid operations in the decoding process.
假设第二校验矩阵中待合并的两列为a和b,合并过程包括如下步骤:Assuming that the two columns to be merged in the second check matrix are a and b, the merging process includes the following steps:
步骤1,将b列模2加到a列上,即将b列的值与a列的值进行模2加,并使用模2加得到的值对a列的值进行更新;步骤2,删除b列,或者将b列的所有元素置为-1,得到第三校验矩阵。 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.
举个例子,上述第二矩阵中,第5行只有两个元素取值为0,其行重等于2,进而可以把与行重等于2的行相连的两个校验节点(第5列和第12列)合并,即将第5列和第12列做模2加,使用模2加得到的值对第5列的值进行更新,得到如下矩阵:For example, in the above second matrix, only two elements in the 5th row have the value 0, and the row weight is equal to 2, and then the two check nodes connected to the row with the row weight equal to 2 can be connected (the 5th column and The 12th column) is combined, that is, the 5th column and the 12th column are added modulo 2, and the value of the 5th column is updated with the value obtained by the modulo 2 addition, and the following matrix is obtained:
Figure PCTCN2020116852-appb-000038
Figure PCTCN2020116852-appb-000038
进而,将第12列的所有元素置为-1,得到第三校验矩阵,如下所示:Furthermore, all the elements in the 12th column are set to -1 to obtain the third check matrix, as shown below:
Figure PCTCN2020116852-appb-000039
Figure PCTCN2020116852-appb-000039
③删除:行删除和列删除③Delete: row delete and column delete
比如,删除第三校验矩阵中所有行重等于0的行和列重等于0的列,即删除第5行和第12列。For example, 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.
可以理解地,上述描述列合并时,是将与行重等于2的其中一行相连的两个校验节点 (两列)合并为例进行描述的,若是将上述第二校验矩阵中所有行重等于2的行均做变形,则可得到目标LDPC码校验矩阵,如下所示:Understandably, in the above description of column merging, 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:
Figure PCTCN2020116852-appb-000040
Figure PCTCN2020116852-appb-000040
需要说明的是,上述是以将上述第二校验矩阵中所有行重等于2的行均做变形为例,在其它可能的实施例中,由于LDPC码校验矩阵中最后2 w列对应的校验节点为因子图中译码比特对应的校验节点,考虑到有些译码算法需要用到这些校验节点的顺序关系,因此在做列合并时,最后2 w列可不参与列合并操作,此种情形下得到的目标LDPC码校验矩阵,如下所示: It should be noted that the above is based on the modification of all rows of the second check matrix with a weight equal to 2 as an example. In other possible embodiments, since the last 2 w columns in the LDPC code check matrix correspond to 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:
Figure PCTCN2020116852-appb-000041
Figure PCTCN2020116852-appb-000041
经过上述操作所得到的目标LDPC码校验矩阵均可适配LDPC码的分层译码算法,目标LDPC码校验矩阵中同一个层内的校验式可并行计算而不影响计算性能。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.
下面给出几种可能的目标LDPC码校验矩阵的示例。Several possible target LDPC code check matrix examples are given below.
示例1,LLR序列包括2 w个LLR,w为大于或等于1的整数时,目标LDPC码校验矩阵可以为: 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:
Figure PCTCN2020116852-appb-000042
Figure PCTCN2020116852-appb-000042
其中,该目标LDPC码校验矩阵包括第一层和第二层,第一层包括第一行,第二层包括第二行。Wherein, 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.
在示例1中,比如,当LLR序列包括2个LLR,Tanner图中的一个变量节点对应极化码因子图中的一个节点时,可得到上述所示的目标LDPC码校验矩阵;又比如,当LLR序列包括2 w=4个LLR,Tanner图中的一个变量节点对应极化码因子图中的2个节点时,可得到上述所示的目标LDPC码校验矩阵;又比如,当LLR序列包括2 w=8个LLR,Tanner图中的一个变量节点对应极化码因子图中的4个节点时,可得到上述所示的目标LDPC码校验矩阵。 In Example 1, for example, when the LLR sequence includes 2 LLRs, and a variable node in the Tanner graph corresponds to a node in the polarization code factor graph, the target LDPC code check matrix shown above can be obtained; for another example, When the LLR sequence includes 2 w = 4 LLRs, and a variable node in the Tanner graph corresponds to 2 nodes in the polarization code factor graph, the target LDPC code check matrix shown above can be obtained; for another example, when the LLR sequence When 2 w = 8 LLRs are included, and a variable node in the Tanner graph corresponds to 4 nodes in the polarization code factor graph, the target LDPC code check matrix shown above can be obtained.
示例2,LLR序列包括2 w个LLR,w为大于或等于2的整数时,目标LDPC码校验矩阵可以为: Example 2: 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:
Figure PCTCN2020116852-appb-000043
Figure PCTCN2020116852-appb-000043
其中,该目标LDPC码校验矩阵包括第一层、第二层和第三层,第一层包括第一行和第二行,第二层包括第三行和第四行,第三层包括第五行和第六行。Wherein, 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, and the third layer includes The fifth and sixth rows.
在示例2中,比如,当LLR序列包括2 w=4个LLR,Tanner图中的一个变量节点对应极化码因子图中的一个节点时,可得到上述所示的目标LDPC码校验矩阵;又比如,当LLR序列包括2 w=8个LLR,Tanner图中的一个变量节点对应极化码因子图中的2个节点时,可得到上述所示的目标LDPC码校验矩阵;又比如,当LLR序列包括2 w=16个LLR,Tanner图中的一个变量节点对应极化码因子图中的4个节点时,可得到上述所示的目标LDPC码校验矩阵。 In Example 2, for example, when the LLR sequence includes 2 w = 4 LLRs, and a variable node in the Tanner graph corresponds to a node in the polarization code factor graph, the target LDPC code check matrix shown above can be obtained; For another example, when the LLR sequence includes 2 w = 8 LLRs, and a variable node in the Tanner graph corresponds to 2 nodes in the polarization code factor graph, the target LDPC code check matrix shown above can be obtained; for another example, When the LLR sequence includes 2 w = 16 LLRs, and a variable node in the Tanner graph corresponds to 4 nodes in the polarization code factor graph, the target LDPC code check matrix shown above can be obtained.
示例3,LLR序列包括2 w个LLR,w为大于或等于3的整数时,目标LDPC码校验矩阵可以为: 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:
Figure PCTCN2020116852-appb-000044
Figure PCTCN2020116852-appb-000044
其中,该目标LDPC码校验矩阵包括第一层、第二层、第三层和第四层,第一层包括第一行至第四行,第二层包括第五行至第八行,第三层包括第九行至第十二行,第四层包括第十三行至第十六行。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, and the second layer includes the fifth row to the eighth row. The third layer includes the ninth to twelfth rows, and the fourth layer includes the thirteenth to sixteenth rows.
在示例3中,比如,当LLR序列包括2 w=8个LLR,Tanner图中的一个变量节点对应极化码因子图中的一个节点时,可得到上述所示的目标LDPC码校验矩阵;又比如,当LLR序列包括2 w=16个LLR,Tanner图中的一个变量节点对应极化码因子图中的2个节点时,可得到上述所示的目标LDPC码校验矩阵;又比如,当LLR序列包括2 w=32个LLR,Tanner图中的一个变量节点对应极化码因子图中的4个节点时,可得到上述所示的目标LDPC码校验矩阵。 In Example 3, for example, when the LLR sequence includes 2 w = 8 LLRs, and a variable node in the Tanner graph corresponds to a node in the polarization code factor graph, the target LDPC code check matrix shown above can be obtained; For another example, when the LLR sequence includes 2 w = 16 LLRs, and a variable node in the Tanner graph corresponds to 2 nodes in the polarization code factor graph, the target LDPC code check matrix shown above can be obtained; another example, When the LLR sequence includes 2 w = 32 LLRs, and a variable node in the Tanner graph corresponds to 4 nodes in the polarization code factor graph, the target LDPC code check matrix shown above can be obtained.
示例4,LLR序列包括2 w个LLR,w为大于或等于4的整数时,目标LDPC码校验矩阵可以为: 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:
Figure PCTCN2020116852-appb-000045
Figure PCTCN2020116852-appb-000045
其中,目标LDPC码校验矩阵包括第一层至第五层,第一层包括第一行至第八行,第二层包括第九行至第十六行,第三层包括第十七行至第二十四行,第四层包括第二十五行至第三十二行,第五层包括第三十三行至第四十行。Among them, 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. 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.
在示例4中,比如,当LLR序列包括2 w=16个LLR,Tanner图中的一个变量节点对应极化码因子图中的一个节点时,可得到上述所示的目标LDPC码校验矩阵;又比如,当LLR序列包括2 w=32个LLR,Tanner图中的一个变量节点对应极化码因子图中的2个节点时,可得到上述所示的目标LDPC码校验矩阵;又比如,当LLR序列包括2 w=64个LLR,Tanner图中的一个变量节点对应极化码因子图中的4个节点时,可得到上述所示的目标LDPC码校验矩阵。 In Example 4, for example, when the LLR sequence includes 2 w = 16 LLRs, and a variable node in the Tanner graph corresponds to a node in the polarization code factor graph, the target LDPC code check matrix shown above can be obtained; For another example, when the LLR sequence includes 2 w = 32 LLRs, and a variable node in the Tanner graph corresponds to 2 nodes in the polarization code factor graph, the target LDPC code check matrix shown above can be obtained; another example, When the LLR sequence includes 2 w =64 LLRs, and one variable node in the Tanner graph corresponds to 4 nodes in the polarization code factor graph, the target LDPC code check matrix shown above can be obtained.
需要说明的是,在其它可能的实施例中,目标LDPC码校验矩阵也可以表示为其它形式,比如,示例1中所示意的目标LDPC码校验矩阵也可以表示为如下所示的表格形式:It should be noted that in other possible embodiments, the target LDPC code check matrix can also be expressed in other forms. For example, the target LDPC code check matrix shown in Example 1 can also be expressed in the form of a table as shown below :
Figure PCTCN2020116852-appb-000046
Figure PCTCN2020116852-appb-000046
上述表格中,记录了目标LDPC码校验矩阵中标记了值的元素,其中,表格第一列表示当前的行号,第二列表示所述行号中对应的某个列号,第三列表示对应元素的值,比如上述表格表示:第0行中,第0列、第1列、第2列等三列有值,它们的值分别为0,0,0;第1行中,第0列、第3列等两列有值,它们的值分别为0,0。In the above table, 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, and the third column Indicates the value of the corresponding element. For example, 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.
基于上述步骤401至步骤404,下面结合图6描述一种译码过程示例。Based on the above steps 401 to 404, an example of the decoding process will be described below with reference to FIG. 6.
图6为本申请实施例提供的译码过程的逻辑示意图,如图6所示,该译码过程可以通过一个LDPC码译码器与一个SCL译码器级联实现,其中,SCL译码器可以为SCL2(即路径宽度为2)译码器,如图7所示。图6中虚线框中部分表示支持目标LDPC码矩阵的LDPC码译码器,其包含了目标LDPC码矩阵从上向下分层计算和从下往上分层计算两部分,以目标LDPC码矩阵为上述示例2中所示出的目标LDPC码矩阵为例,其具体实现可以包括:Figure 6 is a logical schematic diagram of the decoding process provided by an embodiment of the application. As shown in Figure 6, 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. Taking the target LDPC code matrix shown in Example 2 above as an example, its specific implementation may include:
步骤1,获取LLR序列,LLR序列中包括8个LLR。 Step 1. Obtain the LLR sequence. The LLR sequence includes 8 LLRs.
步骤2,将8个LLR输入LDPC译码器,8个LLR分别对应示例2中矩阵从左往右数 的前4列,对目标LDPC码校验矩阵从上往下逐行进行最小和(Min-Sum)或者和积(Sum-Product)译码,直到最后一行。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.
步骤3,将目标LDPC码校验矩阵最后4列对应的LLR(这里的LLR是指步骤2中译码得到的LLR)中,第一列对应的两个LLR输出,并将它们输入SCL译码器(L=2)中。Step 3: Output the two LLRs corresponding to the first column of the LLRs corresponding to the last 4 columns of the target LDPC code check matrix (here LLRs refer to the LLRs decoded in step 2), and input them to the SCL decoding器(L=2).
步骤4,SCL译码器对输入的两个LLR进行SCL译码,得到两条译码路径,每条路径包含2个输出比特,将SCL译码得到的两条路径按译码结果饱和后,反馈给LDPC译码器;后续所有运算均至少包含2条路径。 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.
步骤5,对目标LDPC码校验矩阵从下往上逐行进行Min-Sum或者Sum-Product译码,直到第一行;再对目标LDPC码校验矩阵从上往下逐行进行Min-Sum或者Sum-Product译码,直到最后一行。 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.
步骤6,将目标LDPC码校验矩阵最后4列对应的LLR中,第二列对应的两个LLR输出,并将它们输入SCL译码器中。 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.
步骤7,SCL译码器对输入的两条路径的两个LLR进行SCL译码,得到新的四条译码路径,每条路径包含2个输出比特,SCL译码器在其中选择最可靠的2条译码路径,更新它们的父路径后,将译码得到的两条路径反馈给LDPC译码器。 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.
步骤8,对目标LDPC码校验矩阵从下往上逐行进行Min-Sum或者Sum-Product译码,直到第一行;再对目标LDPC码校验矩阵从上往下逐行进行Min-Sum或者Sum-Product译码,直到最后一行。 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.
步骤9,将目标LDPC码校验矩阵最后4列对应的LLR中,第三列对应的两个LLR输出,并将它们输入SCL译码器中。 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.
步骤10,SCL译码器对输入的两条路径的两个LLR进行SCL译码,得到新的四条译码路径,每条路径包含2个输出比特,SCL译码器在其中选择最可靠的2条译码路径,更新它们的父路径后,将译码得到的两条路径反馈给LDPC译码器。 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.
步骤11,对目标LDPC码校验矩阵从下往上逐行进行Min-Sum或者Sum-Product译码,直到第一行;再对目标LDPC码校验矩阵从上往下逐行进行Min-Sum或者Sum-Product译码,直到最后一行。 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.
步骤12,将目标LDPC码校验矩阵最后4列对应的LLR中,第四列对应的两个LLR输出,并将它们输入SCL译码器中。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.
步骤13,SCL译码器对输入的两条路径的两个LLR进行SCL译码,得到新的四条译码路径,每条路径包含2个输出比特,SCL译码器在其中选择最可靠的2条译码路径,再在其中选择可以通过CRC校验的一条译码路径作为译码比特序列输出,如果两条路径都通过了CRC校验,则选择更可靠的一条作为译码比特序列输出。 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.
根据图6所描述的译码过程可以看出,通过确定目标LDPC码校验矩阵,从而可以使用级联的LDPC码译码器和SCL译码器实现译码,使得极化码译码和LDPC码译码可以共模译码,有效节省硬件开销。According to the decoding process described in Figure 6, it can be seen that by determining the target LDPC code check matrix, 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.
可以理解的是,为了实现上述功能,译码装置可以包括执行各个功能相应的硬件结构和/或软件模块。本领域技术人员应该很容易意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,本申请的实施例能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定 应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。It can be understood that, in order to realize the above-mentioned functions, the decoding device may include hardware structures and/or software modules corresponding to each function. Those skilled in the art should easily realize that in combination with the units and algorithm steps of the examples described in the embodiments disclosed herein, 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.
在采用集成的单元(模块)的情况下,图8示出了本申请实施例中所涉及的装置的可能的示例性框图,该装置800可以以软件的形式存在。装置800可以包括:In the case of an integrated unit (module), 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:
获取模块801,获取待译码比特序列对应的对数似然比LLR序列,所述LLR序列包括2 w个LLR,所述待译码比特序列是通过对第一比特序列进行极化码编码得到的,所述第一比特序列中包括信息比特;w为大于或等于1的整数;译码模块802,用于确定所述待译码比特序列对应的低密度奇偶校验LDPC码校验矩阵;基于所述LDPC码校验矩阵对所述LLR序列进行译码,得到第一译码结果;根据所述第一译码结果得到译码比特序列。 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.
在一种可能的设计中,译码模块802具体用于:基于所述LDPC码校验矩阵使用LDPC码分层译码器对所述LLR序列进行译码,得到所述第一译码结果。In a possible design, 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.
在一种可能的设计中,译码模块802具体用于:使用极化码译码器对所述第一译码结果进行译码,得到所述译码比特序列。In a possible design, the decoding module 802 is specifically configured to decode the first decoding result using a polarization code decoder to obtain the decoded bit sequence.
在一种可能的设计中,译码模块802具体用于:确定所述待译码比特序列对应的极化码因子图,所述极化码因子图包括2 w*(w+1)个节点;根据所述极化码因子图中不同节点之间的校验关系,确定LDPC码Tanner图,所述Tanner图中包括2 k*(k+1)个变量节点和2 k*k个校验节点,每个所述变量节点对应所述极化码因子图中的2 p个节点,k为大于或等于1的整数,p为大于或等于0的整数,w=p+k;根据所述2 k*(k+1)个变量节点和所述2 k*k个校验节点确定所述待译码比特序列对应的LDPC码校验矩阵。 In a possible design, the decoding module 802 is specifically configured to: determine a polarization code factor graph corresponding to the bit sequence to be decoded, and the polarization code factor graph includes 2 w *(w+1) nodes ; According to the check relationship between different nodes in the polarization code factor graph, determine the LDPC code Tanner graph, the Tanner graph includes 2 k * (k + 1) variable nodes and 2 k * k check Nodes, each of the variable nodes corresponds to 2 p nodes in the polarization code factor graph, k is an integer greater than or equal to 1, p is an integer greater than or equal to 0, w=p+k; The 2 k *(k+1) variable nodes and the 2 k *k check nodes determine the LDPC code check matrix corresponding to the bit sequence to be decoded.
在一种可能的设计中,译码模块802具体用于:根据所述2 k*(k+1)个变量节点和2 k*k个校验节点确定第一校验矩阵;对所述第一校验矩阵执行以下一种或多种操作得到所述LDPC码校验矩阵:行交换、列交换、行合并、列合并、行删除、列删除。 In a possible design, 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.
在一种可能的设计中,所述待译码比特序列对应的LDPC码校验矩阵为准循环QC-LDPC码校验矩阵。In a possible design, the LDPC code check matrix corresponding to the bit sequence to be decoded is a quasi-cyclic QC-LDPC code check matrix.
在一种可能的设计中,确定出的LDPC码校验矩阵为:In a possible design, the determined LDPC code check matrix is:
Figure PCTCN2020116852-appb-000047
Figure PCTCN2020116852-appb-000047
其中,所述LDPC码校验矩阵包括第一层和第二层,所述第一层包括第一行,所述第二层包括第二行。Wherein, 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.
在一种可能的设计中,所述w为大于或等于2的整数;确定出的LDPC码校验矩阵为:In a possible design, the w is an integer greater than or equal to 2; the determined LDPC code check matrix is:
Figure PCTCN2020116852-appb-000048
Figure PCTCN2020116852-appb-000048
其中,所述LDPC码校验矩阵包括第一层、第二层和第三层,所述第一层包括第一行和第二行,所述第二层包括第三行和第四行,所述第三层包括第五行和第六行。Wherein, 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为大于或等于3的整数;确定出的LDPC码校验矩阵为:In a possible design, w is an integer greater than or equal to 3; the determined LDPC code check matrix is:
Figure PCTCN2020116852-appb-000049
Figure PCTCN2020116852-appb-000049
其中,所述LDPC码校验矩阵包括第一层、第二层、第三层和第四层,所述第一层包括第一行至第四行,所述第二层包括第五行至第八行,所述第三层包括第九行至第十二行,所述第四层包括第十三行至第十六行。Wherein, 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为大于或等于4的整数;确定出的LDPC码校验矩阵为:In a possible design, w is an integer greater than or equal to 4; the determined LDPC code check matrix is:
Figure PCTCN2020116852-appb-000050
Figure PCTCN2020116852-appb-000050
其中,所述LDPC码校验矩阵包括第一层至第五层,所述第一层包括第一行至第八行,所述第二层包括第九行至第十六行,所述第三层包括第十七行至第二十四行,所述第四层包括第二十五行至第三十二行,所述第五层包括第三十三行至第四十行。Wherein, 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.
需要说明的是,本申请实施例中图8所示的译码装置对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。It should be noted that 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. In addition, in the present application 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.
如图9所示,本申请实施例中还提供一种译码装置900,该译码装置900用于执行图4所示的译码方法。图4所示的译码方法中的部分或全部可以通过硬件来实现也可以通过软件来实现,当通过硬件实现时,译码装置900包括:输入接口电路901,用于获取待译码比特序列对应的LLR序列;逻辑电路902,用于执行图4所示的译码方法;输出接口电路903,用于输出译码比特序列。As shown in FIG. 9, 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. When implemented by hardware, 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.
可选的,译码装置900在具体实现时可以是芯片或者集成电路。Optionally, the decoding device 900 may be a chip or an integrated circuit during specific implementation.
可选的,当图4所示的译码方法中的部分或全部通过软件来实现时,如图10所示,译码装置1000包括:存储器1001,用于存储程序;处理器1002,用于执行存储器1001存储的程序,当程序被执行时,使得译码装置1000可以实现图4所示的译码方法。Optionally, 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.
可选的,上述存储器1001可以是物理上独立的单元,也可以与处理器1002集成在一起。Optionally, the foregoing memory 1001 may be a physically independent unit, or may be integrated with the processor 1002.
可选的,当图4所示的译码方法中的部分或全部通过软件实现时,译码装置1000也可以只包括处理器1002。用于存储程序的存储器1001位于译码装置1000之外,处理器1002通过电路/电线与存储器1001连接,用于读取并执行存储器1001中存储的程序。Optionally, when part or all of the decoding method shown in FIG. 4 is implemented by software, 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.
处理器1002可以是中央处理器(central processing unit,CPU),网络处理器(network processor,NP)或者CPU和NP的组合。The processor 1002 may be a central processing unit (CPU), a network processor (NP), or a combination of a CPU and an NP.
处理器1002还可以进一步包括硬件芯片。上述硬件芯片可以是专用集成电路(application-specific integrated circuit,ASIC),可编程逻辑器件(programmable logic device,PLD)或其组合。上述PLD可以是复杂可编程逻辑器件(complex programmable logic device,CPLD),现场可编程逻辑门阵列(field-programmable gate array,FPGA),通用阵列逻辑(generic array logic,GAL)或其任意组合。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. 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.
存储器1001可以包括易失性存储器(volatile memory),例如随机存取存储器(random-access memory,RAM);存储器1001也可以包括非易失性存储器(non-volatile memory),例如快闪存储器(flash memory),硬盘(hard disk drive,HDD)或固态硬盘(solid-state drive,SSD);存储器1001还可以包括上述种类的存储器的组合。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.
本申请实施例还提供一种计算机存储介质,存储有计算机程序,该计算机程序包括用于执行上述方法实施例提供的译码方法。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.
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。Those skilled in the art should understand that the embodiments of the present 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.
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。This application is described with reference to flowcharts and/or block diagrams of methods, devices (systems), and computer program products according to embodiments of this application. It should be understood that each process and/or block in the flowchart and/or block diagram, and the combination of processes and/or blocks in the flowchart and/or block diagram can be implemented by computer program instructions. These computer program instructions can be provided to the processor of a general-purpose computer, a special-purpose computer, an embedded processor, or other programmable data processing equipment to generate a machine, so that the instructions executed by the processor of the computer or other programmable data processing equipment are generated It is a device that realizes 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 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.
尽管已描述了本申请的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。Although the preferred embodiments of the present application have been described, those skilled in the art can make additional changes and modifications to these embodiments once they learn the basic creative concept. Therefore, the appended claims are intended to be interpreted as including the preferred embodiments and all changes and modifications falling within the scope of the present application.
显然,本领域的技术人员可以对本申请实施例进行各种改动和变型而不脱离本申请实施例的精神和范围。这样,倘若本申请实施例的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。Obviously, those skilled in the art can make various changes and modifications to the embodiments of the present application without departing from the spirit and scope of the embodiments of the present application. In this way, if these modifications and variations of the embodiments of the present application fall within the scope of the claims of the present application and their equivalent technologies, the present application is also intended to include these modifications and variations.

Claims (17)

  1. 一种译码方法,其特征在于,所述方法包括:A decoding method, characterized in that the method includes:
    获取待译码比特序列对应的对数似然比LLR序列,所述LLR序列包括2 w个LLR,所述待译码比特序列是通过对第一比特序列进行极化码编码得到的,所述第一比特序列中包括信息比特;w为大于或等于1的整数; Obtain a 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 The first bit sequence includes information bits; w is an integer greater than or equal to 1;
    确定所述待译码比特序列对应的低密度奇偶校验LDPC码校验矩阵;Determining a low-density parity-check LDPC code check matrix corresponding to the bit sequence to be decoded;
    基于所述LDPC码校验矩阵对所述LLR序列进行译码,得到第一译码结果;Decoding 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.
  2. 根据权利要求1所述的方法,其特征在于,基于所述LDPC码校验矩阵对所述LLR序列进行译码,得到第一译码结果,包括:The method according to claim 1, wherein decoding the LLR sequence based on the LDPC code check matrix to obtain a first decoding result comprises:
    基于所述LDPC码校验矩阵使用LDPC码分层译码器对所述LLR序列进行译码,得到所述第一译码结果。Using an LDPC code layered decoder to decode the LLR sequence based on the LDPC code check matrix to obtain the first decoding result.
  3. 根据权利要求1或2所述的方法,其特征在于,根据所述第一译码结果得到译码比特序列,包括:The method according to claim 1 or 2, wherein obtaining a decoded bit sequence according to the first decoding result comprises:
    使用极化码译码器对所述第一译码结果进行译码,得到所述译码比特序列。A polarization code decoder is used to decode the first decoding result to obtain the decoded bit sequence.
  4. 根据权利要求1至3中任一项所述的方法,其特征在于,确定所述待译码比特序列对应的LDPC码校验矩阵,包括:The method according to any one of claims 1 to 3, wherein determining the LDPC code check matrix corresponding to the bit sequence to be decoded comprises:
    确定所述待译码比特序列对应的极化码因子图,所述极化码因子图包括2 w*(w+1)个节点; Determining a polarization code factor graph corresponding to the bit sequence to be decoded, where the polarization code factor graph includes 2 w *(w+1) nodes;
    根据所述极化码因子图中不同节点之间的校验关系,确定Tanner图中的2 k*(k+1)个变量节点和2 k*k个校验节点,每个所述变量节点对应所述极化码因子图中的2 p个节点,k为大于或等于1的整数,p为大于或等于0的整数,w=p+k; According to the check relationship between different nodes in the polarization code factor graph, 2 k *(k+1) variable nodes and 2 k *k check nodes in the Tanner graph are determined, and each of the variable nodes is Corresponding to the 2 p nodes in the polarization code factor graph, k is an integer greater than or equal to 1, p is an integer greater than or equal to 0, w=p+k;
    根据所述2 k*(k+1)个变量节点和所述2 k*k个校验节点确定所述待译码比特序列对应的LDPC码校验矩阵。 The LDPC code check matrix corresponding to the bit sequence to be decoded is determined according to the 2 k *(k+1) variable nodes and the 2 k *k check nodes.
  5. 根据权利要求4所述的方法,其特征在于,根据所述2 k*(k+1)个变量节点和2 k*k个校验节点确定所述待译码比特序列对应的LDPC码校验矩阵,包括: The method according to claim 4, wherein the LDPC code check corresponding to the bit sequence to be decoded is determined according to the 2 k *(k+1) variable nodes and 2 k *k check nodes The matrix includes:
    根据所述2 k*(k+1)个变量节点和2 k*k个校验节点确定第一校验矩阵; Determine the first check matrix according to the 2 k *(k+1) variable nodes and 2 k *k check nodes;
    对所述第一校验矩阵执行以下一种或多种操作得到所述LDPC码校验矩阵:行交换、列交换、行合并、列合并、行删除、列删除。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.
  6. 根据权利要求1至5中任一项所述的方法,其特征在于,所述待译码比特序列对应的LDPC码校验矩阵为准循环QC-LDPC码校验矩阵。The method according to any one of claims 1 to 5, wherein the LDPC code check matrix corresponding to the bit sequence to be decoded is a quasi-cyclic QC-LDPC code check matrix.
  7. 根据权利要求1至6中任一项所述的方法,其特征在于,确定出的LDPC码校验矩阵为:The method according to any one of claims 1 to 6, wherein the determined LDPC code check matrix is:
    Figure PCTCN2020116852-appb-100001
    Figure PCTCN2020116852-appb-100001
    其中,所述LDPC码校验矩阵包括第一层和第二层,所述第一层包括第一行,所述第二层包括第二行。Wherein, 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.
  8. 根据权利要求1至6中任一项所述的方法,其特征在于,所述w为大于或等于2的整数;The method according to any one of claims 1 to 6, wherein the w is an integer greater than or equal to 2;
    确定出的LDPC码校验矩阵为:The determined LDPC code check matrix is:
    Figure PCTCN2020116852-appb-100002
    Figure PCTCN2020116852-appb-100002
    其中,所述LDPC码校验矩阵包括第一层、第二层和第三层,所述第一层包括第一行和第二行,所述第二层包括第三行和第四行,所述第三层包括第五行和第六行。Wherein, 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.
  9. 根据权利要求1至6中任一项所述的方法,其特征在于,w为大于或等于3的整数;The method according to any one of claims 1 to 6, wherein w is an integer greater than or equal to 3;
    确定出的LDPC码校验矩阵为:The determined LDPC code check matrix is:
    Figure PCTCN2020116852-appb-100003
    Figure PCTCN2020116852-appb-100003
    其中,所述LDPC码校验矩阵包括第一层、第二层、第三层和第四层,所述第一层包括第一行至第四行,所述第二层包括第五行至第八行,所述第三层包括第九行至第十二行,所述第四层包括第十三行至第十六行。Wherein, 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.
  10. 根据权利要求1至6中任一项所述的方法,其特征在于,w为大于或等于4的整数;The method according to any one of claims 1 to 6, wherein w is an integer greater than or equal to 4;
    确定出的LDPC码校验矩阵为:The determined LDPC code check matrix is:
    Figure PCTCN2020116852-appb-100004
    Figure PCTCN2020116852-appb-100004
    其中,所述LDPC码校验矩阵包括第一层至第五层,所述第一层包括第一行至第八行,所述第二层包括第九行至第十六行,所述第三层包括第十七行至第二十四行,所述第四层 包括第二十五行至第三十二行,所述第五层包括第三十三行至第四十行。Wherein, 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.
  11. 一种译码装置,其特征在于,所述译码装置包括:A decoding device, characterized in that the decoding device comprises:
    存储器,用于存储程序;Memory, used to store programs;
    处理器,用于执行所述存储器存储的所述程序,当所述程序被执行时,所述处理器用于执行如权利要求1~10任一项所述的方法。The processor is configured to execute the program stored in the memory, and when the program is executed, the processor is configured to execute the method according to any one of claims 1-10.
  12. 根据权利要求11所述的装置,其特征在于,所述译码装置为芯片或集成电路。The device according to claim 11, wherein the decoding device is a chip or an integrated circuit.
  13. 一种译码装置,其特征在于,包括:A decoding device, characterized in that it comprises:
    输入接口电路,用于获取待译码比特序列对应的LLR序列;Input interface circuit for obtaining the LLR sequence corresponding to the bit sequence to be decoded;
    逻辑电路,用于基于获取的LLR序列执行所述权利要求1~10任一项所述的方法;A logic circuit, configured to execute the method according to any one of claims 1 to 10 based on the acquired LLR sequence;
    输出接口电路,用于输出译码比特序列。The output interface circuit is used to output the decoded bit sequence.
  14. 一种芯片,其特征在于,包括:A chip, characterized in that it comprises:
    存储器,用于存储程序;Memory, used to store programs;
    处理器,用于执行所述存储器存储的所述程序,当所述程序被执行时,所述处理器用于执行如权利要求1~10任一项所述的方法。The processor is configured to execute the program stored in the memory, and when the program is executed, the processor is configured to execute the method according to any one of claims 1-10.
  15. 一种芯片,其特征在于,包括:A chip, characterized in that it comprises:
    输入接口电路,用于获取待译码比特序列对应的LLR序列;Input interface circuit for obtaining the LLR sequence corresponding to the bit sequence to be decoded;
    逻辑电路,用于基于获取的LLR序列执行所述权利要求1~10任一项所述的方法;A logic circuit, configured to execute the method according to any one of claims 1 to 10 based on the acquired LLR sequence;
    输出接口电路,用于输出译码比特序列。The output interface circuit is used to output the decoded bit sequence.
  16. 一种计算机可读存储介质,其特征在于,所述计算机存储介质中存储有计算机可读指令,当计算机读取并执行所述计算机可读指令时,使得计算机执行如权利要求1~10任意一项所述的方法。A computer-readable storage medium, wherein computer-readable instructions are stored in the computer storage medium, and when the computer reads and executes the computer-readable instructions, the computer executes any one of claims 1 to 10 The method described in the item.
  17. 一种计算机程序产品,其特征在于,当计算机读取并执行所述计算机程序产品时,使得计算机执行如权利要求1~10任意一项所述的方法。A computer program product, characterized in that when a computer reads and executes the computer program product, the computer is caused to execute the method according to any one of claims 1-10.
PCT/CN2020/116852 2019-09-30 2020-09-22 Decoding method and apparatus WO2021063217A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201910944426.5 2019-09-30
CN201910944426.5A CN112583419A (en) 2019-09-30 2019-09-30 Decoding method and device

Publications (1)

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

Family

ID=75116683

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2020/116852 WO2021063217A1 (en) 2019-09-30 2020-09-22 Decoding method and apparatus

Country Status (2)

Country Link
CN (1) CN112583419A (en)
WO (1) WO2021063217A1 (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116131864A (en) * 2021-11-15 2023-05-16 深圳市中兴微电子技术有限公司 Parallel decoding method and device, storage medium and electronic device
CN114866191A (en) * 2022-05-12 2022-08-05 华中科技大学 Polar code coding modulation method and decoding method suitable for CPM modulation
WO2024036634A1 (en) * 2022-08-19 2024-02-22 华为技术有限公司 Encoding method and apparatus, and decoding method and apparatus

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103338047A (en) * 2008-10-10 2013-10-02 松下电器产业株式会社 Encoder, transmission device, and encoding method
CN104539393A (en) * 2015-01-07 2015-04-22 北京邮电大学 Source coding method based on polar codes
US20170353194A1 (en) * 2015-11-24 2017-12-07 Texas Instruments Incorporated LDPC Post-Processor Architecture and Method for Low Error Floor Conditions
CN109842417A (en) * 2017-11-28 2019-06-04 财团法人资讯工业策进会 Low-density parity check code decoder and its coding/decoding method
CN109906559A (en) * 2016-11-02 2019-06-18 高通股份有限公司 Assembly line high-throughput layered LDPC decoder framework

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104868925B (en) * 2014-02-21 2019-01-22 中兴通讯股份有限公司 Coding method, interpretation method, code device and the code translator of structured LDPC code
WO2017084024A1 (en) * 2015-11-17 2017-05-26 华为技术有限公司 Decoding method and decoder for low-density parity check code
CN109995380B (en) * 2018-01-02 2021-08-13 华为技术有限公司 Decoding method and apparatus

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103338047A (en) * 2008-10-10 2013-10-02 松下电器产业株式会社 Encoder, transmission device, and encoding method
CN104539393A (en) * 2015-01-07 2015-04-22 北京邮电大学 Source coding method based on polar codes
US20170353194A1 (en) * 2015-11-24 2017-12-07 Texas Instruments Incorporated LDPC Post-Processor Architecture and Method for Low Error Floor Conditions
CN109906559A (en) * 2016-11-02 2019-06-18 高通股份有限公司 Assembly line high-throughput layered LDPC decoder framework
CN109842417A (en) * 2017-11-28 2019-06-04 财团法人资讯工业策进会 Low-density parity check code decoder and its coding/decoding method

Also Published As

Publication number Publication date
CN112583419A (en) 2021-03-30

Similar Documents

Publication Publication Date Title
JP7152394B2 (en) Method and Apparatus for Encoding and Decoding LDPC Codes
WO2021063217A1 (en) Decoding method and apparatus
US10320419B2 (en) Encoding method, decoding method, encoding device and decoding device for structured LDPC
KR101535225B1 (en) Decoding method and memory system device for using the method
CN107370490B (en) Method and device for encoding and decoding structured LDPC (Low Density parity check)
US11057049B2 (en) Generalized low-density parity check codes in digital communication system
KR101895164B1 (en) Methods and devices for error correcting codes decoding
CN108282259B (en) Coding method and device
US10848182B2 (en) Iterative decoding with early termination criterion that permits errors in redundancy part
CN107919874A (en) Basic code check node processing for the decoded syndrome computation of nonbinary LDPC code
WO2020077596A1 (en) Decoding method and apparatus for ldpc codes
US20200153457A1 (en) Generalized low-density parity check codes (gldpc)
CN100544212C (en) The loe-density parity-check code decoder of minimizing storage demand at a high speed
US20090049357A1 (en) Decoding Method for Quasi-Cyclic Low-Density Parity-Check Codes and Decoder for The Same
CN111130563A (en) Method and device for processing information
WO2021073338A1 (en) Decoding method and decoder
EP3731418A1 (en) Decoding method and device
WO2018126914A1 (en) Method and device for coding of quasi-cyclic low-density parity-check code, and storage medium
WO2023226689A1 (en) Encoding method and apparatus, and decoding method and apparatus
Kelley Codes over graphs
WO2023226690A1 (en) Coding and decoding method and apparatus
TWI712269B (en) Data decoding method using ldpc code as error correction code and data transmitting method thereof
CN114421972B (en) Decoding method of multi-system LDPC code
Doğan An investigation on belief propagation decoding of polar codes
Xu et al. Low-Density Parity Check (LDPC) 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