Method and system for generating check matrix for correcting one-check two-correction adjacent codes

By constructing odd-weight vector pools and optimizing the verification matrix using Monte Carlo random and A* search, the complexity and high overhead of the correction-one check and two correction-neighbor code generation method are solved, and low-latency and efficient verification matrix generation are achieved, which is suitable for storage reinforcement of different data bits.

CN120389757AActive Publication Date: 2025-07-29NAT UNIV OF DEFENSE TECH
View PDF 8 Cites 0 Cited by

Patent Information

Application Number
CN202510879166.3
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-06-27
Publication Date
2025-07-29
Estimated Expiration
2045-06-27

AI Technical Summary

Technical Problem

The existing verification matrix generation method for correcting one check and two correction adjacent codes has problems such as complex design, large hardware overhead and high codec delay. Different designers lack a unified and simple solution, which increases the workload and difficulty of designers.

Method used

By building odd-weight vector pools, using Monte Carlo random method to parallel search and A* search to build the target check matrix, and perform even-weight vector replacement optimization, the balanced optimization of the number of check bits and the row weight of the check matrix is achieved, reducing hardware overhead and codec delay.

Benefits of technology

The generated check matrix has scalability, error-free correction rate, small hardware overhead and low codec delay. It can quickly generate check matrix, reduce designer workload and complete memory bank reinforcement.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120389757A_ABST
    Figure CN120389757A_ABST
Patent Text Reader

Abstract

The invention discloses a check matrix generation method and system for correcting one-check two-correction adjacent codes. The method comprises the following steps: acquiring an initial check bit number according to an input data bit number; constructing an odd weight vector pool according to the column vector weight and performing a variable initialization process; calculating the layering depth according to the odd weight vector pool and heuristic search; performing parallel search through a Monte Carlo random method to obtain a feasible vector sequence from the odd weight vector pool to the layering depth; constructing a target check matrix by using A * search in the feasible vector sequence; judging whether the construction of the target check matrix is completed or not; performing even weight vector replacement optimization on the target check matrix; according to the method, the corresponding check matrix can be generated, the balance optimization between the check digit and the row weight of the check matrix is realized by combining a Monte Carlo random method and A * heuristic search, and the hardware overhead and the required bit width are fully reduced; and meanwhile, the coding and decoding delay and the delay difference of different coding and decoding paths are fully reduced.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the technical field of memory reinforcement, and particularly to a method and system for generating a parity check matrix for correcting one error, detecting two errors, and correcting adjacent codes. Background Art

[0002] The reliability of on-chip memories is crucial for the design of microprocessors. Affected by multiple particle flips (MCU, Multiple Cell Upsets), multiple bit flips occur in memory cells, and these bits are mostly physically adjacent. Error correction codes ECCs (Error Correction Codes) are usually used to mitigate the impact of such soft errors on storage. Although there are many ECC codes with strong error correction capabilities currently, such as RS (Reed-Solomon) codes, BCH (Bose-Chaudhuri-Hocquenghem) codes, and EG (Euclidean Geometry) codes that can correct multiple bit errors, compared with the single error correction-double error detection-double adjacent error correction (SEC-DED-DAEC) code, they have high latency, high power consumption, and high redundancy. The SEC-DED-DAEC code is an error correction code that can correct one bit error, detect two bit errors, and correct two adjacent bit errors.

[0003] Currently, research on correcting two adjacent bit errors (DAEC) has gradually increased, but the problem of miscorrection rate has not been solved. On the one hand, the number of bits of data protected by the single error correction-double error detection-double adjacent error correction without miscorrection rate has diversity (such as 16 bits, 32 bits, 128 bits, 512 bits, etc.). On the other hand, due to different experiences and methods of different designers, the existing implementation technologies for generating single error correction-double error detection-double adjacent parity check matrices still have diversity, and there is a lack of a unified and concise solution to some common problems to be solved. This will lead to the following problems: 1) It increases the workload of designers. Different designers need to first learn the relevant knowledge of memory reinforcement and linear block codes and then carry out the design, which will increase the total workload.

[0004] 2) The design methods of different designers are different. For example, there can be different selection methods for the initial parity check bits and the columns of the parity check matrix, which will also increase the design difficulty.

[0005] In view of this, it is an urgent technical problem for those skilled in the art to provide a method and system for generating a parity check matrix for single error correction-double error detection-double adjacent codes that are scalable, have no miscorrection rate, low hardware overhead, and low encoding and decoding latency. Summary of the Invention

[0006] To solve the above technical problems, an object of the present invention is to provide a method and system for generating a parity-check matrix for correcting one and detecting two adjacent codes, which realizes the balanced optimization between the number of parity-check bits and the row weight of the parity-check matrix, fully reduces the hardware overhead, and at the same time has the advantages of scalability, error-free correction rate, low encoding and decoding delay, and fast speed of generating the parity-check matrix.

[0007] The first object of the present invention is to provide a method for generating a parity-check matrix for correcting one and detecting two adjacent codes; The technical solution provided by the present invention is as follows: A method for generating a parity-check matrix for correcting one and detecting two adjacent codes, comprising the following steps: Obtain the initial number of parity-check bits according to the number of input data bits; Construct an odd-weight vector pool according to the column vector weight and perform a variable initialization process; Calculate the hierarchical depth according to the odd-weight vector pool and heuristic search; Parallel search by the Monte Carlo random method to obtain a feasible vector sequence from the odd-weight vector pool to the hierarchical depth; Construct a target parity-check matrix by using A* search in the feasible vector sequence; Judge whether the target parity-check matrix is constructed; Perform even-weight vector replacement optimization on the target parity-check matrix.

[0008] Preferably, the constructing an odd-weight vector pool according to the column vector weight and performing a variable initialization process specifically includes: Construct the odd-weight vector pool according to the column vector weights of 3, 5... r / 2, where r represents the initial number of parity-check bits; Among them, the variable initialization includes initializing the initial parity-check matrix and initializing the algorithm variables.

[0009] Preferably, the calculating the hierarchical depth according to the odd-weight vector pool and heuristic search specifically includes: Select a starting vector; Select a feasible vector from the odd-weight vector pool according to the heuristic function, and judge whether the feasible vector satisfies the constraint conditions. If it satisfies, update the parity-check matrix; if it does not satisfy, enter the step of pruning the odd-weight vector pool according to the constraint conditions and judge whether there is still a remaining feasible vector in the odd-weight vector pool; Prune the odd weight vector pool according to the constraint conditions, and determine whether there are still remaining feasible vectors in the odd weight vector pool. If so, enter the step of selecting a feasible vector from the odd weight vector pool according to the heuristic function and determining whether the feasible vector satisfies the constraint conditions; if not, record the depth reached by the vector sequence in the current time period, and backtrack the search process to the previous node, where the minimum depth of backtracking is used as the hierarchical depth.

