Polar code decoding method, decoding device, storage medium, and electronic device

By introducing a complete binary tree model and a factor graph model in polarization coding and introducing prior information at each decoding node, the problem of poor SC decoding and BP decoding in the prior art is solved, and efficient and accurate polarization coding is achieved.

CN112769437BActive Publication Date: 2025-04-18ZTE CORP
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN201910998660.6
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2019-10-21
Publication Date
2025-04-18
Estimated Expiration
2039-10-21

AI Technical Summary

Technical Problem

In the prior art, SC decoding and BP decoding have problems of poor performance and limited use during polarization decoding.

Method used

A decoding method for polarization code is proposed. By establishing a complete binary tree model, decoding sequence is determined, and prior information is introduced at each decoding node, and a factor graph model is used to perform iterative calculations, augment and deletion of the decoding list, and finally determine the decoding output result of the polarization code sequence.

Benefits of technology

This method not only has the parallel characteristics and superior delay performance of BP decoding, but also improves the accuracy of decoding, solving the problems of poor performance and limited use during polarization coding and BP decoding.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN112769437B_ABST
    Figure CN112769437B_ABST
Patent Text Reader

Abstract

The present invention discloses a polarization code decoding method and decoding device, storage medium, and electronic device. The decoding method includes: determining a decoding sequence according to a received polarization code sequence; for each decoding node in the decoding sequence, determining a to-be-expanded decoding list of each decoding node according to prior information and bit information of each decoding node; expanding the to-be-expanded decoding list of each decoding node to determine an expanded decoding list of each decoding node; and determining a decoding output result of the polarization code sequence according to the expanded decoding list of each decoding node. The present invention introduces the idea of ​​prior information and multiple list searches in the BP decoding algorithm, which not only has the parallel characteristics of BP decoding and excellent delay performance, but also can improve the accuracy of decoding.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the field of decoding technology, and in particular to a polar code decoding method and decoding device, storage medium, and electronic device. Background Art

[0002] Polarization code is a channel coding technology that has been theoretically proven to achieve the Shannon capacity. Taking a binary memoryless channel as an example, channel polarization introduces correlation through channel merging, and then obtains a set of new binary polarized channels through channel splitting. When there are enough channels involved in polarization, polarization phenomenon can be observed: the capacity of one part of the channel tends to 1, while the capacity of another part of the channel tends to 0. Information bits can be placed in channels with high channel capacity for transmission, while known bits (frozen bits) are placed in channels with low channel capacity, thereby improving transmission reliability.

[0003] In the related art, the decoding methods of polar codes include Successive Cancellation (SC) decoding and Belief Propgation (BP) decoding. The SC decoding method adopts a serial method and has superior performance. However, due to its serial characteristics, its computational complexity and decoding delay increase greatly with the increase of the number of information bits. Its use is limited in low-latency communication scenarios. Although the BP decoding scheme adopts a parallelization method for decoding and has superior delay characteristics, its performance is far worse than that of the SC decoding method. Its use is limited in practical scenarios due to its poor performance. Summary of the invention

[0004] The embodiments of the present invention provide a polar code decoding method and decoding device, a storage medium, and an electronic device, so as to solve the problems of poor performance and limited use of SC decoding and BP decoding in the polar code decoding process in the prior art.

[0005] In a first aspect, an embodiment of the present invention provides a polar code decoding method, including:

[0006] determining a decoding sequence according to a received polar code sequence;

[0007] For each decoding node in the decoding sequence, determining a decoding list to be expanded for each decoding node according to prior information and bit information of each decoding node;

[0008] Expanding the to-be-expanded decoding list of each of the decoding nodes, and determining an expanded decoding list of each of the decoding nodes;

[0009] A decoding output result of the polar code sequence is determined according to the expanded decoding list of each decoding node.

[0010] According to some embodiments of the present invention, determining a decoding sequence according to a received polar code sequence includes:

[0011] A complete binary tree model is established with the polar code sequence as the root node;

[0012] Starting from the root node, select left subtree nodes in sequence to determine a parent sequence;

[0013] A decoding sequence is selected from the mother sequence.

[0014] In some embodiments of the present invention, the step of selecting a decoding sequence from the mother sequence includes:

[0015] Determine the decoding order;

[0016] Select a left subtree node with a decoding order minus one from the mother sequence, and together with the root node, form the decoding sequence;

[0017] In the decoding sequence, in the direction from the first decoding node to the last decoding node, the number of leaf nodes included in the left subtree nodes corresponding to the decoding nodes gradually increases.

[0018] Further, the determining of the decoding order includes:

[0019] Set the decoding order to the minimum depth value of all information bits in the complete binary tree model; or,

[0020] Set the decoding order to 1.

[0021] According to some embodiments of the present invention, for each of the decoding nodes, determining a decoding list to be expanded for each of the decoding nodes according to prior information and bit information of each of the decoding nodes includes:

[0022] For each of the decoding nodes, a factor graph model having (m+1)M nodes corresponding to each of the decoding nodes is established;

[0023] According to the prior information and bit information of each decoding node, the first-order factor right information and the m+1th-order factor left information in the factor graph model corresponding to each decoding node are initialized, and the left information and right information of any order factor in the factor graph model corresponding to each decoding node are iteratively calculated according to Formula 1:

[0024] L i,j =f(L i+1,j ,L i+1,j+Ni +R i,j+Ni )

[0025] L i,j+Ni =L i+1,j+Ni +f(Li+1,j ,R i,j )

[0026] R i+1j =f(R ij ,L i+1j+Ni +R i,j+Ni )

[0027] R i+1,j+Ni =R i,j+Ni +f(R i,j ,L i+1,j ) Formula 1,

[0028] Among them, L represents left information, R represents right information, Ni=2 m-i , 1≤Ni≤M, M is the number of leaf nodes contained in the decoding node, m=log 2 (M), 1≤i≤m+1, 1≤j≤M;

[0029] The iteration is terminated according to an early stopping iteration termination condition or when a maximum number of iterations is reached, and a decoding list to be expanded of each decoding node is output.

[0030] Further, the first-order factor right information and the m+1-th order factor left information of the factor graph model are initialized according to the prior information and bit information of each decoding node, including:

[0031] For each of the decoding nodes, the right information of the frozen bits in the first-order factor of the factor graph model of each of the decoding nodes is initialized to positive infinity or negative infinity, the right information of the information bits with prior information in the first-order factor is initialized to the prior information of each of the decoding nodes, and the right information of the information bits without prior information in the first-order factor is initialized to zero;

[0032] The left information of the m+1th order factor of the factor graph model is initialized as the bit information of each of the decoding nodes.

[0033] According to some embodiments of the present invention, the step of expanding the to-be-expanded decoding list of each decoding node in the decoding sequence and determining the expanded decoding list of each decoding node includes:

[0034] Performing a sign flip on the b decoding information in each to-be-expanded decoding list of each decoding node to obtain an extended decoding list after each to-be-expanded decoding list is expanded, wherein b is the number of extended bits, and b≥1;

[0035] The extended decoding list of each of the decoding nodes is pruned to determine an expanded decoding list of each of the decoding nodes.

[0036] Further, the deleting the extended decoding list of each of the decoding nodes to determine the expanded decoding list of each of the decoding nodes includes:

[0037] The initial list metric pruning value of each of the extended decoding lists is calculated according to Formula 2:

[0038]

[0039] in, represents the initial list metric deletion value of the k-th extended decoding list, represents the information bit metric value of the k-th extended decoding list, represents the frozen bit metric value of the i-th decoding list to be expanded, represents the list metric input value of the i-th decoding list to be extended, wherein the k-th extended decoding list is obtained by extending the i-th decoding list to be extended;

[0040] The initial list metric deletion values ​​of each decoding node are sorted in ascending order, and the extended decoding lists corresponding to the first preset number of initial list metric deletion values ​​are determined as the expanded decoding lists of each decoding node.

[0041] Furthermore, the According to formula 3, we can get:

[0042]

[0043] Among them, λ j represents the extended penalty value of the j-th information bit in the extended decoding list described in the k-th item;

