Decoding method, decoding apparatus, chip and storage medium

By constructing the correlation between the first generalized synodus of the received vector and the parameters of the parity-check matrix, the second generalized synodus and polynomial are parsed, solving the problem of high decoding complexity of GRS codes and realizing fast and efficient decoding. It is applicable to GRS codes and Alternant codes, and especially suitable for separable Goppa codes and BCH codes.

WO2026067642A1PCT designated stage Publication Date: 2026-04-02THEO END (SHENZHEN) COMPUTING TECHNOLOGY CO LTD
View PDF 6 Cites 0 Cited by

Patent Information

Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Filing Date
2025-09-26
Publication Date
2026-04-02

AI Technical Summary

Technical Problem

The lack of a unified and fast decoding method in the existing technology, especially for GRS codes of the Alternant code subclass, leads to high complexity in the decoding process and makes it difficult to quickly correct errors in the received vector.

Method used

By constructing the first generalized adjoint of the received vector, we obtain its relationship with the parameters of the parity check matrix. We then use the linear space sequence to parse out the second generalized adjoint and polynomial, and calculate the relationship of the first generalized adjoint. This reduces computational complexity and allows for the rapid determination of error locations and values.

Benefits of technology

It achieves fast and efficient decoding of GRS codes and Alternant codes, reduces computational complexity, improves decoding efficiency, and is applicable to separable Goppa codes and BCH codes, especially to arbitrary GRS codes and Alternant codes.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN2025124459_02042026_PF_FP_ABST
    Figure CN2025124459_02042026_PF_FP_ABST
Patent Text Reader

Abstract

Disclosed in the present invention are a decoding method, a decoding apparatus, a chip and a storage medium. The decoding method comprises: on the basis of a received vector, constructing a corresponding first generalized syndrome, the received vector being a result obtained after a codeword is subjected to error interference, and the first generalized syndrome comprising the received vector, a first polynomial and parameters of a parity check matrix corresponding to a code; acquiring an association relationship between the received vector and the first generalized syndrome; on the basis of the association relationship, calculating the first generalized syndrome to obtain a calculated result of the first generalized syndrome; on the basis of the calculated result of the first generalized syndrome, solving error information in the received vector to obtain an error position and an error value; and, on the basis of the error position and the error value, correcting the received vector to obtain the codeword. The decoding method of the present invention can reduce the complexity of calculating generalized syndromes, thereby implementing unified decoding of multiple types of codes.
Need to check novelty before this filing date? Find Prior Art

Description

A decoding method, a decoding device, a chip and a storage medium

[0001] Cross-reference to Related Applications

[0002] The present application claims priority to the Chinese patent application No. 202411375490.3, filed on September 29, 2024, and entitled "A decoding method, a decoding device, a chip and a storage medium", the whole content of which is incorporated herein by reference. TECHNICAL FIELD

[0003] The present application relates to the field of communication technology, in particular to a decoding method, a decoding device, a chip and a storage medium. BACKGROUND

[0004] Generalized Reed-Solomon Codes (GRS Codes) are a class of important error-correcting codes. As a subclass of GRS Codes, some Alternant Codes can achieve the Gilbert-Varshamov bound. Goppa Codes are a special class of Alternant Codes, which are adopted by the McEliece cryptosystem and used as a candidate code for post-quantum cryptography. Therefore, it is of great significance to study the decoding algorithm of GRS Codes. In the past research, several different decoding algorithms have been proposed for different subclasses of GRS Codes. For example, based on the conventional definition of the adjoint, the Berlekamp-Massey algorithm and the Euclidean algorithm are used for the decoding of RS Codes and BCH Codes, respectively. For example, based on the residue polynomial, the Welch-Berlekamp algorithm and the modular approach are used for the decoding of Reed-Solomon Codes (RS Codes). For example, the Guruswami-Sudan algorithm is used for the decoding of RS Codes and BCH Codes (Bose-Chaudhuri-Hocquenghem codes, BCH codes). However, there is currently no unified and fast and effective decoding method for different subclasses of Alternant Codes. SUMMARY

[0005] The purpose of the present application is to at least solve one of the above technical problems to some extent.

[0006] To achieve the above object, the first aspect of the present application provides a decoding method, which comprises the following steps: constructing a first adjoint formula of a received vector according to the received vector, wherein the received vector is a result of a code word interfered by an error, the first adjoint formula comprises the received vector, a first polynomial and parameters of a check matrix corresponding to the code; obtaining a correlation between the received vector and the first adjoint formula; calculating the first adjoint formula based on the correlation to obtain a calculation result of the first adjoint formula; solving error information in the received vector based on the calculation result of the first adjoint formula to obtain an error position and an error value; and correcting the received vector based on the error position and the error value to obtain a decoding result for the received vector. The present application can quickly solve the error position and the error value for the received vector by analyzing the correlation between the adjoint formula and the received vector, thereby effectively reducing the complexity of the solution.

[0007] According to one embodiment of the present application, the first adjoint formula is expressed by the following formula:

[0008] wherein r i is the received vector, y i is a non-zero vector in the check matrix of the code, T(x) is the first polynomial, α i is an element in GF(2m), and n is the code length.

[0009] According to one embodiment of the present application, the step of obtaining the correlation between the received vector and the first adjoint formula comprises:

[0010] constructing a received vector based on a linear space order according to the received vector to determine a second adjoint formula and a second polynomial of the received vector, wherein the second adjoint formula and the second polynomial are expressed by the following formulas respectively:

[0011] wherein f(x) is the second polynomial, S1(x) is the second adjoint formula, r j is the received vector based on the linear space order.

[0012] analyzing a first corresponding relationship between the second adjoint formula and the second polynomial, wherein the first corresponding relationship is that the second adjoint formula is a quotient of the second polynomial divided by ; and analyzing a second corresponding relationship between the second adjoint formula and the first adjoint formula, wherein the second corresponding relationship is that the first adjoint formula is a quotient of the second adjoint formula divided by a product of a first polynomial and a second polynomial; determining a correlation between the first generalized adjoint and the received vector based on the first correspondence and the second correspondence, wherein the correlation is a inverse Fourier transform of the first generalized adjoint corresponding to the received vector.

[0013] According to one embodiment of the present application, the calculating the first generalized adjoint based on the correlation to obtain a calculation result of the first generalized adjoint comprises: constructing a sub-vector of the received vector based on the linear space sequence, determining a coordinate vector of the second generalized adjoint relative to ; and obtaining the calculation result of the first generalized adjoint based on the second generalized adjoint and a second correspondence between the second generalized adjoint and the first generalized adjoint.

[0014] According to one embodiment of the present application, the solving the error information in the received vector based on the calculation result of the first generalized adjoint to obtain an error position and an error value comprises: determining an error position polynomial related to the error information in the received vector based on the first generalized adjoint, and establishing a key equation representing a relationship between the first generalized adjoint and the error position polynomial; solving the key equation by using a preset algorithm based on the calculation result of the first generalized adjoint to obtain a solution result of the error position polynomial; and calculating the error position and the error value of the received vector based on the solution result of the error position polynomial.

[0015] According to one embodiment of the present application, the key equation is expressed by the following formula:

[0016] S(x)λ(x)=q(x)T(x)+z(x);

[0017] wherein S(x) is the first generalized adjoint, λ(x) is the error position polynomial, and T(x) is the first polynomial.

[0018] According to one embodiment of the present application, the calculating the error position and the error value based on the solution result of the error position polynomial comprises: using a money search to calculate a root of the error position polynomial to obtain the error position; and using a Fooni formula to obtain the error value corresponding to the error position based on the error position.

[0019] According to one embodiment of the present application, the code comprises a separable Goppa code and a BCH code.

[0020] ​The second aspect of the present application provides a decoding device, comprising: a constructing unit configured to construct a first adjoint of a received vector according to the received vector, wherein the received vector is a result of a codeword interfered by an error, the first adjoint comprises the received vector, a first polynomial and parameters of a check matrix corresponding to a code; an obtaining unit configured to obtain a correlation between the received vector and the first adjoint; a calculating unit configured to calculate the first adjoint based on the correlation to obtain a calculation result of the first adjoint; a solving unit configured to solve error information in the received vector based on the calculation result of the first adjoint to obtain an error position and an error value; and a correcting unit configured to correct the received vector based on the error position and the error value to obtain a decoding result for the received vector.

[0021] According to an embodiment of the present application, the obtaining unit comprises: a first determining unit configured to construct a received vector based on a linear space sequence according to the received vector to determine a second adjoint of the code and a second polynomial, wherein the second adjoint and the second polynomial are respectively represented by the following formulas:

[0022] wherein f(x) is the second polynomial, S1(x) is the second adjoint, r j is the received vector based on the linear space sequence;

[0023] a first analyzing unit configured to analyze a first correspondence between the second adjoint and the second polynomial to obtain that the first correspondence is that the second adjoint is a quotient of the second polynomial divided by a second analyzing unit configured to analyze a second correspondence between the second adjoint and the first adjoint to obtain that the second correspondence is that the first adjoint is a quotient of the second adjoint divided by a second determining unit configured to determine, based on the first correspondence and the second correspondence, that the correlation between the first adjoint and the received vector is that an inverse Fourier transform of the first adjoint corresponds to the received vector.

[0024] According to an embodiment of the present application, the calculating unit comprises: a third determining unit configured to construct a sub-vector of the received vector based on the linear space sequence to determine a coordinate vector of the second adjoint relative to a first solving unit configured to solve, according to the coordinate vector of the second adjoint relative to a coordinate vector of the second generalized adjoint formula, and based on a second correspondence relationship between the second generalized adjoint formula and the first generalized adjoint formula, the solving unit calculates a result of the first generalized adjoint formula.

[0025] According to an embodiment of the present application, the solving unit comprises: an equation establishing unit, configured to determine an error location polynomial related to error information in the received vector according to the first generalized adjoint formula, and establish a key equation representing a relationship between the first generalized adjoint formula and the error location polynomial; an equation solving unit, configured to solve the key equation by using a preset algorithm according to the result of the first generalized adjoint formula, and obtain a result of the error location polynomial; and a second solving unit, configured to solve the error location and error value of the received vector based on the result of the error location polynomial.

[0026] According to an embodiment of the present application, the second solving unit comprises: an error location unit, configured to solve a root of the error location polynomial by using a money search, and obtain an error location; and an error value unit, configured to calculate an error value corresponding to the error location by using a Foon formula based on the error location.

[0027] A third aspect of the present application provides a chip, comprising: a processor and a memory; wherein the memory stores a program capable of running on the processor, and the processor is configured to implement the decoding method of any one of the first aspect when executing the program.

[0028] According to a fourth aspect of the present application, a non-transitory computer readable storage medium storing computer instructions is provided, wherein the computer instructions are used to make the computer execute the decoding method of any one of the first aspect.

[0029] Compared with the prior art, the present application has the following advantages:

[0030] 1) The complexity of calculating the generalized adjoint formula is reduced, and the efficiency of the decoding process is effectively improved;

[0031] 2) The present application is suitable for any GRS code and Alternnant code, and a unified decoding algorithm is realized, and is especially suitable for separable Goppa code and BCH code;

[0032] 3) The type of codeword does not need to be concerned, and the codeword can be quickly decoded based on the received vector, and the decoding speed is improved.

[0033] Additional aspects and advantages of the present application will be given in part in the following description, will become apparent in part from the following description, or will be learned by practice of the present application. BRIEF DESCRIPTION OF DRAWINGS

[0034] The above and / or additional aspects and advantages of the present application will become apparent and more readily appreciated from the following description, taken in conjunction with the following drawings of which:

[0035] Fig. 1 is a flowchart illustrating a decoding method according to an example embodiment;

[0036] Fig. 2 is a flowchart illustrating a process of obtaining a relationship between a received vector and a first Sylvester equation according to an example embodiment;

[0037] Fig. 3 is a flowchart illustrating a process of calculating a first Sylvester equation according to an example embodiment;

[0038] Fig. 4 is a flowchart illustrating a process of solving an error locator polynomial according to an example embodiment;

[0039] Fig. 5 is a flowchart illustrating a process of calculating an error location and an error value of a code word according to an example embodiment; and

[0040] Fig. 6 is a schematic block diagram of a decoding apparatus according to an example embodiment. DETAILED DESCRIPTION

[0041] Embodiments of the present application are described in detail below with reference to the attached drawings, which are meant to be exemplary and not limiting, and in which like or similar numerals indicate like or similar elements or components, which are intended to be the same or to serve the same function. The embodiments described below are examples of how the present application can be implemented and are not meant to be limiting.

[0042] In view of the importance of the application in the field of coding and decoding, the following description of the present application mainly relates to coding defined on the binary extension field GF(2 m ) but it is noted that the method of the present application can be applied to any finite field, which is not limited by the present application.

[0043] The decoding method provided by the embodiments of the present application is described and explained in detail below with reference to the accompanying drawings.

[0044] Specifically, Fig. 1 is a flowchart illustrating a decoding method according to an example embodiment, as shown in Fig. 1, the decoding method comprises:

[0045] In step S110, a first Sylvester equation is constructed according to a received vector, wherein the received vector is a result of a code word after being disturbed by an error, and the first Sylvester equation comprises the received vector, a first polynomial and parameters of a check matrix corresponding to the code.

[0046] In step S120, a relationship between the received vector and the first Sylvester equation is obtained.

[0047] Step S130: Based on the correlation, calculate the first generalized adjoint expression to obtain the calculation result of the first generalized adjoint expression.

[0048] Step S140: Based on the calculation result of the first generalized syntactic equation, solve for the error information in the received vector to obtain the error location and error value.

[0049] Step S150: Correct the received vector based on the error location and error value to obtain the decoding result for the received vector.

[0050] In this embodiment of the invention, by analyzing the correlation between the received vector and the first generalized syndrome, the first generalized syndrome can be calculated quickly and efficiently, which can reduce the complexity of decoding calculation and thus improve the decoding efficiency of codewords.

[0051] The following is a more detailed introduction and explanation of the above steps in conjunction with the accompanying drawings.

[0052] It should be noted that the decoding method of this invention mainly targets the unified algorithm of GRS codes. A brief introduction to GRS codes is provided below to facilitate understanding of the technical solution of this invention. GRS codes, or generalized RS codes, are based on algebraic coding theory, particularly polynomial computation over finite fields. GRS codes construct linear block codes with strong error-correcting capabilities by selecting specific elements in the finite field as the positions and evaluation values ​​of the codewords. Specifically, GRS codes map information vectors to codeword vectors using a generator matrix, the construction of which depends on the code length, information bit length, and the selection of specific elements in the finite field. During the encoding process, the information vector is multiplied by the generator matrix to obtain an error-correcting codeword vector, thereby enabling data transmission and storage.

[0053] The main parameters of a GRS code include n, k, L, and w, where n represents the length of the codeword, i.e., the number of symbols in the codeword; k represents the length of the information bits, i.e., the number of symbols in the original information vector; and L is a list containing n distinct elements, all of which are drawn from the finite field GF(2). m These elements are typically called the positions or evaluation points of the code. w is a list containing n non-zero elements, whose elements also come from the finite field GF(2). m These elements are called weights or multipliers.

[0054] Let n and k be expressions that satisfy 0 <k≤n≤2 m , It is GF(2) m The n distinct elements in the array, w = (w0, w1, ..., wn). n-1 ), whose elements are in GF(2 m All values ​​in the GRS code are non-zero. Composed of all vectors:

[0055] (w0f(α0), w1f(α1),..., w n-1 f(α n-1 ))

[0056] In the formula, f(x)∈GF(2 m [x] satisfies deg(f(x)) <k, The code is GF(2) m The (n, k, d) code on the ), where d = n - k + 1, is the minimum distance.

[0057] The parity check matrix of the code can be written as:

[0058] Where y = (y0, y1, ..., y n-1 )∈GF(2 m ), which is a vector whose components are all non-zero. It can be proven that:

[0059] Altemant codes are typically constructed using GRS codes, i.e., Alternant codes. Depend on All the codewords are composed of GF(2), and the components of these codewords are all located in GF(2). Therefore, yes Subdomains and subcodes. It is a (n, ≥nm(nk), ≥d) code over GF(2), where d = n - k + 1. The matrix H above is also... The verification matrix.

[0060] Therefore, both the GRS code and Altemant code used in this invention are determined by the parity check matrix H. The decoding algorithm of this invention does not decode based on the specific type of the distinguishing code, but only needs to focus on the parity check matrix H. In decoding applications, the syntagmatic expression is used to detect whether there are errors in the received vector. Therefore, this application determines whether there are errors in the received vector by constructing a generalized syntagmatic expression of the received vector.

[0061] In a preferred embodiment, for step S110 above, the corresponding first generalized adjoint expression is represented by the following formula:

[0062] Where, r i Let y be the received vector. i Let T(x) be a non-zero vector in the parity-check matrix corresponding to the code, T(x) be the first polynomial, and α be a non-zero vector in the parity-check matrix corresponding to the code. i For GF(2) m), n is the code length.

[0063] In a preferred embodiment, for the step S120, as shown in Figure 2, the acquiring the correlation between the received vector and the first generalized reciprocal includes:

[0064] Step S210, constructing a received vector based on linear space sequence according to the received vector, to determine the second generalized reciprocal and the second polynomial of the code, wherein the second generalized reciprocal and the second polynomial are respectively expressed as follows:

[0065] Step S220, analyzing the first correspondence between the second generalized reciprocal and the second polynomial, obtaining that the first correspondence is that the second generalized reciprocal is the quotient of the second polynomial divided by ;

[0066] Step S230, analyzing the first correspondence between the second generalized reciprocal and the second polynomial;

[0067] Step S240, analyzing the second correspondence between the first generalized reciprocal and the second generalized reciprocal;

[0068] Step S250, combining the first correspondence and the second correspondence, obtaining the correlation between the received vector and the first generalized reciprocal, wherein the correlation includes that the first generalized reciprocal corresponds to the high-order part of the Fourier transform of the received vector.

[0069] Specifically, the existing generalized reciprocal calculation is directly based on the relevant information of the received received vector, resulting in complex calculation, i.e. high calculation complexity. The present application provides a new calculation method, which calculates the generalized reciprocal by acquiring the correlation between the received vector and the generalized reciprocal, and the specific implementation process is as follows:

[0070] Suppose the elements in GF(2 m ) can be arranged as:

[0071]

[0072] Wherein, α0-α2,..., α n-1 L have the same order, and The remaining elements in and The permutation of the exponent provided by the present application, wherein when and only when ω j = α i , π(j) = i.

[0073] Furthermore, the present invention needs to construct a received vector based on the linear space order, and the received vector based on the linear space order is represented as follows:

[0074] For all j, if π(j) ≥ n, then r′j = 0, otherwise r′j = r π(j) y π(j) .

[0075] In this way, by combining the received vector based on the linear space order with the first generalized syndrome constructed above, the present invention can reconstruct the first generalized syndrome of the linear space:

[0076] For the second vector constructed above there exists a unique polynomial f(x) ∈ GF(2 m )[x] with degree less than 2 such that for all j, f(ω m ) = r′ j . j .

[0077] Furthermore, based on the Lagrange interpolation method, the second polynomial f(x) can be expressed as:

[0078] where Next, let μ be the smallest integer such that ε = 2 μ [[ID=3B]]≥ n - k. Therefore, the second generalized syndrome can be represented as follows:

[0079] Furthermore, after constructing the second generalized syndrome and the second polynomial, the present invention determines the correlation relationship between the received vector and the first generalized syndrome based on the second generalized syndrome and the second polynomial. The specific process is as follows:

[0080] Let 0 < μ < m, then s m (x) can be expressed in the following form:

[0081] where Furthermore, it can be obtained that:

[0082] Given the polynomial it can be obtained that:

[0083] Combining the above formulas, it can be concluded that:

[0084] If s μ (v μ)+s μ (ω j If ) = 0, then we can obtain:

[0085] On the other hand, if s μ (v μ )+s μ (ω j If ≠ 0, then it is obvious that:

[0086] Therefore, based on the formula above, we can conclude that... yes Divide by Finally, by summing over j, we can derive the correspondence between the corresponding polynomials of the second generalized adjoint and the second polynomial: S1(x) is f(x) divided by... The business.

[0087] Right now:

[0088] in,

[0089] Let μ = m, because And for 0≤j≤2 m -1 to s m (ω j ) = 0.

[0090] If μ = 0, then we can obtain

[0091] Therefore, regardless of the value of μ, the above correspondence is satisfied.

[0092] Next, this invention analyzes the correspondence between the second generalized syndrome and the first generalized syndrome, as follows:

[0093] If nk < ε, then we have:

[0094] Therefore, we can conclude that:

[0095] Given a polynomial Then we can have:

[0096] Combining the above formulas, we can obtain:

[0097] thereby Therefore, based on the above formula, we can derive... yes Divide by The second correspondence relationship between the second generalized adjoint and the first generalized adjoint is that the first generalized adjoint is a quotient of the second generalized adjoint and

[0098] wherein,

[0099] That is, the second correspondence relationship between the second generalized adjoint and the first generalized adjoint is that the first generalized adjoint is a quotient of the second generalized adjoint and .

[0100] Therefore, based on the above obtained correspondence relationship, it can be analyzed that the first generalized adjoint is determined by a high-order part of the second polynomial, which is an inverse Fourier transform of the vector r'.

[0101] In the embodiment of the present application, by constructing the second polynomial as an intermediate quantity for obtaining the correlation relationship, the correlation relationship between the received vector and the first generalized adjoint can be effectively analyzed, so that the subsequent calculation process can be based on this correlation relationship to reduce the calculation complexity.

[0102] It should be noted that the Fourier transform referred to herein is Lin-Chung-Han FFT (LCH-FFT). For the description of this Fourier transform, reference can be made to the relevant description in the prior art, and no further description will be given.

[0103] In the embodiment of the present application, by establishing the second generalized adjoint and the second polynomial, the correlation relationship between the received vector and the first generalized adjoint can be effectively analyzed, which is beneficial to subsequent reduction of the calculation complexity of the first adjoint.

[0104] In a preferred embodiment, for the above step S130, as shown in FIG. 3, the calculation of the first generalized adjoint based on the correlation relationship to obtain the calculation result of the first generalized adjoint comprises:

[0105] Step S310, constructing a sub-vector of the received vector based on the linear space order, determining a coordinate vector of the second generalized adjoint relative to .

[0106] Step S320, according to the coordinate vector of the second generalized adjoint relative to , and based on the second correspondence relationship between the second generalized adjoint and the first generalized adjoint, obtaining the calculation result of the first generalized adjoint.

[0107] Specifically, r' l,∈ represents a sub-vector of the received vector r' based on the linear space order:

[0108] r'l , ∈ =(r′) l·∈ , r′ l·∈+1 ,...,r′ l·∈+∈-1 )

[0109] For all j, f(ω) can be obtained. j )=r′ j Therefore, f(x) is relative to The coordinate vector can be obtained through Calculated. For any 0 ≤ μ ≤ m and ∈ = 2 μ In general, coordinate vectors can be calculated in the following way:

[0110] Furthermore, the polynomial f(x) can be characterized as:

[0111] Based on the above formula, we can have:

[0112] Therefore, the coordinate vector of S1(x) is relative to for:

[0113] Therefore, the first generalized adjoint S(x) can be calculated based on the coordinate vector of S1(x). This invention is mentioned in the above description as follows:

[0114] For l = nk, ..., ∈ -1, we can have η4(ω l )=S1(ω l Since deg(η4(x)) < ∈ -n+k, η4(x) can be determined.

[0115] In addition, the following are possible:

[0116] Furthermore, we can obtain S(ω) for j = 0, 1, ..., nk-1. j Finally, the generalized syndrome S(x) can be obtained through the inverse Fourier transform. Thus, the generalized syndrome can be calculated through the above process.

[0117] Furthermore, the calculation process shows that calculating the coordinate vector of S1(x) requires O(nlog(nk)) operations, and the operations occur at ω0, ω1, ..., ω... ∈-1 Estimating S1(x) requires O((nk)log(nk)) operations. Calculating S(ω) jThe complexity for j = 0, 1,..., n-k-1 is O(n) and the complexity for obtaining S(x) through IFFT is O((n-k)log(n-k)). Therefore, the complexity for calculating the generalized adjoint is O((n-k)log(n-k)).

[0118] Compared with the prior art of calculating based on the received correlation information of the received vector, the first generalized adjoint is calculated based on the correlation relationship obtained in the embodiment of the application, so that the calculation complexity is greatly reduced, and the decoding efficiency is improved.

[0119] In a preferred embodiment, for the step S140, based on the calculation result of the first generalized adjoint, the error information in the received vector is solved to obtain the error position and error value, including

[0120] In step S410, the error position polynomial related to the error information in the received vector is determined according to the first generalized adjoint, and a key equation representing the relationship between the first generalized adjoint and the error position polynomial is established.

[0121] In step S420, the key equation is solved by using a preset algorithm according to the calculation result of the first generalized adjoint, and the solving result of the error position polynomial is obtained.

[0122] In step S430, the error position and error value of the received vector are calculated based on the solving result of the error position polynomial.

[0123] Specifically, assuming that the original code is c = (c0, c1 , ..., c n-1 ), the received vector corresponding to the code after the code word is disturbed can be represented as:

[0124] r = (r0, r1,..., r n-1 ) = (c0, c1,..., c n-1 ) + (e0, e1,..., e n-1 ) = C + e,

[0125] wherein e = (e0, e1,..., e n-1 ) is the error information in the received vector, also referred to as the error pattern, if e i ≠ 0, the error occurs at the position i. Therefore, the error position set is defined as E = {i | e i ≠ 0, i = 0, 1,..., n-1}.

[0126] For any polynomial T(x) of order n-k, the application is for ​ The first generalized adjoint of Hc is defined as:

[0127] Since Hc T = 0, a code word c = (c0, c1,..., c n-1 ) satisfies the following condition:

[0128] Let The following can be obtained:

[0129] Further, the following can be obtained:

[0130] Therefore, the first generalized adjoint of the following form can be obtained:

[0131] Further, the error location polynomial related to the error information in the received vector can be obtained:

[0132] Further, according to the first generalized adjoint and the error location polynomial, a key equation is established.

[0133] More preferably, the key equation is expressed as follows:

[0134] S(x) λ(x) = q(x) T(x) + z(x)

[0135] wherein,

[0136] The key equation of the present application is an interpolation problem, which can be solved by a modular operation. The above key equation can also be solved by using, for example, the Euclidean algorithm. Specifically, the Euclidean algorithm or the Modular approach or by iteratively calculating polynomials to gradually approach the solution. In the above equation, S(x) is the first generalized adjoint, λ(x) is the error location polynomial, and T(x) is the first polynomial mentioned above. q(x) and z(x) are auxiliary polynomials, which are gradually determined in the process of solving the key equation until the error location polynomial λ(x) is found.

[0137] In the embodiment of the present application, by determining the error location polynomial and establishing the key equation, the error location polynomial can be effectively solved through the key equation, so as to obtain the information of the code word.

[0138] More preferably, as shown in FIG. 5, the error location and error value are calculated according to the solution result of the error location polynomial, including:

[0139] Step S510, the Chien Search is adopted to solve the root of the error location polynomial to obtain the error location;

[0140] Step S520, the Fomey formula is adopted to calculate the error value corresponding to the error location based on the error location.

[0141] Specifically, once the error location polynomial is determined, the present application can solve the error location by calculating the root of the error location polynomial based on the Chien Search, wherein the root of the error location polynomial indicates the corresponding error location. And this calculation process needs O(nlog(n-k)) times of operation.

[0142] Further, the present application can adopt the Fomey formula to calculate the error value corresponding to the error location. Specifically, if ω j is the root of the error location polynomial, the following formula can be adopted to calculate the error value e j corresponding to the position ω j :

[0143] Therefore, the calculation complexity of the process of calculating the error location and the error value is at most O((n-k)log(n-k)).

[0144] In summary, the calculation complexity of the present application is O(nlog(n-k)+(n-k)log 2 (n-k)).

[0145] Finally, when the error location is obtained, the error in the receiving vector can be located according to the error location, and then the located error is corrected by using the error value, and finally the corrected code word is obtained. Thus, the decoding result of the receiving vector is the code word after the error is corrected.

[0146] In addition, in the introduction of the above decoding process, the present application mentions that the decoding method of the present application is for GRS code and Altemant code, preferably, the decoding method of the present application is especially suitable for separable Goppa code and BCH code.

[0147] Specifically, taking the separable Goppa code as an example to illustrate that the decoding method of the present application is also applicable.

[0148] Given for any vector a=(a0, a1,..., a n-1 on GF(2), there can be:

[0149] separable Goppa code Consisting of all vectors a such that:

[0150] R a (x)≡0 mod G(x)

[0151] where the polynomial G(x) ∈ GF(2 m ) satisfies G(α i )≠0 for 0 ≤ i < n. G(x) is called a Goppa polynomial. If G(x) has no multiple roots, then the codeword is separable. If G(x) is irreducible, then the codeword is called irreducible. Clearly, an irreducible Goppa code is separable.

[0152] Let G(x) have no multiple roots, then the corresponding Goppa code is separable. Given a codeword a = (a0, a1,..., a n-1 ) of weight κ in, let represent non - zero elements, and define

[0153] Then the formal derivative of γ(x) can be characterized as:

[0154] It follows that:

[0155] Since for all i, G(α i )≠, G(x) and γ(x) are relatively prime. Thus, since R a (x)≡0 mod G(x), we can have G(x)|γ′(x). Note that the coefficients of these polynomials are in a field of characteristic 2. Therefore, only even - degree powers are in γ′(x), and γ′(x) is a perfect square. Since G(x) has no repeated roots, is the lowest - degree perfect square divisible by G(x). It follows that Since must be relatively prime to γ(x), it follows that: R a (x)≡0 mod G(x) if and only if This means that

[0156] Thus, we can obtain the parity - check matrix of as follows:

[0157] where, for all i, and ρ = deg(G(x)). Therefore, the decoding of the present invention is applicable to and any error of weight less than or equal to ρ can be corrected.

[0158] Correspondingly, based on the same inventive concept, the present application provides a decoding device, as shown in Fig. 6, the decoding device 600 comprises: a constructing unit 610, configured to construct a corresponding first adjoint equation according to a received vector, wherein the received vector is a result after a codeword is interfered by an error, the first adjoint equation comprises the received vector, a first polynomial and parameters of a check matrix corresponding to a code; an obtaining unit 620, configured to obtain a correlation between the received vector and the first adjoint equation; a calculating unit 630, configured to calculate the first adjoint equation based on the correlation, to obtain a calculation result of the first adjoint equation; a solving unit 640, configured to solve error information in the received vector based on the calculation result of the first adjoint equation, to obtain an error position and an error value; and a correcting unit 650, configured to correct the received vector based on the error position and the error value, to obtain a decoding result for the received vector.

[0159] In a preferred embodiment, the obtaining unit comprises: a first determining unit, configured to construct a received vector based on a linear space order according to the received vector, to determine a second adjoint equation and a second polynomial of the codeword, wherein the second adjoint equation and the second polynomial are respectively expressed by the following formulas:

[0160] wherein f(x) is the second polynomial, S1(x) is the second adjoint equation, and r'j is the received vector based on the linear space order;

[0161] a first analyzing unit, configured to analyze a first correspondence between the second adjoint equation and the second polynomial, to obtain that the first correspondence is that the second adjoint equation is a quotient of the second polynomial divided by a second analyzing unit, configured to analyze a second correspondence between the second adjoint equation and the first adjoint equation, to obtain that the second correspondence is that the first adjoint equation is a quotient of the second adjoint equation divided by ;

[0162] a second determining unit, configured to determine, based on the first correspondence and the second correspondence, that the correlation between the first adjoint equation and the received vector is that an inverse Fourier transform of the first adjoint equation corresponds to the received vector.

[0163] In a preferred embodiment, the calculating unit comprises:

[0164] a third determining unit, configured to construct a subvector of the received vector based on the linear space order, to determine a coordinate vector of the second adjoint equation relative to ;

[0165] a first solving unit configured to solve the first generalized adjoint equation according to a coordinate vector of the second generalized adjoint equation, and based on a second correspondence relationship between the second generalized adjoint equation and the first generalized adjoint equation, to obtain a calculation result of the first generalized adjoint equation.

[0166] In a preferred embodiment, the solving unit comprises:

[0167] an equation establishing unit configured to determine an error location polynomial related to error information in the received vector according to the first generalized adjoint equation, and to establish a key equation representing a relationship between the first generalized adjoint equation and the error location polynomial;

[0168] an equation solving unit configured to solve the key equation by using a preset algorithm according to the calculation result of the first generalized adjoint equation, to obtain a solving result of the error location polynomial;

[0169] a second solving unit configured to solve an error location and an error value based on the solving result of the error location polynomial.

[0170] In a preferred embodiment, the second solving unit comprises:

[0171] an error location unit configured to solve a root of the error location polynomial by using a money search, to obtain the error location;

[0172] an error value unit configured to obtain an error value corresponding to the error location by using a Fooni formula based on the error location.

[0173] The specific implementation details and more advantages of the decoding device according to the embodiments of the present application can refer to the embodiments of the decoding method described above, and will not be described here in more detail.

[0174] Correspondingly, the present application provides a chip, comprising: a processor and a memory; wherein the memory stores a program capable of running on the processor, and the processor is configured to implement the decoding method according to the embodiments described above when the program is executed.

[0175] Correspondingly, the present application provides a non-transitory computer readable storage medium storing computer instructions, wherein the computer instructions are used to make the computer execute the decoding method according to the embodiments described above.

[0176] ​The computer program product of the present application can be a computer program product comprising a computer-readable medium bearing computer program code embodied therein for use with a computer. The computer program code can be code defining and / or implementing the various algorithms and / or processes described herein. In addition, it should be noted that the computer program code can be implemented by a processor of a computer system, or by any other system on chip (SoC) or application-specific integrated circuit (ASIC) based processor. In particular, the embodiments of the present application can be implemented by computer hardware and computer software codes.

[0177] The units described in the embodiments of the present application can be implemented by software or by hardware. In some cases, the name of the unit does not constitute a limitation on the unit itself. For example, the first obtaining unit can also be described as a unit for obtaining at least two Internet protocol addresses.

[0178] The functions described above can be performed at least in part by one or more hardware logic components. For example, non-limiting examples of hardware logic components that can be used include field-programmable gate arrays (FPGAs), application-specific integrated circuits (ASICs), application-specific standard products (ASSPs), system-on-a-chip (SOCs), complex programmable logic devices (CPLDs), etc.

[0179] In the context of the present application, a machine-readable medium can be a tangible medium that contains or stores a program for use by or in connection with an instruction execution system, apparatus, or device. The machine-readable medium can be a machine-readable signal medium or a machine-readable storage medium. A machine-readable medium can include but is not limited to an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any suitable combination of the foregoing. More specific examples of the machine-readable storage medium will include one or more of: a portable computer diskette, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing.

[0180] The above description merely illustrates the preferred embodiment of the application and a principle of the applied technologies. It is understood by those skilled in the art that the disclosed range of the present application is not limited to the technical solutions formed by the specific combinations of the technical features described above, and should also cover other technical solutions formed by the combinations of the technical features described above or their equivalent features without departing from the disclosed concept. For example, the technical solutions formed by the mutual replacement of the above features and the technical features with similar functions disclosed in the present application (but not limited to) can be formed.

[0181] Furthermore, although operations have been depicted in a particular order, this should not be understood as requiring or implying that such operations are performed in the particular order shown or in sequential order, and that all operations be performed, depending upon the circumstances. In certain circumstances, multitasking and parallel processing can be advantageous. Likewise, the specific sequential order described above need not be adhered to, but various features between successive or unrelated operations can be performed in either order or meaningfully performed at the same time. Similarly, while operations have been depicted as being performed by a single device, this is not intended to be limiting, and the operations can be performed by a plurality of devices.

[0182] Although the subject matter has been described in language specific to structural features and / or methodological acts, it is to be understood that the subject defined in the appended claims is not necessarily limited to the specific features or acts described above. Rather, the specific features and acts described above are disclosed as example forms of implementing the claims.

Claims

1. A decoding method, comprising: The decoding method comprises: According to the received vector, a corresponding first adjoint is constructed, wherein the received vector is the result after the code word is disturbed by errors, the first adjoint comprises the received vector, a first polynomial and parameters of a check matrix corresponding to the code; An association relationship between the received vector and the first adjoint is obtained; Based on the association relationship, the first adjoint is calculated to obtain a calculation result of the first adjoint; Based on the calculation result of the first adjoint, error information in the received vector is solved to obtain an error position and an error value; Based on the error position and the error value, the received vector is corrected to obtain a decoding result for the received vector.

2. The decoding method of claim 1, wherein, The corresponding first generalized adjoint equation is expressed by the following formula: wherein r i is the received vector, y i is a non-zero vector in the parity check matrix corresponding to the code, T(x) is the first polynomial, a i is an element in GF(2 m ), and n is the code length.

3. The decoding method of claim 1, wherein, The association relationship between the received vector and the first adjoint comprises: According to the received vectors, corresponding received vectors based on linear space order are constructed to determine a second generalized adjoint of the received vectors and a second polynomial, wherein the second generalized adjoint and the second polynomial are respectively expressed as follows: wherein f(x) is the second polynomial, S1(x) is the second adjoint, r j is the receiving vector based on the linear space order. analyzing a first correspondence between the second generalized adjoint and the second polynomial, wherein the first correspondence is that the second generalized adjoint is the second polynomial divided by a quotient of analyzing a second correspondence between the second generalized adjoint and the first generalized adjoint, wherein the second correspondence is that the first generalized adjoint is the second generalized adjoint divided by a quotient of Based on the first corresponding relationship and the second corresponding relationship, an association relationship between the first adjoint and the received vector is determined, wherein the association relationship corresponds to inverse Fourier transforms of the first adjoint and the received vector.

4. The decoding method of claim 3, wherein, The calculation of the first adjoint based on the association relationship to obtain the calculation result of the first adjoint comprises: constructing sub-vectors of the receive vector based on the linear space order, determining the second generalized adjoint with respect to a coordinate vector of According to the second generalized adjoint formula with respect to a coordinate vector of and a calculation result of the first adjoint is obtained based on a second corresponding relationship between the second adjoint and the first adjoint.

5. The decoding method of claim 1, wherein, The solving of the error information in the received vector based on the calculation result of the first adjoint to obtain the error position and the error value comprises: According to the first adjoint, an error position polynomial related to the error information in the received vector is determined, and a key equation representing a relationship between the first adjoint and the error position polynomial is established; According to the calculation result of the first adjoint, a preset algorithm is used to solve the key equation to obtain a solving result of the error position polynomial; Based on the solving result of the error position polynomial, the error position and the error value of the received vector are calculated.

6. The decoding method of claim 5, wherein, The key equation is expressed by the following formula: S(x)λ(x)=q(x)T(x)+z(x); Wherein, S(x) is the first adjoint, λ(x) is the error position polynomial, and T(x) is the first polynomial.

7. The decoding method of claim 1, wherein, The calculation of the error position and the error value based on the solving result of the error position polynomial comprises: The roots of the error position polynomial are calculated by using a money search to obtain the error position; Based on the error position of the code word, the error value corresponding to the error position is obtained by using the Foni formula.

8. The method according to any one of claims 1 to 6, characterized in that, The code comprises a separable Goppa code and a BCH code.

9. A decoding device, comprising: The decoding device comprises: A construction unit is configured to construct a corresponding first adjoint according to a received vector, wherein the received vector is the result after the code word is disturbed by errors, and the first adjoint comprises the received vector, a first polynomial and parameters of a check matrix corresponding to the code; An obtaining unit is configured to obtain an association relationship between the received vector and the first adjoint; a calculation unit, configured to calculate the first generalized adjoint formula based on the association relationship, to obtain a calculation result of the first generalized adjoint formula; a solving unit, configured to solve error information in the receiving vector based on the calculation result of the first generalized adjoint formula, to obtain an error position and an error value; a correction unit, configured to correct the receiving vector based on the error position and the error value, to obtain a decoding result for the receiving vector.

10. The coding device of claim 9, wherein, the acquisition unit comprises: The first determining unit is configured to construct a receiving vector based on a linear space sequence according to the receiving vector, to determine a second generalized adjoint and a second polynomial of the receiving vector, wherein the second generalized adjoint and the second polynomial are respectively expressed by the following formulas: wherein f(x) is the second polynomial, S1(x) is the second adjoint, r' j is the receiving vector based on the linear space order. a first analysis unit configured to analyze a first correspondence between the second adjoint and the second polynomial, so that the first correspondence is that the second adjoint is the second polynomial divided by a quotient of a second analysis unit configured to analyze a second correspondence between the second generalized adjoint and the first generalized adjoint, and obtain that the second correspondence is that the first generalized adjoint is the second generalized adjoint divided by a quotient of a second determination unit, configured to determine, based on the first correspondence relationship and the second correspondence relationship, that the association relationship between the first generalized adjoint formula and the receiving vector is corresponding to an inverse Fourier transform of the first generalized adjoint formula and the receiving vector.

11. The coding device of claim 10, wherein, the calculation unit comprises: a third determining unit, configured to construct a sub-vector of the receiving vector based on the linear space sequence, and determine the second generalized adjoint formula relative to a coordinate vector of a first solving unit configured to solve the second generalized adjoint equation with respect to a coordinate vector of and a calculation result of the first generalized adjoint formula is obtained based on a second correspondence relationship between the second generalized adjoint formula and the first generalized adjoint formula.

12. The coding device of claim 9, wherein, the solving unit comprises: an equation establishing unit, configured to determine an error position polynomial related to error information in the receiving vector according to the first generalized adjoint formula, and to establish a key equation representing a relationship between the first generalized adjoint formula and the error position polynomial; an equation solving unit, configured to solve the key equation by using a preset algorithm according to the calculation result of the first generalized adjoint formula, to obtain a solving result of the error position polynomial; a second calculation unit, configured to obtain the error position and the error value of the receiving vector based on the solving result of the error position polynomial.

13. The decoding method of claim 9, wherein, the second calculation unit comprises: an error position unit, configured to obtain the error position by using a money search to calculate a root of the error position polynomial; an error value unit, configured to obtain the error value corresponding to the error position by using a Fooni formula based on the error position.

14. A chip, characterized by comprise: a processor and a memory; wherein the memory stores a program capable of running on the processor, and the processor is configured to implement the decoding method in any one of claims 1-8 when the program is executed.

15. A non-transitory computer-readable storage medium storing computer instructions, wherein the computer instructions are used to make the computer execute the decoding method in any one of claims 1-8.

Citation Information

Patent Citations

  • RS decoder low in hardware complexity

    CN104218957A

  • Decoding method and device

    CN104378121A

  • Decoding method based on BCH decoder, BCH decoder and circuit applying BCH decoder

    CN111030709A

  • Decoding method, decoding device, chip and storage medium

    CN120320782A

  • On-line self-checking hamming encoder, decoder and associated method

    US20180041229A1