A method for searching for error patterns of two-dimensional code trap sets
By searching for candidate columns and rows in two-dimensional encoding and iteratively generating the matrix, the problem of trap set error pattern search and estimation is successfully solved, and the error control performance and decoding success rate of encoding are improved.
Patent Information
- Application Number
- CN202011176088.4
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2020-10-28
- Publication Date
- 2025-03-18
- Estimated Expiration
- 2040-10-28
AI Technical Summary
The prior art is difficult to effectively search and estimate trap set error patterns in two-dimensional encoding, resulting in decoding failure and difficulty in evaluating error control performance.
A two-dimensional coded trap set error pattern search method is proposed. By setting the received codeword C matrix, gradually searching for candidate columns and candidate rows, generating matrices P and P1, iteratively searching until the trap error pattern is found or iteratively determined that it does not exist.
Effective search and estimation of the trap set error pattern is realized, and the error control performance and decoding success rate of two-dimensional encoding are improved.
Smart Images

Figure CN112398489B_ABST
Abstract
Description
Technical Field
[0001] The invention belongs to the field of information and communication technology, and in particular relates to a two-dimensional code trap set error pattern search method. Background Art
[0002] Driven by the rapid development and widespread application of Internet of Things technology, accurate and fast data acquisition, transmission and storage processing have become indispensable basic requirements in production and life such as smart agriculture, smart manufacturing, and logistics. Error control coding is an effective means of reliable data storage and transmission. Through data error control coding, random or burst errors generated in data transmission and storage can be corrected. The error correction capability of traditional one-dimensional coding is related to the minimum Hamming distance of the code space, and its error correction capability is limited under certain coding efficiency constraints. Two-dimensional coding disperses continuous burst errors in the row direction into random errors in the column direction. Similarly, continuous burst errors in the column direction are dispersed into random errors in the row direction. The row and column directions are encoded separately. When reading data, row and column interleaved iterative decoding is used, which can significantly improve the error correction performance. However, when the error appears in the matrix formed by the intersection of the upper limit of the row error correction capability and the upper limit of the column error correction capability (called a trap error pattern), or when all sets containing this error pattern are included, the iteration cannot converge, resulting in decoding failure. In the designed coding matrix structure, the probability of the occurrence of this pattern is successfully estimated, and the error control performance of this type of coding structure can be evaluated. There is no effective method to search and estimate the trap set error pattern at present. Therefore, it is particularly important to solve this kind of problem. Summary of the invention
[0003] In view of the deficiencies in the prior art, the present invention provides a two-dimensional code trap set error pattern search method, which can effectively search and estimate such trap set error patterns.
[0004] The technical solution of the present invention is achieved in this way:
[0005] A two-dimensional code trap set error pattern search method includes the following steps: firstly, a received code word C matrix is set as formula (1), and the bit element corresponding to the error code word is set to 0;
[0006]
[0007] Step 1: First candidate column search
[0008] Search for the first candidate column in matrix C, starting from the first column of matrix C. When the number of errors in the jth column is m1, and m1 ≥ M, take the jth column as the first candidate column, and take all the error bits in the jth column as the head of the row. Extract all the data bits after the jth column from these rows to form a matrix P with m1 rows and n1 = (n-j+1) columns. Assume that the m1 error bits are Right now make
[0009] Then the P matrix is shown in formula (2):
[0010]
[0011] Step 2: Search for the first candidate row
[0012] Search the matrix P for a row that satisfies the condition that the number of error bits in a row is greater than or equal to N as the first candidate row. If it does not exist, return to step 1 and search the first candidate column again. The search window is shifted right bit by bit until the first candidate column that meets the conditions is found; repeat the search for the first candidate row. If it is found, assuming that the number of errors in the i-th row is n2, and n2≥N is satisfied, then the i-th row of P is taken as the first candidate row, and all the error bits in the i-th row are taken as the column heads. All the data bits after the i-th row of these columns are extracted to form a matrix P1 with m2=(m1-i+1) rows and n2 columns; let From formula (2), we know Assume that the other (n2-1) error data are Right now Then P1 is as shown in formula (3):
[0013]
[0014] in,
[0015] Step 3: Iterative search
[0016] Search for a row in matrix P1 that satisfies the condition that the number of error bits in a row is greater than or equal to N as the second candidate row. If it does not exist, return to step 2 to search the first candidate row again, and move the search window down bit by bit until the first subsequent row that meets the condition is found, and repeat the search for the second candidate row; if it is found, process it according to the method of step 2;
[0017] For example, in the processing of the kth candidate row, it is necessary to find the first k-1 rows of the all-0 matrix P that meet the conditions. k-1 Based on the processing, k-1 Search for rows with N or more error elements in the same row as the kth candidate row; suppose the number of errors in the i'th row is n k , satisfying n k ≥N, then P k-1 The i'th row is taken as the kth candidate row, and all the error bits and all the subsequent data bits of the i'th row are extracted to form an m k =(m k-1 -i'+1) lines, nk The matrix P of columns k ; Let n k The error data is Right now Then P k As shown in formula (4)
[0018]
[0019] Step 4: Generate matrix P according to the above steps M-1 ,
[0020] So that the matrix P M-1 The upper left corner contains (M-1)*N all-0 elements. M-1 In the process, the number of error bits in each row is searched row by row starting from the M-1th row from top to bottom. When the number of error bits in a single row is greater than or equal to N, it means that the trap error pattern matrix has been searched, and the process ends immediately. When no row that meets the conditions is found, return to the previous step and move the previous candidate row matrix downward row by row until another penultimate candidate row is found, and then repeat this step for the final pattern verification, and so on, until the trap set is found.
[0021] A further improvement is that in step 4, if all rows are traversed and still do not satisfy the trap pattern, then return to step 2, move the first candidate row downwards row by row, and iterate the search until the trap pattern is found.
[0022] A further improvement is that in step 4, if all combinations of the 1st, 2nd, ..., N-1 candidate rows are traversed and none of them meet the condition, then return to step 1 and move the search window to the right column by column. If all column and row combinations cannot meet the condition according to the above steps, it indicates that there is no trap set in this matrix and the search is terminated.
[0023] Compared with the prior art, the present invention has the following advantages.
[0024] The invention discloses a two-dimensional code trap set error pattern search method, which can effectively search and estimate such trap set error patterns. BRIEF DESCRIPTION OF THE DRAWINGS
[0025] In order to more clearly illustrate the embodiments of the present invention or the technical solutions in the prior art, the drawings required for use in the embodiments or the description of the prior art will be briefly introduced below. Obviously, the drawings described below are only some embodiments of the present invention. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying creative labor.
[0026] Figure 1An example diagram of the trap set of the present invention;
[0027] Figure 2 The experimental results of the probability of trap set search for 256*128 matrix using the method provided by the present invention are as follows;
[0028] Figure 3 The experimental results of the probability of trap set search for 128*128 matrix using the method provided by the present invention are as follows;
[0029] Figure 4 The experimental results of the probability of trap set search for 200*150 matrix using the method provided by the present invention are as follows;
[0030] Figure 5 The experimental results of trap set probability search for a 150*200 matrix using the method provided by the present invention are given. DETAILED DESCRIPTION
[0031] The following will be combined with the drawings in the embodiments of the present invention to clearly and completely describe the technical solutions in the embodiments of the present invention. Obviously, the described embodiments are only part of the embodiments of the present invention, not all of the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of the present invention.
[0032] In the description of the present invention, it should be noted that the terms "center", "upper", "lower", "left", "right", "vertical", "horizontal", "inner", "outer", etc., indicating the orientation or positional relationship, are based on the orientation or positional relationship shown in the drawings, and are only for the convenience of describing the present invention 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 therefore cannot be understood as limiting the present invention. In addition, the terms "first", "second", "third", "fourth", etc. are only used for descriptive purposes and cannot be understood as indicating or implying relative importance.
[0033] In the description of the present invention, it should be noted that, unless otherwise clearly specified and limited, the terms "installed", "connected", and "connected" should be understood in a broad sense, for example, it can be a fixed connection, a detachable connection, or an integral connection; it can be a mechanical connection or an electrical connection; it can be a direct connection, or it can be indirectly connected through an intermediate medium, or it can be the internal communication of two components. For ordinary technicians in this field, the specific meanings of the above terms in the present invention can be understood according to specific circumstances.
[0034] See also Figures 1 to 5The embodiment of the present invention discloses a two-dimensional code trap set error pattern search method, comprising the following steps: firstly, a received code word C matrix is set as formula (1), and the bit element corresponding to the error code word is set to 0;
[0035]
[0036] Step 1: First candidate column search
[0037] Search for the first candidate column in matrix C, starting from the first column of matrix C. When the number of errors in the jth column is m1, and m1 ≥ M, take the jth column as the first candidate column, and take all the error bits in the jth column as the head of the row. Extract all the data bits after the jth column from these rows to form a matrix P with m1 rows and n1 = (n-j+1) columns. Assume that the m1 error bits are Right now make
[0038] Then the P matrix is shown in formula (2):
[0039]
[0040] Step 2: Search for the first candidate row
[0041] Search the matrix P for a row that satisfies the condition that the number of error bits in a row is greater than or equal to N as the first candidate row. If it does not exist, return to step 1 and search the first candidate column again. The search window is shifted right bit by bit until the first candidate column that meets the conditions is found; repeat the search for the first candidate row. If it is found, assuming that the number of errors in the i-th row is n2, and n2≥N is satisfied, then the i-th row of P is taken as the first candidate row, and all the error bits in the i-th row are taken as the column heads. All the data bits after the i-th row of these columns are extracted to form a matrix P1 with m2=(m1-i+1) rows and n2 columns; let From formula (2), we know Assume that the other (n2-1) error data are Right now Then P1 is as shown in formula (3):
[0042]
[0043] in,
[0044] Step 3: Iterative search
[0045] Search for a row in matrix P1 that satisfies the condition that the number of error bits in a row is greater than or equal to N as the second candidate row. If it does not exist, return to step 2 to search the first candidate row again, and move the search window down bit by bit until the first subsequent row that meets the condition is found, and repeat the search for the second candidate row; if it is found, process it according to the method of step 2;
[0046] For example, in the processing of the kth candidate row, it is necessary to find the first k-1 rows of the all-0 matrix P that meet the conditions. k-1 Based on the processing, k-1 Search for rows with N or more error elements in the same row as the kth candidate row; suppose the number of errors in the i'th row is n k , satisfying n k ≥N, then P k-1 The i'th row is taken as the kth candidate row, and all the error bits and all the subsequent data bits of the i'th row are extracted to form an m k =(m k-1 -i'+1) lines, n k The matrix P of columns k ; Let n k The error data is Right now Then P k As shown in formula (4)
[0047]
[0048] Step 4: Generate matrix P according to the above steps M-1 ,
[0049] Follow the above steps to generate the matrix P M-1 , so far, the matrix P M-1 The upper left corner must contain (M-1)*N all-0 elements. M-1 In the process, the number of error bits in each row is searched row by row starting from the M-1th row from top to bottom. When the number of error bits in a single row is greater than or equal to N, it means that the trap error pattern matrix has been searched and the search ends immediately. If no row that meets the conditions is found, return to the previous step and move the previous candidate row matrix downward row by row until another second-to-last candidate row is found, and then repeat this step to perform the final pattern verification, and so on, until the trap set is found, or if the trap pattern is still not satisfied after traversing all rows, return to step 2, move the 1st candidate row downward row by row, and iterate the search until the trap pattern is found, or if all combinations of the 1st, 2nd, ..., N-1 candidate rows are not satisfied, return to step 1 and move the search window column by column to the right. If all combinations of columns and rows cannot meet the conditions according to the above steps, it means that there is no trap set in this matrix and the search ends.
[0050] For two-dimensional codes with row-wise and column-wise error correction capabilities of N and M, respectively, any row or column, if the number of error bits in the row or column is less than or equal to N (column-wise M), can be decoded once to achieve error correction. When the above conditions are not met, row-column serial iterative decoding is adopted, and in most cases, it can still be correctly decoded. If the number of error bits in a row is greater than N, but it is very likely to reduce the number of error bits in the row after column-wise decoding, when it is as low as N bits (including N bits), it can be smoothly corrected in the row direction to achieve correct decoding. Similarly, if the number of error bits in a column is greater than or equal to M, but it is very likely to reduce the number of error bits in the column after row-wise decoding, when it is as low as M bits, it can be corrected in the column direction to achieve correct decoding. For example, in the attached figure, "." represents that the position is helpless, and "o" represents that an error occurs in the position, among which 12 slightly larger "o"s form an error pattern of 4 rows and 3 columns, and a trap set appears in the two-dimensional code. When an error pattern as shown in the attached figure appears, it cannot be correctly decoded no matter how many times it is iterated, and the iteration cannot converge at this time. This error pattern is called a trap set error pattern. In the designed specific coding matrix structure, the probability of occurrence of this pattern is successfully estimated, and the error control performance of the coding structure can be evaluated. The present invention provides an effective method for searching for trap patterns in a completely disordered error pattern. First, starting from the first column of the coding matrix, each column is searched in sequence. When a column that satisfies the error bit number in a column is greater than or equal to M is searched, this column is used as the first candidate column of the trap set, and all its error bits are used as the row heads, and all elements of these rows after the first candidate column are extracted to form a new matrix P; then, a row that satisfies the error element in a row is searched in P, and the row is used as the first candidate row, and all the elements of the row that are equal to 0 are used as the column heads, and all the elements after the first candidate row are extracted to form a new matrix P1; secondly, a new row that satisfies the error element in a row is searched from the second row in P1 as the second candidate row, and all the elements of the row that are equal to 0 are used as the column heads, and all the elements after the second candidate row are extracted to form a new matrix P2; and so on, finally in the matrix P N-1 Search for a row that satisfies the condition that the number of error elements in a row is greater than or equal to N. If so, it means that a trap matrix that satisfies the conditions has been found. If not, and no trap matrix that satisfies the conditions is found after traversing all combinations of columns and rows, it means that there is no trap set in this matrix, and the search ends.
[0051] Using the method provided by the present invention, the probability of occurrence of a trap matrix with an error pattern of 4*3 is searched in four coding matrices of different specifications. The four matrices are 256 rows and 128 columns, 128 rows and 128 columns, 150 rows and 200 columns, and 200 rows and 150 columns. The coding error correction capability is set to 3 bits for row-wise error correction capability and 2 bits for column-wise error correction capability, that is, when a trap matrix with an error pattern of 4*3 appears in a codeword, error correction cannot be performed and decoding fails.
[0052] Implementation parameter 1: the number of matrix rows is 256, the number of columns is 128, the row error correction capability is 3, the column error correction capability is 2, the number of experiments is 100000 times, RBER=1 / 12, 1 / 14, 1 / 16, 1 / 18, 1 / 20.
[0053] Result analysis: When RBER = 1 / 20, the probability of traps is 0, and when RBER = 1 / 18, the probability of traps is 7e-4, that is, 70. When RBER = 1 / 12, the probability of traps is the highest, about 6.2%.
[0054] Implementation parameter 2: the number of matrix rows is 128, the number of columns is 128, the row error correction capability is 3, the column error correction capability is 2, the number of experiments is 100000 times, RBER=1 / 12, 1 / 14, 1 / 16, 1 / 18, 1 / 20.
[0055] Result analysis: When RBER = 1 / 20, the probability of trap occurrence is 0, when RBER = 1 / 18, the probability is 1e-4, and 10 traps appear. When RBER = 1 / 12, the probability of occurrence is the highest, about 1.3%.
[0056] Implementation parameter 3: the number of matrix rows is 150, the number of columns is 200, the row error correction capability is 3, the column error correction capability is 2, the number of experiments is 100,000 times, and RBER=1 / 12, 1 / 14, 1 / 16, 1 / 18, 1 / 20.
[0057] Result analysis: When RBER = 1 / 20, the probability of trap occurrence is 0, when RBER = 1 / 18, the probability is 9e-4, and about 90 traps appear. When RBER = 1 / 12, the probability of occurrence is the highest, about 6.8%.
[0058] Implementation parameter 4: the number of matrix rows is 200, the number of columns is 150, the row error correction capability is 3, the column error correction capability is 2, the number of experiments is 100000 times, RBER=1 / 12, 1 / 14, 1 / 16, 1 / 18, 1 / 20.
[0059] Result analysis: When RBER = 1 / 20, the probability of trap occurrence is 0, when RBER = 1 / 18, the probability is 6e-4, and about 60 traps appear. When RBER = 1 / 12, the probability of occurrence is the highest, about 5.6%.
[0060] The above description is only a preferred embodiment of the present invention and is not intended to limit the present invention. Any modifications, equivalent substitutions, improvements, etc. made within the spirit and principle of the present invention should be included in the protection scope of the present invention.
Claims
1. A two-dimensional code trap set error pattern search method, characterized in that: The method comprises the following steps: firstly, the received codeword matrix C is set as formula (1), and the bit element corresponding to the error codeword is set to 0; Step 1: First candidate column search Search for the first candidate column in matrix C, starting from the first column of matrix C. When the number of errors in the jth column is m1, and m1 ≥ M, take the jth column as the first candidate column, and take all the error bits in the jth column as the head of the row. Extract all the data bits after the jth column from these rows to form a matrix P with m1 rows and n1 = (n-j+1) columns. Assume that the m1 error bits are Right now make Then the P matrix is shown in formula (2): Step 2: Search for the first candidate row Search the matrix P for a row that satisfies the condition that the number of error bits in a row is greater than or equal to N as the first candidate row. If it does not exist, return to step 1 and search the first candidate column again. The search window is shifted right bit by bit until the first candidate column that meets the conditions is found; repeat the search for the first candidate row. If it is found, assuming that the number of errors in the i-th row is n2, and n2≥N is satisfied, then the i-th row of P is taken as the first candidate row, and all the error bits in the i-th row are taken as the column heads. All the data bits after the i-th row of these columns are extracted to form a matrix P1 with m2=(m1-i+1) rows and n2 columns; let From formula (2), we know Assume that the other (n2-1) error data are Right now Then P1 is as shown in formula (3): in, Step 3: Iterative search Search for a row in matrix P1 that satisfies the condition that the number of error bits in a row is greater than or equal to N as the second candidate row. If it does not exist, return to step 2 to search the first candidate row again, and move the search window down bit by bit until the first subsequent row that meets the condition is found, and repeat the search for the second candidate row; if it is found, process it according to the method of step 2; For example, in the processing of the kth candidate row, it is necessary to find the first k-1 rows of the all-0 matrix P that meet the conditions. k-1 Based on the processing, k-1 Search for rows with N or more error elements in the same row as the kth candidate row; suppose the number of errors in the i'th row is n k , satisfying n k ≥N, then P k-1 The i'th row is taken as the kth candidate row, and all the error bits and all the subsequent data bits of the i'th row are extracted to form an m k =(m k-1 -i'+1) rows, n k The matrix P of columns k ; Let n k The error data is Right now Then P k As shown in formula (4) Step 4: Generate matrix P according to the above steps M-1 , So that the matrix P M-1 The upper left corner contains (M-1)*N all-0 elements. M-1 In the process, the number of error bits in each row is searched row by row starting from the M-1th row from top to bottom. When the number of error bits in a single row is greater than or equal to N, it means that the trap error pattern matrix has been searched, and the process ends immediately. When no row that meets the conditions is found, return to the previous step and move the previous candidate row matrix downward row by row until another penultimate candidate row is found, and then repeat this step for the final pattern verification, and so on, until the trap set is found.
2. A two-dimensional code trap set error pattern search method according to claim 1, characterized in that: In step 4, if all rows are traversed and still do not satisfy the trap pattern, then return to step 2, move the first candidate row downwards row by row, and iterate the search until the trap pattern is found.
3. A two-dimensional code trap set error pattern search method according to claim 1 or 2, characterized in that: In step 4, if all combinations of the 1st, 2nd, ..., N-1 candidate rows are traversed and none of them meet the conditions, then return to step 1 and move the search window to the right column by column. If all column and row combinations cannot meet the conditions according to the above steps, it means that there is no trap set in this matrix and the search ends.
Citation Information
Patent Citations
ROM list-decoding of near codewords
CN101803206A
LDPC (low density parity check) code construction method based on elimination of basic trapping set
CN107689802A