A low-complexity path selection method for polar decoding

By avoiding the path duplication processing of frozen bits and check bits and utilizing the sorted index array of path metrics to reduce the number of path duplications, the problem of high SCL decoding complexity is solved and the decoding efficiency is improved.

CN116232341BActive Publication Date: 2025-09-19CHENGDU ZHONGKEWEI INFORMATIONTECHNOLOGY RESEARCH INSTITUTE CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202211654930.X
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-12-22
Publication Date
2025-09-19
Estimated Expiration
2042-12-22

AI Technical Summary

Technical Problem

The existing SCL decoding process involves a lot of meaningless path duplication, especially the path duplication processing of frozen bits and check bits, which leads to high decoding complexity.

Method used

By avoiding the path duplication processing of frozen bits and check bits and utilizing the sorted index array of path metrics, the number of path duplications is reduced. A specific data storage mechanism and path selection module are adopted to update the valid path information and reduce the copying of invalid paths.

Benefits of technology

Without reducing the decoding performance, the complexity of SCL decoding is effectively reduced and the decoding efficiency is improved.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116232341B_ABST
    Figure CN116232341B_ABST
Patent Text Reader

Abstract

The present invention provides a low-complexity path selection method suitable for polar decoding, including: avoiding path duplication processing corresponding to frozen bits and check bits; and reducing the number of copied paths based on a sorted index array of path metrics. The present invention avoids some invalid copies based on bit type and implements partial copying of the U matrix using a sorted index array of path metrics to achieve path duplication. This method effectively reduces the complexity of SCL decoding processing without compromising decoding performance.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the field of wireless communication technology, and in particular to a low-complexity path selection method suitable for polar decoding. Background Art

[0002] In the physical layer of current 5GNR systems, control information (MIB, DCI, and UCI) primarily uses polar codes. Polar codes can be considered a type of linear block code, but their design philosophy differs significantly from that of traditional linear block codes. Traditional linear block codes (such as LDPC codes) are mostly systematic codes, mapping the original bits one-to-one to systematic bits before evenly distributing them among the parity bits for transmission as "replicas" to mitigate sudden random bit flip errors. Polar codes, on the other hand, do not distinguish between systematic and parity bits and directly distribute the original bits "non-uniformly" across the coded output sequence for transmission as "replicas."

[0003] Polar codes are based on the theory of channel polarization. This theory demonstrates that, using appropriate coding methods, a communication channel can be virtualized into multiple subchannels. These subchannels can be divided into two categories: reliable channels with a capacity approaching 1, and unreliable channels with a capacity approaching 0. Therefore, the original bit information can be directly mapped onto reliable subchannels for transmission.

[0004] It can be seen that the key to polar codes lies in the design of the coding matrix and the selection of reliable channels.

[0005] The polar code encoding matrix can be recorded as G N , which is an N×N dimensional matrix, where N is the polar coding output sequence length, and is obtained by the Cranero product of n matrices G2, as shown below:

[0006]

[0007] Two reliable channel selection mechanisms are available: Density Evolution (DE) and Polar Weight (PW). The former uses a polar code decoding algorithm (mostly the SCL decoding algorithm) to calculate the transmission error probability of each subchannel, thereby obtaining the reliability of each subchannel. This method offers high evaluation accuracy, but suffers from computational complexity and the need for real-time calculations. The latter directly tracks the polarization process experienced by the subchannel to assess its reliability. This method offers the advantages of simple calculations and the absence of real-time calculations (data can be stored in a table for use), but suffers from slightly lower evaluation accuracy. The PW mechanism was ultimately chosen for the 5GNR pilot.

[0008] In the current 5GNR physical layer, most of the decoding processing is based on the SCL decoding algorithm, such as Figure 1 As shown, the SCL decoder processing process is as follows:

[0009] Step 1: Initialize SCL decoding result and status information: U = 0, p = 0, Y = 0, y t =0;

[0010] Step 2: Initialize LLR loop count: i = 1;