[0010] Preferably, the parallel search by the Monte Carlo random method to obtain a feasible vector sequence from the odd weight vector pool to the hierarchical depth specifically includes: Use the Monte Carlo random method to search for candidate vectors from the remaining feasible vectors in the odd weight vector pool and update the parity-check matrix; Prune the odd weight vector pool according to the constraint conditions, and determine whether the hierarchical depth is reached at this time; If the hierarchical depth has been reached, terminate the algorithm and store the feasible vector sequence that can reach the hierarchical depth; If the hierarchical depth has not been reached, determine whether there are still feasible vectors in the odd weight vector pool, and repeat the above steps.

[0011] Preferably, the construction of the target parity-check matrix by using the A* search in the feasible vector sequence specifically includes: Use the A* search in the feasible vector sequence to continue the remaining search process, calculate the maximum row weight and the average row weight of the current parity-check matrix to obtain the evaluation value of the current sequence; Calculate the bitwise AND result vectors of the last column of the current parity-check matrix and the candidate vectors for the remaining feasible vectors corresponding to this sequence in turn, and sum the bitwise AND result vectors as the evaluation value of the candidate vector; Perform a weighted sum of the evaluation value of the current sequence and the evaluation value of the candidate vector to obtain the total score value of the candidate vector, and compare the total score values of all feasible vectors in turn, and select the vector corresponding to the highest total score value as the next search node; Determine whether the candidate vector satisfies the constraint conditions. If it satisfies, add it to the parity-check matrix, and at the same time increment the number of vector columns by one, and determine whether the number of vector columns is equal to the number of data bits; if it does not satisfy, prune according to the constraint conditions and repeat the total score value obtaining step.

[0012] Preferably, the determination of whether the number of vector columns is equal to the number of data bits specifically includes: Determine whether the number of vector columns is equal to the number of data bits: If the number of vector columns is equal to the number of data bits, the construction of the target parity-check matrix is completed; If the number of the vector columns is less than the number of data bits, the target check matrix has not been constructed yet, and after pruning the odd-weight vector pool according to the constraint conditions, return to the step of obtaining the evaluation value of the current sequence.

[0013] Preferably, the even-weight vector replacement optimization for the target check matrix specifically includes: Construct a constraint matrix according to the constraint conditions; Construct a 0 / 1 programming model according to the constraint matrix; Use a Z3 solver to solve the 0 / 1 programming model to obtain a solution result; Substitute the solution result into the target check matrix to update the target check matrix.

[0014] Preferably, the constructing the constraint matrix according to the constraint conditions specifically includes: Abstract the vectors with any two different vector columns in the constraint conditions into a group of first one-dimensional vectors with r + k bits, where for each of the first one-dimensional vectors, any two positions are arbitrarily set to 1 and the remaining positions are all 0, where k represents the number of data bits; Abstract the vectors with no linear correlation among any three vectors in the constraint conditions into a group of second one-dimensional vectors with r + k bits, where for each of the second one-dimensional vectors, any three positions are arbitrarily set to 1 and the remaining positions are all 0; Abstract the vectors with different XOR values for any two adjacent columns in the constraint conditions into a group of third one-dimensional vectors with r + k bits, where for each of the third one-dimensional vectors, first take 1 for two adjacent bits and 0 for the remaining bits, and then take the inverse of two adjacent bits that are not completely the same; Abstract the vectors with different XOR values for any two adjacent columns and different XOR values for any two non-adjacent columns in the constraint conditions into a group of fourth one-dimensional vectors with r + k bits, where for each of the fourth one-dimensional vectors, first take 1 for two adjacent bits and 0 for the remaining bits, and then take the inverse of two arbitrarily selected non-adjacent bits; Construct the constraint matrix according to the first one-dimensional vectors, the second one-dimensional vectors, the third one-dimensional vectors, and the fourth one-dimensional vectors.

[0015] Preferably, the constructing the 0 / 1 programming model according to the constraint matrix specifically includes: Perform a dot product of the constraint matrix and the check matrix to obtain a result matrix; Take the remainder of each element in the result matrix with respect to 2 to update the result matrix; Sum the column vectors in the result matrix in sequence to obtain a sum vector; Add model constraint conditions to make each element in the sum vector non-zero; Add a model objective function to make the total weight of the parity check matrix a target value.

[0016] The second object of the present invention is to provide a parity check matrix generation system for correcting one error and detecting two adjacent errors; The technical solution provided by the present invention is as follows: A parity check matrix generation system for correcting one error and detecting two adjacent errors, comprising: an acquisition module, a first construction module, a calculation module, a search module, a second construction module, a judgment module, and an optimization module; The acquisition module is used to obtain an initial parity check bit according to the input data bit number; The first construction module is used to construct an odd weight vector pool according to the column vector weight and perform a variable initialization process; The calculation module is used to calculate the hierarchical depth according to the odd weight vector pool and heuristic search; The search module is used to parallel search through the Monte Carlo random method to obtain a feasible vector sequence from the odd weight vector pool to the hierarchical depth; The second construction module is used to construct a target parity check matrix by using A* search in the feasible vector sequence; The judgment module is used to judge whether the target parity check matrix is constructed; The optimization module is used to optimize the target parity check matrix by replacing the even weight vectors.

[0017] The third object of the present invention is to provide an electronic device; The technical solution provided by the present invention is as follows: An electronic device, comprising: At least one processor; and A memory communicatively connected to the at least one processor, the memory storing a computer program executable by the at least one processor, and the computer program being executed by the at least one processor so that the at least one processor can execute the method steps of any one of the methods for generating a parity check matrix for correcting one error and detecting two adjacent errors.

[0018] The fourth object of the present invention is to provide a computer-readable storage medium; The technical solution provided by the present invention is as follows: A computer-readable storage medium, the storage medium being used to store a computer program, and the computer program being used to cause a computer to execute the method steps of any one of the methods for generating a parity check matrix for correcting one error and detecting two adjacent errors.

