CN108462558B - Method and device for decoding polarization code SCL and electronic equipment - Google Patents
Method and device for decoding polarization code SCL and electronic equipment Download PDFInfo
- Publication number
- CN108462558B CN108462558B CN201810173286.1A CN201810173286A CN108462558B CN 108462558 B CN108462558 B CN 108462558B CN 201810173286 A CN201810173286 A CN 201810173286A CN 108462558 B CN108462558 B CN 108462558B
- Authority
- CN
- China
- Prior art keywords
- decoding
- bit
- paths
- candidate
- sequence
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 57
- 230000010287 polarization Effects 0.000 title abstract description 25
- 238000012795 verification Methods 0.000 claims abstract description 17
- 238000012163 sequencing technique Methods 0.000 claims abstract description 5
- 230000008569 process Effects 0.000 claims description 25
- 101100311460 Schizosaccharomyces pombe (strain 972 / ATCC 24843) sum2 gene Proteins 0.000 claims description 12
- 230000007704 transition Effects 0.000 claims description 7
- 238000004364 calculation method Methods 0.000 claims description 4
- 238000012545 processing Methods 0.000 claims description 4
- 238000004891 communication Methods 0.000 abstract description 8
- 238000010586 diagram Methods 0.000 description 9
- 238000007476 Maximum Likelihood Methods 0.000 description 3
- 230000009471 action Effects 0.000 description 3
- 238000012937 correction Methods 0.000 description 3
- 125000004122 cyclic group Chemical group 0.000 description 3
- 238000001514 detection method Methods 0.000 description 3
- 230000006872 improvement Effects 0.000 description 3
- 239000011159 matrix material Substances 0.000 description 3
- 241000169170 Boreogadus saida Species 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000000926 separation method Methods 0.000 description 2
- 239000013598 vector Substances 0.000 description 2
- 101150069124 RAN1 gene Proteins 0.000 description 1
- 101100355633 Salmo salar ran gene Proteins 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000013138 pruning Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 238000010845 search algorithm Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0045—Arrangements at the receiver end
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error 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/13—Linear codes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0045—Arrangements at the receiver end
- H04L1/0052—Realisations of complexity reduction techniques, e.g. pipelining or use of look-up tables
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0056—Systems characterized by the type of code used
- H04L1/0057—Block codes
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- Probability & Statistics with Applications (AREA)
- Theoretical Computer Science (AREA)
- Error Detection And Correction (AREA)
Abstract
The embodiment of the invention discloses a method, a device and electronic equipment for decoding a polarization code SCL, belonging to the technical field of channel coding of digital communication, wherein the method comprises the following steps: initializing a received channel output bit sequence; carrying out binarization bit estimation on the current bit in the channel output bit sequence, and sequencing candidate paths according to a metric value obtained by the bit estimation; respectively carrying out competition and path length judgment on the sorted candidate paths to obtain candidate decoding paths meeting the conditions; and performing FC verification on the candidate decoding paths meeting the conditions, and selecting one decoding path with the maximum path metric value from the verified candidate decoding paths as a decoding result. Through the scheme of the application, the decoding performance is improved.
Description
Technical Field
The invention belongs to the technical field of channel coding of digital communication, and particularly relates to an SCL decoding algorithm based on Fletcher inspection and assistance in a polarization code.
Background
Polar Codes (Polar Codes) are proposed by e.arika in 2009 based on the Channel polarization phenomenon, and for any given symmetric Binary input Discrete Memoryless Channel (B-DMC), under the Serial Cancellation (SC) decoding algorithm, it is the first Channel coding scheme that strictly proves to reach shannon Channel capacity mathematically, and is a major breakthrough in the field of Channel coding. Due to its unique algebraic structure and low encoding and decoding complexity, it has a great influence in the communication field once it is proposed, and becomes one of the research hotspots in recent years in the channel coding field. In 11 months in 2016, the predominantly push polar code scheme was adopted in the 87 th conference of RAN1 of the third generation partnership project (3GPP), which is a coding scheme for a control channel in an enhanced Mobile Broadband (eMBB) scenario of the fifth generation Mobile communication technology (5G).
The SC decoding algorithm is a depth-first search algorithm and is based on local optimization, however, under a limited code length, the performance of the SC decoding algorithm of the polarization code is not ideal. As an improvement of the SC decoding algorithm, a Successive Cancellation List (SCL) decoding algorithm is proposed, which has decoding performance close to Maximum Likelihood (ML) decoding. In order to further improve the decoding performance of the polarization code, Ido Tal et al uses Cyclic Redundancy Check (CRC) in an SCL decoding algorithm (SCL-CRC), at an encoding end, performs CRC encoding on an original information sequence to obtain a CRC Check sequence, and adds the CRC Check sequence to the tail end of the original information sequence by sacrificing multi-bit information bits, and the two form a source information sequence to be input into an encoder for polarization code encoding; at a decoding end, SCL decoding is firstly carried out, when the SCL decoding is carried out to the final stage, CRC (cyclic redundancy check) is carried out on L candidate decoding paths, paths which do not pass the CRC are directly filtered, and then one path with the largest metric value is selected from all candidate decoding paths meeting the CRC as a decoding result. In the worst case, that is, no L decoding candidate paths pass CRC check, a path with the largest metric value is selected from the L decoding candidate paths as a decoding result, and the decoding performance even exceeds some Low-density Parity-check Codes (LDPC) and Turbo Codes under a specific code length and code rate.
In view of this, the present application proposes a new decoding scheme for the polarization code SCL.
Disclosure of Invention
In view of this, embodiments of the present invention provide a method and an apparatus for decoding a polar code SCL, and an electronic device, which at least partially solve the problems in the prior art.
In a first aspect, an embodiment of the present invention provides a method for decoding a polar code SCL, including:
initializing a received channel output bit sequence;
carrying out binarization bit estimation on the current bit in the channel output bit sequence, and sequencing candidate paths according to a metric value obtained by the bit estimation;
respectively carrying out competition and path length judgment on the sorted candidate paths to obtain candidate decoding paths meeting the conditions;
and performing FC verification on the candidate decoding paths meeting the conditions, and selecting one decoding path with the maximum path metric value from the verified candidate decoding paths as a decoding result.
According to a specific implementation method of the embodiment of the invention, initializing a received channel output bit sequence comprises the following steps:
And setting the value of the number L of the reserved paths in the decoding process, and setting the initial path as a null path.
According to a specific implementation method of the embodiment of the present invention, the performing binarization bit estimation on the current bit in the channel output bit sequence includes:
if the current bit is a fixed bit, thenOtherwise, updating the path metric value, and expanding each current candidate path according to bit 0 or 1.
According to a specific implementation method of the embodiment of the present invention, the performing the competition and the path length judgment on the sorted candidate paths respectively includes:
counting the number of the current candidate paths, if the number of the current candidate paths is less than L, keeping all the current paths, otherwise, keeping the L candidate paths with the maximum path metric value in the current layer, and deleting the rest paths.
According to a specific implementation method of the embodiment of the present invention, the performing the competition and the path length judgment on the sorted candidate paths respectively includes:
and judging whether the length of each current candidate path reaches the code length N, if so, performing FC verification, and otherwise, continuing bit estimation.
According to a specific implementation method of the embodiment of the present invention, the performing FC verification on the candidate decoding paths that meet the condition includes:
and respectively taking out the k-long original information estimation sequence and the h-long check estimation sequence in the candidate decoding path, recalculating the k-long original information estimation sequence by using an FC algorithm to obtain a new h-long check sequence, comparing whether the h-long check estimation sequence is the same as the new h-long check sequence, if so, determining that the current bit estimation sequence passes the FC check, otherwise, not passing the FC check.
According to a specific implementation method of the embodiment of the present invention, the method further includes:
and if the L candidate decoding paths do not pass the FC verification, selecting one path with the maximum path metric value from the L candidate decoding paths as a decoding result.
In a second aspect, an embodiment of the present invention further provides a decoding device for a polar code SCL, including:
the initialization module is used for initializing the received channel output bit sequence;
the estimation module is used for carrying out binarization bit estimation on the current bit in the channel output bit sequence and sequencing candidate paths according to the metric values obtained by the bit estimation;
the judging module is used for respectively carrying out competition and path length judgment on the sorted candidate paths to obtain candidate decoding paths meeting the conditions;
and the processing module is used for performing FC verification on the candidate decoding paths meeting the conditions and selecting one decoding path with the maximum path metric value from the verified candidate decoding paths as a decoding result.
In a third aspect, an embodiment of the present invention further provides an electronic device, where the electronic device includes:
at least one processor; and the number of the first and second groups,
a memory communicatively coupled to the at least one processor; wherein,
the memory stores instructions executable by the at least one processor to enable the at least one processor to perform the method for decoding a polarization code SCL as described in any of the first aspects and any implementation of the first aspects.
According to the method, the device and the electronic equipment for decoding the polar code SCL, provided by the embodiment of the invention, the auxiliary check code is added in the SCL decoding process to improve the error correction performance of the polar code SCL decoding algorithm, so that the frame error rate performance of the polar code SCL decoding algorithm is greatly improved, wherein the frame error rate is 10-3Meanwhile, the SCL-FC decoding algorithm is improved by about 0.7dB of gain relative to the SCL decoding algorithm; compared with the SCL-CRC decoding algorithm based on the same idea, the FC decoding algorithm has the advantages that the decoding performance is the same as that of the SCL-CRC decoding algorithm, the FC decoding algorithm is simple in operation, and the time complexity of generating the check sequence with the same length is lower than that of the CRC.
Drawings
In order to more clearly illustrate the technical solutions of the embodiments of the present invention, the drawings needed to be used in the embodiments will be briefly described below, and it is obvious that the drawings in the following description are only some embodiments of the present invention, and for those skilled in the art, other drawings can be obtained according to the drawings without creative efforts:
fig. 1 is a path search diagram of an SC decoding algorithm with an N-3 time slot according to an embodiment of the present invention;
fig. 2 is a path search diagram of an SCL decoding algorithm for a polar code when N is 3 and L is 2 according to an embodiment of the present invention;
FIG. 3 is a block diagram illustrating the operation of a polar code communication scheme using an SCL-CRC decoding algorithm according to an embodiment of the present invention;
FIG. 4 is a flowchart of an SCL-CRC decoding process provided by an embodiment of the present invention;
FIG. 5 is a block diagram illustrating the operation of a polar code communication scheme using an SCL-FC decoding algorithm according to an embodiment of the present invention;
FIG. 6 is a flowchart of an embodiment of the SCL-FC decoding process.
Detailed Description
Embodiments of the present invention will be described in detail below with reference to the accompanying drawings.
It should be understood that the described embodiments are only some embodiments of the invention, and not all embodiments. All other embodiments, which can be derived by a person skilled in the art from the embodiments given herein without making any creative effort, shall fall within the protection scope of the present invention.
The Fletcher Checksum (FC) algorithm is an error detection algorithm with lower operation amount than the CRC check algorithm, which is proposed by John g.fletcher in 1982 by using a summation technique, is one of Checksum algorithms, and is an improvement of the internet protocol (IPv4) header Checksum algorithm. The following outlines its basic principles for error detection in the field of data communications. At a sending end, firstly, an FC algorithm is used for calculating a k-bit original binary information sequence to obtain an h (h is an even number) bit check sequence, the check sequence is attached to the tail end of the original binary information sequence and sent to a receiving end, the receiving end recalculates the check sequence for the received binary information sequence and compares the check sequence with the received check sequence, if the check sequence and the check sequence are the same, the information transmission is considered to be correct, otherwise, the information transmission is wrong. The h-bit check sequence calculated by the FC algorithm consists of two parts of sum1 and sum2 with the length of h/2, and the specific calculation processes of sum1 and sum2 are as follows:
the first step, equally dividing the k-bit binary information sequence into m (when m is not an integer, 0 is added to the original information sequence finally to make m an integer) blocks, and respectively recording as S0,S1,…,Sm-1Each block contains h/2 bit binary information, and the initial values of sum1 and sum2 are set to the same known value (both set to 0 in this application).
Second, sum1 and sum2 are calculated using the inverse code operation of 1 (i.e., adding the high bits to the low bits when the high bits overflow during the binary addition operation), and the calculation formula is as follows:
the h-bit check sequence is a combination of sum1 and sum2, namely sum2 is added at the end of sum 1.
Based on the SCL-CRC decoding structure, the FC algorithm is used for replacing the CRC algorithm for auxiliary checking, the FC-assisted SCL decoding algorithm (SCL-FC) for the polar code is provided, the method not only greatly improves the frame error rate performance of the SCL decoding algorithm, but also is simple in operation of the FC algorithm and lower in time complexity of generating a check sequence with the same length than the CRC algorithm when the same decoding performance is achieved compared with the SCL-CRC decoding algorithm.
The polarization code is proposed based on the channel polarization phenomenon, the channel polarization is divided into two processes of channel combination and channel separation, when the number of combined channels tends to infinity, a part of channels become good and tend to be noiseless channels through polarization, useful information is transmitted by using the channels, the other part of channels become poor and tend to be pure noise channels, and fixed information known by a receiver and a sender is transmitted by using the channels. The polarization encoding process of the polarization code is briefly described below.
Let a symmetric B-DMC W be defined as: x → Y, X being the input symbol set, Y being the output symbol set, W (Y | X) being the channel transition probability, where X is for X, Y is for Y, and X is for {0, 1},setting the length of the polarization code as N2n(N is a natural number), the information bit length is K, the fixed bit length is N-K, and a combined channel vector W is obtained by combining N W channelsNThe channel transition probability is:
here, W (y)i|xi) The channel transition probability for the ith bit,in order to be the source bit sequence,in order to encode a sequence of bits, the bit sequence,outputting a bit sequence for the channel, whereinAnd isAndthe following relationships exist:
Expressed as an n-dimensional kronecker product of a matrix, BNThe matrix is inverted for the bit sequence. Obtaining N different polarized sub-channels through channel separation, and recording the N different polarized sub-channels asThe polarized subchannel transfer probability is:
In all polarized sub-channelsIn the method, K most reliable sub-channels are selected to transmit information bit sequence Is a set of information bits that are,transmitting fixed bit sequences for the remaining N-K unreliable sub-channels Is a fixed bit set ofComplement of (2), moreoverKnown to the transceiver, when the sender sends information and the receiver recovers itThe value is set to a fixed value, usually 0.
The work to be done by the decoding is based onObtaining a source bit sequenceIs estimated bit sequenceThe polar code can be decoded by an SC decoding algorithm having a low decoding complexity o (nlogn), but the algorithm is sequentially decoded, and when one bit is decided to be erroneous, it is impossible to correct the error in the decoding process thereafter. When in useWhen it is, thenOtherwise, the coding criteria are as follows:
the SC decoding process can be regarded as a process of performing path search on a code tree, and the path search is defined from a root node to the first node on the code treeiThe decoding path of a layer isThe path metric being that the path is in the second placeiLayer(s)Probability of value 0 or 1, i.e.OrCalculating the metric values of two decoding paths expanded by the successive nodes in turn from the root node, and reserving one path with a larger metric value each time if the metric value is on the second nodeiWhen the layer is to be expanded, the layer is expanded,then, without calculating the path metric value, will directlyThe value of (d) is 0. The path searching process is carried out layer by layer, the searching is finished when the leaf nodes are met, and the finally obtained searching path is a decoding result, namelyFig. 1 is an example of a path search diagram of the SC decoding algorithm.
The SC decoding algorithm may lose the ML path in the path expanding process, and in order to reduce the possibility of losing the correct code word, the SCL decoding algorithm is provided. The algorithm is an improved algorithm of the SC decoding algorithm, and different from the SC decoding algorithm that only one path is reserved when each layer of path is expanded, the SCL decoding algorithm reserves at most L candidate paths, wherein L is a positive integer. In the process of SCL decoding, each information bitBoth candidate paths are preserved, i.e.Andthe number of paths is doubled. There is an upper limit to the number of paths, up to L. When the number of paths is not more than L, the number of paths is continuously doubled; when the number of paths is greater than L, the path pruning operation is carried out, only the front L paths with the maximum metric value are reserved, and the rest paths are deleted. When the decoding is finished, selecting one path with the maximum metric value from the L paths as a decoding result, wherein the SCL decoding complexity isO (LNlogN). When L is 1. The SCL decoding algorithm is degenerated to the SC decoding algorithm. Fig. 2 is an example of a path search graph of the SCL decoding algorithm.
In the SCL decoding process, the metric of the correct path is not always the largest, so when SCL decoding proceeds to the last bit, selecting the path with the largest metric as the output will also cause decoding errors at a certain probability. Therefore, the CRC can be used in an SCL decoding algorithm (SCL-CRC), which is an improvement of the SCL decoding algorithm, and the good error detection performance of the CRC is utilized to obtain better decoding performance of the algorithm. At the encoding end, performing CRC encoding on a K-bit original information sequence to obtain an h-bit CRC check sequence, attaching the CRC check sequence to the tail end of the original information sequence by sacrificing the h-bit information bits, and forming a K-bit source information sequence by the H-bit information bits and the CRC check sequence to be input into an encoder to perform polarization code encoding; at a decoding end, SCL decoding is firstly carried out, when the SCL decoding is carried out to the final stage, CRC (cyclic redundancy check) is carried out on L candidate decoding paths, paths which do not pass the CRC are directly filtered, and then one path with the largest metric value is selected from all candidate decoding paths meeting the CRC as a decoding result. And in the worst case, namely, if all the L decoding candidate paths do not pass the CRC check, selecting one path with the largest metric value from the L decoding candidate paths as a decoding result. The following first gives a block diagram of the operation flow of the polar code communication scheme using the SCL-CRC decoding algorithm as shown in fig. 3, and then gives a flow diagram of the SCL-CRC decoding process as shown in fig. 4.
The SCL-CRC decoding algorithm comprises the following specific steps:
(I) inputting: receiving channel output bit sequenceThe transition probability of each bit is W (y)i|xi)。
(II) initialization: and setting the value of the number L of the reserved paths in the decoding process, and setting the initial path as a null path.
(III) bit estimation: expanding each current candidate path according to bit 0 or 1, if the current bit is a fixed bit, thenOtherwise, updating the path metric value, namely respectively calculating the probability that the current bit value is 0 and 1:andthe candidate paths are sorted by metric value.
(IV) competition: counting the number of the current candidate paths, and if the number of the current candidate paths is less than L, reserving the current paths; otherwise, the L candidate paths with the maximum path metric value in the current layer are kept, and the rest paths are deleted.
(V) determining path length: judging whether the length of each current candidate path reaches the code length N, if so, turning to (VI); otherwise, go to (III).
(VI) CRC checking: and performing CRC check on each candidate decoding path one by one according to the output sequence.
(VII) judgment: and selecting one decoding path with the largest path metric value from all candidate decoding paths passing the CRC check as a decoding result. And if the L candidate decoding paths do not pass the CRC check, selecting one path with the maximum path metric value from the L candidate decoding paths as a decoding result.
For the medium-short code length polarization code adopting the SCL decoding algorithm, the error correction performance of the medium-short code length polarization code still has a larger difference with the Shannon limit, and the difference cannot be made up by increasing the number of paths alone, so that the auxiliary check code is added in the SCL decoding process to improve the error correction performance of the SCL decoding algorithm, but the SCL-CRC decoding algorithm uses the CRC algorithm in the polarization pre-coding stage, namely CRC coding is carried out before polarization coding and CRC checking is carried out in the final decoding stage, and the CRC algorithm is based on polynomial division operation of a coefficient on GF (2), and has complex operation and high time complexity. In order to solve the problems, the FC algorithm is used for replacing the CRC algorithm, the SCL-FC decoding algorithm is provided, the decoding algorithm not only greatly improves the frame error rate performance of the SCL decoding algorithm of the polarization code, but also has the advantages that compared with the SCL-CRC decoding algorithm, the FC algorithm is based on simple integer summation operation, the operation is simple, and the time complexity of generating the check sequence with the same length is lower than that of the CRC algorithm when the same decoding performance is achieved.
Using SCL-FC decoding algorithm, at the encoding end, firstly performing FC encoding, namely using FC algorithm to calculate K-bit original information sequence to obtain h-bit FC check sequence, adding the FC check sequence to the tail end of the original information sequence by sacrificing h-bit information bit, and then forming K-bit source information sequence by the two to input into an encoder to perform polarization code encoding; at a decoding end, SCL decoding is firstly carried out, when the SCL decoding is carried out to the final stage, FC verification is carried out on L candidate decoding paths, paths which do not pass the FC verification are directly filtered, and then one path with the largest metric value is selected from all candidate decoding paths which pass the FC verification to serve as a decoding result. In the worst case, that is, all the L decoding candidate paths do not pass FC verification, one path with the largest metric value is selected from the L decoding candidate paths as the decoding result. The operation flow diagram of the polar code communication scheme using the SCL-FC decoding algorithm is shown in FIG. 5, and the operation flow diagram of the SCL-FC decoding algorithm is shown in FIG. 6.
The specific steps of the SCL-FC decoding algorithm are as follows:
(I) inputting: receiving channel output bit sequenceThe transition probability of each bit is W (y)i|xi)。
(II) initialization: and setting the value of the number L of the reserved paths in the decoding process, and setting the initial path as a null path.
(III) bit estimation: each current candidate path is extended by bit 0 or 1. If the current bit is a fixed bit, thenOtherwise, updating the path metric value, namely respectively calculating the probability that the current bit value is 0 and 1:andthe candidate paths are sorted by metric value.
(IV) competition: counting the number of the current candidate paths, and if the number of the current candidate paths is less than L, reserving the current paths; otherwise, the L candidate paths with the maximum path metric value in the current layer are reserved, and the rest paths are deleted.
(V) determining path length: judging whether the length of each current candidate path reaches the code length N, if so, turning to (VI); otherwise, go to (III).
(VI) FC verification: and performing FC (fiber channel) check on each candidate decoding path one by one according to the output sequence. The FC check process for each candidate decoding path is as follows: respectively taking out a k-long original information estimation sequence and an h-long check estimation sequence in a candidate decoding path, recalculating the k-long original information estimation sequence by using an FC algorithm to obtain a new h-long check sequence, comparing whether the h-long check estimation sequence is the same as the new h-long check sequence, if so, determining that the current bit estimation sequence passes the FC check, otherwise, determining that the current bit estimation sequence does not pass the FC check, and determining that the current bit estimation sequence does not pass the FC check.
(VII) judgment: and selecting one decoding path with the maximum path metric value from all the candidate decoding paths passing through the FC verification as a decoding result. And if the L candidate decoding paths do not pass the FC verification, selecting one path with the maximum path metric value from the L candidate decoding paths as a decoding result.
Experimental tests show that the SCL-FC decoding algorithm greatly improves the frame error rate performance of the SCL decoding algorithm, and the frame error rate is 10-3Meanwhile, the SCL-FC decoding algorithm is improved by about 0.7dB of gain relative to the SCL decoding algorithm; and the performance of the SCL-FC decoding algorithm is almost the same as that of the SCL-CRC decoding algorithm.
In the decoding process of SCL-FC and SCL-CRC, the FC algorithm and the CRC algorithm only act on k long information bit bits, in order to analyze the complexity difference of the two more intuitively, the fixed code rate R is 0.5, and the code length N of the polarization code is used for describing instead of k. Setting generation of h-bit check bits, the FC algorithm is based on simple integer summation operation, and the time complexity is O (N); the CRC decoding algorithm is based on a polynomial division operation of coefficients over GF (2) with a temporal complexity of o (hn). The additional factor h does not affect the time complexity of the FC algorithm, so the FC algorithm is less time complex than the CRC algorithm.
It is to be noted that, in the present invention, relational terms such as first and second, and the like are used solely to distinguish one entity or action from another entity or action without necessarily requiring or implying any actual such relationship or order between such entities or actions. Also, the terms "comprises," "comprising," or any other variation thereof, are intended to cover a non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements does not include only those elements but may include other elements not expressly listed or inherent to such process, method, article, or apparatus. Without further limitation, an element defined by the phrase "comprising an … …" does not exclude the presence of other identical elements in a process, method, article, or apparatus that comprises the element.
All the embodiments in the present specification are described in a related manner, and the same and similar parts among the embodiments may be referred to each other, and each embodiment focuses on the differences from the other embodiments.
In particular, as for the apparatus embodiment, since it is substantially similar to the method embodiment, the description is relatively simple, and for the relevant points, reference may be made to the partial description of the method embodiment.
The logic and/or steps represented in the flowcharts or otherwise described herein, e.g., an ordered listing of executable instructions that can be considered to implement logical functions, can be embodied in any computer-readable medium for use by or in connection with an instruction execution system, apparatus, or device, such as a computer-based system, processor-containing system, or other system that can fetch the instructions from the instruction execution system, apparatus, or device and execute the instructions. For the purposes of this description, a "computer-readable medium" can be any means that can contain, store, communicate, propagate, or transport the program for use by or in connection with the instruction execution system, apparatus, or device. More specific examples (a non-exhaustive list) of the computer-readable medium would include the following: an electrical connection (electronic device) having one or more wires, a portable computer diskette (magnetic device), a Random Access Memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber device, and a portable compact disc read-only memory (CDROM). Additionally, the computer-readable medium could even be paper or another suitable medium upon which the program is printed, as the program can be electronically captured, via for instance optical scanning of the paper or other medium, then compiled, interpreted or otherwise processed in a suitable manner if necessary, and then stored in a computer memory.
It should be understood that portions of the present invention may be implemented in hardware, software, firmware, or a combination thereof.
In the above embodiments, the various steps or methods may be implemented in software or firmware stored in memory and executed by a suitable instruction execution system. For example, if implemented in hardware, as in another embodiment, any one or combination of the following techniques, which are known in the art, may be used: a discrete logic circuit having a logic gate circuit for implementing a logic function on a data signal, an application specific integrated circuit having an appropriate combinational logic gate circuit, a Programmable Gate Array (PGA), a Field Programmable Gate Array (FPGA), or the like.
The above description is only for the specific embodiment of the present invention, but the scope of the present invention is not limited thereto, and any changes or substitutions that can be easily conceived by those skilled in the art within the technical scope of the present invention are included in the scope of the present invention. Therefore, the protection scope of the present invention shall be subject to the protection scope of the claims.
Claims (7)
1. A FC-assisted polar code SCL decoding method is characterized by comprising the following steps:
initializing a received channel output bit sequence;
carrying out binarization bit estimation on the current bit in the channel output bit sequence, and sequencing candidate paths according to a metric value obtained by the bit estimation;
respectively carrying out competition and path length judgment on the sorted candidate paths to obtain candidate decoding paths meeting the conditions;
performing FC verification on the candidate decoding paths meeting the conditions, and selecting one decoding path with the maximum path metric value from the verified candidate decoding paths as a decoding result;
wherein,
the binarizing bit estimation of the current bit in the channel output bit sequence comprises:
if the current bit is a fixed bit, thenOtherwise, updating the path metric value, and expanding each current candidate path according to bit 0 or 1;
the performing FC check on the eligible candidate decoding paths includes:
respectively taking out a k-long original information estimation sequence and an h-long check estimation sequence in a candidate decoding path, recalculating the k-long original information estimation sequence by using an FC algorithm to obtain a new h-long check sequence, comparing whether the h-long check estimation sequence is the same as the new h-long check sequence, if so, determining that the current bit estimation sequence passes the FC check, otherwise, not passing the FC check;
the h-bit check sequence calculated by the FC algorithm consists of two parts of sum1 and sum2 with the length of h/2, and the specific calculation processes of sum1 and sum2 are as follows:
the first step, equally dividing the k-bit binary information sequence into m (when m is not an integer, 0 is added to the original information sequence finally to make m an integer) blocks, and respectively recording as S0,S1,…,Sm-1Each block contains h/2-bit binary information, and the initial values of sum1 and sum2 are set to the same known value (both set to 0 in this application);
second, sum1 and sum2 are calculated using the inverse code operation of 1 (i.e., adding the high bits to the low bits when the high bits overflow during the binary addition operation), and the calculation formula is as follows:
the h-bit check sequence is a combination of sum1 and sum2, namely sum2 is added at the end of sum 1.
2. The method of claim 1, wherein initializing the received channel output bit sequence comprises:
And setting the value of the number L of the reserved paths in the decoding process, and setting the initial path as a null path.
3. The method of claim 1, wherein the performing contention and path length determination processing on the sorted candidate paths respectively comprises:
counting the number of the current candidate paths, if the number of the current candidate paths is less than L, keeping all the current paths, otherwise, keeping the L candidate paths with the maximum path metric value in the current layer, and deleting the rest paths.
4. The method of claim 1, wherein the performing contention and path length determination processing on the sorted candidate paths respectively comprises:
and judging whether the length of each current candidate path reaches the code length N, if so, performing FC verification, and otherwise, continuing bit estimation.
5. The method of claim 1, wherein the method further comprises:
and if the L candidate decoding paths do not pass the FC verification, selecting one path with the maximum path metric value from the L candidate decoding paths as a decoding result.
6. An FC-assisted polar code SCL decoding device implemented according to any one of claims 1 to 5, comprising:
the initialization module is used for initializing the received channel output bit sequence;
the estimation module is used for carrying out binarization bit estimation on the current bit in the channel output bit sequence and sequencing candidate paths according to the metric values obtained by the bit estimation;
the judging module is used for respectively carrying out competition and path length judgment on the sorted candidate paths to obtain candidate decoding paths meeting the conditions;
and the processing module is used for performing FC verification on the candidate decoding paths meeting the conditions and selecting one decoding path with the maximum path metric value from the verified candidate decoding paths as a decoding result.
7. An electronic device, characterized in that the electronic device comprises:
at least one processor; and the number of the first and second groups,
a memory communicatively coupled to the at least one processor; wherein,
the memory stores instructions executable by the at least one processor to enable the at least one processor to perform the polar code SCL decoding method of any of the preceding claims 1-5.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810173286.1A CN108462558B (en) | 2018-03-01 | 2018-03-01 | Method and device for decoding polarization code SCL and electronic equipment |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810173286.1A CN108462558B (en) | 2018-03-01 | 2018-03-01 | Method and device for decoding polarization code SCL and electronic equipment |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108462558A CN108462558A (en) | 2018-08-28 |
CN108462558B true CN108462558B (en) | 2020-12-18 |
Family
ID=63217024
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810173286.1A Active CN108462558B (en) | 2018-03-01 | 2018-03-01 | Method and device for decoding polarization code SCL and electronic equipment |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108462558B (en) |
Families Citing this family (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112567659A (en) * | 2018-08-30 | 2021-03-26 | 华为技术有限公司 | SCL parallel decoding method, device and equipment |
CN109361401B (en) * | 2018-08-30 | 2021-11-02 | 中国地质大学(武汉) | Polarization channel coding method for measurement while drilling transmission system |
CN111200439B (en) | 2018-11-16 | 2022-05-06 | 华为技术有限公司 | Decoding method, device and equipment |
CN111224676B (en) * | 2018-11-26 | 2022-12-27 | 中国传媒大学 | Self-adaptive serial offset list polarization code decoding method and system |
CN111262595B (en) * | 2018-11-30 | 2023-07-21 | 中兴通讯股份有限公司 | Polarization code decoding method and device, multi-stage decoder and storage medium |
CN109981224B (en) * | 2019-04-04 | 2020-10-09 | 西安电子科技大学 | Deep space communication channel coding and decoding system and method thereof |
CN110138390A (en) * | 2019-06-12 | 2019-08-16 | 中国计量大学 | A kind of polarization code SSCL algorithm decoder based on deep learning |
CN110535560A (en) * | 2019-08-05 | 2019-12-03 | 杭州电子科技大学 | A kind of polarization code combines coding and interpretation method |
CN110620588B (en) * | 2019-10-25 | 2023-08-25 | 网络通信与安全紫金山实验室 | BPL decoding method and device based on polarization code |
CN110830166B (en) * | 2019-10-31 | 2022-05-06 | 哈尔滨工业大学(深圳) | Joint detection decoding method and device, computer equipment and storage medium |
CN111245568A (en) * | 2020-01-14 | 2020-06-05 | 东方红卫星移动通信有限公司 | Polar code decoding method based on feedback retransmission technology in low-earth orbit satellite |
CN112039634B (en) * | 2020-08-27 | 2023-08-29 | 上海金卓科技有限公司 | Decoding method and device of polarization code, computer equipment and storage medium |
CN113179101B (en) * | 2021-02-07 | 2024-04-12 | 睿信丰空天科技(北京)股份有限公司 | Symmetrical decoding device for polarization code |
CN113162634B (en) * | 2021-04-20 | 2023-01-20 | 中山大学 | Code length self-adaptive polarization code decoding method based on bit flipping |
CN115225206B (en) * | 2022-07-15 | 2023-11-03 | 山东大学 | Decoding method and system with pre-calculation |
CN117792407B (en) * | 2024-02-23 | 2024-05-24 | 南京邮电大学 | Hardware ordering system for decoding polarization code serial offset list |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102694625A (en) * | 2012-06-15 | 2012-09-26 | 北京邮电大学 | Polarization code decoding method for cyclic redundancy check assistance |
CN106506009A (en) * | 2016-10-31 | 2017-03-15 | 中国石油大学(华东) | A kind of interpretation method of polarization code |
CN106656214A (en) * | 2016-12-22 | 2017-05-10 | 东南大学 | Dynamic distribution sorting algorithm based on successive cancellation list polarization code decoding |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10476634B2 (en) * | 2016-03-04 | 2019-11-12 | Huawei Technologies Co., Ltd. | System and method for polar encoding and decoding |
-
2018
- 2018-03-01 CN CN201810173286.1A patent/CN108462558B/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102694625A (en) * | 2012-06-15 | 2012-09-26 | 北京邮电大学 | Polarization code decoding method for cyclic redundancy check assistance |
CN106506009A (en) * | 2016-10-31 | 2017-03-15 | 中国石油大学(华东) | A kind of interpretation method of polarization code |
CN106656214A (en) * | 2016-12-22 | 2017-05-10 | 东南大学 | Dynamic distribution sorting algorithm based on successive cancellation list polarization code decoding |
Also Published As
Publication number | Publication date |
---|---|
CN108462558A (en) | 2018-08-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108462558B (en) | Method and device for decoding polarization code SCL and electronic equipment | |
CN109660264B (en) | High performance polar code decoding algorithm | |
Condo et al. | Improved successive cancellation flip decoding of polar codes based on error distribution | |
CN106877884B (en) | Polar code decoding method for reducing decoding path splitting | |
CN105340183B (en) | A kind of interpretation method and device of polar code | |
US8245116B2 (en) | Method for performing soft decision decoding of Euclidean space Reed-Muller codes | |
CN106803759A (en) | Polar yards of effective adaptive decoding method based on Gauss construction | |
WO2001043293A1 (en) | Reduced search symbol estimation algorithm | |
CN102484483B (en) | Set the method for iterations of iterative decoding, iterative decoding device and method | |
CN109921804A (en) | A kind of adaptive fusion is serial to offset list polarization code coding method and system | |
Yuan et al. | Construction and decoding algorithms for polar codes based on 2× 2 non-binary kernels | |
CN106656208A (en) | Concatenated code method of symbol-level hard decision iteration decoding correcting synchronization errors | |
CN110995279B (en) | Polarization code combined SCF spherical list overturning decoding method | |
CN112332864A (en) | Polar code decoding method and system for self-adaptive ordered mobile pruning list | |
WO2007044991A2 (en) | Broadcast message passing decoding of low density parity check codes | |
Lu et al. | Deep learning aided SCL decoding of polar codes with shifted-pruning | |
CN114553372A (en) | Digital signal decoding method and device and electronic equipment | |
Hashemi et al. | A tree search approach for maximum-likelihood decoding of Reed-Muller codes | |
CN113114269A (en) | Belief propagation-information correction decoding method | |
CN112953569A (en) | Decoding method and device, storage medium, electronic device, and decoder | |
CN114978195B (en) | Method and system for searching error pattern set related to polar code serial offset list decoding code words | |
US7500173B2 (en) | Method of decoding a data word | |
CN114598334A (en) | Segmented CRC (cyclic redundancy check) assisted convolutional polarization code coding and decoding scheme | |
US20080222498A1 (en) | Sequential decoding method and apparatus thereof | |
Doan | Low-complexity decoding of short linear block codes with machine learning |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |