CN113037295A - LDPC code basis matrix clipping method and device - Google Patents

LDPC code basis matrix clipping method and device Download PDF

Info

Publication number
CN113037295A
CN113037295A CN201911249518.8A CN201911249518A CN113037295A CN 113037295 A CN113037295 A CN 113037295A CN 201911249518 A CN201911249518 A CN 201911249518A CN 113037295 A CN113037295 A CN 113037295A
Authority
CN
China
Prior art keywords
ldpc code
basic matrix
matrix
length
decoding
Prior art date
Legal status (The legal status 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 status listed.)
Pending
Application number
CN201911249518.8A
Other languages
Chinese (zh)
Inventor
吴昊
李思舫
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
ZTE Corp
Original Assignee
ZTE Corp
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 ZTE Corp filed Critical ZTE Corp
Priority to CN201911249518.8A priority Critical patent/CN113037295A/en
Publication of CN113037295A publication Critical patent/CN113037295A/en
Pending legal-status Critical Current

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/1148Structural properties of the code parity-check or generator matrix
    • H03M13/116Quasi-cyclic LDPC [QC-LDPC] codes, i.e. the parity-check matrix being composed of permutation or circulant sub-matrices
    • H03M13/1162Array based LDPC codes, e.g. array codes

Abstract

The invention provides a method and a device for cutting an LDPC code basic matrix. Wherein, the method comprises the following steps: determining the length lambda from the selected starting point of the circular cache to the end point of the information bit; determining part or all check bits from the LDPC code basic matrix according to the length lambda; and cutting the LDPC code basic matrix according to the indexes of the partial or all check bits. By the clipping method provided by the embodiment of the invention, the size of the clipped matrix can be further reduced, so that the coding and decoding time delay can be further reduced, and the system throughput is improved.

Description

