CN113037295A - LDPC code basis matrix clipping method and device - Google Patents
LDPC code basis matrix clipping method and device Download PDFInfo
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error 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/11—Error 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/1102—Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
- H03M13/1148—Structural properties of the code parity-check or generator matrix
- H03M13/116—Quasi-cyclic LDPC [QC-LDPC] codes, i.e. the parity-check matrix being composed of permutation or circulant sub-matrices
- H03M13/1162—Array 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
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
Optionally, in the case that E ≦ λ, the index of the partial or all parity bits includes [ δ ≦ λs,δs+1,...,δe-1]Wherein, deltas=max(0,k0-M),δe=min(Np+δs,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:
selecting columns in the LDPC code basic matrix according to the following formula:
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,
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
Optionally, in the case that E ≦ λ, the index of the partial or all parity bits includes [ δ ≦ λs,δs+1,...,δe-1]Wherein, deltas=max(0,k0-M),δe=min(Np+δs,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
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 [ δ ≦ λs,δs+1,...,δe-1]Wherein, deltas=max(0,k0-M),δe=min(Np+δs,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:
selecting the columns in the LDPC code basic matrix according to the following formula:
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,is continuous; but instead of the other end of the tubeAnd μ +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,
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 [ δ ≦ λs,δs+1,...,δe-1]. Wherein, deltas=max(0,k0-M),δe=min(Np+δsN-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
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
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
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 [ δ ≦ λs,δs+1,...,δe-1]. Wherein, deltas=max(0,k0-M),δe=min(Np+δsN-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
Order toWhere α 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
Order toWhere ω 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
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 [ δ ≦ λs,δs+1,...,δe-1]. Wherein, deltas=max(0,k0-M),δe=min(Np+δsN-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
Order toWhere β 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
Order toWhere 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
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 [ δ ≦ λs,δs+1,...,δe-1]. Wherein, deltas=max(0,k0-M),δe=min(Np+δsN-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
Order toWherein α 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
Order toWhere ω 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
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
Optionally, in the case that E ≦ λ, the index of the partial or full parity bits includes [ δ ≦ λs,δs+1,...,δe-1]Wherein, deltas=max(0,k0-M),δe=min(Np+δsN-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:
a second selecting module, configured to select a column in the LDPC code basic matrix according to the following formula:
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,
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
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
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
2. The method of claim 1, wherein in the case where E ≦ λ, the index for the partial or full parity bits includes [ δ ≦ λs,δs+1,...,δe-1]Wherein, deltas=max(0,k0-M),δe=min(Np+δs,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:
selecting columns in the LDPC code basic matrix according to the following formula:
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,
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
8. The apparatus of claim 7, wherein in a case E ≦ λ, the index of the partial or full parity bits includes [ δ ≦ λs,δs+1,...,δe-1]Wherein, deltas=max(0,k0-M),δe=min(Np+δs,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.
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)
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 |
-
2019
- 2019-12-09 CN CN201911249518.8A patent/CN113037295A/en active Pending
Cited By (3)
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 |