[0044] Said According to formula 4, we can get:

[0045]

[0046] Among them, γ j represents the jth frozen bit penalty value in the i-th list to be expanded and decoded, W F A set of freezing point bits in the list representing the decoding node whose sequence numbers are greater than the first information bit;

[0047] Said According to formula 5, we can get:

[0048]

[0049] in, represents the list metric output value of the i-th expanded decoding list of the previous decoding node among the two adjacent decoding nodes, represents the list metric input value of the i-th decoding list to be expanded of the latter decoding node among the two adjacent decoding nodes, and the list metric input value of the first decoding node is initialized to zero;

[0050] The list metric output value of the kth extended decoding list of the decoding node is according to the formula: Calculated, where a 1 ≥0, a 2 ≥0, a 3 ≥0, the previous decoding node Calculated using the previous node's metric information.

[0051] Furthermore, the λ j According to formula 6, we can get:

[0052]

[0053] Among them, μ j represents the weighted value of the jth information bit, β j represents the decoding information of the j-th information bit;

[0054] The gamma j According to formula 7, we can get:

[0055]

[0056] Among them, η j represents the jth frozen bit weight, β j Represents the decoding information of the jth frozen bit.

[0057] According to some embodiments of the present invention, determining the decoding output result of the polar code sequence according to the expanded decoding list of each decoding node includes:

[0058] Determining an expanded decoding list of a last decoding node in the decoding sequence;

[0059] Performing hard decision on the expanded decoding list of the last decoding node;

[0060] A CRC check is performed on the extended decoding list of the last decoding node after the hard decision, and an item with the smallest list metric output value in at least one of the extended decoding lists that passes the CRC check is selected as a decoding output result of the polar code sequence.

[0061] According to some embodiments of the present invention, determining the decoding output result of the polar code sequence according to the expanded decoding list of each decoding node includes:

[0062] Determining an expanded decoding list of a last decoding node in the decoding sequence;

[0063] Performing hard decision on the expanded decoding list of the last decoding node;

[0064] performing a G matrix check on an extended decoding list of a last decoding node after the hard decision, and selecting at least one of the extended decoding lists that passes the G matrix check and has a smallest list metric output value as a decoding output result of the polar code sequence, wherein the G matrix is ​​a coding matrix.

[0065] According to some embodiments of the present invention, determining the decoding output result of the polar code sequence according to the expanded decoding list of each decoding node includes:

[0066] Determining an expanded decoding list of a last decoding node in the decoding sequence;

[0067] determining the number of erroneous bits of a frozen bit decoding result in each of the expanded decoding lists, determining a set of frozen bit decoding result erroneous numbers less than a frozen bit error number threshold, and selecting a list having a minimum metric output value from the set as a decoding output result of the polar code sequence.

[0068] According to some embodiments of the present invention, the method further comprises:

[0069] Determine bit information of a last decoding node in the decoding sequence according to the polar code sequence;

[0070] Iteratively calculating the bit information of each of the decoding nodes according to the bit information of the last decoding node;

[0071] Initializing the prior information of the first decoding node in the decoding sequence;

[0072] The prior information of each decoding node is iteratively calculated according to the prior information and bit information of the first decoding node.

[0073] Further, the iterative calculation of the prior information of each decoding node according to the prior information and bit information of the first decoding node includes:

[0074] For the decoding nodes other than the first decoding node, the prior information of the next decoding node is determined according to the expanded decoding list of the previous decoding node.

[0075] On the other hand, an embodiment of the present invention further provides a polar code decoding device, including:

[0076] An analysis module, used to determine a decoding sequence according to a received polar code sequence;

[0077] A calculation module, used to calculate the bit information and prior information of each decoding node in the decoding sequence,

[0078] A confirmation module, used to determine a decoding list to be expanded for each decoding node according to the prior information and bit information of each decoding node;

[0079] An expansion module, used to expand the to-be-expanded decoding list of each of the decoding nodes, and determine the expanded decoding list of each of the decoding nodes;

[0080] A decision module is configured to determine a decoding output result of the polar code sequence according to the expanded decoding list of each decoding node.

[0081] In a third aspect, an embodiment of the present invention provides a storage medium, wherein a computer program is stored in the storage medium, wherein the computer program is configured to execute the polar code decoding method as described above when running.

[0082] In a fourth aspect, an embodiment of the present invention further provides an electronic device, including a memory and a processor, wherein the memory stores a computer program, and the processor is configured to run the computer program to execute the polar code decoding method as described above.

[0083] By adopting the embodiment of the present invention, by adopting a multi-decoding node mode in the BP decoding algorithm and introducing a priori information in each decoding node, the priori information is calculated or initialized by the expanded decoding list of the previous decoding node, which not only has the parallel characteristics of BP decoding and excellent delay performance, but also can improve the accuracy of decoding.

[0084] The above description is only an overview of the technical solution of the present invention. In order to more clearly understand the technical means of the present invention, it can be implemented according to the contents of the specification. In order to make the above and other purposes, features and advantages of the present invention more obvious and easy to understand, the specific implementation methods of the present invention are listed below. BRIEF DESCRIPTION OF THE DRAWINGS

[0085] Various other advantages and benefits will become apparent to those of ordinary skill in the art by reading the detailed description of the preferred embodiments below. The accompanying drawings are only for the purpose of illustrating the preferred embodiments and are not to be considered as limiting the present invention. Moreover, the same reference symbols are used throughout the accompanying drawings to represent the same components. In the accompanying drawings:

[0086] Figure 1 is a flow chart of a polar code decoding method according to an embodiment of the present invention;

[0087] Figure 2 4 is a flow chart of a polar code decoding method according to an embodiment of the present invention. DETAILED DESCRIPTION

[0088] The exemplary embodiments of the present disclosure will be described in more detail below with reference to the accompanying drawings. Although the exemplary embodiments of the present disclosure are shown in the accompanying drawings, it should be understood that the present disclosure can be implemented in various forms and should not be limited by the embodiments set forth herein. On the contrary, these embodiments are provided to enable a more thorough understanding of the present disclosure and to fully convey the scope of the present disclosure to those skilled in the art.

[0089] In a first aspect, an embodiment of the present invention provides a polar code decoding method, such as Figure 1 As shown, the decoding method includes:

[0090] S101, determining a decoding sequence according to a received polar code sequence;

[0091] Here, it should be noted that the polar code sequence carries coded information bits and frozen bits, and the decoding sequence determined according to the polar code sequence includes all coded information bits in the polar code sequence. The decoding sequence is decoded by the decoding method, so that information bits after decoding (before encoding) can be obtained, and some work of decoding frozen bits can be omitted.

[0092] S102, for each decoding node in the decoding sequence, determining a decoding list to be expanded for each decoding node according to prior information and bit information of each decoding node;

[0093] Each decoding node contains bit information and prior information. In this step, a BP decoding method can be used to decode each decoding node based on the bit information and prior information of the decoding node.

[0094] S103, expanding the to-be-expanded decoding list of each decoding node, and determining the expanded decoding list of each decoding node;

[0095] It should be noted that the "expansion" mentioned here may be only expansion or deletion after expansion, but generally speaking, the number of items in the expanded decoding list after expansion is greater than or equal to the number of items in the list to be expanded before expansion.

[0096] S104: Determine a decoding output result of the polar code sequence according to the expanded decoding list of each decoding node.

[0097] It can be understood that after the expanded decoding lists of each decoding node are obtained, the expanded decoding lists can be screened and judged to determine the decoding output result of the polar code sequence.

[0098] The polar code decoding method according to the embodiment of the present invention can not only have the parallel characteristics and excellent delay performance of BP decoding, but also improve the decoding accuracy by introducing prior information into the BP decoding algorithm.

[0099] On the basis of the above-mentioned embodiments, various variant embodiments are further proposed. It should be noted that, in order to make the description concise, only the differences from the above-mentioned embodiments are described in each variant embodiment.

[0100] According to some embodiments of the present invention, each to-be-expanded decoding list can independently perform BP decoding with a priori information. Moreover, multiple to-be-expanded decoding lists can perform BP decoding with a priori information in parallel or in series.