LDPC code basis matrix clipping method and device
Technical Field
The invention relates to the field of communication, in particular to a method and a device for cutting an LDPC code basic matrix.
Background
The 5G NR system is a next generation mobile communication system following the 4G LTE system. The 5G NR system supports three typical scenarios: the mobile broadband and mass machine communication are enhanced, and the ultra-reliability and low time delay are achieved. These scenarios place requirements on latency and throughput. LDPC (Low-density Parity-check) codes are chosen by the 5G NR system in view of latency and throughput requirements. In order to ensure good performance in all transport block sizes and code rate sizes, the 5G NR protocol specifies two base matrices (base maps): BG1 and BG 2. For BG1, the mother code rate of the base matrix is 1/3; for BG2, the mother code rate of the base matrix is 1/5.
The base matrix may be clipped by a correlation technique to obtain a smaller matrix, and the clipped smaller matrix is composed of the first i rows and the first j columns of the base matrix, where i and j are natural numbers. However, the clipped matrix is still large, and optimization of coding and decoding delay and system throughput is limited.
Disclosure of Invention
The embodiment of the invention provides a method and a device for cutting an LDPC code basic matrix, which are used for at least solving the problems of higher coding and decoding time delay and lower system throughput in the prior art.
According to an embodiment of the present invention, there is provided an LDPC code basis matrix clipping method, including:
determining a length λ from a start point of the loop buffer to an end point of the information bits, where λ is N-k0+K-2Z-θ;
Determining part or all of check bits from an LDPC code basic matrix according to the length lambda, wherein the length of the part or all of check bits is NpWherein N isp=E-max(K-2Z-k0,0);
Cutting the LDPC code basic matrix according to the indexes of the partial or all check bits;
where N is the size of the circular buffer, k0Is a cyclic cache selecting starting point, K is the length of all information bits in the LDPC code basic matrix, Z is an expansion factor, E is the length of rate matching, M is the information column of the cyclic cache, and theta is equal to
Figure BDA0002308627630000021
Optionally, in the case that E ≦ λ, the index of the partial or all parity bits includes [ δ ≦ λss+1,...,δe-1]Wherein, deltas=max(0,k0-M),δe=min(Nps,N-M);
At E>In the case of λ, the index of the partial or full parity bits includes [ δ's,δ′s+1,...,N-M-1]And [0,1,.. delta.,. delta.'e-1]Wherein, delta's=max(0,k0-M),δ′e=min(E-λ,δ′s)。
Optionally, in the case of encoding data, the tailoring the LDPC code base matrix according to the indexes of the part or all of the check bits includes:
selecting rows in the LDPC code basic matrix according to the following formula:
Figure BDA0002308627630000022
selecting columns in the LDPC code basic matrix according to the following formula:
Figure BDA0002308627630000023
cutting the LDPC code basic matrix according to the selected row and the selected column;
wherein, alpha is any vector with each element smaller than the row number of the basic matrix; beta is any vector with each element smaller than the number of columns of the base matrix.
Optionally, in the case of decoding data, the cutting the LDPC code base matrix according to the indexes of the part or all of the check bits includes:
selecting a behavior mu u mu 'in the LDPC code basic matrix, wherein the mu' is an empty set under the condition that the current decoding is the first decoding; when the current decoding is not the first decoding, mu' is a row of the basic matrix selected in the last decoding process;
selecting the column of the LDPC code basic matrix as v $ v ', wherein v' is an empty set under the condition that the current decoding is the first decoding; v' is the column of the basic matrix selected in the last decoding process under the condition that the current decoding is not the first decoding;
cutting the LDPC code basic matrix according to the selected row and the selected column;
wherein the content of the first and second substances,
Figure RE-GDA0002422285720000031
Figure BDA0002308627630000032
omega is any vector with each element smaller than the row number of the basic matrix; upsilon is any vector with each element smaller than the number of columns of the base matrix.
Optionally, α and β are zero vectors.
Optionally, ω and υ are zero vectors.
According to another embodiment of the present invention, there is provided an LDPC code basic matrix tailoring apparatus including:
a first determining module, configured to determine a length λ from a selection start point of the circular buffer to an end point of the information bits, where λ is N-k0+K-2Z-θ;
A second determining module, configured to determine, according to the length λ, part or all of check bits from an LDPC code basic matrix, where the length of the part or all of the check bits is NpWherein N isp=E-max(K-2Z-k0,0);
The cutting module is used for cutting the LDPC code basic matrix according to the indexes of the partial or all check bits;
where N is the size of the circular buffer, k0Is a cyclic cache selecting starting point, K is the length of all information bits in the LDPC code basic matrix, Z is an expansion factor, E is the length of rate matching, M is the information column of the cyclic cache, and theta is equal to
Figure BDA0002308627630000041
Optionally, in the case that E ≦ λ, the index of the partial or all parity bits includes [ δ ≦ λss+1,...,δe-1]Wherein, deltas=max(0,k0-M),δe=min(Nps,N-M);
At E>In the case of λ, the index of the partial or full parity bits includes [ δ's,δ′s+1,...,N-M-1]And [0,1,.. delta.,. delta.'e-1]Wherein, delta's=max(0,k0-M),δ′e=min(E-λ,δ′s)。
According to a further embodiment of the present invention, there is also provided a storage medium having a computer program stored therein, wherein the computer program is arranged to perform the steps of any of the method embodiments described above when executed.
According to yet another embodiment of the present invention, there is also provided an electronic device, including a memory and a processor, the memory having a computer program stored therein, the processor being configured to perform the steps of any of the above method embodiments by the computer program.
By the LDPC code basic matrix clipping method provided by the embodiment of the invention, the size of the clipped matrix can be further reduced, so that the coding and decoding time delay can be further reduced, and the system throughput can be improved.
Drawings
The accompanying drawings, which are included to provide a further understanding of the invention and are incorporated in and constitute a part of this application, illustrate embodiment(s) of the invention and together with the description serve to explain the invention without limiting the invention to a proper form. In the drawings:
FIG. 1 is a flowchart of a method for pruning an LDPC code basis matrix according to embodiment 1 of the present invention;
fig. 2 is a schematic diagram of a matrix obtained by clipping a base matrix before performing first retransmission decoding according to the related art;
fig. 3 is a schematic diagram of a matrix obtained by clipping a base matrix before performing retransmission decoding for the first time according to the method in embodiment 1 of the present invention;
FIG. 4 is a block diagram of an LDPC code basic matrix cutting apparatus according to embodiment 6 of the present invention.
Detailed Description
The invention will be described in detail hereinafter with reference to the accompanying drawings in conjunction with embodiments. It should be noted that the embodiments and features of the embodiments in the present application may be combined with each other without conflict.
It should be noted that the terms "first," "second," and the like in the description and claims of the present invention and in the drawings described above are used for distinguishing between similar elements and not necessarily for describing a particular sequential or chronological order.
Example 1
An embodiment 1 of the present invention provides a method for cutting an LDPC code basic matrix, and fig. 1 is a flowchart of a method for cutting an LDPC code basic matrix according to an embodiment 1 of the present invention, as shown in fig. 1, the flowchart includes the following steps:
step S102: determining a length λ from a start point of the loop buffer to an end point of the information bits, where λ is N-k0+K-2Z-θ;
Step S104: determining part or all check bits from the LDPC code basic matrix according to the length lambda, wherein the length of the part or all check bits is NpWherein N isp=E-max(K-2Z-k0,0);
Step S106: cutting the LDPC code basic matrix according to the indexes of the partial or all check bits;
where N is the size of the circular buffer, k0Is the initial point of circular buffer, K is the length of all information bits in the basic matrix of the LDPC code, Z is the extension factor, E is the length of rate matching, M is the information column of the circular buffer, theta is equal to
Figure BDA0002308627630000061
Note that the information bit end point in step S102 is an end point of all information bits in the LDPC code basic matrix. The check bits determined in step S104 are part or all of all check bits in the LDPC code basic matrix. Step S104 may be preceded by determining part or all of the information bit length N from the LDPC code basic matrixs=max(K-2Z-k00), the length N of some or all parity bits in step S104pCan be based on E-NsAnd (6) obtaining. Of course, in step S104, the length N of some or all of the check bitspOr according to E, K, Z, k directly0And (6) obtaining.
Optionally, in the case that E ≦ λ, the index of the partial or full parity bits includes [ δ ≦ λss+1,...,δe-1]Wherein, deltas=max(0,k0-M),δe=min(Nps,N-M);
At E>In the case of λ, the index of the partial or full parity bits includes [ δ's,δ′s+1,...,N-M-1]And [0,1,.. delta.,. delta.'e-1]Wherein, delta's=max(0,k0-M),δ′e=min(E-λ,δ′s)。
It should be noted that the indexes of the check bits in each interval are continuous.
Optionally, in the case of encoding data, the tailoring the LDPC code base matrix according to the indexes of the part or all of the check bits includes:
selecting rows in the LDPC code basic matrix according to the following formula:
Figure BDA0002308627630000071
selecting the columns in the LDPC code basic matrix according to the following formula:
Figure BDA0002308627630000073
cutting the LDPC code basic matrix according to the selected row and the selected column;
wherein, alpha is any vector with each element smaller than the row number of the basic matrix; beta is any vector with each element smaller than the number of columns of the base matrix.
It should be noted that, in the following description,
Figure BDA0002308627630000076
is continuous; but instead of the other end of the tube
Figure BDA0002308627630000075
And μ +2+ M/Z may be discontinuous.
Optionally, in the case of decoding data, the tailoring the LDPC code base matrix according to the indexes of the part or all of the check bits includes:
selecting a behavior mu u mu 'in the LDPC code basic matrix, wherein the mu' is an empty set under the condition that the current decoding is the first decoding; when the current decoding is not the first decoding, mu' is the row of the basic matrix selected in the last decoding process;
selecting a column of the LDPC code basic matrix as v $ v ', wherein v' is an empty set under the condition that the current decoding is the first decoding; v' is the row of the basic matrix selected in the last decoding process under the condition that the current decoding is not the first decoding;
cutting the LDPC code basic matrix according to the selected row and the selected column; wherein the content of the first and second substances,
Figure RE-GDA0002422285720000072
Figure BDA0002308627630000077
omega is any vector with each element smaller than the row number of the basic matrix; upsilon is any vector with each element smaller than the number of columns of the base matrix.
Optionally, α and β are zero vectors.
Optionally, ω and υ are zero vectors.
It should be noted that when α, β, ω, and θ are all zero vectors, the clipped matrix is the smallest, and the delay of system encoding or decoding is the lowest. In addition, the act of pruning the basis matrix occurs before encoding or decoding.
In specific implementation, vectors of alpha, beta, omega and upsilon can be set in a formula, then the vectors of alpha, beta, omega and upsilon are set as zero vectors, and clipping is carried out, so that a matrix obtained by clipping is a minimum matrix; if non-zero vectors are set in α, β, ω and υ, some redundant rows or columns remain in the clipped matrix. Or the vectors of alpha, beta, omega and upsilon are not set in the formula, and the cutting is directly carried out according to the minimum matrix, so that the matrix obtained by cutting is the minimum matrix; of course, some redundant rows or columns may be additionally reserved when clipping.
Fig. 2 is a schematic diagram of a matrix obtained by clipping a base matrix before performing first retransmission decoding (i.e., second decoding) according to the related art. Wherein, the first transmission redundancy version is 0, and the first retransmission redundancy version is 2. K96, E160, K025Z, 6Z, 50Z and 16Z. The square frame enclosed by the black solid line represents the basic matrix before the uncut; the grey rectangle enclosed by the black dashed line represents the smaller matrix after clipping.
Fig. 3 is a schematic diagram of a matrix obtained by clipping a base matrix before performing a first retransmission decoding (i.e., a second decoding) according to the method in embodiment 1 of the present invention. Wherein, the first transmission redundancy version is 0, and the first retransmission redundancy version is 2. K96, E160, K025Z, 6Z, 50Z and 16Z. The square frame surrounded by the black solid line represents a basic matrix; the 6 gray rectangles enclosed by the black dashed lines represent the smaller matrix after clipping.
It can be seen that the size of the matrix obtained by clipping using the method of embodiment 1 of the present invention is smaller than the size of the matrix obtained by clipping using the related art.
By the LDPC code basic matrix cutting method provided by the embodiment 1 of the invention, a matrix used by coding and decoding can be smaller, so that the coding or decoding time delay is reduced, and the coding and decoding throughput is improved.
It should be noted that the method in embodiment 1 of the present invention may be used in a base station, and may also be used in a user side.
Through the above description of the embodiments, those skilled in the art can clearly understand that the method according to the above embodiment 1 can be implemented by software plus a necessary general hardware platform, and certainly can also be implemented by hardware, but the former is a better embodiment in many cases. Based on such understanding, the technical solutions of the present invention may be embodied in the form of a software product, which is stored in a storage medium (e.g., ROM/RAM, magnetic disk, optical disk) and includes instructions for enabling a terminal device (e.g., a mobile phone, a computer, a server, or a network device) to execute the method according to the embodiments of the present invention.
Example 2
Embodiment 2 of the present invention provides another LDPC code basis matrix clipping method, which includes the following steps:
step S202: obtaining the length lambda from the selected starting point of the circular buffer to the end point of the information bit, wherein, the lambda is N-k0+K-2Z-θ;
When E is equal to λ, the index of the selected end point in the circular buffer is K-1.
Step S204: determining all or part of check bits from the LDPC code basic matrix, wherein the length of all or part of check bits is NpWherein N isp=E-max(K-2Z-k0,0);
When E ≦ λ, the index of the all or part of the parity bits determined from the circular buffer needs to include [ δ ≦ λss+1,...,δe-1]. Wherein, deltas=max(0,k0-M),δe=min(NpsN-M). When E is>λ, the index of the full or partial parity bits determined from the circular buffer needs to include [ δ's,δ′s+1,...,N-M-1]And [0,1,.. delta.,. delta.'e-1]. Wherein, delta's=max(0,k0-M),δ′e=min(E-λ,δ′s)。
Step S206: the base matrix is pruned according to the index of all or part of the check bits.
When encoding, the row and column of LDPC basic matrix are selected as follows
Figure BDA0002308627630000101
Order to
Figure BDA0002308627630000104
Selecting the clipped basis matrix behavior mu; and selecting the clipped basic matrix as v.
When decoding, the row and column of LDPC basic matrix are selected as follows
Figure BDA0002308627630000102
Order to
Figure BDA0002308627630000105
Selecting a clipped basic matrix behavior muu ', and for newly transmitting, namely decoding for the first time, wherein muu' is equal to an empty set; for retransmission, i.e. not decoding for the first time, mu' is equal to the base matrix row selected by the last decoding transmission; and selecting the base matrix column to be nu and nu ', and for newly transmitted nu ' to be equal to the empty set, and for retransmitted nu ' to be equal to the base matrix column selected by the last decoding transmission.
Where E is the length of rate matching, K is the length of all information bits in the LDPC code basis matrix, and K is the length of the entire information bits in the LDPC code basis matrix0Is the selection starting point of the circular buffer, M is the information column of the circular buffer, and N is the circular bufferThe size of the ring buffer, Z is the spreading factor, θ is equal to
Figure BDA0002308627630000103
Example 3
Embodiment 3 of the present invention provides another LDPC code matrix clipping method, including the following steps:
step S302: obtaining the length lambda from the selected starting point of the circular buffer to the end point of the information bit, wherein, the lambda is N-k0+K-2Z-θ;
When E is equal to λ, the index of the selected end point in the circular buffer is K-1.
Step S304: determining all or part of check bits from the LDPC code basic matrix, wherein the length of all or part of check bits is NpWherein N isp=E-max(K-2Z-k0,0);
When E ≦ λ, the index of the all or part of the parity bits determined from the circular buffer needs to include [ δ ≦ λss+1,...,δe-1]. Wherein, deltas=max(0,k0-M),δe=min(NpsN-M). When E is>λ, the index of the full or partial parity bits determined from the circular buffer needs to include [ δ's,δ′s+1,...,N-M-1]And [0,1,.. delta.,. delta.'e-1]. Wherein, delta's=max(0,k0-M),δ′e=min(E-λ,δ′s)。
Step S306: the base matrix is pruned according to the index of all or part of the check bits.
When encoding, the row and column of LDPC basic matrix are selected as follows
Figure BDA0002308627630000111
Order to
Figure BDA0002308627630000113
Where α is a non-zero vector, each element of which is less than the number of rows of the complete basis matrix.
Selecting the clipped basis matrix behavior mu; and selecting the clipped basic matrix as v.
When decoding, the row and column of LDPC basic matrix are selected as follows
Figure RE-GDA0002422285720000112
Order to
Figure BDA0002308627630000114
Where ω is a non-zero vector, each element of which is less than the number of rows of the complete basis matrix.
Selecting a clipped basic matrix behavior muu ', and for newly transmitting, namely decoding for the first time, wherein muu' is equal to an empty set; for retransmission, i.e. not decoding for the first time, mu' is equal to the base matrix row selected by the last decoding transmission; and selecting the base matrix column to be nu and nu ', and for newly transmitted nu ' to be equal to the empty set, and for retransmitted nu ' to be equal to the base matrix column selected by the last decoding transmission.
Where E is the length of rate matching, K is the length of all information bits in the LDPC code basis matrix, and K is the length of the entire information bits in the LDPC code basis matrix0Is the starting point of the selection of the circular buffer, M is the information column of the circular buffer, N is the size of the circular buffer, Z is the expansion factor, theta is equal to
Figure BDA0002308627630000121
Example 4
Embodiment 4 of the present invention provides another LDPC code matrix clipping method, including the steps of:
step S402: obtaining the length lambda from the selected starting point of the circular buffer to the end point of the information bit, wherein, the lambda is N-k0+K-2Z-θ;
When E is equal to λ, the index of the selected end point in the circular buffer is K-1.
Step S404: determining all or part of check bits from the LDPC code basic matrix, wherein the length of all or part of check bits is NpWherein N isp=E-max(K-2Z-k0,0);
When E ≦ λ, the index of the all or part of the parity bits determined from the circular buffer needs to include [ δ ≦ λss+1,...,δe-1]. Wherein, deltas=max(0,k0-M),δe=min(NpsN-M). When E is>λ, the index of the full or partial parity bits determined from the circular buffer needs to include [ δ's,δ′s+1,...,N-M-1]And [0,1,.. delta.,. delta.'e-1]. Wherein, delta's=max(0,k0-M),δ′e=min(E-λ,δ′s)。
Step S406: the base matrix is pruned according to the index of all or part of the check bits.
When encoding, the row and column of LDPC basic matrix are selected as follows
Figure BDA0002308627630000131
Order to
Figure BDA0002308627630000134
Where β is a non-zero vector, each element of the vector being less than the number of columns of the complete matrix.
Selecting the clipped basis matrix behavior mu; and selecting the clipped basic matrix as v.
When decoding, the row and column of LDPC basic matrix are selected as follows
Figure BDA0002308627630000132
Order to
Figure BDA0002308627630000135
Where v is a non-zero vector, each element of this vector being smaller than the number of columns of the complete matrix.
Selecting a clipped basic matrix behavior muu ', and for newly transmitting, namely decoding for the first time, wherein muu' is equal to an empty set; for retransmission, i.e. not decoding for the first time, mu' is equal to the base matrix row selected by the last decoding transmission; and selecting the base matrix column to be nu and nu ', and for newly transmitted nu ' to be equal to the empty set, and for retransmitted nu ' to be equal to the base matrix column selected by the last decoding transmission.
Where E is the length of rate matching, K is the length of all information bits in the LDPC code basis matrix, and K is the length of the entire information bits in the LDPC code basis matrix0Is the starting point of the selection of the circular buffer, M is the information column of the circular buffer, N is the size of the circular buffer, Z is the expansion factor, theta is equal to
Figure BDA0002308627630000133
Example 5
Embodiment 5 of the present invention provides another LDPC code matrix clipping method, including the following steps:
step S502: obtaining the length lambda from the selected starting point of the circular buffer to the end point of the information bit, wherein, the lambda is N-k0+K-2Z-θ;
When E is equal to λ, the index of the selected end point in the circular buffer is K-1.
Step S504: determining all or part of check bits from the LDPC code basic matrix, wherein the length of all or part of check bits is NpWherein N isp=E-max(K-2Z-k0,0);
When E ≦ λ, the index of the all or part of the parity bits determined from the circular buffer needs to include [ δ ≦ λss+1,...,δe-1]. Wherein, deltas=max(0,k0-M),δe=min(NpsN-M). When E is>λ, the index of the whole or part of the check bits determined from the circular bufferTo include [ delta's,δ′s+1,...,N-M-1]And [0,1,.. delta.,. delta.'e-1]. Wherein, delta's=max(0,k0-M),δ′e=min(E-λ,δ′s)。
Step S506: the base matrix is pruned according to the index of all or part of the check bits.
When encoding, the row and column of LDPC basic matrix are selected as follows
Figure BDA0002308627630000141
Order to
Figure BDA0002308627630000143
Wherein α is a non-zero vector, each element of the vector being smaller than the number of rows of the complete basis matrix; β is a non-zero vector, each element of which is less than the number of rows of the complete base matrix.
Selecting the clipped basis matrix behavior mu; and selecting the clipped basic matrix as v.
When decoding, the row and column of LDPC basic matrix are selected as follows
Figure RE-GDA0002422285720000142
Order to
Figure BDA0002308627630000144
Where ω is a non-zero vector, each element of this vector being smaller than the number of rows of the complete basis matrix; v is a non-zero vector, each element of which is smaller than the number of rows of the complete basis matrix.
Selecting a clipped basic matrix behavior muu ', and for newly transmitting, namely decoding for the first time, wherein muu' is equal to an empty set; for retransmission, i.e. not decoding for the first time, mu' is equal to the base matrix row selected by the last decoding transmission; and selecting the base matrix column to be nu and nu ', and for newly transmitted nu ' to be equal to the empty set, and for retransmitted nu ' to be equal to the base matrix column selected by the last decoding transmission.
Where E is the length of rate matching, K is the length of all information bits in the LDPC code basis matrix, and K is the length of the entire information bits in the LDPC code basis matrix0Is the starting point of the selection of the circular buffer, M is the information column of the circular buffer, N is the size of the circular buffer, Z is the expansion factor, theta is equal to
Figure BDA0002308627630000151
The difference between the above embodiments 2 to 5 is that when the base matrix is clipped according to the index of all or part of the check bits, the formula for selecting the rows and columns of the base matrix is different. That is, when selecting a row or a column, redundant non-zero vectors can be additionally reserved when clipping. Of course, there are other combinations than the above 4 combinations (4 coding and decoding formulas, each of which may have redundant non-zero vectors or no extra band vectors), and no description is given here for the other combinations. However, it should be noted that, when there is no non-zero vector, the matrix obtained by clipping is the smallest, and the decoding delay of the system coding is the lowest.
It should be noted that the operation of clipping the basis matrix occurs before encoding or decoding.
Example 6
Embodiment 6 of the present invention further provides a device for tailoring an LDPC code basic matrix, where the device is used to implement the foregoing embodiments and preferred embodiments, and the description of the device is omitted here. As used below, the term "module" may be a combination of software and/or hardware that implements a predetermined function. Although the means described in the embodiments below are preferably implemented in software, an implementation in hardware, or a combination of software and hardware is also possible and contemplated.
Fig. 4 is a block diagram of the structure of an LDPC code basic matrix cutting apparatus according to embodiment 6 of the present invention, and as shown in fig. 4, the apparatus includes:
first determination module 42For determining a length λ from a start point of the loop buffer to an end point of the information bits, where λ is N-k0+K-2Z-θ;
A second determining module 44, configured to determine, according to the length λ, part or all of the check bits from the LDPC code basic matrix, where the length of the part or all of the check bits is NpWherein N isp=E-max(K-2Z-k0,0);
A cropping module 46, configured to crop the LDPC code basic matrix according to the indexes of the part or all of the check bits;
where N is the size of the circular buffer, k0Is the initial point of circular buffer, K is the length of all information bits in the basic matrix of the LDPC code, Z is the extension factor, E is the length of rate matching, M is the information column of the circular buffer, theta is equal to
Figure BDA0002308627630000161
Optionally, in the case that E ≦ λ, the index of the partial or full parity bits includes [ δ ≦ λss+1,...,δe-1]Wherein, deltas=max(0,k0-M),δe=min(NpsN-M); at E>In the case of λ, the index of the partial or full parity bits includes [ δ's,δ′s+1,...,N-M-1]And [0,1,.. delta.,. delta.'e-1]Wherein, delta's=max(0,k0-M),δ′e=min(E-λ,δ′s)。
Optionally, embodiment 6 of the present invention further provides another LDPC code basis matrix tailoring apparatus.
Wherein the cropping module 46 comprises:
a first selecting module, configured to select a row in the LDPC code basic matrix according to the following formula:
Figure BDA0002308627630000171
a second selecting module, configured to select a column in the LDPC code basic matrix according to the following formula:
Figure BDA0002308627630000172
the first cutting submodule is used for cutting the LDPC code basic matrix according to the selected row and the selected column;
wherein, alpha is any vector with each element smaller than the row number of the basic matrix; beta is any vector with each element smaller than the number of columns of the base matrix.
The first selection module, the second selection module and the first cropping sub-module operate prior to encoding the data.
Optionally, embodiment 6 of the present invention further provides another LDPC code basis matrix cutting device.
Wherein the cropping module 46 comprises:
a third selecting module, configured to select a row in the LDPC code basic matrix according to the following formula: selecting a behavior mu u mu 'in the LDPC code basic matrix, wherein the mu' is an empty set under the condition that the current decoding is the first decoding; when the current decoding is not the first decoding, mu' is the row of the basic matrix selected in the last decoding process;
the fourth selecting module is used for selecting the column v £ v 'in the LDPC code basic matrix, wherein v' is an empty set under the condition that the current decoding is the first decoding; v' is the row of the basic matrix selected in the last decoding process under the condition that the current decoding is not the first decoding;
the second cutting submodule is used for cutting the LDPC code basic matrix according to the selected row and the selected column; wherein the content of the first and second substances,
Figure RE-GDA0002422285720000172
Figure BDA0002308627630000174
omega is any vector with each element smaller than the row number of the basic matrix; upsilon is any vector with each element smaller than the number of columns of the base matrix.
The third selection module, the fourth selection module and the second cropping sub-module operate prior to decoding the data.
Optionally, the α and the β are zero vectors.
Optionally, ω and υ are zero vectors.
It should be noted that, the above modules may be implemented by software or hardware, and for the latter, the following may be implemented, but not limited to: the modules are all positioned in the same processor; alternatively, the modules are respectively located in different processors in any combination.
Embodiments of the present invention also provide a computer-readable storage medium having a computer program stored thereon, where the computer program is arranged to perform the steps in any of the above-mentioned method embodiments when executed.
Alternatively, in the present embodiment, the storage medium may be configured to store a computer program for executing the following steps:
s1, determining the length lambda from the selection starting point of the circular buffer to the information bit end point, wherein lambda is N-k0+K-2Z-θ;
S2, determining part or all check bits from the LDPC code basic matrix according to the length lambda, wherein the length of the part or all check bits is NpWherein N isp=E-max(K-2Z-k0,0);
S3, cutting the LDPC code basic matrix according to the index of the partial or all check bits;
where N is the size of the circular buffer, k0Is the initial point of circular buffer, K is the length of all information bits in the basic matrix of the LDPC code, Z is the extension factor, E is the length of rate matching, M is the information column of the circular buffer, theta is equal to
Figure BDA0002308627630000191
Optionally, in this embodiment, the storage medium may include, but is not limited to: various media capable of storing computer programs, such as a usb disk, a Read-Only Memory (ROM), a Random Access Memory (RAM), a removable hard disk, a magnetic disk, or an optical disk.
Embodiments of the present invention also provide an electronic device comprising a memory having a computer program stored therein and a processor arranged to perform the steps of any of the above method embodiments by means of the computer program.
Optionally, in this embodiment, the processor may be configured to execute the following steps by a computer program:
s1, determining the length lambda from the selection starting point of the circular buffer to the information bit end point, wherein lambda is N-k0+K-2Z-θ;
S2, determining part or all check bits from the LDPC code basic matrix according to the length lambda, wherein the length of the part or all check bits is NpWherein N isp=E-max(K-2Z-k0,0);
S3, cutting the LDPC code basic matrix according to the index of the partial or all check bits;
where N is the size of the circular buffer, k0Is the initial point of circular buffer, K is the length of all information bits in the basic matrix of the LDPC code, Z is the extension factor, E is the length of rate matching, M is the information column of the circular buffer, theta is equal to
Figure BDA0002308627630000201
Optionally, the specific examples in this embodiment may refer to the examples described in the above embodiments and optional implementation manners, and this embodiment is not described herein again.
It will be apparent to those skilled in the art that the modules or steps of the invention described above may be implemented in a general purpose computing device, they may be centralized on a single computing device or distributed across a network of computing devices, and alternatively, they may be implemented in program code that is executable by a computing device, such that it may be stored in a memory device and executed by a computing device, and in some cases, the steps shown or described may be performed in an order different than that shown or described herein, or separately fabricated into individual integrated circuit modules, or multiple ones of them fabricated into a single integrated circuit module. Thus, the present invention is not limited to any specific combination of hardware and software.
The above description is only a preferred embodiment of the present invention, and is not intended to limit the present invention, and various modifications and changes may be made by those skilled in the art. Any modification, equivalent replacement, improvement and the like made within the principle of the present invention shall be included in the protection scope of the present invention.