[0011] Step 3: If i>N, then end the decoding and output the decoding result U; otherwise, continue to Step 4;

[0012] Step 4: Initialize temporary decoding result: p tmp =0,u tmp =0;

[0013] Step 5: Initialize the path loop count: k = 1;

[0014] Step 6: Detect the path loop: If k>L, jump to Step 10; otherwise, continue to Step 7;

[0015] Step 7: Obtain decoding result: Call the LLR calculation module (FUNC llr_calc ) to obtain llr, the input parameters are (log2(N),llr in ,u tmp ,i), and then hard decision is made to obtain the corresponding decoding result δ of the i-th bit, as shown in the following formula:

[0016]

[0017] Step 8: Update SCL temporary decoding results and status information: First perform a right circular shift operation to update Y, and then update p according to the three types of the i-th bit (frozen bit, information bit and PC check bit). tmp and u tmp , as shown below:

[0018] y t =Y 1,k ,Y 1,k =Y 2,,k ,Y 2,k =Y 3,k ,Y 3,k =Y 4,k ,Y 4,k =Y 5,k ,Y 5,k =y t

[0019] condition 1:for

[0020]

[0021] condition 2:for i∈qI and i∈qPC

[0022]

[0023] condition 3:for i∈qI and

[0024]

[0025] Step 9: Perform path loop accumulation: k = k + 1, and jump to Step 6;

[0026] Step 10: Path selection: select p tmp The smallest L elements in the set are arranged in ascending order, and the vector consisting of the corresponding element indices is recorded as order. Based on this element set, p is updated as shown below.

[0027]

[0028] 1≤k≤L

[0029] Step 11: Path replication: based on K and u tmp Update U and Y as shown below

[0030]

[0031] 1≤j≤i-1

[0032] 1≤j'≤5

[0033] 1≤k≤L

[0034] Step 12: Perform LLR cyclic accumulation: i = i + 1, and jump to Step 3;

[0035] Among them, the LLR calculation module is recorded as FUNC llr_calc , its input and output parameters are recorded as:

[0036] The input parameters are: (n',LLR tmp ,u tmp ,i);

[0037] Output parameters are: llr;

[0038] The LLR calculation module is based on nested implementation. The processing process is as follows, where x(start:duration:end) represents the set of elements selected from the vector x within the index range [start, end] with duration as the interval;

[0039] Step 1: Find parameters a and b: If 2 n' >2, then nested call FUNC llr_calc ; Otherwise based on LLR tmp Directly find it as shown below:

[0040] condition1:for2 n' ≤2

[0041]

[0042] Δi=mod(i-1,2)

[0043] condition2:for2 n' >2

[0044]

[0045] Step 2: Obtain the updated llr: There are two cases according to the parity of i, as shown in the following formula:

[0046]

[0047] During the above process:

[0048] llr in is an N*1 vector, which is the input of the polar decoder and its physical meaning is the log-likelihood ratio;

[0049] U is an N*L matrix, where each column corresponds to a decoding path and the corresponding decoding result. There are L decoding paths in total. The physical meaning of L is the maximum number of decoding paths (which can also be understood as the maximum decoding search path).

[0050] p is an L*1 vector, representing the path metric of the decoding path corresponding to each column in U. The larger its value, the lower the reliability of the corresponding decoding result;

[0051] p tmp is a 2L*1 vector, which is the path metric of the temporary decoding path calculated based on p. Each decoding path can derive two decoding paths, so its dimension is 2L;

[0052] u tmp is a 2L*1 vector, which is the decoding result of the current bit of the temporary decoding path calculated based on p, and is the same as p tmpOne-to-one correspondence;

[0053] LLR calculation module (FUNC llr_calc ), which can be used to calculate the new increment of the path metric of the temporary decoding path, which is implemented based on a nested mechanism;

[0054] Y is a 5*L vector, used to perform parity check on the decoding results of L paths;

[0055] K is the length of the polar coding output sequence, and its physical meaning is the length of the original information bit sequence;

[0056] N is the length of the polar decoding input sequence, N>K, and the value must be a power of 2, that is, n=log2(N), which is an integer and can be calculated by referring to the protocol TS38.212;

[0057] qI represents the reliable subchannel index set selected for transmitting original information bits and check bits, including (K+n PC ) elements, which can be calculated by referring to the table in protocol TS38.212;

[0058] qPC represents the reliable subchannel index set used to transmit parity bits, which is a subset of qI and contains n PC elements, which can be calculated by referring to the table in protocol TS38.212;

[0059] To unify the description and facilitate understanding, in this paper, x i Represents the i-th element of vector x, X i,j Represents the element at the i-th row and j-th column of matrix X. All indices start at 1 by default.

[0060] As can be seen, during the SCL decoding process, the path replication process involves a significant amount of copying of all path decoding results (i.e., the U matrix): U needs to be updated N times, and the U matrix is ​​an N*L matrix. However, for frozen bits and check bits, no new valid decoding paths are generated, meaning that the corresponding copying process is meaningless. Summary of the Invention

[0061] The present invention aims to provide a low-complexity path selection method suitable for polar decoding, so as to solve the problem of meaningless copy process in the SCL decoding process.

[0062] The present invention provides a low-complexity path selection method suitable for polar decoding, comprising:

[0063] Avoid path duplication processing corresponding to frozen bits and check bits;

[0064] Sorting the index array based on the path metric reduces the number of copy paths.

[0065] Furthermore, the low-complexity path selection method applicable to polar decoding includes the following steps:

[0066] S1: Initialize SCL decoding result and status information: U=0, p=0, Y=0, y t =0;

[0067] S2: Initialize LLR loop count: i=1;

[0068] S3: If i>N, then end the decoding and output the decoding result U; otherwise, continue to execute S4;

[0069] S4: Initialize temporary decoding result: p tmp =0,u tmp =0;

[0070] S5: Initialize path loop count: k=1;

[0071] S6: Path cycle determination:

[0072] If k>L, jump to S10; otherwise, continue to execute S7;

[0073] S7: Obtain the decoding result:

[0074] Call the LLR calculation module to obtain llr, the input parameters are (log2(N),llr in ,u tmp ,i), and then hard decision is made to obtain the corresponding decoding result δ of the i-th bit, as shown in the following formula:

[0075]

[0076] S8: Update SCL temporary decoding results and status information:

[0077] First, perform a right circular shift operation to update Y, and then update p according to the three types of the i-th bit, namely frozen bit, information bit and PC check bit. tmp and u tmp , as shown below:

[0078] y t =Y 1,k ,Y 1,k =Y 2,,k ,Y 2,k =Y 3,k ,Y 3,k =Y 4,k ,Y 4,k =Y 5,k ,Y 5,k =y t

[0079] condition 1:for

[0080]

[0081] condition 2:for i∈qI and i∈qPC

[0082]

[0083] condition 3:for i∈qI and

[0084]

[0085] S9: Perform path loop accumulation: k=k+1, and jump to S6;

[0086] S10: Path selection and replication: If i∈qPC or i∈qI, then directly execute S11; otherwise, call the path selection module to select a valid path and perform path-related information, U, p, Y, order path and N p , update and reset the corresponding columns of the U matrix corresponding to the discarded path. The input parameters are (U, Y, order path ,N p ,p tmp ,u tmp ,L,i,n);

[0087] S11: Perform LLR loop accumulation: i=i+1, and jump to S3;

[0088] The meaning of the parameters are:

[0089] U is an N*L matrix, each column of which corresponds to a decoding path and the corresponding decoding result, and there are L decoding paths in total;

[0090] N is the length of the polar decoding input sequence, N>K, and the value must be a power of 2;

[0091] K is the length of the polar coding output sequence;

[0092] p is an L*1 vector, representing the path metric of the decoding path corresponding to each column in U;

[0093] Y is a 5*L vector, used to perform parity check on the decoding results of L decoding paths;

[0094] p tmpis a 2L*1 vector, which is the path metric of the temporary decoding path calculated based on p. Each decoding path can derive two decoding paths, so its dimension is 2L;

[0095] u tmp is a 2L*1 vector, which is the decoding result of the current bit of the temporary decoding path calculated based on p, and is the same as p tmp One-to-one correspondence;

[0096] llr in is an N*1 vector, which is the input of the polar decoder;

[0097] qI represents the reliable subchannel index set selected for transmitting original information bits and check bits, including (K+n PC ) elements;

[0098] qPC represents the reliable subchannel index set used to transmit parity bits, which is a subset of qI and contains n PC elements;

[0099] order path is an L*1 vector, representing the ascending sorted index of the path metric of each column in U corresponding to the decoding path;

[0100] N p Indicates the number of valid paths, initialized to 1, and cannot exceed L.

[0101] Furthermore, the processing of the path selection module in step S10 includes:

[0102] S101: Reorder temporary path metrics: for p tmp Reorder in ascending order, and the reordered index set is recorded as vector order tmp ;

[0103] S102: Calculate the path update set, including the newly added path index set SET new , discard path index path set SET old , New path sorting index set SET new_plus ;

[0104] S103: Initialize the path cycle count k=1;

[0105] S104: Perform path loop judgment: If k>|SET new |, then jump to S108, |SET new | indicates a new path index set SET new The number of elements contained; otherwise, continue to execute S105;

[0106] S105: Update path order and path metric: If Np =L, then update the path order tmp and path metric p; otherwise, directly execute S106;

[0107] S106: Reset Y and U;

[0108] S107: Path cycle count is accumulated: k=k+1, and jump to S104;

[0109] S108: Update path information: Update N first p , then update p and order path .

[0110] Furthermore, the formula for calculating the path update set in step S102 is expressed as:

[0111]

[0112] in, Represents the empty set.

[0113] Furthermore, in step S105, the path order is updated. tmp The formula of the path metric p is expressed as:

[0114]

[0115] Furthermore, in step S106, the formula for resetting Y and U is expressed as:

[0116]

[0117] Furthermore, the formula for updating the path information in step S108 is expressed as:

[0118] step1:N p =min(2N p ,L)step2:

[0119]

[0120] 1≤m≤N p

[0121] In summary, due to the adoption of the above technical solution, the beneficial effects of the present invention are:

[0122] The present invention avoids partial invalid copying based on bit type and realizes partial copying U matrix by sorting index array of path metric to achieve the purpose of path replication, which can effectively reduce the complexity of SCL decoding processing without reducing decoding performance. BRIEF DESCRIPTION OF THE DRAWINGS

[0123] In order to more clearly illustrate the technical solutions of the embodiments of the present invention, the drawings in the embodiments will be briefly introduced below. It should be understood that the following drawings only illustrate certain embodiments of the present invention and therefore should not be regarded as limiting the scope. For ordinary technicians in this field, other relevant drawings can be obtained based on these drawings without paying any creative work.

[0124] Figure 1 This is a flow chart of the traditional SCL decoding process.

[0125] Figure 2 4 is a flow chart of a low-complexity path selection method applicable to polar decoding in an embodiment of the present invention. DETAILED DESCRIPTION

[0126] To make the objectives, technical solutions, and advantages of the embodiments of the present invention more clear, the technical solutions of the embodiments of the present invention will be clearly and completely described below in conjunction with the accompanying drawings of the embodiments of the present invention. Obviously, the described embodiments are only part of the embodiments of the present invention, not all of the embodiments. Generally, the components of the embodiments of the present invention described and shown in the drawings herein can be arranged and designed in various different configurations.

[0127] Therefore, the following detailed description of the embodiments of the present invention provided in the accompanying drawings is not intended to limit the scope of the invention as claimed, but rather merely represents selected embodiments of the present invention. All other embodiments derived by persons of ordinary skill in the art based on the embodiments of the present invention without creative effort are intended to fall within the scope of protection of the present invention.

[0128] Example

[0129] For the convenience of description, remember:

[0130] llr in is an N*1 vector, which is the input of the polar decoder and its physical meaning is the log-likelihood ratio;

[0131] U is an N*L matrix, where each column corresponds to a decoding path and the corresponding decoding result. There are L decoding paths in total. The physical meaning of L is the maximum number of decoding paths (which can also be understood as the maximum decoding search path).

[0132] p is an L*1 vector, representing the path metric of the decoding path corresponding to each column in U. The larger its value, the lower the reliability of the corresponding decoding result;

[0133] N p Indicates the number of valid paths, initialized to 1, and cannot exceed L;

[0134] llr baseis a (2N-1)*1 vector, which can be based on the vector idx of length n llr_base Divide the starting address into n sub-vectors of different lengths, with lengths of 2 0 ,2 1 ,2 2 ,...,2 n , n = log2(N);

[0135] LLR path It is a (nN-(2(N-1)-1))*L matrix, each column of which can be based on a vector idx of length n. llr_path Divide the starting address into n sub-vectors of different lengths, with lengths of N-2 0 ,N-2 1 ,...,N-2 n , n = log2(N);

[0136] B path It is a (nN-(2(N-1)-1))*L matrix, each column of which can be based on a vector idx of length n. b_path Divide the starting address into n sub-vectors of different lengths, with lengths of N-2 0 ,N-2 1 ,...,N-2 n , n = log2(N);

[0137] order path is an L*1 vector, representing the ascending sorted index of the path metric of each column in U corresponding to the decoding path;

[0138] p tmp is a 2L*1 vector, which is the path metric of the temporary decoding path calculated based on p. Each decoding path can derive two decoding paths, so its dimension is 2L;

[0139] u tmp is a 2L*1 vector, which is the decoding result of the current bit of the temporary decoding path calculated based on p, and is the same as p tmp One-to-one correspondence;

[0140] LLR calculation module (FUNC llr_calc ), which can be used to calculate the new increment of the path metric of the temporary decoding path, which is implemented based on a nested mechanism;

[0141] Y is a 5*L vector, used to perform parity check on the decoding results of L decoding paths;

[0142] is the DCRC interleaving sequence, the length is

[0143] K is the length of the polar coding output sequence, which physically means the length of the original information bit sequence;

[0144] N is the length of the polar decoding input sequence, N>K, and the value must be a power of 2. It can be calculated by referring to the protocol TS38.212;

[0145] qI represents the reliable subchannel index set selected for transmitting original information bits and check bits, including (K+n PC ) elements, which can be calculated by referring to the table in protocol TS38.212;

[0146] qPC represents the reliable subchannel index set used to transmit parity bits, which is a subset of qI and contains n PC elements, which can be calculated by referring to the table in protocol TS38.212;

[0147] To unify the description and facilitate understanding, in this paper, x i Represents the i-th element of vector x, X i,j Represents the element in the jth column of the i-th row of the matrix X. x(start:duration:end) represents a set of elements selected from the vector x in the index range [start,end] with intervals of duration. All indices start at 1 by default.

[0148] This embodiment proposes a low-complexity path selection method applicable to polar decoding, including:

[0149] (1) Avoiding the duplication of paths corresponding to frozen bits and check bits: To avoid duplication of paths corresponding to frozen bits and check bits, this embodiment actively discards invalid paths by designing a specific data storage mechanism, as shown in the following formula:

[0150] y t =Y 1,k ,Y 1,k =Y 2,,k ,Y 2,k =Y 3,k ,Y 3,k =Y 4,k ,Y 4,k =Y 5,k ,Y 5,k =y t

[0151] condition 1:for i?qI

[0152]

[0153] condition 2:for i∈qI and i∈qPC

[0154]

[0155] condition 3:for i∈qI and

[0156]

[0157] (2) Reducing the number of copied paths by using a sorted index array based on path metrics. By implementing data exchange for individual paths, the decoding results of each path can be updated, as shown below:

[0158]

[0159] Therefore, the low-complexity path selection method applicable to polar decoding described in this embodiment includes the following steps:

[0160] S1: Initialize SCL decoding result and status information: U=0, p=0, Y=0, y t =0;

[0161] S2: Initialize LLR loop count: i=1;

[0162] S3: If i>N, then end the decoding and output the decoding result U; otherwise, continue to execute S4;

[0163] S4: Initialize temporary decoding result: p tmp =0,u tmp =0;

[0164] S5: Initialize path loop count: k=1;

[0165] S6: Path cycle determination:

[0166] If k>L, jump to S10; otherwise, continue to execute S7;

[0167] S7: Obtain the decoding result:

[0168] Call the LLR calculation module to obtain llr, the input parameters are (log2(N),llr in ,u tmp ,i), and then hard decision is made to obtain the corresponding decoding result δ of the i-th bit, as shown in the following formula:

[0169]

[0170] S8: Update SCL temporary decoding results and status information:

[0171] First, perform a right circular shift operation to update Y, and then update p according to the three types of the i-th bit, namely frozen bit, information bit and PC check bit. tmp and u tmp , as shown below:

[0172] y t =Y 1,k ,Y 1,k =Y 2,,k ,Y 2,k =Y 3,k ,Y 3,k =Y 4,k ,Y 4,k =Y 5,k ,Y 5,k =y t

[0173] condition 1:for

[0174]

[0175] condition 2:for i∈qI and i∈qPC

[0176]

[0177] condition 3:for i∈qI and

[0178]

[0179] S9: Perform path loop accumulation: k=k+1, and jump to S6;

[0180] S10: Path selection and replication: If i∈qPC or i∈qI, then directly execute S11; otherwise, call the path selection module to select a valid path and perform path-related information, U, p, Y, order path and N p , update and reset the corresponding columns of the U matrix corresponding to the discarded path. The input parameters are (U, Y, order path ,N p ,p tmp ,u tmp ,L,i,n);

[0181] S11: Perform LLR cyclic accumulation: i=i+1, and jump to S3.

[0182] The processing of the path selection module includes:

[0183] S101: Reorder temporary path metrics: for p tmp Reorder in ascending order, and the reordered index set is recorded as vector order tmp ;

[0184] S102: Calculate the path update set, including the newly added path index set SET new , discard path index path set SET old , New path sorting index set SET new_plus ;

[0185]

[0186] in, Represents the empty set.

[0187] S103: Initialize the path cycle count k=1;

[0188] S104: Perform path loop judgment: If k>|SET new |, then jump to S108, |SET new | indicates a new path index set SET new The number of elements contained; otherwise, continue to execute S105;

[0189] S105: Update path order and path metric: If N p =L, then update the path order tmp and path metric p, as shown in the following formula; otherwise, directly execute S106;

[0190]

[0191] S106: Reset Y and U as shown below:

[0192]

[0193] S107: Path cycle count is accumulated: k=k+1, and jump to S104;

[0194] S108: Update path information: Update N first p , then update p and order path , as shown below:

[0195] step1:N p =min(2N p ,L)step2:

[0196]

[0197] 1≤m≤N p

[0198] Therefore, in the low-complexity path selection method suitable for polar decoding, partial invalid copies are avoided based on bit types, and the sorted index array of path metrics is used to implement partial copy U matrix to achieve the purpose of path replication, which can effectively reduce the SCL decoding processing complexity without reducing the decoding performance.

[0199] The foregoing description is merely a preferred embodiment of the present invention and is not intended to limit the present invention. Those skilled in the art will readily appreciate that various modifications and variations of the present invention are possible. Any modifications, equivalent substitutions, or improvements made within the spirit and principles of the present invention shall be included within the scope of protection of the present invention.

Claims

1. A low-complexity path selection method suitable for polar decoding, characterized in that: include: Avoid path duplication processing corresponding to frozen bits and check bits; Sorting the index array based on the path metric reduces the number of copy paths: S101: Reorder temporary path metrics: for p tmp Reorder in ascending order, and the reordered index set is recorded as vector order tmp ; S102: Calculate the path update set, including the newly added path index set SET new , discard path index path set SET old , New path sorting index set SET new_plus : in, represents the empty set; S103: Initialize the path cycle count k=1; S104: Perform path loop judgment: If k>|SET new |, then jump to S108, |SET new | indicates a new path index set SET new The number of elements contained; otherwise, continue to execute S105; S105: Update path order and path metric: If N p =L, then update the path order tmp and path metric p; otherwise, directly execute S106: S106: Reset Y and U; S107: Path cycle count is accumulated: k=k+1, and jump to S104; S108: Update path information: Update N first p , then update p and order path ; p is an L*1 vector, representing the path metric of the decoding path corresponding to each column in U; p tmp is a 2L*1 vector, which is the path metric of the temporary decoding path calculated based on p. Each decoding path can derive two decoding paths, so its dimension is 2L; U is an N*L matrix, each column of which corresponds to a decoding path and the corresponding decoding result, and there are L decoding paths in total; Y is a 5*L vector, used to perform parity check on the decoding results of L decoding paths; order path is an L*1 vector, representing the ascending sorted index of the path metric of each column in U corresponding to the decoding path; N p Indicates the number of valid paths, initialized to 1, and cannot exceed L.

2. The low-complexity path selection method for polar decoding according to claim 1, wherein: The steps include: S1: Initialize SCL decoding result and status information: U=0, p=0, Y=0, y t =0; S2: Initialize LLR loop count: i=1; S3: If i>N, then end the decoding and output the decoding result U; otherwise, continue to execute S4; S4: Initialize temporary decoding result: p tmp =0,u tmp =0; S5: Initialize path loop count: k=1; S6: Path cycle determination: If k>L, jump to S10; otherwise, continue to execute S7; S7: Obtain the decoding result: Call the LLR calculation module to obtain llr, the input parameters are (log2(N),llr in ,u tmp ,i), and then hard decision is made to obtain the corresponding decoding result δ of the i-th bit, as shown in the following formula: S8: Update SCL temporary decoding results and status information: First, perform a right circular shift operation to update Y, and then update p according to the three types of the i-th bit, namely frozen bit, information bit and PC check bit. tmp and u tmp , as shown below: and t =And 1,k ,AND 1,k =And 2,k ,AND 2,k =And 3,k ,AND 3,k =And 4,k ,AND 4,k =And 5,k ,AND 5,k =and t condition 1:for condition 2:for i∈qI and i∈qPC condition 3:for i∈qI and S9: Perform path loop accumulation: k=k+1, and jump to S6; S10: Path selection and replication: If i∈qPC or i∈qI, directly execute S11; Otherwise, the path selection module is called to select a valid path and the path-related information, U, p, Y, order path and N p , update and reset the corresponding columns of the U matrix corresponding to the discarded path. The input parameters are (U, Y, order path ,N p ,p tmp ,u tmp ,L,i,n); S11: Perform LLR loop accumulation: i=i+1, and jump to S3; The meaning of the parameters are: N is the length of the polar decoding input sequence, N>K, and the value must be a power of 2; K is the length of the polar coding output sequence; u tmp is a 2L*1 vector, which is the decoding result of the current bit of the temporary decoding path calculated based on p, and is the same as p tmp One-to-one correspondence; llr in is an N*1 vector, which is the input of the polar decoder; qI represents the reliable subchannel index set selected for transmitting original information bits and check bits, including (K+n PC ) elements; qPC represents the reliable subchannel index set used to transmit parity bits, which is a subset of qI and contains n PC elements.

3. The low-complexity path selection method for polar decoding according to claim 2, wherein: In step S106, the formula for resetting Y and U is expressed as:

4. The low-complexity path selection method for polar decoding according to claim 3, wherein: The formula for updating the path information in step S108 is expressed as:

Citation Information

Patent Citations

  • Dynamic frozen bits and error detection for polar codes

    CA3056299A1

  • Successive cancellation list polarization code decoding algorithm with effective low complexity based on random binary data flows and decoding structural frame thereof

    CN105515590A