[0019] A method for generating a parity-check matrix for correcting one error and detecting two adjacent errors provided by the present invention includes: obtaining an initial parity-check bit number according to the number of input data bits; constructing an odd-weight vector pool according to the column vector weight and performing a variable initialization process; calculating the hierarchical depth according to the odd-weight vector pool and heuristic search; obtaining a feasible vector sequence from the odd-weight vector pool to the hierarchical depth through parallel search using the Monte Carlo random method; constructing a target parity-check matrix by using A* search in the feasible vector sequence; determining whether the target parity-check matrix is constructed; performing even-weight vector replacement optimization on the target parity-check matrix. By inputting the number of data bits to be protected, this method can generate a corresponding parity-check matrix, and combines the Monte Carlo random method and A* heuristic search to achieve balanced optimization between the parity-check bit number and the row weight of the parity-check matrix, fully reducing the hardware overhead and the required bit width; at the same time, it fully reduces the encoding and decoding delay and the delay difference of different encoding and decoding paths; and it has universality. For different numbers of data bits, the algorithm can generate a corresponding parity-check matrix for correcting one error and detecting two adjacent errors without error correction rate, which can reduce the workload of designers and complete the reinforcement of the memory bank. Therefore, the present invention has the characteristics of scalability, no error correction rate, small hardware overhead, low encoding and decoding delay, and fast speed of generating the parity-check matrix.

[0020] The present invention also provides a system for generating a parity-check matrix for correcting one error and detecting two adjacent errors. Since this system solves the same technical problem as the method for generating a parity-check matrix for correcting one error and detecting two adjacent errors and belongs to the same technical concept, it should have the same beneficial effects, which will not be elaborated here. BRIEF DESCRIPTION OF THE DRAWINGS

[0021] In order to more clearly illustrate the technical solutions in the embodiments of the present application or the prior art, the following will briefly introduce the drawings required for use in the description of the embodiments or the prior art. Obviously, the drawings in the following description are only some embodiments recorded in the present application. For those of ordinary skill in the art, other drawings can be obtained based on these drawings without creative efforts.

[0022] Figure 1 It is a schematic flowchart of a method for generating a parity-check matrix for correcting one error and detecting two adjacent errors in an embodiment of the present invention; FIG. 2(a) is a schematic diagram of the creation process of a weight-3 vector pool in an embodiment of the present invention; FIG. 2(b) is a schematic diagram of the creation process of a weight-5 vector pool in an embodiment of the present invention; Figure 3 It is a schematic diagram of hierarchical depth calculation in an embodiment of the present invention; Figure 4 It is a schematic diagram of the Monte Carlo random method in an embodiment of the present invention; Figure 5Schematic diagram of A* heuristic search in an embodiment of the present invention; Figure 6 Schematic diagram of constraint matrix construction in an embodiment of the present invention; Figure 7 Schematic diagram of 0 / 1 programming model construction in an embodiment of the present invention; Figure 8 Schematic diagram of the structure of a parity-check matrix generation system for correcting one and detecting two adjacent codes in an embodiment of the present invention; Figure 9 Schematic diagram of the structure of an electronic device in an embodiment of the present invention. Detailed implementation manners

[0023] In order to enable those skilled in the art to better understand the technical solutions in the present application, the technical solutions in the embodiments of the present application will be clearly and completely described below. Obviously, the described embodiments are only a part of the embodiments of the present application, rather than all the embodiments. Based on the embodiments in the present application, all other embodiments obtained by those of ordinary skill in the art without creative efforts shall fall within the protection scope of the present application.

[0024] It should be noted that when an element is referred to as being "fixed to" or "disposed on" another element, it can be directly on the other element or indirectly disposed on the other element; when an element is referred to as being "connected to" another element, it can be directly connected to the other element or indirectly connected to the other element.

[0025] It should be understood that the orientation or positional relationship indicated by terms such as "length", "width", "upper", "lower", "front", "rear", "left", "right", "vertical", "horizontal", "top", "bottom", "inner", "outer", etc. is based on the orientation or positional relationship shown in the drawings, and is only for the convenience of describing the present application and simplifying the description, rather than indicating or implying that the device or element referred to must have a specific orientation, be constructed and operated in a specific orientation, and thus cannot be understood as a limitation to the present application.

[0026] In addition, the terms "first" and "second" are only used for descriptive purposes and cannot be understood as indicating or implying relative importance or implicitly indicating the quantity of the indicated technical features. Thus, the features defined with "first" and "second" may explicitly or implicitly include one or more of such features. In the description of the present application, the meaning of "a plurality" and "several" is two or more, unless otherwise specifically defined.

[0027] It should be noted that the structures, proportions, sizes, etc. shown in the attached drawings of this specification are only used to cooperate with the content disclosed in the specification for those familiar with this technology to understand and read, and are not used to limit the implementation conditions of this application. Therefore, they do not have substantial technical significance. Any modification of the structure, change of the proportional relationship, or adjustment of the size, without affecting the effects that this application can produce and the purposes that can be achieved, should still fall within the scope covered by the technical content disclosed in this application.

[0028] As Figure 1 shown, an embodiment of the present invention provides a method for generating a parity-check matrix for correcting one error and detecting two adjacent errors, including the following steps: S1. Obtain the initial parity-check bits according to the number of input data bits; In step S1, to satisfy the ability to correct one error and two adjacent errors, there should be: ; Thus, it can be deduced that: , and thus the initial parity-check bits can be calculated according to the number of input data bits k.

[0029] S2. Construct an odd-weight vector pool according to the column vector weights and perform a variable initialization process; In step S2, the odd-weight vector pool refers to that the number of "1"s in each column vector in the vector pool is odd; the vector pool is created according to the column vector weights of 3, 5... r / 2, that is, the capacity of the vector pool is: . In addition, column vectors containing two consecutive "1"s are not put into the vector pool with weight 3, that is, the vector pool with weight 3; among them, the variable initialization includes parity-check matrix initialization and algorithm variable initialization, and the algorithm variables are shown in Table 1.

[0030] Table 1 Algorithm Variable Name Table

[0031] S3. Calculate the hierarchical depth according to the odd-weight vector pool and heuristic search; In step S3, the hierarchical depth is calculated from the odd-weight vector pool by using heuristic search. The hierarchical depth refers to the depth at which the tree search can complete the traversal of the subtree within an acceptable time after reaching this depth on a certain path.

[0032] S4. Obtain a feasible vector sequence from the odd-weight vector pool to the hierarchical depth through parallel search by the Monte Carlo random method; In step S4, before the tree search reaches the hierarchical depth, through the Monte Carlo random method, a parallel search is performed on the entire space from the odd-weight vector pool to the hierarchical depth to obtain a feasible vector sequence that can reach the hierarchical depth.