[0101] According to some embodiments of the present invention, step S101 may include:

[0102] A complete binary tree model is established with the polar code sequence as the root node. In the complete binary tree model, the root node is the received polar code sequence, and the leaf node is the bit sequence of the polar code sequence after decoding (before encoding). The leaf nodes include two types of bits, one is the frozen bits known to the receiving end, and the other is the information bits unknown to the receiving end and containing valid information.

[0103] Starting from the root node, select the left subtree nodes in turn to determine the parent sequence.

[0104] In the complete binary tree model, each node has two subtree structures, namely the left subtree node and the right subtree node. Starting from the root node, select its left subtree nodes in turn until the leaf nodes, and you can get the mother sequence. Each left subtree node in the mother sequence contains a different number of leaf nodes.

[0105] Select a decoding sequence from the parent sequence. It can be understood that at least one left subtree node is selected from the parent sequence according to a certain screening rule to form a decoding sequence. The left subtree node in the decoding sequence is called a decoding node.

[0106] In some embodiments of the present invention, the method of selecting a decoding sequence from a mother sequence may include:

[0107] Determine the decoding order;

[0108] Starting from the root node, a number of left subtree nodes equal to the number of decoding orders minus one is selected from the parent sequence to form a decoding sequence. In the direction from the first decoding node to the last decoding node in the decoding sequence, the number of leaf nodes contained in the left subtree node corresponding to the decoding node gradually increases. It can be understood that the root node is the last decoding node in the decoding sequence.

[0109] For example, to achieve better decoding performance, in some examples of the present invention, starting from the root node, left subtree nodes having a number equal to the decoding order are selected from the mother sequence in sequence as decoding nodes of the decoding sequence.

[0110] For example, to achieve better latency, in other embodiments of the present invention, starting from the first decoding node in the mother sequence, a number equal to the decoding order minus one decoding node and a root node are selected as decoding nodes of the decoding sequence.

[0111] Furthermore, the method for determining the decoding order may include:

[0112] The decoding order is set to the minimum depth value that contains all information bits in the complete binary tree model; or, the decoding order is set to 1.

[0113] In addition, in some other embodiments of the present invention, the decoding order can be determined based on the block error rate and the decoding delay. Specifically, multiple subsequences having a length equal to the decoding order are determined from the mother sequence according to the decoding delay, wherein each subsequence includes a root node, and then a subsequence is determined from the multiple subsequences as the decoding sequence according to the block error rate.

[0114] According to some embodiments of the present invention, the method may further include:

[0115] Determine bit information of the last decoding node (i.e., the root node) in the decoding sequence according to the polar code sequence;

[0116] Iteratively calculate the bit information of each decoding node in the decoding sequence according to the bit information of the last decoding node;

[0117] Initialize the prior information of the first decoding node; for example, the prior information of the information bit in the first decoding node may be initialized to zero, and the prior information of the frozen bit may be initialized to positive infinity;

[0118] The prior information of each decoding node is iteratively calculated according to the prior information and bit information of the first decoding node.

[0119] Here, it should be noted that the calculation of the bit information of the decoding node can be directly calculated after the decoding sequence is determined, and the bit information of all decoding nodes can also be calculated before the decoding list to be expanded of each decoding node is determined, that is, the bit information of the decoding node is calculated separately when the bit information of the decoding node is used, and the embodiment of the present invention does not specifically limit this. In some embodiments of the present invention, iteratively calculating the bit information of each decoding node in the decoding sequence according to the bit information of the last decoding node may include:

[0120] Use the F function to iteratively calculate the bit information of the decoding nodes from the last decoding node until the first decoding node in the decoding sequence. The F function can be any of the following function formulas:

[0121] f(x,y)=Scale*sign(x)*sign(y)min(|x|,|y|)

[0122] f(x,y)=sign(x)*sign(y)min(|x|,|y|)

[0123] f(x,y)=2*atanh(tanh(x).*tanh(y))

[0124] Wherein Scale is a scaling factor, x is bit information corresponding to the upper half of the information bits of the latter decoding node among two adjacent decoding nodes, and y is bit information corresponding to the lower half of the information bits of the latter decoding node among two adjacent decoding nodes.

[0125] In some embodiments of the present invention, iteratively calculating the prior information of each decoding node according to the prior information and bit information of the first decoding node may include:

[0126] Determine a decoding list to be expanded of the first decoding node according to the prior information and bit information of the first decoding node;

[0127] Expanding the to-be-expanded decoding list of the first decoding node to determine the expanded decoding list of the first decoding node;

[0128] Starting from the first decoding node, the prior information of the next decoding node is determined according to the expanded decoding list of the previous decoding node of two adjacent decoding nodes.

[0129] For example, in some examples of the present invention, the weighted product of the expanded decoding list of the previous decoding node is used as the prior information of the next decoding node. It should be noted that the prior information of the frozen bit is always set to positive infinity.

[0130] According to some embodiments of the present invention, step S102 may include:

[0131] Establish a factor graph model with (m+1)M nodes corresponding to each decoding node;

[0132] For example, for a decoding node with M leaf nodes corresponding to a depth of m in a complete binary tree, a factor graph with (m+1)M nodes for decoding is determined, and the factor graph includes M rows and m+1 columns of nodes, where m=log 2(M) Each node in the factor graph includes right information R propagating from left to right, and left information L propagating from right to left.

[0133] According to the prior information and bit information of each decoding node, the first-order factor right information and the m+1th-order factor left information in the factor graph model corresponding to each decoding node are initialized, and the left information and right information of any order factor in the factor graph model corresponding to each decoding node are iteratively calculated according to formula 1:

[0134] L i,j =f(L i+1,j ,L i+1,j+Ni +R i,j+Ni )

[0135] L i,j+Ni =L i+1,j+Ni +f(L i+1,j ,R i,j )

[0136] R i+1 j =f(R i j ,L i+1 j+Ni +R i,j+Ni )

[0137] R i+1,j+Ni =R i,j+Ni +f(R i,j ,L i+1,j ); Formula 1;

[0138] Among them, L represents left information, R represents right information, Ni=2 m-i , 1≤Ni≤M, M is the number of leaf nodes contained in the decoding node, m=log 2 (M), 1≤i≤m+1, 1≤j≤M, i is greater than or equal to 1 and less than or equal to N; Ni and j are both greater than or equal to 1 and less than or equal to M.

[0139] The iteration is terminated according to the early stopping iteration termination condition or when the maximum number of iterations is reached, and the decoding list to be expanded of each decoding node is output. For example, the first-order factor left information L of each decoding node after the iteration is terminated according to the early stopping iteration termination condition or when the maximum number of iterations is reached is constructed to form the decoding list to be expanded of the decoding node.

[0140] In each iteration, the message of each node in the factor graph is first updated and transmitted to the right, and then updated and transmitted to the left between two adjacent orders.

[0141] Furthermore, the early stopping iteration termination conditions may include:

[0142] 1) Check bit check: During the encoding process, several check bits are placed at specific positions, and each check bit forms a check relationship with the information bit. In the factor graph iteration, the left information of the first-order factor is hard-determined to obtain the information bit and the check bit hard-decision value. The check bit is used to check the corresponding information bit according to the check relationship. If the check passes, the iteration is stopped, and if it fails, the iteration is continued.

[0143] 2) Coding matrix check: In the process of encoding according to the formula x=u*G, u is the bit before encoding, x is the bit after encoding, and G is the coding matrix.

[0144] in is the Kronecker product.

[0145] The coding matrix check is as follows: During each iteration, the left information of all information bits of the first-order factor is judged to obtain u, and the right information of all information bits of the n+1th-order factor is hard judged to obtain x. Each calculation is judged to see whether it is established. If it is established, the iteration is skipped, otherwise it is continued.

[0146] 3) Determine whether the left information difference in two or several adjacent iterations is less than a threshold, or whether the right information difference in two or several adjacent iterations is less than a threshold. If it is less than the threshold, the iteration stops.

[0147] 4) Frozen bit check: Set the frozen bit decoding error threshold (a positive integer greater than or equal to 1 and less than or equal to the number of frozen bits of the current decoding node), make a hard decision on the left information of all frozen bits of the first order to obtain u, determine whether the frozen bits in u are equal to the frozen bit value of the transmitting end, and record the number of erroneous frozen bits. If the number of erroneous frozen bits is less than or equal to the error threshold, the iteration is terminated, otherwise it continues.

[0148] In some embodiments of the present invention, the first-order factor right information and the m+1-th-order factor left information of the factor graph model are initialized according to the prior information and bit information of each decoding node, which may include:

[0149] For each of the decoding nodes, the right information of the frozen bits in the first-order factors of each of the decoding node factor graph models is initialized to positive infinity or negative infinity, the right information of the information bits with prior information in the first-order factors is initialized to the prior information of each of the decoding nodes, and the right information of the information bits without prior information in the first-order factors is initialized to zero;

[0150] The left information of the m+1th order factor of the factor graph model is initialized as the bit information of each of the decoding nodes.

[0151] According to some embodiments of the present invention, step S103 may include:

[0152] The b decoding information in each to-be-expanded decoding list of each decoding node is subjected to sign flipping to obtain an extended decoding list after each to-be-expanded decoding list is expanded.

[0153] Here, it should be noted that the value b selected for each decoding list to be expanded can be different, and b≥1.

[0154] The extended decoding list of each decoding node is pruned to determine an expanded decoding list of each decoding node.

[0155] In some embodiments of the present invention, deleting the extended decoding list of each decoding node to determine the expanded decoding list of each decoding node may include:

[0156] The initial list metric pruning value of each of the extended decoding lists is calculated according to Formula 2:

[0157]

[0158] in, represents the initial list metric deletion value of the k-th extended decoding list, represents the information bit metric value of the k-th extended decoding list, represents the frozen bit metric value of the i-th decoding list to be expanded, represents the list metric input value of the i-th decoding list to be expanded;

[0159] The initial list metric deletion values ​​of each decoding node are sorted in ascending order, and the extended decoding lists corresponding to the first preset number of initial list metric deletion values ​​are determined as the expanded decoding lists of each decoding node.

[0160] Furthermore, According to formula 3, we can get:

[0161]

[0162] Among them, λ j represents the j-th information bit extension penalty value in the k-th extended decoding list;

[0163] According to formula 4, we can get:

[0164]

[0165] Among them, γ j represents the jth frozen bit penalty value in the i-th list to be expanded and decoded, W FA set of freezing point bits representing a list number of decoding nodes greater than the first information bit;

[0166] According to formula 5, we can get:

[0167]

[0168] in, represents the list metric output value of the i-th decoding list to be expanded of the previous decoding node in two adjacent decoding nodes, It represents the list metric input value of the i-th decoding list to be expanded of the latter decoding node among two adjacent decoding nodes, and the list metric input value of the first decoding node is initialized to zero.

[0169] The list metric output value of the k-th extended decoding list of the decoding node is according to the formula: Calculated, where a 1 ≥0, a 2 ≥0, a 3 ≥0, previous decoding node Calculated using the previous node's metric information.

[0170] Furthermore, j According to formula 6, we can get:

[0171]

[0172] Among them, μ j represents the weighted value of the jth information bit, β j represents the decoding information of the j-th information bit;

[0173] γ j According to formula 7, we can get:

[0174]

[0175] Among them, η j represents the jth frozen bit weight, β j Represents the decoding information of the jth frozen bit.

[0176] According to some embodiments of the present invention, step S104 may include:

[0177] determining an expanded decoding list of a last decoding node in a decoding sequence;

[0178] Making a hard decision on the expanded decoding list of the last decoding node;

[0179] A CRC check is performed on the expanded decoding list of the last decoding node after the hard decision, and a decoding output result of the polar code sequence is determined according to the CRC check result.

[0180] Further, performing a CRC check on the expanded decoding list of the last decoding node after the hard decision, and determining a decoding output result of the polar code sequence according to the CRC check result may specifically include:

[0181] When at least one list in the expanded decoding list of the last decoding node passes the CRC check, the one with the smallest list metric output value in the expanded decoding list that passes the CRC check is selected as the decoding output result. When no list in the expanded decoding list of the last decoding node passes the CRC check, the one with the smallest list metric input value in the expanded decoding list is selected as the decoding output result. Among them, the list metric output value of the current decoding list to be expanded is the weighted sum of the information bit list metric value, the frozen bit metric value, and the list metric input value of the current decoding node.

[0182] According to some embodiments of the present invention, the decoding method further includes:

[0183] determining an expanded decoding list of a last decoding node in a decoding sequence;

[0184] Making a hard decision on the expanded decoding list of the last decoding node;

[0185] Count the number of bits with frozen bit decoding error in the expanded decoding list of the last decoding node. Set W is the set with the number of frozen bit decoding errors less than the frozen bit error threshold. Select the one with the smallest list metric output value in set W as the decoding output result.

[0186] According to some embodiments of the present invention, the decoding method further includes:

[0187] determining an expanded decoding list of a last decoding node in a decoding sequence;

[0188] Making a hard decision on the expanded decoding list of the last decoding node;

[0189] Perform a G matrix check on the expanded decoding list of the last decoding node after the hard decision, and select the one with the smallest list metric output value in the expanded decoding list that passes the G matrix check as the decoding output result, where the G matrix is ​​the encoding matrix.

[0190] like Figure 2 As shown, according to some embodiments of the present invention, the decoding method includes:

[0191] S201, establishing a complete binary tree model with the received polar code sequence to be decoded as the root node;

[0192] S202, starting from the root node, select left subtree nodes in sequence to determine a parent sequence;

[0193] S203, determining a serial decoding order, and selecting a decoding sequence from a mother sequence according to the serial decoding order;

[0194] S204, determining b and a preset value;

[0195] It should be noted that the more b there are and the larger the preset value is, the better the decoding BLER performance is, but at the same time the calculation complexity increases and the decoding delay also increases accordingly. In actual operation, it can be set according to actual needs.

[0196] S205, using the F function to iteratively calculate the bit information α of each decoding node starting from the last decoding node in the decoding sequence i , until the first decoding node in the decoding sequence, iteratively calculate the bit map of each decoding node according to the root node bit map;

[0197] There are many options for the F function, such as:

[0198] f(x,y)=Scale*sign(x)*sign(y)min(|x|,|y|)

[0199] f(x,y)=sign(x)*sign(y)min(|x|,|y|)

[0200] f(x,y)=2*atanh(tanh(x)*tanh(y))

[0201] Wherein Scale is a scaling factor, x is bit information corresponding to the upper half of the information bits of the latter decoding node among two adjacent decoding nodes, and y is bit information corresponding to the lower half of the information bits of the latter decoding node among two adjacent decoding nodes.

[0202] S206, initializing the prior information of the first decoding node.

[0203] Specifically, the prior information of the information bit in the first decoding node is initialized to zero, and the prior information of the frozen bit is initialized to positive infinity.

[0204] S207, substituting the bit information and prior information of the first decoding node into the factor graph model to determine the decoding list to be expanded of the first decoding node.

[0205] Specifically, the right information of the frozen bit in the first-order factor of the factor graph model of the first decoding node is initialized to positive infinity or negative infinity, the information bit with prior information in the first-order factor is initialized to the prior information of the first decoding node, and the information bit without prior information in the first-order factor is initialized to zero, and the left information of the m+1th order factor of the factor graph model of the first decoding node is initialized to the bit information of the first decoding node.

[0206] According to Formula 1, the left information and right information of any order factor in the factor graph model corresponding to the first decoding node are iteratively calculated:

[0207] L i,j =f(L i+1,j ,L i+1,j+Ni +R i,j+Ni )

[0208] L i,j+Ni =L i+1,j+Ni +f(L i+1,j ,R i,j )

[0209] R i+1 j =f(R i j ,L i+1j+Ni +R i,j+Ni )

[0210] R i+1,j+Ni =R i,j+Ni +f(R i,j ,L i+1,j ) Formula 1,

[0211] Among them, L represents left information, R represents right information, Ni=2 m-i ;

[0212] The iteration is terminated according to the early stopping iteration termination condition or when the maximum number of iterations is reached, and the first-order factor left information in the output factor graph model is used as the decoding list to be expanded for the first decoding node.

[0213] S208, performing sign flipping on the b decoding information in each to-be-expanded decoding list of the first decoding node, and obtaining an extended decoding list after each to-be-expanded decoding list is expanded.

[0214] S209, calculating the initial list metric deletion value of each extended decoding list of the first decoding node, and sorting the initial list metric deletion values ​​in ascending order, and determining that the extended decoding list corresponding to the first preset value of initial list metric deletion values ​​is the expanded decoding list of the first decoding node.

[0215] Specifically, the initial list metric deletion value of each extended decoding list is calculated according to Formula 2:

[0216]

[0217] in, represents the initial list metric deletion value of the k-th extended decoding list, represents the information bit metric value of the k-th extended decoding list, represents the frozen bit metric value of the i-th decoding list to be expanded, represents the list metric input value of the i-th decoding list to be expanded;

[0218] According to formula 3, we can get:

[0219]

[0220] Among them, λ j represents the j-th information bit extension penalty value in the k-th extended decoding list;

[0221] According to formula 4, we can get:

[0222]

[0223] Among them, γ j represents the jth frozen bit penalty value in the i-th list to be expanded and decoded, W F A set of freezing point bits representing a list number of decoding nodes greater than the first information bit;

[0224] According to formula 5, we can get:

[0225]

[0226] in, represents the list metric output value of the i-th decoding list to be expanded of the previous decoding node in two adjacent decoding nodes, Represents the list metric input value of the i-th decoding list to be expanded of the latter decoding node among two adjacent decoding nodes.

[0227] λ j According to formula 6, we can get:

[0228]

[0229] Among them, μ j represents the weighted value of the jth information bit, β j represents the decoding information of the j-th information bit;

[0230] γ j According to formula 7, we can get:

[0231]

[0232] Among them, η j represents the jth frozen bit weight, β j Represents the decoding information of the jth frozen bit.

[0233] The initial list metric deletion values ​​of the first decoding node are sorted in ascending order, and the extended decoding lists corresponding to the first preset number of initial list metric deletion values ​​are determined as the expanded decoding lists of the first decoding node.

[0234] The list metric output value of the k-th extended decoding list of the decoding node is according to the formula: Calculated, where a 1 ≥0, a 2 ≥0, a 3 ≥0, previous decoding node Calculated using the previous node's metric information.

[0235] It should be noted that the list metric output value of the expanded decoding list of each decoding node is calculated, but only the list metric output value of the expanded decoding list is used as the list metric input value of the next decoding node.

[0236] S210, starting from the first decoding node, taking the weighted value of the expanded decoding list of the previous decoding node of two adjacent decoding nodes as the prior information of the next decoding node, and iteratively calculating the expanded decoding list of each decoding node in turn until the last decoding node.

[0237] S211, performing hard decision on the expanded decoding list of the last decoding node;

[0238] S212: Perform a CRC check on the expanded decoding list of the last decoding node after the hard decision, and determine a decoding output result of the polar code sequence according to the CRC check result.

[0239] Specifically, when at least one list in the expanded decoding list of the last decoding node passes the CRC check, the one with the smallest list metric output value in the expanded decoding list that passes the CRC check is selected as the decoding output result. When no list in the expanded decoding list of the last decoding node passes the CRC check, the one with the smallest list metric input value in the expanded decoding list is selected as the decoding output result. Among them, the list metric output value of the current decoding list to be expanded is the weighted sum of the information bit list metric value, the frozen bit metric value, and the list metric input value of the current decoding node.

[0240] By adopting the embodiment of the present invention, the polar code decoding performance can be greatly improved by introducing prior information and making full use of the polarization characteristics of the polar code. In addition, BP decoding itself has the characteristics of easy parallelization, which can reduce latency. Compared with other decoding methods, it has great flexibility in performance and latency adjustment. In addition, by selecting different parameters, the decoding performance and decoding latency requirements can be adjusted according to different requirements and application scenarios.

[0241] The following describes in detail the decoding method of the polar code according to the embodiment of the present invention with two specific embodiments. It is worth noting that the following description is only an exemplary description and not a specific limitation of the present invention. All similar structures and similar variations of the present invention should be included in the protection scope of the present invention.

[0242] Embodiment 1

[0243] Assume that the number of information bits K = 512, the length of the mother code sequence N = 1024, and N = 2 n , n=10, modulation mode BPSK, the specific steps are as follows:

[0244] Step 1: Determine the decoding order S, decoding sequence A, b and preset value L, and calculate the bit information and prior information of each decoding node;

[0245] Determination of decoding order S: When the first decoding node in the decoding sequence contains information bits, the larger the serial decoding order S, the better the decoding BLER performance, but at the same time the decoding delay will increase. Therefore, when the BLER performance priority is greater than the decoding delay priority, in order to achieve the best decoding performance, S is set to the maximum S under the condition that the deepest decoding node contains information bits. If the decoding delay priority is greater than the BLER performance priority, select S = 1. Other scenarios can be dynamically set according to the performance requirements of specific services and the SNR at the time, and find a compromise between decoding performance and decoding delay.

[0246] Determination of decoding sequence A: After S is determined, it is determined together according to the decoding sequence characteristics and performance requirements: In the case of BP decoding process with early stopping mechanism, in order to achieve the best decoding performance, the decoding sequence consisting of the last S nodes in the mother sequence Q is selected. In order to achieve the best delay characteristics, the decoding sequence consisting of the first S-1 nodes and the last node in Q is selected.

[0247] Confirmation of b and preset value L: The more b there are and the larger the preset value L is, the better the decoding BLER performance will be, but at the same time the calculation complexity will increase and the decoding delay will also increase accordingly.

[0248] In this embodiment, it is required to achieve the best decoding BLER performance when the number of information bits K = 512, the mother code sequence length N = 1024, and the modulation mode BPSK. According to the bitmap V, the information bits are not included in the first 64 bits, and the information bits are included in the first 128 bits. Therefore, the optimal minimum number of decoding node bits is selected as 128 when the best performance is given priority and the delay performance is considered second. Then the largest S is selected when the information bits are included, thereby determining the serial decoding order: The mother sequence is Q{q1,q2,...,q11}, and the decoding sequence is selected based on the principle of optimal performance: A{q8,q9,q10,q11}. At the same time, considering the complexity and performance requirements, the selection is: b=8, L=32.

[0249] Calculate the bit information and prior information of each decoding node: Use the F function to iterate the bit information α of each decoding node from the root node q11 until the first decoding node q8 in the A sequence. Calculate the bit map of each decoding node in A based on the root node bit map. Finally, the bit information α of each decoding node in A{q8,q9,q10,q11} is obtained. i and bitmap V i The F function is: f(x,y)=sign(x)*sign(y)min(|x|,|y|), where x is the bit information corresponding to the upper half of the bits in the input α, and y is the bit information corresponding to the lower half of the bits in the input α.

[0250] Initialize prior information P 1 , that is, the information bit prior information marked by the first decoding node bit map is initialized to 0, and the frozen bit prior information marked by the bit map is initialized to positive infinity.

[0251] Step 2: Based on prior information P i , the α of the current decoding node i , the bitmap V of the current decoding node i , respectively apply the BP decoding method with prior information for decoding, and finally get l decoding lists to be expanded:

[0252] This step is implemented by iterating a factor graph with (m+1)M nodes. Where m=log2(M), M is the number of leaf nodes contained in the current decoding node. In this example, the optional values ​​of M are: 128, 256, 512, 1024. m is the depth of the left subtree corresponding to the decoding node. Each decoding node contains two kinds of information, which are recorded as the right information R propagated from left to right and the left information L propagated from right to left. At the beginning of the iteration, the first-order factor right message is initialized: the bitmap V i The determined frozen bits are initialized to positive infinity; the bitmap V iThe determined information bits with prior information are initialized as the prior information P i ; The information bits without prior information determined by the bitmap V are initialized to zero. The m+1th order factor left message is initialized to the decoding node bit information α i .

[0253] In each iteration, the message of each decoding node is first updated and transmitted to the right between two adjacent stages, and then updated and transmitted to the left. The formula for updating the left and right messages is as follows:

[0254] L i,j =f(L i+1,j ,L i+1,j+Ni +R i,j+Ni )

[0255] L i,j+Ni =L i+1,j+Ni +f(L i+1,j ,R i,j )

[0256] R i+1,j =f(R i,j ,L i+1,j+Ni +R i,j+Ni )

[0257] R i+1,j+Ni =R i,j+Ni +f(R i,j ,L i+1,j )

[0258] Where Ni = 2 m-i , i is greater than or equal to 1 and less than or equal to m+1, Ni and j are both greater than or equal to 1 and less than or equal to M;

[0259] Finally, the iteration is terminated according to the early stopping iteration termination condition or when the maximum number of iterations is reached, and the decoding list to be expanded is output. The early stopping iteration termination condition can be: 1. The cyclic redundancy check CRC passes. 2. The Polar coding matrix G check passes. 3. The left and right information difference in two or several adjacent iterations is less than the threshold ε. In this example, a fixed maximum number of iterations of 60 times is used as the iteration termination condition.

[0260] Step 3: Determine whether the length of the decoding list to be expanded is equal to the code length 1024, that is, whether the current decoding node is the last decoding node in sequence A. If yes, jump to step 5; if not, continue to step 4.

[0261] Step 4: Expand the decoding list to be expanded in each decoding list.

[0262] Calculate the list metric input value: If the current is the first decoding node in the decoding sequence A, the list metric input value is the initialization value PM in= 0. If the current decoding node is not the first decoding node, the current decoding list metric input value is equal to the previous decoding node list metric output value: Where i is the list index.

[0263] Calculate the frozen bit list metric: Let the set of frozen bit indices marked by the bitmap V be V F , note W F V F A subset of, in this case, W F The set of frozen bits marked by the bitmap V with an index greater than the first information bit. Calculate W in sequence F The penalty value of the frozen bit pair list in j :

[0264]

[0265] where η j Indicates the jth frozen bit weight value 0≤η j ≤+∞,γ j represents the jth frozen bit penalty value, β j Indicates the decoding information of the jth frozen bit. j =1.

[0266] The current frozen bit metric value of the i-th list is:

[0267]

[0268] Expand the l decoding lists to be expanded respectively:

[0269] Sort the absolute values ​​of the decoded information in each decoded list to be expanded, and find the decoded information of b information bits with the smallest absolute value. Flip the sign of the decoded information of b information bits, and each decoded list to be expanded will be expanded to 2 b The number of extended decoding lists is 2. b Each information bit sign flip forms a penalty term for the current extended list, which is denoted by λ j .

[0270]

[0271] where μ j Indicates the weighted value of the jth information bit 0≤η j ≤+∞,λ j represents the j-th information bit extension penalty value, β j Indicates the decoded information of the jth information bit. In this example, μ j =1.

[0272] Record the information bit list metric A total of l*2 b The extended decoding list and the corresponding information bit list metric value. Where k is l*2 b The index of the list of items.

[0273] Calculate the k-th expanded list metric deletion value The parent list of the kth extended decoding list is the i-th item in the original l decoding lists to be expanded, k = 1, 2, ... l*2 b ,i=1,2,...l. For PM reduce The smallest list of L=32 items is obtained by sorting as the extended decoding list. It should be noted that when the number of items in the extended decoding list is less than L, no list deletion is performed.

[0274] Prior information update: According to the bitmap V i P i+1 Bit-by-bit update (P i+1 represents the updated bit prior information), if the current information bit is a frozen bit, it is set to positive infinity, if it is an information bit, the expanded decoding list information weight value a is used k β k Update. Where 0≤a k ≤+∞ is the weight coefficient of the kth expanded decoding list. k is the kth expanded decoding list. In this example, a is selected k =1.

[0275] The list metric output value is the weighted sum of the information bit metric value, the frozen bit metric value, and the list metric input value. In this example, a 1 =1,a 2 =0,a 3 = 1. The parent list of the k-th extended decoding list is the i-th one of the original l decoding lists to be expanded. After the list is deleted, L or less lists are obtained as output metric values.

[0276] Step 5: Perform hard decision and CRC check on the L expanded decoding lists of the last decoding node to determine a decoding output result of the polar code sequence.

[0277] Make a hard decision on the L expanded decoding lists of the last decoding node:

[0278]

[0279] Among them, function I is a hard decision function, and x is the decoding information in the expanded decoding list.

[0280] Perform CRC check on each of the L expanded decoding lists. If any list passes the check, select the list that passes the CRC check. The smallest one is used as the decoding output result. If no list passes the check, select The smallest one is used as the decoding output result. In this example, a 24-bit CRC check is used for verification.

[0281] Table 1 is a simulation comparison of decoding performances of the first embodiment and the traditional BP. It can be seen from Table 1 that the decoding performance of the polar code is better when the first embodiment is used.

[0282] Table 1 Performance simulation comparison of Example 1

[0283]

[0284] Embodiment 2

[0285] Assume that the number of information bits K = 256, the length of the mother code sequence N = 1024, and N = 2 n , n=10, modulation mode BPSK, the specific steps are as follows:

[0286] Step 1: Determine the decoding order S, decoding sequence A, b and preset value L, and calculate the bit information and prior information of each decoding node;

[0287] Determination of decoding order S: When the first decoding node in the decoding sequence contains information bits, the larger the serial decoding order S, the better the decoding BLER performance, but at the same time the decoding delay will increase. Therefore, when the BLER performance priority is greater than the decoding delay priority, in order to achieve the best decoding performance, S is set to the maximum S under the condition that the deepest decoding node contains information bits. If the decoding delay priority is greater than the BLER performance priority, select S = 1. Other scenarios can be dynamically set according to the performance requirements of specific services and the SNR at the time, and find a compromise between decoding performance and decoding delay.

[0288] Determination of decoding sequence A: After S is determined, it is determined together according to the decoding sequence characteristics and performance requirements: In the case of BP decoding process with early stopping mechanism, in order to achieve the best decoding performance, the decoding sequence consisting of the last S nodes in the mother sequence Q is selected. In order to achieve the best delay characteristics, the decoding sequence consisting of the first S-1 nodes and the last node in Q is selected.

[0289] Confirmation of b and preset value L: The more b there are and the larger the preset value L is, the better the decoding BLER performance will be, but at the same time the calculation complexity will increase and the decoding delay will also increase accordingly.

[0290] In this embodiment, it is required to comprehensively consider the delay requirement and BLER performance when the number of information bits K = 256, the mother code sequence length N = 1024, and the modulation mode BPSK. According to the bitmap V, it can be seen that: the information bits are not included in the first 128 bits, and the information bits are included in the first 256 bits. Therefore, in the case of a compromise between delay and performance, the deepest decoding node bit number is selected as 256, thereby determining the serial decoding order: S = 2. The mother sequence is Q{q1,q2,...,q11}, and the decoding sequence is A{q9,q11}. At the same time, considering the complexity and performance requirements, the selection is: b = 16, L = 32.

[0291] Calculate the bit information and prior information of each decoding node: Use the F function to iterate the bit information α of each decoding node from the root node q11 until the first decoding node q9 in the A sequence. Calculate the bit map of each decoding node in A based on the root node bit map. Finally, the bit information α of each decoding node in A{q9,q11} is obtained. i and bitmap V i The F function is: f(x,y)=Scale*sign(x)*sign(y)min(|x|,|y|), where Scale=0.975, x is the bit information corresponding to the upper half of the bits in the input α, and y is the bit information corresponding to the lower half of the bits in the input α.

[0292] Initialize prior information P 1 , that is, the information bit prior information marked by the first decoding node bit map is initialized to 0, and the frozen bit prior information marked by the bit map is initialized to positive infinity.

[0293] Step 2: Based on prior information P i , the α of the current decoding node i , the bitmap V of the current decoding node i , respectively apply the BP decoding method with prior information for decoding, and finally get l decoding lists to be expanded:

[0294] This step is implemented by iterating over a factor graph with (m+1)M nodes. 2 (M), M is the number of leaf nodes contained in the current decoding node. In this example, the optional values ​​of M are: 256, 1024. m is the depth of the left subtree corresponding to the decoding node. Each decoding node contains two kinds of information, which are recorded as the right information R propagated from left to right and the left information L propagated from right to left. At the beginning of the iteration, the first-order factor right message is initialized: the bitmap V i The determined frozen bits are initialized to positive infinity; the bitmap V i The determined information bits with prior information are initialized as the prior information P i; The information bits without prior information determined by the bitmap V are initialized to zero. The m+1th order factor left message is initialized to the decoding node bit information α i .

[0295] In each iteration, the message of each decoding node is first updated and transmitted to the right between two adjacent stages, and then updated and transmitted to the left. The formula for updating the left and right messages is as follows:

[0296] L i,j =f(L i+1,j ,L i+1,j+Ni +R i,j+Ni )

[0297] L i,j+Ni =L i+1,j+Ni +f(L i+1,j ,R i,j )

[0298] R i+1,j =f(R i,j ,L i+1,j+Ni +R i,j+Ni )

[0299] R i+1,j+Ni =R i,j+Ni +f(R i,j ,L i+1,j )

[0300] Where Ni = 2 m-i , i is greater than or equal to 1 and less than or equal to m+1, Ni and j are both greater than or equal to 1 and less than or equal to M;

[0301] Finally, the iteration is terminated according to the early stopping iteration termination condition or when the maximum number of iterations is reached, and the decoding list to be expanded is output. The early stopping iteration termination condition can be: 1. The cyclic redundancy check CRC passes. 2. The Polar coding matrix G passes the check, 3. The left and right information difference in two or several adjacent iterations is less than the threshold ε. In this example, a fixed maximum number of iterations of 200 is used, and the iteration termination condition is jumped out when the matrix G check passes. At this time, the coding matrix G should correspond to the current decoding node.

[0302] Step 3: Determine whether the length of the decoding list to be expanded is equal to the code length 1024, that is, whether the current decoding node is the last decoding node in sequence A. If yes, jump to step 5; if not, continue to step 4.

[0303] Step 4: Expand the decoding list to be expanded in each decoding list.

[0304] Calculate the list metric input value: If the current is the first decoding node in the decoding sequence A, the list metric input value is the initialization value PM in= 0. If the current decoding node is not the first decoding node, the current decoding list metric input value is equal to the previous decoding node list metric output value: Where i is the list index.

[0305] Calculate the frozen bit list metric: Let the set of frozen bit indices marked by the bitmap V be V F , note W F V F A subset of, in this case, W F The set of frozen bits marked by the bitmap V with an index greater than the first information bit. Calculate W in sequence F The penalty value of the frozen bit pair list in j :

[0306]

[0307] where η j Indicates the jth frozen bit weight value 0≤η j ≤+∞,γ j represents the jth frozen bit penalty value, β j Indicates the decoding information of the jth frozen bit. j =1.

[0308] The current frozen bit metric value of the i-th list is:

[0309]

[0310] Expand the l decoding lists to be expanded respectively:

[0311] Sort the absolute values ​​of the decoded information in each decoded list to be expanded, and find the decoded information of b information bits with the smallest absolute value. Flip the sign of the decoded information of b information bits, and each decoded list to be expanded will be expanded to 2 b The number of extended decoding lists is 2. b Each information bit sign flip forms a penalty term for the current extended list, which is denoted by λ j .

[0312]

[0313] where μ j Indicates the weighted value of the jth information bit 0≤η j ≤+∞,λ j represents the j-th information bit extension penalty value, β j Indicates the decoded information of the jth information bit. In this example, μ j =1.

[0314] Record the information bit list metric A total of l*2 b The extended decoding list and the corresponding information bit list metric value. Where k is l*2 b The index of the list of items.

[0315] Calculate the k-th expanded list metric deletion value The parent list of the kth extended decoding list is the i-th item in the original l decoding lists to be expanded, k = 1, 2, ... l*2 b ,i=1,2,...l. For PM reduce The smallest list of L=32 items is obtained by sorting as the extended decoding list. It should be noted that when the number of items in the extended decoding list is less than L, no list deletion is performed.

[0316] Prior information update: According to the bitmap V i P i+1 Bit-by-bit update (P i+1 represents the updated bit prior information), if the current information bit is a frozen bit, it is set to positive infinity, if it is an information bit, the expanded decoding list information weight value a is used k β k Update. Where 0≤a k ≤+∞ is the weight coefficient of the kth expanded decoding list. k is the kth expanded decoding list. In this example, a is selected k =1.

[0317] The list metric output value is the weighted sum of the information bit metric value, the frozen bit metric value, and the list metric input value. In this example, a 1 =1,a 2 =0,a 3 =1. The parent list of the kth extended decoding list is the ith item in the original l decoding lists to be expanded. After the list is deleted, the output metric value of L or less lists is obtained.

[0318] Step 5: Perform hard decision on the L expanded decoding lists of the last decoding node, verify the number of frozen bit decoding errors, and determine a decoding output result of the polar code sequence.

[0319] Make a hard decision on the L expanded decoding lists of the last decoding node:

[0320]

[0321] Among them, function I is a hard decision function, and x is the decoding information in the expanded decoding list.

[0322] The number of frozen bit errors is checked for each of the L expanded decoding lists. In this example, the frozen bit error threshold is set to 1. If a list passes the check, that is, the number of frozen bit decoding errors in one or more decoding results is less than or equal to 1, then the list with the smallest list metric output value in the decoding list that passes the check is selected as the decoding output result. If no list passes the check, then the list with the smallest list metric output value is selected as the decoding output result.

[0323] It should be noted that, in the description of this specification, the description with reference to the terms "one embodiment", "some embodiments", "illustrative embodiments", "examples", "specific examples", or "some examples" means that the specific features, structures, materials or characteristics described in conjunction with the embodiment or example are included in at least one embodiment or example of the present invention. In this specification, the schematic representation of the above terms does not necessarily refer to the same embodiment or example. Moreover, the specific features, structures, materials or characteristics described may be combined in any one or more embodiments or examples in a suitable manner.

[0324] Although the embodiments of the present invention have been shown and described, it will be appreciated by those skilled in the art that various changes, modifications, substitutions and variations may be made to the embodiments without departing from the principles and spirit of the present invention, and that the scope of the present invention is defined by the claims and their equivalents.

Claims

1. A polar code decoding method, characterized in that: include: determining a decoding sequence according to a received polar code sequence; For each decoding node, a factor graph model having (m+1)M nodes corresponding to each decoding node is established; According to the prior information and bit information of each decoding node, the first-order factor right information and the m+1th-order factor left information in the factor graph model corresponding to each decoding node are initialized, and the left information and right information of any order factor in the factor graph model corresponding to each decoding node are iteratively calculated according to Formula 1: L i,j =f(L i+1,j ,L i+1,j+Ni +R i,j+Ni ) L i,j+Ni =L i+1,j+Ni +f(L i+1,j ,R i,j ) R i+1j =f(R ij ,L i+1j+Ni +R i,j+Ni ) R i+1,j+Ni =R i,j+Ni +f(R i,j ,L i+1,j ) Formula 1, Among them, L represents left information, R represents right information, Ni=2 m-i , 1≤Ni≤M, M is the number of leaf nodes contained in each decoding node, m=log2(M), 1≤i≤m+1,1≤j≤M; The iteration is terminated according to an early stopping iteration termination condition or when a maximum number of iterations is reached, and a decoding list to be expanded for each decoding node is output; Performing a sign flip on the b decoding information in each decoding list to be expanded of each decoding node to obtain an expanded decoding list after each decoding list to be expanded is expanded, wherein b is the number of expansion bits, and b≥1; A decoding output result of the polar code sequence is determined according to the expanded decoding list of each decoding node.

2. The method according to claim 1, characterized in that The determining a decoding sequence according to the received polar code sequence includes: A complete binary tree model is established with the polar code sequence as the root node; Starting from the root node, select left subtree nodes in sequence to determine a parent sequence; A decoding sequence is selected from the mother sequence.

3. The method according to claim 2, characterized in that The selecting a decoding sequence from the mother sequence comprises: Determine the decoding order; Select a left subtree node with a decoding order minus one from the mother sequence, and together with the root node, form the decoding sequence; In the decoding sequence, in the direction from the first decoding node to the last decoding node, the number of leaf nodes included in the left subtree nodes corresponding to the decoding nodes gradually increases.

4. The method according to claim 3, characterized in that The determining of the decoding order comprises: Set the decoding order to the minimum depth value of all information bits in the complete binary tree model; or, Set the decoding order to 1.

5. The method according to claim 1, characterized in that Initializing the first-order factor right information and the m+1-th-order factor left information of the factor graph model according to the prior information and bit information of each decoding node includes: For each of the decoding nodes, the right information of the frozen bits in the first-order factor of the factor graph model of each of the decoding nodes is initialized to positive infinity or negative infinity, the right information of the information bits with prior information in the first-order factor is initialized to the prior information of each of the decoding nodes, and the right information of the information bits without prior information in the first-order factor is initialized to zero; The left information of the m+1th order factor of the factor graph model is initialized as the bit information of each of the decoding nodes.

6. The method according to claim 1, characterized in that After performing the sign flipping on the b decoding information in each decoding list to be expanded of each decoding node to obtain the expanded decoding list after each of the decoding lists to be expanded is extended, the method further comprises: The extended decoding list of each of the decoding nodes is pruned to determine an expanded decoding list of each of the decoding nodes.

7. The method according to claim 6, characterized in that The step of deleting the extended decoding list of each decoding node to determine an expanded decoding list of each decoding node includes: The initial list metric pruning value of each of the extended decoding lists is calculated according to Formula 2: in, represents the initial list metric deletion value of the k-th extended decoding list, represents the information bit metric value of the k-th extended decoding list, represents the frozen bit metric value of the i-th decoding list to be expanded, A list metric input value representing the i-th decoding list to be extended, wherein the k-th extended decoding list is obtained by extending the i-th decoding list to be extended; The initial list metric deletion values ​​of each decoding node are sorted in ascending order, and the extended decoding lists corresponding to the first preset number of initial list metric deletion values ​​are determined as the expanded decoding lists of each decoding node.

8. The method according to claim 7, characterized in that Said According to formula 3, we can get: Among them, λ j represents the extended penalty value of the j-th information bit in the extended decoding list described in the k-th item; Said According to formula 4, we can get: Among them, γ j represents the jth frozen bit penalty value in the i-th list to be expanded and decoded, W F A set of freezing point bits in the list representing the decoding node whose sequence numbers are greater than the first information bit; Said According to formula 5, we can get: in, represents the list metric output value of the i-th expanded decoding list of the previous decoding node among the two adjacent decoding nodes, represents the list metric input value of the i-th decoding list to be expanded of the latter decoding node among the two adjacent decoding nodes, and the list metric input value of the first decoding node is initialized to zero; The list metric output value of the kth extended decoding list of the decoding node is according to the formula: Calculate and obtain, where a1≥0, a2≥0, a3≥0, the previous decoding node Calculated using the previous node's metric information.

9. The method according to claim 8, characterized in that The lambda j According to formula 6, we can get: Among them, μ j represents the weighted value of the jth information bit, β j represents the decoding information of the j-th information bit; The gamma j According to formula 7, we can get: Among them, η j represents the jth frozen bit weight, β j Represents the decoding information of the jth frozen bit.

10. The method according to claim 9, characterized in that The step of determining a decoding output result of the polar code sequence according to the expanded decoding list of each decoding node includes: Determining an expanded decoding list of a last decoding node in the decoding sequence; performing a hard decision on the extended decoding list of the last decoding node; performing a CRC check on the extended decoding list of the last decoding node after the hard decision, and selecting one of the extended decoding lists that passes the CRC check and has the smallest list metric output value as a decoding output result of the polar code sequence.

11. The method according to claim 9, characterized in that The step of determining a decoding output result of the polar code sequence according to the expanded decoding list of each decoding node includes: Determining an expanded decoding list of a last decoding node in the decoding sequence; Performing hard decision on the expanded decoding list of the last decoding node; performing a G matrix check on an extended decoding list of a last decoding node after the hard decision, and selecting at least one of the extended decoding lists that passes the G matrix check and has a smallest list metric output value as a decoding output result of the polar code sequence, wherein the G matrix is ​​a coding matrix.

12. The method according to claim 9, characterized in that The step of determining a decoding output result of the polar code sequence according to the expanded decoding list of each decoding node includes: Determining an expanded decoding list of a last decoding node in the decoding sequence; determining the number of erroneous bits of a frozen bit decoding result in each of the expanded decoding lists, determining a set of frozen bit decoding result erroneous numbers less than a frozen bit error number threshold, and selecting a list having a minimum metric output value from the set as a decoding output result of the polar code sequence.

13. The method according to any one of claims 1 to 12, characterized in that The method further comprises: Determine bit information of a last decoding node in the decoding sequence according to the polar code sequence; Iteratively calculating the bit information of each of the decoding nodes according to the bit information of the last decoding node; Initializing the prior information of the first decoding node in the decoding sequence; The prior information of each decoding node is iteratively calculated according to the prior information and bit information of the first decoding node.

14. The method according to claim 13, characterized in that The iterative calculation of the prior information of each decoding node according to the prior information and bit information of the first decoding node includes: For the decoding nodes other than the first decoding node, the prior information of the next decoding node is determined according to the expanded decoding list of the previous decoding node.

15. A polar code decoding device, characterized in that: include: An analysis module, used to determine a decoding sequence according to a received polar code sequence; A confirmation module, used for establishing, for each decoding node, a factor graph model having (m+1)M nodes corresponding to each decoding node; According to the prior information and bit information of each decoding node, the first-order factor right information and the m+1th-order factor left information in the factor graph model corresponding to each decoding node are initialized, and the left information and right information of any order factor in the factor graph model corresponding to each decoding node are iteratively calculated according to Formula 1: L i,j =f(L i+1,j ,L i+1,j+Ni +R i,j+Ni ) L i,j+Ni =L i+1,j+Ni +f(L i+1,j ,R i,j ) R i+1j =f(R ij ,L i+1j+Ni +R i,j+Ni ) R i+1,j+Ni =R i,j+Ni +f(R i,j ,L i+1,j ) Formula 1, Among them, L represents left information, R represents right information, Ni=2 m-i , 1≤Ni≤M, M is the number of leaf nodes contained in each decoding node, m=log2(M), 1≤i≤m+1,1≤j≤M; The iteration is terminated according to an early stopping iteration termination condition or when a maximum number of iterations is reached, and a decoding list to be expanded for each decoding node is output; An expansion module, configured to perform sign flipping on b pieces of decoding information in each decoding list to be expanded of each decoding node, and obtain an expanded decoding list after each piece of the decoding list to be expanded is expanded, wherein b is the number of expansion bits, and b≥1; A decision module is configured to determine a decoding output result of the polar code sequence according to the expanded decoding list of each decoding node.

16. A storage medium, characterized in that: The storage medium stores a computer program, wherein the computer program is configured to execute the method according to any one of claims 1 to 14 when executed.

17. An electronic device comprising a memory and a processor, characterized in that: A computer program is stored in the memory, and the processor is configured to run the computer program to perform the method according to any one of claims 1 to 14.

Citation Information

Patent Citations

  • Polarization code BP decoding method based on Gaussian approximation threshold judgment

    CN109257148A

  • Decoding method and device and computer readable storage medium

    CN109802690A