Claims (10)

1. A method for pruning an LDPC code basis matrix, comprising:
determining a length λ from a start point of the loop buffer to an end point of the information bits, where λ is N-k0+K-2Z-θ;
Determining part or all of check bits from an LDPC code basic matrix according to the length lambda, wherein the length of the part or all of check bits is NpWherein N isp=E-max(K-2Z-k0,0);
Cutting the LDPC code basic matrix according to the indexes of the partial or all check bits;
where N is the size of the circular buffer, k0Is a cyclic cache selecting starting point, K is the length of all information bits in the LDPC code basic matrix, Z is an expansion factor, E is the length of rate matching, M is the information column of the cyclic cache, and theta is equal to
Figure FDA0002308627620000011
2. The method of claim 1, wherein in the case where E ≦ λ, the index for the partial or full parity bits includes [ δ ≦ λss+1,...,δe-1]Wherein, deltas=max(0,k0-M),δe=min(Nps,N-M);
At E>In the case of λ, the index of the partial or full parity bits includes [ δ's,δ′s+1,...,N-M-1]And [0,1,.. delta.,. delta.'e-1]Wherein, delta's=max(0,k0-M),δ′e=min(E-λ,δ′s)。
3. The method of claim 2, wherein the tailoring the LDPC code base matrix according to the indexes of the partial or full check bits in case of encoding data comprises:
selecting rows in the LDPC code basic matrix according to the following formula:
Figure FDA0002308627620000012
selecting columns in the LDPC code basic matrix according to the following formula:
Figure FDA0002308627620000021
cutting the LDPC code basic matrix according to the selected row and the selected column;
wherein, alpha is any vector with each element smaller than the row number of the basic matrix; beta is any vector with each element smaller than the number of columns of the base matrix.
4. The method of claim 2, wherein the tailoring the LDPC code base matrix according to the indexes of the part or all of the check bits in case of coding data comprises:
selecting a behavior mu u mu 'in the LDPC code basic matrix, wherein the mu' is an empty set under the condition that the current decoding is the first decoding; when the current decoding is not the first decoding, mu' is a row of the basic matrix selected in the last decoding process;
selecting the column of the LDPC code basic matrix as v $ v ', wherein v' is an empty set under the condition that the current decoding is the first decoding; v' is the row of the basic matrix selected in the last decoding process under the condition that the current decoding is not the first decoding;
cutting the LDPC code basic matrix according to the selected row and the selected column;
wherein the content of the first and second substances,
Figure RE-FDA0002422285710000022
Figure RE-FDA0002422285710000023
omega is any vector with each element smaller than the row number of the basic matrix; upsilon is any vector with each element smaller than the number of columns of the base matrix.
5. The method of claim 3, wherein said α and said β are zero vectors.
6. The method of claim 4, wherein ω and said υ are zero vectors.
7. An LDPC code fundamental matrix cutting device, comprising:
a first determining module, configured to determine a length λ from a selection start point of the circular buffer to an end point of the information bits, where λ is N-k0+K-2Z-θ;
A second determining module, configured to determine, according to the length λ, part or all of check bits from an LDPC code basic matrix, where the length of the part or all of the check bits is NpWherein N isp=E-max(K-2Z-k0,0);
The cutting module is used for cutting the LDPC code basic matrix according to the indexes of the partial or all check bits;
where N is the size of the circular buffer, k0Is a cyclic cache selecting starting point, K is the length of all information bits in the LDPC code basic matrix, Z is an expansion factor, E is the length of rate matching, M is the information column of the cyclic cache, and theta is equal to
Figure FDA0002308627620000031
8. The apparatus of claim 7, wherein in a case E ≦ λ, the index of the partial or full parity bits includes [ δ ≦ λss+1,...,δe-1]Wherein, deltas=max(0,k0-M),δe=min(Nps,N-M);
At E>In the case of λ, the index of the partial or full parity bits includes [ δ's,δ′s+1,...,N-M-1]And [0,1,.. delta.,. delta.'e-1]Wherein, delta's=max(0,k0-M),δ′e=min(E-λ,δ′s)。
9. An electronic apparatus comprising a memory and a processor, wherein the memory has stored therein a computer program, and the processor is arranged to execute the computer program to implement the method according to any of claims 1-6.
10. A computer-readable storage medium, in which a computer program is stored, wherein the computer program is arranged to perform the method according to any of claims 1-6 when executed.
CN201911249518.8A 2019-12-09 2019-12-09 LDPC code basis matrix clipping method and device Pending CN113037295A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911249518.8A CN113037295A (en) 2019-12-09 2019-12-09 LDPC code basis matrix clipping method and device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911249518.8A CN113037295A (en) 2019-12-09 2019-12-09 LDPC code basis matrix clipping method and device