[0033] S5. Construct a target parity-check matrix by using A* search in the sequence of feasible vectors; In step S5, according to the sequence of feasible vectors obtained in step S4, use a new heuristic function to guide the search process to obtain a complete parity-check matrix, i.e., the target parity-check matrix, which is specifically an A* search process; among them, the heuristic function of A* search is specifically represented by the weighted sum of the range of the maximum row weight and the average row weight to obtain the evaluation of the current state, and the bitwise AND vector sum of the last column of the current parity-check matrix and the candidate column is used to obtain the evaluation of the future state, and then the weighted sum of the two representations is calculated.

[0034] S6. Determine whether the target parity-check matrix is constructed; S7. Optimize the target parity-check matrix by replacing the even-weight vectors.

[0035] In steps S6 to S7, determine whether the number of vector columns col_confirm_num in the target parity-check matrix is equal to the number of data bits k. If it is equal, it means that the parity-check matrix is constructed, and then enter step S7 to optimize the constructed parity-check matrix by replacing the even-weight vectors; if it is not equal, it means that the initial number of parity-check bits r is too small, and the initial number of parity-check bits r is incremented by 1 and then return to step S2 to continue. The goal of this method is to construct a parity-check matrix with no error-correction rate of r rows and n columns , where k represents the number of data bits, r represents the initial number of parity-check bits, and n represents the sum of the number of data bits and the initial number of parity-check bits, i.e., the total number of bits; represents a matrix of k rows and r columns, is a square matrix of order r.

[0036] The generated parity-check matrix mainly has the following characteristics: 1) The matrix has no all-zero columns and each column is different, so as to ensure that one error can be corrected. 2) Each column of the parity-check matrix contains an odd number of "1"s, so that one error and two errors can be distinguished. 3) The exclusive OR results of adjacent columns of the parity-check matrix are different, and the set of exclusive OR results of adjacent columns does not intersect with the set of exclusive OR results of non-adjacent columns. The former enables the code to correct adjacent two errors, and the latter enables the code to have no error-correction rate. The general idea of generating a parity-check matrix with this characteristic is: construct a vector pool of r rows, and select n column vectors that meet these 3 characteristics from it.

[0037] Preferably, the process of constructing an odd-weight vector pool according to the column vector weight and initializing variables specifically includes: Construct the odd-weight vector pool according to the column vector weights of 3, 5... r / 2; Among them, the variable initialization includes the initialization of the initial parity-check matrix and the initialization of algorithm variables.

[0038] In the actual application process, the creation process of the odd weight vector pool is shown in Figures 2(a) and 2(b). The odd weight vector pool is created according to weights 3, 5... r / 2. Among them, the creation process of the weight 3 vector pool is different from that of other vector pools. Therefore, Figure 2(a) shows the creation process of the weight 3 vector pool, and Figure 2(b) shows the creation process of the weight 5 vector pool. The creation processes of other vector pools are similar to that of the weight 5 vector pool, and only the number of FOR loops needs to be increased on the basis of the creation process of the weight 5 vector pool.

[0039] Preferably, calculating the hierarchical depth according to the odd weight vector pool and heuristic search specifically includes: Selecting a starting vector; Selecting a feasible vector from the odd weight vector pool according to the heuristic function, and determining whether the feasible vector satisfies the constraint conditions. If it satisfies, the parity check matrix is updated; if it does not satisfy, enter the step of pruning the odd weight vector pool according to the constraint conditions and determining whether there are still remaining feasible vectors in the odd weight vector pool. Pruning the odd weight vector pool according to the constraint conditions and determining whether there are still remaining feasible vectors in the odd weight vector pool. If there are, enter the step of selecting a feasible vector from the odd weight vector pool according to the heuristic function and determining whether the feasible vector satisfies the constraint conditions; if not, record the depth reached by the vector sequence in the current time period, and backtrack the search process to the previous node, where the minimum depth of the backtracking is used as the hierarchical depth.

[0040] In the actual application process, as Figure 3 shown, first, by traversing the odd weight vector pool, each vector in it is sequentially selected as the starting vector, and then a feasible vector is selected from the remaining odd weight vector pool according to the heuristic function among the selected starting vectors, and it is determined whether the feasible vector satisfies the constraint conditions. If it satisfies, the parity check matrix is updated; if it does not satisfy, enter the next step, that is, pruning the odd weight vector pool according to the constraint conditions and determining whether there are still remaining feasible vectors in the odd weight vector pool; then pruning the odd weight vector pool according to the constraint conditions and determining whether there are still remaining feasible vectors in the odd weight vector pool. If there are, enter the step of selecting a feasible vector from the odd weight vector pool according to the heuristic function and determining whether the feasible vector satisfies the constraint conditions; if not, record the depth reached by the vector sequence in the current time period, and backtrack the search process to the previous node, that is, the parent node, where the minimum depth of the backtracking is used as the hierarchical depth; the purpose of this step is to facilitate the parallel execution of the algorithm. Multiple processes can be selected to execute the algorithm with different vectors as the starting vectors, so as to achieve the purpose of reducing the time overhead.

[0041] Specifically, the constraint conditions in this embodiment are 4 conditions within the currently constructed parity check matrix, that is: 1. Any two vector sequences are different; 2. There are no two or more pairs of adjacent vector sequences with the same XOR value; 3. There is no pair of adjacent vector sequences with the same XOR value as any pair of two non - adjacent vector sequences; 4. Any three vectors are linearly independent.

[0042] It should be noted that the constraint conditions involved in this application are all the above 4 conditions.

[0043] Preferably, the parallel search by the Monte Carlo random method to obtain the feasible vector sequence from the odd - weight vector pool to the hierarchical depth specifically includes: Use the Monte Carlo random method to search for candidate vectors from the remaining feasible vectors in the odd - weight vector pool and update the parity - check matrix; Prune the odd - weight vector pool according to the constraint conditions and determine whether the hierarchical depth has been reached at this time; If it has reached, terminate the algorithm and store the feasible vector sequence that can reach the hierarchical depth; If it has not reached, determine whether there are still feasible vectors in the odd - weight vector pool and repeat the above steps.

