Decoding determination method and device, electronic equipment and storage medium
By determining the reliability metric of the received sequence and the generated information bit window, and using the permutation function to sort the generator matrix for hard-decision decoding, the problem of strict requirements on code rate and code length in existing decoding algorithms is solved, and efficient decoding applicable to various code lengths is achieved.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- BEIJING UNIV OF POSTS & TELECOMM
- Filing Date
- 2022-09-27
- Publication Date
- 2026-04-24
AI Technical Summary
Existing decoding algorithms have strict requirements on code rate and code length, resulting in high complexity, prolonged decoding time, and low throughput, making it difficult to adapt to code lengths of various lengths.
By determining the reliability metric of the received sequence, generating an information bit window, sorting the generator matrix using a permutation function, performing hard-decision decoding, and flipping the system bits according to the error pattern generation rules, the optimal decoding is finally determined.
It achieves good performance in encoding and decoding of various types of codes, is suitable for code lengths of various lengths, reduces complexity, and achieves shorter decoding latency and higher throughput.
Smart Images

Figure CN115833848B_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of decoding technology, and in particular to a decoding determination method, apparatus, electronic device and storage medium. Background Technology
[0002] In related technologies, commonly used decoding algorithms have relatively strict requirements on code rate and code length, resulting in high algorithm complexity, long decoding latency, and low throughput. Summary of the Invention
[0003] In view of this, the purpose of this application is to provide a decoding determination method, apparatus, electronic device and storage medium.
[0004] In view of the aforementioned purpose, in a first aspect, this application provides a decoding determination method, comprising:
[0005] Determine the reliability metric of the received sequence y, and sort the received sequence y in descending order according to the reliability metric to determine the information sequence z;
[0006] Generate an information bit window corresponding to the information sequence z according to a preset generation criterion;
[0007] The pre-acquired initial generator matrix G is sorted according to the permutation function to determine the system generator matrix G1, and the hard decision decoding is determined by inverse permutation of the permutation function according to the system generator matrix G1 and the pre-acquired codeword information sequence.
[0008] The error pattern e is obtained according to the error pattern generation rule, and the system bits in the codeword information sequence are flipped according to the error pattern e to determine K new system bits;
[0009] The binary bit sequence is obtained based on the system generation matrix G1 and the hard decision codeword sequence determined by the new system bit.
[0010] If the hard decision codeword sequence is valid, the candidate minimum Euclidean distance of the information bit window is determined by the binary bit sequence and the received sequence, the optimal hard decision codeword sequence under the information bit window corresponding to the minimum Euclidean distance is determined, and the optimal decoding is determined according to the optimal hard decision codeword sequence.
[0011] In one possible implementation, the information bit window includes: a reliable window, an overlapping sliding window, a non-overlapping sliding window, a skip window, an odd-even window, and a random window;
[0012] The step of generating an information bit window corresponding to the information sequence according to a preset generation criterion includes:
[0013] The first K bits of the information sequence, arranged in descending order according to the reliability metric, are used as the reliability window; where K represents the source bit length.
[0014] The reliable window is slid backward by d positions in the information sequence to determine the overlapping sliding window; where d represents the first sliding position, and d < K;
[0015] In the information sequence, the reliable window is slid backward by c positions to determine the non-overlapping sliding window; where c represents the second sliding position, and c ≥ K;
[0016] In the information sequence, the first p positions and the last q positions starting from the dth position are used as the jump window, sorted according to the reliability metric; where p represents the third sliding position, q represents the fourth sliding position, and p+q=K;
[0017] The first K odd-numbered positions in the information sequence are selected as the odd window, or the first K even-numbered positions in the information sequence are selected as the even window to determine the odd / even window;
[0018] K bits are randomly selected from the information sequence to determine the random window.
[0019] In one possible implementation, the permutation function includes: a first permutation function λ1;
[0020] The step of sorting the pre-obtained initial generator matrix G according to the permutation function to determine the system generator matrix G1 includes:
[0021] The columns of the initial generating matrix G are reordered according to the first permutation function λ1 to determine the first generating matrix G';
[0022] According to the information bit window, the corresponding K unrelated column vectors are found from the first generator matrix G', and the unrelated column vectors are arranged in descending order according to the reliability metric to determine the second generator matrix G”; wherein, the first K columns of the second generator matrix G” are the unrelated column vectors, and the remaining column vectors are the same as the corresponding column vectors in the first generator matrix G'.
[0023] Perform elementary row operations on the second generating matrix G” to determine the system generating matrix G1;
[0024] Wherein, the system generation matrix G1 is represented as
[0025]
[0026] Among them, I K Let P represent the identity matrix and P represent the parity check matrix.
[0027] In one possible implementation, the permutation function includes: a second permutation function λ2;
[0028] The step of determining hard-decision decoding by inversely permuting the permutation function based on the system-generated matrix G1 and the pre-acquired codeword information sequence includes:
[0029] The transpose sequence is determined based on the system-generated matrix and the pre-acquired codeword information sequence.
[0030] The hard-decision decoding is determined by performing inverse permutations of the first permutation function λ1 and the second permutation function λ2 based on the codeword information sequence; wherein, the hard-decision decoding is represented as follows:
[0031]
[0032] In one possible implementation, the permutation function includes: a second permutation function λ2;
[0033] The step of determining hard-decision decoding by inversely permuting the permutation function based on the system-generated matrix and the pre-acquired codeword information sequence includes:
[0034] The transpose sequence is determined based on the system-generated matrix and the pre-acquired codeword information sequence.
[0035] The hard-decision decoding is determined by performing inverse permutations of the first permutation function λ1 and the second permutation function λ2 based on the codeword information sequence; wherein, the hard-decision decoding is represented as follows:
[0036]
[0037] Where 'a' represents the codeword information sequence.
[0038] In one possible implementation, obtaining the error pattern e according to the error pattern generation rule, and flipping the system bits in the codeword information sequence according to the error pattern e to determine K new system bits, includes:
[0039] The error pattern e is obtained according to the error pattern generation rules;
[0040] The systematic bits in the codeword information sequence are flipped according to the error pattern e to determine K new systematic bits. Among them, the new system bit bits Represented as
[0041]
[0042] Where 'a' represents the codeword information sequence.
[0043] In one possible implementation, obtaining the binary bit sequence based on the system generation matrix G1 and the hard-decision codeword sequence determined based on the new system bits includes:
[0044] The hard-decision decoding is reconstructed based on the system generator matrix G1 to determine the hard-decision decoding sequence, and the binary bit sequence is determined based on the hard-decision decoding sequence; wherein, the binary bit sequence is represented as...
[0045]
[0046] in, This represents the hard-decision decoding sequence.
[0047] In one possible implementation, in response to the validity of the hard-decision codeword sequence, the candidate minimum Euclidean distance of the information bit window is determined using the binary bit sequence and the received sequence; the optimal binary bit sequence within the information bit window corresponding to the minimum Euclidean distance is determined; and the optimal decoding is determined based on the optimal binary bit sequence, including:
[0048] The validity of the hard-decision decoded sequence is verified using cyclic redundancy check and frozen bit check.
[0049] For each information bit window
[0050] In response to the hard-decision decoded sequence satisfying the validity requirement, the Euclidean distance between the binary bit sequence and the second rearranged received sequence v is determined, and it is determined whether the Euclidean distance is less than the initial Euclidean distance; wherein, the rearranged received sequence v = λ2(z), where z = λ1(y), z represents the first rearranged received sequence, λ1 represents the first permutation function, and λ2 represents the second permutation function.
[0051] If the Euclidean distance is less than the initial Euclidean distance of the current information bit window, then the initial Euclidean distance is replaced with the new Euclidean distance, and the hard-decision decoding sequence corresponding to the new Euclidean distance is determined as the candidate decoding sequence.
[0052] In response to finding δ valid codewords, the optimal hard decision codeword sequence for the current information bit window is determined based on the candidate decoding.
[0053] The optimal hard decision codeword sequence with the smallest Euclidean distance in all information bit windows is determined as the optimal decoding sequence.
[0054] In a second aspect, this application provides a decoding determination apparatus, comprising:
[0055] The first determining module is configured to determine the reliability metric of the received sequence y, and to sort the received sequence y in descending order according to the reliability metric to determine the information sequence z.
[0056] The generation module is configured to generate an information bit window corresponding to the information sequence z according to a preset generation criterion;
[0057] The second determining module is configured to sort the pre-acquired initial generating matrix G according to the permutation function to determine the system generating matrix G1, and to determine the hard decision decoding by inversely permuting the permutation function according to the system generating matrix G1 and the pre-acquired codeword information sequence.
[0058] The third determining module is configured to obtain an error pattern e according to the error pattern generation rule, and to flip the system bits in the codeword information sequence according to the error pattern e to determine K new system bits;
[0059] The fourth determining module is configured to obtain a binary bit sequence based on the system generation matrix G1 and the hard decision codeword sequence determined based on the new system bit;
[0060] The fifth determining module is configured to, in response to the validity of the hard decision codeword sequence, determine the candidate minimum Euclidean distance of the information bit window through the binary bit sequence and the received sequence, determine the optimal hard decision codeword sequence under the information bit window corresponding to the minimum Euclidean distance, and determine the optimal decoding based on the optimal hard decision codeword sequence.
[0061] In a third aspect, this application provides an electronic device including a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor executes the program to implement the decoding determination method as described in the first aspect.
[0062] In a fourth aspect, this application provides a non-transitory computer-readable storage medium storing computer instructions for causing a computer to perform the decoding determination method as described in the first aspect.
[0063] As can be seen from the above description, the decoding determination method, apparatus, electronic device, and storage medium provided in this application determine the reliability metric of the received sequence y, and sort the received sequence y in descending order according to the reliability metric to determine the information sequence z; generate an information bit window corresponding to the information sequence z according to a preset generation criterion; sort a pre-acquired initial generation matrix G according to a permutation function to determine a system generation matrix G1, and determine hard decision decoding by inversely permuting the permutation function according to the system generation matrix G1 and the pre-acquired codeword information sequence; obtain an error pattern e according to an error pattern generation rule, and flip the system bits in the codeword information sequence according to the error pattern e to determine K new system bits; obtain a binary bit sequence according to the system generation matrix G1 and the hard decision codeword sequence determined according to the new system bits; in response to the validity of the hard decision codeword sequence, determine the candidate minimum Euclidean distance of the information bit window through the binary bit sequence and the received sequence, determine the optimal hard decision codeword sequence under the information bit window corresponding to the minimum Euclidean distance, and determine the optimal decoding according to the optimal hard decision codeword sequence. This results in good performance for various encoding and decoding methods, and is applicable to code lengths of various lengths. It also reduces complexity to achieve application and configuration flexibility, resulting in shorter decoding latency and higher throughput. Attached Figure Description
[0064] To more clearly illustrate the technical solutions in this application or related technologies, the drawings used in the description of the embodiments or related technologies will be briefly introduced below. Obviously, the drawings described below are only embodiments of this application. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.
[0065] Figure 1 An exemplary flowchart of a decoding determination method provided in an embodiment of this application is shown.
[0066] Figure 2 The following is an illustration of a use case for the decoding determination method according to an embodiment of this application.
[0067] Figure 3 An exemplary schematic diagram of an information bit window according to an embodiment of this application is shown.
[0068] Figure 4 A schematic diagram of an exemplary structure of a decoding determination device provided in an embodiment of this application is shown.
[0069] Figure 5 This illustration shows an exemplary structural diagram of an electronic device provided in an embodiment of this application. Detailed Implementation
[0070] To make the objectives, technical solutions, and advantages of this application clearer, the following detailed description is provided in conjunction with specific embodiments and the accompanying drawings.
[0071] It should be noted that, unless otherwise defined, the technical or scientific terms used in the embodiments of this application should have the ordinary meaning understood by one of ordinary skill in the art to which this application pertains. The terms "first," "second," and similar terms used in the embodiments of this application do not indicate any order, quantity, or importance, but are merely used to distinguish different components. Terms such as "comprising" or "including" mean that the element or object preceding the word encompasses the elements or objects listed after the word and their equivalents, without excluding other elements or objects. Terms such as "connected" or "linked" are not limited to physical or mechanical connections, but can include electrical connections, whether direct or indirect. Terms such as "upper," "lower," "left," and "right" are only used to indicate relative positional relationships; when the absolute position of the described object changes, the relative positional relationship may also change accordingly.
[0072] As described in the background section, few existing decoding algorithms are designed for short codes, which limits their performance on shorter codes and prevents them from fully realizing their performance potential. Furthermore, they are typically designed for a specific codeword structure, making it difficult to migrate and extend their capabilities even if they achieve good performance with a particular codeword.
[0073] The applicant's research revealed that, among related technologies, the GRAND algorithm offers approximately 1 dB of performance advantage over CA-SCL under high code rate and short code length conditions. However, its main drawback lies in the requirement for a high code rate and short code length, thus limiting its application scope. Otherwise, the algorithm's complexity would increase rapidly, leading to excessively long decoding latency. Furthermore, for medium-to-low codeword rates, even with greater overhead, the performance advantage of GRAND and its variants is not significant, and under certain conditions, they may even be inferior. Based on its design, the ORBGRAND algorithm, despite a significant improvement in throughput, still exhibits high average complexity and unacceptable decoding latency at medium-to-low signal-to-noise ratios.
[0074] Furthermore, while OSD decoding algorithms and their existing improvements have achieved relatively good decoding performance in other related technologies, their complexity reduction remains insufficient. This results in high decoding latency and low throughput, limiting their flexibility to similar constraints to GRAND, thus restricting their application to short codes. Moreover, decoding performance becomes increasingly limited as code length increases. The main drawback of OSD is its strict requirement for code length; as the number of information bits increases, its complexity increases exponentially.
[0075] Therefore, this application provides a decoding determination method, apparatus, electronic device, and storage medium, which determines the reliability metric of a received sequence y, and sorts the received sequence y in descending order according to the reliability metric to determine an information sequence z; generates an information bit window corresponding to the information sequence z according to a preset generation criterion; sorts a pre-acquired initial generation matrix G according to a permutation function to determine a system generation matrix G1, and determines hard decision decoding by inversely permuting the permutation function according to the system generation matrix G1 and the pre-acquired codeword information sequence; obtains an error pattern e according to an error pattern generation rule, and flips the system bits in the codeword information sequence according to the error pattern e to determine K new system bits; obtains a binary bit sequence according to the system generation matrix G1 and the hard decision codeword sequence determined according to the new system bits; in response to the validity of the hard decision codeword sequence, determines the candidate minimum Euclidean distance of the information bit window through the binary bit sequence and the received sequence, determines the optimal hard decision codeword sequence under the information bit window corresponding to the minimum Euclidean distance, and determines the optimal decoding according to the optimal hard decision codeword sequence. This results in good performance for various encoding and decoding methods, and is applicable to code lengths of various lengths. It also reduces complexity to achieve application and configuration flexibility, resulting in shorter decoding latency and higher throughput.
[0076] The decoding determination method provided in this application will be specifically described below through specific embodiments.
[0077] refer to Figure 1 The decoding determination method provided in this application specifically includes the following steps:
[0078] S102: Determine the reliability metric of the received sequence y, and sort the received sequence y in descending order according to the reliability metric to determine the information sequence z.
[0079] S104: Generate an information bit window corresponding to the information sequence z according to a preset generation criterion.
[0080] S106: Sort the pre-acquired initial generator matrix G according to the permutation function to determine the system generator matrix G1, and determine the hard decision decoding by inversely permuting the permutation function according to the system generator matrix G1 and the pre-acquired codeword information sequence.
[0081] S108: Obtain error pattern e according to the error pattern generation rule, and flip the system bits in the codeword information sequence according to the error pattern e to determine K new system bits.
[0082] S110: Obtain the binary bit sequence based on the system generation matrix G1 and the hard decision codeword sequence determined based on the new system bit.
[0083] S112: In response to the validity of the hard decision codeword sequence, the candidate minimum Euclidean distance of the information bit window is determined by the binary bit sequence and the received sequence, the optimal hard decision codeword sequence under the information bit window corresponding to the minimum Euclidean distance is determined, and the optimal decoding is determined according to the optimal hard decision codeword sequence.
[0084] Figure 2 The following is an illustration of a use case for the decoding determination method according to an embodiment of this application.
[0085] In some embodiments, reference Figure 2 The invention mainly consists of two parts: a window generation module and a decoder core. The window generation module generates a series of position windows for the system bits required in subsequent decoding. The decoder core then performs preprocessing and subsequent decoding based on these windows.
[0086] The decoder core is further divided into three main modules: a preprocessing module, a decoding module, and an error detection and correction module. Therefore, the main schematic diagram of this scheme is as follows: Figure 2 As shown, the dashed lines represent that the decoder core can select multiple windows for decoding simultaneously.
[0087] In some embodiments, an information bit window corresponding to the information sequence can be generated according to preset generation criteria. The information bit window may include a reliable window, an overlapping sliding window, a non-overlapping sliding window, a skip window, an even / odd window, and a random window. The received sequence can first be sorted in descending order according to a reliability metric to obtain a reordered sequence; this permutation operation is defined as the first permutation function λ1. Simultaneously, the columns of the initial generation matrix G = G(N,K) are reordered according to the first permutation function λ1 to obtain the first generation matrix G′. For the reordered sequence, its corresponding system code information bit window is generated according to various criteria. Here, N represents the transmitted codeword length, and K represents the source bit length.
[0088] Figure 3 An exemplary schematic diagram of an information bit window according to an embodiment of this application is shown.
[0089] Specifically, refer to Figure 3 The first K bits of the information sequence arranged in descending order according to the reliability metric are used as the reliability window; where K represents the source bit length.
[0090] The reliable window is slid backward by d positions in the information sequence to determine the overlapping sliding window; where d represents the first number of sliding positions, d < K, and the overlapping sliding window may include d+1, d+2, ..., d+K positions;
[0091] In the information sequence, the reliable window is slid backward by c positions to determine the non-overlapping sliding window; where c represents the second sliding position, c≥K, and the non-overlapping sliding window may include c+1, c+2,...,c+K positions;
[0092] In the information sequence, the first p positions and the last q positions starting from the dth position are used as the jump window, sorted according to the reliability metric; where p represents the third sliding position, q represents the fourth sliding position, and p+q=K;
[0093] The first K odd-numbered positions in the information sequence are selected as the odd window, or the first K even-numbered positions in the information sequence are selected as the even window to determine the odd / even window;
[0094] K bits are randomly selected from the information sequence to determine the random window.
[0095] It should be noted that in the decoding design, besides selecting the reliable window, whether to select the remaining windows, how many types to select, and their parameter settings can all be adjusted according to requirements. A diagram illustrating the selection criteria is shown below. Figure 3 The number represents the reliability index, with larger numbers indicating less reliable reliability.
[0096] In some embodiments, based on the information bits selected for each window, decoding is performed serially or in parallel as required, i.e., preprocessing, decoding, and error detection and correction are performed sequentially or simultaneously to obtain a decoding sequence and its Euclidean distance equal to the number of windows. Finally, the optimal sequence is selected as the decoding result.
[0097] Specifically, the columns of the initial generating matrix G can be reordered according to the first permutation function λ1 to determine the first generating matrix G'; the corresponding K unrelated column vectors are found from the first generating matrix G' according to the information bit window, and the unrelated column vectors are arranged in descending order according to the reliability metric to determine the second generating matrix G”; wherein, the first K columns of the second generating matrix G” are the unrelated column vectors, and the remaining column vectors are the same as the corresponding column vectors in the first generating matrix G'; elementary row operations are performed on the second generating matrix G” to determine the system generating matrix G1; wherein, the system generating matrix G1 is represented as
[0098]
[0099] Among them, I K Let P represent the identity matrix and P represent the parity check matrix.
[0100] Further, the permutation function includes: a second permutation function λ2; and a transpose sequence determined based on the system-generated matrix and the pre-acquired codeword information sequence. The hard-decision decoding is determined by performing inverse permutations of the first permutation function λ1 and the second permutation function λ2 based on the codeword information sequence; wherein, the hard-decision decoding is represented as follows:
[0101]
[0102] In one specific embodiment, specifically, K unrelated column vectors can be found from G′, the positions of which correspond one-to-one with the windows of the window generation module. These K independent column vectors are taken as the first K columns of G″ and arranged in descending order while maintaining their reliability metric; the remaining NK columns are also arranged in descending order without loss of reliability as the remaining NK columns of G″. This process is defined as the permutation function λ2. z = λ1(y) is rearranged according to the permutation function λ2 to obtain the sequence v = λ2(z). The first K column vectors of v are called the system bits. Elementary row operations are performed on the matrix G″ to obtain its system form generator matrix G1. For codewords... The information sequence can be obtained from the generator matrix G1 in the system form. Therefore, the decoding result According to Using the inverse permutation λ1 -1 λ2 -1 The above is a hard-decision decoding based on reliability metrics, which is close to the optimal decoding.
[0103] Furthermore, after the preprocessing step, the hard decision result in OSD decoding is decoded, and an error pattern e is obtained according to the error pattern generation rule; the system bits in the codeword information sequence are flipped according to the error pattern e to determine K new system bits. Among them, the new system bit bits Represented as
[0104]
[0105] Where 'a' represents the codeword information sequence.
[0106] Furthermore, the hard-decision decoding is reconstructed based on the system generation matrix G1 to determine the hard-decision decoding sequence, and a binary bit sequence is determined based on the hard-decision decoding sequence; wherein, the binary bit sequence is represented as...
[0107]
[0108] in, This represents the hard-decision decoding sequence.
[0109] It should be noted that obtaining the error pattern e according to the error pattern generation rules can include: using a PEP generator to generate several error patterns and correction sequences for retrieval in subsequent decoding stages. For example, the input can be the number of bits l and the target Hamming weight, and the PEP generator can output several error patterns and several correction sequences corresponding one-to-one with the error patterns. Here, l can be a temporary COW value.
[0110] Specifically, the PEP generator can be used to generate a first error pattern with a Hamming weight of 1; wherein the first error pattern corresponds to a first correction sequence in OEI where the l-th bit is 1 and the remaining bits are 0; further, the PEP generator can be used to split the bit 1 to determine multiple bit sequences to generate a second error pattern with a Hamming weight of 2; wherein the second error pattern corresponds to multiple second correction sequences with a Hamming weight of 2, and each second error pattern includes an left value a and an right value b; further still, for each second error pattern, the PEP generator can be used to subtract a series of numbers from b+1 to a / 2 from the left value a to generate multiple third error patterns with a Hamming weight of 3, wherein each third error pattern corresponds to a third correction sequence with a Hamming weight of 3.
[0111] In one specific embodiment, firstly, an error pattern with a Hamming weight of 1 is generated, corresponding to a correction sequence in OEI where the l-th bit is 1 and the rest are 0. Next, an error pattern with a Hamming weight of 2 is generated. l is split by subtracting a series of numbers from 1, 2, up to l / 2, resulting in several patterns such as {l-1, 1}, {l-2, 2}, corresponding to several correction sequences with a Hamming weight of 2. Further, an error pattern with a Hamming weight of 3 is generated. For each error pattern with a Hamming weight of 2, its left value is a and its right value is b. a is split by subtracting a series of numbers starting from b+1 up to a / 2, resulting in several patterns such as {ab-1, b+1, b}, {ab-2, b+2, b}, corresponding to several correction sequences with a Hamming weight of 3. Similarly, the above steps can be repeated to generate an error pattern with a Hamming weight of h based on an error pattern with a Hamming weight of h-1. The corresponding correction sequences are Hamming weights of 4, 5, ..., HW, where HW represents the target Hamming weight.
[0112] It should be noted that the PEP generator can be used to generate all error patterns offline in advance and store them in memory for subsequent online decoder reading and use. Note that in this application, the generated PEP patterns can be used by all windows and their corresponding decoding processes without needing to be regenerated.
[0113] The validity of the hard-decision decoding sequence is verified using Cyclic Redundancy Check (CRC) and Frozen Bit Check (FBS). If the hard-decision decoding sequence is valid, the Euclidean distance between the BPSK sequence and the received sequence is determined, and it is determined whether the Euclidean distance is less than the initial Euclidean distance. If the Euclidean distance is less than the initial Euclidean distance, the initial Euclidean distance is replaced by the Euclidean distance, and the hard-decision decoding sequence corresponding to the Euclidean distance is determined as the candidate decoding sequence.
[0114] Furthermore, multiple candidate codes are determined based on the information bit window, and the candidate code corresponding to the initial Euclidean distance of each information bit window is determined as the optimal candidate code; the optimal candidate code with the smallest Euclidean distance is determined as the optimal code.
[0115] To ensure the accuracy of the decoding, error detection and correction are also required. The process of this module is as follows:
[0116] The validity of codeword c is verified using CRC check and frozen bit check.
[0117] If the codeword is valid, calculate the Euclidean distance D(m,v) between the binary bit sequence m and the received sequence v, and compare it with the minimum Euclidean distance of the window (initially infinite). If it is smaller than this value, replace the value with the smaller one, and designate the codeword as the current best candidate codeword for the window.
[0118] For each window, decoding ends when δ valid codewords are found, and the final optimal candidate codeword c is determined. * After two inverse permutation transformations, the final decoded sequence for this window is obtained. Note that, in order to limit complexity, the δ of windows other than the main reliable window can be moderately reduced.
[0119] Finally, the Euclidean distances of the final decoded sequences of all windows are compared, and the decoded sequence with the smallest Euclidean distance among all sequences is selected as the final decoding result.
[0120] As can be seen from the above description, the decoding determination method, apparatus, electronic device, and storage medium provided in this application determine the reliability metric of the received sequence y, and sort the received sequence y in descending order according to the reliability metric to determine the information sequence z; generate an information bit window corresponding to the information sequence z according to a preset generation criterion; sort a pre-acquired initial generation matrix G according to a permutation function to determine a system generation matrix G1, and determine hard decision decoding by inversely permuting the permutation function according to the system generation matrix G1 and the pre-acquired codeword information sequence; obtain an error pattern e according to an error pattern generation rule, and flip the system bits in the codeword information sequence according to the error pattern e to determine K new system bits; obtain a binary bit sequence according to the system generation matrix G1 and the hard decision codeword sequence determined according to the new system bits; in response to the validity of the hard decision codeword sequence, determine the candidate minimum Euclidean distance of the information bit window through the binary bit sequence and the received sequence, determine the optimal hard decision codeword sequence under the information bit window corresponding to the minimum Euclidean distance, and determine the optimal decoding according to the optimal hard decision codeword sequence. This results in good performance for various encoding and decoding methods, and is applicable to code lengths of various lengths. It also reduces complexity to achieve application and configuration flexibility, resulting in shorter decoding latency and higher throughput.
[0121] Furthermore, this application designs an M-OSD decoding scheme based on the OSD decoding scheme. By utilizing the selection windows for information bits in various reconstructed system codes, various OSD decoders can be constructed, allowing simultaneous decoding and reducing the probability of missing correct codewords. Both PEP pre-generation and the main decoding structure are applicable to all windows, eliminating the need for repeated generation or design. Therefore, this scheme is a multi-design scheme applicable to various channel coding methods and OSD variants. Moreover, there are various window design methods, including but not limited to overlapping sliding windows, non-overlapping sliding windows, parity selection windows, skip windows, and random windows. In use, multiple windows of a certain type can be selected, or several windows of different types can be combined. Each additional window increases the complexity by 0.5 to 1 times compared to the original scheme, a limited increase. However, by using a large number of different types of windows, decoding accuracy can be effectively improved.
[0122] Compared to mainstream decoding algorithms designed and optimized based on a certain type of encoding, the M-OSD scheme proposed in this proposal can be applied to various types of encoding, and only requires simple adjustments to the structure and check relationship of the encoding for migration.
[0123] Compared to OSD decoding algorithms and existing variants such as PEPOSD, this algorithm limits complexity and further improves decoding performance. It is especially suitable for longer codewords.
[0124] Compared to other mainstream decoding algorithms, the M-OSD proposed in this proposal has good decoding performance and is very suitable for short codes, with its performance advantage being even more obvious under short codes.
[0125] It should be noted that the method in this embodiment can be executed by a single device, such as a computer or server. The method can also be applied in a distributed scenario, where multiple devices cooperate to complete the task. In such a distributed scenario, one of these devices may execute only one or more steps of the method in this embodiment, and the multiple devices will interact with each other to complete the method described.
[0126] It should be noted that some embodiments of this application have been described. Other embodiments are within the scope of the appended claims. In some cases, the actions or steps recorded in the claims can be performed in a different order than that shown in the embodiments and still achieve the desired result. Furthermore, the processes depicted in the drawings do not necessarily require a specific or sequential order to achieve the desired result. In some embodiments, multitasking and parallel processing are also possible or may be advantageous.
[0127] Figure 4 A schematic diagram of an exemplary structure of a decoding determination device provided in an embodiment of this application is shown.
[0128] Based on the same inventive concept, and corresponding to the methods of any of the embodiments described above, this application also provides a decoding determination device.
[0129] refer to Figure 4 The decoding and determining device includes: a first determining module, a generating module, a second determining module, a third determining module, a fourth determining module, and a fifth determining module; wherein,
[0130] The first determining module is configured to determine the reliability metric of the received sequence y, and to sort the received sequence y in descending order according to the reliability metric to determine the information sequence z.
[0131] The first generation module is configured to generate an information bit window corresponding to the information sequence z according to a preset generation criterion;
[0132] The second determining module is configured to sort the pre-acquired initial generating matrix G according to the permutation function to determine the system generating matrix G1, and to determine the hard decision decoding by inversely permuting the permutation function according to the system generating matrix G1 and the pre-acquired codeword information sequence.
[0133] The third determining module is configured to obtain an error pattern e according to the error pattern generation rule, and to flip the system bits in the codeword information sequence according to the error pattern e to determine K new system bits;
[0134] The fourth determining module is configured to obtain a binary bit sequence based on the system generation matrix G1 and the hard decision codeword sequence determined based on the new system bit;
[0135] The fifth determining module is configured to, in response to the validity of the hard decision codeword sequence, determine the candidate minimum Euclidean distance of the information bit window through the binary bit sequence and the received sequence, determine the optimal hard decision codeword sequence under the information bit window corresponding to the minimum Euclidean distance, and determine the optimal decoding based on the optimal hard decision codeword sequence.
[0136] In one possible implementation, the information bit window includes: a reliable window, an overlapping sliding window, a non-overlapping sliding window, a skip window, an odd-even window, and a random window;
[0137] The generation module is further configured to:
[0138] The first K bits of the information sequence, arranged in descending order according to the reliability metric, are used as the reliability window; where K represents the source bit length.
[0139] The reliable window is slid backward by d positions in the information sequence to determine the overlapping sliding window; where d represents the first sliding position, and d < K;
[0140] In the information sequence, the reliable window is slid backward by c positions to determine the non-overlapping sliding window; where c represents the second sliding position, and c ≥ K;
[0141] In the information sequence, the first p positions and the last q positions starting from the dth position are used as the jump window, sorted according to the reliability metric; where p represents the third sliding position, q represents the fourth sliding position, and p+q=K;
[0142] The first K odd-numbered positions in the information sequence are selected as the odd window, or the first K even-numbered positions in the information sequence are selected as the even window to determine the odd / even window;
[0143] K bits are randomly selected from the information sequence to determine the random window.
[0144] In one possible implementation, the permutation function includes: a first permutation function λ1;
[0145] The second determining module is further configured as follows:
[0146] The columns of the initial generating matrix G are reordered according to the first permutation function λ1 to determine the first generating matrix G';
[0147] According to the information bit window, the corresponding K unrelated column vectors are found from the first generator matrix G', and the unrelated column vectors are arranged in descending order according to the reliability metric to determine the second generator matrix G”; wherein, the first K columns of the second generator matrix G” are the unrelated column vectors, and the remaining column vectors are the same as the corresponding column vectors in the first generator matrix G'.
[0148] Perform elementary row operations on the second generating matrix G” to determine the system generating matrix G1;
[0149] Wherein, the system generation matrix G1 is represented as
[0150]
[0151] Where IK represents the identity matrix and P represents the parity check matrix.
[0152] In one possible implementation, the permutation function includes: a second permutation function λ2;
[0153] The second determining module is further configured as follows:
[0154] The transpose sequence is determined based on the system-generated matrix and the pre-acquired codeword information sequence.
[0155] The hard-decision decoding is determined by performing inverse permutations of the first permutation function λ1 and the second permutation function λ2 based on the codeword information sequence; wherein, the hard-decision decoding is represented as follows:
[0156]
[0157] Where 'a' represents the codeword information sequence.
[0158] In one possible implementation, the third determining module is further configured as follows:
[0159] The error pattern e is obtained according to the error pattern generation rules;
[0160] The systematic bits in the codeword information sequence are flipped according to the error pattern e to determine K new systematic bits. Among them, the new system bit bits Represented as
[0161]
[0162] Where 'a' represents the codeword information sequence.
[0163] In one possible implementation, the fourth determining module is further configured as follows:
[0164] The hard-decision decoding is reconstructed based on the system generator matrix G1 to determine the hard-decision decoding sequence, and the binary bit sequence is determined based on the hard-decision decoding sequence; wherein, the binary bit sequence is represented as...
[0165]
[0166] in, This represents the hard-decision decoding sequence.
[0167] In one possible implementation, the fifth determining module is further configured as follows:
[0168] The validity of the hard-decision decoded sequence is verified using cyclic redundancy check and frozen bit check.
[0169] For each information bit window
[0170] In response to the hard-decision decoded sequence satisfying the validity requirement, the Euclidean distance between the binary bit sequence and the second rearranged received sequence v is determined, and it is determined whether the Euclidean distance is less than the initial Euclidean distance; wherein, the rearranged received sequence v = λ2(z), where z = λ1(y), z represents the first rearranged received sequence, λ1 represents the first permutation function, and λ2 represents the second permutation function.
[0171] If the Euclidean distance is less than the initial Euclidean distance of the current information bit window, then the initial Euclidean distance is replaced with the new Euclidean distance, and the hard-decision decoding sequence corresponding to the new Euclidean distance is determined as the candidate decoding sequence.
[0172] In response to finding δ valid codewords, the optimal hard decision codeword sequence for the current information bit window is determined based on the candidate decoding.
[0173] The optimal hard decision codeword sequence with the smallest Euclidean distance in all information bit windows is determined as the optimal decoding sequence.
[0174] For ease of description, the above devices are described in terms of function, divided into various modules. Of course, in implementing this application, the functions of each module can be implemented in one or more software and / or hardware.
[0175] The apparatus described in this embodiment is used to implement the corresponding decoding determination method in any of the foregoing embodiments, and has the beneficial effects of the corresponding method embodiments, which will not be repeated here.
[0176] Figure 5This illustration shows an exemplary structural diagram of an electronic device provided in an embodiment of this application.
[0177] Based on the same inventive concept, corresponding to the method of any of the above embodiments, this application also provides an electronic device, including a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor executes the program to implement the decoding determination method described in any of the above embodiments. Figure 5 This embodiment illustrates a more specific hardware structure of an electronic device, which may include a processor 510, a memory 520, an input / output interface 530, a communication interface 540, and a bus 550. The processor 510, memory 520, input / output interface 530, and communication interface 540 are interconnected internally via the bus 550.
[0178] The processor 510 can be implemented using a general-purpose CPU (Central Processing Unit), microprocessor, application-specific integrated circuit (ASIC), or one or more integrated circuits, and is used to execute relevant programs to implement the technical solutions provided in the embodiments of this specification.
[0179] The memory 520 can be implemented in the form of ROM (Read Only Memory), RAM (Random Access Memory), static storage device, dynamic storage device, etc. The memory 520 can store the operating system and other applications. When the technical solutions provided in the embodiments of this specification are implemented by software or firmware, the relevant program code is stored in the memory 520 and is called and executed by the processor 510.
[0180] Input / output interface 530 is used to connect input / output modules to realize information input and output. Input / output modules can be configured as components in the device (not shown in the figure) or externally connected to the device to provide corresponding functions. Input devices may include keyboards, mice, touch screens, microphones, various sensors, etc., and output devices may include displays, speakers, vibrators, indicator lights, etc.
[0181] The communication interface 540 is used to connect a communication module (not shown in the figure) to enable communication between this device and other devices. The communication module can communicate via wired means (e.g., USB, Ethernet cable) or wireless means (e.g., mobile network, Wi-Fi, Bluetooth).
[0182] Bus 550 includes a pathway for transmitting information between various components of the device, such as processor 510, memory 520, input / output interface 530, and communication interface 540.
[0183] It should be noted that although the device only shows the processor 510, memory 520, input / output interface 530, communication interface 540, and bus 550, in specific implementations, the device may also include other components necessary for normal operation. Furthermore, those skilled in the art will understand that the device may only include the components necessary for implementing the embodiments of this specification, and not necessarily all the components shown in the figures.
[0184] The electronic device described in this embodiment is used to implement the corresponding decoding determination method in any of the foregoing embodiments, and has the beneficial effects of the corresponding method embodiments, which will not be repeated here.
[0185] Based on the same inventive concept, corresponding to the methods of any of the above embodiments, this application also provides a non-transitory computer-readable storage medium that stores computer instructions for causing the computer to execute the decoding determination method as described in any of the above embodiments.
[0186] The computer-readable medium of this embodiment includes permanent and non-permanent, removable and non-removable media, and information storage can be implemented by any method or technology. Information can be computer-readable instructions, data structures, program modules, or other data. Examples of computer storage media include, but are not limited to, phase-change memory (PRAM), static random access memory (SRAM), dynamic random access memory (DRAM), other types of random access memory (RAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), flash memory or other memory technologies, CD-ROM, digital versatile optical disc (DVD) or other optical storage, magnetic tape, magnetic magnetic disk storage or other magnetic storage devices, or any other non-transfer medium that can be used to store information accessible by a computing device.
[0187] The computer instructions stored in the storage medium of the embodiments are used to cause the computer to execute the decoding and determination method as described in any of the above embodiments, and have the beneficial effects of the corresponding method embodiments, which will not be repeated here.
[0188] Those skilled in the art should understand that the discussion of any of the above embodiments is merely exemplary and is not intended to imply that the scope of this application (including the claims) is limited to these examples; within the framework of this application, the technical features of the above embodiments or different embodiments can also be combined, the steps can be implemented in any order, and there are many other variations of different aspects of the embodiments of this application as described above, which are not provided in the details for the sake of brevity.
[0189] Additionally, to simplify the description and discussion, and to avoid obscuring the embodiments of this application, the well-known power / ground connections to integrated circuit (IC) chips and other components may or may not be shown in the provided drawings. Furthermore, the apparatus may be shown in block diagram form to avoid obscuring the embodiments of this application, and this also takes into account the fact that the details of the implementation of these block diagram apparatuses are highly dependent on the platform on which the embodiments of this application will be implemented (i.e., these details should be fully understood by those skilled in the art). While specific details (e.g., circuits) have been set forth to describe exemplary embodiments of this application, it will be apparent to those skilled in the art that the embodiments of this application can be implemented without these specific details or with variations thereof. Therefore, these descriptions should be considered illustrative rather than restrictive.
[0190] Although this application has been described in conjunction with specific embodiments thereof, many substitutions, modifications, and variations of these embodiments will be apparent to those skilled in the art from the foregoing description. For example, other memory architectures (e.g., dynamic RAM (DRAM)) may be used with the embodiments discussed.
[0191] The embodiments of this application are intended to cover all such substitutions, modifications, and variations that fall within the broad scope of the appended claims. Therefore, any omissions, modifications, equivalent substitutions, improvements, etc., made within the spirit and principles of the embodiments of this application should be included within the protection scope of this application.
Claims
1. A decoding determination method, characterized in that, include: Determine the reliability metric of the received sequence y, and sort the received sequence y in descending order according to the reliability metric to determine the information sequence z; Generate an information bit window corresponding to the information sequence z according to a preset generation criterion; The pre-acquired initial generator matrix G is sorted according to the permutation function to determine the system generator matrix G1, and the hard decision decoding is determined by inverse permutation of the permutation function according to the system generator matrix G1 and the pre-acquired codeword information sequence. The error pattern e is obtained according to the error pattern generation rule, and the system bits in the codeword information sequence are flipped according to the error pattern e to determine K new system bits; The binary bit sequence is obtained based on the system generation matrix G1 and the hard decision codeword sequence determined by the new system bit. If the hard decision codeword sequence is valid, the candidate minimum Euclidean distance of the information bit window is determined by the binary bit sequence and the received sequence, the optimal hard decision codeword sequence under the information bit window corresponding to the minimum Euclidean distance is determined, and the optimal decoding is determined according to the optimal hard decision codeword sequence.
2. The method according to claim 1, characterized in that, The information bit window includes: a reliable window, an overlapping sliding window, a non-overlapping sliding window, a skip window, an odd-even window, and a random window; The step of generating an information bit window corresponding to the information sequence according to a preset generation criterion includes: The first K bits of the information sequence, arranged in descending order according to the reliability metric, are used as the reliability window; where K represents the source bit length. The reliable window is slid backward by d positions in the information sequence to determine the overlapping sliding window; where d represents the first sliding position, and d < K; In the information sequence, the reliable window is slid backward by c positions to determine the non-overlapping sliding window; where c represents the second sliding position, and c ≥ K; In the information sequence, the first p positions and the last q positions starting from the dth position are used as the jump window, sorted according to the reliability metric; where p represents the third sliding position, q represents the fourth sliding position, and p+q=K; The first K odd-numbered positions in the information sequence are selected as the odd window, or the first K even-numbered positions in the information sequence are selected as the even window to determine the odd / even window; K bits are randomly selected from the information sequence to determine the random window.
3. The method according to claim 1, characterized in that, The permutation function includes: a first permutation function λ1; The step of sorting the pre-obtained initial generator matrix G according to the permutation function to determine the system generator matrix G1 includes: The columns of the initial generating matrix G are reordered according to the first permutation function λ1 to determine the first generating matrix G'; According to the information bit window, the corresponding K unrelated column vectors are found from the first generator matrix G', and the unrelated column vectors are arranged in descending order according to the reliability metric to determine the second generator matrix G”; wherein, the first K columns of the second generator matrix G” are the unrelated column vectors, and the remaining column vectors are the same as the corresponding column vectors in the first generator matrix G'. Perform elementary row operations on the second generating matrix G” to determine the system generating matrix G1; Wherein, the system generation matrix G1 is represented as Among them, I K Let P represent the identity matrix and P represent the parity check matrix.
4. The method according to claim 3, characterized in that, The permutation function includes: a second permutation function λ2; The step of determining hard-decision decoding by inversely permuting the permutation function based on the system-generated matrix G1 and the pre-acquired codeword information sequence includes: The transpose sequence is determined based on the system-generated matrix and the pre-acquired codeword information sequence. The hard-decision decoding is determined by performing inverse permutations of the first permutation function λ1 and the second permutation function λ2 based on the codeword information sequence; wherein, the hard-decision decoding is represented as follows: Where 'a' represents the codeword information sequence.
5. The method according to claim 1, characterized in that, The step of obtaining the error pattern e according to the error pattern generation rule, and flipping the system bits in the codeword information sequence according to the error pattern e to determine K new system bits includes: The error pattern e is obtained according to the error pattern generation rules; The systematic bits in the codeword information sequence are flipped according to the error pattern e to determine K new systematic bits. Among them, the new system bit bits Represented as Where 'a' represents the codeword information sequence.
6. The method according to claim 1, characterized in that, The step of obtaining the binary bit sequence based on the system generation matrix G1 and the hard decision codeword sequence determined based on the new system bits includes: The hard-decision decoding is reconstructed based on the system generator matrix G1 to determine the hard-decision decoding sequence, and the binary bit sequence is determined based on the hard-decision decoding sequence; wherein, the binary bit sequence is represented as... in, This represents the hard-decision decoding sequence.
7. The method according to claim 1, characterized in that, In response to the validity of the hard-decision codeword sequence, the candidate minimum Euclidean distance of the information bit window is determined using the binary bit sequence and the received sequence. The optimal binary bit sequence within the information bit window corresponding to the minimum Euclidean distance is then determined. Finally, the optimal decoding is determined based on the optimal binary bit sequence, including: The validity of the hard-decision decoded sequence is verified using cyclic redundancy check and frozen bit check. For each information bit window In response to the hard-decision decoded sequence satisfying the validity requirement, the Euclidean distance between the binary bit sequence and the second rearranged received sequence v is determined, and it is determined whether the Euclidean distance is less than the initial Euclidean distance; wherein, the rearranged received sequence v = λ2(z), where z = λ1(y), z represents the first rearranged received sequence, λ1 represents the first permutation function, and λ2 represents the second permutation function. If the Euclidean distance is less than the initial Euclidean distance of the current information bit window, then the initial Euclidean distance is replaced with the new Euclidean distance, and the hard-decision decoding sequence corresponding to the new Euclidean distance is determined as the candidate decoding sequence. In response to finding δ valid codewords, the optimal hard decision codeword sequence for the current information bit window is determined based on the candidate decoding. The optimal hard decision codeword sequence with the smallest Euclidean distance in all information bit windows is determined as the optimal decoding sequence.
8. A decoding determination device, characterized in that, include: The first determining module is configured to determine the reliability metric of the received sequence y, and to sort the received sequence y in descending order according to the reliability metric to determine the information sequence z. The generation module is configured to generate an information bit window corresponding to the information sequence z according to a preset generation criterion; The second determining module is configured to sort the pre-acquired initial generating matrix G according to the permutation function to determine the system generating matrix G1, and to determine the hard decision decoding by inversely permuting the permutation function according to the system generating matrix G1 and the pre-acquired codeword information sequence. The third determining module is configured to obtain an error pattern e according to the error pattern generation rule, and to flip the system bits in the codeword information sequence according to the error pattern e to determine K new system bits; The fourth determining module is configured to obtain a binary bit sequence based on the system generation matrix G1 and the hard decision codeword sequence determined based on the new system bit; The fifth determining module is configured to, in response to the validity of the hard decision codeword sequence, determine the candidate minimum Euclidean distance of the information bit window through the binary bit sequence and the received sequence, determine the optimal hard decision codeword sequence under the information bit window corresponding to the minimum Euclidean distance, and determine the optimal decoding based on the optimal hard decision codeword sequence.
9. An electronic device comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, characterized in that, When the processor executes the program, it implements the method as described in any one of claims 1 to 7.
10. A non-transitory computer-readable storage medium storing computer instructions, characterized in that, The computer instructions are used to cause the computer to implement the method according to any one of claims 1 to 7.
Citation Information
Patent Citations
High-performance low-delay extended TPC decoding method
CN107370491A
Method for decoding data signals using fixed-length decision window
CN1224545A