Publications (1)

Publication Number Publication Date
CN113037295A true CN113037295A (en) 2021-06-25

Family

ID=76450964

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911249518.8A Pending CN113037295A (en) 2019-12-09 2019-12-09 LDPC code basis matrix clipping method and device

Country Status (1)

Country Link
CN (1) CN113037295A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023093411A1 (en) * 2021-11-23 2023-06-01 华为技术有限公司 Information processing method, and device
CN117081607A (en) * 2023-08-30 2023-11-17 白盒子(上海)微电子科技有限公司 NR LDPC partial check matrix coding and decoding indication information acquisition method

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023093411A1 (en) * 2021-11-23 2023-06-01 华为技术有限公司 Information processing method, and device
CN117081607A (en) * 2023-08-30 2023-11-17 白盒子(上海)微电子科技有限公司 NR LDPC partial check matrix coding and decoding indication information acquisition method
CN117081607B (en) * 2023-08-30 2024-03-19 白盒子(上海)微电子科技有限公司 NR LDPC partial check matrix coding and decoding indication information acquisition method

Similar Documents

Publication Publication Date Title
US10020913B2 (en) Polar code encoding method and device
CN110113132B (en) Coding and decoding method and terminal
JP5560362B2 (en) Downlink control information transmission method and codeword generation method therefor
CN105453466B (en) Rate matching method and device for polarization code
CN107370560B (en) Method, device and equipment for coding and rate matching of polarization code
KR100734389B1 (en) Codeword Automatic Repeat Request/Decoding Method and Transmitting/Receiving Apparatus by Using Feedback Information
US11394400B2 (en) Wireless communication data processing method and apparatus for reducing bit error rate
US11955992B2 (en) Rate matching method and apparatus for polar code
US11121724B2 (en) Data processing method and device
JP7216011B2 (en) Polar code rate matching method and apparatus
US11296723B2 (en) Methods and apparatuses for data processing in communication system
CN113037295A (en) LDPC code basis matrix clipping method and device
CN108574494B (en) Coding and decoding method and device
JP5753946B2 (en) Method and system for downloading font files
CN111327330A (en) Information processing method, information processing equipment and computer storage medium
US9271229B2 (en) Methods, systems, and media for partial downloading in wireless distributed networks
US20210288667A1 (en) Encoding method and device, decoding method and device, and storage medium
US20200007162A1 (en) Data processing method and apparatus
CN110034845B (en) Information processing method and wireless transmission device
CN106790466B (en) Method, server and terminal equipment for pushing
CN113037848B (en) File uploading method and system
CN113612579A (en) Data processing method based on QC _ LDPC code, communication device, equipment and storage medium
CN113259689A (en) Distributed video storage method and device and electronic equipment
CN108322284B (en) Coding block sending method, data receiving method, access network equipment and terminal equipment
WO2018146554A1 (en) Method and device for distributed error detection with polar codes

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination