Linear code decoding method and system based on lattice nearest vector
Through the Babai nearest vector algorithm in the extended grid, a linear coding decoding method based on the nearest vector of the grid is proposed, which solves the problem of imbalance in the q element code decoding efficiency and performance in the prior art, and realizes efficient and low-storage decoding performance.
Patent Information
- Application Number
- CN202411564785.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-11-05
- Publication Date
- 2025-03-21
AI Technical Summary
The existing grid-based linear code decoding algorithms are mainly limited to binary codes, and are difficult to effectively apply to q element codes under higher technical standards in modern communication systems, resulting in imbalance in decoding efficiency and performance.
Through the Babai nearest vector algorithm in the extended grid, a linear coding decoding method based on the nearest vector of the grid is proposed, including obtaining the received signal and its generation matrix, initializing parameters, determining the error vector to be optimized, optimizing the weight of the error vector, and performing vector operations on the finite domain to obtain the decoding result.
A linear coding and decoding method with high efficiency, low storage requirements and high decoding performance is realized, which is suitable for q element code, solves the problem of decoding efficiency and performance imbalance, and saves storage space.
Smart Images

Figure CN119675673A_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of data security technology, and in particular to a linear code decoding method and system based on a lattice nearest vector. Background Art
[0002] In the field of information transmission and data storage, linear code is an important coding technology and is widely used in communication, data transmission and error correction. Linear code can detect and correct errors in the process of information transmission and storage by introducing redundant bits in the data, thereby improving the reliability and fault tolerance of the data. The design and performance of linear codes, especially the design and performance of linear code decoding algorithms, are crucial to ensure the reliability and efficiency of communication systems and data storage systems. In terms of linear code decoding, commonly used decoding algorithms include the minimum distance decoding algorithm and the Viterbi decoding algorithm. The minimum distance decoding algorithm performs error correction by calculating the minimum distance between the codeword and the received signal. It has good performance but high computational complexity. The Viterbi decoding algorithm uses dynamic programming to find the most likely codeword sequence. It has low computational complexity but relatively poor performance.
[0003] In order to reduce the computational complexity while ensuring the decoding performance, the lattice-based decoding algorithm SizeRed proposed by Debris-Alazard et al. can reduce any received binary signal to a unique binary error vector to obtain the decoding result. However, the current research on lattice-based linear code decoding algorithms is still limited to traditional binary codes. Traditional binary codes have limited application in modern communication systems (such as 5G or higher technical standards) due to their capacity limitations. Therefore, the development of efficient, high-performance decoding algorithms suitable for q-ary codes is an urgent problem to be solved.
[0004] The lattice-based decoding algorithm of Debris-Alazard et al. inspired us to solve the decoding problem of general linear codes by extending the Babai nearest vector algorithm in the lattice. However, there are still many problems in directly extending the Babai nearest vector algorithm to q-ary codes. First, the related definitions such as Gram-Schmidt orthogonalization in the lattice are not directly applicable to q-ary codes. Although Debris-Alazard et al. extended these definitions to binary codes, there are still serious problems in the orthogonalization process of q-ary codes. Summary of the invention
[0005] The embodiments of the present application provide a linear code decoding method and system based on a lattice nearest vector, which are used to provide a general linear code decoding method based on the lattice nearest vector problem, so as to solve the problem of imbalance between decoding efficiency and decoding performance of general linear codes. The method of the present application has the characteristics of high efficiency, low storage, high decoding performance, etc.
[0006] The embodiment of the present application provides a linear code decoding method based on a lattice nearest vector, including:
[0007] Obtain the received signal and its generation matrix;
[0008] Outputting initialization parameters based on the generator matrix, wherein the initialization parameters include the Epipodal matrix, any non-zero component of each Epipodal vector and its corresponding index;
[0009] Determining an error vector to be optimized based on the generation matrix, given common parameters and the received signal;
[0010] Optimizing the weight of the error vector to be optimized according to the generator matrix and given common parameters;
[0011] According to the received signal and the weight-optimized error vector, a finite field Vector operations are performed on to obtain the decoding result.
[0012] Optionally, outputting initialization parameters based on the generator matrix includes:
[0013] The definition of the basic field in the q-ary code satisfies: Given a generator matrix Q-code Metacode About All Space The complementary space Code A basic domain of
[0014] Calculating the Epipodal Matrix satisfy:
[0015]
[0016] in, For a finite field For vector addition and subtraction in , the “∧” operation satisfies:
[0017] x∧y=(x1∧y1,x2∧y2,…,x n ∧y n ),in
[0018] The resulting matrix For the Epipodal matrix, is the Epipodal vector;
[0019] Query Epipodal Vector The first non-zero component v iand its corresponding index u i ;
[0020] Output initialization parameters
[0021] Optionally, the output initialization parameters based on the generation matrix further include: initializing the error vector e to the received signal y.
[0022] Optionally, determining the error vector to be optimized based on the generation matrix, given common parameters, and the received signal includes:
[0023] Let i = k, according to the common parameters (u i , v i ) and the i-th vector b of the generation matrix i , make the u i -th component of e become 0 to satisfy:
[0024]
[0025] Let j = 1, initialize the optimized error vector
[0026] Optionally, optimizing the weight of the error vector to be optimized according to the generation matrix and the given common parameters includes:
[0027] According to the Epipodal vector and the i-th vector b of the generation matrix i , check whether the weight of the optimized error vector is the minimum:
[0028]
[0029] If it is the minimum, that is, the formula does not hold, then j = j + 1; otherwise let
[0030] If j < q, continue to optimize the weight, otherwise i = i - 1 until i ≤ 0.
[0031] Optionally, performing vector operations over a finite field based on the received signal and the error vector with optimized weight includes:
[0032] Performing vector subtraction of the received signal and the optimized error vector within the finite field to obtain and output the decoding result
[0033] An embodiment of the present application further proposes a linear code decoding system based on a lattice nearest vector, comprising a processor and a memory, wherein a computer program is stored on the memory, and when the computer program is executed by the processor, the steps of the linear code decoding method based on the lattice nearest vector as described above are implemented.
[0034] The method of the embodiment of the present application solves the problem of imbalance between decoding efficiency and decoding performance of general linear codes, and the method of the present application does not need to store a decoding table with huge overhead, thus effectively saving local storage space.
[0035] The above description is only an overview of the technical solution of the present application. In order to more clearly understand the technical means of the present application, it can be implemented in accordance with the contents of the specification. In order to make the above and other purposes, features and advantages of the present application more obvious and easy to understand, the specific implementation methods of the present application are listed below. BRIEF DESCRIPTION OF THE DRAWINGS
[0036] Various other advantages and benefits will become apparent to those of ordinary skill in the art by reading the detailed description of the preferred embodiments below. The accompanying drawings are only for the purpose of illustrating the preferred embodiments and are not to be considered as limiting the present application. Also, the same reference symbols are used throughout the accompanying drawings to represent the same components. In the accompanying drawings:
[0037] Figure 1 The basic process diagram of the linear code decoding method based on the lattice nearest vector according to the embodiment of the present application is shown;
[0038] Figure 2 The overall process of the linear code decoding method based on the lattice nearest vector according to the embodiment of the present application is schematically illustrated. DETAILED DESCRIPTION
[0039] The exemplary embodiments of the present disclosure will be described in more detail below with reference to the accompanying drawings. Although the exemplary embodiments of the present disclosure are shown in the accompanying drawings, it should be understood that the present disclosure can be implemented in various forms and should not be limited by the embodiments set forth herein. On the contrary, these embodiments are provided to enable a more thorough understanding of the present disclosure and to fully convey the scope of the present disclosure to those skilled in the art.
[0040] The embodiment of the present application provides a linear code decoding method based on a grid nearest vector, such as Figure 1 As shown, the following steps are included:
[0041] In step S101, a received signal and its generation matrix are obtained.
[0042] In step S102, initialization parameters are output based on the generation matrix, wherein the initialization parameters include the Epipodal matrix, any non-zero component of each Epipodal vector and its corresponding index.
[0043] In a specific example, the present application first extends the definition of support and orthogonality in binary codes as follows: Given a finite field For two vectors x and y in the example, the support of x is defined as the set of indices of the non-zero components of x, that is, Supp(x) = {i∈[n]:x[i]≠0}, where [n] = {1,2,…,n}. Furthermore, if the supports of vectors x and y do not intersect, then vectors x and y are said to be orthogonal to each other.
[0044] Based on the above definition, a process similar to Gram-Schmidt orthogonalization in the lattice is applied to the generator matrix of the q-ary code to calculate the Epipodal matrix. In some embodiments, Figure 2 As shown, the initialization parameters output based on the generation matrix include:
[0045] The definition of the basic field in the q-ary code satisfies: Given a generator matrix Q-code Metacode About All Space The complementary space Code A basic domain of
[0046] Calculate the Epipodal matrix using formula (1) satisfy:
[0047]
[0048] Formula (1) gives the process of orthogonalizing the generator matrix, where For a finite field For vector addition and subtraction in , the “∧” operation satisfies:
[0049]
[0050] The resulting matrix For the Epipodal matrix, is the Epipodal vector;
[0051] Query Epipodal Vector The first non-zero component v i and its corresponding index u i ;
[0052] Output initialization parameters
[0053] In some embodiments, outputting the initialization parameters based on the generation matrix further includes: initializing the error vector e to the received signal y.
[0054] In step S103, the error vector to be optimized is determined based on the generator matrix, the given common parameters and the received signal. That is, in a specific example, according to the generator matrix, the common parameters and the given received signal, the generator matrix and the common parameters are used to eliminate the components of the specific index of the received signal to 0 in reverse order to obtain the error vector to be optimized. Among them, the specific index is all the index parameters in the common parameters. If the error vector obtained is a zero vector, the received signal is the decoding result, and the decoding ends, otherwise the subsequent steps are executed.
[0055] The method of the present application eliminates the component of the specific index of the received vector to 0 in step S103, thereby ensuring that the error vector to be optimized (when the error vector is non-zero) is linearly independent of the vector of the generated matrix, that is, ensuring that the error vector obtained must be a vector in the basic domain.
[0056] In step S104, the weight of the error vector to be optimized is optimized according to the generation matrix and the given common parameters. In some examples, the weight of the error vector can be optimized in reverse order using the generation matrix and the common parameters and the weight-optimized error vector is output.
[0057] In step S105, a finite field is performed based on the received signal and the weight-optimized error vector. Vector operations are performed on to obtain the decoding result.
[0058] In some embodiments, Figure 2 As shown, determining the error vector to be optimized based on the generation matrix, the given common parameters and the received signal includes:
[0059] Let i = k, according to the common parameter (u i ,v i ) and the i-th vector b of the generator matrix i , using formula (2) to convert the uth i The components disappear to 0 to satisfy:
[0060]
[0061] Let j = 1, initialize the optimized error vector
[0062] In some embodiments, optimizing the weight of the error vector to be optimized according to the generator matrix and the given common parameters includes:
[0063] According to Epipodal vector and the i-th vector b of the generating matrix i , use formula (3) to check the optimized error vector to see if its weight is the minimum:
[0064]
[0065] If it is the minimum, i.e., the formula does not hold, then j = j + 1; otherwise let
[0066] Judge if j < q. If j < q, then return to the previous step to continue optimizing the weight. Otherwise, i = i - 1 and execute the next step;
[0067] Judge if i > 0. If it holds, then execute the loop, calculate the error vector before optimization again and optimize the weight; otherwise, jump out of the loop and execute the next step until i ≤ 0.
[0068] In some embodiments, according to the received signal and the error vector with optimized weight, perform vector operations on the finite field including:
[0069] Perform vector subtraction within the finite field between the received signal and the optimized error vector to obtain and output the decoding result
[0070] An embodiment of the present application also proposes a linear code decoding system based on lattice closest vectors, including a processor and a memory. A computer program is stored on the memory, and when the computer program is executed by the processor, it implements the steps of the aforementioned linear code decoding method based on lattice closest vectors.
[0071] The method of the embodiment of the present application solves the problem of imbalance between the decoding efficiency and decoding performance of general linear codes, and the method of the present application does not need to store a decoding table with huge overhead, effectively saving local storage space.
[0072] It should be noted that in each embodiment of the present application, the term "including", "comprising" or any other variant thereof is intended to cover non-exclusive inclusion, so that a process, method, article or device including a series of elements not only includes those elements, but also includes other elements not expressly listed, or further includes elements inherent to such process, method, article or device. Without further limitation, an element defined by the statement "including one..." does not exclude the existence of additional identical elements in the process, method, article or device including that element.
[0073] The serial numbers of the embodiments of the present application above are only for description and do not represent the superiority or inferiority of the embodiments.
[0074] Through the description of the above implementation methods, those skilled in the art can clearly understand that the above-mentioned embodiment methods can be implemented by means of software plus a necessary general hardware platform, and of course by hardware, but in many cases the former is a better implementation method. Based on such an understanding, the technical solution of the present application, or the part that contributes to the prior art, can be embodied in the form of a software product, which is stored in a storage medium (such as ROM / RAM, a magnetic disk, or an optical disk), and includes a number of instructions for a terminal (which can be a mobile phone, a computer, a server, an air conditioner, or a network device, etc.) to execute the methods described in each embodiment of the present application.
[0075] The embodiments of the present application are described above in conjunction with the accompanying drawings, but the present application is not limited to the above-mentioned specific implementation methods. The above-mentioned specific implementation methods are merely illustrative and not restrictive. Under the guidance of the present application, ordinary technicians in this field can also make many forms without departing from the purpose of the present application and the scope of protection of the claims, all of which are within the protection of the present application.
Claims
1. A linear code decoding method based on a lattice nearest vector, characterized in that: including: obtaining a received signal and its generating matrix; outputting initialization parameters based on the generating matrix, where the initialization parameters include an Epipodal matrix, any non-zero component of each Epipodal vector, and its corresponding index; determining an error vector to be optimized based on the generating matrix, a given common parameter, and the received signal; optimizing the weight of the error vector to be optimized according to the generating matrix and the given common parameter; According to the received signal and the weight-optimized error vector, a finite field Vector operations are performed on to obtain the decoding result.
2. The linear code decoding method based on the lattice nearest vector as claimed in claim 1, characterized in that: outputting initialization parameters based on the generating matrix includes: The definition of the basic field in the q-ary code satisfies: Given a generator matrix Q-code Metacode About All Space Complementary space Code A basic domain of Calculating the Epipodal Matrix satisfy: Among them, ⊕, For a finite field In vector addition and subtraction, the "∧" operation satisfies: x∧y=(x1∧y1,x2∧y2,…,x n ∧y n ),in The resulting matrix For the Epipodal matrix, is the Epipodal vector; Query Epipodal Vector The first non-zero component v i and its corresponding index u i ; Output initialization parameters 3. The linear code decoding method based on the lattice nearest vector as claimed in claim 2, characterized in that: outputting initialization parameters based on the generating matrix further includes: initializing the error vector e to the received signal y.
4. The linear code decoding method based on the lattice nearest vector as claimed in claim 2, characterized in that: determining an error vector to be optimized based on the generating matrix, a given common parameter, and the received signal includes: Let i = k, according to the common parameter (u i ,v i ) and the i-th vector b of the generator matrix i , the uth i The components disappear to 0 to satisfy: Let j = 1, initialize the optimized error vector 5. The linear code decoding method based on the lattice nearest vector as claimed in claim 4, characterized in that: optimizing the weight of the error vector to be optimized according to the generating matrix and the given common parameter includes: According to Epipodal vector and the i-th vector b of the generator matrix i , check the optimized error vector Is the weight of the smallest: If it is the smallest, that is, the formula does not hold, then j = j + 1; otherwise, let if j < q, then continue to optimize the weight, otherwise i = i - 1 until i ≤ 0.
6. The linear code decoding method based on the lattice nearest vector as claimed in claim 5, characterized in that: According to the received signal and the weight-optimized error vector, a finite field Vector operations on include: The received signal and the optimized error vector are finite fields. Subtract the vectors in the decoder to get and output the decoded result.
7. A linear code decoding system based on a lattice nearest vector, characterized in that: including a processor and a memory, where a computer program is stored on the memory, and when the computer program is executed by the processor, the steps of the linear code decoding method based on lattice closest vector as described in any one of claims 1 to 6 are implemented.