[0044] In the actual application process, as Figure 4 shown, first, sequentially select the remaining feasible vectors in the odd - weight vector pool as the starting vector start_vec, use the Monte Carlo random method to find the feasible vector sequence from the starting vector to the hierarchical depth layer_depth, and update the parity - check matrix. At the same time, in order to speed up the search, a parallel search method can be used; then, after pruning the odd - weight vector pool according to the constraint conditions, determine whether the hierarchical depth has been reached at this time; if it has reached, terminate the algorithm and store the feasible vector sequence that can reach the hierarchical depth; if it has not reached, determine whether there are still feasible vectors in the odd - weight vector pool: if there are, return to the step of using the Monte Carlo random method to search for candidate vectors from the remaining feasible vectors in the odd - weight vector pool and update the parity - check matrix, if not, backtrack to the parent node and continue to determine whether there are still feasible vectors in the odd - weight vector pool.

[0045] Preferably, the construction of the target parity - check matrix by using A* search in the feasible vector sequence specifically includes: Use the A* search in the feasible vector sequence to continue the remaining search process, calculate the maximum row weight and the average row weight of the current parity - check matrix to obtain the evaluation value of the current sequence; Sequentially calculate the bit - by - bit AND result vectors of the last column of the current parity - check matrix and the candidate vectors for the remaining feasible vectors corresponding to this sequence, and sum the bit - by - bit AND result vectors as the evaluation value of the candidate vectors; The evaluation value of the current sequence and the evaluation value of the candidate vector are weighted and summed to obtain the total score value of the candidate vector, and the total score values of all feasible vectors are compared in turn, and the vector corresponding to the highest total score value is selected as the next search node; Determine whether the candidate vector meets the constraint conditions. If it meets, add it to the parity check matrix, increment the number of vector columns by one, and determine whether the number of vector columns is equal to the number of data bits; if it does not meet, prune according to the constraint conditions, and repeat the step of obtaining the total score value.

[0046] In the actual application process, as Figure 5 shown, first, use A* search in the feasible vector sequence to obtain the optimal vector as the candidate vector. Secondly, calculate the bitwise AND result vector of the last column of the current parity check matrix and the candidate vector for the remaining feasible vectors corresponding to this sequence in turn, and sum the bitwise AND result vectors. The sum result is used as the evaluation value of the candidate vector; then, the evaluation value of the current sequence and the evaluation value of the candidate vector are weighted and summed to obtain the total score value of the candidate vector, and the total score values of all feasible vectors are compared in turn, and the vector corresponding to the highest total score value is selected as the next search node; determine whether the candidate vector meets the constraint conditions. If it meets, add it to the parity check matrix, increment the number of vector columns by one, and determine whether the number of vector columns is equal to the number of data bits; if it does not meet, prune according to the constraint conditions, and repeat the step of weighting and summing the evaluation value of the current sequence and the evaluation value of the candidate vector to obtain the total score value of the candidate vector, and comparing the total score values of all feasible vectors in turn, and selecting the vector corresponding to the highest total score value as the next search node; Among them, the specific process of using A* search in the feasible vector sequence to obtain the optimal vector as the candidate vector is as follows: calculate the weights of each row of the current parity check matrix, and then obtain the maximum row weight max_row_weight and the average row weight average_row_weight. Set the weights ω1 and ω2 of the two, so that ω1 + ω2 = 1, and then perform weighted summation to obtain the evaluation value f of the current parity check matrix, f = ω1 * max_row_weight + ω2 * average_row_weight; perform predictive evaluation on all optional vectors in the current odd-weight vector pool in turn, perform bitwise AND with the last column of the current parity check matrix to obtain a new vector, and count the number of 1s in the new vector as the prediction value g of each candidate vector; then perform weighted summation of the current evaluation value f and the prediction value g to obtain the A* heuristic function value of each candidate vector; finally, calculate all vectors in the odd-weight vector pool according to the A* heuristic function value, and select the one with the highest function value as the next candidate vector.

[0047] Preferably, the step of determining whether the number of vector columns is equal to the number of data bits specifically includes: Determine whether the number of vector columns is equal to the number of data bits: If the number of vector columns is equal to the number of data bits, the construction of the target check matrix is completed; If the number of vector columns is less than the number of data bits, the construction of the target check matrix is not completed yet. After pruning the odd-weight vector pool according to the constraint conditions, return to the step of obtaining the evaluation value of the current sequence.

[0048] In the actual application process, when the candidate vector meets the constraint conditions, add it to the check matrix, and at the same time increment the number of vector columns col_confirm_num by one. It is also necessary to determine whether the current number of vector columns col_confirm_num is equal to the number of data bits k. If the number of vector columns col_confirm_num is equal to the number of data bits k, it means that the construction of the target check matrix is completed; if the number of vector columns col_confirm_num is less than the number of data bits k, it means that the construction of the target check matrix is not completed yet. After pruning the odd-weight vector pool according to the constraint conditions, return to the step of continuing the remaining search process using A* search in the feasible vector sequence, calculating the maximum row weight and average row weight of the current check matrix to obtain the evaluation value of the current sequence and continue.

[0049] Preferably, the step of optimizing the target check matrix by replacing with even-weight vectors specifically includes: Construct a constraint matrix according to the constraint conditions; Construct a 0 / 1 programming model according to the constraint matrix; Use the Z3 solver to solve the 0 / 1 programming model to obtain the solution result; Substitute the solution result into the target check matrix to update the target check matrix.

[0050] In the actual application process, through the above steps, the constructed check matrix is abstracted into a constraint matrix according to the constraint conditions, so as to perform 0 / 1 programming modeling, and then solve the model and obtain the minimum weight of its matrix, realizing the replacement process of odd-weight vectors with even-weight vectors with smaller weights; the Z3 solver used in this embodiment is a high-performance automatic theorem prover, which is widely used in fields such as formal verification, software and hardware verification, and program analysis. It is based on the SMT (Satisfiability Modulo Theories) theory and can solve constraints containing various theories such as boolean logic, integers, real numbers, and bit vectors.

[0051] Preferably, the step of constructing a constraint matrix according to the constraint conditions specifically includes: Abstract the vectors with any two different vector columns in the constraint conditions into a group of first one-dimensional vectors with r + k bits, where for each of the first one-dimensional vectors, any two positions are arbitrarily selected and set to 1, and the remaining positions are all 0; Abstract the vectors with no linear correlation among any three vectors in the constraint conditions into a group of second one-dimensional vectors with r + k bits, where for each of the second one-dimensional vectors, any three positions are arbitrarily selected and set to 1, and the remaining positions are all 0; Abstract the vectors with different XOR values for any two adjacent columns in the constraint conditions into a group of third one-dimensional vectors with r + k bits, where for each of the third one-dimensional vectors, first take 1 for two adjacent bits and 0 for the remaining bits, and then select two adjacent bits that are not exactly the same and take the inverse; Abstract the vectors with different XOR values for any two adjacent columns and different XOR values for any two non - adjacent columns in the constraint conditions into a group of fourth one-dimensional vectors with r + k bits, where for each of the fourth one-dimensional vectors, first take 1 for two adjacent bits and 0 for the remaining bits, and then take the inverse for any two non - adjacent bits selected; Construct the constraint matrix according to the first one-dimensional vectors, the second one-dimensional vectors, the third one-dimensional vectors, and the fourth one-dimensional vectors.

[0052] In the actual application process, as Figure 6 shown, since the matrix to be constructed is r rows and r + k columns, and the previously described constraint conditions are all for column vectors, the constraint vectors are one-dimensional vectors with r + k bits, and a constraint matrix is composed of multiple such constraint vectors.

[0053] Since there are four constraint conditions, a one-dimensional all - 0 vector function (init_vec) with r + k bits is used as the initialized constraint vector: Under the constraint condition that any two vector columns are different: In the vector function (init_vec), arbitrarily select two bits and take the inverse (i.e., set to 1) to obtain all the constraint vectors obtained from this type of condition; Under the constraint condition that there is no linear correlation among any three vectors: In the vector function (init_vec), arbitrarily select three bits and take the inverse (i.e., set to 1) to obtain all the constraint vectors obtained from this type of condition; Under the constraint condition that there are no two or more pairs of adjacent vector columns with the same XOR value: In the vector function (init_vec), take the inverse for two adjacent bits (i.e., set to 1), and then select two other adjacent bits that are not exactly the same and take the inverse to obtain all the constraint vectors obtained from this type of condition; Under the constraint that there is no XOR value of a pair of adjacent vector columns that is the same as the XOR value of any pair of two non - adjacent vector columns: Take the inversion (i.e., set to 1) of two adjacent bits in the vector function (init_vec), and then select two non - adjacent bits that are not exactly the same and take the inversion to obtain all the constraint vectors obtained from this type of condition; Finally, the constraint matrix is further formed by combining the above four groups of constraint vectors.

[0054] Preferably, constructing the 0 / 1 programming model according to the constraint matrix specifically includes: Perform dot - multiplication on the constraint matrix and the parity - check matrix to obtain a result matrix; Take the remainder of each element in the result matrix with respect to 2 to update the result matrix; Sum the column vectors in the result matrix in sequence to obtain a sum vector; Add model constraint conditions so that each element in the sum vector is not 0; Add a model objective function so that the total weight of the parity - check matrix is the target value.

[0055] In the actual application process, as Figure 7 shown, perform dot - multiplication on the obtained constraint matrix C and the parity - check matrix H to obtain the result matrix R = HC; then take the remainder of each element of the result matrix R with respect to 2 and update the result matrix R; sum the column vectors of the result matrix in sequence to obtain the sum vector V_sum; add 0 - 1 programming model constraint conditions so that each element in the sum vector V_sum is not 0; add 0 - 1 programming model objective function so that the total weight of the parity - check matrix is the lowest; the 0 - 1 programming model constraint condition in this embodiment is that each element in the sum vector V_sum is not 0, rather than adding other constraint conditions to make each element in V_sum not 0; the 0 - 1 programming model objective function is the total weight of the parity - check matrix, and minimizing the objective function is the goal of model solving.

[0056] As Figure 8 shown, an embodiment of the present invention further provides a parity - check matrix generation system for correcting one and detecting two adjacent codes, including: an acquisition module, a first construction module, a calculation module, a search module, a second construction module, a judgment module, and an optimization module; The acquisition module is used to obtain the initial parity - check bits according to the input data bits; The first construction module is used to construct an odd - weight vector pool according to the column - vector weight and perform the variable initialization process; The calculation module is used to calculate the hierarchical depth according to the odd - weight vector pool and heuristic search; The search module is used to obtain a feasible vector sequence from the odd-weight vector pool to the hierarchical depth through parallel search by the Monte Carlo random method; The second construction module is used to construct a target parity-check matrix by using A* search in the feasible vector sequence; The judgment module is used to judge whether the target parity-check matrix is constructed; The optimization module is used to optimize the target parity-check matrix by replacing even-weight vectors.

[0057] In the actual application process, an acquisition module, a first construction module, a calculation module, a search module, a second construction module, a judgment module, and an optimization module are set in a parity-check matrix generation system for one-error-correcting and two-errors-detecting adjacent codes; among them, the first construction module is respectively connected to the acquisition module and the calculation module; the search module is respectively connected to the calculation module and the second construction module; the judgment module is respectively connected to the second construction module and the optimization module; after the acquisition module obtains the initial parity-check bits according to the input data bits, it transmits the initial parity-check bits to the first construction module; after the first construction module inputs the initial parity-check bits, it constructs an odd-weight vector pool according to the column vector weights and performs a variable initialization process, and then sends the odd-weight vector pool to the calculation module; the calculation module calculates the hierarchical depth according to the odd-weight vector pool and heuristic search, and then sends the hierarchical depth to the search module; the search module obtains a feasible vector sequence from the odd-weight vector pool to the hierarchical depth through parallel search by the Monte Carlo random method, and then sends the feasible vector sequence to the second construction module; the second construction module constructs a target parity-check matrix by using A* search in the feasible vector sequence, and sends the target parity-check matrix to the judgment module; the judgment module judges whether the target parity-check matrix is constructed, and sends the constructed target parity-check matrix to the optimization module; the optimization module optimizes the target parity-check matrix by replacing even-weight vectors; through this system, a corresponding parity-check matrix can be generated, and by combining the Monte Carlo random method and the A* heuristic search, the balance optimization between the parity-check bits and the row weight of the parity-check matrix is realized, the hardware overhead and the required bit width are fully reduced; at the same time, the encoding and decoding delay and the delay difference of different encoding and decoding paths are fully reduced; and it has universality. For different data bits, the algorithm can generate a corresponding parity-check matrix for one-error-correcting and two-errors-detecting adjacent codes without error correction rate, which can reduce the workload of designers and complete the reinforcement of the memory bank.

[0058] Furthermore, the embodiment of the present application also discloses an electronic device, Figure 9 It is a structural diagram of an electronic device shown according to an exemplary embodiment, and the content in the figure cannot be considered as any limitation on the usage scope of the present application.

[0059] Figure 9A schematic structural diagram of an electronic device provided by an embodiment of the present application. The electronic device 20 may specifically include: at least one processor 21, at least one memory 22, a power supply 23, a communication interface 24, an input / output interface 25, and a communication bus 26. Among them, the memory 22 is used to store a computer program, and the computer program is loaded and executed by the processor 21 to implement the relevant steps in the method for generating a check matrix of correcting one and detecting two and correcting adjacent codes disclosed in any of the foregoing embodiments. In addition, the electronic device 20 in this embodiment may specifically be an electronic computer.

[0060] In this embodiment, the power supply 23 is used to provide a working voltage for each hardware device on the electronic device 20; the communication interface 24 can create a channel for generating a check matrix of correcting one and detecting two and correcting adjacent codes between the electronic device 20 and external devices, and the communication protocol it follows is any communication protocol applicable to the technical solution of the present application, and specific limitations are not imposed here; the input / output interface 25 is used to obtain external input data or output data to the outside, and its specific interface type can be selected according to specific application needs, and specific limitations are not imposed here.

[0061] In addition, as a carrier for resource storage, the memory 22 may be a read-only memory, a random access memory, a magnetic disk, or an optical disc, etc., and the resources stored thereon may include an operating system 221, a computer program 222, and data 223, etc., and the storage method may be temporary storage or permanent storage.

[0062] Among them, the operating system 221 is used to manage and control each hardware device on the electronic device 20 and the computer program 222 to implement the operation and processing of the data 223 in the memory 22 by the processor 21, and it may be Windows Server, Netware, Unix, Linux, etc. In addition to the computer program that can be used to complete the method for generating a check matrix of correcting one and detecting two and correcting adjacent codes executed by the electronic device 20 disclosed in any of the foregoing embodiments, the computer program 222 may further include a computer program that can be used to complete other specific tasks. In addition to the data that can be transmitted by external devices received by the check matrix generation device of correcting one and detecting two and correcting adjacent codes, the data 223 may also include data collected by its own input / output interface 25, etc.

[0063] The steps of the method or algorithm described in combination with the embodiments disclosed in this article can be directly implemented by hardware, a software module executed by a processor, or a combination of the two. The software module can be placed in a random access memory (RAM), memory, read-only memory (ROM), electrically programmable ROM, electrically erasable programmable ROM, register, hard disk, removable disk, CD-ROM, or any other form of storage medium well-known in the technical field.

[0064] Furthermore, the present application also discloses a computer-readable storage medium for storing a computer program; wherein, when the computer program is executed by a processor, it implements the foregoing disclosed method for generating a parity-check matrix for correcting one and detecting two adjacent codes. For the specific steps of this method, reference can be made to the corresponding content disclosed in the foregoing embodiments, and details will not be repeated here.

[0065] It should be understood that in the present application, if terms such as "method", "device", "unit" and / or "module" are used, they are only a way to distinguish different components, elements, parts, portions or assemblies at different levels. However, if other terms can achieve the same purpose, they can be replaced by other expressions.

[0066] As shown in the present application and the claims, unless the context clearly indicates an exception, words such as "a", "an", "one" and / or "the" are not specifically singular and may also include the plural. Generally speaking, the terms "comprising" and "including" only indicate the inclusion of the steps and elements that have been clearly identified, and these steps and elements do not constitute an exclusive list. A method or device may also include other steps or elements. An element defined by the statement "comprising one..." does not exclude the existence of another identical element in the process, method, commodity or device including the element.

[0067] Hereinafter, the terms "first" and "second" are only used for descriptive purposes and cannot be construed as indicating or implying relative importance or implicitly specifying the quantity of the indicated technical features. Thus, features defined with "first" and "second" may explicitly or implicitly include one or more of such features.

[0068] If a flowchart is used in the present application, the flowchart is used to illustrate the operations performed by the system according to the embodiments of the present application. It should be understood that the operations before or after may not necessarily be executed precisely in sequence. On the contrary, they can be executed in reverse order or simultaneously. At the same time, other operations can also be added to these processes, or one or more operations can be removed from these processes.

[0069] The above description of the disclosed embodiments enables those skilled in the art to implement or use the present application. Various modifications to these embodiments will be obvious to those skilled in the art, and the general principles defined herein can be implemented in other embodiments without departing from the spirit or scope of the present application. Therefore, the present application will not be limited to the embodiments shown herein, but will be accorded the widest scope consistent with the principles and novel features disclosed herein.

Claims

1. A method for generating a parity check matrix for correcting one and detecting two adjacent codes, characterized in that It includes the following steps: Obtain the initial parity check bit number according to the number of bits of the input data; Construct an odd weight vector pool according to the column vector weights and perform a variable initialization process; Calculate the hierarchical depth according to the odd weight vector pool and heuristic search; Parallel search by Monte Carlo random method to obtain a feasible vector sequence from the odd weight vector pool to the hierarchical depth; Construct a target parity check matrix by using A* search in the feasible vector sequence; Judge whether the target parity check matrix is constructed; Perform even weight vector replacement optimization on the target parity check matrix.

2. The method for generating a parity-check matrix for correcting one and checking two adjacent codes according to claim 1, wherein, The process of constructing an odd weight vector pool according to the column vector weights and performing a variable initialization process specifically includes: Construct the odd weight vector pool according to the column vector weights of 3, 5... r / 2, where r represents the initial parity check bit number; Among them, the variable initialization includes initial parity check matrix initialization and algorithm variable initialization.

3. The method for generating a parity-check matrix for correcting one and detecting two adjacent codes according to claim 1, wherein, The calculation of the hierarchical depth according to the odd weight vector pool and heuristic search specifically includes: Select a starting vector; Select a feasible vector from the odd weight vector pool according to the heuristic function, and judge whether the feasible vector satisfies the constraint conditions. If it satisfies, update the parity check matrix; if it does not satisfy, enter the step of pruning the odd weight vector pool according to the constraint conditions and judging whether there are still remaining feasible vectors in the odd weight vector pool; Prune the odd weight vector pool according to the constraint conditions and judge whether there are still remaining feasible vectors in the odd weight vector pool. If there are, enter the step of selecting a feasible vector from the odd weight vector pool according to the heuristic function and judging whether the feasible vector satisfies the constraint conditions; if not, record the depth reached by the current time period vector sequence, and backtrack the search process to the previous node, where the minimum depth of the backtracking is used as the hierarchical depth.

