PAC code fast decoding method and system based on neural network
Through the fast decoding method based on neural network, the optimal decoding algorithm for PAC code is automatically selected, which solves the problem of high complexity of PAC code decoding, and realizes efficient and accurate decoding operations, while maintaining high error correction performance.
Patent Information
- Application Number
- CN202510294534.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-03-13
- Publication Date
- 2025-06-27
AI Technical Summary
The decoding complexity of PAC codes is high, and it is difficult to significantly reduce the decoding complexity while ensuring high error correction performance.
A fast decoding method based on neural network is adopted to classify the LLR value of the decoded codeword, determine the best decoding algorithm, and train the neural network model based on the LLR value and the best decoding algorithm to realize automated best decoding algorithm selection and decoding operations.
While ensuring high error correction performance of PAC codes, it significantly reduces the coding complexity of PAC codes and improves the decoding efficiency and accuracy.
Smart Images

Figure CN120223103A_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the technical field of communication channel coding and decoding, and particularly to a fast decoding method and system for PAC codes based on a neural network. Background Art
[0002] At present, error correction coding plays an important role in ensuring reliable communication over wireless channels. The Polarization-Adjusted Convolutional (PAC) code is a new variant of the polar code, which improves the error correction performance of the polar code by externally cascading a convolutional code with a rate of 1. Specifically, when the Fano decoding algorithm is used for decoding, the performance of a PAC code with a code length of 128 and a code rate of 0.5 can reach the capacity constraint under finite length. However, the Fano decoding algorithm has a backtracking characteristic, which brings unpredictable computational complexity, thus limiting its application in delay-sensitive scenarios. To solve this problem, a list decoding algorithm for PAC codes was born, which is a non-backtracking tree search algorithm with a fixed computational complexity. However, to achieve the same performance as the Fano decoding algorithm, the list size of the list decoding algorithm must be very large, which brings intolerable computational complexity.
[0003] In recent years, many low-complexity decoding algorithms for reducing the decoding complexity of PAC codes have been proposed. Specifically, special nodes are identified in the decoding tree, so as to complete decoding at a higher level of the decoding tree, effectively avoiding unnecessary calculations. And, in order to improve the judgment effect of the Path Metric (PM), a path pruning technique is introduced in the list decoding algorithm, effectively eliminating redundant sorting operations and reducing the complexity of the decoding algorithm. In addition, for the Fano decoding algorithm, related technologies have introduced an improved metric function, which reduces the decoding complexity while maintaining the error correction performance. However, there is still room for further reduction in the decoding complexity of PAC codes.
[0004] Due to its excellent feature learning ability, the Neural Network (NN) has been used to overcome the challenge of high complexity of channel decoding algorithms. There is a neural network-assisted path selection mechanism in related technologies to improve the efficiency of path selection in the polar code list decoding algorithm. There are also related technologies that introduce a neural network-assisted path splitting strategy to reduce unnecessary path splitting operations in the polar code list decoding algorithm, thus effectively reducing the decoding delay. In addition, there are related technologies that use neural networks to improve the bit flipping efficiency of the Successive Cancellation List Flip (SCLF) decoding algorithm for polar codes, which can reduce the decoding complexity.
[0005] In summary, for PAC codes, although the above method can slightly reduce the decoding complexity, the decoding complexity is still relatively high, and the error correction performance of PAC codes is poor. It is impossible to achieve a significant reduction in the decoding complexity of PAC codes while ensuring the high error correction performance of PAC codes. Summary of the Invention
[0006] The purpose of this application is to provide a fast decoding method and system for PAC codes based on neural networks, which can significantly reduce the decoding complexity of PAC codes while ensuring the high error correction performance of PAC codes.
[0007] To achieve the above purpose, this application provides the following solutions:
[0008] In the first aspect, this application provides a fast decoding method for PAC codes based on neural networks, including:
[0009] Obtain a number of codewords to be decoded and their LLR values;
[0010] Classify according to the LLR values of each of the codewords to be decoded, and determine the optimal decoding algorithm corresponding to each of the codewords to be decoded;
[0011] Train a neural network model based on the LLR values of each of the codewords to be decoded and the optimal decoding algorithm to obtain a trained neural network model; the neural network model takes the LLR values of the codewords to be decoded as input and outputs an output value representing the optimal decoding algorithm, which is used to classify the codewords to be decoded and determine the optimal decoding algorithm corresponding to them;
[0012] Obtain the target codeword to be decoded and its LLR value, and input the LLR value of the target codeword to be decoded into the trained neural network model to determine the optimal decoding algorithm corresponding to the target codeword to be decoded;
[0013] Decode the target codeword to be decoded using the optimal decoding algorithm corresponding to the target codeword to be decoded to obtain a decoding result.
[0014] In the second aspect, this application provides a fast decoding system for PAC codes based on neural networks, including: a memory, a processor, and a computer program stored on the memory and executable on the processor, and the processor executes the computer program to implement the steps of the fast decoding method for PAC codes based on neural networks.
[0015] According to the specific embodiments provided by this application, this application has the following technical effects:
[0016] The present application provides a fast decoding method and system for PAC codes based on neural networks. Using neural network technology, a neural network model is introduced for classifying the codewords to be decoded and determining the corresponding optimal decoding algorithm. By classifying according to the LLR values of each codeword to be decoded, the true optimal decoding algorithm corresponding to each codeword to be decoded is determined. Then, based on the LLR values of the codewords to be decoded and the optimal decoding algorithm, the neural network model is trained to obtain a trained neural network model. In practical applications, the LLR values of the target codeword to be decoded are input into the trained neural network model, and the optimal decoding algorithm suitable for the target codeword to be decoded can be automatically and quickly selected. Then, using the optimal decoding algorithm to decode the target codeword to be decoded, the corresponding decoding result can be obtained quickly, efficiently, and accurately. While ensuring the high error correction performance of PAC codes, the decoding complexity of PAC codes can be significantly reduced. BRIEF DESCRIPTION OF THE DRAWINGS
[0017] In order to more clearly illustrate the technical solutions in the embodiments of the present application or the prior art, the following will briefly introduce the drawings required in the embodiments. Obviously, the drawings in the following description are only some embodiments of the present application. For those of ordinary skill in the art, without creative efforts, other drawings can also be obtained based on these drawings.
[0018] Figure 1 It is an application environment diagram of a fast decoding method for PAC codes based on neural networks provided by an embodiment of the present application.
[0019] Figure 2 It is a flowchart of a fast decoding method for PAC codes based on neural networks provided by an embodiment of the present application.
[0020] Figure 3 It is a flowchart of the classification stage provided by an embodiment of the present application.
[0021] Figure 4 It is a flowchart of the neural network model training stage provided by an embodiment of the present application.
[0022] Figure 5 It is a flowchart of the decoding processing stage provided by an embodiment of the present application.
[0023] Figure 6 It is a comparison diagram of the FER performance of multiple decoding algorithms when N = 64 and K = 16 provided by an embodiment of the present application.
[0024] Figure 7 It is a comparison diagram of the FER performance of multiple decoding algorithms when N = 64 and K = 32 provided by an embodiment of the present application.
[0025] Figure 8 The FER performance comparison diagram of multiple decoding algorithms when N = 64 and K = 48 provided by an embodiment of the present application.
[0026] Figure 9 The FER performance comparison diagram of multiple decoding algorithms when N = 128 and K = 64 provided by an embodiment of the present application.
[0027] Figure 10 The ACC performance comparison diagram of multiple decoding algorithms when N = 64 and K = 16 provided by an embodiment of the present application.
[0028] Figure 11 The ACC performance comparison diagram of multiple decoding algorithms when N = 64 and K = 32 provided by an embodiment of the present application.
[0029] Figure 12 The ACC performance comparison diagram of multiple decoding algorithms when N = 64 and K = 48 provided by an embodiment of the present application.
[0030] Figure 13 The ACC performance comparison diagram of multiple decoding algorithms when N = 128 and K = 64 provided by an embodiment of the present application.
[0031] Figure 14 The MCC performance comparison diagram of multiple decoding algorithms when N = 64 and K = 16 provided by an embodiment of the present application.
[0032] Figure 15 The MCC performance comparison diagram of multiple decoding algorithms when N = 64 and K = 32 provided by an embodiment of the present application.
[0033] Figure 16 The MCC performance comparison diagram of multiple decoding algorithms when N = 64 and K = 48 provided by an embodiment of the present application.
[0034] Figure 17 The MCC performance comparison diagram of multiple decoding algorithms when N = 128 and K = 64 provided by an embodiment of the present application.
[0035] Figure 18 The structural schematic diagram of a computer device provided by an embodiment of the present application. Detailed implementation manners
[0036] Next, the technical solutions in the embodiments of the present application will be clearly and completely described in conjunction with the accompanying drawings in the embodiments of the present application. Obviously, the described embodiments are only a part of the embodiments of the present application, rather than all the embodiments. Based on the embodiments in the present application, all other embodiments obtained by those of ordinary skill in the art without creative efforts shall fall within the protection scope of the present application.
[0037] To make the above objects, features, and advantages of the present application more apparent and understandable, the present application will be further described in detail below with reference to the accompanying drawings and specific embodiments.
[0038] The fast PAC code decoding method based on a neural network provided by an embodiment of the present application can be applied to an application environment as Figure 1 shown. Among them, the terminal 102 communicates with the server 104 through a network. The data storage system can store the data that the server 104 needs to process. The data storage system can be set up separately, integrated on the server 104, or placed on the cloud or other servers. The terminal 102 can send the codeword to be decoded and its LLR (Log-Likelihood Ratio) value (for training the neural network model) and the target codeword to be decoded and its LLR value (for selecting the optimal decoding algorithm and decoding of the target codeword to be decoded during actual application) to the server 104. After receiving the codeword to be decoded and its LLR value and the target codeword to be decoded and its LLR value, for the codeword to be decoded and its LLR value and the target codeword to be decoded and its LLR value, the server 104 classifies according to the LLR value of each codeword to be decoded to determine the optimal decoding algorithm corresponding to each codeword to be decoded; based on the LLR value of each codeword to be decoded and the optimal decoding algorithm, train the neural network model to obtain a trained neural network model; input the LLR value of the target codeword to be decoded into the trained neural network model to determine the optimal decoding algorithm corresponding to the target codeword to be decoded; use the optimal decoding algorithm corresponding to the target codeword to be decoded to decode the target codeword to be decoded to obtain a decoding result. The server 104 can feedback the obtained decoding result to the terminal 102. In addition, in some embodiments, the fast PAC code decoding method based on a neural network can also be implemented independently by the server 104 or the terminal 102. For example, the terminal 102 can directly perform classification, model training, and decoding processing on the codeword to be decoded and its LLR value and the target codeword to be decoded and its LLR value, or the server 104 can obtain the codeword to be decoded and its LLR value and the target codeword to be decoded and its LLR value from the data storage system and perform classification, model training, and decoding processing on the codeword to be decoded and its LLR value and the target codeword to be decoded and its LLR value.
[0039] Among them, the terminal 102 can be, but is not limited to, various desktop computers, laptop computers, smart phones, tablet computers, Internet of Things devices, and portable wearable devices. The Internet of Things devices can be smart speakers, smart TVs, smart air conditioners, smart in-vehicle devices, etc. The portable wearable devices can be smart watches, smart bracelets, head-mounted devices, etc. The server 104 can be implemented by an independent server or a server cluster composed of multiple servers, and can also be a cloud server.
[0040] In an exemplary embodiment, as Figure 2 shown, a fast decoding method for PAC codes based on a neural network is provided. This method is executed by a computer device, specifically, it can be executed alone by a computer device such as a terminal or a server, or jointly executed by a terminal and a server. In the embodiments of the present application, taking this method applied to Figure 1 the server 104 as an example for illustration, it includes the following steps.
[0041] Step S1: Obtain a number of codewords to be decoded and their LLR values.
[0042] Step S2: Classify according to the LLR values of each of the codewords to be decoded, and determine the optimal decoding algorithm corresponding to each of the codewords to be decoded. Through the classification operation, the optimal decoding algorithm corresponding to each codeword to be decoded is classified and determined as the true optimal decoding algorithm, that is, the label of the training data set when training the neural network model later.
[0043] In this embodiment, step S2 classifies according to the LLR values of each of the codewords to be decoded, and determines the optimal decoding algorithm corresponding to each of the codewords to be decoded, specifically including the following steps:
[0044] Step S21: Set a complexity threshold Γ;
[0045] Step S22: According to the LLR values of each of the codewords to be decoded and the complexity threshold Γ, use the Fano decoding algorithm to decode each of the codewords to be decoded respectively, and calculate the corresponding operation complexity D F and the decoding result χ F ; where the value of the decoding result χ F is 0 or 1, 0 indicates decoding failure, and 1 indicates decoding success;
[0046] Step S23: According to the LLR values of each of the codewords to be decoded and the complexity threshold Γ, use the list decoding algorithm to decode each of the codewords to be decoded respectively, and calculate the corresponding operation complexity D L and the decoding result χ L ; where, the value of the decoding result χ L is 0 or 1, 0 indicates decoding failure, and 1 indicates decoding success;
[0047] Step S24: According to the operation complexity D F of each of the codewords to be decoded, the decoding result χ F , the operation complexity D L and the decoding result χ L , calculate the classification parameter γ corresponding to each of the codewords to be decoded.
[0048] Step S24: Determine the optimal decoding algorithm corresponding to each of the to-be-decoded codewords according to the classification parameter γ corresponding to each of the to-be-decoded codewords.
[0049] In this embodiment, step S24 determines the optimal decoding algorithm corresponding to each of the to-be-decoded codewords according to the classification parameter γ corresponding to each of the to-be-decoded codewords, and specifically includes the following steps:
[0050] Step S241: When γ≥1, it is determined that the optimal decoding algorithm corresponding to the to-be-decoded codeword is the list decoding algorithm.
[0051] Step S242: When γ<1, it is determined that the optimal decoding algorithm corresponding to the to-be-decoded codeword is the Fano decoding algorithm.
[0052] Step S3: Based on the LLR values of each of the to-be-decoded codewords and the optimal decoding algorithm, train the neural network model to obtain a trained neural network model. Among them, the neural network model refers to a model that takes the LLR values of the to-be-decoded codewords as inputs and outputs output values representing the optimal decoding algorithm, and is used to classify the to-be-decoded codewords and determine the corresponding optimal decoding algorithm, and can be any model with classification and prediction capabilities based on neural network technology.
[0053] In this embodiment, step S3 trains the neural network model based on the LLR values of each of the to-be-decoded codewords and the optimal decoding algorithm to obtain a trained neural network model, and specifically includes the following steps:
[0054] Step S31: Set initial training parameters; the initial training parameters include the maximum number of training times, the loss value threshold, the information bit length, and the code length.
[0055] Step S32: Divide the training data set and the test data set according to all the to-be-decoded codewords, and initialize the number of training times.
[0056] Step S33: Use the training data set and the test data set to train and test the neural network model respectively, calculate the loss value, and optimize the parameters of the neural network model according to the loss value.
[0057] Step S34: Stop training when the loss value is less than the loss value threshold or reaches the maximum number of training times to obtain a trained neural network model.
[0058] Step S4: Obtain the target to-be-decoded codeword and its LLR value, and input the LLR value of the target to-be-decoded codeword into the trained neural network model to determine the optimal decoding algorithm corresponding to the target to-be-decoded codeword.
[0059] In this embodiment, step S4 obtains the target codeword to be decoded and its LLR value, and inputs the LLR value of the target codeword to be decoded into the trained neural network model to determine the optimal decoding algorithm corresponding to the target codeword to be decoded, which specifically includes the following steps:
[0060] Step S41: Obtain the target codeword to be decoded and its LLR value.
[0061] Step S42: Input the LLR value of the target codeword to be decoded into the trained neural network model to obtain the output value of the trained neural network model.
[0062] Step S43: Determine the optimal decoding algorithm corresponding to the target codeword to be decoded according to the output value of the trained neural network model.
[0063] In this embodiment, step S43 determines the optimal decoding algorithm corresponding to the target codeword to be decoded according to the output value of the trained neural network model, which specifically includes the following steps:
[0064] Step S431: When NN out > 0.5, it is determined that the optimal decoding algorithm corresponding to the target codeword to be decoded is the list decoding algorithm; where NN out represents the output value of the trained neural network model.
[0065] Step S432: When NN out ≤ 0.5, it is determined that the optimal decoding algorithm corresponding to the target codeword to be decoded is the Fano decoding algorithm.
[0066] Step S5: Use the optimal decoding algorithm corresponding to the target codeword to be decoded to decode the target codeword to be decoded to obtain a decoding result.
[0067] To make the technical solution of this embodiment clearer, the following takes the traditional Fano decoding algorithm and list decoding algorithm as examples to illustrate that this embodiment achieves the purpose of reducing the computational complexity by means of neural network technology. It is easy to understand that the technical solution of this embodiment can be combined with other simplified algorithms to further reduce the decoding complexity.
[0068] A fast decoding method for PAC codes based on neural networks proposed in this embodiment is mainly divided into a classification stage (corresponding to step S2), a neural network model training stage (corresponding to step S3), and a decoding processing stage (corresponding to steps S4 and S5). Figure 3 is the flowchart of the classification stage. Figure 4 is the flowchart of the neural network model training stage. Figure 5It is a flowchart of the decoding process stage. The fast decoding method of PAC codes based on neural networks in this embodiment mainly includes two parts. The first part is to obtain a number of codewords to be decoded and their LLR values for constructing a data set, including a test data set and a training data set. The data in the test data set and the training data set are classified according to the classification rules proposed in step S2 of this embodiment. The second part is to train the neural network model. Specifically, first, for the code type of the codewords to be decoded, that is, the code rate and the code length, train the classification function of the neural network model according to the training data set; then input the target codewords to be decoded into the trained neural network model, and select the appropriate decoding algorithm, that is, the optimal decoding algorithm, so as to complete the decoding operation.
[0069] As Figure 3 shown, when classifying the codewords to be decoded in this embodiment, first input the LLR values of the codewords to be decoded, then count the complexity and decoding results of using the Fano decoding algorithm, and at the same time count the complexity and decoding results of using the list decoding algorithm, then calculate the classification parameter, and then judge whether the classification parameter is greater than or equal to 1. If so, the list decoding algorithm is the optimal decoding algorithm, otherwise the Fano decoding algorithm is the optimal decoding algorithm. Specifically, it includes the following steps:
[0070] Step (1) Input the LLR values of the codewords to be decoded and the complexity threshold Γ.
[0071] Step (2) Decode using the Fano decoding algorithm and calculate the operation complexity D F and the decoding result χ F , where the value of χ F is 0 or 1, 0 indicates decoding failure, and 1 indicates decoding success.
[0072] Step (3) Decode using the list decoding algorithm and calculate the operation complexity D L and the decoding result χ L , where the value of χ L is 0 or 1, 0 indicates decoding failure, and 1 indicates decoding success.
[0073] Step (4) Calculate the classification parameter γ using the following formula:
[0074]
[0075] where γ is the classification parameter, Γ is the complexity threshold, D F represents the operation complexity when decoding using the Fano decoding algorithm, χ F represents the decoding result when decoding using the Fano decoding algorithm, D L represents the operation complexity when decoding using the list decoding algorithm, χ L represents the decoding result when decoding using the list decoding algorithm.
[0076] Step (5): When γ ≥ 1, it is determined that the best decoding algorithm corresponding to the codeword to be decoded is the list decoding algorithm; when γ < 1, it is determined that the best decoding algorithm corresponding to the codeword to be decoded is the Fano decoding algorithm.
[0077] As Figure 4 shown, the training of the neural network model in this embodiment includes the following steps:
[0078] Step (1): Set the initial training parameters, including the maximum number of training times max_time, the loss value threshold loss_threshold, and the information bit length K and the code length N.
[0079] Step (2): Input the training data set and the test data set.
[0080] Step (3): Initialize the training times time = 1.
[0081] Step (4): Train the neural network model according to the training data set and the test data set, and calculate the loss value loss.
[0082] Step (5): Determine whether the loss value is lower than the loss value threshold. If loss < loss_threshold, stop training, output the model, and obtain the trained neural network model; otherwise, execute step (6).
[0083] Step (6): Determine whether the loss value remains unchanged. If the loss value loss does not change for 10 consecutive training times, stop training, output the model, and obtain the trained neural network model; otherwise, execute step (7).
[0084] Step (7): Determine whether the maximum number of training times is reached. If time = max_time, stop training, output the model, and obtain the trained neural network model; otherwise, execute step (8).
[0085] Step (8): time = time + 1, and jump to step (4).
[0086] As Figure 5 shown, during the decoding operation process of this embodiment, first input the LLR value of the target codeword to be decoded, then input this LLR value into the neural network, that is, the trained neural network model, and then determine whether the output value of the neural network is greater than 0.5. If so, use the list decoder (i.e., the list decoding algorithm) for decoding; otherwise, use the Fano decoder (i.e., the Fano decoding algorithm) for decoding, and output the final decoding result. Specifically, it includes the following steps:
[0087] Step (1): Input the preset code length N, number of lists L, Fano threshold M, Fano threshold interval parameter Δ, positions of frozen bits A, convolutional generation coefficient c, convolutional constraint length m, and the LLR values of the target codeword to be decoded.
[0088] Step (2): Use the trained neural network model to make a judgment based on the LLR values of the target codeword to be decoded, that is, judge whether the output value of the neural network model is greater than 0.5. If the output value NN of the neural network model out > 0.5, then jump to Step (3); if the output value NN of the neural network model out ≤ 0.5, then jump to Step (4).
[0089] Step (3): Perform decoding using the list decoding algorithm. Specifically, it includes the following steps:
[0090] Step (3.1): Initialize i = 1.
[0091] Step (3.2): According to the LLR values of the target codeword to be decoded, update the log-likelihood ratio values of each path in the list according to the following formula
[0092]
[0093] where l represents the position parameter of the current path in the list, t represents the t + 1 level in the decoding tree, o represents the o-th node, and ε ∈ [1, 2 t-2 .
[0094] Step (3.3): Judge the type of the current bit and perform corresponding decoding processing.
[0095] Step (3.3.1): If then perform the following operations:
[0096] Step (3.3.1.1): Given that the decoding result of the current bit is Calculate the decision value using the following formula
[0097]
[0098] where represents the decision value of the i-th bit, c represents the convolutional generation coefficient, and m represents the length of the convolutional generation coefficient.
[0099] Step (3.3.1.2): Update the path metric value of each path using the following formula.
[0100]
[0101] where Denote the path metric value of the \(l\)-th path at the \(i\)-th bit. Denote the LLR value corresponding to the \(l\)-th path on the \(i\)-th node at the first layer of the decoding tree.
[0102] In step (3.3.2), if \(i\in A\), then perform the following operations:
[0103] In step (3.3.2.1), perform path extension operations on each path.
[0104] In step (3.3.2.2), update the path metric value of each path using formula (5).
[0105] In step (3.3.2.3), if the current number of paths \(L\) S is greater than the list number \(L\), then retain \(L\) paths with the minimum path metric value \(PM\). Otherwise, do not perform any operations.
[0106] In step (3.4), update the values of each path in the list according to the following formula:
[0107]
[0108] where, is the hard decision data, \(l\) represents the position parameter of the current path in the list, \(t\) represents the \(t + 1\) level in the decoding tree, \(o\) represents the \(o\)-th node, and \(\theta\in[1, 2 t-1 .
[0109] In step (3.5), \(i=i + 1\). If \(i\lt N\), then jump to step (3.2). Otherwise, perform step (3.6).
[0110] In step (3.6), sort the path metric values of all paths from smallest to largest, and output the decoded codeword of the path with the smallest path metric value as the final decoding result.
[0111] In step (4), perform decoding using the Fano decoding algorithm.
[0112] In step (4.1), initialize \(i = 1\).
[0113] In step (4.2), update the log-likelihood ratio values of each path in the list according to the LLR values of the target codeword to be decoded, where \(l\) represents the position parameter of the current path in the list, \(t\) represents the \(t + 1\) level in the decoding tree, and \(o\) represents the \(o\)-th node.
[0114] In step (4.3), determine the type of the current bit and perform corresponding decoding processing.
[0115] In step (4.3.1), if Then perform the following operations:
[0116] In step (4.3.1.1), the decoding result of the current bit is known as Calculate the decision value based on formula (4)
[0117] In step (4.3.1.2), update the Fano path metric using the following formula:
[0118]
[0119] where, represents the Fano path metric of the current path at the i-th bit, represents the LLR value corresponding to the l-th path on the i-th node at the first layer of the decoding tree, represents the decision value of the i-th bit, φ i is the cutoff rate of the i-th bit.
[0120] In step (4.3.2), if i ∈ A, then perform the following operations:
[0121] In step (4.3.2.1), generate two parallel paths, take values of 0 and 1 respectively, and obtain the corresponding decision values based on formula (4) and update the Fano path metrics of the two paths according to formula (7), and select the smaller one as the current path.
[0122] It should be noted that the decoding processes of Fano and the list are different. Fano only retains one path during the decoding process. In step (4.3.2.1), two paths are generated. Therefore, the most reliable one is retained, and the selection criterion is based on the magnitude of the Fano path metric. The smaller one is more reliable. Therefore, finally, the smaller one of the two is selected as the current path, and no sorting operation for multiple paths is required.
[0123] In step (4.4), if the Fano path metric of the current path then M = M + Δ and jump to step (4.5). Otherwise, backtrack to the bit where the Fano path metric is greater than or equal to M. If all bits do not meet the condition, then M = M - Δ, and re-search for the bit where the Fano path metric is greater than or equal to M, and then perform the backtracking operation.
[0124] In step (4.5), update the values of each path in the list according to formula (6).
[0125] In step (4.6), i = i + 1. If i < N, then jump to step (4.2). Otherwise, perform step (4.7).
[0126] Step (4.7) outputs the final decoding result. Since only one path is retained during the decoding process in Fano decoding, only a single path is finally output, and no path selection is required during the final output stage.
[0127] The current PAC decoding algorithm reduces the decoding complexity of the decoding algorithm while ensuring the high error correction performance of the PAC code. To demonstrate the advantages of the algorithm in this embodiment compared to the current algorithms, this embodiment was verified from two aspects. First, the ACC (average computational complexity) and MCC (maximum computational complexity) of this embodiment under PAC codes with different code rates and code lengths were calculated and compared with algorithms such as the current Fano decoding algorithm and list decoding algorithm. Then, the FER (frame error rate) performance of this embodiment under PAC codes with different code rates and code lengths was tested.
[0128] This embodiment tests the transmission of codewords on an (Additive White Gaussian Noise, AWGN) channel using Binary Phase Shift Keying (BPSK) modulation. For N = 64 and N = 128, the list sizes L of the list decoding algorithm are 32 and 256 respectively. The convolutional generation coefficient of the convolutional operation in the PAC code is c = (1, 0, 1, 1, 0, 1, 1, 0, 1, 1). To ensure the accuracy and reliability of the test results, at least 500 error frames were collected at each test signal-to-noise ratio.
[0129] Figure 6 FER performance comparison diagram of multiple decoding algorithms when N = 64 and K = 16; Figure 7 FER performance comparison diagram of multiple decoding algorithms when N = 64 and K = 32; Figure 8 FER performance comparison diagram of multiple decoding algorithms when N = 64 and K = 48; Figure 9 FER performance comparison diagram of multiple decoding algorithms when N = 128 and K = 64. It can be seen that under different conditions of N and K, the decoding algorithm of the present invention can achieve error correction performance similar to that of the Fano decoding algorithm and the list decoding algorithm with a large list. Under the conditions of N = 128 and K = 64 for the PAC code, the decoding algorithm of the present invention can also reach the Discrete Approximation (DA) bound from 0.00 dB to 2.25 dB.
[0130] Figure 10ACC performance comparison chart of multiple decoding algorithms when N = 64 and K = 16; Figure 11 ACC performance comparison chart of multiple decoding algorithms when N = 64 and K = 32; Figure 12 ACC performance comparison chart of multiple decoding algorithms when N = 64 and K = 48; Figure 13 ACC performance comparison chart of multiple decoding algorithms when N = 128 and K = 64. It can be seen that compared with the traditional Fano decoding algorithm and list decoding algorithm, the ACC of the present invention has been significantly reduced. Specifically, when N = 64 and K = 32, at signal-to-noise ratios of 1.00 dB and 4.00 dB, compared with the Fano decoding algorithm, the ACC of the present invention is reduced by 86.86% and 89.70% respectively. In addition, compared with the Fano decoding algorithm and list decoding algorithm, when N = 128 and K = 64, the average reduction rates of the present invention in ACC are 37.30% and 45.37% respectively. It should be noted that in the high signal-to-noise ratio region (such as 4.00 dB), the ACC of the present invention is slightly higher than that of the Fano decoding algorithm. This is due to the additional computational complexity introduced by the neural network model.
[0131] Figure 14 MCC performance comparison chart of multiple decoding algorithms when N = 64 and K = 16; Figure 15 MCC performance comparison chart of multiple decoding algorithms when N = 64 and K = 32; Figure 16 MCC performance comparison of multiple decoding algorithms when N = 64 and K = 48; Figure 17 MCC performance comparison chart of multiple decoding algorithms when N = 128 and K = 64. It can be seen that compared with the Fano decoding algorithm, the present invention effectively reduces the MCC. However, at high signal-to-noise ratios, the reduction amplitude is smaller than that at low signal-to-noise ratios. The reason is that at high signal-to-noise ratios, the introduced neural network model tends to use the Fano decoder to complete the decoding operation, resulting in a higher MCC. But it should be noted that even at high signal-to-noise ratios, such as 4.00 dB, the present invention can still bring a 5.03% reduction in MCC when N = 128 and K = 64.
[0132] This embodiment provides a fast decoding method for PAC codes based on neural networks, designs a classification rule, and divides the best decoding algorithm for different scenarios. This classification rule can obtain the best decoding algorithm with the lowest decoding complexity in different application scenarios on the premise of ensuring the high error correction performance of PAC codes. The neural network model is used to complete the classification operation during actual decoding, determine the types of different codewords, and thus select the best decoding algorithm. At the same time, it is ensured that the introduced neural network has a low complexity and will not bring a large complexity overhead.
[0133] In an exemplary embodiment, a fast decoding system for PAC codes based on a neural network is provided. The system may be a computer device, including: a memory, a processor, and a computer program stored on the memory and executable on the processor. The processor executes the computer program to implement the steps of the fast decoding method for PAC codes based on a neural network. The computer device may be a server or a terminal, and its internal structure diagram may be as shown in Figure 18 shown. The computer device includes a processor, a memory, an input / output interface (Input / Output, abbreviated as I / O), and a communication interface. Among them, the processor, the memory, and the input / output interface are connected through a system bus, and the communication interface is connected to the system bus through the input / output interface. Among them, the processor of the computer device is used to provide computing and control capabilities. The memory of the computer device includes a non-volatile storage medium and an internal memory. The non-volatile storage medium stores an operating system, a computer program, and a database. The internal memory provides an environment for the operation of the operating system and the computer program in the non-volatile storage medium. The database of the computer device is used to store data such as the codewords to be decoded and their LLR values, and the target codewords to be decoded and their LLR values. The input / output interface of the computer device is used to exchange information between the processor and external devices. The communication interface of the computer device is used to communicate with external terminals through a network connection. When the computer program is executed by the processor, it implements a fast decoding method for PAC codes based on a neural network.
[0134] Those skilled in the art can understand that Figure 18 the structure shown in is only a block diagram of some structures related to the solution of the present application, and does not constitute a limitation on the computer device to which the solution of the present application is applied. The specific computer device may include more or fewer components than those shown in the figure, or combine some components, or have different component arrangements.
[0135] Currently, there is room for further reducing the overall decoding delay of PAC codes. The purpose of this embodiment is to provide a fast decoding method for PAC codes based on a neural network, which uses a neural network model to identify the best decoding algorithm with the lowest complexity in the Fano decoding algorithm and the list decoding algorithm in different situations. First, a classification problem is designed to identify the best decoding algorithm with the lowest complexity in different situations; then, the advantage of the neural network model in the classification task is used to analyze the LLR values of the codewords to determine the best decoding algorithm with the lowest complexity; finally, experimental tests verify the performance of the present invention. Compared with the traditional decoding algorithm, the present invention can reduce the huge delay of the PAC code decoder, and effectively reduce the decoding complexity of the PAC code while ensuring the high error correction performance of the PAC code.
[0136] The technical features of the above embodiments can be combined arbitrarily. For the sake of concise description, not all possible combinations of the technical features in the above embodiments are described. However, as long as there is no contradiction in the combination of these technical features, it should be considered as the scope recorded in this specification.
[0137] Specific examples are used in this article to elaborate on the principles and implementation manners of the present application. The description of the above embodiments is only used to help understand the method and its core idea of the present application; at the same time, for those of ordinary skill in the art, according to the idea of the present application, there will be changes in the specific implementation manners and application scopes. In summary, the content of this specification should not be construed as a limitation on the present application.
Claims
1. A PAC code fast decoding method based on neural network, characterized in that: The PAC code fast decoding method based on neural network includes: Obtaining several code words to be decoded and their LLR values; Classify the codewords to be decoded according to their LLR values, and determine the best decoding algorithm corresponding to each codeword to be decoded; Based on the LLR values of the codewords to be decoded and the optimal decoding algorithm, a neural network model is trained to obtain a trained neural network model; the neural network model is a model that takes the LLR values of the codewords to be decoded as input and outputs an output value representing the optimal decoding algorithm, and is used to classify the codewords to be decoded and determine the optimal decoding algorithm corresponding thereto; Obtaining a target codeword to be decoded and its LLR value, and inputting the LLR value of the target codeword to be decoded into the trained neural network model to determine an optimal decoding algorithm corresponding to the target codeword to be decoded; The target codeword to be decoded is decoded using the optimal decoding algorithm corresponding to the target codeword to be decoded to obtain a decoding result.
2. The PAC code fast decoding method based on neural network according to claim 1 is characterized in that: Classifying the codewords to be decoded according to their LLR values and determining the best decoding algorithm corresponding to each codeword to be decoded specifically includes: Set the complexity threshold Γ; According to the LLR value of each codeword to be decoded and the complexity threshold Γ, the Fano decoding algorithm is used to decode each codeword to be decoded, and the corresponding operation complexity D is calculated. F and the decoding result χ F ; The decoding result x F The value of is 0 or 1, 0 means decoding failure, 1 means decoding success; According to the LLR value of each codeword to be decoded and the complexity threshold Γ, a list decoding algorithm is used to decode each codeword to be decoded, and the corresponding operation complexity D is calculated. L and the decoding result χ L ; Among them, the decoding result x L The value of is 0 or 1, 0 means decoding failure, 1 means decoding success; According to the computational complexity D of each codeword to be decoded F , the decoding result x F , the computational complexity D L and the decoding result x L , calculate and obtain the classification parameter γ corresponding to each of the codewords to be decoded; According to the classification parameter γ corresponding to each of the code words to be decoded, the optimal decoding algorithm corresponding to each of the code words to be decoded is determined.
3. The PAC code fast decoding method based on neural network according to claim 2 is characterized in that: The classification parameter γ corresponding to each of the codewords to be decoded is calculated using the following formula: Among them, γ is the classification parameter, Γ is the complexity threshold, and D F represents the computational complexity of the Fano decoding algorithm when decoding, χ F Denotes the decoding result of Fano decoding algorithm, D L represents the computational complexity of the list decoding algorithm, χ L Indicates the decoding result when the list decoding algorithm is used.
4. The PAC code fast decoding method based on neural network according to claim 2 is characterized in that: Determining the optimal decoding algorithm corresponding to each of the codewords to be decoded according to the classification parameter γ corresponding to each of the codewords to be decoded specifically includes: When γ≥1, it is determined that the optimal decoding algorithm corresponding to the codeword to be decoded is a list decoding algorithm; When γ<1, it is determined that the optimal decoding algorithm corresponding to the codeword to be decoded is the Fano decoding algorithm.
5. The PAC code fast decoding method based on neural network according to claim 1 is characterized in that: Based on the LLR values of the codewords to be decoded and the optimal decoding algorithm, the neural network model is trained to obtain a trained neural network model, which specifically includes: Setting initial training parameters; the initial training parameters include maximum number of training times, loss value threshold, information bit length and code length; Divide the training data set and the test data set according to all the code words to be decoded, and initialize the number of training times; Using the training data set and the test data set to train and test the neural network model respectively, and calculating the loss value, and optimizing the parameters of the neural network model according to the loss value; When the loss value is less than the loss value threshold or reaches the maximum number of training times, the training is stopped to obtain a trained neural network model.
6. The PAC code fast decoding method based on neural network according to claim 1 is characterized in that: Obtaining a target codeword to be decoded and its LLR value, and inputting the LLR value of the target codeword to be decoded into the trained neural network model, and determining the optimal decoding algorithm corresponding to the target codeword to be decoded, specifically including: Obtain the target codeword to be decoded and its LLR value; Inputting the LLR value of the target codeword to be decoded into the trained neural network model to obtain an output value of the trained neural network model; According to the output value of the trained neural network model, the optimal decoding algorithm corresponding to the target codeword to be decoded is determined.
7. The neural network-based PAC code fast decoding method according to claim 6, characterized in that: Determining the optimal decoding algorithm corresponding to the target codeword to be decoded according to the output value of the trained neural network model, specifically comprising: When NN out >0.5, it is determined that the optimal decoding algorithm corresponding to the target codeword to be decoded is the list decoding algorithm; wherein, NN out Represents the output value of the trained neural network model; When NN out ≤0.5, it is determined that the optimal decoding algorithm corresponding to the target codeword to be decoded is the Fano decoding algorithm.
8. The PAC code fast decoding method based on neural network according to claim 1 is characterized in that: When the optimal decoding algorithm corresponding to the target codeword to be decoded is a list decoding algorithm, the target codeword to be decoded is decoded using the optimal decoding algorithm corresponding to the target codeword to be decoded to obtain a decoding result, which specifically includes: Set the code length N, the number of lists L, the position of the frozen bit A, the convolution generation coefficient c and the convolution limit length m; Initialize i=1, where i represents the i-th bit; According to the LLR value of the target codeword to be decoded, the log-likelihood ratio value of each path in the list is updated using the following formula: Among them, l represents the position parameter of the current path in the list, t represents the t+1 level of the decoding tree, o represents the oth node, ε∈[1,2 t-2 ]; Determine the type of the current bit and perform corresponding decoding processing, including: if Then perform the following operations: It is known that the decoding result of the current bit is The judgment value is calculated using the following formula: in, represents the decision value of the i-th bit, c represents the convolution coefficient, and m represents the length of the convolution coefficient; The path metric value of each path is updated using the following formula; in, represents the path metric value of the lth path at the ith bit, represents the LLR value corresponding to the lth path on the i-th node at the first layer of the decoding tree; If i∈A, then perform the following operations: Perform path extension operation on each path; The path metric value of each path is updated using the following formula; in, represents the path metric value of the lth path at the ith bit, represents the LLR value corresponding to the lth path on the i-th node at the first layer of the decoding tree; If the current path number L S If it is greater than the number of lists L, then L paths with the minimum path metric PM are retained, otherwise no operation is performed; Use the following formula to calculate the paths in the list: Update the value: in, is hard decision data, θ∈[1,2 t-1 ]; For i=i+1, if i<N, jump to step "According to the LLR value of the target codeword to be decoded, the log-likelihood ratio value of each path in the list is updated using the following formula: "; If i ≥ N, the path metrics of all paths are sorted from small to large, and the decoding codeword of the path with the smallest path metric is output as the final decoding result.
9. The PAC code fast decoding method based on neural network according to claim 1 is characterized in that: When the optimal decoding algorithm corresponding to the target codeword to be decoded is the Fano decoding algorithm, the target codeword to be decoded is decoded using the optimal decoding algorithm corresponding to the target codeword to be decoded to obtain a decoding result, which specifically includes: Set the code length N, the number of lists L, the Fano threshold M, the Fano threshold interval parameter Δ, the position of the frozen bit A, the convolution generation coefficient c and the convolution limit length m; Initialize i=1, where i represents the i-th bit; According to the LLR value of the target codeword to be decoded, the log-likelihood ratio value of each path in the list is updated using the following formula: value: Among them, l represents the position parameter of the current path in the list, t represents the t+1 level of the decoding tree, o represents the oth node, ε∈[1,2 t-2 ]; Determine the type of the current bit and perform corresponding decoding processing, including: if Then perform the following operations: It is known that the decoding result of the current bit is The judgment value is calculated using the following formula: in, represents the decision value of the i-th bit, c represents the convolution coefficient, and m represents the length of the convolution coefficient; The Fano path metric is updated using the following formula: in, represents the Fano path metric value of the current path at the i-th bit, represents the LLR value corresponding to the lth path on the ith node at the first layer of the decoding tree, represents the decision value of the i-th bit, φ i is the cutoff rate of the i-th bit; If i∈A, then perform the following operations: Generate two parallel paths, and the two parallel paths The values of are 0 and 1 respectively, and the judgment value is calculated by the following formula The Fano path metrics of the two paths are updated using the following formula, and the smaller one is selected as the current path: If the Fano path metric value PM of the current path i F ≥M, then M=M+Δ, and the following formula is used to calculate the path of each path in the list: Update the value: in, is hard decision data, θ∈[1,2 t-1 ]; If the Fano path metric of the current path Then return to the Fano path metric If all bits do not meet the condition, then M = M-Δ, and search the Fano path metric again. bits, and then perform a fallback operation; For i=i+1, if i<N, jump to step "According to the LLR value of the target codeword to be decoded, the log-likelihood ratio value of each path in the list is updated using the following formula: "Value"; if i ≥ N, the final decoding result is output.
10. A PAC code fast decoding system based on neural network, comprising: A memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor executes the computer program to implement the neural network-based PAC code fast decoding method according to any one of claims 1 to 9.
Citation Information
Cited By
PAC code low-complexity sequential decoding method and device, medium and product
CN121193274A