Decoding method and apparatus for low-density parity-check codes
By judging the matching between the candidate code check sequence and the estimated code check sequence during the LDPC decoding process, and combining this with a set number of iterations, the problem of high decoding complexity and long decoding time in the prior art is solved, and efficient decoding control is achieved.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- INST OF MICROELECTRONICS CHINESE ACAD OF SCI LTD
- Filing Date
- 2021-12-30
- Publication Date
- 2026-06-02
AI Technical Summary
Existing technologies for controlling the LDPC decoding iteration process cannot comprehensively guarantee decoding performance and decoding time, and the decoding complexity is relatively high.
During the LDPC decoding process, the estimated information sequence is encoded according to the set encoding method. It is then determined whether the candidate code check sequence is the same as the most recently estimated code check sequence. If they are the same, the decoding result is determined; otherwise, the iteration continues. The maximum number of iterations can be set to control the decoding process.
Effectively control the number of iterations in LDPC decoding, reduce decoding time and complexity, while ensuring decoding performance.
Smart Images

Figure CN115940962B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of encoding and decoding technology, and more specifically, to a decoding method and apparatus for a low-density parity-check code. Background Technology
[0002] Low-density parity-check (LDPC) codes are a class of linear block codes defined by sparse parity-check matrices. Due to their superior error-correcting performance, LDPC codes are widely used in digital communication and storage systems.
[0003] In communication systems, if the transmitting end uses LDPC encoding, the receiving end performs LDPC decoding on the received signal sequence vector. LDPC decoding is an iterative process, therefore, it's necessary to reasonably control the termination of the iteration. However, current schemes for controlling the exit from the LDPC decoding iteration process cannot comprehensively guarantee decoding performance and decoding time, resulting in high decoding complexity. Summary of the Invention
[0004] In view of this, in order to solve the above problems, the present invention provides a decoding method and apparatus for low-density parity-check codes, so as to reduce the decoding time and complexity of LDPC while ensuring decoding performance.
[0005] To achieve the above objectives, this application provides a decoding method for low-density parity-check codes, comprising:
[0006] A signal sequence vector is obtained for decoding a low-density parity-check (LDPC) code. The signal sequence vector is the data to be decoded determined based on the channel data received by the receiver. The channel data is the data of the LDPC codeword after processing by the transmitter and transmitted to the receiver through the channel. The LDPC codeword includes: an information sequence, an encoding check sequence associated with the information sequence, and an LDPC check sequence.
[0007] LDPC codeword estimation is performed on the signal sequence vector to obtain the estimated LDPC codeword corresponding to the LDPC codeword. The estimated LDPC codeword includes: the estimated information sequence corresponding to the information sequence, the estimated coding check sequence corresponding to the coding check sequence, and the estimated LDPC check sequence corresponding to the LDPC check sequence.
[0008] The most recently estimated information sequence is encoded according to a set encoding method to obtain a candidate encoding verification sequence, wherein the set encoding method is the same as the encoding method used by the sending end to encode the information sequence to obtain the encoding verification sequence;
[0009] If the candidate code check sequence is different from the most recently estimated code check sequence, then return to perform the LDPC codeword estimation operation on the signal sequence vector;
[0010] If the candidate code check sequence is the same as the most recently estimated code check sequence, then the most recently estimated LDPC codeword is determined as the decoded LDPC codeword.
[0011] In another possible implementation, before encoding the most recently estimated information sequence according to the set encoding method, the method further includes:
[0012] Get the current iteration number for LDPC codeword estimation;
[0013] The step of encoding the most recently estimated information sequence according to a set encoding method includes:
[0014] If the number of iterations has not reached the maximum number of iterations, the most recently estimated information sequence is encoded according to the set encoding method.
[0015] Another possible implementation includes:
[0016] If the number of iterations reaches the maximum number of iterations, the most recently estimated LDPC codeword is determined as the decoded LDPC codeword.
[0017] Another possible implementation includes:
[0018] If the candidate code check sequence is different from the most recently estimated code check sequence, the iteration number is incremented by one.
[0019] In another possible implementation, the encoding check sequence in the LDPC codeword is the BCH check sequence associated with the information sequence;
[0020] The step of encoding the most recently estimated information sequence according to a set encoding method to obtain a candidate encoding verification sequence includes:
[0021] The most recently estimated information sequence is BCH encoded to obtain a candidate BCH check sequence.
[0022] Furthermore, this application also provides a decoding apparatus for a low-density parity-check code, comprising:
[0023] The signal acquisition unit is used to acquire a signal sequence vector to be decoded by low-density parity-check (LDPC) codes. The signal sequence vector is the data to be decoded determined based on the channel data received by the receiver. The channel data is the data of LDPC codewords processed by the transmitter and transmitted to the receiver through the channel. The LDPC codewords include: an information sequence, an encoding check sequence associated with the information sequence, and an LDPC check sequence.
[0024] The codeword estimation unit is used to perform LDPC codeword estimation on the signal sequence vector to obtain the estimated LDPC codeword corresponding to the LDPC codeword. The estimated LDPC codeword includes: the estimated information sequence corresponding to the information sequence, the estimated coding check sequence corresponding to the coding check sequence, and the estimated LDPC check sequence corresponding to the LDPC check sequence.
[0025] A sequence coding unit is used to encode the most recently estimated information sequence according to a set coding method to obtain a candidate coding verification sequence, wherein the set coding method is the same as the coding method used by the sending end to encode the information sequence to obtain the coding verification sequence;
[0026] The first iteration control unit is configured to return to the operation of the codeword estimation unit if the candidate code check sequence is not the same as the most recently estimated code check sequence.
[0027] The verification processing unit is configured to determine the most recently estimated LDPC codeword as the decoded LDPC codeword if the candidate code verification sequence is the same as the most recently estimated code verification sequence.
[0028] In yet another possible implementation, the device further includes:
[0029] The iteration number acquisition unit is used to obtain the current iteration number for LDPC codeword estimation before the sequence encoding unit encodes the most recently estimated information sequence;
[0030] Specifically, the sequence encoding unit is used to encode the most recently estimated information sequence according to a set encoding method if the number of iterations has not reached the maximum number of iterations.
[0031] In yet another possible implementation, the device further includes:
[0032] The second iteration control unit is configured to determine the most recently estimated LDPC codeword as the decoded LDPC codeword when the number of iterations reaches the maximum number of iterations.
[0033] In yet another possible implementation, the device further includes:
[0034] An iteration control unit is configured to increment the iteration count by one if the candidate code check sequence is not the same as the most recently estimated code check sequence.
[0035] In another possible implementation, the encoding check sequence in the LDPC codeword is the BCH check sequence associated with the information sequence;
[0036] Specifically, the sequence encoding unit is used to perform BCH encoding on the most recently estimated information sequence to obtain a candidate BCH check sequence.
[0037] As can be seen from the above, after each LDPC codeword estimation of the signal sequence vector, this application encodes the estimated information sequence according to a set encoding method. Since the set encoding method is consistent with the encoding method used by the transmitting end to encode the information sequence to obtain the code check sequence, if the LDPC codeword estimation is correct, the candidate code check obtained by encoding the estimated information sequence according to the set encoding method should be consistent with the estimated information check sequence. Based on this, when this application determines that the candidate code check sequence is consistent with the estimated code check sequence, it can determine that the estimated information sequence obtained by LDPC codeword estimation is correct. Therefore, it is not necessary to continue iterating the codeword estimation in the decoding process, thus achieving a more reasonable end to the LDPC decoding process. This effectively ensures the performance of LDPC decoding and effectively controls the number of iterations of LDPC decoding, thereby reducing the time consumption caused by excessive LDPC decoding iterations and reducing the complexity of LDPC decoding iterations. Attached Figure Description
[0038] To more clearly illustrate the technical solutions in the embodiments of the present invention or the prior art, the drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, the drawings described below are only embodiments of the present invention. For those skilled in the art, other drawings can be obtained based on the provided drawings without creative effort.
[0039] Figure 1 A flowchart illustrating a decoding method for a low-density parity check code provided in an embodiment of this application;
[0040] Figure 2 This is a schematic diagram of the data frame structure corresponding to LDPC codewords in a next-generation DVB system provided in an embodiment of this application;
[0041] Figure 3This is another flowchart illustrating the decoding method for low-density parity-check codes provided in the embodiments of this application.
[0042] Figure 4 A schematic diagram of a BCH encoding process provided in an embodiment of this application;
[0043] Figure 5 This is a schematic diagram of the composition structure of a decoding device for a low-density parity check code provided in an embodiment of this application. Detailed Implementation
[0044] The decoding method and apparatus for Low Density Parity Check (LDPC) codes in this application can be applied to any communication scenario where the transmitting end needs to generate an encoded check sequence and an LDPC check sequence (also known as an LDPC code check sequence) based on the information sequence, so as to enable the receiving end to decode the signal sequence vector to be encoded by LDPC codes in such communication scenarios.
[0045] For example, the solution in this application can be applied to next-generation digital video broadcasting (DVB) systems or satellite navigation systems to perform LDPC decoding of signals at the receiving end of these communication systems.
[0046] The technical solutions of the embodiments of the present invention will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of the present invention, and not all embodiments. Based on the embodiments of the present invention, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of the present invention.
[0047] like Figure 1 The diagram illustrates a flowchart of a low-density parity-check code decoding method provided in this embodiment. The method of this embodiment can be applied to the receiving end of a communication system, such as the receiving end of a DVB system.
[0048] The method in this embodiment may include the following steps:
[0049] S101, obtain the signal sequence vector to be decoded by LDPC code.
[0050] LDPC code decoding is also simply referred to as LDPC decoding.
[0051] The signal sequence vector is the data to be decoded determined based on the channel data received by the receiver. The channel data consists of LDPC codewords processed by the transmitter and transmitted to the receiver via the channel.
[0052] For example, the receiving end can receive channel data from the channel through the data receiving module, and then perform demodulation and other related processing on the channel data to obtain the signal sequence vector that needs to be decoded by LDPC.
[0053] It is understood that since this application only focuses on the LDPC decoding process, the channel data received by the receiver from the channel and its related processing are not limited and will not be described in detail here.
[0054] Channel data is data transmitted from the transmitter to the receiver via a signal. In this application, the transmitter needs to perform some modulation and other related processing on the LDPC codewords before transmitting them, and there are no restrictions on the specific process.
[0055] In this application, the LDPC codeword generated by the transmitting end includes: an information sequence, an encoding check sequence associated with the information sequence, and an LDPC check sequence.
[0056] The information sequence is associated with a code-check sequence, which is a sequence obtained by encoding the information sequence according to a set encoding method. The LDPC check sequence is obtained by performing LDPC encoding on the sequence composed of the information sequence and the code-check sequence. Therefore, the length of the LDPC codeword is equal to the length of the information sequence, plus the length of the code-check sequence and the length of the LDPC check sequence.
[0057] For example, the LDPC codeword c = [c0, c1, ..., c N-1 ], where N is the length of the LDPC codeword.
[0058] For convenience, we can denote it as c = [m, p1, p2], where m = [c0, ..., c K'-1 ] represents the information sequence, and K' represents the length of the information sequence. p1 = [c K' ,......,c K-1 ] represents the code check sequence, where K takes the value K'+L', and L' is the length of the code check sequence. p2=[c K ,......,c N-1 ] represents the LDPC check sequence. The length of the LDPC check sequence is L. Accordingly, N = K' + L' + L.
[0059] It is understandable that noise and other interference may exist during data transmission in communication systems. Therefore, in order for the receiving end to reliably recover the information sequence, the receiving end can combine the coding check sequence and the LDPC check sequence to correct errors in the estimated information sequence during the information sequence estimation process.
[0060] To facilitate understanding the composition of LDPC codewords, we will illustrate with an example. Let's take a next-generation DVB system as an example:
[0061] like Figure 2 As shown, it illustrates a schematic diagram of the data frame structure corresponding to LDPC codewords in a next-generation DVB system.
[0062] Depend on Figure 2 It can be seen that the LDPC codeword in the next-generation DVB system consists of three parts: the information sequence, the BCH code check sequence, and the LDPC check sequence.
[0063] The BCH-encoded check sequence is the sequence obtained by encoding the information sequence using BCH. BCH (Bose–Chaudhuri–Hocquenghem codes) is an important class of error-correcting codes. BCH codes are cyclic codes with multiple random errors proposed by Hocquenghem in 1959 and by Bose and Chaudhuri in 1960, respectively. They have strong error-correcting capabilities.
[0064] Depend on Figure 2 It can be seen that the length of the information sequence is K', the length of the BCH-encoded check sequence is L', and the length of the LDPC check code is L, so that the length of the LDPC codeword composed of these three parts is N = K' + L' + L.
[0065] It is understandable that, given an LDPC codeword length of N, the signal sequence vector can be a vector of length N, such as a signal sequence vector r = [r0, r1, ..., r...]. N-1 ], where each component in the signal sequence vector is a quantized value.
[0066] S102, perform LDPC codeword estimation on the signal sequence vector to obtain the estimated LDPC codeword corresponding to the LDPC codeword.
[0067] The estimated LDPC codewords include: the estimated information sequence corresponding to the information sequence, the estimated coding check sequence corresponding to the coding check sequence, and the estimated LDPC check sequence corresponding to the LDPC check sequence.
[0068] It is understandable that LDPC decoding of a signal sequence vector is essentially a process of iteratively estimating the LDPC codewords corresponding to the signal sequence vector, so that the errors in the estimated LDPC codewords become fewer and fewer, until the estimated LDPC codewords can pass the verification.
[0069] Among them, LDPC codeword estimation of signal sequence vector can be performed by combining the constraint relationship between signal sequence vector and LDPC code. For example, LDPC iterative decoding is usually performed using a belief propagation-based algorithm (such as the minimum-sum algorithm). The specific estimation process can adopt any currently common method without restriction.
[0070] In this application, for ease of distinction, the estimated LDPC codeword is referred to as the estimated LDPC codeword. Correspondingly, the estimated information sequence is referred to as the estimated information sequence, the estimated code check sequence is referred to as the estimated code check sequence, and the estimated LDPC check sequence is referred to as the estimated LDPC check sequence.
[0071] Step S103 can be executed in the LDPC iterative decoding module of the receiving end.
[0072] S103, Encode the most recently estimated information sequence according to the set encoding method to obtain the candidate encoding verification sequence.
[0073] For ease of distinction, this application refers to the encoded verification sequence obtained by encoding the most recently estimated information sequence according to the set encoding method as the candidate encoded verification sequence.
[0074] The encoding method set here is the same as the encoding method used by the sending end to encode the information sequence to obtain the code check sequence. Here, the encoding method set here refers to the encoding method of the information sequence set in the communication system; therefore, the encoding methods set at the sending end and the receiving end are consistent.
[0075] For example, taking next-generation DVB systems and other communication systems as examples, the encoding method can be set to BCH encoding. Accordingly, the most recently estimated information sequence can be BCH encoded to obtain a candidate BCH check sequence.
[0076] It is understandable that since LDPC decoding is an iterative process, the above step S102 will be executed repeatedly. In this application, each time step S102 is executed, step S103 needs to be executed. When executing step S103, it is only necessary to encode the most recently estimated information sequence.
[0077] Of course, this is just an example of setting the encoding method as BCH encoding. If the communication system where the receiver is located in this application uses other encoding methods as the set encoding method, then the most recently estimated information sequence can be encoded according to the corresponding encoding method. This will not be elaborated further.
[0078] S104, if the candidate code check sequence is different from the most recently estimated code check sequence, return to step S102 to repeat the operation of LDPC codeword estimation on the signal sequence vector.
[0079] It is understandable that, since the code check sequence is obtained based on the information sequence encoding, if the estimation results of the estimated information sequence and the estimated code check sequence based on the LDPC codeword are correct in the LDPC decoding process, then after encoding the estimated information sequence estimated in the most recent time according to the set encoding method, the candidate code check sequence obtained by encoding will necessarily be consistent with the estimated code check sequence estimated in the most recent time.
[0080] Conversely, if the candidate code check sequence is inconsistent with the most recently estimated code check sequence, it cannot be concluded that the correct information sequence has been estimated through LDPC codeword estimation. Therefore, LDPC codeword estimation is still required to continuously reduce the erroneous information in the estimated information sequence.
[0081] S105, if the candidate code check sequence is the same as the most recently estimated code check sequence, then the most recently estimated LDPC codeword is determined as the decoded LDPC codeword.
[0082] As can be understood from the above description, if the candidate code check sequence is the same as the most recently estimated code check sequence, it means that the information sequence estimated by LDPC decoding is correct. The main purpose of LDPC decoding is to obtain the information sequence sent by the sender. Therefore, as long as the information sequence is correct, the LDPC decoding process can be terminated.
[0083] Compared to traditional methods that require verification of the entire estimated LDPC codeword and ensure its correctness, this application only requires encoding and verification of the information sequence, resulting in low verification complexity. Moreover, as long as the information sequence is correctly estimated, the iterative process of LDPC decoding can be skipped, eliminating the need to wait for all parts of the estimated LDPC codeword to be correctly estimated. This reduces the number of iterations in LDPC decoding and consequently, the time consumed by LDPC decoding.
[0084] Accordingly, if the candidate coding check sequence is consistent with the most recently estimated coding check sequence, this application can use the most recently estimated LDPC codeword as the final decoded LDPC codeword, thereby extracting the estimated information sequence from the most recently estimated LDPC codeword and using the estimated information sequence as the decoded information sequence.
[0085] As can be seen from the above, after each LDPC codeword estimation of the signal sequence vector, this application encodes the estimated information sequence according to a set encoding method. Since the set encoding method is consistent with the encoding method used by the transmitting end to encode the information sequence to obtain the code check sequence, if the LDPC codeword estimation is correct, the candidate code check obtained by encoding the estimated information sequence according to the set encoding method should be consistent with the estimated information check sequence. Based on this, when this application determines that the candidate code check sequence is consistent with the estimated code check sequence, it can determine that the estimated information sequence obtained by LDPC codeword estimation is correct. Therefore, it is not necessary to continue iterating the codeword estimation in the decoding process, thus achieving a more reasonable end to the LDPC decoding process. This effectively ensures the performance of LDPC decoding and effectively controls the number of iterations of LDPC decoding, thereby reducing the time consumption caused by excessive LDPC decoding iterations and reducing the complexity of LDPC decoding iterations.
[0086] Understandably, to effectively control the number of iterations in LDPC decoding, this application can also set a maximum number of iterations. Furthermore, after each LDPC codeword estimation operation, the current number of iterations for LDPC codeword estimation can be obtained. Based on this, it can be first checked whether the number of iterations for LDPC codeword estimation has reached the maximum number of iterations. If the number of iterations has reached the maximum number of iterations, the LDPC decoding process can be directly terminated, and the most recently estimated LDPC codeword can be determined as the decoded LDPC codeword.
[0087] If the current iteration count has not yet reached the maximum iteration count, then the estimated information sequence estimated most recently can be encoded according to the above embodiment, that is, the encoded information sequence can be encoded according to the set encoding method, so as to detect whether the estimation result of the information sequence is correct based on the encoded candidate encoding verification sequence, and if the estimation result of the estimated information sequence is correct, the iteration of LDPC decoding can be exited in advance.
[0088] Understandably, if the candidate code check sequence is different from the most recently estimated code check sequence, the iteration count is incremented by one to update the iteration count.
[0089] To facilitate understanding of the scheme in this application, the decoding method of the low-density parity check code in this application will be introduced below using a next-generation DVB system as an example.
[0090] like Figure 3As shown, it illustrates another flowchart of the decoding method for low-density parity-check codes provided in this application. The method of this embodiment is applied to the receiver of a next-generation DVB system.
[0091] The method in this embodiment may include:
[0092] S301, obtain the signal sequence vector to be decoded by LDPC.
[0093] The signal sequence vector is the data to be decoded determined based on the channel data received by the receiver. The channel data is the data after the next-generation DVB system's transmitter processes the LDPC codewords and transmits the signal.
[0094] In the next-generation DVB system, the LDPC codeword generated by the transmitter includes: an information sequence, a BCH check sequence obtained by BCH encoding the information sequence, and an LDPC check sequence obtained by LDPC encoding the sequence combining the information sequence and the BCH check sequence. The composition of this LDPC codeword can be found in [reference needed]. Figure 2 As shown, it will not be elaborated further here.
[0095] S302, perform LDPC codeword estimation on the signal sequence vector to obtain the estimated LDPC codeword corresponding to the LDPC codeword.
[0096] The estimated LDPC codewords include: the estimated information sequence corresponding to the information sequence, the estimated BCH check sequence corresponding to the BCH check sequence, and the estimated LDPC check sequence corresponding to the LDPC check sequence.
[0097] This step can be referred to in the relevant description of the previous embodiments, and will not be repeated here.
[0098] S303, obtain the current number of iterations for LDPC codeword estimation.
[0099] The iteration number represents the number of times LDPC codeword estimation is performed on the signal sequence vector, which is the number of times step S302 is executed.
[0100] This iteration count may need to be stored in a designated storage area. For example, the current iteration count for LDPC codeword estimation can be recorded in a cache to obtain the stored iteration count.
[0101] Understandably, the number of iterations obtained when step S302 is executed for the first time can be 1. Of course, the initial number of iterations can also be set to 0 as needed, and there is no restriction here. As the number of times step S302 is executed increases thereafter, the number of iterations will also increase continuously.
[0102] S304, check whether the number of iterations has reached the set maximum number of iterations. If yes, proceed to step S307; otherwise, proceed to step S305.
[0103] The maximum number of iterations is the maximum number of times the LDPC codeword estimation needs to be performed. This maximum number of iterations can be set as needed; for example, it can be 30 iterations.
[0104] If the number of iterations reaches the maximum number of iterations, the iteration termination condition of LDPC decoding can be considered met, and the subsequent step S307 can be executed to end the LDPC decoding process.
[0105] S305, perform BCH encoding on the most recently estimated information sequence to obtain the candidate BCH check sequence.
[0106] The process of BCH encoding the estimated information sequence can use any BCH encoding method without restriction.
[0107] S306, check whether the candidate BCH check sequence is consistent with the most recently estimated BCH check sequence. If yes, proceed to step S307; otherwise, increment the iteration count and return to proceed to step S302.
[0108] For example, assuming the current iteration number is s, the estimated information sequence obtained by LDPC codeword estimation can be denoted as: The estimated BCH check sequence obtained from LDPC codeword estimation can be denoted as: Based on this, the estimated information sequence m (s) BCH encoding is performed to obtain candidate BCH check sequences.
[0109] Correspondingly, it can detect this and If the two sequences are consistent, it can be confirmed that the information sequence estimated by LDPC codeword estimation is correct, and the iterative process of LDPC decoding can be ended; otherwise, if the two sequences are inconsistent, the iteration count needs to be increased and LDPC codeword estimation should continue.
[0110] S307, end the iteration of LDPC codeword estimation, and determine the most recently estimated LDPC codeword as the decoded LDPC codeword.
[0111] Step S307 can be found in the relevant description of the previous embodiments, and will not be repeated here.
[0112] It is understandable that there are multiple possible implementations of BCH encoding for the estimated information sequence. For ease of understanding, one BCH encoding process will be introduced below.
[0113] like Figure 4 As shown, this embodiment illustrates a flowchart of BCH encoding of the estimated information sequence according to this application. This embodiment may include:
[0114] S401, compare the first polynomial m(x) corresponding to the estimated information sequence with the coefficients x K-K Multiplying them together yields the second polynomial u(x).
[0115] Understandably, when a signal sequence is known, it can be converted into a polynomial representation. For ease of distinction, the polynomial corresponding to the estimated information sequence is called the first polynomial.
[0116] For example, estimate the information sequence m = [c0, c1, ..., c K'-1 Then the transformed first polynomial can be expressed as follows: m(x) = c0 + c1x + ... + c K′-1 x K′-1 .
[0117] The meanings of K and K' can be found in the relevant descriptions of the previous embodiments, and will not be repeated here.
[0118] S402, divide the second polynomial u(x) by the generator polynomial g(x) of the BCH code to obtain the remainder r(x).
[0119] The generator polynomial of the BCH code is given in the DVB system protocol and will not be repeated here.
[0120] Based on the above, the remainder can be expressed as: r(x) = r0 + r1x + ... + r K-K′-1 x K-K′-1 .
[0121] S403, based on the second polynomial u(x) and the remainder r(x), the code polynomial c(x) after the estimated information sequence is encoded by BCH is obtained. The code polynomial c(x) is converted into a BCH encoded sequence to obtain the candidate BCH check sequence obtained by encoding the estimated information sequence by BCH.
[0122] Among them, c(x)=u(x)+r(x)=m(x)x K-K′ +r(x).
[0123] certainly, Figure 4This is merely a simple explanation using one implementation of BCH encoding for the estimated information sequence in the DVB system as an example. In practical applications, BCH encoding can also be implemented in other ways, and will not be elaborated further here.
[0124] Corresponding to the decoding method of the low-density parity check code in this application, this application also provides a decoding device for the low-density parity check code.
[0125] like Figure 5 The diagram illustrates the structural composition of an embodiment of a low-density parity-check code decoding device according to this application. The device in this embodiment may include:
[0126] The signal acquisition unit 501 is used to acquire a signal sequence vector to be decoded by low-density parity-check code (LDPC). The signal sequence vector is the data to be decoded determined based on the channel data received by the receiver. The channel data is the data of LDPC codewords processed by the transmitter and transmitted to the receiver through the channel. The LDPC codewords include: an information sequence, an encoding check sequence associated with the information sequence, and an LDPC check sequence.
[0127] The codeword estimation unit 502 is used to perform LDPC codeword estimation on the signal sequence vector to obtain the estimated LDPC codeword corresponding to the LDPC codeword. The estimated LDPC codeword includes: the estimated information sequence corresponding to the information sequence, the estimated coding check sequence corresponding to the coding check sequence, and the estimated LDPC check sequence corresponding to the LDPC check sequence.
[0128] The sequence encoding unit 503 is used to encode the most recently estimated information sequence according to a set encoding method to obtain a candidate encoding verification sequence, wherein the set encoding method is the same as the encoding method used by the sending end to encode the information sequence to obtain the encoding verification sequence;
[0129] The first iteration control unit 504 is configured to return to the operation of the codeword estimation unit if the candidate code check sequence is not the same as the most recently estimated code check sequence.
[0130] The verification processing unit 505 is configured to determine the most recently estimated LDPC codeword as the decoded LDPC codeword if the candidate code verification sequence is the same as the most recently estimated code verification sequence.
[0131] In one possible implementation, the device further includes:
[0132] The iteration number acquisition unit is used to obtain the current iteration number for LDPC codeword estimation before the sequence encoding unit encodes the most recently estimated information sequence;
[0133] Specifically, the sequence encoding unit is used to encode the most recently estimated information sequence according to a set encoding method if the number of iterations has not reached the maximum number of iterations.
[0134] In yet another possible implementation, the device further includes:
[0135] The second iteration control unit is configured to determine the most recently estimated LDPC codeword as the decoded LDPC codeword when the number of iterations reaches the maximum number of iterations.
[0136] In the above device embodiments, the device further includes:
[0137] An iteration control unit is configured to increment the iteration count by one if the candidate code check sequence is not the same as the most recently estimated code check sequence.
[0138] In another possible implementation, the encoding check sequence in the LDPC codeword is the BCH check sequence associated with the information sequence;
[0139] Specifically, the sequence coding unit is used to perform BCH coding on the most recently estimated information sequence to obtain a candidate BCH check sequence.
[0140] It should be noted that the various embodiments in this specification are described in a progressive manner, with each embodiment focusing on the differences from other embodiments. Similar or identical parts between embodiments can be referred to interchangeably. Furthermore, the features described in the various embodiments of this specification can be substituted or combined with each other, enabling those skilled in the art to implement or use this application. For the apparatus disclosed in the embodiments, since it corresponds to the method disclosed in the embodiments, the description is relatively simple; relevant parts can be referred to in the method section.
[0141] It should also be noted that, in this document, relational terms such as "first" and "second" are used only to distinguish one entity or operation from another, and do not necessarily require or imply any such actual relationship or order between these entities or operations. Furthermore, the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that elements inherent to a process, method, article, or apparatus that comprises a list of elements, or elements inherent to such processes, methods, articles, or apparatus, are also included. Without further limitations, an element defined by the phrase "comprising one..." does not exclude the presence of other identical elements in the process, method, article, or apparatus that includes said element.
[0142] The above description of the disclosed embodiments enables those skilled in the art to make or use the invention. Various modifications to these embodiments will be readily apparent to those skilled in the art, and the general principles defined herein may be implemented in other embodiments without departing from the spirit or scope of the invention. Therefore, the invention is not to be limited to the embodiments shown herein, but is to be accorded the widest scope consistent with the principles and novel features disclosed herein.
Claims
1. A decoding method for a low-density parity-check code, characterized in that, include: A signal sequence vector is obtained for decoding a low-density parity check (LDPC) code. The signal sequence vector is the data to be decoded determined based on the channel data received by the receiver. The channel data is the data of the LDPC codeword after processing by the transmitter and transmitted to the receiver through the channel. The LDPC codeword includes: an information sequence, an encoding check sequence associated with the information sequence, and an LDPC check sequence. LDPC codeword estimation is performed on the signal sequence vector to obtain the estimated LDPC codeword corresponding to the LDPC codeword. The estimated LDPC codeword includes: the estimated information sequence corresponding to the information sequence, the estimated coding check sequence corresponding to the coding check sequence, and the estimated LDPC check sequence corresponding to the LDPC check sequence. The most recently estimated information sequence is encoded according to a set encoding method to obtain a candidate encoding verification sequence, wherein the set encoding method is the same as the encoding method used by the sending end to encode the information sequence to obtain the encoding verification sequence; If the candidate code check sequence is different from the most recently estimated code check sequence, then return to perform the LDPC codeword estimation operation on the signal sequence vector; If the candidate code check sequence is the same as the most recently estimated code check sequence, then the most recently estimated LDPC codeword is determined as the decoded LDPC codeword.
2. The method according to claim 1, characterized in that, Before encoding the most recently estimated information sequence according to the set encoding method, the method further includes: Get the current iteration number for LDPC codeword estimation; The step of encoding the most recently estimated information sequence according to a set encoding method includes: If the number of iterations has not reached the maximum number of iterations, the most recently estimated information sequence is encoded according to the set encoding method.
3. The method according to claim 2, characterized in that, Also includes: If the number of iterations reaches the maximum number of iterations, the most recently estimated LDPC codeword is determined as the decoded LDPC codeword.
4. The method according to claim 2 or 3, characterized in that, Also includes: If the candidate code check sequence is different from the most recently estimated code check sequence, the iteration number is incremented by one.
5. The method according to claim 1, characterized in that, The encoding check sequence in the LDPC codeword is the BCH check sequence associated with the information sequence; The step of encoding the most recently estimated information sequence according to a set encoding method to obtain a candidate encoding verification sequence includes: The most recently estimated information sequence is BCH encoded to obtain a candidate BCH check sequence.
6. A decoding device for a low-density parity-check code, characterized in that, include: The signal acquisition unit is used to acquire a signal sequence vector to be decoded by low-density parity-check (LDPC) codes. The signal sequence vector is the data to be decoded determined based on the channel data received by the receiver. The channel data is the data of LDPC codewords processed by the transmitter and transmitted to the receiver through the channel. The LDPC codewords include: an information sequence, an encoding check sequence associated with the information sequence, and an LDPC check sequence. The codeword estimation unit is used to perform LDPC codeword estimation on the signal sequence vector to obtain the estimated LDPC codeword corresponding to the LDPC codeword. The estimated LDPC codeword includes: the estimated information sequence corresponding to the information sequence, the estimated coding check sequence corresponding to the coding check sequence, and the estimated LDPC check sequence corresponding to the LDPC check sequence. A sequence coding unit is used to encode the most recently estimated information sequence according to a set coding method to obtain a candidate coding verification sequence, wherein the set coding method is the same as the coding method used by the sending end to encode the information sequence to obtain the coding verification sequence; The first iteration control unit is configured to return to the operation of the codeword estimation unit if the candidate code check sequence is not the same as the most recently estimated code check sequence. The verification processing unit is configured to determine the most recently estimated LDPC codeword as the decoded LDPC codeword if the candidate code verification sequence is the same as the most recently estimated code verification sequence.
7. The apparatus according to claim 6, characterized in that, Also includes: The iteration number acquisition unit is used to obtain the current iteration number for LDPC codeword estimation before the sequence encoding unit encodes the most recently estimated information sequence; Specifically, the sequence encoding unit is used to encode the most recently estimated information sequence according to a set encoding method if the number of iterations has not reached the maximum number of iterations.
8. The apparatus according to claim 7, characterized in that, Also includes: The second iteration control unit is configured to determine the most recently estimated LDPC codeword as the decoded LDPC codeword when the number of iterations reaches the maximum number of iterations.
9. The apparatus according to claim 7 or 8, characterized in that, Also includes: An iteration control unit is configured to increment the iteration count by one if the candidate code check sequence is not the same as the most recently estimated code check sequence.
10. The apparatus according to claim 6, characterized in that, The encoding check sequence in the LDPC codeword is the BCH check sequence associated with the information sequence; Specifically, the sequence encoding unit is used to perform BCH encoding on the most recently estimated information sequence to obtain a candidate BCH check sequence.