Polarization code decoding method suitable for ReRAM memory
By optimizing the polar code decoding method of ReRAM memory, calculating reliability metrics and extension thresholds, dynamically adjusting the list size, dividing into calm and panic groups, and combining CRC check, the problems of decoding delay and high error rate in ReRAM memory are solved, achieving high-efficiency decoding performance.
Patent Information
- Application Number
- CN202511396569.9
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-09-28
- Publication Date
- 2025-12-30
- Estimated Expiration
- 2045-09-28
AI Technical Summary
Existing polar code decoding schemes in ReRAM memory suffer from problems such as high computational complexity, high resource consumption, extended decoding time, loss of erroneous paths due to path pruning, strong dependence on CRC assistance, low coding efficiency, and insufficient parallelization capability, making it difficult to adapt to changes in channel conditions.
By calculating reliability metrics and expanding thresholds, the size of the effective list is dynamically adjusted, calm and panic groups are divided, path pruning and random flipping are performed, and CRC check and parity check mechanisms are combined to optimize path filtering and updating, thereby reducing decoding latency.
While reducing the bit error rate, it significantly reduces the decoding delay of signal transmission, improves the accuracy and efficiency of decoding, adapts to changes in channel conditions, and reduces the number of path extensions.
Smart Images

Figure CN121237170A_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The present application relates to the field of new generation communication technology, in particular to a polar code decoding method suitable for ReRAM memory. BACKGROUND
[0002] ReRAM memory combines the advantages of traditional random memory and flash memory, and has great application potential in the fields of non-volatile memory, artificial neural network, chaotic circuit, programmable logic device, information processing and pattern recognition circuit, etc. As an important representative of new storage technology field, ReRAM memory has rich classic application scenarios, not only can be applied to new generation communication system and new generation computer storage field to provide efficient support for data transmission and storage, but also can play a key role in artificial intelligence neural network accelerator to help improve operation efficiency, and is also suitable for bionic brain computing scenarios to provide strong support for simulating human brain neural function and promoting brain-like technology development. However, the high-density integration of ReRAM memory also brings serious data interference problems, of which the most prominent one is the hidden path problem.
[0003] The hidden path refers to a closed path formed when traversing a logic 1 cell through alternating vertical and horizontal steps in the cross array of ReRAM memory. This path will cause current leakage during reading, thereby interfering with the reading result of the target cell and reducing the reliability of data. In order to solve this problem, a memristor string selector is often used to avoid current interference between different cells. However, during the manufacturing and maintenance of the memory, the non-deterministic failure of the selector will bring new problems of inter-array resistance interference, so a more perfect solution is needed to solve the storage non-deterministic problem in the whole array.
[0004] The polar code technology is applied to solve the above problems. The polar code technology utilizes the channel polarization phenomenon, realizes the separation of sub-channels through recursion, and places information bits in high-reliability channels for transmission. It is the only error correction coding that can approach the Shannon limit. The SCL decoding scheme of polar code can effectively overcome the limitations of traditional successive cancellation (SC) decoding, significantly reduce the risk of error propagation, and approach the maximum likelihood decoding performance, especially for short code length. In addition, SCL can be combined with cyclic redundancy check (CRC) assistance (CA-SCL) to further improve reliability by checking and filtering the optimal path. At the same time, SCL naturally adapts to the channel polarization characteristics of polar code, efficiently utilizes reliable channel information and compensates for potential errors of unreliable channels through a multi-path mechanism, and its complexity grows linearly with the list size L, allowing flexible trade-off between performance and computing resources, making it more practical than belief propagation algorithm.
[0005] Although the SCL (Successive Cancellation List) decoding scheme of the existing polar code significantly improves the decoding reliability, it still has many defects. First, the calculation complexity and resource consumption are high, and the linear growth of the list size L leads to a sharp increase in storage and calculation consumption, especially in long code or large L value, which poses a challenge to the power consumption and time delay of hardware implementation. Second, path pruning may cause the loss of correct paths, especially in low signal-to-noise ratio or small L scenarios, and the correct path may be eliminated too early due to the fluctuation of the intermediate stage measurement value. The strong dependence on CRC assistance leads to a loss of coding efficiency, and improper design of the check bit may cause multi-path conflict. At the same time, the serial decoding logic limits the parallelization capability, making it difficult to improve the throughput rate, and the frequent path sorting and storage access in hardware implementation further aggravates the time delay bottleneck. In addition, the fixed list size lacks a dynamic adjustment mechanism and is difficult to adapt to changes in channel conditions. At the same time, the numerical stability problem and the lack of path diversity also restrict the decoding robustness.
[0006] Therefore, how to optimize the decoding scheme of the polar code in the ReRAM memory and reduce the decoding time delay is a problem to be solved by those skilled in the art. SUMMARY
[0007] The purpose of the present application is to provide a polar code decoding method suitable for ReRAM memory, which aims to solve or improve at least one of the above technical problems.
[0008] To achieve the above purpose, the present application provides the following scheme:
[0009] A polar code decoding method suitable for ReRAM memory, comprising:
[0010] calculating the reliability metric of the detected polar code, and determining an expansion threshold according to the reliability metric;
[0011] calculating a path metric threshold according to the expansion threshold, and pruning the candidate paths according to the path metric threshold to obtain an effective list;
[0012] calculating the panic index of the effective list, dynamically adjusting the size of the effective list, and dividing the surviving paths in the effective list into a calm group and a panic group according to the path metric value;
[0013] randomly flipping the panic group, and updating the path metric value of the paths in the panic group;
[0014] calculating an elite screening threshold according to the path metric value, screening the paths to be included in the elite pool; and updating the paths in the elite pool in combination with the paths in the calm group;
[0015] The paths in the elite pool are subjected to CRC check, if multiple paths pass the CRC check, the path with the minimum path metric value PM in all the paths passing the check is selected, and the information sequence with the redundancy bits removed is output; if there is only one path, the information sequence with the redundancy bits removed of the path is output; if all the paths do not pass the CRC check, the path with the minimum path metric value PM in the valid paths is selected, and the information sequence with the redundancy bits removed is output.
[0016] Further, the reliability metric of the detected polar code is calculated, and the expansion threshold is determined according to the reliability metric, including:
[0017] The output of the BP detector is obtained, and the log-likelihood ratio of each bit position is calculated, and the expression is:
[0018]
[0019] In the formula, LLR i,j is the log-likelihood ratio of the (i,j) cell in the ReRAM memory array; i is the row index in the ReRAM memory array; j is the column index in the ReRAM memory array; P(r i,j = R1|y i,j ) is the conditional probability that the resistance of the (i,j) cell is low resistance; r i,j is the logical resistance value of the (i,j) cell; y i,j is the actual resistance value of the (i,j) cell;
[0020] The misjudgment probability of the BP detector for the state of the ReRAM memory array cell is calculated according to the log-likelihood ratio LLR, and the expression is:
[0021]
[0022] In the formula, P err is the misjudgment probability;
[0023] The expansion threshold is calculated according to the misjudgment probability P err , and the expression is:
[0024]
[0025] In the formula, LLR thresh is the expansion threshold; P err is the misjudgment probability.
[0026] Further, the path metric threshold is calculated according to the expansion threshold, and the candidate paths are pruned according to the path metric threshold to obtain a valid list, including:
[0027] The path metric value of the path is calculated, and the expression is:
[0028]
[0029] In the formula, PM (i) [l] represents the path metric for the current path; PM (i-1) [l] represents the path metric of the previous bit of the current decoded bit; i is the bit index; l is the path index; L i Let x be the log-likelihood ratio of the i-th bit; i This is the hard decision value for the i-th bit of the current path;
[0030] The path metric threshold is calculated based on the expansion threshold, and the expression is:
[0031]
[0032] In the formula, PM_thresh is the path metric threshold; LLR thresh To expand the threshold; x i This is the hard decision value for the i-th bit of the current path;
[0033] Pruning is performed based on the path metric threshold PM_thresh to obtain the valid list.
[0034] Furthermore, pruning is performed based on the path metric threshold PM_thresh, including:
[0035] When the path metric PM of a node is less than the path metric threshold PM_thresh, the subsequent path expansion of the current node is terminated.
[0036] If the path metric PM of the two extended paths at a node is less than the path metric threshold PM_thresh, then the two extended paths are kept in the decoding list and proceed to the next level of decoding.
[0037] If the path metric PM of both extended paths at a node is greater than the path metric threshold PM_thresh, then the process returns to the previous decoding stage to restore the path and perform renormalization.
[0038] Further, renormalization includes:
[0039] Calculate the ratio of the path metric PM of each path to the sum of the path metric PM of all paths. Multiply the ratio by the path metric threshold PM_thresh and use the sum as the new path metric PM for the path.
[0040] The specific expression is as follows In the formula, PMnew is the new path metric value for the path, PMold is the original calculated PM value, PM_thresh is the path metric threshold, i is the path index of the existing path, and n is the total number of existing paths.
[0041] Furthermore, the panic index of the effective list is calculated, and the size of the effective list is dynamically adjusted, including:
[0042] The fear index for the valid list is calculated using the following expression:
[0043]
[0044] In the formula, P t φ is the panic index of the valid list; P0 is the initial panic coefficient, which is determined based on the noise level of the channel transmission; φ is the reliability sequence index of the current decoded bit; N is the reliability sequence among all decoded bits.
[0045] The size of the effective list is dynamically adjusted based on the fear index, expressed as:
[0046] L effective =max(L,L·(1+P) t ));
[0047] In the formula, L effective P represents the maximum number of paths in the adjusted valid list; L represents the preset maximum list length; P represents the maximum number of paths in the adjusted list. t The fear index for the valid list;
[0048] Furthermore, the panic groups are randomly flipped, and the path metrics of paths within the panic groups are updated, including:
[0049] The deviation from the path in the panic group is calculated based on the path metric, expressed as follows:
[0050]
[0051] In the formula, PanicLevel l The degree of deviation from path l; PM l PM is the path metric for path l; max PM is the largest path metric among all paths; min PM is the smallest path metric among all paths;
[0052] The number of path flips is calculated based on the degree of deviation from the path, and the path is then flipped. The expression is as follows:
[0053]
[0054] In the formula, num_flips represents the number of flips required for the current path; The degree of deviation from path l;
[0055] After the flip, the path metric PM of the panic group is updated, and a penalty term is added, expressed as follows:
[0056] PM l =PM l +γ·|LLR k |·(1+PanicLevel l );
[0057] In the formula, PM l The path metric for path l after the flip is performed; γ is the penalty coefficient, selected as the general setting of 0.5 in the simulation, used to control the overall strength of the penalty; LLR k PanicLevel is the contrast likelihood ratio corresponding to the k-th bit being flipped; k is the index of the flipped bit; PanicLevel l Let l be the degree of deviation from path l.
[0058] Furthermore, an elite selection threshold is calculated based on the path metric, and the selected paths are included in the elite pool, including:
[0059] The expression for the elite pool threshold is:
[0060] Threshold=sorted_pm(α·|active_paths|);
[0061] In the formula, Threshold is the final elite selection threshold, and paths with a path metric value (PM) lower than the elite selection threshold are included in the elite pool; sorted_pm is the array of valid lists sorted in ascending order according to the path metric value (PM); α is the preset proportion of the elite pool; |active_paths| is the total number of currently active paths.
[0062] When initially determining the elite pool, paths in the calm group whose path metric PM is less than the current elite selection threshold Threshold are used as the initial elite pool.
[0063] Furthermore, the paths in the elite pool are updated based on the paths in the calming group, including:
[0064] The path with the smallest path metric (PM) in the elite pool is identified as the elite path.
[0065] The learning ratio η is preset. The paths of the calming group are sorted in ascending order according to the PM value. The top η calming learning paths are selected according to the sorting. At the same time, N / 2*η bits are randomly selected from all bits of the elite path. Where N is the bit length of the elite path.
[0066] Change the bits at the corresponding positions in the calm learning path to the bits at the corresponding positions in the elite path to obtain the new elite path;
[0067] Based on the preset weights of the original path and the elite path, determine the path metric value PM of the new elite path.
[0068] All new elite paths after learning are added to the elite pool.
[0069] Furthermore, updating the paths within the elite pool also includes:
[0070] Paths in the elite pool are filtered. When the path metric PM exceeds the elite filtering threshold, or the number of consecutive failures of CRC check exceeds the set threshold, the current path is eliminated.
[0071] The preset revival ratio η1 and reset ratio η2 are used. η1 is randomly selected from the eliminated paths. The reset path metric PM is η2, which is the average PM value of the paths in the current panic group, and then added to the panic group.
[0072] According to specific embodiments provided by the present invention, the present invention discloses the following technical effects:
[0073] This invention discloses a polar code decoding method suitable for ReRAM memory, based on the ESC algorithm and the SCL polar code decoding algorithm. It adds CRC and parity check mechanisms to the traditional SCL decoding algorithm. Furthermore, to address the possibility of local optima and premature deletion of correct results due to the inherent list length in the traditional SCL decoding scheme, an elite group and a panic group are introduced for retention and expansion. To address the significant decoding delay caused by the fixed list length of the traditional SCL decoding algorithm under good channel conditions, a dynamic list length is adopted to reduce path expansion and lower decoding delay while maintaining a certain level of accuracy. This significantly reduces the decoding delay of signal transmission while lowering the bit error rate. Attached Figure Description
[0074] To more clearly illustrate the technical solutions in the embodiments of the present invention or the prior art, the drawings used in the embodiments will be briefly introduced below. Obviously, the drawings described below are only some embodiments of the present invention. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.
[0075] Figure 1 This is a schematic flowchart of the method of the present invention;
[0076] Figure 2 This is an example of path expansion in this embodiment;
[0077] Figure 3 This is a schematic diagram of the simulation results of the final path count after decoding in this embodiment; where the horizontal axis Sigma(σ) is the noise standard deviation;
[0078] Figure 4 This is a performance diagram comparing the decoding scheme in this embodiment with the traditional scheme. Detailed Implementation
[0079] The technical solutions of the embodiments of the present invention will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of the present invention, and not all embodiments. Based on the embodiments of the present invention, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of the present invention.
[0080] The purpose of this invention is to provide a polar code decoding method suitable for ReRAM memory, aiming to solve or improve at least one of the above-mentioned technical problems.
[0081] To make the above-mentioned objects, features and advantages of the present invention more apparent and understandable, the present invention will be further described in detail below with reference to the accompanying drawings and specific embodiments.
[0082] like Figure 1 As shown, this invention provides a polar code decoding method suitable for ReRAM memory, comprising:
[0083] Step S1 involves calculating the reliability metric of the polar code after detection and determining the extension threshold based on the reliability metric, including the following steps:
[0084] Obtain the output of the BP detector and calculate the log-likelihood ratio at each bit position. The expression is:
[0085]
[0086] In the formula, LLR i,j P(r) represents the log-likelihood ratio of the cell in the i-th row and j-th column of the ReRAM memory array; i is the row index of the ReRAM memory array; j is the column index of the array; P(r) i,j =R1|y i,j ) represents the conditional probability that the storage resistance of cell (i,j) is low; r is the conditional probability that the storage resistance of cell (i,j) is low. i,j Store the logic resistance value corresponding to the data in cell (i,j); y i,j This represents the actual resistance value of the (i,j) unit.
[0087] The probability of a BP detector misclassifying the state of a ReRAM memory array cell is calculated based on the log-likelihood ratio (LLR), expressed as follows:
[0088]
[0089] In the formula, P err This represents the probability of misjudgment.
[0090] In the above steps, the absolute value of the log-likelihood ratio (LLR), |LLR|, directly reflects the decision confidence of the BP detector. The false positive probability P... err Defined as the probability of a BP detector misjudging the state of a ReRAM memory array cell. In engineering practice, a misjudgment probability of 0.001 is usually used as the basis for high confidence; therefore, the misjudgment probability P is adopted. err =0.001.
[0091] Based on the misjudgment probability P err The extended threshold is calculated using the following expression:
[0092]
[0093] In the formula, LLR thresh To expand the threshold; P err This represents the probability of misjudgment.
[0094] Step 2: Calculate the path metric threshold based on the expansion threshold, and prune the candidate paths according to the path metric threshold to obtain the valid list, including the following steps:
[0095] During the SCL decoder's decoding process, each node is split into two paths to be used for any unfrozen bits. i The estimate, where i represents the i-th bit, u i This refers to the specific data of the i-th bit.
[0096] During the SCL decoder's decoding process, the path metric value for each path is calculated, expressed as:
[0097]
[0098] In the formula, PM (i) [l] represents the path metric for the current path; PM (i-1) [l] represents the path metric of the previous bit of the current decoded bit; i is the bit index; l is the path index; L i Let x be the log-likelihood ratio of the i-th bit; i This is the hard decision value for the i-th bit of the current path.
[0099] In the above steps, the increment of the path metric depends only on the log-likelihood ratio (LLR) of the current bit.
[0100] Based on the extended threshold LLR thresh The path metric threshold PM_thresh is calculated using the following expression:
[0101]
[0102] In the formula, PM_thresh is the path metric threshold; LLR thresh To expand the threshold; x i This is the hard decision value for the i-th bit of the current path.
[0103] like Figure 2 As shown, when the path metric PM of a node with only one path is less than the path metric threshold PM_thresh, the subsequent path expansion of the current node is terminated.
[0104] The results of the above steps indicate that the current path has a very high probability of correct decoding. At this point, regardless of whether the current list is full (i.e., whether the maximum list size has been reached), the subsequent path expansion of the current node is terminated to reduce computational overhead.
[0105] If the path metric PM of the two extended paths at the node is less than the path metric threshold PM_thresh, then the two extended paths are kept in the decoding list and proceed to the next level of decoding.
[0106] The results of the above steps indicate that both extended paths are potential correct candidate paths, and their decoding correctness probabilities are not negligible.
[0107] If the path metric PM of both extended paths at a node is greater than the path metric threshold PM_thresh, then the process returns to the previous decoding stage to recover the path and perform renormalization. The path metric PM of all paths is added together, and the ratio of the path metric PM of each path to the sum of the path metric PM of all paths is calculated. The sum of the ratio and the path metric threshold PM_thresh is used as the new path metric PM of that path.
[0108] The specific expression is as follows In the formula, PMnew is the new path metric value for the path, PMold is the original calculated PM value, PM_thresh is the path metric threshold, i is the path index of the existing path, and n is the total number of existing paths.
[0109] The above steps correspond to the decoding process being limited by channel noise and potential estimation errors. Some nodes may be incorrectly classified as high-confidence nodes in the early stages, leading to non-ideal pruning of correct paths. This results in the path metric (PM) of extended paths at a certain node being greater than the path metric threshold (PM_thresh) in subsequent decoding, indicating that path deletion may have occurred in the early stages. To address this, a dynamic backtracking mechanism is triggered. Specifically: First, a backtracking operation is performed, i.e., the decoder retreats to the previous level decoding node. After retreating to the previous level node, path recovery is performed, i.e., the discarded paths are restored to the list, and the previous level node is re-explored. After completing the backtracking and path recovery, the path metric (PM) of all currently active paths in the list is renormalized. At this point, the number of paths may increase to four: the original two surviving paths plus the recovered path and its complementary / sibling path, to ensure the relative consistency of the path metric (PM) comparison at subsequent levels.
[0110] like Figure 3 As shown, to verify that the dynamic list scheme proposed in this invention can effectively reduce the number of actual extended paths in the array and reduce decoding latency, simulation experiments were conducted. The experimental conditions used a polar code with a code rate of 0.8, an initial maximum list length of 16, and transmission through a ReRAM channel. The detection scheme used was the traditional BP detection scheme, and the decoding schemes were the traditional SCL decoding and the improved SCL decoding scheme described above. To evaluate the effectiveness of the scheme, all paths existing in the current program after all bits were decoded were counted. 10 simulations were performed. 5 Experiments were conducted to count the total number of paths in the current program after all bits were decoded in each experiment. It can be seen that when the noise level increases from 20 to 80, the original SCL decoding scheme maintains a constant 16 paths, while the improved SCL decoding scheme in this paper reduces the number of paths from 1 to 9, a significant decrease. This demonstrates that the proposed dynamic list scheme can effectively reduce the actual number of paths extended in the array, thereby reducing decoding latency.
[0111] like Figure 4 As shown, step 3 involves calculating the panic index of the effective list, dynamically adjusting the size of the effective list, and dividing the paths in the effective list into calm and panic groups based on the path metric PM. This includes the following steps:
[0112] The panic index of the valid list is calculated using the following expression:
[0113]
[0114] In the formula, P t φ is the panic index of the valid list; P0 is the initial panic coefficient, which is determined based on the noise level of the channel transmission; φ is the reliability sequence index of the current decoded bit; N is the number of bits in all decoded bits.
[0115] In the above steps, the reliability sequence is achieved by sorting N bits according to polarization weights using the polarization weight construction method. The largest bit has the highest reliability, and the fear index approaches 0. The smallest bit has the lowest reliability.
[0116] The size of the effective list is dynamically adjusted based on the fear index, expressed as:
[0117] L effective =max(L,L·(1+P) t ));
[0118] In the formula, L effective P represents the maximum number of paths in the adjusted valid list; L represents the preset maximum list length; P represents the maximum number of paths in the adjusted list. t The fear index for the valid list;
[0119] All paths in the program are sorted according to the path metric PM, and these paths are divided into panic group and calm group; the calm group consists of the top 30% of paths sorted by PM in ascending order, and disturbance is prohibited; the panic group consists of the bottom 30% of paths sorted by PM in ascending order.
[0120] Step 4 involves randomly flipping the panic groups and updating the path metrics of the paths within the panic groups, including the following steps:
[0121] The deviation from the path in the panic group is calculated based on the path metric PM, expressed as follows:
[0122]
[0123] In the formula, PanicLevel l The degree of deviation from path l; PM l PM is the path metric for path l; max PM is the largest path metric among all paths; min PM is the smallest path metric among all paths.
[0124] The deviation calculated in the above steps is used to measure the difference between the current path and the optimal path.
[0125] The number of path flips is calculated based on the degree of deviation from the path, and the path is then flipped. The expression is as follows:
[0126]
[0127] In the formula, num_flips represents the number of flips required for the current path; The degree of deviation from path l;
[0128] Based on the above steps, when flipping the path in the panic group, it must be flipped at least once and at most three times.
[0129] After flipping, the path metric (PM) for the panic group is updated, and a penalty is added. The expression for updating the path metric (PM) each time a flip occurs is:
[0130] PM l =PM l +γ·|LLR k |·(1+PanicLevel l );
[0131] In the formula, PM l The path metric for path l after the flip is performed; γ is the penalty coefficient, selected as the general setting of 0.5 in the simulation, used to control the overall strength of the penalty; LLR k PanicLevel is the contrast likelihood ratio corresponding to the k-th bit being flipped; k is the index of the flipped bit; PanicLevel l To determine the degree of deviation of path l, num_flips flips are performed, and num_flips updates are required.
[0132] In the above steps, a penalty term is added to prevent excessive perturbation.
[0133] Step 5: Calculate the elite screening threshold based on the path metric, and include the selected paths in the elite pool; then update the paths in the elite pool based on the paths in the cooling-off group, including the following steps:
[0134] The elite pool is updated every 20 bits decoded. The initial elite path is determined by calculating the elite selection threshold based on the path metric (PM) of the currently valid paths, expressed as:
[0135] Threshold=sorted_pm(α·|active_paths|);
[0136] In the formula, Threshold is the final elite selection threshold, and paths with a path metric value (PM) lower than the elite selection threshold are included in the elite pool; sorted_pm is the array of valid lists sorted in ascending order according to the path metric value (PM); α is the preset proportion of the elite pool; |active_paths| is the total number of currently active paths.
[0137] When the elite pool is initially determined, paths in the calm group whose path metric PM is less than the current threshold Threshold are used as the initial elite pool.
[0138] Once determined, the path with the smallest path metric (PM) in the elite pool is designated as the elite path. Subsequent elite path selection also follows the same principle, choosing the path with the smallest PM in the current elite pool. The subsequent elite pool is determined by the Calm Group's learning process.
[0139] The first 30% of paths in the "calm learning" group, sorted by PM values in ascending order, are designated as "calm learning paths" for further study. Based on a preset probability of 30%, N / 2*30% of the N bits from all N bits in the "elite path" are randomly selected, where N represents the bit length of the elite path.
[0140] Change the bits at the corresponding positions of the calm learning path to the bits at the corresponding positions of the selected elite path to obtain the new elite path. Set the new path metric PM of the new elite path to 70% of the original path and 30% of the path metric of the elite path.
[0141] Add all new elite paths to the elite pool;
[0142] The paths in the elite pool are filtered. When the path metric PM exceeds the elite screening threshold Threshold, or when the number of consecutive CRC check failures of the path in the elite pool is ≥2, the current path is eliminated.
[0143] Randomly select 10% of the eliminated paths, reset the path metric PM to 90% of the average PM of panic group paths in the current program, and add them to the panic group.
[0144] Step 6: Perform CRC check on the paths in the elite pool. If multiple paths pass the CRC check, select the path with the smallest path metric value PM and output the information sequence with redundant bits removed. If there is only one path, output the information sequence with redundant bits removed for that path. If all paths fail the CRC check, select the path with the smallest path metric value PM among the valid paths and output the information sequence with redundant bits removed.
[0145] like Figure 4 As shown, a comparison of the bit error rate and frame error rate for the traditional CRC-SCL decoding scheme and the decoding scheme proposed in this paper is presented. The simulation experiment used a code length of 256, a code rate of 0.8, and a selector failure probability p. f =0.001, the polar code is constructed using the traditional PW construction scheme, with 1000 trials. The results show the bit error rate and frame error rate of the traditional CRC-SCL decoding scheme and the scheme of this invention. The noise level is reduced from 70 to 55, thus reducing the error ratio.
[0146] The various embodiments in this specification are described in a progressive manner, with each embodiment focusing on the differences from other embodiments. The same or similar parts between the various embodiments can be referred to each other.
[0147] This document uses specific examples to illustrate the principles and implementation methods of the present invention. The descriptions of the above embodiments are only for the purpose of helping to understand the core ideas of the present invention. Furthermore, those skilled in the art will recognize that, based on the ideas of the present invention, there will be changes in the specific implementation methods and application scope. Therefore, the content of this specification should not be construed as a limitation of the present invention.
Claims
1. A polar code decoding method suitable for ReRAM memory, characterized in that, The method comprises the following steps: calculating a reliability metric of the polar code after detection, and determining an expansion threshold according to the reliability metric; calculating a path metric threshold according to the expansion threshold, and pruning candidate paths according to the path metric threshold to obtain an effective list; calculating a panic index of the effective list, dynamically adjusting the size of the effective list, and dividing the surviving paths in the effective list into a calm group and a panic group according to the path metric values; randomly flipping the paths in the panic group, and updating the path metric values of the paths in the panic group; calculating an elite screening threshold according to the path metric values, and screening paths to be included in an elite pool; updating the paths in the elite pool in combination with the paths in the calm group; performing CRC check on the paths in the elite pool, and if multiple paths pass the CRC check, selecting a path with the smallest path metric value PM from all the paths that pass the CRC check and outputting an information sequence with redundant bits removed; if there is only one path, outputting an information sequence with redundant bits removed; if none of the paths passes the CRC check, selecting a path with the smallest path metric value PM from the effective paths and outputting an information sequence with redundant bits removed. 2.The polar code decoding method for ReRAM memory according to claim 1, wherein, The method for calculating a reliability metric of a polar code after detection, and determining an expansion threshold according to the reliability metric comprises the following steps: obtaining the output of the BP detector, and calculating the log-likelihood ratio of each bit position, which is expressed as: where LLR i,j is the log likelihood ratio for the (i,j) cell in the ReRAM memory array; i is the row index in the ReRAM memory array; j is the column index in the ReRAM memory array; P(r i,j = R1|y i,j ) is the conditional probability that the (i,j) cell stores a low resistance; r i,j is the logical resistance value for the (i,j) cell; y i,j is the actual resistance value for the (i,j) cell; calculating the misjudgment probability of the BP detector for the state of the ReRAM memory array unit according to the log-likelihood ratio LLR, which is expressed as: In the formula, P err is the false positive probability; According to the misjudgment probability P err The extended threshold is calculated, expressed as: In the formula, LLR thresh is an expansion threshold; P err is a false positive probability.
3. The polar code decoding method for ReRAM memory according to claim 1, wherein, The method for calculating a path metric threshold according to the expansion threshold, and pruning candidate paths according to the path metric threshold to obtain an effective list comprises the following steps: calculating the path metric value of a path, which is expressed as: where PM (i) [l] is the path metric value of the current path; PM (i-1) [l] is the path metric value of the previous bit of the current coded bit; i is the bit index; l is the path index; L i is the log-likelihood ratio of the i-th bit; x i is the hard decision value of the i-th bit for the current path. calculating the path metric threshold according to the expansion threshold, which is expressed as: where PM_thresh is a path metric threshold; LLR thresh is an extended threshold value; x i is a hard decision value of the current path for the i-th bit. pruning according to the path metric threshold PM_thresh to obtain the effective list.
4. The polar code decoding method for ReRAM memory according to claim 3, wherein, The pruning according to the path metric threshold PM_thresh comprises the following steps: when the path metric value PM of only one expansion path at a node is smaller than the path metric threshold PM_thresh, terminating the subsequent path expansion of the current node; when the path metric values PM of two expansion paths at a node are both smaller than the path metric threshold PM_thresh, retaining the two expansion paths in the decoding list and entering the next decoding stage; if the path metric values PM of two expansion paths at a node are both greater than the path metric threshold PM_thresh, returning to the previous decoding stage, restoring the paths, and performing renormalization.
5. The polar code decoding method for ReRAM memory according to claim 4, wherein, The renormalization comprises the following steps: calculating the ratio of the path metric value PM of each path to the sum of the path metric values PM of all paths, and taking the sum of the ratio multiplied by the path metric threshold PM_thresh as the new path metric value PM of the path. The specific expression is where PMnew is the new path metric value of the path, PMold is the originally calculated PM value, PM_thresh is the path metric threshold value, i is the path index of the existing path, and n is the total number of existing paths.
6. The polar code decoding method for ReRAM memory according to claim 1, wherein, The method for calculating a panic index of the effective list, and dynamically adjusting the size of the effective list comprises the following steps: calculating the panic index of the effective list, which is expressed as: where P t is the effective list panic index; P0is an initial panic coefficient, which is determined according to the noise size of the channel transmission; φ is the reliability sequence index of the current decoding bit; and N is the reliability sequence in all decoding bits. dynamically adjusting the size of the effective list according to the panic index, which is expressed as: L effective = max(L, L · (1 + P t )). In the formula, L effective is the maximum path number of the adjusted valid list; L is the preset maximum list length; P t is the panic index of the valid list.
7. The polar code decoding method for ReRAM memory according to claim 1, wherein, The random flipping is performed on the panic group, and the path metric value of the path in the panic group is updated, including: The deviation degree of the path in the panic group is calculated according to the path metric value, and the expression is: where PanicLevel l is the degree of deviation of path i; PM l is the path metric value PM of path i; PM max is the maximum path metric value PM of all paths; PM min is the minimum path metric value PM of all paths; The number of times of flipping of the path is calculated according to the deviation degree of the path, and the path is flipped, and the expression is: num_flips is the number of flips needed for the current path; is the degree of deviation for path l; After the flipping is performed, the path metric value PM of the panic group is updated, and a penalty term is added, and the expression is: PM l = PM l + γ · |LLR k | · (1 + PanicLevel l ); where PM l is the path metric value of path / after performing flipping; γ is a penalty coefficient, which is set to 0.5 in general for simulation, for controlling the overall strength of the penalty; LLR k is the log-likelihood ratio corresponding to the kth flipped bit; k is the position index of the flipped bit; PanicLevel l is the degree of deviation for path / . 8.The polar code decoding method for ReRAM memory according to claim 1, wherein, The elite screening threshold is calculated according to the path metric value, and the path is screened into the elite pool, including: The expression of the elite pool threshold is: Threshold = sorted_pm(alpha * |active_paths|); In the formula, Threshold is the final elite screening threshold, the path whose path metric value PM is lower than the elite screening threshold is included in the elite pool, sorted_pm is an array arranged in ascending order according to the path metric value PM in the effective list, alpha is a preset proportion of the elite pool, and |active_paths| is the total number of current active paths. When the elite pool is determined for the first time, the path whose path metric value PM in the calm group is less than the current elite screening threshold Threshold is taken as the initialized elite pool.
9. The polar code decoding method for ReRAM memory according to claim 1, wherein, The path in the elite pool is updated in combination with the path in the calm group, including: The path whose path metric value PM is the smallest in the elite pool is determined as the elite path. A preset learning ratio η is arranged, the calm learning path is arranged in ascending order according to the PM value, and the calm learning path is selected according to the arrangement; meanwhile, N / 2*η bits in all bits of the elite path are randomly selected; wherein N is the bit length of the elite path. The bits at the corresponding positions of the calm learning path are changed into the bits at the corresponding positions of the elite path to obtain a new elite path. The path metric value PM of the new elite path is determined according to the preset weight of the original path and the elite path. All the new elite paths after learning are included in the elite pool.
10. The polar code decoding method for ReRAM memory according to claim 1, wherein, After the path in the elite pool is updated, the following is further included: The path in the elite pool is screened, when the path metric value PM exceeds the elite screening threshold, or the number of times of continuous failure in CRC verification is greater than a set number threshold, the current path is eliminated; A preset revival ratio η1 and a reset ratio η2 are arranged, η1 is randomly selected from the eliminated path, the path metric value PM is reset to η2 of the average value of the path PM value in the current panic group, and is added to the panic group.
Citation Information
Patent Citations
CRC auxiliary check polarization code decoding method and intelligent terminal
CN110190857A
Method and device for reducing decoding delay of polar code continuous cancellation table decoding algorithm
CN111277277A
Polar code decoding method and device based on piecewise overturning continuous cancellation tabulation method
CN111628782A
Low-complexity polar code multi-code-block decoder
CN111786683A
Polar code decoding method and device
CN113472360A