A decoding method, device, decoder and storage medium
By introducing a combination of verification decoding equations and error correction decoding in the digital communication system, the problem of insufficient error correction capability in channel encoding is solved, the accuracy and reliability of the decoding system are improved, and it is suitable for different decoding algorithms , and reduce the missed detection rate.
Patent Information
- Application Number
- CN202210202668.9
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-03-03
- Publication Date
- 2024-12-20
- Estimated Expiration
- 2042-03-03
AI Technical Summary
In modern digital communication systems, channel encoding and decoding are difficult to effectively improve decoding accuracy and reduce leakage detection rate in the face of channel fading, interference and noise, especially in data transmission on wireless channels. Insufficient ability to make mistakes.
Introduce verification and decoding equations, combining error correction decoding and verification decoding, through group iterative decoding and verification after each iteration, improve the error correction performance of the decoding system, and flexibly configure the verification and decoding equations. and the number of iterations involved to adapt to different decoding algorithms.
It improves the error correction performance and reliability of the decoding system, reduces the missed detection rate, is suitable for different decoding algorithms, and has a small impact on the decoder architecture.
Smart Images

Figure CN114567334B_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to but is not limited to the field of communications, and in particular to a decoding method, device, decoder and storage medium. Background Art
[0002] Channel coding and decoding are important parts of modern digital communication systems. Due to the influence of various factors such as channel fading, interference, and noise, data transmission on wireless channels is usually unreliable. Channel coding technology protects data information by adding redundancy in a specific way to combat the random distortion introduced by the wireless channel to the transmission signal. The receiving end decodes the received signal using redundant information based on the known coding method. Here, the role of channel coding is mainly reflected in the following two aspects:
[0003] Error detection: refers to the process by which the receiving end determines whether there are errors in the information bits it obtains through decoding. Cyclic redundancy check code (CRC) is the most common error detection code and is used by many communication protocols.
[0004] Error correction: refers to the correction of errors in the received signal by the receiver through decoding. Generally speaking, the more redundancy introduced by the coding, the more information the receiver can use, and the stronger its error correction capability. The improvement of data transmission reliability by this type of coding can be quantified by the reduction of indicators such as bit error rate (BER) and block error rate (BLER) under the same received signal-to-noise ratio. Common error correction coding methods include Turbo codes, polar codes, etc.
[0005] Continuously improving the decoding method is the exploration direction to improve decoding accuracy and reduce the missed detection rate of the decoding system. Summary of the invention
[0006] The embodiments of the present disclosure provide a decoding method, device, decoder and storage medium, which introduce the check decoding equation into the error correction decoder, and improve the error correction performance of the decoding system by reducing the encoding bit rate. In some exemplary embodiments, the number of check decoding equations introduced and the starting number of iterations involved are flexibly configured, taking into account the error correction performance and reliability of the system. After the check decoding equation is introduced, the check nodes of the error correction decoding and the check nodes of the check decoding are processed in the same way, so that the scheme can be applied to different decoding algorithms, and the impact on the decoder implementation architecture is small.
[0007] The present disclosure provides a decoding method, including:
[0008] Performing group iterative decoding using the first decoding method, and verifying the current group iterative decoding result after each group iterative decoding to obtain a target decoding result;
[0009] The first decoding method includes error correction decoding and check decoding equations.
[0010] The present disclosure also provides a decoding device, including:
[0011] A decoding module is configured to use a first decoding method to perform group iterative decoding, and to verify a current group iterative decoding result after each group iterative decoding to obtain a target decoding result;
[0012] The first decoding method includes error correction decoding and check decoding equations.
[0013] The present disclosure also provides a decoder, including a processor, wherein the processor is configured to execute:
[0014] Performing group iterative decoding using the first decoding method, and verifying the current group iterative decoding result after each group iterative decoding to obtain a target decoding result;
[0015] The first decoding method includes error correction decoding and check decoding equations.
[0016] The embodiments of the present disclosure also provide a computer-readable storage medium on which a computer program is stored. When the program is executed by a processor, the decoding method as described in any of the embodiments of the disclosure is implemented.
[0017] Other aspects will be apparent upon reading and understanding the drawings and detailed description. BRIEF DESCRIPTION OF THE DRAWINGS
[0018] In order to more clearly illustrate the embodiments of the present invention or the technical solutions in the prior art, the drawings required for use in the embodiments or the description of the prior art will be briefly introduced below. Obviously, the drawings described below are only some embodiments of the present invention. For ordinary technicians in this field, other drawings can be obtained based on the structures shown in these drawings without paying creative work.
[0019] Figure 1 This is a schematic diagram of the channel encoding and decoding process;
[0020] Figure 2 It is a feasible LDPC decoding process based on message passing algorithm;
[0021] Figure 3a-3c This is a schematic diagram of the working mode of the channel decoding system in the NR system;
[0022] Figure 4 is a flow chart of a decoding method in an embodiment of the present disclosure;
[0023] Figure 5is a flow chart of another decoding method in an embodiment of the present disclosure;
[0024] Figure 6 is a flow chart of another decoding method in an embodiment of the present disclosure;
[0025] Figure 7 is a flow chart of another decoding method in an embodiment of the present disclosure;
[0026] Figure 8 A schematic diagram of a CRC check matrix in an embodiment of the present disclosure;
[0027] Fig. 9 It is a schematic diagram of an expansion of a CRC code to a bipartite graph of an LDPC code in an embodiment of the present disclosure;
[0028] Fig.10 is a flow chart of another decoding method in an embodiment of the present disclosure;
[0029] Fig.11 is a flow chart of another decoding method in an embodiment of the present disclosure;
[0030] Fig.12 is a flow chart of another decoding method in an embodiment of the present disclosure;
[0031] Figure 13a-13b The decoding method simulation result in the disclosed example;
[0032] Fig.14 It is a structural schematic diagram of a decoding device in an embodiment of the present disclosure.
[0033] The realization of the purpose, functional features and advantages of the present invention will be further explained in conjunction with embodiments and with reference to the accompanying drawings. DETAILED DESCRIPTION
[0034] The following will be combined with the drawings in the embodiments of the present invention to clearly and completely describe the technical solutions in the embodiments of the present invention. Obviously, the described embodiments are only part of the embodiments of the present invention, not all of the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of the present invention.
[0035] It should be noted that all directional indications in the embodiments of the present invention (such as up, down, left, right, front, back, etc.) are only used to explain the relative position relationship, movement status, etc. between the components under a certain specific posture (as shown in the accompanying drawings). If the specific posture changes, the directional indication will also change accordingly.
[0036] In addition, in the present invention, descriptions such as "first", "second", etc. are only used for descriptive purposes and cannot be understood as indicating or implying their relative importance or implicitly indicating the number of the indicated technical features. Therefore, the features defined as "first" or "second" may explicitly or implicitly include at least one of the features. In the description of the present invention, the meaning of "plurality" is at least two, such as two, three, etc., unless otherwise clearly and specifically defined.
[0037] In the present invention, unless otherwise clearly specified and limited, the terms "connection", "fixation", etc. should be understood in a broad sense. For example, "fixation" can be a fixed connection, a detachable connection, or an integral connection; it can be a mechanical connection or an electrical connection; it can be a direct connection or an indirect connection through an intermediate medium, it can be the internal connection of two elements or the interaction relationship between two elements, unless otherwise clearly defined. For ordinary technicians in this field, the specific meanings of the above terms in the present invention can be understood according to specific circumstances.
[0038] In addition, the technical solutions between the various embodiments of the present invention can be combined with each other, but it must be based on the fact that ordinary technicians in the field can implement it. When the combination of technical solutions is contradictory or cannot be implemented, it should be deemed that such combination of technical solutions does not exist and is not within the scope of protection required by the present invention.
[0039] Before describing the specific embodiments, the abbreviations of the relevant terms involved in the present disclosure are explained as follows:
[0040]
[0041]
[0042] According to the 3GPP protocol, 5G NR's uplink and downlink data channels use 16 or 24-bit cyclic redundancy check (CRC) and low-density parity check (LDPC) codes for channel coding. Figure 1 As shown:
[0043] At the sending end, after the payload information to be sent is CRC-encoded, the payload information with the CRC check code attached is LDPC-encoded, and the encoded code stream is sent to the receiving end through the air interface; the receiving end receives the encoded code stream through the air interface, and its decoding system first performs LDPC decoding, and then performs CRC check after decoding. After the check is successful, the decoded payload information is submitted to the upper-layer application.
[0044] Among them, LDPC code is used for error correction and CRC code is used for error detection. At the receiving end, if the bit sequence output by the LDPC decoder cannot pass the CRC test, it means that the load information has not been correctly recovered. The receiving end will feedback a NACK message to the sending end in order to perform subsequent signal reception and decoding through the retransmission mechanism.
[0045] LDPC code is a linear block code, usually composed of a sparse parity check matrix H∈{0,1} M×N where M represents the number of parity check equations and N represents the length of the codeword. N×1 If Hc=0, that is, c is in the null space of the matrix H, then c is a codeword of the LDPC code. Unlike Turbo codes or polar codes, one of the characteristics of LDPC codes is that they have the ability to both correct and detect errors. When using the message passing algorithm for decoding, we can perform a parity check on the results of the bit hard decision after each iteration or after processing each check node. If the check passes, it means that the current decoding result is a legal codeword; otherwise, it means that the current result is not a codeword and there must be erroneous bits in it. In other words, the LDPC decoder can independently determine the legitimacy of the decoding result through the parity check matrix H without having to rely on the CRC judgment result.
[0046] This characteristic of LDPC codes can improve the reliability of the decoding system at the receiving end and prevent the situation where "the decoding result is not the correct payload information, but the decoding system does not detect the error and therefore considers it correct." When this happens, the physical layer at the receiving end will mistakenly feedback an ACK message to the sending end and input the decoding result to the upper layer, causing data loss or delay, as well as waste of system resources. Theoretically, the error detection capability of any encoding is limited, and missed detection cannot be completely avoided. Taking CRC code as an example, its detection capability is mainly determined by its length and the design of the generating polynomial, and is related to the length of the information bit sequence and the bit error rate introduced by the channel. We can roughly assume that the upper limit of the un-detected error rate of CRC code is 2 -L , L is the CRC code length. When LDPC codes are also used for error detection, the miss detection rate of the entire decoding system can be approximated as (ignoring the possible correlation between the output bits of the LDPC decoder):
[0047] P UER ≈P UER,LDPC ·P UER,CRC
[0048] Among them, P UER is the system missed detection rate of decoding, P UER,LDPCis the missed detection rate of LDPC code, P UER,CRC is the missed detection rate of the CRC code.
[0049] Obviously, using the parity check equation defined by LDPC code for error detection can reduce the missed detection rate of the decoding system. The ultra-low missed detection rate enables the system to provide better services for scenarios requiring high reliability (such as URLLC).
[0050] The study found that in some feasible NR data channel decoding schemes, the parity check equation of the LDPC code and the CRC code are used for error detection. In this way, the decoding system can achieve an extremely low missed detection rate. On the other hand, although it is mainly used for error detection, the CRC code can actually be used for error correction. In the decoding of the NR control channel, the decoder usually uses a list-based serial elimination (SCL) algorithm. Among them, the CRC code is used for the selection and deletion of the list, which plays an important role in improving the performance of the decoder. The decoding of the NR data channel can also make use of the error correction capability of the CRC code; and because the LDPC code has error detection capabilities, there is no need to worry about sacrificing its error detection performance by using the CRC code for error correction.
[0051] like Figure 2 As shown, some achievable LDPC decoding processes based on the message passing algorithm include:
[0052] Step 210, initializing the number of grouping iterations to 0;
[0053] Step 220, determine whether the current group iteration number is less than the maximum iteration number (MAX_ITER); if so, proceed to step 230, otherwise, end decoding;
[0054] Step 230, performing LDPC layer decoding (packet iterative decoding);
[0055] Step 240, determine whether the early termination condition is met, if so, end the decoding; otherwise, after the number of group iterations is increased by 1, return to step 220 for the next iteration.
[0056] Generally speaking, before the decoding algorithm starts working, the maximum number of iterations (MAX_I TER) is defined according to the system's latency or performance requirements. When this number of iterations is reached, the decoding algorithm ends. Here, "iteration" can be understood as performing LDPC layer decoding on the current decoding result. One iteration means performing LDPC decoding on the current decoding result to obtain a new decoding result.
[0057] In addition, after each iteration, the algorithm will also check some early termination conditions, such as whether the result of the current bit hard decision can pass the CRC check, whether it can pass the LDPC parity check, etc. Depending on the algorithm flow and early termination conditions, the decoding system can work in different ways.
[0058] Figure 3a-3c Three different designs of NR data channel decoding systems are shown, Figure 3a For the traditional LDPC error correction + CRC check mode, you can set no early end condition or set it to pass the CRC check; Figure 3b Corresponding to the LDPC error correction plus check + CRC check mode, its early termination condition is that the LDPC parity check passes; Figure 3c It is an implementation example of the disclosed solution in NR data channel decoding - LDPC error correction plus check + CRC error correction plus check mode. Figure 3c The mode has high reliability because it uses LDPC code and CRC code for error detection. At the same time, it improves the decoding performance because it uses the redundant information introduced by CRC code for error correction. Figure 3a and Figure 3b The related scheme shown does not use LDPC codes and CRC codes for error correction at the same time, and has a significant performance gap with the decoding system proposed in the embodiment of the present disclosure when the codeword is short.
[0059] The present disclosure provides a decoding method, such as Figure 4 As shown, including:
[0060] Step 440, using the first decoding method to perform group iterative decoding, and verifying the current group iterative decoding result after each group iterative decoding to obtain a target decoding result;
[0061] The first decoding method includes error correction decoding and check decoding equations.
[0062] In some exemplary embodiments, Figure 5 As shown, before step 440, the method further includes:
[0063] Step 410, using the error correction decoding to perform group iterative decoding, and verifying the current group iterative decoding after each group iterative decoding;
[0064] Step 430, determine whether the verification fails for N consecutive times. If so, the number of group iterations is increased by 1 and then step 440 is executed.
[0065] That is, after the error correction decoding in step 410 fails to perform group iterative decoding for N consecutive times, the first decoding method is used to continue to perform group iterative decoding on the decoding result of the current group iterative decoding; N is a positive integer.
[0066] In some exemplary embodiments, Figure 6 As shown, after step 410, the method further includes:
[0067] Step 420, determining whether the current packet iterative decoding is verified to be successful, and if successful, ending the decoding;
[0068] That is, after each group iterative decoding, the current group iterative decoding is verified, and when the verification passes, the group iterative decoding is terminated; wherein the current group iterative decoding result is the target decoding result.
[0069] In some exemplary embodiments, step 420 determines whether the current packet iterative decoding is verified successfully. If it fails, step 430 is executed.
[0070] In some exemplary embodiments, step 430 determines whether the verification fails for N consecutive times. If not, the number of packet iterations is increased by 1 and the process returns to step 410 to continue with the next packet iterative decoding.
[0071] It can be seen that after the error correction decoding is used to perform N group iterative decoding, if the decoding result still fails to be verified, the first decoding method is used to perform the next group iterative decoding. Here, N is also called the starting iteration number of the first decoding method, that is, in the decoding scheme described in steps 410-440, the error correction decoding is used for group iterative decoding for the first N times (the number of group iterations is 0 to N-1), and the first decoding method is used for group iterative decoding from the next time (the number of group iterations is N).
[0072] In some exemplary embodiments, Figure 7 As shown, after step 440, the method further includes:
[0073] Step 450, determining whether the current packet iterative decoding is verified to be successful, and if successful, ending the decoding;
[0074] That is, after each group iterative decoding, the current group iterative decoding is verified, and when the verification passes, the group iterative decoding is terminated; wherein the current group iterative decoding result is the target decoding result.
[0075] In some exemplary embodiments, step 450 determines whether the current packet iterative decoding is verified successfully. If it fails, the number of packet iterations is increased by 1 and the process returns to step 440 to continue with the next packet iterative decoding.
[0076] It should be noted that the check decoding equation is a check equation used for error correction in group iterative decoding. Adding the check decoding equation to the iterative decoding algorithm of error correction decoding for group iterative decoding can improve the reliability of group iterative decoding.
[0077] In some exemplary embodiments, the error correction decoding is low-density parity check code LDPC decoding, and the check decoding equation is a cyclic redundancy check code CRC check equation.
[0078] Accordingly, it can be understood that in some exemplary embodiments, LDPC decoding is adopted in step 410, and the first decoding method is adopted in step 440 to perform group iterative decoding, including:
[0079] From the total CRC check equations, obtain a set number of CRC check equations;
[0080] The set number of CRC check equations are added to the iterative algorithm of the LDPC decoding, and the first decoding method includes: LDPC decoding and the CRC check equation.
[0081] In some exemplary embodiments, there are L CRC check equations in total, and the set number is recorded as CRC_LAYER, which is a number greater than or equal to 0 and less than or equal to L.
[0082] It should be noted that the first decoding method for adding a set number of CRC check equations to the iterative algorithm of LDPC decoding for group iterative decoding in the disclosed embodiment is also called CRC-assisted LDPC decoding. The method of performing decoding check using only the parity check equation of the LDPC code is called LDPC decoding, and the method of performing decoding check using the cyclic redundancy check equation of the CRC code is called CRC decoding. The specific check equations and the group iterative decoding process are not discussed in detail in the disclosed embodiment.
[0083] In some exemplary embodiments, a CRC code of length L is generally defined by a generator polynomial g(D) of order L. For example, the generator polynomial of a 16-bit CRC given by 3GPP is g(D). CRC16 (D)=D 16 +D 12 +D 5 +1. CRC code also belongs to linear block code, and the legal codeword c∈{0,1} N×1 Satisfy H CRC c = 0, where H CRC ∈{0,1} L×N represents the parity check matrix of the CRC code, N = A + L represents the length of the output codeword when the length of the input information bit sequence is A. In the CRC code, each check bit is related to part of the information bit, and they are independent of each other; that is, the matrix HCRC It can be divided into the generating matrix P∈{0,1} L×A and unit matrix I L Two parts:
[0084]
[0085] where a=[a0,…,a A-1 ] T and p=[p0,…,p L-1 ] T They correspond to the information bit sequence and the CRC check bit sequence respectively. The generator matrix P can be obtained by recursive calculation based on the generator polynomial:
[0086] P A-1 (D) = g(D), P i (D) = D·P i+1 (D)modg(D),i=0,1,…,A-2
[0087] Where P i (D) represents the polynomial defined by the i-th column of the matrix P. In the actual system, for any given value of A, we can either calculate the matrix P in real time through the above recursive method from right to left, or pre-set a larger parameter A max , calculate the corresponding matrix P max And save it, and then read P according to the actual value of A at runtime max The rightmost column of A is the submatrix. As a typical use case, Figure 8 The CRC check matrix when A=24, L=16 is given in .
[0088] In some exemplary embodiments, introducing the checksum equation of the CRC code into the decoding process of the LDPC code can be regarded as expanding the bipartite graph of the LDPC code, such as Fig. 9 As shown. The variable nodes represented by the boxes correspond to all bits of the codeword, and the check nodes represented by the dark circles above correspond to the check equations of the LDPC code. The line between the two represents the correlation between the coding bits and the check equations. The check equations of the CRC code are represented by the light circles below. They are only connected to the load bits and the CRC check bits with a degree of 1, and have nothing to do with the check bits of the LDPC code. It can be seen that introducing the CRC code into the decoding process reduces the encoding bit rate; this is the theoretical basis for this approach to improve decoding performance. At the same time, it can be inferred that this approach is more effective when the codeword of the LDPC code is shorter.
[0089] It should be noted that the LDPC decoding scheme using CRC check equations as aids proposed in the embodiments of the present disclosure can add all L CRC check equations to the iterative algorithm of the LDPC decoder, or can choose to add only some of the check equations. Adding all L CRC check equations maximizes the impact on the coding rate, and is therefore optimal in terms of performance; while adding some of them slightly loses performance, by retaining only some of the CRC check bits for error detection, the high reliability of the decoding system can be ensured. In the decoder design, the number of CRC check equations participating in the message passing decoding algorithm can be set as a software-configurable parameter, CRC_LAYER∈{0,…,L}.
[0090] That is, one or more CRC check equations are selected from the total L CRC check equations by calculation or search and added to the group iterative algorithm of the LDPC decoder for decoding. In the whole group iterative decoding process, except for the increase in the number of check equations, the basic decoding algorithm itself has not changed, which will not be discussed here.
[0091] In some exemplary embodiments, after each packet iterative decoding in step 420 and / or step 450, the current packet iterative decoding result is verified, including:
[0092] It is determined whether the current group iterative decoding result passes the verification according to the first verification method corresponding to the error correction decoding.
[0093] In some exemplary embodiments, when the error correction decoding is LDPC decoding and the check decoding equation is a CRC check equation, the first check method is an LDPC parity check. Accordingly, after each packet iterative decoding in step 410 and / or 440, step 420 and / or step 450 are executed to perform an LDPC parity check on the current packet iterative decoding result. If the check passes, the packet iterative decoding ends; if the check fails, the number of packet iterations is increased by 1 and the next packet iterative decoding is continued.
[0094] In some exemplary embodiments, the first verification method may be a single verification method or a combination of multiple single verification methods, without limitation to a specific aspect.
[0095] It can be seen that if the verification is passed, the group iterative decoding is terminated. Therefore, the process of judging whether the current group iterative decoding result passes the verification according to the first verification method is also called judging whether the early termination condition is currently met according to the first verification method. That is, if the current group iterative decoding result passes the verification of the first verification method, the early termination condition is met; if it fails to pass the verification of the first verification method, the non-early termination condition is met.
[0096] In some exemplary embodiments, Fig.10 As shown, after the current group iterative decoding verification succeeds (obtaining the target decoding result), the method further includes:
[0097] Step 460, judging whether the target decoding result is successfully verified according to the second verification method corresponding to the verification decoding equation, and determining that the decoding is successful when the verification is successful; and determining that the decoding is unsuccessful when the verification fails.
[0098] In some exemplary embodiments, the second verification method is CRC verification. It can be seen that after obtaining the target decoding result, CRC verification is used to verify whether the decoding is successful.
[0099] In some exemplary embodiments, the second verification method may be a single verification method or a combination of multiple single verification methods, without limitation to a specific aspect.
[0100] In some exemplary embodiments, Fig.11 As shown, the method also includes:
[0101] Step 400, determining whether the current number of group iterations is less than the maximum number of iterations, if so, executing step 410 or 440; if so, ending decoding.
[0102] It should be noted that in some exemplary embodiments, before the LDPC decoding algorithm starts executing, a parameter maximum number of iterations (MAX_ITER) will be defined based on the system's latency or performance requirements. In the disclosed embodiment, this parameter is also used to control the number of iterations in the packet iterative decoding algorithm based on message passing.
[0103] In some exemplary embodiments of the present disclosure, the Figure 3c The decoding mode shown is a decoding mode in which CRC assists LDPC for error correction and error detection. This mode has high reliability because it uses LDPC code and CRC code for error detection in succession. At the same time, it improves the decoding performance because it uses the check equation introduced by CRC code for error correction. When using CRC code to assist LDPC decoding, the decoder can process LDPC check nodes and CRC check nodes in the same way. If auxiliary decoding is performed in each round of iteration, it is difficult to achieve good results. There are two main reasons:
[0104] 1. The NR protocol stipulates that some information bits should be punctured, and this part of information is missing for the receiving decoder. The code rate of the CRC code itself is relatively high, and the missing information may cause the CRC check equation to be unable to effectively transmit the message. At this time, the punctured bits must be restored to a certain extent by relying on the redundant information provided by the LDPC code, and then the CRC code check equation can be normally used for decoding.
[0105] 2. The number of check bits of the CRC code is very small, and their relationship with the information bits is close; or rather, the parity check matrix of the CRC code has more non-zero elements and is not a sparse matrix (taking Figure 8 as an example, the row weight of the CRC parity check matrix is relatively large). Affected by the possible short cycles, the performance of such codes is often poor when decoded using an iterative algorithm based on message passing. Therefore, it is necessary to limit the error propagation effect that the CRC check equation may bring in the decoding algorithm of this solution.
[0106] Considering the better effect of the overall decoding scheme, based on the above aspects, in some exemplary embodiments of the present disclosure, a parameter N is proposed to control the starting number of iterations when starting the iteration using the first decoding method, which is called the starting iteration number of the first decoding method. Corresponding to the CRC-aided LDPC decoding scheme, N is also called the starting iteration number of the aided decoding iteration, denoted as N = CRC_ITER_START ∈ {0,..., MAX_ITER - 1} to control the starting iteration number when the CRC check equation participates in the decoding: when the current block iteration number iter < CRC_ITER_START, the decoding algorithm ignores the CRC check equation and only processes the LDPC check equation; when iter ≥ CRC_ITER_START, the CRC check equation is used to assist the LDPC check equation for decoding.
[0107] In some exemplary embodiments, the starting iteration number of the aided decoding iteration is determined according to one or more of the following factors:
[0108] The length of the information to be decoded, the modulation and coding scheme, and the maximum number of iterations.
[0109] In some exemplary embodiments, the starting iteration number of the aided decoding iteration is less than the maximum number of iterations.
[0110] In some exemplary embodiments, based on the simulation results of NR PDSCH decoding, when the length of the information to be decoded is greater than the length threshold and the coding rate is less than the rate threshold, that is, when the length of the information to be decoded is long and the coding rate is not high, the starting iteration number of the aided decoding iteration is set to a small value, such as one-fourth of the maximum number of iterations; otherwise, the starting iteration number of the aided decoding iteration can be appropriately increased.
[0111] For example, if the maximum number of iterations of LDPC decoding is 16, then the starting iteration number of the aided decoding (that is, the starting iteration number of the first decoding method) is determined to be 8.
[0112] Those skilled in the art can perform tests or simulation runs based on the measured data to determine the starting iteration number of the aided decoding with the optimal comprehensive evaluation.
[0113] In some exemplary embodiments, the method flow of using CRC to assist LDPC decoding proposed in this solution is as follows: Fig.12 As shown, including:
[0114] Step 1210, initializing the number of grouping iterations to 0;
[0115] Step 1220, determining whether the current group iteration number is less than the maximum iteration number, if so, executing 1230, if greater than or equal to, the decoding ends;
[0116] Step 1230, determining whether the current group iteration number is less than the auxiliary decoding start number; if so, executing 1240, if not, executing 1250;
[0117] Step 1240, performing LDPC decoding;
[0118] Step 1250, performing CRC-assisted LDPC decoding;
[0119] Step 1260, determining whether the current group iterative decoding result has been verified. If the verification has been passed, the decoding ends; if the verification has not been passed, executing 1270;
[0120] Step 1270, the number of group iterations is increased by 1.
[0121] Wherein, step 1250 includes: obtaining set CRC_LAYER CRC check equations from the total CRC check equations; adding the CRC_LAYER check equations to the iterative algorithm of LDPC decoding to perform group iterative decoding.
[0122] In some exemplary embodiments, in step 1260, an LDPC parity check is performed on the iterative decoding result of the current packet to determine whether the verification is passed. If the verification is passed, it indicates that the early termination condition is met, and the iterative decoding is terminated.
[0123] In some exemplary embodiments, the method of using CRC to assist LDPC decoding proposed in this solution also includes:
[0124] Step 1280, determine whether the decoding result passes the CRC check. If so, the decoding is successful, otherwise, the decoding fails.
[0125] It should be noted that the block iterative decoding scheme proposed in the present disclosure is also applicable to other linear block iterative decoding schemes, in addition to the check equations related to LDPC decoding and CRC decoding in the specific examples. When the system uses two linear block codes for encoding, one for error detection and the other for error correction, the decoding system at the receiving end can adopt the design method of this scheme, that is, comprehensively consider the two codes when decoding, use the check equations of the error detection code to assist decoding, and improve the error correction capability of the system.
[0126] In specific embodiments of other linear group decoding methods, the first verification method can be determined according to the linear iterative group decoding method used; the decoding result verification performed after the decoding is completed can also be determined according to the second verification method. Specific aspects are not elaborated here one by one.
[0127] Example
[0128] The method of using CRC to assist LDPC decoding proposed in this scheme uses the check equation provided by the CRC code to participate in decoding, which reduces the effective coding rate and can significantly improve the decoding performance when the load information is short. Figure 13a-13b A set of simulation results for AWGN channel with A = 24 is given in Fig.13a For BLER performance, Fig.13b is the average number of iterations changing with SNR. As can be seen from the figure, CRC-assisted decoding improves the performance of two different LDPC decoding algorithms (NMS and SP) by about 0.1 to 0.2 dB; at the same time, the average number of iterations required for algorithm convergence has decreased. In other words, although the decoder needs to spend extra time and power to process the check equation of the CRC code, due to the improvement in convergence speed, the final time and power overhead may not be higher than the original design.
[0129] Figure 13a-13b In, A=24, CRC16, the transmission bit sequence length is 120, QPSK modulation, AWGN channel, MAX_ITER=16, CRC_LAYER=16, CRC_ITER_START=8, ldpcAlgo0=NMS, ldpcAlgo3=SP.
[0130] The present disclosure also provides a decoding device 1400, such as Fig.14 As shown, including:
[0131] The decoding module 1410 is configured to use a first decoding method to perform group iterative decoding, and verify the current group iterative decoding result after each group iterative decoding to obtain a target decoding result;
[0132] The first decoding method includes error correction decoding and verification decoding equations.
[0133] The embodiment of the present disclosure further provides a mobile terminal, comprising the decoding device 1400 as described above.
[0134] The present disclosure also provides a decoder, including a processor, wherein the processor is configured to execute:
[0135] Performing group iterative decoding using the first decoding method, and verifying the current group iterative decoding result after each group iterative decoding to obtain a target decoding result;
[0136] The first decoding method includes error correction decoding and check decoding equations.
[0137] The present disclosure also provides an electronic device, including:
[0138] one or more processors;
[0139] a storage device for storing one or more programs,
[0140] When the one or more programs are executed by the one or more processors, the one or more processors implement the decoding method described in any of the above embodiments.
[0141] The present disclosure also provides a storage medium, in which a computer program is stored, wherein the computer program is configured to execute the decoding method described in any of the above embodiments when running.
[0142] The decoding method provided by the embodiments of the present disclosure introduces the check decoding equation into the error correction decoder, and improves the error correction performance of the system by reducing the encoding code rate. In some exemplary embodiments, the number of check decoding equations introduced and the starting number of iterations involved are flexibly configured, taking into account the error correction performance and reliability of the system. In some exemplary embodiments, after the CRC check equation is introduced, the CRC check node and the LDPC check node are processed in the same way, so that the scheme can be applied to different LDPC decoding algorithms, with less impact on the decoder implementation architecture.
[0143] It will be appreciated by those skilled in the art that all or some of the steps, systems, and functional modules / units in the methods disclosed above may be implemented as software, firmware, hardware, and appropriate combinations thereof. In hardware implementations, the division between the functional modules / units mentioned in the above description does not necessarily correspond to the division of physical components; for example, a physical component may have multiple functions, or a function or step may be performed by several physical components in cooperation. Some or all components may be implemented as software executed by a processor, such as a digital signal processor or a microprocessor, or implemented as hardware, or implemented as an integrated circuit, such as an application-specific integrated circuit. Such software may be distributed on a computer-readable medium, which may include a computer storage medium (or non-transitory medium) and a communication medium (or temporary medium). As known to those skilled in the art, the term computer storage medium includes volatile and non-volatile, removable and non-removable media implemented in any method or technology for storing information (such as computer-readable instructions, data structures, program modules, or other data). Computer storage media include, but are not limited to, RAM, ROM, EEPROM, flash memory or other memory technology, CD-ROM, digital versatile disks (DVD) or other optical disk storage, magnetic cassettes, magnetic tapes, magnetic disk storage or other magnetic storage devices, or any other medium that can be used to store the desired information and can be accessed by a computer. In addition, it is well known to those of ordinary skill in the art that communication media typically contain computer-readable instructions, data structures, program modules, or other data in a modulated data signal such as a carrier wave or other transport mechanism, and may include any information delivery media.
[0144] The above description is only a preferred embodiment of the present invention, and does not limit the patent scope of the present invention. All equivalent structural changes made by using the contents of the present invention specification and drawings under the concept of the present invention, or directly / indirectly applied in other related technical fields are included in the patent protection scope of the present invention.
Claims
1. A decoding method, characterized in that: include: Low-density parity check code LDPC decoding is used for group iterative decoding, and the current group iterative decoding is verified after each group iterative decoding; After N consecutive verification failures, the first decoding method is used to perform group iterative decoding, and the current group iterative decoding result is verified after each group iterative decoding to obtain a target decoding result, where N is a positive integer; The first decoding method includes: LDPC decoding and cyclic redundancy check code CRC check equation.
2. The method according to claim 1, characterized in that After adopting the low-density parity check code LDPC decoding to perform group iterative decoding and verifying the current group iterative decoding result after each group iterative decoding, the method further includes: If the verification passes, the group iterative decoding is ended, wherein the current group iterative decoding result is the target decoding result.
3. The method according to claim 1 or 2, characterized in that The adopting the first decoding method to perform group iterative decoding includes: From the total CRC check equations, obtain a set number of CRC check equations; The set number of CRC check equations are added to the iterative algorithm of the LDPC decoding.
4. The method according to claim 1 or 2, characterized in that: After each packet iterative decoding, the current packet iterative decoding result is verified, including: Determine whether the current group iterative decoding result passes the verification according to the first verification method corresponding to the LDPC decoding.
5. The method according to claim 1 or 2, characterized in that: After obtaining the target decoding result, the method further includes: Determine whether the target decoding result is successfully verified according to the second verification method corresponding to the verification decoding equation. If the verification is successful, determine that the decoding is successful; if the verification fails, determine that the decoding fails.
6. A decoding device, characterized in that: include: The decoding module is configured to use low-density parity check code LDPC decoding to perform group iterative decoding, and to verify the current group iterative decoding after each group iterative decoding; After N consecutive verification failures, the first decoding method is used to perform group iterative decoding, and the current group iterative decoding result is verified after each group iterative decoding to obtain a target decoding result, where N is a positive integer; The first decoding method includes: LDPC decoding and cyclic redundancy check code CRC check equation.
7. A decoder, characterized in that: comprising a processor configured to execute: Low-density parity check code LDPC decoding is used for group iterative decoding, and the current group iterative decoding is verified after each group iterative decoding; After N consecutive verification failures, the first decoding method is used to perform group iterative decoding, and the current group iterative decoding result is verified after each group iterative decoding to obtain a target decoding result, where N is a positive integer; The first decoding method includes: LDPC decoding and cyclic redundancy check code CRC check equation.
8. A computer-readable storage medium having a computer program stored thereon, characterized in that: When the program is executed by a processor, the decoding method according to any one of claims 1 to 5 is implemented.
Citation Information
Patent Citations
Convolutional code decoding method and device
CN103905065A
Sequencing statistical decoding method assisted by partial cyclic redundancy check
CN109981112A
Method, device and equipment for decoding low-density parity-check codes
CN110048803A
LDPC code and CRC combined exchange check decoding method and device
CN111464190A
LDPC decoding method, LDPC decoder, chip and equipment
CN112134572A
