A method, device and medium for Reed-Muller code subcode decoding

By using a step-by-step iterative decoding method, the decoding complexity of Reed-Muller subcodes is reduced, decoding efficiency and reliability are improved, the problem of high decoding complexity in existing technologies is solved, and an efficient and reliable decoding process is achieved.

CN122247439APending Publication Date: 2026-06-19INST OF MICROELECTRONICS CHINESE ACAD OF SCI LTD

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
INST OF MICROELECTRONICS CHINESE ACAD OF SCI LTD
Filing Date
2024-12-17
Publication Date
2026-06-19

AI Technical Summary

Technical Problem

Existing technologies suffer from high complexity and low efficiency in decoding Reed-Muller subcodes.

Method used

A step-by-step iterative decoding method is adopted. The generator matrix is ​​obtained from the generator matrix of the Reed-Muller RM code, and the received sequence is decoded step-by-step iteratively, including r+1 steps. The parity check equation is calculated by combining the index value of the bit to be decoded and the binary sequence to perform decoding until the RM code decoding information sequence is obtained.

Benefits of technology

It reduces decoding complexity, improves decoding efficiency, enhances decoding reliability and robustness, and can quickly terminate when decoding fails, thereby improving overall decoding performance.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN122247439A_ABST
    Figure CN122247439A_ABST
Patent Text Reader

Abstract

This application provides a method, apparatus, and medium for decoding Reed-Moeller code subcodes. The decoding method is a step-by-step iterative process, with each iteration decoding a set of bits. Specifically, it includes: obtaining the current binary sequence; calculating the parity check equation for each bit to be decoded; decoding each bit based on the result of the parity check equation; and updating the binary sequence based on the decoding result as input for the next iteration. For each iteration, if a bit to be decoded is not included in the information sequence and the decoding result is 1, the decoding fails, and the decoding process exits. After completing the above iterative process, the information sequence decoding result of the subcode is obtained, re-encoded to obtain the first codeword, and the Hamming distance between the first codeword and the initial binary sequence determines whether the decoding was successful. The method provided in this application can achieve Reed-Moeller code subcode decoding with ultra-low complexity and guaranteed error correction capability.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to the field of communications, and in particular to a Reid-Muller code subcode decoding method, apparatus, and medium. Background Technology

[0002] In digital communication and data storage systems, channel noise or interference can cause errors in data transmission. Error-correcting codes can be used to detect and correct these errors. Reed-Muller (RM) codes are a class of classic linear block codes, widely used in digital communication and storage systems due to their simple construction and good error-correcting performance.

[0003] Reed-Muller subcodes (RM subcodes) are codes defined by selecting a subset of rows from the generator matrix of an RM code to form a new generator matrix. RM subcodes inherit the algebraic structure properties of RM codes and are more flexible in their parameters, offering broader application prospects. In other words, RM subcodes can be used for data encoding and decoding.

[0004] How to reduce decoding complexity and improve decoding efficiency when performing RM subcode decoding is a problem that needs to be solved. Summary of the Invention

[0005] In view of this, the purpose of this application is to provide a Reed-Muller code subcode decoding method, apparatus and medium to reduce decoding complexity and achieve flexible and efficient decoding.

[0006] To achieve the above objectives, this application provides the following technical solution:

[0007] This application provides a Reed-Muller code subcode decoding method, including:

[0008] Obtain the received sequence, and obtain an initial binary sequence based on the received sequence. The received sequence is obtained by encoding and modulating the information sequence according to the generator matrix of the Reed-Müller code RM subcode, and then receiving it after transmission through the channel. The generator matrix of the subcode is obtained from the generator matrix of the Reed-Müller code according to a preset rule.

[0009] Decoding the received sequence is a step-by-step iterative process, consisting of r+1 steps; for 1≤l≤r,

[0010] Obtain the bit to be decoded in step l, calculate the parity equation of the bit to be decoded based on the index value of the bit to be decoded and the binary sequence of step l, and decode the bit to be decoded based on the parity equation of the bit to be decoded to obtain the decoding result of the bit to be decoded; the binary sequence of step l is obtained by updating the binary sequence of step l-1, the decoded bits of step l-1, and the generator matrix of the RM code. When l is 1, the binary sequence of step l-1 is the initial binary sequence;

[0011] Once all the bits to be decoded in step l have been decoded, increment the iteration step by 1, update step l to step l+1, and repeat the steps of obtaining the bits to be decoded in step l, calculating the parity equation of the bits to be decoded based on the index value of the bits to be decoded and the binary sequence of step l, and decoding the bits to be decoded based on the parity equation of the bits to be decoded to obtain the decoding result of the bits to be decoded, until all the decoding results of the first r steps are obtained;

[0012] Decode the bits to be decoded in step r+1 to obtain the decoding result;

[0013] The RM code decoding information sequence is obtained based on the decoding results from step 1 to step r+1, and the RM subcode decoding information sequence is obtained from the RM code decoding information sequence according to the preset rules.

[0014] Optionally, the step of calculating the check equation for the bit to be decoded based on the index value of the bit to be decoded and the binary sequence of step l includes:

[0015] The index set, the remaining index set, the complement index set, and the subscript set of the check equation are calculated based on the index values ​​of the bits to be decoded.

[0016] The check equation for the bit to be decoded is calculated based on the index set, the remaining index set, the complement index set, and the subscript set of the check equation, combined with the binary sequence of step l.

[0017] Optionally, the number of elements in the complement index set is equal to the number of check equations for the bit to be decoded;

[0018] The step of decoding the bit to be decoded according to the parity check equation of the bit to be decoded, and obtaining the decoding result of the bit to be decoded, includes:

[0019] Obtain the equation results of all the check equations of the bit to be decoded, and select the equation results that exceed half the number of check equations of the bit to be decoded as the decoding result of the bit to be decoded.

[0020] Optionally, after obtaining the decoding result of the bit to be decoded, the method further includes:

[0021] If the current bit to be decoded in step l is not a bit included in the information sequence and the decoding result is 1, then decoding fails and the decoding process exits.

[0022] Optionally, the decoding of the bits to be decoded in the (r+1)th step to obtain the decoding result includes:

[0023] The result of selecting more than half the total number of elements in the binary sequence of step r is taken as the decoding result of the bit to be decoded in step r+1.

[0024] Optionally, the method further includes:

[0025] The RM subcode decoding information sequence is re-encoded according to the generator matrix of the RM subcode to obtain the first codeword;

[0026] Calculate the Hamming distance between the first codeword and the initial binary sequence to obtain the first Hamming distance;

[0027] Determine whether the first Hamming distance is less than the error correction threshold of the RM subcode. If it is less, then confirm that the subcode decoding information sequence has been successfully decoded. The error correction threshold is used to reflect the error correction capability of the RM subcode.

[0028] Optionally, 1 ≤ r ≤ m, and the RM subcode and the RM code encoding length are N = 2. m If m≥1, the RM subcode and the RM code have the same minimum Hamming distance.

[0029] Optionally, the number of bits to be decoded in the received sequence is The number of bits to be decoded in step l is

[0030] This application provides a Reed-Muller code subcode decoding device, comprising:

[0031] An acquisition unit is used to acquire a received sequence and obtain an initial binary sequence based on the received sequence. The received sequence is obtained by encoding and modulating an information sequence according to the generator matrix of the Reed-Müller RM code and receiving it after transmission through a channel. The generator matrix of the subcode is obtained from the generator matrix of the Reed-Müller RM code according to a preset rule.

[0032] Decoding the received sequence is a step-by-step iterative process, including r+1 steps. For 1≤l≤r, the first decoding unit is used to obtain the bit to be decoded in step l, calculate the parity check equation of the bit to be decoded based on the index value of the bit to be decoded and the binary sequence of step l, and decode the bit to be decoded based on the parity check equation to obtain the decoding result of the bit to be decoded. The binary sequence of step l is updated based on the binary sequence of step l-1, the decoded bits of step l-1, and the generator matrix of the RM code. When l is 1, the binary sequence of step l-1 is the initial binary sequence.

[0033] The update unit is used to increment the iteration step by 1 when all the bits to be decoded in step l have been decoded, update step l to step l+1, and repeat the steps of obtaining the bits to be decoded in step l, calculating the parity equation of the bits to be decoded based on the index value of the bits to be decoded and the binary sequence of step l, and decoding the bits to be decoded based on the parity equation of the bits to be decoded to obtain the decoding result of the bits to be decoded, until all the decoding results of the first r steps are obtained;

[0034] The second decoding unit is used to decode the bit to be decoded in the (r+1)th step to obtain the decoding result;

[0035] The third decoding unit is used to obtain the RM code decoding information sequence based on the decoding results from step 1 to step r+1, and to obtain the RM subcode decoding information sequence from the RM code decoding information sequence according to the preset rules.

[0036] This application provides a computer-readable medium including instructions that, when executed on a computer, cause the computer to perform the methods described above.

[0037] This application provides a Reed-Muller code subcode decoding method, comprising: obtaining the generator matrix of the Reed-Muller RM code from the generator matrix of the Reed-Muller RM code according to a preset rule; encoding and modulating an information sequence according to the generator matrix of the RM code subcode; receiving the received sequence after transmission through a channel; and obtaining an initial binary sequence based on the received sequence. The decoding of the received sequence is a step-by-step iterative process, comprising r+1 steps. The decoding of the l-th step (1≤l≤r) involves first obtaining the bit to be decoded in the l-th step; updating the l-th step binary sequence according to the (l-1)-th step binary sequence, the decoded bits in the (l-1)-th step, and the generator matrix of the RM code; where l is 1, the (l-1)-th step binary sequence is the initial binary sequence; calculating the parity check equation of the bit to be decoded based on the index value of the bit to be decoded and the l-th step binary sequence; and decoding the bit to be decoded according to the parity check equation. The decoding result of the bit to be decoded is obtained, that is, the decoding result of one of the bits included in the decoding step l. When all the bits to be decoded in the l-th step have obtained decoding results, it means that the decoding of the l-th step is over. The iteration number is increased by 1, the l-th step is updated to the l+1-th step, and the process of obtaining the bits to be decoded in the l-th step is repeated. The parity equation of the bits to be decoded is calculated based on the index value of the bits to be decoded and the binary sequence of the l-th step. The bits to be decoded are decoded according to the parity equation of the bits to be decoded, and the decoding result of the bits to be decoded is obtained. This process is repeated until all the decoding results of the first r steps are obtained, that is, the next step of decoding is performed, until all the decoding of the first r steps is completed. Then the bits to be decoded in the r+1-th step are decoded to obtain the decoding result, that is, the final step of decoding is performed, and the final step of decoding is obtained. Finally, the RM code decoding information sequence is obtained based on the decoding results from the l-th step to the r+1-th step. The RM subcode decoding information sequence is obtained from the RM code decoding information sequence according to the preset rules. Therefore, the Reed-Muller code subcode decoding method provided in this application first decodes the received sequence to obtain the RM code decoding information sequence, and then obtains the RM subcode decoding information sequence based on the RM code decoding information sequence, thereby achieving efficient decoding of Reed-Muller code subcode and realizing decoding with ultra-low complexity and high reliability. Attached Figure Description

[0038] To more clearly illustrate the technical solutions in the embodiments of this application or the prior art, the drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, the drawings described below are some embodiments of this application. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.

[0039] Figure 1A flowchart illustrating a Reid-Muller code subcode decoding method provided in an embodiment of this application is shown;

[0040] Figure 2 This illustration shows a schematic diagram of a Reid-Muller code subcode decoding process provided in an embodiment of this application;

[0041] Figure 3 A schematic diagram of a Reid-Muller code subcode decoding device provided in an embodiment of this application is shown. Detailed Implementation

[0042] To make the above-mentioned objectives, features and advantages of this application more apparent and understandable, the specific embodiments of this application will be described in detail below with reference to the accompanying drawings.

[0043] Many specific details are set forth in the following description in order to provide a full understanding of this application. However, this application may also be implemented in other ways different from those described herein. Those skilled in the art can make similar extensions without departing from the spirit of this application. Therefore, this application is not limited to the specific embodiments disclosed below.

[0044] This application is described in detail with reference to the schematic diagrams. When detailing the embodiments of this application, for ease of explanation, the cross-sectional views illustrating the device structure may be partially enlarged, not according to the usual scale. Furthermore, the schematic diagrams are merely examples and should not limit the scope of protection of this application. In actual fabrication, the three-dimensional spatial dimensions of length, width, and depth should be included.

[0045] A Reed-Muller (RM) subcode is a code defined by selecting a subset of rows from the generator matrix of a Reed-Muller code to form a new generator matrix. RM subcodes inherit the algebraic structure properties of Reed-Muller codes and are more flexible in their parameters, offering broader application prospects. In other words, RM subcodes can be used for data encoding and decoding. For RM subcodes, the Reed-Muller code serves as the parent code.

[0046] The decoding process using RM subcode suffers from high decoding complexity and low decoding efficiency.

[0047] Based on this, this application provides a Reed-Muller code subcode decoding method, comprising: obtaining the generator matrix of the Reed-Muller RM code from the generator matrix of the Reed-Muller RM code according to a preset rule, encoding and modulating the information sequence according to the generator matrix of the RM code subcode, receiving the received sequence after transmission through the channel, i.e., obtaining the received sequence, and then obtaining the initial binary sequence based on the received sequence; the decoding of the received sequence is a step-by-step iterative process, the decoding of the received sequence includes r+1 steps, performing the l-th step of decoding, 1≤l≤r, first obtaining the bit to be decoded in the l-th step, updating the l-th step binary sequence according to the (l-1)-th step binary sequence, the (l-1)-th step decoded bits, and the generator matrix of the RM code, wherein when l is 1, the (l-1)-th step binary sequence is the initial binary sequence, calculating the check equation of the bit to be decoded based on the index value of the bit to be decoded and the l-th step binary sequence, and decoding the bit to be decoded according to the check equation of the bit to be decoded. The process involves obtaining the decoding result of the bit to be decoded, specifically the decoding result of one of the bits included in the l-th decoding step. When all the bits to be decoded in the l-th step have been decoded, the decoding of the l-th step is considered complete. One iteration step is added, and the l-th step is updated to the (l+1)-th step. This process is repeated to obtain the bit to be decoded in the l-th step, calculate the parity equation of the bit to be decoded based on its index value and the binary sequence of the l-th step, and decode the bit to be decoded according to the parity equation. This process continues until all the decoding results of the first r steps are obtained, at which point the next decoding step is performed. This process continues until all the first r steps are completed. Then, the bit to be decoded in the (r+1)-th step is decoded to obtain the final decoding result. Finally, the RM code decoding information sequence is obtained based on the decoding results from the l-th to the (r+1)-th steps. The RM subcode decoding information sequence is then obtained from the RM code decoding information sequence according to a preset rule. Therefore, the Reed-Muller code subcode decoding method provided in this application first decodes the received sequence to obtain the RM code decoding information sequence, and then obtains the RM subcode decoding information sequence based on the RM code decoding information sequence, thereby achieving efficient decoding of Reed-Muller code subcode and realizing decoding with ultra-low complexity and high reliability.

[0048] To better understand the technical solution and effects of this application, the specific embodiments will be described in detail below with reference to the accompanying drawings.

[0049] refer to Figure 1 The diagram shown is a flowchart of a Reed-Muller code decoding method provided in an embodiment of this application. The method includes the following steps:

[0050] S101, Obtain the received sequence. Obtain the initial binary sequence based on the received sequence. The received sequence is obtained by encoding and modulating the information sequence according to the generator matrix of the Reed-Müller code RM subcode and receiving it after transmission through the channel. The generator matrix of the RM subcode is obtained from the generator matrix of the Reed-Müller code according to a preset rule.

[0051] In the embodiments of this application, RM subcodes are used for encoding. Specifically, the information sequence is encoded according to the generator matrix G of the RM subcode to obtain codewords. The encoded codewords are modulated and transmitted through the channel to obtain the received sequence y. RM subcodes can also be called subcodes, and RM codes can also be called parent codes. The subcodes mentioned below are RM subcodes, and the parent codes are RM codes or Reed-Muller codes.

[0052] The initial binary sequence obtained from the received sequence can be divided into the following two cases, which will be described in detail below.

[0053] The first case is that the received sequence is a set of binary sequences, so the received sequence can be directly identified as the initial binary sequence.

[0054] The second scenario involves performing a hard decision on the received sequence to obtain a set of binary sequences after the hard decision, which are then identified as the initial binary sequence.

[0055] By decoding the received sequence, we can first obtain the RM code decoding information sequence, and then obtain the RM sub-code decoding information sequence. Considering that the RM code decoding information sequence is used to obtain the RM sub-code decoding information sequence, the RM sub-code and Reed-Muller code have the same encoding length, and the encoding length is N=2. m ,m≥1. RM subcodes and Reed-Muller codes have the same minimum Hamming distance d, which allows RM subcodes and Reed-Muller codes to have the same error correction capability.

[0056] The received sequence y is obtained by encoding and modulating the information sequence according to the generator matrix G of the RM subcode, transmitting it through the channel, and then receiving it. The generator matrix G of the subcode is obtained from the generator matrix G of the Reed-Muller code according to a preset rule. RM It is obtained from (r,m), where the preset rule refers to the generator matrix G of the Reed-Muller code. RM Row selection is performed within (r, m), selecting rows of the same length as the information sequence to obtain the generator matrix G of the subcode. Assuming the information bit length of the subcode is K, i.e., the dimension of the coding subspace is K, the generator matrix G of the RM subcode is G. (N,N) The submatrix, i.e., from G (N,N)Select K rows that meet the requirements. The selected rows are used to transmit the information sequence, and the unselected rows transmit bits 0. G (N,N) The product is of order m, and includes rows with a weight of 2. 0 ,2 1 ,2 2 ,L,2 m The line. G RM (r,m) is the generator matrix of the Reed-Muller code, i.e., the RM(r,m) code, which contains G. (N,N) All rows in the matrix have a weight of 2. m-i Rows where 0 ≤ i ≤ r. The generator matrix G of the Reed-Muller code. RM (r,m) contains the K rows of the generator matrix G of the RM subcode, i.e., G is G RM The submatrix of (r,m), the Reed-Muller code generator matrix G RM (r,m) contains all rows of the generator matrix G of the subcode. Reed-Muller code generator matrix G RM The minimum row weight of (r,m) and the generator matrix G of the subcode are consistent. The minimum Hamming distance d of the subcode can be determined by calculating the row weight of each row in the generator matrix G.

