WO2020077596A1 - Ldpc码的译码方法和装置 - Google Patents

Ldpc码的译码方法和装置 Download PDF

Info

Publication number
WO2020077596A1
WO2020077596A1 PCT/CN2018/110860 CN2018110860W WO2020077596A1 WO 2020077596 A1 WO2020077596 A1 WO 2020077596A1 CN 2018110860 W CN2018110860 W CN 2018110860W WO 2020077596 A1 WO2020077596 A1 WO 2020077596A1
Authority
WO
WIPO (PCT)
Prior art keywords
check
node
decoding
variable node
iteration
Prior art date
Application number
PCT/CN2018/110860
Other languages
English (en)
French (fr)
Inventor
唐成君
郑晨
马亮
魏岳军
Original Assignee
华为技术有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 华为技术有限公司 filed Critical 华为技术有限公司
Priority to PCT/CN2018/110860 priority Critical patent/WO2020077596A1/zh
Priority to CN201880092688.7A priority patent/CN112005499B/zh
Publication of WO2020077596A1 publication Critical patent/WO2020077596A1/zh

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

Definitions

  • Embodiments of the present invention relate to the field of decoding, and in particular, to an LDPC code decoding method and device.
  • Low-density parity-check (LDPC) code is a linear block code with a sparse check matrix proposed by Gallager, that is, only a few elements in the check matrix are "1", large Some elements are "0".
  • the decoding complexity is only linearly related to the code length, and the decoding process will not be too complicated when the code length is long. Studies have shown that the LDPC code has a coding performance approaching Shannon's limit.
  • LDPC code officially as a fifth-generation communication systems (5 th generation mobile communication system, 5G )
  • 5G fifth-generation communication systems
  • the main purpose of the present application is to provide an LDPC code decoding method and device, which are used to solve the problem of poor decoding performance of LDPC codes.
  • the present application discloses a method for decoding an LDPC code, including: receiving a soft value sequence; wherein the soft value sequence carries information of the information bit sequence; iteratively decoding the soft value sequence using a check matrix to obtain Information bit sequence;
  • i is the serial number of the check node
  • j is the serial number of the variable node
  • k is an integer greater than or equal to 1
  • Q ji [k] is the first message sent by the variable node j to the check node i during the kth iteration
  • Q ji [k-1] is the first message sent by variable node j to check node i during k-1 iterations
  • Q ' ji [k] is based on the joint normalized offset minimum and the CNOMS algorithm.
  • Q ji [k-1] is stored in advance.
  • Q ji [k-1] and Q 'ji [k] obtained by summing weighted Q ji [k] comprises:
  • this application provides a LDPC decoding method, including:
  • Q ji [k-1] is the first message sent by variable node j to check node i during the k-1 iteration, Q 'ji [k]
  • iterative decoding also includes:
  • is the normalized correction factor
  • is the offset value correction factor
  • sgn is the sign bit operation
  • max is the maximum value operation
  • the iterative process also includes: calculating Q ' ji [k] according to the following formula:
  • ⁇ ' is the normalization correction factor
  • ⁇ ' is the offset value correction factor
  • ⁇ ' ⁇ 1, ⁇ '> 0 min is the minimum operation
  • max is the maximum operation
  • V (i) ⁇ j Represents the remaining variable nodes except the variable node j connected to the check node i
  • ⁇ j is the jth soft value in the soft value sequence
  • C (j) ⁇ i represents the check node i connected to the variable node j A collection of check nodes other than the rest.
  • a hierarchical decoding algorithm is used for iterative decoding.
  • the method of layered decoding can improve the convergence speed of iterative decoding.
  • an embodiment of the present invention provides an LDPC code decoding device (referred to as device), which is used for the functions of the methods in the first aspect above.
  • the function can be realized by hardware, and can also be realized by hardware executing corresponding software.
  • the hardware or software includes one or more modules corresponding to the above functions.
  • the device may be a terminal device or a network device.
  • the structure of the device includes a processor and a transmitter.
  • the processor is configured to iteratively decode the soft value sequence using a check matrix to obtain an information bit sequence;
  • i is the serial number of the check node
  • j is the serial number of the variable node
  • k is an integer greater than or equal to 1
  • Q ji [k] is the first message sent by the variable node j to the check node i during the kth iteration
  • Q ji [k-1] is the first message sent by variable node j to check node i during k-1 iterations
  • Q ' ji [k] is based on the joint normalized offset minimum and the CNOMS algorithm.
  • the transmitter is used to receive a soft value sequence; wherein the soft value sequence carries information of the information bit sequence.
  • the device may also include a memory for coupling with the processor, which stores necessary program instructions and data.
  • an embodiment of the present invention provides an LDPC code decoding device, which has a function of implementing each method in the second aspect described above.
  • the function can be realized by hardware, and can also be realized by hardware executing corresponding software.
  • the hardware or software includes one or more modules corresponding to the above functions.
  • the module may be software and / or hardware.
  • the device may be a terminal device or a network device.
  • the structure of the device includes a receiver and a processor.
  • the receiver is configured to receive a soft value sequence; wherein the soft value sequence carries information of the information bit sequence.
  • the processor is configured to iteratively decode the soft value sequence according to the check matrix to obtain the information bit sequence;
  • Q ji [k-1] is the first message sent by variable node j to check node i during the k-1 iteration, Q 'ji [k]
  • the present application provides a computer storage medium, including instructions that when run on a computer, cause the computer to perform the method described in any one of the various possible implementation manners of the first aspect to the first aspect.
  • Yet another aspect of the present application provides a computer program product containing instructions, which when run on a computer, causes the computer to perform the method as described in any one of each possible implementation manner of the first aspect to the first aspect.
  • the present application provides a computer storage medium, including instructions that, when run on a computer, cause the computer to perform the method described in any one of the possible embodiments of the second aspect to the second aspect.
  • a computer program product containing instructions, when run on a computer, causes the computer to perform the method as described in any one of the possible embodiments of the second aspect to the second aspect.
  • FIG. 1 is a network architecture diagram of an embodiment of the present invention
  • FIG. 2 is a schematic diagram of a check matrix of an LDPC code provided by an embodiment of the present invention
  • FIG. 3 is a schematic diagram of a Tanner graph corresponding to the check matrix in FIG. 2;
  • FIG. 4 is a schematic diagram of a basemap matrix provided by an embodiment of the present invention.
  • FIG. 5 is a schematic diagram of another basemap matrix provided by an embodiment of the present invention.
  • FIG. 6 is a partial schematic diagram of an offset value matrix provided by an embodiment of the present invention.
  • FIG. 7 is a diagram of a correspondence relationship between a type of a basemap matrix, a code rate, and a block length of a transport block provided by an embodiment of the present invention
  • FIG. 8 is a schematic diagram of the principle of a layered decoding algorithm provided by an embodiment of the present invention.
  • FIG. 9 is a schematic flowchart of an LDPC code decoding method according to an embodiment of the present invention.
  • FIG. 11 is a schematic structural diagram of a device provided by an embodiment of the present invention.
  • FIG 12 is another schematic structural diagram of an apparatus provided by an embodiment of the present invention.
  • a wireless communication system is usually composed of cells, and each cell includes a base station (BS).
  • the base station provides communication to user equipment (UE).
  • UE user equipment
  • the base station is connected to the core network equipment.
  • the number and form of each device in the communication system of FIG. 1 are for illustration only, and are not intended to limit this application.
  • the wireless communication systems involved in the embodiments of the present application include but are not limited to: global mobile communication system (global system for mobile communication, GSM), code division multiple access (code division multiple access, CDMA) system, broadband code division Multiple access (wideband code division multiple access (WCDMA) system, global microwave interoperability for microwave access (WiMAX) system, long term evolution (LTE) system, 5G communication system (such as new radio (new radio interface , NR)) system, a communication system in which multiple communication technologies are merged (for example: a communication system in which LTE technology and NR technology are merged), or a subsequent evolution communication system.
  • GSM global system for mobile communication
  • CDMA code division multiple access
  • WCDMA broadband code division Multiple access
  • WiMAX global microwave interoperability for microwave access
  • LTE long term evolution
  • 5G communication system such as new radio (new radio interface , NR)
  • a communication system in which multiple communication technologies are merged for example: a communication system in which LTE technology and NR technology
  • the UE designed in the embodiments of the present application is a device with a wireless communication function, and may be a handheld device with a wireless communication function, a vehicle-mounted device, a wearable device, a computing device, or other processing devices connected to a wireless modem.
  • Terminal devices can be called different names in different networks, for example: user equipment, access terminal, subscriber unit, user station, mobile station, mobile station, remote station, remote terminal, mobile device, user terminal, terminal, wireless communication Equipment, user agents or user devices, cellular phones, cordless phones, Session Initiation Protocol (SIP) phones, wireless local loop (Wireless Local Loop, WLL) stations, personal digital processing (Personal Digital Assistant (PDA), Terminal equipment in 5G networks or future evolution networks, etc.
  • SIP Session Initiation Protocol
  • WLL Wireless Local Loop
  • PDA Personal Digital Assistant
  • the base station in the embodiment of the present application may also be referred to as a base station device, which is a device deployed in a wireless access network to provide wireless communication functions, including but not limited to: a base station (for example: BTS (Base Transceiver Station, BTS), Node B (NodeB, NB), Evolutionary Node B (Evolutional Node B, eNB or eNodeB), transmission node or transmission point (TRP or TP) in NR system or next generation Node B (generation NodeB, gNB ), Base stations or network equipment in future communication networks), relay stations, access points, in-vehicle equipment, wearable devices, wireless fidelity (Wireless-Fidelity, Wi-Fi) sites, wireless backhaul nodes, small stations, micro Stand and so on.
  • BTS Base Transceiver Station
  • NodeB Node B
  • Evolutionary Node B Evolutionary Node B
  • TRP or TP transmission node or transmission point
  • generation NodeB, gNB Base
  • the LDPC code is a (n, k) linear block code, where n is the code length and k is the length of the information sequence.
  • the check matrix of the LDPC code is a sparse matrix. Only a small number of elements "1" exist in the check matrix. Parts are all elements "0".
  • the check matrix corresponds to a Tanner graph, the check node in the Tanner graph corresponds to a row in the check matrix, the variable node corresponds to a column in the check matrix, and each edge connecting the check node and the variable node indicates that the two nodes correspond There is a non-zero element where the row and column meet. For example: the check matrix H shown in FIG. 2 and the corresponding check equation. Check matrix
  • Figure 3 shows the Tanner graph corresponding to the check matrix in FIG. 2.
  • the round nodes in FIG. 3 are variable nodes, and the nine variable nodes correspond to a column in the check matrix H; the square nodes are check nodes.
  • the 5 check nodes correspond to one row in the check matrix H.
  • Each edge connecting the check node and the variable node indicates that there is a non-zero element at the intersection of the rows and columns corresponding to the two nodes, for example: check Node 0 is connected to variable node 0 to variable node 3, respectively, indicating that the element in column 0 to column 4 of row 0 is "1".
  • the check matrix is composed of m ⁇ n block matrices, each block matrix contains z ⁇ z elements, and each block matrix is obtained by a cyclic shift of a z ⁇ z identity matrix
  • the LDPC code corresponding to this check matrix is also called quasi-cyclic LDPC code.
  • a 5G communication system data is encoded using an LDPC code.
  • the check matrix of the LDPC code is obtained from a base graph (BG) matrix and an offset value matrix.
  • the number of elements in the base graph matrix is m ⁇ n, when the element in the base graph matrix is "0", it corresponds to a z ⁇ z all zero matrix.
  • the element in the basemap matrix is "1”, it corresponds to a matrix that cyclically shifts the z ⁇ z identity matrix.
  • This matrix is also called a circular permutation matrix, which means that the basemap matrix
  • Each element of represents a zero matrix or cyclic permutation matrix. As shown in BG1 shown in FIG.
  • the size of BG1 is 46 rows and 68 columns, as shown in BG2 shown in FIG. 5, and the size of BG2 is 42 rows and 52 columns.
  • FIG. 6 it is a partial schematic diagram of an offset value matrix corresponding to BG1.
  • the elements in the offset value matrix are integers, and the elements in the offset value matrix are “-1”, it represents the all-zero matrix corresponding to z ⁇ z ;
  • the element in the offset value matrix is "0”, it means the identity matrix corresponding to z ⁇ z; when the element in the offset value matrix is an integer greater than 0, it corresponds to the unit matrix of z ⁇ z is integer times to the right Cyclically shift the corresponding matrix.
  • the offset value corresponding to this element is P ij , and P ij is an integer greater than 0, indicating that the element in the i-th row and j-th column in BG1 can be
  • the z ⁇ z cyclic permutation matrix corresponding to ij is replaced, and the cyclic permutation matrix is obtained by cyclically shifting the z ⁇ z identity matrix P ij times to the right.
  • z is a positive integer.
  • z can also be called an expansion factor.
  • the value of z is related to the size of the code block and the size of the information data supported by the system. It can be seen that the size of the check matrix is (m ⁇ z) ⁇ (n ⁇ z).
  • expansion factor z 4
  • the elements in the offset matrix take -1, 0, 1, 2 and 3 respectively corresponding to the cyclic permutation matrix as follows:
  • V ij is the value of the element in row i and column j of the base graph matrix
  • z is the expansion factor
  • P ij is the actual offset value
  • mod (x, y) represents the modulus operation, and returns x divided by y Of the remainder.
  • the 5G communication system supports the LDPC coding scheme of two basemap matrices.
  • the two basemap matrices are called BG1 and BG2, respectively.
  • different basemap matrices are selected for encoding.
  • the correspondence between block length and code rate and basemap matrix is shown in Figure 7.
  • BG2 is used for encoding, otherwise BG1 is used To encode.
  • LLR log-likelihood ratio
  • R ij [k] represents the information sent from the check node i to the variable node j at the kth iteration
  • Q ji [k] represents the information sent from the variable node j to the check node i at the kth iteration
  • Q j [k] represents the posterior probability of the variable node j used for hard decision after the kth iteration is completed
  • C (j) represents the set of check nodes connected to the variable node j;
  • V (i) represents the set of variable nodes connected to check node i;
  • i is the serial number of the check node, the value range of i is 0, 1, ..., m-1; j is the serial number of the variable node, the value range of j is 0, 1, ..., n-1, which is the LDPC code
  • the check matrix has m rows and n columns, and a total of m ⁇ n elements.
  • the check matrix corresponding to the check matrix has m check nodes and n variable nodes.
  • the information Q ji [0] sent by the variable node j to the check node i is initialized to ⁇ j , where i ⁇ C (j).
  • Equation 1 the calculation process of the information R ij [k] sent by the check node i to the variable node j is shown in Equation 1:
  • sgn () is to take the sign bit operation, and the returned is the positive and negative of the parameter; min () is to find the minimum operation; V (i) ⁇ j represents the other variables connected to the check node i except the variable node j A collection of nodes.
  • the above update process may also be called an update process of the check node.
  • Equation 2 the calculation process of the information Q ji [k] sent by the variable node j to the check node i is shown in Equation 2:
  • C (j) ⁇ i represents the set of other check nodes except the check node i connected to the variable node j.
  • the posterior probability of the variable node needs to be calculated, and the calculation formula is as follows:
  • the decision rule is:
  • the difference between the layered decoding algorithm and the traditional MS algorithm is only that: the rows of the check matrix are updated sequentially in a certain order; after a row or a group of rows is updated, all columns corresponding to these rows are updated immediately, and then Then update the next row or group of rows.
  • the order of row update and column update are not limited.
  • Hierarchical decoding can be combined with other decoding algorithms to improve the convergence speed of iteration.
  • Figure 8 is a schematic diagram of the layered decoding algorithm, the check matrix is 5 rows and 9 columns, the layered iterative decoding method is: 1. Update the first row, 2. The elements in the first row Update all the columns corresponding to "1"; 3. Update the second row, 4.
  • CNOMS is an improvement of Equation 1 in the MS algorithm.
  • a normalization correction factor and an offset correction factor are added.
  • Equation 3 the information R ij [k] sent by the check node i to the variable node j is shown in Equation 3:
  • ⁇ ' is the normalized correction factor
  • ⁇ ' is the offset value correction factor
  • min () is the operation to find the minimum value
  • max () is the operation to find the maximum value.
  • the algorithm can also be called a normalized min-sum (NMS) algorithm.
  • NMS normalized min-sum
  • Equation 3 For the description of other parameters in Equation 3, please refer to the MS algorithm, which will not be repeated here.
  • variable node j the information sent by the variable node j to the i-th variable node is the same as the MS algorithm.
  • the CNOMS algorithm only considers the correction of the update process of the check node, and does not consider the correction of other links, so the decoding performance of the CNOMS algorithm has room for further improvement.
  • the WS algorithm is transformed based on the CNOMS algorithm.
  • the WS algorithm is also called the CNOMS-WS algorithm.
  • the WS algorithm and the layered decoding algorithm are combined, it is also called the joint normalized offset minimum sum-weighting (LCNOMS-WS) algorithm.
  • the information Q ji sent by the variable node j to the check node i is calculated according to the following formula:
  • the WS algorithm needs to introduce a large number of multiplications and additions during the iteration process, which requires a relatively large amount of calculations. At the same time, it needs to store the information of the previous iteration, and the demand for storage space is also relatively large.
  • FR Flip reset
  • the FR algorithm is transformed based on the CNOMS algorithm.
  • the FR algorithm is also called the CNOMS-FS algorithm.
  • the FR algorithm and the layered decoding algorithm are combined, it is also called the joint normalized offset minimum sum-flip-to-zero (LCNOMS-FR) algorithm.
  • variable node j the information sent by variable node j to check node i is calculated according to the following formula:
  • each parameter in the FR algorithm can refer to the description in the WS algorithm, which will not be repeated here.
  • the FR algorithm corrects the information of the current iteration to 0 when the information of the two adjacent iterations reverses. This has the problem that it will reduce the speed of iteration convergence. When the number of iterations decreases, the decoding performance is not good.
  • FS Flip-sum
  • CNOMS CNOMO-FS algorithm
  • LCNOMS-FS joint normalized offset minimum sum-flip summation
  • variable node j the information sent by variable node j to check node i is calculated according to the following formula:
  • each parameter in the FS algorithm can refer to the description of the MS algorithm, which will not be repeated here.
  • the FS algorithm corrects the information of the current iteration to the sum of the information of the adjacent iterations when the information of the adjacent iterations reverses.
  • the problem is that the information of the above iterations needs to be stored.
  • the demand is large, and the improvement of decoding performance relative to the CNOMS algorithm is limited.
  • FIG. 9 is a schematic flowchart of a method for decoding an LDPC code at a receiving end according to an embodiment of the present invention.
  • the method includes:
  • the transmitting end performs LDPC encoding on the information bit sequence, constellation-modulates the encoded bit sequence, and maps the constellation-modulated symbols to resources.
  • the resource is a resource block (resource block, RB) or resource unit (resource element).
  • RE resource block
  • the wireless signal is obtained through carrier modulation, and the wireless signal is sent to the sending end.
  • the receiving end receives the wireless signal from the sending end, parses the wireless signal to obtain a resource block, and demodulates the resource block to obtain a soft value sequence.
  • the soft value sequence includes multiple soft values, each soft value corresponds to one bit, and the soft value sequence corresponds to one Coded bit sequence, which is generated using LDPC coding.
  • the receiving end may be a network device or a terminal device.
  • the check matrix may be obtained based on the expansion factor, the base map matrix, and the offset value matrix.
  • the receiver uses the iterative decoding method to decode the coding sequence.
  • the decoding result obtained after each iteration is verified according to all the check equations corresponding to the check matrix. If the check passes, the decoding result is correct. Yes, the decoding is successful; if the check fails, it indicates that the decoding result is wrong. If the number of iterations is less than the maximum number of iterations, continue to the next iteration, otherwise the decoding fails.
  • Embodiment 1 Flip weighted sum (FWS) algorithm.
  • the sign bit indicates the sign of the parameter value, for example: Q ji [k-1] is -5, Q ' ji [k] is 1, then Q ji [k-1] and Q' ji
  • the sign bit of [k] is different; for example: Q ji [k-1] has a value of -3, and Q ' ji [k] has a value of -1, then Q ji [k-1] and Q' ji [
  • the sign bit of k] is the same.
  • the embodiment of the present invention performs weighted sum correction only when the Q ji [k-1] and Q ' ji [k] sign bits of two adjacent iterations change, and the WS algorithm does not require each time Do weighted sum correction to save computational effort.
  • the iterative decoding further includes:
  • Q ji [k-1] is stored in advance.
  • the weighted summation of the Q ji [k] comprising the Q ji [k-1] and Q 'ji [k]:
  • Q ji [k] can be expressed by the following formula:
  • the sign bit of comparing Q ji [k-1] and Q ′ ji [k] includes:
  • Q ' ji [k] is calculated according to the following formula:
  • ⁇ ' is the normalized correction factor
  • ⁇ ' is the offset correction factor
  • ⁇ ' ⁇ 1, ⁇ '> min is the minimum operation
  • max is the maximum operation
  • V ( i) ⁇ j represents the remaining variable nodes except the variable node j connected to the check node i
  • ⁇ j is the maximum likelihood ratio information of the j-th soft value in the soft value sequence
  • C (j) ⁇ i Represents a collection of check nodes other than check node i connected to variable node j.
  • the iterative decoding is performed in a layered manner.
  • the process of iterative decoding in a hierarchical manner can refer to the description of FIG. 8, which will not be repeated here.
  • the hierarchical decoding method can further improve the convergence speed.
  • the layered decoding algorithm is combined with the FWS algorithm, it is also called LCNOMS + FWS algorithm.
  • Embodiment 2 Flip annealing (FA) algorithm.
  • the comparator Q ji [k-1] and Q 'ji [k] is the sign bit, the Q ji [k-1] and Q' ji [k] of the symbol bits are not the same, the normalization correction factor, correction factor and the offset value Q 'ji [k] obtained Q ji [k];
  • i is an integer number of check node, j is the number of variable nodes, k is greater than or equal to 1
  • Q ji [k] is the first message sent by the variable node j to the check node i during the kth iteration
  • Q ji [k-1] is the variable node j sent to the check node during the k-1 iteration
  • the first information of i, Q ' ji [k] is the second information sent by the variable node j to the check node i during the k-th iteration based on the CNOMS algorithm; all check equations corresponding to the check matrix
  • the embodiment of the present invention performs weighted sum correction only when the Q ji [k-1] and Q ' ji [k] sign bits of two adjacent iterations are flipped. Compared with the WS algorithm, each time Do weighted sum correction to save computational effort.
  • the iterative decoding further includes:
  • the sign bit of Q ji [k-1] is stored in advance.
  • the sign bit of the information of the previous iteration is stored in advance, for example, only one bit can be used to represent the sign bit, and the information of the previous iteration is not required to be stored, which reduces the storage space requirement.
  • the Q ji [k] obtained according to the normalized correction factor, the offset correction factor and Q ′ ji [k] includes:
  • is the normalized correction factor
  • is the offset value correction factor
  • sgn is the sign bit operation
  • max is the maximum value operation
  • Q ji [k] can be expressed by the following formula:
  • the sign bit of comparing Q ji [k-1] and Q ′ ji [k] includes:
  • the iterative process further includes: calculating Q ′ ji [k] according to the following formula:
  • ⁇ ' is the normalization correction factor
  • ⁇ ' is the offset value correction factor
  • ⁇ ' ⁇ 1, ⁇ '> min is the minimum operation
  • max is the maximum operation
  • V (i) ⁇ j Represents the remaining variable nodes except the variable node j connected to the check node i
  • ⁇ j is the jth soft value in the soft value sequence
  • C (j) ⁇ i represents the check node connected to the variable node j
  • the iterative decoding is performed in a layered manner.
  • the layered decoding algorithm and the FA algorithm are combined, it is also called the LCNOMS + FA algorithm.
  • FIG. 10 it is a performance curve diagram of each decoding algorithm provided by an embodiment of the present invention.
  • the length of the information block is 3840
  • the coding rate is 1/5
  • the basemap matrix used is BG2
  • the abscissa is the maximum number of iterations of the decoder T_ "max”
  • the ordinate is the block error rate (block error) (BLER) is the required signal-to-noise ratio at 10%.
  • Each decoding algorithm in FIG. 10 uses layered decoding by default.
  • the six curves in the figure are the LCNOMS algorithm, LCNOMS + WS algorithm, LCNOMS + FR algorithm, LCNOMS + FS algorithm, and LCNOMS + FWS algorithm according to the embodiment of the present invention. 3.
  • the performance of the LCNOMS + FWS algorithm and LCNOMS + FA algorithm proposed in this embodiment is significantly better than the LCNOMS + FR algorithm and LCNOMS + FS algorithm, which is equivalent to the performance of the LCNOMS + WS algorithm, but the implementation of the present invention
  • the computational complexity is significantly lower than the LCNOMS + WS algorithm.
  • the LCNOMS + FA algorithm of the embodiment of the present invention not only has an operation complexity significantly lower than the LCNOMS + WS algorithm, but also requires significantly less storage space than the LCNOMS + WS algorithm.
  • the LCNOMS + FWS algorithm and the LCNOMS + FA algorithm proposed in this embodiment require significantly fewer iterations than the LCNOMS algorithm, LCNOMS + FR algorithm, and LCNOMS + FS algorithm.
  • the LCNOMS + FWS algorithm and LCNOMS + FA algorithm proposed in the example can significantly improve the throughput rate of the LDPC decoder.
  • the device 11 is hereinafter referred to as the device 11, which includes a processing unit 1101 and a transceiver unit 1102. In the example, the behavior function of the receiving end.
  • the receiving unit 1102 is configured to receive a soft value sequence; wherein the soft value sequence carries information of the information bit sequence.
  • the processing unit 1101 is configured to iteratively decode the soft value sequence using a check matrix to obtain an information bit sequence
  • i is the serial number of the check node
  • j is the serial number of the variable node
  • k is an integer greater than or equal to 1
  • Q ji [k] is the first message sent by the variable node j to the check node i during the kth iteration
  • Q ji [k-1] is the first message sent by variable node j to check node i during k-1 iterations
  • Q ' ji [k] is based on the joint normalized offset minimum and the CNOMS algorithm.
  • the device 11 further includes a storage unit (not shown in FIG. 11).
  • the storage unit is used to store Q ji [k-1] in advance before the kth iteration.
  • the processing unit 1101 obtains Q ji [k] obtained by performing weighted summation according to Q ji [k-1] and Q ′ ji [k], including:
  • the processing unit comparing the sign bits of Q ji [k-1] and Q ' ji [k] includes:
  • processing unit 1101 is also used to:
  • ⁇ ' is the normalized correction factor
  • ⁇ ' is the offset correction factor
  • min is the minimum operation
  • max is the maximum operation
  • V (i) ⁇ j Represents the remaining variable nodes except the variable node j connected to the check node i
  • ⁇ j is the jth soft value in the soft value sequence
  • C (j) ⁇ i represents the check node connected to the variable node j The set of check nodes other than node i.
  • a hierarchical decoding algorithm is used to perform the iterative decoding.
  • the transceiver unit 1102 is configured to receive a soft value sequence; wherein the soft value sequence carries information of the information bit sequence.
  • the processing unit 1101 is configured to iteratively decode the soft value sequence according to a check matrix to obtain an information bit sequence
  • the device 11 further includes:
  • the storage unit (not shown in FIG. 11) is used to store the sign bit of Q ji [k-1] in advance before the kth iteration.
  • the processing unit is also used to:
  • is the normalization correction factor
  • is the offset value correction factor
  • ⁇ 1 is the offset value correction factor
  • ⁇ 1 is the offset value correction factor
  • sgn is the sign bit operation
  • max is the maximum value operation.
  • the processing unit 1101 compares the sign bits of Q ji [k-1] and Q ' ji [k] including:
  • processing unit 1101 is also used to:
  • ⁇ ' is the normalization correction factor
  • ⁇ ' is the offset value correction factor
  • ⁇ ' ⁇ 1, ⁇ '> 0 min is the minimum operation
  • max is the maximum operation
  • V (i) ⁇ j Represents the remaining variable nodes except the variable node j connected to the check node i
  • ⁇ j is the jth soft value in the soft value sequence
  • C (j) ⁇ i represents the check node connected to the variable node j The set of check nodes other than node i.
  • a hierarchical decoding algorithm is used to perform the iterative decoding.
  • the device 11 may be a terminal device or a network device, or a decoder for realizing related functions, a field-programmable gate array (FPGA), a dedicated integrated chip, a system chip (SoC), Central processor (central processor), CPU, network processor (NP), digital signal processing circuit, microcontroller (micro controller unit, MCU), programmable controller (programmable logic device, PLD) can also be used ) Or other integrated chips.
  • FPGA field-programmable gate array
  • SoC system chip
  • Central processor central processor
  • CPU central processor
  • NP network processor
  • NP digital signal processing circuit
  • microcontroller micro controller unit, MCU
  • programmable controller programmable logic device, PLD
  • PLD programmable logic device
  • FIG. 12 is a schematic structural diagram of an apparatus provided by an embodiment of the present invention.
  • apparatus 12 may be integrated into the foregoing network device or terminal device.
  • the apparatus includes: memory 1202, processor 1201 Transceiver 1203.
  • the memory 1202 may be an independent physical unit, and may be connected to the processor 1201 and the transceiver 1203 through a bus.
  • the memory 1202, the processor 1201, and the transceiver 1203 may also be integrated together and implemented through hardware.
  • the memory 1202 is used to store programs that implement the above method embodiments or various modules of the device embodiment, and the processor 1201 calls the programs to perform the operations of the above method embodiments.
  • the device may also include only the processor.
  • the memory for storing the program is located outside the device, and the processor is connected to the memory through a circuit / wire to read and execute the program stored in the memory.
  • the processor may be a central processing unit (CPU), a network processor (NP), or a combination of CPU and NP.
  • CPU central processing unit
  • NP network processor
  • the processor may further include a hardware chip.
  • the hardware chip may be an application-specific integrated circuit (ASIC), a programmable logic device (PLD) or a combination thereof.
  • the PLD may be a complex programmable logic device (complex programmable logic device, CPLD), a field programmable logic gate array (field-programmable gate array, FPGA), a general array logic (generic array logic, GAL), or any combination thereof.
  • the memory may include volatile memory (volatile memory), such as random-access memory (RAM); the memory may also include non-volatile memory (non-volatile memory), such as flash memory (flash memory) , Hard disk drive (HDD) or solid-state drive (SSD); storage can also include a combination of the above types of storage.
  • volatile memory volatile memory
  • non-volatile memory non-volatile memory
  • flash memory flash memory
  • HDD Hard disk drive
  • SSD solid-state drive
  • the sending module or the transmitter performs the steps sent by the above method embodiments
  • the receiving module or the receiver performs the steps received by the above method embodiments
  • other steps are performed by other modules or processors.
  • the sending module and the receiving module may constitute a transceiver module
  • the receiver and the transmitter may constitute a transceiver.
  • An embodiment of the present application further provides a computer storage medium that stores a computer program, and the computer program is used to execute the decoding method of the LDPC code provided by the foregoing embodiment.
  • An embodiment of the present application also provides a computer program product containing instructions, which when executed on a computer, causes the computer to execute the decoding method of the LDPC code provided by the foregoing embodiment.
  • the embodiments of the present application may be provided as methods, systems, or computer program products. Therefore, the present application may take the form of an entirely hardware embodiment, an entirely software embodiment, or an embodiment combining software and hardware. Moreover, the present application may take 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 code.
  • computer usable storage media including but not limited to disk storage, CD-ROM, optical storage, etc.
  • These computer program instructions may also be stored in a computer readable memory that can guide a computer or other programmable data processing device to work in a specific manner, so that the instructions stored in the computer readable memory produce an article of manufacture including an instruction device, the instructions The device implements the functions specified in one block or multiple blocks of the flowchart one flow or multiple flows and / or block diagrams.
  • These computer program instructions can also be loaded onto a computer or other programmable data processing device, so that a series of operating steps are performed on the computer or other programmable device to produce computer-implemented processing, which is executed on the computer or other programmable device
  • the instructions provide steps for implementing the functions specified in one block or multiple blocks of the flowchart one flow or multiple flows and / or block diagrams.

Abstract

一种LDPC码的译码方法和装置,接收端在对软值序列利用LDPC码的校验矩阵进行迭代译码的过程中,针对变量节点(v 0,v 1,v 2,v 3,v 4,v 5,v 6,v 7,v 8,v 9)的更新环节,当且仅当相邻两次迭代得到的变量节点(v 0,v 1,v 2,v 3,v 4,v 5,v 6,v 7,v 8,v 9)对校验节点(c 0,c 1,c 2,c 3,c 4)输出信息的符号位不同时,才使用加权后或退火处理的方法对当前的变量节点(v 0,v 1,v 2,v 3,v 4,v 5,v 6,v 7,v 8,v 9)发送给校验节点(c 0,c 1,c 2,c 3,c 4)的信息进行修正,以降低译码过程的复杂度,提高译码性能和提升译码器的吞吐量。

Description

LDPC码的译码方法和装置 技术领域
本发明实施例涉及译码领域,尤其涉及一种LDPC码的译码方法和装置。
背景技术
低密度奇偶校验(low-density parity-check,LDPC)码是由Gallager提出的一种具有稀疏校验矩阵的线性分组码,即校验矩阵中只有数量很少的元素是“1”,大部分元素是“0”。利用校验矩阵的稀疏性,使得译码复杂度只与码长成线性关系,在码长较长的情况下译码过程不会过于复杂。经研究表明,LDPC码具有逼近香农极限的编码性能。
在第三代合作伙伴计划(3 rd generation partnership project,3GPP)关于无线接入网(radio access network,RAN)的会议上,LDPC码正式作为第五代通信系统(5 th generation mobile communication system,5G)编码方案之一,例如,可以用于增强移动宽带场景的上下行数据信道。然而,如何对LDPC码进行译码是亟待解决的问题。
发明内容
有鉴于此,本申请的主要目的是提供一种LDPC码的译码方法和装置,用于解决LDPC码的译码性能不佳的问题。
第一方面,本申请公开了一种LDPC码的译码方法,包括:接收软值序列;其中,软值序列承载信息比特序列的信息;对软值序列利用校验矩阵进行迭代译码,得到信息比特序列;
其中,迭代译码包括:在第k次迭代的过程中,比较Q ji[k-1]和Q' ji[k]的符号位,在Q ji[k-1]和Q' ji[k]的符号位不相同时,根据Q ji[k-1]和Q' ji[k]进行加权求和得到的Q ji[k];在Q ji[k-1]和Q' ji[k]的符号位相同的情况下,Q ji[k]=Q' ji[k]。i是校验节点的序号,j是变量节点的序号,k为大于或等于1的整数,Q ji[k]是第k次迭代过程中变量节点j发送给校验节点i的第一信息,Q ji[k-1]是k-1次迭代过程中变量节点j发送给校验节点i的第一信息,Q' ji[k]是基于联合归一化偏移最小和CNOMS算法得到的第k次迭代过程中变量节点j发送给校验节点i的第二信息;在所述校验矩阵对应的所有校验方程校验通过或迭代次数达到最大迭代次数时,停止迭代译码。
综上,在第k次迭代的过程中,当且仅当Q ji[k-1]和Q' ji[k]的符号位发生翻转时,才对 Q ji[k-1]和Q' ji[k]进行加权求和作为k次的变量节点j发送给校验节点i的第一信息,不需要每次都进行加权和修正,因此与传统译码方法相比,该方法增加的运算复杂度有限,但是性能提升明显。
在一种可能的设计中,在第k次迭代之前,预先存储Q ji[k-1]。
在一种可能的设计中,根据Q ji[k-1]和Q' ji[k]进行加权求和得到的Q ji[k]包括:
根据如下的公式得到Q ji[k]:
Q ji[k]=γ·Q ji[k-1]+(1-γ)·Q' ji[k];其中,0<γ<1。
第二方面,本申请提供了一种LDPC的译码方法,包括:
接收软值序列;其中,软值序列承载信息比特序列的信息;
根据校验矩阵对软值序列进行迭代译码,得到信息比特序列;
其中,迭代译码包括:在第k次的迭代过程中,比较Q ji[k-1]和Q' ji[k]的符号位,在Q ji[k-1]和Q' ji[k]的符号位不相同时,根据归一化修正因子、偏移值修正因子和Q' ji[k]得到的Q ji[k];在Q ji[k-1]和Q' ji[k]的符号位相同时,Q ji[k]=Q' ji[k];i是校验节点的序号,j是变量节点的序号,k为大于或等于1的整数,Q ji[k]是第k次迭代过程中变量节点j发送给校验节点i的第一信息,Q ji[k-1]是k-1次迭代过程中变量节点j发送给校验节点i的第一信息,Q' ji[k]是基于联合归一化偏移最小和CNOMS算法得到的第k次迭代过程中变量节点j发送给校验节点i的第二信息;在所述校验矩阵对应的所有校验方程校验通过或迭代次数达到最大迭代次数时,停止迭代译码。归一化修正因子为大于或等于1的常数,偏移值修正因子为大于0的常数。
在第k次迭代的过程中,当Q ji[k-1]和Q' ji[k]的符号位发生翻转时,才对Q' ji[k]进行退火处理作为k次的变量节点j发送给校验节点i的第一信息,不需要每次都进行退火修正,降低了迭代译码的运算复杂度。同时,只需要存储Q ji的符号位。因此与传统译码方法相比,该方法增加的运算复杂度和存储空间需求,但是性能提升明显。
在一种可能的设计中,在第k次迭代之前,预先存储Q ji[k-1]的符号位。
在一种可能的设计中,迭代译码还包括:
根据如下公式得到Q ji[k]:
α·sgn(Q' ji[k])·max{|Q' ji[k]|-β,0};
其中,α是归一化修正因子,β是偏移值修正因子,sgn是取符号位操作,max为求最大值操作,α≤1,β>0。
在一种可能的设计中,其特征在于,比较Q ji[k-1]和Q' ji[k]的符号位包括:
在Q ji[k-1]和Q' ji[k]的乘积大于或等于0时,确定Q ji[k-1]和Q' ji[k]的符号位相同;或
在在Q ji[k-1]和Q' ji[k]的乘积小于0时,确定Q ji[k-1]和Q' ji[k]的符号位不相同。
在一种可能的设计中,迭代过程还包括:根据如下公式计算Q' ji[k]:
Figure PCTCN2018110860-appb-000001
Figure PCTCN2018110860-appb-000002
其中,α'是归一化修正因子,β'是偏移值修正因子,α'≤1,β'>0,min为求最小值操作,max为求最大值操作,V(i)\j表示与校验节点i相连的除变量节点j之外的其余变量节点;λ j是软值序列中第j个软值;C(j)\i表示与变量节点j相连的除校验节点i之外的其余校验节点的集合。
在一种可能的设计中,采用分层译码算法进行迭代译码。其中,采用分层译码的方法能提高迭代译码的收敛速度。
另一方面,本发明实施例提供了一种LDPC码的译码装置(简称装置),该装置用于上第一方面中的各个方法的功能。功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。硬件或软件包括一个或多个与上述功能相对应的模块。
在一个可能的设计中,装置可以是终端设备或网络设备,装置的结构中包括处理器和发射器,处理器被配置为对软值序列利用校验矩阵进行迭代译码,得到信息比特序列;
其中,迭代译码包括:在第k次迭代的过程中,比较Q ji[k-1]和Q' ji[k]的符号位,在Q ji[k-1]和Q' ji[k]的符号位不相同时,根据Q ji[k-1]和Q' ji[k]进行加权求和得到的Q ji[k];在 Q ji[k-1]和Q' ji[k]的符号位相同的情况下,Q ji[k]=Q ji[k]。i是校验节点的序号,j是变量节点的序号,k为大于或等于1的整数,Q ji[k]是第k次迭代过程中变量节点j发送给校验节点i的第一信息,Q ji[k-1]是k-1次迭代过程中变量节点j发送给校验节点i的第一信息,Q' ji[k]是基于联合归一化偏移最小和CNOMS算法得到的第k次迭代过程中变量节点j发送给校验节点i的第二信息;在所述校验矩阵对应的所有校验方程校验通过或迭代次数达到最大迭代次数时,停止迭代译码。发射器用于接收软值序列;其中,软值序列承载信息比特序列的信息。装置还可以包括存储器,存储器用于与处理器耦合,其保存必要的程序指令和数据。
又一方面,本发明实施例提供了一种LDPC码的译码装置,该装置具有实现上述第二方面中的各个方法的功能。功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。硬件或软件包括一个或多个与上述功能相对应的模块。模块可以是软件和/或硬件。
在一个可能的设计中,装置可以是终端设备或网络设备,装置的结构中包括接收器和处理器,接收器被配置为接收软值序列;其中,软值序列承载信息比特序列的信息。处理器被配置为根据校验矩阵对软值序列进行迭代译码,得到信息比特序列;
其中,迭代译码包括:在第k次的迭代过程中,比较Q ji[k-1]和Q' ji[k]的符号位,在Q ji[k-1]和Q' ji[k]的符号位不相同时,根据归一化修正因子、偏移值修正因子和Q' ji[k]得到的Q ji[k];在Q ji[k-1]和Q' ji[k]的符号位相同时,Q ji[k]=Q' ji[k];i是校验节点的序号,j是变量节点的序号,k为大于或等于1的整数,Q ji[k]是第k次迭代过程中变量节点j发送给校验节点i的第一信息,Q ji[k-1]是k-1次迭代过程中变量节点j发送给校验节点i的第一信息,Q' ji[k]是基于联合归一化偏移最小和CNOMS算法得到的第k次迭代过程中变量节点j发送给校验节点i的第二信息;在所述校验矩阵对应的所有校验方程校验通过或迭代次数达到最大迭代次数时,停止迭代译码。
本申请又一方面提供了一种计算机存储介质,包括指令,当其在计算机上运行时,使得计算机执行如第一方面至第一方面的各个可能的实施方式中任意一项所述的方法。
本申请又一方面提供一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行如第一方面至第一方面的各个可能的实施方式中任意一项所述的方法。
本申请又一方面提供了一种计算机存储介质,包括指令,当其在计算机上运行时,使 得计算机执行如第二方面至第二方面各个可能的实施方式中任意一项所述的方法。
本申请又一方面一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行如第二方面至第二方面各个可能的实施方式中任意一项所述的方法。
附图说明
图1是本发明实施例的网络架构图;
图2是本发明实施例提供的一种LDPC码的校验矩阵的示意图;
图3是是图2中校验矩阵对应的Tanner图的示意图;
图4是本发明实施例提供的一种基图矩阵的示意图;
图5是本发明实施例提供的另一种基图矩阵的示意图;
图6是本发明实施例提供的偏移值矩阵的局部示意图;
图7是本发明实施例提供的基图矩阵类型与码率和传输块块长的对应关系图;
图8是本发明实施例提供的分层译码算法的原理示意图;
图9是本发明实施例提供的LDPC码的译码方法的流程示意图;
图10是本发明实施例提供的各个译码算法的译码性能曲线图;
图11是本发明实施例提供的装置的结构示意图;
图12是本发明实施例提供的装置的另一结构示意图。
具体实施方式
下面结合附图对本申请具体实施例作进一步的详细描述。
本申请实施例可以应用于无线通信系统,如图1所示,无线通信系统通常由小区组成,每个小区包含一个基站(base station,BS),基站向用户设备(user equipment,UE)提供通信服务,基站连接到核心网设备。其中,图1通信系统中各个设备的数量和形态仅作举例说明,并非对本申请的限定。
需要说明的是,本申请实施例涉及的无线通信系统包括但不限于:全球移动通信系统(global system for mobile communication,GSM),码分多址(code division multiple access,CDMA)系统、宽带码分多址(wideband code division multiple access,WCDMA)系统,全球微波互联接入(worldwide interoperability for microwave access,WiMAX)系统、长期演进(long term evolution,LTE)系统,5G通信系统(例如新空口(new radio,NR))系统、多种通信技术融合的通信系统(例如:LTE技术和NR技术融合的通信系统),或者后续演进通信系统。
本申请实施例中设计的UE是一种具有无线通信功能的设备,可以是具有无线通信功能的手持设备、车载设备、可穿戴设备、计算设备或连接到无线调制解调器的其它处理设备等。在不同的网络中终端设备可以叫做不同的名称,例如:用户设备、接入终端、用户单元、用户站、移动站、移动台、远方站、远程终端、移动设备、用户终端、终端、无线通信设备、用户代理或用户装置、蜂窝电话、无绳电话、会话启动协议(Session Initiation Protocol,SIP)电话、无线本地环路(Wireless Local Loop,WLL)站、个人数字处理(Personal  Digital Assistant,PDA)、5G网络或未来演进网络中的终端设备等。为了描述方便,本申请所有实施例中,上面提及的设备统称为终端设备。
本申请实施例中的基站也可以称为基站设备,是一种部署在无线接入网用以提供无线通信功能的设备,包括但不限于:基站(例如:BTS(Base Transceiver Station,BTS),节点B(NodeB,NB),演进型基站B(Evolutional Node B,eNB或eNodeB),NR系统中的传输节点或收发点(transmission reception point,TRP或者TP)或者下一代节点B(generation nodeB,gNB),未来通信网络中的基站或网络设备)、中继站、接入点、车载设备、可穿戴设备,无线保真(Wireless-Fidelity,Wi-Fi)的站点、无线回传节点、小站、微站等等。为了描述方便,本申请所有实施例中,上述为UE提供无线通信功能的装置统称为网络设备。
下面对LDPC码的特性进行简要介绍:
LDPC码是一种(n,k)线性分组码,n为码长,k为信息序列长度,LDPC码的校验矩阵是一种稀疏矩阵,校验矩阵中只存在少量元素“1”,大部分都是元素“0”。校验矩阵对应一个Tanner图,Tanner图中的校验节点对应校验矩阵中的一行,变量节点对应校验矩阵中的一列,每条连接校验节点和变量节点的边表示这两个节点对应的行和列交汇的位置上存在一个非零元素。例如:图2所示的校验矩阵H,以及对应的校验方程。校验矩阵
其中,编码后比特序列为v=(v 1,v 2,...,v 9),约束条件是Hv=0,c 0~c 4是校验矩阵H的5个校验方程。
图3所示的是图2中的校验矩阵对应的Tanner图,图3中的圆形节点为变量节点,9个变量节点分别对应校验矩阵H中的一列;方形节点为校验节点,5个校验节点分别对应校验矩阵H中的一行,每个条连接校验节点和变量节点的边表示这两个节点对应的行和列的交汇处存在一个非零元素,例如:校验节点0分别和变量节点0~变量节点3连接,表示第0行的第0列~第4列上的元素为“1”。
在实际使用过程中,校验矩阵由m×n个分块矩阵构成,每个分块矩阵包含z×z个元素,每个分块矩阵是由一个z×z的单位矩阵经过循环移位得到的,这种校验矩阵对应的LDPC码又称为准循环(quasi cyclic)LDPC码。
例如:在5G通信系统中,利用LDPC码对数据进行编码,LDPC码的校验矩阵是根据基图(base graph,BG)矩阵和偏移值矩阵得到的,基图矩阵中元素数量为m×n个,基图矩阵中的元素为“0”时,对应一个z×z的全零矩阵。基图矩阵中的元素为“1”时,对应一个对z×z的单位矩阵进行循环移位后的矩阵,该矩阵又称为循环置换矩阵(circular permutation matrix),也就是说基图矩阵中的每个元素代表的是一个全零矩阵或循环置换矩阵。如图4所示的BG1,BG1的大小为46行68列,如图5所示的BG2,BG2的大小为42行52列,图4和图5的基图矩阵中,行号标注在最左一列,列号标注在最上一行,基图矩阵中仅示出了非零元素“1”,空白部分为零元素。其中,基图矩阵的1列和第2列为内置打孔列,编码后对应的比特不进入循环缓存。
参见图6,为BG1对应的一个偏移值矩阵的局部示意图,偏移值矩阵中的元素为整数,偏移值矩阵中的元素为“-1”时,表示对应z×z的全零矩阵;偏移值矩阵中的元素为“0”时,表示对应z×z的单位矩阵;偏移值矩阵中的元素为大于0的整数时,对应将z×z的 单位矩阵进行整数次向右循环移位对应的矩阵。
若BG1中第i行第j列的元素为“1”,该元素对应的偏移值为P ij,P ij为大于0的整数时,表示BG1中第i行第j列的元素可以被P ij对应的z×z的循环置换矩阵替换,该循环置换矩阵是通过将z×z的单位矩阵进行P ij次循环向右循环移位得到。综上,将BG1中的每个值为“0”的元素用z×z的全零矩阵替换,每个值为“1”的元素采用其偏移值对应的z×z的循环置换矩阵进行替换,最后可以得到LDPC码的校验矩阵。z为正整数,z也可以称为扩展因子,z的取值与系统支持的码块大小和信息数据的大小有关,可见校验矩阵的大小为(m×z)×(n×z)。
例如:扩展因子z=4,偏移矩阵中的元素分别取-1、0、1、2和3分别对应的循环置换矩阵如下所示:
Figure PCTCN2018110860-appb-000003
其中,在基图矩阵中的元素的值大于扩展因子z时,需要对该元素进行取模运算,公式如下:
P ij=mod(V ij,Z);
其中,V ij为基图矩阵中第i行第j列的元素的值,z为扩展因子,P ij为为实际偏移值,mod(x,y)表示取模运算,返回x除以y的余数。
其中,在5G通信系统支持两个基图矩阵的LDPC编码方案,两个基图矩阵分别称为BG1和BG2,针对不同的块长和码率,选择不同的基图矩阵进行编码。例如:块长和码率与基图矩阵的对应关系如图7所示。当待编码的传输块大小小于或等于308,或者待编码的传输块大小小于或等于3840并且编码码率小于等于0.67,或者编码码率小于或等于0.25的时候,采用BG2进行编码,否则采用BG1进行编码。
下面对LDPC码的几种译码方法进行简要说明:
1、最小和(flooding min-sum,MS)译码算法。
参数定义:λ j表示软值序列的第j个软值,软值又称为似然比(log-likelihood ratio,LLR),
Figure PCTCN2018110860-appb-000004
P(b j=1)表示第j个软值对应的比特为1的概率,P(b j=0)表示第j个软值对应的比特为0的概率,ln表示以e为底的对数运算;软值序列中每个软值对应一个比特,软值序列对应一个编码比特序列。
R ij[k]表示第k次迭代时,从校验节点i发送给变量节点j的信息;
Q ji[k]表示第k次迭代时,从变量节点j发送给校验节点i的信息;
Q j[k]表示第k次迭代完成后,用于硬判决的变量节点j的后验概率;
C(j)表示与变量节点j相连的校验节点的集合;
V(i)表示与校验节点i相连的变量节点的集合;
i为校验节点的序号,i的取值范围0、1、…、m-1;j为变量节点的序号,j的取值范围为0、1、…、n-1,即LDPC码的校验矩阵具有m行n列,一共m×n个元素,该校验矩阵对应的Tanner图中具有m个校验节点和n个变量节点。
首先,进行初始化步骤。对于i=0、1、…、m-1,校验节点i发送给变量节点j的信息R ij[0]初始化为0,其中,j∈V(i)。
对于j=0、1、…、n-1,变量节点j发送给校验节点i的信息Q ji[0]初始化为λ j,其中,i∈C(j)。
然后,进行迭代步骤,交替更新校验节点和变量节点:
在第k次迭代过程中,校验节点i发送给变量节点j的信息R ij[k]的计算过程如公式1所示:
Figure PCTCN2018110860-appb-000005
其中,sgn()为取符号位操作,返回的是参数的正负;min()为求最小值操作;V(i)\j表示与校验节点i相连的除变量节点j以外的其余变量节点的集合。上述更新过程也可以称为校验节点的更新过程。
在第k次迭代过程中,变量节点j发送给校验节点i的信息Q ji[k]的计算过程如公式2所示:
Figure PCTCN2018110860-appb-000006
其中,C(j)\i表示与变量节点j相连的除校验节点i以外的其余校验节点的集合。
第k次迭代完成后,为了进行硬判决检测,需要计算变量节点的后验概率,计算公式如下:
Figure PCTCN2018110860-appb-000007
根据上述得到后验概率进行硬判决译码,判决规则为:
Figure PCTCN2018110860-appb-000008
Figure PCTCN2018110860-appb-000009
为软值序列中第j个软值对应的待验证比特,多个待验证比特组成译码结果
Figure PCTCN2018110860-appb-000010
然后根据校验矩阵H对译码结果进行校验:若
Figure PCTCN2018110860-appb-000011
表示译码结果为正确的,译码成功,终止当前的迭代过程并输出硬判决的译码结果
Figure PCTCN2018110860-appb-000012
Figure PCTCN2018110860-appb-000013
表示译码结果为错误的,若迭代次数k小于最大迭代次数,则返回迭代步骤继续进行迭代,否则译码失败。
2、分层译码算法。
其中,分层译码算法和传统MS算法的区别仅在于:按照一定的顺序依次更新校验矩阵的行;一个行或一组行更新完成后,立即对这些行对应的所有列进行更新,然后再对下一行或下一组行进行更新。行更新的顺序和列更新的顺序不作限定。分层译码可以与其他译码算法结合以提升迭代的收敛速度。如图8所示为分层译码算法的流程示意图,校验矩阵为5行9列,分层迭代译码的方法为:1、对第1行进行更新,2、对第1行中元素为“1”对应的所有列进行更新;3、对第2行进行更新,4、对第2行中元素为“1”对应的所有列进行更新;5、对第3行进行更新,6、然后对第3行中元素为“1”对应的所有列进行更新;7、对第4行进行更新,8、然后对第4行中元素为“1”对应的所有列进行更新;9、对第5行进行更新,10、然后对第5行中元素为“1”的所有列进行更新。
3、联合归一化偏移最小和(combined normalized and offset min-sum,CNOMS)算法。
其中,CNOMS算法与分层译码结合时称为联合归一化偏移最小和(layered combined normalized and offset min-sum,LCNOMS)算法。CNOMS是MS算法中的公式1进行改进,在公式1的基础上增加了归一化修正因子和偏移值修正因子。
其中在第k次迭代过程中,校验节点i发送给变量节点j的信息R ij[k]如公式3所示:
Figure PCTCN2018110860-appb-000014
其中,α'为归一化修正因子,β'为偏移值修正因子,min()为求最小值操作,max()为求最大值操作。
其中,β'=0时,该算法也可以称为归一化最小和(normalized min-sum,NMS)算法。
公式3中其他参数的说明可参照MS算法,此处不再赘述。
Figure PCTCN2018110860-appb-000015
其中,变量节点j发送给第i个变量节点的信息和MS算法相同。
CNOMS算法中各个参数的说明和参照MS算法中的描述,此处不再赘述。
综上,CNOMS算法只考虑了对校验节点更新过程进行修正,未考虑对其他环节的修正,因此CNOMS算法的译码性能还有进一步提升的空间。
4、加权和(weighted sum,WS)算法。
WS算法是在CNOMS算法的基础上变换得到的,WS算法又称为CNOMS-WS算法。在WS算法和分层译码算法集合时又称为联合归一化偏移最小和-加权(LCNOMS-WS)算法。
其中,在第k次迭代的过程中,变量节点j发送给校验节点i的信息Q ji根据如下公式进行计算:
Figure PCTCN2018110860-appb-000016
Q ji[k]=γ·Q ji[k-1]+(1-γ)·Q' ji[k];
其中,γ∈(0,1)。WS算法中其他参数的定义可参照公式1的描述,此处不再赘述。
综上,WS算法在迭代的过程中需要引入大量的乘法运算和加法运算,运算量比较大,同时需要存储上一次迭代的信息,对存储空间的需求量也比较大。
5、翻转置零(flip reset,FR)算法。在FR算法是在CNOMS算法的基础上进行变换得到的,FR算法又称为CNOMS-FS算法。当FR算法和分层译码算法结合时又称为联合归一化偏移最小和-翻转置零(LCNOMS-FR)算法。
在第k次迭代的过程中,变量节点j发送给校验节点i的信息根据以下公式进行计算:
Figure PCTCN2018110860-appb-000017
Figure PCTCN2018110860-appb-000018
FR算法中的各个参数的定义可参照WS算法中的描述,此处不再赘述。
综上,FR算法在相邻的两次迭代的信息出现符号翻转时,将当前迭代的信息修正为0,这样存在的问题是会降低迭代收敛的速度,在迭代次数减少时,译码性能不佳。
6、翻转求和(flip sum,FS)算法。FS是在CNOMS算法的基础上变换得到的,FS算法又称为CNOMO-FS算法。当FS算法与分层译码算法结合时又称为联合归一化偏移最小和-翻转求和(LCNOMS-FS)算法。
在第k次迭代的过程中,变量节点j发送给校验节点i的信息根据以下公式进行计算:
Figure PCTCN2018110860-appb-000019
Figure PCTCN2018110860-appb-000020
其中,FS算法中各个参数的定义可参照MS算法的描述,此处不再赘述。
综上,FS算法在相邻迭代的信息出现符号翻转时,将当前迭代的信息修正为相邻迭代的信息的和值,存在的问题是需要将上述迭代的信息都存储下来,对存储空间的需求较大,同时译码性能相对CNOMS算法的提升有限。
参见图9,为本发明实施例提供的接收端的LDPC码的译码方法的流程示意图,在本发明实施例中,所述方法包括:
S901、接收软值序列。
具体的,发送端将信息比特序列进行LDPC编码,将编码后的比特序列进行星座调制,将星座调制后的符号映射到资源,资源为资源块(resource block,RB)或资源单元(resource element,RE),将资源通过载波调制得到无线信号,向发送端发送无线信号。接收端接收来自发送端的无线信号,解析无线信号得到资源块,将资源块进行解调后得到软值序列,软值序列包括多个软值,每个软值对应一个比特,软值序列对应一个编码比特序列,编码比特序列是采用LDPC编码生成的。其中,接收端可以是网络设备或终端设备。
S902、对软值序列利用校验矩阵进行迭代译码,得到信息比特序列。
具体的,校验矩阵可以是根据扩展因子、基图矩阵和偏移值矩阵得到,具体可参照图4至图6的实施例的描述。接收端使用迭代译码的方式对编码序列进行译码,每进行一次迭代后得到的译码结果根据校验矩阵对应的所有校验方程进行校验,如果校验通过,表明译码结果为正确的,译码成功;如果校验不通过,表明译码结果是错误的,若迭代次数小于最大迭代次数,继续进行下一次迭代,否则译码失败。
实施例一、翻转加权和(flip weighted sum,FWS)算法。
在第k次迭代的过程中,比较Q ji[k-1]和Q' ji[k]的符号位,在Q ji[k-1]和Q ji[k]的符号位不相同时,根据Q ji[k-1]和Q' ji[k]进行加权求和得到的Q ji[k];i是校验节点的序号,j是变量节点的序号,k为大于或等于1的整数,Q ji[k]是第k次迭代过程中变量节点j发送给校验节点i的第一信息,Q ji[k-1]是k-1次迭代过程中变量节点j发送给校验节点i的第一信息,Q' ji[k]是基于联合归一化偏移最小和CNOMS算法得到的第k次迭代过程中变量节 点j发送给校验节点i的第二信息。
具体的,符号位表示参数值的正负,例如:Q ji[k-1]的值为-5,Q' ji[k]的值为1,则Q ji[k-1]和Q' ji[k]的符号位不相同;又例如:Q ji[k-1]的值为-3,Q' ji[k]的值为-1,则Q ji[k-1]和Q' ji[k]的符号位相同。其中,k=1时,Q ji[0]=λ j,λ j是软值序列中第j个软值。
综上,本发明实施例只有在相邻两次迭代的Q ji[k-1]和Q' ji[k]符号位出现变化时,才做加权和进行修正,相对于WS算法不需要每次都做加权和进行修正,这样可以节省运算量。
在一种可能的实施方式中,所述迭代译码还包括:
在Q ji[k-1]和Q' ji[k]的符号位相同的情况下,Q ji[k]=Q' ji[k]。
在一种可能的实施方式中,在第k次迭代之前,预先存储Q ji[k-1]。
在一种可能的实施方式中,所述根据Q ji[k-1]和Q' ji[k]进行加权求和得到的Q ji[k]包括:
根据如下的公式得到Q ji[k]:
Q ji[k]=γ·Q ji[k-1]+(1-γ)·Q' ji[k];其中,0<γ<1。
具体的,在k次迭代过程中,Q ji[k]可以用如下公式来表示:
Figure PCTCN2018110860-appb-000021
在一种可能的实施方式中,所述比较Q ji[k-1]和Q' ji[k]的符号位包括:
在Q ji[k-1]和Q' ji[k]的乘积大于或等于0时,确定Q ji[k-1]和Q' ji[k]的符号位相同;或
在Q ji[k-1]和Q' ji[k]的乘积小于0时,确定Q ji[k-1]和Q' ji[k]的符号位不相同。
在一种可能的实施方式中,根据如下公式计算Q' ji[k]:
Figure PCTCN2018110860-appb-000022
Figure PCTCN2018110860-appb-000023
其中,α'是所述归一化修正因子,β'是所述偏移值修正因子,α'≤1,β'>0,min为求最小值操作,max为求最大值操作,V(i)\j表示与校验节点i相连的除变量节点j之外的其余变量节点;λ j是所述软值序列中第j个软值的最大似然比信息;C(j)\i表示与变量节点j相连的除校验节点i之外的其余校验节点的集合。k=0时,R i' j[0]=0,Q' ji[0]=λ j,λ j是软值序列中第j个软值。
在一种可能的实施方式中,采用分层方式进行所述迭代译码。
其中,分层方式进行迭代译码的过程可参照图8的描述,此处不再赘述,通过分层译码的方法能进一步提高收敛速度。分层译码算法与FWS算法结合时又称为LCNOMS+FWS算法。
实施例二、翻转退火(flip anneal,FA)算法。
在第k次的迭代过程中,比较Q ji[k-1]和Q' ji[k]的符号位,在Q ji[k-1]和Q' ji[k]的符号位不相同时,根据归一化修正因子、偏移值修正因子和Q' ji[k]得到的Q ji[k];i是校验节点的序号,j是变量节点的序号,k为大于或等于1的整数,Q ji[k]是第k次迭代过程中变量节点j发送给校验节点i的第一信息,Q ji[k-1]是k-1次迭代过程中变量节点j发送给校验节点i的第一信息,Q' ji[k]是基于CNOMS算法得到的第k次迭代过程中变量节点j发送给校验节点i的第二信息;在所述校验矩阵对应的所有校验方程校验通过或迭代次数达到最大迭代次数时,停止迭代译码。
综上,本发明实施例只有在相邻两次迭代的Q ji[k-1]和Q' ji[k]符号位发生翻转时,才做加权和进行修正,相对于WS算法不需要每次都做加权和进行修正,这样可以节省运算量。
在一种可能的实施方式中,所述迭代译码还包括:
在Q ji[k-1]和Q' ji[k]的符号位相同时,Q ji[k]=Q' ji[k]。
在一种可能的实施方式中,在第k次迭代之前,预先存储Q ji[k-1]的符号位。
具体的,预先存储上一次迭代的信息的符号位,例如:只需要用一个比特位就能表示符号位,不需要存储上一次迭代的信息,减少了存储空间的需求。
在一种可能的实施方式中,所述根据归一化修正因子、偏移值修正因子和Q' ji[k]得到的Q ji[k]包括:
根据如下公式得到Q ji[k]:
α·sgn(Q' ji[k])·max{|Q' ji[k]|-β,0};
其中,α是归一化修正因子,β是偏移值修正因子,sgn是取符号位操作,max为求最大值操作,α≤1,β>0。
具体的,确定Q ji[k]可以用如下公式来表示:
Figure PCTCN2018110860-appb-000024
在一种可能的实施方式中,所述比较Q ji[k-1]和Q' ji[k]的符号位包括:
在Q ji[k-1]和Q' ji[k]的乘积大于或等于0时,确定Q ji[k-1]和Q' ji[k]的符号位相同;或
在Q ji[k-1]和Q' ji[k]的乘积小于0时,确定Q ji[k-1]和Q' ji[k]的符号位不相同。
在一种可能的实施方式中,所述迭代过程还包括:根据如下公式计算Q' ji[k]:
Figure PCTCN2018110860-appb-000025
Figure PCTCN2018110860-appb-000026
其中,α'是归一化修正因子,β'是偏移值修正因子,α'≤1,β'>0,min为求最小值操作,max为求最大值操作,V(i)\j表示与校验节点i相连的除变量节点j之外的其余变量节点;λ j是所述软值序列中第j个软值;C(j)\i表示与变量节点j相连的除校验节点i之外的其余校验节点的集合;k=0时,R' ij[0]=0,Q' ji[0]=λ j,λ j是软值序列中第j个软值。
在一种可能的实施方式中,采用分层方式进行所述迭代译码。
具体的,分层译码算法和FA算法结合时又称为LCNOMS+FA算法。
参见图10,为本发明实施例提供的各个译码算法的性能曲线图。
译码过程采用的参数:信息块长度是3840,编码码率是1/5,使用的基图矩阵是BG2,横坐标是译码器的最大迭代次数T_"max",纵坐标是误块率(block error rate,BLER)为10%时需要的信噪比值。
图10中的各个译码算法默认使用了分层译码,图中6条曲线分别是LCNOMS算法、LCNOMS+WS算法、LCNOMS+FR算法、LCNOMS+FS算法、本发明实施例的LCNOMS+FWS算法、本实施例的LCNOMS+FA算法。
从图中10可以看到,本实施例提出的LCNOMS+FWS算法和LCNOMS+FA算法,性能明显好于LCNOMS+FR算法和LCNOMS+FS算法,与LCNOMS+WS算法的性能相当,但是本发明实施例的LCNOMS+FWS算法,运算复杂度明显低于LCNOMS+WS算法。本发明实施例的LCNOMS+FA算法,不仅运算复杂度明显低于LCNOMS+WS算法,而且存储空间的需求也明显小于LCNOMS+WS算法。此外,在保证相同误块率性能的情况下,本实施例提出的LCNOMS+FWS算法和LCNOMS+FA算法需要的迭代次数明显少于LCNOMS算法、LCNOMS+FR算法和LCNOMS+FS算法,因此本实施例提出的LCNOMS+FWS算法和LCNOMS+FA算法可以显著提升LDPC译码器的吞吐率。
上述详细阐述了本发明实施例的方法,下面提供了本发明实施例的装置的结构示意图,以下简称装置11,装置11包括处理单元1101和收发单元1102,该装置8用于执行图9的实施例中接收端的行为功能。
实施例一:
接收单元1102,用于接收软值序列;其中,所述软值序列承载信息比特序列的信息。
处理单元1101,用于对所述软值序列利用校验矩阵进行迭代译码,得到信息比特序列;
其中,所述迭代译码包括:在第k次迭代的过程中,比较Q ji[k-1]和Q' ji[k]的符号位,在Q ji[k-1]和Q' ji[k]的符号位不相同时,根据Q ji[k-1]和Q' ji[k]进行加权求和得到的Q ji[k];在Q ji[k-1]和Q' ji[k]的符号位相同的情况下,Q ji[k]=Q' ji[k]。i是校验节点的序号,j是变量节点的序号,k为大于或等于1的整数,Q ji[k]是第k次迭代过程中变量节点j发送给校验节点i的第一信息,Q ji[k-1]是k-1次迭代过程中变量节点j发送给校验节点i的第一信息,Q' ji[k]是基于联合归一化偏移最小和CNOMS算法得到的第k次迭代过程中变量节点j发送给校验节点i的第二信息;在所述校验矩阵对应的所有校验方程校验通过或迭代次数达到最大迭代次数时,停止迭代译码。
在一种可能的设计中,装置11还包括:存储单元(图11中未画出)。
所述存储单元,用于在第k次迭代之前,预先存储Q ji[k-1]。
在一种可能的设计中,所述处理单元1101根据Q ji[k-1]和Q' ji[k]进行加权求和得到的Q ji[k]包括:
根据如下的公式得到Q ji[k]:
Q ji[k]=γ·Q ji[k-1]+(1-γ)·Q' ji[k];其中,0<γ<1。
在一种可能的设计中,所述处理单元比较Q ji[k-1]和Q' ji[k]的符号位包括:
在Q ji[k-1]和Q' ji[k]的乘积大于或等于0时,确定Q ji[k-1]和Q' ji[k]的符号位相同;或
在Q ji[k-1]和Q' ji[k]的乘积小于0时,确定Q ji[k-1]和Q' ji[k]的符号位不相同。
在一种可能的设计中,处理单元1101还用于:
根据如下公式计算Q' ji[k]:
Figure PCTCN2018110860-appb-000027
Figure PCTCN2018110860-appb-000028
其中,α'是归一化修正因子,β'是偏移值修正因子,min为求最小值操作,α'≤1,β'>0,max为求最大值操作,V(i)\j表示与校验节点i相连的除变量节点j之外的其余变量节点;λ j是所述软值序列中第j个软值;C(j)\i表示与变量节点j相连的除校验节点i之外的其余校验节点的集合。
在一种可能的设计中,采用分层译码算法进行所述迭代译码。
实施例二:
收发单元1102,用于接收软值序列;其中,所述软值序列承载信息比特序列的信息。
处理单元1101,用于将根据校验矩阵对所述软值序列进行迭代译码,得到信息比特序列;
其中,所述迭代译码包括:在第k次的迭代过程中,比较Q ji[k-1]和Q' ji[k]的符号位,在Q ji[k-1]和Q' ji[k]的符号位不相同时,根据归一化修正因子、偏移值修正因子和Q' ji[k]得 到的Q ji[k];在Q ji[k-1]和Q' ji[k]的符号位相同时,Q ji[k]=Q' ji[k];i是校验节点的序号,j是变量节点的序号,k为大于或等于1的整数,Q ji[k]是第k次迭代过程中变量节点j发送给校验节点i的第一信息,Q ji[k-1]是k-1次迭代过程中变量节点j发送给校验节点i的第一信息,Q' ji[k]是基于联合归一化偏移最小和CNOMS算法得到的第k次迭代过程中变量节点j发送给校验节点i的第二信息;在所述校验矩阵对应的所有校验方程校验通过或迭代次数达到最大迭代次数时,停止迭代译码。
在一种可能的设计中,装置11还包括:
储存单元(图11中未画出),用于在第k次迭代之前,预先存储Q ji[k-1]的符号位。
在一种可能的设计中,所述处理单元还用于:
根据如下公式得到Q ji[k]:
α·sgn(Q' ji[k])·max{|Q' ji[k]|-β,0};
其中,α是归一化修正因子,β是偏移值修正因子,α≤1,β>0,sgn是取符号位操作,max为求最大值操作。
在一种可能的设计中,处理单元1101比较Q ji[k-1]和Q' ji[k]的符号位包括:
在Q ji[k-1]和Q' ji[k]的乘积大于或等于0时,确定Q ji[k-1]和Q' ji[k]的符号位相同;或
在Q ji[k-1]和Q' ji[k]的乘积小于0时,确定Q ji[k-1]和Q' ji[k]的符号位不相同。
在一种可能的设计中,处理单元1101还用于:
根据如下公式计算Q' ji[k]:
Figure PCTCN2018110860-appb-000029
Figure PCTCN2018110860-appb-000030
其中,α'是归一化修正因子,β'是偏移值修正因子,α'≤1,β'>0,min为求最小值操作,max为求最大值操作,V(i)\j表示与校验节点i相连的除变量节点j之外的其余变量 节点;λ j是所述软值序列中第j个软值;C(j)\i表示与变量节点j相连的除校验节点i之外的其余校验节点的集合。
在一种可能的设计中,采用分层译码算法进行所述迭代译码。
上述装置实施例仅列出了模块之间的逻辑功能,具体的执行过程与有益效果请参照其对应的方法实施例。
装置11可以是终端设备或网络设备,也可以为实现相关功能的译码器、现场可编程门阵列(field-programmable gate array,FPGA),专用集成芯片,系统芯片(system on chip,SoC),中央处理器(central processor unit,CPU),网络处理器(network processor,NP),数字信号处理电路,微控制器(micro controller unit,MCU),还可以采用可编程控制器(programmable logic device,PLD)或其他集成芯片。
本发明实施例和图9的方法实施例基于同一构思,其带来的技术效果也相同,具体过程可参照图9的方法实施例的描述,此处不再赘述。
图12为本发明实施例提供的一种装置结构示意图,以下简称装置12,装置12可以集成于前述的网络设备或终端设备,如图12所示,该装置包括:存储器1202、处理器1201、收发器1203。
存储器1202可以是独立的物理单元,与处理器1201和收发器1203可以通过总线连接。存储器1202、处理器1201、收发器1203也可以集成在一起,通过硬件实现等。
存储器1202用于存储实现以上方法实施例,或者装置实施例各个模块的程序,处理器1201调用该程序,执行以上方法实施例的操作。
可选地,当上述实施例的LDPC码的译码方法中的部分或全部通过软件实现时,装置也可以只包括处理器。用于存储程序的存储器位于装置之外,处理器通过电路/电线与存储器连接,用于读取并执行存储器中存储的程序。
处理器可以是中央处理器(central processing unit,CPU),网络处理器(network processor,NP)或者CPU和NP的组合。
处理器还可以进一步包括硬件芯片。上述硬件芯片可以是专用集成电路(application-specific integrated circuit,ASIC),可编程逻辑器件(programmable logic device,PLD)或其组合。上述PLD可以是复杂可编程逻辑器件(complex programmable logic device,CPLD),现场可编程逻辑门阵列(field-programmable gate array,FPGA),通用阵列逻辑(generic array logic,GAL)或其任意组合。
存储器可以包括易失性存储器(volatile memory),例如随机存取存储器(random-access memory,RAM);存储器也可以包括非易失性存储器(non-volatile memory),例如快闪存储器(flash memory),硬盘(hard disk drive,HDD)或固态硬盘(solid-state drive,SSD);存储器还可以包括上述种类的存储器的组合。
上述实施例中,发送模块或发射器执行上述各个方法实施例发送的步骤,接收模块或接收器执行上述各个方法实施例接收的步骤,其它步骤由其他模块或处理器执行。发送模块和接收模块可以组成收发模块,接收器和发射器可以组成收发器。
本申请实施例还提供了一种计算机存储介质,存储有计算机程序,该计算机程序用于执行上述实施例提供的LDPC码的译码方法。
本申请实施例还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例提供的LDPC码的译码方法。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

Claims (22)

  1. 一种低密度奇偶校验LDPC码的译码方法,其特征在于,包括:
    接收软值序列;其中,所述软值序列承载信息比特序列的信息;
    对所述软值序列利用校验矩阵进行迭代译码,得到信息比特序列;
    其中,所述迭代译码包括:在第k次迭代的过程中,比较Q ji[k-1]和Q' ji[k]的符号位,在Q ji[k-1]和Q' ji[k]的符号位不相同时,根据Q ji[k-1]和Q' ji[k]进行加权求和得到的Q ji[k];在Q ji[k-1]和Q' ji[k]的符号位相同的情况下,Q ji[k]=Q' ji[k];i是校验节点的序号,j是变量节点的序号,k为大于或等于1的整数,Q ji[k]是第k次迭代过程中变量节点j发送给校验节点i的第一信息,Q ji[k-1]是k-1次迭代过程中变量节点j发送给校验节点i的第一信息,Q'ji[k]是基于联合归一化偏移最小和CNOMS算法得到的第k次迭代过程中变量节点j发送给校验节点i的第二信息;在所述校验矩阵对应的所有校验方程校验通过或迭代次数达到最大迭代次数时,停止迭代译码。
  2. 根据权利要求1所述的方法,其特征在于,在第k次迭代之前,预先存储Q ji[k-1]。
  3. 根据权利要求1或2所述的方法,其特征在于,所述根据Q ji[k-1]和Q' ji[k]进行加权求和得到的Q ji[k]包括:
    根据如下的公式得到Q ji[k]:
    Q ji[k]=γ·Q ji[k-1]+(1-γ)·Q′ ji[k];其中,0<γ<1。
  4. 一种LDPC的译码方法,其特征在于,包括:
    接收软值序列;其中,所述软值序列承载信息比特序列的信息;
    根据校验矩阵对所述软值序列进行迭代译码,得到信息比特序列;
    其中,所述迭代译码包括:在第k次的迭代过程中,比较Q ji[k-1]和Q' ji[k]的符号位, 在Q ji[k-1]和Q' ji[k]的符号位不相同时,根据归一化修正因子、偏移值修正因子和Q' ji[k]得到的Q ji[k];在Q ji[k-1]和Q' ji[k]的符号位相同时,Q ji[k]=Q' ji[k];i是校验节点的序号,j是变量节点的序号,k为大于或等于1的整数,Q ji[k]是第k次迭代过程中变量节点j发送给校验节点i的第一信息,Q ji[k-1]是k-1次迭代过程中变量节点j发送给校验节点i的第一信息,Q' ji[k]是基于联合归一化偏移最小和CNOMS算法得到的第k次迭代过程中变量节点j发送给校验节点i的第二信息;在所述校验矩阵对应的所有校验方程校验通过或迭代次数达到最大迭代次数时,停止迭代译码。
  5. 根据权利要求4所述的方法,其特征在于,在第k次迭代之前,预先存储Q ji[k-1]的符号位。
  6. 根据权利要求4或5所述的方法,其特征在于,所述迭代译码还包括:
    根据如下公式得到Q ji[k]:
    α·sgn(Q′ ji[k])·max{|Q′ ji[k]|-β,0};
    其中,α是归一化修正因子,β是偏移值修正因子,sgn是取符号位操作,max为求最大值操作,α≤1,β>0。
  7. 根据权利要求1至6任意一项所述的方法,其特征在于,所述比较Q ji[k-1]和Q' ji[k]的符号位包括:
    在Q ji[k-1]和Q' ji[k]的乘积大于或等于0时,确定Q ji[k-1]和Q' ji[k]的符号位相同;或
    在在Q ji[k-1]和Q' ji[k]的乘积小于0时,确定Q ji[k-1]和Q' ji[k]的符号位不相同。
  8. 根据权利要求1至7任意一项所述的方法,其特征在于,所述迭代过程还包括:根据如下公式计算Q' ji[k]:
    Figure PCTCN2018110860-appb-100001
    Figure PCTCN2018110860-appb-100002
    其中,α'是归一化修正因子,β'是偏移值修正因子,α'≤1,β'>0,min为求最小值操作,max为求最大值操作,V(i)\j表示与校验节点i相连的除变量节点j之外的其余变量节点;λ j是所述软值序列中第j个软值;C(j)\i表示与变量节点j相连的除校验节点i之外的其余校验节点的集合。
  9. 根据权利要求1至8任意一项所述的方法,其特征在于,采用分层译码算法进行所述迭代译码。
  10. 一种LDPC码的译码装置,其特征在于,包括:
    接收单元,用于接收软值序列;其中,所述软值序列承载信息比特序列的信息;
    处理单元,用于对所述软值序列利用校验矩阵进行迭代译码,得到信息比特序列;
    其中,所述迭代译码包括:在第k次迭代的过程中,比较Q ji[k-1]和Q' ji[k]的符号位,在Q ji[k-1]和Q' ji[k]的符号位不相同时,根据Q ji[k-1]和Q' ji[k]进行加权求和得到的Q ji[k];在Q ji[k-1]和Q' ji[k]的符号位相同的情况下,Q ji[k]=Q' ji[k];i是校验节点的序号,j是变量节点的序号,k为大于或等于1的整数,Q ji[k]是第k次迭代过程中变量节点j发送给校验节点i的第一信息,Q ji[k-1]是k-1次迭代过程中变量节点j发送给校验节点i的第一信息,Q' ji[k]是基于联合归一化偏移最小和CNOMS算法得到的第k次迭代过程中变量节点j发送给校验节点i的第二信息;在所述校验矩阵对应的所有校验方程校验通过或迭代次数达到最大迭代次数时,停止迭代译码。
  11. 根据权利要求10所述的装置,其特征在于,还包括:存储单元:
    所述存储单元,用于在第k次迭代之前,预先存储Q ji[k-1]。
  12. 根据权利要求10或11所述的装置,其特征在于,所述处理单元根据Q ji[k-1]和Q' ji[k]进行加权求和得到的Q ji[k]包括:
    根据如下的公式得到Q ji[k]:
    Q ji[k]=γ·Q ji[k-1]+(1-γ)·Q′ ji[k];其中,0<γ<1。
  13. 一种LDPC码的译码装置,其特征在于,包括:
    收发单元,用于接收软值序列;其中,所述软值序列承载信息比特序列的信息;
    处理单元,用于将根据校验矩阵对所述软值序列进行迭代译码,得到信息比特序列;
    其中,所述迭代译码包括:在第k次的迭代过程中,比较Q ji[k-1]和Q' ji[k]的符号位,在Q ji[k-1]和Q' ji[k]的符号位不相同时,根据归一化修正因子、偏移值修正因子和
    Figure PCTCN2018110860-appb-100003
    得到的Q ji[k];在Q ji[k-1]和Q' ji[k]的符号位相同时,Q ji[k]=Q' ji[k];i是校验节点的序号,j是变量节点的序号,k为大于或等于1的整数,Q ji[k]是第k次迭代过程中变量节点j发送给校验节点i的第一信息,Q ji[k-1]是k-1次迭代过程中变量节点j发送给校验节点i的第一信息,Q' ji[k]是基于联合归一化偏移最小和CNOMS算法得到的第k次迭代过程中变量节点j发送给校验节点i的第二信息;在所述校验矩阵对应的所有校验方程校验通过或迭代次数达到最大迭代次数时,停止迭代译码。
  14. 根据权利要求4所述的装置,其特征在于,还包括:
    储存单元,用于在第k次迭代之前,预先存储Q ji[k-1]的符号位。
  15. 根据权利要求13或14所述的方法,其特征在于,所述处理单元还用于:
    根据如下公式得到Q ji[k]:
    α·sgn(Q′ ji[k])·max{|Q′ ji[k]|-β,0};
    其中,α是归一化修正因子,β是偏移值修正因子,sgn是取符号位操作,max为求最大值操作,α≤1,β>0。
  16. 根据权利要求10至15任意一项所述的装置,其特征在于,所述处理单元比较 Q ji[k-1]和Q' ji[k]的符号位包括:
    在Q ji[k-1]和Q' ji[k]的乘积大于或等于0时,确定Q ji[k-1]和Q' ji[k]的符号位相同;或
    在Q ji[k-1]和Q' ji[k]的乘积小于0时,确定Q ji[k-1]和Q' ji[k]的符号位不相同。
  17. 根据权利要求10至16任意一项所述的装置,其特征在于,所述处理单元还用于:
    根据如下公式计算Q' ji[k]:
    Figure PCTCN2018110860-appb-100004
    Figure PCTCN2018110860-appb-100005
    其中,α'是归一化修正因子,β'是偏移值修正因子,α'≤1,β'>0,min为求最小值操作,max为求最大值操作,V(i)\j表示与校验节点i相连的除变量节点j之外的其余变量节点;λ j是所述软值序列中第j个软值;C(j)\i表示与变量节点j相连的除校验节点i之外的其余校验节点的集合。
  18. 根据权利要求10至17任意一项所述的装置,其特征在于,采用分层译码算法进行所述迭代译码。
  19. 一种LDPC码的译码装置,其特征在于,用于执行如权利要求1至9任一项所述的方法。
  20. 一种LDPC码的译码装置,其特征在于,包括:存储器和处理器;所述处理器被配置为支持所述装置执行如权利要求1至9任一项所述的方法的功能,所述存储器用于保存所述装置必要的程序和数据。
  21. 一种计算机存储介质,包括指令,当其在计算机上运行时,使得计算机执行如权利要求1至9任意一项所述的方法。
  22. 一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行如权利要求1至9任意一项所述的方法。
PCT/CN2018/110860 2018-10-18 2018-10-18 Ldpc码的译码方法和装置 WO2020077596A1 (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
PCT/CN2018/110860 WO2020077596A1 (zh) 2018-10-18 2018-10-18 Ldpc码的译码方法和装置
CN201880092688.7A CN112005499B (zh) 2018-10-18 2018-10-18 Ldpc码的译码方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2018/110860 WO2020077596A1 (zh) 2018-10-18 2018-10-18 Ldpc码的译码方法和装置

Publications (1)

Publication Number Publication Date
WO2020077596A1 true WO2020077596A1 (zh) 2020-04-23

Family

ID=70284388

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2018/110860 WO2020077596A1 (zh) 2018-10-18 2018-10-18 Ldpc码的译码方法和装置

Country Status (2)

Country Link
CN (1) CN112005499B (zh)
WO (1) WO2020077596A1 (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112039533A (zh) * 2020-08-05 2020-12-04 Oppo广东移动通信有限公司 数据处理方法、装置、译码器、设备及计算机存储介质
CN112332870A (zh) * 2020-11-12 2021-02-05 Oppo广东移动通信有限公司 译码方法、装置、通信芯片及网络设备
CN114598423A (zh) * 2022-03-14 2022-06-07 西安电子科技大学 联合gmsk与ldpc的解调译码的方法、装置及介质
CN115037412A (zh) * 2022-05-23 2022-09-09 山东大学 高动态通信系统中联合载波同步的自适应迭代译码方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101436864A (zh) * 2007-11-12 2009-05-20 华为技术有限公司 一种低密度奇偶校验码的译码方法及装置
US8341492B2 (en) * 2008-07-28 2012-12-25 Broadcom Corporation Quasi-cyclic LDPC (low density parity check) code construction
CN106027069A (zh) * 2016-05-13 2016-10-12 华南理工大学 一种循环切换的混合加权比特翻转ldpc译码方法
CN108183713A (zh) * 2017-12-15 2018-06-19 南京大学 基于改进型最小和算法的ldpc译码器及其译码方法

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100891782B1 (ko) * 2002-06-11 2009-04-07 삼성전자주식회사 고속 데이터 전송 시스템에서 순방향 오류 정정 장치 및방법
JP5315693B2 (ja) * 2005-05-13 2013-10-16 日本電気株式会社 Ldpc符号化方式によるエンコーダ及びデコーダ
US8161345B2 (en) * 2008-10-29 2012-04-17 Agere Systems Inc. LDPC decoders using fixed and adjustable permutators

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101436864A (zh) * 2007-11-12 2009-05-20 华为技术有限公司 一种低密度奇偶校验码的译码方法及装置
US8341492B2 (en) * 2008-07-28 2012-12-25 Broadcom Corporation Quasi-cyclic LDPC (low density parity check) code construction
CN106027069A (zh) * 2016-05-13 2016-10-12 华南理工大学 一种循环切换的混合加权比特翻转ldpc译码方法
CN108183713A (zh) * 2017-12-15 2018-06-19 南京大学 基于改进型最小和算法的ldpc译码器及其译码方法

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112039533A (zh) * 2020-08-05 2020-12-04 Oppo广东移动通信有限公司 数据处理方法、装置、译码器、设备及计算机存储介质
CN112039533B (zh) * 2020-08-05 2023-10-10 Oppo广东移动通信有限公司 数据处理方法、装置、译码器、设备及计算机存储介质
CN112332870A (zh) * 2020-11-12 2021-02-05 Oppo广东移动通信有限公司 译码方法、装置、通信芯片及网络设备
CN114598423A (zh) * 2022-03-14 2022-06-07 西安电子科技大学 联合gmsk与ldpc的解调译码的方法、装置及介质
CN114598423B (zh) * 2022-03-14 2023-11-21 西安电子科技大学 联合gmsk与ldpc的解调译码的方法、装置及介质
CN115037412A (zh) * 2022-05-23 2022-09-09 山东大学 高动态通信系统中联合载波同步的自适应迭代译码方法
CN115037412B (zh) * 2022-05-23 2023-11-17 山东大学 高动态通信系统中联合载波同步的自适应迭代译码方法

Also Published As

Publication number Publication date
CN112005499A (zh) 2020-11-27
CN112005499B (zh) 2023-02-03

Similar Documents

Publication Publication Date Title
JP7152394B2 (ja) Ldpcコードを符号化および復号化するための方法および装置
WO2020077596A1 (zh) Ldpc码的译码方法和装置
WO2019158031A1 (zh) 编码的方法、译码的方法、编码设备和译码设备
US11671115B2 (en) High-rate long LDPC codes
CN108282259B (zh) 一种编码方法及装置
WO2018219064A1 (zh) 一种确定校验矩阵的方法及装置、计算机存储介质
US11323727B2 (en) Alteration of successive cancellation order in decoding of polar codes
US11936402B2 (en) Puncturing of polar codes with complementary sequences
EP3659259B1 (en) Enhanced information sequences for polar codes
US10673461B2 (en) Hybrid scheduling and latch-based pipelines for low-density parity-check decoding
WO2020088256A1 (zh) 译码方法及装置
US20200091934A1 (en) Information processing method and communications apparatus
WO2021073338A1 (zh) 译码方法和译码器
US20200343913A1 (en) Channel encoding method and encoding apparatus
EP3673581B1 (en) Upo compliant information sequences for polar codes
WO2017214851A1 (zh) 一种信号传输的方法、发射端及接收端
WO2022048431A1 (zh) 一种编码方法及装置
US11088706B2 (en) Information processing method, apparatus, and communications device
WO2024002171A1 (zh) 编码方法、装置及存储介质
US20230059393A1 (en) Method and apparatus for decoding of data in communication and broadcasting systems
EP4199396A1 (en) Method and apparatus for encoding polar code, and method and apparatus for decoding polar code
US20230353169A1 (en) Network node and method performed therein for handling received signal

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: 18936974

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: 18936974

Country of ref document: EP

Kind code of ref document: A1