CN112769437A - Decoding method and decoding device for polarization code, storage medium, and electronic device - Google Patents

Decoding method and decoding device for polarization code, storage medium, and electronic device Download PDF

Info

Publication number
CN112769437A
CN112769437A CN201910998660.6A CN201910998660A CN112769437A CN 112769437 A CN112769437 A CN 112769437A CN 201910998660 A CN201910998660 A CN 201910998660A CN 112769437 A CN112769437 A CN 112769437A
Authority
CN
China
Prior art keywords
decoding
list
node
information
expanded
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201910998660.6A
Other languages
Chinese (zh)
Inventor
郜杰
魏浩
李�杰
杨世睦
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
ZTE Corp
Original Assignee
ZTE Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by ZTE Corp filed Critical ZTE Corp
Priority to CN201910998660.6A priority Critical patent/CN112769437A/en
Publication of CN112769437A publication Critical patent/CN112769437A/en
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/13Linear codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/11Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
    • H03M13/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
    • H03M13/1105Decoding
    • H03M13/1111Soft-decision decoding, e.g. by means of message passing or belief propagation algorithms
    • H03M13/1125Soft-decision decoding, e.g. by means of message passing or belief propagation algorithms using different domains for check node and bit node processing, wherein the different domains include probabilities, likelihood ratios, likelihood differences, log-likelihood ratios or log-likelihood difference pairs

Landscapes

  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Error Detection And Correction (AREA)

Abstract

The invention discloses a decoding method and a decoding device of a polarization code, a storage medium and an electronic device, wherein the decoding method comprises the following steps: determining a decoding sequence according to the received polarization code sequence; for each decoding node in the decoding sequence, determining a decoding list to be expanded of each decoding node according to the prior information and the bit information of each decoding node; expanding the decoding list to be expanded of each decoding node, and determining the expanded decoding list of each decoding node; and determining a decoding output result of the polarized code sequence according to the expanded decoding list of each decoding node. By adopting the invention, the concepts of prior information and multi-list searching are introduced into the BP decoding algorithm, so that the BP decoding parallel characteristic and the excellent time delay performance can be achieved, and the decoding accuracy can be improved.

Description