[0057] In practical applications, if the row selection of the generator matrix of the subcode is constructed through Bhattacharyya parameters or density evolution, the RM subcode can be regarded as a polar code.

[0058] Considering that the generator matrix G of the Reed-Muller code will be needed later... RM To construct the parity check equation for each bit to be decoded (r,m), in order to decode each bit, the generator matrix G of the Reed-Muller code needs to be modified. RM Row rearrangement is performed on (r,m), and the generator matrix of the rearranged Reed-Muller code is G. RM (r,m)=(v0,v1,L,v m ,v 12 ,L,v m-1,m ,L,v 1,2,L,r ,L,v m-r+1,L,m ), where v i = (1L1, 0L0, L, 0L0, 1L1), with a length of 2 i-1 The vector is formed by alternating 0s and 1s, and its length is N. The dot (·) indicates that corresponding elements of two vectors are multiplied together.

[0059] In the embodiments of this application, the received sequence y is obtained, and a hard decision is performed on the received sequence y to obtain the initial binary sequence y. HIf the received sequence y is a set of binary sequences, then the received sequence y is directly identified as the initial binary sequence y. H The initial binary sequence y H It is directly input into the hard decision decoder, thereby realizing the decoding of the received sequence y.

[0060] S102, the decoding of the received sequence is a step-by-step iterative process, including r+1 steps; for 1≤l≤r, the bit to be decoded in step l is obtained, the parity check equation of the bit to be decoded is calculated based on the index value of the bit to be decoded and the binary sequence of step l, and the bit to be decoded is decoded according to the parity check equation of the bit to be decoded to obtain the decoding result of the bit to be decoded; the binary sequence of step l is updated based on the binary sequence of step l-1, the decoded bits of step l-1, and the generator matrix of the RM code. When l is 1, the binary sequence of step l-1 is the initial binary sequence.

[0061] In the embodiments of this application, Reed-Muller codes can be used to decode the received sequence y. As one possible implementation, it is assumed that the information sequence of the Reed-Muller code is u = (u0, u1, ..., u...). m ,u 12 ,L,u m-1,m ,L,u 1,2,L,r ,L,u m-r+1,m-r+2,L,m If the received sequence y is obtained by encoding and modulating the information sequence u using the generator matrix of the RM subcode and transmitting it through the channel, then the received sequence y is . The number of bits to be decoded in the received sequence y is . 0 ≤ r ≤ m. The decoding of the received sequence y includes r+1 steps. During the l-th decoding step, 1 ≤ l ≤ r, and the number of bits to be decoded is... The bits to be decoded are 1≤l≤r,1≤i1 <i2L<i r-l+1 ≤m.

[0062] Since the decoding of the received sequence y includes r+1 steps, when performing the first r steps of decoding, the first step of decoding is performed first, followed by the second step of decoding, and so on, until the decoding of the first r steps is completed.

[0063] Specifically, when performing the decoding in step l, 1 ≤ l ≤ r, and any bit to be decoded in step l is obtained. Based on the binary sequence of step l-1, the decoded bits of step l-1, and the generator matrix G of the Reed-Muller code. RM (r,m) is updated to obtain the binary sequence of step l. When l is 1, the (l-1)th step binary sequence is the initial binary sequence, based on the bits to be decoded. The index value is combined with the binary sequence of step l. Calculate the bits to be decoded The verification equation is based on the bits to be decoded. The check equation for the bits to be decoded Decode to obtain the bits to be decoded. The decoding result is the decoding result of any one bit included in the l-th decoding step. Here, the bit to be decoded is... The index values ​​are i1, i2, Li r-l+1 .

[0064] Based on the bits to be decoded The index value is combined with the binary sequence of step l. Calculate the bits to be decoded When performing a check equation, one can determine the bits to be decoded based on the equation. The index values ​​are used to calculate the index set, the remaining index set, the complement index set, and the subscript set of the check equation. Then, the index set, the remaining index set, the complement index set, and the subscript set of the check equation are combined with the binary sequence from step l. Calculate the bits to be decoded The verification equation.

[0065] As one possible implementation, the bits to be decoded The index values ​​are i1, i2, Li r-l+1 Then, based on the bits to be decoded The index values ​​i1, i2, Li r-l+1 The calculated set of indices is

[0066] According to the bits to be decoded The index values ​​i1, i2, Li r-l+1 The calculated set of remaining indices is E = {0, 1, ..., m-1}\{i1-1, i2-1, ..., i r-l+1 -1}, where the set {i1-1,i2-1,L,i r-l+1 {i1-1,i2-1,i-1} is a subset of the set {0,1,L,m-1}, and set E is a subset of the set {0,1,L,m-1} that is in the set {0,1,L,m-1} but does not appear in the subset {i1-1,i2-1,L,i-1}. r-l+1 The elements in}, assuming E = {j1,j2,L,j} m-r+l-1}, where 0≤j1 <j2<L<j m-r+l-1 ≤m-1.

[0067] Based on the bits to be decoded The index values ​​i1, i2, Li r-l+1 The calculated complement index set is complement index set SC The intersection with the index set S is an empty set.

[0068] Based on the bits to be decoded The index values ​​i1, i2, Li r-l+1 The calculated set of indices for the verification equation is B, and the set of indices for the complement set is S. C For any element q, we have B = q + S = {q + s: s ∈ S}.

[0069] Based on index set S and complement index set S C The remaining index set E and the subscript set B of the check equation are combined with the binary sequence of step l. The verification equation is calculated as follows: Where l represents the number of decoding steps, n represents the index of the check equation, and the complement index set S C There are 2 in the middle m-r+l-1 1 element can form 2 m-r+l-1 A checksum is used to decode the bits to be decoded. t is the binary sequence of step l. The index value.

[0070] Considering that each bit to be decoded may have more than one parity equation calculated, and the number of parity equations for the bit to be decoded is equal to the number of elements in the complement index set, we can obtain the equation results of all parity equations for the bit to be decoded, and select the equation results that exceed half the number of parity equations for the bit to be decoded as the decoding result of the bit to be decoded.

[0071] As an example, assume the Reed-Muller code is RM(2,4), i.e., m=4, r=2, and the information sequence u is u=(u0,u1,u2,u3,u4,u...). 12 ,u 13 ,u 14 ,u 23 ,u 24 ,u 34 First, perform the first decoding step, i.e., l = 1. In the first decoding step, the first bit to be decoded is u. 12 The indices are i1 = 1, i2 = 2, meaning the index values ​​are i1 = 1, i2 = 2. The bit to be decoded, u, is calculated based on the index values ​​i1 = 1, i2 = 2. 12 The set of indices S, the set of remaining indices E, and the set of complement indices S C And the subscript set B of the verification equation is S={c0+c1×2 1 :c0,c1∈{0,1}}={0,1,2,3}; E={0,1,2,3}\{0,1}={2,3}; S C ={d2×2 2+d3×2 3 :d2,d3∈{0,1}}={0,4,8,12};When q=0, we have B1=0+S={0,1,2,3}, when q=4, we have B2=4+S={4,5,6,7}, when q=8, we have B3=8+S={8,9,10,11}, when q=12, we have B4=12+S={12,13,14,15}.

[0072] The binary sequence in step 1 is y. H = (1,1,0,1,1,0,0,0,1,0,0,0,1,0,0,1), then according to the binary sequence in step 1 and the bit to be decoded u 12 The set of indices S, the set of remaining indices E, and the set of complement indices S C The number of check equations calculated from the subscript set B of the check equations is 4, namely:

[0073] More than half of the four check equations result in 1, therefore the bit u to be decoded... 12 The decoding result is 1, that is...

[0074] In the embodiments of this application, after obtaining the decoding result of the bit to be decoded, if the current bit to be decoded in the l-th step is not a bit included in the information sequence and the decoding result is 1, then the decoding fails and the decoding process exits. That is, the bit to be decoded... If a bit not included in the information sequence is decoded as 1, the decoding fails, and the decoding process terminates immediately, with the decoding failure flag set to 1. If the current bit to be decoded is not included in the information sequence and the decoding result is 0, the decoding process continues. In other words, during the l-th step of decoding, if a bit not included in the information sequence is decoded as 1, when it should actually be decoded as 0, it indicates that the current bit decoding has failed. In this case, decoding can be terminated early to avoid further error propagation, thereby improving decoding efficiency and reliability.

[0075] As an example, suppose the Reed-Muller code is RM(2,4), i.e., m=4, r=2, and its generator matrix G RM (2,4), select G RM The eight rows (1,2,3,4,5,6,7,9) of (2,4) constitute the generator matrix G of the subcode. The information sequence u is (u0,u1,u2,u3,u4,u... 12 ,u 13 ,u 14 ,u 23 ,u24 ,u 34 ), where (u 14 ,u 24 ,u 34 These three bits are not part of the information sequence and should be decoded to 0. Assume the bit to be decoded in step l is u. 14 Then the subscripts are i1 = 1, i2 = 4, u 14 This refers to the bit in the first step of decoding, i.e., l = 1. The binary sequence obtained from the received sequence y in the first step is y. H = (1,1,0,1,1,0,0,0,1,0,0,0,1,0,0,1). By calculating the verification equation, we can obtain u. 14 It is decoded as 1, that is If a bit that is not part of the information sequence is decoded to 1, the decoding process can be terminated early, and the decoding failure is confirmed, i.e., the decoding failure flag is set to flag=1.

[0076] S103: When all the bits to be decoded in step l have been decoded, increase the iteration step by 1, update step l to step l+1, and repeat the steps of obtaining the bits to be decoded in step l, calculating the parity equation of the bits to be decoded based on the index value of the bits to be decoded and the binary sequence of step l, and decoding the bits to be decoded based on the parity equation of the bits to be decoded to obtain the decoding result of the bits to be decoded, until all the decoding results of the first r steps are obtained.

[0077] In the embodiments of this application, when all the bits to be decoded in step l have obtained decoding results, that is, when step l has... When all bits to be decoded are decoded, it means that the decoding of step l is complete. Increase the iteration step by 1, that is, update the iteration step, update step l to step l+1, and repeat S102 until all the decoding results of the previous r steps are obtained. That is, repeat S102 until the decoding of step l is completed and l = r.

[0078] Specifically, increase the iteration step by one, updating step l to step l+1, i.e., l = l+1. At this point, all bits to be decoded in step l have been decoded. Based on this, update the binary sequence corresponding to step l+1. The first step, the binary sequence, is the initial binary sequence, i.e. For G RM The row vector of (r,m), Let be the decoded bits of step l. Therefore, the binary sequence corresponding to each decoding step is updated based on the binary sequence of the previous decoding step, the decoded bits of the previous decoding step, and the generator matrix of the Reed-Muller code.

[0079] As an example, with m = 4 and r = 2, the number of bits to be decoded in the first decoding step is: The bits to be decoded are respectively Once all 6 bits to be decoded have been decoded, the first step of decoding is complete. Update l = l + 1 = 2, and update the binary sequence for the second step as follows:

[0080] In the embodiments of this application, when there are still remaining bits to be decoded in step l that have not yet been decoded, the decoding of the remaining bits to be decoded in step l continues until all bits to be decoded in step l have been decoded.

[0081] S104, decode the bits to be decoded in step r+1 to obtain the decoding result.

[0082] In the embodiments of this application, after completing all the decoding results of the first r steps, only the bits to be decoded in the (r+1)th step remain to be decoded. The decoding result is obtained by decoding the bits to be decoded in the (r+1)th step.

[0083] Specifically, the result of more than half the total number of elements in the binary sequence of step r can be selected as the decoding result of the bit to be decoded in step r+1.

[0084] As an example, if the decision result of more than half the total number of elements in the binary sequence at step r is 0, the decoding result of the bit to be decoded at step r+1 is 0; if the decision result of no more than half the total number of elements in the binary sequence at step r is 0, the decoding result of the bit to be decoded at step r+1 is 1.

[0085] As one possible implementation, the bit to be decoded in step r+1 is u0. Decoding is performed in step r+1. If the binary sequence of step r is... If more than half of the elements are 0, then otherwise

[0086] S105, obtain the RM code decoding information sequence based on the decoding results from step 1 to step r+1, and obtain the RM subcode decoding information sequence from the RM code decoding information sequence according to the preset rules.

[0087] In the embodiments of this application, the decoding results of steps 1 to r+1 are obtained through S101-S104. Based on these decoding results, the RM code decoding information sequence x is obtained, and the RM subcode decoding information sequence x1 is obtained from the RM code decoding information sequence x according to a preset rule. That is, after obtaining all the decoded bits from steps 1 to r+1, all the decoded bits are formed into an RM code decoding information sequence, which is then processed according to the Reed-Muller code generator matrix G. RM In (r,m), row selection is performed, and rows of the same length as the information sequence are selected to obtain the same preset rule as the subcode generator matrix G. The corresponding decoded bits are extracted from the RM code decoding information sequence x to form the RM subcode decoding information sequence x1.

[0088] As an example, the (16,8,4) RM subcode is a subcode of the (16,11,4) Reed-Muller code. During the subcode construction, row (1,2,3,4,5,6,7,9) was selected from the Reed-Muller code's generator matrix as a component of the subcode's generator matrix, instead of row (8,10,11). Similarly, the (1,2,3,4,5,6,7,9) bits are extracted from the RM code decoding information sequence x to form the RM subcode decoding information sequence x1.

[0089] As described above, the Reed-Muller code subcode decoding method provided in this application first obtains a binary sequence based on the received sequence, then decodes the binary sequence to obtain the RM code decoding information sequence, and finally obtains the RM subcode decoding information sequence based on the RM code decoding information sequence, thereby realizing RM subcode decoding. This effectively improves the efficiency and robustness of RM subcode decoding, achieving high-efficiency decoding with ultra-low complexity and high reliability. Furthermore, this application effectively implements early detection of decoding failures during the RM subcode decoding process, enabling the decoder to react quickly when decoding fails at positions not included in the information sequence, thereby improving decoding efficiency and the overall performance of the decoding system.

[0090] In the embodiments of this application, after decoding is completed, the decoded RM subcode information sequence can be verified to determine whether the decoding was successful. First, the RM subcode information sequence is re-encoded according to the generator matrix of the RM subcode to obtain the first codeword. The Hamming distance between the first codeword and the initial binary sequence is calculated to obtain the first Hamming distance. It is then determined whether the first Hamming distance is less than the error correction threshold of the RM subcode. If it is less, the RM subcode information sequence is confirmed to have been successfully decoded; if it is greater, the RM subcode information sequence is confirmed to have failed to be decoded. The error correction threshold reflects the error correction capability of the RM subcode.

[0091] As one possible implementation, the RM subcode decoding information sequence x1 is re-encoded to obtain the first codeword c1. Specifically, the RM subcode decoding information sequence x1 is multiplied by the subcode generator matrix G and modulo 2 is performed to calculate the re-encoded first codeword c1 = mod(x1 × G, 2). The re-encoded first codeword c1 is then multiplied by the initial binary input sequence y of the hard-decision decoder. H A Hamming distance comparison is performed, and the first Hamming distance is calculated as num. If num is greater than the error correction capability of the RM subcode, the decoding information sequence x1 of the obtained RM subcode is considered to have failed, that is, c1 is the codeword that failed to be decoded, and the decoding failure is confirmed, i.e., the decoding failure flag is set to flag=1; if num is less than the error correction capability of the RM subcode, the decoding information sequence x1 of the obtained RM subcode is considered to have succeeded, that is, c1 is the codeword that succeeded to be decoded, and the decoding success is confirmed, i.e., the decoding failure flag is not set to flag=0.

[0092] As an example, after the information sequence is encoded and modulated and transmitted through the channel, the received sequence obtained by the receiving end is (1.0364, -0.61053, -1.7432, -1.009, -0.86813, 0.63116, 0.74664, 0.9034, 1.296, -0.81805, -1.5581, 0.04384, -0.95068, 1.0114, 1.0052, -0.056161). After performing a hard decision on this received sequence, the initial binary sequence obtained is (1,0,0,0,0,1,1,1,1,0,0,1,0,1,1,0). The first codeword obtained after re-encoding the decoding result is (1,0,0,1,0,1,1,0,1,0,0,1,0,1,1,0). At this point, the Hamming distance between the initial binary sequence and the first codeword after re-encoding is greater than the error correction capability of the RM subcode, so it can be determined that the decoding has failed, and flag = 1.

[0093] Therefore, this application embodiment effectively determines whether the decoding of the RM subcode decoding information sequence is successful by utilizing the Hamming distance between the initial binary sequence and the first codeword after re-encoding the RM subcode decoding information sequence, thereby further enhancing the reliability and accuracy of the decoding process.

[0094] refer to Figure 2 As shown, the binary sequence y is obtained from the received sequence. H Calculate the index set S, the remaining index set E, and the complement index set S. CAnd the index set B of the check equation, using the above four sets to calculate the check equation for each bit to be decoded, and using the check equation for decoding. If the bit to be decoded is not a bit included in the information sequence but is decoded as 1, then the decoding is stopped. If the bit to be decoded is a bit included in the information sequence or the bit to be decoded is not a bit included in the information sequence but is decoded as 0, continue to determine whether the decoding in step l is complete. If the decoding in step l is not complete, then repeat the calculation of the index set S, the remaining index set E, and the complement index set S. C And the index set B of the parity check equation, using the above four sets to calculate the parity check equation for each bit to be decoded, and using the parity check equation to perform the decoding steps, if the l-th step of decoding is completed, then update the binary sequence y. H The update iteration step number is l = l + 1. The system continues to check if the first r decoding steps have been completed. If the first r decoding steps have not been completed (i.e., l ≠ r), the system continues to calculate the index set S, the remaining index set E, and the complement index set S. C And the subscript set B of the check equation, use the above four sets to calculate the check equation for each bit to be decoded, and use the check equation to perform the decoding steps. If the first r steps of decoding are completed, i.e., l = r, then continue to decode the bit u0 to be decoded in the (r+1)th step, and finally obtain the decoding results from the first step to the (r+1)th step, forming the RM code decoding information sequence, and extract the RM subcode decoding information sequence.

[0095] Based on the Reed-Muller code subcode decoding method provided in the above embodiments, this application also provides a Reed-Muller code subcode decoding apparatus, see reference. Figure 3 The diagram shown is a structural schematic of a Reed-Muller code subcode decoding device provided in an embodiment of this application. The Reed-Muller code subcode decoding device 300 provided in this embodiment includes:

[0096] The acquisition unit 310 is used to acquire a received sequence and obtain an initial binary sequence based on the received sequence. The received sequence is obtained by encoding and modulating the information sequence according to the generator matrix of the Reed-Muller subcode and receiving it after transmission through the channel. The generator matrix of the RM subcode is obtained from the generator matrix of the Reed-Muller RM code according to a preset rule.

[0097] Decoding the received sequence is a step-by-step iterative process, including r+1 steps. For 1≤l≤r, the first decoding unit 320 is used to obtain the bit to be decoded in the l-th iteration process, calculate the check equation of the bit to be decoded based on the index value of the bit to be decoded and the binary sequence of the l-th step, and decode the bit to be decoded based on the check equation of the bit to be decoded to obtain the decoding result of the bit to be decoded. The binary sequence of the l-th step is updated based on the binary sequence of the (l-1)-th step, the decoded bits of the (l-1)-th step, and the generator matrix of the RM code. When l is 1, the binary sequence of the (l-1)-th step is the initial binary sequence.

[0098] The update unit 330 is used to, when all the bits to be decoded in step l have obtained decoding results, increase the number of iterations by 1, update step l to step l+1, and repeat the steps of obtaining the bits to be decoded in step l, calculating the parity equation of the bits to be decoded based on the index value of the bits to be decoded and the binary sequence of step l, and decoding the bits to be decoded based on the parity equation of the bits to be decoded to obtain the decoding result of the bits to be decoded, until all the decoding results of the first r steps are obtained;

[0099] The second decoding unit 340 is used to decode the bit to be decoded in the (r+1)th step to obtain the decoding result;

[0100] The third decoding unit 350 is used to obtain the RM code decoding information sequence based on the decoding results from step 1 to step r+1, and to obtain the RM subcode decoding information sequence from the RM code decoding information sequence according to the preset rules.

[0101] Optionally, the first decoding unit 320 is used for:

[0102] The index set, the remaining index set, the complement index set, and the subscript set of the check equation are calculated based on the index values ​​of the bits to be decoded.

[0103] The check equation for the bit to be decoded is calculated based on the index set, the remaining index set, the complement index set, and the subscript set of the check equation, combined with the binary sequence of step l.

[0104] Optionally, the number of elements in the complement index set is equal to the number of check equations for the bit to be decoded;

[0105] The first decoding unit 320 is used for

[0106] Obtain the equation results of all the check equations of the bit to be decoded, and select the equation results that exceed half the number of check equations of the bit to be decoded as the decoding result of the bit to be decoded.

[0107] Optionally, after obtaining the decoding result of the bit to be decoded, the apparatus further includes an exit unit, which is used to:

[0108] If the current bit to be decoded in step l is not an information bit included in the information sequence and the decoding result is 1, then decoding fails and the decoding process exits.

[0109] Optionally, the second decoding unit 340 is used for:

[0110] The result of selecting more than half the total number of elements in the binary sequence of step r is taken as the decoding result of the bit to be decoded in step r+1.

[0111] Optionally, the device further includes a verification unit, which is used for:

[0112] The RM subcode decoding information sequence is re-encoded according to the generator matrix of the RM subcode to obtain the first codeword;

[0113] Calculate the Hamming distance between the first codeword and the initial binary sequence to obtain the first Hamming distance;

[0114] Determine whether the first Hamming distance is less than the error correction threshold of the RM subcode. If it is less, then confirm that the RM subcode decoding information sequence has been successfully decoded. The error correction threshold is used to reflect the error correction capability of the RM subcode.

[0115] Optionally, 1 ≤ r ≤ m, and the RM subcode and the RM code encoding length are N = 2. m If m≥1, the RM subcode and the RM code have the same minimum Hamming distance.

[0116] Optionally, the number of bits to be decoded in the received sequence is The number of bits to be decoded in step l is

[0117] This application also provides a computer-readable medium for storing program code that is used to perform any of the methods in the foregoing embodiments.

[0118] It should be noted that the computer-readable medium described above in this application can be a computer-readable signal medium, a computer-readable storage medium, or any combination thereof. A computer-readable storage medium can be, for example,—but not limited to—an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any combination thereof. More specific examples of a computer-readable storage medium may include, but are not limited to: an electrical connection having one or more wires, a portable computer disk, a hard disk, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), optical fiber, portable compact disk read-only memory (CD-ROM), optical storage device, magnetic storage device, or any suitable combination thereof. In this application, a computer-readable storage medium can be any tangible medium containing or storing a program that can be used by or in conjunction with an instruction execution system, apparatus, or device. In this application, a computer-readable signal medium can include a data signal propagated in baseband or as part of a carrier wave, carrying computer-readable program code. Such propagated data signals can take various forms, including but not limited to electromagnetic signals, optical signals, or any suitable combination thereof. A computer-readable signal medium can be any computer-readable medium other than a computer-readable storage medium, which can send, propagate, or transmit a program for use by or in connection with an instruction execution system, apparatus, or device. The program code contained on the computer-readable medium can be transmitted using any suitable medium, including but not limited to: wires, optical fibers, RF (radio frequency), etc., or any suitable combination thereof.

[0119] The aforementioned computer-readable medium may be included in the aforementioned electronic device; or it may exist independently and not assembled into the electronic device.

[0120] The various embodiments in this specification are described in a progressive manner. Similar or identical parts between embodiments can be referred to mutually. Each embodiment focuses on describing the differences from other embodiments. In particular, the apparatus embodiments are basically similar to the method embodiments, so the description is relatively simple; relevant parts can be referred to the descriptions of the method embodiments.

[0121] The above description is merely a preferred embodiment of this application. Although this application has disclosed preferred embodiments above, it is not intended to limit this application. Any person skilled in the art can make many possible variations and modifications to the technical solutions of this application using the methods and techniques disclosed above, or modify them into equivalent embodiments with equivalent changes, without departing from the scope of the technical solutions of this application. Therefore, any simple modifications, equivalent changes, and modifications made to the above embodiments based on the technical essence of this application without departing from the content of the technical solutions of this application shall still fall within the protection scope of the technical solutions of this application.

Claims

1. A Reed-Muller code subcode decoding method, characterized in that, include: Obtain the received sequence, and obtain an initial binary sequence based on the received sequence. The received sequence is obtained by encoding and modulating the information sequence according to the generator matrix of the Reed-Müller code RM subcode, and then receiving it after transmission through the channel. The generator matrix of the RM subcode is obtained from the generator matrix of the Reed-Müller code according to a preset rule. The decoding of the received sequence is a step-by-step iterative process, including r+1 steps; for 1≤l≤r, the bit to be decoded in the l-th step is obtained, the parity equation of the bit to be decoded is calculated based on the index value of the bit to be decoded and the binary sequence of the l-th step, and the bit to be decoded is decoded based on the parity equation of the bit to be decoded to obtain the decoding result of the bit to be decoded. The binary sequence of step l is updated based on the binary sequence of step l-1, the decoded bits of step l-1, and the generator matrix of the RM code. When l is 1, the binary sequence of step l-1 is the initial binary sequence. Once all the bits to be decoded in step l have been decoded, increment the iteration step by 1, update step l to step l+1, and repeat the steps of obtaining the bits to be decoded in step l, calculating the parity equation of the bits to be decoded based on the index value of the bits to be decoded and the binary sequence of step l, and decoding the bits to be decoded based on the parity equation of the bits to be decoded to obtain the decoding result of the bits to be decoded, until all the decoding results of the first r steps are obtained; Decode the bits to be decoded in step r+1 to obtain the decoding result; The RM code decoding information sequence is obtained based on the decoding results from step 1 to step r+1, and the RM subcode decoding information sequence is obtained from the RM code decoding information sequence according to the preset rules.

2. The method according to claim 1, characterized in that, The step of calculating the check equation for the bit to be decoded based on the index value of the bit to be decoded and the binary sequence of step l includes: The index set, the remaining index set, the complement index set, and the subscript set of the check equation are calculated based on the index values ​​of the bits to be decoded. The check equation for the bit to be decoded is calculated based on the index set, the remaining index set, the complement index set, and the subscript set of the check equation, combined with the binary sequence of step l.

3. The method according to claim 2, characterized in that, The number of elements in the complement index set is equal to the number of check equations for the bit to be decoded; The step of decoding the bit to be decoded according to the parity check equation of the bit to be decoded, and obtaining the decoding result of the bit to be decoded, includes: Obtain the equation results of all the check equations of the bit to be decoded, and select the equation results that exceed half the number of check equations of the bit to be decoded as the decoding result of the bit to be decoded.

4. The method according to claim 1, characterized in that, After obtaining the decoding result of the bit to be decoded, the method further includes: If the current bit to be decoded in step l is not a bit included in the information sequence and the decoding result is 1, then decoding fails and the decoding process exits.

5. The method according to claim 1, characterized in that, The decoding of the bits to be decoded in step r+1 to obtain the decoding result includes: The result of selecting more than half the total number of elements in the binary sequence of step r is taken as the decoding result of the bit to be decoded in step r+1.

6. The method according to claim 1, characterized in that, The method further includes: The RM subcode decoding information sequence is re-encoded according to the generator matrix of the RM subcode to obtain the first codeword; Calculate the Hamming distance between the first codeword and the initial binary sequence to obtain the first Hamming distance; Determine whether the first Hamming distance is less than the error correction threshold of the RM subcode. If it is less, then confirm that the RM subcode decoding information sequence has been successfully decoded. The error correction threshold is used to reflect the error correction capability of the RM subcode.

7. The method according to claim 1, characterized in that, 1≤r≤m, the RM subcode and the RM code encoding length are N=2 m If m≥1, the RM subcode and the RM code have the same minimum Hamming distance.

8. The method according to claim 7, characterized in that, The number of bits to be decoded in the received sequence is The number of bits to be decoded in the l-th iteration process is 9. A Reid-Muller code subcode decoding device, characterized in that, include: An acquisition unit is used to acquire a received sequence and obtain an initial binary sequence based on the received sequence. The received sequence is obtained by encoding and modulating an information sequence according to the generator matrix of the Reed-Muller subcode and receiving it after transmission through a channel. The generator matrix of the RM subcode is obtained from the generator matrix of the Reed-Muller RM code according to a preset rule. Decoding the received sequence is a step-by-step iterative process, including r+1 steps. For 1≤l≤r, the first decoding unit is used to obtain the bit to be decoded in the l-th iteration process, calculate the parity equation of the bit to be decoded based on the index value of the bit to be decoded and the binary sequence of the l-th step, and decode the bit to be decoded based on the parity equation of the bit to be decoded to obtain the decoding result of the bit to be decoded. The binary sequence of step l is obtained by updating the binary sequence of step l-1, the decoded bits of step l-1, and the generator matrix of the RM code. When l is 1, the binary sequence of step l-1 is the initial binary sequence. The update unit is used to increment the iteration step by 1 when all the bits to be decoded in step l have been decoded, update step l to step l+1, and repeat the steps of obtaining the bits to be decoded in step l, calculating the parity equation of the bits to be decoded based on the index value of the bits to be decoded and the binary sequence of step l, and decoding the bits to be decoded based on the parity equation of the bits to be decoded to obtain the decoding result of the bits to be decoded, until all the decoding results of the first r steps are obtained; The second decoding unit is used to decode the bit to be decoded in the (r+1)th step to obtain the decoding result; The third decoding unit is used to obtain the RM code decoding information sequence based on the decoding results from step 1 to step r+1, and to obtain the RM subcode decoding information sequence from the RM code decoding information sequence according to the preset rules.

10. A computer-readable medium, characterized in that, Includes instructions that, when executed on a computer, cause the computer to perform the method as described in any one of claims 1-8.