An improved PAC code fast list decoding method and related device
Through adaptive path pruning technology of dynamic node thresholds and fixed node thresholds, the path expansion rules of PAC codes are optimized, and the problem of long delay in PAC code decoding is solved, efficient decoding performance is achieved, and the application potential of PAC code in communication systems is improved.
Patent Information
- Application Number
- CN202510081135.3
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2025-01-20
- Publication Date
- 2025-08-22
- Estimated Expiration
- 2045-01-20
AI Technical Summary
The existing fast list decoding algorithm of PAC codes has the problem of excessive decoding delay, which limits its application in actual communication systems, especially the delay caused by sorting operations is difficult to further reduce.
Adaptive path pruning technology with dynamic node threshold and fixed node threshold is adopted to construct path expansion rules by distinguishing the reliability of information bits, combining adaptive path pruning technology to reduce the number of sorting operations, and introduce fixed path thresholds to reduce the number of surviving paths and optimize the path expansion rules.
It effectively reduces the decoding delay of PAC code, while ensuring high error correction performance, and improving the practicality of PAC code in communication systems.
Smart Images

Figure CN120017077B_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of communication technology, and in particular to an improved PAC code fast list decoding method and related devices. Background Art
[0002] Error correction coding plays an important role in ensuring reliable communication over wireless channels. Among various error correction codes, the polar code proposed by Arikan is the first channel code that can achieve the capacity of any symmetrical binary input discrete memoryless channels (BI-DMCs). However, finite-length polar codes under the successive cancellation (SC) decoding algorithm do not provide competitive error correction performance. To address this limitation, the successive cancellation list (SC list, SCL) decoding algorithm was introduced, which effectively narrowed the gap between SC and maximum-likelihood (ML) decoding. In addition, in the prior art, the polar code is cascaded with the cyclic redundancy check (CRC) code, and the cyclic redundancy check-assisted continuous cancellation list (CRC-aided SCL, CA-SCL) decoding algorithm is proposed, which further improves the error correction performance of the SCL decoder. These improvements have led to the adoption of polar codes in key channels of the 5G New Radio (NR) system standardized by 3GPP.
[0003] Polarization-adjusted convolutional (PAC) codes introduce a new polar code variant by cascading a rate-1 convolution pre-transformation with a polarization transformation, significantly improving the performance of polar codes. Specifically, PAC codes with a code length N of 128 and a code rate R of 0.5 can achieve capacity constraints under finite lengths using the Fano sequence decoding algorithm. At the same time, a list decoding algorithm for PAC codes with fixed complexity has also been proposed. Compared to the Fano sequential decoding algorithm, this decoding algorithm is a non-backtracking decoding algorithm and has advantages in worst-case complexity. However, to achieve error correction performance similar to the Fano sequential decoding algorithm, the list decoding algorithm must use a larger list size, which results in unbearable decoding delays.
[0004] In order to reduce the delay of list decoding algorithms, some fast list decoding algorithms for PAC codes have been proposed. (1) A four-node fast list decoding algorithm for PAC codes is proposed to improve the decoding complexity, which includes a rate-0 node, a rate-1 node, a single parity check node (SPC), and a reversal node (Rev). (2) A fast list decoding algorithm based on sequence repetition (SR) nodes is proposed to further reduce the decoding delay. (3) A more generalized T-type node is used to optimize the decoding delay. Although the fast list decoding algorithm can complete decoding at a higher level of the decoding tree, thereby avoiding the delay caused by traversing the entire code tree, the two basic modules in list decoding: list sorting and list copying still cause significant delay. To solve this problem, a series of schemes have been proposed to avoid unnecessary sorting operations caused by path extension, such as threshold-based list decoding algorithms, tree pruning techniques, and path splitting key sets. However, the decoding delay caused by the sorting operation still has the potential to be further reduced.
[0005] Therefore, how to further improve the practicality of PAC codes while ensuring error correction performance, so as to ensure that PAC codes can provide more reliable communication services in future communication systems, has become a technical problem that urgently needs to be solved in this field. Summary of the Invention
[0006] The purpose of this application is to provide an improved PAC code fast list decoding method and related devices, which can improve the decoding speed of the PAC code list decoding algorithm; while ensuring the high error correction performance of the PAC code.
[0007] To achieve the above objectives, this application provides the following solutions:
[0008] In a first aspect, the present application provides an improved PAC code fast list decoding method, the improved PAC code fast list decoding method comprising:
[0009] Obtaining a code type, basic parameters, decoding parameters, and log-likelihood ratio of a codeword to be decoded of decoding processing data; the code type of the decoding processing data includes: code rate and code length; the basic parameters include: bit threshold parameter, list size, convolution sequence, and convolution limit length; the decoding parameters include: special node matrix, first dynamic node threshold parameter, second dynamic node threshold parameter, fixed node threshold, and fixed path threshold.
[0010] The decoding parameters are initialized to obtain initialized decoding parameters.
[0011] The log-likelihood ratio of the codeword to be decoded is updated, and the type of the current node is determined.
[0012] When the current node is a low-code-rate node, a path extension operation is performed according to the fixed node threshold.
[0013] Path deletion is performed using the fixed path threshold.
[0014] When the current node is a high-code-rate node, the updated log-likelihood ratio values of the codewords to be decoded are sorted, and the first dynamic node threshold parameter and the second dynamic node threshold parameter are updated.
[0015] A path extension operation is performed according to the updated first dynamic node threshold parameter and the second dynamic node threshold parameter.
[0016] Path deletion is performed using a dynamic path threshold and the fixed path threshold; the dynamic path threshold is a threshold for path acquisition based on a maximum path metric value.
[0017] The dynamic path threshold and the hard decision data are updated to determine an updated path metric value and updated hard decision data.
[0018] All updated path metrics are sorted from small to large, and the decoded codeword of the path with the smallest path metric is taken as the final decoding result.
[0019] In a second aspect, the present application provides a computer device 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 any one of the above-described improved PAC code fast list decoding methods.
[0020] In a third aspect, the present application provides a computer-readable storage medium having a computer program stored thereon, which, when executed by a processor, implements any one of the above-mentioned improved PAC code fast list decoding methods.
[0021] In a fourth aspect, the present application provides a computer program product, comprising a computer program, which, when executed by a processor, implements any one of the above-mentioned improved PAC code fast list decoding methods.
[0022] According to the specific embodiments provided in this application, this application discloses the following technical effects:
[0023] The present application provides an improved PAC code fast list decoding method and related device, which includes: obtaining a code type, basic parameters, decoding parameters and a log-likelihood ratio value of a codeword to be decoded for decoding processing data; the code type of the decoding processing data includes: code rate and code length; the basic parameters include: bit threshold parameter, list size, convolution sequence and convolution limit length; the decoding parameters include: a special node matrix, a first dynamic node threshold parameter, a second dynamic node threshold parameter, a fixed node threshold and a fixed path threshold; initializing the decoding parameters to obtain initialized decoding parameters; updating the log-likelihood ratio value of the codeword to be decoded and determining the type of the current node; when the current node is a low code rate node, performing a path extension operation according to the fixed node threshold ; Path deletion is performed using the fixed path threshold; when the current node is a high code rate node, the updated log-likelihood ratio values of the codewords to be decoded are sorted, and the first dynamic node threshold parameter and the second dynamic node threshold parameter are updated; a path extension operation is performed according to the updated first dynamic node threshold parameter and the second dynamic node threshold parameter; path deletion is performed using the dynamic path threshold and the fixed path threshold; the dynamic path threshold is a threshold obtained based on the path with the maximum path metric value; the dynamic path threshold and the hard decision data are updated to determine the updated path metric value and the updated hard decision data; all updated path metric values are sorted from small to large, and the decoded codeword of the path with the minimum path metric value is used as the final decoding result. This application combines node thresholds and adaptive path pruning technology; node thresholds are used to optimize path expansion rules, effectively avoiding unnecessary path expansion on highly reliable information bits; adaptive path pruning technology is used to reduce the number of sorting operations, thereby effectively improving computational efficiency. Finally, a fixed path threshold is introduced to further reduce the number of surviving paths, thereby effectively reducing decoding delay and ensuring high error correction performance of the PAC code. BRIEF DESCRIPTION OF THE DRAWINGS
[0024] In order to more clearly illustrate the embodiments of the present application or the technical solutions in the prior art, the following briefly introduces the drawings required for use in the embodiments. Obviously, the drawings described below are only some embodiments of the present application. For ordinary technicians in this field, other drawings can be obtained based on these drawings without creative work.
[0025] Figure 1 This is a diagram of the application environment of an improved PAC code fast list decoding method in one embodiment of the present application.
[0026] Figure 2 A flowchart of an improved PAC code fast list decoding method provided in one embodiment of the present application is shown.
[0027] Figure 3 A schematic diagram of the implementation steps of the decoding processing stage provided in one embodiment of the present application.
[0028] Figure 4 A schematic diagram of the implementation steps of the parameter initialization phase provided in one embodiment of the present application.
[0029] Figure 5 This is a schematic diagram comparing the error correction performance of this application with different decoding algorithms.
[0030] Figure 6 A schematic diagram of the structure of a computer device provided in one embodiment of the present application. DETAILED DESCRIPTION
[0031] The following will be combined with the drawings in the embodiments of this application to clearly and completely describe the technical solutions in the embodiments of this application. Obviously, the embodiments described are only part of the embodiments of this application, not all of the embodiments. Based on the embodiments in this application, all other embodiments obtained by ordinary technicians in this field without making creative efforts are within the scope of protection of this application.
[0032] In order to make the above-mentioned purposes, features and advantages of the present application more obvious and easy to understand, the present application is further described in detail below with reference to the accompanying drawings and specific implementation methods.
[0033] As previously mentioned, the decoding delay of the current PAC code list decoding algorithm has room for further reduction, especially the decoding delay caused by the sorting operation. At the same time, the high decoding delay also limits the application of PAC codes in practical communication systems. This application can reduce the significant delay of the list decoder, improving the decoding speed of the PAC code list decoding algorithm while maintaining the high error correction performance of the PAC code.
[0034] The improved PAC code fast list decoding method provided in the embodiment of the present application can be applied to Figure 1In the application environment shown, the terminal 102 communicates with the server 104 via a network. The data storage system can store 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 acquired code type, basic parameters, decoding parameters and log-likelihood ratio of the decoded processing data to the server 104, wherein the code type of the decoded processing data includes: code rate and code length; the basic parameters include: bit threshold parameter, list size, convolution sequence and convolution limit length; the decoding parameters include: special node matrix, first dynamic node threshold parameter, second dynamic node threshold parameter, fixed node threshold and fixed path threshold; after the server 104 receives the code type, basic parameters, decoding parameters and log-likelihood ratio of the decoded processing data, the server 104 initializes the decoding parameters to obtain the initialized decoding parameters; updates the log-likelihood ratio of the code word to be decoded, and determines the type of the current node; when the current node is a low code rate node ... Performing a path extension operation based on the fixed node threshold; deleting a path using the fixed path threshold; when the current node is a high-rate node, sorting the updated log-likelihood ratio values of the codewords to be decoded, and updating the first dynamic node threshold parameter and the second dynamic node threshold parameter; performing a path extension operation based on the updated first dynamic node threshold parameter and the second dynamic node threshold parameter; deleting a path using the dynamic path threshold and the fixed path threshold; the dynamic path threshold being a threshold obtained based on the path with the maximum path metric value; updating the dynamic path threshold and hard decision data to determine an updated path metric value and the updated hard decision data; sorting all updated path metric values from small to large, and using the decoded codeword of the path with the minimum path metric value as the final decoding result. Server 104 can provide feedback of the final decoding result to terminal 102. In addition, in some embodiments, the improved PAC code quick list decoding method can also be implemented independently by the server 104 or the terminal 102. For example, the terminal 102 can directly decode the code type, basic parameters, decoding parameters and log-likelihood ratio of the codeword to be decoded of the obtained decoding processing data, or the server 104 can obtain the code type, basic parameters, decoding parameters and log-likelihood ratio of the codeword to be decoded of the decoding processing data from the data storage system and decode the obtained data.
[0035] The terminal 102 may be, but is not limited to, various desktop computers, laptop computers, smart phones, and tablet computers. The server 104 may be implemented as an independent server or a server cluster consisting of multiple servers, or a cloud server.
[0036] In an exemplary embodiment, Figure 2 and Figure 3 As shown, an improved PAC code fast list decoding method is provided. The method is executed by a computer device, specifically, it can be executed by a computer device such as a terminal or a server alone, or it can be executed by a terminal and a server together. In the embodiment of the present application, the method is applied to Figure 1 The server 104 in FIG. 1 is used as an example to illustrate the method, which includes the following steps S1 to S10.
[0037] in:
[0038] S1: Obtain the code type, basic parameters, decoding parameters and log-likelihood ratio of the codeword to be decoded of the decoding processing data; the code type of the decoding processing data includes: code rate and code length; the basic parameters include: bit threshold parameter, list size, convolution sequence and convolution limit length; the decoding parameters include: special node matrix, first dynamic node threshold parameter, second dynamic node threshold parameter, fixed node threshold and fixed path threshold.
[0039] S2: Initialize the decoding parameters to obtain initialized decoding parameters.
[0040] S3: Update the log-likelihood ratio of the codeword to be decoded and determine the type of the current node.
[0041] S4: When the current node is a low-code-rate node, a path extension operation is performed according to the fixed node threshold.
[0042] S5: Deleting paths using the fixed path threshold.
[0043] S6: When the current node is a high-code-rate node, sort the updated log-likelihood ratios of the codewords to be decoded, and update the first dynamic node threshold parameter and the second dynamic node threshold parameter.
[0044] S7: Perform a path extension operation according to the updated first dynamic node threshold parameter and the second dynamic node threshold parameter.
[0045] S8: Deleting paths using a dynamic path threshold and the fixed path threshold; the dynamic path threshold is a threshold for path acquisition based on a maximum path metric value.
[0046] S9: Update the dynamic path threshold and hard decision data to determine an updated path metric value and updated hard decision data.
[0047] S10: Sort all updated path metric values from small to large, and take the decoded codeword of the path with the smallest path metric value as the final decoding result.
[0048] The decoding method designed in this application consists of two main steps: the first step is to initialize and configure the decoding parameters required according to the specific decoding requirements. Based on the code type of the decoded data, namely the code rate and code length, the location of special nodes is determined and the corresponding decoding parameters are initialized. The second step is to decode the data to be decoded and output the decoding results after the decoding is completed.
[0049] Implementing the above steps S1 to S10 can reduce the processing delay of the PAC decoder without reducing the high error correction performance of the PAC code, which is specifically embodied in:
[0050] (1) This application proposes dynamic node thresholds and fixed node thresholds to avoid unnecessary path extensions during fast list decoding. Based on the proposed node thresholds, a new path extension rule is constructed by distinguishing the reliability of information bits, which significantly reduces decoding delay.
[0051] (2) This application proposes an adaptive path pruning technique to remove unreliable paths from the list. The technique consists of two parts: a dynamic path threshold and a fixed path threshold. The first part proposes a dynamic path threshold based on the existing path sorting without introducing any additional computational overhead. The second part introduces a fixed path threshold to further reduce the number of surviving paths, thereby effectively reducing decoding delay.
[0052] like Figure 4 As shown, in an exemplary embodiment, initializing the special node matrix specifically includes:
[0053] A1: Obtain the code rate, the code length, and the bit threshold parameters.
[0054] A2: Construct a polarized channel according to the construction mode and the code length, and determine a frozen bit position according to the code rate.
[0055] A3: Determine the type of the current node according to the code length and the frozen bit position.
[0056] A4: If only the first bit of the current node is a frozen bit, the current node is determined to be an SPC node, classified as a high-rate node, and the current node index and current node length are recorded in the special node matrix.
[0057] A5: If all bits of the current node are information bits, the current node is determined to be a Rate-1 node, classified as a high-rate node, and the current node index and current node length are recorded in the special node matrix.
[0058] A6: If the number of information bits of the current node is less than or equal to the bit threshold parameter, the current node is determined to be a T-type node, classified as a low-code-rate node, and the current node index and the current node length are recorded in the special node matrix.
[0059] Specifically, the initialization of the special node matrix n_martix can be divided into the following steps:
[0060] 1. Input code rate R, code length N and bit threshold parameter T.
[0061] 2. Select a construction method, construct a polarized channel based on the code length N, and select a frozen bit position A based on the code rate R.
[0062] 3. Determine the node type based on the code length N and the frozen bit position A.
[0063] 3.1. If only the first bit of the node is frozen, it is determined to be an SPC node, classified as a high-rate node, and the node index and length N are recorded. S to the special node matrix n_martix.
[0064] 3.2. If all bits of the node are information bits, it is determined to be a Rate-1 node, classified as a high-rate node, and the node index and length N are recorded. S to the special node matrix n_martix.
[0065] 3.3. If the number of information bits of a node is less than or equal to T, it is determined to be a T-type node, classified as a low-code rate node, and the node index and length N are recorded. S to the special node matrix n_martix.
[0066] 4. Output the special node matrix n_martix.
[0067] In an exemplary embodiment, initializing the first dynamic node threshold parameter specifically includes:
[0068] B1: Obtain the code rate, code length, frozen bit position, list size, special node matrix, and signal-to-noise ratio to be tested.
[0069] B2: Obtain a maximum length of an SPC node in the special node matrix according to the code rate, the code length, the frozen bit position, the list size, the special node matrix, and the signal-to-noise ratio to be tested.
[0070] B3: Set the preset parameter i=0, obtain the frame error rate performance at the signal-to-noise ratio to be tested, and calculate the frame error rate performance loss;
[0071] B4: Determine whether the frame error rate performance loss is less than 1% to obtain a first determination result.
[0072] B5: If the first judgment result is yes, then i is used as the optimal value of the first dynamic node threshold parameter under the signal-to-noise ratio to be tested.
[0073] B6: If the first judgment result is no, then set the preset parameter to i=i+1, and judge Whether it is established, the second judgment result is obtained; wherein, is the maximum length of the SPC node in the special node matrix, and L is the list size.
[0074] B7: If the second judgment result is no, return to the step of "obtaining the frame error rate performance at the signal-to-noise ratio to be tested at this time, and calculating the frame error rate performance loss".
[0075] B8: If the second judgment result is yes, then i is used as the optimal value of the first dynamic node threshold parameter under the signal-to-noise ratio to be tested.
[0076] Specifically, for the dynamic node threshold parameter S SPC The initialization can be divided into the following steps:
[0077] 1. Input the code rate R, code length N, frozen bit position A, list size L, special node matrix n_martix, and the signal-to-noise ratio to be tested Y.
[0078] 2. Get the maximum length of the SPC node in n_martix and set it as a parameter
[0079] 3. Set the preset parameter i=0.
[0080] 4. Test S SPC = i, the frame error rate performance FLD of the decoding algorithm proposed in this application at the signal-to-noise ratio Y to be tested FER .
[0081] 5. Calculate the frame error rate performance loss Loss according to the following formula FER .
[0082]
[0083] List FER is the frame error rate performance of the list decoding algorithm at the signal-to-noise ratio Y to be tested. If Loss FER <1%, jump to step 7, otherwise proceed to the next step.
[0084] 6. Set parameter i=i+1. If If yes, proceed to the next step; otherwise, jump to step 4.
[0085] 7. Output i value as S SPC The optimal value under the signal-to-noise ratio Y to be tested.
[0086] In an exemplary embodiment, initializing the second dynamic node threshold parameter specifically includes:
[0087] C1: Obtain the code rate, code length, frozen bit position, list size, special node matrix, and signal-to-noise ratio to be tested.
[0088] C2: Obtain a maximum length of a Rate-1 node in the special node matrix according to the code rate, the code length, the frozen bit position, the list size, the special node matrix, and the signal-to-noise ratio to be tested.
[0089] C3: Set the preset parameter to i=0, obtain the frame error rate performance at the signal-to-noise ratio to be tested at this time, and calculate the frame error rate performance loss.
[0090] C4: Determine whether the frame error rate performance loss is less than 1%, and obtain a third determination result.
[0091] C5: If the third judgment result is yes, then i is used as the optimal value of the second dynamic node threshold parameter under the signal-to-noise ratio to be tested.
[0092] C6: If the third judgment result is no, then set the preset parameter to i=i+1, and judge Whether it is established, the fourth judgment result is obtained; wherein, is the maximum length of the Rate-1 node in the special node matrix, and L is the list size.
[0093] C7: If the fourth judgment result is no, return to the step of "obtaining the frame error rate performance at the signal-to-noise ratio to be tested at this time, and calculating the frame error rate performance loss".
[0094] C8: If the fourth judgment result is yes, then i is used as the optimal value of the second dynamic node threshold parameter under the signal-to-noise ratio to be tested.
[0095] Specifically, for the dynamic node threshold parameter S Rate-1 The initialization can be divided into the following steps:
[0096] 1. Input the code rate R, code length N, list size L, frozen bit position A, special node matrix n_martix, and the signal-to-noise ratio to be tested Y.
[0097] 2. Get the maximum length of the Rate-1 node in n_martix and set it as a parameter
[0098] 3. Set parameter i=0.
[0099] 4. Test S Rate-1 = i, the frame error rate performance FLD of the decoding algorithm proposed in this application at the signal-to-noise ratio Y to be tested FER .
[0100] 5. Calculate the frame error rate performance loss Loss according to formula (1) FER If Loss FER <1%, jump to step 7, otherwise proceed to the next step.
[0101] 6. Set parameter i=i+1. If If yes, proceed to the next step; otherwise, jump to step 4.
[0102] 7. Output i value as S Rate-1 The optimal value under the signal-to-noise ratio Y to be tested.
[0103] In an exemplary embodiment, initializing the fixed node threshold specifically includes:
[0104] D1: Obtain the code rate, code length, frozen bit position, list size, and signal-to-noise ratio to be tested.
[0105] D2: Set the preset parameter to i=0 and determine the search interval.
[0106] D3: Obtain the frame error rate performance at the signal-to-noise ratio to be tested at this time, and calculate the frame error rate performance loss.
[0107] D4: Determine whether the frame error rate performance loss is less than 1%, and obtain a fifth determination result.
[0108] D5: If the fifth judgment result is no, the preset parameter is set to i=i+i_interval, and the process returns to the step of "obtaining the frame error rate performance at the signal-to-noise ratio to be tested at this time, and calculating the frame error rate performance loss"; wherein i_interval is the searched interval.
[0109] D6: If the fifth judgment result is yes, then i is used as the optimal value of the fixed node threshold under the signal-to-noise ratio to be tested.
[0110] Specifically, for fixed node threshold The initialization can be divided into the following steps:
[0111] 1. Enter the code rate R, code length N, frozen bit position A, list size L, and the signal-to-noise ratio to be tested Y.
[0112] 2. Set the parameter i=0 and the search interval i_interval.
[0113] 3. Testing The frame error rate performance FLD of the decoding algorithm proposed in this application at the signal-to-noise ratio Y to be tested is FER .
[0114] 4. Calculate the frame error rate performance loss Loss according to formula (1) FER If Loss FER <1%, jump to step 6, otherwise proceed to the next step.
[0115] 5. Set parameter i = i + i_interval and jump to step 3.
[0116] 6. Output the value of i as The optimal value under the signal-to-noise ratio Y to be tested.
[0117] In an exemplary embodiment, initializing the fixed path threshold specifically includes:
[0118] E1: Obtain the code rate, code length, frozen bit position, list size, and signal-to-noise ratio to be tested.
[0119] E2: Set the preset parameter to i=0 and determine the search interval.
[0120] E3: Obtain the frame error rate performance at the signal-to-noise ratio to be tested at this time, and calculate the frame error rate performance loss.
[0121] E4: Determine whether the frame error rate performance loss is less than 1%, and obtain a sixth determination result.
[0122] E5: If the sixth judgment result is no, set the preset parameter to i=i+i_interval, and return to the step of "obtaining the frame error rate performance at the signal-to-noise ratio to be tested at this time, and calculating the frame error rate performance loss"; wherein i_interval is the searched interval.
[0123] E6: If the sixth judgment result is yes, then i is used as the optimal value of the fixed path threshold under the signal-to-noise ratio to be tested.
[0124] Specifically, for fixed path threshold The initialization can be divided into the following steps:
[0125] 1. Enter the code rate R, code length N, frozen bit position A, list size L, and the signal-to-noise ratio to be tested Y.
[0126] 2. Set the parameter i=0 and the search interval i_interval.
[0127] 3. Testing The frame error rate performance FLD of the decoding algorithm proposed in this application at the signal-to-noise ratio Y to be tested is FER .
[0128] 4. Calculate the frame error rate performance loss Loss according to formula (1) FER If Loss FER <1%, jump to step 6, otherwise proceed to the next step.
[0129] 5. Set parameter i = i + i_interval and jump to step 3.
[0130] 6. Output the value of i as The optimal value under the signal-to-noise ratio Y to be tested.
[0131] In an exemplary embodiment, the decoding process can be divided into the following steps:
[0132] 1. Input code length N, list size L, frozen bit position A, convolution sequence c, convolution limit length m, special node matrix n_martix, dynamic node threshold parameter S SPC and S Rate-1 , fixed node threshold Fixed path threshold And the log-likelihood ratio LLR of the codeword to be decoded.
[0133] 2. Initialize i=1.
[0134] 3. Update the log-likelihood ratio of each path in the list Value, where l represents the position parameter of the current path in the list, t represents the level in the decoding code tree, and o represents the oth node at the tth level of the decoding code tree.
[0135] 3.1 If i = 1, then according to the LLR value Assignment.
[0136] 3.2 If i>1, then use the following formula to Perform the calculation:
[0137]
[0138] Among them, l represents the position parameter of the current path in the list, t represents the level in the decoding code tree, and o represents the oth node located at the tth level of the decoding code tree. Value representation and The corresponding hard decision data.
[0139] 4. Determine the type of the current node and perform corresponding decoding processing.
[0140] 4.1 If it is a high-rate node, extract the length N of the current node according to the special node matrix n_martix S , then perform the following operations.
[0141] 4.1.1 Regarding the current Sort by dynamic threshold parameter S SPC and S Rate-1 Update dynamic node threshold
[0142] 4.1.2 Set j=1.
[0143] 4.1.3 If Directly perform the hard decision operation and then go to step 4.1.5; otherwise go to step 4.1.4.
[0144] 4.1.4 If Directly perform hard decision operation, otherwise perform path extension operation.
[0145] 4.1.5 If the current path number L S If the number of paths is greater than the number of lists L, then L paths with the minimum path metric PM are retained, and the dynamic path threshold is updated according to the following formula Otherwise, no action is performed.
[0146]
[0147] Among them, l max Indicates the position of the path with the maximum path metric value in the current stage in the list.
[0148] 4.1.6 Let j = j + 1.
[0149] 4.1.7 If j>N S , go to step 5, otherwise go to step 4.1.3.
[0150] 4.2 If it is a low-bitrate node, extract the length N of the current node according to the special node matrix n_martix S , then perform the following operations.
[0151] 4.2.1 Perform path extension operation based on the following formula.
[0152]
[0153] Among them, u l [i] represents the hard decision value of the current stage, is the log-likelihood ratio value of each path in the list, l is the position parameter of the current path in the list, t is the level of the decoding tree, o is the oth node at the tth level of the decoding tree, k is the current preset parameter, is the fixed node threshold.
[0154] 4.2.2 Update the path metric value of each path based on the following formula.
[0155]
[0156] in,
[0157] 4.2.3 If the current path Greater than Delete the current path, otherwise do nothing.
[0158] 4.2.4 If the current path number L S If it is greater than the number of lists L, then retain L paths with the minimum path metric PM and update according to formula (4) Otherwise, no action is performed.
[0159] 5. For each path in the list The value is updated according to the following formula:
[0160]
[0161] Among them, l represents the position parameter of the current path in the list, t represents the level in the decoding code tree, and o represents the oth node located at the tth level of the decoding code tree.
[0162] 6. Let i=i+N S , if i<N, jump to step 3, otherwise execute the next step.
[0163] 7. Sort the path metric values of all paths from small to large, and output the decoding codeword of the path with the smallest path metric value as the final decoding result.
[0164] Compared to the current fast list decoding algorithm, this application reduces the processing delay of the list decoding algorithm while maintaining the high error correction performance of the PAC code. To demonstrate the beneficial effects of the proposed algorithm compared to the current algorithm, we conducted two verifications. First, we calculated the decoding delay of this application and compared it with the current algorithm; second, we tested the algorithm's frame error rate performance for PAC codes with different bit rates and code lengths.
[0165] The test utilizes binary phase shift keying (BPSK) modulation to transmit codewords over an additive white Gaussian noise (AWGN) channel. For N∈{128,256} and N=64, we employ the Reed-Muller (RM) and Monte-Carlo (MC) constructions, respectively. The proposed method ensures a frame error rate loss of less than 1% at each test signal-to-noise ratio. The generator coefficients for the convolution operation in the PAC code are c=(1,0,1,1,0,1,1,0,1,1). To ensure reliable results, at least 500 error frames were collected at each test signal-to-noise ratio.
[0166] The calculation of decoding delay is divided into two cases: limited resources and unlimited resources.
[0167] Table 1 The delay reduction ratio of this application compared with the T-node optimization method under limited resources
[0168]
[0169] Table 1 shows the comparison of decoding delay under limited resources. The calculation rules are as follows: First, the decoding delay of Rate-0 node is set as the benchmark, that is, 1 cycle. Second, compared with Rate-0 node, T-type node needs to r The decoding operation is performed on the path, where K r Represents the number of low reliability information bits after threshold selection. Therefore, T-type nodes require 2K r cycles to complete decoding. Third, high-rate nodes need to decode the information bits sequentially, and each low-reliability information bit needs to perform a path extension operation. Fourth, if a high-rate node has no information bits that need to perform a path extension operation, its decoding delay is one cycle. It can be seen that compared with the T-type node optimization method, the improved fast list decoding algorithm proposed in this application reduces the delay by up to 75.18%.
[0170] Table 2: The delay reduction ratio of this application compared with the T-type node optimization method under the condition of unlimited resources
[0171]
[0172] Table 2 shows the comparison of decoding delays without resource constraints. The calculation rules adopted are as follows: First, since there are no resource constraints, all parallelizable operations can be completed within 1 cycle. Second, the replication of L paths, the sorting of the corresponding path metrics of 2L paths, and the selection of the most reliable L paths are all completed in 1 cycle. Third, the sorting operation of the log-likelihood ratio is completed in one cycle. Fourth, the hard decision operation of the log-likelihood ratio, polarization conversion, and single-bit convolution operations can all be executed instantly without consuming delay. Fifth, each multi-bit convolution operation consumes one cycle. The data in Table 2 show that compared with the T-type node optimization method, the improved fast list decoding algorithm proposed in this application can reduce the decoding delay by up to 60.99%.
[0173] Figure 5 The error correction performance comparison between this application and different decoding algorithms at different code rates and code lengths is shown. Since the error correction performance loss of the introduction of T-type nodes is negligible compared with the traditional list algorithm, this application adopts the T-type node optimization method as the comparison algorithm. It can be seen that under different code rates and code lengths, this application has similar error correction performance compared with the T-type node optimization method. Compared with the polar code using the simplified successive cancellation (SSC) decoding algorithm and CA-SCL decoding algorithm in the 5G standard, this application also demonstrates better error correction performance, which further illustrates the application potential of this application in mobile communication systems. In addition, Figure 5 The Frame Error Rate (FER) performance of this application using floating-point and fixed-point quantization when L = 4 is also shown. It can be seen that the error correction performance loss caused by using fixed-point quantization is negligible. The test results show that the fast list decoding algorithm proposed in this invention can further reduce decoding latency while ensuring the high error correction performance of PAC codes.
[0174] The present application also provides an application scenario, which applies the above-mentioned improved PAC code fast list decoding method. Specifically: the improved PAC code fast list decoding method provided by this embodiment can be applied in a communication technology scenario. The communication technology scenario includes: a data acquisition link, an initialization link, a node type judgment link, a first path expansion link, a first path deletion link, a first sorting and first update link, a second path expansion link, a second path deletion link, a second update link and a second sorting link; specifically: obtaining the code type, basic parameters, decoding parameters and log-likelihood ratio of the codeword to be decoded of the decoding processing data; the code type of the decoding processing data includes: code rate and code length; the basic parameters include: bit threshold parameter, list size, convolution sequence and convolution limit length; the decoding parameters include: special node matrix, first dynamic node threshold parameter, second dynamic node threshold parameter, fixed node threshold and fixed path threshold; initialize the decoding parameters to obtain the initialized decoding parameters; update the log-likelihood ratio of the codeword to be decoded, and judge the type of the current node; When the current node is a low-code-rate node, a path extension operation is performed according to the fixed node threshold; the fixed path threshold is used to delete the path; when the current node is a high-code-rate node, the updated log-likelihood ratio values of the codewords to be decoded are sorted, and the first dynamic node threshold parameter and the second dynamic node threshold parameter are updated; a path extension operation is performed according to the updated first dynamic node threshold parameter and the second dynamic node threshold parameter; the path is deleted using the dynamic path threshold and the fixed path threshold; the dynamic path threshold is a threshold obtained based on the path with the maximum path metric value; the dynamic path threshold and hard decision data are updated to determine the updated path metric value and the updated hard decision data; all updated path metric values are sorted from small to large, and the decoded codeword of the path with the minimum path metric value is used as the final decoding result.
[0175] In an exemplary embodiment, a computer device is provided. The computer device may be a server or a terminal. The internal structure diagram thereof may be as follows: Figure 6As shown. The computer device includes a processor, a memory, an input / output interface (I / O) and a communication interface. The processor, memory and input / output interface are connected via a system bus, and the communication interface is connected to the system bus via the input / output interface. 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 computer program in the non-volatile storage medium. The database of the computer device is used to store code types, basic parameters, decoding parameters and log-likelihood ratio values of codewords to be decoded for decoding processing data. The input / output interface of the computer device is used to exchange information between the processor and an external device. The communication interface of the computer device is used to communicate with an external terminal via a network connection. When the computer program is executed by the processor, an improved PAC code fast list decoding method is implemented.
[0176] Those skilled in the art will understand that Figure 6 The structure shown in the figure is only a block diagram of a part of the structure 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 shown in the figure, or combine certain components, or have a different component arrangement.
[0177] In an exemplary embodiment, a computer device is further provided, including a memory and a processor. The memory stores a computer program, and the processor implements the above method embodiments when executing the computer program.
[0178] In an exemplary embodiment, a computer-readable storage medium is provided, storing a computer program, which implements the above-mentioned method embodiments when executed by a processor.
[0179] In an exemplary embodiment, a computer program product is provided, including a computer program. When the computer program is executed by a processor, the above method embodiments are implemented.
[0180] It should be noted that the user information (including but not limited to user device information, user personal information, etc.) and data (including but not limited to data used for analysis, stored data, displayed data, etc.) involved in this application are all information and data authorized by the user or fully authorized by all parties, and the collection, use and processing of relevant data must comply with relevant regulations.
[0181] Those skilled in the art will understand that all or part of the processes in the above-mentioned embodiment methods can be implemented by instructing the relevant hardware through a computer program, and the computer program can be stored in a non-volatile computer-readable storage medium. When the computer program is executed, it can include the processes of the embodiments of the above-mentioned methods. Among them, any reference to memory, database or other media used in the embodiments provided in this application may include at least one of non-volatile and volatile memory. Non-volatile memory may include read-only memory (ROM), magnetic tape, floppy disk, flash memory, optical memory, high-density embedded non-volatile memory, resistive random access memory (ReRAM), magnetic random access memory (MRAM), ferroelectric random access memory (FRAM), phase change memory (PCM), graphene memory, etc. Volatile memory may include random access memory (RAM) or external cache memory, etc. By way of illustration and not limitation, RAM may be in various forms, such as static random access memory (SRAM) or dynamic random access memory (DRAM).
[0182] The databases involved in the various embodiments provided herein may include at least one of a relational database and a non-relational database. Non-relational databases may include, but are not limited to, distributed databases based on blockchains. The processors involved in the various embodiments provided herein may include, but are not limited to, general-purpose processors, central processing units, graphics processing units, digital signal processors, programmable logic units, data processing logic units based on quantum computing, and the like.
[0183] The technical features of the above embodiments can be combined arbitrarily. To make the description concise, 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, they should be considered to be within the scope of this specification.
[0184] This document uses specific examples to illustrate the principles and implementation methods of this application. The description of the above examples is only intended to help understand the method and core concept of this application. At the same time, for those skilled in the art, based on the concept of this application, there may be changes in the specific implementation methods and application scope. In summary, the content of this specification should not be understood as limiting this application.
Claims
1. An improved PAC code fast list decoding method, characterized in that: The improved PAC code fast list decoding method includes: Obtaining a code type, basic parameters, decoding parameters, and a log-likelihood ratio of a codeword to be decoded for decoding processing data; the code type of the decoding processing data includes: a code rate and a code length; the basic parameters include: a bit threshold parameter, a list size, a convolution sequence, and a convolution limit length; the decoding parameters include: a special node matrix, a first dynamic node threshold parameter, a second dynamic node threshold parameter, a fixed node threshold, and a fixed path threshold; Initializing the decoding parameters to obtain initialized decoding parameters; Updating the log-likelihood ratio of the codeword to be decoded and determining the type of the current node; When the current node is a low-code-rate node, performing a path extension operation according to the fixed node threshold; Deleting paths using the fixed path threshold; When the current node is a high code rate node, sorting the updated log-likelihood ratio values of the codewords to be decoded, and updating the first dynamic node threshold parameter and the second dynamic node threshold parameter; performing a path extension operation according to the updated first dynamic node threshold parameter and the second dynamic node threshold parameter; Path deletion is performed using a dynamic path threshold and the fixed path threshold; the dynamic path threshold is a threshold for path acquisition based on a maximum path metric value; Updating the dynamic path threshold and the hard decision data to determine an updated path metric value and an updated hard decision data; All updated path metrics are sorted from small to large, and the decoded codeword of the path with the smallest path metric is taken as the final decoding result.
2. The improved PAC code fast list decoding method according to claim 1, characterized in that: Initializing the special node matrix specifically includes: Obtaining the code rate, the code length, and the bit threshold parameter; constructing a polarized channel according to the construction mode and the code length, and determining a frozen bit position according to the code rate; Determining the type of the current node according to the code length and the frozen bit position; If only the first bit of the current node is frozen, the current node is determined to be an SPC node, classified as a high-rate node, and the current node index and current node length are recorded in the special node matrix; If all bits of the current node are information bits, the current node is determined to be a Rate-1 node, classified as a high-rate node, and the current node index and current node length are recorded in the special node matrix; If the number of information bits of the current node is less than or equal to the bit threshold parameter, the current node is determined to be a T-type node, classified as a low-code-rate node, and the current node subscript and the current node length are recorded in the special node matrix.
3. The improved PAC code fast list decoding method according to claim 2, characterized in that: Initializing the first dynamic node threshold parameter specifically includes: Get the code rate, code length, frozen bit position, list size, special node matrix and signal-to-noise ratio to be tested; Obtaining a maximum length of an SPC node in the special node matrix according to the code rate, the code length, the frozen bit position, the list size, the special node matrix, and the signal-to-noise ratio to be tested; Set the preset parameter i=0, obtain the frame error rate performance at the signal-to-noise ratio to be tested at this time, and calculate the frame error rate performance loss; Determine whether the frame error rate performance loss is less than 1%, and obtain a first determination result; If the first judgment result is yes, then i is used as the optimal value of the first dynamic node threshold parameter under the signal-to-noise ratio to be tested; If the first judgment result is no, the preset parameter is set to i=i+1, and the judgment Whether it is established, the second judgment result is obtained; wherein, is the maximum length of the SPC node in the special node matrix, and L is the list size; If the second judgment result is no, return to the step of "obtaining the frame error rate performance at the signal-to-noise ratio to be tested at this time, and calculating the frame error rate performance loss"; If the second judgment result is yes, then i is used as the optimal value of the first dynamic node threshold parameter under the signal-to-noise ratio to be tested.
4. The improved PAC code fast list decoding method according to claim 3, characterized in that: Initializing the second dynamic node threshold parameter specifically includes: Get the code rate, code length, frozen bit position, list size, special node matrix and signal-to-noise ratio to be tested; Obtaining a maximum length of a Rate-1 node in the special node matrix according to the code rate, the code length, the frozen bit position, the list size, the special node matrix, and the signal-to-noise ratio to be tested; Set the preset parameter i=0, obtain the frame error rate performance at the signal-to-noise ratio to be tested at this time, and calculate the frame error rate performance loss; Determine whether the frame error rate performance loss is less than 1%, and obtain a third determination result; If the third judgment result is yes, then i is used as the optimal value of the second dynamic node threshold parameter under the signal-to-noise ratio to be tested; If the third judgment result is no, the preset parameter is set to i=i+1, and the Whether it is established, the fourth judgment result is obtained; wherein, is the maximum length of the Rate-1 node in the special node matrix, and L is the list size; If the fourth judgment result is no, return to the step of "obtaining the frame error rate performance at the signal-to-noise ratio to be tested at this time, and calculating the frame error rate performance loss"; If the fourth judgment result is yes, then i is used as the optimal value of the second dynamic node threshold parameter under the signal-to-noise ratio to be tested.
5. The improved PAC code fast list decoding method according to claim 4, characterized in that: Initializing the fixed node threshold specifically includes: Get the code rate, code length, frozen bit position, list size and signal-to-noise ratio to be tested; Set the preset parameter to i=0 and determine the search interval; Obtain the frame error rate performance at the signal-to-noise ratio to be tested at this time, and calculate the frame error rate performance loss; Determine whether the frame error rate performance loss is less than 1%, and obtain a fifth determination result; If the fifth judgment result is no, the preset parameter is set to i=i+i_interval, and the process returns to the step of "obtaining the frame error rate performance at the signal-to-noise ratio to be tested at this time, and calculating the frame error rate performance loss"; wherein i_interval is the searched interval; If the fifth judgment result is yes, then i is used as the optimal value of the fixed node threshold under the signal-to-noise ratio to be tested.
6. The improved PAC code fast list decoding method according to claim 5, characterized in that: Initializing the fixed path threshold specifically includes: Get the code rate, code length, frozen bit position, list size and signal-to-noise ratio to be tested; Set the preset parameter to i=0 and determine the search interval; Obtain the frame error rate performance at the signal-to-noise ratio to be tested at this time, and calculate the frame error rate performance loss; Determine whether the frame error rate performance loss is less than 1%, and obtain a sixth determination result; If the sixth judgment result is no, the preset parameter is set to i=i+i_interval, and the process returns to the step of "obtaining the frame error rate performance at the signal-to-noise ratio to be tested at this time, and calculating the frame error rate performance loss"; wherein i_interval is the searched interval; If the sixth judgment result is yes, then i is used as the optimal value of the fixed path threshold under the signal-to-noise ratio to be tested.
7. The improved PAC code fast list decoding method according to claim 6, characterized in that: The calculation formula of the path extension operation is: Among them, u l [i] is the hard decision value of the current stage, is the log-likelihood ratio value of each path in the list, l is the position parameter of the current path in the list, t is the level of the decoding tree, o is the oth node at the tth level of the decoding tree, k is the current preset parameter, is the fixed node threshold.
8. A computer device 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 improved PAC code fast list decoding method according to any one of claims 1 to 7.
9. A computer-readable storage medium having a computer program stored thereon, characterized in that: When the computer program is executed by a processor, the improved PAC code fast list decoding method according to any one of claims 1 to 7 is implemented.
10. A computer program product comprising a computer program, characterized in that When the computer program is executed by a processor, the improved PAC code fast list decoding method according to any one of claims 1 to 7 is implemented.
Citation Information
Patent Citations
List search construction method for PAC codes or polarization codes
CN116470923A
PAC code list decoding method and system, storage medium and equipment
CN117749198A