Decoding method and decoding device for polarization code, storage medium, and electronic device
Technical Field
The present invention relates to the field of decoding technologies, and in particular, to a decoding method and a decoding apparatus for a polar code, a storage medium, and an electronic apparatus.
Background
The polar code is a channel coding technique which theoretically proves that the shannon capacity can be reached. Taking binary memoryless channel as an example, channel polarization introduces correlation through channel combination, and then a group of new binary polarization channels are obtained through channel splitting. The polarization phenomenon can be observed when there are enough channels participating in the polarization: some channel capacities tend to 1 and other channel capacities tend to 0. Information bits can be placed in a channel with high channel capacity for transmission, while a channel with low channel capacity is placed with known bits (frozen bits), thereby improving transmission reliability.
In the related art, the decoding method of the polarization code includes Serial Cancellation (SC) decoding and Belief Propagation (BP) decoding. The SC decoding method adopts a serial method, has excellent performance, but has the advantages of high computation complexity and greatly increased decoding time delay along with the increase of the number of information bits due to the serial characteristic, and is limited to be used in a low-time-delay communication scene. Although the BP decoding scheme has superior delay characteristics when decoding is performed by using a parallelization method, the performance of the BP decoding scheme is far inferior to that of the SC decoding method, and the BP decoding scheme is limited in use in a practical scene due to poor performance.
Disclosure of Invention
The embodiment of the invention provides a polar code decoding method and device, a storage medium and an electronic device, which are used for solving the problems of poor performance and limited use of SC decoding and BP decoding in the polar code decoding process in the prior art.
In a first aspect, an embodiment of the present invention provides a method for decoding a polar code, including:
determining a decoding sequence according to the received polarization code sequence;
for each decoding node in the decoding sequence, determining a decoding list to be expanded of each decoding node according to the prior information and the bit information of each decoding node;
expanding the decoding list to be expanded of each decoding node, and determining the expanded decoding list of each decoding node;
and determining a decoding output result of the polarized code sequence according to the expanded decoding list of each decoding node.
According to some embodiments of the invention, the determining a decoding sequence from the received polarization code sequence comprises:
establishing a complete binary tree model by taking the polarized code sequence as a root node;
sequentially selecting left sub-tree nodes from the root node to determine a mother sequence;
a decoding sequence is selected from the parent sequence.
In some embodiments of the present invention, the selecting a decoding sequence from the mother sequence includes:
determining a decoding order;
selecting a decoding order minus a left sub-tree node from the mother sequence, and forming the decoding sequence together with the root node;
in a direction from a first decoding node to a last decoding node in the decoding sequence, the number of leaf nodes included in a left sub-tree node corresponding to the decoding node is gradually increased.
Further, the determining a coding order comprises:
setting a decoding order as a minimum depth value of all information bits contained in the complete binary tree model; alternatively, the first and second electrodes may be,
the decoding order is set to 1.
According to some embodiments of the present invention, the determining, for each of the decoding nodes, a decoding list to be extended for each of the decoding nodes according to the priori information and the bit information of each of the decoding nodes includes:
for each decoding node, establishing a factor graph model with (M +1) M nodes corresponding to each decoding node;
initializing first-order factor right information and m + 1-order factor left information in a factor graph model corresponding to each decoding node according to prior information and bit information of each decoding node, and iteratively calculating left information and right information of any-order factor in the factor graph model corresponding to each decoding node according to a formula 1:
Li,j=f(Li+1,j,Li+1,j+Ni+Ri,j+Ni)
Li,j+Ni=Li+1,j+Ni+f(Li+1,j,Ri,j)
Ri+1j=f(Rij,Li+1j+Ni+Ri,j+Ni)
Ri+1,j+Ni=Ri,j+Ni+f(Ri,j,Li+1,j) In the formula 1, the first and second groups,
wherein L represents left information, R represents right information, and Ni-2m-iWhere 1 is not less than Ni and not more than M, M is the number of leaf nodes contained in the coding node, and M is log2(M),1≤i≤m+1,1≤j≤M;
And terminating iteration according to an early iteration termination condition or when the maximum iteration times is reached, and outputting a decoding list to be expanded of each decoding node.
Further, initializing the first order factor right information and the m +1 order factor left information of the factor graph model according to the prior information and the bit information of each decoding node includes:
for each decoding node, initializing right information of a frozen bit in a first-order factor of a factor graph model of each decoding node to be plus infinity or minus infinity, initializing right information of an information bit with prior information in the first-order factor to be prior information of each decoding node, and initializing right information of an information bit without prior information in the first-order factor to be zero;
initializing the m +1 th order factor left information of the factor graph model into bit information of each decoding node.
According to some embodiments of the present invention, the expanding the to-be-expanded decoding list of each decoding node in the decoding sequence and determining an expanded decoding list of each decoding node comprises:
symbol overturning is carried out on b decoding information in each to-be-expanded decoding list of each decoding node, and an expanded decoding list after each to-be-expanded decoding list is expanded is obtained, wherein b is the number of expansion bits, and b is larger than or equal to 1;
pruning the extended decoding list for each of the decoding nodes to determine an extended decoding list for each of the decoding nodes.
Further, the pruning the extended coding list of each of the coding nodes to determine an extended coding list of each of the coding nodes comprises:
calculating an initial list metric pruned value for each of the extended coding lists according to equation 2:
Figure BDA0002240576460000041
wherein the content of the first and second substances,
Figure BDA0002240576460000042
an initial list metric pruned value representing the kth said extended coding list,
Figure BDA0002240576460000043
an information bit metric value representing a kth of said extended decoding list,
Figure BDA0002240576460000044
a frozen bit metric value representing the ith decoding list to be expanded,
Figure BDA0002240576460000045
a list metric input value representing the ith decoding list to be expanded, wherein the kth expansion decoding list is obtained by expanding the ith decoding list to be expanded;
and sequencing the initial list metric deletion values of each decoding node from small to large, and determining an extended decoding list corresponding to the initial list metric deletion values with a preset value as an extended decoding list of each decoding node.
Further, the
Figure BDA0002240576460000046
Calculated according to equation 3:
Figure BDA0002240576460000047
wherein λ isjRepresenting the j information bit extension penalty value in the k piece of the extension decoding list;
the above-mentioned
Figure BDA0002240576460000048
And calculating according to formula 4 to obtain:
Figure BDA0002240576460000049
wherein, γjRepresents the j frozen bit penalty value, W, in the ith decoding list to be expandedFRepresenting a set of freezing point bits with serial numbers larger than first information bits in the list of the decoding nodes;
the above-mentioned
Figure BDA00022405764600000410
Calculated according to equation 5:
Figure BDA00022405764600000411
wherein the content of the first and second substances,
Figure BDA00022405764600000412
a list metric output value representing an ith extended coding list of a previous one of two adjacent said coding nodes,
Figure BDA0002240576460000051
representing the ith decoding node to be expanded in the next two adjacent decoding nodesThe list metric input value of the code list, 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:
Figure BDA0002240576460000052
is obtained by calculation, wherein a1≥0,a2≥0,a3Not less than 0, the previous decoding node
Figure BDA0002240576460000053
And calculating the measurement information of the previous node.
Further, said λjCalculated according to equation 6:
Figure BDA0002240576460000054
wherein, mujDenotes the jth information bit weight, betajDecoding information indicating a jth information bit;
the gamma isjCalculated according to equation 7:
Figure BDA0002240576460000055
wherein eta isjDenotes the jth frozen bit weight, βjAnd decoding information representing the jth frozen bit.
According to some embodiments of the invention, the determining a decoding output result of the polar code sequence according to the extended decoding list of each of the decoding nodes comprises:
determining an extended coding list for a last coding node in the coding sequence;
carrying out hard decision on the extended decoding list of the last decoding node;
and performing CRC (cyclic redundancy check) on the extended decoding list of the last decoding node after hard decision, and selecting one of the at least one extended decoding list passing the CRC with the minimum list metric output value as a decoding output result of the polarized code sequence.
According to some embodiments of the invention, the determining a decoding output result of the polar code sequence according to the extended decoding list of each of the decoding nodes comprises:
determining an extended coding list for a last coding node in the coding sequence;
carrying out hard decision on the extended decoding list of the last decoding node;
and performing G matrix check on the expanded decoding list of the last decoding node after hard decision, and selecting one of the at least one expanded decoding list passing the G matrix check with the minimum list metric output value as a decoding output result of the polarized code sequence, wherein the G matrix is an encoding matrix.
According to some embodiments of the invention, the determining a decoding output result of the polar code sequence according to the extended decoding list of each of the decoding nodes comprises:
determining an extended coding list for a last coding node in the coding sequence;
determining the number of bits with frozen bit decoding result errors in each expanded decoding list, determining a set with the number of frozen bit decoding result errors smaller than a threshold value of the number of frozen bit errors, and selecting one with the minimum list metric output value from the set as a decoding output result of the polarized code sequence.
According to some embodiments of the invention, the method further comprises:
determining bit information of the last decoding node in the decoding sequence according to the polarization code sequence;
iteratively calculating the bit information of each decoding node according to the bit information of the last decoding node;
initializing prior information of a first decoding node in the decoding sequence;
and iteratively calculating the prior information of each decoding node according to the prior information and the bit information of the first decoding node.
Further, the iteratively calculating the prior information of each decoding node according to the prior information and the bit information of the first decoding node includes:
and for the decoding nodes except the first decoding node, determining the prior information of the next decoding node according to the expanded decoding list of the previous decoding node.
On the other hand, an embodiment of the present invention further provides a decoding device for a polar code, including:
the analysis module is used for determining a decoding sequence according to the received polarization code sequence;
a calculation module for calculating bit information and prior information of each decoding node in the decoding sequence,
the confirming module is used for confirming a decoding list to be expanded of each decoding node according to the prior information and the bit information of each decoding node;
the expansion module is used for expanding the decoding list to be expanded of each decoding node and determining the expanded decoding list of each decoding node;
and the judgment module is used for determining a decoding output result of the polarized code sequence according to the expanded decoding list of each decoding node.
In a third aspect, an embodiment of the present invention provides a storage medium, in which a computer program is stored, where the computer program is configured to execute the method for decoding a polarization code as described above when the computer program runs.
In a fourth aspect, an embodiment of the present invention further provides an electronic apparatus, including a memory and a processor, where the memory stores a computer program, and the processor is configured to execute the computer program to perform the method for decoding polarization codes as described above.
By adopting the embodiment of the invention, the BP decoding algorithm adopts a multi-decoding node mode, the prior information is introduced into each decoding node, and the prior information is obtained by calculation or initialization of the expanded decoding list of the previous decoding node, so that the BP decoding algorithm has the parallel characteristic of BP decoding and excellent time delay performance, and the decoding accuracy can be improved.
The foregoing description is only an overview of the technical solutions of the present invention, and the embodiments of the present invention are described below in order to make the technical means of the present invention more clearly understood and to make the above and other objects, features, and advantages of the present invention more clearly understandable.
Drawings
Various other advantages and benefits will become apparent to those of ordinary skill in the art upon reading the following detailed description of the preferred embodiments. The drawings are only for purposes of illustrating the preferred embodiments and are not to be construed as limiting the invention. Also, like reference numerals are used to refer to like parts throughout the drawings. In the drawings:
FIG. 1 is a flowchart of a method for decoding a polarization code according to an embodiment of the present invention;
FIG. 2 is a flowchart of a decoding method of a polarization code according to an embodiment of the present invention.
Detailed Description
Exemplary embodiments of the present disclosure will be described in more detail below with reference to the accompanying drawings. While exemplary embodiments of the present disclosure are shown in the drawings, it should be understood that the present disclosure may be embodied in various forms and should not be limited to the embodiments set forth herein. Rather, these embodiments are provided so that this disclosure will be thorough and complete, and will fully convey the scope of the disclosure to those skilled in the art.
In a first aspect, an embodiment of the present invention provides a decoding method for a polar code, as shown in fig. 1, the decoding method includes:
s101, determining a decoding sequence according to the received polarization code sequence;
here, it should be noted that the polarization code sequence carries encoded information bits and frozen bits, and the decoding sequence determined according to the polarization code sequence includes all encoded information bits in the polarization code sequence, and the decoding method is used to decode the decoding sequence, so that information of the information bits after decoding (before encoding) can be obtained, and some work of decoding the frozen bits can be omitted.
S102, determining a decoding list to be expanded of each decoding node according to the prior information and the bit information of each decoding node for each decoding node in the decoding sequence;
each decoding node contains bit information and a priori information. In this step, a BP decoding method may be adopted to decode each decoding node based on the bit information and the prior information of the decoding node.
S103, expanding the decoding list to be expanded of each decoding node, and determining the expanded decoding list of each decoding node;
it should be noted that the "expansion" mentioned herein may be only expansion or may be deletion after expansion, but in general, the number of expanded decoded lists after expansion is greater than or equal to the number of to-be-expanded lists before non-expansion.
S104, determining a decoding output result of the polarized code sequence according to the expanded decoding list of each decoding node.
It can be understood that after the extended decoding lists of each decoding node are obtained, the extended decoding lists can be screened and judged to determine the decoding output result of the polarization code sequence.
By adopting the decoding method of the polarization code of the embodiment of the invention, the priori information is introduced into the BP decoding algorithm, so that the method not only has the parallel characteristic and the excellent time delay performance of BP decoding, but also can improve the accuracy of decoding.
On the basis of the above-described embodiment, various modified embodiments are further proposed, and it is to be noted herein that, in order to make the description brief, only the differences from the above-described embodiment are described in the various modified embodiments.
According to some embodiments of the present invention, each to-be-extended coding list can be independently BP-coded with a priori information. Moreover, a plurality of decoding lists to be expanded can carry out BP decoding with prior information in parallel or in series.
According to some embodiments of the invention, step S101 may comprise:
and establishing a complete binary tree model by taking the polarized code sequence as a root node. In the complete binary tree model, the root node is the received polarization code sequence, and the leaf nodes are the bit sequences of the polarization code sequence after decoding (before encoding). The leaf node includes two types of bits, one type is a frozen bit known to the receiving end, and the other type is an information bit unknown to the receiving end and containing valid information.
The left sub-tree nodes are selected in order from the root node to determine the mother sequence.
Each node in the complete binary tree model has two subtree structures, namely a left subtree node and a right subtree node. And sequentially selecting left sub-tree nodes from the root node to leaf nodes to obtain a mother sequence, wherein each left sub-tree node in the mother sequence comprises different numbers of leaf nodes.
A decoding sequence is selected from the mother sequence. It can be understood that at least one left sub-tree node is selected from the mother sequence according to a certain screening rule to form a decoding sequence. The left sub-tree node in the decoded sequence is called the decoding node.
In some embodiments of the present invention, a method for selecting a decoding sequence from a parent sequence may include:
determining a decoding order;
and sequentially selecting a left sub-tree node with the number of the decoding orders minus one from the mother sequence to form a decoding sequence from the root node. 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 sub-tree node corresponding to the decoding node is gradually increased. It is to be understood that the root node is the last decoding node in the decoding sequence.
For example, to achieve better decoding performance, in some examples of the present invention, the left sub-tree nodes with the number of decoding orders are sequentially selected from the mother sequence from the root node as the decoding nodes of the decoded sequence.
For another example, to achieve better time-spreading, in other embodiments of the present invention, a number of decoding nodes that is the decoding order minus one and a number of root nodes are selected as the decoding nodes of the decoding sequence, starting from the first decoding node in the mother sequence.
Further, the method for determining the decoding order may include:
setting a decoding order as a minimum depth value containing all information bits in a complete binary tree model; alternatively, the decoding order is set to 1.
In addition, in other embodiments of the present invention, the decoding order may be determined based on a block error rate and a decoding delay. Specifically, a plurality of subsequences with the length equal to the decoding order are determined from the mother sequence according to the decoding delay, wherein each subsequence comprises a root node, and then one subsequence is determined from the plurality of subsequences according to the block error rate to serve as a decoding sequence.
According to some embodiments of the invention, the method may further comprise:
determining bit information of the last decoding node (namely a root node) in the decoding sequence according to the polarization code sequence;
iteratively calculating the bit information of each decoding node in the decoding sequence according to the bit information of the last decoding node;
initializing prior information of a first decoding node; for example, the a priori information of the information bits in the first decoding node may be initialized to zero, and the a priori information of the frozen bits may be initialized to be positive infinity;
and iteratively calculating the prior information of each decoding node according to the prior information and the bit information of the first decoding node.
Here, it should be noted that the bit information of the decoding nodes may be calculated directly after determining the decoding sequence, or may be calculated before determining the decoding list to be expanded of each decoding node, that is, the bit information of the decoding node is calculated separately when the bit information of the decoding node is used, which is not limited in this embodiment of the present invention. 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:
and sequentially and iteratively calculating the bit information of the decoding nodes from the last decoding node by using the F function until the first decoding node in the decoding sequence. The F function may be each of the following functional formulas:
f(x,y)=Scale*sign(x)*sign(y)min(|x|,|y|)
f(x,y)=sign(x)*sign(y)min(|x|,|y|)
f(x,y)=2*atanh(tanh(x).*tanh(y))
wherein Scale is a scaling factor, x is bit information corresponding to information bits of an upper half part of a next decoding node in two adjacent decoding nodes, and y is bit information corresponding to information bits of a lower half part of the next decoding node in the two adjacent decoding nodes.
In some embodiments of the present invention, iteratively calculating the prior information of each decoding node according to the prior information and the bit information of the first decoding node may include:
determining a decoding list to be expanded of the first decoding node according to the prior information and the bit information of the first decoding node;
expanding the decoding list to be expanded of the first decoding node, and determining an expanded decoding list of the first decoding node;
and determining prior information of a next decoding node according to an expanded decoding list of a previous decoding node in two adjacent decoding nodes from a first decoding node.
For example, in some examples of the invention, the weighted product of the expanded decoding list of a previous decoding node is used as a priori information for a subsequent decoding node. It should be noted here that the a priori information of the frozen bits is always set to positive infinity.
According to some embodiments of the invention, step S102 may comprise:
establishing a factor graph model with (M +1) M nodes corresponding to each decoding node;
for example, for a coding 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 coding is determined, the factor graph including M rows and M +1 columns of nodes, where M is log2(M). Each node in the factor graph includes right information R, which propagates from left to right, and left information L, which propagates from right to left.
Initializing first-order factor right information and m + 1-order factor left information in a factor graph model corresponding to each decoding node according to prior information and bit information of each decoding node, and iteratively calculating left information and right information of any-order factor in the factor graph model corresponding to each decoding node according to formula 1:
Li,j=f(Li+1,j,Li+1,j+Ni+Ri,j+Ni)
Li,j+Ni=Li+1,j+Ni+f(Li+1,j,Ri,j)
Ri+1 j=f(Ri j,Li+1 j+Ni+Ri,j+Ni)
Ri+1,j+Ni=Ri,j+Ni+f(Ri,j,Li+1,j) (ii) a Formula 1;
wherein L represents left information, R represents right information, and Ni-2m-iWhere 1 is not less than Ni and not more than M, M is the number of leaf nodes contained in the coding node, and M is log2(M), i is more than or equal to 1 and less than or equal to M +1, j is more than or equal to 1 and less than or equal to M, i is more 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.
And terminating iteration according to an early iteration termination condition or when the maximum iteration times is reached, and outputting a decoding list to be expanded of each decoding node. For example, a decoding list to be expanded of the decoding nodes is constructed and formed according to the early-stop iteration termination condition or the first-order factor left information L of each decoding node after the iteration is terminated when the maximum iteration number is reached.
In each iteration, the message of each node in the factor graph is updated and transmitted to the right and then to the left between two adjacent orders.
Further, the early-stop iteration termination condition may include:
1) checking the bit: in the encoding process, a plurality of check bits are placed at specific positions, and each check forms a check relation with the information bits. And carrying out hard decision on the left information of the first-order factor in the factor graph iteration to obtain information bits and check bit hard decision values, and checking corresponding information bits by using check bits according to a check relation. And if the verification passes, stopping iteration, and if the verification does not pass, continuing the iteration.
2) And (3) checking the coding matrix: in the process of encoding according to the formula x u G, u is a bit before encoding, x is a bit after encoding, and G is an encoding matrix.
Figure BDA0002240576460000121
Wherein
Figure BDA0002240576460000122
Is the product of Kronecker.
The coding matrix is checked as follows: in each iteration process, the left information of all information bits of the first-order factor is judged to obtain u, the right information of all information bits of the (n +1) th-order factor is subjected to hard judgment to obtain x, and whether the calculation is true or not is judged every time. And if the iteration is not successful, continuing the iteration.
3) And judging whether the left information difference in two or more adjacent iterations is smaller than a threshold value or not, or whether the right information difference in two or more adjacent iterations is smaller than the threshold value or not, and stopping the iteration if the left information difference is smaller than the threshold value.
4) Checking the frozen bit: setting a frozen bit decoding error threshold (more than or equal to 1 and less than or equal to a positive integer of the number of frozen bits of the current decoding node), carrying out hard decision on left information of all frozen bits in the first stage to obtain u, judging whether the frozen bits in the u are equal to the value of the frozen bits of the sending end, and recording the number of the frozen bits with errors. And if the number of the frozen bits with errors is less than or equal to the error threshold value, terminating the iteration, otherwise, continuing the iteration.
In some embodiments of the present invention, initializing the first order factor right information and the m +1 order factor left information of the factor graph model according to the prior information and the bit information of each decoding node may include:
for each decoding node, initializing the right information of the frozen bit in the first-order factor of each decoding node factor graph model to be plus infinity or minus infinity, initializing the right information of the information bit with prior information in the first-order factor to be the prior information of each decoding node, and initializing the right information of the information bit without prior information in the first-order factor to be zero;
initializing the m +1 th order factor left information of the factor graph model into the bit information of each decoding node.
According to some embodiments of the invention, step S103 may comprise:
and symbol overturning is carried out on the b decoding information in each to-be-expanded decoding list of each decoding node, and an expanded decoding list after each to-be-expanded decoding list is expanded is obtained.
It should be noted that b selected by each decoding list to be expanded can be different, and b ≧ 1.
Pruning the extended decoding list for each decoding node to determine an extended decoding list for each decoding node.
In some embodiments of the present invention, pruning the extended decoding list for each decoding node to determine an extended decoding list for each decoding node may include:
calculating an initial list metric pruned value for each of the extended coding lists according to equation 2:
Figure BDA0002240576460000131
wherein the content of the first and second substances,
Figure BDA0002240576460000132
an initial list metric puncturing value representing a k-th extended coding list,
Figure BDA0002240576460000133
an information bit metric value representing the kth extended decoding list,
Figure BDA0002240576460000141
a frozen bit metric value representing the ith decoding list to be expanded,
Figure BDA0002240576460000142
a list metric input value representing the ith decoding list to be expanded;
and sequencing the initial list metric deletion values of each decoding node from small to large, and determining the extended decoding list corresponding to the initial list metric deletion values of the previous preset value as the extended decoding list of each decoding node.
Further, in the above-mentioned case,
Figure BDA0002240576460000143
calculated according to equation 3:
Figure BDA0002240576460000144
wherein λ isjRepresenting the j information bit extension penalty value in the k extension decoding list;
Figure BDA0002240576460000145
and calculating according to formula 4 to obtain:
Figure BDA0002240576460000146
wherein, γjRepresents the j frozen bit penalty value, W, in the ith decoding list to be expandedFThe sequence number of the list representing the decoding node is larger than the set of the freezing node bits of the first information bits;
Figure BDA0002240576460000147
calculated according to equation 5:
Figure BDA0002240576460000148
wherein the content of the first and second substances,
Figure BDA0002240576460000149
a list metric output value representing the ith to-be-extended coding list of the previous coding node in the two adjacent coding nodes,
Figure BDA00022405764600001410
and the list metric input value of the ith decoding node to be expanded in the next two adjacent decoding nodes is represented, and the list metric input value of the first decoding node is initialized to be zero.
The list metric output value of the kth extended decoding list of the decoding node is according to the formula:
Figure BDA00022405764600001411
is obtained by calculation, wherein a1≥0,a2≥0,a3Greater than or equal to 0, the previous decoding node
Figure BDA00022405764600001412
And calculating the measurement information of the previous node.
Further, λjCalculated according to equation 6:
Figure BDA00022405764600001413
wherein, mujDenotes the jth information bit weight, betajDecoding information indicating a jth information bit;
γjcalculated according to equation 7:
Figure BDA0002240576460000151
wherein eta isjDenotes the jth frozen bit weight, βjAnd decoding information representing the jth frozen bit.
According to some embodiments of the invention, step S104 may comprise:
determining an expanded decoding list of a last decoding node in a decoding sequence;
hard decision is carried out on the expanded decoding list of the last decoding node;
and performing CRC (cyclic redundancy check) on the expanded decoding list of the last decoding node after hard decision, and determining a decoding output result of the polarized code sequence according to a CRC result.
Further, performing CRC check on the extended decoding list of the last decoding node after the hard decision, and determining a decoding output result of the polarization code sequence according to a CRC check result, which may specifically include:
and when at least one list in the expanded decoding list of the last decoding node passes the CRC check, selecting the one with the minimum list metric output value in the expanded decoding list passing the CRC check as a decoding output result. And when the expanded decoding list of the last decoding node does not have a list passing the CRC check, selecting one of the expanded decoding lists with the minimum list metric input value as a decoding output result. 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.
According to some embodiments of the invention, the coding method further comprises:
determining an expanded decoding list of a last decoding node in a decoding sequence;
hard decision is carried out on the expanded decoding list of the last decoding node;
and counting the number of the bits with the error frozen bit decoding result in the expanded decoding list of the last decoding node. And recording the set W as a set of which the number of decoding errors of the frozen bits is less than the threshold value of the number of decoding errors of the frozen bits. And selecting one of the lists with the minimum metric output value in the set W as a decoding output result.
According to some embodiments of the invention, the coding method further comprises:
determining an expanded decoding list of a last decoding node in a decoding sequence;
hard decision is carried out on the expanded decoding list of the last decoding node;
and performing G matrix check on the expanded decoding list of the last decoding node after the hard decision, and selecting one of the expanded decoding lists passing the G matrix check with the minimum list metric output value as a decoding output result, wherein the G matrix is an encoding matrix.
As shown in fig. 2, according to some embodiments of the present invention, the decoding method comprises:
s201, establishing a complete binary tree model by taking the received polar code sequence to be decoded as a root node;
s202, sequentially selecting left sub-tree nodes from a root node to determine a mother sequence;
s203, determining a serial decoding order, and screening a decoding sequence from the mother sequence according to the serial decoding order;
s204, determining b and a preset value;
it should be noted that the more b and the larger preset value, the better the decoding BLER performance, but at the same time, the computational complexity is increased, and the decoding delay is correspondingly increased. In the actual operation process, the setting can be carried out according to the actual requirement.
S205, using F function to start iterative computation of bit information alpha of each decoding node from the last decoding node in the decoding sequenceiUntil the first decoding node in the decoding sequence, iteratively calculating bit bitmaps of the decoding nodes according to the bit bitmaps of the root nodes;
there are many options for the F function, such as:
f(x,y)=Scale*sign(x)*sign(y)min(|x|,|y|)
f(x,y)=sign(x)*sign(y)min(|x|,|y|)
f(x,y)=2*atanh(tanh(x)*tanh(y))
wherein Scale is a scaling factor, x is bit information corresponding to information bits of an upper half part of a next decoding node in two adjacent decoding nodes, and y is bit information corresponding to information bits of a lower half part of the next decoding node in the two adjacent decoding nodes.
S206, initializing the prior information of the first decoding node.
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 be infinite.
And S207, substituting the bit information and the prior information of the first decoding node into the factor graph model, and determining a decoding list to be expanded of the first decoding node.
Specifically, right information of a frozen bit in a first-order factor of a factor graph model of a first decoding node is initialized to be positive infinity or negative infinity, an information bit with prior information in the first-order factor is initialized to be prior information of the first decoding node, an information bit without prior information in the first-order factor is initialized to be zero, and left information of an m + 1-order factor of the factor graph model of the first decoding node is initialized to be bit information of the first decoding node.
And iteratively calculating the left information and the right information of any order factor in the factor graph model corresponding to the first decoding node according to formula 1:
Li,j=f(Li+1,j,Li+1,j+Ni+Ri,j+Ni)
Li,j+Ni=Li+1,j+Ni+f(Li+1,j,Ri,j)
Ri+1 j=f(Ri j,Li+1j+Ni+Ri,j+Ni)
Ri+1,j+Ni=Ri,j+Ni+f(Ri,j,Li+1,j) In the formula 1, the first and second groups,
wherein L represents left information, R represents right information, and Ni-2m-i
And terminating iteration according to an early-stop iteration termination condition or when the maximum iteration times are reached, and outputting first-order factor left information in the factor graph model as a decoding list to be expanded of a first decoding node.
And S208, symbol overturning is carried out on the b decoding information in each to-be-expanded decoding list of the first decoding node, and an expanded decoding list after each to-be-expanded decoding list is expanded is obtained.
S209, calculating the initial list metric reduction values of each extended decoding list of the first decoding node, and sequencing the initial list metric reduction values from small to large, and determining the extended decoding list corresponding to the initial list metric reduction values of the previous preset value as the extended decoding list of the first decoding node.
Specifically, the initial list metric pruning value of each extended decoding list is calculated according to formula 2:
Figure BDA0002240576460000171
wherein the content of the first and second substances,
Figure BDA0002240576460000172
an initial list metric puncturing value representing a k-th extended coding list,
Figure BDA0002240576460000173
an information bit metric value representing the kth extended decoding list,
Figure BDA0002240576460000174
a frozen bit metric value representing the ith decoding list to be expanded,
Figure BDA0002240576460000181
a list metric input value representing the ith decoding list to be expanded;
Figure BDA0002240576460000182
calculated according to equation 3:
Figure BDA0002240576460000183
wherein λ isjRepresenting the j information bit extension penalty value in the k extension decoding list;
Figure BDA0002240576460000184
and calculating according to formula 4 to obtain:
Figure BDA0002240576460000185
wherein, γjRepresents the j frozen bit penalty value, W, in the ith decoding list to be expandedFThe sequence number of the list representing the decoding node is larger than the set of the freezing node bits of the first information bits;
Figure BDA0002240576460000186
calculated according to equation 5:
Figure BDA0002240576460000187
wherein the content of the first and second substances,
Figure BDA0002240576460000188
a list metric output value representing the ith to-be-extended coding list of the previous coding node in the two adjacent coding nodes,
Figure BDA0002240576460000189
and the list metric input value represents the ith decoding list to be expanded of the next decoding node in the two adjacent decoding nodes.
λjCalculated according to equation 6:
Figure BDA00022405764600001810
wherein, mujDenotes the jth information bit weight, betajDecoding information indicating a jth information bit;
γjcalculated according to equation 7:
Figure BDA00022405764600001811
wherein eta isjDenotes the jth frozen bit weight, βjAnd decoding information representing the jth frozen bit.
And sequencing the initial list metric deletion values of the first decoding node from small to large, and determining the extended decoding list corresponding to the initial list metric deletion values of the previous preset value as the extended decoding list of the first decoding node.
The list metric output value of the kth extended decoding list of the decoding node is according to the formula:
Figure BDA0002240576460000191
is obtained by calculation, wherein a1≥0,a2≥0,a3Greater than or equal to 0, the previous decoding node
Figure BDA0002240576460000192
And calculating the measurement information of the previous node.
It should be noted that the extended decoding list of each decoding node calculates its list metric output value, but only takes the list metric output value of the extended decoding list as the list metric input value of the next decoding node.
And S210, starting from the first decoding node, taking the weighted value of the expanded decoding list of the previous decoding node in the two adjacent decoding nodes as the prior information of the next decoding node, and sequentially and iteratively calculating the expanded decoding list of each decoding node until the last decoding node.
S211, hard decision is carried out on the extended decoding list of the last decoding node;
s212, performing CRC check on the expanded decoding list of the last decoding node after hard decision, and determining the decoding output result of the polarized code sequence according to the CRC check result.
Specifically, when at least one list in the extended decoding list of the last decoding node passes the CRC check, the one with the smallest list metric output value in the extended decoding list passing the CRC check is selected as the decoding output result. And when the expanded decoding list of the last decoding node does not have a list passing the CRC check, selecting one of the expanded decoding lists with the minimum list metric input value as a decoding output result. 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.
By adopting the embodiment of the invention, the decoding performance of the polarization code can be greatly improved by introducing the prior information and fully utilizing the polarization characteristic of the polarization code. And BP decoding has the characteristic of easy parallelism, and can reduce time delay. Compared with other decoding methods, the method has great flexibility in performance and delay adjustment. In addition, through the selection of different parameters, the decoding performance and the decoding time delay requirements can be adjusted according to different requirements and application scenarios.
The decoding method of the polarization code according to the embodiment of the present invention is described in detail below in two specific embodiments. It is to be understood that the following description is illustrative only and is not intended to be in any way limiting. All similar structures and similar variations thereof adopted by the invention are intended to fall within the scope of the invention.
Example one
Let the number of information bits K be 512, the length N of the mother code sequence be 1024, N be 2nN is 10, the modulation mode BPSK, the specific steps are as follows:
step 1, determining a decoding order S, a decoding sequence A, b and a preset value L, and calculating bit information and prior information of each decoding node;
determination of decoding order S: when the first decoding node in the decoding sequence contains information bits, the larger the serial decoding order S is, the better the decoding BLER performance is, but the decoding delay is increased at the same time. Therefore, when the BLER performance priority is greater than the decoding delay priority, S is set to be the maximum S under the condition that the deepest decoding node includes information bits in order to achieve the best decoding performance. And if the decoding delay priority is greater than the BLER performance priority, selecting S as 1. Other scenes can be dynamically set according to the performance requirement of specific services and the SNR at that time, and the break point can be found in the decoding performance and the decoding time delay.
Determination of the decoded sequence a: after S is determined, according to the characteristics of the coding sequence and the performance requirement, determining: in the case of BP decoding with early stop mechanism, the decoding sequence consisting of the last S nodes in the mother sequence Q is selected for best decoding performance. And selecting a decoding sequence consisting of the first S-1 nodes and the last node in the Q to achieve the best delay characteristic.
b and confirmation of a preset value L: b is more, the larger the preset value L is, the better the decoding BLER performance is, but at the same time, the calculation complexity is increased, and the decoding delay is correspondingly increased.
In this embodiment, it is required to achieve the best decoding BLER performance when the information bit number K is 512, the mother code sequence length N is 1024, and the modulation scheme BPSK is used. According to the bitmap V, it is known that: the first 64 bits do not include information bits, and the first 128 bits include information bits. Therefore, when the performance is considered to be optimal firstly and the delay performance is considered secondly, the optimal minimum decoding node bit number is selected to be 128, then the maximum S under the condition of containing information bits is selected, so that the serial decoding order is determined:
Figure BDA0002240576460000201
the mother sequence is Q { Q1, Q2., Q11}, and the decoding sequence is selected according to the optimal performance principle: a { q8, q9, q10, q11 }. Meanwhile, the complexity and the performance requirement are selected in a compromise mode: b is 8 and L is 32.
Calculating bit information and prior information of each decoding node: iterating the bit information alpha of each decoding node from the root node q11 by using F function until A sequenceThe first decoding node q 8. And calculating the bit bitmap of each decoding node in the A according to the bit bitmap of the root node. Finally, the bit information alpha of each decoding node in A { q8, q9, q10 and q11} is obtainediAnd bit map Vi. The F function is: f (x, y) ═ sign (x) sign (y) min (| x |, | y |), x is bit information corresponding to the upper half bits of the input α, and y is bit information corresponding to the lower half bits of the input α.
Initializing prior information P1That is, the information bit prior information marked by the first decoding node bitmap is initialized to 0, and the frozen bit prior information marked by the bitmap is initialized to infinity.
Step 2, according to the prior information PiAlpha of the current decoding nodeiBit-bitmap V of current decoding nodeiRespectively applying BP decoding methods with prior information to decode, and finally obtaining l decoding lists to be expanded:
this step is iteratively implemented by a factor graph with (M +1) M nodes. Where M is log2(M), where M is the number of leaf nodes included in the current decoding node, and M may be selected as follows: 128. 256, 512, 1024. m is the depth of the left sub-tree corresponding to the decoding node. Each decoding node contains two kinds of information, which are respectively marked as right information R propagated from left to right and left information L propagated from right to left. At the start of the iteration, a first order factor right message is initialized: bitmap ViThe determined frozen bit is initialized to positive infinity; bitmap ViInitializing the determined information bits with prior information to prior information Pi(ii) a The information bits determined by the bitmap V without a priori information are initialized to zero. Left message of m +1 th order factor is initialized to decoding node bit information alphai
In each iteration, the message of each decoding node is updated and transmitted to the right and then to the left between two adjacent orders. The left and right message update formula is as follows:
Li,j=f(Li+1,j,Li+1,j+Ni+Ri,j+Ni)
Li,j+Ni=Li+1,j+Ni+f(Li+1,j,Ri,j)
Ri+1,j=f(Ri,j,Li+1,j+Ni+Ri,j+Ni)
Ri+1,j+Ni=Ri,j+Ni+f(Ri,j,Li+1,j)
wherein Ni is 2m-iI is greater than or equal to 1 and less than or equal to M +1, and Ni and j are both greater than or equal to 1 and less than or equal to M;
and finally, terminating iteration and outputting a decoding list to be expanded according to an early-stop iteration termination condition or when the maximum iteration times is reached. The early-stop iteration termination condition may be: 1. the cyclic redundancy check CRC passes. And 2, the Polar coding matrix G passes the check, and 3, the left and right information difference in two or more adjacent iterations is smaller than a threshold value epsilon. In this example a fixed maximum number of iterations 60 jumps are used as iteration termination conditions.
And 3, judging whether the length of the decoding list to be expanded is equal to the code length of 1024, namely whether the current decoding node is the last decoding node in the A sequence. If yes, jumping to step 5, otherwise, continuing to step 4.
And 4, expanding the decoding list to be expanded of each decoding list.
Calculate list metric input values: if the current node is the first decoding node in the decoding sequence A, the list metric input value is the initialization value PMin0. If the current decoding node is not the first decoding node, the current decoding list metric input value is equal to the last decoding node list metric output value:
Figure BDA0002240576460000221
where i is the list index.
Calculating a frozen bit list metric: the set of frozen bit indexes marked by the bit-recording bitmap V is VFRecord WFIs a VFIn this example, WFThe index marked for the bitmap V is larger than the frozen bit set of the first information bit. Calculate W in turnFPenalty gamma for a list of frozen bit pairsj
Figure BDA0002240576460000222
Wherein etajIndicating that the jth frozen bit weight value is 0 ≦ ηj≤+∞,γjRepresents the j-th frozen bit penalty, betajAnd decoding information representing the jth frozen bit. In this example ηj=1。
The current ith list freeze bit metric value is:
Figure BDA0002240576460000223
respectively performing list expansion on the l decoding lists to be expanded:
and sequencing the absolute values of the decoding information in each decoding list to be expanded, and finding the decoding information of b information bits with the minimum absolute value. The decoding information of b information bits is subjected to symbol reversal, and each decoding list to be expanded is expanded to obtain 2bA to-be-extended decoding list is recorded as 2bThe parent list of the strip extended coding list. Each information bit sign inversion forms a penalty item for the current expansion list, and the penalty item is marked as lambdaj
Figure BDA0002240576460000231
Wherein mujIndicating that the jth information bit weighted value is 0 ≦ ηj≤+∞,λjRepresents the j information bit extension penalty value, betajAnd decoding information representing the jth information bit. In this example muj=1。
Information bit list metric value
Figure BDA0002240576460000232
To obtain l 2bA strip extension decoding list and corresponding information bit list metric values. Wherein k is l x 2bList of barsAnd (4) indexing.
Calculating the k-th list metric deletion value after expansion
Figure BDA0002240576460000233
Wherein, the father list of the kth expansion coding list is the ith in the original l to-be-expanded coding lists, k is 1,2bI is 1, 2. For PMreduceSorting is carried out to obtain the minimum L-32 lists as the extended decoding lists. Note that, when the number of extension decoding lists is less than L, list pruning is not performed.
Updating prior information: according to bit bitmap ViTo Pi+1Bit-wise update (P)i+1Representing updated bit prior information), if the current information bit is a frozen bit, the current information bit is set to be positive infinity, and if the current information bit is an information bit, the current information bit is set to be an information weighted value a of an expanded decoding listkβkAnd (6) updating. Wherein 0 is more than or equal to ak≦ + ∞ is the kth extended coding list weighting coefficient. Beta is akIs the kth extended coding list. In this example, selection ak=1。
The list metric output value is a weighted sum of the information bit metric value, the frozen bit metric value, and the list metric input value.
Figure BDA0002240576460000234
In this example a1=1,a2=0,a31. The parent list of the kth expansion coding list is the ith list in the original l coding list to be expanded. And obtaining L or less list output metric values after list deletion.
And 5, carrying out hard decision and CRC (cyclic redundancy check) on the L extended decoding lists of the last decoding node, and determining a decoding output result of the polarized code sequence.
And carrying out hard decision on the L extended decoding lists of the last decoding node:
Figure BDA0002240576460000235
wherein, the function I is a hard decision function, and x is decoding information in the extended decoding list.
And respectively carrying out CRC check on the L extended decoding lists. If the list passes the check, selecting the list passing the CRC check
Figure BDA0002240576460000241
The smallest one is used as the decoding output result. If no list passes the check, then the selection is made
Figure BDA0002240576460000242
The smallest one is used as the decoding output result. The check is made in this example using a 24-bit CRC check.
Table 1 shows that, when the embodiment is used to decode the polar code, the performance is better, as can be seen from table 1.
Table 1 example 1 comparison of performance simulation
Figure BDA0002240576460000243
Example two
Let the number of information bits K be 256, the length N of the mother code sequence be 1024, N be 2nN is 10, the modulation mode BPSK, the specific steps are as follows:
step 1, determining a decoding order S, a decoding sequence A, b and a preset value L, and calculating bit information and prior information of each decoding node;
determination of decoding order S: when the first decoding node in the decoding sequence contains information bits, the larger the serial decoding order S is, the better the decoding BLER performance is, but the decoding delay is increased at the same time. Therefore, when the BLER performance priority is greater than the decoding delay priority, S is set to be the maximum S under the condition that the deepest decoding node includes information bits in order to achieve the best decoding performance. And if the decoding delay priority is greater than the BLER performance priority, selecting S as 1. Other scenes can be dynamically set according to the performance requirement of specific services and the SNR at that time, and the break point can be found in the decoding performance and the decoding time delay.
Determination of the decoded sequence a: after S is determined, according to the characteristics of the coding sequence and the performance requirement, determining: in the case of BP decoding with early stop mechanism, the decoding sequence consisting of the last S nodes in the mother sequence Q is selected for best decoding performance. And selecting a decoding sequence consisting of the first S-1 nodes and the last node in the Q to achieve the best delay characteristic.
b and confirmation of a preset value L: b is more, the larger the preset value L is, the better the decoding BLER performance is, but at the same time, the calculation complexity is increased, and the decoding delay is correspondingly increased.
In this embodiment, it is required to comprehensively consider the delay requirement and the BLER performance when the information bit number K is 256, the mother code sequence length N is 1024, and the modulation scheme BPSK is used. According to the bitmap V, it is known that: the first 128 bits do not include information bits, and the first 256 bits include information bits. Therefore, under the condition of considering delay and performance in a compromise manner, the bit number of the deepest decoding node is selected to be 256, so that the serial decoding order is determined: and S is 2. The mother sequence is Q { Q1, Q2.., Q11}, and the decoding sequence is a { Q9, Q11 }. Meanwhile, the complexity and the performance requirement are selected in a compromise mode: b is 16, L is 32.
Calculating bit information and prior information of each decoding node: the bit information a for each decoding node is iterated from the root node q11 using the F function until the first decoding node q9 in the a sequence. And calculating the bit bitmap of each decoding node in the A according to the bit bitmap of the root node. Finally, the bit information alpha of each decoding node in A { q9, q11} is obtainediAnd bit map Vi. The F function is: f (x, y) ═ Scale × sign (x) ((y)) min (| x |, | y |), where Scale ═ 0.975, x is bit information corresponding to the upper half bits of input α, and y is bit information corresponding to the lower half bits of input α.
Initializing prior information P1That is, the information bit prior information marked by the first decoding node bitmap is initialized to 0, and the frozen bit prior information marked by the bitmap is initialized to infinity.
Step 2, according to the prior information PiAlpha of the current decoding nodeiBit-bitmap V of current decoding nodeiRespectively applying BP decoding methods with prior information to decode, and finally obtaining l decoding lists to be expanded:
this step is iteratively implemented by a factor graph with (M +1) M nodes. Wherein m is log2(M), M is the number of leaf nodes contained in the current decoding node, and M in this example may have the following optional values: 256. 1024. m is the depth of the left sub-tree corresponding to the decoding node. Each decoding node contains two kinds of information, which are respectively marked as right information R propagated from left to right and left information L propagated from right to left. At the start of the iteration, a first order factor right message is initialized: bitmap ViThe determined frozen bit is initialized to positive infinity; bitmap ViInitializing the determined information bits with prior information to prior information Pi(ii) a The information bits determined by the bitmap V without a priori information are initialized to zero. Left message of m +1 th order factor is initialized to decoding node bit information alphai
In each iteration, the message of each decoding node is updated and transmitted to the right and then to the left between two adjacent orders. The left and right message update formula is as follows:
Li,j=f(Li+1,j,Li+1,j+Ni+Ri,j+Ni)
Li,j+Ni=Li+1,j+Ni+f(Li+1,j,Ri,j)
Ri+1,j=f(Ri,j,Li+1,j+Ni+Ri,j+Ni)
Ri+1,j+Ni=Ri,j+Ni+f(Ri,j,Li+1,j)
wherein Ni is 2m-iI is greater than or equal to 1 and less than or equal to M +1, and Ni and j are both greater than or equal to 1 and less than or equal to M;
and finally, terminating iteration and outputting a decoding list to be expanded according to an early-stop iteration termination condition or when the maximum iteration times is reached. The early-stop iteration termination condition may be: 1. the cyclic redundancy check CRC passes. And 2, the Polar coding matrix G passes the check, and 3, the left and right information difference in two or more adjacent iterations is smaller than a threshold value epsilon. In this example, a fixed maximum number of iterations is used of 200, and the jump-out is taken as an iteration termination condition when the check of the matrix G passes. The coding matrix G should correspond to the current decoding node at this time.
And 3, judging whether the length of the decoding list to be expanded is equal to the code length of 1024, namely whether the current decoding node is the last decoding node in the A sequence. If yes, jumping to step 5, otherwise, continuing to step 4.
And 4, expanding the decoding list to be expanded of each decoding list.
Calculate list metric input values: if the current node is the first decoding node in the decoding sequence A, the list metric input value is the initialization value PMin0. If the current decoding node is not the first decoding node, the current decoding list metric input value is equal to the last decoding node list metric output value:
Figure BDA0002240576460000261
where i is the list index.
Calculating a frozen bit list metric: the set of frozen bit indexes marked by the bit-recording bitmap V is VFRecord WFIs a VFIn this example, WFThe index marked for the bitmap V is larger than the frozen bit set of the first information bit. Calculate W in turnFPenalty gamma for a list of frozen bit pairsj
Figure BDA0002240576460000262
Wherein etajIndicating that the jth frozen bit weight value is 0 ≦ ηj≤+∞,γjRepresents the j-th frozen bit penalty, betajAnd decoding information representing the jth frozen bit. In this example ηj=1。
The current ith list freeze bit metric value is:
Figure BDA0002240576460000271
respectively performing list expansion on the l decoding lists to be expanded:
and sequencing the absolute values of the decoding information in each decoding list to be expanded, and finding the decoding information of b information bits with the minimum absolute value. The decoding information of b information bits is subjected to symbol reversal, and each decoding list to be expanded is expanded to obtain 2bA to-be-extended decoding list is recorded as 2bThe parent list of the strip extended coding list. Each information bit sign inversion forms a penalty item for the current expansion list, and the penalty item is marked as lambdaj
Figure BDA0002240576460000272
Wherein mujIndicating that the jth information bit weighted value is 0 ≦ ηj≤+∞,λjRepresents the j information bit extension penalty value, betajAnd decoding information representing the jth information bit. In this example muj=1。
Information bit list metric value
Figure BDA0002240576460000273
To obtain l 2bA strip extension decoding list and corresponding information bit list metric values. Wherein k is l x 2bA list index.
Calculating the k-th list metric deletion value after expansion
Figure BDA0002240576460000274
Wherein, the father list of the kth expansion coding list is the ith in the original l to-be-expanded coding lists, k is 1,2bI is 1, 2. For PMreduceSorting is carried out to obtain the minimum L-32 lists as the extended decoding lists. Note that, when the number of extension decoding lists is less than L, list pruning is not performed.
Updating prior information: according to bit bitmap ViTo Pi+1Bit-wise update (P)i+1Representing updated bit prior information), if the current information bit is a frozen bit, the current information bit is set to be positive infinity, and if the current information bit is an information bit, the current information bit is set to be an information weighted value a of an expanded decoding listkβkAnd (6) updating. Wherein 0 is more than or equal to ak≦ + ∞ is the kth extended coding list weighting coefficient. Beta is akIs the kth extended coding list. In this example, selection ak=1。
The list metric output value is a weighted sum of the information bit metric value, the frozen bit metric value, and the list metric input value.
Figure BDA0002240576460000281
In this example a1=1,a2=0,a31. The parent list of the kth expansion coding list is the ith list in the original l coding list to be expanded. Obtaining L or less list output measurement values after list deletion
Figure BDA0002240576460000282
And 5, carrying out hard decision on the L extended decoding lists of the last decoding node, checking the number of decoding errors of the frozen bits, and determining a decoding output result of the polarized code sequence.
And carrying out hard decision on the L extended decoding lists of the last decoding node:
Figure BDA0002240576460000283
wherein, the function I is a hard decision function, and x is decoding information in the extended decoding list.
And respectively carrying out frozen bit error number check on the L extended decoding lists. In this example, the threshold value of the number of frozen bit errors is set to 1, and if one list passes the check, that is, the number of frozen bit decoding errors in 1 or more decoding results is less than or equal to 1, the one of the decoding lists passing the check with the smallest list metric output value is selected as the decoding output result. And if no list passes the verification, selecting one with the minimum list measurement output value as a decoding output result.
It should be noted that in the description of the present specification, reference to the description of the terms "one embodiment", "some embodiments", "illustrative embodiments", "examples", "specific examples", or "some examples", etc., means that a particular feature, structure, material, or characteristic described in connection with the embodiment or example is included in at least one embodiment or example of the present invention. In this specification, the schematic representations of the terms used above do not necessarily refer to the same embodiment or example. Furthermore, the particular features, structures, materials, or characteristics described may be combined in any suitable manner in any one or more embodiments or examples.
While embodiments of the invention have been shown and described, it will be understood by those of ordinary skill in the art that: various changes, modifications, substitutions and alterations can be made to the embodiments without departing from the principles and spirit of the invention, the scope of which is defined by the claims and their equivalents.

Claims (18)

1. A method for decoding a polar code, comprising:
determining a decoding sequence according to the received polarization code sequence;
for each decoding node in the decoding sequence, determining a decoding list to be expanded of each decoding node according to the prior information and the bit information of each decoding node;
expanding the decoding list to be expanded of each decoding node, and determining the expanded decoding list of each decoding node;
and determining a decoding output result of the polarized code sequence according to the expanded decoding list of each decoding node.
2. The method of claim 1, wherein determining a decoding sequence from the received polarization code sequence comprises:
establishing a complete binary tree model by taking the polarized code sequence as a root node;
sequentially selecting left sub-tree nodes from the root node to determine a mother sequence;
a decoding sequence is selected from the parent sequence.
3. The method of claim 2, wherein the selecting a decoding sequence from the parent sequence comprises:
determining a decoding order;
selecting a decoding order minus a left sub-tree node from the mother sequence, and forming the decoding sequence together with the root node;
in a direction from a first decoding node to a last decoding node in the decoding sequence, the number of leaf nodes included in a left sub-tree node corresponding to the decoding node is gradually increased.
4. The method of claim 3, wherein the determining a coding order comprises:
setting a decoding order as a minimum depth value of all information bits contained in the complete binary tree model; alternatively, the first and second electrodes may be,
the decoding order is set to 1.
5. The method as claimed in claim 1, wherein said determining a decoding list to be extended for each decoding node in the decoding sequence according to the priori information and the bit information of each decoding node comprises:
for each decoding node, establishing a factor graph model with (M +1) M nodes corresponding to each decoding node;
initializing first-order factor right information and m + 1-order factor left information in a factor graph model corresponding to each decoding node according to prior information and bit information of each decoding node, and iteratively calculating left information and right information of any-order factor in the factor graph model corresponding to each decoding node according to a formula 1:
Li,j=f(Li+1,j,Li+1,j+Ni+Ri,j+Ni)
Li,j+Ni=Li+1,j+Ni+f(Li+1,j,Ri,j)
Ri+1j=f(Rij,Li+1j+Ni+Ri,j+Ni)
Ri+1,j+Ni=Ri,j+Ni+f(Ri,j,Li+1,j) In the formula 1, the first and second groups,
wherein L represents left information, R represents right information, and Ni-2m-iWhere 1 is not less than Ni not more than M, M is the number of leaf nodes contained in each decoding node, and M is log2(M),1≤i≤m+1,1≤j≤M;
And terminating iteration according to an early iteration termination condition or when the maximum iteration times is reached, and outputting a decoding list to be expanded of each decoding node.
6. The method of claim 5, wherein the initializing the first order factor right information and the m +1 order factor left information of the factor map model according to the prior information and the bit information of each decoding node comprises:
for each decoding node, initializing right information of a frozen bit in a first-order factor of a factor graph model of each decoding node to be plus infinity or minus infinity, initializing right information of an information bit with prior information in the first-order factor to be prior information of each decoding node, and initializing right information of an information bit without prior information in the first-order factor to be zero;
initializing the m +1 th order factor left information of the factor graph model into bit information of each decoding node.
7. The method of claim 1, wherein said expanding the to-be-expanded decoding list of each of said decoding nodes and determining the expanded decoding list of each of said decoding nodes comprises:
symbol overturning is carried out on b decoding information in each to-be-expanded decoding list of each decoding node, and an expanded decoding list after each to-be-expanded decoding list is expanded is obtained, wherein b is the number of expansion bits, and b is larger than or equal to 1;
pruning the extended decoding list for each of the decoding nodes to determine an extended decoding list for each of the decoding nodes.
8. The method of claim 7, wherein said pruning the extended coding list for each of the coding nodes to determine an extended coding list for each of the coding nodes comprises:
calculating an initial list metric pruned value for each of the extended coding lists according to equation 2:
Figure FDA0002240576450000031
wherein the content of the first and second substances,
Figure FDA0002240576450000032
an initial list metric pruned value representing the kth said extended coding list,
Figure FDA0002240576450000033
an information bit metric value representing a kth of said extended decoding list,
Figure FDA0002240576450000034
a frozen bit metric value representing the ith decoding list to be expanded,
Figure FDA0002240576450000035
a list metric input value representing the ith decoding list to be expanded, wherein the kth expansion decoding list is obtained by expanding the ith decoding list to be expanded;
and sequencing the initial list metric deletion values of each decoding node from small to large, and determining an extended decoding list corresponding to the initial list metric deletion values with a preset value as an extended decoding list of each decoding node.
9. The method of claim 8, wherein the method comprises
Figure FDA0002240576450000036
Calculated according to equation 3:
Figure FDA0002240576450000037
wherein λ isjRepresenting the j information bit extension penalty value in the k piece of the extension decoding list;
the above-mentioned
Figure FDA0002240576450000038
And calculating according to formula 4 to obtain:
Figure FDA0002240576450000039
wherein, γjRepresents the j frozen bit penalty value, W, in the ith decoding list to be expandedFRepresenting a set of freezing point bits with serial numbers larger than first information bits in the list of the decoding nodes;
the above-mentioned
Figure FDA0002240576450000041
Calculated according to equation 5:
Figure FDA0002240576450000042
wherein the content of the first and second substances,
Figure FDA0002240576450000043
a list metric output value representing an ith extended coding list of a previous one of two adjacent said coding nodes,
Figure FDA0002240576450000044
representing the list metric input value of the ith decoding list to be expanded of the next decoding node in the two adjacent decoding nodes, wherein 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:
Figure FDA0002240576450000045
is obtained by calculation, wherein a1≥0,a2≥0,a3Not less than 0, the previous decoding node
Figure FDA0002240576450000046
And calculating the measurement information of the previous node.
10. The method of claim 9, wherein λ isjCalculated according to equation 6:
Figure FDA0002240576450000047
wherein, mujDenotes the jth information bit weight, betajDecoding information indicating a jth information bit;
the gamma isjCalculated according to equation 7:
Figure FDA0002240576450000048
wherein eta isjDenotes the jth frozen bit weight, βjIndicates the jth freezeDecoding information of the bits.
11. The method of claim 10, wherein said determining a decoding output result of said polarization code sequence based on said extended decoding list for each of said decoding nodes comprises:
determining an extended coding list for a last coding node in the coding sequence;
carrying out hard decision on the extended decoding list of the last decoding node; and performing CRC (cyclic redundancy check) on the extended decoding list of the last decoding node after hard decision, and selecting one of the at least one extended decoding list passing the CRC with the minimum list metric output value as a decoding output result of the polarized code sequence.
12. The method of claim 10, wherein said determining a decoding output result of said polarization code sequence based on said extended decoding list for each of said decoding nodes comprises:
determining an extended coding list for a last coding node in the coding sequence;
carrying out hard decision on the extended decoding list of the last decoding node;
and performing G matrix check on the expanded decoding list of the last decoding node after hard decision, and selecting one of the at least one expanded decoding list passing the G matrix check with the minimum list metric output value as a decoding output result of the polarized code sequence, wherein the G matrix is an encoding matrix.
13. The method of claim 10, wherein said determining a decoding output result of said polarization code sequence based on said extended decoding list for each of said decoding nodes comprises:
determining an extended coding list for a last coding node in the coding sequence;
determining the number of bits with frozen bit decoding result errors in each expanded decoding list, determining a set with the number of frozen bit decoding result errors smaller than a threshold value of the number of frozen bit errors, and selecting one with the minimum list metric output value from the set as a decoding output result of the polarized code sequence.
14. The method of any one of claims 1-13, further comprising:
determining bit information of the last decoding node in the decoding sequence according to the polarization code sequence;
iteratively calculating the bit information of each decoding node according to the bit information of the last decoding node;
initializing prior information of a first decoding node in the decoding sequence;
and iteratively calculating the prior information of each decoding node according to the prior information and the bit information of the first decoding node.
15. The method of claim 14, wherein said iteratively calculating a priori information for each of said decoding nodes based on a priori information, bit information, of said first decoding node comprises:
and for the decoding nodes except the first decoding node, determining the prior information of the next decoding node according to the expanded decoding list of the previous decoding node.
16. An apparatus for decoding a polarization code, comprising:
the analysis module is used for determining a decoding sequence according to the received polarization code sequence;
the confirming module is used for confirming a decoding list to be expanded of each decoding node according to the prior information and the bit information of each decoding node in the decoding sequence;
the expansion module is used for expanding the decoding list to be expanded of each decoding node and determining the expanded decoding list of each decoding node;
and the judgment module is used for determining a decoding output result of the polarized code sequence according to the expanded decoding list of each decoding node.
17. A storage medium, in which a computer program is stored, wherein the computer program is arranged to perform the method of any of claims 1 to 15 when executed.
18. An electronic device comprising a memory and a processor, wherein the memory has stored therein a computer program, and wherein the processor is arranged to execute the computer program to perform the method of any of claims 1 to 15.
CN201910998660.6A 2019-10-21 2019-10-21 Decoding method and decoding device for polarization code, storage medium, and electronic device Pending CN112769437A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910998660.6A CN112769437A (en) 2019-10-21 2019-10-21 Decoding method and decoding device for polarization code, storage medium, and electronic device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910998660.6A CN112769437A (en) 2019-10-21 2019-10-21 Decoding method and decoding device for polarization code, storage medium, and electronic device

