A multivariate LDPC code decoding method based on distributed fast Hadamard transform (DFT).

CN117411492BActive Publication Date: 2026-08-14CHONGQING UNIV
View PDF 0 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2023-10-16
Publication Date
2026-08-14

AI Technical Summary

Technical Problem

然而,上述两种方案需要将待变换矩阵和FHT系数矩阵均进行编码,破坏了FHT系数矩阵所内涵的蝶形运算结构,使得从节点上FHT由蝶形运算退化为矩阵乘法,其计算复杂度大幅增加

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN117411492B_ABST
    Figure CN117411492B_ABST
Patent Text Reader

Abstract

This invention relates to the field of wireless communication technology, specifically to a channel decoding method. It relates to a multi-element LDPC code decoding method based on coded distributed fast Hadamard transform. This scheme improves upon the classic FHT-QSPA decoding algorithm for multi-element LDPC codes by offloading the computationally most complex fast Hadamard transform and inverse fast Hadamard transform to multiple slave nodes for parallel execution. Furthermore, it overcomes the adverse effects of node dropout by embedding redundant encoded information. Without sacrificing anti-dropout capability, it reduces the computational complexity of slave nodes, thereby stably accelerating the overall decoding process.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to the field of wireless communication technology, specifically to a channel decoding method, and more specifically to a multi-element LDPC code decoding method based on coded distributed fast Hadamard transform. Background Technology

[0002] Multi-ary LDPC codes (NB-LDPC, Non-binary LDPC) are derived from binary LDPC codes extended over a finite field (GF, Galois Field). Compared to binary codes, multi-ary LDPC codes better eliminate short cycles in the Tanner diagram, improving error correction performance. Multi-ary LDPC codes use multiple bits to represent a multi-ary symbol, achieving better burst error resistance than binary LDPC codes. Furthermore, multi-ary symbols are better matched with higher-order modulation, improving spectral efficiency.

[0003] However, the high decoding complexity of multi-ary LDPC codes significantly hinders their practical application. Decoding algorithms for multi-ary LDPC codes are represented by the Q-ary Sum-Product Algorithm (QSPA). To address the computational complexity issue of QSPA, researchers have simplified its iterative steps, such as replacing the sum-product operation and reducing the amount of information transmitted, thus sacrificing error correction performance to reduce decoding complexity. Furthermore, existing hardware acceleration algorithms for multi-ary LDPC codes are mostly based on simplified decoding algorithms and achieve higher decoding throughput with the support of FPGA chips and GPU devices.

[0004] Therefore, to apply low-error-rate, high-complexity multivariate LDPC code QSPA-type decoding to devices with limited single-point computing resources and difficulty in equipping them with expensive dedicated chips, a distributed computing approach can be adopted. This involves utilizing the computing power of multiple nodes to collaboratively complete the computationally intensive decoding task, thus achieving a better trade-off between error correction decoding performance and algorithm complexity. However, in multi-node distributed systems, some nodes may experience communication congestion, resource contention, or even node failure, affecting the overall task. These nodes are called stragglers. To overcome the impact of stragglers, traditional replication strategies use multiple nodes to handle the same task; as long as any node completes its current task, subsequent computations can continue. However, the significantly increased resource consumption in replication strategies results in poor resource utilization.

[0005] In recent years, Coded Distributed Computing (CDC) has become a research hotspot in the field of distributed computing. Drawing on coding theory, it cleverly embeds redundant information into computational tasks, overcoming node failures, protecting data privacy, and optimizing communication load. Taking a master-slave architecture as an example, the master node can directly recover the computation results of a failed node from the computation results of some slave nodes, completing the overall computation and overcoming the drag from failed nodes. Specifically, CDC focuses on distributed acceleration of matrix multiplication (matrix-matrix multiplication and matrix-vector multiplication), numerical stability of the decoding recovery process, utilizing partial computation results from failed / slow nodes, and preserving computational sparsity. Furthermore, CDC is also embedded in edge computing architectures and multi-drone swarms, providing new modeling methods for overall performance optimization.

[0006] Based on existing distributed coding methods, this paper proposes to implement QSPA-type decoding of distributed multivariate LDPC codes that are resistant to falling behind. The core of this approach is to implement the Fast Hadamard Transform (FHT), which requires matrix multiplication of the probability matrix and coefficient matrix to be transformed. Multiplication using polynomial codes and orthogonal polynomial codes is then used to perform the distributed FHT computation. However, both of these methods require encoding both the matrix to be transformed and the FHT coefficient matrix, disrupting the butterfly operation structure inherent in the FHT coefficient matrix. This causes the FHT at the node to degenerate from a butterfly operation to a matrix multiplication, significantly increasing its computational complexity. Summary of the Invention

[0007] Based on this, this invention proposes a distributed FHT multivariate LDPC code decoding algorithm based on systematic MDS codes. This scheme improves upon the classic FHT-QSPA decoding algorithm for multivariate LDPC codes by offloading its most computationally complex Fast Hadamard Transform and Inverse Fast Hadamard Transform to multiple slave nodes for parallel execution. Furthermore, it overcomes the adverse effects of node dropouts by embedding redundant information into the code. Without sacrificing anti-dropout capabilities, it reduces the computational complexity of the slave nodes, thereby stably accelerating the overall decoding process.

[0008] The multivariate LDPC code decoding method proposed in this invention, based on the distributed fast Hadamard transform, is designed for a master-slave distributed computing architecture, comprising one master node and multiple slave nodes. It employs the FHT-QSPA decoding algorithm, and the calculation of the fast Hadamard transform or inverse fast Hadamard transform includes the following steps:

[0009] Step 1: The master node obtains the channel probability matrix B used for decoding calculation;

[0010] Step 2: The master node obtains the distributed decoding settings, including the number of slave nodes n participating in the computation, the number of uncoded nodes k, and the number of coded nodes nk;

[0011] Step 3: Based on the distributed node parameters, if the master node performs FHT transformation, it divides the channel probability matrix B into k sub-matrices by columns, resulting in B = {B1, B2, ..., B}. k}, submatrix B i This is called the uncoded submatrix;

[0012] Perform nk random linear combinations on k uncoded submatrices to obtain nk coded submatrices.

[0013] Step 4: The master node sends the k uncoded submatrices and the nk encoded submatrices to the n slave nodes respectively;

[0014] Step 5: Each slave node performs FHT transformation on the received submatrix column by column according to the butterfly calculation structure of FHT transformation, and sends the FHT transformation results of each submatrix to the master node;

[0015] Step 6: The master node determines the node dropout status based on the slave node index of the feedback calculation result. If no node has dropped out of the uncoded submatrix, the FHT transform results of all uncoded submatrixes are restored to the FHT transform results of the final channel probability matrix B. If the current requirement is the IFHT calculation result of the channel probability matrix B, then IFHT(B) = 1 / 2 r ×FHT(B), where 2 r Let be the finite field order of the current codeword;

[0016] If a node assigned to an uncoded submatrix falls behind, the FHT transformation results of the unreceived uncoded submatrix are recovered by solving a homogeneous linear equation system based on the received FHT transformation results of the other uncoded submatrixes and the coded submatrixes. Then, the recovered results and the received results are used to recover the FHT or IFHT transformation results of the final channel probability matrix B.

[0017] Furthermore, step 3 also includes establishing a coefficient submatrix P. B To determine the random coefficients of the nk-group coded submatrix, i.e.:

[0018]

[0019] The elements are based on a standard Gaussian distribution. Random sampling;

[0020] By performing the following random linear combination on the k uncoded submatrices, we obtain nk coded submatrices:

[0021]

[0022] Furthermore, in step 6, the following system of linear equations is solved to recover the FHT transformation results of the unreceived uncoded submatrices:

[0023]

[0024] Among them, S u S c These represent the uncoded node index and node index received by the master node, respectively, while S s 'b' represents the index of the lagging node that needs to be recovered, and 'b' represents the random coding coefficient in the coding matrix.

[0025] The benefits of this invention lie in its ability to model the channel probability vector as a matrix, laying the foundation for subsequent distributed parallel implementation and facilitating the introduction of redundant information through coding computation. Based on this, this invention designs a coding-distributed FHT acceleration scheme based on systemic MDS codes for a master-slave distributed architecture, improving the efficiency of the FHT-QSPA decoding algorithm without affecting decoding performance. This method partitions the channel probability matrix at the master node and embeds redundant information through coding. Subsequently, all submatrices are offloaded to slave nodes for parallel execution of Fast Hadamard Transform and Inverse Fast Hadamard Transform. The slave nodes then transmit the calculation results back to the master node to complete the final decoding. The embedding of coding redundancy overcomes the node lagging problem, stably improves transformation efficiency, and thus accelerates the entire decoding process. Compared with previous coding matrix multiplication, this invention has lower coding complexity, higher decoding recovery numerical accuracy, and maintains an efficient butterfly computation structure at the slave nodes, reducing the computational complexity of the slave nodes. Comparison of decoding time and decoding performance analysis of multivariate LDPC with different finite fields and different code lengths shows that the proposed method significantly improves the decoding efficiency of FHT-QSPA without any loss in decoding performance. Attached Figure Description

[0026] Figure 1 This is a schematic diagram of the architecture of the multivariate LDPC code decoding method based on the coded distributed fast Hadamard transform in an embodiment of the present invention.

[0027] Figure 2 This is a schematic diagram of the FHT transform butterfly computation structure.

[0028] Figure 3 This is a comparison chart of the decoding time of the decoding method in this embodiment of the invention for FHT and IFHT of a 200-code-length 64-ary LDPC.

[0029] Figure 4This is a comparison chart of the FHT and IFHT time consumption of the decoding method in this embodiment of the invention for 64-ary LDPC codes of different code lengths.

[0030] Figure 5 This is a comparison chart of the FHT and IFHT time consumption of the decoding method in this embodiment of the invention for different finite field LDPC codes with a code length of 200.

[0031] Figure 6 This is a performance comparison chart between the decoding method in this embodiment and the traditional FHT-QSPA decoding scheme. Detailed Implementation

[0032] The present invention will now be described in detail with reference to the accompanying drawings, so that the advantages and features of the present invention can be more easily understood by those skilled in the art, thereby providing a clearer and more definite definition of the scope of protection of the present invention. Specific implementation steps are as follows:

[0033] A multi-ary LDPC code defined over the finite field GF(q) can be called a q-ary LDPC code, where q = p r Let p be a prime number and r > 1. Let α denote the primitive element of the finite field GF(q). Then all elements in the finite field GF(q) can be represented by powers of the primitive element, i.e., α i , i∈{0,1,...,q-2,-∞}, where When p = 2, GF(2 r Let GF(2) denote the extended field of the binary field, where each element can be uniquely mapped to a binary sequence of length r. Therefore, GF(2) r The code symbol of a multi-ary LDPC code can be represented by r binary bits. Unlike binary LDPC codes, the non-zero elements in the parity-check matrix of a multi-ary LDPC code are not just '1', but q-1 non-zero elements αi, i∈{0,1,...,q-2} in the finite field GF(q), that is, an (n,k)q-ary LDPC code. The parity-check matrix H on the finite field CF(q) can be used. m×n =[h i,j The null space is defined as h, where h i,j It is an element in the finite field GF(q). The product of the valid codeword c and the parity check matrix H is 0, that is, H T c = 0.

[0034] Therefore, the multivariate LDPC code decoding method based on the distributed fast Hadamard transform in this example, based on the FHT-QSPA algorithm, includes three steps in each decoding iteration: check node update, variable node update, and trial decoding. The check node update includes four steps: equivalent transformation, FHT transformation, IFHT transformation, and inverse equivalent transformation. The FHT and IFHT transformations in this example utilize... Figure 1 The acceleration shown is achieved through a distributed computing architecture consisting of one master node and n=5 slave nodes.

[0035] Let x be a multi-dimensional LDPC codeword. The vector received after signal modulation and channel transmission is based on multi-dimensional LDPC codewords. The parity check matrix H m×n =[h i,j The channel probabilities corresponding to all non-zero elements in the verification equation are concatenated into a matrix [q]. mn ]. Among them, [q mn The size of ] is 2 r ×N, 2 r represents the size of the finite field, while N represents the number of non-zero elements in the parity check matrix.

[0036] First, regarding [q] mn Each column in the matrix is ​​transformed equivalently to the corresponding non-zero element in the parity check matrix. The formula for the equivalent transformation can be found in the following equation:

[0037]

[0038] Here, ÷ represents the inverse multiplication operation over a finite field, and h mn The non-zero elements in the parity check matrix are represented. Table 1 gives the truth table of the inverse multiplication operation on a quaternary finite field GF(4). If we use division as an analogy for its calculation relationship, then the rows represent the dividend and the columns represent the divisors.

[0039] Table 1. Truth table of inverse multiplication operations on GF(4)

[0040] 0 × × × × 1 0 1 2 3 2 0 3 1 2 3 0 2 3 1

[0041] Secondly, the master node determines the number of slave nodes n participating in the calculation, and sets the number of uncoded nodes k and the number of coded nodes nk. Then, based on the distributed environment parameters, the master node transforms the channel probability matrix [q′] into an equivalent transformation matrix. mn Divide into k parts according to columns.

[0042] For ease of explanation, let the channel probability matrix be B=[q′ mn At this point, the submatrix partition can be represented as B = {B1, B2, ..., B}.k Specifically, for a size of 2 r ×N matrix [q′ mn The size of the submatrix after partitioning is 2. r ×N / k. For example, for a multivariate LDPC code defined on GF(4), if its parity-check matrix has 30 non-zero elements, then the probability matrix [q′] mn The size is 4×30. In a distributed system consisting of 1 master node and 5 slave nodes, the number of uncoded nodes is set to 3. The probability matrix [q′] is then... mn The matrix is ​​divided into 3 parts, and the size of each uncoded submatrix is ​​4×10.

[0043] Next, the master node encodes the segmented submatrix to obtain the encoded (redundant) submatrix. The total generator matrix can be modeled as follows:

[0044]

[0045] Among them, I k×k Let P represent a k-order identity matrix. B Describe a standard Gaussian distribution The upsampled random number submatrix is ​​used; therefore, the submatrix sequence that assigns all slave nodes can be obtained by combining the generator matrix and the sequence of uncoded submatrixes. Right now:

[0046]

[0047] Specifically, P B Each row in the matrix defines a set of random coefficients. A linear combination of the uncoded submatrix yields the corresponding coded submatrix, i.e.: In the above encoding matrix generator, the uncoded matrix actually remains unchanged before and after the calculation (submatrix sequence). The first k submatrices (i.e., the uncoded submatrices) are directly used as the submatrices distributed to the corresponding slave nodes. The encoded (redundant) submatrices are obtained by performing different random linear combinations of coefficients on the sequence of uncoded submatrices, embedding redundant information, and then distributing them to the following nk slave nodes. As in the matrix partitioning example above, if there are 5 slave nodes, with 2 encoded nodes, the encoding process involves performing two random linear combinations of the three 4×10 uncoded submatrices, i.e. and

[0048] After the master node completes the submatrix encoding, it sends all the unencoded and encoded submatrixes to the corresponding slave nodes. That is, each of the k slave nodes is assigned an unencoded submatrix, and the remaining nk slave nodes are each assigned an encoded submatrix. The nodes assigned to unencoded submatrixes are called unencoded nodes, and the nodes assigned to encoded submatrixes are called encoded nodes. After all n slave nodes receive the submatrixes sent by the master node, they begin to perform the Fast Hadamard Transform in parallel according to the butterfly structure. The computational logic can be found in [reference needed]. Figure 2 As shown. Figure 2 An example of performing an FHT transformation on a four-dimensional vector is given. It can be seen that, based on the butterfly structure, the FHT transformation only requires addition and subtraction operations.

[0049] After a slave node completes the FHT transformation, it sends the transformed submatrix to the master node. During this process, slave nodes may fall behind due to resource consumption, busy communication links, or node failure, thus affecting the master node's subsequent tasks. Therefore, employing an encoding computation scheme can effectively suppress node lag and stably accelerate distributed parallel algorithms. Specifically, if the encoding computation scheme is determined by the generator matrix G, P... B Let P be a submatrix of matrix G, with size (nk)×k, and P B All elements in the dataset are from a standard Gaussian distribution. The independent and identically distributed samples are obtained. At this point, the scheme provides a systematic MDS code encoding calculation scheme. When the master node receives any k of the n submatrix transformation results, it can decode and recover the submatrix transformation result corresponding to the lagging node with a probability of 1.

[0050] For simplicity, the first k nodes can be responsible for the FHT transformation of the uncoded submatrix, and the last nk nodes can be responsible for the FHT transformation of the coded submatrix. Let the set of node indices be i∈{1,2,...,k,k+1,...,n}, where the set of node indices corresponding to the nodes of the uncoded submatrix (referred to as uncoded nodes) and the nodes corresponding to the nodes of the coded submatrix (referred to as coded nodes) can be defined as I. u ={i1, i2, ..., i k} and I c ={i k+1 i k+2 , ..., i n}

[0051] Therefore, based on the aforementioned encoding redundancy embedding, the master node can recover the lost results even when it only receives the calculation results from k slave nodes. If, at this point, the master node has received a total of n... u The transformation results of the uncoded submatrices and n c The transformation result of each encoded submatrix. When n uWhen k = k, the master node receives the transformation results of all uncoded submatrices and does not need to perform decoding and recovery; it can directly proceed with subsequent computation tasks.

[0052] And n u When k < k, meaning a node has fallen behind in the uncoded list, the master node needs to receive at least kn. u The transformation result of each encoded submatrix. Let the set of uncoded node indices received by the master node at this time be... and the set of encoded node indices are And n u +n c =k. The master node can solve a homogeneous linear equation system by combining the received uncoded submatrix calculation results, the coded submatrix calculation results, and the lagging uncoded submatrix calculation results. Solving this system of equations will complete the decoding recovery and obtain the lagging node S. s =I u \S u The calculation results.

[0053]

[0054] In the aforementioned example of distributed parallel execution of the FHT transformation by four slave nodes, if any one of the first three uncoded nodes falls behind, the master node can use a simple linear equation to calculate the result of the fallen uncoded subtask. For example... Figure 1 As shown, the uncoded submatrix transformations corresponding to nodes 1 and 3 exhibit a "falling behind" phenomenon. The master node can calculate the results corresponding to the falling-behind nodes using the following system of equations:

[0055]

[0056] At this point, the master node overcomes the impact of lagging nodes in the distributed system by embedding redundant information, thus steadily accelerating the FHT transformation.

[0057] Based on this, the master node reassembles the matrix after the FHT transformation. At this point, the check node's update also requires performing an IFHT transformation on the normalized FHT transformation result matrix. The only difference between IFHT and FHT is that IFHT requires multiplying the FHT transformation result by the reciprocal of the order of the finite field of the codeword, i.e., IFHT(B) = 1 / 2. r ×FHT(B). Therefore, both the IFHT transform and the FHT transform can be accelerated in parallel using the above-described distributed encoding scheme.

[0058] After completing the IFHT transformation, the master node then performs the inverse equivalent transformation for updating the check node in the FHT-QSPA decoding algorithm. The specific calculation formula is as follows:

[0059]

[0060] After completing the equivalent transformation, FHT, IFHT and inverse equivalent transformation, the master node completes the check node update in a single decoding iteration.

[0061] Following the FHT-QSPA decoding process, the master node continues to update the variable nodes and perform trial decoding based on the probability matrix obtained from the check node update step. If all check equations are satisfied after trial decoding, the decoding result is output, completing the decoding; otherwise, the probability matrix [q] is updated based on the result of the variable node update. mn The decoding process continues until the maximum number of iterations is reached, at which point all verification equations are not satisfied. If the maximum number of iterations is reached and all verification equations are still not satisfied, the decoding process is declared a failure, and the decoding result is output.

[0062] In summary, the distributed FHT transform scheme based on systematic MDS codes proposed in this invention can offload the FHT transform task to multiple slave nodes for parallel execution, and overcome the impact of lagging nodes by embedding redundant information. For the classic FHT-QSPA decoding algorithm, this scheme significantly accelerates the efficiency of the FHT transform and its inverse transform, thereby speeding up the overall decoding process. To this end, we selected various multivariate LDPCs with different finite field orders and code lengths for time consumption analysis, verifying that the proposed scheme can stably accelerate the FHT and its inverse transform even when nodes are lagging. Furthermore, the decoding performance comparison shows that the proposed scheme is numerically stable in the decoding recovery stage of lagging results and does not degrade the decoding performance of multivariate LDPC codes.

[0063] Figure 3 The experimental simulation results shown are a time consumption analysis of a 64-ary LDPC code with a length of 200 code, comprising six sets of data. The first set represents the total time for a single node to compute the FHT and IFHT, approximately 191 milliseconds. The second set represents the time for the two transformations after distributed modification. Solid data bars represent the time for five slave nodes (n=5) without falling behind, approximately 42 milliseconds; while dashed data represents the time when one of the five nodes is an encoding node, approximately 49 milliseconds. The following four sets of data represent the time when one of the five nodes is a lagging node, its computation speed degrades to 1 / λ of the original. At this point, we set its computation speed to 1 / 2 to 1 / 5 of the original. It can be seen that the time consumption of the pure distributed system represented by the solid data continuously increases. When the computation speed of a single node degrades to 1 / 5 of the original, it even becomes slower than the time consumption of a single node computing itself. In this case, the distributed modification does not provide any benefit in terms of time consumption. The distributed coding scheme, represented by the dashed line, stabilized and accelerated both the FHT and IFHT transforms, with a processing time of approximately 50 milliseconds.

[0064] Figure 4 and Figure 5 The experiment results are shown for different finite field orders and code lengths of codewords. The distributed parameters are still set to 5 nodes, one of which is an encoding node. The number of lagging nodes is set to 1, and the lagging degree is set to 2. Figure 4 The experiments used 64-ary LDPC codes of different code lengths as test objects to analyze the time consumption of single-node execution of FHT and IFHT versus distributed execution of FHT and IFHT. When the code length increased from 200 to 2000, the total time consumption of the two transformations rapidly increased from 191 milliseconds to 2105 milliseconds. The distributed FHT scheme, however, can stably accelerate FHT and IFHT in parallel, improving their computational efficiency. Figure 5 The experiment in the study fixed the code length at 200 and increased the finite field order from 16 to 256. As the finite field order increased, the total time for the two transformations increased from 49 milliseconds to 866 milliseconds. Therefore, for cases with longer code lengths and larger finite fields, the distributed FHT coding scheme significantly saves the computation time of FHT and IFHT, accelerates the update of check nodes, and thus speeds up the overall FHT-QSPA decoding process.

[0065] In existing technologies, to achieve a distributed FHT resistant to falling behind, matrix multiplication can be performed on the probability matrix to be transformed and the coefficient matrix. Therefore, the polynomial code-encoded matrix multiplication and orthogonal polynomial-encoded matrix multiplication proposed in previous literature can be used to implement distributed FHT computation resistant to falling behind. However, both of these schemes encode both the matrix to be transformed and the FHT coefficient matrix, disrupting the butterfly operation structure inherent in the FHT coefficient matrix. This causes the FHT at the node to degenerate from a butterfly operation to matrix multiplication, increasing its computational complexity. Significantly increased to Where r represents the order of the extended field, 2 r N represents the number of rows in the submatrix, and N / k represents the number of columns in the submatrix. This scheme optimizes the encoding redundancy embedding method, so the master node only needs to encode the matrix to be transformed to achieve anti-node drop-off, thereby maintaining the efficient butterfly calculation structure of FHT transformation on the slave nodes and reducing the computational complexity on the slave nodes.

[0066] Next, a 16-ary LDPC code with a code length of 800 was selected as the test codeword. First, the codeword generation matrix was obtained through a random method. Then, the randomly generated codewords were encoded, and the signal was BPSK modulated, followed by noise addition through an AWGN channel. Finally, FHT-QSPA and FHT-QSPA based on a distributed coding scheme were used for decoding, and their decoding performance was analyzed. Figure 6Decoding performance curves for two algorithms are presented. It can be seen that the decoding algorithm based on the coded distributed FHT scheme (Coded FHT-QSPA) does not suffer performance loss compared to the original algorithm. Furthermore, this example analyzes the speedup effect of the coded distributed FHT scheme and the original single-node FHT scheme in a distributed environment with 5 slave nodes, including 1 coded node. The number of lagging nodes is 1, and the lagging degree is half that of normal, non-lagging nodes. The specific speedup effects are shown in the table below:

[0067] Table 2. Statistics on the time consumption of a single iteration for two decoding algorithms.

[0068]

[0069] In summary, the proposed solution improves the FHT-QSPA decoding of multivariate LDPC codes by using distributed encoding to stably accelerate the FHT and IFHT computation stages, overcoming the impact of lagging nodes without any loss in decoding performance.

Claims

1. A multivariate LDPC code decoding method based on distributed fast Hadamard transform, oriented towards a master-slave distributed computing architecture, comprising one master node and multiple slave nodes, employing the FHT-QSPA decoding algorithm, characterized in that... The calculation of the Fast Hadamard Transform or Inverse Fast Hadamard Transform includes the following steps: Step 1: The master node obtains the channel probability matrix B used for decoding calculation; Step 2: The master node obtains the distributed decoding settings, including the number of slave nodes n participating in the computation, the number of uncoded nodes k, and the number of coded nodes nk; Step 3: The master node divides the channel probability matrix B into k sub-matrices according to the distributed node parameters, resulting in B = {B1, B2, ..., B}. k }, submatrix B i This is called the uncoded submatrix; Perform nk random linear combinations on k uncoded submatrices to obtain nk coded submatrices. Step 4: The master node sends the k uncoded submatrices and the nk encoded submatrices to the n slave nodes respectively; Step 5: Each slave node performs FHT transformation on the received submatrix column by column according to the butterfly calculation structure of FHT transformation, and sends the FHT transformation results of each submatrix to the master node; Step 6: The master node determines the node dropout status based on the slave node index of the feedback calculation result. If no node has dropped out of the uncoded submatrix, the FHT transform results of all uncoded submatrixes are restored to the FHT transform results of the final channel probability matrix B. If the required result is the IFHT transform result of the channel probability matrix B, then IFHT(B) = 1 / 2 r ×FHT(B), where 2 r Let be the finite field order of the current codeword; If a node assigned to an uncoded submatrix falls behind, the FHT transformation results of the unreceived uncoded submatrix are recovered by solving a homogeneous linear equation system based on the received FHT transformation results of the other uncoded submatrixes and the coded submatrixes. Then, the recovered results and the received results are used to recover the FHT or IFHT transformation results of the final channel probability matrix B.

2. The method according to claim 1, characterized in that, Step 3 also includes establishing the coefficient submatrix P. B To determine the random coefficients of the nk-group coded submatrix, i.e.: The elements are based on a standard Gaussian distribution. Random sampling; By performing the following random linear combination on the k uncoded submatrices, we obtain nk coded submatrices:

3. The method according to claim 2, characterized in that, In step 6, the following system of linear equations is solved to recover the FHT transformation results of the unreceived uncoded submatrices: Among them, S u S c These represent the uncoded node index and node index received by the master node, respectively, while S s 'b' represents the index of the lagging node that needs to be recovered, and 'b' represents the random coding coefficient in the coding matrix.