4. The method for generating a parity-check matrix for correcting one and checking two adjacent codes according to claim 1, wherein The parallel search by Monte Carlo random method to obtain a feasible vector sequence from the odd weight vector pool to the hierarchical depth specifically includes: Use the Monte Carlo random method to search for candidate vectors from the remaining feasible vectors in the odd weight vector pool and update the parity check matrix; Prune the odd weight vector pool according to the constraint conditions and judge whether the hierarchical depth has been reached at this time; If it has reached, terminate the algorithm and store the feasible vector sequence that can reach the hierarchical depth; If it has not reached, judge whether there are still feasible vectors in the odd weight vector pool and repeat the above steps.

5. The method for generating a parity-check matrix for correcting one and checking two adjacent codes according to claim 1, characterized in that, The construction of the target parity check matrix by using A* search in the feasible vector sequence specifically includes: Use the A* search in the feasible vector sequence to continue the remaining search process, calculate the maximum row weight and average row weight of the current parity check matrix to obtain the evaluation value of the current sequence; Successively calculate the bitwise AND result vectors of the last column of the current parity check matrix and the candidate vectors for the remaining feasible vectors corresponding to this sequence, and sum the bitwise AND result vectors as the evaluation value of the candidate vectors; Perform a weighted sum of the evaluation value of the current sequence and the evaluation value of the candidate vector to obtain the total score value of the candidate vector, and compare the total score values of all feasible vectors in turn. Select the vector corresponding to the highest total score value as the next search node; Determine whether the candidate vector satisfies the constraint conditions. If it does, add it to the parity-check matrix, increment the number of vector columns by one, and determine whether the number of vector columns is equal to the number of data bits; if not, perform pruning according to the constraint conditions and repeat the step of obtaining the total score value.

6. The method for generating a parity-check matrix for correcting one and detecting two adjacent codes according to claim 5, wherein The determination of whether the number of vector columns is equal to the number of data bits specifically includes: Determine whether the number of vector columns is equal to the number of data bits: If the number of vector columns is equal to the number of data bits, the target parity-check matrix is constructed; If the number of vector columns is less than the number of data bits, the target parity-check matrix has not been constructed yet. After pruning the odd-weight vector pool according to the constraint conditions, return to the step of obtaining the evaluation value of the current sequence.

7. The method for generating a parity-check matrix for correcting one and detecting two adjacent codes according to claim 1, wherein, The optimization of replacing the even-weight vectors in the target parity-check matrix specifically includes: Construct a constraint matrix according to the constraint conditions; Construct a 0 / 1 programming model based on the constraint matrix; Use the Z3 solver to solve the 0 / 1 programming model to obtain the solution result; Substitute the solution result into the target parity-check matrix to update the target parity-check matrix.

8. The method for generating a parity-check matrix for correcting one and detecting two adjacent codes according to claim 7, characterized in that, The construction of the constraint matrix according to the constraint conditions specifically includes: Abstract the vectors in which any two vector columns are different in the constraint conditions into a group of first one-dimensional vectors with r + k bits, where each of the first one-dimensional vectors arbitrarily selects two positions to be set to 1, and the remaining positions are all 0, where k represents the number of data bits; Abstract the vectors in which any three vectors have no linear correlation in the constraint conditions into a group of second one-dimensional vectors with r + k bits, where each of the second one-dimensional vectors arbitrarily selects three positions to be set to 1, and the remaining positions are all 0; Abstract the vectors in which the exclusive OR values of any two adjacent columns are all different in the constraint conditions into a group of third one-dimensional vectors with r + k bits, where each of the third one-dimensional vectors first sets two adjacent bits to 1, and the remaining bits to 0, and then selects two adjacent bits that are not completely the same and takes the inverse; Abstract the vectors in which the exclusive OR values of any two adjacent columns and the exclusive OR values of any two non-adjacent columns are all different in the constraint conditions into a group of fourth one-dimensional vectors with r + k bits, where each of the fourth one-dimensional vectors first sets two adjacent bits to 1, and the remaining bits to 0, and then takes the inverse of any two non-adjacent bits selected; Construct the constraint matrix according to the first one-dimensional vector, the second one-dimensional vector, the third one-dimensional vector, and the fourth one-dimensional vector.

9. The method for generating a parity-check matrix for correcting one and detecting two adjacent codes according to claim 7, characterized in that The construction of the 0 / 1 programming model based on the constraint matrix specifically includes: Perform a dot product of the constraint matrix and the parity-check matrix to obtain a result matrix; Take the remainder of each element in the result matrix with respect to 2 to update the result matrix; Sum the column vectors in the result matrix in turn to obtain a sum vector; Add model constraint conditions so that each element in the sum vector is not zero; Add a model objective function so that the total weight of the parity-check matrix is the target value.

10. A check matrix generation system for correcting one and detecting two adjacent codes, characterized in that, Includes: An acquisition module, a first construction module, a calculation module, a search module, a second construction module, a judgment module, and an optimization module; The acquisition module is configured to acquire an initial check digit number according to the input data bit number; The first construction module is configured to construct an odd weight vector pool according to the column vector weight and perform a variable initialization process; The calculation module is configured to calculate the hierarchical depth according to the odd weight vector pool and heuristic search; The search module is configured to parallelly search through the Monte Carlo random method to obtain a feasible vector sequence from the odd weight vector pool to the hierarchical depth; The second construction module is configured to construct a target check matrix by using A* search in the feasible vector sequence; The judgment module is configured to judge whether the target check matrix is constructed; The optimization module is configured to perform even weight vector replacement optimization on the target check matrix.

11. An electronic device, characterized in that, Including: At least one processor; And A memory communicatively connected to the at least one processor, the memory storing a computer program executable by the at least one processor, and the computer program is executed by the at least one processor so that the at least one processor can execute the method according to any one of claims 1 to 9.

12. A computer-readable storage medium, characterized in that, The storage medium is used to store a computer program, and the computer program is used to cause a computer to execute the method according to any one of claims 1 to 9.

Citation Information

Patent Citations

  • Hsiao coding check matrix generation method for continuous MBU detection

    CN104378120A

  • Optimization design method and system for non-regular LDPC code word

    CN107959550A

  • Check matrix generation method for error-rate-free one-detection-two-correction adjacent codes

    CN112398485A

  • Method, system and device for constructing basis matrix of PBRL LDPC code and storage medium

    CN113612486A

  • Check matrix generation method and device, electronic equipment and storage medium

    CN114244374A