Publications (1)

Publication Number Publication Date
CN112769437A true CN112769437A (en) 2021-05-07

Family

ID=75691531

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910998660.6A Pending CN112769437A (en) 2019-10-21 2019-10-21 Decoding method and decoding device for polarization code, storage medium, and electronic device

Country Status (1)

Country Link
CN (1) CN112769437A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114157309A (en) * 2021-12-23 2022-03-08 华中科技大学 Polar code decoding method, device and system

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114157309A (en) * 2021-12-23 2022-03-08 华中科技大学 Polar code decoding method, device and system

Similar Documents

Publication Publication Date Title
CN106888026B (en) Segmented polarization code coding and decoding method and system based on LSC-CRC (least significant likelihood-Cyclic redundancy check) decoding
JP3923618B2 (en) Method for converting information bits having error correcting code and encoder and decoder for performing the method
CN109842418B (en) Polarization code belief propagation decoding method based on bit flipping
CN110492974B (en) Parallel polar code decoding method and device
KR100846869B1 (en) Apparatus for Decoding LDPC with Low Computational Complexity Algorithms and Method Thereof
JP4185167B2 (en) Iterative decoding of product codes
CN111294058B (en) Channel coding and error correction decoding method, equipment and storage medium
EP2453578A1 (en) Method and device for decoding reed-solomon (rs) code
CN110661533B (en) Method for optimizing decoding performance of decoder for storing polarization code
CN111106839A (en) Polarization code decoding method and device based on neural network
CN112929033A (en) Deep learning-based optimization method for MLC type NAND flash memory Polar-RNNA quantizer
US8468438B2 (en) Method and apparatus for elementary updating a check node during decoding of a block encoded with a non-binary LDPC code
Yang et al. A low complexity sequential decoding algorithm for rateless spinal codes
CN113037299A (en) LDPC code sparse check matrix reconstruction method and device based on iterative decoding
CN110995279B (en) Polarization code combined SCF spherical list overturning decoding method
Shen et al. Low-latency software successive cancellation list polar decoder using stage-located copy
JP2003046395A (en) Decoding method for product code and decoder for the product code
CN112769437A (en) Decoding method and decoding device for polarization code, storage medium, and electronic device
CN111130567B (en) Polarization code belief propagation list decoding method added with noise disturbance and bit inversion
Cheng et al. Encoder and list decoder of Reed-Solomon kernel based polar codes
CN109525252B (en) Polar code serial offset list decoding method based on simplified third-order key set
CN116614142A (en) Combined decoding method based on BPL decoding and OSD decoding
Doan et al. Fast successive-cancellation list Flip decoding of polar codes
KR20090065411A (en) Apparatus and method for preprocessing used in decoding with group unit
JP7251615B2 (en) ALIGNMENT PROCESSING DEVICE, ALIGNMENT PROCESSING METHOD, AND PROGRAM

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination